D143 VER 16.143.2 (beta).elf: file format elf32-littlearm Sections: Idx Name Size VMA LMA File off Algn 0 .isr_vector 000001f8 08020000 08020000 00010000 2**0 CONTENTS, ALLOC, LOAD, READONLY, DATA 1 .text 000ae2a8 08020200 08020200 00010200 2**4 CONTENTS, ALLOC, LOAD, READONLY, CODE 2 .rodata 000b85ac 080ce4a8 080ce4a8 000be4a8 2**3 CONTENTS, ALLOC, LOAD, READONLY, DATA 3 .ARM 00000008 08186a54 08186a54 00176a54 2**2 CONTENTS, ALLOC, LOAD, READONLY, DATA 4 .init_array 00000004 08186a5c 08186a5c 00176a5c 2**2 CONTENTS, ALLOC, LOAD, DATA 5 .fini_array 00000004 08186a60 08186a60 00176a60 2**2 CONTENTS, ALLOC, LOAD, DATA 6 .data 00000d18 20020000 08186a64 00180000 2**2 CONTENTS, ALLOC, LOAD, DATA 7 .dtcmram 00019000 20000000 0818777c 00190000 2**5 CONTENTS, ALLOC, LOAD, DATA 8 .sram2 00000200 2007c000 081a077c 001ac000 2**5 CONTENTS, ALLOC, LOAD, DATA 9 .bss 00048918 20020d20 20020d20 001b0d20 2**5 ALLOC 10 ._user_heap_stack 0000f500 20069638 20069638 001b0d20 2**0 ALLOC 11 .ARM.attributes 0000002e 00000000 00000000 001ac200 2**0 CONTENTS, READONLY 12 .debug_info 001409a7 00000000 00000000 001ac22e 2**0 CONTENTS, READONLY, DEBUGGING 13 .debug_abbrev 0001c51d 00000000 00000000 002ecbd5 2**0 CONTENTS, READONLY, DEBUGGING 14 .debug_aranges 00004540 00000000 00000000 003090f8 2**3 CONTENTS, READONLY, DEBUGGING 15 .debug_ranges 00003538 00000000 00000000 0030d638 2**3 CONTENTS, READONLY, DEBUGGING 16 .debug_line 00052fea 00000000 00000000 00310b70 2**0 CONTENTS, READONLY, DEBUGGING 17 .debug_str 00014587 00000000 00000000 00363b5a 2**0 CONTENTS, READONLY, DEBUGGING 18 .comment 000000ec 00000000 00000000 003780e1 2**0 CONTENTS, READONLY 19 .debug_frame 0000fca8 00000000 00000000 003781d0 2**2 CONTENTS, READONLY, DEBUGGING 20 .debug_loc 00003297 00000000 00000000 00387e78 2**0 CONTENTS, READONLY, DEBUGGING Disassembly of section .text: 08020200 <__do_global_dtors_aux>: 8020200: b510 push {r4, lr} 8020202: 4c05 ldr r4, [pc, #20] ; (8020218 <__do_global_dtors_aux+0x18>) 8020204: 7823 ldrb r3, [r4, #0] 8020206: b933 cbnz r3, 8020216 <__do_global_dtors_aux+0x16> 8020208: 4b04 ldr r3, [pc, #16] ; (802021c <__do_global_dtors_aux+0x1c>) 802020a: b113 cbz r3, 8020212 <__do_global_dtors_aux+0x12> 802020c: 4804 ldr r0, [pc, #16] ; (8020220 <__do_global_dtors_aux+0x20>) 802020e: f3af 8000 nop.w 8020212: 2301 movs r3, #1 8020214: 7023 strb r3, [r4, #0] 8020216: bd10 pop {r4, pc} 8020218: 20020d20 .word 0x20020d20 802021c: 00000000 .word 0x00000000 8020220: 080ce490 .word 0x080ce490 08020224 : 8020224: b508 push {r3, lr} 8020226: 4b03 ldr r3, [pc, #12] ; (8020234 ) 8020228: b11b cbz r3, 8020232 802022a: 4903 ldr r1, [pc, #12] ; (8020238 ) 802022c: 4803 ldr r0, [pc, #12] ; (802023c ) 802022e: f3af 8000 nop.w 8020232: bd08 pop {r3, pc} 8020234: 00000000 .word 0x00000000 8020238: 20020d24 .word 0x20020d24 802023c: 080ce490 .word 0x080ce490 08020240 : ENDP #else arm_bitreversal_32 PROC ADDS r3,r1,#1 8020240: 1c4b adds r3, r1, #1 CMP r3,#1 8020242: 2b01 cmp r3, #1 IT LS 8020244: bf98 it ls BXLS lr 8020246: 4770 bxls lr PUSH {r4-r9} 8020248: e92d 03f0 stmdb sp!, {r4, r5, r6, r7, r8, r9} ADDS r1,r2,#2 802024c: 1c91 adds r1, r2, #2 LSRS r3,r3,#2 802024e: 089b lsrs r3, r3, #2 08020250 : arm_bitreversal_32_0 LABEL ;/* loop unrolled by 2 */ LDRH r8,[r1,#4] 8020250: f8b1 8004 ldrh.w r8, [r1, #4] LDRH r9,[r1,#2] 8020254: f8b1 9002 ldrh.w r9, [r1, #2] LDRH r2,[r1,#0] 8020258: 880a ldrh r2, [r1, #0] LDRH r12,[r1,#-2] 802025a: f831 cc02 ldrh.w ip, [r1, #-2] ADD r8,r0,r8 802025e: 4480 add r8, r0 ADD r9,r0,r9 8020260: 4481 add r9, r0 ADD r2,r0,r2 8020262: 4402 add r2, r0 ADD r12,r0,r12 8020264: 4484 add ip, r0 LDR r7,[r9,#0] 8020266: f8d9 7000 ldr.w r7, [r9] LDR r6,[r8,#0] 802026a: f8d8 6000 ldr.w r6, [r8] LDR r5,[r2,#0] 802026e: 6815 ldr r5, [r2, #0] LDR r4,[r12,#0] 8020270: f8dc 4000 ldr.w r4, [ip] STR r6,[r9,#0] 8020274: f8c9 6000 str.w r6, [r9] STR r7,[r8,#0] 8020278: f8c8 7000 str.w r7, [r8] STR r5,[r12,#0] 802027c: f8cc 5000 str.w r5, [ip] STR r4,[r2,#0] 8020280: 6014 str r4, [r2, #0] LDR r7,[r9,#4] 8020282: f8d9 7004 ldr.w r7, [r9, #4] LDR r6,[r8,#4] 8020286: f8d8 6004 ldr.w r6, [r8, #4] LDR r5,[r2,#4] 802028a: 6855 ldr r5, [r2, #4] LDR r4,[r12,#4] 802028c: f8dc 4004 ldr.w r4, [ip, #4] STR r6,[r9,#4] 8020290: f8c9 6004 str.w r6, [r9, #4] STR r7,[r8,#4] 8020294: f8c8 7004 str.w r7, [r8, #4] STR r5,[r12,#4] 8020298: f8cc 5004 str.w r5, [ip, #4] STR r4,[r2,#4] 802029c: 6054 str r4, [r2, #4] ADDS r1,r1,#8 802029e: 3108 adds r1, #8 SUBS r3,r3,#1 80202a0: 3b01 subs r3, #1 BNE arm_bitreversal_32_0 80202a2: d1d5 bne.n 8020250 POP {r4-r9} 80202a4: e8bd 03f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9} BX lr 80202a8: 4770 bx lr 080202aa : ENDP arm_bitreversal_16 PROC ADDS r3,r1,#1 80202aa: 1c4b adds r3, r1, #1 CMP r3,#1 80202ac: 2b01 cmp r3, #1 IT LS 80202ae: bf98 it ls BXLS lr 80202b0: 4770 bxls lr PUSH {r4-r9} 80202b2: e92d 03f0 stmdb sp!, {r4, r5, r6, r7, r8, r9} ADDS r1,r2,#2 80202b6: 1c91 adds r1, r2, #2 LSRS r3,r3,#2 80202b8: 089b lsrs r3, r3, #2 080202ba : arm_bitreversal_16_0 LABEL ;/* loop unrolled by 2 */ LDRH r8,[r1,#4] 80202ba: f8b1 8004 ldrh.w r8, [r1, #4] LDRH r9,[r1,#2] 80202be: f8b1 9002 ldrh.w r9, [r1, #2] LDRH r2,[r1,#0] 80202c2: 880a ldrh r2, [r1, #0] LDRH r12,[r1,#-2] 80202c4: f831 cc02 ldrh.w ip, [r1, #-2] ADD r8,r0,r8,LSR #1 80202c8: eb00 0858 add.w r8, r0, r8, lsr #1 ADD r9,r0,r9,LSR #1 80202cc: eb00 0959 add.w r9, r0, r9, lsr #1 ADD r2,r0,r2,LSR #1 80202d0: eb00 0252 add.w r2, r0, r2, lsr #1 ADD r12,r0,r12,LSR #1 80202d4: eb00 0c5c add.w ip, r0, ip, lsr #1 LDR r7,[r9,#0] 80202d8: f8d9 7000 ldr.w r7, [r9] LDR r6,[r8,#0] 80202dc: f8d8 6000 ldr.w r6, [r8] LDR r5,[r2,#0] 80202e0: 6815 ldr r5, [r2, #0] LDR r4,[r12,#0] 80202e2: f8dc 4000 ldr.w r4, [ip] STR r6,[r9,#0] 80202e6: f8c9 6000 str.w r6, [r9] STR r7,[r8,#0] 80202ea: f8c8 7000 str.w r7, [r8] STR r5,[r12,#0] 80202ee: f8cc 5000 str.w r5, [ip] STR r4,[r2,#0] 80202f2: 6014 str r4, [r2, #0] ADDS r1,r1,#8 80202f4: 3108 adds r1, #8 SUBS r3,r3,#1 80202f6: 3b01 subs r3, #1 BNE arm_bitreversal_16_0 80202f8: d1df bne.n 80202ba POP {r4-r9} 80202fa: e8bd 03f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9} BX lr 80202fe: 4770 bx lr 08020300 : 8020300: f810 2b01 ldrb.w r2, [r0], #1 8020304: f811 3b01 ldrb.w r3, [r1], #1 8020308: 2a01 cmp r2, #1 802030a: bf28 it cs 802030c: 429a cmpcs r2, r3 802030e: d0f7 beq.n 8020300 8020310: 1ad0 subs r0, r2, r3 8020312: 4770 bx lr 08020314 : 8020314: 4603 mov r3, r0 8020316: f813 2b01 ldrb.w r2, [r3], #1 802031a: 2a00 cmp r2, #0 802031c: d1fb bne.n 8020316 802031e: 1a18 subs r0, r3, r0 8020320: 3801 subs r0, #1 8020322: 4770 bx lr ... 08020330 : 8020330: f001 01ff and.w r1, r1, #255 ; 0xff 8020334: 2a10 cmp r2, #16 8020336: db2b blt.n 8020390 8020338: f010 0f07 tst.w r0, #7 802033c: d008 beq.n 8020350 802033e: f810 3b01 ldrb.w r3, [r0], #1 8020342: 3a01 subs r2, #1 8020344: 428b cmp r3, r1 8020346: d02d beq.n 80203a4 8020348: f010 0f07 tst.w r0, #7 802034c: b342 cbz r2, 80203a0 802034e: d1f6 bne.n 802033e 8020350: b4f0 push {r4, r5, r6, r7} 8020352: ea41 2101 orr.w r1, r1, r1, lsl #8 8020356: ea41 4101 orr.w r1, r1, r1, lsl #16 802035a: f022 0407 bic.w r4, r2, #7 802035e: f07f 0700 mvns.w r7, #0 8020362: 2300 movs r3, #0 8020364: e8f0 5602 ldrd r5, r6, [r0], #8 8020368: 3c08 subs r4, #8 802036a: ea85 0501 eor.w r5, r5, r1 802036e: ea86 0601 eor.w r6, r6, r1 8020372: fa85 f547 uadd8 r5, r5, r7 8020376: faa3 f587 sel r5, r3, r7 802037a: fa86 f647 uadd8 r6, r6, r7 802037e: faa5 f687 sel r6, r5, r7 8020382: b98e cbnz r6, 80203a8 8020384: d1ee bne.n 8020364 8020386: bcf0 pop {r4, r5, r6, r7} 8020388: f001 01ff and.w r1, r1, #255 ; 0xff 802038c: f002 0207 and.w r2, r2, #7 8020390: b132 cbz r2, 80203a0 8020392: f810 3b01 ldrb.w r3, [r0], #1 8020396: 3a01 subs r2, #1 8020398: ea83 0301 eor.w r3, r3, r1 802039c: b113 cbz r3, 80203a4 802039e: d1f8 bne.n 8020392 80203a0: 2000 movs r0, #0 80203a2: 4770 bx lr 80203a4: 3801 subs r0, #1 80203a6: 4770 bx lr 80203a8: 2d00 cmp r5, #0 80203aa: bf06 itte eq 80203ac: 4635 moveq r5, r6 80203ae: 3803 subeq r0, #3 80203b0: 3807 subne r0, #7 80203b2: f015 0f01 tst.w r5, #1 80203b6: d107 bne.n 80203c8 80203b8: 3001 adds r0, #1 80203ba: f415 7f80 tst.w r5, #256 ; 0x100 80203be: bf02 ittt eq 80203c0: 3001 addeq r0, #1 80203c2: f415 3fc0 tsteq.w r5, #98304 ; 0x18000 80203c6: 3001 addeq r0, #1 80203c8: bcf0 pop {r4, r5, r6, r7} 80203ca: 3801 subs r0, #1 80203cc: 4770 bx lr 80203ce: bf00 nop 080203d0 <__aeabi_frsub>: 80203d0: f080 4000 eor.w r0, r0, #2147483648 ; 0x80000000 80203d4: e002 b.n 80203dc <__addsf3> 80203d6: bf00 nop 080203d8 <__aeabi_fsub>: 80203d8: f081 4100 eor.w r1, r1, #2147483648 ; 0x80000000 080203dc <__addsf3>: 80203dc: 0042 lsls r2, r0, #1 80203de: bf1f itttt ne 80203e0: ea5f 0341 movsne.w r3, r1, lsl #1 80203e4: ea92 0f03 teqne r2, r3 80203e8: ea7f 6c22 mvnsne.w ip, r2, asr #24 80203ec: ea7f 6c23 mvnsne.w ip, r3, asr #24 80203f0: d06a beq.n 80204c8 <__addsf3+0xec> 80203f2: ea4f 6212 mov.w r2, r2, lsr #24 80203f6: ebd2 6313 rsbs r3, r2, r3, lsr #24 80203fa: bfc1 itttt gt 80203fc: 18d2 addgt r2, r2, r3 80203fe: 4041 eorgt r1, r0 8020400: 4048 eorgt r0, r1 8020402: 4041 eorgt r1, r0 8020404: bfb8 it lt 8020406: 425b neglt r3, r3 8020408: 2b19 cmp r3, #25 802040a: bf88 it hi 802040c: 4770 bxhi lr 802040e: f010 4f00 tst.w r0, #2147483648 ; 0x80000000 8020412: f440 0000 orr.w r0, r0, #8388608 ; 0x800000 8020416: f020 407f bic.w r0, r0, #4278190080 ; 0xff000000 802041a: bf18 it ne 802041c: 4240 negne r0, r0 802041e: f011 4f00 tst.w r1, #2147483648 ; 0x80000000 8020422: f441 0100 orr.w r1, r1, #8388608 ; 0x800000 8020426: f021 417f bic.w r1, r1, #4278190080 ; 0xff000000 802042a: bf18 it ne 802042c: 4249 negne r1, r1 802042e: ea92 0f03 teq r2, r3 8020432: d03f beq.n 80204b4 <__addsf3+0xd8> 8020434: f1a2 0201 sub.w r2, r2, #1 8020438: fa41 fc03 asr.w ip, r1, r3 802043c: eb10 000c adds.w r0, r0, ip 8020440: f1c3 0320 rsb r3, r3, #32 8020444: fa01 f103 lsl.w r1, r1, r3 8020448: f000 4300 and.w r3, r0, #2147483648 ; 0x80000000 802044c: d502 bpl.n 8020454 <__addsf3+0x78> 802044e: 4249 negs r1, r1 8020450: eb60 0040 sbc.w r0, r0, r0, lsl #1 8020454: f5b0 0f00 cmp.w r0, #8388608 ; 0x800000 8020458: d313 bcc.n 8020482 <__addsf3+0xa6> 802045a: f1b0 7f80 cmp.w r0, #16777216 ; 0x1000000 802045e: d306 bcc.n 802046e <__addsf3+0x92> 8020460: 0840 lsrs r0, r0, #1 8020462: ea4f 0131 mov.w r1, r1, rrx 8020466: f102 0201 add.w r2, r2, #1 802046a: 2afe cmp r2, #254 ; 0xfe 802046c: d251 bcs.n 8020512 <__addsf3+0x136> 802046e: f1b1 4f00 cmp.w r1, #2147483648 ; 0x80000000 8020472: eb40 50c2 adc.w r0, r0, r2, lsl #23 8020476: bf08 it eq 8020478: f020 0001 biceq.w r0, r0, #1 802047c: ea40 0003 orr.w r0, r0, r3 8020480: 4770 bx lr 8020482: 0049 lsls r1, r1, #1 8020484: eb40 0000 adc.w r0, r0, r0 8020488: f410 0f00 tst.w r0, #8388608 ; 0x800000 802048c: f1a2 0201 sub.w r2, r2, #1 8020490: d1ed bne.n 802046e <__addsf3+0x92> 8020492: fab0 fc80 clz ip, r0 8020496: f1ac 0c08 sub.w ip, ip, #8 802049a: ebb2 020c subs.w r2, r2, ip 802049e: fa00 f00c lsl.w r0, r0, ip 80204a2: bfaa itet ge 80204a4: eb00 50c2 addge.w r0, r0, r2, lsl #23 80204a8: 4252 neglt r2, r2 80204aa: 4318 orrge r0, r3 80204ac: bfbc itt lt 80204ae: 40d0 lsrlt r0, r2 80204b0: 4318 orrlt r0, r3 80204b2: 4770 bx lr 80204b4: f092 0f00 teq r2, #0 80204b8: f481 0100 eor.w r1, r1, #8388608 ; 0x800000 80204bc: bf06 itte eq 80204be: f480 0000 eoreq.w r0, r0, #8388608 ; 0x800000 80204c2: 3201 addeq r2, #1 80204c4: 3b01 subne r3, #1 80204c6: e7b5 b.n 8020434 <__addsf3+0x58> 80204c8: ea4f 0341 mov.w r3, r1, lsl #1 80204cc: ea7f 6c22 mvns.w ip, r2, asr #24 80204d0: bf18 it ne 80204d2: ea7f 6c23 mvnsne.w ip, r3, asr #24 80204d6: d021 beq.n 802051c <__addsf3+0x140> 80204d8: ea92 0f03 teq r2, r3 80204dc: d004 beq.n 80204e8 <__addsf3+0x10c> 80204de: f092 0f00 teq r2, #0 80204e2: bf08 it eq 80204e4: 4608 moveq r0, r1 80204e6: 4770 bx lr 80204e8: ea90 0f01 teq r0, r1 80204ec: bf1c itt ne 80204ee: 2000 movne r0, #0 80204f0: 4770 bxne lr 80204f2: f012 4f7f tst.w r2, #4278190080 ; 0xff000000 80204f6: d104 bne.n 8020502 <__addsf3+0x126> 80204f8: 0040 lsls r0, r0, #1 80204fa: bf28 it cs 80204fc: f040 4000 orrcs.w r0, r0, #2147483648 ; 0x80000000 8020500: 4770 bx lr 8020502: f112 7200 adds.w r2, r2, #33554432 ; 0x2000000 8020506: bf3c itt cc 8020508: f500 0000 addcc.w r0, r0, #8388608 ; 0x800000 802050c: 4770 bxcc lr 802050e: f000 4300 and.w r3, r0, #2147483648 ; 0x80000000 8020512: f043 40fe orr.w r0, r3, #2130706432 ; 0x7f000000 8020516: f440 0000 orr.w r0, r0, #8388608 ; 0x800000 802051a: 4770 bx lr 802051c: ea7f 6222 mvns.w r2, r2, asr #24 8020520: bf16 itet ne 8020522: 4608 movne r0, r1 8020524: ea7f 6323 mvnseq.w r3, r3, asr #24 8020528: 4601 movne r1, r0 802052a: 0242 lsls r2, r0, #9 802052c: bf06 itte eq 802052e: ea5f 2341 movseq.w r3, r1, lsl #9 8020532: ea90 0f01 teqeq r0, r1 8020536: f440 0080 orrne.w r0, r0, #4194304 ; 0x400000 802053a: 4770 bx lr 0802053c <__aeabi_ui2f>: 802053c: f04f 0300 mov.w r3, #0 8020540: e004 b.n 802054c <__aeabi_i2f+0x8> 8020542: bf00 nop 08020544 <__aeabi_i2f>: 8020544: f010 4300 ands.w r3, r0, #2147483648 ; 0x80000000 8020548: bf48 it mi 802054a: 4240 negmi r0, r0 802054c: ea5f 0c00 movs.w ip, r0 8020550: bf08 it eq 8020552: 4770 bxeq lr 8020554: f043 4396 orr.w r3, r3, #1258291200 ; 0x4b000000 8020558: 4601 mov r1, r0 802055a: f04f 0000 mov.w r0, #0 802055e: e01c b.n 802059a <__aeabi_l2f+0x2a> 08020560 <__aeabi_ul2f>: 8020560: ea50 0201 orrs.w r2, r0, r1 8020564: bf08 it eq 8020566: 4770 bxeq lr 8020568: f04f 0300 mov.w r3, #0 802056c: e00a b.n 8020584 <__aeabi_l2f+0x14> 802056e: bf00 nop 08020570 <__aeabi_l2f>: 8020570: ea50 0201 orrs.w r2, r0, r1 8020574: bf08 it eq 8020576: 4770 bxeq lr 8020578: f011 4300 ands.w r3, r1, #2147483648 ; 0x80000000 802057c: d502 bpl.n 8020584 <__aeabi_l2f+0x14> 802057e: 4240 negs r0, r0 8020580: eb61 0141 sbc.w r1, r1, r1, lsl #1 8020584: ea5f 0c01 movs.w ip, r1 8020588: bf02 ittt eq 802058a: 4684 moveq ip, r0 802058c: 4601 moveq r1, r0 802058e: 2000 moveq r0, #0 8020590: f043 43b6 orr.w r3, r3, #1526726656 ; 0x5b000000 8020594: bf08 it eq 8020596: f1a3 5380 subeq.w r3, r3, #268435456 ; 0x10000000 802059a: f5a3 0300 sub.w r3, r3, #8388608 ; 0x800000 802059e: fabc f28c clz r2, ip 80205a2: 3a08 subs r2, #8 80205a4: eba3 53c2 sub.w r3, r3, r2, lsl #23 80205a8: db10 blt.n 80205cc <__aeabi_l2f+0x5c> 80205aa: fa01 fc02 lsl.w ip, r1, r2 80205ae: 4463 add r3, ip 80205b0: fa00 fc02 lsl.w ip, r0, r2 80205b4: f1c2 0220 rsb r2, r2, #32 80205b8: f1bc 4f00 cmp.w ip, #2147483648 ; 0x80000000 80205bc: fa20 f202 lsr.w r2, r0, r2 80205c0: eb43 0002 adc.w r0, r3, r2 80205c4: bf08 it eq 80205c6: f020 0001 biceq.w r0, r0, #1 80205ca: 4770 bx lr 80205cc: f102 0220 add.w r2, r2, #32 80205d0: fa01 fc02 lsl.w ip, r1, r2 80205d4: f1c2 0220 rsb r2, r2, #32 80205d8: ea50 004c orrs.w r0, r0, ip, lsl #1 80205dc: fa21 f202 lsr.w r2, r1, r2 80205e0: eb43 0002 adc.w r0, r3, r2 80205e4: bf08 it eq 80205e6: ea20 70dc biceq.w r0, r0, ip, lsr #31 80205ea: 4770 bx lr 080205ec <__aeabi_uldivmod>: 80205ec: b953 cbnz r3, 8020604 <__aeabi_uldivmod+0x18> 80205ee: b94a cbnz r2, 8020604 <__aeabi_uldivmod+0x18> 80205f0: 2900 cmp r1, #0 80205f2: bf08 it eq 80205f4: 2800 cmpeq r0, #0 80205f6: bf1c itt ne 80205f8: f04f 31ff movne.w r1, #4294967295 80205fc: f04f 30ff movne.w r0, #4294967295 8020600: f000 b97a b.w 80208f8 <__aeabi_idiv0> 8020604: f1ad 0c08 sub.w ip, sp, #8 8020608: e96d ce04 strd ip, lr, [sp, #-16]! 802060c: f000 f806 bl 802061c <__udivmoddi4> 8020610: f8dd e004 ldr.w lr, [sp, #4] 8020614: e9dd 2302 ldrd r2, r3, [sp, #8] 8020618: b004 add sp, #16 802061a: 4770 bx lr 0802061c <__udivmoddi4>: 802061c: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 8020620: 468c mov ip, r1 8020622: 460d mov r5, r1 8020624: 4604 mov r4, r0 8020626: 9e08 ldr r6, [sp, #32] 8020628: 2b00 cmp r3, #0 802062a: d151 bne.n 80206d0 <__udivmoddi4+0xb4> 802062c: 428a cmp r2, r1 802062e: 4617 mov r7, r2 8020630: d96d bls.n 802070e <__udivmoddi4+0xf2> 8020632: fab2 fe82 clz lr, r2 8020636: f1be 0f00 cmp.w lr, #0 802063a: d00b beq.n 8020654 <__udivmoddi4+0x38> 802063c: f1ce 0c20 rsb ip, lr, #32 8020640: fa01 f50e lsl.w r5, r1, lr 8020644: fa20 fc0c lsr.w ip, r0, ip 8020648: fa02 f70e lsl.w r7, r2, lr 802064c: ea4c 0c05 orr.w ip, ip, r5 8020650: fa00 f40e lsl.w r4, r0, lr 8020654: ea4f 4a17 mov.w sl, r7, lsr #16 8020658: 0c25 lsrs r5, r4, #16 802065a: fbbc f8fa udiv r8, ip, sl 802065e: fa1f f987 uxth.w r9, r7 8020662: fb0a cc18 mls ip, sl, r8, ip 8020666: ea45 450c orr.w r5, r5, ip, lsl #16 802066a: fb08 f309 mul.w r3, r8, r9 802066e: 42ab cmp r3, r5 8020670: d90a bls.n 8020688 <__udivmoddi4+0x6c> 8020672: 19ed adds r5, r5, r7 8020674: f108 32ff add.w r2, r8, #4294967295 8020678: f080 8123 bcs.w 80208c2 <__udivmoddi4+0x2a6> 802067c: 42ab cmp r3, r5 802067e: f240 8120 bls.w 80208c2 <__udivmoddi4+0x2a6> 8020682: f1a8 0802 sub.w r8, r8, #2 8020686: 443d add r5, r7 8020688: 1aed subs r5, r5, r3 802068a: b2a4 uxth r4, r4 802068c: fbb5 f0fa udiv r0, r5, sl 8020690: fb0a 5510 mls r5, sl, r0, r5 8020694: ea44 4405 orr.w r4, r4, r5, lsl #16 8020698: fb00 f909 mul.w r9, r0, r9 802069c: 45a1 cmp r9, r4 802069e: d909 bls.n 80206b4 <__udivmoddi4+0x98> 80206a0: 19e4 adds r4, r4, r7 80206a2: f100 33ff add.w r3, r0, #4294967295 80206a6: f080 810a bcs.w 80208be <__udivmoddi4+0x2a2> 80206aa: 45a1 cmp r9, r4 80206ac: f240 8107 bls.w 80208be <__udivmoddi4+0x2a2> 80206b0: 3802 subs r0, #2 80206b2: 443c add r4, r7 80206b4: eba4 0409 sub.w r4, r4, r9 80206b8: ea40 4008 orr.w r0, r0, r8, lsl #16 80206bc: 2100 movs r1, #0 80206be: 2e00 cmp r6, #0 80206c0: d061 beq.n 8020786 <__udivmoddi4+0x16a> 80206c2: fa24 f40e lsr.w r4, r4, lr 80206c6: 2300 movs r3, #0 80206c8: 6034 str r4, [r6, #0] 80206ca: 6073 str r3, [r6, #4] 80206cc: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80206d0: 428b cmp r3, r1 80206d2: d907 bls.n 80206e4 <__udivmoddi4+0xc8> 80206d4: 2e00 cmp r6, #0 80206d6: d054 beq.n 8020782 <__udivmoddi4+0x166> 80206d8: 2100 movs r1, #0 80206da: e886 0021 stmia.w r6, {r0, r5} 80206de: 4608 mov r0, r1 80206e0: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80206e4: fab3 f183 clz r1, r3 80206e8: 2900 cmp r1, #0 80206ea: f040 808e bne.w 802080a <__udivmoddi4+0x1ee> 80206ee: 42ab cmp r3, r5 80206f0: d302 bcc.n 80206f8 <__udivmoddi4+0xdc> 80206f2: 4282 cmp r2, r0 80206f4: f200 80fa bhi.w 80208ec <__udivmoddi4+0x2d0> 80206f8: 1a84 subs r4, r0, r2 80206fa: eb65 0503 sbc.w r5, r5, r3 80206fe: 2001 movs r0, #1 8020700: 46ac mov ip, r5 8020702: 2e00 cmp r6, #0 8020704: d03f beq.n 8020786 <__udivmoddi4+0x16a> 8020706: e886 1010 stmia.w r6, {r4, ip} 802070a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 802070e: b912 cbnz r2, 8020716 <__udivmoddi4+0xfa> 8020710: 2701 movs r7, #1 8020712: fbb7 f7f2 udiv r7, r7, r2 8020716: fab7 fe87 clz lr, r7 802071a: f1be 0f00 cmp.w lr, #0 802071e: d134 bne.n 802078a <__udivmoddi4+0x16e> 8020720: 1beb subs r3, r5, r7 8020722: 0c3a lsrs r2, r7, #16 8020724: fa1f fc87 uxth.w ip, r7 8020728: 2101 movs r1, #1 802072a: fbb3 f8f2 udiv r8, r3, r2 802072e: 0c25 lsrs r5, r4, #16 8020730: fb02 3318 mls r3, r2, r8, r3 8020734: ea45 4503 orr.w r5, r5, r3, lsl #16 8020738: fb0c f308 mul.w r3, ip, r8 802073c: 42ab cmp r3, r5 802073e: d907 bls.n 8020750 <__udivmoddi4+0x134> 8020740: 19ed adds r5, r5, r7 8020742: f108 30ff add.w r0, r8, #4294967295 8020746: d202 bcs.n 802074e <__udivmoddi4+0x132> 8020748: 42ab cmp r3, r5 802074a: f200 80d1 bhi.w 80208f0 <__udivmoddi4+0x2d4> 802074e: 4680 mov r8, r0 8020750: 1aed subs r5, r5, r3 8020752: b2a3 uxth r3, r4 8020754: fbb5 f0f2 udiv r0, r5, r2 8020758: fb02 5510 mls r5, r2, r0, r5 802075c: ea43 4405 orr.w r4, r3, r5, lsl #16 8020760: fb0c fc00 mul.w ip, ip, r0 8020764: 45a4 cmp ip, r4 8020766: d907 bls.n 8020778 <__udivmoddi4+0x15c> 8020768: 19e4 adds r4, r4, r7 802076a: f100 33ff add.w r3, r0, #4294967295 802076e: d202 bcs.n 8020776 <__udivmoddi4+0x15a> 8020770: 45a4 cmp ip, r4 8020772: f200 80b8 bhi.w 80208e6 <__udivmoddi4+0x2ca> 8020776: 4618 mov r0, r3 8020778: eba4 040c sub.w r4, r4, ip 802077c: ea40 4008 orr.w r0, r0, r8, lsl #16 8020780: e79d b.n 80206be <__udivmoddi4+0xa2> 8020782: 4631 mov r1, r6 8020784: 4630 mov r0, r6 8020786: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 802078a: f1ce 0420 rsb r4, lr, #32 802078e: fa05 f30e lsl.w r3, r5, lr 8020792: fa07 f70e lsl.w r7, r7, lr 8020796: fa20 f804 lsr.w r8, r0, r4 802079a: 0c3a lsrs r2, r7, #16 802079c: fa25 f404 lsr.w r4, r5, r4 80207a0: ea48 0803 orr.w r8, r8, r3 80207a4: fbb4 f1f2 udiv r1, r4, r2 80207a8: ea4f 4518 mov.w r5, r8, lsr #16 80207ac: fb02 4411 mls r4, r2, r1, r4 80207b0: fa1f fc87 uxth.w ip, r7 80207b4: ea45 4504 orr.w r5, r5, r4, lsl #16 80207b8: fb01 f30c mul.w r3, r1, ip 80207bc: 42ab cmp r3, r5 80207be: fa00 f40e lsl.w r4, r0, lr 80207c2: d909 bls.n 80207d8 <__udivmoddi4+0x1bc> 80207c4: 19ed adds r5, r5, r7 80207c6: f101 30ff add.w r0, r1, #4294967295 80207ca: f080 808a bcs.w 80208e2 <__udivmoddi4+0x2c6> 80207ce: 42ab cmp r3, r5 80207d0: f240 8087 bls.w 80208e2 <__udivmoddi4+0x2c6> 80207d4: 3902 subs r1, #2 80207d6: 443d add r5, r7 80207d8: 1aeb subs r3, r5, r3 80207da: fa1f f588 uxth.w r5, r8 80207de: fbb3 f0f2 udiv r0, r3, r2 80207e2: fb02 3310 mls r3, r2, r0, r3 80207e6: ea45 4503 orr.w r5, r5, r3, lsl #16 80207ea: fb00 f30c mul.w r3, r0, ip 80207ee: 42ab cmp r3, r5 80207f0: d907 bls.n 8020802 <__udivmoddi4+0x1e6> 80207f2: 19ed adds r5, r5, r7 80207f4: f100 38ff add.w r8, r0, #4294967295 80207f8: d26f bcs.n 80208da <__udivmoddi4+0x2be> 80207fa: 42ab cmp r3, r5 80207fc: d96d bls.n 80208da <__udivmoddi4+0x2be> 80207fe: 3802 subs r0, #2 8020800: 443d add r5, r7 8020802: 1aeb subs r3, r5, r3 8020804: ea40 4101 orr.w r1, r0, r1, lsl #16 8020808: e78f b.n 802072a <__udivmoddi4+0x10e> 802080a: f1c1 0720 rsb r7, r1, #32 802080e: fa22 f807 lsr.w r8, r2, r7 8020812: 408b lsls r3, r1 8020814: fa05 f401 lsl.w r4, r5, r1 8020818: ea48 0303 orr.w r3, r8, r3 802081c: fa20 fe07 lsr.w lr, r0, r7 8020820: ea4f 4c13 mov.w ip, r3, lsr #16 8020824: 40fd lsrs r5, r7 8020826: ea4e 0e04 orr.w lr, lr, r4 802082a: fbb5 f9fc udiv r9, r5, ip 802082e: ea4f 441e mov.w r4, lr, lsr #16 8020832: fb0c 5519 mls r5, ip, r9, r5 8020836: fa1f f883 uxth.w r8, r3 802083a: ea44 4505 orr.w r5, r4, r5, lsl #16 802083e: fb09 f408 mul.w r4, r9, r8 8020842: 42ac cmp r4, r5 8020844: fa02 f201 lsl.w r2, r2, r1 8020848: fa00 fa01 lsl.w sl, r0, r1 802084c: d908 bls.n 8020860 <__udivmoddi4+0x244> 802084e: 18ed adds r5, r5, r3 8020850: f109 30ff add.w r0, r9, #4294967295 8020854: d243 bcs.n 80208de <__udivmoddi4+0x2c2> 8020856: 42ac cmp r4, r5 8020858: d941 bls.n 80208de <__udivmoddi4+0x2c2> 802085a: f1a9 0902 sub.w r9, r9, #2 802085e: 441d add r5, r3 8020860: 1b2d subs r5, r5, r4 8020862: fa1f fe8e uxth.w lr, lr 8020866: fbb5 f0fc udiv r0, r5, ip 802086a: fb0c 5510 mls r5, ip, r0, r5 802086e: ea4e 4405 orr.w r4, lr, r5, lsl #16 8020872: fb00 f808 mul.w r8, r0, r8 8020876: 45a0 cmp r8, r4 8020878: d907 bls.n 802088a <__udivmoddi4+0x26e> 802087a: 18e4 adds r4, r4, r3 802087c: f100 35ff add.w r5, r0, #4294967295 8020880: d229 bcs.n 80208d6 <__udivmoddi4+0x2ba> 8020882: 45a0 cmp r8, r4 8020884: d927 bls.n 80208d6 <__udivmoddi4+0x2ba> 8020886: 3802 subs r0, #2 8020888: 441c add r4, r3 802088a: ea40 4009 orr.w r0, r0, r9, lsl #16 802088e: eba4 0408 sub.w r4, r4, r8 8020892: fba0 8902 umull r8, r9, r0, r2 8020896: 454c cmp r4, r9 8020898: 46c6 mov lr, r8 802089a: 464d mov r5, r9 802089c: d315 bcc.n 80208ca <__udivmoddi4+0x2ae> 802089e: d012 beq.n 80208c6 <__udivmoddi4+0x2aa> 80208a0: b156 cbz r6, 80208b8 <__udivmoddi4+0x29c> 80208a2: ebba 030e subs.w r3, sl, lr 80208a6: eb64 0405 sbc.w r4, r4, r5 80208aa: fa04 f707 lsl.w r7, r4, r7 80208ae: 40cb lsrs r3, r1 80208b0: 431f orrs r7, r3 80208b2: 40cc lsrs r4, r1 80208b4: 6037 str r7, [r6, #0] 80208b6: 6074 str r4, [r6, #4] 80208b8: 2100 movs r1, #0 80208ba: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80208be: 4618 mov r0, r3 80208c0: e6f8 b.n 80206b4 <__udivmoddi4+0x98> 80208c2: 4690 mov r8, r2 80208c4: e6e0 b.n 8020688 <__udivmoddi4+0x6c> 80208c6: 45c2 cmp sl, r8 80208c8: d2ea bcs.n 80208a0 <__udivmoddi4+0x284> 80208ca: ebb8 0e02 subs.w lr, r8, r2 80208ce: eb69 0503 sbc.w r5, r9, r3 80208d2: 3801 subs r0, #1 80208d4: e7e4 b.n 80208a0 <__udivmoddi4+0x284> 80208d6: 4628 mov r0, r5 80208d8: e7d7 b.n 802088a <__udivmoddi4+0x26e> 80208da: 4640 mov r0, r8 80208dc: e791 b.n 8020802 <__udivmoddi4+0x1e6> 80208de: 4681 mov r9, r0 80208e0: e7be b.n 8020860 <__udivmoddi4+0x244> 80208e2: 4601 mov r1, r0 80208e4: e778 b.n 80207d8 <__udivmoddi4+0x1bc> 80208e6: 3802 subs r0, #2 80208e8: 443c add r4, r7 80208ea: e745 b.n 8020778 <__udivmoddi4+0x15c> 80208ec: 4608 mov r0, r1 80208ee: e708 b.n 8020702 <__udivmoddi4+0xe6> 80208f0: f1a8 0802 sub.w r8, r8, #2 80208f4: 443d add r5, r7 80208f6: e72b b.n 8020750 <__udivmoddi4+0x134> 080208f8 <__aeabi_idiv0>: 80208f8: 4770 bx lr 80208fa: bf00 nop 080208fc : /** \brief Clean & Invalidate D-Cache \details Cleans and Invalidates D-Cache */ __STATIC_INLINE void SCB_CleanInvalidateDCache (void) { 80208fc: b480 push {r7} 80208fe: b085 sub sp, #20 8020900: af00 add r7, sp, #0 #if defined (__DCACHE_PRESENT) && (__DCACHE_PRESENT == 1U) uint32_t ccsidr; uint32_t sets; uint32_t ways; SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 8020902: 4b19 ldr r3, [pc, #100] ; (8020968 ) 8020904: 2200 movs r2, #0 8020906: f8c3 2084 str.w r2, [r3, #132] ; 0x84 \details Acts as a special kind of Data Memory Barrier. It completes when all explicit memory accesses before this instruction complete. */ __STATIC_FORCEINLINE void __DSB(void) { __ASM volatile ("dsb 0xF":::"memory"); 802090a: f3bf 8f4f dsb sy __DSB(); ccsidr = SCB->CCSIDR; 802090e: 4b16 ldr r3, [pc, #88] ; (8020968 ) 8020910: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 8020914: 607b str r3, [r7, #4] /* clean & invalidate D-Cache */ sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 8020916: 687b ldr r3, [r7, #4] 8020918: 0b5b lsrs r3, r3, #13 802091a: f3c3 030e ubfx r3, r3, #0, #15 802091e: 60fb str r3, [r7, #12] do { ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 8020920: 687b ldr r3, [r7, #4] 8020922: 08db lsrs r3, r3, #3 8020924: f3c3 0309 ubfx r3, r3, #0, #10 8020928: 60bb str r3, [r7, #8] do { SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 802092a: 490f ldr r1, [pc, #60] ; (8020968 ) 802092c: 68fb ldr r3, [r7, #12] 802092e: 015a lsls r2, r3, #5 8020930: f643 73e0 movw r3, #16352 ; 0x3fe0 8020934: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 8020936: 68ba ldr r2, [r7, #8] 8020938: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 802093a: 4313 orrs r3, r2 802093c: f8c1 3274 str.w r3, [r1, #628] ; 0x274 #if defined ( __CC_ARM ) __schedule_barrier(); #endif } while (ways-- != 0U); 8020940: 68bb ldr r3, [r7, #8] 8020942: 1e5a subs r2, r3, #1 8020944: 60ba str r2, [r7, #8] 8020946: 2b00 cmp r3, #0 8020948: d1ef bne.n 802092a } while(sets-- != 0U); 802094a: 68fb ldr r3, [r7, #12] 802094c: 1e5a subs r2, r3, #1 802094e: 60fa str r2, [r7, #12] 8020950: 2b00 cmp r3, #0 8020952: d1e5 bne.n 8020920 8020954: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8020958: f3bf 8f6f isb sy __DSB(); __ISB(); #endif } 802095c: bf00 nop 802095e: 3714 adds r7, #20 8020960: 46bd mov sp, r7 8020962: f85d 7b04 ldr.w r7, [sp], #4 8020966: 4770 bx lr 8020968: e000ed00 .word 0xe000ed00 0802096c : volatile float32_t aa0 = 0.0f; void MX_ADC1_Init(void) { 802096c: b580 push {r7, lr} 802096e: b084 sub sp, #16 8020970: af00 add r7, sp, #0 ADC_ChannelConfTypeDef sConfig; hadc1.Instance = ADC1; 8020972: 4b22 ldr r3, [pc, #136] ; (80209fc ) 8020974: 4a22 ldr r2, [pc, #136] ; (8020a00 ) 8020976: 601a str r2, [r3, #0] hadc1.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4; 8020978: 4b20 ldr r3, [pc, #128] ; (80209fc ) 802097a: f44f 3280 mov.w r2, #65536 ; 0x10000 802097e: 605a str r2, [r3, #4] hadc1.Init.Resolution = ADC_RESOLUTION_12B; 8020980: 4b1e ldr r3, [pc, #120] ; (80209fc ) 8020982: 2200 movs r2, #0 8020984: 609a str r2, [r3, #8] hadc1.Init.ScanConvMode = DISABLE; 8020986: 4b1d ldr r3, [pc, #116] ; (80209fc ) 8020988: 2200 movs r2, #0 802098a: 611a str r2, [r3, #16] hadc1.Init.ContinuousConvMode = DISABLE; 802098c: 4b1b ldr r3, [pc, #108] ; (80209fc ) 802098e: 2200 movs r2, #0 8020990: 619a str r2, [r3, #24] hadc1.Init.DiscontinuousConvMode = DISABLE; 8020992: 4b1a ldr r3, [pc, #104] ; (80209fc ) 8020994: 2200 movs r2, #0 8020996: f883 2020 strb.w r2, [r3, #32] hadc1.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING; 802099a: 4b18 ldr r3, [pc, #96] ; (80209fc ) 802099c: f04f 5280 mov.w r2, #268435456 ; 0x10000000 80209a0: 62da str r2, [r3, #44] ; 0x2c hadc1.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T5_TRGO; 80209a2: 4b16 ldr r3, [pc, #88] ; (80209fc ) 80209a4: f04f 6280 mov.w r2, #67108864 ; 0x4000000 80209a8: 629a str r2, [r3, #40] ; 0x28 hadc1.Init.DataAlign = ADC_DATAALIGN_RIGHT; 80209aa: 4b14 ldr r3, [pc, #80] ; (80209fc ) 80209ac: 2200 movs r2, #0 80209ae: 60da str r2, [r3, #12] hadc1.Init.NbrOfConversion = 1; 80209b0: 4b12 ldr r3, [pc, #72] ; (80209fc ) 80209b2: 2201 movs r2, #1 80209b4: 61da str r2, [r3, #28] hadc1.Init.DMAContinuousRequests = ENABLE; 80209b6: 4b11 ldr r3, [pc, #68] ; (80209fc ) 80209b8: 2201 movs r2, #1 80209ba: f883 2030 strb.w r2, [r3, #48] ; 0x30 hadc1.Init.EOCSelection = ADC_EOC_SINGLE_CONV; 80209be: 4b0f ldr r3, [pc, #60] ; (80209fc ) 80209c0: 2201 movs r2, #1 80209c2: 615a str r2, [r3, #20] if(HAL_ADC_Init(&hadc1) != HAL_OK) { 80209c4: 480d ldr r0, [pc, #52] ; (80209fc ) 80209c6: f092 fc81 bl 80b32cc 80209ca: 4603 mov r3, r0 80209cc: 2b00 cmp r3, #0 80209ce: d001 beq.n 80209d4 Error_Handler(); 80209d0: f034 fa3a bl 8054e48 } sConfig.Channel = ADC_CHANNEL_1; 80209d4: 2301 movs r3, #1 80209d6: 603b str r3, [r7, #0] sConfig.Rank = ADC_REGULAR_RANK_1; 80209d8: 2301 movs r3, #1 80209da: 607b str r3, [r7, #4] sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES; 80209dc: 2300 movs r3, #0 80209de: 60bb str r3, [r7, #8] if(HAL_ADC_ConfigChannel(&hadc1, &sConfig) != HAL_OK) { 80209e0: 463b mov r3, r7 80209e2: 4619 mov r1, r3 80209e4: 4805 ldr r0, [pc, #20] ; (80209fc ) 80209e6: f092 ffb9 bl 80b395c 80209ea: 4603 mov r3, r0 80209ec: 2b00 cmp r3, #0 80209ee: d001 beq.n 80209f4 Error_Handler(); 80209f0: f034 fa2a bl 8054e48 } //SET_ADCOption2(SYSCFG_PMC_ADCxDC2, ENABLE); } 80209f4: bf00 nop 80209f6: 3710 adds r7, #16 80209f8: 46bd mov sp, r7 80209fa: bd80 pop {r7, pc} 80209fc: 20021bd8 .word 0x20021bd8 8020a00: 40012000 .word 0x40012000 08020a04 : void MX_ADC2_Init(void) { 8020a04: b580 push {r7, lr} 8020a06: b08a sub sp, #40 ; 0x28 8020a08: af00 add r7, sp, #0 GPIO_InitTypeDef GPIO_InitStruct; ADC_ChannelConfTypeDef sConfig; hadc2.Instance = ADC2; 8020a0a: 4b2d ldr r3, [pc, #180] ; (8020ac0 ) 8020a0c: 4a2d ldr r2, [pc, #180] ; (8020ac4 ) 8020a0e: 601a str r2, [r3, #0] hadc2.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4; 8020a10: 4b2b ldr r3, [pc, #172] ; (8020ac0 ) 8020a12: f44f 3280 mov.w r2, #65536 ; 0x10000 8020a16: 605a str r2, [r3, #4] hadc2.Init.Resolution = ADC_RESOLUTION_12B; 8020a18: 4b29 ldr r3, [pc, #164] ; (8020ac0 ) 8020a1a: 2200 movs r2, #0 8020a1c: 609a str r2, [r3, #8] hadc2.Init.ScanConvMode = DISABLE; 8020a1e: 4b28 ldr r3, [pc, #160] ; (8020ac0 ) 8020a20: 2200 movs r2, #0 8020a22: 611a str r2, [r3, #16] hadc2.Init.ContinuousConvMode = DISABLE; 8020a24: 4b26 ldr r3, [pc, #152] ; (8020ac0 ) 8020a26: 2200 movs r2, #0 8020a28: 619a str r2, [r3, #24] hadc2.Init.DiscontinuousConvMode = DISABLE; 8020a2a: 4b25 ldr r3, [pc, #148] ; (8020ac0 ) 8020a2c: 2200 movs r2, #0 8020a2e: f883 2020 strb.w r2, [r3, #32] hadc2.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_NONE; 8020a32: 4b23 ldr r3, [pc, #140] ; (8020ac0 ) 8020a34: 2200 movs r2, #0 8020a36: 62da str r2, [r3, #44] ; 0x2c hadc2.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T1_CC1; 8020a38: 4b21 ldr r3, [pc, #132] ; (8020ac0 ) 8020a3a: 2200 movs r2, #0 8020a3c: 629a str r2, [r3, #40] ; 0x28 hadc2.Init.DataAlign = ADC_DATAALIGN_RIGHT; 8020a3e: 4b20 ldr r3, [pc, #128] ; (8020ac0 ) 8020a40: 2200 movs r2, #0 8020a42: 60da str r2, [r3, #12] hadc2.Init.NbrOfConversion = 1; 8020a44: 4b1e ldr r3, [pc, #120] ; (8020ac0 ) 8020a46: 2201 movs r2, #1 8020a48: 61da str r2, [r3, #28] hadc2.Init.DMAContinuousRequests = DISABLE; 8020a4a: 4b1d ldr r3, [pc, #116] ; (8020ac0 ) 8020a4c: 2200 movs r2, #0 8020a4e: f883 2030 strb.w r2, [r3, #48] ; 0x30 hadc2.Init.EOCSelection = ADC_EOC_SINGLE_CONV; 8020a52: 4b1b ldr r3, [pc, #108] ; (8020ac0 ) 8020a54: 2201 movs r2, #1 8020a56: 615a str r2, [r3, #20] if(HAL_ADC_Init(&hadc2) != HAL_OK) { 8020a58: 4819 ldr r0, [pc, #100] ; (8020ac0 ) 8020a5a: f092 fc37 bl 80b32cc 8020a5e: 4603 mov r3, r0 8020a60: 2b00 cmp r3, #0 8020a62: d001 beq.n 8020a68 Error_Handler(); 8020a64: f034 f9f0 bl 8054e48 } __HAL_RCC_ADC2_CLK_ENABLE(); 8020a68: 4a17 ldr r2, [pc, #92] ; (8020ac8 ) 8020a6a: 4b17 ldr r3, [pc, #92] ; (8020ac8 ) 8020a6c: 6c5b ldr r3, [r3, #68] ; 0x44 8020a6e: f443 7300 orr.w r3, r3, #512 ; 0x200 8020a72: 6453 str r3, [r2, #68] ; 0x44 8020a74: 4b14 ldr r3, [pc, #80] ; (8020ac8 ) 8020a76: 6c5b ldr r3, [r3, #68] ; 0x44 8020a78: f403 7300 and.w r3, r3, #512 ; 0x200 8020a7c: 603b str r3, [r7, #0] 8020a7e: 683b ldr r3, [r7, #0] GPIO_InitStruct.Pin = GPIO_PIN_0; 8020a80: 2301 movs r3, #1 8020a82: 617b str r3, [r7, #20] GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; 8020a84: 2303 movs r3, #3 8020a86: 61bb str r3, [r7, #24] GPIO_InitStruct.Pull = GPIO_NOPULL; 8020a88: 2300 movs r3, #0 8020a8a: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 8020a8c: f107 0314 add.w r3, r7, #20 8020a90: 4619 mov r1, r3 8020a92: 480e ldr r0, [pc, #56] ; (8020acc ) 8020a94: f094 fdda bl 80b564c sConfig.Channel = ADC_CHANNEL_10; 8020a98: 230a movs r3, #10 8020a9a: 607b str r3, [r7, #4] sConfig.Rank = ADC_REGULAR_RANK_1; 8020a9c: 2301 movs r3, #1 8020a9e: 60bb str r3, [r7, #8] sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES; 8020aa0: 2300 movs r3, #0 8020aa2: 60fb str r3, [r7, #12] if(HAL_ADC_ConfigChannel(&hadc2, &sConfig) != HAL_OK) { 8020aa4: 1d3b adds r3, r7, #4 8020aa6: 4619 mov r1, r3 8020aa8: 4805 ldr r0, [pc, #20] ; (8020ac0 ) 8020aaa: f092 ff57 bl 80b395c 8020aae: 4603 mov r3, r0 8020ab0: 2b00 cmp r3, #0 8020ab2: d001 beq.n 8020ab8 Error_Handler(); 8020ab4: f034 f9c8 bl 8054e48 } } 8020ab8: bf00 nop 8020aba: 3728 adds r7, #40 ; 0x28 8020abc: 46bd mov sp, r7 8020abe: bd80 pop {r7, pc} 8020ac0: 20021b30 .word 0x20021b30 8020ac4: 40012100 .word 0x40012100 8020ac8: 40023800 .word 0x40023800 8020acc: 40020800 .word 0x40020800 08020ad0 : void MX_ADC3_Init(void) //TACHO { 8020ad0: b580 push {r7, lr} 8020ad2: b08a sub sp, #40 ; 0x28 8020ad4: af00 add r7, sp, #0 GPIO_InitTypeDef GPIO_InitStruct; ADC_ChannelConfTypeDef sConfig; hadc3.Instance = ADC3; 8020ad6: 4b23 ldr r3, [pc, #140] ; (8020b64 ) 8020ad8: 4a23 ldr r2, [pc, #140] ; (8020b68 ) 8020ada: 601a str r2, [r3, #0] hadc3.Init.ClockPrescaler = ADC_CLOCK_SYNC_PCLK_DIV4; 8020adc: 4b21 ldr r3, [pc, #132] ; (8020b64 ) 8020ade: f44f 3280 mov.w r2, #65536 ; 0x10000 8020ae2: 605a str r2, [r3, #4] hadc3.Init.Resolution = ADC_RESOLUTION_12B; 8020ae4: 4b1f ldr r3, [pc, #124] ; (8020b64 ) 8020ae6: 2200 movs r2, #0 8020ae8: 609a str r2, [r3, #8] hadc3.Init.ScanConvMode = DISABLE; 8020aea: 4b1e ldr r3, [pc, #120] ; (8020b64 ) 8020aec: 2200 movs r2, #0 8020aee: 611a str r2, [r3, #16] hadc3.Init.ContinuousConvMode = DISABLE; 8020af0: 4b1c ldr r3, [pc, #112] ; (8020b64 ) 8020af2: 2200 movs r2, #0 8020af4: 619a str r2, [r3, #24] hadc3.Init.DiscontinuousConvMode = DISABLE; 8020af6: 4b1b ldr r3, [pc, #108] ; (8020b64 ) 8020af8: 2200 movs r2, #0 8020afa: f883 2020 strb.w r2, [r3, #32] hadc3.Init.ExternalTrigConvEdge = ADC_EXTERNALTRIGCONVEDGE_RISING; 8020afe: 4b19 ldr r3, [pc, #100] ; (8020b64 ) 8020b00: f04f 5280 mov.w r2, #268435456 ; 0x10000000 8020b04: 62da str r2, [r3, #44] ; 0x2c hadc3.Init.ExternalTrigConv = ADC_EXTERNALTRIGCONV_T1_TRGO; 8020b06: 4b17 ldr r3, [pc, #92] ; (8020b64 ) 8020b08: f04f 6210 mov.w r2, #150994944 ; 0x9000000 8020b0c: 629a str r2, [r3, #40] ; 0x28 hadc3.Init.DataAlign = ADC_DATAALIGN_RIGHT; 8020b0e: 4b15 ldr r3, [pc, #84] ; (8020b64 ) 8020b10: 2200 movs r2, #0 8020b12: 60da str r2, [r3, #12] hadc3.Init.NbrOfConversion = 1; 8020b14: 4b13 ldr r3, [pc, #76] ; (8020b64 ) 8020b16: 2201 movs r2, #1 8020b18: 61da str r2, [r3, #28] hadc3.Init.DMAContinuousRequests = ENABLE; 8020b1a: 4b12 ldr r3, [pc, #72] ; (8020b64 ) 8020b1c: 2201 movs r2, #1 8020b1e: f883 2030 strb.w r2, [r3, #48] ; 0x30 hadc3.Init.EOCSelection = ADC_EOC_SINGLE_CONV; 8020b22: 4b10 ldr r3, [pc, #64] ; (8020b64 ) 8020b24: 2201 movs r2, #1 8020b26: 615a str r2, [r3, #20] if(HAL_ADC_Init(&hadc3) != HAL_OK) { 8020b28: 480e ldr r0, [pc, #56] ; (8020b64 ) 8020b2a: f092 fbcf bl 80b32cc 8020b2e: 4603 mov r3, r0 8020b30: 2b00 cmp r3, #0 8020b32: d001 beq.n 8020b38 Error_Handler(); 8020b34: f034 f988 bl 8054e48 } sConfig.Channel = ADC_CHANNEL_11; 8020b38: 230b movs r3, #11 8020b3a: 607b str r3, [r7, #4] sConfig.Rank = ADC_REGULAR_RANK_1; 8020b3c: 2301 movs r3, #1 8020b3e: 60bb str r3, [r7, #8] sConfig.SamplingTime = ADC_SAMPLETIME_3CYCLES; 8020b40: 2300 movs r3, #0 8020b42: 60fb str r3, [r7, #12] sConfig.Offset = 0; 8020b44: 2300 movs r3, #0 8020b46: 613b str r3, [r7, #16] if(HAL_ADC_ConfigChannel(&hadc3, &sConfig) != HAL_OK) { 8020b48: 1d3b adds r3, r7, #4 8020b4a: 4619 mov r1, r3 8020b4c: 4805 ldr r0, [pc, #20] ; (8020b64 ) 8020b4e: f092 ff05 bl 80b395c 8020b52: 4603 mov r3, r0 8020b54: 2b00 cmp r3, #0 8020b56: d001 beq.n 8020b5c Error_Handler(); 8020b58: f034 f976 bl 8054e48 } } 8020b5c: bf00 nop 8020b5e: 3728 adds r7, #40 ; 0x28 8020b60: 46bd mov sp, r7 8020b62: bd80 pop {r7, pc} 8020b64: 20021c20 .word 0x20021c20 8020b68: 40012200 .word 0x40012200 08020b6c : void HAL_ADC_MspInit(ADC_HandleTypeDef* adcHandle) { 8020b6c: b580 push {r7, lr} 8020b6e: b08c sub sp, #48 ; 0x30 8020b70: af00 add r7, sp, #0 8020b72: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(adcHandle->Instance == ADC1) 8020b74: 687b ldr r3, [r7, #4] 8020b76: 681b ldr r3, [r3, #0] 8020b78: 4a69 ldr r2, [pc, #420] ; (8020d20 ) 8020b7a: 4293 cmp r3, r2 8020b7c: d149 bne.n 8020c12 { __HAL_RCC_ADC1_CLK_ENABLE(); 8020b7e: 4a69 ldr r2, [pc, #420] ; (8020d24 ) 8020b80: 4b68 ldr r3, [pc, #416] ; (8020d24 ) 8020b82: 6c5b ldr r3, [r3, #68] ; 0x44 8020b84: f443 7380 orr.w r3, r3, #256 ; 0x100 8020b88: 6453 str r3, [r2, #68] ; 0x44 8020b8a: 4b66 ldr r3, [pc, #408] ; (8020d24 ) 8020b8c: 6c5b ldr r3, [r3, #68] ; 0x44 8020b8e: f403 7380 and.w r3, r3, #256 ; 0x100 8020b92: 61bb str r3, [r7, #24] 8020b94: 69bb ldr r3, [r7, #24] GPIO_InitStruct.Pin = GPIO_PIN_1; 8020b96: 2302 movs r3, #2 8020b98: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; 8020b9a: 2303 movs r3, #3 8020b9c: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; 8020b9e: 2300 movs r3, #0 8020ba0: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 8020ba2: f107 031c add.w r3, r7, #28 8020ba6: 4619 mov r1, r3 8020ba8: 485f ldr r0, [pc, #380] ; (8020d28 ) 8020baa: f094 fd4f bl 80b564c hdma_adc1.Instance = DMA2_Stream4; 8020bae: 4b5f ldr r3, [pc, #380] ; (8020d2c ) 8020bb0: 4a5f ldr r2, [pc, #380] ; (8020d30 ) 8020bb2: 601a str r2, [r3, #0] hdma_adc1.Init.Channel = DMA_CHANNEL_0; 8020bb4: 4b5d ldr r3, [pc, #372] ; (8020d2c ) 8020bb6: 2200 movs r2, #0 8020bb8: 605a str r2, [r3, #4] hdma_adc1.Init.Direction = DMA_PERIPH_TO_MEMORY; 8020bba: 4b5c ldr r3, [pc, #368] ; (8020d2c ) 8020bbc: 2200 movs r2, #0 8020bbe: 609a str r2, [r3, #8] hdma_adc1.Init.PeriphInc = DMA_PINC_DISABLE; 8020bc0: 4b5a ldr r3, [pc, #360] ; (8020d2c ) 8020bc2: 2200 movs r2, #0 8020bc4: 60da str r2, [r3, #12] hdma_adc1.Init.MemInc = DMA_MINC_ENABLE; 8020bc6: 4b59 ldr r3, [pc, #356] ; (8020d2c ) 8020bc8: f44f 6280 mov.w r2, #1024 ; 0x400 8020bcc: 611a str r2, [r3, #16] hdma_adc1.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; 8020bce: 4b57 ldr r3, [pc, #348] ; (8020d2c ) 8020bd0: f44f 6200 mov.w r2, #2048 ; 0x800 8020bd4: 615a str r2, [r3, #20] hdma_adc1.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; 8020bd6: 4b55 ldr r3, [pc, #340] ; (8020d2c ) 8020bd8: f44f 5200 mov.w r2, #8192 ; 0x2000 8020bdc: 619a str r2, [r3, #24] hdma_adc1.Init.Mode = DMA_CIRCULAR; 8020bde: 4b53 ldr r3, [pc, #332] ; (8020d2c ) 8020be0: f44f 7280 mov.w r2, #256 ; 0x100 8020be4: 61da str r2, [r3, #28] hdma_adc1.Init.Priority = DMA_PRIORITY_HIGH; 8020be6: 4b51 ldr r3, [pc, #324] ; (8020d2c ) 8020be8: f44f 3200 mov.w r2, #131072 ; 0x20000 8020bec: 621a str r2, [r3, #32] hdma_adc1.Init.FIFOMode = DMA_FIFOMODE_DISABLE; 8020bee: 4b4f ldr r3, [pc, #316] ; (8020d2c ) 8020bf0: 2200 movs r2, #0 8020bf2: 625a str r2, [r3, #36] ; 0x24 if(HAL_DMA_Init(&hdma_adc1) != HAL_OK) { 8020bf4: 484d ldr r0, [pc, #308] ; (8020d2c ) 8020bf6: f093 fb53 bl 80b42a0 8020bfa: 4603 mov r3, r0 8020bfc: 2b00 cmp r3, #0 8020bfe: d001 beq.n 8020c04 Error_Handler(); 8020c00: f034 f922 bl 8054e48 } __HAL_LINKDMA(adcHandle, DMA_Handle, hdma_adc1); 8020c04: 687b ldr r3, [r7, #4] 8020c06: 4a49 ldr r2, [pc, #292] ; (8020d2c ) 8020c08: 639a str r2, [r3, #56] ; 0x38 8020c0a: 4a48 ldr r2, [pc, #288] ; (8020d2c ) 8020c0c: 687b ldr r3, [r7, #4] 8020c0e: 6393 str r3, [r2, #56] ; 0x38 if(HAL_DMA_Init(&hdma_adc3) != HAL_OK) { Error_Handler(); } __HAL_LINKDMA(adcHandle, DMA_Handle, hdma_adc3); } } 8020c10: e081 b.n 8020d16 if(adcHandle->Instance == ADC2) 8020c12: 687b ldr r3, [r7, #4] 8020c14: 681b ldr r3, [r3, #0] 8020c16: 4a47 ldr r2, [pc, #284] ; (8020d34 ) 8020c18: 4293 cmp r3, r2 8020c1a: d118 bne.n 8020c4e __HAL_RCC_ADC2_CLK_ENABLE(); 8020c1c: 4a41 ldr r2, [pc, #260] ; (8020d24 ) 8020c1e: 4b41 ldr r3, [pc, #260] ; (8020d24 ) 8020c20: 6c5b ldr r3, [r3, #68] ; 0x44 8020c22: f443 7300 orr.w r3, r3, #512 ; 0x200 8020c26: 6453 str r3, [r2, #68] ; 0x44 8020c28: 4b3e ldr r3, [pc, #248] ; (8020d24 ) 8020c2a: 6c5b ldr r3, [r3, #68] ; 0x44 8020c2c: f403 7300 and.w r3, r3, #512 ; 0x200 8020c30: 617b str r3, [r7, #20] 8020c32: 697b ldr r3, [r7, #20] GPIO_InitStruct.Pin = GPIO_PIN_0; 8020c34: 2301 movs r3, #1 8020c36: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; 8020c38: 2303 movs r3, #3 8020c3a: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; 8020c3c: 2300 movs r3, #0 8020c3e: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 8020c40: f107 031c add.w r3, r7, #28 8020c44: 4619 mov r1, r3 8020c46: 483c ldr r0, [pc, #240] ; (8020d38 ) 8020c48: f094 fd00 bl 80b564c } 8020c4c: e063 b.n 8020d16 if(adcHandle->Instance == ADC3) 8020c4e: 687b ldr r3, [r7, #4] 8020c50: 681b ldr r3, [r3, #0] 8020c52: 4a3a ldr r2, [pc, #232] ; (8020d3c ) 8020c54: 4293 cmp r3, r2 8020c56: d15e bne.n 8020d16 __HAL_RCC_ADC3_CLK_ENABLE(); 8020c58: 4a32 ldr r2, [pc, #200] ; (8020d24 ) 8020c5a: 4b32 ldr r3, [pc, #200] ; (8020d24 ) 8020c5c: 6c5b ldr r3, [r3, #68] ; 0x44 8020c5e: f443 6380 orr.w r3, r3, #1024 ; 0x400 8020c62: 6453 str r3, [r2, #68] ; 0x44 8020c64: 4b2f ldr r3, [pc, #188] ; (8020d24 ) 8020c66: 6c5b ldr r3, [r3, #68] ; 0x44 8020c68: f403 6380 and.w r3, r3, #1024 ; 0x400 8020c6c: 613b str r3, [r7, #16] 8020c6e: 693b ldr r3, [r7, #16] __HAL_RCC_GPIOC_CLK_ENABLE(); 8020c70: 4a2c ldr r2, [pc, #176] ; (8020d24 ) 8020c72: 4b2c ldr r3, [pc, #176] ; (8020d24 ) 8020c74: 6b1b ldr r3, [r3, #48] ; 0x30 8020c76: f043 0304 orr.w r3, r3, #4 8020c7a: 6313 str r3, [r2, #48] ; 0x30 8020c7c: 4b29 ldr r3, [pc, #164] ; (8020d24 ) 8020c7e: 6b1b ldr r3, [r3, #48] ; 0x30 8020c80: f003 0304 and.w r3, r3, #4 8020c84: 60fb str r3, [r7, #12] 8020c86: 68fb ldr r3, [r7, #12] GPIO_InitStruct.Pin = GPIO_PIN_1; 8020c88: 2302 movs r3, #2 8020c8a: 61fb str r3, [r7, #28] GPIO_InitStruct.Mode = GPIO_MODE_ANALOG; 8020c8c: 2303 movs r3, #3 8020c8e: 623b str r3, [r7, #32] GPIO_InitStruct.Pull = GPIO_NOPULL; 8020c90: 2300 movs r3, #0 8020c92: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 8020c94: f107 031c add.w r3, r7, #28 8020c98: 4619 mov r1, r3 8020c9a: 4827 ldr r0, [pc, #156] ; (8020d38 ) 8020c9c: f094 fcd6 bl 80b564c hdma_adc3.Instance = DMA2_Stream1; 8020ca0: 4b27 ldr r3, [pc, #156] ; (8020d40 ) 8020ca2: 4a28 ldr r2, [pc, #160] ; (8020d44 ) 8020ca4: 601a str r2, [r3, #0] hdma_adc3.Init.Channel = DMA_CHANNEL_2; 8020ca6: 4b26 ldr r3, [pc, #152] ; (8020d40 ) 8020ca8: f04f 6280 mov.w r2, #67108864 ; 0x4000000 8020cac: 605a str r2, [r3, #4] hdma_adc3.Init.Direction = DMA_PERIPH_TO_MEMORY; 8020cae: 4b24 ldr r3, [pc, #144] ; (8020d40 ) 8020cb0: 2200 movs r2, #0 8020cb2: 609a str r2, [r3, #8] hdma_adc3.Init.PeriphInc = DMA_PINC_DISABLE; 8020cb4: 4b22 ldr r3, [pc, #136] ; (8020d40 ) 8020cb6: 2200 movs r2, #0 8020cb8: 60da str r2, [r3, #12] hdma_adc3.Init.MemInc = DMA_MINC_ENABLE; 8020cba: 4b21 ldr r3, [pc, #132] ; (8020d40 ) 8020cbc: f44f 6280 mov.w r2, #1024 ; 0x400 8020cc0: 611a str r2, [r3, #16] hdma_adc3.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; 8020cc2: 4b1f ldr r3, [pc, #124] ; (8020d40 ) 8020cc4: f44f 6200 mov.w r2, #2048 ; 0x800 8020cc8: 615a str r2, [r3, #20] hdma_adc3.Init.MemDataAlignment = DMA_PDATAALIGN_HALFWORD; 8020cca: 4b1d ldr r3, [pc, #116] ; (8020d40 ) 8020ccc: f44f 6200 mov.w r2, #2048 ; 0x800 8020cd0: 619a str r2, [r3, #24] hdma_adc3.Init.Mode = DMA_CIRCULAR; 8020cd2: 4b1b ldr r3, [pc, #108] ; (8020d40 ) 8020cd4: f44f 7280 mov.w r2, #256 ; 0x100 8020cd8: 61da str r2, [r3, #28] hdma_adc3.Init.Priority = DMA_PRIORITY_HIGH; 8020cda: 4b19 ldr r3, [pc, #100] ; (8020d40 ) 8020cdc: f44f 3200 mov.w r2, #131072 ; 0x20000 8020ce0: 621a str r2, [r3, #32] hdma_adc3.Init.FIFOMode = DMA_FIFOMODE_DISABLE; 8020ce2: 4b17 ldr r3, [pc, #92] ; (8020d40 ) 8020ce4: 2200 movs r2, #0 8020ce6: 625a str r2, [r3, #36] ; 0x24 hdma_adc3.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_HALFFULL; 8020ce8: 4b15 ldr r3, [pc, #84] ; (8020d40 ) 8020cea: 2201 movs r2, #1 8020cec: 629a str r2, [r3, #40] ; 0x28 hdma_adc3.Init.MemBurst = DMA_MBURST_SINGLE; 8020cee: 4b14 ldr r3, [pc, #80] ; (8020d40 ) 8020cf0: 2200 movs r2, #0 8020cf2: 62da str r2, [r3, #44] ; 0x2c hdma_adc3.Init.PeriphBurst = DMA_PBURST_SINGLE; 8020cf4: 4b12 ldr r3, [pc, #72] ; (8020d40 ) 8020cf6: 2200 movs r2, #0 8020cf8: 631a str r2, [r3, #48] ; 0x30 if(HAL_DMA_Init(&hdma_adc3) != HAL_OK) { 8020cfa: 4811 ldr r0, [pc, #68] ; (8020d40 ) 8020cfc: f093 fad0 bl 80b42a0 8020d00: 4603 mov r3, r0 8020d02: 2b00 cmp r3, #0 8020d04: d001 beq.n 8020d0a Error_Handler(); 8020d06: f034 f89f bl 8054e48 __HAL_LINKDMA(adcHandle, DMA_Handle, hdma_adc3); 8020d0a: 687b ldr r3, [r7, #4] 8020d0c: 4a0c ldr r2, [pc, #48] ; (8020d40 ) 8020d0e: 639a str r2, [r3, #56] ; 0x38 8020d10: 4a0b ldr r2, [pc, #44] ; (8020d40 ) 8020d12: 687b ldr r3, [r7, #4] 8020d14: 6393 str r3, [r2, #56] ; 0x38 } 8020d16: bf00 nop 8020d18: 3730 adds r7, #48 ; 0x30 8020d1a: 46bd mov sp, r7 8020d1c: bd80 pop {r7, pc} 8020d1e: bf00 nop 8020d20: 40012000 .word 0x40012000 8020d24: 40023800 .word 0x40023800 8020d28: 40020000 .word 0x40020000 8020d2c: 20021c68 .word 0x20021c68 8020d30: 40026470 .word 0x40026470 8020d34: 40012100 .word 0x40012100 8020d38: 40020800 .word 0x40020800 8020d3c: 40012200 .word 0x40012200 8020d40: 20021b78 .word 0x20021b78 8020d44: 40026428 .word 0x40026428 08020d48 : } } /* USER CODE BEGIN 1 */ void StartBatMeas(void) { 8020d48: b480 push {r7} 8020d4a: af00 add r7, sp, #0 TIMEOUT_BAT = sec5 + sec5; 8020d4c: 4b05 ldr r3, [pc, #20] ; (8020d64 ) 8020d4e: f44f 42a0 mov.w r2, #20480 ; 0x5000 8020d52: 601a str r2, [r3, #0] StartBat = true; 8020d54: 4b04 ldr r3, [pc, #16] ; (8020d68 ) 8020d56: 2201 movs r2, #1 8020d58: 701a strb r2, [r3, #0] } 8020d5a: bf00 nop 8020d5c: 46bd mov sp, r7 8020d5e: f85d 7b04 ldr.w r7, [sp], #4 8020d62: 4770 bx lr 8020d64: 200209c8 .word 0x200209c8 8020d68: 20020d4a .word 0x20020d4a 08020d6c : /////////////////////////////////////////////////////// void StartADC12(void) { 8020d6c: b580 push {r7, lr} 8020d6e: af00 add r7, sp, #0 HAL_ADC_Start_DMA(&hadc1, (uint32_t *) &DMA_Udar_u16(0), 16384u); 8020d70: f44f 4280 mov.w r2, #16384 ; 0x4000 8020d74: 4906 ldr r1, [pc, #24] ; (8020d90 ) 8020d76: 4807 ldr r0, [pc, #28] ; (8020d94 ) 8020d78: f092 fc7a bl 80b3670 HAL_TIM_Base_Start(&htim5); 8020d7c: 4806 ldr r0, [pc, #24] ; (8020d98 ) 8020d7e: f09a ffb7 bl 80bbcf0 HAL_TIM_GenerateEvent(&htim5, TIM_EVENTSOURCE_UPDATE); 8020d82: 2101 movs r1, #1 8020d84: 4804 ldr r0, [pc, #16] ; (8020d98 ) 8020d86: f09b f9e2 bl 80bc14e } 8020d8a: bf00 nop 8020d8c: bd80 pop {r7, pc} 8020d8e: bf00 nop 8020d90: 64090000 .word 0x64090000 8020d94: 20021bd8 .word 0x20021bd8 8020d98: 200688a4 .word 0x200688a4 08020d9c : void StopADC12(void) { 8020d9c: b580 push {r7, lr} 8020d9e: af00 add r7, sp, #0 HAL_TIM_Base_Stop(&htim5); 8020da0: 4803 ldr r0, [pc, #12] ; (8020db0 ) 8020da2: f09b f815 bl 80bbdd0 HAL_ADC_Stop_DMA(&hadc1); 8020da6: 4803 ldr r0, [pc, #12] ; (8020db4 ) 8020da8: f092 fd5c bl 80b3864 } 8020dac: bf00 nop 8020dae: bd80 pop {r7, pc} 8020db0: 200688a4 .word 0x200688a4 8020db4: 20021bd8 .word 0x20021bd8 08020db8 : ////////////////////////////////////////////////////////// void StartTacho(void) { 8020db8: b580 push {r7, lr} 8020dba: af00 add r7, sp, #0 //HAL_ADC_Start_DMA(&hadc3, (uint32_t*) &TACHO_SAMPLE, 1); HAL_ADC_Start_DMA(&hadc3, (uint32_t *) &DMA_Udar_u16(0), 16384u); 8020dbc: f44f 4280 mov.w r2, #16384 ; 0x4000 8020dc0: 4906 ldr r1, [pc, #24] ; (8020ddc ) 8020dc2: 4807 ldr r0, [pc, #28] ; (8020de0 ) 8020dc4: f092 fc54 bl 80b3670 HAL_TIM_Base_Start(&htim1); 8020dc8: 4806 ldr r0, [pc, #24] ; (8020de4 ) 8020dca: f09a ff91 bl 80bbcf0 HAL_TIM_GenerateEvent(&htim1, TIM_EVENTSOURCE_UPDATE); 8020dce: 2101 movs r1, #1 8020dd0: 4804 ldr r0, [pc, #16] ; (8020de4 ) 8020dd2: f09b f9bc bl 80bc14e } 8020dd6: bf00 nop 8020dd8: bd80 pop {r7, pc} 8020dda: bf00 nop 8020ddc: 64090000 .word 0x64090000 8020de0: 20021c20 .word 0x20021c20 8020de4: 20068940 .word 0x20068940 08020de8 : void StopTacho(void) { 8020de8: b580 push {r7, lr} 8020dea: af00 add r7, sp, #0 //HAL_ADC_Stop_DMA(&hadc3); HAL_TIM_Base_Stop(&htim1); 8020dec: 4803 ldr r0, [pc, #12] ; (8020dfc ) 8020dee: f09a ffef bl 80bbdd0 HAL_ADC_Stop_DMA(&hadc3); 8020df2: 4803 ldr r0, [pc, #12] ; (8020e00 ) 8020df4: f092 fd36 bl 80b3864 } 8020df8: bf00 nop 8020dfa: bd80 pop {r7, pc} 8020dfc: 20068940 .word 0x20068940 8020e00: 20021c20 .word 0x20021c20 08020e04 : void MeasBattery(void) { 8020e04: b580 push {r7, lr} 8020e06: b084 sub sp, #16 8020e08: af00 add r7, sp, #0 static uint8_t oldState = 0xf; int32_t V32, i; uint32_t Bat; if((StartBat)) 8020e0a: 4ba5 ldr r3, [pc, #660] ; (80210a0 ) 8020e0c: 781b ldrb r3, [r3, #0] 8020e0e: b2db uxtb r3, r3 8020e10: 2b00 cmp r3, #0 8020e12: f000 841e beq.w 8021652 { HAL_ADC_Start(&hadc2); 8020e16: 48a3 ldr r0, [pc, #652] ; (80210a4 ) 8020e18: f092 fa9c bl 80b3354 HAL_ADC_PollForConversion(&hadc2, 100); 8020e1c: 2164 movs r1, #100 ; 0x64 8020e1e: 48a1 ldr r0, [pc, #644] ; (80210a4 ) 8020e20: f092 fb9a bl 80b3558 Bat = HAL_ADC_GetValue(&hadc2); 8020e24: 489f ldr r0, [pc, #636] ; (80210a4 ) 8020e26: f092 fd77 bl 80b3918 8020e2a: 60b8 str r0, [r7, #8] HAL_ADC_Stop(&hadc2); 8020e2c: 489d ldr r0, [pc, #628] ; (80210a4 ) 8020e2e: f092 fb5f bl 80b34f0 ADCBat += Bat; 8020e32: 4b9d ldr r3, [pc, #628] ; (80210a8 ) 8020e34: 681a ldr r2, [r3, #0] 8020e36: 68bb ldr r3, [r7, #8] 8020e38: 4413 add r3, r2 8020e3a: 4a9b ldr r2, [pc, #620] ; (80210a8 ) 8020e3c: 6013 str r3, [r2, #0] adc_cnt++; 8020e3e: 4b9b ldr r3, [pc, #620] ; (80210ac ) 8020e40: 881b ldrh r3, [r3, #0] 8020e42: b29b uxth r3, r3 8020e44: 3301 adds r3, #1 8020e46: b29a uxth r2, r3 8020e48: 4b98 ldr r3, [pc, #608] ; (80210ac ) 8020e4a: 801a strh r2, [r3, #0] if(TIMEOUT_BAT) 8020e4c: 4b98 ldr r3, [pc, #608] ; (80210b0 ) 8020e4e: 681b ldr r3, [r3, #0] 8020e50: 2b00 cmp r3, #0 8020e52: f000 81e4 beq.w 802121e { if(adc_cnt >= 1) // 32 times --> 125 msec 8020e56: 4b95 ldr r3, [pc, #596] ; (80210ac ) 8020e58: 881b ldrh r3, [r3, #0] 8020e5a: b29b uxth r3, r3 8020e5c: 2b00 cmp r3, #0 8020e5e: f000 83f8 beq.w 8021652 { f = (float32_t) ADCBat; 8020e62: 4b91 ldr r3, [pc, #580] ; (80210a8 ) 8020e64: 681b ldr r3, [r3, #0] 8020e66: ee07 3a90 vmov s15, r3 8020e6a: eef8 7a67 vcvt.f32.u32 s15, s15 8020e6e: edc7 7a03 vstr s15, [r7, #12] f /= (float32_t) adc_cnt; 8020e72: 4b8e ldr r3, [pc, #568] ; (80210ac ) 8020e74: 881b ldrh r3, [r3, #0] 8020e76: b29b uxth r3, r3 8020e78: ee07 3a90 vmov s15, r3 8020e7c: eeb8 7a67 vcvt.f32.u32 s14, s15 8020e80: edd7 6a03 vldr s13, [r7, #12] 8020e84: eec6 7a87 vdiv.f32 s15, s13, s14 8020e88: edc7 7a03 vstr s15, [r7, #12] ADCBat = (uint32_t) (f + 0.5f); 8020e8c: edd7 7a03 vldr s15, [r7, #12] 8020e90: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8020e94: ee77 7a87 vadd.f32 s15, s15, s14 8020e98: eefc 7ae7 vcvt.u32.f32 s15, s15 8020e9c: ee17 2a90 vmov r2, s15 8020ea0: 4b81 ldr r3, [pc, #516] ; (80210a8 ) 8020ea2: 601a str r2, [r3, #0] ADCBat = MedVbat(ADCBat); 8020ea4: 4b80 ldr r3, [pc, #512] ; (80210a8 ) 8020ea6: 681b ldr r3, [r3, #0] 8020ea8: 4618 mov r0, r3 8020eaa: f000 fbef bl 802168c 8020eae: 4602 mov r2, r0 8020eb0: 4b7d ldr r3, [pc, #500] ; (80210a8 ) 8020eb2: 601a str r2, [r3, #0] f = (float32_t) ADCBat; 8020eb4: 4b7c ldr r3, [pc, #496] ; (80210a8 ) 8020eb6: 681b ldr r3, [r3, #0] 8020eb8: ee07 3a90 vmov s15, r3 8020ebc: eef8 7a67 vcvt.f32.u32 s15, s15 8020ec0: edc7 7a03 vstr s15, [r7, #12] f *= VBAT_MULT; 8020ec4: edd7 7a03 vldr s15, [r7, #12] 8020ec8: ed9f 7a7a vldr s14, [pc, #488] ; 80210b4 8020ecc: ee67 7a87 vmul.f32 s15, s15, s14 8020ed0: edc7 7a03 vstr s15, [r7, #12] if(clbr == false) 8020ed4: 4b78 ldr r3, [pc, #480] ; (80210b8 ) 8020ed6: 781b ldrb r3, [r3, #0] 8020ed8: b2db uxtb r3, r3 8020eda: f083 0301 eor.w r3, r3, #1 8020ede: b2db uxtb r3, r3 8020ee0: 2b00 cmp r3, #0 8020ee2: d011 beq.n 8020f08 { f = f * aa1; 8020ee4: 4b75 ldr r3, [pc, #468] ; (80210bc ) 8020ee6: edd3 7a00 vldr s15, [r3] 8020eea: ed97 7a03 vldr s14, [r7, #12] 8020eee: ee67 7a27 vmul.f32 s15, s14, s15 8020ef2: edc7 7a03 vstr s15, [r7, #12] f += aa0; 8020ef6: 4b72 ldr r3, [pc, #456] ; (80210c0 ) 8020ef8: edd3 7a00 vldr s15, [r3] 8020efc: ed97 7a03 vldr s14, [r7, #12] 8020f00: ee77 7a27 vadd.f32 s15, s14, s15 8020f04: edc7 7a03 vstr s15, [r7, #12] } f += 0.005f; 8020f08: edd7 7a03 vldr s15, [r7, #12] 8020f0c: ed9f 7a6d vldr s14, [pc, #436] ; 80210c4 8020f10: ee77 7a87 vadd.f32 s15, s15, s14 8020f14: edc7 7a03 vstr s15, [r7, #12] V32 = (int32_t) (f * 100); 8020f18: edd7 7a03 vldr s15, [r7, #12] 8020f1c: ed9f 7a6a vldr s14, [pc, #424] ; 80210c8 8020f20: ee67 7a87 vmul.f32 s15, s15, s14 8020f24: eefd 7ae7 vcvt.s32.f32 s15, s15 8020f28: ee17 3a90 vmov r3, s15 8020f2c: 607b str r3, [r7, #4] f = (float32_t) V32; 8020f2e: 687b ldr r3, [r7, #4] 8020f30: ee07 3a90 vmov s15, r3 8020f34: eef8 7ae7 vcvt.f32.s32 s15, s15 8020f38: edc7 7a03 vstr s15, [r7, #12] Vbat = f / 100 + 0.001f; 8020f3c: ed97 7a03 vldr s14, [r7, #12] 8020f40: eddf 6a61 vldr s13, [pc, #388] ; 80210c8 8020f44: eec7 7a26 vdiv.f32 s15, s14, s13 8020f48: ed9f 7a60 vldr s14, [pc, #384] ; 80210cc 8020f4c: ee77 7a87 vadd.f32 s15, s15, s14 8020f50: 4b5f ldr r3, [pc, #380] ; (80210d0 ) 8020f52: edc3 7a00 vstr s15, [r3] ADCBat = 0; 8020f56: 4b54 ldr r3, [pc, #336] ; (80210a8 ) 8020f58: 2200 movs r2, #0 8020f5a: 601a str r2, [r3, #0] adc_cnt = 0; 8020f5c: 4b53 ldr r3, [pc, #332] ; (80210ac ) 8020f5e: 2200 movs r2, #0 8020f60: 801a strh r2, [r3, #0] if(Vbat >= 3.80f) 8020f62: 4b5b ldr r3, [pc, #364] ; (80210d0 ) 8020f64: edd3 7a00 vldr s15, [r3] 8020f68: ed9f 7a5a vldr s14, [pc, #360] ; 80210d4 8020f6c: eef4 7ac7 vcmpe.f32 s15, s14 8020f70: eef1 fa10 vmrs APSR_nzcv, fpscr 8020f74: db23 blt.n 8020fbe { if((StateBattery != 0xf) && ((oldState == 0xf))) 8020f76: 4b58 ldr r3, [pc, #352] ; (80210d8 ) 8020f78: 781b ldrb r3, [r3, #0] 8020f7a: b2db uxtb r3, r3 8020f7c: 2b0f cmp r3, #15 8020f7e: d017 beq.n 8020fb0 8020f80: 4b56 ldr r3, [pc, #344] ; (80210dc ) 8020f82: 781b ldrb r3, [r3, #0] 8020f84: 2b0f cmp r3, #15 8020f86: d113 bne.n 8020fb0 { if(gystTimeout) 8020f88: 4b55 ldr r3, [pc, #340] ; (80210e0 ) 8020f8a: 781b ldrb r3, [r3, #0] 8020f8c: b2db uxtb r3, r3 8020f8e: 2b00 cmp r3, #0 8020f90: d007 beq.n 8020fa2 gystTimeout--; 8020f92: 4b53 ldr r3, [pc, #332] ; (80210e0 ) 8020f94: 781b ldrb r3, [r3, #0] 8020f96: b2db uxtb r3, r3 8020f98: 3b01 subs r3, #1 8020f9a: b2da uxtb r2, r3 8020f9c: 4b50 ldr r3, [pc, #320] ; (80210e0 ) 8020f9e: 701a strb r2, [r3, #0] if(gystTimeout) 8020fa0: e009 b.n 8020fb6 else { StateBattery = 0xf; 8020fa2: 4b4d ldr r3, [pc, #308] ; (80210d8 ) 8020fa4: 220f movs r2, #15 8020fa6: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 8020fa8: 4b4d ldr r3, [pc, #308] ; (80210e0 ) 8020faa: 2201 movs r2, #1 8020fac: 701a strb r2, [r3, #0] if(gystTimeout) 8020fae: e002 b.n 8020fb6 } } else gystTimeout = TIMEOUT_GYST_VALUE; 8020fb0: 4b4b ldr r3, [pc, #300] ; (80210e0 ) 8020fb2: 2201 movs r2, #1 8020fb4: 701a strb r2, [r3, #0] oldState = 0xf; 8020fb6: 4b49 ldr r3, [pc, #292] ; (80210dc ) 8020fb8: 220f movs r2, #15 8020fba: 701a strb r2, [r3, #0] 8020fbc: e12b b.n 8021216 } else if((Vbat >= 3.65f) && (Vbat < 3.80f)) 8020fbe: 4b44 ldr r3, [pc, #272] ; (80210d0 ) 8020fc0: edd3 7a00 vldr s15, [r3] 8020fc4: ed9f 7a47 vldr s14, [pc, #284] ; 80210e4 8020fc8: eef4 7ac7 vcmpe.f32 s15, s14 8020fcc: eef1 fa10 vmrs APSR_nzcv, fpscr 8020fd0: db2d blt.n 802102e 8020fd2: 4b3f ldr r3, [pc, #252] ; (80210d0 ) 8020fd4: edd3 7a00 vldr s15, [r3] 8020fd8: ed9f 7a3e vldr s14, [pc, #248] ; 80210d4 8020fdc: eef4 7ac7 vcmpe.f32 s15, s14 8020fe0: eef1 fa10 vmrs APSR_nzcv, fpscr 8020fe4: d523 bpl.n 802102e { if((StateBattery != 0x7) && ((oldState == 0x7))) 8020fe6: 4b3c ldr r3, [pc, #240] ; (80210d8 ) 8020fe8: 781b ldrb r3, [r3, #0] 8020fea: b2db uxtb r3, r3 8020fec: 2b07 cmp r3, #7 8020fee: d017 beq.n 8021020 8020ff0: 4b3a ldr r3, [pc, #232] ; (80210dc ) 8020ff2: 781b ldrb r3, [r3, #0] 8020ff4: 2b07 cmp r3, #7 8020ff6: d113 bne.n 8021020 { if(gystTimeout) 8020ff8: 4b39 ldr r3, [pc, #228] ; (80210e0 ) 8020ffa: 781b ldrb r3, [r3, #0] 8020ffc: b2db uxtb r3, r3 8020ffe: 2b00 cmp r3, #0 8021000: d007 beq.n 8021012 gystTimeout--; 8021002: 4b37 ldr r3, [pc, #220] ; (80210e0 ) 8021004: 781b ldrb r3, [r3, #0] 8021006: b2db uxtb r3, r3 8021008: 3b01 subs r3, #1 802100a: b2da uxtb r2, r3 802100c: 4b34 ldr r3, [pc, #208] ; (80210e0 ) 802100e: 701a strb r2, [r3, #0] if(gystTimeout) 8021010: e009 b.n 8021026 else { StateBattery = 0x7; 8021012: 4b31 ldr r3, [pc, #196] ; (80210d8 ) 8021014: 2207 movs r2, #7 8021016: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 8021018: 4b31 ldr r3, [pc, #196] ; (80210e0 ) 802101a: 2201 movs r2, #1 802101c: 701a strb r2, [r3, #0] if(gystTimeout) 802101e: e002 b.n 8021026 } } else gystTimeout = TIMEOUT_GYST_VALUE; 8021020: 4b2f ldr r3, [pc, #188] ; (80210e0 ) 8021022: 2201 movs r2, #1 8021024: 701a strb r2, [r3, #0] oldState = 0x7; 8021026: 4b2d ldr r3, [pc, #180] ; (80210dc ) 8021028: 2207 movs r2, #7 802102a: 701a strb r2, [r3, #0] 802102c: e0f3 b.n 8021216 } else if((Vbat >= 3.50f) && (Vbat < 3.65f)) 802102e: 4b28 ldr r3, [pc, #160] ; (80210d0 ) 8021030: edd3 7a00 vldr s15, [r3] 8021034: eeb0 7a0c vmov.f32 s14, #12 ; 0x40600000 3.5 8021038: eef4 7ac7 vcmpe.f32 s15, s14 802103c: eef1 fa10 vmrs APSR_nzcv, fpscr 8021040: db52 blt.n 80210e8 8021042: 4b23 ldr r3, [pc, #140] ; (80210d0 ) 8021044: edd3 7a00 vldr s15, [r3] 8021048: ed9f 7a26 vldr s14, [pc, #152] ; 80210e4 802104c: eef4 7ac7 vcmpe.f32 s15, s14 8021050: eef1 fa10 vmrs APSR_nzcv, fpscr 8021054: d548 bpl.n 80210e8 { if((StateBattery != 0x3) && ((oldState == 0x3))) 8021056: 4b20 ldr r3, [pc, #128] ; (80210d8 ) 8021058: 781b ldrb r3, [r3, #0] 802105a: b2db uxtb r3, r3 802105c: 2b03 cmp r3, #3 802105e: d017 beq.n 8021090 8021060: 4b1e ldr r3, [pc, #120] ; (80210dc ) 8021062: 781b ldrb r3, [r3, #0] 8021064: 2b03 cmp r3, #3 8021066: d113 bne.n 8021090 { if(gystTimeout) 8021068: 4b1d ldr r3, [pc, #116] ; (80210e0 ) 802106a: 781b ldrb r3, [r3, #0] 802106c: b2db uxtb r3, r3 802106e: 2b00 cmp r3, #0 8021070: d007 beq.n 8021082 gystTimeout--; 8021072: 4b1b ldr r3, [pc, #108] ; (80210e0 ) 8021074: 781b ldrb r3, [r3, #0] 8021076: b2db uxtb r3, r3 8021078: 3b01 subs r3, #1 802107a: b2da uxtb r2, r3 802107c: 4b18 ldr r3, [pc, #96] ; (80210e0 ) 802107e: 701a strb r2, [r3, #0] if(gystTimeout) 8021080: e009 b.n 8021096 else { StateBattery = 0x3; 8021082: 4b15 ldr r3, [pc, #84] ; (80210d8 ) 8021084: 2203 movs r2, #3 8021086: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 8021088: 4b15 ldr r3, [pc, #84] ; (80210e0 ) 802108a: 2201 movs r2, #1 802108c: 701a strb r2, [r3, #0] if(gystTimeout) 802108e: e002 b.n 8021096 } } else gystTimeout = TIMEOUT_GYST_VALUE; 8021090: 4b13 ldr r3, [pc, #76] ; (80210e0 ) 8021092: 2201 movs r2, #1 8021094: 701a strb r2, [r3, #0] oldState = 0x3; 8021096: 4b11 ldr r3, [pc, #68] ; (80210dc ) 8021098: 2203 movs r2, #3 802109a: 701a strb r2, [r3, #0] 802109c: e0bb b.n 8021216 802109e: bf00 nop 80210a0: 20020d4a .word 0x20020d4a 80210a4: 20021b30 .word 0x20021b30 80210a8: 20020d3c .word 0x20020d3c 80210ac: 20020d40 .word 0x20020d40 80210b0: 200209c8 .word 0x200209c8 80210b4: 3a993e15 .word 0x3a993e15 80210b8: 20020f68 .word 0x20020f68 80210bc: 20020024 .word 0x20020024 80210c0: 20020d4c .word 0x20020d4c 80210c4: 3ba3d70a .word 0x3ba3d70a 80210c8: 42c80000 .word 0x42c80000 80210cc: 3a83126f .word 0x3a83126f 80210d0: 20020000 .word 0x20020000 80210d4: 40733333 .word 0x40733333 80210d8: 20020008 .word 0x20020008 80210dc: 20020028 .word 0x20020028 80210e0: 20020021 .word 0x20020021 80210e4: 4069999a .word 0x4069999a } else if((Vbat >= 3.35f) && (Vbat < 3.50f)) 80210e8: 4bb9 ldr r3, [pc, #740] ; (80213d0 ) 80210ea: edd3 7a00 vldr s15, [r3] 80210ee: ed9f 7ab9 vldr s14, [pc, #740] ; 80213d4 80210f2: eef4 7ac7 vcmpe.f32 s15, s14 80210f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80210fa: db2d blt.n 8021158 80210fc: 4bb4 ldr r3, [pc, #720] ; (80213d0 ) 80210fe: edd3 7a00 vldr s15, [r3] 8021102: eeb0 7a0c vmov.f32 s14, #12 ; 0x40600000 3.5 8021106: eef4 7ac7 vcmpe.f32 s15, s14 802110a: eef1 fa10 vmrs APSR_nzcv, fpscr 802110e: d523 bpl.n 8021158 { if((StateBattery != 0x1) && ((oldState == 0x1))) 8021110: 4bb1 ldr r3, [pc, #708] ; (80213d8 ) 8021112: 781b ldrb r3, [r3, #0] 8021114: b2db uxtb r3, r3 8021116: 2b01 cmp r3, #1 8021118: d017 beq.n 802114a 802111a: 4bb0 ldr r3, [pc, #704] ; (80213dc ) 802111c: 781b ldrb r3, [r3, #0] 802111e: 2b01 cmp r3, #1 8021120: d113 bne.n 802114a { if(gystTimeout) 8021122: 4baf ldr r3, [pc, #700] ; (80213e0 ) 8021124: 781b ldrb r3, [r3, #0] 8021126: b2db uxtb r3, r3 8021128: 2b00 cmp r3, #0 802112a: d007 beq.n 802113c gystTimeout--; 802112c: 4bac ldr r3, [pc, #688] ; (80213e0 ) 802112e: 781b ldrb r3, [r3, #0] 8021130: b2db uxtb r3, r3 8021132: 3b01 subs r3, #1 8021134: b2da uxtb r2, r3 8021136: 4baa ldr r3, [pc, #680] ; (80213e0 ) 8021138: 701a strb r2, [r3, #0] if(gystTimeout) 802113a: e009 b.n 8021150 else { StateBattery = 0x1; 802113c: 4ba6 ldr r3, [pc, #664] ; (80213d8 ) 802113e: 2201 movs r2, #1 8021140: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 8021142: 4ba7 ldr r3, [pc, #668] ; (80213e0 ) 8021144: 2201 movs r2, #1 8021146: 701a strb r2, [r3, #0] if(gystTimeout) 8021148: e002 b.n 8021150 } } else gystTimeout = TIMEOUT_GYST_VALUE; 802114a: 4ba5 ldr r3, [pc, #660] ; (80213e0 ) 802114c: 2201 movs r2, #1 802114e: 701a strb r2, [r3, #0] oldState = 0x1; 8021150: 4ba2 ldr r3, [pc, #648] ; (80213dc ) 8021152: 2201 movs r2, #1 8021154: 701a strb r2, [r3, #0] 8021156: e05e b.n 8021216 } else if(Vbat < 3.35f) 8021158: 4b9d ldr r3, [pc, #628] ; (80213d0 ) 802115a: edd3 7a00 vldr s15, [r3] 802115e: ed9f 7a9d vldr s14, [pc, #628] ; 80213d4 8021162: eef4 7ac7 vcmpe.f32 s15, s14 8021166: eef1 fa10 vmrs APSR_nzcv, fpscr 802116a: d554 bpl.n 8021216 { if((StateBattery != 0) && ((oldState == 0))) 802116c: 4b9a ldr r3, [pc, #616] ; (80213d8 ) 802116e: 781b ldrb r3, [r3, #0] 8021170: b2db uxtb r3, r3 8021172: 2b00 cmp r3, #0 8021174: d047 beq.n 8021206 8021176: 4b99 ldr r3, [pc, #612] ; (80213dc ) 8021178: 781b ldrb r3, [r3, #0] 802117a: 2b00 cmp r3, #0 802117c: d143 bne.n 8021206 { if(gystTimeout) 802117e: 4b98 ldr r3, [pc, #608] ; (80213e0 ) 8021180: 781b ldrb r3, [r3, #0] 8021182: b2db uxtb r3, r3 8021184: 2b00 cmp r3, #0 8021186: d007 beq.n 8021198 gystTimeout--; 8021188: 4b95 ldr r3, [pc, #596] ; (80213e0 ) 802118a: 781b ldrb r3, [r3, #0] 802118c: b2db uxtb r3, r3 802118e: 3b01 subs r3, #1 8021190: b2da uxtb r2, r3 8021192: 4b93 ldr r3, [pc, #588] ; (80213e0 ) 8021194: 701a strb r2, [r3, #0] if(gystTimeout) 8021196: e03a b.n 802120e else { StateBattery = 0; 8021198: 4b8f ldr r3, [pc, #572] ; (80213d8 ) 802119a: 2200 movs r2, #0 802119c: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; 802119e: 4b90 ldr r3, [pc, #576] ; (80213e0 ) 80211a0: 2201 movs r2, #1 80211a2: 701a strb r2, [r3, #0] if(!ChargerIsConnect) 80211a4: 4b8f ldr r3, [pc, #572] ; (80213e4 ) 80211a6: 781b ldrb r3, [r3, #0] 80211a8: b2db uxtb r3, r3 80211aa: f083 0301 eor.w r3, r3, #1 80211ae: b2db uxtb r3, r3 80211b0: 2b00 cmp r3, #0 80211b2: d02c beq.n 802120e { NeedOff = true; 80211b4: 4b8c ldr r3, [pc, #560] ; (80213e8 ) 80211b6: 2201 movs r2, #1 80211b8: 701a strb r2, [r3, #0] menu = LOW_BAT; 80211ba: 4b8c ldr r3, [pc, #560] ; (80213ec ) 80211bc: 2248 movs r2, #72 ; 0x48 80211be: 701a strb r2, [r3, #0] SCB_CleanInvalidateDCache(); 80211c0: f7ff fb9c bl 80208fc Display(); 80211c4: f047 f8a0 bl 8068308 HAL_Delay(100); 80211c8: 2064 movs r0, #100 ; 0x64 80211ca: f092 f85d bl 80b3288 SCB_CleanInvalidateDCache(); 80211ce: f7ff fb95 bl 80208fc Display(); 80211d2: f047 f899 bl 8068308 HAL_Delay(100); 80211d6: 2064 movs r0, #100 ; 0x64 80211d8: f092 f856 bl 80b3288 SCB_CleanInvalidateDCache(); 80211dc: f7ff fb8e bl 80208fc Display(); 80211e0: f047 f892 bl 8068308 HAL_Delay(100); 80211e4: 2064 movs r0, #100 ; 0x64 80211e6: f092 f84f bl 80b3288 SCB_CleanInvalidateDCache(); 80211ea: f7ff fb87 bl 80208fc Display(); 80211ee: f047 f88b bl 8068308 HAL_Delay(200); 80211f2: 20c8 movs r0, #200 ; 0xc8 80211f4: f092 f848 bl 80b3288 Display(); 80211f8: f047 f886 bl 8068308 HAL_Delay(3000); 80211fc: f640 30b8 movw r0, #3000 ; 0xbb8 8021200: f092 f842 bl 80b3288 if(gystTimeout) 8021204: e003 b.n 802120e } } } else gystTimeout = TIMEOUT_GYST_VALUE; 8021206: 4b76 ldr r3, [pc, #472] ; (80213e0 ) 8021208: 2201 movs r2, #1 802120a: 701a strb r2, [r3, #0] 802120c: e000 b.n 8021210 if(gystTimeout) 802120e: bf00 nop oldState = 0; 8021210: 4b72 ldr r3, [pc, #456] ; (80213dc ) 8021212: 2200 movs r2, #0 8021214: 701a strb r2, [r3, #0] } gystVbat = VBAT_GYST_VALUE; 8021216: 4b76 ldr r3, [pc, #472] ; (80213f0 ) 8021218: 220f movs r2, #15 802121a: 701a strb r2, [r3, #0] gystTimeout = TIMEOUT_GYST_VALUE; } } } } 802121c: e219 b.n 8021652 if(adc_cnt >= 4) // 256 times --> 1 sec 802121e: 4b75 ldr r3, [pc, #468] ; (80213f4 ) 8021220: 881b ldrh r3, [r3, #0] 8021222: b29b uxth r3, r3 8021224: 2b03 cmp r3, #3 8021226: f240 8214 bls.w 8021652 f = (float32_t) ADCBat; 802122a: 4b73 ldr r3, [pc, #460] ; (80213f8 ) 802122c: 681b ldr r3, [r3, #0] 802122e: ee07 3a90 vmov s15, r3 8021232: eef8 7a67 vcvt.f32.u32 s15, s15 8021236: edc7 7a03 vstr s15, [r7, #12] f /= (float32_t) adc_cnt; 802123a: 4b6e ldr r3, [pc, #440] ; (80213f4 ) 802123c: 881b ldrh r3, [r3, #0] 802123e: b29b uxth r3, r3 8021240: ee07 3a90 vmov s15, r3 8021244: eeb8 7a67 vcvt.f32.u32 s14, s15 8021248: edd7 6a03 vldr s13, [r7, #12] 802124c: eec6 7a87 vdiv.f32 s15, s13, s14 8021250: edc7 7a03 vstr s15, [r7, #12] ADCBat = (uint32_t) (f + 0.5f); 8021254: edd7 7a03 vldr s15, [r7, #12] 8021258: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802125c: ee77 7a87 vadd.f32 s15, s15, s14 8021260: eefc 7ae7 vcvt.u32.f32 s15, s15 8021264: ee17 2a90 vmov r2, s15 8021268: 4b63 ldr r3, [pc, #396] ; (80213f8 ) 802126a: 601a str r2, [r3, #0] f = (float32_t) ADCBat; 802126c: 4b62 ldr r3, [pc, #392] ; (80213f8 ) 802126e: 681b ldr r3, [r3, #0] 8021270: ee07 3a90 vmov s15, r3 8021274: eef8 7a67 vcvt.f32.u32 s15, s15 8021278: edc7 7a03 vstr s15, [r7, #12] f *= VBAT_MULT; 802127c: edd7 7a03 vldr s15, [r7, #12] 8021280: ed9f 7a5e vldr s14, [pc, #376] ; 80213fc 8021284: ee67 7a87 vmul.f32 s15, s15, s14 8021288: edc7 7a03 vstr s15, [r7, #12] if(clbr == false) 802128c: 4b5c ldr r3, [pc, #368] ; (8021400 ) 802128e: 781b ldrb r3, [r3, #0] 8021290: b2db uxtb r3, r3 8021292: f083 0301 eor.w r3, r3, #1 8021296: b2db uxtb r3, r3 8021298: 2b00 cmp r3, #0 802129a: d011 beq.n 80212c0 f = f * aa1; 802129c: 4b59 ldr r3, [pc, #356] ; (8021404 ) 802129e: edd3 7a00 vldr s15, [r3] 80212a2: ed97 7a03 vldr s14, [r7, #12] 80212a6: ee67 7a27 vmul.f32 s15, s14, s15 80212aa: edc7 7a03 vstr s15, [r7, #12] f += aa0; 80212ae: 4b56 ldr r3, [pc, #344] ; (8021408 ) 80212b0: edd3 7a00 vldr s15, [r3] 80212b4: ed97 7a03 vldr s14, [r7, #12] 80212b8: ee77 7a27 vadd.f32 s15, s14, s15 80212bc: edc7 7a03 vstr s15, [r7, #12] f += 0.005f; 80212c0: edd7 7a03 vldr s15, [r7, #12] 80212c4: ed9f 7a51 vldr s14, [pc, #324] ; 802140c 80212c8: ee77 7a87 vadd.f32 s15, s15, s14 80212cc: edc7 7a03 vstr s15, [r7, #12] V32 = (int32_t) (f * 100); 80212d0: edd7 7a03 vldr s15, [r7, #12] 80212d4: ed9f 7a4e vldr s14, [pc, #312] ; 8021410 80212d8: ee67 7a87 vmul.f32 s15, s15, s14 80212dc: eefd 7ae7 vcvt.s32.f32 s15, s15 80212e0: ee17 3a90 vmov r3, s15 80212e4: 607b str r3, [r7, #4] f = (float32_t) V32; 80212e6: 687b ldr r3, [r7, #4] 80212e8: ee07 3a90 vmov s15, r3 80212ec: eef8 7ae7 vcvt.f32.s32 s15, s15 80212f0: edc7 7a03 vstr s15, [r7, #12] Vbat = f / 100 + 0.001f; 80212f4: ed97 7a03 vldr s14, [r7, #12] 80212f8: eddf 6a45 vldr s13, [pc, #276] ; 8021410 80212fc: eec7 7a26 vdiv.f32 s15, s14, s13 8021300: ed9f 7a44 vldr s14, [pc, #272] ; 8021414 8021304: ee77 7a87 vadd.f32 s15, s15, s14 8021308: 4b31 ldr r3, [pc, #196] ; (80213d0 ) 802130a: edc3 7a00 vstr s15, [r3] ADCBat = 0; 802130e: 4b3a ldr r3, [pc, #232] ; (80213f8 ) 8021310: 2200 movs r2, #0 8021312: 601a str r2, [r3, #0] adc_cnt = 0; 8021314: 4b37 ldr r3, [pc, #220] ; (80213f4 ) 8021316: 2200 movs r2, #0 8021318: 801a strh r2, [r3, #0] if(ChargerIsConnect) //if charger is connected 802131a: 4b32 ldr r3, [pc, #200] ; (80213e4 ) 802131c: 781b ldrb r3, [r3, #0] 802131e: b2db uxtb r3, r3 8021320: 2b00 cmp r3, #0 8021322: d027 beq.n 8021374 oldVbat = Vbat; 8021324: 4b2a ldr r3, [pc, #168] ; (80213d0 ) 8021326: 681b ldr r3, [r3, #0] 8021328: 4a3b ldr r2, [pc, #236] ; (8021418 ) 802132a: 6013 str r3, [r2, #0] if(HAL_GPIO_ReadPin(BAT_Z_GPIO_Port, BAT_Z_Pin) == GPIO_PIN_SET) // Åñëè çàðÿæåí 802132c: 2110 movs r1, #16 802132e: 483b ldr r0, [pc, #236] ; (802141c ) 8021330: f094 fc42 bl 80b5bb8 8021334: 4603 mov r3, r0 8021336: 2b01 cmp r3, #1 8021338: d110 bne.n 802135c if(cntVbat < 10) 802133a: 4b39 ldr r3, [pc, #228] ; (8021420 ) 802133c: 681b ldr r3, [r3, #0] 802133e: 2b09 cmp r3, #9 8021340: d805 bhi.n 802134e cntVbat++; 8021342: 4b37 ldr r3, [pc, #220] ; (8021420 ) 8021344: 681b ldr r3, [r3, #0] 8021346: 3301 adds r3, #1 8021348: 4a35 ldr r2, [pc, #212] ; (8021420 ) 802134a: 6013 str r3, [r2, #0] 802134c: e17e b.n 802164c StateBattery = 0x1f; 802134e: 4b22 ldr r3, [pc, #136] ; (80213d8 ) 8021350: 221f movs r2, #31 8021352: 701a strb r2, [r3, #0] oldState = 0x1f; 8021354: 4b21 ldr r3, [pc, #132] ; (80213dc ) 8021356: 221f movs r2, #31 8021358: 701a strb r2, [r3, #0] 802135a: e177 b.n 802164c cntVbat = 0; 802135c: 4b30 ldr r3, [pc, #192] ; (8021420 ) 802135e: 2200 movs r2, #0 8021360: 601a str r2, [r3, #0] StateBattery = 0xf; 8021362: 4b1d ldr r3, [pc, #116] ; (80213d8 ) 8021364: 220f movs r2, #15 8021366: 701a strb r2, [r3, #0] oldState = StateBattery; 8021368: 4b1b ldr r3, [pc, #108] ; (80213d8 ) 802136a: 781b ldrb r3, [r3, #0] 802136c: b2da uxtb r2, r3 802136e: 4b1b ldr r3, [pc, #108] ; (80213dc ) 8021370: 701a strb r2, [r3, #0] 8021372: e16b b.n 802164c if(Vbat >= 3.80f) 8021374: 4b16 ldr r3, [pc, #88] ; (80213d0 ) 8021376: edd3 7a00 vldr s15, [r3] 802137a: ed9f 7a2a vldr s14, [pc, #168] ; 8021424 802137e: eef4 7ac7 vcmpe.f32 s15, s14 8021382: eef1 fa10 vmrs APSR_nzcv, fpscr 8021386: db4f blt.n 8021428 if((StateBattery != 0xf) && ((oldState == 0xf))) 8021388: 4b13 ldr r3, [pc, #76] ; (80213d8 ) 802138a: 781b ldrb r3, [r3, #0] 802138c: b2db uxtb r3, r3 802138e: 2b0f cmp r3, #15 8021390: d017 beq.n 80213c2 8021392: 4b12 ldr r3, [pc, #72] ; (80213dc ) 8021394: 781b ldrb r3, [r3, #0] 8021396: 2b0f cmp r3, #15 8021398: d113 bne.n 80213c2 if(gystVbat) 802139a: 4b15 ldr r3, [pc, #84] ; (80213f0 ) 802139c: 781b ldrb r3, [r3, #0] 802139e: b2db uxtb r3, r3 80213a0: 2b00 cmp r3, #0 80213a2: d007 beq.n 80213b4 gystVbat--; 80213a4: 4b12 ldr r3, [pc, #72] ; (80213f0 ) 80213a6: 781b ldrb r3, [r3, #0] 80213a8: b2db uxtb r3, r3 80213aa: 3b01 subs r3, #1 80213ac: b2da uxtb r2, r3 80213ae: 4b10 ldr r3, [pc, #64] ; (80213f0 ) 80213b0: 701a strb r2, [r3, #0] if(gystVbat) 80213b2: e009 b.n 80213c8 StateBattery = 0xf; 80213b4: 4b08 ldr r3, [pc, #32] ; (80213d8 ) 80213b6: 220f movs r2, #15 80213b8: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 80213ba: 4b0d ldr r3, [pc, #52] ; (80213f0 ) 80213bc: 220f movs r2, #15 80213be: 701a strb r2, [r3, #0] if(gystVbat) 80213c0: e002 b.n 80213c8 gystVbat = VBAT_GYST_VALUE; 80213c2: 4b0b ldr r3, [pc, #44] ; (80213f0 ) 80213c4: 220f movs r2, #15 80213c6: 701a strb r2, [r3, #0] oldState = 0xf; 80213c8: 4b04 ldr r3, [pc, #16] ; (80213dc ) 80213ca: 220f movs r2, #15 80213cc: 701a strb r2, [r3, #0] 80213ce: e100 b.n 80215d2 80213d0: 20020000 .word 0x20020000 80213d4: 40566666 .word 0x40566666 80213d8: 20020008 .word 0x20020008 80213dc: 20020028 .word 0x20020028 80213e0: 20020021 .word 0x20020021 80213e4: 20021b22 .word 0x20021b22 80213e8: 20020f75 .word 0x20020f75 80213ec: 20020f78 .word 0x20020f78 80213f0: 20020020 .word 0x20020020 80213f4: 20020d40 .word 0x20020d40 80213f8: 20020d3c .word 0x20020d3c 80213fc: 3a993e15 .word 0x3a993e15 8021400: 20020f68 .word 0x20020f68 8021404: 20020024 .word 0x20020024 8021408: 20020d4c .word 0x20020d4c 802140c: 3ba3d70a .word 0x3ba3d70a 8021410: 42c80000 .word 0x42c80000 8021414: 3a83126f .word 0x3a83126f 8021418: 20020004 .word 0x20020004 802141c: 40020800 .word 0x40020800 8021420: 20020d44 .word 0x20020d44 8021424: 40733333 .word 0x40733333 if((Vbat >= 3.65f) && (Vbat < 3.80f)) 8021428: 4b8c ldr r3, [pc, #560] ; (802165c ) 802142a: edd3 7a00 vldr s15, [r3] 802142e: ed9f 7a8c vldr s14, [pc, #560] ; 8021660 8021432: eef4 7ac7 vcmpe.f32 s15, s14 8021436: eef1 fa10 vmrs APSR_nzcv, fpscr 802143a: db2d blt.n 8021498 802143c: 4b87 ldr r3, [pc, #540] ; (802165c ) 802143e: edd3 7a00 vldr s15, [r3] 8021442: ed9f 7a88 vldr s14, [pc, #544] ; 8021664 8021446: eef4 7ac7 vcmpe.f32 s15, s14 802144a: eef1 fa10 vmrs APSR_nzcv, fpscr 802144e: d523 bpl.n 8021498 if((StateBattery != 0x7) && ((oldState == 0x7))) 8021450: 4b85 ldr r3, [pc, #532] ; (8021668 ) 8021452: 781b ldrb r3, [r3, #0] 8021454: b2db uxtb r3, r3 8021456: 2b07 cmp r3, #7 8021458: d017 beq.n 802148a 802145a: 4b84 ldr r3, [pc, #528] ; (802166c ) 802145c: 781b ldrb r3, [r3, #0] 802145e: 2b07 cmp r3, #7 8021460: d113 bne.n 802148a if(gystVbat) 8021462: 4b83 ldr r3, [pc, #524] ; (8021670 ) 8021464: 781b ldrb r3, [r3, #0] 8021466: b2db uxtb r3, r3 8021468: 2b00 cmp r3, #0 802146a: d007 beq.n 802147c gystVbat--; 802146c: 4b80 ldr r3, [pc, #512] ; (8021670 ) 802146e: 781b ldrb r3, [r3, #0] 8021470: b2db uxtb r3, r3 8021472: 3b01 subs r3, #1 8021474: b2da uxtb r2, r3 8021476: 4b7e ldr r3, [pc, #504] ; (8021670 ) 8021478: 701a strb r2, [r3, #0] if(gystVbat) 802147a: e009 b.n 8021490 StateBattery = 0x7; 802147c: 4b7a ldr r3, [pc, #488] ; (8021668 ) 802147e: 2207 movs r2, #7 8021480: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 8021482: 4b7b ldr r3, [pc, #492] ; (8021670 ) 8021484: 220f movs r2, #15 8021486: 701a strb r2, [r3, #0] if(gystVbat) 8021488: e002 b.n 8021490 gystVbat = VBAT_GYST_VALUE; 802148a: 4b79 ldr r3, [pc, #484] ; (8021670 ) 802148c: 220f movs r2, #15 802148e: 701a strb r2, [r3, #0] oldState = 0x7; 8021490: 4b76 ldr r3, [pc, #472] ; (802166c ) 8021492: 2207 movs r2, #7 8021494: 701a strb r2, [r3, #0] 8021496: e09c b.n 80215d2 if((Vbat >= 3.5f) && (Vbat < 3.65f)) 8021498: 4b70 ldr r3, [pc, #448] ; (802165c ) 802149a: edd3 7a00 vldr s15, [r3] 802149e: eeb0 7a0c vmov.f32 s14, #12 ; 0x40600000 3.5 80214a2: eef4 7ac7 vcmpe.f32 s15, s14 80214a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80214aa: db2d blt.n 8021508 80214ac: 4b6b ldr r3, [pc, #428] ; (802165c ) 80214ae: edd3 7a00 vldr s15, [r3] 80214b2: ed9f 7a6b vldr s14, [pc, #428] ; 8021660 80214b6: eef4 7ac7 vcmpe.f32 s15, s14 80214ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80214be: d523 bpl.n 8021508 if((StateBattery != 0x3) && ((oldState == 0x3))) 80214c0: 4b69 ldr r3, [pc, #420] ; (8021668 ) 80214c2: 781b ldrb r3, [r3, #0] 80214c4: b2db uxtb r3, r3 80214c6: 2b03 cmp r3, #3 80214c8: d017 beq.n 80214fa 80214ca: 4b68 ldr r3, [pc, #416] ; (802166c ) 80214cc: 781b ldrb r3, [r3, #0] 80214ce: 2b03 cmp r3, #3 80214d0: d113 bne.n 80214fa if(gystVbat) 80214d2: 4b67 ldr r3, [pc, #412] ; (8021670 ) 80214d4: 781b ldrb r3, [r3, #0] 80214d6: b2db uxtb r3, r3 80214d8: 2b00 cmp r3, #0 80214da: d007 beq.n 80214ec gystVbat--; 80214dc: 4b64 ldr r3, [pc, #400] ; (8021670 ) 80214de: 781b ldrb r3, [r3, #0] 80214e0: b2db uxtb r3, r3 80214e2: 3b01 subs r3, #1 80214e4: b2da uxtb r2, r3 80214e6: 4b62 ldr r3, [pc, #392] ; (8021670 ) 80214e8: 701a strb r2, [r3, #0] if(gystVbat) 80214ea: e009 b.n 8021500 StateBattery = 0x3; 80214ec: 4b5e ldr r3, [pc, #376] ; (8021668 ) 80214ee: 2203 movs r2, #3 80214f0: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 80214f2: 4b5f ldr r3, [pc, #380] ; (8021670 ) 80214f4: 220f movs r2, #15 80214f6: 701a strb r2, [r3, #0] if(gystVbat) 80214f8: e002 b.n 8021500 gystVbat = VBAT_GYST_VALUE; 80214fa: 4b5d ldr r3, [pc, #372] ; (8021670 ) 80214fc: 220f movs r2, #15 80214fe: 701a strb r2, [r3, #0] oldState = 0x3; 8021500: 4b5a ldr r3, [pc, #360] ; (802166c ) 8021502: 2203 movs r2, #3 8021504: 701a strb r2, [r3, #0] 8021506: e064 b.n 80215d2 if((Vbat >= 3.35f) && (Vbat < 3.50f)) 8021508: 4b54 ldr r3, [pc, #336] ; (802165c ) 802150a: edd3 7a00 vldr s15, [r3] 802150e: ed9f 7a59 vldr s14, [pc, #356] ; 8021674 8021512: eef4 7ac7 vcmpe.f32 s15, s14 8021516: eef1 fa10 vmrs APSR_nzcv, fpscr 802151a: db2d blt.n 8021578 802151c: 4b4f ldr r3, [pc, #316] ; (802165c ) 802151e: edd3 7a00 vldr s15, [r3] 8021522: eeb0 7a0c vmov.f32 s14, #12 ; 0x40600000 3.5 8021526: eef4 7ac7 vcmpe.f32 s15, s14 802152a: eef1 fa10 vmrs APSR_nzcv, fpscr 802152e: d523 bpl.n 8021578 if((StateBattery != 0x1) && ((oldState == 0x1))) 8021530: 4b4d ldr r3, [pc, #308] ; (8021668 ) 8021532: 781b ldrb r3, [r3, #0] 8021534: b2db uxtb r3, r3 8021536: 2b01 cmp r3, #1 8021538: d017 beq.n 802156a 802153a: 4b4c ldr r3, [pc, #304] ; (802166c ) 802153c: 781b ldrb r3, [r3, #0] 802153e: 2b01 cmp r3, #1 8021540: d113 bne.n 802156a if(gystVbat) 8021542: 4b4b ldr r3, [pc, #300] ; (8021670 ) 8021544: 781b ldrb r3, [r3, #0] 8021546: b2db uxtb r3, r3 8021548: 2b00 cmp r3, #0 802154a: d007 beq.n 802155c gystVbat--; 802154c: 4b48 ldr r3, [pc, #288] ; (8021670 ) 802154e: 781b ldrb r3, [r3, #0] 8021550: b2db uxtb r3, r3 8021552: 3b01 subs r3, #1 8021554: b2da uxtb r2, r3 8021556: 4b46 ldr r3, [pc, #280] ; (8021670 ) 8021558: 701a strb r2, [r3, #0] if(gystVbat) 802155a: e009 b.n 8021570 StateBattery = 0x1; 802155c: 4b42 ldr r3, [pc, #264] ; (8021668 ) 802155e: 2201 movs r2, #1 8021560: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 8021562: 4b43 ldr r3, [pc, #268] ; (8021670 ) 8021564: 220f movs r2, #15 8021566: 701a strb r2, [r3, #0] if(gystVbat) 8021568: e002 b.n 8021570 gystVbat = VBAT_GYST_VALUE; 802156a: 4b41 ldr r3, [pc, #260] ; (8021670 ) 802156c: 220f movs r2, #15 802156e: 701a strb r2, [r3, #0] oldState = 0x1; 8021570: 4b3e ldr r3, [pc, #248] ; (802166c ) 8021572: 2201 movs r2, #1 8021574: 701a strb r2, [r3, #0] 8021576: e02c b.n 80215d2 if(Vbat < 3.35f) 8021578: 4b38 ldr r3, [pc, #224] ; (802165c ) 802157a: edd3 7a00 vldr s15, [r3] 802157e: ed9f 7a3d vldr s14, [pc, #244] ; 8021674 8021582: eef4 7ac7 vcmpe.f32 s15, s14 8021586: eef1 fa10 vmrs APSR_nzcv, fpscr 802158a: d522 bpl.n 80215d2 if((StateBattery != 0) && ((oldState == 0))) 802158c: 4b36 ldr r3, [pc, #216] ; (8021668 ) 802158e: 781b ldrb r3, [r3, #0] 8021590: b2db uxtb r3, r3 8021592: 2b00 cmp r3, #0 8021594: d017 beq.n 80215c6 8021596: 4b35 ldr r3, [pc, #212] ; (802166c ) 8021598: 781b ldrb r3, [r3, #0] 802159a: 2b00 cmp r3, #0 802159c: d113 bne.n 80215c6 if(gystVbat) 802159e: 4b34 ldr r3, [pc, #208] ; (8021670 ) 80215a0: 781b ldrb r3, [r3, #0] 80215a2: b2db uxtb r3, r3 80215a4: 2b00 cmp r3, #0 80215a6: d007 beq.n 80215b8 gystVbat--; 80215a8: 4b31 ldr r3, [pc, #196] ; (8021670 ) 80215aa: 781b ldrb r3, [r3, #0] 80215ac: b2db uxtb r3, r3 80215ae: 3b01 subs r3, #1 80215b0: b2da uxtb r2, r3 80215b2: 4b2f ldr r3, [pc, #188] ; (8021670 ) 80215b4: 701a strb r2, [r3, #0] if(gystVbat) 80215b6: e009 b.n 80215cc StateBattery = 0; 80215b8: 4b2b ldr r3, [pc, #172] ; (8021668 ) 80215ba: 2200 movs r2, #0 80215bc: 701a strb r2, [r3, #0] gystVbat = VBAT_GYST_VALUE; 80215be: 4b2c ldr r3, [pc, #176] ; (8021670 ) 80215c0: 220f movs r2, #15 80215c2: 701a strb r2, [r3, #0] if(gystVbat) 80215c4: e002 b.n 80215cc gystVbat = VBAT_GYST_VALUE; 80215c6: 4b2a ldr r3, [pc, #168] ; (8021670 ) 80215c8: 220f movs r2, #15 80215ca: 701a strb r2, [r3, #0] oldState = 0; 80215cc: 4b27 ldr r3, [pc, #156] ; (802166c ) 80215ce: 2200 movs r2, #0 80215d0: 701a strb r2, [r3, #0] if((StateBattery == 0) && (clbr == false) && (!ChargerIsConnect)) 80215d2: 4b25 ldr r3, [pc, #148] ; (8021668 ) 80215d4: 781b ldrb r3, [r3, #0] 80215d6: b2db uxtb r3, r3 80215d8: 2b00 cmp r3, #0 80215da: d137 bne.n 802164c 80215dc: 4b26 ldr r3, [pc, #152] ; (8021678 ) 80215de: 781b ldrb r3, [r3, #0] 80215e0: b2db uxtb r3, r3 80215e2: f083 0301 eor.w r3, r3, #1 80215e6: b2db uxtb r3, r3 80215e8: 2b00 cmp r3, #0 80215ea: d02f beq.n 802164c 80215ec: 4b23 ldr r3, [pc, #140] ; (802167c ) 80215ee: 781b ldrb r3, [r3, #0] 80215f0: b2db uxtb r3, r3 80215f2: f083 0301 eor.w r3, r3, #1 80215f6: b2db uxtb r3, r3 80215f8: 2b00 cmp r3, #0 80215fa: d027 beq.n 802164c NeedOff = true; 80215fc: 4b20 ldr r3, [pc, #128] ; (8021680 ) 80215fe: 2201 movs r2, #1 8021600: 701a strb r2, [r3, #0] menu = LOW_BAT; 8021602: 4b20 ldr r3, [pc, #128] ; (8021684 ) 8021604: 2248 movs r2, #72 ; 0x48 8021606: 701a strb r2, [r3, #0] SCB_CleanInvalidateDCache(); 8021608: f7ff f978 bl 80208fc Display(); 802160c: f046 fe7c bl 8068308 HAL_Delay(100); 8021610: 2064 movs r0, #100 ; 0x64 8021612: f091 fe39 bl 80b3288 SCB_CleanInvalidateDCache(); 8021616: f7ff f971 bl 80208fc Display(); 802161a: f046 fe75 bl 8068308 HAL_Delay(100); 802161e: 2064 movs r0, #100 ; 0x64 8021620: f091 fe32 bl 80b3288 SCB_CleanInvalidateDCache(); 8021624: f7ff f96a bl 80208fc Display(); 8021628: f046 fe6e bl 8068308 HAL_Delay(100); 802162c: 2064 movs r0, #100 ; 0x64 802162e: f091 fe2b bl 80b3288 SCB_CleanInvalidateDCache(); 8021632: f7ff f963 bl 80208fc Display(); 8021636: f046 fe67 bl 8068308 HAL_Delay(200); 802163a: 20c8 movs r0, #200 ; 0xc8 802163c: f091 fe24 bl 80b3288 Display(); 8021640: f046 fe62 bl 8068308 HAL_Delay(3000); 8021644: f640 30b8 movw r0, #3000 ; 0xbb8 8021648: f091 fe1e bl 80b3288 gystTimeout = TIMEOUT_GYST_VALUE; 802164c: 4b0e ldr r3, [pc, #56] ; (8021688 ) 802164e: 2201 movs r2, #1 8021650: 701a strb r2, [r3, #0] } 8021652: bf00 nop 8021654: 3710 adds r7, #16 8021656: 46bd mov sp, r7 8021658: bd80 pop {r7, pc} 802165a: bf00 nop 802165c: 20020000 .word 0x20020000 8021660: 4069999a .word 0x4069999a 8021664: 40733333 .word 0x40733333 8021668: 20020008 .word 0x20020008 802166c: 20020028 .word 0x20020028 8021670: 20020020 .word 0x20020020 8021674: 40566666 .word 0x40566666 8021678: 20020f68 .word 0x20020f68 802167c: 20021b22 .word 0x20021b22 8021680: 20020f75 .word 0x20020f75 8021684: 20020f78 .word 0x20020f78 8021688: 20020021 .word 0x20020021 0802168c : uint32_t MedVbat(uint32_t val) { 802168c: b480 push {r7} 802168e: b08d sub sp, #52 ; 0x34 8021690: af00 add r7, sp, #0 8021692: 6078 str r0, [r7, #4] uint32_t i = 0; 8021694: 2300 movs r3, #0 8021696: 62fb str r3, [r7, #44] ; 0x2c uint32_t j = 0; 8021698: 2300 movs r3, #0 802169a: 62bb str r3, [r7, #40] ; 0x28 uint32_t k = 0; 802169c: 2300 movs r3, #0 802169e: 623b str r3, [r7, #32] uint32_t m; uint32_t temp[N_MED_ADC]; for(i = N_MED_ADC - 1; i > 0; i--) 80216a0: 2304 movs r3, #4 80216a2: 62fb str r3, [r7, #44] ; 0x2c 80216a4: e00b b.n 80216be med[i] = med[i - 1]; 80216a6: 6afb ldr r3, [r7, #44] ; 0x2c 80216a8: 3b01 subs r3, #1 80216aa: 4a54 ldr r2, [pc, #336] ; (80217fc ) 80216ac: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80216b0: 4952 ldr r1, [pc, #328] ; (80217fc ) 80216b2: 6afb ldr r3, [r7, #44] ; 0x2c 80216b4: f841 2023 str.w r2, [r1, r3, lsl #2] for(i = N_MED_ADC - 1; i > 0; i--) 80216b8: 6afb ldr r3, [r7, #44] ; 0x2c 80216ba: 3b01 subs r3, #1 80216bc: 62fb str r3, [r7, #44] ; 0x2c 80216be: 6afb ldr r3, [r7, #44] ; 0x2c 80216c0: 2b00 cmp r3, #0 80216c2: d1f0 bne.n 80216a6 med[0] = val; 80216c4: 4a4d ldr r2, [pc, #308] ; (80217fc ) 80216c6: 687b ldr r3, [r7, #4] 80216c8: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_ADC; i++) 80216ca: 2300 movs r3, #0 80216cc: 62fb str r3, [r7, #44] ; 0x2c 80216ce: e00d b.n 80216ec temp[i] = med[i]; 80216d0: 4a4a ldr r2, [pc, #296] ; (80217fc ) 80216d2: 6afb ldr r3, [r7, #44] ; 0x2c 80216d4: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80216d8: 6afb ldr r3, [r7, #44] ; 0x2c 80216da: 009b lsls r3, r3, #2 80216dc: f107 0130 add.w r1, r7, #48 ; 0x30 80216e0: 440b add r3, r1 80216e2: f843 2c24 str.w r2, [r3, #-36] for(i = 0; i < N_MED_ADC; i++) 80216e6: 6afb ldr r3, [r7, #44] ; 0x2c 80216e8: 3301 adds r3, #1 80216ea: 62fb str r3, [r7, #44] ; 0x2c 80216ec: 6afb ldr r3, [r7, #44] ; 0x2c 80216ee: 2b04 cmp r3, #4 80216f0: d9ee bls.n 80216d0 if(CounterU < N_MED_ADC) 80216f2: 4b43 ldr r3, [pc, #268] ; (8021800 ) 80216f4: 881b ldrh r3, [r3, #0] 80216f6: b29b uxth r3, r3 80216f8: 2b04 cmp r3, #4 80216fa: d806 bhi.n 802170a CounterU++; 80216fc: 4b40 ldr r3, [pc, #256] ; (8021800 ) 80216fe: 881b ldrh r3, [r3, #0] 8021700: b29b uxth r3, r3 8021702: 3301 adds r3, #1 8021704: b29a uxth r2, r3 8021706: 4b3e ldr r3, [pc, #248] ; (8021800 ) 8021708: 801a strh r2, [r3, #0] for(j = 0; j < CounterU; j++) 802170a: 2300 movs r3, #0 802170c: 62bb str r3, [r7, #40] ; 0x28 802170e: e03d b.n 802178c { for(i = j; i < CounterU; i++) 8021710: 6abb ldr r3, [r7, #40] ; 0x28 8021712: 62fb str r3, [r7, #44] ; 0x2c 8021714: e030 b.n 8021778 { if(temp[i] < temp[j]) 8021716: 6afb ldr r3, [r7, #44] ; 0x2c 8021718: 009b lsls r3, r3, #2 802171a: f107 0230 add.w r2, r7, #48 ; 0x30 802171e: 4413 add r3, r2 8021720: f853 2c24 ldr.w r2, [r3, #-36] 8021724: 6abb ldr r3, [r7, #40] ; 0x28 8021726: 009b lsls r3, r3, #2 8021728: f107 0130 add.w r1, r7, #48 ; 0x30 802172c: 440b add r3, r1 802172e: f853 3c24 ldr.w r3, [r3, #-36] 8021732: 429a cmp r2, r3 8021734: d21d bcs.n 8021772 { m = temp[j]; 8021736: 6abb ldr r3, [r7, #40] ; 0x28 8021738: 009b lsls r3, r3, #2 802173a: f107 0230 add.w r2, r7, #48 ; 0x30 802173e: 4413 add r3, r2 8021740: f853 3c24 ldr.w r3, [r3, #-36] 8021744: 627b str r3, [r7, #36] ; 0x24 temp[j] = temp[i]; 8021746: 6afb ldr r3, [r7, #44] ; 0x2c 8021748: 009b lsls r3, r3, #2 802174a: f107 0230 add.w r2, r7, #48 ; 0x30 802174e: 4413 add r3, r2 8021750: f853 2c24 ldr.w r2, [r3, #-36] 8021754: 6abb ldr r3, [r7, #40] ; 0x28 8021756: 009b lsls r3, r3, #2 8021758: f107 0130 add.w r1, r7, #48 ; 0x30 802175c: 440b add r3, r1 802175e: f843 2c24 str.w r2, [r3, #-36] temp[i] = m; 8021762: 6afb ldr r3, [r7, #44] ; 0x2c 8021764: 009b lsls r3, r3, #2 8021766: f107 0230 add.w r2, r7, #48 ; 0x30 802176a: 4413 add r3, r2 802176c: 6a7a ldr r2, [r7, #36] ; 0x24 802176e: f843 2c24 str.w r2, [r3, #-36] for(i = j; i < CounterU; i++) 8021772: 6afb ldr r3, [r7, #44] ; 0x2c 8021774: 3301 adds r3, #1 8021776: 62fb str r3, [r7, #44] ; 0x2c 8021778: 4b21 ldr r3, [pc, #132] ; (8021800 ) 802177a: 881b ldrh r3, [r3, #0] 802177c: b29b uxth r3, r3 802177e: 461a mov r2, r3 8021780: 6afb ldr r3, [r7, #44] ; 0x2c 8021782: 429a cmp r2, r3 8021784: d8c7 bhi.n 8021716 for(j = 0; j < CounterU; j++) 8021786: 6abb ldr r3, [r7, #40] ; 0x28 8021788: 3301 adds r3, #1 802178a: 62bb str r3, [r7, #40] ; 0x28 802178c: 4b1c ldr r3, [pc, #112] ; (8021800 ) 802178e: 881b ldrh r3, [r3, #0] 8021790: b29b uxth r3, r3 8021792: 461a mov r2, r3 8021794: 6abb ldr r3, [r7, #40] ; 0x28 8021796: 429a cmp r2, r3 8021798: d8ba bhi.n 8021710 } } } i = CounterU >> 1; 802179a: 4b19 ldr r3, [pc, #100] ; (8021800 ) 802179c: 881b ldrh r3, [r3, #0] 802179e: b29b uxth r3, r3 80217a0: 085b lsrs r3, r3, #1 80217a2: b29b uxth r3, r3 80217a4: 62fb str r3, [r7, #44] ; 0x2c if((k & 0x1) || (i == 0)) 80217a6: 6a3b ldr r3, [r7, #32] 80217a8: f003 0301 and.w r3, r3, #1 80217ac: 2b00 cmp r3, #0 80217ae: d102 bne.n 80217b6 80217b0: 6afb ldr r3, [r7, #44] ; 0x2c 80217b2: 2b00 cmp r3, #0 80217b4: d108 bne.n 80217c8 m = temp[i]; 80217b6: 6afb ldr r3, [r7, #44] ; 0x2c 80217b8: 009b lsls r3, r3, #2 80217ba: f107 0230 add.w r2, r7, #48 ; 0x30 80217be: 4413 add r3, r2 80217c0: f853 3c24 ldr.w r3, [r3, #-36] 80217c4: 627b str r3, [r7, #36] ; 0x24 80217c6: e011 b.n 80217ec else m = (temp[i] + temp[i - 1]) / 2; 80217c8: 6afb ldr r3, [r7, #44] ; 0x2c 80217ca: 009b lsls r3, r3, #2 80217cc: f107 0230 add.w r2, r7, #48 ; 0x30 80217d0: 4413 add r3, r2 80217d2: f853 2c24 ldr.w r2, [r3, #-36] 80217d6: 6afb ldr r3, [r7, #44] ; 0x2c 80217d8: 3b01 subs r3, #1 80217da: 009b lsls r3, r3, #2 80217dc: f107 0130 add.w r1, r7, #48 ; 0x30 80217e0: 440b add r3, r1 80217e2: f853 3c24 ldr.w r3, [r3, #-36] 80217e6: 4413 add r3, r2 80217e8: 085b lsrs r3, r3, #1 80217ea: 627b str r3, [r7, #36] ; 0x24 return m; 80217ec: 6a7b ldr r3, [r7, #36] ; 0x24 } 80217ee: 4618 mov r0, r3 80217f0: 3734 adds r7, #52 ; 0x34 80217f2: 46bd mov sp, r7 80217f4: f85d 7b04 ldr.w r7, [sp], #4 80217f8: 4770 bx lr 80217fa: bf00 nop 80217fc: 2002000c .word 0x2002000c 8021800: 20020d48 .word 0x20020d48 08021804 : { 8021804: b480 push {r7} 8021806: b085 sub sp, #20 8021808: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 802180a: 4b19 ldr r3, [pc, #100] ; (8021870 ) 802180c: 2200 movs r2, #0 802180e: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 8021812: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 8021816: 4b16 ldr r3, [pc, #88] ; (8021870 ) 8021818: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 802181c: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 802181e: 687b ldr r3, [r7, #4] 8021820: 0b5b lsrs r3, r3, #13 8021822: f3c3 030e ubfx r3, r3, #0, #15 8021826: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 8021828: 687b ldr r3, [r7, #4] 802182a: 08db lsrs r3, r3, #3 802182c: f3c3 0309 ubfx r3, r3, #0, #10 8021830: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 8021832: 490f ldr r1, [pc, #60] ; (8021870 ) 8021834: 68fb ldr r3, [r7, #12] 8021836: 015a lsls r2, r3, #5 8021838: f643 73e0 movw r3, #16352 ; 0x3fe0 802183c: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 802183e: 68ba ldr r2, [r7, #8] 8021840: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 8021842: 4313 orrs r3, r2 8021844: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 8021848: 68bb ldr r3, [r7, #8] 802184a: 1e5a subs r2, r3, #1 802184c: 60ba str r2, [r7, #8] 802184e: 2b00 cmp r3, #0 8021850: d1ef bne.n 8021832 } while(sets-- != 0U); 8021852: 68fb ldr r3, [r7, #12] 8021854: 1e5a subs r2, r3, #1 8021856: 60fa str r2, [r7, #12] 8021858: 2b00 cmp r3, #0 802185a: d1e5 bne.n 8021828 802185c: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 8021860: f3bf 8f6f isb sy } 8021864: bf00 nop 8021866: 3714 adds r7, #20 8021868: 46bd mov sp, r7 802186a: f85d 7b04 ldr.w r7, [sp], #4 802186e: 4770 bx lr 8021870: e000ed00 .word 0xe000ed00 08021874 : void SetKU(void) { 8021874: b580 push {r7, lr} 8021876: b082 sub sp, #8 8021878: af00 add r7, sp, #0 __IO uint32_t timeout; __IO uint8_t ku = 0; 802187a: 2300 movs r3, #0 802187c: 70fb strb r3, [r7, #3] if(pardata.SYG == UDAR) 802187e: 4b7b ldr r3, [pc, #492] ; (8021a6c ) 8021880: 781b ldrb r3, [r3, #0] 8021882: b2db uxtb r3, r3 8021884: 2b09 cmp r3, #9 8021886: d167 bne.n 8021958 { if(pardata.IKU > Ku8) 8021888: 4b78 ldr r3, [pc, #480] ; (8021a6c ) 802188a: 7a1b ldrb r3, [r3, #8] 802188c: b2db uxtb r3, r3 802188e: 2b03 cmp r3, #3 8021890: d902 bls.n 8021898 pardata.IKU = Ku8; //x1000 8021892: 4b76 ldr r3, [pc, #472] ; (8021a6c ) 8021894: 2203 movs r2, #3 8021896: 721a strb r2, [r3, #8] switch(pardata.IKU) 8021898: 4b74 ldr r3, [pc, #464] ; (8021a6c ) 802189a: 7a1b ldrb r3, [r3, #8] 802189c: b2db uxtb r3, r3 802189e: 2b03 cmp r3, #3 80218a0: d852 bhi.n 8021948 80218a2: a201 add r2, pc, #4 ; (adr r2, 80218a8 ) 80218a4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80218a8: 080218b9 .word 0x080218b9 80218ac: 080218dd .word 0x080218dd 80218b0: 08021901 .word 0x08021901 80218b4: 08021925 .word 0x08021925 { case Ku1: #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 80218b8: 2200 movs r2, #0 80218ba: f44f 4180 mov.w r1, #16384 ; 0x4000 80218be: 486c ldr r0, [pc, #432] ; (8021a70 ) 80218c0: f094 f992 bl 80b5be8 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 80218c4: 2200 movs r2, #0 80218c6: 2120 movs r1, #32 80218c8: 486a ldr r0, [pc, #424] ; (8021a74 ) 80218ca: f094 f98d bl 80b5be8 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 80218ce: 2200 movs r2, #0 80218d0: f44f 7100 mov.w r1, #512 ; 0x200 80218d4: 4868 ldr r0, [pc, #416] ; (8021a78 ) 80218d6: f094 f987 bl 80b5be8 break; 80218da: e035 b.n 8021948 case Ku2: //x10 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 80218dc: 2201 movs r2, #1 80218de: f44f 4180 mov.w r1, #16384 ; 0x4000 80218e2: 4863 ldr r0, [pc, #396] ; (8021a70 ) 80218e4: f094 f980 bl 80b5be8 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 80218e8: 2200 movs r2, #0 80218ea: 2120 movs r1, #32 80218ec: 4861 ldr r0, [pc, #388] ; (8021a74 ) 80218ee: f094 f97b bl 80b5be8 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 80218f2: 2200 movs r2, #0 80218f4: f44f 7100 mov.w r1, #512 ; 0x200 80218f8: 485f ldr r0, [pc, #380] ; (8021a78 ) 80218fa: f094 f975 bl 80b5be8 break; 80218fe: e023 b.n 8021948 case Ku4: //x100 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 8021900: 2201 movs r2, #1 8021902: f44f 4180 mov.w r1, #16384 ; 0x4000 8021906: 485a ldr r0, [pc, #360] ; (8021a70 ) 8021908: f094 f96e bl 80b5be8 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_SET); 802190c: 2201 movs r2, #1 802190e: 2120 movs r1, #32 8021910: 4858 ldr r0, [pc, #352] ; (8021a74 ) 8021912: f094 f969 bl 80b5be8 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 8021916: 2200 movs r2, #0 8021918: f44f 7100 mov.w r1, #512 ; 0x200 802191c: 4856 ldr r0, [pc, #344] ; (8021a78 ) 802191e: f094 f963 bl 80b5be8 break; 8021922: e011 b.n 8021948 case Ku8: //x1000 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 8021924: 2201 movs r2, #1 8021926: f44f 4180 mov.w r1, #16384 ; 0x4000 802192a: 4851 ldr r0, [pc, #324] ; (8021a70 ) 802192c: f094 f95c bl 80b5be8 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 8021930: 2200 movs r2, #0 8021932: 2120 movs r1, #32 8021934: 484f ldr r0, [pc, #316] ; (8021a74 ) 8021936: f094 f957 bl 80b5be8 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_SET); 802193a: 2201 movs r2, #1 802193c: f44f 7100 mov.w r1, #512 ; 0x200 8021940: 484d ldr r0, [pc, #308] ; (8021a78 ) 8021942: f094 f951 bl 80b5be8 break; 8021946: bf00 nop } calcK(); 8021948: f001 fb58 bl 8022ffc LAST_KU = pardata.IKU; 802194c: 4b47 ldr r3, [pc, #284] ; (8021a6c ) 802194e: 7a1b ldrb r3, [r3, #8] 8021950: b2da uxtb r2, r3 8021952: 4b4a ldr r3, [pc, #296] ; (8021a7c ) 8021954: 701a strb r2, [r3, #0] MAX11270_SetGain(ku); calcK(); LAST_KU = pardata.IKU; } } } 8021956: e085 b.n 8021a64 if(pardata.IKU < Ku80) 8021958: 4b44 ldr r3, [pc, #272] ; (8021a6c ) 802195a: 7a1b ldrb r3, [r3, #8] 802195c: b2db uxtb r3, r3 802195e: 2b06 cmp r3, #6 8021960: d80a bhi.n 8021978 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021962: 2200 movs r2, #0 8021964: f44f 4180 mov.w r1, #16384 ; 0x4000 8021968: 4841 ldr r0, [pc, #260] ; (8021a70 ) 802196a: f094 f93d bl 80b5be8 ku = pardata.IKU; 802196e: 4b3f ldr r3, [pc, #252] ; (8021a6c ) 8021970: 7a1b ldrb r3, [r3, #8] 8021972: b2db uxtb r3, r3 8021974: 70fb strb r3, [r7, #3] 8021976: e023 b.n 80219c0 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 8021978: 2201 movs r2, #1 802197a: f44f 4180 mov.w r1, #16384 ; 0x4000 802197e: 483c ldr r0, [pc, #240] ; (8021a70 ) 8021980: f094 f932 bl 80b5be8 switch(pardata.IKU) 8021984: 4b39 ldr r3, [pc, #228] ; (8021a6c ) 8021986: 7a1b ldrb r3, [r3, #8] 8021988: b2db uxtb r3, r3 802198a: 3b07 subs r3, #7 802198c: 2b03 cmp r3, #3 802198e: d817 bhi.n 80219c0 8021990: a201 add r2, pc, #4 ; (adr r2, 8021998 ) 8021992: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8021996: bf00 nop 8021998: 080219a9 .word 0x080219a9 802199c: 080219af .word 0x080219af 80219a0: 080219b5 .word 0x080219b5 80219a4: 080219bb .word 0x080219bb case Ku80: ku = Ku8; break; 80219a8: 2303 movs r3, #3 80219aa: 70fb strb r3, [r7, #3] 80219ac: e008 b.n 80219c0 case Ku160: ku = Ku16; break; 80219ae: 2304 movs r3, #4 80219b0: 70fb strb r3, [r7, #3] 80219b2: e005 b.n 80219c0 case Ku320: ku = Ku32; break; 80219b4: 2305 movs r3, #5 80219b6: 70fb strb r3, [r7, #3] 80219b8: e002 b.n 80219c0 case Ku640: ku = Ku64; break; 80219ba: 2306 movs r3, #6 80219bc: 70fb strb r3, [r7, #3] 80219be: bf00 nop if(measuring) 80219c0: 4b2f ldr r3, [pc, #188] ; (8021a80 ) 80219c2: 781b ldrb r3, [r3, #0] 80219c4: b2db uxtb r3, r3 80219c6: 2b00 cmp r3, #0 80219c8: d03e beq.n 8021a48 timeout = HAL_GetTick(); 80219ca: f091 fc51 bl 80b3270 80219ce: 4603 mov r3, r0 80219d0: 607b str r3, [r7, #4] ADC_Started = false; 80219d2: 4b2c ldr r3, [pc, #176] ; (8021a84 ) 80219d4: 2200 movs r2, #0 80219d6: 701a strb r2, [r3, #0] while((!ADC_Started) && ((HAL_GetTick() - timeout) < 3000)) 80219d8: e008 b.n 80219ec MAX11270_StopMeas(); 80219da: f033 fb2f bl 805503c MAX11270_SetGain(ku); 80219de: 78fb ldrb r3, [r7, #3] 80219e0: b2db uxtb r3, r3 80219e2: 4618 mov r0, r3 80219e4: f033 fb44 bl 8055070 MAX11270_StartMeas(); 80219e8: f033 fabe bl 8054f68 while((!ADC_Started) && ((HAL_GetTick() - timeout) < 3000)) 80219ec: 4b25 ldr r3, [pc, #148] ; (8021a84 ) 80219ee: 781b ldrb r3, [r3, #0] 80219f0: b2db uxtb r3, r3 80219f2: f083 0301 eor.w r3, r3, #1 80219f6: b2db uxtb r3, r3 80219f8: 2b00 cmp r3, #0 80219fa: d008 beq.n 8021a0e 80219fc: f091 fc38 bl 80b3270 8021a00: 4602 mov r2, r0 8021a02: 687b ldr r3, [r7, #4] 8021a04: 1ad3 subs r3, r2, r3 8021a06: f640 32b7 movw r2, #2999 ; 0xbb7 8021a0a: 4293 cmp r3, r2 8021a0c: d9e5 bls.n 80219da if(!ADC_Started) 8021a0e: 4b1d ldr r3, [pc, #116] ; (8021a84 ) 8021a10: 781b ldrb r3, [r3, #0] 8021a12: b2db uxtb r3, r3 8021a14: f083 0301 eor.w r3, r3, #1 8021a18: b2db uxtb r3, r3 8021a1a: 2b00 cmp r3, #0 8021a1c: d00c beq.n 8021a38 StopMeas(); 8021a1e: f001 febd bl 802379c STATUS = AP_ADC_FAIL; 8021a22: 4b19 ldr r3, [pc, #100] ; (8021a88 ) 8021a24: 2212 movs r2, #18 8021a26: 601a str r2, [r3, #0] timerStatus = sec2; 8021a28: 4b18 ldr r3, [pc, #96] ; (8021a8c ) 8021a2a: f44f 5280 mov.w r2, #4096 ; 0x1000 8021a2e: 801a strh r2, [r3, #0] DrawStatus = true; 8021a30: 4b17 ldr r3, [pc, #92] ; (8021a90 ) 8021a32: 2201 movs r2, #1 8021a34: 701a strb r2, [r3, #0] } 8021a36: e015 b.n 8021a64 calcK(); 8021a38: f001 fae0 bl 8022ffc LAST_KU = pardata.IKU; 8021a3c: 4b0b ldr r3, [pc, #44] ; (8021a6c ) 8021a3e: 7a1b ldrb r3, [r3, #8] 8021a40: b2da uxtb r2, r3 8021a42: 4b0e ldr r3, [pc, #56] ; (8021a7c ) 8021a44: 701a strb r2, [r3, #0] } 8021a46: e00d b.n 8021a64 MAX11270_StopMeas(); 8021a48: f033 faf8 bl 805503c MAX11270_SetGain(ku); 8021a4c: 78fb ldrb r3, [r7, #3] 8021a4e: b2db uxtb r3, r3 8021a50: 4618 mov r0, r3 8021a52: f033 fb0d bl 8055070 calcK(); 8021a56: f001 fad1 bl 8022ffc LAST_KU = pardata.IKU; 8021a5a: 4b04 ldr r3, [pc, #16] ; (8021a6c ) 8021a5c: 7a1b ldrb r3, [r3, #8] 8021a5e: b2da uxtb r2, r3 8021a60: 4b06 ldr r3, [pc, #24] ; (8021a7c ) 8021a62: 701a strb r2, [r3, #0] } 8021a64: bf00 nop 8021a66: 3708 adds r7, #8 8021a68: 46bd mov sp, r7 8021a6a: bd80 pop {r7, pc} 8021a6c: 20023e60 .word 0x20023e60 8021a70: 40021800 .word 0x40021800 8021a74: 40020400 .word 0x40020400 8021a78: 40021400 .word 0x40021400 8021a7c: 20021530 .word 0x20021530 8021a80: 20020daf .word 0x20020daf 8021a84: 20020d74 .word 0x20020d74 8021a88: 20020dcc .word 0x20020dcc 8021a8c: 2002168c .word 0x2002168c 8021a90: 20020dd2 .word 0x20020dd2 08021a94 : void initAmplif(void) { 8021a94: b580 push {r7, lr} 8021a96: ed2d 8b02 vpush {d8} 8021a9a: b084 sub sp, #16 8021a9c: af00 add r7, sp, #0 uint8_t k, m, ku; __IO float32_t f, f1, fm; if(clbr) 8021a9e: 4ba5 ldr r3, [pc, #660] ; (8021d34 ) 8021aa0: 781b ldrb r3, [r3, #0] 8021aa2: b2db uxtb r3, r3 8021aa4: 2b00 cmp r3, #0 8021aa6: f000 80a3 beq.w 8021bf0 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021aaa: 2200 movs r2, #0 8021aac: f44f 4180 mov.w r1, #16384 ; 0x4000 8021ab0: 48a1 ldr r0, [pc, #644] ; (8021d38 ) 8021ab2: f094 f899 bl 80b5be8 #endif pardata.HP = 10.0f; 8021ab6: 4ba1 ldr r3, [pc, #644] ; (8021d3c ) 8021ab8: 4aa1 ldr r2, [pc, #644] ; (8021d40 ) 8021aba: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 pardata.LP = 10000.0f; 8021abe: 4b9f ldr r3, [pc, #636] ; (8021d3c ) 8021ac0: 4aa0 ldr r2, [pc, #640] ; (8021d44 ) 8021ac2: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 pardata.FRQ = _64000Hz; 8021ac6: 4b9d ldr r3, [pc, #628] ; (8021d3c ) 8021ac8: 2209 movs r2, #9 8021aca: 72da strb r2, [r3, #11] pardata.LNE = N3200; 8021acc: 4b9b ldr r3, [pc, #620] ; (8021d3c ) 8021ace: 2203 movs r2, #3 8021ad0: 71da strb r2, [r3, #7] Fs = FS[pardata.FRQ]; 8021ad2: 4b9a ldr r3, [pc, #616] ; (8021d3c ) 8021ad4: 7adb ldrb r3, [r3, #11] 8021ad6: b2db uxtb r3, r3 8021ad8: 461a mov r2, r3 8021ada: 4b9b ldr r3, [pc, #620] ; (8021d48 ) 8021adc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8021ae0: 4a9a ldr r2, [pc, #616] ; (8021d4c ) 8021ae2: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 8021ae4: 4b95 ldr r3, [pc, #596] ; (8021d3c ) 8021ae6: 79db ldrb r3, [r3, #7] 8021ae8: b2db uxtb r3, r3 8021aea: 461a mov r2, r3 8021aec: 4b98 ldr r3, [pc, #608] ; (8021d50 ) 8021aee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8021af2: 4a98 ldr r2, [pc, #608] ; (8021d54 ) 8021af4: 6013 str r3, [r2, #0] switch(menu) 8021af6: 4b98 ldr r3, [pc, #608] ; (8021d58 ) 8021af8: 781b ldrb r3, [r3, #0] 8021afa: b2db uxtb r3, r3 8021afc: 3b35 subs r3, #53 ; 0x35 8021afe: 2b08 cmp r3, #8 8021b00: f201 80d6 bhi.w 8022cb0 8021b04: a201 add r2, pc, #4 ; (adr r2, 8021b0c ) 8021b06: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8021b0a: bf00 nop 8021b0c: 08021b31 .word 0x08021b31 8021b10: 08021b31 .word 0x08021b31 8021b14: 08021b31 .word 0x08021b31 8021b18: 08021b31 .word 0x08021b31 8021b1c: 08021b31 .word 0x08021b31 8021b20: 08021b31 .word 0x08021b31 8021b24: 08021b31 .word 0x08021b31 8021b28: 08021b77 .word 0x08021b77 8021b2c: 08021bb3 .word 0x08021bb3 case CALIBR_2: //Ku 4 case CALIBR_3: //Ku 8 case CALIBR_4: //Ku 16 case CALIBR_5: //Ku 32 case CALIBR_6: //Ku 64 HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_SET); 8021b30: 2201 movs r2, #1 8021b32: f44f 6100 mov.w r1, #2048 ; 0x800 8021b36: 4889 ldr r0, [pc, #548] ; (8021d5c ) 8021b38: f094 f856 bl 80b5be8 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021b3c: 2200 movs r2, #0 8021b3e: f44f 4180 mov.w r1, #16384 ; 0x4000 8021b42: 487d ldr r0, [pc, #500] ; (8021d38 ) 8021b44: f094 f850 bl 80b5be8 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 8021b48: 2200 movs r2, #0 8021b4a: 2120 movs r1, #32 8021b4c: 4884 ldr r0, [pc, #528] ; (8021d60 ) 8021b4e: f094 f84b bl 80b5be8 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 8021b52: 2200 movs r2, #0 8021b54: f44f 7100 mov.w r1, #512 ; 0x200 8021b58: 4880 ldr r0, [pc, #512] ; (8021d5c ) 8021b5a: f094 f845 bl 80b5be8 MAX11270_StopMeas(); 8021b5e: f033 fa6d bl 805503c MAX11270_SetGain(menu - CALIBR_0); 8021b62: 4b7d ldr r3, [pc, #500] ; (8021d58 ) 8021b64: 781b ldrb r3, [r3, #0] 8021b66: b2db uxtb r3, r3 8021b68: 3b35 subs r3, #53 ; 0x35 8021b6a: b2db uxtb r3, r3 8021b6c: 4618 mov r0, r3 8021b6e: f033 fa7f bl 8055070 break; 8021b72: f001 b89d b.w 8022cb0 case CALIBR_7: // Ku x10 HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_SET); 8021b76: 2201 movs r2, #1 8021b78: f44f 6100 mov.w r1, #2048 ; 0x800 8021b7c: 4877 ldr r0, [pc, #476] ; (8021d5c ) 8021b7e: f094 f833 bl 80b5be8 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); 8021b82: 2201 movs r2, #1 8021b84: f44f 4180 mov.w r1, #16384 ; 0x4000 8021b88: 486b ldr r0, [pc, #428] ; (8021d38 ) 8021b8a: f094 f82d bl 80b5be8 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 8021b8e: 2200 movs r2, #0 8021b90: 2120 movs r1, #32 8021b92: 4873 ldr r0, [pc, #460] ; (8021d60 ) 8021b94: f094 f828 bl 80b5be8 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 8021b98: 2200 movs r2, #0 8021b9a: f44f 7100 mov.w r1, #512 ; 0x200 8021b9e: 486f ldr r0, [pc, #444] ; (8021d5c ) 8021ba0: f094 f822 bl 80b5be8 MAX11270_StopMeas(); 8021ba4: f033 fa4a bl 805503c MAX11270_SetGain(Ku1); 8021ba8: 2000 movs r0, #0 8021baa: f033 fa61 bl 8055070 break; 8021bae: f001 b87f b.w 8022cb0 case CALIBR_8: // CHARGE x1 HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_RESET); 8021bb2: 2200 movs r2, #0 8021bb4: f44f 6100 mov.w r1, #2048 ; 0x800 8021bb8: 4868 ldr r0, [pc, #416] ; (8021d5c ) 8021bba: f094 f815 bl 80b5be8 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021bbe: 2200 movs r2, #0 8021bc0: f44f 4180 mov.w r1, #16384 ; 0x4000 8021bc4: 485c ldr r0, [pc, #368] ; (8021d38 ) 8021bc6: f094 f80f bl 80b5be8 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 8021bca: 2200 movs r2, #0 8021bcc: 2120 movs r1, #32 8021bce: 4864 ldr r0, [pc, #400] ; (8021d60 ) 8021bd0: f094 f80a bl 80b5be8 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 8021bd4: 2200 movs r2, #0 8021bd6: f44f 7100 mov.w r1, #512 ; 0x200 8021bda: 4860 ldr r0, [pc, #384] ; (8021d5c ) 8021bdc: f094 f804 bl 80b5be8 MAX11270_StopMeas(); 8021be0: f033 fa2c bl 805503c MAX11270_SetGain(Ku1); 8021be4: 2000 movs r0, #0 8021be6: f033 fa43 bl 8055070 break; 8021bea: bf00 nop 8021bec: f001 b860 b.w 8022cb0 } } else { //******************************************************************************************************************************************************************* m = Ku1; 8021bf0: 2300 movs r3, #0 8021bf2: 73fb strb r3, [r7, #15] if((pardata.IKU < Ku1) || (pardata.IKU > Ku640)) { 8021bf4: 4b51 ldr r3, [pc, #324] ; (8021d3c ) 8021bf6: 7a1b ldrb r3, [r3, #8] 8021bf8: 4b50 ldr r3, [pc, #320] ; (8021d3c ) 8021bfa: 7a1b ldrb r3, [r3, #8] 8021bfc: b2db uxtb r3, r3 8021bfe: 2b0a cmp r3, #10 8021c00: d902 bls.n 8021c08 pardata.IKU = Ku1; 8021c02: 4b4e ldr r3, [pc, #312] ; (8021d3c ) 8021c04: 2200 movs r2, #0 8021c06: 721a strb r2, [r3, #8] } if(pardata.SYG == UDAR) 8021c08: 4b4c ldr r3, [pc, #304] ; (8021d3c ) 8021c0a: 781b ldrb r3, [r3, #0] 8021c0c: b2db uxtb r3, r3 8021c0e: 2b09 cmp r3, #9 8021c10: d109 bne.n 8021c26 { pardata.IIN = ICP; 8021c12: 4b4a ldr r3, [pc, #296] ; (8021d3c ) 8021c14: 2201 movs r2, #1 8021c16: 719a strb r2, [r3, #6] HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_SET); 8021c18: 2201 movs r2, #1 8021c1a: f44f 6100 mov.w r1, #2048 ; 0x800 8021c1e: 484f ldr r0, [pc, #316] ; (8021d5c ) 8021c20: f093 ffe2 bl 80b5be8 8021c24: e011 b.n 8021c4a } else { if(pardata.IIN == CHARGE) 8021c26: 4b45 ldr r3, [pc, #276] ; (8021d3c ) 8021c28: 799b ldrb r3, [r3, #6] 8021c2a: b2db uxtb r3, r3 8021c2c: 2b00 cmp r3, #0 8021c2e: d106 bne.n 8021c3e HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_RESET); 8021c30: 2200 movs r2, #0 8021c32: f44f 6100 mov.w r1, #2048 ; 0x800 8021c36: 4849 ldr r0, [pc, #292] ; (8021d5c ) 8021c38: f093 ffd6 bl 80b5be8 8021c3c: e005 b.n 8021c4a else HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_SET); 8021c3e: 2201 movs r2, #1 8021c40: f44f 6100 mov.w r1, #2048 ; 0x800 8021c44: 4845 ldr r0, [pc, #276] ; (8021d5c ) 8021c46: f093 ffcf bl 80b5be8 } f1 = 4.0; 8021c4a: f04f 4381 mov.w r3, #1082130432 ; 0x40800000 8021c4e: 607b str r3, [r7, #4] //******************************************************************************************************************************************************************* if((pardata.SYG == VIB) || (pardata.SYG == DIAGN)) 8021c50: 4b3a ldr r3, [pc, #232] ; (8021d3c ) 8021c52: 781b ldrb r3, [r3, #0] 8021c54: b2db uxtb r3, r3 8021c56: 2b00 cmp r3, #0 8021c58: d005 beq.n 8021c66 8021c5a: 4b38 ldr r3, [pc, #224] ; (8021d3c ) 8021c5c: 781b ldrb r3, [r3, #0] 8021c5e: b2db uxtb r3, r3 8021c60: 2b0a cmp r3, #10 8021c62: f040 811c bne.w 8021e9e { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021c66: 2200 movs r2, #0 8021c68: f44f 4180 mov.w r1, #16384 ; 0x4000 8021c6c: 4832 ldr r0, [pc, #200] ; (8021d38 ) 8021c6e: f093 ffbb bl 80b5be8 #endif pardata.FRQ = _64000Hz; 8021c72: 4b32 ldr r3, [pc, #200] ; (8021d3c ) 8021c74: 2209 movs r2, #9 8021c76: 72da strb r2, [r3, #11] pardata.LNE = N3200; // 0.128s 8021c78: 4b30 ldr r3, [pc, #192] ; (8021d3c ) 8021c7a: 2203 movs r2, #3 8021c7c: 71da strb r2, [r3, #7] Fs = FS[pardata.FRQ]; 8021c7e: 4b2f ldr r3, [pc, #188] ; (8021d3c ) 8021c80: 7adb ldrb r3, [r3, #11] 8021c82: b2db uxtb r3, r3 8021c84: 461a mov r2, r3 8021c86: 4b30 ldr r3, [pc, #192] ; (8021d48 ) 8021c88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8021c8c: 4a2f ldr r2, [pc, #188] ; (8021d4c ) 8021c8e: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 8021c90: 4b2a ldr r3, [pc, #168] ; (8021d3c ) 8021c92: 79db ldrb r3, [r3, #7] 8021c94: b2db uxtb r3, r3 8021c96: 461a mov r2, r3 8021c98: 4b2d ldr r3, [pc, #180] ; (8021d50 ) 8021c9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8021c9e: 4a2d ldr r2, [pc, #180] ; (8021d54 ) 8021ca0: 6013 str r3, [r2, #0] k = pardata.AVG; 8021ca2: 4b26 ldr r3, [pc, #152] ; (8021d3c ) 8021ca4: 7b5b ldrb r3, [r3, #13] 8021ca6: b2db uxtb r3, r3 8021ca8: 73bb strb r3, [r7, #14] f = Delta_OSC[pardata.FRQ]; 8021caa: 4b24 ldr r3, [pc, #144] ; (8021d3c ) 8021cac: 7adb ldrb r3, [r3, #11] 8021cae: b2db uxtb r3, r3 8021cb0: 4a2c ldr r2, [pc, #176] ; (8021d64 ) 8021cb2: 009b lsls r3, r3, #2 8021cb4: 4413 add r3, r2 8021cb6: 681b ldr r3, [r3, #0] 8021cb8: 60bb str r3, [r7, #8] f /= 1000; 8021cba: ed97 7a02 vldr s14, [r7, #8] 8021cbe: eddf 6a2a vldr s13, [pc, #168] ; 8021d68 8021cc2: eec7 7a26 vdiv.f32 s15, s14, s13 8021cc6: edc7 7a02 vstr s15, [r7, #8] f *= (float32_t) Ns; 8021cca: 4b22 ldr r3, [pc, #136] ; (8021d54 ) 8021ccc: 681b ldr r3, [r3, #0] 8021cce: ee07 3a90 vmov s15, r3 8021cd2: eeb8 7a67 vcvt.f32.u32 s14, s15 8021cd6: edd7 7a02 vldr s15, [r7, #8] 8021cda: ee67 7a27 vmul.f32 s15, s14, s15 8021cde: edc7 7a02 vstr s15, [r7, #8] f *= (float32_t) AVG[k]; 8021ce2: 7bbb ldrb r3, [r7, #14] 8021ce4: 461a mov r2, r3 8021ce6: 4b21 ldr r3, [pc, #132] ; (8021d6c ) 8021ce8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8021cec: ee07 3a90 vmov s15, r3 8021cf0: eeb8 7a67 vcvt.f32.u32 s14, s15 8021cf4: edd7 7a02 vldr s15, [r7, #8] 8021cf8: ee67 7a27 vmul.f32 s15, s14, s15 8021cfc: edc7 7a02 vstr s15, [r7, #8] if(f > 8) 8021d00: edd7 7a02 vldr s15, [r7, #8] 8021d04: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 8021d08: eef4 7ac7 vcmpe.f32 s15, s14 8021d0c: eef1 fa10 vmrs APSR_nzcv, fpscr 8021d10: dd49 ble.n 8021da6 { f /= (float32_t) AVG[k]; 8021d12: edd7 6a02 vldr s13, [r7, #8] 8021d16: 7bbb ldrb r3, [r7, #14] 8021d18: 461a mov r2, r3 8021d1a: 4b14 ldr r3, [pc, #80] ; (8021d6c ) 8021d1c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8021d20: ee07 3a90 vmov s15, r3 8021d24: eeb8 7a67 vcvt.f32.u32 s14, s15 8021d28: eec6 7a87 vdiv.f32 s15, s13, s14 8021d2c: edc7 7a02 vstr s15, [r7, #8] while(((f * (float32_t)AVG[k]) > 8) && (k > AVG1)) 8021d30: e022 b.n 8021d78 8021d32: bf00 nop 8021d34: 20020f68 .word 0x20020f68 8021d38: 40021800 .word 0x40021800 8021d3c: 20023e60 .word 0x20023e60 8021d40: 41200000 .word 0x41200000 8021d44: 461c4000 .word 0x461c4000 8021d48: 080d0c98 .word 0x080d0c98 8021d4c: 20021d1c .word 0x20021d1c 8021d50: 080d0c84 .word 0x080d0c84 8021d54: 20021cdc .word 0x20021cdc 8021d58: 20020f78 .word 0x20020f78 8021d5c: 40021400 .word 0x40021400 8021d60: 40020400 .word 0x40020400 8021d64: 080d0cc0 .word 0x080d0cc0 8021d68: 447a0000 .word 0x447a0000 8021d6c: 080d0c6c .word 0x080d0c6c k--; 8021d70: 7bbb ldrb r3, [r7, #14] 8021d72: 3b01 subs r3, #1 8021d74: b2db uxtb r3, r3 8021d76: 73bb strb r3, [r7, #14] while(((f * (float32_t)AVG[k]) > 8) && (k > AVG1)) 8021d78: 7bbb ldrb r3, [r7, #14] 8021d7a: 461a mov r2, r3 8021d7c: 4bbf ldr r3, [pc, #764] ; (802207c ) 8021d7e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8021d82: ee07 3a90 vmov s15, r3 8021d86: eeb8 7a67 vcvt.f32.u32 s14, s15 8021d8a: edd7 7a02 vldr s15, [r7, #8] 8021d8e: ee67 7a27 vmul.f32 s15, s14, s15 8021d92: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 8021d96: eef4 7ac7 vcmpe.f32 s15, s14 8021d9a: eef1 fa10 vmrs APSR_nzcv, fpscr 8021d9e: dd02 ble.n 8021da6 8021da0: 7bbb ldrb r3, [r7, #14] 8021da2: 2b00 cmp r3, #0 8021da4: d1e4 bne.n 8021d70 } AvgVal = AVG[k]; 8021da6: 7bbb ldrb r3, [r7, #14] 8021da8: 461a mov r2, r3 8021daa: 4bb4 ldr r3, [pc, #720] ; (802207c ) 8021dac: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8021db0: 461a mov r2, r3 8021db2: 4bb3 ldr r3, [pc, #716] ; (8022080 ) 8021db4: 601a str r2, [r3, #0] //***************************** AvgVal = AVG[pardata.AVG] * 8; 8021db6: 4bb3 ldr r3, [pc, #716] ; (8022084 ) 8021db8: 7b5b ldrb r3, [r3, #13] 8021dba: b2db uxtb r3, r3 8021dbc: 461a mov r2, r3 8021dbe: 4baf ldr r3, [pc, #700] ; (802207c ) 8021dc0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8021dc4: 00db lsls r3, r3, #3 8021dc6: 461a mov r2, r3 8021dc8: 4bad ldr r3, [pc, #692] ; (8022080 ) 8021dca: 601a str r2, [r3, #0] //***************************** if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8021dcc: 4bad ldr r3, [pc, #692] ; (8022084 ) 8021dce: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8021dd2: f003 0304 and.w r3, r3, #4 8021dd6: 2b00 cmp r3, #0 8021dd8: f040 85a2 bne.w 8022920 { k = Ku640; 8021ddc: 230a movs r3, #10 8021dde: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8021de0: 4ba8 ldr r3, [pc, #672] ; (8022084 ) 8021de2: edd3 7a06 vldr s15, [r3, #24] 8021de6: ed9f 7aa8 vldr s14, [pc, #672] ; 8022088 8021dea: ee37 7ac7 vsub.f32 s14, s15, s14 8021dee: 4ba5 ldr r3, [pc, #660] ; (8022084 ) 8021df0: edd3 7a04 vldr s15, [r3, #16] 8021df4: ee27 7a27 vmul.f32 s14, s14, s15 8021df8: 7bbb ldrb r3, [r7, #14] 8021dfa: 4aa4 ldr r2, [pc, #656] ; (802208c ) 8021dfc: 009b lsls r3, r3, #2 8021dfe: 4413 add r3, r2 8021e00: edd3 7a00 vldr s15, [r3] 8021e04: ee27 8a27 vmul.f32 s16, s14, s15 8021e08: f107 030e add.w r3, r7, #14 8021e0c: 4618 mov r0, r3 8021e0e: f001 f84b bl 8022ea8 8021e12: eef0 7a40 vmov.f32 s15, s0 8021e16: ee68 6a27 vmul.f32 s13, s16, s15 8021e1a: ed97 7a01 vldr s14, [r7, #4] 8021e1e: eec6 7a87 vdiv.f32 s15, s13, s14 8021e22: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8021e26: e026 b.n 8021e76 { k--; 8021e28: 7bbb ldrb r3, [r7, #14] 8021e2a: 3b01 subs r3, #1 8021e2c: b2db uxtb r3, r3 8021e2e: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8021e30: 4b94 ldr r3, [pc, #592] ; (8022084 ) 8021e32: edd3 7a06 vldr s15, [r3, #24] 8021e36: ed9f 7a94 vldr s14, [pc, #592] ; 8022088 8021e3a: ee37 7ac7 vsub.f32 s14, s15, s14 8021e3e: 4b91 ldr r3, [pc, #580] ; (8022084 ) 8021e40: edd3 7a04 vldr s15, [r3, #16] 8021e44: ee27 7a27 vmul.f32 s14, s14, s15 8021e48: 7bbb ldrb r3, [r7, #14] 8021e4a: 4a90 ldr r2, [pc, #576] ; (802208c ) 8021e4c: 009b lsls r3, r3, #2 8021e4e: 4413 add r3, r2 8021e50: edd3 7a00 vldr s15, [r3] 8021e54: ee27 8a27 vmul.f32 s16, s14, s15 8021e58: f107 030e add.w r3, r7, #14 8021e5c: 4618 mov r0, r3 8021e5e: f001 f823 bl 8022ea8 8021e62: eef0 7a40 vmov.f32 s15, s0 8021e66: ee68 6a27 vmul.f32 s13, s16, s15 8021e6a: ed97 7a01 vldr s14, [r7, #4] 8021e6e: eec6 7a87 vdiv.f32 s15, s13, s14 8021e72: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8021e76: 7bbb ldrb r3, [r7, #14] 8021e78: 7bfa ldrb r2, [r7, #15] 8021e7a: 429a cmp r2, r3 8021e7c: d208 bcs.n 8021e90 8021e7e: ed9f 7a84 vldr s14, [pc, #528] ; 8022090 8021e82: edd7 7a02 vldr s15, [r7, #8] 8021e86: eeb4 7ae7 vcmpe.f32 s14, s15 8021e8a: eef1 fa10 vmrs APSR_nzcv, fpscr 8021e8e: d4cb bmi.n 8021e28 } pardata.IKU = k; 8021e90: 7bba ldrb r2, [r7, #14] 8021e92: 4b7c ldr r3, [pc, #496] ; (8022084 ) 8021e94: 721a strb r2, [r3, #8] SetKU(); 8021e96: f7ff fced bl 8021874 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8021e9a: f000 bd41 b.w 8022920 } } else if(pardata.SYG == FRAN) 8021e9e: 4b79 ldr r3, [pc, #484] ; (8022084 ) 8021ea0: 781b ldrb r3, [r3, #0] 8021ea2: b2db uxtb r3, r3 8021ea4: 2b03 cmp r3, #3 8021ea6: f040 80b2 bne.w 802200e { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8021eaa: 2200 movs r2, #0 8021eac: f44f 4180 mov.w r1, #16384 ; 0x4000 8021eb0: 4878 ldr r0, [pc, #480] ; (8022094 ) 8021eb2: f093 fe99 bl 80b5be8 #endif pardata.FRQ = _64000Hz; 8021eb6: 4b73 ldr r3, [pc, #460] ; (8022084 ) 8021eb8: 2209 movs r2, #9 8021eba: 72da strb r2, [r3, #11] pardata.LNE = N3200; // 0.128s 8021ebc: 4b71 ldr r3, [pc, #452] ; (8022084 ) 8021ebe: 2203 movs r2, #3 8021ec0: 71da strb r2, [r3, #7] Fs = FS[pardata.FRQ]; 8021ec2: 4b70 ldr r3, [pc, #448] ; (8022084 ) 8021ec4: 7adb ldrb r3, [r3, #11] 8021ec6: b2db uxtb r3, r3 8021ec8: 461a mov r2, r3 8021eca: 4b73 ldr r3, [pc, #460] ; (8022098 ) 8021ecc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8021ed0: 4a72 ldr r2, [pc, #456] ; (802209c ) 8021ed2: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 8021ed4: 4b6b ldr r3, [pc, #428] ; (8022084 ) 8021ed6: 79db ldrb r3, [r3, #7] 8021ed8: b2db uxtb r3, r3 8021eda: 461a mov r2, r3 8021edc: 4b70 ldr r3, [pc, #448] ; (80220a0 ) 8021ede: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8021ee2: 4a70 ldr r2, [pc, #448] ; (80220a4 ) 8021ee4: 6013 str r3, [r2, #0] f = pardata.LP; 8021ee6: 4b67 ldr r3, [pc, #412] ; (8022084 ) 8021ee8: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8021eec: 60bb str r3, [r7, #8] f /= Delta_SPC[FsIndex()][pardata.LNE]; 8021eee: f044 fbc9 bl 8066684 8021ef2: 4b64 ldr r3, [pc, #400] ; (8022084 ) 8021ef4: 79db ldrb r3, [r3, #7] 8021ef6: b2db uxtb r3, r3 8021ef8: 4619 mov r1, r3 8021efa: 4a6b ldr r2, [pc, #428] ; (80220a8 ) 8021efc: 0083 lsls r3, r0, #2 8021efe: 440b add r3, r1 8021f00: 009b lsls r3, r3, #2 8021f02: 4413 add r3, r2 8021f04: ed93 7a00 vldr s14, [r3] 8021f08: edd7 6a02 vldr s13, [r7, #8] 8021f0c: eec6 7a87 vdiv.f32 s15, s13, s14 8021f10: edc7 7a02 vstr s15, [r7, #8] NumHarmonics = (uint32_t) f; 8021f14: edd7 7a02 vldr s15, [r7, #8] 8021f18: eefc 7ae7 vcvt.u32.f32 s15, s15 8021f1c: ee17 2a90 vmov r2, s15 8021f20: 4b62 ldr r3, [pc, #392] ; (80220ac ) 8021f22: 601a str r2, [r3, #0] if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8021f24: 4b57 ldr r3, [pc, #348] ; (8022084 ) 8021f26: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8021f2a: f003 0304 and.w r3, r3, #4 8021f2e: 2b00 cmp r3, #0 8021f30: d15e bne.n 8021ff0 { k = Ku640; 8021f32: 230a movs r3, #10 8021f34: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8021f36: 4b53 ldr r3, [pc, #332] ; (8022084 ) 8021f38: edd3 7a06 vldr s15, [r3, #24] 8021f3c: ed9f 7a52 vldr s14, [pc, #328] ; 8022088 8021f40: ee37 7ac7 vsub.f32 s14, s15, s14 8021f44: 4b4f ldr r3, [pc, #316] ; (8022084 ) 8021f46: edd3 7a04 vldr s15, [r3, #16] 8021f4a: ee27 7a27 vmul.f32 s14, s14, s15 8021f4e: 7bbb ldrb r3, [r7, #14] 8021f50: 4a4e ldr r2, [pc, #312] ; (802208c ) 8021f52: 009b lsls r3, r3, #2 8021f54: 4413 add r3, r2 8021f56: edd3 7a00 vldr s15, [r3] 8021f5a: ee27 8a27 vmul.f32 s16, s14, s15 8021f5e: f107 030e add.w r3, r7, #14 8021f62: 4618 mov r0, r3 8021f64: f000 ffa0 bl 8022ea8 8021f68: eef0 7a40 vmov.f32 s15, s0 8021f6c: ee68 6a27 vmul.f32 s13, s16, s15 8021f70: ed97 7a01 vldr s14, [r7, #4] 8021f74: eec6 7a87 vdiv.f32 s15, s13, s14 8021f78: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8021f7c: e026 b.n 8021fcc { k--; 8021f7e: 7bbb ldrb r3, [r7, #14] 8021f80: 3b01 subs r3, #1 8021f82: b2db uxtb r3, r3 8021f84: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8021f86: 4b3f ldr r3, [pc, #252] ; (8022084 ) 8021f88: edd3 7a06 vldr s15, [r3, #24] 8021f8c: ed9f 7a3e vldr s14, [pc, #248] ; 8022088 8021f90: ee37 7ac7 vsub.f32 s14, s15, s14 8021f94: 4b3b ldr r3, [pc, #236] ; (8022084 ) 8021f96: edd3 7a04 vldr s15, [r3, #16] 8021f9a: ee27 7a27 vmul.f32 s14, s14, s15 8021f9e: 7bbb ldrb r3, [r7, #14] 8021fa0: 4a3a ldr r2, [pc, #232] ; (802208c ) 8021fa2: 009b lsls r3, r3, #2 8021fa4: 4413 add r3, r2 8021fa6: edd3 7a00 vldr s15, [r3] 8021faa: ee27 8a27 vmul.f32 s16, s14, s15 8021fae: f107 030e add.w r3, r7, #14 8021fb2: 4618 mov r0, r3 8021fb4: f000 ff78 bl 8022ea8 8021fb8: eef0 7a40 vmov.f32 s15, s0 8021fbc: ee68 6a27 vmul.f32 s13, s16, s15 8021fc0: ed97 7a01 vldr s14, [r7, #4] 8021fc4: eec6 7a87 vdiv.f32 s15, s13, s14 8021fc8: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8021fcc: 7bbb ldrb r3, [r7, #14] 8021fce: 7bfa ldrb r2, [r7, #15] 8021fd0: 429a cmp r2, r3 8021fd2: d208 bcs.n 8021fe6 8021fd4: ed9f 7a2e vldr s14, [pc, #184] ; 8022090 8021fd8: edd7 7a02 vldr s15, [r7, #8] 8021fdc: eeb4 7ae7 vcmpe.f32 s14, s15 8021fe0: eef1 fa10 vmrs APSR_nzcv, fpscr 8021fe4: d4cb bmi.n 8021f7e } pardata.IKU = k; 8021fe6: 7bba ldrb r2, [r7, #14] 8021fe8: 4b26 ldr r3, [pc, #152] ; (8022084 ) 8021fea: 721a strb r2, [r3, #8] SetKU(); 8021fec: f7ff fc42 bl 8021874 } AvgVal = AVG[pardata.AVG] * 8; 8021ff0: 4b24 ldr r3, [pc, #144] ; (8022084 ) 8021ff2: 7b5b ldrb r3, [r3, #13] 8021ff4: b2db uxtb r3, r3 8021ff6: 461a mov r2, r3 8021ff8: 4b20 ldr r3, [pc, #128] ; (802207c ) 8021ffa: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8021ffe: 00db lsls r3, r3, #3 8022000: 461a mov r2, r3 8022002: 4b1f ldr r3, [pc, #124] ; (8022080 ) 8022004: 601a str r2, [r3, #0] RefreshGraf(); 8022006: f030 fedd bl 8052dc4 802200a: f000 bc89 b.w 8022920 } else if(pardata.SYG == OSC) 802200e: 4b1d ldr r3, [pc, #116] ; (8022084 ) 8022010: 781b ldrb r3, [r3, #0] 8022012: b2db uxtb r3, r3 8022014: 2b02 cmp r3, #2 8022016: f040 8108 bne.w 802222a {//todo #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 802201a: 2200 movs r2, #0 802201c: f44f 4180 mov.w r1, #16384 ; 0x4000 8022020: 481c ldr r0, [pc, #112] ; (8022094 ) 8022022: f093 fde1 bl 80b5be8 #endif if(Threshold) 8022026: 4b22 ldr r3, [pc, #136] ; (80220b0 ) 8022028: 781b ldrb r3, [r3, #0] 802202a: b2db uxtb r3, r3 802202c: 2b00 cmp r3, #0 802202e: d07b beq.n 8022128 { k = Ku640; 8022030: 230a movs r3, #10 8022032: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8022034: 4b13 ldr r3, [pc, #76] ; (8022084 ) 8022036: edd3 7a06 vldr s15, [r3, #24] 802203a: ed9f 7a13 vldr s14, [pc, #76] ; 8022088 802203e: ee37 7ac7 vsub.f32 s14, s15, s14 8022042: 4b10 ldr r3, [pc, #64] ; (8022084 ) 8022044: edd3 7a04 vldr s15, [r3, #16] 8022048: ee27 7a27 vmul.f32 s14, s14, s15 802204c: 7bbb ldrb r3, [r7, #14] 802204e: 4a0f ldr r2, [pc, #60] ; (802208c ) 8022050: 009b lsls r3, r3, #2 8022052: 4413 add r3, r2 8022054: edd3 7a00 vldr s15, [r3] 8022058: ee27 8a27 vmul.f32 s16, s14, s15 802205c: f107 030e add.w r3, r7, #14 8022060: 4618 mov r0, r3 8022062: f000 ff21 bl 8022ea8 8022066: eef0 7a40 vmov.f32 s15, s0 802206a: ee68 6a27 vmul.f32 s13, s16, s15 802206e: ed97 7a01 vldr s14, [r7, #4] 8022072: eec6 7a87 vdiv.f32 s15, s13, s14 8022076: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 802207a: e042 b.n 8022102 802207c: 080d0c6c .word 0x080d0c6c 8022080: 20020d64 .word 0x20020d64 8022084: 20023e60 .word 0x20023e60 8022088: 3d4ccccd .word 0x3d4ccccd 802208c: 080d0c40 .word 0x080d0c40 8022090: 447a0000 .word 0x447a0000 8022094: 40021800 .word 0x40021800 8022098: 080d0c98 .word 0x080d0c98 802209c: 20021d1c .word 0x20021d1c 80220a0: 080d0c84 .word 0x080d0c84 80220a4: 20021cdc .word 0x20021cdc 80220a8: 080d0ce8 .word 0x080d0ce8 80220ac: 20021568 .word 0x20021568 80220b0: 20020db1 .word 0x20020db1 { k--; 80220b4: 7bbb ldrb r3, [r7, #14] 80220b6: 3b01 subs r3, #1 80220b8: b2db uxtb r3, r3 80220ba: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 80220bc: 4bac ldr r3, [pc, #688] ; (8022370 ) 80220be: edd3 7a06 vldr s15, [r3, #24] 80220c2: ed9f 7aac vldr s14, [pc, #688] ; 8022374 80220c6: ee37 7ac7 vsub.f32 s14, s15, s14 80220ca: 4ba9 ldr r3, [pc, #676] ; (8022370 ) 80220cc: edd3 7a04 vldr s15, [r3, #16] 80220d0: ee27 7a27 vmul.f32 s14, s14, s15 80220d4: 7bbb ldrb r3, [r7, #14] 80220d6: 4aa8 ldr r2, [pc, #672] ; (8022378 ) 80220d8: 009b lsls r3, r3, #2 80220da: 4413 add r3, r2 80220dc: edd3 7a00 vldr s15, [r3] 80220e0: ee27 8a27 vmul.f32 s16, s14, s15 80220e4: f107 030e add.w r3, r7, #14 80220e8: 4618 mov r0, r3 80220ea: f000 fedd bl 8022ea8 80220ee: eef0 7a40 vmov.f32 s15, s0 80220f2: ee68 6a27 vmul.f32 s13, s16, s15 80220f6: ed97 7a01 vldr s14, [r7, #4] 80220fa: eec6 7a87 vdiv.f32 s15, s13, s14 80220fe: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8022102: 7bbb ldrb r3, [r7, #14] 8022104: 7bfa ldrb r2, [r7, #15] 8022106: 429a cmp r2, r3 8022108: d208 bcs.n 802211c 802210a: ed9f 7a9c vldr s14, [pc, #624] ; 802237c 802210e: edd7 7a02 vldr s15, [r7, #8] 8022112: eeb4 7ae7 vcmpe.f32 s14, s15 8022116: eef1 fa10 vmrs APSR_nzcv, fpscr 802211a: d4cb bmi.n 80220b4 } pardata.IKU = k; 802211c: 7bba ldrb r2, [r7, #14] 802211e: 4b94 ldr r3, [pc, #592] ; (8022370 ) 8022120: 721a strb r2, [r3, #8] SetKU(); 8022122: f7ff fba7 bl 8021874 8022126: e06b b.n 8022200 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8022128: 4b91 ldr r3, [pc, #580] ; (8022370 ) 802212a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 802212e: f003 0304 and.w r3, r3, #4 8022132: 2b00 cmp r3, #0 8022134: d15f bne.n 80221f6 { k = Ku640; 8022136: 230a movs r3, #10 8022138: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 802213a: 4b8d ldr r3, [pc, #564] ; (8022370 ) 802213c: edd3 7a06 vldr s15, [r3, #24] 8022140: ed9f 7a8c vldr s14, [pc, #560] ; 8022374 8022144: ee37 7ac7 vsub.f32 s14, s15, s14 8022148: 4b89 ldr r3, [pc, #548] ; (8022370 ) 802214a: edd3 7a04 vldr s15, [r3, #16] 802214e: ee27 7a27 vmul.f32 s14, s14, s15 8022152: 7bbb ldrb r3, [r7, #14] 8022154: 4a88 ldr r2, [pc, #544] ; (8022378 ) 8022156: 009b lsls r3, r3, #2 8022158: 4413 add r3, r2 802215a: edd3 7a00 vldr s15, [r3] 802215e: ee27 8a27 vmul.f32 s16, s14, s15 8022162: f107 030e add.w r3, r7, #14 8022166: 4618 mov r0, r3 8022168: f000 fe9e bl 8022ea8 802216c: eef0 7a40 vmov.f32 s15, s0 8022170: ee68 6a27 vmul.f32 s13, s16, s15 8022174: ed97 7a01 vldr s14, [r7, #4] 8022178: eec6 7a87 vdiv.f32 s15, s13, s14 802217c: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8022180: e026 b.n 80221d0 { k--; 8022182: 7bbb ldrb r3, [r7, #14] 8022184: 3b01 subs r3, #1 8022186: b2db uxtb r3, r3 8022188: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 802218a: 4b79 ldr r3, [pc, #484] ; (8022370 ) 802218c: edd3 7a06 vldr s15, [r3, #24] 8022190: ed9f 7a78 vldr s14, [pc, #480] ; 8022374 8022194: ee37 7ac7 vsub.f32 s14, s15, s14 8022198: 4b75 ldr r3, [pc, #468] ; (8022370 ) 802219a: edd3 7a04 vldr s15, [r3, #16] 802219e: ee27 7a27 vmul.f32 s14, s14, s15 80221a2: 7bbb ldrb r3, [r7, #14] 80221a4: 4a74 ldr r2, [pc, #464] ; (8022378 ) 80221a6: 009b lsls r3, r3, #2 80221a8: 4413 add r3, r2 80221aa: edd3 7a00 vldr s15, [r3] 80221ae: ee27 8a27 vmul.f32 s16, s14, s15 80221b2: f107 030e add.w r3, r7, #14 80221b6: 4618 mov r0, r3 80221b8: f000 fe76 bl 8022ea8 80221bc: eef0 7a40 vmov.f32 s15, s0 80221c0: ee68 6a27 vmul.f32 s13, s16, s15 80221c4: ed97 7a01 vldr s14, [r7, #4] 80221c8: eec6 7a87 vdiv.f32 s15, s13, s14 80221cc: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 80221d0: 7bbb ldrb r3, [r7, #14] 80221d2: 7bfa ldrb r2, [r7, #15] 80221d4: 429a cmp r2, r3 80221d6: d208 bcs.n 80221ea 80221d8: ed9f 7a68 vldr s14, [pc, #416] ; 802237c 80221dc: edd7 7a02 vldr s15, [r7, #8] 80221e0: eeb4 7ae7 vcmpe.f32 s14, s15 80221e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80221e8: d4cb bmi.n 8022182 } pardata.IKU = k; 80221ea: 7bba ldrb r2, [r7, #14] 80221ec: 4b60 ldr r3, [pc, #384] ; (8022370 ) 80221ee: 721a strb r2, [r3, #8] SetKU(); 80221f0: f7ff fb40 bl 8021874 80221f4: e004 b.n 8022200 } else { pardata.IKU = Ku1; 80221f6: 4b5e ldr r3, [pc, #376] ; (8022370 ) 80221f8: 2200 movs r2, #0 80221fa: 721a strb r2, [r3, #8] SetKU(); 80221fc: f7ff fb3a bl 8021874 } } Fs = FS[pardata.FRQ]; 8022200: 4b5b ldr r3, [pc, #364] ; (8022370 ) 8022202: 7adb ldrb r3, [r3, #11] 8022204: b2db uxtb r3, r3 8022206: 461a mov r2, r3 8022208: 4b5d ldr r3, [pc, #372] ; (8022380 ) 802220a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802220e: 4a5d ldr r2, [pc, #372] ; (8022384 ) 8022210: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 8022212: 4b57 ldr r3, [pc, #348] ; (8022370 ) 8022214: 79db ldrb r3, [r3, #7] 8022216: b2db uxtb r3, r3 8022218: 461a mov r2, r3 802221a: 4b5b ldr r3, [pc, #364] ; (8022388 ) 802221c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8022220: 4a5a ldr r2, [pc, #360] ; (802238c ) 8022222: 6013 str r3, [r2, #0] RefreshGraf(); 8022224: f030 fdce bl 8052dc4 8022228: e37a b.n 8022920 } else if(pardata.SYG == ROLL) 802222a: 4b51 ldr r3, [pc, #324] ; (8022370 ) 802222c: 781b ldrb r3, [r3, #0] 802222e: b2db uxtb r3, r3 8022230: 2b08 cmp r3, #8 8022232: f040 80b1 bne.w 8022398 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8022236: 2200 movs r2, #0 8022238: f44f 4180 mov.w r1, #16384 ; 0x4000 802223c: 4854 ldr r0, [pc, #336] ; (8022390 ) 802223e: f093 fcd3 bl 80b5be8 #endif pardata.FRQ = _4000Hz; 8022242: 4b4b ldr r3, [pc, #300] ; (8022370 ) 8022244: 2205 movs r2, #5 8022246: 72da strb r2, [r3, #11] pardata.LNE = N3200; 8022248: 4b49 ldr r3, [pc, #292] ; (8022370 ) 802224a: 2203 movs r2, #3 802224c: 71da strb r2, [r3, #7] pardata.MSH = LOG; 802224e: 4b48 ldr r3, [pc, #288] ; (8022370 ) 8022250: 2201 movs r2, #1 8022252: 729a strb r2, [r3, #10] pardata.IPR = ACC; 8022254: 4b46 ldr r3, [pc, #280] ; (8022370 ) 8022256: 2200 movs r2, #0 8022258: 705a strb r2, [r3, #1] if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 802225a: 4b45 ldr r3, [pc, #276] ; (8022370 ) 802225c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8022260: f003 0304 and.w r3, r3, #4 8022264: 2b00 cmp r3, #0 8022266: d15f bne.n 8022328 { k = Ku640; 8022268: 230a movs r3, #10 802226a: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 802226c: 4b40 ldr r3, [pc, #256] ; (8022370 ) 802226e: edd3 7a06 vldr s15, [r3, #24] 8022272: ed9f 7a40 vldr s14, [pc, #256] ; 8022374 8022276: ee37 7ac7 vsub.f32 s14, s15, s14 802227a: 4b3d ldr r3, [pc, #244] ; (8022370 ) 802227c: edd3 7a04 vldr s15, [r3, #16] 8022280: ee27 7a27 vmul.f32 s14, s14, s15 8022284: 7bbb ldrb r3, [r7, #14] 8022286: 4a3c ldr r2, [pc, #240] ; (8022378 ) 8022288: 009b lsls r3, r3, #2 802228a: 4413 add r3, r2 802228c: edd3 7a00 vldr s15, [r3] 8022290: ee27 8a27 vmul.f32 s16, s14, s15 8022294: f107 030e add.w r3, r7, #14 8022298: 4618 mov r0, r3 802229a: f000 fe05 bl 8022ea8 802229e: eef0 7a40 vmov.f32 s15, s0 80222a2: ee68 6a27 vmul.f32 s13, s16, s15 80222a6: ed97 7a01 vldr s14, [r7, #4] 80222aa: eec6 7a87 vdiv.f32 s15, s13, s14 80222ae: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 80222b2: e026 b.n 8022302 { k--; 80222b4: 7bbb ldrb r3, [r7, #14] 80222b6: 3b01 subs r3, #1 80222b8: b2db uxtb r3, r3 80222ba: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 80222bc: 4b2c ldr r3, [pc, #176] ; (8022370 ) 80222be: edd3 7a06 vldr s15, [r3, #24] 80222c2: ed9f 7a2c vldr s14, [pc, #176] ; 8022374 80222c6: ee37 7ac7 vsub.f32 s14, s15, s14 80222ca: 4b29 ldr r3, [pc, #164] ; (8022370 ) 80222cc: edd3 7a04 vldr s15, [r3, #16] 80222d0: ee27 7a27 vmul.f32 s14, s14, s15 80222d4: 7bbb ldrb r3, [r7, #14] 80222d6: 4a28 ldr r2, [pc, #160] ; (8022378 ) 80222d8: 009b lsls r3, r3, #2 80222da: 4413 add r3, r2 80222dc: edd3 7a00 vldr s15, [r3] 80222e0: ee27 8a27 vmul.f32 s16, s14, s15 80222e4: f107 030e add.w r3, r7, #14 80222e8: 4618 mov r0, r3 80222ea: f000 fddd bl 8022ea8 80222ee: eef0 7a40 vmov.f32 s15, s0 80222f2: ee68 6a27 vmul.f32 s13, s16, s15 80222f6: ed97 7a01 vldr s14, [r7, #4] 80222fa: eec6 7a87 vdiv.f32 s15, s13, s14 80222fe: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8022302: 7bbb ldrb r3, [r7, #14] 8022304: 7bfa ldrb r2, [r7, #15] 8022306: 429a cmp r2, r3 8022308: d208 bcs.n 802231c 802230a: ed9f 7a1c vldr s14, [pc, #112] ; 802237c 802230e: edd7 7a02 vldr s15, [r7, #8] 8022312: eeb4 7ae7 vcmpe.f32 s14, s15 8022316: eef1 fa10 vmrs APSR_nzcv, fpscr 802231a: d4cb bmi.n 80222b4 } pardata.IKU = k; 802231c: 7bba ldrb r2, [r7, #14] 802231e: 4b14 ldr r3, [pc, #80] ; (8022370 ) 8022320: 721a strb r2, [r3, #8] SetKU(); 8022322: f7ff faa7 bl 8021874 8022326: e004 b.n 8022332 } else { pardata.IKU = Ku1; 8022328: 4b11 ldr r3, [pc, #68] ; (8022370 ) 802232a: 2200 movs r2, #0 802232c: 721a strb r2, [r3, #8] SetKU(); 802232e: f7ff faa1 bl 8021874 } pardata.HP = 1.0f; 8022332: 4b0f ldr r3, [pc, #60] ; (8022370 ) 8022334: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8022338: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 pardata.LP = 800.0f; 802233c: 4b0c ldr r3, [pc, #48] ; (8022370 ) 802233e: 4a15 ldr r2, [pc, #84] ; (8022394 ) 8022340: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 Fs = FS[pardata.FRQ]; 8022344: 4b0a ldr r3, [pc, #40] ; (8022370 ) 8022346: 7adb ldrb r3, [r3, #11] 8022348: b2db uxtb r3, r3 802234a: 461a mov r2, r3 802234c: 4b0c ldr r3, [pc, #48] ; (8022380 ) 802234e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8022352: 4a0c ldr r2, [pc, #48] ; (8022384 ) 8022354: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 8022356: 4b06 ldr r3, [pc, #24] ; (8022370 ) 8022358: 79db ldrb r3, [r3, #7] 802235a: b2db uxtb r3, r3 802235c: 461a mov r2, r3 802235e: 4b0a ldr r3, [pc, #40] ; (8022388 ) 8022360: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8022364: 4a09 ldr r2, [pc, #36] ; (802238c ) 8022366: 6013 str r3, [r2, #0] RefreshGraf(); 8022368: f030 fd2c bl 8052dc4 802236c: e2d8 b.n 8022920 802236e: bf00 nop 8022370: 20023e60 .word 0x20023e60 8022374: 3d4ccccd .word 0x3d4ccccd 8022378: 080d0c40 .word 0x080d0c40 802237c: 447a0000 .word 0x447a0000 8022380: 080d0c98 .word 0x080d0c98 8022384: 20021d1c .word 0x20021d1c 8022388: 080d0c84 .word 0x080d0c84 802238c: 20021cdc .word 0x20021cdc 8022390: 40021800 .word 0x40021800 8022394: 44480000 .word 0x44480000 } else if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == SPEC_OKT) || (pardata.SYG == SPEC_THIRD)) 8022398: 4b6c ldr r3, [pc, #432] ; (802254c ) 802239a: 781b ldrb r3, [r3, #0] 802239c: b2db uxtb r3, r3 802239e: 2b01 cmp r3, #1 80223a0: d00f beq.n 80223c2 80223a2: 4b6a ldr r3, [pc, #424] ; (802254c ) 80223a4: 781b ldrb r3, [r3, #0] 80223a6: b2db uxtb r3, r3 80223a8: 2b05 cmp r3, #5 80223aa: d00a beq.n 80223c2 80223ac: 4b67 ldr r3, [pc, #412] ; (802254c ) 80223ae: 781b ldrb r3, [r3, #0] 80223b0: b2db uxtb r3, r3 80223b2: 2b06 cmp r3, #6 80223b4: d005 beq.n 80223c2 80223b6: 4b65 ldr r3, [pc, #404] ; (802254c ) 80223b8: 781b ldrb r3, [r3, #0] 80223ba: b2db uxtb r3, r3 80223bc: 2b07 cmp r3, #7 80223be: f040 8087 bne.w 80224d0 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 80223c2: 2200 movs r2, #0 80223c4: f44f 4180 mov.w r1, #16384 ; 0x4000 80223c8: 4861 ldr r0, [pc, #388] ; (8022550 ) 80223ca: f093 fc0d bl 80b5be8 #endif if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80223ce: 4b5f ldr r3, [pc, #380] ; (802254c ) 80223d0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80223d4: f003 0304 and.w r3, r3, #4 80223d8: 2b00 cmp r3, #0 80223da: d15f bne.n 802249c { k = Ku640; 80223dc: 230a movs r3, #10 80223de: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 80223e0: 4b5a ldr r3, [pc, #360] ; (802254c ) 80223e2: edd3 7a06 vldr s15, [r3, #24] 80223e6: ed9f 7a5b vldr s14, [pc, #364] ; 8022554 80223ea: ee37 7ac7 vsub.f32 s14, s15, s14 80223ee: 4b57 ldr r3, [pc, #348] ; (802254c ) 80223f0: edd3 7a04 vldr s15, [r3, #16] 80223f4: ee27 7a27 vmul.f32 s14, s14, s15 80223f8: 7bbb ldrb r3, [r7, #14] 80223fa: 4a57 ldr r2, [pc, #348] ; (8022558 ) 80223fc: 009b lsls r3, r3, #2 80223fe: 4413 add r3, r2 8022400: edd3 7a00 vldr s15, [r3] 8022404: ee27 8a27 vmul.f32 s16, s14, s15 8022408: f107 030e add.w r3, r7, #14 802240c: 4618 mov r0, r3 802240e: f000 fd4b bl 8022ea8 8022412: eef0 7a40 vmov.f32 s15, s0 8022416: ee68 6a27 vmul.f32 s13, s16, s15 802241a: ed97 7a01 vldr s14, [r7, #4] 802241e: eec6 7a87 vdiv.f32 s15, s13, s14 8022422: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8022426: e026 b.n 8022476 { k--; 8022428: 7bbb ldrb r3, [r7, #14] 802242a: 3b01 subs r3, #1 802242c: b2db uxtb r3, r3 802242e: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8022430: 4b46 ldr r3, [pc, #280] ; (802254c ) 8022432: edd3 7a06 vldr s15, [r3, #24] 8022436: ed9f 7a47 vldr s14, [pc, #284] ; 8022554 802243a: ee37 7ac7 vsub.f32 s14, s15, s14 802243e: 4b43 ldr r3, [pc, #268] ; (802254c ) 8022440: edd3 7a04 vldr s15, [r3, #16] 8022444: ee27 7a27 vmul.f32 s14, s14, s15 8022448: 7bbb ldrb r3, [r7, #14] 802244a: 4a43 ldr r2, [pc, #268] ; (8022558 ) 802244c: 009b lsls r3, r3, #2 802244e: 4413 add r3, r2 8022450: edd3 7a00 vldr s15, [r3] 8022454: ee27 8a27 vmul.f32 s16, s14, s15 8022458: f107 030e add.w r3, r7, #14 802245c: 4618 mov r0, r3 802245e: f000 fd23 bl 8022ea8 8022462: eef0 7a40 vmov.f32 s15, s0 8022466: ee68 6a27 vmul.f32 s13, s16, s15 802246a: ed97 7a01 vldr s14, [r7, #4] 802246e: eec6 7a87 vdiv.f32 s15, s13, s14 8022472: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 8022476: 7bbb ldrb r3, [r7, #14] 8022478: 7bfa ldrb r2, [r7, #15] 802247a: 429a cmp r2, r3 802247c: d208 bcs.n 8022490 802247e: ed9f 7a37 vldr s14, [pc, #220] ; 802255c 8022482: edd7 7a02 vldr s15, [r7, #8] 8022486: eeb4 7ae7 vcmpe.f32 s14, s15 802248a: eef1 fa10 vmrs APSR_nzcv, fpscr 802248e: d4cb bmi.n 8022428 } pardata.IKU = k; 8022490: 7bba ldrb r2, [r7, #14] 8022492: 4b2e ldr r3, [pc, #184] ; (802254c ) 8022494: 721a strb r2, [r3, #8] SetKU(); 8022496: f7ff f9ed bl 8021874 802249a: e004 b.n 80224a6 } else { pardata.IKU = Ku1; 802249c: 4b2b ldr r3, [pc, #172] ; (802254c ) 802249e: 2200 movs r2, #0 80224a0: 721a strb r2, [r3, #8] SetKU(); 80224a2: f7ff f9e7 bl 8021874 } Fs = FS[pardata.FRQ]; 80224a6: 4b29 ldr r3, [pc, #164] ; (802254c ) 80224a8: 7adb ldrb r3, [r3, #11] 80224aa: b2db uxtb r3, r3 80224ac: 461a mov r2, r3 80224ae: 4b2c ldr r3, [pc, #176] ; (8022560 ) 80224b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80224b4: 4a2b ldr r2, [pc, #172] ; (8022564 ) 80224b6: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 80224b8: 4b24 ldr r3, [pc, #144] ; (802254c ) 80224ba: 79db ldrb r3, [r3, #7] 80224bc: b2db uxtb r3, r3 80224be: 461a mov r2, r3 80224c0: 4b29 ldr r3, [pc, #164] ; (8022568 ) 80224c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80224c6: 4a29 ldr r2, [pc, #164] ; (802256c ) 80224c8: 6013 str r3, [r2, #0] RefreshGraf(); 80224ca: f030 fc7b bl 8052dc4 80224ce: e227 b.n 8022920 } else if(pardata.SYG == WAVE) 80224d0: 4b1e ldr r3, [pc, #120] ; (802254c ) 80224d2: 781b ldrb r3, [r3, #0] 80224d4: b2db uxtb r3, r3 80224d6: 2b04 cmp r3, #4 80224d8: f040 81be bne.w 8022858 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 80224dc: 2200 movs r2, #0 80224de: f44f 4180 mov.w r1, #16384 ; 0x4000 80224e2: 481b ldr r0, [pc, #108] ; (8022550 ) 80224e4: f093 fb80 bl 80b5be8 #endif pardata.LNE = N3200; 80224e8: 4b18 ldr r3, [pc, #96] ; (802254c ) 80224ea: 2203 movs r2, #3 80224ec: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 80224ee: 4b17 ldr r3, [pc, #92] ; (802254c ) 80224f0: 2209 movs r2, #9 80224f2: 72da strb r2, [r3, #11] if(Threshold) 80224f4: 4b1e ldr r3, [pc, #120] ; (8022570 ) 80224f6: 781b ldrb r3, [r3, #0] 80224f8: b2db uxtb r3, r3 80224fa: 2b00 cmp r3, #0 80224fc: f000 8112 beq.w 8022724 { k = Ku640; 8022500: 230a movs r3, #10 8022502: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8022504: 4b11 ldr r3, [pc, #68] ; (802254c ) 8022506: edd3 7a06 vldr s15, [r3, #24] 802250a: ed9f 7a12 vldr s14, [pc, #72] ; 8022554 802250e: ee37 7ac7 vsub.f32 s14, s15, s14 8022512: 4b0e ldr r3, [pc, #56] ; (802254c ) 8022514: edd3 7a04 vldr s15, [r3, #16] 8022518: ee27 7a27 vmul.f32 s14, s14, s15 802251c: 7bbb ldrb r3, [r7, #14] 802251e: 4a0e ldr r2, [pc, #56] ; (8022558 ) 8022520: 009b lsls r3, r3, #2 8022522: 4413 add r3, r2 8022524: edd3 7a00 vldr s15, [r3] 8022528: ee27 8a27 vmul.f32 s16, s14, s15 802252c: f107 030e add.w r3, r7, #14 8022530: 4618 mov r0, r3 8022532: f000 fcb9 bl 8022ea8 8022536: eef0 7a40 vmov.f32 s15, s0 802253a: ee68 6a27 vmul.f32 s13, s16, s15 802253e: ed97 7a01 vldr s14, [r7, #4] 8022542: eec6 7a87 vdiv.f32 s15, s13, s14 8022546: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 802254a: e03a b.n 80225c2 802254c: 20023e60 .word 0x20023e60 8022550: 40021800 .word 0x40021800 8022554: 3d4ccccd .word 0x3d4ccccd 8022558: 080d0c40 .word 0x080d0c40 802255c: 447a0000 .word 0x447a0000 8022560: 080d0c98 .word 0x080d0c98 8022564: 20021d1c .word 0x20021d1c 8022568: 080d0c84 .word 0x080d0c84 802256c: 20021cdc .word 0x20021cdc 8022570: 20020db1 .word 0x20020db1 { k--; 8022574: 7bbb ldrb r3, [r7, #14] 8022576: 3b01 subs r3, #1 8022578: b2db uxtb r3, r3 802257a: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 802257c: 4ba9 ldr r3, [pc, #676] ; (8022824 ) 802257e: edd3 7a06 vldr s15, [r3, #24] 8022582: ed9f 7aa9 vldr s14, [pc, #676] ; 8022828 8022586: ee37 7ac7 vsub.f32 s14, s15, s14 802258a: 4ba6 ldr r3, [pc, #664] ; (8022824 ) 802258c: edd3 7a04 vldr s15, [r3, #16] 8022590: ee27 7a27 vmul.f32 s14, s14, s15 8022594: 7bbb ldrb r3, [r7, #14] 8022596: 4aa5 ldr r2, [pc, #660] ; (802282c ) 8022598: 009b lsls r3, r3, #2 802259a: 4413 add r3, r2 802259c: edd3 7a00 vldr s15, [r3] 80225a0: ee27 8a27 vmul.f32 s16, s14, s15 80225a4: f107 030e add.w r3, r7, #14 80225a8: 4618 mov r0, r3 80225aa: f000 fc7d bl 8022ea8 80225ae: eef0 7a40 vmov.f32 s15, s0 80225b2: ee68 6a27 vmul.f32 s13, s16, s15 80225b6: ed97 7a01 vldr s14, [r7, #4] 80225ba: eec6 7a87 vdiv.f32 s15, s13, s14 80225be: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 80225c2: 7bbb ldrb r3, [r7, #14] 80225c4: 7bfa ldrb r2, [r7, #15] 80225c6: 429a cmp r2, r3 80225c8: d208 bcs.n 80225dc 80225ca: ed9f 7a99 vldr s14, [pc, #612] ; 8022830 80225ce: edd7 7a02 vldr s15, [r7, #8] 80225d2: eeb4 7ae7 vcmpe.f32 s14, s15 80225d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80225da: d4cb bmi.n 8022574 } pardata.IKU = k; 80225dc: 7bba ldrb r2, [r7, #14] 80225de: 4b91 ldr r3, [pc, #580] ; (8022824 ) 80225e0: 721a strb r2, [r3, #8] SetKU(); 80225e2: f7ff f947 bl 8021874 fm = (pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] / f1; 80225e6: 4b8f ldr r3, [pc, #572] ; (8022824 ) 80225e8: edd3 7a06 vldr s15, [r3, #24] 80225ec: ed9f 7a8e vldr s14, [pc, #568] ; 8022828 80225f0: ee37 7ac7 vsub.f32 s14, s15, s14 80225f4: 4b8b ldr r3, [pc, #556] ; (8022824 ) 80225f6: edd3 7a04 vldr s15, [r3, #16] 80225fa: ee27 7a27 vmul.f32 s14, s14, s15 80225fe: 7bbb ldrb r3, [r7, #14] 8022600: 4a8a ldr r2, [pc, #552] ; (802282c ) 8022602: 009b lsls r3, r3, #2 8022604: 4413 add r3, r2 8022606: edd3 7a00 vldr s15, [r3] 802260a: ee67 6a27 vmul.f32 s13, s14, s15 802260e: ed97 7a01 vldr s14, [r7, #4] 8022612: eec6 7a87 vdiv.f32 s15, s13, s14 8022616: edc7 7a00 vstr s15, [r7] f = (pardata.THR_VAL - 0.05f) * fm / (pardata.MAX_VAL - 0.05f); 802261a: 4b82 ldr r3, [pc, #520] ; (8022824 ) 802261c: edd3 7a05 vldr s15, [r3, #20] 8022620: ed9f 7a81 vldr s14, [pc, #516] ; 8022828 8022624: ee37 7ac7 vsub.f32 s14, s15, s14 8022628: edd7 7a00 vldr s15, [r7] 802262c: ee67 6a27 vmul.f32 s13, s14, s15 8022630: 4b7c ldr r3, [pc, #496] ; (8022824 ) 8022632: edd3 7a06 vldr s15, [r3, #24] 8022636: ed9f 7a7c vldr s14, [pc, #496] ; 8022828 802263a: ee37 7ac7 vsub.f32 s14, s15, s14 802263e: eec6 7a87 vdiv.f32 s15, s13, s14 8022642: edc7 7a02 vstr s15, [r7, #8] f *= CorrKm(&k); 8022646: f107 030e add.w r3, r7, #14 802264a: 4618 mov r0, r3 802264c: f000 fc2c bl 8022ea8 8022650: eeb0 7a40 vmov.f32 s14, s0 8022654: edd7 7a02 vldr s15, [r7, #8] 8022658: ee67 7a27 vmul.f32 s15, s14, s15 802265c: edc7 7a02 vstr s15, [r7, #8] f *= 0.001f; 8022660: edd7 7a02 vldr s15, [r7, #8] 8022664: ed9f 7a73 vldr s14, [pc, #460] ; 8022834 8022668: ee67 7a87 vmul.f32 s15, s15, s14 802266c: edc7 7a02 vstr s15, [r7, #8] f /= _b24; 8022670: ed97 7a02 vldr s14, [r7, #8] 8022674: eddf 6a70 vldr s13, [pc, #448] ; 8022838 8022678: eec7 7a26 vdiv.f32 s15, s14, s13 802267c: edc7 7a02 vstr s15, [r7, #8] f += 0.5f; 8022680: edd7 7a02 vldr s15, [r7, #8] 8022684: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8022688: ee77 7a87 vadd.f32 s15, s15, s14 802268c: edc7 7a02 vstr s15, [r7, #8] adcThr = (uint32_t) f; 8022690: edd7 7a02 vldr s15, [r7, #8] 8022694: eefc 7ae7 vcvt.u32.f32 s15, s15 8022698: ee17 2a90 vmov r2, s15 802269c: 4b67 ldr r3, [pc, #412] ; (802283c ) 802269e: 601a str r2, [r3, #0] if(adcThr > MEAN - 1) { 80226a0: 4b66 ldr r3, [pc, #408] ; (802283c ) 80226a2: 681b ldr r3, [r3, #0] 80226a4: ee07 3a90 vmov s15, r3 80226a8: eeb8 7a67 vcvt.f32.u32 s14, s15 80226ac: 4b64 ldr r3, [pc, #400] ; (8022840 ) 80226ae: edd3 7a00 vldr s15, [r3] 80226b2: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 80226b6: ee77 7ae6 vsub.f32 s15, s15, s13 80226ba: eeb4 7ae7 vcmpe.f32 s14, s15 80226be: eef1 fa10 vmrs APSR_nzcv, fpscr 80226c2: dd0c ble.n 80226de adcThr = MEAN - 1; 80226c4: 4b5e ldr r3, [pc, #376] ; (8022840 ) 80226c6: edd3 7a00 vldr s15, [r3] 80226ca: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80226ce: ee77 7ac7 vsub.f32 s15, s15, s14 80226d2: eefc 7ae7 vcvt.u32.f32 s15, s15 80226d6: ee17 2a90 vmov r2, s15 80226da: 4b58 ldr r3, [pc, #352] ; (802283c ) 80226dc: 601a str r2, [r3, #0] } _adcThr = MEAN - adcThr; 80226de: 4b58 ldr r3, [pc, #352] ; (8022840 ) 80226e0: ed93 7a00 vldr s14, [r3] 80226e4: 4b55 ldr r3, [pc, #340] ; (802283c ) 80226e6: 681b ldr r3, [r3, #0] 80226e8: ee07 3a90 vmov s15, r3 80226ec: eef8 7a67 vcvt.f32.u32 s15, s15 80226f0: ee77 7a67 vsub.f32 s15, s14, s15 80226f4: eefc 7ae7 vcvt.u32.f32 s15, s15 80226f8: ee17 2a90 vmov r2, s15 80226fc: 4b51 ldr r3, [pc, #324] ; (8022844 ) 80226fe: 601a str r2, [r3, #0] adcThr = MEAN + adcThr; 8022700: 4b4e ldr r3, [pc, #312] ; (802283c ) 8022702: 681b ldr r3, [r3, #0] 8022704: ee07 3a90 vmov s15, r3 8022708: eeb8 7a67 vcvt.f32.u32 s14, s15 802270c: 4b4c ldr r3, [pc, #304] ; (8022840 ) 802270e: edd3 7a00 vldr s15, [r3] 8022712: ee77 7a27 vadd.f32 s15, s14, s15 8022716: eefc 7ae7 vcvt.u32.f32 s15, s15 802271a: ee17 2a90 vmov r2, s15 802271e: 4b47 ldr r3, [pc, #284] ; (802283c ) 8022720: 601a str r2, [r3, #0] 8022722: e06b b.n 80227fc } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8022724: 4b3f ldr r3, [pc, #252] ; (8022824 ) 8022726: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 802272a: f003 0304 and.w r3, r3, #4 802272e: 2b00 cmp r3, #0 8022730: d15f bne.n 80227f2 { k = Ku640; 8022732: 230a movs r3, #10 8022734: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8022736: 4b3b ldr r3, [pc, #236] ; (8022824 ) 8022738: edd3 7a06 vldr s15, [r3, #24] 802273c: ed9f 7a3a vldr s14, [pc, #232] ; 8022828 8022740: ee37 7ac7 vsub.f32 s14, s15, s14 8022744: 4b37 ldr r3, [pc, #220] ; (8022824 ) 8022746: edd3 7a04 vldr s15, [r3, #16] 802274a: ee27 7a27 vmul.f32 s14, s14, s15 802274e: 7bbb ldrb r3, [r7, #14] 8022750: 4a36 ldr r2, [pc, #216] ; (802282c ) 8022752: 009b lsls r3, r3, #2 8022754: 4413 add r3, r2 8022756: edd3 7a00 vldr s15, [r3] 802275a: ee27 8a27 vmul.f32 s16, s14, s15 802275e: f107 030e add.w r3, r7, #14 8022762: 4618 mov r0, r3 8022764: f000 fba0 bl 8022ea8 8022768: eef0 7a40 vmov.f32 s15, s0 802276c: ee68 6a27 vmul.f32 s13, s16, s15 8022770: ed97 7a01 vldr s14, [r7, #4] 8022774: eec6 7a87 vdiv.f32 s15, s13, s14 8022778: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 802277c: e026 b.n 80227cc { k--; 802277e: 7bbb ldrb r3, [r7, #14] 8022780: 3b01 subs r3, #1 8022782: b2db uxtb r3, r3 8022784: 73bb strb r3, [r7, #14] f = ((pardata.MAX_VAL - 0.05f) * pardata.IKK * KM[k] * CorrKm(&k)) / f1; 8022786: 4b27 ldr r3, [pc, #156] ; (8022824 ) 8022788: edd3 7a06 vldr s15, [r3, #24] 802278c: ed9f 7a26 vldr s14, [pc, #152] ; 8022828 8022790: ee37 7ac7 vsub.f32 s14, s15, s14 8022794: 4b23 ldr r3, [pc, #140] ; (8022824 ) 8022796: edd3 7a04 vldr s15, [r3, #16] 802279a: ee27 7a27 vmul.f32 s14, s14, s15 802279e: 7bbb ldrb r3, [r7, #14] 80227a0: 4a22 ldr r2, [pc, #136] ; (802282c ) 80227a2: 009b lsls r3, r3, #2 80227a4: 4413 add r3, r2 80227a6: edd3 7a00 vldr s15, [r3] 80227aa: ee27 8a27 vmul.f32 s16, s14, s15 80227ae: f107 030e add.w r3, r7, #14 80227b2: 4618 mov r0, r3 80227b4: f000 fb78 bl 8022ea8 80227b8: eef0 7a40 vmov.f32 s15, s0 80227bc: ee68 6a27 vmul.f32 s13, s16, s15 80227c0: ed97 7a01 vldr s14, [r7, #4] 80227c4: eec6 7a87 vdiv.f32 s15, s13, s14 80227c8: edc7 7a02 vstr s15, [r7, #8] while((k > m) && (f > MAXVOLTS[PEAK])) 80227cc: 7bbb ldrb r3, [r7, #14] 80227ce: 7bfa ldrb r2, [r7, #15] 80227d0: 429a cmp r2, r3 80227d2: d208 bcs.n 80227e6 80227d4: ed9f 7a16 vldr s14, [pc, #88] ; 8022830 80227d8: edd7 7a02 vldr s15, [r7, #8] 80227dc: eeb4 7ae7 vcmpe.f32 s14, s15 80227e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80227e4: d4cb bmi.n 802277e } pardata.IKU = k; 80227e6: 7bba ldrb r2, [r7, #14] 80227e8: 4b0e ldr r3, [pc, #56] ; (8022824 ) 80227ea: 721a strb r2, [r3, #8] SetKU(); 80227ec: f7ff f842 bl 8021874 80227f0: e004 b.n 80227fc } else { pardata.IKU = Ku1; 80227f2: 4b0c ldr r3, [pc, #48] ; (8022824 ) 80227f4: 2200 movs r2, #0 80227f6: 721a strb r2, [r3, #8] SetKU(); 80227f8: f7ff f83c bl 8021874 } } Fs = FS[pardata.FRQ]; 80227fc: 4b09 ldr r3, [pc, #36] ; (8022824 ) 80227fe: 7adb ldrb r3, [r3, #11] 8022800: b2db uxtb r3, r3 8022802: 461a mov r2, r3 8022804: 4b10 ldr r3, [pc, #64] ; (8022848 ) 8022806: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802280a: 4a10 ldr r2, [pc, #64] ; (802284c ) 802280c: 6013 str r3, [r2, #0] Ns = NS[pardata.LNE]; 802280e: 4b05 ldr r3, [pc, #20] ; (8022824 ) 8022810: 79db ldrb r3, [r3, #7] 8022812: b2db uxtb r3, r3 8022814: 461a mov r2, r3 8022816: 4b0e ldr r3, [pc, #56] ; (8022850 ) 8022818: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802281c: 4a0d ldr r2, [pc, #52] ; (8022854 ) 802281e: 6013 str r3, [r2, #0] 8022820: e07e b.n 8022920 8022822: bf00 nop 8022824: 20023e60 .word 0x20023e60 8022828: 3d4ccccd .word 0x3d4ccccd 802282c: 080d0c40 .word 0x080d0c40 8022830: 447a0000 .word 0x447a0000 8022834: 3a83126f .word 0x3a83126f 8022838: 34400000 .word 0x34400000 802283c: 20020dbc .word 0x20020dbc 8022840: 200209cc .word 0x200209cc 8022844: 20020dc0 .word 0x20020dc0 8022848: 080d0c98 .word 0x080d0c98 802284c: 20021d1c .word 0x20021d1c 8022850: 080d0c84 .word 0x080d0c84 8022854: 20021cdc .word 0x20021cdc } else if(pardata.SYG == UDAR) 8022858: 4ba8 ldr r3, [pc, #672] ; (8022afc ) 802285a: 781b ldrb r3, [r3, #0] 802285c: b2db uxtb r3, r3 802285e: 2b09 cmp r3, #9 8022860: d15e bne.n 8022920 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8022862: 2200 movs r2, #0 8022864: f44f 4180 mov.w r1, #16384 ; 0x4000 8022868: 48a5 ldr r0, [pc, #660] ; (8022b00 ) 802286a: f093 f9bd bl 80b5be8 #endif pardata.FRQ = _64000Hz; 802286e: 4ba3 ldr r3, [pc, #652] ; (8022afc ) 8022870: 2209 movs r2, #9 8022872: 72da strb r2, [r3, #11] pardata.LNE = N6400; 8022874: 4ba1 ldr r3, [pc, #644] ; (8022afc ) 8022876: 2204 movs r2, #4 8022878: 71da strb r2, [r3, #7] AUTOKU = true; 802287a: 4ba2 ldr r3, [pc, #648] ; (8022b04 ) 802287c: 2201 movs r2, #1 802287e: 701a strb r2, [r3, #0] pardata.IKU = Ku8; 8022880: 4b9e ldr r3, [pc, #632] ; (8022afc ) 8022882: 2203 movs r2, #3 8022884: 721a strb r2, [r3, #8] SetKU(); 8022886: f7fe fff5 bl 8021874 Fs = 250000; 802288a: 4b9f ldr r3, [pc, #636] ; (8022b08 ) 802288c: 4a9f ldr r2, [pc, #636] ; (8022b0c ) 802288e: 601a str r2, [r3, #0] Ns = NS[pardata.LNE]; 8022890: 4b9a ldr r3, [pc, #616] ; (8022afc ) 8022892: 79db ldrb r3, [r3, #7] 8022894: b2db uxtb r3, r3 8022896: 461a mov r2, r3 8022898: 4b9d ldr r3, [pc, #628] ; (8022b10 ) 802289a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802289e: 4a9d ldr r2, [pc, #628] ; (8022b14 ) 80228a0: 6013 str r3, [r2, #0] RefreshGraf(); 80228a2: f030 fa8f bl 8052dc4 dBi = (float32_t) Calc_dBi((float64_t) pardata.D_INNER, (float64_t) pardata.D_RATE); 80228a6: 4b95 ldr r3, [pc, #596] ; (8022afc ) 80228a8: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 80228ac: eeb7 7ae7 vcvt.f64.f32 d7, s15 80228b0: 4b92 ldr r3, [pc, #584] ; (8022afc ) 80228b2: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 80228b6: ee06 3a90 vmov s13, r3 80228ba: eeb8 6b66 vcvt.f64.u32 d6, s13 80228be: eeb0 1b46 vmov.f64 d1, d6 80228c2: eeb0 0b47 vmov.f64 d0, d7 80228c6: f001 f8b7 bl 8023a38 80228ca: eeb0 7b40 vmov.f64 d7, d0 80228ce: eef7 7bc7 vcvt.f32.f64 s15, d7 80228d2: 4b91 ldr r3, [pc, #580] ; (8022b18 ) 80228d4: edc3 7a00 vstr s15, [r3] dBi += 0.5f; 80228d8: 4b8f ldr r3, [pc, #572] ; (8022b18 ) 80228da: edd3 7a00 vldr s15, [r3] 80228de: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80228e2: ee77 7a87 vadd.f32 s15, s15, s14 80228e6: 4b8c ldr r3, [pc, #560] ; (8022b18 ) 80228e8: edc3 7a00 vstr s15, [r3] if(dBi < -20.0f) dBi = -20.0f; 80228ec: 4b8a ldr r3, [pc, #552] ; (8022b18 ) 80228ee: edd3 7a00 vldr s15, [r3] 80228f2: eebb 7a04 vmov.f32 s14, #180 ; 0xc1a00000 -20.0 80228f6: eef4 7ac7 vcmpe.f32 s15, s14 80228fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80228fe: d502 bpl.n 8022906 8022900: 4b85 ldr r3, [pc, #532] ; (8022b18 ) 8022902: 4a86 ldr r2, [pc, #536] ; (8022b1c ) 8022904: 601a str r2, [r3, #0] if(dBi > 40.0f) dBi = 40.0f; 8022906: 4b84 ldr r3, [pc, #528] ; (8022b18 ) 8022908: edd3 7a00 vldr s15, [r3] 802290c: ed9f 7a84 vldr s14, [pc, #528] ; 8022b20 8022910: eef4 7ac7 vcmpe.f32 s15, s14 8022914: eef1 fa10 vmrs APSR_nzcv, fpscr 8022918: dd02 ble.n 8022920 802291a: 4b7f ldr r3, [pc, #508] ; (8022b18 ) 802291c: 4a81 ldr r2, [pc, #516] ; (8022b24 ) 802291e: 601a str r2, [r3, #0] } //******************************************************************************************************************************************************************* switch(Fs) 8022920: 4b79 ldr r3, [pc, #484] ; (8022b08 ) 8022922: 681b ldr r3, [r3, #0] 8022924: f5b3 6f7a cmp.w r3, #4000 ; 0xfa0 8022928: f000 8096 beq.w 8022a58 802292c: f5b3 6f7a cmp.w r3, #4000 ; 0xfa0 8022930: d811 bhi.n 8022956 8022932: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 8022936: d02f beq.n 8022998 8022938: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 802293c: d804 bhi.n 8022948 802293e: 2b7d cmp r3, #125 ; 0x7d 8022940: d022 beq.n 8022988 8022942: 2bfa cmp r3, #250 ; 0xfa 8022944: d024 beq.n 8022990 8022946: e19e b.n 8022c86 8022948: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 802294c: d028 beq.n 80229a0 802294e: f5b3 6ffa cmp.w r3, #2000 ; 0x7d0 8022952: d053 beq.n 80229fc 8022954: e197 b.n 8022c86 8022956: f5b3 4ffa cmp.w r3, #32000 ; 0x7d00 802295a: f000 811f beq.w 8022b9c 802295e: f5b3 4ffa cmp.w r3, #32000 ; 0x7d00 8022962: d808 bhi.n 8022976 8022964: f5b3 5ffa cmp.w r3, #8000 ; 0x1f40 8022968: f000 80a4 beq.w 8022ab4 802296c: f5b3 5f7a cmp.w r3, #16000 ; 0x3e80 8022970: f000 80e6 beq.w 8022b40 8022974: e187 b.n 8022c86 8022976: f5b3 4f7a cmp.w r3, #64000 ; 0xfa00 802297a: f000 813c beq.w 8022bf6 802297e: 4a63 ldr r2, [pc, #396] ; (8022b0c ) 8022980: 4293 cmp r3, r2 8022982: f000 8165 beq.w 8022c50 8022986: e17e b.n 8022c86 { case 125: Nr = 1; 8022988: 4b67 ldr r3, [pc, #412] ; (8022b28 ) 802298a: 2201 movs r2, #1 802298c: 801a strh r2, [r3, #0] break; 802298e: e18d b.n 8022cac case 250: Nr = 1; 8022990: 4b65 ldr r3, [pc, #404] ; (8022b28 ) 8022992: 2201 movs r2, #1 8022994: 801a strh r2, [r3, #0] break; 8022996: e189 b.n 8022cac case 500: Nr = 1; 8022998: 4b63 ldr r3, [pc, #396] ; (8022b28 ) 802299a: 2201 movs r2, #1 802299c: 801a strh r2, [r3, #0] break; 802299e: e185 b.n 8022cac case 1000: if(Ns == 1024) Nr = 1; 80229a0: 4b5c ldr r3, [pc, #368] ; (8022b14 ) 80229a2: 681b ldr r3, [r3, #0] 80229a4: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80229a8: d103 bne.n 80229b2 80229aa: 4b5f ldr r3, [pc, #380] ; (8022b28 ) 80229ac: 2201 movs r2, #1 80229ae: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 1; else if(Ns == 4096) Nr = 1; else if(Ns == 8192) Nr = 1; else if(Ns == 16384) Nr = 1; break; 80229b0: e16d b.n 8022c8e else if(Ns == 2048) Nr = 1; 80229b2: 4b58 ldr r3, [pc, #352] ; (8022b14 ) 80229b4: 681b ldr r3, [r3, #0] 80229b6: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80229ba: d103 bne.n 80229c4 80229bc: 4b5a ldr r3, [pc, #360] ; (8022b28 ) 80229be: 2201 movs r2, #1 80229c0: 801a strh r2, [r3, #0] break; 80229c2: e164 b.n 8022c8e else if(Ns == 4096) Nr = 1; 80229c4: 4b53 ldr r3, [pc, #332] ; (8022b14 ) 80229c6: 681b ldr r3, [r3, #0] 80229c8: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80229cc: d103 bne.n 80229d6 80229ce: 4b56 ldr r3, [pc, #344] ; (8022b28 ) 80229d0: 2201 movs r2, #1 80229d2: 801a strh r2, [r3, #0] break; 80229d4: e15b b.n 8022c8e else if(Ns == 8192) Nr = 1; 80229d6: 4b4f ldr r3, [pc, #316] ; (8022b14 ) 80229d8: 681b ldr r3, [r3, #0] 80229da: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80229de: d103 bne.n 80229e8 80229e0: 4b51 ldr r3, [pc, #324] ; (8022b28 ) 80229e2: 2201 movs r2, #1 80229e4: 801a strh r2, [r3, #0] break; 80229e6: e152 b.n 8022c8e else if(Ns == 16384) Nr = 1; 80229e8: 4b4a ldr r3, [pc, #296] ; (8022b14 ) 80229ea: 681b ldr r3, [r3, #0] 80229ec: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 80229f0: f040 814d bne.w 8022c8e 80229f4: 4b4c ldr r3, [pc, #304] ; (8022b28 ) 80229f6: 2201 movs r2, #1 80229f8: 801a strh r2, [r3, #0] break; 80229fa: e148 b.n 8022c8e case 2000: if(Ns == 1024) Nr = 1; 80229fc: 4b45 ldr r3, [pc, #276] ; (8022b14 ) 80229fe: 681b ldr r3, [r3, #0] 8022a00: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8022a04: d103 bne.n 8022a0e 8022a06: 4b48 ldr r3, [pc, #288] ; (8022b28 ) 8022a08: 2201 movs r2, #1 8022a0a: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 1; else if(Ns == 4096) Nr = 1; else if(Ns == 8192) Nr = 1; else if(Ns == 16384) Nr = 1; break; 8022a0c: e141 b.n 8022c92 else if(Ns == 2048) Nr = 1; 8022a0e: 4b41 ldr r3, [pc, #260] ; (8022b14 ) 8022a10: 681b ldr r3, [r3, #0] 8022a12: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8022a16: d103 bne.n 8022a20 8022a18: 4b43 ldr r3, [pc, #268] ; (8022b28 ) 8022a1a: 2201 movs r2, #1 8022a1c: 801a strh r2, [r3, #0] break; 8022a1e: e138 b.n 8022c92 else if(Ns == 4096) Nr = 1; 8022a20: 4b3c ldr r3, [pc, #240] ; (8022b14 ) 8022a22: 681b ldr r3, [r3, #0] 8022a24: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8022a28: d103 bne.n 8022a32 8022a2a: 4b3f ldr r3, [pc, #252] ; (8022b28 ) 8022a2c: 2201 movs r2, #1 8022a2e: 801a strh r2, [r3, #0] break; 8022a30: e12f b.n 8022c92 else if(Ns == 8192) Nr = 1; 8022a32: 4b38 ldr r3, [pc, #224] ; (8022b14 ) 8022a34: 681b ldr r3, [r3, #0] 8022a36: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8022a3a: d103 bne.n 8022a44 8022a3c: 4b3a ldr r3, [pc, #232] ; (8022b28 ) 8022a3e: 2201 movs r2, #1 8022a40: 801a strh r2, [r3, #0] break; 8022a42: e126 b.n 8022c92 else if(Ns == 16384) Nr = 1; 8022a44: 4b33 ldr r3, [pc, #204] ; (8022b14 ) 8022a46: 681b ldr r3, [r3, #0] 8022a48: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022a4c: f040 8121 bne.w 8022c92 8022a50: 4b35 ldr r3, [pc, #212] ; (8022b28 ) 8022a52: 2201 movs r2, #1 8022a54: 801a strh r2, [r3, #0] break; 8022a56: e11c b.n 8022c92 case 4000: if(Ns == 1024) Nr = 1; 8022a58: 4b2e ldr r3, [pc, #184] ; (8022b14 ) 8022a5a: 681b ldr r3, [r3, #0] 8022a5c: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8022a60: d103 bne.n 8022a6a 8022a62: 4b31 ldr r3, [pc, #196] ; (8022b28 ) 8022a64: 2201 movs r2, #1 8022a66: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 1; else if(Ns == 4096) Nr = 1; else if(Ns == 8192) Nr = 1; else if(Ns == 16384) Nr = 1; break; 8022a68: e115 b.n 8022c96 else if(Ns == 2048) Nr = 1; 8022a6a: 4b2a ldr r3, [pc, #168] ; (8022b14 ) 8022a6c: 681b ldr r3, [r3, #0] 8022a6e: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8022a72: d103 bne.n 8022a7c 8022a74: 4b2c ldr r3, [pc, #176] ; (8022b28 ) 8022a76: 2201 movs r2, #1 8022a78: 801a strh r2, [r3, #0] break; 8022a7a: e10c b.n 8022c96 else if(Ns == 4096) Nr = 1; 8022a7c: 4b25 ldr r3, [pc, #148] ; (8022b14 ) 8022a7e: 681b ldr r3, [r3, #0] 8022a80: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8022a84: d103 bne.n 8022a8e 8022a86: 4b28 ldr r3, [pc, #160] ; (8022b28 ) 8022a88: 2201 movs r2, #1 8022a8a: 801a strh r2, [r3, #0] break; 8022a8c: e103 b.n 8022c96 else if(Ns == 8192) Nr = 1; 8022a8e: 4b21 ldr r3, [pc, #132] ; (8022b14 ) 8022a90: 681b ldr r3, [r3, #0] 8022a92: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8022a96: d103 bne.n 8022aa0 8022a98: 4b23 ldr r3, [pc, #140] ; (8022b28 ) 8022a9a: 2201 movs r2, #1 8022a9c: 801a strh r2, [r3, #0] break; 8022a9e: e0fa b.n 8022c96 else if(Ns == 16384) Nr = 1; 8022aa0: 4b1c ldr r3, [pc, #112] ; (8022b14 ) 8022aa2: 681b ldr r3, [r3, #0] 8022aa4: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022aa8: f040 80f5 bne.w 8022c96 8022aac: 4b1e ldr r3, [pc, #120] ; (8022b28 ) 8022aae: 2201 movs r2, #1 8022ab0: 801a strh r2, [r3, #0] break; 8022ab2: e0f0 b.n 8022c96 case 8000: if(Ns == 1024) Nr = 16; 8022ab4: 4b17 ldr r3, [pc, #92] ; (8022b14 ) 8022ab6: 681b ldr r3, [r3, #0] 8022ab8: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8022abc: d103 bne.n 8022ac6 8022abe: 4b1a ldr r3, [pc, #104] ; (8022b28 ) 8022ac0: 2210 movs r2, #16 8022ac2: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 8; else if(Ns == 4096) Nr = 4; else if(Ns == 8192) Nr = 2; else if(Ns == 16384) Nr = 1; break; 8022ac4: e0e9 b.n 8022c9a else if(Ns == 2048) Nr = 8; 8022ac6: 4b13 ldr r3, [pc, #76] ; (8022b14 ) 8022ac8: 681b ldr r3, [r3, #0] 8022aca: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8022ace: d103 bne.n 8022ad8 8022ad0: 4b15 ldr r3, [pc, #84] ; (8022b28 ) 8022ad2: 2208 movs r2, #8 8022ad4: 801a strh r2, [r3, #0] break; 8022ad6: e0e0 b.n 8022c9a else if(Ns == 4096) Nr = 4; 8022ad8: 4b0e ldr r3, [pc, #56] ; (8022b14 ) 8022ada: 681b ldr r3, [r3, #0] 8022adc: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8022ae0: d103 bne.n 8022aea 8022ae2: 4b11 ldr r3, [pc, #68] ; (8022b28 ) 8022ae4: 2204 movs r2, #4 8022ae6: 801a strh r2, [r3, #0] break; 8022ae8: e0d7 b.n 8022c9a else if(Ns == 8192) Nr = 2; 8022aea: 4b0a ldr r3, [pc, #40] ; (8022b14 ) 8022aec: 681b ldr r3, [r3, #0] 8022aee: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8022af2: d11b bne.n 8022b2c 8022af4: 4b0c ldr r3, [pc, #48] ; (8022b28 ) 8022af6: 2202 movs r2, #2 8022af8: 801a strh r2, [r3, #0] break; 8022afa: e0ce b.n 8022c9a 8022afc: 20023e60 .word 0x20023e60 8022b00: 40021800 .word 0x40021800 8022b04: 20020029 .word 0x20020029 8022b08: 20021d1c .word 0x20021d1c 8022b0c: 0003d090 .word 0x0003d090 8022b10: 080d0c84 .word 0x080d0c84 8022b14: 20021cdc .word 0x20021cdc 8022b18: 20020d98 .word 0x20020d98 8022b1c: c1a00000 .word 0xc1a00000 8022b20: 42200000 .word 0x42200000 8022b24: 42200000 .word 0x42200000 8022b28: 20021d20 .word 0x20021d20 else if(Ns == 16384) Nr = 1; 8022b2c: 4b80 ldr r3, [pc, #512] ; (8022d30 ) 8022b2e: 681b ldr r3, [r3, #0] 8022b30: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022b34: f040 80b1 bne.w 8022c9a 8022b38: 4b7e ldr r3, [pc, #504] ; (8022d34 ) 8022b3a: 2201 movs r2, #1 8022b3c: 801a strh r2, [r3, #0] break; 8022b3e: e0ac b.n 8022c9a case 16000: if(Ns == 1024) Nr = 32; 8022b40: 4b7b ldr r3, [pc, #492] ; (8022d30 ) 8022b42: 681b ldr r3, [r3, #0] 8022b44: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8022b48: d103 bne.n 8022b52 8022b4a: 4b7a ldr r3, [pc, #488] ; (8022d34 ) 8022b4c: 2220 movs r2, #32 8022b4e: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 16; else if(Ns == 4096) Nr = 8; else if(Ns == 8192) Nr = 4; else if(Ns == 16384) Nr = 2; break; 8022b50: e0a5 b.n 8022c9e else if(Ns == 2048) Nr = 16; 8022b52: 4b77 ldr r3, [pc, #476] ; (8022d30 ) 8022b54: 681b ldr r3, [r3, #0] 8022b56: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8022b5a: d103 bne.n 8022b64 8022b5c: 4b75 ldr r3, [pc, #468] ; (8022d34 ) 8022b5e: 2210 movs r2, #16 8022b60: 801a strh r2, [r3, #0] break; 8022b62: e09c b.n 8022c9e else if(Ns == 4096) Nr = 8; 8022b64: 4b72 ldr r3, [pc, #456] ; (8022d30 ) 8022b66: 681b ldr r3, [r3, #0] 8022b68: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8022b6c: d103 bne.n 8022b76 8022b6e: 4b71 ldr r3, [pc, #452] ; (8022d34 ) 8022b70: 2208 movs r2, #8 8022b72: 801a strh r2, [r3, #0] break; 8022b74: e093 b.n 8022c9e else if(Ns == 8192) Nr = 4; 8022b76: 4b6e ldr r3, [pc, #440] ; (8022d30 ) 8022b78: 681b ldr r3, [r3, #0] 8022b7a: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8022b7e: d103 bne.n 8022b88 8022b80: 4b6c ldr r3, [pc, #432] ; (8022d34 ) 8022b82: 2204 movs r2, #4 8022b84: 801a strh r2, [r3, #0] break; 8022b86: e08a b.n 8022c9e else if(Ns == 16384) Nr = 2; 8022b88: 4b69 ldr r3, [pc, #420] ; (8022d30 ) 8022b8a: 681b ldr r3, [r3, #0] 8022b8c: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022b90: f040 8085 bne.w 8022c9e 8022b94: 4b67 ldr r3, [pc, #412] ; (8022d34 ) 8022b96: 2202 movs r2, #2 8022b98: 801a strh r2, [r3, #0] break; 8022b9a: e080 b.n 8022c9e case 32000: if(Ns == 1024) Nr = 64; 8022b9c: 4b64 ldr r3, [pc, #400] ; (8022d30 ) 8022b9e: 681b ldr r3, [r3, #0] 8022ba0: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8022ba4: d103 bne.n 8022bae 8022ba6: 4b63 ldr r3, [pc, #396] ; (8022d34 ) 8022ba8: 2240 movs r2, #64 ; 0x40 8022baa: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 32; else if(Ns == 4096) Nr = 16; else if(Ns == 8192) Nr = 8; else if(Ns == 16384) Nr = 4; break; 8022bac: e079 b.n 8022ca2 else if(Ns == 2048) Nr = 32; 8022bae: 4b60 ldr r3, [pc, #384] ; (8022d30 ) 8022bb0: 681b ldr r3, [r3, #0] 8022bb2: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8022bb6: d103 bne.n 8022bc0 8022bb8: 4b5e ldr r3, [pc, #376] ; (8022d34 ) 8022bba: 2220 movs r2, #32 8022bbc: 801a strh r2, [r3, #0] break; 8022bbe: e070 b.n 8022ca2 else if(Ns == 4096) Nr = 16; 8022bc0: 4b5b ldr r3, [pc, #364] ; (8022d30 ) 8022bc2: 681b ldr r3, [r3, #0] 8022bc4: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8022bc8: d103 bne.n 8022bd2 8022bca: 4b5a ldr r3, [pc, #360] ; (8022d34 ) 8022bcc: 2210 movs r2, #16 8022bce: 801a strh r2, [r3, #0] break; 8022bd0: e067 b.n 8022ca2 else if(Ns == 8192) Nr = 8; 8022bd2: 4b57 ldr r3, [pc, #348] ; (8022d30 ) 8022bd4: 681b ldr r3, [r3, #0] 8022bd6: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8022bda: d103 bne.n 8022be4 8022bdc: 4b55 ldr r3, [pc, #340] ; (8022d34 ) 8022bde: 2208 movs r2, #8 8022be0: 801a strh r2, [r3, #0] break; 8022be2: e05e b.n 8022ca2 else if(Ns == 16384) Nr = 4; 8022be4: 4b52 ldr r3, [pc, #328] ; (8022d30 ) 8022be6: 681b ldr r3, [r3, #0] 8022be8: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022bec: d159 bne.n 8022ca2 8022bee: 4b51 ldr r3, [pc, #324] ; (8022d34 ) 8022bf0: 2204 movs r2, #4 8022bf2: 801a strh r2, [r3, #0] break; 8022bf4: e055 b.n 8022ca2 case 64000: if(Ns == 1024) Nr = 128; 8022bf6: 4b4e ldr r3, [pc, #312] ; (8022d30 ) 8022bf8: 681b ldr r3, [r3, #0] 8022bfa: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8022bfe: d103 bne.n 8022c08 8022c00: 4b4c ldr r3, [pc, #304] ; (8022d34 ) 8022c02: 2280 movs r2, #128 ; 0x80 8022c04: 801a strh r2, [r3, #0] else if(Ns == 2048) Nr = 64; else if(Ns == 4096) Nr = 32; else if(Ns == 8192) Nr = 16; else if(Ns == 16384) Nr = 8; break; 8022c06: e04e b.n 8022ca6 else if(Ns == 2048) Nr = 64; 8022c08: 4b49 ldr r3, [pc, #292] ; (8022d30 ) 8022c0a: 681b ldr r3, [r3, #0] 8022c0c: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8022c10: d103 bne.n 8022c1a 8022c12: 4b48 ldr r3, [pc, #288] ; (8022d34 ) 8022c14: 2240 movs r2, #64 ; 0x40 8022c16: 801a strh r2, [r3, #0] break; 8022c18: e045 b.n 8022ca6 else if(Ns == 4096) Nr = 32; 8022c1a: 4b45 ldr r3, [pc, #276] ; (8022d30 ) 8022c1c: 681b ldr r3, [r3, #0] 8022c1e: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8022c22: d103 bne.n 8022c2c 8022c24: 4b43 ldr r3, [pc, #268] ; (8022d34 ) 8022c26: 2220 movs r2, #32 8022c28: 801a strh r2, [r3, #0] break; 8022c2a: e03c b.n 8022ca6 else if(Ns == 8192) Nr = 16; 8022c2c: 4b40 ldr r3, [pc, #256] ; (8022d30 ) 8022c2e: 681b ldr r3, [r3, #0] 8022c30: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8022c34: d103 bne.n 8022c3e 8022c36: 4b3f ldr r3, [pc, #252] ; (8022d34 ) 8022c38: 2210 movs r2, #16 8022c3a: 801a strh r2, [r3, #0] break; 8022c3c: e033 b.n 8022ca6 else if(Ns == 16384) Nr = 8; 8022c3e: 4b3c ldr r3, [pc, #240] ; (8022d30 ) 8022c40: 681b ldr r3, [r3, #0] 8022c42: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022c46: d12e bne.n 8022ca6 8022c48: 4b3a ldr r3, [pc, #232] ; (8022d34 ) 8022c4a: 2208 movs r2, #8 8022c4c: 801a strh r2, [r3, #0] break; 8022c4e: e02a b.n 8022ca6 case 250000: if(Ns == 16384) Nr = 64; 8022c50: 4b37 ldr r3, [pc, #220] ; (8022d30 ) 8022c52: 681b ldr r3, [r3, #0] 8022c54: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8022c58: d103 bne.n 8022c62 8022c5a: 4b36 ldr r3, [pc, #216] ; (8022d34 ) 8022c5c: 2240 movs r2, #64 ; 0x40 8022c5e: 801a strh r2, [r3, #0] else if(Ns == 32768) Nr = 32; else if(Ns == 65536) Nr = 16; break; 8022c60: e023 b.n 8022caa else if(Ns == 32768) Nr = 32; 8022c62: 4b33 ldr r3, [pc, #204] ; (8022d30 ) 8022c64: 681b ldr r3, [r3, #0] 8022c66: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 8022c6a: d103 bne.n 8022c74 8022c6c: 4b31 ldr r3, [pc, #196] ; (8022d34 ) 8022c6e: 2220 movs r2, #32 8022c70: 801a strh r2, [r3, #0] break; 8022c72: e01a b.n 8022caa else if(Ns == 65536) Nr = 16; 8022c74: 4b2e ldr r3, [pc, #184] ; (8022d30 ) 8022c76: 681b ldr r3, [r3, #0] 8022c78: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 8022c7c: d115 bne.n 8022caa 8022c7e: 4b2d ldr r3, [pc, #180] ; (8022d34 ) 8022c80: 2210 movs r2, #16 8022c82: 801a strh r2, [r3, #0] break; 8022c84: e011 b.n 8022caa default: Nr = 1; 8022c86: 4b2b ldr r3, [pc, #172] ; (8022d34 ) 8022c88: 2201 movs r2, #1 8022c8a: 801a strh r2, [r3, #0] break; 8022c8c: e00e b.n 8022cac break; 8022c8e: bf00 nop 8022c90: e00c b.n 8022cac break; 8022c92: bf00 nop 8022c94: e00a b.n 8022cac break; 8022c96: bf00 nop 8022c98: e008 b.n 8022cac break; 8022c9a: bf00 nop 8022c9c: e006 b.n 8022cac break; 8022c9e: bf00 nop 8022ca0: e004 b.n 8022cac break; 8022ca2: bf00 nop 8022ca4: e002 b.n 8022cac break; 8022ca6: bf00 nop 8022ca8: e000 b.n 8022cac break; 8022caa: bf00 nop } calcK(); 8022cac: f000 f9a6 bl 8022ffc } f = (float32_t) Ns; 8022cb0: 4b1f ldr r3, [pc, #124] ; (8022d30 ) 8022cb2: 681b ldr r3, [r3, #0] 8022cb4: ee07 3a90 vmov s15, r3 8022cb8: eef8 7a67 vcvt.f32.u32 s15, s15 8022cbc: edc7 7a02 vstr s15, [r7, #8] f /= (float32_t) Fs; 8022cc0: 4b1d ldr r3, [pc, #116] ; (8022d38 ) 8022cc2: 681b ldr r3, [r3, #0] 8022cc4: ee07 3a90 vmov s15, r3 8022cc8: eeb8 7a67 vcvt.f32.u32 s14, s15 8022ccc: edd7 6a02 vldr s13, [r7, #8] 8022cd0: eec6 7a87 vdiv.f32 s15, s13, s14 8022cd4: edc7 7a02 vstr s15, [r7, #8] f *= (float32_t) Nr; 8022cd8: 4b16 ldr r3, [pc, #88] ; (8022d34 ) 8022cda: 881b ldrh r3, [r3, #0] 8022cdc: b29b uxth r3, r3 8022cde: ee07 3a90 vmov s15, r3 8022ce2: eeb8 7a67 vcvt.f32.u32 s14, s15 8022ce6: edd7 7a02 vldr s15, [r7, #8] 8022cea: ee67 7a27 vmul.f32 s15, s14, s15 8022cee: edc7 7a02 vstr s15, [r7, #8] f = (4.0f / f) + 0.5f; 8022cf2: ed97 7a02 vldr s14, [r7, #8] 8022cf6: eef1 6a00 vmov.f32 s13, #16 ; 0x40800000 4.0 8022cfa: eec6 7a87 vdiv.f32 s15, s13, s14 8022cfe: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8022d02: ee77 7a87 vadd.f32 s15, s15, s14 8022d06: edc7 7a02 vstr s15, [r7, #8] TimeKmDown = TimeKmUp = (uint32_t) f; 8022d0a: edd7 7a02 vldr s15, [r7, #8] 8022d0e: eefc 7ae7 vcvt.u32.f32 s15, s15 8022d12: ee17 2a90 vmov r2, s15 8022d16: 4b09 ldr r3, [pc, #36] ; (8022d3c ) 8022d18: 601a str r2, [r3, #0] 8022d1a: 4b09 ldr r3, [pc, #36] ; (8022d40 ) 8022d1c: 601a str r2, [r3, #0] FirstGain = true; 8022d1e: 4b09 ldr r3, [pc, #36] ; (8022d44 ) 8022d20: 2201 movs r2, #1 8022d22: 701a strb r2, [r3, #0] } 8022d24: bf00 nop 8022d26: 3710 adds r7, #16 8022d28: 46bd mov sp, r7 8022d2a: ecbd 8b02 vpop {d8} 8022d2e: bd80 pop {r7, pc} 8022d30: 20021cdc .word 0x20021cdc 8022d34: 20021d20 .word 0x20021d20 8022d38: 20021d1c .word 0x20021d1c 8022d3c: 20020d58 .word 0x20020d58 8022d40: 20020d54 .word 0x20020d54 8022d44: 20020d5c .word 0x20020d5c 08022d48 : void SetupADC(void) { 8022d48: b580 push {r7, lr} 8022d4a: b082 sub sp, #8 8022d4c: af00 add r7, sp, #0 __IO uint32_t timeout = HAL_GetTick(); 8022d4e: f090 fa8f bl 80b3270 8022d52: 4603 mov r3, r0 8022d54: 607b str r3, [r7, #4] ADC_Started = false; 8022d56: 4b1c ldr r3, [pc, #112] ; (8022dc8 ) 8022d58: 2200 movs r2, #0 8022d5a: 701a strb r2, [r3, #0] while((!ADC_Started) && ((HAL_GetTick() - timeout) < 3000)) 8022d5c: e00b b.n 8022d76 { MAX11270_StopMeas(); 8022d5e: f032 f96d bl 805503c memset((void *) &AdcBuff(0), 0, 4u * SIZE_ADC_BUFF); 8022d62: f44f 3200 mov.w r2, #131072 ; 0x20000 8022d66: 2100 movs r1, #0 8022d68: 4818 ldr r0, [pc, #96] ; (8022dcc ) 8022d6a: f0aa f989 bl 80cd080 SCB_CleanInvalidateDCache(); 8022d6e: f7fe fd49 bl 8021804 MAX11270_StartMeas(); 8022d72: f032 f8f9 bl 8054f68 while((!ADC_Started) && ((HAL_GetTick() - timeout) < 3000)) 8022d76: 4b14 ldr r3, [pc, #80] ; (8022dc8 ) 8022d78: 781b ldrb r3, [r3, #0] 8022d7a: b2db uxtb r3, r3 8022d7c: f083 0301 eor.w r3, r3, #1 8022d80: b2db uxtb r3, r3 8022d82: 2b00 cmp r3, #0 8022d84: d008 beq.n 8022d98 8022d86: f090 fa73 bl 80b3270 8022d8a: 4602 mov r2, r0 8022d8c: 687b ldr r3, [r7, #4] 8022d8e: 1ad3 subs r3, r2, r3 8022d90: f640 32b7 movw r2, #2999 ; 0xbb7 8022d94: 4293 cmp r3, r2 8022d96: d9e2 bls.n 8022d5e } if((HAL_GetTick() - timeout) >= 3000) 8022d98: f090 fa6a bl 80b3270 8022d9c: 4602 mov r2, r0 8022d9e: 687b ldr r3, [r7, #4] 8022da0: 1ad3 subs r3, r2, r3 8022da2: f640 32b7 movw r2, #2999 ; 0xbb7 8022da6: 4293 cmp r3, r2 8022da8: d909 bls.n 8022dbe { STATUS = AP_ADC_FAIL; 8022daa: 4b09 ldr r3, [pc, #36] ; (8022dd0 ) 8022dac: 2212 movs r2, #18 8022dae: 601a str r2, [r3, #0] timerStatus = sec2; 8022db0: 4b08 ldr r3, [pc, #32] ; (8022dd4 ) 8022db2: f44f 5280 mov.w r2, #4096 ; 0x1000 8022db6: 801a strh r2, [r3, #0] DrawStatus = true; 8022db8: 4b07 ldr r3, [pc, #28] ; (8022dd8 ) 8022dba: 2201 movs r2, #1 8022dbc: 701a strb r2, [r3, #0] } } 8022dbe: bf00 nop 8022dc0: 3708 adds r7, #8 8022dc2: 46bd mov sp, r7 8022dc4: bd80 pop {r7, pc} 8022dc6: bf00 nop 8022dc8: 20020d74 .word 0x20020d74 8022dcc: 64060000 .word 0x64060000 8022dd0: 20020dcc .word 0x20020dcc 8022dd4: 2002168c .word 0x2002168c 8022dd8: 20020dd2 .word 0x20020dd2 08022ddc : float32_t Corr(uint8_t *Km) { 8022ddc: b580 push {r7, lr} 8022dde: b086 sub sp, #24 8022de0: af00 add r7, sp, #0 8022de2: 6078 str r0, [r7, #4] float32_t fcorr, fc; uint8_t Ku = *Km; 8022de4: 687b ldr r3, [r7, #4] 8022de6: 781b ldrb r3, [r3, #0] 8022de8: 73fb strb r3, [r7, #15] if(pardata.IKK == 0.0f) { 8022dea: 4b2a ldr r3, [pc, #168] ; (8022e94 ) 8022dec: edd3 7a04 vldr s15, [r3, #16] 8022df0: eef5 7a40 vcmp.f32 s15, #0.0 8022df4: eef1 fa10 vmrs APSR_nzcv, fpscr 8022df8: d103 bne.n 8022e02 pardata.IKK = 1.0f; 8022dfa: 4b26 ldr r3, [pc, #152] ; (8022e94 ) 8022dfc: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8022e00: 611a str r2, [r3, #16] } if(pardata.SYG != UDAR) 8022e02: 4b24 ldr r3, [pc, #144] ; (8022e94 ) 8022e04: 781b ldrb r3, [r3, #0] 8022e06: b2db uxtb r3, r3 8022e08: 2b09 cmp r3, #9 8022e0a: d01d beq.n 8022e48 { fcorr = 4000.0f / 1.6f; 8022e0c: 4b22 ldr r3, [pc, #136] ; (8022e98 ) 8022e0e: 617b str r3, [r7, #20] fcorr /= KM[Ku]; 8022e10: 7bfb ldrb r3, [r7, #15] 8022e12: 4a22 ldr r2, [pc, #136] ; (8022e9c ) 8022e14: 009b lsls r3, r3, #2 8022e16: 4413 add r3, r2 8022e18: ed93 7a00 vldr s14, [r3] 8022e1c: edd7 6a05 vldr s13, [r7, #20] 8022e20: eec6 7a87 vdiv.f32 s15, s13, s14 8022e24: edc7 7a05 vstr s15, [r7, #20] fc = CorrKm(&Ku); 8022e28: f107 030f add.w r3, r7, #15 8022e2c: 4618 mov r0, r3 8022e2e: f000 f83b bl 8022ea8 8022e32: ed87 0a04 vstr s0, [r7, #16] fcorr *= fc; 8022e36: ed97 7a05 vldr s14, [r7, #20] 8022e3a: edd7 7a04 vldr s15, [r7, #16] 8022e3e: ee67 7a27 vmul.f32 s15, s14, s15 8022e42: edc7 7a05 vstr s15, [r7, #20] 8022e46: e01c b.n 8022e82 } else { fcorr = 4000.0f; 8022e48: 4b15 ldr r3, [pc, #84] ; (8022ea0 ) 8022e4a: 617b str r3, [r7, #20] fcorr /= KM_UDAR[Ku]; 8022e4c: 7bfb ldrb r3, [r7, #15] 8022e4e: 4a15 ldr r2, [pc, #84] ; (8022ea4 ) 8022e50: 009b lsls r3, r3, #2 8022e52: 4413 add r3, r2 8022e54: ed93 7a00 vldr s14, [r3] 8022e58: edd7 6a05 vldr s13, [r7, #20] 8022e5c: eec6 7a87 vdiv.f32 s15, s13, s14 8022e60: edc7 7a05 vstr s15, [r7, #20] fc = CorrKm(&Ku); 8022e64: f107 030f add.w r3, r7, #15 8022e68: 4618 mov r0, r3 8022e6a: f000 f81d bl 8022ea8 8022e6e: ed87 0a04 vstr s0, [r7, #16] fcorr *= fc; 8022e72: ed97 7a05 vldr s14, [r7, #20] 8022e76: edd7 7a04 vldr s15, [r7, #16] 8022e7a: ee67 7a27 vmul.f32 s15, s14, s15 8022e7e: edc7 7a05 vstr s15, [r7, #20] } return fcorr; 8022e82: 697b ldr r3, [r7, #20] 8022e84: ee07 3a90 vmov s15, r3 } 8022e88: eeb0 0a67 vmov.f32 s0, s15 8022e8c: 3718 adds r7, #24 8022e8e: 46bd mov sp, r7 8022e90: bd80 pop {r7, pc} 8022e92: bf00 nop 8022e94: 20023e60 .word 0x20023e60 8022e98: 451c4000 .word 0x451c4000 8022e9c: 080d0c40 .word 0x080d0c40 8022ea0: 457a0000 .word 0x457a0000 8022ea4: 080d0c30 .word 0x080d0c30 08022ea8 : float32_t CorrKm(uint8_t *Km) { 8022ea8: b480 push {r7} 8022eaa: b085 sub sp, #20 8022eac: af00 add r7, sp, #0 8022eae: 6078 str r0, [r7, #4] float32_t fc = 0.0f; 8022eb0: f04f 0300 mov.w r3, #0 8022eb4: 60fb str r3, [r7, #12] uint8_t Ku; Ku = *Km; 8022eb6: 687b ldr r3, [r7, #4] 8022eb8: 781b ldrb r3, [r3, #0] 8022eba: 72fb strb r3, [r7, #11] switch(Ku) 8022ebc: 7afb ldrb r3, [r7, #11] 8022ebe: 2b0a cmp r3, #10 8022ec0: d868 bhi.n 8022f94 8022ec2: a201 add r2, pc, #4 ; (adr r2, 8022ec8 ) 8022ec4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8022ec8: 08022ef5 .word 0x08022ef5 8022ecc: 08022efd .word 0x08022efd 8022ed0: 08022f05 .word 0x08022f05 8022ed4: 08022f0d .word 0x08022f0d 8022ed8: 08022f15 .word 0x08022f15 8022edc: 08022f1d .word 0x08022f1d 8022ee0: 08022f25 .word 0x08022f25 8022ee4: 08022f2d .word 0x08022f2d 8022ee8: 08022f47 .word 0x08022f47 8022eec: 08022f61 .word 0x08022f61 8022ef0: 08022f7b .word 0x08022f7b { case Ku1: fc = pardata.CORR_KU[ICPx1]; 8022ef4: 4b40 ldr r3, [pc, #256] ; (8022ff8 ) 8022ef6: 69db ldr r3, [r3, #28] 8022ef8: 60fb str r3, [r7, #12] break; 8022efa: e04b b.n 8022f94 case Ku2: fc = pardata.CORR_KU[ICPx2]; 8022efc: 4b3e ldr r3, [pc, #248] ; (8022ff8 ) 8022efe: 6a1b ldr r3, [r3, #32] 8022f00: 60fb str r3, [r7, #12] break; 8022f02: e047 b.n 8022f94 case Ku4: fc = pardata.CORR_KU[ICPx4]; 8022f04: 4b3c ldr r3, [pc, #240] ; (8022ff8 ) 8022f06: 6a5b ldr r3, [r3, #36] ; 0x24 8022f08: 60fb str r3, [r7, #12] break; 8022f0a: e043 b.n 8022f94 case Ku8: fc = pardata.CORR_KU[ICPx8]; 8022f0c: 4b3a ldr r3, [pc, #232] ; (8022ff8 ) 8022f0e: 6a9b ldr r3, [r3, #40] ; 0x28 8022f10: 60fb str r3, [r7, #12] break; 8022f12: e03f b.n 8022f94 case Ku16: fc = pardata.CORR_KU[ICPx16]; 8022f14: 4b38 ldr r3, [pc, #224] ; (8022ff8 ) 8022f16: 6adb ldr r3, [r3, #44] ; 0x2c 8022f18: 60fb str r3, [r7, #12] break; 8022f1a: e03b b.n 8022f94 case Ku32: fc = pardata.CORR_KU[ICPx32]; 8022f1c: 4b36 ldr r3, [pc, #216] ; (8022ff8 ) 8022f1e: 6b1b ldr r3, [r3, #48] ; 0x30 8022f20: 60fb str r3, [r7, #12] break; 8022f22: e037 b.n 8022f94 case Ku64: fc = pardata.CORR_KU[ICPx64]; 8022f24: 4b34 ldr r3, [pc, #208] ; (8022ff8 ) 8022f26: 6b5b ldr r3, [r3, #52] ; 0x34 8022f28: 60fb str r3, [r7, #12] break; 8022f2a: e033 b.n 8022f94 case Ku80: fc = pardata.CORR_KU[ICPx8]; 8022f2c: 4b32 ldr r3, [pc, #200] ; (8022ff8 ) 8022f2e: 6a9b ldr r3, [r3, #40] ; 0x28 8022f30: 60fb str r3, [r7, #12] fc *= pardata.CORR_KU[Kx10]; 8022f32: 4b31 ldr r3, [pc, #196] ; (8022ff8 ) 8022f34: edd3 7a0e vldr s15, [r3, #56] ; 0x38 8022f38: ed97 7a03 vldr s14, [r7, #12] 8022f3c: ee67 7a27 vmul.f32 s15, s14, s15 8022f40: edc7 7a03 vstr s15, [r7, #12] break; 8022f44: e026 b.n 8022f94 case Ku160: fc = pardata.CORR_KU[ICPx16]; 8022f46: 4b2c ldr r3, [pc, #176] ; (8022ff8 ) 8022f48: 6adb ldr r3, [r3, #44] ; 0x2c 8022f4a: 60fb str r3, [r7, #12] fc *= pardata.CORR_KU[Kx10]; 8022f4c: 4b2a ldr r3, [pc, #168] ; (8022ff8 ) 8022f4e: edd3 7a0e vldr s15, [r3, #56] ; 0x38 8022f52: ed97 7a03 vldr s14, [r7, #12] 8022f56: ee67 7a27 vmul.f32 s15, s14, s15 8022f5a: edc7 7a03 vstr s15, [r7, #12] break; 8022f5e: e019 b.n 8022f94 case Ku320: fc = pardata.CORR_KU[ICPx32]; 8022f60: 4b25 ldr r3, [pc, #148] ; (8022ff8 ) 8022f62: 6b1b ldr r3, [r3, #48] ; 0x30 8022f64: 60fb str r3, [r7, #12] fc *= pardata.CORR_KU[Kx10]; 8022f66: 4b24 ldr r3, [pc, #144] ; (8022ff8 ) 8022f68: edd3 7a0e vldr s15, [r3, #56] ; 0x38 8022f6c: ed97 7a03 vldr s14, [r7, #12] 8022f70: ee67 7a27 vmul.f32 s15, s14, s15 8022f74: edc7 7a03 vstr s15, [r7, #12] break; 8022f78: e00c b.n 8022f94 case Ku640: fc = pardata.CORR_KU[ICPx64]; 8022f7a: 4b1f ldr r3, [pc, #124] ; (8022ff8 ) 8022f7c: 6b5b ldr r3, [r3, #52] ; 0x34 8022f7e: 60fb str r3, [r7, #12] fc *= pardata.CORR_KU[Kx10]; 8022f80: 4b1d ldr r3, [pc, #116] ; (8022ff8 ) 8022f82: edd3 7a0e vldr s15, [r3, #56] ; 0x38 8022f86: ed97 7a03 vldr s14, [r7, #12] 8022f8a: ee67 7a27 vmul.f32 s15, s14, s15 8022f8e: edc7 7a03 vstr s15, [r7, #12] break; 8022f92: bf00 nop } if(pardata.IIN == CHARGE) 8022f94: 4b18 ldr r3, [pc, #96] ; (8022ff8 ) 8022f96: 799b ldrb r3, [r3, #6] 8022f98: b2db uxtb r3, r3 8022f9a: 2b00 cmp r3, #0 8022f9c: d108 bne.n 8022fb0 fc *= pardata.CORR_KU[ZARx1]; 8022f9e: 4b16 ldr r3, [pc, #88] ; (8022ff8 ) 8022fa0: edd3 7a0f vldr s15, [r3, #60] ; 0x3c 8022fa4: ed97 7a03 vldr s14, [r7, #12] 8022fa8: ee67 7a27 vmul.f32 s15, s14, s15 8022fac: edc7 7a03 vstr s15, [r7, #12] if(pardata.SYG == UDAR) 8022fb0: 4b11 ldr r3, [pc, #68] ; (8022ff8 ) 8022fb2: 781b ldrb r3, [r3, #0] 8022fb4: b2db uxtb r3, r3 8022fb6: 2b09 cmp r3, #9 8022fb8: d109 bne.n 8022fce { if(Ku > Ku1) 8022fba: 7afb ldrb r3, [r7, #11] 8022fbc: 2b00 cmp r3, #0 8022fbe: d003 beq.n 8022fc8 fc = pardata.CORR_KU[Kx10]; 8022fc0: 4b0d ldr r3, [pc, #52] ; (8022ff8 ) 8022fc2: 6b9b ldr r3, [r3, #56] ; 0x38 8022fc4: 60fb str r3, [r7, #12] 8022fc6: e002 b.n 8022fce else fc = pardata.CORR_KU[ICPx1]; 8022fc8: 4b0b ldr r3, [pc, #44] ; (8022ff8 ) 8022fca: 69db ldr r3, [r3, #28] 8022fcc: 60fb str r3, [r7, #12] } if(fc == 0.0f) { 8022fce: edd7 7a03 vldr s15, [r7, #12] 8022fd2: eef5 7a40 vcmp.f32 s15, #0.0 8022fd6: eef1 fa10 vmrs APSR_nzcv, fpscr 8022fda: d102 bne.n 8022fe2 fc = 1.0f; 8022fdc: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8022fe0: 60fb str r3, [r7, #12] } return fc; 8022fe2: 68fb ldr r3, [r7, #12] 8022fe4: ee07 3a90 vmov s15, r3 } 8022fe8: eeb0 0a67 vmov.f32 s0, s15 8022fec: 3714 adds r7, #20 8022fee: 46bd mov sp, r7 8022ff0: f85d 7b04 ldr.w r7, [sp], #4 8022ff4: 4770 bx lr 8022ff6: bf00 nop 8022ff8: 20023e60 .word 0x20023e60 08022ffc : void calcK(void) { 8022ffc: b580 push {r7, lr} 8022ffe: af00 add r7, sp, #0 CorrKk[ACC] = Corr((uint8_t *) &pardata.IKU); 8023000: 480b ldr r0, [pc, #44] ; (8023030 ) 8023002: f7ff feeb bl 8022ddc 8023006: eef0 7a40 vmov.f32 s15, s0 802300a: 4b0a ldr r3, [pc, #40] ; (8023034 ) 802300c: edc3 7a00 vstr s15, [r3] CorrKk[VEL] = CorrKk[ACC]; 8023010: 4b08 ldr r3, [pc, #32] ; (8023034 ) 8023012: 681b ldr r3, [r3, #0] 8023014: 4a07 ldr r2, [pc, #28] ; (8023034 ) 8023016: 6053 str r3, [r2, #4] CorrKk[DIS] = CorrKk[ACC]; 8023018: 4b06 ldr r3, [pc, #24] ; (8023034 ) 802301a: 681b ldr r3, [r3, #0] 802301c: 4a05 ldr r2, [pc, #20] ; (8023034 ) 802301e: 6093 str r3, [r2, #8] pardata.CORR_MULT = CorrKk[ACC]; 8023020: 4b04 ldr r3, [pc, #16] ; (8023034 ) 8023022: 681b ldr r3, [r3, #0] 8023024: 4a04 ldr r2, [pc, #16] ; (8023038 ) 8023026: f8c2 3094 str.w r3, [r2, #148] ; 0x94 } 802302a: bf00 nop 802302c: bd80 pop {r7, pc} 802302e: bf00 nop 8023030: 20023e68 .word 0x20023e68 8023034: 20020080 .word 0x20020080 8023038: 20023e60 .word 0x20023e60 0802303c : void StartMeas(void) { 802303c: b590 push {r4, r7, lr} 802303e: b083 sub sp, #12 8023040: af00 add r7, sp, #0 float32_t f; OVERDRIVE = false; 8023042: 4b6d ldr r3, [pc, #436] ; (80231f8 ) 8023044: 2200 movs r2, #0 8023046: 701a strb r2, [r3, #0] FIRST_RECORD = true; 8023048: 4b6c ldr r3, [pc, #432] ; (80231fc ) 802304a: 2201 movs r2, #1 802304c: 701a strb r2, [r3, #0] Stability = 0; 802304e: 4b6c ldr r3, [pc, #432] ; (8023200 ) 8023050: 2200 movs r2, #0 8023052: 601a str r2, [r3, #0] FirstTime = true; 8023054: 4b6b ldr r3, [pc, #428] ; (8023204 ) 8023056: 2201 movs r2, #1 8023058: 701a strb r2, [r3, #0] firstmeas = true; 802305a: 4b6b ldr r3, [pc, #428] ; (8023208 ) 802305c: 2201 movs r2, #1 802305e: 701a strb r2, [r3, #0] Flag_Set_KU = 0; 8023060: 4b6a ldr r3, [pc, #424] ; (802320c ) 8023062: 2200 movs r2, #0 8023064: 701a strb r2, [r3, #0] NR = 0; 8023066: 4b6a ldr r3, [pc, #424] ; (8023210 ) 8023068: 2200 movs r2, #0 802306a: 601a str r2, [r3, #0] Vup = 0; 802306c: 4b69 ldr r3, [pc, #420] ; (8023214 ) 802306e: 2200 movs r2, #0 8023070: 601a str r2, [r3, #0] Vdn = 0xffffff; 8023072: 4b69 ldr r3, [pc, #420] ; (8023218 ) 8023074: f06f 427f mvn.w r2, #4278190080 ; 0xff000000 8023078: 601a str r2, [r3, #0] NUMPOINTS = 0; 802307a: 4b68 ldr r3, [pc, #416] ; (802321c ) 802307c: 2200 movs r2, #0 802307e: 601a str r2, [r3, #0] NeedKmDown = 0; 8023080: 4b67 ldr r3, [pc, #412] ; (8023220 ) 8023082: 2200 movs r2, #0 8023084: 701a strb r2, [r3, #0] NeedKmUp = 0; 8023086: 4b67 ldr r3, [pc, #412] ; (8023224 ) 8023088: 2200 movs r2, #0 802308a: 701a strb r2, [r3, #0] switch(pardata.SYG) 802308c: 4b66 ldr r3, [pc, #408] ; (8023228 ) 802308e: 781b ldrb r3, [r3, #0] 8023090: b2db uxtb r3, r3 8023092: 2b0a cmp r3, #10 8023094: f200 80f9 bhi.w 802328a 8023098: a201 add r2, pc, #4 ; (adr r2, 80230a0 ) 802309a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 802309e: bf00 nop 80230a0: 080230cd .word 0x080230cd 80230a4: 080230cd .word 0x080230cd 80230a8: 080230cd .word 0x080230cd 80230ac: 080230cd .word 0x080230cd 80230b0: 08023265 .word 0x08023265 80230b4: 080230cd .word 0x080230cd 80230b8: 080230cd .word 0x080230cd 80230bc: 080230cd .word 0x080230cd 80230c0: 080230cd .word 0x080230cd 80230c4: 08023171 .word 0x08023171 80230c8: 080230cd .word 0x080230cd case SPEC_OGIB: case SPEC_OKT: case SPEC_THIRD: case OSC: case FRAN: faseADC = 1; 80230cc: 4b57 ldr r3, [pc, #348] ; (802322c ) 80230ce: 2201 movs r2, #1 80230d0: 801a strh r2, [r3, #0] RepeatKm = true; 80230d2: 4b57 ldr r3, [pc, #348] ; (8023230 ) 80230d4: 2201 movs r2, #1 80230d6: 701a strb r2, [r3, #0] FIRST = true; 80230d8: 4b56 ldr r3, [pc, #344] ; (8023234 ) 80230da: 2201 movs r2, #1 80230dc: 701a strb r2, [r3, #0] if((pardata.SYG == VIB) || (pardata.SYG == FRAN) || (pardata.SYG == DIAGN)) 80230de: 4b52 ldr r3, [pc, #328] ; (8023228 ) 80230e0: 781b ldrb r3, [r3, #0] 80230e2: b2db uxtb r3, r3 80230e4: 2b00 cmp r3, #0 80230e6: d009 beq.n 80230fc 80230e8: 4b4f ldr r3, [pc, #316] ; (8023228 ) 80230ea: 781b ldrb r3, [r3, #0] 80230ec: b2db uxtb r3, r3 80230ee: 2b03 cmp r3, #3 80230f0: d004 beq.n 80230fc 80230f2: 4b4d ldr r3, [pc, #308] ; (8023228 ) 80230f4: 781b ldrb r3, [r3, #0] 80230f6: b2db uxtb r3, r3 80230f8: 2b0a cmp r3, #10 80230fa: d103 bne.n 8023104 { timeRelax = 48; 80230fc: 4b4e ldr r3, [pc, #312] ; (8023238 ) 80230fe: 2230 movs r2, #48 ; 0x30 8023100: 601a str r2, [r3, #0] 8023102: e031 b.n 8023168 } else if(pardata.SYG == OSC) 8023104: 4b48 ldr r3, [pc, #288] ; (8023228 ) 8023106: 781b ldrb r3, [r3, #0] 8023108: b2db uxtb r3, r3 802310a: 2b02 cmp r3, #2 802310c: d12c bne.n 8023168 { f = (float32_t) Ns / (float32_t) Fs; 802310e: 4b4b ldr r3, [pc, #300] ; (802323c ) 8023110: 681b ldr r3, [r3, #0] 8023112: ee07 3a90 vmov s15, r3 8023116: eef8 6a67 vcvt.f32.u32 s13, s15 802311a: 4b49 ldr r3, [pc, #292] ; (8023240 ) 802311c: 681b ldr r3, [r3, #0] 802311e: ee07 3a90 vmov s15, r3 8023122: eeb8 7a67 vcvt.f32.u32 s14, s15 8023126: eec6 7a87 vdiv.f32 s15, s13, s14 802312a: edc7 7a01 vstr s15, [r7, #4] f = 0.128f / f; 802312e: eddf 6a45 vldr s13, [pc, #276] ; 8023244 8023132: ed97 7a01 vldr s14, [r7, #4] 8023136: eec6 7a87 vdiv.f32 s15, s13, s14 802313a: edc7 7a01 vstr s15, [r7, #4] f = (f * 48); 802313e: edd7 7a01 vldr s15, [r7, #4] 8023142: ed9f 7a41 vldr s14, [pc, #260] ; 8023248 8023146: ee67 7a87 vmul.f32 s15, s15, s14 802314a: edc7 7a01 vstr s15, [r7, #4] RELAX = (uint32_t) f; 802314e: edd7 7a01 vldr s15, [r7, #4] 8023152: eefc 7ae7 vcvt.u32.f32 s15, s15 8023156: ee17 2a90 vmov r2, s15 802315a: 4b3c ldr r3, [pc, #240] ; (802324c ) 802315c: 601a str r2, [r3, #0] timeRelax = RELAX + 1; 802315e: 4b3b ldr r3, [pc, #236] ; (802324c ) 8023160: 681b ldr r3, [r3, #0] 8023162: 3301 adds r3, #1 8023164: 4a34 ldr r2, [pc, #208] ; (8023238 ) 8023166: 6013 str r3, [r2, #0] } stage = 0; 8023168: 4b39 ldr r3, [pc, #228] ; (8023250 ) 802316a: 2200 movs r2, #0 802316c: 701a strb r2, [r3, #0] break; 802316e: e08c b.n 802328a case UDAR: faseADC = 1; 8023170: 4b2e ldr r3, [pc, #184] ; (802322c ) 8023172: 2201 movs r2, #1 8023174: 801a strh r2, [r3, #0] RepeatKm = true; 8023176: 4b2e ldr r3, [pc, #184] ; (8023230 ) 8023178: 2201 movs r2, #1 802317a: 701a strb r2, [r3, #0] FIRST = true; 802317c: 4b2d ldr r3, [pc, #180] ; (8023234 ) 802317e: 2201 movs r2, #1 8023180: 701a strb r2, [r3, #0] f = (float32_t) Ns / (float32_t) Fs; 8023182: 4b2e ldr r3, [pc, #184] ; (802323c ) 8023184: 681b ldr r3, [r3, #0] 8023186: ee07 3a90 vmov s15, r3 802318a: eef8 6a67 vcvt.f32.u32 s13, s15 802318e: 4b2c ldr r3, [pc, #176] ; (8023240 ) 8023190: 681b ldr r3, [r3, #0] 8023192: ee07 3a90 vmov s15, r3 8023196: eeb8 7a67 vcvt.f32.u32 s14, s15 802319a: eec6 7a87 vdiv.f32 s15, s13, s14 802319e: edc7 7a01 vstr s15, [r7, #4] f = 0.128f / f; 80231a2: eddf 6a28 vldr s13, [pc, #160] ; 8023244 80231a6: ed97 7a01 vldr s14, [r7, #4] 80231aa: eec6 7a87 vdiv.f32 s15, s13, s14 80231ae: edc7 7a01 vstr s15, [r7, #4] f = (f * 48); 80231b2: edd7 7a01 vldr s15, [r7, #4] 80231b6: ed9f 7a24 vldr s14, [pc, #144] ; 8023248 80231ba: ee67 7a87 vmul.f32 s15, s15, s14 80231be: edc7 7a01 vstr s15, [r7, #4] RELAX = (uint32_t) f; 80231c2: edd7 7a01 vldr s15, [r7, #4] 80231c6: eefc 7ae7 vcvt.u32.f32 s15, s15 80231ca: ee17 2a90 vmov r2, s15 80231ce: 4b1f ldr r3, [pc, #124] ; (802324c ) 80231d0: 601a str r2, [r3, #0] timeRelax = RELAX + 1; 80231d2: 4b1e ldr r3, [pc, #120] ; (802324c ) 80231d4: 681b ldr r3, [r3, #0] 80231d6: 3301 adds r3, #1 80231d8: 4a17 ldr r2, [pc, #92] ; (8023238 ) 80231da: 6013 str r3, [r2, #0] stage = 0; 80231dc: 4b1c ldr r3, [pc, #112] ; (8023250 ) 80231de: 2200 movs r2, #0 80231e0: 701a strb r2, [r3, #0] faseUdar = 0; 80231e2: 4b1c ldr r3, [pc, #112] ; (8023254 ) 80231e4: 2200 movs r2, #0 80231e6: 701a strb r2, [r3, #0] maxdBm = maxdBc = -100.0f; 80231e8: 4b1b ldr r3, [pc, #108] ; (8023258 ) 80231ea: 4a1c ldr r2, [pc, #112] ; (802325c ) 80231ec: 601a str r2, [r3, #0] 80231ee: 4b1a ldr r3, [pc, #104] ; (8023258 ) 80231f0: 681b ldr r3, [r3, #0] 80231f2: 4a1b ldr r2, [pc, #108] ; (8023260 ) 80231f4: 6013 str r3, [r2, #0] break; 80231f6: e048 b.n 802328a 80231f8: 20021531 .word 0x20021531 80231fc: 20020db4 .word 0x20020db4 8023200: 20020da8 .word 0x20020da8 8023204: 20020dae .word 0x20020dae 8023208: 20020dad .word 0x20020dad 802320c: 20020d7e .word 0x20020d7e 8023210: 20021614 .word 0x20021614 8023214: 20021618 .word 0x20021618 8023218: 20020090 .word 0x20020090 802321c: 20021604 .word 0x20021604 8023220: 20020d50 .word 0x20020d50 8023224: 20020d51 .word 0x20020d51 8023228: 20023e60 .word 0x20023e60 802322c: 20020d7a .word 0x20020d7a 8023230: 20020dac .word 0x20020dac 8023234: 20020db2 .word 0x20020db2 8023238: 20020d6c .word 0x20020d6c 802323c: 20021cdc .word 0x20021cdc 8023240: 20021d1c .word 0x20021d1c 8023244: 3e03126f .word 0x3e03126f 8023248: 42400000 .word 0x42400000 802324c: 20020d70 .word 0x20020d70 8023250: 20021518 .word 0x20021518 8023254: 20021624 .word 0x20021624 8023258: 20068560 .word 0x20068560 802325c: c2c80000 .word 0xc2c80000 8023260: 20057ec0 .word 0x20057ec0 case WAVE: if(CardState != MSD_READY) { 8023264: 4bb1 ldr r3, [pc, #708] ; (802352c ) 8023266: 781b ldrb r3, [r3, #0] 8023268: b2db uxtb r3, r3 802326a: 2b03 cmp r3, #3 802326c: f040 8159 bne.w 8023522 return; } faseADC = 1; 8023270: 4baf ldr r3, [pc, #700] ; (8023530 ) 8023272: 2201 movs r2, #1 8023274: 801a strh r2, [r3, #0] RepeatKm = true; 8023276: 4baf ldr r3, [pc, #700] ; (8023534 ) 8023278: 2201 movs r2, #1 802327a: 701a strb r2, [r3, #0] Recording = false; 802327c: 4bae ldr r3, [pc, #696] ; (8023538 ) 802327e: 2200 movs r2, #0 8023280: 701a strb r2, [r3, #0] stage = 0; 8023282: 4bae ldr r3, [pc, #696] ; (802353c ) 8023284: 2200 movs r2, #0 8023286: 701a strb r2, [r3, #0] break; 8023288: bf00 nop } cntFs = faseADC; 802328a: 4ba9 ldr r3, [pc, #676] ; (8023530 ) 802328c: 881b ldrh r3, [r3, #0] 802328e: b29a uxth r2, r3 8023290: 4bab ldr r3, [pc, #684] ; (8023540 ) 8023292: 801a strh r2, [r3, #0] cntADC = 0; 8023294: 4bab ldr r3, [pc, #684] ; (8023544 ) 8023296: 2200 movs r2, #0 8023298: 801a strh r2, [r3, #0] measlen = 0; 802329a: 4bab ldr r3, [pc, #684] ; (8023548 ) 802329c: 2200 movs r2, #0 802329e: 801a strh r2, [r3, #0] cntmeas = 0; 80232a0: 4baa ldr r3, [pc, #680] ; (802354c ) 80232a2: 2200 movs r2, #0 80232a4: 801a strh r2, [r3, #0] lastcntmeas = 0; 80232a6: 4baa ldr r3, [pc, #680] ; (8023550 ) 80232a8: 2200 movs r2, #0 80232aa: 801a strh r2, [r3, #0] RiffLen = 0; 80232ac: 4aa9 ldr r2, [pc, #676] ; (8023554 ) 80232ae: f04f 0300 mov.w r3, #0 80232b2: f04f 0400 mov.w r4, #0 80232b6: e882 0018 stmia.w r2, {r3, r4} NSamples = 0; 80232ba: 4ba7 ldr r3, [pc, #668] ; (8023558 ) 80232bc: 2200 movs r2, #0 80232be: 601a str r2, [r3, #0] TimeRec = 0; 80232c0: 4ba6 ldr r3, [pc, #664] ; (802355c ) 80232c2: 2200 movs r2, #0 80232c4: 601a str r2, [r3, #0] READY = DATA_FREE; 80232c6: 4ba6 ldr r3, [pc, #664] ; (8023560 ) 80232c8: 2200 movs r2, #0 80232ca: 701a strb r2, [r3, #0] READY = 0; 80232cc: 4ba4 ldr r3, [pc, #656] ; (8023560 ) 80232ce: 2200 movs r2, #0 80232d0: 701a strb r2, [r3, #0] HISTORY = false; 80232d2: 4ba4 ldr r3, [pc, #656] ; (8023564 ) 80232d4: 2200 movs r2, #0 80232d6: 701a strb r2, [r3, #0] AutoStop = false; 80232d8: 4ba3 ldr r3, [pc, #652] ; (8023568 ) 80232da: 2200 movs r2, #0 80232dc: 701a strb r2, [r3, #0] MeanClbr = 0.0f; 80232de: 4ba3 ldr r3, [pc, #652] ; (802356c ) 80232e0: 2200 movs r2, #0 80232e2: 601a str r2, [r3, #0] MeanKcorr = 0; 80232e4: 4ba2 ldr r3, [pc, #648] ; (8023570 ) 80232e6: f04f 0200 mov.w r2, #0 80232ea: 601a str r2, [r3, #0] CounterA = 0; 80232ec: 4ba1 ldr r3, [pc, #644] ; (8023574 ) 80232ee: 2200 movs r2, #0 80232f0: 701a strb r2, [r3, #0] CounterV = 0; 80232f2: 4ba1 ldr r3, [pc, #644] ; (8023578 ) 80232f4: 2200 movs r2, #0 80232f6: 701a strb r2, [r3, #0] CounterS = 0; 80232f8: 4ba0 ldr r3, [pc, #640] ; (802357c ) 80232fa: 2200 movs r2, #0 80232fc: 701a strb r2, [r3, #0] memset((void *) &Freq_f32(0), 0, NUM_SAMPLES * 32768u); 80232fe: f44f 2200 mov.w r2, #524288 ; 0x80000 8023302: 2100 movs r1, #0 8023304: 489e ldr r0, [pc, #632] ; (8023580 ) 8023306: f0a9 febb bl 80cd080 memset((void *) frq, 0, 4u * LEN_M_BUF); 802330a: 2224 movs r2, #36 ; 0x24 802330c: 2100 movs r1, #0 802330e: 489d ldr r0, [pc, #628] ; (8023584 ) 8023310: f0a9 feb6 bl 80cd080 okf = CF; 8023314: 4b9c ldr r3, [pc, #624] ; (8023588 ) 8023316: 2204 movs r2, #4 8023318: 601a str r2, [r3, #0] kf = 0; 802331a: 4b9c ldr r3, [pc, #624] ; (802358c ) 802331c: 2200 movs r2, #0 802331e: 601a str r2, [r3, #0] faseF = 0; 8023320: 4b9b ldr r3, [pc, #620] ; (8023590 ) 8023322: 2200 movs r2, #0 8023324: 601a str r2, [r3, #0] NeedFreq = false; 8023326: 4b9b ldr r3, [pc, #620] ; (8023594 ) 8023328: 2200 movs r2, #0 802332a: 701a strb r2, [r3, #0] NeedFreqTacho = false; 802332c: 4b9a ldr r3, [pc, #616] ; (8023598 ) 802332e: 2200 movs r2, #0 8023330: 701a strb r2, [r3, #0] arm_fill_f32(0.0f, (float32_t *) &medA, N_MED_MEAS); 8023332: 2105 movs r1, #5 8023334: 4899 ldr r0, [pc, #612] ; (802359c ) 8023336: ed9f 0a9a vldr s0, [pc, #616] ; 80235a0 802333a: f0a6 fcff bl 80c9d3c arm_fill_f32(0.0f, (float32_t *) &medV, N_MED_MEAS); 802333e: 2105 movs r1, #5 8023340: 4898 ldr r0, [pc, #608] ; (80235a4 ) 8023342: ed9f 0a97 vldr s0, [pc, #604] ; 80235a0 8023346: f0a6 fcf9 bl 80c9d3c arm_fill_f32(0.0f, (float32_t *) &medS, N_MED_MEAS); 802334a: 2105 movs r1, #5 802334c: 4896 ldr r0, [pc, #600] ; (80235a8 ) 802334e: ed9f 0a94 vldr s0, [pc, #592] ; 80235a0 8023352: f0a6 fcf3 bl 80c9d3c arm_fill_f32(0.0f, pA_Buff_f32, 4096); 8023356: f44f 5180 mov.w r1, #4096 ; 0x1000 802335a: 4894 ldr r0, [pc, #592] ; (80235ac ) 802335c: ed9f 0a90 vldr s0, [pc, #576] ; 80235a0 8023360: f0a6 fcec bl 80c9d3c arm_fill_f32(0.0f, pV_Buff_f32, 4096); 8023364: f44f 5180 mov.w r1, #4096 ; 0x1000 8023368: 4891 ldr r0, [pc, #580] ; (80235b0 ) 802336a: ed9f 0a8d vldr s0, [pc, #564] ; 80235a0 802336e: f0a6 fce5 bl 80c9d3c arm_fill_f32(0.0f, pS_Buff_f32, 4096); 8023372: f44f 5180 mov.w r1, #4096 ; 0x1000 8023376: 488f ldr r0, [pc, #572] ; (80235b4 ) 8023378: ed9f 0a89 vldr s0, [pc, #548] ; 80235a0 802337c: f0a6 fcde bl 80c9d3c arm_fill_f32(0.0f, pScrA_f32, 16384u); 8023380: f44f 4180 mov.w r1, #16384 ; 0x4000 8023384: 487e ldr r0, [pc, #504] ; (8023580 ) 8023386: ed9f 0a86 vldr s0, [pc, #536] ; 80235a0 802338a: f0a6 fcd7 bl 80c9d3c arm_fill_f32(0.0f, skz, 3); 802338e: 2103 movs r1, #3 8023390: 4889 ldr r0, [pc, #548] ; (80235b8 ) 8023392: ed9f 0a83 vldr s0, [pc, #524] ; 80235a0 8023396: f0a6 fcd1 bl 80c9d3c arm_fill_f32(0.0f, skzDB, 3); 802339a: 2103 movs r1, #3 802339c: 4887 ldr r0, [pc, #540] ; (80235bc ) 802339e: ed9f 0a80 vldr s0, [pc, #512] ; 80235a0 80233a2: f0a6 fccb bl 80c9d3c arm_fill_f32(0.0f, ValFran, 3); 80233a6: 2103 movs r1, #3 80233a8: 4885 ldr r0, [pc, #532] ; (80235c0 ) 80233aa: ed9f 0a7d vldr s0, [pc, #500] ; 80235a0 80233ae: f0a6 fcc5 bl 80c9d3c arm_fill_f32(0.0f, operand, 4); 80233b2: 2104 movs r1, #4 80233b4: 4883 ldr r0, [pc, #524] ; (80235c4 ) 80233b6: ed9f 0a7a vldr s0, [pc, #488] ; 80235a0 80233ba: f0a6 fcbf bl 80c9d3c if(pardata.SYG == UDAR) 80233be: 4b82 ldr r3, [pc, #520] ; (80235c8 ) 80233c0: 781b ldrb r3, [r3, #0] 80233c2: b2db uxtb r3, r3 80233c4: 2b09 cmp r3, #9 80233c6: d10d bne.n 80233e4 { skz[1] = 1231298379172381; 80233c8: 4b7b ldr r3, [pc, #492] ; (80235b8 ) 80233ca: 4a80 ldr r2, [pc, #512] ; (80235cc ) 80233cc: 605a str r2, [r3, #4] skz[0] = 0; 80233ce: 4b7a ldr r3, [pc, #488] ; (80235b8 ) 80233d0: f04f 0200 mov.w r2, #0 80233d4: 601a str r2, [r3, #0] MAXIMUM = 0; 80233d6: 4b7e ldr r3, [pc, #504] ; (80235d0 ) 80233d8: f04f 0200 mov.w r2, #0 80233dc: 601a str r2, [r3, #0] MINIMUM = 999999; 80233de: 4b7d ldr r3, [pc, #500] ; (80235d4 ) 80233e0: 4a7d ldr r2, [pc, #500] ; (80235d8 ) 80233e2: 601a str r2, [r3, #0] } FreqFran = 0.0f; 80233e4: 4b7d ldr r3, [pc, #500] ; (80235dc ) 80233e6: f04f 0200 mov.w r2, #0 80233ea: 601a str r2, [r3, #0] IndexFran = -1; 80233ec: 4b7c ldr r3, [pc, #496] ; (80235e0 ) 80233ee: f04f 32ff mov.w r2, #4294967295 80233f2: 601a str r2, [r3, #0] FLAG_CALC_MEAN = false; 80233f4: 4b7b ldr r3, [pc, #492] ; (80235e4 ) 80233f6: 2200 movs r2, #0 80233f8: 701a strb r2, [r3, #0] AvgCnt = 0; 80233fa: 4b7b ldr r3, [pc, #492] ; (80235e8 ) 80233fc: 2200 movs r2, #0 80233fe: 601a str r2, [r3, #0] MeanCnt = 0; 8023400: 4b7a ldr r3, [pc, #488] ; (80235ec ) 8023402: 2200 movs r2, #0 8023404: 601a str r2, [r3, #0] dBc = -100.0f; 8023406: 4b7a ldr r3, [pc, #488] ; (80235f0 ) 8023408: 4a7a ldr r2, [pc, #488] ; (80235f4 ) 802340a: 601a str r2, [r3, #0] dBm = -100.0f; 802340c: 4b7a ldr r3, [pc, #488] ; (80235f8 ) 802340e: 4a79 ldr r2, [pc, #484] ; (80235f4 ) 8023410: 601a str r2, [r3, #0] dBN = -100.0f; 8023412: 4b7a ldr r3, [pc, #488] ; (80235fc ) 8023414: 4a77 ldr r2, [pc, #476] ; (80235f4 ) 8023416: 601a str r2, [r3, #0] firstOkt = true; 8023418: 4b79 ldr r3, [pc, #484] ; (8023600 ) 802341a: 2201 movs r2, #1 802341c: 701a strb r2, [r3, #0] cntOkt = 0; 802341e: 4b79 ldr r3, [pc, #484] ; (8023604 ) 8023420: 2200 movs r2, #0 8023422: 601a str r2, [r3, #0] rms0_8 = 0.0f; 8023424: 4b78 ldr r3, [pc, #480] ; (8023608 ) 8023426: f04f 0200 mov.w r2, #0 802342a: 601a str r2, [r3, #0] rms1 = 0.0f; 802342c: 4b77 ldr r3, [pc, #476] ; (802360c ) 802342e: f04f 0200 mov.w r2, #0 8023432: 601a str r2, [r3, #0] rms1_25 = 0.0f; 8023434: 4b76 ldr r3, [pc, #472] ; (8023610 ) 8023436: f04f 0200 mov.w r2, #0 802343a: 601a str r2, [r3, #0] rms1_6 = 0.0f; 802343c: 4b75 ldr r3, [pc, #468] ; (8023614 ) 802343e: f04f 0200 mov.w r2, #0 8023442: 601a str r2, [r3, #0] rms2 = 0.0f; 8023444: 4b74 ldr r3, [pc, #464] ; (8023618 ) 8023446: f04f 0200 mov.w r2, #0 802344a: 601a str r2, [r3, #0] rms2_5 = 0.0f; 802344c: 4b73 ldr r3, [pc, #460] ; (802361c ) 802344e: f04f 0200 mov.w r2, #0 8023452: 601a str r2, [r3, #0] rms3_15 = 0.0f; 8023454: 4b72 ldr r3, [pc, #456] ; (8023620 ) 8023456: f04f 0200 mov.w r2, #0 802345a: 601a str r2, [r3, #0] rms4 = 0.0f; 802345c: 4b71 ldr r3, [pc, #452] ; (8023624 ) 802345e: f04f 0200 mov.w r2, #0 8023462: 601a str r2, [r3, #0] rms5 = 0.0f; 8023464: 4b70 ldr r3, [pc, #448] ; (8023628 ) 8023466: f04f 0200 mov.w r2, #0 802346a: 601a str r2, [r3, #0] rms6_3 = 0.0f; 802346c: 4b6f ldr r3, [pc, #444] ; (802362c ) 802346e: f04f 0200 mov.w r2, #0 8023472: 601a str r2, [r3, #0] rms8 = 0.0f; 8023474: 4b6e ldr r3, [pc, #440] ; (8023630 ) 8023476: f04f 0200 mov.w r2, #0 802347a: 601a str r2, [r3, #0] rms10 = 0.0f; 802347c: 4b6d ldr r3, [pc, #436] ; (8023634 ) 802347e: f04f 0200 mov.w r2, #0 8023482: 601a str r2, [r3, #0] arm_fill_f32(0.0f, operand, 4); 8023484: 2104 movs r1, #4 8023486: 484f ldr r0, [pc, #316] ; (80235c4 ) 8023488: ed9f 0a45 vldr s0, [pc, #276] ; 80235a0 802348c: f0a6 fc56 bl 80c9d3c arm_fill_f32(0.0f, rmsAVS, 4); 8023490: 2104 movs r1, #4 8023492: 4869 ldr r0, [pc, #420] ; (8023638 ) 8023494: ed9f 0a42 vldr s0, [pc, #264] ; 80235a0 8023498: f0a6 fc50 bl 80c9d3c arm_fill_f32(0.0f, peakAVS, 4); 802349c: 2104 movs r1, #4 802349e: 4867 ldr r0, [pc, #412] ; (802363c ) 80234a0: ed9f 0a3f vldr s0, [pc, #252] ; 80235a0 80234a4: f0a6 fc4a bl 80c9d3c arm_fill_f32(0.0f, &ACC_PEAK_WR(0), 512 * 8u); 80234a8: f44f 5180 mov.w r1, #4096 ; 0x1000 80234ac: 4864 ldr r0, [pc, #400] ; (8023640 ) 80234ae: ed9f 0a3c vldr s0, [pc, #240] ; 80235a0 80234b2: f0a6 fc43 bl 80c9d3c CNT_MEAN_FREQ = 0; 80234b6: 4b63 ldr r3, [pc, #396] ; (8023644 ) 80234b8: 2200 movs r2, #0 80234ba: 601a str r2, [r3, #0] MEAN_FREQ = 0.0f; 80234bc: 4b62 ldr r3, [pc, #392] ; (8023648 ) 80234be: f04f 0200 mov.w r2, #0 80234c2: 601a str r2, [r3, #0] timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80234c4: 4b61 ldr r3, [pc, #388] ; (802364c ) 80234c6: 781b ldrb r3, [r3, #0] 80234c8: b2db uxtb r3, r3 80234ca: 461a mov r2, r3 80234cc: 4b60 ldr r3, [pc, #384] ; (8023650 ) 80234ce: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80234d2: 4b60 ldr r3, [pc, #384] ; (8023654 ) 80234d4: 801a strh r2, [r3, #0] if(pardata.SYG == UDAR) 80234d6: 4b3c ldr r3, [pc, #240] ; (80235c8 ) 80234d8: 781b ldrb r3, [r3, #0] 80234da: b2db uxtb r3, r3 80234dc: 2b09 cmp r3, #9 80234de: d103 bne.n 80234e8 timerRefreshScreen = 340; 80234e0: 4b5c ldr r3, [pc, #368] ; (8023654 ) 80234e2: f44f 72aa mov.w r2, #340 ; 0x154 80234e6: 801a strh r2, [r3, #0] screen = false; 80234e8: 4b5b ldr r3, [pc, #364] ; (8023658 ) 80234ea: 2200 movs r2, #0 80234ec: 701a strb r2, [r3, #0] StateThr = 0xffffffff; 80234ee: 4b5b ldr r3, [pc, #364] ; (802365c ) 80234f0: f04f 32ff mov.w r2, #4294967295 80234f4: 601a str r2, [r3, #0] SeeResults = false; 80234f6: 4b5a ldr r3, [pc, #360] ; (8023660 ) 80234f8: 2200 movs r2, #0 80234fa: 701a strb r2, [r3, #0] READY_TO_SEE = false; 80234fc: 4b59 ldr r3, [pc, #356] ; (8023664 ) 80234fe: 2200 movs r2, #0 8023500: 701a strb r2, [r3, #0] NUM_OPERANDS = 3; 8023502: 4b59 ldr r3, [pc, #356] ; (8023668 ) 8023504: 2203 movs r2, #3 8023506: 701a strb r2, [r3, #0] WARNING = false; 8023508: 4b58 ldr r3, [pc, #352] ; (802366c ) 802350a: 2200 movs r2, #0 802350c: 701a strb r2, [r3, #0] ALARM = false; 802350e: 4b58 ldr r3, [pc, #352] ; (8023670 ) 8023510: 2200 movs r2, #0 8023512: 701a strb r2, [r3, #0] CALC_FREQ = 0; 8023514: 4b57 ldr r3, [pc, #348] ; (8023674 ) 8023516: 2200 movs r2, #0 8023518: 701a strb r2, [r3, #0] NeedMeas = true; 802351a: 4b57 ldr r3, [pc, #348] ; (8023678 ) 802351c: 2201 movs r2, #1 802351e: 701a strb r2, [r3, #0] 8023520: e000 b.n 8023524 return; 8023522: bf00 nop } 8023524: 370c adds r7, #12 8023526: 46bd mov sp, r7 8023528: bd90 pop {r4, r7, pc} 802352a: bf00 nop 802352c: 2002164c .word 0x2002164c 8023530: 20020d7a .word 0x20020d7a 8023534: 20020dac .word 0x20020dac 8023538: 20020db0 .word 0x20020db0 802353c: 20021518 .word 0x20021518 8023540: 20020d78 .word 0x20020d78 8023544: 20020d7c .word 0x20020d7c 8023548: 20020d8c .word 0x20020d8c 802354c: 20020d80 .word 0x20020d80 8023550: 20020d84 .word 0x20020d84 8023554: 20021528 .word 0x20021528 8023558: 20020d88 .word 0x20020d88 802355c: 20021684 .word 0x20021684 8023560: 20020d7f .word 0x20020d7f 8023564: 20020f76 .word 0x20020f76 8023568: 20021524 .word 0x20021524 802356c: 2002160c .word 0x2002160c 8023570: 20021610 .word 0x20021610 8023574: 20021521 .word 0x20021521 8023578: 20021522 .word 0x20021522 802357c: 20021523 .word 0x20021523 8023580: 64080000 .word 0x64080000 8023584: 20026e94 .word 0x20026e94 8023588: 20020094 .word 0x20020094 802358c: 20021628 .word 0x20021628 8023590: 2002162c .word 0x2002162c 8023594: 20020d75 .word 0x20020d75 8023598: 20020d76 .word 0x20020d76 802359c: 20057e68 .word 0x20057e68 80235a0: 00000000 .word 0x00000000 80235a4: 20057fd0 .word 0x20057fd0 80235a8: 20026550 .word 0x20026550 80235ac: 64090000 .word 0x64090000 80235b0: 64094000 .word 0x64094000 80235b4: 64098000 .word 0x64098000 80235b8: 20021540 .word 0x20021540 80235bc: 2002154c .word 0x2002154c 80235c0: 20021558 .word 0x20021558 80235c4: 200268d8 .word 0x200268d8 80235c8: 20023e60 .word 0x20023e60 80235cc: 588bfb80 .word 0x588bfb80 80235d0: 20021538 .word 0x20021538 80235d4: 2002153c .word 0x2002153c 80235d8: 497423f0 .word 0x497423f0 80235dc: 20021564 .word 0x20021564 80235e0: 2002008c .word 0x2002008c 80235e4: 2002168e .word 0x2002168e 80235e8: 20020d60 .word 0x20020d60 80235ec: 20020db8 .word 0x20020db8 80235f0: 20020d9c .word 0x20020d9c 80235f4: c2c80000 .word 0xc2c80000 80235f8: 20020da0 .word 0x20020da0 80235fc: 20020da4 .word 0x20020da4 8023600: 20020d94 .word 0x20020d94 8023604: 20020d90 .word 0x20020d90 8023608: 20021cd4 .word 0x20021cd4 802360c: 20021d10 .word 0x20021d10 8023610: 20021cc8 .word 0x20021cc8 8023614: 20021ccc .word 0x20021ccc 8023618: 20021cd8 .word 0x20021cd8 802361c: 20021cf8 .word 0x20021cf8 8023620: 20021d14 .word 0x20021d14 8023624: 20021d18 .word 0x20021d18 8023628: 20021ce4 .word 0x20021ce4 802362c: 20021ce0 .word 0x20021ce0 8023630: 20021cd0 .word 0x20021cd0 8023634: 20021d0c .word 0x20021d0c 8023638: 20021ce8 .word 0x20021ce8 802363c: 20021cfc .word 0x20021cfc 8023640: 64050000 .word 0x64050000 8023644: 20021620 .word 0x20021620 8023648: 2002161c .word 0x2002161c 802364c: 20021b23 .word 0x20021b23 8023650: 080d0d88 .word 0x080d0d88 8023654: 200209bc .word 0x200209bc 8023658: 200200ca .word 0x200200ca 802365c: 2002002c .word 0x2002002c 8023660: 20020d68 .word 0x20020d68 8023664: 20020d8e .word 0x20020d8e 8023668: 20021012 .word 0x20021012 802366c: 20021014 .word 0x20021014 8023670: 20021015 .word 0x20021015 8023674: 20021010 .word 0x20021010 8023678: 20020d8f .word 0x20020d8f 0802367c : void StartRecording(void) { 802367c: b490 push {r4, r7} 802367e: af00 add r7, sp, #0 CALC_FREQ = 0; 8023680: 4b2c ldr r3, [pc, #176] ; (8023734 ) 8023682: 2200 movs r2, #0 8023684: 701a strb r2, [r3, #0] FirstTime = false; 8023686: 4b2c ldr r3, [pc, #176] ; (8023738 ) 8023688: 2200 movs r2, #0 802368a: 701a strb r2, [r3, #0] firstmeas = false; 802368c: 4b2b ldr r3, [pc, #172] ; (802373c ) 802368e: 2200 movs r2, #0 8023690: 701a strb r2, [r3, #0] RepeatKm = false; 8023692: 4b2b ldr r3, [pc, #172] ; (8023740 ) 8023694: 2200 movs r2, #0 8023696: 701a strb r2, [r3, #0] OVERDRIVE = false; 8023698: 4b2a ldr r3, [pc, #168] ; (8023744 ) 802369a: 2200 movs r2, #0 802369c: 701a strb r2, [r3, #0] FIRST_RECORD = true; 802369e: 4b2a ldr r3, [pc, #168] ; (8023748 ) 80236a0: 2201 movs r2, #1 80236a2: 701a strb r2, [r3, #0] Flag_Set_KU = 0; 80236a4: 4b29 ldr r3, [pc, #164] ; (802374c ) 80236a6: 2200 movs r2, #0 80236a8: 701a strb r2, [r3, #0] NR = 0; 80236aa: 4b29 ldr r3, [pc, #164] ; (8023750 ) 80236ac: 2200 movs r2, #0 80236ae: 601a str r2, [r3, #0] Vup = 0; 80236b0: 4b28 ldr r3, [pc, #160] ; (8023754 ) 80236b2: 2200 movs r2, #0 80236b4: 601a str r2, [r3, #0] Vdn = 0xffffff; 80236b6: 4b28 ldr r3, [pc, #160] ; (8023758 ) 80236b8: f06f 427f mvn.w r2, #4278190080 ; 0xff000000 80236bc: 601a str r2, [r3, #0] NUMPOINTS = 0; 80236be: 4b27 ldr r3, [pc, #156] ; (802375c ) 80236c0: 2200 movs r2, #0 80236c2: 601a str r2, [r3, #0] NeedKmDown = 0; 80236c4: 4b26 ldr r3, [pc, #152] ; (8023760 ) 80236c6: 2200 movs r2, #0 80236c8: 701a strb r2, [r3, #0] NeedKmUp = 0; 80236ca: 4b26 ldr r3, [pc, #152] ; (8023764 ) 80236cc: 2200 movs r2, #0 80236ce: 701a strb r2, [r3, #0] if(CardState != MSD_READY) { 80236d0: 4b25 ldr r3, [pc, #148] ; (8023768 ) 80236d2: 781b ldrb r3, [r3, #0] 80236d4: b2db uxtb r3, r3 80236d6: 2b03 cmp r3, #3 80236d8: d127 bne.n 802372a return; } cntFs = faseADC; 80236da: 4b24 ldr r3, [pc, #144] ; (802376c ) 80236dc: 881b ldrh r3, [r3, #0] 80236de: b29a uxth r2, r3 80236e0: 4b23 ldr r3, [pc, #140] ; (8023770 ) 80236e2: 801a strh r2, [r3, #0] NSamples = 0; 80236e4: 4b23 ldr r3, [pc, #140] ; (8023774 ) 80236e6: 2200 movs r2, #0 80236e8: 601a str r2, [r3, #0] RiffLen = 0; 80236ea: 4a23 ldr r2, [pc, #140] ; (8023778 ) 80236ec: f04f 0300 mov.w r3, #0 80236f0: f04f 0400 mov.w r4, #0 80236f4: e882 0018 stmia.w r2, {r3, r4} cntADC = 0; 80236f8: 4b20 ldr r3, [pc, #128] ; (802377c ) 80236fa: 2200 movs r2, #0 80236fc: 801a strh r2, [r3, #0] cntmeas = 0; 80236fe: 4b20 ldr r3, [pc, #128] ; (8023780 ) 8023700: 2200 movs r2, #0 8023702: 801a strh r2, [r3, #0] cntmeas1 = 0; 8023704: 4b1f ldr r3, [pc, #124] ; (8023784 ) 8023706: 2200 movs r2, #0 8023708: 801a strh r2, [r3, #0] TimeRec = 0; 802370a: 4b1f ldr r3, [pc, #124] ; (8023788 ) 802370c: 2200 movs r2, #0 802370e: 601a str r2, [r3, #0] measlen = 0; 8023710: 4b1e ldr r3, [pc, #120] ; (802378c ) 8023712: 2200 movs r2, #0 8023714: 801a strh r2, [r3, #0] READY = DATA_FREE; 8023716: 4b1e ldr r3, [pc, #120] ; (8023790 ) 8023718: 2200 movs r2, #0 802371a: 701a strb r2, [r3, #0] faseUdar = 0; 802371c: 4b1d ldr r3, [pc, #116] ; (8023794 ) 802371e: 2200 movs r2, #0 8023720: 701a strb r2, [r3, #0] Recording = true; 8023722: 4b1d ldr r3, [pc, #116] ; (8023798 ) 8023724: 2201 movs r2, #1 8023726: 701a strb r2, [r3, #0] 8023728: e000 b.n 802372c return; 802372a: bf00 nop } 802372c: 46bd mov sp, r7 802372e: bc90 pop {r4, r7} 8023730: 4770 bx lr 8023732: bf00 nop 8023734: 20021010 .word 0x20021010 8023738: 20020dae .word 0x20020dae 802373c: 20020dad .word 0x20020dad 8023740: 20020dac .word 0x20020dac 8023744: 20021531 .word 0x20021531 8023748: 20020db4 .word 0x20020db4 802374c: 20020d7e .word 0x20020d7e 8023750: 20021614 .word 0x20021614 8023754: 20021618 .word 0x20021618 8023758: 20020090 .word 0x20020090 802375c: 20021604 .word 0x20021604 8023760: 20020d50 .word 0x20020d50 8023764: 20020d51 .word 0x20020d51 8023768: 2002164c .word 0x2002164c 802376c: 20020d7a .word 0x20020d7a 8023770: 20020d78 .word 0x20020d78 8023774: 20020d88 .word 0x20020d88 8023778: 20021528 .word 0x20021528 802377c: 20020d7c .word 0x20020d7c 8023780: 20020d80 .word 0x20020d80 8023784: 20020d82 .word 0x20020d82 8023788: 20021684 .word 0x20021684 802378c: 20020d8c .word 0x20020d8c 8023790: 20020d7f .word 0x20020d7f 8023794: 20021624 .word 0x20021624 8023798: 20020db0 .word 0x20020db0 0802379c : void StopMeas(void) { 802379c: b580 push {r7, lr} 802379e: af00 add r7, sp, #0 MAX11270_StopMeas(); 80237a0: f031 fc4c bl 805503c MAX11270_StopMeas(); 80237a4: f031 fc4a bl 805503c if(pardata.SYG == UDAR) 80237a8: 4b2a ldr r3, [pc, #168] ; (8023854 ) 80237aa: 781b ldrb r3, [r3, #0] 80237ac: b2db uxtb r3, r3 80237ae: 2b09 cmp r3, #9 80237b0: d112 bne.n 80237d8 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 80237b2: 2200 movs r2, #0 80237b4: f44f 4180 mov.w r1, #16384 ; 0x4000 80237b8: 4827 ldr r0, [pc, #156] ; (8023858 ) 80237ba: f092 fa15 bl 80b5be8 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 80237be: 2200 movs r2, #0 80237c0: 2120 movs r1, #32 80237c2: 4826 ldr r0, [pc, #152] ; (802385c ) 80237c4: f092 fa10 bl 80b5be8 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 80237c8: 2200 movs r2, #0 80237ca: f44f 7100 mov.w r1, #512 ; 0x200 80237ce: 4824 ldr r0, [pc, #144] ; (8023860 ) 80237d0: f092 fa0a bl 80b5be8 StopADC12(); 80237d4: f7fd fae2 bl 8020d9c } measuring = false; 80237d8: 4b22 ldr r3, [pc, #136] ; (8023864 ) 80237da: 2200 movs r2, #0 80237dc: 701a strb r2, [r3, #0] READY = DATA_FREE; 80237de: 4b22 ldr r3, [pc, #136] ; (8023868 ) 80237e0: 2200 movs r2, #0 80237e2: 701a strb r2, [r3, #0] AutoStop = false; 80237e4: 4b21 ldr r3, [pc, #132] ; (802386c ) 80237e6: 2200 movs r2, #0 80237e8: 701a strb r2, [r3, #0] RepeatKm = false; 80237ea: 4b21 ldr r3, [pc, #132] ; (8023870 ) 80237ec: 2200 movs r2, #0 80237ee: 701a strb r2, [r3, #0] MeanCnt = 0; 80237f0: 4b20 ldr r3, [pc, #128] ; (8023874 ) 80237f2: 2200 movs r2, #0 80237f4: 601a str r2, [r3, #0] if(pardata.SYG == WAVE) 80237f6: 4b17 ldr r3, [pc, #92] ; (8023854 ) 80237f8: 781b ldrb r3, [r3, #0] 80237fa: b2db uxtb r3, r3 80237fc: 2b04 cmp r3, #4 80237fe: d11d bne.n 802383c { StopTacho(); 8023800: f7fd faf2 bl 8020de8 if(Recording) 8023804: 4b1c ldr r3, [pc, #112] ; (8023878 ) 8023806: 781b ldrb r3, [r3, #0] 8023808: b2db uxtb r3, r3 802380a: 2b00 cmp r3, #0 802380c: d016 beq.n 802383c { Recording = false; 802380e: 4b1a ldr r3, [pc, #104] ; (8023878 ) 8023810: 2200 movs r2, #0 8023812: 701a strb r2, [r3, #0] menupos = StartStop; 8023814: 4b19 ldr r3, [pc, #100] ; (802387c ) 8023816: 2200 movs r2, #0 8023818: 701a strb r2, [r3, #0] f_close(&F); 802381a: 4819 ldr r0, [pc, #100] ; (8023880 ) 802381c: f0a3 f9b4 bl 80c6b88 if(IS_ROUTE) 8023820: 4b18 ldr r3, [pc, #96] ; (8023884 ) 8023822: 781b ldrb r3, [r3, #0] 8023824: b2db uxtb r3, r3 8023826: 2b00 cmp r3, #0 8023828: d008 beq.n 802383c { RouteMeas(RouteIndex) = 1; 802382a: 4b17 ldr r3, [pc, #92] ; (8023888 ) 802382c: 681a ldr r2, [r3, #0] 802382e: 4b17 ldr r3, [pc, #92] ; (802388c ) 8023830: 4413 add r3, r2 8023832: 2201 movs r2, #1 8023834: 701a strb r2, [r3, #0] WriteFileCSV_TMP(RouteName); 8023836: 4816 ldr r0, [pc, #88] ; (8023890 ) 8023838: f004 ff7a bl 8028730 //MEASURED = true; } } } CALC_FREQ = 0; 802383c: 4b15 ldr r3, [pc, #84] ; (8023894 ) 802383e: 2200 movs r2, #0 8023840: 701a strb r2, [r3, #0] maxdBm = maxdBc = -100.0f; 8023842: 4b15 ldr r3, [pc, #84] ; (8023898 ) 8023844: 4a15 ldr r2, [pc, #84] ; (802389c ) 8023846: 601a str r2, [r3, #0] 8023848: 4b13 ldr r3, [pc, #76] ; (8023898 ) 802384a: 681b ldr r3, [r3, #0] 802384c: 4a14 ldr r2, [pc, #80] ; (80238a0 ) 802384e: 6013 str r3, [r2, #0] } 8023850: bf00 nop 8023852: bd80 pop {r7, pc} 8023854: 20023e60 .word 0x20023e60 8023858: 40021800 .word 0x40021800 802385c: 40020400 .word 0x40020400 8023860: 40021400 .word 0x40021400 8023864: 20020daf .word 0x20020daf 8023868: 20020d7f .word 0x20020d7f 802386c: 20021524 .word 0x20021524 8023870: 20020dac .word 0x20020dac 8023874: 20020db8 .word 0x20020db8 8023878: 20020db0 .word 0x20020db0 802387c: 20020070 .word 0x20020070 8023880: 20022e20 .word 0x20022e20 8023884: 20020db3 .word 0x20020db3 8023888: 20020f6c .word 0x20020f6c 802388c: 64100000 .word 0x64100000 8023890: 20022628 .word 0x20022628 8023894: 20021010 .word 0x20021010 8023898: 20068560 .word 0x20068560 802389c: c2c80000 .word 0xc2c80000 80238a0: 20057ec0 .word 0x20057ec0 080238a4 : void Off(void) { 80238a4: b580 push {r7, lr} 80238a6: b086 sub sp, #24 80238a8: af00 add r7, sp, #0 //return;//todo NeedOff = false; 80238aa: 4b22 ldr r3, [pc, #136] ; (8023934 ) 80238ac: 2200 movs r2, #0 80238ae: 701a strb r2, [r3, #0] HAL_Delay(2000); 80238b0: f44f 60fa mov.w r0, #2000 ; 0x7d0 80238b4: f08f fce8 bl 80b3288 if(USBConnected == true) { 80238b8: 4b1f ldr r3, [pc, #124] ; (8023938 ) 80238ba: 781b ldrb r3, [r3, #0] 80238bc: b2db uxtb r3, r3 80238be: 2b00 cmp r3, #0 80238c0: d133 bne.n 802392a return; } if(measuring) { 80238c2: 4b1e ldr r3, [pc, #120] ; (802393c ) 80238c4: 781b ldrb r3, [r3, #0] 80238c6: b2db uxtb r3, r3 80238c8: 2b00 cmp r3, #0 80238ca: d001 beq.n 80238d0 StopMeas(); 80238cc: f7ff ff66 bl 802379c } BSP_LCD_DisplayOff(); 80238d0: f02f fe16 bl 8053500 HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); // BACKLIGHT_OFF 80238d4: 2201 movs r2, #1 80238d6: f44f 7180 mov.w r1, #256 ; 0x100 80238da: 4819 ldr r0, [pc, #100] ; (8023940 ) 80238dc: f092 f984 bl 80b5be8 //************************************************************************************ //****** Configuring USB_VBUS as INPUT PULL DOWN ********** GPIO_InitStruct.Pin = GPIO_PIN_13; 80238e0: f44f 5300 mov.w r3, #8192 ; 0x2000 80238e4: 607b str r3, [r7, #4] GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 80238e6: 2300 movs r3, #0 80238e8: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_PULLDOWN; 80238ea: 2302 movs r3, #2 80238ec: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80238ee: 2303 movs r3, #3 80238f0: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = 0; 80238f2: 2300 movs r3, #0 80238f4: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80238f6: 1d3b adds r3, r7, #4 80238f8: 4619 mov r1, r3 80238fa: 4812 ldr r0, [pc, #72] ; (8023944 ) 80238fc: f091 fea6 bl 80b564c //******************************************************** wrPar(); 8023900: f00a fcc2 bl 802e288 while(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET); 8023904: bf00 nop 8023906: 2101 movs r1, #1 8023908: 480d ldr r0, [pc, #52] ; (8023940 ) 802390a: f092 f955 bl 80b5bb8 802390e: 4603 mov r3, r0 8023910: 2b01 cmp r3, #1 8023912: d0f8 beq.n 8023906 HAL_GPIO_WritePin(ON_GPIO_Port, ON_Pin, GPIO_PIN_RESET); 8023914: 2200 movs r2, #0 8023916: f44f 7180 mov.w r1, #256 ; 0x100 802391a: 480b ldr r0, [pc, #44] ; (8023948 ) 802391c: f092 f964 bl 80b5be8 HAL_Delay(300); 8023920: f44f 7096 mov.w r0, #300 ; 0x12c 8023924: f08f fcb0 bl 80b3288 while(1); 8023928: e7fe b.n 8023928 return; 802392a: bf00 nop } 802392c: 3718 adds r7, #24 802392e: 46bd mov sp, r7 8023930: bd80 pop {r7, pc} 8023932: bf00 nop 8023934: 20020f75 .word 0x20020f75 8023938: 20021b21 .word 0x20021b21 802393c: 20020daf .word 0x20020daf 8023940: 40020000 .word 0x40020000 8023944: 40020400 .word 0x40020400 8023948: 40021400 .word 0x40021400 0802394c : float64_t get_log_unit_value(float64_t lin_unit_value, float64_t base, float64_t k, float64_t c) { 802394c: b580 push {r7, lr} 802394e: ed2d 8b02 vpush {d8} 8023952: b088 sub sp, #32 8023954: af00 add r7, sp, #0 8023956: ed87 0b06 vstr d0, [r7, #24] 802395a: ed87 1b04 vstr d1, [r7, #16] 802395e: ed87 2b02 vstr d2, [r7, #8] 8023962: ed87 3b00 vstr d3, [r7] return (c * logl(lin_unit_value) / logl(base) + k); 8023966: ed97 0b06 vldr d0, [r7, #24] 802396a: f0a6 ffe9 bl 80ca940 802396e: eeb0 6b40 vmov.f64 d6, d0 8023972: ed97 7b00 vldr d7, [r7] 8023976: ee26 8b07 vmul.f64 d8, d6, d7 802397a: ed97 0b04 vldr d0, [r7, #16] 802397e: f0a6 ffdf bl 80ca940 8023982: eeb0 7b40 vmov.f64 d7, d0 8023986: ee88 6b07 vdiv.f64 d6, d8, d7 802398a: ed97 7b02 vldr d7, [r7, #8] 802398e: ee36 7b07 vadd.f64 d7, d6, d7 } 8023992: eeb0 0b47 vmov.f64 d0, d7 8023996: 3720 adds r7, #32 8023998: 46bd mov sp, r7 802399a: ecbd 8b02 vpop {d8} 802399e: bd80 pop {r7, pc} 080239a0 : float64_t get_d_log_unit_value(float64_t d) { 80239a0: b580 push {r7, lr} 80239a2: b082 sub sp, #8 80239a4: af00 add r7, sp, #0 80239a6: ed87 0b00 vstr d0, [r7] static const float64_t base = 0.5921510231527015, k = -3.015055963296224, c = -0.9111115009540; return (get_log_unit_value(d, base, k, c)); 80239aa: 4b0d ldr r3, [pc, #52] ; (80239e0 ) 80239ac: ed93 7b00 vldr d7, [r3] 80239b0: 4b0c ldr r3, [pc, #48] ; (80239e4 ) 80239b2: ed93 6b00 vldr d6, [r3] 80239b6: 4b0c ldr r3, [pc, #48] ; (80239e8 ) 80239b8: ed93 5b00 vldr d5, [r3] 80239bc: eeb0 3b45 vmov.f64 d3, d5 80239c0: eeb0 2b46 vmov.f64 d2, d6 80239c4: eeb0 1b47 vmov.f64 d1, d7 80239c8: ed97 0b00 vldr d0, [r7] 80239cc: f7ff ffbe bl 802394c 80239d0: eeb0 7b40 vmov.f64 d7, d0 } 80239d4: eeb0 0b47 vmov.f64 d0, d7 80239d8: 3708 adds r7, #8 80239da: 46bd mov sp, r7 80239dc: bd80 pop {r7, pc} 80239de: bf00 nop 80239e0: 080d0d90 .word 0x080d0d90 80239e4: 080d0d98 .word 0x080d0d98 80239e8: 080d0da0 .word 0x080d0da0 080239ec : float64_t get_rpm_log_unit_value(float64_t rpm) { 80239ec: b580 push {r7, lr} 80239ee: b082 sub sp, #8 80239f0: af00 add r7, sp, #0 80239f2: ed87 0b00 vstr d0, [r7] static const float64_t base = 6.69896278136537, k = -0.008927920952982967, c = 3.3041976536011; return (get_log_unit_value(rpm, base, k, c)); 80239f6: 4b0d ldr r3, [pc, #52] ; (8023a2c ) 80239f8: ed93 7b00 vldr d7, [r3] 80239fc: 4b0c ldr r3, [pc, #48] ; (8023a30 ) 80239fe: ed93 6b00 vldr d6, [r3] 8023a02: 4b0c ldr r3, [pc, #48] ; (8023a34 ) 8023a04: ed93 5b00 vldr d5, [r3] 8023a08: eeb0 3b45 vmov.f64 d3, d5 8023a0c: eeb0 2b46 vmov.f64 d2, d6 8023a10: eeb0 1b47 vmov.f64 d1, d7 8023a14: ed97 0b00 vldr d0, [r7] 8023a18: f7ff ff98 bl 802394c 8023a1c: eeb0 7b40 vmov.f64 d7, d0 } 8023a20: eeb0 0b47 vmov.f64 d0, d7 8023a24: 3708 adds r7, #8 8023a26: 46bd mov sp, r7 8023a28: bd80 pop {r7, pc} 8023a2a: bf00 nop 8023a2c: 080d0da8 .word 0x080d0da8 8023a30: 080d0db0 .word 0x080d0db0 8023a34: 080d0db8 .word 0x080d0db8 08023a38 : float64_t Calc_dBi(float64_t d, float64_t rpm) { 8023a38: b580 push {r7, lr} 8023a3a: ed2d 8b02 vpush {d8} 8023a3e: b084 sub sp, #16 8023a40: af00 add r7, sp, #0 8023a42: ed87 0b02 vstr d0, [r7, #8] 8023a46: ed87 1b00 vstr d1, [r7] static const float64_t a = 3.135283064375708, b = 4.999746694992378, k = -58.16048390995372; return (a * get_d_log_unit_value(d) + b * get_rpm_log_unit_value(rpm) + k); 8023a4a: ed97 0b02 vldr d0, [r7, #8] 8023a4e: f7ff ffa7 bl 80239a0 8023a52: eeb0 6b40 vmov.f64 d6, d0 8023a56: 4b0f ldr r3, [pc, #60] ; (8023a94 ) 8023a58: ed93 7b00 vldr d7, [r3] 8023a5c: ee26 8b07 vmul.f64 d8, d6, d7 8023a60: ed97 0b00 vldr d0, [r7] 8023a64: f7ff ffc2 bl 80239ec 8023a68: eeb0 6b40 vmov.f64 d6, d0 8023a6c: 4b0a ldr r3, [pc, #40] ; (8023a98 ) 8023a6e: ed93 7b00 vldr d7, [r3] 8023a72: ee26 7b07 vmul.f64 d7, d6, d7 8023a76: ee38 6b07 vadd.f64 d6, d8, d7 8023a7a: 4b08 ldr r3, [pc, #32] ; (8023a9c ) 8023a7c: ed93 7b00 vldr d7, [r3] 8023a80: ee36 7b07 vadd.f64 d7, d6, d7 } 8023a84: eeb0 0b47 vmov.f64 d0, d7 8023a88: 3710 adds r7, #16 8023a8a: 46bd mov sp, r7 8023a8c: ecbd 8b02 vpop {d8} 8023a90: bd80 pop {r7, pc} 8023a92: bf00 nop 8023a94: 080d0dc0 .word 0x080d0dc0 8023a98: 080d0dc8 .word 0x080d0dc8 8023a9c: 080d0dd0 .word 0x080d0dd0 08023aa0 : * Enable DMA controller clock * Configure DMA for memory to memory transfers * hdma_memtomem_dma2_stream0 */ void MX_DMA_Init(void) { 8023aa0: b580 push {r7, lr} 8023aa2: b082 sub sp, #8 8023aa4: af00 add r7, sp, #0 __HAL_RCC_DMA2_CLK_ENABLE(); 8023aa6: 4a1c ldr r2, [pc, #112] ; (8023b18 ) 8023aa8: 4b1b ldr r3, [pc, #108] ; (8023b18 ) 8023aaa: 6b1b ldr r3, [r3, #48] ; 0x30 8023aac: f443 0380 orr.w r3, r3, #4194304 ; 0x400000 8023ab0: 6313 str r3, [r2, #48] ; 0x30 8023ab2: 4b19 ldr r3, [pc, #100] ; (8023b18 ) 8023ab4: 6b1b ldr r3, [r3, #48] ; 0x30 8023ab6: f403 0380 and.w r3, r3, #4194304 ; 0x400000 8023aba: 607b str r3, [r7, #4] 8023abc: 687b ldr r3, [r7, #4] HAL_NVIC_SetPriority(DMA2_Stream0_IRQn, 2, 0); /* MEM_COPY */ 8023abe: 2200 movs r2, #0 8023ac0: 2102 movs r1, #2 8023ac2: 2038 movs r0, #56 ; 0x38 8023ac4: f090 fb2b bl 80b411e HAL_NVIC_EnableIRQ(DMA2_Stream0_IRQn); 8023ac8: 2038 movs r0, #56 ; 0x38 8023aca: f090 fb44 bl 80b4156 HAL_NVIC_SetPriority(DMA2_Stream3_IRQn, 5, 0); /* SD_Rx */ 8023ace: 2200 movs r2, #0 8023ad0: 2105 movs r1, #5 8023ad2: 203b movs r0, #59 ; 0x3b 8023ad4: f090 fb23 bl 80b411e HAL_NVIC_EnableIRQ(DMA2_Stream3_IRQn); 8023ad8: 203b movs r0, #59 ; 0x3b 8023ada: f090 fb3c bl 80b4156 HAL_NVIC_SetPriority(DMA2_Stream6_IRQn, 5, 0); /* SD_Tx */ 8023ade: 2200 movs r2, #0 8023ae0: 2105 movs r1, #5 8023ae2: 2045 movs r0, #69 ; 0x45 8023ae4: f090 fb1b bl 80b411e HAL_NVIC_EnableIRQ(DMA2_Stream6_IRQn); 8023ae8: 2045 movs r0, #69 ; 0x45 8023aea: f090 fb34 bl 80b4156 HAL_NVIC_SetPriority(DMA2_Stream4_IRQn, 1, 0); /* ADC_Bat */ 8023aee: 2200 movs r2, #0 8023af0: 2101 movs r1, #1 8023af2: 203c movs r0, #60 ; 0x3c 8023af4: f090 fb13 bl 80b411e HAL_NVIC_EnableIRQ(DMA2_Stream4_IRQn); 8023af8: 203c movs r0, #60 ; 0x3c 8023afa: f090 fb2c bl 80b4156 HAL_NVIC_SetPriority(DMA2_Stream1_IRQn, 1, 0); /* TACHO */ 8023afe: 2200 movs r2, #0 8023b00: 2101 movs r1, #1 8023b02: 2039 movs r0, #57 ; 0x39 8023b04: f090 fb0b bl 80b411e HAL_NVIC_EnableIRQ(DMA2_Stream1_IRQn); 8023b08: 2039 movs r0, #57 ; 0x39 8023b0a: f090 fb24 bl 80b4156 } 8023b0e: bf00 nop 8023b10: 3708 adds r7, #8 8023b12: 46bd mov sp, r7 8023b14: bd80 pop {r7, pc} 8023b16: bf00 nop 8023b18: 40023800 .word 0x40023800 08023b1c : DMA2D_HandleTypeDef hdma2d; /* DMA2D init function */ void MX_DMA2D_Init(void) { 8023b1c: b580 push {r7, lr} 8023b1e: af00 add r7, sp, #0 hdma2d.Instance = DMA2D; 8023b20: 4b18 ldr r3, [pc, #96] ; (8023b84 ) 8023b22: 4a19 ldr r2, [pc, #100] ; (8023b88 ) 8023b24: 601a str r2, [r3, #0] hdma2d.Init.Mode = DMA2D_M2M; 8023b26: 4b17 ldr r3, [pc, #92] ; (8023b84 ) 8023b28: 2200 movs r2, #0 8023b2a: 605a str r2, [r3, #4] hdma2d.Init.ColorMode = DMA2D_OUTPUT_RGB565; 8023b2c: 4b15 ldr r3, [pc, #84] ; (8023b84 ) 8023b2e: 2202 movs r2, #2 8023b30: 609a str r2, [r3, #8] hdma2d.Init.OutputOffset = 0; 8023b32: 4b14 ldr r3, [pc, #80] ; (8023b84 ) 8023b34: 2200 movs r2, #0 8023b36: 60da str r2, [r3, #12] hdma2d.LayerCfg[1].InputOffset = 0; 8023b38: 4b12 ldr r3, [pc, #72] ; (8023b84 ) 8023b3a: 2200 movs r2, #0 8023b3c: 639a str r2, [r3, #56] ; 0x38 hdma2d.LayerCfg[1].InputColorMode = DMA2D_INPUT_RGB565; 8023b3e: 4b11 ldr r3, [pc, #68] ; (8023b84 ) 8023b40: 2202 movs r2, #2 8023b42: 63da str r2, [r3, #60] ; 0x3c hdma2d.LayerCfg[1].AlphaMode = DMA2D_NO_MODIF_ALPHA; 8023b44: 4b0f ldr r3, [pc, #60] ; (8023b84 ) 8023b46: 2200 movs r2, #0 8023b48: 641a str r2, [r3, #64] ; 0x40 hdma2d.LayerCfg[1].InputAlpha = 0; 8023b4a: 4b0e ldr r3, [pc, #56] ; (8023b84 ) 8023b4c: 2200 movs r2, #0 8023b4e: 645a str r2, [r3, #68] ; 0x44 hdma2d.LayerCfg[1].AlphaInverted = DMA2D_REGULAR_ALPHA; 8023b50: 4b0c ldr r3, [pc, #48] ; (8023b84 ) 8023b52: 2200 movs r2, #0 8023b54: 649a str r2, [r3, #72] ; 0x48 hdma2d.LayerCfg[1].RedBlueSwap = DMA2D_RB_REGULAR; 8023b56: 4b0b ldr r3, [pc, #44] ; (8023b84 ) 8023b58: 2200 movs r2, #0 8023b5a: 64da str r2, [r3, #76] ; 0x4c if (HAL_DMA2D_Init(&hdma2d) != HAL_OK) 8023b5c: 4809 ldr r0, [pc, #36] ; (8023b84 ) 8023b5e: f091 f81f bl 80b4ba0 8023b62: 4603 mov r3, r0 8023b64: 2b00 cmp r3, #0 8023b66: d001 beq.n 8023b6c { Error_Handler(); 8023b68: f031 f96e bl 8054e48 } if (HAL_DMA2D_ConfigLayer(&hdma2d, 1) != HAL_OK) 8023b6c: 2101 movs r1, #1 8023b6e: 4805 ldr r0, [pc, #20] ; (8023b84 ) 8023b70: f091 f984 bl 80b4e7c 8023b74: 4603 mov r3, r0 8023b76: 2b00 cmp r3, #0 8023b78: d001 beq.n 8023b7e { Error_Handler(); 8023b7a: f031 f965 bl 8054e48 } } 8023b7e: bf00 nop 8023b80: bd80 pop {r7, pc} 8023b82: bf00 nop 8023b84: 20021d24 .word 0x20021d24 8023b88: 4002b000 .word 0x4002b000 08023b8c : void HAL_DMA2D_MspInit(DMA2D_HandleTypeDef* dma2dHandle) { 8023b8c: b480 push {r7} 8023b8e: b085 sub sp, #20 8023b90: af00 add r7, sp, #0 8023b92: 6078 str r0, [r7, #4] if(dma2dHandle->Instance==DMA2D) 8023b94: 687b ldr r3, [r7, #4] 8023b96: 681b ldr r3, [r3, #0] 8023b98: 4a0a ldr r2, [pc, #40] ; (8023bc4 ) 8023b9a: 4293 cmp r3, r2 8023b9c: d10b bne.n 8023bb6 { /* USER CODE BEGIN DMA2D_MspInit 0 */ /* USER CODE END DMA2D_MspInit 0 */ /* DMA2D clock enable */ __HAL_RCC_DMA2D_CLK_ENABLE(); 8023b9e: 4a0a ldr r2, [pc, #40] ; (8023bc8 ) 8023ba0: 4b09 ldr r3, [pc, #36] ; (8023bc8 ) 8023ba2: 6b1b ldr r3, [r3, #48] ; 0x30 8023ba4: f443 0300 orr.w r3, r3, #8388608 ; 0x800000 8023ba8: 6313 str r3, [r2, #48] ; 0x30 8023baa: 4b07 ldr r3, [pc, #28] ; (8023bc8 ) 8023bac: 6b1b ldr r3, [r3, #48] ; 0x30 8023bae: f403 0300 and.w r3, r3, #8388608 ; 0x800000 8023bb2: 60fb str r3, [r7, #12] 8023bb4: 68fb ldr r3, [r7, #12] /* USER CODE BEGIN DMA2D_MspInit 1 */ /* USER CODE END DMA2D_MspInit 1 */ } } 8023bb6: bf00 nop 8023bb8: 3714 adds r7, #20 8023bba: 46bd mov sp, r7 8023bbc: f85d 7b04 ldr.w r7, [sp], #4 8023bc0: 4770 bx lr 8023bc2: bf00 nop 8023bc4: 4002b000 .word 0x4002b000 8023bc8: 40023800 .word 0x40023800 08023bcc : void initSD(void) { 8023bcc: b580 push {r7, lr} 8023bce: b086 sub sp, #24 8023bd0: af00 add r7, sp, #0 uint32_t TryTimes, i; TM_FATFS_Size_t SD_Size; //HAL_SD_CardInfoTypeDef CardInfo; FRESULT res = FR_DISK_ERR; 8023bd2: 2301 movs r3, #1 8023bd4: 74fb strb r3, [r7, #19] AskFormat = false; 8023bd6: 4b55 ldr r3, [pc, #340] ; (8023d2c ) 8023bd8: 2200 movs r2, #0 8023bda: 701a strb r2, [r3, #0] for(TryTimes = 0; TryTimes < 10; TryTimes++) 8023bdc: 2300 movs r3, #0 8023bde: 617b str r3, [r7, #20] 8023be0: e011 b.n 8023c06 { if(BSP_SD_IsDetected() == SD_NOT_PRESENT) 8023be2: f09b fe8a bl 80bf8fa 8023be6: 4603 mov r3, r0 8023be8: 2b00 cmp r3, #0 8023bea: d103 bne.n 8023bf4 CardState = MSD_NOCARD; 8023bec: 4b50 ldr r3, [pc, #320] ; (8023d30 ) 8023bee: 2200 movs r2, #0 8023bf0: 701a strb r2, [r3, #0] 8023bf2: e002 b.n 8023bfa else CardState = MSD_PRESENT; 8023bf4: 4b4e ldr r3, [pc, #312] ; (8023d30 ) 8023bf6: 2201 movs r2, #1 8023bf8: 701a strb r2, [r3, #0] HAL_Delay(20); 8023bfa: 2014 movs r0, #20 8023bfc: f08f fb44 bl 80b3288 for(TryTimes = 0; TryTimes < 10; TryTimes++) 8023c00: 697b ldr r3, [r7, #20] 8023c02: 3301 adds r3, #1 8023c04: 617b str r3, [r7, #20] 8023c06: 697b ldr r3, [r7, #20] 8023c08: 2b09 cmp r3, #9 8023c0a: d9ea bls.n 8023be2 } if(CardState == MSD_NOCARD) { 8023c0c: 4b48 ldr r3, [pc, #288] ; (8023d30 ) 8023c0e: 781b ldrb r3, [r3, #0] 8023c10: b2db uxtb r3, r3 8023c12: 2b00 cmp r3, #0 8023c14: f000 8085 beq.w 8023d22 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, 0); } }*/ for(TryTimes = 0; TryTimes < 10; TryTimes++) 8023c18: 2300 movs r3, #0 8023c1a: 617b str r3, [r7, #20] 8023c1c: e012 b.n 8023c44 { res = f_mount(&fs, SDPath, 1); 8023c1e: 2201 movs r2, #1 8023c20: 4944 ldr r1, [pc, #272] ; (8023d34 ) 8023c22: 4845 ldr r0, [pc, #276] ; (8023d38 ) 8023c24: f0a2 f928 bl 80c5e78 8023c28: 4603 mov r3, r0 8023c2a: 74fb strb r3, [r7, #19] if(res == FR_OK) 8023c2c: 7cfb ldrb r3, [r7, #19] 8023c2e: 2b00 cmp r3, #0 8023c30: d105 bne.n 8023c3e { HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, 0); 8023c32: 2200 movs r2, #0 8023c34: 2102 movs r1, #2 8023c36: 4841 ldr r0, [pc, #260] ; (8023d3c ) 8023c38: f095 f9d8 bl 80b8fec break; 8023c3c: e005 b.n 8023c4a for(TryTimes = 0; TryTimes < 10; TryTimes++) 8023c3e: 697b ldr r3, [r7, #20] 8023c40: 3301 adds r3, #1 8023c42: 617b str r3, [r7, #20] 8023c44: 697b ldr r3, [r7, #20] 8023c46: 2b09 cmp r3, #9 8023c48: d9e9 bls.n 8023c1e } } if(res != FR_OK) 8023c4a: 7cfb ldrb r3, [r7, #19] 8023c4c: 2b00 cmp r3, #0 8023c4e: d017 beq.n 8023c80 { i = HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR2); 8023c50: 2102 movs r1, #2 8023c52: 483a ldr r0, [pc, #232] ; (8023d3c ) 8023c54: f095 f9e4 bl 80b9020 8023c58: 60f8 str r0, [r7, #12] if(i < 3) 8023c5a: 68fb ldr r3, [r7, #12] 8023c5c: 2b02 cmp r3, #2 8023c5e: d80a bhi.n 8023c76 { i++; 8023c60: 68fb ldr r3, [r7, #12] 8023c62: 3301 adds r3, #1 8023c64: 60fb str r3, [r7, #12] HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, i); 8023c66: 68fa ldr r2, [r7, #12] 8023c68: 2102 movs r1, #2 8023c6a: 4834 ldr r0, [pc, #208] ; (8023d3c ) 8023c6c: f095 f9be bl 80b8fec HAL_NVIC_SystemReset(); 8023c70: f090 fa8d bl 80b418e 8023c74: e004 b.n 8023c80 } else { HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, 0); 8023c76: 2200 movs r2, #0 8023c78: 2102 movs r1, #2 8023c7a: 4830 ldr r0, [pc, #192] ; (8023d3c ) 8023c7c: f095 f9b6 bl 80b8fec if(res == FR_OK) 8023c80: 7cfb ldrb r3, [r7, #19] 8023c82: 2b00 cmp r3, #0 8023c84: d13a bne.n 8023cfc { TryTimes = 10; 8023c86: 230a movs r3, #10 8023c88: 617b str r3, [r7, #20] do { res = TM_FATFS_GetDriveSize(SDPath, &SD_Size); 8023c8a: 1d3b adds r3, r7, #4 8023c8c: 4619 mov r1, r3 8023c8e: 4829 ldr r0, [pc, #164] ; (8023d34 ) 8023c90: f008 fce6 bl 802c660 8023c94: 4603 mov r3, r0 8023c96: 74fb strb r3, [r7, #19] if(res == FR_OK) 8023c98: 7cfb ldrb r3, [r7, #19] 8023c9a: 2b00 cmp r3, #0 8023c9c: d10e bne.n 8023cbc { SD_Space.TotalSectors = SD_Size.TotalSize; // Number Total Sectors 8023c9e: 687b ldr r3, [r7, #4] 8023ca0: 4a27 ldr r2, [pc, #156] ; (8023d40 ) 8023ca2: 6013 str r3, [r2, #0] SD_Space.FreeSectors = SD_Size.FreeSize; // Number Free Sectors 8023ca4: 68bb ldr r3, [r7, #8] 8023ca6: 4a26 ldr r2, [pc, #152] ; (8023d40 ) 8023ca8: 6053 str r3, [r2, #4] SD_Space.Total_MB = SD_Size.TotalSize >> 20; // Number Total sectors into MBytes 8023caa: 687b ldr r3, [r7, #4] 8023cac: 0d1b lsrs r3, r3, #20 8023cae: 4a24 ldr r2, [pc, #144] ; (8023d40 ) 8023cb0: 6093 str r3, [r2, #8] SD_Space.Free_MB = SD_Size.FreeSize >> 20; // Number Total sectors into MBytes 8023cb2: 68bb ldr r3, [r7, #8] 8023cb4: 0d1b lsrs r3, r3, #20 8023cb6: 4a22 ldr r2, [pc, #136] ; (8023d40 ) 8023cb8: 60d3 str r3, [r2, #12] 8023cba: e002 b.n 8023cc2 } else TryTimes--; 8023cbc: 697b ldr r3, [r7, #20] 8023cbe: 3b01 subs r3, #1 8023cc0: 617b str r3, [r7, #20] } while((TryTimes > 0) && (res != FR_OK)); 8023cc2: 697b ldr r3, [r7, #20] 8023cc4: 2b00 cmp r3, #0 8023cc6: d002 beq.n 8023cce 8023cc8: 7cfb ldrb r3, [r7, #19] 8023cca: 2b00 cmp r3, #0 8023ccc: d1dd bne.n 8023c8a if(res == FR_OK) 8023cce: 7cfb ldrb r3, [r7, #19] 8023cd0: 2b00 cmp r3, #0 8023cd2: d103 bne.n 8023cdc { CardState = MSD_READY; 8023cd4: 4b16 ldr r3, [pc, #88] ; (8023d30 ) 8023cd6: 2203 movs r2, #3 8023cd8: 701a strb r2, [r3, #0] 8023cda: e023 b.n 8023d24 } else { memset(MeasFileName, 0, sizeof(MeasFileName)); 8023cdc: 2221 movs r2, #33 ; 0x21 8023cde: 2100 movs r1, #0 8023ce0: 4818 ldr r0, [pc, #96] ; (8023d44 ) 8023ce2: f0a9 f9cd bl 80cd080 memset(WavFileName, 0, sizeof(WavFileName)); 8023ce6: 2221 movs r2, #33 ; 0x21 8023ce8: 2100 movs r1, #0 8023cea: 4817 ldr r0, [pc, #92] ; (8023d48 ) 8023cec: f0a9 f9c8 bl 80cd080 memset(DiagFileName, 0, sizeof(DiagFileName)); 8023cf0: 2221 movs r2, #33 ; 0x21 8023cf2: 2100 movs r1, #0 8023cf4: 4815 ldr r0, [pc, #84] ; (8023d4c ) 8023cf6: f0a9 f9c3 bl 80cd080 8023cfa: e013 b.n 8023d24 } else { //if(res == FR_NO_FILESYSTEM) //{ AskFormat = true; 8023cfc: 4b0b ldr r3, [pc, #44] ; (8023d2c ) 8023cfe: 2201 movs r2, #1 8023d00: 701a strb r2, [r3, #0] memset(MeasFileName, 0, sizeof(MeasFileName)); 8023d02: 2221 movs r2, #33 ; 0x21 8023d04: 2100 movs r1, #0 8023d06: 480f ldr r0, [pc, #60] ; (8023d44 ) 8023d08: f0a9 f9ba bl 80cd080 memset(WavFileName, 0, sizeof(WavFileName)); 8023d0c: 2221 movs r2, #33 ; 0x21 8023d0e: 2100 movs r1, #0 8023d10: 480d ldr r0, [pc, #52] ; (8023d48 ) 8023d12: f0a9 f9b5 bl 80cd080 memset(DiagFileName, 0, sizeof(DiagFileName)); 8023d16: 2221 movs r2, #33 ; 0x21 8023d18: 2100 movs r1, #0 8023d1a: 480c ldr r0, [pc, #48] ; (8023d4c ) 8023d1c: f0a9 f9b0 bl 80cd080 8023d20: e000 b.n 8023d24 return; 8023d22: bf00 nop //} } } 8023d24: 3718 adds r7, #24 8023d26: 46bd mov sp, r7 8023d28: bd80 pop {r7, pc} 8023d2a: bf00 nop 8023d2c: 2002164d .word 0x2002164d 8023d30: 2002164c .word 0x2002164c 8023d34: 20068acc .word 0x20068acc 8023d38: 200220c0 .word 0x200220c0 8023d3c: 20068598 .word 0x20068598 8023d40: 20022300 .word 0x20022300 8023d44: 20020e58 .word 0x20020e58 8023d48: 20020e34 .word 0x20020e34 8023d4c: 20020e7c .word 0x20020e7c 08023d50 : void FileSystem(void) { 8023d50: b580 push {r7, lr} 8023d52: b092 sub sp, #72 ; 0x48 8023d54: af00 add r7, sp, #0 FRESULT res; TM_FATFS_Size_t SD_Size; char fn[40]; if(NeedClean) 8023d56: 4ba0 ldr r3, [pc, #640] ; (8023fd8 ) 8023d58: 781b ldrb r3, [r3, #0] 8023d5a: b2db uxtb r3, r3 8023d5c: 2b00 cmp r3, #0 8023d5e: f000 81a2 beq.w 80240a6 { if(CardState == MSD_READY) 8023d62: 4b9e ldr r3, [pc, #632] ; (8023fdc ) 8023d64: 781b ldrb r3, [r3, #0] 8023d66: b2db uxtb r3, r3 8023d68: 2b03 cmp r3, #3 8023d6a: f040 8195 bne.w 8024098 { if(NeedClean == 1) 8023d6e: 4b9a ldr r3, [pc, #616] ; (8023fd8 ) 8023d70: 781b ldrb r3, [r3, #0] 8023d72: b2db uxtb r3, r3 8023d74: 2b01 cmp r3, #1 8023d76: f040 808b bne.w 8023e90 { if(NumFilesDelete != 0) 8023d7a: 4b99 ldr r3, [pc, #612] ; (8023fe0 ) 8023d7c: 681b ldr r3, [r3, #0] 8023d7e: 2b00 cmp r3, #0 8023d80: f000 8083 beq.w 8023e8a { k = 0; 8023d84: 2300 movs r3, #0 8023d86: 63fb str r3, [r7, #60] ; 0x3c timedown = HAL_GetTick(); 8023d88: f08f fa72 bl 80b3270 8023d8c: 4603 mov r3, r0 8023d8e: 637b str r3, [r7, #52] ; 0x34 for(i = 0; i < NumFilesDelete; i++) 8023d90: 2300 movs r3, #0 8023d92: 647b str r3, [r7, #68] ; 0x44 8023d94: e068 b.n 8023e68 { j = 0; 8023d96: 2300 movs r3, #0 8023d98: 643b str r3, [r7, #64] ; 0x40 while(StrRAM(j, 0) == 0) 8023d9a: e006 b.n 8023daa { j++; 8023d9c: 6c3b ldr r3, [r7, #64] ; 0x40 8023d9e: 3301 adds r3, #1 8023da0: 643b str r3, [r7, #64] ; 0x40 if(j >= MAX_CHECKED_FILES) 8023da2: 6c3b ldr r3, [r7, #64] ; 0x40 8023da4: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023da8: d20b bcs.n 8023dc2 while(StrRAM(j, 0) == 0) 8023daa: 6c3a ldr r2, [r7, #64] ; 0x40 8023dac: 4613 mov r3, r2 8023dae: 009b lsls r3, r3, #2 8023db0: 4413 add r3, r2 8023db2: 00db lsls r3, r3, #3 8023db4: 461a mov r2, r3 8023db6: 4b8b ldr r3, [pc, #556] ; (8023fe4 ) 8023db8: 4413 add r3, r2 8023dba: 781b ldrb r3, [r3, #0] 8023dbc: 2b00 cmp r3, #0 8023dbe: d0ed beq.n 8023d9c 8023dc0: e000 b.n 8023dc4 break; 8023dc2: bf00 nop } if(j < MAX_CHECKED_FILES) 8023dc4: 6c3b ldr r3, [r7, #64] ; 0x40 8023dc6: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023dca: d23c bcs.n 8023e46 { strcpy(fn, &StrRAM(j, 0)); 8023dcc: 6c3a ldr r2, [r7, #64] ; 0x40 8023dce: 4613 mov r3, r2 8023dd0: 009b lsls r3, r3, #2 8023dd2: 4413 add r3, r2 8023dd4: 00db lsls r3, r3, #3 8023dd6: 461a mov r2, r3 8023dd8: 4b82 ldr r3, [pc, #520] ; (8023fe4 ) 8023dda: 4413 add r3, r2 8023ddc: 461a mov r2, r3 8023dde: 1d3b adds r3, r7, #4 8023de0: 4611 mov r1, r2 8023de2: 4618 mov r0, r3 8023de4: f0a9 fa69 bl 80cd2ba memset(&StrRAM(j, 0), 0, 40); 8023de8: 6c3a ldr r2, [r7, #64] ; 0x40 8023dea: 4613 mov r3, r2 8023dec: 009b lsls r3, r3, #2 8023dee: 4413 add r3, r2 8023df0: 00db lsls r3, r3, #3 8023df2: 461a mov r2, r3 8023df4: 4b7b ldr r3, [pc, #492] ; (8023fe4 ) 8023df6: 4413 add r3, r2 8023df8: 2228 movs r2, #40 ; 0x28 8023dfa: 2100 movs r1, #0 8023dfc: 4618 mov r0, r3 8023dfe: f0a9 f93f bl 80cd080 res = DeleteFilePTM(fn); 8023e02: 1d3b adds r3, r7, #4 8023e04: 4618 mov r0, r3 8023e06: f006 ffb7 bl 802ad78 8023e0a: 4603 mov r3, r0 8023e0c: f887 303b strb.w r3, [r7, #59] ; 0x3b if(res == FR_OK) 8023e10: f897 303b ldrb.w r3, [r7, #59] ; 0x3b 8023e14: 2b00 cmp r3, #0 8023e16: d116 bne.n 8023e46 { if(strcmp(fn, MeasFileName) == 0) 8023e18: 1d3b adds r3, r7, #4 8023e1a: 4973 ldr r1, [pc, #460] ; (8023fe8 ) 8023e1c: 4618 mov r0, r3 8023e1e: f7fc fa6f bl 8020300 8023e22: 4603 mov r3, r0 8023e24: 2b00 cmp r3, #0 8023e26: d10b bne.n 8023e40 { memset(MeasFileName, 0, sizeof(MeasFileName)); 8023e28: 2221 movs r2, #33 ; 0x21 8023e2a: 2100 movs r1, #0 8023e2c: 486e ldr r0, [pc, #440] ; (8023fe8 ) 8023e2e: f0a9 f927 bl 80cd080 strcpy(MeasFileName, " "); 8023e32: 4b6d ldr r3, [pc, #436] ; (8023fe8 ) 8023e34: 4a6d ldr r2, [pc, #436] ; (8023fec ) 8023e36: e892 0003 ldmia.w r2, {r0, r1} 8023e3a: 6018 str r0, [r3, #0] 8023e3c: 3304 adds r3, #4 8023e3e: 8019 strh r1, [r3, #0] } k++; 8023e40: 6bfb ldr r3, [r7, #60] ; 0x3c 8023e42: 3301 adds r3, #1 8023e44: 63fb str r3, [r7, #60] ; 0x3c } } if((HAL_GetTick() - timedown) >= 300) 8023e46: f08f fa13 bl 80b3270 8023e4a: 4602 mov r2, r0 8023e4c: 6b7b ldr r3, [r7, #52] ; 0x34 8023e4e: 1ad3 subs r3, r2, r3 8023e50: f5b3 7f96 cmp.w r3, #300 ; 0x12c 8023e54: d305 bcc.n 8023e62 { timedown = HAL_GetTick(); 8023e56: f08f fa0b bl 80b3270 8023e5a: 4603 mov r3, r0 8023e5c: 637b str r3, [r7, #52] ; 0x34 RedrawScreen(); 8023e5e: f043 ffe7 bl 8067e30 for(i = 0; i < NumFilesDelete; i++) 8023e62: 6c7b ldr r3, [r7, #68] ; 0x44 8023e64: 3301 adds r3, #1 8023e66: 647b str r3, [r7, #68] ; 0x44 8023e68: 4b5d ldr r3, [pc, #372] ; (8023fe0 ) 8023e6a: 681b ldr r3, [r3, #0] 8023e6c: 6c7a ldr r2, [r7, #68] ; 0x44 8023e6e: 429a cmp r2, r3 8023e70: d391 bcc.n 8023d96 } } if(k == NumFilesDelete) 8023e72: 4b5b ldr r3, [pc, #364] ; (8023fe0 ) 8023e74: 681b ldr r3, [r3, #0] 8023e76: 6bfa ldr r2, [r7, #60] ; 0x3c 8023e78: 429a cmp r2, r3 8023e7a: d103 bne.n 8023e84 CleanStatus = AP_OK; 8023e7c: 4b5c ldr r3, [pc, #368] ; (8023ff0 ) 8023e7e: 2200 movs r2, #0 8023e80: 701a strb r2, [r3, #0] 8023e82: e002 b.n 8023e8a else CleanStatus = AP_FAIL; 8023e84: 4b5a ldr r3, [pc, #360] ; (8023ff0 ) 8023e86: 2201 movs r2, #1 8023e88: 701a strb r2, [r3, #0] } CheckSD(); 8023e8a: f008 fb8b bl 802c5a4 8023e8e: e103 b.n 8024098 } else if(NeedClean == 2) // Óäàëåíèå ôàéëîâ .GTR 8023e90: 4b51 ldr r3, [pc, #324] ; (8023fd8 ) 8023e92: 781b ldrb r3, [r3, #0] 8023e94: b2db uxtb r3, r3 8023e96: 2b02 cmp r3, #2 8023e98: d175 bne.n 8023f86 { if(NumFilesDelete != 0) 8023e9a: 4b51 ldr r3, [pc, #324] ; (8023fe0 ) 8023e9c: 681b ldr r3, [r3, #0] 8023e9e: 2b00 cmp r3, #0 8023ea0: d06e beq.n 8023f80 { k = 0; 8023ea2: 2300 movs r3, #0 8023ea4: 63fb str r3, [r7, #60] ; 0x3c timedown = HAL_GetTick(); 8023ea6: f08f f9e3 bl 80b3270 8023eaa: 4603 mov r3, r0 8023eac: 637b str r3, [r7, #52] ; 0x34 for(i = 0; i < NumFilesDelete; i++) 8023eae: 2300 movs r3, #0 8023eb0: 647b str r3, [r7, #68] ; 0x44 8023eb2: e054 b.n 8023f5e { j = 0; 8023eb4: 2300 movs r3, #0 8023eb6: 643b str r3, [r7, #64] ; 0x40 while(StrRAM(j, 0) == 0) 8023eb8: e006 b.n 8023ec8 { j++; 8023eba: 6c3b ldr r3, [r7, #64] ; 0x40 8023ebc: 3301 adds r3, #1 8023ebe: 643b str r3, [r7, #64] ; 0x40 if(j >= MAX_CHECKED_FILES) 8023ec0: 6c3b ldr r3, [r7, #64] ; 0x40 8023ec2: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023ec6: d20b bcs.n 8023ee0 while(StrRAM(j, 0) == 0) 8023ec8: 6c3a ldr r2, [r7, #64] ; 0x40 8023eca: 4613 mov r3, r2 8023ecc: 009b lsls r3, r3, #2 8023ece: 4413 add r3, r2 8023ed0: 00db lsls r3, r3, #3 8023ed2: 461a mov r2, r3 8023ed4: 4b43 ldr r3, [pc, #268] ; (8023fe4 ) 8023ed6: 4413 add r3, r2 8023ed8: 781b ldrb r3, [r3, #0] 8023eda: 2b00 cmp r3, #0 8023edc: d0ed beq.n 8023eba 8023ede: e000 b.n 8023ee2 break; 8023ee0: bf00 nop } if(j < MAX_CHECKED_FILES) 8023ee2: 6c3b ldr r3, [r7, #64] ; 0x40 8023ee4: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023ee8: d228 bcs.n 8023f3c { strcpy(fn, &StrRAM(j, 0)); 8023eea: 6c3a ldr r2, [r7, #64] ; 0x40 8023eec: 4613 mov r3, r2 8023eee: 009b lsls r3, r3, #2 8023ef0: 4413 add r3, r2 8023ef2: 00db lsls r3, r3, #3 8023ef4: 461a mov r2, r3 8023ef6: 4b3b ldr r3, [pc, #236] ; (8023fe4 ) 8023ef8: 4413 add r3, r2 8023efa: 461a mov r2, r3 8023efc: 1d3b adds r3, r7, #4 8023efe: 4611 mov r1, r2 8023f00: 4618 mov r0, r3 8023f02: f0a9 f9da bl 80cd2ba memset(&StrRAM(j, 0), 0, 40); 8023f06: 6c3a ldr r2, [r7, #64] ; 0x40 8023f08: 4613 mov r3, r2 8023f0a: 009b lsls r3, r3, #2 8023f0c: 4413 add r3, r2 8023f0e: 00db lsls r3, r3, #3 8023f10: 461a mov r2, r3 8023f12: 4b34 ldr r3, [pc, #208] ; (8023fe4 ) 8023f14: 4413 add r3, r2 8023f16: 2228 movs r2, #40 ; 0x28 8023f18: 2100 movs r1, #0 8023f1a: 4618 mov r0, r3 8023f1c: f0a9 f8b0 bl 80cd080 res = DeleteFileGTR(fn); 8023f20: 1d3b adds r3, r7, #4 8023f22: 4618 mov r0, r3 8023f24: f006 fff8 bl 802af18 8023f28: 4603 mov r3, r0 8023f2a: f887 303b strb.w r3, [r7, #59] ; 0x3b if(res == FR_OK) { 8023f2e: f897 303b ldrb.w r3, [r7, #59] ; 0x3b 8023f32: 2b00 cmp r3, #0 8023f34: d102 bne.n 8023f3c k++; 8023f36: 6bfb ldr r3, [r7, #60] ; 0x3c 8023f38: 3301 adds r3, #1 8023f3a: 63fb str r3, [r7, #60] ; 0x3c } } if((HAL_GetTick() - timedown) >= 300) 8023f3c: f08f f998 bl 80b3270 8023f40: 4602 mov r2, r0 8023f42: 6b7b ldr r3, [r7, #52] ; 0x34 8023f44: 1ad3 subs r3, r2, r3 8023f46: f5b3 7f96 cmp.w r3, #300 ; 0x12c 8023f4a: d305 bcc.n 8023f58 { timedown = HAL_GetTick(); 8023f4c: f08f f990 bl 80b3270 8023f50: 4603 mov r3, r0 8023f52: 637b str r3, [r7, #52] ; 0x34 RedrawScreen(); 8023f54: f043 ff6c bl 8067e30 for(i = 0; i < NumFilesDelete; i++) 8023f58: 6c7b ldr r3, [r7, #68] ; 0x44 8023f5a: 3301 adds r3, #1 8023f5c: 647b str r3, [r7, #68] ; 0x44 8023f5e: 4b20 ldr r3, [pc, #128] ; (8023fe0 ) 8023f60: 681b ldr r3, [r3, #0] 8023f62: 6c7a ldr r2, [r7, #68] ; 0x44 8023f64: 429a cmp r2, r3 8023f66: d3a5 bcc.n 8023eb4 } } if(k == NumFilesDelete) 8023f68: 4b1d ldr r3, [pc, #116] ; (8023fe0 ) 8023f6a: 681b ldr r3, [r3, #0] 8023f6c: 6bfa ldr r2, [r7, #60] ; 0x3c 8023f6e: 429a cmp r2, r3 8023f70: d103 bne.n 8023f7a CleanStatus = AP_OK; 8023f72: 4b1f ldr r3, [pc, #124] ; (8023ff0 ) 8023f74: 2200 movs r2, #0 8023f76: 701a strb r2, [r3, #0] 8023f78: e002 b.n 8023f80 else CleanStatus = AP_FAIL; 8023f7a: 4b1d ldr r3, [pc, #116] ; (8023ff0 ) 8023f7c: 2201 movs r2, #1 8023f7e: 701a strb r2, [r3, #0] } CheckSD(); 8023f80: f008 fb10 bl 802c5a4 8023f84: e088 b.n 8024098 } else if(NeedClean == 3) // Óäàëåíèå ôàéëîâ .CSV 8023f86: 4b14 ldr r3, [pc, #80] ; (8023fd8 ) 8023f88: 781b ldrb r3, [r3, #0] 8023f8a: b2db uxtb r3, r3 8023f8c: 2b03 cmp r3, #3 8023f8e: f040 8083 bne.w 8024098 { if(NumFilesDelete != 0) 8023f92: 4b13 ldr r3, [pc, #76] ; (8023fe0 ) 8023f94: 681b ldr r3, [r3, #0] 8023f96: 2b00 cmp r3, #0 8023f98: d07c beq.n 8024094 { k = 0; 8023f9a: 2300 movs r3, #0 8023f9c: 63fb str r3, [r7, #60] ; 0x3c timedown = HAL_GetTick(); 8023f9e: f08f f967 bl 80b3270 8023fa2: 4603 mov r3, r0 8023fa4: 637b str r3, [r7, #52] ; 0x34 for(i = 0; i < NumFilesDelete; i++) 8023fa6: 2300 movs r3, #0 8023fa8: 647b str r3, [r7, #68] ; 0x44 8023faa: e062 b.n 8024072 { j = 0; 8023fac: 2300 movs r3, #0 8023fae: 643b str r3, [r7, #64] ; 0x40 while(StrRAM(j, 0) == 0) 8023fb0: e006 b.n 8023fc0 { j++; 8023fb2: 6c3b ldr r3, [r7, #64] ; 0x40 8023fb4: 3301 adds r3, #1 8023fb6: 643b str r3, [r7, #64] ; 0x40 if(j >= MAX_CHECKED_FILES) 8023fb8: 6c3b ldr r3, [r7, #64] ; 0x40 8023fba: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023fbe: d219 bcs.n 8023ff4 while(StrRAM(j, 0) == 0) 8023fc0: 6c3a ldr r2, [r7, #64] ; 0x40 8023fc2: 4613 mov r3, r2 8023fc4: 009b lsls r3, r3, #2 8023fc6: 4413 add r3, r2 8023fc8: 00db lsls r3, r3, #3 8023fca: 461a mov r2, r3 8023fcc: 4b05 ldr r3, [pc, #20] ; (8023fe4 ) 8023fce: 4413 add r3, r2 8023fd0: 781b ldrb r3, [r3, #0] 8023fd2: 2b00 cmp r3, #0 8023fd4: d0ed beq.n 8023fb2 8023fd6: e00e b.n 8023ff6 8023fd8: 20020ddc .word 0x20020ddc 8023fdc: 2002164c .word 0x2002164c 8023fe0: 20020e0c .word 0x20020e0c 8023fe4: 6404b000 .word 0x6404b000 8023fe8: 20020e58 .word 0x20020e58 8023fec: 080ce4a8 .word 0x080ce4a8 8023ff0: 20020dd0 .word 0x20020dd0 break; 8023ff4: bf00 nop } if(j < MAX_CHECKED_FILES) 8023ff6: 6c3b ldr r3, [r7, #64] ; 0x40 8023ff8: f5b3 7f00 cmp.w r3, #512 ; 0x200 8023ffc: d228 bcs.n 8024050 { strcpy(fn, &StrRAM(j, 0)); 8023ffe: 6c3a ldr r2, [r7, #64] ; 0x40 8024000: 4613 mov r3, r2 8024002: 009b lsls r3, r3, #2 8024004: 4413 add r3, r2 8024006: 00db lsls r3, r3, #3 8024008: 461a mov r2, r3 802400a: 4b52 ldr r3, [pc, #328] ; (8024154 ) 802400c: 4413 add r3, r2 802400e: 461a mov r2, r3 8024010: 1d3b adds r3, r7, #4 8024012: 4611 mov r1, r2 8024014: 4618 mov r0, r3 8024016: f0a9 f950 bl 80cd2ba memset(&StrRAM(j, 0), 0, 40); 802401a: 6c3a ldr r2, [r7, #64] ; 0x40 802401c: 4613 mov r3, r2 802401e: 009b lsls r3, r3, #2 8024020: 4413 add r3, r2 8024022: 00db lsls r3, r3, #3 8024024: 461a mov r2, r3 8024026: 4b4b ldr r3, [pc, #300] ; (8024154 ) 8024028: 4413 add r3, r2 802402a: 2228 movs r2, #40 ; 0x28 802402c: 2100 movs r1, #0 802402e: 4618 mov r0, r3 8024030: f0a9 f826 bl 80cd080 res = DeleteFileCSV(fn); 8024034: 1d3b adds r3, r7, #4 8024036: 4618 mov r0, r3 8024038: f006 ffd6 bl 802afe8 802403c: 4603 mov r3, r0 802403e: f887 303b strb.w r3, [r7, #59] ; 0x3b if(res == FR_OK) { 8024042: f897 303b ldrb.w r3, [r7, #59] ; 0x3b 8024046: 2b00 cmp r3, #0 8024048: d102 bne.n 8024050 k++; 802404a: 6bfb ldr r3, [r7, #60] ; 0x3c 802404c: 3301 adds r3, #1 802404e: 63fb str r3, [r7, #60] ; 0x3c } } if((HAL_GetTick() - timedown) >= 300) 8024050: f08f f90e bl 80b3270 8024054: 4602 mov r2, r0 8024056: 6b7b ldr r3, [r7, #52] ; 0x34 8024058: 1ad3 subs r3, r2, r3 802405a: f5b3 7f96 cmp.w r3, #300 ; 0x12c 802405e: d305 bcc.n 802406c { timedown = HAL_GetTick(); 8024060: f08f f906 bl 80b3270 8024064: 4603 mov r3, r0 8024066: 637b str r3, [r7, #52] ; 0x34 RedrawScreen(); 8024068: f043 fee2 bl 8067e30 for(i = 0; i < NumFilesDelete; i++) 802406c: 6c7b ldr r3, [r7, #68] ; 0x44 802406e: 3301 adds r3, #1 8024070: 647b str r3, [r7, #68] ; 0x44 8024072: 4b39 ldr r3, [pc, #228] ; (8024158 ) 8024074: 681b ldr r3, [r3, #0] 8024076: 6c7a ldr r2, [r7, #68] ; 0x44 8024078: 429a cmp r2, r3 802407a: d397 bcc.n 8023fac } } if(k == NumFilesDelete) 802407c: 4b36 ldr r3, [pc, #216] ; (8024158 ) 802407e: 681b ldr r3, [r3, #0] 8024080: 6bfa ldr r2, [r7, #60] ; 0x3c 8024082: 429a cmp r2, r3 8024084: d103 bne.n 802408e CleanStatus = AP_OK; 8024086: 4b35 ldr r3, [pc, #212] ; (802415c ) 8024088: 2200 movs r2, #0 802408a: 701a strb r2, [r3, #0] 802408c: e002 b.n 8024094 else CleanStatus = AP_FAIL; 802408e: 4b33 ldr r3, [pc, #204] ; (802415c ) 8024090: 2201 movs r2, #1 8024092: 701a strb r2, [r3, #0] } CheckSD(); 8024094: f008 fa86 bl 802c5a4 } } NumFilesDelete = 0; 8024098: 4b2f ldr r3, [pc, #188] ; (8024158 ) 802409a: 2200 movs r2, #0 802409c: 601a str r2, [r3, #0] NeedClean = 0; 802409e: 4b30 ldr r3, [pc, #192] ; (8024160 ) 80240a0: 2200 movs r2, #0 80240a2: 701a strb r2, [r3, #0] } NeedFormat = 0; } } 80240a4: e052 b.n 802414c if(NeedFormat) 80240a6: 4b2f ldr r3, [pc, #188] ; (8024164 ) 80240a8: 781b ldrb r3, [r3, #0] 80240aa: b2db uxtb r3, r3 80240ac: 2b00 cmp r3, #0 80240ae: d04d beq.n 802414c STATUS = AP_OK; 80240b0: 4b2d ldr r3, [pc, #180] ; (8024168 ) 80240b2: 2200 movs r2, #0 80240b4: 601a str r2, [r3, #0] memset(MeasFileName, 0, sizeof(MeasFileName)); 80240b6: 2221 movs r2, #33 ; 0x21 80240b8: 2100 movs r1, #0 80240ba: 482c ldr r0, [pc, #176] ; (802416c ) 80240bc: f0a8 ffe0 bl 80cd080 memset(WavFileName, 0, sizeof(WavFileName)); 80240c0: 2221 movs r2, #33 ; 0x21 80240c2: 2100 movs r1, #0 80240c4: 482a ldr r0, [pc, #168] ; (8024170 ) 80240c6: f0a8 ffdb bl 80cd080 memset(DiagFileName, 0, sizeof(DiagFileName)); 80240ca: 2221 movs r2, #33 ; 0x21 80240cc: 2100 movs r1, #0 80240ce: 4829 ldr r0, [pc, #164] ; (8024174 ) 80240d0: f0a8 ffd6 bl 80cd080 RedrawScreen(); 80240d4: f043 feac bl 8067e30 if(CardState & MSD_PRESENT) 80240d8: 4b27 ldr r3, [pc, #156] ; (8024178 ) 80240da: 781b ldrb r3, [r3, #0] 80240dc: b2db uxtb r3, r3 80240de: f003 0301 and.w r3, r3, #1 80240e2: 2b00 cmp r3, #0 80240e4: d029 beq.n 802413a res = FormatSD(); 80240e6: f007 f8ab bl 802b240 80240ea: 4603 mov r3, r0 80240ec: f887 303b strb.w r3, [r7, #59] ; 0x3b switch(res) 80240f0: f897 303b ldrb.w r3, [r7, #59] ; 0x3b 80240f4: 2b00 cmp r3, #0 80240f6: d002 beq.n 80240fe 80240f8: 2b03 cmp r3, #3 80240fa: d009 beq.n 8024110 80240fc: e012 b.n 8024124 FormatStatus = AP_OK; 80240fe: 4b1f ldr r3, [pc, #124] ; (802417c ) 8024100: 2200 movs r2, #0 8024102: 701a strb r2, [r3, #0] CardState = MSD_READY; 8024104: 4b1c ldr r3, [pc, #112] ; (8024178 ) 8024106: 2203 movs r2, #3 8024108: 701a strb r2, [r3, #0] CheckSD(); 802410a: f008 fa4b bl 802c5a4 break; 802410e: e01a b.n 8024146 STATUS = AP_NO_CARD; 8024110: 4b15 ldr r3, [pc, #84] ; (8024168 ) 8024112: 2211 movs r2, #17 8024114: 601a str r2, [r3, #0] FormatStatus = AP_FAIL; 8024116: 4b19 ldr r3, [pc, #100] ; (802417c ) 8024118: 2201 movs r2, #1 802411a: 701a strb r2, [r3, #0] CardState = MSD_PRESENT; 802411c: 4b16 ldr r3, [pc, #88] ; (8024178 ) 802411e: 2201 movs r2, #1 8024120: 701a strb r2, [r3, #0] break; 8024122: e010 b.n 8024146 STATUS = AP_FORMAT_ERROR; 8024124: 4b10 ldr r3, [pc, #64] ; (8024168 ) 8024126: 2210 movs r2, #16 8024128: 601a str r2, [r3, #0] FormatStatus = AP_FAIL; 802412a: 4b14 ldr r3, [pc, #80] ; (802417c ) 802412c: 2201 movs r2, #1 802412e: 701a strb r2, [r3, #0] CardState = MSD_PRESENT; 8024130: 4b11 ldr r3, [pc, #68] ; (8024178 ) 8024132: 2201 movs r2, #1 8024134: 701a strb r2, [r3, #0] break; 8024136: bf00 nop 8024138: e005 b.n 8024146 STATUS = AP_NO_CARD; 802413a: 4b0b ldr r3, [pc, #44] ; (8024168 ) 802413c: 2211 movs r2, #17 802413e: 601a str r2, [r3, #0] FormatStatus = AP_FAIL; 8024140: 4b0e ldr r3, [pc, #56] ; (802417c ) 8024142: 2201 movs r2, #1 8024144: 701a strb r2, [r3, #0] NeedFormat = 0; 8024146: 4b07 ldr r3, [pc, #28] ; (8024164 ) 8024148: 2200 movs r2, #0 802414a: 701a strb r2, [r3, #0] } 802414c: bf00 nop 802414e: 3748 adds r7, #72 ; 0x48 8024150: 46bd mov sp, r7 8024152: bd80 pop {r7, pc} 8024154: 6404b000 .word 0x6404b000 8024158: 20020e0c .word 0x20020e0c 802415c: 20020dd0 .word 0x20020dd0 8024160: 20020ddc .word 0x20020ddc 8024164: 20020ddd .word 0x20020ddd 8024168: 20020dcc .word 0x20020dcc 802416c: 20020e58 .word 0x20020e58 8024170: 20020e34 .word 0x20020e34 8024174: 20020e7c .word 0x20020e7c 8024178: 2002164c .word 0x2002164c 802417c: 20020dd1 .word 0x20020dd1 08024180 : return res; } FRESULT CreateFileGTR(char *fname) { 8024180: b580 push {r7, lr} 8024182: b0a0 sub sp, #128 ; 0x80 8024184: af00 add r7, sp, #0 8024186: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8024188: 2300 movs r3, #0 802418a: f887 307f strb.w r3, [r7, #127] ; 0x7f * 1) Ñîçäàåì êàòàëîã "0:\Records\", åñëè òàêîâîãî íå ñóùåñòâóåò. * 2) Ñîçäàåì ïîäêàòàëîã ñ èìåíåì â êàòàëîãå "\Records\", åñëè òàêîâîãî íå ñóùåñòâóåò. * 3)  êàòàëîãå "0:\Records\\" ñîçäàåì ôàéë ïî òåêóùåé äàòå è âðåìåíè, íàïðèìåð, "Rec__2018_07_30__13_42_06.gtr". * 4) PROFIT !!! */ if(CardState != MSD_READY) { 802418e: 4b2a ldr r3, [pc, #168] ; (8024238 ) 8024190: 781b ldrb r3, [r3, #0] 8024192: b2db uxtb r3, r3 8024194: 2b03 cmp r3, #3 8024196: d002 beq.n 802419e return FR_NOT_READY; 8024198: 2303 movs r3, #3 802419a: f000 bf67 b.w 802506c } if(IS_ROUTE) 802419e: 4b27 ldr r3, [pc, #156] ; (802423c ) 80241a0: 781b ldrb r3, [r3, #0] 80241a2: b2db uxtb r3, r3 80241a4: 2b00 cmp r3, #0 80241a6: f000 8395 beq.w 80248d4 { if(res == FR_OK) 80241aa: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80241ae: 2b00 cmp r3, #0 80241b0: f040 875a bne.w 8025068 { memset(PointPath, 0, sizeof(PointPath)); 80241b4: f44f 7200 mov.w r2, #512 ; 0x200 80241b8: 2100 movs r1, #0 80241ba: 4821 ldr r0, [pc, #132] ; (8024240 ) 80241bc: f0a8 ff60 bl 80cd080 memset(str, 0, sizeof(str)); 80241c0: f107 0308 add.w r3, r7, #8 80241c4: 2228 movs r2, #40 ; 0x28 80241c6: 2100 movs r1, #0 80241c8: 4618 mov r0, r3 80241ca: f0a8 ff59 bl 80cd080 strcpy(PointPath, "0:Records/"); 80241ce: 4a1c ldr r2, [pc, #112] ; (8024240 ) 80241d0: 4b1c ldr r3, [pc, #112] ; (8024244 ) 80241d2: cb03 ldmia r3!, {r0, r1} 80241d4: 6010 str r0, [r2, #0] 80241d6: 6051 str r1, [r2, #4] 80241d8: 8819 ldrh r1, [r3, #0] 80241da: 789b ldrb r3, [r3, #2] 80241dc: 8111 strh r1, [r2, #8] 80241de: 7293 strb r3, [r2, #10] res = f_opendir(&dir, PointPath); 80241e0: 4917 ldr r1, [pc, #92] ; (8024240 ) 80241e2: 4819 ldr r0, [pc, #100] ; (8024248 ) 80241e4: f0a2 ff79 bl 80c70da 80241e8: 4603 mov r3, r0 80241ea: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) { 80241ee: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80241f2: 2b00 cmp r3, #0 80241f4: d005 beq.n 8024202 res = f_mkdir(PointPath); 80241f6: 4812 ldr r0, [pc, #72] ; (8024240 ) 80241f8: f0a3 fa2a bl 80c7650 80241fc: 4603 mov r3, r0 80241fe: f887 307f strb.w r3, [r7, #127] ; 0x7f } f_closedir(&dir); 8024202: 4811 ldr r0, [pc, #68] ; (8024248 ) 8024204: f0a2 fff8 bl 80c71f8 /*strcpy(str, "/POINT "); itoa(RoutePointID, &str[strlen(str)], 10);*/ //todo BYLO for(i = 0; i < 512; i++) 8024208: 2300 movs r3, #0 802420a: 67bb str r3, [r7, #120] ; 0x78 802420c: e023 b.n 8024256 { if(RoutePath[i] == ';') 802420e: 4a0f ldr r2, [pc, #60] ; (802424c ) 8024210: 6fbb ldr r3, [r7, #120] ; 0x78 8024212: 4413 add r3, r2 8024214: 781b ldrb r3, [r3, #0] 8024216: 2b3b cmp r3, #59 ; 0x3b 8024218: d11a bne.n 8024250 { if(!i) { 802421a: 6fbb ldr r3, [r7, #120] ; 0x78 802421c: 2b00 cmp r3, #0 802421e: d102 bne.n 8024226 return FR_DISK_ERR; 8024220: 2301 movs r3, #1 8024222: f000 bf23 b.w 802506c } memcpy(str, RoutePath, i); 8024226: f107 0308 add.w r3, r7, #8 802422a: 6fba ldr r2, [r7, #120] ; 0x78 802422c: 4907 ldr r1, [pc, #28] ; (802424c ) 802422e: 4618 mov r0, r3 8024230: f0a8 ff1b bl 80cd06a break; 8024234: e013 b.n 802425e 8024236: bf00 nop 8024238: 2002164c .word 0x2002164c 802423c: 20020db3 .word 0x20020db3 8024240: 200229b4 .word 0x200229b4 8024244: 080ce4c0 .word 0x080ce4c0 8024248: 20022918 .word 0x20022918 802424c: 20022be0 .word 0x20022be0 for(i = 0; i < 512; i++) 8024250: 6fbb ldr r3, [r7, #120] ; 0x78 8024252: 3301 adds r3, #1 8024254: 67bb str r3, [r7, #120] ; 0x78 8024256: 6fbb ldr r3, [r7, #120] ; 0x78 8024258: f5b3 7f00 cmp.w r3, #512 ; 0x200 802425c: d3d7 bcc.n 802420e } } strcat(PointPath, str); 802425e: f107 0308 add.w r3, r7, #8 8024262: 4619 mov r1, r3 8024264: 48c0 ldr r0, [pc, #768] ; (8024568 ) 8024266: f0a9 f80b bl 80cd280 res = f_opendir(&dir, PointPath); 802426a: 49bf ldr r1, [pc, #764] ; (8024568 ) 802426c: 48bf ldr r0, [pc, #764] ; (802456c ) 802426e: f0a2 ff34 bl 80c70da 8024272: 4603 mov r3, r0 8024274: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) { 8024278: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802427c: 2b00 cmp r3, #0 802427e: d005 beq.n 802428c res = f_mkdir(PointPath); 8024280: 48b9 ldr r0, [pc, #740] ; (8024568 ) 8024282: f0a3 f9e5 bl 80c7650 8024286: 4603 mov r3, r0 8024288: f887 307f strb.w r3, [r7, #127] ; 0x7f } f_closedir(&dir); 802428c: 48b7 ldr r0, [pc, #732] ; (802456c ) 802428e: f0a2 ffb3 bl 80c71f8 if(res == FR_OK) 8024292: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024296: 2b00 cmp r3, #0 8024298: f040 86e6 bne.w 8025068 { HAL_RTC_GetTime(&hrtc, &RTC_TimeSygnal, RTC_FORMAT_BIN); 802429c: 2200 movs r2, #0 802429e: 49b4 ldr r1, [pc, #720] ; (8024570 ) 80242a0: 48b4 ldr r0, [pc, #720] ; (8024574 ) 80242a2: f094 fcbd bl 80b8c20 HAL_RTC_GetDate(&hrtc, &RTC_DateSygnal, RTC_FORMAT_BIN); 80242a6: 2200 movs r2, #0 80242a8: 49b3 ldr r1, [pc, #716] ; (8024578 ) 80242aa: 48b2 ldr r0, [pc, #712] ; (8024574 ) 80242ac: f094 fdbe bl 80b8e2c Day = RTC_DateSygnal.Date; 80242b0: 4bb1 ldr r3, [pc, #708] ; (8024578 ) 80242b2: 789b ldrb r3, [r3, #2] 80242b4: 677b str r3, [r7, #116] ; 0x74 Month = RTC_DateSygnal.Month; 80242b6: 4bb0 ldr r3, [pc, #704] ; (8024578 ) 80242b8: 785b ldrb r3, [r3, #1] 80242ba: 673b str r3, [r7, #112] ; 0x70 Year = RTC_DateSygnal.Year + 2000; 80242bc: 4bae ldr r3, [pc, #696] ; (8024578 ) 80242be: 78db ldrb r3, [r3, #3] 80242c0: f503 63fa add.w r3, r3, #2000 ; 0x7d0 80242c4: 66fb str r3, [r7, #108] ; 0x6c Hour = RTC_TimeSygnal.Hours; 80242c6: 4baa ldr r3, [pc, #680] ; (8024570 ) 80242c8: 781b ldrb r3, [r3, #0] 80242ca: 66bb str r3, [r7, #104] ; 0x68 Min = RTC_TimeSygnal.Minutes; 80242cc: 4ba8 ldr r3, [pc, #672] ; (8024570 ) 80242ce: 785b ldrb r3, [r3, #1] 80242d0: 667b str r3, [r7, #100] ; 0x64 Sec = RTC_TimeSygnal.Seconds; 80242d2: 4ba7 ldr r3, [pc, #668] ; (8024570 ) 80242d4: 789b ldrb r3, [r3, #2] 80242d6: 663b str r3, [r7, #96] ; 0x60 /*Rec_2018_07_30__13_42_06.gtr*/ l = 0; 80242d8: 2300 movs r3, #0 80242da: 65fb str r3, [r7, #92] ; 0x5c memset(fn, 0, sizeof(fn)); 80242dc: f107 0330 add.w r3, r7, #48 ; 0x30 80242e0: 2228 movs r2, #40 ; 0x28 80242e2: 2100 movs r1, #0 80242e4: 4618 mov r0, r3 80242e6: f0a8 fecb bl 80cd080 //itoa(RoutePointID, fn, 10); //strcat(fn, " "); //l = strlen(fn); fn[l++] = (char) ((Year / 1000) + 48); 80242ea: 6dfb ldr r3, [r7, #92] ; 0x5c 80242ec: 1c5a adds r2, r3, #1 80242ee: 65fa str r2, [r7, #92] ; 0x5c 80242f0: 6efa ldr r2, [r7, #108] ; 0x6c 80242f2: 49a2 ldr r1, [pc, #648] ; (802457c ) 80242f4: fba1 1202 umull r1, r2, r1, r2 80242f8: 0992 lsrs r2, r2, #6 80242fa: b2d2 uxtb r2, r2 80242fc: 3230 adds r2, #48 ; 0x30 80242fe: b2d2 uxtb r2, r2 8024300: f107 0180 add.w r1, r7, #128 ; 0x80 8024304: 440b add r3, r1 8024306: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) (((Year % 1000) / 100) + 48); 802430a: 6dfa ldr r2, [r7, #92] ; 0x5c 802430c: 1c53 adds r3, r2, #1 802430e: 65fb str r3, [r7, #92] ; 0x5c 8024310: 6ef9 ldr r1, [r7, #108] ; 0x6c 8024312: 4b9a ldr r3, [pc, #616] ; (802457c ) 8024314: fba3 0301 umull r0, r3, r3, r1 8024318: 099b lsrs r3, r3, #6 802431a: f44f 707a mov.w r0, #1000 ; 0x3e8 802431e: fb00 f303 mul.w r3, r0, r3 8024322: 1acb subs r3, r1, r3 8024324: 4996 ldr r1, [pc, #600] ; (8024580 ) 8024326: fba1 1303 umull r1, r3, r1, r3 802432a: 095b lsrs r3, r3, #5 802432c: b2db uxtb r3, r3 802432e: 3330 adds r3, #48 ; 0x30 8024330: b2d9 uxtb r1, r3 8024332: f107 0380 add.w r3, r7, #128 ; 0x80 8024336: 4413 add r3, r2 8024338: 460a mov r2, r1 802433a: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((((Year % 1000) % 100) / 10) + 48); 802433e: 6df9 ldr r1, [r7, #92] ; 0x5c 8024340: 1c4b adds r3, r1, #1 8024342: 65fb str r3, [r7, #92] ; 0x5c 8024344: 6efa ldr r2, [r7, #108] ; 0x6c 8024346: 4b8d ldr r3, [pc, #564] ; (802457c ) 8024348: fba3 0302 umull r0, r3, r3, r2 802434c: 099b lsrs r3, r3, #6 802434e: f44f 707a mov.w r0, #1000 ; 0x3e8 8024352: fb00 f303 mul.w r3, r0, r3 8024356: 1ad3 subs r3, r2, r3 8024358: 4a89 ldr r2, [pc, #548] ; (8024580 ) 802435a: fba2 0203 umull r0, r2, r2, r3 802435e: 0952 lsrs r2, r2, #5 8024360: 2064 movs r0, #100 ; 0x64 8024362: fb00 f202 mul.w r2, r0, r2 8024366: 1a9a subs r2, r3, r2 8024368: 4b86 ldr r3, [pc, #536] ; (8024584 ) 802436a: fba3 2302 umull r2, r3, r3, r2 802436e: 08db lsrs r3, r3, #3 8024370: b2db uxtb r3, r3 8024372: 3330 adds r3, #48 ; 0x30 8024374: b2da uxtb r2, r3 8024376: f107 0380 add.w r3, r7, #128 ; 0x80 802437a: 440b add r3, r1 802437c: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((((Year % 1000) % 100) % 10) + 48); 8024380: 6df8 ldr r0, [r7, #92] ; 0x5c 8024382: 1c43 adds r3, r0, #1 8024384: 65fb str r3, [r7, #92] ; 0x5c 8024386: 6efa ldr r2, [r7, #108] ; 0x6c 8024388: 4b7c ldr r3, [pc, #496] ; (802457c ) 802438a: fba3 1302 umull r1, r3, r3, r2 802438e: 099b lsrs r3, r3, #6 8024390: f44f 717a mov.w r1, #1000 ; 0x3e8 8024394: fb01 f303 mul.w r3, r1, r3 8024398: 1ad3 subs r3, r2, r3 802439a: 4a79 ldr r2, [pc, #484] ; (8024580 ) 802439c: fba2 1203 umull r1, r2, r2, r3 80243a0: 0952 lsrs r2, r2, #5 80243a2: 2164 movs r1, #100 ; 0x64 80243a4: fb01 f202 mul.w r2, r1, r2 80243a8: 1a9a subs r2, r3, r2 80243aa: 4b76 ldr r3, [pc, #472] ; (8024584 ) 80243ac: fba3 1302 umull r1, r3, r3, r2 80243b0: 08d9 lsrs r1, r3, #3 80243b2: 460b mov r3, r1 80243b4: 009b lsls r3, r3, #2 80243b6: 440b add r3, r1 80243b8: 005b lsls r3, r3, #1 80243ba: 1ad1 subs r1, r2, r3 80243bc: b2cb uxtb r3, r1 80243be: 3330 adds r3, #48 ; 0x30 80243c0: b2da uxtb r2, r3 80243c2: f107 0380 add.w r3, r7, #128 ; 0x80 80243c6: 4403 add r3, r0 80243c8: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Month / 10) + 48); 80243cc: 6dfb ldr r3, [r7, #92] ; 0x5c 80243ce: 1c5a adds r2, r3, #1 80243d0: 65fa str r2, [r7, #92] ; 0x5c 80243d2: 6f3a ldr r2, [r7, #112] ; 0x70 80243d4: 496b ldr r1, [pc, #428] ; (8024584 ) 80243d6: fba1 1202 umull r1, r2, r1, r2 80243da: 08d2 lsrs r2, r2, #3 80243dc: b2d2 uxtb r2, r2 80243de: 3230 adds r2, #48 ; 0x30 80243e0: b2d2 uxtb r2, r2 80243e2: f107 0180 add.w r1, r7, #128 ; 0x80 80243e6: 440b add r3, r1 80243e8: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Month % 10) + 48); 80243ec: 6df9 ldr r1, [r7, #92] ; 0x5c 80243ee: 1c4b adds r3, r1, #1 80243f0: 65fb str r3, [r7, #92] ; 0x5c 80243f2: 6f38 ldr r0, [r7, #112] ; 0x70 80243f4: 4b63 ldr r3, [pc, #396] ; (8024584 ) 80243f6: fba3 2300 umull r2, r3, r3, r0 80243fa: 08da lsrs r2, r3, #3 80243fc: 4613 mov r3, r2 80243fe: 009b lsls r3, r3, #2 8024400: 4413 add r3, r2 8024402: 005b lsls r3, r3, #1 8024404: 1ac2 subs r2, r0, r3 8024406: b2d3 uxtb r3, r2 8024408: 3330 adds r3, #48 ; 0x30 802440a: b2da uxtb r2, r3 802440c: f107 0380 add.w r3, r7, #128 ; 0x80 8024410: 440b add r3, r1 8024412: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Day / 10) + 48); 8024416: 6dfb ldr r3, [r7, #92] ; 0x5c 8024418: 1c5a adds r2, r3, #1 802441a: 65fa str r2, [r7, #92] ; 0x5c 802441c: 6f7a ldr r2, [r7, #116] ; 0x74 802441e: 4959 ldr r1, [pc, #356] ; (8024584 ) 8024420: fba1 1202 umull r1, r2, r1, r2 8024424: 08d2 lsrs r2, r2, #3 8024426: b2d2 uxtb r2, r2 8024428: 3230 adds r2, #48 ; 0x30 802442a: b2d2 uxtb r2, r2 802442c: f107 0180 add.w r1, r7, #128 ; 0x80 8024430: 440b add r3, r1 8024432: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Day % 10) + 48); 8024436: 6df9 ldr r1, [r7, #92] ; 0x5c 8024438: 1c4b adds r3, r1, #1 802443a: 65fb str r3, [r7, #92] ; 0x5c 802443c: 6f78 ldr r0, [r7, #116] ; 0x74 802443e: 4b51 ldr r3, [pc, #324] ; (8024584 ) 8024440: fba3 2300 umull r2, r3, r3, r0 8024444: 08da lsrs r2, r3, #3 8024446: 4613 mov r3, r2 8024448: 009b lsls r3, r3, #2 802444a: 4413 add r3, r2 802444c: 005b lsls r3, r3, #1 802444e: 1ac2 subs r2, r0, r3 8024450: b2d3 uxtb r3, r2 8024452: 3330 adds r3, #48 ; 0x30 8024454: b2da uxtb r2, r3 8024456: f107 0380 add.w r3, r7, #128 ; 0x80 802445a: 440b add r3, r1 802445c: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = '_'; 8024460: 6dfb ldr r3, [r7, #92] ; 0x5c 8024462: 1c5a adds r2, r3, #1 8024464: 65fa str r2, [r7, #92] ; 0x5c 8024466: f107 0280 add.w r2, r7, #128 ; 0x80 802446a: 4413 add r3, r2 802446c: 225f movs r2, #95 ; 0x5f 802446e: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Hour / 10) + 48); 8024472: 6dfb ldr r3, [r7, #92] ; 0x5c 8024474: 1c5a adds r2, r3, #1 8024476: 65fa str r2, [r7, #92] ; 0x5c 8024478: 6eba ldr r2, [r7, #104] ; 0x68 802447a: 4942 ldr r1, [pc, #264] ; (8024584 ) 802447c: fba1 1202 umull r1, r2, r1, r2 8024480: 08d2 lsrs r2, r2, #3 8024482: b2d2 uxtb r2, r2 8024484: 3230 adds r2, #48 ; 0x30 8024486: b2d2 uxtb r2, r2 8024488: f107 0180 add.w r1, r7, #128 ; 0x80 802448c: 440b add r3, r1 802448e: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Hour % 10) + 48); 8024492: 6df9 ldr r1, [r7, #92] ; 0x5c 8024494: 1c4b adds r3, r1, #1 8024496: 65fb str r3, [r7, #92] ; 0x5c 8024498: 6eb8 ldr r0, [r7, #104] ; 0x68 802449a: 4b3a ldr r3, [pc, #232] ; (8024584 ) 802449c: fba3 2300 umull r2, r3, r3, r0 80244a0: 08da lsrs r2, r3, #3 80244a2: 4613 mov r3, r2 80244a4: 009b lsls r3, r3, #2 80244a6: 4413 add r3, r2 80244a8: 005b lsls r3, r3, #1 80244aa: 1ac2 subs r2, r0, r3 80244ac: b2d3 uxtb r3, r2 80244ae: 3330 adds r3, #48 ; 0x30 80244b0: b2da uxtb r2, r3 80244b2: f107 0380 add.w r3, r7, #128 ; 0x80 80244b6: 440b add r3, r1 80244b8: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Min / 10) + 48); 80244bc: 6dfb ldr r3, [r7, #92] ; 0x5c 80244be: 1c5a adds r2, r3, #1 80244c0: 65fa str r2, [r7, #92] ; 0x5c 80244c2: 6e7a ldr r2, [r7, #100] ; 0x64 80244c4: 492f ldr r1, [pc, #188] ; (8024584 ) 80244c6: fba1 1202 umull r1, r2, r1, r2 80244ca: 08d2 lsrs r2, r2, #3 80244cc: b2d2 uxtb r2, r2 80244ce: 3230 adds r2, #48 ; 0x30 80244d0: b2d2 uxtb r2, r2 80244d2: f107 0180 add.w r1, r7, #128 ; 0x80 80244d6: 440b add r3, r1 80244d8: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Min % 10) + 48); 80244dc: 6df9 ldr r1, [r7, #92] ; 0x5c 80244de: 1c4b adds r3, r1, #1 80244e0: 65fb str r3, [r7, #92] ; 0x5c 80244e2: 6e78 ldr r0, [r7, #100] ; 0x64 80244e4: 4b27 ldr r3, [pc, #156] ; (8024584 ) 80244e6: fba3 2300 umull r2, r3, r3, r0 80244ea: 08da lsrs r2, r3, #3 80244ec: 4613 mov r3, r2 80244ee: 009b lsls r3, r3, #2 80244f0: 4413 add r3, r2 80244f2: 005b lsls r3, r3, #1 80244f4: 1ac2 subs r2, r0, r3 80244f6: b2d3 uxtb r3, r2 80244f8: 3330 adds r3, #48 ; 0x30 80244fa: b2da uxtb r2, r3 80244fc: f107 0380 add.w r3, r7, #128 ; 0x80 8024500: 440b add r3, r1 8024502: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Sec / 10) + 48); 8024506: 6dfb ldr r3, [r7, #92] ; 0x5c 8024508: 1c5a adds r2, r3, #1 802450a: 65fa str r2, [r7, #92] ; 0x5c 802450c: 6e3a ldr r2, [r7, #96] ; 0x60 802450e: 491d ldr r1, [pc, #116] ; (8024584 ) 8024510: fba1 1202 umull r1, r2, r1, r2 8024514: 08d2 lsrs r2, r2, #3 8024516: b2d2 uxtb r2, r2 8024518: 3230 adds r2, #48 ; 0x30 802451a: b2d2 uxtb r2, r2 802451c: f107 0180 add.w r1, r7, #128 ; 0x80 8024520: 440b add r3, r1 8024522: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Sec % 10) + 48); 8024526: 6df9 ldr r1, [r7, #92] ; 0x5c 8024528: 1c4b adds r3, r1, #1 802452a: 65fb str r3, [r7, #92] ; 0x5c 802452c: 6e38 ldr r0, [r7, #96] ; 0x60 802452e: 4b15 ldr r3, [pc, #84] ; (8024584 ) 8024530: fba3 2300 umull r2, r3, r3, r0 8024534: 08da lsrs r2, r3, #3 8024536: 4613 mov r3, r2 8024538: 009b lsls r3, r3, #2 802453a: 4413 add r3, r2 802453c: 005b lsls r3, r3, #1 802453e: 1ac2 subs r2, r0, r3 8024540: b2d3 uxtb r3, r2 8024542: 3330 adds r3, #48 ; 0x30 8024544: b2da uxtb r2, r3 8024546: f107 0380 add.w r3, r7, #128 ; 0x80 802454a: 440b add r3, r1 802454c: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = '.'; 8024550: 6dfb ldr r3, [r7, #92] ; 0x5c 8024552: 1c5a adds r2, r3, #1 8024554: 65fa str r2, [r7, #92] ; 0x5c 8024556: f107 0280 add.w r2, r7, #128 ; 0x80 802455a: 4413 add r3, r2 802455c: 222e movs r2, #46 ; 0x2e 802455e: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'g'; 8024562: 6dfb ldr r3, [r7, #92] ; 0x5c 8024564: 1c5a adds r2, r3, #1 8024566: e00f b.n 8024588 8024568: 200229b4 .word 0x200229b4 802456c: 20022918 .word 0x20022918 8024570: 20022de0 .word 0x20022de0 8024574: 20068598 .word 0x20068598 8024578: 200228d0 .word 0x200228d0 802457c: 10624dd3 .word 0x10624dd3 8024580: 51eb851f .word 0x51eb851f 8024584: cccccccd .word 0xcccccccd 8024588: 65fa str r2, [r7, #92] ; 0x5c 802458a: f107 0280 add.w r2, r7, #128 ; 0x80 802458e: 4413 add r3, r2 8024590: 2267 movs r2, #103 ; 0x67 8024592: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 't'; 8024596: 6dfb ldr r3, [r7, #92] ; 0x5c 8024598: 1c5a adds r2, r3, #1 802459a: 65fa str r2, [r7, #92] ; 0x5c 802459c: f107 0280 add.w r2, r7, #128 ; 0x80 80245a0: 4413 add r3, r2 80245a2: 2274 movs r2, #116 ; 0x74 80245a4: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'r'; 80245a8: 6dfb ldr r3, [r7, #92] ; 0x5c 80245aa: 1c5a adds r2, r3, #1 80245ac: 65fa str r2, [r7, #92] ; 0x5c 80245ae: f107 0280 add.w r2, r7, #128 ; 0x80 80245b2: 4413 add r3, r2 80245b4: 2272 movs r2, #114 ; 0x72 80245b6: f803 2c50 strb.w r2, [r3, #-80] strcpy(RecordingName, fn); 80245ba: f107 0330 add.w r3, r7, #48 ; 0x30 80245be: 4619 mov r1, r3 80245c0: 48ba ldr r0, [pc, #744] ; (80248ac ) 80245c2: f0a8 fe7a bl 80cd2ba strcat(PointPath, "/"); 80245c6: 48ba ldr r0, [pc, #744] ; (80248b0 ) 80245c8: f7fb fea4 bl 8020314 80245cc: 4603 mov r3, r0 80245ce: 461a mov r2, r3 80245d0: 4bb7 ldr r3, [pc, #732] ; (80248b0 ) 80245d2: 4413 add r3, r2 80245d4: 49b7 ldr r1, [pc, #732] ; (80248b4 ) 80245d6: 461a mov r2, r3 80245d8: 460b mov r3, r1 80245da: 881b ldrh r3, [r3, #0] 80245dc: 8013 strh r3, [r2, #0] strcat(PointPath, fn); 80245de: f107 0330 add.w r3, r7, #48 ; 0x30 80245e2: 4619 mov r1, r3 80245e4: 48b2 ldr r0, [pc, #712] ; (80248b0 ) 80245e6: f0a8 fe4b bl 80cd280 p = strlen(PointPath) - 4; 80245ea: 48b1 ldr r0, [pc, #708] ; (80248b0 ) 80245ec: f7fb fe92 bl 8020314 80245f0: 4603 mov r3, r0 80245f2: 3b04 subs r3, #4 80245f4: 65bb str r3, [r7, #88] ; 0x58 res = f_open(&F, PointPath, FA_READ); 80245f6: 2201 movs r2, #1 80245f8: 49ad ldr r1, [pc, #692] ; (80248b0 ) 80245fa: 48af ldr r0, [pc, #700] ; (80248b8 ) 80245fc: f0a1 fc80 bl 80c5f00 8024600: 4603 mov r3, r0 8024602: f887 307f strb.w r3, [r7, #127] ; 0x7f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8024606: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802460a: 2b04 cmp r3, #4 802460c: d003 beq.n 8024616 802460e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024612: 2b05 cmp r3, #5 8024614: d127 bne.n 8024666 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8024616: 221b movs r2, #27 8024618: 49a5 ldr r1, [pc, #660] ; (80248b0 ) 802461a: 48a7 ldr r0, [pc, #668] ; (80248b8 ) 802461c: f0a1 fc70 bl 80c5f00 8024620: 4603 mov r3, r0 8024622: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res == FR_OK) 8024626: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802462a: 2b00 cmp r3, #0 802462c: d118 bne.n 8024660 { f_sync(&F); 802462e: 48a2 ldr r0, [pc, #648] ; (80248b8 ) 8024630: f0a2 f9a6 bl 80c6980 res = WriteHeaderGTR(&F); 8024634: 48a0 ldr r0, [pc, #640] ; (80248b8 ) 8024636: f008 f855 bl 802c6e4 802463a: 4603 mov r3, r0 802463c: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) 8024640: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024644: 2b00 cmp r3, #0 8024646: d008 beq.n 802465a { f_close(&F); 8024648: 489b ldr r0, [pc, #620] ; (80248b8 ) 802464a: f0a2 fa9d bl 80c6b88 f_unlink(PointPath); 802464e: 4898 ldr r0, [pc, #608] ; (80248b0 ) 8024650: f0a2 ff29 bl 80c74a6 return FR_DISK_ERR; 8024654: 2301 movs r3, #1 8024656: f000 bd09 b.w 802506c } else { return FR_OK; 802465a: 2300 movs r3, #0 802465c: f000 bd06 b.w 802506c } } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024660: 2301 movs r3, #1 8024662: f000 bd03 b.w 802506c } } else { if(res == FR_OK) 8024666: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802466a: 2b00 cmp r3, #0 802466c: f040 812a bne.w 80248c4 { i = 1; 8024670: 2301 movs r3, #1 8024672: 67bb str r3, [r7, #120] ; 0x78 for(;;) { if(i < 10) 8024674: 6fbb ldr r3, [r7, #120] ; 0x78 8024676: 2b09 cmp r3, #9 8024678: d834 bhi.n 80246e4 { PointPath[p - 4] = '('; 802467a: 6dbb ldr r3, [r7, #88] ; 0x58 802467c: 3b04 subs r3, #4 802467e: 4a8c ldr r2, [pc, #560] ; (80248b0 ) 8024680: 2128 movs r1, #40 ; 0x28 8024682: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i % 10) + 48); 8024684: 6dbb ldr r3, [r7, #88] ; 0x58 8024686: 1ed8 subs r0, r3, #3 8024688: 6fb9 ldr r1, [r7, #120] ; 0x78 802468a: 4b8c ldr r3, [pc, #560] ; (80248bc ) 802468c: fba3 2301 umull r2, r3, r3, r1 8024690: 08da lsrs r2, r3, #3 8024692: 4613 mov r3, r2 8024694: 009b lsls r3, r3, #2 8024696: 4413 add r3, r2 8024698: 005b lsls r3, r3, #1 802469a: 1aca subs r2, r1, r3 802469c: b2d3 uxtb r3, r2 802469e: 3330 adds r3, #48 ; 0x30 80246a0: b2da uxtb r2, r3 80246a2: 4b83 ldr r3, [pc, #524] ; (80248b0 ) 80246a4: 541a strb r2, [r3, r0] PointPath[p - 2] = ')'; 80246a6: 6dbb ldr r3, [r7, #88] ; 0x58 80246a8: 3b02 subs r3, #2 80246aa: 4a81 ldr r2, [pc, #516] ; (80248b0 ) 80246ac: 2129 movs r1, #41 ; 0x29 80246ae: 54d1 strb r1, [r2, r3] PointPath[p - 1] = '.'; 80246b0: 6dbb ldr r3, [r7, #88] ; 0x58 80246b2: 3b01 subs r3, #1 80246b4: 4a7e ldr r2, [pc, #504] ; (80248b0 ) 80246b6: 212e movs r1, #46 ; 0x2e 80246b8: 54d1 strb r1, [r2, r3] PointPath[p] = 'G'; 80246ba: 4a7d ldr r2, [pc, #500] ; (80248b0 ) 80246bc: 6dbb ldr r3, [r7, #88] ; 0x58 80246be: 4413 add r3, r2 80246c0: 2247 movs r2, #71 ; 0x47 80246c2: 701a strb r2, [r3, #0] PointPath[p + 1] = 'T'; 80246c4: 6dbb ldr r3, [r7, #88] ; 0x58 80246c6: 3301 adds r3, #1 80246c8: 4a79 ldr r2, [pc, #484] ; (80248b0 ) 80246ca: 2154 movs r1, #84 ; 0x54 80246cc: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'R'; 80246ce: 6dbb ldr r3, [r7, #88] ; 0x58 80246d0: 3302 adds r3, #2 80246d2: 4a77 ldr r2, [pc, #476] ; (80248b0 ) 80246d4: 2152 movs r1, #82 ; 0x52 80246d6: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 0; 80246d8: 6dbb ldr r3, [r7, #88] ; 0x58 80246da: 3303 adds r3, #3 80246dc: 4a74 ldr r2, [pc, #464] ; (80248b0 ) 80246de: 2100 movs r1, #0 80246e0: 54d1 strb r1, [r2, r3] 80246e2: e0a7 b.n 8024834 } else if(i < 100) 80246e4: 6fbb ldr r3, [r7, #120] ; 0x78 80246e6: 2b63 cmp r3, #99 ; 0x63 80246e8: d840 bhi.n 802476c { PointPath[p - 4] = '('; 80246ea: 6dbb ldr r3, [r7, #88] ; 0x58 80246ec: 3b04 subs r3, #4 80246ee: 4a70 ldr r2, [pc, #448] ; (80248b0 ) 80246f0: 2128 movs r1, #40 ; 0x28 80246f2: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i / 10) + 48); 80246f4: 6dbb ldr r3, [r7, #88] ; 0x58 80246f6: 3b03 subs r3, #3 80246f8: 6fba ldr r2, [r7, #120] ; 0x78 80246fa: 4970 ldr r1, [pc, #448] ; (80248bc ) 80246fc: fba1 1202 umull r1, r2, r1, r2 8024700: 08d2 lsrs r2, r2, #3 8024702: b2d2 uxtb r2, r2 8024704: 3230 adds r2, #48 ; 0x30 8024706: b2d1 uxtb r1, r2 8024708: 4a69 ldr r2, [pc, #420] ; (80248b0 ) 802470a: 54d1 strb r1, [r2, r3] PointPath[p - 2] = (char) ((i % 10) + 48); 802470c: 6dbb ldr r3, [r7, #88] ; 0x58 802470e: 1e98 subs r0, r3, #2 8024710: 6fb9 ldr r1, [r7, #120] ; 0x78 8024712: 4b6a ldr r3, [pc, #424] ; (80248bc ) 8024714: fba3 2301 umull r2, r3, r3, r1 8024718: 08da lsrs r2, r3, #3 802471a: 4613 mov r3, r2 802471c: 009b lsls r3, r3, #2 802471e: 4413 add r3, r2 8024720: 005b lsls r3, r3, #1 8024722: 1aca subs r2, r1, r3 8024724: b2d3 uxtb r3, r2 8024726: 3330 adds r3, #48 ; 0x30 8024728: b2da uxtb r2, r3 802472a: 4b61 ldr r3, [pc, #388] ; (80248b0 ) 802472c: 541a strb r2, [r3, r0] PointPath[p - 1] = ')'; 802472e: 6dbb ldr r3, [r7, #88] ; 0x58 8024730: 3b01 subs r3, #1 8024732: 4a5f ldr r2, [pc, #380] ; (80248b0 ) 8024734: 2129 movs r1, #41 ; 0x29 8024736: 54d1 strb r1, [r2, r3] PointPath[p] = '.'; 8024738: 4a5d ldr r2, [pc, #372] ; (80248b0 ) 802473a: 6dbb ldr r3, [r7, #88] ; 0x58 802473c: 4413 add r3, r2 802473e: 222e movs r2, #46 ; 0x2e 8024740: 701a strb r2, [r3, #0] PointPath[p + 1] = 'G'; 8024742: 6dbb ldr r3, [r7, #88] ; 0x58 8024744: 3301 adds r3, #1 8024746: 4a5a ldr r2, [pc, #360] ; (80248b0 ) 8024748: 2147 movs r1, #71 ; 0x47 802474a: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'T'; 802474c: 6dbb ldr r3, [r7, #88] ; 0x58 802474e: 3302 adds r3, #2 8024750: 4a57 ldr r2, [pc, #348] ; (80248b0 ) 8024752: 2154 movs r1, #84 ; 0x54 8024754: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 'R'; 8024756: 6dbb ldr r3, [r7, #88] ; 0x58 8024758: 3303 adds r3, #3 802475a: 4a55 ldr r2, [pc, #340] ; (80248b0 ) 802475c: 2152 movs r1, #82 ; 0x52 802475e: 54d1 strb r1, [r2, r3] PointPath[p + 4] = 0; 8024760: 6dbb ldr r3, [r7, #88] ; 0x58 8024762: 3304 adds r3, #4 8024764: 4a52 ldr r2, [pc, #328] ; (80248b0 ) 8024766: 2100 movs r1, #0 8024768: 54d1 strb r1, [r2, r3] 802476a: e063 b.n 8024834 } else if(i < 1000) 802476c: 6fbb ldr r3, [r7, #120] ; 0x78 802476e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8024772: d25c bcs.n 802482e { PointPath[p - 4] = '('; 8024774: 6dbb ldr r3, [r7, #88] ; 0x58 8024776: 3b04 subs r3, #4 8024778: 4a4d ldr r2, [pc, #308] ; (80248b0 ) 802477a: 2128 movs r1, #40 ; 0x28 802477c: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i / 100) + 48); 802477e: 6dbb ldr r3, [r7, #88] ; 0x58 8024780: 3b03 subs r3, #3 8024782: 6fba ldr r2, [r7, #120] ; 0x78 8024784: 494e ldr r1, [pc, #312] ; (80248c0 ) 8024786: fba1 1202 umull r1, r2, r1, r2 802478a: 0952 lsrs r2, r2, #5 802478c: b2d2 uxtb r2, r2 802478e: 3230 adds r2, #48 ; 0x30 8024790: b2d1 uxtb r1, r2 8024792: 4a47 ldr r2, [pc, #284] ; (80248b0 ) 8024794: 54d1 strb r1, [r2, r3] PointPath[p - 2] = (char) (((i % 100) / 10) + 48); 8024796: 6dbb ldr r3, [r7, #88] ; 0x58 8024798: 1e99 subs r1, r3, #2 802479a: 6fba ldr r2, [r7, #120] ; 0x78 802479c: 4b48 ldr r3, [pc, #288] ; (80248c0 ) 802479e: fba3 0302 umull r0, r3, r3, r2 80247a2: 095b lsrs r3, r3, #5 80247a4: 2064 movs r0, #100 ; 0x64 80247a6: fb00 f303 mul.w r3, r0, r3 80247aa: 1ad3 subs r3, r2, r3 80247ac: 4a43 ldr r2, [pc, #268] ; (80248bc ) 80247ae: fba2 2303 umull r2, r3, r2, r3 80247b2: 08db lsrs r3, r3, #3 80247b4: b2db uxtb r3, r3 80247b6: 3330 adds r3, #48 ; 0x30 80247b8: b2da uxtb r2, r3 80247ba: 4b3d ldr r3, [pc, #244] ; (80248b0 ) 80247bc: 545a strb r2, [r3, r1] PointPath[p - 1] = (char) (((i % 100) % 10) + 48); 80247be: 6dbb ldr r3, [r7, #88] ; 0x58 80247c0: 1e58 subs r0, r3, #1 80247c2: 6fbb ldr r3, [r7, #120] ; 0x78 80247c4: 4a3e ldr r2, [pc, #248] ; (80248c0 ) 80247c6: fba2 1203 umull r1, r2, r2, r3 80247ca: 0952 lsrs r2, r2, #5 80247cc: 2164 movs r1, #100 ; 0x64 80247ce: fb01 f202 mul.w r2, r1, r2 80247d2: 1a9a subs r2, r3, r2 80247d4: 4b39 ldr r3, [pc, #228] ; (80248bc ) 80247d6: fba3 1302 umull r1, r3, r3, r2 80247da: 08d9 lsrs r1, r3, #3 80247dc: 460b mov r3, r1 80247de: 009b lsls r3, r3, #2 80247e0: 440b add r3, r1 80247e2: 005b lsls r3, r3, #1 80247e4: 1ad1 subs r1, r2, r3 80247e6: b2cb uxtb r3, r1 80247e8: 3330 adds r3, #48 ; 0x30 80247ea: b2da uxtb r2, r3 80247ec: 4b30 ldr r3, [pc, #192] ; (80248b0 ) 80247ee: 541a strb r2, [r3, r0] PointPath[p] = ')'; 80247f0: 4a2f ldr r2, [pc, #188] ; (80248b0 ) 80247f2: 6dbb ldr r3, [r7, #88] ; 0x58 80247f4: 4413 add r3, r2 80247f6: 2229 movs r2, #41 ; 0x29 80247f8: 701a strb r2, [r3, #0] PointPath[p + 1] = '.'; 80247fa: 6dbb ldr r3, [r7, #88] ; 0x58 80247fc: 3301 adds r3, #1 80247fe: 4a2c ldr r2, [pc, #176] ; (80248b0 ) 8024800: 212e movs r1, #46 ; 0x2e 8024802: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'G'; 8024804: 6dbb ldr r3, [r7, #88] ; 0x58 8024806: 3302 adds r3, #2 8024808: 4a29 ldr r2, [pc, #164] ; (80248b0 ) 802480a: 2147 movs r1, #71 ; 0x47 802480c: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 'T'; 802480e: 6dbb ldr r3, [r7, #88] ; 0x58 8024810: 3303 adds r3, #3 8024812: 4a27 ldr r2, [pc, #156] ; (80248b0 ) 8024814: 2154 movs r1, #84 ; 0x54 8024816: 54d1 strb r1, [r2, r3] PointPath[p + 4] = 'R'; 8024818: 6dbb ldr r3, [r7, #88] ; 0x58 802481a: 3304 adds r3, #4 802481c: 4a24 ldr r2, [pc, #144] ; (80248b0 ) 802481e: 2152 movs r1, #82 ; 0x52 8024820: 54d1 strb r1, [r2, r3] PointPath[p + 5] = 0; 8024822: 6dbb ldr r3, [r7, #88] ; 0x58 8024824: 3305 adds r3, #5 8024826: 4a22 ldr r2, [pc, #136] ; (80248b0 ) 8024828: 2100 movs r1, #0 802482a: 54d1 strb r1, [r2, r3] 802482c: e002 b.n 8024834 } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 802482e: 2301 movs r3, #1 8024830: f000 bc1c b.w 802506c } res = f_open(&F, PointPath, FA_READ); 8024834: 2201 movs r2, #1 8024836: 491e ldr r1, [pc, #120] ; (80248b0 ) 8024838: 481f ldr r0, [pc, #124] ; (80248b8 ) 802483a: f0a1 fb61 bl 80c5f00 802483e: 4603 mov r3, r0 8024840: f887 307f strb.w r3, [r7, #127] ; 0x7f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8024844: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024848: 2b04 cmp r3, #4 802484a: d003 beq.n 8024854 802484c: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024850: 2b05 cmp r3, #5 8024852: d121 bne.n 8024898 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8024854: 221b movs r2, #27 8024856: 4916 ldr r1, [pc, #88] ; (80248b0 ) 8024858: 4817 ldr r0, [pc, #92] ; (80248b8 ) 802485a: f0a1 fb51 bl 80c5f00 802485e: 4603 mov r3, r0 8024860: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res == FR_OK) 8024864: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024868: 2b00 cmp r3, #0 802486a: d113 bne.n 8024894 { //f_sync(&F); res = WriteHeaderGTR(&F); 802486c: 4812 ldr r0, [pc, #72] ; (80248b8 ) 802486e: f007 ff39 bl 802c6e4 8024872: 4603 mov r3, r0 8024874: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) 8024878: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802487c: 2b00 cmp r3, #0 802487e: d007 beq.n 8024890 { f_close(&F); 8024880: 480d ldr r0, [pc, #52] ; (80248b8 ) 8024882: f0a2 f981 bl 80c6b88 f_unlink(PointPath); 8024886: 480a ldr r0, [pc, #40] ; (80248b0 ) 8024888: f0a2 fe0d bl 80c74a6 return FR_DISK_ERR; 802488c: 2301 movs r3, #1 802488e: e3ed b.n 802506c } else { return FR_OK; 8024890: 2300 movs r3, #0 8024892: e3eb b.n 802506c } } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024894: 2301 movs r3, #1 8024896: e3e9 b.n 802506c } } else if(res != FR_OK) 8024898: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802489c: 2b00 cmp r3, #0 802489e: d001 beq.n 80248a4 { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 80248a0: 2301 movs r3, #1 80248a2: e3e3 b.n 802506c } i++; 80248a4: 6fbb ldr r3, [r7, #120] ; 0x78 80248a6: 3301 adds r3, #1 80248a8: 67bb str r3, [r7, #120] ; 0x78 if(i < 10) 80248aa: e6e3 b.n 8024674 80248ac: 20022328 .word 0x20022328 80248b0: 200229b4 .word 0x200229b4 80248b4: 080ce4bc .word 0x080ce4bc 80248b8: 20022e20 .word 0x20022e20 80248bc: cccccccd .word 0xcccccccd 80248c0: 51eb851f .word 0x51eb851f } } else { f_close(&F); 80248c4: 4802 ldr r0, [pc, #8] ; (80248d0 ) 80248c6: f0a2 f95f bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 80248ca: 2301 movs r3, #1 80248cc: e3ce b.n 802506c 80248ce: bf00 nop 80248d0: 20022e20 .word 0x20022e20 } } } else { memset(fn, 0, sizeof(fn)); 80248d4: f107 0330 add.w r3, r7, #48 ; 0x30 80248d8: 2228 movs r2, #40 ; 0x28 80248da: 2100 movs r1, #0 80248dc: 4618 mov r0, r3 80248de: f0a8 fbcf bl 80cd080 strcpy(fn, fname); 80248e2: f107 0330 add.w r3, r7, #48 ; 0x30 80248e6: 6879 ldr r1, [r7, #4] 80248e8: 4618 mov r0, r3 80248ea: f0a8 fce6 bl 80cd2ba l = strlen(fn); 80248ee: f107 0330 add.w r3, r7, #48 ; 0x30 80248f2: 4618 mov r0, r3 80248f4: f7fb fd0e bl 8020314 80248f8: 65f8 str r0, [r7, #92] ; 0x5c if((fn[l - 4] == '.') && (l >= 4)) 80248fa: 6dfb ldr r3, [r7, #92] ; 0x5c 80248fc: 3b04 subs r3, #4 80248fe: f107 0280 add.w r2, r7, #128 ; 0x80 8024902: 4413 add r3, r2 8024904: f813 3c50 ldrb.w r3, [r3, #-80] 8024908: 2b2e cmp r3, #46 ; 0x2e 802490a: d122 bne.n 8024952 802490c: 6dfb ldr r3, [r7, #92] ; 0x5c 802490e: 2b03 cmp r3, #3 8024910: d91f bls.n 8024952 { fn[l - 4] = 0; 8024912: 6dfb ldr r3, [r7, #92] ; 0x5c 8024914: 3b04 subs r3, #4 8024916: f107 0280 add.w r2, r7, #128 ; 0x80 802491a: 4413 add r3, r2 802491c: 2200 movs r2, #0 802491e: f803 2c50 strb.w r2, [r3, #-80] fn[l - 3] = 0; 8024922: 6dfb ldr r3, [r7, #92] ; 0x5c 8024924: 3b03 subs r3, #3 8024926: f107 0280 add.w r2, r7, #128 ; 0x80 802492a: 4413 add r3, r2 802492c: 2200 movs r2, #0 802492e: f803 2c50 strb.w r2, [r3, #-80] fn[l - 2] = 0; 8024932: 6dfb ldr r3, [r7, #92] ; 0x5c 8024934: 3b02 subs r3, #2 8024936: f107 0280 add.w r2, r7, #128 ; 0x80 802493a: 4413 add r3, r2 802493c: 2200 movs r2, #0 802493e: f803 2c50 strb.w r2, [r3, #-80] fn[l - 1] = 0; 8024942: 6dfb ldr r3, [r7, #92] ; 0x5c 8024944: 3b01 subs r3, #1 8024946: f107 0280 add.w r2, r7, #128 ; 0x80 802494a: 4413 add r3, r2 802494c: 2200 movs r2, #0 802494e: f803 2c50 strb.w r2, [r3, #-80] } if(res == FR_OK) 8024952: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024956: 2b00 cmp r3, #0 8024958: f040 8386 bne.w 8025068 { memset(PointPath, 0, sizeof(PointPath)); 802495c: f44f 7200 mov.w r2, #512 ; 0x200 8024960: 2100 movs r1, #0 8024962: 48c2 ldr r0, [pc, #776] ; (8024c6c ) 8024964: f0a8 fb8c bl 80cd080 strcpy(PointPath, "0:Records"); 8024968: 4ac0 ldr r2, [pc, #768] ; (8024c6c ) 802496a: 4bc1 ldr r3, [pc, #772] ; (8024c70 ) 802496c: cb03 ldmia r3!, {r0, r1} 802496e: 6010 str r0, [r2, #0] 8024970: 6051 str r1, [r2, #4] 8024972: 881b ldrh r3, [r3, #0] 8024974: 8113 strh r3, [r2, #8] res = f_opendir(&dir, PointPath); 8024976: 49bd ldr r1, [pc, #756] ; (8024c6c ) 8024978: 48be ldr r0, [pc, #760] ; (8024c74 ) 802497a: f0a2 fbae bl 80c70da 802497e: 4603 mov r3, r0 8024980: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) { 8024984: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024988: 2b00 cmp r3, #0 802498a: d005 beq.n 8024998 res = f_mkdir(PointPath); 802498c: 48b7 ldr r0, [pc, #732] ; (8024c6c ) 802498e: f0a2 fe5f bl 80c7650 8024992: 4603 mov r3, r0 8024994: f887 307f strb.w r3, [r7, #127] ; 0x7f } if(res == FR_OK) 8024998: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802499c: 2b00 cmp r3, #0 802499e: f040 8363 bne.w 8025068 { strcat(PointPath, "/"); 80249a2: 48b2 ldr r0, [pc, #712] ; (8024c6c ) 80249a4: f7fb fcb6 bl 8020314 80249a8: 4603 mov r3, r0 80249aa: 461a mov r2, r3 80249ac: 4baf ldr r3, [pc, #700] ; (8024c6c ) 80249ae: 4413 add r3, r2 80249b0: 49b1 ldr r1, [pc, #708] ; (8024c78 ) 80249b2: 461a mov r2, r3 80249b4: 460b mov r3, r1 80249b6: 881b ldrh r3, [r3, #0] 80249b8: 8013 strh r3, [r2, #0] strcat(PointPath, fn); 80249ba: f107 0330 add.w r3, r7, #48 ; 0x30 80249be: 4619 mov r1, r3 80249c0: 48aa ldr r0, [pc, #680] ; (8024c6c ) 80249c2: f0a8 fc5d bl 80cd280 if(fn[0] != 0) 80249c6: f897 3030 ldrb.w r3, [r7, #48] ; 0x30 80249ca: 2b00 cmp r3, #0 80249cc: d010 beq.n 80249f0 { res = f_opendir(&dir, PointPath); 80249ce: 49a7 ldr r1, [pc, #668] ; (8024c6c ) 80249d0: 48a8 ldr r0, [pc, #672] ; (8024c74 ) 80249d2: f0a2 fb82 bl 80c70da 80249d6: 4603 mov r3, r0 80249d8: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) 80249dc: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80249e0: 2b00 cmp r3, #0 80249e2: d005 beq.n 80249f0 res = f_mkdir(PointPath); 80249e4: 48a1 ldr r0, [pc, #644] ; (8024c6c ) 80249e6: f0a2 fe33 bl 80c7650 80249ea: 4603 mov r3, r0 80249ec: f887 307f strb.w r3, [r7, #127] ; 0x7f } HAL_RTC_GetTime(&hrtc, &RTC_TimeSygnal, RTC_FORMAT_BIN); 80249f0: 2200 movs r2, #0 80249f2: 49a2 ldr r1, [pc, #648] ; (8024c7c ) 80249f4: 48a2 ldr r0, [pc, #648] ; (8024c80 ) 80249f6: f094 f913 bl 80b8c20 HAL_RTC_GetDate(&hrtc, &RTC_DateSygnal, RTC_FORMAT_BIN); 80249fa: 2200 movs r2, #0 80249fc: 49a1 ldr r1, [pc, #644] ; (8024c84 ) 80249fe: 48a0 ldr r0, [pc, #640] ; (8024c80 ) 8024a00: f094 fa14 bl 80b8e2c Day = RTC_DateSygnal.Date; 8024a04: 4b9f ldr r3, [pc, #636] ; (8024c84 ) 8024a06: 789b ldrb r3, [r3, #2] 8024a08: 677b str r3, [r7, #116] ; 0x74 Month = RTC_DateSygnal.Month; 8024a0a: 4b9e ldr r3, [pc, #632] ; (8024c84 ) 8024a0c: 785b ldrb r3, [r3, #1] 8024a0e: 673b str r3, [r7, #112] ; 0x70 Year = RTC_DateSygnal.Year + 2000; 8024a10: 4b9c ldr r3, [pc, #624] ; (8024c84 ) 8024a12: 78db ldrb r3, [r3, #3] 8024a14: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8024a18: 66fb str r3, [r7, #108] ; 0x6c Hour = RTC_TimeSygnal.Hours; 8024a1a: 4b98 ldr r3, [pc, #608] ; (8024c7c ) 8024a1c: 781b ldrb r3, [r3, #0] 8024a1e: 66bb str r3, [r7, #104] ; 0x68 Min = RTC_TimeSygnal.Minutes; 8024a20: 4b96 ldr r3, [pc, #600] ; (8024c7c ) 8024a22: 785b ldrb r3, [r3, #1] 8024a24: 667b str r3, [r7, #100] ; 0x64 Sec = RTC_TimeSygnal.Seconds; 8024a26: 4b95 ldr r3, [pc, #596] ; (8024c7c ) 8024a28: 789b ldrb r3, [r3, #2] 8024a2a: 663b str r3, [r7, #96] ; 0x60 /*Rec_2018_07_30__13_42_06.gtr*/ l = 0; 8024a2c: 2300 movs r3, #0 8024a2e: 65fb str r3, [r7, #92] ; 0x5c memset(fn, 0, sizeof(fn)); 8024a30: f107 0330 add.w r3, r7, #48 ; 0x30 8024a34: 2228 movs r2, #40 ; 0x28 8024a36: 2100 movs r1, #0 8024a38: 4618 mov r0, r3 8024a3a: f0a8 fb21 bl 80cd080 fn[l++] = 'R'; 8024a3e: 6dfb ldr r3, [r7, #92] ; 0x5c 8024a40: 1c5a adds r2, r3, #1 8024a42: 65fa str r2, [r7, #92] ; 0x5c 8024a44: f107 0280 add.w r2, r7, #128 ; 0x80 8024a48: 4413 add r3, r2 8024a4a: 2252 movs r2, #82 ; 0x52 8024a4c: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'E'; 8024a50: 6dfb ldr r3, [r7, #92] ; 0x5c 8024a52: 1c5a adds r2, r3, #1 8024a54: 65fa str r2, [r7, #92] ; 0x5c 8024a56: f107 0280 add.w r2, r7, #128 ; 0x80 8024a5a: 4413 add r3, r2 8024a5c: 2245 movs r2, #69 ; 0x45 8024a5e: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'C'; 8024a62: 6dfb ldr r3, [r7, #92] ; 0x5c 8024a64: 1c5a adds r2, r3, #1 8024a66: 65fa str r2, [r7, #92] ; 0x5c 8024a68: f107 0280 add.w r2, r7, #128 ; 0x80 8024a6c: 4413 add r3, r2 8024a6e: 2243 movs r2, #67 ; 0x43 8024a70: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = '_'; 8024a74: 6dfb ldr r3, [r7, #92] ; 0x5c 8024a76: 1c5a adds r2, r3, #1 8024a78: 65fa str r2, [r7, #92] ; 0x5c 8024a7a: f107 0280 add.w r2, r7, #128 ; 0x80 8024a7e: 4413 add r3, r2 8024a80: 225f movs r2, #95 ; 0x5f 8024a82: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Year / 1000) + 48); 8024a86: 6dfb ldr r3, [r7, #92] ; 0x5c 8024a88: 1c5a adds r2, r3, #1 8024a8a: 65fa str r2, [r7, #92] ; 0x5c 8024a8c: 6efa ldr r2, [r7, #108] ; 0x6c 8024a8e: 497e ldr r1, [pc, #504] ; (8024c88 ) 8024a90: fba1 1202 umull r1, r2, r1, r2 8024a94: 0992 lsrs r2, r2, #6 8024a96: b2d2 uxtb r2, r2 8024a98: 3230 adds r2, #48 ; 0x30 8024a9a: b2d2 uxtb r2, r2 8024a9c: f107 0180 add.w r1, r7, #128 ; 0x80 8024aa0: 440b add r3, r1 8024aa2: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) (((Year % 1000) / 100) + 48); 8024aa6: 6dfa ldr r2, [r7, #92] ; 0x5c 8024aa8: 1c53 adds r3, r2, #1 8024aaa: 65fb str r3, [r7, #92] ; 0x5c 8024aac: 6ef9 ldr r1, [r7, #108] ; 0x6c 8024aae: 4b76 ldr r3, [pc, #472] ; (8024c88 ) 8024ab0: fba3 0301 umull r0, r3, r3, r1 8024ab4: 099b lsrs r3, r3, #6 8024ab6: f44f 707a mov.w r0, #1000 ; 0x3e8 8024aba: fb00 f303 mul.w r3, r0, r3 8024abe: 1acb subs r3, r1, r3 8024ac0: 4972 ldr r1, [pc, #456] ; (8024c8c ) 8024ac2: fba1 1303 umull r1, r3, r1, r3 8024ac6: 095b lsrs r3, r3, #5 8024ac8: b2db uxtb r3, r3 8024aca: 3330 adds r3, #48 ; 0x30 8024acc: b2d9 uxtb r1, r3 8024ace: f107 0380 add.w r3, r7, #128 ; 0x80 8024ad2: 4413 add r3, r2 8024ad4: 460a mov r2, r1 8024ad6: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((((Year % 1000) % 100) / 10) + 48); 8024ada: 6df9 ldr r1, [r7, #92] ; 0x5c 8024adc: 1c4b adds r3, r1, #1 8024ade: 65fb str r3, [r7, #92] ; 0x5c 8024ae0: 6efa ldr r2, [r7, #108] ; 0x6c 8024ae2: 4b69 ldr r3, [pc, #420] ; (8024c88 ) 8024ae4: fba3 0302 umull r0, r3, r3, r2 8024ae8: 099b lsrs r3, r3, #6 8024aea: f44f 707a mov.w r0, #1000 ; 0x3e8 8024aee: fb00 f303 mul.w r3, r0, r3 8024af2: 1ad3 subs r3, r2, r3 8024af4: 4a65 ldr r2, [pc, #404] ; (8024c8c ) 8024af6: fba2 0203 umull r0, r2, r2, r3 8024afa: 0952 lsrs r2, r2, #5 8024afc: 2064 movs r0, #100 ; 0x64 8024afe: fb00 f202 mul.w r2, r0, r2 8024b02: 1a9a subs r2, r3, r2 8024b04: 4b62 ldr r3, [pc, #392] ; (8024c90 ) 8024b06: fba3 2302 umull r2, r3, r3, r2 8024b0a: 08db lsrs r3, r3, #3 8024b0c: b2db uxtb r3, r3 8024b0e: 3330 adds r3, #48 ; 0x30 8024b10: b2da uxtb r2, r3 8024b12: f107 0380 add.w r3, r7, #128 ; 0x80 8024b16: 440b add r3, r1 8024b18: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((((Year % 1000) % 100) % 10) + 48); 8024b1c: 6df8 ldr r0, [r7, #92] ; 0x5c 8024b1e: 1c43 adds r3, r0, #1 8024b20: 65fb str r3, [r7, #92] ; 0x5c 8024b22: 6efa ldr r2, [r7, #108] ; 0x6c 8024b24: 4b58 ldr r3, [pc, #352] ; (8024c88 ) 8024b26: fba3 1302 umull r1, r3, r3, r2 8024b2a: 099b lsrs r3, r3, #6 8024b2c: f44f 717a mov.w r1, #1000 ; 0x3e8 8024b30: fb01 f303 mul.w r3, r1, r3 8024b34: 1ad3 subs r3, r2, r3 8024b36: 4a55 ldr r2, [pc, #340] ; (8024c8c ) 8024b38: fba2 1203 umull r1, r2, r2, r3 8024b3c: 0952 lsrs r2, r2, #5 8024b3e: 2164 movs r1, #100 ; 0x64 8024b40: fb01 f202 mul.w r2, r1, r2 8024b44: 1a9a subs r2, r3, r2 8024b46: 4b52 ldr r3, [pc, #328] ; (8024c90 ) 8024b48: fba3 1302 umull r1, r3, r3, r2 8024b4c: 08d9 lsrs r1, r3, #3 8024b4e: 460b mov r3, r1 8024b50: 009b lsls r3, r3, #2 8024b52: 440b add r3, r1 8024b54: 005b lsls r3, r3, #1 8024b56: 1ad1 subs r1, r2, r3 8024b58: b2cb uxtb r3, r1 8024b5a: 3330 adds r3, #48 ; 0x30 8024b5c: b2da uxtb r2, r3 8024b5e: f107 0380 add.w r3, r7, #128 ; 0x80 8024b62: 4403 add r3, r0 8024b64: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Month / 10) + 48); 8024b68: 6dfb ldr r3, [r7, #92] ; 0x5c 8024b6a: 1c5a adds r2, r3, #1 8024b6c: 65fa str r2, [r7, #92] ; 0x5c 8024b6e: 6f3a ldr r2, [r7, #112] ; 0x70 8024b70: 4947 ldr r1, [pc, #284] ; (8024c90 ) 8024b72: fba1 1202 umull r1, r2, r1, r2 8024b76: 08d2 lsrs r2, r2, #3 8024b78: b2d2 uxtb r2, r2 8024b7a: 3230 adds r2, #48 ; 0x30 8024b7c: b2d2 uxtb r2, r2 8024b7e: f107 0180 add.w r1, r7, #128 ; 0x80 8024b82: 440b add r3, r1 8024b84: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Month % 10) + 48); 8024b88: 6df9 ldr r1, [r7, #92] ; 0x5c 8024b8a: 1c4b adds r3, r1, #1 8024b8c: 65fb str r3, [r7, #92] ; 0x5c 8024b8e: 6f38 ldr r0, [r7, #112] ; 0x70 8024b90: 4b3f ldr r3, [pc, #252] ; (8024c90 ) 8024b92: fba3 2300 umull r2, r3, r3, r0 8024b96: 08da lsrs r2, r3, #3 8024b98: 4613 mov r3, r2 8024b9a: 009b lsls r3, r3, #2 8024b9c: 4413 add r3, r2 8024b9e: 005b lsls r3, r3, #1 8024ba0: 1ac2 subs r2, r0, r3 8024ba2: b2d3 uxtb r3, r2 8024ba4: 3330 adds r3, #48 ; 0x30 8024ba6: b2da uxtb r2, r3 8024ba8: f107 0380 add.w r3, r7, #128 ; 0x80 8024bac: 440b add r3, r1 8024bae: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Day / 10) + 48); 8024bb2: 6dfb ldr r3, [r7, #92] ; 0x5c 8024bb4: 1c5a adds r2, r3, #1 8024bb6: 65fa str r2, [r7, #92] ; 0x5c 8024bb8: 6f7a ldr r2, [r7, #116] ; 0x74 8024bba: 4935 ldr r1, [pc, #212] ; (8024c90 ) 8024bbc: fba1 1202 umull r1, r2, r1, r2 8024bc0: 08d2 lsrs r2, r2, #3 8024bc2: b2d2 uxtb r2, r2 8024bc4: 3230 adds r2, #48 ; 0x30 8024bc6: b2d2 uxtb r2, r2 8024bc8: f107 0180 add.w r1, r7, #128 ; 0x80 8024bcc: 440b add r3, r1 8024bce: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Day % 10) + 48); 8024bd2: 6df9 ldr r1, [r7, #92] ; 0x5c 8024bd4: 1c4b adds r3, r1, #1 8024bd6: 65fb str r3, [r7, #92] ; 0x5c 8024bd8: 6f78 ldr r0, [r7, #116] ; 0x74 8024bda: 4b2d ldr r3, [pc, #180] ; (8024c90 ) 8024bdc: fba3 2300 umull r2, r3, r3, r0 8024be0: 08da lsrs r2, r3, #3 8024be2: 4613 mov r3, r2 8024be4: 009b lsls r3, r3, #2 8024be6: 4413 add r3, r2 8024be8: 005b lsls r3, r3, #1 8024bea: 1ac2 subs r2, r0, r3 8024bec: b2d3 uxtb r3, r2 8024bee: 3330 adds r3, #48 ; 0x30 8024bf0: b2da uxtb r2, r3 8024bf2: f107 0380 add.w r3, r7, #128 ; 0x80 8024bf6: 440b add r3, r1 8024bf8: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = '_'; 8024bfc: 6dfb ldr r3, [r7, #92] ; 0x5c 8024bfe: 1c5a adds r2, r3, #1 8024c00: 65fa str r2, [r7, #92] ; 0x5c 8024c02: f107 0280 add.w r2, r7, #128 ; 0x80 8024c06: 4413 add r3, r2 8024c08: 225f movs r2, #95 ; 0x5f 8024c0a: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Hour / 10) + 48); 8024c0e: 6dfb ldr r3, [r7, #92] ; 0x5c 8024c10: 1c5a adds r2, r3, #1 8024c12: 65fa str r2, [r7, #92] ; 0x5c 8024c14: 6eba ldr r2, [r7, #104] ; 0x68 8024c16: 491e ldr r1, [pc, #120] ; (8024c90 ) 8024c18: fba1 1202 umull r1, r2, r1, r2 8024c1c: 08d2 lsrs r2, r2, #3 8024c1e: b2d2 uxtb r2, r2 8024c20: 3230 adds r2, #48 ; 0x30 8024c22: b2d2 uxtb r2, r2 8024c24: f107 0180 add.w r1, r7, #128 ; 0x80 8024c28: 440b add r3, r1 8024c2a: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Hour % 10) + 48); 8024c2e: 6df9 ldr r1, [r7, #92] ; 0x5c 8024c30: 1c4b adds r3, r1, #1 8024c32: 65fb str r3, [r7, #92] ; 0x5c 8024c34: 6eb8 ldr r0, [r7, #104] ; 0x68 8024c36: 4b16 ldr r3, [pc, #88] ; (8024c90 ) 8024c38: fba3 2300 umull r2, r3, r3, r0 8024c3c: 08da lsrs r2, r3, #3 8024c3e: 4613 mov r3, r2 8024c40: 009b lsls r3, r3, #2 8024c42: 4413 add r3, r2 8024c44: 005b lsls r3, r3, #1 8024c46: 1ac2 subs r2, r0, r3 8024c48: b2d3 uxtb r3, r2 8024c4a: 3330 adds r3, #48 ; 0x30 8024c4c: b2da uxtb r2, r3 8024c4e: f107 0380 add.w r3, r7, #128 ; 0x80 8024c52: 440b add r3, r1 8024c54: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Min / 10) + 48); 8024c58: 6dfb ldr r3, [r7, #92] ; 0x5c 8024c5a: 1c5a adds r2, r3, #1 8024c5c: 65fa str r2, [r7, #92] ; 0x5c 8024c5e: 6e7a ldr r2, [r7, #100] ; 0x64 8024c60: 490b ldr r1, [pc, #44] ; (8024c90 ) 8024c62: fba1 1202 umull r1, r2, r1, r2 8024c66: 08d2 lsrs r2, r2, #3 8024c68: b2d2 uxtb r2, r2 8024c6a: e013 b.n 8024c94 8024c6c: 200229b4 .word 0x200229b4 8024c70: 080ce4b0 .word 0x080ce4b0 8024c74: 20022918 .word 0x20022918 8024c78: 080ce4bc .word 0x080ce4bc 8024c7c: 20022de0 .word 0x20022de0 8024c80: 20068598 .word 0x20068598 8024c84: 200228d0 .word 0x200228d0 8024c88: 10624dd3 .word 0x10624dd3 8024c8c: 51eb851f .word 0x51eb851f 8024c90: cccccccd .word 0xcccccccd 8024c94: 3230 adds r2, #48 ; 0x30 8024c96: b2d2 uxtb r2, r2 8024c98: f107 0180 add.w r1, r7, #128 ; 0x80 8024c9c: 440b add r3, r1 8024c9e: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Min % 10) + 48); 8024ca2: 6df9 ldr r1, [r7, #92] ; 0x5c 8024ca4: 1c4b adds r3, r1, #1 8024ca6: 65fb str r3, [r7, #92] ; 0x5c 8024ca8: 6e78 ldr r0, [r7, #100] ; 0x64 8024caa: 4b98 ldr r3, [pc, #608] ; (8024f0c ) 8024cac: fba3 2300 umull r2, r3, r3, r0 8024cb0: 08da lsrs r2, r3, #3 8024cb2: 4613 mov r3, r2 8024cb4: 009b lsls r3, r3, #2 8024cb6: 4413 add r3, r2 8024cb8: 005b lsls r3, r3, #1 8024cba: 1ac2 subs r2, r0, r3 8024cbc: b2d3 uxtb r3, r2 8024cbe: 3330 adds r3, #48 ; 0x30 8024cc0: b2da uxtb r2, r3 8024cc2: f107 0380 add.w r3, r7, #128 ; 0x80 8024cc6: 440b add r3, r1 8024cc8: f803 2c50 strb.w r2, [r3, #-80] //fn[l++] = '_'; fn[l++] = (char) ((Sec / 10) + 48); 8024ccc: 6dfb ldr r3, [r7, #92] ; 0x5c 8024cce: 1c5a adds r2, r3, #1 8024cd0: 65fa str r2, [r7, #92] ; 0x5c 8024cd2: 6e3a ldr r2, [r7, #96] ; 0x60 8024cd4: 498d ldr r1, [pc, #564] ; (8024f0c ) 8024cd6: fba1 1202 umull r1, r2, r1, r2 8024cda: 08d2 lsrs r2, r2, #3 8024cdc: b2d2 uxtb r2, r2 8024cde: 3230 adds r2, #48 ; 0x30 8024ce0: b2d2 uxtb r2, r2 8024ce2: f107 0180 add.w r1, r7, #128 ; 0x80 8024ce6: 440b add r3, r1 8024ce8: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = (char) ((Sec % 10) + 48); 8024cec: 6df9 ldr r1, [r7, #92] ; 0x5c 8024cee: 1c4b adds r3, r1, #1 8024cf0: 65fb str r3, [r7, #92] ; 0x5c 8024cf2: 6e38 ldr r0, [r7, #96] ; 0x60 8024cf4: 4b85 ldr r3, [pc, #532] ; (8024f0c ) 8024cf6: fba3 2300 umull r2, r3, r3, r0 8024cfa: 08da lsrs r2, r3, #3 8024cfc: 4613 mov r3, r2 8024cfe: 009b lsls r3, r3, #2 8024d00: 4413 add r3, r2 8024d02: 005b lsls r3, r3, #1 8024d04: 1ac2 subs r2, r0, r3 8024d06: b2d3 uxtb r3, r2 8024d08: 3330 adds r3, #48 ; 0x30 8024d0a: b2da uxtb r2, r3 8024d0c: f107 0380 add.w r3, r7, #128 ; 0x80 8024d10: 440b add r3, r1 8024d12: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = '.'; 8024d16: 6dfb ldr r3, [r7, #92] ; 0x5c 8024d18: 1c5a adds r2, r3, #1 8024d1a: 65fa str r2, [r7, #92] ; 0x5c 8024d1c: f107 0280 add.w r2, r7, #128 ; 0x80 8024d20: 4413 add r3, r2 8024d22: 222e movs r2, #46 ; 0x2e 8024d24: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'G'; 8024d28: 6dfb ldr r3, [r7, #92] ; 0x5c 8024d2a: 1c5a adds r2, r3, #1 8024d2c: 65fa str r2, [r7, #92] ; 0x5c 8024d2e: f107 0280 add.w r2, r7, #128 ; 0x80 8024d32: 4413 add r3, r2 8024d34: 2247 movs r2, #71 ; 0x47 8024d36: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'T'; 8024d3a: 6dfb ldr r3, [r7, #92] ; 0x5c 8024d3c: 1c5a adds r2, r3, #1 8024d3e: 65fa str r2, [r7, #92] ; 0x5c 8024d40: f107 0280 add.w r2, r7, #128 ; 0x80 8024d44: 4413 add r3, r2 8024d46: 2254 movs r2, #84 ; 0x54 8024d48: f803 2c50 strb.w r2, [r3, #-80] fn[l++] = 'R'; 8024d4c: 6dfb ldr r3, [r7, #92] ; 0x5c 8024d4e: 1c5a adds r2, r3, #1 8024d50: 65fa str r2, [r7, #92] ; 0x5c 8024d52: f107 0280 add.w r2, r7, #128 ; 0x80 8024d56: 4413 add r3, r2 8024d58: 2252 movs r2, #82 ; 0x52 8024d5a: f803 2c50 strb.w r2, [r3, #-80] strcpy(RecordingName, fn); 8024d5e: f107 0330 add.w r3, r7, #48 ; 0x30 8024d62: 4619 mov r1, r3 8024d64: 486a ldr r0, [pc, #424] ; (8024f10 ) 8024d66: f0a8 faa8 bl 80cd2ba strcat(PointPath, "/"); 8024d6a: 486a ldr r0, [pc, #424] ; (8024f14 ) 8024d6c: f7fb fad2 bl 8020314 8024d70: 4603 mov r3, r0 8024d72: 461a mov r2, r3 8024d74: 4b67 ldr r3, [pc, #412] ; (8024f14 ) 8024d76: 4413 add r3, r2 8024d78: 4967 ldr r1, [pc, #412] ; (8024f18 ) 8024d7a: 461a mov r2, r3 8024d7c: 460b mov r3, r1 8024d7e: 881b ldrh r3, [r3, #0] 8024d80: 8013 strh r3, [r2, #0] strcat(PointPath, fn); 8024d82: f107 0330 add.w r3, r7, #48 ; 0x30 8024d86: 4619 mov r1, r3 8024d88: 4862 ldr r0, [pc, #392] ; (8024f14 ) 8024d8a: f0a8 fa79 bl 80cd280 p = strlen(PointPath) - 4; 8024d8e: 4861 ldr r0, [pc, #388] ; (8024f14 ) 8024d90: f7fb fac0 bl 8020314 8024d94: 4603 mov r3, r0 8024d96: 3b04 subs r3, #4 8024d98: 65bb str r3, [r7, #88] ; 0x58 res = f_open(&F, PointPath, FA_READ); 8024d9a: 2201 movs r2, #1 8024d9c: 495d ldr r1, [pc, #372] ; (8024f14 ) 8024d9e: 485f ldr r0, [pc, #380] ; (8024f1c ) 8024da0: f0a1 f8ae bl 80c5f00 8024da4: 4603 mov r3, r0 8024da6: f887 307f strb.w r3, [r7, #127] ; 0x7f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8024daa: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024dae: 2b04 cmp r3, #4 8024db0: d003 beq.n 8024dba 8024db2: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024db6: 2b05 cmp r3, #5 8024db8: d124 bne.n 8024e04 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8024dba: 221b movs r2, #27 8024dbc: 4955 ldr r1, [pc, #340] ; (8024f14 ) 8024dbe: 4857 ldr r0, [pc, #348] ; (8024f1c ) 8024dc0: f0a1 f89e bl 80c5f00 8024dc4: 4603 mov r3, r0 8024dc6: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res == FR_OK) 8024dca: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024dce: 2b00 cmp r3, #0 8024dd0: d116 bne.n 8024e00 { f_sync(&F); 8024dd2: 4852 ldr r0, [pc, #328] ; (8024f1c ) 8024dd4: f0a1 fdd4 bl 80c6980 res = WriteHeaderGTR(&F); 8024dd8: 4850 ldr r0, [pc, #320] ; (8024f1c ) 8024dda: f007 fc83 bl 802c6e4 8024dde: 4603 mov r3, r0 8024de0: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) 8024de4: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024de8: 2b00 cmp r3, #0 8024dea: d007 beq.n 8024dfc { f_close(&F); 8024dec: 484b ldr r0, [pc, #300] ; (8024f1c ) 8024dee: f0a1 fecb bl 80c6b88 f_unlink(PointPath); 8024df2: 4848 ldr r0, [pc, #288] ; (8024f14 ) 8024df4: f0a2 fb57 bl 80c74a6 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024df8: 2301 movs r3, #1 8024dfa: e137 b.n 802506c } else { return FR_OK; 8024dfc: 2300 movs r3, #0 8024dfe: e135 b.n 802506c } } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024e00: 2301 movs r3, #1 8024e02: e133 b.n 802506c } } else { if(res == FR_OK) 8024e04: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024e08: 2b00 cmp r3, #0 8024e0a: f040 8128 bne.w 802505e { i = 1; 8024e0e: 2301 movs r3, #1 8024e10: 67bb str r3, [r7, #120] ; 0x78 for(;;) { if(i < 10) 8024e12: 6fbb ldr r3, [r7, #120] ; 0x78 8024e14: 2b09 cmp r3, #9 8024e16: d834 bhi.n 8024e82 { PointPath[p - 4] = '('; 8024e18: 6dbb ldr r3, [r7, #88] ; 0x58 8024e1a: 3b04 subs r3, #4 8024e1c: 4a3d ldr r2, [pc, #244] ; (8024f14 ) 8024e1e: 2128 movs r1, #40 ; 0x28 8024e20: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i % 10) + 48); 8024e22: 6dbb ldr r3, [r7, #88] ; 0x58 8024e24: 1ed8 subs r0, r3, #3 8024e26: 6fb9 ldr r1, [r7, #120] ; 0x78 8024e28: 4b38 ldr r3, [pc, #224] ; (8024f0c ) 8024e2a: fba3 2301 umull r2, r3, r3, r1 8024e2e: 08da lsrs r2, r3, #3 8024e30: 4613 mov r3, r2 8024e32: 009b lsls r3, r3, #2 8024e34: 4413 add r3, r2 8024e36: 005b lsls r3, r3, #1 8024e38: 1aca subs r2, r1, r3 8024e3a: b2d3 uxtb r3, r2 8024e3c: 3330 adds r3, #48 ; 0x30 8024e3e: b2da uxtb r2, r3 8024e40: 4b34 ldr r3, [pc, #208] ; (8024f14 ) 8024e42: 541a strb r2, [r3, r0] PointPath[p - 2] = ')'; 8024e44: 6dbb ldr r3, [r7, #88] ; 0x58 8024e46: 3b02 subs r3, #2 8024e48: 4a32 ldr r2, [pc, #200] ; (8024f14 ) 8024e4a: 2129 movs r1, #41 ; 0x29 8024e4c: 54d1 strb r1, [r2, r3] PointPath[p - 1] = '.'; 8024e4e: 6dbb ldr r3, [r7, #88] ; 0x58 8024e50: 3b01 subs r3, #1 8024e52: 4a30 ldr r2, [pc, #192] ; (8024f14 ) 8024e54: 212e movs r1, #46 ; 0x2e 8024e56: 54d1 strb r1, [r2, r3] PointPath[p] = 'G'; 8024e58: 4a2e ldr r2, [pc, #184] ; (8024f14 ) 8024e5a: 6dbb ldr r3, [r7, #88] ; 0x58 8024e5c: 4413 add r3, r2 8024e5e: 2247 movs r2, #71 ; 0x47 8024e60: 701a strb r2, [r3, #0] PointPath[p + 1] = 'T'; 8024e62: 6dbb ldr r3, [r7, #88] ; 0x58 8024e64: 3301 adds r3, #1 8024e66: 4a2b ldr r2, [pc, #172] ; (8024f14 ) 8024e68: 2154 movs r1, #84 ; 0x54 8024e6a: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'R'; 8024e6c: 6dbb ldr r3, [r7, #88] ; 0x58 8024e6e: 3302 adds r3, #2 8024e70: 4a28 ldr r2, [pc, #160] ; (8024f14 ) 8024e72: 2152 movs r1, #82 ; 0x52 8024e74: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 0; 8024e76: 6dbb ldr r3, [r7, #88] ; 0x58 8024e78: 3303 adds r3, #3 8024e7a: 4a26 ldr r2, [pc, #152] ; (8024f14 ) 8024e7c: 2100 movs r1, #0 8024e7e: 54d1 strb r1, [r2, r3] 8024e80: e0b1 b.n 8024fe6 } else if(i < 100) 8024e82: 6fbb ldr r3, [r7, #120] ; 0x78 8024e84: 2b63 cmp r3, #99 ; 0x63 8024e86: d84b bhi.n 8024f20 { PointPath[p - 4] = '('; 8024e88: 6dbb ldr r3, [r7, #88] ; 0x58 8024e8a: 3b04 subs r3, #4 8024e8c: 4a21 ldr r2, [pc, #132] ; (8024f14 ) 8024e8e: 2128 movs r1, #40 ; 0x28 8024e90: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i / 10) + 48); 8024e92: 6dbb ldr r3, [r7, #88] ; 0x58 8024e94: 3b03 subs r3, #3 8024e96: 6fba ldr r2, [r7, #120] ; 0x78 8024e98: 491c ldr r1, [pc, #112] ; (8024f0c ) 8024e9a: fba1 1202 umull r1, r2, r1, r2 8024e9e: 08d2 lsrs r2, r2, #3 8024ea0: b2d2 uxtb r2, r2 8024ea2: 3230 adds r2, #48 ; 0x30 8024ea4: b2d1 uxtb r1, r2 8024ea6: 4a1b ldr r2, [pc, #108] ; (8024f14 ) 8024ea8: 54d1 strb r1, [r2, r3] PointPath[p - 2] = (char) ((i % 10) + 48); 8024eaa: 6dbb ldr r3, [r7, #88] ; 0x58 8024eac: 1e98 subs r0, r3, #2 8024eae: 6fb9 ldr r1, [r7, #120] ; 0x78 8024eb0: 4b16 ldr r3, [pc, #88] ; (8024f0c ) 8024eb2: fba3 2301 umull r2, r3, r3, r1 8024eb6: 08da lsrs r2, r3, #3 8024eb8: 4613 mov r3, r2 8024eba: 009b lsls r3, r3, #2 8024ebc: 4413 add r3, r2 8024ebe: 005b lsls r3, r3, #1 8024ec0: 1aca subs r2, r1, r3 8024ec2: b2d3 uxtb r3, r2 8024ec4: 3330 adds r3, #48 ; 0x30 8024ec6: b2da uxtb r2, r3 8024ec8: 4b12 ldr r3, [pc, #72] ; (8024f14 ) 8024eca: 541a strb r2, [r3, r0] PointPath[p - 1] = ')'; 8024ecc: 6dbb ldr r3, [r7, #88] ; 0x58 8024ece: 3b01 subs r3, #1 8024ed0: 4a10 ldr r2, [pc, #64] ; (8024f14 ) 8024ed2: 2129 movs r1, #41 ; 0x29 8024ed4: 54d1 strb r1, [r2, r3] PointPath[p] = '.'; 8024ed6: 4a0f ldr r2, [pc, #60] ; (8024f14 ) 8024ed8: 6dbb ldr r3, [r7, #88] ; 0x58 8024eda: 4413 add r3, r2 8024edc: 222e movs r2, #46 ; 0x2e 8024ede: 701a strb r2, [r3, #0] PointPath[p + 1] = 'G'; 8024ee0: 6dbb ldr r3, [r7, #88] ; 0x58 8024ee2: 3301 adds r3, #1 8024ee4: 4a0b ldr r2, [pc, #44] ; (8024f14 ) 8024ee6: 2147 movs r1, #71 ; 0x47 8024ee8: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'T'; 8024eea: 6dbb ldr r3, [r7, #88] ; 0x58 8024eec: 3302 adds r3, #2 8024eee: 4a09 ldr r2, [pc, #36] ; (8024f14 ) 8024ef0: 2154 movs r1, #84 ; 0x54 8024ef2: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 'R'; 8024ef4: 6dbb ldr r3, [r7, #88] ; 0x58 8024ef6: 3303 adds r3, #3 8024ef8: 4a06 ldr r2, [pc, #24] ; (8024f14 ) 8024efa: 2152 movs r1, #82 ; 0x52 8024efc: 54d1 strb r1, [r2, r3] PointPath[p + 4] = 0; 8024efe: 6dbb ldr r3, [r7, #88] ; 0x58 8024f00: 3304 adds r3, #4 8024f02: 4a04 ldr r2, [pc, #16] ; (8024f14 ) 8024f04: 2100 movs r1, #0 8024f06: 54d1 strb r1, [r2, r3] 8024f08: e06d b.n 8024fe6 8024f0a: bf00 nop 8024f0c: cccccccd .word 0xcccccccd 8024f10: 20022328 .word 0x20022328 8024f14: 200229b4 .word 0x200229b4 8024f18: 080ce4bc .word 0x080ce4bc 8024f1c: 20022e20 .word 0x20022e20 } else if(i < 1000) 8024f20: 6fbb ldr r3, [r7, #120] ; 0x78 8024f22: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8024f26: d25c bcs.n 8024fe2 { PointPath[p - 4] = '('; 8024f28: 6dbb ldr r3, [r7, #88] ; 0x58 8024f2a: 3b04 subs r3, #4 8024f2c: 4a51 ldr r2, [pc, #324] ; (8025074 ) 8024f2e: 2128 movs r1, #40 ; 0x28 8024f30: 54d1 strb r1, [r2, r3] PointPath[p - 3] = (char) ((i / 100) + 48); 8024f32: 6dbb ldr r3, [r7, #88] ; 0x58 8024f34: 3b03 subs r3, #3 8024f36: 6fba ldr r2, [r7, #120] ; 0x78 8024f38: 494f ldr r1, [pc, #316] ; (8025078 ) 8024f3a: fba1 1202 umull r1, r2, r1, r2 8024f3e: 0952 lsrs r2, r2, #5 8024f40: b2d2 uxtb r2, r2 8024f42: 3230 adds r2, #48 ; 0x30 8024f44: b2d1 uxtb r1, r2 8024f46: 4a4b ldr r2, [pc, #300] ; (8025074 ) 8024f48: 54d1 strb r1, [r2, r3] PointPath[p - 2] = (char) (((i % 100) / 10) + 48); 8024f4a: 6dbb ldr r3, [r7, #88] ; 0x58 8024f4c: 1e99 subs r1, r3, #2 8024f4e: 6fba ldr r2, [r7, #120] ; 0x78 8024f50: 4b49 ldr r3, [pc, #292] ; (8025078 ) 8024f52: fba3 0302 umull r0, r3, r3, r2 8024f56: 095b lsrs r3, r3, #5 8024f58: 2064 movs r0, #100 ; 0x64 8024f5a: fb00 f303 mul.w r3, r0, r3 8024f5e: 1ad3 subs r3, r2, r3 8024f60: 4a46 ldr r2, [pc, #280] ; (802507c ) 8024f62: fba2 2303 umull r2, r3, r2, r3 8024f66: 08db lsrs r3, r3, #3 8024f68: b2db uxtb r3, r3 8024f6a: 3330 adds r3, #48 ; 0x30 8024f6c: b2da uxtb r2, r3 8024f6e: 4b41 ldr r3, [pc, #260] ; (8025074 ) 8024f70: 545a strb r2, [r3, r1] PointPath[p - 1] = (char) (((i % 100) % 10) + 48); 8024f72: 6dbb ldr r3, [r7, #88] ; 0x58 8024f74: 1e58 subs r0, r3, #1 8024f76: 6fbb ldr r3, [r7, #120] ; 0x78 8024f78: 4a3f ldr r2, [pc, #252] ; (8025078 ) 8024f7a: fba2 1203 umull r1, r2, r2, r3 8024f7e: 0952 lsrs r2, r2, #5 8024f80: 2164 movs r1, #100 ; 0x64 8024f82: fb01 f202 mul.w r2, r1, r2 8024f86: 1a9a subs r2, r3, r2 8024f88: 4b3c ldr r3, [pc, #240] ; (802507c ) 8024f8a: fba3 1302 umull r1, r3, r3, r2 8024f8e: 08d9 lsrs r1, r3, #3 8024f90: 460b mov r3, r1 8024f92: 009b lsls r3, r3, #2 8024f94: 440b add r3, r1 8024f96: 005b lsls r3, r3, #1 8024f98: 1ad1 subs r1, r2, r3 8024f9a: b2cb uxtb r3, r1 8024f9c: 3330 adds r3, #48 ; 0x30 8024f9e: b2da uxtb r2, r3 8024fa0: 4b34 ldr r3, [pc, #208] ; (8025074 ) 8024fa2: 541a strb r2, [r3, r0] PointPath[p] = ')'; 8024fa4: 4a33 ldr r2, [pc, #204] ; (8025074 ) 8024fa6: 6dbb ldr r3, [r7, #88] ; 0x58 8024fa8: 4413 add r3, r2 8024faa: 2229 movs r2, #41 ; 0x29 8024fac: 701a strb r2, [r3, #0] PointPath[p + 1] = '.'; 8024fae: 6dbb ldr r3, [r7, #88] ; 0x58 8024fb0: 3301 adds r3, #1 8024fb2: 4a30 ldr r2, [pc, #192] ; (8025074 ) 8024fb4: 212e movs r1, #46 ; 0x2e 8024fb6: 54d1 strb r1, [r2, r3] PointPath[p + 2] = 'G'; 8024fb8: 6dbb ldr r3, [r7, #88] ; 0x58 8024fba: 3302 adds r3, #2 8024fbc: 4a2d ldr r2, [pc, #180] ; (8025074 ) 8024fbe: 2147 movs r1, #71 ; 0x47 8024fc0: 54d1 strb r1, [r2, r3] PointPath[p + 3] = 'T'; 8024fc2: 6dbb ldr r3, [r7, #88] ; 0x58 8024fc4: 3303 adds r3, #3 8024fc6: 4a2b ldr r2, [pc, #172] ; (8025074 ) 8024fc8: 2154 movs r1, #84 ; 0x54 8024fca: 54d1 strb r1, [r2, r3] PointPath[p + 4] = 'R'; 8024fcc: 6dbb ldr r3, [r7, #88] ; 0x58 8024fce: 3304 adds r3, #4 8024fd0: 4a28 ldr r2, [pc, #160] ; (8025074 ) 8024fd2: 2152 movs r1, #82 ; 0x52 8024fd4: 54d1 strb r1, [r2, r3] PointPath[p + 5] = 0; 8024fd6: 6dbb ldr r3, [r7, #88] ; 0x58 8024fd8: 3305 adds r3, #5 8024fda: 4a26 ldr r2, [pc, #152] ; (8025074 ) 8024fdc: 2100 movs r1, #0 8024fde: 54d1 strb r1, [r2, r3] 8024fe0: e001 b.n 8024fe6 } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8024fe2: 2301 movs r3, #1 8024fe4: e042 b.n 802506c } res = f_open(&F, PointPath, FA_READ); 8024fe6: 2201 movs r2, #1 8024fe8: 4922 ldr r1, [pc, #136] ; (8025074 ) 8024fea: 4825 ldr r0, [pc, #148] ; (8025080 ) 8024fec: f0a0 ff88 bl 80c5f00 8024ff0: 4603 mov r3, r0 8024ff2: f887 307f strb.w r3, [r7, #127] ; 0x7f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8024ff6: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8024ffa: 2b04 cmp r3, #4 8024ffc: d003 beq.n 8025006 8024ffe: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 8025002: 2b05 cmp r3, #5 8025004: d121 bne.n 802504a { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8025006: 221b movs r2, #27 8025008: 491a ldr r1, [pc, #104] ; (8025074 ) 802500a: 481d ldr r0, [pc, #116] ; (8025080 ) 802500c: f0a0 ff78 bl 80c5f00 8025010: 4603 mov r3, r0 8025012: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res == FR_OK) 8025016: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802501a: 2b00 cmp r3, #0 802501c: d113 bne.n 8025046 { //f_sync(&F); res = WriteHeaderGTR(&F); 802501e: 4818 ldr r0, [pc, #96] ; (8025080 ) 8025020: f007 fb60 bl 802c6e4 8025024: 4603 mov r3, r0 8025026: f887 307f strb.w r3, [r7, #127] ; 0x7f if(res != FR_OK) 802502a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802502e: 2b00 cmp r3, #0 8025030: d007 beq.n 8025042 { f_close(&F); 8025032: 4813 ldr r0, [pc, #76] ; (8025080 ) 8025034: f0a1 fda8 bl 80c6b88 f_unlink(PointPath); 8025038: 480e ldr r0, [pc, #56] ; (8025074 ) 802503a: f0a2 fa34 bl 80c74a6 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 802503e: 2301 movs r3, #1 8025040: e014 b.n 802506c } else { return FR_OK; 8025042: 2300 movs r3, #0 8025044: e012 b.n 802506c } } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025046: 2301 movs r3, #1 8025048: e010 b.n 802506c } } else if(res != FR_OK) 802504a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 802504e: 2b00 cmp r3, #0 8025050: d001 beq.n 8025056 { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025052: 2301 movs r3, #1 8025054: e00a b.n 802506c } i++; 8025056: 6fbb ldr r3, [r7, #120] ; 0x78 8025058: 3301 adds r3, #1 802505a: 67bb str r3, [r7, #120] ; 0x78 if(i < 10) 802505c: e6d9 b.n 8024e12 } } else { f_close(&F); 802505e: 4808 ldr r0, [pc, #32] ; (8025080 ) 8025060: f0a1 fd92 bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025064: 2301 movs r3, #1 8025066: e001 b.n 802506c } } } //f_mount(&fs, SDPath, 0); return res; 8025068: f897 307f ldrb.w r3, [r7, #127] ; 0x7f } 802506c: 4618 mov r0, r3 802506e: 3780 adds r7, #128 ; 0x80 8025070: 46bd mov sp, r7 8025072: bd80 pop {r7, pc} 8025074: 200229b4 .word 0x200229b4 8025078: 51eb851f .word 0x51eb851f 802507c: cccccccd .word 0xcccccccd 8025080: 20022e20 .word 0x20022e20 08025084 : FRESULT CreateFilePTM(char *fname) //TODO { 8025084: b580 push {r7, lr} 8025086: b086 sub sp, #24 8025088: af00 add r7, sp, #0 802508a: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802508c: 2300 movs r3, #0 802508e: 74fb strb r3, [r7, #19] UINT fk, i; if(CardState != MSD_READY) { 8025090: 4b45 ldr r3, [pc, #276] ; (80251a8 ) 8025092: 781b ldrb r3, [r3, #0] 8025094: b2db uxtb r3, r3 8025096: 2b03 cmp r3, #3 8025098: d001 beq.n 802509e return FR_NOT_READY; 802509a: 2303 movs r3, #3 802509c: e080 b.n 80251a0 } if(res == FR_OK) 802509e: 7cfb ldrb r3, [r7, #19] 80250a0: 2b00 cmp r3, #0 80250a2: d17a bne.n 802519a { memset(PointPath, 0, sizeof(PointPath)); 80250a4: f44f 7200 mov.w r2, #512 ; 0x200 80250a8: 2100 movs r1, #0 80250aa: 4840 ldr r0, [pc, #256] ; (80251ac ) 80250ac: f0a7 ffe8 bl 80cd080 PointPath[0] = '0'; 80250b0: 4b3e ldr r3, [pc, #248] ; (80251ac ) 80250b2: 2230 movs r2, #48 ; 0x30 80250b4: 701a strb r2, [r3, #0] PointPath[1] = ':'; 80250b6: 4b3d ldr r3, [pc, #244] ; (80251ac ) 80250b8: 223a movs r2, #58 ; 0x3a 80250ba: 705a strb r2, [r3, #1] strcat(PointPath, fname); 80250bc: 6879 ldr r1, [r7, #4] 80250be: 483b ldr r0, [pc, #236] ; (80251ac ) 80250c0: f0a8 f8de bl 80cd280 res = f_open(&F, PointPath, FA_READ); 80250c4: 2201 movs r2, #1 80250c6: 4939 ldr r1, [pc, #228] ; (80251ac ) 80250c8: 4839 ldr r0, [pc, #228] ; (80251b0 ) 80250ca: f0a0 ff19 bl 80c5f00 80250ce: 4603 mov r3, r0 80250d0: 74fb strb r3, [r7, #19] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 80250d2: 7cfb ldrb r3, [r7, #19] 80250d4: 2b04 cmp r3, #4 80250d6: d002 beq.n 80250de 80250d8: 7cfb ldrb r3, [r7, #19] 80250da: 2b05 cmp r3, #5 80250dc: d15f bne.n 802519e { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 80250de: 221b movs r2, #27 80250e0: 4932 ldr r1, [pc, #200] ; (80251ac ) 80250e2: 4833 ldr r0, [pc, #204] ; (80251b0 ) 80250e4: f0a0 ff0c bl 80c5f00 80250e8: 4603 mov r3, r0 80250ea: 74fb strb r3, [r7, #19] if(res == FR_OK) 80250ec: 7cfb ldrb r3, [r7, #19] 80250ee: 2b00 cmp r3, #0 80250f0: d151 bne.n 8025196 { f_sync(&F); 80250f2: 482f ldr r0, [pc, #188] ; (80251b0 ) 80250f4: f0a1 fc44 bl 80c6980 ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// memset(sector, 0, sizeof(sector)); 80250f8: f44f 7200 mov.w r2, #512 ; 0x200 80250fc: 2100 movs r1, #0 80250fe: 482d ldr r0, [pc, #180] ; (80251b4 ) 8025100: f0a7 ffbe bl 80cd080 strcpy((char *) sector, "Extend"); 8025104: 4b2b ldr r3, [pc, #172] ; (80251b4 ) 8025106: 4a2c ldr r2, [pc, #176] ; (80251b8 ) 8025108: e892 0003 ldmia.w r2, {r0, r1} 802510c: 6018 str r0, [r3, #0] 802510e: 3304 adds r3, #4 8025110: 8019 strh r1, [r3, #0] 8025112: 3302 adds r3, #2 8025114: 0c0a lsrs r2, r1, #16 8025116: 701a strb r2, [r3, #0] res = f_write(&F, sector, 96, &fk); 8025118: f107 030c add.w r3, r7, #12 802511c: 2260 movs r2, #96 ; 0x60 802511e: 4925 ldr r1, [pc, #148] ; (80251b4 ) 8025120: 4823 ldr r0, [pc, #140] ; (80251b0 ) 8025122: f0a1 fa8d bl 80c6640 8025126: 4603 mov r3, r0 8025128: 74fb strb r3, [r7, #19] if((res == FR_OK) && (fk == 96)) 802512a: 7cfb ldrb r3, [r7, #19] 802512c: 2b00 cmp r3, #0 802512e: d128 bne.n 8025182 8025130: 68fb ldr r3, [r7, #12] 8025132: 2b60 cmp r3, #96 ; 0x60 8025134: d125 bne.n 8025182 { memset(sector, 0, sizeof(sector)); 8025136: f44f 7200 mov.w r2, #512 ; 0x200 802513a: 2100 movs r1, #0 802513c: 481d ldr r0, [pc, #116] ; (80251b4 ) 802513e: f0a7 ff9f bl 80cd080 for(i = 0; i < 80; i++) 8025142: 2300 movs r3, #0 8025144: 617b str r3, [r7, #20] 8025146: e018 b.n 802517a { res = f_write(&F, sector, 500, &fk); 8025148: f107 030c add.w r3, r7, #12 802514c: f44f 72fa mov.w r2, #500 ; 0x1f4 8025150: 4918 ldr r1, [pc, #96] ; (80251b4 ) 8025152: 4817 ldr r0, [pc, #92] ; (80251b0 ) 8025154: f0a1 fa74 bl 80c6640 8025158: 4603 mov r3, r0 802515a: 74fb strb r3, [r7, #19] if((res != FR_OK) || (fk != 500)) 802515c: 7cfb ldrb r3, [r7, #19] 802515e: 2b00 cmp r3, #0 8025160: d103 bne.n 802516a 8025162: 68fb ldr r3, [r7, #12] 8025164: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 8025168: d004 beq.n 8025174 { f_close(&F); 802516a: 4811 ldr r0, [pc, #68] ; (80251b0 ) 802516c: f0a1 fd0c bl 80c6b88 return FR_DISK_ERR; 8025170: 2301 movs r3, #1 8025172: e015 b.n 80251a0 for(i = 0; i < 80; i++) 8025174: 697b ldr r3, [r7, #20] 8025176: 3301 adds r3, #1 8025178: 617b str r3, [r7, #20] 802517a: 697b ldr r3, [r7, #20] 802517c: 2b4f cmp r3, #79 ; 0x4f 802517e: d9e3 bls.n 8025148 if((res == FR_OK) && (fk == 96)) 8025180: e004 b.n 802518c } } } else { f_close(&F); 8025182: 480b ldr r0, [pc, #44] ; (80251b0 ) 8025184: f0a1 fd00 bl 80c6b88 return FR_DISK_ERR; 8025188: 2301 movs r3, #1 802518a: e009 b.n 80251a0 } ////////////////////////////////////////////////////////////////// f_close(&F); 802518c: 4808 ldr r0, [pc, #32] ; (80251b0 ) 802518e: f0a1 fcfb bl 80c6b88 return FR_OK; 8025192: 2300 movs r3, #0 8025194: e004 b.n 80251a0 } else { return FR_DISK_ERR; 8025196: 2301 movs r3, #1 8025198: e002 b.n 80251a0 } } } else { return FR_DISK_ERR; 802519a: 2301 movs r3, #1 802519c: e000 b.n 80251a0 } return res; 802519e: 7cfb ldrb r3, [r7, #19] } 80251a0: 4618 mov r0, r3 80251a2: 3718 adds r7, #24 80251a4: 46bd mov sp, r7 80251a6: bd80 pop {r7, pc} 80251a8: 2002164c .word 0x2002164c 80251ac: 200229b4 .word 0x200229b4 80251b0: 20022e20 .word 0x20022e20 80251b4: 2007c000 .word 0x2007c000 80251b8: 080ce4cc .word 0x080ce4cc 080251bc : FRESULT CreateFileDGN(char *fname) //TODO { 80251bc: b580 push {r7, lr} 80251be: b086 sub sp, #24 80251c0: af00 add r7, sp, #0 80251c2: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 80251c4: 2300 movs r3, #0 80251c6: 74fb strb r3, [r7, #19] UINT fk, i; if(CardState != MSD_READY) { 80251c8: 4b45 ldr r3, [pc, #276] ; (80252e0 ) 80251ca: 781b ldrb r3, [r3, #0] 80251cc: b2db uxtb r3, r3 80251ce: 2b03 cmp r3, #3 80251d0: d001 beq.n 80251d6 return FR_NOT_READY; 80251d2: 2303 movs r3, #3 80251d4: e080 b.n 80252d8 } if(res == FR_OK) 80251d6: 7cfb ldrb r3, [r7, #19] 80251d8: 2b00 cmp r3, #0 80251da: d17a bne.n 80252d2 { memset(PointPath, 0, sizeof(PointPath)); 80251dc: f44f 7200 mov.w r2, #512 ; 0x200 80251e0: 2100 movs r1, #0 80251e2: 4840 ldr r0, [pc, #256] ; (80252e4 ) 80251e4: f0a7 ff4c bl 80cd080 PointPath[0] = '0'; 80251e8: 4b3e ldr r3, [pc, #248] ; (80252e4 ) 80251ea: 2230 movs r2, #48 ; 0x30 80251ec: 701a strb r2, [r3, #0] PointPath[1] = ':'; 80251ee: 4b3d ldr r3, [pc, #244] ; (80252e4 ) 80251f0: 223a movs r2, #58 ; 0x3a 80251f2: 705a strb r2, [r3, #1] strcat(PointPath, fname); 80251f4: 6879 ldr r1, [r7, #4] 80251f6: 483b ldr r0, [pc, #236] ; (80252e4 ) 80251f8: f0a8 f842 bl 80cd280 res = f_open(&F, PointPath, FA_READ); 80251fc: 2201 movs r2, #1 80251fe: 4939 ldr r1, [pc, #228] ; (80252e4 ) 8025200: 4839 ldr r0, [pc, #228] ; (80252e8 ) 8025202: f0a0 fe7d bl 80c5f00 8025206: 4603 mov r3, r0 8025208: 74fb strb r3, [r7, #19] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802520a: 7cfb ldrb r3, [r7, #19] 802520c: 2b04 cmp r3, #4 802520e: d002 beq.n 8025216 8025210: 7cfb ldrb r3, [r7, #19] 8025212: 2b05 cmp r3, #5 8025214: d15f bne.n 80252d6 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8025216: 221b movs r2, #27 8025218: 4932 ldr r1, [pc, #200] ; (80252e4 ) 802521a: 4833 ldr r0, [pc, #204] ; (80252e8 ) 802521c: f0a0 fe70 bl 80c5f00 8025220: 4603 mov r3, r0 8025222: 74fb strb r3, [r7, #19] if(res == FR_OK) 8025224: 7cfb ldrb r3, [r7, #19] 8025226: 2b00 cmp r3, #0 8025228: d151 bne.n 80252ce { f_sync(&F); 802522a: 482f ldr r0, [pc, #188] ; (80252e8 ) 802522c: f0a1 fba8 bl 80c6980 ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// memset(sector, 0, sizeof(sector)); 8025230: f44f 7200 mov.w r2, #512 ; 0x200 8025234: 2100 movs r1, #0 8025236: 482d ldr r0, [pc, #180] ; (80252ec ) 8025238: f0a7 ff22 bl 80cd080 strcpy((char *) sector, "Extend"); 802523c: 4b2b ldr r3, [pc, #172] ; (80252ec ) 802523e: 4a2c ldr r2, [pc, #176] ; (80252f0 ) 8025240: e892 0003 ldmia.w r2, {r0, r1} 8025244: 6018 str r0, [r3, #0] 8025246: 3304 adds r3, #4 8025248: 8019 strh r1, [r3, #0] 802524a: 3302 adds r3, #2 802524c: 0c0a lsrs r2, r1, #16 802524e: 701a strb r2, [r3, #0] res = f_write(&F, sector, 96, &fk); 8025250: f107 030c add.w r3, r7, #12 8025254: 2260 movs r2, #96 ; 0x60 8025256: 4925 ldr r1, [pc, #148] ; (80252ec ) 8025258: 4823 ldr r0, [pc, #140] ; (80252e8 ) 802525a: f0a1 f9f1 bl 80c6640 802525e: 4603 mov r3, r0 8025260: 74fb strb r3, [r7, #19] if((res == FR_OK) && (fk == 96)) 8025262: 7cfb ldrb r3, [r7, #19] 8025264: 2b00 cmp r3, #0 8025266: d128 bne.n 80252ba 8025268: 68fb ldr r3, [r7, #12] 802526a: 2b60 cmp r3, #96 ; 0x60 802526c: d125 bne.n 80252ba { memset(sector, 0, sizeof(sector)); 802526e: f44f 7200 mov.w r2, #512 ; 0x200 8025272: 2100 movs r1, #0 8025274: 481d ldr r0, [pc, #116] ; (80252ec ) 8025276: f0a7 ff03 bl 80cd080 for(i = 0; i < 80; i++) 802527a: 2300 movs r3, #0 802527c: 617b str r3, [r7, #20] 802527e: e018 b.n 80252b2 { res = f_write(&F, sector, 500, &fk); 8025280: f107 030c add.w r3, r7, #12 8025284: f44f 72fa mov.w r2, #500 ; 0x1f4 8025288: 4918 ldr r1, [pc, #96] ; (80252ec ) 802528a: 4817 ldr r0, [pc, #92] ; (80252e8 ) 802528c: f0a1 f9d8 bl 80c6640 8025290: 4603 mov r3, r0 8025292: 74fb strb r3, [r7, #19] if((res != FR_OK) || (fk != 500)) 8025294: 7cfb ldrb r3, [r7, #19] 8025296: 2b00 cmp r3, #0 8025298: d103 bne.n 80252a2 802529a: 68fb ldr r3, [r7, #12] 802529c: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 80252a0: d004 beq.n 80252ac { f_close(&F); 80252a2: 4811 ldr r0, [pc, #68] ; (80252e8 ) 80252a4: f0a1 fc70 bl 80c6b88 return FR_DISK_ERR; 80252a8: 2301 movs r3, #1 80252aa: e015 b.n 80252d8 for(i = 0; i < 80; i++) 80252ac: 697b ldr r3, [r7, #20] 80252ae: 3301 adds r3, #1 80252b0: 617b str r3, [r7, #20] 80252b2: 697b ldr r3, [r7, #20] 80252b4: 2b4f cmp r3, #79 ; 0x4f 80252b6: d9e3 bls.n 8025280 if((res == FR_OK) && (fk == 96)) 80252b8: e004 b.n 80252c4 } } } else { f_close(&F); 80252ba: 480b ldr r0, [pc, #44] ; (80252e8 ) 80252bc: f0a1 fc64 bl 80c6b88 return FR_DISK_ERR; 80252c0: 2301 movs r3, #1 80252c2: e009 b.n 80252d8 } ////////////////////////////////////////////////////////////////// f_close(&F); 80252c4: 4808 ldr r0, [pc, #32] ; (80252e8 ) 80252c6: f0a1 fc5f bl 80c6b88 return FR_OK; 80252ca: 2300 movs r3, #0 80252cc: e004 b.n 80252d8 } else { return FR_DISK_ERR; 80252ce: 2301 movs r3, #1 80252d0: e002 b.n 80252d8 } } } else { return FR_DISK_ERR; 80252d2: 2301 movs r3, #1 80252d4: e000 b.n 80252d8 } return res; 80252d6: 7cfb ldrb r3, [r7, #19] } 80252d8: 4618 mov r0, r3 80252da: 3718 adds r7, #24 80252dc: 46bd mov sp, r7 80252de: bd80 pop {r7, pc} 80252e0: 2002164c .word 0x2002164c 80252e4: 200229b4 .word 0x200229b4 80252e8: 20022e20 .word 0x20022e20 80252ec: 2007c000 .word 0x2007c000 80252f0: 080ce4cc .word 0x080ce4cc 080252f4 : FRESULT CreateFileSPEC(char *fname) { 80252f4: b5b0 push {r4, r5, r7, lr} 80252f6: b092 sub sp, #72 ; 0x48 80252f8: af00 add r7, sp, #0 80252fa: 6078 str r0, [r7, #4] UINT fk; uint32_t l, i; char fn[40]; FRESULT res = FR_OK; 80252fc: 2300 movs r3, #0 80252fe: f887 3043 strb.w r3, [r7, #67] ; 0x43 float32_t fs; if(CardState != MSD_READY) { 8025302: 4bc9 ldr r3, [pc, #804] ; (8025628 ) 8025304: 781b ldrb r3, [r3, #0] 8025306: b2db uxtb r3, r3 8025308: 2b03 cmp r3, #3 802530a: d001 beq.n 8025310 return FR_NOT_READY; 802530c: 2303 movs r3, #3 802530e: e317 b.n 8025940 } strcpy(fn ,fname); 8025310: f107 030c add.w r3, r7, #12 8025314: 6879 ldr r1, [r7, #4] 8025316: 4618 mov r0, r3 8025318: f0a7 ffcf bl 80cd2ba l = strlen(fn); 802531c: f107 030c add.w r3, r7, #12 8025320: 4618 mov r0, r3 8025322: f7fa fff7 bl 8020314 8025326: 63f8 str r0, [r7, #60] ; 0x3c if(fn[l - 4] == '.') 8025328: 6bfb ldr r3, [r7, #60] ; 0x3c 802532a: 3b04 subs r3, #4 802532c: f107 0248 add.w r2, r7, #72 ; 0x48 8025330: 4413 add r3, r2 8025332: f813 3c3c ldrb.w r3, [r3, #-60] 8025336: 2b2e cmp r3, #46 ; 0x2e 8025338: d169 bne.n 802540e { if((fn[l - 3] != 'C') && (fn[l - 3] != 'c')) fn[l - 3] = 'C'; 802533a: 6bfb ldr r3, [r7, #60] ; 0x3c 802533c: 3b03 subs r3, #3 802533e: f107 0248 add.w r2, r7, #72 ; 0x48 8025342: 4413 add r3, r2 8025344: f813 3c3c ldrb.w r3, [r3, #-60] 8025348: 2b43 cmp r3, #67 ; 0x43 802534a: d011 beq.n 8025370 802534c: 6bfb ldr r3, [r7, #60] ; 0x3c 802534e: 3b03 subs r3, #3 8025350: f107 0248 add.w r2, r7, #72 ; 0x48 8025354: 4413 add r3, r2 8025356: f813 3c3c ldrb.w r3, [r3, #-60] 802535a: 2b63 cmp r3, #99 ; 0x63 802535c: d008 beq.n 8025370 802535e: 6bfb ldr r3, [r7, #60] ; 0x3c 8025360: 3b03 subs r3, #3 8025362: f107 0248 add.w r2, r7, #72 ; 0x48 8025366: 4413 add r3, r2 8025368: 2243 movs r2, #67 ; 0x43 802536a: f803 2c3c strb.w r2, [r3, #-60] 802536e: e007 b.n 8025380 else fn[l - 3] = 'C'; 8025370: 6bfb ldr r3, [r7, #60] ; 0x3c 8025372: 3b03 subs r3, #3 8025374: f107 0248 add.w r2, r7, #72 ; 0x48 8025378: 4413 add r3, r2 802537a: 2243 movs r2, #67 ; 0x43 802537c: f803 2c3c strb.w r2, [r3, #-60] if((fn[l - 2] != 'S') && (fn[l - 2] != 's')) fn[l - 2] = 'S'; 8025380: 6bfb ldr r3, [r7, #60] ; 0x3c 8025382: 3b02 subs r3, #2 8025384: f107 0248 add.w r2, r7, #72 ; 0x48 8025388: 4413 add r3, r2 802538a: f813 3c3c ldrb.w r3, [r3, #-60] 802538e: 2b53 cmp r3, #83 ; 0x53 8025390: d011 beq.n 80253b6 8025392: 6bfb ldr r3, [r7, #60] ; 0x3c 8025394: 3b02 subs r3, #2 8025396: f107 0248 add.w r2, r7, #72 ; 0x48 802539a: 4413 add r3, r2 802539c: f813 3c3c ldrb.w r3, [r3, #-60] 80253a0: 2b73 cmp r3, #115 ; 0x73 80253a2: d008 beq.n 80253b6 80253a4: 6bfb ldr r3, [r7, #60] ; 0x3c 80253a6: 3b02 subs r3, #2 80253a8: f107 0248 add.w r2, r7, #72 ; 0x48 80253ac: 4413 add r3, r2 80253ae: 2253 movs r2, #83 ; 0x53 80253b0: f803 2c3c strb.w r2, [r3, #-60] 80253b4: e007 b.n 80253c6 else fn[l - 2] = 'S'; 80253b6: 6bfb ldr r3, [r7, #60] ; 0x3c 80253b8: 3b02 subs r3, #2 80253ba: f107 0248 add.w r2, r7, #72 ; 0x48 80253be: 4413 add r3, r2 80253c0: 2253 movs r2, #83 ; 0x53 80253c2: f803 2c3c strb.w r2, [r3, #-60] if((fn[l - 1] != 'V') && (fn[l - 1] != 'v')) fn[l - 1] = 'V'; 80253c6: 6bfb ldr r3, [r7, #60] ; 0x3c 80253c8: 3b01 subs r3, #1 80253ca: f107 0248 add.w r2, r7, #72 ; 0x48 80253ce: 4413 add r3, r2 80253d0: f813 3c3c ldrb.w r3, [r3, #-60] 80253d4: 2b56 cmp r3, #86 ; 0x56 80253d6: d011 beq.n 80253fc 80253d8: 6bfb ldr r3, [r7, #60] ; 0x3c 80253da: 3b01 subs r3, #1 80253dc: f107 0248 add.w r2, r7, #72 ; 0x48 80253e0: 4413 add r3, r2 80253e2: f813 3c3c ldrb.w r3, [r3, #-60] 80253e6: 2b76 cmp r3, #118 ; 0x76 80253e8: d008 beq.n 80253fc 80253ea: 6bfb ldr r3, [r7, #60] ; 0x3c 80253ec: 3b01 subs r3, #1 80253ee: f107 0248 add.w r2, r7, #72 ; 0x48 80253f2: 4413 add r3, r2 80253f4: 2256 movs r2, #86 ; 0x56 80253f6: f803 2c3c strb.w r2, [r3, #-60] 80253fa: e027 b.n 802544c else fn[l - 1] = 'V'; 80253fc: 6bfb ldr r3, [r7, #60] ; 0x3c 80253fe: 3b01 subs r3, #1 8025400: f107 0248 add.w r2, r7, #72 ; 0x48 8025404: 4413 add r3, r2 8025406: 2256 movs r2, #86 ; 0x56 8025408: f803 2c3c strb.w r2, [r3, #-60] 802540c: e01e b.n 802544c } else { if(l <= 36) 802540e: 6bfb ldr r3, [r7, #60] ; 0x3c 8025410: 2b24 cmp r3, #36 ; 0x24 8025412: d80f bhi.n 8025434 strcat(fn, ".CSV"); 8025414: f107 030c add.w r3, r7, #12 8025418: 4618 mov r0, r3 802541a: f7fa ff7b bl 8020314 802541e: 4603 mov r3, r0 8025420: 461a mov r2, r3 8025422: f107 030c add.w r3, r7, #12 8025426: 4413 add r3, r2 8025428: 4a80 ldr r2, [pc, #512] ; (802562c ) 802542a: 6810 ldr r0, [r2, #0] 802542c: 6018 str r0, [r3, #0] 802542e: 7912 ldrb r2, [r2, #4] 8025430: 711a strb r2, [r3, #4] 8025432: e00b b.n 802544c else { fn[36] = '.'; 8025434: 232e movs r3, #46 ; 0x2e 8025436: f887 3030 strb.w r3, [r7, #48] ; 0x30 fn[37] = 'C'; 802543a: 2343 movs r3, #67 ; 0x43 802543c: f887 3031 strb.w r3, [r7, #49] ; 0x31 fn[38] = 'S'; 8025440: 2353 movs r3, #83 ; 0x53 8025442: f887 3032 strb.w r3, [r7, #50] ; 0x32 fn[39] = 'V'; 8025446: 2356 movs r3, #86 ; 0x56 8025448: f887 3033 strb.w r3, [r7, #51] ; 0x33 } } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802544c: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 8025450: 2b00 cmp r3, #0 8025452: f040 8271 bne.w 8025938 { memset(PointPath, 0, sizeof(PointPath)); 8025456: f44f 7200 mov.w r2, #512 ; 0x200 802545a: 2100 movs r1, #0 802545c: 4874 ldr r0, [pc, #464] ; (8025630 ) 802545e: f0a7 fe0f bl 80cd080 strcpy(PointPath, "0:Spectrum files"); 8025462: 4a73 ldr r2, [pc, #460] ; (8025630 ) 8025464: 4b73 ldr r3, [pc, #460] ; (8025634 ) 8025466: 4615 mov r5, r2 8025468: 461c mov r4, r3 802546a: cc0f ldmia r4!, {r0, r1, r2, r3} 802546c: 6028 str r0, [r5, #0] 802546e: 6069 str r1, [r5, #4] 8025470: 60aa str r2, [r5, #8] 8025472: 60eb str r3, [r5, #12] 8025474: 7823 ldrb r3, [r4, #0] 8025476: 742b strb r3, [r5, #16] res = f_opendir(&dir, PointPath); 8025478: 496d ldr r1, [pc, #436] ; (8025630 ) 802547a: 486f ldr r0, [pc, #444] ; (8025638 ) 802547c: f0a1 fe2d bl 80c70da 8025480: 4603 mov r3, r0 8025482: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res != FR_OK) { 8025486: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 802548a: 2b00 cmp r3, #0 802548c: d005 beq.n 802549a res = f_mkdir(PointPath); 802548e: 4868 ldr r0, [pc, #416] ; (8025630 ) 8025490: f0a2 f8de bl 80c7650 8025494: 4603 mov r3, r0 8025496: f887 3043 strb.w r3, [r7, #67] ; 0x43 } if(res == FR_OK) 802549a: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 802549e: 2b00 cmp r3, #0 80254a0: f040 824c bne.w 802593c { strcat(PointPath, "/"); 80254a4: 4862 ldr r0, [pc, #392] ; (8025630 ) 80254a6: f7fa ff35 bl 8020314 80254aa: 4603 mov r3, r0 80254ac: 461a mov r2, r3 80254ae: 4b60 ldr r3, [pc, #384] ; (8025630 ) 80254b0: 4413 add r3, r2 80254b2: 4962 ldr r1, [pc, #392] ; (802563c ) 80254b4: 461a mov r2, r3 80254b6: 460b mov r3, r1 80254b8: 881b ldrh r3, [r3, #0] 80254ba: 8013 strh r3, [r2, #0] strcat(PointPath, fname); 80254bc: 6879 ldr r1, [r7, #4] 80254be: 485c ldr r0, [pc, #368] ; (8025630 ) 80254c0: f0a7 fede bl 80cd280 res = f_open(&F, PointPath, FA_READ); 80254c4: 2201 movs r2, #1 80254c6: 495a ldr r1, [pc, #360] ; (8025630 ) 80254c8: 485d ldr r0, [pc, #372] ; (8025640 ) 80254ca: f0a0 fd19 bl 80c5f00 80254ce: 4603 mov r3, r0 80254d0: f887 3043 strb.w r3, [r7, #67] ; 0x43 if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 80254d4: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 80254d8: 2b04 cmp r3, #4 80254da: d004 beq.n 80254e6 80254dc: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 80254e0: 2b05 cmp r3, #5 80254e2: f040 8224 bne.w 802592e { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 80254e6: 221b movs r2, #27 80254e8: 4951 ldr r1, [pc, #324] ; (8025630 ) 80254ea: 4855 ldr r0, [pc, #340] ; (8025640 ) 80254ec: f0a0 fd08 bl 80c5f00 80254f0: 4603 mov r3, r0 80254f2: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res == FR_OK) 80254f6: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 80254fa: 2b00 cmp r3, #0 80254fc: f040 8215 bne.w 802592a { f_sync(&F); 8025500: 484f ldr r0, [pc, #316] ; (8025640 ) 8025502: f0a1 fa3d bl 80c6980 memset((void *) sector, 0 , sizeof(sector)); 8025506: f44f 7200 mov.w r2, #512 ; 0x200 802550a: 2100 movs r1, #0 802550c: 484d ldr r0, [pc, #308] ; (8025644 ) 802550e: f0a7 fdb7 bl 80cd080 strcpy((void *) sector, "HP: "); 8025512: 4b4c ldr r3, [pc, #304] ; (8025644 ) 8025514: 4a4c ldr r2, [pc, #304] ; (8025648 ) 8025516: e892 0003 ldmia.w r2, {r0, r1} 802551a: 6018 str r0, [r3, #0] 802551c: 3304 adds r3, #4 802551e: 7019 strb r1, [r3, #0] strcat((void *) sector, (char *) FloatToASCII(pardata.HP, -1)); 8025520: 4b4a ldr r3, [pc, #296] ; (802564c ) 8025522: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8025526: f04f 30ff mov.w r0, #4294967295 802552a: eeb0 0a67 vmov.f32 s0, s15 802552e: f041 f903 bl 8066738 8025532: 4603 mov r3, r0 8025534: 4619 mov r1, r3 8025536: 4843 ldr r0, [pc, #268] ; (8025644 ) 8025538: f0a7 fea2 bl 80cd280 strcat((void *) sector, "\r\n"); 802553c: 4841 ldr r0, [pc, #260] ; (8025644 ) 802553e: f7fa fee9 bl 8020314 8025542: 4603 mov r3, r0 8025544: 461a mov r2, r3 8025546: 4b3f ldr r3, [pc, #252] ; (8025644 ) 8025548: 4413 add r3, r2 802554a: 4a41 ldr r2, [pc, #260] ; (8025650 ) 802554c: 8811 ldrh r1, [r2, #0] 802554e: 7892 ldrb r2, [r2, #2] 8025550: 8019 strh r1, [r3, #0] 8025552: 709a strb r2, [r3, #2] l = strlen((void *) sector); 8025554: 483b ldr r0, [pc, #236] ; (8025644 ) 8025556: f7fa fedd bl 8020314 802555a: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 802555c: f107 0334 add.w r3, r7, #52 ; 0x34 8025560: 6bfa ldr r2, [r7, #60] ; 0x3c 8025562: 4938 ldr r1, [pc, #224] ; (8025644 ) 8025564: 4836 ldr r0, [pc, #216] ; (8025640 ) 8025566: f0a1 f86b bl 80c6640 802556a: 4603 mov r3, r0 802556c: f887 3043 strb.w r3, [r7, #67] ; 0x43 memset((void *) sector, 0 , sizeof(sector)); 8025570: f44f 7200 mov.w r2, #512 ; 0x200 8025574: 2100 movs r1, #0 8025576: 4833 ldr r0, [pc, #204] ; (8025644 ) 8025578: f0a7 fd82 bl 80cd080 strcpy((void *) sector, "LP: "); 802557c: 4b31 ldr r3, [pc, #196] ; (8025644 ) 802557e: 4a35 ldr r2, [pc, #212] ; (8025654 ) 8025580: e892 0003 ldmia.w r2, {r0, r1} 8025584: 6018 str r0, [r3, #0] 8025586: 3304 adds r3, #4 8025588: 7019 strb r1, [r3, #0] strcat((void *) sector, (char *) FloatToASCII(pardata.LP, -1)); 802558a: 4b30 ldr r3, [pc, #192] ; (802564c ) 802558c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8025590: f04f 30ff mov.w r0, #4294967295 8025594: eeb0 0a67 vmov.f32 s0, s15 8025598: f041 f8ce bl 8066738 802559c: 4603 mov r3, r0 802559e: 4619 mov r1, r3 80255a0: 4828 ldr r0, [pc, #160] ; (8025644 ) 80255a2: f0a7 fe6d bl 80cd280 strcat((void *) sector, "\r\n"); 80255a6: 4827 ldr r0, [pc, #156] ; (8025644 ) 80255a8: f7fa feb4 bl 8020314 80255ac: 4603 mov r3, r0 80255ae: 461a mov r2, r3 80255b0: 4b24 ldr r3, [pc, #144] ; (8025644 ) 80255b2: 4413 add r3, r2 80255b4: 4a26 ldr r2, [pc, #152] ; (8025650 ) 80255b6: 8811 ldrh r1, [r2, #0] 80255b8: 7892 ldrb r2, [r2, #2] 80255ba: 8019 strh r1, [r3, #0] 80255bc: 709a strb r2, [r3, #2] strcat((void *) sector, "\r\n"); 80255be: 4821 ldr r0, [pc, #132] ; (8025644 ) 80255c0: f7fa fea8 bl 8020314 80255c4: 4603 mov r3, r0 80255c6: 461a mov r2, r3 80255c8: 4b1e ldr r3, [pc, #120] ; (8025644 ) 80255ca: 4413 add r3, r2 80255cc: 4a20 ldr r2, [pc, #128] ; (8025650 ) 80255ce: 8811 ldrh r1, [r2, #0] 80255d0: 7892 ldrb r2, [r2, #2] 80255d2: 8019 strh r1, [r3, #0] 80255d4: 709a strb r2, [r3, #2] strcat((void *) sector, "\r\n"); 80255d6: 481b ldr r0, [pc, #108] ; (8025644 ) 80255d8: f7fa fe9c bl 8020314 80255dc: 4603 mov r3, r0 80255de: 461a mov r2, r3 80255e0: 4b18 ldr r3, [pc, #96] ; (8025644 ) 80255e2: 4413 add r3, r2 80255e4: 4a1a ldr r2, [pc, #104] ; (8025650 ) 80255e6: 8811 ldrh r1, [r2, #0] 80255e8: 7892 ldrb r2, [r2, #2] 80255ea: 8019 strh r1, [r3, #0] 80255ec: 709a strb r2, [r3, #2] l = strlen((void *) sector); 80255ee: 4815 ldr r0, [pc, #84] ; (8025644 ) 80255f0: f7fa fe90 bl 8020314 80255f4: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 80255f6: f107 0334 add.w r3, r7, #52 ; 0x34 80255fa: 6bfa ldr r2, [r7, #60] ; 0x3c 80255fc: 4911 ldr r1, [pc, #68] ; (8025644 ) 80255fe: 4810 ldr r0, [pc, #64] ; (8025640 ) 8025600: f0a1 f81e bl 80c6640 8025604: 4603 mov r3, r0 8025606: f887 3043 strb.w r3, [r7, #67] ; 0x43 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 802560a: 4b10 ldr r3, [pc, #64] ; (802564c ) 802560c: 781b ldrb r3, [r3, #0] 802560e: b2db uxtb r3, r3 8025610: 2b01 cmp r3, #1 8025612: d005 beq.n 8025620 8025614: 4b0d ldr r3, [pc, #52] ; (802564c ) 8025616: 781b ldrb r3, [r3, #0] 8025618: b2db uxtb r3, r3 802561a: 2b05 cmp r3, #5 802561c: f040 809b bne.w 8025756 { for(i = 0; i < (Ns >> 1); i++) 8025620: 2300 movs r3, #0 8025622: 647b str r3, [r7, #68] ; 0x44 8025624: e090 b.n 8025748 8025626: bf00 nop 8025628: 2002164c .word 0x2002164c 802562c: 080ce4d4 .word 0x080ce4d4 8025630: 200229b4 .word 0x200229b4 8025634: 080ce4dc .word 0x080ce4dc 8025638: 20022918 .word 0x20022918 802563c: 080ce4bc .word 0x080ce4bc 8025640: 20022e20 .word 0x20022e20 8025644: 2007c000 .word 0x2007c000 8025648: 080ce4f0 .word 0x080ce4f0 802564c: 20023e60 .word 0x20023e60 8025650: 080ce4f8 .word 0x080ce4f8 8025654: 080ce4fc .word 0x080ce4fc { memset((void *) sector, 0 , sizeof(sector)); 8025658: f44f 7200 mov.w r2, #512 ; 0x200 802565c: 2100 movs r1, #0 802565e: 48ba ldr r0, [pc, #744] ; (8025948 ) 8025660: f0a7 fd0e bl 80cd080 fs = (float32_t) i * Delta_SPC[pardata.FRQ][pardata.LNE]; 8025664: 6c7b ldr r3, [r7, #68] ; 0x44 8025666: ee07 3a90 vmov s15, r3 802566a: eeb8 7a67 vcvt.f32.u32 s14, s15 802566e: 4bb7 ldr r3, [pc, #732] ; (802594c ) 8025670: 7adb ldrb r3, [r3, #11] 8025672: b2db uxtb r3, r3 8025674: 4618 mov r0, r3 8025676: 4bb5 ldr r3, [pc, #724] ; (802594c ) 8025678: 79db ldrb r3, [r3, #7] 802567a: b2db uxtb r3, r3 802567c: 4619 mov r1, r3 802567e: 4ab4 ldr r2, [pc, #720] ; (8025950 ) 8025680: 0083 lsls r3, r0, #2 8025682: 440b add r3, r1 8025684: 009b lsls r3, r3, #2 8025686: 4413 add r3, r2 8025688: edd3 7a00 vldr s15, [r3] 802568c: ee67 7a27 vmul.f32 s15, s14, s15 8025690: edc7 7a0e vstr s15, [r7, #56] ; 0x38 strcpy((void *) sector, (char *) FloatToASCII(fs, -6)); 8025694: f06f 0005 mvn.w r0, #5 8025698: ed97 0a0e vldr s0, [r7, #56] ; 0x38 802569c: f041 f84c bl 8066738 80256a0: 4603 mov r3, r0 80256a2: 4619 mov r1, r3 80256a4: 48a8 ldr r0, [pc, #672] ; (8025948 ) 80256a6: f0a7 fe08 bl 80cd2ba strcat((void *) sector, ";"); 80256aa: 48a7 ldr r0, [pc, #668] ; (8025948 ) 80256ac: f7fa fe32 bl 8020314 80256b0: 4603 mov r3, r0 80256b2: 461a mov r2, r3 80256b4: 4ba4 ldr r3, [pc, #656] ; (8025948 ) 80256b6: 4413 add r3, r2 80256b8: 49a6 ldr r1, [pc, #664] ; (8025954 ) 80256ba: 461a mov r2, r3 80256bc: 460b mov r3, r1 80256be: 881b ldrh r3, [r3, #0] 80256c0: 8013 strh r3, [r2, #0] strcat((void *) sector, (char *) FloatToASCII(ScrA_f32(i), -6)); 80256c2: 6c7b ldr r3, [r7, #68] ; 0x44 80256c4: 009a lsls r2, r3, #2 80256c6: 4ba4 ldr r3, [pc, #656] ; (8025958 ) 80256c8: 4413 add r3, r2 80256ca: edd3 7a00 vldr s15, [r3] 80256ce: f06f 0005 mvn.w r0, #5 80256d2: eeb0 0a67 vmov.f32 s0, s15 80256d6: f041 f82f bl 8066738 80256da: 4603 mov r3, r0 80256dc: 4619 mov r1, r3 80256de: 489a ldr r0, [pc, #616] ; (8025948 ) 80256e0: f0a7 fdce bl 80cd280 strcat((void *) sector, ";"); 80256e4: 4898 ldr r0, [pc, #608] ; (8025948 ) 80256e6: f7fa fe15 bl 8020314 80256ea: 4603 mov r3, r0 80256ec: 461a mov r2, r3 80256ee: 4b96 ldr r3, [pc, #600] ; (8025948 ) 80256f0: 4413 add r3, r2 80256f2: 4998 ldr r1, [pc, #608] ; (8025954 ) 80256f4: 461a mov r2, r3 80256f6: 460b mov r3, r1 80256f8: 881b ldrh r3, [r3, #0] 80256fa: 8013 strh r3, [r2, #0] strcat((void *) sector, "\r\n"); 80256fc: 4892 ldr r0, [pc, #584] ; (8025948 ) 80256fe: f7fa fe09 bl 8020314 8025702: 4603 mov r3, r0 8025704: 461a mov r2, r3 8025706: 4b90 ldr r3, [pc, #576] ; (8025948 ) 8025708: 4413 add r3, r2 802570a: 4a94 ldr r2, [pc, #592] ; (802595c ) 802570c: 8811 ldrh r1, [r2, #0] 802570e: 7892 ldrb r2, [r2, #2] 8025710: 8019 strh r1, [r3, #0] 8025712: 709a strb r2, [r3, #2] l = strlen((void *) sector); 8025714: 488c ldr r0, [pc, #560] ; (8025948 ) 8025716: f7fa fdfd bl 8020314 802571a: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 802571c: f107 0334 add.w r3, r7, #52 ; 0x34 8025720: 6bfa ldr r2, [r7, #60] ; 0x3c 8025722: 4989 ldr r1, [pc, #548] ; (8025948 ) 8025724: 488e ldr r0, [pc, #568] ; (8025960 ) 8025726: f0a0 ff8b bl 80c6640 802572a: 4603 mov r3, r0 802572c: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res != FR_OK) 8025730: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 8025734: 2b00 cmp r3, #0 8025736: d004 beq.n 8025742 { f_close(&F); 8025738: 4889 ldr r0, [pc, #548] ; (8025960 ) 802573a: f0a1 fa25 bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 802573e: 2301 movs r3, #1 8025740: e0fe b.n 8025940 for(i = 0; i < (Ns >> 1); i++) 8025742: 6c7b ldr r3, [r7, #68] ; 0x44 8025744: 3301 adds r3, #1 8025746: 647b str r3, [r7, #68] ; 0x44 8025748: 4b86 ldr r3, [pc, #536] ; (8025964 ) 802574a: 681b ldr r3, [r3, #0] 802574c: 085a lsrs r2, r3, #1 802574e: 6c7b ldr r3, [r7, #68] ; 0x44 8025750: 429a cmp r2, r3 8025752: d881 bhi.n 8025658 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 8025754: e0e2 b.n 802591c } } } else if(pardata.SYG == SPEC_OKT) 8025756: 4b7d ldr r3, [pc, #500] ; (802594c ) 8025758: 781b ldrb r3, [r3, #0] 802575a: b2db uxtb r3, r3 802575c: 2b06 cmp r3, #6 802575e: d16c bne.n 802583a { for(i = 0; i < 14; i++) 8025760: 2300 movs r3, #0 8025762: 647b str r3, [r7, #68] ; 0x44 8025764: e065 b.n 8025832 { memset((void *) sector, 0 , sizeof(sector)); 8025766: f44f 7200 mov.w r2, #512 ; 0x200 802576a: 2100 movs r1, #0 802576c: 4876 ldr r0, [pc, #472] ; (8025948 ) 802576e: f0a7 fc87 bl 80cd080 fs = OCTAVES[i]; 8025772: 4a7d ldr r2, [pc, #500] ; (8025968 ) 8025774: 6c7b ldr r3, [r7, #68] ; 0x44 8025776: 009b lsls r3, r3, #2 8025778: 4413 add r3, r2 802577a: 681b ldr r3, [r3, #0] 802577c: 63bb str r3, [r7, #56] ; 0x38 strcpy((void *) sector, (char *) FloatToASCII(fs, -6)); 802577e: f06f 0005 mvn.w r0, #5 8025782: ed97 0a0e vldr s0, [r7, #56] ; 0x38 8025786: f040 ffd7 bl 8066738 802578a: 4603 mov r3, r0 802578c: 4619 mov r1, r3 802578e: 486e ldr r0, [pc, #440] ; (8025948 ) 8025790: f0a7 fd93 bl 80cd2ba strcat((void *) sector, ";"); 8025794: 486c ldr r0, [pc, #432] ; (8025948 ) 8025796: f7fa fdbd bl 8020314 802579a: 4603 mov r3, r0 802579c: 461a mov r2, r3 802579e: 4b6a ldr r3, [pc, #424] ; (8025948 ) 80257a0: 4413 add r3, r2 80257a2: 496c ldr r1, [pc, #432] ; (8025954 ) 80257a4: 461a mov r2, r3 80257a6: 460b mov r3, r1 80257a8: 881b ldrh r3, [r3, #0] 80257aa: 8013 strh r3, [r2, #0] strcat((void *) sector, (char *) FloatToASCII(ScrA_f32(i), -6)); 80257ac: 6c7b ldr r3, [r7, #68] ; 0x44 80257ae: 009a lsls r2, r3, #2 80257b0: 4b69 ldr r3, [pc, #420] ; (8025958 ) 80257b2: 4413 add r3, r2 80257b4: edd3 7a00 vldr s15, [r3] 80257b8: f06f 0005 mvn.w r0, #5 80257bc: eeb0 0a67 vmov.f32 s0, s15 80257c0: f040 ffba bl 8066738 80257c4: 4603 mov r3, r0 80257c6: 4619 mov r1, r3 80257c8: 485f ldr r0, [pc, #380] ; (8025948 ) 80257ca: f0a7 fd59 bl 80cd280 strcat((void *) sector, ";"); 80257ce: 485e ldr r0, [pc, #376] ; (8025948 ) 80257d0: f7fa fda0 bl 8020314 80257d4: 4603 mov r3, r0 80257d6: 461a mov r2, r3 80257d8: 4b5b ldr r3, [pc, #364] ; (8025948 ) 80257da: 4413 add r3, r2 80257dc: 495d ldr r1, [pc, #372] ; (8025954 ) 80257de: 461a mov r2, r3 80257e0: 460b mov r3, r1 80257e2: 881b ldrh r3, [r3, #0] 80257e4: 8013 strh r3, [r2, #0] strcat((void *) sector, "\r\n"); 80257e6: 4858 ldr r0, [pc, #352] ; (8025948 ) 80257e8: f7fa fd94 bl 8020314 80257ec: 4603 mov r3, r0 80257ee: 461a mov r2, r3 80257f0: 4b55 ldr r3, [pc, #340] ; (8025948 ) 80257f2: 4413 add r3, r2 80257f4: 4a59 ldr r2, [pc, #356] ; (802595c ) 80257f6: 8811 ldrh r1, [r2, #0] 80257f8: 7892 ldrb r2, [r2, #2] 80257fa: 8019 strh r1, [r3, #0] 80257fc: 709a strb r2, [r3, #2] l = strlen((void *) sector); 80257fe: 4852 ldr r0, [pc, #328] ; (8025948 ) 8025800: f7fa fd88 bl 8020314 8025804: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 8025806: f107 0334 add.w r3, r7, #52 ; 0x34 802580a: 6bfa ldr r2, [r7, #60] ; 0x3c 802580c: 494e ldr r1, [pc, #312] ; (8025948 ) 802580e: 4854 ldr r0, [pc, #336] ; (8025960 ) 8025810: f0a0 ff16 bl 80c6640 8025814: 4603 mov r3, r0 8025816: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res != FR_OK) 802581a: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 802581e: 2b00 cmp r3, #0 8025820: d004 beq.n 802582c { f_close(&F); 8025822: 484f ldr r0, [pc, #316] ; (8025960 ) 8025824: f0a1 f9b0 bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025828: 2301 movs r3, #1 802582a: e089 b.n 8025940 for(i = 0; i < 14; i++) 802582c: 6c7b ldr r3, [r7, #68] ; 0x44 802582e: 3301 adds r3, #1 8025830: 647b str r3, [r7, #68] ; 0x44 8025832: 6c7b ldr r3, [r7, #68] ; 0x44 8025834: 2b0d cmp r3, #13 8025836: d996 bls.n 8025766 8025838: e070 b.n 802591c } } } else if(pardata.SYG == SPEC_THIRD) 802583a: 4b44 ldr r3, [pc, #272] ; (802594c ) 802583c: 781b ldrb r3, [r3, #0] 802583e: b2db uxtb r3, r3 8025840: 2b07 cmp r3, #7 8025842: d16b bne.n 802591c { for(i = 0; i < 39; i++) 8025844: 2300 movs r3, #0 8025846: 647b str r3, [r7, #68] ; 0x44 8025848: e065 b.n 8025916 { memset((void *) sector, 0 , sizeof(sector)); 802584a: f44f 7200 mov.w r2, #512 ; 0x200 802584e: 2100 movs r1, #0 8025850: 483d ldr r0, [pc, #244] ; (8025948 ) 8025852: f0a7 fc15 bl 80cd080 fs = THIRD[i]; 8025856: 4a45 ldr r2, [pc, #276] ; (802596c ) 8025858: 6c7b ldr r3, [r7, #68] ; 0x44 802585a: 009b lsls r3, r3, #2 802585c: 4413 add r3, r2 802585e: 681b ldr r3, [r3, #0] 8025860: 63bb str r3, [r7, #56] ; 0x38 strcpy((void *) sector, (char *) FloatToASCII(fs, -6)); 8025862: f06f 0005 mvn.w r0, #5 8025866: ed97 0a0e vldr s0, [r7, #56] ; 0x38 802586a: f040 ff65 bl 8066738 802586e: 4603 mov r3, r0 8025870: 4619 mov r1, r3 8025872: 4835 ldr r0, [pc, #212] ; (8025948 ) 8025874: f0a7 fd21 bl 80cd2ba strcat((void *) sector, ";"); 8025878: 4833 ldr r0, [pc, #204] ; (8025948 ) 802587a: f7fa fd4b bl 8020314 802587e: 4603 mov r3, r0 8025880: 461a mov r2, r3 8025882: 4b31 ldr r3, [pc, #196] ; (8025948 ) 8025884: 4413 add r3, r2 8025886: 4933 ldr r1, [pc, #204] ; (8025954 ) 8025888: 461a mov r2, r3 802588a: 460b mov r3, r1 802588c: 881b ldrh r3, [r3, #0] 802588e: 8013 strh r3, [r2, #0] strcat((void *) sector, (char *) FloatToASCII(ScrA_f32(i), -6)); 8025890: 6c7b ldr r3, [r7, #68] ; 0x44 8025892: 009a lsls r2, r3, #2 8025894: 4b30 ldr r3, [pc, #192] ; (8025958 ) 8025896: 4413 add r3, r2 8025898: edd3 7a00 vldr s15, [r3] 802589c: f06f 0005 mvn.w r0, #5 80258a0: eeb0 0a67 vmov.f32 s0, s15 80258a4: f040 ff48 bl 8066738 80258a8: 4603 mov r3, r0 80258aa: 4619 mov r1, r3 80258ac: 4826 ldr r0, [pc, #152] ; (8025948 ) 80258ae: f0a7 fce7 bl 80cd280 strcat((void *) sector, ";"); 80258b2: 4825 ldr r0, [pc, #148] ; (8025948 ) 80258b4: f7fa fd2e bl 8020314 80258b8: 4603 mov r3, r0 80258ba: 461a mov r2, r3 80258bc: 4b22 ldr r3, [pc, #136] ; (8025948 ) 80258be: 4413 add r3, r2 80258c0: 4924 ldr r1, [pc, #144] ; (8025954 ) 80258c2: 461a mov r2, r3 80258c4: 460b mov r3, r1 80258c6: 881b ldrh r3, [r3, #0] 80258c8: 8013 strh r3, [r2, #0] strcat((void *) sector, "\r\n"); 80258ca: 481f ldr r0, [pc, #124] ; (8025948 ) 80258cc: f7fa fd22 bl 8020314 80258d0: 4603 mov r3, r0 80258d2: 461a mov r2, r3 80258d4: 4b1c ldr r3, [pc, #112] ; (8025948 ) 80258d6: 4413 add r3, r2 80258d8: 4a20 ldr r2, [pc, #128] ; (802595c ) 80258da: 8811 ldrh r1, [r2, #0] 80258dc: 7892 ldrb r2, [r2, #2] 80258de: 8019 strh r1, [r3, #0] 80258e0: 709a strb r2, [r3, #2] l = strlen((void *) sector); 80258e2: 4819 ldr r0, [pc, #100] ; (8025948 ) 80258e4: f7fa fd16 bl 8020314 80258e8: 63f8 str r0, [r7, #60] ; 0x3c res = f_write(&F, (void *) sector, (UINT) l, &fk); 80258ea: f107 0334 add.w r3, r7, #52 ; 0x34 80258ee: 6bfa ldr r2, [r7, #60] ; 0x3c 80258f0: 4915 ldr r1, [pc, #84] ; (8025948 ) 80258f2: 481b ldr r0, [pc, #108] ; (8025960 ) 80258f4: f0a0 fea4 bl 80c6640 80258f8: 4603 mov r3, r0 80258fa: f887 3043 strb.w r3, [r7, #67] ; 0x43 if(res != FR_OK) 80258fe: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 8025902: 2b00 cmp r3, #0 8025904: d004 beq.n 8025910 { f_close(&F); 8025906: 4816 ldr r0, [pc, #88] ; (8025960 ) 8025908: f0a1 f93e bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 802590c: 2301 movs r3, #1 802590e: e017 b.n 8025940 for(i = 0; i < 39; i++) 8025910: 6c7b ldr r3, [r7, #68] ; 0x44 8025912: 3301 adds r3, #1 8025914: 647b str r3, [r7, #68] ; 0x44 8025916: 6c7b ldr r3, [r7, #68] ; 0x44 8025918: 2b26 cmp r3, #38 ; 0x26 802591a: d996 bls.n 802584a } } } res = FR_OK; 802591c: 2300 movs r3, #0 802591e: f887 3043 strb.w r3, [r7, #67] ; 0x43 f_close(&F); 8025922: 480f ldr r0, [pc, #60] ; (8025960 ) 8025924: f0a1 f930 bl 80c6b88 if(res == FR_OK) 8025928: e008 b.n 802593c } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 802592a: 2301 movs r3, #1 802592c: e008 b.n 8025940 } } else { f_close(&F); 802592e: 480c ldr r0, [pc, #48] ; (8025960 ) 8025930: f0a1 f92a bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_EXIST; 8025934: 2308 movs r3, #8 8025936: e003 b.n 8025940 } } } else { return FR_DISK_ERR; 8025938: 2301 movs r3, #1 802593a: e001 b.n 8025940 } //f_mount(&fs, SDPath, 0); return res; 802593c: f897 3043 ldrb.w r3, [r7, #67] ; 0x43 } 8025940: 4618 mov r0, r3 8025942: 3748 adds r7, #72 ; 0x48 8025944: 46bd mov sp, r7 8025946: bdb0 pop {r4, r5, r7, pc} 8025948: 2007c000 .word 0x2007c000 802594c: 20023e60 .word 0x20023e60 8025950: 080d0e14 .word 0x080d0e14 8025954: 080ce504 .word 0x080ce504 8025958: 64080000 .word 0x64080000 802595c: 080ce4f8 .word 0x080ce4f8 8025960: 20022e20 .word 0x20022e20 8025964: 20021cdc .word 0x20021cdc 8025968: 080d0eb4 .word 0x080d0eb4 802596c: 080d0ef0 .word 0x080d0ef0 08025970 : FRESULT CreateFileFRN(char *fname) { 8025970: b590 push {r4, r7, lr} 8025972: b091 sub sp, #68 ; 0x44 8025974: af00 add r7, sp, #0 8025976: 6078 str r0, [r7, #4] UINT fk; uint32_t l; char fn[40]; FRESULT res = FR_OK; 8025978: 2300 movs r3, #0 802597a: f887 303f strb.w r3, [r7, #63] ; 0x3f //TimeDate_TypeDef TD; if(CardState != MSD_READY) { 802597e: 4bc9 ldr r3, [pc, #804] ; (8025ca4 ) 8025980: 781b ldrb r3, [r3, #0] 8025982: b2db uxtb r3, r3 8025984: 2b03 cmp r3, #3 8025986: d001 beq.n 802598c return FR_NOT_READY; 8025988: 2303 movs r3, #3 802598a: e1c0 b.n 8025d0e } strcpy(fn ,fname); 802598c: f107 030c add.w r3, r7, #12 8025990: 6879 ldr r1, [r7, #4] 8025992: 4618 mov r0, r3 8025994: f0a7 fc91 bl 80cd2ba l = strlen(fn); 8025998: f107 030c add.w r3, r7, #12 802599c: 4618 mov r0, r3 802599e: f7fa fcb9 bl 8020314 80259a2: 63b8 str r0, [r7, #56] ; 0x38 if(fn[l - 4] == '.') 80259a4: 6bbb ldr r3, [r7, #56] ; 0x38 80259a6: 3b04 subs r3, #4 80259a8: f107 0240 add.w r2, r7, #64 ; 0x40 80259ac: 4413 add r3, r2 80259ae: f813 3c34 ldrb.w r3, [r3, #-52] 80259b2: 2b2e cmp r3, #46 ; 0x2e 80259b4: d169 bne.n 8025a8a { if((fn[l - 3] != 'F') && (fn[l - 3] != 'f')) fn[l - 3] = 'F'; 80259b6: 6bbb ldr r3, [r7, #56] ; 0x38 80259b8: 3b03 subs r3, #3 80259ba: f107 0240 add.w r2, r7, #64 ; 0x40 80259be: 4413 add r3, r2 80259c0: f813 3c34 ldrb.w r3, [r3, #-52] 80259c4: 2b46 cmp r3, #70 ; 0x46 80259c6: d011 beq.n 80259ec 80259c8: 6bbb ldr r3, [r7, #56] ; 0x38 80259ca: 3b03 subs r3, #3 80259cc: f107 0240 add.w r2, r7, #64 ; 0x40 80259d0: 4413 add r3, r2 80259d2: f813 3c34 ldrb.w r3, [r3, #-52] 80259d6: 2b66 cmp r3, #102 ; 0x66 80259d8: d008 beq.n 80259ec 80259da: 6bbb ldr r3, [r7, #56] ; 0x38 80259dc: 3b03 subs r3, #3 80259de: f107 0240 add.w r2, r7, #64 ; 0x40 80259e2: 4413 add r3, r2 80259e4: 2246 movs r2, #70 ; 0x46 80259e6: f803 2c34 strb.w r2, [r3, #-52] 80259ea: e007 b.n 80259fc else fn[l - 3] = 'F'; 80259ec: 6bbb ldr r3, [r7, #56] ; 0x38 80259ee: 3b03 subs r3, #3 80259f0: f107 0240 add.w r2, r7, #64 ; 0x40 80259f4: 4413 add r3, r2 80259f6: 2246 movs r2, #70 ; 0x46 80259f8: f803 2c34 strb.w r2, [r3, #-52] if((fn[l - 2] != 'R') && (fn[l - 3] != 'r')) fn[l - 3] = 'R'; 80259fc: 6bbb ldr r3, [r7, #56] ; 0x38 80259fe: 3b02 subs r3, #2 8025a00: f107 0240 add.w r2, r7, #64 ; 0x40 8025a04: 4413 add r3, r2 8025a06: f813 3c34 ldrb.w r3, [r3, #-52] 8025a0a: 2b52 cmp r3, #82 ; 0x52 8025a0c: d011 beq.n 8025a32 8025a0e: 6bbb ldr r3, [r7, #56] ; 0x38 8025a10: 3b03 subs r3, #3 8025a12: f107 0240 add.w r2, r7, #64 ; 0x40 8025a16: 4413 add r3, r2 8025a18: f813 3c34 ldrb.w r3, [r3, #-52] 8025a1c: 2b72 cmp r3, #114 ; 0x72 8025a1e: d008 beq.n 8025a32 8025a20: 6bbb ldr r3, [r7, #56] ; 0x38 8025a22: 3b03 subs r3, #3 8025a24: f107 0240 add.w r2, r7, #64 ; 0x40 8025a28: 4413 add r3, r2 8025a2a: 2252 movs r2, #82 ; 0x52 8025a2c: f803 2c34 strb.w r2, [r3, #-52] 8025a30: e007 b.n 8025a42 else fn[l - 3] = 'R'; 8025a32: 6bbb ldr r3, [r7, #56] ; 0x38 8025a34: 3b03 subs r3, #3 8025a36: f107 0240 add.w r2, r7, #64 ; 0x40 8025a3a: 4413 add r3, r2 8025a3c: 2252 movs r2, #82 ; 0x52 8025a3e: f803 2c34 strb.w r2, [r3, #-52] if((fn[l - 1] != 'N') && (fn[l - 3] != 'n')) fn[l - 3] = 'N'; 8025a42: 6bbb ldr r3, [r7, #56] ; 0x38 8025a44: 3b01 subs r3, #1 8025a46: f107 0240 add.w r2, r7, #64 ; 0x40 8025a4a: 4413 add r3, r2 8025a4c: f813 3c34 ldrb.w r3, [r3, #-52] 8025a50: 2b4e cmp r3, #78 ; 0x4e 8025a52: d011 beq.n 8025a78 8025a54: 6bbb ldr r3, [r7, #56] ; 0x38 8025a56: 3b03 subs r3, #3 8025a58: f107 0240 add.w r2, r7, #64 ; 0x40 8025a5c: 4413 add r3, r2 8025a5e: f813 3c34 ldrb.w r3, [r3, #-52] 8025a62: 2b6e cmp r3, #110 ; 0x6e 8025a64: d008 beq.n 8025a78 8025a66: 6bbb ldr r3, [r7, #56] ; 0x38 8025a68: 3b03 subs r3, #3 8025a6a: f107 0240 add.w r2, r7, #64 ; 0x40 8025a6e: 4413 add r3, r2 8025a70: 224e movs r2, #78 ; 0x4e 8025a72: f803 2c34 strb.w r2, [r3, #-52] 8025a76: e027 b.n 8025ac8 else fn[l - 3] = 'N'; 8025a78: 6bbb ldr r3, [r7, #56] ; 0x38 8025a7a: 3b03 subs r3, #3 8025a7c: f107 0240 add.w r2, r7, #64 ; 0x40 8025a80: 4413 add r3, r2 8025a82: 224e movs r2, #78 ; 0x4e 8025a84: f803 2c34 strb.w r2, [r3, #-52] 8025a88: e01e b.n 8025ac8 } else { if(l <= 36) 8025a8a: 6bbb ldr r3, [r7, #56] ; 0x38 8025a8c: 2b24 cmp r3, #36 ; 0x24 8025a8e: d80f bhi.n 8025ab0 strcat(fn, ".FRN"); 8025a90: f107 030c add.w r3, r7, #12 8025a94: 4618 mov r0, r3 8025a96: f7fa fc3d bl 8020314 8025a9a: 4603 mov r3, r0 8025a9c: 461a mov r2, r3 8025a9e: f107 030c add.w r3, r7, #12 8025aa2: 4413 add r3, r2 8025aa4: 4a80 ldr r2, [pc, #512] ; (8025ca8 ) 8025aa6: 6810 ldr r0, [r2, #0] 8025aa8: 6018 str r0, [r3, #0] 8025aaa: 7912 ldrb r2, [r2, #4] 8025aac: 711a strb r2, [r3, #4] 8025aae: e00b b.n 8025ac8 else { fn[36] = '.'; 8025ab0: 232e movs r3, #46 ; 0x2e 8025ab2: f887 3030 strb.w r3, [r7, #48] ; 0x30 fn[37] = 'F'; 8025ab6: 2346 movs r3, #70 ; 0x46 8025ab8: f887 3031 strb.w r3, [r7, #49] ; 0x31 fn[38] = 'R'; 8025abc: 2352 movs r3, #82 ; 0x52 8025abe: f887 3032 strb.w r3, [r7, #50] ; 0x32 fn[39] = 'N'; 8025ac2: 234e movs r3, #78 ; 0x4e 8025ac4: f887 3033 strb.w r3, [r7, #51] ; 0x33 } } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 8025ac8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025acc: 2b00 cmp r3, #0 8025ace: f040 811a bne.w 8025d06 { memset(PointPath, 0, sizeof(PointPath)); 8025ad2: f44f 7200 mov.w r2, #512 ; 0x200 8025ad6: 2100 movs r1, #0 8025ad8: 4874 ldr r0, [pc, #464] ; (8025cac ) 8025ada: f0a7 fad1 bl 80cd080 strcpy(PointPath, "0:Data files"); 8025ade: 4a73 ldr r2, [pc, #460] ; (8025cac ) 8025ae0: 4b73 ldr r3, [pc, #460] ; (8025cb0 ) 8025ae2: 4614 mov r4, r2 8025ae4: cb07 ldmia r3!, {r0, r1, r2} 8025ae6: 6020 str r0, [r4, #0] 8025ae8: 6061 str r1, [r4, #4] 8025aea: 60a2 str r2, [r4, #8] 8025aec: 781b ldrb r3, [r3, #0] 8025aee: 7323 strb r3, [r4, #12] res = f_opendir(&dir, PointPath); 8025af0: 496e ldr r1, [pc, #440] ; (8025cac ) 8025af2: 4870 ldr r0, [pc, #448] ; (8025cb4 ) 8025af4: f0a1 faf1 bl 80c70da 8025af8: 4603 mov r3, r0 8025afa: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res != FR_OK) { 8025afe: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025b02: 2b00 cmp r3, #0 8025b04: d005 beq.n 8025b12 res = f_mkdir(PointPath); 8025b06: 4869 ldr r0, [pc, #420] ; (8025cac ) 8025b08: f0a1 fda2 bl 80c7650 8025b0c: 4603 mov r3, r0 8025b0e: f887 303f strb.w r3, [r7, #63] ; 0x3f } if(res == FR_OK) 8025b12: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025b16: 2b00 cmp r3, #0 8025b18: f040 80f7 bne.w 8025d0a { strcat(PointPath, "/"); 8025b1c: 4863 ldr r0, [pc, #396] ; (8025cac ) 8025b1e: f7fa fbf9 bl 8020314 8025b22: 4603 mov r3, r0 8025b24: 461a mov r2, r3 8025b26: 4b61 ldr r3, [pc, #388] ; (8025cac ) 8025b28: 4413 add r3, r2 8025b2a: 4963 ldr r1, [pc, #396] ; (8025cb8 ) 8025b2c: 461a mov r2, r3 8025b2e: 460b mov r3, r1 8025b30: 881b ldrh r3, [r3, #0] 8025b32: 8013 strh r3, [r2, #0] strcat(PointPath, fname); 8025b34: 6879 ldr r1, [r7, #4] 8025b36: 485d ldr r0, [pc, #372] ; (8025cac ) 8025b38: f0a7 fba2 bl 80cd280 res = f_open(&F, PointPath, FA_READ); 8025b3c: 2201 movs r2, #1 8025b3e: 495b ldr r1, [pc, #364] ; (8025cac ) 8025b40: 485e ldr r0, [pc, #376] ; (8025cbc ) 8025b42: f0a0 f9dd bl 80c5f00 8025b46: 4603 mov r3, r0 8025b48: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8025b4c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025b50: 2b04 cmp r3, #4 8025b52: d004 beq.n 8025b5e 8025b54: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025b58: 2b05 cmp r3, #5 8025b5a: f040 80cf bne.w 8025cfc { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8025b5e: 221b movs r2, #27 8025b60: 4952 ldr r1, [pc, #328] ; (8025cac ) 8025b62: 4856 ldr r0, [pc, #344] ; (8025cbc ) 8025b64: f0a0 f9cc bl 80c5f00 8025b68: 4603 mov r3, r0 8025b6a: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8025b6e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025b72: 2b00 cmp r3, #0 8025b74: f040 80c0 bne.w 8025cf8 { f_sync(&F); 8025b78: 4850 ldr r0, [pc, #320] ; (8025cbc ) 8025b7a: f0a0 ff01 bl 80c6980 memset(sector, 0, sizeof(sector)); 8025b7e: f44f 7200 mov.w r2, #512 ; 0x200 8025b82: 2100 movs r1, #0 8025b84: 484e ldr r0, [pc, #312] ; (8025cc0 ) 8025b86: f0a7 fa7b bl 80cd080 memcpy(sector, (uint8_t *) &pardata, sizeof(pardata)); //pardata length is 148 bytes 8025b8a: 4a4d ldr r2, [pc, #308] ; (8025cc0 ) 8025b8c: 4b4d ldr r3, [pc, #308] ; (8025cc4 ) 8025b8e: 4610 mov r0, r2 8025b90: 4619 mov r1, r3 8025b92: f44f 6396 mov.w r3, #1200 ; 0x4b0 8025b96: 461a mov r2, r3 8025b98: f0a7 fa67 bl 80cd06a res = f_write(&F, sector, 512, &fk); 8025b9c: f107 0334 add.w r3, r7, #52 ; 0x34 8025ba0: f44f 7200 mov.w r2, #512 ; 0x200 8025ba4: 4946 ldr r1, [pc, #280] ; (8025cc0 ) 8025ba6: 4845 ldr r0, [pc, #276] ; (8025cbc ) 8025ba8: f0a0 fd4a bl 80c6640 8025bac: 4603 mov r3, r0 8025bae: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8025bb2: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025bb6: 2b00 cmp r3, #0 8025bb8: f040 8099 bne.w 8025cee { arm_fill_f32(0.0f, (float32_t *) SD_Buff, 8192); 8025bbc: f44f 5100 mov.w r1, #8192 ; 0x2000 8025bc0: 4841 ldr r0, [pc, #260] ; (8025cc8 ) 8025bc2: ed9f 0a42 vldr s0, [pc, #264] ; 8025ccc 8025bc6: f0a4 f8b9 bl 80c9d3c arm_copy_f32(pA_Buff_f32, (float32_t *) SD_Buff, Ns); 8025bca: 4b41 ldr r3, [pc, #260] ; (8025cd0 ) 8025bcc: 681b ldr r3, [r3, #0] 8025bce: 461a mov r2, r3 8025bd0: 493d ldr r1, [pc, #244] ; (8025cc8 ) 8025bd2: 4840 ldr r0, [pc, #256] ; (8025cd4 ) 8025bd4: f0a4 f8d0 bl 80c9d78 l = Ns; 8025bd8: 4b3d ldr r3, [pc, #244] ; (8025cd0 ) 8025bda: 681b ldr r3, [r3, #0] 8025bdc: 63bb str r3, [r7, #56] ; 0x38 l <<= 2; 8025bde: 6bbb ldr r3, [r7, #56] ; 0x38 8025be0: 009b lsls r3, r3, #2 8025be2: 63bb str r3, [r7, #56] ; 0x38 res = f_write(&F, (void *) &SD_Buff[0].fl, (UINT) l, &fk); 8025be4: f107 0334 add.w r3, r7, #52 ; 0x34 8025be8: 6bba ldr r2, [r7, #56] ; 0x38 8025bea: 4937 ldr r1, [pc, #220] ; (8025cc8 ) 8025bec: 4833 ldr r0, [pc, #204] ; (8025cbc ) 8025bee: f0a0 fd27 bl 80c6640 8025bf2: 4603 mov r3, r0 8025bf4: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8025bf8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025bfc: 2b00 cmp r3, #0 8025bfe: d171 bne.n 8025ce4 { arm_copy_f32(pV_Buff_f32, (float32_t *) SD_Buff, Ns); 8025c00: 4b33 ldr r3, [pc, #204] ; (8025cd0 ) 8025c02: 681b ldr r3, [r3, #0] 8025c04: 461a mov r2, r3 8025c06: 4930 ldr r1, [pc, #192] ; (8025cc8 ) 8025c08: 4833 ldr r0, [pc, #204] ; (8025cd8 ) 8025c0a: f0a4 f8b5 bl 80c9d78 res = f_write(&F, (void *) &SD_Buff[0].fl, (UINT) l, &fk); 8025c0e: f107 0334 add.w r3, r7, #52 ; 0x34 8025c12: 6bba ldr r2, [r7, #56] ; 0x38 8025c14: 492c ldr r1, [pc, #176] ; (8025cc8 ) 8025c16: 4829 ldr r0, [pc, #164] ; (8025cbc ) 8025c18: f0a0 fd12 bl 80c6640 8025c1c: 4603 mov r3, r0 8025c1e: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8025c22: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025c26: 2b00 cmp r3, #0 8025c28: d136 bne.n 8025c98 { arm_copy_f32(pS_Buff_f32, (float32_t *) SD_Buff, Ns); 8025c2a: 4b29 ldr r3, [pc, #164] ; (8025cd0 ) 8025c2c: 681b ldr r3, [r3, #0] 8025c2e: 461a mov r2, r3 8025c30: 4925 ldr r1, [pc, #148] ; (8025cc8 ) 8025c32: 482a ldr r0, [pc, #168] ; (8025cdc ) 8025c34: f0a4 f8a0 bl 80c9d78 res = f_write(&F, (void *) &SD_Buff[0].fl, (UINT) l, &fk); 8025c38: f107 0334 add.w r3, r7, #52 ; 0x34 8025c3c: 6bba ldr r2, [r7, #56] ; 0x38 8025c3e: 4922 ldr r1, [pc, #136] ; (8025cc8 ) 8025c40: 481e ldr r0, [pc, #120] ; (8025cbc ) 8025c42: f0a0 fcfd bl 80c6640 8025c46: 4603 mov r3, r0 8025c48: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8025c4c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025c50: 2b00 cmp r3, #0 8025c52: d11c bne.n 8025c8e { arm_copy_f32(skz, (float32_t *) SD_Buff, 3); 8025c54: 2203 movs r2, #3 8025c56: 491c ldr r1, [pc, #112] ; (8025cc8 ) 8025c58: 4821 ldr r0, [pc, #132] ; (8025ce0 ) 8025c5a: f0a4 f88d bl 80c9d78 res = f_write(&F, (void *) &SD_Buff[0].fl, 12, &fk); 8025c5e: f107 0334 add.w r3, r7, #52 ; 0x34 8025c62: 220c movs r2, #12 8025c64: 4918 ldr r1, [pc, #96] ; (8025cc8 ) 8025c66: 4815 ldr r0, [pc, #84] ; (8025cbc ) 8025c68: f0a0 fcea bl 80c6640 8025c6c: 4603 mov r3, r0 8025c6e: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8025c72: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8025c76: 2b00 cmp r3, #0 8025c78: d104 bne.n 8025c84 { f_close(&F); 8025c7a: 4810 ldr r0, [pc, #64] ; (8025cbc ) 8025c7c: f0a0 ff84 bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_OK; 8025c80: 2300 movs r3, #0 8025c82: e044 b.n 8025d0e } else { f_close(&F); 8025c84: 480d ldr r0, [pc, #52] ; (8025cbc ) 8025c86: f0a0 ff7f bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025c8a: 2301 movs r3, #1 8025c8c: e03f b.n 8025d0e } } else { f_close(&F); 8025c8e: 480b ldr r0, [pc, #44] ; (8025cbc ) 8025c90: f0a0 ff7a bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025c94: 2301 movs r3, #1 8025c96: e03a b.n 8025d0e } } else { f_close(&F); 8025c98: 4808 ldr r0, [pc, #32] ; (8025cbc ) 8025c9a: f0a0 ff75 bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025c9e: 2301 movs r3, #1 8025ca0: e035 b.n 8025d0e 8025ca2: bf00 nop 8025ca4: 2002164c .word 0x2002164c 8025ca8: 080ce508 .word 0x080ce508 8025cac: 200229b4 .word 0x200229b4 8025cb0: 080ce510 .word 0x080ce510 8025cb4: 20022918 .word 0x20022918 8025cb8: 080ce4bc .word 0x080ce4bc 8025cbc: 20022e20 .word 0x20022e20 8025cc0: 2007c000 .word 0x2007c000 8025cc4: 20023e60 .word 0x20023e60 8025cc8: 20000000 .word 0x20000000 8025ccc: 00000000 .word 0x00000000 8025cd0: 20021cdc .word 0x20021cdc 8025cd4: 64090000 .word 0x64090000 8025cd8: 64094000 .word 0x64094000 8025cdc: 64098000 .word 0x64098000 8025ce0: 20021540 .word 0x20021540 } } else { f_close(&F); 8025ce4: 480c ldr r0, [pc, #48] ; (8025d18 ) 8025ce6: f0a0 ff4f bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025cea: 2301 movs r3, #1 8025cec: e00f b.n 8025d0e } } else { f_close(&F); 8025cee: 480a ldr r0, [pc, #40] ; (8025d18 ) 8025cf0: f0a0 ff4a bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025cf4: 2301 movs r3, #1 8025cf6: e00a b.n 8025d0e } } else { //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8025cf8: 2301 movs r3, #1 8025cfa: e008 b.n 8025d0e } } else { f_close(&F); 8025cfc: 4806 ldr r0, [pc, #24] ; (8025d18 ) 8025cfe: f0a0 ff43 bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_EXIST; 8025d02: 2308 movs r3, #8 8025d04: e003 b.n 8025d0e } } } else { return FR_DISK_ERR; 8025d06: 2301 movs r3, #1 8025d08: e001 b.n 8025d0e } //f_mount(&fs, SDPath, 0); return res; 8025d0a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 8025d0e: 4618 mov r0, r3 8025d10: 3744 adds r7, #68 ; 0x44 8025d12: 46bd mov sp, r7 8025d14: bd90 pop {r4, r7, pc} 8025d16: bf00 nop 8025d18: 20022e20 .word 0x20022e20 08025d1c : FRESULT GetPointAndIndexDGN(char *fname) //TODO { 8025d1c: b5f0 push {r4, r5, r6, r7, lr} 8025d1e: b08b sub sp, #44 ; 0x2c 8025d20: af00 add r7, sp, #0 8025d22: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8025d24: 2300 movs r3, #0 8025d26: f887 3027 strb.w r3, [r7, #39] ; 0x27 uint32_t im, i; uint16_t IM = 0, IP = 0, ii; 8025d2a: 2300 movs r3, #0 8025d2c: 81fb strh r3, [r7, #14] 8025d2e: 2300 movs r3, #0 8025d30: 837b strh r3, [r7, #26] UINT fk; FSIZE_t ifs; memset(Comment, 0, sizeof(Comment)); 8025d32: 2228 movs r2, #40 ; 0x28 8025d34: 2100 movs r1, #0 8025d36: 48a3 ldr r0, [pc, #652] ; (8025fc4 ) 8025d38: f0a7 f9a2 bl 80cd080 NextIndexPoint = 0; 8025d3c: 4ba2 ldr r3, [pc, #648] ; (8025fc8 ) 8025d3e: 2200 movs r2, #0 8025d40: 601a str r2, [r3, #0] NextIndexMeas = 1; 8025d42: 4ba2 ldr r3, [pc, #648] ; (8025fcc ) 8025d44: 2201 movs r2, #1 8025d46: 601a str r2, [r3, #0] MaxIndexMeas = 1; 8025d48: 4ba1 ldr r3, [pc, #644] ; (8025fd0 ) 8025d4a: 2201 movs r2, #1 8025d4c: 601a str r2, [r3, #0] for(i = 0; i < NUM_POINTS; i++) { 8025d4e: 2300 movs r3, #0 8025d50: 61fb str r3, [r7, #28] 8025d52: e007 b.n 8025d64 IndexMeas[i] = 1; 8025d54: 4a9f ldr r2, [pc, #636] ; (8025fd4 ) 8025d56: 69fb ldr r3, [r7, #28] 8025d58: 2101 movs r1, #1 8025d5a: f842 1023 str.w r1, [r2, r3, lsl #2] for(i = 0; i < NUM_POINTS; i++) { 8025d5e: 69fb ldr r3, [r7, #28] 8025d60: 3301 adds r3, #1 8025d62: 61fb str r3, [r7, #28] 8025d64: 69fb ldr r3, [r7, #28] 8025d66: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025d6a: d3f3 bcc.n 8025d54 } if(CardState != MSD_READY) { 8025d6c: 4b9a ldr r3, [pc, #616] ; (8025fd8 ) 8025d6e: 781b ldrb r3, [r3, #0] 8025d70: b2db uxtb r3, r3 8025d72: 2b03 cmp r3, #3 8025d74: d001 beq.n 8025d7a return FR_NOT_READY; 8025d76: 2303 movs r3, #3 8025d78: e34e b.n 8026418 } if(fname[0] == '\0') { 8025d7a: 687b ldr r3, [r7, #4] 8025d7c: 781b ldrb r3, [r3, #0] 8025d7e: 2b00 cmp r3, #0 8025d80: d101 bne.n 8025d86 return FR_NO_FILE; 8025d82: 2304 movs r3, #4 8025d84: e348 b.n 8026418 } if(res == FR_OK) 8025d86: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025d8a: 2b00 cmp r3, #0 8025d8c: f040 833c bne.w 8026408 { memset(FileName, 0, sizeof(FileName)); 8025d90: 2228 movs r2, #40 ; 0x28 8025d92: 2100 movs r1, #0 8025d94: 4891 ldr r0, [pc, #580] ; (8025fdc ) 8025d96: f0a7 f973 bl 80cd080 strcpy(FileName, fname); 8025d9a: 6879 ldr r1, [r7, #4] 8025d9c: 488f ldr r0, [pc, #572] ; (8025fdc ) 8025d9e: f0a7 fa8c bl 80cd2ba memset(PointPath, 0, sizeof(PointPath)); 8025da2: f44f 7200 mov.w r2, #512 ; 0x200 8025da6: 2100 movs r1, #0 8025da8: 488d ldr r0, [pc, #564] ; (8025fe0 ) 8025daa: f0a7 f969 bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 8025dae: f44f 7200 mov.w r2, #512 ; 0x200 8025db2: 2100 movs r1, #0 8025db4: 488b ldr r0, [pc, #556] ; (8025fe4 ) 8025db6: f0a7 f963 bl 80cd080 SearchPath[0] = '0'; 8025dba: 4b8a ldr r3, [pc, #552] ; (8025fe4 ) 8025dbc: 2230 movs r2, #48 ; 0x30 8025dbe: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8025dc0: 4b88 ldr r3, [pc, #544] ; (8025fe4 ) 8025dc2: 223a movs r2, #58 ; 0x3a 8025dc4: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8025dc6: 4b88 ldr r3, [pc, #544] ; (8025fe8 ) 8025dc8: 2209 movs r2, #9 8025dca: 701a strb r2, [r3, #0] FlagReturn = false; 8025dcc: 4b87 ldr r3, [pc, #540] ; (8025fec ) 8025dce: 2200 movs r2, #0 8025dd0: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8025dd2: 2100 movs r1, #0 8025dd4: 4883 ldr r0, [pc, #524] ; (8025fe4 ) 8025dd6: f005 fd69 bl 802b8ac if(PointPath[0] == 0) 8025dda: 4b81 ldr r3, [pc, #516] ; (8025fe0 ) 8025ddc: 781b ldrb r3, [r3, #0] 8025dde: 2b00 cmp r3, #0 8025de0: d103 bne.n 8025dea { res = FR_NO_FILE; 8025de2: 2304 movs r3, #4 8025de4: f887 3027 strb.w r3, [r7, #39] ; 0x27 8025de8: e314 b.n 8026414 } else { res = f_open(&F, PointPath, FA_READ); 8025dea: 2201 movs r2, #1 8025dec: 497c ldr r1, [pc, #496] ; (8025fe0 ) 8025dee: 4880 ldr r0, [pc, #512] ; (8025ff0 ) 8025df0: f0a0 f886 bl 80c5f00 8025df4: 4603 mov r3, r0 8025df6: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8025dfa: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025dfe: 2b00 cmp r3, #0 8025e00: f040 8308 bne.w 8026414 { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8025e04: f04f 0200 mov.w r2, #0 8025e08: f04f 0300 mov.w r3, #0 8025e0c: 4878 ldr r0, [pc, #480] ; (8025ff0 ) 8025e0e: f0a0 fedb bl 80c6bc8 8025e12: 4603 mov r3, r0 8025e14: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8025e18: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025e1c: 2b00 cmp r3, #0 8025e1e: d127 bne.n 8025e70 { res = f_read(&F, sector, 6, &fk); 8025e20: f107 0308 add.w r3, r7, #8 8025e24: 2206 movs r2, #6 8025e26: 4973 ldr r1, [pc, #460] ; (8025ff4 ) 8025e28: 4871 ldr r0, [pc, #452] ; (8025ff0 ) 8025e2a: f0a0 fac6 bl 80c63ba 8025e2e: 4603 mov r3, r0 8025e30: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 6)) 8025e34: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025e38: 2b00 cmp r3, #0 8025e3a: d114 bne.n 8025e66 8025e3c: 68bb ldr r3, [r7, #8] 8025e3e: 2b06 cmp r3, #6 8025e40: d111 bne.n 8025e66 { sector[6] = '\0'; 8025e42: 4b6c ldr r3, [pc, #432] ; (8025ff4 ) 8025e44: 2200 movs r2, #0 8025e46: 719a strb r2, [r3, #6] if(!strcmp((char *) sector, "Extend")) 8025e48: 496b ldr r1, [pc, #428] ; (8025ff8 ) 8025e4a: 486a ldr r0, [pc, #424] ; (8025ff4 ) 8025e4c: f7fa fa58 bl 8020300 8025e50: 4603 mov r3, r0 8025e52: 2b00 cmp r3, #0 8025e54: d103 bne.n 8025e5e NEWFILE = true; 8025e56: 4b69 ldr r3, [pc, #420] ; (8025ffc ) 8025e58: 2201 movs r2, #1 8025e5a: 701a strb r2, [r3, #0] if(!strcmp((char *) sector, "Extend")) 8025e5c: e00d b.n 8025e7a else NEWFILE = false; 8025e5e: 4b67 ldr r3, [pc, #412] ; (8025ffc ) 8025e60: 2200 movs r2, #0 8025e62: 701a strb r2, [r3, #0] if(!strcmp((char *) sector, "Extend")) 8025e64: e009 b.n 8025e7a } else { f_close(&F); 8025e66: 4862 ldr r0, [pc, #392] ; (8025ff0 ) 8025e68: f0a0 fe8e bl 80c6b88 return FR_DISK_ERR; 8025e6c: 2301 movs r3, #1 8025e6e: e2d3 b.n 8026418 } } else { f_close(&F); 8025e70: 485f ldr r0, [pc, #380] ; (8025ff0 ) 8025e72: f0a0 fe89 bl 80c6b88 return FR_DISK_ERR; 8025e76: 2301 movs r3, #1 8025e78: e2ce b.n 8026418 } /////////////////////////////////////////////////////////////////////////////// memset(sector, 0xff, sizeof(sector)); 8025e7a: f44f 7200 mov.w r2, #512 ; 0x200 8025e7e: 21ff movs r1, #255 ; 0xff 8025e80: 485c ldr r0, [pc, #368] ; (8025ff4 ) 8025e82: f0a7 f8fd bl 80cd080 if(NEWFILE) 8025e86: 4b5d ldr r3, [pc, #372] ; (8025ffc ) 8025e88: 781b ldrb r3, [r3, #0] 8025e8a: b2db uxtb r3, r3 8025e8c: 2b00 cmp r3, #0 8025e8e: f000 818e beq.w 80261ae { if(f_size(&F) > 40096u) 8025e92: 4b57 ldr r3, [pc, #348] ; (8025ff0 ) 8025e94: e9d3 3404 ldrd r3, r4, [r3, #16] 8025e98: f649 41a0 movw r1, #40096 ; 0x9ca0 8025e9c: f04f 0200 mov.w r2, #0 8025ea0: 42a2 cmp r2, r4 8025ea2: bf08 it eq 8025ea4: 4299 cmpeq r1, r3 8025ea6: f080 8177 bcs.w 8026198 { for(ii = 0; ii < NUM_POINTS; ii++) 8025eaa: 2300 movs r3, #0 8025eac: 833b strh r3, [r7, #24] 8025eae: e0f9 b.n 80260a4 { ifs = 40096u; 8025eb0: f649 43a0 movw r3, #40096 ; 0x9ca0 8025eb4: f04f 0400 mov.w r4, #0 8025eb8: e9c7 3404 strd r3, r4, [r7, #16] im = 0; 8025ebc: 2300 movs r3, #0 8025ebe: 623b str r3, [r7, #32] while(ifs < f_size(&F)) 8025ec0: e0e3 b.n 802608a { res = f_lseek(&F, ifs); 8025ec2: e9d7 2304 ldrd r2, r3, [r7, #16] 8025ec6: 484a ldr r0, [pc, #296] ; (8025ff0 ) 8025ec8: f0a0 fe7e bl 80c6bc8 8025ecc: 4603 mov r3, r0 8025ece: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8025ed2: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025ed6: 2b00 cmp r3, #0 8025ed8: f040 80b3 bne.w 8026042 { res = f_read(&F, sector, 33, &fk); 8025edc: f107 0308 add.w r3, r7, #8 8025ee0: 2221 movs r2, #33 ; 0x21 8025ee2: 4944 ldr r1, [pc, #272] ; (8025ff4 ) 8025ee4: 4842 ldr r0, [pc, #264] ; (8025ff0 ) 8025ee6: f0a0 fa68 bl 80c63ba 8025eea: 4603 mov r3, r0 8025eec: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 33)) 8025ef0: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8025ef4: 2b00 cmp r3, #0 8025ef6: d161 bne.n 8025fbc 8025ef8: 68bb ldr r3, [r7, #8] 8025efa: 2b21 cmp r3, #33 ; 0x21 8025efc: d15e bne.n 8025fbc { if((sector[d_13] == 0xD) && (sector[d_10] == 0xA)) 8025efe: 4b3d ldr r3, [pc, #244] ; (8025ff4 ) 8025f00: 7fdb ldrb r3, [r3, #31] 8025f02: 2b0d cmp r3, #13 8025f04: d12d bne.n 8025f62 8025f06: 4b3b ldr r3, [pc, #236] ; (8025ff4 ) 8025f08: f893 3020 ldrb.w r3, [r3, #32] 8025f0c: 2b0a cmp r3, #10 8025f0e: d128 bne.n 8025f62 { IM = sector[d_Meas + 1]; 8025f10: 4b38 ldr r3, [pc, #224] ; (8025ff4 ) 8025f12: 78db ldrb r3, [r3, #3] 8025f14: 81fb strh r3, [r7, #14] IM = (IM << 8) | sector[d_Meas]; 8025f16: 89fb ldrh r3, [r7, #14] 8025f18: 021b lsls r3, r3, #8 8025f1a: b21a sxth r2, r3 8025f1c: 4b35 ldr r3, [pc, #212] ; (8025ff4 ) 8025f1e: 789b ldrb r3, [r3, #2] 8025f20: b21b sxth r3, r3 8025f22: 4313 orrs r3, r2 8025f24: b21b sxth r3, r3 8025f26: 81fb strh r3, [r7, #14] IP = sector[d_Point + 1]; 8025f28: 4b32 ldr r3, [pc, #200] ; (8025ff4 ) 8025f2a: 785b ldrb r3, [r3, #1] 8025f2c: 837b strh r3, [r7, #26] IP = (IP << 8) | sector[d_Point]; 8025f2e: 8b7b ldrh r3, [r7, #26] 8025f30: 021b lsls r3, r3, #8 8025f32: b21a sxth r2, r3 8025f34: 4b2f ldr r3, [pc, #188] ; (8025ff4 ) 8025f36: 781b ldrb r3, [r3, #0] 8025f38: b21b sxth r3, r3 8025f3a: 4313 orrs r3, r2 8025f3c: b21b sxth r3, r3 8025f3e: 837b strh r3, [r7, #26] if((IP == ii) && (IM > im) && (IM < 65536)) 8025f40: 8b7a ldrh r2, [r7, #26] 8025f42: 8b3b ldrh r3, [r7, #24] 8025f44: 429a cmp r2, r3 8025f46: d130 bne.n 8025faa 8025f48: 89fa ldrh r2, [r7, #14] 8025f4a: 6a3b ldr r3, [r7, #32] 8025f4c: 429a cmp r2, r3 8025f4e: d92c bls.n 8025faa { im = IM; 8025f50: 89fb ldrh r3, [r7, #14] 8025f52: 623b str r3, [r7, #32] IndexMeas[ii] = (im + 1); 8025f54: 8b3b ldrh r3, [r7, #24] 8025f56: 6a3a ldr r2, [r7, #32] 8025f58: 3201 adds r2, #1 8025f5a: 491e ldr r1, [pc, #120] ; (8025fd4 ) 8025f5c: f841 2023 str.w r2, [r1, r3, lsl #2] if((IP == ii) && (IM > im) && (IM < 65536)) 8025f60: e023 b.n 8025faa } } else { for(i = 0; i < NUM_POINTS; i++) 8025f62: 2300 movs r3, #0 8025f64: 61fb str r3, [r7, #28] 8025f66: e010 b.n 8025f8a { if(IndexMeas[i] > MaxIndexMeas) 8025f68: 4a1a ldr r2, [pc, #104] ; (8025fd4 ) 8025f6a: 69fb ldr r3, [r7, #28] 8025f6c: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8025f70: 4b17 ldr r3, [pc, #92] ; (8025fd0 ) 8025f72: 681b ldr r3, [r3, #0] 8025f74: 429a cmp r2, r3 8025f76: d905 bls.n 8025f84 MaxIndexMeas = IndexMeas[i]; 8025f78: 4a16 ldr r2, [pc, #88] ; (8025fd4 ) 8025f7a: 69fb ldr r3, [r7, #28] 8025f7c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8025f80: 4a13 ldr r2, [pc, #76] ; (8025fd0 ) 8025f82: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8025f84: 69fb ldr r3, [r7, #28] 8025f86: 3301 adds r3, #1 8025f88: 61fb str r3, [r7, #28] 8025f8a: 69fb ldr r3, [r7, #28] 8025f8c: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8025f90: d3ea bcc.n 8025f68 } NextIndexPoint = IP; 8025f92: 8b7b ldrh r3, [r7, #26] 8025f94: 4a0c ldr r2, [pc, #48] ; (8025fc8 ) 8025f96: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8025f98: 4b0d ldr r3, [pc, #52] ; (8025fd0 ) 8025f9a: 681b ldr r3, [r3, #0] 8025f9c: 4a0b ldr r2, [pc, #44] ; (8025fcc ) 8025f9e: 6013 str r3, [r2, #0] f_close(&F); 8025fa0: 4813 ldr r0, [pc, #76] ; (8025ff0 ) 8025fa2: f0a0 fdf1 bl 80c6b88 return FR_INVALID_OBJECT; 8025fa6: 2309 movs r3, #9 8025fa8: e236 b.n 8026418 if((IP == ii) && (IM > im) && (IM < 65536)) 8025faa: bf00 nop } ifs += 33; 8025fac: e9d7 3404 ldrd r3, r4, [r7, #16] 8025fb0: 3321 adds r3, #33 ; 0x21 8025fb2: f144 0400 adc.w r4, r4, #0 8025fb6: e9c7 3404 strd r3, r4, [r7, #16] 8025fba: e066 b.n 802608a } else { for(i = 0; i < NUM_POINTS; i++) 8025fbc: 2300 movs r3, #0 8025fbe: 61fb str r3, [r7, #28] 8025fc0: e02f b.n 8026022 8025fc2: bf00 nop 8025fc4: 20022650 .word 0x20022650 8025fc8: 20021f9c .word 0x20021f9c 8025fcc: 20022310 .word 0x20022310 8025fd0: 20022980 .word 0x20022980 8025fd4: 20022ea0 .word 0x20022ea0 8025fd8: 2002164c .word 0x2002164c 8025fdc: 20022bb8 .word 0x20022bb8 8025fe0: 200229b4 .word 0x200229b4 8025fe4: 20021d80 .word 0x20021d80 8025fe8: 20020ddf .word 0x20020ddf 8025fec: 20020dde .word 0x20020dde 8025ff0: 20022e20 .word 0x20022e20 8025ff4: 2007c000 .word 0x2007c000 8025ff8: 080ce4cc .word 0x080ce4cc 8025ffc: 20020e14 .word 0x20020e14 { if(IndexMeas[i] > MaxIndexMeas) 8026000: 4a9d ldr r2, [pc, #628] ; (8026278 ) 8026002: 69fb ldr r3, [r7, #28] 8026004: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026008: 4b9c ldr r3, [pc, #624] ; (802627c ) 802600a: 681b ldr r3, [r3, #0] 802600c: 429a cmp r2, r3 802600e: d905 bls.n 802601c MaxIndexMeas = IndexMeas[i]; 8026010: 4a99 ldr r2, [pc, #612] ; (8026278 ) 8026012: 69fb ldr r3, [r7, #28] 8026014: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026018: 4a98 ldr r2, [pc, #608] ; (802627c ) 802601a: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 802601c: 69fb ldr r3, [r7, #28] 802601e: 3301 adds r3, #1 8026020: 61fb str r3, [r7, #28] 8026022: 69fb ldr r3, [r7, #28] 8026024: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026028: d3ea bcc.n 8026000 } NextIndexPoint = IP; 802602a: 8b7b ldrh r3, [r7, #26] 802602c: 4a94 ldr r2, [pc, #592] ; (8026280 ) 802602e: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8026030: 4b92 ldr r3, [pc, #584] ; (802627c ) 8026032: 681b ldr r3, [r3, #0] 8026034: 4a93 ldr r2, [pc, #588] ; (8026284 ) 8026036: 6013 str r3, [r2, #0] f_close(&F); 8026038: 4893 ldr r0, [pc, #588] ; (8026288 ) 802603a: f0a0 fda5 bl 80c6b88 return FR_DISK_ERR; 802603e: 2301 movs r3, #1 8026040: e1ea b.n 8026418 } } else { for(i = 0; i < NUM_POINTS; i++) 8026042: 2300 movs r3, #0 8026044: 61fb str r3, [r7, #28] 8026046: e010 b.n 802606a { if(IndexMeas[i] > MaxIndexMeas) 8026048: 4a8b ldr r2, [pc, #556] ; (8026278 ) 802604a: 69fb ldr r3, [r7, #28] 802604c: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026050: 4b8a ldr r3, [pc, #552] ; (802627c ) 8026052: 681b ldr r3, [r3, #0] 8026054: 429a cmp r2, r3 8026056: d905 bls.n 8026064 MaxIndexMeas = IndexMeas[i]; 8026058: 4a87 ldr r2, [pc, #540] ; (8026278 ) 802605a: 69fb ldr r3, [r7, #28] 802605c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026060: 4a86 ldr r2, [pc, #536] ; (802627c ) 8026062: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026064: 69fb ldr r3, [r7, #28] 8026066: 3301 adds r3, #1 8026068: 61fb str r3, [r7, #28] 802606a: 69fb ldr r3, [r7, #28] 802606c: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026070: d3ea bcc.n 8026048 } NextIndexPoint = IP; 8026072: 8b7b ldrh r3, [r7, #26] 8026074: 4a82 ldr r2, [pc, #520] ; (8026280 ) 8026076: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8026078: 4b80 ldr r3, [pc, #512] ; (802627c ) 802607a: 681b ldr r3, [r3, #0] 802607c: 4a81 ldr r2, [pc, #516] ; (8026284 ) 802607e: 6013 str r3, [r2, #0] f_close(&F); 8026080: 4881 ldr r0, [pc, #516] ; (8026288 ) 8026082: f0a0 fd81 bl 80c6b88 return FR_DISK_ERR; 8026086: 2301 movs r3, #1 8026088: e1c6 b.n 8026418 while(ifs < f_size(&F)) 802608a: 4b7f ldr r3, [pc, #508] ; (8026288 ) 802608c: e9d3 3404 ldrd r3, r4, [r3, #16] 8026090: e9d7 1204 ldrd r1, r2, [r7, #16] 8026094: 42a2 cmp r2, r4 8026096: bf08 it eq 8026098: 4299 cmpeq r1, r3 802609a: f4ff af12 bcc.w 8025ec2 for(ii = 0; ii < NUM_POINTS; ii++) 802609e: 8b3b ldrh r3, [r7, #24] 80260a0: 3301 adds r3, #1 80260a2: 833b strh r3, [r7, #24] 80260a4: 8b3b ldrh r3, [r7, #24] 80260a6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80260aa: f4ff af01 bcc.w 8025eb0 } } } // end for(ii = 0; ...) if(res == FR_OK) 80260ae: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80260b2: 2b00 cmp r3, #0 80260b4: f040 81ae bne.w 8026414 { for(i = 0; i < NUM_POINTS; i++) 80260b8: 2300 movs r3, #0 80260ba: 61fb str r3, [r7, #28] 80260bc: e010 b.n 80260e0 { if(IndexMeas[i] > MaxIndexMeas) 80260be: 4a6e ldr r2, [pc, #440] ; (8026278 ) 80260c0: 69fb ldr r3, [r7, #28] 80260c2: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80260c6: 4b6d ldr r3, [pc, #436] ; (802627c ) 80260c8: 681b ldr r3, [r3, #0] 80260ca: 429a cmp r2, r3 80260cc: d905 bls.n 80260da MaxIndexMeas = IndexMeas[i]; 80260ce: 4a6a ldr r2, [pc, #424] ; (8026278 ) 80260d0: 69fb ldr r3, [r7, #28] 80260d2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80260d6: 4a69 ldr r2, [pc, #420] ; (802627c ) 80260d8: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80260da: 69fb ldr r3, [r7, #28] 80260dc: 3301 adds r3, #1 80260de: 61fb str r3, [r7, #28] 80260e0: 69fb ldr r3, [r7, #28] 80260e2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80260e6: d3ea bcc.n 80260be } NextIndexPoint = IP; 80260e8: 8b7b ldrh r3, [r7, #26] 80260ea: 4a65 ldr r2, [pc, #404] ; (8026280 ) 80260ec: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 80260ee: 4b64 ldr r3, [pc, #400] ; (8026280 ) 80260f0: 681b ldr r3, [r3, #0] 80260f2: 4a61 ldr r2, [pc, #388] ; (8026278 ) 80260f4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80260f8: 4a62 ldr r2, [pc, #392] ; (8026284 ) 80260fa: 6013 str r3, [r2, #0] ifs = 96u + (sizeof(Comment) * NextIndexPoint); 80260fc: 4b60 ldr r3, [pc, #384] ; (8026280 ) 80260fe: 681a ldr r2, [r3, #0] 8026100: 4613 mov r3, r2 8026102: 009b lsls r3, r3, #2 8026104: 4413 add r3, r2 8026106: 00db lsls r3, r3, #3 8026108: 3360 adds r3, #96 ; 0x60 802610a: f04f 0400 mov.w r4, #0 802610e: e9c7 3404 strd r3, r4, [r7, #16] res = f_lseek(&F, ifs); 8026112: e9d7 2304 ldrd r2, r3, [r7, #16] 8026116: 485c ldr r0, [pc, #368] ; (8026288 ) 8026118: f0a0 fd56 bl 80c6bc8 802611c: 4603 mov r3, r0 802611e: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8026122: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026126: 2b00 cmp r3, #0 8026128: d131 bne.n 802618e { res = f_read(&F, sector, sizeof(Comment), &fk); 802612a: f107 0308 add.w r3, r7, #8 802612e: 2228 movs r2, #40 ; 0x28 8026130: 4956 ldr r1, [pc, #344] ; (802628c ) 8026132: 4855 ldr r0, [pc, #340] ; (8026288 ) 8026134: f0a0 f941 bl 80c63ba 8026138: 4603 mov r3, r0 802613a: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == sizeof(Comment))) 802613e: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026142: 2b00 cmp r3, #0 8026144: d11e bne.n 8026184 8026146: 68bb ldr r3, [r7, #8] 8026148: 2b28 cmp r3, #40 ; 0x28 802614a: d11b bne.n 8026184 { memcpy(Comment, sector, sizeof(Comment)); 802614c: 4b50 ldr r3, [pc, #320] ; (8026290 ) 802614e: 4a4f ldr r2, [pc, #316] ; (802628c ) 8026150: 4614 mov r4, r2 8026152: 469e mov lr, r3 8026154: f104 0c20 add.w ip, r4, #32 8026158: 4675 mov r5, lr 802615a: 4626 mov r6, r4 802615c: ce0f ldmia r6!, {r0, r1, r2, r3} 802615e: 6028 str r0, [r5, #0] 8026160: 6069 str r1, [r5, #4] 8026162: 60aa str r2, [r5, #8] 8026164: 60eb str r3, [r5, #12] 8026166: 3410 adds r4, #16 8026168: f10e 0e10 add.w lr, lr, #16 802616c: 4564 cmp r4, ip 802616e: d1f3 bne.n 8026158 8026170: 4672 mov r2, lr 8026172: 4623 mov r3, r4 8026174: cb03 ldmia r3!, {r0, r1} 8026176: 6010 str r0, [r2, #0] 8026178: 6051 str r1, [r2, #4] f_close(&F); 802617a: 4843 ldr r0, [pc, #268] ; (8026288 ) 802617c: f0a0 fd04 bl 80c6b88 return FR_OK; 8026180: 2300 movs r3, #0 8026182: e149 b.n 8026418 } else { f_close(&F); 8026184: 4840 ldr r0, [pc, #256] ; (8026288 ) 8026186: f0a0 fcff bl 80c6b88 return FR_DISK_ERR; 802618a: 2301 movs r3, #1 802618c: e144 b.n 8026418 } } else { f_close(&F); 802618e: 483e ldr r0, [pc, #248] ; (8026288 ) 8026190: f0a0 fcfa bl 80c6b88 return FR_DISK_ERR; 8026194: 2301 movs r3, #1 8026196: e13f b.n 8026418 } } } else { NextIndexPoint = 0; 8026198: 4b39 ldr r3, [pc, #228] ; (8026280 ) 802619a: 2200 movs r2, #0 802619c: 601a str r2, [r3, #0] NextIndexMeas = 1; 802619e: 4b39 ldr r3, [pc, #228] ; (8026284 ) 80261a0: 2201 movs r2, #1 80261a2: 601a str r2, [r3, #0] f_close(&F); 80261a4: 4838 ldr r0, [pc, #224] ; (8026288 ) 80261a6: f0a0 fcef bl 80c6b88 return FR_OK; 80261aa: 2300 movs r3, #0 80261ac: e134 b.n 8026418 } } else { if(f_size(&F) > 0) 80261ae: 4b36 ldr r3, [pc, #216] ; (8026288 ) 80261b0: e9d3 3404 ldrd r3, r4, [r3, #16] 80261b4: 4323 orrs r3, r4 80261b6: f000 811c beq.w 80263f2 { for(ii = 0; ii < NUM_POINTS; ii++) 80261ba: 2300 movs r3, #0 80261bc: 833b strh r3, [r7, #24] 80261be: e0e8 b.n 8026392 { ifs = 0; 80261c0: f04f 0300 mov.w r3, #0 80261c4: f04f 0400 mov.w r4, #0 80261c8: e9c7 3404 strd r3, r4, [r7, #16] im = 0; 80261cc: 2300 movs r3, #0 80261ce: 623b str r3, [r7, #32] while(ifs < f_size(&F)) 80261d0: e0d2 b.n 8026378 { res = f_lseek(&F, ifs); 80261d2: e9d7 2304 ldrd r2, r3, [r7, #16] 80261d6: 482c ldr r0, [pc, #176] ; (8026288 ) 80261d8: f0a0 fcf6 bl 80c6bc8 80261dc: 4603 mov r3, r0 80261de: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 80261e2: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80261e6: 2b00 cmp r3, #0 80261e8: f040 80a2 bne.w 8026330 { res = f_read(&F, sector, 33, &fk); 80261ec: f107 0308 add.w r3, r7, #8 80261f0: 2221 movs r2, #33 ; 0x21 80261f2: 4926 ldr r1, [pc, #152] ; (802628c ) 80261f4: 4824 ldr r0, [pc, #144] ; (8026288 ) 80261f6: f0a0 f8e0 bl 80c63ba 80261fa: 4603 mov r3, r0 80261fc: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 33)) 8026200: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026204: 2b00 cmp r3, #0 8026206: d16f bne.n 80262e8 8026208: 68bb ldr r3, [r7, #8] 802620a: 2b21 cmp r3, #33 ; 0x21 802620c: d16c bne.n 80262e8 { if((sector[d_13] == 0xD) && (sector[d_10] == 0xA)) 802620e: 4b1f ldr r3, [pc, #124] ; (802628c ) 8026210: 7fdb ldrb r3, [r3, #31] 8026212: 2b0d cmp r3, #13 8026214: d12d bne.n 8026272 8026216: 4b1d ldr r3, [pc, #116] ; (802628c ) 8026218: f893 3020 ldrb.w r3, [r3, #32] 802621c: 2b0a cmp r3, #10 802621e: d128 bne.n 8026272 { IM = sector[d_Meas + 1]; 8026220: 4b1a ldr r3, [pc, #104] ; (802628c ) 8026222: 78db ldrb r3, [r3, #3] 8026224: 81fb strh r3, [r7, #14] IM = (IM << 8) | sector[d_Meas]; 8026226: 89fb ldrh r3, [r7, #14] 8026228: 021b lsls r3, r3, #8 802622a: b21a sxth r2, r3 802622c: 4b17 ldr r3, [pc, #92] ; (802628c ) 802622e: 789b ldrb r3, [r3, #2] 8026230: b21b sxth r3, r3 8026232: 4313 orrs r3, r2 8026234: b21b sxth r3, r3 8026236: 81fb strh r3, [r7, #14] IP = sector[d_Point + 1]; 8026238: 4b14 ldr r3, [pc, #80] ; (802628c ) 802623a: 785b ldrb r3, [r3, #1] 802623c: 837b strh r3, [r7, #26] IP = (IP << 8) | sector[d_Point]; 802623e: 8b7b ldrh r3, [r7, #26] 8026240: 021b lsls r3, r3, #8 8026242: b21a sxth r2, r3 8026244: 4b11 ldr r3, [pc, #68] ; (802628c ) 8026246: 781b ldrb r3, [r3, #0] 8026248: b21b sxth r3, r3 802624a: 4313 orrs r3, r2 802624c: b21b sxth r3, r3 802624e: 837b strh r3, [r7, #26] if((IP == ii) && (IM > im) && (IM < 65536)) 8026250: 8b7a ldrh r2, [r7, #26] 8026252: 8b3b ldrh r3, [r7, #24] 8026254: 429a cmp r2, r3 8026256: d13e bne.n 80262d6 8026258: 89fa ldrh r2, [r7, #14] 802625a: 6a3b ldr r3, [r7, #32] 802625c: 429a cmp r2, r3 802625e: d93a bls.n 80262d6 { im = IM; 8026260: 89fb ldrh r3, [r7, #14] 8026262: 623b str r3, [r7, #32] IndexMeas[ii] = (im + 1); 8026264: 8b3b ldrh r3, [r7, #24] 8026266: 6a3a ldr r2, [r7, #32] 8026268: 3201 adds r2, #1 802626a: 4903 ldr r1, [pc, #12] ; (8026278 ) 802626c: f841 2023 str.w r2, [r1, r3, lsl #2] if((IP == ii) && (IM > im) && (IM < 65536)) 8026270: e031 b.n 80262d6 } } else { for(i = 0; i < NUM_POINTS; i++) 8026272: 2300 movs r3, #0 8026274: 61fb str r3, [r7, #28] 8026276: e01e b.n 80262b6 8026278: 20022ea0 .word 0x20022ea0 802627c: 20022980 .word 0x20022980 8026280: 20021f9c .word 0x20021f9c 8026284: 20022310 .word 0x20022310 8026288: 20022e20 .word 0x20022e20 802628c: 2007c000 .word 0x2007c000 8026290: 20022650 .word 0x20022650 { if(IndexMeas[i] > MaxIndexMeas) 8026294: 4a62 ldr r2, [pc, #392] ; (8026420 ) 8026296: 69fb ldr r3, [r7, #28] 8026298: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802629c: 4b61 ldr r3, [pc, #388] ; (8026424 ) 802629e: 681b ldr r3, [r3, #0] 80262a0: 429a cmp r2, r3 80262a2: d905 bls.n 80262b0 MaxIndexMeas = IndexMeas[i]; 80262a4: 4a5e ldr r2, [pc, #376] ; (8026420 ) 80262a6: 69fb ldr r3, [r7, #28] 80262a8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80262ac: 4a5d ldr r2, [pc, #372] ; (8026424 ) 80262ae: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80262b0: 69fb ldr r3, [r7, #28] 80262b2: 3301 adds r3, #1 80262b4: 61fb str r3, [r7, #28] 80262b6: 69fb ldr r3, [r7, #28] 80262b8: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80262bc: d3ea bcc.n 8026294 } NextIndexPoint = IP; 80262be: 8b7b ldrh r3, [r7, #26] 80262c0: 4a59 ldr r2, [pc, #356] ; (8026428 ) 80262c2: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 80262c4: 4b57 ldr r3, [pc, #348] ; (8026424 ) 80262c6: 681b ldr r3, [r3, #0] 80262c8: 4a58 ldr r2, [pc, #352] ; (802642c ) 80262ca: 6013 str r3, [r2, #0] f_close(&F); 80262cc: 4858 ldr r0, [pc, #352] ; (8026430 ) 80262ce: f0a0 fc5b bl 80c6b88 return FR_INVALID_OBJECT; 80262d2: 2309 movs r3, #9 80262d4: e0a0 b.n 8026418 if((IP == ii) && (IM > im) && (IM < 65536)) 80262d6: bf00 nop } ifs += 33; 80262d8: e9d7 3404 ldrd r3, r4, [r7, #16] 80262dc: 3321 adds r3, #33 ; 0x21 80262de: f144 0400 adc.w r4, r4, #0 80262e2: e9c7 3404 strd r3, r4, [r7, #16] 80262e6: e047 b.n 8026378 } else { for(i = 0; i < NUM_POINTS; i++) 80262e8: 2300 movs r3, #0 80262ea: 61fb str r3, [r7, #28] 80262ec: e010 b.n 8026310 { if(IndexMeas[i] > MaxIndexMeas) 80262ee: 4a4c ldr r2, [pc, #304] ; (8026420 ) 80262f0: 69fb ldr r3, [r7, #28] 80262f2: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80262f6: 4b4b ldr r3, [pc, #300] ; (8026424 ) 80262f8: 681b ldr r3, [r3, #0] 80262fa: 429a cmp r2, r3 80262fc: d905 bls.n 802630a MaxIndexMeas = IndexMeas[i]; 80262fe: 4a48 ldr r2, [pc, #288] ; (8026420 ) 8026300: 69fb ldr r3, [r7, #28] 8026302: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026306: 4a47 ldr r2, [pc, #284] ; (8026424 ) 8026308: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 802630a: 69fb ldr r3, [r7, #28] 802630c: 3301 adds r3, #1 802630e: 61fb str r3, [r7, #28] 8026310: 69fb ldr r3, [r7, #28] 8026312: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026316: d3ea bcc.n 80262ee } NextIndexPoint = IP; 8026318: 8b7b ldrh r3, [r7, #26] 802631a: 4a43 ldr r2, [pc, #268] ; (8026428 ) 802631c: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 802631e: 4b41 ldr r3, [pc, #260] ; (8026424 ) 8026320: 681b ldr r3, [r3, #0] 8026322: 4a42 ldr r2, [pc, #264] ; (802642c ) 8026324: 6013 str r3, [r2, #0] f_close(&F); 8026326: 4842 ldr r0, [pc, #264] ; (8026430 ) 8026328: f0a0 fc2e bl 80c6b88 return FR_DISK_ERR; 802632c: 2301 movs r3, #1 802632e: e073 b.n 8026418 } } else { for(i = 0; i < NUM_POINTS; i++) 8026330: 2300 movs r3, #0 8026332: 61fb str r3, [r7, #28] 8026334: e010 b.n 8026358 { if(IndexMeas[i] > MaxIndexMeas) 8026336: 4a3a ldr r2, [pc, #232] ; (8026420 ) 8026338: 69fb ldr r3, [r7, #28] 802633a: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802633e: 4b39 ldr r3, [pc, #228] ; (8026424 ) 8026340: 681b ldr r3, [r3, #0] 8026342: 429a cmp r2, r3 8026344: d905 bls.n 8026352 MaxIndexMeas = IndexMeas[i]; 8026346: 4a36 ldr r2, [pc, #216] ; (8026420 ) 8026348: 69fb ldr r3, [r7, #28] 802634a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802634e: 4a35 ldr r2, [pc, #212] ; (8026424 ) 8026350: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026352: 69fb ldr r3, [r7, #28] 8026354: 3301 adds r3, #1 8026356: 61fb str r3, [r7, #28] 8026358: 69fb ldr r3, [r7, #28] 802635a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 802635e: d3ea bcc.n 8026336 } NextIndexPoint = IP; 8026360: 8b7b ldrh r3, [r7, #26] 8026362: 4a31 ldr r2, [pc, #196] ; (8026428 ) 8026364: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8026366: 4b2f ldr r3, [pc, #188] ; (8026424 ) 8026368: 681b ldr r3, [r3, #0] 802636a: 4a30 ldr r2, [pc, #192] ; (802642c ) 802636c: 6013 str r3, [r2, #0] f_close(&F); 802636e: 4830 ldr r0, [pc, #192] ; (8026430 ) 8026370: f0a0 fc0a bl 80c6b88 return FR_DISK_ERR; 8026374: 2301 movs r3, #1 8026376: e04f b.n 8026418 while(ifs < f_size(&F)) 8026378: 4b2d ldr r3, [pc, #180] ; (8026430 ) 802637a: e9d3 3404 ldrd r3, r4, [r3, #16] 802637e: e9d7 1204 ldrd r1, r2, [r7, #16] 8026382: 42a2 cmp r2, r4 8026384: bf08 it eq 8026386: 4299 cmpeq r1, r3 8026388: f4ff af23 bcc.w 80261d2 for(ii = 0; ii < NUM_POINTS; ii++) 802638c: 8b3b ldrh r3, [r7, #24] 802638e: 3301 adds r3, #1 8026390: 833b strh r3, [r7, #24] 8026392: 8b3b ldrh r3, [r7, #24] 8026394: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026398: f4ff af12 bcc.w 80261c0 } } } // end for(ii = 0; ...) if(res == FR_OK) 802639c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80263a0: 2b00 cmp r3, #0 80263a2: d137 bne.n 8026414 { for(i = 0; i < NUM_POINTS; i++) 80263a4: 2300 movs r3, #0 80263a6: 61fb str r3, [r7, #28] 80263a8: e010 b.n 80263cc { if(IndexMeas[i] > MaxIndexMeas) 80263aa: 4a1d ldr r2, [pc, #116] ; (8026420 ) 80263ac: 69fb ldr r3, [r7, #28] 80263ae: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80263b2: 4b1c ldr r3, [pc, #112] ; (8026424 ) 80263b4: 681b ldr r3, [r3, #0] 80263b6: 429a cmp r2, r3 80263b8: d905 bls.n 80263c6 MaxIndexMeas = IndexMeas[i]; 80263ba: 4a19 ldr r2, [pc, #100] ; (8026420 ) 80263bc: 69fb ldr r3, [r7, #28] 80263be: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80263c2: 4a18 ldr r2, [pc, #96] ; (8026424 ) 80263c4: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80263c6: 69fb ldr r3, [r7, #28] 80263c8: 3301 adds r3, #1 80263ca: 61fb str r3, [r7, #28] 80263cc: 69fb ldr r3, [r7, #28] 80263ce: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80263d2: d3ea bcc.n 80263aa } NextIndexPoint = IP; 80263d4: 8b7b ldrh r3, [r7, #26] 80263d6: 4a14 ldr r2, [pc, #80] ; (8026428 ) 80263d8: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 80263da: 4b13 ldr r3, [pc, #76] ; (8026428 ) 80263dc: 681b ldr r3, [r3, #0] 80263de: 4a10 ldr r2, [pc, #64] ; (8026420 ) 80263e0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80263e4: 4a11 ldr r2, [pc, #68] ; (802642c ) 80263e6: 6013 str r3, [r2, #0] f_close(&F); 80263e8: 4811 ldr r0, [pc, #68] ; (8026430 ) 80263ea: f0a0 fbcd bl 80c6b88 return FR_OK; 80263ee: 2300 movs r3, #0 80263f0: e012 b.n 8026418 } } else { NextIndexPoint = 0; 80263f2: 4b0d ldr r3, [pc, #52] ; (8026428 ) 80263f4: 2200 movs r2, #0 80263f6: 601a str r2, [r3, #0] NextIndexMeas = 1; 80263f8: 4b0c ldr r3, [pc, #48] ; (802642c ) 80263fa: 2201 movs r2, #1 80263fc: 601a str r2, [r3, #0] f_close(&F); 80263fe: 480c ldr r0, [pc, #48] ; (8026430 ) 8026400: f0a0 fbc2 bl 80c6b88 return FR_OK; 8026404: 2300 movs r3, #0 8026406: e007 b.n 8026418 } } } else { NextIndexPoint = 0; 8026408: 4b07 ldr r3, [pc, #28] ; (8026428 ) 802640a: 2200 movs r2, #0 802640c: 601a str r2, [r3, #0] NextIndexMeas = 1; 802640e: 4b07 ldr r3, [pc, #28] ; (802642c ) 8026410: 2201 movs r2, #1 8026412: 601a str r2, [r3, #0] } return res; 8026414: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 } 8026418: 4618 mov r0, r3 802641a: 372c adds r7, #44 ; 0x2c 802641c: 46bd mov sp, r7 802641e: bdf0 pop {r4, r5, r6, r7, pc} 8026420: 20022ea0 .word 0x20022ea0 8026424: 20022980 .word 0x20022980 8026428: 20021f9c .word 0x20021f9c 802642c: 20022310 .word 0x20022310 8026430: 20022e20 .word 0x20022e20 08026434 : FRESULT GetPointAndIndexPTM(char *fname) //TODO { 8026434: b5f0 push {r4, r5, r6, r7, lr} 8026436: b08b sub sp, #44 ; 0x2c 8026438: af00 add r7, sp, #0 802643a: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802643c: 2300 movs r3, #0 802643e: f887 3027 strb.w r3, [r7, #39] ; 0x27 uint32_t im, i; uint16_t IM = 0, IP = 0, ii; 8026442: 2300 movs r3, #0 8026444: 81fb strh r3, [r7, #14] 8026446: 2300 movs r3, #0 8026448: 837b strh r3, [r7, #26] UINT fk; FSIZE_t ifs; memset(Comment, 0, sizeof(Comment)); 802644a: 2228 movs r2, #40 ; 0x28 802644c: 2100 movs r1, #0 802644e: 48a2 ldr r0, [pc, #648] ; (80266d8 ) 8026450: f0a6 fe16 bl 80cd080 NextIndexPoint = 0; 8026454: 4ba1 ldr r3, [pc, #644] ; (80266dc ) 8026456: 2200 movs r2, #0 8026458: 601a str r2, [r3, #0] NextIndexMeas = 1; 802645a: 4ba1 ldr r3, [pc, #644] ; (80266e0 ) 802645c: 2201 movs r2, #1 802645e: 601a str r2, [r3, #0] MaxIndexMeas = 1; 8026460: 4ba0 ldr r3, [pc, #640] ; (80266e4 ) 8026462: 2201 movs r2, #1 8026464: 601a str r2, [r3, #0] for(i = 0; i < NUM_POINTS; i++) { 8026466: 2300 movs r3, #0 8026468: 61fb str r3, [r7, #28] 802646a: e007 b.n 802647c IndexMeas[i] = 1; 802646c: 4a9e ldr r2, [pc, #632] ; (80266e8 ) 802646e: 69fb ldr r3, [r7, #28] 8026470: 2101 movs r1, #1 8026472: f842 1023 str.w r1, [r2, r3, lsl #2] for(i = 0; i < NUM_POINTS; i++) { 8026476: 69fb ldr r3, [r7, #28] 8026478: 3301 adds r3, #1 802647a: 61fb str r3, [r7, #28] 802647c: 69fb ldr r3, [r7, #28] 802647e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026482: d3f3 bcc.n 802646c } if(CardState != MSD_READY) { 8026484: 4b99 ldr r3, [pc, #612] ; (80266ec ) 8026486: 781b ldrb r3, [r3, #0] 8026488: b2db uxtb r3, r3 802648a: 2b03 cmp r3, #3 802648c: d001 beq.n 8026492 return FR_NOT_READY; 802648e: 2303 movs r3, #3 8026490: e34c b.n 8026b2c } if(fname[0] == '\0') { 8026492: 687b ldr r3, [r7, #4] 8026494: 781b ldrb r3, [r3, #0] 8026496: 2b00 cmp r3, #0 8026498: d101 bne.n 802649e return FR_NO_FILE; 802649a: 2304 movs r3, #4 802649c: e346 b.n 8026b2c } if(res == FR_OK) 802649e: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80264a2: 2b00 cmp r3, #0 80264a4: f040 833a bne.w 8026b1c { memset(FileName, 0, sizeof(FileName)); 80264a8: 2228 movs r2, #40 ; 0x28 80264aa: 2100 movs r1, #0 80264ac: 4890 ldr r0, [pc, #576] ; (80266f0 ) 80264ae: f0a6 fde7 bl 80cd080 strcpy(FileName, fname); 80264b2: 6879 ldr r1, [r7, #4] 80264b4: 488e ldr r0, [pc, #568] ; (80266f0 ) 80264b6: f0a6 ff00 bl 80cd2ba memset(PointPath, 0, sizeof(PointPath)); 80264ba: f44f 7200 mov.w r2, #512 ; 0x200 80264be: 2100 movs r1, #0 80264c0: 488c ldr r0, [pc, #560] ; (80266f4 ) 80264c2: f0a6 fddd bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 80264c6: f44f 7200 mov.w r2, #512 ; 0x200 80264ca: 2100 movs r1, #0 80264cc: 488a ldr r0, [pc, #552] ; (80266f8 ) 80264ce: f0a6 fdd7 bl 80cd080 SearchPath[0] = '0'; 80264d2: 4b89 ldr r3, [pc, #548] ; (80266f8 ) 80264d4: 2230 movs r2, #48 ; 0x30 80264d6: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 80264d8: 4b87 ldr r3, [pc, #540] ; (80266f8 ) 80264da: 223a movs r2, #58 ; 0x3a 80264dc: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 80264de: 4b87 ldr r3, [pc, #540] ; (80266fc ) 80264e0: 2209 movs r2, #9 80264e2: 701a strb r2, [r3, #0] FlagReturn = false; 80264e4: 4b86 ldr r3, [pc, #536] ; (8026700 ) 80264e6: 2200 movs r2, #0 80264e8: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 80264ea: 2100 movs r1, #0 80264ec: 4882 ldr r0, [pc, #520] ; (80266f8 ) 80264ee: f005 f9dd bl 802b8ac if(PointPath[0] == 0) 80264f2: 4b80 ldr r3, [pc, #512] ; (80266f4 ) 80264f4: 781b ldrb r3, [r3, #0] 80264f6: 2b00 cmp r3, #0 80264f8: d103 bne.n 8026502 { res = FR_NO_FILE; 80264fa: 2304 movs r3, #4 80264fc: f887 3027 strb.w r3, [r7, #39] ; 0x27 8026500: e312 b.n 8026b28 } else { res = f_open(&F, PointPath, FA_READ); 8026502: 2201 movs r2, #1 8026504: 497b ldr r1, [pc, #492] ; (80266f4 ) 8026506: 487f ldr r0, [pc, #508] ; (8026704 ) 8026508: f09f fcfa bl 80c5f00 802650c: 4603 mov r3, r0 802650e: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8026512: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026516: 2b00 cmp r3, #0 8026518: f040 8306 bne.w 8026b28 { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 802651c: f04f 0200 mov.w r2, #0 8026520: f04f 0300 mov.w r3, #0 8026524: 4877 ldr r0, [pc, #476] ; (8026704 ) 8026526: f0a0 fb4f bl 80c6bc8 802652a: 4603 mov r3, r0 802652c: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8026530: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026534: 2b00 cmp r3, #0 8026536: d127 bne.n 8026588 { res = f_read(&F, sector, 6, &fk); 8026538: f107 0308 add.w r3, r7, #8 802653c: 2206 movs r2, #6 802653e: 4972 ldr r1, [pc, #456] ; (8026708 ) 8026540: 4870 ldr r0, [pc, #448] ; (8026704 ) 8026542: f09f ff3a bl 80c63ba 8026546: 4603 mov r3, r0 8026548: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 6)) 802654c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026550: 2b00 cmp r3, #0 8026552: d114 bne.n 802657e 8026554: 68bb ldr r3, [r7, #8] 8026556: 2b06 cmp r3, #6 8026558: d111 bne.n 802657e { sector[6] = '\0'; 802655a: 4b6b ldr r3, [pc, #428] ; (8026708 ) 802655c: 2200 movs r2, #0 802655e: 719a strb r2, [r3, #6] if(!strcmp((char *) sector, "Extend")) 8026560: 496a ldr r1, [pc, #424] ; (802670c ) 8026562: 4869 ldr r0, [pc, #420] ; (8026708 ) 8026564: f7f9 fecc bl 8020300 8026568: 4603 mov r3, r0 802656a: 2b00 cmp r3, #0 802656c: d103 bne.n 8026576 NEWFILE = true; 802656e: 4b68 ldr r3, [pc, #416] ; (8026710 ) 8026570: 2201 movs r2, #1 8026572: 701a strb r2, [r3, #0] if(!strcmp((char *) sector, "Extend")) 8026574: e00d b.n 8026592 else NEWFILE = false; 8026576: 4b66 ldr r3, [pc, #408] ; (8026710 ) 8026578: 2200 movs r2, #0 802657a: 701a strb r2, [r3, #0] if(!strcmp((char *) sector, "Extend")) 802657c: e009 b.n 8026592 } else { f_close(&F); 802657e: 4861 ldr r0, [pc, #388] ; (8026704 ) 8026580: f0a0 fb02 bl 80c6b88 return FR_DISK_ERR; 8026584: 2301 movs r3, #1 8026586: e2d1 b.n 8026b2c } } else { f_close(&F); 8026588: 485e ldr r0, [pc, #376] ; (8026704 ) 802658a: f0a0 fafd bl 80c6b88 return FR_DISK_ERR; 802658e: 2301 movs r3, #1 8026590: e2cc b.n 8026b2c } /////////////////////////////////////////////////////////////////////////////// memset(sector, 0xff, sizeof(sector)); 8026592: f44f 7200 mov.w r2, #512 ; 0x200 8026596: 21ff movs r1, #255 ; 0xff 8026598: 485b ldr r0, [pc, #364] ; (8026708 ) 802659a: f0a6 fd71 bl 80cd080 if(NEWFILE) 802659e: 4b5c ldr r3, [pc, #368] ; (8026710 ) 80265a0: 781b ldrb r3, [r3, #0] 80265a2: b2db uxtb r3, r3 80265a4: 2b00 cmp r3, #0 80265a6: f000 818c beq.w 80268c2 { if(f_size(&F) > 40096u) 80265aa: 4b56 ldr r3, [pc, #344] ; (8026704 ) 80265ac: e9d3 3404 ldrd r3, r4, [r3, #16] 80265b0: f649 41a0 movw r1, #40096 ; 0x9ca0 80265b4: f04f 0200 mov.w r2, #0 80265b8: 42a2 cmp r2, r4 80265ba: bf08 it eq 80265bc: 4299 cmpeq r1, r3 80265be: f080 8175 bcs.w 80268ac { for(ii = 0; ii < NUM_POINTS; ii++) 80265c2: 2300 movs r3, #0 80265c4: 833b strh r3, [r7, #24] 80265c6: e0f7 b.n 80267b8 { ifs = 40096u; 80265c8: f649 43a0 movw r3, #40096 ; 0x9ca0 80265cc: f04f 0400 mov.w r4, #0 80265d0: e9c7 3404 strd r3, r4, [r7, #16] im = 0; 80265d4: 2300 movs r3, #0 80265d6: 623b str r3, [r7, #32] while(ifs < f_size(&F)) 80265d8: e0e1 b.n 802679e { res = f_lseek(&F, ifs); 80265da: e9d7 2304 ldrd r2, r3, [r7, #16] 80265de: 4849 ldr r0, [pc, #292] ; (8026704 ) 80265e0: f0a0 faf2 bl 80c6bc8 80265e4: 4603 mov r3, r0 80265e6: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 80265ea: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80265ee: 2b00 cmp r3, #0 80265f0: f040 80b1 bne.w 8026756 { res = f_read(&F, sector, 29, &fk); 80265f4: f107 0308 add.w r3, r7, #8 80265f8: 221d movs r2, #29 80265fa: 4943 ldr r1, [pc, #268] ; (8026708 ) 80265fc: 4841 ldr r0, [pc, #260] ; (8026704 ) 80265fe: f09f fedc bl 80c63ba 8026602: 4603 mov r3, r0 8026604: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 29)) 8026608: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 802660c: 2b00 cmp r3, #0 802660e: d160 bne.n 80266d2 8026610: 68bb ldr r3, [r7, #8] 8026612: 2b1d cmp r3, #29 8026614: d15d bne.n 80266d2 { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8026616: 4b3c ldr r3, [pc, #240] ; (8026708 ) 8026618: 7edb ldrb r3, [r3, #27] 802661a: 2b0d cmp r3, #13 802661c: d12c bne.n 8026678 802661e: 4b3a ldr r3, [pc, #232] ; (8026708 ) 8026620: 7f1b ldrb r3, [r3, #28] 8026622: 2b0a cmp r3, #10 8026624: d128 bne.n 8026678 { IM = sector[eMeas + 1]; 8026626: 4b38 ldr r3, [pc, #224] ; (8026708 ) 8026628: 78db ldrb r3, [r3, #3] 802662a: 81fb strh r3, [r7, #14] IM = (IM << 8) | sector[eMeas]; 802662c: 89fb ldrh r3, [r7, #14] 802662e: 021b lsls r3, r3, #8 8026630: b21a sxth r2, r3 8026632: 4b35 ldr r3, [pc, #212] ; (8026708 ) 8026634: 789b ldrb r3, [r3, #2] 8026636: b21b sxth r3, r3 8026638: 4313 orrs r3, r2 802663a: b21b sxth r3, r3 802663c: 81fb strh r3, [r7, #14] IP = sector[ePoint + 1]; 802663e: 4b32 ldr r3, [pc, #200] ; (8026708 ) 8026640: 785b ldrb r3, [r3, #1] 8026642: 837b strh r3, [r7, #26] IP = (IP << 8) | sector[ePoint]; 8026644: 8b7b ldrh r3, [r7, #26] 8026646: 021b lsls r3, r3, #8 8026648: b21a sxth r2, r3 802664a: 4b2f ldr r3, [pc, #188] ; (8026708 ) 802664c: 781b ldrb r3, [r3, #0] 802664e: b21b sxth r3, r3 8026650: 4313 orrs r3, r2 8026652: b21b sxth r3, r3 8026654: 837b strh r3, [r7, #26] if((IP == ii) && (IM > im) && (IM < 65536)) 8026656: 8b7a ldrh r2, [r7, #26] 8026658: 8b3b ldrh r3, [r7, #24] 802665a: 429a cmp r2, r3 802665c: d130 bne.n 80266c0 802665e: 89fa ldrh r2, [r7, #14] 8026660: 6a3b ldr r3, [r7, #32] 8026662: 429a cmp r2, r3 8026664: d92c bls.n 80266c0 { im = IM; 8026666: 89fb ldrh r3, [r7, #14] 8026668: 623b str r3, [r7, #32] IndexMeas[ii] = (im + 1); 802666a: 8b3b ldrh r3, [r7, #24] 802666c: 6a3a ldr r2, [r7, #32] 802666e: 3201 adds r2, #1 8026670: 491d ldr r1, [pc, #116] ; (80266e8 ) 8026672: f841 2023 str.w r2, [r1, r3, lsl #2] if((IP == ii) && (IM > im) && (IM < 65536)) 8026676: e023 b.n 80266c0 } } else { for(i = 0; i < NUM_POINTS; i++) 8026678: 2300 movs r3, #0 802667a: 61fb str r3, [r7, #28] 802667c: e010 b.n 80266a0 { if(IndexMeas[i] > MaxIndexMeas) 802667e: 4a1a ldr r2, [pc, #104] ; (80266e8 ) 8026680: 69fb ldr r3, [r7, #28] 8026682: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026686: 4b17 ldr r3, [pc, #92] ; (80266e4 ) 8026688: 681b ldr r3, [r3, #0] 802668a: 429a cmp r2, r3 802668c: d905 bls.n 802669a MaxIndexMeas = IndexMeas[i]; 802668e: 4a16 ldr r2, [pc, #88] ; (80266e8 ) 8026690: 69fb ldr r3, [r7, #28] 8026692: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026696: 4a13 ldr r2, [pc, #76] ; (80266e4 ) 8026698: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 802669a: 69fb ldr r3, [r7, #28] 802669c: 3301 adds r3, #1 802669e: 61fb str r3, [r7, #28] 80266a0: 69fb ldr r3, [r7, #28] 80266a2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80266a6: d3ea bcc.n 802667e } NextIndexPoint = IP; 80266a8: 8b7b ldrh r3, [r7, #26] 80266aa: 4a0c ldr r2, [pc, #48] ; (80266dc ) 80266ac: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 80266ae: 4b0d ldr r3, [pc, #52] ; (80266e4 ) 80266b0: 681b ldr r3, [r3, #0] 80266b2: 4a0b ldr r2, [pc, #44] ; (80266e0 ) 80266b4: 6013 str r3, [r2, #0] f_close(&F); 80266b6: 4813 ldr r0, [pc, #76] ; (8026704 ) 80266b8: f0a0 fa66 bl 80c6b88 return FR_INVALID_OBJECT; 80266bc: 2309 movs r3, #9 80266be: e235 b.n 8026b2c if((IP == ii) && (IM > im) && (IM < 65536)) 80266c0: bf00 nop } ifs += 29; 80266c2: e9d7 3404 ldrd r3, r4, [r7, #16] 80266c6: 331d adds r3, #29 80266c8: f144 0400 adc.w r4, r4, #0 80266cc: e9c7 3404 strd r3, r4, [r7, #16] 80266d0: e065 b.n 802679e } else { for(i = 0; i < NUM_POINTS; i++) 80266d2: 2300 movs r3, #0 80266d4: 61fb str r3, [r7, #28] 80266d6: e02e b.n 8026736 80266d8: 20022650 .word 0x20022650 80266dc: 20021f9c .word 0x20021f9c 80266e0: 20022310 .word 0x20022310 80266e4: 20022980 .word 0x20022980 80266e8: 20022ea0 .word 0x20022ea0 80266ec: 2002164c .word 0x2002164c 80266f0: 20022bb8 .word 0x20022bb8 80266f4: 200229b4 .word 0x200229b4 80266f8: 20021d80 .word 0x20021d80 80266fc: 20020ddf .word 0x20020ddf 8026700: 20020dde .word 0x20020dde 8026704: 20022e20 .word 0x20022e20 8026708: 2007c000 .word 0x2007c000 802670c: 080ce4cc .word 0x080ce4cc 8026710: 20020e14 .word 0x20020e14 { if(IndexMeas[i] > MaxIndexMeas) 8026714: 4a9d ldr r2, [pc, #628] ; (802698c ) 8026716: 69fb ldr r3, [r7, #28] 8026718: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802671c: 4b9c ldr r3, [pc, #624] ; (8026990 ) 802671e: 681b ldr r3, [r3, #0] 8026720: 429a cmp r2, r3 8026722: d905 bls.n 8026730 MaxIndexMeas = IndexMeas[i]; 8026724: 4a99 ldr r2, [pc, #612] ; (802698c ) 8026726: 69fb ldr r3, [r7, #28] 8026728: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802672c: 4a98 ldr r2, [pc, #608] ; (8026990 ) 802672e: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026730: 69fb ldr r3, [r7, #28] 8026732: 3301 adds r3, #1 8026734: 61fb str r3, [r7, #28] 8026736: 69fb ldr r3, [r7, #28] 8026738: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 802673c: d3ea bcc.n 8026714 } NextIndexPoint = IP; 802673e: 8b7b ldrh r3, [r7, #26] 8026740: 4a94 ldr r2, [pc, #592] ; (8026994 ) 8026742: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8026744: 4b92 ldr r3, [pc, #584] ; (8026990 ) 8026746: 681b ldr r3, [r3, #0] 8026748: 4a93 ldr r2, [pc, #588] ; (8026998 ) 802674a: 6013 str r3, [r2, #0] f_close(&F); 802674c: 4893 ldr r0, [pc, #588] ; (802699c ) 802674e: f0a0 fa1b bl 80c6b88 return FR_DISK_ERR; 8026752: 2301 movs r3, #1 8026754: e1ea b.n 8026b2c } } else { for(i = 0; i < NUM_POINTS; i++) 8026756: 2300 movs r3, #0 8026758: 61fb str r3, [r7, #28] 802675a: e010 b.n 802677e { if(IndexMeas[i] > MaxIndexMeas) 802675c: 4a8b ldr r2, [pc, #556] ; (802698c ) 802675e: 69fb ldr r3, [r7, #28] 8026760: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026764: 4b8a ldr r3, [pc, #552] ; (8026990 ) 8026766: 681b ldr r3, [r3, #0] 8026768: 429a cmp r2, r3 802676a: d905 bls.n 8026778 MaxIndexMeas = IndexMeas[i]; 802676c: 4a87 ldr r2, [pc, #540] ; (802698c ) 802676e: 69fb ldr r3, [r7, #28] 8026770: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026774: 4a86 ldr r2, [pc, #536] ; (8026990 ) 8026776: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026778: 69fb ldr r3, [r7, #28] 802677a: 3301 adds r3, #1 802677c: 61fb str r3, [r7, #28] 802677e: 69fb ldr r3, [r7, #28] 8026780: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026784: d3ea bcc.n 802675c } NextIndexPoint = IP; 8026786: 8b7b ldrh r3, [r7, #26] 8026788: 4a82 ldr r2, [pc, #520] ; (8026994 ) 802678a: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 802678c: 4b80 ldr r3, [pc, #512] ; (8026990 ) 802678e: 681b ldr r3, [r3, #0] 8026790: 4a81 ldr r2, [pc, #516] ; (8026998 ) 8026792: 6013 str r3, [r2, #0] f_close(&F); 8026794: 4881 ldr r0, [pc, #516] ; (802699c ) 8026796: f0a0 f9f7 bl 80c6b88 return FR_DISK_ERR; 802679a: 2301 movs r3, #1 802679c: e1c6 b.n 8026b2c while(ifs < f_size(&F)) 802679e: 4b7f ldr r3, [pc, #508] ; (802699c ) 80267a0: e9d3 3404 ldrd r3, r4, [r3, #16] 80267a4: e9d7 1204 ldrd r1, r2, [r7, #16] 80267a8: 42a2 cmp r2, r4 80267aa: bf08 it eq 80267ac: 4299 cmpeq r1, r3 80267ae: f4ff af14 bcc.w 80265da for(ii = 0; ii < NUM_POINTS; ii++) 80267b2: 8b3b ldrh r3, [r7, #24] 80267b4: 3301 adds r3, #1 80267b6: 833b strh r3, [r7, #24] 80267b8: 8b3b ldrh r3, [r7, #24] 80267ba: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80267be: f4ff af03 bcc.w 80265c8 } } } // end for(ii = 0; ...) if(res == FR_OK) 80267c2: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80267c6: 2b00 cmp r3, #0 80267c8: f040 81ae bne.w 8026b28 { for(i = 0; i < NUM_POINTS; i++) 80267cc: 2300 movs r3, #0 80267ce: 61fb str r3, [r7, #28] 80267d0: e010 b.n 80267f4 { if(IndexMeas[i] > MaxIndexMeas) 80267d2: 4a6e ldr r2, [pc, #440] ; (802698c ) 80267d4: 69fb ldr r3, [r7, #28] 80267d6: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80267da: 4b6d ldr r3, [pc, #436] ; (8026990 ) 80267dc: 681b ldr r3, [r3, #0] 80267de: 429a cmp r2, r3 80267e0: d905 bls.n 80267ee MaxIndexMeas = IndexMeas[i]; 80267e2: 4a6a ldr r2, [pc, #424] ; (802698c ) 80267e4: 69fb ldr r3, [r7, #28] 80267e6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80267ea: 4a69 ldr r2, [pc, #420] ; (8026990 ) 80267ec: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80267ee: 69fb ldr r3, [r7, #28] 80267f0: 3301 adds r3, #1 80267f2: 61fb str r3, [r7, #28] 80267f4: 69fb ldr r3, [r7, #28] 80267f6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80267fa: d3ea bcc.n 80267d2 } NextIndexPoint = IP; 80267fc: 8b7b ldrh r3, [r7, #26] 80267fe: 4a65 ldr r2, [pc, #404] ; (8026994 ) 8026800: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 8026802: 4b64 ldr r3, [pc, #400] ; (8026994 ) 8026804: 681b ldr r3, [r3, #0] 8026806: 4a61 ldr r2, [pc, #388] ; (802698c ) 8026808: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802680c: 4a62 ldr r2, [pc, #392] ; (8026998 ) 802680e: 6013 str r3, [r2, #0] ifs = 96u + (sizeof(Comment) * NextIndexPoint); 8026810: 4b60 ldr r3, [pc, #384] ; (8026994 ) 8026812: 681a ldr r2, [r3, #0] 8026814: 4613 mov r3, r2 8026816: 009b lsls r3, r3, #2 8026818: 4413 add r3, r2 802681a: 00db lsls r3, r3, #3 802681c: 3360 adds r3, #96 ; 0x60 802681e: f04f 0400 mov.w r4, #0 8026822: e9c7 3404 strd r3, r4, [r7, #16] res = f_lseek(&F, ifs); 8026826: e9d7 2304 ldrd r2, r3, [r7, #16] 802682a: 485c ldr r0, [pc, #368] ; (802699c ) 802682c: f0a0 f9cc bl 80c6bc8 8026830: 4603 mov r3, r0 8026832: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 8026836: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 802683a: 2b00 cmp r3, #0 802683c: d131 bne.n 80268a2 { res = f_read(&F, sector, sizeof(Comment), &fk); 802683e: f107 0308 add.w r3, r7, #8 8026842: 2228 movs r2, #40 ; 0x28 8026844: 4956 ldr r1, [pc, #344] ; (80269a0 ) 8026846: 4855 ldr r0, [pc, #340] ; (802699c ) 8026848: f09f fdb7 bl 80c63ba 802684c: 4603 mov r3, r0 802684e: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == sizeof(Comment))) 8026852: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026856: 2b00 cmp r3, #0 8026858: d11e bne.n 8026898 802685a: 68bb ldr r3, [r7, #8] 802685c: 2b28 cmp r3, #40 ; 0x28 802685e: d11b bne.n 8026898 { memcpy(Comment, sector, sizeof(Comment)); 8026860: 4b50 ldr r3, [pc, #320] ; (80269a4 ) 8026862: 4a4f ldr r2, [pc, #316] ; (80269a0 ) 8026864: 4614 mov r4, r2 8026866: 469e mov lr, r3 8026868: f104 0c20 add.w ip, r4, #32 802686c: 4675 mov r5, lr 802686e: 4626 mov r6, r4 8026870: ce0f ldmia r6!, {r0, r1, r2, r3} 8026872: 6028 str r0, [r5, #0] 8026874: 6069 str r1, [r5, #4] 8026876: 60aa str r2, [r5, #8] 8026878: 60eb str r3, [r5, #12] 802687a: 3410 adds r4, #16 802687c: f10e 0e10 add.w lr, lr, #16 8026880: 4564 cmp r4, ip 8026882: d1f3 bne.n 802686c 8026884: 4672 mov r2, lr 8026886: 4623 mov r3, r4 8026888: cb03 ldmia r3!, {r0, r1} 802688a: 6010 str r0, [r2, #0] 802688c: 6051 str r1, [r2, #4] f_close(&F); 802688e: 4843 ldr r0, [pc, #268] ; (802699c ) 8026890: f0a0 f97a bl 80c6b88 return FR_OK; 8026894: 2300 movs r3, #0 8026896: e149 b.n 8026b2c } else { f_close(&F); 8026898: 4840 ldr r0, [pc, #256] ; (802699c ) 802689a: f0a0 f975 bl 80c6b88 return FR_DISK_ERR; 802689e: 2301 movs r3, #1 80268a0: e144 b.n 8026b2c } } else { f_close(&F); 80268a2: 483e ldr r0, [pc, #248] ; (802699c ) 80268a4: f0a0 f970 bl 80c6b88 return FR_DISK_ERR; 80268a8: 2301 movs r3, #1 80268aa: e13f b.n 8026b2c } } } else { NextIndexPoint = 0; 80268ac: 4b39 ldr r3, [pc, #228] ; (8026994 ) 80268ae: 2200 movs r2, #0 80268b0: 601a str r2, [r3, #0] NextIndexMeas = 1; 80268b2: 4b39 ldr r3, [pc, #228] ; (8026998 ) 80268b4: 2201 movs r2, #1 80268b6: 601a str r2, [r3, #0] f_close(&F); 80268b8: 4838 ldr r0, [pc, #224] ; (802699c ) 80268ba: f0a0 f965 bl 80c6b88 return FR_OK; 80268be: 2300 movs r3, #0 80268c0: e134 b.n 8026b2c } } else { if(f_size(&F) > 0) 80268c2: 4b36 ldr r3, [pc, #216] ; (802699c ) 80268c4: e9d3 3404 ldrd r3, r4, [r3, #16] 80268c8: 4323 orrs r3, r4 80268ca: f000 811c beq.w 8026b06 { for(ii = 0; ii < NUM_POINTS; ii++) 80268ce: 2300 movs r3, #0 80268d0: 833b strh r3, [r7, #24] 80268d2: e0e8 b.n 8026aa6 { ifs = 0; 80268d4: f04f 0300 mov.w r3, #0 80268d8: f04f 0400 mov.w r4, #0 80268dc: e9c7 3404 strd r3, r4, [r7, #16] im = 0; 80268e0: 2300 movs r3, #0 80268e2: 623b str r3, [r7, #32] while(ifs < f_size(&F)) 80268e4: e0d2 b.n 8026a8c { res = f_lseek(&F, ifs); 80268e6: e9d7 2304 ldrd r2, r3, [r7, #16] 80268ea: 482c ldr r0, [pc, #176] ; (802699c ) 80268ec: f0a0 f96c bl 80c6bc8 80268f0: 4603 mov r3, r0 80268f2: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(res == FR_OK) 80268f6: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80268fa: 2b00 cmp r3, #0 80268fc: f040 80a2 bne.w 8026a44 { res = f_read(&F, sector, 29, &fk); 8026900: f107 0308 add.w r3, r7, #8 8026904: 221d movs r2, #29 8026906: 4926 ldr r1, [pc, #152] ; (80269a0 ) 8026908: 4824 ldr r0, [pc, #144] ; (802699c ) 802690a: f09f fd56 bl 80c63ba 802690e: 4603 mov r3, r0 8026910: f887 3027 strb.w r3, [r7, #39] ; 0x27 if((res == FR_OK) && (fk == 29)) 8026914: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026918: 2b00 cmp r3, #0 802691a: d16f bne.n 80269fc 802691c: 68bb ldr r3, [r7, #8] 802691e: 2b1d cmp r3, #29 8026920: d16c bne.n 80269fc { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8026922: 4b1f ldr r3, [pc, #124] ; (80269a0 ) 8026924: 7edb ldrb r3, [r3, #27] 8026926: 2b0d cmp r3, #13 8026928: d12c bne.n 8026984 802692a: 4b1d ldr r3, [pc, #116] ; (80269a0 ) 802692c: 7f1b ldrb r3, [r3, #28] 802692e: 2b0a cmp r3, #10 8026930: d128 bne.n 8026984 { IM = sector[eMeas + 1]; 8026932: 4b1b ldr r3, [pc, #108] ; (80269a0 ) 8026934: 78db ldrb r3, [r3, #3] 8026936: 81fb strh r3, [r7, #14] IM = (IM << 8) | sector[eMeas]; 8026938: 89fb ldrh r3, [r7, #14] 802693a: 021b lsls r3, r3, #8 802693c: b21a sxth r2, r3 802693e: 4b18 ldr r3, [pc, #96] ; (80269a0 ) 8026940: 789b ldrb r3, [r3, #2] 8026942: b21b sxth r3, r3 8026944: 4313 orrs r3, r2 8026946: b21b sxth r3, r3 8026948: 81fb strh r3, [r7, #14] IP = sector[ePoint + 1]; 802694a: 4b15 ldr r3, [pc, #84] ; (80269a0 ) 802694c: 785b ldrb r3, [r3, #1] 802694e: 837b strh r3, [r7, #26] IP = (IP << 8) | sector[ePoint]; 8026950: 8b7b ldrh r3, [r7, #26] 8026952: 021b lsls r3, r3, #8 8026954: b21a sxth r2, r3 8026956: 4b12 ldr r3, [pc, #72] ; (80269a0 ) 8026958: 781b ldrb r3, [r3, #0] 802695a: b21b sxth r3, r3 802695c: 4313 orrs r3, r2 802695e: b21b sxth r3, r3 8026960: 837b strh r3, [r7, #26] if((IP == ii) && (IM > im) && (IM < 65536)) 8026962: 8b7a ldrh r2, [r7, #26] 8026964: 8b3b ldrh r3, [r7, #24] 8026966: 429a cmp r2, r3 8026968: d13f bne.n 80269ea 802696a: 89fa ldrh r2, [r7, #14] 802696c: 6a3b ldr r3, [r7, #32] 802696e: 429a cmp r2, r3 8026970: d93b bls.n 80269ea { im = IM; 8026972: 89fb ldrh r3, [r7, #14] 8026974: 623b str r3, [r7, #32] IndexMeas[ii] = (im + 1); 8026976: 8b3b ldrh r3, [r7, #24] 8026978: 6a3a ldr r2, [r7, #32] 802697a: 3201 adds r2, #1 802697c: 4903 ldr r1, [pc, #12] ; (802698c ) 802697e: f841 2023 str.w r2, [r1, r3, lsl #2] if((IP == ii) && (IM > im) && (IM < 65536)) 8026982: e032 b.n 80269ea } } else { for(i = 0; i < NUM_POINTS; i++) 8026984: 2300 movs r3, #0 8026986: 61fb str r3, [r7, #28] 8026988: e01f b.n 80269ca 802698a: bf00 nop 802698c: 20022ea0 .word 0x20022ea0 8026990: 20022980 .word 0x20022980 8026994: 20021f9c .word 0x20021f9c 8026998: 20022310 .word 0x20022310 802699c: 20022e20 .word 0x20022e20 80269a0: 2007c000 .word 0x2007c000 80269a4: 20022650 .word 0x20022650 { if(IndexMeas[i] > MaxIndexMeas) 80269a8: 4a62 ldr r2, [pc, #392] ; (8026b34 ) 80269aa: 69fb ldr r3, [r7, #28] 80269ac: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80269b0: 4b61 ldr r3, [pc, #388] ; (8026b38 ) 80269b2: 681b ldr r3, [r3, #0] 80269b4: 429a cmp r2, r3 80269b6: d905 bls.n 80269c4 MaxIndexMeas = IndexMeas[i]; 80269b8: 4a5e ldr r2, [pc, #376] ; (8026b34 ) 80269ba: 69fb ldr r3, [r7, #28] 80269bc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80269c0: 4a5d ldr r2, [pc, #372] ; (8026b38 ) 80269c2: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 80269c4: 69fb ldr r3, [r7, #28] 80269c6: 3301 adds r3, #1 80269c8: 61fb str r3, [r7, #28] 80269ca: 69fb ldr r3, [r7, #28] 80269cc: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80269d0: d3ea bcc.n 80269a8 } NextIndexPoint = IP; 80269d2: 8b7b ldrh r3, [r7, #26] 80269d4: 4a59 ldr r2, [pc, #356] ; (8026b3c ) 80269d6: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 80269d8: 4b57 ldr r3, [pc, #348] ; (8026b38 ) 80269da: 681b ldr r3, [r3, #0] 80269dc: 4a58 ldr r2, [pc, #352] ; (8026b40 ) 80269de: 6013 str r3, [r2, #0] f_close(&F); 80269e0: 4858 ldr r0, [pc, #352] ; (8026b44 ) 80269e2: f0a0 f8d1 bl 80c6b88 return FR_INVALID_OBJECT; 80269e6: 2309 movs r3, #9 80269e8: e0a0 b.n 8026b2c if((IP == ii) && (IM > im) && (IM < 65536)) 80269ea: bf00 nop } ifs += 29; 80269ec: e9d7 3404 ldrd r3, r4, [r7, #16] 80269f0: 331d adds r3, #29 80269f2: f144 0400 adc.w r4, r4, #0 80269f6: e9c7 3404 strd r3, r4, [r7, #16] 80269fa: e047 b.n 8026a8c } else { for(i = 0; i < NUM_POINTS; i++) 80269fc: 2300 movs r3, #0 80269fe: 61fb str r3, [r7, #28] 8026a00: e010 b.n 8026a24 { if(IndexMeas[i] > MaxIndexMeas) 8026a02: 4a4c ldr r2, [pc, #304] ; (8026b34 ) 8026a04: 69fb ldr r3, [r7, #28] 8026a06: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026a0a: 4b4b ldr r3, [pc, #300] ; (8026b38 ) 8026a0c: 681b ldr r3, [r3, #0] 8026a0e: 429a cmp r2, r3 8026a10: d905 bls.n 8026a1e MaxIndexMeas = IndexMeas[i]; 8026a12: 4a48 ldr r2, [pc, #288] ; (8026b34 ) 8026a14: 69fb ldr r3, [r7, #28] 8026a16: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026a1a: 4a47 ldr r2, [pc, #284] ; (8026b38 ) 8026a1c: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026a1e: 69fb ldr r3, [r7, #28] 8026a20: 3301 adds r3, #1 8026a22: 61fb str r3, [r7, #28] 8026a24: 69fb ldr r3, [r7, #28] 8026a26: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026a2a: d3ea bcc.n 8026a02 } NextIndexPoint = IP; 8026a2c: 8b7b ldrh r3, [r7, #26] 8026a2e: 4a43 ldr r2, [pc, #268] ; (8026b3c ) 8026a30: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8026a32: 4b41 ldr r3, [pc, #260] ; (8026b38 ) 8026a34: 681b ldr r3, [r3, #0] 8026a36: 4a42 ldr r2, [pc, #264] ; (8026b40 ) 8026a38: 6013 str r3, [r2, #0] f_close(&F); 8026a3a: 4842 ldr r0, [pc, #264] ; (8026b44 ) 8026a3c: f0a0 f8a4 bl 80c6b88 return FR_DISK_ERR; 8026a40: 2301 movs r3, #1 8026a42: e073 b.n 8026b2c } } else { for(i = 0; i < NUM_POINTS; i++) 8026a44: 2300 movs r3, #0 8026a46: 61fb str r3, [r7, #28] 8026a48: e010 b.n 8026a6c { if(IndexMeas[i] > MaxIndexMeas) 8026a4a: 4a3a ldr r2, [pc, #232] ; (8026b34 ) 8026a4c: 69fb ldr r3, [r7, #28] 8026a4e: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026a52: 4b39 ldr r3, [pc, #228] ; (8026b38 ) 8026a54: 681b ldr r3, [r3, #0] 8026a56: 429a cmp r2, r3 8026a58: d905 bls.n 8026a66 MaxIndexMeas = IndexMeas[i]; 8026a5a: 4a36 ldr r2, [pc, #216] ; (8026b34 ) 8026a5c: 69fb ldr r3, [r7, #28] 8026a5e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026a62: 4a35 ldr r2, [pc, #212] ; (8026b38 ) 8026a64: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026a66: 69fb ldr r3, [r7, #28] 8026a68: 3301 adds r3, #1 8026a6a: 61fb str r3, [r7, #28] 8026a6c: 69fb ldr r3, [r7, #28] 8026a6e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026a72: d3ea bcc.n 8026a4a } NextIndexPoint = IP; 8026a74: 8b7b ldrh r3, [r7, #26] 8026a76: 4a31 ldr r2, [pc, #196] ; (8026b3c ) 8026a78: 6013 str r3, [r2, #0] NextIndexMeas = MaxIndexMeas; 8026a7a: 4b2f ldr r3, [pc, #188] ; (8026b38 ) 8026a7c: 681b ldr r3, [r3, #0] 8026a7e: 4a30 ldr r2, [pc, #192] ; (8026b40 ) 8026a80: 6013 str r3, [r2, #0] f_close(&F); 8026a82: 4830 ldr r0, [pc, #192] ; (8026b44 ) 8026a84: f0a0 f880 bl 80c6b88 return FR_DISK_ERR; 8026a88: 2301 movs r3, #1 8026a8a: e04f b.n 8026b2c while(ifs < f_size(&F)) 8026a8c: 4b2d ldr r3, [pc, #180] ; (8026b44 ) 8026a8e: e9d3 3404 ldrd r3, r4, [r3, #16] 8026a92: e9d7 1204 ldrd r1, r2, [r7, #16] 8026a96: 42a2 cmp r2, r4 8026a98: bf08 it eq 8026a9a: 4299 cmpeq r1, r3 8026a9c: f4ff af23 bcc.w 80268e6 for(ii = 0; ii < NUM_POINTS; ii++) 8026aa0: 8b3b ldrh r3, [r7, #24] 8026aa2: 3301 adds r3, #1 8026aa4: 833b strh r3, [r7, #24] 8026aa6: 8b3b ldrh r3, [r7, #24] 8026aa8: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026aac: f4ff af12 bcc.w 80268d4 } } } // end for(ii = 0; ...) if(res == FR_OK) 8026ab0: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 8026ab4: 2b00 cmp r3, #0 8026ab6: d137 bne.n 8026b28 { for(i = 0; i < NUM_POINTS; i++) 8026ab8: 2300 movs r3, #0 8026aba: 61fb str r3, [r7, #28] 8026abc: e010 b.n 8026ae0 { if(IndexMeas[i] > MaxIndexMeas) 8026abe: 4a1d ldr r2, [pc, #116] ; (8026b34 ) 8026ac0: 69fb ldr r3, [r7, #28] 8026ac2: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8026ac6: 4b1c ldr r3, [pc, #112] ; (8026b38 ) 8026ac8: 681b ldr r3, [r3, #0] 8026aca: 429a cmp r2, r3 8026acc: d905 bls.n 8026ada MaxIndexMeas = IndexMeas[i]; 8026ace: 4a19 ldr r2, [pc, #100] ; (8026b34 ) 8026ad0: 69fb ldr r3, [r7, #28] 8026ad2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026ad6: 4a18 ldr r2, [pc, #96] ; (8026b38 ) 8026ad8: 6013 str r3, [r2, #0] for(i = 0; i < NUM_POINTS; i++) 8026ada: 69fb ldr r3, [r7, #28] 8026adc: 3301 adds r3, #1 8026ade: 61fb str r3, [r7, #28] 8026ae0: 69fb ldr r3, [r7, #28] 8026ae2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8026ae6: d3ea bcc.n 8026abe } NextIndexPoint = IP; 8026ae8: 8b7b ldrh r3, [r7, #26] 8026aea: 4a14 ldr r2, [pc, #80] ; (8026b3c ) 8026aec: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 8026aee: 4b13 ldr r3, [pc, #76] ; (8026b3c ) 8026af0: 681b ldr r3, [r3, #0] 8026af2: 4a10 ldr r2, [pc, #64] ; (8026b34 ) 8026af4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8026af8: 4a11 ldr r2, [pc, #68] ; (8026b40 ) 8026afa: 6013 str r3, [r2, #0] f_close(&F); 8026afc: 4811 ldr r0, [pc, #68] ; (8026b44 ) 8026afe: f0a0 f843 bl 80c6b88 return FR_OK; 8026b02: 2300 movs r3, #0 8026b04: e012 b.n 8026b2c } } else { NextIndexPoint = 0; 8026b06: 4b0d ldr r3, [pc, #52] ; (8026b3c ) 8026b08: 2200 movs r2, #0 8026b0a: 601a str r2, [r3, #0] NextIndexMeas = 1; 8026b0c: 4b0c ldr r3, [pc, #48] ; (8026b40 ) 8026b0e: 2201 movs r2, #1 8026b10: 601a str r2, [r3, #0] f_close(&F); 8026b12: 480c ldr r0, [pc, #48] ; (8026b44 ) 8026b14: f0a0 f838 bl 80c6b88 return FR_OK; 8026b18: 2300 movs r3, #0 8026b1a: e007 b.n 8026b2c } } } else { NextIndexPoint = 0; 8026b1c: 4b07 ldr r3, [pc, #28] ; (8026b3c ) 8026b1e: 2200 movs r2, #0 8026b20: 601a str r2, [r3, #0] NextIndexMeas = 1; 8026b22: 4b07 ldr r3, [pc, #28] ; (8026b40 ) 8026b24: 2201 movs r2, #1 8026b26: 601a str r2, [r3, #0] } return res; 8026b28: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 } 8026b2c: 4618 mov r0, r3 8026b2e: 372c adds r7, #44 ; 0x2c 8026b30: 46bd mov sp, r7 8026b32: bdf0 pop {r4, r5, r6, r7, pc} 8026b34: 20022ea0 .word 0x20022ea0 8026b38: 20022980 .word 0x20022980 8026b3c: 20021f9c .word 0x20021f9c 8026b40: 20022310 .word 0x20022310 8026b44: 20022e20 .word 0x20022e20 08026b48 : FRESULT ReadTrendPTM(char* fname) { 8026b48: b5f0 push {r4, r5, r6, r7, lr} 8026b4a: b089 sub sp, #36 ; 0x24 8026b4c: af00 add r7, sp, #0 8026b4e: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8026b50: 2300 movs r3, #0 8026b52: 77fb strb r3, [r7, #31] uint16_t IP; UINT fk; FSIZE_t ifs; NumTrendMeas = 0; 8026b54: 4b92 ldr r3, [pc, #584] ; (8026da0 ) 8026b56: 2200 movs r2, #0 8026b58: 601a str r2, [r3, #0] memset(pTrendRAM, 0, 1000u * sizeof(TrendData_TypeDef)); 8026b5a: f644 6220 movw r2, #20000 ; 0x4e20 8026b5e: 2100 movs r1, #0 8026b60: 4890 ldr r0, [pc, #576] ; (8026da4 ) 8026b62: f0a6 fa8d bl 80cd080 if(CardState != MSD_READY) { 8026b66: 4b90 ldr r3, [pc, #576] ; (8026da8 ) 8026b68: 781b ldrb r3, [r3, #0] 8026b6a: b2db uxtb r3, r3 8026b6c: 2b03 cmp r3, #3 8026b6e: d001 beq.n 8026b74 return FR_NOT_READY; 8026b70: 2303 movs r3, #3 8026b72: e1a1 b.n 8026eb8 } if(res == FR_OK) 8026b74: 7ffb ldrb r3, [r7, #31] 8026b76: 2b00 cmp r3, #0 8026b78: f040 819d bne.w 8026eb6 { memset(FileName, 0, sizeof(FileName)); 8026b7c: 2228 movs r2, #40 ; 0x28 8026b7e: 2100 movs r1, #0 8026b80: 488a ldr r0, [pc, #552] ; (8026dac ) 8026b82: f0a6 fa7d bl 80cd080 strcpy(FileName, fname); 8026b86: 6879 ldr r1, [r7, #4] 8026b88: 4888 ldr r0, [pc, #544] ; (8026dac ) 8026b8a: f0a6 fb96 bl 80cd2ba memset(PointPath, 0, sizeof(PointPath)); 8026b8e: f44f 7200 mov.w r2, #512 ; 0x200 8026b92: 2100 movs r1, #0 8026b94: 4886 ldr r0, [pc, #536] ; (8026db0 ) 8026b96: f0a6 fa73 bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 8026b9a: f44f 7200 mov.w r2, #512 ; 0x200 8026b9e: 2100 movs r1, #0 8026ba0: 4884 ldr r0, [pc, #528] ; (8026db4 ) 8026ba2: f0a6 fa6d bl 80cd080 SearchPath[0] = '0'; 8026ba6: 4b83 ldr r3, [pc, #524] ; (8026db4 ) 8026ba8: 2230 movs r2, #48 ; 0x30 8026baa: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8026bac: 4b81 ldr r3, [pc, #516] ; (8026db4 ) 8026bae: 223a movs r2, #58 ; 0x3a 8026bb0: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8026bb2: 4b81 ldr r3, [pc, #516] ; (8026db8 ) 8026bb4: 2209 movs r2, #9 8026bb6: 701a strb r2, [r3, #0] FlagReturn = false; 8026bb8: 4b80 ldr r3, [pc, #512] ; (8026dbc ) 8026bba: 2200 movs r2, #0 8026bbc: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8026bbe: 2100 movs r1, #0 8026bc0: 487c ldr r0, [pc, #496] ; (8026db4 ) 8026bc2: f004 fe73 bl 802b8ac if(PointPath[0] == 0) 8026bc6: 4b7a ldr r3, [pc, #488] ; (8026db0 ) 8026bc8: 781b ldrb r3, [r3, #0] 8026bca: 2b00 cmp r3, #0 8026bcc: d102 bne.n 8026bd4 { res = FR_NO_FILE; 8026bce: 2304 movs r3, #4 8026bd0: 77fb strb r3, [r7, #31] 8026bd2: e170 b.n 8026eb6 } else { res = f_open(&F, PointPath, FA_READ); 8026bd4: 2201 movs r2, #1 8026bd6: 4976 ldr r1, [pc, #472] ; (8026db0 ) 8026bd8: 4879 ldr r0, [pc, #484] ; (8026dc0 ) 8026bda: f09f f991 bl 80c5f00 8026bde: 4603 mov r3, r0 8026be0: 77fb strb r3, [r7, #31] if(res == FR_OK) 8026be2: 7ffb ldrb r3, [r7, #31] 8026be4: 2b00 cmp r3, #0 8026be6: f040 8166 bne.w 8026eb6 { memset(sector, 0xff, sizeof(sector)); 8026bea: f44f 7200 mov.w r2, #512 ; 0x200 8026bee: 21ff movs r1, #255 ; 0xff 8026bf0: 4874 ldr r0, [pc, #464] ; (8026dc4 ) 8026bf2: f0a6 fa45 bl 80cd080 if(f_size(&F) == 0) 8026bf6: 4b72 ldr r3, [pc, #456] ; (8026dc0 ) 8026bf8: e9d3 3404 ldrd r3, r4, [r3, #16] 8026bfc: 4323 orrs r3, r4 8026bfe: d105 bne.n 8026c0c { f_close(&F); 8026c00: 486f ldr r0, [pc, #444] ; (8026dc0 ) 8026c02: f09f ffc1 bl 80c6b88 res = FR_OK; 8026c06: 2300 movs r3, #0 8026c08: 77fb strb r3, [r7, #31] 8026c0a: e154 b.n 8026eb6 } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8026c0c: f04f 0200 mov.w r2, #0 8026c10: f04f 0300 mov.w r3, #0 8026c14: 486a ldr r0, [pc, #424] ; (8026dc0 ) 8026c16: f09f ffd7 bl 80c6bc8 8026c1a: 4603 mov r3, r0 8026c1c: 77fb strb r3, [r7, #31] if(res == FR_OK) 8026c1e: 7ffb ldrb r3, [r7, #31] 8026c20: 2b00 cmp r3, #0 8026c22: d170 bne.n 8026d06 { res = f_read(&F, sector, 6, &fk); 8026c24: f107 0308 add.w r3, r7, #8 8026c28: 2206 movs r2, #6 8026c2a: 4966 ldr r1, [pc, #408] ; (8026dc4 ) 8026c2c: 4864 ldr r0, [pc, #400] ; (8026dc0 ) 8026c2e: f09f fbc4 bl 80c63ba 8026c32: 4603 mov r3, r0 8026c34: 77fb strb r3, [r7, #31] if((res == FR_OK) && (fk == 6)) 8026c36: 7ffb ldrb r3, [r7, #31] 8026c38: 2b00 cmp r3, #0 8026c3a: d15f bne.n 8026cfc 8026c3c: 68bb ldr r3, [r7, #8] 8026c3e: 2b06 cmp r3, #6 8026c40: d15c bne.n 8026cfc { sector[6] = '\0'; 8026c42: 4b60 ldr r3, [pc, #384] ; (8026dc4 ) 8026c44: 2200 movs r2, #0 8026c46: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 8026c48: 495f ldr r1, [pc, #380] ; (8026dc8 ) 8026c4a: 485e ldr r0, [pc, #376] ; (8026dc4 ) 8026c4c: f7f9 fb58 bl 8020300 8026c50: 4603 mov r3, r0 8026c52: 2b00 cmp r3, #0 8026c54: d006 beq.n 8026c64 { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 8026c56: f04f 0300 mov.w r3, #0 8026c5a: f04f 0400 mov.w r4, #0 8026c5e: e9c7 3404 strd r3, r4, [r7, #16] if(strcmp((char *) sector, "Extend")) 8026c62: e055 b.n 8026d10 } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè ifs = 96u + (sizeof(Comment) * NextIndexPoint); 8026c64: 4b59 ldr r3, [pc, #356] ; (8026dcc ) 8026c66: 681a ldr r2, [r3, #0] 8026c68: 4613 mov r3, r2 8026c6a: 009b lsls r3, r3, #2 8026c6c: 4413 add r3, r2 8026c6e: 00db lsls r3, r3, #3 8026c70: 3360 adds r3, #96 ; 0x60 8026c72: f04f 0400 mov.w r4, #0 8026c76: e9c7 3404 strd r3, r4, [r7, #16] res = f_lseek(&F, ifs); 8026c7a: e9d7 2304 ldrd r2, r3, [r7, #16] 8026c7e: 4850 ldr r0, [pc, #320] ; (8026dc0 ) 8026c80: f09f ffa2 bl 80c6bc8 8026c84: 4603 mov r3, r0 8026c86: 77fb strb r3, [r7, #31] if(res == FR_OK) 8026c88: 7ffb ldrb r3, [r7, #31] 8026c8a: 2b00 cmp r3, #0 8026c8c: d131 bne.n 8026cf2 { res = f_read(&F, sector, sizeof(Comment), &fk); 8026c8e: f107 0308 add.w r3, r7, #8 8026c92: 2228 movs r2, #40 ; 0x28 8026c94: 494b ldr r1, [pc, #300] ; (8026dc4 ) 8026c96: 484a ldr r0, [pc, #296] ; (8026dc0 ) 8026c98: f09f fb8f bl 80c63ba 8026c9c: 4603 mov r3, r0 8026c9e: 77fb strb r3, [r7, #31] if((res == FR_OK) && (fk == sizeof(Comment))) 8026ca0: 7ffb ldrb r3, [r7, #31] 8026ca2: 2b00 cmp r3, #0 8026ca4: d120 bne.n 8026ce8 8026ca6: 68bb ldr r3, [r7, #8] 8026ca8: 2b28 cmp r3, #40 ; 0x28 8026caa: d11d bne.n 8026ce8 { memcpy(Comment, sector, sizeof(Comment)); 8026cac: 4b48 ldr r3, [pc, #288] ; (8026dd0 ) 8026cae: 4a45 ldr r2, [pc, #276] ; (8026dc4 ) 8026cb0: 4614 mov r4, r2 8026cb2: 469e mov lr, r3 8026cb4: f104 0c20 add.w ip, r4, #32 8026cb8: 4675 mov r5, lr 8026cba: 4626 mov r6, r4 8026cbc: ce0f ldmia r6!, {r0, r1, r2, r3} 8026cbe: 6028 str r0, [r5, #0] 8026cc0: 6069 str r1, [r5, #4] 8026cc2: 60aa str r2, [r5, #8] 8026cc4: 60eb str r3, [r5, #12] 8026cc6: 3410 adds r4, #16 8026cc8: f10e 0e10 add.w lr, lr, #16 8026ccc: 4564 cmp r4, ip 8026cce: d1f3 bne.n 8026cb8 8026cd0: 4672 mov r2, lr 8026cd2: 4623 mov r3, r4 8026cd4: cb03 ldmia r3!, {r0, r1} 8026cd6: 6010 str r0, [r2, #0] 8026cd8: 6051 str r1, [r2, #4] ifs = 96u + (NUM_POINTS * sizeof(Comment)); 8026cda: f649 43a0 movw r3, #40096 ; 0x9ca0 8026cde: f04f 0400 mov.w r4, #0 8026ce2: e9c7 3404 strd r3, r4, [r7, #16] if(strcmp((char *) sector, "Extend")) 8026ce6: e013 b.n 8026d10 } else { f_close(&F); 8026ce8: 4835 ldr r0, [pc, #212] ; (8026dc0 ) 8026cea: f09f ff4d bl 80c6b88 return FR_DISK_ERR; 8026cee: 2301 movs r3, #1 8026cf0: e0e2 b.n 8026eb8 } } else { f_close(&F); 8026cf2: 4833 ldr r0, [pc, #204] ; (8026dc0 ) 8026cf4: f09f ff48 bl 80c6b88 return FR_DISK_ERR; 8026cf8: 2301 movs r3, #1 8026cfa: e0dd b.n 8026eb8 } } } else { f_close(&F); 8026cfc: 4830 ldr r0, [pc, #192] ; (8026dc0 ) 8026cfe: f09f ff43 bl 80c6b88 return FR_DISK_ERR; 8026d02: 2301 movs r3, #1 8026d04: e0d8 b.n 8026eb8 } } else { f_close(&F); 8026d06: 482e ldr r0, [pc, #184] ; (8026dc0 ) 8026d08: f09f ff3e bl 80c6b88 return FR_DISK_ERR; 8026d0c: 2301 movs r3, #1 8026d0e: e0d3 b.n 8026eb8 } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 8026d10: e0c2 b.n 8026e98 { res = f_lseek(&F, ifs); 8026d12: e9d7 2304 ldrd r2, r3, [r7, #16] 8026d16: 482a ldr r0, [pc, #168] ; (8026dc0 ) 8026d18: f09f ff56 bl 80c6bc8 8026d1c: 4603 mov r3, r0 8026d1e: 77fb strb r3, [r7, #31] if(res == FR_OK) 8026d20: 7ffb ldrb r3, [r7, #31] 8026d22: 2b00 cmp r3, #0 8026d24: f040 80b3 bne.w 8026e8e { res = f_read(&F, sector, 29, &fk); 8026d28: f107 0308 add.w r3, r7, #8 8026d2c: 221d movs r2, #29 8026d2e: 4925 ldr r1, [pc, #148] ; (8026dc4 ) 8026d30: 4823 ldr r0, [pc, #140] ; (8026dc0 ) 8026d32: f09f fb42 bl 80c63ba 8026d36: 4603 mov r3, r0 8026d38: 77fb strb r3, [r7, #31] if((res == FR_OK) && (fk == 29)) 8026d3a: 7ffb ldrb r3, [r7, #31] 8026d3c: 2b00 cmp r3, #0 8026d3e: f040 80a1 bne.w 8026e84 8026d42: 68bb ldr r3, [r7, #8] 8026d44: 2b1d cmp r3, #29 8026d46: f040 809d bne.w 8026e84 { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8026d4a: 4b1e ldr r3, [pc, #120] ; (8026dc4 ) 8026d4c: 7edb ldrb r3, [r3, #27] 8026d4e: 2b0d cmp r3, #13 8026d50: f040 808b bne.w 8026e6a 8026d54: 4b1b ldr r3, [pc, #108] ; (8026dc4 ) 8026d56: 7f1b ldrb r3, [r3, #28] 8026d58: 2b0a cmp r3, #10 8026d5a: f040 8086 bne.w 8026e6a { IP = sector[ePoint + 1]; 8026d5e: 4b19 ldr r3, [pc, #100] ; (8026dc4 ) 8026d60: 785b ldrb r3, [r3, #1] 8026d62: 81fb strh r3, [r7, #14] IP = (IP << 8) | sector[ePoint]; 8026d64: 89fb ldrh r3, [r7, #14] 8026d66: 021b lsls r3, r3, #8 8026d68: b21a sxth r2, r3 8026d6a: 4b16 ldr r3, [pc, #88] ; (8026dc4 ) 8026d6c: 781b ldrb r3, [r3, #0] 8026d6e: b21b sxth r3, r3 8026d70: 4313 orrs r3, r2 8026d72: b21b sxth r3, r3 8026d74: 81fb strh r3, [r7, #14] if(NextIndexPoint == IP) 8026d76: 89fa ldrh r2, [r7, #14] 8026d78: 4b14 ldr r3, [pc, #80] ; (8026dcc ) 8026d7a: 681b ldr r3, [r3, #0] 8026d7c: 429a cmp r2, r3 8026d7e: d179 bne.n 8026e74 { TrendData.Aivs = sector[eAivs]; 8026d80: 4b10 ldr r3, [pc, #64] ; (8026dc4 ) 8026d82: 7d1a ldrb r2, [r3, #20] 8026d84: 4b13 ldr r3, [pc, #76] ; (8026dd4 ) 8026d86: 741a strb r2, [r3, #16] TrendData.Vivs = sector[eVivs]; 8026d88: 4b0e ldr r3, [pc, #56] ; (8026dc4 ) 8026d8a: 7d5a ldrb r2, [r3, #21] 8026d8c: 4b11 ldr r3, [pc, #68] ; (8026dd4 ) 8026d8e: 745a strb r2, [r3, #17] TrendData.Sivs = sector[eSivs]; 8026d90: 4b0c ldr r3, [pc, #48] ; (8026dc4 ) 8026d92: 7d9a ldrb r2, [r3, #22] 8026d94: 4b0f ldr r3, [pc, #60] ; (8026dd4 ) 8026d96: 749a strb r2, [r3, #18] for(i = 0; i < 4; i++) 8026d98: 2300 movs r3, #0 8026d9a: 61bb str r3, [r7, #24] 8026d9c: e03c b.n 8026e18 8026d9e: bf00 nop 8026da0: 20020e10 .word 0x20020e10 8026da4: 640a0000 .word 0x640a0000 8026da8: 2002164c .word 0x2002164c 8026dac: 20022bb8 .word 0x20022bb8 8026db0: 200229b4 .word 0x200229b4 8026db4: 20021d80 .word 0x20021d80 8026db8: 20020ddf .word 0x20020ddf 8026dbc: 20020dde .word 0x20020dde 8026dc0: 20022e20 .word 0x20022e20 8026dc4: 2007c000 .word 0x2007c000 8026dc8: 080ce4cc .word 0x080ce4cc 8026dcc: 20021f9c .word 0x20021f9c 8026dd0: 20022650 .word 0x20022650 8026dd4: 20021f88 .word 0x20021f88 { TrendData.Aval.ch[i] = sector[eAval + i]; 8026dd8: 69bb ldr r3, [r7, #24] 8026dda: 3304 adds r3, #4 8026ddc: 4a38 ldr r2, [pc, #224] ; (8026ec0 ) 8026dde: 5cd1 ldrb r1, [r2, r3] 8026de0: 4a38 ldr r2, [pc, #224] ; (8026ec4 ) 8026de2: 69bb ldr r3, [r7, #24] 8026de4: 4413 add r3, r2 8026de6: 460a mov r2, r1 8026de8: 701a strb r2, [r3, #0] TrendData.Vval.ch[i] = sector[eVval + i]; 8026dea: 69bb ldr r3, [r7, #24] 8026dec: 3308 adds r3, #8 8026dee: 4a34 ldr r2, [pc, #208] ; (8026ec0 ) 8026df0: 5cd1 ldrb r1, [r2, r3] 8026df2: 4a34 ldr r2, [pc, #208] ; (8026ec4 ) 8026df4: 69bb ldr r3, [r7, #24] 8026df6: 4413 add r3, r2 8026df8: 3304 adds r3, #4 8026dfa: 460a mov r2, r1 8026dfc: 701a strb r2, [r3, #0] TrendData.Sval.ch[i] = sector[eSval + i]; 8026dfe: 69bb ldr r3, [r7, #24] 8026e00: 330c adds r3, #12 8026e02: 4a2f ldr r2, [pc, #188] ; (8026ec0 ) 8026e04: 5cd1 ldrb r1, [r2, r3] 8026e06: 4a2f ldr r2, [pc, #188] ; (8026ec4 ) 8026e08: 69bb ldr r3, [r7, #24] 8026e0a: 4413 add r3, r2 8026e0c: 3308 adds r3, #8 8026e0e: 460a mov r2, r1 8026e10: 701a strb r2, [r3, #0] for(i = 0; i < 4; i++) 8026e12: 69bb ldr r3, [r7, #24] 8026e14: 3301 adds r3, #1 8026e16: 61bb str r3, [r7, #24] 8026e18: 69bb ldr r3, [r7, #24] 8026e1a: 2b03 cmp r3, #3 8026e1c: d9dc bls.n 8026dd8 } TrendData.DateTime = (sector[eDateTime + 3] << 24) | (sector[eDateTime + 2] << 16) | (sector[eDateTime + 1] << 8) | sector[eDateTime]; 8026e1e: 4b28 ldr r3, [pc, #160] ; (8026ec0 ) 8026e20: 7cdb ldrb r3, [r3, #19] 8026e22: 061a lsls r2, r3, #24 8026e24: 4b26 ldr r3, [pc, #152] ; (8026ec0 ) 8026e26: 7c9b ldrb r3, [r3, #18] 8026e28: 041b lsls r3, r3, #16 8026e2a: 431a orrs r2, r3 8026e2c: 4b24 ldr r3, [pc, #144] ; (8026ec0 ) 8026e2e: 7c5b ldrb r3, [r3, #17] 8026e30: 021b lsls r3, r3, #8 8026e32: 4313 orrs r3, r2 8026e34: 4a22 ldr r2, [pc, #136] ; (8026ec0 ) 8026e36: 7c12 ldrb r2, [r2, #16] 8026e38: 4313 orrs r3, r2 8026e3a: 461a mov r2, r3 8026e3c: 4b21 ldr r3, [pc, #132] ; (8026ec4 ) 8026e3e: 60da str r2, [r3, #12] TrendRAM(NumTrendMeas++) = TrendData; 8026e40: 4b21 ldr r3, [pc, #132] ; (8026ec8 ) 8026e42: 681a ldr r2, [r3, #0] 8026e44: 1c53 adds r3, r2, #1 8026e46: 4920 ldr r1, [pc, #128] ; (8026ec8 ) 8026e48: 600b str r3, [r1, #0] 8026e4a: 4613 mov r3, r2 8026e4c: 009b lsls r3, r3, #2 8026e4e: 4413 add r3, r2 8026e50: 009b lsls r3, r3, #2 8026e52: 461a mov r2, r3 8026e54: 4b1d ldr r3, [pc, #116] ; (8026ecc ) 8026e56: 4413 add r3, r2 8026e58: 461a mov r2, r3 8026e5a: 4b1a ldr r3, [pc, #104] ; (8026ec4 ) 8026e5c: 4614 mov r4, r2 8026e5e: 461d mov r5, r3 8026e60: cd0f ldmia r5!, {r0, r1, r2, r3} 8026e62: c40f stmia r4!, {r0, r1, r2, r3} 8026e64: 682b ldr r3, [r5, #0] 8026e66: 6023 str r3, [r4, #0] if(NextIndexPoint == IP) 8026e68: e004 b.n 8026e74 } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 8026e6a: 4819 ldr r0, [pc, #100] ; (8026ed0 ) 8026e6c: f09f fe8c bl 80c6b88 return FR_INVALID_OBJECT; 8026e70: 2309 movs r3, #9 8026e72: e021 b.n 8026eb8 } ifs += 29; 8026e74: e9d7 3404 ldrd r3, r4, [r7, #16] 8026e78: 331d adds r3, #29 8026e7a: f144 0400 adc.w r4, r4, #0 8026e7e: e9c7 3404 strd r3, r4, [r7, #16] 8026e82: e009 b.n 8026e98 } else { f_close(&F); 8026e84: 4812 ldr r0, [pc, #72] ; (8026ed0 ) 8026e86: f09f fe7f bl 80c6b88 return FR_DISK_ERR; 8026e8a: 2301 movs r3, #1 8026e8c: e014 b.n 8026eb8 } } else { f_close(&F); 8026e8e: 4810 ldr r0, [pc, #64] ; (8026ed0 ) 8026e90: f09f fe7a bl 80c6b88 return FR_DISK_ERR; 8026e94: 2301 movs r3, #1 8026e96: e00f b.n 8026eb8 while(ifs < f_size(&F)) 8026e98: 4b0d ldr r3, [pc, #52] ; (8026ed0 ) 8026e9a: e9d3 3404 ldrd r3, r4, [r3, #16] 8026e9e: e9d7 1204 ldrd r1, r2, [r7, #16] 8026ea2: 42a2 cmp r2, r4 8026ea4: bf08 it eq 8026ea6: 4299 cmpeq r1, r3 8026ea8: f4ff af33 bcc.w 8026d12 } /* * Èçìåðåíèå íå îáíàðóæåíî */ f_close(&F); 8026eac: 4808 ldr r0, [pc, #32] ; (8026ed0 ) 8026eae: f09f fe6b bl 80c6b88 return FR_OK; 8026eb2: 2300 movs r3, #0 8026eb4: e000 b.n 8026eb8 } } } } return res; 8026eb6: 7ffb ldrb r3, [r7, #31] } 8026eb8: 4618 mov r0, r3 8026eba: 3724 adds r7, #36 ; 0x24 8026ebc: 46bd mov sp, r7 8026ebe: bdf0 pop {r4, r5, r6, r7, pc} 8026ec0: 2007c000 .word 0x2007c000 8026ec4: 20021f88 .word 0x20021f88 8026ec8: 20020e10 .word 0x20020e10 8026ecc: 640a0000 .word 0x640a0000 8026ed0: 20022e20 .word 0x20022e20 08026ed4 : FRESULT ReadFilePTM(char* fname) //TODO Read PTM { 8026ed4: b5f0 push {r4, r5, r6, r7, lr} 8026ed6: b091 sub sp, #68 ; 0x44 8026ed8: af00 add r7, sp, #0 8026eda: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8026edc: 2300 movs r3, #0 8026ede: f887 303f strb.w r3, [r7, #63] ; 0x3f uint32_t i, DateTime, Year, Month, Day, Hour, Min, Sec; uint16_t IM, IP; UINT fk; FSIZE_t ifs; FileDataExist = false; 8026ee2: 4b88 ldr r3, [pc, #544] ; (8027104 ) 8026ee4: 2200 movs r2, #0 8026ee6: 701a strb r2, [r3, #0] ReadFileData.Aivs = 0; 8026ee8: 4b87 ldr r3, [pc, #540] ; (8027108 ) 8026eea: 2200 movs r2, #0 8026eec: f883 202c strb.w r2, [r3, #44] ; 0x2c ReadFileData.Vivs = 0; 8026ef0: 4b85 ldr r3, [pc, #532] ; (8027108 ) 8026ef2: 2200 movs r2, #0 8026ef4: f883 202d strb.w r2, [r3, #45] ; 0x2d ReadFileData.Sivs = 0; 8026ef8: 4b83 ldr r3, [pc, #524] ; (8027108 ) 8026efa: 2200 movs r2, #0 8026efc: f883 202e strb.w r2, [r3, #46] ; 0x2e ReadFileData.Aval.fl = -1.0f; 8026f00: 4b81 ldr r3, [pc, #516] ; (8027108 ) 8026f02: 4a82 ldr r2, [pc, #520] ; (802710c ) 8026f04: 601a str r2, [r3, #0] ReadFileData.Vval.fl = -1.0f; 8026f06: 4b80 ldr r3, [pc, #512] ; (8027108 ) 8026f08: 4a80 ldr r2, [pc, #512] ; (802710c ) 8026f0a: 605a str r2, [r3, #4] ReadFileData.Sval.fl = -1.0f; 8026f0c: 4b7e ldr r3, [pc, #504] ; (8027108 ) 8026f0e: 4a7f ldr r2, [pc, #508] ; (802710c ) 8026f10: 609a str r2, [r3, #8] ReadFileData.Fval.fl = -1.0f; 8026f12: 4b7d ldr r3, [pc, #500] ; (8027108 ) 8026f14: 4a7d ldr r2, [pc, #500] ; (802710c ) 8026f16: 60da str r2, [r3, #12] memset((void *) &TimeFileData, 0, sizeof(RTC_TimeTypeDef)); 8026f18: 2218 movs r2, #24 8026f1a: 2100 movs r1, #0 8026f1c: 487c ldr r0, [pc, #496] ; (8027110 ) 8026f1e: f0a6 f8af bl 80cd080 memset((void *) &DateFileData, 0, sizeof(RTC_DateTypeDef)); 8026f22: 2204 movs r2, #4 8026f24: 2100 movs r1, #0 8026f26: 487b ldr r0, [pc, #492] ; (8027114 ) 8026f28: f0a6 f8aa bl 80cd080 memset(Comment, 0, sizeof(Comment)); 8026f2c: 2228 movs r2, #40 ; 0x28 8026f2e: 2100 movs r1, #0 8026f30: 4879 ldr r0, [pc, #484] ; (8027118 ) 8026f32: f0a6 f8a5 bl 80cd080 if(CardState != MSD_READY) { 8026f36: 4b79 ldr r3, [pc, #484] ; (802711c ) 8026f38: 781b ldrb r3, [r3, #0] 8026f3a: b2db uxtb r3, r3 8026f3c: 2b03 cmp r3, #3 8026f3e: d001 beq.n 8026f44 return FR_NOT_READY; 8026f40: 2303 movs r3, #3 8026f42: e233 b.n 80273ac } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 8026f44: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8026f48: 2b00 cmp r3, #0 8026f4a: f040 822d bne.w 80273a8 { memset(FileName, 0, sizeof(FileName)); 8026f4e: 2228 movs r2, #40 ; 0x28 8026f50: 2100 movs r1, #0 8026f52: 4873 ldr r0, [pc, #460] ; (8027120 ) 8026f54: f0a6 f894 bl 80cd080 strcpy(FileName, fname); 8026f58: 6879 ldr r1, [r7, #4] 8026f5a: 4871 ldr r0, [pc, #452] ; (8027120 ) 8026f5c: f0a6 f9ad bl 80cd2ba memset(PointPath, 0, sizeof(PointPath)); 8026f60: f44f 7200 mov.w r2, #512 ; 0x200 8026f64: 2100 movs r1, #0 8026f66: 486f ldr r0, [pc, #444] ; (8027124 ) 8026f68: f0a6 f88a bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 8026f6c: f44f 7200 mov.w r2, #512 ; 0x200 8026f70: 2100 movs r1, #0 8026f72: 486d ldr r0, [pc, #436] ; (8027128 ) 8026f74: f0a6 f884 bl 80cd080 SearchPath[0] = '0'; 8026f78: 4b6b ldr r3, [pc, #428] ; (8027128 ) 8026f7a: 2230 movs r2, #48 ; 0x30 8026f7c: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8026f7e: 4b6a ldr r3, [pc, #424] ; (8027128 ) 8026f80: 223a movs r2, #58 ; 0x3a 8026f82: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8026f84: 4b69 ldr r3, [pc, #420] ; (802712c ) 8026f86: 2209 movs r2, #9 8026f88: 701a strb r2, [r3, #0] FlagReturn = false; 8026f8a: 4b69 ldr r3, [pc, #420] ; (8027130 ) 8026f8c: 2200 movs r2, #0 8026f8e: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8026f90: 2100 movs r1, #0 8026f92: 4865 ldr r0, [pc, #404] ; (8027128 ) 8026f94: f004 fc8a bl 802b8ac if(PointPath[0] == 0) 8026f98: 4b62 ldr r3, [pc, #392] ; (8027124 ) 8026f9a: 781b ldrb r3, [r3, #0] 8026f9c: 2b00 cmp r3, #0 8026f9e: d103 bne.n 8026fa8 { res = FR_NO_FILE; 8026fa0: 2304 movs r3, #4 8026fa2: f887 303f strb.w r3, [r7, #63] ; 0x3f 8026fa6: e1ff b.n 80273a8 } else { res = f_open(&F, PointPath, FA_READ); 8026fa8: 2201 movs r2, #1 8026faa: 495e ldr r1, [pc, #376] ; (8027124 ) 8026fac: 4861 ldr r0, [pc, #388] ; (8027134 ) 8026fae: f09e ffa7 bl 80c5f00 8026fb2: 4603 mov r3, r0 8026fb4: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8026fb8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8026fbc: 2b00 cmp r3, #0 8026fbe: f040 81f3 bne.w 80273a8 { memset(sector, 0xff, sizeof(sector)); 8026fc2: f44f 7200 mov.w r2, #512 ; 0x200 8026fc6: 21ff movs r1, #255 ; 0xff 8026fc8: 485b ldr r0, [pc, #364] ; (8027138 ) 8026fca: f0a6 f859 bl 80cd080 IM = (uint16_t) NextIndexMeas; 8026fce: 4b5b ldr r3, [pc, #364] ; (802713c ) 8026fd0: 681b ldr r3, [r3, #0] 8026fd2: 85fb strh r3, [r7, #46] ; 0x2e if(f_size(&F) == 0) 8026fd4: 4b57 ldr r3, [pc, #348] ; (8027134 ) 8026fd6: e9d3 3404 ldrd r3, r4, [r3, #16] 8026fda: 4323 orrs r3, r4 8026fdc: d106 bne.n 8026fec { f_close(&F); 8026fde: 4855 ldr r0, [pc, #340] ; (8027134 ) 8026fe0: f09f fdd2 bl 80c6b88 res = FR_OK; 8026fe4: 2300 movs r3, #0 8026fe6: f887 303f strb.w r3, [r7, #63] ; 0x3f 8026fea: e1dd b.n 80273a8 } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8026fec: f04f 0200 mov.w r2, #0 8026ff0: f04f 0300 mov.w r3, #0 8026ff4: 484f ldr r0, [pc, #316] ; (8027134 ) 8026ff6: f09f fde7 bl 80c6bc8 8026ffa: 4603 mov r3, r0 8026ffc: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8027000: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8027004: 2b00 cmp r3, #0 8027006: d176 bne.n 80270f6 { res = f_read(&F, sector, 6, &fk); 8027008: f107 030c add.w r3, r7, #12 802700c: 2206 movs r2, #6 802700e: 494a ldr r1, [pc, #296] ; (8027138 ) 8027010: 4848 ldr r0, [pc, #288] ; (8027134 ) 8027012: f09f f9d2 bl 80c63ba 8027016: 4603 mov r3, r0 8027018: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 802701c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8027020: 2b00 cmp r3, #0 8027022: d163 bne.n 80270ec 8027024: 68fb ldr r3, [r7, #12] 8027026: 2b06 cmp r3, #6 8027028: d160 bne.n 80270ec { sector[6] = '\0'; 802702a: 4b43 ldr r3, [pc, #268] ; (8027138 ) 802702c: 2200 movs r2, #0 802702e: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 8027030: 4943 ldr r1, [pc, #268] ; (8027140 ) 8027032: 4841 ldr r0, [pc, #260] ; (8027138 ) 8027034: f7f9 f964 bl 8020300 8027038: 4603 mov r3, r0 802703a: 2b00 cmp r3, #0 802703c: d006 beq.n 802704c { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 802703e: f04f 0300 mov.w r3, #0 8027042: f04f 0400 mov.w r4, #0 8027046: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 802704a: e059 b.n 8027100 } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè ifs = 96u + (sizeof(Comment) * NextIndexPoint); 802704c: 4b3d ldr r3, [pc, #244] ; (8027144 ) 802704e: 681a ldr r2, [r3, #0] 8027050: 4613 mov r3, r2 8027052: 009b lsls r3, r3, #2 8027054: 4413 add r3, r2 8027056: 00db lsls r3, r3, #3 8027058: 3360 adds r3, #96 ; 0x60 802705a: f04f 0400 mov.w r4, #0 802705e: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 res = f_lseek(&F, ifs); 8027062: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8027066: 4833 ldr r0, [pc, #204] ; (8027134 ) 8027068: f09f fdae bl 80c6bc8 802706c: 4603 mov r3, r0 802706e: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8027072: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8027076: 2b00 cmp r3, #0 8027078: d133 bne.n 80270e2 { res = f_read(&F, sector, sizeof(Comment), &fk); 802707a: f107 030c add.w r3, r7, #12 802707e: 2228 movs r2, #40 ; 0x28 8027080: 492d ldr r1, [pc, #180] ; (8027138 ) 8027082: 482c ldr r0, [pc, #176] ; (8027134 ) 8027084: f09f f999 bl 80c63ba 8027088: 4603 mov r3, r0 802708a: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == sizeof(Comment))) 802708e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8027092: 2b00 cmp r3, #0 8027094: d120 bne.n 80270d8 8027096: 68fb ldr r3, [r7, #12] 8027098: 2b28 cmp r3, #40 ; 0x28 802709a: d11d bne.n 80270d8 { memcpy(Comment, sector, sizeof(Comment)); 802709c: 4b1e ldr r3, [pc, #120] ; (8027118 ) 802709e: 4a26 ldr r2, [pc, #152] ; (8027138 ) 80270a0: 4614 mov r4, r2 80270a2: 469e mov lr, r3 80270a4: f104 0c20 add.w ip, r4, #32 80270a8: 4675 mov r5, lr 80270aa: 4626 mov r6, r4 80270ac: ce0f ldmia r6!, {r0, r1, r2, r3} 80270ae: 6028 str r0, [r5, #0] 80270b0: 6069 str r1, [r5, #4] 80270b2: 60aa str r2, [r5, #8] 80270b4: 60eb str r3, [r5, #12] 80270b6: 3410 adds r4, #16 80270b8: f10e 0e10 add.w lr, lr, #16 80270bc: 4564 cmp r4, ip 80270be: d1f3 bne.n 80270a8 80270c0: 4672 mov r2, lr 80270c2: 4623 mov r3, r4 80270c4: cb03 ldmia r3!, {r0, r1} 80270c6: 6010 str r0, [r2, #0] 80270c8: 6051 str r1, [r2, #4] ifs = 96u + (NUM_POINTS * sizeof(Comment)); 80270ca: f649 43a0 movw r3, #40096 ; 0x9ca0 80270ce: f04f 0400 mov.w r4, #0 80270d2: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 80270d6: e013 b.n 8027100 } else { f_close(&F); 80270d8: 4816 ldr r0, [pc, #88] ; (8027134 ) 80270da: f09f fd55 bl 80c6b88 return FR_DISK_ERR; 80270de: 2301 movs r3, #1 80270e0: e164 b.n 80273ac } } else { f_close(&F); 80270e2: 4814 ldr r0, [pc, #80] ; (8027134 ) 80270e4: f09f fd50 bl 80c6b88 return FR_DISK_ERR; 80270e8: 2301 movs r3, #1 80270ea: e15f b.n 80273ac } } } else { f_close(&F); 80270ec: 4811 ldr r0, [pc, #68] ; (8027134 ) 80270ee: f09f fd4b bl 80c6b88 return FR_DISK_ERR; 80270f2: 2301 movs r3, #1 80270f4: e15a b.n 80273ac } } else { f_close(&F); 80270f6: 480f ldr r0, [pc, #60] ; (8027134 ) 80270f8: f09f fd46 bl 80c6b88 return FR_DISK_ERR; 80270fc: 2301 movs r3, #1 80270fe: e155 b.n 80273ac } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 8027100: e140 b.n 8027384 8027102: bf00 nop 8027104: 20020dd3 .word 0x20020dd3 8027108: 200226a0 .word 0x200226a0 802710c: bf800000 .word 0xbf800000 8027110: 20022968 .word 0x20022968 8027114: 200225f0 .word 0x200225f0 8027118: 20022650 .word 0x20022650 802711c: 2002164c .word 0x2002164c 8027120: 20022bb8 .word 0x20022bb8 8027124: 200229b4 .word 0x200229b4 8027128: 20021d80 .word 0x20021d80 802712c: 20020ddf .word 0x20020ddf 8027130: 20020dde .word 0x20020dde 8027134: 20022e20 .word 0x20022e20 8027138: 2007c000 .word 0x2007c000 802713c: 20022310 .word 0x20022310 8027140: 080ce4cc .word 0x080ce4cc 8027144: 20021f9c .word 0x20021f9c { res = f_lseek(&F, ifs); 8027148: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802714c: 4899 ldr r0, [pc, #612] ; (80273b4 ) 802714e: f09f fd3b bl 80c6bc8 8027152: 4603 mov r3, r0 8027154: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8027158: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802715c: 2b00 cmp r3, #0 802715e: f040 8107 bne.w 8027370 { res = f_read(&F, sector, 29, &fk); 8027162: f107 030c add.w r3, r7, #12 8027166: 221d movs r2, #29 8027168: 4993 ldr r1, [pc, #588] ; (80273b8 ) 802716a: 4892 ldr r0, [pc, #584] ; (80273b4 ) 802716c: f09f f925 bl 80c63ba 8027170: 4603 mov r3, r0 8027172: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 8027176: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802717a: 2b00 cmp r3, #0 802717c: f040 80ee bne.w 802735c 8027180: 68fb ldr r3, [r7, #12] 8027182: 2b1d cmp r3, #29 8027184: f040 80ea bne.w 802735c { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8027188: 4b8b ldr r3, [pc, #556] ; (80273b8 ) 802718a: 7edb ldrb r3, [r3, #27] 802718c: 2b0d cmp r3, #13 802718e: f040 80d2 bne.w 8027336 8027192: 4b89 ldr r3, [pc, #548] ; (80273b8 ) 8027194: 7f1b ldrb r3, [r3, #28] 8027196: 2b0a cmp r3, #10 8027198: f040 80cd bne.w 8027336 { IP = sector[ePoint + 1]; 802719c: 4b86 ldr r3, [pc, #536] ; (80273b8 ) 802719e: 785b ldrb r3, [r3, #1] 80271a0: 85bb strh r3, [r7, #44] ; 0x2c IP = (IP << 8) | sector[ePoint]; 80271a2: 8dbb ldrh r3, [r7, #44] ; 0x2c 80271a4: 021b lsls r3, r3, #8 80271a6: b21a sxth r2, r3 80271a8: 4b83 ldr r3, [pc, #524] ; (80273b8 ) 80271aa: 781b ldrb r3, [r3, #0] 80271ac: b21b sxth r3, r3 80271ae: 4313 orrs r3, r2 80271b0: b21b sxth r3, r3 80271b2: 85bb strh r3, [r7, #44] ; 0x2c if(NextIndexPoint == IP) 80271b4: 8dba ldrh r2, [r7, #44] ; 0x2c 80271b6: 4b81 ldr r3, [pc, #516] ; (80273bc ) 80271b8: 681b ldr r3, [r3, #0] 80271ba: 429a cmp r2, r3 80271bc: f040 80c5 bne.w 802734a { IM = sector[eMeas + 1]; 80271c0: 4b7d ldr r3, [pc, #500] ; (80273b8 ) 80271c2: 78db ldrb r3, [r3, #3] 80271c4: 85fb strh r3, [r7, #46] ; 0x2e IM = (IM << 8) | sector[eMeas]; 80271c6: 8dfb ldrh r3, [r7, #46] ; 0x2e 80271c8: 021b lsls r3, r3, #8 80271ca: b21a sxth r2, r3 80271cc: 4b7a ldr r3, [pc, #488] ; (80273b8 ) 80271ce: 789b ldrb r3, [r3, #2] 80271d0: b21b sxth r3, r3 80271d2: 4313 orrs r3, r2 80271d4: b21b sxth r3, r3 80271d6: 85fb strh r3, [r7, #46] ; 0x2e if(NextIndexMeas == IM) 80271d8: 8dfa ldrh r2, [r7, #46] ; 0x2e 80271da: 4b79 ldr r3, [pc, #484] ; (80273c0 ) 80271dc: 681b ldr r3, [r3, #0] 80271de: 429a cmp r2, r3 80271e0: f040 80b3 bne.w 802734a { ReadFileData.Aivs = sector[eAivs]; 80271e4: 4b74 ldr r3, [pc, #464] ; (80273b8 ) 80271e6: 7d1a ldrb r2, [r3, #20] 80271e8: 4b76 ldr r3, [pc, #472] ; (80273c4 ) 80271ea: f883 202c strb.w r2, [r3, #44] ; 0x2c ReadFileData.Vivs = sector[eVivs]; 80271ee: 4b72 ldr r3, [pc, #456] ; (80273b8 ) 80271f0: 7d5a ldrb r2, [r3, #21] 80271f2: 4b74 ldr r3, [pc, #464] ; (80273c4 ) 80271f4: f883 202d strb.w r2, [r3, #45] ; 0x2d ReadFileData.Sivs = sector[eSivs]; 80271f8: 4b6f ldr r3, [pc, #444] ; (80273b8 ) 80271fa: 7d9a ldrb r2, [r3, #22] 80271fc: 4b71 ldr r3, [pc, #452] ; (80273c4 ) 80271fe: f883 202e strb.w r2, [r3, #46] ; 0x2e for(i = 0; i < 4; i++) 8027202: 2300 movs r3, #0 8027204: 63bb str r3, [r7, #56] ; 0x38 8027206: e029 b.n 802725c { ReadFileData.Aval.ch[i] = sector[eAval + i]; 8027208: 6bbb ldr r3, [r7, #56] ; 0x38 802720a: 3304 adds r3, #4 802720c: 4a6a ldr r2, [pc, #424] ; (80273b8 ) 802720e: 5cd1 ldrb r1, [r2, r3] 8027210: 4a6c ldr r2, [pc, #432] ; (80273c4 ) 8027212: 6bbb ldr r3, [r7, #56] ; 0x38 8027214: 4413 add r3, r2 8027216: 460a mov r2, r1 8027218: 701a strb r2, [r3, #0] ReadFileData.Vval.ch[i] = sector[eVval + i]; 802721a: 6bbb ldr r3, [r7, #56] ; 0x38 802721c: 3308 adds r3, #8 802721e: 4a66 ldr r2, [pc, #408] ; (80273b8 ) 8027220: 5cd1 ldrb r1, [r2, r3] 8027222: 4a68 ldr r2, [pc, #416] ; (80273c4 ) 8027224: 6bbb ldr r3, [r7, #56] ; 0x38 8027226: 4413 add r3, r2 8027228: 3304 adds r3, #4 802722a: 460a mov r2, r1 802722c: 701a strb r2, [r3, #0] ReadFileData.Sval.ch[i] = sector[eSval + i]; 802722e: 6bbb ldr r3, [r7, #56] ; 0x38 8027230: 330c adds r3, #12 8027232: 4a61 ldr r2, [pc, #388] ; (80273b8 ) 8027234: 5cd1 ldrb r1, [r2, r3] 8027236: 4a63 ldr r2, [pc, #396] ; (80273c4 ) 8027238: 6bbb ldr r3, [r7, #56] ; 0x38 802723a: 4413 add r3, r2 802723c: 3308 adds r3, #8 802723e: 460a mov r2, r1 8027240: 701a strb r2, [r3, #0] ReadFileData.Fval.ch[i] = sector[eFval + i]; 8027242: 6bbb ldr r3, [r7, #56] ; 0x38 8027244: 3317 adds r3, #23 8027246: 4a5c ldr r2, [pc, #368] ; (80273b8 ) 8027248: 5cd1 ldrb r1, [r2, r3] 802724a: 4a5e ldr r2, [pc, #376] ; (80273c4 ) 802724c: 6bbb ldr r3, [r7, #56] ; 0x38 802724e: 4413 add r3, r2 8027250: 330c adds r3, #12 8027252: 460a mov r2, r1 8027254: 701a strb r2, [r3, #0] for(i = 0; i < 4; i++) 8027256: 6bbb ldr r3, [r7, #56] ; 0x38 8027258: 3301 adds r3, #1 802725a: 63bb str r3, [r7, #56] ; 0x38 802725c: 6bbb ldr r3, [r7, #56] ; 0x38 802725e: 2b03 cmp r3, #3 8027260: d9d2 bls.n 8027208 } DateTime = (sector[eDateTime + 3] << 24) | (sector[eDateTime + 2] << 16) | (sector[eDateTime + 1] << 8) | sector[eDateTime]; 8027262: 4b55 ldr r3, [pc, #340] ; (80273b8 ) 8027264: 7cdb ldrb r3, [r3, #19] 8027266: 061a lsls r2, r3, #24 8027268: 4b53 ldr r3, [pc, #332] ; (80273b8 ) 802726a: 7c9b ldrb r3, [r3, #18] 802726c: 041b lsls r3, r3, #16 802726e: 431a orrs r2, r3 8027270: 4b51 ldr r3, [pc, #324] ; (80273b8 ) 8027272: 7c5b ldrb r3, [r3, #17] 8027274: 021b lsls r3, r3, #8 8027276: 4313 orrs r3, r2 8027278: 4a4f ldr r2, [pc, #316] ; (80273b8 ) 802727a: 7c12 ldrb r2, [r2, #16] 802727c: 4313 orrs r3, r2 802727e: 62bb str r3, [r7, #40] ; 0x28 Year = (DateTime >> 25) - 20; 8027280: 6abb ldr r3, [r7, #40] ; 0x28 8027282: 0e5b lsrs r3, r3, #25 8027284: 3b14 subs r3, #20 8027286: 627b str r3, [r7, #36] ; 0x24 Month = (DateTime >> 21) & 0xf; 8027288: 6abb ldr r3, [r7, #40] ; 0x28 802728a: 0d5b lsrs r3, r3, #21 802728c: f003 030f and.w r3, r3, #15 8027290: 623b str r3, [r7, #32] Day = (DateTime >> 16) & 0x1f; 8027292: 6abb ldr r3, [r7, #40] ; 0x28 8027294: 0c1b lsrs r3, r3, #16 8027296: f003 031f and.w r3, r3, #31 802729a: 61fb str r3, [r7, #28] Hour = (DateTime >> 11) & 0x1f; 802729c: 6abb ldr r3, [r7, #40] ; 0x28 802729e: 0adb lsrs r3, r3, #11 80272a0: f003 031f and.w r3, r3, #31 80272a4: 61bb str r3, [r7, #24] Min = (DateTime >> 5) & 0x3f; 80272a6: 6abb ldr r3, [r7, #40] ; 0x28 80272a8: 095b lsrs r3, r3, #5 80272aa: f003 033f and.w r3, r3, #63 ; 0x3f 80272ae: 617b str r3, [r7, #20] Sec = ((DateTime << 1) & 0x1f) + 1; 80272b0: 6abb ldr r3, [r7, #40] ; 0x28 80272b2: 005b lsls r3, r3, #1 80272b4: f003 031f and.w r3, r3, #31 80272b8: 3301 adds r3, #1 80272ba: 613b str r3, [r7, #16] ReadFileData.Date.WeekDay = 1; 80272bc: 4b41 ldr r3, [pc, #260] ; (80273c4 ) 80272be: 2201 movs r2, #1 80272c0: f883 2028 strb.w r2, [r3, #40] ; 0x28 ReadFileData.Date.Date = (uint8_t) Day; 80272c4: 69fb ldr r3, [r7, #28] 80272c6: b2da uxtb r2, r3 80272c8: 4b3e ldr r3, [pc, #248] ; (80273c4 ) 80272ca: f883 202a strb.w r2, [r3, #42] ; 0x2a ReadFileData.Date.Month = (uint8_t) Month; 80272ce: 6a3b ldr r3, [r7, #32] 80272d0: b2da uxtb r2, r3 80272d2: 4b3c ldr r3, [pc, #240] ; (80273c4 ) 80272d4: f883 2029 strb.w r2, [r3, #41] ; 0x29 ReadFileData.Date.Year = (uint8_t) Year; 80272d8: 6a7b ldr r3, [r7, #36] ; 0x24 80272da: b2da uxtb r2, r3 80272dc: 4b39 ldr r3, [pc, #228] ; (80273c4 ) 80272de: f883 202b strb.w r2, [r3, #43] ; 0x2b ReadFileData.Time.TimeFormat = 0; 80272e2: 4b38 ldr r3, [pc, #224] ; (80273c4 ) 80272e4: 2200 movs r2, #0 80272e6: 771a strb r2, [r3, #28] ReadFileData.Time.Hours = (uint8_t) Hour; 80272e8: 69bb ldr r3, [r7, #24] 80272ea: b2da uxtb r2, r3 80272ec: 4b35 ldr r3, [pc, #212] ; (80273c4 ) 80272ee: 741a strb r2, [r3, #16] ReadFileData.Time.Minutes = (uint8_t) Min; 80272f0: 697b ldr r3, [r7, #20] 80272f2: b2da uxtb r2, r3 80272f4: 4b33 ldr r3, [pc, #204] ; (80273c4 ) 80272f6: 745a strb r2, [r3, #17] ReadFileData.Time.Seconds = (uint8_t) Sec; 80272f8: 693b ldr r3, [r7, #16] 80272fa: b2da uxtb r2, r3 80272fc: 4b31 ldr r3, [pc, #196] ; (80273c4 ) 80272fe: 749a strb r2, [r3, #18] TimeFileData = ReadFileData.Time; 8027300: 4a31 ldr r2, [pc, #196] ; (80273c8 ) 8027302: 4b30 ldr r3, [pc, #192] ; (80273c4 ) 8027304: 4615 mov r5, r2 8027306: f103 0410 add.w r4, r3, #16 802730a: cc0f ldmia r4!, {r0, r1, r2, r3} 802730c: c50f stmia r5!, {r0, r1, r2, r3} 802730e: e894 0003 ldmia.w r4, {r0, r1} 8027312: e885 0003 stmia.w r5, {r0, r1} DateFileData = ReadFileData.Date; 8027316: 4a2d ldr r2, [pc, #180] ; (80273cc ) 8027318: 4b2a ldr r3, [pc, #168] ; (80273c4 ) 802731a: 3328 adds r3, #40 ; 0x28 802731c: 6818 ldr r0, [r3, #0] 802731e: 6010 str r0, [r2, #0] DrawSavedData = true; 8027320: 4b2b ldr r3, [pc, #172] ; (80273d0 ) 8027322: 2201 movs r2, #1 8027324: 701a strb r2, [r3, #0] FileDataExist = true; 8027326: 4b2b ldr r3, [pc, #172] ; (80273d4 ) 8027328: 2201 movs r2, #1 802732a: 701a strb r2, [r3, #0] f_close(&F); 802732c: 4821 ldr r0, [pc, #132] ; (80273b4 ) 802732e: f09f fc2b bl 80c6b88 return FR_OK; 8027332: 2300 movs r3, #0 8027334: e03a b.n 80273ac } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 8027336: 481f ldr r0, [pc, #124] ; (80273b4 ) 8027338: f09f fc26 bl 80c6b88 memset(Comment, 0, sizeof(Comment)); 802733c: 2228 movs r2, #40 ; 0x28 802733e: 2100 movs r1, #0 8027340: 4825 ldr r0, [pc, #148] ; (80273d8 ) 8027342: f0a5 fe9d bl 80cd080 return FR_INVALID_OBJECT; 8027346: 2309 movs r3, #9 8027348: e030 b.n 80273ac if(NextIndexPoint == IP) 802734a: bf00 nop } ifs += 29; 802734c: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 8027350: 331d adds r3, #29 8027352: f144 0400 adc.w r4, r4, #0 8027356: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 802735a: e013 b.n 8027384 } else { f_close(&F); 802735c: 4815 ldr r0, [pc, #84] ; (80273b4 ) 802735e: f09f fc13 bl 80c6b88 memset(Comment, 0, sizeof(Comment)); 8027362: 2228 movs r2, #40 ; 0x28 8027364: 2100 movs r1, #0 8027366: 481c ldr r0, [pc, #112] ; (80273d8 ) 8027368: f0a5 fe8a bl 80cd080 return FR_DISK_ERR; 802736c: 2301 movs r3, #1 802736e: e01d b.n 80273ac } } else { f_close(&F); 8027370: 4810 ldr r0, [pc, #64] ; (80273b4 ) 8027372: f09f fc09 bl 80c6b88 memset(Comment, 0, sizeof(Comment)); 8027376: 2228 movs r2, #40 ; 0x28 8027378: 2100 movs r1, #0 802737a: 4817 ldr r0, [pc, #92] ; (80273d8 ) 802737c: f0a5 fe80 bl 80cd080 return FR_DISK_ERR; 8027380: 2301 movs r3, #1 8027382: e013 b.n 80273ac while(ifs < f_size(&F)) 8027384: 4b0b ldr r3, [pc, #44] ; (80273b4 ) 8027386: e9d3 3404 ldrd r3, r4, [r3, #16] 802738a: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 802738e: 42a2 cmp r2, r4 8027390: bf08 it eq 8027392: 4299 cmpeq r1, r3 8027394: f4ff aed8 bcc.w 8027148 /* * Èçìåðåíèå íå îáíàðóæåíî */ DrawSavedData = true; 8027398: 4b0d ldr r3, [pc, #52] ; (80273d0 ) 802739a: 2201 movs r2, #1 802739c: 701a strb r2, [r3, #0] f_close(&F); 802739e: 4805 ldr r0, [pc, #20] ; (80273b4 ) 80273a0: f09f fbf2 bl 80c6b88 return FR_OK; 80273a4: 2300 movs r3, #0 80273a6: e001 b.n 80273ac } } } } return res; 80273a8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 80273ac: 4618 mov r0, r3 80273ae: 3744 adds r7, #68 ; 0x44 80273b0: 46bd mov sp, r7 80273b2: bdf0 pop {r4, r5, r6, r7, pc} 80273b4: 20022e20 .word 0x20022e20 80273b8: 2007c000 .word 0x2007c000 80273bc: 20021f9c .word 0x20021f9c 80273c0: 20022310 .word 0x20022310 80273c4: 200226a0 .word 0x200226a0 80273c8: 20022968 .word 0x20022968 80273cc: 200225f0 .word 0x200225f0 80273d0: 20020dca .word 0x20020dca 80273d4: 20020dd3 .word 0x20020dd3 80273d8: 20022650 .word 0x20022650 080273dc : FRESULT ReadFileDGN(char* fname) //TODO Read PTM { 80273dc: b5f0 push {r4, r5, r6, r7, lr} 80273de: b091 sub sp, #68 ; 0x44 80273e0: af00 add r7, sp, #0 80273e2: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 80273e4: 2300 movs r3, #0 80273e6: f887 303f strb.w r3, [r7, #63] ; 0x3f uint32_t i, DateTime, Year, Month, Day, Hour, Min, Sec; uint16_t IM, IP; UINT fk; FSIZE_t ifs; FileDataExist = false; 80273ea: 4b90 ldr r3, [pc, #576] ; (802762c ) 80273ec: 2200 movs r2, #0 80273ee: 701a strb r2, [r3, #0] DiagnFileData.Op_1.fl = -1.0f; 80273f0: 4b8f ldr r3, [pc, #572] ; (8027630 ) 80273f2: 4a90 ldr r2, [pc, #576] ; (8027634 ) 80273f4: 601a str r2, [r3, #0] DiagnFileData.Op_2.fl = -1.0f; 80273f6: 4b8e ldr r3, [pc, #568] ; (8027630 ) 80273f8: 4a8e ldr r2, [pc, #568] ; (8027634 ) 80273fa: 605a str r2, [r3, #4] DiagnFileData.Op_3.fl = -1.0f; 80273fc: 4b8c ldr r3, [pc, #560] ; (8027630 ) 80273fe: 4a8d ldr r2, [pc, #564] ; (8027634 ) 8027400: 609a str r2, [r3, #8] DiagnFileData.d_Op1_ipr = 0; 8027402: 4b8b ldr r3, [pc, #556] ; (8027630 ) 8027404: 2200 movs r2, #0 8027406: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = 0; 802740a: 4b89 ldr r3, [pc, #548] ; (8027630 ) 802740c: 2200 movs r2, #0 802740e: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = 0; 8027412: 4b87 ldr r3, [pc, #540] ; (8027630 ) 8027414: 2200 movs r2, #0 8027416: f883 202a strb.w r2, [r3, #42] ; 0x2a DiagnFileData.d_Op1_Color = 0; 802741a: 4b85 ldr r3, [pc, #532] ; (8027630 ) 802741c: 2200 movs r2, #0 802741e: f883 202e strb.w r2, [r3, #46] ; 0x2e DiagnFileData.d_Op2_Color = 0; 8027422: 4b83 ldr r3, [pc, #524] ; (8027630 ) 8027424: 2200 movs r2, #0 8027426: f883 202f strb.w r2, [r3, #47] ; 0x2f DiagnFileData.d_Op3_Color = 0; 802742a: 4b81 ldr r3, [pc, #516] ; (8027630 ) 802742c: 2200 movs r2, #0 802742e: f883 2030 strb.w r2, [r3, #48] ; 0x30 DiagnFileData.d_Alarm = 0; 8027432: 4b7f ldr r3, [pc, #508] ; (8027630 ) 8027434: 2200 movs r2, #0 8027436: f883 2032 strb.w r2, [r3, #50] ; 0x32 DiagnFileData.d_Warning = 0; 802743a: 4b7d ldr r3, [pc, #500] ; (8027630 ) 802743c: 2200 movs r2, #0 802743e: f883 2031 strb.w r2, [r3, #49] ; 0x31 memset((void *) &TimeFileData, 0, sizeof(RTC_TimeTypeDef)); 8027442: 2218 movs r2, #24 8027444: 2100 movs r1, #0 8027446: 487c ldr r0, [pc, #496] ; (8027638 ) 8027448: f0a5 fe1a bl 80cd080 memset((void *) &DateFileData, 0, sizeof(RTC_DateTypeDef)); 802744c: 2204 movs r2, #4 802744e: 2100 movs r1, #0 8027450: 487a ldr r0, [pc, #488] ; (802763c ) 8027452: f0a5 fe15 bl 80cd080 memset(Comment, 0, sizeof(Comment)); 8027456: 2228 movs r2, #40 ; 0x28 8027458: 2100 movs r1, #0 802745a: 4879 ldr r0, [pc, #484] ; (8027640 ) 802745c: f0a5 fe10 bl 80cd080 if(CardState != MSD_READY) { 8027460: 4b78 ldr r3, [pc, #480] ; (8027644 ) 8027462: 781b ldrb r3, [r3, #0] 8027464: b2db uxtb r3, r3 8027466: 2b03 cmp r3, #3 8027468: d001 beq.n 802746e return FR_NOT_READY; 802746a: 2303 movs r3, #3 802746c: e251 b.n 8027912 } if(res == FR_OK) 802746e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8027472: 2b00 cmp r3, #0 8027474: f040 824b bne.w 802790e { memset(FileName, 0, sizeof(FileName)); 8027478: 2228 movs r2, #40 ; 0x28 802747a: 2100 movs r1, #0 802747c: 4872 ldr r0, [pc, #456] ; (8027648 ) 802747e: f0a5 fdff bl 80cd080 strcpy(FileName, fname); 8027482: 6879 ldr r1, [r7, #4] 8027484: 4870 ldr r0, [pc, #448] ; (8027648 ) 8027486: f0a5 ff18 bl 80cd2ba memset(PointPath, 0, sizeof(PointPath)); 802748a: f44f 7200 mov.w r2, #512 ; 0x200 802748e: 2100 movs r1, #0 8027490: 486e ldr r0, [pc, #440] ; (802764c ) 8027492: f0a5 fdf5 bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 8027496: f44f 7200 mov.w r2, #512 ; 0x200 802749a: 2100 movs r1, #0 802749c: 486c ldr r0, [pc, #432] ; (8027650 ) 802749e: f0a5 fdef bl 80cd080 SearchPath[0] = '0'; 80274a2: 4b6b ldr r3, [pc, #428] ; (8027650 ) 80274a4: 2230 movs r2, #48 ; 0x30 80274a6: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 80274a8: 4b69 ldr r3, [pc, #420] ; (8027650 ) 80274aa: 223a movs r2, #58 ; 0x3a 80274ac: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 80274ae: 4b69 ldr r3, [pc, #420] ; (8027654 ) 80274b0: 2209 movs r2, #9 80274b2: 701a strb r2, [r3, #0] FlagReturn = false; 80274b4: 4b68 ldr r3, [pc, #416] ; (8027658 ) 80274b6: 2200 movs r2, #0 80274b8: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 80274ba: 2100 movs r1, #0 80274bc: 4864 ldr r0, [pc, #400] ; (8027650 ) 80274be: f004 f9f5 bl 802b8ac if(PointPath[0] == 0) 80274c2: 4b62 ldr r3, [pc, #392] ; (802764c ) 80274c4: 781b ldrb r3, [r3, #0] 80274c6: 2b00 cmp r3, #0 80274c8: d103 bne.n 80274d2 { res = FR_NO_FILE; 80274ca: 2304 movs r3, #4 80274cc: f887 303f strb.w r3, [r7, #63] ; 0x3f 80274d0: e21d b.n 802790e } else { res = f_open(&F, PointPath, FA_READ); 80274d2: 2201 movs r2, #1 80274d4: 495d ldr r1, [pc, #372] ; (802764c ) 80274d6: 4861 ldr r0, [pc, #388] ; (802765c ) 80274d8: f09e fd12 bl 80c5f00 80274dc: 4603 mov r3, r0 80274de: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 80274e2: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80274e6: 2b00 cmp r3, #0 80274e8: f040 8211 bne.w 802790e { memset(sector, 0xff, sizeof(sector)); 80274ec: f44f 7200 mov.w r2, #512 ; 0x200 80274f0: 21ff movs r1, #255 ; 0xff 80274f2: 485b ldr r0, [pc, #364] ; (8027660 ) 80274f4: f0a5 fdc4 bl 80cd080 IM = (uint16_t) NextIndexMeas; 80274f8: 4b5a ldr r3, [pc, #360] ; (8027664 ) 80274fa: 681b ldr r3, [r3, #0] 80274fc: 85fb strh r3, [r7, #46] ; 0x2e if(f_size(&F) == 0) 80274fe: 4b57 ldr r3, [pc, #348] ; (802765c ) 8027500: e9d3 3404 ldrd r3, r4, [r3, #16] 8027504: 4323 orrs r3, r4 8027506: d106 bne.n 8027516 { f_close(&F); 8027508: 4854 ldr r0, [pc, #336] ; (802765c ) 802750a: f09f fb3d bl 80c6b88 res = FR_OK; 802750e: 2300 movs r3, #0 8027510: f887 303f strb.w r3, [r7, #63] ; 0x3f 8027514: e1fb b.n 802790e } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8027516: f04f 0200 mov.w r2, #0 802751a: f04f 0300 mov.w r3, #0 802751e: 484f ldr r0, [pc, #316] ; (802765c ) 8027520: f09f fb52 bl 80c6bc8 8027524: 4603 mov r3, r0 8027526: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 802752a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802752e: 2b00 cmp r3, #0 8027530: d176 bne.n 8027620 { res = f_read(&F, sector, 6, &fk); 8027532: f107 030c add.w r3, r7, #12 8027536: 2206 movs r2, #6 8027538: 4949 ldr r1, [pc, #292] ; (8027660 ) 802753a: 4848 ldr r0, [pc, #288] ; (802765c ) 802753c: f09e ff3d bl 80c63ba 8027540: 4603 mov r3, r0 8027542: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 8027546: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802754a: 2b00 cmp r3, #0 802754c: d163 bne.n 8027616 802754e: 68fb ldr r3, [r7, #12] 8027550: 2b06 cmp r3, #6 8027552: d160 bne.n 8027616 { sector[6] = '\0'; 8027554: 4b42 ldr r3, [pc, #264] ; (8027660 ) 8027556: 2200 movs r2, #0 8027558: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 802755a: 4943 ldr r1, [pc, #268] ; (8027668 ) 802755c: 4840 ldr r0, [pc, #256] ; (8027660 ) 802755e: f7f8 fecf bl 8020300 8027562: 4603 mov r3, r0 8027564: 2b00 cmp r3, #0 8027566: d006 beq.n 8027576 { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 8027568: f04f 0300 mov.w r3, #0 802756c: f04f 0400 mov.w r4, #0 8027570: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 8027574: e059 b.n 802762a } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè ifs = 96u + (sizeof(Comment) * NextIndexPoint); 8027576: 4b3d ldr r3, [pc, #244] ; (802766c ) 8027578: 681a ldr r2, [r3, #0] 802757a: 4613 mov r3, r2 802757c: 009b lsls r3, r3, #2 802757e: 4413 add r3, r2 8027580: 00db lsls r3, r3, #3 8027582: 3360 adds r3, #96 ; 0x60 8027584: f04f 0400 mov.w r4, #0 8027588: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 res = f_lseek(&F, ifs); 802758c: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8027590: 4832 ldr r0, [pc, #200] ; (802765c ) 8027592: f09f fb19 bl 80c6bc8 8027596: 4603 mov r3, r0 8027598: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 802759c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80275a0: 2b00 cmp r3, #0 80275a2: d133 bne.n 802760c { res = f_read(&F, sector, sizeof(Comment), &fk); 80275a4: f107 030c add.w r3, r7, #12 80275a8: 2228 movs r2, #40 ; 0x28 80275aa: 492d ldr r1, [pc, #180] ; (8027660 ) 80275ac: 482b ldr r0, [pc, #172] ; (802765c ) 80275ae: f09e ff04 bl 80c63ba 80275b2: 4603 mov r3, r0 80275b4: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == sizeof(Comment))) 80275b8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80275bc: 2b00 cmp r3, #0 80275be: d120 bne.n 8027602 80275c0: 68fb ldr r3, [r7, #12] 80275c2: 2b28 cmp r3, #40 ; 0x28 80275c4: d11d bne.n 8027602 { memcpy(Comment, sector, sizeof(Comment)); 80275c6: 4b1e ldr r3, [pc, #120] ; (8027640 ) 80275c8: 4a25 ldr r2, [pc, #148] ; (8027660 ) 80275ca: 4614 mov r4, r2 80275cc: 469e mov lr, r3 80275ce: f104 0c20 add.w ip, r4, #32 80275d2: 4675 mov r5, lr 80275d4: 4626 mov r6, r4 80275d6: ce0f ldmia r6!, {r0, r1, r2, r3} 80275d8: 6028 str r0, [r5, #0] 80275da: 6069 str r1, [r5, #4] 80275dc: 60aa str r2, [r5, #8] 80275de: 60eb str r3, [r5, #12] 80275e0: 3410 adds r4, #16 80275e2: f10e 0e10 add.w lr, lr, #16 80275e6: 4564 cmp r4, ip 80275e8: d1f3 bne.n 80275d2 80275ea: 4672 mov r2, lr 80275ec: 4623 mov r3, r4 80275ee: cb03 ldmia r3!, {r0, r1} 80275f0: 6010 str r0, [r2, #0] 80275f2: 6051 str r1, [r2, #4] ifs = 96u + (NUM_POINTS * sizeof(Comment)); 80275f4: f649 43a0 movw r3, #40096 ; 0x9ca0 80275f8: f04f 0400 mov.w r4, #0 80275fc: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 8027600: e013 b.n 802762a } else { f_close(&F); 8027602: 4816 ldr r0, [pc, #88] ; (802765c ) 8027604: f09f fac0 bl 80c6b88 return FR_DISK_ERR; 8027608: 2301 movs r3, #1 802760a: e182 b.n 8027912 } } else { f_close(&F); 802760c: 4813 ldr r0, [pc, #76] ; (802765c ) 802760e: f09f fabb bl 80c6b88 return FR_DISK_ERR; 8027612: 2301 movs r3, #1 8027614: e17d b.n 8027912 } } } else { f_close(&F); 8027616: 4811 ldr r0, [pc, #68] ; (802765c ) 8027618: f09f fab6 bl 80c6b88 return FR_DISK_ERR; 802761c: 2301 movs r3, #1 802761e: e178 b.n 8027912 } } else { f_close(&F); 8027620: 480e ldr r0, [pc, #56] ; (802765c ) 8027622: f09f fab1 bl 80c6b88 return FR_DISK_ERR; 8027626: 2301 movs r3, #1 8027628: e173 b.n 8027912 } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 802762a: e15e b.n 80278ea 802762c: 20020dd3 .word 0x20020dd3 8027630: 200225f4 .word 0x200225f4 8027634: bf800000 .word 0xbf800000 8027638: 20022968 .word 0x20022968 802763c: 200225f0 .word 0x200225f0 8027640: 20022650 .word 0x20022650 8027644: 2002164c .word 0x2002164c 8027648: 20022bb8 .word 0x20022bb8 802764c: 200229b4 .word 0x200229b4 8027650: 20021d80 .word 0x20021d80 8027654: 20020ddf .word 0x20020ddf 8027658: 20020dde .word 0x20020dde 802765c: 20022e20 .word 0x20022e20 8027660: 2007c000 .word 0x2007c000 8027664: 20022310 .word 0x20022310 8027668: 080ce4cc .word 0x080ce4cc 802766c: 20021f9c .word 0x20021f9c { res = f_lseek(&F, ifs); 8027670: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8027674: 48a9 ldr r0, [pc, #676] ; (802791c ) 8027676: f09f faa7 bl 80c6bc8 802767a: 4603 mov r3, r0 802767c: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8027680: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8027684: 2b00 cmp r3, #0 8027686: f040 8126 bne.w 80278d6 { res = f_read(&F, sector, 33, &fk); 802768a: f107 030c add.w r3, r7, #12 802768e: 2221 movs r2, #33 ; 0x21 8027690: 49a3 ldr r1, [pc, #652] ; (8027920 ) 8027692: 48a2 ldr r0, [pc, #648] ; (802791c ) 8027694: f09e fe91 bl 80c63ba 8027698: 4603 mov r3, r0 802769a: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 802769e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80276a2: 2b00 cmp r3, #0 80276a4: f040 810d bne.w 80278c2 80276a8: 68fb ldr r3, [r7, #12] 80276aa: 2b21 cmp r3, #33 ; 0x21 80276ac: f040 8109 bne.w 80278c2 { if((sector[d_13] == 0xD) && (sector[d_10] == 0xA)) 80276b0: 4b9b ldr r3, [pc, #620] ; (8027920 ) 80276b2: 7fdb ldrb r3, [r3, #31] 80276b4: 2b0d cmp r3, #13 80276b6: f040 80f1 bne.w 802789c 80276ba: 4b99 ldr r3, [pc, #612] ; (8027920 ) 80276bc: f893 3020 ldrb.w r3, [r3, #32] 80276c0: 2b0a cmp r3, #10 80276c2: f040 80eb bne.w 802789c { IP = sector[d_Point + 1]; 80276c6: 4b96 ldr r3, [pc, #600] ; (8027920 ) 80276c8: 785b ldrb r3, [r3, #1] 80276ca: 85bb strh r3, [r7, #44] ; 0x2c IP = (IP << 8) | sector[d_Point]; 80276cc: 8dbb ldrh r3, [r7, #44] ; 0x2c 80276ce: 021b lsls r3, r3, #8 80276d0: b21a sxth r2, r3 80276d2: 4b93 ldr r3, [pc, #588] ; (8027920 ) 80276d4: 781b ldrb r3, [r3, #0] 80276d6: b21b sxth r3, r3 80276d8: 4313 orrs r3, r2 80276da: b21b sxth r3, r3 80276dc: 85bb strh r3, [r7, #44] ; 0x2c if(NextIndexPoint == IP) 80276de: 8dba ldrh r2, [r7, #44] ; 0x2c 80276e0: 4b90 ldr r3, [pc, #576] ; (8027924 ) 80276e2: 681b ldr r3, [r3, #0] 80276e4: 429a cmp r2, r3 80276e6: f040 80e3 bne.w 80278b0 { IM = sector[d_Meas + 1]; 80276ea: 4b8d ldr r3, [pc, #564] ; (8027920 ) 80276ec: 78db ldrb r3, [r3, #3] 80276ee: 85fb strh r3, [r7, #46] ; 0x2e IM = (IM << 8) | sector[d_Meas]; 80276f0: 8dfb ldrh r3, [r7, #46] ; 0x2e 80276f2: 021b lsls r3, r3, #8 80276f4: b21a sxth r2, r3 80276f6: 4b8a ldr r3, [pc, #552] ; (8027920 ) 80276f8: 789b ldrb r3, [r3, #2] 80276fa: b21b sxth r3, r3 80276fc: 4313 orrs r3, r2 80276fe: b21b sxth r3, r3 8027700: 85fb strh r3, [r7, #46] ; 0x2e if(NextIndexMeas == IM) 8027702: 8dfa ldrh r2, [r7, #46] ; 0x2e 8027704: 4b88 ldr r3, [pc, #544] ; (8027928 ) 8027706: 681b ldr r3, [r3, #0] 8027708: 429a cmp r2, r3 802770a: f040 80d1 bne.w 80278b0 { DiagnFileData.d_Op1_ipr = sector[d_Op1_ipr]; 802770e: 4b84 ldr r3, [pc, #528] ; (8027920 ) 8027710: 7d1a ldrb r2, [r3, #20] 8027712: 4b86 ldr r3, [pc, #536] ; (802792c ) 8027714: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = sector[d_Op2_ipr]; 8027718: 4b81 ldr r3, [pc, #516] ; (8027920 ) 802771a: 7d5a ldrb r2, [r3, #21] 802771c: 4b83 ldr r3, [pc, #524] ; (802792c ) 802771e: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = sector[d_Op3_ipr]; 8027722: 4b7f ldr r3, [pc, #508] ; (8027920 ) 8027724: 7d9a ldrb r2, [r3, #22] 8027726: 4b81 ldr r3, [pc, #516] ; (802792c ) 8027728: f883 202a strb.w r2, [r3, #42] ; 0x2a DiagnFileData.d_Op1_ivs = sector[d_Op1_ivs]; 802772c: 4b7c ldr r3, [pc, #496] ; (8027920 ) 802772e: 7dda ldrb r2, [r3, #23] 8027730: 4b7e ldr r3, [pc, #504] ; (802792c ) 8027732: f883 202b strb.w r2, [r3, #43] ; 0x2b DiagnFileData.d_Op2_ivs = sector[d_Op2_ivs]; 8027736: 4b7a ldr r3, [pc, #488] ; (8027920 ) 8027738: 7e1a ldrb r2, [r3, #24] 802773a: 4b7c ldr r3, [pc, #496] ; (802792c ) 802773c: f883 202c strb.w r2, [r3, #44] ; 0x2c DiagnFileData.d_Op3_ivs = sector[d_Op3_ivs]; 8027740: 4b77 ldr r3, [pc, #476] ; (8027920 ) 8027742: 7e5a ldrb r2, [r3, #25] 8027744: 4b79 ldr r3, [pc, #484] ; (802792c ) 8027746: f883 202d strb.w r2, [r3, #45] ; 0x2d DiagnFileData.d_Op1_Color = sector[d_Op1_col]; 802774a: 4b75 ldr r3, [pc, #468] ; (8027920 ) 802774c: 7e9a ldrb r2, [r3, #26] 802774e: 4b77 ldr r3, [pc, #476] ; (802792c ) 8027750: f883 202e strb.w r2, [r3, #46] ; 0x2e DiagnFileData.d_Op2_Color = sector[d_Op2_col]; 8027754: 4b72 ldr r3, [pc, #456] ; (8027920 ) 8027756: 7eda ldrb r2, [r3, #27] 8027758: 4b74 ldr r3, [pc, #464] ; (802792c ) 802775a: f883 202f strb.w r2, [r3, #47] ; 0x2f DiagnFileData.d_Op3_Color = sector[d_Op3_col]; 802775e: 4b70 ldr r3, [pc, #448] ; (8027920 ) 8027760: 7f1a ldrb r2, [r3, #28] 8027762: 4b72 ldr r3, [pc, #456] ; (802792c ) 8027764: f883 2030 strb.w r2, [r3, #48] ; 0x30 DiagnFileData.d_Warning = sector[d_W]; 8027768: 4b6d ldr r3, [pc, #436] ; (8027920 ) 802776a: 7f5a ldrb r2, [r3, #29] 802776c: 4b6f ldr r3, [pc, #444] ; (802792c ) 802776e: f883 2031 strb.w r2, [r3, #49] ; 0x31 DiagnFileData.d_Alarm = sector[d_A]; 8027772: 4b6b ldr r3, [pc, #428] ; (8027920 ) 8027774: 7f9a ldrb r2, [r3, #30] 8027776: 4b6d ldr r3, [pc, #436] ; (802792c ) 8027778: f883 2032 strb.w r2, [r3, #50] ; 0x32 for(i = 0; i < 4; i++) 802777c: 2300 movs r3, #0 802777e: 63bb str r3, [r7, #56] ; 0x38 8027780: e01f b.n 80277c2 { DiagnFileData.Op_1.ch[i] = sector[d_Op1_1 + i]; 8027782: 6bbb ldr r3, [r7, #56] ; 0x38 8027784: 3304 adds r3, #4 8027786: 4a66 ldr r2, [pc, #408] ; (8027920 ) 8027788: 5cd1 ldrb r1, [r2, r3] 802778a: 4a68 ldr r2, [pc, #416] ; (802792c ) 802778c: 6bbb ldr r3, [r7, #56] ; 0x38 802778e: 4413 add r3, r2 8027790: 460a mov r2, r1 8027792: 701a strb r2, [r3, #0] DiagnFileData.Op_2.ch[i] = sector[d_Op2_1 + i]; 8027794: 6bbb ldr r3, [r7, #56] ; 0x38 8027796: 3308 adds r3, #8 8027798: 4a61 ldr r2, [pc, #388] ; (8027920 ) 802779a: 5cd1 ldrb r1, [r2, r3] 802779c: 4a63 ldr r2, [pc, #396] ; (802792c ) 802779e: 6bbb ldr r3, [r7, #56] ; 0x38 80277a0: 4413 add r3, r2 80277a2: 3304 adds r3, #4 80277a4: 460a mov r2, r1 80277a6: 701a strb r2, [r3, #0] DiagnFileData.Op_3.ch[i] = sector[d_Op3_1 + i]; 80277a8: 6bbb ldr r3, [r7, #56] ; 0x38 80277aa: 330c adds r3, #12 80277ac: 4a5c ldr r2, [pc, #368] ; (8027920 ) 80277ae: 5cd1 ldrb r1, [r2, r3] 80277b0: 4a5e ldr r2, [pc, #376] ; (802792c ) 80277b2: 6bbb ldr r3, [r7, #56] ; 0x38 80277b4: 4413 add r3, r2 80277b6: 3308 adds r3, #8 80277b8: 460a mov r2, r1 80277ba: 701a strb r2, [r3, #0] for(i = 0; i < 4; i++) 80277bc: 6bbb ldr r3, [r7, #56] ; 0x38 80277be: 3301 adds r3, #1 80277c0: 63bb str r3, [r7, #56] ; 0x38 80277c2: 6bbb ldr r3, [r7, #56] ; 0x38 80277c4: 2b03 cmp r3, #3 80277c6: d9dc bls.n 8027782 } DateTime = (sector[d_DateTime + 3] << 24) | (sector[d_DateTime + 2] << 16) | (sector[d_DateTime + 1] << 8) | sector[d_DateTime]; 80277c8: 4b55 ldr r3, [pc, #340] ; (8027920 ) 80277ca: 7cdb ldrb r3, [r3, #19] 80277cc: 061a lsls r2, r3, #24 80277ce: 4b54 ldr r3, [pc, #336] ; (8027920 ) 80277d0: 7c9b ldrb r3, [r3, #18] 80277d2: 041b lsls r3, r3, #16 80277d4: 431a orrs r2, r3 80277d6: 4b52 ldr r3, [pc, #328] ; (8027920 ) 80277d8: 7c5b ldrb r3, [r3, #17] 80277da: 021b lsls r3, r3, #8 80277dc: 4313 orrs r3, r2 80277de: 4a50 ldr r2, [pc, #320] ; (8027920 ) 80277e0: 7c12 ldrb r2, [r2, #16] 80277e2: 4313 orrs r3, r2 80277e4: 62bb str r3, [r7, #40] ; 0x28 Year = (DateTime >> 25) - 20; 80277e6: 6abb ldr r3, [r7, #40] ; 0x28 80277e8: 0e5b lsrs r3, r3, #25 80277ea: 3b14 subs r3, #20 80277ec: 627b str r3, [r7, #36] ; 0x24 Month = (DateTime >> 21) & 0xf; 80277ee: 6abb ldr r3, [r7, #40] ; 0x28 80277f0: 0d5b lsrs r3, r3, #21 80277f2: f003 030f and.w r3, r3, #15 80277f6: 623b str r3, [r7, #32] Day = (DateTime >> 16) & 0x1f; 80277f8: 6abb ldr r3, [r7, #40] ; 0x28 80277fa: 0c1b lsrs r3, r3, #16 80277fc: f003 031f and.w r3, r3, #31 8027800: 61fb str r3, [r7, #28] Hour = (DateTime >> 11) & 0x1f; 8027802: 6abb ldr r3, [r7, #40] ; 0x28 8027804: 0adb lsrs r3, r3, #11 8027806: f003 031f and.w r3, r3, #31 802780a: 61bb str r3, [r7, #24] Min = (DateTime >> 5) & 0x3f; 802780c: 6abb ldr r3, [r7, #40] ; 0x28 802780e: 095b lsrs r3, r3, #5 8027810: f003 033f and.w r3, r3, #63 ; 0x3f 8027814: 617b str r3, [r7, #20] Sec = ((DateTime << 1) & 0x1f) + 1; 8027816: 6abb ldr r3, [r7, #40] ; 0x28 8027818: 005b lsls r3, r3, #1 802781a: f003 031f and.w r3, r3, #31 802781e: 3301 adds r3, #1 8027820: 613b str r3, [r7, #16] DiagnFileData.d_Date.WeekDay = 1; 8027822: 4b42 ldr r3, [pc, #264] ; (802792c ) 8027824: 2201 movs r2, #1 8027826: f883 2024 strb.w r2, [r3, #36] ; 0x24 DiagnFileData.d_Date.Date = (uint8_t) Day; 802782a: 69fb ldr r3, [r7, #28] 802782c: b2da uxtb r2, r3 802782e: 4b3f ldr r3, [pc, #252] ; (802792c ) 8027830: f883 2026 strb.w r2, [r3, #38] ; 0x26 DiagnFileData.d_Date.Month = (uint8_t) Month; 8027834: 6a3b ldr r3, [r7, #32] 8027836: b2da uxtb r2, r3 8027838: 4b3c ldr r3, [pc, #240] ; (802792c ) 802783a: f883 2025 strb.w r2, [r3, #37] ; 0x25 DiagnFileData.d_Date.Year = (uint8_t) Year; 802783e: 6a7b ldr r3, [r7, #36] ; 0x24 8027840: b2da uxtb r2, r3 8027842: 4b3a ldr r3, [pc, #232] ; (802792c ) 8027844: f883 2027 strb.w r2, [r3, #39] ; 0x27 DiagnFileData.d_Time.TimeFormat = 0; 8027848: 4b38 ldr r3, [pc, #224] ; (802792c ) 802784a: 2200 movs r2, #0 802784c: 761a strb r2, [r3, #24] DiagnFileData.d_Time.Hours = (uint8_t) Hour; 802784e: 69bb ldr r3, [r7, #24] 8027850: b2da uxtb r2, r3 8027852: 4b36 ldr r3, [pc, #216] ; (802792c ) 8027854: 731a strb r2, [r3, #12] DiagnFileData.d_Time.Minutes = (uint8_t) Min; 8027856: 697b ldr r3, [r7, #20] 8027858: b2da uxtb r2, r3 802785a: 4b34 ldr r3, [pc, #208] ; (802792c ) 802785c: 735a strb r2, [r3, #13] DiagnFileData.d_Time.Seconds = (uint8_t) Sec; 802785e: 693b ldr r3, [r7, #16] 8027860: b2da uxtb r2, r3 8027862: 4b32 ldr r3, [pc, #200] ; (802792c ) 8027864: 739a strb r2, [r3, #14] TimeFileData = DiagnFileData.d_Time; 8027866: 4a32 ldr r2, [pc, #200] ; (8027930 ) 8027868: 4b30 ldr r3, [pc, #192] ; (802792c ) 802786a: 4615 mov r5, r2 802786c: f103 040c add.w r4, r3, #12 8027870: cc0f ldmia r4!, {r0, r1, r2, r3} 8027872: c50f stmia r5!, {r0, r1, r2, r3} 8027874: e894 0003 ldmia.w r4, {r0, r1} 8027878: e885 0003 stmia.w r5, {r0, r1} DateFileData = DiagnFileData.d_Date; 802787c: 4a2d ldr r2, [pc, #180] ; (8027934 ) 802787e: 4b2b ldr r3, [pc, #172] ; (802792c ) 8027880: 3324 adds r3, #36 ; 0x24 8027882: 6818 ldr r0, [r3, #0] 8027884: 6010 str r0, [r2, #0] DrawSavedData = true; 8027886: 4b2c ldr r3, [pc, #176] ; (8027938 ) 8027888: 2201 movs r2, #1 802788a: 701a strb r2, [r3, #0] FileDataExist = true; 802788c: 4b2b ldr r3, [pc, #172] ; (802793c ) 802788e: 2201 movs r2, #1 8027890: 701a strb r2, [r3, #0] f_close(&F); 8027892: 4822 ldr r0, [pc, #136] ; (802791c ) 8027894: f09f f978 bl 80c6b88 return FR_OK; 8027898: 2300 movs r3, #0 802789a: e03a b.n 8027912 } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 802789c: 481f ldr r0, [pc, #124] ; (802791c ) 802789e: f09f f973 bl 80c6b88 memset(Comment, 0, sizeof(Comment)); 80278a2: 2228 movs r2, #40 ; 0x28 80278a4: 2100 movs r1, #0 80278a6: 4826 ldr r0, [pc, #152] ; (8027940 ) 80278a8: f0a5 fbea bl 80cd080 return FR_INVALID_OBJECT; 80278ac: 2309 movs r3, #9 80278ae: e030 b.n 8027912 if(NextIndexPoint == IP) 80278b0: bf00 nop } ifs += 33; 80278b2: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 80278b6: 3321 adds r3, #33 ; 0x21 80278b8: f144 0400 adc.w r4, r4, #0 80278bc: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 80278c0: e013 b.n 80278ea } else { f_close(&F); 80278c2: 4816 ldr r0, [pc, #88] ; (802791c ) 80278c4: f09f f960 bl 80c6b88 memset(Comment, 0, sizeof(Comment)); 80278c8: 2228 movs r2, #40 ; 0x28 80278ca: 2100 movs r1, #0 80278cc: 481c ldr r0, [pc, #112] ; (8027940 ) 80278ce: f0a5 fbd7 bl 80cd080 return FR_DISK_ERR; 80278d2: 2301 movs r3, #1 80278d4: e01d b.n 8027912 } } else { f_close(&F); 80278d6: 4811 ldr r0, [pc, #68] ; (802791c ) 80278d8: f09f f956 bl 80c6b88 memset(Comment, 0, sizeof(Comment)); 80278dc: 2228 movs r2, #40 ; 0x28 80278de: 2100 movs r1, #0 80278e0: 4817 ldr r0, [pc, #92] ; (8027940 ) 80278e2: f0a5 fbcd bl 80cd080 return FR_DISK_ERR; 80278e6: 2301 movs r3, #1 80278e8: e013 b.n 8027912 while(ifs < f_size(&F)) 80278ea: 4b0c ldr r3, [pc, #48] ; (802791c ) 80278ec: e9d3 3404 ldrd r3, r4, [r3, #16] 80278f0: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 80278f4: 42a2 cmp r2, r4 80278f6: bf08 it eq 80278f8: 4299 cmpeq r1, r3 80278fa: f4ff aeb9 bcc.w 8027670 /* * Èçìåðåíèå íå îáíàðóæåíî */ DrawSavedData = true; 80278fe: 4b0e ldr r3, [pc, #56] ; (8027938 ) 8027900: 2201 movs r2, #1 8027902: 701a strb r2, [r3, #0] f_close(&F); 8027904: 4805 ldr r0, [pc, #20] ; (802791c ) 8027906: f09f f93f bl 80c6b88 return FR_OK; 802790a: 2300 movs r3, #0 802790c: e001 b.n 8027912 } } } } return res; 802790e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 8027912: 4618 mov r0, r3 8027914: 3744 adds r7, #68 ; 0x44 8027916: 46bd mov sp, r7 8027918: bdf0 pop {r4, r5, r6, r7, pc} 802791a: bf00 nop 802791c: 20022e20 .word 0x20022e20 8027920: 2007c000 .word 0x2007c000 8027924: 20021f9c .word 0x20021f9c 8027928: 20022310 .word 0x20022310 802792c: 200225f4 .word 0x200225f4 8027930: 20022968 .word 0x20022968 8027934: 200225f0 .word 0x200225f0 8027938: 20020dca .word 0x20020dca 802793c: 20020dd3 .word 0x20020dd3 8027940: 20022650 .word 0x20022650 08027944 : FRESULT ReadFileSPEC(char* fname) { 8027944: b580 push {r7, lr} 8027946: b086 sub sp, #24 8027948: af00 add r7, sp, #0 802794a: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802794c: 2300 movs r3, #0 802794e: 75fb strb r3, [r7, #23] uint32_t i; UINT fk; FileDataExist = false; 8027950: 4b4f ldr r3, [pc, #316] ; (8027a90 ) 8027952: 2200 movs r2, #0 8027954: 701a strb r2, [r3, #0] DrawSavedData = false; 8027956: 4b4f ldr r3, [pc, #316] ; (8027a94 ) 8027958: 2200 movs r2, #0 802795a: 701a strb r2, [r3, #0] if(CardState != MSD_READY) { 802795c: 4b4e ldr r3, [pc, #312] ; (8027a98 ) 802795e: 781b ldrb r3, [r3, #0] 8027960: b2db uxtb r3, r3 8027962: 2b03 cmp r3, #3 8027964: d001 beq.n 802796a return FR_NOT_READY; 8027966: 2303 movs r3, #3 8027968: e08e b.n 8027a88 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802796a: 7dfb ldrb r3, [r7, #23] 802796c: 2b00 cmp r3, #0 802796e: f040 808a bne.w 8027a86 { //memset(FileName, 0, sizeof(FileName)); //strcpy(FileName, fname); memset(PointPath, 0, sizeof(PointPath)); 8027972: f44f 7200 mov.w r2, #512 ; 0x200 8027976: 2100 movs r1, #0 8027978: 4848 ldr r0, [pc, #288] ; (8027a9c ) 802797a: f0a5 fb81 bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 802797e: f44f 7200 mov.w r2, #512 ; 0x200 8027982: 2100 movs r1, #0 8027984: 4846 ldr r0, [pc, #280] ; (8027aa0 ) 8027986: f0a5 fb7b bl 80cd080 SearchPath[0] = '0'; 802798a: 4b45 ldr r3, [pc, #276] ; (8027aa0 ) 802798c: 2230 movs r2, #48 ; 0x30 802798e: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8027990: 4b43 ldr r3, [pc, #268] ; (8027aa0 ) 8027992: 223a movs r2, #58 ; 0x3a 8027994: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8027996: 4b43 ldr r3, [pc, #268] ; (8027aa4 ) 8027998: 2209 movs r2, #9 802799a: 701a strb r2, [r3, #0] FlagReturn = false; 802799c: 4b42 ldr r3, [pc, #264] ; (8027aa8 ) 802799e: 2200 movs r2, #0 80279a0: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 80279a2: 2100 movs r1, #0 80279a4: 483e ldr r0, [pc, #248] ; (8027aa0 ) 80279a6: f003 ff81 bl 802b8ac if(PointPath[0] == 0) 80279aa: 4b3c ldr r3, [pc, #240] ; (8027a9c ) 80279ac: 781b ldrb r3, [r3, #0] 80279ae: 2b00 cmp r3, #0 80279b0: d102 bne.n 80279b8 { res = FR_NO_FILE; 80279b2: 2304 movs r3, #4 80279b4: 75fb strb r3, [r7, #23] 80279b6: e066 b.n 8027a86 } else { res = f_open(&F, PointPath, FA_READ); 80279b8: 2201 movs r2, #1 80279ba: 4938 ldr r1, [pc, #224] ; (8027a9c ) 80279bc: 483b ldr r0, [pc, #236] ; (8027aac ) 80279be: f09e fa9f bl 80c5f00 80279c2: 4603 mov r3, r0 80279c4: 75fb strb r3, [r7, #23] if(res == FR_OK) 80279c6: 7dfb ldrb r3, [r7, #23] 80279c8: 2b00 cmp r3, #0 80279ca: d15c bne.n 8027a86 { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 80279cc: 4a38 ldr r2, [pc, #224] ; (8027ab0 ) 80279ce: 4b39 ldr r3, [pc, #228] ; (8027ab4 ) 80279d0: 4610 mov r0, r2 80279d2: 4619 mov r1, r3 80279d4: f44f 6396 mov.w r3, #1200 ; 0x4b0 80279d8: 461a mov r2, r3 80279da: f0a5 fb46 bl 80cd06a res = f_read(&F, (void *) &pardata, sizeof(pardata), &fk); 80279de: f107 030c add.w r3, r7, #12 80279e2: f44f 6296 mov.w r2, #1200 ; 0x4b0 80279e6: 4933 ldr r1, [pc, #204] ; (8027ab4 ) 80279e8: 4830 ldr r0, [pc, #192] ; (8027aac ) 80279ea: f09e fce6 bl 80c63ba 80279ee: 4603 mov r3, r0 80279f0: 75fb strb r3, [r7, #23] if(res == FR_OK) 80279f2: 7dfb ldrb r3, [r7, #23] 80279f4: 2b00 cmp r3, #0 80279f6: d141 bne.n 8027a7c { res = f_lseek(&F, 512); 80279f8: f44f 7200 mov.w r2, #512 ; 0x200 80279fc: f04f 0300 mov.w r3, #0 8027a00: 482a ldr r0, [pc, #168] ; (8027aac ) 8027a02: f09f f8e1 bl 80c6bc8 8027a06: 4603 mov r3, r0 8027a08: 75fb strb r3, [r7, #23] if(res == FR_OK) 8027a0a: 7dfb ldrb r3, [r7, #23] 8027a0c: 2b00 cmp r3, #0 8027a0e: d130 bne.n 8027a72 { i = (NS[pardata.LNE] << 2); 8027a10: 4b28 ldr r3, [pc, #160] ; (8027ab4 ) 8027a12: 79db ldrb r3, [r3, #7] 8027a14: b2db uxtb r3, r3 8027a16: 461a mov r2, r3 8027a18: 4b27 ldr r3, [pc, #156] ; (8027ab8 ) 8027a1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8027a1e: 009b lsls r3, r3, #2 8027a20: 613b str r3, [r7, #16] res = f_read(&F, (void *) &SD_Buff, (UINT) i, &fk); 8027a22: f107 030c add.w r3, r7, #12 8027a26: 693a ldr r2, [r7, #16] 8027a28: 4924 ldr r1, [pc, #144] ; (8027abc ) 8027a2a: 4820 ldr r0, [pc, #128] ; (8027aac ) 8027a2c: f09e fcc5 bl 80c63ba 8027a30: 4603 mov r3, r0 8027a32: 75fb strb r3, [r7, #23] if(res == FR_OK) 8027a34: 7dfb ldrb r3, [r7, #23] 8027a36: 2b00 cmp r3, #0 8027a38: d116 bne.n 8027a68 { arm_copy_f32((float32_t *) &SD_Buff, pScrA_f32, NS[pardata.LNE]); 8027a3a: 4b1e ldr r3, [pc, #120] ; (8027ab4 ) 8027a3c: 79db ldrb r3, [r3, #7] 8027a3e: b2db uxtb r3, r3 8027a40: 461a mov r2, r3 8027a42: 4b1d ldr r3, [pc, #116] ; (8027ab8 ) 8027a44: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8027a48: 461a mov r2, r3 8027a4a: 491d ldr r1, [pc, #116] ; (8027ac0 ) 8027a4c: 481b ldr r0, [pc, #108] ; (8027abc ) 8027a4e: f0a2 f993 bl 80c9d78 f_close(&F); 8027a52: 4816 ldr r0, [pc, #88] ; (8027aac ) 8027a54: f09f f898 bl 80c6b88 //f_mount(&fs, SDPath, 0); DrawSavedData = true; 8027a58: 4b0e ldr r3, [pc, #56] ; (8027a94 ) 8027a5a: 2201 movs r2, #1 8027a5c: 701a strb r2, [r3, #0] FileDataExist = true; 8027a5e: 4b0c ldr r3, [pc, #48] ; (8027a90 ) 8027a60: 2201 movs r2, #1 8027a62: 701a strb r2, [r3, #0] return FR_OK; 8027a64: 2300 movs r3, #0 8027a66: e00f b.n 8027a88 } else { f_close(&F); 8027a68: 4810 ldr r0, [pc, #64] ; (8027aac ) 8027a6a: f09f f88d bl 80c6b88 // f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8027a6e: 2301 movs r3, #1 8027a70: e00a b.n 8027a88 } } else { f_close(&F); 8027a72: 480e ldr r0, [pc, #56] ; (8027aac ) 8027a74: f09f f888 bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8027a78: 2301 movs r3, #1 8027a7a: e005 b.n 8027a88 } } else { f_close(&F); 8027a7c: 480b ldr r0, [pc, #44] ; (8027aac ) 8027a7e: f09f f883 bl 80c6b88 //f_mount(&fs, SDPath, 0); return FR_DISK_ERR; 8027a82: 2301 movs r3, #1 8027a84: e000 b.n 8027a88 } } } //f_mount(&fs, SDPath, 0); return res; 8027a86: 7dfb ldrb r3, [r7, #23] } 8027a88: 4618 mov r0, r3 8027a8a: 3718 adds r7, #24 8027a8c: 46bd mov sp, r7 8027a8e: bd80 pop {r7, pc} 8027a90: 20020dd3 .word 0x20020dd3 8027a94: 20020dca .word 0x20020dca 8027a98: 2002164c .word 0x2002164c 8027a9c: 200229b4 .word 0x200229b4 8027aa0: 20021d80 .word 0x20021d80 8027aa4: 20020ddf .word 0x20020ddf 8027aa8: 20020dde .word 0x20020dde 8027aac: 20022e20 .word 0x20022e20 8027ab0: 2002437c .word 0x2002437c 8027ab4: 20023e60 .word 0x20023e60 8027ab8: 080d0dd8 .word 0x080d0dd8 8027abc: 20000000 .word 0x20000000 8027ac0: 64080000 .word 0x64080000 08027ac4 : } FRESULT OpenFileGTR(char *fname) { 8027ac4: e92d 43b0 stmdb sp!, {r4, r5, r7, r8, r9, lr} 8027ac8: ed2d 8b02 vpush {d8} 8027acc: b0a0 sub sp, #128 ; 0x80 8027ace: af00 add r7, sp, #0 8027ad0: 6078 str r0, [r7, #4] FSIZE_t SizeMeas = 0; 8027ad2: f04f 0200 mov.w r2, #0 8027ad6: f04f 0300 mov.w r3, #0 8027ada: e9c7 231e strd r2, r3, [r7, #120] ; 0x78 FRESULT res = FR_OK; 8027ade: 2300 movs r3, #0 8027ae0: f887 3077 strb.w r3, [r7, #119] ; 0x77 UINT fk, i; uint32_t srate[12]; uint32_t sens[12], s; FileDataExist = false; 8027ae4: 4b8e ldr r3, [pc, #568] ; (8027d20 ) 8027ae6: 2200 movs r2, #0 8027ae8: 701a strb r2, [r3, #0] DrawSavedData = false; 8027aea: 4b8e ldr r3, [pc, #568] ; (8027d24 ) 8027aec: 2200 movs r2, #0 8027aee: 701a strb r2, [r3, #0] FirstMeas = 0; 8027af0: 4b8d ldr r3, [pc, #564] ; (8027d28 ) 8027af2: 2200 movs r2, #0 8027af4: 601a str r2, [r3, #0] memset((void *) &PlayingState, 0, sizeof(PlayingState)); 8027af6: 2228 movs r2, #40 ; 0x28 8027af8: 2100 movs r1, #0 8027afa: 488c ldr r0, [pc, #560] ; (8027d2c ) 8027afc: f0a5 fac0 bl 80cd080 memset(srate, 0, sizeof(srate)); 8027b00: f107 0338 add.w r3, r7, #56 ; 0x38 8027b04: 2230 movs r2, #48 ; 0x30 8027b06: 2100 movs r1, #0 8027b08: 4618 mov r0, r3 8027b0a: f0a5 fab9 bl 80cd080 memset(sens, 0, sizeof(sens)); 8027b0e: f107 0308 add.w r3, r7, #8 8027b12: 2230 movs r2, #48 ; 0x30 8027b14: 2100 movs r1, #0 8027b16: 4618 mov r0, r3 8027b18: f0a5 fab2 bl 80cd080 PlayingState.Sensitivity = 1.0f; 8027b1c: 4b83 ldr r3, [pc, #524] ; (8027d2c ) 8027b1e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8027b22: 621a str r2, [r3, #32] if(CardState != MSD_READY) { 8027b24: 4b82 ldr r3, [pc, #520] ; (8027d30 ) 8027b26: 781b ldrb r3, [r3, #0] 8027b28: b2db uxtb r3, r3 8027b2a: 2b03 cmp r3, #3 8027b2c: d001 beq.n 8027b32 return FR_NOT_READY; 8027b2e: 2303 movs r3, #3 8027b30: e2c6 b.n 80280c0 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 8027b32: f897 3077 ldrb.w r3, [r7, #119] ; 0x77 8027b36: 2b00 cmp r3, #0 8027b38: f040 82c0 bne.w 80280bc { memset(PointPath, 0, sizeof(PointPath)); 8027b3c: f44f 7200 mov.w r2, #512 ; 0x200 8027b40: 2100 movs r1, #0 8027b42: 487c ldr r0, [pc, #496] ; (8027d34 ) 8027b44: f0a5 fa9c bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 8027b48: f44f 7200 mov.w r2, #512 ; 0x200 8027b4c: 2100 movs r1, #0 8027b4e: 487a ldr r0, [pc, #488] ; (8027d38 ) 8027b50: f0a5 fa96 bl 80cd080 SearchPath[0] = '0'; 8027b54: 4b78 ldr r3, [pc, #480] ; (8027d38 ) 8027b56: 2230 movs r2, #48 ; 0x30 8027b58: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8027b5a: 4b77 ldr r3, [pc, #476] ; (8027d38 ) 8027b5c: 223a movs r2, #58 ; 0x3a 8027b5e: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8027b60: 4b76 ldr r3, [pc, #472] ; (8027d3c ) 8027b62: 2209 movs r2, #9 8027b64: 701a strb r2, [r3, #0] FlagReturn = false; 8027b66: 4b76 ldr r3, [pc, #472] ; (8027d40 ) 8027b68: 2200 movs r2, #0 8027b6a: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8027b6c: 2100 movs r1, #0 8027b6e: 4872 ldr r0, [pc, #456] ; (8027d38 ) 8027b70: f003 fe9c bl 802b8ac if(PointPath[0] == 0) 8027b74: 4b6f ldr r3, [pc, #444] ; (8027d34 ) 8027b76: 781b ldrb r3, [r3, #0] 8027b78: 2b00 cmp r3, #0 8027b7a: d103 bne.n 8027b84 { res = FR_NO_FILE; 8027b7c: 2304 movs r3, #4 8027b7e: f887 3077 strb.w r3, [r7, #119] ; 0x77 8027b82: e29b b.n 80280bc } else { res = f_open(&F, PointPath, FA_READ); 8027b84: 2201 movs r2, #1 8027b86: 496b ldr r1, [pc, #428] ; (8027d34 ) 8027b88: 486e ldr r0, [pc, #440] ; (8027d44 ) 8027b8a: f09e f9b9 bl 80c5f00 8027b8e: 4603 mov r3, r0 8027b90: f887 3077 strb.w r3, [r7, #119] ; 0x77 if(res == FR_OK) 8027b94: f897 3077 ldrb.w r3, [r7, #119] ; 0x77 8027b98: 2b00 cmp r3, #0 8027b9a: f040 828f bne.w 80280bc { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 8027b9e: 4a6a ldr r2, [pc, #424] ; (8027d48 ) 8027ba0: 4b6a ldr r3, [pc, #424] ; (8027d4c ) 8027ba2: 4610 mov r0, r2 8027ba4: 4619 mov r1, r3 8027ba6: f44f 6396 mov.w r3, #1200 ; 0x4b0 8027baa: 461a mov r2, r3 8027bac: f0a5 fa5d bl 80cd06a res = f_read(&F, (void *) &FirstMeas, 4, &fk); 8027bb0: f107 0368 add.w r3, r7, #104 ; 0x68 8027bb4: 2204 movs r2, #4 8027bb6: 495c ldr r1, [pc, #368] ; (8027d28 ) 8027bb8: 4862 ldr r0, [pc, #392] ; (8027d44 ) 8027bba: f09e fbfe bl 80c63ba 8027bbe: 4603 mov r3, r0 8027bc0: f887 3077 strb.w r3, [r7, #119] ; 0x77 if(res == FR_OK) 8027bc4: f897 3077 ldrb.w r3, [r7, #119] ; 0x77 8027bc8: 2b00 cmp r3, #0 8027bca: f040 8269 bne.w 80280a0 { memset(SearchPath, 0, sizeof(SearchPath)); 8027bce: f44f 7200 mov.w r2, #512 ; 0x200 8027bd2: 2100 movs r1, #0 8027bd4: 4858 ldr r0, [pc, #352] ; (8027d38 ) 8027bd6: f0a5 fa53 bl 80cd080 res = f_read(&F, SearchPath, FirstMeas, &fk); 8027bda: 4b53 ldr r3, [pc, #332] ; (8027d28 ) 8027bdc: 681a ldr r2, [r3, #0] 8027bde: f107 0368 add.w r3, r7, #104 ; 0x68 8027be2: 4955 ldr r1, [pc, #340] ; (8027d38 ) 8027be4: 4857 ldr r0, [pc, #348] ; (8027d44 ) 8027be6: f09e fbe8 bl 80c63ba 8027bea: 4603 mov r3, r0 8027bec: f887 3077 strb.w r3, [r7, #119] ; 0x77 if(res == FR_OK) 8027bf0: f897 3077 ldrb.w r3, [r7, #119] ; 0x77 8027bf4: 2b00 cmp r3, #0 8027bf6: f040 8245 bne.w 8028084 { //********************************** FIND SAMPLE RATE ******************************************************************************************************************************** for(i = 0; i < FirstMeas; i++) 8027bfa: 2300 movs r3, #0 8027bfc: 673b str r3, [r7, #112] ; 0x70 8027bfe: e085 b.n 8027d0c { if((SearchPath[i] == 'r') && (SearchPath[i + 1] == 'a') && (SearchPath[i + 2] == 't') && (SearchPath[i + 3] == 'e') && (SearchPath[i + 4] == '=') && (SearchPath[i + 5] == '"')) 8027c00: 4a4d ldr r2, [pc, #308] ; (8027d38 ) 8027c02: 6f3b ldr r3, [r7, #112] ; 0x70 8027c04: 4413 add r3, r2 8027c06: 781b ldrb r3, [r3, #0] 8027c08: 2b72 cmp r3, #114 ; 0x72 8027c0a: d17c bne.n 8027d06 8027c0c: 6f3b ldr r3, [r7, #112] ; 0x70 8027c0e: 3301 adds r3, #1 8027c10: 4a49 ldr r2, [pc, #292] ; (8027d38 ) 8027c12: 5cd3 ldrb r3, [r2, r3] 8027c14: 2b61 cmp r3, #97 ; 0x61 8027c16: d176 bne.n 8027d06 8027c18: 6f3b ldr r3, [r7, #112] ; 0x70 8027c1a: 3302 adds r3, #2 8027c1c: 4a46 ldr r2, [pc, #280] ; (8027d38 ) 8027c1e: 5cd3 ldrb r3, [r2, r3] 8027c20: 2b74 cmp r3, #116 ; 0x74 8027c22: d170 bne.n 8027d06 8027c24: 6f3b ldr r3, [r7, #112] ; 0x70 8027c26: 3303 adds r3, #3 8027c28: 4a43 ldr r2, [pc, #268] ; (8027d38 ) 8027c2a: 5cd3 ldrb r3, [r2, r3] 8027c2c: 2b65 cmp r3, #101 ; 0x65 8027c2e: d16a bne.n 8027d06 8027c30: 6f3b ldr r3, [r7, #112] ; 0x70 8027c32: 3304 adds r3, #4 8027c34: 4a40 ldr r2, [pc, #256] ; (8027d38 ) 8027c36: 5cd3 ldrb r3, [r2, r3] 8027c38: 2b3d cmp r3, #61 ; 0x3d 8027c3a: d164 bne.n 8027d06 8027c3c: 6f3b ldr r3, [r7, #112] ; 0x70 8027c3e: 3305 adds r3, #5 8027c40: 4a3d ldr r2, [pc, #244] ; (8027d38 ) 8027c42: 5cd3 ldrb r3, [r2, r3] 8027c44: 2b22 cmp r3, #34 ; 0x22 8027c46: d15e bne.n 8027d06 { srate[0] = SearchPath[i + 6] - 48; 8027c48: 6f3b ldr r3, [r7, #112] ; 0x70 8027c4a: 3306 adds r3, #6 8027c4c: 4a3a ldr r2, [pc, #232] ; (8027d38 ) 8027c4e: 5cd3 ldrb r3, [r2, r3] 8027c50: 3b30 subs r3, #48 ; 0x30 8027c52: 63bb str r3, [r7, #56] ; 0x38 srate[1] = SearchPath[i + 7] - 48; 8027c54: 6f3b ldr r3, [r7, #112] ; 0x70 8027c56: 3307 adds r3, #7 8027c58: 4a37 ldr r2, [pc, #220] ; (8027d38 ) 8027c5a: 5cd3 ldrb r3, [r2, r3] 8027c5c: 3b30 subs r3, #48 ; 0x30 8027c5e: 63fb str r3, [r7, #60] ; 0x3c srate[2] = SearchPath[i + 8] - 48; 8027c60: 6f3b ldr r3, [r7, #112] ; 0x70 8027c62: 3308 adds r3, #8 8027c64: 4a34 ldr r2, [pc, #208] ; (8027d38 ) 8027c66: 5cd3 ldrb r3, [r2, r3] 8027c68: 3b30 subs r3, #48 ; 0x30 8027c6a: 643b str r3, [r7, #64] ; 0x40 srate[3] = SearchPath[i + 9] - 48; 8027c6c: 6f3b ldr r3, [r7, #112] ; 0x70 8027c6e: 3309 adds r3, #9 8027c70: 4a31 ldr r2, [pc, #196] ; (8027d38 ) 8027c72: 5cd3 ldrb r3, [r2, r3] 8027c74: 3b30 subs r3, #48 ; 0x30 8027c76: 647b str r3, [r7, #68] ; 0x44 srate[4] = SearchPath[i + 10]; 8027c78: 6f3b ldr r3, [r7, #112] ; 0x70 8027c7a: 330a adds r3, #10 8027c7c: 4a2e ldr r2, [pc, #184] ; (8027d38 ) 8027c7e: 5cd3 ldrb r3, [r2, r3] 8027c80: 64bb str r3, [r7, #72] ; 0x48 if(srate[4] == '"') 8027c82: 6cbb ldr r3, [r7, #72] ; 0x48 8027c84: 2b22 cmp r3, #34 ; 0x22 8027c86: d114 bne.n 8027cb2 { PlayingState.SampleRate = srate[0] * 1000 + srate[1] * 100 + srate[2] * 10 + srate[3]; 8027c88: 6bbb ldr r3, [r7, #56] ; 0x38 8027c8a: f44f 727a mov.w r2, #1000 ; 0x3e8 8027c8e: fb02 f203 mul.w r2, r2, r3 8027c92: 6bfb ldr r3, [r7, #60] ; 0x3c 8027c94: 2164 movs r1, #100 ; 0x64 8027c96: fb01 f303 mul.w r3, r1, r3 8027c9a: 18d1 adds r1, r2, r3 8027c9c: 6c3a ldr r2, [r7, #64] ; 0x40 8027c9e: 4613 mov r3, r2 8027ca0: 009b lsls r3, r3, #2 8027ca2: 4413 add r3, r2 8027ca4: 005b lsls r3, r3, #1 8027ca6: 18ca adds r2, r1, r3 8027ca8: 6c7b ldr r3, [r7, #68] ; 0x44 8027caa: 4413 add r3, r2 8027cac: 4a1f ldr r2, [pc, #124] ; (8027d2c ) 8027cae: 6193 str r3, [r2, #24] break; 8027cb0: e032 b.n 8027d18 } else srate[4] -= 48; 8027cb2: 6cbb ldr r3, [r7, #72] ; 0x48 8027cb4: 3b30 subs r3, #48 ; 0x30 8027cb6: 64bb str r3, [r7, #72] ; 0x48 srate[5] = SearchPath[i + 11]; 8027cb8: 6f3b ldr r3, [r7, #112] ; 0x70 8027cba: 330b adds r3, #11 8027cbc: 4a1e ldr r2, [pc, #120] ; (8027d38 ) 8027cbe: 5cd3 ldrb r3, [r2, r3] 8027cc0: 64fb str r3, [r7, #76] ; 0x4c if(srate[5] == '"') 8027cc2: 6cfb ldr r3, [r7, #76] ; 0x4c 8027cc4: 2b22 cmp r3, #34 ; 0x22 8027cc6: d11b bne.n 8027d00 { PlayingState.SampleRate = srate[0] * 10000 + srate[1] * 1000 + srate[2] * 100 + srate[3] * 10 + srate[4]; 8027cc8: 6bbb ldr r3, [r7, #56] ; 0x38 8027cca: f242 7210 movw r2, #10000 ; 0x2710 8027cce: fb02 f203 mul.w r2, r2, r3 8027cd2: 6bfb ldr r3, [r7, #60] ; 0x3c 8027cd4: f44f 717a mov.w r1, #1000 ; 0x3e8 8027cd8: fb01 f303 mul.w r3, r1, r3 8027cdc: 18d1 adds r1, r2, r3 8027cde: 6c7a ldr r2, [r7, #68] ; 0x44 8027ce0: 4613 mov r3, r2 8027ce2: 009b lsls r3, r3, #2 8027ce4: 4413 add r3, r2 8027ce6: 005b lsls r3, r3, #1 8027ce8: 4618 mov r0, r3 8027cea: 6c3b ldr r3, [r7, #64] ; 0x40 8027cec: 2264 movs r2, #100 ; 0x64 8027cee: fb02 f303 mul.w r3, r2, r3 8027cf2: 4403 add r3, r0 8027cf4: 18ca adds r2, r1, r3 8027cf6: 6cbb ldr r3, [r7, #72] ; 0x48 8027cf8: 4413 add r3, r2 8027cfa: 4a0c ldr r2, [pc, #48] ; (8027d2c ) 8027cfc: 6193 str r3, [r2, #24] break; 8027cfe: e00b b.n 8027d18 } else srate[5] -= 48; 8027d00: 6cfb ldr r3, [r7, #76] ; 0x4c 8027d02: 3b30 subs r3, #48 ; 0x30 8027d04: 64fb str r3, [r7, #76] ; 0x4c for(i = 0; i < FirstMeas; i++) 8027d06: 6f3b ldr r3, [r7, #112] ; 0x70 8027d08: 3301 adds r3, #1 8027d0a: 673b str r3, [r7, #112] ; 0x70 8027d0c: 4b06 ldr r3, [pc, #24] ; (8027d28 ) 8027d0e: 681b ldr r3, [r3, #0] 8027d10: 6f3a ldr r2, [r7, #112] ; 0x70 8027d12: 429a cmp r2, r3 8027d14: f4ff af74 bcc.w 8027c00 } } //====================================================================================================================================================================================== //********************************** FIND Sensitivity ******************************************************************************************************************************** for(i = 0; i < FirstMeas; i++) 8027d18: 2300 movs r3, #0 8027d1a: 673b str r3, [r7, #112] ; 0x70 8027d1c: e0c3 b.n 8027ea6 8027d1e: bf00 nop 8027d20: 20020dd3 .word 0x20020dd3 8027d24: 20020dca .word 0x20020dca 8027d28: 20020dd8 .word 0x20020dd8 8027d2c: 200228d8 .word 0x200228d8 8027d30: 2002164c .word 0x2002164c 8027d34: 200229b4 .word 0x200229b4 8027d38: 20021d80 .word 0x20021d80 8027d3c: 20020ddf .word 0x20020ddf 8027d40: 20020dde .word 0x20020dde 8027d44: 20022e20 .word 0x20022e20 8027d48: 2002437c .word 0x2002437c 8027d4c: 20023e60 .word 0x20023e60 { if((SearchPath[i] == 's') && (SearchPath[i + 1] == 'e') && (SearchPath[i + 2] == 'n') && (SearchPath[i + 3] == 's') && (SearchPath[i + 4] == 'i') && (SearchPath[i + 5] == 't') && (SearchPath[i + 6] == 'i') && (SearchPath[i + 7] == 'v') && (SearchPath[i + 8] == 'i') && (SearchPath[i + 9] == 't') && (SearchPath[i + 10] == 'y') && (SearchPath[i + 11] == '=') && (SearchPath[i + 12] == '"')) 8027d50: 4a8c ldr r2, [pc, #560] ; (8027f84 ) 8027d52: 6f3b ldr r3, [r7, #112] ; 0x70 8027d54: 4413 add r3, r2 8027d56: 781b ldrb r3, [r3, #0] 8027d58: 2b73 cmp r3, #115 ; 0x73 8027d5a: f040 80a1 bne.w 8027ea0 8027d5e: 6f3b ldr r3, [r7, #112] ; 0x70 8027d60: 3301 adds r3, #1 8027d62: 4a88 ldr r2, [pc, #544] ; (8027f84 ) 8027d64: 5cd3 ldrb r3, [r2, r3] 8027d66: 2b65 cmp r3, #101 ; 0x65 8027d68: f040 809a bne.w 8027ea0 8027d6c: 6f3b ldr r3, [r7, #112] ; 0x70 8027d6e: 3302 adds r3, #2 8027d70: 4a84 ldr r2, [pc, #528] ; (8027f84 ) 8027d72: 5cd3 ldrb r3, [r2, r3] 8027d74: 2b6e cmp r3, #110 ; 0x6e 8027d76: f040 8093 bne.w 8027ea0 8027d7a: 6f3b ldr r3, [r7, #112] ; 0x70 8027d7c: 3303 adds r3, #3 8027d7e: 4a81 ldr r2, [pc, #516] ; (8027f84 ) 8027d80: 5cd3 ldrb r3, [r2, r3] 8027d82: 2b73 cmp r3, #115 ; 0x73 8027d84: f040 808c bne.w 8027ea0 8027d88: 6f3b ldr r3, [r7, #112] ; 0x70 8027d8a: 3304 adds r3, #4 8027d8c: 4a7d ldr r2, [pc, #500] ; (8027f84 ) 8027d8e: 5cd3 ldrb r3, [r2, r3] 8027d90: 2b69 cmp r3, #105 ; 0x69 8027d92: f040 8085 bne.w 8027ea0 8027d96: 6f3b ldr r3, [r7, #112] ; 0x70 8027d98: 3305 adds r3, #5 8027d9a: 4a7a ldr r2, [pc, #488] ; (8027f84 ) 8027d9c: 5cd3 ldrb r3, [r2, r3] 8027d9e: 2b74 cmp r3, #116 ; 0x74 8027da0: d17e bne.n 8027ea0 8027da2: 6f3b ldr r3, [r7, #112] ; 0x70 8027da4: 3306 adds r3, #6 8027da6: 4a77 ldr r2, [pc, #476] ; (8027f84 ) 8027da8: 5cd3 ldrb r3, [r2, r3] 8027daa: 2b69 cmp r3, #105 ; 0x69 8027dac: d178 bne.n 8027ea0 8027dae: 6f3b ldr r3, [r7, #112] ; 0x70 8027db0: 3307 adds r3, #7 8027db2: 4a74 ldr r2, [pc, #464] ; (8027f84 ) 8027db4: 5cd3 ldrb r3, [r2, r3] 8027db6: 2b76 cmp r3, #118 ; 0x76 8027db8: d172 bne.n 8027ea0 8027dba: 6f3b ldr r3, [r7, #112] ; 0x70 8027dbc: 3308 adds r3, #8 8027dbe: 4a71 ldr r2, [pc, #452] ; (8027f84 ) 8027dc0: 5cd3 ldrb r3, [r2, r3] 8027dc2: 2b69 cmp r3, #105 ; 0x69 8027dc4: d16c bne.n 8027ea0 8027dc6: 6f3b ldr r3, [r7, #112] ; 0x70 8027dc8: 3309 adds r3, #9 8027dca: 4a6e ldr r2, [pc, #440] ; (8027f84 ) 8027dcc: 5cd3 ldrb r3, [r2, r3] 8027dce: 2b74 cmp r3, #116 ; 0x74 8027dd0: d166 bne.n 8027ea0 8027dd2: 6f3b ldr r3, [r7, #112] ; 0x70 8027dd4: 330a adds r3, #10 8027dd6: 4a6b ldr r2, [pc, #428] ; (8027f84 ) 8027dd8: 5cd3 ldrb r3, [r2, r3] 8027dda: 2b79 cmp r3, #121 ; 0x79 8027ddc: d160 bne.n 8027ea0 8027dde: 6f3b ldr r3, [r7, #112] ; 0x70 8027de0: 330b adds r3, #11 8027de2: 4a68 ldr r2, [pc, #416] ; (8027f84 ) 8027de4: 5cd3 ldrb r3, [r2, r3] 8027de6: 2b3d cmp r3, #61 ; 0x3d 8027de8: d15a bne.n 8027ea0 8027dea: 6f3b ldr r3, [r7, #112] ; 0x70 8027dec: 330c adds r3, #12 8027dee: 4a65 ldr r2, [pc, #404] ; (8027f84 ) 8027df0: 5cd3 ldrb r3, [r2, r3] 8027df2: 2b22 cmp r3, #34 ; 0x22 8027df4: d154 bne.n 8027ea0 { sens[0] = SearchPath[i + 15] - 48; 8027df6: 6f3b ldr r3, [r7, #112] ; 0x70 8027df8: 330f adds r3, #15 8027dfa: 4a62 ldr r2, [pc, #392] ; (8027f84 ) 8027dfc: 5cd3 ldrb r3, [r2, r3] 8027dfe: 3b30 subs r3, #48 ; 0x30 8027e00: 60bb str r3, [r7, #8] sens[1] = SearchPath[i + 16] - 48; 8027e02: 6f3b ldr r3, [r7, #112] ; 0x70 8027e04: 3310 adds r3, #16 8027e06: 4a5f ldr r2, [pc, #380] ; (8027f84 ) 8027e08: 5cd3 ldrb r3, [r2, r3] 8027e0a: 3b30 subs r3, #48 ; 0x30 8027e0c: 60fb str r3, [r7, #12] sens[2] = SearchPath[i + 17] - 48; 8027e0e: 6f3b ldr r3, [r7, #112] ; 0x70 8027e10: 3311 adds r3, #17 8027e12: 4a5c ldr r2, [pc, #368] ; (8027f84 ) 8027e14: 5cd3 ldrb r3, [r2, r3] 8027e16: 3b30 subs r3, #48 ; 0x30 8027e18: 613b str r3, [r7, #16] sens[3] = SearchPath[i + 18] - 48; 8027e1a: 6f3b ldr r3, [r7, #112] ; 0x70 8027e1c: 3312 adds r3, #18 8027e1e: 4a59 ldr r2, [pc, #356] ; (8027f84 ) 8027e20: 5cd3 ldrb r3, [r2, r3] 8027e22: 3b30 subs r3, #48 ; 0x30 8027e24: 617b str r3, [r7, #20] sens[4] = SearchPath[i + 19] - 48; 8027e26: 6f3b ldr r3, [r7, #112] ; 0x70 8027e28: 3313 adds r3, #19 8027e2a: 4a56 ldr r2, [pc, #344] ; (8027f84 ) 8027e2c: 5cd3 ldrb r3, [r2, r3] 8027e2e: 3b30 subs r3, #48 ; 0x30 8027e30: 61bb str r3, [r7, #24] sens[5] = SearchPath[i + 20] - 48; 8027e32: 6f3b ldr r3, [r7, #112] ; 0x70 8027e34: 3314 adds r3, #20 8027e36: 4a53 ldr r2, [pc, #332] ; (8027f84 ) 8027e38: 5cd3 ldrb r3, [r2, r3] 8027e3a: 3b30 subs r3, #48 ; 0x30 8027e3c: 61fb str r3, [r7, #28] s = (sens[0] * 100000) + (sens[1] * 10000) + (sens[2] * 1000) + (sens[3] * 100) + (sens[4] * 10) + sens[5]; 8027e3e: 68bb ldr r3, [r7, #8] 8027e40: 4a51 ldr r2, [pc, #324] ; (8027f88 ) 8027e42: fb02 f203 mul.w r2, r2, r3 8027e46: 68fb ldr r3, [r7, #12] 8027e48: f242 7110 movw r1, #10000 ; 0x2710 8027e4c: fb01 f303 mul.w r3, r1, r3 8027e50: 441a add r2, r3 8027e52: 697b ldr r3, [r7, #20] 8027e54: 2164 movs r1, #100 ; 0x64 8027e56: fb01 f103 mul.w r1, r1, r3 8027e5a: 693b ldr r3, [r7, #16] 8027e5c: f44f 707a mov.w r0, #1000 ; 0x3e8 8027e60: fb00 f303 mul.w r3, r0, r3 8027e64: 440b add r3, r1 8027e66: 18d1 adds r1, r2, r3 8027e68: 69ba ldr r2, [r7, #24] 8027e6a: 4613 mov r3, r2 8027e6c: 009b lsls r3, r3, #2 8027e6e: 4413 add r3, r2 8027e70: 005b lsls r3, r3, #1 8027e72: 18ca adds r2, r1, r3 8027e74: 69fb ldr r3, [r7, #28] 8027e76: 4413 add r3, r2 8027e78: 66fb str r3, [r7, #108] ; 0x6c PlayingState.Sensitivity = (float32_t) s; 8027e7a: 6efb ldr r3, [r7, #108] ; 0x6c 8027e7c: ee07 3a90 vmov s15, r3 8027e80: eef8 7a67 vcvt.f32.u32 s15, s15 8027e84: 4b41 ldr r3, [pc, #260] ; (8027f8c ) 8027e86: edc3 7a08 vstr s15, [r3, #32] PlayingState.Sensitivity /= 1000; 8027e8a: 4b40 ldr r3, [pc, #256] ; (8027f8c ) 8027e8c: ed93 7a08 vldr s14, [r3, #32] 8027e90: eddf 6a3f vldr s13, [pc, #252] ; 8027f90 8027e94: eec7 7a26 vdiv.f32 s15, s14, s13 8027e98: 4b3c ldr r3, [pc, #240] ; (8027f8c ) 8027e9a: edc3 7a08 vstr s15, [r3, #32] break; 8027e9e: e008 b.n 8027eb2 for(i = 0; i < FirstMeas; i++) 8027ea0: 6f3b ldr r3, [r7, #112] ; 0x70 8027ea2: 3301 adds r3, #1 8027ea4: 673b str r3, [r7, #112] ; 0x70 8027ea6: 4b3b ldr r3, [pc, #236] ; (8027f94 ) 8027ea8: 681b ldr r3, [r3, #0] 8027eaa: 6f3a ldr r2, [r7, #112] ; 0x70 8027eac: 429a cmp r2, r3 8027eae: f4ff af4f bcc.w 8027d50 } } //====================================================================================================================================================================================== //====================================================================================================================================================================================== //********************************** FIND âõîä 1 ******************************************************************************************************************************** NUM_CHANNELS = 1; 8027eb2: 4b39 ldr r3, [pc, #228] ; (8027f98 ) 8027eb4: 2201 movs r2, #1 8027eb6: 601a str r2, [r3, #0] for(i = 0; i < FirstMeas; i++) 8027eb8: 2300 movs r3, #0 8027eba: 673b str r3, [r7, #112] ; 0x70 8027ebc: e02a b.n 8027f14 { if((SearchPath[i] == 'â') && (SearchPath[i + 1] == 'õ') && (SearchPath[i + 2] == 'î') && (SearchPath[i + 3] == 'ä') && (SearchPath[i + 4] == ' ') && (SearchPath[i + 5] == '1')) 8027ebe: 4a31 ldr r2, [pc, #196] ; (8027f84 ) 8027ec0: 6f3b ldr r3, [r7, #112] ; 0x70 8027ec2: 4413 add r3, r2 8027ec4: 781b ldrb r3, [r3, #0] 8027ec6: 2be2 cmp r3, #226 ; 0xe2 8027ec8: d121 bne.n 8027f0e 8027eca: 6f3b ldr r3, [r7, #112] ; 0x70 8027ecc: 3301 adds r3, #1 8027ece: 4a2d ldr r2, [pc, #180] ; (8027f84 ) 8027ed0: 5cd3 ldrb r3, [r2, r3] 8027ed2: 2bf5 cmp r3, #245 ; 0xf5 8027ed4: d11b bne.n 8027f0e 8027ed6: 6f3b ldr r3, [r7, #112] ; 0x70 8027ed8: 3302 adds r3, #2 8027eda: 4a2a ldr r2, [pc, #168] ; (8027f84 ) 8027edc: 5cd3 ldrb r3, [r2, r3] 8027ede: 2bee cmp r3, #238 ; 0xee 8027ee0: d115 bne.n 8027f0e 8027ee2: 6f3b ldr r3, [r7, #112] ; 0x70 8027ee4: 3303 adds r3, #3 8027ee6: 4a27 ldr r2, [pc, #156] ; (8027f84 ) 8027ee8: 5cd3 ldrb r3, [r2, r3] 8027eea: 2be4 cmp r3, #228 ; 0xe4 8027eec: d10f bne.n 8027f0e 8027eee: 6f3b ldr r3, [r7, #112] ; 0x70 8027ef0: 3304 adds r3, #4 8027ef2: 4a24 ldr r2, [pc, #144] ; (8027f84 ) 8027ef4: 5cd3 ldrb r3, [r2, r3] 8027ef6: 2b20 cmp r3, #32 8027ef8: d109 bne.n 8027f0e 8027efa: 6f3b ldr r3, [r7, #112] ; 0x70 8027efc: 3305 adds r3, #5 8027efe: 4a21 ldr r2, [pc, #132] ; (8027f84 ) 8027f00: 5cd3 ldrb r3, [r2, r3] 8027f02: 2b31 cmp r3, #49 ; 0x31 8027f04: d103 bne.n 8027f0e { NUM_CHANNELS = 2; 8027f06: 4b24 ldr r3, [pc, #144] ; (8027f98 ) 8027f08: 2202 movs r2, #2 8027f0a: 601a str r2, [r3, #0] break; 8027f0c: e007 b.n 8027f1e for(i = 0; i < FirstMeas; i++) 8027f0e: 6f3b ldr r3, [r7, #112] ; 0x70 8027f10: 3301 adds r3, #1 8027f12: 673b str r3, [r7, #112] ; 0x70 8027f14: 4b1f ldr r3, [pc, #124] ; (8027f94 ) 8027f16: 681b ldr r3, [r3, #0] 8027f18: 6f3a ldr r2, [r7, #112] ; 0x70 8027f1a: 429a cmp r2, r3 8027f1c: d3cf bcc.n 8027ebe } //====================================================================================================================================================================================== FirstMeas += 4; 8027f1e: 4b1d ldr r3, [pc, #116] ; (8027f94 ) 8027f20: 681b ldr r3, [r3, #0] 8027f22: 3304 adds r3, #4 8027f24: 4a1b ldr r2, [pc, #108] ; (8027f94 ) 8027f26: 6013 str r3, [r2, #0] res = f_lseek(&F, FirstMeas); 8027f28: 4b1a ldr r3, [pc, #104] ; (8027f94 ) 8027f2a: 681b ldr r3, [r3, #0] 8027f2c: 461a mov r2, r3 8027f2e: f04f 0300 mov.w r3, #0 8027f32: 481a ldr r0, [pc, #104] ; (8027f9c ) 8027f34: f09e fe48 bl 80c6bc8 8027f38: 4603 mov r3, r0 8027f3a: f887 3077 strb.w r3, [r7, #119] ; 0x77 if(res == FR_OK) 8027f3e: f897 3077 ldrb.w r3, [r7, #119] ; 0x77 8027f42: 2b00 cmp r3, #0 8027f44: f040 8090 bne.w 8028068 { PlayingState.CountBytes = f_size(&F) - FirstMeas; 8027f48: 4b14 ldr r3, [pc, #80] ; (8027f9c ) 8027f4a: e9d3 0104 ldrd r0, r1, [r3, #16] 8027f4e: 4b11 ldr r3, [pc, #68] ; (8027f94 ) 8027f50: 681b ldr r3, [r3, #0] 8027f52: 461a mov r2, r3 8027f54: f04f 0300 mov.w r3, #0 8027f58: 1a82 subs r2, r0, r2 8027f5a: eb61 0303 sbc.w r3, r1, r3 8027f5e: 490b ldr r1, [pc, #44] ; (8027f8c ) 8027f60: e9c1 2304 strd r2, r3, [r1, #16] if(NUM_CHANNELS == 2) 8027f64: 4b0c ldr r3, [pc, #48] ; (8027f98 ) 8027f66: 681b ldr r3, [r3, #0] 8027f68: 2b02 cmp r3, #2 8027f6a: d119 bne.n 8027fa0 SizeMeas = PlayingState.CountBytes >> 3; //NumPoints in WORDS 8027f6c: 4b07 ldr r3, [pc, #28] ; (8027f8c ) 8027f6e: e9d3 3404 ldrd r3, r4, [r3, #16] 8027f72: ea4f 08d3 mov.w r8, r3, lsr #3 8027f76: ea48 7844 orr.w r8, r8, r4, lsl #29 8027f7a: ea4f 09d4 mov.w r9, r4, lsr #3 8027f7e: e9c7 891e strd r8, r9, [r7, #120] ; 0x78 8027f82: e016 b.n 8027fb2 8027f84: 20021d80 .word 0x20021d80 8027f88: 000186a0 .word 0x000186a0 8027f8c: 200228d8 .word 0x200228d8 8027f90: 447a0000 .word 0x447a0000 8027f94: 20020dd8 .word 0x20020dd8 8027f98: 20020030 .word 0x20020030 8027f9c: 20022e20 .word 0x20022e20 else SizeMeas = PlayingState.CountBytes >> 2; //NumPoints in WORDS 8027fa0: 4b4b ldr r3, [pc, #300] ; (80280d0 ) 8027fa2: e9d3 2304 ldrd r2, r3, [r3, #16] 8027fa6: 0894 lsrs r4, r2, #2 8027fa8: ea44 7483 orr.w r4, r4, r3, lsl #30 8027fac: 089d lsrs r5, r3, #2 8027fae: e9c7 451e strd r4, r5, [r7, #120] ; 0x78 PlayingState.TimeLength = 1.0f / ((float32_t) PlayingState.SampleRate); 8027fb2: 4b47 ldr r3, [pc, #284] ; (80280d0 ) 8027fb4: 699b ldr r3, [r3, #24] 8027fb6: ee07 3a90 vmov s15, r3 8027fba: eeb8 7a67 vcvt.f32.u32 s14, s15 8027fbe: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8027fc2: eec6 7a87 vdiv.f32 s15, s13, s14 8027fc6: 4b42 ldr r3, [pc, #264] ; (80280d0 ) 8027fc8: edc3 7a07 vstr s15, [r3, #28] PlayingState.TimeLength *= (float32_t) SizeMeas; 8027fcc: 4b40 ldr r3, [pc, #256] ; (80280d0 ) 8027fce: ed93 8a07 vldr s16, [r3, #28] 8027fd2: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 8027fd6: f7f8 fac3 bl 8020560 <__aeabi_ul2f> 8027fda: ee07 0a90 vmov s15, r0 8027fde: ee68 7a27 vmul.f32 s15, s16, s15 8027fe2: 4b3b ldr r3, [pc, #236] ; (80280d0 ) 8027fe4: edc3 7a07 vstr s15, [r3, #28] PlayingState.FrameSize = 4096; 8027fe8: 4b39 ldr r3, [pc, #228] ; (80280d0 ) 8027fea: f44f 5280 mov.w r2, #4096 ; 0x1000 8027fee: 609a str r2, [r3, #8] if(NUM_CHANNELS == 2) 8027ff0: 4b38 ldr r3, [pc, #224] ; (80280d4 ) 8027ff2: 681b ldr r3, [r3, #0] 8027ff4: 2b02 cmp r3, #2 8027ff6: d110 bne.n 802801a PlayingState.NumFrames = SizeMeas / (PlayingState.FrameSize * 2); 8027ff8: 4b35 ldr r3, [pc, #212] ; (80280d0 ) 8027ffa: 689b ldr r3, [r3, #8] 8027ffc: 005b lsls r3, r3, #1 8027ffe: f04f 0400 mov.w r4, #0 8028002: 461a mov r2, r3 8028004: 4623 mov r3, r4 8028006: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 802800a: f7f8 faef bl 80205ec <__aeabi_uldivmod> 802800e: 4603 mov r3, r0 8028010: 460c mov r4, r1 8028012: 461a mov r2, r3 8028014: 4b2e ldr r3, [pc, #184] ; (80280d0 ) 8028016: 605a str r2, [r3, #4] 8028018: e00e b.n 8028038 else PlayingState.NumFrames = SizeMeas / PlayingState.FrameSize; 802801a: 4b2d ldr r3, [pc, #180] ; (80280d0 ) 802801c: 689b ldr r3, [r3, #8] 802801e: f04f 0400 mov.w r4, #0 8028022: 461a mov r2, r3 8028024: 4623 mov r3, r4 8028026: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 802802a: f7f8 fadf bl 80205ec <__aeabi_uldivmod> 802802e: 4603 mov r3, r0 8028030: 460c mov r4, r1 8028032: 461a mov r2, r3 8028034: 4b26 ldr r3, [pc, #152] ; (80280d0 ) 8028036: 605a str r2, [r3, #4] if(SizeMeas % PlayingState.FrameSize) { 8028038: 4b25 ldr r3, [pc, #148] ; (80280d0 ) 802803a: 689b ldr r3, [r3, #8] 802803c: f04f 0400 mov.w r4, #0 8028040: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 8028044: 461a mov r2, r3 8028046: 4623 mov r3, r4 8028048: f7f8 fad0 bl 80205ec <__aeabi_uldivmod> 802804c: 461c mov r4, r3 802804e: 4613 mov r3, r2 8028050: 4323 orrs r3, r4 8028052: d004 beq.n 802805e PlayingState.NumFrames += 1; 8028054: 4b1e ldr r3, [pc, #120] ; (80280d0 ) 8028056: 685b ldr r3, [r3, #4] 8028058: 3301 adds r3, #1 802805a: 4a1d ldr r2, [pc, #116] ; (80280d0 ) 802805c: 6053 str r3, [r2, #4] } PlayingState.CurrentFrame = 0; 802805e: 4b1c ldr r3, [pc, #112] ; (80280d0 ) 8028060: 2200 movs r2, #0 8028062: 601a str r2, [r3, #0] return FR_OK; 8028064: 2300 movs r3, #0 8028066: e02b b.n 80280c0 } else { f_close(&F); 8028068: 481b ldr r0, [pc, #108] ; (80280d8 ) 802806a: f09e fd8d bl 80c6b88 //f_mount(&fs, SDPath, 0); memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 802806e: 4a1b ldr r2, [pc, #108] ; (80280dc ) 8028070: 4b1b ldr r3, [pc, #108] ; (80280e0 ) 8028072: 4610 mov r0, r2 8028074: 4619 mov r1, r3 8028076: f44f 6396 mov.w r3, #1200 ; 0x4b0 802807a: 461a mov r2, r3 802807c: f0a4 fff5 bl 80cd06a return FR_DISK_ERR; 8028080: 2301 movs r3, #1 8028082: e01d b.n 80280c0 } } else { f_close(&F); 8028084: 4814 ldr r0, [pc, #80] ; (80280d8 ) 8028086: f09e fd7f bl 80c6b88 //f_mount(&fs, SDPath, 0); memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 802808a: 4a14 ldr r2, [pc, #80] ; (80280dc ) 802808c: 4b14 ldr r3, [pc, #80] ; (80280e0 ) 802808e: 4610 mov r0, r2 8028090: 4619 mov r1, r3 8028092: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028096: 461a mov r2, r3 8028098: f0a4 ffe7 bl 80cd06a return FR_DISK_ERR; 802809c: 2301 movs r3, #1 802809e: e00f b.n 80280c0 } } else { f_close(&F); 80280a0: 480d ldr r0, [pc, #52] ; (80280d8 ) 80280a2: f09e fd71 bl 80c6b88 //f_mount(&fs, SDPath, 0); memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 80280a6: 4a0d ldr r2, [pc, #52] ; (80280dc ) 80280a8: 4b0d ldr r3, [pc, #52] ; (80280e0 ) 80280aa: 4610 mov r0, r2 80280ac: 4619 mov r1, r3 80280ae: f44f 6396 mov.w r3, #1200 ; 0x4b0 80280b2: 461a mov r2, r3 80280b4: f0a4 ffd9 bl 80cd06a return FR_DISK_ERR; 80280b8: 2301 movs r3, #1 80280ba: e001 b.n 80280c0 } } } //f_mount(&fs, SDPath, 0); return res; 80280bc: f897 3077 ldrb.w r3, [r7, #119] ; 0x77 } 80280c0: 4618 mov r0, r3 80280c2: 3780 adds r7, #128 ; 0x80 80280c4: 46bd mov sp, r7 80280c6: ecbd 8b02 vpop {d8} 80280ca: e8bd 83b0 ldmia.w sp!, {r4, r5, r7, r8, r9, pc} 80280ce: bf00 nop 80280d0: 200228d8 .word 0x200228d8 80280d4: 20020030 .word 0x20020030 80280d8: 20022e20 .word 0x20022e20 80280dc: 20023e60 .word 0x20023e60 80280e0: 2002437c .word 0x2002437c 080280e4 : } FRESULT OpenFileCSV(char *fname) { 80280e4: b590 push {r4, r7, lr} 80280e6: b0a3 sub sp, #140 ; 0x8c 80280e8: af00 add r7, sp, #0 80280ea: 6078 str r0, [r7, #4] FSIZE_t SizeMeas = 0; 80280ec: f04f 0300 mov.w r3, #0 80280f0: f04f 0400 mov.w r4, #0 80280f4: e9c7 341e strd r3, r4, [r7, #120] ; 0x78 FRESULT res = FR_OK; 80280f8: 2300 movs r3, #0 80280fa: f887 3087 strb.w r3, [r7, #135] ; 0x87 UINT fk, i, k; uint32_t srate[12]; uint32_t sens[12], s; size_t FileSize = 0; 80280fe: 2300 movs r3, #0 8028100: 677b str r3, [r7, #116] ; 0x74 size_t l = 0, l1 = 0; 8028102: 2300 movs r3, #0 8028104: 673b str r3, [r7, #112] ; 0x70 8028106: 2300 movs r3, #0 8028108: 66fb str r3, [r7, #108] ; 0x6c FileDataExist = false; 802810a: 4b97 ldr r3, [pc, #604] ; (8028368 ) 802810c: 2200 movs r2, #0 802810e: 701a strb r2, [r3, #0] DrawSavedData = false; 8028110: 4b96 ldr r3, [pc, #600] ; (802836c ) 8028112: 2200 movs r2, #0 8028114: 701a strb r2, [r3, #0] FirstMeas = 0; 8028116: 4b96 ldr r3, [pc, #600] ; (8028370 ) 8028118: 2200 movs r2, #0 802811a: 601a str r2, [r3, #0] RouteIndex = MaxRouteIndex = 0; 802811c: 2300 movs r3, #0 802811e: 4a95 ldr r2, [pc, #596] ; (8028374 ) 8028120: 6013 str r3, [r2, #0] 8028122: 4a95 ldr r2, [pc, #596] ; (8028378 ) 8028124: 6013 str r3, [r2, #0] if(CardState != MSD_READY) { 8028126: 4b95 ldr r3, [pc, #596] ; (802837c ) 8028128: 781b ldrb r3, [r3, #0] 802812a: b2db uxtb r3, r3 802812c: 2b03 cmp r3, #3 802812e: d001 beq.n 8028134 return FR_NOT_READY; 8028130: 2303 movs r3, #3 8028132: e115 b.n 8028360 } memset(FileName, 0, sizeof(FileName)); 8028134: 2228 movs r2, #40 ; 0x28 8028136: 2100 movs r1, #0 8028138: 4891 ldr r0, [pc, #580] ; (8028380 ) 802813a: f0a4 ffa1 bl 80cd080 strcpy(FileName, RouteName); 802813e: 4991 ldr r1, [pc, #580] ; (8028384 ) 8028140: 488f ldr r0, [pc, #572] ; (8028380 ) 8028142: f0a5 f8ba bl 80cd2ba if(res == FR_OK) 8028146: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 802814a: 2b00 cmp r3, #0 802814c: f040 8103 bne.w 8028356 { memset(PointPath, 0, sizeof(PointPath)); 8028150: f44f 7200 mov.w r2, #512 ; 0x200 8028154: 2100 movs r1, #0 8028156: 488c ldr r0, [pc, #560] ; (8028388 ) 8028158: f0a4 ff92 bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 802815c: f44f 7200 mov.w r2, #512 ; 0x200 8028160: 2100 movs r1, #0 8028162: 488a ldr r0, [pc, #552] ; (802838c ) 8028164: f0a4 ff8c bl 80cd080 strcpy(SearchPath, "0:Routes"); 8028168: 4a88 ldr r2, [pc, #544] ; (802838c ) 802816a: 4b89 ldr r3, [pc, #548] ; (8028390 ) 802816c: cb03 ldmia r3!, {r0, r1} 802816e: 6010 str r0, [r2, #0] 8028170: 6051 str r1, [r2, #4] 8028172: 781b ldrb r3, [r3, #0] 8028174: 7213 strb r3, [r2, #8] ScanMode = GET_PATH_TO_FILE; 8028176: 4b87 ldr r3, [pc, #540] ; (8028394 ) 8028178: 2209 movs r2, #9 802817a: 701a strb r2, [r3, #0] FlagReturn = false; 802817c: 4b86 ldr r3, [pc, #536] ; (8028398 ) 802817e: 2200 movs r2, #0 8028180: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8028182: 2100 movs r1, #0 8028184: 4881 ldr r0, [pc, #516] ; (802838c ) 8028186: f003 fb91 bl 802b8ac if(PointPath[0] == 0) 802818a: 4b7f ldr r3, [pc, #508] ; (8028388 ) 802818c: 781b ldrb r3, [r3, #0] 802818e: 2b00 cmp r3, #0 8028190: d103 bne.n 802819a { res = FR_NO_FILE; 8028192: 2304 movs r3, #4 8028194: f887 3087 strb.w r3, [r7, #135] ; 0x87 8028198: e0dd b.n 8028356 } else { res = f_open(&F, PointPath, FA_READ); 802819a: 2201 movs r2, #1 802819c: 497a ldr r1, [pc, #488] ; (8028388 ) 802819e: 487f ldr r0, [pc, #508] ; (802839c ) 80281a0: f09d feae bl 80c5f00 80281a4: 4603 mov r3, r0 80281a6: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 80281aa: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80281ae: 2b00 cmp r3, #0 80281b0: f040 80d1 bne.w 8028356 { FileSize = f_size(&F); 80281b4: 4b79 ldr r3, [pc, #484] ; (802839c ) 80281b6: e9d3 3404 ldrd r3, r4, [r3, #16] 80281ba: 677b str r3, [r7, #116] ; 0x74 if(FileSize > 4) 80281bc: 6f7b ldr r3, [r7, #116] ; 0x74 80281be: 2b04 cmp r3, #4 80281c0: f240 80bf bls.w 8028342 { if(FileSize < 512) 80281c4: 6f7b ldr r3, [r7, #116] ; 0x74 80281c6: f5b3 7f00 cmp.w r3, #512 ; 0x200 80281ca: d236 bcs.n 802823a { res = f_read(&F, SearchPath, FileSize, &fk); 80281cc: f107 0368 add.w r3, r7, #104 ; 0x68 80281d0: 6f7a ldr r2, [r7, #116] ; 0x74 80281d2: 496e ldr r1, [pc, #440] ; (802838c ) 80281d4: 4871 ldr r0, [pc, #452] ; (802839c ) 80281d6: f09e f8f0 bl 80c63ba 80281da: 4603 mov r3, r0 80281dc: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 80281e0: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80281e4: 2b00 cmp r3, #0 80281e6: d11e bne.n 8028226 { for(i = 0; i < FileSize; i++) 80281e8: 2300 movs r3, #0 80281ea: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80281ee: e010 b.n 8028212 { if(SearchPath[i] == '\n') 80281f0: 4a66 ldr r2, [pc, #408] ; (802838c ) 80281f2: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80281f6: 4413 add r3, r2 80281f8: 781b ldrb r3, [r3, #0] 80281fa: 2b0a cmp r3, #10 80281fc: d104 bne.n 8028208 MaxRouteIndex++; 80281fe: 4b5d ldr r3, [pc, #372] ; (8028374 ) 8028200: 681b ldr r3, [r3, #0] 8028202: 3301 adds r3, #1 8028204: 4a5b ldr r2, [pc, #364] ; (8028374 ) 8028206: 6013 str r3, [r2, #0] for(i = 0; i < FileSize; i++) 8028208: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802820c: 3301 adds r3, #1 802820e: f8c7 3080 str.w r3, [r7, #128] ; 0x80 8028212: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 8028216: 6f7b ldr r3, [r7, #116] ; 0x74 8028218: 429a cmp r2, r3 802821a: d3e9 bcc.n 80281f0 } f_close(&F); 802821c: 485f ldr r0, [pc, #380] ; (802839c ) 802821e: f09e fcb3 bl 80c6b88 return FR_OK; 8028222: 2300 movs r3, #0 8028224: e09c b.n 8028360 } else { RouteIndex = MaxRouteIndex = 0; 8028226: 2300 movs r3, #0 8028228: 4a52 ldr r2, [pc, #328] ; (8028374 ) 802822a: 6013 str r3, [r2, #0] 802822c: 4a52 ldr r2, [pc, #328] ; (8028378 ) 802822e: 6013 str r3, [r2, #0] f_close(&F); 8028230: 485a ldr r0, [pc, #360] ; (802839c ) 8028232: f09e fca9 bl 80c6b88 return FR_DISK_ERR; 8028236: 2301 movs r3, #1 8028238: e092 b.n 8028360 } } else { l = FileSize / 512; 802823a: 6f7b ldr r3, [r7, #116] ; 0x74 802823c: 0a5b lsrs r3, r3, #9 802823e: 673b str r3, [r7, #112] ; 0x70 l1 = FileSize % 512; 8028240: 6f7b ldr r3, [r7, #116] ; 0x74 8028242: f3c3 0308 ubfx r3, r3, #0, #9 8028246: 66fb str r3, [r7, #108] ; 0x6c for(i = 0; i < l; i++) 8028248: 2300 movs r3, #0 802824a: f8c7 3080 str.w r3, [r7, #128] ; 0x80 802824e: e038 b.n 80282c2 { res = f_read(&F, SearchPath, 512, &fk); 8028250: f107 0368 add.w r3, r7, #104 ; 0x68 8028254: f44f 7200 mov.w r2, #512 ; 0x200 8028258: 494c ldr r1, [pc, #304] ; (802838c ) 802825a: 4850 ldr r0, [pc, #320] ; (802839c ) 802825c: f09e f8ad bl 80c63ba 8028260: 4603 mov r3, r0 8028262: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 8028266: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 802826a: 2b00 cmp r3, #0 802826c: d11a bne.n 80282a4 { for(i = 0; i < 512; i++) 802826e: 2300 movs r3, #0 8028270: f8c7 3080 str.w r3, [r7, #128] ; 0x80 8028274: e010 b.n 8028298 { if(SearchPath[i] == '\n') 8028276: 4a45 ldr r2, [pc, #276] ; (802838c ) 8028278: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802827c: 4413 add r3, r2 802827e: 781b ldrb r3, [r3, #0] 8028280: 2b0a cmp r3, #10 8028282: d104 bne.n 802828e MaxRouteIndex++; 8028284: 4b3b ldr r3, [pc, #236] ; (8028374 ) 8028286: 681b ldr r3, [r3, #0] 8028288: 3301 adds r3, #1 802828a: 4a3a ldr r2, [pc, #232] ; (8028374 ) 802828c: 6013 str r3, [r2, #0] for(i = 0; i < 512; i++) 802828e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 8028292: 3301 adds r3, #1 8028294: f8c7 3080 str.w r3, [r7, #128] ; 0x80 8028298: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 802829c: f5b3 7f00 cmp.w r3, #512 ; 0x200 80282a0: d3e9 bcc.n 8028276 80282a2: e009 b.n 80282b8 } } else { RouteIndex = MaxRouteIndex = 0; 80282a4: 2300 movs r3, #0 80282a6: 4a33 ldr r2, [pc, #204] ; (8028374 ) 80282a8: 6013 str r3, [r2, #0] 80282aa: 4a33 ldr r2, [pc, #204] ; (8028378 ) 80282ac: 6013 str r3, [r2, #0] f_close(&F); 80282ae: 483b ldr r0, [pc, #236] ; (802839c ) 80282b0: f09e fc6a bl 80c6b88 return FR_DISK_ERR; 80282b4: 2301 movs r3, #1 80282b6: e053 b.n 8028360 for(i = 0; i < l; i++) 80282b8: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80282bc: 3301 adds r3, #1 80282be: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80282c2: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80282c6: 6f3b ldr r3, [r7, #112] ; 0x70 80282c8: 429a cmp r2, r3 80282ca: d3c1 bcc.n 8028250 } } if(l1) 80282cc: 6efb ldr r3, [r7, #108] ; 0x6c 80282ce: 2b00 cmp r3, #0 80282d0: d032 beq.n 8028338 { res = f_read(&F, SearchPath, l1, &fk); 80282d2: f107 0368 add.w r3, r7, #104 ; 0x68 80282d6: 6efa ldr r2, [r7, #108] ; 0x6c 80282d8: 492c ldr r1, [pc, #176] ; (802838c ) 80282da: 4830 ldr r0, [pc, #192] ; (802839c ) 80282dc: f09e f86d bl 80c63ba 80282e0: 4603 mov r3, r0 80282e2: f887 3087 strb.w r3, [r7, #135] ; 0x87 if(res == FR_OK) 80282e6: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80282ea: 2b00 cmp r3, #0 80282ec: d11a bne.n 8028324 { for(i = 0; i < l1; i++) 80282ee: 2300 movs r3, #0 80282f0: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80282f4: e010 b.n 8028318 { if(SearchPath[i] == '\n') 80282f6: 4a25 ldr r2, [pc, #148] ; (802838c ) 80282f8: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80282fc: 4413 add r3, r2 80282fe: 781b ldrb r3, [r3, #0] 8028300: 2b0a cmp r3, #10 8028302: d104 bne.n 802830e MaxRouteIndex++; 8028304: 4b1b ldr r3, [pc, #108] ; (8028374 ) 8028306: 681b ldr r3, [r3, #0] 8028308: 3301 adds r3, #1 802830a: 4a1a ldr r2, [pc, #104] ; (8028374 ) 802830c: 6013 str r3, [r2, #0] for(i = 0; i < l1; i++) 802830e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 8028312: 3301 adds r3, #1 8028314: f8c7 3080 str.w r3, [r7, #128] ; 0x80 8028318: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 802831c: 6efb ldr r3, [r7, #108] ; 0x6c 802831e: 429a cmp r2, r3 8028320: d3e9 bcc.n 80282f6 8028322: e009 b.n 8028338 } } else { RouteIndex = MaxRouteIndex = 0; 8028324: 2300 movs r3, #0 8028326: 4a13 ldr r2, [pc, #76] ; (8028374 ) 8028328: 6013 str r3, [r2, #0] 802832a: 4a13 ldr r2, [pc, #76] ; (8028378 ) 802832c: 6013 str r3, [r2, #0] f_close(&F); 802832e: 481b ldr r0, [pc, #108] ; (802839c ) 8028330: f09e fc2a bl 80c6b88 return FR_DISK_ERR; 8028334: 2301 movs r3, #1 8028336: e013 b.n 8028360 } } f_close(&F); 8028338: 4818 ldr r0, [pc, #96] ; (802839c ) 802833a: f09e fc25 bl 80c6b88 return FR_OK; 802833e: 2300 movs r3, #0 8028340: e00e b.n 8028360 } } else { RouteIndex = MaxRouteIndex = 0; 8028342: 2300 movs r3, #0 8028344: 4a0b ldr r2, [pc, #44] ; (8028374 ) 8028346: 6013 str r3, [r2, #0] 8028348: 4a0b ldr r2, [pc, #44] ; (8028378 ) 802834a: 6013 str r3, [r2, #0] f_close(&F); 802834c: 4813 ldr r0, [pc, #76] ; (802839c ) 802834e: f09e fc1b bl 80c6b88 return FR_DISK_ERR; 8028352: 2301 movs r3, #1 8028354: e004 b.n 8028360 } } } } f_close(&F); 8028356: 4811 ldr r0, [pc, #68] ; (802839c ) 8028358: f09e fc16 bl 80c6b88 return res; 802835c: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 } 8028360: 4618 mov r0, r3 8028362: 378c adds r7, #140 ; 0x8c 8028364: 46bd mov sp, r7 8028366: bd90 pop {r4, r7, pc} 8028368: 20020dd3 .word 0x20020dd3 802836c: 20020dca .word 0x20020dca 8028370: 20020dd8 .word 0x20020dd8 8028374: 20020f70 .word 0x20020f70 8028378: 20020f6c .word 0x20020f6c 802837c: 2002164c .word 0x2002164c 8028380: 20022bb8 .word 0x20022bb8 8028384: 20022628 .word 0x20022628 8028388: 200229b4 .word 0x200229b4 802838c: 20021d80 .word 0x20021d80 8028390: 080ce52c .word 0x080ce52c 8028394: 20020ddf .word 0x20020ddf 8028398: 20020dde .word 0x20020dde 802839c: 20022e20 .word 0x20022e20 080283a0 : FRESULT ReadFileCSV_TMP(char* fname) { 80283a0: b590 push {r4, r7, lr} 80283a2: b0af sub sp, #188 ; 0xbc 80283a4: af00 add r7, sp, #0 80283a6: 6078 str r0, [r7, #4] FSIZE_t SizeMeas = 0; 80283a8: f04f 0300 mov.w r3, #0 80283ac: f04f 0400 mov.w r4, #0 80283b0: e9c7 3428 strd r3, r4, [r7, #160] ; 0xa0 FRESULT res = FR_OK; 80283b4: 2300 movs r3, #0 80283b6: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 UINT fk, i, k; uint32_t srate[12]; uint32_t sens[12], s; size_t FileSize = 0; 80283ba: 2300 movs r3, #0 80283bc: f8c7 309c str.w r3, [r7, #156] ; 0x9c size_t l = 0, l1 = 0; 80283c0: 2300 movs r3, #0 80283c2: f8c7 30ac str.w r3, [r7, #172] ; 0xac 80283c6: 2300 movs r3, #0 80283c8: f8c7 3098 str.w r3, [r7, #152] ; 0x98 char fn[40]; memset((void *) &RouteMeas(0), 0, 65536u); 80283cc: f44f 3280 mov.w r2, #65536 ; 0x10000 80283d0: 2100 movs r1, #0 80283d2: 48c5 ldr r0, [pc, #788] ; (80286e8 ) 80283d4: f0a4 fe54 bl 80cd080 FileDataExist = false; 80283d8: 4bc4 ldr r3, [pc, #784] ; (80286ec ) 80283da: 2200 movs r2, #0 80283dc: 701a strb r2, [r3, #0] DrawSavedData = false; 80283de: 4bc4 ldr r3, [pc, #784] ; (80286f0 ) 80283e0: 2200 movs r2, #0 80283e2: 701a strb r2, [r3, #0] FirstMeas = 0; 80283e4: 4bc3 ldr r3, [pc, #780] ; (80286f4 ) 80283e6: 2200 movs r2, #0 80283e8: 601a str r2, [r3, #0] memset(fn, 0, sizeof(fn)); 80283ea: f107 030c add.w r3, r7, #12 80283ee: 2228 movs r2, #40 ; 0x28 80283f0: 2100 movs r1, #0 80283f2: 4618 mov r0, r3 80283f4: f0a4 fe44 bl 80cd080 strcpy(fn, "_"); 80283f8: f107 030c add.w r3, r7, #12 80283fc: 225f movs r2, #95 ; 0x5f 80283fe: 801a strh r2, [r3, #0] strcat(fn, fname); 8028400: f107 030c add.w r3, r7, #12 8028404: 6879 ldr r1, [r7, #4] 8028406: 4618 mov r0, r3 8028408: f0a4 ff3a bl 80cd280 l = strlen(fn); 802840c: f107 030c add.w r3, r7, #12 8028410: 4618 mov r0, r3 8028412: f7f7 ff7f bl 8020314 8028416: f8c7 00ac str.w r0, [r7, #172] ; 0xac if(fn[l - 4] == '.') 802841a: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 802841e: 3b04 subs r3, #4 8028420: f107 02b8 add.w r2, r7, #184 ; 0xb8 8028424: 4413 add r3, r2 8028426: f813 3cac ldrb.w r3, [r3, #-172] 802842a: 2b2e cmp r3, #46 ; 0x2e 802842c: d11a bne.n 8028464 { fn[l - 3] = 'T'; 802842e: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8028432: 3b03 subs r3, #3 8028434: f107 02b8 add.w r2, r7, #184 ; 0xb8 8028438: 4413 add r3, r2 802843a: 2254 movs r2, #84 ; 0x54 802843c: f803 2cac strb.w r2, [r3, #-172] fn[l - 2] = 'M'; 8028440: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8028444: 3b02 subs r3, #2 8028446: f107 02b8 add.w r2, r7, #184 ; 0xb8 802844a: 4413 add r3, r2 802844c: 224d movs r2, #77 ; 0x4d 802844e: f803 2cac strb.w r2, [r3, #-172] fn[l - 1] = 'P'; 8028452: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8028456: 3b01 subs r3, #1 8028458: f107 02b8 add.w r2, r7, #184 ; 0xb8 802845c: 4413 add r3, r2 802845e: 2250 movs r2, #80 ; 0x50 8028460: f803 2cac strb.w r2, [r3, #-172] } RouteIndex = 0; 8028464: 4ba4 ldr r3, [pc, #656] ; (80286f8 ) 8028466: 2200 movs r2, #0 8028468: 601a str r2, [r3, #0] if(CardState != MSD_READY) { 802846a: 4ba4 ldr r3, [pc, #656] ; (80286fc ) 802846c: 781b ldrb r3, [r3, #0] 802846e: b2db uxtb r3, r3 8028470: 2b03 cmp r3, #3 8028472: d001 beq.n 8028478 return FR_NOT_READY; 8028474: 2303 movs r3, #3 8028476: e157 b.n 8028728 } if(res == FR_OK) 8028478: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 802847c: 2b00 cmp r3, #0 802847e: f040 8151 bne.w 8028724 { memset(PointPath, 0, sizeof(PointPath)); 8028482: f44f 7200 mov.w r2, #512 ; 0x200 8028486: 2100 movs r1, #0 8028488: 489d ldr r0, [pc, #628] ; (8028700 ) 802848a: f0a4 fdf9 bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 802848e: f44f 7200 mov.w r2, #512 ; 0x200 8028492: 2100 movs r1, #0 8028494: 489b ldr r0, [pc, #620] ; (8028704 ) 8028496: f0a4 fdf3 bl 80cd080 strcpy(SearchPath, "0:Routes"); 802849a: 4a9a ldr r2, [pc, #616] ; (8028704 ) 802849c: 4b9a ldr r3, [pc, #616] ; (8028708 ) 802849e: cb03 ldmia r3!, {r0, r1} 80284a0: 6010 str r0, [r2, #0] 80284a2: 6051 str r1, [r2, #4] 80284a4: 781b ldrb r3, [r3, #0] 80284a6: 7213 strb r3, [r2, #8] res = f_opendir(&dir, SearchPath); 80284a8: 4996 ldr r1, [pc, #600] ; (8028704 ) 80284aa: 4898 ldr r0, [pc, #608] ; (802870c ) 80284ac: f09e fe15 bl 80c70da 80284b0: 4603 mov r3, r0 80284b2: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if(res != FR_OK) { 80284b6: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 80284ba: 2b00 cmp r3, #0 80284bc: d005 beq.n 80284ca res = f_mkdir(SearchPath); 80284be: 4891 ldr r0, [pc, #580] ; (8028704 ) 80284c0: f09f f8c6 bl 80c7650 80284c4: 4603 mov r3, r0 80284c6: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 } f_closedir(&dir); 80284ca: 4890 ldr r0, [pc, #576] ; (802870c ) 80284cc: f09e fe94 bl 80c71f8 strcat(SearchPath, "/"); 80284d0: 488c ldr r0, [pc, #560] ; (8028704 ) 80284d2: f7f7 ff1f bl 8020314 80284d6: 4603 mov r3, r0 80284d8: 461a mov r2, r3 80284da: 4b8a ldr r3, [pc, #552] ; (8028704 ) 80284dc: 4413 add r3, r2 80284de: 498c ldr r1, [pc, #560] ; (8028710 ) 80284e0: 461a mov r2, r3 80284e2: 460b mov r3, r1 80284e4: 881b ldrh r3, [r3, #0] 80284e6: 8013 strh r3, [r2, #0] strcat(SearchPath, fn); 80284e8: f107 030c add.w r3, r7, #12 80284ec: 4619 mov r1, r3 80284ee: 4885 ldr r0, [pc, #532] ; (8028704 ) 80284f0: f0a4 fec6 bl 80cd280 strcpy(PointPath, SearchPath); 80284f4: 4983 ldr r1, [pc, #524] ; (8028704 ) 80284f6: 4882 ldr r0, [pc, #520] ; (8028700 ) 80284f8: f0a4 fedf bl 80cd2ba res = f_open(&F, PointPath, FA_READ); 80284fc: 2201 movs r2, #1 80284fe: 4980 ldr r1, [pc, #512] ; (8028700 ) 8028500: 4884 ldr r0, [pc, #528] ; (8028714 ) 8028502: f09d fcfd bl 80c5f00 8028506: 4603 mov r3, r0 8028508: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802850c: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 8028510: 2b04 cmp r3, #4 8028512: d003 beq.n 802851c 8028514: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 8028518: 2b05 cmp r3, #5 802851a: d110 bne.n 802853e { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802851c: 221b movs r2, #27 802851e: 4978 ldr r1, [pc, #480] ; (8028700 ) 8028520: 487c ldr r0, [pc, #496] ; (8028714 ) 8028522: f09d fced bl 80c5f00 8028526: 4603 mov r3, r0 8028528: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if(res != FR_OK) 802852c: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 8028530: 2b00 cmp r3, #0 8028532: d00d beq.n 8028550 { f_close(&F); 8028534: 4877 ldr r0, [pc, #476] ; (8028714 ) 8028536: f09e fb27 bl 80c6b88 return FR_DISK_ERR; 802853a: 2301 movs r3, #1 802853c: e0f4 b.n 8028728 } } else if(res != FR_OK) 802853e: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 8028542: 2b00 cmp r3, #0 8028544: d004 beq.n 8028550 { f_close(&F); 8028546: 4873 ldr r0, [pc, #460] ; (8028714 ) 8028548: f09e fb1e bl 80c6b88 return FR_DISK_ERR; 802854c: 2301 movs r3, #1 802854e: e0eb b.n 8028728 } //res = f_open(&F, PointPath, FA_READ); if(res == FR_OK) 8028550: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 8028554: 2b00 cmp r3, #0 8028556: f040 80c2 bne.w 80286de f_close(&F); return FR_DISK_ERR; } else*/ { FileSize = f_size(&F); 802855a: 4b6e ldr r3, [pc, #440] ; (8028714 ) 802855c: e9d3 3404 ldrd r3, r4, [r3, #16] 8028560: f8c7 309c str.w r3, [r7, #156] ; 0x9c if(FileSize == 0) 8028564: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 8028568: 2b00 cmp r3, #0 802856a: d12e bne.n 80285ca { memset(sector, 0, 512); 802856c: f44f 7200 mov.w r2, #512 ; 0x200 8028570: 2100 movs r1, #0 8028572: 4869 ldr r0, [pc, #420] ; (8028718 ) 8028574: f0a4 fd84 bl 80cd080 for(i = 0; i < 128; i++) 8028578: 2300 movs r3, #0 802857a: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 802857e: e018 b.n 80285b2 { res = f_write(&F, sector, 512, &fk); 8028580: f107 0394 add.w r3, r7, #148 ; 0x94 8028584: f44f 7200 mov.w r2, #512 ; 0x200 8028588: 4963 ldr r1, [pc, #396] ; (8028718 ) 802858a: 4862 ldr r0, [pc, #392] ; (8028714 ) 802858c: f09e f858 bl 80c6640 8028590: 4603 mov r3, r0 8028592: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if(res != FR_OK) 8028596: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 802859a: 2b00 cmp r3, #0 802859c: d004 beq.n 80285a8 { f_close(&F); 802859e: 485d ldr r0, [pc, #372] ; (8028714 ) 80285a0: f09e faf2 bl 80c6b88 return FR_DISK_ERR; 80285a4: 2301 movs r3, #1 80285a6: e0bf b.n 8028728 for(i = 0; i < 128; i++) 80285a8: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 80285ac: 3301 adds r3, #1 80285ae: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 80285b2: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 80285b6: 2b7f cmp r3, #127 ; 0x7f 80285b8: d9e2 bls.n 8028580 } } f_close(&F); 80285ba: 4856 ldr r0, [pc, #344] ; (8028714 ) 80285bc: f09e fae4 bl 80c6b88 RouteIndex = 0; 80285c0: 4b4d ldr r3, [pc, #308] ; (80286f8 ) 80285c2: 2200 movs r2, #0 80285c4: 601a str r2, [r3, #0] return FR_OK; 80285c6: 2300 movs r3, #0 80285c8: e0ae b.n 8028728 } else { if(FileSize == 65536) 80285ca: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80285ce: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80285d2: d17c bne.n 80286ce { for(i = 0; i < 128; i++) 80285d4: 2300 movs r3, #0 80285d6: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 80285da: e02a b.n 8028632 { res = f_read(&F, sector, 512, &fk); 80285dc: f107 0394 add.w r3, r7, #148 ; 0x94 80285e0: f44f 7200 mov.w r2, #512 ; 0x200 80285e4: 494c ldr r1, [pc, #304] ; (8028718 ) 80285e6: 484b ldr r0, [pc, #300] ; (8028714 ) 80285e8: f09d fee7 bl 80c63ba 80285ec: 4603 mov r3, r0 80285ee: f887 30b7 strb.w r3, [r7, #183] ; 0xb7 if(res == FR_OK) 80285f2: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 80285f6: 2b00 cmp r3, #0 80285f8: d10e bne.n 8028618 { memcpy((void *) &RouteMeas(i * 512u), sector, 512); 80285fa: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 80285fe: 4b47 ldr r3, [pc, #284] ; (802871c ) 8028600: 4413 add r3, r2 8028602: 025b lsls r3, r3, #9 8028604: 461a mov r2, r3 8028606: 4b44 ldr r3, [pc, #272] ; (8028718 ) 8028608: 4610 mov r0, r2 802860a: 4619 mov r1, r3 802860c: f44f 7300 mov.w r3, #512 ; 0x200 8028610: 461a mov r2, r3 8028612: f0a4 fd2a bl 80cd06a 8028616: e007 b.n 8028628 } else { RouteIndex = 0; 8028618: 4b37 ldr r3, [pc, #220] ; (80286f8 ) 802861a: 2200 movs r2, #0 802861c: 601a str r2, [r3, #0] f_close(&F); 802861e: 483d ldr r0, [pc, #244] ; (8028714 ) 8028620: f09e fab2 bl 80c6b88 return FR_DISK_ERR; 8028624: 2301 movs r3, #1 8028626: e07f b.n 8028728 for(i = 0; i < 128; i++) 8028628: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 802862c: 3301 adds r3, #1 802862e: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 8028632: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 8028636: 2b7f cmp r3, #127 ; 0x7f 8028638: d9d0 bls.n 80285dc } } f_close(&F); 802863a: 4836 ldr r0, [pc, #216] ; (8028714 ) 802863c: f09e faa4 bl 80c6b88 for(i = 0; i < MaxRouteIndex; i++) 8028640: 2300 movs r3, #0 8028642: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 8028646: e03a b.n 80286be { if(RouteMeas(i) != 0) 8028648: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 802864c: 4b26 ldr r3, [pc, #152] ; (80286e8 ) 802864e: 4413 add r3, r2 8028650: 781b ldrb r3, [r3, #0] 8028652: 2b00 cmp r3, #0 8028654: d02e beq.n 80286b4 { RouteIndex = i + 1; 8028656: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 802865a: 3301 adds r3, #1 802865c: 4a26 ldr r2, [pc, #152] ; (80286f8 ) 802865e: 6013 str r3, [r2, #0] if(RouteIndex == MaxRouteIndex) 8028660: 4b25 ldr r3, [pc, #148] ; (80286f8 ) 8028662: 681a ldr r2, [r3, #0] 8028664: 4b2e ldr r3, [pc, #184] ; (8028720 ) 8028666: 681b ldr r3, [r3, #0] 8028668: 429a cmp r2, r3 802866a: d123 bne.n 80286b4 { for(l = 0; l < MaxRouteIndex; l++) 802866c: 2300 movs r3, #0 802866e: f8c7 30ac str.w r3, [r7, #172] ; 0xac 8028672: e00f b.n 8028694 { if(RouteMeas(l) == 0) { 8028674: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 8028678: 4b1b ldr r3, [pc, #108] ; (80286e8 ) 802867a: 4413 add r3, r2 802867c: 781b ldrb r3, [r3, #0] 802867e: 2b00 cmp r3, #0 8028680: d103 bne.n 802868a RouteIndex = l; 8028682: 4a1d ldr r2, [pc, #116] ; (80286f8 ) 8028684: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8028688: 6013 str r3, [r2, #0] for(l = 0; l < MaxRouteIndex; l++) 802868a: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 802868e: 3301 adds r3, #1 8028690: f8c7 30ac str.w r3, [r7, #172] ; 0xac 8028694: 4b22 ldr r3, [pc, #136] ; (8028720 ) 8028696: 681b ldr r3, [r3, #0] 8028698: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 802869c: 429a cmp r2, r3 802869e: d3e9 bcc.n 8028674 } } if(RouteIndex == MaxRouteIndex) 80286a0: 4b15 ldr r3, [pc, #84] ; (80286f8 ) 80286a2: 681a ldr r2, [r3, #0] 80286a4: 4b1e ldr r3, [pc, #120] ; (8028720 ) 80286a6: 681b ldr r3, [r3, #0] 80286a8: 429a cmp r2, r3 80286aa: d103 bne.n 80286b4 { RouteIndex = 0; 80286ac: 4b12 ldr r3, [pc, #72] ; (80286f8 ) 80286ae: 2200 movs r2, #0 80286b0: 601a str r2, [r3, #0] break; 80286b2: e00a b.n 80286ca for(i = 0; i < MaxRouteIndex; i++) 80286b4: f8d7 30b0 ldr.w r3, [r7, #176] ; 0xb0 80286b8: 3301 adds r3, #1 80286ba: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 80286be: 4b18 ldr r3, [pc, #96] ; (8028720 ) 80286c0: 681b ldr r3, [r3, #0] 80286c2: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 80286c6: 429a cmp r2, r3 80286c8: d3be bcc.n 8028648 } } } } return FR_OK; 80286ca: 2300 movs r3, #0 80286cc: e02c b.n 8028728 } else { RouteIndex = 0; 80286ce: 4b0a ldr r3, [pc, #40] ; (80286f8 ) 80286d0: 2200 movs r2, #0 80286d2: 601a str r2, [r3, #0] f_close(&F); 80286d4: 480f ldr r0, [pc, #60] ; (8028714 ) 80286d6: f09e fa57 bl 80c6b88 return FR_DISK_ERR; 80286da: 2301 movs r3, #1 80286dc: e024 b.n 8028728 } } } else { f_close(&F); 80286de: 480d ldr r0, [pc, #52] ; (8028714 ) 80286e0: f09e fa52 bl 80c6b88 return FR_DISK_ERR; 80286e4: 2301 movs r3, #1 80286e6: e01f b.n 8028728 80286e8: 64100000 .word 0x64100000 80286ec: 20020dd3 .word 0x20020dd3 80286f0: 20020dca .word 0x20020dca 80286f4: 20020dd8 .word 0x20020dd8 80286f8: 20020f6c .word 0x20020f6c 80286fc: 2002164c .word 0x2002164c 8028700: 200229b4 .word 0x200229b4 8028704: 20021d80 .word 0x20021d80 8028708: 080ce52c .word 0x080ce52c 802870c: 20022918 .word 0x20022918 8028710: 080ce4bc .word 0x080ce4bc 8028714: 20022e20 .word 0x20022e20 8028718: 2007c000 .word 0x2007c000 802871c: 00320800 .word 0x00320800 8028720: 20020f70 .word 0x20020f70 } } return res; 8028724: f897 30b7 ldrb.w r3, [r7, #183] ; 0xb7 } 8028728: 4618 mov r0, r3 802872a: 37bc adds r7, #188 ; 0xbc 802872c: 46bd mov sp, r7 802872e: bd90 pop {r4, r7, pc} 08028730 : FRESULT WriteFileCSV_TMP(char* fname) { 8028730: b590 push {r4, r7, lr} 8028732: b0af sub sp, #188 ; 0xbc 8028734: af00 add r7, sp, #0 8028736: 6078 str r0, [r7, #4] FSIZE_t SizeMeas = 0; 8028738: f04f 0300 mov.w r3, #0 802873c: f04f 0400 mov.w r4, #0 8028740: e9c7 342a strd r3, r4, [r7, #168] ; 0xa8 FRESULT res = FR_OK; 8028744: 2300 movs r3, #0 8028746: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 UINT fk, i, k; uint32_t srate[12]; uint32_t sens[12], s; size_t FileSize = 0; 802874a: 2300 movs r3, #0 802874c: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 size_t l = 0, l1 = 0; 8028750: 2300 movs r3, #0 8028752: f8c7 309c str.w r3, [r7, #156] ; 0x9c 8028756: 2300 movs r3, #0 8028758: f8c7 3098 str.w r3, [r7, #152] ; 0x98 char fn[40]; memset(fn, 0, sizeof(fn)); 802875c: f107 030c add.w r3, r7, #12 8028760: 2228 movs r2, #40 ; 0x28 8028762: 2100 movs r1, #0 8028764: 4618 mov r0, r3 8028766: f0a4 fc8b bl 80cd080 strcpy(fn, "_"); 802876a: f107 030c add.w r3, r7, #12 802876e: 225f movs r2, #95 ; 0x5f 8028770: 801a strh r2, [r3, #0] strcat(fn, fname); 8028772: f107 030c add.w r3, r7, #12 8028776: 6879 ldr r1, [r7, #4] 8028778: 4618 mov r0, r3 802877a: f0a4 fd81 bl 80cd280 l = strlen(fn); 802877e: f107 030c add.w r3, r7, #12 8028782: 4618 mov r0, r3 8028784: f7f7 fdc6 bl 8020314 8028788: f8c7 009c str.w r0, [r7, #156] ; 0x9c if(fn[l - 4] == '.') 802878c: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 8028790: 3b04 subs r3, #4 8028792: f107 02b8 add.w r2, r7, #184 ; 0xb8 8028796: 4413 add r3, r2 8028798: f813 3cac ldrb.w r3, [r3, #-172] 802879c: 2b2e cmp r3, #46 ; 0x2e 802879e: d11a bne.n 80287d6 { fn[l - 3] = 'T'; 80287a0: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80287a4: 3b03 subs r3, #3 80287a6: f107 02b8 add.w r2, r7, #184 ; 0xb8 80287aa: 4413 add r3, r2 80287ac: 2254 movs r2, #84 ; 0x54 80287ae: f803 2cac strb.w r2, [r3, #-172] fn[l - 2] = 'M'; 80287b2: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80287b6: 3b02 subs r3, #2 80287b8: f107 02b8 add.w r2, r7, #184 ; 0xb8 80287bc: 4413 add r3, r2 80287be: 224d movs r2, #77 ; 0x4d 80287c0: f803 2cac strb.w r2, [r3, #-172] fn[l - 1] = 'P'; 80287c4: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80287c8: 3b01 subs r3, #1 80287ca: f107 02b8 add.w r2, r7, #184 ; 0xb8 80287ce: 4413 add r3, r2 80287d0: 2250 movs r2, #80 ; 0x50 80287d2: f803 2cac strb.w r2, [r3, #-172] } if(CardState != MSD_READY) { 80287d6: 4b55 ldr r3, [pc, #340] ; (802892c ) 80287d8: 781b ldrb r3, [r3, #0] 80287da: b2db uxtb r3, r3 80287dc: 2b03 cmp r3, #3 80287de: d001 beq.n 80287e4 return FR_NOT_READY; 80287e0: 2303 movs r3, #3 80287e2: e09e b.n 8028922 } if(res == FR_OK) 80287e4: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80287e8: 2b00 cmp r3, #0 80287ea: f040 8098 bne.w 802891e { memset(PointPath, 0, sizeof(PointPath)); 80287ee: f44f 7200 mov.w r2, #512 ; 0x200 80287f2: 2100 movs r1, #0 80287f4: 484e ldr r0, [pc, #312] ; (8028930 ) 80287f6: f0a4 fc43 bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 80287fa: f44f 7200 mov.w r2, #512 ; 0x200 80287fe: 2100 movs r1, #0 8028800: 484c ldr r0, [pc, #304] ; (8028934 ) 8028802: f0a4 fc3d bl 80cd080 strcpy(SearchPath, "0:Routes"); 8028806: 4a4b ldr r2, [pc, #300] ; (8028934 ) 8028808: 4b4b ldr r3, [pc, #300] ; (8028938 ) 802880a: cb03 ldmia r3!, {r0, r1} 802880c: 6010 str r0, [r2, #0] 802880e: 6051 str r1, [r2, #4] 8028810: 781b ldrb r3, [r3, #0] 8028812: 7213 strb r3, [r2, #8] res = f_opendir(&dir, SearchPath); 8028814: 4947 ldr r1, [pc, #284] ; (8028934 ) 8028816: 4849 ldr r0, [pc, #292] ; (802893c ) 8028818: f09e fc5f bl 80c70da 802881c: 4603 mov r3, r0 802881e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(res != FR_OK) { 8028822: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8028826: 2b00 cmp r3, #0 8028828: d005 beq.n 8028836 res = f_mkdir(SearchPath); 802882a: 4842 ldr r0, [pc, #264] ; (8028934 ) 802882c: f09e ff10 bl 80c7650 8028830: 4603 mov r3, r0 8028832: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } f_closedir(&dir); 8028836: 4841 ldr r0, [pc, #260] ; (802893c ) 8028838: f09e fcde bl 80c71f8 strcat(SearchPath, "/"); 802883c: 483d ldr r0, [pc, #244] ; (8028934 ) 802883e: f7f7 fd69 bl 8020314 8028842: 4603 mov r3, r0 8028844: 461a mov r2, r3 8028846: 4b3b ldr r3, [pc, #236] ; (8028934 ) 8028848: 4413 add r3, r2 802884a: 493d ldr r1, [pc, #244] ; (8028940 ) 802884c: 461a mov r2, r3 802884e: 460b mov r3, r1 8028850: 881b ldrh r3, [r3, #0] 8028852: 8013 strh r3, [r2, #0] strcat(SearchPath, fn); 8028854: f107 030c add.w r3, r7, #12 8028858: 4619 mov r1, r3 802885a: 4836 ldr r0, [pc, #216] ; (8028934 ) 802885c: f0a4 fd10 bl 80cd280 strcpy(PointPath, SearchPath); 8028860: 4934 ldr r1, [pc, #208] ; (8028934 ) 8028862: 4833 ldr r0, [pc, #204] ; (8028930 ) 8028864: f0a4 fd29 bl 80cd2ba res = f_open(&F, PointPath, FA_WRITE | FA_READ); 8028868: 2203 movs r2, #3 802886a: 4931 ldr r1, [pc, #196] ; (8028930 ) 802886c: 4835 ldr r0, [pc, #212] ; (8028944 ) 802886e: f09d fb47 bl 80c5f00 8028872: 4603 mov r3, r0 8028874: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(res == FR_OK) 8028878: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 802887c: 2b00 cmp r3, #0 802887e: d149 bne.n 8028914 { res = f_sync(&F); 8028880: 4830 ldr r0, [pc, #192] ; (8028944 ) 8028882: f09e f87d bl 80c6980 8028886: 4603 mov r3, r0 8028888: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(res != FR_OK) 802888c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8028890: 2b00 cmp r3, #0 8028892: d004 beq.n 802889e { f_close(&F); 8028894: 482b ldr r0, [pc, #172] ; (8028944 ) 8028896: f09e f977 bl 80c6b88 return FR_DISK_ERR; 802889a: 2301 movs r3, #1 802889c: e041 b.n 8028922 } else { f_lseek(&F, 0); 802889e: f04f 0200 mov.w r2, #0 80288a2: f04f 0300 mov.w r3, #0 80288a6: 4827 ldr r0, [pc, #156] ; (8028944 ) 80288a8: f09e f98e bl 80c6bc8 for(i = 0; i < 128; i++) 80288ac: 2300 movs r3, #0 80288ae: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 80288b2: e026 b.n 8028902 { memcpy(sector, (void *) &RouteMeas(512u * i), 512u); 80288b4: f8d7 20b4 ldr.w r2, [r7, #180] ; 0xb4 80288b8: 4b23 ldr r3, [pc, #140] ; (8028948 ) 80288ba: 4413 add r3, r2 80288bc: 025b lsls r3, r3, #9 80288be: 461a mov r2, r3 80288c0: 4b22 ldr r3, [pc, #136] ; (802894c ) 80288c2: 4618 mov r0, r3 80288c4: 4611 mov r1, r2 80288c6: f44f 7300 mov.w r3, #512 ; 0x200 80288ca: 461a mov r2, r3 80288cc: f0a4 fbcd bl 80cd06a res = f_write(&F, sector, 512, &fk); 80288d0: f107 0394 add.w r3, r7, #148 ; 0x94 80288d4: f44f 7200 mov.w r2, #512 ; 0x200 80288d8: 491c ldr r1, [pc, #112] ; (802894c ) 80288da: 481a ldr r0, [pc, #104] ; (8028944 ) 80288dc: f09d feb0 bl 80c6640 80288e0: 4603 mov r3, r0 80288e2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(res != FR_OK) 80288e6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80288ea: 2b00 cmp r3, #0 80288ec: d004 beq.n 80288f8 { f_close(&F); 80288ee: 4815 ldr r0, [pc, #84] ; (8028944 ) 80288f0: f09e f94a bl 80c6b88 return FR_DISK_ERR; 80288f4: 2301 movs r3, #1 80288f6: e014 b.n 8028922 for(i = 0; i < 128; i++) 80288f8: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 80288fc: 3301 adds r3, #1 80288fe: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 8028902: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 8028906: 2b7f cmp r3, #127 ; 0x7f 8028908: d9d4 bls.n 80288b4 } } f_close(&F); 802890a: 480e ldr r0, [pc, #56] ; (8028944 ) 802890c: f09e f93c bl 80c6b88 return FR_OK; 8028910: 2300 movs r3, #0 8028912: e006 b.n 8028922 } } else { f_close(&F); 8028914: 480b ldr r0, [pc, #44] ; (8028944 ) 8028916: f09e f937 bl 80c6b88 return FR_DISK_ERR; 802891a: 2301 movs r3, #1 802891c: e001 b.n 8028922 } } return res; 802891e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 } 8028922: 4618 mov r0, r3 8028924: 37bc adds r7, #188 ; 0xbc 8028926: 46bd mov sp, r7 8028928: bd90 pop {r4, r7, pc} 802892a: bf00 nop 802892c: 2002164c .word 0x2002164c 8028930: 200229b4 .word 0x200229b4 8028934: 20021d80 .word 0x20021d80 8028938: 080ce52c .word 0x080ce52c 802893c: 20022918 .word 0x20022918 8028940: 080ce4bc .word 0x080ce4bc 8028944: 20022e20 .word 0x20022e20 8028948: 00320800 .word 0x00320800 802894c: 2007c000 .word 0x2007c000 08028950 : FRESULT GetRoutePath(uint32_t RouteIndex, char *fname) { 8028950: b590 push {r4, r7, lr} 8028952: b0a7 sub sp, #156 ; 0x9c 8028954: af00 add r7, sp, #0 8028956: 6078 str r0, [r7, #4] 8028958: 6039 str r1, [r7, #0] FSIZE_t SizeMeas = 0; 802895a: f04f 0300 mov.w r3, #0 802895e: f04f 0400 mov.w r4, #0 8028962: e9c7 341e strd r3, r4, [r7, #120] ; 0x78 FRESULT res = FR_OK; 8028966: 2300 movs r3, #0 8028968: f887 3097 strb.w r3, [r7, #151] ; 0x97 UINT fk, i, k, p; uint32_t srate[12]; uint32_t sens[12], s; size_t FileSize = 0; 802896c: 2300 movs r3, #0 802896e: 677b str r3, [r7, #116] ; 0x74 size_t l = 0, l1 = 0, l2 = 0; 8028970: 2300 movs r3, #0 8028972: f8c7 3088 str.w r3, [r7, #136] ; 0x88 8028976: 2300 movs r3, #0 8028978: f8c7 3084 str.w r3, [r7, #132] ; 0x84 802897c: 2300 movs r3, #0 802897e: 673b str r3, [r7, #112] ; 0x70 FileDataExist = false; 8028980: 4baa ldr r3, [pc, #680] ; (8028c2c ) 8028982: 2200 movs r2, #0 8028984: 701a strb r2, [r3, #0] DrawSavedData = false; 8028986: 4baa ldr r3, [pc, #680] ; (8028c30 ) 8028988: 2200 movs r2, #0 802898a: 701a strb r2, [r3, #0] FirstMeas = 0; 802898c: 4ba9 ldr r3, [pc, #676] ; (8028c34 ) 802898e: 2200 movs r2, #0 8028990: 601a str r2, [r3, #0] if(CardState != MSD_READY) { 8028992: 4ba9 ldr r3, [pc, #676] ; (8028c38 ) 8028994: 781b ldrb r3, [r3, #0] 8028996: b2db uxtb r3, r3 8028998: 2b03 cmp r3, #3 802899a: d001 beq.n 80289a0 return FR_NOT_READY; 802899c: 2303 movs r3, #3 802899e: e141 b.n 8028c24 } if(res == FR_OK) 80289a0: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 80289a4: 2b00 cmp r3, #0 80289a6: f040 813b bne.w 8028c20 { memset(RoutePath, 0, sizeof(RoutePath)); 80289aa: f44f 7200 mov.w r2, #512 ; 0x200 80289ae: 2100 movs r1, #0 80289b0: 48a2 ldr r0, [pc, #648] ; (8028c3c ) 80289b2: f0a4 fb65 bl 80cd080 memset(PointPath, 0, sizeof(PointPath)); 80289b6: f44f 7200 mov.w r2, #512 ; 0x200 80289ba: 2100 movs r1, #0 80289bc: 48a0 ldr r0, [pc, #640] ; (8028c40 ) 80289be: f0a4 fb5f bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 80289c2: f44f 7200 mov.w r2, #512 ; 0x200 80289c6: 2100 movs r1, #0 80289c8: 489e ldr r0, [pc, #632] ; (8028c44 ) 80289ca: f0a4 fb59 bl 80cd080 strcpy(SearchPath, "0:"); 80289ce: 4b9d ldr r3, [pc, #628] ; (8028c44 ) 80289d0: 4a9d ldr r2, [pc, #628] ; (8028c48 ) 80289d2: 8811 ldrh r1, [r2, #0] 80289d4: 7892 ldrb r2, [r2, #2] 80289d6: 8019 strh r1, [r3, #0] 80289d8: 709a strb r2, [r3, #2] memset(FileName, 0, sizeof(FileName)); 80289da: 2228 movs r2, #40 ; 0x28 80289dc: 2100 movs r1, #0 80289de: 489b ldr r0, [pc, #620] ; (8028c4c ) 80289e0: f0a4 fb4e bl 80cd080 strcpy(FileName, fname); 80289e4: 6839 ldr r1, [r7, #0] 80289e6: 4899 ldr r0, [pc, #612] ; (8028c4c ) 80289e8: f0a4 fc67 bl 80cd2ba ScanMode = GET_PATH_TO_FILE; 80289ec: 4b98 ldr r3, [pc, #608] ; (8028c50 ) 80289ee: 2209 movs r2, #9 80289f0: 701a strb r2, [r3, #0] FlagReturn = false; 80289f2: 4b98 ldr r3, [pc, #608] ; (8028c54 ) 80289f4: 2200 movs r2, #0 80289f6: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 80289f8: 2100 movs r1, #0 80289fa: 4892 ldr r0, [pc, #584] ; (8028c44 ) 80289fc: f002 ff56 bl 802b8ac if(PointPath[0] == 0) 8028a00: 4b8f ldr r3, [pc, #572] ; (8028c40 ) 8028a02: 781b ldrb r3, [r3, #0] 8028a04: 2b00 cmp r3, #0 8028a06: d103 bne.n 8028a10 { res = FR_NO_FILE; 8028a08: 2304 movs r3, #4 8028a0a: f887 3097 strb.w r3, [r7, #151] ; 0x97 8028a0e: e107 b.n 8028c20 } else { res = f_open(&F, PointPath, FA_READ); 8028a10: 2201 movs r2, #1 8028a12: 498b ldr r1, [pc, #556] ; (8028c40 ) 8028a14: 4890 ldr r0, [pc, #576] ; (8028c58 ) 8028a16: f09d fa73 bl 80c5f00 8028a1a: 4603 mov r3, r0 8028a1c: f887 3097 strb.w r3, [r7, #151] ; 0x97 if(res == FR_OK) 8028a20: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 8028a24: 2b00 cmp r3, #0 8028a26: f040 80fb bne.w 8028c20 { FileSize = f_size(&F); 8028a2a: 4b8b ldr r3, [pc, #556] ; (8028c58 ) 8028a2c: e9d3 3404 ldrd r3, r4, [r3, #16] 8028a30: 677b str r3, [r7, #116] ; 0x74 if(FileSize > 4) 8028a32: 6f7b ldr r3, [r7, #116] ; 0x74 8028a34: 2b04 cmp r3, #4 8028a36: f240 80eb bls.w 8028c10 { if(FileSize < 512) 8028a3a: 6f7b ldr r3, [r7, #116] ; 0x74 8028a3c: f5b3 7f00 cmp.w r3, #512 ; 0x200 8028a40: d24a bcs.n 8028ad8 { k = 0; 8028a42: 2300 movs r3, #0 8028a44: f8c7 308c str.w r3, [r7, #140] ; 0x8c p = 0; 8028a48: 2300 movs r3, #0 8028a4a: 66fb str r3, [r7, #108] ; 0x6c res = f_read(&F, SearchPath, FileSize, &fk); 8028a4c: f107 0368 add.w r3, r7, #104 ; 0x68 8028a50: 6f7a ldr r2, [r7, #116] ; 0x74 8028a52: 497c ldr r1, [pc, #496] ; (8028c44 ) 8028a54: 4880 ldr r0, [pc, #512] ; (8028c58 ) 8028a56: f09d fcb0 bl 80c63ba 8028a5a: 4603 mov r3, r0 8028a5c: f887 3097 strb.w r3, [r7, #151] ; 0x97 if(res == FR_OK) 8028a60: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 8028a64: 2b00 cmp r3, #0 8028a66: d132 bne.n 8028ace { for(i = 0; i < FileSize; i++) 8028a68: 2300 movs r3, #0 8028a6a: f8c7 3090 str.w r3, [r7, #144] ; 0x90 8028a6e: e028 b.n 8028ac2 { if(SearchPath[i] == '\r') 8028a70: 4a74 ldr r2, [pc, #464] ; (8028c44 ) 8028a72: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8028a76: 4413 add r3, r2 8028a78: 781b ldrb r3, [r3, #0] 8028a7a: 2b0d cmp r3, #13 8028a7c: d11c bne.n 8028ab8 { if(RouteIndex == k) 8028a7e: 687a ldr r2, [r7, #4] 8028a80: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 8028a84: 429a cmp r2, r3 8028a86: d10d bne.n 8028aa4 { memcpy(RoutePath, &SearchPath[l1], i - l1); 8028a88: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8028a8c: 4a6d ldr r2, [pc, #436] ; (8028c44 ) 8028a8e: 1899 adds r1, r3, r2 8028a90: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 8028a94: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8028a98: 1ad3 subs r3, r2, r3 8028a9a: 461a mov r2, r3 8028a9c: 4867 ldr r0, [pc, #412] ; (8028c3c ) 8028a9e: f0a4 fae4 bl 80cd06a break; 8028aa2: e0ba b.n 8028c1a } l1 = i + 2; 8028aa4: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8028aa8: 3302 adds r3, #2 8028aaa: f8c7 3084 str.w r3, [r7, #132] ; 0x84 k++; 8028aae: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 8028ab2: 3301 adds r3, #1 8028ab4: f8c7 308c str.w r3, [r7, #140] ; 0x8c for(i = 0; i < FileSize; i++) 8028ab8: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8028abc: 3301 adds r3, #1 8028abe: f8c7 3090 str.w r3, [r7, #144] ; 0x90 8028ac2: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 8028ac6: 6f7b ldr r3, [r7, #116] ; 0x74 8028ac8: 429a cmp r2, r3 8028aca: d3d1 bcc.n 8028a70 8028acc: e0a5 b.n 8028c1a } } } else { f_close(&F); 8028ace: 4862 ldr r0, [pc, #392] ; (8028c58 ) 8028ad0: f09e f85a bl 80c6b88 return FR_DISK_ERR; 8028ad4: 2301 movs r3, #1 8028ad6: e0a5 b.n 8028c24 } } else { // File is over 512 bytes l = 0; 8028ad8: 2300 movs r3, #0 8028ada: f8c7 3088 str.w r3, [r7, #136] ; 0x88 l1 = l2 = 0; 8028ade: 2300 movs r3, #0 8028ae0: 673b str r3, [r7, #112] ; 0x70 8028ae2: 6f3b ldr r3, [r7, #112] ; 0x70 8028ae4: f8c7 3084 str.w r3, [r7, #132] ; 0x84 k = 0; 8028ae8: 2300 movs r3, #0 8028aea: f8c7 308c str.w r3, [r7, #140] ; 0x8c p = 0; 8028aee: 2300 movs r3, #0 8028af0: 66fb str r3, [r7, #108] ; 0x6c while(l < FileSize) 8028af2: e086 b.n 8028c02 { if(FileSize - l >= 512u) 8028af4: 6f7a ldr r2, [r7, #116] ; 0x74 8028af6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8028afa: 1ad3 subs r3, r2, r3 8028afc: f5b3 7f00 cmp.w r3, #512 ; 0x200 8028b00: d30b bcc.n 8028b1a res = f_read(&F, SearchPath, 512, &fk); 8028b02: f107 0368 add.w r3, r7, #104 ; 0x68 8028b06: f44f 7200 mov.w r2, #512 ; 0x200 8028b0a: 494e ldr r1, [pc, #312] ; (8028c44 ) 8028b0c: 4852 ldr r0, [pc, #328] ; (8028c58 ) 8028b0e: f09d fc54 bl 80c63ba 8028b12: 4603 mov r3, r0 8028b14: f887 3097 strb.w r3, [r7, #151] ; 0x97 8028b18: e00c b.n 8028b34 else res = f_read(&F, SearchPath, FileSize - l, &fk); 8028b1a: 6f7a ldr r2, [r7, #116] ; 0x74 8028b1c: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8028b20: 1ad2 subs r2, r2, r3 8028b22: f107 0368 add.w r3, r7, #104 ; 0x68 8028b26: 4947 ldr r1, [pc, #284] ; (8028c44 ) 8028b28: 484b ldr r0, [pc, #300] ; (8028c58 ) 8028b2a: f09d fc46 bl 80c63ba 8028b2e: 4603 mov r3, r0 8028b30: f887 3097 strb.w r3, [r7, #151] ; 0x97 if(res == FR_OK) 8028b34: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 8028b38: 2b00 cmp r3, #0 8028b3a: d157 bne.n 8028bec { for(i = 0; i < fk; i++) 8028b3c: 2300 movs r3, #0 8028b3e: f8c7 3090 str.w r3, [r7, #144] ; 0x90 8028b42: e04d b.n 8028be0 { if(SearchPath[i] == '\r') 8028b44: 4a3f ldr r2, [pc, #252] ; (8028c44 ) 8028b46: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8028b4a: 4413 add r3, r2 8028b4c: 781b ldrb r3, [r3, #0] 8028b4e: 2b0d cmp r3, #13 8028b50: d141 bne.n 8028bd6 { if(RouteIndex == k) 8028b52: 687a ldr r2, [r7, #4] 8028b54: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 8028b58: 429a cmp r2, r3 8028b5a: d12f bne.n 8028bbc { f_lseek(&F, l1); 8028b5c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8028b60: f04f 0400 mov.w r4, #0 8028b64: 461a mov r2, r3 8028b66: 4623 mov r3, r4 8028b68: 483b ldr r0, [pc, #236] ; (8028c58 ) 8028b6a: f09e f82d bl 80c6bc8 if(FileSize - l1 >= 512u) 8028b6e: 6f7a ldr r2, [r7, #116] ; 0x74 8028b70: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8028b74: 1ad3 subs r3, r2, r3 8028b76: f5b3 7f00 cmp.w r3, #512 ; 0x200 8028b7a: d30b bcc.n 8028b94 res = f_read(&F, SearchPath, 512, &fk); 8028b7c: f107 0368 add.w r3, r7, #104 ; 0x68 8028b80: f44f 7200 mov.w r2, #512 ; 0x200 8028b84: 492f ldr r1, [pc, #188] ; (8028c44 ) 8028b86: 4834 ldr r0, [pc, #208] ; (8028c58 ) 8028b88: f09d fc17 bl 80c63ba 8028b8c: 4603 mov r3, r0 8028b8e: f887 3097 strb.w r3, [r7, #151] ; 0x97 8028b92: e00c b.n 8028bae else res = f_read(&F, SearchPath, FileSize - l1, &fk); 8028b94: 6f7a ldr r2, [r7, #116] ; 0x74 8028b96: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 8028b9a: 1ad2 subs r2, r2, r3 8028b9c: f107 0368 add.w r3, r7, #104 ; 0x68 8028ba0: 4928 ldr r1, [pc, #160] ; (8028c44 ) 8028ba2: 482d ldr r0, [pc, #180] ; (8028c58 ) 8028ba4: f09d fc09 bl 80c63ba 8028ba8: 4603 mov r3, r0 8028baa: f887 3097 strb.w r3, [r7, #151] ; 0x97 memcpy(RoutePath, SearchPath, fk); 8028bae: 6ebb ldr r3, [r7, #104] ; 0x68 8028bb0: 461a mov r2, r3 8028bb2: 4924 ldr r1, [pc, #144] ; (8028c44 ) 8028bb4: 4821 ldr r0, [pc, #132] ; (8028c3c ) 8028bb6: f0a4 fa58 bl 80cd06a break; 8028bba: e01c b.n 8028bf6 } l1 = l + i + 2; 8028bbc: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 8028bc0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8028bc4: 4413 add r3, r2 8028bc6: 3302 adds r3, #2 8028bc8: f8c7 3084 str.w r3, [r7, #132] ; 0x84 k++; 8028bcc: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 8028bd0: 3301 adds r3, #1 8028bd2: f8c7 308c str.w r3, [r7, #140] ; 0x8c for(i = 0; i < fk; i++) 8028bd6: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 8028bda: 3301 adds r3, #1 8028bdc: f8c7 3090 str.w r3, [r7, #144] ; 0x90 8028be0: 6ebb ldr r3, [r7, #104] ; 0x68 8028be2: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 8028be6: 429a cmp r2, r3 8028be8: d3ac bcc.n 8028b44 8028bea: e004 b.n 8028bf6 } else { f_close(&F); 8028bec: 481a ldr r0, [pc, #104] ; (8028c58 ) 8028bee: f09d ffcb bl 80c6b88 return FR_DISK_ERR; 8028bf2: 2301 movs r3, #1 8028bf4: e016 b.n 8028c24 } l += 512u; 8028bf6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 8028bfa: f503 7300 add.w r3, r3, #512 ; 0x200 8028bfe: f8c7 3088 str.w r3, [r7, #136] ; 0x88 while(l < FileSize) 8028c02: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 8028c06: 6f7b ldr r3, [r7, #116] ; 0x74 8028c08: 429a cmp r2, r3 8028c0a: f4ff af73 bcc.w 8028af4 8028c0e: e004 b.n 8028c1a } } } else { f_close(&F); 8028c10: 4811 ldr r0, [pc, #68] ; (8028c58 ) 8028c12: f09d ffb9 bl 80c6b88 return FR_DISK_ERR; 8028c16: 2301 movs r3, #1 8028c18: e004 b.n 8028c24 } f_close(&F); 8028c1a: 480f ldr r0, [pc, #60] ; (8028c58 ) 8028c1c: f09d ffb4 bl 80c6b88 } } } return res; 8028c20: f897 3097 ldrb.w r3, [r7, #151] ; 0x97 } 8028c24: 4618 mov r0, r3 8028c26: 379c adds r7, #156 ; 0x9c 8028c28: 46bd mov sp, r7 8028c2a: bd90 pop {r4, r7, pc} 8028c2c: 20020dd3 .word 0x20020dd3 8028c30: 20020dca .word 0x20020dca 8028c34: 20020dd8 .word 0x20020dd8 8028c38: 2002164c .word 0x2002164c 8028c3c: 20022be0 .word 0x20022be0 8028c40: 200229b4 .word 0x200229b4 8028c44: 20021d80 .word 0x20021d80 8028c48: 080ce538 .word 0x080ce538 8028c4c: 20022bb8 .word 0x20022bb8 8028c50: 20020ddf .word 0x20020ddf 8028c54: 20020dde .word 0x20020dde 8028c58: 20022e20 .word 0x20022e20 08028c5c : FRESULT RewindFileGTR(void) { 8028c5c: b5f0 push {r4, r5, r6, r7, lr} 8028c5e: b087 sub sp, #28 8028c60: af00 add r7, sp, #0 FRESULT res = FR_OK; 8028c62: 2000 movs r0, #0 8028c64: 75f8 strb r0, [r7, #23] FSIZE_t fptr, cf; FSIZE_t NumRead; UINT fk; if(CardState != MSD_READY) { 8028c66: 48a7 ldr r0, [pc, #668] ; (8028f04 ) 8028c68: 7800 ldrb r0, [r0, #0] 8028c6a: b2c0 uxtb r0, r0 8028c6c: 2803 cmp r0, #3 8028c6e: d001 beq.n 8028c74 return FR_NOT_READY; 8028c70: 2303 movs r3, #3 8028c72: e143 b.n 8028efc } if(NUM_CHANNELS == 1) 8028c74: 48a4 ldr r0, [pc, #656] ; (8028f08 ) 8028c76: 6800 ldr r0, [r0, #0] 8028c78: 2801 cmp r0, #1 8028c7a: f040 809c bne.w 8028db6 { if((f_size(&F)) && (PlayingState.NumFrames)) 8028c7e: 4ba3 ldr r3, [pc, #652] ; (8028f0c ) 8028c80: e9d3 3404 ldrd r3, r4, [r3, #16] 8028c84: 4323 orrs r3, r4 8028c86: f000 8089 beq.w 8028d9c 8028c8a: 4ba1 ldr r3, [pc, #644] ; (8028f10 ) 8028c8c: 685b ldr r3, [r3, #4] 8028c8e: 2b00 cmp r3, #0 8028c90: f000 8084 beq.w 8028d9c { cf = PlayingState.CurrentFrame; 8028c94: 4b9e ldr r3, [pc, #632] ; (8028f10 ) 8028c96: 681b ldr r3, [r3, #0] 8028c98: f04f 0400 mov.w r4, #0 8028c9c: e887 0018 stmia.w r7, {r3, r4} if(cf == PlayingState.NumFrames) { 8028ca0: 4b9b ldr r3, [pc, #620] ; (8028f10 ) 8028ca2: 685b ldr r3, [r3, #4] 8028ca4: 461d mov r5, r3 8028ca6: f04f 0600 mov.w r6, #0 8028caa: e897 0018 ldmia.w r7, {r3, r4} 8028cae: 42a6 cmp r6, r4 8028cb0: bf08 it eq 8028cb2: 429d cmpeq r5, r3 8028cb4: d107 bne.n 8028cc6 cf -= 1; 8028cb6: e897 0018 ldmia.w r7, {r3, r4} 8028cba: f113 33ff adds.w r3, r3, #4294967295 8028cbe: f144 34ff adc.w r4, r4, #4294967295 8028cc2: e887 0018 stmia.w r7, {r3, r4} } cf *= PlayingState.FrameSize; 8028cc6: 4b92 ldr r3, [pc, #584] ; (8028f10 ) 8028cc8: 689b ldr r3, [r3, #8] 8028cca: f04f 0400 mov.w r4, #0 8028cce: 6878 ldr r0, [r7, #4] 8028cd0: fb03 f500 mul.w r5, r3, r0 8028cd4: 6838 ldr r0, [r7, #0] 8028cd6: fb04 f000 mul.w r0, r4, r0 8028cda: 4428 add r0, r5 8028cdc: 683d ldr r5, [r7, #0] 8028cde: fba5 3403 umull r3, r4, r5, r3 8028ce2: 4420 add r0, r4 8028ce4: 4604 mov r4, r0 8028ce6: e887 0018 stmia.w r7, {r3, r4} 8028cea: e887 0018 stmia.w r7, {r3, r4} cf <<= 2; 8028cee: e897 0018 ldmia.w r7, {r3, r4} 8028cf2: 00a2 lsls r2, r4, #2 8028cf4: ea42 7293 orr.w r2, r2, r3, lsr #30 8028cf8: 0099 lsls r1, r3, #2 8028cfa: e887 0006 stmia.w r7, {r1, r2} fptr = (FSIZE_t) FirstMeas + cf; 8028cfe: 4b85 ldr r3, [pc, #532] ; (8028f14 ) 8028d00: 681b ldr r3, [r3, #0] 8028d02: 4619 mov r1, r3 8028d04: f04f 0200 mov.w r2, #0 8028d08: e897 0018 ldmia.w r7, {r3, r4} 8028d0c: 185b adds r3, r3, r1 8028d0e: eb44 0402 adc.w r4, r4, r2 8028d12: e9c7 3402 strd r3, r4, [r7, #8] if(fptr > f_size(&F)) { 8028d16: 4b7d ldr r3, [pc, #500] ; (8028f0c ) 8028d18: e9d3 1204 ldrd r1, r2, [r3, #16] 8028d1c: e9d7 3402 ldrd r3, r4, [r7, #8] 8028d20: 42a2 cmp r2, r4 8028d22: bf08 it eq 8028d24: 4299 cmpeq r1, r3 8028d26: d20c bcs.n 8028d42 fptr = f_size(&F) - (PlayingState.FrameSize << 2); 8028d28: 4b78 ldr r3, [pc, #480] ; (8028f0c ) 8028d2a: e9d3 1204 ldrd r1, r2, [r3, #16] 8028d2e: 4b78 ldr r3, [pc, #480] ; (8028f10 ) 8028d30: 689b ldr r3, [r3, #8] 8028d32: 009b lsls r3, r3, #2 8028d34: f04f 0400 mov.w r4, #0 8028d38: 1acb subs r3, r1, r3 8028d3a: eb62 0404 sbc.w r4, r2, r4 8028d3e: e9c7 3402 strd r3, r4, [r7, #8] } res = f_lseek(&F, fptr); 8028d42: e9d7 2302 ldrd r2, r3, [r7, #8] 8028d46: 4871 ldr r0, [pc, #452] ; (8028f0c ) 8028d48: f09d ff3e bl 80c6bc8 8028d4c: 4603 mov r3, r0 8028d4e: 75fb strb r3, [r7, #23] if(res == FR_OK) 8028d50: 7dfb ldrb r3, [r7, #23] 8028d52: 2b00 cmp r3, #0 8028d54: d115 bne.n 8028d82 { res = SeekFileGTR(); 8028d56: f000 f8e3 bl 8028f20 8028d5a: 4603 mov r3, r0 8028d5c: 75fb strb r3, [r7, #23] if(res == FR_OK) 8028d5e: 7dfb ldrb r3, [r7, #23] 8028d60: 2b00 cmp r3, #0 8028d62: d101 bne.n 8028d68 { return FR_OK; 8028d64: 2300 movs r3, #0 8028d66: e0c9 b.n 8028efc } else { f_close(&F); 8028d68: 4868 ldr r0, [pc, #416] ; (8028f0c ) 8028d6a: f09d ff0d bl 80c6b88 //f_mount(&fs, SDPath, 0); memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8028d6e: 4a6a ldr r2, [pc, #424] ; (8028f18 ) 8028d70: 4b6a ldr r3, [pc, #424] ; (8028f1c ) 8028d72: 4610 mov r0, r2 8028d74: 4619 mov r1, r3 8028d76: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028d7a: 461a mov r2, r3 8028d7c: f0a4 f975 bl 80cd06a if(res == FR_OK) 8028d80: e0bb b.n 8028efa } } else { f_close(&F); 8028d82: 4862 ldr r0, [pc, #392] ; (8028f0c ) 8028d84: f09d ff00 bl 80c6b88 //f_mount(&fs, SDPath, 0); memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8028d88: 4a63 ldr r2, [pc, #396] ; (8028f18 ) 8028d8a: 4b64 ldr r3, [pc, #400] ; (8028f1c ) 8028d8c: 4610 mov r0, r2 8028d8e: 4619 mov r1, r3 8028d90: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028d94: 461a mov r2, r3 8028d96: f0a4 f968 bl 80cd06a if(res == FR_OK) 8028d9a: e0ae b.n 8028efa } } else { f_close(&F); 8028d9c: 485b ldr r0, [pc, #364] ; (8028f0c ) 8028d9e: f09d fef3 bl 80c6b88 //f_mount(&fs, SDPath, 0); memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8028da2: 4a5d ldr r2, [pc, #372] ; (8028f18 ) 8028da4: 4b5d ldr r3, [pc, #372] ; (8028f1c ) 8028da6: 4610 mov r0, r2 8028da8: 4619 mov r1, r3 8028daa: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028dae: 461a mov r2, r3 8028db0: f0a4 f95b bl 80cd06a 8028db4: e0a1 b.n 8028efa } } else if(NUM_CHANNELS == 2) 8028db6: 4a54 ldr r2, [pc, #336] ; (8028f08 ) 8028db8: 6812 ldr r2, [r2, #0] 8028dba: 2a02 cmp r2, #2 8028dbc: f040 809d bne.w 8028efa { if((f_size(&F)) && (PlayingState.NumFrames)) 8028dc0: 4a52 ldr r2, [pc, #328] ; (8028f0c ) 8028dc2: e9d2 1204 ldrd r1, r2, [r2, #16] 8028dc6: 430a orrs r2, r1 8028dc8: f000 808b beq.w 8028ee2 8028dcc: 4a50 ldr r2, [pc, #320] ; (8028f10 ) 8028dce: 6852 ldr r2, [r2, #4] 8028dd0: 2a00 cmp r2, #0 8028dd2: f000 8086 beq.w 8028ee2 { cf = PlayingState.CurrentFrame; 8028dd6: 4a4e ldr r2, [pc, #312] ; (8028f10 ) 8028dd8: 6812 ldr r2, [r2, #0] 8028dda: 4611 mov r1, r2 8028ddc: f04f 0200 mov.w r2, #0 8028de0: e887 0006 stmia.w r7, {r1, r2} if(cf == PlayingState.NumFrames) { 8028de4: 4a4a ldr r2, [pc, #296] ; (8028f10 ) 8028de6: 6852 ldr r2, [r2, #4] 8028de8: 4615 mov r5, r2 8028dea: f04f 0600 mov.w r6, #0 8028dee: e897 0006 ldmia.w r7, {r1, r2} 8028df2: 4296 cmp r6, r2 8028df4: bf08 it eq 8028df6: 428d cmpeq r5, r1 8028df8: d107 bne.n 8028e0a cf -= 1; 8028dfa: e897 0006 ldmia.w r7, {r1, r2} 8028dfe: f111 31ff adds.w r1, r1, #4294967295 8028e02: f142 32ff adc.w r2, r2, #4294967295 8028e06: e887 0006 stmia.w r7, {r1, r2} } cf *= PlayingState.FrameSize; 8028e0a: 4a41 ldr r2, [pc, #260] ; (8028f10 ) 8028e0c: 6892 ldr r2, [r2, #8] 8028e0e: 4611 mov r1, r2 8028e10: f04f 0200 mov.w r2, #0 8028e14: 6878 ldr r0, [r7, #4] 8028e16: fb01 f500 mul.w r5, r1, r0 8028e1a: 6838 ldr r0, [r7, #0] 8028e1c: fb02 f000 mul.w r0, r2, r0 8028e20: 4428 add r0, r5 8028e22: 683d ldr r5, [r7, #0] 8028e24: fba5 1201 umull r1, r2, r5, r1 8028e28: 4410 add r0, r2 8028e2a: 4602 mov r2, r0 8028e2c: e887 0006 stmia.w r7, {r1, r2} 8028e30: e887 0006 stmia.w r7, {r1, r2} cf <<= 3; 8028e34: e897 0006 ldmia.w r7, {r1, r2} 8028e38: 00d4 lsls r4, r2, #3 8028e3a: ea44 7451 orr.w r4, r4, r1, lsr #29 8028e3e: 00cb lsls r3, r1, #3 8028e40: e887 0018 stmia.w r7, {r3, r4} fptr = (FSIZE_t) FirstMeas + cf; 8028e44: 4b33 ldr r3, [pc, #204] ; (8028f14 ) 8028e46: 681b ldr r3, [r3, #0] 8028e48: 4619 mov r1, r3 8028e4a: f04f 0200 mov.w r2, #0 8028e4e: e897 0018 ldmia.w r7, {r3, r4} 8028e52: 185b adds r3, r3, r1 8028e54: eb44 0402 adc.w r4, r4, r2 8028e58: e9c7 3402 strd r3, r4, [r7, #8] if(fptr > f_size(&F)) { 8028e5c: 4b2b ldr r3, [pc, #172] ; (8028f0c ) 8028e5e: e9d3 1204 ldrd r1, r2, [r3, #16] 8028e62: e9d7 3402 ldrd r3, r4, [r7, #8] 8028e66: 42a2 cmp r2, r4 8028e68: bf08 it eq 8028e6a: 4299 cmpeq r1, r3 8028e6c: d20c bcs.n 8028e88 fptr = f_size(&F) - (PlayingState.FrameSize << 3); 8028e6e: 4b27 ldr r3, [pc, #156] ; (8028f0c ) 8028e70: e9d3 1204 ldrd r1, r2, [r3, #16] 8028e74: 4b26 ldr r3, [pc, #152] ; (8028f10 ) 8028e76: 689b ldr r3, [r3, #8] 8028e78: 00db lsls r3, r3, #3 8028e7a: f04f 0400 mov.w r4, #0 8028e7e: 1acb subs r3, r1, r3 8028e80: eb62 0404 sbc.w r4, r2, r4 8028e84: e9c7 3402 strd r3, r4, [r7, #8] } res = f_lseek(&F, fptr); 8028e88: e9d7 2302 ldrd r2, r3, [r7, #8] 8028e8c: 481f ldr r0, [pc, #124] ; (8028f0c ) 8028e8e: f09d fe9b bl 80c6bc8 8028e92: 4603 mov r3, r0 8028e94: 75fb strb r3, [r7, #23] if(res == FR_OK) 8028e96: 7dfb ldrb r3, [r7, #23] 8028e98: 2b00 cmp r3, #0 8028e9a: d115 bne.n 8028ec8 { res = SeekFileGTR(); 8028e9c: f000 f840 bl 8028f20 8028ea0: 4603 mov r3, r0 8028ea2: 75fb strb r3, [r7, #23] if(res == FR_OK) 8028ea4: 7dfb ldrb r3, [r7, #23] 8028ea6: 2b00 cmp r3, #0 8028ea8: d101 bne.n 8028eae { return FR_OK; 8028eaa: 2300 movs r3, #0 8028eac: e026 b.n 8028efc } else { f_close(&F); 8028eae: 4817 ldr r0, [pc, #92] ; (8028f0c ) 8028eb0: f09d fe6a bl 80c6b88 memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8028eb4: 4a18 ldr r2, [pc, #96] ; (8028f18 ) 8028eb6: 4b19 ldr r3, [pc, #100] ; (8028f1c ) 8028eb8: 4610 mov r0, r2 8028eba: 4619 mov r1, r3 8028ebc: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028ec0: 461a mov r2, r3 8028ec2: f0a4 f8d2 bl 80cd06a if(res == FR_OK) 8028ec6: e018 b.n 8028efa } } else { f_close(&F); 8028ec8: 4810 ldr r0, [pc, #64] ; (8028f0c ) 8028eca: f09d fe5d bl 80c6b88 memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8028ece: 4a12 ldr r2, [pc, #72] ; (8028f18 ) 8028ed0: 4b12 ldr r3, [pc, #72] ; (8028f1c ) 8028ed2: 4610 mov r0, r2 8028ed4: 4619 mov r1, r3 8028ed6: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028eda: 461a mov r2, r3 8028edc: f0a4 f8c5 bl 80cd06a if(res == FR_OK) 8028ee0: e00b b.n 8028efa } } else { f_close(&F); 8028ee2: 480a ldr r0, [pc, #40] ; (8028f0c ) 8028ee4: f09d fe50 bl 80c6b88 memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8028ee8: 4a0b ldr r2, [pc, #44] ; (8028f18 ) 8028eea: 4b0c ldr r3, [pc, #48] ; (8028f1c ) 8028eec: 4610 mov r0, r2 8028eee: 4619 mov r1, r3 8028ef0: f44f 6396 mov.w r3, #1200 ; 0x4b0 8028ef4: 461a mov r2, r3 8028ef6: f0a4 f8b8 bl 80cd06a } } return res; 8028efa: 7dfb ldrb r3, [r7, #23] } 8028efc: 4618 mov r0, r3 8028efe: 371c adds r7, #28 8028f00: 46bd mov sp, r7 8028f02: bdf0 pop {r4, r5, r6, r7, pc} 8028f04: 2002164c .word 0x2002164c 8028f08: 20020030 .word 0x20020030 8028f0c: 20022e20 .word 0x20022e20 8028f10: 200228d8 .word 0x200228d8 8028f14: 20020dd8 .word 0x20020dd8 8028f18: 20023e60 .word 0x20023e60 8028f1c: 2002437c .word 0x2002437c 08028f20 : FRESULT SeekFileGTR(void) { 8028f20: e92d 43b0 stmdb sp!, {r4, r5, r7, r8, r9, lr} 8028f24: b088 sub sp, #32 8028f26: af00 add r7, sp, #0 FRESULT res = FR_OK; 8028f28: 2300 movs r3, #0 8028f2a: 77fb strb r3, [r7, #31] FSIZE_t fptr; FSIZE_t NumRead; UINT fk, i; float32_t fl; if(CardState != MSD_READY) { 8028f2c: 4ba1 ldr r3, [pc, #644] ; (80291b4 ) 8028f2e: 781b ldrb r3, [r3, #0] 8028f30: b2db uxtb r3, r3 8028f32: 2b03 cmp r3, #3 8028f34: d001 beq.n 8028f3a return FR_NOT_READY; 8028f36: 2303 movs r3, #3 8028f38: e136 b.n 80291a8 } arm_fill_f32(0.0f, (float32_t *) &SD_Buff, 8192); 8028f3a: f44f 5100 mov.w r1, #8192 ; 0x2000 8028f3e: 489e ldr r0, [pc, #632] ; (80291b8 ) 8028f40: ed9f 0a9e vldr s0, [pc, #632] ; 80291bc 8028f44: f0a0 fefa bl 80c9d3c if(NUM_CHANNELS == 1) 8028f48: 4b9d ldr r3, [pc, #628] ; (80291c0 ) 8028f4a: 681b ldr r3, [r3, #0] 8028f4c: 2b01 cmp r3, #1 8028f4e: d179 bne.n 8029044 { if(PlayingState.CurrentFrame < PlayingState.NumFrames) 8028f50: 4b9c ldr r3, [pc, #624] ; (80291c4 ) 8028f52: 681a ldr r2, [r3, #0] 8028f54: 4b9b ldr r3, [pc, #620] ; (80291c4 ) 8028f56: 685b ldr r3, [r3, #4] 8028f58: 429a cmp r2, r3 8028f5a: f080 8124 bcs.w 80291a6 { fptr = f_tell(&F); 8028f5e: 4b9a ldr r3, [pc, #616] ; (80291c8 ) 8028f60: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 8028f64: e9c7 3404 strd r3, r4, [r7, #16] NumRead = (f_size(&F) - fptr) >> 2; 8028f68: 4b97 ldr r3, [pc, #604] ; (80291c8 ) 8028f6a: e9d3 1204 ldrd r1, r2, [r3, #16] 8028f6e: e9d7 3404 ldrd r3, r4, [r7, #16] 8028f72: 1acb subs r3, r1, r3 8028f74: eb62 0404 sbc.w r4, r2, r4 8028f78: ea4f 0893 mov.w r8, r3, lsr #2 8028f7c: ea48 7884 orr.w r8, r8, r4, lsl #30 8028f80: ea4f 0994 mov.w r9, r4, lsr #2 8028f84: e9c7 8902 strd r8, r9, [r7, #8] if(NumRead) 8028f88: e9d7 3402 ldrd r3, r4, [r7, #8] 8028f8c: 4323 orrs r3, r4 8028f8e: d055 beq.n 802903c { if(NumRead >= PlayingState.FrameSize) 8028f90: 4b8c ldr r3, [pc, #560] ; (80291c4 ) 8028f92: 689b ldr r3, [r3, #8] 8028f94: f04f 0400 mov.w r4, #0 8028f98: e9d7 1202 ldrd r1, r2, [r7, #8] 8028f9c: 42a2 cmp r2, r4 8028f9e: bf08 it eq 8028fa0: 4299 cmpeq r1, r3 8028fa2: d30a bcc.n 8028fba res = f_read(&F, (void *) &SD_Buff, (PlayingState.FrameSize << 2), &fk); 8028fa4: 4b87 ldr r3, [pc, #540] ; (80291c4 ) 8028fa6: 689b ldr r3, [r3, #8] 8028fa8: 009a lsls r2, r3, #2 8028faa: 1d3b adds r3, r7, #4 8028fac: 4982 ldr r1, [pc, #520] ; (80291b8 ) 8028fae: 4886 ldr r0, [pc, #536] ; (80291c8 ) 8028fb0: f09d fa03 bl 80c63ba 8028fb4: 4603 mov r3, r0 8028fb6: 77fb strb r3, [r7, #31] 8028fb8: e008 b.n 8028fcc else res = f_read(&F, (void *) &SD_Buff, (NumRead << 2), &fk); 8028fba: 68bb ldr r3, [r7, #8] 8028fbc: 009a lsls r2, r3, #2 8028fbe: 1d3b adds r3, r7, #4 8028fc0: 497d ldr r1, [pc, #500] ; (80291b8 ) 8028fc2: 4881 ldr r0, [pc, #516] ; (80291c8 ) 8028fc4: f09d f9f9 bl 80c63ba 8028fc8: 4603 mov r3, r0 8028fca: 77fb strb r3, [r7, #31] if(res == FR_OK) 8028fcc: 7ffb ldrb r3, [r7, #31] 8028fce: 2b00 cmp r3, #0 8028fd0: f040 80e9 bne.w 80291a6 { fl = 1000 / PlayingState.Sensitivity; 8028fd4: 4b7b ldr r3, [pc, #492] ; (80291c4 ) 8028fd6: ed93 7a08 vldr s14, [r3, #32] 8028fda: eddf 6a7c vldr s13, [pc, #496] ; 80291cc 8028fde: eec6 7a87 vdiv.f32 s15, s13, s14 8028fe2: edc7 7a00 vstr s15, [r7] arm_scale_f32((float32_t *) &SD_Buff, fl, (float32_t *) &SD_Buff, PlayingState.FrameSize); 8028fe6: edd7 7a00 vldr s15, [r7] 8028fea: 4b76 ldr r3, [pc, #472] ; (80291c4 ) 8028fec: 689b ldr r3, [r3, #8] 8028fee: 461a mov r2, r3 8028ff0: 4971 ldr r1, [pc, #452] ; (80291b8 ) 8028ff2: eeb0 0a67 vmov.f32 s0, s15 8028ff6: 4870 ldr r0, [pc, #448] ; (80291b8 ) 8028ff8: f0a1 fba6 bl 80ca748 arm_copy_f32((float32_t *) &SD_Buff, pScrA_f32, PlayingState.FrameSize); 8028ffc: 4b71 ldr r3, [pc, #452] ; (80291c4 ) 8028ffe: 689b ldr r3, [r3, #8] 8029000: 461a mov r2, r3 8029002: 4973 ldr r1, [pc, #460] ; (80291d0 ) 8029004: 486c ldr r0, [pc, #432] ; (80291b8 ) 8029006: f0a0 feb7 bl 80c9d78 if(PlayingState.State == PLAYING) { 802900a: 4b6e ldr r3, [pc, #440] ; (80291c4 ) 802900c: 6a5b ldr r3, [r3, #36] ; 0x24 802900e: 2b01 cmp r3, #1 8029010: d104 bne.n 802901c PlayingState.CurrentFrame++; 8029012: 4b6c ldr r3, [pc, #432] ; (80291c4 ) 8029014: 681b ldr r3, [r3, #0] 8029016: 3301 adds r3, #1 8029018: 4a6a ldr r2, [pc, #424] ; (80291c4 ) 802901a: 6013 str r3, [r2, #0] } if(PlayingState.CurrentFrame >= PlayingState.NumFrames) 802901c: 4b69 ldr r3, [pc, #420] ; (80291c4 ) 802901e: 681a ldr r2, [r3, #0] 8029020: 4b68 ldr r3, [pc, #416] ; (80291c4 ) 8029022: 685b ldr r3, [r3, #4] 8029024: 429a cmp r2, r3 8029026: f0c0 80be bcc.w 80291a6 { if(PlayingState.State == PLAYING) { 802902a: 4b66 ldr r3, [pc, #408] ; (80291c4 ) 802902c: 6a5b ldr r3, [r3, #36] ; 0x24 802902e: 2b01 cmp r3, #1 8029030: f040 80b9 bne.w 80291a6 PlayingState.State = STOPPED; 8029034: 4b63 ldr r3, [pc, #396] ; (80291c4 ) 8029036: 2200 movs r2, #0 8029038: 625a str r2, [r3, #36] ; 0x24 802903a: e0b4 b.n 80291a6 } } } else { PlayingState.State = STOPPED; 802903c: 4b61 ldr r3, [pc, #388] ; (80291c4 ) 802903e: 2200 movs r2, #0 8029040: 625a str r2, [r3, #36] ; 0x24 8029042: e0b0 b.n 80291a6 } } } else if(NUM_CHANNELS == 2) 8029044: 4b5e ldr r3, [pc, #376] ; (80291c0 ) 8029046: 681b ldr r3, [r3, #0] 8029048: 2b02 cmp r3, #2 802904a: f040 80ac bne.w 80291a6 { if(PlayingState.CurrentFrame < PlayingState.NumFrames) 802904e: 4b5d ldr r3, [pc, #372] ; (80291c4 ) 8029050: 681a ldr r2, [r3, #0] 8029052: 4b5c ldr r3, [pc, #368] ; (80291c4 ) 8029054: 685b ldr r3, [r3, #4] 8029056: 429a cmp r2, r3 8029058: f080 80a5 bcs.w 80291a6 { fptr = f_tell(&F); 802905c: 4b5a ldr r3, [pc, #360] ; (80291c8 ) 802905e: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 8029062: e9c7 2304 strd r2, r3, [r7, #16] NumRead = (f_size(&F) - fptr) >> 3; 8029066: 4b58 ldr r3, [pc, #352] ; (80291c8 ) 8029068: e9d3 0104 ldrd r0, r1, [r3, #16] 802906c: e9d7 2304 ldrd r2, r3, [r7, #16] 8029070: 1a82 subs r2, r0, r2 8029072: eb61 0303 sbc.w r3, r1, r3 8029076: 08d4 lsrs r4, r2, #3 8029078: ea44 7443 orr.w r4, r4, r3, lsl #29 802907c: 08dd lsrs r5, r3, #3 802907e: e9c7 4502 strd r4, r5, [r7, #8] if(NumRead) 8029082: e9d7 3402 ldrd r3, r4, [r7, #8] 8029086: 4323 orrs r3, r4 8029088: f000 808a beq.w 80291a0 { if(NumRead >= PlayingState.FrameSize) 802908c: 4b4d ldr r3, [pc, #308] ; (80291c4 ) 802908e: 689b ldr r3, [r3, #8] 8029090: f04f 0400 mov.w r4, #0 8029094: e9d7 1202 ldrd r1, r2, [r7, #8] 8029098: 42a2 cmp r2, r4 802909a: bf08 it eq 802909c: 4299 cmpeq r1, r3 802909e: d30a bcc.n 80290b6 res = f_read(&F, (void *) &SD_Buff, (PlayingState.FrameSize << 3), &fk); 80290a0: 4b48 ldr r3, [pc, #288] ; (80291c4 ) 80290a2: 689b ldr r3, [r3, #8] 80290a4: 00da lsls r2, r3, #3 80290a6: 1d3b adds r3, r7, #4 80290a8: 4943 ldr r1, [pc, #268] ; (80291b8 ) 80290aa: 4847 ldr r0, [pc, #284] ; (80291c8 ) 80290ac: f09d f985 bl 80c63ba 80290b0: 4603 mov r3, r0 80290b2: 77fb strb r3, [r7, #31] 80290b4: e008 b.n 80290c8 else res = f_read(&F, (void *) &SD_Buff, (NumRead << 3), &fk); 80290b6: 68bb ldr r3, [r7, #8] 80290b8: 00da lsls r2, r3, #3 80290ba: 1d3b adds r3, r7, #4 80290bc: 493e ldr r1, [pc, #248] ; (80291b8 ) 80290be: 4842 ldr r0, [pc, #264] ; (80291c8 ) 80290c0: f09d f97b bl 80c63ba 80290c4: 4603 mov r3, r0 80290c6: 77fb strb r3, [r7, #31] if(res == FR_OK) 80290c8: 7ffb ldrb r3, [r7, #31] 80290ca: 2b00 cmp r3, #0 80290cc: d16b bne.n 80291a6 { for(i = 0; i < 4096; i++) 80290ce: 2300 movs r3, #0 80290d0: 61bb str r3, [r7, #24] 80290d2: e01b b.n 802910c { A_Buff_f32(i) = SD_Buff[i << 1].fl; 80290d4: 69bb ldr r3, [r7, #24] 80290d6: 009a lsls r2, r3, #2 80290d8: 4b3e ldr r3, [pc, #248] ; (80291d4 ) 80290da: 4413 add r3, r2 80290dc: 4619 mov r1, r3 80290de: 69bb ldr r3, [r7, #24] 80290e0: 005b lsls r3, r3, #1 80290e2: 4a35 ldr r2, [pc, #212] ; (80291b8 ) 80290e4: 009b lsls r3, r3, #2 80290e6: 4413 add r3, r2 80290e8: 681b ldr r3, [r3, #0] 80290ea: 600b str r3, [r1, #0] V_Buff_f32(i) = SD_Buff[(i << 1) + 1].fl; 80290ec: 69bb ldr r3, [r7, #24] 80290ee: 009a lsls r2, r3, #2 80290f0: 4b39 ldr r3, [pc, #228] ; (80291d8 ) 80290f2: 4413 add r3, r2 80290f4: 4619 mov r1, r3 80290f6: 69bb ldr r3, [r7, #24] 80290f8: 005b lsls r3, r3, #1 80290fa: 3301 adds r3, #1 80290fc: 4a2e ldr r2, [pc, #184] ; (80291b8 ) 80290fe: 009b lsls r3, r3, #2 8029100: 4413 add r3, r2 8029102: 681b ldr r3, [r3, #0] 8029104: 600b str r3, [r1, #0] for(i = 0; i < 4096; i++) 8029106: 69bb ldr r3, [r7, #24] 8029108: 3301 adds r3, #1 802910a: 61bb str r3, [r7, #24] 802910c: 69bb ldr r3, [r7, #24] 802910e: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8029112: d3df bcc.n 80290d4 } fl = 1000 / PlayingState.Sensitivity; 8029114: 4b2b ldr r3, [pc, #172] ; (80291c4 ) 8029116: ed93 7a08 vldr s14, [r3, #32] 802911a: eddf 6a2c vldr s13, [pc, #176] ; 80291cc 802911e: eec6 7a87 vdiv.f32 s15, s13, s14 8029122: edc7 7a00 vstr s15, [r7] arm_scale_f32((float32_t *) &A_Buff_f32(0), fl, (float32_t *) &A_Buff_f32(0), PlayingState.FrameSize); 8029126: edd7 7a00 vldr s15, [r7] 802912a: 4b26 ldr r3, [pc, #152] ; (80291c4 ) 802912c: 689b ldr r3, [r3, #8] 802912e: 461a mov r2, r3 8029130: 4928 ldr r1, [pc, #160] ; (80291d4 ) 8029132: eeb0 0a67 vmov.f32 s0, s15 8029136: 4827 ldr r0, [pc, #156] ; (80291d4 ) 8029138: f0a1 fb06 bl 80ca748 arm_copy_f32((float32_t *) &A_Buff_f32(0), pScrA_f32, PlayingState.FrameSize); 802913c: 4b21 ldr r3, [pc, #132] ; (80291c4 ) 802913e: 689b ldr r3, [r3, #8] 8029140: 461a mov r2, r3 8029142: 4923 ldr r1, [pc, #140] ; (80291d0 ) 8029144: 4823 ldr r0, [pc, #140] ; (80291d4 ) 8029146: f0a0 fe17 bl 80c9d78 arm_mean_f32((float32_t *) &V_Buff_f32(0), PlayingState.FrameSize, &fl); 802914a: 4b1e ldr r3, [pc, #120] ; (80291c4 ) 802914c: 689b ldr r3, [r3, #8] 802914e: 463a mov r2, r7 8029150: 4619 mov r1, r3 8029152: 4821 ldr r0, [pc, #132] ; (80291d8 ) 8029154: f0a0 ff98 bl 80ca088 arm_offset_f32((float32_t *) &V_Buff_f32(0), -fl, (float32_t *) pScrB_f32, PlayingState.FrameSize); 8029158: edd7 7a00 vldr s15, [r7] 802915c: eef1 7a67 vneg.f32 s15, s15 8029160: 4b18 ldr r3, [pc, #96] ; (80291c4 ) 8029162: 689b ldr r3, [r3, #8] 8029164: 461a mov r2, r3 8029166: 491d ldr r1, [pc, #116] ; (80291dc ) 8029168: eeb0 0a67 vmov.f32 s0, s15 802916c: 481a ldr r0, [pc, #104] ; (80291d8 ) 802916e: f0a1 fb21 bl 80ca7b4 if(PlayingState.State == PLAYING) { 8029172: 4b14 ldr r3, [pc, #80] ; (80291c4 ) 8029174: 6a5b ldr r3, [r3, #36] ; 0x24 8029176: 2b01 cmp r3, #1 8029178: d104 bne.n 8029184 PlayingState.CurrentFrame++; 802917a: 4b12 ldr r3, [pc, #72] ; (80291c4 ) 802917c: 681b ldr r3, [r3, #0] 802917e: 3301 adds r3, #1 8029180: 4a10 ldr r2, [pc, #64] ; (80291c4 ) 8029182: 6013 str r3, [r2, #0] } if(PlayingState.CurrentFrame >= PlayingState.NumFrames) 8029184: 4b0f ldr r3, [pc, #60] ; (80291c4 ) 8029186: 681a ldr r2, [r3, #0] 8029188: 4b0e ldr r3, [pc, #56] ; (80291c4 ) 802918a: 685b ldr r3, [r3, #4] 802918c: 429a cmp r2, r3 802918e: d30a bcc.n 80291a6 { if(PlayingState.State == PLAYING) { 8029190: 4b0c ldr r3, [pc, #48] ; (80291c4 ) 8029192: 6a5b ldr r3, [r3, #36] ; 0x24 8029194: 2b01 cmp r3, #1 8029196: d106 bne.n 80291a6 PlayingState.State = STOPPED; 8029198: 4b0a ldr r3, [pc, #40] ; (80291c4 ) 802919a: 2200 movs r2, #0 802919c: 625a str r2, [r3, #36] ; 0x24 802919e: e002 b.n 80291a6 } } } else { PlayingState.State = STOPPED; 80291a0: 4b08 ldr r3, [pc, #32] ; (80291c4 ) 80291a2: 2200 movs r2, #0 80291a4: 625a str r2, [r3, #36] ; 0x24 } } } return res; 80291a6: 7ffb ldrb r3, [r7, #31] } 80291a8: 4618 mov r0, r3 80291aa: 3720 adds r7, #32 80291ac: 46bd mov sp, r7 80291ae: e8bd 83b0 ldmia.w sp!, {r4, r5, r7, r8, r9, pc} 80291b2: bf00 nop 80291b4: 2002164c .word 0x2002164c 80291b8: 20000000 .word 0x20000000 80291bc: 00000000 .word 0x00000000 80291c0: 20020030 .word 0x20020030 80291c4: 200228d8 .word 0x200228d8 80291c8: 20022e20 .word 0x20022e20 80291cc: 447a0000 .word 0x447a0000 80291d0: 64080000 .word 0x64080000 80291d4: 64090000 .word 0x64090000 80291d8: 64094000 .word 0x64094000 80291dc: 640b0000 .word 0x640b0000 080291e0 : FRESULT WriteFilePTM(char* fname) { 80291e0: b5f0 push {r4, r5, r6, r7, lr} 80291e2: b091 sub sp, #68 ; 0x44 80291e4: af00 add r7, sp, #0 80291e6: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 80291e8: 2300 movs r3, #0 80291ea: f887 303f strb.w r3, [r7, #63] ; 0x3f uint16_t IM, IP; UINT fk; FSIZE_t ifs; if(CardState != MSD_READY) { 80291ee: 4b97 ldr r3, [pc, #604] ; (802944c ) 80291f0: 781b ldrb r3, [r3, #0] 80291f2: b2db uxtb r3, r3 80291f4: 2b03 cmp r3, #3 80291f6: d002 beq.n 80291fe return FR_NOT_READY; 80291f8: 2303 movs r3, #3 80291fa: f000 bd3a b.w 8029c72 } if(strcmp(fname, "") == 0) { 80291fe: 687b ldr r3, [r7, #4] 8029200: 781b ldrb r3, [r3, #0] 8029202: 2b00 cmp r3, #0 8029204: d102 bne.n 802920c return FR_INVALID_NAME; 8029206: 2306 movs r3, #6 8029208: f000 bd33 b.w 8029c72 } if(res == FR_OK) 802920c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029210: 2b00 cmp r3, #0 8029212: f040 852c bne.w 8029c6e { memset(FileName, 0, sizeof(FileName)); 8029216: 2228 movs r2, #40 ; 0x28 8029218: 2100 movs r1, #0 802921a: 488d ldr r0, [pc, #564] ; (8029450 ) 802921c: f0a3 ff30 bl 80cd080 strcpy(FileName, fname); 8029220: 6879 ldr r1, [r7, #4] 8029222: 488b ldr r0, [pc, #556] ; (8029450 ) 8029224: f0a4 f849 bl 80cd2ba memset(PointPath, 0, sizeof(PointPath)); 8029228: f44f 7200 mov.w r2, #512 ; 0x200 802922c: 2100 movs r1, #0 802922e: 4889 ldr r0, [pc, #548] ; (8029454 ) 8029230: f0a3 ff26 bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 8029234: f44f 7200 mov.w r2, #512 ; 0x200 8029238: 2100 movs r1, #0 802923a: 4887 ldr r0, [pc, #540] ; (8029458 ) 802923c: f0a3 ff20 bl 80cd080 SearchPath[0] = '0'; 8029240: 4b85 ldr r3, [pc, #532] ; (8029458 ) 8029242: 2230 movs r2, #48 ; 0x30 8029244: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8029246: 4b84 ldr r3, [pc, #528] ; (8029458 ) 8029248: 223a movs r2, #58 ; 0x3a 802924a: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802924c: 4b83 ldr r3, [pc, #524] ; (802945c ) 802924e: 2209 movs r2, #9 8029250: 701a strb r2, [r3, #0] FlagReturn = false; 8029252: 4b83 ldr r3, [pc, #524] ; (8029460 ) 8029254: 2200 movs r2, #0 8029256: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8029258: 2100 movs r1, #0 802925a: 487f ldr r0, [pc, #508] ; (8029458 ) 802925c: f002 fb26 bl 802b8ac if(PointPath[0] == 0) 8029260: 4b7c ldr r3, [pc, #496] ; (8029454 ) 8029262: 781b ldrb r3, [r3, #0] 8029264: 2b00 cmp r3, #0 8029266: d104 bne.n 8029272 { res = FR_NO_FILE; 8029268: 2304 movs r3, #4 802926a: f887 303f strb.w r3, [r7, #63] ; 0x3f 802926e: f000 bcfe b.w 8029c6e } else { res = f_open(&F, PointPath, FA_READ | FA_WRITE); 8029272: 2203 movs r2, #3 8029274: 4977 ldr r1, [pc, #476] ; (8029454 ) 8029276: 487b ldr r0, [pc, #492] ; (8029464 ) 8029278: f09c fe42 bl 80c5f00 802927c: 4603 mov r3, r0 802927e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8029282: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029286: 2b04 cmp r3, #4 8029288: d003 beq.n 8029292 802928a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802928e: 2b05 cmp r3, #5 8029290: d107 bne.n 80292a2 res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8029292: 221b movs r2, #27 8029294: 496f ldr r1, [pc, #444] ; (8029454 ) 8029296: 4873 ldr r0, [pc, #460] ; (8029464 ) 8029298: f09c fe32 bl 80c5f00 802929c: 4603 mov r3, r0 802929e: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 80292a2: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80292a6: 2b00 cmp r3, #0 80292a8: f040 84e1 bne.w 8029c6e { memset(sector, 0xff, sizeof(sector)); 80292ac: f44f 7200 mov.w r2, #512 ; 0x200 80292b0: 21ff movs r1, #255 ; 0xff 80292b2: 486d ldr r0, [pc, #436] ; (8029468 ) 80292b4: f0a3 fee4 bl 80cd080 IM = (uint16_t) NextIndexMeas; 80292b8: 4b6c ldr r3, [pc, #432] ; (802946c ) 80292ba: 681b ldr r3, [r3, #0] 80292bc: 85fb strh r3, [r7, #46] ; 0x2e if(f_size(&F) == 0) 80292be: 4b69 ldr r3, [pc, #420] ; (8029464 ) 80292c0: e9d3 3404 ldrd r3, r4, [r3, #16] 80292c4: 4323 orrs r3, r4 80292c6: f040 819a bne.w 80295fe { ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// memset(sector, 0, sizeof(sector)); 80292ca: f44f 7200 mov.w r2, #512 ; 0x200 80292ce: 2100 movs r1, #0 80292d0: 4865 ldr r0, [pc, #404] ; (8029468 ) 80292d2: f0a3 fed5 bl 80cd080 strcpy((char *) sector, "Extend"); 80292d6: 4b64 ldr r3, [pc, #400] ; (8029468 ) 80292d8: 4a65 ldr r2, [pc, #404] ; (8029470 ) 80292da: e892 0003 ldmia.w r2, {r0, r1} 80292de: 6018 str r0, [r3, #0] 80292e0: 3304 adds r3, #4 80292e2: 8019 strh r1, [r3, #0] 80292e4: 3302 adds r3, #2 80292e6: 0c0a lsrs r2, r1, #16 80292e8: 701a strb r2, [r3, #0] res = f_write(&F, sector, 96, &fk); 80292ea: f107 030c add.w r3, r7, #12 80292ee: 2260 movs r2, #96 ; 0x60 80292f0: 495d ldr r1, [pc, #372] ; (8029468 ) 80292f2: 485c ldr r0, [pc, #368] ; (8029464 ) 80292f4: f09d f9a4 bl 80c6640 80292f8: 4603 mov r3, r0 80292fa: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 96)) 80292fe: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029302: 2b00 cmp r3, #0 8029304: f040 8082 bne.w 802940c 8029308: 68fb ldr r3, [r7, #12] 802930a: 2b60 cmp r3, #96 ; 0x60 802930c: d17e bne.n 802940c { memset(sector, 0, sizeof(sector)); 802930e: f44f 7200 mov.w r2, #512 ; 0x200 8029312: 2100 movs r1, #0 8029314: 4854 ldr r0, [pc, #336] ; (8029468 ) 8029316: f0a3 feb3 bl 80cd080 for(i = 0; i < 8; i++) 802931a: 2300 movs r3, #0 802931c: 63bb str r3, [r7, #56] ; 0x38 802931e: e01b b.n 8029358 { res = f_write(&F, sector, 500, &fk); 8029320: f107 030c add.w r3, r7, #12 8029324: f44f 72fa mov.w r2, #500 ; 0x1f4 8029328: 494f ldr r1, [pc, #316] ; (8029468 ) 802932a: 484e ldr r0, [pc, #312] ; (8029464 ) 802932c: f09d f988 bl 80c6640 8029330: 4603 mov r3, r0 8029332: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != 500)) 8029336: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802933a: 2b00 cmp r3, #0 802933c: d103 bne.n 8029346 802933e: 68fb ldr r3, [r7, #12] 8029340: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 8029344: d005 beq.n 8029352 { f_close(&F); 8029346: 4847 ldr r0, [pc, #284] ; (8029464 ) 8029348: f09d fc1e bl 80c6b88 return FR_DISK_ERR; 802934c: 2301 movs r3, #1 802934e: f000 bc90 b.w 8029c72 for(i = 0; i < 8; i++) 8029352: 6bbb ldr r3, [r7, #56] ; 0x38 8029354: 3301 adds r3, #1 8029356: 63bb str r3, [r7, #56] ; 0x38 8029358: 6bbb ldr r3, [r7, #56] ; 0x38 802935a: 2b07 cmp r3, #7 802935c: d9e0 bls.n 8029320 } } memcpy(sector, Comment, sizeof(Comment)); 802935e: 4b42 ldr r3, [pc, #264] ; (8029468 ) 8029360: 4a44 ldr r2, [pc, #272] ; (8029474 ) 8029362: 4614 mov r4, r2 8029364: 461e mov r6, r3 8029366: f104 0e20 add.w lr, r4, #32 802936a: 4635 mov r5, r6 802936c: 4623 mov r3, r4 802936e: 6818 ldr r0, [r3, #0] 8029370: 6859 ldr r1, [r3, #4] 8029372: 689a ldr r2, [r3, #8] 8029374: 68db ldr r3, [r3, #12] 8029376: c50f stmia r5!, {r0, r1, r2, r3} 8029378: 3410 adds r4, #16 802937a: 3610 adds r6, #16 802937c: 4574 cmp r4, lr 802937e: d1f4 bne.n 802936a 8029380: 4633 mov r3, r6 8029382: 4622 mov r2, r4 8029384: 6810 ldr r0, [r2, #0] 8029386: 6851 ldr r1, [r2, #4] 8029388: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 802938a: 4b3b ldr r3, [pc, #236] ; (8029478 ) 802938c: 681a ldr r2, [r3, #0] 802938e: 4613 mov r3, r2 8029390: 009b lsls r3, r3, #2 8029392: 4413 add r3, r2 8029394: 00db lsls r3, r3, #3 8029396: 3360 adds r3, #96 ; 0x60 8029398: f04f 0400 mov.w r4, #0 802939c: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 80293a0: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 80293a4: 482f ldr r0, [pc, #188] ; (8029464 ) 80293a6: f09d fc0f bl 80c6bc8 80293aa: 4603 mov r3, r0 80293ac: 2b00 cmp r3, #0 80293ae: d127 bne.n 8029400 { res = f_write(&F, sector, sizeof(Comment), &fk); 80293b0: f107 030c add.w r3, r7, #12 80293b4: 2228 movs r2, #40 ; 0x28 80293b6: 492c ldr r1, [pc, #176] ; (8029468 ) 80293b8: 482a ldr r0, [pc, #168] ; (8029464 ) 80293ba: f09d f941 bl 80c6640 80293be: 4603 mov r3, r0 80293c0: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 80293c4: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80293c8: 2b00 cmp r3, #0 80293ca: d102 bne.n 80293d2 80293cc: 68fb ldr r3, [r7, #12] 80293ce: 2b28 cmp r3, #40 ; 0x28 80293d0: d005 beq.n 80293de { f_close(&F); 80293d2: 4824 ldr r0, [pc, #144] ; (8029464 ) 80293d4: f09d fbd8 bl 80c6b88 return FR_DISK_ERR; 80293d8: 2301 movs r3, #1 80293da: f000 bc4a b.w 8029c72 } ifs = 96u + (NUM_POINTS * sizeof(Comment)); 80293de: f649 43a0 movw r3, #40096 ; 0x9ca0 80293e2: f04f 0400 mov.w r4, #0 80293e6: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 80293ea: bf00 nop f_close(&F); return FR_DISK_ERR; } ////////////////////////////////////////////////////////////////// if(f_lseek(&F, ifs) == FR_OK) 80293ec: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 80293f0: 481c ldr r0, [pc, #112] ; (8029464 ) 80293f2: f09d fbe9 bl 80c6bc8 80293f6: 4603 mov r3, r0 80293f8: 2b00 cmp r3, #0 80293fa: f040 80fb bne.w 80295f4 80293fe: e00b b.n 8029418 f_close(&F); 8029400: 4818 ldr r0, [pc, #96] ; (8029464 ) 8029402: f09d fbc1 bl 80c6b88 return FR_DISK_ERR; 8029406: 2301 movs r3, #1 8029408: f000 bc33 b.w 8029c72 f_close(&F); 802940c: 4815 ldr r0, [pc, #84] ; (8029464 ) 802940e: f09d fbbb bl 80c6b88 return FR_DISK_ERR; 8029412: 2301 movs r3, #1 8029414: f000 bc2d b.w 8029c72 { IP = (uint16_t) NextIndexPoint; 8029418: 4b17 ldr r3, [pc, #92] ; (8029478 ) 802941a: 681b ldr r3, [r3, #0] 802941c: 85bb strh r3, [r7, #44] ; 0x2c sector[ePoint] = LO(IP); 802941e: 8dbb ldrh r3, [r7, #44] ; 0x2c 8029420: b2da uxtb r2, r3 8029422: 4b11 ldr r3, [pc, #68] ; (8029468 ) 8029424: 701a strb r2, [r3, #0] sector[ePoint + 1] = HI(IP); 8029426: 8dbb ldrh r3, [r7, #44] ; 0x2c 8029428: 0a1b lsrs r3, r3, #8 802942a: b29b uxth r3, r3 802942c: b2da uxtb r2, r3 802942e: 4b0e ldr r3, [pc, #56] ; (8029468 ) 8029430: 705a strb r2, [r3, #1] sector[eMeas] = LO(IM); 8029432: 8dfb ldrh r3, [r7, #46] ; 0x2e 8029434: b2da uxtb r2, r3 8029436: 4b0c ldr r3, [pc, #48] ; (8029468 ) 8029438: 709a strb r2, [r3, #2] sector[eMeas + 1] = HI(IM); 802943a: 8dfb ldrh r3, [r7, #46] ; 0x2e 802943c: 0a1b lsrs r3, r3, #8 802943e: b29b uxth r3, r3 8029440: b2da uxtb r2, r3 8029442: 4b09 ldr r3, [pc, #36] ; (8029468 ) 8029444: 70da strb r2, [r3, #3] for(i = 0; i < 4; i++) 8029446: 2300 movs r3, #0 8029448: 63bb str r3, [r7, #56] ; 0x38 802944a: e041 b.n 80294d0 802944c: 2002164c .word 0x2002164c 8029450: 20022bb8 .word 0x20022bb8 8029454: 200229b4 .word 0x200229b4 8029458: 20021d80 .word 0x20021d80 802945c: 20020ddf .word 0x20020ddf 8029460: 20020dde .word 0x20020dde 8029464: 20022e20 .word 0x20022e20 8029468: 2007c000 .word 0x2007c000 802946c: 20022310 .word 0x20022310 8029470: 080ce4cc .word 0x080ce4cc 8029474: 20022650 .word 0x20022650 8029478: 20021f9c .word 0x20021f9c { sector[eAval + i] = FileData.Aval.ch[i]; 802947c: 6bbb ldr r3, [r7, #56] ; 0x38 802947e: 3304 adds r3, #4 8029480: 499f ldr r1, [pc, #636] ; (8029700 ) 8029482: 6bba ldr r2, [r7, #56] ; 0x38 8029484: 440a add r2, r1 8029486: 7812 ldrb r2, [r2, #0] 8029488: b2d1 uxtb r1, r2 802948a: 4a9e ldr r2, [pc, #632] ; (8029704 ) 802948c: 54d1 strb r1, [r2, r3] sector[eVval + i] = FileData.Vval.ch[i]; 802948e: 6bbb ldr r3, [r7, #56] ; 0x38 8029490: 3308 adds r3, #8 8029492: 499b ldr r1, [pc, #620] ; (8029700 ) 8029494: 6bba ldr r2, [r7, #56] ; 0x38 8029496: 440a add r2, r1 8029498: 3204 adds r2, #4 802949a: 7812 ldrb r2, [r2, #0] 802949c: b2d1 uxtb r1, r2 802949e: 4a99 ldr r2, [pc, #612] ; (8029704 ) 80294a0: 54d1 strb r1, [r2, r3] sector[eSval + i] = FileData.Sval.ch[i]; 80294a2: 6bbb ldr r3, [r7, #56] ; 0x38 80294a4: 330c adds r3, #12 80294a6: 4996 ldr r1, [pc, #600] ; (8029700 ) 80294a8: 6bba ldr r2, [r7, #56] ; 0x38 80294aa: 440a add r2, r1 80294ac: 3208 adds r2, #8 80294ae: 7812 ldrb r2, [r2, #0] 80294b0: b2d1 uxtb r1, r2 80294b2: 4a94 ldr r2, [pc, #592] ; (8029704 ) 80294b4: 54d1 strb r1, [r2, r3] sector[eFval + i] = FileData.Fval.ch[i]; 80294b6: 6bbb ldr r3, [r7, #56] ; 0x38 80294b8: 3317 adds r3, #23 80294ba: 4991 ldr r1, [pc, #580] ; (8029700 ) 80294bc: 6bba ldr r2, [r7, #56] ; 0x38 80294be: 440a add r2, r1 80294c0: 320c adds r2, #12 80294c2: 7812 ldrb r2, [r2, #0] 80294c4: b2d1 uxtb r1, r2 80294c6: 4a8f ldr r2, [pc, #572] ; (8029704 ) 80294c8: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 80294ca: 6bbb ldr r3, [r7, #56] ; 0x38 80294cc: 3301 adds r3, #1 80294ce: 63bb str r3, [r7, #56] ; 0x38 80294d0: 6bbb ldr r3, [r7, #56] ; 0x38 80294d2: 2b03 cmp r3, #3 80294d4: d9d2 bls.n 802947c } sector[eAivs] = FileData.Aivs; 80294d6: 4b8a ldr r3, [pc, #552] ; (8029700 ) 80294d8: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80294dc: b2da uxtb r2, r3 80294de: 4b89 ldr r3, [pc, #548] ; (8029704 ) 80294e0: 751a strb r2, [r3, #20] sector[eVivs] = FileData.Vivs; 80294e2: 4b87 ldr r3, [pc, #540] ; (8029700 ) 80294e4: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80294e8: b2da uxtb r2, r3 80294ea: 4b86 ldr r3, [pc, #536] ; (8029704 ) 80294ec: 755a strb r2, [r3, #21] sector[eSivs] = FileData.Sivs; 80294ee: 4b84 ldr r3, [pc, #528] ; (8029700 ) 80294f0: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80294f4: b2da uxtb r2, r3 80294f6: 4b83 ldr r3, [pc, #524] ; (8029704 ) 80294f8: 759a strb r2, [r3, #22] Day = FileData.Date.Date; 80294fa: 4b81 ldr r3, [pc, #516] ; (8029700 ) 80294fc: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8029500: b2db uxtb r3, r3 8029502: 62bb str r3, [r7, #40] ; 0x28 Month = FileData.Date.Month; 8029504: 4b7e ldr r3, [pc, #504] ; (8029700 ) 8029506: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 802950a: b2db uxtb r3, r3 802950c: 627b str r3, [r7, #36] ; 0x24 Year = FileData.Date.Year + 2000; 802950e: 4b7c ldr r3, [pc, #496] ; (8029700 ) 8029510: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8029514: b2db uxtb r3, r3 8029516: f503 63fa add.w r3, r3, #2000 ; 0x7d0 802951a: 623b str r3, [r7, #32] Hour = FileData.Time.Hours; 802951c: 4b78 ldr r3, [pc, #480] ; (8029700 ) 802951e: 7c1b ldrb r3, [r3, #16] 8029520: b2db uxtb r3, r3 8029522: 61fb str r3, [r7, #28] Min = FileData.Time.Minutes; 8029524: 4b76 ldr r3, [pc, #472] ; (8029700 ) 8029526: 7c5b ldrb r3, [r3, #17] 8029528: b2db uxtb r3, r3 802952a: 61bb str r3, [r7, #24] Sec = FileData.Time.Seconds; 802952c: 4b74 ldr r3, [pc, #464] ; (8029700 ) 802952e: 7c9b ldrb r3, [r3, #18] 8029530: b2db uxtb r3, r3 8029532: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 8029534: 6a3b ldr r3, [r7, #32] 8029536: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 802953a: 065a lsls r2, r3, #25 802953c: 6a7b ldr r3, [r7, #36] ; 0x24 802953e: 055b lsls r3, r3, #21 8029540: 431a orrs r2, r3 8029542: 6abb ldr r3, [r7, #40] ; 0x28 8029544: 041b lsls r3, r3, #16 8029546: 431a orrs r2, r3 8029548: 69fb ldr r3, [r7, #28] 802954a: 02db lsls r3, r3, #11 802954c: 431a orrs r2, r3 802954e: 69bb ldr r3, [r7, #24] 8029550: 015b lsls r3, r3, #5 8029552: 431a orrs r2, r3 8029554: 697b ldr r3, [r7, #20] 8029556: 085b lsrs r3, r3, #1 8029558: 4313 orrs r3, r2 802955a: 613b str r3, [r7, #16] sector[eDateTime] = (uint8_t) (DateTime & 0xff); 802955c: 693b ldr r3, [r7, #16] 802955e: b2da uxtb r2, r3 8029560: 4b68 ldr r3, [pc, #416] ; (8029704 ) 8029562: 741a strb r2, [r3, #16] sector[eDateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 8029564: 693b ldr r3, [r7, #16] 8029566: 0a1b lsrs r3, r3, #8 8029568: b2da uxtb r2, r3 802956a: 4b66 ldr r3, [pc, #408] ; (8029704 ) 802956c: 745a strb r2, [r3, #17] sector[eDateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 802956e: 693b ldr r3, [r7, #16] 8029570: 0c1b lsrs r3, r3, #16 8029572: b2da uxtb r2, r3 8029574: 4b63 ldr r3, [pc, #396] ; (8029704 ) 8029576: 749a strb r2, [r3, #18] sector[eDateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 8029578: 693b ldr r3, [r7, #16] 802957a: 0e1b lsrs r3, r3, #24 802957c: b2da uxtb r2, r3 802957e: 4b61 ldr r3, [pc, #388] ; (8029704 ) 8029580: 74da strb r2, [r3, #19] sector[e13] = 0xD; 8029582: 4b60 ldr r3, [pc, #384] ; (8029704 ) 8029584: 220d movs r2, #13 8029586: 76da strb r2, [r3, #27] sector[e10] = 0xA; 8029588: 4b5e ldr r3, [pc, #376] ; (8029704 ) 802958a: 220a movs r2, #10 802958c: 771a strb r2, [r3, #28] res = f_write(&F, sector, 29, &fk); 802958e: f107 030c add.w r3, r7, #12 8029592: 221d movs r2, #29 8029594: 495b ldr r1, [pc, #364] ; (8029704 ) 8029596: 485c ldr r0, [pc, #368] ; (8029708 ) 8029598: f09d f852 bl 80c6640 802959c: 4603 mov r3, r0 802959e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 80295a2: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80295a6: 2b00 cmp r3, #0 80295a8: d11f bne.n 80295ea 80295aa: 68fb ldr r3, [r7, #12] 80295ac: 2b1d cmp r3, #29 80295ae: d11c bne.n 80295ea { f_close(&F); 80295b0: 4855 ldr r0, [pc, #340] ; (8029708 ) 80295b2: f09d fae9 bl 80c6b88 if(IndexMeas[NextIndexPoint] < 999) 80295b6: 4b55 ldr r3, [pc, #340] ; (802970c ) 80295b8: 681b ldr r3, [r3, #0] 80295ba: 4a55 ldr r2, [pc, #340] ; (8029710 ) 80295bc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80295c0: f240 32e6 movw r2, #998 ; 0x3e6 80295c4: 4293 cmp r3, r2 80295c6: d808 bhi.n 80295da IndexMeas[NextIndexPoint]++; 80295c8: 4b50 ldr r3, [pc, #320] ; (802970c ) 80295ca: 681b ldr r3, [r3, #0] 80295cc: 4a50 ldr r2, [pc, #320] ; (8029710 ) 80295ce: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80295d2: 3201 adds r2, #1 80295d4: 494e ldr r1, [pc, #312] ; (8029710 ) 80295d6: f841 2023 str.w r2, [r1, r3, lsl #2] NextIndexMeas = IndexMeas[NextIndexPoint]; 80295da: 4b4c ldr r3, [pc, #304] ; (802970c ) 80295dc: 681b ldr r3, [r3, #0] 80295de: 4a4c ldr r2, [pc, #304] ; (8029710 ) 80295e0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80295e4: 4a4b ldr r2, [pc, #300] ; (8029714 ) 80295e6: 6013 str r3, [r2, #0] 80295e8: e341 b.n 8029c6e NextIndexPoint++; else NextIndexPoint = 0;*/ } else { f_close(&F); 80295ea: 4847 ldr r0, [pc, #284] ; (8029708 ) 80295ec: f09d facc bl 80c6b88 return FR_DISK_ERR; 80295f0: 2301 movs r3, #1 80295f2: e33e b.n 8029c72 } } else { f_close(&F); 80295f4: 4844 ldr r0, [pc, #272] ; (8029708 ) 80295f6: f09d fac7 bl 80c6b88 return FR_DISK_ERR; 80295fa: 2301 movs r3, #1 80295fc: e339 b.n 8029c72 } } else if(NextIndexMeas == IndexMeas[NextIndexPoint]) 80295fe: 4b43 ldr r3, [pc, #268] ; (802970c ) 8029600: 681b ldr r3, [r3, #0] 8029602: 4a43 ldr r2, [pc, #268] ; (8029710 ) 8029604: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8029608: 4b42 ldr r3, [pc, #264] ; (8029714 ) 802960a: 681b ldr r3, [r3, #0] 802960c: 429a cmp r2, r3 802960e: f040 816f bne.w 80298f0 { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 8029612: f04f 0200 mov.w r2, #0 8029616: f04f 0300 mov.w r3, #0 802961a: 483b ldr r0, [pc, #236] ; (8029708 ) 802961c: f09d fad4 bl 80c6bc8 8029620: 4603 mov r3, r0 8029622: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8029626: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802962a: 2b00 cmp r3, #0 802962c: d163 bne.n 80296f6 { res = f_read(&F, sector, 6, &fk); 802962e: f107 030c add.w r3, r7, #12 8029632: 2206 movs r2, #6 8029634: 4933 ldr r1, [pc, #204] ; (8029704 ) 8029636: 4834 ldr r0, [pc, #208] ; (8029708 ) 8029638: f09c febf bl 80c63ba 802963c: 4603 mov r3, r0 802963e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 8029642: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029646: 2b00 cmp r3, #0 8029648: d150 bne.n 80296ec 802964a: 68fb ldr r3, [r7, #12] 802964c: 2b06 cmp r3, #6 802964e: d14d bne.n 80296ec { sector[6] = '\0'; 8029650: 4b2c ldr r3, [pc, #176] ; (8029704 ) 8029652: 2200 movs r2, #0 8029654: 719a strb r2, [r3, #6] if(!strcmp((char *) sector, "Extend")) 8029656: 4930 ldr r1, [pc, #192] ; (8029718 ) 8029658: 482a ldr r0, [pc, #168] ; (8029704 ) 802965a: f7f6 fe51 bl 8020300 802965e: 4603 mov r3, r0 8029660: 2b00 cmp r3, #0 8029662: d15d bne.n 8029720 { memcpy(sector, Comment, sizeof(Comment)); 8029664: 4b27 ldr r3, [pc, #156] ; (8029704 ) 8029666: 4a2d ldr r2, [pc, #180] ; (802971c ) 8029668: 4614 mov r4, r2 802966a: 461e mov r6, r3 802966c: f104 0e20 add.w lr, r4, #32 8029670: 4635 mov r5, r6 8029672: 4623 mov r3, r4 8029674: 6818 ldr r0, [r3, #0] 8029676: 6859 ldr r1, [r3, #4] 8029678: 689a ldr r2, [r3, #8] 802967a: 68db ldr r3, [r3, #12] 802967c: c50f stmia r5!, {r0, r1, r2, r3} 802967e: 3410 adds r4, #16 8029680: 3610 adds r6, #16 8029682: 4574 cmp r4, lr 8029684: d1f4 bne.n 8029670 8029686: 4633 mov r3, r6 8029688: 4622 mov r2, r4 802968a: 6810 ldr r0, [r2, #0] 802968c: 6851 ldr r1, [r2, #4] 802968e: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 8029690: 4b1e ldr r3, [pc, #120] ; (802970c ) 8029692: 681a ldr r2, [r3, #0] 8029694: 4613 mov r3, r2 8029696: 009b lsls r3, r3, #2 8029698: 4413 add r3, r2 802969a: 00db lsls r3, r3, #3 802969c: 3360 adds r3, #96 ; 0x60 802969e: f04f 0400 mov.w r4, #0 80296a2: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 80296a6: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 80296aa: 4817 ldr r0, [pc, #92] ; (8029708 ) 80296ac: f09d fa8c bl 80c6bc8 80296b0: 4603 mov r3, r0 80296b2: 2b00 cmp r3, #0 80296b4: d115 bne.n 80296e2 { res = f_write(&F, sector, sizeof(Comment), &fk); 80296b6: f107 030c add.w r3, r7, #12 80296ba: 2228 movs r2, #40 ; 0x28 80296bc: 4911 ldr r1, [pc, #68] ; (8029704 ) 80296be: 4812 ldr r0, [pc, #72] ; (8029708 ) 80296c0: f09c ffbe bl 80c6640 80296c4: 4603 mov r3, r0 80296c6: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 80296ca: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80296ce: 2b00 cmp r3, #0 80296d0: d102 bne.n 80296d8 80296d2: 68fb ldr r3, [r7, #12] 80296d4: 2b28 cmp r3, #40 ; 0x28 80296d6: d023 beq.n 8029720 { f_close(&F); 80296d8: 480b ldr r0, [pc, #44] ; (8029708 ) 80296da: f09d fa55 bl 80c6b88 return FR_DISK_ERR; 80296de: 2301 movs r3, #1 80296e0: e2c7 b.n 8029c72 } } else { f_close(&F); 80296e2: 4809 ldr r0, [pc, #36] ; (8029708 ) 80296e4: f09d fa50 bl 80c6b88 return FR_DISK_ERR; 80296e8: 2301 movs r3, #1 80296ea: e2c2 b.n 8029c72 } } } else { f_close(&F); 80296ec: 4806 ldr r0, [pc, #24] ; (8029708 ) 80296ee: f09d fa4b bl 80c6b88 return FR_DISK_ERR; 80296f2: 2301 movs r3, #1 80296f4: e2bd b.n 8029c72 } } else { f_close(&F); 80296f6: 4804 ldr r0, [pc, #16] ; (8029708 ) 80296f8: f09d fa46 bl 80c6b88 return FR_DISK_ERR; 80296fc: 2301 movs r3, #1 80296fe: e2b8 b.n 8029c72 8029700: 20022984 .word 0x20022984 8029704: 2007c000 .word 0x2007c000 8029708: 20022e20 .word 0x20022e20 802970c: 20021f9c .word 0x20021f9c 8029710: 20022ea0 .word 0x20022ea0 8029714: 20022310 .word 0x20022310 8029718: 080ce4cc .word 0x080ce4cc 802971c: 20022650 .word 0x20022650 if(!strcmp((char *) sector, "Extend")) 8029720: bf00 nop } /////////////////////////////////////////////////////////////////////////////// if(f_lseek(&F, f_size(&F)) == FR_OK) 8029722: 4baf ldr r3, [pc, #700] ; (80299e0 ) 8029724: e9d3 3404 ldrd r3, r4, [r3, #16] 8029728: 461a mov r2, r3 802972a: 4623 mov r3, r4 802972c: 48ac ldr r0, [pc, #688] ; (80299e0 ) 802972e: f09d fa4b bl 80c6bc8 8029732: 4603 mov r3, r0 8029734: 2b00 cmp r3, #0 8029736: f040 80d6 bne.w 80298e6 { IP = (uint16_t) NextIndexPoint; 802973a: 4baa ldr r3, [pc, #680] ; (80299e4 ) 802973c: 681b ldr r3, [r3, #0] 802973e: 85bb strh r3, [r7, #44] ; 0x2c sector[ePoint] = LO(IP); 8029740: 8dbb ldrh r3, [r7, #44] ; 0x2c 8029742: b2da uxtb r2, r3 8029744: 4ba8 ldr r3, [pc, #672] ; (80299e8 ) 8029746: 701a strb r2, [r3, #0] sector[ePoint + 1] = HI(IP); 8029748: 8dbb ldrh r3, [r7, #44] ; 0x2c 802974a: 0a1b lsrs r3, r3, #8 802974c: b29b uxth r3, r3 802974e: b2da uxtb r2, r3 8029750: 4ba5 ldr r3, [pc, #660] ; (80299e8 ) 8029752: 705a strb r2, [r3, #1] sector[eMeas] = LO(IM); 8029754: 8dfb ldrh r3, [r7, #46] ; 0x2e 8029756: b2da uxtb r2, r3 8029758: 4ba3 ldr r3, [pc, #652] ; (80299e8 ) 802975a: 709a strb r2, [r3, #2] sector[eMeas + 1] = HI(IM); 802975c: 8dfb ldrh r3, [r7, #46] ; 0x2e 802975e: 0a1b lsrs r3, r3, #8 8029760: b29b uxth r3, r3 8029762: b2da uxtb r2, r3 8029764: 4ba0 ldr r3, [pc, #640] ; (80299e8 ) 8029766: 70da strb r2, [r3, #3] for(i = 0; i < 4; i++) 8029768: 2300 movs r3, #0 802976a: 63bb str r3, [r7, #56] ; 0x38 802976c: e029 b.n 80297c2 { sector[eAval + i] = FileData.Aval.ch[i]; 802976e: 6bbb ldr r3, [r7, #56] ; 0x38 8029770: 3304 adds r3, #4 8029772: 499e ldr r1, [pc, #632] ; (80299ec ) 8029774: 6bba ldr r2, [r7, #56] ; 0x38 8029776: 440a add r2, r1 8029778: 7812 ldrb r2, [r2, #0] 802977a: b2d1 uxtb r1, r2 802977c: 4a9a ldr r2, [pc, #616] ; (80299e8 ) 802977e: 54d1 strb r1, [r2, r3] sector[eVval + i] = FileData.Vval.ch[i]; 8029780: 6bbb ldr r3, [r7, #56] ; 0x38 8029782: 3308 adds r3, #8 8029784: 4999 ldr r1, [pc, #612] ; (80299ec ) 8029786: 6bba ldr r2, [r7, #56] ; 0x38 8029788: 440a add r2, r1 802978a: 3204 adds r2, #4 802978c: 7812 ldrb r2, [r2, #0] 802978e: b2d1 uxtb r1, r2 8029790: 4a95 ldr r2, [pc, #596] ; (80299e8 ) 8029792: 54d1 strb r1, [r2, r3] sector[eSval + i] = FileData.Sval.ch[i]; 8029794: 6bbb ldr r3, [r7, #56] ; 0x38 8029796: 330c adds r3, #12 8029798: 4994 ldr r1, [pc, #592] ; (80299ec ) 802979a: 6bba ldr r2, [r7, #56] ; 0x38 802979c: 440a add r2, r1 802979e: 3208 adds r2, #8 80297a0: 7812 ldrb r2, [r2, #0] 80297a2: b2d1 uxtb r1, r2 80297a4: 4a90 ldr r2, [pc, #576] ; (80299e8 ) 80297a6: 54d1 strb r1, [r2, r3] sector[eFval + i] = FileData.Fval.ch[i]; 80297a8: 6bbb ldr r3, [r7, #56] ; 0x38 80297aa: 3317 adds r3, #23 80297ac: 498f ldr r1, [pc, #572] ; (80299ec ) 80297ae: 6bba ldr r2, [r7, #56] ; 0x38 80297b0: 440a add r2, r1 80297b2: 320c adds r2, #12 80297b4: 7812 ldrb r2, [r2, #0] 80297b6: b2d1 uxtb r1, r2 80297b8: 4a8b ldr r2, [pc, #556] ; (80299e8 ) 80297ba: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 80297bc: 6bbb ldr r3, [r7, #56] ; 0x38 80297be: 3301 adds r3, #1 80297c0: 63bb str r3, [r7, #56] ; 0x38 80297c2: 6bbb ldr r3, [r7, #56] ; 0x38 80297c4: 2b03 cmp r3, #3 80297c6: d9d2 bls.n 802976e } sector[eAivs] = FileData.Aivs; 80297c8: 4b88 ldr r3, [pc, #544] ; (80299ec ) 80297ca: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80297ce: b2da uxtb r2, r3 80297d0: 4b85 ldr r3, [pc, #532] ; (80299e8 ) 80297d2: 751a strb r2, [r3, #20] sector[eVivs] = FileData.Vivs; 80297d4: 4b85 ldr r3, [pc, #532] ; (80299ec ) 80297d6: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80297da: b2da uxtb r2, r3 80297dc: 4b82 ldr r3, [pc, #520] ; (80299e8 ) 80297de: 755a strb r2, [r3, #21] sector[eSivs] = FileData.Sivs; 80297e0: 4b82 ldr r3, [pc, #520] ; (80299ec ) 80297e2: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80297e6: b2da uxtb r2, r3 80297e8: 4b7f ldr r3, [pc, #508] ; (80299e8 ) 80297ea: 759a strb r2, [r3, #22] Day = FileData.Date.Date; 80297ec: 4b7f ldr r3, [pc, #508] ; (80299ec ) 80297ee: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 80297f2: b2db uxtb r3, r3 80297f4: 62bb str r3, [r7, #40] ; 0x28 Month = FileData.Date.Month; 80297f6: 4b7d ldr r3, [pc, #500] ; (80299ec ) 80297f8: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 80297fc: b2db uxtb r3, r3 80297fe: 627b str r3, [r7, #36] ; 0x24 Year = FileData.Date.Year + 2000; 8029800: 4b7a ldr r3, [pc, #488] ; (80299ec ) 8029802: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8029806: b2db uxtb r3, r3 8029808: f503 63fa add.w r3, r3, #2000 ; 0x7d0 802980c: 623b str r3, [r7, #32] Hour = FileData.Time.Hours; 802980e: 4b77 ldr r3, [pc, #476] ; (80299ec ) 8029810: 7c1b ldrb r3, [r3, #16] 8029812: b2db uxtb r3, r3 8029814: 61fb str r3, [r7, #28] Min = FileData.Time.Minutes; 8029816: 4b75 ldr r3, [pc, #468] ; (80299ec ) 8029818: 7c5b ldrb r3, [r3, #17] 802981a: b2db uxtb r3, r3 802981c: 61bb str r3, [r7, #24] Sec = FileData.Time.Seconds; 802981e: 4b73 ldr r3, [pc, #460] ; (80299ec ) 8029820: 7c9b ldrb r3, [r3, #18] 8029822: b2db uxtb r3, r3 8029824: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 8029826: 6a3b ldr r3, [r7, #32] 8029828: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 802982c: 065a lsls r2, r3, #25 802982e: 6a7b ldr r3, [r7, #36] ; 0x24 8029830: 055b lsls r3, r3, #21 8029832: 431a orrs r2, r3 8029834: 6abb ldr r3, [r7, #40] ; 0x28 8029836: 041b lsls r3, r3, #16 8029838: 431a orrs r2, r3 802983a: 69fb ldr r3, [r7, #28] 802983c: 02db lsls r3, r3, #11 802983e: 431a orrs r2, r3 8029840: 69bb ldr r3, [r7, #24] 8029842: 015b lsls r3, r3, #5 8029844: 431a orrs r2, r3 8029846: 697b ldr r3, [r7, #20] 8029848: 085b lsrs r3, r3, #1 802984a: 4313 orrs r3, r2 802984c: 613b str r3, [r7, #16] sector[eDateTime] = (uint8_t) (DateTime & 0xff); 802984e: 693b ldr r3, [r7, #16] 8029850: b2da uxtb r2, r3 8029852: 4b65 ldr r3, [pc, #404] ; (80299e8 ) 8029854: 741a strb r2, [r3, #16] sector[eDateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 8029856: 693b ldr r3, [r7, #16] 8029858: 0a1b lsrs r3, r3, #8 802985a: b2da uxtb r2, r3 802985c: 4b62 ldr r3, [pc, #392] ; (80299e8 ) 802985e: 745a strb r2, [r3, #17] sector[eDateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 8029860: 693b ldr r3, [r7, #16] 8029862: 0c1b lsrs r3, r3, #16 8029864: b2da uxtb r2, r3 8029866: 4b60 ldr r3, [pc, #384] ; (80299e8 ) 8029868: 749a strb r2, [r3, #18] sector[eDateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 802986a: 693b ldr r3, [r7, #16] 802986c: 0e1b lsrs r3, r3, #24 802986e: b2da uxtb r2, r3 8029870: 4b5d ldr r3, [pc, #372] ; (80299e8 ) 8029872: 74da strb r2, [r3, #19] sector[e13] = 0xD; 8029874: 4b5c ldr r3, [pc, #368] ; (80299e8 ) 8029876: 220d movs r2, #13 8029878: 76da strb r2, [r3, #27] sector[e10] = 0xA; 802987a: 4b5b ldr r3, [pc, #364] ; (80299e8 ) 802987c: 220a movs r2, #10 802987e: 771a strb r2, [r3, #28] res = f_write(&F, sector, 29, &fk); 8029880: f107 030c add.w r3, r7, #12 8029884: 221d movs r2, #29 8029886: 4958 ldr r1, [pc, #352] ; (80299e8 ) 8029888: 4855 ldr r0, [pc, #340] ; (80299e0 ) 802988a: f09c fed9 bl 80c6640 802988e: 4603 mov r3, r0 8029890: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 8029894: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029898: 2b00 cmp r3, #0 802989a: d11f bne.n 80298dc 802989c: 68fb ldr r3, [r7, #12] 802989e: 2b1d cmp r3, #29 80298a0: d11c bne.n 80298dc { f_close(&F); 80298a2: 484f ldr r0, [pc, #316] ; (80299e0 ) 80298a4: f09d f970 bl 80c6b88 if(IndexMeas[NextIndexPoint] < 999) 80298a8: 4b4e ldr r3, [pc, #312] ; (80299e4 ) 80298aa: 681b ldr r3, [r3, #0] 80298ac: 4a50 ldr r2, [pc, #320] ; (80299f0 ) 80298ae: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80298b2: f240 32e6 movw r2, #998 ; 0x3e6 80298b6: 4293 cmp r3, r2 80298b8: d808 bhi.n 80298cc IndexMeas[NextIndexPoint]++; 80298ba: 4b4a ldr r3, [pc, #296] ; (80299e4 ) 80298bc: 681b ldr r3, [r3, #0] 80298be: 4a4c ldr r2, [pc, #304] ; (80299f0 ) 80298c0: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80298c4: 3201 adds r2, #1 80298c6: 494a ldr r1, [pc, #296] ; (80299f0 ) 80298c8: f841 2023 str.w r2, [r1, r3, lsl #2] NextIndexMeas = IndexMeas[NextIndexPoint]; 80298cc: 4b45 ldr r3, [pc, #276] ; (80299e4 ) 80298ce: 681b ldr r3, [r3, #0] 80298d0: 4a47 ldr r2, [pc, #284] ; (80299f0 ) 80298d2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80298d6: 4a47 ldr r2, [pc, #284] ; (80299f4 ) 80298d8: 6013 str r3, [r2, #0] 80298da: e1c8 b.n 8029c6e NextIndexPoint++; else NextIndexPoint = 0;*/ } else { f_close(&F); 80298dc: 4840 ldr r0, [pc, #256] ; (80299e0 ) 80298de: f09d f953 bl 80c6b88 return FR_DISK_ERR; 80298e2: 2301 movs r3, #1 80298e4: e1c5 b.n 8029c72 } } else { f_close(&F); 80298e6: 483e ldr r0, [pc, #248] ; (80299e0 ) 80298e8: f09d f94e bl 80c6b88 return FR_DISK_ERR; 80298ec: 2301 movs r3, #1 80298ee: e1c0 b.n 8029c72 } } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 80298f0: f04f 0200 mov.w r2, #0 80298f4: f04f 0300 mov.w r3, #0 80298f8: 4839 ldr r0, [pc, #228] ; (80299e0 ) 80298fa: f09d f965 bl 80c6bc8 80298fe: 4603 mov r3, r0 8029900: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8029904: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029908: 2b00 cmp r3, #0 802990a: f040 8083 bne.w 8029a14 { res = f_read(&F, sector, 6, &fk); 802990e: f107 030c add.w r3, r7, #12 8029912: 2206 movs r2, #6 8029914: 4934 ldr r1, [pc, #208] ; (80299e8 ) 8029916: 4832 ldr r0, [pc, #200] ; (80299e0 ) 8029918: f09c fd4f bl 80c63ba 802991c: 4603 mov r3, r0 802991e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 8029922: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029926: 2b00 cmp r3, #0 8029928: d16f bne.n 8029a0a 802992a: 68fb ldr r3, [r7, #12] 802992c: 2b06 cmp r3, #6 802992e: d16c bne.n 8029a0a { sector[6] = '\0'; 8029930: 4b2d ldr r3, [pc, #180] ; (80299e8 ) 8029932: 2200 movs r2, #0 8029934: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 8029936: 4930 ldr r1, [pc, #192] ; (80299f8 ) 8029938: 482b ldr r0, [pc, #172] ; (80299e8 ) 802993a: f7f6 fce1 bl 8020300 802993e: 4603 mov r3, r0 8029940: 2b00 cmp r3, #0 8029942: d006 beq.n 8029952 { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 8029944: f04f 0300 mov.w r3, #0 8029948: f04f 0400 mov.w r4, #0 802994c: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 8029950: e065 b.n 8029a1e } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè memcpy(sector, Comment, sizeof(Comment)); 8029952: 4b25 ldr r3, [pc, #148] ; (80299e8 ) 8029954: 4a29 ldr r2, [pc, #164] ; (80299fc ) 8029956: 4614 mov r4, r2 8029958: 461e mov r6, r3 802995a: f104 0e20 add.w lr, r4, #32 802995e: 4635 mov r5, r6 8029960: 4623 mov r3, r4 8029962: 6818 ldr r0, [r3, #0] 8029964: 6859 ldr r1, [r3, #4] 8029966: 689a ldr r2, [r3, #8] 8029968: 68db ldr r3, [r3, #12] 802996a: c50f stmia r5!, {r0, r1, r2, r3} 802996c: 3410 adds r4, #16 802996e: 3610 adds r6, #16 8029970: 4574 cmp r4, lr 8029972: d1f4 bne.n 802995e 8029974: 4633 mov r3, r6 8029976: 4622 mov r2, r4 8029978: 6810 ldr r0, [r2, #0] 802997a: 6851 ldr r1, [r2, #4] 802997c: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 802997e: 4b19 ldr r3, [pc, #100] ; (80299e4 ) 8029980: 681a ldr r2, [r3, #0] 8029982: 4613 mov r3, r2 8029984: 009b lsls r3, r3, #2 8029986: 4413 add r3, r2 8029988: 00db lsls r3, r3, #3 802998a: 3360 adds r3, #96 ; 0x60 802998c: f04f 0400 mov.w r4, #0 8029990: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 8029994: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8029998: 4811 ldr r0, [pc, #68] ; (80299e0 ) 802999a: f09d f915 bl 80c6bc8 802999e: 4603 mov r3, r0 80299a0: 2b00 cmp r3, #0 80299a2: d12d bne.n 8029a00 { res = f_write(&F, sector, sizeof(Comment), &fk); 80299a4: f107 030c add.w r3, r7, #12 80299a8: 2228 movs r2, #40 ; 0x28 80299aa: 490f ldr r1, [pc, #60] ; (80299e8 ) 80299ac: 480c ldr r0, [pc, #48] ; (80299e0 ) 80299ae: f09c fe47 bl 80c6640 80299b2: 4603 mov r3, r0 80299b4: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 80299b8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80299bc: 2b00 cmp r3, #0 80299be: d102 bne.n 80299c6 80299c0: 68fb ldr r3, [r7, #12] 80299c2: 2b28 cmp r3, #40 ; 0x28 80299c4: d004 beq.n 80299d0 { f_close(&F); 80299c6: 4806 ldr r0, [pc, #24] ; (80299e0 ) 80299c8: f09d f8de bl 80c6b88 return FR_DISK_ERR; 80299cc: 2301 movs r3, #1 80299ce: e150 b.n 8029c72 } ifs = 96u + (NUM_POINTS * sizeof(Comment)); 80299d0: f649 43a0 movw r3, #40096 ; 0x9ca0 80299d4: f04f 0400 mov.w r4, #0 80299d8: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 80299dc: e01f b.n 8029a1e 80299de: bf00 nop 80299e0: 20022e20 .word 0x20022e20 80299e4: 20021f9c .word 0x20021f9c 80299e8: 2007c000 .word 0x2007c000 80299ec: 20022984 .word 0x20022984 80299f0: 20022ea0 .word 0x20022ea0 80299f4: 20022310 .word 0x20022310 80299f8: 080ce4cc .word 0x080ce4cc 80299fc: 20022650 .word 0x20022650 } else { f_close(&F); 8029a00: 489e ldr r0, [pc, #632] ; (8029c7c ) 8029a02: f09d f8c1 bl 80c6b88 return FR_DISK_ERR; 8029a06: 2301 movs r3, #1 8029a08: e133 b.n 8029c72 } } else { f_close(&F); 8029a0a: 489c ldr r0, [pc, #624] ; (8029c7c ) 8029a0c: f09d f8bc bl 80c6b88 return FR_DISK_ERR; 8029a10: 2301 movs r3, #1 8029a12: e12e b.n 8029c72 } } else { f_close(&F); 8029a14: 4899 ldr r0, [pc, #612] ; (8029c7c ) 8029a16: f09d f8b7 bl 80c6b88 return FR_DISK_ERR; 8029a1a: 2301 movs r3, #1 8029a1c: e129 b.n 8029c72 } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 8029a1e: e11c b.n 8029c5a { if(f_lseek(&F, ifs) == FR_OK) 8029a20: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8029a24: 4895 ldr r0, [pc, #596] ; (8029c7c ) 8029a26: f09d f8cf bl 80c6bc8 8029a2a: 4603 mov r3, r0 8029a2c: 2b00 cmp r3, #0 8029a2e: f040 810f bne.w 8029c50 { res = f_read(&F, sector, 29, &fk); 8029a32: f107 030c add.w r3, r7, #12 8029a36: 221d movs r2, #29 8029a38: 4991 ldr r1, [pc, #580] ; (8029c80 ) 8029a3a: 4890 ldr r0, [pc, #576] ; (8029c7c ) 8029a3c: f09c fcbd bl 80c63ba 8029a40: 4603 mov r3, r0 8029a42: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 8029a46: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029a4a: 2b00 cmp r3, #0 8029a4c: f040 80fb bne.w 8029c46 8029a50: 68fb ldr r3, [r7, #12] 8029a52: 2b1d cmp r3, #29 8029a54: f040 80f7 bne.w 8029c46 { if((sector[e13] == 0xD) && (sector[e10] == 0xA)) 8029a58: 4b89 ldr r3, [pc, #548] ; (8029c80 ) 8029a5a: 7edb ldrb r3, [r3, #27] 8029a5c: 2b0d cmp r3, #13 8029a5e: f040 80e4 bne.w 8029c2a 8029a62: 4b87 ldr r3, [pc, #540] ; (8029c80 ) 8029a64: 7f1b ldrb r3, [r3, #28] 8029a66: 2b0a cmp r3, #10 8029a68: f040 80df bne.w 8029c2a { IP = sector[ePoint + 1]; 8029a6c: 4b84 ldr r3, [pc, #528] ; (8029c80 ) 8029a6e: 785b ldrb r3, [r3, #1] 8029a70: 85bb strh r3, [r7, #44] ; 0x2c IP = (IP << 8) | sector[ePoint]; 8029a72: 8dbb ldrh r3, [r7, #44] ; 0x2c 8029a74: 021b lsls r3, r3, #8 8029a76: b21a sxth r2, r3 8029a78: 4b81 ldr r3, [pc, #516] ; (8029c80 ) 8029a7a: 781b ldrb r3, [r3, #0] 8029a7c: b21b sxth r3, r3 8029a7e: 4313 orrs r3, r2 8029a80: b21b sxth r3, r3 8029a82: 85bb strh r3, [r7, #44] ; 0x2c if(NextIndexPoint == IP) 8029a84: 8dba ldrh r2, [r7, #44] ; 0x2c 8029a86: 4b7f ldr r3, [pc, #508] ; (8029c84 ) 8029a88: 681b ldr r3, [r3, #0] 8029a8a: 429a cmp r2, r3 8029a8c: f040 80d2 bne.w 8029c34 { IM = sector[eMeas + 1]; 8029a90: 4b7b ldr r3, [pc, #492] ; (8029c80 ) 8029a92: 78db ldrb r3, [r3, #3] 8029a94: 85fb strh r3, [r7, #46] ; 0x2e IM = (IM << 8) | sector[eMeas]; 8029a96: 8dfb ldrh r3, [r7, #46] ; 0x2e 8029a98: 021b lsls r3, r3, #8 8029a9a: b21a sxth r2, r3 8029a9c: 4b78 ldr r3, [pc, #480] ; (8029c80 ) 8029a9e: 789b ldrb r3, [r3, #2] 8029aa0: b21b sxth r3, r3 8029aa2: 4313 orrs r3, r2 8029aa4: b21b sxth r3, r3 8029aa6: 85fb strh r3, [r7, #46] ; 0x2e if(NextIndexMeas == IM) 8029aa8: 8dfa ldrh r2, [r7, #46] ; 0x2e 8029aaa: 4b77 ldr r3, [pc, #476] ; (8029c88 ) 8029aac: 681b ldr r3, [r3, #0] 8029aae: 429a cmp r2, r3 8029ab0: f040 80c0 bne.w 8029c34 { for(i = 0; i < 4; i++) 8029ab4: 2300 movs r3, #0 8029ab6: 63bb str r3, [r7, #56] ; 0x38 8029ab8: e029 b.n 8029b0e { sector[eAval + i] = FileData.Aval.ch[i]; 8029aba: 6bbb ldr r3, [r7, #56] ; 0x38 8029abc: 3304 adds r3, #4 8029abe: 4973 ldr r1, [pc, #460] ; (8029c8c ) 8029ac0: 6bba ldr r2, [r7, #56] ; 0x38 8029ac2: 440a add r2, r1 8029ac4: 7812 ldrb r2, [r2, #0] 8029ac6: b2d1 uxtb r1, r2 8029ac8: 4a6d ldr r2, [pc, #436] ; (8029c80 ) 8029aca: 54d1 strb r1, [r2, r3] sector[eVval + i] = FileData.Vval.ch[i]; 8029acc: 6bbb ldr r3, [r7, #56] ; 0x38 8029ace: 3308 adds r3, #8 8029ad0: 496e ldr r1, [pc, #440] ; (8029c8c ) 8029ad2: 6bba ldr r2, [r7, #56] ; 0x38 8029ad4: 440a add r2, r1 8029ad6: 3204 adds r2, #4 8029ad8: 7812 ldrb r2, [r2, #0] 8029ada: b2d1 uxtb r1, r2 8029adc: 4a68 ldr r2, [pc, #416] ; (8029c80 ) 8029ade: 54d1 strb r1, [r2, r3] sector[eSval + i] = FileData.Sval.ch[i]; 8029ae0: 6bbb ldr r3, [r7, #56] ; 0x38 8029ae2: 330c adds r3, #12 8029ae4: 4969 ldr r1, [pc, #420] ; (8029c8c ) 8029ae6: 6bba ldr r2, [r7, #56] ; 0x38 8029ae8: 440a add r2, r1 8029aea: 3208 adds r2, #8 8029aec: 7812 ldrb r2, [r2, #0] 8029aee: b2d1 uxtb r1, r2 8029af0: 4a63 ldr r2, [pc, #396] ; (8029c80 ) 8029af2: 54d1 strb r1, [r2, r3] sector[eFval + i] = FileData.Fval.ch[i]; 8029af4: 6bbb ldr r3, [r7, #56] ; 0x38 8029af6: 3317 adds r3, #23 8029af8: 4964 ldr r1, [pc, #400] ; (8029c8c ) 8029afa: 6bba ldr r2, [r7, #56] ; 0x38 8029afc: 440a add r2, r1 8029afe: 320c adds r2, #12 8029b00: 7812 ldrb r2, [r2, #0] 8029b02: b2d1 uxtb r1, r2 8029b04: 4a5e ldr r2, [pc, #376] ; (8029c80 ) 8029b06: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 8029b08: 6bbb ldr r3, [r7, #56] ; 0x38 8029b0a: 3301 adds r3, #1 8029b0c: 63bb str r3, [r7, #56] ; 0x38 8029b0e: 6bbb ldr r3, [r7, #56] ; 0x38 8029b10: 2b03 cmp r3, #3 8029b12: d9d2 bls.n 8029aba } sector[eAivs] = FileData.Aivs; 8029b14: 4b5d ldr r3, [pc, #372] ; (8029c8c ) 8029b16: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8029b1a: b2da uxtb r2, r3 8029b1c: 4b58 ldr r3, [pc, #352] ; (8029c80 ) 8029b1e: 751a strb r2, [r3, #20] sector[eVivs] = FileData.Vivs; 8029b20: 4b5a ldr r3, [pc, #360] ; (8029c8c ) 8029b22: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8029b26: b2da uxtb r2, r3 8029b28: 4b55 ldr r3, [pc, #340] ; (8029c80 ) 8029b2a: 755a strb r2, [r3, #21] sector[eSivs] = FileData.Sivs; 8029b2c: 4b57 ldr r3, [pc, #348] ; (8029c8c ) 8029b2e: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8029b32: b2da uxtb r2, r3 8029b34: 4b52 ldr r3, [pc, #328] ; (8029c80 ) 8029b36: 759a strb r2, [r3, #22] Day = FileData.Date.Date; 8029b38: 4b54 ldr r3, [pc, #336] ; (8029c8c ) 8029b3a: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8029b3e: b2db uxtb r3, r3 8029b40: 62bb str r3, [r7, #40] ; 0x28 Month = FileData.Date.Month; 8029b42: 4b52 ldr r3, [pc, #328] ; (8029c8c ) 8029b44: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8029b48: b2db uxtb r3, r3 8029b4a: 627b str r3, [r7, #36] ; 0x24 Year = FileData.Date.Year + 2000; 8029b4c: 4b4f ldr r3, [pc, #316] ; (8029c8c ) 8029b4e: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8029b52: b2db uxtb r3, r3 8029b54: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8029b58: 623b str r3, [r7, #32] Hour = FileData.Time.Hours; 8029b5a: 4b4c ldr r3, [pc, #304] ; (8029c8c ) 8029b5c: 7c1b ldrb r3, [r3, #16] 8029b5e: b2db uxtb r3, r3 8029b60: 61fb str r3, [r7, #28] Min = FileData.Time.Minutes; 8029b62: 4b4a ldr r3, [pc, #296] ; (8029c8c ) 8029b64: 7c5b ldrb r3, [r3, #17] 8029b66: b2db uxtb r3, r3 8029b68: 61bb str r3, [r7, #24] Sec = FileData.Time.Seconds; 8029b6a: 4b48 ldr r3, [pc, #288] ; (8029c8c ) 8029b6c: 7c9b ldrb r3, [r3, #18] 8029b6e: b2db uxtb r3, r3 8029b70: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 8029b72: 6a3b ldr r3, [r7, #32] 8029b74: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 8029b78: 065a lsls r2, r3, #25 8029b7a: 6a7b ldr r3, [r7, #36] ; 0x24 8029b7c: 055b lsls r3, r3, #21 8029b7e: 431a orrs r2, r3 8029b80: 6abb ldr r3, [r7, #40] ; 0x28 8029b82: 041b lsls r3, r3, #16 8029b84: 431a orrs r2, r3 8029b86: 69fb ldr r3, [r7, #28] 8029b88: 02db lsls r3, r3, #11 8029b8a: 431a orrs r2, r3 8029b8c: 69bb ldr r3, [r7, #24] 8029b8e: 015b lsls r3, r3, #5 8029b90: 431a orrs r2, r3 8029b92: 697b ldr r3, [r7, #20] 8029b94: 085b lsrs r3, r3, #1 8029b96: 4313 orrs r3, r2 8029b98: 613b str r3, [r7, #16] sector[eDateTime] = (uint8_t) (DateTime & 0xff); 8029b9a: 693b ldr r3, [r7, #16] 8029b9c: b2da uxtb r2, r3 8029b9e: 4b38 ldr r3, [pc, #224] ; (8029c80 ) 8029ba0: 741a strb r2, [r3, #16] sector[eDateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 8029ba2: 693b ldr r3, [r7, #16] 8029ba4: 0a1b lsrs r3, r3, #8 8029ba6: b2da uxtb r2, r3 8029ba8: 4b35 ldr r3, [pc, #212] ; (8029c80 ) 8029baa: 745a strb r2, [r3, #17] sector[eDateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 8029bac: 693b ldr r3, [r7, #16] 8029bae: 0c1b lsrs r3, r3, #16 8029bb0: b2da uxtb r2, r3 8029bb2: 4b33 ldr r3, [pc, #204] ; (8029c80 ) 8029bb4: 749a strb r2, [r3, #18] sector[eDateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 8029bb6: 693b ldr r3, [r7, #16] 8029bb8: 0e1b lsrs r3, r3, #24 8029bba: b2da uxtb r2, r3 8029bbc: 4b30 ldr r3, [pc, #192] ; (8029c80 ) 8029bbe: 74da strb r2, [r3, #19] sector[e13] = 0xD; 8029bc0: 4b2f ldr r3, [pc, #188] ; (8029c80 ) 8029bc2: 220d movs r2, #13 8029bc4: 76da strb r2, [r3, #27] sector[e10] = 0xA; 8029bc6: 4b2e ldr r3, [pc, #184] ; (8029c80 ) 8029bc8: 220a movs r2, #10 8029bca: 771a strb r2, [r3, #28] if(f_lseek(&F, ifs) == FR_OK) 8029bcc: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8029bd0: 482a ldr r0, [pc, #168] ; (8029c7c ) 8029bd2: f09c fff9 bl 80c6bc8 8029bd6: 4603 mov r3, r0 8029bd8: 2b00 cmp r3, #0 8029bda: d121 bne.n 8029c20 { res = f_write(&F, sector, 29, &fk); 8029bdc: f107 030c add.w r3, r7, #12 8029be0: 221d movs r2, #29 8029be2: 4927 ldr r1, [pc, #156] ; (8029c80 ) 8029be4: 4825 ldr r0, [pc, #148] ; (8029c7c ) 8029be6: f09c fd2b bl 80c6640 8029bea: 4603 mov r3, r0 8029bec: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 29)) 8029bf0: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029bf4: 2b00 cmp r3, #0 8029bf6: d10e bne.n 8029c16 8029bf8: 68fb ldr r3, [r7, #12] 8029bfa: 2b1d cmp r3, #29 8029bfc: d10b bne.n 8029c16 { f_close(&F); 8029bfe: 481f ldr r0, [pc, #124] ; (8029c7c ) 8029c00: f09c ffc2 bl 80c6b88 /*if(NextIndexPoint < NUM_POINTS - 1) // TODO NextIndexPoint++; else NextIndexPoint = 0;*/ NextIndexMeas = IndexMeas[NextIndexPoint]; 8029c04: 4b1f ldr r3, [pc, #124] ; (8029c84 ) 8029c06: 681b ldr r3, [r3, #0] 8029c08: 4a21 ldr r2, [pc, #132] ; (8029c90 ) 8029c0a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8029c0e: 4a1e ldr r2, [pc, #120] ; (8029c88 ) 8029c10: 6013 str r3, [r2, #0] return FR_OK; 8029c12: 2300 movs r3, #0 8029c14: e02d b.n 8029c72 } else { f_close(&F); 8029c16: 4819 ldr r0, [pc, #100] ; (8029c7c ) 8029c18: f09c ffb6 bl 80c6b88 return FR_DISK_ERR; 8029c1c: 2301 movs r3, #1 8029c1e: e028 b.n 8029c72 } } else { f_close(&F); 8029c20: 4816 ldr r0, [pc, #88] ; (8029c7c ) 8029c22: f09c ffb1 bl 80c6b88 return FR_DISK_ERR; 8029c26: 2301 movs r3, #1 8029c28: e023 b.n 8029c72 } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 8029c2a: 4814 ldr r0, [pc, #80] ; (8029c7c ) 8029c2c: f09c ffac bl 80c6b88 return FR_INVALID_OBJECT; 8029c30: 2309 movs r3, #9 8029c32: e01e b.n 8029c72 if(NextIndexPoint == IP) 8029c34: bf00 nop } ifs += 29; 8029c36: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 8029c3a: 331d adds r3, #29 8029c3c: f144 0400 adc.w r4, r4, #0 8029c40: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 8029c44: e009 b.n 8029c5a } else { f_close(&F); 8029c46: 480d ldr r0, [pc, #52] ; (8029c7c ) 8029c48: f09c ff9e bl 80c6b88 return FR_DISK_ERR; 8029c4c: 2301 movs r3, #1 8029c4e: e010 b.n 8029c72 } } else { f_close(&F); 8029c50: 480a ldr r0, [pc, #40] ; (8029c7c ) 8029c52: f09c ff99 bl 80c6b88 return FR_DISK_ERR; 8029c56: 2301 movs r3, #1 8029c58: e00b b.n 8029c72 while(ifs < f_size(&F)) 8029c5a: 4b08 ldr r3, [pc, #32] ; (8029c7c ) 8029c5c: e9d3 3404 ldrd r3, r4, [r3, #16] 8029c60: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 8029c64: 42a2 cmp r2, r4 8029c66: bf08 it eq 8029c68: 4299 cmpeq r1, r3 8029c6a: f4ff aed9 bcc.w 8029a20 } } } } return res; 8029c6e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 8029c72: 4618 mov r0, r3 8029c74: 3744 adds r7, #68 ; 0x44 8029c76: 46bd mov sp, r7 8029c78: bdf0 pop {r4, r5, r6, r7, pc} 8029c7a: bf00 nop 8029c7c: 20022e20 .word 0x20022e20 8029c80: 2007c000 .word 0x2007c000 8029c84: 20021f9c .word 0x20021f9c 8029c88: 20022310 .word 0x20022310 8029c8c: 20022984 .word 0x20022984 8029c90: 20022ea0 .word 0x20022ea0 08029c94 : FRESULT WriteFileDGN(char* fname) { 8029c94: b5f0 push {r4, r5, r6, r7, lr} 8029c96: b091 sub sp, #68 ; 0x44 8029c98: af00 add r7, sp, #0 8029c9a: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 8029c9c: 2300 movs r3, #0 8029c9e: f887 303f strb.w r3, [r7, #63] ; 0x3f uint16_t IM, IP; UINT fk; FSIZE_t ifs; if(CardState != MSD_READY) { 8029ca2: 4b97 ldr r3, [pc, #604] ; (8029f00 ) 8029ca4: 781b ldrb r3, [r3, #0] 8029ca6: b2db uxtb r3, r3 8029ca8: 2b03 cmp r3, #3 8029caa: d002 beq.n 8029cb2 return FR_NOT_READY; 8029cac: 2303 movs r3, #3 8029cae: f000 bdb6 b.w 802a81e } if(strcmp(fname, "") == 0) { 8029cb2: 687b ldr r3, [r7, #4] 8029cb4: 781b ldrb r3, [r3, #0] 8029cb6: 2b00 cmp r3, #0 8029cb8: d102 bne.n 8029cc0 return FR_INVALID_NAME; 8029cba: 2306 movs r3, #6 8029cbc: f000 bdaf b.w 802a81e } if(res == FR_OK) 8029cc0: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029cc4: 2b00 cmp r3, #0 8029cc6: f040 85a8 bne.w 802a81a { memset(FileName, 0, sizeof(FileName)); 8029cca: 2228 movs r2, #40 ; 0x28 8029ccc: 2100 movs r1, #0 8029cce: 488d ldr r0, [pc, #564] ; (8029f04 ) 8029cd0: f0a3 f9d6 bl 80cd080 strcpy(FileName, fname); 8029cd4: 6879 ldr r1, [r7, #4] 8029cd6: 488b ldr r0, [pc, #556] ; (8029f04 ) 8029cd8: f0a3 faef bl 80cd2ba memset(PointPath, 0, sizeof(PointPath)); 8029cdc: f44f 7200 mov.w r2, #512 ; 0x200 8029ce0: 2100 movs r1, #0 8029ce2: 4889 ldr r0, [pc, #548] ; (8029f08 ) 8029ce4: f0a3 f9cc bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 8029ce8: f44f 7200 mov.w r2, #512 ; 0x200 8029cec: 2100 movs r1, #0 8029cee: 4887 ldr r0, [pc, #540] ; (8029f0c ) 8029cf0: f0a3 f9c6 bl 80cd080 SearchPath[0] = '0'; 8029cf4: 4b85 ldr r3, [pc, #532] ; (8029f0c ) 8029cf6: 2230 movs r2, #48 ; 0x30 8029cf8: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 8029cfa: 4b84 ldr r3, [pc, #528] ; (8029f0c ) 8029cfc: 223a movs r2, #58 ; 0x3a 8029cfe: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 8029d00: 4b83 ldr r3, [pc, #524] ; (8029f10 ) 8029d02: 2209 movs r2, #9 8029d04: 701a strb r2, [r3, #0] FlagReturn = false; 8029d06: 4b83 ldr r3, [pc, #524] ; (8029f14 ) 8029d08: 2200 movs r2, #0 8029d0a: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 8029d0c: 2100 movs r1, #0 8029d0e: 487f ldr r0, [pc, #508] ; (8029f0c ) 8029d10: f001 fdcc bl 802b8ac if(PointPath[0] == 0) 8029d14: 4b7c ldr r3, [pc, #496] ; (8029f08 ) 8029d16: 781b ldrb r3, [r3, #0] 8029d18: 2b00 cmp r3, #0 8029d1a: d104 bne.n 8029d26 { res = FR_NO_FILE; 8029d1c: 2304 movs r3, #4 8029d1e: f887 303f strb.w r3, [r7, #63] ; 0x3f 8029d22: f000 bd7a b.w 802a81a } else { res = f_open(&F, PointPath, FA_READ | FA_WRITE); 8029d26: 2203 movs r2, #3 8029d28: 4977 ldr r1, [pc, #476] ; (8029f08 ) 8029d2a: 487b ldr r0, [pc, #492] ; (8029f18 ) 8029d2c: f09c f8e8 bl 80c5f00 8029d30: 4603 mov r3, r0 8029d32: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 8029d36: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029d3a: 2b04 cmp r3, #4 8029d3c: d003 beq.n 8029d46 8029d3e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029d42: 2b05 cmp r3, #5 8029d44: d107 bne.n 8029d56 res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 8029d46: 221b movs r2, #27 8029d48: 496f ldr r1, [pc, #444] ; (8029f08 ) 8029d4a: 4873 ldr r0, [pc, #460] ; (8029f18 ) 8029d4c: f09c f8d8 bl 80c5f00 8029d50: 4603 mov r3, r0 8029d52: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 8029d56: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029d5a: 2b00 cmp r3, #0 8029d5c: f040 855d bne.w 802a81a { memset(sector, 0xff, sizeof(sector)); 8029d60: f44f 7200 mov.w r2, #512 ; 0x200 8029d64: 21ff movs r1, #255 ; 0xff 8029d66: 486d ldr r0, [pc, #436] ; (8029f1c ) 8029d68: f0a3 f98a bl 80cd080 IM = (uint16_t) NextIndexMeas; 8029d6c: 4b6c ldr r3, [pc, #432] ; (8029f20 ) 8029d6e: 681b ldr r3, [r3, #0] 8029d70: 85fb strh r3, [r7, #46] ; 0x2e if(f_size(&F) == 0) 8029d72: 4b69 ldr r3, [pc, #420] ; (8029f18 ) 8029d74: e9d3 3404 ldrd r3, r4, [r3, #16] 8029d78: 4323 orrs r3, r4 8029d7a: f040 81c1 bne.w 802a100 { ////////////////////// Ñîçäàåì øàïêó ôàéëà //////////////////////// memset(sector, 0, sizeof(sector)); 8029d7e: f44f 7200 mov.w r2, #512 ; 0x200 8029d82: 2100 movs r1, #0 8029d84: 4865 ldr r0, [pc, #404] ; (8029f1c ) 8029d86: f0a3 f97b bl 80cd080 strcpy((char *) sector, "Extend"); 8029d8a: 4b64 ldr r3, [pc, #400] ; (8029f1c ) 8029d8c: 4a65 ldr r2, [pc, #404] ; (8029f24 ) 8029d8e: e892 0003 ldmia.w r2, {r0, r1} 8029d92: 6018 str r0, [r3, #0] 8029d94: 3304 adds r3, #4 8029d96: 8019 strh r1, [r3, #0] 8029d98: 3302 adds r3, #2 8029d9a: 0c0a lsrs r2, r1, #16 8029d9c: 701a strb r2, [r3, #0] res = f_write(&F, sector, 96, &fk); 8029d9e: f107 030c add.w r3, r7, #12 8029da2: 2260 movs r2, #96 ; 0x60 8029da4: 495d ldr r1, [pc, #372] ; (8029f1c ) 8029da6: 485c ldr r0, [pc, #368] ; (8029f18 ) 8029da8: f09c fc4a bl 80c6640 8029dac: 4603 mov r3, r0 8029dae: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 96)) 8029db2: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029db6: 2b00 cmp r3, #0 8029db8: f040 8082 bne.w 8029ec0 8029dbc: 68fb ldr r3, [r7, #12] 8029dbe: 2b60 cmp r3, #96 ; 0x60 8029dc0: d17e bne.n 8029ec0 { memset(sector, 0, sizeof(sector)); 8029dc2: f44f 7200 mov.w r2, #512 ; 0x200 8029dc6: 2100 movs r1, #0 8029dc8: 4854 ldr r0, [pc, #336] ; (8029f1c ) 8029dca: f0a3 f959 bl 80cd080 for(i = 0; i < 8; i++) 8029dce: 2300 movs r3, #0 8029dd0: 63bb str r3, [r7, #56] ; 0x38 8029dd2: e01b b.n 8029e0c { res = f_write(&F, sector, 500, &fk); 8029dd4: f107 030c add.w r3, r7, #12 8029dd8: f44f 72fa mov.w r2, #500 ; 0x1f4 8029ddc: 494f ldr r1, [pc, #316] ; (8029f1c ) 8029dde: 484e ldr r0, [pc, #312] ; (8029f18 ) 8029de0: f09c fc2e bl 80c6640 8029de4: 4603 mov r3, r0 8029de6: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != 500)) 8029dea: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029dee: 2b00 cmp r3, #0 8029df0: d103 bne.n 8029dfa 8029df2: 68fb ldr r3, [r7, #12] 8029df4: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 8029df8: d005 beq.n 8029e06 { f_close(&F); 8029dfa: 4847 ldr r0, [pc, #284] ; (8029f18 ) 8029dfc: f09c fec4 bl 80c6b88 return FR_DISK_ERR; 8029e00: 2301 movs r3, #1 8029e02: f000 bd0c b.w 802a81e for(i = 0; i < 8; i++) 8029e06: 6bbb ldr r3, [r7, #56] ; 0x38 8029e08: 3301 adds r3, #1 8029e0a: 63bb str r3, [r7, #56] ; 0x38 8029e0c: 6bbb ldr r3, [r7, #56] ; 0x38 8029e0e: 2b07 cmp r3, #7 8029e10: d9e0 bls.n 8029dd4 } } memcpy(sector, Comment, sizeof(Comment)); 8029e12: 4b42 ldr r3, [pc, #264] ; (8029f1c ) 8029e14: 4a44 ldr r2, [pc, #272] ; (8029f28 ) 8029e16: 4614 mov r4, r2 8029e18: 461e mov r6, r3 8029e1a: f104 0e20 add.w lr, r4, #32 8029e1e: 4635 mov r5, r6 8029e20: 4623 mov r3, r4 8029e22: 6818 ldr r0, [r3, #0] 8029e24: 6859 ldr r1, [r3, #4] 8029e26: 689a ldr r2, [r3, #8] 8029e28: 68db ldr r3, [r3, #12] 8029e2a: c50f stmia r5!, {r0, r1, r2, r3} 8029e2c: 3410 adds r4, #16 8029e2e: 3610 adds r6, #16 8029e30: 4574 cmp r4, lr 8029e32: d1f4 bne.n 8029e1e 8029e34: 4633 mov r3, r6 8029e36: 4622 mov r2, r4 8029e38: 6810 ldr r0, [r2, #0] 8029e3a: 6851 ldr r1, [r2, #4] 8029e3c: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 8029e3e: 4b3b ldr r3, [pc, #236] ; (8029f2c ) 8029e40: 681a ldr r2, [r3, #0] 8029e42: 4613 mov r3, r2 8029e44: 009b lsls r3, r3, #2 8029e46: 4413 add r3, r2 8029e48: 00db lsls r3, r3, #3 8029e4a: 3360 adds r3, #96 ; 0x60 8029e4c: f04f 0400 mov.w r4, #0 8029e50: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 8029e54: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8029e58: 482f ldr r0, [pc, #188] ; (8029f18 ) 8029e5a: f09c feb5 bl 80c6bc8 8029e5e: 4603 mov r3, r0 8029e60: 2b00 cmp r3, #0 8029e62: d127 bne.n 8029eb4 { res = f_write(&F, sector, sizeof(Comment), &fk); 8029e64: f107 030c add.w r3, r7, #12 8029e68: 2228 movs r2, #40 ; 0x28 8029e6a: 492c ldr r1, [pc, #176] ; (8029f1c ) 8029e6c: 482a ldr r0, [pc, #168] ; (8029f18 ) 8029e6e: f09c fbe7 bl 80c6640 8029e72: 4603 mov r3, r0 8029e74: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 8029e78: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 8029e7c: 2b00 cmp r3, #0 8029e7e: d102 bne.n 8029e86 8029e80: 68fb ldr r3, [r7, #12] 8029e82: 2b28 cmp r3, #40 ; 0x28 8029e84: d005 beq.n 8029e92 { f_close(&F); 8029e86: 4824 ldr r0, [pc, #144] ; (8029f18 ) 8029e88: f09c fe7e bl 80c6b88 return FR_DISK_ERR; 8029e8c: 2301 movs r3, #1 8029e8e: f000 bcc6 b.w 802a81e } ifs = 96u + (NUM_POINTS * sizeof(Comment)); 8029e92: f649 43a0 movw r3, #40096 ; 0x9ca0 8029e96: f04f 0400 mov.w r4, #0 8029e9a: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 8029e9e: bf00 nop f_close(&F); return FR_DISK_ERR; } ////////////////////////////////////////////////////////////////// if(f_lseek(&F, ifs) == FR_OK) 8029ea0: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 8029ea4: 481c ldr r0, [pc, #112] ; (8029f18 ) 8029ea6: f09c fe8f bl 80c6bc8 8029eaa: 4603 mov r3, r0 8029eac: 2b00 cmp r3, #0 8029eae: f040 8122 bne.w 802a0f6 8029eb2: e00b b.n 8029ecc f_close(&F); 8029eb4: 4818 ldr r0, [pc, #96] ; (8029f18 ) 8029eb6: f09c fe67 bl 80c6b88 return FR_DISK_ERR; 8029eba: 2301 movs r3, #1 8029ebc: f000 bcaf b.w 802a81e f_close(&F); 8029ec0: 4815 ldr r0, [pc, #84] ; (8029f18 ) 8029ec2: f09c fe61 bl 80c6b88 return FR_DISK_ERR; 8029ec6: 2301 movs r3, #1 8029ec8: f000 bca9 b.w 802a81e { IP = (uint16_t) NextIndexPoint; 8029ecc: 4b17 ldr r3, [pc, #92] ; (8029f2c ) 8029ece: 681b ldr r3, [r3, #0] 8029ed0: 85bb strh r3, [r7, #44] ; 0x2c sector[d_Point] = LO(IP); 8029ed2: 8dbb ldrh r3, [r7, #44] ; 0x2c 8029ed4: b2da uxtb r2, r3 8029ed6: 4b11 ldr r3, [pc, #68] ; (8029f1c ) 8029ed8: 701a strb r2, [r3, #0] sector[d_Point + 1] = HI(IP); 8029eda: 8dbb ldrh r3, [r7, #44] ; 0x2c 8029edc: 0a1b lsrs r3, r3, #8 8029ede: b29b uxth r3, r3 8029ee0: b2da uxtb r2, r3 8029ee2: 4b0e ldr r3, [pc, #56] ; (8029f1c ) 8029ee4: 705a strb r2, [r3, #1] sector[d_Meas] = LO(IM); 8029ee6: 8dfb ldrh r3, [r7, #46] ; 0x2e 8029ee8: b2da uxtb r2, r3 8029eea: 4b0c ldr r3, [pc, #48] ; (8029f1c ) 8029eec: 709a strb r2, [r3, #2] sector[d_Meas + 1] = HI(IM); 8029eee: 8dfb ldrh r3, [r7, #46] ; 0x2e 8029ef0: 0a1b lsrs r3, r3, #8 8029ef2: b29b uxth r3, r3 8029ef4: b2da uxtb r2, r3 8029ef6: 4b09 ldr r3, [pc, #36] ; (8029f1c ) 8029ef8: 70da strb r2, [r3, #3] for(i = 0; i < 4; i++) 8029efa: 2300 movs r3, #0 8029efc: 63bb str r3, [r7, #56] ; 0x38 8029efe: e037 b.n 8029f70 8029f00: 2002164c .word 0x2002164c 8029f04: 20022bb8 .word 0x20022bb8 8029f08: 200229b4 .word 0x200229b4 8029f0c: 20021d80 .word 0x20021d80 8029f10: 20020ddf .word 0x20020ddf 8029f14: 20020dde .word 0x20020dde 8029f18: 20022e20 .word 0x20022e20 8029f1c: 2007c000 .word 0x2007c000 8029f20: 20022310 .word 0x20022310 8029f24: 080ce4cc .word 0x080ce4cc 8029f28: 20022650 .word 0x20022650 8029f2c: 20021f9c .word 0x20021f9c { sector[d_Op1_1 + i] = DiagnFileData.Op_1.ch[i]; 8029f30: 6bbb ldr r3, [r7, #56] ; 0x38 8029f32: 3304 adds r3, #4 8029f34: 49b0 ldr r1, [pc, #704] ; (802a1f8 ) 8029f36: 6bba ldr r2, [r7, #56] ; 0x38 8029f38: 440a add r2, r1 8029f3a: 7812 ldrb r2, [r2, #0] 8029f3c: b2d1 uxtb r1, r2 8029f3e: 4aaf ldr r2, [pc, #700] ; (802a1fc ) 8029f40: 54d1 strb r1, [r2, r3] sector[d_Op2_1 + i] = DiagnFileData.Op_2.ch[i]; 8029f42: 6bbb ldr r3, [r7, #56] ; 0x38 8029f44: 3308 adds r3, #8 8029f46: 49ac ldr r1, [pc, #688] ; (802a1f8 ) 8029f48: 6bba ldr r2, [r7, #56] ; 0x38 8029f4a: 440a add r2, r1 8029f4c: 3204 adds r2, #4 8029f4e: 7812 ldrb r2, [r2, #0] 8029f50: b2d1 uxtb r1, r2 8029f52: 4aaa ldr r2, [pc, #680] ; (802a1fc ) 8029f54: 54d1 strb r1, [r2, r3] sector[d_Op3_1 + i] = DiagnFileData.Op_3.ch[i]; 8029f56: 6bbb ldr r3, [r7, #56] ; 0x38 8029f58: 330c adds r3, #12 8029f5a: 49a7 ldr r1, [pc, #668] ; (802a1f8 ) 8029f5c: 6bba ldr r2, [r7, #56] ; 0x38 8029f5e: 440a add r2, r1 8029f60: 3208 adds r2, #8 8029f62: 7812 ldrb r2, [r2, #0] 8029f64: b2d1 uxtb r1, r2 8029f66: 4aa5 ldr r2, [pc, #660] ; (802a1fc ) 8029f68: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 8029f6a: 6bbb ldr r3, [r7, #56] ; 0x38 8029f6c: 3301 adds r3, #1 8029f6e: 63bb str r3, [r7, #56] ; 0x38 8029f70: 6bbb ldr r3, [r7, #56] ; 0x38 8029f72: 2b03 cmp r3, #3 8029f74: d9dc bls.n 8029f30 } sector[d_Op1_ipr] = DiagnFileData.d_Op1_ipr; 8029f76: 4ba0 ldr r3, [pc, #640] ; (802a1f8 ) 8029f78: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8029f7c: b2da uxtb r2, r3 8029f7e: 4b9f ldr r3, [pc, #636] ; (802a1fc ) 8029f80: 751a strb r2, [r3, #20] sector[d_Op2_ipr] = DiagnFileData.d_Op2_ipr; 8029f82: 4b9d ldr r3, [pc, #628] ; (802a1f8 ) 8029f84: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8029f88: b2da uxtb r2, r3 8029f8a: 4b9c ldr r3, [pc, #624] ; (802a1fc ) 8029f8c: 755a strb r2, [r3, #21] sector[d_Op3_ipr] = DiagnFileData.d_Op3_ipr; 8029f8e: 4b9a ldr r3, [pc, #616] ; (802a1f8 ) 8029f90: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8029f94: b2da uxtb r2, r3 8029f96: 4b99 ldr r3, [pc, #612] ; (802a1fc ) 8029f98: 759a strb r2, [r3, #22] sector[d_Op1_ivs] = DiagnFileData.d_Op1_ivs; 8029f9a: 4b97 ldr r3, [pc, #604] ; (802a1f8 ) 8029f9c: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8029fa0: b2da uxtb r2, r3 8029fa2: 4b96 ldr r3, [pc, #600] ; (802a1fc ) 8029fa4: 75da strb r2, [r3, #23] sector[d_Op2_ivs] = DiagnFileData.d_Op2_ivs; 8029fa6: 4b94 ldr r3, [pc, #592] ; (802a1f8 ) 8029fa8: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8029fac: b2da uxtb r2, r3 8029fae: 4b93 ldr r3, [pc, #588] ; (802a1fc ) 8029fb0: 761a strb r2, [r3, #24] sector[d_Op3_ivs] = DiagnFileData.d_Op3_ivs; 8029fb2: 4b91 ldr r3, [pc, #580] ; (802a1f8 ) 8029fb4: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8029fb8: b2da uxtb r2, r3 8029fba: 4b90 ldr r3, [pc, #576] ; (802a1fc ) 8029fbc: 765a strb r2, [r3, #25] sector[d_Op1_col] = DiagnFileData.d_Op1_Color; 8029fbe: 4b8e ldr r3, [pc, #568] ; (802a1f8 ) 8029fc0: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8029fc4: b2da uxtb r2, r3 8029fc6: 4b8d ldr r3, [pc, #564] ; (802a1fc ) 8029fc8: 769a strb r2, [r3, #26] sector[d_Op2_col] = DiagnFileData.d_Op2_Color; 8029fca: 4b8b ldr r3, [pc, #556] ; (802a1f8 ) 8029fcc: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 8029fd0: b2da uxtb r2, r3 8029fd2: 4b8a ldr r3, [pc, #552] ; (802a1fc ) 8029fd4: 76da strb r2, [r3, #27] sector[d_Op3_col] = DiagnFileData.d_Op3_Color; 8029fd6: 4b88 ldr r3, [pc, #544] ; (802a1f8 ) 8029fd8: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 8029fdc: b2da uxtb r2, r3 8029fde: 4b87 ldr r3, [pc, #540] ; (802a1fc ) 8029fe0: 771a strb r2, [r3, #28] sector[d_W] = DiagnFileData.d_Warning; 8029fe2: 4b85 ldr r3, [pc, #532] ; (802a1f8 ) 8029fe4: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 8029fe8: b2da uxtb r2, r3 8029fea: 4b84 ldr r3, [pc, #528] ; (802a1fc ) 8029fec: 775a strb r2, [r3, #29] sector[d_A] = DiagnFileData.d_Alarm; 8029fee: 4b82 ldr r3, [pc, #520] ; (802a1f8 ) 8029ff0: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 8029ff4: b2da uxtb r2, r3 8029ff6: 4b81 ldr r3, [pc, #516] ; (802a1fc ) 8029ff8: 779a strb r2, [r3, #30] Day = DiagnFileData.d_Date.Date; 8029ffa: 4b7f ldr r3, [pc, #508] ; (802a1f8 ) 8029ffc: f893 3026 ldrb.w r3, [r3, #38] ; 0x26 802a000: b2db uxtb r3, r3 802a002: 62bb str r3, [r7, #40] ; 0x28 Month = DiagnFileData.d_Date.Month; 802a004: 4b7c ldr r3, [pc, #496] ; (802a1f8 ) 802a006: f893 3025 ldrb.w r3, [r3, #37] ; 0x25 802a00a: b2db uxtb r3, r3 802a00c: 627b str r3, [r7, #36] ; 0x24 Year = DiagnFileData.d_Date.Year + 2000; 802a00e: 4b7a ldr r3, [pc, #488] ; (802a1f8 ) 802a010: f893 3027 ldrb.w r3, [r3, #39] ; 0x27 802a014: b2db uxtb r3, r3 802a016: f503 63fa add.w r3, r3, #2000 ; 0x7d0 802a01a: 623b str r3, [r7, #32] Hour = DiagnFileData.d_Time.Hours; 802a01c: 4b76 ldr r3, [pc, #472] ; (802a1f8 ) 802a01e: 7b1b ldrb r3, [r3, #12] 802a020: b2db uxtb r3, r3 802a022: 61fb str r3, [r7, #28] Min = DiagnFileData.d_Time.Minutes; 802a024: 4b74 ldr r3, [pc, #464] ; (802a1f8 ) 802a026: 7b5b ldrb r3, [r3, #13] 802a028: b2db uxtb r3, r3 802a02a: 61bb str r3, [r7, #24] Sec = DiagnFileData.d_Time.Seconds; 802a02c: 4b72 ldr r3, [pc, #456] ; (802a1f8 ) 802a02e: 7b9b ldrb r3, [r3, #14] 802a030: b2db uxtb r3, r3 802a032: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 802a034: 6a3b ldr r3, [r7, #32] 802a036: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 802a03a: 065a lsls r2, r3, #25 802a03c: 6a7b ldr r3, [r7, #36] ; 0x24 802a03e: 055b lsls r3, r3, #21 802a040: 431a orrs r2, r3 802a042: 6abb ldr r3, [r7, #40] ; 0x28 802a044: 041b lsls r3, r3, #16 802a046: 431a orrs r2, r3 802a048: 69fb ldr r3, [r7, #28] 802a04a: 02db lsls r3, r3, #11 802a04c: 431a orrs r2, r3 802a04e: 69bb ldr r3, [r7, #24] 802a050: 015b lsls r3, r3, #5 802a052: 431a orrs r2, r3 802a054: 697b ldr r3, [r7, #20] 802a056: 085b lsrs r3, r3, #1 802a058: 4313 orrs r3, r2 802a05a: 613b str r3, [r7, #16] sector[d_DateTime] = (uint8_t) (DateTime & 0xff); 802a05c: 693b ldr r3, [r7, #16] 802a05e: b2da uxtb r2, r3 802a060: 4b66 ldr r3, [pc, #408] ; (802a1fc ) 802a062: 741a strb r2, [r3, #16] sector[d_DateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 802a064: 693b ldr r3, [r7, #16] 802a066: 0a1b lsrs r3, r3, #8 802a068: b2da uxtb r2, r3 802a06a: 4b64 ldr r3, [pc, #400] ; (802a1fc ) 802a06c: 745a strb r2, [r3, #17] sector[d_DateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 802a06e: 693b ldr r3, [r7, #16] 802a070: 0c1b lsrs r3, r3, #16 802a072: b2da uxtb r2, r3 802a074: 4b61 ldr r3, [pc, #388] ; (802a1fc ) 802a076: 749a strb r2, [r3, #18] sector[d_DateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 802a078: 693b ldr r3, [r7, #16] 802a07a: 0e1b lsrs r3, r3, #24 802a07c: b2da uxtb r2, r3 802a07e: 4b5f ldr r3, [pc, #380] ; (802a1fc ) 802a080: 74da strb r2, [r3, #19] sector[d_13] = 0xD; 802a082: 4b5e ldr r3, [pc, #376] ; (802a1fc ) 802a084: 220d movs r2, #13 802a086: 77da strb r2, [r3, #31] sector[d_10] = 0xA; 802a088: 4b5c ldr r3, [pc, #368] ; (802a1fc ) 802a08a: 220a movs r2, #10 802a08c: f883 2020 strb.w r2, [r3, #32] res = f_write(&F, sector, 33, &fk); 802a090: f107 030c add.w r3, r7, #12 802a094: 2221 movs r2, #33 ; 0x21 802a096: 4959 ldr r1, [pc, #356] ; (802a1fc ) 802a098: 4859 ldr r0, [pc, #356] ; (802a200 ) 802a09a: f09c fad1 bl 80c6640 802a09e: 4603 mov r3, r0 802a0a0: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 802a0a4: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a0a8: 2b00 cmp r3, #0 802a0aa: d11f bne.n 802a0ec 802a0ac: 68fb ldr r3, [r7, #12] 802a0ae: 2b21 cmp r3, #33 ; 0x21 802a0b0: d11c bne.n 802a0ec { f_close(&F); 802a0b2: 4853 ldr r0, [pc, #332] ; (802a200 ) 802a0b4: f09c fd68 bl 80c6b88 if(IndexMeas[NextIndexPoint] < 999) 802a0b8: 4b52 ldr r3, [pc, #328] ; (802a204 ) 802a0ba: 681b ldr r3, [r3, #0] 802a0bc: 4a52 ldr r2, [pc, #328] ; (802a208 ) 802a0be: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802a0c2: f240 32e6 movw r2, #998 ; 0x3e6 802a0c6: 4293 cmp r3, r2 802a0c8: d808 bhi.n 802a0dc IndexMeas[NextIndexPoint]++; 802a0ca: 4b4e ldr r3, [pc, #312] ; (802a204 ) 802a0cc: 681b ldr r3, [r3, #0] 802a0ce: 4a4e ldr r2, [pc, #312] ; (802a208 ) 802a0d0: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802a0d4: 3201 adds r2, #1 802a0d6: 494c ldr r1, [pc, #304] ; (802a208 ) 802a0d8: f841 2023 str.w r2, [r1, r3, lsl #2] NextIndexMeas = IndexMeas[NextIndexPoint]; 802a0dc: 4b49 ldr r3, [pc, #292] ; (802a204 ) 802a0de: 681b ldr r3, [r3, #0] 802a0e0: 4a49 ldr r2, [pc, #292] ; (802a208 ) 802a0e2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802a0e6: 4a49 ldr r2, [pc, #292] ; (802a20c ) 802a0e8: 6013 str r3, [r2, #0] 802a0ea: e396 b.n 802a81a } else { f_close(&F); 802a0ec: 4844 ldr r0, [pc, #272] ; (802a200 ) 802a0ee: f09c fd4b bl 80c6b88 return FR_DISK_ERR; 802a0f2: 2301 movs r3, #1 802a0f4: e393 b.n 802a81e } } else { f_close(&F); 802a0f6: 4842 ldr r0, [pc, #264] ; (802a200 ) 802a0f8: f09c fd46 bl 80c6b88 return FR_DISK_ERR; 802a0fc: 2301 movs r3, #1 802a0fe: e38e b.n 802a81e } } else if(NextIndexMeas == IndexMeas[NextIndexPoint]) 802a100: 4b40 ldr r3, [pc, #256] ; (802a204 ) 802a102: 681b ldr r3, [r3, #0] 802a104: 4a40 ldr r2, [pc, #256] ; (802a208 ) 802a106: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802a10a: 4b40 ldr r3, [pc, #256] ; (802a20c ) 802a10c: 681b ldr r3, [r3, #0] 802a10e: 429a cmp r2, r3 802a110: f040 8196 bne.w 802a440 { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 802a114: f04f 0200 mov.w r2, #0 802a118: f04f 0300 mov.w r3, #0 802a11c: 4838 ldr r0, [pc, #224] ; (802a200 ) 802a11e: f09c fd53 bl 80c6bc8 802a122: 4603 mov r3, r0 802a124: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 802a128: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a12c: 2b00 cmp r3, #0 802a12e: d173 bne.n 802a218 { res = f_read(&F, sector, 6, &fk); 802a130: f107 030c add.w r3, r7, #12 802a134: 2206 movs r2, #6 802a136: 4931 ldr r1, [pc, #196] ; (802a1fc ) 802a138: 4831 ldr r0, [pc, #196] ; (802a200 ) 802a13a: f09c f93e bl 80c63ba 802a13e: 4603 mov r3, r0 802a140: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 802a144: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a148: 2b00 cmp r3, #0 802a14a: d150 bne.n 802a1ee 802a14c: 68fb ldr r3, [r7, #12] 802a14e: 2b06 cmp r3, #6 802a150: d14d bne.n 802a1ee { sector[6] = '\0'; 802a152: 4b2a ldr r3, [pc, #168] ; (802a1fc ) 802a154: 2200 movs r2, #0 802a156: 719a strb r2, [r3, #6] if(!strcmp((char *) sector, "Extend")) 802a158: 492d ldr r1, [pc, #180] ; (802a210 ) 802a15a: 4828 ldr r0, [pc, #160] ; (802a1fc ) 802a15c: f7f6 f8d0 bl 8020300 802a160: 4603 mov r3, r0 802a162: 2b00 cmp r3, #0 802a164: d15d bne.n 802a222 { memcpy(sector, Comment, sizeof(Comment)); 802a166: 4b25 ldr r3, [pc, #148] ; (802a1fc ) 802a168: 4a2a ldr r2, [pc, #168] ; (802a214 ) 802a16a: 4614 mov r4, r2 802a16c: 461e mov r6, r3 802a16e: f104 0e20 add.w lr, r4, #32 802a172: 4635 mov r5, r6 802a174: 4623 mov r3, r4 802a176: 6818 ldr r0, [r3, #0] 802a178: 6859 ldr r1, [r3, #4] 802a17a: 689a ldr r2, [r3, #8] 802a17c: 68db ldr r3, [r3, #12] 802a17e: c50f stmia r5!, {r0, r1, r2, r3} 802a180: 3410 adds r4, #16 802a182: 3610 adds r6, #16 802a184: 4574 cmp r4, lr 802a186: d1f4 bne.n 802a172 802a188: 4633 mov r3, r6 802a18a: 4622 mov r2, r4 802a18c: 6810 ldr r0, [r2, #0] 802a18e: 6851 ldr r1, [r2, #4] 802a190: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 802a192: 4b1c ldr r3, [pc, #112] ; (802a204 ) 802a194: 681a ldr r2, [r3, #0] 802a196: 4613 mov r3, r2 802a198: 009b lsls r3, r3, #2 802a19a: 4413 add r3, r2 802a19c: 00db lsls r3, r3, #3 802a19e: 3360 adds r3, #96 ; 0x60 802a1a0: f04f 0400 mov.w r4, #0 802a1a4: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 802a1a8: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802a1ac: 4814 ldr r0, [pc, #80] ; (802a200 ) 802a1ae: f09c fd0b bl 80c6bc8 802a1b2: 4603 mov r3, r0 802a1b4: 2b00 cmp r3, #0 802a1b6: d115 bne.n 802a1e4 { res = f_write(&F, sector, sizeof(Comment), &fk); 802a1b8: f107 030c add.w r3, r7, #12 802a1bc: 2228 movs r2, #40 ; 0x28 802a1be: 490f ldr r1, [pc, #60] ; (802a1fc ) 802a1c0: 480f ldr r0, [pc, #60] ; (802a200 ) 802a1c2: f09c fa3d bl 80c6640 802a1c6: 4603 mov r3, r0 802a1c8: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 802a1cc: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a1d0: 2b00 cmp r3, #0 802a1d2: d102 bne.n 802a1da 802a1d4: 68fb ldr r3, [r7, #12] 802a1d6: 2b28 cmp r3, #40 ; 0x28 802a1d8: d023 beq.n 802a222 { f_close(&F); 802a1da: 4809 ldr r0, [pc, #36] ; (802a200 ) 802a1dc: f09c fcd4 bl 80c6b88 return FR_DISK_ERR; 802a1e0: 2301 movs r3, #1 802a1e2: e31c b.n 802a81e } } else { f_close(&F); 802a1e4: 4806 ldr r0, [pc, #24] ; (802a200 ) 802a1e6: f09c fccf bl 80c6b88 return FR_DISK_ERR; 802a1ea: 2301 movs r3, #1 802a1ec: e317 b.n 802a81e } } } else { f_close(&F); 802a1ee: 4804 ldr r0, [pc, #16] ; (802a200 ) 802a1f0: f09c fcca bl 80c6b88 return FR_DISK_ERR; 802a1f4: 2301 movs r3, #1 802a1f6: e312 b.n 802a81e 802a1f8: 200225f4 .word 0x200225f4 802a1fc: 2007c000 .word 0x2007c000 802a200: 20022e20 .word 0x20022e20 802a204: 20021f9c .word 0x20021f9c 802a208: 20022ea0 .word 0x20022ea0 802a20c: 20022310 .word 0x20022310 802a210: 080ce4cc .word 0x080ce4cc 802a214: 20022650 .word 0x20022650 } } else { f_close(&F); 802a218: 48a1 ldr r0, [pc, #644] ; (802a4a0 ) 802a21a: f09c fcb5 bl 80c6b88 return FR_DISK_ERR; 802a21e: 2301 movs r3, #1 802a220: e2fd b.n 802a81e if(!strcmp((char *) sector, "Extend")) 802a222: bf00 nop } /////////////////////////////////////////////////////////////////////////////// if(f_lseek(&F, f_size(&F)) == FR_OK) 802a224: 4b9e ldr r3, [pc, #632] ; (802a4a0 ) 802a226: e9d3 3404 ldrd r3, r4, [r3, #16] 802a22a: 461a mov r2, r3 802a22c: 4623 mov r3, r4 802a22e: 489c ldr r0, [pc, #624] ; (802a4a0 ) 802a230: f09c fcca bl 80c6bc8 802a234: 4603 mov r3, r0 802a236: 2b00 cmp r3, #0 802a238: f040 80fd bne.w 802a436 { IP = (uint16_t) NextIndexPoint; 802a23c: 4b99 ldr r3, [pc, #612] ; (802a4a4 ) 802a23e: 681b ldr r3, [r3, #0] 802a240: 85bb strh r3, [r7, #44] ; 0x2c sector[d_Point] = LO(IP); 802a242: 8dbb ldrh r3, [r7, #44] ; 0x2c 802a244: b2da uxtb r2, r3 802a246: 4b98 ldr r3, [pc, #608] ; (802a4a8 ) 802a248: 701a strb r2, [r3, #0] sector[d_Point + 1] = HI(IP); 802a24a: 8dbb ldrh r3, [r7, #44] ; 0x2c 802a24c: 0a1b lsrs r3, r3, #8 802a24e: b29b uxth r3, r3 802a250: b2da uxtb r2, r3 802a252: 4b95 ldr r3, [pc, #596] ; (802a4a8 ) 802a254: 705a strb r2, [r3, #1] sector[d_Meas] = LO(IM); 802a256: 8dfb ldrh r3, [r7, #46] ; 0x2e 802a258: b2da uxtb r2, r3 802a25a: 4b93 ldr r3, [pc, #588] ; (802a4a8 ) 802a25c: 709a strb r2, [r3, #2] sector[d_Meas + 1] = HI(IM); 802a25e: 8dfb ldrh r3, [r7, #46] ; 0x2e 802a260: 0a1b lsrs r3, r3, #8 802a262: b29b uxth r3, r3 802a264: b2da uxtb r2, r3 802a266: 4b90 ldr r3, [pc, #576] ; (802a4a8 ) 802a268: 70da strb r2, [r3, #3] for(i = 0; i < 4; i++) 802a26a: 2300 movs r3, #0 802a26c: 63bb str r3, [r7, #56] ; 0x38 802a26e: e01f b.n 802a2b0 { sector[d_Op1_1 + i] = DiagnFileData.Op_1.ch[i]; 802a270: 6bbb ldr r3, [r7, #56] ; 0x38 802a272: 3304 adds r3, #4 802a274: 498d ldr r1, [pc, #564] ; (802a4ac ) 802a276: 6bba ldr r2, [r7, #56] ; 0x38 802a278: 440a add r2, r1 802a27a: 7812 ldrb r2, [r2, #0] 802a27c: b2d1 uxtb r1, r2 802a27e: 4a8a ldr r2, [pc, #552] ; (802a4a8 ) 802a280: 54d1 strb r1, [r2, r3] sector[d_Op2_1 + i] = DiagnFileData.Op_2.ch[i]; 802a282: 6bbb ldr r3, [r7, #56] ; 0x38 802a284: 3308 adds r3, #8 802a286: 4989 ldr r1, [pc, #548] ; (802a4ac ) 802a288: 6bba ldr r2, [r7, #56] ; 0x38 802a28a: 440a add r2, r1 802a28c: 3204 adds r2, #4 802a28e: 7812 ldrb r2, [r2, #0] 802a290: b2d1 uxtb r1, r2 802a292: 4a85 ldr r2, [pc, #532] ; (802a4a8 ) 802a294: 54d1 strb r1, [r2, r3] sector[d_Op3_1 + i] = DiagnFileData.Op_3.ch[i]; 802a296: 6bbb ldr r3, [r7, #56] ; 0x38 802a298: 330c adds r3, #12 802a29a: 4984 ldr r1, [pc, #528] ; (802a4ac ) 802a29c: 6bba ldr r2, [r7, #56] ; 0x38 802a29e: 440a add r2, r1 802a2a0: 3208 adds r2, #8 802a2a2: 7812 ldrb r2, [r2, #0] 802a2a4: b2d1 uxtb r1, r2 802a2a6: 4a80 ldr r2, [pc, #512] ; (802a4a8 ) 802a2a8: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 802a2aa: 6bbb ldr r3, [r7, #56] ; 0x38 802a2ac: 3301 adds r3, #1 802a2ae: 63bb str r3, [r7, #56] ; 0x38 802a2b0: 6bbb ldr r3, [r7, #56] ; 0x38 802a2b2: 2b03 cmp r3, #3 802a2b4: d9dc bls.n 802a270 } sector[d_Op1_ipr] = DiagnFileData.d_Op1_ipr; 802a2b6: 4b7d ldr r3, [pc, #500] ; (802a4ac ) 802a2b8: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 802a2bc: b2da uxtb r2, r3 802a2be: 4b7a ldr r3, [pc, #488] ; (802a4a8 ) 802a2c0: 751a strb r2, [r3, #20] sector[d_Op2_ipr] = DiagnFileData.d_Op2_ipr; 802a2c2: 4b7a ldr r3, [pc, #488] ; (802a4ac ) 802a2c4: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 802a2c8: b2da uxtb r2, r3 802a2ca: 4b77 ldr r3, [pc, #476] ; (802a4a8 ) 802a2cc: 755a strb r2, [r3, #21] sector[d_Op3_ipr] = DiagnFileData.d_Op3_ipr; 802a2ce: 4b77 ldr r3, [pc, #476] ; (802a4ac ) 802a2d0: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 802a2d4: b2da uxtb r2, r3 802a2d6: 4b74 ldr r3, [pc, #464] ; (802a4a8 ) 802a2d8: 759a strb r2, [r3, #22] sector[d_Op1_ivs] = DiagnFileData.d_Op1_ivs; 802a2da: 4b74 ldr r3, [pc, #464] ; (802a4ac ) 802a2dc: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 802a2e0: b2da uxtb r2, r3 802a2e2: 4b71 ldr r3, [pc, #452] ; (802a4a8 ) 802a2e4: 75da strb r2, [r3, #23] sector[d_Op2_ivs] = DiagnFileData.d_Op2_ivs; 802a2e6: 4b71 ldr r3, [pc, #452] ; (802a4ac ) 802a2e8: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 802a2ec: b2da uxtb r2, r3 802a2ee: 4b6e ldr r3, [pc, #440] ; (802a4a8 ) 802a2f0: 761a strb r2, [r3, #24] sector[d_Op3_ivs] = DiagnFileData.d_Op3_ivs; 802a2f2: 4b6e ldr r3, [pc, #440] ; (802a4ac ) 802a2f4: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 802a2f8: b2da uxtb r2, r3 802a2fa: 4b6b ldr r3, [pc, #428] ; (802a4a8 ) 802a2fc: 765a strb r2, [r3, #25] sector[d_Op1_col] = DiagnFileData.d_Op1_Color; 802a2fe: 4b6b ldr r3, [pc, #428] ; (802a4ac ) 802a300: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 802a304: b2da uxtb r2, r3 802a306: 4b68 ldr r3, [pc, #416] ; (802a4a8 ) 802a308: 769a strb r2, [r3, #26] sector[d_Op2_col] = DiagnFileData.d_Op2_Color; 802a30a: 4b68 ldr r3, [pc, #416] ; (802a4ac ) 802a30c: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 802a310: b2da uxtb r2, r3 802a312: 4b65 ldr r3, [pc, #404] ; (802a4a8 ) 802a314: 76da strb r2, [r3, #27] sector[d_Op3_col] = DiagnFileData.d_Op3_Color; 802a316: 4b65 ldr r3, [pc, #404] ; (802a4ac ) 802a318: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 802a31c: b2da uxtb r2, r3 802a31e: 4b62 ldr r3, [pc, #392] ; (802a4a8 ) 802a320: 771a strb r2, [r3, #28] sector[d_W] = DiagnFileData.d_Warning; 802a322: 4b62 ldr r3, [pc, #392] ; (802a4ac ) 802a324: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 802a328: b2da uxtb r2, r3 802a32a: 4b5f ldr r3, [pc, #380] ; (802a4a8 ) 802a32c: 775a strb r2, [r3, #29] sector[d_A] = DiagnFileData.d_Alarm; 802a32e: 4b5f ldr r3, [pc, #380] ; (802a4ac ) 802a330: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 802a334: b2da uxtb r2, r3 802a336: 4b5c ldr r3, [pc, #368] ; (802a4a8 ) 802a338: 779a strb r2, [r3, #30] Day = DiagnFileData.d_Date.Date; 802a33a: 4b5c ldr r3, [pc, #368] ; (802a4ac ) 802a33c: f893 3026 ldrb.w r3, [r3, #38] ; 0x26 802a340: b2db uxtb r3, r3 802a342: 62bb str r3, [r7, #40] ; 0x28 Month = DiagnFileData.d_Date.Month; 802a344: 4b59 ldr r3, [pc, #356] ; (802a4ac ) 802a346: f893 3025 ldrb.w r3, [r3, #37] ; 0x25 802a34a: b2db uxtb r3, r3 802a34c: 627b str r3, [r7, #36] ; 0x24 Year = DiagnFileData.d_Date.Year + 2000; 802a34e: 4b57 ldr r3, [pc, #348] ; (802a4ac ) 802a350: f893 3027 ldrb.w r3, [r3, #39] ; 0x27 802a354: b2db uxtb r3, r3 802a356: f503 63fa add.w r3, r3, #2000 ; 0x7d0 802a35a: 623b str r3, [r7, #32] Hour = DiagnFileData.d_Time.Hours; 802a35c: 4b53 ldr r3, [pc, #332] ; (802a4ac ) 802a35e: 7b1b ldrb r3, [r3, #12] 802a360: b2db uxtb r3, r3 802a362: 61fb str r3, [r7, #28] Min = DiagnFileData.d_Time.Minutes; 802a364: 4b51 ldr r3, [pc, #324] ; (802a4ac ) 802a366: 7b5b ldrb r3, [r3, #13] 802a368: b2db uxtb r3, r3 802a36a: 61bb str r3, [r7, #24] Sec = DiagnFileData.d_Time.Seconds; 802a36c: 4b4f ldr r3, [pc, #316] ; (802a4ac ) 802a36e: 7b9b ldrb r3, [r3, #14] 802a370: b2db uxtb r3, r3 802a372: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 802a374: 6a3b ldr r3, [r7, #32] 802a376: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 802a37a: 065a lsls r2, r3, #25 802a37c: 6a7b ldr r3, [r7, #36] ; 0x24 802a37e: 055b lsls r3, r3, #21 802a380: 431a orrs r2, r3 802a382: 6abb ldr r3, [r7, #40] ; 0x28 802a384: 041b lsls r3, r3, #16 802a386: 431a orrs r2, r3 802a388: 69fb ldr r3, [r7, #28] 802a38a: 02db lsls r3, r3, #11 802a38c: 431a orrs r2, r3 802a38e: 69bb ldr r3, [r7, #24] 802a390: 015b lsls r3, r3, #5 802a392: 431a orrs r2, r3 802a394: 697b ldr r3, [r7, #20] 802a396: 085b lsrs r3, r3, #1 802a398: 4313 orrs r3, r2 802a39a: 613b str r3, [r7, #16] sector[d_DateTime] = (uint8_t) (DateTime & 0xff); 802a39c: 693b ldr r3, [r7, #16] 802a39e: b2da uxtb r2, r3 802a3a0: 4b41 ldr r3, [pc, #260] ; (802a4a8 ) 802a3a2: 741a strb r2, [r3, #16] sector[d_DateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 802a3a4: 693b ldr r3, [r7, #16] 802a3a6: 0a1b lsrs r3, r3, #8 802a3a8: b2da uxtb r2, r3 802a3aa: 4b3f ldr r3, [pc, #252] ; (802a4a8 ) 802a3ac: 745a strb r2, [r3, #17] sector[d_DateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 802a3ae: 693b ldr r3, [r7, #16] 802a3b0: 0c1b lsrs r3, r3, #16 802a3b2: b2da uxtb r2, r3 802a3b4: 4b3c ldr r3, [pc, #240] ; (802a4a8 ) 802a3b6: 749a strb r2, [r3, #18] sector[d_DateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 802a3b8: 693b ldr r3, [r7, #16] 802a3ba: 0e1b lsrs r3, r3, #24 802a3bc: b2da uxtb r2, r3 802a3be: 4b3a ldr r3, [pc, #232] ; (802a4a8 ) 802a3c0: 74da strb r2, [r3, #19] sector[d_13] = 0xD; 802a3c2: 4b39 ldr r3, [pc, #228] ; (802a4a8 ) 802a3c4: 220d movs r2, #13 802a3c6: 77da strb r2, [r3, #31] sector[d_10] = 0xA; 802a3c8: 4b37 ldr r3, [pc, #220] ; (802a4a8 ) 802a3ca: 220a movs r2, #10 802a3cc: f883 2020 strb.w r2, [r3, #32] res = f_write(&F, sector, 33, &fk); 802a3d0: f107 030c add.w r3, r7, #12 802a3d4: 2221 movs r2, #33 ; 0x21 802a3d6: 4934 ldr r1, [pc, #208] ; (802a4a8 ) 802a3d8: 4831 ldr r0, [pc, #196] ; (802a4a0 ) 802a3da: f09c f931 bl 80c6640 802a3de: 4603 mov r3, r0 802a3e0: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 802a3e4: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a3e8: 2b00 cmp r3, #0 802a3ea: d11f bne.n 802a42c 802a3ec: 68fb ldr r3, [r7, #12] 802a3ee: 2b21 cmp r3, #33 ; 0x21 802a3f0: d11c bne.n 802a42c { f_close(&F); 802a3f2: 482b ldr r0, [pc, #172] ; (802a4a0 ) 802a3f4: f09c fbc8 bl 80c6b88 if(IndexMeas[NextIndexPoint] < 999) 802a3f8: 4b2a ldr r3, [pc, #168] ; (802a4a4 ) 802a3fa: 681b ldr r3, [r3, #0] 802a3fc: 4a2c ldr r2, [pc, #176] ; (802a4b0 ) 802a3fe: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802a402: f240 32e6 movw r2, #998 ; 0x3e6 802a406: 4293 cmp r3, r2 802a408: d808 bhi.n 802a41c IndexMeas[NextIndexPoint]++; 802a40a: 4b26 ldr r3, [pc, #152] ; (802a4a4 ) 802a40c: 681b ldr r3, [r3, #0] 802a40e: 4a28 ldr r2, [pc, #160] ; (802a4b0 ) 802a410: f852 2023 ldr.w r2, [r2, r3, lsl #2] 802a414: 3201 adds r2, #1 802a416: 4926 ldr r1, [pc, #152] ; (802a4b0 ) 802a418: f841 2023 str.w r2, [r1, r3, lsl #2] NextIndexMeas = IndexMeas[NextIndexPoint]; 802a41c: 4b21 ldr r3, [pc, #132] ; (802a4a4 ) 802a41e: 681b ldr r3, [r3, #0] 802a420: 4a23 ldr r2, [pc, #140] ; (802a4b0 ) 802a422: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802a426: 4a23 ldr r2, [pc, #140] ; (802a4b4 ) 802a428: 6013 str r3, [r2, #0] 802a42a: e1f6 b.n 802a81a } else { f_close(&F); 802a42c: 481c ldr r0, [pc, #112] ; (802a4a0 ) 802a42e: f09c fbab bl 80c6b88 return FR_DISK_ERR; 802a432: 2301 movs r3, #1 802a434: e1f3 b.n 802a81e } } else { f_close(&F); 802a436: 481a ldr r0, [pc, #104] ; (802a4a0 ) 802a438: f09c fba6 bl 80c6b88 return FR_DISK_ERR; 802a43c: 2301 movs r3, #1 802a43e: e1ee b.n 802a81e } } else { /////////////////////////////////////////////////////////////////////////////// res = f_lseek(&F, 0); 802a440: f04f 0200 mov.w r2, #0 802a444: f04f 0300 mov.w r3, #0 802a448: 4815 ldr r0, [pc, #84] ; (802a4a0 ) 802a44a: f09c fbbd bl 80c6bc8 802a44e: 4603 mov r3, r0 802a450: f887 303f strb.w r3, [r7, #63] ; 0x3f if(res == FR_OK) 802a454: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a458: 2b00 cmp r3, #0 802a45a: d17f bne.n 802a55c { res = f_read(&F, sector, 6, &fk); 802a45c: f107 030c add.w r3, r7, #12 802a460: 2206 movs r2, #6 802a462: 4911 ldr r1, [pc, #68] ; (802a4a8 ) 802a464: 480e ldr r0, [pc, #56] ; (802a4a0 ) 802a466: f09b ffa8 bl 80c63ba 802a46a: 4603 mov r3, r0 802a46c: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 6)) 802a470: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a474: 2b00 cmp r3, #0 802a476: d16c bne.n 802a552 802a478: 68fb ldr r3, [r7, #12] 802a47a: 2b06 cmp r3, #6 802a47c: d169 bne.n 802a552 { sector[6] = '\0'; 802a47e: 4b0a ldr r3, [pc, #40] ; (802a4a8 ) 802a480: 2200 movs r2, #0 802a482: 719a strb r2, [r3, #6] if(strcmp((char *) sector, "Extend")) 802a484: 490c ldr r1, [pc, #48] ; (802a4b8 ) 802a486: 4808 ldr r0, [pc, #32] ; (802a4a8 ) 802a488: f7f5 ff3a bl 8020300 802a48c: 4603 mov r3, r0 802a48e: 2b00 cmp r3, #0 802a490: d014 beq.n 802a4bc { //Ñòàðàÿ âåðñèÿ ôàéëà ifs = 0; 802a492: f04f 0300 mov.w r3, #0 802a496: f04f 0400 mov.w r4, #0 802a49a: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 802a49e: e062 b.n 802a566 802a4a0: 20022e20 .word 0x20022e20 802a4a4: 20021f9c .word 0x20021f9c 802a4a8: 2007c000 .word 0x2007c000 802a4ac: 200225f4 .word 0x200225f4 802a4b0: 20022ea0 .word 0x20022ea0 802a4b4: 20022310 .word 0x20022310 802a4b8: 080ce4cc .word 0x080ce4cc } else { //Ðàñøèðåííàÿ âåðñèÿ ôàéëà ñ êîììåíòàðèÿìè memcpy(sector, Comment, sizeof(Comment)); 802a4bc: 4b51 ldr r3, [pc, #324] ; (802a604 ) 802a4be: 4a52 ldr r2, [pc, #328] ; (802a608 ) 802a4c0: 4614 mov r4, r2 802a4c2: 461e mov r6, r3 802a4c4: f104 0e20 add.w lr, r4, #32 802a4c8: 4635 mov r5, r6 802a4ca: 4623 mov r3, r4 802a4cc: 6818 ldr r0, [r3, #0] 802a4ce: 6859 ldr r1, [r3, #4] 802a4d0: 689a ldr r2, [r3, #8] 802a4d2: 68db ldr r3, [r3, #12] 802a4d4: c50f stmia r5!, {r0, r1, r2, r3} 802a4d6: 3410 adds r4, #16 802a4d8: 3610 adds r6, #16 802a4da: 4574 cmp r4, lr 802a4dc: d1f4 bne.n 802a4c8 802a4de: 4633 mov r3, r6 802a4e0: 4622 mov r2, r4 802a4e2: 6810 ldr r0, [r2, #0] 802a4e4: 6851 ldr r1, [r2, #4] 802a4e6: c303 stmia r3!, {r0, r1} ifs = 96u + (NextIndexPoint * sizeof(Comment)); 802a4e8: 4b48 ldr r3, [pc, #288] ; (802a60c ) 802a4ea: 681a ldr r2, [r3, #0] 802a4ec: 4613 mov r3, r2 802a4ee: 009b lsls r3, r3, #2 802a4f0: 4413 add r3, r2 802a4f2: 00db lsls r3, r3, #3 802a4f4: 3360 adds r3, #96 ; 0x60 802a4f6: f04f 0400 mov.w r4, #0 802a4fa: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(f_lseek(&F, ifs) == FR_OK) 802a4fe: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802a502: 4843 ldr r0, [pc, #268] ; (802a610 ) 802a504: f09c fb60 bl 80c6bc8 802a508: 4603 mov r3, r0 802a50a: 2b00 cmp r3, #0 802a50c: d11c bne.n 802a548 { res = f_write(&F, sector, sizeof(Comment), &fk); 802a50e: f107 030c add.w r3, r7, #12 802a512: 2228 movs r2, #40 ; 0x28 802a514: 493b ldr r1, [pc, #236] ; (802a604 ) 802a516: 483e ldr r0, [pc, #248] ; (802a610 ) 802a518: f09c f892 bl 80c6640 802a51c: 4603 mov r3, r0 802a51e: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res != FR_OK) || (fk != sizeof(Comment))) 802a522: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a526: 2b00 cmp r3, #0 802a528: d102 bne.n 802a530 802a52a: 68fb ldr r3, [r7, #12] 802a52c: 2b28 cmp r3, #40 ; 0x28 802a52e: d004 beq.n 802a53a { f_close(&F); 802a530: 4837 ldr r0, [pc, #220] ; (802a610 ) 802a532: f09c fb29 bl 80c6b88 return FR_DISK_ERR; 802a536: 2301 movs r3, #1 802a538: e171 b.n 802a81e } ifs = 96u + (NUM_POINTS * sizeof(Comment)); 802a53a: f649 43a0 movw r3, #40096 ; 0x9ca0 802a53e: f04f 0400 mov.w r4, #0 802a542: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if(strcmp((char *) sector, "Extend")) 802a546: e00e b.n 802a566 } else { f_close(&F); 802a548: 4831 ldr r0, [pc, #196] ; (802a610 ) 802a54a: f09c fb1d bl 80c6b88 return FR_DISK_ERR; 802a54e: 2301 movs r3, #1 802a550: e165 b.n 802a81e } } else { f_close(&F); 802a552: 482f ldr r0, [pc, #188] ; (802a610 ) 802a554: f09c fb18 bl 80c6b88 return FR_DISK_ERR; 802a558: 2301 movs r3, #1 802a55a: e160 b.n 802a81e } } else { f_close(&F); 802a55c: 482c ldr r0, [pc, #176] ; (802a610 ) 802a55e: f09c fb13 bl 80c6b88 return FR_DISK_ERR; 802a562: 2301 movs r3, #1 802a564: e15b b.n 802a81e } /////////////////////////////////////////////////////////////////////////////// while(ifs < f_size(&F)) 802a566: e14e b.n 802a806 { if(f_lseek(&F, ifs) == FR_OK) 802a568: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802a56c: 4828 ldr r0, [pc, #160] ; (802a610 ) 802a56e: f09c fb2b bl 80c6bc8 802a572: 4603 mov r3, r0 802a574: 2b00 cmp r3, #0 802a576: f040 8141 bne.w 802a7fc { res = f_read(&F, sector, 33, &fk); 802a57a: f107 030c add.w r3, r7, #12 802a57e: 2221 movs r2, #33 ; 0x21 802a580: 4920 ldr r1, [pc, #128] ; (802a604 ) 802a582: 4823 ldr r0, [pc, #140] ; (802a610 ) 802a584: f09b ff19 bl 80c63ba 802a588: 4603 mov r3, r0 802a58a: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 802a58e: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a592: 2b00 cmp r3, #0 802a594: f040 812d bne.w 802a7f2 802a598: 68fb ldr r3, [r7, #12] 802a59a: 2b21 cmp r3, #33 ; 0x21 802a59c: f040 8129 bne.w 802a7f2 { if((sector[d_13] == 0xD) && (sector[d_10] == 0xA)) 802a5a0: 4b18 ldr r3, [pc, #96] ; (802a604 ) 802a5a2: 7fdb ldrb r3, [r3, #31] 802a5a4: 2b0d cmp r3, #13 802a5a6: f040 8116 bne.w 802a7d6 802a5aa: 4b16 ldr r3, [pc, #88] ; (802a604 ) 802a5ac: f893 3020 ldrb.w r3, [r3, #32] 802a5b0: 2b0a cmp r3, #10 802a5b2: f040 8110 bne.w 802a7d6 { IP = sector[d_Point + 1]; 802a5b6: 4b13 ldr r3, [pc, #76] ; (802a604 ) 802a5b8: 785b ldrb r3, [r3, #1] 802a5ba: 85bb strh r3, [r7, #44] ; 0x2c IP = (IP << 8) | sector[d_Point]; 802a5bc: 8dbb ldrh r3, [r7, #44] ; 0x2c 802a5be: 021b lsls r3, r3, #8 802a5c0: b21a sxth r2, r3 802a5c2: 4b10 ldr r3, [pc, #64] ; (802a604 ) 802a5c4: 781b ldrb r3, [r3, #0] 802a5c6: b21b sxth r3, r3 802a5c8: 4313 orrs r3, r2 802a5ca: b21b sxth r3, r3 802a5cc: 85bb strh r3, [r7, #44] ; 0x2c if(NextIndexPoint == IP) 802a5ce: 8dba ldrh r2, [r7, #44] ; 0x2c 802a5d0: 4b0e ldr r3, [pc, #56] ; (802a60c ) 802a5d2: 681b ldr r3, [r3, #0] 802a5d4: 429a cmp r2, r3 802a5d6: f040 8103 bne.w 802a7e0 { IM = sector[d_Meas + 1]; 802a5da: 4b0a ldr r3, [pc, #40] ; (802a604 ) 802a5dc: 78db ldrb r3, [r3, #3] 802a5de: 85fb strh r3, [r7, #46] ; 0x2e IM = (IM << 8) | sector[d_Meas]; 802a5e0: 8dfb ldrh r3, [r7, #46] ; 0x2e 802a5e2: 021b lsls r3, r3, #8 802a5e4: b21a sxth r2, r3 802a5e6: 4b07 ldr r3, [pc, #28] ; (802a604 ) 802a5e8: 789b ldrb r3, [r3, #2] 802a5ea: b21b sxth r3, r3 802a5ec: 4313 orrs r3, r2 802a5ee: b21b sxth r3, r3 802a5f0: 85fb strh r3, [r7, #46] ; 0x2e if(NextIndexMeas == IM) 802a5f2: 8dfa ldrh r2, [r7, #46] ; 0x2e 802a5f4: 4b07 ldr r3, [pc, #28] ; (802a614 ) 802a5f6: 681b ldr r3, [r3, #0] 802a5f8: 429a cmp r2, r3 802a5fa: f040 80f1 bne.w 802a7e0 { for(i = 0; i < 4; i++) 802a5fe: 2300 movs r3, #0 802a600: 63bb str r3, [r7, #56] ; 0x38 802a602: e029 b.n 802a658 802a604: 2007c000 .word 0x2007c000 802a608: 20022650 .word 0x20022650 802a60c: 20021f9c .word 0x20021f9c 802a610: 20022e20 .word 0x20022e20 802a614: 20022310 .word 0x20022310 { sector[d_Op1_1 + i] = DiagnFileData.Op_1.ch[i]; 802a618: 6bbb ldr r3, [r7, #56] ; 0x38 802a61a: 3304 adds r3, #4 802a61c: 4982 ldr r1, [pc, #520] ; (802a828 ) 802a61e: 6bba ldr r2, [r7, #56] ; 0x38 802a620: 440a add r2, r1 802a622: 7812 ldrb r2, [r2, #0] 802a624: b2d1 uxtb r1, r2 802a626: 4a81 ldr r2, [pc, #516] ; (802a82c ) 802a628: 54d1 strb r1, [r2, r3] sector[d_Op2_1 + i] = DiagnFileData.Op_2.ch[i]; 802a62a: 6bbb ldr r3, [r7, #56] ; 0x38 802a62c: 3308 adds r3, #8 802a62e: 497e ldr r1, [pc, #504] ; (802a828 ) 802a630: 6bba ldr r2, [r7, #56] ; 0x38 802a632: 440a add r2, r1 802a634: 3204 adds r2, #4 802a636: 7812 ldrb r2, [r2, #0] 802a638: b2d1 uxtb r1, r2 802a63a: 4a7c ldr r2, [pc, #496] ; (802a82c ) 802a63c: 54d1 strb r1, [r2, r3] sector[d_Op3_1 + i] = DiagnFileData.Op_3.ch[i]; 802a63e: 6bbb ldr r3, [r7, #56] ; 0x38 802a640: 330c adds r3, #12 802a642: 4979 ldr r1, [pc, #484] ; (802a828 ) 802a644: 6bba ldr r2, [r7, #56] ; 0x38 802a646: 440a add r2, r1 802a648: 3208 adds r2, #8 802a64a: 7812 ldrb r2, [r2, #0] 802a64c: b2d1 uxtb r1, r2 802a64e: 4a77 ldr r2, [pc, #476] ; (802a82c ) 802a650: 54d1 strb r1, [r2, r3] for(i = 0; i < 4; i++) 802a652: 6bbb ldr r3, [r7, #56] ; 0x38 802a654: 3301 adds r3, #1 802a656: 63bb str r3, [r7, #56] ; 0x38 802a658: 6bbb ldr r3, [r7, #56] ; 0x38 802a65a: 2b03 cmp r3, #3 802a65c: d9dc bls.n 802a618 } sector[d_Op1_ipr] = DiagnFileData.d_Op1_ipr; 802a65e: 4b72 ldr r3, [pc, #456] ; (802a828 ) 802a660: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 802a664: b2da uxtb r2, r3 802a666: 4b71 ldr r3, [pc, #452] ; (802a82c ) 802a668: 751a strb r2, [r3, #20] sector[d_Op2_ipr] = DiagnFileData.d_Op2_ipr; 802a66a: 4b6f ldr r3, [pc, #444] ; (802a828 ) 802a66c: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 802a670: b2da uxtb r2, r3 802a672: 4b6e ldr r3, [pc, #440] ; (802a82c ) 802a674: 755a strb r2, [r3, #21] sector[d_Op3_ipr] = DiagnFileData.d_Op3_ipr; 802a676: 4b6c ldr r3, [pc, #432] ; (802a828 ) 802a678: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 802a67c: b2da uxtb r2, r3 802a67e: 4b6b ldr r3, [pc, #428] ; (802a82c ) 802a680: 759a strb r2, [r3, #22] sector[d_Op1_ivs] = DiagnFileData.d_Op1_ivs; 802a682: 4b69 ldr r3, [pc, #420] ; (802a828 ) 802a684: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 802a688: b2da uxtb r2, r3 802a68a: 4b68 ldr r3, [pc, #416] ; (802a82c ) 802a68c: 75da strb r2, [r3, #23] sector[d_Op2_ivs] = DiagnFileData.d_Op2_ivs; 802a68e: 4b66 ldr r3, [pc, #408] ; (802a828 ) 802a690: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 802a694: b2da uxtb r2, r3 802a696: 4b65 ldr r3, [pc, #404] ; (802a82c ) 802a698: 761a strb r2, [r3, #24] sector[d_Op3_ivs] = DiagnFileData.d_Op3_ivs; 802a69a: 4b63 ldr r3, [pc, #396] ; (802a828 ) 802a69c: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 802a6a0: b2da uxtb r2, r3 802a6a2: 4b62 ldr r3, [pc, #392] ; (802a82c ) 802a6a4: 765a strb r2, [r3, #25] sector[d_Op1_col] = DiagnFileData.d_Op1_Color; 802a6a6: 4b60 ldr r3, [pc, #384] ; (802a828 ) 802a6a8: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 802a6ac: b2da uxtb r2, r3 802a6ae: 4b5f ldr r3, [pc, #380] ; (802a82c ) 802a6b0: 769a strb r2, [r3, #26] sector[d_Op2_col] = DiagnFileData.d_Op2_Color; 802a6b2: 4b5d ldr r3, [pc, #372] ; (802a828 ) 802a6b4: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 802a6b8: b2da uxtb r2, r3 802a6ba: 4b5c ldr r3, [pc, #368] ; (802a82c ) 802a6bc: 76da strb r2, [r3, #27] sector[d_Op3_col] = DiagnFileData.d_Op3_Color; 802a6be: 4b5a ldr r3, [pc, #360] ; (802a828 ) 802a6c0: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 802a6c4: b2da uxtb r2, r3 802a6c6: 4b59 ldr r3, [pc, #356] ; (802a82c ) 802a6c8: 771a strb r2, [r3, #28] sector[d_W] = DiagnFileData.d_Warning; 802a6ca: 4b57 ldr r3, [pc, #348] ; (802a828 ) 802a6cc: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 802a6d0: b2da uxtb r2, r3 802a6d2: 4b56 ldr r3, [pc, #344] ; (802a82c ) 802a6d4: 775a strb r2, [r3, #29] sector[d_A] = DiagnFileData.d_Alarm; 802a6d6: 4b54 ldr r3, [pc, #336] ; (802a828 ) 802a6d8: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 802a6dc: b2da uxtb r2, r3 802a6de: 4b53 ldr r3, [pc, #332] ; (802a82c ) 802a6e0: 779a strb r2, [r3, #30] Day = DiagnFileData.d_Date.Date; 802a6e2: 4b51 ldr r3, [pc, #324] ; (802a828 ) 802a6e4: f893 3026 ldrb.w r3, [r3, #38] ; 0x26 802a6e8: b2db uxtb r3, r3 802a6ea: 62bb str r3, [r7, #40] ; 0x28 Month = DiagnFileData.d_Date.Month; 802a6ec: 4b4e ldr r3, [pc, #312] ; (802a828 ) 802a6ee: f893 3025 ldrb.w r3, [r3, #37] ; 0x25 802a6f2: b2db uxtb r3, r3 802a6f4: 627b str r3, [r7, #36] ; 0x24 Year = DiagnFileData.d_Date.Year + 2000; 802a6f6: 4b4c ldr r3, [pc, #304] ; (802a828 ) 802a6f8: f893 3027 ldrb.w r3, [r3, #39] ; 0x27 802a6fc: b2db uxtb r3, r3 802a6fe: f503 63fa add.w r3, r3, #2000 ; 0x7d0 802a702: 623b str r3, [r7, #32] Hour = DiagnFileData.d_Time.Hours; 802a704: 4b48 ldr r3, [pc, #288] ; (802a828 ) 802a706: 7b1b ldrb r3, [r3, #12] 802a708: b2db uxtb r3, r3 802a70a: 61fb str r3, [r7, #28] Min = DiagnFileData.d_Time.Minutes; 802a70c: 4b46 ldr r3, [pc, #280] ; (802a828 ) 802a70e: 7b5b ldrb r3, [r3, #13] 802a710: b2db uxtb r3, r3 802a712: 61bb str r3, [r7, #24] Sec = DiagnFileData.d_Time.Seconds; 802a714: 4b44 ldr r3, [pc, #272] ; (802a828 ) 802a716: 7b9b ldrb r3, [r3, #14] 802a718: b2db uxtb r3, r3 802a71a: 617b str r3, [r7, #20] DateTime = ((Year - 1980) << 25) | (Month << 21) | (Day << 16) | (Hour << 11) | (Min << 5) | (Sec >> 1); 802a71c: 6a3b ldr r3, [r7, #32] 802a71e: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 802a722: 065a lsls r2, r3, #25 802a724: 6a7b ldr r3, [r7, #36] ; 0x24 802a726: 055b lsls r3, r3, #21 802a728: 431a orrs r2, r3 802a72a: 6abb ldr r3, [r7, #40] ; 0x28 802a72c: 041b lsls r3, r3, #16 802a72e: 431a orrs r2, r3 802a730: 69fb ldr r3, [r7, #28] 802a732: 02db lsls r3, r3, #11 802a734: 431a orrs r2, r3 802a736: 69bb ldr r3, [r7, #24] 802a738: 015b lsls r3, r3, #5 802a73a: 431a orrs r2, r3 802a73c: 697b ldr r3, [r7, #20] 802a73e: 085b lsrs r3, r3, #1 802a740: 4313 orrs r3, r2 802a742: 613b str r3, [r7, #16] sector[d_DateTime] = (uint8_t) (DateTime & 0xff); 802a744: 693b ldr r3, [r7, #16] 802a746: b2da uxtb r2, r3 802a748: 4b38 ldr r3, [pc, #224] ; (802a82c ) 802a74a: 741a strb r2, [r3, #16] sector[d_DateTime + 1] = (uint8_t) ((DateTime >> 8) & 0xff); 802a74c: 693b ldr r3, [r7, #16] 802a74e: 0a1b lsrs r3, r3, #8 802a750: b2da uxtb r2, r3 802a752: 4b36 ldr r3, [pc, #216] ; (802a82c ) 802a754: 745a strb r2, [r3, #17] sector[d_DateTime + 2] = (uint8_t) ((DateTime >> 16) & 0xff); 802a756: 693b ldr r3, [r7, #16] 802a758: 0c1b lsrs r3, r3, #16 802a75a: b2da uxtb r2, r3 802a75c: 4b33 ldr r3, [pc, #204] ; (802a82c ) 802a75e: 749a strb r2, [r3, #18] sector[d_DateTime + 3] = (uint8_t) ((DateTime >> 24) & 0xff); 802a760: 693b ldr r3, [r7, #16] 802a762: 0e1b lsrs r3, r3, #24 802a764: b2da uxtb r2, r3 802a766: 4b31 ldr r3, [pc, #196] ; (802a82c ) 802a768: 74da strb r2, [r3, #19] sector[d_13] = 0xD; 802a76a: 4b30 ldr r3, [pc, #192] ; (802a82c ) 802a76c: 220d movs r2, #13 802a76e: 77da strb r2, [r3, #31] sector[d_10] = 0xA; 802a770: 4b2e ldr r3, [pc, #184] ; (802a82c ) 802a772: 220a movs r2, #10 802a774: f883 2020 strb.w r2, [r3, #32] if(f_lseek(&F, ifs) == FR_OK) 802a778: e9d7 230c ldrd r2, r3, [r7, #48] ; 0x30 802a77c: 482c ldr r0, [pc, #176] ; (802a830 ) 802a77e: f09c fa23 bl 80c6bc8 802a782: 4603 mov r3, r0 802a784: 2b00 cmp r3, #0 802a786: d121 bne.n 802a7cc { res = f_write(&F, sector, 33, &fk); 802a788: f107 030c add.w r3, r7, #12 802a78c: 2221 movs r2, #33 ; 0x21 802a78e: 4927 ldr r1, [pc, #156] ; (802a82c ) 802a790: 4827 ldr r0, [pc, #156] ; (802a830 ) 802a792: f09b ff55 bl 80c6640 802a796: 4603 mov r3, r0 802a798: f887 303f strb.w r3, [r7, #63] ; 0x3f if((res == FR_OK) && (fk == 33)) 802a79c: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 802a7a0: 2b00 cmp r3, #0 802a7a2: d10e bne.n 802a7c2 802a7a4: 68fb ldr r3, [r7, #12] 802a7a6: 2b21 cmp r3, #33 ; 0x21 802a7a8: d10b bne.n 802a7c2 { f_close(&F); 802a7aa: 4821 ldr r0, [pc, #132] ; (802a830 ) 802a7ac: f09c f9ec bl 80c6b88 NextIndexMeas = IndexMeas[NextIndexPoint]; 802a7b0: 4b20 ldr r3, [pc, #128] ; (802a834 ) 802a7b2: 681b ldr r3, [r3, #0] 802a7b4: 4a20 ldr r2, [pc, #128] ; (802a838 ) 802a7b6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 802a7ba: 4a20 ldr r2, [pc, #128] ; (802a83c ) 802a7bc: 6013 str r3, [r2, #0] return FR_OK; 802a7be: 2300 movs r3, #0 802a7c0: e02d b.n 802a81e } else { f_close(&F); 802a7c2: 481b ldr r0, [pc, #108] ; (802a830 ) 802a7c4: f09c f9e0 bl 80c6b88 return FR_DISK_ERR; 802a7c8: 2301 movs r3, #1 802a7ca: e028 b.n 802a81e } } else { f_close(&F); 802a7cc: 4818 ldr r0, [pc, #96] ; (802a830 ) 802a7ce: f09c f9db bl 80c6b88 return FR_DISK_ERR; 802a7d2: 2301 movs r3, #1 802a7d4: e023 b.n 802a81e } } else { //BAD DATA IN FILE!!!!!!!!!!!!!! f_close(&F); 802a7d6: 4816 ldr r0, [pc, #88] ; (802a830 ) 802a7d8: f09c f9d6 bl 80c6b88 return FR_INVALID_OBJECT; 802a7dc: 2309 movs r3, #9 802a7de: e01e b.n 802a81e if(NextIndexPoint == IP) 802a7e0: bf00 nop } ifs += 33; 802a7e2: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 802a7e6: 3321 adds r3, #33 ; 0x21 802a7e8: f144 0400 adc.w r4, r4, #0 802a7ec: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 802a7f0: e009 b.n 802a806 } else { f_close(&F); 802a7f2: 480f ldr r0, [pc, #60] ; (802a830 ) 802a7f4: f09c f9c8 bl 80c6b88 return FR_DISK_ERR; 802a7f8: 2301 movs r3, #1 802a7fa: e010 b.n 802a81e } } else { f_close(&F); 802a7fc: 480c ldr r0, [pc, #48] ; (802a830 ) 802a7fe: f09c f9c3 bl 80c6b88 return FR_DISK_ERR; 802a802: 2301 movs r3, #1 802a804: e00b b.n 802a81e while(ifs < f_size(&F)) 802a806: 4b0a ldr r3, [pc, #40] ; (802a830 ) 802a808: e9d3 3404 ldrd r3, r4, [r3, #16] 802a80c: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 802a810: 42a2 cmp r2, r4 802a812: bf08 it eq 802a814: 4299 cmpeq r1, r3 802a816: f4ff aea7 bcc.w 802a568 } } } } return res; 802a81a: f897 303f ldrb.w r3, [r7, #63] ; 0x3f } 802a81e: 4618 mov r0, r3 802a820: 3744 adds r7, #68 ; 0x44 802a822: 46bd mov sp, r7 802a824: bdf0 pop {r4, r5, r6, r7, pc} 802a826: bf00 nop 802a828: 200225f4 .word 0x200225f4 802a82c: 2007c000 .word 0x2007c000 802a830: 20022e20 .word 0x20022e20 802a834: 20021f9c .word 0x20021f9c 802a838: 20022ea0 .word 0x20022ea0 802a83c: 20022310 .word 0x20022310 0802a840 : FRESULT ReadNumFiles(uint8_t FileTypes, uint32_t *ReadValue) { 802a840: b580 push {r7, lr} 802a842: b084 sub sp, #16 802a844: af00 add r7, sp, #0 802a846: 4603 mov r3, r0 802a848: 6039 str r1, [r7, #0] 802a84a: 71fb strb r3, [r7, #7] FRESULT res = FR_OK; 802a84c: 2300 movs r3, #0 802a84e: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802a850: 4b36 ldr r3, [pc, #216] ; (802a92c ) 802a852: 781b ldrb r3, [r3, #0] 802a854: b2db uxtb r3, r3 802a856: 2b03 cmp r3, #3 802a858: d001 beq.n 802a85e return FR_NOT_READY; 802a85a: 2303 movs r3, #3 802a85c: e062 b.n 802a924 } if(res == FR_OK) 802a85e: 7bfb ldrb r3, [r7, #15] 802a860: 2b00 cmp r3, #0 802a862: d15e bne.n 802a922 { memset(SearchPath, 0, sizeof(SearchPath)); 802a864: f44f 7200 mov.w r2, #512 ; 0x200 802a868: 2100 movs r1, #0 802a86a: 4831 ldr r0, [pc, #196] ; (802a930 ) 802a86c: f0a2 fc08 bl 80cd080 ScanMode = FileTypes; 802a870: 4a30 ldr r2, [pc, #192] ; (802a934 ) 802a872: 79fb ldrb r3, [r7, #7] 802a874: 7013 strb r3, [r2, #0] FlagReturn = false; 802a876: 4b30 ldr r3, [pc, #192] ; (802a938 ) 802a878: 2200 movs r2, #0 802a87a: 701a strb r2, [r3, #0] if(FileTypes == GET_NUM_CSV_FILES) 802a87c: 79fb ldrb r3, [r7, #7] 802a87e: 2b05 cmp r3, #5 802a880: d008 beq.n 802a894 //strcpy(SearchPath, "0:Routes"); //FlagReturn = true; } else if(FileTypes == GET_NUM_ROUTE_FILES) 802a882: 79fb ldrb r3, [r7, #7] 802a884: 2b06 cmp r3, #6 802a886: d105 bne.n 802a894 //strcpy(SearchPath, "0:Routes/"); //if(strlen(RouteName)) //strcat(SearchPath, RouteName); //else return 0; memset((void *) &RouteMeas(0), 0, 65536u); 802a888: f44f 3280 mov.w r2, #65536 ; 0x10000 802a88c: 2100 movs r1, #0 802a88e: 482b ldr r0, [pc, #172] ; (802a93c ) 802a890: f0a2 fbf6 bl 80cd080 { //SearchPath[0] = '0'; //SearchPath[1] = ':'; } SearchPath[0] = '0'; 802a894: 4b26 ldr r3, [pc, #152] ; (802a930 ) 802a896: 2230 movs r2, #48 ; 0x30 802a898: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802a89a: 4b25 ldr r3, [pc, #148] ; (802a930 ) 802a89c: 223a movs r2, #58 ; 0x3a 802a89e: 705a strb r2, [r3, #1] ScanFiles(SearchPath, 0); 802a8a0: 2100 movs r1, #0 802a8a2: 4823 ldr r0, [pc, #140] ; (802a930 ) 802a8a4: f001 f802 bl 802b8ac memset(SearchPath, 0, sizeof(SearchPath)); 802a8a8: f44f 7200 mov.w r2, #512 ; 0x200 802a8ac: 2100 movs r1, #0 802a8ae: 4820 ldr r0, [pc, #128] ; (802a930 ) 802a8b0: f0a2 fbe6 bl 80cd080 if(FileTypes == GET_NUM_PTM_FILES) *ReadValue = tmpPTM; 802a8b4: 79fb ldrb r3, [r7, #7] 802a8b6: 2b00 cmp r3, #0 802a8b8: d104 bne.n 802a8c4 802a8ba: 4b21 ldr r3, [pc, #132] ; (802a940 ) 802a8bc: 681a ldr r2, [r3, #0] 802a8be: 683b ldr r3, [r7, #0] 802a8c0: 601a str r2, [r3, #0] 802a8c2: e02e b.n 802a922 else if(FileTypes == GET_NUM_SPEC_FILES) *ReadValue = tmpSPEC; 802a8c4: 79fb ldrb r3, [r7, #7] 802a8c6: 2b02 cmp r3, #2 802a8c8: d104 bne.n 802a8d4 802a8ca: 4b1e ldr r3, [pc, #120] ; (802a944 ) 802a8cc: 681a ldr r2, [r3, #0] 802a8ce: 683b ldr r3, [r7, #0] 802a8d0: 601a str r2, [r3, #0] 802a8d2: e026 b.n 802a922 else if(FileTypes == GET_NUM_FRAN_FILES) *ReadValue = tmpFRAN; 802a8d4: 79fb ldrb r3, [r7, #7] 802a8d6: 2b03 cmp r3, #3 802a8d8: d104 bne.n 802a8e4 802a8da: 4b1b ldr r3, [pc, #108] ; (802a948 ) 802a8dc: 681a ldr r2, [r3, #0] 802a8de: 683b ldr r3, [r7, #0] 802a8e0: 601a str r2, [r3, #0] 802a8e2: e01e b.n 802a922 else if(FileTypes == GET_NUM_GTR_FILES) *ReadValue = tmpGTR; 802a8e4: 79fb ldrb r3, [r7, #7] 802a8e6: 2b01 cmp r3, #1 802a8e8: d104 bne.n 802a8f4 802a8ea: 4b18 ldr r3, [pc, #96] ; (802a94c ) 802a8ec: 681a ldr r2, [r3, #0] 802a8ee: 683b ldr r3, [r7, #0] 802a8f0: 601a str r2, [r3, #0] 802a8f2: e016 b.n 802a922 else if(FileTypes == GET_NUM_DGN_FILES) *ReadValue = tmpDGN; 802a8f4: 79fb ldrb r3, [r7, #7] 802a8f6: 2b04 cmp r3, #4 802a8f8: d104 bne.n 802a904 802a8fa: 4b15 ldr r3, [pc, #84] ; (802a950 ) 802a8fc: 681a ldr r2, [r3, #0] 802a8fe: 683b ldr r3, [r7, #0] 802a900: 601a str r2, [r3, #0] 802a902: e00e b.n 802a922 else if(FileTypes == GET_NUM_CSV_FILES) *ReadValue = tmpCSV; 802a904: 79fb ldrb r3, [r7, #7] 802a906: 2b05 cmp r3, #5 802a908: d104 bne.n 802a914 802a90a: 4b12 ldr r3, [pc, #72] ; (802a954 ) 802a90c: 681a ldr r2, [r3, #0] 802a90e: 683b ldr r3, [r7, #0] 802a910: 601a str r2, [r3, #0] 802a912: e006 b.n 802a922 else if(FileTypes == GET_NUM_ROUTE_FILES) *ReadValue = tmpGTR; 802a914: 79fb ldrb r3, [r7, #7] 802a916: 2b06 cmp r3, #6 802a918: d103 bne.n 802a922 802a91a: 4b0c ldr r3, [pc, #48] ; (802a94c ) 802a91c: 681a ldr r2, [r3, #0] 802a91e: 683b ldr r3, [r7, #0] 802a920: 601a str r2, [r3, #0] } return res; 802a922: 7bfb ldrb r3, [r7, #15] } 802a924: 4618 mov r0, r3 802a926: 3710 adds r7, #16 802a928: 46bd mov sp, r7 802a92a: bd80 pop {r7, pc} 802a92c: 2002164c .word 0x2002164c 802a930: 20021d80 .word 0x20021d80 802a934: 20020ddf .word 0x20020ddf 802a938: 20020dde .word 0x20020dde 802a93c: 64100000 .word 0x64100000 802a940: 20020e1c .word 0x20020e1c 802a944: 20020e24 .word 0x20020e24 802a948: 20020e28 .word 0x20020e28 802a94c: 20020e2c .word 0x20020e2c 802a950: 20020e20 .word 0x20020e20 802a954: 20020e30 .word 0x20020e30 0802a958 : FRESULT ReadNumFilesPTM(uint32_t *ReadValue) { 802a958: b580 push {r7, lr} 802a95a: b082 sub sp, #8 802a95c: af00 add r7, sp, #0 802a95e: 6078 str r0, [r7, #4] *ReadValue = 0; 802a960: 687b ldr r3, [r7, #4] 802a962: 2200 movs r2, #0 802a964: 601a str r2, [r3, #0] tmpPTM = 0; 802a966: 4b06 ldr r3, [pc, #24] ; (802a980 ) 802a968: 2200 movs r2, #0 802a96a: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_PTM_FILES, ReadValue)); 802a96c: 6879 ldr r1, [r7, #4] 802a96e: 2000 movs r0, #0 802a970: f7ff ff66 bl 802a840 802a974: 4603 mov r3, r0 } 802a976: 4618 mov r0, r3 802a978: 3708 adds r7, #8 802a97a: 46bd mov sp, r7 802a97c: bd80 pop {r7, pc} 802a97e: bf00 nop 802a980: 20020e1c .word 0x20020e1c 0802a984 : FRESULT ReadNumFilesDGN(uint32_t *ReadValue) { 802a984: b580 push {r7, lr} 802a986: b082 sub sp, #8 802a988: af00 add r7, sp, #0 802a98a: 6078 str r0, [r7, #4] *ReadValue = 0; 802a98c: 687b ldr r3, [r7, #4] 802a98e: 2200 movs r2, #0 802a990: 601a str r2, [r3, #0] tmpDGN = 0; 802a992: 4b06 ldr r3, [pc, #24] ; (802a9ac ) 802a994: 2200 movs r2, #0 802a996: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_DGN_FILES, ReadValue)); 802a998: 6879 ldr r1, [r7, #4] 802a99a: 2004 movs r0, #4 802a99c: f7ff ff50 bl 802a840 802a9a0: 4603 mov r3, r0 } 802a9a2: 4618 mov r0, r3 802a9a4: 3708 adds r7, #8 802a9a6: 46bd mov sp, r7 802a9a8: bd80 pop {r7, pc} 802a9aa: bf00 nop 802a9ac: 20020e20 .word 0x20020e20 0802a9b0 : FRESULT ReadNumFilesSPEC(uint32_t *ReadValue) { 802a9b0: b580 push {r7, lr} 802a9b2: b082 sub sp, #8 802a9b4: af00 add r7, sp, #0 802a9b6: 6078 str r0, [r7, #4] *ReadValue = 0; 802a9b8: 687b ldr r3, [r7, #4] 802a9ba: 2200 movs r2, #0 802a9bc: 601a str r2, [r3, #0] tmpSPEC = 0; 802a9be: 4b06 ldr r3, [pc, #24] ; (802a9d8 ) 802a9c0: 2200 movs r2, #0 802a9c2: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_SPEC_FILES, ReadValue)); 802a9c4: 6879 ldr r1, [r7, #4] 802a9c6: 2002 movs r0, #2 802a9c8: f7ff ff3a bl 802a840 802a9cc: 4603 mov r3, r0 } 802a9ce: 4618 mov r0, r3 802a9d0: 3708 adds r7, #8 802a9d2: 46bd mov sp, r7 802a9d4: bd80 pop {r7, pc} 802a9d6: bf00 nop 802a9d8: 20020e24 .word 0x20020e24 0802a9dc : FRESULT ReadNumFilesFRAN(uint32_t *ReadValue) { 802a9dc: b580 push {r7, lr} 802a9de: b082 sub sp, #8 802a9e0: af00 add r7, sp, #0 802a9e2: 6078 str r0, [r7, #4] *ReadValue = 0; 802a9e4: 687b ldr r3, [r7, #4] 802a9e6: 2200 movs r2, #0 802a9e8: 601a str r2, [r3, #0] tmpFRAN = 0; 802a9ea: 4b06 ldr r3, [pc, #24] ; (802aa04 ) 802a9ec: 2200 movs r2, #0 802a9ee: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_FRAN_FILES, ReadValue)); 802a9f0: 6879 ldr r1, [r7, #4] 802a9f2: 2003 movs r0, #3 802a9f4: f7ff ff24 bl 802a840 802a9f8: 4603 mov r3, r0 } 802a9fa: 4618 mov r0, r3 802a9fc: 3708 adds r7, #8 802a9fe: 46bd mov sp, r7 802aa00: bd80 pop {r7, pc} 802aa02: bf00 nop 802aa04: 20020e28 .word 0x20020e28 0802aa08 : FRESULT ReadNumFilesGTR(uint32_t *ReadValue) { 802aa08: b580 push {r7, lr} 802aa0a: b082 sub sp, #8 802aa0c: af00 add r7, sp, #0 802aa0e: 6078 str r0, [r7, #4] *ReadValue = 0; 802aa10: 687b ldr r3, [r7, #4] 802aa12: 2200 movs r2, #0 802aa14: 601a str r2, [r3, #0] tmpGTR = 0; 802aa16: 4b06 ldr r3, [pc, #24] ; (802aa30 ) 802aa18: 2200 movs r2, #0 802aa1a: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_GTR_FILES, ReadValue)); 802aa1c: 6879 ldr r1, [r7, #4] 802aa1e: 2001 movs r0, #1 802aa20: f7ff ff0e bl 802a840 802aa24: 4603 mov r3, r0 } 802aa26: 4618 mov r0, r3 802aa28: 3708 adds r7, #8 802aa2a: 46bd mov sp, r7 802aa2c: bd80 pop {r7, pc} 802aa2e: bf00 nop 802aa30: 20020e2c .word 0x20020e2c 0802aa34 : tmpGTR = 0; return (ReadNumFiles(GET_NUM_GTR_FILES, ReadValue)); } FRESULT ReadNumFilesCSV(uint32_t *ReadValue) { 802aa34: b580 push {r7, lr} 802aa36: b082 sub sp, #8 802aa38: af00 add r7, sp, #0 802aa3a: 6078 str r0, [r7, #4] *ReadValue = 0; 802aa3c: 687b ldr r3, [r7, #4] 802aa3e: 2200 movs r2, #0 802aa40: 601a str r2, [r3, #0] tmpCSV = 0; 802aa42: 4b06 ldr r3, [pc, #24] ; (802aa5c ) 802aa44: 2200 movs r2, #0 802aa46: 601a str r2, [r3, #0] return (ReadNumFiles(GET_NUM_CSV_FILES, ReadValue)); 802aa48: 6879 ldr r1, [r7, #4] 802aa4a: 2005 movs r0, #5 802aa4c: f7ff fef8 bl 802a840 802aa50: 4603 mov r3, r0 } 802aa52: 4618 mov r0, r3 802aa54: 3708 adds r7, #8 802aa56: 46bd mov sp, r7 802aa58: bd80 pop {r7, pc} 802aa5a: bf00 nop 802aa5c: 20020e30 .word 0x20020e30 0802aa60 : FRESULT ReadFileList(uint8_t FileTypes, uint32_t IndexFirstFile) { 802aa60: b580 push {r7, lr} 802aa62: b084 sub sp, #16 802aa64: af00 add r7, sp, #0 802aa66: 4603 mov r3, r0 802aa68: 6039 str r1, [r7, #0] 802aa6a: 71fb strb r3, [r7, #7] FRESULT res = FR_OK; 802aa6c: 2300 movs r3, #0 802aa6e: 73fb strb r3, [r7, #15] memset((char *) &ExplorerFiles, 0, VIEW_FILES * sizeof(File_ID0)); 802aa70: f44f 7228 mov.w r2, #672 ; 0x2a0 802aa74: 2100 movs r1, #0 802aa76: 4817 ldr r0, [pc, #92] ; (802aad4 ) 802aa78: f0a2 fb02 bl 80cd080 CntMyFiles = 0; 802aa7c: 4b16 ldr r3, [pc, #88] ; (802aad8 ) 802aa7e: 2200 movs r2, #0 802aa80: 601a str r2, [r3, #0] IndxMyFiles = 0; 802aa82: 4b16 ldr r3, [pc, #88] ; (802aadc ) 802aa84: 2200 movs r2, #0 802aa86: 601a str r2, [r3, #0] if(CardState != MSD_READY) { 802aa88: 4b15 ldr r3, [pc, #84] ; (802aae0 ) 802aa8a: 781b ldrb r3, [r3, #0] 802aa8c: b2db uxtb r3, r3 802aa8e: 2b03 cmp r3, #3 802aa90: d001 beq.n 802aa96 return FR_NOT_READY; 802aa92: 2303 movs r3, #3 802aa94: e019 b.n 802aaca } if(res == FR_OK) 802aa96: 7bfb ldrb r3, [r7, #15] 802aa98: 2b00 cmp r3, #0 802aa9a: d115 bne.n 802aac8 { memset(SearchPath, 0, sizeof(SearchPath)); 802aa9c: f44f 7200 mov.w r2, #512 ; 0x200 802aaa0: 2100 movs r1, #0 802aaa2: 4810 ldr r0, [pc, #64] ; (802aae4 ) 802aaa4: f0a2 faec bl 80cd080 ScanMode = FileTypes; 802aaa8: 4a0f ldr r2, [pc, #60] ; (802aae8 ) 802aaaa: 79fb ldrb r3, [r7, #7] 802aaac: 7013 strb r3, [r2, #0] FlagReturn = false; 802aaae: 4b0f ldr r3, [pc, #60] ; (802aaec ) 802aab0: 2200 movs r2, #0 802aab2: 701a strb r2, [r3, #0] { SearchPath[0] = '0'; SearchPath[1] = ':'; }*/ SearchPath[0] = '0'; 802aab4: 4b0b ldr r3, [pc, #44] ; (802aae4 ) 802aab6: 2230 movs r2, #48 ; 0x30 802aab8: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802aaba: 4b0a ldr r3, [pc, #40] ; (802aae4 ) 802aabc: 223a movs r2, #58 ; 0x3a 802aabe: 705a strb r2, [r3, #1] ScanFiles(SearchPath, IndexFirstFile); 802aac0: 6839 ldr r1, [r7, #0] 802aac2: 4808 ldr r0, [pc, #32] ; (802aae4 ) 802aac4: f000 fef2 bl 802b8ac } return res; 802aac8: 7bfb ldrb r3, [r7, #15] } 802aaca: 4618 mov r0, r3 802aacc: 3710 adds r7, #16 802aace: 46bd mov sp, r7 802aad0: bd80 pop {r7, pc} 802aad2: bf00 nop 802aad4: 20022350 .word 0x20022350 802aad8: 20020dec .word 0x20020dec 802aadc: 20020df0 .word 0x20020df0 802aae0: 2002164c .word 0x2002164c 802aae4: 20021d80 .word 0x20021d80 802aae8: 20020ddf .word 0x20020ddf 802aaec: 20020dde .word 0x20020dde 0802aaf0 : FRESULT ReadMyFilesPTM(uint32_t IndexFirstFile) { 802aaf0: b580 push {r7, lr} 802aaf2: b082 sub sp, #8 802aaf4: af00 add r7, sp, #0 802aaf6: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_PTM_FILES, IndexFirstFile)); 802aaf8: 6879 ldr r1, [r7, #4] 802aafa: 2007 movs r0, #7 802aafc: f7ff ffb0 bl 802aa60 802ab00: 4603 mov r3, r0 } 802ab02: 4618 mov r0, r3 802ab04: 3708 adds r7, #8 802ab06: 46bd mov sp, r7 802ab08: bd80 pop {r7, pc} 0802ab0a : FRESULT ReadMyFilesDGN(uint32_t IndexFirstFile) { 802ab0a: b580 push {r7, lr} 802ab0c: b082 sub sp, #8 802ab0e: af00 add r7, sp, #0 802ab10: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_DGN_FILES, IndexFirstFile)); 802ab12: 6879 ldr r1, [r7, #4] 802ab14: 200c movs r0, #12 802ab16: f7ff ffa3 bl 802aa60 802ab1a: 4603 mov r3, r0 } 802ab1c: 4618 mov r0, r3 802ab1e: 3708 adds r7, #8 802ab20: 46bd mov sp, r7 802ab22: bd80 pop {r7, pc} 0802ab24 : FRESULT ReadMyFilesSPEC(uint32_t IndexFirstFile) { 802ab24: b580 push {r7, lr} 802ab26: b082 sub sp, #8 802ab28: af00 add r7, sp, #0 802ab2a: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_SPEC_FILES, IndexFirstFile)); 802ab2c: 6879 ldr r1, [r7, #4] 802ab2e: 200a movs r0, #10 802ab30: f7ff ff96 bl 802aa60 802ab34: 4603 mov r3, r0 } 802ab36: 4618 mov r0, r3 802ab38: 3708 adds r7, #8 802ab3a: 46bd mov sp, r7 802ab3c: bd80 pop {r7, pc} 0802ab3e : FRESULT ReadMyFilesFRAN(uint32_t IndexFirstFile) { 802ab3e: b580 push {r7, lr} 802ab40: b082 sub sp, #8 802ab42: af00 add r7, sp, #0 802ab44: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_FRAN_FILES, IndexFirstFile)); 802ab46: 6879 ldr r1, [r7, #4] 802ab48: 200b movs r0, #11 802ab4a: f7ff ff89 bl 802aa60 802ab4e: 4603 mov r3, r0 } 802ab50: 4618 mov r0, r3 802ab52: 3708 adds r7, #8 802ab54: 46bd mov sp, r7 802ab56: bd80 pop {r7, pc} 0802ab58 : FRESULT ReadMyFilesGTR(uint32_t IndexFirstFile) { 802ab58: b580 push {r7, lr} 802ab5a: b082 sub sp, #8 802ab5c: af00 add r7, sp, #0 802ab5e: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_GTR_FILES, IndexFirstFile)); 802ab60: 6879 ldr r1, [r7, #4] 802ab62: 2008 movs r0, #8 802ab64: f7ff ff7c bl 802aa60 802ab68: 4603 mov r3, r0 } 802ab6a: 4618 mov r0, r3 802ab6c: 3708 adds r7, #8 802ab6e: 46bd mov sp, r7 802ab70: bd80 pop {r7, pc} 0802ab72 : FRESULT ReadMyFilesCSV(uint32_t IndexFirstFile) { 802ab72: b580 push {r7, lr} 802ab74: b082 sub sp, #8 802ab76: af00 add r7, sp, #0 802ab78: 6078 str r0, [r7, #4] return (ReadFileList(GET_NAMES_12_CSV_FILES, IndexFirstFile)); 802ab7a: 6879 ldr r1, [r7, #4] 802ab7c: 200d movs r0, #13 802ab7e: f7ff ff6f bl 802aa60 802ab82: 4603 mov r3, r0 } 802ab84: 4618 mov r0, r3 802ab86: 3708 adds r7, #8 802ab88: 46bd mov sp, r7 802ab8a: bd80 pop {r7, pc} 0802ab8c : FRESULT CheckExistPTM(char *fname) { 802ab8c: b580 push {r7, lr} 802ab8e: b084 sub sp, #16 802ab90: af00 add r7, sp, #0 802ab92: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802ab94: 2300 movs r3, #0 802ab96: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802ab98: 4b20 ldr r3, [pc, #128] ; (802ac1c ) 802ab9a: 781b ldrb r3, [r3, #0] 802ab9c: b2db uxtb r3, r3 802ab9e: 2b03 cmp r3, #3 802aba0: d001 beq.n 802aba6 return FR_NOT_READY; 802aba2: 2303 movs r3, #3 802aba4: e036 b.n 802ac14 } VerifyFileNamePTM(fname, FileName); 802aba6: 491e ldr r1, [pc, #120] ; (802ac20 ) 802aba8: 6878 ldr r0, [r7, #4] 802abaa: f003 f861 bl 802dc70 if(*FileName == 0) { 802abae: 4b1c ldr r3, [pc, #112] ; (802ac20 ) 802abb0: 781b ldrb r3, [r3, #0] 802abb2: 2b00 cmp r3, #0 802abb4: d101 bne.n 802abba return FR_INVALID_NAME; 802abb6: 2306 movs r3, #6 802abb8: e02c b.n 802ac14 } if(res == FR_OK) 802abba: 7bfb ldrb r3, [r7, #15] 802abbc: 2b00 cmp r3, #0 802abbe: d128 bne.n 802ac12 { memset(SearchPath, 0, sizeof(SearchPath)); 802abc0: f44f 7200 mov.w r2, #512 ; 0x200 802abc4: 2100 movs r1, #0 802abc6: 4817 ldr r0, [pc, #92] ; (802ac24 ) 802abc8: f0a2 fa5a bl 80cd080 SearchPath[0] = '0'; 802abcc: 4b15 ldr r3, [pc, #84] ; (802ac24 ) 802abce: 2230 movs r2, #48 ; 0x30 802abd0: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802abd2: 4b14 ldr r3, [pc, #80] ; (802ac24 ) 802abd4: 223a movs r2, #58 ; 0x3a 802abd6: 705a strb r2, [r3, #1] strcat(SearchPath, FileName); 802abd8: 4911 ldr r1, [pc, #68] ; (802ac20 ) 802abda: 4812 ldr r0, [pc, #72] ; (802ac24 ) 802abdc: f0a2 fb50 bl 80cd280 res = f_open(&F, SearchPath, FA_READ); 802abe0: 2201 movs r2, #1 802abe2: 4910 ldr r1, [pc, #64] ; (802ac24 ) 802abe4: 4810 ldr r0, [pc, #64] ; (802ac28 ) 802abe6: f09b f98b bl 80c5f00 802abea: 4603 mov r3, r0 802abec: 73fb strb r3, [r7, #15] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802abee: 7bfb ldrb r3, [r7, #15] 802abf0: 2b04 cmp r3, #4 802abf2: d002 beq.n 802abfa 802abf4: 7bfb ldrb r3, [r7, #15] 802abf6: 2b05 cmp r3, #5 802abf8: d101 bne.n 802abfe { return FR_NO_FILE; 802abfa: 2304 movs r3, #4 802abfc: e00a b.n 802ac14 } else if(res == FR_OK) 802abfe: 7bfb ldrb r3, [r7, #15] 802ac00: 2b00 cmp r3, #0 802ac02: d104 bne.n 802ac0e { f_close(&F); 802ac04: 4808 ldr r0, [pc, #32] ; (802ac28 ) 802ac06: f09b ffbf bl 80c6b88 return FR_EXIST; 802ac0a: 2308 movs r3, #8 802ac0c: e002 b.n 802ac14 } else { return FR_DISK_ERR; 802ac0e: 2301 movs r3, #1 802ac10: e000 b.n 802ac14 } } else { return FR_DISK_ERR; 802ac12: 2301 movs r3, #1 } return res; } 802ac14: 4618 mov r0, r3 802ac16: 3710 adds r7, #16 802ac18: 46bd mov sp, r7 802ac1a: bd80 pop {r7, pc} 802ac1c: 2002164c .word 0x2002164c 802ac20: 20022bb8 .word 0x20022bb8 802ac24: 20021d80 .word 0x20021d80 802ac28: 20022e20 .word 0x20022e20 0802ac2c : FRESULT CheckExistDGN(char *fname) { 802ac2c: b580 push {r7, lr} 802ac2e: b084 sub sp, #16 802ac30: af00 add r7, sp, #0 802ac32: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802ac34: 2300 movs r3, #0 802ac36: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802ac38: 4b20 ldr r3, [pc, #128] ; (802acbc ) 802ac3a: 781b ldrb r3, [r3, #0] 802ac3c: b2db uxtb r3, r3 802ac3e: 2b03 cmp r3, #3 802ac40: d001 beq.n 802ac46 return FR_NOT_READY; 802ac42: 2303 movs r3, #3 802ac44: e036 b.n 802acb4 } VerifyFileNameDGN(fname, FileName); 802ac46: 491e ldr r1, [pc, #120] ; (802acc0 ) 802ac48: 6878 ldr r0, [r7, #4] 802ac4a: f003 f8ad bl 802dda8 if(*FileName == 0) { 802ac4e: 4b1c ldr r3, [pc, #112] ; (802acc0 ) 802ac50: 781b ldrb r3, [r3, #0] 802ac52: 2b00 cmp r3, #0 802ac54: d101 bne.n 802ac5a return FR_INVALID_NAME; 802ac56: 2306 movs r3, #6 802ac58: e02c b.n 802acb4 } if(res == FR_OK) 802ac5a: 7bfb ldrb r3, [r7, #15] 802ac5c: 2b00 cmp r3, #0 802ac5e: d128 bne.n 802acb2 { memset(SearchPath, 0, sizeof(SearchPath)); 802ac60: f44f 7200 mov.w r2, #512 ; 0x200 802ac64: 2100 movs r1, #0 802ac66: 4817 ldr r0, [pc, #92] ; (802acc4 ) 802ac68: f0a2 fa0a bl 80cd080 SearchPath[0] = '0'; 802ac6c: 4b15 ldr r3, [pc, #84] ; (802acc4 ) 802ac6e: 2230 movs r2, #48 ; 0x30 802ac70: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802ac72: 4b14 ldr r3, [pc, #80] ; (802acc4 ) 802ac74: 223a movs r2, #58 ; 0x3a 802ac76: 705a strb r2, [r3, #1] strcat(SearchPath, FileName); 802ac78: 4911 ldr r1, [pc, #68] ; (802acc0 ) 802ac7a: 4812 ldr r0, [pc, #72] ; (802acc4 ) 802ac7c: f0a2 fb00 bl 80cd280 res = f_open(&F, SearchPath, FA_READ); 802ac80: 2201 movs r2, #1 802ac82: 4910 ldr r1, [pc, #64] ; (802acc4 ) 802ac84: 4810 ldr r0, [pc, #64] ; (802acc8 ) 802ac86: f09b f93b bl 80c5f00 802ac8a: 4603 mov r3, r0 802ac8c: 73fb strb r3, [r7, #15] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802ac8e: 7bfb ldrb r3, [r7, #15] 802ac90: 2b04 cmp r3, #4 802ac92: d002 beq.n 802ac9a 802ac94: 7bfb ldrb r3, [r7, #15] 802ac96: 2b05 cmp r3, #5 802ac98: d101 bne.n 802ac9e { return FR_NO_FILE; 802ac9a: 2304 movs r3, #4 802ac9c: e00a b.n 802acb4 } else if(res == FR_OK) 802ac9e: 7bfb ldrb r3, [r7, #15] 802aca0: 2b00 cmp r3, #0 802aca2: d104 bne.n 802acae { f_close(&F); 802aca4: 4808 ldr r0, [pc, #32] ; (802acc8 ) 802aca6: f09b ff6f bl 80c6b88 return FR_EXIST; 802acaa: 2308 movs r3, #8 802acac: e002 b.n 802acb4 } else { return FR_DISK_ERR; 802acae: 2301 movs r3, #1 802acb0: e000 b.n 802acb4 } } else { return FR_DISK_ERR; 802acb2: 2301 movs r3, #1 } return res; } 802acb4: 4618 mov r0, r3 802acb6: 3710 adds r7, #16 802acb8: 46bd mov sp, r7 802acba: bd80 pop {r7, pc} 802acbc: 2002164c .word 0x2002164c 802acc0: 20022bb8 .word 0x20022bb8 802acc4: 20021d80 .word 0x20021d80 802acc8: 20022e20 .word 0x20022e20 0802accc : FRESULT CheckExistSPEC(char *fname) { 802accc: b580 push {r7, lr} 802acce: b084 sub sp, #16 802acd0: af00 add r7, sp, #0 802acd2: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802acd4: 2300 movs r3, #0 802acd6: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802acd8: 4b21 ldr r3, [pc, #132] ; (802ad60 ) 802acda: 781b ldrb r3, [r3, #0] 802acdc: b2db uxtb r3, r3 802acde: 2b03 cmp r3, #3 802ace0: d001 beq.n 802ace6 return FR_NOT_READY; 802ace2: 2303 movs r3, #3 802ace4: e037 b.n 802ad56 } memset(FileName, 0, sizeof(FileName)); 802ace6: 2228 movs r2, #40 ; 0x28 802ace8: 2100 movs r1, #0 802acea: 481e ldr r0, [pc, #120] ; (802ad64 ) 802acec: f0a2 f9c8 bl 80cd080 VerifyFileNameSPEC(fname, FileName); 802acf0: 491c ldr r1, [pc, #112] ; (802ad64 ) 802acf2: 6878 ldr r0, [r7, #4] 802acf4: f003 fa2c bl 802e150 if(*FileName == 0) { 802acf8: 4b1a ldr r3, [pc, #104] ; (802ad64 ) 802acfa: 781b ldrb r3, [r3, #0] 802acfc: 2b00 cmp r3, #0 802acfe: d101 bne.n 802ad04 return FR_INVALID_NAME; 802ad00: 2306 movs r3, #6 802ad02: e028 b.n 802ad56 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802ad04: 7bfb ldrb r3, [r7, #15] 802ad06: 2b00 cmp r3, #0 802ad08: d124 bne.n 802ad54 { memset(PointPath, 0, sizeof(PointPath)); 802ad0a: f44f 7200 mov.w r2, #512 ; 0x200 802ad0e: 2100 movs r1, #0 802ad10: 4815 ldr r0, [pc, #84] ; (802ad68 ) 802ad12: f0a2 f9b5 bl 80cd080 memset(SearchPath, 0, sizeof(SearchPath)); 802ad16: f44f 7200 mov.w r2, #512 ; 0x200 802ad1a: 2100 movs r1, #0 802ad1c: 4813 ldr r0, [pc, #76] ; (802ad6c ) 802ad1e: f0a2 f9af bl 80cd080 SearchPath[0] = '0'; 802ad22: 4b12 ldr r3, [pc, #72] ; (802ad6c ) 802ad24: 2230 movs r2, #48 ; 0x30 802ad26: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802ad28: 4b10 ldr r3, [pc, #64] ; (802ad6c ) 802ad2a: 223a movs r2, #58 ; 0x3a 802ad2c: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802ad2e: 4b10 ldr r3, [pc, #64] ; (802ad70 ) 802ad30: 2209 movs r2, #9 802ad32: 701a strb r2, [r3, #0] FlagReturn = false; 802ad34: 4b0f ldr r3, [pc, #60] ; (802ad74 ) 802ad36: 2200 movs r2, #0 802ad38: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802ad3a: 2100 movs r1, #0 802ad3c: 480b ldr r0, [pc, #44] ; (802ad6c ) 802ad3e: f000 fdb5 bl 802b8ac if(PointPath[0] == 0) 802ad42: 4b09 ldr r3, [pc, #36] ; (802ad68 ) 802ad44: 781b ldrb r3, [r3, #0] 802ad46: 2b00 cmp r3, #0 802ad48: d102 bne.n 802ad50 res = FR_NO_FILE; 802ad4a: 2304 movs r3, #4 802ad4c: 73fb strb r3, [r7, #15] 802ad4e: e001 b.n 802ad54 else res = FR_EXIST; 802ad50: 2308 movs r3, #8 802ad52: 73fb strb r3, [r7, #15] //f_mount(&fs, SDPath, 0); } return res; 802ad54: 7bfb ldrb r3, [r7, #15] } 802ad56: 4618 mov r0, r3 802ad58: 3710 adds r7, #16 802ad5a: 46bd mov sp, r7 802ad5c: bd80 pop {r7, pc} 802ad5e: bf00 nop 802ad60: 2002164c .word 0x2002164c 802ad64: 20022bb8 .word 0x20022bb8 802ad68: 200229b4 .word 0x200229b4 802ad6c: 20021d80 .word 0x20021d80 802ad70: 20020ddf .word 0x20020ddf 802ad74: 20020dde .word 0x20020dde 0802ad78 : FRESULT DeleteFilePTM(char* fname) { 802ad78: b580 push {r7, lr} 802ad7a: b084 sub sp, #16 802ad7c: af00 add r7, sp, #0 802ad7e: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802ad80: 2300 movs r3, #0 802ad82: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802ad84: 4b29 ldr r3, [pc, #164] ; (802ae2c ) 802ad86: 781b ldrb r3, [r3, #0] 802ad88: b2db uxtb r3, r3 802ad8a: 2b03 cmp r3, #3 802ad8c: d001 beq.n 802ad92 return FR_NOT_READY; 802ad8e: 2303 movs r3, #3 802ad90: e047 b.n 802ae22 } memset(FileName, 0, sizeof(FileName)); 802ad92: 2228 movs r2, #40 ; 0x28 802ad94: 2100 movs r1, #0 802ad96: 4826 ldr r0, [pc, #152] ; (802ae30 ) 802ad98: f0a2 f972 bl 80cd080 VerifyFileNamePTM(fname, FileName); 802ad9c: 4924 ldr r1, [pc, #144] ; (802ae30 ) 802ad9e: 6878 ldr r0, [r7, #4] 802ada0: f002 ff66 bl 802dc70 if(*FileName == 0) { 802ada4: 4b22 ldr r3, [pc, #136] ; (802ae30 ) 802ada6: 781b ldrb r3, [r3, #0] 802ada8: 2b00 cmp r3, #0 802adaa: d101 bne.n 802adb0 return FR_INVALID_NAME; 802adac: 2306 movs r3, #6 802adae: e038 b.n 802ae22 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802adb0: 7bfb ldrb r3, [r7, #15] 802adb2: 2b00 cmp r3, #0 802adb4: d134 bne.n 802ae20 { memset(SearchPath, 0, sizeof(SearchPath)); 802adb6: f44f 7200 mov.w r2, #512 ; 0x200 802adba: 2100 movs r1, #0 802adbc: 481d ldr r0, [pc, #116] ; (802ae34 ) 802adbe: f0a2 f95f bl 80cd080 memset(PointPath, 0, sizeof(PointPath)); 802adc2: f44f 7200 mov.w r2, #512 ; 0x200 802adc6: 2100 movs r1, #0 802adc8: 481b ldr r0, [pc, #108] ; (802ae38 ) 802adca: f0a2 f959 bl 80cd080 SearchPath[0] = '0'; 802adce: 4b19 ldr r3, [pc, #100] ; (802ae34 ) 802add0: 2230 movs r2, #48 ; 0x30 802add2: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802add4: 4b17 ldr r3, [pc, #92] ; (802ae34 ) 802add6: 223a movs r2, #58 ; 0x3a 802add8: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802adda: 4b18 ldr r3, [pc, #96] ; (802ae3c ) 802addc: 2209 movs r2, #9 802adde: 701a strb r2, [r3, #0] FlagReturn = false; 802ade0: 4b17 ldr r3, [pc, #92] ; (802ae40 ) 802ade2: 2200 movs r2, #0 802ade4: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802ade6: 2100 movs r1, #0 802ade8: 4812 ldr r0, [pc, #72] ; (802ae34 ) 802adea: f000 fd5f bl 802b8ac if(PointPath[0] != '\0') 802adee: 4b12 ldr r3, [pc, #72] ; (802ae38 ) 802adf0: 781b ldrb r3, [r3, #0] 802adf2: 2b00 cmp r3, #0 802adf4: d012 beq.n 802ae1c { res = f_open(&F, PointPath, FA_READ); 802adf6: 2201 movs r2, #1 802adf8: 490f ldr r1, [pc, #60] ; (802ae38 ) 802adfa: 4812 ldr r0, [pc, #72] ; (802ae44 ) 802adfc: f09b f880 bl 80c5f00 802ae00: 4603 mov r3, r0 802ae02: 73fb strb r3, [r7, #15] if(res == FR_OK) 802ae04: 7bfb ldrb r3, [r7, #15] 802ae06: 2b00 cmp r3, #0 802ae08: d10a bne.n 802ae20 { f_close(&F); 802ae0a: 480e ldr r0, [pc, #56] ; (802ae44 ) 802ae0c: f09b febc bl 80c6b88 res = f_unlink(PointPath); 802ae10: 4809 ldr r0, [pc, #36] ; (802ae38 ) 802ae12: f09c fb48 bl 80c74a6 802ae16: 4603 mov r3, r0 802ae18: 73fb strb r3, [r7, #15] 802ae1a: e001 b.n 802ae20 } } else { res = FR_INVALID_OBJECT; 802ae1c: 2309 movs r3, #9 802ae1e: 73fb strb r3, [r7, #15] } } return res; 802ae20: 7bfb ldrb r3, [r7, #15] } 802ae22: 4618 mov r0, r3 802ae24: 3710 adds r7, #16 802ae26: 46bd mov sp, r7 802ae28: bd80 pop {r7, pc} 802ae2a: bf00 nop 802ae2c: 2002164c .word 0x2002164c 802ae30: 20022bb8 .word 0x20022bb8 802ae34: 20021d80 .word 0x20021d80 802ae38: 200229b4 .word 0x200229b4 802ae3c: 20020ddf .word 0x20020ddf 802ae40: 20020dde .word 0x20020dde 802ae44: 20022e20 .word 0x20022e20 0802ae48 : FRESULT DeleteFileDGN(char* fname) { 802ae48: b580 push {r7, lr} 802ae4a: b084 sub sp, #16 802ae4c: af00 add r7, sp, #0 802ae4e: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802ae50: 2300 movs r3, #0 802ae52: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802ae54: 4b29 ldr r3, [pc, #164] ; (802aefc ) 802ae56: 781b ldrb r3, [r3, #0] 802ae58: b2db uxtb r3, r3 802ae5a: 2b03 cmp r3, #3 802ae5c: d001 beq.n 802ae62 return FR_NOT_READY; 802ae5e: 2303 movs r3, #3 802ae60: e047 b.n 802aef2 } memset(FileName, 0, sizeof(FileName)); 802ae62: 2228 movs r2, #40 ; 0x28 802ae64: 2100 movs r1, #0 802ae66: 4826 ldr r0, [pc, #152] ; (802af00 ) 802ae68: f0a2 f90a bl 80cd080 VerifyFileNameDGN(fname, FileName); 802ae6c: 4924 ldr r1, [pc, #144] ; (802af00 ) 802ae6e: 6878 ldr r0, [r7, #4] 802ae70: f002 ff9a bl 802dda8 if(*FileName == 0) { 802ae74: 4b22 ldr r3, [pc, #136] ; (802af00 ) 802ae76: 781b ldrb r3, [r3, #0] 802ae78: 2b00 cmp r3, #0 802ae7a: d101 bne.n 802ae80 return FR_INVALID_NAME; 802ae7c: 2306 movs r3, #6 802ae7e: e038 b.n 802aef2 } if(res == FR_OK) 802ae80: 7bfb ldrb r3, [r7, #15] 802ae82: 2b00 cmp r3, #0 802ae84: d134 bne.n 802aef0 { memset(SearchPath, 0, sizeof(SearchPath)); 802ae86: f44f 7200 mov.w r2, #512 ; 0x200 802ae8a: 2100 movs r1, #0 802ae8c: 481d ldr r0, [pc, #116] ; (802af04 ) 802ae8e: f0a2 f8f7 bl 80cd080 memset(PointPath, 0, sizeof(PointPath)); 802ae92: f44f 7200 mov.w r2, #512 ; 0x200 802ae96: 2100 movs r1, #0 802ae98: 481b ldr r0, [pc, #108] ; (802af08 ) 802ae9a: f0a2 f8f1 bl 80cd080 SearchPath[0] = '0'; 802ae9e: 4b19 ldr r3, [pc, #100] ; (802af04 ) 802aea0: 2230 movs r2, #48 ; 0x30 802aea2: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802aea4: 4b17 ldr r3, [pc, #92] ; (802af04 ) 802aea6: 223a movs r2, #58 ; 0x3a 802aea8: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802aeaa: 4b18 ldr r3, [pc, #96] ; (802af0c ) 802aeac: 2209 movs r2, #9 802aeae: 701a strb r2, [r3, #0] FlagReturn = false; 802aeb0: 4b17 ldr r3, [pc, #92] ; (802af10 ) 802aeb2: 2200 movs r2, #0 802aeb4: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802aeb6: 2100 movs r1, #0 802aeb8: 4812 ldr r0, [pc, #72] ; (802af04 ) 802aeba: f000 fcf7 bl 802b8ac if(PointPath[0] != '\0') 802aebe: 4b12 ldr r3, [pc, #72] ; (802af08 ) 802aec0: 781b ldrb r3, [r3, #0] 802aec2: 2b00 cmp r3, #0 802aec4: d012 beq.n 802aeec { res = f_open(&F, PointPath, FA_READ); 802aec6: 2201 movs r2, #1 802aec8: 490f ldr r1, [pc, #60] ; (802af08 ) 802aeca: 4812 ldr r0, [pc, #72] ; (802af14 ) 802aecc: f09b f818 bl 80c5f00 802aed0: 4603 mov r3, r0 802aed2: 73fb strb r3, [r7, #15] if(res == FR_OK) 802aed4: 7bfb ldrb r3, [r7, #15] 802aed6: 2b00 cmp r3, #0 802aed8: d10a bne.n 802aef0 { f_close(&F); 802aeda: 480e ldr r0, [pc, #56] ; (802af14 ) 802aedc: f09b fe54 bl 80c6b88 res = f_unlink(PointPath); 802aee0: 4809 ldr r0, [pc, #36] ; (802af08 ) 802aee2: f09c fae0 bl 80c74a6 802aee6: 4603 mov r3, r0 802aee8: 73fb strb r3, [r7, #15] 802aeea: e001 b.n 802aef0 } } else { res = FR_INVALID_OBJECT; 802aeec: 2309 movs r3, #9 802aeee: 73fb strb r3, [r7, #15] } } return res; 802aef0: 7bfb ldrb r3, [r7, #15] } 802aef2: 4618 mov r0, r3 802aef4: 3710 adds r7, #16 802aef6: 46bd mov sp, r7 802aef8: bd80 pop {r7, pc} 802aefa: bf00 nop 802aefc: 2002164c .word 0x2002164c 802af00: 20022bb8 .word 0x20022bb8 802af04: 20021d80 .word 0x20021d80 802af08: 200229b4 .word 0x200229b4 802af0c: 20020ddf .word 0x20020ddf 802af10: 20020dde .word 0x20020dde 802af14: 20022e20 .word 0x20022e20 0802af18 : FRESULT DeleteFileGTR(char* fname) { 802af18: b580 push {r7, lr} 802af1a: b084 sub sp, #16 802af1c: af00 add r7, sp, #0 802af1e: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802af20: 2300 movs r3, #0 802af22: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802af24: 4b29 ldr r3, [pc, #164] ; (802afcc ) 802af26: 781b ldrb r3, [r3, #0] 802af28: b2db uxtb r3, r3 802af2a: 2b03 cmp r3, #3 802af2c: d001 beq.n 802af32 return FR_NOT_READY; 802af2e: 2303 movs r3, #3 802af30: e047 b.n 802afc2 } memset(FileName, 0, sizeof(FileName)); 802af32: 2228 movs r2, #40 ; 0x28 802af34: 2100 movs r1, #0 802af36: 4826 ldr r0, [pc, #152] ; (802afd0 ) 802af38: f0a2 f8a2 bl 80cd080 VerifyFileNameGTR(fname, FileName); 802af3c: 4924 ldr r1, [pc, #144] ; (802afd0 ) 802af3e: 6878 ldr r0, [r7, #4] 802af40: f002 ffce bl 802dee0 if(*FileName == 0) { 802af44: 4b22 ldr r3, [pc, #136] ; (802afd0 ) 802af46: 781b ldrb r3, [r3, #0] 802af48: 2b00 cmp r3, #0 802af4a: d101 bne.n 802af50 return FR_INVALID_NAME; 802af4c: 2306 movs r3, #6 802af4e: e038 b.n 802afc2 } if(res == FR_OK) 802af50: 7bfb ldrb r3, [r7, #15] 802af52: 2b00 cmp r3, #0 802af54: d134 bne.n 802afc0 { memset(SearchPath, 0, sizeof(SearchPath)); 802af56: f44f 7200 mov.w r2, #512 ; 0x200 802af5a: 2100 movs r1, #0 802af5c: 481d ldr r0, [pc, #116] ; (802afd4 ) 802af5e: f0a2 f88f bl 80cd080 memset(PointPath, 0, sizeof(PointPath)); 802af62: f44f 7200 mov.w r2, #512 ; 0x200 802af66: 2100 movs r1, #0 802af68: 481b ldr r0, [pc, #108] ; (802afd8 ) 802af6a: f0a2 f889 bl 80cd080 SearchPath[0] = '0'; 802af6e: 4b19 ldr r3, [pc, #100] ; (802afd4 ) 802af70: 2230 movs r2, #48 ; 0x30 802af72: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802af74: 4b17 ldr r3, [pc, #92] ; (802afd4 ) 802af76: 223a movs r2, #58 ; 0x3a 802af78: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802af7a: 4b18 ldr r3, [pc, #96] ; (802afdc ) 802af7c: 2209 movs r2, #9 802af7e: 701a strb r2, [r3, #0] FlagReturn = false; 802af80: 4b17 ldr r3, [pc, #92] ; (802afe0 ) 802af82: 2200 movs r2, #0 802af84: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802af86: 2100 movs r1, #0 802af88: 4812 ldr r0, [pc, #72] ; (802afd4 ) 802af8a: f000 fc8f bl 802b8ac if(PointPath[0] != '\0') 802af8e: 4b12 ldr r3, [pc, #72] ; (802afd8 ) 802af90: 781b ldrb r3, [r3, #0] 802af92: 2b00 cmp r3, #0 802af94: d012 beq.n 802afbc { res = f_open(&F, PointPath, FA_READ); 802af96: 2201 movs r2, #1 802af98: 490f ldr r1, [pc, #60] ; (802afd8 ) 802af9a: 4812 ldr r0, [pc, #72] ; (802afe4 ) 802af9c: f09a ffb0 bl 80c5f00 802afa0: 4603 mov r3, r0 802afa2: 73fb strb r3, [r7, #15] if(res == FR_OK) 802afa4: 7bfb ldrb r3, [r7, #15] 802afa6: 2b00 cmp r3, #0 802afa8: d10a bne.n 802afc0 { f_close(&F); 802afaa: 480e ldr r0, [pc, #56] ; (802afe4 ) 802afac: f09b fdec bl 80c6b88 res = f_unlink(PointPath); 802afb0: 4809 ldr r0, [pc, #36] ; (802afd8 ) 802afb2: f09c fa78 bl 80c74a6 802afb6: 4603 mov r3, r0 802afb8: 73fb strb r3, [r7, #15] 802afba: e001 b.n 802afc0 } } else { res = FR_INVALID_OBJECT; 802afbc: 2309 movs r3, #9 802afbe: 73fb strb r3, [r7, #15] } } return res; 802afc0: 7bfb ldrb r3, [r7, #15] } 802afc2: 4618 mov r0, r3 802afc4: 3710 adds r7, #16 802afc6: 46bd mov sp, r7 802afc8: bd80 pop {r7, pc} 802afca: bf00 nop 802afcc: 2002164c .word 0x2002164c 802afd0: 20022bb8 .word 0x20022bb8 802afd4: 20021d80 .word 0x20021d80 802afd8: 200229b4 .word 0x200229b4 802afdc: 20020ddf .word 0x20020ddf 802afe0: 20020dde .word 0x20020dde 802afe4: 20022e20 .word 0x20022e20 0802afe8 : FRESULT DeleteFileCSV(char* fname) { 802afe8: b580 push {r7, lr} 802afea: b084 sub sp, #16 802afec: af00 add r7, sp, #0 802afee: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802aff0: 2300 movs r3, #0 802aff2: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802aff4: 4b29 ldr r3, [pc, #164] ; (802b09c ) 802aff6: 781b ldrb r3, [r3, #0] 802aff8: b2db uxtb r3, r3 802affa: 2b03 cmp r3, #3 802affc: d001 beq.n 802b002 return FR_NOT_READY; 802affe: 2303 movs r3, #3 802b000: e047 b.n 802b092 } memset(FileName, 0, sizeof(FileName)); 802b002: 2228 movs r2, #40 ; 0x28 802b004: 2100 movs r1, #0 802b006: 4826 ldr r0, [pc, #152] ; (802b0a0 ) 802b008: f0a2 f83a bl 80cd080 VerifyFileNameCSV(fname, FileName); 802b00c: 4924 ldr r1, [pc, #144] ; (802b0a0 ) 802b00e: 6878 ldr r0, [r7, #4] 802b010: f003 f802 bl 802e018 if(*FileName == 0) { 802b014: 4b22 ldr r3, [pc, #136] ; (802b0a0 ) 802b016: 781b ldrb r3, [r3, #0] 802b018: 2b00 cmp r3, #0 802b01a: d101 bne.n 802b020 return FR_INVALID_NAME; 802b01c: 2306 movs r3, #6 802b01e: e038 b.n 802b092 } if(res == FR_OK) 802b020: 7bfb ldrb r3, [r7, #15] 802b022: 2b00 cmp r3, #0 802b024: d134 bne.n 802b090 { memset(SearchPath, 0, sizeof(SearchPath)); 802b026: f44f 7200 mov.w r2, #512 ; 0x200 802b02a: 2100 movs r1, #0 802b02c: 481d ldr r0, [pc, #116] ; (802b0a4 ) 802b02e: f0a2 f827 bl 80cd080 memset(PointPath, 0, sizeof(PointPath)); 802b032: f44f 7200 mov.w r2, #512 ; 0x200 802b036: 2100 movs r1, #0 802b038: 481b ldr r0, [pc, #108] ; (802b0a8 ) 802b03a: f0a2 f821 bl 80cd080 SearchPath[0] = '0'; 802b03e: 4b19 ldr r3, [pc, #100] ; (802b0a4 ) 802b040: 2230 movs r2, #48 ; 0x30 802b042: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802b044: 4b17 ldr r3, [pc, #92] ; (802b0a4 ) 802b046: 223a movs r2, #58 ; 0x3a 802b048: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802b04a: 4b18 ldr r3, [pc, #96] ; (802b0ac ) 802b04c: 2209 movs r2, #9 802b04e: 701a strb r2, [r3, #0] FlagReturn = false; 802b050: 4b17 ldr r3, [pc, #92] ; (802b0b0 ) 802b052: 2200 movs r2, #0 802b054: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802b056: 2100 movs r1, #0 802b058: 4812 ldr r0, [pc, #72] ; (802b0a4 ) 802b05a: f000 fc27 bl 802b8ac if(PointPath[0] != '\0') 802b05e: 4b12 ldr r3, [pc, #72] ; (802b0a8 ) 802b060: 781b ldrb r3, [r3, #0] 802b062: 2b00 cmp r3, #0 802b064: d012 beq.n 802b08c { res = f_open(&F, PointPath, FA_READ); 802b066: 2201 movs r2, #1 802b068: 490f ldr r1, [pc, #60] ; (802b0a8 ) 802b06a: 4812 ldr r0, [pc, #72] ; (802b0b4 ) 802b06c: f09a ff48 bl 80c5f00 802b070: 4603 mov r3, r0 802b072: 73fb strb r3, [r7, #15] if(res == FR_OK) 802b074: 7bfb ldrb r3, [r7, #15] 802b076: 2b00 cmp r3, #0 802b078: d10a bne.n 802b090 { f_close(&F); 802b07a: 480e ldr r0, [pc, #56] ; (802b0b4 ) 802b07c: f09b fd84 bl 80c6b88 res = f_unlink(PointPath); 802b080: 4809 ldr r0, [pc, #36] ; (802b0a8 ) 802b082: f09c fa10 bl 80c74a6 802b086: 4603 mov r3, r0 802b088: 73fb strb r3, [r7, #15] 802b08a: e001 b.n 802b090 } } else { res = FR_INVALID_OBJECT; 802b08c: 2309 movs r3, #9 802b08e: 73fb strb r3, [r7, #15] } } return res; 802b090: 7bfb ldrb r3, [r7, #15] } 802b092: 4618 mov r0, r3 802b094: 3710 adds r7, #16 802b096: 46bd mov sp, r7 802b098: bd80 pop {r7, pc} 802b09a: bf00 nop 802b09c: 2002164c .word 0x2002164c 802b0a0: 20022bb8 .word 0x20022bb8 802b0a4: 20021d80 .word 0x20021d80 802b0a8: 200229b4 .word 0x200229b4 802b0ac: 20020ddf .word 0x20020ddf 802b0b0: 20020dde .word 0x20020dde 802b0b4: 20022e20 .word 0x20022e20 0802b0b8 : return res; } FRESULT DeleteFileSPEC(char* fname) { 802b0b8: b580 push {r7, lr} 802b0ba: b084 sub sp, #16 802b0bc: af00 add r7, sp, #0 802b0be: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802b0c0: 2300 movs r3, #0 802b0c2: 73fb strb r3, [r7, #15] if(CardState != MSD_READY) { 802b0c4: 4b29 ldr r3, [pc, #164] ; (802b16c ) 802b0c6: 781b ldrb r3, [r3, #0] 802b0c8: b2db uxtb r3, r3 802b0ca: 2b03 cmp r3, #3 802b0cc: d001 beq.n 802b0d2 return FR_NOT_READY; 802b0ce: 2303 movs r3, #3 802b0d0: e047 b.n 802b162 } memset(FileName, 0, sizeof(FileName)); 802b0d2: 2228 movs r2, #40 ; 0x28 802b0d4: 2100 movs r1, #0 802b0d6: 4826 ldr r0, [pc, #152] ; (802b170 ) 802b0d8: f0a1 ffd2 bl 80cd080 VerifyFileNameSPEC(fname, FileName); 802b0dc: 4924 ldr r1, [pc, #144] ; (802b170 ) 802b0de: 6878 ldr r0, [r7, #4] 802b0e0: f003 f836 bl 802e150 if(*FileName == 0) { 802b0e4: 4b22 ldr r3, [pc, #136] ; (802b170 ) 802b0e6: 781b ldrb r3, [r3, #0] 802b0e8: 2b00 cmp r3, #0 802b0ea: d101 bne.n 802b0f0 return FR_INVALID_NAME; 802b0ec: 2306 movs r3, #6 802b0ee: e038 b.n 802b162 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802b0f0: 7bfb ldrb r3, [r7, #15] 802b0f2: 2b00 cmp r3, #0 802b0f4: d134 bne.n 802b160 { memset(SearchPath, 0, sizeof(SearchPath)); 802b0f6: f44f 7200 mov.w r2, #512 ; 0x200 802b0fa: 2100 movs r1, #0 802b0fc: 481d ldr r0, [pc, #116] ; (802b174 ) 802b0fe: f0a1 ffbf bl 80cd080 memset(PointPath, 0, sizeof(PointPath)); 802b102: f44f 7200 mov.w r2, #512 ; 0x200 802b106: 2100 movs r1, #0 802b108: 481b ldr r0, [pc, #108] ; (802b178 ) 802b10a: f0a1 ffb9 bl 80cd080 SearchPath[0] = '0'; 802b10e: 4b19 ldr r3, [pc, #100] ; (802b174 ) 802b110: 2230 movs r2, #48 ; 0x30 802b112: 701a strb r2, [r3, #0] SearchPath[1] = ':'; 802b114: 4b17 ldr r3, [pc, #92] ; (802b174 ) 802b116: 223a movs r2, #58 ; 0x3a 802b118: 705a strb r2, [r3, #1] ScanMode = GET_PATH_TO_FILE; 802b11a: 4b18 ldr r3, [pc, #96] ; (802b17c ) 802b11c: 2209 movs r2, #9 802b11e: 701a strb r2, [r3, #0] FlagReturn = false; 802b120: 4b17 ldr r3, [pc, #92] ; (802b180 ) 802b122: 2200 movs r2, #0 802b124: 701a strb r2, [r3, #0] ScanFiles(SearchPath, 0); 802b126: 2100 movs r1, #0 802b128: 4812 ldr r0, [pc, #72] ; (802b174 ) 802b12a: f000 fbbf bl 802b8ac if(PointPath[0] != '\0') 802b12e: 4b12 ldr r3, [pc, #72] ; (802b178 ) 802b130: 781b ldrb r3, [r3, #0] 802b132: 2b00 cmp r3, #0 802b134: d012 beq.n 802b15c { res = f_open(&F, PointPath, FA_READ); 802b136: 2201 movs r2, #1 802b138: 490f ldr r1, [pc, #60] ; (802b178 ) 802b13a: 4812 ldr r0, [pc, #72] ; (802b184 ) 802b13c: f09a fee0 bl 80c5f00 802b140: 4603 mov r3, r0 802b142: 73fb strb r3, [r7, #15] if(res == FR_OK) 802b144: 7bfb ldrb r3, [r7, #15] 802b146: 2b00 cmp r3, #0 802b148: d10a bne.n 802b160 { f_close(&F); 802b14a: 480e ldr r0, [pc, #56] ; (802b184 ) 802b14c: f09b fd1c bl 80c6b88 res = f_unlink(PointPath); 802b150: 4809 ldr r0, [pc, #36] ; (802b178 ) 802b152: f09c f9a8 bl 80c74a6 802b156: 4603 mov r3, r0 802b158: 73fb strb r3, [r7, #15] 802b15a: e001 b.n 802b160 } } else { res = FR_INVALID_OBJECT; 802b15c: 2309 movs r3, #9 802b15e: 73fb strb r3, [r7, #15] } //f_mount(&fs, SDPath, 0); } return res; 802b160: 7bfb ldrb r3, [r7, #15] } 802b162: 4618 mov r0, r3 802b164: 3710 adds r7, #16 802b166: 46bd mov sp, r7 802b168: bd80 pop {r7, pc} 802b16a: bf00 nop 802b16c: 2002164c .word 0x2002164c 802b170: 20022bb8 .word 0x20022bb8 802b174: 20021d80 .word 0x20021d80 802b178: 200229b4 .word 0x200229b4 802b17c: 20020ddf .word 0x20020ddf 802b180: 20020dde .word 0x20020dde 802b184: 20022e20 .word 0x20022e20 0802b188 : FRESULT CheckRoutesFolder(void) { 802b188: b580 push {r7, lr} 802b18a: b096 sub sp, #88 ; 0x58 802b18c: af00 add r7, sp, #0 FRESULT res = FR_OK; 802b18e: 2300 movs r3, #0 802b190: f887 3057 strb.w r3, [r7, #87] ; 0x57 DIR dir; if(CardState != MSD_READY) { 802b194: 4b11 ldr r3, [pc, #68] ; (802b1dc ) 802b196: 781b ldrb r3, [r3, #0] 802b198: b2db uxtb r3, r3 802b19a: 2b03 cmp r3, #3 802b19c: d001 beq.n 802b1a2 return FR_NOT_READY; 802b19e: 2303 movs r3, #3 802b1a0: e018 b.n 802b1d4 } res = f_opendir(&dir, "0:Routes"); 802b1a2: 463b mov r3, r7 802b1a4: 490e ldr r1, [pc, #56] ; (802b1e0 ) 802b1a6: 4618 mov r0, r3 802b1a8: f09b ff97 bl 80c70da 802b1ac: 4603 mov r3, r0 802b1ae: f887 3057 strb.w r3, [r7, #87] ; 0x57 if(res != FR_OK) 802b1b2: f897 3057 ldrb.w r3, [r7, #87] ; 0x57 802b1b6: 2b00 cmp r3, #0 802b1b8: d006 beq.n 802b1c8 { res = f_mkdir("0:Routes"); 802b1ba: 4809 ldr r0, [pc, #36] ; (802b1e0 ) 802b1bc: f09c fa48 bl 80c7650 802b1c0: 4603 mov r3, r0 802b1c2: f887 3057 strb.w r3, [r7, #87] ; 0x57 802b1c6: e003 b.n 802b1d0 } else { f_closedir(&dir); 802b1c8: 463b mov r3, r7 802b1ca: 4618 mov r0, r3 802b1cc: f09c f814 bl 80c71f8 } return res; 802b1d0: f897 3057 ldrb.w r3, [r7, #87] ; 0x57 } 802b1d4: 4618 mov r0, r3 802b1d6: 3758 adds r7, #88 ; 0x58 802b1d8: 46bd mov sp, r7 802b1da: bd80 pop {r7, pc} 802b1dc: 2002164c .word 0x2002164c 802b1e0: 080ce52c .word 0x080ce52c 0802b1e4 : FRESULT CheckRecordsFolder(void) { 802b1e4: b580 push {r7, lr} 802b1e6: b096 sub sp, #88 ; 0x58 802b1e8: af00 add r7, sp, #0 FRESULT res = FR_OK; 802b1ea: 2300 movs r3, #0 802b1ec: f887 3057 strb.w r3, [r7, #87] ; 0x57 DIR dir; if(CardState != MSD_READY) { 802b1f0: 4b11 ldr r3, [pc, #68] ; (802b238 ) 802b1f2: 781b ldrb r3, [r3, #0] 802b1f4: b2db uxtb r3, r3 802b1f6: 2b03 cmp r3, #3 802b1f8: d001 beq.n 802b1fe return FR_NOT_READY; 802b1fa: 2303 movs r3, #3 802b1fc: e018 b.n 802b230 } res = f_opendir(&dir, "0:Records"); 802b1fe: 463b mov r3, r7 802b200: 490e ldr r1, [pc, #56] ; (802b23c ) 802b202: 4618 mov r0, r3 802b204: f09b ff69 bl 80c70da 802b208: 4603 mov r3, r0 802b20a: f887 3057 strb.w r3, [r7, #87] ; 0x57 if(res != FR_OK) 802b20e: f897 3057 ldrb.w r3, [r7, #87] ; 0x57 802b212: 2b00 cmp r3, #0 802b214: d006 beq.n 802b224 { res = f_mkdir("0:Records"); 802b216: 4809 ldr r0, [pc, #36] ; (802b23c ) 802b218: f09c fa1a bl 80c7650 802b21c: 4603 mov r3, r0 802b21e: f887 3057 strb.w r3, [r7, #87] ; 0x57 802b222: e003 b.n 802b22c } else { f_closedir(&dir); 802b224: 463b mov r3, r7 802b226: 4618 mov r0, r3 802b228: f09b ffe6 bl 80c71f8 } return res; 802b22c: f897 3057 ldrb.w r3, [r7, #87] ; 0x57 } 802b230: 4618 mov r0, r3 802b232: 3758 adds r7, #88 ; 0x58 802b234: 46bd mov sp, r7 802b236: bd80 pop {r7, pc} 802b238: 2002164c .word 0x2002164c 802b23c: 080ce4b0 .word 0x080ce4b0 0802b240 : FRESULT FormatSD(void) { 802b240: b580 push {r7, lr} 802b242: b090 sub sp, #64 ; 0x40 802b244: af02 add r7, sp, #8 FRESULT res = FR_OK; 802b246: 2300 movs r3, #0 802b248: f887 3037 strb.w r3, [r7, #55] ; 0x37 HAL_SD_CardInfoTypeDef CardInfo; char str[20]; if(CardState == MSD_NOCARD) { 802b24c: 4b3a ldr r3, [pc, #232] ; (802b338 ) 802b24e: 781b ldrb r3, [r3, #0] 802b250: b2db uxtb r3, r3 802b252: 2b00 cmp r3, #0 802b254: d101 bne.n 802b25a return FR_NOT_READY; 802b256: 2303 movs r3, #3 802b258: e06a b.n 802b330 } CardState = MSD_PRESENT; 802b25a: 4b37 ldr r3, [pc, #220] ; (802b338 ) 802b25c: 2201 movs r2, #1 802b25e: 701a strb r2, [r3, #0] BSP_SD_GetCardInfo(&CardInfo); 802b260: f107 0314 add.w r3, r7, #20 802b264: 4618 mov r0, r3 802b266: f094 fb15 bl 80bf894 RedrawScreen(); 802b26a: f03c fde1 bl 8067e30 HAL_Delay(100); 802b26e: 2064 movs r0, #100 ; 0x64 802b270: f088 f80a bl 80b3288 RedrawScreen(); 802b274: f03c fddc bl 8067e30 HAL_Delay(100); 802b278: 2064 movs r0, #100 ; 0x64 802b27a: f088 f805 bl 80b3288 RedrawScreen(); 802b27e: f03c fdd7 bl 8067e30 HAL_Delay(100); 802b282: 2064 movs r0, #100 ; 0x64 802b284: f088 f800 bl 80b3288 RedrawScreen(); 802b288: f03c fdd2 bl 8067e30 HAL_Delay(100); 802b28c: 2064 movs r0, #100 ; 0x64 802b28e: f087 fffb bl 80b3288 RedrawScreen(); 802b292: f03c fdcd bl 8067e30 HAL_Delay(100); 802b296: 2064 movs r0, #100 ; 0x64 802b298: f087 fff6 bl 80b3288 res = f_mkfs(SDPath, FM_EXFAT, 0, (void *) SD_Buff, 32768U); 802b29c: f44f 4300 mov.w r3, #32768 ; 0x8000 802b2a0: 9300 str r3, [sp, #0] 802b2a2: 4b26 ldr r3, [pc, #152] ; (802b33c ) 802b2a4: 2200 movs r2, #0 802b2a6: 2104 movs r1, #4 802b2a8: 4825 ldr r0, [pc, #148] ; (802b340 ) 802b2aa: f09c fcbb bl 80c7c24 802b2ae: 4603 mov r3, r0 802b2b0: f887 3037 strb.w r3, [r7, #55] ; 0x37 if(res != FR_OK) { 802b2b4: f897 3037 ldrb.w r3, [r7, #55] ; 0x37 802b2b8: 2b00 cmp r3, #0 802b2ba: d001 beq.n 802b2c0 return FR_MKFS_ABORTED; 802b2bc: 230e movs r3, #14 802b2be: e037 b.n 802b330 } //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802b2c0: f897 3037 ldrb.w r3, [r7, #55] ; 0x37 802b2c4: 2b00 cmp r3, #0 802b2c6: d131 bne.n 802b32c { CardState = MSD_READY; 802b2c8: 4b1b ldr r3, [pc, #108] ; (802b338 ) 802b2ca: 2203 movs r2, #3 802b2cc: 701a strb r2, [r3, #0] f_mkdir("0:Records"); 802b2ce: 481d ldr r0, [pc, #116] ; (802b344 ) 802b2d0: f09c f9be bl 80c7650 f_mkdir("0:Routes"); 802b2d4: 481c ldr r0, [pc, #112] ; (802b348 ) 802b2d6: f09c f9bb bl 80c7650 memset(str, 0, sizeof(str)); 802b2da: 463b mov r3, r7 802b2dc: 2214 movs r2, #20 802b2de: 2100 movs r1, #0 802b2e0: 4618 mov r0, r3 802b2e2: f0a1 fecd bl 80cd080 strcpy(str, "D1xx_"); 802b2e6: 463b mov r3, r7 802b2e8: 4a18 ldr r2, [pc, #96] ; (802b34c ) 802b2ea: e892 0003 ldmia.w r2, {r0, r1} 802b2ee: 6018 str r0, [r3, #0] 802b2f0: 3304 adds r3, #4 802b2f2: 8019 strh r1, [r3, #0] str[5] = _SERIAL[0]; 802b2f4: 4b16 ldr r3, [pc, #88] ; (802b350 ) 802b2f6: 781b ldrb r3, [r3, #0] 802b2f8: b2db uxtb r3, r3 802b2fa: 717b strb r3, [r7, #5] str[6] = _SERIAL[1]; 802b2fc: 4b14 ldr r3, [pc, #80] ; (802b350 ) 802b2fe: 785b ldrb r3, [r3, #1] 802b300: b2db uxtb r3, r3 802b302: 71bb strb r3, [r7, #6] str[7] = _SERIAL[2]; 802b304: 4b12 ldr r3, [pc, #72] ; (802b350 ) 802b306: 789b ldrb r3, [r3, #2] 802b308: b2db uxtb r3, r3 802b30a: 71fb strb r3, [r7, #7] str[8] = _SERIAL[3]; 802b30c: 4b10 ldr r3, [pc, #64] ; (802b350 ) 802b30e: 78db ldrb r3, [r3, #3] 802b310: b2db uxtb r3, r3 802b312: 723b strb r3, [r7, #8] str[9] = _SERIAL[4]; 802b314: 4b0e ldr r3, [pc, #56] ; (802b350 ) 802b316: 791b ldrb r3, [r3, #4] 802b318: b2db uxtb r3, r3 802b31a: 727b strb r3, [r7, #9] f_setlabel(str); 802b31c: 463b mov r3, r7 802b31e: 4618 mov r0, r3 802b320: f09c fade bl 80c78e0 CreateFileJSON(); 802b324: f000 f816 bl 802b354 CheckSD(); 802b328: f001 f93c bl 802c5a4 } return res; 802b32c: f897 3037 ldrb.w r3, [r7, #55] ; 0x37 } 802b330: 4618 mov r0, r3 802b332: 3738 adds r7, #56 ; 0x38 802b334: 46bd mov sp, r7 802b336: bd80 pop {r7, pc} 802b338: 2002164c .word 0x2002164c 802b33c: 20000000 .word 0x20000000 802b340: 20068acc .word 0x20068acc 802b344: 080ce4b0 .word 0x080ce4b0 802b348: 080ce52c .word 0x080ce52c 802b34c: 080ce53c .word 0x080ce53c 802b350: 20020f14 .word 0x20020f14 0802b354 : FRESULT CreateFileJSON(void) //TODO { 802b354: b590 push {r4, r7, lr} 802b356: b085 sub sp, #20 802b358: af00 add r7, sp, #0 FRESULT res = FR_OK; 802b35a: 2300 movs r3, #0 802b35c: 72fb strb r3, [r7, #11] UINT fk, i, l; if(CardState != MSD_READY) { 802b35e: 4bab ldr r3, [pc, #684] ; (802b60c ) 802b360: 781b ldrb r3, [r3, #0] 802b362: b2db uxtb r3, r3 802b364: 2b03 cmp r3, #3 802b366: d001 beq.n 802b36c return FR_NOT_READY; 802b368: 2303 movs r3, #3 802b36a: e292 b.n 802b892 } memset(PointPath, 0, sizeof(PointPath)); 802b36c: f44f 7200 mov.w r2, #512 ; 0x200 802b370: 2100 movs r1, #0 802b372: 48a7 ldr r0, [pc, #668] ; (802b610 ) 802b374: f0a1 fe84 bl 80cd080 PointPath[0] = '0'; 802b378: 4ba5 ldr r3, [pc, #660] ; (802b610 ) 802b37a: 2230 movs r2, #48 ; 0x30 802b37c: 701a strb r2, [r3, #0] PointPath[1] = ':'; 802b37e: 4ba4 ldr r3, [pc, #656] ; (802b610 ) 802b380: 223a movs r2, #58 ; 0x3a 802b382: 705a strb r2, [r3, #1] strcat(PointPath, "device.json"); 802b384: 48a2 ldr r0, [pc, #648] ; (802b610 ) 802b386: f7f4 ffc5 bl 8020314 802b38a: 4603 mov r3, r0 802b38c: 461a mov r2, r3 802b38e: 4ba0 ldr r3, [pc, #640] ; (802b610 ) 802b390: 4413 add r3, r2 802b392: 4aa0 ldr r2, [pc, #640] ; (802b614 ) 802b394: 461c mov r4, r3 802b396: 4613 mov r3, r2 802b398: cb07 ldmia r3!, {r0, r1, r2} 802b39a: 6020 str r0, [r4, #0] 802b39c: 6061 str r1, [r4, #4] 802b39e: 60a2 str r2, [r4, #8] res = f_open(&F, PointPath, FA_OPEN_EXISTING | FA_READ); 802b3a0: 2201 movs r2, #1 802b3a2: 499b ldr r1, [pc, #620] ; (802b610 ) 802b3a4: 489c ldr r0, [pc, #624] ; (802b618 ) 802b3a6: f09a fdab bl 80c5f00 802b3aa: 4603 mov r3, r0 802b3ac: 72fb strb r3, [r7, #11] if((res == FR_NO_FILE) || (res == FR_NO_PATH)) 802b3ae: 7afb ldrb r3, [r7, #11] 802b3b0: 2b04 cmp r3, #4 802b3b2: d003 beq.n 802b3bc 802b3b4: 7afb ldrb r3, [r7, #11] 802b3b6: 2b05 cmp r3, #5 802b3b8: f040 8136 bne.w 802b628 { res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802b3bc: 221b movs r2, #27 802b3be: 4994 ldr r1, [pc, #592] ; (802b610 ) 802b3c0: 4895 ldr r0, [pc, #596] ; (802b618 ) 802b3c2: f09a fd9d bl 80c5f00 802b3c6: 4603 mov r3, r0 802b3c8: 72fb strb r3, [r7, #11] if(res == FR_OK) 802b3ca: 7afb ldrb r3, [r7, #11] 802b3cc: 2b00 cmp r3, #0 802b3ce: f040 8129 bne.w 802b624 { f_sync(&F); 802b3d2: 4891 ldr r0, [pc, #580] ; (802b618 ) 802b3d4: f09b fad4 bl 80c6980 memset(sector, 0, sizeof(sector)); 802b3d8: f44f 7200 mov.w r2, #512 ; 0x200 802b3dc: 2100 movs r1, #0 802b3de: 488f ldr r0, [pc, #572] ; (802b61c ) 802b3e0: f0a1 fe4e bl 80cd080 l = 0; 802b3e4: 2300 movs r3, #0 802b3e6: 60fb str r3, [r7, #12] sector[l++] = '{'; 802b3e8: 68fb ldr r3, [r7, #12] 802b3ea: 1c5a adds r2, r3, #1 802b3ec: 60fa str r2, [r7, #12] 802b3ee: 4a8b ldr r2, [pc, #556] ; (802b61c ) 802b3f0: 217b movs r1, #123 ; 0x7b 802b3f2: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b3f4: 68fb ldr r3, [r7, #12] 802b3f6: 1c5a adds r2, r3, #1 802b3f8: 60fa str r2, [r7, #12] 802b3fa: 4a88 ldr r2, [pc, #544] ; (802b61c ) 802b3fc: 2120 movs r1, #32 802b3fe: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b400: 68fb ldr r3, [r7, #12] 802b402: 1c5a adds r2, r3, #1 802b404: 60fa str r2, [r7, #12] 802b406: 4a85 ldr r2, [pc, #532] ; (802b61c ) 802b408: 2122 movs r1, #34 ; 0x22 802b40a: 54d1 strb r1, [r2, r3] sector[l++] = 'm'; 802b40c: 68fb ldr r3, [r7, #12] 802b40e: 1c5a adds r2, r3, #1 802b410: 60fa str r2, [r7, #12] 802b412: 4a82 ldr r2, [pc, #520] ; (802b61c ) 802b414: 216d movs r1, #109 ; 0x6d 802b416: 54d1 strb r1, [r2, r3] sector[l++] = 'o'; 802b418: 68fb ldr r3, [r7, #12] 802b41a: 1c5a adds r2, r3, #1 802b41c: 60fa str r2, [r7, #12] 802b41e: 4a7f ldr r2, [pc, #508] ; (802b61c ) 802b420: 216f movs r1, #111 ; 0x6f 802b422: 54d1 strb r1, [r2, r3] sector[l++] = 'd'; 802b424: 68fb ldr r3, [r7, #12] 802b426: 1c5a adds r2, r3, #1 802b428: 60fa str r2, [r7, #12] 802b42a: 4a7c ldr r2, [pc, #496] ; (802b61c ) 802b42c: 2164 movs r1, #100 ; 0x64 802b42e: 54d1 strb r1, [r2, r3] sector[l++] = 'e'; 802b430: 68fb ldr r3, [r7, #12] 802b432: 1c5a adds r2, r3, #1 802b434: 60fa str r2, [r7, #12] 802b436: 4a79 ldr r2, [pc, #484] ; (802b61c ) 802b438: 2165 movs r1, #101 ; 0x65 802b43a: 54d1 strb r1, [r2, r3] sector[l++] = 'l'; 802b43c: 68fb ldr r3, [r7, #12] 802b43e: 1c5a adds r2, r3, #1 802b440: 60fa str r2, [r7, #12] 802b442: 4a76 ldr r2, [pc, #472] ; (802b61c ) 802b444: 216c movs r1, #108 ; 0x6c 802b446: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b448: 68fb ldr r3, [r7, #12] 802b44a: 1c5a adds r2, r3, #1 802b44c: 60fa str r2, [r7, #12] 802b44e: 4a73 ldr r2, [pc, #460] ; (802b61c ) 802b450: 2122 movs r1, #34 ; 0x22 802b452: 54d1 strb r1, [r2, r3] sector[l++] = ':'; 802b454: 68fb ldr r3, [r7, #12] 802b456: 1c5a adds r2, r3, #1 802b458: 60fa str r2, [r7, #12] 802b45a: 4a70 ldr r2, [pc, #448] ; (802b61c ) 802b45c: 213a movs r1, #58 ; 0x3a 802b45e: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b460: 68fb ldr r3, [r7, #12] 802b462: 1c5a adds r2, r3, #1 802b464: 60fa str r2, [r7, #12] 802b466: 4a6d ldr r2, [pc, #436] ; (802b61c ) 802b468: 2120 movs r1, #32 802b46a: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b46c: 68fb ldr r3, [r7, #12] 802b46e: 1c5a adds r2, r3, #1 802b470: 60fa str r2, [r7, #12] 802b472: 4a6a ldr r2, [pc, #424] ; (802b61c ) 802b474: 2122 movs r1, #34 ; 0x22 802b476: 54d1 strb r1, [r2, r3] sector[l++] = '1'; sector[l++] = '0'; sector[l++] = '2'; #endif #ifdef USE_D141 sector[l++] = 'D'; 802b478: 68fb ldr r3, [r7, #12] 802b47a: 1c5a adds r2, r3, #1 802b47c: 60fa str r2, [r7, #12] 802b47e: 4a67 ldr r2, [pc, #412] ; (802b61c ) 802b480: 2144 movs r1, #68 ; 0x44 802b482: 54d1 strb r1, [r2, r3] sector[l++] = '1'; 802b484: 68fb ldr r3, [r7, #12] 802b486: 1c5a adds r2, r3, #1 802b488: 60fa str r2, [r7, #12] 802b48a: 4a64 ldr r2, [pc, #400] ; (802b61c ) 802b48c: 2131 movs r1, #49 ; 0x31 802b48e: 54d1 strb r1, [r2, r3] sector[l++] = '4'; 802b490: 68fb ldr r3, [r7, #12] 802b492: 1c5a adds r2, r3, #1 802b494: 60fa str r2, [r7, #12] 802b496: 4a61 ldr r2, [pc, #388] ; (802b61c ) 802b498: 2134 movs r1, #52 ; 0x34 802b49a: 54d1 strb r1, [r2, r3] sector[l++] = '1'; 802b49c: 68fb ldr r3, [r7, #12] 802b49e: 1c5a adds r2, r3, #1 802b4a0: 60fa str r2, [r7, #12] 802b4a2: 4a5e ldr r2, [pc, #376] ; (802b61c ) 802b4a4: 2131 movs r1, #49 ; 0x31 802b4a6: 54d1 strb r1, [r2, r3] sector[l++] = 'D'; sector[l++] = '1'; sector[l++] = '4'; sector[l++] = '2'; #endif sector[l++] = '"'; 802b4a8: 68fb ldr r3, [r7, #12] 802b4aa: 1c5a adds r2, r3, #1 802b4ac: 60fa str r2, [r7, #12] 802b4ae: 4a5b ldr r2, [pc, #364] ; (802b61c ) 802b4b0: 2122 movs r1, #34 ; 0x22 802b4b2: 54d1 strb r1, [r2, r3] sector[l++] = ','; 802b4b4: 68fb ldr r3, [r7, #12] 802b4b6: 1c5a adds r2, r3, #1 802b4b8: 60fa str r2, [r7, #12] 802b4ba: 4a58 ldr r2, [pc, #352] ; (802b61c ) 802b4bc: 212c movs r1, #44 ; 0x2c 802b4be: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b4c0: 68fb ldr r3, [r7, #12] 802b4c2: 1c5a adds r2, r3, #1 802b4c4: 60fa str r2, [r7, #12] 802b4c6: 4a55 ldr r2, [pc, #340] ; (802b61c ) 802b4c8: 2120 movs r1, #32 802b4ca: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b4cc: 68fb ldr r3, [r7, #12] 802b4ce: 1c5a adds r2, r3, #1 802b4d0: 60fa str r2, [r7, #12] 802b4d2: 4a52 ldr r2, [pc, #328] ; (802b61c ) 802b4d4: 2122 movs r1, #34 ; 0x22 802b4d6: 54d1 strb r1, [r2, r3] sector[l++] = 's'; 802b4d8: 68fb ldr r3, [r7, #12] 802b4da: 1c5a adds r2, r3, #1 802b4dc: 60fa str r2, [r7, #12] 802b4de: 4a4f ldr r2, [pc, #316] ; (802b61c ) 802b4e0: 2173 movs r1, #115 ; 0x73 802b4e2: 54d1 strb r1, [r2, r3] sector[l++] = 'n'; 802b4e4: 68fb ldr r3, [r7, #12] 802b4e6: 1c5a adds r2, r3, #1 802b4e8: 60fa str r2, [r7, #12] 802b4ea: 4a4c ldr r2, [pc, #304] ; (802b61c ) 802b4ec: 216e movs r1, #110 ; 0x6e 802b4ee: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b4f0: 68fb ldr r3, [r7, #12] 802b4f2: 1c5a adds r2, r3, #1 802b4f4: 60fa str r2, [r7, #12] 802b4f6: 4a49 ldr r2, [pc, #292] ; (802b61c ) 802b4f8: 2122 movs r1, #34 ; 0x22 802b4fa: 54d1 strb r1, [r2, r3] sector[l++] = ':'; 802b4fc: 68fb ldr r3, [r7, #12] 802b4fe: 1c5a adds r2, r3, #1 802b500: 60fa str r2, [r7, #12] 802b502: 4a46 ldr r2, [pc, #280] ; (802b61c ) 802b504: 213a movs r1, #58 ; 0x3a 802b506: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b508: 68fb ldr r3, [r7, #12] 802b50a: 1c5a adds r2, r3, #1 802b50c: 60fa str r2, [r7, #12] 802b50e: 4a43 ldr r2, [pc, #268] ; (802b61c ) 802b510: 2120 movs r1, #32 802b512: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b514: 68fb ldr r3, [r7, #12] 802b516: 1c5a adds r2, r3, #1 802b518: 60fa str r2, [r7, #12] 802b51a: 4a40 ldr r2, [pc, #256] ; (802b61c ) 802b51c: 2122 movs r1, #34 ; 0x22 802b51e: 54d1 strb r1, [r2, r3] if(strlen((char *)_SERIAL) != 0) 802b520: 4b3f ldr r3, [pc, #252] ; (802b620 ) 802b522: 781b ldrb r3, [r3, #0] 802b524: 2b00 cmp r3, #0 802b526: d028 beq.n 802b57a { sector[l++] = _SERIAL[0]; 802b528: 68fb ldr r3, [r7, #12] 802b52a: 1c5a adds r2, r3, #1 802b52c: 60fa str r2, [r7, #12] 802b52e: 4a3c ldr r2, [pc, #240] ; (802b620 ) 802b530: 7812 ldrb r2, [r2, #0] 802b532: b2d1 uxtb r1, r2 802b534: 4a39 ldr r2, [pc, #228] ; (802b61c ) 802b536: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[1]; 802b538: 68fb ldr r3, [r7, #12] 802b53a: 1c5a adds r2, r3, #1 802b53c: 60fa str r2, [r7, #12] 802b53e: 4a38 ldr r2, [pc, #224] ; (802b620 ) 802b540: 7852 ldrb r2, [r2, #1] 802b542: b2d1 uxtb r1, r2 802b544: 4a35 ldr r2, [pc, #212] ; (802b61c ) 802b546: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[2]; 802b548: 68fb ldr r3, [r7, #12] 802b54a: 1c5a adds r2, r3, #1 802b54c: 60fa str r2, [r7, #12] 802b54e: 4a34 ldr r2, [pc, #208] ; (802b620 ) 802b550: 7892 ldrb r2, [r2, #2] 802b552: b2d1 uxtb r1, r2 802b554: 4a31 ldr r2, [pc, #196] ; (802b61c ) 802b556: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[3]; 802b558: 68fb ldr r3, [r7, #12] 802b55a: 1c5a adds r2, r3, #1 802b55c: 60fa str r2, [r7, #12] 802b55e: 4a30 ldr r2, [pc, #192] ; (802b620 ) 802b560: 78d2 ldrb r2, [r2, #3] 802b562: b2d1 uxtb r1, r2 802b564: 4a2d ldr r2, [pc, #180] ; (802b61c ) 802b566: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[4]; 802b568: 68fb ldr r3, [r7, #12] 802b56a: 1c5a adds r2, r3, #1 802b56c: 60fa str r2, [r7, #12] 802b56e: 4a2c ldr r2, [pc, #176] ; (802b620 ) 802b570: 7912 ldrb r2, [r2, #4] 802b572: b2d1 uxtb r1, r2 802b574: 4a29 ldr r2, [pc, #164] ; (802b61c ) 802b576: 54d1 strb r1, [r2, r3] 802b578: e01d b.n 802b5b6 } else { sector[l++] = '0'; 802b57a: 68fb ldr r3, [r7, #12] 802b57c: 1c5a adds r2, r3, #1 802b57e: 60fa str r2, [r7, #12] 802b580: 4a26 ldr r2, [pc, #152] ; (802b61c ) 802b582: 2130 movs r1, #48 ; 0x30 802b584: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b586: 68fb ldr r3, [r7, #12] 802b588: 1c5a adds r2, r3, #1 802b58a: 60fa str r2, [r7, #12] 802b58c: 4a23 ldr r2, [pc, #140] ; (802b61c ) 802b58e: 2130 movs r1, #48 ; 0x30 802b590: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b592: 68fb ldr r3, [r7, #12] 802b594: 1c5a adds r2, r3, #1 802b596: 60fa str r2, [r7, #12] 802b598: 4a20 ldr r2, [pc, #128] ; (802b61c ) 802b59a: 2130 movs r1, #48 ; 0x30 802b59c: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b59e: 68fb ldr r3, [r7, #12] 802b5a0: 1c5a adds r2, r3, #1 802b5a2: 60fa str r2, [r7, #12] 802b5a4: 4a1d ldr r2, [pc, #116] ; (802b61c ) 802b5a6: 2130 movs r1, #48 ; 0x30 802b5a8: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b5aa: 68fb ldr r3, [r7, #12] 802b5ac: 1c5a adds r2, r3, #1 802b5ae: 60fa str r2, [r7, #12] 802b5b0: 4a1a ldr r2, [pc, #104] ; (802b61c ) 802b5b2: 2130 movs r1, #48 ; 0x30 802b5b4: 54d1 strb r1, [r2, r3] } sector[l++] = '"'; 802b5b6: 68fb ldr r3, [r7, #12] 802b5b8: 1c5a adds r2, r3, #1 802b5ba: 60fa str r2, [r7, #12] 802b5bc: 4a17 ldr r2, [pc, #92] ; (802b61c ) 802b5be: 2122 movs r1, #34 ; 0x22 802b5c0: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b5c2: 68fb ldr r3, [r7, #12] 802b5c4: 1c5a adds r2, r3, #1 802b5c6: 60fa str r2, [r7, #12] 802b5c8: 4a14 ldr r2, [pc, #80] ; (802b61c ) 802b5ca: 2120 movs r1, #32 802b5cc: 54d1 strb r1, [r2, r3] sector[l++] = '}'; 802b5ce: 68fb ldr r3, [r7, #12] 802b5d0: 1c5a adds r2, r3, #1 802b5d2: 60fa str r2, [r7, #12] 802b5d4: 4a11 ldr r2, [pc, #68] ; (802b61c ) 802b5d6: 217d movs r1, #125 ; 0x7d 802b5d8: 54d1 strb r1, [r2, r3] res = f_write(&F, sector, l, &fk); 802b5da: 1d3b adds r3, r7, #4 802b5dc: 68fa ldr r2, [r7, #12] 802b5de: 490f ldr r1, [pc, #60] ; (802b61c ) 802b5e0: 480d ldr r0, [pc, #52] ; (802b618 ) 802b5e2: f09b f82d bl 80c6640 802b5e6: 4603 mov r3, r0 802b5e8: 72fb strb r3, [r7, #11] if((res == FR_OK) && (fk == l)) 802b5ea: 7afb ldrb r3, [r7, #11] 802b5ec: 2b00 cmp r3, #0 802b5ee: d108 bne.n 802b602 802b5f0: 687a ldr r2, [r7, #4] 802b5f2: 68fb ldr r3, [r7, #12] 802b5f4: 429a cmp r2, r3 802b5f6: d104 bne.n 802b602 { f_close(&F); 802b5f8: 4807 ldr r0, [pc, #28] ; (802b618 ) 802b5fa: f09b fac5 bl 80c6b88 return FR_OK; 802b5fe: 2300 movs r3, #0 802b600: e147 b.n 802b892 } else { f_close(&F); 802b602: 4805 ldr r0, [pc, #20] ; (802b618 ) 802b604: f09b fac0 bl 80c6b88 return FR_DISK_ERR; 802b608: 2301 movs r3, #1 802b60a: e142 b.n 802b892 802b60c: 2002164c .word 0x2002164c 802b610: 200229b4 .word 0x200229b4 802b614: 080ce544 .word 0x080ce544 802b618: 20022e20 .word 0x20022e20 802b61c: 2007c000 .word 0x2007c000 802b620: 20020f14 .word 0x20020f14 } ////////////////////////////////////////////////////////////////// } else { return FR_DISK_ERR; 802b624: 2301 movs r3, #1 802b626: e134 b.n 802b892 } } else if(res == FR_OK) 802b628: 7afb ldrb r3, [r7, #11] 802b62a: 2b00 cmp r3, #0 802b62c: f040 8130 bne.w 802b890 { f_close(&F); 802b630: 489a ldr r0, [pc, #616] ; (802b89c ) 802b632: f09b faa9 bl 80c6b88 f_unlink(PointPath); 802b636: 489a ldr r0, [pc, #616] ; (802b8a0 ) 802b638: f09b ff35 bl 80c74a6 res = f_open(&F, PointPath, FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_WRITE | FA_READ); 802b63c: 221b movs r2, #27 802b63e: 4998 ldr r1, [pc, #608] ; (802b8a0 ) 802b640: 4896 ldr r0, [pc, #600] ; (802b89c ) 802b642: f09a fc5d bl 80c5f00 802b646: 4603 mov r3, r0 802b648: 72fb strb r3, [r7, #11] if(res == FR_OK) 802b64a: 7afb ldrb r3, [r7, #11] 802b64c: 2b00 cmp r3, #0 802b64e: f040 811d bne.w 802b88c { f_sync(&F); 802b652: 4892 ldr r0, [pc, #584] ; (802b89c ) 802b654: f09b f994 bl 80c6980 memset(sector, 0, sizeof(sector)); 802b658: f44f 7200 mov.w r2, #512 ; 0x200 802b65c: 2100 movs r1, #0 802b65e: 4891 ldr r0, [pc, #580] ; (802b8a4 ) 802b660: f0a1 fd0e bl 80cd080 l = 0; 802b664: 2300 movs r3, #0 802b666: 60fb str r3, [r7, #12] sector[l++] = '{'; 802b668: 68fb ldr r3, [r7, #12] 802b66a: 1c5a adds r2, r3, #1 802b66c: 60fa str r2, [r7, #12] 802b66e: 4a8d ldr r2, [pc, #564] ; (802b8a4 ) 802b670: 217b movs r1, #123 ; 0x7b 802b672: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b674: 68fb ldr r3, [r7, #12] 802b676: 1c5a adds r2, r3, #1 802b678: 60fa str r2, [r7, #12] 802b67a: 4a8a ldr r2, [pc, #552] ; (802b8a4 ) 802b67c: 2120 movs r1, #32 802b67e: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b680: 68fb ldr r3, [r7, #12] 802b682: 1c5a adds r2, r3, #1 802b684: 60fa str r2, [r7, #12] 802b686: 4a87 ldr r2, [pc, #540] ; (802b8a4 ) 802b688: 2122 movs r1, #34 ; 0x22 802b68a: 54d1 strb r1, [r2, r3] sector[l++] = 'm'; 802b68c: 68fb ldr r3, [r7, #12] 802b68e: 1c5a adds r2, r3, #1 802b690: 60fa str r2, [r7, #12] 802b692: 4a84 ldr r2, [pc, #528] ; (802b8a4 ) 802b694: 216d movs r1, #109 ; 0x6d 802b696: 54d1 strb r1, [r2, r3] sector[l++] = 'o'; 802b698: 68fb ldr r3, [r7, #12] 802b69a: 1c5a adds r2, r3, #1 802b69c: 60fa str r2, [r7, #12] 802b69e: 4a81 ldr r2, [pc, #516] ; (802b8a4 ) 802b6a0: 216f movs r1, #111 ; 0x6f 802b6a2: 54d1 strb r1, [r2, r3] sector[l++] = 'd'; 802b6a4: 68fb ldr r3, [r7, #12] 802b6a6: 1c5a adds r2, r3, #1 802b6a8: 60fa str r2, [r7, #12] 802b6aa: 4a7e ldr r2, [pc, #504] ; (802b8a4 ) 802b6ac: 2164 movs r1, #100 ; 0x64 802b6ae: 54d1 strb r1, [r2, r3] sector[l++] = 'e'; 802b6b0: 68fb ldr r3, [r7, #12] 802b6b2: 1c5a adds r2, r3, #1 802b6b4: 60fa str r2, [r7, #12] 802b6b6: 4a7b ldr r2, [pc, #492] ; (802b8a4 ) 802b6b8: 2165 movs r1, #101 ; 0x65 802b6ba: 54d1 strb r1, [r2, r3] sector[l++] = 'l'; 802b6bc: 68fb ldr r3, [r7, #12] 802b6be: 1c5a adds r2, r3, #1 802b6c0: 60fa str r2, [r7, #12] 802b6c2: 4a78 ldr r2, [pc, #480] ; (802b8a4 ) 802b6c4: 216c movs r1, #108 ; 0x6c 802b6c6: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b6c8: 68fb ldr r3, [r7, #12] 802b6ca: 1c5a adds r2, r3, #1 802b6cc: 60fa str r2, [r7, #12] 802b6ce: 4a75 ldr r2, [pc, #468] ; (802b8a4 ) 802b6d0: 2122 movs r1, #34 ; 0x22 802b6d2: 54d1 strb r1, [r2, r3] sector[l++] = ':'; 802b6d4: 68fb ldr r3, [r7, #12] 802b6d6: 1c5a adds r2, r3, #1 802b6d8: 60fa str r2, [r7, #12] 802b6da: 4a72 ldr r2, [pc, #456] ; (802b8a4 ) 802b6dc: 213a movs r1, #58 ; 0x3a 802b6de: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b6e0: 68fb ldr r3, [r7, #12] 802b6e2: 1c5a adds r2, r3, #1 802b6e4: 60fa str r2, [r7, #12] 802b6e6: 4a6f ldr r2, [pc, #444] ; (802b8a4 ) 802b6e8: 2120 movs r1, #32 802b6ea: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b6ec: 68fb ldr r3, [r7, #12] 802b6ee: 1c5a adds r2, r3, #1 802b6f0: 60fa str r2, [r7, #12] 802b6f2: 4a6c ldr r2, [pc, #432] ; (802b8a4 ) 802b6f4: 2122 movs r1, #34 ; 0x22 802b6f6: 54d1 strb r1, [r2, r3] sector[l++] = '1'; sector[l++] = '0'; sector[l++] = '2'; #endif #ifdef USE_D141 sector[l++] = 'D'; 802b6f8: 68fb ldr r3, [r7, #12] 802b6fa: 1c5a adds r2, r3, #1 802b6fc: 60fa str r2, [r7, #12] 802b6fe: 4a69 ldr r2, [pc, #420] ; (802b8a4 ) 802b700: 2144 movs r1, #68 ; 0x44 802b702: 54d1 strb r1, [r2, r3] sector[l++] = '1'; 802b704: 68fb ldr r3, [r7, #12] 802b706: 1c5a adds r2, r3, #1 802b708: 60fa str r2, [r7, #12] 802b70a: 4a66 ldr r2, [pc, #408] ; (802b8a4 ) 802b70c: 2131 movs r1, #49 ; 0x31 802b70e: 54d1 strb r1, [r2, r3] sector[l++] = '4'; 802b710: 68fb ldr r3, [r7, #12] 802b712: 1c5a adds r2, r3, #1 802b714: 60fa str r2, [r7, #12] 802b716: 4a63 ldr r2, [pc, #396] ; (802b8a4 ) 802b718: 2134 movs r1, #52 ; 0x34 802b71a: 54d1 strb r1, [r2, r3] sector[l++] = '1'; 802b71c: 68fb ldr r3, [r7, #12] 802b71e: 1c5a adds r2, r3, #1 802b720: 60fa str r2, [r7, #12] 802b722: 4a60 ldr r2, [pc, #384] ; (802b8a4 ) 802b724: 2131 movs r1, #49 ; 0x31 802b726: 54d1 strb r1, [r2, r3] sector[l++] = 'D'; sector[l++] = '1'; sector[l++] = '4'; sector[l++] = '2'; #endif sector[l++] = '"'; 802b728: 68fb ldr r3, [r7, #12] 802b72a: 1c5a adds r2, r3, #1 802b72c: 60fa str r2, [r7, #12] 802b72e: 4a5d ldr r2, [pc, #372] ; (802b8a4 ) 802b730: 2122 movs r1, #34 ; 0x22 802b732: 54d1 strb r1, [r2, r3] sector[l++] = ','; 802b734: 68fb ldr r3, [r7, #12] 802b736: 1c5a adds r2, r3, #1 802b738: 60fa str r2, [r7, #12] 802b73a: 4a5a ldr r2, [pc, #360] ; (802b8a4 ) 802b73c: 212c movs r1, #44 ; 0x2c 802b73e: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b740: 68fb ldr r3, [r7, #12] 802b742: 1c5a adds r2, r3, #1 802b744: 60fa str r2, [r7, #12] 802b746: 4a57 ldr r2, [pc, #348] ; (802b8a4 ) 802b748: 2120 movs r1, #32 802b74a: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b74c: 68fb ldr r3, [r7, #12] 802b74e: 1c5a adds r2, r3, #1 802b750: 60fa str r2, [r7, #12] 802b752: 4a54 ldr r2, [pc, #336] ; (802b8a4 ) 802b754: 2122 movs r1, #34 ; 0x22 802b756: 54d1 strb r1, [r2, r3] sector[l++] = 's'; 802b758: 68fb ldr r3, [r7, #12] 802b75a: 1c5a adds r2, r3, #1 802b75c: 60fa str r2, [r7, #12] 802b75e: 4a51 ldr r2, [pc, #324] ; (802b8a4 ) 802b760: 2173 movs r1, #115 ; 0x73 802b762: 54d1 strb r1, [r2, r3] sector[l++] = 'n'; 802b764: 68fb ldr r3, [r7, #12] 802b766: 1c5a adds r2, r3, #1 802b768: 60fa str r2, [r7, #12] 802b76a: 4a4e ldr r2, [pc, #312] ; (802b8a4 ) 802b76c: 216e movs r1, #110 ; 0x6e 802b76e: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b770: 68fb ldr r3, [r7, #12] 802b772: 1c5a adds r2, r3, #1 802b774: 60fa str r2, [r7, #12] 802b776: 4a4b ldr r2, [pc, #300] ; (802b8a4 ) 802b778: 2122 movs r1, #34 ; 0x22 802b77a: 54d1 strb r1, [r2, r3] sector[l++] = ':'; 802b77c: 68fb ldr r3, [r7, #12] 802b77e: 1c5a adds r2, r3, #1 802b780: 60fa str r2, [r7, #12] 802b782: 4a48 ldr r2, [pc, #288] ; (802b8a4 ) 802b784: 213a movs r1, #58 ; 0x3a 802b786: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b788: 68fb ldr r3, [r7, #12] 802b78a: 1c5a adds r2, r3, #1 802b78c: 60fa str r2, [r7, #12] 802b78e: 4a45 ldr r2, [pc, #276] ; (802b8a4 ) 802b790: 2120 movs r1, #32 802b792: 54d1 strb r1, [r2, r3] sector[l++] = '"'; 802b794: 68fb ldr r3, [r7, #12] 802b796: 1c5a adds r2, r3, #1 802b798: 60fa str r2, [r7, #12] 802b79a: 4a42 ldr r2, [pc, #264] ; (802b8a4 ) 802b79c: 2122 movs r1, #34 ; 0x22 802b79e: 54d1 strb r1, [r2, r3] if(strlen((char *) _SERIAL) != 0) 802b7a0: 4b41 ldr r3, [pc, #260] ; (802b8a8 ) 802b7a2: 781b ldrb r3, [r3, #0] 802b7a4: 2b00 cmp r3, #0 802b7a6: d028 beq.n 802b7fa { sector[l++] = _SERIAL[0]; 802b7a8: 68fb ldr r3, [r7, #12] 802b7aa: 1c5a adds r2, r3, #1 802b7ac: 60fa str r2, [r7, #12] 802b7ae: 4a3e ldr r2, [pc, #248] ; (802b8a8 ) 802b7b0: 7812 ldrb r2, [r2, #0] 802b7b2: b2d1 uxtb r1, r2 802b7b4: 4a3b ldr r2, [pc, #236] ; (802b8a4 ) 802b7b6: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[1]; 802b7b8: 68fb ldr r3, [r7, #12] 802b7ba: 1c5a adds r2, r3, #1 802b7bc: 60fa str r2, [r7, #12] 802b7be: 4a3a ldr r2, [pc, #232] ; (802b8a8 ) 802b7c0: 7852 ldrb r2, [r2, #1] 802b7c2: b2d1 uxtb r1, r2 802b7c4: 4a37 ldr r2, [pc, #220] ; (802b8a4 ) 802b7c6: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[2]; 802b7c8: 68fb ldr r3, [r7, #12] 802b7ca: 1c5a adds r2, r3, #1 802b7cc: 60fa str r2, [r7, #12] 802b7ce: 4a36 ldr r2, [pc, #216] ; (802b8a8 ) 802b7d0: 7892 ldrb r2, [r2, #2] 802b7d2: b2d1 uxtb r1, r2 802b7d4: 4a33 ldr r2, [pc, #204] ; (802b8a4 ) 802b7d6: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[3]; 802b7d8: 68fb ldr r3, [r7, #12] 802b7da: 1c5a adds r2, r3, #1 802b7dc: 60fa str r2, [r7, #12] 802b7de: 4a32 ldr r2, [pc, #200] ; (802b8a8 ) 802b7e0: 78d2 ldrb r2, [r2, #3] 802b7e2: b2d1 uxtb r1, r2 802b7e4: 4a2f ldr r2, [pc, #188] ; (802b8a4 ) 802b7e6: 54d1 strb r1, [r2, r3] sector[l++] = _SERIAL[4]; 802b7e8: 68fb ldr r3, [r7, #12] 802b7ea: 1c5a adds r2, r3, #1 802b7ec: 60fa str r2, [r7, #12] 802b7ee: 4a2e ldr r2, [pc, #184] ; (802b8a8 ) 802b7f0: 7912 ldrb r2, [r2, #4] 802b7f2: b2d1 uxtb r1, r2 802b7f4: 4a2b ldr r2, [pc, #172] ; (802b8a4 ) 802b7f6: 54d1 strb r1, [r2, r3] 802b7f8: e01d b.n 802b836 } else { sector[l++] = '0'; 802b7fa: 68fb ldr r3, [r7, #12] 802b7fc: 1c5a adds r2, r3, #1 802b7fe: 60fa str r2, [r7, #12] 802b800: 4a28 ldr r2, [pc, #160] ; (802b8a4 ) 802b802: 2130 movs r1, #48 ; 0x30 802b804: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b806: 68fb ldr r3, [r7, #12] 802b808: 1c5a adds r2, r3, #1 802b80a: 60fa str r2, [r7, #12] 802b80c: 4a25 ldr r2, [pc, #148] ; (802b8a4 ) 802b80e: 2130 movs r1, #48 ; 0x30 802b810: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b812: 68fb ldr r3, [r7, #12] 802b814: 1c5a adds r2, r3, #1 802b816: 60fa str r2, [r7, #12] 802b818: 4a22 ldr r2, [pc, #136] ; (802b8a4 ) 802b81a: 2130 movs r1, #48 ; 0x30 802b81c: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b81e: 68fb ldr r3, [r7, #12] 802b820: 1c5a adds r2, r3, #1 802b822: 60fa str r2, [r7, #12] 802b824: 4a1f ldr r2, [pc, #124] ; (802b8a4 ) 802b826: 2130 movs r1, #48 ; 0x30 802b828: 54d1 strb r1, [r2, r3] sector[l++] = '0'; 802b82a: 68fb ldr r3, [r7, #12] 802b82c: 1c5a adds r2, r3, #1 802b82e: 60fa str r2, [r7, #12] 802b830: 4a1c ldr r2, [pc, #112] ; (802b8a4 ) 802b832: 2130 movs r1, #48 ; 0x30 802b834: 54d1 strb r1, [r2, r3] } sector[l++] = '"'; 802b836: 68fb ldr r3, [r7, #12] 802b838: 1c5a adds r2, r3, #1 802b83a: 60fa str r2, [r7, #12] 802b83c: 4a19 ldr r2, [pc, #100] ; (802b8a4 ) 802b83e: 2122 movs r1, #34 ; 0x22 802b840: 54d1 strb r1, [r2, r3] sector[l++] = ' '; 802b842: 68fb ldr r3, [r7, #12] 802b844: 1c5a adds r2, r3, #1 802b846: 60fa str r2, [r7, #12] 802b848: 4a16 ldr r2, [pc, #88] ; (802b8a4 ) 802b84a: 2120 movs r1, #32 802b84c: 54d1 strb r1, [r2, r3] sector[l++] = '}'; 802b84e: 68fb ldr r3, [r7, #12] 802b850: 1c5a adds r2, r3, #1 802b852: 60fa str r2, [r7, #12] 802b854: 4a13 ldr r2, [pc, #76] ; (802b8a4 ) 802b856: 217d movs r1, #125 ; 0x7d 802b858: 54d1 strb r1, [r2, r3] res = f_write(&F, sector, l, &fk); 802b85a: 1d3b adds r3, r7, #4 802b85c: 68fa ldr r2, [r7, #12] 802b85e: 4911 ldr r1, [pc, #68] ; (802b8a4 ) 802b860: 480e ldr r0, [pc, #56] ; (802b89c ) 802b862: f09a feed bl 80c6640 802b866: 4603 mov r3, r0 802b868: 72fb strb r3, [r7, #11] if((res == FR_OK) && (fk == l)) 802b86a: 7afb ldrb r3, [r7, #11] 802b86c: 2b00 cmp r3, #0 802b86e: d108 bne.n 802b882 802b870: 687a ldr r2, [r7, #4] 802b872: 68fb ldr r3, [r7, #12] 802b874: 429a cmp r2, r3 802b876: d104 bne.n 802b882 { f_close(&F); 802b878: 4808 ldr r0, [pc, #32] ; (802b89c ) 802b87a: f09b f985 bl 80c6b88 return FR_OK; 802b87e: 2300 movs r3, #0 802b880: e007 b.n 802b892 } else { f_close(&F); 802b882: 4806 ldr r0, [pc, #24] ; (802b89c ) 802b884: f09b f980 bl 80c6b88 return FR_DISK_ERR; 802b888: 2301 movs r3, #1 802b88a: e002 b.n 802b892 } ////////////////////////////////////////////////////////////////// } else { return FR_DISK_ERR; 802b88c: 2301 movs r3, #1 802b88e: e000 b.n 802b892 } } return res; 802b890: 7afb ldrb r3, [r7, #11] } 802b892: 4618 mov r0, r3 802b894: 3714 adds r7, #20 802b896: 46bd mov sp, r7 802b898: bd90 pop {r4, r7, pc} 802b89a: bf00 nop 802b89c: 20022e20 .word 0x20022e20 802b8a0: 200229b4 .word 0x200229b4 802b8a4: 2007c000 .word 0x2007c000 802b8a8: 20020f14 .word 0x20020f14 0802b8ac : FRESULT ScanFiles(char* path, uint32_t IndexFirstFile) { 802b8ac: b590 push {r4, r7, lr} 802b8ae: b09d sub sp, #116 ; 0x74 802b8b0: af00 add r7, sp, #0 802b8b2: 6078 str r0, [r7, #4] 802b8b4: 6039 str r1, [r7, #0] FRESULT res; //FILINFO fno; DIR dir; uint32_t i, l; int32_t r = 0; 802b8b6: 2300 movs r3, #0 802b8b8: 66bb str r3, [r7, #104] ; 0x68 uint32_t num = 0; 802b8ba: 2300 movs r3, #0 802b8bc: 667b str r3, [r7, #100] ; 0x64 char *fn; /* Ïîäðàçóìåâàåòñÿ, ÷òî êîíôèãóðàöèÿ áåç Unicode. */ #if _USE_LFN #endif res = f_opendir(&dir, path); /* Îòêðûòèå äèðåêòîðèè */ 802b8be: f107 0308 add.w r3, r7, #8 802b8c2: 6879 ldr r1, [r7, #4] 802b8c4: 4618 mov r0, r3 802b8c6: f09b fc08 bl 80c70da 802b8ca: 4603 mov r3, r0 802b8cc: f887 306f strb.w r3, [r7, #111] ; 0x6f if(res == FR_OK) 802b8d0: f897 306f ldrb.w r3, [r7, #111] ; 0x6f 802b8d4: 2b00 cmp r3, #0 802b8d6: f040 8651 bne.w 802c57c { i = strlen(path); 802b8da: 6878 ldr r0, [r7, #4] 802b8dc: f7f4 fd1a bl 8020314 802b8e0: 6638 str r0, [r7, #96] ; 0x60 for (;;) { res = f_readdir(&dir, &fno); /* ×òåíèå îáúåêòà äèðåêòîðèè */ 802b8e2: f107 0308 add.w r3, r7, #8 802b8e6: 49a6 ldr r1, [pc, #664] ; (802bb80 ) 802b8e8: 4618 mov r0, r3 802b8ea: f09b fc9d bl 80c7228 802b8ee: 4603 mov r3, r0 802b8f0: f887 306f strb.w r3, [r7, #111] ; 0x6f if(res != FR_OK || fno.fname[0] == 0) 802b8f4: f897 306f ldrb.w r3, [r7, #111] ; 0x6f 802b8f8: 2b00 cmp r3, #0 802b8fa: f040 863f bne.w 802c57c 802b8fe: 4ba0 ldr r3, [pc, #640] ; (802bb80 ) 802b900: 7e9b ldrb r3, [r3, #26] 802b902: 2b00 cmp r3, #0 802b904: f000 863a beq.w 802c57c break; /* Îñòàíîâ öèêëà ïðè îøèáêå èëè ïðè äîñòèæåíèè êîíöà ñïèñêà äèðåêòîðèè */ if(fno.fname[0] == '.') 802b908: 4b9d ldr r3, [pc, #628] ; (802bb80 ) 802b90a: 7e9b ldrb r3, [r3, #26] 802b90c: 2b2e cmp r3, #46 ; 0x2e 802b90e: f000 8607 beq.w 802c520 continue; /* Èãíîðèðîâàíèå ýëåìåíòà 'òî÷êà' */ #if _USE_LFN fn = *fno.fname ? fno.fname : fno.altname; 802b912: 4b9b ldr r3, [pc, #620] ; (802bb80 ) 802b914: 7e9b ldrb r3, [r3, #26] 802b916: 2b00 cmp r3, #0 802b918: d001 beq.n 802b91e 802b91a: 4b9a ldr r3, [pc, #616] ; (802bb84 ) 802b91c: e000 b.n 802b920 802b91e: 4b9a ldr r3, [pc, #616] ; (802bb88 ) 802b920: 65fb str r3, [r7, #92] ; 0x5c #else fn = fno.fname; #endif if(fno.fattrib & AM_DIR) 802b922: 4b97 ldr r3, [pc, #604] ; (802bb80 ) 802b924: 7b1b ldrb r3, [r3, #12] 802b926: f003 0310 and.w r3, r3, #16 802b92a: 2b00 cmp r3, #0 802b92c: d021 beq.n 802b972 { /* Ýòî äèðåêòîðèÿ */ sprintf(&path[i], "/%s", fn); 802b92e: 687a ldr r2, [r7, #4] 802b930: 6e3b ldr r3, [r7, #96] ; 0x60 802b932: 4413 add r3, r2 802b934: 6dfa ldr r2, [r7, #92] ; 0x5c 802b936: 4995 ldr r1, [pc, #596] ; (802bb8c ) 802b938: 4618 mov r0, r3 802b93a: f0a1 fc7d bl 80cd238 if(FlagReturn == false) { 802b93e: 4b94 ldr r3, [pc, #592] ; (802bb90 ) 802b940: 781b ldrb r3, [r3, #0] 802b942: b2db uxtb r3, r3 802b944: f083 0301 eor.w r3, r3, #1 802b948: b2db uxtb r3, r3 802b94a: 2b00 cmp r3, #0 802b94c: d006 beq.n 802b95c res = ScanFiles(path, IndexFirstFile); 802b94e: 6839 ldr r1, [r7, #0] 802b950: 6878 ldr r0, [r7, #4] 802b952: f7ff ffab bl 802b8ac 802b956: 4603 mov r3, r0 802b958: f887 306f strb.w r3, [r7, #111] ; 0x6f } if (res != FR_OK) { 802b95c: f897 306f ldrb.w r3, [r7, #111] ; 0x6f 802b960: 2b00 cmp r3, #0 802b962: f040 860a bne.w 802c57a break; } path[i] = 0; 802b966: 687a ldr r2, [r7, #4] 802b968: 6e3b ldr r3, [r7, #96] ; 0x60 802b96a: 4413 add r3, r2 802b96c: 2200 movs r2, #0 802b96e: 701a strb r2, [r3, #0] 802b970: e7b7 b.n 802b8e2 } path[i] = 0;*/ } else { /* Ýòî ôàéë. */ printf("%s/%s\n", path, fn); 802b972: 6dfa ldr r2, [r7, #92] ; 0x5c 802b974: 6879 ldr r1, [r7, #4] 802b976: 4887 ldr r0, [pc, #540] ; (802bb94 ) 802b978: f0a1 fc36 bl 80cd1e8 l = strlen(fn); 802b97c: 6df8 ldr r0, [r7, #92] ; 0x5c 802b97e: f7f4 fcc9 bl 8020314 802b982: 65b8 str r0, [r7, #88] ; 0x58 switch(ScanMode) 802b984: 4b84 ldr r3, [pc, #528] ; (802bb98 ) 802b986: 781b ldrb r3, [r3, #0] 802b988: b2db uxtb r3, r3 802b98a: 2b0d cmp r3, #13 802b98c: d8a9 bhi.n 802b8e2 802b98e: a201 add r2, pc, #4 ; (adr r2, 802b994 ) 802b990: f852 f023 ldr.w pc, [r2, r3, lsl #2] 802b994: 0802b9cd .word 0x0802b9cd 802b998: 0802bc19 .word 0x0802bc19 802b99c: 0802ba9d .word 0x0802ba9d 802b9a0: 0802bbb1 .word 0x0802bbb1 802b9a4: 0802ba35 .word 0x0802ba35 802b9a8: 0802bb05 .word 0x0802bb05 802b9ac: 0802bc81 .word 0x0802bc81 802b9b0: 0802be61 .word 0x0802be61 802b9b4: 0802c3ab .word 0x0802c3ab 802b9b8: 0802c4c7 .word 0x0802c4c7 802b9bc: 0802c079 .word 0x0802c079 802b9c0: 0802c2a9 .word 0x0802c2a9 802b9c4: 0802bf63 .word 0x0802bf63 802b9c8: 0802c17b .word 0x0802c17b { case GET_NUM_PTM_FILES: if((fn[l - 3] == 'p') || (fn[l - 3] == 'P')) 802b9cc: 6dbb ldr r3, [r7, #88] ; 0x58 802b9ce: 3b03 subs r3, #3 802b9d0: 6dfa ldr r2, [r7, #92] ; 0x5c 802b9d2: 4413 add r3, r2 802b9d4: 781b ldrb r3, [r3, #0] 802b9d6: 2b70 cmp r3, #112 ; 0x70 802b9d8: d007 beq.n 802b9ea 802b9da: 6dbb ldr r3, [r7, #88] ; 0x58 802b9dc: 3b03 subs r3, #3 802b9de: 6dfa ldr r2, [r7, #92] ; 0x5c 802b9e0: 4413 add r3, r2 802b9e2: 781b ldrb r3, [r3, #0] 802b9e4: 2b50 cmp r3, #80 ; 0x50 802b9e6: f040 859e bne.w 802c526 { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802b9ea: 6dbb ldr r3, [r7, #88] ; 0x58 802b9ec: 3b02 subs r3, #2 802b9ee: 6dfa ldr r2, [r7, #92] ; 0x5c 802b9f0: 4413 add r3, r2 802b9f2: 781b ldrb r3, [r3, #0] 802b9f4: 2b74 cmp r3, #116 ; 0x74 802b9f6: d007 beq.n 802ba08 802b9f8: 6dbb ldr r3, [r7, #88] ; 0x58 802b9fa: 3b02 subs r3, #2 802b9fc: 6dfa ldr r2, [r7, #92] ; 0x5c 802b9fe: 4413 add r3, r2 802ba00: 781b ldrb r3, [r3, #0] 802ba02: 2b54 cmp r3, #84 ; 0x54 802ba04: f040 858f bne.w 802c526 { if((fn[l - 1] == 'm') || (fn[l - 1] == 'M')) 802ba08: 6dbb ldr r3, [r7, #88] ; 0x58 802ba0a: 3b01 subs r3, #1 802ba0c: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba0e: 4413 add r3, r2 802ba10: 781b ldrb r3, [r3, #0] 802ba12: 2b6d cmp r3, #109 ; 0x6d 802ba14: d007 beq.n 802ba26 802ba16: 6dbb ldr r3, [r7, #88] ; 0x58 802ba18: 3b01 subs r3, #1 802ba1a: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba1c: 4413 add r3, r2 802ba1e: 781b ldrb r3, [r3, #0] 802ba20: 2b4d cmp r3, #77 ; 0x4d 802ba22: f040 8580 bne.w 802c526 { tmpPTM++; 802ba26: 4b5d ldr r3, [pc, #372] ; (802bb9c ) 802ba28: 681b ldr r3, [r3, #0] 802ba2a: 3301 adds r3, #1 802ba2c: 4a5b ldr r2, [pc, #364] ; (802bb9c ) 802ba2e: 6013 str r3, [r2, #0] } } } break; 802ba30: f000 bd79 b.w 802c526 case GET_NUM_DGN_FILES: if((fn[l - 3] == 'd') || (fn[l - 3] == 'D')) 802ba34: 6dbb ldr r3, [r7, #88] ; 0x58 802ba36: 3b03 subs r3, #3 802ba38: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba3a: 4413 add r3, r2 802ba3c: 781b ldrb r3, [r3, #0] 802ba3e: 2b64 cmp r3, #100 ; 0x64 802ba40: d007 beq.n 802ba52 802ba42: 6dbb ldr r3, [r7, #88] ; 0x58 802ba44: 3b03 subs r3, #3 802ba46: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba48: 4413 add r3, r2 802ba4a: 781b ldrb r3, [r3, #0] 802ba4c: 2b44 cmp r3, #68 ; 0x44 802ba4e: f040 856d bne.w 802c52c { if((fn[l - 2] == 'g') || (fn[l - 2] == 'G')) 802ba52: 6dbb ldr r3, [r7, #88] ; 0x58 802ba54: 3b02 subs r3, #2 802ba56: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba58: 4413 add r3, r2 802ba5a: 781b ldrb r3, [r3, #0] 802ba5c: 2b67 cmp r3, #103 ; 0x67 802ba5e: d007 beq.n 802ba70 802ba60: 6dbb ldr r3, [r7, #88] ; 0x58 802ba62: 3b02 subs r3, #2 802ba64: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba66: 4413 add r3, r2 802ba68: 781b ldrb r3, [r3, #0] 802ba6a: 2b47 cmp r3, #71 ; 0x47 802ba6c: f040 855e bne.w 802c52c { if((fn[l - 1] == 'n') || (fn[l - 1] == 'N')) 802ba70: 6dbb ldr r3, [r7, #88] ; 0x58 802ba72: 3b01 subs r3, #1 802ba74: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba76: 4413 add r3, r2 802ba78: 781b ldrb r3, [r3, #0] 802ba7a: 2b6e cmp r3, #110 ; 0x6e 802ba7c: d007 beq.n 802ba8e 802ba7e: 6dbb ldr r3, [r7, #88] ; 0x58 802ba80: 3b01 subs r3, #1 802ba82: 6dfa ldr r2, [r7, #92] ; 0x5c 802ba84: 4413 add r3, r2 802ba86: 781b ldrb r3, [r3, #0] 802ba88: 2b4e cmp r3, #78 ; 0x4e 802ba8a: f040 854f bne.w 802c52c { tmpDGN++; 802ba8e: 4b44 ldr r3, [pc, #272] ; (802bba0 ) 802ba90: 681b ldr r3, [r3, #0] 802ba92: 3301 adds r3, #1 802ba94: 4a42 ldr r2, [pc, #264] ; (802bba0 ) 802ba96: 6013 str r3, [r2, #0] } } } break; 802ba98: f000 bd48 b.w 802c52c case GET_NUM_SPEC_FILES: if((fn[l - 3] == 'c') || (fn[l - 3] == 'C')) 802ba9c: 6dbb ldr r3, [r7, #88] ; 0x58 802ba9e: 3b03 subs r3, #3 802baa0: 6dfa ldr r2, [r7, #92] ; 0x5c 802baa2: 4413 add r3, r2 802baa4: 781b ldrb r3, [r3, #0] 802baa6: 2b63 cmp r3, #99 ; 0x63 802baa8: d007 beq.n 802baba 802baaa: 6dbb ldr r3, [r7, #88] ; 0x58 802baac: 3b03 subs r3, #3 802baae: 6dfa ldr r2, [r7, #92] ; 0x5c 802bab0: 4413 add r3, r2 802bab2: 781b ldrb r3, [r3, #0] 802bab4: 2b43 cmp r3, #67 ; 0x43 802bab6: f040 853c bne.w 802c532 { if((fn[l - 2] == 's') || (fn[l - 2] == 'S')) 802baba: 6dbb ldr r3, [r7, #88] ; 0x58 802babc: 3b02 subs r3, #2 802babe: 6dfa ldr r2, [r7, #92] ; 0x5c 802bac0: 4413 add r3, r2 802bac2: 781b ldrb r3, [r3, #0] 802bac4: 2b73 cmp r3, #115 ; 0x73 802bac6: d007 beq.n 802bad8 802bac8: 6dbb ldr r3, [r7, #88] ; 0x58 802baca: 3b02 subs r3, #2 802bacc: 6dfa ldr r2, [r7, #92] ; 0x5c 802bace: 4413 add r3, r2 802bad0: 781b ldrb r3, [r3, #0] 802bad2: 2b53 cmp r3, #83 ; 0x53 802bad4: f040 852d bne.w 802c532 { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802bad8: 6dbb ldr r3, [r7, #88] ; 0x58 802bada: 3b01 subs r3, #1 802badc: 6dfa ldr r2, [r7, #92] ; 0x5c 802bade: 4413 add r3, r2 802bae0: 781b ldrb r3, [r3, #0] 802bae2: 2b76 cmp r3, #118 ; 0x76 802bae4: d007 beq.n 802baf6 802bae6: 6dbb ldr r3, [r7, #88] ; 0x58 802bae8: 3b01 subs r3, #1 802baea: 6dfa ldr r2, [r7, #92] ; 0x5c 802baec: 4413 add r3, r2 802baee: 781b ldrb r3, [r3, #0] 802baf0: 2b56 cmp r3, #86 ; 0x56 802baf2: f040 851e bne.w 802c532 { tmpSPEC++; 802baf6: 4b2b ldr r3, [pc, #172] ; (802bba4 ) 802baf8: 681b ldr r3, [r3, #0] 802bafa: 3301 adds r3, #1 802bafc: 4a29 ldr r2, [pc, #164] ; (802bba4 ) 802bafe: 6013 str r3, [r2, #0] } } } break; 802bb00: f000 bd17 b.w 802c532 case GET_NUM_CSV_FILES: if((fn[l - 3] == 'c') || (fn[l - 3] == 'C')) 802bb04: 6dbb ldr r3, [r7, #88] ; 0x58 802bb06: 3b03 subs r3, #3 802bb08: 6dfa ldr r2, [r7, #92] ; 0x5c 802bb0a: 4413 add r3, r2 802bb0c: 781b ldrb r3, [r3, #0] 802bb0e: 2b63 cmp r3, #99 ; 0x63 802bb10: d007 beq.n 802bb22 802bb12: 6dbb ldr r3, [r7, #88] ; 0x58 802bb14: 3b03 subs r3, #3 802bb16: 6dfa ldr r2, [r7, #92] ; 0x5c 802bb18: 4413 add r3, r2 802bb1a: 781b ldrb r3, [r3, #0] 802bb1c: 2b43 cmp r3, #67 ; 0x43 802bb1e: f040 850b bne.w 802c538 { if((fn[l - 2] == 's') || (fn[l - 2] == 'S')) 802bb22: 6dbb ldr r3, [r7, #88] ; 0x58 802bb24: 3b02 subs r3, #2 802bb26: 6dfa ldr r2, [r7, #92] ; 0x5c 802bb28: 4413 add r3, r2 802bb2a: 781b ldrb r3, [r3, #0] 802bb2c: 2b73 cmp r3, #115 ; 0x73 802bb2e: d007 beq.n 802bb40 802bb30: 6dbb ldr r3, [r7, #88] ; 0x58 802bb32: 3b02 subs r3, #2 802bb34: 6dfa ldr r2, [r7, #92] ; 0x5c 802bb36: 4413 add r3, r2 802bb38: 781b ldrb r3, [r3, #0] 802bb3a: 2b53 cmp r3, #83 ; 0x53 802bb3c: f040 84fc bne.w 802c538 { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802bb40: 6dbb ldr r3, [r7, #88] ; 0x58 802bb42: 3b01 subs r3, #1 802bb44: 6dfa ldr r2, [r7, #92] ; 0x5c 802bb46: 4413 add r3, r2 802bb48: 781b ldrb r3, [r3, #0] 802bb4a: 2b76 cmp r3, #118 ; 0x76 802bb4c: d007 beq.n 802bb5e 802bb4e: 6dbb ldr r3, [r7, #88] ; 0x58 802bb50: 3b01 subs r3, #1 802bb52: 6dfa ldr r2, [r7, #92] ; 0x5c 802bb54: 4413 add r3, r2 802bb56: 781b ldrb r3, [r3, #0] 802bb58: 2b56 cmp r3, #86 ; 0x56 802bb5a: f040 84ed bne.w 802c538 { if(memcmp(path, "0:/Routes", 9) == 0) { 802bb5e: 2209 movs r2, #9 802bb60: 4911 ldr r1, [pc, #68] ; (802bba8 ) 802bb62: 6878 ldr r0, [r7, #4] 802bb64: f0a1 fa72 bl 80cd04c 802bb68: 4603 mov r3, r0 802bb6a: 2b00 cmp r3, #0 802bb6c: f040 84e4 bne.w 802c538 tmpCSV++; 802bb70: 4b0e ldr r3, [pc, #56] ; (802bbac ) 802bb72: 681b ldr r3, [r3, #0] 802bb74: 3301 adds r3, #1 802bb76: 4a0d ldr r2, [pc, #52] ; (802bbac ) 802bb78: 6013 str r3, [r2, #0] } } } } break; 802bb7a: f000 bcdd b.w 802c538 802bb7e: bf00 nop 802bb80: 20021fa0 .word 0x20021fa0 802bb84: 20021fba .word 0x20021fba 802bb88: 20021fad .word 0x20021fad 802bb8c: 080ce550 .word 0x080ce550 802bb90: 20020dde .word 0x20020dde 802bb94: 080ce554 .word 0x080ce554 802bb98: 20020ddf .word 0x20020ddf 802bb9c: 20020e1c .word 0x20020e1c 802bba0: 20020e20 .word 0x20020e20 802bba4: 20020e24 .word 0x20020e24 802bba8: 080ce55c .word 0x080ce55c 802bbac: 20020e30 .word 0x20020e30 case GET_NUM_FRAN_FILES: if((fn[l - 3] == 'f') || (fn[l - 3] == 'F')) 802bbb0: 6dbb ldr r3, [r7, #88] ; 0x58 802bbb2: 3b03 subs r3, #3 802bbb4: 6dfa ldr r2, [r7, #92] ; 0x5c 802bbb6: 4413 add r3, r2 802bbb8: 781b ldrb r3, [r3, #0] 802bbba: 2b66 cmp r3, #102 ; 0x66 802bbbc: d007 beq.n 802bbce 802bbbe: 6dbb ldr r3, [r7, #88] ; 0x58 802bbc0: 3b03 subs r3, #3 802bbc2: 6dfa ldr r2, [r7, #92] ; 0x5c 802bbc4: 4413 add r3, r2 802bbc6: 781b ldrb r3, [r3, #0] 802bbc8: 2b46 cmp r3, #70 ; 0x46 802bbca: f040 84b8 bne.w 802c53e { if((fn[l - 2] == 'r') || (fn[l - 2] == 'R')) 802bbce: 6dbb ldr r3, [r7, #88] ; 0x58 802bbd0: 3b02 subs r3, #2 802bbd2: 6dfa ldr r2, [r7, #92] ; 0x5c 802bbd4: 4413 add r3, r2 802bbd6: 781b ldrb r3, [r3, #0] 802bbd8: 2b72 cmp r3, #114 ; 0x72 802bbda: d007 beq.n 802bbec 802bbdc: 6dbb ldr r3, [r7, #88] ; 0x58 802bbde: 3b02 subs r3, #2 802bbe0: 6dfa ldr r2, [r7, #92] ; 0x5c 802bbe2: 4413 add r3, r2 802bbe4: 781b ldrb r3, [r3, #0] 802bbe6: 2b52 cmp r3, #82 ; 0x52 802bbe8: f040 84a9 bne.w 802c53e { if((fn[l - 1] == 'n') || (fn[l - 1] == 'N')) 802bbec: 6dbb ldr r3, [r7, #88] ; 0x58 802bbee: 3b01 subs r3, #1 802bbf0: 6dfa ldr r2, [r7, #92] ; 0x5c 802bbf2: 4413 add r3, r2 802bbf4: 781b ldrb r3, [r3, #0] 802bbf6: 2b6e cmp r3, #110 ; 0x6e 802bbf8: d007 beq.n 802bc0a 802bbfa: 6dbb ldr r3, [r7, #88] ; 0x58 802bbfc: 3b01 subs r3, #1 802bbfe: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc00: 4413 add r3, r2 802bc02: 781b ldrb r3, [r3, #0] 802bc04: 2b4e cmp r3, #78 ; 0x4e 802bc06: f040 849a bne.w 802c53e { tmpFRAN++; 802bc0a: 4b92 ldr r3, [pc, #584] ; (802be54 ) 802bc0c: 681b ldr r3, [r3, #0] 802bc0e: 3301 adds r3, #1 802bc10: 4a90 ldr r2, [pc, #576] ; (802be54 ) 802bc12: 6013 str r3, [r2, #0] } } } break; 802bc14: f000 bc93 b.w 802c53e case GET_NUM_GTR_FILES: if((fn[l - 3] == 'g') || (fn[l - 3] == 'G')) 802bc18: 6dbb ldr r3, [r7, #88] ; 0x58 802bc1a: 3b03 subs r3, #3 802bc1c: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc1e: 4413 add r3, r2 802bc20: 781b ldrb r3, [r3, #0] 802bc22: 2b67 cmp r3, #103 ; 0x67 802bc24: d007 beq.n 802bc36 802bc26: 6dbb ldr r3, [r7, #88] ; 0x58 802bc28: 3b03 subs r3, #3 802bc2a: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc2c: 4413 add r3, r2 802bc2e: 781b ldrb r3, [r3, #0] 802bc30: 2b47 cmp r3, #71 ; 0x47 802bc32: f040 8487 bne.w 802c544 { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802bc36: 6dbb ldr r3, [r7, #88] ; 0x58 802bc38: 3b02 subs r3, #2 802bc3a: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc3c: 4413 add r3, r2 802bc3e: 781b ldrb r3, [r3, #0] 802bc40: 2b74 cmp r3, #116 ; 0x74 802bc42: d007 beq.n 802bc54 802bc44: 6dbb ldr r3, [r7, #88] ; 0x58 802bc46: 3b02 subs r3, #2 802bc48: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc4a: 4413 add r3, r2 802bc4c: 781b ldrb r3, [r3, #0] 802bc4e: 2b54 cmp r3, #84 ; 0x54 802bc50: f040 8478 bne.w 802c544 { if((fn[l - 1] == 'r') || (fn[l - 1] == 'R')) 802bc54: 6dbb ldr r3, [r7, #88] ; 0x58 802bc56: 3b01 subs r3, #1 802bc58: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc5a: 4413 add r3, r2 802bc5c: 781b ldrb r3, [r3, #0] 802bc5e: 2b72 cmp r3, #114 ; 0x72 802bc60: d007 beq.n 802bc72 802bc62: 6dbb ldr r3, [r7, #88] ; 0x58 802bc64: 3b01 subs r3, #1 802bc66: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc68: 4413 add r3, r2 802bc6a: 781b ldrb r3, [r3, #0] 802bc6c: 2b52 cmp r3, #82 ; 0x52 802bc6e: f040 8469 bne.w 802c544 { tmpGTR++; 802bc72: 4b79 ldr r3, [pc, #484] ; (802be58 ) 802bc74: 681b ldr r3, [r3, #0] 802bc76: 3301 adds r3, #1 802bc78: 4a77 ldr r2, [pc, #476] ; (802be58 ) 802bc7a: 6013 str r3, [r2, #0] } } } break; 802bc7c: f000 bc62 b.w 802c544 case GET_NUM_ROUTE_FILES: if((fn[l - 3] == 'g') || (fn[l - 3] == 'G')) 802bc80: 6dbb ldr r3, [r7, #88] ; 0x58 802bc82: 3b03 subs r3, #3 802bc84: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc86: 4413 add r3, r2 802bc88: 781b ldrb r3, [r3, #0] 802bc8a: 2b67 cmp r3, #103 ; 0x67 802bc8c: d007 beq.n 802bc9e 802bc8e: 6dbb ldr r3, [r7, #88] ; 0x58 802bc90: 3b03 subs r3, #3 802bc92: 6dfa ldr r2, [r7, #92] ; 0x5c 802bc94: 4413 add r3, r2 802bc96: 781b ldrb r3, [r3, #0] 802bc98: 2b47 cmp r3, #71 ; 0x47 802bc9a: f040 8456 bne.w 802c54a { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802bc9e: 6dbb ldr r3, [r7, #88] ; 0x58 802bca0: 3b02 subs r3, #2 802bca2: 6dfa ldr r2, [r7, #92] ; 0x5c 802bca4: 4413 add r3, r2 802bca6: 781b ldrb r3, [r3, #0] 802bca8: 2b74 cmp r3, #116 ; 0x74 802bcaa: d007 beq.n 802bcbc 802bcac: 6dbb ldr r3, [r7, #88] ; 0x58 802bcae: 3b02 subs r3, #2 802bcb0: 6dfa ldr r2, [r7, #92] ; 0x5c 802bcb2: 4413 add r3, r2 802bcb4: 781b ldrb r3, [r3, #0] 802bcb6: 2b54 cmp r3, #84 ; 0x54 802bcb8: f040 8447 bne.w 802c54a { if((fn[l - 1] == 'r') || (fn[l - 1] == 'R')) 802bcbc: 6dbb ldr r3, [r7, #88] ; 0x58 802bcbe: 3b01 subs r3, #1 802bcc0: 6dfa ldr r2, [r7, #92] ; 0x5c 802bcc2: 4413 add r3, r2 802bcc4: 781b ldrb r3, [r3, #0] 802bcc6: 2b72 cmp r3, #114 ; 0x72 802bcc8: d007 beq.n 802bcda 802bcca: 6dbb ldr r3, [r7, #88] ; 0x58 802bccc: 3b01 subs r3, #1 802bcce: 6dfa ldr r2, [r7, #92] ; 0x5c 802bcd0: 4413 add r3, r2 802bcd2: 781b ldrb r3, [r3, #0] 802bcd4: 2b52 cmp r3, #82 ; 0x52 802bcd6: f040 8438 bne.w 802c54a { tmpGTR++; 802bcda: 4b5f ldr r3, [pc, #380] ; (802be58 ) 802bcdc: 681b ldr r3, [r3, #0] 802bcde: 3301 adds r3, #1 802bce0: 4a5d ldr r2, [pc, #372] ; (802be58 ) 802bce2: 6013 str r3, [r2, #0] if(fn[1] == '_') 802bce4: 6dfb ldr r3, [r7, #92] ; 0x5c 802bce6: 3301 adds r3, #1 802bce8: 781b ldrb r3, [r3, #0] 802bcea: 2b5f cmp r3, #95 ; 0x5f 802bcec: d10e bne.n 802bd0c { num = (uint32_t) (fn[0] - 0x30); 802bcee: 6dfb ldr r3, [r7, #92] ; 0x5c 802bcf0: 781b ldrb r3, [r3, #0] 802bcf2: 3b30 subs r3, #48 ; 0x30 802bcf4: 667b str r3, [r7, #100] ; 0x64 if(num > 0) { 802bcf6: 6e7b ldr r3, [r7, #100] ; 0x64 802bcf8: 2b00 cmp r3, #0 802bcfa: f000 8426 beq.w 802c54a RouteMeas(num - 1) = 1; 802bcfe: 6e7a ldr r2, [r7, #100] ; 0x64 802bd00: 4b56 ldr r3, [pc, #344] ; (802be5c ) 802bd02: 4413 add r3, r2 802bd04: 2201 movs r2, #1 802bd06: 701a strb r2, [r3, #0] RouteMeas(num - 1) = 1; } } } } break; 802bd08: f000 bc1f b.w 802c54a if(fn[2] == '_') 802bd0c: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd0e: 3302 adds r3, #2 802bd10: 781b ldrb r3, [r3, #0] 802bd12: 2b5f cmp r3, #95 ; 0x5f 802bd14: d115 bne.n 802bd42 num = (uint32_t) ((fn[0] - 0x30) * 10) + (uint32_t)(fn[1] - 0x30); 802bd16: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd18: 781b ldrb r3, [r3, #0] 802bd1a: f1a3 0230 sub.w r2, r3, #48 ; 0x30 802bd1e: 4613 mov r3, r2 802bd20: 009b lsls r3, r3, #2 802bd22: 4413 add r3, r2 802bd24: 005b lsls r3, r3, #1 802bd26: 461a mov r2, r3 802bd28: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd2a: 3301 adds r3, #1 802bd2c: 781b ldrb r3, [r3, #0] 802bd2e: 4413 add r3, r2 802bd30: 3b30 subs r3, #48 ; 0x30 802bd32: 667b str r3, [r7, #100] ; 0x64 RouteMeas(num - 1) = 1; 802bd34: 6e7a ldr r2, [r7, #100] ; 0x64 802bd36: 4b49 ldr r3, [pc, #292] ; (802be5c ) 802bd38: 4413 add r3, r2 802bd3a: 2201 movs r2, #1 802bd3c: 701a strb r2, [r3, #0] break; 802bd3e: f000 bc04 b.w 802c54a if(fn[3] == '_') 802bd42: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd44: 3303 adds r3, #3 802bd46: 781b ldrb r3, [r3, #0] 802bd48: 2b5f cmp r3, #95 ; 0x5f 802bd4a: d11c bne.n 802bd86 num = (uint32_t) ((fn[0] - 0x30) * 100) + (uint32_t)((fn[1] - 0x30) * 10) + (uint32_t)(fn[2] - 0x30); 802bd4c: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd4e: 781b ldrb r3, [r3, #0] 802bd50: 3b30 subs r3, #48 ; 0x30 802bd52: 2264 movs r2, #100 ; 0x64 802bd54: fb02 f303 mul.w r3, r2, r3 802bd58: 4619 mov r1, r3 802bd5a: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd5c: 3301 adds r3, #1 802bd5e: 781b ldrb r3, [r3, #0] 802bd60: f1a3 0230 sub.w r2, r3, #48 ; 0x30 802bd64: 4613 mov r3, r2 802bd66: 009b lsls r3, r3, #2 802bd68: 4413 add r3, r2 802bd6a: 005b lsls r3, r3, #1 802bd6c: 440b add r3, r1 802bd6e: 6dfa ldr r2, [r7, #92] ; 0x5c 802bd70: 3202 adds r2, #2 802bd72: 7812 ldrb r2, [r2, #0] 802bd74: 4413 add r3, r2 802bd76: 3b30 subs r3, #48 ; 0x30 802bd78: 667b str r3, [r7, #100] ; 0x64 RouteMeas(num - 1) = 1; 802bd7a: 6e7a ldr r2, [r7, #100] ; 0x64 802bd7c: 4b37 ldr r3, [pc, #220] ; (802be5c ) 802bd7e: 4413 add r3, r2 802bd80: 2201 movs r2, #1 802bd82: 701a strb r2, [r3, #0] break; 802bd84: e3e1 b.n 802c54a if(fn[4] == '_') 802bd86: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd88: 3304 adds r3, #4 802bd8a: 781b ldrb r3, [r3, #0] 802bd8c: 2b5f cmp r3, #95 ; 0x5f 802bd8e: d125 bne.n 802bddc num = (uint32_t) ((fn[0] - 0x30) * 1000) + (uint32_t)((fn[1] - 0x30) * 100) + (uint32_t)((fn[2] - 0x30) * 10) + (uint32_t)(fn[3] - 0x30); 802bd90: 6dfb ldr r3, [r7, #92] ; 0x5c 802bd92: 781b ldrb r3, [r3, #0] 802bd94: 3b30 subs r3, #48 ; 0x30 802bd96: f44f 727a mov.w r2, #1000 ; 0x3e8 802bd9a: fb02 f303 mul.w r3, r2, r3 802bd9e: 4619 mov r1, r3 802bda0: 6dfb ldr r3, [r7, #92] ; 0x5c 802bda2: 3301 adds r3, #1 802bda4: 781b ldrb r3, [r3, #0] 802bda6: 3b30 subs r3, #48 ; 0x30 802bda8: 2264 movs r2, #100 ; 0x64 802bdaa: fb02 f303 mul.w r3, r2, r3 802bdae: 4419 add r1, r3 802bdb0: 6dfb ldr r3, [r7, #92] ; 0x5c 802bdb2: 3302 adds r3, #2 802bdb4: 781b ldrb r3, [r3, #0] 802bdb6: f1a3 0230 sub.w r2, r3, #48 ; 0x30 802bdba: 4613 mov r3, r2 802bdbc: 009b lsls r3, r3, #2 802bdbe: 4413 add r3, r2 802bdc0: 005b lsls r3, r3, #1 802bdc2: 440b add r3, r1 802bdc4: 6dfa ldr r2, [r7, #92] ; 0x5c 802bdc6: 3203 adds r2, #3 802bdc8: 7812 ldrb r2, [r2, #0] 802bdca: 4413 add r3, r2 802bdcc: 3b30 subs r3, #48 ; 0x30 802bdce: 667b str r3, [r7, #100] ; 0x64 RouteMeas(num - 1) = 1; 802bdd0: 6e7a ldr r2, [r7, #100] ; 0x64 802bdd2: 4b22 ldr r3, [pc, #136] ; (802be5c ) 802bdd4: 4413 add r3, r2 802bdd6: 2201 movs r2, #1 802bdd8: 701a strb r2, [r3, #0] break; 802bdda: e3b6 b.n 802c54a if(fn[5] == '_') 802bddc: 6dfb ldr r3, [r7, #92] ; 0x5c 802bdde: 3305 adds r3, #5 802bde0: 781b ldrb r3, [r3, #0] 802bde2: 2b5f cmp r3, #95 ; 0x5f 802bde4: f040 83b1 bne.w 802c54a num = (uint32_t) ((fn[0] - 0x30) * 10000) + (uint32_t)((fn[1] - 0x30) * 1000) + (uint32_t)((fn[2] - 0x30) * 100) + (uint32_t)((fn[3] - 0x30) * 10) + (uint32_t)(fn[4] - 0x30); 802bde8: 6dfb ldr r3, [r7, #92] ; 0x5c 802bdea: 781b ldrb r3, [r3, #0] 802bdec: 3b30 subs r3, #48 ; 0x30 802bdee: f242 7210 movw r2, #10000 ; 0x2710 802bdf2: fb02 f303 mul.w r3, r2, r3 802bdf6: 4619 mov r1, r3 802bdf8: 6dfb ldr r3, [r7, #92] ; 0x5c 802bdfa: 3301 adds r3, #1 802bdfc: 781b ldrb r3, [r3, #0] 802bdfe: 3b30 subs r3, #48 ; 0x30 802be00: f44f 727a mov.w r2, #1000 ; 0x3e8 802be04: fb02 f303 mul.w r3, r2, r3 802be08: 4419 add r1, r3 802be0a: 6dfb ldr r3, [r7, #92] ; 0x5c 802be0c: 3303 adds r3, #3 802be0e: 781b ldrb r3, [r3, #0] 802be10: f1a3 0230 sub.w r2, r3, #48 ; 0x30 802be14: 4613 mov r3, r2 802be16: 009b lsls r3, r3, #2 802be18: 4413 add r3, r2 802be1a: 005b lsls r3, r3, #1 802be1c: 4618 mov r0, r3 802be1e: 6dfb ldr r3, [r7, #92] ; 0x5c 802be20: 3302 adds r3, #2 802be22: 781b ldrb r3, [r3, #0] 802be24: 3b30 subs r3, #48 ; 0x30 802be26: 2264 movs r2, #100 ; 0x64 802be28: fb02 f303 mul.w r3, r2, r3 802be2c: 4403 add r3, r0 802be2e: 440b add r3, r1 802be30: 6dfa ldr r2, [r7, #92] ; 0x5c 802be32: 3204 adds r2, #4 802be34: 7812 ldrb r2, [r2, #0] 802be36: 4413 add r3, r2 802be38: 3b30 subs r3, #48 ; 0x30 802be3a: 667b str r3, [r7, #100] ; 0x64 if(num <= 65536) 802be3c: 6e7b ldr r3, [r7, #100] ; 0x64 802be3e: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 802be42: f200 8382 bhi.w 802c54a RouteMeas(num - 1) = 1; 802be46: 6e7a ldr r2, [r7, #100] ; 0x64 802be48: 4b04 ldr r3, [pc, #16] ; (802be5c ) 802be4a: 4413 add r3, r2 802be4c: 2201 movs r2, #1 802be4e: 701a strb r2, [r3, #0] break; 802be50: e37b b.n 802c54a 802be52: bf00 nop 802be54: 20020e28 .word 0x20020e28 802be58: 20020e2c .word 0x20020e2c 802be5c: 640fffff .word 0x640fffff case GET_NAMES_12_PTM_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'p') || (fn[l - 3] == 'P')) 802be60: 6dbb ldr r3, [r7, #88] ; 0x58 802be62: 3b03 subs r3, #3 802be64: 6dfa ldr r2, [r7, #92] ; 0x5c 802be66: 4413 add r3, r2 802be68: 781b ldrb r3, [r3, #0] 802be6a: 2b70 cmp r3, #112 ; 0x70 802be6c: d007 beq.n 802be7e 802be6e: 6dbb ldr r3, [r7, #88] ; 0x58 802be70: 3b03 subs r3, #3 802be72: 6dfa ldr r2, [r7, #92] ; 0x5c 802be74: 4413 add r3, r2 802be76: 781b ldrb r3, [r3, #0] 802be78: 2b50 cmp r3, #80 ; 0x50 802be7a: f040 8369 bne.w 802c550 { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802be7e: 6dbb ldr r3, [r7, #88] ; 0x58 802be80: 3b02 subs r3, #2 802be82: 6dfa ldr r2, [r7, #92] ; 0x5c 802be84: 4413 add r3, r2 802be86: 781b ldrb r3, [r3, #0] 802be88: 2b74 cmp r3, #116 ; 0x74 802be8a: d007 beq.n 802be9c 802be8c: 6dbb ldr r3, [r7, #88] ; 0x58 802be8e: 3b02 subs r3, #2 802be90: 6dfa ldr r2, [r7, #92] ; 0x5c 802be92: 4413 add r3, r2 802be94: 781b ldrb r3, [r3, #0] 802be96: 2b54 cmp r3, #84 ; 0x54 802be98: f040 835a bne.w 802c550 { if((fn[l - 1] == 'm') || (fn[l - 1] == 'M')) 802be9c: 6dbb ldr r3, [r7, #88] ; 0x58 802be9e: 3b01 subs r3, #1 802bea0: 6dfa ldr r2, [r7, #92] ; 0x5c 802bea2: 4413 add r3, r2 802bea4: 781b ldrb r3, [r3, #0] 802bea6: 2b6d cmp r3, #109 ; 0x6d 802bea8: d007 beq.n 802beba 802beaa: 6dbb ldr r3, [r7, #88] ; 0x58 802beac: 3b01 subs r3, #1 802beae: 6dfa ldr r2, [r7, #92] ; 0x5c 802beb0: 4413 add r3, r2 802beb2: 781b ldrb r3, [r3, #0] 802beb4: 2b4d cmp r3, #77 ; 0x4d 802beb6: f040 834b bne.w 802c550 { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802beba: 4b6a ldr r3, [pc, #424] ; (802c064 ) 802bebc: 681a ldr r2, [r3, #0] 802bebe: 683b ldr r3, [r7, #0] 802bec0: 429a cmp r2, r3 802bec2: d348 bcc.n 802bf56 802bec4: 4b68 ldr r3, [pc, #416] ; (802c068 ) 802bec6: 681b ldr r3, [r3, #0] 802bec8: 2b0b cmp r3, #11 802beca: d844 bhi.n 802bf56 802becc: 4b67 ldr r3, [pc, #412] ; (802c06c ) 802bece: 781b ldrb r3, [r3, #0] 802bed0: b2db uxtb r3, r3 802bed2: f083 0301 eor.w r3, r3, #1 802bed6: b2db uxtb r3, r3 802bed8: 2b00 cmp r3, #0 802beda: d03c beq.n 802bf56 { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802bedc: 4b62 ldr r3, [pc, #392] ; (802c068 ) 802bede: 681a ldr r2, [r3, #0] 802bee0: 4613 mov r3, r2 802bee2: 00db lsls r3, r3, #3 802bee4: 1a9b subs r3, r3, r2 802bee6: 00db lsls r3, r3, #3 802bee8: 3308 adds r3, #8 802beea: 4a61 ldr r2, [pc, #388] ; (802c070 ) 802beec: 4413 add r3, r2 802beee: 3304 adds r3, #4 802bef0: 6df9 ldr r1, [r7, #92] ; 0x5c 802bef2: 4618 mov r0, r3 802bef4: f0a1 f9e1 bl 80cd2ba ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802bef8: 4b5b ldr r3, [pc, #364] ; (802c068 ) 802befa: 681a ldr r2, [r3, #0] 802befc: 4b5d ldr r3, [pc, #372] ; (802c074 ) 802befe: 891b ldrh r3, [r3, #8] 802bf00: 041b lsls r3, r3, #16 802bf02: 4618 mov r0, r3 802bf04: 495a ldr r1, [pc, #360] ; (802c070 ) 802bf06: 4613 mov r3, r2 802bf08: 00db lsls r3, r3, #3 802bf0a: 1a9b subs r3, r3, r2 802bf0c: 00db lsls r3, r3, #3 802bf0e: 440b add r3, r1 802bf10: 3308 adds r3, #8 802bf12: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802bf14: 4b54 ldr r3, [pc, #336] ; (802c068 ) 802bf16: 681a ldr r2, [r3, #0] 802bf18: 4955 ldr r1, [pc, #340] ; (802c070 ) 802bf1a: 4613 mov r3, r2 802bf1c: 00db lsls r3, r3, #3 802bf1e: 1a9b subs r3, r3, r2 802bf20: 00db lsls r3, r3, #3 802bf22: 440b add r3, r1 802bf24: 3308 adds r3, #8 802bf26: 681b ldr r3, [r3, #0] 802bf28: 4952 ldr r1, [pc, #328] ; (802c074 ) 802bf2a: 8949 ldrh r1, [r1, #10] 802bf2c: 4319 orrs r1, r3 802bf2e: 4850 ldr r0, [pc, #320] ; (802c070 ) 802bf30: 4613 mov r3, r2 802bf32: 00db lsls r3, r3, #3 802bf34: 1a9b subs r3, r3, r2 802bf36: 00db lsls r3, r3, #3 802bf38: 4403 add r3, r0 802bf3a: 3308 adds r3, #8 802bf3c: 6019 str r1, [r3, #0] CntMyFiles++; 802bf3e: 4b4a ldr r3, [pc, #296] ; (802c068 ) 802bf40: 681b ldr r3, [r3, #0] 802bf42: 3301 adds r3, #1 802bf44: 4a48 ldr r2, [pc, #288] ; (802c068 ) 802bf46: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802bf48: 4b47 ldr r3, [pc, #284] ; (802c068 ) 802bf4a: 681b ldr r3, [r3, #0] 802bf4c: 2b0b cmp r3, #11 802bf4e: d902 bls.n 802bf56 FlagReturn = true; 802bf50: 4b46 ldr r3, [pc, #280] ; (802c06c ) 802bf52: 2201 movs r2, #1 802bf54: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802bf56: 4b43 ldr r3, [pc, #268] ; (802c064 ) 802bf58: 681b ldr r3, [r3, #0] 802bf5a: 3301 adds r3, #1 802bf5c: 4a41 ldr r2, [pc, #260] ; (802c064 ) 802bf5e: 6013 str r3, [r2, #0] } } } break; 802bf60: e2f6 b.n 802c550 case GET_NAMES_12_DGN_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'd') || (fn[l - 3] == 'D')) 802bf62: 6dbb ldr r3, [r7, #88] ; 0x58 802bf64: 3b03 subs r3, #3 802bf66: 6dfa ldr r2, [r7, #92] ; 0x5c 802bf68: 4413 add r3, r2 802bf6a: 781b ldrb r3, [r3, #0] 802bf6c: 2b64 cmp r3, #100 ; 0x64 802bf6e: d007 beq.n 802bf80 802bf70: 6dbb ldr r3, [r7, #88] ; 0x58 802bf72: 3b03 subs r3, #3 802bf74: 6dfa ldr r2, [r7, #92] ; 0x5c 802bf76: 4413 add r3, r2 802bf78: 781b ldrb r3, [r3, #0] 802bf7a: 2b44 cmp r3, #68 ; 0x44 802bf7c: f040 82eb bne.w 802c556 { if((fn[l - 2] == 'g') || (fn[l - 2] == 'G')) 802bf80: 6dbb ldr r3, [r7, #88] ; 0x58 802bf82: 3b02 subs r3, #2 802bf84: 6dfa ldr r2, [r7, #92] ; 0x5c 802bf86: 4413 add r3, r2 802bf88: 781b ldrb r3, [r3, #0] 802bf8a: 2b67 cmp r3, #103 ; 0x67 802bf8c: d007 beq.n 802bf9e 802bf8e: 6dbb ldr r3, [r7, #88] ; 0x58 802bf90: 3b02 subs r3, #2 802bf92: 6dfa ldr r2, [r7, #92] ; 0x5c 802bf94: 4413 add r3, r2 802bf96: 781b ldrb r3, [r3, #0] 802bf98: 2b47 cmp r3, #71 ; 0x47 802bf9a: f040 82dc bne.w 802c556 { if((fn[l - 1] == 'n') || (fn[l - 1] == 'N')) 802bf9e: 6dbb ldr r3, [r7, #88] ; 0x58 802bfa0: 3b01 subs r3, #1 802bfa2: 6dfa ldr r2, [r7, #92] ; 0x5c 802bfa4: 4413 add r3, r2 802bfa6: 781b ldrb r3, [r3, #0] 802bfa8: 2b6e cmp r3, #110 ; 0x6e 802bfaa: d007 beq.n 802bfbc 802bfac: 6dbb ldr r3, [r7, #88] ; 0x58 802bfae: 3b01 subs r3, #1 802bfb0: 6dfa ldr r2, [r7, #92] ; 0x5c 802bfb2: 4413 add r3, r2 802bfb4: 781b ldrb r3, [r3, #0] 802bfb6: 2b4e cmp r3, #78 ; 0x4e 802bfb8: f040 82cd bne.w 802c556 { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802bfbc: 4b29 ldr r3, [pc, #164] ; (802c064 ) 802bfbe: 681a ldr r2, [r3, #0] 802bfc0: 683b ldr r3, [r7, #0] 802bfc2: 429a cmp r2, r3 802bfc4: d348 bcc.n 802c058 802bfc6: 4b28 ldr r3, [pc, #160] ; (802c068 ) 802bfc8: 681b ldr r3, [r3, #0] 802bfca: 2b0b cmp r3, #11 802bfcc: d844 bhi.n 802c058 802bfce: 4b27 ldr r3, [pc, #156] ; (802c06c ) 802bfd0: 781b ldrb r3, [r3, #0] 802bfd2: b2db uxtb r3, r3 802bfd4: f083 0301 eor.w r3, r3, #1 802bfd8: b2db uxtb r3, r3 802bfda: 2b00 cmp r3, #0 802bfdc: d03c beq.n 802c058 { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802bfde: 4b22 ldr r3, [pc, #136] ; (802c068 ) 802bfe0: 681a ldr r2, [r3, #0] 802bfe2: 4613 mov r3, r2 802bfe4: 00db lsls r3, r3, #3 802bfe6: 1a9b subs r3, r3, r2 802bfe8: 00db lsls r3, r3, #3 802bfea: 3308 adds r3, #8 802bfec: 4a20 ldr r2, [pc, #128] ; (802c070 ) 802bfee: 4413 add r3, r2 802bff0: 3304 adds r3, #4 802bff2: 6df9 ldr r1, [r7, #92] ; 0x5c 802bff4: 4618 mov r0, r3 802bff6: f0a1 f960 bl 80cd2ba ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802bffa: 4b1b ldr r3, [pc, #108] ; (802c068 ) 802bffc: 681a ldr r2, [r3, #0] 802bffe: 4b1d ldr r3, [pc, #116] ; (802c074 ) 802c000: 891b ldrh r3, [r3, #8] 802c002: 041b lsls r3, r3, #16 802c004: 4618 mov r0, r3 802c006: 491a ldr r1, [pc, #104] ; (802c070 ) 802c008: 4613 mov r3, r2 802c00a: 00db lsls r3, r3, #3 802c00c: 1a9b subs r3, r3, r2 802c00e: 00db lsls r3, r3, #3 802c010: 440b add r3, r1 802c012: 3308 adds r3, #8 802c014: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802c016: 4b14 ldr r3, [pc, #80] ; (802c068 ) 802c018: 681a ldr r2, [r3, #0] 802c01a: 4915 ldr r1, [pc, #84] ; (802c070 ) 802c01c: 4613 mov r3, r2 802c01e: 00db lsls r3, r3, #3 802c020: 1a9b subs r3, r3, r2 802c022: 00db lsls r3, r3, #3 802c024: 440b add r3, r1 802c026: 3308 adds r3, #8 802c028: 681b ldr r3, [r3, #0] 802c02a: 4912 ldr r1, [pc, #72] ; (802c074 ) 802c02c: 8949 ldrh r1, [r1, #10] 802c02e: 4319 orrs r1, r3 802c030: 480f ldr r0, [pc, #60] ; (802c070 ) 802c032: 4613 mov r3, r2 802c034: 00db lsls r3, r3, #3 802c036: 1a9b subs r3, r3, r2 802c038: 00db lsls r3, r3, #3 802c03a: 4403 add r3, r0 802c03c: 3308 adds r3, #8 802c03e: 6019 str r1, [r3, #0] CntMyFiles++; 802c040: 4b09 ldr r3, [pc, #36] ; (802c068 ) 802c042: 681b ldr r3, [r3, #0] 802c044: 3301 adds r3, #1 802c046: 4a08 ldr r2, [pc, #32] ; (802c068 ) 802c048: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802c04a: 4b07 ldr r3, [pc, #28] ; (802c068 ) 802c04c: 681b ldr r3, [r3, #0] 802c04e: 2b0b cmp r3, #11 802c050: d902 bls.n 802c058 FlagReturn = true; 802c052: 4b06 ldr r3, [pc, #24] ; (802c06c ) 802c054: 2201 movs r2, #1 802c056: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802c058: 4b02 ldr r3, [pc, #8] ; (802c064 ) 802c05a: 681b ldr r3, [r3, #0] 802c05c: 3301 adds r3, #1 802c05e: 4a01 ldr r2, [pc, #4] ; (802c064 ) 802c060: 6013 str r3, [r2, #0] } } } break; 802c062: e278 b.n 802c556 802c064: 20020df0 .word 0x20020df0 802c068: 20020dec .word 0x20020dec 802c06c: 20020dde .word 0x20020dde 802c070: 20022350 .word 0x20022350 802c074: 20021fa0 .word 0x20021fa0 case GET_NAMES_12_SPEC_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'c') || (fn[l - 3] == 'C')) 802c078: 6dbb ldr r3, [r7, #88] ; 0x58 802c07a: 3b03 subs r3, #3 802c07c: 6dfa ldr r2, [r7, #92] ; 0x5c 802c07e: 4413 add r3, r2 802c080: 781b ldrb r3, [r3, #0] 802c082: 2b63 cmp r3, #99 ; 0x63 802c084: d007 beq.n 802c096 802c086: 6dbb ldr r3, [r7, #88] ; 0x58 802c088: 3b03 subs r3, #3 802c08a: 6dfa ldr r2, [r7, #92] ; 0x5c 802c08c: 4413 add r3, r2 802c08e: 781b ldrb r3, [r3, #0] 802c090: 2b43 cmp r3, #67 ; 0x43 802c092: f040 8263 bne.w 802c55c { if((fn[l - 2] == 's') || (fn[l - 2] == 'S')) 802c096: 6dbb ldr r3, [r7, #88] ; 0x58 802c098: 3b02 subs r3, #2 802c09a: 6dfa ldr r2, [r7, #92] ; 0x5c 802c09c: 4413 add r3, r2 802c09e: 781b ldrb r3, [r3, #0] 802c0a0: 2b73 cmp r3, #115 ; 0x73 802c0a2: d007 beq.n 802c0b4 802c0a4: 6dbb ldr r3, [r7, #88] ; 0x58 802c0a6: 3b02 subs r3, #2 802c0a8: 6dfa ldr r2, [r7, #92] ; 0x5c 802c0aa: 4413 add r3, r2 802c0ac: 781b ldrb r3, [r3, #0] 802c0ae: 2b53 cmp r3, #83 ; 0x53 802c0b0: f040 8254 bne.w 802c55c { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802c0b4: 6dbb ldr r3, [r7, #88] ; 0x58 802c0b6: 3b01 subs r3, #1 802c0b8: 6dfa ldr r2, [r7, #92] ; 0x5c 802c0ba: 4413 add r3, r2 802c0bc: 781b ldrb r3, [r3, #0] 802c0be: 2b76 cmp r3, #118 ; 0x76 802c0c0: d007 beq.n 802c0d2 802c0c2: 6dbb ldr r3, [r7, #88] ; 0x58 802c0c4: 3b01 subs r3, #1 802c0c6: 6dfa ldr r2, [r7, #92] ; 0x5c 802c0c8: 4413 add r3, r2 802c0ca: 781b ldrb r3, [r3, #0] 802c0cc: 2b56 cmp r3, #86 ; 0x56 802c0ce: f040 8245 bne.w 802c55c { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802c0d2: 4b6f ldr r3, [pc, #444] ; (802c290 ) 802c0d4: 681a ldr r2, [r3, #0] 802c0d6: 683b ldr r3, [r7, #0] 802c0d8: 429a cmp r2, r3 802c0da: d348 bcc.n 802c16e 802c0dc: 4b6d ldr r3, [pc, #436] ; (802c294 ) 802c0de: 681b ldr r3, [r3, #0] 802c0e0: 2b0b cmp r3, #11 802c0e2: d844 bhi.n 802c16e 802c0e4: 4b6c ldr r3, [pc, #432] ; (802c298 ) 802c0e6: 781b ldrb r3, [r3, #0] 802c0e8: b2db uxtb r3, r3 802c0ea: f083 0301 eor.w r3, r3, #1 802c0ee: b2db uxtb r3, r3 802c0f0: 2b00 cmp r3, #0 802c0f2: d03c beq.n 802c16e { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802c0f4: 4b67 ldr r3, [pc, #412] ; (802c294 ) 802c0f6: 681a ldr r2, [r3, #0] 802c0f8: 4613 mov r3, r2 802c0fa: 00db lsls r3, r3, #3 802c0fc: 1a9b subs r3, r3, r2 802c0fe: 00db lsls r3, r3, #3 802c100: 3308 adds r3, #8 802c102: 4a66 ldr r2, [pc, #408] ; (802c29c ) 802c104: 4413 add r3, r2 802c106: 3304 adds r3, #4 802c108: 6df9 ldr r1, [r7, #92] ; 0x5c 802c10a: 4618 mov r0, r3 802c10c: f0a1 f8d5 bl 80cd2ba ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802c110: 4b60 ldr r3, [pc, #384] ; (802c294 ) 802c112: 681a ldr r2, [r3, #0] 802c114: 4b62 ldr r3, [pc, #392] ; (802c2a0 ) 802c116: 891b ldrh r3, [r3, #8] 802c118: 041b lsls r3, r3, #16 802c11a: 4618 mov r0, r3 802c11c: 495f ldr r1, [pc, #380] ; (802c29c ) 802c11e: 4613 mov r3, r2 802c120: 00db lsls r3, r3, #3 802c122: 1a9b subs r3, r3, r2 802c124: 00db lsls r3, r3, #3 802c126: 440b add r3, r1 802c128: 3308 adds r3, #8 802c12a: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802c12c: 4b59 ldr r3, [pc, #356] ; (802c294 ) 802c12e: 681a ldr r2, [r3, #0] 802c130: 495a ldr r1, [pc, #360] ; (802c29c ) 802c132: 4613 mov r3, r2 802c134: 00db lsls r3, r3, #3 802c136: 1a9b subs r3, r3, r2 802c138: 00db lsls r3, r3, #3 802c13a: 440b add r3, r1 802c13c: 3308 adds r3, #8 802c13e: 681b ldr r3, [r3, #0] 802c140: 4957 ldr r1, [pc, #348] ; (802c2a0 ) 802c142: 8949 ldrh r1, [r1, #10] 802c144: 4319 orrs r1, r3 802c146: 4855 ldr r0, [pc, #340] ; (802c29c ) 802c148: 4613 mov r3, r2 802c14a: 00db lsls r3, r3, #3 802c14c: 1a9b subs r3, r3, r2 802c14e: 00db lsls r3, r3, #3 802c150: 4403 add r3, r0 802c152: 3308 adds r3, #8 802c154: 6019 str r1, [r3, #0] CntMyFiles++; 802c156: 4b4f ldr r3, [pc, #316] ; (802c294 ) 802c158: 681b ldr r3, [r3, #0] 802c15a: 3301 adds r3, #1 802c15c: 4a4d ldr r2, [pc, #308] ; (802c294 ) 802c15e: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802c160: 4b4c ldr r3, [pc, #304] ; (802c294 ) 802c162: 681b ldr r3, [r3, #0] 802c164: 2b0b cmp r3, #11 802c166: d902 bls.n 802c16e FlagReturn = true; 802c168: 4b4b ldr r3, [pc, #300] ; (802c298 ) 802c16a: 2201 movs r2, #1 802c16c: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802c16e: 4b48 ldr r3, [pc, #288] ; (802c290 ) 802c170: 681b ldr r3, [r3, #0] 802c172: 3301 adds r3, #1 802c174: 4a46 ldr r2, [pc, #280] ; (802c290 ) 802c176: 6013 str r3, [r2, #0] } } } break; 802c178: e1f0 b.n 802c55c case GET_NAMES_12_CSV_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'c') || (fn[l - 3] == 'C')) 802c17a: 6dbb ldr r3, [r7, #88] ; 0x58 802c17c: 3b03 subs r3, #3 802c17e: 6dfa ldr r2, [r7, #92] ; 0x5c 802c180: 4413 add r3, r2 802c182: 781b ldrb r3, [r3, #0] 802c184: 2b63 cmp r3, #99 ; 0x63 802c186: d007 beq.n 802c198 802c188: 6dbb ldr r3, [r7, #88] ; 0x58 802c18a: 3b03 subs r3, #3 802c18c: 6dfa ldr r2, [r7, #92] ; 0x5c 802c18e: 4413 add r3, r2 802c190: 781b ldrb r3, [r3, #0] 802c192: 2b43 cmp r3, #67 ; 0x43 802c194: f040 81e5 bne.w 802c562 { if((fn[l - 2] == 's') || (fn[l - 2] == 'S')) 802c198: 6dbb ldr r3, [r7, #88] ; 0x58 802c19a: 3b02 subs r3, #2 802c19c: 6dfa ldr r2, [r7, #92] ; 0x5c 802c19e: 4413 add r3, r2 802c1a0: 781b ldrb r3, [r3, #0] 802c1a2: 2b73 cmp r3, #115 ; 0x73 802c1a4: d007 beq.n 802c1b6 802c1a6: 6dbb ldr r3, [r7, #88] ; 0x58 802c1a8: 3b02 subs r3, #2 802c1aa: 6dfa ldr r2, [r7, #92] ; 0x5c 802c1ac: 4413 add r3, r2 802c1ae: 781b ldrb r3, [r3, #0] 802c1b0: 2b53 cmp r3, #83 ; 0x53 802c1b2: f040 81d6 bne.w 802c562 { if((fn[l - 1] == 'v') || (fn[l - 1] == 'V')) 802c1b6: 6dbb ldr r3, [r7, #88] ; 0x58 802c1b8: 3b01 subs r3, #1 802c1ba: 6dfa ldr r2, [r7, #92] ; 0x5c 802c1bc: 4413 add r3, r2 802c1be: 781b ldrb r3, [r3, #0] 802c1c0: 2b76 cmp r3, #118 ; 0x76 802c1c2: d007 beq.n 802c1d4 802c1c4: 6dbb ldr r3, [r7, #88] ; 0x58 802c1c6: 3b01 subs r3, #1 802c1c8: 6dfa ldr r2, [r7, #92] ; 0x5c 802c1ca: 4413 add r3, r2 802c1cc: 781b ldrb r3, [r3, #0] 802c1ce: 2b56 cmp r3, #86 ; 0x56 802c1d0: f040 81c7 bne.w 802c562 { if(memcmp(path, "0:/Routes", 9) == 0) 802c1d4: 2209 movs r2, #9 802c1d6: 4933 ldr r1, [pc, #204] ; (802c2a4 ) 802c1d8: 6878 ldr r0, [r7, #4] 802c1da: f0a0 ff37 bl 80cd04c 802c1de: 4603 mov r3, r0 802c1e0: 2b00 cmp r3, #0 802c1e2: f040 81be bne.w 802c562 { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802c1e6: 4b2a ldr r3, [pc, #168] ; (802c290 ) 802c1e8: 681a ldr r2, [r3, #0] 802c1ea: 683b ldr r3, [r7, #0] 802c1ec: 429a cmp r2, r3 802c1ee: d348 bcc.n 802c282 802c1f0: 4b28 ldr r3, [pc, #160] ; (802c294 ) 802c1f2: 681b ldr r3, [r3, #0] 802c1f4: 2b0b cmp r3, #11 802c1f6: d844 bhi.n 802c282 802c1f8: 4b27 ldr r3, [pc, #156] ; (802c298 ) 802c1fa: 781b ldrb r3, [r3, #0] 802c1fc: b2db uxtb r3, r3 802c1fe: f083 0301 eor.w r3, r3, #1 802c202: b2db uxtb r3, r3 802c204: 2b00 cmp r3, #0 802c206: d03c beq.n 802c282 { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802c208: 4b22 ldr r3, [pc, #136] ; (802c294 ) 802c20a: 681a ldr r2, [r3, #0] 802c20c: 4613 mov r3, r2 802c20e: 00db lsls r3, r3, #3 802c210: 1a9b subs r3, r3, r2 802c212: 00db lsls r3, r3, #3 802c214: 3308 adds r3, #8 802c216: 4a21 ldr r2, [pc, #132] ; (802c29c ) 802c218: 4413 add r3, r2 802c21a: 3304 adds r3, #4 802c21c: 6df9 ldr r1, [r7, #92] ; 0x5c 802c21e: 4618 mov r0, r3 802c220: f0a1 f84b bl 80cd2ba ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802c224: 4b1b ldr r3, [pc, #108] ; (802c294 ) 802c226: 681a ldr r2, [r3, #0] 802c228: 4b1d ldr r3, [pc, #116] ; (802c2a0 ) 802c22a: 891b ldrh r3, [r3, #8] 802c22c: 041b lsls r3, r3, #16 802c22e: 4618 mov r0, r3 802c230: 491a ldr r1, [pc, #104] ; (802c29c ) 802c232: 4613 mov r3, r2 802c234: 00db lsls r3, r3, #3 802c236: 1a9b subs r3, r3, r2 802c238: 00db lsls r3, r3, #3 802c23a: 440b add r3, r1 802c23c: 3308 adds r3, #8 802c23e: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802c240: 4b14 ldr r3, [pc, #80] ; (802c294 ) 802c242: 681a ldr r2, [r3, #0] 802c244: 4915 ldr r1, [pc, #84] ; (802c29c ) 802c246: 4613 mov r3, r2 802c248: 00db lsls r3, r3, #3 802c24a: 1a9b subs r3, r3, r2 802c24c: 00db lsls r3, r3, #3 802c24e: 440b add r3, r1 802c250: 3308 adds r3, #8 802c252: 681b ldr r3, [r3, #0] 802c254: 4912 ldr r1, [pc, #72] ; (802c2a0 ) 802c256: 8949 ldrh r1, [r1, #10] 802c258: 4319 orrs r1, r3 802c25a: 4810 ldr r0, [pc, #64] ; (802c29c ) 802c25c: 4613 mov r3, r2 802c25e: 00db lsls r3, r3, #3 802c260: 1a9b subs r3, r3, r2 802c262: 00db lsls r3, r3, #3 802c264: 4403 add r3, r0 802c266: 3308 adds r3, #8 802c268: 6019 str r1, [r3, #0] CntMyFiles++; 802c26a: 4b0a ldr r3, [pc, #40] ; (802c294 ) 802c26c: 681b ldr r3, [r3, #0] 802c26e: 3301 adds r3, #1 802c270: 4a08 ldr r2, [pc, #32] ; (802c294 ) 802c272: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802c274: 4b07 ldr r3, [pc, #28] ; (802c294 ) 802c276: 681b ldr r3, [r3, #0] 802c278: 2b0b cmp r3, #11 802c27a: d902 bls.n 802c282 FlagReturn = true; 802c27c: 4b06 ldr r3, [pc, #24] ; (802c298 ) 802c27e: 2201 movs r2, #1 802c280: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802c282: 4b03 ldr r3, [pc, #12] ; (802c290 ) 802c284: 681b ldr r3, [r3, #0] 802c286: 3301 adds r3, #1 802c288: 4a01 ldr r2, [pc, #4] ; (802c290 ) 802c28a: 6013 str r3, [r2, #0] } } } } break; 802c28c: e169 b.n 802c562 802c28e: bf00 nop 802c290: 20020df0 .word 0x20020df0 802c294: 20020dec .word 0x20020dec 802c298: 20020dde .word 0x20020dde 802c29c: 20022350 .word 0x20022350 802c2a0: 20021fa0 .word 0x20021fa0 802c2a4: 080ce55c .word 0x080ce55c case GET_NAMES_12_FRAN_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'f') || (fn[l - 3] == 'F')) 802c2a8: 6dbb ldr r3, [r7, #88] ; 0x58 802c2aa: 3b03 subs r3, #3 802c2ac: 6dfa ldr r2, [r7, #92] ; 0x5c 802c2ae: 4413 add r3, r2 802c2b0: 781b ldrb r3, [r3, #0] 802c2b2: 2b66 cmp r3, #102 ; 0x66 802c2b4: d007 beq.n 802c2c6 802c2b6: 6dbb ldr r3, [r7, #88] ; 0x58 802c2b8: 3b03 subs r3, #3 802c2ba: 6dfa ldr r2, [r7, #92] ; 0x5c 802c2bc: 4413 add r3, r2 802c2be: 781b ldrb r3, [r3, #0] 802c2c0: 2b46 cmp r3, #70 ; 0x46 802c2c2: f040 8151 bne.w 802c568 { if((fn[l - 2] == 'r') || (fn[l - 2] == 'R')) 802c2c6: 6dbb ldr r3, [r7, #88] ; 0x58 802c2c8: 3b02 subs r3, #2 802c2ca: 6dfa ldr r2, [r7, #92] ; 0x5c 802c2cc: 4413 add r3, r2 802c2ce: 781b ldrb r3, [r3, #0] 802c2d0: 2b72 cmp r3, #114 ; 0x72 802c2d2: d007 beq.n 802c2e4 802c2d4: 6dbb ldr r3, [r7, #88] ; 0x58 802c2d6: 3b02 subs r3, #2 802c2d8: 6dfa ldr r2, [r7, #92] ; 0x5c 802c2da: 4413 add r3, r2 802c2dc: 781b ldrb r3, [r3, #0] 802c2de: 2b52 cmp r3, #82 ; 0x52 802c2e0: f040 8142 bne.w 802c568 { if((fn[l - 1] == 'n') || (fn[l - 1] == 'N')) 802c2e4: 6dbb ldr r3, [r7, #88] ; 0x58 802c2e6: 3b01 subs r3, #1 802c2e8: 6dfa ldr r2, [r7, #92] ; 0x5c 802c2ea: 4413 add r3, r2 802c2ec: 781b ldrb r3, [r3, #0] 802c2ee: 2b6e cmp r3, #110 ; 0x6e 802c2f0: d007 beq.n 802c302 802c2f2: 6dbb ldr r3, [r7, #88] ; 0x58 802c2f4: 3b01 subs r3, #1 802c2f6: 6dfa ldr r2, [r7, #92] ; 0x5c 802c2f8: 4413 add r3, r2 802c2fa: 781b ldrb r3, [r3, #0] 802c2fc: 2b4e cmp r3, #78 ; 0x4e 802c2fe: f040 8133 bne.w 802c568 { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802c302: 4ba1 ldr r3, [pc, #644] ; (802c588 ) 802c304: 681a ldr r2, [r3, #0] 802c306: 683b ldr r3, [r7, #0] 802c308: 429a cmp r2, r3 802c30a: d348 bcc.n 802c39e 802c30c: 4b9f ldr r3, [pc, #636] ; (802c58c ) 802c30e: 681b ldr r3, [r3, #0] 802c310: 2b0b cmp r3, #11 802c312: d844 bhi.n 802c39e 802c314: 4b9e ldr r3, [pc, #632] ; (802c590 ) 802c316: 781b ldrb r3, [r3, #0] 802c318: b2db uxtb r3, r3 802c31a: f083 0301 eor.w r3, r3, #1 802c31e: b2db uxtb r3, r3 802c320: 2b00 cmp r3, #0 802c322: d03c beq.n 802c39e { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802c324: 4b99 ldr r3, [pc, #612] ; (802c58c ) 802c326: 681a ldr r2, [r3, #0] 802c328: 4613 mov r3, r2 802c32a: 00db lsls r3, r3, #3 802c32c: 1a9b subs r3, r3, r2 802c32e: 00db lsls r3, r3, #3 802c330: 3308 adds r3, #8 802c332: 4a98 ldr r2, [pc, #608] ; (802c594 ) 802c334: 4413 add r3, r2 802c336: 3304 adds r3, #4 802c338: 6df9 ldr r1, [r7, #92] ; 0x5c 802c33a: 4618 mov r0, r3 802c33c: f0a0 ffbd bl 80cd2ba ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802c340: 4b92 ldr r3, [pc, #584] ; (802c58c ) 802c342: 681a ldr r2, [r3, #0] 802c344: 4b94 ldr r3, [pc, #592] ; (802c598 ) 802c346: 891b ldrh r3, [r3, #8] 802c348: 041b lsls r3, r3, #16 802c34a: 4618 mov r0, r3 802c34c: 4991 ldr r1, [pc, #580] ; (802c594 ) 802c34e: 4613 mov r3, r2 802c350: 00db lsls r3, r3, #3 802c352: 1a9b subs r3, r3, r2 802c354: 00db lsls r3, r3, #3 802c356: 440b add r3, r1 802c358: 3308 adds r3, #8 802c35a: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802c35c: 4b8b ldr r3, [pc, #556] ; (802c58c ) 802c35e: 681a ldr r2, [r3, #0] 802c360: 498c ldr r1, [pc, #560] ; (802c594 ) 802c362: 4613 mov r3, r2 802c364: 00db lsls r3, r3, #3 802c366: 1a9b subs r3, r3, r2 802c368: 00db lsls r3, r3, #3 802c36a: 440b add r3, r1 802c36c: 3308 adds r3, #8 802c36e: 681b ldr r3, [r3, #0] 802c370: 4989 ldr r1, [pc, #548] ; (802c598 ) 802c372: 8949 ldrh r1, [r1, #10] 802c374: 4319 orrs r1, r3 802c376: 4887 ldr r0, [pc, #540] ; (802c594 ) 802c378: 4613 mov r3, r2 802c37a: 00db lsls r3, r3, #3 802c37c: 1a9b subs r3, r3, r2 802c37e: 00db lsls r3, r3, #3 802c380: 4403 add r3, r0 802c382: 3308 adds r3, #8 802c384: 6019 str r1, [r3, #0] CntMyFiles++; 802c386: 4b81 ldr r3, [pc, #516] ; (802c58c ) 802c388: 681b ldr r3, [r3, #0] 802c38a: 3301 adds r3, #1 802c38c: 4a7f ldr r2, [pc, #508] ; (802c58c ) 802c38e: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802c390: 4b7e ldr r3, [pc, #504] ; (802c58c ) 802c392: 681b ldr r3, [r3, #0] 802c394: 2b0b cmp r3, #11 802c396: d902 bls.n 802c39e FlagReturn = true; 802c398: 4b7d ldr r3, [pc, #500] ; (802c590 ) 802c39a: 2201 movs r2, #1 802c39c: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802c39e: 4b7a ldr r3, [pc, #488] ; (802c588 ) 802c3a0: 681b ldr r3, [r3, #0] 802c3a2: 3301 adds r3, #1 802c3a4: 4a78 ldr r2, [pc, #480] ; (802c588 ) 802c3a6: 6013 str r3, [r2, #0] } } } break; 802c3a8: e0de b.n 802c568 case GET_NAMES_12_GTR_FILES: // Read 12 files for Explorer if((fn[l - 3] == 'g') || (fn[l - 3] == 'G')) 802c3aa: 6dbb ldr r3, [r7, #88] ; 0x58 802c3ac: 3b03 subs r3, #3 802c3ae: 6dfa ldr r2, [r7, #92] ; 0x5c 802c3b0: 4413 add r3, r2 802c3b2: 781b ldrb r3, [r3, #0] 802c3b4: 2b67 cmp r3, #103 ; 0x67 802c3b6: d007 beq.n 802c3c8 802c3b8: 6dbb ldr r3, [r7, #88] ; 0x58 802c3ba: 3b03 subs r3, #3 802c3bc: 6dfa ldr r2, [r7, #92] ; 0x5c 802c3be: 4413 add r3, r2 802c3c0: 781b ldrb r3, [r3, #0] 802c3c2: 2b47 cmp r3, #71 ; 0x47 802c3c4: f040 80d3 bne.w 802c56e { if((fn[l - 2] == 't') || (fn[l - 2] == 'T')) 802c3c8: 6dbb ldr r3, [r7, #88] ; 0x58 802c3ca: 3b02 subs r3, #2 802c3cc: 6dfa ldr r2, [r7, #92] ; 0x5c 802c3ce: 4413 add r3, r2 802c3d0: 781b ldrb r3, [r3, #0] 802c3d2: 2b74 cmp r3, #116 ; 0x74 802c3d4: d007 beq.n 802c3e6 802c3d6: 6dbb ldr r3, [r7, #88] ; 0x58 802c3d8: 3b02 subs r3, #2 802c3da: 6dfa ldr r2, [r7, #92] ; 0x5c 802c3dc: 4413 add r3, r2 802c3de: 781b ldrb r3, [r3, #0] 802c3e0: 2b54 cmp r3, #84 ; 0x54 802c3e2: f040 80c4 bne.w 802c56e { if((fn[l - 1] == 'r') || (fn[l - 1] == 'R')) 802c3e6: 6dbb ldr r3, [r7, #88] ; 0x58 802c3e8: 3b01 subs r3, #1 802c3ea: 6dfa ldr r2, [r7, #92] ; 0x5c 802c3ec: 4413 add r3, r2 802c3ee: 781b ldrb r3, [r3, #0] 802c3f0: 2b72 cmp r3, #114 ; 0x72 802c3f2: d007 beq.n 802c404 802c3f4: 6dbb ldr r3, [r7, #88] ; 0x58 802c3f6: 3b01 subs r3, #1 802c3f8: 6dfa ldr r2, [r7, #92] ; 0x5c 802c3fa: 4413 add r3, r2 802c3fc: 781b ldrb r3, [r3, #0] 802c3fe: 2b52 cmp r3, #82 ; 0x52 802c400: f040 80b5 bne.w 802c56e { if(((IndxMyFiles >= IndexFirstFile) && (CntMyFiles < VIEW_FILES)) && (FlagReturn == false)) 802c404: 4b60 ldr r3, [pc, #384] ; (802c588 ) 802c406: 681a ldr r2, [r3, #0] 802c408: 683b ldr r3, [r7, #0] 802c40a: 429a cmp r2, r3 802c40c: d355 bcc.n 802c4ba 802c40e: 4b5f ldr r3, [pc, #380] ; (802c58c ) 802c410: 681b ldr r3, [r3, #0] 802c412: 2b0b cmp r3, #11 802c414: d851 bhi.n 802c4ba 802c416: 4b5e ldr r3, [pc, #376] ; (802c590 ) 802c418: 781b ldrb r3, [r3, #0] 802c41a: b2db uxtb r3, r3 802c41c: f083 0301 eor.w r3, r3, #1 802c420: b2db uxtb r3, r3 802c422: 2b00 cmp r3, #0 802c424: d049 beq.n 802c4ba { strcpy(ExplorerFiles[CntMyFiles].fname, fn); 802c426: 4b59 ldr r3, [pc, #356] ; (802c58c ) 802c428: 681a ldr r2, [r3, #0] 802c42a: 4613 mov r3, r2 802c42c: 00db lsls r3, r3, #3 802c42e: 1a9b subs r3, r3, r2 802c430: 00db lsls r3, r3, #3 802c432: 3308 adds r3, #8 802c434: 4a57 ldr r2, [pc, #348] ; (802c594 ) 802c436: 4413 add r3, r2 802c438: 3304 adds r3, #4 802c43a: 6df9 ldr r1, [r7, #92] ; 0x5c 802c43c: 4618 mov r0, r3 802c43e: f0a0 ff3c bl 80cd2ba ExplorerFiles[CntMyFiles].datetime = (fno.fdate << 16) & 0xffff0000; 802c442: 4b52 ldr r3, [pc, #328] ; (802c58c ) 802c444: 681a ldr r2, [r3, #0] 802c446: 4b54 ldr r3, [pc, #336] ; (802c598 ) 802c448: 891b ldrh r3, [r3, #8] 802c44a: 041b lsls r3, r3, #16 802c44c: 4618 mov r0, r3 802c44e: 4951 ldr r1, [pc, #324] ; (802c594 ) 802c450: 4613 mov r3, r2 802c452: 00db lsls r3, r3, #3 802c454: 1a9b subs r3, r3, r2 802c456: 00db lsls r3, r3, #3 802c458: 440b add r3, r1 802c45a: 3308 adds r3, #8 802c45c: 6018 str r0, [r3, #0] ExplorerFiles[CntMyFiles].datetime |= fno.ftime & 0x0000ffff; 802c45e: 4b4b ldr r3, [pc, #300] ; (802c58c ) 802c460: 681a ldr r2, [r3, #0] 802c462: 494c ldr r1, [pc, #304] ; (802c594 ) 802c464: 4613 mov r3, r2 802c466: 00db lsls r3, r3, #3 802c468: 1a9b subs r3, r3, r2 802c46a: 00db lsls r3, r3, #3 802c46c: 440b add r3, r1 802c46e: 3308 adds r3, #8 802c470: 681b ldr r3, [r3, #0] 802c472: 4949 ldr r1, [pc, #292] ; (802c598 ) 802c474: 8949 ldrh r1, [r1, #10] 802c476: 4319 orrs r1, r3 802c478: 4846 ldr r0, [pc, #280] ; (802c594 ) 802c47a: 4613 mov r3, r2 802c47c: 00db lsls r3, r3, #3 802c47e: 1a9b subs r3, r3, r2 802c480: 00db lsls r3, r3, #3 802c482: 4403 add r3, r0 802c484: 3308 adds r3, #8 802c486: 6019 str r1, [r3, #0] ExplorerFiles[CntMyFiles].size = fno.fsize; 802c488: 4b40 ldr r3, [pc, #256] ; (802c58c ) 802c48a: 6818 ldr r0, [r3, #0] 802c48c: 4b42 ldr r3, [pc, #264] ; (802c598 ) 802c48e: e893 0006 ldmia.w r3, {r1, r2} 802c492: 4c40 ldr r4, [pc, #256] ; (802c594 ) 802c494: 4603 mov r3, r0 802c496: 00db lsls r3, r3, #3 802c498: 1a1b subs r3, r3, r0 802c49a: 00db lsls r3, r3, #3 802c49c: 4423 add r3, r4 802c49e: e883 0006 stmia.w r3, {r1, r2} CntMyFiles++; 802c4a2: 4b3a ldr r3, [pc, #232] ; (802c58c ) 802c4a4: 681b ldr r3, [r3, #0] 802c4a6: 3301 adds r3, #1 802c4a8: 4a38 ldr r2, [pc, #224] ; (802c58c ) 802c4aa: 6013 str r3, [r2, #0] if(CntMyFiles >= VIEW_FILES) { 802c4ac: 4b37 ldr r3, [pc, #220] ; (802c58c ) 802c4ae: 681b ldr r3, [r3, #0] 802c4b0: 2b0b cmp r3, #11 802c4b2: d902 bls.n 802c4ba FlagReturn = true; 802c4b4: 4b36 ldr r3, [pc, #216] ; (802c590 ) 802c4b6: 2201 movs r2, #1 802c4b8: 701a strb r2, [r3, #0] } } IndxMyFiles++; 802c4ba: 4b33 ldr r3, [pc, #204] ; (802c588 ) 802c4bc: 681b ldr r3, [r3, #0] 802c4be: 3301 adds r3, #1 802c4c0: 4a31 ldr r2, [pc, #196] ; (802c588 ) 802c4c2: 6013 str r3, [r2, #0] } } } break; 802c4c4: e053 b.n 802c56e case GET_PATH_TO_FILE: // getting filepath of file with name at if((strcmp(FileName, fn) == 0) && (FlagReturn == false)) 802c4c6: 6df9 ldr r1, [r7, #92] ; 0x5c 802c4c8: 4834 ldr r0, [pc, #208] ; (802c59c ) 802c4ca: f7f3 ff19 bl 8020300 802c4ce: 4603 mov r3, r0 802c4d0: 2b00 cmp r3, #0 802c4d2: d14f bne.n 802c574 802c4d4: 4b2e ldr r3, [pc, #184] ; (802c590 ) 802c4d6: 781b ldrb r3, [r3, #0] 802c4d8: b2db uxtb r3, r3 802c4da: f083 0301 eor.w r3, r3, #1 802c4de: b2db uxtb r3, r3 802c4e0: 2b00 cmp r3, #0 802c4e2: d047 beq.n 802c574 { strcpy(PointPath, path); 802c4e4: 6879 ldr r1, [r7, #4] 802c4e6: 482e ldr r0, [pc, #184] ; (802c5a0 ) 802c4e8: f0a0 fee7 bl 80cd2ba l = strlen(PointPath); 802c4ec: 482c ldr r0, [pc, #176] ; (802c5a0 ) 802c4ee: f7f3 ff11 bl 8020314 802c4f2: 65b8 str r0, [r7, #88] ; 0x58 PointPath[l] = '/'; 802c4f4: 4a2a ldr r2, [pc, #168] ; (802c5a0 ) 802c4f6: 6dbb ldr r3, [r7, #88] ; 0x58 802c4f8: 4413 add r3, r2 802c4fa: 222f movs r2, #47 ; 0x2f 802c4fc: 701a strb r2, [r3, #0] strcat(PointPath, fn); 802c4fe: 6df9 ldr r1, [r7, #92] ; 0x5c 802c500: 4827 ldr r0, [pc, #156] ; (802c5a0 ) 802c502: f0a0 febd bl 80cd280 l = strlen(PointPath); 802c506: 4826 ldr r0, [pc, #152] ; (802c5a0 ) 802c508: f7f3 ff04 bl 8020314 802c50c: 65b8 str r0, [r7, #88] ; 0x58 PointPath[l] = '\0'; 802c50e: 4a24 ldr r2, [pc, #144] ; (802c5a0 ) 802c510: 6dbb ldr r3, [r7, #88] ; 0x58 802c512: 4413 add r3, r2 802c514: 2200 movs r2, #0 802c516: 701a strb r2, [r3, #0] FlagReturn = true; 802c518: 4b1d ldr r3, [pc, #116] ; (802c590 ) 802c51a: 2201 movs r2, #1 802c51c: 701a strb r2, [r3, #0] } break; 802c51e: e029 b.n 802c574 continue; /* Èãíîðèðîâàíèå ýëåìåíòà 'òî÷êà' */ 802c520: bf00 nop 802c522: f7ff b9de b.w 802b8e2 break; 802c526: bf00 nop 802c528: f7ff b9db b.w 802b8e2 break; 802c52c: bf00 nop 802c52e: f7ff b9d8 b.w 802b8e2 break; 802c532: bf00 nop 802c534: f7ff b9d5 b.w 802b8e2 break; 802c538: bf00 nop 802c53a: f7ff b9d2 b.w 802b8e2 break; 802c53e: bf00 nop 802c540: f7ff b9cf b.w 802b8e2 break; 802c544: bf00 nop 802c546: f7ff b9cc b.w 802b8e2 break; 802c54a: bf00 nop 802c54c: f7ff b9c9 b.w 802b8e2 break; 802c550: bf00 nop 802c552: f7ff b9c6 b.w 802b8e2 break; 802c556: bf00 nop 802c558: f7ff b9c3 b.w 802b8e2 break; 802c55c: bf00 nop 802c55e: f7ff b9c0 b.w 802b8e2 break; 802c562: bf00 nop 802c564: f7ff b9bd b.w 802b8e2 break; 802c568: bf00 nop 802c56a: f7ff b9ba b.w 802b8e2 break; 802c56e: bf00 nop 802c570: f7ff b9b7 b.w 802b8e2 break; 802c574: bf00 nop res = f_readdir(&dir, &fno); /* ×òåíèå îáúåêòà äèðåêòîðèè */ 802c576: f7ff b9b4 b.w 802b8e2 break; 802c57a: bf00 nop } } } } return res; 802c57c: f897 306f ldrb.w r3, [r7, #111] ; 0x6f } 802c580: 4618 mov r0, r3 802c582: 3774 adds r7, #116 ; 0x74 802c584: 46bd mov sp, r7 802c586: bd90 pop {r4, r7, pc} 802c588: 20020df0 .word 0x20020df0 802c58c: 20020dec .word 0x20020dec 802c590: 20020dde .word 0x20020dde 802c594: 20022350 .word 0x20022350 802c598: 20021fa0 .word 0x20021fa0 802c59c: 20022bb8 .word 0x20022bb8 802c5a0: 200229b4 .word 0x200229b4 0802c5a4 : bool CheckSD(void) { 802c5a4: b580 push {r7, lr} 802c5a6: b084 sub sp, #16 802c5a8: af00 add r7, sp, #0 uint8_t attempt; TM_FATFS_Size_t SD_Size; FRESULT res = FR_OK; 802c5aa: 2300 movs r3, #0 802c5ac: 73bb strb r3, [r7, #14] if(CardState == MSD_READY) 802c5ae: 4b29 ldr r3, [pc, #164] ; (802c654 ) 802c5b0: 781b ldrb r3, [r3, #0] 802c5b2: b2db uxtb r3, r3 802c5b4: 2b03 cmp r3, #3 802c5b6: d139 bne.n 802c62c { for(attempt = 0; attempt < 10; attempt++) 802c5b8: 2300 movs r3, #0 802c5ba: 73fb strb r3, [r7, #15] 802c5bc: e032 b.n 802c624 { //res = f_mount(&fs, SDPath, 1); if(res == FR_OK) 802c5be: 7bbb ldrb r3, [r7, #14] 802c5c0: 2b00 cmp r3, #0 802c5c2: d11a bne.n 802c5fa { if(TM_FATFS_GetDriveSize(SDPath, &SD_Size) == FR_OK) 802c5c4: 1d3b adds r3, r7, #4 802c5c6: 4619 mov r1, r3 802c5c8: 4823 ldr r0, [pc, #140] ; (802c658 ) 802c5ca: f000 f849 bl 802c660 802c5ce: 4603 mov r3, r0 802c5d0: 2b00 cmp r3, #0 802c5d2: d124 bne.n 802c61e { SD_Space.TotalSectors = SD_Size.TotalSize; // Number Total Sectors 802c5d4: 687b ldr r3, [r7, #4] 802c5d6: 4a21 ldr r2, [pc, #132] ; (802c65c ) 802c5d8: 6013 str r3, [r2, #0] SD_Space.FreeSectors = SD_Size.FreeSize; // Number Free Sectors 802c5da: 68bb ldr r3, [r7, #8] 802c5dc: 4a1f ldr r2, [pc, #124] ; (802c65c ) 802c5de: 6053 str r3, [r2, #4] SD_Space.Total_MB = SD_Size.TotalSize >> 20; // Number Total sectors into MBytes 802c5e0: 687b ldr r3, [r7, #4] 802c5e2: 0d1b lsrs r3, r3, #20 802c5e4: 4a1d ldr r2, [pc, #116] ; (802c65c ) 802c5e6: 6093 str r3, [r2, #8] SD_Space.Free_MB = SD_Size.FreeSize >> 20; // Number Total sectors into MBytes 802c5e8: 68bb ldr r3, [r7, #8] 802c5ea: 0d1b lsrs r3, r3, #20 802c5ec: 4a1b ldr r2, [pc, #108] ; (802c65c ) 802c5ee: 60d3 str r3, [r2, #12] CardState = MSD_READY; 802c5f0: 4b18 ldr r3, [pc, #96] ; (802c654 ) 802c5f2: 2203 movs r2, #3 802c5f4: 701a strb r2, [r3, #0] //f_mount(&fs, SDPath, 0); return (true); 802c5f6: 2301 movs r3, #1 802c5f8: e028 b.n 802c64c } } else { SD_Space.TotalSectors = 0; 802c5fa: 4b18 ldr r3, [pc, #96] ; (802c65c ) 802c5fc: 2200 movs r2, #0 802c5fe: 601a str r2, [r3, #0] SD_Space.FreeSectors = 0; 802c600: 4b16 ldr r3, [pc, #88] ; (802c65c ) 802c602: 2200 movs r2, #0 802c604: 605a str r2, [r3, #4] SD_Space.Total_MB = 0; 802c606: 4b15 ldr r3, [pc, #84] ; (802c65c ) 802c608: 2200 movs r2, #0 802c60a: 609a str r2, [r3, #8] SD_Space.Free_MB = 0; 802c60c: 4b13 ldr r3, [pc, #76] ; (802c65c ) 802c60e: 2200 movs r2, #0 802c610: 60da str r2, [r3, #12] CardState = MSD_PRESENT; 802c612: 4b10 ldr r3, [pc, #64] ; (802c654 ) 802c614: 2201 movs r2, #1 802c616: 701a strb r2, [r3, #0] HAL_Delay(50); 802c618: 2032 movs r0, #50 ; 0x32 802c61a: f086 fe35 bl 80b3288 for(attempt = 0; attempt < 10; attempt++) 802c61e: 7bfb ldrb r3, [r7, #15] 802c620: 3301 adds r3, #1 802c622: 73fb strb r3, [r7, #15] 802c624: 7bfb ldrb r3, [r7, #15] 802c626: 2b09 cmp r3, #9 802c628: d9c9 bls.n 802c5be 802c62a: e00e b.n 802c64a } } } else { SD_Space.TotalSectors = 0; 802c62c: 4b0b ldr r3, [pc, #44] ; (802c65c ) 802c62e: 2200 movs r2, #0 802c630: 601a str r2, [r3, #0] SD_Space.FreeSectors = 0; 802c632: 4b0a ldr r3, [pc, #40] ; (802c65c ) 802c634: 2200 movs r2, #0 802c636: 605a str r2, [r3, #4] SD_Space.Total_MB = 0; 802c638: 4b08 ldr r3, [pc, #32] ; (802c65c ) 802c63a: 2200 movs r2, #0 802c63c: 609a str r2, [r3, #8] SD_Space.Free_MB = 0; 802c63e: 4b07 ldr r3, [pc, #28] ; (802c65c ) 802c640: 2200 movs r2, #0 802c642: 60da str r2, [r3, #12] CardState = MSD_NOCARD; 802c644: 4b03 ldr r3, [pc, #12] ; (802c654 ) 802c646: 2200 movs r2, #0 802c648: 701a strb r2, [r3, #0] } return (false); 802c64a: 2300 movs r3, #0 } 802c64c: 4618 mov r0, r3 802c64e: 3710 adds r7, #16 802c650: 46bd mov sp, r7 802c652: bd80 pop {r7, pc} 802c654: 2002164c .word 0x2002164c 802c658: 20068acc .word 0x20068acc 802c65c: 20022300 .word 0x20022300 0802c660 : FRESULT TM_FATFS_GetDriveSize(char* str, TM_FATFS_Size_t* SizeStruct) { 802c660: b580 push {r7, lr} 802c662: b086 sub sp, #24 802c664: af00 add r7, sp, #0 802c666: 6078 str r0, [r7, #4] 802c668: 6039 str r1, [r7, #0] FATFS *fs; DWORD fre_clust; FRESULT res; res = f_getfree(str, &fre_clust, &fs); 802c66a: f107 0210 add.w r2, r7, #16 802c66e: f107 030c add.w r3, r7, #12 802c672: 4619 mov r1, r3 802c674: 6878 ldr r0, [r7, #4] 802c676: f09a fe14 bl 80c72a2 802c67a: 4603 mov r3, r0 802c67c: 75fb strb r3, [r7, #23] if (res != FR_OK) { 802c67e: 7dfb ldrb r3, [r7, #23] 802c680: 2b00 cmp r3, #0 802c682: d001 beq.n 802c688 return res; 802c684: 7dfb ldrb r3, [r7, #23] 802c686: e029 b.n 802c6dc } SizeStruct->TotalSize = (fs->n_fatent - 2) * fs->csize * 0.5; //Get total sectors and free sectors 802c688: 693b ldr r3, [r7, #16] 802c68a: 69db ldr r3, [r3, #28] 802c68c: 3b02 subs r3, #2 802c68e: 693a ldr r2, [r7, #16] 802c690: 8952 ldrh r2, [r2, #10] 802c692: fb02 f303 mul.w r3, r2, r3 802c696: ee07 3a90 vmov s15, r3 802c69a: eeb8 7b67 vcvt.f64.u32 d7, s15 802c69e: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 802c6a2: ee27 7b06 vmul.f64 d7, d7, d6 802c6a6: eefc 7bc7 vcvt.u32.f64 s15, d7 802c6aa: ee17 2a90 vmov r2, s15 802c6ae: 683b ldr r3, [r7, #0] 802c6b0: 601a str r2, [r3, #0] SizeStruct->FreeSize = fre_clust * fs->csize * 0.5; 802c6b2: 693b ldr r3, [r7, #16] 802c6b4: 895b ldrh r3, [r3, #10] 802c6b6: 461a mov r2, r3 802c6b8: 68fb ldr r3, [r7, #12] 802c6ba: fb03 f302 mul.w r3, r3, r2 802c6be: ee07 3a90 vmov s15, r3 802c6c2: eeb8 7b67 vcvt.f64.u32 d7, s15 802c6c6: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 802c6ca: ee27 7b06 vmul.f64 d7, d7, d6 802c6ce: eefc 7bc7 vcvt.u32.f64 s15, d7 802c6d2: ee17 2a90 vmov r2, s15 802c6d6: 683b ldr r3, [r7, #0] 802c6d8: 605a str r2, [r3, #4] return FR_OK; 802c6da: 2300 movs r3, #0 } 802c6dc: 4618 mov r0, r3 802c6de: 3718 adds r7, #24 802c6e0: 46bd mov sp, r7 802c6e2: bd80 pop {r7, pc} 0802c6e4 : FRESULT WriteHeaderGTR(FIL *file) { 802c6e4: b580 push {r7, lr} 802c6e6: b08e sub sp, #56 ; 0x38 802c6e8: af00 add r7, sp, #0 802c6ea: 6078 str r0, [r7, #4] FRESULT res = FR_OK; 802c6ec: 2300 movs r3, #0 802c6ee: f887 302e strb.w r3, [r7, #46] ; 0x2e uint8_t f_str[8]; //float32_t sens; //char string[10]; if(CardState != MSD_READY) { 802c6f2: 4bbf ldr r3, [pc, #764] ; (802c9f0 ) 802c6f4: 781b ldrb r3, [r3, #0] 802c6f6: b2db uxtb r3, r3 802c6f8: 2b03 cmp r3, #3 802c6fa: d002 beq.n 802c702 return FR_NOT_READY; 802c6fc: 2303 movs r3, #3 802c6fe: f001 baaa b.w 802dc56 */ size = 0; 802c702: 2300 movs r3, #0 802c704: 61fb str r3, [r7, #28] memset(sector, 0, sizeof(sector)); 802c706: f44f 7200 mov.w r2, #512 ; 0x200 802c70a: 2100 movs r1, #0 802c70c: 48b9 ldr r0, [pc, #740] ; (802c9f4 ) 802c70e: f0a0 fcb7 bl 80cd080 k = (uint32_t) (pardata.IKK * 1000.0f); 802c712: 4bb9 ldr r3, [pc, #740] ; (802c9f8 ) 802c714: edd3 7a04 vldr s15, [r3, #16] 802c718: ed9f 7ab8 vldr s14, [pc, #736] ; 802c9fc 802c71c: ee67 7a87 vmul.f32 s15, s15, s14 802c720: eefc 7ae7 vcvt.u32.f32 s15, s15 802c724: ee17 3a90 vmov r3, s15 802c728: 637b str r3, [r7, #52] ; 0x34 ies = (uint8_t) (k / 100000); 802c72a: 6b7b ldr r3, [r7, #52] ; 0x34 802c72c: 095b lsrs r3, r3, #5 802c72e: 4ab4 ldr r2, [pc, #720] ; (802ca00 ) 802c730: fba2 2303 umull r2, r3, r2, r3 802c734: 09db lsrs r3, r3, #7 802c736: f887 302d strb.w r3, [r7, #45] ; 0x2d ied = (uint8_t) (k % 100000 / 10000); 802c73a: 6b7a ldr r2, [r7, #52] ; 0x34 802c73c: 0953 lsrs r3, r2, #5 802c73e: 49b0 ldr r1, [pc, #704] ; (802ca00 ) 802c740: fba1 1303 umull r1, r3, r1, r3 802c744: 09db lsrs r3, r3, #7 802c746: 49af ldr r1, [pc, #700] ; (802ca04 ) 802c748: fb01 f303 mul.w r3, r1, r3 802c74c: 1ad3 subs r3, r2, r3 802c74e: 4aae ldr r2, [pc, #696] ; (802ca08 ) 802c750: fba2 2303 umull r2, r3, r2, r3 802c754: 0b5b lsrs r3, r3, #13 802c756: f887 302c strb.w r3, [r7, #44] ; 0x2c iee = (uint8_t) (k % 100000 % 10000 / 1000); 802c75a: 6b7a ldr r2, [r7, #52] ; 0x34 802c75c: 0953 lsrs r3, r2, #5 802c75e: 49a8 ldr r1, [pc, #672] ; (802ca00 ) 802c760: fba1 1303 umull r1, r3, r1, r3 802c764: 09db lsrs r3, r3, #7 802c766: 49a7 ldr r1, [pc, #668] ; (802ca04 ) 802c768: fb01 f303 mul.w r3, r1, r3 802c76c: 1ad3 subs r3, r2, r3 802c76e: 4aa6 ldr r2, [pc, #664] ; (802ca08 ) 802c770: fba2 1203 umull r1, r2, r2, r3 802c774: 0b52 lsrs r2, r2, #13 802c776: f242 7110 movw r1, #10000 ; 0x2710 802c77a: fb01 f202 mul.w r2, r1, r2 802c77e: 1a9a subs r2, r3, r2 802c780: 4ba2 ldr r3, [pc, #648] ; (802ca0c ) 802c782: fba3 2302 umull r2, r3, r3, r2 802c786: 099b lsrs r3, r3, #6 802c788: f887 302b strb.w r3, [r7, #43] ; 0x2b ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 802c78c: 6b7b ldr r3, [r7, #52] ; 0x34 802c78e: 095a lsrs r2, r3, #5 802c790: 499b ldr r1, [pc, #620] ; (802ca00 ) 802c792: fba1 1202 umull r1, r2, r1, r2 802c796: 09d2 lsrs r2, r2, #7 802c798: 499a ldr r1, [pc, #616] ; (802ca04 ) 802c79a: fb01 f202 mul.w r2, r1, r2 802c79e: 1a9a subs r2, r3, r2 802c7a0: 4b99 ldr r3, [pc, #612] ; (802ca08 ) 802c7a2: fba3 1302 umull r1, r3, r3, r2 802c7a6: 0b5b lsrs r3, r3, #13 802c7a8: f242 7110 movw r1, #10000 ; 0x2710 802c7ac: fb01 f303 mul.w r3, r1, r3 802c7b0: 1ad3 subs r3, r2, r3 802c7b2: 4a96 ldr r2, [pc, #600] ; (802ca0c ) 802c7b4: fba2 1203 umull r1, r2, r2, r3 802c7b8: 0992 lsrs r2, r2, #6 802c7ba: f44f 717a mov.w r1, #1000 ; 0x3e8 802c7be: fb01 f202 mul.w r2, r1, r2 802c7c2: 1a9a subs r2, r3, r2 802c7c4: 4b92 ldr r3, [pc, #584] ; (802ca10 ) 802c7c6: fba3 2302 umull r2, r3, r3, r2 802c7ca: 095b lsrs r3, r3, #5 802c7cc: f887 302a strb.w r3, [r7, #42] ; 0x2a iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 802c7d0: 6b7a ldr r2, [r7, #52] ; 0x34 802c7d2: 0953 lsrs r3, r2, #5 802c7d4: 498a ldr r1, [pc, #552] ; (802ca00 ) 802c7d6: fba1 1303 umull r1, r3, r1, r3 802c7da: 09db lsrs r3, r3, #7 802c7dc: 4989 ldr r1, [pc, #548] ; (802ca04 ) 802c7de: fb01 f303 mul.w r3, r1, r3 802c7e2: 1ad3 subs r3, r2, r3 802c7e4: 4a88 ldr r2, [pc, #544] ; (802ca08 ) 802c7e6: fba2 1203 umull r1, r2, r2, r3 802c7ea: 0b52 lsrs r2, r2, #13 802c7ec: f242 7110 movw r1, #10000 ; 0x2710 802c7f0: fb01 f202 mul.w r2, r1, r2 802c7f4: 1a9a subs r2, r3, r2 802c7f6: 4b85 ldr r3, [pc, #532] ; (802ca0c ) 802c7f8: fba3 1302 umull r1, r3, r3, r2 802c7fc: 099b lsrs r3, r3, #6 802c7fe: f44f 717a mov.w r1, #1000 ; 0x3e8 802c802: fb01 f303 mul.w r3, r1, r3 802c806: 1ad3 subs r3, r2, r3 802c808: 4a81 ldr r2, [pc, #516] ; (802ca10 ) 802c80a: fba2 1203 umull r1, r2, r2, r3 802c80e: 0952 lsrs r2, r2, #5 802c810: 2164 movs r1, #100 ; 0x64 802c812: fb01 f202 mul.w r2, r1, r2 802c816: 1a9a subs r2, r3, r2 802c818: 4b7e ldr r3, [pc, #504] ; (802ca14 ) 802c81a: fba3 2302 umull r2, r3, r3, r2 802c81e: 08db lsrs r3, r3, #3 802c820: f887 3029 strb.w r3, [r7, #41] ; 0x29 ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 802c824: 6b7a ldr r2, [r7, #52] ; 0x34 802c826: 0953 lsrs r3, r2, #5 802c828: 4975 ldr r1, [pc, #468] ; (802ca00 ) 802c82a: fba1 1303 umull r1, r3, r1, r3 802c82e: 09db lsrs r3, r3, #7 802c830: 4974 ldr r1, [pc, #464] ; (802ca04 ) 802c832: fb01 f303 mul.w r3, r1, r3 802c836: 1ad3 subs r3, r2, r3 802c838: 4a73 ldr r2, [pc, #460] ; (802ca08 ) 802c83a: fba2 1203 umull r1, r2, r2, r3 802c83e: 0b52 lsrs r2, r2, #13 802c840: f242 7110 movw r1, #10000 ; 0x2710 802c844: fb01 f202 mul.w r2, r1, r2 802c848: 1a9a subs r2, r3, r2 802c84a: 4b70 ldr r3, [pc, #448] ; (802ca0c ) 802c84c: fba3 1302 umull r1, r3, r3, r2 802c850: 099b lsrs r3, r3, #6 802c852: f44f 717a mov.w r1, #1000 ; 0x3e8 802c856: fb01 f303 mul.w r3, r1, r3 802c85a: 1ad3 subs r3, r2, r3 802c85c: 4a6c ldr r2, [pc, #432] ; (802ca10 ) 802c85e: fba2 1203 umull r1, r2, r2, r3 802c862: 0952 lsrs r2, r2, #5 802c864: 2164 movs r1, #100 ; 0x64 802c866: fb01 f202 mul.w r2, r1, r2 802c86a: 1a9a subs r2, r3, r2 802c86c: 4b69 ldr r3, [pc, #420] ; (802ca14 ) 802c86e: fba3 1302 umull r1, r3, r3, r2 802c872: 08d9 lsrs r1, r3, #3 802c874: 460b mov r3, r1 802c876: 009b lsls r3, r3, #2 802c878: 440b add r3, r1 802c87a: 005b lsls r3, r3, #1 802c87c: 1ad1 subs r1, r2, r3 802c87e: 460b mov r3, r1 802c880: f887 3028 strb.w r3, [r7, #40] ; 0x28 ak = 1; 802c884: 2301 movs r3, #1 802c886: f887 302f strb.w r3, [r7, #47] ; 0x2f memset(aa, 0, sizeof(aa)); // "0.000000" 802c88a: f107 0314 add.w r3, r7, #20 802c88e: 2208 movs r2, #8 802c890: 2100 movs r1, #0 802c892: 4618 mov r0, r3 802c894: f0a0 fbf4 bl 80cd080 memset(f_str, 0, sizeof(f_str)); // "0.000000" 802c898: f107 030c add.w r3, r7, #12 802c89c: 2208 movs r2, #8 802c89e: 2100 movs r1, #0 802c8a0: 4618 mov r0, r3 802c8a2: f0a0 fbed bl 80cd080 if(FreqFran) 802c8a6: 4b5c ldr r3, [pc, #368] ; (802ca18 ) 802c8a8: edd3 7a00 vldr s15, [r3] 802c8ac: eef5 7a40 vcmp.f32 s15, #0.0 802c8b0: eef1 fa10 vmrs APSR_nzcv, fpscr 802c8b4: f000 821c beq.w 802ccf0 { if(FreqFran < 10.0f) 802c8b8: 4b57 ldr r3, [pc, #348] ; (802ca18 ) 802c8ba: edd3 7a00 vldr s15, [r3] 802c8be: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 802c8c2: eef4 7ac7 vcmpe.f32 s15, s14 802c8c6: eef1 fa10 vmrs APSR_nzcv, fpscr 802c8ca: d50f bpl.n 802c8ec { k = (uint32_t) (FreqFran * 1000000.0f); 802c8cc: 4b52 ldr r3, [pc, #328] ; (802ca18 ) 802c8ce: edd3 7a00 vldr s15, [r3] 802c8d2: ed9f 7a52 vldr s14, [pc, #328] ; 802ca1c 802c8d6: ee67 7a87 vmul.f32 s15, s15, s14 802c8da: eefc 7ae7 vcvt.u32.f32 s15, s15 802c8de: ee17 3a90 vmov r3, s15 802c8e2: 637b str r3, [r7, #52] ; 0x34 ak = 1; 802c8e4: 2301 movs r3, #1 802c8e6: f887 302f strb.w r3, [r7, #47] ; 0x2f 802c8ea: e0a1 b.n 802ca30 } else if(FreqFran < 100.0f) 802c8ec: 4b4a ldr r3, [pc, #296] ; (802ca18 ) 802c8ee: edd3 7a00 vldr s15, [r3] 802c8f2: ed9f 7a4b vldr s14, [pc, #300] ; 802ca20 802c8f6: eef4 7ac7 vcmpe.f32 s15, s14 802c8fa: eef1 fa10 vmrs APSR_nzcv, fpscr 802c8fe: d50f bpl.n 802c920 { k = (uint32_t) (FreqFran * 100000.0f); 802c900: 4b45 ldr r3, [pc, #276] ; (802ca18 ) 802c902: edd3 7a00 vldr s15, [r3] 802c906: ed9f 7a47 vldr s14, [pc, #284] ; 802ca24 802c90a: ee67 7a87 vmul.f32 s15, s15, s14 802c90e: eefc 7ae7 vcvt.u32.f32 s15, s15 802c912: ee17 3a90 vmov r3, s15 802c916: 637b str r3, [r7, #52] ; 0x34 ak = 2; 802c918: 2302 movs r3, #2 802c91a: f887 302f strb.w r3, [r7, #47] ; 0x2f 802c91e: e087 b.n 802ca30 } else if(FreqFran < 1000.0f) 802c920: 4b3d ldr r3, [pc, #244] ; (802ca18 ) 802c922: edd3 7a00 vldr s15, [r3] 802c926: ed9f 7a35 vldr s14, [pc, #212] ; 802c9fc 802c92a: eef4 7ac7 vcmpe.f32 s15, s14 802c92e: eef1 fa10 vmrs APSR_nzcv, fpscr 802c932: d50f bpl.n 802c954 { k = (uint32_t) (FreqFran * 10000.0f); 802c934: 4b38 ldr r3, [pc, #224] ; (802ca18 ) 802c936: edd3 7a00 vldr s15, [r3] 802c93a: ed9f 7a3b vldr s14, [pc, #236] ; 802ca28 802c93e: ee67 7a87 vmul.f32 s15, s15, s14 802c942: eefc 7ae7 vcvt.u32.f32 s15, s15 802c946: ee17 3a90 vmov r3, s15 802c94a: 637b str r3, [r7, #52] ; 0x34 ak = 3; 802c94c: 2303 movs r3, #3 802c94e: f887 302f strb.w r3, [r7, #47] ; 0x2f 802c952: e06d b.n 802ca30 } else if(FreqFran < 10000.0f) 802c954: 4b30 ldr r3, [pc, #192] ; (802ca18 ) 802c956: edd3 7a00 vldr s15, [r3] 802c95a: ed9f 7a33 vldr s14, [pc, #204] ; 802ca28 802c95e: eef4 7ac7 vcmpe.f32 s15, s14 802c962: eef1 fa10 vmrs APSR_nzcv, fpscr 802c966: d50f bpl.n 802c988 { k = (uint32_t) (FreqFran * 1000.0f); 802c968: 4b2b ldr r3, [pc, #172] ; (802ca18 ) 802c96a: edd3 7a00 vldr s15, [r3] 802c96e: ed9f 7a23 vldr s14, [pc, #140] ; 802c9fc 802c972: ee67 7a87 vmul.f32 s15, s15, s14 802c976: eefc 7ae7 vcvt.u32.f32 s15, s15 802c97a: ee17 3a90 vmov r3, s15 802c97e: 637b str r3, [r7, #52] ; 0x34 ak = 4; 802c980: 2304 movs r3, #4 802c982: f887 302f strb.w r3, [r7, #47] ; 0x2f 802c986: e053 b.n 802ca30 } else if(FreqFran < 100000.0f) 802c988: 4b23 ldr r3, [pc, #140] ; (802ca18 ) 802c98a: edd3 7a00 vldr s15, [r3] 802c98e: ed9f 7a25 vldr s14, [pc, #148] ; 802ca24 802c992: eef4 7ac7 vcmpe.f32 s15, s14 802c996: eef1 fa10 vmrs APSR_nzcv, fpscr 802c99a: d50f bpl.n 802c9bc { k = (uint32_t) (FreqFran * 100.0f); 802c99c: 4b1e ldr r3, [pc, #120] ; (802ca18 ) 802c99e: edd3 7a00 vldr s15, [r3] 802c9a2: ed9f 7a1f vldr s14, [pc, #124] ; 802ca20 802c9a6: ee67 7a87 vmul.f32 s15, s15, s14 802c9aa: eefc 7ae7 vcvt.u32.f32 s15, s15 802c9ae: ee17 3a90 vmov r3, s15 802c9b2: 637b str r3, [r7, #52] ; 0x34 ak = 5; 802c9b4: 2305 movs r3, #5 802c9b6: f887 302f strb.w r3, [r7, #47] ; 0x2f 802c9ba: e039 b.n 802ca30 } else if(FreqFran < 1000000.0f) 802c9bc: 4b16 ldr r3, [pc, #88] ; (802ca18 ) 802c9be: edd3 7a00 vldr s15, [r3] 802c9c2: ed9f 7a16 vldr s14, [pc, #88] ; 802ca1c 802c9c6: eef4 7ac7 vcmpe.f32 s15, s14 802c9ca: eef1 fa10 vmrs APSR_nzcv, fpscr 802c9ce: d52d bpl.n 802ca2c { k = (uint32_t) (FreqFran * 10.0f); 802c9d0: 4b11 ldr r3, [pc, #68] ; (802ca18 ) 802c9d2: edd3 7a00 vldr s15, [r3] 802c9d6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 802c9da: ee67 7a87 vmul.f32 s15, s15, s14 802c9de: eefc 7ae7 vcvt.u32.f32 s15, s15 802c9e2: ee17 3a90 vmov r3, s15 802c9e6: 637b str r3, [r7, #52] ; 0x34 ak = 6; 802c9e8: 2306 movs r3, #6 802c9ea: f887 302f strb.w r3, [r7, #47] ; 0x2f 802c9ee: e01f b.n 802ca30 802c9f0: 2002164c .word 0x2002164c 802c9f4: 2007c000 .word 0x2007c000 802c9f8: 20023e60 .word 0x20023e60 802c9fc: 447a0000 .word 0x447a0000 802ca00: 0a7c5ac5 .word 0x0a7c5ac5 802ca04: 000186a0 .word 0x000186a0 802ca08: d1b71759 .word 0xd1b71759 802ca0c: 10624dd3 .word 0x10624dd3 802ca10: 51eb851f .word 0x51eb851f 802ca14: cccccccd .word 0xcccccccd 802ca18: 20021564 .word 0x20021564 802ca1c: 49742400 .word 0x49742400 802ca20: 42c80000 .word 0x42c80000 802ca24: 47c35000 .word 0x47c35000 802ca28: 461c4000 .word 0x461c4000 } else k = 0; 802ca2c: 2300 movs r3, #0 802ca2e: 637b str r3, [r7, #52] ; 0x34 aa[0] = (uint8_t) (k / 1000000); 802ca30: 6b7b ldr r3, [r7, #52] ; 0x34 802ca32: 4ab2 ldr r2, [pc, #712] ; (802ccfc ) 802ca34: fba2 2303 umull r2, r3, r2, r3 802ca38: 0c9b lsrs r3, r3, #18 802ca3a: b2db uxtb r3, r3 802ca3c: 753b strb r3, [r7, #20] aa[1] = (uint8_t) (k % 1000000 / 100000); 802ca3e: 6b7a ldr r2, [r7, #52] ; 0x34 802ca40: 4bae ldr r3, [pc, #696] ; (802ccfc ) 802ca42: fba3 1302 umull r1, r3, r3, r2 802ca46: 0c9b lsrs r3, r3, #18 802ca48: 49ad ldr r1, [pc, #692] ; (802cd00 ) 802ca4a: fb01 f303 mul.w r3, r1, r3 802ca4e: 1ad3 subs r3, r2, r3 802ca50: 095b lsrs r3, r3, #5 802ca52: 4aac ldr r2, [pc, #688] ; (802cd04 ) 802ca54: fba2 2303 umull r2, r3, r2, r3 802ca58: 09db lsrs r3, r3, #7 802ca5a: b2db uxtb r3, r3 802ca5c: 757b strb r3, [r7, #21] aa[2] = (uint8_t) (k % 1000000 % 100000 / 10000); 802ca5e: 6b7a ldr r2, [r7, #52] ; 0x34 802ca60: 4ba6 ldr r3, [pc, #664] ; (802ccfc ) 802ca62: fba3 1302 umull r1, r3, r3, r2 802ca66: 0c9b lsrs r3, r3, #18 802ca68: 49a5 ldr r1, [pc, #660] ; (802cd00 ) 802ca6a: fb01 f303 mul.w r3, r1, r3 802ca6e: 1ad3 subs r3, r2, r3 802ca70: 095a lsrs r2, r3, #5 802ca72: 49a4 ldr r1, [pc, #656] ; (802cd04 ) 802ca74: fba1 1202 umull r1, r2, r1, r2 802ca78: 09d2 lsrs r2, r2, #7 802ca7a: 49a3 ldr r1, [pc, #652] ; (802cd08 ) 802ca7c: fb01 f202 mul.w r2, r1, r2 802ca80: 1a9a subs r2, r3, r2 802ca82: 4ba2 ldr r3, [pc, #648] ; (802cd0c ) 802ca84: fba3 2302 umull r2, r3, r3, r2 802ca88: 0b5b lsrs r3, r3, #13 802ca8a: b2db uxtb r3, r3 802ca8c: 75bb strb r3, [r7, #22] aa[3] = (uint8_t) (k % 1000000 % 100000 % 10000 / 1000); 802ca8e: 6b7b ldr r3, [r7, #52] ; 0x34 802ca90: 4a9a ldr r2, [pc, #616] ; (802ccfc ) 802ca92: fba2 1203 umull r1, r2, r2, r3 802ca96: 0c92 lsrs r2, r2, #18 802ca98: 4999 ldr r1, [pc, #612] ; (802cd00 ) 802ca9a: fb01 f202 mul.w r2, r1, r2 802ca9e: 1a9a subs r2, r3, r2 802caa0: 0953 lsrs r3, r2, #5 802caa2: 4998 ldr r1, [pc, #608] ; (802cd04 ) 802caa4: fba1 1303 umull r1, r3, r1, r3 802caa8: 09db lsrs r3, r3, #7 802caaa: 4997 ldr r1, [pc, #604] ; (802cd08 ) 802caac: fb01 f303 mul.w r3, r1, r3 802cab0: 1ad3 subs r3, r2, r3 802cab2: 4a96 ldr r2, [pc, #600] ; (802cd0c ) 802cab4: fba2 1203 umull r1, r2, r2, r3 802cab8: 0b52 lsrs r2, r2, #13 802caba: f242 7110 movw r1, #10000 ; 0x2710 802cabe: fb01 f202 mul.w r2, r1, r2 802cac2: 1a9a subs r2, r3, r2 802cac4: 4b92 ldr r3, [pc, #584] ; (802cd10 ) 802cac6: fba3 2302 umull r2, r3, r3, r2 802caca: 099b lsrs r3, r3, #6 802cacc: b2db uxtb r3, r3 802cace: 75fb strb r3, [r7, #23] aa[4] = (uint8_t) (k % 1000000 % 100000 % 10000 % 1000 / 100); 802cad0: 6b7a ldr r2, [r7, #52] ; 0x34 802cad2: 4b8a ldr r3, [pc, #552] ; (802ccfc ) 802cad4: fba3 1302 umull r1, r3, r3, r2 802cad8: 0c9b lsrs r3, r3, #18 802cada: 4989 ldr r1, [pc, #548] ; (802cd00 ) 802cadc: fb01 f303 mul.w r3, r1, r3 802cae0: 1ad3 subs r3, r2, r3 802cae2: 095a lsrs r2, r3, #5 802cae4: 4987 ldr r1, [pc, #540] ; (802cd04 ) 802cae6: fba1 1202 umull r1, r2, r1, r2 802caea: 09d2 lsrs r2, r2, #7 802caec: 4986 ldr r1, [pc, #536] ; (802cd08 ) 802caee: fb01 f202 mul.w r2, r1, r2 802caf2: 1a9a subs r2, r3, r2 802caf4: 4b85 ldr r3, [pc, #532] ; (802cd0c ) 802caf6: fba3 1302 umull r1, r3, r3, r2 802cafa: 0b5b lsrs r3, r3, #13 802cafc: f242 7110 movw r1, #10000 ; 0x2710 802cb00: fb01 f303 mul.w r3, r1, r3 802cb04: 1ad3 subs r3, r2, r3 802cb06: 4a82 ldr r2, [pc, #520] ; (802cd10 ) 802cb08: fba2 1203 umull r1, r2, r2, r3 802cb0c: 0992 lsrs r2, r2, #6 802cb0e: f44f 717a mov.w r1, #1000 ; 0x3e8 802cb12: fb01 f202 mul.w r2, r1, r2 802cb16: 1a9a subs r2, r3, r2 802cb18: 4b7e ldr r3, [pc, #504] ; (802cd14 ) 802cb1a: fba3 2302 umull r2, r3, r3, r2 802cb1e: 095b lsrs r3, r3, #5 802cb20: b2db uxtb r3, r3 802cb22: 763b strb r3, [r7, #24] aa[5] = (uint8_t) (k % 1000000 % 100000 % 10000 % 1000 % 100 / 10); 802cb24: 6b7b ldr r3, [r7, #52] ; 0x34 802cb26: 4a75 ldr r2, [pc, #468] ; (802ccfc ) 802cb28: fba2 1203 umull r1, r2, r2, r3 802cb2c: 0c92 lsrs r2, r2, #18 802cb2e: 4974 ldr r1, [pc, #464] ; (802cd00 ) 802cb30: fb01 f202 mul.w r2, r1, r2 802cb34: 1a9a subs r2, r3, r2 802cb36: 0953 lsrs r3, r2, #5 802cb38: 4972 ldr r1, [pc, #456] ; (802cd04 ) 802cb3a: fba1 1303 umull r1, r3, r1, r3 802cb3e: 09db lsrs r3, r3, #7 802cb40: 4971 ldr r1, [pc, #452] ; (802cd08 ) 802cb42: fb01 f303 mul.w r3, r1, r3 802cb46: 1ad3 subs r3, r2, r3 802cb48: 4a70 ldr r2, [pc, #448] ; (802cd0c ) 802cb4a: fba2 1203 umull r1, r2, r2, r3 802cb4e: 0b52 lsrs r2, r2, #13 802cb50: f242 7110 movw r1, #10000 ; 0x2710 802cb54: fb01 f202 mul.w r2, r1, r2 802cb58: 1a9a subs r2, r3, r2 802cb5a: 4b6d ldr r3, [pc, #436] ; (802cd10 ) 802cb5c: fba3 1302 umull r1, r3, r3, r2 802cb60: 099b lsrs r3, r3, #6 802cb62: f44f 717a mov.w r1, #1000 ; 0x3e8 802cb66: fb01 f303 mul.w r3, r1, r3 802cb6a: 1ad3 subs r3, r2, r3 802cb6c: 4a69 ldr r2, [pc, #420] ; (802cd14 ) 802cb6e: fba2 1203 umull r1, r2, r2, r3 802cb72: 0952 lsrs r2, r2, #5 802cb74: 2164 movs r1, #100 ; 0x64 802cb76: fb01 f202 mul.w r2, r1, r2 802cb7a: 1a9a subs r2, r3, r2 802cb7c: 4b66 ldr r3, [pc, #408] ; (802cd18 ) 802cb7e: fba3 2302 umull r2, r3, r3, r2 802cb82: 08db lsrs r3, r3, #3 802cb84: b2db uxtb r3, r3 802cb86: 767b strb r3, [r7, #25] aa[6] = (uint8_t) (k % 1000000 % 100000 % 10000 % 1000 % 100 % 10); 802cb88: 6b7b ldr r3, [r7, #52] ; 0x34 802cb8a: 4a5c ldr r2, [pc, #368] ; (802ccfc ) 802cb8c: fba2 1203 umull r1, r2, r2, r3 802cb90: 0c92 lsrs r2, r2, #18 802cb92: 495b ldr r1, [pc, #364] ; (802cd00 ) 802cb94: fb01 f202 mul.w r2, r1, r2 802cb98: 1a9a subs r2, r3, r2 802cb9a: 0953 lsrs r3, r2, #5 802cb9c: 4959 ldr r1, [pc, #356] ; (802cd04 ) 802cb9e: fba1 1303 umull r1, r3, r1, r3 802cba2: 09db lsrs r3, r3, #7 802cba4: 4958 ldr r1, [pc, #352] ; (802cd08 ) 802cba6: fb01 f303 mul.w r3, r1, r3 802cbaa: 1ad3 subs r3, r2, r3 802cbac: 4a57 ldr r2, [pc, #348] ; (802cd0c ) 802cbae: fba2 1203 umull r1, r2, r2, r3 802cbb2: 0b52 lsrs r2, r2, #13 802cbb4: f242 7110 movw r1, #10000 ; 0x2710 802cbb8: fb01 f202 mul.w r2, r1, r2 802cbbc: 1a9a subs r2, r3, r2 802cbbe: 4b54 ldr r3, [pc, #336] ; (802cd10 ) 802cbc0: fba3 1302 umull r1, r3, r3, r2 802cbc4: 099b lsrs r3, r3, #6 802cbc6: f44f 717a mov.w r1, #1000 ; 0x3e8 802cbca: fb01 f303 mul.w r3, r1, r3 802cbce: 1ad3 subs r3, r2, r3 802cbd0: 4a50 ldr r2, [pc, #320] ; (802cd14 ) 802cbd2: fba2 1203 umull r1, r2, r2, r3 802cbd6: 0952 lsrs r2, r2, #5 802cbd8: 2164 movs r1, #100 ; 0x64 802cbda: fb01 f202 mul.w r2, r1, r2 802cbde: 1a9a subs r2, r3, r2 802cbe0: 4b4d ldr r3, [pc, #308] ; (802cd18 ) 802cbe2: fba3 1302 umull r1, r3, r3, r2 802cbe6: 08d9 lsrs r1, r3, #3 802cbe8: 460b mov r3, r1 802cbea: 009b lsls r3, r3, #2 802cbec: 440b add r3, r1 802cbee: 005b lsls r3, r3, #1 802cbf0: 1ad1 subs r1, r2, r3 802cbf2: b2cb uxtb r3, r1 802cbf4: 76bb strb r3, [r7, #26] if(ak == 1) 802cbf6: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 802cbfa: 2b01 cmp r3, #1 802cbfc: d110 bne.n 802cc20 { f_str[0] = aa[0]; 802cbfe: 7d3b ldrb r3, [r7, #20] 802cc00: 733b strb r3, [r7, #12] f_str[1] = '.'; 802cc02: 232e movs r3, #46 ; 0x2e 802cc04: 737b strb r3, [r7, #13] f_str[2] = aa[1]; 802cc06: 7d7b ldrb r3, [r7, #21] 802cc08: 73bb strb r3, [r7, #14] f_str[3] = aa[2]; 802cc0a: 7dbb ldrb r3, [r7, #22] 802cc0c: 73fb strb r3, [r7, #15] f_str[4] = aa[3]; 802cc0e: 7dfb ldrb r3, [r7, #23] 802cc10: 743b strb r3, [r7, #16] f_str[5] = aa[4]; 802cc12: 7e3b ldrb r3, [r7, #24] 802cc14: 747b strb r3, [r7, #17] f_str[6] = aa[5]; 802cc16: 7e7b ldrb r3, [r7, #25] 802cc18: 74bb strb r3, [r7, #18] f_str[7] = aa[6]; 802cc1a: 7ebb ldrb r3, [r7, #26] 802cc1c: 74fb strb r3, [r7, #19] 802cc1e: e067 b.n 802ccf0 } else if(ak == 2) 802cc20: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 802cc24: 2b02 cmp r3, #2 802cc26: d110 bne.n 802cc4a { f_str[0] = aa[0]; 802cc28: 7d3b ldrb r3, [r7, #20] 802cc2a: 733b strb r3, [r7, #12] f_str[1] = aa[1]; 802cc2c: 7d7b ldrb r3, [r7, #21] 802cc2e: 737b strb r3, [r7, #13] f_str[2] = '.'; 802cc30: 232e movs r3, #46 ; 0x2e 802cc32: 73bb strb r3, [r7, #14] f_str[3] = aa[2]; 802cc34: 7dbb ldrb r3, [r7, #22] 802cc36: 73fb strb r3, [r7, #15] f_str[4] = aa[3]; 802cc38: 7dfb ldrb r3, [r7, #23] 802cc3a: 743b strb r3, [r7, #16] f_str[5] = aa[4]; 802cc3c: 7e3b ldrb r3, [r7, #24] 802cc3e: 747b strb r3, [r7, #17] f_str[6] = aa[5]; 802cc40: 7e7b ldrb r3, [r7, #25] 802cc42: 74bb strb r3, [r7, #18] f_str[7] = aa[6]; 802cc44: 7ebb ldrb r3, [r7, #26] 802cc46: 74fb strb r3, [r7, #19] 802cc48: e052 b.n 802ccf0 } else if(ak == 3) 802cc4a: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 802cc4e: 2b03 cmp r3, #3 802cc50: d110 bne.n 802cc74 { f_str[0] = aa[0]; 802cc52: 7d3b ldrb r3, [r7, #20] 802cc54: 733b strb r3, [r7, #12] f_str[1] = aa[1]; 802cc56: 7d7b ldrb r3, [r7, #21] 802cc58: 737b strb r3, [r7, #13] f_str[2] = aa[2]; 802cc5a: 7dbb ldrb r3, [r7, #22] 802cc5c: 73bb strb r3, [r7, #14] f_str[3] = '.'; 802cc5e: 232e movs r3, #46 ; 0x2e 802cc60: 73fb strb r3, [r7, #15] f_str[4] = aa[3]; 802cc62: 7dfb ldrb r3, [r7, #23] 802cc64: 743b strb r3, [r7, #16] f_str[5] = aa[4]; 802cc66: 7e3b ldrb r3, [r7, #24] 802cc68: 747b strb r3, [r7, #17] f_str[6] = aa[5]; 802cc6a: 7e7b ldrb r3, [r7, #25] 802cc6c: 74bb strb r3, [r7, #18] f_str[7] = aa[6]; 802cc6e: 7ebb ldrb r3, [r7, #26] 802cc70: 74fb strb r3, [r7, #19] 802cc72: e03d b.n 802ccf0 } else if(ak == 4) 802cc74: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 802cc78: 2b04 cmp r3, #4 802cc7a: d110 bne.n 802cc9e { f_str[0] = aa[0]; 802cc7c: 7d3b ldrb r3, [r7, #20] 802cc7e: 733b strb r3, [r7, #12] f_str[1] = aa[1]; 802cc80: 7d7b ldrb r3, [r7, #21] 802cc82: 737b strb r3, [r7, #13] f_str[2] = aa[2]; 802cc84: 7dbb ldrb r3, [r7, #22] 802cc86: 73bb strb r3, [r7, #14] f_str[3] = aa[3]; 802cc88: 7dfb ldrb r3, [r7, #23] 802cc8a: 73fb strb r3, [r7, #15] f_str[4] = '.'; 802cc8c: 232e movs r3, #46 ; 0x2e 802cc8e: 743b strb r3, [r7, #16] f_str[5] = aa[4]; 802cc90: 7e3b ldrb r3, [r7, #24] 802cc92: 747b strb r3, [r7, #17] f_str[6] = aa[5]; 802cc94: 7e7b ldrb r3, [r7, #25] 802cc96: 74bb strb r3, [r7, #18] f_str[7] = aa[6]; 802cc98: 7ebb ldrb r3, [r7, #26] 802cc9a: 74fb strb r3, [r7, #19] 802cc9c: e028 b.n 802ccf0 } else if(ak == 5) 802cc9e: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 802cca2: 2b05 cmp r3, #5 802cca4: d110 bne.n 802ccc8 { f_str[0] = aa[0]; 802cca6: 7d3b ldrb r3, [r7, #20] 802cca8: 733b strb r3, [r7, #12] f_str[1] = aa[1]; 802ccaa: 7d7b ldrb r3, [r7, #21] 802ccac: 737b strb r3, [r7, #13] f_str[2] = aa[2]; 802ccae: 7dbb ldrb r3, [r7, #22] 802ccb0: 73bb strb r3, [r7, #14] f_str[3] = aa[3]; 802ccb2: 7dfb ldrb r3, [r7, #23] 802ccb4: 73fb strb r3, [r7, #15] f_str[4] = aa[4]; 802ccb6: 7e3b ldrb r3, [r7, #24] 802ccb8: 743b strb r3, [r7, #16] f_str[5] = '.'; 802ccba: 232e movs r3, #46 ; 0x2e 802ccbc: 747b strb r3, [r7, #17] f_str[6] = aa[5]; 802ccbe: 7e7b ldrb r3, [r7, #25] 802ccc0: 74bb strb r3, [r7, #18] f_str[7] = aa[6]; 802ccc2: 7ebb ldrb r3, [r7, #26] 802ccc4: 74fb strb r3, [r7, #19] 802ccc6: e013 b.n 802ccf0 } else if(ak == 6) 802ccc8: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 802cccc: 2b06 cmp r3, #6 802ccce: d10f bne.n 802ccf0 { f_str[0] = aa[0]; 802ccd0: 7d3b ldrb r3, [r7, #20] 802ccd2: 733b strb r3, [r7, #12] f_str[1] = aa[1]; 802ccd4: 7d7b ldrb r3, [r7, #21] 802ccd6: 737b strb r3, [r7, #13] f_str[2] = aa[2]; 802ccd8: 7dbb ldrb r3, [r7, #22] 802ccda: 73bb strb r3, [r7, #14] f_str[3] = aa[3]; 802ccdc: 7dfb ldrb r3, [r7, #23] 802ccde: 73fb strb r3, [r7, #15] f_str[4] = aa[4]; 802cce0: 7e3b ldrb r3, [r7, #24] 802cce2: 743b strb r3, [r7, #16] f_str[5] = aa[5]; 802cce4: 7e7b ldrb r3, [r7, #25] 802cce6: 747b strb r3, [r7, #17] f_str[6] = '.'; 802cce8: 232e movs r3, #46 ; 0x2e 802ccea: 74bb strb r3, [r7, #18] f_str[7] = aa[6]; 802ccec: 7ebb ldrb r3, [r7, #26] 802ccee: 74fb strb r3, [r7, #19] } } pfile = §or[4]; 802ccf0: 4b0a ldr r3, [pc, #40] ; (802cd1c ) 802ccf2: 633b str r3, [r7, #48] ; 0x30 /************************************************** * *************************************************/ for(i = 0; i < sizeof(XML_0); i++) 802ccf4: 2300 movs r3, #0 802ccf6: 623b str r3, [r7, #32] 802ccf8: e01f b.n 802cd3a 802ccfa: bf00 nop 802ccfc: 431bde83 .word 0x431bde83 802cd00: 000f4240 .word 0x000f4240 802cd04: 0a7c5ac5 .word 0x0a7c5ac5 802cd08: 000186a0 .word 0x000186a0 802cd0c: d1b71759 .word 0xd1b71759 802cd10: 10624dd3 .word 0x10624dd3 802cd14: 51eb851f .word 0x51eb851f 802cd18: cccccccd .word 0xcccccccd 802cd1c: 2007c004 .word 0x2007c004 { *pfile++ = XML_0[i]; 802cd20: 6b3b ldr r3, [r7, #48] ; 0x30 802cd22: 1c5a adds r2, r3, #1 802cd24: 633a str r2, [r7, #48] ; 0x30 802cd26: 6a3a ldr r2, [r7, #32] 802cd28: 49a9 ldr r1, [pc, #676] ; (802cfd0 ) 802cd2a: 5c8a ldrb r2, [r1, r2] 802cd2c: 701a strb r2, [r3, #0] size++; 802cd2e: 69fb ldr r3, [r7, #28] 802cd30: 3301 adds r3, #1 802cd32: 61fb str r3, [r7, #28] for(i = 0; i < sizeof(XML_0); i++) 802cd34: 6a3b ldr r3, [r7, #32] 802cd36: 3301 adds r3, #1 802cd38: 623b str r3, [r7, #32] 802cd3a: 6a3b ldr r3, [r7, #32] 802cd3c: 2b2d cmp r3, #45 ; 0x2d 802cd3e: d9ef bls.n 802cd20 } /******************************************************************* * ******************************************************************/ *pfile++ = '<'; size++; 802cd40: 6b3b ldr r3, [r7, #48] ; 0x30 802cd42: 1c5a adds r2, r3, #1 802cd44: 633a str r2, [r7, #48] ; 0x30 802cd46: 223c movs r2, #60 ; 0x3c 802cd48: 701a strb r2, [r3, #0] 802cd4a: 69fb ldr r3, [r7, #28] 802cd4c: 3301 adds r3, #1 802cd4e: 61fb str r3, [r7, #28] *pfile++ = 'g'; size++; 802cd50: 6b3b ldr r3, [r7, #48] ; 0x30 802cd52: 1c5a adds r2, r3, #1 802cd54: 633a str r2, [r7, #48] ; 0x30 802cd56: 2267 movs r2, #103 ; 0x67 802cd58: 701a strb r2, [r3, #0] 802cd5a: 69fb ldr r3, [r7, #28] 802cd5c: 3301 adds r3, #1 802cd5e: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802cd60: 6b3b ldr r3, [r7, #48] ; 0x30 802cd62: 1c5a adds r2, r3, #1 802cd64: 633a str r2, [r7, #48] ; 0x30 802cd66: 2274 movs r2, #116 ; 0x74 802cd68: 701a strb r2, [r3, #0] 802cd6a: 69fb ldr r3, [r7, #28] 802cd6c: 3301 adds r3, #1 802cd6e: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802cd70: 6b3b ldr r3, [r7, #48] ; 0x30 802cd72: 1c5a adds r2, r3, #1 802cd74: 633a str r2, [r7, #48] ; 0x30 802cd76: 2272 movs r2, #114 ; 0x72 802cd78: 701a strb r2, [r3, #0] 802cd7a: 69fb ldr r3, [r7, #28] 802cd7c: 3301 adds r3, #1 802cd7e: 61fb str r3, [r7, #28] *pfile++ = '_'; size++; 802cd80: 6b3b ldr r3, [r7, #48] ; 0x30 802cd82: 1c5a adds r2, r3, #1 802cd84: 633a str r2, [r7, #48] ; 0x30 802cd86: 225f movs r2, #95 ; 0x5f 802cd88: 701a strb r2, [r3, #0] 802cd8a: 69fb ldr r3, [r7, #28] 802cd8c: 3301 adds r3, #1 802cd8e: 61fb str r3, [r7, #28] *pfile++ = 'h'; size++; 802cd90: 6b3b ldr r3, [r7, #48] ; 0x30 802cd92: 1c5a adds r2, r3, #1 802cd94: 633a str r2, [r7, #48] ; 0x30 802cd96: 2268 movs r2, #104 ; 0x68 802cd98: 701a strb r2, [r3, #0] 802cd9a: 69fb ldr r3, [r7, #28] 802cd9c: 3301 adds r3, #1 802cd9e: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802cda0: 6b3b ldr r3, [r7, #48] ; 0x30 802cda2: 1c5a adds r2, r3, #1 802cda4: 633a str r2, [r7, #48] ; 0x30 802cda6: 2265 movs r2, #101 ; 0x65 802cda8: 701a strb r2, [r3, #0] 802cdaa: 69fb ldr r3, [r7, #28] 802cdac: 3301 adds r3, #1 802cdae: 61fb str r3, [r7, #28] *pfile++ = 'a'; size++; 802cdb0: 6b3b ldr r3, [r7, #48] ; 0x30 802cdb2: 1c5a adds r2, r3, #1 802cdb4: 633a str r2, [r7, #48] ; 0x30 802cdb6: 2261 movs r2, #97 ; 0x61 802cdb8: 701a strb r2, [r3, #0] 802cdba: 69fb ldr r3, [r7, #28] 802cdbc: 3301 adds r3, #1 802cdbe: 61fb str r3, [r7, #28] *pfile++ = 'd'; size++; 802cdc0: 6b3b ldr r3, [r7, #48] ; 0x30 802cdc2: 1c5a adds r2, r3, #1 802cdc4: 633a str r2, [r7, #48] ; 0x30 802cdc6: 2264 movs r2, #100 ; 0x64 802cdc8: 701a strb r2, [r3, #0] 802cdca: 69fb ldr r3, [r7, #28] 802cdcc: 3301 adds r3, #1 802cdce: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802cdd0: 6b3b ldr r3, [r7, #48] ; 0x30 802cdd2: 1c5a adds r2, r3, #1 802cdd4: 633a str r2, [r7, #48] ; 0x30 802cdd6: 2265 movs r2, #101 ; 0x65 802cdd8: 701a strb r2, [r3, #0] 802cdda: 69fb ldr r3, [r7, #28] 802cddc: 3301 adds r3, #1 802cdde: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802cde0: 6b3b ldr r3, [r7, #48] ; 0x30 802cde2: 1c5a adds r2, r3, #1 802cde4: 633a str r2, [r7, #48] ; 0x30 802cde6: 2272 movs r2, #114 ; 0x72 802cde8: 701a strb r2, [r3, #0] 802cdea: 69fb ldr r3, [r7, #28] 802cdec: 3301 adds r3, #1 802cdee: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802cdf0: 6b3b ldr r3, [r7, #48] ; 0x30 802cdf2: 1c5a adds r2, r3, #1 802cdf4: 633a str r2, [r7, #48] ; 0x30 802cdf6: 2220 movs r2, #32 802cdf8: 701a strb r2, [r3, #0] 802cdfa: 69fb ldr r3, [r7, #28] 802cdfc: 3301 adds r3, #1 802cdfe: 61fb str r3, [r7, #28] *pfile++ = 'd'; size++; 802ce00: 6b3b ldr r3, [r7, #48] ; 0x30 802ce02: 1c5a adds r2, r3, #1 802ce04: 633a str r2, [r7, #48] ; 0x30 802ce06: 2264 movs r2, #100 ; 0x64 802ce08: 701a strb r2, [r3, #0] 802ce0a: 69fb ldr r3, [r7, #28] 802ce0c: 3301 adds r3, #1 802ce0e: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802ce10: 6b3b ldr r3, [r7, #48] ; 0x30 802ce12: 1c5a adds r2, r3, #1 802ce14: 633a str r2, [r7, #48] ; 0x30 802ce16: 2265 movs r2, #101 ; 0x65 802ce18: 701a strb r2, [r3, #0] 802ce1a: 69fb ldr r3, [r7, #28] 802ce1c: 3301 adds r3, #1 802ce1e: 61fb str r3, [r7, #28] *pfile++ = 'v'; size++; 802ce20: 6b3b ldr r3, [r7, #48] ; 0x30 802ce22: 1c5a adds r2, r3, #1 802ce24: 633a str r2, [r7, #48] ; 0x30 802ce26: 2276 movs r2, #118 ; 0x76 802ce28: 701a strb r2, [r3, #0] 802ce2a: 69fb ldr r3, [r7, #28] 802ce2c: 3301 adds r3, #1 802ce2e: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802ce30: 6b3b ldr r3, [r7, #48] ; 0x30 802ce32: 1c5a adds r2, r3, #1 802ce34: 633a str r2, [r7, #48] ; 0x30 802ce36: 2269 movs r2, #105 ; 0x69 802ce38: 701a strb r2, [r3, #0] 802ce3a: 69fb ldr r3, [r7, #28] 802ce3c: 3301 adds r3, #1 802ce3e: 61fb str r3, [r7, #28] *pfile++ = 'c'; size++; 802ce40: 6b3b ldr r3, [r7, #48] ; 0x30 802ce42: 1c5a adds r2, r3, #1 802ce44: 633a str r2, [r7, #48] ; 0x30 802ce46: 2263 movs r2, #99 ; 0x63 802ce48: 701a strb r2, [r3, #0] 802ce4a: 69fb ldr r3, [r7, #28] 802ce4c: 3301 adds r3, #1 802ce4e: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802ce50: 6b3b ldr r3, [r7, #48] ; 0x30 802ce52: 1c5a adds r2, r3, #1 802ce54: 633a str r2, [r7, #48] ; 0x30 802ce56: 2265 movs r2, #101 ; 0x65 802ce58: 701a strb r2, [r3, #0] 802ce5a: 69fb ldr r3, [r7, #28] 802ce5c: 3301 adds r3, #1 802ce5e: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802ce60: 6b3b ldr r3, [r7, #48] ; 0x30 802ce62: 1c5a adds r2, r3, #1 802ce64: 633a str r2, [r7, #48] ; 0x30 802ce66: 223d movs r2, #61 ; 0x3d 802ce68: 701a strb r2, [r3, #0] 802ce6a: 69fb ldr r3, [r7, #28] 802ce6c: 3301 adds r3, #1 802ce6e: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802ce70: 6b3b ldr r3, [r7, #48] ; 0x30 802ce72: 1c5a adds r2, r3, #1 802ce74: 633a str r2, [r7, #48] ; 0x30 802ce76: 2222 movs r2, #34 ; 0x22 802ce78: 701a strb r2, [r3, #0] 802ce7a: 69fb ldr r3, [r7, #28] 802ce7c: 3301 adds r3, #1 802ce7e: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802ce80: 6b3b ldr r3, [r7, #48] ; 0x30 802ce82: 1c5a adds r2, r3, #1 802ce84: 633a str r2, [r7, #48] ; 0x30 802ce86: 2220 movs r2, #32 802ce88: 701a strb r2, [r3, #0] 802ce8a: 69fb ldr r3, [r7, #28] 802ce8c: 3301 adds r3, #1 802ce8e: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802ce90: 6b3b ldr r3, [r7, #48] ; 0x30 802ce92: 1c5a adds r2, r3, #1 802ce94: 633a str r2, [r7, #48] ; 0x30 802ce96: 2220 movs r2, #32 802ce98: 701a strb r2, [r3, #0] 802ce9a: 69fb ldr r3, [r7, #28] 802ce9c: 3301 adds r3, #1 802ce9e: 61fb str r3, [r7, #28] *pfile++ = 'D'; size++; 802cea0: 6b3b ldr r3, [r7, #48] ; 0x30 802cea2: 1c5a adds r2, r3, #1 802cea4: 633a str r2, [r7, #48] ; 0x30 802cea6: 2244 movs r2, #68 ; 0x44 802cea8: 701a strb r2, [r3, #0] 802ceaa: 69fb ldr r3, [r7, #28] 802ceac: 3301 adds r3, #1 802ceae: 61fb str r3, [r7, #28] *pfile++ = '1'; size++; 802ceb0: 6b3b ldr r3, [r7, #48] ; 0x30 802ceb2: 1c5a adds r2, r3, #1 802ceb4: 633a str r2, [r7, #48] ; 0x30 802ceb6: 2231 movs r2, #49 ; 0x31 802ceb8: 701a strb r2, [r3, #0] 802ceba: 69fb ldr r3, [r7, #28] 802cebc: 3301 adds r3, #1 802cebe: 61fb str r3, [r7, #28] *pfile++ = '4'; size++; 802cec0: 6b3b ldr r3, [r7, #48] ; 0x30 802cec2: 1c5a adds r2, r3, #1 802cec4: 633a str r2, [r7, #48] ; 0x30 802cec6: 2234 movs r2, #52 ; 0x34 802cec8: 701a strb r2, [r3, #0] 802ceca: 69fb ldr r3, [r7, #28] 802cecc: 3301 adds r3, #1 802cece: 61fb str r3, [r7, #28] *pfile++ = '1'; size++; 802ced0: 6b3b ldr r3, [r7, #48] ; 0x30 802ced2: 1c5a adds r2, r3, #1 802ced4: 633a str r2, [r7, #48] ; 0x30 802ced6: 2231 movs r2, #49 ; 0x31 802ced8: 701a strb r2, [r3, #0] 802ceda: 69fb ldr r3, [r7, #28] 802cedc: 3301 adds r3, #1 802cede: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802cee0: 6b3b ldr r3, [r7, #48] ; 0x30 802cee2: 1c5a adds r2, r3, #1 802cee4: 633a str r2, [r7, #48] ; 0x30 802cee6: 2222 movs r2, #34 ; 0x22 802cee8: 701a strb r2, [r3, #0] 802ceea: 69fb ldr r3, [r7, #28] 802ceec: 3301 adds r3, #1 802ceee: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802cef0: 6b3b ldr r3, [r7, #48] ; 0x30 802cef2: 1c5a adds r2, r3, #1 802cef4: 633a str r2, [r7, #48] ; 0x30 802cef6: 2220 movs r2, #32 802cef8: 701a strb r2, [r3, #0] 802cefa: 69fb ldr r3, [r7, #28] 802cefc: 3301 adds r3, #1 802cefe: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802cf00: 6b3b ldr r3, [r7, #48] ; 0x30 802cf02: 1c5a adds r2, r3, #1 802cf04: 633a str r2, [r7, #48] ; 0x30 802cf06: 2272 movs r2, #114 ; 0x72 802cf08: 701a strb r2, [r3, #0] 802cf0a: 69fb ldr r3, [r7, #28] 802cf0c: 3301 adds r3, #1 802cf0e: 61fb str r3, [r7, #28] *pfile++ = 'a'; size++; 802cf10: 6b3b ldr r3, [r7, #48] ; 0x30 802cf12: 1c5a adds r2, r3, #1 802cf14: 633a str r2, [r7, #48] ; 0x30 802cf16: 2261 movs r2, #97 ; 0x61 802cf18: 701a strb r2, [r3, #0] 802cf1a: 69fb ldr r3, [r7, #28] 802cf1c: 3301 adds r3, #1 802cf1e: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802cf20: 6b3b ldr r3, [r7, #48] ; 0x30 802cf22: 1c5a adds r2, r3, #1 802cf24: 633a str r2, [r7, #48] ; 0x30 802cf26: 2274 movs r2, #116 ; 0x74 802cf28: 701a strb r2, [r3, #0] 802cf2a: 69fb ldr r3, [r7, #28] 802cf2c: 3301 adds r3, #1 802cf2e: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802cf30: 6b3b ldr r3, [r7, #48] ; 0x30 802cf32: 1c5a adds r2, r3, #1 802cf34: 633a str r2, [r7, #48] ; 0x30 802cf36: 2265 movs r2, #101 ; 0x65 802cf38: 701a strb r2, [r3, #0] 802cf3a: 69fb ldr r3, [r7, #28] 802cf3c: 3301 adds r3, #1 802cf3e: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802cf40: 6b3b ldr r3, [r7, #48] ; 0x30 802cf42: 1c5a adds r2, r3, #1 802cf44: 633a str r2, [r7, #48] ; 0x30 802cf46: 223d movs r2, #61 ; 0x3d 802cf48: 701a strb r2, [r3, #0] 802cf4a: 69fb ldr r3, [r7, #28] 802cf4c: 3301 adds r3, #1 802cf4e: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802cf50: 6b3b ldr r3, [r7, #48] ; 0x30 802cf52: 1c5a adds r2, r3, #1 802cf54: 633a str r2, [r7, #48] ; 0x30 802cf56: 2222 movs r2, #34 ; 0x22 802cf58: 701a strb r2, [r3, #0] 802cf5a: 69fb ldr r3, [r7, #28] 802cf5c: 3301 adds r3, #1 802cf5e: 61fb str r3, [r7, #28] j = FS[pardata.FRQ]; 802cf60: 4b1c ldr r3, [pc, #112] ; (802cfd4 ) 802cf62: 7adb ldrb r3, [r3, #11] 802cf64: b2db uxtb r3, r3 802cf66: 461a mov r2, r3 802cf68: 4b1b ldr r3, [pc, #108] ; (802cfd8 ) 802cf6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802cf6e: 627b str r3, [r7, #36] ; 0x24 *pfile++ = (uint8_t) ((j / 10000) + 48); size++; 802cf70: 6b3b ldr r3, [r7, #48] ; 0x30 802cf72: 1c5a adds r2, r3, #1 802cf74: 633a str r2, [r7, #48] ; 0x30 802cf76: 6a7a ldr r2, [r7, #36] ; 0x24 802cf78: 4918 ldr r1, [pc, #96] ; (802cfdc ) 802cf7a: fba1 1202 umull r1, r2, r1, r2 802cf7e: 0b52 lsrs r2, r2, #13 802cf80: b2d2 uxtb r2, r2 802cf82: 3230 adds r2, #48 ; 0x30 802cf84: b2d2 uxtb r2, r2 802cf86: 701a strb r2, [r3, #0] 802cf88: 69fb ldr r3, [r7, #28] 802cf8a: 3301 adds r3, #1 802cf8c: 61fb str r3, [r7, #28] *pfile++ = (uint8_t) (((j % 10000) / 1000) + 48); size++; 802cf8e: 6b3a ldr r2, [r7, #48] ; 0x30 802cf90: 1c53 adds r3, r2, #1 802cf92: 633b str r3, [r7, #48] ; 0x30 802cf94: 6a79 ldr r1, [r7, #36] ; 0x24 802cf96: 4b11 ldr r3, [pc, #68] ; (802cfdc ) 802cf98: fba3 0301 umull r0, r3, r3, r1 802cf9c: 0b5b lsrs r3, r3, #13 802cf9e: f242 7010 movw r0, #10000 ; 0x2710 802cfa2: fb00 f303 mul.w r3, r0, r3 802cfa6: 1acb subs r3, r1, r3 802cfa8: 490d ldr r1, [pc, #52] ; (802cfe0 ) 802cfaa: fba1 1303 umull r1, r3, r1, r3 802cfae: 099b lsrs r3, r3, #6 802cfb0: b2db uxtb r3, r3 802cfb2: 3330 adds r3, #48 ; 0x30 802cfb4: b2db uxtb r3, r3 802cfb6: 7013 strb r3, [r2, #0] 802cfb8: 69fb ldr r3, [r7, #28] 802cfba: 3301 adds r3, #1 802cfbc: 61fb str r3, [r7, #28] *pfile++ = (uint8_t) ((((j % 10000) % 1000) / 100) + 48); size++; 802cfbe: 6b39 ldr r1, [r7, #48] ; 0x30 802cfc0: 1c4b adds r3, r1, #1 802cfc2: 633b str r3, [r7, #48] ; 0x30 802cfc4: 6a7a ldr r2, [r7, #36] ; 0x24 802cfc6: 4b05 ldr r3, [pc, #20] ; (802cfdc ) 802cfc8: fba3 0302 umull r0, r3, r3, r2 802cfcc: 0b5b lsrs r3, r3, #13 802cfce: e009 b.n 802cfe4 802cfd0: 080d0f8c .word 0x080d0f8c 802cfd4: 20023e60 .word 0x20023e60 802cfd8: 080d0dec .word 0x080d0dec 802cfdc: d1b71759 .word 0xd1b71759 802cfe0: 10624dd3 .word 0x10624dd3 802cfe4: f242 7010 movw r0, #10000 ; 0x2710 802cfe8: fb00 f303 mul.w r3, r0, r3 802cfec: 1ad3 subs r3, r2, r3 802cfee: 4a9b ldr r2, [pc, #620] ; (802d25c ) 802cff0: fba2 0203 umull r0, r2, r2, r3 802cff4: 0992 lsrs r2, r2, #6 802cff6: f44f 707a mov.w r0, #1000 ; 0x3e8 802cffa: fb00 f202 mul.w r2, r0, r2 802cffe: 1a9a subs r2, r3, r2 802d000: 4b97 ldr r3, [pc, #604] ; (802d260 ) 802d002: fba3 2302 umull r2, r3, r3, r2 802d006: 095b lsrs r3, r3, #5 802d008: b2db uxtb r3, r3 802d00a: 3330 adds r3, #48 ; 0x30 802d00c: b2db uxtb r3, r3 802d00e: 700b strb r3, [r1, #0] 802d010: 69fb ldr r3, [r7, #28] 802d012: 3301 adds r3, #1 802d014: 61fb str r3, [r7, #28] *pfile++ = (uint8_t) (((((j % 10000) % 1000) % 100) / 10) + 48); size++; 802d016: 6b39 ldr r1, [r7, #48] ; 0x30 802d018: 1c4b adds r3, r1, #1 802d01a: 633b str r3, [r7, #48] ; 0x30 802d01c: 6a7b ldr r3, [r7, #36] ; 0x24 802d01e: 4a91 ldr r2, [pc, #580] ; (802d264 ) 802d020: fba2 0203 umull r0, r2, r2, r3 802d024: 0b52 lsrs r2, r2, #13 802d026: f242 7010 movw r0, #10000 ; 0x2710 802d02a: fb00 f202 mul.w r2, r0, r2 802d02e: 1a9a subs r2, r3, r2 802d030: 4b8a ldr r3, [pc, #552] ; (802d25c ) 802d032: fba3 0302 umull r0, r3, r3, r2 802d036: 099b lsrs r3, r3, #6 802d038: f44f 707a mov.w r0, #1000 ; 0x3e8 802d03c: fb00 f303 mul.w r3, r0, r3 802d040: 1ad3 subs r3, r2, r3 802d042: 4a87 ldr r2, [pc, #540] ; (802d260 ) 802d044: fba2 0203 umull r0, r2, r2, r3 802d048: 0952 lsrs r2, r2, #5 802d04a: 2064 movs r0, #100 ; 0x64 802d04c: fb00 f202 mul.w r2, r0, r2 802d050: 1a9a subs r2, r3, r2 802d052: 4b85 ldr r3, [pc, #532] ; (802d268 ) 802d054: fba3 2302 umull r2, r3, r3, r2 802d058: 08db lsrs r3, r3, #3 802d05a: b2db uxtb r3, r3 802d05c: 3330 adds r3, #48 ; 0x30 802d05e: b2db uxtb r3, r3 802d060: 700b strb r3, [r1, #0] 802d062: 69fb ldr r3, [r7, #28] 802d064: 3301 adds r3, #1 802d066: 61fb str r3, [r7, #28] *pfile++ = (uint8_t) (((((j % 10000) % 1000) % 100) % 10) + 48); size++; 802d068: 6b38 ldr r0, [r7, #48] ; 0x30 802d06a: 1c43 adds r3, r0, #1 802d06c: 633b str r3, [r7, #48] ; 0x30 802d06e: 6a7b ldr r3, [r7, #36] ; 0x24 802d070: 4a7c ldr r2, [pc, #496] ; (802d264 ) 802d072: fba2 1203 umull r1, r2, r2, r3 802d076: 0b52 lsrs r2, r2, #13 802d078: f242 7110 movw r1, #10000 ; 0x2710 802d07c: fb01 f202 mul.w r2, r1, r2 802d080: 1a9a subs r2, r3, r2 802d082: 4b76 ldr r3, [pc, #472] ; (802d25c ) 802d084: fba3 1302 umull r1, r3, r3, r2 802d088: 099b lsrs r3, r3, #6 802d08a: f44f 717a mov.w r1, #1000 ; 0x3e8 802d08e: fb01 f303 mul.w r3, r1, r3 802d092: 1ad3 subs r3, r2, r3 802d094: 4a72 ldr r2, [pc, #456] ; (802d260 ) 802d096: fba2 1203 umull r1, r2, r2, r3 802d09a: 0952 lsrs r2, r2, #5 802d09c: 2164 movs r1, #100 ; 0x64 802d09e: fb01 f202 mul.w r2, r1, r2 802d0a2: 1a9a subs r2, r3, r2 802d0a4: 4b70 ldr r3, [pc, #448] ; (802d268 ) 802d0a6: fba3 1302 umull r1, r3, r3, r2 802d0aa: 08d9 lsrs r1, r3, #3 802d0ac: 460b mov r3, r1 802d0ae: 009b lsls r3, r3, #2 802d0b0: 440b add r3, r1 802d0b2: 005b lsls r3, r3, #1 802d0b4: 1ad1 subs r1, r2, r3 802d0b6: b2cb uxtb r3, r1 802d0b8: 3330 adds r3, #48 ; 0x30 802d0ba: b2db uxtb r3, r3 802d0bc: 7003 strb r3, [r0, #0] 802d0be: 69fb ldr r3, [r7, #28] 802d0c0: 3301 adds r3, #1 802d0c2: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d0c4: 6b3b ldr r3, [r7, #48] ; 0x30 802d0c6: 1c5a adds r2, r3, #1 802d0c8: 633a str r2, [r7, #48] ; 0x30 802d0ca: 2222 movs r2, #34 ; 0x22 802d0cc: 701a strb r2, [r3, #0] 802d0ce: 69fb ldr r3, [r7, #28] 802d0d0: 3301 adds r3, #1 802d0d2: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d0d4: 6b3b ldr r3, [r7, #48] ; 0x30 802d0d6: 1c5a adds r2, r3, #1 802d0d8: 633a str r2, [r7, #48] ; 0x30 802d0da: 2220 movs r2, #32 802d0dc: 701a strb r2, [r3, #0] 802d0de: 69fb ldr r3, [r7, #28] 802d0e0: 3301 adds r3, #1 802d0e2: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802d0e4: 6b3b ldr r3, [r7, #48] ; 0x30 802d0e6: 1c5a adds r2, r3, #1 802d0e8: 633a str r2, [r7, #48] ; 0x30 802d0ea: 2274 movs r2, #116 ; 0x74 802d0ec: 701a strb r2, [r3, #0] 802d0ee: 69fb ldr r3, [r7, #28] 802d0f0: 3301 adds r3, #1 802d0f2: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d0f4: 6b3b ldr r3, [r7, #48] ; 0x30 802d0f6: 1c5a adds r2, r3, #1 802d0f8: 633a str r2, [r7, #48] ; 0x30 802d0fa: 2269 movs r2, #105 ; 0x69 802d0fc: 701a strb r2, [r3, #0] 802d0fe: 69fb ldr r3, [r7, #28] 802d100: 3301 adds r3, #1 802d102: 61fb str r3, [r7, #28] *pfile++ = 'm'; size++; 802d104: 6b3b ldr r3, [r7, #48] ; 0x30 802d106: 1c5a adds r2, r3, #1 802d108: 633a str r2, [r7, #48] ; 0x30 802d10a: 226d movs r2, #109 ; 0x6d 802d10c: 701a strb r2, [r3, #0] 802d10e: 69fb ldr r3, [r7, #28] 802d110: 3301 adds r3, #1 802d112: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d114: 6b3b ldr r3, [r7, #48] ; 0x30 802d116: 1c5a adds r2, r3, #1 802d118: 633a str r2, [r7, #48] ; 0x30 802d11a: 2265 movs r2, #101 ; 0x65 802d11c: 701a strb r2, [r3, #0] 802d11e: 69fb ldr r3, [r7, #28] 802d120: 3301 adds r3, #1 802d122: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d124: 6b3b ldr r3, [r7, #48] ; 0x30 802d126: 1c5a adds r2, r3, #1 802d128: 633a str r2, [r7, #48] ; 0x30 802d12a: 223d movs r2, #61 ; 0x3d 802d12c: 701a strb r2, [r3, #0] 802d12e: 69fb ldr r3, [r7, #28] 802d130: 3301 adds r3, #1 802d132: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d134: 6b3b ldr r3, [r7, #48] ; 0x30 802d136: 1c5a adds r2, r3, #1 802d138: 633a str r2, [r7, #48] ; 0x30 802d13a: 2222 movs r2, #34 ; 0x22 802d13c: 701a strb r2, [r3, #0] 802d13e: 69fb ldr r3, [r7, #28] 802d140: 3301 adds r3, #1 802d142: 61fb str r3, [r7, #28] *pfile++ = '0'; size++; 802d144: 6b3b ldr r3, [r7, #48] ; 0x30 802d146: 1c5a adds r2, r3, #1 802d148: 633a str r2, [r7, #48] ; 0x30 802d14a: 2230 movs r2, #48 ; 0x30 802d14c: 701a strb r2, [r3, #0] 802d14e: 69fb ldr r3, [r7, #28] 802d150: 3301 adds r3, #1 802d152: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d154: 6b3b ldr r3, [r7, #48] ; 0x30 802d156: 1c5a adds r2, r3, #1 802d158: 633a str r2, [r7, #48] ; 0x30 802d15a: 2222 movs r2, #34 ; 0x22 802d15c: 701a strb r2, [r3, #0] 802d15e: 69fb ldr r3, [r7, #28] 802d160: 3301 adds r3, #1 802d162: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d164: 6b3b ldr r3, [r7, #48] ; 0x30 802d166: 1c5a adds r2, r3, #1 802d168: 633a str r2, [r7, #48] ; 0x30 802d16a: 2220 movs r2, #32 802d16c: 701a strb r2, [r3, #0] 802d16e: 69fb ldr r3, [r7, #28] 802d170: 3301 adds r3, #1 802d172: 61fb str r3, [r7, #28] *pfile++ = 'c'; size++; 802d174: 6b3b ldr r3, [r7, #48] ; 0x30 802d176: 1c5a adds r2, r3, #1 802d178: 633a str r2, [r7, #48] ; 0x30 802d17a: 2263 movs r2, #99 ; 0x63 802d17c: 701a strb r2, [r3, #0] 802d17e: 69fb ldr r3, [r7, #28] 802d180: 3301 adds r3, #1 802d182: 61fb str r3, [r7, #28] *pfile++ = 'o'; size++; 802d184: 6b3b ldr r3, [r7, #48] ; 0x30 802d186: 1c5a adds r2, r3, #1 802d188: 633a str r2, [r7, #48] ; 0x30 802d18a: 226f movs r2, #111 ; 0x6f 802d18c: 701a strb r2, [r3, #0] 802d18e: 69fb ldr r3, [r7, #28] 802d190: 3301 adds r3, #1 802d192: 61fb str r3, [r7, #28] *pfile++ = 'm'; size++; 802d194: 6b3b ldr r3, [r7, #48] ; 0x30 802d196: 1c5a adds r2, r3, #1 802d198: 633a str r2, [r7, #48] ; 0x30 802d19a: 226d movs r2, #109 ; 0x6d 802d19c: 701a strb r2, [r3, #0] 802d19e: 69fb ldr r3, [r7, #28] 802d1a0: 3301 adds r3, #1 802d1a2: 61fb str r3, [r7, #28] *pfile++ = 'm'; size++; 802d1a4: 6b3b ldr r3, [r7, #48] ; 0x30 802d1a6: 1c5a adds r2, r3, #1 802d1a8: 633a str r2, [r7, #48] ; 0x30 802d1aa: 226d movs r2, #109 ; 0x6d 802d1ac: 701a strb r2, [r3, #0] 802d1ae: 69fb ldr r3, [r7, #28] 802d1b0: 3301 adds r3, #1 802d1b2: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d1b4: 6b3b ldr r3, [r7, #48] ; 0x30 802d1b6: 1c5a adds r2, r3, #1 802d1b8: 633a str r2, [r7, #48] ; 0x30 802d1ba: 2265 movs r2, #101 ; 0x65 802d1bc: 701a strb r2, [r3, #0] 802d1be: 69fb ldr r3, [r7, #28] 802d1c0: 3301 adds r3, #1 802d1c2: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802d1c4: 6b3b ldr r3, [r7, #48] ; 0x30 802d1c6: 1c5a adds r2, r3, #1 802d1c8: 633a str r2, [r7, #48] ; 0x30 802d1ca: 226e movs r2, #110 ; 0x6e 802d1cc: 701a strb r2, [r3, #0] 802d1ce: 69fb ldr r3, [r7, #28] 802d1d0: 3301 adds r3, #1 802d1d2: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802d1d4: 6b3b ldr r3, [r7, #48] ; 0x30 802d1d6: 1c5a adds r2, r3, #1 802d1d8: 633a str r2, [r7, #48] ; 0x30 802d1da: 2274 movs r2, #116 ; 0x74 802d1dc: 701a strb r2, [r3, #0] 802d1de: 69fb ldr r3, [r7, #28] 802d1e0: 3301 adds r3, #1 802d1e2: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d1e4: 6b3b ldr r3, [r7, #48] ; 0x30 802d1e6: 1c5a adds r2, r3, #1 802d1e8: 633a str r2, [r7, #48] ; 0x30 802d1ea: 223d movs r2, #61 ; 0x3d 802d1ec: 701a strb r2, [r3, #0] 802d1ee: 69fb ldr r3, [r7, #28] 802d1f0: 3301 adds r3, #1 802d1f2: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d1f4: 6b3b ldr r3, [r7, #48] ; 0x30 802d1f6: 1c5a adds r2, r3, #1 802d1f8: 633a str r2, [r7, #48] ; 0x30 802d1fa: 2222 movs r2, #34 ; 0x22 802d1fc: 701a strb r2, [r3, #0] 802d1fe: 69fb ldr r3, [r7, #28] 802d200: 3301 adds r3, #1 802d202: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d204: 6b3b ldr r3, [r7, #48] ; 0x30 802d206: 1c5a adds r2, r3, #1 802d208: 633a str r2, [r7, #48] ; 0x30 802d20a: 2220 movs r2, #32 802d20c: 701a strb r2, [r3, #0] 802d20e: 69fb ldr r3, [r7, #28] 802d210: 3301 adds r3, #1 802d212: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d214: 6b3b ldr r3, [r7, #48] ; 0x30 802d216: 1c5a adds r2, r3, #1 802d218: 633a str r2, [r7, #48] ; 0x30 802d21a: 2220 movs r2, #32 802d21c: 701a strb r2, [r3, #0] 802d21e: 69fb ldr r3, [r7, #28] 802d220: 3301 adds r3, #1 802d222: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d224: 6b3b ldr r3, [r7, #48] ; 0x30 802d226: 1c5a adds r2, r3, #1 802d228: 633a str r2, [r7, #48] ; 0x30 802d22a: 2222 movs r2, #34 ; 0x22 802d22c: 701a strb r2, [r3, #0] 802d22e: 69fb ldr r3, [r7, #28] 802d230: 3301 adds r3, #1 802d232: 61fb str r3, [r7, #28] *pfile++ = '>'; size++; 802d234: 6b3b ldr r3, [r7, #48] ; 0x30 802d236: 1c5a adds r2, r3, #1 802d238: 633a str r2, [r7, #48] ; 0x30 802d23a: 223e movs r2, #62 ; 0x3e 802d23c: 701a strb r2, [r3, #0] 802d23e: 69fb ldr r3, [r7, #28] 802d240: 3301 adds r3, #1 802d242: 61fb str r3, [r7, #28] *pfile++ = '\n'; size++; 802d244: 6b3b ldr r3, [r7, #48] ; 0x30 802d246: 1c5a adds r2, r3, #1 802d248: 633a str r2, [r7, #48] ; 0x30 802d24a: 220a movs r2, #10 802d24c: 701a strb r2, [r3, #0] 802d24e: 69fb ldr r3, [r7, #28] 802d250: 3301 adds r3, #1 802d252: 61fb str r3, [r7, #28] /******************************************************* * ******************************************************/ for(i = 0; i < sizeof(XML_2); i++) 802d254: 2300 movs r3, #0 802d256: 623b str r3, [r7, #32] 802d258: e018 b.n 802d28c 802d25a: bf00 nop 802d25c: 10624dd3 .word 0x10624dd3 802d260: 51eb851f .word 0x51eb851f 802d264: d1b71759 .word 0xd1b71759 802d268: cccccccd .word 0xcccccccd { *pfile++ = XML_2[i]; 802d26c: 6b3b ldr r3, [r7, #48] ; 0x30 802d26e: 1c5a adds r2, r3, #1 802d270: 633a str r2, [r7, #48] ; 0x30 802d272: 6a3a ldr r2, [r7, #32] 802d274: 4904 ldr r1, [pc, #16] ; (802d288 ) 802d276: 5c8a ldrb r2, [r1, r2] 802d278: 701a strb r2, [r3, #0] size++; 802d27a: 69fb ldr r3, [r7, #28] 802d27c: 3301 adds r3, #1 802d27e: 61fb str r3, [r7, #28] for(i = 0; i < sizeof(XML_2); i++) 802d280: 6a3b ldr r3, [r7, #32] 802d282: 3301 adds r3, #1 802d284: 623b str r3, [r7, #32] 802d286: e001 b.n 802d28c 802d288: 080d0fbc .word 0x080d0fbc 802d28c: 6a3b ldr r3, [r7, #32] 802d28e: 2b2a cmp r3, #42 ; 0x2a 802d290: d9ec bls.n 802d26c } *pfile++ = '<'; size++; 802d292: 6b3b ldr r3, [r7, #48] ; 0x30 802d294: 1c5a adds r2, r3, #1 802d296: 633a str r2, [r7, #48] ; 0x30 802d298: 223c movs r2, #60 ; 0x3c 802d29a: 701a strb r2, [r3, #0] 802d29c: 69fb ldr r3, [r7, #28] 802d29e: 3301 adds r3, #1 802d2a0: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d2a2: 6b3b ldr r3, [r7, #48] ; 0x30 802d2a4: 1c5a adds r2, r3, #1 802d2a6: 633a str r2, [r7, #48] ; 0x30 802d2a8: 2269 movs r2, #105 ; 0x69 802d2aa: 701a strb r2, [r3, #0] 802d2ac: 69fb ldr r3, [r7, #28] 802d2ae: 3301 adds r3, #1 802d2b0: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802d2b2: 6b3b ldr r3, [r7, #48] ; 0x30 802d2b4: 1c5a adds r2, r3, #1 802d2b6: 633a str r2, [r7, #48] ; 0x30 802d2b8: 226e movs r2, #110 ; 0x6e 802d2ba: 701a strb r2, [r3, #0] 802d2bc: 69fb ldr r3, [r7, #28] 802d2be: 3301 adds r3, #1 802d2c0: 61fb str r3, [r7, #28] *pfile++ = 'p'; size++; 802d2c2: 6b3b ldr r3, [r7, #48] ; 0x30 802d2c4: 1c5a adds r2, r3, #1 802d2c6: 633a str r2, [r7, #48] ; 0x30 802d2c8: 2270 movs r2, #112 ; 0x70 802d2ca: 701a strb r2, [r3, #0] 802d2cc: 69fb ldr r3, [r7, #28] 802d2ce: 3301 adds r3, #1 802d2d0: 61fb str r3, [r7, #28] *pfile++ = 'u'; size++; 802d2d2: 6b3b ldr r3, [r7, #48] ; 0x30 802d2d4: 1c5a adds r2, r3, #1 802d2d6: 633a str r2, [r7, #48] ; 0x30 802d2d8: 2275 movs r2, #117 ; 0x75 802d2da: 701a strb r2, [r3, #0] 802d2dc: 69fb ldr r3, [r7, #28] 802d2de: 3301 adds r3, #1 802d2e0: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802d2e2: 6b3b ldr r3, [r7, #48] ; 0x30 802d2e4: 1c5a adds r2, r3, #1 802d2e6: 633a str r2, [r7, #48] ; 0x30 802d2e8: 2274 movs r2, #116 ; 0x74 802d2ea: 701a strb r2, [r3, #0] 802d2ec: 69fb ldr r3, [r7, #28] 802d2ee: 3301 adds r3, #1 802d2f0: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d2f2: 6b3b ldr r3, [r7, #48] ; 0x30 802d2f4: 1c5a adds r2, r3, #1 802d2f6: 633a str r2, [r7, #48] ; 0x30 802d2f8: 2220 movs r2, #32 802d2fa: 701a strb r2, [r3, #0] 802d2fc: 69fb ldr r3, [r7, #28] 802d2fe: 3301 adds r3, #1 802d300: 61fb str r3, [r7, #28] /********************************************************************************************************************************************************* * *********************************************************************************************************************************************************/ *pfile++ = 's'; size++; 802d302: 6b3b ldr r3, [r7, #48] ; 0x30 802d304: 1c5a adds r2, r3, #1 802d306: 633a str r2, [r7, #48] ; 0x30 802d308: 2273 movs r2, #115 ; 0x73 802d30a: 701a strb r2, [r3, #0] 802d30c: 69fb ldr r3, [r7, #28] 802d30e: 3301 adds r3, #1 802d310: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d312: 6b3b ldr r3, [r7, #48] ; 0x30 802d314: 1c5a adds r2, r3, #1 802d316: 633a str r2, [r7, #48] ; 0x30 802d318: 2265 movs r2, #101 ; 0x65 802d31a: 701a strb r2, [r3, #0] 802d31c: 69fb ldr r3, [r7, #28] 802d31e: 3301 adds r3, #1 802d320: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802d322: 6b3b ldr r3, [r7, #48] ; 0x30 802d324: 1c5a adds r2, r3, #1 802d326: 633a str r2, [r7, #48] ; 0x30 802d328: 226e movs r2, #110 ; 0x6e 802d32a: 701a strb r2, [r3, #0] 802d32c: 69fb ldr r3, [r7, #28] 802d32e: 3301 adds r3, #1 802d330: 61fb str r3, [r7, #28] *pfile++ = 's'; size++; 802d332: 6b3b ldr r3, [r7, #48] ; 0x30 802d334: 1c5a adds r2, r3, #1 802d336: 633a str r2, [r7, #48] ; 0x30 802d338: 2273 movs r2, #115 ; 0x73 802d33a: 701a strb r2, [r3, #0] 802d33c: 69fb ldr r3, [r7, #28] 802d33e: 3301 adds r3, #1 802d340: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d342: 6b3b ldr r3, [r7, #48] ; 0x30 802d344: 1c5a adds r2, r3, #1 802d346: 633a str r2, [r7, #48] ; 0x30 802d348: 2269 movs r2, #105 ; 0x69 802d34a: 701a strb r2, [r3, #0] 802d34c: 69fb ldr r3, [r7, #28] 802d34e: 3301 adds r3, #1 802d350: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802d352: 6b3b ldr r3, [r7, #48] ; 0x30 802d354: 1c5a adds r2, r3, #1 802d356: 633a str r2, [r7, #48] ; 0x30 802d358: 2274 movs r2, #116 ; 0x74 802d35a: 701a strb r2, [r3, #0] 802d35c: 69fb ldr r3, [r7, #28] 802d35e: 3301 adds r3, #1 802d360: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d362: 6b3b ldr r3, [r7, #48] ; 0x30 802d364: 1c5a adds r2, r3, #1 802d366: 633a str r2, [r7, #48] ; 0x30 802d368: 2269 movs r2, #105 ; 0x69 802d36a: 701a strb r2, [r3, #0] 802d36c: 69fb ldr r3, [r7, #28] 802d36e: 3301 adds r3, #1 802d370: 61fb str r3, [r7, #28] *pfile++ = 'v'; size++; 802d372: 6b3b ldr r3, [r7, #48] ; 0x30 802d374: 1c5a adds r2, r3, #1 802d376: 633a str r2, [r7, #48] ; 0x30 802d378: 2276 movs r2, #118 ; 0x76 802d37a: 701a strb r2, [r3, #0] 802d37c: 69fb ldr r3, [r7, #28] 802d37e: 3301 adds r3, #1 802d380: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d382: 6b3b ldr r3, [r7, #48] ; 0x30 802d384: 1c5a adds r2, r3, #1 802d386: 633a str r2, [r7, #48] ; 0x30 802d388: 2269 movs r2, #105 ; 0x69 802d38a: 701a strb r2, [r3, #0] 802d38c: 69fb ldr r3, [r7, #28] 802d38e: 3301 adds r3, #1 802d390: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802d392: 6b3b ldr r3, [r7, #48] ; 0x30 802d394: 1c5a adds r2, r3, #1 802d396: 633a str r2, [r7, #48] ; 0x30 802d398: 2274 movs r2, #116 ; 0x74 802d39a: 701a strb r2, [r3, #0] 802d39c: 69fb ldr r3, [r7, #28] 802d39e: 3301 adds r3, #1 802d3a0: 61fb str r3, [r7, #28] *pfile++ = 'y'; size++; 802d3a2: 6b3b ldr r3, [r7, #48] ; 0x30 802d3a4: 1c5a adds r2, r3, #1 802d3a6: 633a str r2, [r7, #48] ; 0x30 802d3a8: 2279 movs r2, #121 ; 0x79 802d3aa: 701a strb r2, [r3, #0] 802d3ac: 69fb ldr r3, [r7, #28] 802d3ae: 3301 adds r3, #1 802d3b0: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d3b2: 6b3b ldr r3, [r7, #48] ; 0x30 802d3b4: 1c5a adds r2, r3, #1 802d3b6: 633a str r2, [r7, #48] ; 0x30 802d3b8: 223d movs r2, #61 ; 0x3d 802d3ba: 701a strb r2, [r3, #0] 802d3bc: 69fb ldr r3, [r7, #28] 802d3be: 3301 adds r3, #1 802d3c0: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d3c2: 6b3b ldr r3, [r7, #48] ; 0x30 802d3c4: 1c5a adds r2, r3, #1 802d3c6: 633a str r2, [r7, #48] ; 0x30 802d3c8: 2222 movs r2, #34 ; 0x22 802d3ca: 701a strb r2, [r3, #0] 802d3cc: 69fb ldr r3, [r7, #28] 802d3ce: 3301 adds r3, #1 802d3d0: 61fb str r3, [r7, #28] *pfile++ = '0'; size++; 802d3d2: 6b3b ldr r3, [r7, #48] ; 0x30 802d3d4: 1c5a adds r2, r3, #1 802d3d6: 633a str r2, [r7, #48] ; 0x30 802d3d8: 2230 movs r2, #48 ; 0x30 802d3da: 701a strb r2, [r3, #0] 802d3dc: 69fb ldr r3, [r7, #28] 802d3de: 3301 adds r3, #1 802d3e0: 61fb str r3, [r7, #28] *pfile++ = '.'; size++; 802d3e2: 6b3b ldr r3, [r7, #48] ; 0x30 802d3e4: 1c5a adds r2, r3, #1 802d3e6: 633a str r2, [r7, #48] ; 0x30 802d3e8: 222e movs r2, #46 ; 0x2e 802d3ea: 701a strb r2, [r3, #0] 802d3ec: 69fb ldr r3, [r7, #28] 802d3ee: 3301 adds r3, #1 802d3f0: 61fb str r3, [r7, #28] *pfile++ = ies + 48; size++; 802d3f2: 6b3b ldr r3, [r7, #48] ; 0x30 802d3f4: 1c5a adds r2, r3, #1 802d3f6: 633a str r2, [r7, #48] ; 0x30 802d3f8: f897 202d ldrb.w r2, [r7, #45] ; 0x2d 802d3fc: 3230 adds r2, #48 ; 0x30 802d3fe: b2d2 uxtb r2, r2 802d400: 701a strb r2, [r3, #0] 802d402: 69fb ldr r3, [r7, #28] 802d404: 3301 adds r3, #1 802d406: 61fb str r3, [r7, #28] *pfile++ = ied + 48; size++; 802d408: 6b3b ldr r3, [r7, #48] ; 0x30 802d40a: 1c5a adds r2, r3, #1 802d40c: 633a str r2, [r7, #48] ; 0x30 802d40e: f897 202c ldrb.w r2, [r7, #44] ; 0x2c 802d412: 3230 adds r2, #48 ; 0x30 802d414: b2d2 uxtb r2, r2 802d416: 701a strb r2, [r3, #0] 802d418: 69fb ldr r3, [r7, #28] 802d41a: 3301 adds r3, #1 802d41c: 61fb str r3, [r7, #28] *pfile++ = iee + 48; size++; 802d41e: 6b3b ldr r3, [r7, #48] ; 0x30 802d420: 1c5a adds r2, r3, #1 802d422: 633a str r2, [r7, #48] ; 0x30 802d424: f897 202b ldrb.w r2, [r7, #43] ; 0x2b 802d428: 3230 adds r2, #48 ; 0x30 802d42a: b2d2 uxtb r2, r2 802d42c: 701a strb r2, [r3, #0] 802d42e: 69fb ldr r3, [r7, #28] 802d430: 3301 adds r3, #1 802d432: 61fb str r3, [r7, #28] *pfile++ = ikd + 48; size++; 802d434: 6b3b ldr r3, [r7, #48] ; 0x30 802d436: 1c5a adds r2, r3, #1 802d438: 633a str r2, [r7, #48] ; 0x30 802d43a: f897 202a ldrb.w r2, [r7, #42] ; 0x2a 802d43e: 3230 adds r2, #48 ; 0x30 802d440: b2d2 uxtb r2, r2 802d442: 701a strb r2, [r3, #0] 802d444: 69fb ldr r3, [r7, #28] 802d446: 3301 adds r3, #1 802d448: 61fb str r3, [r7, #28] *pfile++ = iks + 48; size++; 802d44a: 6b3b ldr r3, [r7, #48] ; 0x30 802d44c: 1c5a adds r2, r3, #1 802d44e: 633a str r2, [r7, #48] ; 0x30 802d450: f897 2029 ldrb.w r2, [r7, #41] ; 0x29 802d454: 3230 adds r2, #48 ; 0x30 802d456: b2d2 uxtb r2, r2 802d458: 701a strb r2, [r3, #0] 802d45a: 69fb ldr r3, [r7, #28] 802d45c: 3301 adds r3, #1 802d45e: 61fb str r3, [r7, #28] *pfile++ = ikt + 48; size++; 802d460: 6b3b ldr r3, [r7, #48] ; 0x30 802d462: 1c5a adds r2, r3, #1 802d464: 633a str r2, [r7, #48] ; 0x30 802d466: f897 2028 ldrb.w r2, [r7, #40] ; 0x28 802d46a: 3230 adds r2, #48 ; 0x30 802d46c: b2d2 uxtb r2, r2 802d46e: 701a strb r2, [r3, #0] 802d470: 69fb ldr r3, [r7, #28] 802d472: 3301 adds r3, #1 802d474: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d476: 6b3b ldr r3, [r7, #48] ; 0x30 802d478: 1c5a adds r2, r3, #1 802d47a: 633a str r2, [r7, #48] ; 0x30 802d47c: 2222 movs r2, #34 ; 0x22 802d47e: 701a strb r2, [r3, #0] 802d480: 69fb ldr r3, [r7, #28] 802d482: 3301 adds r3, #1 802d484: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d486: 6b3b ldr r3, [r7, #48] ; 0x30 802d488: 1c5a adds r2, r3, #1 802d48a: 633a str r2, [r7, #48] ; 0x30 802d48c: 2220 movs r2, #32 802d48e: 701a strb r2, [r3, #0] 802d490: 69fb ldr r3, [r7, #28] 802d492: 3301 adds r3, #1 802d494: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802d496: 6b3b ldr r3, [r7, #48] ; 0x30 802d498: 1c5a adds r2, r3, #1 802d49a: 633a str r2, [r7, #48] ; 0x30 802d49c: 226e movs r2, #110 ; 0x6e 802d49e: 701a strb r2, [r3, #0] 802d4a0: 69fb ldr r3, [r7, #28] 802d4a2: 3301 adds r3, #1 802d4a4: 61fb str r3, [r7, #28] *pfile++ = 'a'; size++; 802d4a6: 6b3b ldr r3, [r7, #48] ; 0x30 802d4a8: 1c5a adds r2, r3, #1 802d4aa: 633a str r2, [r7, #48] ; 0x30 802d4ac: 2261 movs r2, #97 ; 0x61 802d4ae: 701a strb r2, [r3, #0] 802d4b0: 69fb ldr r3, [r7, #28] 802d4b2: 3301 adds r3, #1 802d4b4: 61fb str r3, [r7, #28] *pfile++ = 'm'; size++; 802d4b6: 6b3b ldr r3, [r7, #48] ; 0x30 802d4b8: 1c5a adds r2, r3, #1 802d4ba: 633a str r2, [r7, #48] ; 0x30 802d4bc: 226d movs r2, #109 ; 0x6d 802d4be: 701a strb r2, [r3, #0] 802d4c0: 69fb ldr r3, [r7, #28] 802d4c2: 3301 adds r3, #1 802d4c4: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d4c6: 6b3b ldr r3, [r7, #48] ; 0x30 802d4c8: 1c5a adds r2, r3, #1 802d4ca: 633a str r2, [r7, #48] ; 0x30 802d4cc: 2265 movs r2, #101 ; 0x65 802d4ce: 701a strb r2, [r3, #0] 802d4d0: 69fb ldr r3, [r7, #28] 802d4d2: 3301 adds r3, #1 802d4d4: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d4d6: 6b3b ldr r3, [r7, #48] ; 0x30 802d4d8: 1c5a adds r2, r3, #1 802d4da: 633a str r2, [r7, #48] ; 0x30 802d4dc: 223d movs r2, #61 ; 0x3d 802d4de: 701a strb r2, [r3, #0] 802d4e0: 69fb ldr r3, [r7, #28] 802d4e2: 3301 adds r3, #1 802d4e4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d4e6: 6b3b ldr r3, [r7, #48] ; 0x30 802d4e8: 1c5a adds r2, r3, #1 802d4ea: 633a str r2, [r7, #48] ; 0x30 802d4ec: 2222 movs r2, #34 ; 0x22 802d4ee: 701a strb r2, [r3, #0] 802d4f0: 69fb ldr r3, [r7, #28] 802d4f2: 3301 adds r3, #1 802d4f4: 61fb str r3, [r7, #28] *pfile++ = 'â'; size++; 802d4f6: 6b3b ldr r3, [r7, #48] ; 0x30 802d4f8: 1c5a adds r2, r3, #1 802d4fa: 633a str r2, [r7, #48] ; 0x30 802d4fc: 22e2 movs r2, #226 ; 0xe2 802d4fe: 701a strb r2, [r3, #0] 802d500: 69fb ldr r3, [r7, #28] 802d502: 3301 adds r3, #1 802d504: 61fb str r3, [r7, #28] *pfile++ = 'õ'; size++; 802d506: 6b3b ldr r3, [r7, #48] ; 0x30 802d508: 1c5a adds r2, r3, #1 802d50a: 633a str r2, [r7, #48] ; 0x30 802d50c: 22f5 movs r2, #245 ; 0xf5 802d50e: 701a strb r2, [r3, #0] 802d510: 69fb ldr r3, [r7, #28] 802d512: 3301 adds r3, #1 802d514: 61fb str r3, [r7, #28] *pfile++ = 'î'; size++; 802d516: 6b3b ldr r3, [r7, #48] ; 0x30 802d518: 1c5a adds r2, r3, #1 802d51a: 633a str r2, [r7, #48] ; 0x30 802d51c: 22ee movs r2, #238 ; 0xee 802d51e: 701a strb r2, [r3, #0] 802d520: 69fb ldr r3, [r7, #28] 802d522: 3301 adds r3, #1 802d524: 61fb str r3, [r7, #28] *pfile++ = 'ä'; size++; 802d526: 6b3b ldr r3, [r7, #48] ; 0x30 802d528: 1c5a adds r2, r3, #1 802d52a: 633a str r2, [r7, #48] ; 0x30 802d52c: 22e4 movs r2, #228 ; 0xe4 802d52e: 701a strb r2, [r3, #0] 802d530: 69fb ldr r3, [r7, #28] 802d532: 3301 adds r3, #1 802d534: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d536: 6b3b ldr r3, [r7, #48] ; 0x30 802d538: 1c5a adds r2, r3, #1 802d53a: 633a str r2, [r7, #48] ; 0x30 802d53c: 2220 movs r2, #32 802d53e: 701a strb r2, [r3, #0] 802d540: 69fb ldr r3, [r7, #28] 802d542: 3301 adds r3, #1 802d544: 61fb str r3, [r7, #28] *pfile++ = '0'; size++; 802d546: 6b3b ldr r3, [r7, #48] ; 0x30 802d548: 1c5a adds r2, r3, #1 802d54a: 633a str r2, [r7, #48] ; 0x30 802d54c: 2230 movs r2, #48 ; 0x30 802d54e: 701a strb r2, [r3, #0] 802d550: 69fb ldr r3, [r7, #28] 802d552: 3301 adds r3, #1 802d554: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d556: 6b3b ldr r3, [r7, #48] ; 0x30 802d558: 1c5a adds r2, r3, #1 802d55a: 633a str r2, [r7, #48] ; 0x30 802d55c: 2222 movs r2, #34 ; 0x22 802d55e: 701a strb r2, [r3, #0] 802d560: 69fb ldr r3, [r7, #28] 802d562: 3301 adds r3, #1 802d564: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d566: 6b3b ldr r3, [r7, #48] ; 0x30 802d568: 1c5a adds r2, r3, #1 802d56a: 633a str r2, [r7, #48] ; 0x30 802d56c: 2220 movs r2, #32 802d56e: 701a strb r2, [r3, #0] 802d570: 69fb ldr r3, [r7, #28] 802d572: 3301 adds r3, #1 802d574: 61fb str r3, [r7, #28] *pfile++ = 'c'; size++; 802d576: 6b3b ldr r3, [r7, #48] ; 0x30 802d578: 1c5a adds r2, r3, #1 802d57a: 633a str r2, [r7, #48] ; 0x30 802d57c: 2263 movs r2, #99 ; 0x63 802d57e: 701a strb r2, [r3, #0] 802d580: 69fb ldr r3, [r7, #28] 802d582: 3301 adds r3, #1 802d584: 61fb str r3, [r7, #28] *pfile++ = 'o'; size++; 802d586: 6b3b ldr r3, [r7, #48] ; 0x30 802d588: 1c5a adds r2, r3, #1 802d58a: 633a str r2, [r7, #48] ; 0x30 802d58c: 226f movs r2, #111 ; 0x6f 802d58e: 701a strb r2, [r3, #0] 802d590: 69fb ldr r3, [r7, #28] 802d592: 3301 adds r3, #1 802d594: 61fb str r3, [r7, #28] *pfile++ = 'l'; size++; 802d596: 6b3b ldr r3, [r7, #48] ; 0x30 802d598: 1c5a adds r2, r3, #1 802d59a: 633a str r2, [r7, #48] ; 0x30 802d59c: 226c movs r2, #108 ; 0x6c 802d59e: 701a strb r2, [r3, #0] 802d5a0: 69fb ldr r3, [r7, #28] 802d5a2: 3301 adds r3, #1 802d5a4: 61fb str r3, [r7, #28] *pfile++ = 'o'; size++; 802d5a6: 6b3b ldr r3, [r7, #48] ; 0x30 802d5a8: 1c5a adds r2, r3, #1 802d5aa: 633a str r2, [r7, #48] ; 0x30 802d5ac: 226f movs r2, #111 ; 0x6f 802d5ae: 701a strb r2, [r3, #0] 802d5b0: 69fb ldr r3, [r7, #28] 802d5b2: 3301 adds r3, #1 802d5b4: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802d5b6: 6b3b ldr r3, [r7, #48] ; 0x30 802d5b8: 1c5a adds r2, r3, #1 802d5ba: 633a str r2, [r7, #48] ; 0x30 802d5bc: 2272 movs r2, #114 ; 0x72 802d5be: 701a strb r2, [r3, #0] 802d5c0: 69fb ldr r3, [r7, #28] 802d5c2: 3301 adds r3, #1 802d5c4: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d5c6: 6b3b ldr r3, [r7, #48] ; 0x30 802d5c8: 1c5a adds r2, r3, #1 802d5ca: 633a str r2, [r7, #48] ; 0x30 802d5cc: 223d movs r2, #61 ; 0x3d 802d5ce: 701a strb r2, [r3, #0] 802d5d0: 69fb ldr r3, [r7, #28] 802d5d2: 3301 adds r3, #1 802d5d4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d5d6: 6b3b ldr r3, [r7, #48] ; 0x30 802d5d8: 1c5a adds r2, r3, #1 802d5da: 633a str r2, [r7, #48] ; 0x30 802d5dc: 2222 movs r2, #34 ; 0x22 802d5de: 701a strb r2, [r3, #0] 802d5e0: 69fb ldr r3, [r7, #28] 802d5e2: 3301 adds r3, #1 802d5e4: 61fb str r3, [r7, #28] *pfile++ = '4'; size++; 802d5e6: 6b3b ldr r3, [r7, #48] ; 0x30 802d5e8: 1c5a adds r2, r3, #1 802d5ea: 633a str r2, [r7, #48] ; 0x30 802d5ec: 2234 movs r2, #52 ; 0x34 802d5ee: 701a strb r2, [r3, #0] 802d5f0: 69fb ldr r3, [r7, #28] 802d5f2: 3301 adds r3, #1 802d5f4: 61fb str r3, [r7, #28] *pfile++ = '2'; size++; 802d5f6: 6b3b ldr r3, [r7, #48] ; 0x30 802d5f8: 1c5a adds r2, r3, #1 802d5fa: 633a str r2, [r7, #48] ; 0x30 802d5fc: 2232 movs r2, #50 ; 0x32 802d5fe: 701a strb r2, [r3, #0] 802d600: 69fb ldr r3, [r7, #28] 802d602: 3301 adds r3, #1 802d604: 61fb str r3, [r7, #28] *pfile++ = '7'; size++; 802d606: 6b3b ldr r3, [r7, #48] ; 0x30 802d608: 1c5a adds r2, r3, #1 802d60a: 633a str r2, [r7, #48] ; 0x30 802d60c: 2237 movs r2, #55 ; 0x37 802d60e: 701a strb r2, [r3, #0] 802d610: 69fb ldr r3, [r7, #28] 802d612: 3301 adds r3, #1 802d614: 61fb str r3, [r7, #28] *pfile++ = '8'; size++; 802d616: 6b3b ldr r3, [r7, #48] ; 0x30 802d618: 1c5a adds r2, r3, #1 802d61a: 633a str r2, [r7, #48] ; 0x30 802d61c: 2238 movs r2, #56 ; 0x38 802d61e: 701a strb r2, [r3, #0] 802d620: 69fb ldr r3, [r7, #28] 802d622: 3301 adds r3, #1 802d624: 61fb str r3, [r7, #28] *pfile++ = '2'; size++; 802d626: 6b3b ldr r3, [r7, #48] ; 0x30 802d628: 1c5a adds r2, r3, #1 802d62a: 633a str r2, [r7, #48] ; 0x30 802d62c: 2232 movs r2, #50 ; 0x32 802d62e: 701a strb r2, [r3, #0] 802d630: 69fb ldr r3, [r7, #28] 802d632: 3301 adds r3, #1 802d634: 61fb str r3, [r7, #28] *pfile++ = '5'; size++; 802d636: 6b3b ldr r3, [r7, #48] ; 0x30 802d638: 1c5a adds r2, r3, #1 802d63a: 633a str r2, [r7, #48] ; 0x30 802d63c: 2235 movs r2, #53 ; 0x35 802d63e: 701a strb r2, [r3, #0] 802d640: 69fb ldr r3, [r7, #28] 802d642: 3301 adds r3, #1 802d644: 61fb str r3, [r7, #28] *pfile++ = '5'; size++; 802d646: 6b3b ldr r3, [r7, #48] ; 0x30 802d648: 1c5a adds r2, r3, #1 802d64a: 633a str r2, [r7, #48] ; 0x30 802d64c: 2235 movs r2, #53 ; 0x35 802d64e: 701a strb r2, [r3, #0] 802d650: 69fb ldr r3, [r7, #28] 802d652: 3301 adds r3, #1 802d654: 61fb str r3, [r7, #28] *pfile++ = '3'; size++; 802d656: 6b3b ldr r3, [r7, #48] ; 0x30 802d658: 1c5a adds r2, r3, #1 802d65a: 633a str r2, [r7, #48] ; 0x30 802d65c: 2233 movs r2, #51 ; 0x33 802d65e: 701a strb r2, [r3, #0] 802d660: 69fb ldr r3, [r7, #28] 802d662: 3301 adds r3, #1 802d664: 61fb str r3, [r7, #28] *pfile++ = '6'; size++; 802d666: 6b3b ldr r3, [r7, #48] ; 0x30 802d668: 1c5a adds r2, r3, #1 802d66a: 633a str r2, [r7, #48] ; 0x30 802d66c: 2236 movs r2, #54 ; 0x36 802d66e: 701a strb r2, [r3, #0] 802d670: 69fb ldr r3, [r7, #28] 802d672: 3301 adds r3, #1 802d674: 61fb str r3, [r7, #28] *pfile++ = '0'; size++; 802d676: 6b3b ldr r3, [r7, #48] ; 0x30 802d678: 1c5a adds r2, r3, #1 802d67a: 633a str r2, [r7, #48] ; 0x30 802d67c: 2230 movs r2, #48 ; 0x30 802d67e: 701a strb r2, [r3, #0] 802d680: 69fb ldr r3, [r7, #28] 802d682: 3301 adds r3, #1 802d684: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d686: 6b3b ldr r3, [r7, #48] ; 0x30 802d688: 1c5a adds r2, r3, #1 802d68a: 633a str r2, [r7, #48] ; 0x30 802d68c: 2222 movs r2, #34 ; 0x22 802d68e: 701a strb r2, [r3, #0] 802d690: 69fb ldr r3, [r7, #28] 802d692: 3301 adds r3, #1 802d694: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d696: 6b3b ldr r3, [r7, #48] ; 0x30 802d698: 1c5a adds r2, r3, #1 802d69a: 633a str r2, [r7, #48] ; 0x30 802d69c: 2220 movs r2, #32 802d69e: 701a strb r2, [r3, #0] 802d6a0: 69fb ldr r3, [r7, #28] 802d6a2: 3301 adds r3, #1 802d6a4: 61fb str r3, [r7, #28] *pfile++ = 'o'; size++; 802d6a6: 6b3b ldr r3, [r7, #48] ; 0x30 802d6a8: 1c5a adds r2, r3, #1 802d6aa: 633a str r2, [r7, #48] ; 0x30 802d6ac: 226f movs r2, #111 ; 0x6f 802d6ae: 701a strb r2, [r3, #0] 802d6b0: 69fb ldr r3, [r7, #28] 802d6b2: 3301 adds r3, #1 802d6b4: 61fb str r3, [r7, #28] *pfile++ = 'f'; size++; 802d6b6: 6b3b ldr r3, [r7, #48] ; 0x30 802d6b8: 1c5a adds r2, r3, #1 802d6ba: 633a str r2, [r7, #48] ; 0x30 802d6bc: 2266 movs r2, #102 ; 0x66 802d6be: 701a strb r2, [r3, #0] 802d6c0: 69fb ldr r3, [r7, #28] 802d6c2: 3301 adds r3, #1 802d6c4: 61fb str r3, [r7, #28] *pfile++ = 'f'; size++; 802d6c6: 6b3b ldr r3, [r7, #48] ; 0x30 802d6c8: 1c5a adds r2, r3, #1 802d6ca: 633a str r2, [r7, #48] ; 0x30 802d6cc: 2266 movs r2, #102 ; 0x66 802d6ce: 701a strb r2, [r3, #0] 802d6d0: 69fb ldr r3, [r7, #28] 802d6d2: 3301 adds r3, #1 802d6d4: 61fb str r3, [r7, #28] *pfile++ = 's'; size++; 802d6d6: 6b3b ldr r3, [r7, #48] ; 0x30 802d6d8: 1c5a adds r2, r3, #1 802d6da: 633a str r2, [r7, #48] ; 0x30 802d6dc: 2273 movs r2, #115 ; 0x73 802d6de: 701a strb r2, [r3, #0] 802d6e0: 69fb ldr r3, [r7, #28] 802d6e2: 3301 adds r3, #1 802d6e4: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d6e6: 6b3b ldr r3, [r7, #48] ; 0x30 802d6e8: 1c5a adds r2, r3, #1 802d6ea: 633a str r2, [r7, #48] ; 0x30 802d6ec: 2265 movs r2, #101 ; 0x65 802d6ee: 701a strb r2, [r3, #0] 802d6f0: 69fb ldr r3, [r7, #28] 802d6f2: 3301 adds r3, #1 802d6f4: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802d6f6: 6b3b ldr r3, [r7, #48] ; 0x30 802d6f8: 1c5a adds r2, r3, #1 802d6fa: 633a str r2, [r7, #48] ; 0x30 802d6fc: 2274 movs r2, #116 ; 0x74 802d6fe: 701a strb r2, [r3, #0] 802d700: 69fb ldr r3, [r7, #28] 802d702: 3301 adds r3, #1 802d704: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d706: 6b3b ldr r3, [r7, #48] ; 0x30 802d708: 1c5a adds r2, r3, #1 802d70a: 633a str r2, [r7, #48] ; 0x30 802d70c: 223d movs r2, #61 ; 0x3d 802d70e: 701a strb r2, [r3, #0] 802d710: 69fb ldr r3, [r7, #28] 802d712: 3301 adds r3, #1 802d714: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d716: 6b3b ldr r3, [r7, #48] ; 0x30 802d718: 1c5a adds r2, r3, #1 802d71a: 633a str r2, [r7, #48] ; 0x30 802d71c: 2222 movs r2, #34 ; 0x22 802d71e: 701a strb r2, [r3, #0] 802d720: 69fb ldr r3, [r7, #28] 802d722: 3301 adds r3, #1 802d724: 61fb str r3, [r7, #28] *pfile++ = '0'; size++; 802d726: 6b3b ldr r3, [r7, #48] ; 0x30 802d728: 1c5a adds r2, r3, #1 802d72a: 633a str r2, [r7, #48] ; 0x30 802d72c: 2230 movs r2, #48 ; 0x30 802d72e: 701a strb r2, [r3, #0] 802d730: 69fb ldr r3, [r7, #28] 802d732: 3301 adds r3, #1 802d734: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d736: 6b3b ldr r3, [r7, #48] ; 0x30 802d738: 1c5a adds r2, r3, #1 802d73a: 633a str r2, [r7, #48] ; 0x30 802d73c: 2222 movs r2, #34 ; 0x22 802d73e: 701a strb r2, [r3, #0] 802d740: 69fb ldr r3, [r7, #28] 802d742: 3301 adds r3, #1 802d744: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d746: 6b3b ldr r3, [r7, #48] ; 0x30 802d748: 1c5a adds r2, r3, #1 802d74a: 633a str r2, [r7, #48] ; 0x30 802d74c: 2220 movs r2, #32 802d74e: 701a strb r2, [r3, #0] 802d750: 69fb ldr r3, [r7, #28] 802d752: 3301 adds r3, #1 802d754: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d756: 6b3b ldr r3, [r7, #48] ; 0x30 802d758: 1c5a adds r2, r3, #1 802d75a: 633a str r2, [r7, #48] ; 0x30 802d75c: 2269 movs r2, #105 ; 0x69 802d75e: 701a strb r2, [r3, #0] 802d760: 69fb ldr r3, [r7, #28] 802d762: 3301 adds r3, #1 802d764: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d766: 6b3b ldr r3, [r7, #48] ; 0x30 802d768: 1c5a adds r2, r3, #1 802d76a: 633a str r2, [r7, #48] ; 0x30 802d76c: 2265 movs r2, #101 ; 0x65 802d76e: 701a strb r2, [r3, #0] 802d770: 69fb ldr r3, [r7, #28] 802d772: 3301 adds r3, #1 802d774: 61fb str r3, [r7, #28] *pfile++ = 'p'; size++; 802d776: 6b3b ldr r3, [r7, #48] ; 0x30 802d778: 1c5a adds r2, r3, #1 802d77a: 633a str r2, [r7, #48] ; 0x30 802d77c: 2270 movs r2, #112 ; 0x70 802d77e: 701a strb r2, [r3, #0] 802d780: 69fb ldr r3, [r7, #28] 802d782: 3301 adds r3, #1 802d784: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d786: 6b3b ldr r3, [r7, #48] ; 0x30 802d788: 1c5a adds r2, r3, #1 802d78a: 633a str r2, [r7, #48] ; 0x30 802d78c: 2265 movs r2, #101 ; 0x65 802d78e: 701a strb r2, [r3, #0] 802d790: 69fb ldr r3, [r7, #28] 802d792: 3301 adds r3, #1 802d794: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d796: 6b3b ldr r3, [r7, #48] ; 0x30 802d798: 1c5a adds r2, r3, #1 802d79a: 633a str r2, [r7, #48] ; 0x30 802d79c: 223d movs r2, #61 ; 0x3d 802d79e: 701a strb r2, [r3, #0] 802d7a0: 69fb ldr r3, [r7, #28] 802d7a2: 3301 adds r3, #1 802d7a4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d7a6: 6b3b ldr r3, [r7, #48] ; 0x30 802d7a8: 1c5a adds r2, r3, #1 802d7aa: 633a str r2, [r7, #48] ; 0x30 802d7ac: 2222 movs r2, #34 ; 0x22 802d7ae: 701a strb r2, [r3, #0] 802d7b0: 69fb ldr r3, [r7, #28] 802d7b2: 3301 adds r3, #1 802d7b4: 61fb str r3, [r7, #28] *pfile++ = '0'; size++; 802d7b6: 6b3b ldr r3, [r7, #48] ; 0x30 802d7b8: 1c5a adds r2, r3, #1 802d7ba: 633a str r2, [r7, #48] ; 0x30 802d7bc: 2230 movs r2, #48 ; 0x30 802d7be: 701a strb r2, [r3, #0] 802d7c0: 69fb ldr r3, [r7, #28] 802d7c2: 3301 adds r3, #1 802d7c4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d7c6: 6b3b ldr r3, [r7, #48] ; 0x30 802d7c8: 1c5a adds r2, r3, #1 802d7ca: 633a str r2, [r7, #48] ; 0x30 802d7cc: 2222 movs r2, #34 ; 0x22 802d7ce: 701a strb r2, [r3, #0] 802d7d0: 69fb ldr r3, [r7, #28] 802d7d2: 3301 adds r3, #1 802d7d4: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d7d6: 6b3b ldr r3, [r7, #48] ; 0x30 802d7d8: 1c5a adds r2, r3, #1 802d7da: 633a str r2, [r7, #48] ; 0x30 802d7dc: 2220 movs r2, #32 802d7de: 701a strb r2, [r3, #0] 802d7e0: 69fb ldr r3, [r7, #28] 802d7e2: 3301 adds r3, #1 802d7e4: 61fb str r3, [r7, #28] *pfile++ = 'u'; size++; 802d7e6: 6b3b ldr r3, [r7, #48] ; 0x30 802d7e8: 1c5a adds r2, r3, #1 802d7ea: 633a str r2, [r7, #48] ; 0x30 802d7ec: 2275 movs r2, #117 ; 0x75 802d7ee: 701a strb r2, [r3, #0] 802d7f0: 69fb ldr r3, [r7, #28] 802d7f2: 3301 adds r3, #1 802d7f4: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802d7f6: 6b3b ldr r3, [r7, #48] ; 0x30 802d7f8: 1c5a adds r2, r3, #1 802d7fa: 633a str r2, [r7, #48] ; 0x30 802d7fc: 226e movs r2, #110 ; 0x6e 802d7fe: 701a strb r2, [r3, #0] 802d800: 69fb ldr r3, [r7, #28] 802d802: 3301 adds r3, #1 802d804: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d806: 6b3b ldr r3, [r7, #48] ; 0x30 802d808: 1c5a adds r2, r3, #1 802d80a: 633a str r2, [r7, #48] ; 0x30 802d80c: 2269 movs r2, #105 ; 0x69 802d80e: 701a strb r2, [r3, #0] 802d810: 69fb ldr r3, [r7, #28] 802d812: 3301 adds r3, #1 802d814: 61fb str r3, [r7, #28] *pfile++ = 't'; size++; 802d816: 6b3b ldr r3, [r7, #48] ; 0x30 802d818: 1c5a adds r2, r3, #1 802d81a: 633a str r2, [r7, #48] ; 0x30 802d81c: 2274 movs r2, #116 ; 0x74 802d81e: 701a strb r2, [r3, #0] 802d820: 69fb ldr r3, [r7, #28] 802d822: 3301 adds r3, #1 802d824: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d826: 6b3b ldr r3, [r7, #48] ; 0x30 802d828: 1c5a adds r2, r3, #1 802d82a: 633a str r2, [r7, #48] ; 0x30 802d82c: 223d movs r2, #61 ; 0x3d 802d82e: 701a strb r2, [r3, #0] 802d830: 69fb ldr r3, [r7, #28] 802d832: 3301 adds r3, #1 802d834: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d836: 6b3b ldr r3, [r7, #48] ; 0x30 802d838: 1c5a adds r2, r3, #1 802d83a: 633a str r2, [r7, #48] ; 0x30 802d83c: 2222 movs r2, #34 ; 0x22 802d83e: 701a strb r2, [r3, #0] 802d840: 69fb ldr r3, [r7, #28] 802d842: 3301 adds r3, #1 802d844: 61fb str r3, [r7, #28] *pfile++ = 'm'; size++; 802d846: 6b3b ldr r3, [r7, #48] ; 0x30 802d848: 1c5a adds r2, r3, #1 802d84a: 633a str r2, [r7, #48] ; 0x30 802d84c: 226d movs r2, #109 ; 0x6d 802d84e: 701a strb r2, [r3, #0] 802d850: 69fb ldr r3, [r7, #28] 802d852: 3301 adds r3, #1 802d854: 61fb str r3, [r7, #28] *pfile++ = '/'; size++; 802d856: 6b3b ldr r3, [r7, #48] ; 0x30 802d858: 1c5a adds r2, r3, #1 802d85a: 633a str r2, [r7, #48] ; 0x30 802d85c: 222f movs r2, #47 ; 0x2f 802d85e: 701a strb r2, [r3, #0] 802d860: 69fb ldr r3, [r7, #28] 802d862: 3301 adds r3, #1 802d864: 61fb str r3, [r7, #28] *pfile++ = 's'; size++; 802d866: 6b3b ldr r3, [r7, #48] ; 0x30 802d868: 1c5a adds r2, r3, #1 802d86a: 633a str r2, [r7, #48] ; 0x30 802d86c: 2273 movs r2, #115 ; 0x73 802d86e: 701a strb r2, [r3, #0] 802d870: 69fb ldr r3, [r7, #28] 802d872: 3301 adds r3, #1 802d874: 61fb str r3, [r7, #28] *pfile++ = '2'; size++; 802d876: 6b3b ldr r3, [r7, #48] ; 0x30 802d878: 1c5a adds r2, r3, #1 802d87a: 633a str r2, [r7, #48] ; 0x30 802d87c: 2232 movs r2, #50 ; 0x32 802d87e: 701a strb r2, [r3, #0] 802d880: 69fb ldr r3, [r7, #28] 802d882: 3301 adds r3, #1 802d884: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d886: 6b3b ldr r3, [r7, #48] ; 0x30 802d888: 1c5a adds r2, r3, #1 802d88a: 633a str r2, [r7, #48] ; 0x30 802d88c: 2222 movs r2, #34 ; 0x22 802d88e: 701a strb r2, [r3, #0] 802d890: 69fb ldr r3, [r7, #28] 802d892: 3301 adds r3, #1 802d894: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d896: 6b3b ldr r3, [r7, #48] ; 0x30 802d898: 1c5a adds r2, r3, #1 802d89a: 633a str r2, [r7, #48] ; 0x30 802d89c: 2220 movs r2, #32 802d89e: 701a strb r2, [r3, #0] 802d8a0: 69fb ldr r3, [r7, #28] 802d8a2: 3301 adds r3, #1 802d8a4: 61fb str r3, [r7, #28] *pfile++ = 'g'; size++; 802d8a6: 6b3b ldr r3, [r7, #48] ; 0x30 802d8a8: 1c5a adds r2, r3, #1 802d8aa: 633a str r2, [r7, #48] ; 0x30 802d8ac: 2267 movs r2, #103 ; 0x67 802d8ae: 701a strb r2, [r3, #0] 802d8b0: 69fb ldr r3, [r7, #28] 802d8b2: 3301 adds r3, #1 802d8b4: 61fb str r3, [r7, #28] *pfile++ = 'a'; size++; 802d8b6: 6b3b ldr r3, [r7, #48] ; 0x30 802d8b8: 1c5a adds r2, r3, #1 802d8ba: 633a str r2, [r7, #48] ; 0x30 802d8bc: 2261 movs r2, #97 ; 0x61 802d8be: 701a strb r2, [r3, #0] 802d8c0: 69fb ldr r3, [r7, #28] 802d8c2: 3301 adds r3, #1 802d8c4: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802d8c6: 6b3b ldr r3, [r7, #48] ; 0x30 802d8c8: 1c5a adds r2, r3, #1 802d8ca: 633a str r2, [r7, #48] ; 0x30 802d8cc: 2269 movs r2, #105 ; 0x69 802d8ce: 701a strb r2, [r3, #0] 802d8d0: 69fb ldr r3, [r7, #28] 802d8d2: 3301 adds r3, #1 802d8d4: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802d8d6: 6b3b ldr r3, [r7, #48] ; 0x30 802d8d8: 1c5a adds r2, r3, #1 802d8da: 633a str r2, [r7, #48] ; 0x30 802d8dc: 226e movs r2, #110 ; 0x6e 802d8de: 701a strb r2, [r3, #0] 802d8e0: 69fb ldr r3, [r7, #28] 802d8e2: 3301 adds r3, #1 802d8e4: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d8e6: 6b3b ldr r3, [r7, #48] ; 0x30 802d8e8: 1c5a adds r2, r3, #1 802d8ea: 633a str r2, [r7, #48] ; 0x30 802d8ec: 223d movs r2, #61 ; 0x3d 802d8ee: 701a strb r2, [r3, #0] 802d8f0: 69fb ldr r3, [r7, #28] 802d8f2: 3301 adds r3, #1 802d8f4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d8f6: 6b3b ldr r3, [r7, #48] ; 0x30 802d8f8: 1c5a adds r2, r3, #1 802d8fa: 633a str r2, [r7, #48] ; 0x30 802d8fc: 2222 movs r2, #34 ; 0x22 802d8fe: 701a strb r2, [r3, #0] 802d900: 69fb ldr r3, [r7, #28] 802d902: 3301 adds r3, #1 802d904: 61fb str r3, [r7, #28] *pfile++ = '1'; size++; 802d906: 6b3b ldr r3, [r7, #48] ; 0x30 802d908: 1c5a adds r2, r3, #1 802d90a: 633a str r2, [r7, #48] ; 0x30 802d90c: 2231 movs r2, #49 ; 0x31 802d90e: 701a strb r2, [r3, #0] 802d910: 69fb ldr r3, [r7, #28] 802d912: 3301 adds r3, #1 802d914: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d916: 6b3b ldr r3, [r7, #48] ; 0x30 802d918: 1c5a adds r2, r3, #1 802d91a: 633a str r2, [r7, #48] ; 0x30 802d91c: 2222 movs r2, #34 ; 0x22 802d91e: 701a strb r2, [r3, #0] 802d920: 69fb ldr r3, [r7, #28] 802d922: 3301 adds r3, #1 802d924: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802d926: 6b3b ldr r3, [r7, #48] ; 0x30 802d928: 1c5a adds r2, r3, #1 802d92a: 633a str r2, [r7, #48] ; 0x30 802d92c: 2220 movs r2, #32 802d92e: 701a strb r2, [r3, #0] 802d930: 69fb ldr r3, [r7, #28] 802d932: 3301 adds r3, #1 802d934: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802d936: 6b3b ldr r3, [r7, #48] ; 0x30 802d938: 1c5a adds r2, r3, #1 802d93a: 633a str r2, [r7, #48] ; 0x30 802d93c: 2272 movs r2, #114 ; 0x72 802d93e: 701a strb r2, [r3, #0] 802d940: 69fb ldr r3, [r7, #28] 802d942: 3301 adds r3, #1 802d944: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d946: 6b3b ldr r3, [r7, #48] ; 0x30 802d948: 1c5a adds r2, r3, #1 802d94a: 633a str r2, [r7, #48] ; 0x30 802d94c: 2265 movs r2, #101 ; 0x65 802d94e: 701a strb r2, [r3, #0] 802d950: 69fb ldr r3, [r7, #28] 802d952: 3301 adds r3, #1 802d954: 61fb str r3, [r7, #28] *pfile++ = 'f'; size++; 802d956: 6b3b ldr r3, [r7, #48] ; 0x30 802d958: 1c5a adds r2, r3, #1 802d95a: 633a str r2, [r7, #48] ; 0x30 802d95c: 2266 movs r2, #102 ; 0x66 802d95e: 701a strb r2, [r3, #0] 802d960: 69fb ldr r3, [r7, #28] 802d962: 3301 adds r3, #1 802d964: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d966: 6b3b ldr r3, [r7, #48] ; 0x30 802d968: 1c5a adds r2, r3, #1 802d96a: 633a str r2, [r7, #48] ; 0x30 802d96c: 2265 movs r2, #101 ; 0x65 802d96e: 701a strb r2, [r3, #0] 802d970: 69fb ldr r3, [r7, #28] 802d972: 3301 adds r3, #1 802d974: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802d976: 6b3b ldr r3, [r7, #48] ; 0x30 802d978: 1c5a adds r2, r3, #1 802d97a: 633a str r2, [r7, #48] ; 0x30 802d97c: 2272 movs r2, #114 ; 0x72 802d97e: 701a strb r2, [r3, #0] 802d980: 69fb ldr r3, [r7, #28] 802d982: 3301 adds r3, #1 802d984: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d986: 6b3b ldr r3, [r7, #48] ; 0x30 802d988: 1c5a adds r2, r3, #1 802d98a: 633a str r2, [r7, #48] ; 0x30 802d98c: 2265 movs r2, #101 ; 0x65 802d98e: 701a strb r2, [r3, #0] 802d990: 69fb ldr r3, [r7, #28] 802d992: 3301 adds r3, #1 802d994: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802d996: 6b3b ldr r3, [r7, #48] ; 0x30 802d998: 1c5a adds r2, r3, #1 802d99a: 633a str r2, [r7, #48] ; 0x30 802d99c: 226e movs r2, #110 ; 0x6e 802d99e: 701a strb r2, [r3, #0] 802d9a0: 69fb ldr r3, [r7, #28] 802d9a2: 3301 adds r3, #1 802d9a4: 61fb str r3, [r7, #28] *pfile++ = 'c'; size++; 802d9a6: 6b3b ldr r3, [r7, #48] ; 0x30 802d9a8: 1c5a adds r2, r3, #1 802d9aa: 633a str r2, [r7, #48] ; 0x30 802d9ac: 2263 movs r2, #99 ; 0x63 802d9ae: 701a strb r2, [r3, #0] 802d9b0: 69fb ldr r3, [r7, #28] 802d9b2: 3301 adds r3, #1 802d9b4: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802d9b6: 6b3b ldr r3, [r7, #48] ; 0x30 802d9b8: 1c5a adds r2, r3, #1 802d9ba: 633a str r2, [r7, #48] ; 0x30 802d9bc: 2265 movs r2, #101 ; 0x65 802d9be: 701a strb r2, [r3, #0] 802d9c0: 69fb ldr r3, [r7, #28] 802d9c2: 3301 adds r3, #1 802d9c4: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802d9c6: 6b3b ldr r3, [r7, #48] ; 0x30 802d9c8: 1c5a adds r2, r3, #1 802d9ca: 633a str r2, [r7, #48] ; 0x30 802d9cc: 223d movs r2, #61 ; 0x3d 802d9ce: 701a strb r2, [r3, #0] 802d9d0: 69fb ldr r3, [r7, #28] 802d9d2: 3301 adds r3, #1 802d9d4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d9d6: 6b3b ldr r3, [r7, #48] ; 0x30 802d9d8: 1c5a adds r2, r3, #1 802d9da: 633a str r2, [r7, #48] ; 0x30 802d9dc: 2222 movs r2, #34 ; 0x22 802d9de: 701a strb r2, [r3, #0] 802d9e0: 69fb ldr r3, [r7, #28] 802d9e2: 3301 adds r3, #1 802d9e4: 61fb str r3, [r7, #28] *pfile++ = '1'; size++; 802d9e6: 6b3b ldr r3, [r7, #48] ; 0x30 802d9e8: 1c5a adds r2, r3, #1 802d9ea: 633a str r2, [r7, #48] ; 0x30 802d9ec: 2231 movs r2, #49 ; 0x31 802d9ee: 701a strb r2, [r3, #0] 802d9f0: 69fb ldr r3, [r7, #28] 802d9f2: 3301 adds r3, #1 802d9f4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802d9f6: 6b3b ldr r3, [r7, #48] ; 0x30 802d9f8: 1c5a adds r2, r3, #1 802d9fa: 633a str r2, [r7, #48] ; 0x30 802d9fc: 2222 movs r2, #34 ; 0x22 802d9fe: 701a strb r2, [r3, #0] 802da00: 69fb ldr r3, [r7, #28] 802da02: 3301 adds r3, #1 802da04: 61fb str r3, [r7, #28] *pfile++ = ' '; size++; 802da06: 6b3b ldr r3, [r7, #48] ; 0x30 802da08: 1c5a adds r2, r3, #1 802da0a: 633a str r2, [r7, #48] ; 0x30 802da0c: 2220 movs r2, #32 802da0e: 701a strb r2, [r3, #0] 802da10: 69fb ldr r3, [r7, #28] 802da12: 3301 adds r3, #1 802da14: 61fb str r3, [r7, #28] *pfile++ = 'c'; size++; 802da16: 6b3b ldr r3, [r7, #48] ; 0x30 802da18: 1c5a adds r2, r3, #1 802da1a: 633a str r2, [r7, #48] ; 0x30 802da1c: 2263 movs r2, #99 ; 0x63 802da1e: 701a strb r2, [r3, #0] 802da20: 69fb ldr r3, [r7, #28] 802da22: 3301 adds r3, #1 802da24: 61fb str r3, [r7, #28] *pfile++ = 'o'; size++; 802da26: 6b3b ldr r3, [r7, #48] ; 0x30 802da28: 1c5a adds r2, r3, #1 802da2a: 633a str r2, [r7, #48] ; 0x30 802da2c: 226f movs r2, #111 ; 0x6f 802da2e: 701a strb r2, [r3, #0] 802da30: 69fb ldr r3, [r7, #28] 802da32: 3301 adds r3, #1 802da34: 61fb str r3, [r7, #28] *pfile++ = 'u'; size++; 802da36: 6b3b ldr r3, [r7, #48] ; 0x30 802da38: 1c5a adds r2, r3, #1 802da3a: 633a str r2, [r7, #48] ; 0x30 802da3c: 2275 movs r2, #117 ; 0x75 802da3e: 701a strb r2, [r3, #0] 802da40: 69fb ldr r3, [r7, #28] 802da42: 3301 adds r3, #1 802da44: 61fb str r3, [r7, #28] *pfile++ = 'p'; size++; 802da46: 6b3b ldr r3, [r7, #48] ; 0x30 802da48: 1c5a adds r2, r3, #1 802da4a: 633a str r2, [r7, #48] ; 0x30 802da4c: 2270 movs r2, #112 ; 0x70 802da4e: 701a strb r2, [r3, #0] 802da50: 69fb ldr r3, [r7, #28] 802da52: 3301 adds r3, #1 802da54: 61fb str r3, [r7, #28] *pfile++ = 'l'; size++; 802da56: 6b3b ldr r3, [r7, #48] ; 0x30 802da58: 1c5a adds r2, r3, #1 802da5a: 633a str r2, [r7, #48] ; 0x30 802da5c: 226c movs r2, #108 ; 0x6c 802da5e: 701a strb r2, [r3, #0] 802da60: 69fb ldr r3, [r7, #28] 802da62: 3301 adds r3, #1 802da64: 61fb str r3, [r7, #28] *pfile++ = 'i'; size++; 802da66: 6b3b ldr r3, [r7, #48] ; 0x30 802da68: 1c5a adds r2, r3, #1 802da6a: 633a str r2, [r7, #48] ; 0x30 802da6c: 2269 movs r2, #105 ; 0x69 802da6e: 701a strb r2, [r3, #0] 802da70: 69fb ldr r3, [r7, #28] 802da72: 3301 adds r3, #1 802da74: 61fb str r3, [r7, #28] *pfile++ = 'n'; size++; 802da76: 6b3b ldr r3, [r7, #48] ; 0x30 802da78: 1c5a adds r2, r3, #1 802da7a: 633a str r2, [r7, #48] ; 0x30 802da7c: 226e movs r2, #110 ; 0x6e 802da7e: 701a strb r2, [r3, #0] 802da80: 69fb ldr r3, [r7, #28] 802da82: 3301 adds r3, #1 802da84: 61fb str r3, [r7, #28] *pfile++ = 'g'; size++; 802da86: 6b3b ldr r3, [r7, #48] ; 0x30 802da88: 1c5a adds r2, r3, #1 802da8a: 633a str r2, [r7, #48] ; 0x30 802da8c: 2267 movs r2, #103 ; 0x67 802da8e: 701a strb r2, [r3, #0] 802da90: 69fb ldr r3, [r7, #28] 802da92: 3301 adds r3, #1 802da94: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802da96: 6b3b ldr r3, [r7, #48] ; 0x30 802da98: 1c5a adds r2, r3, #1 802da9a: 633a str r2, [r7, #48] ; 0x30 802da9c: 223d movs r2, #61 ; 0x3d 802da9e: 701a strb r2, [r3, #0] 802daa0: 69fb ldr r3, [r7, #28] 802daa2: 3301 adds r3, #1 802daa4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802daa6: 6b3b ldr r3, [r7, #48] ; 0x30 802daa8: 1c5a adds r2, r3, #1 802daaa: 633a str r2, [r7, #48] ; 0x30 802daac: 2222 movs r2, #34 ; 0x22 802daae: 701a strb r2, [r3, #0] 802dab0: 69fb ldr r3, [r7, #28] 802dab2: 3301 adds r3, #1 802dab4: 61fb str r3, [r7, #28] *pfile++ = '0'; size++; 802dab6: 6b3b ldr r3, [r7, #48] ; 0x30 802dab8: 1c5a adds r2, r3, #1 802daba: 633a str r2, [r7, #48] ; 0x30 802dabc: 2230 movs r2, #48 ; 0x30 802dabe: 701a strb r2, [r3, #0] 802dac0: 69fb ldr r3, [r7, #28] 802dac2: 3301 adds r3, #1 802dac4: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802dac6: 6b3b ldr r3, [r7, #48] ; 0x30 802dac8: 1c5a adds r2, r3, #1 802daca: 633a str r2, [r7, #48] ; 0x30 802dacc: 2222 movs r2, #34 ; 0x22 802dace: 701a strb r2, [r3, #0] 802dad0: 69fb ldr r3, [r7, #28] 802dad2: 3301 adds r3, #1 802dad4: 61fb str r3, [r7, #28] ///TACHO if(pardata.OPTIONS & BIT7) 802dad6: 4b62 ldr r3, [pc, #392] ; (802dc60 ) 802dad8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 802dadc: f003 0380 and.w r3, r3, #128 ; 0x80 802dae0: 2b00 cmp r3, #0 802dae2: d06a beq.n 802dbba { *pfile++ = ' '; size++; 802dae4: 6b3b ldr r3, [r7, #48] ; 0x30 802dae6: 1c5a adds r2, r3, #1 802dae8: 633a str r2, [r7, #48] ; 0x30 802daea: 2220 movs r2, #32 802daec: 701a strb r2, [r3, #0] 802daee: 69fb ldr r3, [r7, #28] 802daf0: 3301 adds r3, #1 802daf2: 61fb str r3, [r7, #28] *pfile++ = 'f'; size++; 802daf4: 6b3b ldr r3, [r7, #48] ; 0x30 802daf6: 1c5a adds r2, r3, #1 802daf8: 633a str r2, [r7, #48] ; 0x30 802dafa: 2266 movs r2, #102 ; 0x66 802dafc: 701a strb r2, [r3, #0] 802dafe: 69fb ldr r3, [r7, #28] 802db00: 3301 adds r3, #1 802db02: 61fb str r3, [r7, #28] *pfile++ = 'r'; size++; 802db04: 6b3b ldr r3, [r7, #48] ; 0x30 802db06: 1c5a adds r2, r3, #1 802db08: 633a str r2, [r7, #48] ; 0x30 802db0a: 2272 movs r2, #114 ; 0x72 802db0c: 701a strb r2, [r3, #0] 802db0e: 69fb ldr r3, [r7, #28] 802db10: 3301 adds r3, #1 802db12: 61fb str r3, [r7, #28] *pfile++ = 'e'; size++; 802db14: 6b3b ldr r3, [r7, #48] ; 0x30 802db16: 1c5a adds r2, r3, #1 802db18: 633a str r2, [r7, #48] ; 0x30 802db1a: 2265 movs r2, #101 ; 0x65 802db1c: 701a strb r2, [r3, #0] 802db1e: 69fb ldr r3, [r7, #28] 802db20: 3301 adds r3, #1 802db22: 61fb str r3, [r7, #28] *pfile++ = 'q'; size++; 802db24: 6b3b ldr r3, [r7, #48] ; 0x30 802db26: 1c5a adds r2, r3, #1 802db28: 633a str r2, [r7, #48] ; 0x30 802db2a: 2271 movs r2, #113 ; 0x71 802db2c: 701a strb r2, [r3, #0] 802db2e: 69fb ldr r3, [r7, #28] 802db30: 3301 adds r3, #1 802db32: 61fb str r3, [r7, #28] *pfile++ = '='; size++; 802db34: 6b3b ldr r3, [r7, #48] ; 0x30 802db36: 1c5a adds r2, r3, #1 802db38: 633a str r2, [r7, #48] ; 0x30 802db3a: 223d movs r2, #61 ; 0x3d 802db3c: 701a strb r2, [r3, #0] 802db3e: 69fb ldr r3, [r7, #28] 802db40: 3301 adds r3, #1 802db42: 61fb str r3, [r7, #28] *pfile++ = '"'; size++; 802db44: 6b3b ldr r3, [r7, #48] ; 0x30 802db46: 1c5a adds r2, r3, #1 802db48: 633a str r2, [r7, #48] ; 0x30 802db4a: 2222 movs r2, #34 ; 0x22 802db4c: 701a strb r2, [r3, #0] 802db4e: 69fb ldr r3, [r7, #28] 802db50: 3301 adds r3, #1 802db52: 61fb str r3, [r7, #28] for(i = 0; i < 8; i++) 802db54: 2300 movs r3, #0 802db56: 623b str r3, [r7, #32] 802db58: e024 b.n 802dba4 { if(f_str[i] == '.') 802db5a: 6a3b ldr r3, [r7, #32] 802db5c: f107 0238 add.w r2, r7, #56 ; 0x38 802db60: 4413 add r3, r2 802db62: f813 3c2c ldrb.w r3, [r3, #-44] 802db66: 2b2e cmp r3, #46 ; 0x2e 802db68: d10a bne.n 802db80 *pfile++ = f_str[i]; 802db6a: 6b3b ldr r3, [r7, #48] ; 0x30 802db6c: 1c5a adds r2, r3, #1 802db6e: 633a str r2, [r7, #48] ; 0x30 802db70: 6a3a ldr r2, [r7, #32] 802db72: f107 0138 add.w r1, r7, #56 ; 0x38 802db76: 440a add r2, r1 802db78: f812 2c2c ldrb.w r2, [r2, #-44] 802db7c: 701a strb r2, [r3, #0] 802db7e: e00b b.n 802db98 else *pfile++ = f_str[i] + 48; 802db80: 6b3b ldr r3, [r7, #48] ; 0x30 802db82: 1c5a adds r2, r3, #1 802db84: 633a str r2, [r7, #48] ; 0x30 802db86: 6a3a ldr r2, [r7, #32] 802db88: f107 0138 add.w r1, r7, #56 ; 0x38 802db8c: 440a add r2, r1 802db8e: f812 2c2c ldrb.w r2, [r2, #-44] 802db92: 3230 adds r2, #48 ; 0x30 802db94: b2d2 uxtb r2, r2 802db96: 701a strb r2, [r3, #0] size++; 802db98: 69fb ldr r3, [r7, #28] 802db9a: 3301 adds r3, #1 802db9c: 61fb str r3, [r7, #28] for(i = 0; i < 8; i++) 802db9e: 6a3b ldr r3, [r7, #32] 802dba0: 3301 adds r3, #1 802dba2: 623b str r3, [r7, #32] 802dba4: 6a3b ldr r3, [r7, #32] 802dba6: 2b07 cmp r3, #7 802dba8: d9d7 bls.n 802db5a } *pfile++ = '"'; size++; 802dbaa: 6b3b ldr r3, [r7, #48] ; 0x30 802dbac: 1c5a adds r2, r3, #1 802dbae: 633a str r2, [r7, #48] ; 0x30 802dbb0: 2222 movs r2, #34 ; 0x22 802dbb2: 701a strb r2, [r3, #0] 802dbb4: 69fb ldr r3, [r7, #28] 802dbb6: 3301 adds r3, #1 802dbb8: 61fb str r3, [r7, #28] } *pfile++ = '/'; size++; 802dbba: 6b3b ldr r3, [r7, #48] ; 0x30 802dbbc: 1c5a adds r2, r3, #1 802dbbe: 633a str r2, [r7, #48] ; 0x30 802dbc0: 222f movs r2, #47 ; 0x2f 802dbc2: 701a strb r2, [r3, #0] 802dbc4: 69fb ldr r3, [r7, #28] 802dbc6: 3301 adds r3, #1 802dbc8: 61fb str r3, [r7, #28] *pfile++ = '>'; size++; 802dbca: 6b3b ldr r3, [r7, #48] ; 0x30 802dbcc: 1c5a adds r2, r3, #1 802dbce: 633a str r2, [r7, #48] ; 0x30 802dbd0: 223e movs r2, #62 ; 0x3e 802dbd2: 701a strb r2, [r3, #0] 802dbd4: 69fb ldr r3, [r7, #28] 802dbd6: 3301 adds r3, #1 802dbd8: 61fb str r3, [r7, #28] *pfile++ = '\n'; size++; 802dbda: 6b3b ldr r3, [r7, #48] ; 0x30 802dbdc: 1c5a adds r2, r3, #1 802dbde: 633a str r2, [r7, #48] ; 0x30 802dbe0: 220a movs r2, #10 802dbe2: 701a strb r2, [r3, #0] 802dbe4: 69fb ldr r3, [r7, #28] 802dbe6: 3301 adds r3, #1 802dbe8: 61fb str r3, [r7, #28] /*************** * **************/ for(i = 0; i < sizeof(XML_4); i++) 802dbea: 2300 movs r3, #0 802dbec: 623b str r3, [r7, #32] 802dbee: e00c b.n 802dc0a { *pfile++ = XML_4[i]; 802dbf0: 6b3b ldr r3, [r7, #48] ; 0x30 802dbf2: 1c5a adds r2, r3, #1 802dbf4: 633a str r2, [r7, #48] ; 0x30 802dbf6: 6a3a ldr r2, [r7, #32] 802dbf8: 491a ldr r1, [pc, #104] ; (802dc64 ) 802dbfa: 5c8a ldrb r2, [r1, r2] 802dbfc: 701a strb r2, [r3, #0] size++; 802dbfe: 69fb ldr r3, [r7, #28] 802dc00: 3301 adds r3, #1 802dc02: 61fb str r3, [r7, #28] for(i = 0; i < sizeof(XML_4); i++) 802dc04: 6a3b ldr r3, [r7, #32] 802dc06: 3301 adds r3, #1 802dc08: 623b str r3, [r7, #32] 802dc0a: 6a3b ldr r3, [r7, #32] 802dc0c: 2b0b cmp r3, #11 802dc0e: d9ef bls.n 802dbf0 } /***************** * ****************/ for(i = 0; i < sizeof(XML_5); i++) 802dc10: 2300 movs r3, #0 802dc12: 623b str r3, [r7, #32] 802dc14: e00c b.n 802dc30 { *pfile++ = XML_5[i]; 802dc16: 6b3b ldr r3, [r7, #48] ; 0x30 802dc18: 1c5a adds r2, r3, #1 802dc1a: 633a str r2, [r7, #48] ; 0x30 802dc1c: 6a3a ldr r2, [r7, #32] 802dc1e: 4912 ldr r1, [pc, #72] ; (802dc68 ) 802dc20: 5c8a ldrb r2, [r1, r2] 802dc22: 701a strb r2, [r3, #0] size++; 802dc24: 69fb ldr r3, [r7, #28] 802dc26: 3301 adds r3, #1 802dc28: 61fb str r3, [r7, #28] for(i = 0; i < sizeof(XML_5); i++) 802dc2a: 6a3b ldr r3, [r7, #32] 802dc2c: 3301 adds r3, #1 802dc2e: 623b str r3, [r7, #32] 802dc30: 6a3b ldr r3, [r7, #32] 802dc32: 2b0d cmp r3, #13 802dc34: d9ef bls.n 802dc16 } //*************************************************************** memcpy(§or[0], (uint8_t *) &size, 4); 802dc36: 69fb ldr r3, [r7, #28] 802dc38: 4a0c ldr r2, [pc, #48] ; (802dc6c ) 802dc3a: 6013 str r3, [r2, #0] res = f_write(file, sector, (size + 4), (UINT *) &i); 802dc3c: 69fb ldr r3, [r7, #28] 802dc3e: 1d1a adds r2, r3, #4 802dc40: f107 0320 add.w r3, r7, #32 802dc44: 4909 ldr r1, [pc, #36] ; (802dc6c ) 802dc46: 6878 ldr r0, [r7, #4] 802dc48: f098 fcfa bl 80c6640 802dc4c: 4603 mov r3, r0 802dc4e: f887 302e strb.w r3, [r7, #46] ; 0x2e //*************************************************************** return res; 802dc52: f897 302e ldrb.w r3, [r7, #46] ; 0x2e } 802dc56: 4618 mov r0, r3 802dc58: 3738 adds r7, #56 ; 0x38 802dc5a: 46bd mov sp, r7 802dc5c: bd80 pop {r7, pc} 802dc5e: bf00 nop 802dc60: 20023e60 .word 0x20023e60 802dc64: 080d0fe8 .word 0x080d0fe8 802dc68: 080d0ff4 .word 0x080d0ff4 802dc6c: 2007c000 .word 0x2007c000 0802dc70 : void VerifyFileNamePTM(char *fname, char *out_name) { 802dc70: b580 push {r7, lr} 802dc72: b086 sub sp, #24 802dc74: af00 add r7, sp, #0 802dc76: 6078 str r0, [r7, #4] 802dc78: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802dc7a: 687b ldr r3, [r7, #4] 802dc7c: 781b ldrb r3, [r3, #0] 802dc7e: 2b00 cmp r3, #0 802dc80: d103 bne.n 802dc8a { *out_name = 0; 802dc82: 683b ldr r3, [r7, #0] 802dc84: 2200 movs r2, #0 802dc86: 701a strb r2, [r3, #0] return; 802dc88: e088 b.n 802dd9c } if(strcmp(fname, "") == 0) 802dc8a: 687b ldr r3, [r7, #4] 802dc8c: 781b ldrb r3, [r3, #0] 802dc8e: 2b00 cmp r3, #0 802dc90: d103 bne.n 802dc9a { *out_name = 0; 802dc92: 683b ldr r3, [r7, #0] 802dc94: 2200 movs r2, #0 802dc96: 701a strb r2, [r3, #0] return; 802dc98: e080 b.n 802dd9c } memset(fn, 0, sizeof(fn)); 802dc9a: 2228 movs r2, #40 ; 0x28 802dc9c: 2100 movs r1, #0 802dc9e: 4841 ldr r0, [pc, #260] ; (802dda4 ) 802dca0: f09f f9ee bl 80cd080 strcpy(fn, fname); 802dca4: 6879 ldr r1, [r7, #4] 802dca6: 483f ldr r0, [pc, #252] ; (802dda4 ) 802dca8: f09f fb07 bl 80cd2ba pch = strchr(fn, '.'); 802dcac: 212e movs r1, #46 ; 0x2e 802dcae: 483d ldr r0, [pc, #244] ; (802dda4 ) 802dcb0: f09f faf5 bl 80cd29e 802dcb4: 6178 str r0, [r7, #20] if(pch == NULL) 802dcb6: 697b ldr r3, [r7, #20] 802dcb8: 2b00 cmp r3, #0 802dcba: d124 bne.n 802dd06 { l = strlen(fn); 802dcbc: 4839 ldr r0, [pc, #228] ; (802dda4 ) 802dcbe: f7f2 fb29 bl 8020314 802dcc2: 6138 str r0, [r7, #16] if(l == 0) 802dcc4: 693b ldr r3, [r7, #16] 802dcc6: 2b00 cmp r3, #0 802dcc8: d103 bne.n 802dcd2 { *out_name = 0;; 802dcca: 683b ldr r3, [r7, #0] 802dccc: 2200 movs r2, #0 802dcce: 701a strb r2, [r3, #0] return; 802dcd0: e064 b.n 802dd9c } fn[l] = '.'; 802dcd2: 4a34 ldr r2, [pc, #208] ; (802dda4 ) 802dcd4: 693b ldr r3, [r7, #16] 802dcd6: 4413 add r3, r2 802dcd8: 222e movs r2, #46 ; 0x2e 802dcda: 701a strb r2, [r3, #0] fn[l + 1] = 'P'; 802dcdc: 693b ldr r3, [r7, #16] 802dcde: 3301 adds r3, #1 802dce0: 4a30 ldr r2, [pc, #192] ; (802dda4 ) 802dce2: 2150 movs r1, #80 ; 0x50 802dce4: 54d1 strb r1, [r2, r3] fn[l + 2] = 'T'; 802dce6: 693b ldr r3, [r7, #16] 802dce8: 3302 adds r3, #2 802dcea: 4a2e ldr r2, [pc, #184] ; (802dda4 ) 802dcec: 2154 movs r1, #84 ; 0x54 802dcee: 54d1 strb r1, [r2, r3] fn[l + 3] = 'M'; 802dcf0: 693b ldr r3, [r7, #16] 802dcf2: 3303 adds r3, #3 802dcf4: 4a2b ldr r2, [pc, #172] ; (802dda4 ) 802dcf6: 214d movs r1, #77 ; 0x4d 802dcf8: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802dcfa: 693b ldr r3, [r7, #16] 802dcfc: 3304 adds r3, #4 802dcfe: 4a29 ldr r2, [pc, #164] ; (802dda4 ) 802dd00: 2100 movs r1, #0 802dd02: 54d1 strb r1, [r2, r3] 802dd04: e045 b.n 802dd92 } else { indx = pch - fn; 802dd06: 697b ldr r3, [r7, #20] 802dd08: 4a26 ldr r2, [pc, #152] ; (802dda4 ) 802dd0a: 1a9b subs r3, r3, r2 802dd0c: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'p') && (fn[indx + 1] != 'P')) { 802dd0e: 68fb ldr r3, [r7, #12] 802dd10: 3301 adds r3, #1 802dd12: 4a24 ldr r2, [pc, #144] ; (802dda4 ) 802dd14: 5cd3 ldrb r3, [r2, r3] 802dd16: 2b70 cmp r3, #112 ; 0x70 802dd18: d00a beq.n 802dd30 802dd1a: 68fb ldr r3, [r7, #12] 802dd1c: 3301 adds r3, #1 802dd1e: 4a21 ldr r2, [pc, #132] ; (802dda4 ) 802dd20: 5cd3 ldrb r3, [r2, r3] 802dd22: 2b50 cmp r3, #80 ; 0x50 802dd24: d004 beq.n 802dd30 fn[indx + 1] = 'P'; 802dd26: 68fb ldr r3, [r7, #12] 802dd28: 3301 adds r3, #1 802dd2a: 4a1e ldr r2, [pc, #120] ; (802dda4 ) 802dd2c: 2150 movs r1, #80 ; 0x50 802dd2e: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 't') && (fn[indx + 2] != 'T')) { 802dd30: 68fb ldr r3, [r7, #12] 802dd32: 3302 adds r3, #2 802dd34: 4a1b ldr r2, [pc, #108] ; (802dda4 ) 802dd36: 5cd3 ldrb r3, [r2, r3] 802dd38: 2b74 cmp r3, #116 ; 0x74 802dd3a: d00a beq.n 802dd52 802dd3c: 68fb ldr r3, [r7, #12] 802dd3e: 3302 adds r3, #2 802dd40: 4a18 ldr r2, [pc, #96] ; (802dda4 ) 802dd42: 5cd3 ldrb r3, [r2, r3] 802dd44: 2b54 cmp r3, #84 ; 0x54 802dd46: d004 beq.n 802dd52 fn[indx + 2] = 'T'; 802dd48: 68fb ldr r3, [r7, #12] 802dd4a: 3302 adds r3, #2 802dd4c: 4a15 ldr r2, [pc, #84] ; (802dda4 ) 802dd4e: 2154 movs r1, #84 ; 0x54 802dd50: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'm') && (fn[indx + 3] != 'M')) { 802dd52: 68fb ldr r3, [r7, #12] 802dd54: 3303 adds r3, #3 802dd56: 4a13 ldr r2, [pc, #76] ; (802dda4 ) 802dd58: 5cd3 ldrb r3, [r2, r3] 802dd5a: 2b6d cmp r3, #109 ; 0x6d 802dd5c: d00a beq.n 802dd74 802dd5e: 68fb ldr r3, [r7, #12] 802dd60: 3303 adds r3, #3 802dd62: 4a10 ldr r2, [pc, #64] ; (802dda4 ) 802dd64: 5cd3 ldrb r3, [r2, r3] 802dd66: 2b4d cmp r3, #77 ; 0x4d 802dd68: d004 beq.n 802dd74 fn[indx + 3] = 'M'; 802dd6a: 68fb ldr r3, [r7, #12] 802dd6c: 3303 adds r3, #3 802dd6e: 4a0d ldr r2, [pc, #52] ; (802dda4 ) 802dd70: 214d movs r1, #77 ; 0x4d 802dd72: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802dd74: 68fb ldr r3, [r7, #12] 802dd76: 3304 adds r3, #4 802dd78: 4a0a ldr r2, [pc, #40] ; (802dda4 ) 802dd7a: 2100 movs r1, #0 802dd7c: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802dd7e: 4809 ldr r0, [pc, #36] ; (802dda4 ) 802dd80: f7f2 fac8 bl 8020314 802dd84: 4603 mov r3, r0 802dd86: 2b04 cmp r3, #4 802dd88: d803 bhi.n 802dd92 { *out_name = 0; 802dd8a: 683b ldr r3, [r7, #0] 802dd8c: 2200 movs r2, #0 802dd8e: 701a strb r2, [r3, #0] return; 802dd90: e004 b.n 802dd9c } } strcpy(out_name, fn); 802dd92: 4904 ldr r1, [pc, #16] ; (802dda4 ) 802dd94: 6838 ldr r0, [r7, #0] 802dd96: f09f fa90 bl 80cd2ba return; 802dd9a: bf00 nop } 802dd9c: 3718 adds r7, #24 802dd9e: 46bd mov sp, r7 802dda0: bd80 pop {r7, pc} 802dda2: bf00 nop 802dda4: 20022df8 .word 0x20022df8 0802dda8 : void VerifyFileNameDGN(char *fname, char *out_name) { 802dda8: b580 push {r7, lr} 802ddaa: b086 sub sp, #24 802ddac: af00 add r7, sp, #0 802ddae: 6078 str r0, [r7, #4] 802ddb0: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802ddb2: 687b ldr r3, [r7, #4] 802ddb4: 781b ldrb r3, [r3, #0] 802ddb6: 2b00 cmp r3, #0 802ddb8: d103 bne.n 802ddc2 { *out_name = 0; 802ddba: 683b ldr r3, [r7, #0] 802ddbc: 2200 movs r2, #0 802ddbe: 701a strb r2, [r3, #0] return; 802ddc0: e088 b.n 802ded4 } if(strcmp(fname, "") == 0) 802ddc2: 687b ldr r3, [r7, #4] 802ddc4: 781b ldrb r3, [r3, #0] 802ddc6: 2b00 cmp r3, #0 802ddc8: d103 bne.n 802ddd2 { *out_name = 0; 802ddca: 683b ldr r3, [r7, #0] 802ddcc: 2200 movs r2, #0 802ddce: 701a strb r2, [r3, #0] return; 802ddd0: e080 b.n 802ded4 } memset(fn, 0, sizeof(fn)); 802ddd2: 2228 movs r2, #40 ; 0x28 802ddd4: 2100 movs r1, #0 802ddd6: 4841 ldr r0, [pc, #260] ; (802dedc ) 802ddd8: f09f f952 bl 80cd080 strcpy(fn, fname); 802dddc: 6879 ldr r1, [r7, #4] 802ddde: 483f ldr r0, [pc, #252] ; (802dedc ) 802dde0: f09f fa6b bl 80cd2ba pch = strchr(fn, '.'); 802dde4: 212e movs r1, #46 ; 0x2e 802dde6: 483d ldr r0, [pc, #244] ; (802dedc ) 802dde8: f09f fa59 bl 80cd29e 802ddec: 6178 str r0, [r7, #20] if(pch == NULL) 802ddee: 697b ldr r3, [r7, #20] 802ddf0: 2b00 cmp r3, #0 802ddf2: d124 bne.n 802de3e { l = strlen(fn); 802ddf4: 4839 ldr r0, [pc, #228] ; (802dedc ) 802ddf6: f7f2 fa8d bl 8020314 802ddfa: 6138 str r0, [r7, #16] if(l == 0) 802ddfc: 693b ldr r3, [r7, #16] 802ddfe: 2b00 cmp r3, #0 802de00: d103 bne.n 802de0a { *out_name = 0;; 802de02: 683b ldr r3, [r7, #0] 802de04: 2200 movs r2, #0 802de06: 701a strb r2, [r3, #0] return; 802de08: e064 b.n 802ded4 } fn[l] = '.'; 802de0a: 4a34 ldr r2, [pc, #208] ; (802dedc ) 802de0c: 693b ldr r3, [r7, #16] 802de0e: 4413 add r3, r2 802de10: 222e movs r2, #46 ; 0x2e 802de12: 701a strb r2, [r3, #0] fn[l + 1] = 'D'; 802de14: 693b ldr r3, [r7, #16] 802de16: 3301 adds r3, #1 802de18: 4a30 ldr r2, [pc, #192] ; (802dedc ) 802de1a: 2144 movs r1, #68 ; 0x44 802de1c: 54d1 strb r1, [r2, r3] fn[l + 2] = 'G'; 802de1e: 693b ldr r3, [r7, #16] 802de20: 3302 adds r3, #2 802de22: 4a2e ldr r2, [pc, #184] ; (802dedc ) 802de24: 2147 movs r1, #71 ; 0x47 802de26: 54d1 strb r1, [r2, r3] fn[l + 3] = 'N'; 802de28: 693b ldr r3, [r7, #16] 802de2a: 3303 adds r3, #3 802de2c: 4a2b ldr r2, [pc, #172] ; (802dedc ) 802de2e: 214e movs r1, #78 ; 0x4e 802de30: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802de32: 693b ldr r3, [r7, #16] 802de34: 3304 adds r3, #4 802de36: 4a29 ldr r2, [pc, #164] ; (802dedc ) 802de38: 2100 movs r1, #0 802de3a: 54d1 strb r1, [r2, r3] 802de3c: e045 b.n 802deca } else { indx = pch - fn; 802de3e: 697b ldr r3, [r7, #20] 802de40: 4a26 ldr r2, [pc, #152] ; (802dedc ) 802de42: 1a9b subs r3, r3, r2 802de44: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'd') && (fn[indx + 1] != 'D')) { 802de46: 68fb ldr r3, [r7, #12] 802de48: 3301 adds r3, #1 802de4a: 4a24 ldr r2, [pc, #144] ; (802dedc ) 802de4c: 5cd3 ldrb r3, [r2, r3] 802de4e: 2b64 cmp r3, #100 ; 0x64 802de50: d00a beq.n 802de68 802de52: 68fb ldr r3, [r7, #12] 802de54: 3301 adds r3, #1 802de56: 4a21 ldr r2, [pc, #132] ; (802dedc ) 802de58: 5cd3 ldrb r3, [r2, r3] 802de5a: 2b44 cmp r3, #68 ; 0x44 802de5c: d004 beq.n 802de68 fn[indx + 1] = 'D'; 802de5e: 68fb ldr r3, [r7, #12] 802de60: 3301 adds r3, #1 802de62: 4a1e ldr r2, [pc, #120] ; (802dedc ) 802de64: 2144 movs r1, #68 ; 0x44 802de66: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 'g') && (fn[indx + 2] != 'G')) { 802de68: 68fb ldr r3, [r7, #12] 802de6a: 3302 adds r3, #2 802de6c: 4a1b ldr r2, [pc, #108] ; (802dedc ) 802de6e: 5cd3 ldrb r3, [r2, r3] 802de70: 2b67 cmp r3, #103 ; 0x67 802de72: d00a beq.n 802de8a 802de74: 68fb ldr r3, [r7, #12] 802de76: 3302 adds r3, #2 802de78: 4a18 ldr r2, [pc, #96] ; (802dedc ) 802de7a: 5cd3 ldrb r3, [r2, r3] 802de7c: 2b47 cmp r3, #71 ; 0x47 802de7e: d004 beq.n 802de8a fn[indx + 2] = 'G'; 802de80: 68fb ldr r3, [r7, #12] 802de82: 3302 adds r3, #2 802de84: 4a15 ldr r2, [pc, #84] ; (802dedc ) 802de86: 2147 movs r1, #71 ; 0x47 802de88: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'n') && (fn[indx + 3] != 'N')) { 802de8a: 68fb ldr r3, [r7, #12] 802de8c: 3303 adds r3, #3 802de8e: 4a13 ldr r2, [pc, #76] ; (802dedc ) 802de90: 5cd3 ldrb r3, [r2, r3] 802de92: 2b6e cmp r3, #110 ; 0x6e 802de94: d00a beq.n 802deac 802de96: 68fb ldr r3, [r7, #12] 802de98: 3303 adds r3, #3 802de9a: 4a10 ldr r2, [pc, #64] ; (802dedc ) 802de9c: 5cd3 ldrb r3, [r2, r3] 802de9e: 2b4e cmp r3, #78 ; 0x4e 802dea0: d004 beq.n 802deac fn[indx + 3] = 'N'; 802dea2: 68fb ldr r3, [r7, #12] 802dea4: 3303 adds r3, #3 802dea6: 4a0d ldr r2, [pc, #52] ; (802dedc ) 802dea8: 214e movs r1, #78 ; 0x4e 802deaa: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802deac: 68fb ldr r3, [r7, #12] 802deae: 3304 adds r3, #4 802deb0: 4a0a ldr r2, [pc, #40] ; (802dedc ) 802deb2: 2100 movs r1, #0 802deb4: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802deb6: 4809 ldr r0, [pc, #36] ; (802dedc ) 802deb8: f7f2 fa2c bl 8020314 802debc: 4603 mov r3, r0 802debe: 2b04 cmp r3, #4 802dec0: d803 bhi.n 802deca { *out_name = 0; 802dec2: 683b ldr r3, [r7, #0] 802dec4: 2200 movs r2, #0 802dec6: 701a strb r2, [r3, #0] return; 802dec8: e004 b.n 802ded4 } } strcpy(out_name, fn); 802deca: 4904 ldr r1, [pc, #16] ; (802dedc ) 802decc: 6838 ldr r0, [r7, #0] 802dece: f09f f9f4 bl 80cd2ba return; 802ded2: bf00 nop } 802ded4: 3718 adds r7, #24 802ded6: 46bd mov sp, r7 802ded8: bd80 pop {r7, pc} 802deda: bf00 nop 802dedc: 20022df8 .word 0x20022df8 0802dee0 : void VerifyFileNameGTR(char *fname, char *out_name) { 802dee0: b580 push {r7, lr} 802dee2: b086 sub sp, #24 802dee4: af00 add r7, sp, #0 802dee6: 6078 str r0, [r7, #4] 802dee8: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802deea: 687b ldr r3, [r7, #4] 802deec: 781b ldrb r3, [r3, #0] 802deee: 2b00 cmp r3, #0 802def0: d103 bne.n 802defa { *out_name = 0; 802def2: 683b ldr r3, [r7, #0] 802def4: 2200 movs r2, #0 802def6: 701a strb r2, [r3, #0] return; 802def8: e088 b.n 802e00c } if(strcmp(fname, "") == 0) 802defa: 687b ldr r3, [r7, #4] 802defc: 781b ldrb r3, [r3, #0] 802defe: 2b00 cmp r3, #0 802df00: d103 bne.n 802df0a { *out_name = 0; 802df02: 683b ldr r3, [r7, #0] 802df04: 2200 movs r2, #0 802df06: 701a strb r2, [r3, #0] return; 802df08: e080 b.n 802e00c } memset(fn, 0, sizeof(fn)); 802df0a: 2228 movs r2, #40 ; 0x28 802df0c: 2100 movs r1, #0 802df0e: 4841 ldr r0, [pc, #260] ; (802e014 ) 802df10: f09f f8b6 bl 80cd080 strcpy(fn, fname); 802df14: 6879 ldr r1, [r7, #4] 802df16: 483f ldr r0, [pc, #252] ; (802e014 ) 802df18: f09f f9cf bl 80cd2ba pch = strchr(fn, '.'); 802df1c: 212e movs r1, #46 ; 0x2e 802df1e: 483d ldr r0, [pc, #244] ; (802e014 ) 802df20: f09f f9bd bl 80cd29e 802df24: 6178 str r0, [r7, #20] if(pch == NULL) 802df26: 697b ldr r3, [r7, #20] 802df28: 2b00 cmp r3, #0 802df2a: d124 bne.n 802df76 { l = strlen(fn); 802df2c: 4839 ldr r0, [pc, #228] ; (802e014 ) 802df2e: f7f2 f9f1 bl 8020314 802df32: 6138 str r0, [r7, #16] if(l == 0) 802df34: 693b ldr r3, [r7, #16] 802df36: 2b00 cmp r3, #0 802df38: d103 bne.n 802df42 { *out_name = 0; 802df3a: 683b ldr r3, [r7, #0] 802df3c: 2200 movs r2, #0 802df3e: 701a strb r2, [r3, #0] return; 802df40: e064 b.n 802e00c } fn[l] = '.'; 802df42: 4a34 ldr r2, [pc, #208] ; (802e014 ) 802df44: 693b ldr r3, [r7, #16] 802df46: 4413 add r3, r2 802df48: 222e movs r2, #46 ; 0x2e 802df4a: 701a strb r2, [r3, #0] fn[l + 1] = 'G'; 802df4c: 693b ldr r3, [r7, #16] 802df4e: 3301 adds r3, #1 802df50: 4a30 ldr r2, [pc, #192] ; (802e014 ) 802df52: 2147 movs r1, #71 ; 0x47 802df54: 54d1 strb r1, [r2, r3] fn[l + 2] = 'T'; 802df56: 693b ldr r3, [r7, #16] 802df58: 3302 adds r3, #2 802df5a: 4a2e ldr r2, [pc, #184] ; (802e014 ) 802df5c: 2154 movs r1, #84 ; 0x54 802df5e: 54d1 strb r1, [r2, r3] fn[l + 3] = 'R'; 802df60: 693b ldr r3, [r7, #16] 802df62: 3303 adds r3, #3 802df64: 4a2b ldr r2, [pc, #172] ; (802e014 ) 802df66: 2152 movs r1, #82 ; 0x52 802df68: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802df6a: 693b ldr r3, [r7, #16] 802df6c: 3304 adds r3, #4 802df6e: 4a29 ldr r2, [pc, #164] ; (802e014 ) 802df70: 2100 movs r1, #0 802df72: 54d1 strb r1, [r2, r3] 802df74: e045 b.n 802e002 } else { indx = pch - fn; 802df76: 697b ldr r3, [r7, #20] 802df78: 4a26 ldr r2, [pc, #152] ; (802e014 ) 802df7a: 1a9b subs r3, r3, r2 802df7c: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'g') && (fn[indx + 1] != 'G')) { 802df7e: 68fb ldr r3, [r7, #12] 802df80: 3301 adds r3, #1 802df82: 4a24 ldr r2, [pc, #144] ; (802e014 ) 802df84: 5cd3 ldrb r3, [r2, r3] 802df86: 2b67 cmp r3, #103 ; 0x67 802df88: d00a beq.n 802dfa0 802df8a: 68fb ldr r3, [r7, #12] 802df8c: 3301 adds r3, #1 802df8e: 4a21 ldr r2, [pc, #132] ; (802e014 ) 802df90: 5cd3 ldrb r3, [r2, r3] 802df92: 2b47 cmp r3, #71 ; 0x47 802df94: d004 beq.n 802dfa0 fn[indx + 1] = 'G'; 802df96: 68fb ldr r3, [r7, #12] 802df98: 3301 adds r3, #1 802df9a: 4a1e ldr r2, [pc, #120] ; (802e014 ) 802df9c: 2147 movs r1, #71 ; 0x47 802df9e: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 't') && (fn[indx + 2] != 'T')) { 802dfa0: 68fb ldr r3, [r7, #12] 802dfa2: 3302 adds r3, #2 802dfa4: 4a1b ldr r2, [pc, #108] ; (802e014 ) 802dfa6: 5cd3 ldrb r3, [r2, r3] 802dfa8: 2b74 cmp r3, #116 ; 0x74 802dfaa: d00a beq.n 802dfc2 802dfac: 68fb ldr r3, [r7, #12] 802dfae: 3302 adds r3, #2 802dfb0: 4a18 ldr r2, [pc, #96] ; (802e014 ) 802dfb2: 5cd3 ldrb r3, [r2, r3] 802dfb4: 2b54 cmp r3, #84 ; 0x54 802dfb6: d004 beq.n 802dfc2 fn[indx + 2] = 'T'; 802dfb8: 68fb ldr r3, [r7, #12] 802dfba: 3302 adds r3, #2 802dfbc: 4a15 ldr r2, [pc, #84] ; (802e014 ) 802dfbe: 2154 movs r1, #84 ; 0x54 802dfc0: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'r') && (fn[indx + 3] != 'R')) { 802dfc2: 68fb ldr r3, [r7, #12] 802dfc4: 3303 adds r3, #3 802dfc6: 4a13 ldr r2, [pc, #76] ; (802e014 ) 802dfc8: 5cd3 ldrb r3, [r2, r3] 802dfca: 2b72 cmp r3, #114 ; 0x72 802dfcc: d00a beq.n 802dfe4 802dfce: 68fb ldr r3, [r7, #12] 802dfd0: 3303 adds r3, #3 802dfd2: 4a10 ldr r2, [pc, #64] ; (802e014 ) 802dfd4: 5cd3 ldrb r3, [r2, r3] 802dfd6: 2b52 cmp r3, #82 ; 0x52 802dfd8: d004 beq.n 802dfe4 fn[indx + 3] = 'R'; 802dfda: 68fb ldr r3, [r7, #12] 802dfdc: 3303 adds r3, #3 802dfde: 4a0d ldr r2, [pc, #52] ; (802e014 ) 802dfe0: 2152 movs r1, #82 ; 0x52 802dfe2: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802dfe4: 68fb ldr r3, [r7, #12] 802dfe6: 3304 adds r3, #4 802dfe8: 4a0a ldr r2, [pc, #40] ; (802e014 ) 802dfea: 2100 movs r1, #0 802dfec: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802dfee: 4809 ldr r0, [pc, #36] ; (802e014 ) 802dff0: f7f2 f990 bl 8020314 802dff4: 4603 mov r3, r0 802dff6: 2b04 cmp r3, #4 802dff8: d803 bhi.n 802e002 { *out_name = 0; 802dffa: 683b ldr r3, [r7, #0] 802dffc: 2200 movs r2, #0 802dffe: 701a strb r2, [r3, #0] return; 802e000: e004 b.n 802e00c } } strcpy(out_name, fn); 802e002: 4904 ldr r1, [pc, #16] ; (802e014 ) 802e004: 6838 ldr r0, [r7, #0] 802e006: f09f f958 bl 80cd2ba return; 802e00a: bf00 nop } 802e00c: 3718 adds r7, #24 802e00e: 46bd mov sp, r7 802e010: bd80 pop {r7, pc} 802e012: bf00 nop 802e014: 20022df8 .word 0x20022df8 0802e018 : void VerifyFileNameCSV(char *fname, char *out_name) { 802e018: b580 push {r7, lr} 802e01a: b086 sub sp, #24 802e01c: af00 add r7, sp, #0 802e01e: 6078 str r0, [r7, #4] 802e020: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802e022: 687b ldr r3, [r7, #4] 802e024: 781b ldrb r3, [r3, #0] 802e026: 2b00 cmp r3, #0 802e028: d103 bne.n 802e032 { *out_name = 0; 802e02a: 683b ldr r3, [r7, #0] 802e02c: 2200 movs r2, #0 802e02e: 701a strb r2, [r3, #0] return; 802e030: e088 b.n 802e144 } if(strcmp(fname, "") == 0) 802e032: 687b ldr r3, [r7, #4] 802e034: 781b ldrb r3, [r3, #0] 802e036: 2b00 cmp r3, #0 802e038: d103 bne.n 802e042 { *out_name = 0; 802e03a: 683b ldr r3, [r7, #0] 802e03c: 2200 movs r2, #0 802e03e: 701a strb r2, [r3, #0] return; 802e040: e080 b.n 802e144 } memset(fn, 0, sizeof(fn)); 802e042: 2228 movs r2, #40 ; 0x28 802e044: 2100 movs r1, #0 802e046: 4841 ldr r0, [pc, #260] ; (802e14c ) 802e048: f09f f81a bl 80cd080 strcpy(fn, fname); 802e04c: 6879 ldr r1, [r7, #4] 802e04e: 483f ldr r0, [pc, #252] ; (802e14c ) 802e050: f09f f933 bl 80cd2ba pch = strchr(fn, '.'); 802e054: 212e movs r1, #46 ; 0x2e 802e056: 483d ldr r0, [pc, #244] ; (802e14c ) 802e058: f09f f921 bl 80cd29e 802e05c: 6178 str r0, [r7, #20] if(pch == NULL) 802e05e: 697b ldr r3, [r7, #20] 802e060: 2b00 cmp r3, #0 802e062: d124 bne.n 802e0ae { l = strlen(fn); 802e064: 4839 ldr r0, [pc, #228] ; (802e14c ) 802e066: f7f2 f955 bl 8020314 802e06a: 6138 str r0, [r7, #16] if(l == 0) 802e06c: 693b ldr r3, [r7, #16] 802e06e: 2b00 cmp r3, #0 802e070: d103 bne.n 802e07a { *out_name = 0; 802e072: 683b ldr r3, [r7, #0] 802e074: 2200 movs r2, #0 802e076: 701a strb r2, [r3, #0] return; 802e078: e064 b.n 802e144 } fn[l] = '.'; 802e07a: 4a34 ldr r2, [pc, #208] ; (802e14c ) 802e07c: 693b ldr r3, [r7, #16] 802e07e: 4413 add r3, r2 802e080: 222e movs r2, #46 ; 0x2e 802e082: 701a strb r2, [r3, #0] fn[l + 1] = 'C'; 802e084: 693b ldr r3, [r7, #16] 802e086: 3301 adds r3, #1 802e088: 4a30 ldr r2, [pc, #192] ; (802e14c ) 802e08a: 2143 movs r1, #67 ; 0x43 802e08c: 54d1 strb r1, [r2, r3] fn[l + 2] = 'S'; 802e08e: 693b ldr r3, [r7, #16] 802e090: 3302 adds r3, #2 802e092: 4a2e ldr r2, [pc, #184] ; (802e14c ) 802e094: 2153 movs r1, #83 ; 0x53 802e096: 54d1 strb r1, [r2, r3] fn[l + 3] = 'V'; 802e098: 693b ldr r3, [r7, #16] 802e09a: 3303 adds r3, #3 802e09c: 4a2b ldr r2, [pc, #172] ; (802e14c ) 802e09e: 2156 movs r1, #86 ; 0x56 802e0a0: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802e0a2: 693b ldr r3, [r7, #16] 802e0a4: 3304 adds r3, #4 802e0a6: 4a29 ldr r2, [pc, #164] ; (802e14c ) 802e0a8: 2100 movs r1, #0 802e0aa: 54d1 strb r1, [r2, r3] 802e0ac: e045 b.n 802e13a } else { indx = pch - fn; 802e0ae: 697b ldr r3, [r7, #20] 802e0b0: 4a26 ldr r2, [pc, #152] ; (802e14c ) 802e0b2: 1a9b subs r3, r3, r2 802e0b4: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'c') && (fn[indx + 1] != 'C')) { 802e0b6: 68fb ldr r3, [r7, #12] 802e0b8: 3301 adds r3, #1 802e0ba: 4a24 ldr r2, [pc, #144] ; (802e14c ) 802e0bc: 5cd3 ldrb r3, [r2, r3] 802e0be: 2b63 cmp r3, #99 ; 0x63 802e0c0: d00a beq.n 802e0d8 802e0c2: 68fb ldr r3, [r7, #12] 802e0c4: 3301 adds r3, #1 802e0c6: 4a21 ldr r2, [pc, #132] ; (802e14c ) 802e0c8: 5cd3 ldrb r3, [r2, r3] 802e0ca: 2b43 cmp r3, #67 ; 0x43 802e0cc: d004 beq.n 802e0d8 fn[indx + 1] = 'C'; 802e0ce: 68fb ldr r3, [r7, #12] 802e0d0: 3301 adds r3, #1 802e0d2: 4a1e ldr r2, [pc, #120] ; (802e14c ) 802e0d4: 2143 movs r1, #67 ; 0x43 802e0d6: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 's') && (fn[indx + 2] != 'S')) { 802e0d8: 68fb ldr r3, [r7, #12] 802e0da: 3302 adds r3, #2 802e0dc: 4a1b ldr r2, [pc, #108] ; (802e14c ) 802e0de: 5cd3 ldrb r3, [r2, r3] 802e0e0: 2b73 cmp r3, #115 ; 0x73 802e0e2: d00a beq.n 802e0fa 802e0e4: 68fb ldr r3, [r7, #12] 802e0e6: 3302 adds r3, #2 802e0e8: 4a18 ldr r2, [pc, #96] ; (802e14c ) 802e0ea: 5cd3 ldrb r3, [r2, r3] 802e0ec: 2b53 cmp r3, #83 ; 0x53 802e0ee: d004 beq.n 802e0fa fn[indx + 2] = 'S'; 802e0f0: 68fb ldr r3, [r7, #12] 802e0f2: 3302 adds r3, #2 802e0f4: 4a15 ldr r2, [pc, #84] ; (802e14c ) 802e0f6: 2153 movs r1, #83 ; 0x53 802e0f8: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'v') && (fn[indx + 3] != 'V')) { 802e0fa: 68fb ldr r3, [r7, #12] 802e0fc: 3303 adds r3, #3 802e0fe: 4a13 ldr r2, [pc, #76] ; (802e14c ) 802e100: 5cd3 ldrb r3, [r2, r3] 802e102: 2b76 cmp r3, #118 ; 0x76 802e104: d00a beq.n 802e11c 802e106: 68fb ldr r3, [r7, #12] 802e108: 3303 adds r3, #3 802e10a: 4a10 ldr r2, [pc, #64] ; (802e14c ) 802e10c: 5cd3 ldrb r3, [r2, r3] 802e10e: 2b56 cmp r3, #86 ; 0x56 802e110: d004 beq.n 802e11c fn[indx + 3] = 'V'; 802e112: 68fb ldr r3, [r7, #12] 802e114: 3303 adds r3, #3 802e116: 4a0d ldr r2, [pc, #52] ; (802e14c ) 802e118: 2156 movs r1, #86 ; 0x56 802e11a: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802e11c: 68fb ldr r3, [r7, #12] 802e11e: 3304 adds r3, #4 802e120: 4a0a ldr r2, [pc, #40] ; (802e14c ) 802e122: 2100 movs r1, #0 802e124: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802e126: 4809 ldr r0, [pc, #36] ; (802e14c ) 802e128: f7f2 f8f4 bl 8020314 802e12c: 4603 mov r3, r0 802e12e: 2b04 cmp r3, #4 802e130: d803 bhi.n 802e13a { *out_name = 0; 802e132: 683b ldr r3, [r7, #0] 802e134: 2200 movs r2, #0 802e136: 701a strb r2, [r3, #0] return; 802e138: e004 b.n 802e144 } } strcpy(out_name, fn); 802e13a: 4904 ldr r1, [pc, #16] ; (802e14c ) 802e13c: 6838 ldr r0, [r7, #0] 802e13e: f09f f8bc bl 80cd2ba return; 802e142: bf00 nop } 802e144: 3718 adds r7, #24 802e146: 46bd mov sp, r7 802e148: bd80 pop {r7, pc} 802e14a: bf00 nop 802e14c: 20022df8 .word 0x20022df8 0802e150 : return; } void VerifyFileNameSPEC(char *fname, char *out_name) { 802e150: b580 push {r7, lr} 802e152: b086 sub sp, #24 802e154: af00 add r7, sp, #0 802e156: 6078 str r0, [r7, #4] 802e158: 6039 str r1, [r7, #0] uint32_t l, indx; char *pch; if(*fname == 0) 802e15a: 687b ldr r3, [r7, #4] 802e15c: 781b ldrb r3, [r3, #0] 802e15e: 2b00 cmp r3, #0 802e160: d103 bne.n 802e16a { *out_name = 0; 802e162: 683b ldr r3, [r7, #0] 802e164: 2200 movs r2, #0 802e166: 701a strb r2, [r3, #0] return; 802e168: e088 b.n 802e27c } if(strcmp(fname, "") == 0) 802e16a: 687b ldr r3, [r7, #4] 802e16c: 781b ldrb r3, [r3, #0] 802e16e: 2b00 cmp r3, #0 802e170: d103 bne.n 802e17a { *out_name = 0; 802e172: 683b ldr r3, [r7, #0] 802e174: 2200 movs r2, #0 802e176: 701a strb r2, [r3, #0] return; 802e178: e080 b.n 802e27c } memset(fn, 0, sizeof(fn)); 802e17a: 2228 movs r2, #40 ; 0x28 802e17c: 2100 movs r1, #0 802e17e: 4841 ldr r0, [pc, #260] ; (802e284 ) 802e180: f09e ff7e bl 80cd080 strcpy(fn, fname); 802e184: 6879 ldr r1, [r7, #4] 802e186: 483f ldr r0, [pc, #252] ; (802e284 ) 802e188: f09f f897 bl 80cd2ba pch = strchr(fn, '.'); 802e18c: 212e movs r1, #46 ; 0x2e 802e18e: 483d ldr r0, [pc, #244] ; (802e284 ) 802e190: f09f f885 bl 80cd29e 802e194: 6178 str r0, [r7, #20] if(pch == NULL) 802e196: 697b ldr r3, [r7, #20] 802e198: 2b00 cmp r3, #0 802e19a: d124 bne.n 802e1e6 { l = strlen(fn); 802e19c: 4839 ldr r0, [pc, #228] ; (802e284 ) 802e19e: f7f2 f8b9 bl 8020314 802e1a2: 6138 str r0, [r7, #16] if(l == 0) 802e1a4: 693b ldr r3, [r7, #16] 802e1a6: 2b00 cmp r3, #0 802e1a8: d103 bne.n 802e1b2 { *out_name = 0; 802e1aa: 683b ldr r3, [r7, #0] 802e1ac: 2200 movs r2, #0 802e1ae: 701a strb r2, [r3, #0] return; 802e1b0: e064 b.n 802e27c } fn[l] = '.'; 802e1b2: 4a34 ldr r2, [pc, #208] ; (802e284 ) 802e1b4: 693b ldr r3, [r7, #16] 802e1b6: 4413 add r3, r2 802e1b8: 222e movs r2, #46 ; 0x2e 802e1ba: 701a strb r2, [r3, #0] fn[l + 1] = 'C'; 802e1bc: 693b ldr r3, [r7, #16] 802e1be: 3301 adds r3, #1 802e1c0: 4a30 ldr r2, [pc, #192] ; (802e284 ) 802e1c2: 2143 movs r1, #67 ; 0x43 802e1c4: 54d1 strb r1, [r2, r3] fn[l + 2] = 'S'; 802e1c6: 693b ldr r3, [r7, #16] 802e1c8: 3302 adds r3, #2 802e1ca: 4a2e ldr r2, [pc, #184] ; (802e284 ) 802e1cc: 2153 movs r1, #83 ; 0x53 802e1ce: 54d1 strb r1, [r2, r3] fn[l + 3] = 'V'; 802e1d0: 693b ldr r3, [r7, #16] 802e1d2: 3303 adds r3, #3 802e1d4: 4a2b ldr r2, [pc, #172] ; (802e284 ) 802e1d6: 2156 movs r1, #86 ; 0x56 802e1d8: 54d1 strb r1, [r2, r3] fn[l + 4] = '\0'; 802e1da: 693b ldr r3, [r7, #16] 802e1dc: 3304 adds r3, #4 802e1de: 4a29 ldr r2, [pc, #164] ; (802e284 ) 802e1e0: 2100 movs r1, #0 802e1e2: 54d1 strb r1, [r2, r3] 802e1e4: e045 b.n 802e272 } else { indx = pch - fn; 802e1e6: 697b ldr r3, [r7, #20] 802e1e8: 4a26 ldr r2, [pc, #152] ; (802e284 ) 802e1ea: 1a9b subs r3, r3, r2 802e1ec: 60fb str r3, [r7, #12] if((fn[indx + 1] != 'c') && (fn[indx + 1] != 'C')) { 802e1ee: 68fb ldr r3, [r7, #12] 802e1f0: 3301 adds r3, #1 802e1f2: 4a24 ldr r2, [pc, #144] ; (802e284 ) 802e1f4: 5cd3 ldrb r3, [r2, r3] 802e1f6: 2b63 cmp r3, #99 ; 0x63 802e1f8: d00a beq.n 802e210 802e1fa: 68fb ldr r3, [r7, #12] 802e1fc: 3301 adds r3, #1 802e1fe: 4a21 ldr r2, [pc, #132] ; (802e284 ) 802e200: 5cd3 ldrb r3, [r2, r3] 802e202: 2b43 cmp r3, #67 ; 0x43 802e204: d004 beq.n 802e210 fn[indx + 1] = 'C'; 802e206: 68fb ldr r3, [r7, #12] 802e208: 3301 adds r3, #1 802e20a: 4a1e ldr r2, [pc, #120] ; (802e284 ) 802e20c: 2143 movs r1, #67 ; 0x43 802e20e: 54d1 strb r1, [r2, r3] } if((fn[indx + 2] != 's') && (fn[indx + 2] != 'S')) { 802e210: 68fb ldr r3, [r7, #12] 802e212: 3302 adds r3, #2 802e214: 4a1b ldr r2, [pc, #108] ; (802e284 ) 802e216: 5cd3 ldrb r3, [r2, r3] 802e218: 2b73 cmp r3, #115 ; 0x73 802e21a: d00a beq.n 802e232 802e21c: 68fb ldr r3, [r7, #12] 802e21e: 3302 adds r3, #2 802e220: 4a18 ldr r2, [pc, #96] ; (802e284 ) 802e222: 5cd3 ldrb r3, [r2, r3] 802e224: 2b53 cmp r3, #83 ; 0x53 802e226: d004 beq.n 802e232 fn[indx + 2] = 'S'; 802e228: 68fb ldr r3, [r7, #12] 802e22a: 3302 adds r3, #2 802e22c: 4a15 ldr r2, [pc, #84] ; (802e284 ) 802e22e: 2153 movs r1, #83 ; 0x53 802e230: 54d1 strb r1, [r2, r3] } if((fn[indx + 3] != 'v') && (fn[indx + 3] != 'V')) { 802e232: 68fb ldr r3, [r7, #12] 802e234: 3303 adds r3, #3 802e236: 4a13 ldr r2, [pc, #76] ; (802e284 ) 802e238: 5cd3 ldrb r3, [r2, r3] 802e23a: 2b76 cmp r3, #118 ; 0x76 802e23c: d00a beq.n 802e254 802e23e: 68fb ldr r3, [r7, #12] 802e240: 3303 adds r3, #3 802e242: 4a10 ldr r2, [pc, #64] ; (802e284 ) 802e244: 5cd3 ldrb r3, [r2, r3] 802e246: 2b56 cmp r3, #86 ; 0x56 802e248: d004 beq.n 802e254 fn[indx + 3] = 'V'; 802e24a: 68fb ldr r3, [r7, #12] 802e24c: 3303 adds r3, #3 802e24e: 4a0d ldr r2, [pc, #52] ; (802e284 ) 802e250: 2156 movs r1, #86 ; 0x56 802e252: 54d1 strb r1, [r2, r3] } fn[indx + 4] = '\0'; 802e254: 68fb ldr r3, [r7, #12] 802e256: 3304 adds r3, #4 802e258: 4a0a ldr r2, [pc, #40] ; (802e284 ) 802e25a: 2100 movs r1, #0 802e25c: 54d1 strb r1, [r2, r3] if(strlen(fn) <= 4) 802e25e: 4809 ldr r0, [pc, #36] ; (802e284 ) 802e260: f7f2 f858 bl 8020314 802e264: 4603 mov r3, r0 802e266: 2b04 cmp r3, #4 802e268: d803 bhi.n 802e272 { *out_name = 0; 802e26a: 683b ldr r3, [r7, #0] 802e26c: 2200 movs r2, #0 802e26e: 701a strb r2, [r3, #0] return; 802e270: e004 b.n 802e27c } } strcpy(out_name, fn); 802e272: 4904 ldr r1, [pc, #16] ; (802e284 ) 802e274: 6838 ldr r0, [r7, #0] 802e276: f09f f820 bl 80cd2ba return; 802e27a: bf00 nop } 802e27c: 3718 adds r7, #24 802e27e: 46bd mov sp, r7 802e280: bd80 pop {r7, pc} 802e282: bf00 nop 802e284: 20022df8 .word 0x20022df8 0802e288 : HAL_FLASHEx_OBGetConfig(&OBInit); } void wrPar(void) { 802e288: b590 push {r4, r7, lr} 802e28a: b087 sub sp, #28 802e28c: af00 add r7, sp, #0 volatile uint32_t i; volatile uint32_t lenpar = 0; 802e28e: 2300 movs r3, #0 802e290: 60fb str r3, [r7, #12] volatile uint32_t Address, *pData; uint32_t SECTORError = 0; 802e292: 2300 movs r3, #0 802e294: 607b str r3, [r7, #4] #ifndef DEBUGGING lenpar = sizeof(UserData_TypeDef); 802e296: f44f 6396 mov.w r3, #1200 ; 0x4b0 802e29a: 60fb str r3, [r7, #12] while(lenpar % 4) { 802e29c: e002 b.n 802e2a4 lenpar++; 802e29e: 68fb ldr r3, [r7, #12] 802e2a0: 3301 adds r3, #1 802e2a2: 60fb str r3, [r7, #12] while(lenpar % 4) { 802e2a4: 68fb ldr r3, [r7, #12] 802e2a6: f003 0303 and.w r3, r3, #3 802e2aa: 2b00 cmp r3, #0 802e2ac: d1f7 bne.n 802e29e } lenpar >>= 2; 802e2ae: 68fb ldr r3, [r7, #12] 802e2b0: 089b lsrs r3, r3, #2 802e2b2: 60fb str r3, [r7, #12] if(MeasFileName[0] != 0) 802e2b4: 4b2f ldr r3, [pc, #188] ; (802e374 ) 802e2b6: 781b ldrb r3, [r3, #0] 802e2b8: 2b00 cmp r3, #0 802e2ba: d004 beq.n 802e2c6 memcpy((void *) &pardata.MEASNAME[0], MeasFileName, 40); 802e2bc: 2228 movs r2, #40 ; 0x28 802e2be: 492d ldr r1, [pc, #180] ; (802e374 ) 802e2c0: 482d ldr r0, [pc, #180] ; (802e378 ) 802e2c2: f09e fed2 bl 80cd06a if(WavFileName[0] != 0) 802e2c6: 4b2d ldr r3, [pc, #180] ; (802e37c ) 802e2c8: 781b ldrb r3, [r3, #0] 802e2ca: 2b00 cmp r3, #0 802e2cc: d004 beq.n 802e2d8 memcpy((void *) &pardata.WAVNAME[0], WavFileName, 40); 802e2ce: 2228 movs r2, #40 ; 0x28 802e2d0: 492a ldr r1, [pc, #168] ; (802e37c ) 802e2d2: 482b ldr r0, [pc, #172] ; (802e380 ) 802e2d4: f09e fec9 bl 80cd06a if(DiagFileName[0] != 0) 802e2d8: 4b2a ldr r3, [pc, #168] ; (802e384 ) 802e2da: 781b ldrb r3, [r3, #0] 802e2dc: 2b00 cmp r3, #0 802e2de: d004 beq.n 802e2ea memcpy((void *) &pardata.DIAGN_FILE[0], DiagFileName, 40); 802e2e0: 2228 movs r2, #40 ; 0x28 802e2e2: 4928 ldr r1, [pc, #160] ; (802e384 ) 802e2e4: 4828 ldr r0, [pc, #160] ; (802e388 ) 802e2e6: f09e fec0 bl 80cd06a if(RouteFileName[0] != 0) 802e2ea: 4b28 ldr r3, [pc, #160] ; (802e38c ) 802e2ec: 781b ldrb r3, [r3, #0] 802e2ee: 2b00 cmp r3, #0 802e2f0: d004 beq.n 802e2fc memcpy((void *) &pardata.ROUTE_NAME[0], RouteFileName, 40); 802e2f2: 2228 movs r2, #40 ; 0x28 802e2f4: 4925 ldr r1, [pc, #148] ; (802e38c ) 802e2f6: 4826 ldr r0, [pc, #152] ; (802e390 ) 802e2f8: f09e feb7 bl 80cd06a __ASM volatile ("cpsid i" : : : "memory"); 802e2fc: b672 cpsid i __disable_irq(); HAL_FLASH_Unlock(); 802e2fe: f086 ff51 bl 80b51a4 EraseInitStruct.TypeErase = FLASH_TYPEERASE_SECTORS; 802e302: 4b24 ldr r3, [pc, #144] ; (802e394 ) 802e304: 2200 movs r2, #0 802e306: 601a str r2, [r3, #0] EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_3; 802e308: 4b22 ldr r3, [pc, #136] ; (802e394 ) 802e30a: 2202 movs r2, #2 802e30c: 611a str r2, [r3, #16] EraseInitStruct.Sector = USERSECTOR; //FLASH_SECTOR_11; 802e30e: 4b21 ldr r3, [pc, #132] ; (802e394 ) 802e310: 2203 movs r2, #3 802e312: 609a str r2, [r3, #8] EraseInitStruct.NbSectors = 1; 802e314: 4b1f ldr r3, [pc, #124] ; (802e394 ) 802e316: 2201 movs r2, #1 802e318: 60da str r2, [r3, #12] if(HAL_FLASHEx_Erase(&EraseInitStruct, &SECTORError) == HAL_OK) 802e31a: 1d3b adds r3, r7, #4 802e31c: 4619 mov r1, r3 802e31e: 481d ldr r0, [pc, #116] ; (802e394 ) 802e320: f087 f89a bl 80b5458 802e324: 4603 mov r3, r0 802e326: 2b00 cmp r3, #0 802e328: d11c bne.n 802e364 { Address = USERPAGE; 802e32a: 4b1b ldr r3, [pc, #108] ; (802e398 ) 802e32c: 60bb str r3, [r7, #8] pData = (uint32_t *) &pardata; 802e32e: 4b1b ldr r3, [pc, #108] ; (802e39c ) 802e330: 617b str r3, [r7, #20] for(i = 0; i < lenpar; i++) 802e332: 2300 movs r3, #0 802e334: 613b str r3, [r7, #16] 802e336: e011 b.n 802e35c { HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802e338: 68b9 ldr r1, [r7, #8] 802e33a: 697b ldr r3, [r7, #20] 802e33c: 1d1a adds r2, r3, #4 802e33e: 617a str r2, [r7, #20] 802e340: 681b ldr r3, [r3, #0] 802e342: f04f 0400 mov.w r4, #0 802e346: 461a mov r2, r3 802e348: 4623 mov r3, r4 802e34a: 2002 movs r0, #2 802e34c: f086 fece bl 80b50ec Address += 4; 802e350: 68bb ldr r3, [r7, #8] 802e352: 3304 adds r3, #4 802e354: 60bb str r3, [r7, #8] for(i = 0; i < lenpar; i++) 802e356: 693b ldr r3, [r7, #16] 802e358: 3301 adds r3, #1 802e35a: 613b str r3, [r7, #16] 802e35c: 693a ldr r2, [r7, #16] 802e35e: 68fb ldr r3, [r7, #12] 802e360: 429a cmp r2, r3 802e362: d3e9 bcc.n 802e338 } } HAL_FLASH_Lock(); 802e364: f086 ff40 bl 80b51e8 __ASM volatile ("cpsie i" : : : "memory"); 802e368: b662 cpsie i __enable_irq(); #endif } 802e36a: bf00 nop 802e36c: 371c adds r7, #28 802e36e: 46bd mov sp, r7 802e370: bd90 pop {r4, r7, pc} 802e372: bf00 nop 802e374: 20020e58 .word 0x20020e58 802e378: 20023ea0 .word 0x20023ea0 802e37c: 20020e34 .word 0x20020e34 802e380: 20023ec8 .word 0x20023ec8 802e384: 20020e7c .word 0x20020e7c 802e388: 200242bc .word 0x200242bc 802e38c: 20020ea0 .word 0x20020ea0 802e390: 200242e4 .word 0x200242e4 802e394: 20020efc .word 0x20020efc 802e398: 08018000 .word 0x08018000 802e39c: 20023e60 .word 0x20023e60 0802e3a0 : void rdPar(void) { 802e3a0: b5f0 push {r4, r5, r6, r7, lr} 802e3a2: b085 sub sp, #20 802e3a4: af00 add r7, sp, #0 uint8_t i, j; uint32_t lenpar; volatile bool rewrite = false; 802e3a6: 2300 movs r3, #0 802e3a8: 71fb strb r3, [r7, #7] sfloat hpf; lenpar = sizeof(UserData_TypeDef); 802e3aa: f44f 6396 mov.w r3, #1200 ; 0x4b0 802e3ae: 60bb str r3, [r7, #8] memcpy((void *) &pardata, (void *) USERPAGE, lenpar); 802e3b0: 68ba ldr r2, [r7, #8] 802e3b2: 496e ldr r1, [pc, #440] ; (802e56c ) 802e3b4: 486e ldr r0, [pc, #440] ; (802e570 ) 802e3b6: f09e fe58 bl 80cd06a if(pardata.PWR_CNT == 0xffffffff) // FIRST_POWER_ON 802e3ba: 4b6d ldr r3, [pc, #436] ; (802e570 ) 802e3bc: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 802e3c0: f1b3 3fff cmp.w r3, #4294967295 802e3c4: d109 bne.n 802e3da { FirstOn = true; 802e3c6: 4b6b ldr r3, [pc, #428] ; (802e574 ) 802e3c8: 2201 movs r2, #1 802e3ca: 701a strb r2, [r3, #0] pardata.PWR_CNT = 1; 802e3cc: 4b68 ldr r3, [pc, #416] ; (802e570 ) 802e3ce: 2201 movs r2, #1 802e3d0: f8c3 2090 str.w r2, [r3, #144] ; 0x90 rewrite = true; 802e3d4: 2301 movs r3, #1 802e3d6: 71fb strb r3, [r7, #7] 802e3d8: e020 b.n 802e41c } else { FirstOn = false; 802e3da: 4b66 ldr r3, [pc, #408] ; (802e574 ) 802e3dc: 2200 movs r2, #0 802e3de: 701a strb r2, [r3, #0] if((pardata.PWR_CNT > 0) && (pardata.PWR_CNT < 0xffffffff)) { 802e3e0: 4b63 ldr r3, [pc, #396] ; (802e570 ) 802e3e2: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 802e3e6: 2b00 cmp r3, #0 802e3e8: d00c beq.n 802e404 802e3ea: 4b61 ldr r3, [pc, #388] ; (802e570 ) 802e3ec: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 802e3f0: f1b3 3fff cmp.w r3, #4294967295 802e3f4: d006 beq.n 802e404 pardata.PWR_CNT++; 802e3f6: 4b5e ldr r3, [pc, #376] ; (802e570 ) 802e3f8: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 802e3fc: 3301 adds r3, #1 802e3fe: 4a5c ldr r2, [pc, #368] ; (802e570 ) 802e400: f8c2 3090 str.w r3, [r2, #144] ; 0x90 } if((pardata.SYG > DIAGN) || (pardata.LANG > ENG)) { 802e404: 4b5a ldr r3, [pc, #360] ; (802e570 ) 802e406: 781b ldrb r3, [r3, #0] 802e408: b2db uxtb r3, r3 802e40a: 2b0a cmp r3, #10 802e40c: d804 bhi.n 802e418 802e40e: 4b58 ldr r3, [pc, #352] ; (802e570 ) 802e410: 7b1b ldrb r3, [r3, #12] 802e412: b2db uxtb r3, r3 802e414: 2b01 cmp r3, #1 802e416: d901 bls.n 802e41c rewrite = true; 802e418: 2301 movs r3, #1 802e41a: 71fb strb r3, [r7, #7] //rewrite = true; //TODO if(rewrite == true) 802e41c: 79fb ldrb r3, [r7, #7] 802e41e: b2db uxtb r3, r3 802e420: 2b00 cmp r3, #0 802e422: f000 8113 beq.w 802e64c { memset((char *) &pardata.MEASNAME[0], 0, sizeof(MeasFileName)); 802e426: 2221 movs r2, #33 ; 0x21 802e428: 2100 movs r1, #0 802e42a: 4853 ldr r0, [pc, #332] ; (802e578 ) 802e42c: f09e fe28 bl 80cd080 memset((char *) &pardata.WAVNAME[0], 0, sizeof(WavFileName)); 802e430: 2221 movs r2, #33 ; 0x21 802e432: 2100 movs r1, #0 802e434: 4851 ldr r0, [pc, #324] ; (802e57c ) 802e436: f09e fe23 bl 80cd080 memset((char *) &pardata.DIAGN_FILE[0], 0, sizeof(DiagFileName)); 802e43a: 2221 movs r2, #33 ; 0x21 802e43c: 2100 movs r1, #0 802e43e: 4850 ldr r0, [pc, #320] ; (802e580 ) 802e440: f09e fe1e bl 80cd080 memset((char *) &pardata.ROUTE_NAME[0], 0, sizeof(RouteFileName)); 802e444: 2221 movs r2, #33 ; 0x21 802e446: 2100 movs r1, #0 802e448: 484e ldr r0, [pc, #312] ; (802e584 ) 802e44a: f09e fe19 bl 80cd080 pardata.ROUTE_POINT = 0xffffffff; 802e44e: 4b48 ldr r3, [pc, #288] ; (802e570 ) 802e450: f04f 32ff mov.w r2, #4294967295 802e454: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac pardata.SYG = VIB; 802e458: 4b45 ldr r3, [pc, #276] ; (802e570 ) 802e45a: 2200 movs r2, #0 802e45c: 701a strb r2, [r3, #0] pardata.IPR = ACC; 802e45e: 4b44 ldr r3, [pc, #272] ; (802e570 ) 802e460: 2200 movs r2, #0 802e462: 705a strb r2, [r3, #1] pardata.IVS[ACC] = RMS; 802e464: 4b42 ldr r3, [pc, #264] ; (802e570 ) 802e466: 2201 movs r2, #1 802e468: 709a strb r2, [r3, #2] pardata.IVS[VEL] = RMS; 802e46a: 4b41 ldr r3, [pc, #260] ; (802e570 ) 802e46c: 2201 movs r2, #1 802e46e: 70da strb r2, [r3, #3] pardata.IVS[DIS] = RMS; 802e470: 4b3f ldr r3, [pc, #252] ; (802e570 ) 802e472: 2201 movs r2, #1 802e474: 711a strb r2, [r3, #4] pardata.UDAR_TYPE = SPECTR; 802e476: 4b3e ldr r3, [pc, #248] ; (802e570 ) 802e478: 2200 movs r2, #0 802e47a: 715a strb r2, [r3, #5] pardata.IIN = ICP; 802e47c: 4b3c ldr r3, [pc, #240] ; (802e570 ) 802e47e: 2201 movs r2, #1 802e480: 719a strb r2, [r3, #6] pardata.LNE = N3200; 802e482: 4b3b ldr r3, [pc, #236] ; (802e570 ) 802e484: 2203 movs r2, #3 802e486: 71da strb r2, [r3, #7] pardata.IKU = Ku1; 802e488: 4b39 ldr r3, [pc, #228] ; (802e570 ) 802e48a: 2200 movs r2, #0 802e48c: 721a strb r2, [r3, #8] pardata.WIN = HANN; 802e48e: 4b38 ldr r3, [pc, #224] ; (802e570 ) 802e490: 2201 movs r2, #1 802e492: 725a strb r2, [r3, #9] pardata.MSH = LIN; 802e494: 4b36 ldr r3, [pc, #216] ; (802e570 ) 802e496: 2200 movs r2, #0 802e498: 729a strb r2, [r3, #10] pardata.FRQ = _64000Hz; 802e49a: 4b35 ldr r3, [pc, #212] ; (802e570 ) 802e49c: 2209 movs r2, #9 802e49e: 72da strb r2, [r3, #11] pardata.AVG = AVG1; 802e4a0: 4b33 ldr r3, [pc, #204] ; (802e570 ) 802e4a2: 2200 movs r2, #0 802e4a4: 735a strb r2, [r3, #13] pardata.LANG = RUS; 802e4a6: 4b32 ldr r3, [pc, #200] ; (802e570 ) 802e4a8: 2200 movs r2, #0 802e4aa: 731a strb r2, [r3, #12] pardata.IKK = 1.000f; 802e4ac: 4b30 ldr r3, [pc, #192] ; (802e570 ) 802e4ae: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802e4b2: 611a str r2, [r3, #16] pardata.THR = 0; 802e4b4: 4b2e ldr r3, [pc, #184] ; (802e570 ) 802e4b6: 2200 movs r2, #0 802e4b8: 73da strb r2, [r3, #15] pardata.THR_VAL = 10.0f; 802e4ba: 4b2d ldr r3, [pc, #180] ; (802e570 ) 802e4bc: 4a32 ldr r2, [pc, #200] ; (802e588 ) 802e4be: 615a str r2, [r3, #20] pardata.MAX_VAL = 200.0f; 802e4c0: 4b2b ldr r3, [pc, #172] ; (802e570 ) 802e4c2: 4a32 ldr r2, [pc, #200] ; (802e58c ) 802e4c4: 619a str r2, [r3, #24] pardata.HP = 2.0000011f; 802e4c6: 4b2a ldr r3, [pc, #168] ; (802e570 ) 802e4c8: 4a31 ldr r2, [pc, #196] ; (802e590 ) 802e4ca: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 pardata.LP = 12800.000011111f; 802e4ce: 4b28 ldr r3, [pc, #160] ; (802e570 ) 802e4d0: 4a30 ldr r2, [pc, #192] ; (802e594 ) 802e4d2: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 pardata.TME = SEC10; 802e4d6: 4b26 ldr r3, [pc, #152] ; (802e570 ) 802e4d8: 2202 movs r2, #2 802e4da: 739a strb r2, [r3, #14] pardata.CORR_MULT = 1.0f; 802e4dc: 4b24 ldr r3, [pc, #144] ; (802e570 ) 802e4de: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802e4e2: f8c3 2094 str.w r2, [r3, #148] ; 0x94 for(i = 0; i < 9; i++) { 802e4e6: 2300 movs r3, #0 802e4e8: 73fb strb r3, [r7, #15] 802e4ea: e00e b.n 802e50a pardata.CORR_KU[i] = corrdata.CORR_ACC[i]; 802e4ec: 7bfb ldrb r3, [r7, #15] 802e4ee: 7bfa ldrb r2, [r7, #15] 802e4f0: 4929 ldr r1, [pc, #164] ; (802e598 ) 802e4f2: 0092 lsls r2, r2, #2 802e4f4: 440a add r2, r1 802e4f6: 6812 ldr r2, [r2, #0] 802e4f8: 491d ldr r1, [pc, #116] ; (802e570 ) 802e4fa: 3306 adds r3, #6 802e4fc: 009b lsls r3, r3, #2 802e4fe: 440b add r3, r1 802e500: 3304 adds r3, #4 802e502: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802e504: 7bfb ldrb r3, [r7, #15] 802e506: 3301 adds r3, #1 802e508: 73fb strb r3, [r7, #15] 802e50a: 7bfb ldrb r3, [r7, #15] 802e50c: 2b08 cmp r3, #8 802e50e: d9ed bls.n 802e4ec } pardata.OPTIONS = BIT0/* | BIT2*/; 802e510: 4b17 ldr r3, [pc, #92] ; (802e570 ) 802e512: 2201 movs r2, #1 802e514: f8c3 2098 str.w r2, [r3, #152] ; 0x98 * BIT4,BIT5 - òèï ñïåêòðà (00h-ÁÏÔ, 01h-îãèáàþùàÿ, 02h-1/1 îêò) * BIT6 - Bluetooth State (0 - PowerOff, 1- PowerOn) * BIT7 - TachoChannel +/- */ pardata.ROLL_COUNT = 32; 802e518: 4b15 ldr r3, [pc, #84] ; (802e570 ) 802e51a: 2220 movs r2, #32 802e51c: f8c3 20bc str.w r2, [r3, #188] ; 0xbc pardata.D_ROLL = 10.000f; 802e520: 4b13 ldr r3, [pc, #76] ; (802e570 ) 802e522: 4a19 ldr r2, [pc, #100] ; (802e588 ) 802e524: f8c3 20c0 str.w r2, [r3, #192] ; 0xc0 pardata.D_OUTER = 62.000f; 802e528: 4b11 ldr r3, [pc, #68] ; (802e570 ) 802e52a: 4a1c ldr r2, [pc, #112] ; (802e59c ) 802e52c: f8c3 20c4 str.w r2, [r3, #196] ; 0xc4 pardata.D_INNER = 43.000f; 802e530: 4b0f ldr r3, [pc, #60] ; (802e570 ) 802e532: 4a1b ldr r2, [pc, #108] ; (802e5a0 ) 802e534: f8c3 20c8 str.w r2, [r3, #200] ; 0xc8 pardata.D_ANGLE = 45.000f; 802e538: 4b0d ldr r3, [pc, #52] ; (802e570 ) 802e53a: 4a1a ldr r2, [pc, #104] ; (802e5a4 ) 802e53c: f8c3 20cc str.w r2, [r3, #204] ; 0xcc pardata.D_RATE = 1416.0f; 802e540: 4b0b ldr r3, [pc, #44] ; (802e570 ) 802e542: f44f 62b1 mov.w r2, #1416 ; 0x588 802e546: f8c3 20d0 str.w r2, [r3, #208] ; 0xd0 memset((void *) &pardata.DIAGN_NAME[0][0], 0, 8u * 40); 802e54a: f44f 72a0 mov.w r2, #320 ; 0x140 802e54e: 2100 movs r1, #0 802e550: 4815 ldr r0, [pc, #84] ; (802e5a8 ) 802e552: f09e fd95 bl 80cd080 memset((void *) &pardata.DIAGN_OPER[0][0], 0, 8u * 4); 802e556: 2220 movs r2, #32 802e558: 2100 movs r1, #0 802e55a: 4814 ldr r0, [pc, #80] ; (802e5ac ) 802e55c: f09e fd90 bl 80cd080 for(i = 0; i < 8; i++) 802e560: 2300 movs r3, #0 802e562: 73fb strb r3, [r7, #15] 802e564: e06d b.n 802e642 { for(j = 0; j < 4; j++) 802e566: 2300 movs r3, #0 802e568: 73bb strb r3, [r7, #14] 802e56a: e064 b.n 802e636 802e56c: 08018000 .word 0x08018000 802e570: 20023e60 .word 0x20023e60 802e574: 20020ef8 .word 0x20020ef8 802e578: 20023ea0 .word 0x20023ea0 802e57c: 20023ec8 .word 0x20023ec8 802e580: 200242bc .word 0x200242bc 802e584: 200242e4 .word 0x200242e4 802e588: 41200000 .word 0x41200000 802e58c: 43480000 .word 0x43480000 802e590: 40000005 .word 0x40000005 802e594: 46480000 .word 0x46480000 802e598: 20024310 .word 0x20024310 802e59c: 42780000 .word 0x42780000 802e5a0: 422c0000 .word 0x422c0000 802e5a4: 42340000 .word 0x42340000 802e5a8: 20023f3c .word 0x20023f3c 802e5ac: 2002407c .word 0x2002407c { pardata.DIAGN_OPER[i][j] = 0; // or 802e5b0: 7bfa ldrb r2, [r7, #15] 802e5b2: 7bbb ldrb r3, [r7, #14] 802e5b4: 4989 ldr r1, [pc, #548] ; (802e7dc ) 802e5b6: 0092 lsls r2, r2, #2 802e5b8: 440a add r2, r1 802e5ba: 4413 add r3, r2 802e5bc: f503 7307 add.w r3, r3, #540 ; 0x21c 802e5c0: 2200 movs r2, #0 802e5c2: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[i][j] = 0x11; // A + rms 802e5c4: 7bfa ldrb r2, [r7, #15] 802e5c6: 7bbb ldrb r3, [r7, #14] 802e5c8: 4984 ldr r1, [pc, #528] ; (802e7dc ) 802e5ca: 0092 lsls r2, r2, #2 802e5cc: 440a add r2, r1 802e5ce: 4413 add r3, r2 802e5d0: f503 730f add.w r3, r3, #572 ; 0x23c 802e5d4: 2211 movs r2, #17 802e5d6: 701a strb r2, [r3, #0] pardata.DIAGN_HP[i][j] = 2.000111f; 802e5d8: 7bfa ldrb r2, [r7, #15] 802e5da: 7bbb ldrb r3, [r7, #14] 802e5dc: 497f ldr r1, [pc, #508] ; (802e7dc ) 802e5de: 0092 lsls r2, r2, #2 802e5e0: 4413 add r3, r2 802e5e2: 3396 adds r3, #150 ; 0x96 802e5e4: 009b lsls r3, r3, #2 802e5e6: 440b add r3, r1 802e5e8: 3304 adds r3, #4 802e5ea: 4a7d ldr r2, [pc, #500] ; (802e7e0 ) 802e5ec: 601a str r2, [r3, #0] pardata.DIAGN_LP[i][j] = 1000.00011f; 802e5ee: 7bfa ldrb r2, [r7, #15] 802e5f0: 7bbb ldrb r3, [r7, #14] 802e5f2: 497a ldr r1, [pc, #488] ; (802e7dc ) 802e5f4: 0092 lsls r2, r2, #2 802e5f6: 4413 add r3, r2 802e5f8: 33b6 adds r3, #182 ; 0xb6 802e5fa: 009b lsls r3, r3, #2 802e5fc: 440b add r3, r1 802e5fe: 3304 adds r3, #4 802e600: 4a78 ldr r2, [pc, #480] ; (802e7e4 ) 802e602: 601a str r2, [r3, #0] pardata.DIAGN_W[i][j] = 50.000111f; 802e604: 7bfa ldrb r2, [r7, #15] 802e606: 7bbb ldrb r3, [r7, #14] 802e608: 4974 ldr r1, [pc, #464] ; (802e7dc ) 802e60a: 0092 lsls r2, r2, #2 802e60c: 4413 add r3, r2 802e60e: 33d6 adds r3, #214 ; 0xd6 802e610: 009b lsls r3, r3, #2 802e612: 440b add r3, r1 802e614: 3304 adds r3, #4 802e616: 4a74 ldr r2, [pc, #464] ; (802e7e8 ) 802e618: 601a str r2, [r3, #0] pardata.DIAGN_A[i][j] = 100.00011f; 802e61a: 7bfa ldrb r2, [r7, #15] 802e61c: 7bbb ldrb r3, [r7, #14] 802e61e: 496f ldr r1, [pc, #444] ; (802e7dc ) 802e620: 0092 lsls r2, r2, #2 802e622: 4413 add r3, r2 802e624: 33f6 adds r3, #246 ; 0xf6 802e626: 009b lsls r3, r3, #2 802e628: 440b add r3, r1 802e62a: 3304 adds r3, #4 802e62c: 4a6f ldr r2, [pc, #444] ; (802e7ec ) 802e62e: 601a str r2, [r3, #0] for(j = 0; j < 4; j++) 802e630: 7bbb ldrb r3, [r7, #14] 802e632: 3301 adds r3, #1 802e634: 73bb strb r3, [r7, #14] 802e636: 7bbb ldrb r3, [r7, #14] 802e638: 2b03 cmp r3, #3 802e63a: d9b9 bls.n 802e5b0 for(i = 0; i < 8; i++) 802e63c: 7bfb ldrb r3, [r7, #15] 802e63e: 3301 adds r3, #1 802e640: 73fb strb r3, [r7, #15] 802e642: 7bfb ldrb r3, [r7, #15] 802e644: 2b07 cmp r3, #7 802e646: d98e bls.n 802e566 } } wrPar(); 802e648: f7ff fe1e bl 802e288 } memcpy(MeasFileName, (char *) &pardata.MEASNAME[0], sizeof(MeasFileName)); 802e64c: 4a68 ldr r2, [pc, #416] ; (802e7f0 ) 802e64e: 4b63 ldr r3, [pc, #396] ; (802e7dc ) 802e650: f103 0440 add.w r4, r3, #64 ; 0x40 802e654: 4696 mov lr, r2 802e656: f104 0c20 add.w ip, r4, #32 802e65a: 4675 mov r5, lr 802e65c: 4626 mov r6, r4 802e65e: ce0f ldmia r6!, {r0, r1, r2, r3} 802e660: 6028 str r0, [r5, #0] 802e662: 6069 str r1, [r5, #4] 802e664: 60aa str r2, [r5, #8] 802e666: 60eb str r3, [r5, #12] 802e668: 3410 adds r4, #16 802e66a: f10e 0e10 add.w lr, lr, #16 802e66e: 4564 cmp r4, ip 802e670: d1f3 bne.n 802e65a 802e672: 4673 mov r3, lr 802e674: 4622 mov r2, r4 802e676: 7812 ldrb r2, [r2, #0] 802e678: 701a strb r2, [r3, #0] memcpy(WavFileName, (char *) &pardata.WAVNAME[0], sizeof(WavFileName)); 802e67a: 4a5e ldr r2, [pc, #376] ; (802e7f4 ) 802e67c: 4b57 ldr r3, [pc, #348] ; (802e7dc ) 802e67e: f103 0468 add.w r4, r3, #104 ; 0x68 802e682: 4696 mov lr, r2 802e684: f104 0c20 add.w ip, r4, #32 802e688: 4675 mov r5, lr 802e68a: 4626 mov r6, r4 802e68c: ce0f ldmia r6!, {r0, r1, r2, r3} 802e68e: 6028 str r0, [r5, #0] 802e690: 6069 str r1, [r5, #4] 802e692: 60aa str r2, [r5, #8] 802e694: 60eb str r3, [r5, #12] 802e696: 3410 adds r4, #16 802e698: f10e 0e10 add.w lr, lr, #16 802e69c: 4564 cmp r4, ip 802e69e: d1f3 bne.n 802e688 802e6a0: 4673 mov r3, lr 802e6a2: 4622 mov r2, r4 802e6a4: 7812 ldrb r2, [r2, #0] 802e6a6: 701a strb r2, [r3, #0] memcpy(DiagFileName, (char *) &pardata.DIAGN_FILE[0], sizeof(DiagFileName)); 802e6a8: 4a53 ldr r2, [pc, #332] ; (802e7f8 ) 802e6aa: 4b4c ldr r3, [pc, #304] ; (802e7dc ) 802e6ac: f203 445c addw r4, r3, #1116 ; 0x45c 802e6b0: 4696 mov lr, r2 802e6b2: f104 0c20 add.w ip, r4, #32 802e6b6: 4675 mov r5, lr 802e6b8: 4626 mov r6, r4 802e6ba: ce0f ldmia r6!, {r0, r1, r2, r3} 802e6bc: 6028 str r0, [r5, #0] 802e6be: 6069 str r1, [r5, #4] 802e6c0: 60aa str r2, [r5, #8] 802e6c2: 60eb str r3, [r5, #12] 802e6c4: 3410 adds r4, #16 802e6c6: f10e 0e10 add.w lr, lr, #16 802e6ca: 4564 cmp r4, ip 802e6cc: d1f3 bne.n 802e6b6 802e6ce: 4673 mov r3, lr 802e6d0: 4622 mov r2, r4 802e6d2: 7812 ldrb r2, [r2, #0] 802e6d4: 701a strb r2, [r3, #0] memcpy(RouteFileName, (char *) &pardata.ROUTE_NAME[0], sizeof(RouteFileName)); 802e6d6: 4a49 ldr r2, [pc, #292] ; (802e7fc ) 802e6d8: 4b40 ldr r3, [pc, #256] ; (802e7dc ) 802e6da: f203 4484 addw r4, r3, #1156 ; 0x484 802e6de: 4696 mov lr, r2 802e6e0: f104 0c20 add.w ip, r4, #32 802e6e4: 4675 mov r5, lr 802e6e6: 4626 mov r6, r4 802e6e8: ce0f ldmia r6!, {r0, r1, r2, r3} 802e6ea: 6028 str r0, [r5, #0] 802e6ec: 6069 str r1, [r5, #4] 802e6ee: 60aa str r2, [r5, #8] 802e6f0: 60eb str r3, [r5, #12] 802e6f2: 3410 adds r4, #16 802e6f4: f10e 0e10 add.w lr, lr, #16 802e6f8: 4564 cmp r4, ip 802e6fa: d1f3 bne.n 802e6e4 802e6fc: 4673 mov r3, lr 802e6fe: 4622 mov r2, r4 802e700: 7812 ldrb r2, [r2, #0] 802e702: 701a strb r2, [r3, #0] pardata.IKU = Ku1; 802e704: 4b35 ldr r3, [pc, #212] ; (802e7dc ) 802e706: 2200 movs r2, #0 802e708: 721a strb r2, [r3, #8] for(i = 0; i < 9; i++) { 802e70a: 2300 movs r3, #0 802e70c: 73fb strb r3, [r7, #15] 802e70e: e00e b.n 802e72e pardata.CORR_KU[i] = corrdata.CORR_ACC[i]; 802e710: 7bfb ldrb r3, [r7, #15] 802e712: 7bfa ldrb r2, [r7, #15] 802e714: 493a ldr r1, [pc, #232] ; (802e800 ) 802e716: 0092 lsls r2, r2, #2 802e718: 440a add r2, r1 802e71a: 6812 ldr r2, [r2, #0] 802e71c: 492f ldr r1, [pc, #188] ; (802e7dc ) 802e71e: 3306 adds r3, #6 802e720: 009b lsls r3, r3, #2 802e722: 440b add r3, r1 802e724: 3304 adds r3, #4 802e726: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802e728: 7bfb ldrb r3, [r7, #15] 802e72a: 3301 adds r3, #1 802e72c: 73fb strb r3, [r7, #15] 802e72e: 7bfb ldrb r3, [r7, #15] 802e730: 2b08 cmp r3, #8 802e732: d9ed bls.n 802e710 } if(pardata.ROLL_COUNT == 0xffffffff) 802e734: 4b29 ldr r3, [pc, #164] ; (802e7dc ) 802e736: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 802e73a: f1b3 3fff cmp.w r3, #4294967295 802e73e: d11a bne.n 802e776 { pardata.ROLL_COUNT = 32; 802e740: 4b26 ldr r3, [pc, #152] ; (802e7dc ) 802e742: 2220 movs r2, #32 802e744: f8c3 20bc str.w r2, [r3, #188] ; 0xbc pardata.D_ROLL = 10.000f; 802e748: 4b24 ldr r3, [pc, #144] ; (802e7dc ) 802e74a: 4a2e ldr r2, [pc, #184] ; (802e804 ) 802e74c: f8c3 20c0 str.w r2, [r3, #192] ; 0xc0 pardata.D_OUTER = 62.000f; 802e750: 4b22 ldr r3, [pc, #136] ; (802e7dc ) 802e752: 4a2d ldr r2, [pc, #180] ; (802e808 ) 802e754: f8c3 20c4 str.w r2, [r3, #196] ; 0xc4 pardata.D_INNER = 43.000f; 802e758: 4b20 ldr r3, [pc, #128] ; (802e7dc ) 802e75a: 4a2c ldr r2, [pc, #176] ; (802e80c ) 802e75c: f8c3 20c8 str.w r2, [r3, #200] ; 0xc8 pardata.D_ANGLE = 45.000f; 802e760: 4b1e ldr r3, [pc, #120] ; (802e7dc ) 802e762: 4a2b ldr r2, [pc, #172] ; (802e810 ) 802e764: f8c3 20cc str.w r2, [r3, #204] ; 0xcc pardata.D_RATE = 1416.0f; 802e768: 4b1c ldr r3, [pc, #112] ; (802e7dc ) 802e76a: f44f 62b1 mov.w r2, #1416 ; 0x588 802e76e: f8c3 20d0 str.w r2, [r3, #208] ; 0xd0 rewrite = true; 802e772: 2301 movs r3, #1 802e774: 71fb strb r3, [r7, #7] } if((pardata.DIAGN_NAME[0][0] == 0xff) && (pardata.DIAGN_NAME[1][0] == 0xff) && (pardata.DIAGN_OPER[0][0] == 0xff) && (pardata.DIAGN_OPER[1][0] == 0xff)) 802e776: 4b19 ldr r3, [pc, #100] ; (802e7dc ) 802e778: f893 30dc ldrb.w r3, [r3, #220] ; 0xdc 802e77c: b2db uxtb r3, r3 802e77e: 2bff cmp r3, #255 ; 0xff 802e780: f040 809a bne.w 802e8b8 802e784: 4b15 ldr r3, [pc, #84] ; (802e7dc ) 802e786: f893 3104 ldrb.w r3, [r3, #260] ; 0x104 802e78a: b2db uxtb r3, r3 802e78c: 2bff cmp r3, #255 ; 0xff 802e78e: f040 8093 bne.w 802e8b8 802e792: 4b12 ldr r3, [pc, #72] ; (802e7dc ) 802e794: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 802e798: b2db uxtb r3, r3 802e79a: 2bff cmp r3, #255 ; 0xff 802e79c: f040 808c bne.w 802e8b8 802e7a0: 4b0e ldr r3, [pc, #56] ; (802e7dc ) 802e7a2: f893 3220 ldrb.w r3, [r3, #544] ; 0x220 802e7a6: b2db uxtb r3, r3 802e7a8: 2bff cmp r3, #255 ; 0xff 802e7aa: f040 8085 bne.w 802e8b8 { memset((void *) &pardata.DIAGN_NAME[0][0], 0, 8u * 40); 802e7ae: f44f 72a0 mov.w r2, #320 ; 0x140 802e7b2: 2100 movs r1, #0 802e7b4: 4817 ldr r0, [pc, #92] ; (802e814 ) 802e7b6: f09e fc63 bl 80cd080 memset((void *) &pardata.DIAGN_OPER[0][0], 0, 8u * 4); 802e7ba: 2220 movs r2, #32 802e7bc: 2100 movs r1, #0 802e7be: 4816 ldr r0, [pc, #88] ; (802e818 ) 802e7c0: f09e fc5e bl 80cd080 memset((char *) &pardata.DIAGN_FILE[0], 0, sizeof(DiagFileName)); 802e7c4: 2221 movs r2, #33 ; 0x21 802e7c6: 2100 movs r1, #0 802e7c8: 4814 ldr r0, [pc, #80] ; (802e81c ) 802e7ca: f09e fc59 bl 80cd080 for(i = 0; i < 8; i++) 802e7ce: 2300 movs r3, #0 802e7d0: 73fb strb r3, [r7, #15] 802e7d2: e06e b.n 802e8b2 { for(j = 0; j < 4; j++) 802e7d4: 2300 movs r3, #0 802e7d6: 73bb strb r3, [r7, #14] 802e7d8: e065 b.n 802e8a6 802e7da: bf00 nop 802e7dc: 20023e60 .word 0x20023e60 802e7e0: 400001d2 .word 0x400001d2 802e7e4: 447a0002 .word 0x447a0002 802e7e8: 4248001d .word 0x4248001d 802e7ec: 42c8000e .word 0x42c8000e 802e7f0: 20020e58 .word 0x20020e58 802e7f4: 20020e34 .word 0x20020e34 802e7f8: 20020e7c .word 0x20020e7c 802e7fc: 20020ea0 .word 0x20020ea0 802e800: 20024310 .word 0x20024310 802e804: 41200000 .word 0x41200000 802e808: 42780000 .word 0x42780000 802e80c: 422c0000 .word 0x422c0000 802e810: 42340000 .word 0x42340000 802e814: 20023f3c .word 0x20023f3c 802e818: 2002407c .word 0x2002407c 802e81c: 200242bc .word 0x200242bc { pardata.DIAGN_OPER[i][j] = 0; // or 802e820: 7bfa ldrb r2, [r7, #15] 802e822: 7bbb ldrb r3, [r7, #14] 802e824: 4943 ldr r1, [pc, #268] ; (802e934 ) 802e826: 0092 lsls r2, r2, #2 802e828: 440a add r2, r1 802e82a: 4413 add r3, r2 802e82c: f503 7307 add.w r3, r3, #540 ; 0x21c 802e830: 2200 movs r2, #0 802e832: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[i][j] = 0x11; // A + rms 802e834: 7bfa ldrb r2, [r7, #15] 802e836: 7bbb ldrb r3, [r7, #14] 802e838: 493e ldr r1, [pc, #248] ; (802e934 ) 802e83a: 0092 lsls r2, r2, #2 802e83c: 440a add r2, r1 802e83e: 4413 add r3, r2 802e840: f503 730f add.w r3, r3, #572 ; 0x23c 802e844: 2211 movs r2, #17 802e846: 701a strb r2, [r3, #0] pardata.DIAGN_HP[i][j] = 2.000111f; 802e848: 7bfa ldrb r2, [r7, #15] 802e84a: 7bbb ldrb r3, [r7, #14] 802e84c: 4939 ldr r1, [pc, #228] ; (802e934 ) 802e84e: 0092 lsls r2, r2, #2 802e850: 4413 add r3, r2 802e852: 3396 adds r3, #150 ; 0x96 802e854: 009b lsls r3, r3, #2 802e856: 440b add r3, r1 802e858: 3304 adds r3, #4 802e85a: 4a37 ldr r2, [pc, #220] ; (802e938 ) 802e85c: 601a str r2, [r3, #0] pardata.DIAGN_LP[i][j] = 1000.00011f; 802e85e: 7bfa ldrb r2, [r7, #15] 802e860: 7bbb ldrb r3, [r7, #14] 802e862: 4934 ldr r1, [pc, #208] ; (802e934 ) 802e864: 0092 lsls r2, r2, #2 802e866: 4413 add r3, r2 802e868: 33b6 adds r3, #182 ; 0xb6 802e86a: 009b lsls r3, r3, #2 802e86c: 440b add r3, r1 802e86e: 3304 adds r3, #4 802e870: 4a32 ldr r2, [pc, #200] ; (802e93c ) 802e872: 601a str r2, [r3, #0] pardata.DIAGN_W[i][j] = 50.000111f; 802e874: 7bfa ldrb r2, [r7, #15] 802e876: 7bbb ldrb r3, [r7, #14] 802e878: 492e ldr r1, [pc, #184] ; (802e934 ) 802e87a: 0092 lsls r2, r2, #2 802e87c: 4413 add r3, r2 802e87e: 33d6 adds r3, #214 ; 0xd6 802e880: 009b lsls r3, r3, #2 802e882: 440b add r3, r1 802e884: 3304 adds r3, #4 802e886: 4a2e ldr r2, [pc, #184] ; (802e940 ) 802e888: 601a str r2, [r3, #0] pardata.DIAGN_A[i][j] = 100.00011f; 802e88a: 7bfa ldrb r2, [r7, #15] 802e88c: 7bbb ldrb r3, [r7, #14] 802e88e: 4929 ldr r1, [pc, #164] ; (802e934 ) 802e890: 0092 lsls r2, r2, #2 802e892: 4413 add r3, r2 802e894: 33f6 adds r3, #246 ; 0xf6 802e896: 009b lsls r3, r3, #2 802e898: 440b add r3, r1 802e89a: 3304 adds r3, #4 802e89c: 4a29 ldr r2, [pc, #164] ; (802e944 ) 802e89e: 601a str r2, [r3, #0] for(j = 0; j < 4; j++) 802e8a0: 7bbb ldrb r3, [r7, #14] 802e8a2: 3301 adds r3, #1 802e8a4: 73bb strb r3, [r7, #14] 802e8a6: 7bbb ldrb r3, [r7, #14] 802e8a8: 2b03 cmp r3, #3 802e8aa: d9b9 bls.n 802e820 for(i = 0; i < 8; i++) 802e8ac: 7bfb ldrb r3, [r7, #15] 802e8ae: 3301 adds r3, #1 802e8b0: 73fb strb r3, [r7, #15] 802e8b2: 7bfb ldrb r3, [r7, #15] 802e8b4: 2b07 cmp r3, #7 802e8b6: d98d bls.n 802e7d4 } } } hpf.fl = pardata.HP; 802e8b8: 4b1e ldr r3, [pc, #120] ; (802e934 ) 802e8ba: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 802e8be: 603b str r3, [r7, #0] if(hpf.lg == 0xffffffff) 802e8c0: 683b ldr r3, [r7, #0] 802e8c2: f1b3 3fff cmp.w r3, #4294967295 802e8c6: d106 bne.n 802e8d6 { pardata.HP = 2.0f; 802e8c8: 4b1a ldr r3, [pc, #104] ; (802e934 ) 802e8ca: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 802e8ce: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 rewrite = true; 802e8d2: 2301 movs r3, #1 802e8d4: 71fb strb r3, [r7, #7] } hpf.fl = pardata.LP; 802e8d6: 4b17 ldr r3, [pc, #92] ; (802e934 ) 802e8d8: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 802e8dc: 603b str r3, [r7, #0] if(hpf.lg == 0xffffffff) 802e8de: 683b ldr r3, [r7, #0] 802e8e0: f1b3 3fff cmp.w r3, #4294967295 802e8e4: d105 bne.n 802e8f2 { pardata.LP = 1000.0f; 802e8e6: 4b13 ldr r3, [pc, #76] ; (802e934 ) 802e8e8: 4a17 ldr r2, [pc, #92] ; (802e948 ) 802e8ea: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 rewrite = true; 802e8ee: 2301 movs r3, #1 802e8f0: 71fb strb r3, [r7, #7] if(pardata.IIN == CHARGE) pardata.IIN = ICP; #endif #ifndef USE_BLUETOOTH pardata.OPTIONS &= ~BIT6; 802e8f2: 4b10 ldr r3, [pc, #64] ; (802e934 ) 802e8f4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 802e8f8: f023 0340 bic.w r3, r3, #64 ; 0x40 802e8fc: 4a0d ldr r2, [pc, #52] ; (802e934 ) 802e8fe: f8c2 3098 str.w r3, [r2, #152] ; 0x98 #ifdef USE_D101 pardata.OPTIONS &= ~BIT7; #endif if((pardata.IIN == VOLTS) && (pardata.SYG > FFT)) { 802e902: 4b0c ldr r3, [pc, #48] ; (802e934 ) 802e904: 799b ldrb r3, [r3, #6] 802e906: b2db uxtb r3, r3 802e908: 2b02 cmp r3, #2 802e90a: d107 bne.n 802e91c 802e90c: 4b09 ldr r3, [pc, #36] ; (802e934 ) 802e90e: 781b ldrb r3, [r3, #0] 802e910: b2db uxtb r3, r3 802e912: 2b03 cmp r3, #3 802e914: d902 bls.n 802e91c pardata.SYG = VIB; 802e916: 4b07 ldr r3, [pc, #28] ; (802e934 ) 802e918: 2200 movs r2, #0 802e91a: 701a strb r2, [r3, #0] } if(rewrite) 802e91c: 79fb ldrb r3, [r7, #7] 802e91e: b2db uxtb r3, r3 802e920: 2b00 cmp r3, #0 802e922: d003 beq.n 802e92c { rewrite = false; 802e924: 2300 movs r3, #0 802e926: 71fb strb r3, [r7, #7] wrPar(); 802e928: f7ff fcae bl 802e288 } } 802e92c: bf00 nop 802e92e: 3714 adds r7, #20 802e930: 46bd mov sp, r7 802e932: bdf0 pop {r4, r5, r6, r7, pc} 802e934: 20023e60 .word 0x20023e60 802e938: 400001d2 .word 0x400001d2 802e93c: 447a0002 .word 0x447a0002 802e940: 4248001d .word 0x4248001d 802e944: 42c8000e .word 0x42c8000e 802e948: 447a0000 .word 0x447a0000 0802e94c : void CheckFilesForWrite(void) { 802e94c: b580 push {r7, lr} 802e94e: af00 add r7, sp, #0 if(CardState == MSD_READY) 802e950: 4b1c ldr r3, [pc, #112] ; (802e9c4 ) 802e952: 781b ldrb r3, [r3, #0] 802e954: b2db uxtb r3, r3 802e956: 2b03 cmp r3, #3 802e958: d11e bne.n 802e998 { if(MeasFileName[0] != 0) 802e95a: 4b1b ldr r3, [pc, #108] ; (802e9c8 ) 802e95c: 781b ldrb r3, [r3, #0] 802e95e: 2b00 cmp r3, #0 802e960: d00a beq.n 802e978 { if(CheckExistPTM(MeasFileName) == FR_NO_FILE) { // Ôàéë ñ äàííûì èìåíåì íå íàéäåí íà SD-êàðòå 802e962: 4819 ldr r0, [pc, #100] ; (802e9c8 ) 802e964: f7fc f912 bl 802ab8c 802e968: 4603 mov r3, r0 802e96a: 2b04 cmp r3, #4 802e96c: d104 bne.n 802e978 memset(MeasFileName, 0, sizeof(MeasFileName)); 802e96e: 2221 movs r2, #33 ; 0x21 802e970: 2100 movs r1, #0 802e972: 4815 ldr r0, [pc, #84] ; (802e9c8 ) 802e974: f09e fb84 bl 80cd080 } } if(DiagFileName[0] != 0) 802e978: 4b14 ldr r3, [pc, #80] ; (802e9cc ) 802e97a: 781b ldrb r3, [r3, #0] 802e97c: 2b00 cmp r3, #0 802e97e: d01f beq.n 802e9c0 { if(CheckExistDGN(DiagFileName) == FR_NO_FILE) { // Ôàéë ñ äàííûì èìåíåì íå íàéäåí íà SD-êàðòå 802e980: 4812 ldr r0, [pc, #72] ; (802e9cc ) 802e982: f7fc f953 bl 802ac2c 802e986: 4603 mov r3, r0 802e988: 2b04 cmp r3, #4 802e98a: d119 bne.n 802e9c0 memset(DiagFileName, 0, sizeof(DiagFileName)); 802e98c: 2221 movs r2, #33 ; 0x21 802e98e: 2100 movs r1, #0 802e990: 480e ldr r0, [pc, #56] ; (802e9cc ) 802e992: f09e fb75 bl 80cd080 memset(MeasFileName, 0, sizeof(MeasFileName)); memset(WavFileName, 0, sizeof(WavFileName)); memset(DiagFileName, 0, sizeof(DiagFileName)); memset(RouteFileName, 0, sizeof(RouteFileName)); } } 802e996: e013 b.n 802e9c0 memset(MeasFileName, 0, sizeof(MeasFileName)); 802e998: 2221 movs r2, #33 ; 0x21 802e99a: 2100 movs r1, #0 802e99c: 480a ldr r0, [pc, #40] ; (802e9c8 ) 802e99e: f09e fb6f bl 80cd080 memset(WavFileName, 0, sizeof(WavFileName)); 802e9a2: 2221 movs r2, #33 ; 0x21 802e9a4: 2100 movs r1, #0 802e9a6: 480a ldr r0, [pc, #40] ; (802e9d0 ) 802e9a8: f09e fb6a bl 80cd080 memset(DiagFileName, 0, sizeof(DiagFileName)); 802e9ac: 2221 movs r2, #33 ; 0x21 802e9ae: 2100 movs r1, #0 802e9b0: 4806 ldr r0, [pc, #24] ; (802e9cc ) 802e9b2: f09e fb65 bl 80cd080 memset(RouteFileName, 0, sizeof(RouteFileName)); 802e9b6: 2221 movs r2, #33 ; 0x21 802e9b8: 2100 movs r1, #0 802e9ba: 4806 ldr r0, [pc, #24] ; (802e9d4 ) 802e9bc: f09e fb60 bl 80cd080 } 802e9c0: bf00 nop 802e9c2: bd80 pop {r7, pc} 802e9c4: 2002164c .word 0x2002164c 802e9c8: 20020e58 .word 0x20020e58 802e9cc: 20020e7c .word 0x20020e7c 802e9d0: 20020e34 .word 0x20020e34 802e9d4: 20020ea0 .word 0x20020ea0 0802e9d8 : void wrCorr(void) { 802e9d8: b590 push {r4, r7, lr} 802e9da: b087 sub sp, #28 802e9dc: af00 add r7, sp, #0 volatile uint32_t i; volatile uint32_t lencorr = 0; 802e9de: 2300 movs r3, #0 802e9e0: 60fb str r3, [r7, #12] volatile uint32_t Address, *pData; uint32_t SECTORError = 0; 802e9e2: 2300 movs r3, #0 802e9e4: 607b str r3, [r7, #4] #ifndef DEBUGGING lencorr = sizeof(CorrData_TypeDef); 802e9e6: 236c movs r3, #108 ; 0x6c 802e9e8: 60fb str r3, [r7, #12] while(lencorr % 4) 802e9ea: e002 b.n 802e9f2 lencorr++; 802e9ec: 68fb ldr r3, [r7, #12] 802e9ee: 3301 adds r3, #1 802e9f0: 60fb str r3, [r7, #12] while(lencorr % 4) 802e9f2: 68fb ldr r3, [r7, #12] 802e9f4: f003 0303 and.w r3, r3, #3 802e9f8: 2b00 cmp r3, #0 802e9fa: d1f7 bne.n 802e9ec lencorr >>= 2; 802e9fc: 68fb ldr r3, [r7, #12] 802e9fe: 089b lsrs r3, r3, #2 802ea00: 60fb str r3, [r7, #12] __ASM volatile ("cpsid i" : : : "memory"); 802ea02: b672 cpsid i __disable_irq(); HAL_FLASH_Unlock(); 802ea04: f086 fbce bl 80b51a4 EraseInitStruct.TypeErase = FLASH_TYPEERASE_SECTORS; 802ea08: 4b47 ldr r3, [pc, #284] ; (802eb28 ) 802ea0a: 2200 movs r2, #0 802ea0c: 601a str r2, [r3, #0] EraseInitStruct.VoltageRange = FLASH_VOLTAGE_RANGE_3; 802ea0e: 4b46 ldr r3, [pc, #280] ; (802eb28 ) 802ea10: 2202 movs r2, #2 802ea12: 611a str r2, [r3, #16] EraseInitStruct.Sector = CORRSECTOR; //FLASH_SECTOR_10; 802ea14: 4b44 ldr r3, [pc, #272] ; (802eb28 ) 802ea16: 2202 movs r2, #2 802ea18: 609a str r2, [r3, #8] EraseInitStruct.NbSectors = 1; 802ea1a: 4b43 ldr r3, [pc, #268] ; (802eb28 ) 802ea1c: 2201 movs r2, #1 802ea1e: 60da str r2, [r3, #12] if(HAL_FLASHEx_Erase(&EraseInitStruct, &SECTORError) == HAL_OK) 802ea20: 1d3b adds r3, r7, #4 802ea22: 4619 mov r1, r3 802ea24: 4840 ldr r0, [pc, #256] ; (802eb28 ) 802ea26: f086 fd17 bl 80b5458 802ea2a: 4603 mov r3, r0 802ea2c: 2b00 cmp r3, #0 802ea2e: d174 bne.n 802eb1a { Address = CORRPAGE; 802ea30: 4b3e ldr r3, [pc, #248] ; (802eb2c ) 802ea32: 60bb str r3, [r7, #8] pData = (uint32_t *) &corrdata; 802ea34: 4b3e ldr r3, [pc, #248] ; (802eb30 ) 802ea36: 617b str r3, [r7, #20] for(i = 0; i < lencorr; i++) 802ea38: 2300 movs r3, #0 802ea3a: 613b str r3, [r7, #16] 802ea3c: e011 b.n 802ea62 { HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802ea3e: 68b9 ldr r1, [r7, #8] 802ea40: 697b ldr r3, [r7, #20] 802ea42: 1d1a adds r2, r3, #4 802ea44: 617a str r2, [r7, #20] 802ea46: 681b ldr r3, [r3, #0] 802ea48: f04f 0400 mov.w r4, #0 802ea4c: 461a mov r2, r3 802ea4e: 4623 mov r3, r4 802ea50: 2002 movs r0, #2 802ea52: f086 fb4b bl 80b50ec Address += 4; 802ea56: 68bb ldr r3, [r7, #8] 802ea58: 3304 adds r3, #4 802ea5a: 60bb str r3, [r7, #8] for(i = 0; i < lencorr; i++) 802ea5c: 693b ldr r3, [r7, #16] 802ea5e: 3301 adds r3, #1 802ea60: 613b str r3, [r7, #16] 802ea62: 693a ldr r2, [r7, #16] 802ea64: 68fb ldr r3, [r7, #12] 802ea66: 429a cmp r2, r3 802ea68: d3e9 bcc.n 802ea3e } pData = (uint32_t *) &aa1; 802ea6a: 4b32 ldr r3, [pc, #200] ; (802eb34 ) 802ea6c: 617b str r3, [r7, #20] HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802ea6e: 68b9 ldr r1, [r7, #8] 802ea70: 697b ldr r3, [r7, #20] 802ea72: 1d1a adds r2, r3, #4 802ea74: 617a str r2, [r7, #20] 802ea76: 681b ldr r3, [r3, #0] 802ea78: f04f 0400 mov.w r4, #0 802ea7c: 461a mov r2, r3 802ea7e: 4623 mov r3, r4 802ea80: 2002 movs r0, #2 802ea82: f086 fb33 bl 80b50ec Address += 4; 802ea86: 68bb ldr r3, [r7, #8] 802ea88: 3304 adds r3, #4 802ea8a: 60bb str r3, [r7, #8] pData = (uint32_t *) &aa0; 802ea8c: 4b2a ldr r3, [pc, #168] ; (802eb38 ) 802ea8e: 617b str r3, [r7, #20] HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802ea90: 68b9 ldr r1, [r7, #8] 802ea92: 697b ldr r3, [r7, #20] 802ea94: 1d1a adds r2, r3, #4 802ea96: 617a str r2, [r7, #20] 802ea98: 681b ldr r3, [r3, #0] 802ea9a: f04f 0400 mov.w r4, #0 802ea9e: 461a mov r2, r3 802eaa0: 4623 mov r3, r4 802eaa2: 2002 movs r0, #2 802eaa4: f086 fb22 bl 80b50ec Address += 4; 802eaa8: 68bb ldr r3, [r7, #8] 802eaaa: 3304 adds r3, #4 802eaac: 60bb str r3, [r7, #8] pData = (uint32_t *) _SERIAL; 802eaae: 4b23 ldr r3, [pc, #140] ; (802eb3c ) 802eab0: 617b str r3, [r7, #20] for(i = 0; i < 2; i++) 802eab2: 2300 movs r3, #0 802eab4: 613b str r3, [r7, #16] 802eab6: e011 b.n 802eadc { HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802eab8: 68b9 ldr r1, [r7, #8] 802eaba: 697b ldr r3, [r7, #20] 802eabc: 1d1a adds r2, r3, #4 802eabe: 617a str r2, [r7, #20] 802eac0: 681b ldr r3, [r3, #0] 802eac2: f04f 0400 mov.w r4, #0 802eac6: 461a mov r2, r3 802eac8: 4623 mov r3, r4 802eaca: 2002 movs r0, #2 802eacc: f086 fb0e bl 80b50ec Address += 4; 802ead0: 68bb ldr r3, [r7, #8] 802ead2: 3304 adds r3, #4 802ead4: 60bb str r3, [r7, #8] for(i = 0; i < 2; i++) 802ead6: 693b ldr r3, [r7, #16] 802ead8: 3301 adds r3, #1 802eada: 613b str r3, [r7, #16] 802eadc: 693b ldr r3, [r7, #16] 802eade: 2b01 cmp r3, #1 802eae0: d9ea bls.n 802eab8 } pData = (uint32_t *) &MEAN; 802eae2: 4b17 ldr r3, [pc, #92] ; (802eb40 ) 802eae4: 617b str r3, [r7, #20] HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, *pData++); 802eae6: 68b9 ldr r1, [r7, #8] 802eae8: 697b ldr r3, [r7, #20] 802eaea: 1d1a adds r2, r3, #4 802eaec: 617a str r2, [r7, #20] 802eaee: 681b ldr r3, [r3, #0] 802eaf0: f04f 0400 mov.w r4, #0 802eaf4: 461a mov r2, r3 802eaf6: 4623 mov r3, r4 802eaf8: 2002 movs r0, #2 802eafa: f086 faf7 bl 80b50ec Address += 4; 802eafe: 68bb ldr r3, [r7, #8] 802eb00: 3304 adds r3, #4 802eb02: 60bb str r3, [r7, #8] HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, 0x0000D141); 802eb04: 68b9 ldr r1, [r7, #8] 802eb06: f24d 1241 movw r2, #53569 ; 0xd141 802eb0a: f04f 0300 mov.w r3, #0 802eb0e: 2002 movs r0, #2 802eb10: f086 faec bl 80b50ec HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, 0x0000D141); #endif #ifdef USE_D142 HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, Address, 0x0000D142); #endif*/ Address += 4; 802eb14: 68bb ldr r3, [r7, #8] 802eb16: 3304 adds r3, #4 802eb18: 60bb str r3, [r7, #8] } HAL_FLASH_Lock(); 802eb1a: f086 fb65 bl 80b51e8 __ASM volatile ("cpsie i" : : : "memory"); 802eb1e: b662 cpsie i __enable_irq(); #endif } 802eb20: bf00 nop 802eb22: 371c adds r7, #28 802eb24: 46bd mov sp, r7 802eb26: bd90 pop {r4, r7, pc} 802eb28: 20020efc .word 0x20020efc 802eb2c: 08010000 .word 0x08010000 802eb30: 20024310 .word 0x20024310 802eb34: 20020024 .word 0x20020024 802eb38: 20020d4c .word 0x20020d4c 802eb3c: 20020f14 .word 0x20020f14 802eb40: 200209cc .word 0x200209cc 0802eb44 : void rdCorr(void) { 802eb44: b5b0 push {r4, r5, r7, lr} 802eb46: b090 sub sp, #64 ; 0x40 802eb48: af00 add r7, sp, #0 CORRECTION = false; #else NeedFlash = false; 802eb4a: 2300 movs r3, #0 802eb4c: f887 303b strb.w r3, [r7, #59] ; 0x3b lencorr = sizeof(CorrData_TypeDef); 802eb50: 236c movs r3, #108 ; 0x6c 802eb52: 637b str r3, [r7, #52] ; 0x34 memcpy((void *) &corrdata, (void *) CORRPAGE, lencorr); 802eb54: 6b7a ldr r2, [r7, #52] ; 0x34 802eb56: 49af ldr r1, [pc, #700] ; (802ee14 ) 802eb58: 48af ldr r0, [pc, #700] ; (802ee18 ) 802eb5a: f09e fa86 bl 80cd06a memcpy((void *) &af, (void *) ADCPAGE, 8); 802eb5e: 4aaf ldr r2, [pc, #700] ; (802ee1c ) 802eb60: f107 0308 add.w r3, r7, #8 802eb64: e892 0003 ldmia.w r2, {r0, r1} 802eb68: e883 0003 stmia.w r3, {r0, r1} if((af[0].lg == 0xffffffff) || (af[1].lg == 0xffffffff)) 802eb6c: 68bb ldr r3, [r7, #8] 802eb6e: f1b3 3fff cmp.w r3, #4294967295 802eb72: d003 beq.n 802eb7c 802eb74: 68fb ldr r3, [r7, #12] 802eb76: f1b3 3fff cmp.w r3, #4294967295 802eb7a: d108 bne.n 802eb8e { af[0].fl = 1.0f; 802eb7c: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 802eb80: 60bb str r3, [r7, #8] af[1].fl = 0.0f; 802eb82: f04f 0300 mov.w r3, #0 802eb86: 60fb str r3, [r7, #12] NeedFlash = true; 802eb88: 2301 movs r3, #1 802eb8a: f887 303b strb.w r3, [r7, #59] ; 0x3b } aa1 = af[0].fl; 802eb8e: 68bb ldr r3, [r7, #8] 802eb90: 4aa3 ldr r2, [pc, #652] ; (802ee20 ) 802eb92: 6013 str r3, [r2, #0] aa0 = af[1].fl; 802eb94: 68fb ldr r3, [r7, #12] 802eb96: 4aa3 ldr r2, [pc, #652] ; (802ee24 ) 802eb98: 6013 str r3, [r2, #0] memcpy((void *) _SERIAL, (void *) SERIALPAGE, 8); 802eb9a: 4ba3 ldr r3, [pc, #652] ; (802ee28 ) 802eb9c: 4aa3 ldr r2, [pc, #652] ; (802ee2c ) 802eb9e: e892 0003 ldmia.w r2, {r0, r1} 802eba2: e883 0003 stmia.w r3, {r0, r1} if((_SERIAL[0] == 0xff) && (_SERIAL[1] == 0xff) && (_SERIAL[2] == 0xff) && (_SERIAL[3] == 0xff) && (_SERIAL[4] == 0xff) && (_SERIAL[5] == 0xff) && (_SERIAL[6] == 0xff) && (_SERIAL[7] == 0xff)) 802eba6: 4ba0 ldr r3, [pc, #640] ; (802ee28 ) 802eba8: 781b ldrb r3, [r3, #0] 802ebaa: b2db uxtb r3, r3 802ebac: 2bff cmp r3, #255 ; 0xff 802ebae: d12a bne.n 802ec06 802ebb0: 4b9d ldr r3, [pc, #628] ; (802ee28 ) 802ebb2: 785b ldrb r3, [r3, #1] 802ebb4: b2db uxtb r3, r3 802ebb6: 2bff cmp r3, #255 ; 0xff 802ebb8: d125 bne.n 802ec06 802ebba: 4b9b ldr r3, [pc, #620] ; (802ee28 ) 802ebbc: 789b ldrb r3, [r3, #2] 802ebbe: b2db uxtb r3, r3 802ebc0: 2bff cmp r3, #255 ; 0xff 802ebc2: d120 bne.n 802ec06 802ebc4: 4b98 ldr r3, [pc, #608] ; (802ee28 ) 802ebc6: 78db ldrb r3, [r3, #3] 802ebc8: b2db uxtb r3, r3 802ebca: 2bff cmp r3, #255 ; 0xff 802ebcc: d11b bne.n 802ec06 802ebce: 4b96 ldr r3, [pc, #600] ; (802ee28 ) 802ebd0: 791b ldrb r3, [r3, #4] 802ebd2: b2db uxtb r3, r3 802ebd4: 2bff cmp r3, #255 ; 0xff 802ebd6: d116 bne.n 802ec06 802ebd8: 4b93 ldr r3, [pc, #588] ; (802ee28 ) 802ebda: 795b ldrb r3, [r3, #5] 802ebdc: b2db uxtb r3, r3 802ebde: 2bff cmp r3, #255 ; 0xff 802ebe0: d111 bne.n 802ec06 802ebe2: 4b91 ldr r3, [pc, #580] ; (802ee28 ) 802ebe4: 799b ldrb r3, [r3, #6] 802ebe6: b2db uxtb r3, r3 802ebe8: 2bff cmp r3, #255 ; 0xff 802ebea: d10c bne.n 802ec06 802ebec: 4b8e ldr r3, [pc, #568] ; (802ee28 ) 802ebee: 79db ldrb r3, [r3, #7] 802ebf0: b2db uxtb r3, r3 802ebf2: 2bff cmp r3, #255 ; 0xff 802ebf4: d107 bne.n 802ec06 { memset((void *) _SERIAL, 0, sizeof(_SERIAL)); 802ebf6: 2208 movs r2, #8 802ebf8: 2100 movs r1, #0 802ebfa: 488b ldr r0, [pc, #556] ; (802ee28 ) 802ebfc: f09e fa40 bl 80cd080 NeedFlash = true; 802ec00: 2301 movs r3, #1 802ec02: f887 303b strb.w r3, [r7, #59] ; 0x3b } //*************************************************************** if((_SERIAL[0] == 'S') && (_SERIAL[1] == 'N') && (_SERIAL[2] == ' ')) 802ec06: 4b88 ldr r3, [pc, #544] ; (802ee28 ) 802ec08: 781b ldrb r3, [r3, #0] 802ec0a: b2db uxtb r3, r3 802ec0c: 2b53 cmp r3, #83 ; 0x53 802ec0e: d110 bne.n 802ec32 802ec10: 4b85 ldr r3, [pc, #532] ; (802ee28 ) 802ec12: 785b ldrb r3, [r3, #1] 802ec14: b2db uxtb r3, r3 802ec16: 2b4e cmp r3, #78 ; 0x4e 802ec18: d10b bne.n 802ec32 802ec1a: 4b83 ldr r3, [pc, #524] ; (802ee28 ) 802ec1c: 789b ldrb r3, [r3, #2] 802ec1e: b2db uxtb r3, r3 802ec20: 2b20 cmp r3, #32 802ec22: d106 bne.n 802ec32 { memcpy((void *) _SERIAL_DRAW, (void *) _SERIAL, 8); 802ec24: 4b82 ldr r3, [pc, #520] ; (802ee30 ) 802ec26: 4a80 ldr r2, [pc, #512] ; (802ee28 ) 802ec28: e892 0003 ldmia.w r2, {r0, r1} 802ec2c: e883 0003 stmia.w r3, {r0, r1} 802ec30: e02b b.n 802ec8a } else { if((_SERIAL[0] >= '0') && (_SERIAL[0] <= '9')) 802ec32: 4b7d ldr r3, [pc, #500] ; (802ee28 ) 802ec34: 781b ldrb r3, [r3, #0] 802ec36: b2db uxtb r3, r3 802ec38: 2b2f cmp r3, #47 ; 0x2f 802ec3a: d926 bls.n 802ec8a 802ec3c: 4b7a ldr r3, [pc, #488] ; (802ee28 ) 802ec3e: 781b ldrb r3, [r3, #0] 802ec40: b2db uxtb r3, r3 802ec42: 2b39 cmp r3, #57 ; 0x39 802ec44: d821 bhi.n 802ec8a { _SERIAL_DRAW[0] = 'S'; 802ec46: 4b7a ldr r3, [pc, #488] ; (802ee30 ) 802ec48: 2253 movs r2, #83 ; 0x53 802ec4a: 701a strb r2, [r3, #0] _SERIAL_DRAW[1] = 'N'; 802ec4c: 4b78 ldr r3, [pc, #480] ; (802ee30 ) 802ec4e: 224e movs r2, #78 ; 0x4e 802ec50: 705a strb r2, [r3, #1] _SERIAL_DRAW[2] = ' '; 802ec52: 4b77 ldr r3, [pc, #476] ; (802ee30 ) 802ec54: 2220 movs r2, #32 802ec56: 709a strb r2, [r3, #2] _SERIAL_DRAW[3] = _SERIAL[0]; 802ec58: 4b73 ldr r3, [pc, #460] ; (802ee28 ) 802ec5a: 781b ldrb r3, [r3, #0] 802ec5c: b2da uxtb r2, r3 802ec5e: 4b74 ldr r3, [pc, #464] ; (802ee30 ) 802ec60: 70da strb r2, [r3, #3] _SERIAL_DRAW[4] = _SERIAL[1]; 802ec62: 4b71 ldr r3, [pc, #452] ; (802ee28 ) 802ec64: 785b ldrb r3, [r3, #1] 802ec66: b2da uxtb r2, r3 802ec68: 4b71 ldr r3, [pc, #452] ; (802ee30 ) 802ec6a: 711a strb r2, [r3, #4] _SERIAL_DRAW[5] = _SERIAL[2]; 802ec6c: 4b6e ldr r3, [pc, #440] ; (802ee28 ) 802ec6e: 789b ldrb r3, [r3, #2] 802ec70: b2da uxtb r2, r3 802ec72: 4b6f ldr r3, [pc, #444] ; (802ee30 ) 802ec74: 715a strb r2, [r3, #5] _SERIAL_DRAW[6] = _SERIAL[3]; 802ec76: 4b6c ldr r3, [pc, #432] ; (802ee28 ) 802ec78: 78db ldrb r3, [r3, #3] 802ec7a: b2da uxtb r2, r3 802ec7c: 4b6c ldr r3, [pc, #432] ; (802ee30 ) 802ec7e: 719a strb r2, [r3, #6] _SERIAL_DRAW[7] = _SERIAL[4]; 802ec80: 4b69 ldr r3, [pc, #420] ; (802ee28 ) 802ec82: 791b ldrb r3, [r3, #4] 802ec84: b2da uxtb r2, r3 802ec86: 4b6a ldr r3, [pc, #424] ; (802ee30 ) 802ec88: 71da strb r2, [r3, #7] } } //*************************************************************** memcpy((void *) &ofs, (void *) OFFSETPAGE, 4); 802ec8a: 4b6a ldr r3, [pc, #424] ; (802ee34 ) 802ec8c: 681b ldr r3, [r3, #0] 802ec8e: 607b str r3, [r7, #4] if(ofs.lg == 0xffffffff) 802ec90: 687b ldr r3, [r7, #4] 802ec92: f1b3 3fff cmp.w r3, #4294967295 802ec96: d105 bne.n 802eca4 { ofs.fl = 32768.0f; 802ec98: f04f 438e mov.w r3, #1191182336 ; 0x47000000 802ec9c: 607b str r3, [r7, #4] NeedFlash = true; 802ec9e: 2301 movs r3, #1 802eca0: f887 303b strb.w r3, [r7, #59] ; 0x3b } MEAN = ofs.fl; 802eca4: 687b ldr r3, [r7, #4] 802eca6: 4a64 ldr r2, [pc, #400] ; (802ee38 ) 802eca8: 6013 str r3, [r2, #0] //*************************************************************** memcpy((void *) &sf, (void *) &corrdata, 36); 802ecaa: 4b5b ldr r3, [pc, #364] ; (802ee18 ) 802ecac: f107 0410 add.w r4, r7, #16 802ecb0: 461d mov r5, r3 802ecb2: cd0f ldmia r5!, {r0, r1, r2, r3} 802ecb4: c40f stmia r4!, {r0, r1, r2, r3} 802ecb6: cd0f ldmia r5!, {r0, r1, r2, r3} 802ecb8: c40f stmia r4!, {r0, r1, r2, r3} 802ecba: 682b ldr r3, [r5, #0] 802ecbc: 6023 str r3, [r4, #0] if( (sf[0].lg == 0xffffffff) && (sf[1].lg == 0xffffffff) && (sf[2].lg == 0xffffffff) && (sf[8].lg == 0xffffffff) ) 802ecbe: 693b ldr r3, [r7, #16] 802ecc0: f1b3 3fff cmp.w r3, #4294967295 802ecc4: d130 bne.n 802ed28 802ecc6: 697b ldr r3, [r7, #20] 802ecc8: f1b3 3fff cmp.w r3, #4294967295 802eccc: d12c bne.n 802ed28 802ecce: 69bb ldr r3, [r7, #24] 802ecd0: f1b3 3fff cmp.w r3, #4294967295 802ecd4: d128 bne.n 802ed28 802ecd6: 6b3b ldr r3, [r7, #48] ; 0x30 802ecd8: f1b3 3fff cmp.w r3, #4294967295 802ecdc: d124 bne.n 802ed28 { for(i = 0; i < 9; i++) 802ecde: 2300 movs r3, #0 802ece0: 63fb str r3, [r7, #60] ; 0x3c 802ece2: e01a b.n 802ed1a { corrdata.CORR_ACC[i] = 1.0f;//TEMP_CORR_KU[i]; 802ece4: 4a4c ldr r2, [pc, #304] ; (802ee18 ) 802ece6: 6bfb ldr r3, [r7, #60] ; 0x3c 802ece8: 009b lsls r3, r3, #2 802ecea: 4413 add r3, r2 802ecec: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802ecf0: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = 1.0f;//TEMP_CORR_KU[i]; 802ecf2: 4a49 ldr r2, [pc, #292] ; (802ee18 ) 802ecf4: 6bfb ldr r3, [r7, #60] ; 0x3c 802ecf6: 3308 adds r3, #8 802ecf8: 009b lsls r3, r3, #2 802ecfa: 4413 add r3, r2 802ecfc: 3304 adds r3, #4 802ecfe: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802ed02: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = 1.0f;//TEMP_CORR_KU[i]; 802ed04: 4a44 ldr r2, [pc, #272] ; (802ee18 ) 802ed06: 6bfb ldr r3, [r7, #60] ; 0x3c 802ed08: 3312 adds r3, #18 802ed0a: 009b lsls r3, r3, #2 802ed0c: 4413 add r3, r2 802ed0e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802ed12: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 802ed14: 6bfb ldr r3, [r7, #60] ; 0x3c 802ed16: 3301 adds r3, #1 802ed18: 63fb str r3, [r7, #60] ; 0x3c 802ed1a: 6bfb ldr r3, [r7, #60] ; 0x3c 802ed1c: 2b08 cmp r3, #8 802ed1e: d9e1 bls.n 802ece4 } NeedFlash = true; 802ed20: 2301 movs r3, #1 802ed22: f887 303b strb.w r3, [r7, #59] ; 0x3b 802ed26: e0fe b.n 802ef26 //wrCorr(); } else if((sf[0].fl <= 0.5f) || (sf[1].fl <= 0.5f) || (sf[2].fl <= 0.5f) || (sf[3].fl <= 0.5f) || (sf[4].fl <= 0.5f) || (sf[5].fl <= 0.5f) || (sf[6].fl <= 0.5f) || (sf[7].fl <= 0.5f) || (sf[8].fl <= 0.5f)) 802ed28: edd7 7a04 vldr s15, [r7, #16] 802ed2c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed30: eef4 7ac7 vcmpe.f32 s15, s14 802ed34: eef1 fa10 vmrs APSR_nzcv, fpscr 802ed38: d947 bls.n 802edca 802ed3a: edd7 7a05 vldr s15, [r7, #20] 802ed3e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed42: eef4 7ac7 vcmpe.f32 s15, s14 802ed46: eef1 fa10 vmrs APSR_nzcv, fpscr 802ed4a: d93e bls.n 802edca 802ed4c: edd7 7a06 vldr s15, [r7, #24] 802ed50: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed54: eef4 7ac7 vcmpe.f32 s15, s14 802ed58: eef1 fa10 vmrs APSR_nzcv, fpscr 802ed5c: d935 bls.n 802edca 802ed5e: edd7 7a07 vldr s15, [r7, #28] 802ed62: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed66: eef4 7ac7 vcmpe.f32 s15, s14 802ed6a: eef1 fa10 vmrs APSR_nzcv, fpscr 802ed6e: d92c bls.n 802edca 802ed70: edd7 7a08 vldr s15, [r7, #32] 802ed74: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed78: eef4 7ac7 vcmpe.f32 s15, s14 802ed7c: eef1 fa10 vmrs APSR_nzcv, fpscr 802ed80: d923 bls.n 802edca 802ed82: edd7 7a09 vldr s15, [r7, #36] ; 0x24 802ed86: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed8a: eef4 7ac7 vcmpe.f32 s15, s14 802ed8e: eef1 fa10 vmrs APSR_nzcv, fpscr 802ed92: d91a bls.n 802edca 802ed94: edd7 7a0a vldr s15, [r7, #40] ; 0x28 802ed98: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802ed9c: eef4 7ac7 vcmpe.f32 s15, s14 802eda0: eef1 fa10 vmrs APSR_nzcv, fpscr 802eda4: d911 bls.n 802edca 802eda6: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 802edaa: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802edae: eef4 7ac7 vcmpe.f32 s15, s14 802edb2: eef1 fa10 vmrs APSR_nzcv, fpscr 802edb6: d908 bls.n 802edca 802edb8: edd7 7a0c vldr s15, [r7, #48] ; 0x30 802edbc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 802edc0: eef4 7ac7 vcmpe.f32 s15, s14 802edc4: eef1 fa10 vmrs APSR_nzcv, fpscr 802edc8: d838 bhi.n 802ee3c { for(i = 0; i < 9; i++) 802edca: 2300 movs r3, #0 802edcc: 63fb str r3, [r7, #60] ; 0x3c 802edce: e01a b.n 802ee06 { corrdata.CORR_ACC[i] = 1.0f;//TEMP_CORR_KU[i]; 802edd0: 4a11 ldr r2, [pc, #68] ; (802ee18 ) 802edd2: 6bfb ldr r3, [r7, #60] ; 0x3c 802edd4: 009b lsls r3, r3, #2 802edd6: 4413 add r3, r2 802edd8: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802eddc: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = 1.0f;//TEMP_CORR_KU[i]; 802edde: 4a0e ldr r2, [pc, #56] ; (802ee18 ) 802ede0: 6bfb ldr r3, [r7, #60] ; 0x3c 802ede2: 3308 adds r3, #8 802ede4: 009b lsls r3, r3, #2 802ede6: 4413 add r3, r2 802ede8: 3304 adds r3, #4 802edea: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802edee: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = 1.0f;//TEMP_CORR_KU[i]; 802edf0: 4a09 ldr r2, [pc, #36] ; (802ee18 ) 802edf2: 6bfb ldr r3, [r7, #60] ; 0x3c 802edf4: 3312 adds r3, #18 802edf6: 009b lsls r3, r3, #2 802edf8: 4413 add r3, r2 802edfa: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802edfe: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 802ee00: 6bfb ldr r3, [r7, #60] ; 0x3c 802ee02: 3301 adds r3, #1 802ee04: 63fb str r3, [r7, #60] ; 0x3c 802ee06: 6bfb ldr r3, [r7, #60] ; 0x3c 802ee08: 2b08 cmp r3, #8 802ee0a: d9e1 bls.n 802edd0 } NeedFlash = true; 802ee0c: 2301 movs r3, #1 802ee0e: f887 303b strb.w r3, [r7, #59] ; 0x3b 802ee12: e088 b.n 802ef26 802ee14: 08010000 .word 0x08010000 802ee18: 20024310 .word 0x20024310 802ee1c: 0801006c .word 0x0801006c 802ee20: 20020024 .word 0x20020024 802ee24: 20020d4c .word 0x20020d4c 802ee28: 20020f14 .word 0x20020f14 802ee2c: 08010074 .word 0x08010074 802ee30: 20020f1c .word 0x20020f1c 802ee34: 0801007c .word 0x0801007c 802ee38: 200209cc .word 0x200209cc //wrCorr(); } else if((sf[0].fl >= 2.0f) || (sf[1].fl >= 2.0f) || (sf[2].fl >= 2.0f) || (sf[3].fl >= 2.0f) || (sf[4].fl >= 2.0f) || (sf[5].fl >= 2.0f) || (sf[6].fl >= 2.0f) || (sf[7].fl >= 2.0f) || (sf[8].fl >= 2.0f)) 802ee3c: edd7 7a04 vldr s15, [r7, #16] 802ee40: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802ee44: eef4 7ac7 vcmpe.f32 s15, s14 802ee48: eef1 fa10 vmrs APSR_nzcv, fpscr 802ee4c: da47 bge.n 802eede 802ee4e: edd7 7a05 vldr s15, [r7, #20] 802ee52: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802ee56: eef4 7ac7 vcmpe.f32 s15, s14 802ee5a: eef1 fa10 vmrs APSR_nzcv, fpscr 802ee5e: da3e bge.n 802eede 802ee60: edd7 7a06 vldr s15, [r7, #24] 802ee64: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802ee68: eef4 7ac7 vcmpe.f32 s15, s14 802ee6c: eef1 fa10 vmrs APSR_nzcv, fpscr 802ee70: da35 bge.n 802eede 802ee72: edd7 7a07 vldr s15, [r7, #28] 802ee76: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802ee7a: eef4 7ac7 vcmpe.f32 s15, s14 802ee7e: eef1 fa10 vmrs APSR_nzcv, fpscr 802ee82: da2c bge.n 802eede 802ee84: edd7 7a08 vldr s15, [r7, #32] 802ee88: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802ee8c: eef4 7ac7 vcmpe.f32 s15, s14 802ee90: eef1 fa10 vmrs APSR_nzcv, fpscr 802ee94: da23 bge.n 802eede 802ee96: edd7 7a09 vldr s15, [r7, #36] ; 0x24 802ee9a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802ee9e: eef4 7ac7 vcmpe.f32 s15, s14 802eea2: eef1 fa10 vmrs APSR_nzcv, fpscr 802eea6: da1a bge.n 802eede 802eea8: edd7 7a0a vldr s15, [r7, #40] ; 0x28 802eeac: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802eeb0: eef4 7ac7 vcmpe.f32 s15, s14 802eeb4: eef1 fa10 vmrs APSR_nzcv, fpscr 802eeb8: da11 bge.n 802eede 802eeba: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 802eebe: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802eec2: eef4 7ac7 vcmpe.f32 s15, s14 802eec6: eef1 fa10 vmrs APSR_nzcv, fpscr 802eeca: da08 bge.n 802eede 802eecc: edd7 7a0c vldr s15, [r7, #48] ; 0x30 802eed0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 802eed4: eef4 7ac7 vcmpe.f32 s15, s14 802eed8: eef1 fa10 vmrs APSR_nzcv, fpscr 802eedc: db23 blt.n 802ef26 { for(i = 0; i < 9; i++) 802eede: 2300 movs r3, #0 802eee0: 63fb str r3, [r7, #60] ; 0x3c 802eee2: e01a b.n 802ef1a { corrdata.CORR_ACC[i] = 1.0f;//TEMP_CORR_KU[i]; 802eee4: 4a71 ldr r2, [pc, #452] ; (802f0ac ) 802eee6: 6bfb ldr r3, [r7, #60] ; 0x3c 802eee8: 009b lsls r3, r3, #2 802eeea: 4413 add r3, r2 802eeec: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802eef0: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = 1.0f;//TEMP_CORR_KU[i]; 802eef2: 4a6e ldr r2, [pc, #440] ; (802f0ac ) 802eef4: 6bfb ldr r3, [r7, #60] ; 0x3c 802eef6: 3308 adds r3, #8 802eef8: 009b lsls r3, r3, #2 802eefa: 4413 add r3, r2 802eefc: 3304 adds r3, #4 802eefe: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802ef02: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = 1.0f;//TEMP_CORR_KU[i]; 802ef04: 4a69 ldr r2, [pc, #420] ; (802f0ac ) 802ef06: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef08: 3312 adds r3, #18 802ef0a: 009b lsls r3, r3, #2 802ef0c: 4413 add r3, r2 802ef0e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802ef12: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 802ef14: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef16: 3301 adds r3, #1 802ef18: 63fb str r3, [r7, #60] ; 0x3c 802ef1a: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef1c: 2b08 cmp r3, #8 802ef1e: d9e1 bls.n 802eee4 } NeedFlash = true; 802ef20: 2301 movs r3, #1 802ef22: f887 303b strb.w r3, [r7, #59] ; 0x3b //wrCorr(); } for(i = 0; i < 9; i++) { 802ef26: 2300 movs r3, #0 802ef28: 63fb str r3, [r7, #60] ; 0x3c 802ef2a: e00e b.n 802ef4a pardata.CORR_KU[i] = corrdata.CORR_ACC[i]; 802ef2c: 4a5f ldr r2, [pc, #380] ; (802f0ac ) 802ef2e: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef30: 009b lsls r3, r3, #2 802ef32: 4413 add r3, r2 802ef34: 681a ldr r2, [r3, #0] 802ef36: 495e ldr r1, [pc, #376] ; (802f0b0 ) 802ef38: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef3a: 3306 adds r3, #6 802ef3c: 009b lsls r3, r3, #2 802ef3e: 440b add r3, r1 802ef40: 3304 adds r3, #4 802ef42: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802ef44: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef46: 3301 adds r3, #1 802ef48: 63fb str r3, [r7, #60] ; 0x3c 802ef4a: 6bfb ldr r3, [r7, #60] ; 0x3c 802ef4c: 2b08 cmp r3, #8 802ef4e: d9ed bls.n 802ef2c } if((pardata.CORR_KU[0] == 1.0f) && (pardata.CORR_KU[1] == 1.0f) && (pardata.CORR_KU[2] == 1.0f) && (pardata.CORR_KU[3] == 1.0f) && (pardata.CORR_KU[4] == 1.0f) && (pardata.CORR_KU[5] == 1.0f) && (pardata.CORR_KU[6] == 1.0f)) 802ef50: 4b57 ldr r3, [pc, #348] ; (802f0b0 ) 802ef52: edd3 7a07 vldr s15, [r3, #28] 802ef56: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802ef5a: eef4 7a47 vcmp.f32 s15, s14 802ef5e: eef1 fa10 vmrs APSR_nzcv, fpscr 802ef62: d13f bne.n 802efe4 802ef64: 4b52 ldr r3, [pc, #328] ; (802f0b0 ) 802ef66: edd3 7a08 vldr s15, [r3, #32] 802ef6a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802ef6e: eef4 7a47 vcmp.f32 s15, s14 802ef72: eef1 fa10 vmrs APSR_nzcv, fpscr 802ef76: d135 bne.n 802efe4 802ef78: 4b4d ldr r3, [pc, #308] ; (802f0b0 ) 802ef7a: edd3 7a09 vldr s15, [r3, #36] ; 0x24 802ef7e: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802ef82: eef4 7a47 vcmp.f32 s15, s14 802ef86: eef1 fa10 vmrs APSR_nzcv, fpscr 802ef8a: d12b bne.n 802efe4 802ef8c: 4b48 ldr r3, [pc, #288] ; (802f0b0 ) 802ef8e: edd3 7a0a vldr s15, [r3, #40] ; 0x28 802ef92: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802ef96: eef4 7a47 vcmp.f32 s15, s14 802ef9a: eef1 fa10 vmrs APSR_nzcv, fpscr 802ef9e: d121 bne.n 802efe4 802efa0: 4b43 ldr r3, [pc, #268] ; (802f0b0 ) 802efa2: edd3 7a0b vldr s15, [r3, #44] ; 0x2c 802efa6: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802efaa: eef4 7a47 vcmp.f32 s15, s14 802efae: eef1 fa10 vmrs APSR_nzcv, fpscr 802efb2: d117 bne.n 802efe4 802efb4: 4b3e ldr r3, [pc, #248] ; (802f0b0 ) 802efb6: edd3 7a0c vldr s15, [r3, #48] ; 0x30 802efba: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802efbe: eef4 7a47 vcmp.f32 s15, s14 802efc2: eef1 fa10 vmrs APSR_nzcv, fpscr 802efc6: d10d bne.n 802efe4 802efc8: 4b39 ldr r3, [pc, #228] ; (802f0b0 ) 802efca: edd3 7a0d vldr s15, [r3, #52] ; 0x34 802efce: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 802efd2: eef4 7a47 vcmp.f32 s15, s14 802efd6: eef1 fa10 vmrs APSR_nzcv, fpscr 802efda: d103 bne.n 802efe4 { CORRECTION = false; 802efdc: 4b35 ldr r3, [pc, #212] ; (802f0b4 ) 802efde: 2200 movs r2, #0 802efe0: 701a strb r2, [r3, #0] 802efe2: e002 b.n 802efea } else { CORRECTION = true; 802efe4: 4b33 ldr r3, [pc, #204] ; (802f0b4 ) 802efe6: 2201 movs r2, #1 802efe8: 701a strb r2, [r3, #0] } //*************************************************************** memcpy((void *) &id, (void *) IDPAGE, 4); 802efea: 4b33 ldr r3, [pc, #204] ; (802f0b8 ) 802efec: 681b ldr r3, [r3, #0] 802efee: 4a33 ldr r2, [pc, #204] ; (802f0bc ) 802eff0: 6013 str r3, [r2, #0] NeedFlash = true; } #endif #ifdef USE_D141*/ if(id != 0x0000D141) 802eff2: 4b32 ldr r3, [pc, #200] ; (802f0bc ) 802eff4: 681b ldr r3, [r3, #0] 802eff6: f24d 1241 movw r2, #53569 ; 0xd141 802effa: 4293 cmp r3, r2 802effc: d04c beq.n 802f098 { memset((void *) _SERIAL, 0, sizeof(_SERIAL)); 802effe: 2208 movs r2, #8 802f000: 2100 movs r1, #0 802f002: 482f ldr r0, [pc, #188] ; (802f0c0 ) 802f004: f09e f83c bl 80cd080 for(i = 0; i < 9; i++) 802f008: 2300 movs r3, #0 802f00a: 63fb str r3, [r7, #60] ; 0x3c 802f00c: e01a b.n 802f044 { corrdata.CORR_ACC[i] = 1.0f; 802f00e: 4a27 ldr r2, [pc, #156] ; (802f0ac ) 802f010: 6bfb ldr r3, [r7, #60] ; 0x3c 802f012: 009b lsls r3, r3, #2 802f014: 4413 add r3, r2 802f016: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f01a: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = 1.0f; 802f01c: 4a23 ldr r2, [pc, #140] ; (802f0ac ) 802f01e: 6bfb ldr r3, [r7, #60] ; 0x3c 802f020: 3308 adds r3, #8 802f022: 009b lsls r3, r3, #2 802f024: 4413 add r3, r2 802f026: 3304 adds r3, #4 802f028: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f02c: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = 1.0f; 802f02e: 4a1f ldr r2, [pc, #124] ; (802f0ac ) 802f030: 6bfb ldr r3, [r7, #60] ; 0x3c 802f032: 3312 adds r3, #18 802f034: 009b lsls r3, r3, #2 802f036: 4413 add r3, r2 802f038: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f03c: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 802f03e: 6bfb ldr r3, [r7, #60] ; 0x3c 802f040: 3301 adds r3, #1 802f042: 63fb str r3, [r7, #60] ; 0x3c 802f044: 6bfb ldr r3, [r7, #60] ; 0x3c 802f046: 2b08 cmp r3, #8 802f048: d9e1 bls.n 802f00e } aa1 = 1.0f; 802f04a: 4b1e ldr r3, [pc, #120] ; (802f0c4 ) 802f04c: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 802f050: 601a str r2, [r3, #0] aa0 = 0.0f; 802f052: 4b1d ldr r3, [pc, #116] ; (802f0c8 ) 802f054: f04f 0200 mov.w r2, #0 802f058: 601a str r2, [r3, #0] MEAN = 8388608.0f; 802f05a: 4b1c ldr r3, [pc, #112] ; (802f0cc ) 802f05c: f04f 4296 mov.w r2, #1258291200 ; 0x4b000000 802f060: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802f062: 2300 movs r3, #0 802f064: 63fb str r3, [r7, #60] ; 0x3c 802f066: e00e b.n 802f086 pardata.CORR_KU[i] = corrdata.CORR_ACC[i]; 802f068: 4a10 ldr r2, [pc, #64] ; (802f0ac ) 802f06a: 6bfb ldr r3, [r7, #60] ; 0x3c 802f06c: 009b lsls r3, r3, #2 802f06e: 4413 add r3, r2 802f070: 681a ldr r2, [r3, #0] 802f072: 490f ldr r1, [pc, #60] ; (802f0b0 ) 802f074: 6bfb ldr r3, [r7, #60] ; 0x3c 802f076: 3306 adds r3, #6 802f078: 009b lsls r3, r3, #2 802f07a: 440b add r3, r1 802f07c: 3304 adds r3, #4 802f07e: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 802f080: 6bfb ldr r3, [r7, #60] ; 0x3c 802f082: 3301 adds r3, #1 802f084: 63fb str r3, [r7, #60] ; 0x3c 802f086: 6bfb ldr r3, [r7, #60] ; 0x3c 802f088: 2b08 cmp r3, #8 802f08a: d9ed bls.n 802f068 } CORRECTION = false; 802f08c: 4b09 ldr r3, [pc, #36] ; (802f0b4 ) 802f08e: 2200 movs r2, #0 802f090: 701a strb r2, [r3, #0] NeedFlash = true; 802f092: 2301 movs r3, #1 802f094: f887 303b strb.w r3, [r7, #59] ; 0x3b #endif*/ //*************************************************************** if(NeedFlash == true) { 802f098: f897 303b ldrb.w r3, [r7, #59] ; 0x3b 802f09c: 2b00 cmp r3, #0 802f09e: d001 beq.n 802f0a4 wrCorr(); 802f0a0: f7ff fc9a bl 802e9d8 } #endif } 802f0a4: bf00 nop 802f0a6: 3740 adds r7, #64 ; 0x40 802f0a8: 46bd mov sp, r7 802f0aa: bdb0 pop {r4, r5, r7, pc} 802f0ac: 20024310 .word 0x20024310 802f0b0: 20023e60 .word 0x20023e60 802f0b4: 20020f10 .word 0x20020f10 802f0b8: 08010080 .word 0x08010080 802f0bc: 20020f28 .word 0x20020f28 802f0c0: 20020f14 .word 0x20020f14 802f0c4: 20020024 .word 0x20020024 802f0c8: 20020d4c .word 0x20020d4c 802f0cc: 200209cc .word 0x200209cc 0802f0d0 : void rdFlash(void) { 802f0d0: b580 push {r7, lr} 802f0d2: af00 add r7, sp, #0 rdCorr(); 802f0d4: f7ff fd36 bl 802eb44 rdPar(); 802f0d8: f7ff f962 bl 802e3a0 } 802f0dc: bf00 nop 802f0de: bd80 pop {r7, pc} 0802f0e0 : SRAM_HandleTypeDef hsram2; /* FMC initialization function */ void MX_FMC_Init(void) { 802f0e0: b580 push {r7, lr} 802f0e2: b088 sub sp, #32 802f0e4: af00 add r7, sp, #0 /* USER CODE BEGIN FMC_Init 0 */ /* USER CODE END FMC_Init 0 */ FMC_NORSRAM_TimingTypeDef Timing = {0}; 802f0e6: 1d3b adds r3, r7, #4 802f0e8: 2200 movs r2, #0 802f0ea: 601a str r2, [r3, #0] 802f0ec: 605a str r2, [r3, #4] 802f0ee: 609a str r2, [r3, #8] 802f0f0: 60da str r2, [r3, #12] 802f0f2: 611a str r2, [r3, #16] 802f0f4: 615a str r2, [r3, #20] 802f0f6: 619a str r2, [r3, #24] /* USER CODE END FMC_Init 1 */ /** Perform the SRAM2 memory initialization sequence */ hsram2.Instance = FMC_NORSRAM_DEVICE; 802f0f8: 4b2a ldr r3, [pc, #168] ; (802f1a4 ) 802f0fa: f04f 4220 mov.w r2, #2684354560 ; 0xa0000000 802f0fe: 601a str r2, [r3, #0] hsram2.Extended = FMC_NORSRAM_EXTENDED_DEVICE; 802f100: 4b28 ldr r3, [pc, #160] ; (802f1a4 ) 802f102: 4a29 ldr r2, [pc, #164] ; (802f1a8 ) 802f104: 605a str r2, [r3, #4] /* hsram2.Init */ hsram2.Init.NSBank = FMC_NORSRAM_BANK2; 802f106: 4b27 ldr r3, [pc, #156] ; (802f1a4 ) 802f108: 2202 movs r2, #2 802f10a: 609a str r2, [r3, #8] hsram2.Init.DataAddressMux = FMC_DATA_ADDRESS_MUX_DISABLE; 802f10c: 4b25 ldr r3, [pc, #148] ; (802f1a4 ) 802f10e: 2200 movs r2, #0 802f110: 60da str r2, [r3, #12] hsram2.Init.MemoryType = FMC_MEMORY_TYPE_SRAM; 802f112: 4b24 ldr r3, [pc, #144] ; (802f1a4 ) 802f114: 2200 movs r2, #0 802f116: 611a str r2, [r3, #16] hsram2.Init.MemoryDataWidth = FMC_NORSRAM_MEM_BUS_WIDTH_16; 802f118: 4b22 ldr r3, [pc, #136] ; (802f1a4 ) 802f11a: 2210 movs r2, #16 802f11c: 615a str r2, [r3, #20] hsram2.Init.BurstAccessMode = FMC_BURST_ACCESS_MODE_DISABLE; 802f11e: 4b21 ldr r3, [pc, #132] ; (802f1a4 ) 802f120: 2200 movs r2, #0 802f122: 619a str r2, [r3, #24] hsram2.Init.WaitSignalPolarity = FMC_WAIT_SIGNAL_POLARITY_LOW; 802f124: 4b1f ldr r3, [pc, #124] ; (802f1a4 ) 802f126: 2200 movs r2, #0 802f128: 61da str r2, [r3, #28] hsram2.Init.WaitSignalActive = FMC_WAIT_TIMING_BEFORE_WS; 802f12a: 4b1e ldr r3, [pc, #120] ; (802f1a4 ) 802f12c: 2200 movs r2, #0 802f12e: 621a str r2, [r3, #32] hsram2.Init.WriteOperation = FMC_WRITE_OPERATION_ENABLE; 802f130: 4b1c ldr r3, [pc, #112] ; (802f1a4 ) 802f132: f44f 5280 mov.w r2, #4096 ; 0x1000 802f136: 625a str r2, [r3, #36] ; 0x24 hsram2.Init.WaitSignal = FMC_WAIT_SIGNAL_DISABLE; 802f138: 4b1a ldr r3, [pc, #104] ; (802f1a4 ) 802f13a: 2200 movs r2, #0 802f13c: 629a str r2, [r3, #40] ; 0x28 hsram2.Init.ExtendedMode = FMC_EXTENDED_MODE_DISABLE; 802f13e: 4b19 ldr r3, [pc, #100] ; (802f1a4 ) 802f140: 2200 movs r2, #0 802f142: 62da str r2, [r3, #44] ; 0x2c hsram2.Init.AsynchronousWait = FMC_ASYNCHRONOUS_WAIT_DISABLE; 802f144: 4b17 ldr r3, [pc, #92] ; (802f1a4 ) 802f146: 2200 movs r2, #0 802f148: 631a str r2, [r3, #48] ; 0x30 hsram2.Init.WriteBurst = FMC_WRITE_BURST_DISABLE; 802f14a: 4b16 ldr r3, [pc, #88] ; (802f1a4 ) 802f14c: 2200 movs r2, #0 802f14e: 635a str r2, [r3, #52] ; 0x34 hsram2.Init.ContinuousClock = FMC_CONTINUOUS_CLOCK_SYNC_ONLY; 802f150: 4b14 ldr r3, [pc, #80] ; (802f1a4 ) 802f152: 2200 movs r2, #0 802f154: 639a str r2, [r3, #56] ; 0x38 hsram2.Init.WriteFifo = FMC_WRITE_FIFO_ENABLE; 802f156: 4b13 ldr r3, [pc, #76] ; (802f1a4 ) 802f158: 2200 movs r2, #0 802f15a: 63da str r2, [r3, #60] ; 0x3c hsram2.Init.PageSize = FMC_PAGE_SIZE_NONE; 802f15c: 4b11 ldr r3, [pc, #68] ; (802f1a4 ) 802f15e: 2200 movs r2, #0 802f160: 641a str r2, [r3, #64] ; 0x40 /* Timing */ Timing.AddressSetupTime = 2; 802f162: 2302 movs r3, #2 802f164: 607b str r3, [r7, #4] Timing.AddressHoldTime = 0; 802f166: 2300 movs r3, #0 802f168: 60bb str r3, [r7, #8] Timing.DataSetupTime = 2; 802f16a: 2302 movs r3, #2 802f16c: 60fb str r3, [r7, #12] Timing.BusTurnAroundDuration = 0; 802f16e: 2300 movs r3, #0 802f170: 613b str r3, [r7, #16] Timing.CLKDivision = 0; 802f172: 2300 movs r3, #0 802f174: 617b str r3, [r7, #20] Timing.DataLatency = 0; 802f176: 2300 movs r3, #0 802f178: 61bb str r3, [r7, #24] Timing.AccessMode = FMC_ACCESS_MODE_A; 802f17a: 2300 movs r3, #0 802f17c: 61fb str r3, [r7, #28] /* ExtTiming */ if (HAL_SRAM_Init(&hsram2, &Timing, NULL) != HAL_OK) 802f17e: 1d3b adds r3, r7, #4 802f180: 2200 movs r2, #0 802f182: 4619 mov r1, r3 802f184: 4807 ldr r0, [pc, #28] ; (802f1a4 ) 802f186: f08c fd13 bl 80bbbb0 802f18a: 4603 mov r3, r0 802f18c: 2b00 cmp r3, #0 802f18e: d001 beq.n 802f194 { Error_Handler( ); 802f190: f025 fe5a bl 8054e48 } /* USER CODE BEGIN FMC_Init 2 */ HAL_Delay(50); 802f194: 2032 movs r0, #50 ; 0x32 802f196: f084 f877 bl 80b3288 /* USER CODE END FMC_Init 2 */ } 802f19a: bf00 nop 802f19c: 3720 adds r7, #32 802f19e: 46bd mov sp, r7 802f1a0: bd80 pop {r7, pc} 802f1a2: bf00 nop 802f1a4: 2002482c .word 0x2002482c 802f1a8: a0000104 .word 0xa0000104 0802f1ac : static uint32_t FMC_Initialized = 0; static void HAL_FMC_MspInit(void){ 802f1ac: b580 push {r7, lr} 802f1ae: b086 sub sp, #24 802f1b0: af00 add r7, sp, #0 /* USER CODE BEGIN FMC_MspInit 0 */ /* USER CODE END FMC_MspInit 0 */ GPIO_InitTypeDef GPIO_InitStruct = {0}; 802f1b2: 1d3b adds r3, r7, #4 802f1b4: 2200 movs r2, #0 802f1b6: 601a str r2, [r3, #0] 802f1b8: 605a str r2, [r3, #4] 802f1ba: 609a str r2, [r3, #8] 802f1bc: 60da str r2, [r3, #12] 802f1be: 611a str r2, [r3, #16] if (FMC_Initialized) { 802f1c0: 4b2b ldr r3, [pc, #172] ; (802f270 ) 802f1c2: 681b ldr r3, [r3, #0] 802f1c4: 2b00 cmp r3, #0 802f1c6: d14f bne.n 802f268 return; } FMC_Initialized = 1; 802f1c8: 4b29 ldr r3, [pc, #164] ; (802f270 ) 802f1ca: 2201 movs r2, #1 802f1cc: 601a str r2, [r3, #0] /* Peripheral clock enable */ __HAL_RCC_FMC_CLK_ENABLE(); 802f1ce: 4a29 ldr r2, [pc, #164] ; (802f274 ) 802f1d0: 4b28 ldr r3, [pc, #160] ; (802f274 ) 802f1d2: 6b9b ldr r3, [r3, #56] ; 0x38 802f1d4: f043 0301 orr.w r3, r3, #1 802f1d8: 6393 str r3, [r2, #56] ; 0x38 802f1da: 4b26 ldr r3, [pc, #152] ; (802f274 ) 802f1dc: 6b9b ldr r3, [r3, #56] ; 0x38 802f1de: f003 0301 and.w r3, r3, #1 802f1e2: 603b str r3, [r7, #0] 802f1e4: 683b ldr r3, [r7, #0] #ifdef SRAM_1024x16 /* GPIO_InitStruct */ GPIO_InitStruct.Pin = GPIO_PIN_3|GPIO_PIN_7|GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10 802f1e6: f64f 738b movw r3, #65419 ; 0xff8b 802f1ea: 607b str r3, [r7, #4] |GPIO_PIN_11|GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14 |GPIO_PIN_15|GPIO_PIN_0|GPIO_PIN_1; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 802f1ec: 2302 movs r3, #2 802f1ee: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 802f1f0: 2300 movs r3, #0 802f1f2: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f1f4: 2303 movs r3, #3 802f1f6: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = GPIO_AF12_FMC; 802f1f8: 230c movs r3, #12 802f1fa: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); 802f1fc: 1d3b adds r3, r7, #4 802f1fe: 4619 mov r1, r3 802f200: 481d ldr r0, [pc, #116] ; (802f278 ) 802f202: f086 fa23 bl 80b564c /* GPIO_InitStruct */ GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 802f206: f24f 033f movw r3, #61503 ; 0xf03f 802f20a: 607b str r3, [r7, #4] |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_12|GPIO_PIN_13 |GPIO_PIN_14|GPIO_PIN_15; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 802f20c: 2302 movs r3, #2 802f20e: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 802f210: 2300 movs r3, #0 802f212: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f214: 2303 movs r3, #3 802f216: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = GPIO_AF12_FMC; 802f218: 230c movs r3, #12 802f21a: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 802f21c: 1d3b adds r3, r7, #4 802f21e: 4619 mov r1, r3 802f220: 4816 ldr r0, [pc, #88] ; (802f27c ) 802f222: f086 fa13 bl 80b564c /* GPIO_InitStruct */ GPIO_InitStruct.Pin = GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_2|GPIO_PIN_3 802f226: f240 233f movw r3, #575 ; 0x23f 802f22a: 607b str r3, [r7, #4] |GPIO_PIN_4|GPIO_PIN_5|GPIO_PIN_9; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 802f22c: 2302 movs r3, #2 802f22e: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 802f230: 2300 movs r3, #0 802f232: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f234: 2303 movs r3, #3 802f236: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = GPIO_AF12_FMC; 802f238: 230c movs r3, #12 802f23a: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 802f23c: 1d3b adds r3, r7, #4 802f23e: 4619 mov r1, r3 802f240: 480f ldr r0, [pc, #60] ; (802f280 ) 802f242: f086 fa03 bl 80b564c /* GPIO_InitStruct */ GPIO_InitStruct.Pin = GPIO_PIN_8|GPIO_PIN_9|GPIO_PIN_10|GPIO_PIN_11 802f246: f64f 7333 movw r3, #65331 ; 0xff33 802f24a: 607b str r3, [r7, #4] |GPIO_PIN_12|GPIO_PIN_13|GPIO_PIN_14|GPIO_PIN_15 |GPIO_PIN_0|GPIO_PIN_1|GPIO_PIN_4|GPIO_PIN_5; GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 802f24c: 2302 movs r3, #2 802f24e: 60bb str r3, [r7, #8] GPIO_InitStruct.Pull = GPIO_NOPULL; 802f250: 2300 movs r3, #0 802f252: 60fb str r3, [r7, #12] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f254: 2303 movs r3, #3 802f256: 613b str r3, [r7, #16] GPIO_InitStruct.Alternate = GPIO_AF12_FMC; 802f258: 230c movs r3, #12 802f25a: 617b str r3, [r7, #20] HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); 802f25c: 1d3b adds r3, r7, #4 802f25e: 4619 mov r1, r3 802f260: 4808 ldr r0, [pc, #32] ; (802f284 ) 802f262: f086 f9f3 bl 80b564c 802f266: e000 b.n 802f26a return; 802f268: bf00 nop /* USER CODE BEGIN FMC_MspInit 1 */ /* USER CODE END FMC_MspInit 1 */ } 802f26a: 3718 adds r7, #24 802f26c: 46bd mov sp, r7 802f26e: bd80 pop {r7, pc} 802f270: 20020f2c .word 0x20020f2c 802f274: 40023800 .word 0x40023800 802f278: 40021000 .word 0x40021000 802f27c: 40021400 .word 0x40021400 802f280: 40021800 .word 0x40021800 802f284: 40020c00 .word 0x40020c00 0802f288 : void HAL_SRAM_MspInit(SRAM_HandleTypeDef* sramHandle){ 802f288: b580 push {r7, lr} 802f28a: b082 sub sp, #8 802f28c: af00 add r7, sp, #0 802f28e: 6078 str r0, [r7, #4] /* USER CODE BEGIN SRAM_MspInit 0 */ /* USER CODE END SRAM_MspInit 0 */ HAL_FMC_MspInit(); 802f290: f7ff ff8c bl 802f1ac /* USER CODE BEGIN SRAM_MspInit 1 */ /* USER CODE END SRAM_MspInit 1 */ } 802f294: bf00 nop 802f296: 3708 adds r7, #8 802f298: 46bd mov sp, r7 802f29a: bd80 pop {r7, pc} 0802f29c : * EXTI * Free pins are configured automatically as Analog (this feature is enabled through * the Code Generation settings) */ void MX_GPIO_Init(void) { 802f29c: b580 push {r7, lr} 802f29e: b08e sub sp, #56 ; 0x38 802f2a0: af00 add r7, sp, #0 GPIO_InitTypeDef GPIO_InitStruct; /* GPIO Ports Clock Enable */ __HAL_RCC_GPIOE_CLK_ENABLE(); 802f2a2: 4ab6 ldr r2, [pc, #728] ; (802f57c ) 802f2a4: 4bb5 ldr r3, [pc, #724] ; (802f57c ) 802f2a6: 6b1b ldr r3, [r3, #48] ; 0x30 802f2a8: f043 0310 orr.w r3, r3, #16 802f2ac: 6313 str r3, [r2, #48] ; 0x30 802f2ae: 4bb3 ldr r3, [pc, #716] ; (802f57c ) 802f2b0: 6b1b ldr r3, [r3, #48] ; 0x30 802f2b2: f003 0310 and.w r3, r3, #16 802f2b6: 623b str r3, [r7, #32] 802f2b8: 6a3b ldr r3, [r7, #32] __HAL_RCC_GPIOC_CLK_ENABLE(); 802f2ba: 4ab0 ldr r2, [pc, #704] ; (802f57c ) 802f2bc: 4baf ldr r3, [pc, #700] ; (802f57c ) 802f2be: 6b1b ldr r3, [r3, #48] ; 0x30 802f2c0: f043 0304 orr.w r3, r3, #4 802f2c4: 6313 str r3, [r2, #48] ; 0x30 802f2c6: 4bad ldr r3, [pc, #692] ; (802f57c ) 802f2c8: 6b1b ldr r3, [r3, #48] ; 0x30 802f2ca: f003 0304 and.w r3, r3, #4 802f2ce: 61fb str r3, [r7, #28] 802f2d0: 69fb ldr r3, [r7, #28] __HAL_RCC_GPIOF_CLK_ENABLE(); 802f2d2: 4aaa ldr r2, [pc, #680] ; (802f57c ) 802f2d4: 4ba9 ldr r3, [pc, #676] ; (802f57c ) 802f2d6: 6b1b ldr r3, [r3, #48] ; 0x30 802f2d8: f043 0320 orr.w r3, r3, #32 802f2dc: 6313 str r3, [r2, #48] ; 0x30 802f2de: 4ba7 ldr r3, [pc, #668] ; (802f57c ) 802f2e0: 6b1b ldr r3, [r3, #48] ; 0x30 802f2e2: f003 0320 and.w r3, r3, #32 802f2e6: 61bb str r3, [r7, #24] 802f2e8: 69bb ldr r3, [r7, #24] __HAL_RCC_GPIOH_CLK_ENABLE(); 802f2ea: 4aa4 ldr r2, [pc, #656] ; (802f57c ) 802f2ec: 4ba3 ldr r3, [pc, #652] ; (802f57c ) 802f2ee: 6b1b ldr r3, [r3, #48] ; 0x30 802f2f0: f043 0380 orr.w r3, r3, #128 ; 0x80 802f2f4: 6313 str r3, [r2, #48] ; 0x30 802f2f6: 4ba1 ldr r3, [pc, #644] ; (802f57c ) 802f2f8: 6b1b ldr r3, [r3, #48] ; 0x30 802f2fa: f003 0380 and.w r3, r3, #128 ; 0x80 802f2fe: 617b str r3, [r7, #20] 802f300: 697b ldr r3, [r7, #20] __HAL_RCC_GPIOA_CLK_ENABLE(); 802f302: 4a9e ldr r2, [pc, #632] ; (802f57c ) 802f304: 4b9d ldr r3, [pc, #628] ; (802f57c ) 802f306: 6b1b ldr r3, [r3, #48] ; 0x30 802f308: f043 0301 orr.w r3, r3, #1 802f30c: 6313 str r3, [r2, #48] ; 0x30 802f30e: 4b9b ldr r3, [pc, #620] ; (802f57c ) 802f310: 6b1b ldr r3, [r3, #48] ; 0x30 802f312: f003 0301 and.w r3, r3, #1 802f316: 613b str r3, [r7, #16] 802f318: 693b ldr r3, [r7, #16] __HAL_RCC_GPIOB_CLK_ENABLE(); 802f31a: 4a98 ldr r2, [pc, #608] ; (802f57c ) 802f31c: 4b97 ldr r3, [pc, #604] ; (802f57c ) 802f31e: 6b1b ldr r3, [r3, #48] ; 0x30 802f320: f043 0302 orr.w r3, r3, #2 802f324: 6313 str r3, [r2, #48] ; 0x30 802f326: 4b95 ldr r3, [pc, #596] ; (802f57c ) 802f328: 6b1b ldr r3, [r3, #48] ; 0x30 802f32a: f003 0302 and.w r3, r3, #2 802f32e: 60fb str r3, [r7, #12] 802f330: 68fb ldr r3, [r7, #12] __HAL_RCC_GPIOG_CLK_ENABLE(); 802f332: 4a92 ldr r2, [pc, #584] ; (802f57c ) 802f334: 4b91 ldr r3, [pc, #580] ; (802f57c ) 802f336: 6b1b ldr r3, [r3, #48] ; 0x30 802f338: f043 0340 orr.w r3, r3, #64 ; 0x40 802f33c: 6313 str r3, [r2, #48] ; 0x30 802f33e: 4b8f ldr r3, [pc, #572] ; (802f57c ) 802f340: 6b1b ldr r3, [r3, #48] ; 0x30 802f342: f003 0340 and.w r3, r3, #64 ; 0x40 802f346: 60bb str r3, [r7, #8] 802f348: 68bb ldr r3, [r7, #8] __HAL_RCC_GPIOD_CLK_ENABLE(); 802f34a: 4a8c ldr r2, [pc, #560] ; (802f57c ) 802f34c: 4b8b ldr r3, [pc, #556] ; (802f57c ) 802f34e: 6b1b ldr r3, [r3, #48] ; 0x30 802f350: f043 0308 orr.w r3, r3, #8 802f354: 6313 str r3, [r2, #48] ; 0x30 802f356: 4b89 ldr r3, [pc, #548] ; (802f57c ) 802f358: 6b1b ldr r3, [r3, #48] ; 0x30 802f35a: f003 0308 and.w r3, r3, #8 802f35e: 607b str r3, [r7, #4] 802f360: 687b ldr r3, [r7, #4] HAL_GPIO_WritePin(BL_ENABLE_GPIO_Port, BL_ENABLE_Pin, GPIO_PIN_SET); //Bluetooth PowerOff 802f362: 2201 movs r2, #1 802f364: 2104 movs r1, #4 802f366: 4886 ldr r0, [pc, #536] ; (802f580 ) 802f368: f086 fc3e bl 80b5be8 HAL_GPIO_WritePin(KEY_GPIO_Port, KEY_Pin, GPIO_PIN_SET); //AT_MODE on 802f36c: 2201 movs r2, #1 802f36e: f44f 4100 mov.w r1, #32768 ; 0x8000 802f372: 4884 ldr r0, [pc, #528] ; (802f584 ) 802f374: f086 fc38 bl 80b5be8 HAL_GPIO_WritePin(IN_GPIO_Port, IN_Pin, GPIO_PIN_RESET); 802f378: 2200 movs r2, #0 802f37a: f44f 6100 mov.w r1, #2048 ; 0x800 802f37e: 4882 ldr r0, [pc, #520] ; (802f588 ) 802f380: f086 fc32 bl 80b5be8 HAL_GPIO_WritePin(TMPR_GPIO_Port, TMPR_Pin, GPIO_PIN_SET); 802f384: 2201 movs r2, #1 802f386: f44f 5100 mov.w r1, #8192 ; 0x2000 802f38a: 4880 ldr r0, [pc, #512] ; (802f58c ) 802f38c: f086 fc2c bl 80b5be8 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 802f390: 2201 movs r2, #1 802f392: f44f 4100 mov.w r1, #32768 ; 0x8000 802f396: 487a ldr r0, [pc, #488] ; (802f580 ) 802f398: f086 fc26 bl 80b5be8 HAL_GPIO_WritePin(RSTB_GPIO_Port, RSTB_Pin, GPIO_PIN_SET); 802f39c: 2201 movs r2, #1 802f39e: 2104 movs r1, #4 802f3a0: 487b ldr r0, [pc, #492] ; (802f590 ) 802f3a2: f086 fc21 bl 80b5be8 HAL_GPIO_WritePin(GPIOE, (U1_Pin | U2_Pin | U3_Pin), GPIO_PIN_SET); 802f3a6: 2201 movs r2, #1 802f3a8: 2134 movs r1, #52 ; 0x34 802f3aa: 487a ldr r0, [pc, #488] ; (802f594 ) 802f3ac: f086 fc1c bl 80b5be8 HAL_GPIO_WritePin(GPIOF, ON_Pin, GPIO_PIN_SET); 802f3b0: 2201 movs r2, #1 802f3b2: f44f 7180 mov.w r1, #256 ; 0x100 802f3b6: 4874 ldr r0, [pc, #464] ; (802f588 ) 802f3b8: f086 fc16 bl 80b5be8 HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET); 802f3bc: 2201 movs r2, #1 802f3be: 2140 movs r1, #64 ; 0x40 802f3c0: 4875 ldr r0, [pc, #468] ; (802f598 ) 802f3c2: f086 fc11 bl 80b5be8 HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 802f3c6: 2200 movs r2, #0 802f3c8: 2108 movs r1, #8 802f3ca: 4870 ldr r0, [pc, #448] ; (802f58c ) 802f3cc: f086 fc0c bl 80b5be8 HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); 802f3d0: 2201 movs r2, #1 802f3d2: f44f 7180 mov.w r1, #256 ; 0x100 802f3d6: 486a ldr r0, [pc, #424] ; (802f580 ) 802f3d8: f086 fc06 bl 80b5be8 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 802f3dc: 2200 movs r2, #0 802f3de: f44f 4180 mov.w r1, #16384 ; 0x4000 802f3e2: 4868 ldr r0, [pc, #416] ; (802f584 ) 802f3e4: f086 fc00 bl 80b5be8 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 802f3e8: 2200 movs r2, #0 802f3ea: 2120 movs r1, #32 802f3ec: 4868 ldr r0, [pc, #416] ; (802f590 ) 802f3ee: f086 fbfb bl 80b5be8 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 802f3f2: 2200 movs r2, #0 802f3f4: f44f 7100 mov.w r1, #512 ; 0x200 802f3f8: 4863 ldr r0, [pc, #396] ; (802f588 ) 802f3fa: f086 fbf5 bl 80b5be8 GPIO_InitStruct.Pin = CR_Pin; 802f3fe: f44f 4300 mov.w r3, #32768 ; 0x8000 802f402: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f404: 2301 movs r3, #1 802f406: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f408: 2300 movs r3, #0 802f40a: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f40c: 2303 movs r3, #3 802f40e: 633b str r3, [r7, #48] ; 0x30 GPIO_InitStruct.Alternate = 0; 802f410: 2300 movs r3, #0 802f412: 637b str r3, [r7, #52] ; 0x34 HAL_GPIO_Init(CR_GPIO_Port, &GPIO_InitStruct); 802f414: f107 0324 add.w r3, r7, #36 ; 0x24 802f418: 4619 mov r1, r3 802f41a: 4859 ldr r0, [pc, #356] ; (802f580 ) 802f41c: f086 f916 bl 80b564c /*Configure GPIO pins : PEPin PEPin PEPin */ GPIO_InitStruct.Pin = RSTB_Pin; 802f420: 2304 movs r3, #4 802f422: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f424: 2301 movs r3, #1 802f426: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_PULLUP; 802f428: 2301 movs r3, #1 802f42a: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f42c: 2303 movs r3, #3 802f42e: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(RSTB_GPIO_Port, &GPIO_InitStruct); 802f430: f107 0324 add.w r3, r7, #36 ; 0x24 802f434: 4619 mov r1, r3 802f436: 4856 ldr r0, [pc, #344] ; (802f590 ) 802f438: f086 f908 bl 80b564c /*Configure GPIO pins : PEPin PEPin PEPin */ GPIO_InitStruct.Pin = U1_Pin|U2_Pin|U3_Pin; 802f43c: 2334 movs r3, #52 ; 0x34 802f43e: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f440: 2301 movs r3, #1 802f442: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_PULLUP; 802f444: 2301 movs r3, #1 802f446: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 802f448: 2303 movs r3, #3 802f44a: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(GPIOE, &GPIO_InitStruct); 802f44c: f107 0324 add.w r3, r7, #36 ; 0x24 802f450: 4619 mov r1, r3 802f452: 4850 ldr r0, [pc, #320] ; (802f594 ) 802f454: f086 f8fa bl 80b564c /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = ON_Pin; 802f458: f44f 7380 mov.w r3, #256 ; 0x100 802f45c: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f45e: 2301 movs r3, #1 802f460: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f462: 2300 movs r3, #0 802f464: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f466: 2302 movs r3, #2 802f468: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(ON_GPIO_Port, &GPIO_InitStruct); 802f46a: f107 0324 add.w r3, r7, #36 ; 0x24 802f46e: 4619 mov r1, r3 802f470: 4845 ldr r0, [pc, #276] ; (802f588 ) 802f472: f086 f8eb bl 80b564c GPIO_InitStruct.Pin = DISP_ON_Pin; 802f476: f44f 7380 mov.w r3, #256 ; 0x100 802f47a: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f47c: 2301 movs r3, #1 802f47e: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f480: 2300 movs r3, #0 802f482: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f484: 2302 movs r3, #2 802f486: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(DISP_ON_GPIO_Port, &GPIO_InitStruct); 802f488: f107 0324 add.w r3, r7, #36 ; 0x24 802f48c: 4619 mov r1, r3 802f48e: 483c ldr r0, [pc, #240] ; (802f580 ) 802f490: f086 f8dc bl 80b564c /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = OFF_Pin; 802f494: 2301 movs r3, #1 802f496: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 802f498: 2300 movs r3, #0 802f49a: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f49c: 2300 movs r3, #0 802f49e: 62fb str r3, [r7, #44] ; 0x2c HAL_GPIO_Init(OFF_GPIO_Port, &GPIO_InitStruct); 802f4a0: f107 0324 add.w r3, r7, #36 ; 0x24 802f4a4: 4619 mov r1, r3 802f4a6: 4836 ldr r0, [pc, #216] ; (802f580 ) 802f4a8: f086 f8d0 bl 80b564c /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = BAT_Z_Pin; 802f4ac: 2310 movs r3, #16 802f4ae: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 802f4b0: 2300 movs r3, #0 802f4b2: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_PULLUP; 802f4b4: 2301 movs r3, #1 802f4b6: 62fb str r3, [r7, #44] ; 0x2c HAL_GPIO_Init(BAT_Z_GPIO_Port, &GPIO_InitStruct); 802f4b8: f107 0324 add.w r3, r7, #36 ; 0x24 802f4bc: 4619 mov r1, r3 802f4be: 4833 ldr r0, [pc, #204] ; (802f58c ) 802f4c0: f086 f8c4 bl 80b564c /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = SD_DETECT_Pin; 802f4c4: f44f 5380 mov.w r3, #4096 ; 0x1000 802f4c8: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 802f4ca: 2300 movs r3, #0 802f4cc: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_PULLUP; 802f4ce: 2301 movs r3, #1 802f4d0: 62fb str r3, [r7, #44] ; 0x2c HAL_GPIO_Init(SD_DETECT_GPIO_Port, &GPIO_InitStruct); 802f4d2: f107 0324 add.w r3, r7, #36 ; 0x24 802f4d6: 4619 mov r1, r3 802f4d8: 482d ldr r0, [pc, #180] ; (802f590 ) 802f4da: f086 f8b7 bl 80b564c /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = RESET_Pin; 802f4de: 2340 movs r3, #64 ; 0x40 802f4e0: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f4e2: 2301 movs r3, #1 802f4e4: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f4e6: 2300 movs r3, #0 802f4e8: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f4ea: 2302 movs r3, #2 802f4ec: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(RESET_GPIO_Port, &GPIO_InitStruct); 802f4ee: f107 0324 add.w r3, r7, #36 ; 0x24 802f4f2: 4619 mov r1, r3 802f4f4: 4828 ldr r0, [pc, #160] ; (802f598 ) 802f4f6: f086 f8a9 bl 80b564c /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = ZAR_Pin; 802f4fa: 2308 movs r3, #8 802f4fc: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f4fe: 2301 movs r3, #1 802f500: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f502: 2300 movs r3, #0 802f504: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_LOW; 802f506: 2300 movs r3, #0 802f508: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(ZAR_GPIO_Port, &GPIO_InitStruct); 802f50a: f107 0324 add.w r3, r7, #36 ; 0x24 802f50e: 4619 mov r1, r3 802f510: 481e ldr r0, [pc, #120] ; (802f58c ) 802f512: f086 f89b bl 80b564c GPIO_InitStruct.Pin = IN_Pin; 802f516: f44f 6300 mov.w r3, #2048 ; 0x800 802f51a: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f51c: 2301 movs r3, #1 802f51e: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f520: 2300 movs r3, #0 802f522: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f524: 2302 movs r3, #2 802f526: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(IN_GPIO_Port, &GPIO_InitStruct); 802f528: f107 0324 add.w r3, r7, #36 ; 0x24 802f52c: 4619 mov r1, r3 802f52e: 4816 ldr r0, [pc, #88] ; (802f588 ) 802f530: f086 f88c bl 80b564c GPIO_InitStruct.Pin = TMPR_Pin; 802f534: f44f 5300 mov.w r3, #8192 ; 0x2000 802f538: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f53a: 2301 movs r3, #1 802f53c: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f53e: 2300 movs r3, #0 802f540: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f542: 2302 movs r3, #2 802f544: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(TMPR_GPIO_Port, &GPIO_InitStruct); 802f546: f107 0324 add.w r3, r7, #36 ; 0x24 802f54a: 4619 mov r1, r3 802f54c: 480f ldr r0, [pc, #60] ; (802f58c ) 802f54e: f086 f87d bl 80b564c //************************************************************************************ //************************** NOT USED PINS *************************************** //************************************************************************************ GPIO_InitStruct.Pin = A0_Pin; 802f552: 2320 movs r3, #32 802f554: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f556: 2301 movs r3, #1 802f558: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f55a: 2300 movs r3, #0 802f55c: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f55e: 2302 movs r3, #2 802f560: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(A0_GPIO_Port, &GPIO_InitStruct); 802f562: f107 0324 add.w r3, r7, #36 ; 0x24 802f566: 4619 mov r1, r3 802f568: 4809 ldr r0, [pc, #36] ; (802f590 ) 802f56a: f086 f86f bl 80b564c GPIO_InitStruct.Pin = A1_Pin; 802f56e: f44f 7300 mov.w r3, #512 ; 0x200 802f572: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f574: 2301 movs r3, #1 802f576: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f578: 2300 movs r3, #0 802f57a: e00f b.n 802f59c 802f57c: 40023800 .word 0x40023800 802f580: 40020000 .word 0x40020000 802f584: 40021800 .word 0x40021800 802f588: 40021400 .word 0x40021400 802f58c: 40020800 .word 0x40020800 802f590: 40020400 .word 0x40020400 802f594: 40021000 .word 0x40021000 802f598: 40020c00 .word 0x40020c00 802f59c: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f59e: 2302 movs r3, #2 802f5a0: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(A1_GPIO_Port, &GPIO_InitStruct); 802f5a2: f107 0324 add.w r3, r7, #36 ; 0x24 802f5a6: 4619 mov r1, r3 802f5a8: 4844 ldr r0, [pc, #272] ; (802f6bc ) 802f5aa: f086 f84f bl 80b564c /*Configure GPIO pin : PtPin */ GPIO_InitStruct.Pin = KU_Pin; 802f5ae: f44f 4380 mov.w r3, #16384 ; 0x4000 802f5b2: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f5b4: 2301 movs r3, #1 802f5b6: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f5b8: 2300 movs r3, #0 802f5ba: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f5bc: 2302 movs r3, #2 802f5be: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(KU_GPIO_Port, &GPIO_InitStruct); 802f5c0: f107 0324 add.w r3, r7, #36 ; 0x24 802f5c4: 4619 mov r1, r3 802f5c6: 483e ldr r0, [pc, #248] ; (802f6c0 ) 802f5c8: f086 f840 bl 80b564c GPIO_InitStruct.Pin = BL_ENABLE_Pin; 802f5cc: 2304 movs r3, #4 802f5ce: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f5d0: 2301 movs r3, #1 802f5d2: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f5d4: 2300 movs r3, #0 802f5d6: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f5d8: 2302 movs r3, #2 802f5da: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(BL_ENABLE_GPIO_Port, &GPIO_InitStruct); 802f5dc: f107 0324 add.w r3, r7, #36 ; 0x24 802f5e0: 4619 mov r1, r3 802f5e2: 4838 ldr r0, [pc, #224] ; (802f6c4 ) 802f5e4: f086 f832 bl 80b564c GPIO_InitStruct.Pin = KEY_Pin; 802f5e8: f44f 4300 mov.w r3, #32768 ; 0x8000 802f5ec: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 802f5ee: 2301 movs r3, #1 802f5f0: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f5f2: 2300 movs r3, #0 802f5f4: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f5f6: 2302 movs r3, #2 802f5f8: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(KEY_GPIO_Port, &GPIO_InitStruct); 802f5fa: f107 0324 add.w r3, r7, #36 ; 0x24 802f5fe: 4619 mov r1, r3 802f600: 482f ldr r0, [pc, #188] ; (802f6c0 ) 802f602: f086 f823 bl 80b564c HAL_GPIO_WritePin(BL_ENABLE_GPIO_Port, BL_ENABLE_Pin, GPIO_PIN_RESET); //Bluetooth PowerOff 802f606: 2200 movs r2, #0 802f608: 2104 movs r1, #4 802f60a: 482e ldr r0, [pc, #184] ; (802f6c4 ) 802f60c: f086 faec bl 80b5be8 HAL_GPIO_WritePin(BL_ENABLE_GPIO_Port, BL_ENABLE_Pin, GPIO_PIN_SET); //Bluetooth PowerOff 802f610: 2201 movs r2, #1 802f612: 2104 movs r1, #4 802f614: 482b ldr r0, [pc, #172] ; (802f6c4 ) 802f616: f086 fae7 bl 80b5be8 HAL_GPIO_WritePin(KEY_GPIO_Port, KEY_Pin, GPIO_PIN_SET); //AT_MODE on 802f61a: 2201 movs r2, #1 802f61c: f44f 4100 mov.w r1, #32768 ; 0x8000 802f620: 4827 ldr r0, [pc, #156] ; (802f6c0 ) 802f622: f086 fae1 bl 80b5be8 HAL_GPIO_WritePin(GPIOF, ON_Pin, GPIO_PIN_SET); 802f626: 2201 movs r2, #1 802f628: f44f 7180 mov.w r1, #256 ; 0x100 802f62c: 4823 ldr r0, [pc, #140] ; (802f6bc ) 802f62e: f086 fadb bl 80b5be8 #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 802f632: 2200 movs r2, #0 802f634: f44f 4180 mov.w r1, #16384 ; 0x4000 802f638: 4821 ldr r0, [pc, #132] ; (802f6c0 ) 802f63a: f086 fad5 bl 80b5be8 #endif HAL_GPIO_WritePin(A0_GPIO_Port, A0_Pin, GPIO_PIN_RESET); 802f63e: 2200 movs r2, #0 802f640: 2120 movs r1, #32 802f642: 4821 ldr r0, [pc, #132] ; (802f6c8 ) 802f644: f086 fad0 bl 80b5be8 HAL_GPIO_WritePin(A1_GPIO_Port, A1_Pin, GPIO_PIN_RESET); 802f648: 2200 movs r2, #0 802f64a: f44f 7100 mov.w r1, #512 ; 0x200 802f64e: 481b ldr r0, [pc, #108] ; (802f6bc ) 802f650: f086 faca bl 80b5be8 HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 802f654: 2200 movs r2, #0 802f656: 2108 movs r1, #8 802f658: 481c ldr r0, [pc, #112] ; (802f6cc ) 802f65a: f086 fac5 bl 80b5be8 HAL_GPIO_WritePin(ON_GPIO_Port, ON_Pin, GPIO_PIN_SET); 802f65e: 2201 movs r2, #1 802f660: f44f 7180 mov.w r1, #256 ; 0x100 802f664: 4815 ldr r0, [pc, #84] ; (802f6bc ) 802f666: f086 fabf bl 80b5be8 HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); // BACKLIGHT IS OFF 802f66a: 2201 movs r2, #1 802f66c: f44f 7180 mov.w r1, #256 ; 0x100 802f670: 4814 ldr r0, [pc, #80] ; (802f6c4 ) 802f672: f086 fab9 bl 80b5be8 /*Configure GPIO pins : PAPin PAPin */ GPIO_InitStruct.Pin = (K1_Pin | K2_Pin); 802f676: f44f 63c0 mov.w r3, #1536 ; 0x600 802f67a: 627b str r3, [r7, #36] ; 0x24 GPIO_InitStruct.Mode = GPIO_MODE_INPUT; 802f67c: 2300 movs r3, #0 802f67e: 62bb str r3, [r7, #40] ; 0x28 GPIO_InitStruct.Pull = GPIO_NOPULL; 802f680: 2300 movs r3, #0 802f682: 62fb str r3, [r7, #44] ; 0x2c GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_HIGH; 802f684: 2302 movs r3, #2 802f686: 633b str r3, [r7, #48] ; 0x30 HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 802f688: f107 0324 add.w r3, r7, #36 ; 0x24 802f68c: 4619 mov r1, r3 802f68e: 480d ldr r0, [pc, #52] ; (802f6c4 ) 802f690: f085 ffdc bl 80b564c if(HAL_GPIO_ReadPin(SD_DETECT_GPIO_Port, SD_DETECT_Pin) == GPIO_PIN_SET) 802f694: f44f 5180 mov.w r1, #4096 ; 0x1000 802f698: 480b ldr r0, [pc, #44] ; (802f6c8 ) 802f69a: f086 fa8d bl 80b5bb8 802f69e: 4603 mov r3, r0 802f6a0: 2b01 cmp r3, #1 802f6a2: d103 bne.n 802f6ac CardState = MSD_NOCARD; 802f6a4: 4b0a ldr r3, [pc, #40] ; (802f6d0 ) 802f6a6: 2200 movs r2, #0 802f6a8: 701a strb r2, [r3, #0] else CardState = MSD_PRESENT; } 802f6aa: e002 b.n 802f6b2 else CardState = MSD_PRESENT; 802f6ac: 4b08 ldr r3, [pc, #32] ; (802f6d0 ) 802f6ae: 2201 movs r2, #1 802f6b0: 701a strb r2, [r3, #0] } 802f6b2: bf00 nop 802f6b4: 3738 adds r7, #56 ; 0x38 802f6b6: 46bd mov sp, r7 802f6b8: bd80 pop {r7, pc} 802f6ba: bf00 nop 802f6bc: 40021400 .word 0x40021400 802f6c0: 40021800 .word 0x40021800 802f6c4: 40020000 .word 0x40020000 802f6c8: 40020400 .word 0x40020400 802f6cc: 40020800 .word 0x40020800 802f6d0: 2002164c .word 0x2002164c 0802f6d4 : return 0; } void MX_HC05_DeInit(void) { 802f6d4: b580 push {r7, lr} 802f6d6: af00 add r7, sp, #0 HAL_GPIO_WritePin(BL_ENABLE_GPIO_Port, BL_ENABLE_Pin, GPIO_PIN_SET); //Bluetooth PowerOff 802f6d8: 2201 movs r2, #1 802f6da: 2104 movs r1, #4 802f6dc: 4806 ldr r0, [pc, #24] ; (802f6f8 ) 802f6de: f086 fa83 bl 80b5be8 MX_USART7_UART_DeInit(); 802f6e2: f07f fa07 bl 80aeaf4 Initialized = false; 802f6e6: 4b05 ldr r3, [pc, #20] ; (802f6fc ) 802f6e8: 2200 movs r2, #0 802f6ea: 701a strb r2, [r3, #0] Connected = false; 802f6ec: 4b04 ldr r3, [pc, #16] ; (802f700 ) 802f6ee: 2200 movs r2, #0 802f6f0: 701a strb r2, [r3, #0] } 802f6f2: bf00 nop 802f6f4: bd80 pop {r7, pc} 802f6f6: bf00 nop 802f6f8: 40020000 .word 0x40020000 802f6fc: 20020f35 .word 0x20020f35 802f700: 20020f34 .word 0x20020f34 0802f704 : void BT_InspectMessage(void) //todo { 802f704: b580 push {r7, lr} 802f706: b090 sub sp, #64 ; 0x40 802f708: af00 add r7, sp, #0 uint32_t cYear, cMonth; uint32_t date, month, year, hour, min, sec; uint8_t *pDataPos; pData = (char *) bufR[pCur]; 802f70a: 4b85 ldr r3, [pc, #532] ; (802f920 ) 802f70c: 681b ldr r3, [r3, #0] 802f70e: 021b lsls r3, r3, #8 802f710: 4a84 ldr r2, [pc, #528] ; (802f924 ) 802f712: 4413 add r3, r2 802f714: 63fb str r3, [r7, #60] ; 0x3c //pDataPos = (uint8_t *) (*pData + (strlen(pData) + 1)); if((!strstr(pData, "Start") == 0) || (!strstr(pData, "Start\r\n") == 0)) // Ñòàðò ïåðåäà÷è âðåìåííîãî ñèãíàëà 802f716: 4984 ldr r1, [pc, #528] ; (802f928 ) 802f718: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f71a: f09d fde8 bl 80cd2ee 802f71e: 4603 mov r3, r0 802f720: 2b00 cmp r3, #0 802f722: d106 bne.n 802f732 802f724: 4981 ldr r1, [pc, #516] ; (802f92c ) 802f726: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f728: f09d fde1 bl 80cd2ee 802f72c: 4603 mov r3, r0 802f72e: 2b00 cmp r3, #0 802f730: d00c beq.n 802f74c { if(!measuring) 802f732: 4b7f ldr r3, [pc, #508] ; (802f930 ) 802f734: 781b ldrb r3, [r3, #0] 802f736: b2db uxtb r3, r3 802f738: f083 0301 eor.w r3, r3, #1 802f73c: b2db uxtb r3, r3 802f73e: 2b00 cmp r3, #0 802f740: f000 80e9 beq.w 802f916 { BT_NeedStartMeas = true; 802f744: 4b7b ldr r3, [pc, #492] ; (802f934 ) 802f746: 2201 movs r2, #1 802f748: 701a strb r2, [r3, #0] if(!measuring) 802f74a: e0e4 b.n 802f916 } } else if((!strstr(pData, "Stop") == 0) || (!strstr(pData, "Stop\r\n") == 0)) // Ñòîï ïåðåäà÷è âðåìåííîãî ñèãíàëà 802f74c: 497a ldr r1, [pc, #488] ; (802f938 ) 802f74e: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f750: f09d fdcd bl 80cd2ee 802f754: 4603 mov r3, r0 802f756: 2b00 cmp r3, #0 802f758: d106 bne.n 802f768 802f75a: 4978 ldr r1, [pc, #480] ; (802f93c ) 802f75c: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f75e: f09d fdc6 bl 80cd2ee 802f762: 4603 mov r3, r0 802f764: 2b00 cmp r3, #0 802f766: d009 beq.n 802f77c { if(measuring) 802f768: 4b71 ldr r3, [pc, #452] ; (802f930 ) 802f76a: 781b ldrb r3, [r3, #0] 802f76c: b2db uxtb r3, r3 802f76e: 2b00 cmp r3, #0 802f770: f000 80d1 beq.w 802f916 { /**/ BT_NeedStopMeas = true; 802f774: 4b72 ldr r3, [pc, #456] ; (802f940 ) 802f776: 2201 movs r2, #1 802f778: 701a strb r2, [r3, #0] if(measuring) 802f77a: e0cc b.n 802f916 } } else if((!strstr(pData, "GetBuf") == 0) || (!strstr(pData, "GetBuf\r\n") == 0)) // Ñòàðò ïåðåäà÷è âðåìåííîãî ñèãíàëà 802f77c: 4971 ldr r1, [pc, #452] ; (802f944 ) 802f77e: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f780: f09d fdb5 bl 80cd2ee 802f784: 4603 mov r3, r0 802f786: 2b00 cmp r3, #0 802f788: d106 bne.n 802f798 802f78a: 496f ldr r1, [pc, #444] ; (802f948 ) 802f78c: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f78e: f09d fdae bl 80cd2ee 802f792: 4603 mov r3, r0 802f794: 2b00 cmp r3, #0 802f796: d006 beq.n 802f7a6 { //if(measuring) //{ command |= COMMAND_SEND_BUFF; 802f798: 4b6c ldr r3, [pc, #432] ; (802f94c ) 802f79a: 681b ldr r3, [r3, #0] 802f79c: f043 0320 orr.w r3, r3, #32 802f7a0: 4a6a ldr r2, [pc, #424] ; (802f94c ) 802f7a2: 6013 str r3, [r2, #0] 802f7a4: e0b7 b.n 802f916 //} } else if((!strstr(pData, "GetPar") == 0) || (!strstr(pData, "GetPar\r\n") == 0)) // ×òåíèå ïàðàìåòðîâ 802f7a6: 496a ldr r1, [pc, #424] ; (802f950 ) 802f7a8: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f7aa: f09d fda0 bl 80cd2ee 802f7ae: 4603 mov r3, r0 802f7b0: 2b00 cmp r3, #0 802f7b2: d106 bne.n 802f7c2 802f7b4: 4967 ldr r1, [pc, #412] ; (802f954 ) 802f7b6: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f7b8: f09d fd99 bl 80cd2ee 802f7bc: 4603 mov r3, r0 802f7be: 2b00 cmp r3, #0 802f7c0: d006 beq.n 802f7d0 { command |= COMMAND_READ_PAR; 802f7c2: 4b62 ldr r3, [pc, #392] ; (802f94c ) 802f7c4: 681b ldr r3, [r3, #0] 802f7c6: f043 0301 orr.w r3, r3, #1 802f7ca: 4a60 ldr r2, [pc, #384] ; (802f94c ) 802f7cc: 6013 str r3, [r2, #0] 802f7ce: e0a2 b.n 802f916 } else if((!strstr(pData, "SetPar") == 0) || (!strstr(pData, "SetPar\r\n") == 0)) // ×òåíèå ïàðàìåòðîâ 802f7d0: 4961 ldr r1, [pc, #388] ; (802f958 ) 802f7d2: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f7d4: f09d fd8b bl 80cd2ee 802f7d8: 4603 mov r3, r0 802f7da: 2b00 cmp r3, #0 802f7dc: d106 bne.n 802f7ec 802f7de: 495f ldr r1, [pc, #380] ; (802f95c ) 802f7e0: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f7e2: f09d fd84 bl 80cd2ee 802f7e6: 4603 mov r3, r0 802f7e8: 2b00 cmp r3, #0 802f7ea: d006 beq.n 802f7fa { command |= COMMAND_WRITE_PAR; 802f7ec: 4b57 ldr r3, [pc, #348] ; (802f94c ) 802f7ee: 681b ldr r3, [r3, #0] 802f7f0: f043 0302 orr.w r3, r3, #2 802f7f4: 4a55 ldr r2, [pc, #340] ; (802f94c ) 802f7f6: 6013 str r3, [r2, #0] 802f7f8: e08d b.n 802f916 } else if((!strstr(pData, "Synhr") == 0) || (!strstr(pData, "Synhr\r\n") == 0)) 802f7fa: 4959 ldr r1, [pc, #356] ; (802f960 ) 802f7fc: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f7fe: f09d fd76 bl 80cd2ee 802f802: 4603 mov r3, r0 802f804: 2b00 cmp r3, #0 802f806: d106 bne.n 802f816 802f808: 4956 ldr r1, [pc, #344] ; (802f964 ) 802f80a: 6bf8 ldr r0, [r7, #60] ; 0x3c 802f80c: f09d fd6f bl 80cd2ee 802f810: 4603 mov r3, r0 802f812: 2b00 cmp r3, #0 802f814: d07f beq.n 802f916 { pData += 5; 802f816: 6bfb ldr r3, [r7, #60] ; 0x3c 802f818: 3305 adds r3, #5 802f81a: 63fb str r3, [r7, #60] ; 0x3c date = *pData++; 802f81c: 6bfb ldr r3, [r7, #60] ; 0x3c 802f81e: 1c5a adds r2, r3, #1 802f820: 63fa str r2, [r7, #60] ; 0x3c 802f822: 781b ldrb r3, [r3, #0] 802f824: 63bb str r3, [r7, #56] ; 0x38 month = *pData++; 802f826: 6bfb ldr r3, [r7, #60] ; 0x3c 802f828: 1c5a adds r2, r3, #1 802f82a: 63fa str r2, [r7, #60] ; 0x3c 802f82c: 781b ldrb r3, [r3, #0] 802f82e: 637b str r3, [r7, #52] ; 0x34 year = *pData++; 802f830: 6bfb ldr r3, [r7, #60] ; 0x3c 802f832: 1c5a adds r2, r3, #1 802f834: 63fa str r2, [r7, #60] ; 0x3c 802f836: 781b ldrb r3, [r3, #0] 802f838: 633b str r3, [r7, #48] ; 0x30 hour = *pData++; 802f83a: 6bfb ldr r3, [r7, #60] ; 0x3c 802f83c: 1c5a adds r2, r3, #1 802f83e: 63fa str r2, [r7, #60] ; 0x3c 802f840: 781b ldrb r3, [r3, #0] 802f842: 62fb str r3, [r7, #44] ; 0x2c min = *pData++; 802f844: 6bfb ldr r3, [r7, #60] ; 0x3c 802f846: 1c5a adds r2, r3, #1 802f848: 63fa str r2, [r7, #60] ; 0x3c 802f84a: 781b ldrb r3, [r3, #0] 802f84c: 62bb str r3, [r7, #40] ; 0x28 sec = *pData++; 802f84e: 6bfb ldr r3, [r7, #60] ; 0x3c 802f850: 1c5a adds r2, r3, #1 802f852: 63fa str r2, [r7, #60] ; 0x3c 802f854: 781b ldrb r3, [r3, #0] 802f856: 627b str r3, [r7, #36] ; 0x24 HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 802f858: 1d3b adds r3, r7, #4 802f85a: 2200 movs r2, #0 802f85c: 4619 mov r1, r3 802f85e: 4842 ldr r0, [pc, #264] ; (802f968 ) 802f860: f089 f9de bl 80b8c20 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 802f864: 463b mov r3, r7 802f866: 2200 movs r2, #0 802f868: 4619 mov r1, r3 802f86a: 483f ldr r0, [pc, #252] ; (802f968 ) 802f86c: f089 fade bl 80b8e2c RTC_TimeStruct.Hours = hour; 802f870: 6afb ldr r3, [r7, #44] ; 0x2c 802f872: b2db uxtb r3, r3 802f874: 713b strb r3, [r7, #4] RTC_TimeStruct.Minutes = min; 802f876: 6abb ldr r3, [r7, #40] ; 0x28 802f878: b2db uxtb r3, r3 802f87a: 717b strb r3, [r7, #5] RTC_TimeStruct.Seconds = sec; 802f87c: 6a7b ldr r3, [r7, #36] ; 0x24 802f87e: b2db uxtb r3, r3 802f880: 71bb strb r3, [r7, #6] RTC_DateStruct.Date = date; 802f882: 6bbb ldr r3, [r7, #56] ; 0x38 802f884: b2db uxtb r3, r3 802f886: 70bb strb r3, [r7, #2] RTC_DateStruct.Month = month; 802f888: 6b7b ldr r3, [r7, #52] ; 0x34 802f88a: b2db uxtb r3, r3 802f88c: 707b strb r3, [r7, #1] RTC_DateStruct.Year = year; 802f88e: 6b3b ldr r3, [r7, #48] ; 0x30 802f890: b2db uxtb r3, r3 802f892: 70fb strb r3, [r7, #3] cMonth = MONTH_CODE[RTC_DateStruct.Month]; 802f894: 787b ldrb r3, [r7, #1] 802f896: 461a mov r2, r3 802f898: 4b34 ldr r3, [pc, #208] ; (802f96c ) 802f89a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802f89e: 623b str r3, [r7, #32] cYear = ((RTC_DateStruct.Year / 4) + 6 + RTC_DateStruct.Year) % 7; 802f8a0: 78fb ldrb r3, [r7, #3] 802f8a2: 089b lsrs r3, r3, #2 802f8a4: b2db uxtb r3, r3 802f8a6: 3306 adds r3, #6 802f8a8: 78fa ldrb r2, [r7, #3] 802f8aa: 441a add r2, r3 802f8ac: 4b30 ldr r3, [pc, #192] ; (802f970 ) 802f8ae: fb83 1302 smull r1, r3, r3, r2 802f8b2: 4413 add r3, r2 802f8b4: 1099 asrs r1, r3, #2 802f8b6: 17d3 asrs r3, r2, #31 802f8b8: 1ac9 subs r1, r1, r3 802f8ba: 460b mov r3, r1 802f8bc: 00db lsls r3, r3, #3 802f8be: 1a5b subs r3, r3, r1 802f8c0: 1ad1 subs r1, r2, r3 802f8c2: 61f9 str r1, [r7, #28] RTC_DateStruct.WeekDay = MONTH[(RTC_DateStruct.Date + cMonth + cYear) % 7]; 802f8c4: 78bb ldrb r3, [r7, #2] 802f8c6: 461a mov r2, r3 802f8c8: 6a3b ldr r3, [r7, #32] 802f8ca: 441a add r2, r3 802f8cc: 69fb ldr r3, [r7, #28] 802f8ce: 18d1 adds r1, r2, r3 802f8d0: 4b28 ldr r3, [pc, #160] ; (802f974 ) 802f8d2: fba3 2301 umull r2, r3, r3, r1 802f8d6: 1aca subs r2, r1, r3 802f8d8: 0852 lsrs r2, r2, #1 802f8da: 4413 add r3, r2 802f8dc: 089a lsrs r2, r3, #2 802f8de: 4613 mov r3, r2 802f8e0: 00db lsls r3, r3, #3 802f8e2: 1a9b subs r3, r3, r2 802f8e4: 1aca subs r2, r1, r3 802f8e6: 4b24 ldr r3, [pc, #144] ; (802f978 ) 802f8e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 802f8ec: b2db uxtb r3, r3 802f8ee: 703b strb r3, [r7, #0] HAL_RTC_SetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 802f8f0: 1d3b adds r3, r7, #4 802f8f2: 2200 movs r2, #0 802f8f4: 4619 mov r1, r3 802f8f6: 481c ldr r0, [pc, #112] ; (802f968 ) 802f8f8: f089 f8d4 bl 80b8aa4 HAL_RTC_SetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 802f8fc: 463b mov r3, r7 802f8fe: 2200 movs r2, #0 802f900: 4619 mov r1, r3 802f902: 4819 ldr r0, [pc, #100] ; (802f968 ) 802f904: f089 f9ea bl 80b8cdc command |= COMMAND_SET_TIME; 802f908: 4b10 ldr r3, [pc, #64] ; (802f94c ) 802f90a: 681b ldr r3, [r3, #0] 802f90c: f043 0304 orr.w r3, r3, #4 802f910: 4a0e ldr r2, [pc, #56] ; (802f94c ) 802f912: 6013 str r3, [r2, #0] } } 802f914: e7ff b.n 802f916 802f916: bf00 nop 802f918: 3740 adds r7, #64 ; 0x40 802f91a: 46bd mov sp, r7 802f91c: bd80 pop {r7, pc} 802f91e: bf00 nop 802f920: 20020f40 .word 0x20020f40 802f924: 200248b8 .word 0x200248b8 802f928: 080ce5e8 .word 0x080ce5e8 802f92c: 080ce5f0 .word 0x080ce5f0 802f930: 20020daf .word 0x20020daf 802f934: 20020f30 .word 0x20020f30 802f938: 080ce5f8 .word 0x080ce5f8 802f93c: 080ce600 .word 0x080ce600 802f940: 20020f31 .word 0x20020f31 802f944: 080ce608 .word 0x080ce608 802f948: 080ce610 .word 0x080ce610 802f94c: 20020f44 .word 0x20020f44 802f950: 080ce61c .word 0x080ce61c 802f954: 080ce624 .word 0x080ce624 802f958: 080ce630 .word 0x080ce630 802f95c: 080ce638 .word 0x080ce638 802f960: 080ce644 .word 0x080ce644 802f964: 080ce64c .word 0x080ce64c 802f968: 20068598 .word 0x20068598 802f96c: 080d7f0c .word 0x080d7f0c 802f970: 92492493 .word 0x92492493 802f974: 24924925 .word 0x24924925 802f978: 080d7f40 .word 0x080d7f40 0802f97c : void HAL_UART_RxCplt(void) { 802f97c: b580 push {r7, lr} 802f97e: af00 add r7, sp, #0 bufR[pWr][faseR] = (uint8_t) (UART7->RDR & 0xFF); 802f980: 4b25 ldr r3, [pc, #148] ; (802fa18 ) 802f982: 681a ldr r2, [r3, #0] 802f984: 4b25 ldr r3, [pc, #148] ; (802fa1c ) 802f986: 681b ldr r3, [r3, #0] 802f988: 4925 ldr r1, [pc, #148] ; (802fa20 ) 802f98a: 6a49 ldr r1, [r1, #36] ; 0x24 802f98c: b2c8 uxtb r0, r1 802f98e: 4925 ldr r1, [pc, #148] ; (802fa24 ) 802f990: 0212 lsls r2, r2, #8 802f992: 440a add r2, r1 802f994: 4413 add r3, r2 802f996: 4602 mov r2, r0 802f998: 701a strb r2, [r3, #0] if((bufR[pWr][faseR - 1] == '\r') && (bufR[pWr][faseR] == '\n')) 802f99a: 4b1f ldr r3, [pc, #124] ; (802fa18 ) 802f99c: 681a ldr r2, [r3, #0] 802f99e: 4b1f ldr r3, [pc, #124] ; (802fa1c ) 802f9a0: 681b ldr r3, [r3, #0] 802f9a2: 3b01 subs r3, #1 802f9a4: 491f ldr r1, [pc, #124] ; (802fa24 ) 802f9a6: 0212 lsls r2, r2, #8 802f9a8: 440a add r2, r1 802f9aa: 4413 add r3, r2 802f9ac: 781b ldrb r3, [r3, #0] 802f9ae: 2b0d cmp r3, #13 802f9b0: d12b bne.n 802fa0a 802f9b2: 4b19 ldr r3, [pc, #100] ; (802fa18 ) 802f9b4: 681a ldr r2, [r3, #0] 802f9b6: 4b19 ldr r3, [pc, #100] ; (802fa1c ) 802f9b8: 681b ldr r3, [r3, #0] 802f9ba: 491a ldr r1, [pc, #104] ; (802fa24 ) 802f9bc: 0212 lsls r2, r2, #8 802f9be: 440a add r2, r1 802f9c0: 4413 add r3, r2 802f9c2: 781b ldrb r3, [r3, #0] 802f9c4: 2b0a cmp r3, #10 802f9c6: d120 bne.n 802fa0a { bufR[pWr][faseR + 1] = '\0'; // óñòàíàâëèâàåì òåðìèíàëüíûé 0 ïîñëå \r\n, ÷òîáû îáîçíà÷èòü êîíåö òåêóùåãî ñîîáùåíèÿ 802f9c8: 4b13 ldr r3, [pc, #76] ; (802fa18 ) 802f9ca: 681a ldr r2, [r3, #0] 802f9cc: 4b13 ldr r3, [pc, #76] ; (802fa1c ) 802f9ce: 681b ldr r3, [r3, #0] 802f9d0: 3301 adds r3, #1 802f9d2: 4914 ldr r1, [pc, #80] ; (802fa24 ) 802f9d4: 0212 lsls r2, r2, #8 802f9d6: 440a add r2, r1 802f9d8: 4413 add r3, r2 802f9da: 2200 movs r2, #0 802f9dc: 701a strb r2, [r3, #0] faseR = 0; 802f9de: 4b0f ldr r3, [pc, #60] ; (802fa1c ) 802f9e0: 2200 movs r2, #0 802f9e2: 601a str r2, [r3, #0] pCur = pWr; 802f9e4: 4b0c ldr r3, [pc, #48] ; (802fa18 ) 802f9e6: 681b ldr r3, [r3, #0] 802f9e8: 4a0f ldr r2, [pc, #60] ; (802fa28 ) 802f9ea: 6013 str r3, [r2, #0] BT_InspectMessage(); 802f9ec: f7ff fe8a bl 802f704 pWr++; 802f9f0: 4b09 ldr r3, [pc, #36] ; (802fa18 ) 802f9f2: 681b ldr r3, [r3, #0] 802f9f4: 3301 adds r3, #1 802f9f6: 4a08 ldr r2, [pc, #32] ; (802fa18 ) 802f9f8: 6013 str r3, [r2, #0] if(pWr == MESSAGE_BUF_SIZE) { 802f9fa: 4b07 ldr r3, [pc, #28] ; (802fa18 ) 802f9fc: 681b ldr r3, [r3, #0] 802f9fe: 2b10 cmp r3, #16 802fa00: d108 bne.n 802fa14 pWr = 0; 802fa02: 4b05 ldr r3, [pc, #20] ; (802fa18 ) 802fa04: 2200 movs r2, #0 802fa06: 601a str r2, [r3, #0] if(pWr == MESSAGE_BUF_SIZE) { 802fa08: e004 b.n 802fa14 } } else faseR++; 802fa0a: 4b04 ldr r3, [pc, #16] ; (802fa1c ) 802fa0c: 681b ldr r3, [r3, #0] 802fa0e: 3301 adds r3, #1 802fa10: 4a02 ldr r2, [pc, #8] ; (802fa1c ) 802fa12: 6013 str r3, [r2, #0] } 802fa14: bf00 nop 802fa16: bd80 pop {r7, pc} 802fa18: 20020f3c .word 0x20020f3c 802fa1c: 20020f38 .word 0x20020f38 802fa20: 40007800 .word 0x40007800 802fa24: 200248b8 .word 0x200248b8 802fa28: 20020f40 .word 0x20020f40 0802fa2c : void HAL_UART_TxCpltCallback(UART_HandleTypeDef *huart) { 802fa2c: b480 push {r7} 802fa2e: b083 sub sp, #12 802fa30: af00 add r7, sp, #0 802fa32: 6078 str r0, [r7, #4] TX_OK = true; 802fa34: 4b04 ldr r3, [pc, #16] ; (802fa48 ) 802fa36: 2201 movs r2, #1 802fa38: 701a strb r2, [r3, #0] } 802fa3a: bf00 nop 802fa3c: 370c adds r7, #12 802fa3e: 46bd mov sp, r7 802fa40: f85d 7b04 ldr.w r7, [sp], #4 802fa44: 4770 bx lr 802fa46: bf00 nop 802fa48: 20020f32 .word 0x20020f32 0802fa4c : void HAL_UART_ErrorCallback(UART_HandleTypeDef *huart) { 802fa4c: b580 push {r7, lr} 802fa4e: b082 sub sp, #8 802fa50: af00 add r7, sp, #0 802fa52: 6078 str r0, [r7, #4] RX_OK = TX_OK = false; 802fa54: 2100 movs r1, #0 802fa56: 4b06 ldr r3, [pc, #24] ; (802fa70 ) 802fa58: 460a mov r2, r1 802fa5a: 701a strb r2, [r3, #0] 802fa5c: 4b05 ldr r3, [pc, #20] ; (802fa74 ) 802fa5e: 460a mov r2, r1 802fa60: 701a strb r2, [r3, #0] HAL_UART_Abort_IT(&huart7); 802fa62: 4805 ldr r0, [pc, #20] ; (802fa78 ) 802fa64: f08c fea0 bl 80bc7a8 } 802fa68: bf00 nop 802fa6a: 3708 adds r7, #8 802fa6c: 46bd mov sp, r7 802fa6e: bd80 pop {r7, pc} 802fa70: 20020f32 .word 0x20020f32 802fa74: 20020f33 .word 0x20020f33 802fa78: 20068a24 .word 0x20068a24 0802fa7c : } void HAL_SMBUS_MasterTxCpltCallback(SMBUS_HandleTypeDef *hsmbus) { 802fa7c: b480 push {r7} 802fa7e: b083 sub sp, #12 802fa80: af00 add r7, sp, #0 802fa82: 6078 str r0, [r7, #4] I2C_Transmitted = 1; 802fa84: 4b04 ldr r3, [pc, #16] ; (802fa98 ) 802fa86: 2201 movs r2, #1 802fa88: 601a str r2, [r3, #0] } 802fa8a: bf00 nop 802fa8c: 370c adds r7, #12 802fa8e: 46bd mov sp, r7 802fa90: f85d 7b04 ldr.w r7, [sp], #4 802fa94: 4770 bx lr 802fa96: bf00 nop 802fa98: 20020f60 .word 0x20020f60 0802fa9c : void HAL_SMBUS_MasterRxCpltCallback(SMBUS_HandleTypeDef *hsmbus) { 802fa9c: b480 push {r7} 802fa9e: b083 sub sp, #12 802faa0: af00 add r7, sp, #0 802faa2: 6078 str r0, [r7, #4] I2C_Received = 1; 802faa4: 4b04 ldr r3, [pc, #16] ; (802fab8 ) 802faa6: 2201 movs r2, #1 802faa8: 601a str r2, [r3, #0] } 802faaa: bf00 nop 802faac: 370c adds r7, #12 802faae: 46bd mov sp, r7 802fab0: f85d 7b04 ldr.w r7, [sp], #4 802fab4: 4770 bx lr 802fab6: bf00 nop 802fab8: 20020f64 .word 0x20020f64 802fabc: 00000000 .word 0x00000000 0802fac0 : //--------------------------------------------------------------------------- // H(s) = ( Ds^2 + Es + F ) / ( As^2 + Bs + C ) // H(z) = ( b2z^2 + b1z + b0 ) / ( a2z^2 + a1z + a0 ) TIIRCoeff CalcIIRFilterCoeff(TIIRFilterTypes ProtoType, double Beta, TIIRPassTypes PassType, int NumPoles, double Fc, double BW) { 802fac0: b590 push {r4, r7, lr} 802fac2: f2ad 6da4 subw sp, sp, #1700 ; 0x6a4 802fac6: af00 add r7, sp, #0 802fac8: f507 7403 add.w r4, r7, #524 ; 0x20c 802facc: 6020 str r0, [r4, #0] 802face: 4608 mov r0, r1 802fad0: f507 7100 add.w r1, r7, #512 ; 0x200 802fad4: ed81 0b00 vstr d0, [r1] 802fad8: 4611 mov r1, r2 802fada: f507 72fe add.w r2, r7, #508 ; 0x1fc 802fade: 6013 str r3, [r2, #0] 802fae0: f507 73f8 add.w r3, r7, #496 ; 0x1f0 802fae4: ed83 1b00 vstr d1, [r3] 802fae8: f507 73f4 add.w r3, r7, #488 ; 0x1e8 802faec: ed83 2b00 vstr d2, [r3] 802faf0: f207 230b addw r3, r7, #523 ; 0x20b 802faf4: 4602 mov r2, r0 802faf6: 701a strb r2, [r3, #0] 802faf8: f207 230a addw r3, r7, #522 ; 0x20a 802fafc: 460a mov r2, r1 802fafe: 701a strb r2, [r3, #0] double A, B, C, D, E, F, T, Q, Arg; double a2[ARRAY_DIM], a1[ARRAY_DIM], a0[ARRAY_DIM], b2[ARRAY_DIM], b1[ARRAY_DIM], b0[ARRAY_DIM]; double OmegaC; TSPlaneCoeff SPlaneCoeff; OmegaC = ((Fc * 2) / ((float64_t) Fs)); 802fb00: f507 73f8 add.w r3, r7, #496 ; 0x1f0 802fb04: ed93 7b00 vldr d7, [r3] 802fb08: ee37 5b07 vadd.f64 d5, d7, d7 802fb0c: 4b92 ldr r3, [pc, #584] ; (802fd58 ) 802fb0e: 681b ldr r3, [r3, #0] 802fb10: ee07 3a90 vmov s15, r3 802fb14: eeb8 6b67 vcvt.f64.u32 d6, s15 802fb18: ee85 7b06 vdiv.f64 d7, d5, d6 802fb1c: f507 63d0 add.w r3, r7, #1664 ; 0x680 802fb20: ed83 7b00 vstr d7, [r3] // Init the IIR structure. a3, a4, b3,and b4 are only used to calculate the 2nd order // sections for the bandpass and notch filters. They get discarded. for(j=0; j { IIR.a0[j] = 0.0; IIR.b0[j] = 0.0; 802fb2c: 4a8b ldr r2, [pc, #556] ; (802fd5c ) 802fb2e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fb32: 00db lsls r3, r3, #3 802fb34: 441a add r2, r3 802fb36: f04f 0300 mov.w r3, #0 802fb3a: f04f 0400 mov.w r4, #0 802fb3e: e882 0018 stmia.w r2, {r3, r4} 802fb42: 4a86 ldr r2, [pc, #536] ; (802fd5c ) 802fb44: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fb48: 3332 adds r3, #50 ; 0x32 802fb4a: 00db lsls r3, r3, #3 802fb4c: 441a add r2, r3 802fb4e: f04f 0300 mov.w r3, #0 802fb52: f04f 0400 mov.w r4, #0 802fb56: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = 0.0; IIR.b1[j] = 0.0; 802fb5a: 4a80 ldr r2, [pc, #512] ; (802fd5c ) 802fb5c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fb60: 330a adds r3, #10 802fb62: 00db lsls r3, r3, #3 802fb64: 441a add r2, r3 802fb66: f04f 0300 mov.w r3, #0 802fb6a: f04f 0400 mov.w r4, #0 802fb6e: e882 0018 stmia.w r2, {r3, r4} 802fb72: 4a7a ldr r2, [pc, #488] ; (802fd5c ) 802fb74: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fb78: 333c adds r3, #60 ; 0x3c 802fb7a: 00db lsls r3, r3, #3 802fb7c: 441a add r2, r3 802fb7e: f04f 0300 mov.w r3, #0 802fb82: f04f 0400 mov.w r4, #0 802fb86: e882 0018 stmia.w r2, {r3, r4} IIR.a2[j] = 0.0; IIR.b2[j] = 0.0; 802fb8a: 4a74 ldr r2, [pc, #464] ; (802fd5c ) 802fb8c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fb90: 3314 adds r3, #20 802fb92: 00db lsls r3, r3, #3 802fb94: 441a add r2, r3 802fb96: f04f 0300 mov.w r3, #0 802fb9a: f04f 0400 mov.w r4, #0 802fb9e: e882 0018 stmia.w r2, {r3, r4} 802fba2: 4a6e ldr r2, [pc, #440] ; (802fd5c ) 802fba4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fba8: 3346 adds r3, #70 ; 0x46 802fbaa: 00db lsls r3, r3, #3 802fbac: 441a add r2, r3 802fbae: f04f 0300 mov.w r3, #0 802fbb2: f04f 0400 mov.w r4, #0 802fbb6: e882 0018 stmia.w r2, {r3, r4} IIR.a3[j] = 0.0; IIR.b3[j] = 0.0; 802fbba: 4a68 ldr r2, [pc, #416] ; (802fd5c ) 802fbbc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fbc0: 331e adds r3, #30 802fbc2: 00db lsls r3, r3, #3 802fbc4: 441a add r2, r3 802fbc6: f04f 0300 mov.w r3, #0 802fbca: f04f 0400 mov.w r4, #0 802fbce: e882 0018 stmia.w r2, {r3, r4} 802fbd2: 4a62 ldr r2, [pc, #392] ; (802fd5c ) 802fbd4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fbd8: 3350 adds r3, #80 ; 0x50 802fbda: 00db lsls r3, r3, #3 802fbdc: 441a add r2, r3 802fbde: f04f 0300 mov.w r3, #0 802fbe2: f04f 0400 mov.w r4, #0 802fbe6: e882 0018 stmia.w r2, {r3, r4} IIR.a4[j] = 0.0; IIR.b4[j] = 0.0; 802fbea: 4a5c ldr r2, [pc, #368] ; (802fd5c ) 802fbec: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fbf0: 3328 adds r3, #40 ; 0x28 802fbf2: 00db lsls r3, r3, #3 802fbf4: 441a add r2, r3 802fbf6: f04f 0300 mov.w r3, #0 802fbfa: f04f 0400 mov.w r4, #0 802fbfe: e882 0018 stmia.w r2, {r3, r4} 802fc02: 4a56 ldr r2, [pc, #344] ; (802fd5c ) 802fc04: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fc08: 335a adds r3, #90 ; 0x5a 802fc0a: 00db lsls r3, r3, #3 802fc0c: 441a add r2, r3 802fc0e: f04f 0300 mov.w r3, #0 802fc12: f04f 0400 mov.w r4, #0 802fc16: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } IIR.NumSections = 0; 802fc2e: 4b4b ldr r3, [pc, #300] ; (802fd5c ) 802fc30: 2200 movs r2, #0 802fc32: f8c3 2320 str.w r2, [r3, #800] ; 0x320 // This gets the 2nd order s plane filter coefficients from the tables in FilterCoefficients.hpp. // If you have code that computes these coefficients, then use that instead. SPlaneCoeff = GetSPlaneCoefficients(ProtoType, NumPoles, Beta); 802fc36: f507 7404 add.w r4, r7, #528 ; 0x210 802fc3a: 4638 mov r0, r7 802fc3c: f507 7200 add.w r2, r7, #512 ; 0x200 802fc40: f507 73fe add.w r3, r7, #508 ; 0x1fc 802fc44: f207 210b addw r1, r7, #523 ; 0x20b 802fc48: 7809 ldrb r1, [r1, #0] 802fc4a: ed92 0b00 vldr d0, [r2] 802fc4e: 681a ldr r2, [r3, #0] 802fc50: f003 fb32 bl 80332b8 802fc54: 463b mov r3, r7 802fc56: 4620 mov r0, r4 802fc58: 4619 mov r1, r3 802fc5a: f44f 73f4 mov.w r3, #488 ; 0x1e8 802fc5e: 461a mov r2, r3 802fc60: f09d fa03 bl 80cd06a IIR.NumSections = SPlaneCoeff.NumSections; // NumSections = (NumPoles + 1)/2 802fc64: f507 7304 add.w r3, r7, #528 ; 0x210 802fc68: f8d3 31e0 ldr.w r3, [r3, #480] ; 0x1e0 802fc6c: 4a3b ldr r2, [pc, #236] ; (802fd5c ) 802fc6e: f8c2 3320 str.w r3, [r2, #800] ; 0x320 // T sets the filter's corner frequency, or center freqency. // The Bilinear transform is defined as: s = 2/T * tan(Omega/2) = 2/T * (1 - z)/(1 + z) T = 2.0 * tan(OmegaC * M_PI_2); 802fc72: f507 63d0 add.w r3, r7, #1664 ; 0x680 802fc76: ed93 7b00 vldr d7, [r3] 802fc7a: ed9f 6b2f vldr d6, [pc, #188] ; 802fd38 802fc7e: ee27 7b06 vmul.f64 d7, d7, d6 802fc82: eeb0 0b47 vmov.f64 d0, d7 802fc86: f09a ff9b bl 80cabc0 802fc8a: eeb0 7b40 vmov.f64 d7, d0 802fc8e: ee37 7b07 vadd.f64 d7, d7, d7 802fc92: f507 63cf add.w r3, r7, #1656 ; 0x678 802fc96: ed83 7b00 vstr d7, [r3] Q = 1.0 + OmegaC; 802fc9a: f507 63d0 add.w r3, r7, #1664 ; 0x680 802fc9e: ed93 7b00 vldr d7, [r3] 802fca2: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 802fca6: ee37 7b06 vadd.f64 d7, d7, d6 802fcaa: f507 63d1 add.w r3, r7, #1672 ; 0x688 802fcae: ed83 7b00 vstr d7, [r3] if(Q > 1.95)Q = 1.95; 802fcb2: f507 63d1 add.w r3, r7, #1672 ; 0x688 802fcb6: ed93 7b00 vldr d7, [r3] 802fcba: ed9f 6b21 vldr d6, [pc, #132] ; 802fd40 802fcbe: eeb4 7bc6 vcmpe.f64 d7, d6 802fcc2: eef1 fa10 vmrs APSR_nzcv, fpscr 802fcc6: dd05 ble.n 802fcd4 802fcc8: a41d add r4, pc, #116 ; (adr r4, 802fd40 ) 802fcca: cc18 ldmia r4, {r3, r4} 802fccc: f507 62d1 add.w r2, r7, #1672 ; 0x688 802fcd0: e882 0018 stmia.w r2, {r3, r4} Q = 0.8 * tan(Q * M_PI_4); // This is a correction factor for Q. Q is used with band pass and notch flters. 802fcd4: f507 63d1 add.w r3, r7, #1672 ; 0x688 802fcd8: ed93 7b00 vldr d7, [r3] 802fcdc: ed9f 6b1a vldr d6, [pc, #104] ; 802fd48 802fce0: ee27 7b06 vmul.f64 d7, d7, d6 802fce4: eeb0 0b47 vmov.f64 d0, d7 802fce8: f09a ff6a bl 80cabc0 802fcec: eeb0 6b40 vmov.f64 d6, d0 802fcf0: ed9f 7b17 vldr d7, [pc, #92] ; 802fd50 802fcf4: ee26 7b07 vmul.f64 d7, d6, d7 802fcf8: f507 63d1 add.w r3, r7, #1672 ; 0x688 802fcfc: ed83 7b00 vstr d7, [r3] Q = OmegaC / BW / Q; // This is the corrected Q. 802fd00: f507 73f4 add.w r3, r7, #488 ; 0x1e8 802fd04: f507 62d0 add.w r2, r7, #1664 ; 0x680 802fd08: ed92 6b00 vldr d6, [r2] 802fd0c: ed93 7b00 vldr d7, [r3] 802fd10: ee86 5b07 vdiv.f64 d5, d6, d7 802fd14: f507 63d1 add.w r3, r7, #1672 ; 0x688 802fd18: ed93 6b00 vldr d6, [r3] 802fd1c: ee85 7b06 vdiv.f64 d7, d5, d6 802fd20: f507 63d1 add.w r3, r7, #1672 ; 0x688 802fd24: ed83 7b00 vstr d7, [r3] k = 0; 802fd28: 2300 movs r3, #0 802fd2a: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 for(j=0; j 802fd38: 54442d18 .word 0x54442d18 802fd3c: 3ff921fb .word 0x3ff921fb 802fd40: 33333333 .word 0x33333333 802fd44: 3fff3333 .word 0x3fff3333 802fd48: 54442d18 .word 0x54442d18 802fd4c: 3fe921fb .word 0x3fe921fb 802fd50: 9999999a .word 0x9999999a 802fd54: 3fe99999 .word 0x3fe99999 802fd58: 20021d1c .word 0x20021d1c 802fd5c: 20025918 .word 0x20025918 { A = SPlaneCoeff.A[j]; // We use A - F to make the code easier to read. 802fd60: f507 7204 add.w r2, r7, #528 ; 0x210 802fd64: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fd68: 00db lsls r3, r3, #3 802fd6a: 4413 add r3, r2 802fd6c: cb18 ldmia r3, {r3, r4} 802fd6e: f507 62ce add.w r2, r7, #1648 ; 0x670 802fd72: e882 0018 stmia.w r2, {r3, r4} B = SPlaneCoeff.B[j]; 802fd76: f507 7204 add.w r2, r7, #528 ; 0x210 802fd7a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fd7e: 330a adds r3, #10 802fd80: 00db lsls r3, r3, #3 802fd82: 4413 add r3, r2 802fd84: cb18 ldmia r3, {r3, r4} 802fd86: f507 62cd add.w r2, r7, #1640 ; 0x668 802fd8a: e882 0018 stmia.w r2, {r3, r4} C = SPlaneCoeff.C[j]; 802fd8e: f507 7204 add.w r2, r7, #528 ; 0x210 802fd92: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fd96: 3314 adds r3, #20 802fd98: 00db lsls r3, r3, #3 802fd9a: 4413 add r3, r2 802fd9c: cb18 ldmia r3, {r3, r4} 802fd9e: f507 62cc add.w r2, r7, #1632 ; 0x660 802fda2: e882 0018 stmia.w r2, {r3, r4} D = SPlaneCoeff.D[j]; 802fda6: f507 7204 add.w r2, r7, #528 ; 0x210 802fdaa: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fdae: 331e adds r3, #30 802fdb0: 00db lsls r3, r3, #3 802fdb2: 4413 add r3, r2 802fdb4: cb18 ldmia r3, {r3, r4} 802fdb6: f507 62cb add.w r2, r7, #1624 ; 0x658 802fdba: e882 0018 stmia.w r2, {r3, r4} E = SPlaneCoeff.E[j]; 802fdbe: f507 7204 add.w r2, r7, #528 ; 0x210 802fdc2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fdc6: 3328 adds r3, #40 ; 0x28 802fdc8: 00db lsls r3, r3, #3 802fdca: 4413 add r3, r2 802fdcc: cb18 ldmia r3, {r3, r4} 802fdce: f507 62ca add.w r2, r7, #1616 ; 0x650 802fdd2: e882 0018 stmia.w r2, {r3, r4} F = SPlaneCoeff.F[j]; 802fdd6: f507 7204 add.w r2, r7, #528 ; 0x210 802fdda: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fdde: 3332 adds r3, #50 ; 0x32 802fde0: 00db lsls r3, r3, #3 802fde2: 4413 add r3, r2 802fde4: cb18 ldmia r3, {r3, r4} 802fde6: f507 62c9 add.w r2, r7, #1608 ; 0x648 802fdea: e882 0018 stmia.w r2, {r3, r4} // b's are the numerator a's are the denominator if(PassType == iirLPF) 802fdee: f207 230a addw r3, r7, #522 ; 0x20a 802fdf2: 781b ldrb r3, [r3, #0] 802fdf4: 2b00 cmp r3, #0 802fdf6: f040 821d bne.w 8030234 { if(A == 0.0 && D == 0.0) // 1 pole case 802fdfa: f507 63ce add.w r3, r7, #1648 ; 0x670 802fdfe: ed93 7b00 vldr d7, [r3] 802fe02: eeb5 7b40 vcmp.f64 d7, #0.0 802fe06: eef1 fa10 vmrs APSR_nzcv, fpscr 802fe0a: f040 80c3 bne.w 802ff94 802fe0e: f507 63cb add.w r3, r7, #1624 ; 0x658 802fe12: ed93 7b00 vldr d7, [r3] 802fe16: eeb5 7b40 vcmp.f64 d7, #0.0 802fe1a: eef1 fa10 vmrs APSR_nzcv, fpscr 802fe1e: f040 80b9 bne.w 802ff94 { Arg = (2.0*B + C*T); 802fe22: f507 63cd add.w r3, r7, #1640 ; 0x668 802fe26: ed93 7b00 vldr d7, [r3] 802fe2a: ee37 6b07 vadd.f64 d6, d7, d7 802fe2e: f507 63cc add.w r3, r7, #1632 ; 0x660 802fe32: ed93 5b00 vldr d5, [r3] 802fe36: f507 63cf add.w r3, r7, #1656 ; 0x678 802fe3a: ed93 7b00 vldr d7, [r3] 802fe3e: ee25 7b07 vmul.f64 d7, d5, d7 802fe42: ee36 7b07 vadd.f64 d7, d6, d7 802fe46: f507 63c8 add.w r3, r7, #1600 ; 0x640 802fe4a: ed83 7b00 vstr d7, [r3] IIR.a2[j] = 0.0; 802fe4e: 4a4f ldr r2, [pc, #316] ; (802ff8c ) 802fe50: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fe54: 3314 adds r3, #20 802fe56: 00db lsls r3, r3, #3 802fe58: 441a add r2, r3 802fe5a: f04f 0300 mov.w r3, #0 802fe5e: f04f 0400 mov.w r4, #0 802fe62: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = (-2.0*B + C*T) / Arg; 802fe66: f507 63cd add.w r3, r7, #1640 ; 0x668 802fe6a: ed93 7b00 vldr d7, [r3] 802fe6e: eeb8 6b00 vmov.f64 d6, #128 ; 0xc0000000 -2.0 802fe72: ee27 6b06 vmul.f64 d6, d7, d6 802fe76: f507 63cc add.w r3, r7, #1632 ; 0x660 802fe7a: ed93 5b00 vldr d5, [r3] 802fe7e: f507 63cf add.w r3, r7, #1656 ; 0x678 802fe82: ed93 7b00 vldr d7, [r3] 802fe86: ee25 7b07 vmul.f64 d7, d5, d7 802fe8a: ee36 5b07 vadd.f64 d5, d6, d7 802fe8e: f507 63c8 add.w r3, r7, #1600 ; 0x640 802fe92: ed93 6b00 vldr d6, [r3] 802fe96: ee85 7b06 vdiv.f64 d7, d5, d6 802fe9a: 4a3c ldr r2, [pc, #240] ; (802ff8c ) 802fe9c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fea0: 330a adds r3, #10 802fea2: 00db lsls r3, r3, #3 802fea4: 4413 add r3, r2 802fea6: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; // The filter implementation depends on a0 = 1. 802feaa: 4a38 ldr r2, [pc, #224] ; (802ff8c ) 802feac: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802feb0: 00db lsls r3, r3, #3 802feb2: 441a add r2, r3 802feb4: f04f 0300 mov.w r3, #0 802feb8: 4c35 ldr r4, [pc, #212] ; (802ff90 ) 802feba: e882 0018 stmia.w r2, {r3, r4} IIR.b2[j] = 0.0; 802febe: 4a33 ldr r2, [pc, #204] ; (802ff8c ) 802fec0: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802fec4: 3346 adds r3, #70 ; 0x46 802fec6: 00db lsls r3, r3, #3 802fec8: 441a add r2, r3 802feca: f04f 0300 mov.w r3, #0 802fece: f04f 0400 mov.w r4, #0 802fed2: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = (-2.0*E + F*T) / Arg * C/F; 802fed6: f507 63ca add.w r3, r7, #1616 ; 0x650 802feda: ed93 7b00 vldr d7, [r3] 802fede: eeb8 6b00 vmov.f64 d6, #128 ; 0xc0000000 -2.0 802fee2: ee27 6b06 vmul.f64 d6, d7, d6 802fee6: f507 63c9 add.w r3, r7, #1608 ; 0x648 802feea: ed93 5b00 vldr d5, [r3] 802feee: f507 63cf add.w r3, r7, #1656 ; 0x678 802fef2: ed93 7b00 vldr d7, [r3] 802fef6: ee25 7b07 vmul.f64 d7, d5, d7 802fefa: ee36 5b07 vadd.f64 d5, d6, d7 802fefe: f507 63c8 add.w r3, r7, #1600 ; 0x640 802ff02: ed93 7b00 vldr d7, [r3] 802ff06: ee85 6b07 vdiv.f64 d6, d5, d7 802ff0a: f507 63cc add.w r3, r7, #1632 ; 0x660 802ff0e: ed93 7b00 vldr d7, [r3] 802ff12: ee26 5b07 vmul.f64 d5, d6, d7 802ff16: f507 63c9 add.w r3, r7, #1608 ; 0x648 802ff1a: ed93 6b00 vldr d6, [r3] 802ff1e: ee85 7b06 vdiv.f64 d7, d5, d6 802ff22: 4a1a ldr r2, [pc, #104] ; (802ff8c ) 802ff24: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802ff28: 333c adds r3, #60 ; 0x3c 802ff2a: 00db lsls r3, r3, #3 802ff2c: 4413 add r3, r2 802ff2e: ed83 7b00 vstr d7, [r3] IIR.b0[j] = ( 2.0*E + F*T) / Arg * C/F; 802ff32: f507 63ca add.w r3, r7, #1616 ; 0x650 802ff36: ed93 7b00 vldr d7, [r3] 802ff3a: ee37 6b07 vadd.f64 d6, d7, d7 802ff3e: f507 63c9 add.w r3, r7, #1608 ; 0x648 802ff42: ed93 5b00 vldr d5, [r3] 802ff46: f507 63cf add.w r3, r7, #1656 ; 0x678 802ff4a: ed93 7b00 vldr d7, [r3] 802ff4e: ee25 7b07 vmul.f64 d7, d5, d7 802ff52: ee36 5b07 vadd.f64 d5, d6, d7 802ff56: f507 63c8 add.w r3, r7, #1600 ; 0x640 802ff5a: ed93 7b00 vldr d7, [r3] 802ff5e: ee85 6b07 vdiv.f64 d6, d5, d7 802ff62: f507 63cc add.w r3, r7, #1632 ; 0x660 802ff66: ed93 7b00 vldr d7, [r3] 802ff6a: ee26 5b07 vmul.f64 d5, d6, d7 802ff6e: f507 63c9 add.w r3, r7, #1608 ; 0x648 802ff72: ed93 6b00 vldr d6, [r3] 802ff76: ee85 7b06 vdiv.f64 d7, d5, d6 802ff7a: 4a04 ldr r2, [pc, #16] ; (802ff8c ) 802ff7c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 802ff80: 3332 adds r3, #50 ; 0x32 802ff82: 00db lsls r3, r3, #3 802ff84: 4413 add r3, r2 802ff86: ed83 7b00 vstr d7, [r3] 802ff8a: e153 b.n 8030234 802ff8c: 20025918 .word 0x20025918 802ff90: 3ff00000 .word 0x3ff00000 } else // 2 poles { Arg = (4.0*A + 2.0*B*T + C*T*T); 802ff94: f507 63ce add.w r3, r7, #1648 ; 0x670 802ff98: ed93 7b00 vldr d7, [r3] 802ff9c: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 802ffa0: ee27 6b06 vmul.f64 d6, d7, d6 802ffa4: f507 63cd add.w r3, r7, #1640 ; 0x668 802ffa8: ed93 7b00 vldr d7, [r3] 802ffac: ee37 5b07 vadd.f64 d5, d7, d7 802ffb0: f507 63cf add.w r3, r7, #1656 ; 0x678 802ffb4: ed93 7b00 vldr d7, [r3] 802ffb8: ee25 7b07 vmul.f64 d7, d5, d7 802ffbc: ee36 6b07 vadd.f64 d6, d6, d7 802ffc0: f507 63cc add.w r3, r7, #1632 ; 0x660 802ffc4: ed93 5b00 vldr d5, [r3] 802ffc8: f507 63cf add.w r3, r7, #1656 ; 0x678 802ffcc: ed93 7b00 vldr d7, [r3] 802ffd0: ee25 5b07 vmul.f64 d5, d5, d7 802ffd4: f507 63cf add.w r3, r7, #1656 ; 0x678 802ffd8: ed93 7b00 vldr d7, [r3] 802ffdc: ee25 7b07 vmul.f64 d7, d5, d7 802ffe0: ee36 7b07 vadd.f64 d7, d6, d7 802ffe4: f507 63c8 add.w r3, r7, #1600 ; 0x640 802ffe8: ed83 7b00 vstr d7, [r3] IIR.a2[j] = (4.0*A - 2.0*B*T + C*T*T) / Arg; 802ffec: f507 63ce add.w r3, r7, #1648 ; 0x670 802fff0: ed93 7b00 vldr d7, [r3] 802fff4: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 802fff8: ee27 6b06 vmul.f64 d6, d7, d6 802fffc: f507 63cd add.w r3, r7, #1640 ; 0x668 8030000: ed93 7b00 vldr d7, [r3] 8030004: ee37 5b07 vadd.f64 d5, d7, d7 8030008: f507 63cf add.w r3, r7, #1656 ; 0x678 803000c: ed93 7b00 vldr d7, [r3] 8030010: ee25 7b07 vmul.f64 d7, d5, d7 8030014: ee36 6b47 vsub.f64 d6, d6, d7 8030018: f507 63cc add.w r3, r7, #1632 ; 0x660 803001c: ed93 5b00 vldr d5, [r3] 8030020: f507 63cf add.w r3, r7, #1656 ; 0x678 8030024: ed93 7b00 vldr d7, [r3] 8030028: ee25 5b07 vmul.f64 d5, d5, d7 803002c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030030: ed93 7b00 vldr d7, [r3] 8030034: ee25 7b07 vmul.f64 d7, d5, d7 8030038: ee36 5b07 vadd.f64 d5, d6, d7 803003c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030040: ed93 6b00 vldr d6, [r3] 8030044: ee85 7b06 vdiv.f64 d7, d5, d6 8030048: 4ae0 ldr r2, [pc, #896] ; (80303cc ) 803004a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803004e: 3314 adds r3, #20 8030050: 00db lsls r3, r3, #3 8030052: 4413 add r3, r2 8030054: ed83 7b00 vstr d7, [r3] IIR.a1[j] = (2.0*C*T*T - 8.0*A) / Arg; 8030058: f507 63cc add.w r3, r7, #1632 ; 0x660 803005c: ed93 7b00 vldr d7, [r3] 8030060: ee37 6b07 vadd.f64 d6, d7, d7 8030064: f507 63cf add.w r3, r7, #1656 ; 0x678 8030068: ed93 7b00 vldr d7, [r3] 803006c: ee26 6b07 vmul.f64 d6, d6, d7 8030070: f507 63cf add.w r3, r7, #1656 ; 0x678 8030074: ed93 7b00 vldr d7, [r3] 8030078: ee26 6b07 vmul.f64 d6, d6, d7 803007c: f507 63ce add.w r3, r7, #1648 ; 0x670 8030080: ed93 7b00 vldr d7, [r3] 8030084: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030088: ee27 7b05 vmul.f64 d7, d7, d5 803008c: ee36 5b47 vsub.f64 d5, d6, d7 8030090: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030094: ed93 6b00 vldr d6, [r3] 8030098: ee85 7b06 vdiv.f64 d7, d5, d6 803009c: 4acb ldr r2, [pc, #812] ; (80303cc ) 803009e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80300a2: 330a adds r3, #10 80300a4: 00db lsls r3, r3, #3 80300a6: 4413 add r3, r2 80300a8: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; // The filter implementation depends on a0 = 1. 80300ac: 4ac7 ldr r2, [pc, #796] ; (80303cc ) 80300ae: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80300b2: 00db lsls r3, r3, #3 80300b4: 441a add r2, r3 80300b6: f04f 0300 mov.w r3, #0 80300ba: 4cc5 ldr r4, [pc, #788] ; (80303d0 ) 80300bc: e882 0018 stmia.w r2, {r3, r4} // With all pole filters, our LPF numerator is (z+1)^2, so all our Z Plane zeros are at -1 IIR.b2[j] = (4.0*D - 2.0*E*T + F*T*T) / Arg * C/F; 80300c0: f507 63cb add.w r3, r7, #1624 ; 0x658 80300c4: ed93 7b00 vldr d7, [r3] 80300c8: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80300cc: ee27 6b06 vmul.f64 d6, d7, d6 80300d0: f507 63ca add.w r3, r7, #1616 ; 0x650 80300d4: ed93 7b00 vldr d7, [r3] 80300d8: ee37 5b07 vadd.f64 d5, d7, d7 80300dc: f507 63cf add.w r3, r7, #1656 ; 0x678 80300e0: ed93 7b00 vldr d7, [r3] 80300e4: ee25 7b07 vmul.f64 d7, d5, d7 80300e8: ee36 6b47 vsub.f64 d6, d6, d7 80300ec: f507 63c9 add.w r3, r7, #1608 ; 0x648 80300f0: ed93 5b00 vldr d5, [r3] 80300f4: f507 63cf add.w r3, r7, #1656 ; 0x678 80300f8: ed93 7b00 vldr d7, [r3] 80300fc: ee25 5b07 vmul.f64 d5, d5, d7 8030100: f507 63cf add.w r3, r7, #1656 ; 0x678 8030104: ed93 7b00 vldr d7, [r3] 8030108: ee25 7b07 vmul.f64 d7, d5, d7 803010c: ee36 5b07 vadd.f64 d5, d6, d7 8030110: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030114: ed93 7b00 vldr d7, [r3] 8030118: ee85 6b07 vdiv.f64 d6, d5, d7 803011c: f507 63cc add.w r3, r7, #1632 ; 0x660 8030120: ed93 7b00 vldr d7, [r3] 8030124: ee26 5b07 vmul.f64 d5, d6, d7 8030128: f507 63c9 add.w r3, r7, #1608 ; 0x648 803012c: ed93 6b00 vldr d6, [r3] 8030130: ee85 7b06 vdiv.f64 d7, d5, d6 8030134: 4aa5 ldr r2, [pc, #660] ; (80303cc ) 8030136: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803013a: 3346 adds r3, #70 ; 0x46 803013c: 00db lsls r3, r3, #3 803013e: 4413 add r3, r2 8030140: ed83 7b00 vstr d7, [r3] IIR.b1[j] = (2.0*F*T*T - 8.0*D) / Arg * C/F; 8030144: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030148: ed93 7b00 vldr d7, [r3] 803014c: ee37 6b07 vadd.f64 d6, d7, d7 8030150: f507 63cf add.w r3, r7, #1656 ; 0x678 8030154: ed93 7b00 vldr d7, [r3] 8030158: ee26 6b07 vmul.f64 d6, d6, d7 803015c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030160: ed93 7b00 vldr d7, [r3] 8030164: ee26 6b07 vmul.f64 d6, d6, d7 8030168: f507 63cb add.w r3, r7, #1624 ; 0x658 803016c: ed93 7b00 vldr d7, [r3] 8030170: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030174: ee27 7b05 vmul.f64 d7, d7, d5 8030178: ee36 5b47 vsub.f64 d5, d6, d7 803017c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030180: ed93 7b00 vldr d7, [r3] 8030184: ee85 6b07 vdiv.f64 d6, d5, d7 8030188: f507 63cc add.w r3, r7, #1632 ; 0x660 803018c: ed93 7b00 vldr d7, [r3] 8030190: ee26 5b07 vmul.f64 d5, d6, d7 8030194: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030198: ed93 6b00 vldr d6, [r3] 803019c: ee85 7b06 vdiv.f64 d7, d5, d6 80301a0: 4a8a ldr r2, [pc, #552] ; (80303cc ) 80301a2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80301a6: 333c adds r3, #60 ; 0x3c 80301a8: 00db lsls r3, r3, #3 80301aa: 4413 add r3, r2 80301ac: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (4*D + F*T*T + 2.0*E*T) / Arg * C/F; 80301b0: f507 63cb add.w r3, r7, #1624 ; 0x658 80301b4: ed93 7b00 vldr d7, [r3] 80301b8: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80301bc: ee27 6b06 vmul.f64 d6, d7, d6 80301c0: f507 63c9 add.w r3, r7, #1608 ; 0x648 80301c4: ed93 5b00 vldr d5, [r3] 80301c8: f507 63cf add.w r3, r7, #1656 ; 0x678 80301cc: ed93 7b00 vldr d7, [r3] 80301d0: ee25 5b07 vmul.f64 d5, d5, d7 80301d4: f507 63cf add.w r3, r7, #1656 ; 0x678 80301d8: ed93 7b00 vldr d7, [r3] 80301dc: ee25 7b07 vmul.f64 d7, d5, d7 80301e0: ee36 6b07 vadd.f64 d6, d6, d7 80301e4: f507 63ca add.w r3, r7, #1616 ; 0x650 80301e8: ed93 7b00 vldr d7, [r3] 80301ec: ee37 5b07 vadd.f64 d5, d7, d7 80301f0: f507 63cf add.w r3, r7, #1656 ; 0x678 80301f4: ed93 7b00 vldr d7, [r3] 80301f8: ee25 7b07 vmul.f64 d7, d5, d7 80301fc: ee36 5b07 vadd.f64 d5, d6, d7 8030200: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030204: ed93 7b00 vldr d7, [r3] 8030208: ee85 6b07 vdiv.f64 d6, d5, d7 803020c: f507 63cc add.w r3, r7, #1632 ; 0x660 8030210: ed93 7b00 vldr d7, [r3] 8030214: ee26 5b07 vmul.f64 d5, d6, d7 8030218: f507 63c9 add.w r3, r7, #1608 ; 0x648 803021c: ed93 6b00 vldr d6, [r3] 8030220: ee85 7b06 vdiv.f64 d7, d5, d6 8030224: 4a69 ldr r2, [pc, #420] ; (80303cc ) 8030226: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803022a: 3332 adds r3, #50 ; 0x32 803022c: 00db lsls r3, r3, #3 803022e: 4413 add r3, r2 8030230: ed83 7b00 vstr d7, [r3] } } if(PassType == iirHPF) 8030234: f207 230a addw r3, r7, #522 ; 0x20a 8030238: 781b ldrb r3, [r3, #0] 803023a: 2b01 cmp r3, #1 803023c: f040 821a bne.w 8030674 { if(A == 0.0 && D == 0.0) // 1 pole 8030240: f507 63ce add.w r3, r7, #1648 ; 0x670 8030244: ed93 7b00 vldr d7, [r3] 8030248: eeb5 7b40 vcmp.f64 d7, #0.0 803024c: eef1 fa10 vmrs APSR_nzcv, fpscr 8030250: f040 80c0 bne.w 80303d4 8030254: f507 63cb add.w r3, r7, #1624 ; 0x658 8030258: ed93 7b00 vldr d7, [r3] 803025c: eeb5 7b40 vcmp.f64 d7, #0.0 8030260: eef1 fa10 vmrs APSR_nzcv, fpscr 8030264: f040 80b6 bne.w 80303d4 { Arg = 2.0*C + B*T; 8030268: f507 63cc add.w r3, r7, #1632 ; 0x660 803026c: ed93 7b00 vldr d7, [r3] 8030270: ee37 6b07 vadd.f64 d6, d7, d7 8030274: f507 63cd add.w r3, r7, #1640 ; 0x668 8030278: ed93 5b00 vldr d5, [r3] 803027c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030280: ed93 7b00 vldr d7, [r3] 8030284: ee25 7b07 vmul.f64 d7, d5, d7 8030288: ee36 7b07 vadd.f64 d7, d6, d7 803028c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030290: ed83 7b00 vstr d7, [r3] IIR.a2[j] = 0.0; 8030294: 4a4d ldr r2, [pc, #308] ; (80303cc ) 8030296: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803029a: 3314 adds r3, #20 803029c: 00db lsls r3, r3, #3 803029e: 441a add r2, r3 80302a0: f04f 0300 mov.w r3, #0 80302a4: f04f 0400 mov.w r4, #0 80302a8: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = (B*T - 2.0*C) / Arg; 80302ac: f507 63cd add.w r3, r7, #1640 ; 0x668 80302b0: ed93 6b00 vldr d6, [r3] 80302b4: f507 63cf add.w r3, r7, #1656 ; 0x678 80302b8: ed93 7b00 vldr d7, [r3] 80302bc: ee26 6b07 vmul.f64 d6, d6, d7 80302c0: f507 63cc add.w r3, r7, #1632 ; 0x660 80302c4: ed93 7b00 vldr d7, [r3] 80302c8: ee37 7b07 vadd.f64 d7, d7, d7 80302cc: ee36 5b47 vsub.f64 d5, d6, d7 80302d0: f507 63c8 add.w r3, r7, #1600 ; 0x640 80302d4: ed93 6b00 vldr d6, [r3] 80302d8: ee85 7b06 vdiv.f64 d7, d5, d6 80302dc: 4a3b ldr r2, [pc, #236] ; (80303cc ) 80302de: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80302e2: 330a adds r3, #10 80302e4: 00db lsls r3, r3, #3 80302e6: 4413 add r3, r2 80302e8: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; // The filter implementation depends on a0 = 1. 80302ec: 4a37 ldr r2, [pc, #220] ; (80303cc ) 80302ee: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80302f2: 00db lsls r3, r3, #3 80302f4: 441a add r2, r3 80302f6: f04f 0300 mov.w r3, #0 80302fa: 4c35 ldr r4, [pc, #212] ; (80303d0 ) 80302fc: e882 0018 stmia.w r2, {r3, r4} IIR.b2[j] = 0.0; 8030300: 4a32 ldr r2, [pc, #200] ; (80303cc ) 8030302: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030306: 3346 adds r3, #70 ; 0x46 8030308: 00db lsls r3, r3, #3 803030a: 441a add r2, r3 803030c: f04f 0300 mov.w r3, #0 8030310: f04f 0400 mov.w r4, #0 8030314: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = (E*T - 2.0*F) / Arg * C/F; 8030318: f507 63ca add.w r3, r7, #1616 ; 0x650 803031c: ed93 6b00 vldr d6, [r3] 8030320: f507 63cf add.w r3, r7, #1656 ; 0x678 8030324: ed93 7b00 vldr d7, [r3] 8030328: ee26 6b07 vmul.f64 d6, d6, d7 803032c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030330: ed93 7b00 vldr d7, [r3] 8030334: ee37 7b07 vadd.f64 d7, d7, d7 8030338: ee36 5b47 vsub.f64 d5, d6, d7 803033c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030340: ed93 7b00 vldr d7, [r3] 8030344: ee85 6b07 vdiv.f64 d6, d5, d7 8030348: f507 63cc add.w r3, r7, #1632 ; 0x660 803034c: ed93 7b00 vldr d7, [r3] 8030350: ee26 5b07 vmul.f64 d5, d6, d7 8030354: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030358: ed93 6b00 vldr d6, [r3] 803035c: ee85 7b06 vdiv.f64 d7, d5, d6 8030360: 4a1a ldr r2, [pc, #104] ; (80303cc ) 8030362: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030366: 333c adds r3, #60 ; 0x3c 8030368: 00db lsls r3, r3, #3 803036a: 4413 add r3, r2 803036c: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (E*T + 2.0*F) / Arg * C/F; 8030370: f507 63ca add.w r3, r7, #1616 ; 0x650 8030374: ed93 6b00 vldr d6, [r3] 8030378: f507 63cf add.w r3, r7, #1656 ; 0x678 803037c: ed93 7b00 vldr d7, [r3] 8030380: ee26 6b07 vmul.f64 d6, d6, d7 8030384: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030388: ed93 7b00 vldr d7, [r3] 803038c: ee37 7b07 vadd.f64 d7, d7, d7 8030390: ee36 5b07 vadd.f64 d5, d6, d7 8030394: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030398: ed93 7b00 vldr d7, [r3] 803039c: ee85 6b07 vdiv.f64 d6, d5, d7 80303a0: f507 63cc add.w r3, r7, #1632 ; 0x660 80303a4: ed93 7b00 vldr d7, [r3] 80303a8: ee26 5b07 vmul.f64 d5, d6, d7 80303ac: f507 63c9 add.w r3, r7, #1608 ; 0x648 80303b0: ed93 6b00 vldr d6, [r3] 80303b4: ee85 7b06 vdiv.f64 d7, d5, d6 80303b8: 4a04 ldr r2, [pc, #16] ; (80303cc ) 80303ba: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80303be: 3332 adds r3, #50 ; 0x32 80303c0: 00db lsls r3, r3, #3 80303c2: 4413 add r3, r2 80303c4: ed83 7b00 vstr d7, [r3] 80303c8: e154 b.n 8030674 80303ca: bf00 nop 80303cc: 20025918 .word 0x20025918 80303d0: 3ff00000 .word 0x3ff00000 } else // 2 poles { Arg = A*T*T + 4.0*C + 2.0*B*T; 80303d4: f507 63ce add.w r3, r7, #1648 ; 0x670 80303d8: ed93 6b00 vldr d6, [r3] 80303dc: f507 63cf add.w r3, r7, #1656 ; 0x678 80303e0: ed93 7b00 vldr d7, [r3] 80303e4: ee26 6b07 vmul.f64 d6, d6, d7 80303e8: f507 63cf add.w r3, r7, #1656 ; 0x678 80303ec: ed93 7b00 vldr d7, [r3] 80303f0: ee26 6b07 vmul.f64 d6, d6, d7 80303f4: f507 63cc add.w r3, r7, #1632 ; 0x660 80303f8: ed93 7b00 vldr d7, [r3] 80303fc: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030400: ee27 7b05 vmul.f64 d7, d7, d5 8030404: ee36 6b07 vadd.f64 d6, d6, d7 8030408: f507 63cd add.w r3, r7, #1640 ; 0x668 803040c: ed93 7b00 vldr d7, [r3] 8030410: ee37 5b07 vadd.f64 d5, d7, d7 8030414: f507 63cf add.w r3, r7, #1656 ; 0x678 8030418: ed93 7b00 vldr d7, [r3] 803041c: ee25 7b07 vmul.f64 d7, d5, d7 8030420: ee36 7b07 vadd.f64 d7, d6, d7 8030424: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030428: ed83 7b00 vstr d7, [r3] IIR.a2[j] = (A*T*T + 4.0*C - 2.0*B*T) / Arg; 803042c: f507 63ce add.w r3, r7, #1648 ; 0x670 8030430: ed93 6b00 vldr d6, [r3] 8030434: f507 63cf add.w r3, r7, #1656 ; 0x678 8030438: ed93 7b00 vldr d7, [r3] 803043c: ee26 6b07 vmul.f64 d6, d6, d7 8030440: f507 63cf add.w r3, r7, #1656 ; 0x678 8030444: ed93 7b00 vldr d7, [r3] 8030448: ee26 6b07 vmul.f64 d6, d6, d7 803044c: f507 63cc add.w r3, r7, #1632 ; 0x660 8030450: ed93 7b00 vldr d7, [r3] 8030454: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030458: ee27 7b05 vmul.f64 d7, d7, d5 803045c: ee36 6b07 vadd.f64 d6, d6, d7 8030460: f507 63cd add.w r3, r7, #1640 ; 0x668 8030464: ed93 7b00 vldr d7, [r3] 8030468: ee37 5b07 vadd.f64 d5, d7, d7 803046c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030470: ed93 7b00 vldr d7, [r3] 8030474: ee25 7b07 vmul.f64 d7, d5, d7 8030478: ee36 5b47 vsub.f64 d5, d6, d7 803047c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030480: ed93 6b00 vldr d6, [r3] 8030484: ee85 7b06 vdiv.f64 d7, d5, d6 8030488: 4af6 ldr r2, [pc, #984] ; (8030864 ) 803048a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803048e: 3314 adds r3, #20 8030490: 00db lsls r3, r3, #3 8030492: 4413 add r3, r2 8030494: ed83 7b00 vstr d7, [r3] IIR.a1[j] = (2.0*A*T*T - 8.0*C) / Arg; 8030498: f507 63ce add.w r3, r7, #1648 ; 0x670 803049c: ed93 7b00 vldr d7, [r3] 80304a0: ee37 6b07 vadd.f64 d6, d7, d7 80304a4: f507 63cf add.w r3, r7, #1656 ; 0x678 80304a8: ed93 7b00 vldr d7, [r3] 80304ac: ee26 6b07 vmul.f64 d6, d6, d7 80304b0: f507 63cf add.w r3, r7, #1656 ; 0x678 80304b4: ed93 7b00 vldr d7, [r3] 80304b8: ee26 6b07 vmul.f64 d6, d6, d7 80304bc: f507 63cc add.w r3, r7, #1632 ; 0x660 80304c0: ed93 7b00 vldr d7, [r3] 80304c4: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80304c8: ee27 7b05 vmul.f64 d7, d7, d5 80304cc: ee36 5b47 vsub.f64 d5, d6, d7 80304d0: f507 63c8 add.w r3, r7, #1600 ; 0x640 80304d4: ed93 6b00 vldr d6, [r3] 80304d8: ee85 7b06 vdiv.f64 d7, d5, d6 80304dc: 4ae1 ldr r2, [pc, #900] ; (8030864 ) 80304de: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80304e2: 330a adds r3, #10 80304e4: 00db lsls r3, r3, #3 80304e6: 4413 add r3, r2 80304e8: ed83 7b00 vstr d7, [r3] IIR.a0[j] = 1.0; 80304ec: 4add ldr r2, [pc, #884] ; (8030864 ) 80304ee: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80304f2: 00db lsls r3, r3, #3 80304f4: 441a add r2, r3 80304f6: f04f 0300 mov.w r3, #0 80304fa: 4cdb ldr r4, [pc, #876] ; (8030868 ) 80304fc: e882 0018 stmia.w r2, {r3, r4} // With all pole filters, our HPF numerator is (z-1)^2, so all our Z Plane zeros are at 1 IIR.b2[j] = (D*T*T - 2.0*E*T + 4.0*F) / Arg * C/F; 8030500: f507 63cb add.w r3, r7, #1624 ; 0x658 8030504: ed93 6b00 vldr d6, [r3] 8030508: f507 63cf add.w r3, r7, #1656 ; 0x678 803050c: ed93 7b00 vldr d7, [r3] 8030510: ee26 6b07 vmul.f64 d6, d6, d7 8030514: f507 63cf add.w r3, r7, #1656 ; 0x678 8030518: ed93 7b00 vldr d7, [r3] 803051c: ee26 6b07 vmul.f64 d6, d6, d7 8030520: f507 63ca add.w r3, r7, #1616 ; 0x650 8030524: ed93 7b00 vldr d7, [r3] 8030528: ee37 5b07 vadd.f64 d5, d7, d7 803052c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030530: ed93 7b00 vldr d7, [r3] 8030534: ee25 7b07 vmul.f64 d7, d5, d7 8030538: ee36 6b47 vsub.f64 d6, d6, d7 803053c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030540: ed93 7b00 vldr d7, [r3] 8030544: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030548: ee27 7b05 vmul.f64 d7, d7, d5 803054c: ee36 5b07 vadd.f64 d5, d6, d7 8030550: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030554: ed93 7b00 vldr d7, [r3] 8030558: ee85 6b07 vdiv.f64 d6, d5, d7 803055c: f507 63cc add.w r3, r7, #1632 ; 0x660 8030560: ed93 7b00 vldr d7, [r3] 8030564: ee26 5b07 vmul.f64 d5, d6, d7 8030568: f507 63c9 add.w r3, r7, #1608 ; 0x648 803056c: ed93 6b00 vldr d6, [r3] 8030570: ee85 7b06 vdiv.f64 d7, d5, d6 8030574: 4abb ldr r2, [pc, #748] ; (8030864 ) 8030576: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803057a: 3346 adds r3, #70 ; 0x46 803057c: 00db lsls r3, r3, #3 803057e: 4413 add r3, r2 8030580: ed83 7b00 vstr d7, [r3] IIR.b1[j] = (2.0*D*T*T - 8.0*F) / Arg * C/F; 8030584: f507 63cb add.w r3, r7, #1624 ; 0x658 8030588: ed93 7b00 vldr d7, [r3] 803058c: ee37 6b07 vadd.f64 d6, d7, d7 8030590: f507 63cf add.w r3, r7, #1656 ; 0x678 8030594: ed93 7b00 vldr d7, [r3] 8030598: ee26 6b07 vmul.f64 d6, d6, d7 803059c: f507 63cf add.w r3, r7, #1656 ; 0x678 80305a0: ed93 7b00 vldr d7, [r3] 80305a4: ee26 6b07 vmul.f64 d6, d6, d7 80305a8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80305ac: ed93 7b00 vldr d7, [r3] 80305b0: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80305b4: ee27 7b05 vmul.f64 d7, d7, d5 80305b8: ee36 5b47 vsub.f64 d5, d6, d7 80305bc: f507 63c8 add.w r3, r7, #1600 ; 0x640 80305c0: ed93 7b00 vldr d7, [r3] 80305c4: ee85 6b07 vdiv.f64 d6, d5, d7 80305c8: f507 63cc add.w r3, r7, #1632 ; 0x660 80305cc: ed93 7b00 vldr d7, [r3] 80305d0: ee26 5b07 vmul.f64 d5, d6, d7 80305d4: f507 63c9 add.w r3, r7, #1608 ; 0x648 80305d8: ed93 6b00 vldr d6, [r3] 80305dc: ee85 7b06 vdiv.f64 d7, d5, d6 80305e0: 4aa0 ldr r2, [pc, #640] ; (8030864 ) 80305e2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80305e6: 333c adds r3, #60 ; 0x3c 80305e8: 00db lsls r3, r3, #3 80305ea: 4413 add r3, r2 80305ec: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (D*T*T + 4.0*F + 2.0*E*T) / Arg * C/F; 80305f0: f507 63cb add.w r3, r7, #1624 ; 0x658 80305f4: ed93 6b00 vldr d6, [r3] 80305f8: f507 63cf add.w r3, r7, #1656 ; 0x678 80305fc: ed93 7b00 vldr d7, [r3] 8030600: ee26 6b07 vmul.f64 d6, d6, d7 8030604: f507 63cf add.w r3, r7, #1656 ; 0x678 8030608: ed93 7b00 vldr d7, [r3] 803060c: ee26 6b07 vmul.f64 d6, d6, d7 8030610: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030614: ed93 7b00 vldr d7, [r3] 8030618: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803061c: ee27 7b05 vmul.f64 d7, d7, d5 8030620: ee36 6b07 vadd.f64 d6, d6, d7 8030624: f507 63ca add.w r3, r7, #1616 ; 0x650 8030628: ed93 7b00 vldr d7, [r3] 803062c: ee37 5b07 vadd.f64 d5, d7, d7 8030630: f507 63cf add.w r3, r7, #1656 ; 0x678 8030634: ed93 7b00 vldr d7, [r3] 8030638: ee25 7b07 vmul.f64 d7, d5, d7 803063c: ee36 5b07 vadd.f64 d5, d6, d7 8030640: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030644: ed93 7b00 vldr d7, [r3] 8030648: ee85 6b07 vdiv.f64 d6, d5, d7 803064c: f507 63cc add.w r3, r7, #1632 ; 0x660 8030650: ed93 7b00 vldr d7, [r3] 8030654: ee26 5b07 vmul.f64 d5, d6, d7 8030658: f507 63c9 add.w r3, r7, #1608 ; 0x648 803065c: ed93 6b00 vldr d6, [r3] 8030660: ee85 7b06 vdiv.f64 d7, d5, d6 8030664: 4a7f ldr r2, [pc, #508] ; (8030864 ) 8030666: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803066a: 3332 adds r3, #50 ; 0x32 803066c: 00db lsls r3, r3, #3 803066e: 4413 add r3, r2 8030670: ed83 7b00 vstr d7, [r3] } } if(PassType == iirBPF) 8030674: f207 230a addw r3, r7, #522 ; 0x20a 8030678: 781b ldrb r3, [r3, #0] 803067a: 2b02 cmp r3, #2 803067c: f041 8283 bne.w 8031b86 { if(A == 0.0 && D == 0.0) // 1 pole 8030680: f507 63ce add.w r3, r7, #1648 ; 0x670 8030684: ed93 7b00 vldr d7, [r3] 8030688: eeb5 7b40 vcmp.f64 d7, #0.0 803068c: eef1 fa10 vmrs APSR_nzcv, fpscr 8030690: f040 81af bne.w 80309f2 8030694: f507 63cb add.w r3, r7, #1624 ; 0x658 8030698: ed93 7b00 vldr d7, [r3] 803069c: eeb5 7b40 vcmp.f64 d7, #0.0 80306a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80306a4: f040 81a5 bne.w 80309f2 { Arg = 4.0*B*Q + 2.0*C*T + B*Q*T*T; 80306a8: f507 63cd add.w r3, r7, #1640 ; 0x668 80306ac: ed93 7b00 vldr d7, [r3] 80306b0: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80306b4: ee27 6b06 vmul.f64 d6, d7, d6 80306b8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80306bc: ed93 7b00 vldr d7, [r3] 80306c0: ee26 6b07 vmul.f64 d6, d6, d7 80306c4: f507 63cc add.w r3, r7, #1632 ; 0x660 80306c8: ed93 7b00 vldr d7, [r3] 80306cc: ee37 5b07 vadd.f64 d5, d7, d7 80306d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80306d4: ed93 7b00 vldr d7, [r3] 80306d8: ee25 7b07 vmul.f64 d7, d5, d7 80306dc: ee36 6b07 vadd.f64 d6, d6, d7 80306e0: f507 63cd add.w r3, r7, #1640 ; 0x668 80306e4: ed93 5b00 vldr d5, [r3] 80306e8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80306ec: ed93 7b00 vldr d7, [r3] 80306f0: ee25 5b07 vmul.f64 d5, d5, d7 80306f4: f507 63cf add.w r3, r7, #1656 ; 0x678 80306f8: ed93 7b00 vldr d7, [r3] 80306fc: ee25 5b07 vmul.f64 d5, d5, d7 8030700: f507 63cf add.w r3, r7, #1656 ; 0x678 8030704: ed93 7b00 vldr d7, [r3] 8030708: ee25 7b07 vmul.f64 d7, d5, d7 803070c: ee36 7b07 vadd.f64 d7, d6, d7 8030710: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030714: ed83 7b00 vstr d7, [r3] a2[k] = (B*Q*T*T + 4.0*B*Q - 2.0*C*T) / Arg; 8030718: f507 63cd add.w r3, r7, #1640 ; 0x668 803071c: ed93 6b00 vldr d6, [r3] 8030720: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030724: ed93 7b00 vldr d7, [r3] 8030728: ee26 6b07 vmul.f64 d6, d6, d7 803072c: f507 63cf add.w r3, r7, #1656 ; 0x678 8030730: ed93 7b00 vldr d7, [r3] 8030734: ee26 6b07 vmul.f64 d6, d6, d7 8030738: f507 63cf add.w r3, r7, #1656 ; 0x678 803073c: ed93 7b00 vldr d7, [r3] 8030740: ee26 6b07 vmul.f64 d6, d6, d7 8030744: f507 63cd add.w r3, r7, #1640 ; 0x668 8030748: ed93 7b00 vldr d7, [r3] 803074c: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030750: ee27 5b05 vmul.f64 d5, d7, d5 8030754: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030758: ed93 7b00 vldr d7, [r3] 803075c: ee25 7b07 vmul.f64 d7, d5, d7 8030760: ee36 6b07 vadd.f64 d6, d6, d7 8030764: f507 63cc add.w r3, r7, #1632 ; 0x660 8030768: ed93 7b00 vldr d7, [r3] 803076c: ee37 5b07 vadd.f64 d5, d7, d7 8030770: f507 63cf add.w r3, r7, #1656 ; 0x678 8030774: ed93 7b00 vldr d7, [r3] 8030778: ee25 7b07 vmul.f64 d7, d5, d7 803077c: ee36 5b47 vsub.f64 d5, d6, d7 8030780: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030784: ed93 6b00 vldr d6, [r3] 8030788: ee85 7b06 vdiv.f64 d7, d5, d6 803078c: f507 62b1 add.w r2, r7, #1416 ; 0x588 8030790: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8030794: 00db lsls r3, r3, #3 8030796: 4413 add r3, r2 8030798: ed83 7b00 vstr d7, [r3] a1[k] = (2.0*B*Q*T*T - 8.0*B*Q) / Arg ; 803079c: f507 63cd add.w r3, r7, #1640 ; 0x668 80307a0: ed93 7b00 vldr d7, [r3] 80307a4: ee37 6b07 vadd.f64 d6, d7, d7 80307a8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80307ac: ed93 7b00 vldr d7, [r3] 80307b0: ee26 6b07 vmul.f64 d6, d6, d7 80307b4: f507 63cf add.w r3, r7, #1656 ; 0x678 80307b8: ed93 7b00 vldr d7, [r3] 80307bc: ee26 6b07 vmul.f64 d6, d6, d7 80307c0: f507 63cf add.w r3, r7, #1656 ; 0x678 80307c4: ed93 7b00 vldr d7, [r3] 80307c8: ee26 6b07 vmul.f64 d6, d6, d7 80307cc: f507 63cd add.w r3, r7, #1640 ; 0x668 80307d0: ed93 7b00 vldr d7, [r3] 80307d4: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80307d8: ee27 5b05 vmul.f64 d5, d7, d5 80307dc: f507 63d1 add.w r3, r7, #1672 ; 0x688 80307e0: ed93 7b00 vldr d7, [r3] 80307e4: ee25 7b07 vmul.f64 d7, d5, d7 80307e8: ee36 5b47 vsub.f64 d5, d6, d7 80307ec: f507 63c8 add.w r3, r7, #1600 ; 0x640 80307f0: ed93 6b00 vldr d6, [r3] 80307f4: ee85 7b06 vdiv.f64 d7, d5, d6 80307f8: f507 62a7 add.w r2, r7, #1336 ; 0x538 80307fc: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8030800: 00db lsls r3, r3, #3 8030802: 4413 add r3, r2 8030804: ed83 7b00 vstr d7, [r3] a0[k] = 1.0; 8030808: f507 629d add.w r2, r7, #1256 ; 0x4e8 803080c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8030810: 00db lsls r3, r3, #3 8030812: 441a add r2, r3 8030814: f04f 0300 mov.w r3, #0 8030818: 4c13 ldr r4, [pc, #76] ; (8030868 ) 803081a: e882 0018 stmia.w r2, {r3, r4} b2[k] = (E*Q*T*T + 4.0*E*Q - 2.0*F*T) / Arg * C/F; 803081e: f507 63ca add.w r3, r7, #1616 ; 0x650 8030822: ed93 6b00 vldr d6, [r3] 8030826: f507 63d1 add.w r3, r7, #1672 ; 0x688 803082a: ed93 7b00 vldr d7, [r3] 803082e: ee26 6b07 vmul.f64 d6, d6, d7 8030832: f507 63cf add.w r3, r7, #1656 ; 0x678 8030836: ed93 7b00 vldr d7, [r3] 803083a: ee26 6b07 vmul.f64 d6, d6, d7 803083e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030842: ed93 7b00 vldr d7, [r3] 8030846: ee26 6b07 vmul.f64 d6, d6, d7 803084a: f507 63ca add.w r3, r7, #1616 ; 0x650 803084e: ed93 7b00 vldr d7, [r3] 8030852: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030856: ee27 5b05 vmul.f64 d5, d7, d5 803085a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803085e: ed93 7b00 vldr d7, [r3] 8030862: e003 b.n 803086c 8030864: 20025918 .word 0x20025918 8030868: 3ff00000 .word 0x3ff00000 803086c: ee25 7b07 vmul.f64 d7, d5, d7 8030870: ee36 6b07 vadd.f64 d6, d6, d7 8030874: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030878: ed93 7b00 vldr d7, [r3] 803087c: ee37 5b07 vadd.f64 d5, d7, d7 8030880: f507 63cf add.w r3, r7, #1656 ; 0x678 8030884: ed93 7b00 vldr d7, [r3] 8030888: ee25 7b07 vmul.f64 d7, d5, d7 803088c: ee36 5b47 vsub.f64 d5, d6, d7 8030890: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030894: ed93 7b00 vldr d7, [r3] 8030898: ee85 6b07 vdiv.f64 d6, d5, d7 803089c: f507 63cc add.w r3, r7, #1632 ; 0x660 80308a0: ed93 7b00 vldr d7, [r3] 80308a4: ee26 5b07 vmul.f64 d5, d6, d7 80308a8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80308ac: ed93 6b00 vldr d6, [r3] 80308b0: ee85 7b06 vdiv.f64 d7, d5, d6 80308b4: f507 6293 add.w r2, r7, #1176 ; 0x498 80308b8: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80308bc: 00db lsls r3, r3, #3 80308be: 4413 add r3, r2 80308c0: ed83 7b00 vstr d7, [r3] b1[k] = (2.0*E*Q*T*T - 8.0*E*Q) / Arg * C/F; 80308c4: f507 63ca add.w r3, r7, #1616 ; 0x650 80308c8: ed93 7b00 vldr d7, [r3] 80308cc: ee37 6b07 vadd.f64 d6, d7, d7 80308d0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80308d4: ed93 7b00 vldr d7, [r3] 80308d8: ee26 6b07 vmul.f64 d6, d6, d7 80308dc: f507 63cf add.w r3, r7, #1656 ; 0x678 80308e0: ed93 7b00 vldr d7, [r3] 80308e4: ee26 6b07 vmul.f64 d6, d6, d7 80308e8: f507 63cf add.w r3, r7, #1656 ; 0x678 80308ec: ed93 7b00 vldr d7, [r3] 80308f0: ee26 6b07 vmul.f64 d6, d6, d7 80308f4: f507 63ca add.w r3, r7, #1616 ; 0x650 80308f8: ed93 7b00 vldr d7, [r3] 80308fc: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030900: ee27 5b05 vmul.f64 d5, d7, d5 8030904: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030908: ed93 7b00 vldr d7, [r3] 803090c: ee25 7b07 vmul.f64 d7, d5, d7 8030910: ee36 5b47 vsub.f64 d5, d6, d7 8030914: f507 63c8 add.w r3, r7, #1600 ; 0x640 8030918: ed93 7b00 vldr d7, [r3] 803091c: ee85 6b07 vdiv.f64 d6, d5, d7 8030920: f507 63cc add.w r3, r7, #1632 ; 0x660 8030924: ed93 7b00 vldr d7, [r3] 8030928: ee26 5b07 vmul.f64 d5, d6, d7 803092c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030930: ed93 6b00 vldr d6, [r3] 8030934: ee85 7b06 vdiv.f64 d7, d5, d6 8030938: f507 6289 add.w r2, r7, #1096 ; 0x448 803093c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8030940: 00db lsls r3, r3, #3 8030942: 4413 add r3, r2 8030944: ed83 7b00 vstr d7, [r3] b0[k] = (4.0*E*Q + 2.0*F*T + E*Q*T*T) / Arg * C/F; 8030948: f507 63ca add.w r3, r7, #1616 ; 0x650 803094c: ed93 7b00 vldr d7, [r3] 8030950: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8030954: ee27 6b06 vmul.f64 d6, d7, d6 8030958: f507 63d1 add.w r3, r7, #1672 ; 0x688 803095c: ed93 7b00 vldr d7, [r3] 8030960: ee26 6b07 vmul.f64 d6, d6, d7 8030964: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030968: ed93 7b00 vldr d7, [r3] 803096c: ee37 5b07 vadd.f64 d5, d7, d7 8030970: f507 63cf add.w r3, r7, #1656 ; 0x678 8030974: ed93 7b00 vldr d7, [r3] 8030978: ee25 7b07 vmul.f64 d7, d5, d7 803097c: ee36 6b07 vadd.f64 d6, d6, d7 8030980: f507 63ca add.w r3, r7, #1616 ; 0x650 8030984: ed93 5b00 vldr d5, [r3] 8030988: f507 63d1 add.w r3, r7, #1672 ; 0x688 803098c: ed93 7b00 vldr d7, [r3] 8030990: ee25 5b07 vmul.f64 d5, d5, d7 8030994: f507 63cf add.w r3, r7, #1656 ; 0x678 8030998: ed93 7b00 vldr d7, [r3] 803099c: ee25 5b07 vmul.f64 d5, d5, d7 80309a0: f507 63cf add.w r3, r7, #1656 ; 0x678 80309a4: ed93 7b00 vldr d7, [r3] 80309a8: ee25 7b07 vmul.f64 d7, d5, d7 80309ac: ee36 5b07 vadd.f64 d5, d6, d7 80309b0: f507 63c8 add.w r3, r7, #1600 ; 0x640 80309b4: ed93 7b00 vldr d7, [r3] 80309b8: ee85 6b07 vdiv.f64 d6, d5, d7 80309bc: f507 63cc add.w r3, r7, #1632 ; 0x660 80309c0: ed93 7b00 vldr d7, [r3] 80309c4: ee26 5b07 vmul.f64 d5, d6, d7 80309c8: f507 63c9 add.w r3, r7, #1608 ; 0x648 80309cc: ed93 6b00 vldr d6, [r3] 80309d0: ee85 7b06 vdiv.f64 d7, d5, d6 80309d4: f507 727e add.w r2, r7, #1016 ; 0x3f8 80309d8: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80309dc: 00db lsls r3, r3, #3 80309de: 4413 add r3, r2 80309e0: ed83 7b00 vstr d7, [r3] k++; 80309e4: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80309e8: 3301 adds r3, #1 80309ea: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 80309ee: f001 b8ca b.w 8031b86 } else //2 Poles { IIR.a4[j] = (16.0*A*Q*Q + A*Q*Q*T*T*T*T + 8.0*A*Q*Q*T*T - 2.0*B*Q*T*T*T - 8.0*B*Q*T + 4.0*C*T*T) * F; 80309f2: f507 63ce add.w r3, r7, #1648 ; 0x670 80309f6: ed93 7b00 vldr d7, [r3] 80309fa: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 80309fe: ee27 6b06 vmul.f64 d6, d7, d6 8030a02: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030a06: ed93 7b00 vldr d7, [r3] 8030a0a: ee26 6b07 vmul.f64 d6, d6, d7 8030a0e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030a12: ed93 7b00 vldr d7, [r3] 8030a16: ee26 6b07 vmul.f64 d6, d6, d7 8030a1a: f507 63ce add.w r3, r7, #1648 ; 0x670 8030a1e: ed93 5b00 vldr d5, [r3] 8030a22: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030a26: ed93 7b00 vldr d7, [r3] 8030a2a: ee25 5b07 vmul.f64 d5, d5, d7 8030a2e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030a32: ed93 7b00 vldr d7, [r3] 8030a36: ee25 5b07 vmul.f64 d5, d5, d7 8030a3a: f507 63cf add.w r3, r7, #1656 ; 0x678 8030a3e: ed93 7b00 vldr d7, [r3] 8030a42: ee25 5b07 vmul.f64 d5, d5, d7 8030a46: f507 63cf add.w r3, r7, #1656 ; 0x678 8030a4a: ed93 7b00 vldr d7, [r3] 8030a4e: ee25 5b07 vmul.f64 d5, d5, d7 8030a52: f507 63cf add.w r3, r7, #1656 ; 0x678 8030a56: ed93 7b00 vldr d7, [r3] 8030a5a: ee25 5b07 vmul.f64 d5, d5, d7 8030a5e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030a62: ed93 7b00 vldr d7, [r3] 8030a66: ee25 7b07 vmul.f64 d7, d5, d7 8030a6a: ee36 6b07 vadd.f64 d6, d6, d7 8030a6e: f507 63ce add.w r3, r7, #1648 ; 0x670 8030a72: ed93 7b00 vldr d7, [r3] 8030a76: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030a7a: ee27 5b05 vmul.f64 d5, d7, d5 8030a7e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030a82: ed93 7b00 vldr d7, [r3] 8030a86: ee25 5b07 vmul.f64 d5, d5, d7 8030a8a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030a8e: ed93 7b00 vldr d7, [r3] 8030a92: ee25 5b07 vmul.f64 d5, d5, d7 8030a96: f507 63cf add.w r3, r7, #1656 ; 0x678 8030a9a: ed93 7b00 vldr d7, [r3] 8030a9e: ee25 5b07 vmul.f64 d5, d5, d7 8030aa2: f507 63cf add.w r3, r7, #1656 ; 0x678 8030aa6: ed93 7b00 vldr d7, [r3] 8030aaa: ee25 7b07 vmul.f64 d7, d5, d7 8030aae: ee36 6b07 vadd.f64 d6, d6, d7 8030ab2: f507 63cd add.w r3, r7, #1640 ; 0x668 8030ab6: ed93 7b00 vldr d7, [r3] 8030aba: ee37 5b07 vadd.f64 d5, d7, d7 8030abe: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030ac2: ed93 7b00 vldr d7, [r3] 8030ac6: ee25 5b07 vmul.f64 d5, d5, d7 8030aca: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ace: ed93 7b00 vldr d7, [r3] 8030ad2: ee25 5b07 vmul.f64 d5, d5, d7 8030ad6: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ada: ed93 7b00 vldr d7, [r3] 8030ade: ee25 5b07 vmul.f64 d5, d5, d7 8030ae2: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ae6: ed93 7b00 vldr d7, [r3] 8030aea: ee25 7b07 vmul.f64 d7, d5, d7 8030aee: ee36 6b47 vsub.f64 d6, d6, d7 8030af2: f507 63cd add.w r3, r7, #1640 ; 0x668 8030af6: ed93 7b00 vldr d7, [r3] 8030afa: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030afe: ee27 5b05 vmul.f64 d5, d7, d5 8030b02: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030b06: ed93 7b00 vldr d7, [r3] 8030b0a: ee25 5b07 vmul.f64 d5, d5, d7 8030b0e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b12: ed93 7b00 vldr d7, [r3] 8030b16: ee25 7b07 vmul.f64 d7, d5, d7 8030b1a: ee36 6b47 vsub.f64 d6, d6, d7 8030b1e: f507 63cc add.w r3, r7, #1632 ; 0x660 8030b22: ed93 7b00 vldr d7, [r3] 8030b26: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030b2a: ee27 5b05 vmul.f64 d5, d7, d5 8030b2e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b32: ed93 7b00 vldr d7, [r3] 8030b36: ee25 5b07 vmul.f64 d5, d5, d7 8030b3a: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b3e: ed93 7b00 vldr d7, [r3] 8030b42: ee25 7b07 vmul.f64 d7, d5, d7 8030b46: ee36 6b07 vadd.f64 d6, d6, d7 8030b4a: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030b4e: ed93 7b00 vldr d7, [r3] 8030b52: ee26 7b07 vmul.f64 d7, d6, d7 8030b56: 4afc ldr r2, [pc, #1008] ; (8030f48 ) 8030b58: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030b5c: 3328 adds r3, #40 ; 0x28 8030b5e: 00db lsls r3, r3, #3 8030b60: 4413 add r3, r2 8030b62: ed83 7b00 vstr d7, [r3] IIR.a3[j] = (4.0*T*T*T*T*A*Q*Q - 4.0*Q*T*T*T*B + 16.0*Q*B*T - 64.0*A*Q*Q) * F; 8030b66: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b6a: ed93 7b00 vldr d7, [r3] 8030b6e: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8030b72: ee27 6b06 vmul.f64 d6, d7, d6 8030b76: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b7a: ed93 7b00 vldr d7, [r3] 8030b7e: ee26 6b07 vmul.f64 d6, d6, d7 8030b82: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b86: ed93 7b00 vldr d7, [r3] 8030b8a: ee26 6b07 vmul.f64 d6, d6, d7 8030b8e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030b92: ed93 7b00 vldr d7, [r3] 8030b96: ee26 6b07 vmul.f64 d6, d6, d7 8030b9a: f507 63ce add.w r3, r7, #1648 ; 0x670 8030b9e: ed93 7b00 vldr d7, [r3] 8030ba2: ee26 6b07 vmul.f64 d6, d6, d7 8030ba6: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030baa: ed93 7b00 vldr d7, [r3] 8030bae: ee26 6b07 vmul.f64 d6, d6, d7 8030bb2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030bb6: ed93 7b00 vldr d7, [r3] 8030bba: ee26 6b07 vmul.f64 d6, d6, d7 8030bbe: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030bc2: ed93 7b00 vldr d7, [r3] 8030bc6: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030bca: ee27 5b05 vmul.f64 d5, d7, d5 8030bce: f507 63cf add.w r3, r7, #1656 ; 0x678 8030bd2: ed93 7b00 vldr d7, [r3] 8030bd6: ee25 5b07 vmul.f64 d5, d5, d7 8030bda: f507 63cf add.w r3, r7, #1656 ; 0x678 8030bde: ed93 7b00 vldr d7, [r3] 8030be2: ee25 5b07 vmul.f64 d5, d5, d7 8030be6: f507 63cf add.w r3, r7, #1656 ; 0x678 8030bea: ed93 7b00 vldr d7, [r3] 8030bee: ee25 5b07 vmul.f64 d5, d5, d7 8030bf2: f507 63cd add.w r3, r7, #1640 ; 0x668 8030bf6: ed93 7b00 vldr d7, [r3] 8030bfa: ee25 7b07 vmul.f64 d7, d5, d7 8030bfe: ee36 6b47 vsub.f64 d6, d6, d7 8030c02: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030c06: ed93 7b00 vldr d7, [r3] 8030c0a: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8030c0e: ee27 5b05 vmul.f64 d5, d7, d5 8030c12: f507 63cd add.w r3, r7, #1640 ; 0x668 8030c16: ed93 7b00 vldr d7, [r3] 8030c1a: ee25 5b07 vmul.f64 d5, d5, d7 8030c1e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030c22: ed93 7b00 vldr d7, [r3] 8030c26: ee25 7b07 vmul.f64 d7, d5, d7 8030c2a: ee36 6b07 vadd.f64 d6, d6, d7 8030c2e: f507 63ce add.w r3, r7, #1648 ; 0x670 8030c32: ed93 7b00 vldr d7, [r3] 8030c36: ed9f 5bc0 vldr d5, [pc, #768] ; 8030f38 8030c3a: ee27 5b05 vmul.f64 d5, d7, d5 8030c3e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030c42: ed93 7b00 vldr d7, [r3] 8030c46: ee25 5b07 vmul.f64 d5, d5, d7 8030c4a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030c4e: ed93 7b00 vldr d7, [r3] 8030c52: ee25 7b07 vmul.f64 d7, d5, d7 8030c56: ee36 6b47 vsub.f64 d6, d6, d7 8030c5a: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030c5e: ed93 7b00 vldr d7, [r3] 8030c62: ee26 7b07 vmul.f64 d7, d6, d7 8030c66: 4ab8 ldr r2, [pc, #736] ; (8030f48 ) 8030c68: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030c6c: 331e adds r3, #30 8030c6e: 00db lsls r3, r3, #3 8030c70: 4413 add r3, r2 8030c72: ed83 7b00 vstr d7, [r3] IIR.a2[j] = (96.0*A*Q*Q - 16.0*A*Q*Q*T*T + 6.0*A*Q*Q*T*T*T*T - 8.0*C*T*T) * F; 8030c76: f507 63ce add.w r3, r7, #1648 ; 0x670 8030c7a: ed93 7b00 vldr d7, [r3] 8030c7e: ed9f 6bb0 vldr d6, [pc, #704] ; 8030f40 8030c82: ee27 6b06 vmul.f64 d6, d7, d6 8030c86: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030c8a: ed93 7b00 vldr d7, [r3] 8030c8e: ee26 6b07 vmul.f64 d6, d6, d7 8030c92: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030c96: ed93 7b00 vldr d7, [r3] 8030c9a: ee26 6b07 vmul.f64 d6, d6, d7 8030c9e: f507 63ce add.w r3, r7, #1648 ; 0x670 8030ca2: ed93 7b00 vldr d7, [r3] 8030ca6: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8030caa: ee27 5b05 vmul.f64 d5, d7, d5 8030cae: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030cb2: ed93 7b00 vldr d7, [r3] 8030cb6: ee25 5b07 vmul.f64 d5, d5, d7 8030cba: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030cbe: ed93 7b00 vldr d7, [r3] 8030cc2: ee25 5b07 vmul.f64 d5, d5, d7 8030cc6: f507 63cf add.w r3, r7, #1656 ; 0x678 8030cca: ed93 7b00 vldr d7, [r3] 8030cce: ee25 5b07 vmul.f64 d5, d5, d7 8030cd2: f507 63cf add.w r3, r7, #1656 ; 0x678 8030cd6: ed93 7b00 vldr d7, [r3] 8030cda: ee25 7b07 vmul.f64 d7, d5, d7 8030cde: ee36 6b47 vsub.f64 d6, d6, d7 8030ce2: f507 63ce add.w r3, r7, #1648 ; 0x670 8030ce6: ed93 7b00 vldr d7, [r3] 8030cea: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 8030cee: ee27 5b05 vmul.f64 d5, d7, d5 8030cf2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030cf6: ed93 7b00 vldr d7, [r3] 8030cfa: ee25 5b07 vmul.f64 d5, d5, d7 8030cfe: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030d02: ed93 7b00 vldr d7, [r3] 8030d06: ee25 5b07 vmul.f64 d5, d5, d7 8030d0a: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d0e: ed93 7b00 vldr d7, [r3] 8030d12: ee25 5b07 vmul.f64 d5, d5, d7 8030d16: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d1a: ed93 7b00 vldr d7, [r3] 8030d1e: ee25 5b07 vmul.f64 d5, d5, d7 8030d22: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d26: ed93 7b00 vldr d7, [r3] 8030d2a: ee25 5b07 vmul.f64 d5, d5, d7 8030d2e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d32: ed93 7b00 vldr d7, [r3] 8030d36: ee25 7b07 vmul.f64 d7, d5, d7 8030d3a: ee36 6b07 vadd.f64 d6, d6, d7 8030d3e: f507 63cc add.w r3, r7, #1632 ; 0x660 8030d42: ed93 7b00 vldr d7, [r3] 8030d46: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030d4a: ee27 5b05 vmul.f64 d5, d7, d5 8030d4e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d52: ed93 7b00 vldr d7, [r3] 8030d56: ee25 5b07 vmul.f64 d5, d5, d7 8030d5a: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d5e: ed93 7b00 vldr d7, [r3] 8030d62: ee25 7b07 vmul.f64 d7, d5, d7 8030d66: ee36 6b47 vsub.f64 d6, d6, d7 8030d6a: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030d6e: ed93 7b00 vldr d7, [r3] 8030d72: ee26 7b07 vmul.f64 d7, d6, d7 8030d76: 4a74 ldr r2, [pc, #464] ; (8030f48 ) 8030d78: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030d7c: 3314 adds r3, #20 8030d7e: 00db lsls r3, r3, #3 8030d80: 4413 add r3, r2 8030d82: ed83 7b00 vstr d7, [r3] IIR.a1[j] = (4.0*T*T*T*T*A*Q*Q + 4.0*Q*T*T*T*B - 16.0*Q*B*T - 64.0*A*Q*Q) * F; 8030d86: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d8a: ed93 7b00 vldr d7, [r3] 8030d8e: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8030d92: ee27 6b06 vmul.f64 d6, d7, d6 8030d96: f507 63cf add.w r3, r7, #1656 ; 0x678 8030d9a: ed93 7b00 vldr d7, [r3] 8030d9e: ee26 6b07 vmul.f64 d6, d6, d7 8030da2: f507 63cf add.w r3, r7, #1656 ; 0x678 8030da6: ed93 7b00 vldr d7, [r3] 8030daa: ee26 6b07 vmul.f64 d6, d6, d7 8030dae: f507 63cf add.w r3, r7, #1656 ; 0x678 8030db2: ed93 7b00 vldr d7, [r3] 8030db6: ee26 6b07 vmul.f64 d6, d6, d7 8030dba: f507 63ce add.w r3, r7, #1648 ; 0x670 8030dbe: ed93 7b00 vldr d7, [r3] 8030dc2: ee26 6b07 vmul.f64 d6, d6, d7 8030dc6: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030dca: ed93 7b00 vldr d7, [r3] 8030dce: ee26 6b07 vmul.f64 d6, d6, d7 8030dd2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030dd6: ed93 7b00 vldr d7, [r3] 8030dda: ee26 6b07 vmul.f64 d6, d6, d7 8030dde: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030de2: ed93 7b00 vldr d7, [r3] 8030de6: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030dea: ee27 5b05 vmul.f64 d5, d7, d5 8030dee: f507 63cf add.w r3, r7, #1656 ; 0x678 8030df2: ed93 7b00 vldr d7, [r3] 8030df6: ee25 5b07 vmul.f64 d5, d5, d7 8030dfa: f507 63cf add.w r3, r7, #1656 ; 0x678 8030dfe: ed93 7b00 vldr d7, [r3] 8030e02: ee25 5b07 vmul.f64 d5, d5, d7 8030e06: f507 63cf add.w r3, r7, #1656 ; 0x678 8030e0a: ed93 7b00 vldr d7, [r3] 8030e0e: ee25 5b07 vmul.f64 d5, d5, d7 8030e12: f507 63cd add.w r3, r7, #1640 ; 0x668 8030e16: ed93 7b00 vldr d7, [r3] 8030e1a: ee25 7b07 vmul.f64 d7, d5, d7 8030e1e: ee36 6b07 vadd.f64 d6, d6, d7 8030e22: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030e26: ed93 7b00 vldr d7, [r3] 8030e2a: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8030e2e: ee27 5b05 vmul.f64 d5, d7, d5 8030e32: f507 63cd add.w r3, r7, #1640 ; 0x668 8030e36: ed93 7b00 vldr d7, [r3] 8030e3a: ee25 5b07 vmul.f64 d5, d5, d7 8030e3e: f507 63cf add.w r3, r7, #1656 ; 0x678 8030e42: ed93 7b00 vldr d7, [r3] 8030e46: ee25 7b07 vmul.f64 d7, d5, d7 8030e4a: ee36 6b47 vsub.f64 d6, d6, d7 8030e4e: f507 63ce add.w r3, r7, #1648 ; 0x670 8030e52: ed93 7b00 vldr d7, [r3] 8030e56: ed9f 5b38 vldr d5, [pc, #224] ; 8030f38 8030e5a: ee27 5b05 vmul.f64 d5, d7, d5 8030e5e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030e62: ed93 7b00 vldr d7, [r3] 8030e66: ee25 5b07 vmul.f64 d5, d5, d7 8030e6a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030e6e: ed93 7b00 vldr d7, [r3] 8030e72: ee25 7b07 vmul.f64 d7, d5, d7 8030e76: ee36 6b47 vsub.f64 d6, d6, d7 8030e7a: f507 63c9 add.w r3, r7, #1608 ; 0x648 8030e7e: ed93 7b00 vldr d7, [r3] 8030e82: ee26 7b07 vmul.f64 d7, d6, d7 8030e86: 4a30 ldr r2, [pc, #192] ; (8030f48 ) 8030e88: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8030e8c: 330a adds r3, #10 8030e8e: 00db lsls r3, r3, #3 8030e90: 4413 add r3, r2 8030e92: ed83 7b00 vstr d7, [r3] IIR.a0[j] = (16.0*A*Q*Q + A*Q*Q*T*T*T*T + 8.0*A*Q*Q*T*T + 2.0*B*Q*T*T*T + 8.0*B*Q*T + 4.0*C*T*T) * F; 8030e96: f507 63ce add.w r3, r7, #1648 ; 0x670 8030e9a: ed93 7b00 vldr d7, [r3] 8030e9e: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8030ea2: ee27 6b06 vmul.f64 d6, d7, d6 8030ea6: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030eaa: ed93 7b00 vldr d7, [r3] 8030eae: ee26 6b07 vmul.f64 d6, d6, d7 8030eb2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030eb6: ed93 7b00 vldr d7, [r3] 8030eba: ee26 6b07 vmul.f64 d6, d6, d7 8030ebe: f507 63ce add.w r3, r7, #1648 ; 0x670 8030ec2: ed93 5b00 vldr d5, [r3] 8030ec6: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030eca: ed93 7b00 vldr d7, [r3] 8030ece: ee25 5b07 vmul.f64 d5, d5, d7 8030ed2: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030ed6: ed93 7b00 vldr d7, [r3] 8030eda: ee25 5b07 vmul.f64 d5, d5, d7 8030ede: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ee2: ed93 7b00 vldr d7, [r3] 8030ee6: ee25 5b07 vmul.f64 d5, d5, d7 8030eea: f507 63cf add.w r3, r7, #1656 ; 0x678 8030eee: ed93 7b00 vldr d7, [r3] 8030ef2: ee25 5b07 vmul.f64 d5, d5, d7 8030ef6: f507 63cf add.w r3, r7, #1656 ; 0x678 8030efa: ed93 7b00 vldr d7, [r3] 8030efe: ee25 5b07 vmul.f64 d5, d5, d7 8030f02: f507 63cf add.w r3, r7, #1656 ; 0x678 8030f06: ed93 7b00 vldr d7, [r3] 8030f0a: ee25 7b07 vmul.f64 d7, d5, d7 8030f0e: ee36 6b07 vadd.f64 d6, d6, d7 8030f12: f507 63ce add.w r3, r7, #1648 ; 0x670 8030f16: ed93 7b00 vldr d7, [r3] 8030f1a: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030f1e: ee27 5b05 vmul.f64 d5, d7, d5 8030f22: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030f26: ed93 7b00 vldr d7, [r3] 8030f2a: ee25 5b07 vmul.f64 d5, d5, d7 8030f2e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030f32: e00b b.n 8030f4c 8030f34: f3af 8000 nop.w 8030f38: 00000000 .word 0x00000000 8030f3c: 40500000 .word 0x40500000 8030f40: 00000000 .word 0x00000000 8030f44: 40580000 .word 0x40580000 8030f48: 20025918 .word 0x20025918 8030f4c: ed93 7b00 vldr d7, [r3] 8030f50: ee25 5b07 vmul.f64 d5, d5, d7 8030f54: f507 63cf add.w r3, r7, #1656 ; 0x678 8030f58: ed93 7b00 vldr d7, [r3] 8030f5c: ee25 5b07 vmul.f64 d5, d5, d7 8030f60: f507 63cf add.w r3, r7, #1656 ; 0x678 8030f64: ed93 7b00 vldr d7, [r3] 8030f68: ee25 7b07 vmul.f64 d7, d5, d7 8030f6c: ee36 6b07 vadd.f64 d6, d6, d7 8030f70: f507 63cd add.w r3, r7, #1640 ; 0x668 8030f74: ed93 7b00 vldr d7, [r3] 8030f78: ee37 5b07 vadd.f64 d5, d7, d7 8030f7c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030f80: ed93 7b00 vldr d7, [r3] 8030f84: ee25 5b07 vmul.f64 d5, d5, d7 8030f88: f507 63cf add.w r3, r7, #1656 ; 0x678 8030f8c: ed93 7b00 vldr d7, [r3] 8030f90: ee25 5b07 vmul.f64 d5, d5, d7 8030f94: f507 63cf add.w r3, r7, #1656 ; 0x678 8030f98: ed93 7b00 vldr d7, [r3] 8030f9c: ee25 5b07 vmul.f64 d5, d5, d7 8030fa0: f507 63cf add.w r3, r7, #1656 ; 0x678 8030fa4: ed93 7b00 vldr d7, [r3] 8030fa8: ee25 7b07 vmul.f64 d7, d5, d7 8030fac: ee36 6b07 vadd.f64 d6, d6, d7 8030fb0: f507 63cd add.w r3, r7, #1640 ; 0x668 8030fb4: ed93 7b00 vldr d7, [r3] 8030fb8: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8030fbc: ee27 5b05 vmul.f64 d5, d7, d5 8030fc0: f507 63d1 add.w r3, r7, #1672 ; 0x688 8030fc4: ed93 7b00 vldr d7, [r3] 8030fc8: ee25 5b07 vmul.f64 d5, d5, d7 8030fcc: f507 63cf add.w r3, r7, #1656 ; 0x678 8030fd0: ed93 7b00 vldr d7, [r3] 8030fd4: ee25 7b07 vmul.f64 d7, d5, d7 8030fd8: ee36 6b07 vadd.f64 d6, d6, d7 8030fdc: f507 63cc add.w r3, r7, #1632 ; 0x660 8030fe0: ed93 7b00 vldr d7, [r3] 8030fe4: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8030fe8: ee27 5b05 vmul.f64 d5, d7, d5 8030fec: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ff0: ed93 7b00 vldr d7, [r3] 8030ff4: ee25 5b07 vmul.f64 d5, d5, d7 8030ff8: f507 63cf add.w r3, r7, #1656 ; 0x678 8030ffc: ed93 7b00 vldr d7, [r3] 8031000: ee25 7b07 vmul.f64 d7, d5, d7 8031004: ee36 6b07 vadd.f64 d6, d6, d7 8031008: f507 63c9 add.w r3, r7, #1608 ; 0x648 803100c: ed93 7b00 vldr d7, [r3] 8031010: ee26 7b07 vmul.f64 d7, d6, d7 8031014: 4afa ldr r2, [pc, #1000] ; (8031400 ) 8031016: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803101a: 00db lsls r3, r3, #3 803101c: 4413 add r3, r2 803101e: ed83 7b00 vstr d7, [r3] // With all pole filters, our BPF numerator is (z-1)^2 * (z+1)^2 so the zeros come back as +/- 1 pairs IIR.b4[j] = (8.0*D*Q*Q*T*T - 8.0*E*Q*T + 16.0*D*Q*Q - 2.0*E*Q*T*T*T + D*Q*Q*T*T*T*T + 4.0*F*T*T) * C; 8031022: f507 63cb add.w r3, r7, #1624 ; 0x658 8031026: ed93 7b00 vldr d7, [r3] 803102a: eeb2 6b00 vmov.f64 d6, #32 ; 0x41000000 8.0 803102e: ee27 6b06 vmul.f64 d6, d7, d6 8031032: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031036: ed93 7b00 vldr d7, [r3] 803103a: ee26 6b07 vmul.f64 d6, d6, d7 803103e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031042: ed93 7b00 vldr d7, [r3] 8031046: ee26 6b07 vmul.f64 d6, d6, d7 803104a: f507 63cf add.w r3, r7, #1656 ; 0x678 803104e: ed93 7b00 vldr d7, [r3] 8031052: ee26 6b07 vmul.f64 d6, d6, d7 8031056: f507 63cf add.w r3, r7, #1656 ; 0x678 803105a: ed93 7b00 vldr d7, [r3] 803105e: ee26 6b07 vmul.f64 d6, d6, d7 8031062: f507 63ca add.w r3, r7, #1616 ; 0x650 8031066: ed93 7b00 vldr d7, [r3] 803106a: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803106e: ee27 5b05 vmul.f64 d5, d7, d5 8031072: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031076: ed93 7b00 vldr d7, [r3] 803107a: ee25 5b07 vmul.f64 d5, d5, d7 803107e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031082: ed93 7b00 vldr d7, [r3] 8031086: ee25 7b07 vmul.f64 d7, d5, d7 803108a: ee36 6b47 vsub.f64 d6, d6, d7 803108e: f507 63cb add.w r3, r7, #1624 ; 0x658 8031092: ed93 7b00 vldr d7, [r3] 8031096: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803109a: ee27 5b05 vmul.f64 d5, d7, d5 803109e: f507 63d1 add.w r3, r7, #1672 ; 0x688 80310a2: ed93 7b00 vldr d7, [r3] 80310a6: ee25 5b07 vmul.f64 d5, d5, d7 80310aa: f507 63d1 add.w r3, r7, #1672 ; 0x688 80310ae: ed93 7b00 vldr d7, [r3] 80310b2: ee25 7b07 vmul.f64 d7, d5, d7 80310b6: ee36 6b07 vadd.f64 d6, d6, d7 80310ba: f507 63ca add.w r3, r7, #1616 ; 0x650 80310be: ed93 7b00 vldr d7, [r3] 80310c2: ee37 5b07 vadd.f64 d5, d7, d7 80310c6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80310ca: ed93 7b00 vldr d7, [r3] 80310ce: ee25 5b07 vmul.f64 d5, d5, d7 80310d2: f507 63cf add.w r3, r7, #1656 ; 0x678 80310d6: ed93 7b00 vldr d7, [r3] 80310da: ee25 5b07 vmul.f64 d5, d5, d7 80310de: f507 63cf add.w r3, r7, #1656 ; 0x678 80310e2: ed93 7b00 vldr d7, [r3] 80310e6: ee25 5b07 vmul.f64 d5, d5, d7 80310ea: f507 63cf add.w r3, r7, #1656 ; 0x678 80310ee: ed93 7b00 vldr d7, [r3] 80310f2: ee25 7b07 vmul.f64 d7, d5, d7 80310f6: ee36 6b47 vsub.f64 d6, d6, d7 80310fa: f507 63cb add.w r3, r7, #1624 ; 0x658 80310fe: ed93 5b00 vldr d5, [r3] 8031102: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031106: ed93 7b00 vldr d7, [r3] 803110a: ee25 5b07 vmul.f64 d5, d5, d7 803110e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031112: ed93 7b00 vldr d7, [r3] 8031116: ee25 5b07 vmul.f64 d5, d5, d7 803111a: f507 63cf add.w r3, r7, #1656 ; 0x678 803111e: ed93 7b00 vldr d7, [r3] 8031122: ee25 5b07 vmul.f64 d5, d5, d7 8031126: f507 63cf add.w r3, r7, #1656 ; 0x678 803112a: ed93 7b00 vldr d7, [r3] 803112e: ee25 5b07 vmul.f64 d5, d5, d7 8031132: f507 63cf add.w r3, r7, #1656 ; 0x678 8031136: ed93 7b00 vldr d7, [r3] 803113a: ee25 5b07 vmul.f64 d5, d5, d7 803113e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031142: ed93 7b00 vldr d7, [r3] 8031146: ee25 7b07 vmul.f64 d7, d5, d7 803114a: ee36 6b07 vadd.f64 d6, d6, d7 803114e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031152: ed93 7b00 vldr d7, [r3] 8031156: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803115a: ee27 5b05 vmul.f64 d5, d7, d5 803115e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031162: ed93 7b00 vldr d7, [r3] 8031166: ee25 5b07 vmul.f64 d5, d5, d7 803116a: f507 63cf add.w r3, r7, #1656 ; 0x678 803116e: ed93 7b00 vldr d7, [r3] 8031172: ee25 7b07 vmul.f64 d7, d5, d7 8031176: ee36 6b07 vadd.f64 d6, d6, d7 803117a: f507 63cc add.w r3, r7, #1632 ; 0x660 803117e: ed93 7b00 vldr d7, [r3] 8031182: ee26 7b07 vmul.f64 d7, d6, d7 8031186: 4a9e ldr r2, [pc, #632] ; (8031400 ) 8031188: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803118c: 335a adds r3, #90 ; 0x5a 803118e: 00db lsls r3, r3, #3 8031190: 4413 add r3, r2 8031192: ed83 7b00 vstr d7, [r3] IIR.b3[j] = (16.0*E*Q*T - 4.0*E*Q*T*T*T - 64.0*D*Q*Q + 4.0*D*Q*Q*T*T*T*T) * C; 8031196: f507 63ca add.w r3, r7, #1616 ; 0x650 803119a: ed93 7b00 vldr d7, [r3] 803119e: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 80311a2: ee27 6b06 vmul.f64 d6, d7, d6 80311a6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80311aa: ed93 7b00 vldr d7, [r3] 80311ae: ee26 6b07 vmul.f64 d6, d6, d7 80311b2: f507 63cf add.w r3, r7, #1656 ; 0x678 80311b6: ed93 7b00 vldr d7, [r3] 80311ba: ee26 6b07 vmul.f64 d6, d6, d7 80311be: f507 63ca add.w r3, r7, #1616 ; 0x650 80311c2: ed93 7b00 vldr d7, [r3] 80311c6: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80311ca: ee27 5b05 vmul.f64 d5, d7, d5 80311ce: f507 63d1 add.w r3, r7, #1672 ; 0x688 80311d2: ed93 7b00 vldr d7, [r3] 80311d6: ee25 5b07 vmul.f64 d5, d5, d7 80311da: f507 63cf add.w r3, r7, #1656 ; 0x678 80311de: ed93 7b00 vldr d7, [r3] 80311e2: ee25 5b07 vmul.f64 d5, d5, d7 80311e6: f507 63cf add.w r3, r7, #1656 ; 0x678 80311ea: ed93 7b00 vldr d7, [r3] 80311ee: ee25 5b07 vmul.f64 d5, d5, d7 80311f2: f507 63cf add.w r3, r7, #1656 ; 0x678 80311f6: ed93 7b00 vldr d7, [r3] 80311fa: ee25 7b07 vmul.f64 d7, d5, d7 80311fe: ee36 6b47 vsub.f64 d6, d6, d7 8031202: f507 63cb add.w r3, r7, #1624 ; 0x658 8031206: ed93 7b00 vldr d7, [r3] 803120a: ed9f 5b79 vldr d5, [pc, #484] ; 80313f0 803120e: ee27 5b05 vmul.f64 d5, d7, d5 8031212: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031216: ed93 7b00 vldr d7, [r3] 803121a: ee25 5b07 vmul.f64 d5, d5, d7 803121e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031222: ed93 7b00 vldr d7, [r3] 8031226: ee25 7b07 vmul.f64 d7, d5, d7 803122a: ee36 6b47 vsub.f64 d6, d6, d7 803122e: f507 63cb add.w r3, r7, #1624 ; 0x658 8031232: ed93 7b00 vldr d7, [r3] 8031236: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803123a: ee27 5b05 vmul.f64 d5, d7, d5 803123e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031242: ed93 7b00 vldr d7, [r3] 8031246: ee25 5b07 vmul.f64 d5, d5, d7 803124a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803124e: ed93 7b00 vldr d7, [r3] 8031252: ee25 5b07 vmul.f64 d5, d5, d7 8031256: f507 63cf add.w r3, r7, #1656 ; 0x678 803125a: ed93 7b00 vldr d7, [r3] 803125e: ee25 5b07 vmul.f64 d5, d5, d7 8031262: f507 63cf add.w r3, r7, #1656 ; 0x678 8031266: ed93 7b00 vldr d7, [r3] 803126a: ee25 5b07 vmul.f64 d5, d5, d7 803126e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031272: ed93 7b00 vldr d7, [r3] 8031276: ee25 5b07 vmul.f64 d5, d5, d7 803127a: f507 63cf add.w r3, r7, #1656 ; 0x678 803127e: ed93 7b00 vldr d7, [r3] 8031282: ee25 7b07 vmul.f64 d7, d5, d7 8031286: ee36 6b07 vadd.f64 d6, d6, d7 803128a: f507 63cc add.w r3, r7, #1632 ; 0x660 803128e: ed93 7b00 vldr d7, [r3] 8031292: ee26 7b07 vmul.f64 d7, d6, d7 8031296: 4a5a ldr r2, [pc, #360] ; (8031400 ) 8031298: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803129c: 3350 adds r3, #80 ; 0x50 803129e: 00db lsls r3, r3, #3 80312a0: 4413 add r3, r2 80312a2: ed83 7b00 vstr d7, [r3] IIR.b2[j] = (96.0*D*Q*Q - 8.0*F*T*T + 6.0*D*Q*Q*T*T*T*T - 16.0*D*Q*Q*T*T) * C; 80312a6: f507 63cb add.w r3, r7, #1624 ; 0x658 80312aa: ed93 7b00 vldr d7, [r3] 80312ae: ed9f 6b52 vldr d6, [pc, #328] ; 80313f8 80312b2: ee27 6b06 vmul.f64 d6, d7, d6 80312b6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80312ba: ed93 7b00 vldr d7, [r3] 80312be: ee26 6b07 vmul.f64 d6, d6, d7 80312c2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80312c6: ed93 7b00 vldr d7, [r3] 80312ca: ee26 6b07 vmul.f64 d6, d6, d7 80312ce: f507 63c9 add.w r3, r7, #1608 ; 0x648 80312d2: ed93 7b00 vldr d7, [r3] 80312d6: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80312da: ee27 5b05 vmul.f64 d5, d7, d5 80312de: f507 63cf add.w r3, r7, #1656 ; 0x678 80312e2: ed93 7b00 vldr d7, [r3] 80312e6: ee25 5b07 vmul.f64 d5, d5, d7 80312ea: f507 63cf add.w r3, r7, #1656 ; 0x678 80312ee: ed93 7b00 vldr d7, [r3] 80312f2: ee25 7b07 vmul.f64 d7, d5, d7 80312f6: ee36 6b47 vsub.f64 d6, d6, d7 80312fa: f507 63cb add.w r3, r7, #1624 ; 0x658 80312fe: ed93 7b00 vldr d7, [r3] 8031302: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 8031306: ee27 5b05 vmul.f64 d5, d7, d5 803130a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803130e: ed93 7b00 vldr d7, [r3] 8031312: ee25 5b07 vmul.f64 d5, d5, d7 8031316: f507 63d1 add.w r3, r7, #1672 ; 0x688 803131a: ed93 7b00 vldr d7, [r3] 803131e: ee25 5b07 vmul.f64 d5, d5, d7 8031322: f507 63cf add.w r3, r7, #1656 ; 0x678 8031326: ed93 7b00 vldr d7, [r3] 803132a: ee25 5b07 vmul.f64 d5, d5, d7 803132e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031332: ed93 7b00 vldr d7, [r3] 8031336: ee25 5b07 vmul.f64 d5, d5, d7 803133a: f507 63cf add.w r3, r7, #1656 ; 0x678 803133e: ed93 7b00 vldr d7, [r3] 8031342: ee25 5b07 vmul.f64 d5, d5, d7 8031346: f507 63cf add.w r3, r7, #1656 ; 0x678 803134a: ed93 7b00 vldr d7, [r3] 803134e: ee25 7b07 vmul.f64 d7, d5, d7 8031352: ee36 6b07 vadd.f64 d6, d6, d7 8031356: f507 63cb add.w r3, r7, #1624 ; 0x658 803135a: ed93 7b00 vldr d7, [r3] 803135e: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8031362: ee27 5b05 vmul.f64 d5, d7, d5 8031366: f507 63d1 add.w r3, r7, #1672 ; 0x688 803136a: ed93 7b00 vldr d7, [r3] 803136e: ee25 5b07 vmul.f64 d5, d5, d7 8031372: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031376: ed93 7b00 vldr d7, [r3] 803137a: ee25 5b07 vmul.f64 d5, d5, d7 803137e: f507 63cf add.w r3, r7, #1656 ; 0x678 8031382: ed93 7b00 vldr d7, [r3] 8031386: ee25 5b07 vmul.f64 d5, d5, d7 803138a: f507 63cf add.w r3, r7, #1656 ; 0x678 803138e: ed93 7b00 vldr d7, [r3] 8031392: ee25 7b07 vmul.f64 d7, d5, d7 8031396: ee36 6b47 vsub.f64 d6, d6, d7 803139a: f507 63cc add.w r3, r7, #1632 ; 0x660 803139e: ed93 7b00 vldr d7, [r3] 80313a2: ee26 7b07 vmul.f64 d7, d6, d7 80313a6: 4a16 ldr r2, [pc, #88] ; (8031400 ) 80313a8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80313ac: 3346 adds r3, #70 ; 0x46 80313ae: 00db lsls r3, r3, #3 80313b0: 4413 add r3, r2 80313b2: ed83 7b00 vstr d7, [r3] IIR.b1[j] = (4.0*D*Q*Q*T*T*T*T - 64.0*D*Q*Q + 4.0*E*Q*T*T*T - 16.0*E*Q*T) * C; 80313b6: f507 63cb add.w r3, r7, #1624 ; 0x658 80313ba: ed93 7b00 vldr d7, [r3] 80313be: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80313c2: ee27 6b06 vmul.f64 d6, d7, d6 80313c6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80313ca: ed93 7b00 vldr d7, [r3] 80313ce: ee26 6b07 vmul.f64 d6, d6, d7 80313d2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80313d6: ed93 7b00 vldr d7, [r3] 80313da: ee26 6b07 vmul.f64 d6, d6, d7 80313de: f507 63cf add.w r3, r7, #1656 ; 0x678 80313e2: ed93 7b00 vldr d7, [r3] 80313e6: ee26 6b07 vmul.f64 d6, d6, d7 80313ea: f507 63cf add.w r3, r7, #1656 ; 0x678 80313ee: e009 b.n 8031404 80313f0: 00000000 .word 0x00000000 80313f4: 40500000 .word 0x40500000 80313f8: 00000000 .word 0x00000000 80313fc: 40580000 .word 0x40580000 8031400: 20025918 .word 0x20025918 8031404: ed93 7b00 vldr d7, [r3] 8031408: ee26 6b07 vmul.f64 d6, d6, d7 803140c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031410: ed93 7b00 vldr d7, [r3] 8031414: ee26 6b07 vmul.f64 d6, d6, d7 8031418: f507 63cf add.w r3, r7, #1656 ; 0x678 803141c: ed93 7b00 vldr d7, [r3] 8031420: ee26 6b07 vmul.f64 d6, d6, d7 8031424: f507 63cb add.w r3, r7, #1624 ; 0x658 8031428: ed93 7b00 vldr d7, [r3] 803142c: ed9f 5bda vldr d5, [pc, #872] ; 8031798 8031430: ee27 5b05 vmul.f64 d5, d7, d5 8031434: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031438: ed93 7b00 vldr d7, [r3] 803143c: ee25 5b07 vmul.f64 d5, d5, d7 8031440: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031444: ed93 7b00 vldr d7, [r3] 8031448: ee25 7b07 vmul.f64 d7, d5, d7 803144c: ee36 6b47 vsub.f64 d6, d6, d7 8031450: f507 63ca add.w r3, r7, #1616 ; 0x650 8031454: ed93 7b00 vldr d7, [r3] 8031458: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803145c: ee27 5b05 vmul.f64 d5, d7, d5 8031460: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031464: ed93 7b00 vldr d7, [r3] 8031468: ee25 5b07 vmul.f64 d5, d5, d7 803146c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031470: ed93 7b00 vldr d7, [r3] 8031474: ee25 5b07 vmul.f64 d5, d5, d7 8031478: f507 63cf add.w r3, r7, #1656 ; 0x678 803147c: ed93 7b00 vldr d7, [r3] 8031480: ee25 5b07 vmul.f64 d5, d5, d7 8031484: f507 63cf add.w r3, r7, #1656 ; 0x678 8031488: ed93 7b00 vldr d7, [r3] 803148c: ee25 7b07 vmul.f64 d7, d5, d7 8031490: ee36 6b07 vadd.f64 d6, d6, d7 8031494: f507 63ca add.w r3, r7, #1616 ; 0x650 8031498: ed93 7b00 vldr d7, [r3] 803149c: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80314a0: ee27 5b05 vmul.f64 d5, d7, d5 80314a4: f507 63d1 add.w r3, r7, #1672 ; 0x688 80314a8: ed93 7b00 vldr d7, [r3] 80314ac: ee25 5b07 vmul.f64 d5, d5, d7 80314b0: f507 63cf add.w r3, r7, #1656 ; 0x678 80314b4: ed93 7b00 vldr d7, [r3] 80314b8: ee25 7b07 vmul.f64 d7, d5, d7 80314bc: ee36 6b47 vsub.f64 d6, d6, d7 80314c0: f507 63cc add.w r3, r7, #1632 ; 0x660 80314c4: ed93 7b00 vldr d7, [r3] 80314c8: ee26 7b07 vmul.f64 d7, d6, d7 80314cc: 4ab6 ldr r2, [pc, #728] ; (80317a8 ) 80314ce: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80314d2: 333c adds r3, #60 ; 0x3c 80314d4: 00db lsls r3, r3, #3 80314d6: 4413 add r3, r2 80314d8: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (16.0*D*Q*Q + 8.0*E*Q*T + 8.0*D*Q*Q*T*T + 2.0*E*Q*T*T*T + 4.0*F*T*T + D*Q*Q*T*T*T*T) * C; 80314dc: f507 63cb add.w r3, r7, #1624 ; 0x658 80314e0: ed93 7b00 vldr d7, [r3] 80314e4: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 80314e8: ee27 6b06 vmul.f64 d6, d7, d6 80314ec: f507 63d1 add.w r3, r7, #1672 ; 0x688 80314f0: ed93 7b00 vldr d7, [r3] 80314f4: ee26 6b07 vmul.f64 d6, d6, d7 80314f8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80314fc: ed93 7b00 vldr d7, [r3] 8031500: ee26 6b07 vmul.f64 d6, d6, d7 8031504: f507 63ca add.w r3, r7, #1616 ; 0x650 8031508: ed93 7b00 vldr d7, [r3] 803150c: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031510: ee27 5b05 vmul.f64 d5, d7, d5 8031514: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031518: ed93 7b00 vldr d7, [r3] 803151c: ee25 5b07 vmul.f64 d5, d5, d7 8031520: f507 63cf add.w r3, r7, #1656 ; 0x678 8031524: ed93 7b00 vldr d7, [r3] 8031528: ee25 7b07 vmul.f64 d7, d5, d7 803152c: ee36 6b07 vadd.f64 d6, d6, d7 8031530: f507 63cb add.w r3, r7, #1624 ; 0x658 8031534: ed93 7b00 vldr d7, [r3] 8031538: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 803153c: ee27 5b05 vmul.f64 d5, d7, d5 8031540: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031544: ed93 7b00 vldr d7, [r3] 8031548: ee25 5b07 vmul.f64 d5, d5, d7 803154c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031550: ed93 7b00 vldr d7, [r3] 8031554: ee25 5b07 vmul.f64 d5, d5, d7 8031558: f507 63cf add.w r3, r7, #1656 ; 0x678 803155c: ed93 7b00 vldr d7, [r3] 8031560: ee25 5b07 vmul.f64 d5, d5, d7 8031564: f507 63cf add.w r3, r7, #1656 ; 0x678 8031568: ed93 7b00 vldr d7, [r3] 803156c: ee25 7b07 vmul.f64 d7, d5, d7 8031570: ee36 6b07 vadd.f64 d6, d6, d7 8031574: f507 63ca add.w r3, r7, #1616 ; 0x650 8031578: ed93 7b00 vldr d7, [r3] 803157c: ee37 5b07 vadd.f64 d5, d7, d7 8031580: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031584: ed93 7b00 vldr d7, [r3] 8031588: ee25 5b07 vmul.f64 d5, d5, d7 803158c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031590: ed93 7b00 vldr d7, [r3] 8031594: ee25 5b07 vmul.f64 d5, d5, d7 8031598: f507 63cf add.w r3, r7, #1656 ; 0x678 803159c: ed93 7b00 vldr d7, [r3] 80315a0: ee25 5b07 vmul.f64 d5, d5, d7 80315a4: f507 63cf add.w r3, r7, #1656 ; 0x678 80315a8: ed93 7b00 vldr d7, [r3] 80315ac: ee25 7b07 vmul.f64 d7, d5, d7 80315b0: ee36 6b07 vadd.f64 d6, d6, d7 80315b4: f507 63c9 add.w r3, r7, #1608 ; 0x648 80315b8: ed93 7b00 vldr d7, [r3] 80315bc: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80315c0: ee27 5b05 vmul.f64 d5, d7, d5 80315c4: f507 63cf add.w r3, r7, #1656 ; 0x678 80315c8: ed93 7b00 vldr d7, [r3] 80315cc: ee25 5b07 vmul.f64 d5, d5, d7 80315d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80315d4: ed93 7b00 vldr d7, [r3] 80315d8: ee25 7b07 vmul.f64 d7, d5, d7 80315dc: ee36 6b07 vadd.f64 d6, d6, d7 80315e0: f507 63cb add.w r3, r7, #1624 ; 0x658 80315e4: ed93 5b00 vldr d5, [r3] 80315e8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80315ec: ed93 7b00 vldr d7, [r3] 80315f0: ee25 5b07 vmul.f64 d5, d5, d7 80315f4: f507 63d1 add.w r3, r7, #1672 ; 0x688 80315f8: ed93 7b00 vldr d7, [r3] 80315fc: ee25 5b07 vmul.f64 d5, d5, d7 8031600: f507 63cf add.w r3, r7, #1656 ; 0x678 8031604: ed93 7b00 vldr d7, [r3] 8031608: ee25 5b07 vmul.f64 d5, d5, d7 803160c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031610: ed93 7b00 vldr d7, [r3] 8031614: ee25 5b07 vmul.f64 d5, d5, d7 8031618: f507 63cf add.w r3, r7, #1656 ; 0x678 803161c: ed93 7b00 vldr d7, [r3] 8031620: ee25 5b07 vmul.f64 d5, d5, d7 8031624: f507 63cf add.w r3, r7, #1656 ; 0x678 8031628: ed93 7b00 vldr d7, [r3] 803162c: ee25 7b07 vmul.f64 d7, d5, d7 8031630: ee36 6b07 vadd.f64 d6, d6, d7 8031634: f507 63cc add.w r3, r7, #1632 ; 0x660 8031638: ed93 7b00 vldr d7, [r3] 803163c: ee26 7b07 vmul.f64 d7, d6, d7 8031640: 4a59 ldr r2, [pc, #356] ; (80317a8 ) 8031642: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031646: 3332 adds r3, #50 ; 0x32 8031648: 00db lsls r3, r3, #3 803164a: 4413 add r3, r2 803164c: ed83 7b00 vstr d7, [r3] // T = 2 makes these values approach 0.0 (~ 1.0E-12) The root solver needs 0.0 for numerical reasons. if(fabs(T-2.0) < 0.0005) 8031650: f507 63cf add.w r3, r7, #1656 ; 0x678 8031654: ed93 7b00 vldr d7, [r3] 8031658: eeb0 6b00 vmov.f64 d6, #0 ; 0x40000000 2.0 803165c: ee37 7b46 vsub.f64 d7, d7, d6 8031660: eeb0 7bc7 vabs.f64 d7, d7 8031664: ed9f 6b4e vldr d6, [pc, #312] ; 80317a0 8031668: eeb4 7bc6 vcmpe.f64 d7, d6 803166c: eef1 fa10 vmrs APSR_nzcv, fpscr 8031670: d52f bpl.n 80316d2 { IIR.a3[j] = 0.0; 8031672: 4a4d ldr r2, [pc, #308] ; (80317a8 ) 8031674: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031678: 331e adds r3, #30 803167a: 00db lsls r3, r3, #3 803167c: 441a add r2, r3 803167e: f04f 0300 mov.w r3, #0 8031682: f04f 0400 mov.w r4, #0 8031686: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = 0.0; 803168a: 4a47 ldr r2, [pc, #284] ; (80317a8 ) 803168c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031690: 330a adds r3, #10 8031692: 00db lsls r3, r3, #3 8031694: 441a add r2, r3 8031696: f04f 0300 mov.w r3, #0 803169a: f04f 0400 mov.w r4, #0 803169e: e882 0018 stmia.w r2, {r3, r4} IIR.b3[j] = 0.0; 80316a2: 4a41 ldr r2, [pc, #260] ; (80317a8 ) 80316a4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80316a8: 3350 adds r3, #80 ; 0x50 80316aa: 00db lsls r3, r3, #3 80316ac: 441a add r2, r3 80316ae: f04f 0300 mov.w r3, #0 80316b2: f04f 0400 mov.w r4, #0 80316b6: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = 0.0; 80316ba: 4a3b ldr r2, [pc, #236] ; (80317a8 ) 80316bc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80316c0: 333c adds r3, #60 ; 0x3c 80316c2: 00db lsls r3, r3, #3 80316c4: 441a add r2, r3 80316c6: f04f 0300 mov.w r3, #0 80316ca: f04f 0400 mov.w r4, #0 80316ce: e882 0018 stmia.w r2, {r3, r4} } // We now have a 4th order poly in the form a4*s^4 + a3*s^3 + a2*s^2 + a2*s + a0 // We find the roots of this so we can form two 2nd order polys. Coeff[0] = IIR.a4[j]; 80316d2: 4a35 ldr r2, [pc, #212] ; (80317a8 ) 80316d4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80316d8: 3328 adds r3, #40 ; 0x28 80316da: 00db lsls r3, r3, #3 80316dc: 4413 add r3, r2 80316de: cb18 ldmia r3, {r3, r4} 80316e0: f507 62c3 add.w r2, r7, #1560 ; 0x618 80316e4: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.a3[j]; 80316e8: 4a2f ldr r2, [pc, #188] ; (80317a8 ) 80316ea: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80316ee: 331e adds r3, #30 80316f0: 00db lsls r3, r3, #3 80316f2: 4413 add r3, r2 80316f4: cb18 ldmia r3, {r3, r4} 80316f6: f507 62c4 add.w r2, r7, #1568 ; 0x620 80316fa: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.a2[j]; 80316fe: 4a2a ldr r2, [pc, #168] ; (80317a8 ) 8031700: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031704: 3314 adds r3, #20 8031706: 00db lsls r3, r3, #3 8031708: 4413 add r3, r2 803170a: cb18 ldmia r3, {r3, r4} 803170c: f507 62c5 add.w r2, r7, #1576 ; 0x628 8031710: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.a1[j]; 8031714: 4a24 ldr r2, [pc, #144] ; (80317a8 ) 8031716: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803171a: 330a adds r3, #10 803171c: 00db lsls r3, r3, #3 803171e: 4413 add r3, r2 8031720: cb18 ldmia r3, {r3, r4} 8031722: f507 62c6 add.w r2, r7, #1584 ; 0x630 8031726: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.a0[j]; 803172a: 4a1f ldr r2, [pc, #124] ; (80317a8 ) 803172c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031730: 00db lsls r3, r3, #3 8031732: 4413 add r3, r2 8031734: cb18 ldmia r3, {r3, r4} 8031736: f507 62c7 add.w r2, r7, #1592 ; 0x638 803173a: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 803173e: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8031742: f507 62bf add.w r2, r7, #1528 ; 0x5f8 8031746: f507 61c3 add.w r1, r7, #1560 ; 0x618 803174a: 2004 movs r0, #4 803174c: f002 f8e0 bl 8033910 // In effect, the root finder scales the poly by 1/a4 so we have to apply // this factor back into the two 2nd order equations we are forming. if(IIR.a4[j] < 0.0)Scalar = -sqrt(-IIR.a4[j]); 8031750: 4a15 ldr r2, [pc, #84] ; (80317a8 ) 8031752: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031756: 3328 adds r3, #40 ; 0x28 8031758: 00db lsls r3, r3, #3 803175a: 4413 add r3, r2 803175c: ed93 7b00 vldr d7, [r3] 8031760: eeb5 7bc0 vcmpe.f64 d7, #0.0 8031764: eef1 fa10 vmrs APSR_nzcv, fpscr 8031768: d520 bpl.n 80317ac 803176a: 4a0f ldr r2, [pc, #60] ; (80317a8 ) 803176c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031770: 3328 adds r3, #40 ; 0x28 8031772: 00db lsls r3, r3, #3 8031774: 4413 add r3, r2 8031776: ed93 7b00 vldr d7, [r3] 803177a: eeb1 7b47 vneg.f64 d7, d7 803177e: eeb0 0b47 vmov.f64 d0, d7 8031782: f099 fc4d bl 80cb020 8031786: eeb0 7b40 vmov.f64 d7, d0 803178a: eeb1 7b47 vneg.f64 d7, d7 803178e: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031792: ed83 7b00 vstr d7, [r3] 8031796: e019 b.n 80317cc 8031798: 00000000 .word 0x00000000 803179c: 40500000 .word 0x40500000 80317a0: d2f1a9fc .word 0xd2f1a9fc 80317a4: 3f40624d .word 0x3f40624d 80317a8: 20025918 .word 0x20025918 else Scalar = sqrt(IIR.a4[j]); 80317ac: 4ada ldr r2, [pc, #872] ; (8031b18 ) 80317ae: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80317b2: 3328 adds r3, #40 ; 0x28 80317b4: 00db lsls r3, r3, #3 80317b6: 4413 add r3, r2 80317b8: ed93 7b00 vldr d7, [r3] 80317bc: eeb0 0b47 vmov.f64 d0, d7 80317c0: f099 fc2e bl 80cb020 80317c4: f507 63d2 add.w r3, r7, #1680 ; 0x690 80317c8: ed83 0b00 vstr d0, [r3] // Form the 2nd order polys from the roots. a2[k] = Scalar; 80317cc: f507 62b1 add.w r2, r7, #1416 ; 0x588 80317d0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80317d4: 00db lsls r3, r3, #3 80317d6: 441a add r2, r3 80317d8: f507 63d2 add.w r3, r7, #1680 ; 0x690 80317dc: cb18 ldmia r3, {r3, r4} 80317de: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 80317e2: f507 63bf add.w r3, r7, #1528 ; 0x5f8 80317e6: ed93 6b00 vldr d6, [r3] 80317ea: f507 63c0 add.w r3, r7, #1536 ; 0x600 80317ee: ed93 7b00 vldr d7, [r3] 80317f2: ee36 7b07 vadd.f64 d7, d6, d7 80317f6: eeb1 6b47 vneg.f64 d6, d7 80317fa: f507 63d2 add.w r3, r7, #1680 ; 0x690 80317fe: ed93 7b00 vldr d7, [r3] 8031802: ee26 7b07 vmul.f64 d7, d6, d7 8031806: f507 62a7 add.w r2, r7, #1336 ; 0x538 803180a: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 803180e: 00db lsls r3, r3, #3 8031810: 4413 add r3, r2 8031812: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 8031816: f507 63bf add.w r3, r7, #1528 ; 0x5f8 803181a: ed93 6b00 vldr d6, [r3] 803181e: f507 63c0 add.w r3, r7, #1536 ; 0x600 8031822: ed93 7b00 vldr d7, [r3] 8031826: ee26 6b07 vmul.f64 d6, d6, d7 803182a: f507 63bb add.w r3, r7, #1496 ; 0x5d8 803182e: ed93 5b00 vldr d5, [r3] 8031832: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8031836: ed93 7b00 vldr d7, [r3] 803183a: ee25 7b07 vmul.f64 d7, d5, d7 803183e: ee36 6b47 vsub.f64 d6, d6, d7 8031842: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031846: ed93 7b00 vldr d7, [r3] 803184a: ee26 7b07 vmul.f64 d7, d6, d7 803184e: f507 629d add.w r2, r7, #1256 ; 0x4e8 8031852: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031856: 00db lsls r3, r3, #3 8031858: 4413 add r3, r2 803185a: ed83 7b00 vstr d7, [r3] k++; 803185e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031862: 3301 adds r3, #1 8031864: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 a2[k] = Scalar; 8031868: f507 62b1 add.w r2, r7, #1416 ; 0x588 803186c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031870: 00db lsls r3, r3, #3 8031872: 441a add r2, r3 8031874: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031878: cb18 ldmia r3, {r3, r4} 803187a: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 803187e: f507 63c1 add.w r3, r7, #1544 ; 0x608 8031882: ed93 6b00 vldr d6, [r3] 8031886: f507 63c2 add.w r3, r7, #1552 ; 0x610 803188a: ed93 7b00 vldr d7, [r3] 803188e: ee36 7b07 vadd.f64 d7, d6, d7 8031892: eeb1 6b47 vneg.f64 d6, d7 8031896: f507 63d2 add.w r3, r7, #1680 ; 0x690 803189a: ed93 7b00 vldr d7, [r3] 803189e: ee26 7b07 vmul.f64 d7, d6, d7 80318a2: f507 62a7 add.w r2, r7, #1336 ; 0x538 80318a6: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80318aa: 00db lsls r3, r3, #3 80318ac: 4413 add r3, r2 80318ae: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 80318b2: f507 63c1 add.w r3, r7, #1544 ; 0x608 80318b6: ed93 6b00 vldr d6, [r3] 80318ba: f507 63c2 add.w r3, r7, #1552 ; 0x610 80318be: ed93 7b00 vldr d7, [r3] 80318c2: ee26 6b07 vmul.f64 d6, d6, d7 80318c6: f507 63bd add.w r3, r7, #1512 ; 0x5e8 80318ca: ed93 5b00 vldr d5, [r3] 80318ce: f507 63be add.w r3, r7, #1520 ; 0x5f0 80318d2: ed93 7b00 vldr d7, [r3] 80318d6: ee25 7b07 vmul.f64 d7, d5, d7 80318da: ee36 6b47 vsub.f64 d6, d6, d7 80318de: f507 63d2 add.w r3, r7, #1680 ; 0x690 80318e2: ed93 7b00 vldr d7, [r3] 80318e6: ee26 7b07 vmul.f64 d7, d6, d7 80318ea: f507 629d add.w r2, r7, #1256 ; 0x4e8 80318ee: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80318f2: 00db lsls r3, r3, #3 80318f4: 4413 add r3, r2 80318f6: ed83 7b00 vstr d7, [r3] k--; 80318fa: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80318fe: 3b01 subs r3, #1 8031900: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 // Now do the same with the numerator. Coeff[0] = IIR.b4[j]; 8031904: 4a84 ldr r2, [pc, #528] ; (8031b18 ) 8031906: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803190a: 335a adds r3, #90 ; 0x5a 803190c: 00db lsls r3, r3, #3 803190e: 4413 add r3, r2 8031910: cb18 ldmia r3, {r3, r4} 8031912: f507 62c3 add.w r2, r7, #1560 ; 0x618 8031916: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.b3[j]; 803191a: 4a7f ldr r2, [pc, #508] ; (8031b18 ) 803191c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031920: 3350 adds r3, #80 ; 0x50 8031922: 00db lsls r3, r3, #3 8031924: 4413 add r3, r2 8031926: cb18 ldmia r3, {r3, r4} 8031928: f507 62c4 add.w r2, r7, #1568 ; 0x620 803192c: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.b2[j]; 8031930: 4a79 ldr r2, [pc, #484] ; (8031b18 ) 8031932: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031936: 3346 adds r3, #70 ; 0x46 8031938: 00db lsls r3, r3, #3 803193a: 4413 add r3, r2 803193c: cb18 ldmia r3, {r3, r4} 803193e: f507 62c5 add.w r2, r7, #1576 ; 0x628 8031942: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.b1[j]; 8031946: 4a74 ldr r2, [pc, #464] ; (8031b18 ) 8031948: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803194c: 333c adds r3, #60 ; 0x3c 803194e: 00db lsls r3, r3, #3 8031950: 4413 add r3, r2 8031952: cb18 ldmia r3, {r3, r4} 8031954: f507 62c6 add.w r2, r7, #1584 ; 0x630 8031958: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.b0[j]; 803195c: 4a6e ldr r2, [pc, #440] ; (8031b18 ) 803195e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8031962: 3332 adds r3, #50 ; 0x32 8031964: 00db lsls r3, r3, #3 8031966: 4413 add r3, r2 8031968: cb18 ldmia r3, {r3, r4} 803196a: f507 62c7 add.w r2, r7, #1592 ; 0x638 803196e: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 8031972: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8031976: f507 62bf add.w r2, r7, #1528 ; 0x5f8 803197a: f507 61c3 add.w r1, r7, #1560 ; 0x618 803197e: 2004 movs r0, #4 8031980: f001 ffc6 bl 8033910 if(IIR.b4[j] < 0.0)Scalar = -sqrt(-IIR.b4[j]); 8031984: 4a64 ldr r2, [pc, #400] ; (8031b18 ) 8031986: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803198a: 335a adds r3, #90 ; 0x5a 803198c: 00db lsls r3, r3, #3 803198e: 4413 add r3, r2 8031990: ed93 7b00 vldr d7, [r3] 8031994: eeb5 7bc0 vcmpe.f64 d7, #0.0 8031998: eef1 fa10 vmrs APSR_nzcv, fpscr 803199c: d516 bpl.n 80319cc 803199e: 4a5e ldr r2, [pc, #376] ; (8031b18 ) 80319a0: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80319a4: 335a adds r3, #90 ; 0x5a 80319a6: 00db lsls r3, r3, #3 80319a8: 4413 add r3, r2 80319aa: ed93 7b00 vldr d7, [r3] 80319ae: eeb1 7b47 vneg.f64 d7, d7 80319b2: eeb0 0b47 vmov.f64 d0, d7 80319b6: f099 fb33 bl 80cb020 80319ba: eeb0 7b40 vmov.f64 d7, d0 80319be: eeb1 7b47 vneg.f64 d7, d7 80319c2: f507 63d2 add.w r3, r7, #1680 ; 0x690 80319c6: ed83 7b00 vstr d7, [r3] 80319ca: e00f b.n 80319ec else Scalar = sqrt(IIR.b4[j]); 80319cc: 4a52 ldr r2, [pc, #328] ; (8031b18 ) 80319ce: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80319d2: 335a adds r3, #90 ; 0x5a 80319d4: 00db lsls r3, r3, #3 80319d6: 4413 add r3, r2 80319d8: ed93 7b00 vldr d7, [r3] 80319dc: eeb0 0b47 vmov.f64 d0, d7 80319e0: f099 fb1e bl 80cb020 80319e4: f507 63d2 add.w r3, r7, #1680 ; 0x690 80319e8: ed83 0b00 vstr d0, [r3] b2[k] = Scalar; 80319ec: f507 6293 add.w r2, r7, #1176 ; 0x498 80319f0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 80319f4: 00db lsls r3, r3, #3 80319f6: 441a add r2, r3 80319f8: f507 63d2 add.w r3, r7, #1680 ; 0x690 80319fc: cb18 ldmia r3, {r3, r4} 80319fe: e882 0018 stmia.w r2, {r3, r4} if(ProtoType == ftINVERSE_CHEBY || ProtoType >= ftELLIPTIC_00) 8031a02: f207 230b addw r3, r7, #523 ; 0x20b 8031a06: 781b ldrb r3, [r3, #0] 8031a08: 2b05 cmp r3, #5 8031a0a: d004 beq.n 8031a16 8031a0c: f207 230b addw r3, r7, #523 ; 0x20b 8031a10: 781b ldrb r3, [r3, #0] 8031a12: 2b05 cmp r3, #5 8031a14: d91a bls.n 8031a4c b1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 8031a16: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8031a1a: ed93 6b00 vldr d6, [r3] 8031a1e: f507 63c0 add.w r3, r7, #1536 ; 0x600 8031a22: ed93 7b00 vldr d7, [r3] 8031a26: ee36 7b07 vadd.f64 d7, d6, d7 8031a2a: eeb1 6b47 vneg.f64 d6, d7 8031a2e: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031a32: ed93 7b00 vldr d7, [r3] 8031a36: ee26 7b07 vmul.f64 d7, d6, d7 8031a3a: f507 6289 add.w r2, r7, #1096 ; 0x448 8031a3e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031a42: 00db lsls r3, r3, #3 8031a44: 4413 add r3, r2 8031a46: ed83 7b00 vstr d7, [r3] 8031a4a: e00b b.n 8031a64 else // else the prototype is an all pole filter b1[k] = 0.0; // b1 = 0 for all pole filters, but the addition above won't always equal zero exactly. 8031a4c: f507 6289 add.w r2, r7, #1096 ; 0x448 8031a50: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031a54: 00db lsls r3, r3, #3 8031a56: 441a add r2, r3 8031a58: f04f 0300 mov.w r3, #0 8031a5c: f04f 0400 mov.w r4, #0 8031a60: e882 0018 stmia.w r2, {r3, r4} b0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 8031a64: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8031a68: ed93 6b00 vldr d6, [r3] 8031a6c: f507 63c0 add.w r3, r7, #1536 ; 0x600 8031a70: ed93 7b00 vldr d7, [r3] 8031a74: ee26 6b07 vmul.f64 d6, d6, d7 8031a78: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8031a7c: ed93 5b00 vldr d5, [r3] 8031a80: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8031a84: ed93 7b00 vldr d7, [r3] 8031a88: ee25 7b07 vmul.f64 d7, d5, d7 8031a8c: ee36 6b47 vsub.f64 d6, d6, d7 8031a90: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031a94: ed93 7b00 vldr d7, [r3] 8031a98: ee26 7b07 vmul.f64 d7, d6, d7 8031a9c: f507 727e add.w r2, r7, #1016 ; 0x3f8 8031aa0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031aa4: 00db lsls r3, r3, #3 8031aa6: 4413 add r3, r2 8031aa8: ed83 7b00 vstr d7, [r3] k++; 8031aac: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031ab0: 3301 adds r3, #1 8031ab2: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 b2[k] = Scalar; 8031ab6: f507 6293 add.w r2, r7, #1176 ; 0x498 8031aba: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031abe: 00db lsls r3, r3, #3 8031ac0: 441a add r2, r3 8031ac2: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031ac6: cb18 ldmia r3, {r3, r4} 8031ac8: e882 0018 stmia.w r2, {r3, r4} if(ProtoType == ftINVERSE_CHEBY || ProtoType >= ftELLIPTIC_00) 8031acc: f207 230b addw r3, r7, #523 ; 0x20b 8031ad0: 781b ldrb r3, [r3, #0] 8031ad2: 2b05 cmp r3, #5 8031ad4: d004 beq.n 8031ae0 8031ad6: f207 230b addw r3, r7, #523 ; 0x20b 8031ada: 781b ldrb r3, [r3, #0] 8031adc: 2b05 cmp r3, #5 8031ade: d91d bls.n 8031b1c b1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 8031ae0: f507 63c1 add.w r3, r7, #1544 ; 0x608 8031ae4: ed93 6b00 vldr d6, [r3] 8031ae8: f507 63c2 add.w r3, r7, #1552 ; 0x610 8031aec: ed93 7b00 vldr d7, [r3] 8031af0: ee36 7b07 vadd.f64 d7, d6, d7 8031af4: eeb1 6b47 vneg.f64 d6, d7 8031af8: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031afc: ed93 7b00 vldr d7, [r3] 8031b00: ee26 7b07 vmul.f64 d7, d6, d7 8031b04: f507 6289 add.w r2, r7, #1096 ; 0x448 8031b08: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031b0c: 00db lsls r3, r3, #3 8031b0e: 4413 add r3, r2 8031b10: ed83 7b00 vstr d7, [r3] 8031b14: e00e b.n 8031b34 8031b16: bf00 nop 8031b18: 20025918 .word 0x20025918 else b1[k] = 0.0; 8031b1c: f507 6289 add.w r2, r7, #1096 ; 0x448 8031b20: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031b24: 00db lsls r3, r3, #3 8031b26: 441a add r2, r3 8031b28: f04f 0300 mov.w r3, #0 8031b2c: f04f 0400 mov.w r4, #0 8031b30: e882 0018 stmia.w r2, {r3, r4} b0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 8031b34: f507 63c1 add.w r3, r7, #1544 ; 0x608 8031b38: ed93 6b00 vldr d6, [r3] 8031b3c: f507 63c2 add.w r3, r7, #1552 ; 0x610 8031b40: ed93 7b00 vldr d7, [r3] 8031b44: ee26 6b07 vmul.f64 d6, d6, d7 8031b48: f507 63bd add.w r3, r7, #1512 ; 0x5e8 8031b4c: ed93 5b00 vldr d5, [r3] 8031b50: f507 63be add.w r3, r7, #1520 ; 0x5f0 8031b54: ed93 7b00 vldr d7, [r3] 8031b58: ee25 7b07 vmul.f64 d7, d5, d7 8031b5c: ee36 6b47 vsub.f64 d6, d6, d7 8031b60: f507 63d2 add.w r3, r7, #1680 ; 0x690 8031b64: ed93 7b00 vldr d7, [r3] 8031b68: ee26 7b07 vmul.f64 d7, d6, d7 8031b6c: f507 727e add.w r2, r7, #1016 ; 0x3f8 8031b70: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031b74: 00db lsls r3, r3, #3 8031b76: 4413 add r3, r2 8031b78: ed83 7b00 vstr d7, [r3] k++; 8031b7c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031b80: 3301 adds r3, #1 8031b82: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 // Go below to see where we store these 2nd order polys back into IIR } } if(PassType == iirNOTCH) 8031b86: f207 230a addw r3, r7, #522 ; 0x20a 8031b8a: 781b ldrb r3, [r3, #0] 8031b8c: 2b03 cmp r3, #3 8031b8e: f041 825b bne.w 8033048 { if(A == 0.0 && D == 0.0) // 1 pole 8031b92: f507 63ce add.w r3, r7, #1648 ; 0x670 8031b96: ed93 7b00 vldr d7, [r3] 8031b9a: eeb5 7b40 vcmp.f64 d7, #0.0 8031b9e: eef1 fa10 vmrs APSR_nzcv, fpscr 8031ba2: f040 81ad bne.w 8031f00 8031ba6: f507 63cb add.w r3, r7, #1624 ; 0x658 8031baa: ed93 7b00 vldr d7, [r3] 8031bae: eeb5 7b40 vcmp.f64 d7, #0.0 8031bb2: eef1 fa10 vmrs APSR_nzcv, fpscr 8031bb6: f040 81a3 bne.w 8031f00 { Arg = 2.0*B*T + C*Q*T*T + 4.0*C*Q; 8031bba: f507 63cd add.w r3, r7, #1640 ; 0x668 8031bbe: ed93 7b00 vldr d7, [r3] 8031bc2: ee37 6b07 vadd.f64 d6, d7, d7 8031bc6: f507 63cf add.w r3, r7, #1656 ; 0x678 8031bca: ed93 7b00 vldr d7, [r3] 8031bce: ee26 6b07 vmul.f64 d6, d6, d7 8031bd2: f507 63cc add.w r3, r7, #1632 ; 0x660 8031bd6: ed93 5b00 vldr d5, [r3] 8031bda: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031bde: ed93 7b00 vldr d7, [r3] 8031be2: ee25 5b07 vmul.f64 d5, d5, d7 8031be6: f507 63cf add.w r3, r7, #1656 ; 0x678 8031bea: ed93 7b00 vldr d7, [r3] 8031bee: ee25 5b07 vmul.f64 d5, d5, d7 8031bf2: f507 63cf add.w r3, r7, #1656 ; 0x678 8031bf6: ed93 7b00 vldr d7, [r3] 8031bfa: ee25 7b07 vmul.f64 d7, d5, d7 8031bfe: ee36 6b07 vadd.f64 d6, d6, d7 8031c02: f507 63cc add.w r3, r7, #1632 ; 0x660 8031c06: ed93 7b00 vldr d7, [r3] 8031c0a: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031c0e: ee27 5b05 vmul.f64 d5, d7, d5 8031c12: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031c16: ed93 7b00 vldr d7, [r3] 8031c1a: ee25 7b07 vmul.f64 d7, d5, d7 8031c1e: ee36 7b07 vadd.f64 d7, d6, d7 8031c22: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031c26: ed83 7b00 vstr d7, [r3] a2[k] = (4.0*C*Q - 2.0*B*T + C*Q*T*T) / Arg; 8031c2a: f507 63cc add.w r3, r7, #1632 ; 0x660 8031c2e: ed93 7b00 vldr d7, [r3] 8031c32: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031c36: ee27 6b06 vmul.f64 d6, d7, d6 8031c3a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031c3e: ed93 7b00 vldr d7, [r3] 8031c42: ee26 6b07 vmul.f64 d6, d6, d7 8031c46: f507 63cd add.w r3, r7, #1640 ; 0x668 8031c4a: ed93 7b00 vldr d7, [r3] 8031c4e: ee37 5b07 vadd.f64 d5, d7, d7 8031c52: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c56: ed93 7b00 vldr d7, [r3] 8031c5a: ee25 7b07 vmul.f64 d7, d5, d7 8031c5e: ee36 6b47 vsub.f64 d6, d6, d7 8031c62: f507 63cc add.w r3, r7, #1632 ; 0x660 8031c66: ed93 5b00 vldr d5, [r3] 8031c6a: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031c6e: ed93 7b00 vldr d7, [r3] 8031c72: ee25 5b07 vmul.f64 d5, d5, d7 8031c76: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c7a: ed93 7b00 vldr d7, [r3] 8031c7e: ee25 5b07 vmul.f64 d5, d5, d7 8031c82: f507 63cf add.w r3, r7, #1656 ; 0x678 8031c86: ed93 7b00 vldr d7, [r3] 8031c8a: ee25 7b07 vmul.f64 d7, d5, d7 8031c8e: ee36 5b07 vadd.f64 d5, d6, d7 8031c92: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031c96: ed93 6b00 vldr d6, [r3] 8031c9a: ee85 7b06 vdiv.f64 d7, d5, d6 8031c9e: f507 62b1 add.w r2, r7, #1416 ; 0x588 8031ca2: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031ca6: 00db lsls r3, r3, #3 8031ca8: 4413 add r3, r2 8031caa: ed83 7b00 vstr d7, [r3] a1[k] = (2.0*C*Q*T*T - 8.0*C*Q) / Arg; 8031cae: f507 63cc add.w r3, r7, #1632 ; 0x660 8031cb2: ed93 7b00 vldr d7, [r3] 8031cb6: ee37 6b07 vadd.f64 d6, d7, d7 8031cba: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031cbe: ed93 7b00 vldr d7, [r3] 8031cc2: ee26 6b07 vmul.f64 d6, d6, d7 8031cc6: f507 63cf add.w r3, r7, #1656 ; 0x678 8031cca: ed93 7b00 vldr d7, [r3] 8031cce: ee26 6b07 vmul.f64 d6, d6, d7 8031cd2: f507 63cf add.w r3, r7, #1656 ; 0x678 8031cd6: ed93 7b00 vldr d7, [r3] 8031cda: ee26 6b07 vmul.f64 d6, d6, d7 8031cde: f507 63cc add.w r3, r7, #1632 ; 0x660 8031ce2: ed93 7b00 vldr d7, [r3] 8031ce6: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031cea: ee27 5b05 vmul.f64 d5, d7, d5 8031cee: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031cf2: ed93 7b00 vldr d7, [r3] 8031cf6: ee25 7b07 vmul.f64 d7, d5, d7 8031cfa: ee36 5b47 vsub.f64 d5, d6, d7 8031cfe: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031d02: ed93 6b00 vldr d6, [r3] 8031d06: ee85 7b06 vdiv.f64 d7, d5, d6 8031d0a: f507 62a7 add.w r2, r7, #1336 ; 0x538 8031d0e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031d12: 00db lsls r3, r3, #3 8031d14: 4413 add r3, r2 8031d16: ed83 7b00 vstr d7, [r3] a0[k] = 1.0; 8031d1a: f507 629d add.w r2, r7, #1256 ; 0x4e8 8031d1e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031d22: 00db lsls r3, r3, #3 8031d24: 441a add r2, r3 8031d26: f04f 0300 mov.w r3, #0 8031d2a: 4c74 ldr r4, [pc, #464] ; (8031efc ) 8031d2c: e882 0018 stmia.w r2, {r3, r4} b2[k] = (4.0*F*Q - 2.0*E*T + F*Q*T*T) / Arg * C/F; 8031d30: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031d34: ed93 7b00 vldr d7, [r3] 8031d38: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031d3c: ee27 6b06 vmul.f64 d6, d7, d6 8031d40: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031d44: ed93 7b00 vldr d7, [r3] 8031d48: ee26 6b07 vmul.f64 d6, d6, d7 8031d4c: f507 63ca add.w r3, r7, #1616 ; 0x650 8031d50: ed93 7b00 vldr d7, [r3] 8031d54: ee37 5b07 vadd.f64 d5, d7, d7 8031d58: f507 63cf add.w r3, r7, #1656 ; 0x678 8031d5c: ed93 7b00 vldr d7, [r3] 8031d60: ee25 7b07 vmul.f64 d7, d5, d7 8031d64: ee36 6b47 vsub.f64 d6, d6, d7 8031d68: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031d6c: ed93 5b00 vldr d5, [r3] 8031d70: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031d74: ed93 7b00 vldr d7, [r3] 8031d78: ee25 5b07 vmul.f64 d5, d5, d7 8031d7c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031d80: ed93 7b00 vldr d7, [r3] 8031d84: ee25 5b07 vmul.f64 d5, d5, d7 8031d88: f507 63cf add.w r3, r7, #1656 ; 0x678 8031d8c: ed93 7b00 vldr d7, [r3] 8031d90: ee25 7b07 vmul.f64 d7, d5, d7 8031d94: ee36 5b07 vadd.f64 d5, d6, d7 8031d98: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031d9c: ed93 7b00 vldr d7, [r3] 8031da0: ee85 6b07 vdiv.f64 d6, d5, d7 8031da4: f507 63cc add.w r3, r7, #1632 ; 0x660 8031da8: ed93 7b00 vldr d7, [r3] 8031dac: ee26 5b07 vmul.f64 d5, d6, d7 8031db0: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031db4: ed93 6b00 vldr d6, [r3] 8031db8: ee85 7b06 vdiv.f64 d7, d5, d6 8031dbc: f507 6293 add.w r2, r7, #1176 ; 0x498 8031dc0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031dc4: 00db lsls r3, r3, #3 8031dc6: 4413 add r3, r2 8031dc8: ed83 7b00 vstr d7, [r3] b1[k] = (2.0*F*Q*T*T - 8.0*F*Q) / Arg *C/F; 8031dcc: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031dd0: ed93 7b00 vldr d7, [r3] 8031dd4: ee37 6b07 vadd.f64 d6, d7, d7 8031dd8: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031ddc: ed93 7b00 vldr d7, [r3] 8031de0: ee26 6b07 vmul.f64 d6, d6, d7 8031de4: f507 63cf add.w r3, r7, #1656 ; 0x678 8031de8: ed93 7b00 vldr d7, [r3] 8031dec: ee26 6b07 vmul.f64 d6, d6, d7 8031df0: f507 63cf add.w r3, r7, #1656 ; 0x678 8031df4: ed93 7b00 vldr d7, [r3] 8031df8: ee26 6b07 vmul.f64 d6, d6, d7 8031dfc: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031e00: ed93 7b00 vldr d7, [r3] 8031e04: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031e08: ee27 5b05 vmul.f64 d5, d7, d5 8031e0c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031e10: ed93 7b00 vldr d7, [r3] 8031e14: ee25 7b07 vmul.f64 d7, d5, d7 8031e18: ee36 5b47 vsub.f64 d5, d6, d7 8031e1c: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031e20: ed93 7b00 vldr d7, [r3] 8031e24: ee85 6b07 vdiv.f64 d6, d5, d7 8031e28: f507 63cc add.w r3, r7, #1632 ; 0x660 8031e2c: ed93 7b00 vldr d7, [r3] 8031e30: ee26 5b07 vmul.f64 d5, d6, d7 8031e34: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031e38: ed93 6b00 vldr d6, [r3] 8031e3c: ee85 7b06 vdiv.f64 d7, d5, d6 8031e40: f507 6289 add.w r2, r7, #1096 ; 0x448 8031e44: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031e48: 00db lsls r3, r3, #3 8031e4a: 4413 add r3, r2 8031e4c: ed83 7b00 vstr d7, [r3] b0[k] = (2.0*E*T + F*Q*T*T +4.0*F*Q) / Arg *C/F; 8031e50: f507 63ca add.w r3, r7, #1616 ; 0x650 8031e54: ed93 7b00 vldr d7, [r3] 8031e58: ee37 6b07 vadd.f64 d6, d7, d7 8031e5c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031e60: ed93 7b00 vldr d7, [r3] 8031e64: ee26 6b07 vmul.f64 d6, d6, d7 8031e68: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031e6c: ed93 5b00 vldr d5, [r3] 8031e70: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031e74: ed93 7b00 vldr d7, [r3] 8031e78: ee25 5b07 vmul.f64 d5, d5, d7 8031e7c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031e80: ed93 7b00 vldr d7, [r3] 8031e84: ee25 5b07 vmul.f64 d5, d5, d7 8031e88: f507 63cf add.w r3, r7, #1656 ; 0x678 8031e8c: ed93 7b00 vldr d7, [r3] 8031e90: ee25 7b07 vmul.f64 d7, d5, d7 8031e94: ee36 6b07 vadd.f64 d6, d6, d7 8031e98: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031e9c: ed93 7b00 vldr d7, [r3] 8031ea0: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8031ea4: ee27 5b05 vmul.f64 d5, d7, d5 8031ea8: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031eac: ed93 7b00 vldr d7, [r3] 8031eb0: ee25 7b07 vmul.f64 d7, d5, d7 8031eb4: ee36 5b07 vadd.f64 d5, d6, d7 8031eb8: f507 63c8 add.w r3, r7, #1600 ; 0x640 8031ebc: ed93 7b00 vldr d7, [r3] 8031ec0: ee85 6b07 vdiv.f64 d6, d5, d7 8031ec4: f507 63cc add.w r3, r7, #1632 ; 0x660 8031ec8: ed93 7b00 vldr d7, [r3] 8031ecc: ee26 5b07 vmul.f64 d5, d6, d7 8031ed0: f507 63c9 add.w r3, r7, #1608 ; 0x648 8031ed4: ed93 6b00 vldr d6, [r3] 8031ed8: ee85 7b06 vdiv.f64 d7, d5, d6 8031edc: f507 727e add.w r2, r7, #1016 ; 0x3f8 8031ee0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031ee4: 00db lsls r3, r3, #3 8031ee6: 4413 add r3, r2 8031ee8: ed83 7b00 vstr d7, [r3] k++; 8031eec: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8031ef0: 3301 adds r3, #1 8031ef2: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 8031ef6: f001 b8a7 b.w 8033048 8031efa: bf00 nop 8031efc: 3ff00000 .word 0x3ff00000 } else { IIR.a4[j] = (4.0*A*T*T - 2.0*B*T*T*T*Q + 8.0*C*Q*Q*T*T - 8.0*B*T*Q + C*Q*Q*T*T*T*T + 16.0*C*Q*Q) * -F; 8031f00: f507 63ce add.w r3, r7, #1648 ; 0x670 8031f04: ed93 7b00 vldr d7, [r3] 8031f08: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8031f0c: ee27 6b06 vmul.f64 d6, d7, d6 8031f10: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f14: ed93 7b00 vldr d7, [r3] 8031f18: ee26 6b07 vmul.f64 d6, d6, d7 8031f1c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f20: ed93 7b00 vldr d7, [r3] 8031f24: ee26 6b07 vmul.f64 d6, d6, d7 8031f28: f507 63cd add.w r3, r7, #1640 ; 0x668 8031f2c: ed93 7b00 vldr d7, [r3] 8031f30: ee37 5b07 vadd.f64 d5, d7, d7 8031f34: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f38: ed93 7b00 vldr d7, [r3] 8031f3c: ee25 5b07 vmul.f64 d5, d5, d7 8031f40: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f44: ed93 7b00 vldr d7, [r3] 8031f48: ee25 5b07 vmul.f64 d5, d5, d7 8031f4c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f50: ed93 7b00 vldr d7, [r3] 8031f54: ee25 5b07 vmul.f64 d5, d5, d7 8031f58: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031f5c: ed93 7b00 vldr d7, [r3] 8031f60: ee25 7b07 vmul.f64 d7, d5, d7 8031f64: ee36 6b47 vsub.f64 d6, d6, d7 8031f68: f507 63cc add.w r3, r7, #1632 ; 0x660 8031f6c: ed93 7b00 vldr d7, [r3] 8031f70: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031f74: ee27 5b05 vmul.f64 d5, d7, d5 8031f78: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031f7c: ed93 7b00 vldr d7, [r3] 8031f80: ee25 5b07 vmul.f64 d5, d5, d7 8031f84: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031f88: ed93 7b00 vldr d7, [r3] 8031f8c: ee25 5b07 vmul.f64 d5, d5, d7 8031f90: f507 63cf add.w r3, r7, #1656 ; 0x678 8031f94: ed93 7b00 vldr d7, [r3] 8031f98: ee25 5b07 vmul.f64 d5, d5, d7 8031f9c: f507 63cf add.w r3, r7, #1656 ; 0x678 8031fa0: ed93 7b00 vldr d7, [r3] 8031fa4: ee25 7b07 vmul.f64 d7, d5, d7 8031fa8: ee36 6b07 vadd.f64 d6, d6, d7 8031fac: f507 63cd add.w r3, r7, #1640 ; 0x668 8031fb0: ed93 7b00 vldr d7, [r3] 8031fb4: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8031fb8: ee27 5b05 vmul.f64 d5, d7, d5 8031fbc: f507 63cf add.w r3, r7, #1656 ; 0x678 8031fc0: ed93 7b00 vldr d7, [r3] 8031fc4: ee25 5b07 vmul.f64 d5, d5, d7 8031fc8: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031fcc: ed93 7b00 vldr d7, [r3] 8031fd0: ee25 7b07 vmul.f64 d7, d5, d7 8031fd4: ee36 6b47 vsub.f64 d6, d6, d7 8031fd8: f507 63cc add.w r3, r7, #1632 ; 0x660 8031fdc: ed93 5b00 vldr d5, [r3] 8031fe0: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031fe4: ed93 7b00 vldr d7, [r3] 8031fe8: ee25 5b07 vmul.f64 d5, d5, d7 8031fec: f507 63d1 add.w r3, r7, #1672 ; 0x688 8031ff0: ed93 7b00 vldr d7, [r3] 8031ff4: ee25 5b07 vmul.f64 d5, d5, d7 8031ff8: f507 63cf add.w r3, r7, #1656 ; 0x678 8031ffc: ed93 7b00 vldr d7, [r3] 8032000: ee25 5b07 vmul.f64 d5, d5, d7 8032004: f507 63cf add.w r3, r7, #1656 ; 0x678 8032008: ed93 7b00 vldr d7, [r3] 803200c: ee25 5b07 vmul.f64 d5, d5, d7 8032010: f507 63cf add.w r3, r7, #1656 ; 0x678 8032014: ed93 7b00 vldr d7, [r3] 8032018: ee25 5b07 vmul.f64 d5, d5, d7 803201c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032020: ed93 7b00 vldr d7, [r3] 8032024: ee25 7b07 vmul.f64 d7, d5, d7 8032028: ee36 6b07 vadd.f64 d6, d6, d7 803202c: f507 63cc add.w r3, r7, #1632 ; 0x660 8032030: ed93 7b00 vldr d7, [r3] 8032034: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032038: ee27 5b05 vmul.f64 d5, d7, d5 803203c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032040: ed93 7b00 vldr d7, [r3] 8032044: ee25 5b07 vmul.f64 d5, d5, d7 8032048: f507 63d1 add.w r3, r7, #1672 ; 0x688 803204c: ed93 7b00 vldr d7, [r3] 8032050: ee25 7b07 vmul.f64 d7, d5, d7 8032054: ee36 6b07 vadd.f64 d6, d6, d7 8032058: f507 63c9 add.w r3, r7, #1608 ; 0x648 803205c: ed93 7b00 vldr d7, [r3] 8032060: eeb1 7b47 vneg.f64 d7, d7 8032064: ee26 7b07 vmul.f64 d7, d6, d7 8032068: 4afb ldr r2, [pc, #1004] ; (8032458 ) 803206a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803206e: 3328 adds r3, #40 ; 0x28 8032070: 00db lsls r3, r3, #3 8032072: 4413 add r3, r2 8032074: ed83 7b00 vstr d7, [r3] IIR.a3[j] = (16.0*B*T*Q + 4.0*C*Q*Q*T*T*T*T - 64.0*C*Q*Q - 4.0*B*T*T*T*Q) * -F; 8032078: f507 63cd add.w r3, r7, #1640 ; 0x668 803207c: ed93 7b00 vldr d7, [r3] 8032080: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8032084: ee27 6b06 vmul.f64 d6, d7, d6 8032088: f507 63cf add.w r3, r7, #1656 ; 0x678 803208c: ed93 7b00 vldr d7, [r3] 8032090: ee26 6b07 vmul.f64 d6, d6, d7 8032094: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032098: ed93 7b00 vldr d7, [r3] 803209c: ee26 6b07 vmul.f64 d6, d6, d7 80320a0: f507 63cc add.w r3, r7, #1632 ; 0x660 80320a4: ed93 7b00 vldr d7, [r3] 80320a8: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80320ac: ee27 5b05 vmul.f64 d5, d7, d5 80320b0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80320b4: ed93 7b00 vldr d7, [r3] 80320b8: ee25 5b07 vmul.f64 d5, d5, d7 80320bc: f507 63d1 add.w r3, r7, #1672 ; 0x688 80320c0: ed93 7b00 vldr d7, [r3] 80320c4: ee25 5b07 vmul.f64 d5, d5, d7 80320c8: f507 63cf add.w r3, r7, #1656 ; 0x678 80320cc: ed93 7b00 vldr d7, [r3] 80320d0: ee25 5b07 vmul.f64 d5, d5, d7 80320d4: f507 63cf add.w r3, r7, #1656 ; 0x678 80320d8: ed93 7b00 vldr d7, [r3] 80320dc: ee25 5b07 vmul.f64 d5, d5, d7 80320e0: f507 63cf add.w r3, r7, #1656 ; 0x678 80320e4: ed93 7b00 vldr d7, [r3] 80320e8: ee25 5b07 vmul.f64 d5, d5, d7 80320ec: f507 63cf add.w r3, r7, #1656 ; 0x678 80320f0: ed93 7b00 vldr d7, [r3] 80320f4: ee25 7b07 vmul.f64 d7, d5, d7 80320f8: ee36 6b07 vadd.f64 d6, d6, d7 80320fc: f507 63cc add.w r3, r7, #1632 ; 0x660 8032100: ed93 7b00 vldr d7, [r3] 8032104: ed9f 5bd0 vldr d5, [pc, #832] ; 8032448 8032108: ee27 5b05 vmul.f64 d5, d7, d5 803210c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032110: ed93 7b00 vldr d7, [r3] 8032114: ee25 5b07 vmul.f64 d5, d5, d7 8032118: f507 63d1 add.w r3, r7, #1672 ; 0x688 803211c: ed93 7b00 vldr d7, [r3] 8032120: ee25 7b07 vmul.f64 d7, d5, d7 8032124: ee36 6b47 vsub.f64 d6, d6, d7 8032128: f507 63cd add.w r3, r7, #1640 ; 0x668 803212c: ed93 7b00 vldr d7, [r3] 8032130: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032134: ee27 5b05 vmul.f64 d5, d7, d5 8032138: f507 63cf add.w r3, r7, #1656 ; 0x678 803213c: ed93 7b00 vldr d7, [r3] 8032140: ee25 5b07 vmul.f64 d5, d5, d7 8032144: f507 63cf add.w r3, r7, #1656 ; 0x678 8032148: ed93 7b00 vldr d7, [r3] 803214c: ee25 5b07 vmul.f64 d5, d5, d7 8032150: f507 63cf add.w r3, r7, #1656 ; 0x678 8032154: ed93 7b00 vldr d7, [r3] 8032158: ee25 5b07 vmul.f64 d5, d5, d7 803215c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032160: ed93 7b00 vldr d7, [r3] 8032164: ee25 7b07 vmul.f64 d7, d5, d7 8032168: ee36 6b47 vsub.f64 d6, d6, d7 803216c: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032170: ed93 7b00 vldr d7, [r3] 8032174: eeb1 7b47 vneg.f64 d7, d7 8032178: ee26 7b07 vmul.f64 d7, d6, d7 803217c: 4ab6 ldr r2, [pc, #728] ; (8032458 ) 803217e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032182: 331e adds r3, #30 8032184: 00db lsls r3, r3, #3 8032186: 4413 add r3, r2 8032188: ed83 7b00 vstr d7, [r3] IIR.a2[j] = (96.0*C*Q*Q - 8.0*A*T*T - 16.0*C*Q*Q*T*T + 6.0*C*Q*Q*T*T*T*T) * -F; 803218c: f507 63cc add.w r3, r7, #1632 ; 0x660 8032190: ed93 7b00 vldr d7, [r3] 8032194: ed9f 6bae vldr d6, [pc, #696] ; 8032450 8032198: ee27 6b06 vmul.f64 d6, d7, d6 803219c: f507 63d1 add.w r3, r7, #1672 ; 0x688 80321a0: ed93 7b00 vldr d7, [r3] 80321a4: ee26 6b07 vmul.f64 d6, d6, d7 80321a8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80321ac: ed93 7b00 vldr d7, [r3] 80321b0: ee26 6b07 vmul.f64 d6, d6, d7 80321b4: f507 63ce add.w r3, r7, #1648 ; 0x670 80321b8: ed93 7b00 vldr d7, [r3] 80321bc: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80321c0: ee27 5b05 vmul.f64 d5, d7, d5 80321c4: f507 63cf add.w r3, r7, #1656 ; 0x678 80321c8: ed93 7b00 vldr d7, [r3] 80321cc: ee25 5b07 vmul.f64 d5, d5, d7 80321d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80321d4: ed93 7b00 vldr d7, [r3] 80321d8: ee25 7b07 vmul.f64 d7, d5, d7 80321dc: ee36 6b47 vsub.f64 d6, d6, d7 80321e0: f507 63cc add.w r3, r7, #1632 ; 0x660 80321e4: ed93 7b00 vldr d7, [r3] 80321e8: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80321ec: ee27 5b05 vmul.f64 d5, d7, d5 80321f0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80321f4: ed93 7b00 vldr d7, [r3] 80321f8: ee25 5b07 vmul.f64 d5, d5, d7 80321fc: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032200: ed93 7b00 vldr d7, [r3] 8032204: ee25 5b07 vmul.f64 d5, d5, d7 8032208: f507 63cf add.w r3, r7, #1656 ; 0x678 803220c: ed93 7b00 vldr d7, [r3] 8032210: ee25 5b07 vmul.f64 d5, d5, d7 8032214: f507 63cf add.w r3, r7, #1656 ; 0x678 8032218: ed93 7b00 vldr d7, [r3] 803221c: ee25 7b07 vmul.f64 d7, d5, d7 8032220: ee36 6b47 vsub.f64 d6, d6, d7 8032224: f507 63cc add.w r3, r7, #1632 ; 0x660 8032228: ed93 7b00 vldr d7, [r3] 803222c: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 8032230: ee27 5b05 vmul.f64 d5, d7, d5 8032234: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032238: ed93 7b00 vldr d7, [r3] 803223c: ee25 5b07 vmul.f64 d5, d5, d7 8032240: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032244: ed93 7b00 vldr d7, [r3] 8032248: ee25 5b07 vmul.f64 d5, d5, d7 803224c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032250: ed93 7b00 vldr d7, [r3] 8032254: ee25 5b07 vmul.f64 d5, d5, d7 8032258: f507 63cf add.w r3, r7, #1656 ; 0x678 803225c: ed93 7b00 vldr d7, [r3] 8032260: ee25 5b07 vmul.f64 d5, d5, d7 8032264: f507 63cf add.w r3, r7, #1656 ; 0x678 8032268: ed93 7b00 vldr d7, [r3] 803226c: ee25 5b07 vmul.f64 d5, d5, d7 8032270: f507 63cf add.w r3, r7, #1656 ; 0x678 8032274: ed93 7b00 vldr d7, [r3] 8032278: ee25 7b07 vmul.f64 d7, d5, d7 803227c: ee36 6b07 vadd.f64 d6, d6, d7 8032280: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032284: ed93 7b00 vldr d7, [r3] 8032288: eeb1 7b47 vneg.f64 d7, d7 803228c: ee26 7b07 vmul.f64 d7, d6, d7 8032290: 4a71 ldr r2, [pc, #452] ; (8032458 ) 8032292: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032296: 3314 adds r3, #20 8032298: 00db lsls r3, r3, #3 803229a: 4413 add r3, r2 803229c: ed83 7b00 vstr d7, [r3] IIR.a1[j] = (4.0*B*T*T*T*Q - 16.0*B*T*Q - 64.0*C*Q*Q + 4.0*C*Q*Q*T*T*T*T) * -F; 80322a0: f507 63cd add.w r3, r7, #1640 ; 0x668 80322a4: ed93 7b00 vldr d7, [r3] 80322a8: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80322ac: ee27 6b06 vmul.f64 d6, d7, d6 80322b0: f507 63cf add.w r3, r7, #1656 ; 0x678 80322b4: ed93 7b00 vldr d7, [r3] 80322b8: ee26 6b07 vmul.f64 d6, d6, d7 80322bc: f507 63cf add.w r3, r7, #1656 ; 0x678 80322c0: ed93 7b00 vldr d7, [r3] 80322c4: ee26 6b07 vmul.f64 d6, d6, d7 80322c8: f507 63cf add.w r3, r7, #1656 ; 0x678 80322cc: ed93 7b00 vldr d7, [r3] 80322d0: ee26 6b07 vmul.f64 d6, d6, d7 80322d4: f507 63d1 add.w r3, r7, #1672 ; 0x688 80322d8: ed93 7b00 vldr d7, [r3] 80322dc: ee26 6b07 vmul.f64 d6, d6, d7 80322e0: f507 63cd add.w r3, r7, #1640 ; 0x668 80322e4: ed93 7b00 vldr d7, [r3] 80322e8: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80322ec: ee27 5b05 vmul.f64 d5, d7, d5 80322f0: f507 63cf add.w r3, r7, #1656 ; 0x678 80322f4: ed93 7b00 vldr d7, [r3] 80322f8: ee25 5b07 vmul.f64 d5, d5, d7 80322fc: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032300: ed93 7b00 vldr d7, [r3] 8032304: ee25 7b07 vmul.f64 d7, d5, d7 8032308: ee36 6b47 vsub.f64 d6, d6, d7 803230c: f507 63cc add.w r3, r7, #1632 ; 0x660 8032310: ed93 7b00 vldr d7, [r3] 8032314: ed9f 5b4c vldr d5, [pc, #304] ; 8032448 8032318: ee27 5b05 vmul.f64 d5, d7, d5 803231c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032320: ed93 7b00 vldr d7, [r3] 8032324: ee25 5b07 vmul.f64 d5, d5, d7 8032328: f507 63d1 add.w r3, r7, #1672 ; 0x688 803232c: ed93 7b00 vldr d7, [r3] 8032330: ee25 7b07 vmul.f64 d7, d5, d7 8032334: ee36 6b47 vsub.f64 d6, d6, d7 8032338: f507 63cc add.w r3, r7, #1632 ; 0x660 803233c: ed93 7b00 vldr d7, [r3] 8032340: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032344: ee27 5b05 vmul.f64 d5, d7, d5 8032348: f507 63d1 add.w r3, r7, #1672 ; 0x688 803234c: ed93 7b00 vldr d7, [r3] 8032350: ee25 5b07 vmul.f64 d5, d5, d7 8032354: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032358: ed93 7b00 vldr d7, [r3] 803235c: ee25 5b07 vmul.f64 d5, d5, d7 8032360: f507 63cf add.w r3, r7, #1656 ; 0x678 8032364: ed93 7b00 vldr d7, [r3] 8032368: ee25 5b07 vmul.f64 d5, d5, d7 803236c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032370: ed93 7b00 vldr d7, [r3] 8032374: ee25 5b07 vmul.f64 d5, d5, d7 8032378: f507 63cf add.w r3, r7, #1656 ; 0x678 803237c: ed93 7b00 vldr d7, [r3] 8032380: ee25 5b07 vmul.f64 d5, d5, d7 8032384: f507 63cf add.w r3, r7, #1656 ; 0x678 8032388: ed93 7b00 vldr d7, [r3] 803238c: ee25 7b07 vmul.f64 d7, d5, d7 8032390: ee36 6b07 vadd.f64 d6, d6, d7 8032394: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032398: ed93 7b00 vldr d7, [r3] 803239c: eeb1 7b47 vneg.f64 d7, d7 80323a0: ee26 7b07 vmul.f64 d7, d6, d7 80323a4: 4a2c ldr r2, [pc, #176] ; (8032458 ) 80323a6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80323aa: 330a adds r3, #10 80323ac: 00db lsls r3, r3, #3 80323ae: 4413 add r3, r2 80323b0: ed83 7b00 vstr d7, [r3] IIR.a0[j] = (4.0*A*T*T + 2.0*B*T*T*T*Q + 8.0*C*Q*Q*T*T + 8.0*B*T*Q + C*Q*Q*T*T*T*T + 16.0*C*Q*Q) * -F; 80323b4: f507 63ce add.w r3, r7, #1648 ; 0x670 80323b8: ed93 7b00 vldr d7, [r3] 80323bc: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 80323c0: ee27 6b06 vmul.f64 d6, d7, d6 80323c4: f507 63cf add.w r3, r7, #1656 ; 0x678 80323c8: ed93 7b00 vldr d7, [r3] 80323cc: ee26 6b07 vmul.f64 d6, d6, d7 80323d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80323d4: ed93 7b00 vldr d7, [r3] 80323d8: ee26 6b07 vmul.f64 d6, d6, d7 80323dc: f507 63cd add.w r3, r7, #1640 ; 0x668 80323e0: ed93 7b00 vldr d7, [r3] 80323e4: ee37 5b07 vadd.f64 d5, d7, d7 80323e8: f507 63cf add.w r3, r7, #1656 ; 0x678 80323ec: ed93 7b00 vldr d7, [r3] 80323f0: ee25 5b07 vmul.f64 d5, d5, d7 80323f4: f507 63cf add.w r3, r7, #1656 ; 0x678 80323f8: ed93 7b00 vldr d7, [r3] 80323fc: ee25 5b07 vmul.f64 d5, d5, d7 8032400: f507 63cf add.w r3, r7, #1656 ; 0x678 8032404: ed93 7b00 vldr d7, [r3] 8032408: ee25 5b07 vmul.f64 d5, d5, d7 803240c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032410: ed93 7b00 vldr d7, [r3] 8032414: ee25 7b07 vmul.f64 d7, d5, d7 8032418: ee36 6b07 vadd.f64 d6, d6, d7 803241c: f507 63cc add.w r3, r7, #1632 ; 0x660 8032420: ed93 7b00 vldr d7, [r3] 8032424: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032428: ee27 5b05 vmul.f64 d5, d7, d5 803242c: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032430: ed93 7b00 vldr d7, [r3] 8032434: ee25 5b07 vmul.f64 d5, d5, d7 8032438: f507 63d1 add.w r3, r7, #1672 ; 0x688 803243c: ed93 7b00 vldr d7, [r3] 8032440: ee25 5b07 vmul.f64 d5, d5, d7 8032444: e00a b.n 803245c 8032446: bf00 nop 8032448: 00000000 .word 0x00000000 803244c: 40500000 .word 0x40500000 8032450: 00000000 .word 0x00000000 8032454: 40580000 .word 0x40580000 8032458: 20025918 .word 0x20025918 803245c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032460: ed93 7b00 vldr d7, [r3] 8032464: ee25 5b07 vmul.f64 d5, d5, d7 8032468: f507 63cf add.w r3, r7, #1656 ; 0x678 803246c: ed93 7b00 vldr d7, [r3] 8032470: ee25 7b07 vmul.f64 d7, d5, d7 8032474: ee36 6b07 vadd.f64 d6, d6, d7 8032478: f507 63cd add.w r3, r7, #1640 ; 0x668 803247c: ed93 7b00 vldr d7, [r3] 8032480: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032484: ee27 5b05 vmul.f64 d5, d7, d5 8032488: f507 63cf add.w r3, r7, #1656 ; 0x678 803248c: ed93 7b00 vldr d7, [r3] 8032490: ee25 5b07 vmul.f64 d5, d5, d7 8032494: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032498: ed93 7b00 vldr d7, [r3] 803249c: ee25 7b07 vmul.f64 d7, d5, d7 80324a0: ee36 6b07 vadd.f64 d6, d6, d7 80324a4: f507 63cc add.w r3, r7, #1632 ; 0x660 80324a8: ed93 5b00 vldr d5, [r3] 80324ac: f507 63d1 add.w r3, r7, #1672 ; 0x688 80324b0: ed93 7b00 vldr d7, [r3] 80324b4: ee25 5b07 vmul.f64 d5, d5, d7 80324b8: f507 63d1 add.w r3, r7, #1672 ; 0x688 80324bc: ed93 7b00 vldr d7, [r3] 80324c0: ee25 5b07 vmul.f64 d5, d5, d7 80324c4: f507 63cf add.w r3, r7, #1656 ; 0x678 80324c8: ed93 7b00 vldr d7, [r3] 80324cc: ee25 5b07 vmul.f64 d5, d5, d7 80324d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80324d4: ed93 7b00 vldr d7, [r3] 80324d8: ee25 5b07 vmul.f64 d5, d5, d7 80324dc: f507 63cf add.w r3, r7, #1656 ; 0x678 80324e0: ed93 7b00 vldr d7, [r3] 80324e4: ee25 5b07 vmul.f64 d5, d5, d7 80324e8: f507 63cf add.w r3, r7, #1656 ; 0x678 80324ec: ed93 7b00 vldr d7, [r3] 80324f0: ee25 7b07 vmul.f64 d7, d5, d7 80324f4: ee36 6b07 vadd.f64 d6, d6, d7 80324f8: f507 63cc add.w r3, r7, #1632 ; 0x660 80324fc: ed93 7b00 vldr d7, [r3] 8032500: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032504: ee27 5b05 vmul.f64 d5, d7, d5 8032508: f507 63d1 add.w r3, r7, #1672 ; 0x688 803250c: ed93 7b00 vldr d7, [r3] 8032510: ee25 5b07 vmul.f64 d5, d5, d7 8032514: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032518: ed93 7b00 vldr d7, [r3] 803251c: ee25 7b07 vmul.f64 d7, d5, d7 8032520: ee36 6b07 vadd.f64 d6, d6, d7 8032524: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032528: ed93 7b00 vldr d7, [r3] 803252c: eeb1 7b47 vneg.f64 d7, d7 8032530: ee26 7b07 vmul.f64 d7, d6, d7 8032534: 4afa ldr r2, [pc, #1000] ; (8032920 ) 8032536: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803253a: 00db lsls r3, r3, #3 803253c: 4413 add r3, r2 803253e: ed83 7b00 vstr d7, [r3] // Our Notch Numerator isn't simple. [ (4+T^2)*z^2 - 2*(4-T^2)*z + (4+T^2) ]^2 IIR.b4[j] = (2.0*E*T*T*T*Q - 4.0*D*T*T - 8.0*F*Q*Q*T*T + 8.0*E*T*Q - 16.0*F*Q*Q - F*Q*Q*T*T*T*T) * C; 8032542: f507 63ca add.w r3, r7, #1616 ; 0x650 8032546: ed93 7b00 vldr d7, [r3] 803254a: ee37 6b07 vadd.f64 d6, d7, d7 803254e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032552: ed93 7b00 vldr d7, [r3] 8032556: ee26 6b07 vmul.f64 d6, d6, d7 803255a: f507 63cf add.w r3, r7, #1656 ; 0x678 803255e: ed93 7b00 vldr d7, [r3] 8032562: ee26 6b07 vmul.f64 d6, d6, d7 8032566: f507 63cf add.w r3, r7, #1656 ; 0x678 803256a: ed93 7b00 vldr d7, [r3] 803256e: ee26 6b07 vmul.f64 d6, d6, d7 8032572: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032576: ed93 7b00 vldr d7, [r3] 803257a: ee26 6b07 vmul.f64 d6, d6, d7 803257e: f507 63cb add.w r3, r7, #1624 ; 0x658 8032582: ed93 7b00 vldr d7, [r3] 8032586: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803258a: ee27 5b05 vmul.f64 d5, d7, d5 803258e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032592: ed93 7b00 vldr d7, [r3] 8032596: ee25 5b07 vmul.f64 d5, d5, d7 803259a: f507 63cf add.w r3, r7, #1656 ; 0x678 803259e: ed93 7b00 vldr d7, [r3] 80325a2: ee25 7b07 vmul.f64 d7, d5, d7 80325a6: ee36 6b47 vsub.f64 d6, d6, d7 80325aa: f507 63c9 add.w r3, r7, #1608 ; 0x648 80325ae: ed93 7b00 vldr d7, [r3] 80325b2: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80325b6: ee27 5b05 vmul.f64 d5, d7, d5 80325ba: f507 63d1 add.w r3, r7, #1672 ; 0x688 80325be: ed93 7b00 vldr d7, [r3] 80325c2: ee25 5b07 vmul.f64 d5, d5, d7 80325c6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80325ca: ed93 7b00 vldr d7, [r3] 80325ce: ee25 5b07 vmul.f64 d5, d5, d7 80325d2: f507 63cf add.w r3, r7, #1656 ; 0x678 80325d6: ed93 7b00 vldr d7, [r3] 80325da: ee25 5b07 vmul.f64 d5, d5, d7 80325de: f507 63cf add.w r3, r7, #1656 ; 0x678 80325e2: ed93 7b00 vldr d7, [r3] 80325e6: ee25 7b07 vmul.f64 d7, d5, d7 80325ea: ee36 6b47 vsub.f64 d6, d6, d7 80325ee: f507 63ca add.w r3, r7, #1616 ; 0x650 80325f2: ed93 7b00 vldr d7, [r3] 80325f6: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 80325fa: ee27 5b05 vmul.f64 d5, d7, d5 80325fe: f507 63cf add.w r3, r7, #1656 ; 0x678 8032602: ed93 7b00 vldr d7, [r3] 8032606: ee25 5b07 vmul.f64 d5, d5, d7 803260a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803260e: ed93 7b00 vldr d7, [r3] 8032612: ee25 7b07 vmul.f64 d7, d5, d7 8032616: ee36 6b07 vadd.f64 d6, d6, d7 803261a: f507 63c9 add.w r3, r7, #1608 ; 0x648 803261e: ed93 7b00 vldr d7, [r3] 8032622: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032626: ee27 5b05 vmul.f64 d5, d7, d5 803262a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803262e: ed93 7b00 vldr d7, [r3] 8032632: ee25 5b07 vmul.f64 d5, d5, d7 8032636: f507 63d1 add.w r3, r7, #1672 ; 0x688 803263a: ed93 7b00 vldr d7, [r3] 803263e: ee25 7b07 vmul.f64 d7, d5, d7 8032642: ee36 6b47 vsub.f64 d6, d6, d7 8032646: f507 63c9 add.w r3, r7, #1608 ; 0x648 803264a: ed93 5b00 vldr d5, [r3] 803264e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032652: ed93 7b00 vldr d7, [r3] 8032656: ee25 5b07 vmul.f64 d5, d5, d7 803265a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803265e: ed93 7b00 vldr d7, [r3] 8032662: ee25 5b07 vmul.f64 d5, d5, d7 8032666: f507 63cf add.w r3, r7, #1656 ; 0x678 803266a: ed93 7b00 vldr d7, [r3] 803266e: ee25 5b07 vmul.f64 d5, d5, d7 8032672: f507 63cf add.w r3, r7, #1656 ; 0x678 8032676: ed93 7b00 vldr d7, [r3] 803267a: ee25 5b07 vmul.f64 d5, d5, d7 803267e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032682: ed93 7b00 vldr d7, [r3] 8032686: ee25 5b07 vmul.f64 d5, d5, d7 803268a: f507 63cf add.w r3, r7, #1656 ; 0x678 803268e: ed93 7b00 vldr d7, [r3] 8032692: ee25 7b07 vmul.f64 d7, d5, d7 8032696: ee36 6b47 vsub.f64 d6, d6, d7 803269a: f507 63cc add.w r3, r7, #1632 ; 0x660 803269e: ed93 7b00 vldr d7, [r3] 80326a2: ee26 7b07 vmul.f64 d7, d6, d7 80326a6: 4a9e ldr r2, [pc, #632] ; (8032920 ) 80326a8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80326ac: 335a adds r3, #90 ; 0x5a 80326ae: 00db lsls r3, r3, #3 80326b0: 4413 add r3, r2 80326b2: ed83 7b00 vstr d7, [r3] IIR.b3[j] = (64.0*F*Q*Q + 4.0*E*T*T*T*Q - 16.0*E*T*Q - 4.0*F*Q*Q*T*T*T*T) * C; 80326b6: f507 63c9 add.w r3, r7, #1608 ; 0x648 80326ba: ed93 7b00 vldr d7, [r3] 80326be: ed9f 6b94 vldr d6, [pc, #592] ; 8032910 80326c2: ee27 6b06 vmul.f64 d6, d7, d6 80326c6: f507 63d1 add.w r3, r7, #1672 ; 0x688 80326ca: ed93 7b00 vldr d7, [r3] 80326ce: ee26 6b07 vmul.f64 d6, d6, d7 80326d2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80326d6: ed93 7b00 vldr d7, [r3] 80326da: ee26 6b07 vmul.f64 d6, d6, d7 80326de: f507 63ca add.w r3, r7, #1616 ; 0x650 80326e2: ed93 7b00 vldr d7, [r3] 80326e6: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 80326ea: ee27 5b05 vmul.f64 d5, d7, d5 80326ee: f507 63cf add.w r3, r7, #1656 ; 0x678 80326f2: ed93 7b00 vldr d7, [r3] 80326f6: ee25 5b07 vmul.f64 d5, d5, d7 80326fa: f507 63cf add.w r3, r7, #1656 ; 0x678 80326fe: ed93 7b00 vldr d7, [r3] 8032702: ee25 5b07 vmul.f64 d5, d5, d7 8032706: f507 63cf add.w r3, r7, #1656 ; 0x678 803270a: ed93 7b00 vldr d7, [r3] 803270e: ee25 5b07 vmul.f64 d5, d5, d7 8032712: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032716: ed93 7b00 vldr d7, [r3] 803271a: ee25 7b07 vmul.f64 d7, d5, d7 803271e: ee36 6b07 vadd.f64 d6, d6, d7 8032722: f507 63ca add.w r3, r7, #1616 ; 0x650 8032726: ed93 7b00 vldr d7, [r3] 803272a: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803272e: ee27 5b05 vmul.f64 d5, d7, d5 8032732: f507 63cf add.w r3, r7, #1656 ; 0x678 8032736: ed93 7b00 vldr d7, [r3] 803273a: ee25 5b07 vmul.f64 d5, d5, d7 803273e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032742: ed93 7b00 vldr d7, [r3] 8032746: ee25 7b07 vmul.f64 d7, d5, d7 803274a: ee36 6b47 vsub.f64 d6, d6, d7 803274e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032752: ed93 7b00 vldr d7, [r3] 8032756: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803275a: ee27 5b05 vmul.f64 d5, d7, d5 803275e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032762: ed93 7b00 vldr d7, [r3] 8032766: ee25 5b07 vmul.f64 d5, d5, d7 803276a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803276e: ed93 7b00 vldr d7, [r3] 8032772: ee25 5b07 vmul.f64 d5, d5, d7 8032776: f507 63cf add.w r3, r7, #1656 ; 0x678 803277a: ed93 7b00 vldr d7, [r3] 803277e: ee25 5b07 vmul.f64 d5, d5, d7 8032782: f507 63cf add.w r3, r7, #1656 ; 0x678 8032786: ed93 7b00 vldr d7, [r3] 803278a: ee25 5b07 vmul.f64 d5, d5, d7 803278e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032792: ed93 7b00 vldr d7, [r3] 8032796: ee25 5b07 vmul.f64 d5, d5, d7 803279a: f507 63cf add.w r3, r7, #1656 ; 0x678 803279e: ed93 7b00 vldr d7, [r3] 80327a2: ee25 7b07 vmul.f64 d7, d5, d7 80327a6: ee36 6b47 vsub.f64 d6, d6, d7 80327aa: f507 63cc add.w r3, r7, #1632 ; 0x660 80327ae: ed93 7b00 vldr d7, [r3] 80327b2: ee26 7b07 vmul.f64 d7, d6, d7 80327b6: 4a5a ldr r2, [pc, #360] ; (8032920 ) 80327b8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80327bc: 3350 adds r3, #80 ; 0x50 80327be: 00db lsls r3, r3, #3 80327c0: 4413 add r3, r2 80327c2: ed83 7b00 vstr d7, [r3] IIR.b2[j] = (8.0*D*T*T - 96.0*F*Q*Q + 16.0*F*Q*Q*T*T - 6.0*F*Q*Q*T*T*T*T) * C; 80327c6: f507 63cb add.w r3, r7, #1624 ; 0x658 80327ca: ed93 7b00 vldr d7, [r3] 80327ce: eeb2 6b00 vmov.f64 d6, #32 ; 0x41000000 8.0 80327d2: ee27 6b06 vmul.f64 d6, d7, d6 80327d6: f507 63cf add.w r3, r7, #1656 ; 0x678 80327da: ed93 7b00 vldr d7, [r3] 80327de: ee26 6b07 vmul.f64 d6, d6, d7 80327e2: f507 63cf add.w r3, r7, #1656 ; 0x678 80327e6: ed93 7b00 vldr d7, [r3] 80327ea: ee26 6b07 vmul.f64 d6, d6, d7 80327ee: f507 63c9 add.w r3, r7, #1608 ; 0x648 80327f2: ed93 7b00 vldr d7, [r3] 80327f6: ed9f 5b48 vldr d5, [pc, #288] ; 8032918 80327fa: ee27 5b05 vmul.f64 d5, d7, d5 80327fe: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032802: ed93 7b00 vldr d7, [r3] 8032806: ee25 5b07 vmul.f64 d5, d5, d7 803280a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803280e: ed93 7b00 vldr d7, [r3] 8032812: ee25 7b07 vmul.f64 d7, d5, d7 8032816: ee36 6b47 vsub.f64 d6, d6, d7 803281a: f507 63c9 add.w r3, r7, #1608 ; 0x648 803281e: ed93 7b00 vldr d7, [r3] 8032822: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032826: ee27 5b05 vmul.f64 d5, d7, d5 803282a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803282e: ed93 7b00 vldr d7, [r3] 8032832: ee25 5b07 vmul.f64 d5, d5, d7 8032836: f507 63d1 add.w r3, r7, #1672 ; 0x688 803283a: ed93 7b00 vldr d7, [r3] 803283e: ee25 5b07 vmul.f64 d5, d5, d7 8032842: f507 63cf add.w r3, r7, #1656 ; 0x678 8032846: ed93 7b00 vldr d7, [r3] 803284a: ee25 5b07 vmul.f64 d5, d5, d7 803284e: f507 63cf add.w r3, r7, #1656 ; 0x678 8032852: ed93 7b00 vldr d7, [r3] 8032856: ee25 7b07 vmul.f64 d7, d5, d7 803285a: ee36 6b07 vadd.f64 d6, d6, d7 803285e: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032862: ed93 7b00 vldr d7, [r3] 8032866: eeb1 5b08 vmov.f64 d5, #24 ; 0x40c00000 6.0 803286a: ee27 5b05 vmul.f64 d5, d7, d5 803286e: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032872: ed93 7b00 vldr d7, [r3] 8032876: ee25 5b07 vmul.f64 d5, d5, d7 803287a: f507 63d1 add.w r3, r7, #1672 ; 0x688 803287e: ed93 7b00 vldr d7, [r3] 8032882: ee25 5b07 vmul.f64 d5, d5, d7 8032886: f507 63cf add.w r3, r7, #1656 ; 0x678 803288a: ed93 7b00 vldr d7, [r3] 803288e: ee25 5b07 vmul.f64 d5, d5, d7 8032892: f507 63cf add.w r3, r7, #1656 ; 0x678 8032896: ed93 7b00 vldr d7, [r3] 803289a: ee25 5b07 vmul.f64 d5, d5, d7 803289e: f507 63cf add.w r3, r7, #1656 ; 0x678 80328a2: ed93 7b00 vldr d7, [r3] 80328a6: ee25 5b07 vmul.f64 d5, d5, d7 80328aa: f507 63cf add.w r3, r7, #1656 ; 0x678 80328ae: ed93 7b00 vldr d7, [r3] 80328b2: ee25 7b07 vmul.f64 d7, d5, d7 80328b6: ee36 6b47 vsub.f64 d6, d6, d7 80328ba: f507 63cc add.w r3, r7, #1632 ; 0x660 80328be: ed93 7b00 vldr d7, [r3] 80328c2: ee26 7b07 vmul.f64 d7, d6, d7 80328c6: 4a16 ldr r2, [pc, #88] ; (8032920 ) 80328c8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80328cc: 3346 adds r3, #70 ; 0x46 80328ce: 00db lsls r3, r3, #3 80328d0: 4413 add r3, r2 80328d2: ed83 7b00 vstr d7, [r3] IIR.b1[j] = (16.0*E*T*Q - 4.0*E*T*T*T*Q + 64.0*F*Q*Q - 4.0*F*Q*Q*T*T*T*T) * C; 80328d6: f507 63ca add.w r3, r7, #1616 ; 0x650 80328da: ed93 7b00 vldr d7, [r3] 80328de: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 80328e2: ee27 6b06 vmul.f64 d6, d7, d6 80328e6: f507 63cf add.w r3, r7, #1656 ; 0x678 80328ea: ed93 7b00 vldr d7, [r3] 80328ee: ee26 6b07 vmul.f64 d6, d6, d7 80328f2: f507 63d1 add.w r3, r7, #1672 ; 0x688 80328f6: ed93 7b00 vldr d7, [r3] 80328fa: ee26 6b07 vmul.f64 d6, d6, d7 80328fe: f507 63ca add.w r3, r7, #1616 ; 0x650 8032902: ed93 7b00 vldr d7, [r3] 8032906: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 803290a: ee27 5b05 vmul.f64 d5, d7, d5 803290e: e009 b.n 8032924 8032910: 00000000 .word 0x00000000 8032914: 40500000 .word 0x40500000 8032918: 00000000 .word 0x00000000 803291c: 40580000 .word 0x40580000 8032920: 20025918 .word 0x20025918 8032924: f507 63cf add.w r3, r7, #1656 ; 0x678 8032928: ed93 7b00 vldr d7, [r3] 803292c: ee25 5b07 vmul.f64 d5, d5, d7 8032930: f507 63cf add.w r3, r7, #1656 ; 0x678 8032934: ed93 7b00 vldr d7, [r3] 8032938: ee25 5b07 vmul.f64 d5, d5, d7 803293c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032940: ed93 7b00 vldr d7, [r3] 8032944: ee25 5b07 vmul.f64 d5, d5, d7 8032948: f507 63d1 add.w r3, r7, #1672 ; 0x688 803294c: ed93 7b00 vldr d7, [r3] 8032950: ee25 7b07 vmul.f64 d7, d5, d7 8032954: ee36 6b47 vsub.f64 d6, d6, d7 8032958: f507 63c9 add.w r3, r7, #1608 ; 0x648 803295c: ed93 7b00 vldr d7, [r3] 8032960: ed9f 5bd5 vldr d5, [pc, #852] ; 8032cb8 8032964: ee27 5b05 vmul.f64 d5, d7, d5 8032968: f507 63d1 add.w r3, r7, #1672 ; 0x688 803296c: ed93 7b00 vldr d7, [r3] 8032970: ee25 5b07 vmul.f64 d5, d5, d7 8032974: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032978: ed93 7b00 vldr d7, [r3] 803297c: ee25 7b07 vmul.f64 d7, d5, d7 8032980: ee36 6b07 vadd.f64 d6, d6, d7 8032984: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032988: ed93 7b00 vldr d7, [r3] 803298c: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8032990: ee27 5b05 vmul.f64 d5, d7, d5 8032994: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032998: ed93 7b00 vldr d7, [r3] 803299c: ee25 5b07 vmul.f64 d5, d5, d7 80329a0: f507 63d1 add.w r3, r7, #1672 ; 0x688 80329a4: ed93 7b00 vldr d7, [r3] 80329a8: ee25 5b07 vmul.f64 d5, d5, d7 80329ac: f507 63cf add.w r3, r7, #1656 ; 0x678 80329b0: ed93 7b00 vldr d7, [r3] 80329b4: ee25 5b07 vmul.f64 d5, d5, d7 80329b8: f507 63cf add.w r3, r7, #1656 ; 0x678 80329bc: ed93 7b00 vldr d7, [r3] 80329c0: ee25 5b07 vmul.f64 d5, d5, d7 80329c4: f507 63cf add.w r3, r7, #1656 ; 0x678 80329c8: ed93 7b00 vldr d7, [r3] 80329cc: ee25 5b07 vmul.f64 d5, d5, d7 80329d0: f507 63cf add.w r3, r7, #1656 ; 0x678 80329d4: ed93 7b00 vldr d7, [r3] 80329d8: ee25 7b07 vmul.f64 d7, d5, d7 80329dc: ee36 6b47 vsub.f64 d6, d6, d7 80329e0: f507 63cc add.w r3, r7, #1632 ; 0x660 80329e4: ed93 7b00 vldr d7, [r3] 80329e8: ee26 7b07 vmul.f64 d7, d6, d7 80329ec: 4ab6 ldr r2, [pc, #728] ; (8032cc8 ) 80329ee: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80329f2: 333c adds r3, #60 ; 0x3c 80329f4: 00db lsls r3, r3, #3 80329f6: 4413 add r3, r2 80329f8: ed83 7b00 vstr d7, [r3] IIR.b0[j] = (-4.0*D*T*T - 2.0*E*T*T*T*Q - 8.0*E*T*Q - 8.0*F*Q*Q*T*T - F*Q*Q*T*T*T*T - 16.0*F*Q*Q) * C; 80329fc: f507 63cb add.w r3, r7, #1624 ; 0x658 8032a00: ed93 7b00 vldr d7, [r3] 8032a04: eeb9 6b00 vmov.f64 d6, #144 ; 0xc0800000 -4.0 8032a08: ee27 6b06 vmul.f64 d6, d7, d6 8032a0c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a10: ed93 7b00 vldr d7, [r3] 8032a14: ee26 6b07 vmul.f64 d6, d6, d7 8032a18: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a1c: ed93 7b00 vldr d7, [r3] 8032a20: ee26 6b07 vmul.f64 d6, d6, d7 8032a24: f507 63ca add.w r3, r7, #1616 ; 0x650 8032a28: ed93 7b00 vldr d7, [r3] 8032a2c: ee37 5b07 vadd.f64 d5, d7, d7 8032a30: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a34: ed93 7b00 vldr d7, [r3] 8032a38: ee25 5b07 vmul.f64 d5, d5, d7 8032a3c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a40: ed93 7b00 vldr d7, [r3] 8032a44: ee25 5b07 vmul.f64 d5, d5, d7 8032a48: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a4c: ed93 7b00 vldr d7, [r3] 8032a50: ee25 5b07 vmul.f64 d5, d5, d7 8032a54: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032a58: ed93 7b00 vldr d7, [r3] 8032a5c: ee25 7b07 vmul.f64 d7, d5, d7 8032a60: ee36 6b47 vsub.f64 d6, d6, d7 8032a64: f507 63ca add.w r3, r7, #1616 ; 0x650 8032a68: ed93 7b00 vldr d7, [r3] 8032a6c: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032a70: ee27 5b05 vmul.f64 d5, d7, d5 8032a74: f507 63cf add.w r3, r7, #1656 ; 0x678 8032a78: ed93 7b00 vldr d7, [r3] 8032a7c: ee25 5b07 vmul.f64 d5, d5, d7 8032a80: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032a84: ed93 7b00 vldr d7, [r3] 8032a88: ee25 7b07 vmul.f64 d7, d5, d7 8032a8c: ee36 6b47 vsub.f64 d6, d6, d7 8032a90: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032a94: ed93 7b00 vldr d7, [r3] 8032a98: eeb2 5b00 vmov.f64 d5, #32 ; 0x41000000 8.0 8032a9c: ee27 5b05 vmul.f64 d5, d7, d5 8032aa0: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032aa4: ed93 7b00 vldr d7, [r3] 8032aa8: ee25 5b07 vmul.f64 d5, d5, d7 8032aac: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032ab0: ed93 7b00 vldr d7, [r3] 8032ab4: ee25 5b07 vmul.f64 d5, d5, d7 8032ab8: f507 63cf add.w r3, r7, #1656 ; 0x678 8032abc: ed93 7b00 vldr d7, [r3] 8032ac0: ee25 5b07 vmul.f64 d5, d5, d7 8032ac4: f507 63cf add.w r3, r7, #1656 ; 0x678 8032ac8: ed93 7b00 vldr d7, [r3] 8032acc: ee25 7b07 vmul.f64 d7, d5, d7 8032ad0: ee36 6b47 vsub.f64 d6, d6, d7 8032ad4: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032ad8: ed93 5b00 vldr d5, [r3] 8032adc: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032ae0: ed93 7b00 vldr d7, [r3] 8032ae4: ee25 5b07 vmul.f64 d5, d5, d7 8032ae8: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032aec: ed93 7b00 vldr d7, [r3] 8032af0: ee25 5b07 vmul.f64 d5, d5, d7 8032af4: f507 63cf add.w r3, r7, #1656 ; 0x678 8032af8: ed93 7b00 vldr d7, [r3] 8032afc: ee25 5b07 vmul.f64 d5, d5, d7 8032b00: f507 63cf add.w r3, r7, #1656 ; 0x678 8032b04: ed93 7b00 vldr d7, [r3] 8032b08: ee25 5b07 vmul.f64 d5, d5, d7 8032b0c: f507 63cf add.w r3, r7, #1656 ; 0x678 8032b10: ed93 7b00 vldr d7, [r3] 8032b14: ee25 5b07 vmul.f64 d5, d5, d7 8032b18: f507 63cf add.w r3, r7, #1656 ; 0x678 8032b1c: ed93 7b00 vldr d7, [r3] 8032b20: ee25 7b07 vmul.f64 d7, d5, d7 8032b24: ee36 6b47 vsub.f64 d6, d6, d7 8032b28: f507 63c9 add.w r3, r7, #1608 ; 0x648 8032b2c: ed93 7b00 vldr d7, [r3] 8032b30: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 8032b34: ee27 5b05 vmul.f64 d5, d7, d5 8032b38: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032b3c: ed93 7b00 vldr d7, [r3] 8032b40: ee25 5b07 vmul.f64 d5, d5, d7 8032b44: f507 63d1 add.w r3, r7, #1672 ; 0x688 8032b48: ed93 7b00 vldr d7, [r3] 8032b4c: ee25 7b07 vmul.f64 d7, d5, d7 8032b50: ee36 6b47 vsub.f64 d6, d6, d7 8032b54: f507 63cc add.w r3, r7, #1632 ; 0x660 8032b58: ed93 7b00 vldr d7, [r3] 8032b5c: ee26 7b07 vmul.f64 d7, d6, d7 8032b60: 4a59 ldr r2, [pc, #356] ; (8032cc8 ) 8032b62: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032b66: 3332 adds r3, #50 ; 0x32 8032b68: 00db lsls r3, r3, #3 8032b6a: 4413 add r3, r2 8032b6c: ed83 7b00 vstr d7, [r3] // T = 2 makes these values approach 0.0 (~ 1.0E-12) The root solver needs 0.0 for numerical reasons. if(fabs(T-2.0) < 0.0005) 8032b70: f507 63cf add.w r3, r7, #1656 ; 0x678 8032b74: ed93 7b00 vldr d7, [r3] 8032b78: eeb0 6b00 vmov.f64 d6, #0 ; 0x40000000 2.0 8032b7c: ee37 7b46 vsub.f64 d7, d7, d6 8032b80: eeb0 7bc7 vabs.f64 d7, d7 8032b84: ed9f 6b4e vldr d6, [pc, #312] ; 8032cc0 8032b88: eeb4 7bc6 vcmpe.f64 d7, d6 8032b8c: eef1 fa10 vmrs APSR_nzcv, fpscr 8032b90: d52f bpl.n 8032bf2 { IIR.a3[j] = 0.0; 8032b92: 4a4d ldr r2, [pc, #308] ; (8032cc8 ) 8032b94: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032b98: 331e adds r3, #30 8032b9a: 00db lsls r3, r3, #3 8032b9c: 441a add r2, r3 8032b9e: f04f 0300 mov.w r3, #0 8032ba2: f04f 0400 mov.w r4, #0 8032ba6: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = 0.0; 8032baa: 4a47 ldr r2, [pc, #284] ; (8032cc8 ) 8032bac: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032bb0: 330a adds r3, #10 8032bb2: 00db lsls r3, r3, #3 8032bb4: 441a add r2, r3 8032bb6: f04f 0300 mov.w r3, #0 8032bba: f04f 0400 mov.w r4, #0 8032bbe: e882 0018 stmia.w r2, {r3, r4} IIR.b3[j] = 0.0; 8032bc2: 4a41 ldr r2, [pc, #260] ; (8032cc8 ) 8032bc4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032bc8: 3350 adds r3, #80 ; 0x50 8032bca: 00db lsls r3, r3, #3 8032bcc: 441a add r2, r3 8032bce: f04f 0300 mov.w r3, #0 8032bd2: f04f 0400 mov.w r4, #0 8032bd6: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = 0.0; 8032bda: 4a3b ldr r2, [pc, #236] ; (8032cc8 ) 8032bdc: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032be0: 333c adds r3, #60 ; 0x3c 8032be2: 00db lsls r3, r3, #3 8032be4: 441a add r2, r3 8032be6: f04f 0300 mov.w r3, #0 8032bea: f04f 0400 mov.w r4, #0 8032bee: e882 0018 stmia.w r2, {r3, r4} } // We now have a 4th order poly in the form a4*s^4 + a3*s^3 + a2*s^2 + a2*s + a0 // We find the roots of this so we can form two 2nd order polys. Coeff[0] = IIR.a4[j]; 8032bf2: 4a35 ldr r2, [pc, #212] ; (8032cc8 ) 8032bf4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032bf8: 3328 adds r3, #40 ; 0x28 8032bfa: 00db lsls r3, r3, #3 8032bfc: 4413 add r3, r2 8032bfe: cb18 ldmia r3, {r3, r4} 8032c00: f507 62c3 add.w r2, r7, #1560 ; 0x618 8032c04: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.a3[j]; 8032c08: 4a2f ldr r2, [pc, #188] ; (8032cc8 ) 8032c0a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032c0e: 331e adds r3, #30 8032c10: 00db lsls r3, r3, #3 8032c12: 4413 add r3, r2 8032c14: cb18 ldmia r3, {r3, r4} 8032c16: f507 62c4 add.w r2, r7, #1568 ; 0x620 8032c1a: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.a2[j]; 8032c1e: 4a2a ldr r2, [pc, #168] ; (8032cc8 ) 8032c20: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032c24: 3314 adds r3, #20 8032c26: 00db lsls r3, r3, #3 8032c28: 4413 add r3, r2 8032c2a: cb18 ldmia r3, {r3, r4} 8032c2c: f507 62c5 add.w r2, r7, #1576 ; 0x628 8032c30: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.a1[j]; 8032c34: 4a24 ldr r2, [pc, #144] ; (8032cc8 ) 8032c36: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032c3a: 330a adds r3, #10 8032c3c: 00db lsls r3, r3, #3 8032c3e: 4413 add r3, r2 8032c40: cb18 ldmia r3, {r3, r4} 8032c42: f507 62c6 add.w r2, r7, #1584 ; 0x630 8032c46: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.a0[j]; 8032c4a: 4a1f ldr r2, [pc, #124] ; (8032cc8 ) 8032c4c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032c50: 00db lsls r3, r3, #3 8032c52: 4413 add r3, r2 8032c54: cb18 ldmia r3, {r3, r4} 8032c56: f507 62c7 add.w r2, r7, #1592 ; 0x638 8032c5a: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 8032c5e: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8032c62: f507 62bf add.w r2, r7, #1528 ; 0x5f8 8032c66: f507 61c3 add.w r1, r7, #1560 ; 0x618 8032c6a: 2004 movs r0, #4 8032c6c: f000 fe50 bl 8033910 // In effect, the root finder scales the poly by 1/a4 so we have to apply // this factor back into the two 2nd order equations we are forming. if(IIR.a4[j] < 0.0)Scalar = -sqrt(-IIR.a4[j]); 8032c70: 4a15 ldr r2, [pc, #84] ; (8032cc8 ) 8032c72: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032c76: 3328 adds r3, #40 ; 0x28 8032c78: 00db lsls r3, r3, #3 8032c7a: 4413 add r3, r2 8032c7c: ed93 7b00 vldr d7, [r3] 8032c80: eeb5 7bc0 vcmpe.f64 d7, #0.0 8032c84: eef1 fa10 vmrs APSR_nzcv, fpscr 8032c88: d520 bpl.n 8032ccc 8032c8a: 4a0f ldr r2, [pc, #60] ; (8032cc8 ) 8032c8c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032c90: 3328 adds r3, #40 ; 0x28 8032c92: 00db lsls r3, r3, #3 8032c94: 4413 add r3, r2 8032c96: ed93 7b00 vldr d7, [r3] 8032c9a: eeb1 7b47 vneg.f64 d7, d7 8032c9e: eeb0 0b47 vmov.f64 d0, d7 8032ca2: f098 f9bd bl 80cb020 8032ca6: eeb0 7b40 vmov.f64 d7, d0 8032caa: eeb1 7b47 vneg.f64 d7, d7 8032cae: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032cb2: ed83 7b00 vstr d7, [r3] 8032cb6: e019 b.n 8032cec 8032cb8: 00000000 .word 0x00000000 8032cbc: 40500000 .word 0x40500000 8032cc0: d2f1a9fc .word 0xd2f1a9fc 8032cc4: 3f40624d .word 0x3f40624d 8032cc8: 20025918 .word 0x20025918 else Scalar = sqrt(IIR.a4[j]); 8032ccc: 4a87 ldr r2, [pc, #540] ; (8032eec ) 8032cce: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032cd2: 3328 adds r3, #40 ; 0x28 8032cd4: 00db lsls r3, r3, #3 8032cd6: 4413 add r3, r2 8032cd8: ed93 7b00 vldr d7, [r3] 8032cdc: eeb0 0b47 vmov.f64 d0, d7 8032ce0: f098 f99e bl 80cb020 8032ce4: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032ce8: ed83 0b00 vstr d0, [r3] a2[k] = Scalar; 8032cec: f507 62b1 add.w r2, r7, #1416 ; 0x588 8032cf0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032cf4: 00db lsls r3, r3, #3 8032cf6: 441a add r2, r3 8032cf8: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032cfc: cb18 ldmia r3, {r3, r4} 8032cfe: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 8032d02: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8032d06: ed93 6b00 vldr d6, [r3] 8032d0a: f507 63c0 add.w r3, r7, #1536 ; 0x600 8032d0e: ed93 7b00 vldr d7, [r3] 8032d12: ee36 7b07 vadd.f64 d7, d6, d7 8032d16: eeb1 6b47 vneg.f64 d6, d7 8032d1a: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032d1e: ed93 7b00 vldr d7, [r3] 8032d22: ee26 7b07 vmul.f64 d7, d6, d7 8032d26: f507 62a7 add.w r2, r7, #1336 ; 0x538 8032d2a: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032d2e: 00db lsls r3, r3, #3 8032d30: 4413 add r3, r2 8032d32: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 8032d36: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8032d3a: ed93 6b00 vldr d6, [r3] 8032d3e: f507 63c0 add.w r3, r7, #1536 ; 0x600 8032d42: ed93 7b00 vldr d7, [r3] 8032d46: ee26 6b07 vmul.f64 d6, d6, d7 8032d4a: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8032d4e: ed93 5b00 vldr d5, [r3] 8032d52: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8032d56: ed93 7b00 vldr d7, [r3] 8032d5a: ee25 7b07 vmul.f64 d7, d5, d7 8032d5e: ee36 6b47 vsub.f64 d6, d6, d7 8032d62: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032d66: ed93 7b00 vldr d7, [r3] 8032d6a: ee26 7b07 vmul.f64 d7, d6, d7 8032d6e: f507 629d add.w r2, r7, #1256 ; 0x4e8 8032d72: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032d76: 00db lsls r3, r3, #3 8032d78: 4413 add r3, r2 8032d7a: ed83 7b00 vstr d7, [r3] k++; 8032d7e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032d82: 3301 adds r3, #1 8032d84: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 a2[k] = Scalar; 8032d88: f507 62b1 add.w r2, r7, #1416 ; 0x588 8032d8c: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032d90: 00db lsls r3, r3, #3 8032d92: 441a add r2, r3 8032d94: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032d98: cb18 ldmia r3, {r3, r4} 8032d9a: e882 0018 stmia.w r2, {r3, r4} a1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 8032d9e: f507 63c1 add.w r3, r7, #1544 ; 0x608 8032da2: ed93 6b00 vldr d6, [r3] 8032da6: f507 63c2 add.w r3, r7, #1552 ; 0x610 8032daa: ed93 7b00 vldr d7, [r3] 8032dae: ee36 7b07 vadd.f64 d7, d6, d7 8032db2: eeb1 6b47 vneg.f64 d6, d7 8032db6: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032dba: ed93 7b00 vldr d7, [r3] 8032dbe: ee26 7b07 vmul.f64 d7, d6, d7 8032dc2: f507 62a7 add.w r2, r7, #1336 ; 0x538 8032dc6: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032dca: 00db lsls r3, r3, #3 8032dcc: 4413 add r3, r2 8032dce: ed83 7b00 vstr d7, [r3] a0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 8032dd2: f507 63c1 add.w r3, r7, #1544 ; 0x608 8032dd6: ed93 6b00 vldr d6, [r3] 8032dda: f507 63c2 add.w r3, r7, #1552 ; 0x610 8032dde: ed93 7b00 vldr d7, [r3] 8032de2: ee26 6b07 vmul.f64 d6, d6, d7 8032de6: f507 63bd add.w r3, r7, #1512 ; 0x5e8 8032dea: ed93 5b00 vldr d5, [r3] 8032dee: f507 63be add.w r3, r7, #1520 ; 0x5f0 8032df2: ed93 7b00 vldr d7, [r3] 8032df6: ee25 7b07 vmul.f64 d7, d5, d7 8032dfa: ee36 6b47 vsub.f64 d6, d6, d7 8032dfe: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032e02: ed93 7b00 vldr d7, [r3] 8032e06: ee26 7b07 vmul.f64 d7, d6, d7 8032e0a: f507 629d add.w r2, r7, #1256 ; 0x4e8 8032e0e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032e12: 00db lsls r3, r3, #3 8032e14: 4413 add r3, r2 8032e16: ed83 7b00 vstr d7, [r3] k--; 8032e1a: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032e1e: 3b01 subs r3, #1 8032e20: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 // Now do the same with the numerator. Coeff[0] = IIR.b4[j]; 8032e24: 4a31 ldr r2, [pc, #196] ; (8032eec ) 8032e26: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032e2a: 335a adds r3, #90 ; 0x5a 8032e2c: 00db lsls r3, r3, #3 8032e2e: 4413 add r3, r2 8032e30: cb18 ldmia r3, {r3, r4} 8032e32: f507 62c3 add.w r2, r7, #1560 ; 0x618 8032e36: e882 0018 stmia.w r2, {r3, r4} Coeff[1] = IIR.b3[j]; 8032e3a: 4a2c ldr r2, [pc, #176] ; (8032eec ) 8032e3c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032e40: 3350 adds r3, #80 ; 0x50 8032e42: 00db lsls r3, r3, #3 8032e44: 4413 add r3, r2 8032e46: cb18 ldmia r3, {r3, r4} 8032e48: f507 62c4 add.w r2, r7, #1568 ; 0x620 8032e4c: e882 0018 stmia.w r2, {r3, r4} Coeff[2] = IIR.b2[j]; 8032e50: 4a26 ldr r2, [pc, #152] ; (8032eec ) 8032e52: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032e56: 3346 adds r3, #70 ; 0x46 8032e58: 00db lsls r3, r3, #3 8032e5a: 4413 add r3, r2 8032e5c: cb18 ldmia r3, {r3, r4} 8032e5e: f507 62c5 add.w r2, r7, #1576 ; 0x628 8032e62: e882 0018 stmia.w r2, {r3, r4} Coeff[3] = IIR.b1[j]; 8032e66: 4a21 ldr r2, [pc, #132] ; (8032eec ) 8032e68: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032e6c: 333c adds r3, #60 ; 0x3c 8032e6e: 00db lsls r3, r3, #3 8032e70: 4413 add r3, r2 8032e72: cb18 ldmia r3, {r3, r4} 8032e74: f507 62c6 add.w r2, r7, #1584 ; 0x630 8032e78: e882 0018 stmia.w r2, {r3, r4} Coeff[4] = IIR.b0[j]; 8032e7c: 4a1b ldr r2, [pc, #108] ; (8032eec ) 8032e7e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032e82: 3332 adds r3, #50 ; 0x32 8032e84: 00db lsls r3, r3, #3 8032e86: 4413 add r3, r2 8032e88: cb18 ldmia r3, {r3, r4} 8032e8a: f507 62c7 add.w r2, r7, #1592 ; 0x638 8032e8e: e882 0018 stmia.w r2, {r3, r4} QuadCubicRoots(4, Coeff, RealRoot, ImagRoot); 8032e92: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8032e96: f507 62bf add.w r2, r7, #1528 ; 0x5f8 8032e9a: f507 61c3 add.w r1, r7, #1560 ; 0x618 8032e9e: 2004 movs r0, #4 8032ea0: f000 fd36 bl 8033910 if(IIR.b4[j] < 0.0)Scalar = -sqrt(-IIR.b4[j]); 8032ea4: 4a11 ldr r2, [pc, #68] ; (8032eec ) 8032ea6: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032eaa: 335a adds r3, #90 ; 0x5a 8032eac: 00db lsls r3, r3, #3 8032eae: 4413 add r3, r2 8032eb0: ed93 7b00 vldr d7, [r3] 8032eb4: eeb5 7bc0 vcmpe.f64 d7, #0.0 8032eb8: eef1 fa10 vmrs APSR_nzcv, fpscr 8032ebc: d518 bpl.n 8032ef0 8032ebe: 4a0b ldr r2, [pc, #44] ; (8032eec ) 8032ec0: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032ec4: 335a adds r3, #90 ; 0x5a 8032ec6: 00db lsls r3, r3, #3 8032ec8: 4413 add r3, r2 8032eca: ed93 7b00 vldr d7, [r3] 8032ece: eeb1 7b47 vneg.f64 d7, d7 8032ed2: eeb0 0b47 vmov.f64 d0, d7 8032ed6: f098 f8a3 bl 80cb020 8032eda: eeb0 7b40 vmov.f64 d7, d0 8032ede: eeb1 7b47 vneg.f64 d7, d7 8032ee2: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032ee6: ed83 7b00 vstr d7, [r3] 8032eea: e011 b.n 8032f10 8032eec: 20025918 .word 0x20025918 else Scalar = sqrt(IIR.b4[j]); 8032ef0: 4ab2 ldr r2, [pc, #712] ; (80331bc ) 8032ef2: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8032ef6: 335a adds r3, #90 ; 0x5a 8032ef8: 00db lsls r3, r3, #3 8032efa: 4413 add r3, r2 8032efc: ed93 7b00 vldr d7, [r3] 8032f00: eeb0 0b47 vmov.f64 d0, d7 8032f04: f098 f88c bl 80cb020 8032f08: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032f0c: ed83 0b00 vstr d0, [r3] b2[k] = Scalar; 8032f10: f507 6293 add.w r2, r7, #1176 ; 0x498 8032f14: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032f18: 00db lsls r3, r3, #3 8032f1a: 441a add r2, r3 8032f1c: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032f20: cb18 ldmia r3, {r3, r4} 8032f22: e882 0018 stmia.w r2, {r3, r4} b1[k] = -(RealRoot[0] + RealRoot[1]) * Scalar; 8032f26: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8032f2a: ed93 6b00 vldr d6, [r3] 8032f2e: f507 63c0 add.w r3, r7, #1536 ; 0x600 8032f32: ed93 7b00 vldr d7, [r3] 8032f36: ee36 7b07 vadd.f64 d7, d6, d7 8032f3a: eeb1 6b47 vneg.f64 d6, d7 8032f3e: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032f42: ed93 7b00 vldr d7, [r3] 8032f46: ee26 7b07 vmul.f64 d7, d6, d7 8032f4a: f507 6289 add.w r2, r7, #1096 ; 0x448 8032f4e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032f52: 00db lsls r3, r3, #3 8032f54: 4413 add r3, r2 8032f56: ed83 7b00 vstr d7, [r3] b0[k] = (RealRoot[0] * RealRoot[1] - ImagRoot[0] * ImagRoot[1]) * Scalar; 8032f5a: f507 63bf add.w r3, r7, #1528 ; 0x5f8 8032f5e: ed93 6b00 vldr d6, [r3] 8032f62: f507 63c0 add.w r3, r7, #1536 ; 0x600 8032f66: ed93 7b00 vldr d7, [r3] 8032f6a: ee26 6b07 vmul.f64 d6, d6, d7 8032f6e: f507 63bb add.w r3, r7, #1496 ; 0x5d8 8032f72: ed93 5b00 vldr d5, [r3] 8032f76: f507 63bc add.w r3, r7, #1504 ; 0x5e0 8032f7a: ed93 7b00 vldr d7, [r3] 8032f7e: ee25 7b07 vmul.f64 d7, d5, d7 8032f82: ee36 6b47 vsub.f64 d6, d6, d7 8032f86: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032f8a: ed93 7b00 vldr d7, [r3] 8032f8e: ee26 7b07 vmul.f64 d7, d6, d7 8032f92: f507 727e add.w r2, r7, #1016 ; 0x3f8 8032f96: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032f9a: 00db lsls r3, r3, #3 8032f9c: 4413 add r3, r2 8032f9e: ed83 7b00 vstr d7, [r3] k++; 8032fa2: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032fa6: 3301 adds r3, #1 8032fa8: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 b2[k] = Scalar; 8032fac: f507 6293 add.w r2, r7, #1176 ; 0x498 8032fb0: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032fb4: 00db lsls r3, r3, #3 8032fb6: 441a add r2, r3 8032fb8: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032fbc: cb18 ldmia r3, {r3, r4} 8032fbe: e882 0018 stmia.w r2, {r3, r4} b1[k] = -(RealRoot[2] + RealRoot[3]) * Scalar; 8032fc2: f507 63c1 add.w r3, r7, #1544 ; 0x608 8032fc6: ed93 6b00 vldr d6, [r3] 8032fca: f507 63c2 add.w r3, r7, #1552 ; 0x610 8032fce: ed93 7b00 vldr d7, [r3] 8032fd2: ee36 7b07 vadd.f64 d7, d6, d7 8032fd6: eeb1 6b47 vneg.f64 d6, d7 8032fda: f507 63d2 add.w r3, r7, #1680 ; 0x690 8032fde: ed93 7b00 vldr d7, [r3] 8032fe2: ee26 7b07 vmul.f64 d7, d6, d7 8032fe6: f507 6289 add.w r2, r7, #1096 ; 0x448 8032fea: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8032fee: 00db lsls r3, r3, #3 8032ff0: 4413 add r3, r2 8032ff2: ed83 7b00 vstr d7, [r3] b0[k] = (RealRoot[2] * RealRoot[3] - ImagRoot[2] * ImagRoot[3]) * Scalar; 8032ff6: f507 63c1 add.w r3, r7, #1544 ; 0x608 8032ffa: ed93 6b00 vldr d6, [r3] 8032ffe: f507 63c2 add.w r3, r7, #1552 ; 0x610 8033002: ed93 7b00 vldr d7, [r3] 8033006: ee26 6b07 vmul.f64 d6, d6, d7 803300a: f507 63bd add.w r3, r7, #1512 ; 0x5e8 803300e: ed93 5b00 vldr d5, [r3] 8033012: f507 63be add.w r3, r7, #1520 ; 0x5f0 8033016: ed93 7b00 vldr d7, [r3] 803301a: ee25 7b07 vmul.f64 d7, d5, d7 803301e: ee36 6b47 vsub.f64 d6, d6, d7 8033022: f507 63d2 add.w r3, r7, #1680 ; 0x690 8033026: ed93 7b00 vldr d7, [r3] 803302a: ee26 7b07 vmul.f64 d7, d6, d7 803302e: f507 727e add.w r2, r7, #1016 ; 0x3f8 8033032: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033036: 00db lsls r3, r3, #3 8033038: 4413 add r3, r2 803303a: ed83 7b00 vstr d7, [r3] k++; 803303e: f8d7 3698 ldr.w r3, [r7, #1688] ; 0x698 8033042: 3301 adds r3, #1 8033044: f8c7 3698 str.w r3, [r7, #1688] ; 0x698 for(j=0; j } } } if(PassType == iirBPF || PassType == iirNOTCH) 8033064: f207 230a addw r3, r7, #522 ; 0x20a 8033068: 781b ldrb r3, [r3, #0] 803306a: 2b02 cmp r3, #2 803306c: d005 beq.n 803307a 803306e: f207 230a addw r3, r7, #522 ; 0x20a 8033072: 781b ldrb r3, [r3, #0] 8033074: 2b03 cmp r3, #3 8033076: f040 8109 bne.w 803328c { // In the calcs above for the BPF and Notch, we didn't set a0=1, so we do it here. // k will equal the number of poles. for(j=0; j { b2[j] /= a0[j]; 8033082: f507 6293 add.w r2, r7, #1176 ; 0x498 8033086: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803308a: 00db lsls r3, r3, #3 803308c: 4413 add r3, r2 803308e: ed93 5b00 vldr d5, [r3] 8033092: f507 629d add.w r2, r7, #1256 ; 0x4e8 8033096: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803309a: 00db lsls r3, r3, #3 803309c: 4413 add r3, r2 803309e: ed93 6b00 vldr d6, [r3] 80330a2: ee85 7b06 vdiv.f64 d7, d5, d6 80330a6: f507 6293 add.w r2, r7, #1176 ; 0x498 80330aa: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80330ae: 00db lsls r3, r3, #3 80330b0: 4413 add r3, r2 80330b2: ed83 7b00 vstr d7, [r3] b1[j] /= a0[j]; 80330b6: f507 6289 add.w r2, r7, #1096 ; 0x448 80330ba: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80330be: 00db lsls r3, r3, #3 80330c0: 4413 add r3, r2 80330c2: ed93 5b00 vldr d5, [r3] 80330c6: f507 629d add.w r2, r7, #1256 ; 0x4e8 80330ca: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80330ce: 00db lsls r3, r3, #3 80330d0: 4413 add r3, r2 80330d2: ed93 6b00 vldr d6, [r3] 80330d6: ee85 7b06 vdiv.f64 d7, d5, d6 80330da: f507 6289 add.w r2, r7, #1096 ; 0x448 80330de: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80330e2: 00db lsls r3, r3, #3 80330e4: 4413 add r3, r2 80330e6: ed83 7b00 vstr d7, [r3] b0[j] /= a0[j]; 80330ea: f507 727e add.w r2, r7, #1016 ; 0x3f8 80330ee: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80330f2: 00db lsls r3, r3, #3 80330f4: 4413 add r3, r2 80330f6: ed93 5b00 vldr d5, [r3] 80330fa: f507 629d add.w r2, r7, #1256 ; 0x4e8 80330fe: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033102: 00db lsls r3, r3, #3 8033104: 4413 add r3, r2 8033106: ed93 6b00 vldr d6, [r3] 803310a: ee85 7b06 vdiv.f64 d7, d5, d6 803310e: f507 727e add.w r2, r7, #1016 ; 0x3f8 8033112: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033116: 00db lsls r3, r3, #3 8033118: 4413 add r3, r2 803311a: ed83 7b00 vstr d7, [r3] a2[j] /= a0[j]; 803311e: f507 62b1 add.w r2, r7, #1416 ; 0x588 8033122: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033126: 00db lsls r3, r3, #3 8033128: 4413 add r3, r2 803312a: ed93 5b00 vldr d5, [r3] 803312e: f507 629d add.w r2, r7, #1256 ; 0x4e8 8033132: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033136: 00db lsls r3, r3, #3 8033138: 4413 add r3, r2 803313a: ed93 6b00 vldr d6, [r3] 803313e: ee85 7b06 vdiv.f64 d7, d5, d6 8033142: f507 62b1 add.w r2, r7, #1416 ; 0x588 8033146: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803314a: 00db lsls r3, r3, #3 803314c: 4413 add r3, r2 803314e: ed83 7b00 vstr d7, [r3] a1[j] /= a0[j]; 8033152: f507 62a7 add.w r2, r7, #1336 ; 0x538 8033156: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803315a: 00db lsls r3, r3, #3 803315c: 4413 add r3, r2 803315e: ed93 5b00 vldr d5, [r3] 8033162: f507 629d add.w r2, r7, #1256 ; 0x4e8 8033166: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803316a: 00db lsls r3, r3, #3 803316c: 4413 add r3, r2 803316e: ed93 6b00 vldr d6, [r3] 8033172: ee85 7b06 vdiv.f64 d7, d5, d6 8033176: f507 62a7 add.w r2, r7, #1336 ; 0x538 803317a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803317e: 00db lsls r3, r3, #3 8033180: 4413 add r3, r2 8033182: ed83 7b00 vstr d7, [r3] a0[j] = 1.0; 8033186: f507 629d add.w r2, r7, #1256 ; 0x4e8 803318a: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 803318e: 00db lsls r3, r3, #3 8033190: 441a add r2, r3 8033192: f04f 0300 mov.w r3, #0 8033196: 4c0a ldr r4, [pc, #40] ; (80331c0 ) 8033198: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } for(j=0; j 80331bc: 20025918 .word 0x20025918 80331c0: 3ff00000 .word 0x3ff00000 { IIR.a0[j] = a0[j]; 80331c4: f507 629d add.w r2, r7, #1256 ; 0x4e8 80331c8: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80331cc: 00db lsls r3, r3, #3 80331ce: 4413 add r3, r2 80331d0: cb18 ldmia r3, {r3, r4} 80331d2: 4937 ldr r1, [pc, #220] ; (80332b0 ) 80331d4: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 80331d8: 00d2 lsls r2, r2, #3 80331da: 440a add r2, r1 80331dc: e882 0018 stmia.w r2, {r3, r4} IIR.a1[j] = a1[j]; 80331e0: f507 62a7 add.w r2, r7, #1336 ; 0x538 80331e4: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 80331e8: 00db lsls r3, r3, #3 80331ea: 4413 add r3, r2 80331ec: cb18 ldmia r3, {r3, r4} 80331ee: 4930 ldr r1, [pc, #192] ; (80332b0 ) 80331f0: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 80331f4: 320a adds r2, #10 80331f6: 00d2 lsls r2, r2, #3 80331f8: 440a add r2, r1 80331fa: e882 0018 stmia.w r2, {r3, r4} IIR.a2[j] = a2[j]; 80331fe: f507 62b1 add.w r2, r7, #1416 ; 0x588 8033202: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033206: 00db lsls r3, r3, #3 8033208: 4413 add r3, r2 803320a: cb18 ldmia r3, {r3, r4} 803320c: 4928 ldr r1, [pc, #160] ; (80332b0 ) 803320e: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 8033212: 3214 adds r2, #20 8033214: 00d2 lsls r2, r2, #3 8033216: 440a add r2, r1 8033218: e882 0018 stmia.w r2, {r3, r4} IIR.b0[j] = b0[j]; 803321c: f507 727e add.w r2, r7, #1016 ; 0x3f8 8033220: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033224: 00db lsls r3, r3, #3 8033226: 4413 add r3, r2 8033228: cb18 ldmia r3, {r3, r4} 803322a: 4921 ldr r1, [pc, #132] ; (80332b0 ) 803322c: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 8033230: 3232 adds r2, #50 ; 0x32 8033232: 00d2 lsls r2, r2, #3 8033234: 440a add r2, r1 8033236: e882 0018 stmia.w r2, {r3, r4} IIR.b1[j] = b1[j]; 803323a: f507 6289 add.w r2, r7, #1096 ; 0x448 803323e: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033242: 00db lsls r3, r3, #3 8033244: 4413 add r3, r2 8033246: cb18 ldmia r3, {r3, r4} 8033248: 4919 ldr r1, [pc, #100] ; (80332b0 ) 803324a: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 803324e: 323c adds r2, #60 ; 0x3c 8033250: 00d2 lsls r2, r2, #3 8033252: 440a add r2, r1 8033254: e882 0018 stmia.w r2, {r3, r4} IIR.b2[j] = b2[j]; 8033258: f507 6293 add.w r2, r7, #1176 ; 0x498 803325c: f8d7 369c ldr.w r3, [r7, #1692] ; 0x69c 8033260: 00db lsls r3, r3, #3 8033262: 4413 add r3, r2 8033264: cb18 ldmia r3, {r3, r4} 8033266: 4912 ldr r1, [pc, #72] ; (80332b0 ) 8033268: f8d7 269c ldr.w r2, [r7, #1692] ; 0x69c 803326c: 3246 adds r2, #70 ; 0x46 803326e: 00d2 lsls r2, r2, #3 8033270: 440a add r2, r1 8033272: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } } return(IIR); // IIR is the structure containing the coefficients. 803328c: f507 7303 add.w r3, r7, #524 ; 0x20c 8033290: 681b ldr r3, [r3, #0] 8033292: 4a07 ldr r2, [pc, #28] ; (80332b0 ) 8033294: 4618 mov r0, r3 8033296: 4611 mov r1, r2 8033298: f44f 734a mov.w r3, #808 ; 0x328 803329c: 461a mov r2, r3 803329e: f099 fee4 bl 80cd06a } 80332a2: f507 7303 add.w r3, r7, #524 ; 0x20c 80332a6: 6818 ldr r0, [r3, #0] 80332a8: f207 67a4 addw r7, r7, #1700 ; 0x6a4 80332ac: 46bd mov sp, r7 80332ae: bd90 pop {r4, r7, pc} 80332b0: 20025918 .word 0x20025918 80332b4: 00000000 .word 0x00000000 080332b8 : TSPlaneCoeff GetSPlaneCoefficients(uint8_t FilterType, int NumPoles, double Beta) { 80332b8: b590 push {r4, r7, lr} 80332ba: f5ad 7d13 sub.w sp, sp, #588 ; 0x24c 80332be: af00 add r7, sp, #0 80332c0: f107 0314 add.w r3, r7, #20 80332c4: 6018 str r0, [r3, #0] 80332c6: f107 030c add.w r3, r7, #12 80332ca: 601a str r2, [r3, #0] 80332cc: 463b mov r3, r7 80332ce: ed83 0b00 vstr d0, [r3] 80332d2: f107 0313 add.w r3, r7, #19 80332d6: 460a mov r2, r1 80332d8: 701a strb r2, [r3, #0] int j, n, p, z, MinNumPoles, MaxNumPoles; int ArrayNumber, OuterArrayDim, NumSections; double LoopBeta, BetaMin, BetaStep, BetaMax; TSPlaneCoeff SPlaneCoeff; BetaMin = BetaMinArray[FilterType]; 80332da: f107 0313 add.w r3, r7, #19 80332de: 781b ldrb r3, [r3, #0] 80332e0: 4ac5 ldr r2, [pc, #788] ; (80335f8 ) 80332e2: 00db lsls r3, r3, #3 80332e4: 4413 add r3, r2 80332e6: cb18 ldmia r3, {r3, r4} 80332e8: e9c7 3488 strd r3, r4, [r7, #544] ; 0x220 BetaStep = BetaStepArray[FilterType]; 80332ec: f107 0313 add.w r3, r7, #19 80332f0: 781b ldrb r3, [r3, #0] 80332f2: 4ac2 ldr r2, [pc, #776] ; (80335fc ) 80332f4: 00db lsls r3, r3, #3 80332f6: 4413 add r3, r2 80332f8: cb18 ldmia r3, {r3, r4} 80332fa: e9c7 3486 strd r3, r4, [r7, #536] ; 0x218 BetaMax = BetaMaxArray[FilterType]; 80332fe: f107 0313 add.w r3, r7, #19 8033302: 781b ldrb r3, [r3, #0] 8033304: 4abe ldr r2, [pc, #760] ; (8033600 ) 8033306: 00db lsls r3, r3, #3 8033308: 4413 add r3, r2 803330a: cb18 ldmia r3, {r3, r4} 803330c: e9c7 3484 strd r3, r4, [r7, #528] ; 0x210 MinNumPoles = MinNumPolesArray[FilterType]; 8033310: f107 0313 add.w r3, r7, #19 8033314: 781b ldrb r3, [r3, #0] 8033316: 4abb ldr r2, [pc, #748] ; (8033604 ) 8033318: 00db lsls r3, r3, #3 803331a: 4413 add r3, r2 803331c: ed93 7b00 vldr d7, [r3] 8033320: eefd 7bc7 vcvt.s32.f64 s15, d7 8033324: ee17 3a90 vmov r3, s15 8033328: f8c7 320c str.w r3, [r7, #524] ; 0x20c MaxNumPoles = MaxNumPolesArray[FilterType]; 803332c: f107 0313 add.w r3, r7, #19 8033330: 781b ldrb r3, [r3, #0] 8033332: 4ab5 ldr r2, [pc, #724] ; (8033608 ) 8033334: 00db lsls r3, r3, #3 8033336: 4413 add r3, r2 8033338: ed93 7b00 vldr d7, [r3] 803333c: eefd 7bc7 vcvt.s32.f64 s15, d7 8033340: ee17 3a90 vmov r3, s15 8033344: f8c7 3208 str.w r3, [r7, #520] ; 0x208 // Range check if(NumPoles < MinNumPoles)NumPoles = MinNumPoles; 8033348: f107 030c add.w r3, r7, #12 803334c: 681a ldr r2, [r3, #0] 803334e: f8d7 320c ldr.w r3, [r7, #524] ; 0x20c 8033352: 429a cmp r2, r3 8033354: da04 bge.n 8033360 8033356: f107 030c add.w r3, r7, #12 803335a: f8d7 220c ldr.w r2, [r7, #524] ; 0x20c 803335e: 601a str r2, [r3, #0] if(NumPoles > MaxNumPoles)NumPoles = MaxNumPoles; 8033360: f107 030c add.w r3, r7, #12 8033364: 681a ldr r2, [r3, #0] 8033366: f8d7 3208 ldr.w r3, [r7, #520] ; 0x208 803336a: 429a cmp r2, r3 803336c: dd04 ble.n 8033378 803336e: f107 030c add.w r3, r7, #12 8033372: f8d7 2208 ldr.w r2, [r7, #520] ; 0x208 8033376: 601a str r2, [r3, #0] if(Beta < BetaMin)Beta = BetaMin; 8033378: 463b mov r3, r7 803337a: ed93 6b00 vldr d6, [r3] 803337e: ed97 7b88 vldr d7, [r7, #544] ; 0x220 8033382: eeb4 6bc7 vcmpe.f64 d6, d7 8033386: eef1 fa10 vmrs APSR_nzcv, fpscr 803338a: d504 bpl.n 8033396 803338c: 463a mov r2, r7 803338e: e9d7 3488 ldrd r3, r4, [r7, #544] ; 0x220 8033392: e882 0018 stmia.w r2, {r3, r4} if(Beta > BetaMax)Beta = BetaMax; 8033396: 463b mov r3, r7 8033398: ed93 6b00 vldr d6, [r3] 803339c: ed97 7b84 vldr d7, [r7, #528] ; 0x210 80333a0: eeb4 6bc7 vcmpe.f64 d6, d7 80333a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80333a8: dd04 ble.n 80333b4 80333aa: 463a mov r2, r7 80333ac: e9d7 3484 ldrd r3, r4, [r7, #528] ; 0x210 80333b0: e882 0018 stmia.w r2, {r3, r4} // Need the array number that corresponds to Beta. // The max array size was originally determined with this piece of code, // so we use it here so we can range check ArrayNumber. OuterArrayDim = 0; 80333b4: 2300 movs r3, #0 80333b6: f8c7 3230 str.w r3, [r7, #560] ; 0x230 for(LoopBeta=BetaMin; LoopBeta<=BetaMax; LoopBeta+=BetaStep)OuterArrayDim++; 80333ba: e9d7 3488 ldrd r3, r4, [r7, #544] ; 0x220 80333be: e9c7 348a strd r3, r4, [r7, #552] ; 0x228 80333c2: e00c b.n 80333de 80333c4: f8d7 3230 ldr.w r3, [r7, #560] ; 0x230 80333c8: 3301 adds r3, #1 80333ca: f8c7 3230 str.w r3, [r7, #560] ; 0x230 80333ce: ed97 6b8a vldr d6, [r7, #552] ; 0x228 80333d2: ed97 7b86 vldr d7, [r7, #536] ; 0x218 80333d6: ee36 7b07 vadd.f64 d7, d6, d7 80333da: ed87 7b8a vstr d7, [r7, #552] ; 0x228 80333de: ed97 6b8a vldr d6, [r7, #552] ; 0x228 80333e2: ed97 7b84 vldr d7, [r7, #528] ; 0x210 80333e6: eeb4 6bc7 vcmpe.f64 d6, d7 80333ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80333ee: d9e9 bls.n 80333c4 ArrayNumber = 0; 80333f0: 2300 movs r3, #0 80333f2: f8c7 3234 str.w r3, [r7, #564] ; 0x234 for(LoopBeta=BetaMin; LoopBeta<=BetaMax; LoopBeta+=BetaStep) 80333f6: e9d7 3488 ldrd r3, r4, [r7, #544] ; 0x220 80333fa: e9c7 348a strd r3, r4, [r7, #552] ; 0x228 80333fe: e030 b.n 8033462 { if( LoopBeta >= Beta - BetaStep/1.9999 && LoopBeta <= Beta + BetaStep/1.9999)break; 8033400: ed97 6b86 vldr d6, [r7, #536] ; 0x218 8033404: ed9f 5b7a vldr d5, [pc, #488] ; 80335f0 8033408: ee86 7b05 vdiv.f64 d7, d6, d5 803340c: 463b mov r3, r7 803340e: ed93 6b00 vldr d6, [r3] 8033412: ee36 6b47 vsub.f64 d6, d6, d7 8033416: ed97 7b8a vldr d7, [r7, #552] ; 0x228 803341a: eeb4 6bc7 vcmpe.f64 d6, d7 803341e: eef1 fa10 vmrs APSR_nzcv, fpscr 8033422: d811 bhi.n 8033448 8033424: ed97 7b86 vldr d7, [r7, #536] ; 0x218 8033428: ed9f 5b71 vldr d5, [pc, #452] ; 80335f0 803342c: ee87 6b05 vdiv.f64 d6, d7, d5 8033430: 463b mov r3, r7 8033432: ed93 7b00 vldr d7, [r3] 8033436: ee36 6b07 vadd.f64 d6, d6, d7 803343a: ed97 7b8a vldr d7, [r7, #552] ; 0x228 803343e: eeb4 6bc7 vcmpe.f64 d6, d7 8033442: eef1 fa10 vmrs APSR_nzcv, fpscr 8033446: da16 bge.n 8033476 ArrayNumber++; 8033448: f8d7 3234 ldr.w r3, [r7, #564] ; 0x234 803344c: 3301 adds r3, #1 803344e: f8c7 3234 str.w r3, [r7, #564] ; 0x234 for(LoopBeta=BetaMin; LoopBeta<=BetaMax; LoopBeta+=BetaStep) 8033452: ed97 6b8a vldr d6, [r7, #552] ; 0x228 8033456: ed97 7b86 vldr d7, [r7, #536] ; 0x218 803345a: ee36 7b07 vadd.f64 d7, d6, d7 803345e: ed87 7b8a vstr d7, [r7, #552] ; 0x228 8033462: ed97 6b8a vldr d6, [r7, #552] ; 0x228 8033466: ed97 7b84 vldr d7, [r7, #528] ; 0x210 803346a: eeb4 6bc7 vcmpe.f64 d6, d7 803346e: eef1 fa10 vmrs APSR_nzcv, fpscr 8033472: d9c5 bls.n 8033400 8033474: e000 b.n 8033478 if( LoopBeta >= Beta - BetaStep/1.9999 && LoopBeta <= Beta + BetaStep/1.9999)break; 8033476: bf00 nop } if(ArrayNumber > OuterArrayDim-1)ArrayNumber = OuterArrayDim-1; // i.e. If the array is dimensioned to N, the highest we can access is N-1 8033478: f8d7 3230 ldr.w r3, [r7, #560] ; 0x230 803347c: 1e5a subs r2, r3, #1 803347e: f8d7 3234 ldr.w r3, [r7, #564] ; 0x234 8033482: 429a cmp r2, r3 8033484: da04 bge.n 8033490 8033486: f8d7 3230 ldr.w r3, [r7, #560] ; 0x230 803348a: 3b01 subs r3, #1 803348c: f8c7 3234 str.w r3, [r7, #564] ; 0x234 // n is the array location for the given pole count. // The arrays start at 0. MinNumPoles is either 2 or 4. n = NumPoles - MinNumPoles; 8033490: f107 030c add.w r3, r7, #12 8033494: 681a ldr r2, [r3, #0] 8033496: f8d7 320c ldr.w r3, [r7, #524] ; 0x20c 803349a: 1ad3 subs r3, r2, r3 803349c: f8c7 3240 str.w r3, [r7, #576] ; 0x240 if(n < 0)n = 0; 80334a0: f8d7 3240 ldr.w r3, [r7, #576] ; 0x240 80334a4: 2b00 cmp r3, #0 80334a6: da02 bge.n 80334ae 80334a8: 2300 movs r3, #0 80334aa: f8c7 3240 str.w r3, [r7, #576] ; 0x240 // NumSections is the number of biquad sections for a given pole count. NumSections = (NumPoles + 1) / 2; 80334ae: f107 030c add.w r3, r7, #12 80334b2: 681b ldr r3, [r3, #0] 80334b4: 3301 adds r3, #1 80334b6: 2b00 cmp r3, #0 80334b8: da00 bge.n 80334bc 80334ba: 3301 adds r3, #1 80334bc: 105b asrs r3, r3, #1 80334be: f8c7 3204 str.w r3, [r7, #516] ; 0x204 p = z = 0; 80334c2: 2300 movs r3, #0 80334c4: f8c7 3238 str.w r3, [r7, #568] ; 0x238 80334c8: f8d7 3238 ldr.w r3, [r7, #568] ; 0x238 80334cc: f8c7 323c str.w r3, [r7, #572] ; 0x23c switch(FilterType) 80334d0: f107 0313 add.w r3, r7, #19 80334d4: 781b ldrb r3, [r3, #0] 80334d6: 2b04 cmp r3, #4 80334d8: f000 8086 beq.w 80335e8 80334dc: 2b05 cmp r3, #5 80334de: f000 812b beq.w 8033738 80334e2: 2b00 cmp r3, #0 80334e4: f040 81f2 bne.w 80338cc { case ftBUTTERWORTH: for(j=0; j { SPlaneCoeff.A[j] = ButterworthDenominator[n][p++]; 80334f0: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 80334f4: 1c53 adds r3, r2, #1 80334f6: f8c7 323c str.w r3, [r7, #572] ; 0x23c 80334fa: 4844 ldr r0, [pc, #272] ; (803360c ) 80334fc: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033500: 460b mov r3, r1 8033502: 011b lsls r3, r3, #4 8033504: 1a5b subs r3, r3, r1 8033506: 005b lsls r3, r3, #1 8033508: 4413 add r3, r2 803350a: 00db lsls r3, r3, #3 803350c: 4403 add r3, r0 803350e: cb18 ldmia r3, {r3, r4} 8033510: f107 0118 add.w r1, r7, #24 8033514: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033518: 00d2 lsls r2, r2, #3 803351a: 440a add r2, r1 803351c: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.B[j] = ButterworthDenominator[n][p++]; 8033520: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033524: 1c53 adds r3, r2, #1 8033526: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803352a: 4838 ldr r0, [pc, #224] ; (803360c ) 803352c: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033530: 460b mov r3, r1 8033532: 011b lsls r3, r3, #4 8033534: 1a5b subs r3, r3, r1 8033536: 005b lsls r3, r3, #1 8033538: 4413 add r3, r2 803353a: 00db lsls r3, r3, #3 803353c: 4403 add r3, r0 803353e: cb18 ldmia r3, {r3, r4} 8033540: f107 0118 add.w r1, r7, #24 8033544: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033548: 320a adds r2, #10 803354a: 00d2 lsls r2, r2, #3 803354c: 440a add r2, r1 803354e: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.C[j] = ButterworthDenominator[n][p++]; 8033552: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033556: 1c53 adds r3, r2, #1 8033558: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803355c: 482b ldr r0, [pc, #172] ; (803360c ) 803355e: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033562: 460b mov r3, r1 8033564: 011b lsls r3, r3, #4 8033566: 1a5b subs r3, r3, r1 8033568: 005b lsls r3, r3, #1 803356a: 4413 add r3, r2 803356c: 00db lsls r3, r3, #3 803356e: 4403 add r3, r0 8033570: cb18 ldmia r3, {r3, r4} 8033572: f107 0118 add.w r1, r7, #24 8033576: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 803357a: 3214 adds r2, #20 803357c: 00d2 lsls r2, r2, #3 803357e: 440a add r2, r1 8033580: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.D[j] = 0.0; 8033584: f107 0218 add.w r2, r7, #24 8033588: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 803358c: 331e adds r3, #30 803358e: 00db lsls r3, r3, #3 8033590: 441a add r2, r3 8033592: f04f 0300 mov.w r3, #0 8033596: f04f 0400 mov.w r4, #0 803359a: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.E[j] = 0.0; 803359e: f107 0218 add.w r2, r7, #24 80335a2: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 80335a6: 3328 adds r3, #40 ; 0x28 80335a8: 00db lsls r3, r3, #3 80335aa: 441a add r2, r3 80335ac: f04f 0300 mov.w r3, #0 80335b0: f04f 0400 mov.w r4, #0 80335b4: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.F[j] = 1.0; 80335b8: f107 0218 add.w r2, r7, #24 80335bc: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 80335c0: 3332 adds r3, #50 ; 0x32 80335c2: 00db lsls r3, r3, #3 80335c4: 441a add r2, r3 80335c6: f04f 0300 mov.w r3, #0 80335ca: 4c11 ldr r4, [pc, #68] ; (8033610 ) 80335cc: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } break; 80335e6: e171 b.n 80338cc case ftCHEBYSHEV: for(j=0; j 80335f0: 2474538f .word 0x2474538f 80335f4: 3fffff97 .word 0x3fffff97 80335f8: 080d7f60 .word 0x080d7f60 80335fc: 080d7fe8 .word 0x080d7fe8 8033600: 080d8070 .word 0x080d8070 8033604: 080d80f8 .word 0x080d80f8 8033608: 080d8180 .word 0x080d8180 803360c: 080d8208 .word 0x080d8208 8033610: 3ff00000 .word 0x3ff00000 { SPlaneCoeff.A[j] = ChebyshevDenominator[ArrayNumber][n][p++]; 8033614: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033618: 1c53 adds r3, r2, #1 803361a: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803361e: 4cb8 ldr r4, [pc, #736] ; (8033900 ) 8033620: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033624: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033628: 460b mov r3, r1 803362a: 011b lsls r3, r3, #4 803362c: 1a5b subs r3, r3, r1 803362e: 005b lsls r3, r3, #1 8033630: f44f 7187 mov.w r1, #270 ; 0x10e 8033634: fb01 f100 mul.w r1, r1, r0 8033638: 440b add r3, r1 803363a: 4413 add r3, r2 803363c: 00db lsls r3, r3, #3 803363e: 4423 add r3, r4 8033640: cb18 ldmia r3, {r3, r4} 8033642: f107 0118 add.w r1, r7, #24 8033646: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 803364a: 00d2 lsls r2, r2, #3 803364c: 440a add r2, r1 803364e: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.B[j] = ChebyshevDenominator[ArrayNumber][n][p++]; 8033652: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033656: 1c53 adds r3, r2, #1 8033658: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803365c: 4ca8 ldr r4, [pc, #672] ; (8033900 ) 803365e: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033662: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033666: 460b mov r3, r1 8033668: 011b lsls r3, r3, #4 803366a: 1a5b subs r3, r3, r1 803366c: 005b lsls r3, r3, #1 803366e: f44f 7187 mov.w r1, #270 ; 0x10e 8033672: fb01 f100 mul.w r1, r1, r0 8033676: 440b add r3, r1 8033678: 4413 add r3, r2 803367a: 00db lsls r3, r3, #3 803367c: 4423 add r3, r4 803367e: cb18 ldmia r3, {r3, r4} 8033680: f107 0118 add.w r1, r7, #24 8033684: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033688: 320a adds r2, #10 803368a: 00d2 lsls r2, r2, #3 803368c: 440a add r2, r1 803368e: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.C[j] = ChebyshevDenominator[ArrayNumber][n][p++]; 8033692: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033696: 1c53 adds r3, r2, #1 8033698: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803369c: 4c98 ldr r4, [pc, #608] ; (8033900 ) 803369e: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 80336a2: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 80336a6: 460b mov r3, r1 80336a8: 011b lsls r3, r3, #4 80336aa: 1a5b subs r3, r3, r1 80336ac: 005b lsls r3, r3, #1 80336ae: f44f 7187 mov.w r1, #270 ; 0x10e 80336b2: fb01 f100 mul.w r1, r1, r0 80336b6: 440b add r3, r1 80336b8: 4413 add r3, r2 80336ba: 00db lsls r3, r3, #3 80336bc: 4423 add r3, r4 80336be: cb18 ldmia r3, {r3, r4} 80336c0: f107 0118 add.w r1, r7, #24 80336c4: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 80336c8: 3214 adds r2, #20 80336ca: 00d2 lsls r2, r2, #3 80336cc: 440a add r2, r1 80336ce: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.D[j] = 0.0; 80336d2: f107 0218 add.w r2, r7, #24 80336d6: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 80336da: 331e adds r3, #30 80336dc: 00db lsls r3, r3, #3 80336de: 441a add r2, r3 80336e0: f04f 0300 mov.w r3, #0 80336e4: f04f 0400 mov.w r4, #0 80336e8: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.E[j] = 0.0; 80336ec: f107 0218 add.w r2, r7, #24 80336f0: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 80336f4: 3328 adds r3, #40 ; 0x28 80336f6: 00db lsls r3, r3, #3 80336f8: 441a add r2, r3 80336fa: f04f 0300 mov.w r3, #0 80336fe: f04f 0400 mov.w r4, #0 8033702: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.F[j] = 1.0; 8033706: f107 0218 add.w r2, r7, #24 803370a: f8d7 3244 ldr.w r3, [r7, #580] ; 0x244 803370e: 3332 adds r3, #50 ; 0x32 8033710: 00db lsls r3, r3, #3 8033712: 441a add r2, r3 8033714: f04f 0300 mov.w r3, #0 8033718: 4c7a ldr r4, [pc, #488] ; (8033904 ) 803371a: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } break; 8033736: e0c9 b.n 80338cc case ftINVERSE_CHEBY: for(j=0; j { SPlaneCoeff.A[j] = InvChebyDenominator[ArrayNumber][n][p++]; 8033740: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033744: 1c53 adds r3, r2, #1 8033746: f8c7 323c str.w r3, [r7, #572] ; 0x23c 803374a: 4c6f ldr r4, [pc, #444] ; (8033908 ) 803374c: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033750: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033754: 460b mov r3, r1 8033756: 005b lsls r3, r3, #1 8033758: 440b add r3, r1 803375a: 00db lsls r3, r3, #3 803375c: 21d8 movs r1, #216 ; 0xd8 803375e: fb01 f100 mul.w r1, r1, r0 8033762: 440b add r3, r1 8033764: 4413 add r3, r2 8033766: 00db lsls r3, r3, #3 8033768: 4423 add r3, r4 803376a: cb18 ldmia r3, {r3, r4} 803376c: f107 0118 add.w r1, r7, #24 8033770: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 8033774: 00d2 lsls r2, r2, #3 8033776: 440a add r2, r1 8033778: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.B[j] = InvChebyDenominator[ArrayNumber][n][p++]; 803377c: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 8033780: 1c53 adds r3, r2, #1 8033782: f8c7 323c str.w r3, [r7, #572] ; 0x23c 8033786: 4c60 ldr r4, [pc, #384] ; (8033908 ) 8033788: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 803378c: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033790: 460b mov r3, r1 8033792: 005b lsls r3, r3, #1 8033794: 440b add r3, r1 8033796: 00db lsls r3, r3, #3 8033798: 21d8 movs r1, #216 ; 0xd8 803379a: fb01 f100 mul.w r1, r1, r0 803379e: 440b add r3, r1 80337a0: 4413 add r3, r2 80337a2: 00db lsls r3, r3, #3 80337a4: 4423 add r3, r4 80337a6: cb18 ldmia r3, {r3, r4} 80337a8: f107 0118 add.w r1, r7, #24 80337ac: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 80337b0: 320a adds r2, #10 80337b2: 00d2 lsls r2, r2, #3 80337b4: 440a add r2, r1 80337b6: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.C[j] = InvChebyDenominator[ArrayNumber][n][p++]; 80337ba: f8d7 223c ldr.w r2, [r7, #572] ; 0x23c 80337be: 1c53 adds r3, r2, #1 80337c0: f8c7 323c str.w r3, [r7, #572] ; 0x23c 80337c4: 4c50 ldr r4, [pc, #320] ; (8033908 ) 80337c6: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 80337ca: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 80337ce: 460b mov r3, r1 80337d0: 005b lsls r3, r3, #1 80337d2: 440b add r3, r1 80337d4: 00db lsls r3, r3, #3 80337d6: 21d8 movs r1, #216 ; 0xd8 80337d8: fb01 f100 mul.w r1, r1, r0 80337dc: 440b add r3, r1 80337de: 4413 add r3, r2 80337e0: 00db lsls r3, r3, #3 80337e2: 4423 add r3, r4 80337e4: cb18 ldmia r3, {r3, r4} 80337e6: f107 0118 add.w r1, r7, #24 80337ea: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 80337ee: 3214 adds r2, #20 80337f0: 00d2 lsls r2, r2, #3 80337f2: 440a add r2, r1 80337f4: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.D[j] = InvChebyNumerator[ArrayNumber][n][z++]; 80337f8: f8d7 2238 ldr.w r2, [r7, #568] ; 0x238 80337fc: 1c53 adds r3, r2, #1 80337fe: f8c7 3238 str.w r3, [r7, #568] ; 0x238 8033802: 4c42 ldr r4, [pc, #264] ; (803390c ) 8033804: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033808: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 803380c: 460b mov r3, r1 803380e: 005b lsls r3, r3, #1 8033810: 440b add r3, r1 8033812: 00db lsls r3, r3, #3 8033814: 21d8 movs r1, #216 ; 0xd8 8033816: fb01 f100 mul.w r1, r1, r0 803381a: 440b add r3, r1 803381c: 4413 add r3, r2 803381e: 00db lsls r3, r3, #3 8033820: 4423 add r3, r4 8033822: cb18 ldmia r3, {r3, r4} 8033824: f107 0118 add.w r1, r7, #24 8033828: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 803382c: 321e adds r2, #30 803382e: 00d2 lsls r2, r2, #3 8033830: 440a add r2, r1 8033832: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.E[j] = InvChebyNumerator[ArrayNumber][n][z++]; 8033836: f8d7 2238 ldr.w r2, [r7, #568] ; 0x238 803383a: 1c53 adds r3, r2, #1 803383c: f8c7 3238 str.w r3, [r7, #568] ; 0x238 8033840: 4c32 ldr r4, [pc, #200] ; (803390c ) 8033842: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033846: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 803384a: 460b mov r3, r1 803384c: 005b lsls r3, r3, #1 803384e: 440b add r3, r1 8033850: 00db lsls r3, r3, #3 8033852: 21d8 movs r1, #216 ; 0xd8 8033854: fb01 f100 mul.w r1, r1, r0 8033858: 440b add r3, r1 803385a: 4413 add r3, r2 803385c: 00db lsls r3, r3, #3 803385e: 4423 add r3, r4 8033860: cb18 ldmia r3, {r3, r4} 8033862: f107 0118 add.w r1, r7, #24 8033866: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 803386a: 3228 adds r2, #40 ; 0x28 803386c: 00d2 lsls r2, r2, #3 803386e: 440a add r2, r1 8033870: e882 0018 stmia.w r2, {r3, r4} SPlaneCoeff.F[j] = InvChebyNumerator[ArrayNumber][n][z++]; 8033874: f8d7 2238 ldr.w r2, [r7, #568] ; 0x238 8033878: 1c53 adds r3, r2, #1 803387a: f8c7 3238 str.w r3, [r7, #568] ; 0x238 803387e: 4c23 ldr r4, [pc, #140] ; (803390c ) 8033880: f8d7 1240 ldr.w r1, [r7, #576] ; 0x240 8033884: f8d7 0234 ldr.w r0, [r7, #564] ; 0x234 8033888: 460b mov r3, r1 803388a: 005b lsls r3, r3, #1 803388c: 440b add r3, r1 803388e: 00db lsls r3, r3, #3 8033890: 21d8 movs r1, #216 ; 0xd8 8033892: fb01 f100 mul.w r1, r1, r0 8033896: 440b add r3, r1 8033898: 4413 add r3, r2 803389a: 00db lsls r3, r3, #3 803389c: 4423 add r3, r4 803389e: cb18 ldmia r3, {r3, r4} 80338a0: f107 0118 add.w r1, r7, #24 80338a4: f8d7 2244 ldr.w r2, [r7, #580] ; 0x244 80338a8: 3232 adds r2, #50 ; 0x32 80338aa: 00d2 lsls r2, r2, #3 80338ac: 440a add r2, r1 80338ae: e882 0018 stmia.w r2, {r3, r4} for(j=0; j } break; 80338ca: bf00 nop } SPlaneCoeff.NumSections = NumSections; 80338cc: f107 0318 add.w r3, r7, #24 80338d0: f8d7 2204 ldr.w r2, [r7, #516] ; 0x204 80338d4: f8c3 21e0 str.w r2, [r3, #480] ; 0x1e0 return(SPlaneCoeff); 80338d8: f107 0314 add.w r3, r7, #20 80338dc: 681a ldr r2, [r3, #0] 80338de: f107 0318 add.w r3, r7, #24 80338e2: 4610 mov r0, r2 80338e4: 4619 mov r1, r3 80338e6: f44f 73f4 mov.w r3, #488 ; 0x1e8 80338ea: 461a mov r2, r3 80338ec: f099 fbbd bl 80cd06a } 80338f0: f107 0314 add.w r3, r7, #20 80338f4: 6818 ldr r0, [r3, #0] 80338f6: f507 7713 add.w r7, r7, #588 ; 0x24c 80338fa: 46bd mov sp, r7 80338fc: bd90 pop {r4, r7, pc} 80338fe: bf00 nop 8033900: 080d8a78 .word 0x080d8a78 8033904: 3ff00000 .word 0x3ff00000 8033908: 080de748 .word 0x080de748 803390c: 080e6788 .word 0x080e6788 08033910 : int QuadCubicRoots(int N, double *Coeff, double *RootsReal, double *RootsImag) { 8033910: b590 push {r4, r7, lr} 8033912: b0a1 sub sp, #132 ; 0x84 8033914: af00 add r7, sp, #0 8033916: 60f8 str r0, [r7, #12] 8033918: 60b9 str r1, [r7, #8] 803391a: 607a str r2, [r7, #4] 803391c: 603b str r3, [r7, #0] if(N <= 1 || N > 4) 803391e: 68fb ldr r3, [r7, #12] 8033920: 2b01 cmp r3, #1 8033922: dd02 ble.n 803392a 8033924: 68fb ldr r3, [r7, #12] 8033926: 2b04 cmp r3, #4 8033928: dd01 ble.n 803392e { return(0); 803392a: 2300 movs r3, #0 803392c: e13b b.n 8033ba6 int j, k; long double P[5], RealRoot[4], ImagRoot[4]; // Must init to zero, in case N is reduced. for(j=0; j<4; j++)RealRoot[j] = ImagRoot[j] = 0.0; 803392e: 2300 movs r3, #0 8033930: 67fb str r3, [r7, #124] ; 0x7c 8033932: e01e b.n 8033972 8033934: 6ffb ldr r3, [r7, #124] ; 0x7c 8033936: 00db lsls r3, r3, #3 8033938: f107 0280 add.w r2, r7, #128 ; 0x80 803393c: 4413 add r3, r2 803393e: f1a3 0270 sub.w r2, r3, #112 ; 0x70 8033942: f04f 0300 mov.w r3, #0 8033946: f04f 0400 mov.w r4, #0 803394a: e882 0018 stmia.w r2, {r3, r4} 803394e: 6ffb ldr r3, [r7, #124] ; 0x7c 8033950: 00db lsls r3, r3, #3 8033952: f107 0280 add.w r2, r7, #128 ; 0x80 8033956: 4413 add r3, r2 8033958: 3b70 subs r3, #112 ; 0x70 803395a: cb18 ldmia r3, {r3, r4} 803395c: 6ffa ldr r2, [r7, #124] ; 0x7c 803395e: 00d2 lsls r2, r2, #3 8033960: f107 0180 add.w r1, r7, #128 ; 0x80 8033964: 440a add r2, r1 8033966: 3a50 subs r2, #80 ; 0x50 8033968: e882 0018 stmia.w r2, {r3, r4} 803396c: 6ffb ldr r3, [r7, #124] ; 0x7c 803396e: 3301 adds r3, #1 8033970: 67fb str r3, [r7, #124] ; 0x7c 8033972: 6ffb ldr r3, [r7, #124] ; 0x7c 8033974: 2b03 cmp r3, #3 8033976: dddd ble.n 8033934 for(j=0; j<5; j++)P[j] = 0.0; 8033978: 2300 movs r3, #0 803397a: 67fb str r3, [r7, #124] ; 0x7c 803397c: e00f b.n 803399e 803397e: 6ffb ldr r3, [r7, #124] ; 0x7c 8033980: 00db lsls r3, r3, #3 8033982: f107 0280 add.w r2, r7, #128 ; 0x80 8033986: 4413 add r3, r2 8033988: f1a3 0230 sub.w r2, r3, #48 ; 0x30 803398c: f04f 0300 mov.w r3, #0 8033990: f04f 0400 mov.w r4, #0 8033994: e882 0018 stmia.w r2, {r3, r4} 8033998: 6ffb ldr r3, [r7, #124] ; 0x7c 803399a: 3301 adds r3, #1 803399c: 67fb str r3, [r7, #124] ; 0x7c 803399e: 6ffb ldr r3, [r7, #124] ; 0x7c 80339a0: 2b04 cmp r3, #4 80339a2: ddec ble.n 803397e // Reduce the order if there are trailing zeros. for(k=N; k>=0; k--) 80339a4: 68fb ldr r3, [r7, #12] 80339a6: 67bb str r3, [r7, #120] ; 0x78 80339a8: e01e b.n 80339e8 { if(fabs(Coeff[k]) > ZERO_PLUS)break; // break on the 1st nonzero coeff 80339aa: 6fbb ldr r3, [r7, #120] ; 0x78 80339ac: 00db lsls r3, r3, #3 80339ae: 68ba ldr r2, [r7, #8] 80339b0: 4413 add r3, r2 80339b2: ed93 7b00 vldr d7, [r3] 80339b6: eeb0 7bc7 vabs.f64 d7, d7 80339ba: ed9f 6b7d vldr d6, [pc, #500] ; 8033bb0 80339be: eeb4 7bc6 vcmpe.f64 d7, d6 80339c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80339c6: dc13 bgt.n 80339f0 Coeff[k] = 0.0; 80339c8: 6fbb ldr r3, [r7, #120] ; 0x78 80339ca: 00db lsls r3, r3, #3 80339cc: 68ba ldr r2, [r7, #8] 80339ce: 441a add r2, r3 80339d0: f04f 0300 mov.w r3, #0 80339d4: f04f 0400 mov.w r4, #0 80339d8: e882 0018 stmia.w r2, {r3, r4} N--; 80339dc: 68fb ldr r3, [r7, #12] 80339de: 3b01 subs r3, #1 80339e0: 60fb str r3, [r7, #12] for(k=N; k>=0; k--) 80339e2: 6fbb ldr r3, [r7, #120] ; 0x78 80339e4: 3b01 subs r3, #1 80339e6: 67bb str r3, [r7, #120] ; 0x78 80339e8: 6fbb ldr r3, [r7, #120] ; 0x78 80339ea: 2b00 cmp r3, #0 80339ec: dadd bge.n 80339aa 80339ee: e024 b.n 8033a3a if(fabs(Coeff[k]) > ZERO_PLUS)break; // break on the 1st nonzero coeff 80339f0: bf00 nop } // Mandatory to remove leading zeros. while( fabs(Coeff[0]) < ZERO_PLUS && N>0) 80339f2: e022 b.n 8033a3a { for(k=0; k { Coeff[k] = Coeff[k+1]; 80339fa: 6fbb ldr r3, [r7, #120] ; 0x78 80339fc: 00db lsls r3, r3, #3 80339fe: 68ba ldr r2, [r7, #8] 8033a00: 441a add r2, r3 8033a02: 6fbb ldr r3, [r7, #120] ; 0x78 8033a04: 3301 adds r3, #1 8033a06: 00db lsls r3, r3, #3 8033a08: 68b9 ldr r1, [r7, #8] 8033a0a: 440b add r3, r1 8033a0c: cb18 ldmia r3, {r3, r4} 8033a0e: e882 0018 stmia.w r2, {r3, r4} for(k=0; k } Coeff[N] = 0.0; 8033a20: 68fb ldr r3, [r7, #12] 8033a22: 00db lsls r3, r3, #3 8033a24: 68ba ldr r2, [r7, #8] 8033a26: 441a add r2, r3 8033a28: f04f 0300 mov.w r3, #0 8033a2c: f04f 0400 mov.w r4, #0 8033a30: e882 0018 stmia.w r2, {r3, r4} N--; 8033a34: 68fb ldr r3, [r7, #12] 8033a36: 3b01 subs r3, #1 8033a38: 60fb str r3, [r7, #12] while( fabs(Coeff[0]) < ZERO_PLUS && N>0) 8033a3a: 68bb ldr r3, [r7, #8] 8033a3c: ed93 7b00 vldr d7, [r3] 8033a40: eeb0 7bc7 vabs.f64 d7, d7 8033a44: ed9f 6b5a vldr d6, [pc, #360] ; 8033bb0 8033a48: eeb4 7bc6 vcmpe.f64 d7, d6 8033a4c: eef1 fa10 vmrs APSR_nzcv, fpscr 8033a50: d502 bpl.n 8033a58 8033a52: 68fb ldr r3, [r7, #12] 8033a54: 2b00 cmp r3, #0 8033a56: dccd bgt.n 80339f4 } // The functions below modify the coeff array, so we pass P instead of Coeff. for(j=0; j<=N; j++)P[j] = Coeff[j]; 8033a58: 2300 movs r3, #0 8033a5a: 67fb str r3, [r7, #124] ; 0x7c 8033a5c: e00f b.n 8033a7e 8033a5e: 6ffb ldr r3, [r7, #124] ; 0x7c 8033a60: 00db lsls r3, r3, #3 8033a62: 68ba ldr r2, [r7, #8] 8033a64: 4413 add r3, r2 8033a66: cb18 ldmia r3, {r3, r4} 8033a68: 6ffa ldr r2, [r7, #124] ; 0x7c 8033a6a: 00d2 lsls r2, r2, #3 8033a6c: f107 0180 add.w r1, r7, #128 ; 0x80 8033a70: 440a add r2, r1 8033a72: 3a30 subs r2, #48 ; 0x30 8033a74: e882 0018 stmia.w r2, {r3, r4} 8033a78: 6ffb ldr r3, [r7, #124] ; 0x7c 8033a7a: 3301 adds r3, #1 8033a7c: 67fb str r3, [r7, #124] ; 0x7c 8033a7e: 6ffa ldr r2, [r7, #124] ; 0x7c 8033a80: 68fb ldr r3, [r7, #12] 8033a82: 429a cmp r2, r3 8033a84: ddeb ble.n 8033a5e // Mandatory to normalize the coefficients if(P[0] != 1.0) 8033a86: ed97 7b14 vldr d7, [r7, #80] ; 0x50 8033a8a: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 8033a8e: eeb4 7b46 vcmp.f64 d7, d6 8033a92: eef1 fa10 vmrs APSR_nzcv, fpscr 8033a96: d022 beq.n 8033ade { for(k=1; k<=N; k++) 8033a98: 2301 movs r3, #1 8033a9a: 67bb str r3, [r7, #120] ; 0x78 8033a9c: e016 b.n 8033acc { P[k] /= P[0]; 8033a9e: 6fbb ldr r3, [r7, #120] ; 0x78 8033aa0: 00db lsls r3, r3, #3 8033aa2: f107 0280 add.w r2, r7, #128 ; 0x80 8033aa6: 4413 add r3, r2 8033aa8: 3b30 subs r3, #48 ; 0x30 8033aaa: ed93 5b00 vldr d5, [r3] 8033aae: ed97 6b14 vldr d6, [r7, #80] ; 0x50 8033ab2: ee85 7b06 vdiv.f64 d7, d5, d6 8033ab6: 6fbb ldr r3, [r7, #120] ; 0x78 8033ab8: 00db lsls r3, r3, #3 8033aba: f107 0280 add.w r2, r7, #128 ; 0x80 8033abe: 4413 add r3, r2 8033ac0: 3b30 subs r3, #48 ; 0x30 8033ac2: ed83 7b00 vstr d7, [r3] for(k=1; k<=N; k++) 8033ac6: 6fbb ldr r3, [r7, #120] ; 0x78 8033ac8: 3301 adds r3, #1 8033aca: 67bb str r3, [r7, #120] ; 0x78 8033acc: 6fba ldr r2, [r7, #120] ; 0x78 8033ace: 68fb ldr r3, [r7, #12] 8033ad0: 429a cmp r2, r3 8033ad2: dde4 ble.n 8033a9e } P[0] = 1.0; 8033ad4: f04f 0300 mov.w r3, #0 8033ad8: 4c37 ldr r4, [pc, #220] ; (8033bb8 ) 8033ada: e9c7 3414 strd r3, r4, [r7, #80] ; 0x50 } if(N==4)BiQuadRoots(P, RealRoot, ImagRoot); 8033ade: 68fb ldr r3, [r7, #12] 8033ae0: 2b04 cmp r3, #4 8033ae2: d108 bne.n 8033af6 8033ae4: f107 0210 add.w r2, r7, #16 8033ae8: f107 0130 add.w r1, r7, #48 ; 0x30 8033aec: f107 0350 add.w r3, r7, #80 ; 0x50 8033af0: 4618 mov r0, r3 8033af2: f000 fba5 bl 8034240 if(N==3)CubicRoots(P, RealRoot, ImagRoot); 8033af6: 68fb ldr r3, [r7, #12] 8033af8: 2b03 cmp r3, #3 8033afa: d108 bne.n 8033b0e 8033afc: f107 0210 add.w r2, r7, #16 8033b00: f107 0130 add.w r1, r7, #48 ; 0x30 8033b04: f107 0350 add.w r3, r7, #80 ; 0x50 8033b08: 4618 mov r0, r3 8033b0a: f000 f915 bl 8033d38 if(N==2)QuadRoots(P, RealRoot, ImagRoot); 8033b0e: 68fb ldr r3, [r7, #12] 8033b10: 2b02 cmp r3, #2 8033b12: d108 bne.n 8033b26 8033b14: f107 0210 add.w r2, r7, #16 8033b18: f107 0130 add.w r1, r7, #48 ; 0x30 8033b1c: f107 0350 add.w r3, r7, #80 ; 0x50 8033b20: 4618 mov r0, r3 8033b22: f000 f84d bl 8033bc0 if(N==1) 8033b26: 68fb ldr r3, [r7, #12] 8033b28: 2b01 cmp r3, #1 8033b2a: d10f bne.n 8033b4c { RealRoot[0] = -P[1]/P[0]; 8033b2c: ed97 7b16 vldr d7, [r7, #88] ; 0x58 8033b30: eeb1 5b47 vneg.f64 d5, d7 8033b34: ed97 6b14 vldr d6, [r7, #80] ; 0x50 8033b38: ee85 7b06 vdiv.f64 d7, d5, d6 8033b3c: ed87 7b0c vstr d7, [r7, #48] ; 0x30 ImagRoot[0] = 0.0; 8033b40: f04f 0300 mov.w r3, #0 8033b44: f04f 0400 mov.w r4, #0 8033b48: e9c7 3404 strd r3, r4, [r7, #16] } // We used separate long double arrays in the function calls for interface reasons. // if N==0 all zeros are returned (we init RealRoot and ImagRoot to 0). // for(j=0; j<4; j++)Roots[j] = ComplexD(RealRoot[j], ImagRoot[j]); for(j=0; j<4; j++)RootsReal[j] = RealRoot[j]; 8033b4c: 2300 movs r3, #0 8033b4e: 67fb str r3, [r7, #124] ; 0x7c 8033b50: e00f b.n 8033b72 8033b52: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b54: 00db lsls r3, r3, #3 8033b56: 687a ldr r2, [r7, #4] 8033b58: 441a add r2, r3 8033b5a: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b5c: 00db lsls r3, r3, #3 8033b5e: f107 0180 add.w r1, r7, #128 ; 0x80 8033b62: 440b add r3, r1 8033b64: 3b50 subs r3, #80 ; 0x50 8033b66: cb18 ldmia r3, {r3, r4} 8033b68: e882 0018 stmia.w r2, {r3, r4} 8033b6c: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b6e: 3301 adds r3, #1 8033b70: 67fb str r3, [r7, #124] ; 0x7c 8033b72: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b74: 2b03 cmp r3, #3 8033b76: ddec ble.n 8033b52 for(j=0; j<4; j++)RootsImag[j] = ImagRoot[j]; 8033b78: 2300 movs r3, #0 8033b7a: 67fb str r3, [r7, #124] ; 0x7c 8033b7c: e00f b.n 8033b9e 8033b7e: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b80: 00db lsls r3, r3, #3 8033b82: 683a ldr r2, [r7, #0] 8033b84: 441a add r2, r3 8033b86: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b88: 00db lsls r3, r3, #3 8033b8a: f107 0180 add.w r1, r7, #128 ; 0x80 8033b8e: 440b add r3, r1 8033b90: 3b70 subs r3, #112 ; 0x70 8033b92: cb18 ldmia r3, {r3, r4} 8033b94: e882 0018 stmia.w r2, {r3, r4} 8033b98: 6ffb ldr r3, [r7, #124] ; 0x7c 8033b9a: 3301 adds r3, #1 8033b9c: 67fb str r3, [r7, #124] ; 0x7c 8033b9e: 6ffb ldr r3, [r7, #124] ; 0x7c 8033ba0: 2b03 cmp r3, #3 8033ba2: ddec ble.n 8033b7e return(N); 8033ba4: 68fb ldr r3, [r7, #12] } 8033ba6: 4618 mov r0, r3 8033ba8: 3784 adds r7, #132 ; 0x84 8033baa: 46bd mov sp, r7 8033bac: bd90 pop {r4, r7, pc} 8033bae: bf00 nop 8033bb0: 00000000 .word 0x00000000 8033bb4: 3cd00000 .word 0x3cd00000 8033bb8: 3ff00000 .word 0x3ff00000 8033bbc: 00000000 .word 0x00000000 08033bc0 : //--------------------------------------------------------------------------- // This function is the quadratic formula with P[0] = 1 // y = P[0]*x^2 + P[1]*x + P[2] void QuadRoots(long double *P, long double *RealRoot, long double *ImagRoot) { 8033bc0: b590 push {r4, r7, lr} 8033bc2: ed2d 8b02 vpush {d8} 8033bc6: b087 sub sp, #28 8033bc8: af00 add r7, sp, #0 8033bca: 60f8 str r0, [r7, #12] 8033bcc: 60b9 str r1, [r7, #8] 8033bce: 607a str r2, [r7, #4] long double g; g = P[1]*P[1] - 4.0*P[2]; 8033bd0: 68fb ldr r3, [r7, #12] 8033bd2: 3308 adds r3, #8 8033bd4: ed93 6b00 vldr d6, [r3] 8033bd8: 68fb ldr r3, [r7, #12] 8033bda: 3308 adds r3, #8 8033bdc: ed93 7b00 vldr d7, [r3] 8033be0: ee26 6b07 vmul.f64 d6, d6, d7 8033be4: 68fb ldr r3, [r7, #12] 8033be6: 3310 adds r3, #16 8033be8: ed93 7b00 vldr d7, [r3] 8033bec: eeb1 5b00 vmov.f64 d5, #16 ; 0x40800000 4.0 8033bf0: ee27 7b05 vmul.f64 d7, d7, d5 8033bf4: ee36 7b47 vsub.f64 d7, d6, d7 8033bf8: ed87 7b04 vstr d7, [r7, #16] if(fabsl(g) < ZERO_PLUS)g = 0.0; 8033bfc: ed97 7b04 vldr d7, [r7, #16] 8033c00: eeb0 7bc7 vabs.f64 d7, d7 8033c04: ed9f 6b4a vldr d6, [pc, #296] ; 8033d30 8033c08: eeb4 7bc6 vcmpe.f64 d7, d6 8033c0c: eef1 fa10 vmrs APSR_nzcv, fpscr 8033c10: d505 bpl.n 8033c1e 8033c12: f04f 0300 mov.w r3, #0 8033c16: f04f 0400 mov.w r4, #0 8033c1a: e9c7 3404 strd r3, r4, [r7, #16] if(g >= 0.0) // 2 real roots 8033c1e: ed97 7b04 vldr d7, [r7, #16] 8033c22: eeb5 7bc0 vcmpe.f64 d7, #0.0 8033c26: eef1 fa10 vmrs APSR_nzcv, fpscr 8033c2a: db3a blt.n 8033ca2 { RealRoot[0] = (-P[1] + sqrtl(g)) / 2.0; 8033c2c: ed97 0b04 vldr d0, [r7, #16] 8033c30: f097 f850 bl 80cacd4 8033c34: eeb0 6b40 vmov.f64 d6, d0 8033c38: 68fb ldr r3, [r7, #12] 8033c3a: 3308 adds r3, #8 8033c3c: ed93 7b00 vldr d7, [r3] 8033c40: ee36 6b47 vsub.f64 d6, d6, d7 8033c44: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8033c48: ee86 7b05 vdiv.f64 d7, d6, d5 8033c4c: 68bb ldr r3, [r7, #8] 8033c4e: ed83 7b00 vstr d7, [r3] RealRoot[1] = (-P[1] - sqrtl(g)) / 2.0; 8033c52: 68bb ldr r3, [r7, #8] 8033c54: f103 0408 add.w r4, r3, #8 8033c58: 68fb ldr r3, [r7, #12] 8033c5a: 3308 adds r3, #8 8033c5c: ed93 7b00 vldr d7, [r3] 8033c60: eeb1 8b47 vneg.f64 d8, d7 8033c64: ed97 0b04 vldr d0, [r7, #16] 8033c68: f097 f834 bl 80cacd4 8033c6c: eeb0 7b40 vmov.f64 d7, d0 8033c70: ee38 6b47 vsub.f64 d6, d8, d7 8033c74: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8033c78: ee86 7b05 vdiv.f64 d7, d6, d5 8033c7c: ed84 7b00 vstr d7, [r4] ImagRoot[0] = 0.0; 8033c80: 687a ldr r2, [r7, #4] 8033c82: f04f 0300 mov.w r3, #0 8033c86: f04f 0400 mov.w r4, #0 8033c8a: e882 0018 stmia.w r2, {r3, r4} ImagRoot[1] = 0.0; 8033c8e: 687b ldr r3, [r7, #4] 8033c90: f103 0208 add.w r2, r3, #8 8033c94: f04f 0300 mov.w r3, #0 8033c98: f04f 0400 mov.w r4, #0 8033c9c: e882 0018 stmia.w r2, {r3, r4} RealRoot[0] = -P[1] / 2.0; RealRoot[1] = -P[1] / 2.0; ImagRoot[0] = sqrtl(-g) / 2.0; ImagRoot[1] = -sqrtl(-g) / 2.0; } } 8033ca0: e040 b.n 8033d24 RealRoot[0] = -P[1] / 2.0; 8033ca2: 68fb ldr r3, [r7, #12] 8033ca4: 3308 adds r3, #8 8033ca6: ed93 7b00 vldr d7, [r3] 8033caa: eeb1 6b47 vneg.f64 d6, d7 8033cae: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8033cb2: ee86 7b05 vdiv.f64 d7, d6, d5 8033cb6: 68bb ldr r3, [r7, #8] 8033cb8: ed83 7b00 vstr d7, [r3] RealRoot[1] = -P[1] / 2.0; 8033cbc: 68bb ldr r3, [r7, #8] 8033cbe: 3308 adds r3, #8 8033cc0: 68fa ldr r2, [r7, #12] 8033cc2: 3208 adds r2, #8 8033cc4: ed92 7b00 vldr d7, [r2] 8033cc8: eeb1 6b47 vneg.f64 d6, d7 8033ccc: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8033cd0: ee86 7b05 vdiv.f64 d7, d6, d5 8033cd4: ed83 7b00 vstr d7, [r3] ImagRoot[0] = sqrtl(-g) / 2.0; 8033cd8: ed97 7b04 vldr d7, [r7, #16] 8033cdc: eeb1 7b47 vneg.f64 d7, d7 8033ce0: eeb0 0b47 vmov.f64 d0, d7 8033ce4: f096 fff6 bl 80cacd4 8033ce8: eeb0 5b40 vmov.f64 d5, d0 8033cec: eeb0 6b00 vmov.f64 d6, #0 ; 0x40000000 2.0 8033cf0: ee85 7b06 vdiv.f64 d7, d5, d6 8033cf4: 687b ldr r3, [r7, #4] 8033cf6: ed83 7b00 vstr d7, [r3] ImagRoot[1] = -sqrtl(-g) / 2.0; 8033cfa: 687b ldr r3, [r7, #4] 8033cfc: f103 0408 add.w r4, r3, #8 8033d00: ed97 7b04 vldr d7, [r7, #16] 8033d04: eeb1 7b47 vneg.f64 d7, d7 8033d08: eeb0 0b47 vmov.f64 d0, d7 8033d0c: f096 ffe2 bl 80cacd4 8033d10: eeb0 7b40 vmov.f64 d7, d0 8033d14: eeb1 6b47 vneg.f64 d6, d7 8033d18: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8033d1c: ee86 7b05 vdiv.f64 d7, d6, d5 8033d20: ed84 7b00 vstr d7, [r4] } 8033d24: bf00 nop 8033d26: 371c adds r7, #28 8033d28: 46bd mov sp, r7 8033d2a: ecbd 8b02 vpop {d8} 8033d2e: bd90 pop {r4, r7, pc} 8033d30: 00000000 .word 0x00000000 8033d34: 3cd00000 .word 0x3cd00000 08033d38 : //--------------------------------------------------------------------------- // This finds the roots of y = P0x^3 + P1x^2 + P2x+ P3 P[0] = 1 // The return value indicates the location of the largest positive root which is used by BiQuadRoots. int CubicRoots(long double *P, long double *RealRoot, long double *ImagRoot) { 8033d38: b590 push {r4, r7, lr} 8033d3a: b091 sub sp, #68 ; 0x44 8033d3c: af00 add r7, sp, #0 8033d3e: 60f8 str r0, [r7, #12] 8033d40: 60b9 str r1, [r7, #8] 8033d42: 607a str r2, [r7, #4] long double s, t, b, c, d; s = P[1] / 3.0; 8033d44: 68fb ldr r3, [r7, #12] 8033d46: 3308 adds r3, #8 8033d48: ed93 6b00 vldr d6, [r3] 8033d4c: eeb0 5b08 vmov.f64 d5, #8 ; 0x40400000 3.0 8033d50: ee86 7b05 vdiv.f64 d7, d6, d5 8033d54: ed87 7b06 vstr d7, [r7, #24] b = (6.0*P[1]*P[1]*P[1] - 27.0*P[1]*P[2] + 81.0*P[3]) / 162.0; 8033d58: 68fb ldr r3, [r7, #12] 8033d5a: 3308 adds r3, #8 8033d5c: ed93 7b00 vldr d7, [r3] 8033d60: eeb1 6b08 vmov.f64 d6, #24 ; 0x40c00000 6.0 8033d64: ee27 6b06 vmul.f64 d6, d7, d6 8033d68: 68fb ldr r3, [r7, #12] 8033d6a: 3308 adds r3, #8 8033d6c: ed93 7b00 vldr d7, [r3] 8033d70: ee26 6b07 vmul.f64 d6, d6, d7 8033d74: 68fb ldr r3, [r7, #12] 8033d76: 3308 adds r3, #8 8033d78: ed93 7b00 vldr d7, [r3] 8033d7c: ee26 6b07 vmul.f64 d6, d6, d7 8033d80: 68fb ldr r3, [r7, #12] 8033d82: 3308 adds r3, #8 8033d84: ed93 7b00 vldr d7, [r3] 8033d88: eeb3 5b0b vmov.f64 d5, #59 ; 0x41d80000 27.0 8033d8c: ee27 5b05 vmul.f64 d5, d7, d5 8033d90: 68fb ldr r3, [r7, #12] 8033d92: 3310 adds r3, #16 8033d94: ed93 7b00 vldr d7, [r3] 8033d98: ee25 7b07 vmul.f64 d7, d5, d7 8033d9c: ee36 6b47 vsub.f64 d6, d6, d7 8033da0: 68fb ldr r3, [r7, #12] 8033da2: 3318 adds r3, #24 8033da4: ed93 7b00 vldr d7, [r3] 8033da8: ed9f 5ba9 vldr d5, [pc, #676] ; 8034050 8033dac: ee27 7b05 vmul.f64 d7, d7, d5 8033db0: ee36 6b07 vadd.f64 d6, d6, d7 8033db4: ed9f 5ba8 vldr d5, [pc, #672] ; 8034058 8033db8: ee86 7b05 vdiv.f64 d7, d6, d5 8033dbc: ed87 7b0e vstr d7, [r7, #56] ; 0x38 t = (P[1]*P[1] - 3.0*P[2]) / 9.0; 8033dc0: 68fb ldr r3, [r7, #12] 8033dc2: 3308 adds r3, #8 8033dc4: ed93 6b00 vldr d6, [r3] 8033dc8: 68fb ldr r3, [r7, #12] 8033dca: 3308 adds r3, #8 8033dcc: ed93 7b00 vldr d7, [r3] 8033dd0: ee26 6b07 vmul.f64 d6, d6, d7 8033dd4: 68fb ldr r3, [r7, #12] 8033dd6: 3310 adds r3, #16 8033dd8: ed93 7b00 vldr d7, [r3] 8033ddc: eeb0 5b08 vmov.f64 d5, #8 ; 0x40400000 3.0 8033de0: ee27 7b05 vmul.f64 d7, d7, d5 8033de4: ee36 6b47 vsub.f64 d6, d6, d7 8033de8: eeb2 5b02 vmov.f64 d5, #34 ; 0x41100000 9.0 8033dec: ee86 7b05 vdiv.f64 d7, d6, d5 8033df0: ed87 7b04 vstr d7, [r7, #16] c = t * t * t; 8033df4: ed97 6b04 vldr d6, [r7, #16] 8033df8: ed97 7b04 vldr d7, [r7, #16] 8033dfc: ee26 6b07 vmul.f64 d6, d6, d7 8033e00: ed97 7b04 vldr d7, [r7, #16] 8033e04: ee26 7b07 vmul.f64 d7, d6, d7 8033e08: ed87 7b0c vstr d7, [r7, #48] ; 0x30 d = 2.0*P[1]*P[1]*P[1] - 9.0*P[1]*P[2] + 27.0*P[3]; 8033e0c: 68fb ldr r3, [r7, #12] 8033e0e: 3308 adds r3, #8 8033e10: ed93 7b00 vldr d7, [r3] 8033e14: ee37 6b07 vadd.f64 d6, d7, d7 8033e18: 68fb ldr r3, [r7, #12] 8033e1a: 3308 adds r3, #8 8033e1c: ed93 7b00 vldr d7, [r3] 8033e20: ee26 6b07 vmul.f64 d6, d6, d7 8033e24: 68fb ldr r3, [r7, #12] 8033e26: 3308 adds r3, #8 8033e28: ed93 7b00 vldr d7, [r3] 8033e2c: ee26 6b07 vmul.f64 d6, d6, d7 8033e30: 68fb ldr r3, [r7, #12] 8033e32: 3308 adds r3, #8 8033e34: ed93 7b00 vldr d7, [r3] 8033e38: eeb2 5b02 vmov.f64 d5, #34 ; 0x41100000 9.0 8033e3c: ee27 5b05 vmul.f64 d5, d7, d5 8033e40: 68fb ldr r3, [r7, #12] 8033e42: 3310 adds r3, #16 8033e44: ed93 7b00 vldr d7, [r3] 8033e48: ee25 7b07 vmul.f64 d7, d5, d7 8033e4c: ee36 6b47 vsub.f64 d6, d6, d7 8033e50: 68fb ldr r3, [r7, #12] 8033e52: 3318 adds r3, #24 8033e54: ed93 7b00 vldr d7, [r3] 8033e58: eeb3 5b0b vmov.f64 d5, #59 ; 0x41d80000 27.0 8033e5c: ee27 7b05 vmul.f64 d7, d7, d5 8033e60: ee36 7b07 vadd.f64 d7, d6, d7 8033e64: ed87 7b0a vstr d7, [r7, #40] ; 0x28 d = d * d / 2916.0 - c; 8033e68: ed97 6b0a vldr d6, [r7, #40] ; 0x28 8033e6c: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8033e70: ee26 7b07 vmul.f64 d7, d6, d7 8033e74: ed9f 5b7a vldr d5, [pc, #488] ; 8034060 8033e78: ee87 6b05 vdiv.f64 d6, d7, d5 8033e7c: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8033e80: ee36 7b47 vsub.f64 d7, d6, d7 8033e84: ed87 7b0a vstr d7, [r7, #40] ; 0x28 if(d > ZERO_PLUS) // 1 complex and 1 real root 8033e88: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8033e8c: ed9f 6b7e vldr d6, [pc, #504] ; 8034088 8033e90: eeb4 7bc6 vcmpe.f64 d7, d6 8033e94: eef1 fa10 vmrs APSR_nzcv, fpscr 8033e98: f340 809c ble.w 8033fd4 { d = powl( (sqrtl(d) + fabsl(b)), 1.0/3.0); 8033e9c: ed97 0b0a vldr d0, [r7, #40] ; 0x28 8033ea0: f096 ff18 bl 80cacd4 8033ea4: eeb0 6b40 vmov.f64 d6, d0 8033ea8: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8033eac: eeb0 7bc7 vabs.f64 d7, d7 8033eb0: ee36 7b07 vadd.f64 d7, d6, d7 8033eb4: ed9f 1b6c vldr d1, [pc, #432] ; 8034068 8033eb8: eeb0 0b47 vmov.f64 d0, d7 8033ebc: f096 fd42 bl 80ca944 8033ec0: ed87 0b0a vstr d0, [r7, #40] ; 0x28 if(d != 0.0) 8033ec4: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8033ec8: eeb5 7b40 vcmp.f64 d7, #0.0 8033ecc: eef1 fa10 vmrs APSR_nzcv, fpscr 8033ed0: d019 beq.n 8033f06 { if(b>0) b = -d; 8033ed2: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8033ed6: eeb5 7bc0 vcmpe.f64 d7, #0.0 8033eda: eef1 fa10 vmrs APSR_nzcv, fpscr 8033ede: dd06 ble.n 8033eee 8033ee0: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8033ee4: eeb1 7b47 vneg.f64 d7, d7 8033ee8: ed87 7b0e vstr d7, [r7, #56] ; 0x38 8033eec: e003 b.n 8033ef6 else b = d; 8033eee: e9d7 340a ldrd r3, r4, [r7, #40] ; 0x28 8033ef2: e9c7 340e strd r3, r4, [r7, #56] ; 0x38 c = t / b; 8033ef6: ed97 5b04 vldr d5, [r7, #16] 8033efa: ed97 6b0e vldr d6, [r7, #56] ; 0x38 8033efe: ee85 7b06 vdiv.f64 d7, d5, d6 8033f02: ed87 7b0c vstr d7, [r7, #48] ; 0x30 } d = M_SQRT3_2 * (b-c); 8033f06: ed97 6b0e vldr d6, [r7, #56] ; 0x38 8033f0a: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8033f0e: ee36 7b47 vsub.f64 d7, d6, d7 8033f12: ed9f 6b57 vldr d6, [pc, #348] ; 8034070 8033f16: ee27 7b06 vmul.f64 d7, d7, d6 8033f1a: ed87 7b0a vstr d7, [r7, #40] ; 0x28 b = b + c; 8033f1e: ed97 6b0e vldr d6, [r7, #56] ; 0x38 8033f22: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8033f26: ee36 7b07 vadd.f64 d7, d6, d7 8033f2a: ed87 7b0e vstr d7, [r7, #56] ; 0x38 c = -b/2.0 - s; 8033f2e: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8033f32: eeb1 7b47 vneg.f64 d7, d7 8033f36: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 8033f3a: ee87 6b05 vdiv.f64 d6, d7, d5 8033f3e: ed97 7b06 vldr d7, [r7, #24] 8033f42: ee36 7b47 vsub.f64 d7, d6, d7 8033f46: ed87 7b0c vstr d7, [r7, #48] ; 0x30 RealRoot[0] = c; 8033f4a: 68ba ldr r2, [r7, #8] 8033f4c: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 8033f50: e882 0018 stmia.w r2, {r3, r4} ImagRoot[0] = -d; 8033f54: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8033f58: eeb1 7b47 vneg.f64 d7, d7 8033f5c: 687b ldr r3, [r7, #4] 8033f5e: ed83 7b00 vstr d7, [r3] RealRoot[1] = c; 8033f62: 68bb ldr r3, [r7, #8] 8033f64: f103 0208 add.w r2, r3, #8 8033f68: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 8033f6c: e882 0018 stmia.w r2, {r3, r4} ImagRoot[1] = d; 8033f70: 687b ldr r3, [r7, #4] 8033f72: f103 0208 add.w r2, r3, #8 8033f76: e9d7 340a ldrd r3, r4, [r7, #40] ; 0x28 8033f7a: e882 0018 stmia.w r2, {r3, r4} RealRoot[2] = b-s; 8033f7e: 68bb ldr r3, [r7, #8] 8033f80: 3310 adds r3, #16 8033f82: ed97 6b0e vldr d6, [r7, #56] ; 0x38 8033f86: ed97 7b06 vldr d7, [r7, #24] 8033f8a: ee36 7b47 vsub.f64 d7, d6, d7 8033f8e: ed83 7b00 vstr d7, [r3] if( fabsl(RealRoot[2]) < ZERO_PLUS)RealRoot[2] = 0.0; 8033f92: 68bb ldr r3, [r7, #8] 8033f94: 3310 adds r3, #16 8033f96: ed93 7b00 vldr d7, [r3] 8033f9a: eeb0 7bc7 vabs.f64 d7, d7 8033f9e: ed9f 6b3a vldr d6, [pc, #232] ; 8034088 8033fa2: eeb4 7bc6 vcmpe.f64 d7, d6 8033fa6: eef1 fa10 vmrs APSR_nzcv, fpscr 8033faa: d508 bpl.n 8033fbe 8033fac: 68bb ldr r3, [r7, #8] 8033fae: f103 0210 add.w r2, r3, #16 8033fb2: f04f 0300 mov.w r3, #0 8033fb6: f04f 0400 mov.w r4, #0 8033fba: e882 0018 stmia.w r2, {r3, r4} ImagRoot[2] = 0.0; 8033fbe: 687b ldr r3, [r7, #4] 8033fc0: f103 0210 add.w r2, r3, #16 8033fc4: f04f 0300 mov.w r3, #0 8033fc8: f04f 0400 mov.w r4, #0 8033fcc: e882 0018 stmia.w r2, {r3, r4} return(2); // Return 2 because it contains the real root. 8033fd0: 2302 movs r3, #2 8033fd2: e131 b.n 8034238 } else // d < 0.0 3 real roots { if(b == 0.0)d = M_PI_2 / 3.0; // b can be as small as 1.0E-25 8033fd4: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8033fd8: eeb5 7b40 vcmp.f64 d7, #0.0 8033fdc: eef1 fa10 vmrs APSR_nzcv, fpscr 8033fe0: d104 bne.n 8033fec 8033fe2: a425 add r4, pc, #148 ; (adr r4, 8034078 ) 8033fe4: cc18 ldmia r4, {r3, r4} 8033fe6: e9c7 340a strd r3, r4, [r7, #40] ; 0x28 8033fea: e01b b.n 8034024 else d = atanl(sqrtl(fabsl(d))/fabsl(b)) / 3.0; 8033fec: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8033ff0: eeb0 7bc7 vabs.f64 d7, d7 8033ff4: eeb0 0b47 vmov.f64 d0, d7 8033ff8: f096 fe6c bl 80cacd4 8033ffc: eeb0 5b40 vmov.f64 d5, d0 8034000: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034004: eeb0 7bc7 vabs.f64 d7, d7 8034008: ee85 6b07 vdiv.f64 d6, d5, d7 803400c: eeb0 0b46 vmov.f64 d0, d6 8034010: f096 fc92 bl 80ca938 8034014: eeb0 5b40 vmov.f64 d5, d0 8034018: eeb0 6b08 vmov.f64 d6, #8 ; 0x40400000 3.0 803401c: ee85 7b06 vdiv.f64 d7, d5, d6 8034020: ed87 7b0a vstr d7, [r7, #40] ; 0x28 if(b < 0.0) b = 2.0 * sqrtl(fabsl(t)); 8034024: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034028: eeb5 7bc0 vcmpe.f64 d7, #0.0 803402c: eef1 fa10 vmrs APSR_nzcv, fpscr 8034030: d52e bpl.n 8034090 8034032: ed97 7b04 vldr d7, [r7, #16] 8034036: eeb0 7bc7 vabs.f64 d7, d7 803403a: eeb0 0b47 vmov.f64 d0, d7 803403e: f096 fe49 bl 80cacd4 8034042: eeb0 7b40 vmov.f64 d7, d0 8034046: ee37 7b07 vadd.f64 d7, d7, d7 803404a: ed87 7b0e vstr d7, [r7, #56] ; 0x38 803404e: e02f b.n 80340b0 8034050: 00000000 .word 0x00000000 8034054: 40544000 .word 0x40544000 8034058: 00000000 .word 0x00000000 803405c: 40644000 .word 0x40644000 8034060: 00000000 .word 0x00000000 8034064: 40a6c800 .word 0x40a6c800 8034068: 55555555 .word 0x55555555 803406c: 3fd55555 .word 0x3fd55555 8034070: e8584caa .word 0xe8584caa 8034074: 3febb67a .word 0x3febb67a 8034078: 382d7365 .word 0x382d7365 803407c: 3fe0c152 .word 0x3fe0c152 8034080: e8584caa .word 0xe8584caa 8034084: bfebb67a .word 0xbfebb67a 8034088: 00000000 .word 0x00000000 803408c: 3cd00000 .word 0x3cd00000 else b = -2.0 * sqrtl(fabsl(t)); 8034090: ed97 7b04 vldr d7, [r7, #16] 8034094: eeb0 7bc7 vabs.f64 d7, d7 8034098: eeb0 0b47 vmov.f64 d0, d7 803409c: f096 fe1a bl 80cacd4 80340a0: eeb0 6b40 vmov.f64 d6, d0 80340a4: eeb8 7b00 vmov.f64 d7, #128 ; 0xc0000000 -2.0 80340a8: ee26 7b07 vmul.f64 d7, d6, d7 80340ac: ed87 7b0e vstr d7, [r7, #56] ; 0x38 c = cosl(d) * b; 80340b0: ed97 0b0a vldr d0, [r7, #40] ; 0x28 80340b4: f096 fc42 bl 80ca93c 80340b8: eeb0 6b40 vmov.f64 d6, d0 80340bc: ed97 7b0e vldr d7, [r7, #56] ; 0x38 80340c0: ee26 7b07 vmul.f64 d7, d6, d7 80340c4: ed87 7b0c vstr d7, [r7, #48] ; 0x30 t = -M_SQRT3_2 * sinl(d) * b - 0.5 * c; 80340c8: ed97 0b0a vldr d0, [r7, #40] ; 0x28 80340cc: f096 fe00 bl 80cacd0 80340d0: eeb0 6b40 vmov.f64 d6, d0 80340d4: ed1f 7b16 vldr d7, [pc, #-88] ; 8034080 80340d8: ee26 6b07 vmul.f64 d6, d6, d7 80340dc: ed97 7b0e vldr d7, [r7, #56] ; 0x38 80340e0: ee26 6b07 vmul.f64 d6, d6, d7 80340e4: ed97 7b0c vldr d7, [r7, #48] ; 0x30 80340e8: eeb6 5b00 vmov.f64 d5, #96 ; 0x3f000000 0.5 80340ec: ee27 7b05 vmul.f64 d7, d7, d5 80340f0: ee36 7b47 vsub.f64 d7, d6, d7 80340f4: ed87 7b04 vstr d7, [r7, #16] RealRoot[0] = t - s; 80340f8: ed97 6b04 vldr d6, [r7, #16] 80340fc: ed97 7b06 vldr d7, [r7, #24] 8034100: ee36 7b47 vsub.f64 d7, d6, d7 8034104: 68bb ldr r3, [r7, #8] 8034106: ed83 7b00 vstr d7, [r3] RealRoot[1] = c - s; 803410a: 68bb ldr r3, [r7, #8] 803410c: 3308 adds r3, #8 803410e: ed97 6b0c vldr d6, [r7, #48] ; 0x30 8034112: ed97 7b06 vldr d7, [r7, #24] 8034116: ee36 7b47 vsub.f64 d7, d6, d7 803411a: ed83 7b00 vstr d7, [r3] RealRoot[2] = -(t + c + s); 803411e: 68bb ldr r3, [r7, #8] 8034120: 3310 adds r3, #16 8034122: ed97 6b04 vldr d6, [r7, #16] 8034126: ed97 7b0c vldr d7, [r7, #48] ; 0x30 803412a: ee36 6b07 vadd.f64 d6, d6, d7 803412e: ed97 7b06 vldr d7, [r7, #24] 8034132: ee36 7b07 vadd.f64 d7, d6, d7 8034136: eeb1 7b47 vneg.f64 d7, d7 803413a: ed83 7b00 vstr d7, [r3] ImagRoot[0] = 0.0; 803413e: 687a ldr r2, [r7, #4] 8034140: f04f 0300 mov.w r3, #0 8034144: f04f 0400 mov.w r4, #0 8034148: e882 0018 stmia.w r2, {r3, r4} ImagRoot[1] = 0.0; 803414c: 687b ldr r3, [r7, #4] 803414e: f103 0208 add.w r2, r3, #8 8034152: f04f 0300 mov.w r3, #0 8034156: f04f 0400 mov.w r4, #0 803415a: e882 0018 stmia.w r2, {r3, r4} ImagRoot[2] = 0.0; 803415e: 687b ldr r3, [r7, #4] 8034160: f103 0210 add.w r2, r3, #16 8034164: f04f 0300 mov.w r3, #0 8034168: f04f 0400 mov.w r4, #0 803416c: e882 0018 stmia.w r2, {r3, r4} if( fabsl(RealRoot[0]) < ZERO_PLUS)RealRoot[0] = 0.0; 8034170: 68bb ldr r3, [r7, #8] 8034172: ed93 7b00 vldr d7, [r3] 8034176: eeb0 7bc7 vabs.f64 d7, d7 803417a: ed1f 6b3d vldr d6, [pc, #-244] ; 8034088 803417e: eeb4 7bc6 vcmpe.f64 d7, d6 8034182: eef1 fa10 vmrs APSR_nzcv, fpscr 8034186: d506 bpl.n 8034196 8034188: 68ba ldr r2, [r7, #8] 803418a: f04f 0300 mov.w r3, #0 803418e: f04f 0400 mov.w r4, #0 8034192: e882 0018 stmia.w r2, {r3, r4} if( fabsl(RealRoot[1]) < ZERO_PLUS)RealRoot[1] = 0.0; 8034196: 68bb ldr r3, [r7, #8] 8034198: 3308 adds r3, #8 803419a: ed93 7b00 vldr d7, [r3] 803419e: eeb0 7bc7 vabs.f64 d7, d7 80341a2: ed1f 6b47 vldr d6, [pc, #-284] ; 8034088 80341a6: eeb4 7bc6 vcmpe.f64 d7, d6 80341aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80341ae: d508 bpl.n 80341c2 80341b0: 68bb ldr r3, [r7, #8] 80341b2: f103 0208 add.w r2, r3, #8 80341b6: f04f 0300 mov.w r3, #0 80341ba: f04f 0400 mov.w r4, #0 80341be: e882 0018 stmia.w r2, {r3, r4} if( fabsl(RealRoot[2]) < ZERO_PLUS)RealRoot[2] = 0.0; 80341c2: 68bb ldr r3, [r7, #8] 80341c4: 3310 adds r3, #16 80341c6: ed93 7b00 vldr d7, [r3] 80341ca: eeb0 7bc7 vabs.f64 d7, d7 80341ce: ed1f 6b52 vldr d6, [pc, #-328] ; 8034088 80341d2: eeb4 7bc6 vcmpe.f64 d7, d6 80341d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80341da: d508 bpl.n 80341ee 80341dc: 68bb ldr r3, [r7, #8] 80341de: f103 0210 add.w r2, r3, #16 80341e2: f04f 0300 mov.w r3, #0 80341e6: f04f 0400 mov.w r4, #0 80341ea: e882 0018 stmia.w r2, {r3, r4} int MaxK = 0; 80341ee: 2300 movs r3, #0 80341f0: 627b str r3, [r7, #36] ; 0x24 if(RealRoot[1] > RealRoot[MaxK])MaxK = 1; 80341f2: 68bb ldr r3, [r7, #8] 80341f4: 3308 adds r3, #8 80341f6: ed93 6b00 vldr d6, [r3] 80341fa: 6a7b ldr r3, [r7, #36] ; 0x24 80341fc: 00db lsls r3, r3, #3 80341fe: 68ba ldr r2, [r7, #8] 8034200: 4413 add r3, r2 8034202: ed93 7b00 vldr d7, [r3] 8034206: eeb4 6bc7 vcmpe.f64 d6, d7 803420a: eef1 fa10 vmrs APSR_nzcv, fpscr 803420e: dd01 ble.n 8034214 8034210: 2301 movs r3, #1 8034212: 627b str r3, [r7, #36] ; 0x24 if(RealRoot[2] > RealRoot[MaxK])MaxK = 2; 8034214: 68bb ldr r3, [r7, #8] 8034216: 3310 adds r3, #16 8034218: ed93 6b00 vldr d6, [r3] 803421c: 6a7b ldr r3, [r7, #36] ; 0x24 803421e: 00db lsls r3, r3, #3 8034220: 68ba ldr r2, [r7, #8] 8034222: 4413 add r3, r2 8034224: ed93 7b00 vldr d7, [r3] 8034228: eeb4 6bc7 vcmpe.f64 d6, d7 803422c: eef1 fa10 vmrs APSR_nzcv, fpscr 8034230: dd01 ble.n 8034236 8034232: 2302 movs r3, #2 8034234: 627b str r3, [r7, #36] ; 0x24 return(MaxK); // Return the index with the largest real root. 8034236: 6a7b ldr r3, [r7, #36] ; 0x24 } } 8034238: 4618 mov r0, r3 803423a: 3744 adds r7, #68 ; 0x44 803423c: 46bd mov sp, r7 803423e: bd90 pop {r4, r7, pc} 08034240 : //--------------------------------------------------------------------------- // This finds the roots of y = P0x^4 + P1x^3 + P2x^2 + P3x + P4 P[0] = 1 // This function calls CubicRoots void BiQuadRoots(long double *P, long double *RealRoot, long double *ImagRoot) { 8034240: b590 push {r4, r7, lr} 8034242: b097 sub sp, #92 ; 0x5c 8034244: af00 add r7, sp, #0 8034246: 60f8 str r0, [r7, #12] 8034248: 60b9 str r1, [r7, #8] 803424a: 607a str r2, [r7, #4] int k, MaxK; long double a, b, c, d, e, g, P1, P3Limit; P1 = P[1]; 803424c: 68fb ldr r3, [r7, #12] 803424e: e9d3 3402 ldrd r3, r4, [r3, #8] 8034252: e9c7 340e strd r3, r4, [r7, #56] ; 0x38 e = P[1]*0.25; 8034256: 68fb ldr r3, [r7, #12] 8034258: 3308 adds r3, #8 803425a: ed93 7b00 vldr d7, [r3] 803425e: eeb5 6b00 vmov.f64 d6, #80 ; 0x3e800000 0.250 8034262: ee27 7b06 vmul.f64 d7, d7, d6 8034266: ed87 7b0c vstr d7, [r7, #48] ; 0x30 d = P[1]*P[1]*0.1875; // 0.1875 = 3/16 803426a: 68fb ldr r3, [r7, #12] 803426c: 3308 adds r3, #8 803426e: ed93 6b00 vldr d6, [r3] 8034272: 68fb ldr r3, [r7, #12] 8034274: 3308 adds r3, #8 8034276: ed93 7b00 vldr d7, [r3] 803427a: ee26 7b07 vmul.f64 d7, d6, d7 803427e: eeb4 6b08 vmov.f64 d6, #72 ; 0x3e400000 0.1875000 8034282: ee27 7b06 vmul.f64 d7, d7, d6 8034286: ed87 7b0a vstr d7, [r7, #40] ; 0x28 b = P[3] + P[1]*P[1]*P[1]*0.125 - P[1]*P[2]*0.5; 803428a: 68fb ldr r3, [r7, #12] 803428c: 3318 adds r3, #24 803428e: ed93 6b00 vldr d6, [r3] 8034292: 68fb ldr r3, [r7, #12] 8034294: 3308 adds r3, #8 8034296: ed93 5b00 vldr d5, [r3] 803429a: 68fb ldr r3, [r7, #12] 803429c: 3308 adds r3, #8 803429e: ed93 7b00 vldr d7, [r3] 80342a2: ee25 5b07 vmul.f64 d5, d5, d7 80342a6: 68fb ldr r3, [r7, #12] 80342a8: 3308 adds r3, #8 80342aa: ed93 7b00 vldr d7, [r3] 80342ae: ee25 7b07 vmul.f64 d7, d5, d7 80342b2: eeb4 5b00 vmov.f64 d5, #64 ; 0x3e000000 0.125 80342b6: ee27 7b05 vmul.f64 d7, d7, d5 80342ba: ee36 6b07 vadd.f64 d6, d6, d7 80342be: 68fb ldr r3, [r7, #12] 80342c0: 3308 adds r3, #8 80342c2: ed93 5b00 vldr d5, [r3] 80342c6: 68fb ldr r3, [r7, #12] 80342c8: 3310 adds r3, #16 80342ca: ed93 7b00 vldr d7, [r3] 80342ce: ee25 7b07 vmul.f64 d7, d5, d7 80342d2: eeb6 5b00 vmov.f64 d5, #96 ; 0x3f000000 0.5 80342d6: ee27 7b05 vmul.f64 d7, d7, d5 80342da: ee36 7b47 vsub.f64 d7, d6, d7 80342de: ed87 7b12 vstr d7, [r7, #72] ; 0x48 c = 256.0*P[4] + 16.0*P[1]*P[1]*P[2]; 80342e2: 68fb ldr r3, [r7, #12] 80342e4: 3320 adds r3, #32 80342e6: ed93 7b00 vldr d7, [r3] 80342ea: ed9f 6bcb vldr d6, [pc, #812] ; 8034618 80342ee: ee27 6b06 vmul.f64 d6, d7, d6 80342f2: 68fb ldr r3, [r7, #12] 80342f4: 3308 adds r3, #8 80342f6: ed93 7b00 vldr d7, [r3] 80342fa: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 80342fe: ee27 5b05 vmul.f64 d5, d7, d5 8034302: 68fb ldr r3, [r7, #12] 8034304: 3308 adds r3, #8 8034306: ed93 7b00 vldr d7, [r3] 803430a: ee25 5b07 vmul.f64 d5, d5, d7 803430e: 68fb ldr r3, [r7, #12] 8034310: 3310 adds r3, #16 8034312: ed93 7b00 vldr d7, [r3] 8034316: ee25 7b07 vmul.f64 d7, d5, d7 803431a: ee36 7b07 vadd.f64 d7, d6, d7 803431e: ed87 7b08 vstr d7, [r7, #32] c += -3.0*P[1]*P[1]*P[1]*P[1] - 64.0*P[1]*P[3]; 8034322: 68fb ldr r3, [r7, #12] 8034324: 3308 adds r3, #8 8034326: ed93 7b00 vldr d7, [r3] 803432a: eeb8 6b08 vmov.f64 d6, #136 ; 0xc0400000 -3.0 803432e: ee27 6b06 vmul.f64 d6, d7, d6 8034332: 68fb ldr r3, [r7, #12] 8034334: 3308 adds r3, #8 8034336: ed93 7b00 vldr d7, [r3] 803433a: ee26 6b07 vmul.f64 d6, d6, d7 803433e: 68fb ldr r3, [r7, #12] 8034340: 3308 adds r3, #8 8034342: ed93 7b00 vldr d7, [r3] 8034346: ee26 6b07 vmul.f64 d6, d6, d7 803434a: 68fb ldr r3, [r7, #12] 803434c: 3308 adds r3, #8 803434e: ed93 7b00 vldr d7, [r3] 8034352: ee26 6b07 vmul.f64 d6, d6, d7 8034356: 68fb ldr r3, [r7, #12] 8034358: 3308 adds r3, #8 803435a: ed93 7b00 vldr d7, [r3] 803435e: ed9f 5bb0 vldr d5, [pc, #704] ; 8034620 8034362: ee27 5b05 vmul.f64 d5, d7, d5 8034366: 68fb ldr r3, [r7, #12] 8034368: 3318 adds r3, #24 803436a: ed93 7b00 vldr d7, [r3] 803436e: ee25 7b07 vmul.f64 d7, d5, d7 8034372: ee36 7b47 vsub.f64 d7, d6, d7 8034376: ed97 6b08 vldr d6, [r7, #32] 803437a: ee36 7b07 vadd.f64 d7, d6, d7 803437e: ed87 7b08 vstr d7, [r7, #32] c *= 0.00390625; // 0.00390625 = 1/256 8034382: ed97 7b08 vldr d7, [r7, #32] 8034386: ed9f 6ba8 vldr d6, [pc, #672] ; 8034628 803438a: ee27 7b06 vmul.f64 d7, d7, d6 803438e: ed87 7b08 vstr d7, [r7, #32] a = P[2] - P[1]*P[1]*0.375; // 0.375 = 3/8 8034392: 68fb ldr r3, [r7, #12] 8034394: 3310 adds r3, #16 8034396: ed93 6b00 vldr d6, [r3] 803439a: 68fb ldr r3, [r7, #12] 803439c: 3308 adds r3, #8 803439e: ed93 5b00 vldr d5, [r3] 80343a2: 68fb ldr r3, [r7, #12] 80343a4: 3308 adds r3, #8 80343a6: ed93 7b00 vldr d7, [r3] 80343aa: ee25 7b07 vmul.f64 d7, d5, d7 80343ae: eeb5 5b08 vmov.f64 d5, #88 ; 0x3ec00000 0.375 80343b2: ee27 7b05 vmul.f64 d7, d7, d5 80343b6: ee36 7b47 vsub.f64 d7, d6, d7 80343ba: ed87 7b06 vstr d7, [r7, #24] P[1] = P[2]*0.5 - P[1]*P[1]*0.1875; // 0.1875 = 3/16 80343be: 68fb ldr r3, [r7, #12] 80343c0: 3308 adds r3, #8 80343c2: 68fa ldr r2, [r7, #12] 80343c4: 3210 adds r2, #16 80343c6: ed92 7b00 vldr d7, [r2] 80343ca: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80343ce: ee27 6b06 vmul.f64 d6, d7, d6 80343d2: 68fa ldr r2, [r7, #12] 80343d4: 3208 adds r2, #8 80343d6: ed92 5b00 vldr d5, [r2] 80343da: 68fa ldr r2, [r7, #12] 80343dc: 3208 adds r2, #8 80343de: ed92 7b00 vldr d7, [r2] 80343e2: ee25 7b07 vmul.f64 d7, d5, d7 80343e6: eeb4 5b08 vmov.f64 d5, #72 ; 0x3e400000 0.1875000 80343ea: ee27 7b05 vmul.f64 d7, d7, d5 80343ee: ee36 7b47 vsub.f64 d7, d6, d7 80343f2: ed83 7b00 vstr d7, [r3] P[2] = 16.0*P[2]*P[2] - 16.0*P1*P1*P[2] + 3.0*P1*P1*P1*P1; 80343f6: 68fb ldr r3, [r7, #12] 80343f8: 3310 adds r3, #16 80343fa: 68fa ldr r2, [r7, #12] 80343fc: 3210 adds r2, #16 80343fe: ed92 7b00 vldr d7, [r2] 8034402: eeb3 6b00 vmov.f64 d6, #48 ; 0x41800000 16.0 8034406: ee27 6b06 vmul.f64 d6, d7, d6 803440a: 68fa ldr r2, [r7, #12] 803440c: 3210 adds r2, #16 803440e: ed92 7b00 vldr d7, [r2] 8034412: ee26 6b07 vmul.f64 d6, d6, d7 8034416: ed97 7b0e vldr d7, [r7, #56] ; 0x38 803441a: eeb3 5b00 vmov.f64 d5, #48 ; 0x41800000 16.0 803441e: ee27 5b05 vmul.f64 d5, d7, d5 8034422: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034426: ee25 5b07 vmul.f64 d5, d5, d7 803442a: 68fa ldr r2, [r7, #12] 803442c: 3210 adds r2, #16 803442e: ed92 7b00 vldr d7, [r2] 8034432: ee25 7b07 vmul.f64 d7, d5, d7 8034436: ee36 6b47 vsub.f64 d6, d6, d7 803443a: ed97 7b0e vldr d7, [r7, #56] ; 0x38 803443e: eeb0 5b08 vmov.f64 d5, #8 ; 0x40400000 3.0 8034442: ee27 5b05 vmul.f64 d5, d7, d5 8034446: ed97 7b0e vldr d7, [r7, #56] ; 0x38 803444a: ee25 5b07 vmul.f64 d5, d5, d7 803444e: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034452: ee25 5b07 vmul.f64 d5, d5, d7 8034456: ed97 7b0e vldr d7, [r7, #56] ; 0x38 803445a: ee25 7b07 vmul.f64 d7, d5, d7 803445e: ee36 7b07 vadd.f64 d7, d6, d7 8034462: ed83 7b00 vstr d7, [r3] P[2] += -64.0*P[4] + 16.0*P1*P[3]; 8034466: 68fb ldr r3, [r7, #12] 8034468: 3310 adds r3, #16 803446a: 68fa ldr r2, [r7, #12] 803446c: 3210 adds r2, #16 803446e: ed92 6b00 vldr d6, [r2] 8034472: 68fa ldr r2, [r7, #12] 8034474: 3220 adds r2, #32 8034476: ed92 7b00 vldr d7, [r2] 803447a: ed9f 5b6d vldr d5, [pc, #436] ; 8034630 803447e: ee27 5b05 vmul.f64 d5, d7, d5 8034482: ed97 7b0e vldr d7, [r7, #56] ; 0x38 8034486: eeb3 4b00 vmov.f64 d4, #48 ; 0x41800000 16.0 803448a: ee27 4b04 vmul.f64 d4, d7, d4 803448e: 68fa ldr r2, [r7, #12] 8034490: 3218 adds r2, #24 8034492: ed92 7b00 vldr d7, [r2] 8034496: ee24 7b07 vmul.f64 d7, d4, d7 803449a: ee35 7b07 vadd.f64 d7, d5, d7 803449e: ee36 7b07 vadd.f64 d7, d6, d7 80344a2: ed83 7b00 vstr d7, [r3] P[2] *= 3.90625E-3; // 3.90625E-3 = 1/256 80344a6: 68fb ldr r3, [r7, #12] 80344a8: 3310 adds r3, #16 80344aa: 68fa ldr r2, [r7, #12] 80344ac: 3210 adds r2, #16 80344ae: ed92 7b00 vldr d7, [r2] 80344b2: ed9f 6b5d vldr d6, [pc, #372] ; 8034628 80344b6: ee27 7b06 vmul.f64 d7, d7, d6 80344ba: ed83 7b00 vstr d7, [r3] P[3] = -b*b*0.015625; // 0.015625 = 1/64 80344be: 68fb ldr r3, [r7, #12] 80344c0: 3318 adds r3, #24 80344c2: ed97 7b12 vldr d7, [r7, #72] ; 0x48 80344c6: eeb1 6b47 vneg.f64 d6, d7 80344ca: ed97 7b12 vldr d7, [r7, #72] ; 0x48 80344ce: ee26 7b07 vmul.f64 d7, d6, d7 80344d2: ed9f 6b59 vldr d6, [pc, #356] ; 8034638 80344d6: ee27 7b06 vmul.f64 d7, d7, d6 80344da: ed83 7b00 vstr d7, [r3] if(P[3] > 0.0)P[3] = 0.0; // Only numerical errors make P[3] > 0 80344de: 68fb ldr r3, [r7, #12] 80344e0: 3318 adds r3, #24 80344e2: ed93 7b00 vldr d7, [r3] 80344e6: eeb5 7bc0 vcmpe.f64 d7, #0.0 80344ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80344ee: dd08 ble.n 8034502 80344f0: 68fb ldr r3, [r7, #12] 80344f2: f103 0218 add.w r2, r3, #24 80344f6: f04f 0300 mov.w r3, #0 80344fa: f04f 0400 mov.w r4, #0 80344fe: e882 0018 stmia.w r2, {r3, r4} We use the following criteria to test for a legitimate tiny P[3], which we must to send to CubicRoots */ // if P[3] is tiny && legitimately tiny we use 0 as the threshold. // else P[3] must be more negative than roundoff errors cause. if(P[3] > ZERO_MINUS && fabs(P[2]) < 1.0E-6) P3Limit = 0.0; 8034502: 68fb ldr r3, [r7, #12] 8034504: 3318 adds r3, #24 8034506: ed93 7b00 vldr d7, [r3] 803450a: ed9f 6b4d vldr d6, [pc, #308] ; 8034640 803450e: eeb4 7bc6 vcmpe.f64 d7, d6 8034512: eef1 fa10 vmrs APSR_nzcv, fpscr 8034516: dd13 ble.n 8034540 8034518: 68fb ldr r3, [r7, #12] 803451a: 3310 adds r3, #16 803451c: ed93 7b00 vldr d7, [r3] 8034520: eeb0 7bc7 vabs.f64 d7, d7 8034524: ed9f 6b48 vldr d6, [pc, #288] ; 8034648 8034528: eeb4 7bc6 vcmpe.f64 d7, d6 803452c: eef1 fa10 vmrs APSR_nzcv, fpscr 8034530: d506 bpl.n 8034540 8034532: f04f 0300 mov.w r3, #0 8034536: f04f 0400 mov.w r4, #0 803453a: e9c7 3410 strd r3, r4, [r7, #64] ; 0x40 803453e: e004 b.n 803454a else P3Limit = ZERO_MINUS; 8034540: f04f 0300 mov.w r3, #0 8034544: 4c42 ldr r4, [pc, #264] ; (8034650 ) 8034546: e9c7 3410 strd r3, r4, [r7, #64] ; 0x40 if(P[3] < P3Limit) 803454a: 68fb ldr r3, [r7, #12] 803454c: 3318 adds r3, #24 803454e: ed93 6b00 vldr d6, [r3] 8034552: ed97 7b10 vldr d7, [r7, #64] ; 0x40 8034556: eeb4 6bc7 vcmpe.f64 d6, d7 803455a: eef1 fa10 vmrs APSR_nzcv, fpscr 803455e: d579 bpl.n 8034654 { MaxK = CubicRoots(P, RealRoot, ImagRoot); 8034560: 687a ldr r2, [r7, #4] 8034562: 68b9 ldr r1, [r7, #8] 8034564: 68f8 ldr r0, [r7, #12] 8034566: f7ff fbe7 bl 8033d38 803456a: 6178 str r0, [r7, #20] if(RealRoot[MaxK] > 0.0) // MaxK is the index of the largest real root. 803456c: 697b ldr r3, [r7, #20] 803456e: 00db lsls r3, r3, #3 8034570: 68ba ldr r2, [r7, #8] 8034572: 4413 add r3, r2 8034574: ed93 7b00 vldr d7, [r3] 8034578: eeb5 7bc0 vcmpe.f64 d7, #0.0 803457c: eef1 fa10 vmrs APSR_nzcv, fpscr 8034580: dd68 ble.n 8034654 { d = 4.0*RealRoot[MaxK]; 8034582: 697b ldr r3, [r7, #20] 8034584: 00db lsls r3, r3, #3 8034586: 68ba ldr r2, [r7, #8] 8034588: 4413 add r3, r2 803458a: ed93 7b00 vldr d7, [r3] 803458e: eeb1 6b00 vmov.f64 d6, #16 ; 0x40800000 4.0 8034592: ee27 7b06 vmul.f64 d7, d7, d6 8034596: ed87 7b0a vstr d7, [r7, #40] ; 0x28 a += d; 803459a: ed97 6b06 vldr d6, [r7, #24] 803459e: ed97 7b0a vldr d7, [r7, #40] ; 0x28 80345a2: ee36 7b07 vadd.f64 d7, d6, d7 80345a6: ed87 7b06 vstr d7, [r7, #24] if(a*b < 0.0)P[1] = -sqrtl(d); 80345aa: ed97 6b06 vldr d6, [r7, #24] 80345ae: ed97 7b12 vldr d7, [r7, #72] ; 0x48 80345b2: ee26 7b07 vmul.f64 d7, d6, d7 80345b6: eeb5 7bc0 vcmpe.f64 d7, #0.0 80345ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80345be: d50d bpl.n 80345dc 80345c0: 68fb ldr r3, [r7, #12] 80345c2: f103 0408 add.w r4, r3, #8 80345c6: ed97 0b0a vldr d0, [r7, #40] ; 0x28 80345ca: f096 fb83 bl 80cacd4 80345ce: eeb0 7b40 vmov.f64 d7, d0 80345d2: eeb1 7b47 vneg.f64 d7, d7 80345d6: ed84 7b00 vstr d7, [r4] 80345da: e00a b.n 80345f2 else P[1] = sqrtl(d); 80345dc: 68fb ldr r3, [r7, #12] 80345de: f103 0408 add.w r4, r3, #8 80345e2: ed97 0b0a vldr d0, [r7, #40] ; 0x28 80345e6: f096 fb75 bl 80cacd4 80345ea: eeb0 7b40 vmov.f64 d7, d0 80345ee: ed84 7b00 vstr d7, [r4] b = 0.5 * (a + b/P[1]); 80345f2: 68fb ldr r3, [r7, #12] 80345f4: 3308 adds r3, #8 80345f6: ed93 7b00 vldr d7, [r3] 80345fa: ed97 5b12 vldr d5, [r7, #72] ; 0x48 80345fe: ee85 6b07 vdiv.f64 d6, d5, d7 8034602: ed97 7b06 vldr d7, [r7, #24] 8034606: ee36 7b07 vadd.f64 d7, d6, d7 803460a: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 803460e: ee27 7b06 vmul.f64 d7, d7, d6 8034612: ed87 7b12 vstr d7, [r7, #72] ; 0x48 goto QUAD; 8034616: e0c7 b.n 80347a8 8034618: 00000000 .word 0x00000000 803461c: 40700000 .word 0x40700000 8034620: 00000000 .word 0x00000000 8034624: 40500000 .word 0x40500000 8034628: 00000000 .word 0x00000000 803462c: 3f700000 .word 0x3f700000 8034630: 00000000 .word 0x00000000 8034634: c0500000 .word 0xc0500000 8034638: 00000000 .word 0x00000000 803463c: 3f900000 .word 0x3f900000 8034640: 00000000 .word 0x00000000 8034644: bcd00000 .word 0xbcd00000 8034648: a0b5ed8d .word 0xa0b5ed8d 803464c: 3eb0c6f7 .word 0x3eb0c6f7 8034650: bcd00000 .word 0xbcd00000 } } if(P[2] < -1.0E-8) // 2 sets of equal imag roots 8034654: 68fb ldr r3, [r7, #12] 8034656: 3310 adds r3, #16 8034658: ed93 7b00 vldr d7, [r3] 803465c: ed9f 6b76 vldr d6, [pc, #472] ; 8034838 8034660: eeb4 7bc6 vcmpe.f64 d7, d6 8034664: eef1 fa10 vmrs APSR_nzcv, fpscr 8034668: d534 bpl.n 80346d4 { b = sqrtl(fabsl(c)); 803466a: ed97 7b08 vldr d7, [r7, #32] 803466e: eeb0 7bc7 vabs.f64 d7, d7 8034672: eeb0 0b47 vmov.f64 d0, d7 8034676: f096 fb2d bl 80cacd4 803467a: ed87 0b12 vstr d0, [r7, #72] ; 0x48 d = b + b - a; 803467e: ed97 7b12 vldr d7, [r7, #72] ; 0x48 8034682: ee37 6b07 vadd.f64 d6, d7, d7 8034686: ed97 7b06 vldr d7, [r7, #24] 803468a: ee36 7b47 vsub.f64 d7, d6, d7 803468e: ed87 7b0a vstr d7, [r7, #40] ; 0x28 if(d > 0.0)P[1] = sqrtl(fabsl(d)); 8034692: ed97 7b0a vldr d7, [r7, #40] ; 0x28 8034696: eeb5 7bc0 vcmpe.f64 d7, #0.0 803469a: eef1 fa10 vmrs APSR_nzcv, fpscr 803469e: dd0f ble.n 80346c0 80346a0: 68fb ldr r3, [r7, #12] 80346a2: f103 0408 add.w r4, r3, #8 80346a6: ed97 7b0a vldr d7, [r7, #40] ; 0x28 80346aa: eeb0 7bc7 vabs.f64 d7, d7 80346ae: eeb0 0b47 vmov.f64 d0, d7 80346b2: f096 fb0f bl 80cacd4 80346b6: eeb0 7b40 vmov.f64 d7, d0 80346ba: ed84 7b00 vstr d7, [r4] 80346be: e073 b.n 80347a8 else P[1] = 0.0; 80346c0: 68fb ldr r3, [r7, #12] 80346c2: f103 0208 add.w r2, r3, #8 80346c6: f04f 0300 mov.w r3, #0 80346ca: f04f 0400 mov.w r4, #0 80346ce: e882 0018 stmia.w r2, {r3, r4} 80346d2: e069 b.n 80347a8 } else { if(P[1] > 0.0)b = 2.0*sqrtl(fabsl(P[2])) + P[1]; 80346d4: 68fb ldr r3, [r7, #12] 80346d6: 3308 adds r3, #8 80346d8: ed93 7b00 vldr d7, [r3] 80346dc: eeb5 7bc0 vcmpe.f64 d7, #0.0 80346e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80346e4: dd16 ble.n 8034714 80346e6: 68fb ldr r3, [r7, #12] 80346e8: 3310 adds r3, #16 80346ea: ed93 7b00 vldr d7, [r3] 80346ee: eeb0 7bc7 vabs.f64 d7, d7 80346f2: eeb0 0b47 vmov.f64 d0, d7 80346f6: f096 faed bl 80cacd4 80346fa: eeb0 7b40 vmov.f64 d7, d0 80346fe: ee37 6b07 vadd.f64 d6, d7, d7 8034702: 68fb ldr r3, [r7, #12] 8034704: 3308 adds r3, #8 8034706: ed93 7b00 vldr d7, [r3] 803470a: ee36 7b07 vadd.f64 d7, d6, d7 803470e: ed87 7b12 vstr d7, [r7, #72] ; 0x48 8034712: e017 b.n 8034744 else b = -2.0*sqrtl(fabsl(P[2])) + P[1]; 8034714: 68fb ldr r3, [r7, #12] 8034716: 3310 adds r3, #16 8034718: ed93 7b00 vldr d7, [r3] 803471c: eeb0 7bc7 vabs.f64 d7, d7 8034720: eeb0 0b47 vmov.f64 d0, d7 8034724: f096 fad6 bl 80cacd4 8034728: eeb0 6b40 vmov.f64 d6, d0 803472c: eeb8 7b00 vmov.f64 d7, #128 ; 0xc0000000 -2.0 8034730: ee26 6b07 vmul.f64 d6, d6, d7 8034734: 68fb ldr r3, [r7, #12] 8034736: 3308 adds r3, #8 8034738: ed93 7b00 vldr d7, [r3] 803473c: ee36 7b07 vadd.f64 d7, d6, d7 8034740: ed87 7b12 vstr d7, [r7, #72] ; 0x48 if(fabsl(b) < 10.0*ZERO_PLUS) // 4 equal real roots. Was originally if(b == 0.0) 8034744: ed97 7b12 vldr d7, [r7, #72] ; 0x48 8034748: eeb0 7bc7 vabs.f64 d7, d7 803474c: ed9f 6b3c vldr d6, [pc, #240] ; 8034840 8034750: eeb4 7bc6 vcmpe.f64 d7, d6 8034754: eef1 fa10 vmrs APSR_nzcv, fpscr 8034758: d51d bpl.n 8034796 { for(k=0; k<4; k++) 803475a: 2300 movs r3, #0 803475c: 657b str r3, [r7, #84] ; 0x54 803475e: e016 b.n 803478e { RealRoot[k] = -e; 8034760: 6d7b ldr r3, [r7, #84] ; 0x54 8034762: 00db lsls r3, r3, #3 8034764: 68ba ldr r2, [r7, #8] 8034766: 4413 add r3, r2 8034768: ed97 7b0c vldr d7, [r7, #48] ; 0x30 803476c: eeb1 7b47 vneg.f64 d7, d7 8034770: ed83 7b00 vstr d7, [r3] ImagRoot[k] = 0.0; 8034774: 6d7b ldr r3, [r7, #84] ; 0x54 8034776: 00db lsls r3, r3, #3 8034778: 687a ldr r2, [r7, #4] 803477a: 441a add r2, r3 803477c: f04f 0300 mov.w r3, #0 8034780: f04f 0400 mov.w r4, #0 8034784: e882 0018 stmia.w r2, {r3, r4} for(k=0; k<4; k++) 8034788: 6d7b ldr r3, [r7, #84] ; 0x54 803478a: 3301 adds r3, #1 803478c: 657b str r3, [r7, #84] ; 0x54 803478e: 6d7b ldr r3, [r7, #84] ; 0x54 8034790: 2b03 cmp r3, #3 8034792: dde5 ble.n 8034760 } return; 8034794: e04a b.n 803482c } else P[1] = 0.0; 8034796: 68fb ldr r3, [r7, #12] 8034798: f103 0208 add.w r2, r3, #8 803479c: f04f 0300 mov.w r3, #0 80347a0: f04f 0400 mov.w r4, #0 80347a4: e882 0018 stmia.w r2, {r3, r4} } // Calc the roots from two 2nd order polys and subtract e from the real part. QUAD: P[2] = c/b; 80347a8: 68fb ldr r3, [r7, #12] 80347aa: 3310 adds r3, #16 80347ac: ed97 5b08 vldr d5, [r7, #32] 80347b0: ed97 6b12 vldr d6, [r7, #72] ; 0x48 80347b4: ee85 7b06 vdiv.f64 d7, d5, d6 80347b8: ed83 7b00 vstr d7, [r3] QuadRoots(P, RealRoot, ImagRoot); 80347bc: 687a ldr r2, [r7, #4] 80347be: 68b9 ldr r1, [r7, #8] 80347c0: 68f8 ldr r0, [r7, #12] 80347c2: f7ff f9fd bl 8033bc0 P[1] = -P[1]; 80347c6: 68fb ldr r3, [r7, #12] 80347c8: 3308 adds r3, #8 80347ca: 68fa ldr r2, [r7, #12] 80347cc: 3208 adds r2, #8 80347ce: ed92 7b00 vldr d7, [r2] 80347d2: eeb1 7b47 vneg.f64 d7, d7 80347d6: ed83 7b00 vstr d7, [r3] P[2] = b; 80347da: 68fb ldr r3, [r7, #12] 80347dc: f103 0210 add.w r2, r3, #16 80347e0: e9d7 3412 ldrd r3, r4, [r7, #72] ; 0x48 80347e4: e882 0018 stmia.w r2, {r3, r4} QuadRoots(P, RealRoot+2, ImagRoot+2); 80347e8: 68bb ldr r3, [r7, #8] 80347ea: f103 0110 add.w r1, r3, #16 80347ee: 687b ldr r3, [r7, #4] 80347f0: 3310 adds r3, #16 80347f2: 461a mov r2, r3 80347f4: 68f8 ldr r0, [r7, #12] 80347f6: f7ff f9e3 bl 8033bc0 for(k=0; k<4; k++)RealRoot[k] -= e; 80347fa: 2300 movs r3, #0 80347fc: 657b str r3, [r7, #84] ; 0x54 80347fe: e012 b.n 8034826 8034800: 6d7b ldr r3, [r7, #84] ; 0x54 8034802: 00db lsls r3, r3, #3 8034804: 68ba ldr r2, [r7, #8] 8034806: 4413 add r3, r2 8034808: 6d7a ldr r2, [r7, #84] ; 0x54 803480a: 00d2 lsls r2, r2, #3 803480c: 68b9 ldr r1, [r7, #8] 803480e: 440a add r2, r1 8034810: ed92 6b00 vldr d6, [r2] 8034814: ed97 7b0c vldr d7, [r7, #48] ; 0x30 8034818: ee36 7b47 vsub.f64 d7, d6, d7 803481c: ed83 7b00 vstr d7, [r3] 8034820: 6d7b ldr r3, [r7, #84] ; 0x54 8034822: 3301 adds r3, #1 8034824: 657b str r3, [r7, #84] ; 0x54 8034826: 6d7b ldr r3, [r7, #84] ; 0x54 8034828: 2b03 cmp r3, #3 803482a: dde9 ble.n 8034800 } 803482c: 375c adds r7, #92 ; 0x5c 803482e: 46bd mov sp, r7 8034830: bd90 pop {r4, r7, pc} 8034832: bf00 nop 8034834: f3af 8000 nop.w 8034838: e2308c3a .word 0xe2308c3a 803483c: be45798e .word 0xbe45798e 8034840: 00000000 .word 0x00000000 8034844: 3d040000 .word 0x3d040000 08034848 : extern float32_t Acorr[2]; extern char Serial[8]; void initDevice(void) { 8034848: b580 push {r7, lr} 803484a: af00 add r7, sp, #0 NeedOff = false; 803484c: 4b11 ldr r3, [pc, #68] ; (8034894 ) 803484e: 2200 movs r2, #0 8034850: 701a strb r2, [r3, #0] initAmplif(); 8034852: f7ed f91f bl 8021a94 MAX11270_StopMeas(); 8034856: f020 fbf1 bl 805503c SetKU(); 803485a: f7ed f80b bl 8021874 if(AskFormat == false) 803485e: 4b0e ldr r3, [pc, #56] ; (8034898 ) 8034860: 781b ldrb r3, [r3, #0] 8034862: b2db uxtb r3, r3 8034864: f083 0301 eor.w r3, r3, #1 8034868: b2db uxtb r3, r3 803486a: 2b00 cmp r3, #0 803486c: d006 beq.n 803487c { menu = OPTIONS; 803486e: 4b0b ldr r3, [pc, #44] ; (803489c ) 8034870: 2201 movs r2, #1 8034872: 701a strb r2, [r3, #0] menupos = Mode; 8034874: 4b0a ldr r3, [pc, #40] ; (80348a0 ) 8034876: 2201 movs r2, #1 8034878: 701a strb r2, [r3, #0] { menu = OPTIONS; menupos = AskFormatNo; AskFormat = false; } } 803487a: e008 b.n 803488e menu = OPTIONS; 803487c: 4b07 ldr r3, [pc, #28] ; (803489c ) 803487e: 2201 movs r2, #1 8034880: 701a strb r2, [r3, #0] menupos = AskFormatNo; 8034882: 4b07 ldr r3, [pc, #28] ; (80348a0 ) 8034884: 2205 movs r2, #5 8034886: 701a strb r2, [r3, #0] AskFormat = false; 8034888: 4b03 ldr r3, [pc, #12] ; (8034898 ) 803488a: 2200 movs r2, #0 803488c: 701a strb r2, [r3, #0] } 803488e: bf00 nop 8034890: bd80 pop {r7, pc} 8034892: bf00 nop 8034894: 20020f75 .word 0x20020f75 8034898: 2002164d .word 0x2002164d 803489c: 20020f78 .word 0x20020f78 80348a0: 20020070 .word 0x20020070 080348a4 : void NeedCalibrate(void) { 80348a4: b580 push {r7, lr} 80348a6: b082 sub sp, #8 80348a8: af00 add r7, sp, #0 uint32_t i, k; for(k = 0; k < 100; k++) 80348aa: 2300 movs r3, #0 80348ac: 603b str r3, [r7, #0] 80348ae: e04c b.n 803494a { if(readkey() == (KEY_TMP + KEY_UP)) 80348b0: f000 f8a6 bl 8034a00 80348b4: 4603 mov r3, r0 80348b6: 2b42 cmp r3, #66 ; 0x42 80348b8: d141 bne.n 803493e { clbr = true; 80348ba: 4b3c ldr r3, [pc, #240] ; (80349ac ) 80348bc: 2201 movs r2, #1 80348be: 701a strb r2, [r3, #0] pardata.SYG = VIB; 80348c0: 4b3b ldr r3, [pc, #236] ; (80349b0 ) 80348c2: 2200 movs r2, #0 80348c4: 701a strb r2, [r3, #0] pardata.IIN = ICP; 80348c6: 4b3a ldr r3, [pc, #232] ; (80349b0 ) 80348c8: 2201 movs r2, #1 80348ca: 719a strb r2, [r3, #6] pardata.IKU = Ku1; 80348cc: 4b38 ldr r3, [pc, #224] ; (80349b0 ) 80348ce: 2200 movs r2, #0 80348d0: 721a strb r2, [r3, #8] pardata.IVS[ACC] = RMS; 80348d2: 4b37 ldr r3, [pc, #220] ; (80349b0 ) 80348d4: 2201 movs r2, #1 80348d6: 709a strb r2, [r3, #2] menu = CALIBR_00; 80348d8: 4b36 ldr r3, [pc, #216] ; (80349b4 ) 80348da: 2234 movs r2, #52 ; 0x34 80348dc: 701a strb r2, [r3, #0] menupos = 0; 80348de: 4b36 ldr r3, [pc, #216] ; (80349b8 ) 80348e0: 2200 movs r2, #0 80348e2: 701a strb r2, [r3, #0] for(i = 0; i < 9; i++) { 80348e4: 2300 movs r3, #0 80348e6: 607b str r3, [r7, #4] 80348e8: e009 b.n 80348fe Kcorr[i] = 1.0f; 80348ea: 4a34 ldr r2, [pc, #208] ; (80349bc ) 80348ec: 687b ldr r3, [r7, #4] 80348ee: 009b lsls r3, r3, #2 80348f0: 4413 add r3, r2 80348f2: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 80348f6: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) { 80348f8: 687b ldr r3, [r7, #4] 80348fa: 3301 adds r3, #1 80348fc: 607b str r3, [r7, #4] 80348fe: 687b ldr r3, [r7, #4] 8034900: 2b08 cmp r3, #8 8034902: d9f2 bls.n 80348ea } Acorr[0] = 1.0f; 8034904: 4b2e ldr r3, [pc, #184] ; (80349c0 ) 8034906: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 803490a: 601a str r2, [r3, #0] Acorr[1] = 0.0f; 803490c: 4b2c ldr r3, [pc, #176] ; (80349c0 ) 803490e: f04f 0200 mov.w r2, #0 8034912: 605a str r2, [r3, #4] memset(Serial, 0, sizeof(Serial)); 8034914: 2208 movs r2, #8 8034916: 2100 movs r1, #0 8034918: 482a ldr r0, [pc, #168] ; (80349c4 ) 803491a: f098 fbb1 bl 80cd080 Serial[0] = '0'; 803491e: 4b29 ldr r3, [pc, #164] ; (80349c4 ) 8034920: 2230 movs r2, #48 ; 0x30 8034922: 701a strb r2, [r3, #0] Serial[1] = '0'; 8034924: 4b27 ldr r3, [pc, #156] ; (80349c4 ) 8034926: 2230 movs r2, #48 ; 0x30 8034928: 705a strb r2, [r3, #1] Serial[2] = '0'; 803492a: 4b26 ldr r3, [pc, #152] ; (80349c4 ) 803492c: 2230 movs r2, #48 ; 0x30 803492e: 709a strb r2, [r3, #2] Serial[3] = '0'; 8034930: 4b24 ldr r3, [pc, #144] ; (80349c4 ) 8034932: 2230 movs r2, #48 ; 0x30 8034934: 70da strb r2, [r3, #3] Serial[4] = '0'; 8034936: 4b23 ldr r3, [pc, #140] ; (80349c4 ) 8034938: 2230 movs r2, #48 ; 0x30 803493a: 711a strb r2, [r3, #4] break; 803493c: e008 b.n 8034950 } else clbr = false; 803493e: 4b1b ldr r3, [pc, #108] ; (80349ac ) 8034940: 2200 movs r2, #0 8034942: 701a strb r2, [r3, #0] for(k = 0; k < 100; k++) 8034944: 683b ldr r3, [r7, #0] 8034946: 3301 adds r3, #1 8034948: 603b str r3, [r7, #0] 803494a: 683b ldr r3, [r7, #0] 803494c: 2b63 cmp r3, #99 ; 0x63 803494e: d9af bls.n 80348b0 } if(!clbr) 8034950: 4b16 ldr r3, [pc, #88] ; (80349ac ) 8034952: 781b ldrb r3, [r3, #0] 8034954: b2db uxtb r3, r3 8034956: f083 0301 eor.w r3, r3, #1 803495a: b2db uxtb r3, r3 803495c: 2b00 cmp r3, #0 803495e: d020 beq.n 80349a2 { for(k = 0; k < 100; k++) 8034960: 2300 movs r3, #0 8034962: 603b str r3, [r7, #0] 8034964: e01a b.n 803499c { if(readkey() == (KEY_LT + KEY_RT)) 8034966: f000 f84b bl 8034a00 803496a: 4603 mov r3, r0 803496c: 2b18 cmp r3, #24 803496e: d112 bne.n 8034996 { #ifdef USE_ADG5401 HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_SET); #else HAL_GPIO_WritePin(KU_GPIO_Port, KU_Pin, GPIO_PIN_RESET); 8034970: 2200 movs r2, #0 8034972: f44f 4180 mov.w r1, #16384 ; 0x4000 8034976: 4814 ldr r0, [pc, #80] ; (80349c8 ) 8034978: f081 f936 bl 80b5be8 #endif pardata.FRQ = _64000Hz; 803497c: 4b0c ldr r3, [pc, #48] ; (80349b0 ) 803497e: 2209 movs r2, #9 8034980: 72da strb r2, [r3, #11] menu = CALIBR_OFFSET; 8034982: 4b0c ldr r3, [pc, #48] ; (80349b4 ) 8034984: 2241 movs r2, #65 ; 0x41 8034986: 701a strb r2, [r3, #0] menupos = 0; 8034988: 4b0b ldr r3, [pc, #44] ; (80349b8 ) 803498a: 2200 movs r2, #0 803498c: 701a strb r2, [r3, #0] CALC_OFFSET(); 803498e: f020 f965 bl 8054c5c break; 8034992: bf00 nop } } } } 8034994: e005 b.n 80349a2 for(k = 0; k < 100; k++) 8034996: 683b ldr r3, [r7, #0] 8034998: 3301 adds r3, #1 803499a: 603b str r3, [r7, #0] 803499c: 683b ldr r3, [r7, #0] 803499e: 2b63 cmp r3, #99 ; 0x63 80349a0: d9e1 bls.n 8034966 } 80349a2: bf00 nop 80349a4: 3708 adds r7, #8 80349a6: 46bd mov sp, r7 80349a8: bd80 pop {r7, pc} 80349aa: bf00 nop 80349ac: 20020f68 .word 0x20020f68 80349b0: 20023e60 .word 0x20023e60 80349b4: 20020f78 .word 0x20020f78 80349b8: 20020070 .word 0x20020070 80349bc: 20026194 .word 0x20026194 80349c0: 200684fc .word 0x200684fc 80349c4: 20026d04 .word 0x20026d04 80349c8: 40021800 .word 0x40021800 080349cc : void initKeys(void) { 80349cc: b580 push {r7, lr} 80349ce: af00 add r7, sp, #0 KeysIsReady = false; 80349d0: 4b09 ldr r3, [pc, #36] ; (80349f8 ) 80349d2: 2200 movs r2, #0 80349d4: 701a strb r2, [r3, #0] #ifdef KEYS_NEW HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_RESET); HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_RESET); #else HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_SET); 80349d6: 2201 movs r2, #1 80349d8: 2104 movs r1, #4 80349da: 4808 ldr r0, [pc, #32] ; (80349fc ) 80349dc: f081 f904 bl 80b5be8 HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); 80349e0: 2201 movs r2, #1 80349e2: 2110 movs r1, #16 80349e4: 4805 ldr r0, [pc, #20] ; (80349fc ) 80349e6: f081 f8ff bl 80b5be8 HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); 80349ea: 2201 movs r2, #1 80349ec: 2120 movs r1, #32 80349ee: 4803 ldr r0, [pc, #12] ; (80349fc ) 80349f0: f081 f8fa bl 80b5be8 #endif } 80349f4: bf00 nop 80349f6: bd80 pop {r7, pc} 80349f8: 20020f7f .word 0x20020f7f 80349fc: 40021000 .word 0x40021000 08034a00 : uint32_t readkey(void) { 8034a00: b580 push {r7, lr} 8034a02: b082 sub sp, #8 8034a04: af00 add r7, sp, #0 uint32_t key = 0; 8034a06: 2300 movs r3, #0 8034a08: 607b str r3, [r7, #4] if(KeysIsReady == false){ 8034a0a: 4b46 ldr r3, [pc, #280] ; (8034b24 ) 8034a0c: 781b ldrb r3, [r3, #0] 8034a0e: b2db uxtb r3, r3 8034a10: f083 0301 eor.w r3, r3, #1 8034a14: b2db uxtb r3, r3 8034a16: 2b00 cmp r3, #0 8034a18: d001 beq.n 8034a1e return 0; 8034a1a: 2300 movs r3, #0 8034a1c: e07e b.n 8034b1c } if(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET) { 8034a1e: 2101 movs r1, #1 8034a20: 4841 ldr r0, [pc, #260] ; (8034b28 ) 8034a22: f081 f8c9 bl 80b5bb8 8034a26: 4603 mov r3, r0 8034a28: 2b01 cmp r3, #1 8034a2a: d101 bne.n 8034a30 key = KEY_PW; 8034a2c: 2301 movs r3, #1 8034a2e: 607b str r3, [r7, #4] #ifndef KEYS_NEW //HAL_GPIO_WritePin(K1_GPIO_Port, K1_Pin, GPIO_PIN_SET); //todo //HAL_GPIO_WritePin(K2_GPIO_Port, K2_Pin, GPIO_PIN_SET); //todo HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_SET); 8034a30: 2201 movs r2, #1 8034a32: 2104 movs r1, #4 8034a34: 483d ldr r0, [pc, #244] ; (8034b2c ) 8034a36: f081 f8d7 bl 80b5be8 HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); 8034a3a: 2201 movs r2, #1 8034a3c: 2110 movs r1, #16 8034a3e: 483b ldr r0, [pc, #236] ; (8034b2c ) 8034a40: f081 f8d2 bl 80b5be8 HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); 8034a44: 2201 movs r2, #1 8034a46: 2120 movs r1, #32 8034a48: 4838 ldr r0, [pc, #224] ; (8034b2c ) 8034a4a: f081 f8cd bl 80b5be8 HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_RESET); 8034a4e: 2200 movs r2, #0 8034a50: 2104 movs r1, #4 8034a52: 4836 ldr r0, [pc, #216] ; (8034b2c ) 8034a54: f081 f8c8 bl 80b5be8 if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) 8034a58: f44f 7100 mov.w r1, #512 ; 0x200 8034a5c: 4832 ldr r0, [pc, #200] ; (8034b28 ) 8034a5e: f081 f8ab bl 80b5bb8 8034a62: 4603 mov r3, r0 8034a64: 2b00 cmp r3, #0 8034a66: d103 bne.n 8034a70 key |= KEY_OK; 8034a68: 687b ldr r3, [r7, #4] 8034a6a: f043 0320 orr.w r3, r3, #32 8034a6e: 607b str r3, [r7, #4] if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_RESET) 8034a70: f44f 6180 mov.w r1, #1024 ; 0x400 8034a74: 482c ldr r0, [pc, #176] ; (8034b28 ) 8034a76: f081 f89f bl 80b5bb8 8034a7a: 4603 mov r3, r0 8034a7c: 2b00 cmp r3, #0 8034a7e: d103 bne.n 8034a88 key |= KEY_TMP; 8034a80: 687b ldr r3, [r7, #4] 8034a82: f043 0340 orr.w r3, r3, #64 ; 0x40 8034a86: 607b str r3, [r7, #4] HAL_GPIO_WritePin(U1_GPIO_Port, U1_Pin, GPIO_PIN_SET); 8034a88: 2201 movs r2, #1 8034a8a: 2104 movs r1, #4 8034a8c: 4827 ldr r0, [pc, #156] ; (8034b2c ) 8034a8e: f081 f8ab bl 80b5be8 HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_RESET); 8034a92: 2200 movs r2, #0 8034a94: 2110 movs r1, #16 8034a96: 4825 ldr r0, [pc, #148] ; (8034b2c ) 8034a98: f081 f8a6 bl 80b5be8 if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) 8034a9c: f44f 7100 mov.w r1, #512 ; 0x200 8034aa0: 4821 ldr r0, [pc, #132] ; (8034b28 ) 8034aa2: f081 f889 bl 80b5bb8 8034aa6: 4603 mov r3, r0 8034aa8: 2b00 cmp r3, #0 8034aaa: d103 bne.n 8034ab4 key |= KEY_LT; 8034aac: 687b ldr r3, [r7, #4] 8034aae: f043 0310 orr.w r3, r3, #16 8034ab2: 607b str r3, [r7, #4] if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_RESET) 8034ab4: f44f 6180 mov.w r1, #1024 ; 0x400 8034ab8: 481b ldr r0, [pc, #108] ; (8034b28 ) 8034aba: f081 f87d bl 80b5bb8 8034abe: 4603 mov r3, r0 8034ac0: 2b00 cmp r3, #0 8034ac2: d103 bne.n 8034acc key |= KEY_RT; 8034ac4: 687b ldr r3, [r7, #4] 8034ac6: f043 0308 orr.w r3, r3, #8 8034aca: 607b str r3, [r7, #4] HAL_GPIO_WritePin(U2_GPIO_Port, U2_Pin, GPIO_PIN_SET); 8034acc: 2201 movs r2, #1 8034ace: 2110 movs r1, #16 8034ad0: 4816 ldr r0, [pc, #88] ; (8034b2c ) 8034ad2: f081 f889 bl 80b5be8 HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_RESET); 8034ad6: 2200 movs r2, #0 8034ad8: 2120 movs r1, #32 8034ada: 4814 ldr r0, [pc, #80] ; (8034b2c ) 8034adc: f081 f884 bl 80b5be8 if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_RESET) 8034ae0: f44f 7100 mov.w r1, #512 ; 0x200 8034ae4: 4810 ldr r0, [pc, #64] ; (8034b28 ) 8034ae6: f081 f867 bl 80b5bb8 8034aea: 4603 mov r3, r0 8034aec: 2b00 cmp r3, #0 8034aee: d103 bne.n 8034af8 key |= KEY_UP; 8034af0: 687b ldr r3, [r7, #4] 8034af2: f043 0302 orr.w r3, r3, #2 8034af6: 607b str r3, [r7, #4] if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_RESET) 8034af8: f44f 6180 mov.w r1, #1024 ; 0x400 8034afc: 480a ldr r0, [pc, #40] ; (8034b28 ) 8034afe: f081 f85b bl 80b5bb8 8034b02: 4603 mov r3, r0 8034b04: 2b00 cmp r3, #0 8034b06: d103 bne.n 8034b10 key |= KEY_DN; 8034b08: 687b ldr r3, [r7, #4] 8034b0a: f043 0304 orr.w r3, r3, #4 8034b0e: 607b str r3, [r7, #4] HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_SET); 8034b10: 2201 movs r2, #1 8034b12: 2120 movs r1, #32 8034b14: 4805 ldr r0, [pc, #20] ; (8034b2c ) 8034b16: f081 f867 bl 80b5be8 if(HAL_GPIO_ReadPin(K1_GPIO_Port, K1_Pin) == GPIO_PIN_SET) key |= KEY_UP; if(HAL_GPIO_ReadPin(K2_GPIO_Port, K2_Pin) == GPIO_PIN_SET) key |= KEY_DN; HAL_GPIO_WritePin(U3_GPIO_Port, U3_Pin, GPIO_PIN_RESET); #endif return key; 8034b1a: 687b ldr r3, [r7, #4] } 8034b1c: 4618 mov r0, r3 8034b1e: 3708 adds r7, #8 8034b20: 46bd mov sp, r7 8034b22: bd80 pop {r7, pc} 8034b24: 20020f7f .word 0x20020f7f 8034b28: 40020000 .word 0x40020000 8034b2c: 40021000 .word 0x40021000 08034b30 : uint32_t kbhit(void) { 8034b30: b580 push {r7, lr} 8034b32: b082 sub sp, #8 8034b34: af00 add r7, sp, #0 static uint16_t rep = 50; do { key = readkey(); 8034b36: f7ff ff63 bl 8034a00 8034b3a: 4603 mov r3, r0 8034b3c: 607b str r3, [r7, #4] if(!key) 8034b3e: 687b ldr r3, [r7, #4] 8034b40: 2b00 cmp r3, #0 8034b42: d10d bne.n 8034b60 { if(dreb) 8034b44: 4b4e ldr r3, [pc, #312] ; (8034c80 ) 8034b46: 681b ldr r3, [r3, #0] 8034b48: 2b00 cmp r3, #0 8034b4a: d005 beq.n 8034b58 dreb--; 8034b4c: 4b4c ldr r3, [pc, #304] ; (8034c80 ) 8034b4e: 681b ldr r3, [r3, #0] 8034b50: 3b01 subs r3, #1 8034b52: 4a4b ldr r2, [pc, #300] ; (8034c80 ) 8034b54: 6013 str r3, [r2, #0] 8034b56: e00c b.n 8034b72 else first = 1; 8034b58: 4b4a ldr r3, [pc, #296] ; (8034c84 ) 8034b5a: 2201 movs r2, #1 8034b5c: 701a strb r2, [r3, #0] 8034b5e: e008 b.n 8034b72 } else { if(dreb < KEY_DBZ) 8034b60: 4b47 ldr r3, [pc, #284] ; (8034c80 ) 8034b62: 681b ldr r3, [r3, #0] 8034b64: 2b01 cmp r3, #1 8034b66: d804 bhi.n 8034b72 dreb++; 8034b68: 4b45 ldr r3, [pc, #276] ; (8034c80 ) 8034b6a: 681b ldr r3, [r3, #0] 8034b6c: 3301 adds r3, #1 8034b6e: 4a44 ldr r2, [pc, #272] ; (8034c80 ) 8034b70: 6013 str r3, [r2, #0] } } while((dreb > 0) && (dreb < KEY_DBZ)); 8034b72: 4b43 ldr r3, [pc, #268] ; (8034c80 ) 8034b74: 681b ldr r3, [r3, #0] 8034b76: 2b00 cmp r3, #0 8034b78: d003 beq.n 8034b82 8034b7a: 4b41 ldr r3, [pc, #260] ; (8034c80 ) 8034b7c: 681b ldr r3, [r3, #0] 8034b7e: 2b01 cmp r3, #1 8034b80: d9d9 bls.n 8034b36 if((key == KEY_PW) && (menu != POWER_OFF) && (menu != POWER_OFF2) && (LinkPC == 0) && (!ChargerIsConnect)) 8034b82: 687b ldr r3, [r7, #4] 8034b84: 2b01 cmp r3, #1 8034b86: d13e bne.n 8034c06 8034b88: 4b3f ldr r3, [pc, #252] ; (8034c88 ) 8034b8a: 781b ldrb r3, [r3, #0] 8034b8c: b2db uxtb r3, r3 8034b8e: 2b43 cmp r3, #67 ; 0x43 8034b90: d039 beq.n 8034c06 8034b92: 4b3d ldr r3, [pc, #244] ; (8034c88 ) 8034b94: 781b ldrb r3, [r3, #0] 8034b96: b2db uxtb r3, r3 8034b98: 2b44 cmp r3, #68 ; 0x44 8034b9a: d034 beq.n 8034c06 8034b9c: 4b3b ldr r3, [pc, #236] ; (8034c8c ) 8034b9e: 781b ldrb r3, [r3, #0] 8034ba0: b2db uxtb r3, r3 8034ba2: 2b00 cmp r3, #0 8034ba4: d12f bne.n 8034c06 8034ba6: 4b3a ldr r3, [pc, #232] ; (8034c90 ) 8034ba8: 781b ldrb r3, [r3, #0] 8034baa: b2db uxtb r3, r3 8034bac: f083 0301 eor.w r3, r3, #1 8034bb0: b2db uxtb r3, r3 8034bb2: 2b00 cmp r3, #0 8034bb4: d027 beq.n 8034c06 { do { key = readkey(); 8034bb6: f7ff ff23 bl 8034a00 8034bba: 4603 mov r3, r0 8034bbc: 607b str r3, [r7, #4] if(!key) 8034bbe: 687b ldr r3, [r7, #4] 8034bc0: 2b00 cmp r3, #0 8034bc2: d10d bne.n 8034be0 { if(dreb) 8034bc4: 4b2e ldr r3, [pc, #184] ; (8034c80 ) 8034bc6: 681b ldr r3, [r3, #0] 8034bc8: 2b00 cmp r3, #0 8034bca: d005 beq.n 8034bd8 dreb--; 8034bcc: 4b2c ldr r3, [pc, #176] ; (8034c80 ) 8034bce: 681b ldr r3, [r3, #0] 8034bd0: 3b01 subs r3, #1 8034bd2: 4a2b ldr r2, [pc, #172] ; (8034c80 ) 8034bd4: 6013 str r3, [r2, #0] 8034bd6: e00d b.n 8034bf4 else first = 1; 8034bd8: 4b2a ldr r3, [pc, #168] ; (8034c84 ) 8034bda: 2201 movs r2, #1 8034bdc: 701a strb r2, [r3, #0] 8034bde: e009 b.n 8034bf4 } else { if(dreb < 200000) 8034be0: 4b27 ldr r3, [pc, #156] ; (8034c80 ) 8034be2: 681b ldr r3, [r3, #0] 8034be4: 4a2b ldr r2, [pc, #172] ; (8034c94 ) 8034be6: 4293 cmp r3, r2 8034be8: d804 bhi.n 8034bf4 dreb++; 8034bea: 4b25 ldr r3, [pc, #148] ; (8034c80 ) 8034bec: 681b ldr r3, [r3, #0] 8034bee: 3301 adds r3, #1 8034bf0: 4a23 ldr r2, [pc, #140] ; (8034c80 ) 8034bf2: 6013 str r3, [r2, #0] } } while((dreb > 0) && (dreb < 200000)); 8034bf4: 4b22 ldr r3, [pc, #136] ; (8034c80 ) 8034bf6: 681b ldr r3, [r3, #0] 8034bf8: 2b00 cmp r3, #0 8034bfa: d004 beq.n 8034c06 8034bfc: 4b20 ldr r3, [pc, #128] ; (8034c80 ) 8034bfe: 681b ldr r3, [r3, #0] 8034c00: 4a24 ldr r2, [pc, #144] ; (8034c94 ) 8034c02: 4293 cmp r3, r2 8034c04: d9d7 bls.n 8034bb6 } if(!key) //åñëè êíîïêè îòïóùåíû 8034c06: 687b ldr r3, [r7, #4] 8034c08: 2b00 cmp r3, #0 8034c0a: d104 bne.n 8034c16 { first = 1; //äîñòîâåðíî êíîïêè îòïóùåíû 8034c0c: 4b1d ldr r3, [pc, #116] ; (8034c84 ) 8034c0e: 2201 movs r2, #1 8034c10: 701a strb r2, [r3, #0] return 0; //âåðíóòü 0 8034c12: 2300 movs r3, #0 8034c14: e02f b.n 8034c76 } else //èíà÷å { if(first) //îïðåäåëèòü êíîïêó 8034c16: 4b1b ldr r3, [pc, #108] ; (8034c84 ) 8034c18: 781b ldrb r3, [r3, #0] 8034c1a: 2b00 cmp r3, #0 8034c1c: d00c beq.n 8034c38 { //òîëüêî îäèí ðàç first = 0; //çà íàæàòèå 8034c1e: 4b19 ldr r3, [pc, #100] ; (8034c84 ) 8034c20: 2200 movs r2, #0 8034c22: 701a strb r2, [r3, #0] repeat = rep = 2000; 8034c24: 4b1c ldr r3, [pc, #112] ; (8034c98 ) 8034c26: f44f 62fa mov.w r2, #2000 ; 0x7d0 8034c2a: 801a strh r2, [r3, #0] 8034c2c: 4b1a ldr r3, [pc, #104] ; (8034c98 ) 8034c2e: 881a ldrh r2, [r3, #0] 8034c30: 4b1a ldr r3, [pc, #104] ; (8034c9c ) 8034c32: 801a strh r2, [r3, #0] return key; //âåðíóòü â ãëàâíóþ ôóíêöèþ ñîñòîÿíèå êëàâèàòóðû 8034c34: 687b ldr r3, [r7, #4] 8034c36: e01e b.n 8034c76 } else { if(repeat) 8034c38: 4b18 ldr r3, [pc, #96] ; (8034c9c ) 8034c3a: 881b ldrh r3, [r3, #0] 8034c3c: b29b uxth r3, r3 8034c3e: 2b00 cmp r3, #0 8034c40: d001 beq.n 8034c46 return 0; //èìèòàöèÿ ñâîáîäíîé êëàâèàòóðû 8034c42: 2300 movs r3, #0 8034c44: e017 b.n 8034c76 else { if(rep > 0) 8034c46: 4b14 ldr r3, [pc, #80] ; (8034c98 ) 8034c48: 881b ldrh r3, [r3, #0] 8034c4a: 2b00 cmp r3, #0 8034c4c: d006 beq.n 8034c5c rep >>= 1; 8034c4e: 4b12 ldr r3, [pc, #72] ; (8034c98 ) 8034c50: 881b ldrh r3, [r3, #0] 8034c52: 085b lsrs r3, r3, #1 8034c54: b29a uxth r2, r3 8034c56: 4b10 ldr r3, [pc, #64] ; (8034c98 ) 8034c58: 801a strh r2, [r3, #0] 8034c5a: e002 b.n 8034c62 else rep = 100; 8034c5c: 4b0e ldr r3, [pc, #56] ; (8034c98 ) 8034c5e: 2264 movs r2, #100 ; 0x64 8034c60: 801a strh r2, [r3, #0] repeat = rep; 8034c62: 4b0d ldr r3, [pc, #52] ; (8034c98 ) 8034c64: 881a ldrh r2, [r3, #0] 8034c66: 4b0d ldr r3, [pc, #52] ; (8034c9c ) 8034c68: 801a strh r2, [r3, #0] if(key == KEY_PW) 8034c6a: 687b ldr r3, [r7, #4] 8034c6c: 2b01 cmp r3, #1 8034c6e: d101 bne.n 8034c74 return 0; 8034c70: 2300 movs r3, #0 8034c72: e000 b.n 8034c76 return key; 8034c74: 687b ldr r3, [r7, #4] } } } } 8034c76: 4618 mov r0, r3 8034c78: 3708 adds r7, #8 8034c7a: 46bd mov sp, r7 8034c7c: bd80 pop {r7, pc} 8034c7e: bf00 nop 8034c80: 20020f88 .word 0x20020f88 8034c84: 20020072 .word 0x20020072 8034c88: 20020f78 .word 0x20020f78 8034c8c: 20021b23 .word 0x20021b23 8034c90: 20021b22 .word 0x20021b22 8034c94: 00030d3f .word 0x00030d3f 8034c98: 20020074 .word 0x20020074 8034c9c: 20020f7c .word 0x20020f7c 08034ca0 : void keyIns(void) { 8034ca0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 8034ca4: b0b3 sub sp, #204 ; 0xcc 8034ca6: af00 add r7, sp, #0 uint16_t multA_u16, multB_u16, dX, dXold, MaxLevel; char string[40], str[40]; FRESULT result; float32_t f, fl; uint32_t Year, Month, Day, Hour, Min, Sec; float32_t fa[3] = {0, 0, 0}; 8034ca8: f04f 0300 mov.w r3, #0 8034cac: 613b str r3, [r7, #16] 8034cae: f04f 0300 mov.w r3, #0 8034cb2: 617b str r3, [r7, #20] 8034cb4: f04f 0300 mov.w r3, #0 8034cb8: 61bb str r3, [r7, #24] float32_t ff[3] = {0, 0, 0}; 8034cba: f04f 0300 mov.w r3, #0 8034cbe: 607b str r3, [r7, #4] 8034cc0: f04f 0300 mov.w r3, #0 8034cc4: 60bb str r3, [r7, #8] 8034cc6: f04f 0300 mov.w r3, #0 8034cca: 60fb str r3, [r7, #12] float64_t f64; uint8_t tmp8; key = KEY_STATE; 8034ccc: 4bd5 ldr r3, [pc, #852] ; (8035024 ) 8034cce: 681b ldr r3, [r3, #0] 8034cd0: f8c7 30ac str.w r3, [r7, #172] ; 0xac KEY_STATE = 0; 8034cd4: 4bd3 ldr r3, [pc, #844] ; (8035024 ) 8034cd6: 2200 movs r2, #0 8034cd8: 601a str r2, [r3, #0] if(key) 8034cda: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8034cde: 2b00 cmp r3, #0 8034ce0: f01e 805b beq.w 8052d9a { TIMEOUT_OFF = min15; 8034ce4: 4bd0 ldr r3, [pc, #832] ; (8035028 ) 8034ce6: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 8034cea: 601a str r2, [r3, #0] TIMEOUT_OFF2 = sec10; 8034cec: 4bcf ldr r3, [pc, #828] ; (803502c ) 8034cee: f44f 42a0 mov.w r2, #20480 ; 0x5000 8034cf2: 601a str r2, [r3, #0] if(DrawStatus) 8034cf4: 4bce ldr r3, [pc, #824] ; (8035030 ) 8034cf6: 781b ldrb r3, [r3, #0] 8034cf8: b2db uxtb r3, r3 8034cfa: 2b00 cmp r3, #0 8034cfc: d016 beq.n 8034d2c { DrawStatus = false; 8034cfe: 4bcc ldr r3, [pc, #816] ; (8035030 ) 8034d00: 2200 movs r2, #0 8034d02: 701a strb r2, [r3, #0] timerStatus = 0; 8034d04: 4bcb ldr r3, [pc, #812] ; (8035034 ) 8034d06: 2200 movs r2, #0 8034d08: 801a strh r2, [r3, #0] STATUS = AP_OK; 8034d0a: 4bcb ldr r3, [pc, #812] ; (8035038 ) 8034d0c: 2200 movs r2, #0 8034d0e: 601a str r2, [r3, #0] ThisFileExist = false; 8034d10: 4bca ldr r3, [pc, #808] ; (803503c ) 8034d12: 2200 movs r2, #0 8034d14: 701a strb r2, [r3, #0] SavingPassed = false; 8034d16: 4bca ldr r3, [pc, #808] ; (8035040 ) 8034d18: 2200 movs r2, #0 8034d1a: 701a strb r2, [r3, #0] SavingUnable = false; 8034d1c: 4bc9 ldr r3, [pc, #804] ; (8035044 ) 8034d1e: 2200 movs r2, #0 8034d20: 701a strb r2, [r3, #0] AddToFile = false; 8034d22: 4bc9 ldr r3, [pc, #804] ; (8035048 ) 8034d24: 2200 movs r2, #0 8034d26: 701a strb r2, [r3, #0] return; 8034d28: f01e b837 b.w 8052d9a } if(menu == POWER_OFF2) 8034d2c: 4bc7 ldr r3, [pc, #796] ; (803504c ) 8034d2e: 781b ldrb r3, [r3, #0] 8034d30: b2db uxtb r3, r3 8034d32: 2b44 cmp r3, #68 ; 0x44 8034d34: d111 bne.n 8034d5a { if(ChargerIsConnect == true) 8034d36: 4bc6 ldr r3, [pc, #792] ; (8035050 ) 8034d38: 781b ldrb r3, [r3, #0] 8034d3a: b2db uxtb r3, r3 8034d3c: 2b00 cmp r3, #0 8034d3e: f01e 801f beq.w 8052d80 { menu = POWER_OFF; 8034d42: 4bc2 ldr r3, [pc, #776] ; (803504c ) 8034d44: 2243 movs r2, #67 ; 0x43 8034d46: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 8034d48: 4bb8 ldr r3, [pc, #736] ; (803502c ) 8034d4a: f44f 42a0 mov.w r2, #20480 ; 0x5000 8034d4e: 601a str r2, [r3, #0] needDispOn = true; 8034d50: 4bc0 ldr r3, [pc, #768] ; (8035054 ) 8034d52: 2201 movs r2, #1 8034d54: 701a strb r2, [r3, #0] } return; 8034d56: f01e b813 b.w 8052d80 } switch(key) 8034d5a: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 8034d5e: 3b01 subs r3, #1 8034d60: 2b3f cmp r3, #63 ; 0x3f 8034d62: f21e 801a bhi.w 8052d9a 8034d66: a201 add r2, pc, #4 ; (adr r2, 8034d6c ) 8034d68: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8034d6c: 08052d9b .word 0x08052d9b 8034d70: 08034e6d .word 0x08034e6d 8034d74: 08052d9b .word 0x08052d9b 8034d78: 0803be75 .word 0x0803be75 8034d7c: 08052d9b .word 0x08052d9b 8034d80: 08052d9b .word 0x08052d9b 8034d84: 08052d9b .word 0x08052d9b 8034d88: 080461f5 .word 0x080461f5 8034d8c: 08052d9b .word 0x08052d9b 8034d90: 08052d9b .word 0x08052d9b 8034d94: 08052d9b .word 0x08052d9b 8034d98: 08052d9b .word 0x08052d9b 8034d9c: 08052d9b .word 0x08052d9b 8034da0: 08052d9b .word 0x08052d9b 8034da4: 08052d9b .word 0x08052d9b 8034da8: 080439f5 .word 0x080439f5 8034dac: 08052d9b .word 0x08052d9b 8034db0: 08052d9b .word 0x08052d9b 8034db4: 08052d9b .word 0x08052d9b 8034db8: 08052d9b .word 0x08052d9b 8034dbc: 08052d9b .word 0x08052d9b 8034dc0: 08052d9b .word 0x08052d9b 8034dc4: 08052d9b .word 0x08052d9b 8034dc8: 08052d9b .word 0x08052d9b 8034dcc: 08052d9b .word 0x08052d9b 8034dd0: 08052d9b .word 0x08052d9b 8034dd4: 08052d9b .word 0x08052d9b 8034dd8: 08052d9b .word 0x08052d9b 8034ddc: 08052d9b .word 0x08052d9b 8034de0: 08052d9b .word 0x08052d9b 8034de4: 08052d9b .word 0x08052d9b 8034de8: 080496ab .word 0x080496ab 8034dec: 08052d9b .word 0x08052d9b 8034df0: 08052d9b .word 0x08052d9b 8034df4: 08052d9b .word 0x08052d9b 8034df8: 08052d9b .word 0x08052d9b 8034dfc: 08052d9b .word 0x08052d9b 8034e00: 08052d9b .word 0x08052d9b 8034e04: 08052d9b .word 0x08052d9b 8034e08: 08052d9b .word 0x08052d9b 8034e0c: 08052d9b .word 0x08052d9b 8034e10: 08052d9b .word 0x08052d9b 8034e14: 08052d9b .word 0x08052d9b 8034e18: 08052d9b .word 0x08052d9b 8034e1c: 08052d9b .word 0x08052d9b 8034e20: 08052d9b .word 0x08052d9b 8034e24: 08052d9b .word 0x08052d9b 8034e28: 08052d9b .word 0x08052d9b 8034e2c: 08052d9b .word 0x08052d9b 8034e30: 08052d9b .word 0x08052d9b 8034e34: 08052d9b .word 0x08052d9b 8034e38: 08052d9b .word 0x08052d9b 8034e3c: 08052d9b .word 0x08052d9b 8034e40: 08052d9b .word 0x08052d9b 8034e44: 08052d9b .word 0x08052d9b 8034e48: 08052d9b .word 0x08052d9b 8034e4c: 08052d9b .word 0x08052d9b 8034e50: 08052d9b .word 0x08052d9b 8034e54: 08052d9b .word 0x08052d9b 8034e58: 08052d9b .word 0x08052d9b 8034e5c: 08052d9b .word 0x08052d9b 8034e60: 08052d9b .word 0x08052d9b 8034e64: 08052d9b .word 0x08052d9b 8034e68: 08048f1b .word 0x08048f1b { case KEY_UP://TODO KEY UP switch(menu) 8034e6c: 4b77 ldr r3, [pc, #476] ; (803504c ) 8034e6e: 781b ldrb r3, [r3, #0] 8034e70: b2db uxtb r3, r3 8034e72: 2b47 cmp r3, #71 ; 0x47 8034e74: f21d 8786 bhi.w 8052d84 8034e78: a201 add r2, pc, #4 ; (adr r2, 8034e80 ) 8034e7a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8034e7e: bf00 nop 8034e80: 08036743 .word 0x08036743 8034e84: 08036ebb .word 0x08036ebb 8034e88: 08036eeb .word 0x08036eeb 8034e8c: 0803bd4f .word 0x0803bd4f 8034e90: 0803af4d .word 0x0803af4d 8034e94: 08052d85 .word 0x08052d85 8034e98: 08038327 .word 0x08038327 8034e9c: 08038cf9 .word 0x08038cf9 8034ea0: 0803a20f .word 0x0803a20f 8034ea4: 08052d85 .word 0x08052d85 8034ea8: 0803b239 .word 0x0803b239 8034eac: 08052d85 .word 0x08052d85 8034eb0: 08052d85 .word 0x08052d85 8034eb4: 08037393 .word 0x08037393 8034eb8: 08036f41 .word 0x08036f41 8034ebc: 08034fa1 .word 0x08034fa1 8034ec0: 080352dd .word 0x080352dd 8034ec4: 08035303 .word 0x08035303 8034ec8: 0803b885 .word 0x0803b885 8034ecc: 08052d85 .word 0x08052d85 8034ed0: 0803bc37 .word 0x0803bc37 8034ed4: 0803bc59 .word 0x0803bc59 8034ed8: 0803bcab .word 0x0803bcab 8034edc: 0803bcfd .word 0x0803bcfd 8034ee0: 0803bb1f .word 0x0803bb1f 8034ee4: 0803bbe5 .word 0x0803bbe5 8034ee8: 08052d85 .word 0x08052d85 8034eec: 08052d85 .word 0x08052d85 8034ef0: 080369a9 .word 0x080369a9 8034ef4: 0803692f .word 0x0803692f 8034ef8: 08052d85 .word 0x08052d85 8034efc: 08036743 .word 0x08036743 8034f00: 08036d81 .word 0x08036d81 8034f04: 08036b9b .word 0x08036b9b 8034f08: 08036c3d .word 0x08036c3d 8034f0c: 08036cdf .word 0x08036cdf 8034f10: 08036ab1 .word 0x08036ab1 8034f14: 08036611 .word 0x08036611 8034f18: 0803664b .word 0x0803664b 8034f1c: 080365cd .word 0x080365cd 8034f20: 08036a4b .word 0x08036a4b 8034f24: 08036df1 .word 0x08036df1 8034f28: 0803bdc3 .word 0x0803bdc3 8034f2c: 08036e59 .word 0x08036e59 8034f30: 08036e59 .word 0x08036e59 8034f34: 08036e59 .word 0x08036e59 8034f38: 08052d85 .word 0x08052d85 8034f3c: 08036e59 .word 0x08036e59 8034f40: 08036e59 .word 0x08036e59 8034f44: 08036e59 .word 0x08036e59 8034f48: 08036e59 .word 0x08036e59 8034f4c: 08036e59 .word 0x08036e59 8034f50: 0803bd9f .word 0x0803bd9f 8034f54: 08052d85 .word 0x08052d85 8034f58: 08052d85 .word 0x08052d85 8034f5c: 08052d85 .word 0x08052d85 8034f60: 08052d85 .word 0x08052d85 8034f64: 08052d85 .word 0x08052d85 8034f68: 08052d85 .word 0x08052d85 8034f6c: 08052d85 .word 0x08052d85 8034f70: 08052d85 .word 0x08052d85 8034f74: 08052d85 .word 0x08052d85 8034f78: 08052d85 .word 0x08052d85 8034f7c: 08052d85 .word 0x08052d85 8034f80: 08052d85 .word 0x08052d85 8034f84: 08052d85 .word 0x08052d85 8034f88: 08052d85 .word 0x08052d85 8034f8c: 08052d85 .word 0x08052d85 8034f90: 08052d85 .word 0x08052d85 8034f94: 080365f3 .word 0x080365f3 8034f98: 080365fd .word 0x080365fd 8034f9c: 08036607 .word 0x08036607 { case PARAM_DIAGN: focused = false; 8034fa0: 4b2d ldr r3, [pc, #180] ; (8035058 ) 8034fa2: 2200 movs r2, #0 8034fa4: 701a strb r2, [r3, #0] if(menupos == DiagUs) 8034fa6: 4b2d ldr r3, [pc, #180] ; (803505c ) 8034fa8: 781b ldrb r3, [r3, #0] 8034faa: b2db uxtb r3, r3 8034fac: 2b00 cmp r3, #0 8034fae: d104 bne.n 8034fba menupos = DiagSaveToFile; 8034fb0: 4b2a ldr r3, [pc, #168] ; (803505c ) 8034fb2: 2204 movs r2, #4 8034fb4: 701a strb r2, [r3, #0] pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 8034fb6: f006 bf07 b.w 803bdc8 if(menupos == DiagSaveToFile) 8034fba: 4b28 ldr r3, [pc, #160] ; (803505c ) 8034fbc: 781b ldrb r3, [r3, #0] 8034fbe: b2db uxtb r3, r3 8034fc0: 2b04 cmp r3, #4 8034fc2: d110 bne.n 8034fe6 if(pardata.OPTIONS & 0x4) 8034fc4: 4b26 ldr r3, [pc, #152] ; (8035060 ) 8034fc6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8034fca: f003 0304 and.w r3, r3, #4 8034fce: 2b00 cmp r3, #0 8034fd0: d004 beq.n 8034fdc menupos = DiagAutoKu; 8034fd2: 4b22 ldr r3, [pc, #136] ; (803505c ) 8034fd4: 2202 movs r2, #2 8034fd6: 701a strb r2, [r3, #0] break; 8034fd8: f006 bef6 b.w 803bdc8 else menupos = DiagMax_ALL; 8034fdc: 4b1f ldr r3, [pc, #124] ; (803505c ) 8034fde: 2203 movs r2, #3 8034fe0: 701a strb r2, [r3, #0] break; 8034fe2: f006 bef1 b.w 803bdc8 if(menupos == DiagMax_ALL) 8034fe6: 4b1d ldr r3, [pc, #116] ; (803505c ) 8034fe8: 781b ldrb r3, [r3, #0] 8034fea: b2db uxtb r3, r3 8034fec: 2b03 cmp r3, #3 8034fee: d104 bne.n 8034ffa menupos = DiagAutoKu; 8034ff0: 4b1a ldr r3, [pc, #104] ; (803505c ) 8034ff2: 2202 movs r2, #2 8034ff4: 701a strb r2, [r3, #0] break; 8034ff6: f006 bee7 b.w 803bdc8 if(menupos == DiagAutoKu) 8034ffa: 4b18 ldr r3, [pc, #96] ; (803505c ) 8034ffc: 781b ldrb r3, [r3, #0] 8034ffe: b2db uxtb r3, r3 8035000: 2b02 cmp r3, #2 8035002: d104 bne.n 803500e menupos = DiagAverage; 8035004: 4b15 ldr r3, [pc, #84] ; (803505c ) 8035006: 2201 movs r2, #1 8035008: 701a strb r2, [r3, #0] break; 803500a: f006 bedd b.w 803bdc8 if(menupos == DiagAverage) 803500e: 4b13 ldr r3, [pc, #76] ; (803505c ) 8035010: 781b ldrb r3, [r3, #0] 8035012: b2db uxtb r3, r3 8035014: 2b01 cmp r3, #1 8035016: d125 bne.n 8035064 menupos = DiagUs; 8035018: 4b10 ldr r3, [pc, #64] ; (803505c ) 803501a: 2200 movs r2, #0 803501c: 701a strb r2, [r3, #0] break; 803501e: f006 bed3 b.w 803bdc8 8035022: bf00 nop 8035024: 20020f80 .word 0x20020f80 8035028: 200209c0 .word 0x200209c0 803502c: 200209c4 .word 0x200209c4 8035030: 20020dd2 .word 0x20020dd2 8035034: 2002168c .word 0x2002168c 8035038: 20020dcc .word 0x20020dcc 803503c: 20020dd5 .word 0x20020dd5 8035040: 20020dd4 .word 0x20020dd4 8035044: 20020dd6 .word 0x20020dd6 8035048: 20020dc8 .word 0x20020dc8 803504c: 20020f78 .word 0x20020f78 8035050: 20021b22 .word 0x20021b22 8035054: 20021b24 .word 0x20021b24 8035058: 20020f84 .word 0x20020f84 803505c: 20020070 .word 0x20020070 8035060: 20023e60 .word 0x20023e60 if((menupos >= DiagMax_IDT) && (menupos <= DiagMax_IKD)) 8035064: 4bbe ldr r3, [pc, #760] ; (8035360 ) 8035066: 781b ldrb r3, [r3, #0] 8035068: b2db uxtb r3, r3 803506a: 2b04 cmp r3, #4 803506c: f246 86ac bls.w 803bdc8 8035070: 4bbb ldr r3, [pc, #748] ; (8035360 ) 8035072: 781b ldrb r3, [r3, #0] 8035074: b2db uxtb r3, r3 8035076: 2b0a cmp r3, #10 8035078: f206 86a6 bhi.w 803bdc8 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803507c: 4bb9 ldr r3, [pc, #740] ; (8035364 ) 803507e: edd3 7a06 vldr s15, [r3, #24] 8035082: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8035086: ee67 7a87 vmul.f32 s15, s15, s14 803508a: eefc 7ae7 vcvt.u32.f32 s15, s15 803508e: ee17 3a90 vmov r3, s15 8035092: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8035096: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803509a: 095b lsrs r3, r3, #5 803509c: 4ab2 ldr r2, [pc, #712] ; (8035368 ) 803509e: fba2 2303 umull r2, r3, r2, r3 80350a2: 09db lsrs r3, r3, #7 80350a4: b2db uxtb r3, r3 80350a6: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80350aa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80350ae: 0953 lsrs r3, r2, #5 80350b0: 49ad ldr r1, [pc, #692] ; (8035368 ) 80350b2: fba1 1303 umull r1, r3, r1, r3 80350b6: 09db lsrs r3, r3, #7 80350b8: 49ac ldr r1, [pc, #688] ; (803536c ) 80350ba: fb01 f303 mul.w r3, r1, r3 80350be: 1ad3 subs r3, r2, r3 80350c0: 4aab ldr r2, [pc, #684] ; (8035370 ) 80350c2: fba2 2303 umull r2, r3, r2, r3 80350c6: 0b5b lsrs r3, r3, #13 80350c8: b2db uxtb r3, r3 80350ca: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80350ce: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80350d2: 0953 lsrs r3, r2, #5 80350d4: 49a4 ldr r1, [pc, #656] ; (8035368 ) 80350d6: fba1 1303 umull r1, r3, r1, r3 80350da: 09db lsrs r3, r3, #7 80350dc: 49a3 ldr r1, [pc, #652] ; (803536c ) 80350de: fb01 f303 mul.w r3, r1, r3 80350e2: 1ad3 subs r3, r2, r3 80350e4: 4aa2 ldr r2, [pc, #648] ; (8035370 ) 80350e6: fba2 1203 umull r1, r2, r2, r3 80350ea: 0b52 lsrs r2, r2, #13 80350ec: f242 7110 movw r1, #10000 ; 0x2710 80350f0: fb01 f202 mul.w r2, r1, r2 80350f4: 1a9a subs r2, r3, r2 80350f6: 4b9f ldr r3, [pc, #636] ; (8035374 ) 80350f8: fba3 2302 umull r2, r3, r3, r2 80350fc: 099b lsrs r3, r3, #6 80350fe: b2db uxtb r3, r3 8035100: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8035104: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035108: 095a lsrs r2, r3, #5 803510a: 4997 ldr r1, [pc, #604] ; (8035368 ) 803510c: fba1 1202 umull r1, r2, r1, r2 8035110: 09d2 lsrs r2, r2, #7 8035112: 4996 ldr r1, [pc, #600] ; (803536c ) 8035114: fb01 f202 mul.w r2, r1, r2 8035118: 1a9a subs r2, r3, r2 803511a: 4b95 ldr r3, [pc, #596] ; (8035370 ) 803511c: fba3 1302 umull r1, r3, r3, r2 8035120: 0b5b lsrs r3, r3, #13 8035122: f242 7110 movw r1, #10000 ; 0x2710 8035126: fb01 f303 mul.w r3, r1, r3 803512a: 1ad3 subs r3, r2, r3 803512c: 4a91 ldr r2, [pc, #580] ; (8035374 ) 803512e: fba2 1203 umull r1, r2, r2, r3 8035132: 0992 lsrs r2, r2, #6 8035134: f44f 717a mov.w r1, #1000 ; 0x3e8 8035138: fb01 f202 mul.w r2, r1, r2 803513c: 1a9a subs r2, r3, r2 803513e: 4b8e ldr r3, [pc, #568] ; (8035378 ) 8035140: fba3 2302 umull r2, r3, r3, r2 8035144: 095b lsrs r3, r3, #5 8035146: b2db uxtb r3, r3 8035148: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803514c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035150: 0953 lsrs r3, r2, #5 8035152: 4985 ldr r1, [pc, #532] ; (8035368 ) 8035154: fba1 1303 umull r1, r3, r1, r3 8035158: 09db lsrs r3, r3, #7 803515a: 4984 ldr r1, [pc, #528] ; (803536c ) 803515c: fb01 f303 mul.w r3, r1, r3 8035160: 1ad3 subs r3, r2, r3 8035162: 4a83 ldr r2, [pc, #524] ; (8035370 ) 8035164: fba2 1203 umull r1, r2, r2, r3 8035168: 0b52 lsrs r2, r2, #13 803516a: f242 7110 movw r1, #10000 ; 0x2710 803516e: fb01 f202 mul.w r2, r1, r2 8035172: 1a9a subs r2, r3, r2 8035174: 4b7f ldr r3, [pc, #508] ; (8035374 ) 8035176: fba3 1302 umull r1, r3, r3, r2 803517a: 099b lsrs r3, r3, #6 803517c: f44f 717a mov.w r1, #1000 ; 0x3e8 8035180: fb01 f303 mul.w r3, r1, r3 8035184: 1ad3 subs r3, r2, r3 8035186: 4a7c ldr r2, [pc, #496] ; (8035378 ) 8035188: fba2 1203 umull r1, r2, r2, r3 803518c: 0952 lsrs r2, r2, #5 803518e: 2164 movs r1, #100 ; 0x64 8035190: fb01 f202 mul.w r2, r1, r2 8035194: 1a9a subs r2, r3, r2 8035196: 4b79 ldr r3, [pc, #484] ; (803537c ) 8035198: fba3 2302 umull r2, r3, r3, r2 803519c: 08db lsrs r3, r3, #3 803519e: b2db uxtb r3, r3 80351a0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80351a4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80351a8: 0953 lsrs r3, r2, #5 80351aa: 496f ldr r1, [pc, #444] ; (8035368 ) 80351ac: fba1 1303 umull r1, r3, r1, r3 80351b0: 09db lsrs r3, r3, #7 80351b2: 496e ldr r1, [pc, #440] ; (803536c ) 80351b4: fb01 f303 mul.w r3, r1, r3 80351b8: 1ad3 subs r3, r2, r3 80351ba: 4a6d ldr r2, [pc, #436] ; (8035370 ) 80351bc: fba2 1203 umull r1, r2, r2, r3 80351c0: 0b52 lsrs r2, r2, #13 80351c2: f242 7110 movw r1, #10000 ; 0x2710 80351c6: fb01 f202 mul.w r2, r1, r2 80351ca: 1a9a subs r2, r3, r2 80351cc: 4b69 ldr r3, [pc, #420] ; (8035374 ) 80351ce: fba3 1302 umull r1, r3, r3, r2 80351d2: 099b lsrs r3, r3, #6 80351d4: f44f 717a mov.w r1, #1000 ; 0x3e8 80351d8: fb01 f303 mul.w r3, r1, r3 80351dc: 1ad3 subs r3, r2, r3 80351de: 4a66 ldr r2, [pc, #408] ; (8035378 ) 80351e0: fba2 1203 umull r1, r2, r2, r3 80351e4: 0952 lsrs r2, r2, #5 80351e6: 2164 movs r1, #100 ; 0x64 80351e8: fb01 f202 mul.w r2, r1, r2 80351ec: 1a9a subs r2, r3, r2 80351ee: 4b63 ldr r3, [pc, #396] ; (803537c ) 80351f0: fba3 1302 umull r1, r3, r3, r2 80351f4: 08d9 lsrs r1, r3, #3 80351f6: 460b mov r3, r1 80351f8: 009b lsls r3, r3, #2 80351fa: 440b add r3, r1 80351fc: 005b lsls r3, r3, #1 80351fe: 1ad1 subs r1, r2, r3 8035200: b2cb uxtb r3, r1 8035202: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8035206: 4b56 ldr r3, [pc, #344] ; (8035360 ) 8035208: 781b ldrb r3, [r3, #0] 803520a: b2db uxtb r3, r3 803520c: 3b05 subs r3, #5 803520e: 2b05 cmp r3, #5 8035210: d836 bhi.n 8035280 8035212: a201 add r2, pc, #4 ; (adr r2, 8035218 ) 8035214: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8035218: 08035231 .word 0x08035231 803521c: 0803523f .word 0x0803523f 8035220: 0803524f .word 0x0803524f 8035224: 0803525d .word 0x0803525d 8035228: 08035269 .word 0x08035269 803522c: 08035275 .word 0x08035275 k += 100000; 8035230: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035234: 4b4d ldr r3, [pc, #308] ; (803536c ) 8035236: 4413 add r3, r2 8035238: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803523c: e020 b.n 8035280 k += 10000; 803523e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035242: f242 7310 movw r3, #10000 ; 0x2710 8035246: 4413 add r3, r2 8035248: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803524c: e018 b.n 8035280 k += 1000; 803524e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035252: f503 737a add.w r3, r3, #1000 ; 0x3e8 8035256: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803525a: e011 b.n 8035280 k += 100; 803525c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035260: 3364 adds r3, #100 ; 0x64 8035262: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035266: e00b b.n 8035280 k += 10; 8035268: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803526c: 330a adds r3, #10 803526e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035272: e005 b.n 8035280 k++; 8035274: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035278: 3301 adds r3, #1 803527a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803527e: bf00 nop if(k > 999999) k = 999999; 8035280: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035284: 4a3e ldr r2, [pc, #248] ; (8035380 ) 8035286: 4293 cmp r3, r2 8035288: d902 bls.n 8035290 803528a: 4b3d ldr r3, [pc, #244] ; (8035380 ) 803528c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8035290: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035294: 2b00 cmp r3, #0 8035296: d102 bne.n 803529e 8035298: 2301 movs r3, #1 803529a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803529e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80352a2: ee07 3a90 vmov s15, r3 80352a6: eef8 7a67 vcvt.f32.u32 s15, s15 80352aa: 4b2e ldr r3, [pc, #184] ; (8035364 ) 80352ac: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 80352b0: 4b2c ldr r3, [pc, #176] ; (8035364 ) 80352b2: edd3 7a06 vldr s15, [r3, #24] 80352b6: ed9f 7a33 vldr s14, [pc, #204] ; 8035384 80352ba: ee67 7a87 vmul.f32 s15, s15, s14 80352be: 4b29 ldr r3, [pc, #164] ; (8035364 ) 80352c0: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80352c4: 4b27 ldr r3, [pc, #156] ; (8035364 ) 80352c6: edd3 7a06 vldr s15, [r3, #24] 80352ca: ed9f 7a2f vldr s14, [pc, #188] ; 8035388 80352ce: ee77 7a87 vadd.f32 s15, s15, s14 80352d2: 4b24 ldr r3, [pc, #144] ; (8035364 ) 80352d4: edc3 7a06 vstr s15, [r3, #24] break; 80352d8: f006 bd76 b.w 803bdc8 case PARAM_DIAGN_1: if(menupos > Diag1) menupos--; 80352dc: 4b20 ldr r3, [pc, #128] ; (8035360 ) 80352de: 781b ldrb r3, [r3, #0] 80352e0: b2db uxtb r3, r3 80352e2: 2b00 cmp r3, #0 80352e4: d008 beq.n 80352f8 80352e6: 4b1e ldr r3, [pc, #120] ; (8035360 ) 80352e8: 781b ldrb r3, [r3, #0] 80352ea: b2db uxtb r3, r3 80352ec: 3b01 subs r3, #1 80352ee: b2da uxtb r2, r3 80352f0: 4b1b ldr r3, [pc, #108] ; (8035360 ) 80352f2: 701a strb r2, [r3, #0] else menupos = Diag8; break; 80352f4: f006 bdb1 b.w 803be5a else menupos = Diag8; 80352f8: 4b19 ldr r3, [pc, #100] ; (8035360 ) 80352fa: 2207 movs r2, #7 80352fc: 701a strb r2, [r3, #0] break; 80352fe: f006 bdac b.w 803be5a case PARAM_DIAGN_2: focused = false; 8035302: 4b22 ldr r3, [pc, #136] ; (803538c ) 8035304: 2200 movs r2, #0 8035306: 701a strb r2, [r3, #0] if((menupos >= DiagUs1) && (menupos <= DiagOp1)) 8035308: 4b15 ldr r3, [pc, #84] ; (8035360 ) 803530a: 781b ldrb r3, [r3, #0] 803530c: b2db uxtb r3, r3 803530e: 2b00 cmp r3, #0 8035310: d042 beq.n 8035398 8035312: 4b13 ldr r3, [pc, #76] ; (8035360 ) 8035314: 781b ldrb r3, [r3, #0] 8035316: b2db uxtb r3, r3 8035318: 2b02 cmp r3, #2 803531a: d83d bhi.n 8035398 { CURR_USL = Us1; 803531c: 4b1c ldr r3, [pc, #112] ; (8035390 ) 803531e: 2200 movs r2, #0 8035320: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 8035322: 4b1c ldr r3, [pc, #112] ; (8035394 ) 8035324: 781b ldrb r3, [r3, #0] 8035326: b2db uxtb r3, r3 8035328: 4618 mov r0, r3 803532a: 4b19 ldr r3, [pc, #100] ; (8035390 ) 803532c: 781b ldrb r3, [r3, #0] 803532e: b2db uxtb r3, r3 8035330: 4619 mov r1, r3 8035332: 4a0c ldr r2, [pc, #48] ; (8035364 ) 8035334: 0083 lsls r3, r0, #2 8035336: 4413 add r3, r2 8035338: 440b add r3, r1 803533a: f503 730f add.w r3, r3, #572 ; 0x23c 803533e: 781b ldrb r3, [r3, #0] 8035340: b2db uxtb r3, r3 8035342: f003 0307 and.w r3, r3, #7 8035346: 2b00 cmp r3, #0 8035348: d004 beq.n 8035354 menupos = Diag_A; 803534a: 4b05 ldr r3, [pc, #20] ; (8035360 ) 803534c: 220c movs r2, #12 803534e: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 8035350: f001 b93a b.w 80365c8 else menupos = DiagName; 8035354: 4b02 ldr r3, [pc, #8] ; (8035360 ) 8035356: 2206 movs r2, #6 8035358: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 803535a: f001 b935 b.w 80365c8 803535e: bf00 nop 8035360: 20020070 .word 0x20020070 8035364: 20023e60 .word 0x20023e60 8035368: 0a7c5ac5 .word 0x0a7c5ac5 803536c: 000186a0 .word 0x000186a0 8035370: d1b71759 .word 0xd1b71759 8035374: 10624dd3 .word 0x10624dd3 8035378: 51eb851f .word 0x51eb851f 803537c: cccccccd .word 0xcccccccd 8035380: 000f423f .word 0x000f423f 8035384: 3dcccccd .word 0x3dcccccd 8035388: 3d4ccccd .word 0x3d4ccccd 803538c: 20020f84 .word 0x20020f84 8035390: 20021013 .word 0x20021013 8035394: 20021011 .word 0x20021011 } else if((menupos >= DiagUs2) && (menupos <= DiagOp2)) 8035398: 4b5d ldr r3, [pc, #372] ; (8035510 ) 803539a: 781b ldrb r3, [r3, #0] 803539c: b2db uxtb r3, r3 803539e: 2b02 cmp r3, #2 80353a0: d925 bls.n 80353ee 80353a2: 4b5b ldr r3, [pc, #364] ; (8035510 ) 80353a4: 781b ldrb r3, [r3, #0] 80353a6: b2db uxtb r3, r3 80353a8: 2b04 cmp r3, #4 80353aa: d820 bhi.n 80353ee { CURR_USL = Us2; 80353ac: 4b59 ldr r3, [pc, #356] ; (8035514 ) 80353ae: 2201 movs r2, #1 80353b0: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 80353b2: 4b59 ldr r3, [pc, #356] ; (8035518 ) 80353b4: 781b ldrb r3, [r3, #0] 80353b6: b2db uxtb r3, r3 80353b8: 4618 mov r0, r3 80353ba: 4b56 ldr r3, [pc, #344] ; (8035514 ) 80353bc: 781b ldrb r3, [r3, #0] 80353be: b2db uxtb r3, r3 80353c0: 4619 mov r1, r3 80353c2: 4a56 ldr r2, [pc, #344] ; (803551c ) 80353c4: 0083 lsls r3, r0, #2 80353c6: 4413 add r3, r2 80353c8: 440b add r3, r1 80353ca: f503 730f add.w r3, r3, #572 ; 0x23c 80353ce: 781b ldrb r3, [r3, #0] 80353d0: b2db uxtb r3, r3 80353d2: f003 0307 and.w r3, r3, #7 80353d6: 2b00 cmp r3, #0 80353d8: d004 beq.n 80353e4 menupos = Diag_A; 80353da: 4b4d ldr r3, [pc, #308] ; (8035510 ) 80353dc: 220c movs r2, #12 80353de: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 80353e0: f001 b8f2 b.w 80365c8 else menupos = DiagName; 80353e4: 4b4a ldr r3, [pc, #296] ; (8035510 ) 80353e6: 2206 movs r2, #6 80353e8: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 80353ea: f001 b8ed b.w 80365c8 } else if(menupos == DiagUs3) 80353ee: 4b48 ldr r3, [pc, #288] ; (8035510 ) 80353f0: 781b ldrb r3, [r3, #0] 80353f2: b2db uxtb r3, r3 80353f4: 2b05 cmp r3, #5 80353f6: d120 bne.n 803543a { CURR_USL = Us3; 80353f8: 4b46 ldr r3, [pc, #280] ; (8035514 ) 80353fa: 2202 movs r2, #2 80353fc: 701a strb r2, [r3, #0] if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 80353fe: 4b46 ldr r3, [pc, #280] ; (8035518 ) 8035400: 781b ldrb r3, [r3, #0] 8035402: b2db uxtb r3, r3 8035404: 4618 mov r0, r3 8035406: 4b43 ldr r3, [pc, #268] ; (8035514 ) 8035408: 781b ldrb r3, [r3, #0] 803540a: b2db uxtb r3, r3 803540c: 4619 mov r1, r3 803540e: 4a43 ldr r2, [pc, #268] ; (803551c ) 8035410: 0083 lsls r3, r0, #2 8035412: 4413 add r3, r2 8035414: 440b add r3, r1 8035416: f503 730f add.w r3, r3, #572 ; 0x23c 803541a: 781b ldrb r3, [r3, #0] 803541c: b2db uxtb r3, r3 803541e: f003 0307 and.w r3, r3, #7 8035422: 2b00 cmp r3, #0 8035424: d004 beq.n 8035430 menupos = Diag_A; 8035426: 4b3a ldr r3, [pc, #232] ; (8035510 ) 8035428: 220c movs r2, #12 803542a: 701a strb r2, [r3, #0] if(k == 0) k = 1; pardata.DIAGN_A[CURR_POINT][CURR_USL] = (float32_t) k; pardata.DIAGN_A[CURR_POINT][CURR_USL] *= 0.1f; pardata.DIAGN_A[CURR_POINT][CURR_USL] += 0.05f; } break; 803542c: f006 bccf b.w 803bdce else menupos = DiagName; 8035430: 4b37 ldr r3, [pc, #220] ; (8035510 ) 8035432: 2206 movs r2, #6 8035434: 701a strb r2, [r3, #0] break; 8035436: f006 bcca b.w 803bdce if(menupos == Diag_A) 803543a: 4b35 ldr r3, [pc, #212] ; (8035510 ) 803543c: 781b ldrb r3, [r3, #0] 803543e: b2db uxtb r3, r3 8035440: 2b0c cmp r3, #12 8035442: d104 bne.n 803544e menupos = Diag_W; 8035444: 4b32 ldr r3, [pc, #200] ; (8035510 ) 8035446: 220b movs r2, #11 8035448: 701a strb r2, [r3, #0] break; 803544a: f006 bcc0 b.w 803bdce if(menupos == Diag_W) 803544e: 4b30 ldr r3, [pc, #192] ; (8035510 ) 8035450: 781b ldrb r3, [r3, #0] 8035452: b2db uxtb r3, r3 8035454: 2b0b cmp r3, #11 8035456: d104 bne.n 8035462 menupos = DiagLP; 8035458: 4b2d ldr r3, [pc, #180] ; (8035510 ) 803545a: 220a movs r2, #10 803545c: 701a strb r2, [r3, #0] break; 803545e: f006 bcb6 b.w 803bdce if(menupos == DiagLP) 8035462: 4b2b ldr r3, [pc, #172] ; (8035510 ) 8035464: 781b ldrb r3, [r3, #0] 8035466: b2db uxtb r3, r3 8035468: 2b0a cmp r3, #10 803546a: d104 bne.n 8035476 menupos = DiagHP; 803546c: 4b28 ldr r3, [pc, #160] ; (8035510 ) 803546e: 2209 movs r2, #9 8035470: 701a strb r2, [r3, #0] break; 8035472: f006 bcac b.w 803bdce if(menupos == DiagHP) 8035476: 4b26 ldr r3, [pc, #152] ; (8035510 ) 8035478: 781b ldrb r3, [r3, #0] 803547a: b2db uxtb r3, r3 803547c: 2b09 cmp r3, #9 803547e: d104 bne.n 803548a menupos = DiagValue; 8035480: 4b23 ldr r3, [pc, #140] ; (8035510 ) 8035482: 2208 movs r2, #8 8035484: 701a strb r2, [r3, #0] break; 8035486: f006 bca2 b.w 803bdce if(menupos == DiagValue) 803548a: 4b21 ldr r3, [pc, #132] ; (8035510 ) 803548c: 781b ldrb r3, [r3, #0] 803548e: b2db uxtb r3, r3 8035490: 2b08 cmp r3, #8 8035492: d104 bne.n 803549e menupos = DiagAVS; 8035494: 4b1e ldr r3, [pc, #120] ; (8035510 ) 8035496: 2207 movs r2, #7 8035498: 701a strb r2, [r3, #0] break; 803549a: f006 bc98 b.w 803bdce if(menupos == DiagAVS) 803549e: 4b1c ldr r3, [pc, #112] ; (8035510 ) 80354a0: 781b ldrb r3, [r3, #0] 80354a2: b2db uxtb r3, r3 80354a4: 2b07 cmp r3, #7 80354a6: d104 bne.n 80354b2 menupos = DiagName; 80354a8: 4b19 ldr r3, [pc, #100] ; (8035510 ) 80354aa: 2206 movs r2, #6 80354ac: 701a strb r2, [r3, #0] break; 80354ae: f006 bc8e b.w 803bdce if(menupos == DiagName) 80354b2: 4b17 ldr r3, [pc, #92] ; (8035510 ) 80354b4: 781b ldrb r3, [r3, #0] 80354b6: b2db uxtb r3, r3 80354b8: 2b06 cmp r3, #6 80354ba: d104 bne.n 80354c6 menupos = Ok; 80354bc: 4b14 ldr r3, [pc, #80] ; (8035510 ) 80354be: 2200 movs r2, #0 80354c0: 701a strb r2, [r3, #0] break; 80354c2: f006 bc84 b.w 803bdce if(menupos == Ok) 80354c6: 4b12 ldr r3, [pc, #72] ; (8035510 ) 80354c8: 781b ldrb r3, [r3, #0] 80354ca: b2db uxtb r3, r3 80354cc: 2b00 cmp r3, #0 80354ce: d127 bne.n 8035520 if(CURR_USL == Us1) 80354d0: 4b10 ldr r3, [pc, #64] ; (8035514 ) 80354d2: 781b ldrb r3, [r3, #0] 80354d4: b2db uxtb r3, r3 80354d6: 2b00 cmp r3, #0 80354d8: d104 bne.n 80354e4 menupos = DiagUs1; 80354da: 4b0d ldr r3, [pc, #52] ; (8035510 ) 80354dc: 2201 movs r2, #1 80354de: 701a strb r2, [r3, #0] break; 80354e0: f006 bc75 b.w 803bdce if(CURR_USL == Us2) 80354e4: 4b0b ldr r3, [pc, #44] ; (8035514 ) 80354e6: 781b ldrb r3, [r3, #0] 80354e8: b2db uxtb r3, r3 80354ea: 2b01 cmp r3, #1 80354ec: d104 bne.n 80354f8 menupos = DiagUs2; 80354ee: 4b08 ldr r3, [pc, #32] ; (8035510 ) 80354f0: 2203 movs r2, #3 80354f2: 701a strb r2, [r3, #0] break; 80354f4: f006 bc6b b.w 803bdce if(CURR_USL == Us3) 80354f8: 4b06 ldr r3, [pc, #24] ; (8035514 ) 80354fa: 781b ldrb r3, [r3, #0] 80354fc: b2db uxtb r3, r3 80354fe: 2b02 cmp r3, #2 8035500: f046 8465 bne.w 803bdce menupos = DiagUs3; 8035504: 4b02 ldr r3, [pc, #8] ; (8035510 ) 8035506: 2205 movs r2, #5 8035508: 701a strb r2, [r3, #0] break; 803550a: f006 bc60 b.w 803bdce 803550e: bf00 nop 8035510: 20020070 .word 0x20020070 8035514: 20021013 .word 0x20021013 8035518: 20021011 .word 0x20021011 803551c: 20023e60 .word 0x20023e60 if((menupos >= DiagHP_IDT) && (menupos <= DiagHP_IKD)) 8035520: 4bcf ldr r3, [pc, #828] ; (8035860 ) 8035522: 781b ldrb r3, [r3, #0] 8035524: b2db uxtb r3, r3 8035526: 2b0c cmp r3, #12 8035528: f240 82c6 bls.w 8035ab8 803552c: 4bcc ldr r3, [pc, #816] ; (8035860 ) 803552e: 781b ldrb r3, [r3, #0] 8035530: b2db uxtb r3, r3 8035532: 2b12 cmp r3, #18 8035534: f200 82c0 bhi.w 8035ab8 k = (uint32_t) (pardata.DIAGN_HP[CURR_POINT][CURR_USL] * 10.0f); 8035538: 4bca ldr r3, [pc, #808] ; (8035864 ) 803553a: 781b ldrb r3, [r3, #0] 803553c: b2db uxtb r3, r3 803553e: 4618 mov r0, r3 8035540: 4bc9 ldr r3, [pc, #804] ; (8035868 ) 8035542: 781b ldrb r3, [r3, #0] 8035544: b2db uxtb r3, r3 8035546: 4619 mov r1, r3 8035548: 4ac8 ldr r2, [pc, #800] ; (803586c ) 803554a: 0083 lsls r3, r0, #2 803554c: 440b add r3, r1 803554e: 3396 adds r3, #150 ; 0x96 8035550: 009b lsls r3, r3, #2 8035552: 4413 add r3, r2 8035554: 3304 adds r3, #4 8035556: edd3 7a00 vldr s15, [r3] 803555a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803555e: ee67 7a87 vmul.f32 s15, s15, s14 8035562: eefc 7ae7 vcvt.u32.f32 s15, s15 8035566: ee17 3a90 vmov r3, s15 803556a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803556e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035572: 095b lsrs r3, r3, #5 8035574: 4abe ldr r2, [pc, #760] ; (8035870 ) 8035576: fba2 2303 umull r2, r3, r2, r3 803557a: 09db lsrs r3, r3, #7 803557c: b2db uxtb r3, r3 803557e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8035582: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035586: 0953 lsrs r3, r2, #5 8035588: 49b9 ldr r1, [pc, #740] ; (8035870 ) 803558a: fba1 1303 umull r1, r3, r1, r3 803558e: 09db lsrs r3, r3, #7 8035590: 49b8 ldr r1, [pc, #736] ; (8035874 ) 8035592: fb01 f303 mul.w r3, r1, r3 8035596: 1ad3 subs r3, r2, r3 8035598: 4ab7 ldr r2, [pc, #732] ; (8035878 ) 803559a: fba2 2303 umull r2, r3, r2, r3 803559e: 0b5b lsrs r3, r3, #13 80355a0: b2db uxtb r3, r3 80355a2: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80355a6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80355aa: 0953 lsrs r3, r2, #5 80355ac: 49b0 ldr r1, [pc, #704] ; (8035870 ) 80355ae: fba1 1303 umull r1, r3, r1, r3 80355b2: 09db lsrs r3, r3, #7 80355b4: 49af ldr r1, [pc, #700] ; (8035874 ) 80355b6: fb01 f303 mul.w r3, r1, r3 80355ba: 1ad3 subs r3, r2, r3 80355bc: 4aae ldr r2, [pc, #696] ; (8035878 ) 80355be: fba2 1203 umull r1, r2, r2, r3 80355c2: 0b52 lsrs r2, r2, #13 80355c4: f242 7110 movw r1, #10000 ; 0x2710 80355c8: fb01 f202 mul.w r2, r1, r2 80355cc: 1a9a subs r2, r3, r2 80355ce: 4bab ldr r3, [pc, #684] ; (803587c ) 80355d0: fba3 2302 umull r2, r3, r3, r2 80355d4: 099b lsrs r3, r3, #6 80355d6: b2db uxtb r3, r3 80355d8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80355dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80355e0: 095a lsrs r2, r3, #5 80355e2: 49a3 ldr r1, [pc, #652] ; (8035870 ) 80355e4: fba1 1202 umull r1, r2, r1, r2 80355e8: 09d2 lsrs r2, r2, #7 80355ea: 49a2 ldr r1, [pc, #648] ; (8035874 ) 80355ec: fb01 f202 mul.w r2, r1, r2 80355f0: 1a9a subs r2, r3, r2 80355f2: 4ba1 ldr r3, [pc, #644] ; (8035878 ) 80355f4: fba3 1302 umull r1, r3, r3, r2 80355f8: 0b5b lsrs r3, r3, #13 80355fa: f242 7110 movw r1, #10000 ; 0x2710 80355fe: fb01 f303 mul.w r3, r1, r3 8035602: 1ad3 subs r3, r2, r3 8035604: 4a9d ldr r2, [pc, #628] ; (803587c ) 8035606: fba2 1203 umull r1, r2, r2, r3 803560a: 0992 lsrs r2, r2, #6 803560c: f44f 717a mov.w r1, #1000 ; 0x3e8 8035610: fb01 f202 mul.w r2, r1, r2 8035614: 1a9a subs r2, r3, r2 8035616: 4b9a ldr r3, [pc, #616] ; (8035880 ) 8035618: fba3 2302 umull r2, r3, r3, r2 803561c: 095b lsrs r3, r3, #5 803561e: b2db uxtb r3, r3 8035620: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8035624: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035628: 0953 lsrs r3, r2, #5 803562a: 4991 ldr r1, [pc, #580] ; (8035870 ) 803562c: fba1 1303 umull r1, r3, r1, r3 8035630: 09db lsrs r3, r3, #7 8035632: 4990 ldr r1, [pc, #576] ; (8035874 ) 8035634: fb01 f303 mul.w r3, r1, r3 8035638: 1ad3 subs r3, r2, r3 803563a: 4a8f ldr r2, [pc, #572] ; (8035878 ) 803563c: fba2 1203 umull r1, r2, r2, r3 8035640: 0b52 lsrs r2, r2, #13 8035642: f242 7110 movw r1, #10000 ; 0x2710 8035646: fb01 f202 mul.w r2, r1, r2 803564a: 1a9a subs r2, r3, r2 803564c: 4b8b ldr r3, [pc, #556] ; (803587c ) 803564e: fba3 1302 umull r1, r3, r3, r2 8035652: 099b lsrs r3, r3, #6 8035654: f44f 717a mov.w r1, #1000 ; 0x3e8 8035658: fb01 f303 mul.w r3, r1, r3 803565c: 1ad3 subs r3, r2, r3 803565e: 4a88 ldr r2, [pc, #544] ; (8035880 ) 8035660: fba2 1203 umull r1, r2, r2, r3 8035664: 0952 lsrs r2, r2, #5 8035666: 2164 movs r1, #100 ; 0x64 8035668: fb01 f202 mul.w r2, r1, r2 803566c: 1a9a subs r2, r3, r2 803566e: 4b85 ldr r3, [pc, #532] ; (8035884 ) 8035670: fba3 2302 umull r2, r3, r3, r2 8035674: 08db lsrs r3, r3, #3 8035676: b2db uxtb r3, r3 8035678: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803567c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035680: 0953 lsrs r3, r2, #5 8035682: 497b ldr r1, [pc, #492] ; (8035870 ) 8035684: fba1 1303 umull r1, r3, r1, r3 8035688: 09db lsrs r3, r3, #7 803568a: 497a ldr r1, [pc, #488] ; (8035874 ) 803568c: fb01 f303 mul.w r3, r1, r3 8035690: 1ad3 subs r3, r2, r3 8035692: 4a79 ldr r2, [pc, #484] ; (8035878 ) 8035694: fba2 1203 umull r1, r2, r2, r3 8035698: 0b52 lsrs r2, r2, #13 803569a: f242 7110 movw r1, #10000 ; 0x2710 803569e: fb01 f202 mul.w r2, r1, r2 80356a2: 1a9a subs r2, r3, r2 80356a4: 4b75 ldr r3, [pc, #468] ; (803587c ) 80356a6: fba3 1302 umull r1, r3, r3, r2 80356aa: 099b lsrs r3, r3, #6 80356ac: f44f 717a mov.w r1, #1000 ; 0x3e8 80356b0: fb01 f303 mul.w r3, r1, r3 80356b4: 1ad3 subs r3, r2, r3 80356b6: 4a72 ldr r2, [pc, #456] ; (8035880 ) 80356b8: fba2 1203 umull r1, r2, r2, r3 80356bc: 0952 lsrs r2, r2, #5 80356be: 2164 movs r1, #100 ; 0x64 80356c0: fb01 f202 mul.w r2, r1, r2 80356c4: 1a9a subs r2, r3, r2 80356c6: 4b6f ldr r3, [pc, #444] ; (8035884 ) 80356c8: fba3 1302 umull r1, r3, r3, r2 80356cc: 08d9 lsrs r1, r3, #3 80356ce: 460b mov r3, r1 80356d0: 009b lsls r3, r3, #2 80356d2: 440b add r3, r1 80356d4: 005b lsls r3, r3, #1 80356d6: 1ad1 subs r1, r2, r3 80356d8: b2cb uxtb r3, r1 80356da: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80356de: 4b60 ldr r3, [pc, #384] ; (8035860 ) 80356e0: 781b ldrb r3, [r3, #0] 80356e2: b2db uxtb r3, r3 80356e4: 3b0d subs r3, #13 80356e6: 2b05 cmp r3, #5 80356e8: d836 bhi.n 8035758 80356ea: a201 add r2, pc, #4 ; (adr r2, 80356f0 ) 80356ec: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80356f0: 08035709 .word 0x08035709 80356f4: 08035717 .word 0x08035717 80356f8: 08035727 .word 0x08035727 80356fc: 08035735 .word 0x08035735 8035700: 08035741 .word 0x08035741 8035704: 0803574d .word 0x0803574d k += 100000; 8035708: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803570c: 4b59 ldr r3, [pc, #356] ; (8035874 ) 803570e: 4413 add r3, r2 8035710: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035714: e020 b.n 8035758 k += 10000; 8035716: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803571a: f242 7310 movw r3, #10000 ; 0x2710 803571e: 4413 add r3, r2 8035720: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035724: e018 b.n 8035758 k += 1000; 8035726: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803572a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803572e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035732: e011 b.n 8035758 k += 100; 8035734: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035738: 3364 adds r3, #100 ; 0x64 803573a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803573e: e00b b.n 8035758 k += 10; 8035740: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035744: 330a adds r3, #10 8035746: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803574a: e005 b.n 8035758 k++; 803574c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035750: 3301 adds r3, #1 8035752: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035756: bf00 nop fl = (float32_t) k; 8035758: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803575c: ee07 3a90 vmov s15, r3 8035760: eef8 7a67 vcvt.f32.u32 s15, s15 8035764: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8035768: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803576c: ed9f 7a46 vldr s14, [pc, #280] ; 8035888 8035770: ee67 7a87 vmul.f32 s15, s15, s14 8035774: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8035778: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803577c: ed9f 7a43 vldr s14, [pc, #268] ; 803588c 8035780: ee77 7a87 vadd.f32 s15, s15, s14 8035784: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8035788: 4b36 ldr r3, [pc, #216] ; (8035864 ) 803578a: 781b ldrb r3, [r3, #0] 803578c: b2db uxtb r3, r3 803578e: 4618 mov r0, r3 8035790: 4b35 ldr r3, [pc, #212] ; (8035868 ) 8035792: 781b ldrb r3, [r3, #0] 8035794: b2db uxtb r3, r3 8035796: 4619 mov r1, r3 8035798: 4a34 ldr r2, [pc, #208] ; (803586c ) 803579a: 0083 lsls r3, r0, #2 803579c: 4413 add r3, r2 803579e: 440b add r3, r1 80357a0: f503 730f add.w r3, r3, #572 ; 0x23c 80357a4: 781b ldrb r3, [r3, #0] 80357a6: b2db uxtb r3, r3 80357a8: f003 0307 and.w r3, r3, #7 80357ac: 2b01 cmp r3, #1 80357ae: f040 80c8 bne.w 8035942 if(fl < 0.5f) 80357b2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80357b6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80357ba: eef4 7ac7 vcmpe.f32 s15, s14 80357be: eef1 fa10 vmrs APSR_nzcv, fpscr 80357c2: d513 bpl.n 80357ec pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 0.5f; 80357c4: 4b27 ldr r3, [pc, #156] ; (8035864 ) 80357c6: 781b ldrb r3, [r3, #0] 80357c8: b2db uxtb r3, r3 80357ca: 4618 mov r0, r3 80357cc: 4b26 ldr r3, [pc, #152] ; (8035868 ) 80357ce: 781b ldrb r3, [r3, #0] 80357d0: b2db uxtb r3, r3 80357d2: 4619 mov r1, r3 80357d4: 4a25 ldr r2, [pc, #148] ; (803586c ) 80357d6: 0083 lsls r3, r0, #2 80357d8: 440b add r3, r1 80357da: 3396 adds r3, #150 ; 0x96 80357dc: 009b lsls r3, r3, #2 80357de: 4413 add r3, r2 80357e0: 3304 adds r3, #4 80357e2: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 80357e6: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 80357e8: f000 beee b.w 80365c8 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 80357ec: 4b1d ldr r3, [pc, #116] ; (8035864 ) 80357ee: 781b ldrb r3, [r3, #0] 80357f0: b2db uxtb r3, r3 80357f2: 4618 mov r0, r3 80357f4: 4b1c ldr r3, [pc, #112] ; (8035868 ) 80357f6: 781b ldrb r3, [r3, #0] 80357f8: b2db uxtb r3, r3 80357fa: 4619 mov r1, r3 80357fc: 4a1b ldr r2, [pc, #108] ; (803586c ) 80357fe: 0083 lsls r3, r0, #2 8035800: 440b add r3, r1 8035802: 33b6 adds r3, #182 ; 0xb6 8035804: 009b lsls r3, r3, #2 8035806: 4413 add r3, r2 8035808: 3304 adds r3, #4 803580a: ed93 7a00 vldr s14, [r3] 803580e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035812: eeb4 7ae7 vcmpe.f32 s14, s15 8035816: eef1 fa10 vmrs APSR_nzcv, fpscr 803581a: d539 bpl.n 8035890 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 803581c: 4b11 ldr r3, [pc, #68] ; (8035864 ) 803581e: 781b ldrb r3, [r3, #0] 8035820: b2db uxtb r3, r3 8035822: 461c mov r4, r3 8035824: 4b10 ldr r3, [pc, #64] ; (8035868 ) 8035826: 781b ldrb r3, [r3, #0] 8035828: b2db uxtb r3, r3 803582a: 4618 mov r0, r3 803582c: 4b0d ldr r3, [pc, #52] ; (8035864 ) 803582e: 781b ldrb r3, [r3, #0] 8035830: b2db uxtb r3, r3 8035832: 461d mov r5, r3 8035834: 4b0c ldr r3, [pc, #48] ; (8035868 ) 8035836: 781b ldrb r3, [r3, #0] 8035838: b2db uxtb r3, r3 803583a: 4619 mov r1, r3 803583c: 4a0b ldr r2, [pc, #44] ; (803586c ) 803583e: 00ab lsls r3, r5, #2 8035840: 440b add r3, r1 8035842: 33b6 adds r3, #182 ; 0xb6 8035844: 009b lsls r3, r3, #2 8035846: 4413 add r3, r2 8035848: 3304 adds r3, #4 803584a: 681a ldr r2, [r3, #0] 803584c: 4907 ldr r1, [pc, #28] ; (803586c ) 803584e: 00a3 lsls r3, r4, #2 8035850: 4403 add r3, r0 8035852: 3396 adds r3, #150 ; 0x96 8035854: 009b lsls r3, r3, #2 8035856: 440b add r3, r1 8035858: 3304 adds r3, #4 803585a: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803585c: f000 beb4 b.w 80365c8 8035860: 20020070 .word 0x20020070 8035864: 20021011 .word 0x20021011 8035868: 20021013 .word 0x20021013 803586c: 20023e60 .word 0x20023e60 8035870: 0a7c5ac5 .word 0x0a7c5ac5 8035874: 000186a0 .word 0x000186a0 8035878: d1b71759 .word 0xd1b71759 803587c: 10624dd3 .word 0x10624dd3 8035880: 51eb851f .word 0x51eb851f 8035884: cccccccd .word 0xcccccccd 8035888: 3dcccccd .word 0x3dcccccd 803588c: 38d1b717 .word 0x38d1b717 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 8035890: 4b84 ldr r3, [pc, #528] ; (8035aa4 ) 8035892: 781b ldrb r3, [r3, #0] 8035894: b2db uxtb r3, r3 8035896: 4618 mov r0, r3 8035898: 4b83 ldr r3, [pc, #524] ; (8035aa8 ) 803589a: 781b ldrb r3, [r3, #0] 803589c: b2db uxtb r3, r3 803589e: 4619 mov r1, r3 80358a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80358a4: ee07 3a90 vmov s15, r3 80358a8: eef8 7a67 vcvt.f32.u32 s15, s15 80358ac: 4a7f ldr r2, [pc, #508] ; (8035aac ) 80358ae: 0083 lsls r3, r0, #2 80358b0: 440b add r3, r1 80358b2: 3396 adds r3, #150 ; 0x96 80358b4: 009b lsls r3, r3, #2 80358b6: 4413 add r3, r2 80358b8: 3304 adds r3, #4 80358ba: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 80358be: 4b79 ldr r3, [pc, #484] ; (8035aa4 ) 80358c0: 781b ldrb r3, [r3, #0] 80358c2: b2da uxtb r2, r3 80358c4: 4610 mov r0, r2 80358c6: 4b78 ldr r3, [pc, #480] ; (8035aa8 ) 80358c8: 781b ldrb r3, [r3, #0] 80358ca: b2db uxtb r3, r3 80358cc: 4619 mov r1, r3 80358ce: 4615 mov r5, r2 80358d0: 461c mov r4, r3 80358d2: 4a76 ldr r2, [pc, #472] ; (8035aac ) 80358d4: 00ab lsls r3, r5, #2 80358d6: 4423 add r3, r4 80358d8: 3396 adds r3, #150 ; 0x96 80358da: 009b lsls r3, r3, #2 80358dc: 4413 add r3, r2 80358de: 3304 adds r3, #4 80358e0: edd3 7a00 vldr s15, [r3] 80358e4: ed9f 7a72 vldr s14, [pc, #456] ; 8035ab0 80358e8: ee67 7a87 vmul.f32 s15, s15, s14 80358ec: 4a6f ldr r2, [pc, #444] ; (8035aac ) 80358ee: 0083 lsls r3, r0, #2 80358f0: 440b add r3, r1 80358f2: 3396 adds r3, #150 ; 0x96 80358f4: 009b lsls r3, r3, #2 80358f6: 4413 add r3, r2 80358f8: 3304 adds r3, #4 80358fa: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 80358fe: 4b69 ldr r3, [pc, #420] ; (8035aa4 ) 8035900: 781b ldrb r3, [r3, #0] 8035902: b2da uxtb r2, r3 8035904: 4610 mov r0, r2 8035906: 4b68 ldr r3, [pc, #416] ; (8035aa8 ) 8035908: 781b ldrb r3, [r3, #0] 803590a: b2db uxtb r3, r3 803590c: 4619 mov r1, r3 803590e: 4615 mov r5, r2 8035910: 461c mov r4, r3 8035912: 4a66 ldr r2, [pc, #408] ; (8035aac ) 8035914: 00ab lsls r3, r5, #2 8035916: 4423 add r3, r4 8035918: 3396 adds r3, #150 ; 0x96 803591a: 009b lsls r3, r3, #2 803591c: 4413 add r3, r2 803591e: 3304 adds r3, #4 8035920: edd3 7a00 vldr s15, [r3] 8035924: ed9f 7a63 vldr s14, [pc, #396] ; 8035ab4 8035928: ee77 7a87 vadd.f32 s15, s15, s14 803592c: 4a5f ldr r2, [pc, #380] ; (8035aac ) 803592e: 0083 lsls r3, r0, #2 8035930: 440b add r3, r1 8035932: 3396 adds r3, #150 ; 0x96 8035934: 009b lsls r3, r3, #2 8035936: 4413 add r3, r2 8035938: 3304 adds r3, #4 803593a: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803593e: f000 be43 b.w 80365c8 if(fl < 2.0f) 8035942: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035946: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803594a: eef4 7ac7 vcmpe.f32 s15, s14 803594e: eef1 fa10 vmrs APSR_nzcv, fpscr 8035952: d513 bpl.n 803597c pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 8035954: 4b53 ldr r3, [pc, #332] ; (8035aa4 ) 8035956: 781b ldrb r3, [r3, #0] 8035958: b2db uxtb r3, r3 803595a: 4618 mov r0, r3 803595c: 4b52 ldr r3, [pc, #328] ; (8035aa8 ) 803595e: 781b ldrb r3, [r3, #0] 8035960: b2db uxtb r3, r3 8035962: 4619 mov r1, r3 8035964: 4a51 ldr r2, [pc, #324] ; (8035aac ) 8035966: 0083 lsls r3, r0, #2 8035968: 440b add r3, r1 803596a: 3396 adds r3, #150 ; 0x96 803596c: 009b lsls r3, r3, #2 803596e: 4413 add r3, r2 8035970: 3304 adds r3, #4 8035972: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8035976: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8035978: f000 be26 b.w 80365c8 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 803597c: 4b49 ldr r3, [pc, #292] ; (8035aa4 ) 803597e: 781b ldrb r3, [r3, #0] 8035980: b2db uxtb r3, r3 8035982: 4618 mov r0, r3 8035984: 4b48 ldr r3, [pc, #288] ; (8035aa8 ) 8035986: 781b ldrb r3, [r3, #0] 8035988: b2db uxtb r3, r3 803598a: 4619 mov r1, r3 803598c: 4a47 ldr r2, [pc, #284] ; (8035aac ) 803598e: 0083 lsls r3, r0, #2 8035990: 440b add r3, r1 8035992: 33b6 adds r3, #182 ; 0xb6 8035994: 009b lsls r3, r3, #2 8035996: 4413 add r3, r2 8035998: 3304 adds r3, #4 803599a: ed93 7a00 vldr s14, [r3] 803599e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80359a2: eeb4 7ae7 vcmpe.f32 s14, s15 80359a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80359aa: d521 bpl.n 80359f0 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 80359ac: 4b3d ldr r3, [pc, #244] ; (8035aa4 ) 80359ae: 781b ldrb r3, [r3, #0] 80359b0: b2db uxtb r3, r3 80359b2: 461c mov r4, r3 80359b4: 4b3c ldr r3, [pc, #240] ; (8035aa8 ) 80359b6: 781b ldrb r3, [r3, #0] 80359b8: b2db uxtb r3, r3 80359ba: 4618 mov r0, r3 80359bc: 4b39 ldr r3, [pc, #228] ; (8035aa4 ) 80359be: 781b ldrb r3, [r3, #0] 80359c0: b2db uxtb r3, r3 80359c2: 461d mov r5, r3 80359c4: 4b38 ldr r3, [pc, #224] ; (8035aa8 ) 80359c6: 781b ldrb r3, [r3, #0] 80359c8: b2db uxtb r3, r3 80359ca: 4619 mov r1, r3 80359cc: 4a37 ldr r2, [pc, #220] ; (8035aac ) 80359ce: 00ab lsls r3, r5, #2 80359d0: 440b add r3, r1 80359d2: 33b6 adds r3, #182 ; 0xb6 80359d4: 009b lsls r3, r3, #2 80359d6: 4413 add r3, r2 80359d8: 3304 adds r3, #4 80359da: 681a ldr r2, [r3, #0] 80359dc: 4933 ldr r1, [pc, #204] ; (8035aac ) 80359de: 00a3 lsls r3, r4, #2 80359e0: 4403 add r3, r0 80359e2: 3396 adds r3, #150 ; 0x96 80359e4: 009b lsls r3, r3, #2 80359e6: 440b add r3, r1 80359e8: 3304 adds r3, #4 80359ea: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 80359ec: f000 bdec b.w 80365c8 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 80359f0: 4b2c ldr r3, [pc, #176] ; (8035aa4 ) 80359f2: 781b ldrb r3, [r3, #0] 80359f4: b2db uxtb r3, r3 80359f6: 4618 mov r0, r3 80359f8: 4b2b ldr r3, [pc, #172] ; (8035aa8 ) 80359fa: 781b ldrb r3, [r3, #0] 80359fc: b2db uxtb r3, r3 80359fe: 4619 mov r1, r3 8035a00: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035a04: ee07 3a90 vmov s15, r3 8035a08: eef8 7a67 vcvt.f32.u32 s15, s15 8035a0c: 4a27 ldr r2, [pc, #156] ; (8035aac ) 8035a0e: 0083 lsls r3, r0, #2 8035a10: 440b add r3, r1 8035a12: 3396 adds r3, #150 ; 0x96 8035a14: 009b lsls r3, r3, #2 8035a16: 4413 add r3, r2 8035a18: 3304 adds r3, #4 8035a1a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 8035a1e: 4b21 ldr r3, [pc, #132] ; (8035aa4 ) 8035a20: 781b ldrb r3, [r3, #0] 8035a22: b2da uxtb r2, r3 8035a24: 4610 mov r0, r2 8035a26: 4b20 ldr r3, [pc, #128] ; (8035aa8 ) 8035a28: 781b ldrb r3, [r3, #0] 8035a2a: b2db uxtb r3, r3 8035a2c: 4619 mov r1, r3 8035a2e: 4615 mov r5, r2 8035a30: 461c mov r4, r3 8035a32: 4a1e ldr r2, [pc, #120] ; (8035aac ) 8035a34: 00ab lsls r3, r5, #2 8035a36: 4423 add r3, r4 8035a38: 3396 adds r3, #150 ; 0x96 8035a3a: 009b lsls r3, r3, #2 8035a3c: 4413 add r3, r2 8035a3e: 3304 adds r3, #4 8035a40: edd3 7a00 vldr s15, [r3] 8035a44: ed9f 7a1a vldr s14, [pc, #104] ; 8035ab0 8035a48: ee67 7a87 vmul.f32 s15, s15, s14 8035a4c: 4a17 ldr r2, [pc, #92] ; (8035aac ) 8035a4e: 0083 lsls r3, r0, #2 8035a50: 440b add r3, r1 8035a52: 3396 adds r3, #150 ; 0x96 8035a54: 009b lsls r3, r3, #2 8035a56: 4413 add r3, r2 8035a58: 3304 adds r3, #4 8035a5a: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 8035a5e: 4b11 ldr r3, [pc, #68] ; (8035aa4 ) 8035a60: 781b ldrb r3, [r3, #0] 8035a62: b2da uxtb r2, r3 8035a64: 4610 mov r0, r2 8035a66: 4b10 ldr r3, [pc, #64] ; (8035aa8 ) 8035a68: 781b ldrb r3, [r3, #0] 8035a6a: b2db uxtb r3, r3 8035a6c: 4619 mov r1, r3 8035a6e: 4615 mov r5, r2 8035a70: 461c mov r4, r3 8035a72: 4a0e ldr r2, [pc, #56] ; (8035aac ) 8035a74: 00ab lsls r3, r5, #2 8035a76: 4423 add r3, r4 8035a78: 3396 adds r3, #150 ; 0x96 8035a7a: 009b lsls r3, r3, #2 8035a7c: 4413 add r3, r2 8035a7e: 3304 adds r3, #4 8035a80: edd3 7a00 vldr s15, [r3] 8035a84: ed9f 7a0b vldr s14, [pc, #44] ; 8035ab4 8035a88: ee77 7a87 vadd.f32 s15, s15, s14 8035a8c: 4a07 ldr r2, [pc, #28] ; (8035aac ) 8035a8e: 0083 lsls r3, r0, #2 8035a90: 440b add r3, r1 8035a92: 3396 adds r3, #150 ; 0x96 8035a94: 009b lsls r3, r3, #2 8035a96: 4413 add r3, r2 8035a98: 3304 adds r3, #4 8035a9a: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 8035a9e: f000 bd93 b.w 80365c8 8035aa2: bf00 nop 8035aa4: 20021011 .word 0x20021011 8035aa8: 20021013 .word 0x20021013 8035aac: 20023e60 .word 0x20023e60 8035ab0: 3dcccccd .word 0x3dcccccd 8035ab4: 38d1b717 .word 0x38d1b717 if((menupos >= DiagLP_IDT) && (menupos <= DiagLP_IKD)) 8035ab8: 4bcb ldr r3, [pc, #812] ; (8035de8 ) 8035aba: 781b ldrb r3, [r3, #0] 8035abc: b2db uxtb r3, r3 8035abe: 2b12 cmp r3, #18 8035ac0: f240 8243 bls.w 8035f4a 8035ac4: 4bc8 ldr r3, [pc, #800] ; (8035de8 ) 8035ac6: 781b ldrb r3, [r3, #0] 8035ac8: b2db uxtb r3, r3 8035aca: 2b18 cmp r3, #24 8035acc: f200 823d bhi.w 8035f4a k = (uint32_t) (pardata.DIAGN_LP[CURR_POINT][CURR_USL] * 10.0f); 8035ad0: 4bc6 ldr r3, [pc, #792] ; (8035dec ) 8035ad2: 781b ldrb r3, [r3, #0] 8035ad4: b2db uxtb r3, r3 8035ad6: 4618 mov r0, r3 8035ad8: 4bc5 ldr r3, [pc, #788] ; (8035df0 ) 8035ada: 781b ldrb r3, [r3, #0] 8035adc: b2db uxtb r3, r3 8035ade: 4619 mov r1, r3 8035ae0: 4ac4 ldr r2, [pc, #784] ; (8035df4 ) 8035ae2: 0083 lsls r3, r0, #2 8035ae4: 440b add r3, r1 8035ae6: 33b6 adds r3, #182 ; 0xb6 8035ae8: 009b lsls r3, r3, #2 8035aea: 4413 add r3, r2 8035aec: 3304 adds r3, #4 8035aee: edd3 7a00 vldr s15, [r3] 8035af2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8035af6: ee67 7a87 vmul.f32 s15, s15, s14 8035afa: eefc 7ae7 vcvt.u32.f32 s15, s15 8035afe: ee17 3a90 vmov r3, s15 8035b02: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8035b06: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035b0a: 095b lsrs r3, r3, #5 8035b0c: 4aba ldr r2, [pc, #744] ; (8035df8 ) 8035b0e: fba2 2303 umull r2, r3, r2, r3 8035b12: 09db lsrs r3, r3, #7 8035b14: b2db uxtb r3, r3 8035b16: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8035b1a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035b1e: 0953 lsrs r3, r2, #5 8035b20: 49b5 ldr r1, [pc, #724] ; (8035df8 ) 8035b22: fba1 1303 umull r1, r3, r1, r3 8035b26: 09db lsrs r3, r3, #7 8035b28: 49b4 ldr r1, [pc, #720] ; (8035dfc ) 8035b2a: fb01 f303 mul.w r3, r1, r3 8035b2e: 1ad3 subs r3, r2, r3 8035b30: 4ab3 ldr r2, [pc, #716] ; (8035e00 ) 8035b32: fba2 2303 umull r2, r3, r2, r3 8035b36: 0b5b lsrs r3, r3, #13 8035b38: b2db uxtb r3, r3 8035b3a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8035b3e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035b42: 0953 lsrs r3, r2, #5 8035b44: 49ac ldr r1, [pc, #688] ; (8035df8 ) 8035b46: fba1 1303 umull r1, r3, r1, r3 8035b4a: 09db lsrs r3, r3, #7 8035b4c: 49ab ldr r1, [pc, #684] ; (8035dfc ) 8035b4e: fb01 f303 mul.w r3, r1, r3 8035b52: 1ad3 subs r3, r2, r3 8035b54: 4aaa ldr r2, [pc, #680] ; (8035e00 ) 8035b56: fba2 1203 umull r1, r2, r2, r3 8035b5a: 0b52 lsrs r2, r2, #13 8035b5c: f242 7110 movw r1, #10000 ; 0x2710 8035b60: fb01 f202 mul.w r2, r1, r2 8035b64: 1a9a subs r2, r3, r2 8035b66: 4ba7 ldr r3, [pc, #668] ; (8035e04 ) 8035b68: fba3 2302 umull r2, r3, r3, r2 8035b6c: 099b lsrs r3, r3, #6 8035b6e: b2db uxtb r3, r3 8035b70: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8035b74: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035b78: 095a lsrs r2, r3, #5 8035b7a: 499f ldr r1, [pc, #636] ; (8035df8 ) 8035b7c: fba1 1202 umull r1, r2, r1, r2 8035b80: 09d2 lsrs r2, r2, #7 8035b82: 499e ldr r1, [pc, #632] ; (8035dfc ) 8035b84: fb01 f202 mul.w r2, r1, r2 8035b88: 1a9a subs r2, r3, r2 8035b8a: 4b9d ldr r3, [pc, #628] ; (8035e00 ) 8035b8c: fba3 1302 umull r1, r3, r3, r2 8035b90: 0b5b lsrs r3, r3, #13 8035b92: f242 7110 movw r1, #10000 ; 0x2710 8035b96: fb01 f303 mul.w r3, r1, r3 8035b9a: 1ad3 subs r3, r2, r3 8035b9c: 4a99 ldr r2, [pc, #612] ; (8035e04 ) 8035b9e: fba2 1203 umull r1, r2, r2, r3 8035ba2: 0992 lsrs r2, r2, #6 8035ba4: f44f 717a mov.w r1, #1000 ; 0x3e8 8035ba8: fb01 f202 mul.w r2, r1, r2 8035bac: 1a9a subs r2, r3, r2 8035bae: 4b96 ldr r3, [pc, #600] ; (8035e08 ) 8035bb0: fba3 2302 umull r2, r3, r3, r2 8035bb4: 095b lsrs r3, r3, #5 8035bb6: b2db uxtb r3, r3 8035bb8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8035bbc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035bc0: 0953 lsrs r3, r2, #5 8035bc2: 498d ldr r1, [pc, #564] ; (8035df8 ) 8035bc4: fba1 1303 umull r1, r3, r1, r3 8035bc8: 09db lsrs r3, r3, #7 8035bca: 498c ldr r1, [pc, #560] ; (8035dfc ) 8035bcc: fb01 f303 mul.w r3, r1, r3 8035bd0: 1ad3 subs r3, r2, r3 8035bd2: 4a8b ldr r2, [pc, #556] ; (8035e00 ) 8035bd4: fba2 1203 umull r1, r2, r2, r3 8035bd8: 0b52 lsrs r2, r2, #13 8035bda: f242 7110 movw r1, #10000 ; 0x2710 8035bde: fb01 f202 mul.w r2, r1, r2 8035be2: 1a9a subs r2, r3, r2 8035be4: 4b87 ldr r3, [pc, #540] ; (8035e04 ) 8035be6: fba3 1302 umull r1, r3, r3, r2 8035bea: 099b lsrs r3, r3, #6 8035bec: f44f 717a mov.w r1, #1000 ; 0x3e8 8035bf0: fb01 f303 mul.w r3, r1, r3 8035bf4: 1ad3 subs r3, r2, r3 8035bf6: 4a84 ldr r2, [pc, #528] ; (8035e08 ) 8035bf8: fba2 1203 umull r1, r2, r2, r3 8035bfc: 0952 lsrs r2, r2, #5 8035bfe: 2164 movs r1, #100 ; 0x64 8035c00: fb01 f202 mul.w r2, r1, r2 8035c04: 1a9a subs r2, r3, r2 8035c06: 4b81 ldr r3, [pc, #516] ; (8035e0c ) 8035c08: fba3 2302 umull r2, r3, r3, r2 8035c0c: 08db lsrs r3, r3, #3 8035c0e: b2db uxtb r3, r3 8035c10: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8035c14: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035c18: 0953 lsrs r3, r2, #5 8035c1a: 4977 ldr r1, [pc, #476] ; (8035df8 ) 8035c1c: fba1 1303 umull r1, r3, r1, r3 8035c20: 09db lsrs r3, r3, #7 8035c22: 4976 ldr r1, [pc, #472] ; (8035dfc ) 8035c24: fb01 f303 mul.w r3, r1, r3 8035c28: 1ad3 subs r3, r2, r3 8035c2a: 4a75 ldr r2, [pc, #468] ; (8035e00 ) 8035c2c: fba2 1203 umull r1, r2, r2, r3 8035c30: 0b52 lsrs r2, r2, #13 8035c32: f242 7110 movw r1, #10000 ; 0x2710 8035c36: fb01 f202 mul.w r2, r1, r2 8035c3a: 1a9a subs r2, r3, r2 8035c3c: 4b71 ldr r3, [pc, #452] ; (8035e04 ) 8035c3e: fba3 1302 umull r1, r3, r3, r2 8035c42: 099b lsrs r3, r3, #6 8035c44: f44f 717a mov.w r1, #1000 ; 0x3e8 8035c48: fb01 f303 mul.w r3, r1, r3 8035c4c: 1ad3 subs r3, r2, r3 8035c4e: 4a6e ldr r2, [pc, #440] ; (8035e08 ) 8035c50: fba2 1203 umull r1, r2, r2, r3 8035c54: 0952 lsrs r2, r2, #5 8035c56: 2164 movs r1, #100 ; 0x64 8035c58: fb01 f202 mul.w r2, r1, r2 8035c5c: 1a9a subs r2, r3, r2 8035c5e: 4b6b ldr r3, [pc, #428] ; (8035e0c ) 8035c60: fba3 1302 umull r1, r3, r3, r2 8035c64: 08d9 lsrs r1, r3, #3 8035c66: 460b mov r3, r1 8035c68: 009b lsls r3, r3, #2 8035c6a: 440b add r3, r1 8035c6c: 005b lsls r3, r3, #1 8035c6e: 1ad1 subs r1, r2, r3 8035c70: b2cb uxtb r3, r1 8035c72: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8035c76: 4b5c ldr r3, [pc, #368] ; (8035de8 ) 8035c78: 781b ldrb r3, [r3, #0] 8035c7a: b2db uxtb r3, r3 8035c7c: 3b13 subs r3, #19 8035c7e: 2b05 cmp r3, #5 8035c80: d836 bhi.n 8035cf0 8035c82: a201 add r2, pc, #4 ; (adr r2, 8035c88 ) 8035c84: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8035c88: 08035ca1 .word 0x08035ca1 8035c8c: 08035caf .word 0x08035caf 8035c90: 08035cbf .word 0x08035cbf 8035c94: 08035ccd .word 0x08035ccd 8035c98: 08035cd9 .word 0x08035cd9 8035c9c: 08035ce5 .word 0x08035ce5 k += 100000; 8035ca0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035ca4: 4b55 ldr r3, [pc, #340] ; (8035dfc ) 8035ca6: 4413 add r3, r2 8035ca8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035cac: e020 b.n 8035cf0 k += 10000; 8035cae: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035cb2: f242 7310 movw r3, #10000 ; 0x2710 8035cb6: 4413 add r3, r2 8035cb8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035cbc: e018 b.n 8035cf0 k += 1000; 8035cbe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035cc2: f503 737a add.w r3, r3, #1000 ; 0x3e8 8035cc6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035cca: e011 b.n 8035cf0 k += 100; 8035ccc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035cd0: 3364 adds r3, #100 ; 0x64 8035cd2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035cd6: e00b b.n 8035cf0 k += 10; 8035cd8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035cdc: 330a adds r3, #10 8035cde: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035ce2: e005 b.n 8035cf0 k++; 8035ce4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035ce8: 3301 adds r3, #1 8035cea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8035cee: bf00 nop fl = (float32_t) k; 8035cf0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035cf4: ee07 3a90 vmov s15, r3 8035cf8: eef8 7a67 vcvt.f32.u32 s15, s15 8035cfc: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8035d00: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035d04: ed9f 7a42 vldr s14, [pc, #264] ; 8035e10 8035d08: ee67 7a87 vmul.f32 s15, s15, s14 8035d0c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8035d10: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035d14: ed9f 7a3f vldr s14, [pc, #252] ; 8035e14 8035d18: ee77 7a87 vadd.f32 s15, s15, s14 8035d1c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8035d20: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035d24: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8035d28: eef4 7ac7 vcmpe.f32 s15, s14 8035d2c: eef1 fa10 vmrs APSR_nzcv, fpscr 8035d30: d512 bpl.n 8035d58 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = 10.0f; 8035d32: 4b2e ldr r3, [pc, #184] ; (8035dec ) 8035d34: 781b ldrb r3, [r3, #0] 8035d36: b2db uxtb r3, r3 8035d38: 4618 mov r0, r3 8035d3a: 4b2d ldr r3, [pc, #180] ; (8035df0 ) 8035d3c: 781b ldrb r3, [r3, #0] 8035d3e: b2db uxtb r3, r3 8035d40: 4619 mov r1, r3 8035d42: 4a2c ldr r2, [pc, #176] ; (8035df4 ) 8035d44: 0083 lsls r3, r0, #2 8035d46: 440b add r3, r1 8035d48: 33b6 adds r3, #182 ; 0xb6 8035d4a: 009b lsls r3, r3, #2 8035d4c: 4413 add r3, r2 8035d4e: 3304 adds r3, #4 8035d50: 4a31 ldr r2, [pc, #196] ; (8035e18 ) 8035d52: 601a str r2, [r3, #0] if(fl < 10.0f) 8035d54: f000 bc38 b.w 80365c8 if(pardata.DIAGN_LP[CURR_POINT][CURR_USL] < pardata.DIAGN_HP[CURR_POINT][CURR_USL]) 8035d58: 4b24 ldr r3, [pc, #144] ; (8035dec ) 8035d5a: 781b ldrb r3, [r3, #0] 8035d5c: b2db uxtb r3, r3 8035d5e: 4618 mov r0, r3 8035d60: 4b23 ldr r3, [pc, #140] ; (8035df0 ) 8035d62: 781b ldrb r3, [r3, #0] 8035d64: b2db uxtb r3, r3 8035d66: 4619 mov r1, r3 8035d68: 4a22 ldr r2, [pc, #136] ; (8035df4 ) 8035d6a: 0083 lsls r3, r0, #2 8035d6c: 440b add r3, r1 8035d6e: 33b6 adds r3, #182 ; 0xb6 8035d70: 009b lsls r3, r3, #2 8035d72: 4413 add r3, r2 8035d74: 3304 adds r3, #4 8035d76: ed93 7a00 vldr s14, [r3] 8035d7a: 4b1c ldr r3, [pc, #112] ; (8035dec ) 8035d7c: 781b ldrb r3, [r3, #0] 8035d7e: b2db uxtb r3, r3 8035d80: 4618 mov r0, r3 8035d82: 4b1b ldr r3, [pc, #108] ; (8035df0 ) 8035d84: 781b ldrb r3, [r3, #0] 8035d86: b2db uxtb r3, r3 8035d88: 4619 mov r1, r3 8035d8a: 4a1a ldr r2, [pc, #104] ; (8035df4 ) 8035d8c: 0083 lsls r3, r0, #2 8035d8e: 440b add r3, r1 8035d90: 3396 adds r3, #150 ; 0x96 8035d92: 009b lsls r3, r3, #2 8035d94: 4413 add r3, r2 8035d96: 3304 adds r3, #4 8035d98: edd3 7a00 vldr s15, [r3] 8035d9c: eeb4 7ae7 vcmpe.f32 s14, s15 8035da0: eef1 fa10 vmrs APSR_nzcv, fpscr 8035da4: d53a bpl.n 8035e1c pardata.DIAGN_LP[CURR_POINT][CURR_USL] = pardata.DIAGN_HP[CURR_POINT][CURR_USL]; 8035da6: 4b11 ldr r3, [pc, #68] ; (8035dec ) 8035da8: 781b ldrb r3, [r3, #0] 8035daa: b2db uxtb r3, r3 8035dac: 461c mov r4, r3 8035dae: 4b10 ldr r3, [pc, #64] ; (8035df0 ) 8035db0: 781b ldrb r3, [r3, #0] 8035db2: b2db uxtb r3, r3 8035db4: 4618 mov r0, r3 8035db6: 4b0d ldr r3, [pc, #52] ; (8035dec ) 8035db8: 781b ldrb r3, [r3, #0] 8035dba: b2db uxtb r3, r3 8035dbc: 461d mov r5, r3 8035dbe: 4b0c ldr r3, [pc, #48] ; (8035df0 ) 8035dc0: 781b ldrb r3, [r3, #0] 8035dc2: b2db uxtb r3, r3 8035dc4: 4619 mov r1, r3 8035dc6: 4a0b ldr r2, [pc, #44] ; (8035df4 ) 8035dc8: 00ab lsls r3, r5, #2 8035dca: 440b add r3, r1 8035dcc: 3396 adds r3, #150 ; 0x96 8035dce: 009b lsls r3, r3, #2 8035dd0: 4413 add r3, r2 8035dd2: 3304 adds r3, #4 8035dd4: 681a ldr r2, [r3, #0] 8035dd6: 4907 ldr r1, [pc, #28] ; (8035df4 ) 8035dd8: 00a3 lsls r3, r4, #2 8035dda: 4403 add r3, r0 8035ddc: 33b6 adds r3, #182 ; 0xb6 8035dde: 009b lsls r3, r3, #2 8035de0: 440b add r3, r1 8035de2: 3304 adds r3, #4 8035de4: 601a str r2, [r3, #0] if(fl < 10.0f) 8035de6: e3ef b.n 80365c8 8035de8: 20020070 .word 0x20020070 8035dec: 20021011 .word 0x20021011 8035df0: 20021013 .word 0x20021013 8035df4: 20023e60 .word 0x20023e60 8035df8: 0a7c5ac5 .word 0x0a7c5ac5 8035dfc: 000186a0 .word 0x000186a0 8035e00: d1b71759 .word 0xd1b71759 8035e04: 10624dd3 .word 0x10624dd3 8035e08: 51eb851f .word 0x51eb851f 8035e0c: cccccccd .word 0xcccccccd 8035e10: 3dcccccd .word 0x3dcccccd 8035e14: 38d1b717 .word 0x38d1b717 8035e18: 41200000 .word 0x41200000 if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8035e1c: 4bd3 ldr r3, [pc, #844] ; (803616c ) 8035e1e: 7adb ldrb r3, [r3, #11] 8035e20: b2db uxtb r3, r3 8035e22: 461a mov r2, r3 8035e24: 4bd2 ldr r3, [pc, #840] ; (8036170 ) 8035e26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8035e2a: ee07 3a90 vmov s15, r3 8035e2e: eeb8 7a67 vcvt.f32.u32 s14, s15 8035e32: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 8035e36: eec7 7a26 vdiv.f32 s15, s14, s13 8035e3a: ed9f 7ace vldr s14, [pc, #824] ; 8036174 8035e3e: ee37 7a87 vadd.f32 s14, s15, s14 8035e42: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8035e46: eeb4 7ae7 vcmpe.f32 s14, s15 8035e4a: eef1 fa10 vmrs APSR_nzcv, fpscr 8035e4e: d524 bpl.n 8035e9a pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8035e50: 4bc9 ldr r3, [pc, #804] ; (8036178 ) 8035e52: 781b ldrb r3, [r3, #0] 8035e54: b2db uxtb r3, r3 8035e56: 4618 mov r0, r3 8035e58: 4bc8 ldr r3, [pc, #800] ; (803617c ) 8035e5a: 781b ldrb r3, [r3, #0] 8035e5c: b2db uxtb r3, r3 8035e5e: 4619 mov r1, r3 8035e60: 4bc2 ldr r3, [pc, #776] ; (803616c ) 8035e62: 7adb ldrb r3, [r3, #11] 8035e64: b2db uxtb r3, r3 8035e66: 461a mov r2, r3 8035e68: 4bc1 ldr r3, [pc, #772] ; (8036170 ) 8035e6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8035e6e: 4ac4 ldr r2, [pc, #784] ; (8036180 ) 8035e70: fba2 2303 umull r2, r3, r2, r3 8035e74: 089b lsrs r3, r3, #2 8035e76: ee07 3a90 vmov s15, r3 8035e7a: eef8 7a67 vcvt.f32.u32 s15, s15 8035e7e: ed9f 7ac1 vldr s14, [pc, #772] ; 8036184 8035e82: ee77 7a87 vadd.f32 s15, s15, s14 8035e86: 4ab9 ldr r2, [pc, #740] ; (803616c ) 8035e88: 0083 lsls r3, r0, #2 8035e8a: 440b add r3, r1 8035e8c: 33b6 adds r3, #182 ; 0xb6 8035e8e: 009b lsls r3, r3, #2 8035e90: 4413 add r3, r2 8035e92: 3304 adds r3, #4 8035e94: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 8035e98: e396 b.n 80365c8 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) k; 8035e9a: 4bb7 ldr r3, [pc, #732] ; (8036178 ) 8035e9c: 781b ldrb r3, [r3, #0] 8035e9e: b2db uxtb r3, r3 8035ea0: 4618 mov r0, r3 8035ea2: 4bb6 ldr r3, [pc, #728] ; (803617c ) 8035ea4: 781b ldrb r3, [r3, #0] 8035ea6: b2db uxtb r3, r3 8035ea8: 4619 mov r1, r3 8035eaa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035eae: ee07 3a90 vmov s15, r3 8035eb2: eef8 7a67 vcvt.f32.u32 s15, s15 8035eb6: 4aad ldr r2, [pc, #692] ; (803616c ) 8035eb8: 0083 lsls r3, r0, #2 8035eba: 440b add r3, r1 8035ebc: 33b6 adds r3, #182 ; 0xb6 8035ebe: 009b lsls r3, r3, #2 8035ec0: 4413 add r3, r2 8035ec2: 3304 adds r3, #4 8035ec4: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] *= 0.1f; 8035ec8: 4bab ldr r3, [pc, #684] ; (8036178 ) 8035eca: 781b ldrb r3, [r3, #0] 8035ecc: b2da uxtb r2, r3 8035ece: 4610 mov r0, r2 8035ed0: 4baa ldr r3, [pc, #680] ; (803617c ) 8035ed2: 781b ldrb r3, [r3, #0] 8035ed4: b2db uxtb r3, r3 8035ed6: 4619 mov r1, r3 8035ed8: 4615 mov r5, r2 8035eda: 461c mov r4, r3 8035edc: 4aa3 ldr r2, [pc, #652] ; (803616c ) 8035ede: 00ab lsls r3, r5, #2 8035ee0: 4423 add r3, r4 8035ee2: 33b6 adds r3, #182 ; 0xb6 8035ee4: 009b lsls r3, r3, #2 8035ee6: 4413 add r3, r2 8035ee8: 3304 adds r3, #4 8035eea: edd3 7a00 vldr s15, [r3] 8035eee: ed9f 7aa6 vldr s14, [pc, #664] ; 8036188 8035ef2: ee67 7a87 vmul.f32 s15, s15, s14 8035ef6: 4a9d ldr r2, [pc, #628] ; (803616c ) 8035ef8: 0083 lsls r3, r0, #2 8035efa: 440b add r3, r1 8035efc: 33b6 adds r3, #182 ; 0xb6 8035efe: 009b lsls r3, r3, #2 8035f00: 4413 add r3, r2 8035f02: 3304 adds r3, #4 8035f04: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001f; 8035f08: 4b9b ldr r3, [pc, #620] ; (8036178 ) 8035f0a: 781b ldrb r3, [r3, #0] 8035f0c: b2da uxtb r2, r3 8035f0e: 4610 mov r0, r2 8035f10: 4b9a ldr r3, [pc, #616] ; (803617c ) 8035f12: 781b ldrb r3, [r3, #0] 8035f14: b2db uxtb r3, r3 8035f16: 4619 mov r1, r3 8035f18: 4615 mov r5, r2 8035f1a: 461c mov r4, r3 8035f1c: 4a93 ldr r2, [pc, #588] ; (803616c ) 8035f1e: 00ab lsls r3, r5, #2 8035f20: 4423 add r3, r4 8035f22: 33b6 adds r3, #182 ; 0xb6 8035f24: 009b lsls r3, r3, #2 8035f26: 4413 add r3, r2 8035f28: 3304 adds r3, #4 8035f2a: edd3 7a00 vldr s15, [r3] 8035f2e: ed9f 7a95 vldr s14, [pc, #596] ; 8036184 8035f32: ee77 7a87 vadd.f32 s15, s15, s14 8035f36: 4a8d ldr r2, [pc, #564] ; (803616c ) 8035f38: 0083 lsls r3, r0, #2 8035f3a: 440b add r3, r1 8035f3c: 33b6 adds r3, #182 ; 0xb6 8035f3e: 009b lsls r3, r3, #2 8035f40: 4413 add r3, r2 8035f42: 3304 adds r3, #4 8035f44: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 8035f48: e33e b.n 80365c8 if((menupos >= DiagW_IDT) && (menupos <= DiagW_IKD)) 8035f4a: 4b90 ldr r3, [pc, #576] ; (803618c ) 8035f4c: 781b ldrb r3, [r3, #0] 8035f4e: b2db uxtb r3, r3 8035f50: 2b18 cmp r3, #24 8035f52: f240 819a bls.w 803628a 8035f56: 4b8d ldr r3, [pc, #564] ; (803618c ) 8035f58: 781b ldrb r3, [r3, #0] 8035f5a: b2db uxtb r3, r3 8035f5c: 2b1e cmp r3, #30 8035f5e: f200 8194 bhi.w 803628a k = (uint32_t) (pardata.DIAGN_W[CURR_POINT][CURR_USL] * 10.0f); 8035f62: 4b85 ldr r3, [pc, #532] ; (8036178 ) 8035f64: 781b ldrb r3, [r3, #0] 8035f66: b2db uxtb r3, r3 8035f68: 4618 mov r0, r3 8035f6a: 4b84 ldr r3, [pc, #528] ; (803617c ) 8035f6c: 781b ldrb r3, [r3, #0] 8035f6e: b2db uxtb r3, r3 8035f70: 4619 mov r1, r3 8035f72: 4a7e ldr r2, [pc, #504] ; (803616c ) 8035f74: 0083 lsls r3, r0, #2 8035f76: 440b add r3, r1 8035f78: 33d6 adds r3, #214 ; 0xd6 8035f7a: 009b lsls r3, r3, #2 8035f7c: 4413 add r3, r2 8035f7e: 3304 adds r3, #4 8035f80: edd3 7a00 vldr s15, [r3] 8035f84: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8035f88: ee67 7a87 vmul.f32 s15, s15, s14 8035f8c: eefc 7ae7 vcvt.u32.f32 s15, s15 8035f90: ee17 3a90 vmov r3, s15 8035f94: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8035f98: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8035f9c: 095b lsrs r3, r3, #5 8035f9e: 4a7c ldr r2, [pc, #496] ; (8036190 ) 8035fa0: fba2 2303 umull r2, r3, r2, r3 8035fa4: 09db lsrs r3, r3, #7 8035fa6: b2db uxtb r3, r3 8035fa8: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8035fac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035fb0: 0953 lsrs r3, r2, #5 8035fb2: 4977 ldr r1, [pc, #476] ; (8036190 ) 8035fb4: fba1 1303 umull r1, r3, r1, r3 8035fb8: 09db lsrs r3, r3, #7 8035fba: 4976 ldr r1, [pc, #472] ; (8036194 ) 8035fbc: fb01 f303 mul.w r3, r1, r3 8035fc0: 1ad3 subs r3, r2, r3 8035fc2: 4a75 ldr r2, [pc, #468] ; (8036198 ) 8035fc4: fba2 2303 umull r2, r3, r2, r3 8035fc8: 0b5b lsrs r3, r3, #13 8035fca: b2db uxtb r3, r3 8035fcc: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8035fd0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8035fd4: 0953 lsrs r3, r2, #5 8035fd6: 496e ldr r1, [pc, #440] ; (8036190 ) 8035fd8: fba1 1303 umull r1, r3, r1, r3 8035fdc: 09db lsrs r3, r3, #7 8035fde: 496d ldr r1, [pc, #436] ; (8036194 ) 8035fe0: fb01 f303 mul.w r3, r1, r3 8035fe4: 1ad3 subs r3, r2, r3 8035fe6: 4a6c ldr r2, [pc, #432] ; (8036198 ) 8035fe8: fba2 1203 umull r1, r2, r2, r3 8035fec: 0b52 lsrs r2, r2, #13 8035fee: f242 7110 movw r1, #10000 ; 0x2710 8035ff2: fb01 f202 mul.w r2, r1, r2 8035ff6: 1a9a subs r2, r3, r2 8035ff8: 4b68 ldr r3, [pc, #416] ; (803619c ) 8035ffa: fba3 2302 umull r2, r3, r3, r2 8035ffe: 099b lsrs r3, r3, #6 8036000: b2db uxtb r3, r3 8036002: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8036006: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803600a: 095a lsrs r2, r3, #5 803600c: 4960 ldr r1, [pc, #384] ; (8036190 ) 803600e: fba1 1202 umull r1, r2, r1, r2 8036012: 09d2 lsrs r2, r2, #7 8036014: 495f ldr r1, [pc, #380] ; (8036194 ) 8036016: fb01 f202 mul.w r2, r1, r2 803601a: 1a9a subs r2, r3, r2 803601c: 4b5e ldr r3, [pc, #376] ; (8036198 ) 803601e: fba3 1302 umull r1, r3, r3, r2 8036022: 0b5b lsrs r3, r3, #13 8036024: f242 7110 movw r1, #10000 ; 0x2710 8036028: fb01 f303 mul.w r3, r1, r3 803602c: 1ad3 subs r3, r2, r3 803602e: 4a5b ldr r2, [pc, #364] ; (803619c ) 8036030: fba2 1203 umull r1, r2, r2, r3 8036034: 0992 lsrs r2, r2, #6 8036036: f44f 717a mov.w r1, #1000 ; 0x3e8 803603a: fb01 f202 mul.w r2, r1, r2 803603e: 1a9a subs r2, r3, r2 8036040: 4b57 ldr r3, [pc, #348] ; (80361a0 ) 8036042: fba3 2302 umull r2, r3, r3, r2 8036046: 095b lsrs r3, r3, #5 8036048: b2db uxtb r3, r3 803604a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803604e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036052: 0953 lsrs r3, r2, #5 8036054: 494e ldr r1, [pc, #312] ; (8036190 ) 8036056: fba1 1303 umull r1, r3, r1, r3 803605a: 09db lsrs r3, r3, #7 803605c: 494d ldr r1, [pc, #308] ; (8036194 ) 803605e: fb01 f303 mul.w r3, r1, r3 8036062: 1ad3 subs r3, r2, r3 8036064: 4a4c ldr r2, [pc, #304] ; (8036198 ) 8036066: fba2 1203 umull r1, r2, r2, r3 803606a: 0b52 lsrs r2, r2, #13 803606c: f242 7110 movw r1, #10000 ; 0x2710 8036070: fb01 f202 mul.w r2, r1, r2 8036074: 1a9a subs r2, r3, r2 8036076: 4b49 ldr r3, [pc, #292] ; (803619c ) 8036078: fba3 1302 umull r1, r3, r3, r2 803607c: 099b lsrs r3, r3, #6 803607e: f44f 717a mov.w r1, #1000 ; 0x3e8 8036082: fb01 f303 mul.w r3, r1, r3 8036086: 1ad3 subs r3, r2, r3 8036088: 4a45 ldr r2, [pc, #276] ; (80361a0 ) 803608a: fba2 1203 umull r1, r2, r2, r3 803608e: 0952 lsrs r2, r2, #5 8036090: 2164 movs r1, #100 ; 0x64 8036092: fb01 f202 mul.w r2, r1, r2 8036096: 1a9a subs r2, r3, r2 8036098: 4b39 ldr r3, [pc, #228] ; (8036180 ) 803609a: fba3 2302 umull r2, r3, r3, r2 803609e: 08db lsrs r3, r3, #3 80360a0: b2db uxtb r3, r3 80360a2: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80360a6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80360aa: 0953 lsrs r3, r2, #5 80360ac: 4938 ldr r1, [pc, #224] ; (8036190 ) 80360ae: fba1 1303 umull r1, r3, r1, r3 80360b2: 09db lsrs r3, r3, #7 80360b4: 4937 ldr r1, [pc, #220] ; (8036194 ) 80360b6: fb01 f303 mul.w r3, r1, r3 80360ba: 1ad3 subs r3, r2, r3 80360bc: 4a36 ldr r2, [pc, #216] ; (8036198 ) 80360be: fba2 1203 umull r1, r2, r2, r3 80360c2: 0b52 lsrs r2, r2, #13 80360c4: f242 7110 movw r1, #10000 ; 0x2710 80360c8: fb01 f202 mul.w r2, r1, r2 80360cc: 1a9a subs r2, r3, r2 80360ce: 4b33 ldr r3, [pc, #204] ; (803619c ) 80360d0: fba3 1302 umull r1, r3, r3, r2 80360d4: 099b lsrs r3, r3, #6 80360d6: f44f 717a mov.w r1, #1000 ; 0x3e8 80360da: fb01 f303 mul.w r3, r1, r3 80360de: 1ad3 subs r3, r2, r3 80360e0: 4a2f ldr r2, [pc, #188] ; (80361a0 ) 80360e2: fba2 1203 umull r1, r2, r2, r3 80360e6: 0952 lsrs r2, r2, #5 80360e8: 2164 movs r1, #100 ; 0x64 80360ea: fb01 f202 mul.w r2, r1, r2 80360ee: 1a9a subs r2, r3, r2 80360f0: 4b23 ldr r3, [pc, #140] ; (8036180 ) 80360f2: fba3 1302 umull r1, r3, r3, r2 80360f6: 08d9 lsrs r1, r3, #3 80360f8: 460b mov r3, r1 80360fa: 009b lsls r3, r3, #2 80360fc: 440b add r3, r1 80360fe: 005b lsls r3, r3, #1 8036100: 1ad1 subs r1, r2, r3 8036102: b2cb uxtb r3, r1 8036104: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8036108: 4b20 ldr r3, [pc, #128] ; (803618c ) 803610a: 781b ldrb r3, [r3, #0] 803610c: b2db uxtb r3, r3 803610e: 3b19 subs r3, #25 8036110: 2b05 cmp r3, #5 8036112: d853 bhi.n 80361bc 8036114: a201 add r2, pc, #4 ; (adr r2, 803611c ) 8036116: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803611a: bf00 nop 803611c: 08036135 .word 0x08036135 8036120: 08036143 .word 0x08036143 8036124: 08036153 .word 0x08036153 8036128: 08036161 .word 0x08036161 803612c: 080361a5 .word 0x080361a5 8036130: 080361b1 .word 0x080361b1 k += 100000; 8036134: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036138: 4b16 ldr r3, [pc, #88] ; (8036194 ) 803613a: 4413 add r3, r2 803613c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036140: e03c b.n 80361bc k += 10000; 8036142: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036146: f242 7310 movw r3, #10000 ; 0x2710 803614a: 4413 add r3, r2 803614c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036150: e034 b.n 80361bc k += 1000; 8036152: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036156: f503 737a add.w r3, r3, #1000 ; 0x3e8 803615a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803615e: e02d b.n 80361bc k += 100; 8036160: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036164: 3364 adds r3, #100 ; 0x64 8036166: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803616a: e027 b.n 80361bc 803616c: 20023e60 .word 0x20023e60 8036170: 080ee8c8 .word 0x080ee8c8 8036174: 3851b717 .word 0x3851b717 8036178: 20021011 .word 0x20021011 803617c: 20021013 .word 0x20021013 8036180: cccccccd .word 0xcccccccd 8036184: 38d1b717 .word 0x38d1b717 8036188: 3dcccccd .word 0x3dcccccd 803618c: 20020070 .word 0x20020070 8036190: 0a7c5ac5 .word 0x0a7c5ac5 8036194: 000186a0 .word 0x000186a0 8036198: d1b71759 .word 0xd1b71759 803619c: 10624dd3 .word 0x10624dd3 80361a0: 51eb851f .word 0x51eb851f k += 10; 80361a4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80361a8: 330a adds r3, #10 80361aa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80361ae: e005 b.n 80361bc k++; 80361b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80361b4: 3301 adds r3, #1 80361b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80361ba: bf00 nop if(k > 999999) k = 999999; 80361bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80361c0: 4abd ldr r2, [pc, #756] ; (80364b8 ) 80361c2: 4293 cmp r3, r2 80361c4: d902 bls.n 80361cc 80361c6: 4bbc ldr r3, [pc, #752] ; (80364b8 ) 80361c8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 80361cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80361d0: 2b00 cmp r3, #0 80361d2: d102 bne.n 80361da 80361d4: 2301 movs r3, #1 80361d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_W[CURR_POINT][CURR_USL] = (float32_t) k; 80361da: 4bb8 ldr r3, [pc, #736] ; (80364bc ) 80361dc: 781b ldrb r3, [r3, #0] 80361de: b2db uxtb r3, r3 80361e0: 4618 mov r0, r3 80361e2: 4bb7 ldr r3, [pc, #732] ; (80364c0 ) 80361e4: 781b ldrb r3, [r3, #0] 80361e6: b2db uxtb r3, r3 80361e8: 4619 mov r1, r3 80361ea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80361ee: ee07 3a90 vmov s15, r3 80361f2: eef8 7a67 vcvt.f32.u32 s15, s15 80361f6: 4ab3 ldr r2, [pc, #716] ; (80364c4 ) 80361f8: 0083 lsls r3, r0, #2 80361fa: 440b add r3, r1 80361fc: 33d6 adds r3, #214 ; 0xd6 80361fe: 009b lsls r3, r3, #2 8036200: 4413 add r3, r2 8036202: 3304 adds r3, #4 8036204: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] *= 0.1f; 8036208: 4bac ldr r3, [pc, #688] ; (80364bc ) 803620a: 781b ldrb r3, [r3, #0] 803620c: b2da uxtb r2, r3 803620e: 4610 mov r0, r2 8036210: 4bab ldr r3, [pc, #684] ; (80364c0 ) 8036212: 781b ldrb r3, [r3, #0] 8036214: b2db uxtb r3, r3 8036216: 4619 mov r1, r3 8036218: 4615 mov r5, r2 803621a: 461c mov r4, r3 803621c: 4aa9 ldr r2, [pc, #676] ; (80364c4 ) 803621e: 00ab lsls r3, r5, #2 8036220: 4423 add r3, r4 8036222: 33d6 adds r3, #214 ; 0xd6 8036224: 009b lsls r3, r3, #2 8036226: 4413 add r3, r2 8036228: 3304 adds r3, #4 803622a: edd3 7a00 vldr s15, [r3] 803622e: ed9f 7aa6 vldr s14, [pc, #664] ; 80364c8 8036232: ee67 7a87 vmul.f32 s15, s15, s14 8036236: 4aa3 ldr r2, [pc, #652] ; (80364c4 ) 8036238: 0083 lsls r3, r0, #2 803623a: 440b add r3, r1 803623c: 33d6 adds r3, #214 ; 0xd6 803623e: 009b lsls r3, r3, #2 8036240: 4413 add r3, r2 8036242: 3304 adds r3, #4 8036244: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] += 0.05f; 8036248: 4b9c ldr r3, [pc, #624] ; (80364bc ) 803624a: 781b ldrb r3, [r3, #0] 803624c: b2da uxtb r2, r3 803624e: 4610 mov r0, r2 8036250: 4b9b ldr r3, [pc, #620] ; (80364c0 ) 8036252: 781b ldrb r3, [r3, #0] 8036254: b2db uxtb r3, r3 8036256: 4619 mov r1, r3 8036258: 4615 mov r5, r2 803625a: 461c mov r4, r3 803625c: 4a99 ldr r2, [pc, #612] ; (80364c4 ) 803625e: 00ab lsls r3, r5, #2 8036260: 4423 add r3, r4 8036262: 33d6 adds r3, #214 ; 0xd6 8036264: 009b lsls r3, r3, #2 8036266: 4413 add r3, r2 8036268: 3304 adds r3, #4 803626a: edd3 7a00 vldr s15, [r3] 803626e: ed9f 7a97 vldr s14, [pc, #604] ; 80364cc 8036272: ee77 7a87 vadd.f32 s15, s15, s14 8036276: 4a93 ldr r2, [pc, #588] ; (80364c4 ) 8036278: 0083 lsls r3, r0, #2 803627a: 440b add r3, r1 803627c: 33d6 adds r3, #214 ; 0xd6 803627e: 009b lsls r3, r3, #2 8036280: 4413 add r3, r2 8036282: 3304 adds r3, #4 8036284: edc3 7a00 vstr s15, [r3] 8036288: e19e b.n 80365c8 if((menupos >= DiagA_IDT) && (menupos <= DiagA_IKD)) 803628a: 4b91 ldr r3, [pc, #580] ; (80364d0 ) 803628c: 781b ldrb r3, [r3, #0] 803628e: b2db uxtb r3, r3 8036290: 2b1e cmp r3, #30 8036292: f245 859c bls.w 803bdce 8036296: 4b8e ldr r3, [pc, #568] ; (80364d0 ) 8036298: 781b ldrb r3, [r3, #0] 803629a: b2db uxtb r3, r3 803629c: 2b24 cmp r3, #36 ; 0x24 803629e: f205 8596 bhi.w 803bdce k = (uint32_t) (pardata.DIAGN_A[CURR_POINT][CURR_USL] * 10.0f); 80362a2: 4b86 ldr r3, [pc, #536] ; (80364bc ) 80362a4: 781b ldrb r3, [r3, #0] 80362a6: b2db uxtb r3, r3 80362a8: 4618 mov r0, r3 80362aa: 4b85 ldr r3, [pc, #532] ; (80364c0 ) 80362ac: 781b ldrb r3, [r3, #0] 80362ae: b2db uxtb r3, r3 80362b0: 4619 mov r1, r3 80362b2: 4a84 ldr r2, [pc, #528] ; (80364c4 ) 80362b4: 0083 lsls r3, r0, #2 80362b6: 440b add r3, r1 80362b8: 33f6 adds r3, #246 ; 0xf6 80362ba: 009b lsls r3, r3, #2 80362bc: 4413 add r3, r2 80362be: 3304 adds r3, #4 80362c0: edd3 7a00 vldr s15, [r3] 80362c4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80362c8: ee67 7a87 vmul.f32 s15, s15, s14 80362cc: eefc 7ae7 vcvt.u32.f32 s15, s15 80362d0: ee17 3a90 vmov r3, s15 80362d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80362d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80362dc: 095b lsrs r3, r3, #5 80362de: 4a7d ldr r2, [pc, #500] ; (80364d4 ) 80362e0: fba2 2303 umull r2, r3, r2, r3 80362e4: 09db lsrs r3, r3, #7 80362e6: b2db uxtb r3, r3 80362e8: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80362ec: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80362f0: 0953 lsrs r3, r2, #5 80362f2: 4978 ldr r1, [pc, #480] ; (80364d4 ) 80362f4: fba1 1303 umull r1, r3, r1, r3 80362f8: 09db lsrs r3, r3, #7 80362fa: 4977 ldr r1, [pc, #476] ; (80364d8 ) 80362fc: fb01 f303 mul.w r3, r1, r3 8036300: 1ad3 subs r3, r2, r3 8036302: 4a76 ldr r2, [pc, #472] ; (80364dc ) 8036304: fba2 2303 umull r2, r3, r2, r3 8036308: 0b5b lsrs r3, r3, #13 803630a: b2db uxtb r3, r3 803630c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8036310: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036314: 0953 lsrs r3, r2, #5 8036316: 496f ldr r1, [pc, #444] ; (80364d4 ) 8036318: fba1 1303 umull r1, r3, r1, r3 803631c: 09db lsrs r3, r3, #7 803631e: 496e ldr r1, [pc, #440] ; (80364d8 ) 8036320: fb01 f303 mul.w r3, r1, r3 8036324: 1ad3 subs r3, r2, r3 8036326: 4a6d ldr r2, [pc, #436] ; (80364dc ) 8036328: fba2 1203 umull r1, r2, r2, r3 803632c: 0b52 lsrs r2, r2, #13 803632e: f242 7110 movw r1, #10000 ; 0x2710 8036332: fb01 f202 mul.w r2, r1, r2 8036336: 1a9a subs r2, r3, r2 8036338: 4b69 ldr r3, [pc, #420] ; (80364e0 ) 803633a: fba3 2302 umull r2, r3, r3, r2 803633e: 099b lsrs r3, r3, #6 8036340: b2db uxtb r3, r3 8036342: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8036346: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803634a: 095a lsrs r2, r3, #5 803634c: 4961 ldr r1, [pc, #388] ; (80364d4 ) 803634e: fba1 1202 umull r1, r2, r1, r2 8036352: 09d2 lsrs r2, r2, #7 8036354: 4960 ldr r1, [pc, #384] ; (80364d8 ) 8036356: fb01 f202 mul.w r2, r1, r2 803635a: 1a9a subs r2, r3, r2 803635c: 4b5f ldr r3, [pc, #380] ; (80364dc ) 803635e: fba3 1302 umull r1, r3, r3, r2 8036362: 0b5b lsrs r3, r3, #13 8036364: f242 7110 movw r1, #10000 ; 0x2710 8036368: fb01 f303 mul.w r3, r1, r3 803636c: 1ad3 subs r3, r2, r3 803636e: 4a5c ldr r2, [pc, #368] ; (80364e0 ) 8036370: fba2 1203 umull r1, r2, r2, r3 8036374: 0992 lsrs r2, r2, #6 8036376: f44f 717a mov.w r1, #1000 ; 0x3e8 803637a: fb01 f202 mul.w r2, r1, r2 803637e: 1a9a subs r2, r3, r2 8036380: 4b58 ldr r3, [pc, #352] ; (80364e4 ) 8036382: fba3 2302 umull r2, r3, r3, r2 8036386: 095b lsrs r3, r3, #5 8036388: b2db uxtb r3, r3 803638a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803638e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036392: 0953 lsrs r3, r2, #5 8036394: 494f ldr r1, [pc, #316] ; (80364d4 ) 8036396: fba1 1303 umull r1, r3, r1, r3 803639a: 09db lsrs r3, r3, #7 803639c: 494e ldr r1, [pc, #312] ; (80364d8 ) 803639e: fb01 f303 mul.w r3, r1, r3 80363a2: 1ad3 subs r3, r2, r3 80363a4: 4a4d ldr r2, [pc, #308] ; (80364dc ) 80363a6: fba2 1203 umull r1, r2, r2, r3 80363aa: 0b52 lsrs r2, r2, #13 80363ac: f242 7110 movw r1, #10000 ; 0x2710 80363b0: fb01 f202 mul.w r2, r1, r2 80363b4: 1a9a subs r2, r3, r2 80363b6: 4b4a ldr r3, [pc, #296] ; (80364e0 ) 80363b8: fba3 1302 umull r1, r3, r3, r2 80363bc: 099b lsrs r3, r3, #6 80363be: f44f 717a mov.w r1, #1000 ; 0x3e8 80363c2: fb01 f303 mul.w r3, r1, r3 80363c6: 1ad3 subs r3, r2, r3 80363c8: 4a46 ldr r2, [pc, #280] ; (80364e4 ) 80363ca: fba2 1203 umull r1, r2, r2, r3 80363ce: 0952 lsrs r2, r2, #5 80363d0: 2164 movs r1, #100 ; 0x64 80363d2: fb01 f202 mul.w r2, r1, r2 80363d6: 1a9a subs r2, r3, r2 80363d8: 4b43 ldr r3, [pc, #268] ; (80364e8 ) 80363da: fba3 2302 umull r2, r3, r3, r2 80363de: 08db lsrs r3, r3, #3 80363e0: b2db uxtb r3, r3 80363e2: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80363e6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80363ea: 0953 lsrs r3, r2, #5 80363ec: 4939 ldr r1, [pc, #228] ; (80364d4 ) 80363ee: fba1 1303 umull r1, r3, r1, r3 80363f2: 09db lsrs r3, r3, #7 80363f4: 4938 ldr r1, [pc, #224] ; (80364d8 ) 80363f6: fb01 f303 mul.w r3, r1, r3 80363fa: 1ad3 subs r3, r2, r3 80363fc: 4a37 ldr r2, [pc, #220] ; (80364dc ) 80363fe: fba2 1203 umull r1, r2, r2, r3 8036402: 0b52 lsrs r2, r2, #13 8036404: f242 7110 movw r1, #10000 ; 0x2710 8036408: fb01 f202 mul.w r2, r1, r2 803640c: 1a9a subs r2, r3, r2 803640e: 4b34 ldr r3, [pc, #208] ; (80364e0 ) 8036410: fba3 1302 umull r1, r3, r3, r2 8036414: 099b lsrs r3, r3, #6 8036416: f44f 717a mov.w r1, #1000 ; 0x3e8 803641a: fb01 f303 mul.w r3, r1, r3 803641e: 1ad3 subs r3, r2, r3 8036420: 4a30 ldr r2, [pc, #192] ; (80364e4 ) 8036422: fba2 1203 umull r1, r2, r2, r3 8036426: 0952 lsrs r2, r2, #5 8036428: 2164 movs r1, #100 ; 0x64 803642a: fb01 f202 mul.w r2, r1, r2 803642e: 1a9a subs r2, r3, r2 8036430: 4b2d ldr r3, [pc, #180] ; (80364e8 ) 8036432: fba3 1302 umull r1, r3, r3, r2 8036436: 08d9 lsrs r1, r3, #3 8036438: 460b mov r3, r1 803643a: 009b lsls r3, r3, #2 803643c: 440b add r3, r1 803643e: 005b lsls r3, r3, #1 8036440: 1ad1 subs r1, r2, r3 8036442: b2cb uxtb r3, r1 8036444: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8036448: 4b21 ldr r3, [pc, #132] ; (80364d0 ) 803644a: 781b ldrb r3, [r3, #0] 803644c: b2db uxtb r3, r3 803644e: 3b1f subs r3, #31 8036450: 2b05 cmp r3, #5 8036452: d851 bhi.n 80364f8 8036454: a201 add r2, pc, #4 ; (adr r2, 803645c ) 8036456: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803645a: bf00 nop 803645c: 08036475 .word 0x08036475 8036460: 08036483 .word 0x08036483 8036464: 08036493 .word 0x08036493 8036468: 080364a1 .word 0x080364a1 803646c: 080364ad .word 0x080364ad 8036470: 080364ed .word 0x080364ed k += 100000; 8036474: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036478: 4b17 ldr r3, [pc, #92] ; (80364d8 ) 803647a: 4413 add r3, r2 803647c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036480: e03a b.n 80364f8 k += 10000; 8036482: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036486: f242 7310 movw r3, #10000 ; 0x2710 803648a: 4413 add r3, r2 803648c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8036490: e032 b.n 80364f8 k += 1000; 8036492: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036496: f503 737a add.w r3, r3, #1000 ; 0x3e8 803649a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803649e: e02b b.n 80364f8 k += 100; 80364a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364a4: 3364 adds r3, #100 ; 0x64 80364a6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80364aa: e025 b.n 80364f8 k += 10; 80364ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364b0: 330a adds r3, #10 80364b2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80364b6: e01f b.n 80364f8 80364b8: 000f423f .word 0x000f423f 80364bc: 20021011 .word 0x20021011 80364c0: 20021013 .word 0x20021013 80364c4: 20023e60 .word 0x20023e60 80364c8: 3dcccccd .word 0x3dcccccd 80364cc: 3d4ccccd .word 0x3d4ccccd 80364d0: 20020070 .word 0x20020070 80364d4: 0a7c5ac5 .word 0x0a7c5ac5 80364d8: 000186a0 .word 0x000186a0 80364dc: d1b71759 .word 0xd1b71759 80364e0: 10624dd3 .word 0x10624dd3 80364e4: 51eb851f .word 0x51eb851f 80364e8: cccccccd .word 0xcccccccd k++; 80364ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364f0: 3301 adds r3, #1 80364f2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80364f6: bf00 nop if(k > 999999) k = 999999; 80364f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80364fc: 4ab7 ldr r2, [pc, #732] ; (80367dc ) 80364fe: 4293 cmp r3, r2 8036500: d902 bls.n 8036508 8036502: 4bb6 ldr r3, [pc, #728] ; (80367dc ) 8036504: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8036508: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803650c: 2b00 cmp r3, #0 803650e: d102 bne.n 8036516 8036510: 2301 movs r3, #1 8036512: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_A[CURR_POINT][CURR_USL] = (float32_t) k; 8036516: 4bb2 ldr r3, [pc, #712] ; (80367e0 ) 8036518: 781b ldrb r3, [r3, #0] 803651a: b2db uxtb r3, r3 803651c: 4618 mov r0, r3 803651e: 4bb1 ldr r3, [pc, #708] ; (80367e4 ) 8036520: 781b ldrb r3, [r3, #0] 8036522: b2db uxtb r3, r3 8036524: 4619 mov r1, r3 8036526: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803652a: ee07 3a90 vmov s15, r3 803652e: eef8 7a67 vcvt.f32.u32 s15, s15 8036532: 4aad ldr r2, [pc, #692] ; (80367e8 ) 8036534: 0083 lsls r3, r0, #2 8036536: 440b add r3, r1 8036538: 33f6 adds r3, #246 ; 0xf6 803653a: 009b lsls r3, r3, #2 803653c: 4413 add r3, r2 803653e: 3304 adds r3, #4 8036540: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] *= 0.1f; 8036544: 4ba6 ldr r3, [pc, #664] ; (80367e0 ) 8036546: 781b ldrb r3, [r3, #0] 8036548: b2da uxtb r2, r3 803654a: 4610 mov r0, r2 803654c: 4ba5 ldr r3, [pc, #660] ; (80367e4 ) 803654e: 781b ldrb r3, [r3, #0] 8036550: b2db uxtb r3, r3 8036552: 4619 mov r1, r3 8036554: 4615 mov r5, r2 8036556: 461c mov r4, r3 8036558: 4aa3 ldr r2, [pc, #652] ; (80367e8 ) 803655a: 00ab lsls r3, r5, #2 803655c: 4423 add r3, r4 803655e: 33f6 adds r3, #246 ; 0xf6 8036560: 009b lsls r3, r3, #2 8036562: 4413 add r3, r2 8036564: 3304 adds r3, #4 8036566: edd3 7a00 vldr s15, [r3] 803656a: ed9f 7aa0 vldr s14, [pc, #640] ; 80367ec 803656e: ee67 7a87 vmul.f32 s15, s15, s14 8036572: 4a9d ldr r2, [pc, #628] ; (80367e8 ) 8036574: 0083 lsls r3, r0, #2 8036576: 440b add r3, r1 8036578: 33f6 adds r3, #246 ; 0xf6 803657a: 009b lsls r3, r3, #2 803657c: 4413 add r3, r2 803657e: 3304 adds r3, #4 8036580: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] += 0.05f; 8036584: 4b96 ldr r3, [pc, #600] ; (80367e0 ) 8036586: 781b ldrb r3, [r3, #0] 8036588: b2da uxtb r2, r3 803658a: 4610 mov r0, r2 803658c: 4b95 ldr r3, [pc, #596] ; (80367e4 ) 803658e: 781b ldrb r3, [r3, #0] 8036590: b2db uxtb r3, r3 8036592: 4619 mov r1, r3 8036594: 4615 mov r5, r2 8036596: 461c mov r4, r3 8036598: 4a93 ldr r2, [pc, #588] ; (80367e8 ) 803659a: 00ab lsls r3, r5, #2 803659c: 4423 add r3, r4 803659e: 33f6 adds r3, #246 ; 0xf6 80365a0: 009b lsls r3, r3, #2 80365a2: 4413 add r3, r2 80365a4: 3304 adds r3, #4 80365a6: edd3 7a00 vldr s15, [r3] 80365aa: ed9f 7a91 vldr s14, [pc, #580] ; 80367f0 80365ae: ee77 7a87 vadd.f32 s15, s15, s14 80365b2: 4a8d ldr r2, [pc, #564] ; (80367e8 ) 80365b4: 0083 lsls r3, r0, #2 80365b6: 440b add r3, r1 80365b8: 33f6 adds r3, #246 ; 0xf6 80365ba: 009b lsls r3, r3, #2 80365bc: 4413 add r3, r2 80365be: 3304 adds r3, #4 80365c0: edc3 7a00 vstr s15, [r3] break; 80365c4: f005 bc03 b.w 803bdce 80365c8: f005 bc01 b.w 803bdce case ROLL_RESULTS: if(menupos > 0) menupos--; 80365cc: 4b89 ldr r3, [pc, #548] ; (80367f4 ) 80365ce: 781b ldrb r3, [r3, #0] 80365d0: b2db uxtb r3, r3 80365d2: 2b00 cmp r3, #0 80365d4: d008 beq.n 80365e8 80365d6: 4b87 ldr r3, [pc, #540] ; (80367f4 ) 80365d8: 781b ldrb r3, [r3, #0] 80365da: b2db uxtb r3, r3 80365dc: 3b01 subs r3, #1 80365de: b2da uxtb r2, r3 80365e0: 4b84 ldr r3, [pc, #528] ; (80367f4 ) 80365e2: 701a strb r2, [r3, #0] else menupos = 11; break; 80365e4: f005 bc39 b.w 803be5a else menupos = 11; 80365e8: 4b82 ldr r3, [pc, #520] ; (80367f4 ) 80365ea: 220b movs r2, #11 80365ec: 701a strb r2, [r3, #0] break; 80365ee: f005 bc34 b.w 803be5a case TREND_A: menu = TREND_V; 80365f2: 4b81 ldr r3, [pc, #516] ; (80367f8 ) 80365f4: 2246 movs r2, #70 ; 0x46 80365f6: 701a strb r2, [r3, #0] break; 80365f8: f005 bc2f b.w 803be5a case TREND_V: menu = TREND_S; 80365fc: 4b7e ldr r3, [pc, #504] ; (80367f8 ) 80365fe: 2247 movs r2, #71 ; 0x47 8036600: 701a strb r2, [r3, #0] break; 8036602: f005 bc2a b.w 803be5a case TREND_S: menu = TREND_A; 8036606: 4b7c ldr r3, [pc, #496] ; (80367f8 ) 8036608: 2245 movs r2, #69 ; 0x45 803660a: 701a strb r2, [r3, #0] break; 803660c: f005 bc25 b.w 803be5a case MAIN_UDAR: if(AUTOKU) 8036610: 4b7a ldr r3, [pc, #488] ; (80367fc ) 8036612: 781b ldrb r3, [r3, #0] 8036614: b2db uxtb r3, r3 8036616: 2b00 cmp r3, #0 8036618: d002 beq.n 8036620 AUTOKU = false; 803661a: 4b78 ldr r3, [pc, #480] ; (80367fc ) 803661c: 2200 movs r2, #0 803661e: 701a strb r2, [r3, #0] if(pardata.IKU < Ku8) 8036620: 4b71 ldr r3, [pc, #452] ; (80367e8 ) 8036622: 7a1b ldrb r3, [r3, #8] 8036624: b2db uxtb r3, r3 8036626: 2b02 cmp r3, #2 8036628: d80a bhi.n 8036640 { pardata.IKU++; 803662a: 4b6f ldr r3, [pc, #444] ; (80367e8 ) 803662c: 7a1b ldrb r3, [r3, #8] 803662e: b2db uxtb r3, r3 8036630: 3301 adds r3, #1 8036632: b2da uxtb r2, r3 8036634: 4b6c ldr r3, [pc, #432] ; (80367e8 ) 8036636: 721a strb r2, [r3, #8] SetKU(); 8036638: f7eb f91c bl 8021874 } else pardata.IKU = Ku8; break; 803663c: f005 bc0d b.w 803be5a pardata.IKU = Ku8; 8036640: 4b69 ldr r3, [pc, #420] ; (80367e8 ) 8036642: 2203 movs r2, #3 8036644: 721a strb r2, [r3, #8] break; 8036646: f005 bc08 b.w 803be5a case MAIN_DIAGN: switch(menupos) 803664a: 4b6a ldr r3, [pc, #424] ; (80367f4 ) 803664c: 781b ldrb r3, [r3, #0] 803664e: b2db uxtb r3, r3 8036650: 2b03 cmp r3, #3 8036652: d003 beq.n 803665c 8036654: 2b04 cmp r3, #4 8036656: d032 beq.n 80366be } } } break; } break; 8036658: f005 bbff b.w 803be5a if((!measuring) && (!ReadFromFile)) 803665c: 4b68 ldr r3, [pc, #416] ; (8036800 ) 803665e: 781b ldrb r3, [r3, #0] 8036660: b2db uxtb r3, r3 8036662: f083 0301 eor.w r3, r3, #1 8036666: b2db uxtb r3, r3 8036668: 2b00 cmp r3, #0 803666a: d064 beq.n 8036736 803666c: 4b65 ldr r3, [pc, #404] ; (8036804 ) 803666e: 781b ldrb r3, [r3, #0] 8036670: b2db uxtb r3, r3 8036672: f083 0301 eor.w r3, r3, #1 8036676: b2db uxtb r3, r3 8036678: 2b00 cmp r3, #0 803667a: d05c beq.n 8036736 if(CardState == MSD_READY) 803667c: 4b62 ldr r3, [pc, #392] ; (8036808 ) 803667e: 781b ldrb r3, [r3, #0] 8036680: b2db uxtb r3, r3 8036682: 2b03 cmp r3, #3 8036684: d157 bne.n 8036736 if(NextIndexPoint < NUM_POINTS - 1) 8036686: 4b61 ldr r3, [pc, #388] ; (803680c ) 8036688: 681b ldr r3, [r3, #0] 803668a: f240 32e6 movw r2, #998 ; 0x3e6 803668e: 4293 cmp r3, r2 8036690: d851 bhi.n 8036736 NextIndexPoint++; 8036692: 4b5e ldr r3, [pc, #376] ; (803680c ) 8036694: 681b ldr r3, [r3, #0] 8036696: 3301 adds r3, #1 8036698: 4a5c ldr r2, [pc, #368] ; (803680c ) 803669a: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 803669c: 4b5b ldr r3, [pc, #364] ; (803680c ) 803669e: 681b ldr r3, [r3, #0] 80366a0: 4a5b ldr r2, [pc, #364] ; (8036810 ) 80366a2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80366a6: 4a5b ldr r2, [pc, #364] ; (8036814 ) 80366a8: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 80366aa: 485b ldr r0, [pc, #364] ; (8036818 ) 80366ac: f7f0 fe96 bl 80273dc 80366b0: 4603 mov r3, r0 80366b2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 80366b6: 4b59 ldr r3, [pc, #356] ; (803681c ) 80366b8: 2200 movs r2, #0 80366ba: 701a strb r2, [r3, #0] break; 80366bc: e03b b.n 8036736 if((!measuring) && (!ReadFromFile)) 80366be: 4b50 ldr r3, [pc, #320] ; (8036800 ) 80366c0: 781b ldrb r3, [r3, #0] 80366c2: b2db uxtb r3, r3 80366c4: f083 0301 eor.w r3, r3, #1 80366c8: b2db uxtb r3, r3 80366ca: 2b00 cmp r3, #0 80366cc: d036 beq.n 803673c 80366ce: 4b4d ldr r3, [pc, #308] ; (8036804 ) 80366d0: 781b ldrb r3, [r3, #0] 80366d2: b2db uxtb r3, r3 80366d4: f083 0301 eor.w r3, r3, #1 80366d8: b2db uxtb r3, r3 80366da: 2b00 cmp r3, #0 80366dc: d02e beq.n 803673c if(CardState == MSD_READY) 80366de: 4b4a ldr r3, [pc, #296] ; (8036808 ) 80366e0: 781b ldrb r3, [r3, #0] 80366e2: b2db uxtb r3, r3 80366e4: 2b03 cmp r3, #3 80366e6: d129 bne.n 803673c if(NextIndexMeas < IndexMeas[NextIndexPoint]) 80366e8: 4b48 ldr r3, [pc, #288] ; (803680c ) 80366ea: 681b ldr r3, [r3, #0] 80366ec: 4a48 ldr r2, [pc, #288] ; (8036810 ) 80366ee: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80366f2: 4b48 ldr r3, [pc, #288] ; (8036814 ) 80366f4: 681b ldr r3, [r3, #0] 80366f6: 429a cmp r2, r3 80366f8: d920 bls.n 803673c if(NextIndexMeas < 999) 80366fa: 4b46 ldr r3, [pc, #280] ; (8036814 ) 80366fc: 681b ldr r3, [r3, #0] 80366fe: f240 32e6 movw r2, #998 ; 0x3e6 8036702: 4293 cmp r3, r2 8036704: d81a bhi.n 803673c NextIndexMeas++; 8036706: 4b43 ldr r3, [pc, #268] ; (8036814 ) 8036708: 681b ldr r3, [r3, #0] 803670a: 3301 adds r3, #1 803670c: 4a41 ldr r2, [pc, #260] ; (8036814 ) 803670e: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 8036710: 4841 ldr r0, [pc, #260] ; (8036818 ) 8036712: f7f0 fe63 bl 80273dc 8036716: 4603 mov r3, r0 8036718: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 803671c: 4b3b ldr r3, [pc, #236] ; (803680c ) 803671e: 681b ldr r3, [r3, #0] 8036720: 4a3b ldr r2, [pc, #236] ; (8036810 ) 8036722: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8036726: 4b3b ldr r3, [pc, #236] ; (8036814 ) 8036728: 681b ldr r3, [r3, #0] 803672a: 429a cmp r2, r3 803672c: d106 bne.n 803673c DrawSavedData = false; 803672e: 4b3b ldr r3, [pc, #236] ; (803681c ) 8036730: 2200 movs r2, #0 8036732: 701a strb r2, [r3, #0] break; 8036734: e002 b.n 803673c break; 8036736: bf00 nop 8036738: f005 bb8f b.w 803be5a break; 803673c: bf00 nop break; 803673e: f005 bb8c b.w 803be5a case MAIN: case MAIN_FRAN: switch(menupos) 8036742: 4b2c ldr r3, [pc, #176] ; (80367f4 ) 8036744: 781b ldrb r3, [r3, #0] 8036746: b2db uxtb r3, r3 8036748: 2b06 cmp r3, #6 803674a: f205 8343 bhi.w 803bdd4 803674e: a201 add r2, pc, #4 ; (adr r2, 8036754 ) 8036750: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8036754: 0803689d .word 0x0803689d 8036758: 0803bdd5 .word 0x0803bdd5 803675c: 0803689d .word 0x0803689d 8036760: 08036771 .word 0x08036771 8036764: 08036825 .word 0x08036825 8036768: 0803bdd5 .word 0x0803bdd5 803676c: 0803689d .word 0x0803689d { case MyPoint: if((!measuring) && (!ReadFromFile)) 8036770: 4b23 ldr r3, [pc, #140] ; (8036800 ) 8036772: 781b ldrb r3, [r3, #0] 8036774: b2db uxtb r3, r3 8036776: f083 0301 eor.w r3, r3, #1 803677a: b2db uxtb r3, r3 803677c: 2b00 cmp r3, #0 803677e: f000 80cd beq.w 803691c 8036782: 4b20 ldr r3, [pc, #128] ; (8036804 ) 8036784: 781b ldrb r3, [r3, #0] 8036786: b2db uxtb r3, r3 8036788: f083 0301 eor.w r3, r3, #1 803678c: b2db uxtb r3, r3 803678e: 2b00 cmp r3, #0 8036790: f000 80c4 beq.w 803691c { if(CardState == MSD_READY) 8036794: 4b1c ldr r3, [pc, #112] ; (8036808 ) 8036796: 781b ldrb r3, [r3, #0] 8036798: b2db uxtb r3, r3 803679a: 2b03 cmp r3, #3 803679c: f040 80be bne.w 803691c { if(NextIndexPoint < NUM_POINTS - 1) 80367a0: 4b1a ldr r3, [pc, #104] ; (803680c ) 80367a2: 681b ldr r3, [r3, #0] 80367a4: f240 32e6 movw r2, #998 ; 0x3e6 80367a8: 4293 cmp r3, r2 80367aa: f200 80b7 bhi.w 803691c { NextIndexPoint++; 80367ae: 4b17 ldr r3, [pc, #92] ; (803680c ) 80367b0: 681b ldr r3, [r3, #0] 80367b2: 3301 adds r3, #1 80367b4: 4a15 ldr r2, [pc, #84] ; (803680c ) 80367b6: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 80367b8: 4b14 ldr r3, [pc, #80] ; (803680c ) 80367ba: 681b ldr r3, [r3, #0] 80367bc: 4a14 ldr r2, [pc, #80] ; (8036810 ) 80367be: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80367c2: 4a14 ldr r2, [pc, #80] ; (8036814 ) 80367c4: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 80367c6: 4816 ldr r0, [pc, #88] ; (8036820 ) 80367c8: f7f0 fb84 bl 8026ed4 80367cc: 4603 mov r3, r0 80367ce: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 80367d2: 4b12 ldr r3, [pc, #72] ; (803681c ) 80367d4: 2200 movs r2, #0 80367d6: 701a strb r2, [r3, #0] } } } break; 80367d8: e0a0 b.n 803691c 80367da: bf00 nop 80367dc: 000f423f .word 0x000f423f 80367e0: 20021011 .word 0x20021011 80367e4: 20021013 .word 0x20021013 80367e8: 20023e60 .word 0x20023e60 80367ec: 3dcccccd .word 0x3dcccccd 80367f0: 3d4ccccd .word 0x3d4ccccd 80367f4: 20020070 .word 0x20020070 80367f8: 20020f78 .word 0x20020f78 80367fc: 20020029 .word 0x20020029 8036800: 20020daf .word 0x20020daf 8036804: 20020dc9 .word 0x20020dc9 8036808: 2002164c .word 0x2002164c 803680c: 20021f9c .word 0x20021f9c 8036810: 20022ea0 .word 0x20022ea0 8036814: 20022310 .word 0x20022310 8036818: 20020e7c .word 0x20020e7c 803681c: 20020dca .word 0x20020dca 8036820: 20020e58 .word 0x20020e58 case MyMeasure: if((!measuring) && (!ReadFromFile)) 8036824: 4bb1 ldr r3, [pc, #708] ; (8036aec ) 8036826: 781b ldrb r3, [r3, #0] 8036828: b2db uxtb r3, r3 803682a: f083 0301 eor.w r3, r3, #1 803682e: b2db uxtb r3, r3 8036830: 2b00 cmp r3, #0 8036832: d076 beq.n 8036922 8036834: 4bae ldr r3, [pc, #696] ; (8036af0 ) 8036836: 781b ldrb r3, [r3, #0] 8036838: b2db uxtb r3, r3 803683a: f083 0301 eor.w r3, r3, #1 803683e: b2db uxtb r3, r3 8036840: 2b00 cmp r3, #0 8036842: d06e beq.n 8036922 { if(CardState == MSD_READY) 8036844: 4bab ldr r3, [pc, #684] ; (8036af4 ) 8036846: 781b ldrb r3, [r3, #0] 8036848: b2db uxtb r3, r3 803684a: 2b03 cmp r3, #3 803684c: d169 bne.n 8036922 { if(NextIndexMeas < IndexMeas[NextIndexPoint]) 803684e: 4baa ldr r3, [pc, #680] ; (8036af8 ) 8036850: 681b ldr r3, [r3, #0] 8036852: 4aaa ldr r2, [pc, #680] ; (8036afc ) 8036854: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8036858: 4ba9 ldr r3, [pc, #676] ; (8036b00 ) 803685a: 681b ldr r3, [r3, #0] 803685c: 429a cmp r2, r3 803685e: d960 bls.n 8036922 { if(NextIndexMeas < 999) 8036860: 4ba7 ldr r3, [pc, #668] ; (8036b00 ) 8036862: 681b ldr r3, [r3, #0] 8036864: f240 32e6 movw r2, #998 ; 0x3e6 8036868: 4293 cmp r3, r2 803686a: d85a bhi.n 8036922 { NextIndexMeas++; 803686c: 4ba4 ldr r3, [pc, #656] ; (8036b00 ) 803686e: 681b ldr r3, [r3, #0] 8036870: 3301 adds r3, #1 8036872: 4aa3 ldr r2, [pc, #652] ; (8036b00 ) 8036874: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 8036876: 48a3 ldr r0, [pc, #652] ; (8036b04 ) 8036878: f7f0 fb2c bl 8026ed4 803687c: 4603 mov r3, r0 803687e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 8036882: 4b9d ldr r3, [pc, #628] ; (8036af8 ) 8036884: 681b ldr r3, [r3, #0] 8036886: 4a9d ldr r2, [pc, #628] ; (8036afc ) 8036888: f852 2023 ldr.w r2, [r2, r3, lsl #2] 803688c: 4b9c ldr r3, [pc, #624] ; (8036b00 ) 803688e: 681b ldr r3, [r3, #0] 8036890: 429a cmp r2, r3 8036892: d146 bne.n 8036922 { DrawSavedData = false; 8036894: 4b9c ldr r3, [pc, #624] ; (8036b08 ) 8036896: 2200 movs r2, #0 8036898: 701a strb r2, [r3, #0] } } } } } break; 803689a: e042 b.n 8036922 case MyLinLog: case StartStop: case Record: if(!ReadFromFile) 803689c: 4b94 ldr r3, [pc, #592] ; (8036af0 ) 803689e: 781b ldrb r3, [r3, #0] 80368a0: b2db uxtb r3, r3 80368a2: f083 0301 eor.w r3, r3, #1 80368a6: b2db uxtb r3, r3 80368a8: 2b00 cmp r3, #0 80368aa: d03d beq.n 8036928 { if((CardState == MSD_READY) && (strlen(MeasFileName))) 80368ac: 4b91 ldr r3, [pc, #580] ; (8036af4 ) 80368ae: 781b ldrb r3, [r3, #0] 80368b0: b2db uxtb r3, r3 80368b2: 2b03 cmp r3, #3 80368b4: d138 bne.n 8036928 80368b6: 4b93 ldr r3, [pc, #588] ; (8036b04 ) 80368b8: 781b ldrb r3, [r3, #0] 80368ba: 2b00 cmp r3, #0 80368bc: d034 beq.n 8036928 { if(measuring) 80368be: 4b8b ldr r3, [pc, #556] ; (8036aec ) 80368c0: 781b ldrb r3, [r3, #0] 80368c2: b2db uxtb r3, r3 80368c4: 2b00 cmp r3, #0 80368c6: d001 beq.n 80368cc StopMeas(); 80368c8: f7ec ff68 bl 802379c result = ReadTrendPTM(MeasFileName); 80368cc: 488d ldr r0, [pc, #564] ; (8036b04 ) 80368ce: f7f0 f93b bl 8026b48 80368d2: 4603 mov r3, r0 80368d4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80368d8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80368dc: 2b00 cmp r3, #0 80368de: d112 bne.n 8036906 { lastmenu = menu; 80368e0: 4b8a ldr r3, [pc, #552] ; (8036b0c ) 80368e2: 781b ldrb r3, [r3, #0] 80368e4: b2da uxtb r2, r3 80368e6: 4b8a ldr r3, [pc, #552] ; (8036b10 ) 80368e8: 701a strb r2, [r3, #0] menu = TREND_A; 80368ea: 4b88 ldr r3, [pc, #544] ; (8036b0c ) 80368ec: 2245 movs r2, #69 ; 0x45 80368ee: 701a strb r2, [r3, #0] lastmenupos = menupos; 80368f0: 4b88 ldr r3, [pc, #544] ; (8036b14 ) 80368f2: 781b ldrb r3, [r3, #0] 80368f4: b2da uxtb r2, r3 80368f6: 4b88 ldr r3, [pc, #544] ; (8036b18 ) 80368f8: 701a strb r2, [r3, #0] menupos = pardata.IVS[ACC]; 80368fa: 4b88 ldr r3, [pc, #544] ; (8036b1c ) 80368fc: 789b ldrb r3, [r3, #2] 80368fe: b2da uxtb r2, r3 8036900: 4b84 ldr r3, [pc, #528] ; (8036b14 ) 8036902: 701a strb r2, [r3, #0] timerStatus = sec2; DrawStatus = true; } } } break; 8036904: e010 b.n 8036928 STATUS = AP_INVALID_FILE; 8036906: 4b86 ldr r3, [pc, #536] ; (8036b20 ) 8036908: 2202 movs r2, #2 803690a: 601a str r2, [r3, #0] timerStatus = sec2; 803690c: 4b85 ldr r3, [pc, #532] ; (8036b24 ) 803690e: f44f 5280 mov.w r2, #4096 ; 0x1000 8036912: 801a strh r2, [r3, #0] DrawStatus = true; 8036914: 4b84 ldr r3, [pc, #528] ; (8036b28 ) 8036916: 2201 movs r2, #1 8036918: 701a strb r2, [r3, #0] break; 803691a: e005 b.n 8036928 break; 803691c: bf00 nop 803691e: f005 ba59 b.w 803bdd4 break; 8036922: bf00 nop 8036924: f005 ba56 b.w 803bdd4 break; 8036928: bf00 nop } break; 803692a: f005 ba53 b.w 803bdd4 case MAIN_OSC: if(menupos == Cursor) 803692e: 4b79 ldr r3, [pc, #484] ; (8036b14 ) 8036930: 781b ldrb r3, [r3, #0] 8036932: b2db uxtb r3, r3 8036934: 2b06 cmp r3, #6 8036936: d104 bne.n 8036942 { //menupos = lastmenupos; ZOOM_IN = true; 8036938: 4b7c ldr r3, [pc, #496] ; (8036b2c ) 803693a: 2201 movs r2, #1 803693c: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ImageLeft; else if(menupos == ImageLeft) menupos = StartStop; break; 803693e: f005 ba4c b.w 803bdda if(menupos == StartStop) 8036942: 4b74 ldr r3, [pc, #464] ; (8036b14 ) 8036944: 781b ldrb r3, [r3, #0] 8036946: b2db uxtb r3, r3 8036948: 2b00 cmp r3, #0 803694a: d104 bne.n 8036956 menupos = ZoomOut; 803694c: 4b71 ldr r3, [pc, #452] ; (8036b14 ) 803694e: 2204 movs r2, #4 8036950: 701a strb r2, [r3, #0] break; 8036952: f005 ba42 b.w 803bdda if(menupos == ZoomOut) 8036956: 4b6f ldr r3, [pc, #444] ; (8036b14 ) 8036958: 781b ldrb r3, [r3, #0] 803695a: b2db uxtb r3, r3 803695c: 2b04 cmp r3, #4 803695e: d104 bne.n 803696a menupos = ZoomIn; 8036960: 4b6c ldr r3, [pc, #432] ; (8036b14 ) 8036962: 2203 movs r2, #3 8036964: 701a strb r2, [r3, #0] break; 8036966: f005 ba38 b.w 803bdda if(menupos == ZoomIn) 803696a: 4b6a ldr r3, [pc, #424] ; (8036b14 ) 803696c: 781b ldrb r3, [r3, #0] 803696e: b2db uxtb r3, r3 8036970: 2b03 cmp r3, #3 8036972: d104 bne.n 803697e menupos = ImageRight; 8036974: 4b67 ldr r3, [pc, #412] ; (8036b14 ) 8036976: 2205 movs r2, #5 8036978: 701a strb r2, [r3, #0] break; 803697a: f005 ba2e b.w 803bdda if(menupos == ImageRight) 803697e: 4b65 ldr r3, [pc, #404] ; (8036b14 ) 8036980: 781b ldrb r3, [r3, #0] 8036982: b2db uxtb r3, r3 8036984: 2b05 cmp r3, #5 8036986: d104 bne.n 8036992 menupos = ImageLeft; 8036988: 4b62 ldr r3, [pc, #392] ; (8036b14 ) 803698a: 2202 movs r2, #2 803698c: 701a strb r2, [r3, #0] break; 803698e: f005 ba24 b.w 803bdda if(menupos == ImageLeft) 8036992: 4b60 ldr r3, [pc, #384] ; (8036b14 ) 8036994: 781b ldrb r3, [r3, #0] 8036996: b2db uxtb r3, r3 8036998: 2b02 cmp r3, #2 803699a: f045 821e bne.w 803bdda menupos = StartStop; 803699e: 4b5d ldr r3, [pc, #372] ; (8036b14 ) 80369a0: 2200 movs r2, #0 80369a2: 701a strb r2, [r3, #0] break; 80369a4: f005 ba19 b.w 803bdda case MAIN_SPEC: if(menupos == Cursor) 80369a8: 4b5a ldr r3, [pc, #360] ; (8036b14 ) 80369aa: 781b ldrb r3, [r3, #0] 80369ac: b2db uxtb r3, r3 80369ae: 2b06 cmp r3, #6 80369b0: d104 bne.n 80369bc { //menupos = lastmenupos; ZOOM_IN = true; 80369b2: 4b5e ldr r3, [pc, #376] ; (8036b2c ) 80369b4: 2201 movs r2, #1 80369b6: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 80369b8: f005 ba12 b.w 803bde0 if(menupos == StartStop) 80369bc: 4b55 ldr r3, [pc, #340] ; (8036b14 ) 80369be: 781b ldrb r3, [r3, #0] 80369c0: b2db uxtb r3, r3 80369c2: 2b00 cmp r3, #0 80369c4: d104 bne.n 80369d0 menupos = ZoomOut; 80369c6: 4b53 ldr r3, [pc, #332] ; (8036b14 ) 80369c8: 2204 movs r2, #4 80369ca: 701a strb r2, [r3, #0] break; 80369cc: f005 ba08 b.w 803bde0 if(menupos == ZoomOut) 80369d0: 4b50 ldr r3, [pc, #320] ; (8036b14 ) 80369d2: 781b ldrb r3, [r3, #0] 80369d4: b2db uxtb r3, r3 80369d6: 2b04 cmp r3, #4 80369d8: d104 bne.n 80369e4 menupos = ZoomIn; 80369da: 4b4e ldr r3, [pc, #312] ; (8036b14 ) 80369dc: 2203 movs r2, #3 80369de: 701a strb r2, [r3, #0] break; 80369e0: f005 b9fe b.w 803bde0 if(menupos == ZoomIn) 80369e4: 4b4b ldr r3, [pc, #300] ; (8036b14 ) 80369e6: 781b ldrb r3, [r3, #0] 80369e8: b2db uxtb r3, r3 80369ea: 2b03 cmp r3, #3 80369ec: d104 bne.n 80369f8 menupos = ImageRight; 80369ee: 4b49 ldr r3, [pc, #292] ; (8036b14 ) 80369f0: 2205 movs r2, #5 80369f2: 701a strb r2, [r3, #0] break; 80369f4: f005 b9f4 b.w 803bde0 if(menupos == ImageRight) 80369f8: 4b46 ldr r3, [pc, #280] ; (8036b14 ) 80369fa: 781b ldrb r3, [r3, #0] 80369fc: b2db uxtb r3, r3 80369fe: 2b05 cmp r3, #5 8036a00: d104 bne.n 8036a0c menupos = ImageLeft; 8036a02: 4b44 ldr r3, [pc, #272] ; (8036b14 ) 8036a04: 2202 movs r2, #2 8036a06: 701a strb r2, [r3, #0] break; 8036a08: f005 b9ea b.w 803bde0 if(menupos == ImageLeft) 8036a0c: 4b41 ldr r3, [pc, #260] ; (8036b14 ) 8036a0e: 781b ldrb r3, [r3, #0] 8036a10: b2db uxtb r3, r3 8036a12: 2b02 cmp r3, #2 8036a14: d10e bne.n 8036a34 if(READY_TO_SEE) 8036a16: 4b46 ldr r3, [pc, #280] ; (8036b30 ) 8036a18: 781b ldrb r3, [r3, #0] 8036a1a: b2db uxtb r3, r3 8036a1c: 2b00 cmp r3, #0 8036a1e: d004 beq.n 8036a2a menupos = SaveSpec; 8036a20: 4b3c ldr r3, [pc, #240] ; (8036b14 ) 8036a22: 2209 movs r2, #9 8036a24: 701a strb r2, [r3, #0] break; 8036a26: f005 b9db b.w 803bde0 else menupos = StartStop; 8036a2a: 4b3a ldr r3, [pc, #232] ; (8036b14 ) 8036a2c: 2200 movs r2, #0 8036a2e: 701a strb r2, [r3, #0] break; 8036a30: f005 b9d6 b.w 803bde0 if(menupos == SaveSpec) 8036a34: 4b37 ldr r3, [pc, #220] ; (8036b14 ) 8036a36: 781b ldrb r3, [r3, #0] 8036a38: b2db uxtb r3, r3 8036a3a: 2b09 cmp r3, #9 8036a3c: f045 81d0 bne.w 803bde0 menupos = StartStop; 8036a40: 4b34 ldr r3, [pc, #208] ; (8036b14 ) 8036a42: 2200 movs r2, #0 8036a44: 701a strb r2, [r3, #0] break; 8036a46: f005 b9cb b.w 803bde0 case VIEW_PORTRET: if(menupos == Cursor) 8036a4a: 4b32 ldr r3, [pc, #200] ; (8036b14 ) 8036a4c: 781b ldrb r3, [r3, #0] 8036a4e: b2db uxtb r3, r3 8036a50: 2b06 cmp r3, #6 8036a52: d104 bne.n 8036a5e { //menupos = lastmenupos; ZOOM_IN = true; 8036a54: 4b35 ldr r3, [pc, #212] ; (8036b2c ) 8036a56: 2201 movs r2, #1 8036a58: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ImageLeft; else if(menupos == ImageLeft) menupos = ZoomOut; break; 8036a5a: f005 b9c4 b.w 803bde6 if(menupos == ZoomOut) 8036a5e: 4b2d ldr r3, [pc, #180] ; (8036b14 ) 8036a60: 781b ldrb r3, [r3, #0] 8036a62: b2db uxtb r3, r3 8036a64: 2b04 cmp r3, #4 8036a66: d104 bne.n 8036a72 menupos = ZoomIn; 8036a68: 4b2a ldr r3, [pc, #168] ; (8036b14 ) 8036a6a: 2203 movs r2, #3 8036a6c: 701a strb r2, [r3, #0] break; 8036a6e: f005 b9ba b.w 803bde6 if(menupos == ZoomIn) 8036a72: 4b28 ldr r3, [pc, #160] ; (8036b14 ) 8036a74: 781b ldrb r3, [r3, #0] 8036a76: b2db uxtb r3, r3 8036a78: 2b03 cmp r3, #3 8036a7a: d104 bne.n 8036a86 menupos = ImageRight; 8036a7c: 4b25 ldr r3, [pc, #148] ; (8036b14 ) 8036a7e: 2205 movs r2, #5 8036a80: 701a strb r2, [r3, #0] break; 8036a82: f005 b9b0 b.w 803bde6 if(menupos == ImageRight) 8036a86: 4b23 ldr r3, [pc, #140] ; (8036b14 ) 8036a88: 781b ldrb r3, [r3, #0] 8036a8a: b2db uxtb r3, r3 8036a8c: 2b05 cmp r3, #5 8036a8e: d104 bne.n 8036a9a menupos = ImageLeft; 8036a90: 4b20 ldr r3, [pc, #128] ; (8036b14 ) 8036a92: 2202 movs r2, #2 8036a94: 701a strb r2, [r3, #0] break; 8036a96: f005 b9a6 b.w 803bde6 if(menupos == ImageLeft) 8036a9a: 4b1e ldr r3, [pc, #120] ; (8036b14 ) 8036a9c: 781b ldrb r3, [r3, #0] 8036a9e: b2db uxtb r3, r3 8036aa0: 2b02 cmp r3, #2 8036aa2: f045 81a0 bne.w 803bde6 menupos = ZoomOut; 8036aa6: 4b1b ldr r3, [pc, #108] ; (8036b14 ) 8036aa8: 2204 movs r2, #4 8036aaa: 701a strb r2, [r3, #0] break; 8036aac: f005 b99b b.w 803bde6 case MAIN_ROLL: if(menupos == Cursor) 8036ab0: 4b18 ldr r3, [pc, #96] ; (8036b14 ) 8036ab2: 781b ldrb r3, [r3, #0] 8036ab4: b2db uxtb r3, r3 8036ab6: 2b06 cmp r3, #6 8036ab8: d104 bne.n 8036ac4 { //menupos = lastmenupos; ZOOM_IN = true; 8036aba: 4b1c ldr r3, [pc, #112] ; (8036b2c ) 8036abc: 2201 movs r2, #1 8036abe: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == Results) menupos = StartStop; break; 8036ac0: f005 b994 b.w 803bdec if(menupos == StartStop) 8036ac4: 4b13 ldr r3, [pc, #76] ; (8036b14 ) 8036ac6: 781b ldrb r3, [r3, #0] 8036ac8: b2db uxtb r3, r3 8036aca: 2b00 cmp r3, #0 8036acc: d104 bne.n 8036ad8 menupos = ZoomOut; 8036ace: 4b11 ldr r3, [pc, #68] ; (8036b14 ) 8036ad0: 2204 movs r2, #4 8036ad2: 701a strb r2, [r3, #0] break; 8036ad4: f005 b98a b.w 803bdec if(menupos == ZoomOut) 8036ad8: 4b0e ldr r3, [pc, #56] ; (8036b14 ) 8036ada: 781b ldrb r3, [r3, #0] 8036adc: b2db uxtb r3, r3 8036ade: 2b04 cmp r3, #4 8036ae0: d128 bne.n 8036b34 menupos = ZoomIn; 8036ae2: 4b0c ldr r3, [pc, #48] ; (8036b14 ) 8036ae4: 2203 movs r2, #3 8036ae6: 701a strb r2, [r3, #0] break; 8036ae8: f005 b980 b.w 803bdec 8036aec: 20020daf .word 0x20020daf 8036af0: 20020dc9 .word 0x20020dc9 8036af4: 2002164c .word 0x2002164c 8036af8: 20021f9c .word 0x20021f9c 8036afc: 20022ea0 .word 0x20022ea0 8036b00: 20022310 .word 0x20022310 8036b04: 20020e58 .word 0x20020e58 8036b08: 20020dca .word 0x20020dca 8036b0c: 20020f78 .word 0x20020f78 8036b10: 20020f79 .word 0x20020f79 8036b14: 20020070 .word 0x20020070 8036b18: 20020071 .word 0x20020071 8036b1c: 20023e60 .word 0x20023e60 8036b20: 20020dcc .word 0x20020dcc 8036b24: 2002168c .word 0x2002168c 8036b28: 20020dd2 .word 0x20020dd2 8036b2c: 20020f6a .word 0x20020f6a 8036b30: 20020d8e .word 0x20020d8e if(menupos == ZoomIn) 8036b34: 4bb6 ldr r3, [pc, #728] ; (8036e10 ) 8036b36: 781b ldrb r3, [r3, #0] 8036b38: b2db uxtb r3, r3 8036b3a: 2b03 cmp r3, #3 8036b3c: d104 bne.n 8036b48 menupos = ImageRight; 8036b3e: 4bb4 ldr r3, [pc, #720] ; (8036e10 ) 8036b40: 2205 movs r2, #5 8036b42: 701a strb r2, [r3, #0] break; 8036b44: f005 b952 b.w 803bdec if(menupos == ImageRight) 8036b48: 4bb1 ldr r3, [pc, #708] ; (8036e10 ) 8036b4a: 781b ldrb r3, [r3, #0] 8036b4c: b2db uxtb r3, r3 8036b4e: 2b05 cmp r3, #5 8036b50: d104 bne.n 8036b5c menupos = ImageLeft; 8036b52: 4baf ldr r3, [pc, #700] ; (8036e10 ) 8036b54: 2202 movs r2, #2 8036b56: 701a strb r2, [r3, #0] break; 8036b58: f005 b948 b.w 803bdec if(menupos == ImageLeft) 8036b5c: 4bac ldr r3, [pc, #688] ; (8036e10 ) 8036b5e: 781b ldrb r3, [r3, #0] 8036b60: b2db uxtb r3, r3 8036b62: 2b02 cmp r3, #2 8036b64: d10e bne.n 8036b84 if(SeeResults) 8036b66: 4bab ldr r3, [pc, #684] ; (8036e14 ) 8036b68: 781b ldrb r3, [r3, #0] 8036b6a: b2db uxtb r3, r3 8036b6c: 2b00 cmp r3, #0 8036b6e: d004 beq.n 8036b7a menupos = Results; 8036b70: 4ba7 ldr r3, [pc, #668] ; (8036e10 ) 8036b72: 2208 movs r2, #8 8036b74: 701a strb r2, [r3, #0] break; 8036b76: f005 b939 b.w 803bdec else menupos = StartStop; 8036b7a: 4ba5 ldr r3, [pc, #660] ; (8036e10 ) 8036b7c: 2200 movs r2, #0 8036b7e: 701a strb r2, [r3, #0] break; 8036b80: f005 b934 b.w 803bdec if(menupos == Results) 8036b84: 4ba2 ldr r3, [pc, #648] ; (8036e10 ) 8036b86: 781b ldrb r3, [r3, #0] 8036b88: b2db uxtb r3, r3 8036b8a: 2b08 cmp r3, #8 8036b8c: f045 812e bne.w 803bdec menupos = StartStop; 8036b90: 4b9f ldr r3, [pc, #636] ; (8036e10 ) 8036b92: 2200 movs r2, #0 8036b94: 701a strb r2, [r3, #0] break; 8036b96: f005 b929 b.w 803bdec case MAIN_SPEC_OGIB: if(menupos == Cursor) 8036b9a: 4b9d ldr r3, [pc, #628] ; (8036e10 ) 8036b9c: 781b ldrb r3, [r3, #0] 8036b9e: b2db uxtb r3, r3 8036ba0: 2b06 cmp r3, #6 8036ba2: d104 bne.n 8036bae { //menupos = lastmenupos; ZOOM_IN = true; 8036ba4: 4b9c ldr r3, [pc, #624] ; (8036e18 ) 8036ba6: 2201 movs r2, #1 8036ba8: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 8036baa: f005 b922 b.w 803bdf2 if(menupos == StartStop) 8036bae: 4b98 ldr r3, [pc, #608] ; (8036e10 ) 8036bb0: 781b ldrb r3, [r3, #0] 8036bb2: b2db uxtb r3, r3 8036bb4: 2b00 cmp r3, #0 8036bb6: d104 bne.n 8036bc2 menupos = ZoomOut; 8036bb8: 4b95 ldr r3, [pc, #596] ; (8036e10 ) 8036bba: 2204 movs r2, #4 8036bbc: 701a strb r2, [r3, #0] break; 8036bbe: f005 b918 b.w 803bdf2 if(menupos == ZoomOut) 8036bc2: 4b93 ldr r3, [pc, #588] ; (8036e10 ) 8036bc4: 781b ldrb r3, [r3, #0] 8036bc6: b2db uxtb r3, r3 8036bc8: 2b04 cmp r3, #4 8036bca: d104 bne.n 8036bd6 menupos = ZoomIn; 8036bcc: 4b90 ldr r3, [pc, #576] ; (8036e10 ) 8036bce: 2203 movs r2, #3 8036bd0: 701a strb r2, [r3, #0] break; 8036bd2: f005 b90e b.w 803bdf2 if(menupos == ZoomIn) 8036bd6: 4b8e ldr r3, [pc, #568] ; (8036e10 ) 8036bd8: 781b ldrb r3, [r3, #0] 8036bda: b2db uxtb r3, r3 8036bdc: 2b03 cmp r3, #3 8036bde: d104 bne.n 8036bea menupos = ImageRight; 8036be0: 4b8b ldr r3, [pc, #556] ; (8036e10 ) 8036be2: 2205 movs r2, #5 8036be4: 701a strb r2, [r3, #0] break; 8036be6: f005 b904 b.w 803bdf2 if(menupos == ImageRight) 8036bea: 4b89 ldr r3, [pc, #548] ; (8036e10 ) 8036bec: 781b ldrb r3, [r3, #0] 8036bee: b2db uxtb r3, r3 8036bf0: 2b05 cmp r3, #5 8036bf2: d104 bne.n 8036bfe menupos = ImageLeft; 8036bf4: 4b86 ldr r3, [pc, #536] ; (8036e10 ) 8036bf6: 2202 movs r2, #2 8036bf8: 701a strb r2, [r3, #0] break; 8036bfa: f005 b8fa b.w 803bdf2 if(menupos == ImageLeft) 8036bfe: 4b84 ldr r3, [pc, #528] ; (8036e10 ) 8036c00: 781b ldrb r3, [r3, #0] 8036c02: b2db uxtb r3, r3 8036c04: 2b02 cmp r3, #2 8036c06: d10e bne.n 8036c26 if(READY_TO_SEE) 8036c08: 4b84 ldr r3, [pc, #528] ; (8036e1c ) 8036c0a: 781b ldrb r3, [r3, #0] 8036c0c: b2db uxtb r3, r3 8036c0e: 2b00 cmp r3, #0 8036c10: d004 beq.n 8036c1c menupos = SaveSpec; 8036c12: 4b7f ldr r3, [pc, #508] ; (8036e10 ) 8036c14: 2209 movs r2, #9 8036c16: 701a strb r2, [r3, #0] break; 8036c18: f005 b8eb b.w 803bdf2 else menupos = StartStop; 8036c1c: 4b7c ldr r3, [pc, #496] ; (8036e10 ) 8036c1e: 2200 movs r2, #0 8036c20: 701a strb r2, [r3, #0] break; 8036c22: f005 b8e6 b.w 803bdf2 if(menupos == SaveSpec) 8036c26: 4b7a ldr r3, [pc, #488] ; (8036e10 ) 8036c28: 781b ldrb r3, [r3, #0] 8036c2a: b2db uxtb r3, r3 8036c2c: 2b09 cmp r3, #9 8036c2e: f045 80e0 bne.w 803bdf2 menupos = StartStop; 8036c32: 4b77 ldr r3, [pc, #476] ; (8036e10 ) 8036c34: 2200 movs r2, #0 8036c36: 701a strb r2, [r3, #0] break; 8036c38: f005 b8db b.w 803bdf2 case MAIN_SPEC_OKT: if(menupos == Cursor) 8036c3c: 4b74 ldr r3, [pc, #464] ; (8036e10 ) 8036c3e: 781b ldrb r3, [r3, #0] 8036c40: b2db uxtb r3, r3 8036c42: 2b06 cmp r3, #6 8036c44: d104 bne.n 8036c50 { //menupos = lastmenupos; ZOOM_IN = true; 8036c46: 4b74 ldr r3, [pc, #464] ; (8036e18 ) 8036c48: 2201 movs r2, #1 8036c4a: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 8036c4c: f005 b8d4 b.w 803bdf8 if(menupos == StartStop) 8036c50: 4b6f ldr r3, [pc, #444] ; (8036e10 ) 8036c52: 781b ldrb r3, [r3, #0] 8036c54: b2db uxtb r3, r3 8036c56: 2b00 cmp r3, #0 8036c58: d104 bne.n 8036c64 menupos = ZoomOut; 8036c5a: 4b6d ldr r3, [pc, #436] ; (8036e10 ) 8036c5c: 2204 movs r2, #4 8036c5e: 701a strb r2, [r3, #0] break; 8036c60: f005 b8ca b.w 803bdf8 if(menupos == ZoomOut) 8036c64: 4b6a ldr r3, [pc, #424] ; (8036e10 ) 8036c66: 781b ldrb r3, [r3, #0] 8036c68: b2db uxtb r3, r3 8036c6a: 2b04 cmp r3, #4 8036c6c: d104 bne.n 8036c78 menupos = ZoomIn; 8036c6e: 4b68 ldr r3, [pc, #416] ; (8036e10 ) 8036c70: 2203 movs r2, #3 8036c72: 701a strb r2, [r3, #0] break; 8036c74: f005 b8c0 b.w 803bdf8 if(menupos == ZoomIn) 8036c78: 4b65 ldr r3, [pc, #404] ; (8036e10 ) 8036c7a: 781b ldrb r3, [r3, #0] 8036c7c: b2db uxtb r3, r3 8036c7e: 2b03 cmp r3, #3 8036c80: d104 bne.n 8036c8c menupos = ImageRight; 8036c82: 4b63 ldr r3, [pc, #396] ; (8036e10 ) 8036c84: 2205 movs r2, #5 8036c86: 701a strb r2, [r3, #0] break; 8036c88: f005 b8b6 b.w 803bdf8 if(menupos == ImageRight) 8036c8c: 4b60 ldr r3, [pc, #384] ; (8036e10 ) 8036c8e: 781b ldrb r3, [r3, #0] 8036c90: b2db uxtb r3, r3 8036c92: 2b05 cmp r3, #5 8036c94: d104 bne.n 8036ca0 menupos = ImageLeft; 8036c96: 4b5e ldr r3, [pc, #376] ; (8036e10 ) 8036c98: 2202 movs r2, #2 8036c9a: 701a strb r2, [r3, #0] break; 8036c9c: f005 b8ac b.w 803bdf8 if(menupos == ImageLeft) 8036ca0: 4b5b ldr r3, [pc, #364] ; (8036e10 ) 8036ca2: 781b ldrb r3, [r3, #0] 8036ca4: b2db uxtb r3, r3 8036ca6: 2b02 cmp r3, #2 8036ca8: d10e bne.n 8036cc8 if(READY_TO_SEE) 8036caa: 4b5c ldr r3, [pc, #368] ; (8036e1c ) 8036cac: 781b ldrb r3, [r3, #0] 8036cae: b2db uxtb r3, r3 8036cb0: 2b00 cmp r3, #0 8036cb2: d004 beq.n 8036cbe menupos = SaveSpec; 8036cb4: 4b56 ldr r3, [pc, #344] ; (8036e10 ) 8036cb6: 2209 movs r2, #9 8036cb8: 701a strb r2, [r3, #0] break; 8036cba: f005 b89d b.w 803bdf8 else menupos = StartStop; 8036cbe: 4b54 ldr r3, [pc, #336] ; (8036e10 ) 8036cc0: 2200 movs r2, #0 8036cc2: 701a strb r2, [r3, #0] break; 8036cc4: f005 b898 b.w 803bdf8 if(menupos == SaveSpec) 8036cc8: 4b51 ldr r3, [pc, #324] ; (8036e10 ) 8036cca: 781b ldrb r3, [r3, #0] 8036ccc: b2db uxtb r3, r3 8036cce: 2b09 cmp r3, #9 8036cd0: f045 8092 bne.w 803bdf8 menupos = StartStop; 8036cd4: 4b4e ldr r3, [pc, #312] ; (8036e10 ) 8036cd6: 2200 movs r2, #0 8036cd8: 701a strb r2, [r3, #0] break; 8036cda: f005 b88d b.w 803bdf8 case MAIN_SPEC_THIRD: if(menupos == Cursor) 8036cde: 4b4c ldr r3, [pc, #304] ; (8036e10 ) 8036ce0: 781b ldrb r3, [r3, #0] 8036ce2: b2db uxtb r3, r3 8036ce4: 2b06 cmp r3, #6 8036ce6: d104 bne.n 8036cf2 { //menupos = lastmenupos; ZOOM_IN = true; 8036ce8: 4b4b ldr r3, [pc, #300] ; (8036e18 ) 8036cea: 2201 movs r2, #1 8036cec: 701a strb r2, [r3, #0] else menupos = StartStop; } else if(menupos == SaveSpec) menupos = StartStop; break; 8036cee: f005 b886 b.w 803bdfe if(menupos == StartStop) 8036cf2: 4b47 ldr r3, [pc, #284] ; (8036e10 ) 8036cf4: 781b ldrb r3, [r3, #0] 8036cf6: b2db uxtb r3, r3 8036cf8: 2b00 cmp r3, #0 8036cfa: d104 bne.n 8036d06 menupos = ZoomOut; 8036cfc: 4b44 ldr r3, [pc, #272] ; (8036e10 ) 8036cfe: 2204 movs r2, #4 8036d00: 701a strb r2, [r3, #0] break; 8036d02: f005 b87c b.w 803bdfe if(menupos == ZoomOut) 8036d06: 4b42 ldr r3, [pc, #264] ; (8036e10 ) 8036d08: 781b ldrb r3, [r3, #0] 8036d0a: b2db uxtb r3, r3 8036d0c: 2b04 cmp r3, #4 8036d0e: d104 bne.n 8036d1a menupos = ZoomIn; 8036d10: 4b3f ldr r3, [pc, #252] ; (8036e10 ) 8036d12: 2203 movs r2, #3 8036d14: 701a strb r2, [r3, #0] break; 8036d16: f005 b872 b.w 803bdfe if(menupos == ZoomIn) 8036d1a: 4b3d ldr r3, [pc, #244] ; (8036e10 ) 8036d1c: 781b ldrb r3, [r3, #0] 8036d1e: b2db uxtb r3, r3 8036d20: 2b03 cmp r3, #3 8036d22: d104 bne.n 8036d2e menupos = ImageRight; 8036d24: 4b3a ldr r3, [pc, #232] ; (8036e10 ) 8036d26: 2205 movs r2, #5 8036d28: 701a strb r2, [r3, #0] break; 8036d2a: f005 b868 b.w 803bdfe if(menupos == ImageRight) 8036d2e: 4b38 ldr r3, [pc, #224] ; (8036e10 ) 8036d30: 781b ldrb r3, [r3, #0] 8036d32: b2db uxtb r3, r3 8036d34: 2b05 cmp r3, #5 8036d36: d104 bne.n 8036d42 menupos = ImageLeft; 8036d38: 4b35 ldr r3, [pc, #212] ; (8036e10 ) 8036d3a: 2202 movs r2, #2 8036d3c: 701a strb r2, [r3, #0] break; 8036d3e: f005 b85e b.w 803bdfe if(menupos == ImageLeft) 8036d42: 4b33 ldr r3, [pc, #204] ; (8036e10 ) 8036d44: 781b ldrb r3, [r3, #0] 8036d46: b2db uxtb r3, r3 8036d48: 2b02 cmp r3, #2 8036d4a: d10e bne.n 8036d6a if(READY_TO_SEE) 8036d4c: 4b33 ldr r3, [pc, #204] ; (8036e1c ) 8036d4e: 781b ldrb r3, [r3, #0] 8036d50: b2db uxtb r3, r3 8036d52: 2b00 cmp r3, #0 8036d54: d004 beq.n 8036d60 menupos = SaveSpec; 8036d56: 4b2e ldr r3, [pc, #184] ; (8036e10 ) 8036d58: 2209 movs r2, #9 8036d5a: 701a strb r2, [r3, #0] break; 8036d5c: f005 b84f b.w 803bdfe else menupos = StartStop; 8036d60: 4b2b ldr r3, [pc, #172] ; (8036e10 ) 8036d62: 2200 movs r2, #0 8036d64: 701a strb r2, [r3, #0] break; 8036d66: f005 b84a b.w 803bdfe if(menupos == SaveSpec) 8036d6a: 4b29 ldr r3, [pc, #164] ; (8036e10 ) 8036d6c: 781b ldrb r3, [r3, #0] 8036d6e: b2db uxtb r3, r3 8036d70: 2b09 cmp r3, #9 8036d72: f045 8044 bne.w 803bdfe menupos = StartStop; 8036d76: 4b26 ldr r3, [pc, #152] ; (8036e10 ) 8036d78: 2200 movs r2, #0 8036d7a: 701a strb r2, [r3, #0] break; 8036d7c: f005 b83f b.w 803bdfe case MAIN_SYGNAL: switch(menupos) 8036d80: 4b23 ldr r3, [pc, #140] ; (8036e10 ) 8036d82: 781b ldrb r3, [r3, #0] 8036d84: b2db uxtb r3, r3 8036d86: 2b07 cmp r3, #7 8036d88: f205 803c bhi.w 803be04 8036d8c: a201 add r2, pc, #4 ; (adr r2, 8036d94 ) 8036d8e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8036d92: bf00 nop 8036d94: 08036dbd .word 0x08036dbd 8036d98: 0803be05 .word 0x0803be05 8036d9c: 08036ddd .word 0x08036ddd 8036da0: 08036dcd .word 0x08036dcd 8036da4: 08036dc5 .word 0x08036dc5 8036da8: 08036dd5 .word 0x08036dd5 8036dac: 08036de5 .word 0x08036de5 8036db0: 08036db5 .word 0x08036db5 { case Stop: menupos = StartStop; break; 8036db4: 4b16 ldr r3, [pc, #88] ; (8036e10 ) 8036db6: 2200 movs r2, #0 8036db8: 701a strb r2, [r3, #0] 8036dba: e017 b.n 8036dec case StartStop: menupos = ZoomOut; break; 8036dbc: 4b14 ldr r3, [pc, #80] ; (8036e10 ) 8036dbe: 2204 movs r2, #4 8036dc0: 701a strb r2, [r3, #0] 8036dc2: e013 b.n 8036dec case ZoomOut: menupos = ZoomIn; break; 8036dc4: 4b12 ldr r3, [pc, #72] ; (8036e10 ) 8036dc6: 2203 movs r2, #3 8036dc8: 701a strb r2, [r3, #0] 8036dca: e00f b.n 8036dec case ZoomIn: menupos = ImageRight; break; 8036dcc: 4b10 ldr r3, [pc, #64] ; (8036e10 ) 8036dce: 2205 movs r2, #5 8036dd0: 701a strb r2, [r3, #0] 8036dd2: e00b b.n 8036dec case ImageRight:menupos = ImageLeft; break; 8036dd4: 4b0e ldr r3, [pc, #56] ; (8036e10 ) 8036dd6: 2202 movs r2, #2 8036dd8: 701a strb r2, [r3, #0] 8036dda: e007 b.n 8036dec case ImageLeft: menupos = Stop; break; 8036ddc: 4b0c ldr r3, [pc, #48] ; (8036e10 ) 8036dde: 2207 movs r2, #7 8036de0: 701a strb r2, [r3, #0] 8036de2: e003 b.n 8036dec case Cursor: /*menupos = lastmenupos;*/ZOOM_IN = true; break; 8036de4: 4b0c ldr r3, [pc, #48] ; (8036e18 ) 8036de6: 2201 movs r2, #1 8036de8: 701a strb r2, [r3, #0] 8036dea: bf00 nop } break; 8036dec: f005 b80a b.w 803be04 case EXPLORER: if(menupos == FilesPTM) 8036df0: 4b07 ldr r3, [pc, #28] ; (8036e10 ) 8036df2: 781b ldrb r3, [r3, #0] 8036df4: b2db uxtb r3, r3 8036df6: 2b02 cmp r3, #2 8036df8: f045 8007 bne.w 803be0a { if(CursorIndex > 0) 8036dfc: 4b08 ldr r3, [pc, #32] ; (8036e20 ) 8036dfe: 681b ldr r3, [r3, #0] 8036e00: 2b00 cmp r3, #0 8036e02: d00f beq.n 8036e24 CursorIndex--; 8036e04: 4b06 ldr r3, [pc, #24] ; (8036e20 ) 8036e06: 681b ldr r3, [r3, #0] 8036e08: 3b01 subs r3, #1 8036e0a: 4a05 ldr r2, [pc, #20] ; (8036e20 ) 8036e0c: 6013 str r3, [r2, #0] 8036e0e: e01a b.n 8036e46 8036e10: 20020070 .word 0x20020070 8036e14: 20020d68 .word 0x20020d68 8036e18: 20020f6a .word 0x20020f6a 8036e1c: 20020d8e .word 0x20020d8e 8036e20: 20020de0 .word 0x20020de0 else { if(FirstFileIndex > 0) 8036e24: 4b57 ldr r3, [pc, #348] ; (8036f84 ) 8036e26: 681b ldr r3, [r3, #0] 8036e28: 2b00 cmp r3, #0 8036e2a: d00c beq.n 8036e46 { FirstFileIndex--; 8036e2c: 4b55 ldr r3, [pc, #340] ; (8036f84 ) 8036e2e: 681b ldr r3, [r3, #0] 8036e30: 3b01 subs r3, #1 8036e32: 4a54 ldr r2, [pc, #336] ; (8036f84 ) 8036e34: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 8036e36: 4b53 ldr r3, [pc, #332] ; (8036f84 ) 8036e38: 681b ldr r3, [r3, #0] 8036e3a: 4618 mov r0, r3 8036e3c: f7f3 fe58 bl 802aaf0 8036e40: 4603 mov r3, r0 8036e42: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 /* îøèáêà ÷òåíèÿ 8 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 8036e46: 4b4f ldr r3, [pc, #316] ; (8036f84 ) 8036e48: 681a ldr r2, [r3, #0] 8036e4a: 4b4f ldr r3, [pc, #316] ; (8036f88 ) 8036e4c: 681b ldr r3, [r3, #0] 8036e4e: 4413 add r3, r2 8036e50: 4a4e ldr r2, [pc, #312] ; (8036f8c ) 8036e52: 6013 str r3, [r2, #0] } break; 8036e54: f004 bfd9 b.w 803be0a case INPUT_NAME_PTM: case INPUT_NAME_DGN: case INPUT_NAME_SPEC: case INPUT_NAME_GTR: case INPUT_NAME_FRN: if(menupos <= _SPACE) 8036e58: 4b4d ldr r3, [pc, #308] ; (8036f90 ) 8036e5a: 781b ldrb r3, [r3, #0] 8036e5c: b2db uxtb r3, r3 8036e5e: 2b22 cmp r3, #34 ; 0x22 8036e60: d80e bhi.n 8036e80 { if(menupos >= 10) 8036e62: 4b4b ldr r3, [pc, #300] ; (8036f90 ) 8036e64: 781b ldrb r3, [r3, #0] 8036e66: b2db uxtb r3, r3 8036e68: 2b09 cmp r3, #9 8036e6a: f244 87d1 bls.w 803be10 menupos -= 10; 8036e6e: 4b48 ldr r3, [pc, #288] ; (8036f90 ) 8036e70: 781b ldrb r3, [r3, #0] 8036e72: b2db uxtb r3, r3 8036e74: 3b0a subs r3, #10 8036e76: b2da uxtb r2, r3 8036e78: 4b45 ldr r3, [pc, #276] ; (8036f90 ) 8036e7a: 701a strb r2, [r3, #0] if(menupos == _CANCEL) menupos = _SPACE; else menupos -= 8; } break; 8036e7c: f004 bfc8 b.w 803be10 if(menupos == _ENTER) 8036e80: 4b43 ldr r3, [pc, #268] ; (8036f90 ) 8036e82: 781b ldrb r3, [r3, #0] 8036e84: b2db uxtb r3, r3 8036e86: 2b26 cmp r3, #38 ; 0x26 8036e88: d104 bne.n 8036e94 menupos = _V; 8036e8a: 4b41 ldr r3, [pc, #260] ; (8036f90 ) 8036e8c: 2221 movs r2, #33 ; 0x21 8036e8e: 701a strb r2, [r3, #0] break; 8036e90: f004 bfbe b.w 803be10 if(menupos == _CANCEL) 8036e94: 4b3e ldr r3, [pc, #248] ; (8036f90 ) 8036e96: 781b ldrb r3, [r3, #0] 8036e98: b2db uxtb r3, r3 8036e9a: 2b27 cmp r3, #39 ; 0x27 8036e9c: d104 bne.n 8036ea8 menupos = _SPACE; 8036e9e: 4b3c ldr r3, [pc, #240] ; (8036f90 ) 8036ea0: 2222 movs r2, #34 ; 0x22 8036ea2: 701a strb r2, [r3, #0] break; 8036ea4: f004 bfb4 b.w 803be10 menupos -= 8; 8036ea8: 4b39 ldr r3, [pc, #228] ; (8036f90 ) 8036eaa: 781b ldrb r3, [r3, #0] 8036eac: b2db uxtb r3, r3 8036eae: 3b08 subs r3, #8 8036eb0: b2da uxtb r2, r3 8036eb2: 4b37 ldr r3, [pc, #220] ; (8036f90 ) 8036eb4: 701a strb r2, [r3, #0] break; 8036eb6: f004 bfab b.w 803be10 case OPTIONS: if((menupos > Mode) && (menupos < AskFormatNo)) menupos--; 8036eba: 4b35 ldr r3, [pc, #212] ; (8036f90 ) 8036ebc: 781b ldrb r3, [r3, #0] 8036ebe: b2db uxtb r3, r3 8036ec0: 2b01 cmp r3, #1 8036ec2: d90d bls.n 8036ee0 8036ec4: 4b32 ldr r3, [pc, #200] ; (8036f90 ) 8036ec6: 781b ldrb r3, [r3, #0] 8036ec8: b2db uxtb r3, r3 8036eca: 2b04 cmp r3, #4 8036ecc: d808 bhi.n 8036ee0 8036ece: 4b30 ldr r3, [pc, #192] ; (8036f90 ) 8036ed0: 781b ldrb r3, [r3, #0] 8036ed2: b2db uxtb r3, r3 8036ed4: 3b01 subs r3, #1 8036ed6: b2da uxtb r2, r3 8036ed8: 4b2d ldr r3, [pc, #180] ; (8036f90 ) 8036eda: 701a strb r2, [r3, #0] else menupos = Route; break; 8036edc: f004 bfbd b.w 803be5a else menupos = Route; 8036ee0: 4b2b ldr r3, [pc, #172] ; (8036f90 ) 8036ee2: 2204 movs r2, #4 8036ee4: 701a strb r2, [r3, #0] break; 8036ee6: f004 bfb8 b.w 803be5a case MEAS_MODE: #ifdef USE_ROLL #ifdef USE_UDAR if(pardata.IIN != VOLTS) 8036eea: 4b2a ldr r3, [pc, #168] ; (8036f94 ) 8036eec: 799b ldrb r3, [r3, #6] 8036eee: b2db uxtb r3, r3 8036ef0: 2b02 cmp r3, #2 8036ef2: d012 beq.n 8036f1a { if(menupos > Vibrometer) menupos--; 8036ef4: 4b26 ldr r3, [pc, #152] ; (8036f90 ) 8036ef6: 781b ldrb r3, [r3, #0] 8036ef8: b2db uxtb r3, r3 8036efa: 2b01 cmp r3, #1 8036efc: d908 bls.n 8036f10 8036efe: 4b24 ldr r3, [pc, #144] ; (8036f90 ) 8036f00: 781b ldrb r3, [r3, #0] 8036f02: b2db uxtb r3, r3 8036f04: 3b01 subs r3, #1 8036f06: b2da uxtb r2, r3 8036f08: 4b21 ldr r3, [pc, #132] ; (8036f90 ) 8036f0a: 701a strb r2, [r3, #0] #else if(menupos > Vibrometer) menupos--; else menupos = Diagn; #endif*/ break; 8036f0c: f004 bfa5 b.w 803be5a else menupos = Udar; 8036f10: 4b1f ldr r3, [pc, #124] ; (8036f90 ) 8036f12: 2207 movs r2, #7 8036f14: 701a strb r2, [r3, #0] break; 8036f16: f004 bfa0 b.w 803be5a if(menupos > Vibrometer) menupos--; 8036f1a: 4b1d ldr r3, [pc, #116] ; (8036f90 ) 8036f1c: 781b ldrb r3, [r3, #0] 8036f1e: b2db uxtb r3, r3 8036f20: 2b01 cmp r3, #1 8036f22: d908 bls.n 8036f36 8036f24: 4b1a ldr r3, [pc, #104] ; (8036f90 ) 8036f26: 781b ldrb r3, [r3, #0] 8036f28: b2db uxtb r3, r3 8036f2a: 3b01 subs r3, #1 8036f2c: b2da uxtb r2, r3 8036f2e: 4b18 ldr r3, [pc, #96] ; (8036f90 ) 8036f30: 701a strb r2, [r3, #0] break; 8036f32: f004 bf92 b.w 803be5a else menupos = FFT; 8036f36: 4b16 ldr r3, [pc, #88] ; (8036f90 ) 8036f38: 2203 movs r2, #3 8036f3a: 701a strb r2, [r3, #0] break; 8036f3c: f004 bf8d b.w 803be5a case PARAM_UDAR: focused = false; 8036f40: 4b15 ldr r3, [pc, #84] ; (8036f98 ) 8036f42: 2200 movs r2, #0 8036f44: 701a strb r2, [r3, #0] if(menupos == Ok) 8036f46: 4b12 ldr r3, [pc, #72] ; (8036f90 ) 8036f48: 781b ldrb r3, [r3, #0] 8036f4a: b2db uxtb r3, r3 8036f4c: 2b00 cmp r3, #0 8036f4e: d104 bne.n 8036f5a menupos = UdarInner; 8036f50: 4b0f ldr r3, [pc, #60] ; (8036f90 ) 8036f52: 2202 movs r2, #2 8036f54: 701a strb r2, [r3, #0] } if(k > 9999) k = 9999; if(k == 0) k = 1; pardata.D_RATE = k; } break; 8036f56: f004 bf5e b.w 803be16 if(menupos == UdarInner) 8036f5a: 4b0d ldr r3, [pc, #52] ; (8036f90 ) 8036f5c: 781b ldrb r3, [r3, #0] 8036f5e: b2db uxtb r3, r3 8036f60: 2b02 cmp r3, #2 8036f62: d104 bne.n 8036f6e menupos = UdarRate; 8036f64: 4b0a ldr r3, [pc, #40] ; (8036f90 ) 8036f66: 2201 movs r2, #1 8036f68: 701a strb r2, [r3, #0] break; 8036f6a: f004 bf54 b.w 803be16 if(menupos == UdarRate) 8036f6e: 4b08 ldr r3, [pc, #32] ; (8036f90 ) 8036f70: 781b ldrb r3, [r3, #0] 8036f72: b2db uxtb r3, r3 8036f74: 2b01 cmp r3, #1 8036f76: d111 bne.n 8036f9c menupos = Ok; 8036f78: 4b05 ldr r3, [pc, #20] ; (8036f90 ) 8036f7a: 2200 movs r2, #0 8036f7c: 701a strb r2, [r3, #0] break; 8036f7e: f004 bf4a b.w 803be16 8036f82: bf00 nop 8036f84: 20020de4 .word 0x20020de4 8036f88: 20020de0 .word 0x20020de0 8036f8c: 20020de8 .word 0x20020de8 8036f90: 20020070 .word 0x20020070 8036f94: 20023e60 .word 0x20023e60 8036f98: 20020f84 .word 0x20020f84 if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 8036f9c: 4b9d ldr r3, [pc, #628] ; (8037214 ) 8036f9e: 781b ldrb r3, [r3, #0] 8036fa0: b2db uxtb r3, r3 8036fa2: 2b06 cmp r3, #6 8036fa4: f240 814e bls.w 8037244 8036fa8: 4b9a ldr r3, [pc, #616] ; (8037214 ) 8036faa: 781b ldrb r3, [r3, #0] 8036fac: b2db uxtb r3, r3 8036fae: 2b0c cmp r3, #12 8036fb0: f200 8148 bhi.w 8037244 k = (uint32_t) (pardata.D_INNER * 1000.0f); 8036fb4: 4b98 ldr r3, [pc, #608] ; (8037218 ) 8036fb6: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8036fba: ed9f 7a98 vldr s14, [pc, #608] ; 803721c 8036fbe: ee67 7a87 vmul.f32 s15, s15, s14 8036fc2: eefc 7ae7 vcvt.u32.f32 s15, s15 8036fc6: ee17 3a90 vmov r3, s15 8036fca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8036fce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8036fd2: 095b lsrs r3, r3, #5 8036fd4: 4a92 ldr r2, [pc, #584] ; (8037220 ) 8036fd6: fba2 2303 umull r2, r3, r2, r3 8036fda: 09db lsrs r3, r3, #7 8036fdc: b2db uxtb r3, r3 8036fde: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8036fe2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8036fe6: 0953 lsrs r3, r2, #5 8036fe8: 498d ldr r1, [pc, #564] ; (8037220 ) 8036fea: fba1 1303 umull r1, r3, r1, r3 8036fee: 09db lsrs r3, r3, #7 8036ff0: 498c ldr r1, [pc, #560] ; (8037224 ) 8036ff2: fb01 f303 mul.w r3, r1, r3 8036ff6: 1ad3 subs r3, r2, r3 8036ff8: 4a8b ldr r2, [pc, #556] ; (8037228 ) 8036ffa: fba2 2303 umull r2, r3, r2, r3 8036ffe: 0b5b lsrs r3, r3, #13 8037000: b2db uxtb r3, r3 8037002: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8037006: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803700a: 0953 lsrs r3, r2, #5 803700c: 4984 ldr r1, [pc, #528] ; (8037220 ) 803700e: fba1 1303 umull r1, r3, r1, r3 8037012: 09db lsrs r3, r3, #7 8037014: 4983 ldr r1, [pc, #524] ; (8037224 ) 8037016: fb01 f303 mul.w r3, r1, r3 803701a: 1ad3 subs r3, r2, r3 803701c: 4a82 ldr r2, [pc, #520] ; (8037228 ) 803701e: fba2 1203 umull r1, r2, r2, r3 8037022: 0b52 lsrs r2, r2, #13 8037024: f242 7110 movw r1, #10000 ; 0x2710 8037028: fb01 f202 mul.w r2, r1, r2 803702c: 1a9a subs r2, r3, r2 803702e: 4b7f ldr r3, [pc, #508] ; (803722c ) 8037030: fba3 2302 umull r2, r3, r3, r2 8037034: 099b lsrs r3, r3, #6 8037036: b2db uxtb r3, r3 8037038: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803703c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037040: 095a lsrs r2, r3, #5 8037042: 4977 ldr r1, [pc, #476] ; (8037220 ) 8037044: fba1 1202 umull r1, r2, r1, r2 8037048: 09d2 lsrs r2, r2, #7 803704a: 4976 ldr r1, [pc, #472] ; (8037224 ) 803704c: fb01 f202 mul.w r2, r1, r2 8037050: 1a9a subs r2, r3, r2 8037052: 4b75 ldr r3, [pc, #468] ; (8037228 ) 8037054: fba3 1302 umull r1, r3, r3, r2 8037058: 0b5b lsrs r3, r3, #13 803705a: f242 7110 movw r1, #10000 ; 0x2710 803705e: fb01 f303 mul.w r3, r1, r3 8037062: 1ad3 subs r3, r2, r3 8037064: 4a71 ldr r2, [pc, #452] ; (803722c ) 8037066: fba2 1203 umull r1, r2, r2, r3 803706a: 0992 lsrs r2, r2, #6 803706c: f44f 717a mov.w r1, #1000 ; 0x3e8 8037070: fb01 f202 mul.w r2, r1, r2 8037074: 1a9a subs r2, r3, r2 8037076: 4b6e ldr r3, [pc, #440] ; (8037230 ) 8037078: fba3 2302 umull r2, r3, r3, r2 803707c: 095b lsrs r3, r3, #5 803707e: b2db uxtb r3, r3 8037080: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8037084: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037088: 0953 lsrs r3, r2, #5 803708a: 4965 ldr r1, [pc, #404] ; (8037220 ) 803708c: fba1 1303 umull r1, r3, r1, r3 8037090: 09db lsrs r3, r3, #7 8037092: 4964 ldr r1, [pc, #400] ; (8037224 ) 8037094: fb01 f303 mul.w r3, r1, r3 8037098: 1ad3 subs r3, r2, r3 803709a: 4a63 ldr r2, [pc, #396] ; (8037228 ) 803709c: fba2 1203 umull r1, r2, r2, r3 80370a0: 0b52 lsrs r2, r2, #13 80370a2: f242 7110 movw r1, #10000 ; 0x2710 80370a6: fb01 f202 mul.w r2, r1, r2 80370aa: 1a9a subs r2, r3, r2 80370ac: 4b5f ldr r3, [pc, #380] ; (803722c ) 80370ae: fba3 1302 umull r1, r3, r3, r2 80370b2: 099b lsrs r3, r3, #6 80370b4: f44f 717a mov.w r1, #1000 ; 0x3e8 80370b8: fb01 f303 mul.w r3, r1, r3 80370bc: 1ad3 subs r3, r2, r3 80370be: 4a5c ldr r2, [pc, #368] ; (8037230 ) 80370c0: fba2 1203 umull r1, r2, r2, r3 80370c4: 0952 lsrs r2, r2, #5 80370c6: 2164 movs r1, #100 ; 0x64 80370c8: fb01 f202 mul.w r2, r1, r2 80370cc: 1a9a subs r2, r3, r2 80370ce: 4b59 ldr r3, [pc, #356] ; (8037234 ) 80370d0: fba3 2302 umull r2, r3, r3, r2 80370d4: 08db lsrs r3, r3, #3 80370d6: b2db uxtb r3, r3 80370d8: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80370dc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80370e0: 0953 lsrs r3, r2, #5 80370e2: 494f ldr r1, [pc, #316] ; (8037220 ) 80370e4: fba1 1303 umull r1, r3, r1, r3 80370e8: 09db lsrs r3, r3, #7 80370ea: 494e ldr r1, [pc, #312] ; (8037224 ) 80370ec: fb01 f303 mul.w r3, r1, r3 80370f0: 1ad3 subs r3, r2, r3 80370f2: 4a4d ldr r2, [pc, #308] ; (8037228 ) 80370f4: fba2 1203 umull r1, r2, r2, r3 80370f8: 0b52 lsrs r2, r2, #13 80370fa: f242 7110 movw r1, #10000 ; 0x2710 80370fe: fb01 f202 mul.w r2, r1, r2 8037102: 1a9a subs r2, r3, r2 8037104: 4b49 ldr r3, [pc, #292] ; (803722c ) 8037106: fba3 1302 umull r1, r3, r3, r2 803710a: 099b lsrs r3, r3, #6 803710c: f44f 717a mov.w r1, #1000 ; 0x3e8 8037110: fb01 f303 mul.w r3, r1, r3 8037114: 1ad3 subs r3, r2, r3 8037116: 4a46 ldr r2, [pc, #280] ; (8037230 ) 8037118: fba2 1203 umull r1, r2, r2, r3 803711c: 0952 lsrs r2, r2, #5 803711e: 2164 movs r1, #100 ; 0x64 8037120: fb01 f202 mul.w r2, r1, r2 8037124: 1a9a subs r2, r3, r2 8037126: 4b43 ldr r3, [pc, #268] ; (8037234 ) 8037128: fba3 1302 umull r1, r3, r3, r2 803712c: 08d9 lsrs r1, r3, #3 803712e: 460b mov r3, r1 8037130: 009b lsls r3, r3, #2 8037132: 440b add r3, r1 8037134: 005b lsls r3, r3, #1 8037136: 1ad1 subs r1, r2, r3 8037138: b2cb uxtb r3, r1 803713a: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803713e: 4b35 ldr r3, [pc, #212] ; (8037214 ) 8037140: 781b ldrb r3, [r3, #0] 8037142: b2db uxtb r3, r3 8037144: 3b07 subs r3, #7 8037146: 2b05 cmp r3, #5 8037148: d836 bhi.n 80371b8 803714a: a201 add r2, pc, #4 ; (adr r2, 8037150 ) 803714c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037150: 08037169 .word 0x08037169 8037154: 08037177 .word 0x08037177 8037158: 08037187 .word 0x08037187 803715c: 08037195 .word 0x08037195 8037160: 080371a1 .word 0x080371a1 8037164: 080371ad .word 0x080371ad case UdarInner_IES: k += 100000; break; 8037168: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803716c: 4b2d ldr r3, [pc, #180] ; (8037224 ) 803716e: 4413 add r3, r2 8037170: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037174: e020 b.n 80371b8 case UdarInner_IED: k += 10000; break; 8037176: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803717a: f242 7310 movw r3, #10000 ; 0x2710 803717e: 4413 add r3, r2 8037180: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037184: e018 b.n 80371b8 case UdarInner_IEE: k += 1000; break; 8037186: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803718a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803718e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037192: e011 b.n 80371b8 case UdarInner_IKD: k += 100; break; 8037194: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037198: 3364 adds r3, #100 ; 0x64 803719a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803719e: e00b b.n 80371b8 case UdarInner_IKS: k += 10; break; 80371a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80371a4: 330a adds r3, #10 80371a6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80371aa: e005 b.n 80371b8 case UdarInner_IKT: k++; break; 80371ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80371b0: 3301 adds r3, #1 80371b2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80371b6: bf00 nop if(k > 999999) k = 999999; 80371b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80371bc: 4a1e ldr r2, [pc, #120] ; (8037238 ) 80371be: 4293 cmp r3, r2 80371c0: d902 bls.n 80371c8 80371c2: 4b1d ldr r3, [pc, #116] ; (8037238 ) 80371c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 80371c8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80371cc: 2b00 cmp r3, #0 80371ce: d102 bne.n 80371d6 80371d0: 2301 movs r3, #1 80371d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 80371d6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80371da: ee07 3a90 vmov s15, r3 80371de: eef8 7a67 vcvt.f32.u32 s15, s15 80371e2: 4b0d ldr r3, [pc, #52] ; (8037218 ) 80371e4: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 80371e8: 4b0b ldr r3, [pc, #44] ; (8037218 ) 80371ea: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 80371ee: ed9f 7a13 vldr s14, [pc, #76] ; 803723c 80371f2: ee67 7a87 vmul.f32 s15, s15, s14 80371f6: 4b08 ldr r3, [pc, #32] ; (8037218 ) 80371f8: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 80371fc: 4b06 ldr r3, [pc, #24] ; (8037218 ) 80371fe: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8037202: ed9f 7a0f vldr s14, [pc, #60] ; 8037240 8037206: ee77 7a87 vadd.f32 s15, s15, s14 803720a: 4b03 ldr r3, [pc, #12] ; (8037218 ) 803720c: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 break; 8037210: f004 be01 b.w 803be16 8037214: 20020070 .word 0x20020070 8037218: 20023e60 .word 0x20023e60 803721c: 447a0000 .word 0x447a0000 8037220: 0a7c5ac5 .word 0x0a7c5ac5 8037224: 000186a0 .word 0x000186a0 8037228: d1b71759 .word 0xd1b71759 803722c: 10624dd3 .word 0x10624dd3 8037230: 51eb851f .word 0x51eb851f 8037234: cccccccd .word 0xcccccccd 8037238: 000f423f .word 0x000f423f 803723c: 3a83126f .word 0x3a83126f 8037240: 3a03126f .word 0x3a03126f if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 8037244: 4b8c ldr r3, [pc, #560] ; (8037478 ) 8037246: 781b ldrb r3, [r3, #0] 8037248: b2db uxtb r3, r3 803724a: 2b02 cmp r3, #2 803724c: f244 85e3 bls.w 803be16 8037250: 4b89 ldr r3, [pc, #548] ; (8037478 ) 8037252: 781b ldrb r3, [r3, #0] 8037254: b2db uxtb r3, r3 8037256: 2b06 cmp r3, #6 8037258: f204 85dd bhi.w 803be16 k = pardata.D_RATE; 803725c: 4b87 ldr r3, [pc, #540] ; (803747c ) 803725e: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 8037262: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 8037266: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803726a: 4a85 ldr r2, [pc, #532] ; (8037480 ) 803726c: fba2 2303 umull r2, r3, r2, r3 8037270: 099b lsrs r3, r3, #6 8037272: b2db uxtb r3, r3 8037274: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 8037278: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803727c: 4b80 ldr r3, [pc, #512] ; (8037480 ) 803727e: fba3 1302 umull r1, r3, r3, r2 8037282: 099b lsrs r3, r3, #6 8037284: f44f 717a mov.w r1, #1000 ; 0x3e8 8037288: fb01 f303 mul.w r3, r1, r3 803728c: 1ad3 subs r3, r2, r3 803728e: 4a7d ldr r2, [pc, #500] ; (8037484 ) 8037290: fba2 2303 umull r2, r3, r2, r3 8037294: 095b lsrs r3, r3, #5 8037296: b2db uxtb r3, r3 8037298: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 803729c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80372a0: 4b77 ldr r3, [pc, #476] ; (8037480 ) 80372a2: fba3 1302 umull r1, r3, r3, r2 80372a6: 099b lsrs r3, r3, #6 80372a8: f44f 717a mov.w r1, #1000 ; 0x3e8 80372ac: fb01 f303 mul.w r3, r1, r3 80372b0: 1ad3 subs r3, r2, r3 80372b2: 4a74 ldr r2, [pc, #464] ; (8037484 ) 80372b4: fba2 1203 umull r1, r2, r2, r3 80372b8: 0952 lsrs r2, r2, #5 80372ba: 2164 movs r1, #100 ; 0x64 80372bc: fb01 f202 mul.w r2, r1, r2 80372c0: 1a9a subs r2, r3, r2 80372c2: 4b71 ldr r3, [pc, #452] ; (8037488 ) 80372c4: fba3 2302 umull r2, r3, r3, r2 80372c8: 08db lsrs r3, r3, #3 80372ca: b2db uxtb r3, r3 80372cc: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 80372d0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80372d4: 4b6a ldr r3, [pc, #424] ; (8037480 ) 80372d6: fba3 1302 umull r1, r3, r3, r2 80372da: 099b lsrs r3, r3, #6 80372dc: f44f 717a mov.w r1, #1000 ; 0x3e8 80372e0: fb01 f303 mul.w r3, r1, r3 80372e4: 1ad3 subs r3, r2, r3 80372e6: 4a67 ldr r2, [pc, #412] ; (8037484 ) 80372e8: fba2 1203 umull r1, r2, r2, r3 80372ec: 0952 lsrs r2, r2, #5 80372ee: 2164 movs r1, #100 ; 0x64 80372f0: fb01 f202 mul.w r2, r1, r2 80372f4: 1a9a subs r2, r3, r2 80372f6: 4b64 ldr r3, [pc, #400] ; (8037488 ) 80372f8: fba3 1302 umull r1, r3, r3, r2 80372fc: 08d9 lsrs r1, r3, #3 80372fe: 460b mov r3, r1 8037300: 009b lsls r3, r3, #2 8037302: 440b add r3, r1 8037304: 005b lsls r3, r3, #1 8037306: 1ad1 subs r1, r2, r3 8037308: b2cb uxtb r3, r1 803730a: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 803730e: 4b5a ldr r3, [pc, #360] ; (8037478 ) 8037310: 781b ldrb r3, [r3, #0] 8037312: b2db uxtb r3, r3 8037314: 3b03 subs r3, #3 8037316: 2b03 cmp r3, #3 8037318: d823 bhi.n 8037362 803731a: a201 add r2, pc, #4 ; (adr r2, 8037320 ) 803731c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037320: 08037331 .word 0x08037331 8037324: 0803733f .word 0x0803733f 8037328: 0803734b .word 0x0803734b 803732c: 08037357 .word 0x08037357 k += 1000; 8037330: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037334: f503 737a add.w r3, r3, #1000 ; 0x3e8 8037338: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803733c: e011 b.n 8037362 k += 100; 803733e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037342: 3364 adds r3, #100 ; 0x64 8037344: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8037348: e00b b.n 8037362 k += 10; 803734a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803734e: 330a adds r3, #10 8037350: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8037354: e005 b.n 8037362 k++; 8037356: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803735a: 3301 adds r3, #1 803735c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8037360: bf00 nop if(k > 9999) k = 9999; 8037362: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037366: f242 720f movw r2, #9999 ; 0x270f 803736a: 4293 cmp r3, r2 803736c: d903 bls.n 8037376 803736e: f242 730f movw r3, #9999 ; 0x270f 8037372: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8037376: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803737a: 2b00 cmp r3, #0 803737c: d102 bne.n 8037384 803737e: 2301 movs r3, #1 8037380: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 8037384: 4a3d ldr r2, [pc, #244] ; (803747c ) 8037386: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803738a: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 803738e: f004 bd42 b.w 803be16 case PARAM_ROLL: focused = false; 8037392: 4b3e ldr r3, [pc, #248] ; (803748c ) 8037394: 2200 movs r2, #0 8037396: 701a strb r2, [r3, #0] if(menupos == Ok) 8037398: 4b37 ldr r3, [pc, #220] ; (8037478 ) 803739a: 781b ldrb r3, [r3, #0] 803739c: b2db uxtb r3, r3 803739e: 2b00 cmp r3, #0 80373a0: d104 bne.n 80373ac menupos = D_Rate; 80373a2: 4b35 ldr r3, [pc, #212] ; (8037478 ) 80373a4: 2209 movs r2, #9 80373a6: 701a strb r2, [r3, #0] } if(k > 9999) k = 9999; if(k == 0) k = 1; pardata.D_RATE = k; } break; 80373a8: f004 bd38 b.w 803be1c if(menupos == D_Rate) 80373ac: 4b32 ldr r3, [pc, #200] ; (8037478 ) 80373ae: 781b ldrb r3, [r3, #0] 80373b0: b2db uxtb r3, r3 80373b2: 2b09 cmp r3, #9 80373b4: d110 bne.n 80373d8 if(pardata.OPTIONS & 0x4) 80373b6: 4b31 ldr r3, [pc, #196] ; (803747c ) 80373b8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80373bc: f003 0304 and.w r3, r3, #4 80373c0: 2b00 cmp r3, #0 80373c2: d004 beq.n 80373ce menupos = RollAutoKu; 80373c4: 4b2c ldr r3, [pc, #176] ; (8037478 ) 80373c6: 2207 movs r2, #7 80373c8: 701a strb r2, [r3, #0] break; 80373ca: f004 bd27 b.w 803be1c else menupos = RollMax_ALL; 80373ce: 4b2a ldr r3, [pc, #168] ; (8037478 ) 80373d0: 2208 movs r2, #8 80373d2: 701a strb r2, [r3, #0] break; 80373d4: f004 bd22 b.w 803be1c if(menupos == RollMax_ALL) 80373d8: 4b27 ldr r3, [pc, #156] ; (8037478 ) 80373da: 781b ldrb r3, [r3, #0] 80373dc: b2db uxtb r3, r3 80373de: 2b08 cmp r3, #8 80373e0: d104 bne.n 80373ec menupos = RollAutoKu; 80373e2: 4b25 ldr r3, [pc, #148] ; (8037478 ) 80373e4: 2207 movs r2, #7 80373e6: 701a strb r2, [r3, #0] break; 80373e8: f004 bd18 b.w 803be1c if(menupos == RollAutoKu) 80373ec: 4b22 ldr r3, [pc, #136] ; (8037478 ) 80373ee: 781b ldrb r3, [r3, #0] 80373f0: b2db uxtb r3, r3 80373f2: 2b07 cmp r3, #7 80373f4: d104 bne.n 8037400 menupos = RollAverage; 80373f6: 4b20 ldr r3, [pc, #128] ; (8037478 ) 80373f8: 2206 movs r2, #6 80373fa: 701a strb r2, [r3, #0] break; 80373fc: f004 bd0e b.w 803be1c if(menupos == RollAverage) 8037400: 4b1d ldr r3, [pc, #116] ; (8037478 ) 8037402: 781b ldrb r3, [r3, #0] 8037404: b2db uxtb r3, r3 8037406: 2b06 cmp r3, #6 8037408: d104 bne.n 8037414 menupos = D_Angle; 803740a: 4b1b ldr r3, [pc, #108] ; (8037478 ) 803740c: 2205 movs r2, #5 803740e: 701a strb r2, [r3, #0] break; 8037410: f004 bd04 b.w 803be1c if(menupos == D_Angle) 8037414: 4b18 ldr r3, [pc, #96] ; (8037478 ) 8037416: 781b ldrb r3, [r3, #0] 8037418: b2db uxtb r3, r3 803741a: 2b05 cmp r3, #5 803741c: d104 bne.n 8037428 menupos = D_Inner; 803741e: 4b16 ldr r3, [pc, #88] ; (8037478 ) 8037420: 2204 movs r2, #4 8037422: 701a strb r2, [r3, #0] break; 8037424: f004 bcfa b.w 803be1c if(menupos == D_Inner) 8037428: 4b13 ldr r3, [pc, #76] ; (8037478 ) 803742a: 781b ldrb r3, [r3, #0] 803742c: b2db uxtb r3, r3 803742e: 2b04 cmp r3, #4 8037430: d104 bne.n 803743c menupos = D_Outer; 8037432: 4b11 ldr r3, [pc, #68] ; (8037478 ) 8037434: 2203 movs r2, #3 8037436: 701a strb r2, [r3, #0] break; 8037438: f004 bcf0 b.w 803be1c if(menupos == D_Outer) 803743c: 4b0e ldr r3, [pc, #56] ; (8037478 ) 803743e: 781b ldrb r3, [r3, #0] 8037440: b2db uxtb r3, r3 8037442: 2b03 cmp r3, #3 8037444: d104 bne.n 8037450 menupos = D_Roll; 8037446: 4b0c ldr r3, [pc, #48] ; (8037478 ) 8037448: 2202 movs r2, #2 803744a: 701a strb r2, [r3, #0] break; 803744c: f004 bce6 b.w 803be1c if(menupos == D_Roll) 8037450: 4b09 ldr r3, [pc, #36] ; (8037478 ) 8037452: 781b ldrb r3, [r3, #0] 8037454: b2db uxtb r3, r3 8037456: 2b02 cmp r3, #2 8037458: d104 bne.n 8037464 menupos = RollCount; 803745a: 4b07 ldr r3, [pc, #28] ; (8037478 ) 803745c: 2201 movs r2, #1 803745e: 701a strb r2, [r3, #0] break; 8037460: f004 bcdc b.w 803be1c if(menupos == RollCount) 8037464: 4b04 ldr r3, [pc, #16] ; (8037478 ) 8037466: 781b ldrb r3, [r3, #0] 8037468: b2db uxtb r3, r3 803746a: 2b01 cmp r3, #1 803746c: d110 bne.n 8037490 menupos = Ok; 803746e: 4b02 ldr r3, [pc, #8] ; (8037478 ) 8037470: 2200 movs r2, #0 8037472: 701a strb r2, [r3, #0] break; 8037474: f004 bcd2 b.w 803be1c 8037478: 20020070 .word 0x20020070 803747c: 20023e60 .word 0x20023e60 8037480: 10624dd3 .word 0x10624dd3 8037484: 51eb851f .word 0x51eb851f 8037488: cccccccd .word 0xcccccccd 803748c: 20020f84 .word 0x20020f84 if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 8037490: 4b9d ldr r3, [pc, #628] ; (8037708 ) 8037492: 781b ldrb r3, [r3, #0] 8037494: b2db uxtb r3, r3 8037496: 2b25 cmp r3, #37 ; 0x25 8037498: f240 814c bls.w 8037734 803749c: 4b9a ldr r3, [pc, #616] ; (8037708 ) 803749e: 781b ldrb r3, [r3, #0] 80374a0: b2db uxtb r3, r3 80374a2: 2b2b cmp r3, #43 ; 0x2b 80374a4: f200 8146 bhi.w 8037734 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80374a8: 4b98 ldr r3, [pc, #608] ; (803770c ) 80374aa: edd3 7a06 vldr s15, [r3, #24] 80374ae: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80374b2: ee67 7a87 vmul.f32 s15, s15, s14 80374b6: eefc 7ae7 vcvt.u32.f32 s15, s15 80374ba: ee17 3a90 vmov r3, s15 80374be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80374c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80374c6: 095b lsrs r3, r3, #5 80374c8: 4a91 ldr r2, [pc, #580] ; (8037710 ) 80374ca: fba2 2303 umull r2, r3, r2, r3 80374ce: 09db lsrs r3, r3, #7 80374d0: b2db uxtb r3, r3 80374d2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80374d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80374da: 0953 lsrs r3, r2, #5 80374dc: 498c ldr r1, [pc, #560] ; (8037710 ) 80374de: fba1 1303 umull r1, r3, r1, r3 80374e2: 09db lsrs r3, r3, #7 80374e4: 498b ldr r1, [pc, #556] ; (8037714 ) 80374e6: fb01 f303 mul.w r3, r1, r3 80374ea: 1ad3 subs r3, r2, r3 80374ec: 4a8a ldr r2, [pc, #552] ; (8037718 ) 80374ee: fba2 2303 umull r2, r3, r2, r3 80374f2: 0b5b lsrs r3, r3, #13 80374f4: b2db uxtb r3, r3 80374f6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80374fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80374fe: 0953 lsrs r3, r2, #5 8037500: 4983 ldr r1, [pc, #524] ; (8037710 ) 8037502: fba1 1303 umull r1, r3, r1, r3 8037506: 09db lsrs r3, r3, #7 8037508: 4982 ldr r1, [pc, #520] ; (8037714 ) 803750a: fb01 f303 mul.w r3, r1, r3 803750e: 1ad3 subs r3, r2, r3 8037510: 4a81 ldr r2, [pc, #516] ; (8037718 ) 8037512: fba2 1203 umull r1, r2, r2, r3 8037516: 0b52 lsrs r2, r2, #13 8037518: f242 7110 movw r1, #10000 ; 0x2710 803751c: fb01 f202 mul.w r2, r1, r2 8037520: 1a9a subs r2, r3, r2 8037522: 4b7e ldr r3, [pc, #504] ; (803771c ) 8037524: fba3 2302 umull r2, r3, r3, r2 8037528: 099b lsrs r3, r3, #6 803752a: b2db uxtb r3, r3 803752c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8037530: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037534: 095a lsrs r2, r3, #5 8037536: 4976 ldr r1, [pc, #472] ; (8037710 ) 8037538: fba1 1202 umull r1, r2, r1, r2 803753c: 09d2 lsrs r2, r2, #7 803753e: 4975 ldr r1, [pc, #468] ; (8037714 ) 8037540: fb01 f202 mul.w r2, r1, r2 8037544: 1a9a subs r2, r3, r2 8037546: 4b74 ldr r3, [pc, #464] ; (8037718 ) 8037548: fba3 1302 umull r1, r3, r3, r2 803754c: 0b5b lsrs r3, r3, #13 803754e: f242 7110 movw r1, #10000 ; 0x2710 8037552: fb01 f303 mul.w r3, r1, r3 8037556: 1ad3 subs r3, r2, r3 8037558: 4a70 ldr r2, [pc, #448] ; (803771c ) 803755a: fba2 1203 umull r1, r2, r2, r3 803755e: 0992 lsrs r2, r2, #6 8037560: f44f 717a mov.w r1, #1000 ; 0x3e8 8037564: fb01 f202 mul.w r2, r1, r2 8037568: 1a9a subs r2, r3, r2 803756a: 4b6d ldr r3, [pc, #436] ; (8037720 ) 803756c: fba3 2302 umull r2, r3, r3, r2 8037570: 095b lsrs r3, r3, #5 8037572: b2db uxtb r3, r3 8037574: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8037578: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803757c: 0953 lsrs r3, r2, #5 803757e: 4964 ldr r1, [pc, #400] ; (8037710 ) 8037580: fba1 1303 umull r1, r3, r1, r3 8037584: 09db lsrs r3, r3, #7 8037586: 4963 ldr r1, [pc, #396] ; (8037714 ) 8037588: fb01 f303 mul.w r3, r1, r3 803758c: 1ad3 subs r3, r2, r3 803758e: 4a62 ldr r2, [pc, #392] ; (8037718 ) 8037590: fba2 1203 umull r1, r2, r2, r3 8037594: 0b52 lsrs r2, r2, #13 8037596: f242 7110 movw r1, #10000 ; 0x2710 803759a: fb01 f202 mul.w r2, r1, r2 803759e: 1a9a subs r2, r3, r2 80375a0: 4b5e ldr r3, [pc, #376] ; (803771c ) 80375a2: fba3 1302 umull r1, r3, r3, r2 80375a6: 099b lsrs r3, r3, #6 80375a8: f44f 717a mov.w r1, #1000 ; 0x3e8 80375ac: fb01 f303 mul.w r3, r1, r3 80375b0: 1ad3 subs r3, r2, r3 80375b2: 4a5b ldr r2, [pc, #364] ; (8037720 ) 80375b4: fba2 1203 umull r1, r2, r2, r3 80375b8: 0952 lsrs r2, r2, #5 80375ba: 2164 movs r1, #100 ; 0x64 80375bc: fb01 f202 mul.w r2, r1, r2 80375c0: 1a9a subs r2, r3, r2 80375c2: 4b58 ldr r3, [pc, #352] ; (8037724 ) 80375c4: fba3 2302 umull r2, r3, r3, r2 80375c8: 08db lsrs r3, r3, #3 80375ca: b2db uxtb r3, r3 80375cc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80375d0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80375d4: 0953 lsrs r3, r2, #5 80375d6: 494e ldr r1, [pc, #312] ; (8037710 ) 80375d8: fba1 1303 umull r1, r3, r1, r3 80375dc: 09db lsrs r3, r3, #7 80375de: 494d ldr r1, [pc, #308] ; (8037714 ) 80375e0: fb01 f303 mul.w r3, r1, r3 80375e4: 1ad3 subs r3, r2, r3 80375e6: 4a4c ldr r2, [pc, #304] ; (8037718 ) 80375e8: fba2 1203 umull r1, r2, r2, r3 80375ec: 0b52 lsrs r2, r2, #13 80375ee: f242 7110 movw r1, #10000 ; 0x2710 80375f2: fb01 f202 mul.w r2, r1, r2 80375f6: 1a9a subs r2, r3, r2 80375f8: 4b48 ldr r3, [pc, #288] ; (803771c ) 80375fa: fba3 1302 umull r1, r3, r3, r2 80375fe: 099b lsrs r3, r3, #6 8037600: f44f 717a mov.w r1, #1000 ; 0x3e8 8037604: fb01 f303 mul.w r3, r1, r3 8037608: 1ad3 subs r3, r2, r3 803760a: 4a45 ldr r2, [pc, #276] ; (8037720 ) 803760c: fba2 1203 umull r1, r2, r2, r3 8037610: 0952 lsrs r2, r2, #5 8037612: 2164 movs r1, #100 ; 0x64 8037614: fb01 f202 mul.w r2, r1, r2 8037618: 1a9a subs r2, r3, r2 803761a: 4b42 ldr r3, [pc, #264] ; (8037724 ) 803761c: fba3 1302 umull r1, r3, r3, r2 8037620: 08d9 lsrs r1, r3, #3 8037622: 460b mov r3, r1 8037624: 009b lsls r3, r3, #2 8037626: 440b add r3, r1 8037628: 005b lsls r3, r3, #1 803762a: 1ad1 subs r1, r2, r3 803762c: b2cb uxtb r3, r1 803762e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8037632: 4b35 ldr r3, [pc, #212] ; (8037708 ) 8037634: 781b ldrb r3, [r3, #0] 8037636: b2db uxtb r3, r3 8037638: 3b26 subs r3, #38 ; 0x26 803763a: 2b05 cmp r3, #5 803763c: d836 bhi.n 80376ac 803763e: a201 add r2, pc, #4 ; (adr r2, 8037644 ) 8037640: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037644: 0803765d .word 0x0803765d 8037648: 0803766b .word 0x0803766b 803764c: 0803767b .word 0x0803767b 8037650: 08037689 .word 0x08037689 8037654: 08037695 .word 0x08037695 8037658: 080376a1 .word 0x080376a1 case RollMax_IDT: k += 100000; break; 803765c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037660: 4b2c ldr r3, [pc, #176] ; (8037714 ) 8037662: 4413 add r3, r2 8037664: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037668: e020 b.n 80376ac case RollMax_IET: k += 10000; break; 803766a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803766e: f242 7310 movw r3, #10000 ; 0x2710 8037672: 4413 add r3, r2 8037674: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037678: e018 b.n 80376ac case RollMax_IES: k += 1000; break; 803767a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803767e: f503 737a add.w r3, r3, #1000 ; 0x3e8 8037682: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037686: e011 b.n 80376ac case RollMax_IED: k += 100; break; 8037688: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803768c: 3364 adds r3, #100 ; 0x64 803768e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037692: e00b b.n 80376ac case RollMax_IEE: k += 10; break; 8037694: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037698: 330a adds r3, #10 803769a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803769e: e005 b.n 80376ac case RollMax_IKD: k++; break; 80376a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80376a4: 3301 adds r3, #1 80376a6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80376aa: bf00 nop if(k > 999999) k = 999999; 80376ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80376b0: 4a1d ldr r2, [pc, #116] ; (8037728 ) 80376b2: 4293 cmp r3, r2 80376b4: d902 bls.n 80376bc 80376b6: 4b1c ldr r3, [pc, #112] ; (8037728 ) 80376b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 80376bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80376c0: 2b00 cmp r3, #0 80376c2: d102 bne.n 80376ca 80376c4: 2301 movs r3, #1 80376c6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 80376ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80376ce: ee07 3a90 vmov s15, r3 80376d2: eef8 7a67 vcvt.f32.u32 s15, s15 80376d6: 4b0d ldr r3, [pc, #52] ; (803770c ) 80376d8: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 80376dc: 4b0b ldr r3, [pc, #44] ; (803770c ) 80376de: edd3 7a06 vldr s15, [r3, #24] 80376e2: ed9f 7a12 vldr s14, [pc, #72] ; 803772c 80376e6: ee67 7a87 vmul.f32 s15, s15, s14 80376ea: 4b08 ldr r3, [pc, #32] ; (803770c ) 80376ec: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80376f0: 4b06 ldr r3, [pc, #24] ; (803770c ) 80376f2: edd3 7a06 vldr s15, [r3, #24] 80376f6: ed9f 7a0e vldr s14, [pc, #56] ; 8037730 80376fa: ee77 7a87 vadd.f32 s15, s15, s14 80376fe: 4b03 ldr r3, [pc, #12] ; (803770c ) 8037700: edc3 7a06 vstr s15, [r3, #24] 8037704: f000 be0d b.w 8038322 8037708: 20020070 .word 0x20020070 803770c: 20023e60 .word 0x20023e60 8037710: 0a7c5ac5 .word 0x0a7c5ac5 8037714: 000186a0 .word 0x000186a0 8037718: d1b71759 .word 0xd1b71759 803771c: 10624dd3 .word 0x10624dd3 8037720: 51eb851f .word 0x51eb851f 8037724: cccccccd .word 0xcccccccd 8037728: 000f423f .word 0x000f423f 803772c: 3dcccccd .word 0x3dcccccd 8037730: 3d4ccccd .word 0x3d4ccccd if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 8037734: 4b9d ldr r3, [pc, #628] ; (80379ac ) 8037736: 781b ldrb r3, [r3, #0] 8037738: b2db uxtb r3, r3 803773a: 2b09 cmp r3, #9 803773c: f240 814e bls.w 80379dc 8037740: 4b9a ldr r3, [pc, #616] ; (80379ac ) 8037742: 781b ldrb r3, [r3, #0] 8037744: b2db uxtb r3, r3 8037746: 2b0f cmp r3, #15 8037748: f200 8148 bhi.w 80379dc k = (uint32_t) (pardata.D_ROLL * 1000.0f); 803774c: 4b98 ldr r3, [pc, #608] ; (80379b0 ) 803774e: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 8037752: ed9f 7a98 vldr s14, [pc, #608] ; 80379b4 8037756: ee67 7a87 vmul.f32 s15, s15, s14 803775a: eefc 7ae7 vcvt.u32.f32 s15, s15 803775e: ee17 3a90 vmov r3, s15 8037762: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8037766: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803776a: 095b lsrs r3, r3, #5 803776c: 4a92 ldr r2, [pc, #584] ; (80379b8 ) 803776e: fba2 2303 umull r2, r3, r2, r3 8037772: 09db lsrs r3, r3, #7 8037774: b2db uxtb r3, r3 8037776: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803777a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803777e: 0953 lsrs r3, r2, #5 8037780: 498d ldr r1, [pc, #564] ; (80379b8 ) 8037782: fba1 1303 umull r1, r3, r1, r3 8037786: 09db lsrs r3, r3, #7 8037788: 498c ldr r1, [pc, #560] ; (80379bc ) 803778a: fb01 f303 mul.w r3, r1, r3 803778e: 1ad3 subs r3, r2, r3 8037790: 4a8b ldr r2, [pc, #556] ; (80379c0 ) 8037792: fba2 2303 umull r2, r3, r2, r3 8037796: 0b5b lsrs r3, r3, #13 8037798: b2db uxtb r3, r3 803779a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803779e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80377a2: 0953 lsrs r3, r2, #5 80377a4: 4984 ldr r1, [pc, #528] ; (80379b8 ) 80377a6: fba1 1303 umull r1, r3, r1, r3 80377aa: 09db lsrs r3, r3, #7 80377ac: 4983 ldr r1, [pc, #524] ; (80379bc ) 80377ae: fb01 f303 mul.w r3, r1, r3 80377b2: 1ad3 subs r3, r2, r3 80377b4: 4a82 ldr r2, [pc, #520] ; (80379c0 ) 80377b6: fba2 1203 umull r1, r2, r2, r3 80377ba: 0b52 lsrs r2, r2, #13 80377bc: f242 7110 movw r1, #10000 ; 0x2710 80377c0: fb01 f202 mul.w r2, r1, r2 80377c4: 1a9a subs r2, r3, r2 80377c6: 4b7f ldr r3, [pc, #508] ; (80379c4 ) 80377c8: fba3 2302 umull r2, r3, r3, r2 80377cc: 099b lsrs r3, r3, #6 80377ce: b2db uxtb r3, r3 80377d0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80377d4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80377d8: 095a lsrs r2, r3, #5 80377da: 4977 ldr r1, [pc, #476] ; (80379b8 ) 80377dc: fba1 1202 umull r1, r2, r1, r2 80377e0: 09d2 lsrs r2, r2, #7 80377e2: 4976 ldr r1, [pc, #472] ; (80379bc ) 80377e4: fb01 f202 mul.w r2, r1, r2 80377e8: 1a9a subs r2, r3, r2 80377ea: 4b75 ldr r3, [pc, #468] ; (80379c0 ) 80377ec: fba3 1302 umull r1, r3, r3, r2 80377f0: 0b5b lsrs r3, r3, #13 80377f2: f242 7110 movw r1, #10000 ; 0x2710 80377f6: fb01 f303 mul.w r3, r1, r3 80377fa: 1ad3 subs r3, r2, r3 80377fc: 4a71 ldr r2, [pc, #452] ; (80379c4 ) 80377fe: fba2 1203 umull r1, r2, r2, r3 8037802: 0992 lsrs r2, r2, #6 8037804: f44f 717a mov.w r1, #1000 ; 0x3e8 8037808: fb01 f202 mul.w r2, r1, r2 803780c: 1a9a subs r2, r3, r2 803780e: 4b6e ldr r3, [pc, #440] ; (80379c8 ) 8037810: fba3 2302 umull r2, r3, r3, r2 8037814: 095b lsrs r3, r3, #5 8037816: b2db uxtb r3, r3 8037818: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803781c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037820: 0953 lsrs r3, r2, #5 8037822: 4965 ldr r1, [pc, #404] ; (80379b8 ) 8037824: fba1 1303 umull r1, r3, r1, r3 8037828: 09db lsrs r3, r3, #7 803782a: 4964 ldr r1, [pc, #400] ; (80379bc ) 803782c: fb01 f303 mul.w r3, r1, r3 8037830: 1ad3 subs r3, r2, r3 8037832: 4a63 ldr r2, [pc, #396] ; (80379c0 ) 8037834: fba2 1203 umull r1, r2, r2, r3 8037838: 0b52 lsrs r2, r2, #13 803783a: f242 7110 movw r1, #10000 ; 0x2710 803783e: fb01 f202 mul.w r2, r1, r2 8037842: 1a9a subs r2, r3, r2 8037844: 4b5f ldr r3, [pc, #380] ; (80379c4 ) 8037846: fba3 1302 umull r1, r3, r3, r2 803784a: 099b lsrs r3, r3, #6 803784c: f44f 717a mov.w r1, #1000 ; 0x3e8 8037850: fb01 f303 mul.w r3, r1, r3 8037854: 1ad3 subs r3, r2, r3 8037856: 4a5c ldr r2, [pc, #368] ; (80379c8 ) 8037858: fba2 1203 umull r1, r2, r2, r3 803785c: 0952 lsrs r2, r2, #5 803785e: 2164 movs r1, #100 ; 0x64 8037860: fb01 f202 mul.w r2, r1, r2 8037864: 1a9a subs r2, r3, r2 8037866: 4b59 ldr r3, [pc, #356] ; (80379cc ) 8037868: fba3 2302 umull r2, r3, r3, r2 803786c: 08db lsrs r3, r3, #3 803786e: b2db uxtb r3, r3 8037870: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8037874: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037878: 0953 lsrs r3, r2, #5 803787a: 494f ldr r1, [pc, #316] ; (80379b8 ) 803787c: fba1 1303 umull r1, r3, r1, r3 8037880: 09db lsrs r3, r3, #7 8037882: 494e ldr r1, [pc, #312] ; (80379bc ) 8037884: fb01 f303 mul.w r3, r1, r3 8037888: 1ad3 subs r3, r2, r3 803788a: 4a4d ldr r2, [pc, #308] ; (80379c0 ) 803788c: fba2 1203 umull r1, r2, r2, r3 8037890: 0b52 lsrs r2, r2, #13 8037892: f242 7110 movw r1, #10000 ; 0x2710 8037896: fb01 f202 mul.w r2, r1, r2 803789a: 1a9a subs r2, r3, r2 803789c: 4b49 ldr r3, [pc, #292] ; (80379c4 ) 803789e: fba3 1302 umull r1, r3, r3, r2 80378a2: 099b lsrs r3, r3, #6 80378a4: f44f 717a mov.w r1, #1000 ; 0x3e8 80378a8: fb01 f303 mul.w r3, r1, r3 80378ac: 1ad3 subs r3, r2, r3 80378ae: 4a46 ldr r2, [pc, #280] ; (80379c8 ) 80378b0: fba2 1203 umull r1, r2, r2, r3 80378b4: 0952 lsrs r2, r2, #5 80378b6: 2164 movs r1, #100 ; 0x64 80378b8: fb01 f202 mul.w r2, r1, r2 80378bc: 1a9a subs r2, r3, r2 80378be: 4b43 ldr r3, [pc, #268] ; (80379cc ) 80378c0: fba3 1302 umull r1, r3, r3, r2 80378c4: 08d9 lsrs r1, r3, #3 80378c6: 460b mov r3, r1 80378c8: 009b lsls r3, r3, #2 80378ca: 440b add r3, r1 80378cc: 005b lsls r3, r3, #1 80378ce: 1ad1 subs r1, r2, r3 80378d0: b2cb uxtb r3, r1 80378d2: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 80378d6: 4b35 ldr r3, [pc, #212] ; (80379ac ) 80378d8: 781b ldrb r3, [r3, #0] 80378da: b2db uxtb r3, r3 80378dc: 3b0a subs r3, #10 80378de: 2b05 cmp r3, #5 80378e0: d836 bhi.n 8037950 80378e2: a201 add r2, pc, #4 ; (adr r2, 80378e8 ) 80378e4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80378e8: 08037901 .word 0x08037901 80378ec: 0803790f .word 0x0803790f 80378f0: 0803791f .word 0x0803791f 80378f4: 0803792d .word 0x0803792d 80378f8: 08037939 .word 0x08037939 80378fc: 08037945 .word 0x08037945 case D_Roll_IES: k += 100000; break; 8037900: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037904: 4b2d ldr r3, [pc, #180] ; (80379bc ) 8037906: 4413 add r3, r2 8037908: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803790c: e020 b.n 8037950 case D_Roll_IED: k += 10000; break; 803790e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037912: f242 7310 movw r3, #10000 ; 0x2710 8037916: 4413 add r3, r2 8037918: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803791c: e018 b.n 8037950 case D_Roll_IEE: k += 1000; break; 803791e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037922: f503 737a add.w r3, r3, #1000 ; 0x3e8 8037926: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803792a: e011 b.n 8037950 case D_Roll_IKD: k += 100; break; 803792c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037930: 3364 adds r3, #100 ; 0x64 8037932: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037936: e00b b.n 8037950 case D_Roll_IKS: k += 10; break; 8037938: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803793c: 330a adds r3, #10 803793e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037942: e005 b.n 8037950 case D_Roll_IKT: k++; break; 8037944: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037948: 3301 adds r3, #1 803794a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 803794e: bf00 nop if(k > 999999) k = 999999; 8037950: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037954: 4a1e ldr r2, [pc, #120] ; (80379d0 ) 8037956: 4293 cmp r3, r2 8037958: d902 bls.n 8037960 803795a: 4b1d ldr r3, [pc, #116] ; (80379d0 ) 803795c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8037960: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037964: 2b00 cmp r3, #0 8037966: d102 bne.n 803796e 8037968: 2301 movs r3, #1 803796a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ROLL = (float32_t) k; 803796e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037972: ee07 3a90 vmov s15, r3 8037976: eef8 7a67 vcvt.f32.u32 s15, s15 803797a: 4b0d ldr r3, [pc, #52] ; (80379b0 ) 803797c: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL *= 0.001f; 8037980: 4b0b ldr r3, [pc, #44] ; (80379b0 ) 8037982: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 8037986: ed9f 7a13 vldr s14, [pc, #76] ; 80379d4 803798a: ee67 7a87 vmul.f32 s15, s15, s14 803798e: 4b08 ldr r3, [pc, #32] ; (80379b0 ) 8037990: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL += 0.0005f; 8037994: 4b06 ldr r3, [pc, #24] ; (80379b0 ) 8037996: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803799a: ed9f 7a0f vldr s14, [pc, #60] ; 80379d8 803799e: ee77 7a87 vadd.f32 s15, s15, s14 80379a2: 4b03 ldr r3, [pc, #12] ; (80379b0 ) 80379a4: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 80379a8: f000 bcbb b.w 8038322 80379ac: 20020070 .word 0x20020070 80379b0: 20023e60 .word 0x20023e60 80379b4: 447a0000 .word 0x447a0000 80379b8: 0a7c5ac5 .word 0x0a7c5ac5 80379bc: 000186a0 .word 0x000186a0 80379c0: d1b71759 .word 0xd1b71759 80379c4: 10624dd3 .word 0x10624dd3 80379c8: 51eb851f .word 0x51eb851f 80379cc: cccccccd .word 0xcccccccd 80379d0: 000f423f .word 0x000f423f 80379d4: 3a83126f .word 0x3a83126f 80379d8: 3a03126f .word 0x3a03126f if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 80379dc: 4b9d ldr r3, [pc, #628] ; (8037c54 ) 80379de: 781b ldrb r3, [r3, #0] 80379e0: b2db uxtb r3, r3 80379e2: 2b0f cmp r3, #15 80379e4: f240 814e bls.w 8037c84 80379e8: 4b9a ldr r3, [pc, #616] ; (8037c54 ) 80379ea: 781b ldrb r3, [r3, #0] 80379ec: b2db uxtb r3, r3 80379ee: 2b15 cmp r3, #21 80379f0: f200 8148 bhi.w 8037c84 k = (uint32_t) (pardata.D_OUTER * 1000.0f); 80379f4: 4b98 ldr r3, [pc, #608] ; (8037c58 ) 80379f6: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 80379fa: ed9f 7a98 vldr s14, [pc, #608] ; 8037c5c 80379fe: ee67 7a87 vmul.f32 s15, s15, s14 8037a02: eefc 7ae7 vcvt.u32.f32 s15, s15 8037a06: ee17 3a90 vmov r3, s15 8037a0a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8037a0e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037a12: 095b lsrs r3, r3, #5 8037a14: 4a92 ldr r2, [pc, #584] ; (8037c60 ) 8037a16: fba2 2303 umull r2, r3, r2, r3 8037a1a: 09db lsrs r3, r3, #7 8037a1c: b2db uxtb r3, r3 8037a1e: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8037a22: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037a26: 0953 lsrs r3, r2, #5 8037a28: 498d ldr r1, [pc, #564] ; (8037c60 ) 8037a2a: fba1 1303 umull r1, r3, r1, r3 8037a2e: 09db lsrs r3, r3, #7 8037a30: 498c ldr r1, [pc, #560] ; (8037c64 ) 8037a32: fb01 f303 mul.w r3, r1, r3 8037a36: 1ad3 subs r3, r2, r3 8037a38: 4a8b ldr r2, [pc, #556] ; (8037c68 ) 8037a3a: fba2 2303 umull r2, r3, r2, r3 8037a3e: 0b5b lsrs r3, r3, #13 8037a40: b2db uxtb r3, r3 8037a42: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8037a46: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037a4a: 0953 lsrs r3, r2, #5 8037a4c: 4984 ldr r1, [pc, #528] ; (8037c60 ) 8037a4e: fba1 1303 umull r1, r3, r1, r3 8037a52: 09db lsrs r3, r3, #7 8037a54: 4983 ldr r1, [pc, #524] ; (8037c64 ) 8037a56: fb01 f303 mul.w r3, r1, r3 8037a5a: 1ad3 subs r3, r2, r3 8037a5c: 4a82 ldr r2, [pc, #520] ; (8037c68 ) 8037a5e: fba2 1203 umull r1, r2, r2, r3 8037a62: 0b52 lsrs r2, r2, #13 8037a64: f242 7110 movw r1, #10000 ; 0x2710 8037a68: fb01 f202 mul.w r2, r1, r2 8037a6c: 1a9a subs r2, r3, r2 8037a6e: 4b7f ldr r3, [pc, #508] ; (8037c6c ) 8037a70: fba3 2302 umull r2, r3, r3, r2 8037a74: 099b lsrs r3, r3, #6 8037a76: b2db uxtb r3, r3 8037a78: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8037a7c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037a80: 095a lsrs r2, r3, #5 8037a82: 4977 ldr r1, [pc, #476] ; (8037c60 ) 8037a84: fba1 1202 umull r1, r2, r1, r2 8037a88: 09d2 lsrs r2, r2, #7 8037a8a: 4976 ldr r1, [pc, #472] ; (8037c64 ) 8037a8c: fb01 f202 mul.w r2, r1, r2 8037a90: 1a9a subs r2, r3, r2 8037a92: 4b75 ldr r3, [pc, #468] ; (8037c68 ) 8037a94: fba3 1302 umull r1, r3, r3, r2 8037a98: 0b5b lsrs r3, r3, #13 8037a9a: f242 7110 movw r1, #10000 ; 0x2710 8037a9e: fb01 f303 mul.w r3, r1, r3 8037aa2: 1ad3 subs r3, r2, r3 8037aa4: 4a71 ldr r2, [pc, #452] ; (8037c6c ) 8037aa6: fba2 1203 umull r1, r2, r2, r3 8037aaa: 0992 lsrs r2, r2, #6 8037aac: f44f 717a mov.w r1, #1000 ; 0x3e8 8037ab0: fb01 f202 mul.w r2, r1, r2 8037ab4: 1a9a subs r2, r3, r2 8037ab6: 4b6e ldr r3, [pc, #440] ; (8037c70 ) 8037ab8: fba3 2302 umull r2, r3, r3, r2 8037abc: 095b lsrs r3, r3, #5 8037abe: b2db uxtb r3, r3 8037ac0: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8037ac4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037ac8: 0953 lsrs r3, r2, #5 8037aca: 4965 ldr r1, [pc, #404] ; (8037c60 ) 8037acc: fba1 1303 umull r1, r3, r1, r3 8037ad0: 09db lsrs r3, r3, #7 8037ad2: 4964 ldr r1, [pc, #400] ; (8037c64 ) 8037ad4: fb01 f303 mul.w r3, r1, r3 8037ad8: 1ad3 subs r3, r2, r3 8037ada: 4a63 ldr r2, [pc, #396] ; (8037c68 ) 8037adc: fba2 1203 umull r1, r2, r2, r3 8037ae0: 0b52 lsrs r2, r2, #13 8037ae2: f242 7110 movw r1, #10000 ; 0x2710 8037ae6: fb01 f202 mul.w r2, r1, r2 8037aea: 1a9a subs r2, r3, r2 8037aec: 4b5f ldr r3, [pc, #380] ; (8037c6c ) 8037aee: fba3 1302 umull r1, r3, r3, r2 8037af2: 099b lsrs r3, r3, #6 8037af4: f44f 717a mov.w r1, #1000 ; 0x3e8 8037af8: fb01 f303 mul.w r3, r1, r3 8037afc: 1ad3 subs r3, r2, r3 8037afe: 4a5c ldr r2, [pc, #368] ; (8037c70 ) 8037b00: fba2 1203 umull r1, r2, r2, r3 8037b04: 0952 lsrs r2, r2, #5 8037b06: 2164 movs r1, #100 ; 0x64 8037b08: fb01 f202 mul.w r2, r1, r2 8037b0c: 1a9a subs r2, r3, r2 8037b0e: 4b59 ldr r3, [pc, #356] ; (8037c74 ) 8037b10: fba3 2302 umull r2, r3, r3, r2 8037b14: 08db lsrs r3, r3, #3 8037b16: b2db uxtb r3, r3 8037b18: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8037b1c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037b20: 0953 lsrs r3, r2, #5 8037b22: 494f ldr r1, [pc, #316] ; (8037c60 ) 8037b24: fba1 1303 umull r1, r3, r1, r3 8037b28: 09db lsrs r3, r3, #7 8037b2a: 494e ldr r1, [pc, #312] ; (8037c64 ) 8037b2c: fb01 f303 mul.w r3, r1, r3 8037b30: 1ad3 subs r3, r2, r3 8037b32: 4a4d ldr r2, [pc, #308] ; (8037c68 ) 8037b34: fba2 1203 umull r1, r2, r2, r3 8037b38: 0b52 lsrs r2, r2, #13 8037b3a: f242 7110 movw r1, #10000 ; 0x2710 8037b3e: fb01 f202 mul.w r2, r1, r2 8037b42: 1a9a subs r2, r3, r2 8037b44: 4b49 ldr r3, [pc, #292] ; (8037c6c ) 8037b46: fba3 1302 umull r1, r3, r3, r2 8037b4a: 099b lsrs r3, r3, #6 8037b4c: f44f 717a mov.w r1, #1000 ; 0x3e8 8037b50: fb01 f303 mul.w r3, r1, r3 8037b54: 1ad3 subs r3, r2, r3 8037b56: 4a46 ldr r2, [pc, #280] ; (8037c70 ) 8037b58: fba2 1203 umull r1, r2, r2, r3 8037b5c: 0952 lsrs r2, r2, #5 8037b5e: 2164 movs r1, #100 ; 0x64 8037b60: fb01 f202 mul.w r2, r1, r2 8037b64: 1a9a subs r2, r3, r2 8037b66: 4b43 ldr r3, [pc, #268] ; (8037c74 ) 8037b68: fba3 1302 umull r1, r3, r3, r2 8037b6c: 08d9 lsrs r1, r3, #3 8037b6e: 460b mov r3, r1 8037b70: 009b lsls r3, r3, #2 8037b72: 440b add r3, r1 8037b74: 005b lsls r3, r3, #1 8037b76: 1ad1 subs r1, r2, r3 8037b78: b2cb uxtb r3, r1 8037b7a: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 8037b7e: 4b35 ldr r3, [pc, #212] ; (8037c54 ) 8037b80: 781b ldrb r3, [r3, #0] 8037b82: b2db uxtb r3, r3 8037b84: 3b10 subs r3, #16 8037b86: 2b05 cmp r3, #5 8037b88: d836 bhi.n 8037bf8 8037b8a: a201 add r2, pc, #4 ; (adr r2, 8037b90 ) 8037b8c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037b90: 08037ba9 .word 0x08037ba9 8037b94: 08037bb7 .word 0x08037bb7 8037b98: 08037bc7 .word 0x08037bc7 8037b9c: 08037bd5 .word 0x08037bd5 8037ba0: 08037be1 .word 0x08037be1 8037ba4: 08037bed .word 0x08037bed case D_Outer_IES: k += 100000; break; 8037ba8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037bac: 4b2d ldr r3, [pc, #180] ; (8037c64 ) 8037bae: 4413 add r3, r2 8037bb0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037bb4: e020 b.n 8037bf8 case D_Outer_IED: k += 10000; break; 8037bb6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037bba: f242 7310 movw r3, #10000 ; 0x2710 8037bbe: 4413 add r3, r2 8037bc0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037bc4: e018 b.n 8037bf8 case D_Outer_IEE: k += 1000; break; 8037bc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037bca: f503 737a add.w r3, r3, #1000 ; 0x3e8 8037bce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037bd2: e011 b.n 8037bf8 case D_Outer_IKD: k += 100; break; 8037bd4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037bd8: 3364 adds r3, #100 ; 0x64 8037bda: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037bde: e00b b.n 8037bf8 case D_Outer_IKS: k += 10; break; 8037be0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037be4: 330a adds r3, #10 8037be6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037bea: e005 b.n 8037bf8 case D_Outer_IKT: k++; break; 8037bec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037bf0: 3301 adds r3, #1 8037bf2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037bf6: bf00 nop if(k > 999999) k = 999999; 8037bf8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037bfc: 4a1e ldr r2, [pc, #120] ; (8037c78 ) 8037bfe: 4293 cmp r3, r2 8037c00: d902 bls.n 8037c08 8037c02: 4b1d ldr r3, [pc, #116] ; (8037c78 ) 8037c04: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8037c08: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037c0c: 2b00 cmp r3, #0 8037c0e: d102 bne.n 8037c16 8037c10: 2301 movs r3, #1 8037c12: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_OUTER = (float32_t) k; 8037c16: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037c1a: ee07 3a90 vmov s15, r3 8037c1e: eef8 7a67 vcvt.f32.u32 s15, s15 8037c22: 4b0d ldr r3, [pc, #52] ; (8037c58 ) 8037c24: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER *= 0.001f; 8037c28: 4b0b ldr r3, [pc, #44] ; (8037c58 ) 8037c2a: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 8037c2e: ed9f 7a13 vldr s14, [pc, #76] ; 8037c7c 8037c32: ee67 7a87 vmul.f32 s15, s15, s14 8037c36: 4b08 ldr r3, [pc, #32] ; (8037c58 ) 8037c38: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER += 0.0005f; 8037c3c: 4b06 ldr r3, [pc, #24] ; (8037c58 ) 8037c3e: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 8037c42: ed9f 7a0f vldr s14, [pc, #60] ; 8037c80 8037c46: ee77 7a87 vadd.f32 s15, s15, s14 8037c4a: 4b03 ldr r3, [pc, #12] ; (8037c58 ) 8037c4c: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 8037c50: e367 b.n 8038322 8037c52: bf00 nop 8037c54: 20020070 .word 0x20020070 8037c58: 20023e60 .word 0x20023e60 8037c5c: 447a0000 .word 0x447a0000 8037c60: 0a7c5ac5 .word 0x0a7c5ac5 8037c64: 000186a0 .word 0x000186a0 8037c68: d1b71759 .word 0xd1b71759 8037c6c: 10624dd3 .word 0x10624dd3 8037c70: 51eb851f .word 0x51eb851f 8037c74: cccccccd .word 0xcccccccd 8037c78: 000f423f .word 0x000f423f 8037c7c: 3a83126f .word 0x3a83126f 8037c80: 3a03126f .word 0x3a03126f if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 8037c84: 4b9d ldr r3, [pc, #628] ; (8037efc ) 8037c86: 781b ldrb r3, [r3, #0] 8037c88: b2db uxtb r3, r3 8037c8a: 2b15 cmp r3, #21 8037c8c: f240 814e bls.w 8037f2c 8037c90: 4b9a ldr r3, [pc, #616] ; (8037efc ) 8037c92: 781b ldrb r3, [r3, #0] 8037c94: b2db uxtb r3, r3 8037c96: 2b1b cmp r3, #27 8037c98: f200 8148 bhi.w 8037f2c k = (uint32_t) (pardata.D_INNER * 1000.0f); 8037c9c: 4b98 ldr r3, [pc, #608] ; (8037f00 ) 8037c9e: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8037ca2: ed9f 7a98 vldr s14, [pc, #608] ; 8037f04 8037ca6: ee67 7a87 vmul.f32 s15, s15, s14 8037caa: eefc 7ae7 vcvt.u32.f32 s15, s15 8037cae: ee17 3a90 vmov r3, s15 8037cb2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8037cb6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037cba: 095b lsrs r3, r3, #5 8037cbc: 4a92 ldr r2, [pc, #584] ; (8037f08 ) 8037cbe: fba2 2303 umull r2, r3, r2, r3 8037cc2: 09db lsrs r3, r3, #7 8037cc4: b2db uxtb r3, r3 8037cc6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8037cca: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037cce: 0953 lsrs r3, r2, #5 8037cd0: 498d ldr r1, [pc, #564] ; (8037f08 ) 8037cd2: fba1 1303 umull r1, r3, r1, r3 8037cd6: 09db lsrs r3, r3, #7 8037cd8: 498c ldr r1, [pc, #560] ; (8037f0c ) 8037cda: fb01 f303 mul.w r3, r1, r3 8037cde: 1ad3 subs r3, r2, r3 8037ce0: 4a8b ldr r2, [pc, #556] ; (8037f10 ) 8037ce2: fba2 2303 umull r2, r3, r2, r3 8037ce6: 0b5b lsrs r3, r3, #13 8037ce8: b2db uxtb r3, r3 8037cea: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8037cee: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037cf2: 0953 lsrs r3, r2, #5 8037cf4: 4984 ldr r1, [pc, #528] ; (8037f08 ) 8037cf6: fba1 1303 umull r1, r3, r1, r3 8037cfa: 09db lsrs r3, r3, #7 8037cfc: 4983 ldr r1, [pc, #524] ; (8037f0c ) 8037cfe: fb01 f303 mul.w r3, r1, r3 8037d02: 1ad3 subs r3, r2, r3 8037d04: 4a82 ldr r2, [pc, #520] ; (8037f10 ) 8037d06: fba2 1203 umull r1, r2, r2, r3 8037d0a: 0b52 lsrs r2, r2, #13 8037d0c: f242 7110 movw r1, #10000 ; 0x2710 8037d10: fb01 f202 mul.w r2, r1, r2 8037d14: 1a9a subs r2, r3, r2 8037d16: 4b7f ldr r3, [pc, #508] ; (8037f14 ) 8037d18: fba3 2302 umull r2, r3, r3, r2 8037d1c: 099b lsrs r3, r3, #6 8037d1e: b2db uxtb r3, r3 8037d20: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8037d24: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037d28: 095a lsrs r2, r3, #5 8037d2a: 4977 ldr r1, [pc, #476] ; (8037f08 ) 8037d2c: fba1 1202 umull r1, r2, r1, r2 8037d30: 09d2 lsrs r2, r2, #7 8037d32: 4976 ldr r1, [pc, #472] ; (8037f0c ) 8037d34: fb01 f202 mul.w r2, r1, r2 8037d38: 1a9a subs r2, r3, r2 8037d3a: 4b75 ldr r3, [pc, #468] ; (8037f10 ) 8037d3c: fba3 1302 umull r1, r3, r3, r2 8037d40: 0b5b lsrs r3, r3, #13 8037d42: f242 7110 movw r1, #10000 ; 0x2710 8037d46: fb01 f303 mul.w r3, r1, r3 8037d4a: 1ad3 subs r3, r2, r3 8037d4c: 4a71 ldr r2, [pc, #452] ; (8037f14 ) 8037d4e: fba2 1203 umull r1, r2, r2, r3 8037d52: 0992 lsrs r2, r2, #6 8037d54: f44f 717a mov.w r1, #1000 ; 0x3e8 8037d58: fb01 f202 mul.w r2, r1, r2 8037d5c: 1a9a subs r2, r3, r2 8037d5e: 4b6e ldr r3, [pc, #440] ; (8037f18 ) 8037d60: fba3 2302 umull r2, r3, r3, r2 8037d64: 095b lsrs r3, r3, #5 8037d66: b2db uxtb r3, r3 8037d68: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8037d6c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037d70: 0953 lsrs r3, r2, #5 8037d72: 4965 ldr r1, [pc, #404] ; (8037f08 ) 8037d74: fba1 1303 umull r1, r3, r1, r3 8037d78: 09db lsrs r3, r3, #7 8037d7a: 4964 ldr r1, [pc, #400] ; (8037f0c ) 8037d7c: fb01 f303 mul.w r3, r1, r3 8037d80: 1ad3 subs r3, r2, r3 8037d82: 4a63 ldr r2, [pc, #396] ; (8037f10 ) 8037d84: fba2 1203 umull r1, r2, r2, r3 8037d88: 0b52 lsrs r2, r2, #13 8037d8a: f242 7110 movw r1, #10000 ; 0x2710 8037d8e: fb01 f202 mul.w r2, r1, r2 8037d92: 1a9a subs r2, r3, r2 8037d94: 4b5f ldr r3, [pc, #380] ; (8037f14 ) 8037d96: fba3 1302 umull r1, r3, r3, r2 8037d9a: 099b lsrs r3, r3, #6 8037d9c: f44f 717a mov.w r1, #1000 ; 0x3e8 8037da0: fb01 f303 mul.w r3, r1, r3 8037da4: 1ad3 subs r3, r2, r3 8037da6: 4a5c ldr r2, [pc, #368] ; (8037f18 ) 8037da8: fba2 1203 umull r1, r2, r2, r3 8037dac: 0952 lsrs r2, r2, #5 8037dae: 2164 movs r1, #100 ; 0x64 8037db0: fb01 f202 mul.w r2, r1, r2 8037db4: 1a9a subs r2, r3, r2 8037db6: 4b59 ldr r3, [pc, #356] ; (8037f1c ) 8037db8: fba3 2302 umull r2, r3, r3, r2 8037dbc: 08db lsrs r3, r3, #3 8037dbe: b2db uxtb r3, r3 8037dc0: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8037dc4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037dc8: 0953 lsrs r3, r2, #5 8037dca: 494f ldr r1, [pc, #316] ; (8037f08 ) 8037dcc: fba1 1303 umull r1, r3, r1, r3 8037dd0: 09db lsrs r3, r3, #7 8037dd2: 494e ldr r1, [pc, #312] ; (8037f0c ) 8037dd4: fb01 f303 mul.w r3, r1, r3 8037dd8: 1ad3 subs r3, r2, r3 8037dda: 4a4d ldr r2, [pc, #308] ; (8037f10 ) 8037ddc: fba2 1203 umull r1, r2, r2, r3 8037de0: 0b52 lsrs r2, r2, #13 8037de2: f242 7110 movw r1, #10000 ; 0x2710 8037de6: fb01 f202 mul.w r2, r1, r2 8037dea: 1a9a subs r2, r3, r2 8037dec: 4b49 ldr r3, [pc, #292] ; (8037f14 ) 8037dee: fba3 1302 umull r1, r3, r3, r2 8037df2: 099b lsrs r3, r3, #6 8037df4: f44f 717a mov.w r1, #1000 ; 0x3e8 8037df8: fb01 f303 mul.w r3, r1, r3 8037dfc: 1ad3 subs r3, r2, r3 8037dfe: 4a46 ldr r2, [pc, #280] ; (8037f18 ) 8037e00: fba2 1203 umull r1, r2, r2, r3 8037e04: 0952 lsrs r2, r2, #5 8037e06: 2164 movs r1, #100 ; 0x64 8037e08: fb01 f202 mul.w r2, r1, r2 8037e0c: 1a9a subs r2, r3, r2 8037e0e: 4b43 ldr r3, [pc, #268] ; (8037f1c ) 8037e10: fba3 1302 umull r1, r3, r3, r2 8037e14: 08d9 lsrs r1, r3, #3 8037e16: 460b mov r3, r1 8037e18: 009b lsls r3, r3, #2 8037e1a: 440b add r3, r1 8037e1c: 005b lsls r3, r3, #1 8037e1e: 1ad1 subs r1, r2, r3 8037e20: b2cb uxtb r3, r1 8037e22: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 8037e26: 4b35 ldr r3, [pc, #212] ; (8037efc ) 8037e28: 781b ldrb r3, [r3, #0] 8037e2a: b2db uxtb r3, r3 8037e2c: 3b16 subs r3, #22 8037e2e: 2b05 cmp r3, #5 8037e30: d836 bhi.n 8037ea0 8037e32: a201 add r2, pc, #4 ; (adr r2, 8037e38 ) 8037e34: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8037e38: 08037e51 .word 0x08037e51 8037e3c: 08037e5f .word 0x08037e5f 8037e40: 08037e6f .word 0x08037e6f 8037e44: 08037e7d .word 0x08037e7d 8037e48: 08037e89 .word 0x08037e89 8037e4c: 08037e95 .word 0x08037e95 case D_Inner_IES: k += 100000; break; 8037e50: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037e54: 4b2d ldr r3, [pc, #180] ; (8037f0c ) 8037e56: 4413 add r3, r2 8037e58: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037e5c: e020 b.n 8037ea0 case D_Inner_IED: k += 10000; break; 8037e5e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037e62: f242 7310 movw r3, #10000 ; 0x2710 8037e66: 4413 add r3, r2 8037e68: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037e6c: e018 b.n 8037ea0 case D_Inner_IEE: k += 1000; break; 8037e6e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037e72: f503 737a add.w r3, r3, #1000 ; 0x3e8 8037e76: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037e7a: e011 b.n 8037ea0 case D_Inner_IKD: k += 100; break; 8037e7c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037e80: 3364 adds r3, #100 ; 0x64 8037e82: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037e86: e00b b.n 8037ea0 case D_Inner_IKS: k += 10; break; 8037e88: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037e8c: 330a adds r3, #10 8037e8e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037e92: e005 b.n 8037ea0 case D_Inner_IKT: k++; break; 8037e94: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037e98: 3301 adds r3, #1 8037e9a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 8037e9e: bf00 nop if(k > 999999) k = 999999; 8037ea0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037ea4: 4a1e ldr r2, [pc, #120] ; (8037f20 ) 8037ea6: 4293 cmp r3, r2 8037ea8: d902 bls.n 8037eb0 8037eaa: 4b1d ldr r3, [pc, #116] ; (8037f20 ) 8037eac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8037eb0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037eb4: 2b00 cmp r3, #0 8037eb6: d102 bne.n 8037ebe 8037eb8: 2301 movs r3, #1 8037eba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 8037ebe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037ec2: ee07 3a90 vmov s15, r3 8037ec6: eef8 7a67 vcvt.f32.u32 s15, s15 8037eca: 4b0d ldr r3, [pc, #52] ; (8037f00 ) 8037ecc: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 8037ed0: 4b0b ldr r3, [pc, #44] ; (8037f00 ) 8037ed2: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8037ed6: ed9f 7a13 vldr s14, [pc, #76] ; 8037f24 8037eda: ee67 7a87 vmul.f32 s15, s15, s14 8037ede: 4b08 ldr r3, [pc, #32] ; (8037f00 ) 8037ee0: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 8037ee4: 4b06 ldr r3, [pc, #24] ; (8037f00 ) 8037ee6: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 8037eea: ed9f 7a0f vldr s14, [pc, #60] ; 8037f28 8037eee: ee77 7a87 vadd.f32 s15, s15, s14 8037ef2: 4b03 ldr r3, [pc, #12] ; (8037f00 ) 8037ef4: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 8037ef8: e213 b.n 8038322 8037efa: bf00 nop 8037efc: 20020070 .word 0x20020070 8037f00: 20023e60 .word 0x20023e60 8037f04: 447a0000 .word 0x447a0000 8037f08: 0a7c5ac5 .word 0x0a7c5ac5 8037f0c: 000186a0 .word 0x000186a0 8037f10: d1b71759 .word 0xd1b71759 8037f14: 10624dd3 .word 0x10624dd3 8037f18: 51eb851f .word 0x51eb851f 8037f1c: cccccccd .word 0xcccccccd 8037f20: 000f423f .word 0x000f423f 8037f24: 3a83126f .word 0x3a83126f 8037f28: 3a03126f .word 0x3a03126f if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 8037f2c: 4b9d ldr r3, [pc, #628] ; (80381a4 ) 8037f2e: 781b ldrb r3, [r3, #0] 8037f30: b2db uxtb r3, r3 8037f32: 2b1b cmp r3, #27 8037f34: f240 814e bls.w 80381d4 8037f38: 4b9a ldr r3, [pc, #616] ; (80381a4 ) 8037f3a: 781b ldrb r3, [r3, #0] 8037f3c: b2db uxtb r3, r3 8037f3e: 2b21 cmp r3, #33 ; 0x21 8037f40: f200 8148 bhi.w 80381d4 k = (uint32_t) (pardata.D_ANGLE * 1000.0f); 8037f44: 4b98 ldr r3, [pc, #608] ; (80381a8 ) 8037f46: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 8037f4a: ed9f 7a98 vldr s14, [pc, #608] ; 80381ac 8037f4e: ee67 7a87 vmul.f32 s15, s15, s14 8037f52: eefc 7ae7 vcvt.u32.f32 s15, s15 8037f56: ee17 3a90 vmov r3, s15 8037f5a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8037f5e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037f62: 095b lsrs r3, r3, #5 8037f64: 4a92 ldr r2, [pc, #584] ; (80381b0 ) 8037f66: fba2 2303 umull r2, r3, r2, r3 8037f6a: 09db lsrs r3, r3, #7 8037f6c: b2db uxtb r3, r3 8037f6e: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8037f72: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037f76: 0953 lsrs r3, r2, #5 8037f78: 498d ldr r1, [pc, #564] ; (80381b0 ) 8037f7a: fba1 1303 umull r1, r3, r1, r3 8037f7e: 09db lsrs r3, r3, #7 8037f80: 498c ldr r1, [pc, #560] ; (80381b4 ) 8037f82: fb01 f303 mul.w r3, r1, r3 8037f86: 1ad3 subs r3, r2, r3 8037f88: 4a8b ldr r2, [pc, #556] ; (80381b8 ) 8037f8a: fba2 2303 umull r2, r3, r2, r3 8037f8e: 0b5b lsrs r3, r3, #13 8037f90: b2db uxtb r3, r3 8037f92: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 8037f96: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8037f9a: 0953 lsrs r3, r2, #5 8037f9c: 4984 ldr r1, [pc, #528] ; (80381b0 ) 8037f9e: fba1 1303 umull r1, r3, r1, r3 8037fa2: 09db lsrs r3, r3, #7 8037fa4: 4983 ldr r1, [pc, #524] ; (80381b4 ) 8037fa6: fb01 f303 mul.w r3, r1, r3 8037faa: 1ad3 subs r3, r2, r3 8037fac: 4a82 ldr r2, [pc, #520] ; (80381b8 ) 8037fae: fba2 1203 umull r1, r2, r2, r3 8037fb2: 0b52 lsrs r2, r2, #13 8037fb4: f242 7110 movw r1, #10000 ; 0x2710 8037fb8: fb01 f202 mul.w r2, r1, r2 8037fbc: 1a9a subs r2, r3, r2 8037fbe: 4b7f ldr r3, [pc, #508] ; (80381bc ) 8037fc0: fba3 2302 umull r2, r3, r3, r2 8037fc4: 099b lsrs r3, r3, #6 8037fc6: b2db uxtb r3, r3 8037fc8: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8037fcc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8037fd0: 095a lsrs r2, r3, #5 8037fd2: 4977 ldr r1, [pc, #476] ; (80381b0 ) 8037fd4: fba1 1202 umull r1, r2, r1, r2 8037fd8: 09d2 lsrs r2, r2, #7 8037fda: 4976 ldr r1, [pc, #472] ; (80381b4 ) 8037fdc: fb01 f202 mul.w r2, r1, r2 8037fe0: 1a9a subs r2, r3, r2 8037fe2: 4b75 ldr r3, [pc, #468] ; (80381b8 ) 8037fe4: fba3 1302 umull r1, r3, r3, r2 8037fe8: 0b5b lsrs r3, r3, #13 8037fea: f242 7110 movw r1, #10000 ; 0x2710 8037fee: fb01 f303 mul.w r3, r1, r3 8037ff2: 1ad3 subs r3, r2, r3 8037ff4: 4a71 ldr r2, [pc, #452] ; (80381bc ) 8037ff6: fba2 1203 umull r1, r2, r2, r3 8037ffa: 0992 lsrs r2, r2, #6 8037ffc: f44f 717a mov.w r1, #1000 ; 0x3e8 8038000: fb01 f202 mul.w r2, r1, r2 8038004: 1a9a subs r2, r3, r2 8038006: 4b6e ldr r3, [pc, #440] ; (80381c0 ) 8038008: fba3 2302 umull r2, r3, r3, r2 803800c: 095b lsrs r3, r3, #5 803800e: b2db uxtb r3, r3 8038010: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038014: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038018: 0953 lsrs r3, r2, #5 803801a: 4965 ldr r1, [pc, #404] ; (80381b0 ) 803801c: fba1 1303 umull r1, r3, r1, r3 8038020: 09db lsrs r3, r3, #7 8038022: 4964 ldr r1, [pc, #400] ; (80381b4 ) 8038024: fb01 f303 mul.w r3, r1, r3 8038028: 1ad3 subs r3, r2, r3 803802a: 4a63 ldr r2, [pc, #396] ; (80381b8 ) 803802c: fba2 1203 umull r1, r2, r2, r3 8038030: 0b52 lsrs r2, r2, #13 8038032: f242 7110 movw r1, #10000 ; 0x2710 8038036: fb01 f202 mul.w r2, r1, r2 803803a: 1a9a subs r2, r3, r2 803803c: 4b5f ldr r3, [pc, #380] ; (80381bc ) 803803e: fba3 1302 umull r1, r3, r3, r2 8038042: 099b lsrs r3, r3, #6 8038044: f44f 717a mov.w r1, #1000 ; 0x3e8 8038048: fb01 f303 mul.w r3, r1, r3 803804c: 1ad3 subs r3, r2, r3 803804e: 4a5c ldr r2, [pc, #368] ; (80381c0 ) 8038050: fba2 1203 umull r1, r2, r2, r3 8038054: 0952 lsrs r2, r2, #5 8038056: 2164 movs r1, #100 ; 0x64 8038058: fb01 f202 mul.w r2, r1, r2 803805c: 1a9a subs r2, r3, r2 803805e: 4b59 ldr r3, [pc, #356] ; (80381c4 ) 8038060: fba3 2302 umull r2, r3, r3, r2 8038064: 08db lsrs r3, r3, #3 8038066: b2db uxtb r3, r3 8038068: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803806c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038070: 0953 lsrs r3, r2, #5 8038072: 494f ldr r1, [pc, #316] ; (80381b0 ) 8038074: fba1 1303 umull r1, r3, r1, r3 8038078: 09db lsrs r3, r3, #7 803807a: 494e ldr r1, [pc, #312] ; (80381b4 ) 803807c: fb01 f303 mul.w r3, r1, r3 8038080: 1ad3 subs r3, r2, r3 8038082: 4a4d ldr r2, [pc, #308] ; (80381b8 ) 8038084: fba2 1203 umull r1, r2, r2, r3 8038088: 0b52 lsrs r2, r2, #13 803808a: f242 7110 movw r1, #10000 ; 0x2710 803808e: fb01 f202 mul.w r2, r1, r2 8038092: 1a9a subs r2, r3, r2 8038094: 4b49 ldr r3, [pc, #292] ; (80381bc ) 8038096: fba3 1302 umull r1, r3, r3, r2 803809a: 099b lsrs r3, r3, #6 803809c: f44f 717a mov.w r1, #1000 ; 0x3e8 80380a0: fb01 f303 mul.w r3, r1, r3 80380a4: 1ad3 subs r3, r2, r3 80380a6: 4a46 ldr r2, [pc, #280] ; (80381c0 ) 80380a8: fba2 1203 umull r1, r2, r2, r3 80380ac: 0952 lsrs r2, r2, #5 80380ae: 2164 movs r1, #100 ; 0x64 80380b0: fb01 f202 mul.w r2, r1, r2 80380b4: 1a9a subs r2, r3, r2 80380b6: 4b43 ldr r3, [pc, #268] ; (80381c4 ) 80380b8: fba3 1302 umull r1, r3, r3, r2 80380bc: 08d9 lsrs r1, r3, #3 80380be: 460b mov r3, r1 80380c0: 009b lsls r3, r3, #2 80380c2: 440b add r3, r1 80380c4: 005b lsls r3, r3, #1 80380c6: 1ad1 subs r1, r2, r3 80380c8: b2cb uxtb r3, r1 80380ca: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 80380ce: 4b35 ldr r3, [pc, #212] ; (80381a4 ) 80380d0: 781b ldrb r3, [r3, #0] 80380d2: b2db uxtb r3, r3 80380d4: 3b1c subs r3, #28 80380d6: 2b05 cmp r3, #5 80380d8: d836 bhi.n 8038148 80380da: a201 add r2, pc, #4 ; (adr r2, 80380e0 ) 80380dc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80380e0: 080380f9 .word 0x080380f9 80380e4: 08038107 .word 0x08038107 80380e8: 08038117 .word 0x08038117 80380ec: 08038125 .word 0x08038125 80380f0: 08038131 .word 0x08038131 80380f4: 0803813d .word 0x0803813d k += 100000; 80380f8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80380fc: 4b2d ldr r3, [pc, #180] ; (80381b4 ) 80380fe: 4413 add r3, r2 8038100: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038104: e020 b.n 8038148 k += 10000; 8038106: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803810a: f242 7310 movw r3, #10000 ; 0x2710 803810e: 4413 add r3, r2 8038110: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038114: e018 b.n 8038148 k += 1000; 8038116: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803811a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803811e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038122: e011 b.n 8038148 k += 100; 8038124: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038128: 3364 adds r3, #100 ; 0x64 803812a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803812e: e00b b.n 8038148 k += 10; 8038130: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038134: 330a adds r3, #10 8038136: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803813a: e005 b.n 8038148 k++; 803813c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038140: 3301 adds r3, #1 8038142: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038146: bf00 nop if(k > 999999) k = 999999; 8038148: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803814c: 4a1e ldr r2, [pc, #120] ; (80381c8 ) 803814e: 4293 cmp r3, r2 8038150: d902 bls.n 8038158 8038152: 4b1d ldr r3, [pc, #116] ; (80381c8 ) 8038154: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8038158: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803815c: 2b00 cmp r3, #0 803815e: d102 bne.n 8038166 8038160: 2301 movs r3, #1 8038162: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ANGLE = (float32_t) k; 8038166: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803816a: ee07 3a90 vmov s15, r3 803816e: eef8 7a67 vcvt.f32.u32 s15, s15 8038172: 4b0d ldr r3, [pc, #52] ; (80381a8 ) 8038174: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE *= 0.001f; 8038178: 4b0b ldr r3, [pc, #44] ; (80381a8 ) 803817a: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 803817e: ed9f 7a13 vldr s14, [pc, #76] ; 80381cc 8038182: ee67 7a87 vmul.f32 s15, s15, s14 8038186: 4b08 ldr r3, [pc, #32] ; (80381a8 ) 8038188: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE += 0.0005f; 803818c: 4b06 ldr r3, [pc, #24] ; (80381a8 ) 803818e: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 8038192: ed9f 7a0f vldr s14, [pc, #60] ; 80381d0 8038196: ee77 7a87 vadd.f32 s15, s15, s14 803819a: 4b03 ldr r3, [pc, #12] ; (80381a8 ) 803819c: edc3 7a33 vstr s15, [r3, #204] ; 0xcc 80381a0: e0bf b.n 8038322 80381a2: bf00 nop 80381a4: 20020070 .word 0x20020070 80381a8: 20023e60 .word 0x20023e60 80381ac: 447a0000 .word 0x447a0000 80381b0: 0a7c5ac5 .word 0x0a7c5ac5 80381b4: 000186a0 .word 0x000186a0 80381b8: d1b71759 .word 0xd1b71759 80381bc: 10624dd3 .word 0x10624dd3 80381c0: 51eb851f .word 0x51eb851f 80381c4: cccccccd .word 0xcccccccd 80381c8: 000f423f .word 0x000f423f 80381cc: 3a83126f .word 0x3a83126f 80381d0: 3a03126f .word 0x3a03126f if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 80381d4: 4b83 ldr r3, [pc, #524] ; (80383e4 ) 80381d6: 781b ldrb r3, [r3, #0] 80381d8: b2db uxtb r3, r3 80381da: 2b21 cmp r3, #33 ; 0x21 80381dc: f243 861e bls.w 803be1c 80381e0: 4b80 ldr r3, [pc, #512] ; (80383e4 ) 80381e2: 781b ldrb r3, [r3, #0] 80381e4: b2db uxtb r3, r3 80381e6: 2b25 cmp r3, #37 ; 0x25 80381e8: f203 8618 bhi.w 803be1c k = pardata.D_RATE; 80381ec: 4b7e ldr r3, [pc, #504] ; (80383e8 ) 80381ee: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 80381f2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 80381f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80381fa: 4a7c ldr r2, [pc, #496] ; (80383ec ) 80381fc: fba2 2303 umull r2, r3, r2, r3 8038200: 099b lsrs r3, r3, #6 8038202: b2db uxtb r3, r3 8038204: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 8038208: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803820c: 4b77 ldr r3, [pc, #476] ; (80383ec ) 803820e: fba3 1302 umull r1, r3, r3, r2 8038212: 099b lsrs r3, r3, #6 8038214: f44f 717a mov.w r1, #1000 ; 0x3e8 8038218: fb01 f303 mul.w r3, r1, r3 803821c: 1ad3 subs r3, r2, r3 803821e: 4a74 ldr r2, [pc, #464] ; (80383f0 ) 8038220: fba2 2303 umull r2, r3, r2, r3 8038224: 095b lsrs r3, r3, #5 8038226: b2db uxtb r3, r3 8038228: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 803822c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038230: 4b6e ldr r3, [pc, #440] ; (80383ec ) 8038232: fba3 1302 umull r1, r3, r3, r2 8038236: 099b lsrs r3, r3, #6 8038238: f44f 717a mov.w r1, #1000 ; 0x3e8 803823c: fb01 f303 mul.w r3, r1, r3 8038240: 1ad3 subs r3, r2, r3 8038242: 4a6b ldr r2, [pc, #428] ; (80383f0 ) 8038244: fba2 1203 umull r1, r2, r2, r3 8038248: 0952 lsrs r2, r2, #5 803824a: 2164 movs r1, #100 ; 0x64 803824c: fb01 f202 mul.w r2, r1, r2 8038250: 1a9a subs r2, r3, r2 8038252: 4b68 ldr r3, [pc, #416] ; (80383f4 ) 8038254: fba3 2302 umull r2, r3, r3, r2 8038258: 08db lsrs r3, r3, #3 803825a: b2db uxtb r3, r3 803825c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 8038260: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038264: 4b61 ldr r3, [pc, #388] ; (80383ec ) 8038266: fba3 1302 umull r1, r3, r3, r2 803826a: 099b lsrs r3, r3, #6 803826c: f44f 717a mov.w r1, #1000 ; 0x3e8 8038270: fb01 f303 mul.w r3, r1, r3 8038274: 1ad3 subs r3, r2, r3 8038276: 4a5e ldr r2, [pc, #376] ; (80383f0 ) 8038278: fba2 1203 umull r1, r2, r2, r3 803827c: 0952 lsrs r2, r2, #5 803827e: 2164 movs r1, #100 ; 0x64 8038280: fb01 f202 mul.w r2, r1, r2 8038284: 1a9a subs r2, r3, r2 8038286: 4b5b ldr r3, [pc, #364] ; (80383f4 ) 8038288: fba3 1302 umull r1, r3, r3, r2 803828c: 08d9 lsrs r1, r3, #3 803828e: 460b mov r3, r1 8038290: 009b lsls r3, r3, #2 8038292: 440b add r3, r1 8038294: 005b lsls r3, r3, #1 8038296: 1ad1 subs r1, r2, r3 8038298: b2cb uxtb r3, r1 803829a: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 803829e: 4b51 ldr r3, [pc, #324] ; (80383e4 ) 80382a0: 781b ldrb r3, [r3, #0] 80382a2: b2db uxtb r3, r3 80382a4: 3b22 subs r3, #34 ; 0x22 80382a6: 2b03 cmp r3, #3 80382a8: d823 bhi.n 80382f2 80382aa: a201 add r2, pc, #4 ; (adr r2, 80382b0 ) 80382ac: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80382b0: 080382c1 .word 0x080382c1 80382b4: 080382cf .word 0x080382cf 80382b8: 080382db .word 0x080382db 80382bc: 080382e7 .word 0x080382e7 k += 1000; 80382c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382c4: f503 737a add.w r3, r3, #1000 ; 0x3e8 80382c8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80382cc: e011 b.n 80382f2 k += 100; 80382ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382d2: 3364 adds r3, #100 ; 0x64 80382d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80382d8: e00b b.n 80382f2 k += 10; 80382da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382de: 330a adds r3, #10 80382e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80382e4: e005 b.n 80382f2 k++; 80382e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382ea: 3301 adds r3, #1 80382ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80382f0: bf00 nop if(k > 9999) k = 9999; 80382f2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80382f6: f242 720f movw r2, #9999 ; 0x270f 80382fa: 4293 cmp r3, r2 80382fc: d903 bls.n 8038306 80382fe: f242 730f movw r3, #9999 ; 0x270f 8038302: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8038306: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803830a: 2b00 cmp r3, #0 803830c: d102 bne.n 8038314 803830e: 2301 movs r3, #1 8038310: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 8038314: 4a34 ldr r2, [pc, #208] ; (80383e8 ) 8038316: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803831a: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 803831e: f003 bd7d b.w 803be1c 8038322: f003 bd7b b.w 803be1c case PARAM_VIB: //todo focused = false; 8038326: 4b34 ldr r3, [pc, #208] ; (80383f8 ) 8038328: 2200 movs r2, #0 803832a: 701a strb r2, [r3, #0] if(menupos == FilterHP) 803832c: 4b2d ldr r3, [pc, #180] ; (80383e4 ) 803832e: 781b ldrb r3, [r3, #0] 8038330: b2db uxtb r3, r3 8038332: 2b17 cmp r3, #23 8038334: d104 bne.n 8038340 menupos = Ok; 8038336: 4b2b ldr r3, [pc, #172] ; (80383e4 ) 8038338: 2200 movs r2, #0 803833a: 701a strb r2, [r3, #0] if(menupos == Average) menupos = ValueA; else menupos--; } } break; 803833c: f003 bd8d b.w 803be5a if(menupos == FilterLP) 8038340: 4b28 ldr r3, [pc, #160] ; (80383e4 ) 8038342: 781b ldrb r3, [r3, #0] 8038344: b2db uxtb r3, r3 8038346: 2b18 cmp r3, #24 8038348: d104 bne.n 8038354 menupos = FilterHP; 803834a: 4b26 ldr r3, [pc, #152] ; (80383e4 ) 803834c: 2217 movs r2, #23 803834e: 701a strb r2, [r3, #0] break; 8038350: f003 bd83 b.w 803be5a if(menupos == ValueA) 8038354: 4b23 ldr r3, [pc, #140] ; (80383e4 ) 8038356: 781b ldrb r3, [r3, #0] 8038358: b2db uxtb r3, r3 803835a: 2b02 cmp r3, #2 803835c: d104 bne.n 8038368 menupos = FilterLP; 803835e: 4b21 ldr r3, [pc, #132] ; (80383e4 ) 8038360: 2218 movs r2, #24 8038362: 701a strb r2, [r3, #0] break; 8038364: f003 bd79 b.w 803be5a if(menupos == Ok) 8038368: 4b1e ldr r3, [pc, #120] ; (80383e4 ) 803836a: 781b ldrb r3, [r3, #0] 803836c: b2db uxtb r3, r3 803836e: 2b00 cmp r3, #0 8038370: d104 bne.n 803837c menupos = SaveToFile; 8038372: 4b1c ldr r3, [pc, #112] ; (80383e4 ) 8038374: 220a movs r2, #10 8038376: 701a strb r2, [r3, #0] break; 8038378: f003 bd6f b.w 803be5a if(menupos == SaveToFile) 803837c: 4b19 ldr r3, [pc, #100] ; (80383e4 ) 803837e: 781b ldrb r3, [r3, #0] 8038380: b2db uxtb r3, r3 8038382: 2b0a cmp r3, #10 8038384: d110 bne.n 80383a8 if(pardata.OPTIONS & 0x4) 8038386: 4b18 ldr r3, [pc, #96] ; (80383e8 ) 8038388: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803838c: f003 0304 and.w r3, r3, #4 8038390: 2b00 cmp r3, #0 8038392: d004 beq.n 803839e menupos = VibAutoKu; 8038394: 4b13 ldr r3, [pc, #76] ; (80383e4 ) 8038396: 2208 movs r2, #8 8038398: 701a strb r2, [r3, #0] break; 803839a: f003 bd5e b.w 803be5a else menupos = VibMax_ALL; 803839e: 4b11 ldr r3, [pc, #68] ; (80383e4 ) 80383a0: 2209 movs r2, #9 80383a2: 701a strb r2, [r3, #0] break; 80383a4: f003 bd59 b.w 803be5a if(menupos == VibMax_ALL) 80383a8: 4b0e ldr r3, [pc, #56] ; (80383e4 ) 80383aa: 781b ldrb r3, [r3, #0] 80383ac: b2db uxtb r3, r3 80383ae: 2b09 cmp r3, #9 80383b0: d104 bne.n 80383bc menupos = VibAutoKu; 80383b2: 4b0c ldr r3, [pc, #48] ; (80383e4 ) 80383b4: 2208 movs r2, #8 80383b6: 701a strb r2, [r3, #0] break; 80383b8: f003 bd4f b.w 803be5a if(menupos == VibAutoKu) 80383bc: 4b09 ldr r3, [pc, #36] ; (80383e4 ) 80383be: 781b ldrb r3, [r3, #0] 80383c0: b2db uxtb r3, r3 80383c2: 2b08 cmp r3, #8 80383c4: d104 bne.n 80383d0 menupos = ViewFreq; 80383c6: 4b07 ldr r3, [pc, #28] ; (80383e4 ) 80383c8: 2207 movs r2, #7 80383ca: 701a strb r2, [r3, #0] break; 80383cc: f003 bd45 b.w 803be5a if(menupos == ViewFreq) 80383d0: 4b04 ldr r3, [pc, #16] ; (80383e4 ) 80383d2: 781b ldrb r3, [r3, #0] 80383d4: b2db uxtb r3, r3 80383d6: 2b07 cmp r3, #7 80383d8: d110 bne.n 80383fc menupos = Mediana; 80383da: 4b02 ldr r3, [pc, #8] ; (80383e4 ) 80383dc: 2206 movs r2, #6 80383de: 701a strb r2, [r3, #0] break; 80383e0: f003 bd3b b.w 803be5a 80383e4: 20020070 .word 0x20020070 80383e8: 20023e60 .word 0x20023e60 80383ec: 10624dd3 .word 0x10624dd3 80383f0: 51eb851f .word 0x51eb851f 80383f4: cccccccd .word 0xcccccccd 80383f8: 20020f84 .word 0x20020f84 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 80383fc: 4b9d ldr r3, [pc, #628] ; (8038674 ) 80383fe: 781b ldrb r3, [r3, #0] 8038400: b2db uxtb r3, r3 8038402: 2b0a cmp r3, #10 8038404: f240 814c bls.w 80386a0 8038408: 4b9a ldr r3, [pc, #616] ; (8038674 ) 803840a: 781b ldrb r3, [r3, #0] 803840c: b2db uxtb r3, r3 803840e: 2b10 cmp r3, #16 8038410: f200 8146 bhi.w 80386a0 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8038414: 4b98 ldr r3, [pc, #608] ; (8038678 ) 8038416: edd3 7a06 vldr s15, [r3, #24] 803841a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803841e: ee67 7a87 vmul.f32 s15, s15, s14 8038422: eefc 7ae7 vcvt.u32.f32 s15, s15 8038426: ee17 3a90 vmov r3, s15 803842a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803842e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038432: 095b lsrs r3, r3, #5 8038434: 4a91 ldr r2, [pc, #580] ; (803867c ) 8038436: fba2 2303 umull r2, r3, r2, r3 803843a: 09db lsrs r3, r3, #7 803843c: b2db uxtb r3, r3 803843e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8038442: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038446: 0953 lsrs r3, r2, #5 8038448: 498c ldr r1, [pc, #560] ; (803867c ) 803844a: fba1 1303 umull r1, r3, r1, r3 803844e: 09db lsrs r3, r3, #7 8038450: 498b ldr r1, [pc, #556] ; (8038680 ) 8038452: fb01 f303 mul.w r3, r1, r3 8038456: 1ad3 subs r3, r2, r3 8038458: 4a8a ldr r2, [pc, #552] ; (8038684 ) 803845a: fba2 2303 umull r2, r3, r2, r3 803845e: 0b5b lsrs r3, r3, #13 8038460: b2db uxtb r3, r3 8038462: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8038466: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803846a: 0953 lsrs r3, r2, #5 803846c: 4983 ldr r1, [pc, #524] ; (803867c ) 803846e: fba1 1303 umull r1, r3, r1, r3 8038472: 09db lsrs r3, r3, #7 8038474: 4982 ldr r1, [pc, #520] ; (8038680 ) 8038476: fb01 f303 mul.w r3, r1, r3 803847a: 1ad3 subs r3, r2, r3 803847c: 4a81 ldr r2, [pc, #516] ; (8038684 ) 803847e: fba2 1203 umull r1, r2, r2, r3 8038482: 0b52 lsrs r2, r2, #13 8038484: f242 7110 movw r1, #10000 ; 0x2710 8038488: fb01 f202 mul.w r2, r1, r2 803848c: 1a9a subs r2, r3, r2 803848e: 4b7e ldr r3, [pc, #504] ; (8038688 ) 8038490: fba3 2302 umull r2, r3, r3, r2 8038494: 099b lsrs r3, r3, #6 8038496: b2db uxtb r3, r3 8038498: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803849c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80384a0: 095a lsrs r2, r3, #5 80384a2: 4976 ldr r1, [pc, #472] ; (803867c ) 80384a4: fba1 1202 umull r1, r2, r1, r2 80384a8: 09d2 lsrs r2, r2, #7 80384aa: 4975 ldr r1, [pc, #468] ; (8038680 ) 80384ac: fb01 f202 mul.w r2, r1, r2 80384b0: 1a9a subs r2, r3, r2 80384b2: 4b74 ldr r3, [pc, #464] ; (8038684 ) 80384b4: fba3 1302 umull r1, r3, r3, r2 80384b8: 0b5b lsrs r3, r3, #13 80384ba: f242 7110 movw r1, #10000 ; 0x2710 80384be: fb01 f303 mul.w r3, r1, r3 80384c2: 1ad3 subs r3, r2, r3 80384c4: 4a70 ldr r2, [pc, #448] ; (8038688 ) 80384c6: fba2 1203 umull r1, r2, r2, r3 80384ca: 0992 lsrs r2, r2, #6 80384cc: f44f 717a mov.w r1, #1000 ; 0x3e8 80384d0: fb01 f202 mul.w r2, r1, r2 80384d4: 1a9a subs r2, r3, r2 80384d6: 4b6d ldr r3, [pc, #436] ; (803868c ) 80384d8: fba3 2302 umull r2, r3, r3, r2 80384dc: 095b lsrs r3, r3, #5 80384de: b2db uxtb r3, r3 80384e0: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80384e4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80384e8: 0953 lsrs r3, r2, #5 80384ea: 4964 ldr r1, [pc, #400] ; (803867c ) 80384ec: fba1 1303 umull r1, r3, r1, r3 80384f0: 09db lsrs r3, r3, #7 80384f2: 4963 ldr r1, [pc, #396] ; (8038680 ) 80384f4: fb01 f303 mul.w r3, r1, r3 80384f8: 1ad3 subs r3, r2, r3 80384fa: 4a62 ldr r2, [pc, #392] ; (8038684 ) 80384fc: fba2 1203 umull r1, r2, r2, r3 8038500: 0b52 lsrs r2, r2, #13 8038502: f242 7110 movw r1, #10000 ; 0x2710 8038506: fb01 f202 mul.w r2, r1, r2 803850a: 1a9a subs r2, r3, r2 803850c: 4b5e ldr r3, [pc, #376] ; (8038688 ) 803850e: fba3 1302 umull r1, r3, r3, r2 8038512: 099b lsrs r3, r3, #6 8038514: f44f 717a mov.w r1, #1000 ; 0x3e8 8038518: fb01 f303 mul.w r3, r1, r3 803851c: 1ad3 subs r3, r2, r3 803851e: 4a5b ldr r2, [pc, #364] ; (803868c ) 8038520: fba2 1203 umull r1, r2, r2, r3 8038524: 0952 lsrs r2, r2, #5 8038526: 2164 movs r1, #100 ; 0x64 8038528: fb01 f202 mul.w r2, r1, r2 803852c: 1a9a subs r2, r3, r2 803852e: 4b58 ldr r3, [pc, #352] ; (8038690 ) 8038530: fba3 2302 umull r2, r3, r3, r2 8038534: 08db lsrs r3, r3, #3 8038536: b2db uxtb r3, r3 8038538: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803853c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038540: 0953 lsrs r3, r2, #5 8038542: 494e ldr r1, [pc, #312] ; (803867c ) 8038544: fba1 1303 umull r1, r3, r1, r3 8038548: 09db lsrs r3, r3, #7 803854a: 494d ldr r1, [pc, #308] ; (8038680 ) 803854c: fb01 f303 mul.w r3, r1, r3 8038550: 1ad3 subs r3, r2, r3 8038552: 4a4c ldr r2, [pc, #304] ; (8038684 ) 8038554: fba2 1203 umull r1, r2, r2, r3 8038558: 0b52 lsrs r2, r2, #13 803855a: f242 7110 movw r1, #10000 ; 0x2710 803855e: fb01 f202 mul.w r2, r1, r2 8038562: 1a9a subs r2, r3, r2 8038564: 4b48 ldr r3, [pc, #288] ; (8038688 ) 8038566: fba3 1302 umull r1, r3, r3, r2 803856a: 099b lsrs r3, r3, #6 803856c: f44f 717a mov.w r1, #1000 ; 0x3e8 8038570: fb01 f303 mul.w r3, r1, r3 8038574: 1ad3 subs r3, r2, r3 8038576: 4a45 ldr r2, [pc, #276] ; (803868c ) 8038578: fba2 1203 umull r1, r2, r2, r3 803857c: 0952 lsrs r2, r2, #5 803857e: 2164 movs r1, #100 ; 0x64 8038580: fb01 f202 mul.w r2, r1, r2 8038584: 1a9a subs r2, r3, r2 8038586: 4b42 ldr r3, [pc, #264] ; (8038690 ) 8038588: fba3 1302 umull r1, r3, r3, r2 803858c: 08d9 lsrs r1, r3, #3 803858e: 460b mov r3, r1 8038590: 009b lsls r3, r3, #2 8038592: 440b add r3, r1 8038594: 005b lsls r3, r3, #1 8038596: 1ad1 subs r1, r2, r3 8038598: b2cb uxtb r3, r1 803859a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803859e: 4b35 ldr r3, [pc, #212] ; (8038674 ) 80385a0: 781b ldrb r3, [r3, #0] 80385a2: b2db uxtb r3, r3 80385a4: 3b0b subs r3, #11 80385a6: 2b05 cmp r3, #5 80385a8: d836 bhi.n 8038618 80385aa: a201 add r2, pc, #4 ; (adr r2, 80385b0 ) 80385ac: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80385b0: 080385c9 .word 0x080385c9 80385b4: 080385d7 .word 0x080385d7 80385b8: 080385e7 .word 0x080385e7 80385bc: 080385f5 .word 0x080385f5 80385c0: 08038601 .word 0x08038601 80385c4: 0803860d .word 0x0803860d k += 100000; 80385c8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80385cc: 4b2c ldr r3, [pc, #176] ; (8038680 ) 80385ce: 4413 add r3, r2 80385d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80385d4: e020 b.n 8038618 k += 10000; 80385d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80385da: f242 7310 movw r3, #10000 ; 0x2710 80385de: 4413 add r3, r2 80385e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80385e4: e018 b.n 8038618 k += 1000; 80385e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80385ea: f503 737a add.w r3, r3, #1000 ; 0x3e8 80385ee: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80385f2: e011 b.n 8038618 k += 100; 80385f4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80385f8: 3364 adds r3, #100 ; 0x64 80385fa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80385fe: e00b b.n 8038618 k += 10; 8038600: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038604: 330a adds r3, #10 8038606: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803860a: e005 b.n 8038618 k++; 803860c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038610: 3301 adds r3, #1 8038612: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038616: bf00 nop if(k > 999999) k = 999999; 8038618: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803861c: 4a1d ldr r2, [pc, #116] ; (8038694 ) 803861e: 4293 cmp r3, r2 8038620: d902 bls.n 8038628 8038622: 4b1c ldr r3, [pc, #112] ; (8038694 ) 8038624: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8038628: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803862c: 2b00 cmp r3, #0 803862e: d102 bne.n 8038636 8038630: 2301 movs r3, #1 8038632: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8038636: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803863a: ee07 3a90 vmov s15, r3 803863e: eef8 7a67 vcvt.f32.u32 s15, s15 8038642: 4b0d ldr r3, [pc, #52] ; (8038678 ) 8038644: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8038648: 4b0b ldr r3, [pc, #44] ; (8038678 ) 803864a: edd3 7a06 vldr s15, [r3, #24] 803864e: ed9f 7a12 vldr s14, [pc, #72] ; 8038698 8038652: ee67 7a87 vmul.f32 s15, s15, s14 8038656: 4b08 ldr r3, [pc, #32] ; (8038678 ) 8038658: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803865c: 4b06 ldr r3, [pc, #24] ; (8038678 ) 803865e: edd3 7a06 vldr s15, [r3, #24] 8038662: ed9f 7a0e vldr s14, [pc, #56] ; 803869c 8038666: ee77 7a87 vadd.f32 s15, s15, s14 803866a: 4b03 ldr r3, [pc, #12] ; (8038678 ) 803866c: edc3 7a06 vstr s15, [r3, #24] 8038670: e326 b.n 8038cc0 8038672: bf00 nop 8038674: 20020070 .word 0x20020070 8038678: 20023e60 .word 0x20023e60 803867c: 0a7c5ac5 .word 0x0a7c5ac5 8038680: 000186a0 .word 0x000186a0 8038684: d1b71759 .word 0xd1b71759 8038688: 10624dd3 .word 0x10624dd3 803868c: 51eb851f .word 0x51eb851f 8038690: cccccccd .word 0xcccccccd 8038694: 000f423f .word 0x000f423f 8038698: 3dcccccd .word 0x3dcccccd 803869c: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 80386a0: 4bb1 ldr r3, [pc, #708] ; (8038968 ) 80386a2: 781b ldrb r3, [r3, #0] 80386a4: b2db uxtb r3, r3 80386a6: 2b18 cmp r3, #24 80386a8: f240 8172 bls.w 8038990 80386ac: 4bae ldr r3, [pc, #696] ; (8038968 ) 80386ae: 781b ldrb r3, [r3, #0] 80386b0: b2db uxtb r3, r3 80386b2: 2b1e cmp r3, #30 80386b4: f200 816c bhi.w 8038990 k = (uint32_t) (pardata.HP * 10.0f); 80386b8: 4bac ldr r3, [pc, #688] ; (803896c ) 80386ba: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80386be: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80386c2: ee67 7a87 vmul.f32 s15, s15, s14 80386c6: eefc 7ae7 vcvt.u32.f32 s15, s15 80386ca: ee17 3a90 vmov r3, s15 80386ce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80386d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80386d6: 095b lsrs r3, r3, #5 80386d8: 4aa5 ldr r2, [pc, #660] ; (8038970 ) 80386da: fba2 2303 umull r2, r3, r2, r3 80386de: 09db lsrs r3, r3, #7 80386e0: b2db uxtb r3, r3 80386e2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80386e6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80386ea: 0953 lsrs r3, r2, #5 80386ec: 49a0 ldr r1, [pc, #640] ; (8038970 ) 80386ee: fba1 1303 umull r1, r3, r1, r3 80386f2: 09db lsrs r3, r3, #7 80386f4: 499f ldr r1, [pc, #636] ; (8038974 ) 80386f6: fb01 f303 mul.w r3, r1, r3 80386fa: 1ad3 subs r3, r2, r3 80386fc: 4a9e ldr r2, [pc, #632] ; (8038978 ) 80386fe: fba2 2303 umull r2, r3, r2, r3 8038702: 0b5b lsrs r3, r3, #13 8038704: b2db uxtb r3, r3 8038706: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803870a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803870e: 0953 lsrs r3, r2, #5 8038710: 4997 ldr r1, [pc, #604] ; (8038970 ) 8038712: fba1 1303 umull r1, r3, r1, r3 8038716: 09db lsrs r3, r3, #7 8038718: 4996 ldr r1, [pc, #600] ; (8038974 ) 803871a: fb01 f303 mul.w r3, r1, r3 803871e: 1ad3 subs r3, r2, r3 8038720: 4a95 ldr r2, [pc, #596] ; (8038978 ) 8038722: fba2 1203 umull r1, r2, r2, r3 8038726: 0b52 lsrs r2, r2, #13 8038728: f242 7110 movw r1, #10000 ; 0x2710 803872c: fb01 f202 mul.w r2, r1, r2 8038730: 1a9a subs r2, r3, r2 8038732: 4b92 ldr r3, [pc, #584] ; (803897c ) 8038734: fba3 2302 umull r2, r3, r3, r2 8038738: 099b lsrs r3, r3, #6 803873a: b2db uxtb r3, r3 803873c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8038740: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038744: 095a lsrs r2, r3, #5 8038746: 498a ldr r1, [pc, #552] ; (8038970 ) 8038748: fba1 1202 umull r1, r2, r1, r2 803874c: 09d2 lsrs r2, r2, #7 803874e: 4989 ldr r1, [pc, #548] ; (8038974 ) 8038750: fb01 f202 mul.w r2, r1, r2 8038754: 1a9a subs r2, r3, r2 8038756: 4b88 ldr r3, [pc, #544] ; (8038978 ) 8038758: fba3 1302 umull r1, r3, r3, r2 803875c: 0b5b lsrs r3, r3, #13 803875e: f242 7110 movw r1, #10000 ; 0x2710 8038762: fb01 f303 mul.w r3, r1, r3 8038766: 1ad3 subs r3, r2, r3 8038768: 4a84 ldr r2, [pc, #528] ; (803897c ) 803876a: fba2 1203 umull r1, r2, r2, r3 803876e: 0992 lsrs r2, r2, #6 8038770: f44f 717a mov.w r1, #1000 ; 0x3e8 8038774: fb01 f202 mul.w r2, r1, r2 8038778: 1a9a subs r2, r3, r2 803877a: 4b81 ldr r3, [pc, #516] ; (8038980 ) 803877c: fba3 2302 umull r2, r3, r3, r2 8038780: 095b lsrs r3, r3, #5 8038782: b2db uxtb r3, r3 8038784: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038788: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803878c: 0953 lsrs r3, r2, #5 803878e: 4978 ldr r1, [pc, #480] ; (8038970 ) 8038790: fba1 1303 umull r1, r3, r1, r3 8038794: 09db lsrs r3, r3, #7 8038796: 4977 ldr r1, [pc, #476] ; (8038974 ) 8038798: fb01 f303 mul.w r3, r1, r3 803879c: 1ad3 subs r3, r2, r3 803879e: 4a76 ldr r2, [pc, #472] ; (8038978 ) 80387a0: fba2 1203 umull r1, r2, r2, r3 80387a4: 0b52 lsrs r2, r2, #13 80387a6: f242 7110 movw r1, #10000 ; 0x2710 80387aa: fb01 f202 mul.w r2, r1, r2 80387ae: 1a9a subs r2, r3, r2 80387b0: 4b72 ldr r3, [pc, #456] ; (803897c ) 80387b2: fba3 1302 umull r1, r3, r3, r2 80387b6: 099b lsrs r3, r3, #6 80387b8: f44f 717a mov.w r1, #1000 ; 0x3e8 80387bc: fb01 f303 mul.w r3, r1, r3 80387c0: 1ad3 subs r3, r2, r3 80387c2: 4a6f ldr r2, [pc, #444] ; (8038980 ) 80387c4: fba2 1203 umull r1, r2, r2, r3 80387c8: 0952 lsrs r2, r2, #5 80387ca: 2164 movs r1, #100 ; 0x64 80387cc: fb01 f202 mul.w r2, r1, r2 80387d0: 1a9a subs r2, r3, r2 80387d2: 4b6c ldr r3, [pc, #432] ; (8038984 ) 80387d4: fba3 2302 umull r2, r3, r3, r2 80387d8: 08db lsrs r3, r3, #3 80387da: b2db uxtb r3, r3 80387dc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80387e0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80387e4: 0953 lsrs r3, r2, #5 80387e6: 4962 ldr r1, [pc, #392] ; (8038970 ) 80387e8: fba1 1303 umull r1, r3, r1, r3 80387ec: 09db lsrs r3, r3, #7 80387ee: 4961 ldr r1, [pc, #388] ; (8038974 ) 80387f0: fb01 f303 mul.w r3, r1, r3 80387f4: 1ad3 subs r3, r2, r3 80387f6: 4a60 ldr r2, [pc, #384] ; (8038978 ) 80387f8: fba2 1203 umull r1, r2, r2, r3 80387fc: 0b52 lsrs r2, r2, #13 80387fe: f242 7110 movw r1, #10000 ; 0x2710 8038802: fb01 f202 mul.w r2, r1, r2 8038806: 1a9a subs r2, r3, r2 8038808: 4b5c ldr r3, [pc, #368] ; (803897c ) 803880a: fba3 1302 umull r1, r3, r3, r2 803880e: 099b lsrs r3, r3, #6 8038810: f44f 717a mov.w r1, #1000 ; 0x3e8 8038814: fb01 f303 mul.w r3, r1, r3 8038818: 1ad3 subs r3, r2, r3 803881a: 4a59 ldr r2, [pc, #356] ; (8038980 ) 803881c: fba2 1203 umull r1, r2, r2, r3 8038820: 0952 lsrs r2, r2, #5 8038822: 2164 movs r1, #100 ; 0x64 8038824: fb01 f202 mul.w r2, r1, r2 8038828: 1a9a subs r2, r3, r2 803882a: 4b56 ldr r3, [pc, #344] ; (8038984 ) 803882c: fba3 1302 umull r1, r3, r3, r2 8038830: 08d9 lsrs r1, r3, #3 8038832: 460b mov r3, r1 8038834: 009b lsls r3, r3, #2 8038836: 440b add r3, r1 8038838: 005b lsls r3, r3, #1 803883a: 1ad1 subs r1, r2, r3 803883c: b2cb uxtb r3, r1 803883e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8038842: 4b49 ldr r3, [pc, #292] ; (8038968 ) 8038844: 781b ldrb r3, [r3, #0] 8038846: b2db uxtb r3, r3 8038848: 3b19 subs r3, #25 803884a: 2b05 cmp r3, #5 803884c: d836 bhi.n 80388bc 803884e: a201 add r2, pc, #4 ; (adr r2, 8038854 ) 8038850: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8038854: 0803886d .word 0x0803886d 8038858: 0803887b .word 0x0803887b 803885c: 0803888b .word 0x0803888b 8038860: 08038899 .word 0x08038899 8038864: 080388a5 .word 0x080388a5 8038868: 080388b1 .word 0x080388b1 k += 100000; 803886c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038870: 4b40 ldr r3, [pc, #256] ; (8038974 ) 8038872: 4413 add r3, r2 8038874: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038878: e020 b.n 80388bc k += 10000; 803887a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803887e: f242 7310 movw r3, #10000 ; 0x2710 8038882: 4413 add r3, r2 8038884: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038888: e018 b.n 80388bc k += 1000; 803888a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803888e: f503 737a add.w r3, r3, #1000 ; 0x3e8 8038892: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038896: e011 b.n 80388bc k += 100; 8038898: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803889c: 3364 adds r3, #100 ; 0x64 803889e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80388a2: e00b b.n 80388bc k += 10; 80388a4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80388a8: 330a adds r3, #10 80388aa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80388ae: e005 b.n 80388bc k++; 80388b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80388b4: 3301 adds r3, #1 80388b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80388ba: bf00 nop fl = (float32_t) k; 80388bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80388c0: ee07 3a90 vmov s15, r3 80388c4: eef8 7a67 vcvt.f32.u32 s15, s15 80388c8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80388cc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80388d0: ed9f 7a2d vldr s14, [pc, #180] ; 8038988 80388d4: ee67 7a87 vmul.f32 s15, s15, s14 80388d8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80388dc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80388e0: ed9f 7a2a vldr s14, [pc, #168] ; 803898c 80388e4: ee77 7a87 vadd.f32 s15, s15, s14 80388e8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 0.5f) 80388ec: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80388f0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80388f4: eef4 7ac7 vcmpe.f32 s15, s14 80388f8: eef1 fa10 vmrs APSR_nzcv, fpscr 80388fc: d505 bpl.n 803890a pardata.HP = 0.5f; 80388fe: 4b1b ldr r3, [pc, #108] ; (803896c ) 8038900: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8038904: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(fl < 0.5f) 8038908: e1da b.n 8038cc0 if(fl > pardata.LP) 803890a: 4b18 ldr r3, [pc, #96] ; (803896c ) 803890c: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8038910: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8038914: eeb4 7ae7 vcmpe.f32 s14, s15 8038918: eef1 fa10 vmrs APSR_nzcv, fpscr 803891c: d506 bpl.n 803892c pardata.HP = pardata.LP; 803891e: 4b13 ldr r3, [pc, #76] ; (803896c ) 8038920: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8038924: 4a11 ldr r2, [pc, #68] ; (803896c ) 8038926: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(fl < 0.5f) 803892a: e1c9 b.n 8038cc0 pardata.HP = (float32_t) k; 803892c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038930: ee07 3a90 vmov s15, r3 8038934: eef8 7a67 vcvt.f32.u32 s15, s15 8038938: 4b0c ldr r3, [pc, #48] ; (803896c ) 803893a: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803893e: 4b0b ldr r3, [pc, #44] ; (803896c ) 8038940: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8038944: ed9f 7a10 vldr s14, [pc, #64] ; 8038988 8038948: ee67 7a87 vmul.f32 s15, s15, s14 803894c: 4b07 ldr r3, [pc, #28] ; (803896c ) 803894e: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8038952: 4b06 ldr r3, [pc, #24] ; (803896c ) 8038954: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8038958: ed9f 7a0c vldr s14, [pc, #48] ; 803898c 803895c: ee77 7a87 vadd.f32 s15, s15, s14 8038960: 4b02 ldr r3, [pc, #8] ; (803896c ) 8038962: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(fl < 0.5f) 8038966: e1ab b.n 8038cc0 8038968: 20020070 .word 0x20020070 803896c: 20023e60 .word 0x20023e60 8038970: 0a7c5ac5 .word 0x0a7c5ac5 8038974: 000186a0 .word 0x000186a0 8038978: d1b71759 .word 0xd1b71759 803897c: 10624dd3 .word 0x10624dd3 8038980: 51eb851f .word 0x51eb851f 8038984: cccccccd .word 0xcccccccd 8038988: 3dcccccd .word 0x3dcccccd 803898c: 38d1b717 .word 0x38d1b717 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8038990: 4bcc ldr r3, [pc, #816] ; (8038cc4 ) 8038992: 781b ldrb r3, [r3, #0] 8038994: b2db uxtb r3, r3 8038996: 2b1e cmp r3, #30 8038998: f240 816c bls.w 8038c74 803899c: 4bc9 ldr r3, [pc, #804] ; (8038cc4 ) 803899e: 781b ldrb r3, [r3, #0] 80389a0: b2db uxtb r3, r3 80389a2: 2b24 cmp r3, #36 ; 0x24 80389a4: f200 8166 bhi.w 8038c74 k = (uint32_t) (pardata.LP * 10.0f); 80389a8: 4bc7 ldr r3, [pc, #796] ; (8038cc8 ) 80389aa: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80389ae: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80389b2: ee67 7a87 vmul.f32 s15, s15, s14 80389b6: eefc 7ae7 vcvt.u32.f32 s15, s15 80389ba: ee17 3a90 vmov r3, s15 80389be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80389c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80389c6: 095b lsrs r3, r3, #5 80389c8: 4ac0 ldr r2, [pc, #768] ; (8038ccc ) 80389ca: fba2 2303 umull r2, r3, r2, r3 80389ce: 09db lsrs r3, r3, #7 80389d0: b2db uxtb r3, r3 80389d2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80389d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80389da: 0953 lsrs r3, r2, #5 80389dc: 49bb ldr r1, [pc, #748] ; (8038ccc ) 80389de: fba1 1303 umull r1, r3, r1, r3 80389e2: 09db lsrs r3, r3, #7 80389e4: 49ba ldr r1, [pc, #744] ; (8038cd0 ) 80389e6: fb01 f303 mul.w r3, r1, r3 80389ea: 1ad3 subs r3, r2, r3 80389ec: 4ab9 ldr r2, [pc, #740] ; (8038cd4 ) 80389ee: fba2 2303 umull r2, r3, r2, r3 80389f2: 0b5b lsrs r3, r3, #13 80389f4: b2db uxtb r3, r3 80389f6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80389fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80389fe: 0953 lsrs r3, r2, #5 8038a00: 49b2 ldr r1, [pc, #712] ; (8038ccc ) 8038a02: fba1 1303 umull r1, r3, r1, r3 8038a06: 09db lsrs r3, r3, #7 8038a08: 49b1 ldr r1, [pc, #708] ; (8038cd0 ) 8038a0a: fb01 f303 mul.w r3, r1, r3 8038a0e: 1ad3 subs r3, r2, r3 8038a10: 4ab0 ldr r2, [pc, #704] ; (8038cd4 ) 8038a12: fba2 1203 umull r1, r2, r2, r3 8038a16: 0b52 lsrs r2, r2, #13 8038a18: f242 7110 movw r1, #10000 ; 0x2710 8038a1c: fb01 f202 mul.w r2, r1, r2 8038a20: 1a9a subs r2, r3, r2 8038a22: 4bad ldr r3, [pc, #692] ; (8038cd8 ) 8038a24: fba3 2302 umull r2, r3, r3, r2 8038a28: 099b lsrs r3, r3, #6 8038a2a: b2db uxtb r3, r3 8038a2c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8038a30: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038a34: 095a lsrs r2, r3, #5 8038a36: 49a5 ldr r1, [pc, #660] ; (8038ccc ) 8038a38: fba1 1202 umull r1, r2, r1, r2 8038a3c: 09d2 lsrs r2, r2, #7 8038a3e: 49a4 ldr r1, [pc, #656] ; (8038cd0 ) 8038a40: fb01 f202 mul.w r2, r1, r2 8038a44: 1a9a subs r2, r3, r2 8038a46: 4ba3 ldr r3, [pc, #652] ; (8038cd4 ) 8038a48: fba3 1302 umull r1, r3, r3, r2 8038a4c: 0b5b lsrs r3, r3, #13 8038a4e: f242 7110 movw r1, #10000 ; 0x2710 8038a52: fb01 f303 mul.w r3, r1, r3 8038a56: 1ad3 subs r3, r2, r3 8038a58: 4a9f ldr r2, [pc, #636] ; (8038cd8 ) 8038a5a: fba2 1203 umull r1, r2, r2, r3 8038a5e: 0992 lsrs r2, r2, #6 8038a60: f44f 717a mov.w r1, #1000 ; 0x3e8 8038a64: fb01 f202 mul.w r2, r1, r2 8038a68: 1a9a subs r2, r3, r2 8038a6a: 4b9c ldr r3, [pc, #624] ; (8038cdc ) 8038a6c: fba3 2302 umull r2, r3, r3, r2 8038a70: 095b lsrs r3, r3, #5 8038a72: b2db uxtb r3, r3 8038a74: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038a78: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038a7c: 0953 lsrs r3, r2, #5 8038a7e: 4993 ldr r1, [pc, #588] ; (8038ccc ) 8038a80: fba1 1303 umull r1, r3, r1, r3 8038a84: 09db lsrs r3, r3, #7 8038a86: 4992 ldr r1, [pc, #584] ; (8038cd0 ) 8038a88: fb01 f303 mul.w r3, r1, r3 8038a8c: 1ad3 subs r3, r2, r3 8038a8e: 4a91 ldr r2, [pc, #580] ; (8038cd4 ) 8038a90: fba2 1203 umull r1, r2, r2, r3 8038a94: 0b52 lsrs r2, r2, #13 8038a96: f242 7110 movw r1, #10000 ; 0x2710 8038a9a: fb01 f202 mul.w r2, r1, r2 8038a9e: 1a9a subs r2, r3, r2 8038aa0: 4b8d ldr r3, [pc, #564] ; (8038cd8 ) 8038aa2: fba3 1302 umull r1, r3, r3, r2 8038aa6: 099b lsrs r3, r3, #6 8038aa8: f44f 717a mov.w r1, #1000 ; 0x3e8 8038aac: fb01 f303 mul.w r3, r1, r3 8038ab0: 1ad3 subs r3, r2, r3 8038ab2: 4a8a ldr r2, [pc, #552] ; (8038cdc ) 8038ab4: fba2 1203 umull r1, r2, r2, r3 8038ab8: 0952 lsrs r2, r2, #5 8038aba: 2164 movs r1, #100 ; 0x64 8038abc: fb01 f202 mul.w r2, r1, r2 8038ac0: 1a9a subs r2, r3, r2 8038ac2: 4b87 ldr r3, [pc, #540] ; (8038ce0 ) 8038ac4: fba3 2302 umull r2, r3, r3, r2 8038ac8: 08db lsrs r3, r3, #3 8038aca: b2db uxtb r3, r3 8038acc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8038ad0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038ad4: 0953 lsrs r3, r2, #5 8038ad6: 497d ldr r1, [pc, #500] ; (8038ccc ) 8038ad8: fba1 1303 umull r1, r3, r1, r3 8038adc: 09db lsrs r3, r3, #7 8038ade: 497c ldr r1, [pc, #496] ; (8038cd0 ) 8038ae0: fb01 f303 mul.w r3, r1, r3 8038ae4: 1ad3 subs r3, r2, r3 8038ae6: 4a7b ldr r2, [pc, #492] ; (8038cd4 ) 8038ae8: fba2 1203 umull r1, r2, r2, r3 8038aec: 0b52 lsrs r2, r2, #13 8038aee: f242 7110 movw r1, #10000 ; 0x2710 8038af2: fb01 f202 mul.w r2, r1, r2 8038af6: 1a9a subs r2, r3, r2 8038af8: 4b77 ldr r3, [pc, #476] ; (8038cd8 ) 8038afa: fba3 1302 umull r1, r3, r3, r2 8038afe: 099b lsrs r3, r3, #6 8038b00: f44f 717a mov.w r1, #1000 ; 0x3e8 8038b04: fb01 f303 mul.w r3, r1, r3 8038b08: 1ad3 subs r3, r2, r3 8038b0a: 4a74 ldr r2, [pc, #464] ; (8038cdc ) 8038b0c: fba2 1203 umull r1, r2, r2, r3 8038b10: 0952 lsrs r2, r2, #5 8038b12: 2164 movs r1, #100 ; 0x64 8038b14: fb01 f202 mul.w r2, r1, r2 8038b18: 1a9a subs r2, r3, r2 8038b1a: 4b71 ldr r3, [pc, #452] ; (8038ce0 ) 8038b1c: fba3 1302 umull r1, r3, r3, r2 8038b20: 08d9 lsrs r1, r3, #3 8038b22: 460b mov r3, r1 8038b24: 009b lsls r3, r3, #2 8038b26: 440b add r3, r1 8038b28: 005b lsls r3, r3, #1 8038b2a: 1ad1 subs r1, r2, r3 8038b2c: b2cb uxtb r3, r1 8038b2e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8038b32: 4b64 ldr r3, [pc, #400] ; (8038cc4 ) 8038b34: 781b ldrb r3, [r3, #0] 8038b36: b2db uxtb r3, r3 8038b38: 3b1f subs r3, #31 8038b3a: 2b05 cmp r3, #5 8038b3c: d836 bhi.n 8038bac 8038b3e: a201 add r2, pc, #4 ; (adr r2, 8038b44 ) 8038b40: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8038b44: 08038b5d .word 0x08038b5d 8038b48: 08038b6b .word 0x08038b6b 8038b4c: 08038b7b .word 0x08038b7b 8038b50: 08038b89 .word 0x08038b89 8038b54: 08038b95 .word 0x08038b95 8038b58: 08038ba1 .word 0x08038ba1 k += 100000; 8038b5c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038b60: 4b5b ldr r3, [pc, #364] ; (8038cd0 ) 8038b62: 4413 add r3, r2 8038b64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038b68: e020 b.n 8038bac k += 10000; 8038b6a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038b6e: f242 7310 movw r3, #10000 ; 0x2710 8038b72: 4413 add r3, r2 8038b74: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038b78: e018 b.n 8038bac k += 1000; 8038b7a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038b7e: f503 737a add.w r3, r3, #1000 ; 0x3e8 8038b82: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038b86: e011 b.n 8038bac k += 100; 8038b88: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038b8c: 3364 adds r3, #100 ; 0x64 8038b8e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038b92: e00b b.n 8038bac k += 10; 8038b94: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038b98: 330a adds r3, #10 8038b9a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038b9e: e005 b.n 8038bac k++; 8038ba0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038ba4: 3301 adds r3, #1 8038ba6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038baa: bf00 nop fl = (float32_t) k; 8038bac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038bb0: ee07 3a90 vmov s15, r3 8038bb4: eef8 7a67 vcvt.f32.u32 s15, s15 8038bb8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8038bbc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8038bc0: ed9f 7a48 vldr s14, [pc, #288] ; 8038ce4 8038bc4: ee67 7a87 vmul.f32 s15, s15, s14 8038bc8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8038bcc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8038bd0: ed9f 7a45 vldr s14, [pc, #276] ; 8038ce8 8038bd4: ee77 7a87 vadd.f32 s15, s15, s14 8038bd8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8038bdc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8038be0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8038be4: eef4 7ac7 vcmpe.f32 s15, s14 8038be8: eef1 fa10 vmrs APSR_nzcv, fpscr 8038bec: d504 bpl.n 8038bf8 pardata.LP = 10.0f; 8038bee: 4b36 ldr r3, [pc, #216] ; (8038cc8 ) 8038bf0: 4a3e ldr r2, [pc, #248] ; (8038cec ) 8038bf2: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 8038bf6: e063 b.n 8038cc0 if(pardata.LP < pardata.HP) 8038bf8: 4b33 ldr r3, [pc, #204] ; (8038cc8 ) 8038bfa: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8038bfe: 4b32 ldr r3, [pc, #200] ; (8038cc8 ) 8038c00: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8038c04: eeb4 7ae7 vcmpe.f32 s14, s15 8038c08: eef1 fa10 vmrs APSR_nzcv, fpscr 8038c0c: d506 bpl.n 8038c1c pardata.LP = pardata.HP; 8038c0e: 4b2e ldr r3, [pc, #184] ; (8038cc8 ) 8038c10: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 8038c14: 4a2c ldr r2, [pc, #176] ; (8038cc8 ) 8038c16: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 if(fl < 10.0f) 8038c1a: e051 b.n 8038cc0 if(fl > 12800.0f) 8038c1c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8038c20: ed9f 7a33 vldr s14, [pc, #204] ; 8038cf0 8038c24: eef4 7ac7 vcmpe.f32 s15, s14 8038c28: eef1 fa10 vmrs APSR_nzcv, fpscr 8038c2c: dd04 ble.n 8038c38 pardata.LP = 12800.0f; 8038c2e: 4b26 ldr r3, [pc, #152] ; (8038cc8 ) 8038c30: 4a30 ldr r2, [pc, #192] ; (8038cf4 ) 8038c32: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 8038c36: e043 b.n 8038cc0 pardata.LP = (float32_t) k; 8038c38: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038c3c: ee07 3a90 vmov s15, r3 8038c40: eef8 7a67 vcvt.f32.u32 s15, s15 8038c44: 4b20 ldr r3, [pc, #128] ; (8038cc8 ) 8038c46: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 8038c4a: 4b1f ldr r3, [pc, #124] ; (8038cc8 ) 8038c4c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8038c50: ed9f 7a24 vldr s14, [pc, #144] ; 8038ce4 8038c54: ee67 7a87 vmul.f32 s15, s15, s14 8038c58: 4b1b ldr r3, [pc, #108] ; (8038cc8 ) 8038c5a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8038c5e: 4b1a ldr r3, [pc, #104] ; (8038cc8 ) 8038c60: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8038c64: ed9f 7a20 vldr s14, [pc, #128] ; 8038ce8 8038c68: ee77 7a87 vadd.f32 s15, s15, s14 8038c6c: 4b16 ldr r3, [pc, #88] ; (8038cc8 ) 8038c6e: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 if(fl < 10.0f) 8038c72: e025 b.n 8038cc0 if(pardata.HP < 2.0f) 8038c74: 4b14 ldr r3, [pc, #80] ; (8038cc8 ) 8038c76: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8038c7a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8038c7e: eef4 7ac7 vcmpe.f32 s15, s14 8038c82: eef1 fa10 vmrs APSR_nzcv, fpscr 8038c86: d508 bpl.n 8038c9a menupos--; 8038c88: 4b0e ldr r3, [pc, #56] ; (8038cc4 ) 8038c8a: 781b ldrb r3, [r3, #0] 8038c8c: b2db uxtb r3, r3 8038c8e: 3b01 subs r3, #1 8038c90: b2da uxtb r2, r3 8038c92: 4b0c ldr r3, [pc, #48] ; (8038cc4 ) 8038c94: 701a strb r2, [r3, #0] break; 8038c96: f003 b8e0 b.w 803be5a if(menupos == Average) 8038c9a: 4b0a ldr r3, [pc, #40] ; (8038cc4 ) 8038c9c: 781b ldrb r3, [r3, #0] 8038c9e: b2db uxtb r3, r3 8038ca0: 2b05 cmp r3, #5 8038ca2: d104 bne.n 8038cae menupos = ValueA; 8038ca4: 4b07 ldr r3, [pc, #28] ; (8038cc4 ) 8038ca6: 2202 movs r2, #2 8038ca8: 701a strb r2, [r3, #0] break; 8038caa: f003 b8d6 b.w 803be5a else menupos--; 8038cae: 4b05 ldr r3, [pc, #20] ; (8038cc4 ) 8038cb0: 781b ldrb r3, [r3, #0] 8038cb2: b2db uxtb r3, r3 8038cb4: 3b01 subs r3, #1 8038cb6: b2da uxtb r2, r3 8038cb8: 4b02 ldr r3, [pc, #8] ; (8038cc4 ) 8038cba: 701a strb r2, [r3, #0] break; 8038cbc: f003 b8cd b.w 803be5a 8038cc0: f003 b8cb b.w 803be5a 8038cc4: 20020070 .word 0x20020070 8038cc8: 20023e60 .word 0x20023e60 8038ccc: 0a7c5ac5 .word 0x0a7c5ac5 8038cd0: 000186a0 .word 0x000186a0 8038cd4: d1b71759 .word 0xd1b71759 8038cd8: 10624dd3 .word 0x10624dd3 8038cdc: 51eb851f .word 0x51eb851f 8038ce0: cccccccd .word 0xcccccccd 8038ce4: 3dcccccd .word 0x3dcccccd 8038ce8: 38d1b717 .word 0x38d1b717 8038cec: 41200000 .word 0x41200000 8038cf0: 46480000 .word 0x46480000 8038cf4: 46480000 .word 0x46480000 case PARAM_SPEC: focused = false; 8038cf8: 4bc9 ldr r3, [pc, #804] ; (8039020 ) 8038cfa: 2200 movs r2, #0 8038cfc: 701a strb r2, [r3, #0] switch(pardata.OPTIONS & maskFFT) 8038cfe: 4bc9 ldr r3, [pc, #804] ; (8039024 ) 8038d00: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8038d04: f003 0330 and.w r3, r3, #48 ; 0x30 8038d08: 2b10 cmp r3, #16 8038d0a: d00d beq.n 8038d28 8038d0c: 2b10 cmp r3, #16 8038d0e: d803 bhi.n 8038d18 8038d10: 2b00 cmp r3, #0 8038d12: d009 beq.n 8038d28 pardata.LP += 0.0001f; } } break; } break; 8038d14: f003 b8a1 b.w 803be5a switch(pardata.OPTIONS & maskFFT) 8038d18: 2b20 cmp r3, #32 8038d1a: f000 855f beq.w 80397dc 8038d1e: 2b30 cmp r3, #48 ; 0x30 8038d20: f000 855c beq.w 80397dc break; 8038d24: f003 b899 b.w 803be5a if(menupos == Ok) 8038d28: 4bbf ldr r3, [pc, #764] ; (8039028 ) 8038d2a: 781b ldrb r3, [r3, #0] 8038d2c: b2db uxtb r3, r3 8038d2e: 2b00 cmp r3, #0 8038d30: d110 bne.n 8038d54 if(pardata.OPTIONS & 0x4) 8038d32: 4bbc ldr r3, [pc, #752] ; (8039024 ) 8038d34: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8038d38: f003 0304 and.w r3, r3, #4 8038d3c: 2b00 cmp r3, #0 8038d3e: d004 beq.n 8038d4a menupos = VibAutoKu; 8038d40: 4bb9 ldr r3, [pc, #740] ; (8039028 ) 8038d42: 2208 movs r2, #8 8038d44: 701a strb r2, [r3, #0] break; 8038d46: f001 ba5c b.w 803a202 else menupos = VibMax_ALL; 8038d4a: 4bb7 ldr r3, [pc, #732] ; (8039028 ) 8038d4c: 2209 movs r2, #9 8038d4e: 701a strb r2, [r3, #0] break; 8038d50: f001 ba57 b.w 803a202 if(menupos == VibMax_ALL) 8038d54: 4bb4 ldr r3, [pc, #720] ; (8039028 ) 8038d56: 781b ldrb r3, [r3, #0] 8038d58: b2db uxtb r3, r3 8038d5a: 2b09 cmp r3, #9 8038d5c: d104 bne.n 8038d68 menupos = VibAutoKu; 8038d5e: 4bb2 ldr r3, [pc, #712] ; (8039028 ) 8038d60: 2208 movs r2, #8 8038d62: 701a strb r2, [r3, #0] break; 8038d64: f001 ba4d b.w 803a202 if(menupos == VibAutoKu) 8038d68: 4baf ldr r3, [pc, #700] ; (8039028 ) 8038d6a: 781b ldrb r3, [r3, #0] 8038d6c: b2db uxtb r3, r3 8038d6e: 2b08 cmp r3, #8 8038d70: d104 bne.n 8038d7c menupos = SAverage; 8038d72: 4bad ldr r3, [pc, #692] ; (8039028 ) 8038d74: 2207 movs r2, #7 8038d76: 701a strb r2, [r3, #0] break; 8038d78: f001 ba43 b.w 803a202 if(menupos == SAverage) 8038d7c: 4baa ldr r3, [pc, #680] ; (8039028 ) 8038d7e: 781b ldrb r3, [r3, #0] 8038d80: b2db uxtb r3, r3 8038d82: 2b07 cmp r3, #7 8038d84: d104 bne.n 8038d90 menupos = SpecWin; 8038d86: 4ba8 ldr r3, [pc, #672] ; (8039028 ) 8038d88: 2206 movs r2, #6 8038d8a: 701a strb r2, [r3, #0] break; 8038d8c: f001 ba39 b.w 803a202 if(menupos == SpecWin) 8038d90: 4ba5 ldr r3, [pc, #660] ; (8039028 ) 8038d92: 781b ldrb r3, [r3, #0] 8038d94: b2db uxtb r3, r3 8038d96: 2b06 cmp r3, #6 8038d98: d104 bne.n 8038da4 menupos = LinLog; 8038d9a: 4ba3 ldr r3, [pc, #652] ; (8039028 ) 8038d9c: 2205 movs r2, #5 8038d9e: 701a strb r2, [r3, #0] break; 8038da0: f001 ba2f b.w 803a202 if(menupos == LinLog) 8038da4: 4ba0 ldr r3, [pc, #640] ; (8039028 ) 8038da6: 781b ldrb r3, [r3, #0] 8038da8: b2db uxtb r3, r3 8038daa: 2b05 cmp r3, #5 8038dac: d104 bne.n 8038db8 menupos = SpecLines; 8038dae: 4b9e ldr r3, [pc, #632] ; (8039028 ) 8038db0: 2204 movs r2, #4 8038db2: 701a strb r2, [r3, #0] break; 8038db4: f001 ba25 b.w 803a202 if(menupos == SpecLines) 8038db8: 4b9b ldr r3, [pc, #620] ; (8039028 ) 8038dba: 781b ldrb r3, [r3, #0] 8038dbc: b2db uxtb r3, r3 8038dbe: 2b04 cmp r3, #4 8038dc0: d104 bne.n 8038dcc menupos = FilterLP; 8038dc2: 4b99 ldr r3, [pc, #612] ; (8039028 ) 8038dc4: 2218 movs r2, #24 8038dc6: 701a strb r2, [r3, #0] break; 8038dc8: f001 ba1b b.w 803a202 if(menupos == FilterLP) 8038dcc: 4b96 ldr r3, [pc, #600] ; (8039028 ) 8038dce: 781b ldrb r3, [r3, #0] 8038dd0: b2db uxtb r3, r3 8038dd2: 2b18 cmp r3, #24 8038dd4: d104 bne.n 8038de0 menupos = FilterHP; 8038dd6: 4b94 ldr r3, [pc, #592] ; (8039028 ) 8038dd8: 2217 movs r2, #23 8038dda: 701a strb r2, [r3, #0] break; 8038ddc: f001 ba11 b.w 803a202 if(menupos == FilterHP) 8038de0: 4b91 ldr r3, [pc, #580] ; (8039028 ) 8038de2: 781b ldrb r3, [r3, #0] 8038de4: b2db uxtb r3, r3 8038de6: 2b17 cmp r3, #23 8038de8: d104 bne.n 8038df4 menupos = SpecValue; 8038dea: 4b8f ldr r3, [pc, #572] ; (8039028 ) 8038dec: 2202 movs r2, #2 8038dee: 701a strb r2, [r3, #0] break; 8038df0: f001 ba07 b.w 803a202 if(menupos == SpecValue) 8038df4: 4b8c ldr r3, [pc, #560] ; (8039028 ) 8038df6: 781b ldrb r3, [r3, #0] 8038df8: b2db uxtb r3, r3 8038dfa: 2b02 cmp r3, #2 8038dfc: d104 bne.n 8038e08 menupos = SpecType; 8038dfe: 4b8a ldr r3, [pc, #552] ; (8039028 ) 8038e00: 2201 movs r2, #1 8038e02: 701a strb r2, [r3, #0] break; 8038e04: f001 b9fd b.w 803a202 if(menupos == SpecType) 8038e08: 4b87 ldr r3, [pc, #540] ; (8039028 ) 8038e0a: 781b ldrb r3, [r3, #0] 8038e0c: b2db uxtb r3, r3 8038e0e: 2b01 cmp r3, #1 8038e10: d104 bne.n 8038e1c menupos = Ok; 8038e12: 4b85 ldr r3, [pc, #532] ; (8039028 ) 8038e14: 2200 movs r2, #0 8038e16: 701a strb r2, [r3, #0] break; 8038e18: f001 b9f3 b.w 803a202 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8038e1c: 4b82 ldr r3, [pc, #520] ; (8039028 ) 8038e1e: 781b ldrb r3, [r3, #0] 8038e20: b2db uxtb r3, r3 8038e22: 2b0a cmp r3, #10 8038e24: f240 8147 bls.w 80390b6 8038e28: 4b7f ldr r3, [pc, #508] ; (8039028 ) 8038e2a: 781b ldrb r3, [r3, #0] 8038e2c: b2db uxtb r3, r3 8038e2e: 2b10 cmp r3, #16 8038e30: f200 8141 bhi.w 80390b6 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8038e34: 4b7b ldr r3, [pc, #492] ; (8039024 ) 8038e36: edd3 7a06 vldr s15, [r3, #24] 8038e3a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8038e3e: ee67 7a87 vmul.f32 s15, s15, s14 8038e42: eefc 7ae7 vcvt.u32.f32 s15, s15 8038e46: ee17 3a90 vmov r3, s15 8038e4a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8038e4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038e52: 095b lsrs r3, r3, #5 8038e54: 4a75 ldr r2, [pc, #468] ; (803902c ) 8038e56: fba2 2303 umull r2, r3, r2, r3 8038e5a: 09db lsrs r3, r3, #7 8038e5c: b2db uxtb r3, r3 8038e5e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8038e62: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038e66: 0953 lsrs r3, r2, #5 8038e68: 4970 ldr r1, [pc, #448] ; (803902c ) 8038e6a: fba1 1303 umull r1, r3, r1, r3 8038e6e: 09db lsrs r3, r3, #7 8038e70: 496f ldr r1, [pc, #444] ; (8039030 ) 8038e72: fb01 f303 mul.w r3, r1, r3 8038e76: 1ad3 subs r3, r2, r3 8038e78: 4a6e ldr r2, [pc, #440] ; (8039034 ) 8038e7a: fba2 2303 umull r2, r3, r2, r3 8038e7e: 0b5b lsrs r3, r3, #13 8038e80: b2db uxtb r3, r3 8038e82: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8038e86: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038e8a: 0953 lsrs r3, r2, #5 8038e8c: 4967 ldr r1, [pc, #412] ; (803902c ) 8038e8e: fba1 1303 umull r1, r3, r1, r3 8038e92: 09db lsrs r3, r3, #7 8038e94: 4966 ldr r1, [pc, #408] ; (8039030 ) 8038e96: fb01 f303 mul.w r3, r1, r3 8038e9a: 1ad3 subs r3, r2, r3 8038e9c: 4a65 ldr r2, [pc, #404] ; (8039034 ) 8038e9e: fba2 1203 umull r1, r2, r2, r3 8038ea2: 0b52 lsrs r2, r2, #13 8038ea4: f242 7110 movw r1, #10000 ; 0x2710 8038ea8: fb01 f202 mul.w r2, r1, r2 8038eac: 1a9a subs r2, r3, r2 8038eae: 4b62 ldr r3, [pc, #392] ; (8039038 ) 8038eb0: fba3 2302 umull r2, r3, r3, r2 8038eb4: 099b lsrs r3, r3, #6 8038eb6: b2db uxtb r3, r3 8038eb8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8038ebc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8038ec0: 095a lsrs r2, r3, #5 8038ec2: 495a ldr r1, [pc, #360] ; (803902c ) 8038ec4: fba1 1202 umull r1, r2, r1, r2 8038ec8: 09d2 lsrs r2, r2, #7 8038eca: 4959 ldr r1, [pc, #356] ; (8039030 ) 8038ecc: fb01 f202 mul.w r2, r1, r2 8038ed0: 1a9a subs r2, r3, r2 8038ed2: 4b58 ldr r3, [pc, #352] ; (8039034 ) 8038ed4: fba3 1302 umull r1, r3, r3, r2 8038ed8: 0b5b lsrs r3, r3, #13 8038eda: f242 7110 movw r1, #10000 ; 0x2710 8038ede: fb01 f303 mul.w r3, r1, r3 8038ee2: 1ad3 subs r3, r2, r3 8038ee4: 4a54 ldr r2, [pc, #336] ; (8039038 ) 8038ee6: fba2 1203 umull r1, r2, r2, r3 8038eea: 0992 lsrs r2, r2, #6 8038eec: f44f 717a mov.w r1, #1000 ; 0x3e8 8038ef0: fb01 f202 mul.w r2, r1, r2 8038ef4: 1a9a subs r2, r3, r2 8038ef6: 4b51 ldr r3, [pc, #324] ; (803903c ) 8038ef8: fba3 2302 umull r2, r3, r3, r2 8038efc: 095b lsrs r3, r3, #5 8038efe: b2db uxtb r3, r3 8038f00: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8038f04: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038f08: 0953 lsrs r3, r2, #5 8038f0a: 4948 ldr r1, [pc, #288] ; (803902c ) 8038f0c: fba1 1303 umull r1, r3, r1, r3 8038f10: 09db lsrs r3, r3, #7 8038f12: 4947 ldr r1, [pc, #284] ; (8039030 ) 8038f14: fb01 f303 mul.w r3, r1, r3 8038f18: 1ad3 subs r3, r2, r3 8038f1a: 4a46 ldr r2, [pc, #280] ; (8039034 ) 8038f1c: fba2 1203 umull r1, r2, r2, r3 8038f20: 0b52 lsrs r2, r2, #13 8038f22: f242 7110 movw r1, #10000 ; 0x2710 8038f26: fb01 f202 mul.w r2, r1, r2 8038f2a: 1a9a subs r2, r3, r2 8038f2c: 4b42 ldr r3, [pc, #264] ; (8039038 ) 8038f2e: fba3 1302 umull r1, r3, r3, r2 8038f32: 099b lsrs r3, r3, #6 8038f34: f44f 717a mov.w r1, #1000 ; 0x3e8 8038f38: fb01 f303 mul.w r3, r1, r3 8038f3c: 1ad3 subs r3, r2, r3 8038f3e: 4a3f ldr r2, [pc, #252] ; (803903c ) 8038f40: fba2 1203 umull r1, r2, r2, r3 8038f44: 0952 lsrs r2, r2, #5 8038f46: 2164 movs r1, #100 ; 0x64 8038f48: fb01 f202 mul.w r2, r1, r2 8038f4c: 1a9a subs r2, r3, r2 8038f4e: 4b3c ldr r3, [pc, #240] ; (8039040 ) 8038f50: fba3 2302 umull r2, r3, r3, r2 8038f54: 08db lsrs r3, r3, #3 8038f56: b2db uxtb r3, r3 8038f58: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8038f5c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038f60: 0953 lsrs r3, r2, #5 8038f62: 4932 ldr r1, [pc, #200] ; (803902c ) 8038f64: fba1 1303 umull r1, r3, r1, r3 8038f68: 09db lsrs r3, r3, #7 8038f6a: 4931 ldr r1, [pc, #196] ; (8039030 ) 8038f6c: fb01 f303 mul.w r3, r1, r3 8038f70: 1ad3 subs r3, r2, r3 8038f72: 4a30 ldr r2, [pc, #192] ; (8039034 ) 8038f74: fba2 1203 umull r1, r2, r2, r3 8038f78: 0b52 lsrs r2, r2, #13 8038f7a: f242 7110 movw r1, #10000 ; 0x2710 8038f7e: fb01 f202 mul.w r2, r1, r2 8038f82: 1a9a subs r2, r3, r2 8038f84: 4b2c ldr r3, [pc, #176] ; (8039038 ) 8038f86: fba3 1302 umull r1, r3, r3, r2 8038f8a: 099b lsrs r3, r3, #6 8038f8c: f44f 717a mov.w r1, #1000 ; 0x3e8 8038f90: fb01 f303 mul.w r3, r1, r3 8038f94: 1ad3 subs r3, r2, r3 8038f96: 4a29 ldr r2, [pc, #164] ; (803903c ) 8038f98: fba2 1203 umull r1, r2, r2, r3 8038f9c: 0952 lsrs r2, r2, #5 8038f9e: 2164 movs r1, #100 ; 0x64 8038fa0: fb01 f202 mul.w r2, r1, r2 8038fa4: 1a9a subs r2, r3, r2 8038fa6: 4b26 ldr r3, [pc, #152] ; (8039040 ) 8038fa8: fba3 1302 umull r1, r3, r3, r2 8038fac: 08d9 lsrs r1, r3, #3 8038fae: 460b mov r3, r1 8038fb0: 009b lsls r3, r3, #2 8038fb2: 440b add r3, r1 8038fb4: 005b lsls r3, r3, #1 8038fb6: 1ad1 subs r1, r2, r3 8038fb8: b2cb uxtb r3, r1 8038fba: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8038fbe: 4b1a ldr r3, [pc, #104] ; (8039028 ) 8038fc0: 781b ldrb r3, [r3, #0] 8038fc2: b2db uxtb r3, r3 8038fc4: 3b0b subs r3, #11 8038fc6: 2b05 cmp r3, #5 8038fc8: d848 bhi.n 803905c 8038fca: a201 add r2, pc, #4 ; (adr r2, 8038fd0 ) 8038fcc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8038fd0: 08038fe9 .word 0x08038fe9 8038fd4: 08038ff7 .word 0x08038ff7 8038fd8: 08039007 .word 0x08039007 8038fdc: 08039015 .word 0x08039015 8038fe0: 08039045 .word 0x08039045 8038fe4: 08039051 .word 0x08039051 k += 100000; 8038fe8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038fec: 4b10 ldr r3, [pc, #64] ; (8039030 ) 8038fee: 4413 add r3, r2 8038ff0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8038ff4: e032 b.n 803905c k += 10000; 8038ff6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8038ffa: f242 7310 movw r3, #10000 ; 0x2710 8038ffe: 4413 add r3, r2 8039000: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039004: e02a b.n 803905c k += 1000; 8039006: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803900a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803900e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039012: e023 b.n 803905c k += 100; 8039014: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039018: 3364 adds r3, #100 ; 0x64 803901a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803901e: e01d b.n 803905c 8039020: 20020f84 .word 0x20020f84 8039024: 20023e60 .word 0x20023e60 8039028: 20020070 .word 0x20020070 803902c: 0a7c5ac5 .word 0x0a7c5ac5 8039030: 000186a0 .word 0x000186a0 8039034: d1b71759 .word 0xd1b71759 8039038: 10624dd3 .word 0x10624dd3 803903c: 51eb851f .word 0x51eb851f 8039040: cccccccd .word 0xcccccccd k += 10; 8039044: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039048: 330a adds r3, #10 803904a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803904e: e005 b.n 803905c k++; 8039050: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039054: 3301 adds r3, #1 8039056: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803905a: bf00 nop if(k > 999999) k = 999999; 803905c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039060: 4ad1 ldr r2, [pc, #836] ; (80393a8 ) 8039062: 4293 cmp r3, r2 8039064: d902 bls.n 803906c 8039066: 4bd0 ldr r3, [pc, #832] ; (80393a8 ) 8039068: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803906c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039070: 2b00 cmp r3, #0 8039072: d102 bne.n 803907a 8039074: 2301 movs r3, #1 8039076: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803907a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803907e: ee07 3a90 vmov s15, r3 8039082: eef8 7a67 vcvt.f32.u32 s15, s15 8039086: 4bc9 ldr r3, [pc, #804] ; (80393ac ) 8039088: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803908c: 4bc7 ldr r3, [pc, #796] ; (80393ac ) 803908e: edd3 7a06 vldr s15, [r3, #24] 8039092: ed9f 7ac7 vldr s14, [pc, #796] ; 80393b0 8039096: ee67 7a87 vmul.f32 s15, s15, s14 803909a: 4bc4 ldr r3, [pc, #784] ; (80393ac ) 803909c: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80390a0: 4bc2 ldr r3, [pc, #776] ; (80393ac ) 80390a2: edd3 7a06 vldr s15, [r3, #24] 80390a6: ed9f 7ac3 vldr s14, [pc, #780] ; 80393b4 80390aa: ee77 7a87 vadd.f32 s15, s15, s14 80390ae: 4bbf ldr r3, [pc, #764] ; (80393ac ) 80390b0: edc3 7a06 vstr s15, [r3, #24] 80390b4: e390 b.n 80397d8 if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 80390b6: 4bc0 ldr r3, [pc, #768] ; (80393b8 ) 80390b8: 781b ldrb r3, [r3, #0] 80390ba: b2db uxtb r3, r3 80390bc: 2b18 cmp r3, #24 80390be: f240 81ba bls.w 8039436 80390c2: 4bbd ldr r3, [pc, #756] ; (80393b8 ) 80390c4: 781b ldrb r3, [r3, #0] 80390c6: b2db uxtb r3, r3 80390c8: 2b1e cmp r3, #30 80390ca: f200 81b4 bhi.w 8039436 k = (uint32_t) (pardata.HP * 10.0f); 80390ce: 4bb7 ldr r3, [pc, #732] ; (80393ac ) 80390d0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80390d4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80390d8: ee67 7a87 vmul.f32 s15, s15, s14 80390dc: eefc 7ae7 vcvt.u32.f32 s15, s15 80390e0: ee17 3a90 vmov r3, s15 80390e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80390e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80390ec: 095b lsrs r3, r3, #5 80390ee: 4ab3 ldr r2, [pc, #716] ; (80393bc ) 80390f0: fba2 2303 umull r2, r3, r2, r3 80390f4: 09db lsrs r3, r3, #7 80390f6: b2db uxtb r3, r3 80390f8: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80390fc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039100: 0953 lsrs r3, r2, #5 8039102: 49ae ldr r1, [pc, #696] ; (80393bc ) 8039104: fba1 1303 umull r1, r3, r1, r3 8039108: 09db lsrs r3, r3, #7 803910a: 49ad ldr r1, [pc, #692] ; (80393c0 ) 803910c: fb01 f303 mul.w r3, r1, r3 8039110: 1ad3 subs r3, r2, r3 8039112: 4aac ldr r2, [pc, #688] ; (80393c4 ) 8039114: fba2 2303 umull r2, r3, r2, r3 8039118: 0b5b lsrs r3, r3, #13 803911a: b2db uxtb r3, r3 803911c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8039120: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039124: 0953 lsrs r3, r2, #5 8039126: 49a5 ldr r1, [pc, #660] ; (80393bc ) 8039128: fba1 1303 umull r1, r3, r1, r3 803912c: 09db lsrs r3, r3, #7 803912e: 49a4 ldr r1, [pc, #656] ; (80393c0 ) 8039130: fb01 f303 mul.w r3, r1, r3 8039134: 1ad3 subs r3, r2, r3 8039136: 4aa3 ldr r2, [pc, #652] ; (80393c4 ) 8039138: fba2 1203 umull r1, r2, r2, r3 803913c: 0b52 lsrs r2, r2, #13 803913e: f242 7110 movw r1, #10000 ; 0x2710 8039142: fb01 f202 mul.w r2, r1, r2 8039146: 1a9a subs r2, r3, r2 8039148: 4b9f ldr r3, [pc, #636] ; (80393c8 ) 803914a: fba3 2302 umull r2, r3, r3, r2 803914e: 099b lsrs r3, r3, #6 8039150: b2db uxtb r3, r3 8039152: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8039156: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803915a: 095a lsrs r2, r3, #5 803915c: 4997 ldr r1, [pc, #604] ; (80393bc ) 803915e: fba1 1202 umull r1, r2, r1, r2 8039162: 09d2 lsrs r2, r2, #7 8039164: 4996 ldr r1, [pc, #600] ; (80393c0 ) 8039166: fb01 f202 mul.w r2, r1, r2 803916a: 1a9a subs r2, r3, r2 803916c: 4b95 ldr r3, [pc, #596] ; (80393c4 ) 803916e: fba3 1302 umull r1, r3, r3, r2 8039172: 0b5b lsrs r3, r3, #13 8039174: f242 7110 movw r1, #10000 ; 0x2710 8039178: fb01 f303 mul.w r3, r1, r3 803917c: 1ad3 subs r3, r2, r3 803917e: 4a92 ldr r2, [pc, #584] ; (80393c8 ) 8039180: fba2 1203 umull r1, r2, r2, r3 8039184: 0992 lsrs r2, r2, #6 8039186: f44f 717a mov.w r1, #1000 ; 0x3e8 803918a: fb01 f202 mul.w r2, r1, r2 803918e: 1a9a subs r2, r3, r2 8039190: 4b8e ldr r3, [pc, #568] ; (80393cc ) 8039192: fba3 2302 umull r2, r3, r3, r2 8039196: 095b lsrs r3, r3, #5 8039198: b2db uxtb r3, r3 803919a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803919e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80391a2: 0953 lsrs r3, r2, #5 80391a4: 4985 ldr r1, [pc, #532] ; (80393bc ) 80391a6: fba1 1303 umull r1, r3, r1, r3 80391aa: 09db lsrs r3, r3, #7 80391ac: 4984 ldr r1, [pc, #528] ; (80393c0 ) 80391ae: fb01 f303 mul.w r3, r1, r3 80391b2: 1ad3 subs r3, r2, r3 80391b4: 4a83 ldr r2, [pc, #524] ; (80393c4 ) 80391b6: fba2 1203 umull r1, r2, r2, r3 80391ba: 0b52 lsrs r2, r2, #13 80391bc: f242 7110 movw r1, #10000 ; 0x2710 80391c0: fb01 f202 mul.w r2, r1, r2 80391c4: 1a9a subs r2, r3, r2 80391c6: 4b80 ldr r3, [pc, #512] ; (80393c8 ) 80391c8: fba3 1302 umull r1, r3, r3, r2 80391cc: 099b lsrs r3, r3, #6 80391ce: f44f 717a mov.w r1, #1000 ; 0x3e8 80391d2: fb01 f303 mul.w r3, r1, r3 80391d6: 1ad3 subs r3, r2, r3 80391d8: 4a7c ldr r2, [pc, #496] ; (80393cc ) 80391da: fba2 1203 umull r1, r2, r2, r3 80391de: 0952 lsrs r2, r2, #5 80391e0: 2164 movs r1, #100 ; 0x64 80391e2: fb01 f202 mul.w r2, r1, r2 80391e6: 1a9a subs r2, r3, r2 80391e8: 4b79 ldr r3, [pc, #484] ; (80393d0 ) 80391ea: fba3 2302 umull r2, r3, r3, r2 80391ee: 08db lsrs r3, r3, #3 80391f0: b2db uxtb r3, r3 80391f2: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80391f6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80391fa: 0953 lsrs r3, r2, #5 80391fc: 496f ldr r1, [pc, #444] ; (80393bc ) 80391fe: fba1 1303 umull r1, r3, r1, r3 8039202: 09db lsrs r3, r3, #7 8039204: 496e ldr r1, [pc, #440] ; (80393c0 ) 8039206: fb01 f303 mul.w r3, r1, r3 803920a: 1ad3 subs r3, r2, r3 803920c: 4a6d ldr r2, [pc, #436] ; (80393c4 ) 803920e: fba2 1203 umull r1, r2, r2, r3 8039212: 0b52 lsrs r2, r2, #13 8039214: f242 7110 movw r1, #10000 ; 0x2710 8039218: fb01 f202 mul.w r2, r1, r2 803921c: 1a9a subs r2, r3, r2 803921e: 4b6a ldr r3, [pc, #424] ; (80393c8 ) 8039220: fba3 1302 umull r1, r3, r3, r2 8039224: 099b lsrs r3, r3, #6 8039226: f44f 717a mov.w r1, #1000 ; 0x3e8 803922a: fb01 f303 mul.w r3, r1, r3 803922e: 1ad3 subs r3, r2, r3 8039230: 4a66 ldr r2, [pc, #408] ; (80393cc ) 8039232: fba2 1203 umull r1, r2, r2, r3 8039236: 0952 lsrs r2, r2, #5 8039238: 2164 movs r1, #100 ; 0x64 803923a: fb01 f202 mul.w r2, r1, r2 803923e: 1a9a subs r2, r3, r2 8039240: 4b63 ldr r3, [pc, #396] ; (80393d0 ) 8039242: fba3 1302 umull r1, r3, r3, r2 8039246: 08d9 lsrs r1, r3, #3 8039248: 460b mov r3, r1 803924a: 009b lsls r3, r3, #2 803924c: 440b add r3, r1 803924e: 005b lsls r3, r3, #1 8039250: 1ad1 subs r1, r2, r3 8039252: b2cb uxtb r3, r1 8039254: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8039258: 4b57 ldr r3, [pc, #348] ; (80393b8 ) 803925a: 781b ldrb r3, [r3, #0] 803925c: b2db uxtb r3, r3 803925e: 3b19 subs r3, #25 8039260: 2b05 cmp r3, #5 8039262: d837 bhi.n 80392d4 8039264: a201 add r2, pc, #4 ; (adr r2, 803926c ) 8039266: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803926a: bf00 nop 803926c: 08039285 .word 0x08039285 8039270: 08039293 .word 0x08039293 8039274: 080392a3 .word 0x080392a3 8039278: 080392b1 .word 0x080392b1 803927c: 080392bd .word 0x080392bd 8039280: 080392c9 .word 0x080392c9 k += 100000; 8039284: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039288: 4b4d ldr r3, [pc, #308] ; (80393c0 ) 803928a: 4413 add r3, r2 803928c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039290: e020 b.n 80392d4 k += 10000; 8039292: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039296: f242 7310 movw r3, #10000 ; 0x2710 803929a: 4413 add r3, r2 803929c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80392a0: e018 b.n 80392d4 k += 1000; 80392a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80392a6: f503 737a add.w r3, r3, #1000 ; 0x3e8 80392aa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80392ae: e011 b.n 80392d4 k += 100; 80392b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80392b4: 3364 adds r3, #100 ; 0x64 80392b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80392ba: e00b b.n 80392d4 k += 10; 80392bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80392c0: 330a adds r3, #10 80392c2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80392c6: e005 b.n 80392d4 k++; 80392c8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80392cc: 3301 adds r3, #1 80392ce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80392d2: bf00 nop fl = (float32_t) k; 80392d4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80392d8: ee07 3a90 vmov s15, r3 80392dc: eef8 7a67 vcvt.f32.u32 s15, s15 80392e0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80392e4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80392e8: ed9f 7a31 vldr s14, [pc, #196] ; 80393b0 80392ec: ee67 7a87 vmul.f32 s15, s15, s14 80392f0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80392f4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80392f8: ed9f 7a36 vldr s14, [pc, #216] ; 80393d4 80392fc: ee77 7a87 vadd.f32 s15, s15, s14 8039300: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 8039304: 4b29 ldr r3, [pc, #164] ; (80393ac ) 8039306: 785b ldrb r3, [r3, #1] 8039308: b2db uxtb r3, r3 803930a: 2b00 cmp r3, #0 803930c: d13d bne.n 803938a if(fl < 0.5f) 803930e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039312: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8039316: eef4 7ac7 vcmpe.f32 s15, s14 803931a: eef1 fa10 vmrs APSR_nzcv, fpscr 803931e: d505 bpl.n 803932c pardata.HP = 0.5f; 8039320: 4b22 ldr r3, [pc, #136] ; (80393ac ) 8039322: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8039326: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803932a: e255 b.n 80397d8 if(fl > pardata.LP) 803932c: 4b1f ldr r3, [pc, #124] ; (80393ac ) 803932e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039332: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039336: eeb4 7ae7 vcmpe.f32 s14, s15 803933a: eef1 fa10 vmrs APSR_nzcv, fpscr 803933e: d506 bpl.n 803934e pardata.HP = pardata.LP; 8039340: 4b1a ldr r3, [pc, #104] ; (80393ac ) 8039342: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8039346: 4a19 ldr r2, [pc, #100] ; (80393ac ) 8039348: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803934c: e244 b.n 80397d8 pardata.HP = (float32_t) k; 803934e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039352: ee07 3a90 vmov s15, r3 8039356: eef8 7a67 vcvt.f32.u32 s15, s15 803935a: 4b14 ldr r3, [pc, #80] ; (80393ac ) 803935c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8039360: 4b12 ldr r3, [pc, #72] ; (80393ac ) 8039362: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039366: ed9f 7a12 vldr s14, [pc, #72] ; 80393b0 803936a: ee67 7a87 vmul.f32 s15, s15, s14 803936e: 4b0f ldr r3, [pc, #60] ; (80393ac ) 8039370: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8039374: 4b0d ldr r3, [pc, #52] ; (80393ac ) 8039376: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803937a: ed9f 7a16 vldr s14, [pc, #88] ; 80393d4 803937e: ee77 7a87 vadd.f32 s15, s15, s14 8039382: 4b0a ldr r3, [pc, #40] ; (80393ac ) 8039384: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039388: e226 b.n 80397d8 if(fl < 2.0f) 803938a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803938e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8039392: eef4 7ac7 vcmpe.f32 s15, s14 8039396: eef1 fa10 vmrs APSR_nzcv, fpscr 803939a: d51d bpl.n 80393d8 pardata.HP = 2.0f; 803939c: 4b03 ldr r3, [pc, #12] ; (80393ac ) 803939e: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80393a2: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80393a6: e217 b.n 80397d8 80393a8: 000f423f .word 0x000f423f 80393ac: 20023e60 .word 0x20023e60 80393b0: 3dcccccd .word 0x3dcccccd 80393b4: 3d4ccccd .word 0x3d4ccccd 80393b8: 20020070 .word 0x20020070 80393bc: 0a7c5ac5 .word 0x0a7c5ac5 80393c0: 000186a0 .word 0x000186a0 80393c4: d1b71759 .word 0xd1b71759 80393c8: 10624dd3 .word 0x10624dd3 80393cc: 51eb851f .word 0x51eb851f 80393d0: cccccccd .word 0xcccccccd 80393d4: 38d1b717 .word 0x38d1b717 if(fl > pardata.LP) 80393d8: 4bd2 ldr r3, [pc, #840] ; (8039724 ) 80393da: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80393de: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80393e2: eeb4 7ae7 vcmpe.f32 s14, s15 80393e6: eef1 fa10 vmrs APSR_nzcv, fpscr 80393ea: d506 bpl.n 80393fa pardata.HP = pardata.LP; 80393ec: 4bcd ldr r3, [pc, #820] ; (8039724 ) 80393ee: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 80393f2: 4acc ldr r2, [pc, #816] ; (8039724 ) 80393f4: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 80393f8: e1ee b.n 80397d8 pardata.HP = (float32_t) k; 80393fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80393fe: ee07 3a90 vmov s15, r3 8039402: eef8 7a67 vcvt.f32.u32 s15, s15 8039406: 4bc7 ldr r3, [pc, #796] ; (8039724 ) 8039408: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803940c: 4bc5 ldr r3, [pc, #788] ; (8039724 ) 803940e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039412: ed9f 7ac5 vldr s14, [pc, #788] ; 8039728 8039416: ee67 7a87 vmul.f32 s15, s15, s14 803941a: 4bc2 ldr r3, [pc, #776] ; (8039724 ) 803941c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8039420: 4bc0 ldr r3, [pc, #768] ; (8039724 ) 8039422: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039426: ed9f 7ac1 vldr s14, [pc, #772] ; 803972c 803942a: ee77 7a87 vadd.f32 s15, s15, s14 803942e: 4bbd ldr r3, [pc, #756] ; (8039724 ) 8039430: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039434: e1d0 b.n 80397d8 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8039436: 4bbe ldr r3, [pc, #760] ; (8039730 ) 8039438: 781b ldrb r3, [r3, #0] 803943a: b2db uxtb r3, r3 803943c: 2b1e cmp r3, #30 803943e: f240 86e0 bls.w 803a202 8039442: 4bbb ldr r3, [pc, #748] ; (8039730 ) 8039444: 781b ldrb r3, [r3, #0] 8039446: b2db uxtb r3, r3 8039448: 2b24 cmp r3, #36 ; 0x24 803944a: f200 86da bhi.w 803a202 k = (uint32_t) (pardata.LP * 10.0f); 803944e: 4bb5 ldr r3, [pc, #724] ; (8039724 ) 8039450: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8039454: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8039458: ee67 7a87 vmul.f32 s15, s15, s14 803945c: eefc 7ae7 vcvt.u32.f32 s15, s15 8039460: ee17 3a90 vmov r3, s15 8039464: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8039468: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803946c: 095b lsrs r3, r3, #5 803946e: 4ab1 ldr r2, [pc, #708] ; (8039734 ) 8039470: fba2 2303 umull r2, r3, r2, r3 8039474: 09db lsrs r3, r3, #7 8039476: b2db uxtb r3, r3 8039478: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803947c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039480: 0953 lsrs r3, r2, #5 8039482: 49ac ldr r1, [pc, #688] ; (8039734 ) 8039484: fba1 1303 umull r1, r3, r1, r3 8039488: 09db lsrs r3, r3, #7 803948a: 49ab ldr r1, [pc, #684] ; (8039738 ) 803948c: fb01 f303 mul.w r3, r1, r3 8039490: 1ad3 subs r3, r2, r3 8039492: 4aaa ldr r2, [pc, #680] ; (803973c ) 8039494: fba2 2303 umull r2, r3, r2, r3 8039498: 0b5b lsrs r3, r3, #13 803949a: b2db uxtb r3, r3 803949c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80394a0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80394a4: 0953 lsrs r3, r2, #5 80394a6: 49a3 ldr r1, [pc, #652] ; (8039734 ) 80394a8: fba1 1303 umull r1, r3, r1, r3 80394ac: 09db lsrs r3, r3, #7 80394ae: 49a2 ldr r1, [pc, #648] ; (8039738 ) 80394b0: fb01 f303 mul.w r3, r1, r3 80394b4: 1ad3 subs r3, r2, r3 80394b6: 4aa1 ldr r2, [pc, #644] ; (803973c ) 80394b8: fba2 1203 umull r1, r2, r2, r3 80394bc: 0b52 lsrs r2, r2, #13 80394be: f242 7110 movw r1, #10000 ; 0x2710 80394c2: fb01 f202 mul.w r2, r1, r2 80394c6: 1a9a subs r2, r3, r2 80394c8: 4b9d ldr r3, [pc, #628] ; (8039740 ) 80394ca: fba3 2302 umull r2, r3, r3, r2 80394ce: 099b lsrs r3, r3, #6 80394d0: b2db uxtb r3, r3 80394d2: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80394d6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80394da: 095a lsrs r2, r3, #5 80394dc: 4995 ldr r1, [pc, #596] ; (8039734 ) 80394de: fba1 1202 umull r1, r2, r1, r2 80394e2: 09d2 lsrs r2, r2, #7 80394e4: 4994 ldr r1, [pc, #592] ; (8039738 ) 80394e6: fb01 f202 mul.w r2, r1, r2 80394ea: 1a9a subs r2, r3, r2 80394ec: 4b93 ldr r3, [pc, #588] ; (803973c ) 80394ee: fba3 1302 umull r1, r3, r3, r2 80394f2: 0b5b lsrs r3, r3, #13 80394f4: f242 7110 movw r1, #10000 ; 0x2710 80394f8: fb01 f303 mul.w r3, r1, r3 80394fc: 1ad3 subs r3, r2, r3 80394fe: 4a90 ldr r2, [pc, #576] ; (8039740 ) 8039500: fba2 1203 umull r1, r2, r2, r3 8039504: 0992 lsrs r2, r2, #6 8039506: f44f 717a mov.w r1, #1000 ; 0x3e8 803950a: fb01 f202 mul.w r2, r1, r2 803950e: 1a9a subs r2, r3, r2 8039510: 4b8c ldr r3, [pc, #560] ; (8039744 ) 8039512: fba3 2302 umull r2, r3, r3, r2 8039516: 095b lsrs r3, r3, #5 8039518: b2db uxtb r3, r3 803951a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803951e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039522: 0953 lsrs r3, r2, #5 8039524: 4983 ldr r1, [pc, #524] ; (8039734 ) 8039526: fba1 1303 umull r1, r3, r1, r3 803952a: 09db lsrs r3, r3, #7 803952c: 4982 ldr r1, [pc, #520] ; (8039738 ) 803952e: fb01 f303 mul.w r3, r1, r3 8039532: 1ad3 subs r3, r2, r3 8039534: 4a81 ldr r2, [pc, #516] ; (803973c ) 8039536: fba2 1203 umull r1, r2, r2, r3 803953a: 0b52 lsrs r2, r2, #13 803953c: f242 7110 movw r1, #10000 ; 0x2710 8039540: fb01 f202 mul.w r2, r1, r2 8039544: 1a9a subs r2, r3, r2 8039546: 4b7e ldr r3, [pc, #504] ; (8039740 ) 8039548: fba3 1302 umull r1, r3, r3, r2 803954c: 099b lsrs r3, r3, #6 803954e: f44f 717a mov.w r1, #1000 ; 0x3e8 8039552: fb01 f303 mul.w r3, r1, r3 8039556: 1ad3 subs r3, r2, r3 8039558: 4a7a ldr r2, [pc, #488] ; (8039744 ) 803955a: fba2 1203 umull r1, r2, r2, r3 803955e: 0952 lsrs r2, r2, #5 8039560: 2164 movs r1, #100 ; 0x64 8039562: fb01 f202 mul.w r2, r1, r2 8039566: 1a9a subs r2, r3, r2 8039568: 4b77 ldr r3, [pc, #476] ; (8039748 ) 803956a: fba3 2302 umull r2, r3, r3, r2 803956e: 08db lsrs r3, r3, #3 8039570: b2db uxtb r3, r3 8039572: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8039576: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803957a: 0953 lsrs r3, r2, #5 803957c: 496d ldr r1, [pc, #436] ; (8039734 ) 803957e: fba1 1303 umull r1, r3, r1, r3 8039582: 09db lsrs r3, r3, #7 8039584: 496c ldr r1, [pc, #432] ; (8039738 ) 8039586: fb01 f303 mul.w r3, r1, r3 803958a: 1ad3 subs r3, r2, r3 803958c: 4a6b ldr r2, [pc, #428] ; (803973c ) 803958e: fba2 1203 umull r1, r2, r2, r3 8039592: 0b52 lsrs r2, r2, #13 8039594: f242 7110 movw r1, #10000 ; 0x2710 8039598: fb01 f202 mul.w r2, r1, r2 803959c: 1a9a subs r2, r3, r2 803959e: 4b68 ldr r3, [pc, #416] ; (8039740 ) 80395a0: fba3 1302 umull r1, r3, r3, r2 80395a4: 099b lsrs r3, r3, #6 80395a6: f44f 717a mov.w r1, #1000 ; 0x3e8 80395aa: fb01 f303 mul.w r3, r1, r3 80395ae: 1ad3 subs r3, r2, r3 80395b0: 4a64 ldr r2, [pc, #400] ; (8039744 ) 80395b2: fba2 1203 umull r1, r2, r2, r3 80395b6: 0952 lsrs r2, r2, #5 80395b8: 2164 movs r1, #100 ; 0x64 80395ba: fb01 f202 mul.w r2, r1, r2 80395be: 1a9a subs r2, r3, r2 80395c0: 4b61 ldr r3, [pc, #388] ; (8039748 ) 80395c2: fba3 1302 umull r1, r3, r3, r2 80395c6: 08d9 lsrs r1, r3, #3 80395c8: 460b mov r3, r1 80395ca: 009b lsls r3, r3, #2 80395cc: 440b add r3, r1 80395ce: 005b lsls r3, r3, #1 80395d0: 1ad1 subs r1, r2, r3 80395d2: b2cb uxtb r3, r1 80395d4: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80395d8: 4b55 ldr r3, [pc, #340] ; (8039730 ) 80395da: 781b ldrb r3, [r3, #0] 80395dc: b2db uxtb r3, r3 80395de: 3b1f subs r3, #31 80395e0: 2b05 cmp r3, #5 80395e2: d837 bhi.n 8039654 80395e4: a201 add r2, pc, #4 ; (adr r2, 80395ec ) 80395e6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80395ea: bf00 nop 80395ec: 08039605 .word 0x08039605 80395f0: 08039613 .word 0x08039613 80395f4: 08039623 .word 0x08039623 80395f8: 08039631 .word 0x08039631 80395fc: 0803963d .word 0x0803963d 8039600: 08039649 .word 0x08039649 k += 100000; 8039604: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039608: 4b4b ldr r3, [pc, #300] ; (8039738 ) 803960a: 4413 add r3, r2 803960c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039610: e020 b.n 8039654 k += 10000; 8039612: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039616: f242 7310 movw r3, #10000 ; 0x2710 803961a: 4413 add r3, r2 803961c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039620: e018 b.n 8039654 k += 1000; 8039622: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039626: f503 737a add.w r3, r3, #1000 ; 0x3e8 803962a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803962e: e011 b.n 8039654 k += 100; 8039630: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039634: 3364 adds r3, #100 ; 0x64 8039636: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803963a: e00b b.n 8039654 k += 10; 803963c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039640: 330a adds r3, #10 8039642: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039646: e005 b.n 8039654 k++; 8039648: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803964c: 3301 adds r3, #1 803964e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039652: bf00 nop fl = (float32_t) k; 8039654: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039658: ee07 3a90 vmov s15, r3 803965c: eef8 7a67 vcvt.f32.u32 s15, s15 8039660: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8039664: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039668: ed9f 7a2f vldr s14, [pc, #188] ; 8039728 803966c: ee67 7a87 vmul.f32 s15, s15, s14 8039670: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8039674: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039678: ed9f 7a2c vldr s14, [pc, #176] ; 803972c 803967c: ee77 7a87 vadd.f32 s15, s15, s14 8039680: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8039684: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039688: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803968c: eef4 7ac7 vcmpe.f32 s15, s14 8039690: eef1 fa10 vmrs APSR_nzcv, fpscr 8039694: d504 bpl.n 80396a0 pardata.LP = 10.0f; 8039696: 4b23 ldr r3, [pc, #140] ; (8039724 ) 8039698: 4a2c ldr r2, [pc, #176] ; (803974c ) 803969a: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 803969e: e03c b.n 803971a if(pardata.LP < pardata.HP) 80396a0: 4b20 ldr r3, [pc, #128] ; (8039724 ) 80396a2: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80396a6: 4b1f ldr r3, [pc, #124] ; (8039724 ) 80396a8: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80396ac: eeb4 7ae7 vcmpe.f32 s14, s15 80396b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80396b4: d506 bpl.n 80396c4 pardata.LP = pardata.HP; 80396b6: 4b1b ldr r3, [pc, #108] ; (8039724 ) 80396b8: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 80396bc: 4a19 ldr r2, [pc, #100] ; (8039724 ) 80396be: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 80396c2: e02a b.n 803971a if(fl > 12800.0f) 80396c4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80396c8: ed9f 7a21 vldr s14, [pc, #132] ; 8039750 80396cc: eef4 7ac7 vcmpe.f32 s15, s14 80396d0: eef1 fa10 vmrs APSR_nzcv, fpscr 80396d4: dd04 ble.n 80396e0 pardata.LP = 12800.0f; 80396d6: 4b13 ldr r3, [pc, #76] ; (8039724 ) 80396d8: 4a1e ldr r2, [pc, #120] ; (8039754 ) 80396da: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 80396de: e01c b.n 803971a pardata.LP = (float32_t) k; 80396e0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80396e4: ee07 3a90 vmov s15, r3 80396e8: eef8 7a67 vcvt.f32.u32 s15, s15 80396ec: 4b0d ldr r3, [pc, #52] ; (8039724 ) 80396ee: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 80396f2: 4b0c ldr r3, [pc, #48] ; (8039724 ) 80396f4: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80396f8: ed9f 7a0b vldr s14, [pc, #44] ; 8039728 80396fc: ee67 7a87 vmul.f32 s15, s15, s14 8039700: 4b08 ldr r3, [pc, #32] ; (8039724 ) 8039702: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8039706: 4b07 ldr r3, [pc, #28] ; (8039724 ) 8039708: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803970c: ed9f 7a07 vldr s14, [pc, #28] ; 803972c 8039710: ee77 7a87 vadd.f32 s15, s15, s14 8039714: 4b03 ldr r3, [pc, #12] ; (8039724 ) 8039716: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 k = _64000Hz; 803971a: 2309 movs r3, #9 803971c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8039720: e054 b.n 80397cc 8039722: bf00 nop 8039724: 20023e60 .word 0x20023e60 8039728: 3dcccccd .word 0x3dcccccd 803972c: 38d1b717 .word 0x38d1b717 8039730: 20020070 .word 0x20020070 8039734: 0a7c5ac5 .word 0x0a7c5ac5 8039738: 000186a0 .word 0x000186a0 803973c: d1b71759 .word 0xd1b71759 8039740: 10624dd3 .word 0x10624dd3 8039744: 51eb851f .word 0x51eb851f 8039748: cccccccd .word 0xcccccccd 803974c: 41200000 .word 0x41200000 8039750: 46480000 .word 0x46480000 8039754: 46480000 .word 0x46480000 f = (float32_t) FS[k] / pardata.LP; 8039758: 4aca ldr r2, [pc, #808] ; (8039a84 ) 803975a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803975e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8039762: ee07 3a90 vmov s15, r3 8039766: eef8 6a67 vcvt.f32.u32 s13, s15 803976a: 4bc7 ldr r3, [pc, #796] ; (8039a88 ) 803976c: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039770: eec6 7a87 vdiv.f32 s15, s13, s14 8039774: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8039778: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 803977c: ed9f 7ac3 vldr s14, [pc, #780] ; 8039a8c 8039780: ee77 7a87 vadd.f32 s15, s15, s14 8039784: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8039788: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 803978c: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8039790: eef4 7ac7 vcmpe.f32 s15, s14 8039794: eef1 fa10 vmrs APSR_nzcv, fpscr 8039798: d507 bpl.n 80397aa pardata.FRQ = k + 1; 803979a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803979e: b2db uxtb r3, r3 80397a0: 3301 adds r3, #1 80397a2: b2da uxtb r2, r3 80397a4: 4bb8 ldr r3, [pc, #736] ; (8039a88 ) 80397a6: 72da strb r2, [r3, #11] break; 80397a8: e016 b.n 80397d8 if(k > 0) 80397aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80397ae: 2b00 cmp r3, #0 80397b0: d004 beq.n 80397bc k--; 80397b2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80397b6: 3b01 subs r3, #1 80397b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 80397bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80397c0: 2b00 cmp r3, #0 80397c2: d103 bne.n 80397cc pardata.FRQ = _125Hz; 80397c4: 4bb0 ldr r3, [pc, #704] ; (8039a88 ) 80397c6: 2200 movs r2, #0 80397c8: 72da strb r2, [r3, #11] break; 80397ca: e005 b.n 80397d8 while(k > _125Hz) 80397cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80397d0: 2b00 cmp r3, #0 80397d2: d1c1 bne.n 8039758 break; 80397d4: f000 bd15 b.w 803a202 80397d8: f000 bd13 b.w 803a202 if(menupos == Ok) 80397dc: 4bac ldr r3, [pc, #688] ; (8039a90 ) 80397de: 781b ldrb r3, [r3, #0] 80397e0: b2db uxtb r3, r3 80397e2: 2b00 cmp r3, #0 80397e4: d110 bne.n 8039808 if(pardata.OPTIONS & 0x4) 80397e6: 4ba8 ldr r3, [pc, #672] ; (8039a88 ) 80397e8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80397ec: f003 0304 and.w r3, r3, #4 80397f0: 2b00 cmp r3, #0 80397f2: d004 beq.n 80397fe menupos = VibAutoKu; 80397f4: 4ba6 ldr r3, [pc, #664] ; (8039a90 ) 80397f6: 2208 movs r2, #8 80397f8: 701a strb r2, [r3, #0] break; 80397fa: f000 bd05 b.w 803a208 else menupos = VibMax_ALL; 80397fe: 4ba4 ldr r3, [pc, #656] ; (8039a90 ) 8039800: 2209 movs r2, #9 8039802: 701a strb r2, [r3, #0] break; 8039804: f000 bd00 b.w 803a208 if(menupos == VibMax_ALL) 8039808: 4ba1 ldr r3, [pc, #644] ; (8039a90 ) 803980a: 781b ldrb r3, [r3, #0] 803980c: b2db uxtb r3, r3 803980e: 2b09 cmp r3, #9 8039810: d104 bne.n 803981c menupos = VibAutoKu; 8039812: 4b9f ldr r3, [pc, #636] ; (8039a90 ) 8039814: 2208 movs r2, #8 8039816: 701a strb r2, [r3, #0] break; 8039818: f000 bcf6 b.w 803a208 if(menupos == VibAutoKu) 803981c: 4b9c ldr r3, [pc, #624] ; (8039a90 ) 803981e: 781b ldrb r3, [r3, #0] 8039820: b2db uxtb r3, r3 8039822: 2b08 cmp r3, #8 8039824: d104 bne.n 8039830 menupos = SAverage; 8039826: 4b9a ldr r3, [pc, #616] ; (8039a90 ) 8039828: 2207 movs r2, #7 803982a: 701a strb r2, [r3, #0] break; 803982c: f000 bcec b.w 803a208 if(menupos == SAverage) 8039830: 4b97 ldr r3, [pc, #604] ; (8039a90 ) 8039832: 781b ldrb r3, [r3, #0] 8039834: b2db uxtb r3, r3 8039836: 2b07 cmp r3, #7 8039838: d104 bne.n 8039844 menupos = LinLog; 803983a: 4b95 ldr r3, [pc, #596] ; (8039a90 ) 803983c: 2205 movs r2, #5 803983e: 701a strb r2, [r3, #0] break; 8039840: f000 bce2 b.w 803a208 if(menupos == LinLog) 8039844: 4b92 ldr r3, [pc, #584] ; (8039a90 ) 8039846: 781b ldrb r3, [r3, #0] 8039848: b2db uxtb r3, r3 803984a: 2b05 cmp r3, #5 803984c: d104 bne.n 8039858 menupos = FilterLP; 803984e: 4b90 ldr r3, [pc, #576] ; (8039a90 ) 8039850: 2218 movs r2, #24 8039852: 701a strb r2, [r3, #0] break; 8039854: f000 bcd8 b.w 803a208 if(menupos == FilterLP) 8039858: 4b8d ldr r3, [pc, #564] ; (8039a90 ) 803985a: 781b ldrb r3, [r3, #0] 803985c: b2db uxtb r3, r3 803985e: 2b18 cmp r3, #24 8039860: d104 bne.n 803986c menupos = FilterHP; 8039862: 4b8b ldr r3, [pc, #556] ; (8039a90 ) 8039864: 2217 movs r2, #23 8039866: 701a strb r2, [r3, #0] break; 8039868: f000 bcce b.w 803a208 if(menupos == FilterHP) 803986c: 4b88 ldr r3, [pc, #544] ; (8039a90 ) 803986e: 781b ldrb r3, [r3, #0] 8039870: b2db uxtb r3, r3 8039872: 2b17 cmp r3, #23 8039874: d104 bne.n 8039880 menupos = SpecValue; 8039876: 4b86 ldr r3, [pc, #536] ; (8039a90 ) 8039878: 2202 movs r2, #2 803987a: 701a strb r2, [r3, #0] break; 803987c: f000 bcc4 b.w 803a208 if(menupos == SpecValue) 8039880: 4b83 ldr r3, [pc, #524] ; (8039a90 ) 8039882: 781b ldrb r3, [r3, #0] 8039884: b2db uxtb r3, r3 8039886: 2b02 cmp r3, #2 8039888: d104 bne.n 8039894 menupos = SpecType; 803988a: 4b81 ldr r3, [pc, #516] ; (8039a90 ) 803988c: 2201 movs r2, #1 803988e: 701a strb r2, [r3, #0] break; 8039890: f000 bcba b.w 803a208 if(menupos == SpecType) 8039894: 4b7e ldr r3, [pc, #504] ; (8039a90 ) 8039896: 781b ldrb r3, [r3, #0] 8039898: b2db uxtb r3, r3 803989a: 2b01 cmp r3, #1 803989c: d104 bne.n 80398a8 menupos = Ok; 803989e: 4b7c ldr r3, [pc, #496] ; (8039a90 ) 80398a0: 2200 movs r2, #0 80398a2: 701a strb r2, [r3, #0] break; 80398a4: f000 bcb0 b.w 803a208 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 80398a8: 4b79 ldr r3, [pc, #484] ; (8039a90 ) 80398aa: 781b ldrb r3, [r3, #0] 80398ac: b2db uxtb r3, r3 80398ae: 2b0a cmp r3, #10 80398b0: f240 814a bls.w 8039b48 80398b4: 4b76 ldr r3, [pc, #472] ; (8039a90 ) 80398b6: 781b ldrb r3, [r3, #0] 80398b8: b2db uxtb r3, r3 80398ba: 2b10 cmp r3, #16 80398bc: f200 8144 bhi.w 8039b48 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80398c0: 4b71 ldr r3, [pc, #452] ; (8039a88 ) 80398c2: edd3 7a06 vldr s15, [r3, #24] 80398c6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80398ca: ee67 7a87 vmul.f32 s15, s15, s14 80398ce: eefc 7ae7 vcvt.u32.f32 s15, s15 80398d2: ee17 3a90 vmov r3, s15 80398d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80398da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80398de: 095b lsrs r3, r3, #5 80398e0: 4a6c ldr r2, [pc, #432] ; (8039a94 ) 80398e2: fba2 2303 umull r2, r3, r2, r3 80398e6: 09db lsrs r3, r3, #7 80398e8: b2db uxtb r3, r3 80398ea: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80398ee: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80398f2: 0953 lsrs r3, r2, #5 80398f4: 4967 ldr r1, [pc, #412] ; (8039a94 ) 80398f6: fba1 1303 umull r1, r3, r1, r3 80398fa: 09db lsrs r3, r3, #7 80398fc: 4966 ldr r1, [pc, #408] ; (8039a98 ) 80398fe: fb01 f303 mul.w r3, r1, r3 8039902: 1ad3 subs r3, r2, r3 8039904: 4a65 ldr r2, [pc, #404] ; (8039a9c ) 8039906: fba2 2303 umull r2, r3, r2, r3 803990a: 0b5b lsrs r3, r3, #13 803990c: b2db uxtb r3, r3 803990e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8039912: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039916: 0953 lsrs r3, r2, #5 8039918: 495e ldr r1, [pc, #376] ; (8039a94 ) 803991a: fba1 1303 umull r1, r3, r1, r3 803991e: 09db lsrs r3, r3, #7 8039920: 495d ldr r1, [pc, #372] ; (8039a98 ) 8039922: fb01 f303 mul.w r3, r1, r3 8039926: 1ad3 subs r3, r2, r3 8039928: 4a5c ldr r2, [pc, #368] ; (8039a9c ) 803992a: fba2 1203 umull r1, r2, r2, r3 803992e: 0b52 lsrs r2, r2, #13 8039930: f242 7110 movw r1, #10000 ; 0x2710 8039934: fb01 f202 mul.w r2, r1, r2 8039938: 1a9a subs r2, r3, r2 803993a: 4b59 ldr r3, [pc, #356] ; (8039aa0 ) 803993c: fba3 2302 umull r2, r3, r3, r2 8039940: 099b lsrs r3, r3, #6 8039942: b2db uxtb r3, r3 8039944: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8039948: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803994c: 095a lsrs r2, r3, #5 803994e: 4951 ldr r1, [pc, #324] ; (8039a94 ) 8039950: fba1 1202 umull r1, r2, r1, r2 8039954: 09d2 lsrs r2, r2, #7 8039956: 4950 ldr r1, [pc, #320] ; (8039a98 ) 8039958: fb01 f202 mul.w r2, r1, r2 803995c: 1a9a subs r2, r3, r2 803995e: 4b4f ldr r3, [pc, #316] ; (8039a9c ) 8039960: fba3 1302 umull r1, r3, r3, r2 8039964: 0b5b lsrs r3, r3, #13 8039966: f242 7110 movw r1, #10000 ; 0x2710 803996a: fb01 f303 mul.w r3, r1, r3 803996e: 1ad3 subs r3, r2, r3 8039970: 4a4b ldr r2, [pc, #300] ; (8039aa0 ) 8039972: fba2 1203 umull r1, r2, r2, r3 8039976: 0992 lsrs r2, r2, #6 8039978: f44f 717a mov.w r1, #1000 ; 0x3e8 803997c: fb01 f202 mul.w r2, r1, r2 8039980: 1a9a subs r2, r3, r2 8039982: 4b48 ldr r3, [pc, #288] ; (8039aa4 ) 8039984: fba3 2302 umull r2, r3, r3, r2 8039988: 095b lsrs r3, r3, #5 803998a: b2db uxtb r3, r3 803998c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8039990: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039994: 0953 lsrs r3, r2, #5 8039996: 493f ldr r1, [pc, #252] ; (8039a94 ) 8039998: fba1 1303 umull r1, r3, r1, r3 803999c: 09db lsrs r3, r3, #7 803999e: 493e ldr r1, [pc, #248] ; (8039a98 ) 80399a0: fb01 f303 mul.w r3, r1, r3 80399a4: 1ad3 subs r3, r2, r3 80399a6: 4a3d ldr r2, [pc, #244] ; (8039a9c ) 80399a8: fba2 1203 umull r1, r2, r2, r3 80399ac: 0b52 lsrs r2, r2, #13 80399ae: f242 7110 movw r1, #10000 ; 0x2710 80399b2: fb01 f202 mul.w r2, r1, r2 80399b6: 1a9a subs r2, r3, r2 80399b8: 4b39 ldr r3, [pc, #228] ; (8039aa0 ) 80399ba: fba3 1302 umull r1, r3, r3, r2 80399be: 099b lsrs r3, r3, #6 80399c0: f44f 717a mov.w r1, #1000 ; 0x3e8 80399c4: fb01 f303 mul.w r3, r1, r3 80399c8: 1ad3 subs r3, r2, r3 80399ca: 4a36 ldr r2, [pc, #216] ; (8039aa4 ) 80399cc: fba2 1203 umull r1, r2, r2, r3 80399d0: 0952 lsrs r2, r2, #5 80399d2: 2164 movs r1, #100 ; 0x64 80399d4: fb01 f202 mul.w r2, r1, r2 80399d8: 1a9a subs r2, r3, r2 80399da: 4b33 ldr r3, [pc, #204] ; (8039aa8 ) 80399dc: fba3 2302 umull r2, r3, r3, r2 80399e0: 08db lsrs r3, r3, #3 80399e2: b2db uxtb r3, r3 80399e4: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80399e8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80399ec: 0953 lsrs r3, r2, #5 80399ee: 4929 ldr r1, [pc, #164] ; (8039a94 ) 80399f0: fba1 1303 umull r1, r3, r1, r3 80399f4: 09db lsrs r3, r3, #7 80399f6: 4928 ldr r1, [pc, #160] ; (8039a98 ) 80399f8: fb01 f303 mul.w r3, r1, r3 80399fc: 1ad3 subs r3, r2, r3 80399fe: 4a27 ldr r2, [pc, #156] ; (8039a9c ) 8039a00: fba2 1203 umull r1, r2, r2, r3 8039a04: 0b52 lsrs r2, r2, #13 8039a06: f242 7110 movw r1, #10000 ; 0x2710 8039a0a: fb01 f202 mul.w r2, r1, r2 8039a0e: 1a9a subs r2, r3, r2 8039a10: 4b23 ldr r3, [pc, #140] ; (8039aa0 ) 8039a12: fba3 1302 umull r1, r3, r3, r2 8039a16: 099b lsrs r3, r3, #6 8039a18: f44f 717a mov.w r1, #1000 ; 0x3e8 8039a1c: fb01 f303 mul.w r3, r1, r3 8039a20: 1ad3 subs r3, r2, r3 8039a22: 4a20 ldr r2, [pc, #128] ; (8039aa4 ) 8039a24: fba2 1203 umull r1, r2, r2, r3 8039a28: 0952 lsrs r2, r2, #5 8039a2a: 2164 movs r1, #100 ; 0x64 8039a2c: fb01 f202 mul.w r2, r1, r2 8039a30: 1a9a subs r2, r3, r2 8039a32: 4b1d ldr r3, [pc, #116] ; (8039aa8 ) 8039a34: fba3 1302 umull r1, r3, r3, r2 8039a38: 08d9 lsrs r1, r3, #3 8039a3a: 460b mov r3, r1 8039a3c: 009b lsls r3, r3, #2 8039a3e: 440b add r3, r1 8039a40: 005b lsls r3, r3, #1 8039a42: 1ad1 subs r1, r2, r3 8039a44: b2cb uxtb r3, r1 8039a46: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8039a4a: 4b11 ldr r3, [pc, #68] ; (8039a90 ) 8039a4c: 781b ldrb r3, [r3, #0] 8039a4e: b2db uxtb r3, r3 8039a50: 3b0b subs r3, #11 8039a52: 2b05 cmp r3, #5 8039a54: d84b bhi.n 8039aee 8039a56: a201 add r2, pc, #4 ; (adr r2, 8039a5c ) 8039a58: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8039a5c: 08039a75 .word 0x08039a75 8039a60: 08039aad .word 0x08039aad 8039a64: 08039abd .word 0x08039abd 8039a68: 08039acb .word 0x08039acb 8039a6c: 08039ad7 .word 0x08039ad7 8039a70: 08039ae3 .word 0x08039ae3 k += 100000; 8039a74: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039a78: 4b07 ldr r3, [pc, #28] ; (8039a98 ) 8039a7a: 4413 add r3, r2 8039a7c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039a80: e035 b.n 8039aee 8039a82: bf00 nop 8039a84: 080ee8c8 .word 0x080ee8c8 8039a88: 20023e60 .word 0x20023e60 8039a8c: 38d1b717 .word 0x38d1b717 8039a90: 20020070 .word 0x20020070 8039a94: 0a7c5ac5 .word 0x0a7c5ac5 8039a98: 000186a0 .word 0x000186a0 8039a9c: d1b71759 .word 0xd1b71759 8039aa0: 10624dd3 .word 0x10624dd3 8039aa4: 51eb851f .word 0x51eb851f 8039aa8: cccccccd .word 0xcccccccd k += 10000; 8039aac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039ab0: f242 7310 movw r3, #10000 ; 0x2710 8039ab4: 4413 add r3, r2 8039ab6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039aba: e018 b.n 8039aee k += 1000; 8039abc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039ac0: f503 737a add.w r3, r3, #1000 ; 0x3e8 8039ac4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039ac8: e011 b.n 8039aee k += 100; 8039aca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039ace: 3364 adds r3, #100 ; 0x64 8039ad0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039ad4: e00b b.n 8039aee k += 10; 8039ad6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039ada: 330a adds r3, #10 8039adc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039ae0: e005 b.n 8039aee k++; 8039ae2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039ae6: 3301 adds r3, #1 8039ae8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039aec: bf00 nop if(k > 999999) k = 999999; 8039aee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039af2: 4ad1 ldr r2, [pc, #836] ; (8039e38 ) 8039af4: 4293 cmp r3, r2 8039af6: d902 bls.n 8039afe 8039af8: 4bcf ldr r3, [pc, #828] ; (8039e38 ) 8039afa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 8039afe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039b02: 2b00 cmp r3, #0 8039b04: d102 bne.n 8039b0c 8039b06: 2301 movs r3, #1 8039b08: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8039b0c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039b10: ee07 3a90 vmov s15, r3 8039b14: eef8 7a67 vcvt.f32.u32 s15, s15 8039b18: 4bc8 ldr r3, [pc, #800] ; (8039e3c ) 8039b1a: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8039b1e: 4bc7 ldr r3, [pc, #796] ; (8039e3c ) 8039b20: edd3 7a06 vldr s15, [r3, #24] 8039b24: ed9f 7ac6 vldr s14, [pc, #792] ; 8039e40 8039b28: ee67 7a87 vmul.f32 s15, s15, s14 8039b2c: 4bc3 ldr r3, [pc, #780] ; (8039e3c ) 8039b2e: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8039b32: 4bc2 ldr r3, [pc, #776] ; (8039e3c ) 8039b34: edd3 7a06 vldr s15, [r3, #24] 8039b38: ed9f 7ac2 vldr s14, [pc, #776] ; 8039e44 8039b3c: ee77 7a87 vadd.f32 s15, s15, s14 8039b40: 4bbe ldr r3, [pc, #760] ; (8039e3c ) 8039b42: edc3 7a06 vstr s15, [r3, #24] 8039b46: e35b b.n 803a200 if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8039b48: 4bbf ldr r3, [pc, #764] ; (8039e48 ) 8039b4a: 781b ldrb r3, [r3, #0] 8039b4c: b2db uxtb r3, r3 8039b4e: 2b18 cmp r3, #24 8039b50: f240 81b9 bls.w 8039ec6 8039b54: 4bbc ldr r3, [pc, #752] ; (8039e48 ) 8039b56: 781b ldrb r3, [r3, #0] 8039b58: b2db uxtb r3, r3 8039b5a: 2b1e cmp r3, #30 8039b5c: f200 81b3 bhi.w 8039ec6 k = (uint32_t) (pardata.HP * 10.0f); 8039b60: 4bb6 ldr r3, [pc, #728] ; (8039e3c ) 8039b62: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039b66: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8039b6a: ee67 7a87 vmul.f32 s15, s15, s14 8039b6e: eefc 7ae7 vcvt.u32.f32 s15, s15 8039b72: ee17 3a90 vmov r3, s15 8039b76: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8039b7a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039b7e: 095b lsrs r3, r3, #5 8039b80: 4ab2 ldr r2, [pc, #712] ; (8039e4c ) 8039b82: fba2 2303 umull r2, r3, r2, r3 8039b86: 09db lsrs r3, r3, #7 8039b88: b2db uxtb r3, r3 8039b8a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8039b8e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039b92: 0953 lsrs r3, r2, #5 8039b94: 49ad ldr r1, [pc, #692] ; (8039e4c ) 8039b96: fba1 1303 umull r1, r3, r1, r3 8039b9a: 09db lsrs r3, r3, #7 8039b9c: 49ac ldr r1, [pc, #688] ; (8039e50 ) 8039b9e: fb01 f303 mul.w r3, r1, r3 8039ba2: 1ad3 subs r3, r2, r3 8039ba4: 4aab ldr r2, [pc, #684] ; (8039e54 ) 8039ba6: fba2 2303 umull r2, r3, r2, r3 8039baa: 0b5b lsrs r3, r3, #13 8039bac: b2db uxtb r3, r3 8039bae: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8039bb2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039bb6: 0953 lsrs r3, r2, #5 8039bb8: 49a4 ldr r1, [pc, #656] ; (8039e4c ) 8039bba: fba1 1303 umull r1, r3, r1, r3 8039bbe: 09db lsrs r3, r3, #7 8039bc0: 49a3 ldr r1, [pc, #652] ; (8039e50 ) 8039bc2: fb01 f303 mul.w r3, r1, r3 8039bc6: 1ad3 subs r3, r2, r3 8039bc8: 4aa2 ldr r2, [pc, #648] ; (8039e54 ) 8039bca: fba2 1203 umull r1, r2, r2, r3 8039bce: 0b52 lsrs r2, r2, #13 8039bd0: f242 7110 movw r1, #10000 ; 0x2710 8039bd4: fb01 f202 mul.w r2, r1, r2 8039bd8: 1a9a subs r2, r3, r2 8039bda: 4b9f ldr r3, [pc, #636] ; (8039e58 ) 8039bdc: fba3 2302 umull r2, r3, r3, r2 8039be0: 099b lsrs r3, r3, #6 8039be2: b2db uxtb r3, r3 8039be4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8039be8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039bec: 095a lsrs r2, r3, #5 8039bee: 4997 ldr r1, [pc, #604] ; (8039e4c ) 8039bf0: fba1 1202 umull r1, r2, r1, r2 8039bf4: 09d2 lsrs r2, r2, #7 8039bf6: 4996 ldr r1, [pc, #600] ; (8039e50 ) 8039bf8: fb01 f202 mul.w r2, r1, r2 8039bfc: 1a9a subs r2, r3, r2 8039bfe: 4b95 ldr r3, [pc, #596] ; (8039e54 ) 8039c00: fba3 1302 umull r1, r3, r3, r2 8039c04: 0b5b lsrs r3, r3, #13 8039c06: f242 7110 movw r1, #10000 ; 0x2710 8039c0a: fb01 f303 mul.w r3, r1, r3 8039c0e: 1ad3 subs r3, r2, r3 8039c10: 4a91 ldr r2, [pc, #580] ; (8039e58 ) 8039c12: fba2 1203 umull r1, r2, r2, r3 8039c16: 0992 lsrs r2, r2, #6 8039c18: f44f 717a mov.w r1, #1000 ; 0x3e8 8039c1c: fb01 f202 mul.w r2, r1, r2 8039c20: 1a9a subs r2, r3, r2 8039c22: 4b8e ldr r3, [pc, #568] ; (8039e5c ) 8039c24: fba3 2302 umull r2, r3, r3, r2 8039c28: 095b lsrs r3, r3, #5 8039c2a: b2db uxtb r3, r3 8039c2c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8039c30: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039c34: 0953 lsrs r3, r2, #5 8039c36: 4985 ldr r1, [pc, #532] ; (8039e4c ) 8039c38: fba1 1303 umull r1, r3, r1, r3 8039c3c: 09db lsrs r3, r3, #7 8039c3e: 4984 ldr r1, [pc, #528] ; (8039e50 ) 8039c40: fb01 f303 mul.w r3, r1, r3 8039c44: 1ad3 subs r3, r2, r3 8039c46: 4a83 ldr r2, [pc, #524] ; (8039e54 ) 8039c48: fba2 1203 umull r1, r2, r2, r3 8039c4c: 0b52 lsrs r2, r2, #13 8039c4e: f242 7110 movw r1, #10000 ; 0x2710 8039c52: fb01 f202 mul.w r2, r1, r2 8039c56: 1a9a subs r2, r3, r2 8039c58: 4b7f ldr r3, [pc, #508] ; (8039e58 ) 8039c5a: fba3 1302 umull r1, r3, r3, r2 8039c5e: 099b lsrs r3, r3, #6 8039c60: f44f 717a mov.w r1, #1000 ; 0x3e8 8039c64: fb01 f303 mul.w r3, r1, r3 8039c68: 1ad3 subs r3, r2, r3 8039c6a: 4a7c ldr r2, [pc, #496] ; (8039e5c ) 8039c6c: fba2 1203 umull r1, r2, r2, r3 8039c70: 0952 lsrs r2, r2, #5 8039c72: 2164 movs r1, #100 ; 0x64 8039c74: fb01 f202 mul.w r2, r1, r2 8039c78: 1a9a subs r2, r3, r2 8039c7a: 4b79 ldr r3, [pc, #484] ; (8039e60 ) 8039c7c: fba3 2302 umull r2, r3, r3, r2 8039c80: 08db lsrs r3, r3, #3 8039c82: b2db uxtb r3, r3 8039c84: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8039c88: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039c8c: 0953 lsrs r3, r2, #5 8039c8e: 496f ldr r1, [pc, #444] ; (8039e4c ) 8039c90: fba1 1303 umull r1, r3, r1, r3 8039c94: 09db lsrs r3, r3, #7 8039c96: 496e ldr r1, [pc, #440] ; (8039e50 ) 8039c98: fb01 f303 mul.w r3, r1, r3 8039c9c: 1ad3 subs r3, r2, r3 8039c9e: 4a6d ldr r2, [pc, #436] ; (8039e54 ) 8039ca0: fba2 1203 umull r1, r2, r2, r3 8039ca4: 0b52 lsrs r2, r2, #13 8039ca6: f242 7110 movw r1, #10000 ; 0x2710 8039caa: fb01 f202 mul.w r2, r1, r2 8039cae: 1a9a subs r2, r3, r2 8039cb0: 4b69 ldr r3, [pc, #420] ; (8039e58 ) 8039cb2: fba3 1302 umull r1, r3, r3, r2 8039cb6: 099b lsrs r3, r3, #6 8039cb8: f44f 717a mov.w r1, #1000 ; 0x3e8 8039cbc: fb01 f303 mul.w r3, r1, r3 8039cc0: 1ad3 subs r3, r2, r3 8039cc2: 4a66 ldr r2, [pc, #408] ; (8039e5c ) 8039cc4: fba2 1203 umull r1, r2, r2, r3 8039cc8: 0952 lsrs r2, r2, #5 8039cca: 2164 movs r1, #100 ; 0x64 8039ccc: fb01 f202 mul.w r2, r1, r2 8039cd0: 1a9a subs r2, r3, r2 8039cd2: 4b63 ldr r3, [pc, #396] ; (8039e60 ) 8039cd4: fba3 1302 umull r1, r3, r3, r2 8039cd8: 08d9 lsrs r1, r3, #3 8039cda: 460b mov r3, r1 8039cdc: 009b lsls r3, r3, #2 8039cde: 440b add r3, r1 8039ce0: 005b lsls r3, r3, #1 8039ce2: 1ad1 subs r1, r2, r3 8039ce4: b2cb uxtb r3, r1 8039ce6: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8039cea: 4b57 ldr r3, [pc, #348] ; (8039e48 ) 8039cec: 781b ldrb r3, [r3, #0] 8039cee: b2db uxtb r3, r3 8039cf0: 3b19 subs r3, #25 8039cf2: 2b05 cmp r3, #5 8039cf4: d836 bhi.n 8039d64 8039cf6: a201 add r2, pc, #4 ; (adr r2, 8039cfc ) 8039cf8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8039cfc: 08039d15 .word 0x08039d15 8039d00: 08039d23 .word 0x08039d23 8039d04: 08039d33 .word 0x08039d33 8039d08: 08039d41 .word 0x08039d41 8039d0c: 08039d4d .word 0x08039d4d 8039d10: 08039d59 .word 0x08039d59 k += 100000; 8039d14: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039d18: 4b4d ldr r3, [pc, #308] ; (8039e50 ) 8039d1a: 4413 add r3, r2 8039d1c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d20: e020 b.n 8039d64 k += 10000; 8039d22: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039d26: f242 7310 movw r3, #10000 ; 0x2710 8039d2a: 4413 add r3, r2 8039d2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d30: e018 b.n 8039d64 k += 1000; 8039d32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d36: f503 737a add.w r3, r3, #1000 ; 0x3e8 8039d3a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d3e: e011 b.n 8039d64 k += 100; 8039d40: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d44: 3364 adds r3, #100 ; 0x64 8039d46: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d4a: e00b b.n 8039d64 k += 10; 8039d4c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d50: 330a adds r3, #10 8039d52: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d56: e005 b.n 8039d64 k++; 8039d58: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d5c: 3301 adds r3, #1 8039d5e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8039d62: bf00 nop fl = (float32_t) k; 8039d64: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039d68: ee07 3a90 vmov s15, r3 8039d6c: eef8 7a67 vcvt.f32.u32 s15, s15 8039d70: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8039d74: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039d78: ed9f 7a31 vldr s14, [pc, #196] ; 8039e40 8039d7c: ee67 7a87 vmul.f32 s15, s15, s14 8039d80: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8039d84: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039d88: ed9f 7a36 vldr s14, [pc, #216] ; 8039e64 8039d8c: ee77 7a87 vadd.f32 s15, s15, s14 8039d90: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 8039d94: 4b29 ldr r3, [pc, #164] ; (8039e3c ) 8039d96: 785b ldrb r3, [r3, #1] 8039d98: b2db uxtb r3, r3 8039d9a: 2b00 cmp r3, #0 8039d9c: d13d bne.n 8039e1a if(fl < 0.5f) 8039d9e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039da2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8039da6: eef4 7ac7 vcmpe.f32 s15, s14 8039daa: eef1 fa10 vmrs APSR_nzcv, fpscr 8039dae: d505 bpl.n 8039dbc pardata.HP = 0.5f; 8039db0: 4b22 ldr r3, [pc, #136] ; (8039e3c ) 8039db2: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8039db6: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039dba: e221 b.n 803a200 if(fl > pardata.LP) 8039dbc: 4b1f ldr r3, [pc, #124] ; (8039e3c ) 8039dbe: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039dc2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039dc6: eeb4 7ae7 vcmpe.f32 s14, s15 8039dca: eef1 fa10 vmrs APSR_nzcv, fpscr 8039dce: d506 bpl.n 8039dde pardata.HP = pardata.LP; 8039dd0: 4b1a ldr r3, [pc, #104] ; (8039e3c ) 8039dd2: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8039dd6: 4a19 ldr r2, [pc, #100] ; (8039e3c ) 8039dd8: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8039ddc: e210 b.n 803a200 pardata.HP = (float32_t) k; 8039dde: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039de2: ee07 3a90 vmov s15, r3 8039de6: eef8 7a67 vcvt.f32.u32 s15, s15 8039dea: 4b14 ldr r3, [pc, #80] ; (8039e3c ) 8039dec: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8039df0: 4b12 ldr r3, [pc, #72] ; (8039e3c ) 8039df2: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039df6: ed9f 7a12 vldr s14, [pc, #72] ; 8039e40 8039dfa: ee67 7a87 vmul.f32 s15, s15, s14 8039dfe: 4b0f ldr r3, [pc, #60] ; (8039e3c ) 8039e00: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8039e04: 4b0d ldr r3, [pc, #52] ; (8039e3c ) 8039e06: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039e0a: ed9f 7a16 vldr s14, [pc, #88] ; 8039e64 8039e0e: ee77 7a87 vadd.f32 s15, s15, s14 8039e12: 4b0a ldr r3, [pc, #40] ; (8039e3c ) 8039e14: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039e18: e1f2 b.n 803a200 if(fl < 2.0f) 8039e1a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039e1e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8039e22: eef4 7ac7 vcmpe.f32 s15, s14 8039e26: eef1 fa10 vmrs APSR_nzcv, fpscr 8039e2a: d51d bpl.n 8039e68 pardata.HP = 2.0f; 8039e2c: 4b03 ldr r3, [pc, #12] ; (8039e3c ) 8039e2e: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8039e32: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039e36: e1e3 b.n 803a200 8039e38: 000f423f .word 0x000f423f 8039e3c: 20023e60 .word 0x20023e60 8039e40: 3dcccccd .word 0x3dcccccd 8039e44: 3d4ccccd .word 0x3d4ccccd 8039e48: 20020070 .word 0x20020070 8039e4c: 0a7c5ac5 .word 0x0a7c5ac5 8039e50: 000186a0 .word 0x000186a0 8039e54: d1b71759 .word 0xd1b71759 8039e58: 10624dd3 .word 0x10624dd3 8039e5c: 51eb851f .word 0x51eb851f 8039e60: cccccccd .word 0xcccccccd 8039e64: 38d1b717 .word 0x38d1b717 if(fl > pardata.LP) 8039e68: 4bc9 ldr r3, [pc, #804] ; (803a190 ) 8039e6a: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8039e6e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8039e72: eeb4 7ae7 vcmpe.f32 s14, s15 8039e76: eef1 fa10 vmrs APSR_nzcv, fpscr 8039e7a: d506 bpl.n 8039e8a pardata.HP = pardata.LP; 8039e7c: 4bc4 ldr r3, [pc, #784] ; (803a190 ) 8039e7e: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8039e82: 4ac3 ldr r2, [pc, #780] ; (803a190 ) 8039e84: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8039e88: e1ba b.n 803a200 pardata.HP = (float32_t) k; 8039e8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039e8e: ee07 3a90 vmov s15, r3 8039e92: eef8 7a67 vcvt.f32.u32 s15, s15 8039e96: 4bbe ldr r3, [pc, #760] ; (803a190 ) 8039e98: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8039e9c: 4bbc ldr r3, [pc, #752] ; (803a190 ) 8039e9e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039ea2: ed9f 7abc vldr s14, [pc, #752] ; 803a194 8039ea6: ee67 7a87 vmul.f32 s15, s15, s14 8039eaa: 4bb9 ldr r3, [pc, #740] ; (803a190 ) 8039eac: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8039eb0: 4bb7 ldr r3, [pc, #732] ; (803a190 ) 8039eb2: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8039eb6: ed9f 7ab8 vldr s14, [pc, #736] ; 803a198 8039eba: ee77 7a87 vadd.f32 s15, s15, s14 8039ebe: 4bb4 ldr r3, [pc, #720] ; (803a190 ) 8039ec0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8039ec4: e19c b.n 803a200 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8039ec6: 4bb5 ldr r3, [pc, #724] ; (803a19c ) 8039ec8: 781b ldrb r3, [r3, #0] 8039eca: b2db uxtb r3, r3 8039ecc: 2b1e cmp r3, #30 8039ece: f240 819b bls.w 803a208 8039ed2: 4bb2 ldr r3, [pc, #712] ; (803a19c ) 8039ed4: 781b ldrb r3, [r3, #0] 8039ed6: b2db uxtb r3, r3 8039ed8: 2b24 cmp r3, #36 ; 0x24 8039eda: f200 8195 bhi.w 803a208 k = (uint32_t) (pardata.LP * 10.0f); 8039ede: 4bac ldr r3, [pc, #688] ; (803a190 ) 8039ee0: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8039ee4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8039ee8: ee67 7a87 vmul.f32 s15, s15, s14 8039eec: eefc 7ae7 vcvt.u32.f32 s15, s15 8039ef0: ee17 3a90 vmov r3, s15 8039ef4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8039ef8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039efc: 095b lsrs r3, r3, #5 8039efe: 4aa8 ldr r2, [pc, #672] ; (803a1a0 ) 8039f00: fba2 2303 umull r2, r3, r2, r3 8039f04: 09db lsrs r3, r3, #7 8039f06: b2db uxtb r3, r3 8039f08: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8039f0c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039f10: 0953 lsrs r3, r2, #5 8039f12: 49a3 ldr r1, [pc, #652] ; (803a1a0 ) 8039f14: fba1 1303 umull r1, r3, r1, r3 8039f18: 09db lsrs r3, r3, #7 8039f1a: 49a2 ldr r1, [pc, #648] ; (803a1a4 ) 8039f1c: fb01 f303 mul.w r3, r1, r3 8039f20: 1ad3 subs r3, r2, r3 8039f22: 4aa1 ldr r2, [pc, #644] ; (803a1a8 ) 8039f24: fba2 2303 umull r2, r3, r2, r3 8039f28: 0b5b lsrs r3, r3, #13 8039f2a: b2db uxtb r3, r3 8039f2c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8039f30: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039f34: 0953 lsrs r3, r2, #5 8039f36: 499a ldr r1, [pc, #616] ; (803a1a0 ) 8039f38: fba1 1303 umull r1, r3, r1, r3 8039f3c: 09db lsrs r3, r3, #7 8039f3e: 4999 ldr r1, [pc, #612] ; (803a1a4 ) 8039f40: fb01 f303 mul.w r3, r1, r3 8039f44: 1ad3 subs r3, r2, r3 8039f46: 4a98 ldr r2, [pc, #608] ; (803a1a8 ) 8039f48: fba2 1203 umull r1, r2, r2, r3 8039f4c: 0b52 lsrs r2, r2, #13 8039f4e: f242 7110 movw r1, #10000 ; 0x2710 8039f52: fb01 f202 mul.w r2, r1, r2 8039f56: 1a9a subs r2, r3, r2 8039f58: 4b94 ldr r3, [pc, #592] ; (803a1ac ) 8039f5a: fba3 2302 umull r2, r3, r3, r2 8039f5e: 099b lsrs r3, r3, #6 8039f60: b2db uxtb r3, r3 8039f62: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8039f66: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8039f6a: 095a lsrs r2, r3, #5 8039f6c: 498c ldr r1, [pc, #560] ; (803a1a0 ) 8039f6e: fba1 1202 umull r1, r2, r1, r2 8039f72: 09d2 lsrs r2, r2, #7 8039f74: 498b ldr r1, [pc, #556] ; (803a1a4 ) 8039f76: fb01 f202 mul.w r2, r1, r2 8039f7a: 1a9a subs r2, r3, r2 8039f7c: 4b8a ldr r3, [pc, #552] ; (803a1a8 ) 8039f7e: fba3 1302 umull r1, r3, r3, r2 8039f82: 0b5b lsrs r3, r3, #13 8039f84: f242 7110 movw r1, #10000 ; 0x2710 8039f88: fb01 f303 mul.w r3, r1, r3 8039f8c: 1ad3 subs r3, r2, r3 8039f8e: 4a87 ldr r2, [pc, #540] ; (803a1ac ) 8039f90: fba2 1203 umull r1, r2, r2, r3 8039f94: 0992 lsrs r2, r2, #6 8039f96: f44f 717a mov.w r1, #1000 ; 0x3e8 8039f9a: fb01 f202 mul.w r2, r1, r2 8039f9e: 1a9a subs r2, r3, r2 8039fa0: 4b83 ldr r3, [pc, #524] ; (803a1b0 ) 8039fa2: fba3 2302 umull r2, r3, r3, r2 8039fa6: 095b lsrs r3, r3, #5 8039fa8: b2db uxtb r3, r3 8039faa: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8039fae: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8039fb2: 0953 lsrs r3, r2, #5 8039fb4: 497a ldr r1, [pc, #488] ; (803a1a0 ) 8039fb6: fba1 1303 umull r1, r3, r1, r3 8039fba: 09db lsrs r3, r3, #7 8039fbc: 4979 ldr r1, [pc, #484] ; (803a1a4 ) 8039fbe: fb01 f303 mul.w r3, r1, r3 8039fc2: 1ad3 subs r3, r2, r3 8039fc4: 4a78 ldr r2, [pc, #480] ; (803a1a8 ) 8039fc6: fba2 1203 umull r1, r2, r2, r3 8039fca: 0b52 lsrs r2, r2, #13 8039fcc: f242 7110 movw r1, #10000 ; 0x2710 8039fd0: fb01 f202 mul.w r2, r1, r2 8039fd4: 1a9a subs r2, r3, r2 8039fd6: 4b75 ldr r3, [pc, #468] ; (803a1ac ) 8039fd8: fba3 1302 umull r1, r3, r3, r2 8039fdc: 099b lsrs r3, r3, #6 8039fde: f44f 717a mov.w r1, #1000 ; 0x3e8 8039fe2: fb01 f303 mul.w r3, r1, r3 8039fe6: 1ad3 subs r3, r2, r3 8039fe8: 4a71 ldr r2, [pc, #452] ; (803a1b0 ) 8039fea: fba2 1203 umull r1, r2, r2, r3 8039fee: 0952 lsrs r2, r2, #5 8039ff0: 2164 movs r1, #100 ; 0x64 8039ff2: fb01 f202 mul.w r2, r1, r2 8039ff6: 1a9a subs r2, r3, r2 8039ff8: 4b6e ldr r3, [pc, #440] ; (803a1b4 ) 8039ffa: fba3 2302 umull r2, r3, r3, r2 8039ffe: 08db lsrs r3, r3, #3 803a000: b2db uxtb r3, r3 803a002: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a006: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a00a: 0953 lsrs r3, r2, #5 803a00c: 4964 ldr r1, [pc, #400] ; (803a1a0 ) 803a00e: fba1 1303 umull r1, r3, r1, r3 803a012: 09db lsrs r3, r3, #7 803a014: 4963 ldr r1, [pc, #396] ; (803a1a4 ) 803a016: fb01 f303 mul.w r3, r1, r3 803a01a: 1ad3 subs r3, r2, r3 803a01c: 4a62 ldr r2, [pc, #392] ; (803a1a8 ) 803a01e: fba2 1203 umull r1, r2, r2, r3 803a022: 0b52 lsrs r2, r2, #13 803a024: f242 7110 movw r1, #10000 ; 0x2710 803a028: fb01 f202 mul.w r2, r1, r2 803a02c: 1a9a subs r2, r3, r2 803a02e: 4b5f ldr r3, [pc, #380] ; (803a1ac ) 803a030: fba3 1302 umull r1, r3, r3, r2 803a034: 099b lsrs r3, r3, #6 803a036: f44f 717a mov.w r1, #1000 ; 0x3e8 803a03a: fb01 f303 mul.w r3, r1, r3 803a03e: 1ad3 subs r3, r2, r3 803a040: 4a5b ldr r2, [pc, #364] ; (803a1b0 ) 803a042: fba2 1203 umull r1, r2, r2, r3 803a046: 0952 lsrs r2, r2, #5 803a048: 2164 movs r1, #100 ; 0x64 803a04a: fb01 f202 mul.w r2, r1, r2 803a04e: 1a9a subs r2, r3, r2 803a050: 4b58 ldr r3, [pc, #352] ; (803a1b4 ) 803a052: fba3 1302 umull r1, r3, r3, r2 803a056: 08d9 lsrs r1, r3, #3 803a058: 460b mov r3, r1 803a05a: 009b lsls r3, r3, #2 803a05c: 440b add r3, r1 803a05e: 005b lsls r3, r3, #1 803a060: 1ad1 subs r1, r2, r3 803a062: b2cb uxtb r3, r1 803a064: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803a068: 4b4c ldr r3, [pc, #304] ; (803a19c ) 803a06a: 781b ldrb r3, [r3, #0] 803a06c: b2db uxtb r3, r3 803a06e: 3b1f subs r3, #31 803a070: 2b05 cmp r3, #5 803a072: d837 bhi.n 803a0e4 803a074: a201 add r2, pc, #4 ; (adr r2, 803a07c ) 803a076: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803a07a: bf00 nop 803a07c: 0803a095 .word 0x0803a095 803a080: 0803a0a3 .word 0x0803a0a3 803a084: 0803a0b3 .word 0x0803a0b3 803a088: 0803a0c1 .word 0x0803a0c1 803a08c: 0803a0cd .word 0x0803a0cd 803a090: 0803a0d9 .word 0x0803a0d9 k += 100000; 803a094: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a098: 4b42 ldr r3, [pc, #264] ; (803a1a4 ) 803a09a: 4413 add r3, r2 803a09c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a0a0: e020 b.n 803a0e4 k += 10000; 803a0a2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a0a6: f242 7310 movw r3, #10000 ; 0x2710 803a0aa: 4413 add r3, r2 803a0ac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a0b0: e018 b.n 803a0e4 k += 1000; 803a0b2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a0b6: f503 737a add.w r3, r3, #1000 ; 0x3e8 803a0ba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a0be: e011 b.n 803a0e4 k += 100; 803a0c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a0c4: 3364 adds r3, #100 ; 0x64 803a0c6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a0ca: e00b b.n 803a0e4 k += 10; 803a0cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a0d0: 330a adds r3, #10 803a0d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a0d6: e005 b.n 803a0e4 k++; 803a0d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a0dc: 3301 adds r3, #1 803a0de: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a0e2: bf00 nop fl = (float32_t) k; 803a0e4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a0e8: ee07 3a90 vmov s15, r3 803a0ec: eef8 7a67 vcvt.f32.u32 s15, s15 803a0f0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803a0f4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a0f8: ed9f 7a26 vldr s14, [pc, #152] ; 803a194 803a0fc: ee67 7a87 vmul.f32 s15, s15, s14 803a100: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803a104: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a108: ed9f 7a23 vldr s14, [pc, #140] ; 803a198 803a10c: ee77 7a87 vadd.f32 s15, s15, s14 803a110: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.OPTIONS & maskFFT) == okt) 803a114: 4b1e ldr r3, [pc, #120] ; (803a190 ) 803a116: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803a11a: f003 0330 and.w r3, r3, #48 ; 0x30 803a11e: 2b20 cmp r3, #32 803a120: d103 bne.n 803a12a f = 12800.0f; 803a122: 4b25 ldr r3, [pc, #148] ; (803a1b8 ) 803a124: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 803a128: e002 b.n 803a130 else f = 6400.0f; 803a12a: 4b24 ldr r3, [pc, #144] ; (803a1bc ) 803a12c: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 if(fl < 10.0f) 803a130: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803a134: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a138: eef4 7ac7 vcmpe.f32 s15, s14 803a13c: eef1 fa10 vmrs APSR_nzcv, fpscr 803a140: d504 bpl.n 803a14c pardata.LP = 10.0f; 803a142: 4b13 ldr r3, [pc, #76] ; (803a190 ) 803a144: 4a1e ldr r2, [pc, #120] ; (803a1c0 ) 803a146: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 803a14a: e05d b.n 803a208 if(pardata.LP < pardata.HP) 803a14c: 4b10 ldr r3, [pc, #64] ; (803a190 ) 803a14e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803a152: 4b0f ldr r3, [pc, #60] ; (803a190 ) 803a154: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a158: eeb4 7ae7 vcmpe.f32 s14, s15 803a15c: eef1 fa10 vmrs APSR_nzcv, fpscr 803a160: d506 bpl.n 803a170 pardata.LP = pardata.HP; 803a162: 4b0b ldr r3, [pc, #44] ; (803a190 ) 803a164: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 803a168: 4a09 ldr r2, [pc, #36] ; (803a190 ) 803a16a: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 803a16e: e04b b.n 803a208 if(fl > f) 803a170: ed97 7a2a vldr s14, [r7, #168] ; 0xa8 803a174: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 803a178: eeb4 7ae7 vcmpe.f32 s14, s15 803a17c: eef1 fa10 vmrs APSR_nzcv, fpscr 803a180: dd20 ble.n 803a1c4 pardata.LP = f; 803a182: 4a03 ldr r2, [pc, #12] ; (803a190 ) 803a184: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 803a188: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 803a18c: e03c b.n 803a208 803a18e: bf00 nop 803a190: 20023e60 .word 0x20023e60 803a194: 3dcccccd .word 0x3dcccccd 803a198: 38d1b717 .word 0x38d1b717 803a19c: 20020070 .word 0x20020070 803a1a0: 0a7c5ac5 .word 0x0a7c5ac5 803a1a4: 000186a0 .word 0x000186a0 803a1a8: d1b71759 .word 0xd1b71759 803a1ac: 10624dd3 .word 0x10624dd3 803a1b0: 51eb851f .word 0x51eb851f 803a1b4: cccccccd .word 0xcccccccd 803a1b8: 46480000 .word 0x46480000 803a1bc: 45c80000 .word 0x45c80000 803a1c0: 41200000 .word 0x41200000 pardata.LP = (float32_t) k; 803a1c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a1c8: ee07 3a90 vmov s15, r3 803a1cc: eef8 7a67 vcvt.f32.u32 s15, s15 803a1d0: 4bc6 ldr r3, [pc, #792] ; (803a4ec ) 803a1d2: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 803a1d6: 4bc5 ldr r3, [pc, #788] ; (803a4ec ) 803a1d8: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803a1dc: ed9f 7ac4 vldr s14, [pc, #784] ; 803a4f0 803a1e0: ee67 7a87 vmul.f32 s15, s15, s14 803a1e4: 4bc1 ldr r3, [pc, #772] ; (803a4ec ) 803a1e6: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 803a1ea: 4bc0 ldr r3, [pc, #768] ; (803a4ec ) 803a1ec: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803a1f0: ed9f 7ac0 vldr s14, [pc, #768] ; 803a4f4 803a1f4: ee77 7a87 vadd.f32 s15, s15, s14 803a1f8: 4bbc ldr r3, [pc, #752] ; (803a4ec ) 803a1fa: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 803a1fe: e003 b.n 803a208 803a200: e002 b.n 803a208 break; 803a202: bf00 nop 803a204: f001 be29 b.w 803be5a break; 803a208: bf00 nop break; 803a20a: f001 be26 b.w 803be5a case PARAM_OSC: focused = false; 803a20e: 4bba ldr r3, [pc, #744] ; (803a4f8 ) 803a210: 2200 movs r2, #0 803a212: 701a strb r2, [r3, #0] if(menupos == Ok) 803a214: 4bb9 ldr r3, [pc, #740] ; (803a4fc ) 803a216: 781b ldrb r3, [r3, #0] 803a218: b2db uxtb r3, r3 803a21a: 2b00 cmp r3, #0 803a21c: d125 bne.n 803a26a { if(pardata.OPTIONS & 0x4) 803a21e: 4bb3 ldr r3, [pc, #716] ; (803a4ec ) 803a220: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803a224: f003 0304 and.w r3, r3, #4 803a228: 2b00 cmp r3, #0 803a22a: d004 beq.n 803a236 menupos = OscAutoKu; 803a22c: 4bb3 ldr r3, [pc, #716] ; (803a4fc ) 803a22e: 2205 movs r2, #5 803a230: 701a strb r2, [r3, #0] pardata.LP = (float32_t) k; pardata.LP *= 0.1f; pardata.LP += 0.0001f; } } break; 803a232: f001 bdf6 b.w 803be22 if(pardata.IPR > ACC) 803a236: 4bad ldr r3, [pc, #692] ; (803a4ec ) 803a238: 785b ldrb r3, [r3, #1] 803a23a: b2db uxtb r3, r3 803a23c: 2b00 cmp r3, #0 803a23e: d004 beq.n 803a24a menupos = OscMax_ALL; 803a240: 4bae ldr r3, [pc, #696] ; (803a4fc ) 803a242: 2206 movs r2, #6 803a244: 701a strb r2, [r3, #0] break; 803a246: f001 bdec b.w 803be22 if(pardata.THR & 0x80) 803a24a: 4ba8 ldr r3, [pc, #672] ; (803a4ec ) 803a24c: 7bdb ldrb r3, [r3, #15] 803a24e: b2db uxtb r3, r3 803a250: b25b sxtb r3, r3 803a252: 2b00 cmp r3, #0 803a254: da04 bge.n 803a260 menupos = OscThr_ALL; 803a256: 4ba9 ldr r3, [pc, #676] ; (803a4fc ) 803a258: 2208 movs r2, #8 803a25a: 701a strb r2, [r3, #0] break; 803a25c: f001 bde1 b.w 803be22 else menupos = OscThr; 803a260: 4ba6 ldr r3, [pc, #664] ; (803a4fc ) 803a262: 2207 movs r2, #7 803a264: 701a strb r2, [r3, #0] break; 803a266: f001 bddc b.w 803be22 if(menupos == OscThr_ALL) 803a26a: 4ba4 ldr r3, [pc, #656] ; (803a4fc ) 803a26c: 781b ldrb r3, [r3, #0] 803a26e: b2db uxtb r3, r3 803a270: 2b08 cmp r3, #8 803a272: d104 bne.n 803a27e menupos = OscThr; 803a274: 4ba1 ldr r3, [pc, #644] ; (803a4fc ) 803a276: 2207 movs r2, #7 803a278: 701a strb r2, [r3, #0] break; 803a27a: f001 bdd2 b.w 803be22 if(menupos == OscThr) 803a27e: 4b9f ldr r3, [pc, #636] ; (803a4fc ) 803a280: 781b ldrb r3, [r3, #0] 803a282: b2db uxtb r3, r3 803a284: 2b07 cmp r3, #7 803a286: d104 bne.n 803a292 menupos = OscMax_ALL; 803a288: 4b9c ldr r3, [pc, #624] ; (803a4fc ) 803a28a: 2206 movs r2, #6 803a28c: 701a strb r2, [r3, #0] break; 803a28e: f001 bdc8 b.w 803be22 if(menupos == OscMax_ALL) 803a292: 4b9a ldr r3, [pc, #616] ; (803a4fc ) 803a294: 781b ldrb r3, [r3, #0] 803a296: b2db uxtb r3, r3 803a298: 2b06 cmp r3, #6 803a29a: d104 bne.n 803a2a6 menupos = OscAutoKu; 803a29c: 4b97 ldr r3, [pc, #604] ; (803a4fc ) 803a29e: 2205 movs r2, #5 803a2a0: 701a strb r2, [r3, #0] break; 803a2a2: f001 bdbe b.w 803be22 if(menupos == OscAutoKu) 803a2a6: 4b95 ldr r3, [pc, #596] ; (803a4fc ) 803a2a8: 781b ldrb r3, [r3, #0] 803a2aa: b2db uxtb r3, r3 803a2ac: 2b05 cmp r3, #5 803a2ae: d104 bne.n 803a2ba menupos = OscLen; 803a2b0: 4b92 ldr r3, [pc, #584] ; (803a4fc ) 803a2b2: 2204 movs r2, #4 803a2b4: 701a strb r2, [r3, #0] break; 803a2b6: f001 bdb4 b.w 803be22 if(menupos == OscLen) 803a2ba: 4b90 ldr r3, [pc, #576] ; (803a4fc ) 803a2bc: 781b ldrb r3, [r3, #0] 803a2be: b2db uxtb r3, r3 803a2c0: 2b04 cmp r3, #4 803a2c2: d104 bne.n 803a2ce menupos = OscRate; 803a2c4: 4b8d ldr r3, [pc, #564] ; (803a4fc ) 803a2c6: 2203 movs r2, #3 803a2c8: 701a strb r2, [r3, #0] break; 803a2ca: f001 bdaa b.w 803be22 if(menupos == OscRate) 803a2ce: 4b8b ldr r3, [pc, #556] ; (803a4fc ) 803a2d0: 781b ldrb r3, [r3, #0] 803a2d2: b2db uxtb r3, r3 803a2d4: 2b03 cmp r3, #3 803a2d6: d104 bne.n 803a2e2 menupos = FilterLP; 803a2d8: 4b88 ldr r3, [pc, #544] ; (803a4fc ) 803a2da: 2218 movs r2, #24 803a2dc: 701a strb r2, [r3, #0] break; 803a2de: f001 bda0 b.w 803be22 if(menupos == FilterLP) 803a2e2: 4b86 ldr r3, [pc, #536] ; (803a4fc ) 803a2e4: 781b ldrb r3, [r3, #0] 803a2e6: b2db uxtb r3, r3 803a2e8: 2b18 cmp r3, #24 803a2ea: d104 bne.n 803a2f6 menupos = FilterHP; 803a2ec: 4b83 ldr r3, [pc, #524] ; (803a4fc ) 803a2ee: 2217 movs r2, #23 803a2f0: 701a strb r2, [r3, #0] break; 803a2f2: f001 bd96 b.w 803be22 if(menupos == FilterHP) 803a2f6: 4b81 ldr r3, [pc, #516] ; (803a4fc ) 803a2f8: 781b ldrb r3, [r3, #0] 803a2fa: b2db uxtb r3, r3 803a2fc: 2b17 cmp r3, #23 803a2fe: d104 bne.n 803a30a menupos = OscValue; 803a300: 4b7e ldr r3, [pc, #504] ; (803a4fc ) 803a302: 2201 movs r2, #1 803a304: 701a strb r2, [r3, #0] break; 803a306: f001 bd8c b.w 803be22 if(menupos == OscValue) 803a30a: 4b7c ldr r3, [pc, #496] ; (803a4fc ) 803a30c: 781b ldrb r3, [r3, #0] 803a30e: b2db uxtb r3, r3 803a310: 2b01 cmp r3, #1 803a312: d104 bne.n 803a31e menupos = Ok; 803a314: 4b79 ldr r3, [pc, #484] ; (803a4fc ) 803a316: 2200 movs r2, #0 803a318: 701a strb r2, [r3, #0] break; 803a31a: f001 bd82 b.w 803be22 if((menupos >= OscThr_IDT) && (menupos <= OscThr_IKD)) 803a31e: 4b77 ldr r3, [pc, #476] ; (803a4fc ) 803a320: 781b ldrb r3, [r3, #0] 803a322: b2db uxtb r3, r3 803a324: 2b08 cmp r3, #8 803a326: f240 814d bls.w 803a5c4 803a32a: 4b74 ldr r3, [pc, #464] ; (803a4fc ) 803a32c: 781b ldrb r3, [r3, #0] 803a32e: b2db uxtb r3, r3 803a330: 2b0e cmp r3, #14 803a332: f200 8147 bhi.w 803a5c4 k = (uint32_t) (pardata.THR_VAL * 10.0f); 803a336: 4b6d ldr r3, [pc, #436] ; (803a4ec ) 803a338: edd3 7a05 vldr s15, [r3, #20] 803a33c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a340: ee67 7a87 vmul.f32 s15, s15, s14 803a344: eefc 7ae7 vcvt.u32.f32 s15, s15 803a348: ee17 3a90 vmov r3, s15 803a34c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803a350: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a354: 095b lsrs r3, r3, #5 803a356: 4a6a ldr r2, [pc, #424] ; (803a500 ) 803a358: fba2 2303 umull r2, r3, r2, r3 803a35c: 09db lsrs r3, r3, #7 803a35e: b2db uxtb r3, r3 803a360: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803a364: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a368: 0953 lsrs r3, r2, #5 803a36a: 4965 ldr r1, [pc, #404] ; (803a500 ) 803a36c: fba1 1303 umull r1, r3, r1, r3 803a370: 09db lsrs r3, r3, #7 803a372: 4964 ldr r1, [pc, #400] ; (803a504 ) 803a374: fb01 f303 mul.w r3, r1, r3 803a378: 1ad3 subs r3, r2, r3 803a37a: 4a63 ldr r2, [pc, #396] ; (803a508 ) 803a37c: fba2 2303 umull r2, r3, r2, r3 803a380: 0b5b lsrs r3, r3, #13 803a382: b2db uxtb r3, r3 803a384: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803a388: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a38c: 0953 lsrs r3, r2, #5 803a38e: 495c ldr r1, [pc, #368] ; (803a500 ) 803a390: fba1 1303 umull r1, r3, r1, r3 803a394: 09db lsrs r3, r3, #7 803a396: 495b ldr r1, [pc, #364] ; (803a504 ) 803a398: fb01 f303 mul.w r3, r1, r3 803a39c: 1ad3 subs r3, r2, r3 803a39e: 4a5a ldr r2, [pc, #360] ; (803a508 ) 803a3a0: fba2 1203 umull r1, r2, r2, r3 803a3a4: 0b52 lsrs r2, r2, #13 803a3a6: f242 7110 movw r1, #10000 ; 0x2710 803a3aa: fb01 f202 mul.w r2, r1, r2 803a3ae: 1a9a subs r2, r3, r2 803a3b0: 4b56 ldr r3, [pc, #344] ; (803a50c ) 803a3b2: fba3 2302 umull r2, r3, r3, r2 803a3b6: 099b lsrs r3, r3, #6 803a3b8: b2db uxtb r3, r3 803a3ba: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803a3be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a3c2: 095a lsrs r2, r3, #5 803a3c4: 494e ldr r1, [pc, #312] ; (803a500 ) 803a3c6: fba1 1202 umull r1, r2, r1, r2 803a3ca: 09d2 lsrs r2, r2, #7 803a3cc: 494d ldr r1, [pc, #308] ; (803a504 ) 803a3ce: fb01 f202 mul.w r2, r1, r2 803a3d2: 1a9a subs r2, r3, r2 803a3d4: 4b4c ldr r3, [pc, #304] ; (803a508 ) 803a3d6: fba3 1302 umull r1, r3, r3, r2 803a3da: 0b5b lsrs r3, r3, #13 803a3dc: f242 7110 movw r1, #10000 ; 0x2710 803a3e0: fb01 f303 mul.w r3, r1, r3 803a3e4: 1ad3 subs r3, r2, r3 803a3e6: 4a49 ldr r2, [pc, #292] ; (803a50c ) 803a3e8: fba2 1203 umull r1, r2, r2, r3 803a3ec: 0992 lsrs r2, r2, #6 803a3ee: f44f 717a mov.w r1, #1000 ; 0x3e8 803a3f2: fb01 f202 mul.w r2, r1, r2 803a3f6: 1a9a subs r2, r3, r2 803a3f8: 4b45 ldr r3, [pc, #276] ; (803a510 ) 803a3fa: fba3 2302 umull r2, r3, r3, r2 803a3fe: 095b lsrs r3, r3, #5 803a400: b2db uxtb r3, r3 803a402: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803a406: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a40a: 0953 lsrs r3, r2, #5 803a40c: 493c ldr r1, [pc, #240] ; (803a500 ) 803a40e: fba1 1303 umull r1, r3, r1, r3 803a412: 09db lsrs r3, r3, #7 803a414: 493b ldr r1, [pc, #236] ; (803a504 ) 803a416: fb01 f303 mul.w r3, r1, r3 803a41a: 1ad3 subs r3, r2, r3 803a41c: 4a3a ldr r2, [pc, #232] ; (803a508 ) 803a41e: fba2 1203 umull r1, r2, r2, r3 803a422: 0b52 lsrs r2, r2, #13 803a424: f242 7110 movw r1, #10000 ; 0x2710 803a428: fb01 f202 mul.w r2, r1, r2 803a42c: 1a9a subs r2, r3, r2 803a42e: 4b37 ldr r3, [pc, #220] ; (803a50c ) 803a430: fba3 1302 umull r1, r3, r3, r2 803a434: 099b lsrs r3, r3, #6 803a436: f44f 717a mov.w r1, #1000 ; 0x3e8 803a43a: fb01 f303 mul.w r3, r1, r3 803a43e: 1ad3 subs r3, r2, r3 803a440: 4a33 ldr r2, [pc, #204] ; (803a510 ) 803a442: fba2 1203 umull r1, r2, r2, r3 803a446: 0952 lsrs r2, r2, #5 803a448: 2164 movs r1, #100 ; 0x64 803a44a: fb01 f202 mul.w r2, r1, r2 803a44e: 1a9a subs r2, r3, r2 803a450: 4b30 ldr r3, [pc, #192] ; (803a514 ) 803a452: fba3 2302 umull r2, r3, r3, r2 803a456: 08db lsrs r3, r3, #3 803a458: b2db uxtb r3, r3 803a45a: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a45e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a462: 0953 lsrs r3, r2, #5 803a464: 4926 ldr r1, [pc, #152] ; (803a500 ) 803a466: fba1 1303 umull r1, r3, r1, r3 803a46a: 09db lsrs r3, r3, #7 803a46c: 4925 ldr r1, [pc, #148] ; (803a504 ) 803a46e: fb01 f303 mul.w r3, r1, r3 803a472: 1ad3 subs r3, r2, r3 803a474: 4a24 ldr r2, [pc, #144] ; (803a508 ) 803a476: fba2 1203 umull r1, r2, r2, r3 803a47a: 0b52 lsrs r2, r2, #13 803a47c: f242 7110 movw r1, #10000 ; 0x2710 803a480: fb01 f202 mul.w r2, r1, r2 803a484: 1a9a subs r2, r3, r2 803a486: 4b21 ldr r3, [pc, #132] ; (803a50c ) 803a488: fba3 1302 umull r1, r3, r3, r2 803a48c: 099b lsrs r3, r3, #6 803a48e: f44f 717a mov.w r1, #1000 ; 0x3e8 803a492: fb01 f303 mul.w r3, r1, r3 803a496: 1ad3 subs r3, r2, r3 803a498: 4a1d ldr r2, [pc, #116] ; (803a510 ) 803a49a: fba2 1203 umull r1, r2, r2, r3 803a49e: 0952 lsrs r2, r2, #5 803a4a0: 2164 movs r1, #100 ; 0x64 803a4a2: fb01 f202 mul.w r2, r1, r2 803a4a6: 1a9a subs r2, r3, r2 803a4a8: 4b1a ldr r3, [pc, #104] ; (803a514 ) 803a4aa: fba3 1302 umull r1, r3, r3, r2 803a4ae: 08d9 lsrs r1, r3, #3 803a4b0: 460b mov r3, r1 803a4b2: 009b lsls r3, r3, #2 803a4b4: 440b add r3, r1 803a4b6: 005b lsls r3, r3, #1 803a4b8: 1ad1 subs r1, r2, r3 803a4ba: b2cb uxtb r3, r1 803a4bc: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803a4c0: 4b0e ldr r3, [pc, #56] ; (803a4fc ) 803a4c2: 781b ldrb r3, [r3, #0] 803a4c4: b2db uxtb r3, r3 803a4c6: 3b09 subs r3, #9 803a4c8: 2b05 cmp r3, #5 803a4ca: d84d bhi.n 803a568 803a4cc: a201 add r2, pc, #4 ; (adr r2, 803a4d4 ) 803a4ce: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803a4d2: bf00 nop 803a4d4: 0803a519 .word 0x0803a519 803a4d8: 0803a527 .word 0x0803a527 803a4dc: 0803a537 .word 0x0803a537 803a4e0: 0803a545 .word 0x0803a545 803a4e4: 0803a551 .word 0x0803a551 803a4e8: 0803a55d .word 0x0803a55d 803a4ec: 20023e60 .word 0x20023e60 803a4f0: 3dcccccd .word 0x3dcccccd 803a4f4: 38d1b717 .word 0x38d1b717 803a4f8: 20020f84 .word 0x20020f84 803a4fc: 20020070 .word 0x20020070 803a500: 0a7c5ac5 .word 0x0a7c5ac5 803a504: 000186a0 .word 0x000186a0 803a508: d1b71759 .word 0xd1b71759 803a50c: 10624dd3 .word 0x10624dd3 803a510: 51eb851f .word 0x51eb851f 803a514: cccccccd .word 0xcccccccd k += 100000; 803a518: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a51c: 4bc7 ldr r3, [pc, #796] ; (803a83c ) 803a51e: 4413 add r3, r2 803a520: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a524: e020 b.n 803a568 k += 10000; 803a526: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a52a: f242 7310 movw r3, #10000 ; 0x2710 803a52e: 4413 add r3, r2 803a530: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a534: e018 b.n 803a568 k += 1000; 803a536: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a53a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803a53e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a542: e011 b.n 803a568 k += 100; 803a544: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a548: 3364 adds r3, #100 ; 0x64 803a54a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a54e: e00b b.n 803a568 k += 10; 803a550: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a554: 330a adds r3, #10 803a556: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a55a: e005 b.n 803a568 k++; 803a55c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a560: 3301 adds r3, #1 803a562: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a566: bf00 nop if(k > 999999) k = 999999; 803a568: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a56c: 4ab4 ldr r2, [pc, #720] ; (803a840 ) 803a56e: 4293 cmp r3, r2 803a570: d902 bls.n 803a578 803a572: 4bb3 ldr r3, [pc, #716] ; (803a840 ) 803a574: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803a578: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a57c: 2b00 cmp r3, #0 803a57e: d102 bne.n 803a586 803a580: 2301 movs r3, #1 803a582: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 803a586: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a58a: ee07 3a90 vmov s15, r3 803a58e: eef8 7a67 vcvt.f32.u32 s15, s15 803a592: 4bac ldr r3, [pc, #688] ; (803a844 ) 803a594: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 803a598: 4baa ldr r3, [pc, #680] ; (803a844 ) 803a59a: edd3 7a05 vldr s15, [r3, #20] 803a59e: ed9f 7aaa vldr s14, [pc, #680] ; 803a848 803a5a2: ee67 7a87 vmul.f32 s15, s15, s14 803a5a6: 4ba7 ldr r3, [pc, #668] ; (803a844 ) 803a5a8: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 803a5ac: 4ba5 ldr r3, [pc, #660] ; (803a844 ) 803a5ae: edd3 7a05 vldr s15, [r3, #20] 803a5b2: ed9f 7aa6 vldr s14, [pc, #664] ; 803a84c 803a5b6: ee77 7a87 vadd.f32 s15, s15, s14 803a5ba: 4ba2 ldr r3, [pc, #648] ; (803a844 ) 803a5bc: edc3 7a05 vstr s15, [r3, #20] 803a5c0: f000 bca7 b.w 803af12 if((menupos >= OscMax_IDT) && (menupos <= OscMax_IKD)) 803a5c4: 4ba2 ldr r3, [pc, #648] ; (803a850 ) 803a5c6: 781b ldrb r3, [r3, #0] 803a5c8: b2db uxtb r3, r3 803a5ca: 2b0e cmp r3, #14 803a5cc: f240 814c bls.w 803a868 803a5d0: 4b9f ldr r3, [pc, #636] ; (803a850 ) 803a5d2: 781b ldrb r3, [r3, #0] 803a5d4: b2db uxtb r3, r3 803a5d6: 2b14 cmp r3, #20 803a5d8: f200 8146 bhi.w 803a868 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803a5dc: 4b99 ldr r3, [pc, #612] ; (803a844 ) 803a5de: edd3 7a06 vldr s15, [r3, #24] 803a5e2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a5e6: ee67 7a87 vmul.f32 s15, s15, s14 803a5ea: eefc 7ae7 vcvt.u32.f32 s15, s15 803a5ee: ee17 3a90 vmov r3, s15 803a5f2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803a5f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a5fa: 095b lsrs r3, r3, #5 803a5fc: 4a95 ldr r2, [pc, #596] ; (803a854 ) 803a5fe: fba2 2303 umull r2, r3, r2, r3 803a602: 09db lsrs r3, r3, #7 803a604: b2db uxtb r3, r3 803a606: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803a60a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a60e: 0953 lsrs r3, r2, #5 803a610: 4990 ldr r1, [pc, #576] ; (803a854 ) 803a612: fba1 1303 umull r1, r3, r1, r3 803a616: 09db lsrs r3, r3, #7 803a618: 4988 ldr r1, [pc, #544] ; (803a83c ) 803a61a: fb01 f303 mul.w r3, r1, r3 803a61e: 1ad3 subs r3, r2, r3 803a620: 4a8d ldr r2, [pc, #564] ; (803a858 ) 803a622: fba2 2303 umull r2, r3, r2, r3 803a626: 0b5b lsrs r3, r3, #13 803a628: b2db uxtb r3, r3 803a62a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803a62e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a632: 0953 lsrs r3, r2, #5 803a634: 4987 ldr r1, [pc, #540] ; (803a854 ) 803a636: fba1 1303 umull r1, r3, r1, r3 803a63a: 09db lsrs r3, r3, #7 803a63c: 497f ldr r1, [pc, #508] ; (803a83c ) 803a63e: fb01 f303 mul.w r3, r1, r3 803a642: 1ad3 subs r3, r2, r3 803a644: 4a84 ldr r2, [pc, #528] ; (803a858 ) 803a646: fba2 1203 umull r1, r2, r2, r3 803a64a: 0b52 lsrs r2, r2, #13 803a64c: f242 7110 movw r1, #10000 ; 0x2710 803a650: fb01 f202 mul.w r2, r1, r2 803a654: 1a9a subs r2, r3, r2 803a656: 4b81 ldr r3, [pc, #516] ; (803a85c ) 803a658: fba3 2302 umull r2, r3, r3, r2 803a65c: 099b lsrs r3, r3, #6 803a65e: b2db uxtb r3, r3 803a660: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803a664: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a668: 095a lsrs r2, r3, #5 803a66a: 497a ldr r1, [pc, #488] ; (803a854 ) 803a66c: fba1 1202 umull r1, r2, r1, r2 803a670: 09d2 lsrs r2, r2, #7 803a672: 4972 ldr r1, [pc, #456] ; (803a83c ) 803a674: fb01 f202 mul.w r2, r1, r2 803a678: 1a9a subs r2, r3, r2 803a67a: 4b77 ldr r3, [pc, #476] ; (803a858 ) 803a67c: fba3 1302 umull r1, r3, r3, r2 803a680: 0b5b lsrs r3, r3, #13 803a682: f242 7110 movw r1, #10000 ; 0x2710 803a686: fb01 f303 mul.w r3, r1, r3 803a68a: 1ad3 subs r3, r2, r3 803a68c: 4a73 ldr r2, [pc, #460] ; (803a85c ) 803a68e: fba2 1203 umull r1, r2, r2, r3 803a692: 0992 lsrs r2, r2, #6 803a694: f44f 717a mov.w r1, #1000 ; 0x3e8 803a698: fb01 f202 mul.w r2, r1, r2 803a69c: 1a9a subs r2, r3, r2 803a69e: 4b70 ldr r3, [pc, #448] ; (803a860 ) 803a6a0: fba3 2302 umull r2, r3, r3, r2 803a6a4: 095b lsrs r3, r3, #5 803a6a6: b2db uxtb r3, r3 803a6a8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803a6ac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a6b0: 0953 lsrs r3, r2, #5 803a6b2: 4968 ldr r1, [pc, #416] ; (803a854 ) 803a6b4: fba1 1303 umull r1, r3, r1, r3 803a6b8: 09db lsrs r3, r3, #7 803a6ba: 4960 ldr r1, [pc, #384] ; (803a83c ) 803a6bc: fb01 f303 mul.w r3, r1, r3 803a6c0: 1ad3 subs r3, r2, r3 803a6c2: 4a65 ldr r2, [pc, #404] ; (803a858 ) 803a6c4: fba2 1203 umull r1, r2, r2, r3 803a6c8: 0b52 lsrs r2, r2, #13 803a6ca: f242 7110 movw r1, #10000 ; 0x2710 803a6ce: fb01 f202 mul.w r2, r1, r2 803a6d2: 1a9a subs r2, r3, r2 803a6d4: 4b61 ldr r3, [pc, #388] ; (803a85c ) 803a6d6: fba3 1302 umull r1, r3, r3, r2 803a6da: 099b lsrs r3, r3, #6 803a6dc: f44f 717a mov.w r1, #1000 ; 0x3e8 803a6e0: fb01 f303 mul.w r3, r1, r3 803a6e4: 1ad3 subs r3, r2, r3 803a6e6: 4a5e ldr r2, [pc, #376] ; (803a860 ) 803a6e8: fba2 1203 umull r1, r2, r2, r3 803a6ec: 0952 lsrs r2, r2, #5 803a6ee: 2164 movs r1, #100 ; 0x64 803a6f0: fb01 f202 mul.w r2, r1, r2 803a6f4: 1a9a subs r2, r3, r2 803a6f6: 4b5b ldr r3, [pc, #364] ; (803a864 ) 803a6f8: fba3 2302 umull r2, r3, r3, r2 803a6fc: 08db lsrs r3, r3, #3 803a6fe: b2db uxtb r3, r3 803a700: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a704: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a708: 0953 lsrs r3, r2, #5 803a70a: 4952 ldr r1, [pc, #328] ; (803a854 ) 803a70c: fba1 1303 umull r1, r3, r1, r3 803a710: 09db lsrs r3, r3, #7 803a712: 494a ldr r1, [pc, #296] ; (803a83c ) 803a714: fb01 f303 mul.w r3, r1, r3 803a718: 1ad3 subs r3, r2, r3 803a71a: 4a4f ldr r2, [pc, #316] ; (803a858 ) 803a71c: fba2 1203 umull r1, r2, r2, r3 803a720: 0b52 lsrs r2, r2, #13 803a722: f242 7110 movw r1, #10000 ; 0x2710 803a726: fb01 f202 mul.w r2, r1, r2 803a72a: 1a9a subs r2, r3, r2 803a72c: 4b4b ldr r3, [pc, #300] ; (803a85c ) 803a72e: fba3 1302 umull r1, r3, r3, r2 803a732: 099b lsrs r3, r3, #6 803a734: f44f 717a mov.w r1, #1000 ; 0x3e8 803a738: fb01 f303 mul.w r3, r1, r3 803a73c: 1ad3 subs r3, r2, r3 803a73e: 4a48 ldr r2, [pc, #288] ; (803a860 ) 803a740: fba2 1203 umull r1, r2, r2, r3 803a744: 0952 lsrs r2, r2, #5 803a746: 2164 movs r1, #100 ; 0x64 803a748: fb01 f202 mul.w r2, r1, r2 803a74c: 1a9a subs r2, r3, r2 803a74e: 4b45 ldr r3, [pc, #276] ; (803a864 ) 803a750: fba3 1302 umull r1, r3, r3, r2 803a754: 08d9 lsrs r1, r3, #3 803a756: 460b mov r3, r1 803a758: 009b lsls r3, r3, #2 803a75a: 440b add r3, r1 803a75c: 005b lsls r3, r3, #1 803a75e: 1ad1 subs r1, r2, r3 803a760: b2cb uxtb r3, r1 803a762: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803a766: 4b3a ldr r3, [pc, #232] ; (803a850 ) 803a768: 781b ldrb r3, [r3, #0] 803a76a: b2db uxtb r3, r3 803a76c: 3b0f subs r3, #15 803a76e: 2b05 cmp r3, #5 803a770: d836 bhi.n 803a7e0 803a772: a201 add r2, pc, #4 ; (adr r2, 803a778 ) 803a774: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803a778: 0803a791 .word 0x0803a791 803a77c: 0803a79f .word 0x0803a79f 803a780: 0803a7af .word 0x0803a7af 803a784: 0803a7bd .word 0x0803a7bd 803a788: 0803a7c9 .word 0x0803a7c9 803a78c: 0803a7d5 .word 0x0803a7d5 k += 100000; 803a790: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a794: 4b29 ldr r3, [pc, #164] ; (803a83c ) 803a796: 4413 add r3, r2 803a798: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a79c: e020 b.n 803a7e0 k += 10000; 803a79e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a7a2: f242 7310 movw r3, #10000 ; 0x2710 803a7a6: 4413 add r3, r2 803a7a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7ac: e018 b.n 803a7e0 k += 1000; 803a7ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7b2: f503 737a add.w r3, r3, #1000 ; 0x3e8 803a7b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7ba: e011 b.n 803a7e0 k += 100; 803a7bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7c0: 3364 adds r3, #100 ; 0x64 803a7c2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7c6: e00b b.n 803a7e0 k += 10; 803a7c8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7cc: 330a adds r3, #10 803a7ce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7d2: e005 b.n 803a7e0 k++; 803a7d4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7d8: 3301 adds r3, #1 803a7da: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803a7de: bf00 nop if(k > 999999) k = 999999; 803a7e0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7e4: 4a16 ldr r2, [pc, #88] ; (803a840 ) 803a7e6: 4293 cmp r3, r2 803a7e8: d902 bls.n 803a7f0 803a7ea: 4b15 ldr r3, [pc, #84] ; (803a840 ) 803a7ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803a7f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a7f4: 2b00 cmp r3, #0 803a7f6: d102 bne.n 803a7fe 803a7f8: 2301 movs r3, #1 803a7fa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803a7fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a802: ee07 3a90 vmov s15, r3 803a806: eef8 7a67 vcvt.f32.u32 s15, s15 803a80a: 4b0e ldr r3, [pc, #56] ; (803a844 ) 803a80c: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803a810: 4b0c ldr r3, [pc, #48] ; (803a844 ) 803a812: edd3 7a06 vldr s15, [r3, #24] 803a816: ed9f 7a0c vldr s14, [pc, #48] ; 803a848 803a81a: ee67 7a87 vmul.f32 s15, s15, s14 803a81e: 4b09 ldr r3, [pc, #36] ; (803a844 ) 803a820: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803a824: 4b07 ldr r3, [pc, #28] ; (803a844 ) 803a826: edd3 7a06 vldr s15, [r3, #24] 803a82a: ed9f 7a08 vldr s14, [pc, #32] ; 803a84c 803a82e: ee77 7a87 vadd.f32 s15, s15, s14 803a832: 4b04 ldr r3, [pc, #16] ; (803a844 ) 803a834: edc3 7a06 vstr s15, [r3, #24] 803a838: e36b b.n 803af12 803a83a: bf00 nop 803a83c: 000186a0 .word 0x000186a0 803a840: 000f423f .word 0x000f423f 803a844: 20023e60 .word 0x20023e60 803a848: 3dcccccd .word 0x3dcccccd 803a84c: 3d4ccccd .word 0x3d4ccccd 803a850: 20020070 .word 0x20020070 803a854: 0a7c5ac5 .word 0x0a7c5ac5 803a858: d1b71759 .word 0xd1b71759 803a85c: 10624dd3 .word 0x10624dd3 803a860: 51eb851f .word 0x51eb851f 803a864: cccccccd .word 0xcccccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 803a868: 4bd3 ldr r3, [pc, #844] ; (803abb8 ) 803a86a: 781b ldrb r3, [r3, #0] 803a86c: b2db uxtb r3, r3 803a86e: 2b18 cmp r3, #24 803a870: f240 81b6 bls.w 803abe0 803a874: 4bd0 ldr r3, [pc, #832] ; (803abb8 ) 803a876: 781b ldrb r3, [r3, #0] 803a878: b2db uxtb r3, r3 803a87a: 2b1e cmp r3, #30 803a87c: f200 81b0 bhi.w 803abe0 k = (uint32_t) (pardata.HP * 10.0f); 803a880: 4bce ldr r3, [pc, #824] ; (803abbc ) 803a882: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803a886: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803a88a: ee67 7a87 vmul.f32 s15, s15, s14 803a88e: eefc 7ae7 vcvt.u32.f32 s15, s15 803a892: ee17 3a90 vmov r3, s15 803a896: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803a89a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a89e: 095b lsrs r3, r3, #5 803a8a0: 4ac7 ldr r2, [pc, #796] ; (803abc0 ) 803a8a2: fba2 2303 umull r2, r3, r2, r3 803a8a6: 09db lsrs r3, r3, #7 803a8a8: b2db uxtb r3, r3 803a8aa: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803a8ae: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a8b2: 0953 lsrs r3, r2, #5 803a8b4: 49c2 ldr r1, [pc, #776] ; (803abc0 ) 803a8b6: fba1 1303 umull r1, r3, r1, r3 803a8ba: 09db lsrs r3, r3, #7 803a8bc: 49c1 ldr r1, [pc, #772] ; (803abc4 ) 803a8be: fb01 f303 mul.w r3, r1, r3 803a8c2: 1ad3 subs r3, r2, r3 803a8c4: 4ac0 ldr r2, [pc, #768] ; (803abc8 ) 803a8c6: fba2 2303 umull r2, r3, r2, r3 803a8ca: 0b5b lsrs r3, r3, #13 803a8cc: b2db uxtb r3, r3 803a8ce: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803a8d2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a8d6: 0953 lsrs r3, r2, #5 803a8d8: 49b9 ldr r1, [pc, #740] ; (803abc0 ) 803a8da: fba1 1303 umull r1, r3, r1, r3 803a8de: 09db lsrs r3, r3, #7 803a8e0: 49b8 ldr r1, [pc, #736] ; (803abc4 ) 803a8e2: fb01 f303 mul.w r3, r1, r3 803a8e6: 1ad3 subs r3, r2, r3 803a8e8: 4ab7 ldr r2, [pc, #732] ; (803abc8 ) 803a8ea: fba2 1203 umull r1, r2, r2, r3 803a8ee: 0b52 lsrs r2, r2, #13 803a8f0: f242 7110 movw r1, #10000 ; 0x2710 803a8f4: fb01 f202 mul.w r2, r1, r2 803a8f8: 1a9a subs r2, r3, r2 803a8fa: 4bb4 ldr r3, [pc, #720] ; (803abcc ) 803a8fc: fba3 2302 umull r2, r3, r3, r2 803a900: 099b lsrs r3, r3, #6 803a902: b2db uxtb r3, r3 803a904: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803a908: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803a90c: 095a lsrs r2, r3, #5 803a90e: 49ac ldr r1, [pc, #688] ; (803abc0 ) 803a910: fba1 1202 umull r1, r2, r1, r2 803a914: 09d2 lsrs r2, r2, #7 803a916: 49ab ldr r1, [pc, #684] ; (803abc4 ) 803a918: fb01 f202 mul.w r2, r1, r2 803a91c: 1a9a subs r2, r3, r2 803a91e: 4baa ldr r3, [pc, #680] ; (803abc8 ) 803a920: fba3 1302 umull r1, r3, r3, r2 803a924: 0b5b lsrs r3, r3, #13 803a926: f242 7110 movw r1, #10000 ; 0x2710 803a92a: fb01 f303 mul.w r3, r1, r3 803a92e: 1ad3 subs r3, r2, r3 803a930: 4aa6 ldr r2, [pc, #664] ; (803abcc ) 803a932: fba2 1203 umull r1, r2, r2, r3 803a936: 0992 lsrs r2, r2, #6 803a938: f44f 717a mov.w r1, #1000 ; 0x3e8 803a93c: fb01 f202 mul.w r2, r1, r2 803a940: 1a9a subs r2, r3, r2 803a942: 4ba3 ldr r3, [pc, #652] ; (803abd0 ) 803a944: fba3 2302 umull r2, r3, r3, r2 803a948: 095b lsrs r3, r3, #5 803a94a: b2db uxtb r3, r3 803a94c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803a950: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a954: 0953 lsrs r3, r2, #5 803a956: 499a ldr r1, [pc, #616] ; (803abc0 ) 803a958: fba1 1303 umull r1, r3, r1, r3 803a95c: 09db lsrs r3, r3, #7 803a95e: 4999 ldr r1, [pc, #612] ; (803abc4 ) 803a960: fb01 f303 mul.w r3, r1, r3 803a964: 1ad3 subs r3, r2, r3 803a966: 4a98 ldr r2, [pc, #608] ; (803abc8 ) 803a968: fba2 1203 umull r1, r2, r2, r3 803a96c: 0b52 lsrs r2, r2, #13 803a96e: f242 7110 movw r1, #10000 ; 0x2710 803a972: fb01 f202 mul.w r2, r1, r2 803a976: 1a9a subs r2, r3, r2 803a978: 4b94 ldr r3, [pc, #592] ; (803abcc ) 803a97a: fba3 1302 umull r1, r3, r3, r2 803a97e: 099b lsrs r3, r3, #6 803a980: f44f 717a mov.w r1, #1000 ; 0x3e8 803a984: fb01 f303 mul.w r3, r1, r3 803a988: 1ad3 subs r3, r2, r3 803a98a: 4a91 ldr r2, [pc, #580] ; (803abd0 ) 803a98c: fba2 1203 umull r1, r2, r2, r3 803a990: 0952 lsrs r2, r2, #5 803a992: 2164 movs r1, #100 ; 0x64 803a994: fb01 f202 mul.w r2, r1, r2 803a998: 1a9a subs r2, r3, r2 803a99a: 4b8e ldr r3, [pc, #568] ; (803abd4 ) 803a99c: fba3 2302 umull r2, r3, r3, r2 803a9a0: 08db lsrs r3, r3, #3 803a9a2: b2db uxtb r3, r3 803a9a4: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803a9a8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803a9ac: 0953 lsrs r3, r2, #5 803a9ae: 4984 ldr r1, [pc, #528] ; (803abc0 ) 803a9b0: fba1 1303 umull r1, r3, r1, r3 803a9b4: 09db lsrs r3, r3, #7 803a9b6: 4983 ldr r1, [pc, #524] ; (803abc4 ) 803a9b8: fb01 f303 mul.w r3, r1, r3 803a9bc: 1ad3 subs r3, r2, r3 803a9be: 4a82 ldr r2, [pc, #520] ; (803abc8 ) 803a9c0: fba2 1203 umull r1, r2, r2, r3 803a9c4: 0b52 lsrs r2, r2, #13 803a9c6: f242 7110 movw r1, #10000 ; 0x2710 803a9ca: fb01 f202 mul.w r2, r1, r2 803a9ce: 1a9a subs r2, r3, r2 803a9d0: 4b7e ldr r3, [pc, #504] ; (803abcc ) 803a9d2: fba3 1302 umull r1, r3, r3, r2 803a9d6: 099b lsrs r3, r3, #6 803a9d8: f44f 717a mov.w r1, #1000 ; 0x3e8 803a9dc: fb01 f303 mul.w r3, r1, r3 803a9e0: 1ad3 subs r3, r2, r3 803a9e2: 4a7b ldr r2, [pc, #492] ; (803abd0 ) 803a9e4: fba2 1203 umull r1, r2, r2, r3 803a9e8: 0952 lsrs r2, r2, #5 803a9ea: 2164 movs r1, #100 ; 0x64 803a9ec: fb01 f202 mul.w r2, r1, r2 803a9f0: 1a9a subs r2, r3, r2 803a9f2: 4b78 ldr r3, [pc, #480] ; (803abd4 ) 803a9f4: fba3 1302 umull r1, r3, r3, r2 803a9f8: 08d9 lsrs r1, r3, #3 803a9fa: 460b mov r3, r1 803a9fc: 009b lsls r3, r3, #2 803a9fe: 440b add r3, r1 803aa00: 005b lsls r3, r3, #1 803aa02: 1ad1 subs r1, r2, r3 803aa04: b2cb uxtb r3, r1 803aa06: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803aa0a: 4b6b ldr r3, [pc, #428] ; (803abb8 ) 803aa0c: 781b ldrb r3, [r3, #0] 803aa0e: b2db uxtb r3, r3 803aa10: 3b19 subs r3, #25 803aa12: 2b05 cmp r3, #5 803aa14: d836 bhi.n 803aa84 803aa16: a201 add r2, pc, #4 ; (adr r2, 803aa1c ) 803aa18: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803aa1c: 0803aa35 .word 0x0803aa35 803aa20: 0803aa43 .word 0x0803aa43 803aa24: 0803aa53 .word 0x0803aa53 803aa28: 0803aa61 .word 0x0803aa61 803aa2c: 0803aa6d .word 0x0803aa6d 803aa30: 0803aa79 .word 0x0803aa79 k += 100000; 803aa34: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803aa38: 4b62 ldr r3, [pc, #392] ; (803abc4 ) 803aa3a: 4413 add r3, r2 803aa3c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aa40: e020 b.n 803aa84 k += 10000; 803aa42: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803aa46: f242 7310 movw r3, #10000 ; 0x2710 803aa4a: 4413 add r3, r2 803aa4c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aa50: e018 b.n 803aa84 k += 1000; 803aa52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa56: f503 737a add.w r3, r3, #1000 ; 0x3e8 803aa5a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aa5e: e011 b.n 803aa84 k += 100; 803aa60: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa64: 3364 adds r3, #100 ; 0x64 803aa66: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aa6a: e00b b.n 803aa84 k += 10; 803aa6c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa70: 330a adds r3, #10 803aa72: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aa76: e005 b.n 803aa84 k++; 803aa78: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa7c: 3301 adds r3, #1 803aa7e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803aa82: bf00 nop fl = (float32_t) k; 803aa84: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aa88: ee07 3a90 vmov s15, r3 803aa8c: eef8 7a67 vcvt.f32.u32 s15, s15 803aa90: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803aa94: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803aa98: ed9f 7a4f vldr s14, [pc, #316] ; 803abd8 803aa9c: ee67 7a87 vmul.f32 s15, s15, s14 803aaa0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803aaa4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803aaa8: ed9f 7a4c vldr s14, [pc, #304] ; 803abdc 803aaac: ee77 7a87 vadd.f32 s15, s15, s14 803aab0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 803aab4: 4b41 ldr r3, [pc, #260] ; (803abbc ) 803aab6: 785b ldrb r3, [r3, #1] 803aab8: b2db uxtb r3, r3 803aaba: 2b00 cmp r3, #0 803aabc: d13d bne.n 803ab3a if(fl < 0.5f) 803aabe: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803aac2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 803aac6: eef4 7ac7 vcmpe.f32 s15, s14 803aaca: eef1 fa10 vmrs APSR_nzcv, fpscr 803aace: d505 bpl.n 803aadc pardata.HP = 0.5f; 803aad0: 4b3a ldr r3, [pc, #232] ; (803abbc ) 803aad2: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 803aad6: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803aada: e21a b.n 803af12 if(fl > pardata.LP) 803aadc: 4b37 ldr r3, [pc, #220] ; (803abbc ) 803aade: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803aae2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803aae6: eeb4 7ae7 vcmpe.f32 s14, s15 803aaea: eef1 fa10 vmrs APSR_nzcv, fpscr 803aaee: d506 bpl.n 803aafe pardata.HP = pardata.LP; 803aaf0: 4b32 ldr r3, [pc, #200] ; (803abbc ) 803aaf2: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803aaf6: 4a31 ldr r2, [pc, #196] ; (803abbc ) 803aaf8: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803aafc: e209 b.n 803af12 pardata.HP = (float32_t) k; 803aafe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ab02: ee07 3a90 vmov s15, r3 803ab06: eef8 7a67 vcvt.f32.u32 s15, s15 803ab0a: 4b2c ldr r3, [pc, #176] ; (803abbc ) 803ab0c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803ab10: 4b2a ldr r3, [pc, #168] ; (803abbc ) 803ab12: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803ab16: ed9f 7a30 vldr s14, [pc, #192] ; 803abd8 803ab1a: ee67 7a87 vmul.f32 s15, s15, s14 803ab1e: 4b27 ldr r3, [pc, #156] ; (803abbc ) 803ab20: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803ab24: 4b25 ldr r3, [pc, #148] ; (803abbc ) 803ab26: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803ab2a: ed9f 7a2c vldr s14, [pc, #176] ; 803abdc 803ab2e: ee77 7a87 vadd.f32 s15, s15, s14 803ab32: 4b22 ldr r3, [pc, #136] ; (803abbc ) 803ab34: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803ab38: e1eb b.n 803af12 if(fl < 2.0f) 803ab3a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803ab3e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803ab42: eef4 7ac7 vcmpe.f32 s15, s14 803ab46: eef1 fa10 vmrs APSR_nzcv, fpscr 803ab4a: d505 bpl.n 803ab58 pardata.HP = 2.0f; 803ab4c: 4b1b ldr r3, [pc, #108] ; (803abbc ) 803ab4e: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 803ab52: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803ab56: e1dc b.n 803af12 if(fl > pardata.LP) 803ab58: 4b18 ldr r3, [pc, #96] ; (803abbc ) 803ab5a: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803ab5e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803ab62: eeb4 7ae7 vcmpe.f32 s14, s15 803ab66: eef1 fa10 vmrs APSR_nzcv, fpscr 803ab6a: d506 bpl.n 803ab7a pardata.HP = pardata.LP; 803ab6c: 4b13 ldr r3, [pc, #76] ; (803abbc ) 803ab6e: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803ab72: 4a12 ldr r2, [pc, #72] ; (803abbc ) 803ab74: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 803ab78: e1cb b.n 803af12 pardata.HP = (float32_t) k; 803ab7a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ab7e: ee07 3a90 vmov s15, r3 803ab82: eef8 7a67 vcvt.f32.u32 s15, s15 803ab86: 4b0d ldr r3, [pc, #52] ; (803abbc ) 803ab88: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803ab8c: 4b0b ldr r3, [pc, #44] ; (803abbc ) 803ab8e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803ab92: ed9f 7a11 vldr s14, [pc, #68] ; 803abd8 803ab96: ee67 7a87 vmul.f32 s15, s15, s14 803ab9a: 4b08 ldr r3, [pc, #32] ; (803abbc ) 803ab9c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803aba0: 4b06 ldr r3, [pc, #24] ; (803abbc ) 803aba2: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803aba6: ed9f 7a0d vldr s14, [pc, #52] ; 803abdc 803abaa: ee77 7a87 vadd.f32 s15, s15, s14 803abae: 4b03 ldr r3, [pc, #12] ; (803abbc ) 803abb0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 803abb4: e1ad b.n 803af12 803abb6: bf00 nop 803abb8: 20020070 .word 0x20020070 803abbc: 20023e60 .word 0x20023e60 803abc0: 0a7c5ac5 .word 0x0a7c5ac5 803abc4: 000186a0 .word 0x000186a0 803abc8: d1b71759 .word 0xd1b71759 803abcc: 10624dd3 .word 0x10624dd3 803abd0: 51eb851f .word 0x51eb851f 803abd4: cccccccd .word 0xcccccccd 803abd8: 3dcccccd .word 0x3dcccccd 803abdc: 38d1b717 .word 0x38d1b717 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 803abe0: 4bcd ldr r3, [pc, #820] ; (803af18 ) 803abe2: 781b ldrb r3, [r3, #0] 803abe4: b2db uxtb r3, r3 803abe6: 2b1e cmp r3, #30 803abe8: f241 811b bls.w 803be22 803abec: 4bca ldr r3, [pc, #808] ; (803af18 ) 803abee: 781b ldrb r3, [r3, #0] 803abf0: b2db uxtb r3, r3 803abf2: 2b24 cmp r3, #36 ; 0x24 803abf4: f201 8115 bhi.w 803be22 k = (uint32_t) (pardata.LP * 10.0f); 803abf8: 4bc8 ldr r3, [pc, #800] ; (803af1c ) 803abfa: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803abfe: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803ac02: ee67 7a87 vmul.f32 s15, s15, s14 803ac06: eefc 7ae7 vcvt.u32.f32 s15, s15 803ac0a: ee17 3a90 vmov r3, s15 803ac0e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803ac12: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ac16: 095b lsrs r3, r3, #5 803ac18: 4ac1 ldr r2, [pc, #772] ; (803af20 ) 803ac1a: fba2 2303 umull r2, r3, r2, r3 803ac1e: 09db lsrs r3, r3, #7 803ac20: b2db uxtb r3, r3 803ac22: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803ac26: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ac2a: 0953 lsrs r3, r2, #5 803ac2c: 49bc ldr r1, [pc, #752] ; (803af20 ) 803ac2e: fba1 1303 umull r1, r3, r1, r3 803ac32: 09db lsrs r3, r3, #7 803ac34: 49bb ldr r1, [pc, #748] ; (803af24 ) 803ac36: fb01 f303 mul.w r3, r1, r3 803ac3a: 1ad3 subs r3, r2, r3 803ac3c: 4aba ldr r2, [pc, #744] ; (803af28 ) 803ac3e: fba2 2303 umull r2, r3, r2, r3 803ac42: 0b5b lsrs r3, r3, #13 803ac44: b2db uxtb r3, r3 803ac46: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803ac4a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ac4e: 0953 lsrs r3, r2, #5 803ac50: 49b3 ldr r1, [pc, #716] ; (803af20 ) 803ac52: fba1 1303 umull r1, r3, r1, r3 803ac56: 09db lsrs r3, r3, #7 803ac58: 49b2 ldr r1, [pc, #712] ; (803af24 ) 803ac5a: fb01 f303 mul.w r3, r1, r3 803ac5e: 1ad3 subs r3, r2, r3 803ac60: 4ab1 ldr r2, [pc, #708] ; (803af28 ) 803ac62: fba2 1203 umull r1, r2, r2, r3 803ac66: 0b52 lsrs r2, r2, #13 803ac68: f242 7110 movw r1, #10000 ; 0x2710 803ac6c: fb01 f202 mul.w r2, r1, r2 803ac70: 1a9a subs r2, r3, r2 803ac72: 4bae ldr r3, [pc, #696] ; (803af2c ) 803ac74: fba3 2302 umull r2, r3, r3, r2 803ac78: 099b lsrs r3, r3, #6 803ac7a: b2db uxtb r3, r3 803ac7c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803ac80: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ac84: 095a lsrs r2, r3, #5 803ac86: 49a6 ldr r1, [pc, #664] ; (803af20 ) 803ac88: fba1 1202 umull r1, r2, r1, r2 803ac8c: 09d2 lsrs r2, r2, #7 803ac8e: 49a5 ldr r1, [pc, #660] ; (803af24 ) 803ac90: fb01 f202 mul.w r2, r1, r2 803ac94: 1a9a subs r2, r3, r2 803ac96: 4ba4 ldr r3, [pc, #656] ; (803af28 ) 803ac98: fba3 1302 umull r1, r3, r3, r2 803ac9c: 0b5b lsrs r3, r3, #13 803ac9e: f242 7110 movw r1, #10000 ; 0x2710 803aca2: fb01 f303 mul.w r3, r1, r3 803aca6: 1ad3 subs r3, r2, r3 803aca8: 4aa0 ldr r2, [pc, #640] ; (803af2c ) 803acaa: fba2 1203 umull r1, r2, r2, r3 803acae: 0992 lsrs r2, r2, #6 803acb0: f44f 717a mov.w r1, #1000 ; 0x3e8 803acb4: fb01 f202 mul.w r2, r1, r2 803acb8: 1a9a subs r2, r3, r2 803acba: 4b9d ldr r3, [pc, #628] ; (803af30 ) 803acbc: fba3 2302 umull r2, r3, r3, r2 803acc0: 095b lsrs r3, r3, #5 803acc2: b2db uxtb r3, r3 803acc4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803acc8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803accc: 0953 lsrs r3, r2, #5 803acce: 4994 ldr r1, [pc, #592] ; (803af20 ) 803acd0: fba1 1303 umull r1, r3, r1, r3 803acd4: 09db lsrs r3, r3, #7 803acd6: 4993 ldr r1, [pc, #588] ; (803af24 ) 803acd8: fb01 f303 mul.w r3, r1, r3 803acdc: 1ad3 subs r3, r2, r3 803acde: 4a92 ldr r2, [pc, #584] ; (803af28 ) 803ace0: fba2 1203 umull r1, r2, r2, r3 803ace4: 0b52 lsrs r2, r2, #13 803ace6: f242 7110 movw r1, #10000 ; 0x2710 803acea: fb01 f202 mul.w r2, r1, r2 803acee: 1a9a subs r2, r3, r2 803acf0: 4b8e ldr r3, [pc, #568] ; (803af2c ) 803acf2: fba3 1302 umull r1, r3, r3, r2 803acf6: 099b lsrs r3, r3, #6 803acf8: f44f 717a mov.w r1, #1000 ; 0x3e8 803acfc: fb01 f303 mul.w r3, r1, r3 803ad00: 1ad3 subs r3, r2, r3 803ad02: 4a8b ldr r2, [pc, #556] ; (803af30 ) 803ad04: fba2 1203 umull r1, r2, r2, r3 803ad08: 0952 lsrs r2, r2, #5 803ad0a: 2164 movs r1, #100 ; 0x64 803ad0c: fb01 f202 mul.w r2, r1, r2 803ad10: 1a9a subs r2, r3, r2 803ad12: 4b88 ldr r3, [pc, #544] ; (803af34 ) 803ad14: fba3 2302 umull r2, r3, r3, r2 803ad18: 08db lsrs r3, r3, #3 803ad1a: b2db uxtb r3, r3 803ad1c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803ad20: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ad24: 0953 lsrs r3, r2, #5 803ad26: 497e ldr r1, [pc, #504] ; (803af20 ) 803ad28: fba1 1303 umull r1, r3, r1, r3 803ad2c: 09db lsrs r3, r3, #7 803ad2e: 497d ldr r1, [pc, #500] ; (803af24 ) 803ad30: fb01 f303 mul.w r3, r1, r3 803ad34: 1ad3 subs r3, r2, r3 803ad36: 4a7c ldr r2, [pc, #496] ; (803af28 ) 803ad38: fba2 1203 umull r1, r2, r2, r3 803ad3c: 0b52 lsrs r2, r2, #13 803ad3e: f242 7110 movw r1, #10000 ; 0x2710 803ad42: fb01 f202 mul.w r2, r1, r2 803ad46: 1a9a subs r2, r3, r2 803ad48: 4b78 ldr r3, [pc, #480] ; (803af2c ) 803ad4a: fba3 1302 umull r1, r3, r3, r2 803ad4e: 099b lsrs r3, r3, #6 803ad50: f44f 717a mov.w r1, #1000 ; 0x3e8 803ad54: fb01 f303 mul.w r3, r1, r3 803ad58: 1ad3 subs r3, r2, r3 803ad5a: 4a75 ldr r2, [pc, #468] ; (803af30 ) 803ad5c: fba2 1203 umull r1, r2, r2, r3 803ad60: 0952 lsrs r2, r2, #5 803ad62: 2164 movs r1, #100 ; 0x64 803ad64: fb01 f202 mul.w r2, r1, r2 803ad68: 1a9a subs r2, r3, r2 803ad6a: 4b72 ldr r3, [pc, #456] ; (803af34 ) 803ad6c: fba3 1302 umull r1, r3, r3, r2 803ad70: 08d9 lsrs r1, r3, #3 803ad72: 460b mov r3, r1 803ad74: 009b lsls r3, r3, #2 803ad76: 440b add r3, r1 803ad78: 005b lsls r3, r3, #1 803ad7a: 1ad1 subs r1, r2, r3 803ad7c: b2cb uxtb r3, r1 803ad7e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803ad82: 4b65 ldr r3, [pc, #404] ; (803af18 ) 803ad84: 781b ldrb r3, [r3, #0] 803ad86: b2db uxtb r3, r3 803ad88: 3b1f subs r3, #31 803ad8a: 2b05 cmp r3, #5 803ad8c: d836 bhi.n 803adfc 803ad8e: a201 add r2, pc, #4 ; (adr r2, 803ad94 ) 803ad90: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ad94: 0803adad .word 0x0803adad 803ad98: 0803adbb .word 0x0803adbb 803ad9c: 0803adcb .word 0x0803adcb 803ada0: 0803add9 .word 0x0803add9 803ada4: 0803ade5 .word 0x0803ade5 803ada8: 0803adf1 .word 0x0803adf1 k += 100000; 803adac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803adb0: 4b5c ldr r3, [pc, #368] ; (803af24 ) 803adb2: 4413 add r3, r2 803adb4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803adb8: e020 b.n 803adfc k += 10000; 803adba: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803adbe: f242 7310 movw r3, #10000 ; 0x2710 803adc2: 4413 add r3, r2 803adc4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803adc8: e018 b.n 803adfc k += 1000; 803adca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803adce: f503 737a add.w r3, r3, #1000 ; 0x3e8 803add2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803add6: e011 b.n 803adfc k += 100; 803add8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803addc: 3364 adds r3, #100 ; 0x64 803adde: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ade2: e00b b.n 803adfc k += 10; 803ade4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ade8: 330a adds r3, #10 803adea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803adee: e005 b.n 803adfc k++; 803adf0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803adf4: 3301 adds r3, #1 803adf6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803adfa: bf00 nop fl = (float32_t) k; 803adfc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ae00: ee07 3a90 vmov s15, r3 803ae04: eef8 7a67 vcvt.f32.u32 s15, s15 803ae08: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803ae0c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803ae10: ed9f 7a49 vldr s14, [pc, #292] ; 803af38 803ae14: ee67 7a87 vmul.f32 s15, s15, s14 803ae18: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803ae1c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803ae20: ed9f 7a46 vldr s14, [pc, #280] ; 803af3c 803ae24: ee77 7a87 vadd.f32 s15, s15, s14 803ae28: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 803ae2c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803ae30: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803ae34: eef4 7ac7 vcmpe.f32 s15, s14 803ae38: eef1 fa10 vmrs APSR_nzcv, fpscr 803ae3c: d505 bpl.n 803ae4a pardata.LP = 10.0f; 803ae3e: 4b37 ldr r3, [pc, #220] ; (803af1c ) 803ae40: 4a3f ldr r2, [pc, #252] ; (803af40 ) 803ae42: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 803ae46: f000 bfec b.w 803be22 if(pardata.LP < pardata.HP) 803ae4a: 4b34 ldr r3, [pc, #208] ; (803af1c ) 803ae4c: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803ae50: 4b32 ldr r3, [pc, #200] ; (803af1c ) 803ae52: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803ae56: eeb4 7ae7 vcmpe.f32 s14, s15 803ae5a: eef1 fa10 vmrs APSR_nzcv, fpscr 803ae5e: d507 bpl.n 803ae70 pardata.LP = pardata.HP; 803ae60: 4b2e ldr r3, [pc, #184] ; (803af1c ) 803ae62: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 803ae66: 4a2d ldr r2, [pc, #180] ; (803af1c ) 803ae68: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 803ae6c: f000 bfd9 b.w 803be22 if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 803ae70: 4b2a ldr r3, [pc, #168] ; (803af1c ) 803ae72: 7adb ldrb r3, [r3, #11] 803ae74: b2db uxtb r3, r3 803ae76: 461a mov r2, r3 803ae78: 4b32 ldr r3, [pc, #200] ; (803af44 ) 803ae7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803ae7e: ee07 3a90 vmov s15, r3 803ae82: eeb8 7a67 vcvt.f32.u32 s14, s15 803ae86: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 803ae8a: eec7 7a26 vdiv.f32 s15, s14, s13 803ae8e: ed9f 7a2e vldr s14, [pc, #184] ; 803af48 803ae92: ee37 7a87 vadd.f32 s14, s15, s14 803ae96: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803ae9a: eeb4 7ae7 vcmpe.f32 s14, s15 803ae9e: eef1 fa10 vmrs APSR_nzcv, fpscr 803aea2: d517 bpl.n 803aed4 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 803aea4: 4b1d ldr r3, [pc, #116] ; (803af1c ) 803aea6: 7adb ldrb r3, [r3, #11] 803aea8: b2db uxtb r3, r3 803aeaa: 461a mov r2, r3 803aeac: 4b25 ldr r3, [pc, #148] ; (803af44 ) 803aeae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803aeb2: 4a20 ldr r2, [pc, #128] ; (803af34 ) 803aeb4: fba2 2303 umull r2, r3, r2, r3 803aeb8: 089b lsrs r3, r3, #2 803aeba: ee07 3a90 vmov s15, r3 803aebe: eef8 7a67 vcvt.f32.u32 s15, s15 803aec2: ed9f 7a1e vldr s14, [pc, #120] ; 803af3c 803aec6: ee77 7a87 vadd.f32 s15, s15, s14 803aeca: 4b14 ldr r3, [pc, #80] ; (803af1c ) 803aecc: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 803aed0: f000 bfa7 b.w 803be22 pardata.LP = (float32_t) k; 803aed4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aed8: ee07 3a90 vmov s15, r3 803aedc: eef8 7a67 vcvt.f32.u32 s15, s15 803aee0: 4b0e ldr r3, [pc, #56] ; (803af1c ) 803aee2: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 803aee6: 4b0d ldr r3, [pc, #52] ; (803af1c ) 803aee8: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803aeec: ed9f 7a12 vldr s14, [pc, #72] ; 803af38 803aef0: ee67 7a87 vmul.f32 s15, s15, s14 803aef4: 4b09 ldr r3, [pc, #36] ; (803af1c ) 803aef6: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 803aefa: 4b08 ldr r3, [pc, #32] ; (803af1c ) 803aefc: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803af00: ed9f 7a0e vldr s14, [pc, #56] ; 803af3c 803af04: ee77 7a87 vadd.f32 s15, s15, s14 803af08: 4b04 ldr r3, [pc, #16] ; (803af1c ) 803af0a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 803af0e: f000 bf88 b.w 803be22 803af12: f000 bf86 b.w 803be22 803af16: bf00 nop 803af18: 20020070 .word 0x20020070 803af1c: 20023e60 .word 0x20023e60 803af20: 0a7c5ac5 .word 0x0a7c5ac5 803af24: 000186a0 .word 0x000186a0 803af28: d1b71759 .word 0xd1b71759 803af2c: 10624dd3 .word 0x10624dd3 803af30: 51eb851f .word 0x51eb851f 803af34: cccccccd .word 0xcccccccd 803af38: 3dcccccd .word 0x3dcccccd 803af3c: 38d1b717 .word 0x38d1b717 803af40: 41200000 .word 0x41200000 803af44: 080ee8c8 .word 0x080ee8c8 803af48: 3851b717 .word 0x3851b717 case ROUTE_MAP: //UP focused = false; 803af4c: 4bcb ldr r3, [pc, #812] ; (803b27c ) 803af4e: 2200 movs r2, #0 803af50: 701a strb r2, [r3, #0] if((menupos >= PrevPoint) && (menupos <= NextPoint)) 803af52: 4bcb ldr r3, [pc, #812] ; (803b280 ) 803af54: 781b ldrb r3, [r3, #0] 803af56: 4bca ldr r3, [pc, #808] ; (803b280 ) 803af58: 781b ldrb r3, [r3, #0] 803af5a: b2db uxtb r3, r3 803af5c: 2b02 cmp r3, #2 803af5e: d80e bhi.n 803af7e { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803af60: 4bc8 ldr r3, [pc, #800] ; (803b284 ) 803af62: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803af66: f003 0304 and.w r3, r3, #4 803af6a: 2b00 cmp r3, #0 803af6c: d103 bne.n 803af76 menupos = RouteMax_ALL; 803af6e: 4bc4 ldr r3, [pc, #784] ; (803b280 ) 803af70: 2206 movs r2, #6 803af72: 701a strb r2, [r3, #0] if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803af74: e15e b.n 803b234 else menupos = RouteAutoKu; 803af76: 4bc2 ldr r3, [pc, #776] ; (803b280 ) 803af78: 2205 movs r2, #5 803af7a: 701a strb r2, [r3, #0] if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803af7c: e15a b.n 803b234 } else if(menupos == RouteMax_ALL) 803af7e: 4bc0 ldr r3, [pc, #768] ; (803b280 ) 803af80: 781b ldrb r3, [r3, #0] 803af82: b2db uxtb r3, r3 803af84: 2b06 cmp r3, #6 803af86: d104 bne.n 803af92 menupos = RouteAutoKu; 803af88: 4bbd ldr r3, [pc, #756] ; (803b280 ) 803af8a: 2205 movs r2, #5 803af8c: 701a strb r2, [r3, #0] if(k == 0) k = 1; pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 803af8e: f000 bf4b b.w 803be28 if(menupos == RouteAutoKu) 803af92: 4bbb ldr r3, [pc, #748] ; (803b280 ) 803af94: 781b ldrb r3, [r3, #0] 803af96: b2db uxtb r3, r3 803af98: 2b05 cmp r3, #5 803af9a: d104 bne.n 803afa6 menupos = RouteTime; 803af9c: 4bb8 ldr r3, [pc, #736] ; (803b280 ) 803af9e: 2204 movs r2, #4 803afa0: 701a strb r2, [r3, #0] break; 803afa2: f000 bf41 b.w 803be28 if(menupos == RouteTime) 803afa6: 4bb6 ldr r3, [pc, #728] ; (803b280 ) 803afa8: 781b ldrb r3, [r3, #0] 803afaa: b2db uxtb r3, r3 803afac: 2b04 cmp r3, #4 803afae: d104 bne.n 803afba menupos = RouteTacho; 803afb0: 4bb3 ldr r3, [pc, #716] ; (803b280 ) 803afb2: 2203 movs r2, #3 803afb4: 701a strb r2, [r3, #0] break; 803afb6: f000 bf37 b.w 803be28 if((menupos >= RouteMax_IDT) && (menupos <= RouteMax_IKD)) 803afba: 4bb1 ldr r3, [pc, #708] ; (803b280 ) 803afbc: 781b ldrb r3, [r3, #0] 803afbe: b2db uxtb r3, r3 803afc0: 2b06 cmp r3, #6 803afc2: f240 8731 bls.w 803be28 803afc6: 4bae ldr r3, [pc, #696] ; (803b280 ) 803afc8: 781b ldrb r3, [r3, #0] 803afca: b2db uxtb r3, r3 803afcc: 2b0c cmp r3, #12 803afce: f200 872b bhi.w 803be28 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803afd2: 4bac ldr r3, [pc, #688] ; (803b284 ) 803afd4: edd3 7a06 vldr s15, [r3, #24] 803afd8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803afdc: ee67 7a87 vmul.f32 s15, s15, s14 803afe0: eefc 7ae7 vcvt.u32.f32 s15, s15 803afe4: ee17 3a90 vmov r3, s15 803afe8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803afec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803aff0: 095b lsrs r3, r3, #5 803aff2: 4aa5 ldr r2, [pc, #660] ; (803b288 ) 803aff4: fba2 2303 umull r2, r3, r2, r3 803aff8: 09db lsrs r3, r3, #7 803affa: b2db uxtb r3, r3 803affc: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803b000: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b004: 0953 lsrs r3, r2, #5 803b006: 49a0 ldr r1, [pc, #640] ; (803b288 ) 803b008: fba1 1303 umull r1, r3, r1, r3 803b00c: 09db lsrs r3, r3, #7 803b00e: 499f ldr r1, [pc, #636] ; (803b28c ) 803b010: fb01 f303 mul.w r3, r1, r3 803b014: 1ad3 subs r3, r2, r3 803b016: 4a9e ldr r2, [pc, #632] ; (803b290 ) 803b018: fba2 2303 umull r2, r3, r2, r3 803b01c: 0b5b lsrs r3, r3, #13 803b01e: b2db uxtb r3, r3 803b020: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803b024: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b028: 0953 lsrs r3, r2, #5 803b02a: 4997 ldr r1, [pc, #604] ; (803b288 ) 803b02c: fba1 1303 umull r1, r3, r1, r3 803b030: 09db lsrs r3, r3, #7 803b032: 4996 ldr r1, [pc, #600] ; (803b28c ) 803b034: fb01 f303 mul.w r3, r1, r3 803b038: 1ad3 subs r3, r2, r3 803b03a: 4a95 ldr r2, [pc, #596] ; (803b290 ) 803b03c: fba2 1203 umull r1, r2, r2, r3 803b040: 0b52 lsrs r2, r2, #13 803b042: f242 7110 movw r1, #10000 ; 0x2710 803b046: fb01 f202 mul.w r2, r1, r2 803b04a: 1a9a subs r2, r3, r2 803b04c: 4b91 ldr r3, [pc, #580] ; (803b294 ) 803b04e: fba3 2302 umull r2, r3, r3, r2 803b052: 099b lsrs r3, r3, #6 803b054: b2db uxtb r3, r3 803b056: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b05a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b05e: 095a lsrs r2, r3, #5 803b060: 4989 ldr r1, [pc, #548] ; (803b288 ) 803b062: fba1 1202 umull r1, r2, r1, r2 803b066: 09d2 lsrs r2, r2, #7 803b068: 4988 ldr r1, [pc, #544] ; (803b28c ) 803b06a: fb01 f202 mul.w r2, r1, r2 803b06e: 1a9a subs r2, r3, r2 803b070: 4b87 ldr r3, [pc, #540] ; (803b290 ) 803b072: fba3 1302 umull r1, r3, r3, r2 803b076: 0b5b lsrs r3, r3, #13 803b078: f242 7110 movw r1, #10000 ; 0x2710 803b07c: fb01 f303 mul.w r3, r1, r3 803b080: 1ad3 subs r3, r2, r3 803b082: 4a84 ldr r2, [pc, #528] ; (803b294 ) 803b084: fba2 1203 umull r1, r2, r2, r3 803b088: 0992 lsrs r2, r2, #6 803b08a: f44f 717a mov.w r1, #1000 ; 0x3e8 803b08e: fb01 f202 mul.w r2, r1, r2 803b092: 1a9a subs r2, r3, r2 803b094: 4b80 ldr r3, [pc, #512] ; (803b298 ) 803b096: fba3 2302 umull r2, r3, r3, r2 803b09a: 095b lsrs r3, r3, #5 803b09c: b2db uxtb r3, r3 803b09e: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b0a2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b0a6: 0953 lsrs r3, r2, #5 803b0a8: 4977 ldr r1, [pc, #476] ; (803b288 ) 803b0aa: fba1 1303 umull r1, r3, r1, r3 803b0ae: 09db lsrs r3, r3, #7 803b0b0: 4976 ldr r1, [pc, #472] ; (803b28c ) 803b0b2: fb01 f303 mul.w r3, r1, r3 803b0b6: 1ad3 subs r3, r2, r3 803b0b8: 4a75 ldr r2, [pc, #468] ; (803b290 ) 803b0ba: fba2 1203 umull r1, r2, r2, r3 803b0be: 0b52 lsrs r2, r2, #13 803b0c0: f242 7110 movw r1, #10000 ; 0x2710 803b0c4: fb01 f202 mul.w r2, r1, r2 803b0c8: 1a9a subs r2, r3, r2 803b0ca: 4b72 ldr r3, [pc, #456] ; (803b294 ) 803b0cc: fba3 1302 umull r1, r3, r3, r2 803b0d0: 099b lsrs r3, r3, #6 803b0d2: f44f 717a mov.w r1, #1000 ; 0x3e8 803b0d6: fb01 f303 mul.w r3, r1, r3 803b0da: 1ad3 subs r3, r2, r3 803b0dc: 4a6e ldr r2, [pc, #440] ; (803b298 ) 803b0de: fba2 1203 umull r1, r2, r2, r3 803b0e2: 0952 lsrs r2, r2, #5 803b0e4: 2164 movs r1, #100 ; 0x64 803b0e6: fb01 f202 mul.w r2, r1, r2 803b0ea: 1a9a subs r2, r3, r2 803b0ec: 4b6b ldr r3, [pc, #428] ; (803b29c ) 803b0ee: fba3 2302 umull r2, r3, r3, r2 803b0f2: 08db lsrs r3, r3, #3 803b0f4: b2db uxtb r3, r3 803b0f6: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b0fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b0fe: 0953 lsrs r3, r2, #5 803b100: 4961 ldr r1, [pc, #388] ; (803b288 ) 803b102: fba1 1303 umull r1, r3, r1, r3 803b106: 09db lsrs r3, r3, #7 803b108: 4960 ldr r1, [pc, #384] ; (803b28c ) 803b10a: fb01 f303 mul.w r3, r1, r3 803b10e: 1ad3 subs r3, r2, r3 803b110: 4a5f ldr r2, [pc, #380] ; (803b290 ) 803b112: fba2 1203 umull r1, r2, r2, r3 803b116: 0b52 lsrs r2, r2, #13 803b118: f242 7110 movw r1, #10000 ; 0x2710 803b11c: fb01 f202 mul.w r2, r1, r2 803b120: 1a9a subs r2, r3, r2 803b122: 4b5c ldr r3, [pc, #368] ; (803b294 ) 803b124: fba3 1302 umull r1, r3, r3, r2 803b128: 099b lsrs r3, r3, #6 803b12a: f44f 717a mov.w r1, #1000 ; 0x3e8 803b12e: fb01 f303 mul.w r3, r1, r3 803b132: 1ad3 subs r3, r2, r3 803b134: 4a58 ldr r2, [pc, #352] ; (803b298 ) 803b136: fba2 1203 umull r1, r2, r2, r3 803b13a: 0952 lsrs r2, r2, #5 803b13c: 2164 movs r1, #100 ; 0x64 803b13e: fb01 f202 mul.w r2, r1, r2 803b142: 1a9a subs r2, r3, r2 803b144: 4b55 ldr r3, [pc, #340] ; (803b29c ) 803b146: fba3 1302 umull r1, r3, r3, r2 803b14a: 08d9 lsrs r1, r3, #3 803b14c: 460b mov r3, r1 803b14e: 009b lsls r3, r3, #2 803b150: 440b add r3, r1 803b152: 005b lsls r3, r3, #1 803b154: 1ad1 subs r1, r2, r3 803b156: b2cb uxtb r3, r1 803b158: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803b15c: 4b48 ldr r3, [pc, #288] ; (803b280 ) 803b15e: 781b ldrb r3, [r3, #0] 803b160: b2db uxtb r3, r3 803b162: 3b07 subs r3, #7 803b164: 2b05 cmp r3, #5 803b166: d837 bhi.n 803b1d8 803b168: a201 add r2, pc, #4 ; (adr r2, 803b170 ) 803b16a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803b16e: bf00 nop 803b170: 0803b189 .word 0x0803b189 803b174: 0803b197 .word 0x0803b197 803b178: 0803b1a7 .word 0x0803b1a7 803b17c: 0803b1b5 .word 0x0803b1b5 803b180: 0803b1c1 .word 0x0803b1c1 803b184: 0803b1cd .word 0x0803b1cd k += 100000; 803b188: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b18c: 4b3f ldr r3, [pc, #252] ; (803b28c ) 803b18e: 4413 add r3, r2 803b190: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b194: e020 b.n 803b1d8 k += 10000; 803b196: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b19a: f242 7310 movw r3, #10000 ; 0x2710 803b19e: 4413 add r3, r2 803b1a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b1a4: e018 b.n 803b1d8 k += 1000; 803b1a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1aa: f503 737a add.w r3, r3, #1000 ; 0x3e8 803b1ae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b1b2: e011 b.n 803b1d8 k += 100; 803b1b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1b8: 3364 adds r3, #100 ; 0x64 803b1ba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b1be: e00b b.n 803b1d8 k += 10; 803b1c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1c4: 330a adds r3, #10 803b1c6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b1ca: e005 b.n 803b1d8 k++; 803b1cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1d0: 3301 adds r3, #1 803b1d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b1d6: bf00 nop if(k > 999999) k = 999999; 803b1d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1dc: 4a30 ldr r2, [pc, #192] ; (803b2a0 ) 803b1de: 4293 cmp r3, r2 803b1e0: d902 bls.n 803b1e8 803b1e2: 4b2f ldr r3, [pc, #188] ; (803b2a0 ) 803b1e4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803b1e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1ec: 2b00 cmp r3, #0 803b1ee: d102 bne.n 803b1f6 803b1f0: 2301 movs r3, #1 803b1f2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803b1f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b1fa: ee07 3a90 vmov s15, r3 803b1fe: eef8 7a67 vcvt.f32.u32 s15, s15 803b202: 4b20 ldr r3, [pc, #128] ; (803b284 ) 803b204: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803b208: 4b1e ldr r3, [pc, #120] ; (803b284 ) 803b20a: edd3 7a06 vldr s15, [r3, #24] 803b20e: ed9f 7a25 vldr s14, [pc, #148] ; 803b2a4 803b212: ee67 7a87 vmul.f32 s15, s15, s14 803b216: 4b1b ldr r3, [pc, #108] ; (803b284 ) 803b218: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803b21c: 4b19 ldr r3, [pc, #100] ; (803b284 ) 803b21e: edd3 7a06 vldr s15, [r3, #24] 803b222: ed9f 7a21 vldr s14, [pc, #132] ; 803b2a8 803b226: ee77 7a87 vadd.f32 s15, s15, s14 803b22a: 4b16 ldr r3, [pc, #88] ; (803b284 ) 803b22c: edc3 7a06 vstr s15, [r3, #24] break; 803b230: f000 bdfa b.w 803be28 803b234: f000 bdf8 b.w 803be28 case PARAM_WAVE: // KEY_UP focused = false; 803b238: 4b10 ldr r3, [pc, #64] ; (803b27c ) 803b23a: 2200 movs r2, #0 803b23c: 701a strb r2, [r3, #0] if(menupos == Ok) 803b23e: 4b10 ldr r3, [pc, #64] ; (803b280 ) 803b240: 781b ldrb r3, [r3, #0] 803b242: b2db uxtb r3, r3 803b244: 2b00 cmp r3, #0 803b246: d10f bne.n 803b268 { if(pardata.THR & 0x80) 803b248: 4b0e ldr r3, [pc, #56] ; (803b284 ) 803b24a: 7bdb ldrb r3, [r3, #15] 803b24c: b2db uxtb r3, r3 803b24e: b25b sxtb r3, r3 803b250: 2b00 cmp r3, #0 803b252: da04 bge.n 803b25e menupos = WaveThr_ALL; 803b254: 4b0a ldr r3, [pc, #40] ; (803b280 ) 803b256: 2209 movs r2, #9 803b258: 701a strb r2, [r3, #0] if(k == 0) k = 1; pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 803b25a: f000 bde8 b.w 803be2e else menupos = WaveThr; 803b25e: 4b08 ldr r3, [pc, #32] ; (803b280 ) 803b260: 2208 movs r2, #8 803b262: 701a strb r2, [r3, #0] break; 803b264: f000 bde3 b.w 803be2e if(menupos == WaveThr_ALL) 803b268: 4b05 ldr r3, [pc, #20] ; (803b280 ) 803b26a: 781b ldrb r3, [r3, #0] 803b26c: b2db uxtb r3, r3 803b26e: 2b09 cmp r3, #9 803b270: d11c bne.n 803b2ac menupos = WaveThr; 803b272: 4b03 ldr r3, [pc, #12] ; (803b280 ) 803b274: 2208 movs r2, #8 803b276: 701a strb r2, [r3, #0] break; 803b278: f000 bdd9 b.w 803be2e 803b27c: 20020f84 .word 0x20020f84 803b280: 20020070 .word 0x20020070 803b284: 20023e60 .word 0x20023e60 803b288: 0a7c5ac5 .word 0x0a7c5ac5 803b28c: 000186a0 .word 0x000186a0 803b290: d1b71759 .word 0xd1b71759 803b294: 10624dd3 .word 0x10624dd3 803b298: 51eb851f .word 0x51eb851f 803b29c: cccccccd .word 0xcccccccd 803b2a0: 000f423f .word 0x000f423f 803b2a4: 3dcccccd .word 0x3dcccccd 803b2a8: 3d4ccccd .word 0x3d4ccccd if(menupos == WaveThr) 803b2ac: 4bc1 ldr r3, [pc, #772] ; (803b5b4 ) 803b2ae: 781b ldrb r3, [r3, #0] 803b2b0: b2db uxtb r3, r3 803b2b2: 2b08 cmp r3, #8 803b2b4: d110 bne.n 803b2d8 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 803b2b6: 4bc0 ldr r3, [pc, #768] ; (803b5b8 ) 803b2b8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803b2bc: f003 0304 and.w r3, r3, #4 803b2c0: 2b00 cmp r3, #0 803b2c2: d104 bne.n 803b2ce menupos = WaveMax_ALL; 803b2c4: 4bbb ldr r3, [pc, #748] ; (803b5b4 ) 803b2c6: 2207 movs r2, #7 803b2c8: 701a strb r2, [r3, #0] break; 803b2ca: f000 bdb0 b.w 803be2e else menupos = WaveAutoKu; 803b2ce: 4bb9 ldr r3, [pc, #740] ; (803b5b4 ) 803b2d0: 2206 movs r2, #6 803b2d2: 701a strb r2, [r3, #0] break; 803b2d4: f000 bdab b.w 803be2e if(menupos == WaveMax_ALL) 803b2d8: 4bb6 ldr r3, [pc, #728] ; (803b5b4 ) 803b2da: 781b ldrb r3, [r3, #0] 803b2dc: b2db uxtb r3, r3 803b2de: 2b07 cmp r3, #7 803b2e0: d104 bne.n 803b2ec menupos = WaveAutoKu; 803b2e2: 4bb4 ldr r3, [pc, #720] ; (803b5b4 ) 803b2e4: 2206 movs r2, #6 803b2e6: 701a strb r2, [r3, #0] break; 803b2e8: f000 bda1 b.w 803be2e if(menupos == WaveAutoKu) 803b2ec: 4bb1 ldr r3, [pc, #708] ; (803b5b4 ) 803b2ee: 781b ldrb r3, [r3, #0] 803b2f0: b2db uxtb r3, r3 803b2f2: 2b06 cmp r3, #6 803b2f4: d104 bne.n 803b300 menupos = WaveTime; 803b2f6: 4baf ldr r3, [pc, #700] ; (803b5b4 ) 803b2f8: 2205 movs r2, #5 803b2fa: 701a strb r2, [r3, #0] break; 803b2fc: f000 bd97 b.w 803be2e if(menupos == WaveTime) 803b300: 4bac ldr r3, [pc, #688] ; (803b5b4 ) 803b302: 781b ldrb r3, [r3, #0] 803b304: b2db uxtb r3, r3 803b306: 2b05 cmp r3, #5 803b308: d104 bne.n 803b314 menupos = WaveName; 803b30a: 4baa ldr r3, [pc, #680] ; (803b5b4 ) 803b30c: 2204 movs r2, #4 803b30e: 701a strb r2, [r3, #0] break; 803b310: f000 bd8d b.w 803be2e if(menupos == WaveName) 803b314: 4ba7 ldr r3, [pc, #668] ; (803b5b4 ) 803b316: 781b ldrb r3, [r3, #0] 803b318: b2db uxtb r3, r3 803b31a: 2b04 cmp r3, #4 803b31c: d104 bne.n 803b328 menupos = WaveTacho; 803b31e: 4ba5 ldr r3, [pc, #660] ; (803b5b4 ) 803b320: 2203 movs r2, #3 803b322: 701a strb r2, [r3, #0] break; 803b324: f000 bd83 b.w 803be2e if(menupos == WaveTacho) 803b328: 4ba2 ldr r3, [pc, #648] ; (803b5b4 ) 803b32a: 781b ldrb r3, [r3, #0] 803b32c: b2db uxtb r3, r3 803b32e: 2b03 cmp r3, #3 803b330: d104 bne.n 803b33c menupos = Ok; 803b332: 4ba0 ldr r3, [pc, #640] ; (803b5b4 ) 803b334: 2200 movs r2, #0 803b336: 701a strb r2, [r3, #0] break; 803b338: f000 bd79 b.w 803be2e if((menupos >= WaveThr_IDT) && (menupos <= WaveThr_IKD)) 803b33c: 4b9d ldr r3, [pc, #628] ; (803b5b4 ) 803b33e: 781b ldrb r3, [r3, #0] 803b340: b2db uxtb r3, r3 803b342: 2b0f cmp r3, #15 803b344: f240 814c bls.w 803b5e0 803b348: 4b9a ldr r3, [pc, #616] ; (803b5b4 ) 803b34a: 781b ldrb r3, [r3, #0] 803b34c: b2db uxtb r3, r3 803b34e: 2b15 cmp r3, #21 803b350: f200 8146 bhi.w 803b5e0 k = (uint32_t) (pardata.THR_VAL * 10.0f); 803b354: 4b98 ldr r3, [pc, #608] ; (803b5b8 ) 803b356: edd3 7a05 vldr s15, [r3, #20] 803b35a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803b35e: ee67 7a87 vmul.f32 s15, s15, s14 803b362: eefc 7ae7 vcvt.u32.f32 s15, s15 803b366: ee17 3a90 vmov r3, s15 803b36a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803b36e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b372: 095b lsrs r3, r3, #5 803b374: 4a91 ldr r2, [pc, #580] ; (803b5bc ) 803b376: fba2 2303 umull r2, r3, r2, r3 803b37a: 09db lsrs r3, r3, #7 803b37c: b2db uxtb r3, r3 803b37e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803b382: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b386: 0953 lsrs r3, r2, #5 803b388: 498c ldr r1, [pc, #560] ; (803b5bc ) 803b38a: fba1 1303 umull r1, r3, r1, r3 803b38e: 09db lsrs r3, r3, #7 803b390: 498b ldr r1, [pc, #556] ; (803b5c0 ) 803b392: fb01 f303 mul.w r3, r1, r3 803b396: 1ad3 subs r3, r2, r3 803b398: 4a8a ldr r2, [pc, #552] ; (803b5c4 ) 803b39a: fba2 2303 umull r2, r3, r2, r3 803b39e: 0b5b lsrs r3, r3, #13 803b3a0: b2db uxtb r3, r3 803b3a2: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803b3a6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b3aa: 0953 lsrs r3, r2, #5 803b3ac: 4983 ldr r1, [pc, #524] ; (803b5bc ) 803b3ae: fba1 1303 umull r1, r3, r1, r3 803b3b2: 09db lsrs r3, r3, #7 803b3b4: 4982 ldr r1, [pc, #520] ; (803b5c0 ) 803b3b6: fb01 f303 mul.w r3, r1, r3 803b3ba: 1ad3 subs r3, r2, r3 803b3bc: 4a81 ldr r2, [pc, #516] ; (803b5c4 ) 803b3be: fba2 1203 umull r1, r2, r2, r3 803b3c2: 0b52 lsrs r2, r2, #13 803b3c4: f242 7110 movw r1, #10000 ; 0x2710 803b3c8: fb01 f202 mul.w r2, r1, r2 803b3cc: 1a9a subs r2, r3, r2 803b3ce: 4b7e ldr r3, [pc, #504] ; (803b5c8 ) 803b3d0: fba3 2302 umull r2, r3, r3, r2 803b3d4: 099b lsrs r3, r3, #6 803b3d6: b2db uxtb r3, r3 803b3d8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b3dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b3e0: 095a lsrs r2, r3, #5 803b3e2: 4976 ldr r1, [pc, #472] ; (803b5bc ) 803b3e4: fba1 1202 umull r1, r2, r1, r2 803b3e8: 09d2 lsrs r2, r2, #7 803b3ea: 4975 ldr r1, [pc, #468] ; (803b5c0 ) 803b3ec: fb01 f202 mul.w r2, r1, r2 803b3f0: 1a9a subs r2, r3, r2 803b3f2: 4b74 ldr r3, [pc, #464] ; (803b5c4 ) 803b3f4: fba3 1302 umull r1, r3, r3, r2 803b3f8: 0b5b lsrs r3, r3, #13 803b3fa: f242 7110 movw r1, #10000 ; 0x2710 803b3fe: fb01 f303 mul.w r3, r1, r3 803b402: 1ad3 subs r3, r2, r3 803b404: 4a70 ldr r2, [pc, #448] ; (803b5c8 ) 803b406: fba2 1203 umull r1, r2, r2, r3 803b40a: 0992 lsrs r2, r2, #6 803b40c: f44f 717a mov.w r1, #1000 ; 0x3e8 803b410: fb01 f202 mul.w r2, r1, r2 803b414: 1a9a subs r2, r3, r2 803b416: 4b6d ldr r3, [pc, #436] ; (803b5cc ) 803b418: fba3 2302 umull r2, r3, r3, r2 803b41c: 095b lsrs r3, r3, #5 803b41e: b2db uxtb r3, r3 803b420: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b424: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b428: 0953 lsrs r3, r2, #5 803b42a: 4964 ldr r1, [pc, #400] ; (803b5bc ) 803b42c: fba1 1303 umull r1, r3, r1, r3 803b430: 09db lsrs r3, r3, #7 803b432: 4963 ldr r1, [pc, #396] ; (803b5c0 ) 803b434: fb01 f303 mul.w r3, r1, r3 803b438: 1ad3 subs r3, r2, r3 803b43a: 4a62 ldr r2, [pc, #392] ; (803b5c4 ) 803b43c: fba2 1203 umull r1, r2, r2, r3 803b440: 0b52 lsrs r2, r2, #13 803b442: f242 7110 movw r1, #10000 ; 0x2710 803b446: fb01 f202 mul.w r2, r1, r2 803b44a: 1a9a subs r2, r3, r2 803b44c: 4b5e ldr r3, [pc, #376] ; (803b5c8 ) 803b44e: fba3 1302 umull r1, r3, r3, r2 803b452: 099b lsrs r3, r3, #6 803b454: f44f 717a mov.w r1, #1000 ; 0x3e8 803b458: fb01 f303 mul.w r3, r1, r3 803b45c: 1ad3 subs r3, r2, r3 803b45e: 4a5b ldr r2, [pc, #364] ; (803b5cc ) 803b460: fba2 1203 umull r1, r2, r2, r3 803b464: 0952 lsrs r2, r2, #5 803b466: 2164 movs r1, #100 ; 0x64 803b468: fb01 f202 mul.w r2, r1, r2 803b46c: 1a9a subs r2, r3, r2 803b46e: 4b58 ldr r3, [pc, #352] ; (803b5d0 ) 803b470: fba3 2302 umull r2, r3, r3, r2 803b474: 08db lsrs r3, r3, #3 803b476: b2db uxtb r3, r3 803b478: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b47c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b480: 0953 lsrs r3, r2, #5 803b482: 494e ldr r1, [pc, #312] ; (803b5bc ) 803b484: fba1 1303 umull r1, r3, r1, r3 803b488: 09db lsrs r3, r3, #7 803b48a: 494d ldr r1, [pc, #308] ; (803b5c0 ) 803b48c: fb01 f303 mul.w r3, r1, r3 803b490: 1ad3 subs r3, r2, r3 803b492: 4a4c ldr r2, [pc, #304] ; (803b5c4 ) 803b494: fba2 1203 umull r1, r2, r2, r3 803b498: 0b52 lsrs r2, r2, #13 803b49a: f242 7110 movw r1, #10000 ; 0x2710 803b49e: fb01 f202 mul.w r2, r1, r2 803b4a2: 1a9a subs r2, r3, r2 803b4a4: 4b48 ldr r3, [pc, #288] ; (803b5c8 ) 803b4a6: fba3 1302 umull r1, r3, r3, r2 803b4aa: 099b lsrs r3, r3, #6 803b4ac: f44f 717a mov.w r1, #1000 ; 0x3e8 803b4b0: fb01 f303 mul.w r3, r1, r3 803b4b4: 1ad3 subs r3, r2, r3 803b4b6: 4a45 ldr r2, [pc, #276] ; (803b5cc ) 803b4b8: fba2 1203 umull r1, r2, r2, r3 803b4bc: 0952 lsrs r2, r2, #5 803b4be: 2164 movs r1, #100 ; 0x64 803b4c0: fb01 f202 mul.w r2, r1, r2 803b4c4: 1a9a subs r2, r3, r2 803b4c6: 4b42 ldr r3, [pc, #264] ; (803b5d0 ) 803b4c8: fba3 1302 umull r1, r3, r3, r2 803b4cc: 08d9 lsrs r1, r3, #3 803b4ce: 460b mov r3, r1 803b4d0: 009b lsls r3, r3, #2 803b4d2: 440b add r3, r1 803b4d4: 005b lsls r3, r3, #1 803b4d6: 1ad1 subs r1, r2, r3 803b4d8: b2cb uxtb r3, r1 803b4da: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803b4de: 4b35 ldr r3, [pc, #212] ; (803b5b4 ) 803b4e0: 781b ldrb r3, [r3, #0] 803b4e2: b2db uxtb r3, r3 803b4e4: 3b10 subs r3, #16 803b4e6: 2b05 cmp r3, #5 803b4e8: d836 bhi.n 803b558 803b4ea: a201 add r2, pc, #4 ; (adr r2, 803b4f0 ) 803b4ec: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803b4f0: 0803b509 .word 0x0803b509 803b4f4: 0803b517 .word 0x0803b517 803b4f8: 0803b527 .word 0x0803b527 803b4fc: 0803b535 .word 0x0803b535 803b500: 0803b541 .word 0x0803b541 803b504: 0803b54d .word 0x0803b54d k += 100000; 803b508: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b50c: 4b2c ldr r3, [pc, #176] ; (803b5c0 ) 803b50e: 4413 add r3, r2 803b510: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b514: e020 b.n 803b558 k += 10000; 803b516: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b51a: f242 7310 movw r3, #10000 ; 0x2710 803b51e: 4413 add r3, r2 803b520: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b524: e018 b.n 803b558 k += 1000; 803b526: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b52a: f503 737a add.w r3, r3, #1000 ; 0x3e8 803b52e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b532: e011 b.n 803b558 k += 100; 803b534: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b538: 3364 adds r3, #100 ; 0x64 803b53a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b53e: e00b b.n 803b558 k += 10; 803b540: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b544: 330a adds r3, #10 803b546: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b54a: e005 b.n 803b558 k++; 803b54c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b550: 3301 adds r3, #1 803b552: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b556: bf00 nop if(k > 999999) k = 999999; 803b558: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b55c: 4a1d ldr r2, [pc, #116] ; (803b5d4 ) 803b55e: 4293 cmp r3, r2 803b560: d902 bls.n 803b568 803b562: 4b1c ldr r3, [pc, #112] ; (803b5d4 ) 803b564: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803b568: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b56c: 2b00 cmp r3, #0 803b56e: d102 bne.n 803b576 803b570: 2301 movs r3, #1 803b572: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 803b576: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b57a: ee07 3a90 vmov s15, r3 803b57e: eef8 7a67 vcvt.f32.u32 s15, s15 803b582: 4b0d ldr r3, [pc, #52] ; (803b5b8 ) 803b584: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 803b588: 4b0b ldr r3, [pc, #44] ; (803b5b8 ) 803b58a: edd3 7a05 vldr s15, [r3, #20] 803b58e: ed9f 7a12 vldr s14, [pc, #72] ; 803b5d8 803b592: ee67 7a87 vmul.f32 s15, s15, s14 803b596: 4b08 ldr r3, [pc, #32] ; (803b5b8 ) 803b598: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 803b59c: 4b06 ldr r3, [pc, #24] ; (803b5b8 ) 803b59e: edd3 7a05 vldr s15, [r3, #20] 803b5a2: ed9f 7a0e vldr s14, [pc, #56] ; 803b5dc 803b5a6: ee77 7a87 vadd.f32 s15, s15, s14 803b5aa: 4b03 ldr r3, [pc, #12] ; (803b5b8 ) 803b5ac: edc3 7a05 vstr s15, [r3, #20] break; 803b5b0: f000 bc3d b.w 803be2e 803b5b4: 20020070 .word 0x20020070 803b5b8: 20023e60 .word 0x20023e60 803b5bc: 0a7c5ac5 .word 0x0a7c5ac5 803b5c0: 000186a0 .word 0x000186a0 803b5c4: d1b71759 .word 0xd1b71759 803b5c8: 10624dd3 .word 0x10624dd3 803b5cc: 51eb851f .word 0x51eb851f 803b5d0: cccccccd .word 0xcccccccd 803b5d4: 000f423f .word 0x000f423f 803b5d8: 3dcccccd .word 0x3dcccccd 803b5dc: 3d4ccccd .word 0x3d4ccccd if((menupos >= WaveMax_IDT) && (menupos <= WaveMax_IKD)) 803b5e0: 4b9d ldr r3, [pc, #628] ; (803b858 ) 803b5e2: 781b ldrb r3, [r3, #0] 803b5e4: b2db uxtb r3, r3 803b5e6: 2b09 cmp r3, #9 803b5e8: f240 8421 bls.w 803be2e 803b5ec: 4b9a ldr r3, [pc, #616] ; (803b858 ) 803b5ee: 781b ldrb r3, [r3, #0] 803b5f0: b2db uxtb r3, r3 803b5f2: 2b0f cmp r3, #15 803b5f4: f200 841b bhi.w 803be2e k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803b5f8: 4b98 ldr r3, [pc, #608] ; (803b85c ) 803b5fa: edd3 7a06 vldr s15, [r3, #24] 803b5fe: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803b602: ee67 7a87 vmul.f32 s15, s15, s14 803b606: eefc 7ae7 vcvt.u32.f32 s15, s15 803b60a: ee17 3a90 vmov r3, s15 803b60e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803b612: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b616: 095b lsrs r3, r3, #5 803b618: 4a91 ldr r2, [pc, #580] ; (803b860 ) 803b61a: fba2 2303 umull r2, r3, r2, r3 803b61e: 09db lsrs r3, r3, #7 803b620: b2db uxtb r3, r3 803b622: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803b626: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b62a: 0953 lsrs r3, r2, #5 803b62c: 498c ldr r1, [pc, #560] ; (803b860 ) 803b62e: fba1 1303 umull r1, r3, r1, r3 803b632: 09db lsrs r3, r3, #7 803b634: 498b ldr r1, [pc, #556] ; (803b864 ) 803b636: fb01 f303 mul.w r3, r1, r3 803b63a: 1ad3 subs r3, r2, r3 803b63c: 4a8a ldr r2, [pc, #552] ; (803b868 ) 803b63e: fba2 2303 umull r2, r3, r2, r3 803b642: 0b5b lsrs r3, r3, #13 803b644: b2db uxtb r3, r3 803b646: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803b64a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b64e: 0953 lsrs r3, r2, #5 803b650: 4983 ldr r1, [pc, #524] ; (803b860 ) 803b652: fba1 1303 umull r1, r3, r1, r3 803b656: 09db lsrs r3, r3, #7 803b658: 4982 ldr r1, [pc, #520] ; (803b864 ) 803b65a: fb01 f303 mul.w r3, r1, r3 803b65e: 1ad3 subs r3, r2, r3 803b660: 4a81 ldr r2, [pc, #516] ; (803b868 ) 803b662: fba2 1203 umull r1, r2, r2, r3 803b666: 0b52 lsrs r2, r2, #13 803b668: f242 7110 movw r1, #10000 ; 0x2710 803b66c: fb01 f202 mul.w r2, r1, r2 803b670: 1a9a subs r2, r3, r2 803b672: 4b7e ldr r3, [pc, #504] ; (803b86c ) 803b674: fba3 2302 umull r2, r3, r3, r2 803b678: 099b lsrs r3, r3, #6 803b67a: b2db uxtb r3, r3 803b67c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b680: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b684: 095a lsrs r2, r3, #5 803b686: 4976 ldr r1, [pc, #472] ; (803b860 ) 803b688: fba1 1202 umull r1, r2, r1, r2 803b68c: 09d2 lsrs r2, r2, #7 803b68e: 4975 ldr r1, [pc, #468] ; (803b864 ) 803b690: fb01 f202 mul.w r2, r1, r2 803b694: 1a9a subs r2, r3, r2 803b696: 4b74 ldr r3, [pc, #464] ; (803b868 ) 803b698: fba3 1302 umull r1, r3, r3, r2 803b69c: 0b5b lsrs r3, r3, #13 803b69e: f242 7110 movw r1, #10000 ; 0x2710 803b6a2: fb01 f303 mul.w r3, r1, r3 803b6a6: 1ad3 subs r3, r2, r3 803b6a8: 4a70 ldr r2, [pc, #448] ; (803b86c ) 803b6aa: fba2 1203 umull r1, r2, r2, r3 803b6ae: 0992 lsrs r2, r2, #6 803b6b0: f44f 717a mov.w r1, #1000 ; 0x3e8 803b6b4: fb01 f202 mul.w r2, r1, r2 803b6b8: 1a9a subs r2, r3, r2 803b6ba: 4b6d ldr r3, [pc, #436] ; (803b870 ) 803b6bc: fba3 2302 umull r2, r3, r3, r2 803b6c0: 095b lsrs r3, r3, #5 803b6c2: b2db uxtb r3, r3 803b6c4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b6c8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b6cc: 0953 lsrs r3, r2, #5 803b6ce: 4964 ldr r1, [pc, #400] ; (803b860 ) 803b6d0: fba1 1303 umull r1, r3, r1, r3 803b6d4: 09db lsrs r3, r3, #7 803b6d6: 4963 ldr r1, [pc, #396] ; (803b864 ) 803b6d8: fb01 f303 mul.w r3, r1, r3 803b6dc: 1ad3 subs r3, r2, r3 803b6de: 4a62 ldr r2, [pc, #392] ; (803b868 ) 803b6e0: fba2 1203 umull r1, r2, r2, r3 803b6e4: 0b52 lsrs r2, r2, #13 803b6e6: f242 7110 movw r1, #10000 ; 0x2710 803b6ea: fb01 f202 mul.w r2, r1, r2 803b6ee: 1a9a subs r2, r3, r2 803b6f0: 4b5e ldr r3, [pc, #376] ; (803b86c ) 803b6f2: fba3 1302 umull r1, r3, r3, r2 803b6f6: 099b lsrs r3, r3, #6 803b6f8: f44f 717a mov.w r1, #1000 ; 0x3e8 803b6fc: fb01 f303 mul.w r3, r1, r3 803b700: 1ad3 subs r3, r2, r3 803b702: 4a5b ldr r2, [pc, #364] ; (803b870 ) 803b704: fba2 1203 umull r1, r2, r2, r3 803b708: 0952 lsrs r2, r2, #5 803b70a: 2164 movs r1, #100 ; 0x64 803b70c: fb01 f202 mul.w r2, r1, r2 803b710: 1a9a subs r2, r3, r2 803b712: 4b58 ldr r3, [pc, #352] ; (803b874 ) 803b714: fba3 2302 umull r2, r3, r3, r2 803b718: 08db lsrs r3, r3, #3 803b71a: b2db uxtb r3, r3 803b71c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b720: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b724: 0953 lsrs r3, r2, #5 803b726: 494e ldr r1, [pc, #312] ; (803b860 ) 803b728: fba1 1303 umull r1, r3, r1, r3 803b72c: 09db lsrs r3, r3, #7 803b72e: 494d ldr r1, [pc, #308] ; (803b864 ) 803b730: fb01 f303 mul.w r3, r1, r3 803b734: 1ad3 subs r3, r2, r3 803b736: 4a4c ldr r2, [pc, #304] ; (803b868 ) 803b738: fba2 1203 umull r1, r2, r2, r3 803b73c: 0b52 lsrs r2, r2, #13 803b73e: f242 7110 movw r1, #10000 ; 0x2710 803b742: fb01 f202 mul.w r2, r1, r2 803b746: 1a9a subs r2, r3, r2 803b748: 4b48 ldr r3, [pc, #288] ; (803b86c ) 803b74a: fba3 1302 umull r1, r3, r3, r2 803b74e: 099b lsrs r3, r3, #6 803b750: f44f 717a mov.w r1, #1000 ; 0x3e8 803b754: fb01 f303 mul.w r3, r1, r3 803b758: 1ad3 subs r3, r2, r3 803b75a: 4a45 ldr r2, [pc, #276] ; (803b870 ) 803b75c: fba2 1203 umull r1, r2, r2, r3 803b760: 0952 lsrs r2, r2, #5 803b762: 2164 movs r1, #100 ; 0x64 803b764: fb01 f202 mul.w r2, r1, r2 803b768: 1a9a subs r2, r3, r2 803b76a: 4b42 ldr r3, [pc, #264] ; (803b874 ) 803b76c: fba3 1302 umull r1, r3, r3, r2 803b770: 08d9 lsrs r1, r3, #3 803b772: 460b mov r3, r1 803b774: 009b lsls r3, r3, #2 803b776: 440b add r3, r1 803b778: 005b lsls r3, r3, #1 803b77a: 1ad1 subs r1, r2, r3 803b77c: b2cb uxtb r3, r1 803b77e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803b782: 4b35 ldr r3, [pc, #212] ; (803b858 ) 803b784: 781b ldrb r3, [r3, #0] 803b786: b2db uxtb r3, r3 803b788: 3b0a subs r3, #10 803b78a: 2b05 cmp r3, #5 803b78c: d836 bhi.n 803b7fc 803b78e: a201 add r2, pc, #4 ; (adr r2, 803b794 ) 803b790: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803b794: 0803b7ad .word 0x0803b7ad 803b798: 0803b7bb .word 0x0803b7bb 803b79c: 0803b7cb .word 0x0803b7cb 803b7a0: 0803b7d9 .word 0x0803b7d9 803b7a4: 0803b7e5 .word 0x0803b7e5 803b7a8: 0803b7f1 .word 0x0803b7f1 k += 100000; 803b7ac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b7b0: 4b2c ldr r3, [pc, #176] ; (803b864 ) 803b7b2: 4413 add r3, r2 803b7b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b7b8: e020 b.n 803b7fc k += 10000; 803b7ba: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b7be: f242 7310 movw r3, #10000 ; 0x2710 803b7c2: 4413 add r3, r2 803b7c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b7c8: e018 b.n 803b7fc k += 1000; 803b7ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b7ce: f503 737a add.w r3, r3, #1000 ; 0x3e8 803b7d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b7d6: e011 b.n 803b7fc k += 100; 803b7d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b7dc: 3364 adds r3, #100 ; 0x64 803b7de: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b7e2: e00b b.n 803b7fc k += 10; 803b7e4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b7e8: 330a adds r3, #10 803b7ea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b7ee: e005 b.n 803b7fc k++; 803b7f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b7f4: 3301 adds r3, #1 803b7f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803b7fa: bf00 nop if(k > 999999) k = 999999; 803b7fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b800: 4a1d ldr r2, [pc, #116] ; (803b878 ) 803b802: 4293 cmp r3, r2 803b804: d902 bls.n 803b80c 803b806: 4b1c ldr r3, [pc, #112] ; (803b878 ) 803b808: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803b80c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b810: 2b00 cmp r3, #0 803b812: d102 bne.n 803b81a 803b814: 2301 movs r3, #1 803b816: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803b81a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b81e: ee07 3a90 vmov s15, r3 803b822: eef8 7a67 vcvt.f32.u32 s15, s15 803b826: 4b0d ldr r3, [pc, #52] ; (803b85c ) 803b828: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803b82c: 4b0b ldr r3, [pc, #44] ; (803b85c ) 803b82e: edd3 7a06 vldr s15, [r3, #24] 803b832: ed9f 7a12 vldr s14, [pc, #72] ; 803b87c 803b836: ee67 7a87 vmul.f32 s15, s15, s14 803b83a: 4b08 ldr r3, [pc, #32] ; (803b85c ) 803b83c: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803b840: 4b06 ldr r3, [pc, #24] ; (803b85c ) 803b842: edd3 7a06 vldr s15, [r3, #24] 803b846: ed9f 7a0e vldr s14, [pc, #56] ; 803b880 803b84a: ee77 7a87 vadd.f32 s15, s15, s14 803b84e: 4b03 ldr r3, [pc, #12] ; (803b85c ) 803b850: edc3 7a06 vstr s15, [r3, #24] break; 803b854: e2eb b.n 803be2e 803b856: bf00 nop 803b858: 20020070 .word 0x20020070 803b85c: 20023e60 .word 0x20023e60 803b860: 0a7c5ac5 .word 0x0a7c5ac5 803b864: 000186a0 .word 0x000186a0 803b868: d1b71759 .word 0xd1b71759 803b86c: 10624dd3 .word 0x10624dd3 803b870: 51eb851f .word 0x51eb851f 803b874: cccccccd .word 0xcccccccd 803b878: 000f423f .word 0x000f423f 803b87c: 3dcccccd .word 0x3dcccccd 803b880: 3d4ccccd .word 0x3d4ccccd case SETTINGS: focused = false; 803b884: 4bca ldr r3, [pc, #808] ; (803bbb0 ) 803b886: 2200 movs r2, #0 803b888: 701a strb r2, [r3, #0] if(menupos >= Ies) 803b88a: 4bca ldr r3, [pc, #808] ; (803bbb4 ) 803b88c: 781b ldrb r3, [r3, #0] 803b88e: b2db uxtb r3, r3 803b890: 2b0b cmp r3, #11 803b892: f240 8130 bls.w 803baf6 { k = (uint32_t) (pardata.IKK * 1000.0f); 803b896: 4bc8 ldr r3, [pc, #800] ; (803bbb8 ) 803b898: edd3 7a04 vldr s15, [r3, #16] 803b89c: ed9f 7ac7 vldr s14, [pc, #796] ; 803bbbc 803b8a0: ee67 7a87 vmul.f32 s15, s15, s14 803b8a4: eefc 7ae7 vcvt.u32.f32 s15, s15 803b8a8: ee17 3a90 vmov r3, s15 803b8ac: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803b8b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b8b4: 095b lsrs r3, r3, #5 803b8b6: 4ac2 ldr r2, [pc, #776] ; (803bbc0 ) 803b8b8: fba2 2303 umull r2, r3, r2, r3 803b8bc: 09db lsrs r3, r3, #7 803b8be: b2db uxtb r3, r3 803b8c0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803b8c4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b8c8: 0953 lsrs r3, r2, #5 803b8ca: 49bd ldr r1, [pc, #756] ; (803bbc0 ) 803b8cc: fba1 1303 umull r1, r3, r1, r3 803b8d0: 09db lsrs r3, r3, #7 803b8d2: 49bc ldr r1, [pc, #752] ; (803bbc4 ) 803b8d4: fb01 f303 mul.w r3, r1, r3 803b8d8: 1ad3 subs r3, r2, r3 803b8da: 4abb ldr r2, [pc, #748] ; (803bbc8 ) 803b8dc: fba2 2303 umull r2, r3, r2, r3 803b8e0: 0b5b lsrs r3, r3, #13 803b8e2: b2db uxtb r3, r3 803b8e4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803b8e8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b8ec: 0953 lsrs r3, r2, #5 803b8ee: 49b4 ldr r1, [pc, #720] ; (803bbc0 ) 803b8f0: fba1 1303 umull r1, r3, r1, r3 803b8f4: 09db lsrs r3, r3, #7 803b8f6: 49b3 ldr r1, [pc, #716] ; (803bbc4 ) 803b8f8: fb01 f303 mul.w r3, r1, r3 803b8fc: 1ad3 subs r3, r2, r3 803b8fe: 4ab2 ldr r2, [pc, #712] ; (803bbc8 ) 803b900: fba2 1203 umull r1, r2, r2, r3 803b904: 0b52 lsrs r2, r2, #13 803b906: f242 7110 movw r1, #10000 ; 0x2710 803b90a: fb01 f202 mul.w r2, r1, r2 803b90e: 1a9a subs r2, r3, r2 803b910: 4bae ldr r3, [pc, #696] ; (803bbcc ) 803b912: fba3 2302 umull r2, r3, r3, r2 803b916: 099b lsrs r3, r3, #6 803b918: b2db uxtb r3, r3 803b91a: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803b91e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803b922: 095a lsrs r2, r3, #5 803b924: 49a6 ldr r1, [pc, #664] ; (803bbc0 ) 803b926: fba1 1202 umull r1, r2, r1, r2 803b92a: 09d2 lsrs r2, r2, #7 803b92c: 49a5 ldr r1, [pc, #660] ; (803bbc4 ) 803b92e: fb01 f202 mul.w r2, r1, r2 803b932: 1a9a subs r2, r3, r2 803b934: 4ba4 ldr r3, [pc, #656] ; (803bbc8 ) 803b936: fba3 1302 umull r1, r3, r3, r2 803b93a: 0b5b lsrs r3, r3, #13 803b93c: f242 7110 movw r1, #10000 ; 0x2710 803b940: fb01 f303 mul.w r3, r1, r3 803b944: 1ad3 subs r3, r2, r3 803b946: 4aa1 ldr r2, [pc, #644] ; (803bbcc ) 803b948: fba2 1203 umull r1, r2, r2, r3 803b94c: 0992 lsrs r2, r2, #6 803b94e: f44f 717a mov.w r1, #1000 ; 0x3e8 803b952: fb01 f202 mul.w r2, r1, r2 803b956: 1a9a subs r2, r3, r2 803b958: 4b9d ldr r3, [pc, #628] ; (803bbd0 ) 803b95a: fba3 2302 umull r2, r3, r3, r2 803b95e: 095b lsrs r3, r3, #5 803b960: b2db uxtb r3, r3 803b962: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803b966: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b96a: 0953 lsrs r3, r2, #5 803b96c: 4994 ldr r1, [pc, #592] ; (803bbc0 ) 803b96e: fba1 1303 umull r1, r3, r1, r3 803b972: 09db lsrs r3, r3, #7 803b974: 4993 ldr r1, [pc, #588] ; (803bbc4 ) 803b976: fb01 f303 mul.w r3, r1, r3 803b97a: 1ad3 subs r3, r2, r3 803b97c: 4a92 ldr r2, [pc, #584] ; (803bbc8 ) 803b97e: fba2 1203 umull r1, r2, r2, r3 803b982: 0b52 lsrs r2, r2, #13 803b984: f242 7110 movw r1, #10000 ; 0x2710 803b988: fb01 f202 mul.w r2, r1, r2 803b98c: 1a9a subs r2, r3, r2 803b98e: 4b8f ldr r3, [pc, #572] ; (803bbcc ) 803b990: fba3 1302 umull r1, r3, r3, r2 803b994: 099b lsrs r3, r3, #6 803b996: f44f 717a mov.w r1, #1000 ; 0x3e8 803b99a: fb01 f303 mul.w r3, r1, r3 803b99e: 1ad3 subs r3, r2, r3 803b9a0: 4a8b ldr r2, [pc, #556] ; (803bbd0 ) 803b9a2: fba2 1203 umull r1, r2, r2, r3 803b9a6: 0952 lsrs r2, r2, #5 803b9a8: 2164 movs r1, #100 ; 0x64 803b9aa: fb01 f202 mul.w r2, r1, r2 803b9ae: 1a9a subs r2, r3, r2 803b9b0: 4b88 ldr r3, [pc, #544] ; (803bbd4 ) 803b9b2: fba3 2302 umull r2, r3, r3, r2 803b9b6: 08db lsrs r3, r3, #3 803b9b8: b2db uxtb r3, r3 803b9ba: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803b9be: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803b9c2: 0953 lsrs r3, r2, #5 803b9c4: 497e ldr r1, [pc, #504] ; (803bbc0 ) 803b9c6: fba1 1303 umull r1, r3, r1, r3 803b9ca: 09db lsrs r3, r3, #7 803b9cc: 497d ldr r1, [pc, #500] ; (803bbc4 ) 803b9ce: fb01 f303 mul.w r3, r1, r3 803b9d2: 1ad3 subs r3, r2, r3 803b9d4: 4a7c ldr r2, [pc, #496] ; (803bbc8 ) 803b9d6: fba2 1203 umull r1, r2, r2, r3 803b9da: 0b52 lsrs r2, r2, #13 803b9dc: f242 7110 movw r1, #10000 ; 0x2710 803b9e0: fb01 f202 mul.w r2, r1, r2 803b9e4: 1a9a subs r2, r3, r2 803b9e6: 4b79 ldr r3, [pc, #484] ; (803bbcc ) 803b9e8: fba3 1302 umull r1, r3, r3, r2 803b9ec: 099b lsrs r3, r3, #6 803b9ee: f44f 717a mov.w r1, #1000 ; 0x3e8 803b9f2: fb01 f303 mul.w r3, r1, r3 803b9f6: 1ad3 subs r3, r2, r3 803b9f8: 4a75 ldr r2, [pc, #468] ; (803bbd0 ) 803b9fa: fba2 1203 umull r1, r2, r2, r3 803b9fe: 0952 lsrs r2, r2, #5 803ba00: 2164 movs r1, #100 ; 0x64 803ba02: fb01 f202 mul.w r2, r1, r2 803ba06: 1a9a subs r2, r3, r2 803ba08: 4b72 ldr r3, [pc, #456] ; (803bbd4 ) 803ba0a: fba3 1302 umull r1, r3, r3, r2 803ba0e: 08d9 lsrs r1, r3, #3 803ba10: 460b mov r3, r1 803ba12: 009b lsls r3, r3, #2 803ba14: 440b add r3, r1 803ba16: 005b lsls r3, r3, #1 803ba18: 1ad1 subs r1, r2, r3 803ba1a: b2cb uxtb r3, r1 803ba1c: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803ba20: 4b64 ldr r3, [pc, #400] ; (803bbb4 ) 803ba22: 781b ldrb r3, [r3, #0] 803ba24: b2db uxtb r3, r3 803ba26: 3b0c subs r3, #12 803ba28: 2b05 cmp r3, #5 803ba2a: d837 bhi.n 803ba9c 803ba2c: a201 add r2, pc, #4 ; (adr r2, 803ba34 ) 803ba2e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ba32: bf00 nop 803ba34: 0803ba4d .word 0x0803ba4d 803ba38: 0803ba5b .word 0x0803ba5b 803ba3c: 0803ba6b .word 0x0803ba6b 803ba40: 0803ba79 .word 0x0803ba79 803ba44: 0803ba85 .word 0x0803ba85 803ba48: 0803ba91 .word 0x0803ba91 { case Ies: k += 100000; 803ba4c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ba50: 4b5c ldr r3, [pc, #368] ; (803bbc4 ) 803ba52: 4413 add r3, r2 803ba54: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba58: e020 b.n 803ba9c case Ied: k += 10000; 803ba5a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ba5e: f242 7310 movw r3, #10000 ; 0x2710 803ba62: 4413 add r3, r2 803ba64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba68: e018 b.n 803ba9c case Iee: k += 1000; 803ba6a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba6e: f503 737a add.w r3, r3, #1000 ; 0x3e8 803ba72: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba76: e011 b.n 803ba9c case Ikd: k += 100; 803ba78: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba7c: 3364 adds r3, #100 ; 0x64 803ba7e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba82: e00b b.n 803ba9c case Iks: k += 10; 803ba84: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba88: 330a adds r3, #10 803ba8a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba8e: e005 b.n 803ba9c case Ikt: k++; 803ba90: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ba94: 3301 adds r3, #1 803ba96: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ba9a: bf00 nop } if(k > 999999) k = 999999; 803ba9c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803baa0: 4a4d ldr r2, [pc, #308] ; (803bbd8 ) 803baa2: 4293 cmp r3, r2 803baa4: d902 bls.n 803baac 803baa6: 4b4c ldr r3, [pc, #304] ; (803bbd8 ) 803baa8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803baac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803bab0: 2b00 cmp r3, #0 803bab2: d102 bne.n 803baba 803bab4: 2301 movs r3, #1 803bab6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.IKK = (float32_t) k; 803baba: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803babe: ee07 3a90 vmov s15, r3 803bac2: eef8 7a67 vcvt.f32.u32 s15, s15 803bac6: 4b3c ldr r3, [pc, #240] ; (803bbb8 ) 803bac8: edc3 7a04 vstr s15, [r3, #16] pardata.IKK *= 0.001f; 803bacc: 4b3a ldr r3, [pc, #232] ; (803bbb8 ) 803bace: edd3 7a04 vldr s15, [r3, #16] 803bad2: ed9f 7a42 vldr s14, [pc, #264] ; 803bbdc 803bad6: ee67 7a87 vmul.f32 s15, s15, s14 803bada: 4b37 ldr r3, [pc, #220] ; (803bbb8 ) 803badc: edc3 7a04 vstr s15, [r3, #16] pardata.IKK += 0.0005f; 803bae0: 4b35 ldr r3, [pc, #212] ; (803bbb8 ) 803bae2: edd3 7a04 vldr s15, [r3, #16] 803bae6: ed9f 7a3e vldr s14, [pc, #248] ; 803bbe0 803baea: ee77 7a87 vadd.f32 s15, s15, s14 803baee: 4b32 ldr r3, [pc, #200] ; (803bbb8 ) 803baf0: edc3 7a04 vstr s15, [r3, #16] else menupos = FormatDisk; #endif #endif } break; 803baf4: e1b1 b.n 803be5a focused = false; 803baf6: 4b2e ldr r3, [pc, #184] ; (803bbb0 ) 803baf8: 2200 movs r2, #0 803bafa: 701a strb r2, [r3, #0] if(menupos > Type) menupos--; 803bafc: 4b2d ldr r3, [pc, #180] ; (803bbb4 ) 803bafe: 781b ldrb r3, [r3, #0] 803bb00: b2db uxtb r3, r3 803bb02: 2b01 cmp r3, #1 803bb04: d907 bls.n 803bb16 803bb06: 4b2b ldr r3, [pc, #172] ; (803bbb4 ) 803bb08: 781b ldrb r3, [r3, #0] 803bb0a: b2db uxtb r3, r3 803bb0c: 3b01 subs r3, #1 803bb0e: b2da uxtb r2, r3 803bb10: 4b28 ldr r3, [pc, #160] ; (803bbb4 ) 803bb12: 701a strb r2, [r3, #0] break; 803bb14: e1a1 b.n 803be5a else menupos = FormatDisk; 803bb16: 4b27 ldr r3, [pc, #156] ; (803bbb4 ) 803bb18: 2205 movs r2, #5 803bb1a: 701a strb r2, [r3, #0] break; 803bb1c: e19d b.n 803be5a case DATETIME: if(menupos > TimeAll) 803bb1e: 4b25 ldr r3, [pc, #148] ; (803bbb4 ) 803bb20: 781b ldrb r3, [r3, #0] 803bb22: b2db uxtb r3, r3 803bb24: 2b02 cmp r3, #2 803bb26: d930 bls.n 803bb8a { switch(menupos) 803bb28: 4b22 ldr r3, [pc, #136] ; (803bbb4 ) 803bb2a: 781b ldrb r3, [r3, #0] 803bb2c: b2db uxtb r3, r3 803bb2e: 3b03 subs r3, #3 803bb30: 2b04 cmp r3, #4 803bb32: f200 817f bhi.w 803be34 803bb36: a201 add r2, pc, #4 ; (adr r2, 803bb3c ) 803bb38: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803bb3c: 0803bb51 .word 0x0803bb51 803bb40: 0803bb5d .word 0x0803bb5d 803bb44: 0803bb69 .word 0x0803bb69 803bb48: 0803bb75 .word 0x0803bb75 803bb4c: 0803bb7f .word 0x0803bb7f { case DateD: ChangeDate(+1, 0, 0); break; 803bb50: 2200 movs r2, #0 803bb52: 2100 movs r1, #0 803bb54: 2001 movs r0, #1 803bb56: f02b fdbd bl 80676d4 803bb5a: e027 b.n 803bbac case DateM: ChangeDate(0, +1, 0); break; 803bb5c: 2200 movs r2, #0 803bb5e: 2101 movs r1, #1 803bb60: 2000 movs r0, #0 803bb62: f02b fdb7 bl 80676d4 803bb66: e021 b.n 803bbac case DateY: ChangeDate(0, 0, +1); break; 803bb68: 2201 movs r2, #1 803bb6a: 2100 movs r1, #0 803bb6c: 2000 movs r0, #0 803bb6e: f02b fdb1 bl 80676d4 803bb72: e01b b.n 803bbac case TimeH: ChangeTime(+1, 0); break; 803bb74: 2100 movs r1, #0 803bb76: 2001 movs r0, #1 803bb78: f02b fd42 bl 8067600 803bb7c: e016 b.n 803bbac case TimeM: ChangeTime(0, +1); break; 803bb7e: 2101 movs r1, #1 803bb80: 2000 movs r0, #0 803bb82: f02b fd3d bl 8067600 803bb86: bf00 nop 803bb88: e010 b.n 803bbac } } else { if(menupos > DateAll) menupos--; 803bb8a: 4b0a ldr r3, [pc, #40] ; (803bbb4 ) 803bb8c: 781b ldrb r3, [r3, #0] 803bb8e: b2db uxtb r3, r3 803bb90: 2b01 cmp r3, #1 803bb92: d907 bls.n 803bba4 803bb94: 4b07 ldr r3, [pc, #28] ; (803bbb4 ) 803bb96: 781b ldrb r3, [r3, #0] 803bb98: b2db uxtb r3, r3 803bb9a: 3b01 subs r3, #1 803bb9c: b2da uxtb r2, r3 803bb9e: 4b05 ldr r3, [pc, #20] ; (803bbb4 ) 803bba0: 701a strb r2, [r3, #0] else menupos = TimeAll; } break; 803bba2: e147 b.n 803be34 else menupos = TimeAll; 803bba4: 4b03 ldr r3, [pc, #12] ; (803bbb4 ) 803bba6: 2202 movs r2, #2 803bba8: 701a strb r2, [r3, #0] break; 803bbaa: e143 b.n 803be34 803bbac: e142 b.n 803be34 803bbae: bf00 nop 803bbb0: 20020f84 .word 0x20020f84 803bbb4: 20020070 .word 0x20020070 803bbb8: 20023e60 .word 0x20023e60 803bbbc: 447a0000 .word 0x447a0000 803bbc0: 0a7c5ac5 .word 0x0a7c5ac5 803bbc4: 000186a0 .word 0x000186a0 803bbc8: d1b71759 .word 0xd1b71759 803bbcc: 10624dd3 .word 0x10624dd3 803bbd0: 51eb851f .word 0x51eb851f 803bbd4: cccccccd .word 0xcccccccd 803bbd8: 000f423f .word 0x000f423f 803bbdc: 3a83126f .word 0x3a83126f 803bbe0: 3a03126f .word 0x3a03126f case CLEAN_FILES: if(menupos == FilesPTM) 803bbe4: 4b9e ldr r3, [pc, #632] ; (803be60 ) 803bbe6: 781b ldrb r3, [r3, #0] 803bbe8: b2db uxtb r3, r3 803bbea: 2b02 cmp r3, #2 803bbec: f040 8125 bne.w 803be3a { if(CursorIndex > 0) 803bbf0: 4b9c ldr r3, [pc, #624] ; (803be64 ) 803bbf2: 681b ldr r3, [r3, #0] 803bbf4: 2b00 cmp r3, #0 803bbf6: d005 beq.n 803bc04 CursorIndex--; 803bbf8: 4b9a ldr r3, [pc, #616] ; (803be64 ) 803bbfa: 681b ldr r3, [r3, #0] 803bbfc: 3b01 subs r3, #1 803bbfe: 4a99 ldr r2, [pc, #612] ; (803be64 ) 803bc00: 6013 str r3, [r2, #0] 803bc02: e010 b.n 803bc26 else { if(FirstFileIndex > 0) 803bc04: 4b98 ldr r3, [pc, #608] ; (803be68 ) 803bc06: 681b ldr r3, [r3, #0] 803bc08: 2b00 cmp r3, #0 803bc0a: d00c beq.n 803bc26 { FirstFileIndex--; 803bc0c: 4b96 ldr r3, [pc, #600] ; (803be68 ) 803bc0e: 681b ldr r3, [r3, #0] 803bc10: 3b01 subs r3, #1 803bc12: 4a95 ldr r2, [pc, #596] ; (803be68 ) 803bc14: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 803bc16: 4b94 ldr r3, [pc, #592] ; (803be68 ) 803bc18: 681b ldr r3, [r3, #0] 803bc1a: 4618 mov r0, r3 803bc1c: f7ee ff68 bl 802aaf0 803bc20: 4603 mov r3, r0 803bc22: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803bc26: 4b90 ldr r3, [pc, #576] ; (803be68 ) 803bc28: 681a ldr r2, [r3, #0] 803bc2a: 4b8e ldr r3, [pc, #568] ; (803be64 ) 803bc2c: 681b ldr r3, [r3, #0] 803bc2e: 4413 add r3, r2 803bc30: 4a8e ldr r2, [pc, #568] ; (803be6c ) 803bc32: 6013 str r3, [r2, #0] } break; 803bc34: e101 b.n 803be3a } break;*/ case ARCHIVE: if(menupos > Ok) menupos--; 803bc36: 4b8a ldr r3, [pc, #552] ; (803be60 ) 803bc38: 781b ldrb r3, [r3, #0] 803bc3a: b2db uxtb r3, r3 803bc3c: 2b00 cmp r3, #0 803bc3e: d007 beq.n 803bc50 803bc40: 4b87 ldr r3, [pc, #540] ; (803be60 ) 803bc42: 781b ldrb r3, [r3, #0] 803bc44: b2db uxtb r3, r3 803bc46: 3b01 subs r3, #1 803bc48: b2da uxtb r2, r3 803bc4a: 4b85 ldr r3, [pc, #532] ; (803be60 ) 803bc4c: 701a strb r2, [r3, #0] else menupos = ArchiveWave; break; 803bc4e: e104 b.n 803be5a else menupos = ArchiveWave; 803bc50: 4b83 ldr r3, [pc, #524] ; (803be60 ) 803bc52: 2202 movs r2, #2 803bc54: 701a strb r2, [r3, #0] break; 803bc56: e100 b.n 803be5a case ARCHIVE_SPEC: if(menupos == FilesSPEC) 803bc58: 4b81 ldr r3, [pc, #516] ; (803be60 ) 803bc5a: 781b ldrb r3, [r3, #0] 803bc5c: b2db uxtb r3, r3 803bc5e: 2b02 cmp r3, #2 803bc60: f040 80ee bne.w 803be40 { if(CursorIndex > 0) 803bc64: 4b7f ldr r3, [pc, #508] ; (803be64 ) 803bc66: 681b ldr r3, [r3, #0] 803bc68: 2b00 cmp r3, #0 803bc6a: d005 beq.n 803bc78 CursorIndex--; 803bc6c: 4b7d ldr r3, [pc, #500] ; (803be64 ) 803bc6e: 681b ldr r3, [r3, #0] 803bc70: 3b01 subs r3, #1 803bc72: 4a7c ldr r2, [pc, #496] ; (803be64 ) 803bc74: 6013 str r3, [r2, #0] 803bc76: e010 b.n 803bc9a else { if(FirstFileIndex > 0) 803bc78: 4b7b ldr r3, [pc, #492] ; (803be68 ) 803bc7a: 681b ldr r3, [r3, #0] 803bc7c: 2b00 cmp r3, #0 803bc7e: d00c beq.n 803bc9a { FirstFileIndex--; 803bc80: 4b79 ldr r3, [pc, #484] ; (803be68 ) 803bc82: 681b ldr r3, [r3, #0] 803bc84: 3b01 subs r3, #1 803bc86: 4a78 ldr r2, [pc, #480] ; (803be68 ) 803bc88: 6013 str r3, [r2, #0] result = ReadMyFilesSPEC(FirstFileIndex); 803bc8a: 4b77 ldr r3, [pc, #476] ; (803be68 ) 803bc8c: 681b ldr r3, [r3, #0] 803bc8e: 4618 mov r0, r3 803bc90: f7ee ff48 bl 802ab24 803bc94: 4603 mov r3, r0 803bc96: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803bc9a: 4b73 ldr r3, [pc, #460] ; (803be68 ) 803bc9c: 681a ldr r2, [r3, #0] 803bc9e: 4b71 ldr r3, [pc, #452] ; (803be64 ) 803bca0: 681b ldr r3, [r3, #0] 803bca2: 4413 add r3, r2 803bca4: 4a71 ldr r2, [pc, #452] ; (803be6c ) 803bca6: 6013 str r3, [r2, #0] } break; 803bca8: e0ca b.n 803be40 case ARCHIVE_FRAN: if(menupos == FilesFRAN) 803bcaa: 4b6d ldr r3, [pc, #436] ; (803be60 ) 803bcac: 781b ldrb r3, [r3, #0] 803bcae: b2db uxtb r3, r3 803bcb0: 2b02 cmp r3, #2 803bcb2: f040 80c8 bne.w 803be46 { if(CursorIndex > 0) 803bcb6: 4b6b ldr r3, [pc, #428] ; (803be64 ) 803bcb8: 681b ldr r3, [r3, #0] 803bcba: 2b00 cmp r3, #0 803bcbc: d005 beq.n 803bcca CursorIndex--; 803bcbe: 4b69 ldr r3, [pc, #420] ; (803be64 ) 803bcc0: 681b ldr r3, [r3, #0] 803bcc2: 3b01 subs r3, #1 803bcc4: 4a67 ldr r2, [pc, #412] ; (803be64 ) 803bcc6: 6013 str r3, [r2, #0] 803bcc8: e010 b.n 803bcec else { if(FirstFileIndex > 0) 803bcca: 4b67 ldr r3, [pc, #412] ; (803be68 ) 803bccc: 681b ldr r3, [r3, #0] 803bcce: 2b00 cmp r3, #0 803bcd0: d00c beq.n 803bcec { FirstFileIndex--; 803bcd2: 4b65 ldr r3, [pc, #404] ; (803be68 ) 803bcd4: 681b ldr r3, [r3, #0] 803bcd6: 3b01 subs r3, #1 803bcd8: 4a63 ldr r2, [pc, #396] ; (803be68 ) 803bcda: 6013 str r3, [r2, #0] result = ReadMyFilesFRAN(FirstFileIndex); 803bcdc: 4b62 ldr r3, [pc, #392] ; (803be68 ) 803bcde: 681b ldr r3, [r3, #0] 803bce0: 4618 mov r0, r3 803bce2: f7ee ff2c bl 802ab3e 803bce6: 4603 mov r3, r0 803bce8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803bcec: 4b5e ldr r3, [pc, #376] ; (803be68 ) 803bcee: 681a ldr r2, [r3, #0] 803bcf0: 4b5c ldr r3, [pc, #368] ; (803be64 ) 803bcf2: 681b ldr r3, [r3, #0] 803bcf4: 4413 add r3, r2 803bcf6: 4a5d ldr r2, [pc, #372] ; (803be6c ) 803bcf8: 6013 str r3, [r2, #0] } break; 803bcfa: e0a4 b.n 803be46 case ARCHIVE_WAVE: if(menupos == FilesGTR) 803bcfc: 4b58 ldr r3, [pc, #352] ; (803be60 ) 803bcfe: 781b ldrb r3, [r3, #0] 803bd00: b2db uxtb r3, r3 803bd02: 2b02 cmp r3, #2 803bd04: f040 80a2 bne.w 803be4c { if(CursorIndex > 0) 803bd08: 4b56 ldr r3, [pc, #344] ; (803be64 ) 803bd0a: 681b ldr r3, [r3, #0] 803bd0c: 2b00 cmp r3, #0 803bd0e: d005 beq.n 803bd1c CursorIndex--; 803bd10: 4b54 ldr r3, [pc, #336] ; (803be64 ) 803bd12: 681b ldr r3, [r3, #0] 803bd14: 3b01 subs r3, #1 803bd16: 4a53 ldr r2, [pc, #332] ; (803be64 ) 803bd18: 6013 str r3, [r2, #0] 803bd1a: e010 b.n 803bd3e else { if(FirstFileIndex > 0) 803bd1c: 4b52 ldr r3, [pc, #328] ; (803be68 ) 803bd1e: 681b ldr r3, [r3, #0] 803bd20: 2b00 cmp r3, #0 803bd22: d00c beq.n 803bd3e { FirstFileIndex--; 803bd24: 4b50 ldr r3, [pc, #320] ; (803be68 ) 803bd26: 681b ldr r3, [r3, #0] 803bd28: 3b01 subs r3, #1 803bd2a: 4a4f ldr r2, [pc, #316] ; (803be68 ) 803bd2c: 6013 str r3, [r2, #0] result = ReadMyFilesGTR(FirstFileIndex); 803bd2e: 4b4e ldr r3, [pc, #312] ; (803be68 ) 803bd30: 681b ldr r3, [r3, #0] 803bd32: 4618 mov r0, r3 803bd34: f7ee ff10 bl 802ab58 803bd38: 4603 mov r3, r0 803bd3a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803bd3e: 4b4a ldr r3, [pc, #296] ; (803be68 ) 803bd40: 681a ldr r2, [r3, #0] 803bd42: 4b48 ldr r3, [pc, #288] ; (803be64 ) 803bd44: 681b ldr r3, [r3, #0] 803bd46: 4413 add r3, r2 803bd48: 4a48 ldr r2, [pc, #288] ; (803be6c ) 803bd4a: 6013 str r3, [r2, #0] } break; 803bd4c: e07e b.n 803be4c case ROUTE: if(menupos == FilesCSV) 803bd4e: 4b44 ldr r3, [pc, #272] ; (803be60 ) 803bd50: 781b ldrb r3, [r3, #0] 803bd52: b2db uxtb r3, r3 803bd54: 2b02 cmp r3, #2 803bd56: d17c bne.n 803be52 { if(CursorIndex > 0) 803bd58: 4b42 ldr r3, [pc, #264] ; (803be64 ) 803bd5a: 681b ldr r3, [r3, #0] 803bd5c: 2b00 cmp r3, #0 803bd5e: d005 beq.n 803bd6c CursorIndex--; 803bd60: 4b40 ldr r3, [pc, #256] ; (803be64 ) 803bd62: 681b ldr r3, [r3, #0] 803bd64: 3b01 subs r3, #1 803bd66: 4a3f ldr r2, [pc, #252] ; (803be64 ) 803bd68: 6013 str r3, [r2, #0] 803bd6a: e010 b.n 803bd8e else { if(FirstFileIndex > 0) 803bd6c: 4b3e ldr r3, [pc, #248] ; (803be68 ) 803bd6e: 681b ldr r3, [r3, #0] 803bd70: 2b00 cmp r3, #0 803bd72: d00c beq.n 803bd8e { FirstFileIndex--; 803bd74: 4b3c ldr r3, [pc, #240] ; (803be68 ) 803bd76: 681b ldr r3, [r3, #0] 803bd78: 3b01 subs r3, #1 803bd7a: 4a3b ldr r2, [pc, #236] ; (803be68 ) 803bd7c: 6013 str r3, [r2, #0] result = ReadMyFilesCSV(FirstFileIndex); 803bd7e: 4b3a ldr r3, [pc, #232] ; (803be68 ) 803bd80: 681b ldr r3, [r3, #0] 803bd82: 4618 mov r0, r3 803bd84: f7ee fef5 bl 802ab72 803bd88: 4603 mov r3, r0 803bd8a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ 12 ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803bd8e: 4b36 ldr r3, [pc, #216] ; (803be68 ) 803bd90: 681a ldr r2, [r3, #0] 803bd92: 4b34 ldr r3, [pc, #208] ; (803be64 ) 803bd94: 681b ldr r3, [r3, #0] 803bd96: 4413 add r3, r2 803bd98: 4a34 ldr r2, [pc, #208] ; (803be6c ) 803bd9a: 6013 str r3, [r2, #0] } break; 803bd9c: e059 b.n 803be52 case CALIBR_00: if(Serial[menupos] < 0x39) 803bd9e: 4b30 ldr r3, [pc, #192] ; (803be60 ) 803bda0: 781b ldrb r3, [r3, #0] 803bda2: b2db uxtb r3, r3 803bda4: 461a mov r2, r3 803bda6: 4b32 ldr r3, [pc, #200] ; (803be70 ) 803bda8: 5c9b ldrb r3, [r3, r2] 803bdaa: 2b38 cmp r3, #56 ; 0x38 803bdac: d854 bhi.n 803be58 Serial[menupos]++; 803bdae: 4b2c ldr r3, [pc, #176] ; (803be60 ) 803bdb0: 781b ldrb r3, [r3, #0] 803bdb2: b2db uxtb r3, r3 803bdb4: 4a2e ldr r2, [pc, #184] ; (803be70 ) 803bdb6: 5cd2 ldrb r2, [r2, r3] 803bdb8: 3201 adds r2, #1 803bdba: b2d1 uxtb r1, r2 803bdbc: 4a2c ldr r2, [pc, #176] ; (803be70 ) 803bdbe: 54d1 strb r1, [r2, r3] break; 803bdc0: e04a b.n 803be58 break; 803bdc2: bf00 nop 803bdc4: f016 bfde b.w 8052d84 break; 803bdc8: bf00 nop 803bdca: f016 bfdb b.w 8052d84 break; 803bdce: bf00 nop 803bdd0: f016 bfd8 b.w 8052d84 break; 803bdd4: bf00 nop 803bdd6: f016 bfd5 b.w 8052d84 break; 803bdda: bf00 nop 803bddc: f016 bfd2 b.w 8052d84 break; 803bde0: bf00 nop 803bde2: f016 bfcf b.w 8052d84 break; 803bde6: bf00 nop 803bde8: f016 bfcc b.w 8052d84 break; 803bdec: bf00 nop 803bdee: f016 bfc9 b.w 8052d84 break; 803bdf2: bf00 nop 803bdf4: f016 bfc6 b.w 8052d84 break; 803bdf8: bf00 nop 803bdfa: f016 bfc3 b.w 8052d84 break; 803bdfe: bf00 nop 803be00: f016 bfc0 b.w 8052d84 break; 803be04: bf00 nop 803be06: f016 bfbd b.w 8052d84 break; 803be0a: bf00 nop 803be0c: f016 bfba b.w 8052d84 break; 803be10: bf00 nop 803be12: f016 bfb7 b.w 8052d84 break; 803be16: bf00 nop 803be18: f016 bfb4 b.w 8052d84 break; 803be1c: bf00 nop 803be1e: f016 bfb1 b.w 8052d84 break; 803be22: bf00 nop 803be24: f016 bfae b.w 8052d84 break; 803be28: bf00 nop 803be2a: f016 bfab b.w 8052d84 break; 803be2e: bf00 nop 803be30: f016 bfa8 b.w 8052d84 break; 803be34: bf00 nop 803be36: f016 bfa5 b.w 8052d84 break; 803be3a: bf00 nop 803be3c: f016 bfa2 b.w 8052d84 break; 803be40: bf00 nop 803be42: f016 bf9f b.w 8052d84 break; 803be46: bf00 nop 803be48: f016 bf9c b.w 8052d84 break; 803be4c: bf00 nop 803be4e: f016 bf99 b.w 8052d84 break; 803be52: bf00 nop 803be54: f016 bf96 b.w 8052d84 break; 803be58: bf00 nop } break; 803be5a: f016 bf93 b.w 8052d84 803be5e: bf00 nop 803be60: 20020070 .word 0x20020070 803be64: 20020de0 .word 0x20020de0 803be68: 20020de4 .word 0x20020de4 803be6c: 20020de8 .word 0x20020de8 803be70: 20026d04 .word 0x20026d04 case KEY_DN://TODO KEY DOWN switch(menu) 803be74: 4b6d ldr r3, [pc, #436] ; (803c02c ) 803be76: 781b ldrb r3, [r3, #0] 803be78: b2db uxtb r3, r3 803be7a: 2b47 cmp r3, #71 ; 0x47 803be7c: f216 8784 bhi.w 8052d88 803be80: a201 add r2, pc, #4 ; (adr r2, 803be88 ) 803be82: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803be86: bf00 nop 803be88: 0803d875 .word 0x0803d875 803be8c: 0803e029 .word 0x0803e029 803be90: 0803e05b .word 0x0803e05b 803be94: 0804389b .word 0x0804389b 803be98: 08042885 .word 0x08042885 803be9c: 08052d89 .word 0x08052d89 803bea0: 0803f715 .word 0x0803f715 803bea4: 0804021f .word 0x0804021f 803bea8: 080419a7 .word 0x080419a7 803beac: 08052d89 .word 0x08052d89 803beb0: 08042c13 .word 0x08042c13 803beb4: 08052d89 .word 0x08052d89 803beb8: 08052d89 .word 0x08052d89 803bebc: 0803e591 .word 0x0803e591 803bec0: 0803e0b1 .word 0x0803e0b1 803bec4: 0803bfa9 .word 0x0803bfa9 803bec8: 0803c301 .word 0x0803c301 803becc: 0803c327 .word 0x0803c327 803bed0: 080432fd .word 0x080432fd 803bed4: 08052d89 .word 0x08052d89 803bed8: 08043729 .word 0x08043729 803bedc: 0804374b .word 0x0804374b 803bee0: 080437bb .word 0x080437bb 803bee4: 0804382b .word 0x0804382b 803bee8: 080435e5 .word 0x080435e5 803beec: 080436b9 .word 0x080436b9 803bef0: 08052d89 .word 0x08052d89 803bef4: 08052d89 .word 0x08052d89 803bef8: 0803dbb1 .word 0x0803dbb1 803befc: 0803da2f .word 0x0803da2f 803bf00: 08052d89 .word 0x08052d89 803bf04: 0803d875 .word 0x0803d875 803bf08: 0803de79 .word 0x0803de79 803bf0c: 0803dc93 .word 0x0803dc93 803bf10: 0803dd35 .word 0x0803dd35 803bf14: 0803ddd7 .word 0x0803ddd7 803bf18: 0803daa9 .word 0x0803daa9 803bf1c: 0803d767 .word 0x0803d767 803bf20: 0803d7b1 .word 0x0803d7b1 803bf24: 0803d723 .word 0x0803d723 803bf28: 0803db4b .word 0x0803db4b 803bf2c: 0803dee9 .word 0x0803dee9 803bf30: 08043953 .word 0x08043953 803bf34: 0803df75 .word 0x0803df75 803bf38: 0803df75 .word 0x0803df75 803bf3c: 0803df75 .word 0x0803df75 803bf40: 08052d89 .word 0x08052d89 803bf44: 0803df75 .word 0x0803df75 803bf48: 0803df75 .word 0x0803df75 803bf4c: 0803df75 .word 0x0803df75 803bf50: 0803df75 .word 0x0803df75 803bf54: 0803df75 .word 0x0803df75 803bf58: 0804392f .word 0x0804392f 803bf5c: 08052d89 .word 0x08052d89 803bf60: 08052d89 .word 0x08052d89 803bf64: 08052d89 .word 0x08052d89 803bf68: 08052d89 .word 0x08052d89 803bf6c: 08052d89 .word 0x08052d89 803bf70: 08052d89 .word 0x08052d89 803bf74: 08052d89 .word 0x08052d89 803bf78: 08052d89 .word 0x08052d89 803bf7c: 08052d89 .word 0x08052d89 803bf80: 08052d89 .word 0x08052d89 803bf84: 08052d89 .word 0x08052d89 803bf88: 08052d89 .word 0x08052d89 803bf8c: 08052d89 .word 0x08052d89 803bf90: 08052d89 .word 0x08052d89 803bf94: 08052d89 .word 0x08052d89 803bf98: 08052d89 .word 0x08052d89 803bf9c: 0803d749 .word 0x0803d749 803bfa0: 0803d753 .word 0x0803d753 803bfa4: 0803d75d .word 0x0803d75d { case PARAM_DIAGN: focused = false; 803bfa8: 4b21 ldr r3, [pc, #132] ; (803c030 ) 803bfaa: 2200 movs r2, #0 803bfac: 701a strb r2, [r3, #0] if(menupos == DiagUs) 803bfae: 4b21 ldr r3, [pc, #132] ; (803c034 ) 803bfb0: 781b ldrb r3, [r3, #0] 803bfb2: b2db uxtb r3, r3 803bfb4: 2b00 cmp r3, #0 803bfb6: d104 bne.n 803bfc2 menupos = DiagAverage; 803bfb8: 4b1e ldr r3, [pc, #120] ; (803c034 ) 803bfba: 2201 movs r2, #1 803bfbc: 701a strb r2, [r3, #0] pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 803bfbe: f007 bccb b.w 8043958 if(menupos == DiagAverage) 803bfc2: 4b1c ldr r3, [pc, #112] ; (803c034 ) 803bfc4: 781b ldrb r3, [r3, #0] 803bfc6: b2db uxtb r3, r3 803bfc8: 2b01 cmp r3, #1 803bfca: d104 bne.n 803bfd6 menupos = DiagAutoKu; 803bfcc: 4b19 ldr r3, [pc, #100] ; (803c034 ) 803bfce: 2202 movs r2, #2 803bfd0: 701a strb r2, [r3, #0] break; 803bfd2: f007 bcc1 b.w 8043958 if(menupos == DiagAutoKu) 803bfd6: 4b17 ldr r3, [pc, #92] ; (803c034 ) 803bfd8: 781b ldrb r3, [r3, #0] 803bfda: b2db uxtb r3, r3 803bfdc: 2b02 cmp r3, #2 803bfde: d110 bne.n 803c002 if(pardata.OPTIONS & 0x4) 803bfe0: 4b15 ldr r3, [pc, #84] ; (803c038 ) 803bfe2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803bfe6: f003 0304 and.w r3, r3, #4 803bfea: 2b00 cmp r3, #0 803bfec: d004 beq.n 803bff8 menupos = DiagSaveToFile; 803bfee: 4b11 ldr r3, [pc, #68] ; (803c034 ) 803bff0: 2204 movs r2, #4 803bff2: 701a strb r2, [r3, #0] break; 803bff4: f007 bcb0 b.w 8043958 else menupos = DiagMax_ALL; 803bff8: 4b0e ldr r3, [pc, #56] ; (803c034 ) 803bffa: 2203 movs r2, #3 803bffc: 701a strb r2, [r3, #0] break; 803bffe: f007 bcab b.w 8043958 if(menupos == DiagMax_ALL) 803c002: 4b0c ldr r3, [pc, #48] ; (803c034 ) 803c004: 781b ldrb r3, [r3, #0] 803c006: b2db uxtb r3, r3 803c008: 2b03 cmp r3, #3 803c00a: d104 bne.n 803c016 menupos = DiagSaveToFile; 803c00c: 4b09 ldr r3, [pc, #36] ; (803c034 ) 803c00e: 2204 movs r2, #4 803c010: 701a strb r2, [r3, #0] break; 803c012: f007 bca1 b.w 8043958 if(menupos == DiagSaveToFile) 803c016: 4b07 ldr r3, [pc, #28] ; (803c034 ) 803c018: 781b ldrb r3, [r3, #0] 803c01a: b2db uxtb r3, r3 803c01c: 2b04 cmp r3, #4 803c01e: d10d bne.n 803c03c menupos = DiagUs; 803c020: 4b04 ldr r3, [pc, #16] ; (803c034 ) 803c022: 2200 movs r2, #0 803c024: 701a strb r2, [r3, #0] break; 803c026: f007 bc97 b.w 8043958 803c02a: bf00 nop 803c02c: 20020f78 .word 0x20020f78 803c030: 20020f84 .word 0x20020f84 803c034: 20020070 .word 0x20020070 803c038: 20023e60 .word 0x20023e60 if((menupos >= DiagMax_IDT) && (menupos <= DiagMax_IKD)) 803c03c: 4bc4 ldr r3, [pc, #784] ; (803c350 ) 803c03e: 781b ldrb r3, [r3, #0] 803c040: b2db uxtb r3, r3 803c042: 2b04 cmp r3, #4 803c044: f247 8488 bls.w 8043958 803c048: 4bc1 ldr r3, [pc, #772] ; (803c350 ) 803c04a: 781b ldrb r3, [r3, #0] 803c04c: b2db uxtb r3, r3 803c04e: 2b0a cmp r3, #10 803c050: f207 8482 bhi.w 8043958 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803c054: 4bbf ldr r3, [pc, #764] ; (803c354 ) 803c056: edd3 7a06 vldr s15, [r3, #24] 803c05a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803c05e: ee67 7a87 vmul.f32 s15, s15, s14 803c062: eefc 7ae7 vcvt.u32.f32 s15, s15 803c066: ee17 3a90 vmov r3, s15 803c06a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803c06e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c072: 095b lsrs r3, r3, #5 803c074: 4ab8 ldr r2, [pc, #736] ; (803c358 ) 803c076: fba2 2303 umull r2, r3, r2, r3 803c07a: 09db lsrs r3, r3, #7 803c07c: b2db uxtb r3, r3 803c07e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803c082: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c086: 0953 lsrs r3, r2, #5 803c088: 49b3 ldr r1, [pc, #716] ; (803c358 ) 803c08a: fba1 1303 umull r1, r3, r1, r3 803c08e: 09db lsrs r3, r3, #7 803c090: 49b2 ldr r1, [pc, #712] ; (803c35c ) 803c092: fb01 f303 mul.w r3, r1, r3 803c096: 1ad3 subs r3, r2, r3 803c098: 4ab1 ldr r2, [pc, #708] ; (803c360 ) 803c09a: fba2 2303 umull r2, r3, r2, r3 803c09e: 0b5b lsrs r3, r3, #13 803c0a0: b2db uxtb r3, r3 803c0a2: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803c0a6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c0aa: 0953 lsrs r3, r2, #5 803c0ac: 49aa ldr r1, [pc, #680] ; (803c358 ) 803c0ae: fba1 1303 umull r1, r3, r1, r3 803c0b2: 09db lsrs r3, r3, #7 803c0b4: 49a9 ldr r1, [pc, #676] ; (803c35c ) 803c0b6: fb01 f303 mul.w r3, r1, r3 803c0ba: 1ad3 subs r3, r2, r3 803c0bc: 4aa8 ldr r2, [pc, #672] ; (803c360 ) 803c0be: fba2 1203 umull r1, r2, r2, r3 803c0c2: 0b52 lsrs r2, r2, #13 803c0c4: f242 7110 movw r1, #10000 ; 0x2710 803c0c8: fb01 f202 mul.w r2, r1, r2 803c0cc: 1a9a subs r2, r3, r2 803c0ce: 4ba5 ldr r3, [pc, #660] ; (803c364 ) 803c0d0: fba3 2302 umull r2, r3, r3, r2 803c0d4: 099b lsrs r3, r3, #6 803c0d6: b2db uxtb r3, r3 803c0d8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803c0dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c0e0: 095a lsrs r2, r3, #5 803c0e2: 499d ldr r1, [pc, #628] ; (803c358 ) 803c0e4: fba1 1202 umull r1, r2, r1, r2 803c0e8: 09d2 lsrs r2, r2, #7 803c0ea: 499c ldr r1, [pc, #624] ; (803c35c ) 803c0ec: fb01 f202 mul.w r2, r1, r2 803c0f0: 1a9a subs r2, r3, r2 803c0f2: 4b9b ldr r3, [pc, #620] ; (803c360 ) 803c0f4: fba3 1302 umull r1, r3, r3, r2 803c0f8: 0b5b lsrs r3, r3, #13 803c0fa: f242 7110 movw r1, #10000 ; 0x2710 803c0fe: fb01 f303 mul.w r3, r1, r3 803c102: 1ad3 subs r3, r2, r3 803c104: 4a97 ldr r2, [pc, #604] ; (803c364 ) 803c106: fba2 1203 umull r1, r2, r2, r3 803c10a: 0992 lsrs r2, r2, #6 803c10c: f44f 717a mov.w r1, #1000 ; 0x3e8 803c110: fb01 f202 mul.w r2, r1, r2 803c114: 1a9a subs r2, r3, r2 803c116: 4b94 ldr r3, [pc, #592] ; (803c368 ) 803c118: fba3 2302 umull r2, r3, r3, r2 803c11c: 095b lsrs r3, r3, #5 803c11e: b2db uxtb r3, r3 803c120: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803c124: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c128: 0953 lsrs r3, r2, #5 803c12a: 498b ldr r1, [pc, #556] ; (803c358 ) 803c12c: fba1 1303 umull r1, r3, r1, r3 803c130: 09db lsrs r3, r3, #7 803c132: 498a ldr r1, [pc, #552] ; (803c35c ) 803c134: fb01 f303 mul.w r3, r1, r3 803c138: 1ad3 subs r3, r2, r3 803c13a: 4a89 ldr r2, [pc, #548] ; (803c360 ) 803c13c: fba2 1203 umull r1, r2, r2, r3 803c140: 0b52 lsrs r2, r2, #13 803c142: f242 7110 movw r1, #10000 ; 0x2710 803c146: fb01 f202 mul.w r2, r1, r2 803c14a: 1a9a subs r2, r3, r2 803c14c: 4b85 ldr r3, [pc, #532] ; (803c364 ) 803c14e: fba3 1302 umull r1, r3, r3, r2 803c152: 099b lsrs r3, r3, #6 803c154: f44f 717a mov.w r1, #1000 ; 0x3e8 803c158: fb01 f303 mul.w r3, r1, r3 803c15c: 1ad3 subs r3, r2, r3 803c15e: 4a82 ldr r2, [pc, #520] ; (803c368 ) 803c160: fba2 1203 umull r1, r2, r2, r3 803c164: 0952 lsrs r2, r2, #5 803c166: 2164 movs r1, #100 ; 0x64 803c168: fb01 f202 mul.w r2, r1, r2 803c16c: 1a9a subs r2, r3, r2 803c16e: 4b7f ldr r3, [pc, #508] ; (803c36c ) 803c170: fba3 2302 umull r2, r3, r3, r2 803c174: 08db lsrs r3, r3, #3 803c176: b2db uxtb r3, r3 803c178: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803c17c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c180: 0953 lsrs r3, r2, #5 803c182: 4975 ldr r1, [pc, #468] ; (803c358 ) 803c184: fba1 1303 umull r1, r3, r1, r3 803c188: 09db lsrs r3, r3, #7 803c18a: 4974 ldr r1, [pc, #464] ; (803c35c ) 803c18c: fb01 f303 mul.w r3, r1, r3 803c190: 1ad3 subs r3, r2, r3 803c192: 4a73 ldr r2, [pc, #460] ; (803c360 ) 803c194: fba2 1203 umull r1, r2, r2, r3 803c198: 0b52 lsrs r2, r2, #13 803c19a: f242 7110 movw r1, #10000 ; 0x2710 803c19e: fb01 f202 mul.w r2, r1, r2 803c1a2: 1a9a subs r2, r3, r2 803c1a4: 4b6f ldr r3, [pc, #444] ; (803c364 ) 803c1a6: fba3 1302 umull r1, r3, r3, r2 803c1aa: 099b lsrs r3, r3, #6 803c1ac: f44f 717a mov.w r1, #1000 ; 0x3e8 803c1b0: fb01 f303 mul.w r3, r1, r3 803c1b4: 1ad3 subs r3, r2, r3 803c1b6: 4a6c ldr r2, [pc, #432] ; (803c368 ) 803c1b8: fba2 1203 umull r1, r2, r2, r3 803c1bc: 0952 lsrs r2, r2, #5 803c1be: 2164 movs r1, #100 ; 0x64 803c1c0: fb01 f202 mul.w r2, r1, r2 803c1c4: 1a9a subs r2, r3, r2 803c1c6: 4b69 ldr r3, [pc, #420] ; (803c36c ) 803c1c8: fba3 1302 umull r1, r3, r3, r2 803c1cc: 08d9 lsrs r1, r3, #3 803c1ce: 460b mov r3, r1 803c1d0: 009b lsls r3, r3, #2 803c1d2: 440b add r3, r1 803c1d4: 005b lsls r3, r3, #1 803c1d6: 1ad1 subs r1, r2, r3 803c1d8: b2cb uxtb r3, r1 803c1da: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803c1de: 4b5c ldr r3, [pc, #368] ; (803c350 ) 803c1e0: 781b ldrb r3, [r3, #0] 803c1e2: b2db uxtb r3, r3 803c1e4: 3b05 subs r3, #5 803c1e6: 2b05 cmp r3, #5 803c1e8: d85c bhi.n 803c2a4 803c1ea: a201 add r2, pc, #4 ; (adr r2, 803c1f0 ) 803c1ec: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803c1f0: 0803c209 .word 0x0803c209 803c1f4: 0803c221 .word 0x0803c221 803c1f8: 0803c23b .word 0x0803c23b 803c1fc: 0803c253 .word 0x0803c253 803c200: 0803c267 .word 0x0803c267 803c204: 0803c27b .word 0x0803c27b if(k > 100000) 803c208: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c20c: 4a53 ldr r2, [pc, #332] ; (803c35c ) 803c20e: 4293 cmp r3, r2 803c210: d93d bls.n 803c28e k -= 100000; 803c212: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c216: 4b56 ldr r3, [pc, #344] ; (803c370 ) 803c218: 4413 add r3, r2 803c21a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c21e: e036 b.n 803c28e if(k > 10000) 803c220: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c224: f242 7210 movw r2, #10000 ; 0x2710 803c228: 4293 cmp r3, r2 803c22a: d932 bls.n 803c292 k -= 10000; 803c22c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c230: 4b50 ldr r3, [pc, #320] ; (803c374 ) 803c232: 4413 add r3, r2 803c234: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c238: e02b b.n 803c292 if(k > 1000) 803c23a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c23e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803c242: d928 bls.n 803c296 k -= 1000; 803c244: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c248: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803c24c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c250: e021 b.n 803c296 if(k > 100) 803c252: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c256: 2b64 cmp r3, #100 ; 0x64 803c258: d91f bls.n 803c29a k -= 100; 803c25a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c25e: 3b64 subs r3, #100 ; 0x64 803c260: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c264: e019 b.n 803c29a if(k > 10) 803c266: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c26a: 2b0a cmp r3, #10 803c26c: d917 bls.n 803c29e k -= 10; 803c26e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c272: 3b0a subs r3, #10 803c274: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c278: e011 b.n 803c29e if(k > 1) 803c27a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c27e: 2b01 cmp r3, #1 803c280: d90f bls.n 803c2a2 k--; 803c282: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c286: 3b01 subs r3, #1 803c288: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c28c: e009 b.n 803c2a2 break; 803c28e: bf00 nop 803c290: e008 b.n 803c2a4 break; 803c292: bf00 nop 803c294: e006 b.n 803c2a4 break; 803c296: bf00 nop 803c298: e004 b.n 803c2a4 break; 803c29a: bf00 nop 803c29c: e002 b.n 803c2a4 break; 803c29e: bf00 nop 803c2a0: e000 b.n 803c2a4 break; 803c2a2: bf00 nop if(k > 999999) k = 999999; 803c2a4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c2a8: 4a33 ldr r2, [pc, #204] ; (803c378 ) 803c2aa: 4293 cmp r3, r2 803c2ac: d902 bls.n 803c2b4 803c2ae: 4b32 ldr r3, [pc, #200] ; (803c378 ) 803c2b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803c2b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c2b8: 2b00 cmp r3, #0 803c2ba: d102 bne.n 803c2c2 803c2bc: 2301 movs r3, #1 803c2be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803c2c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c2c6: ee07 3a90 vmov s15, r3 803c2ca: eef8 7a67 vcvt.f32.u32 s15, s15 803c2ce: 4b21 ldr r3, [pc, #132] ; (803c354 ) 803c2d0: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803c2d4: 4b1f ldr r3, [pc, #124] ; (803c354 ) 803c2d6: edd3 7a06 vldr s15, [r3, #24] 803c2da: ed9f 7a28 vldr s14, [pc, #160] ; 803c37c 803c2de: ee67 7a87 vmul.f32 s15, s15, s14 803c2e2: 4b1c ldr r3, [pc, #112] ; (803c354 ) 803c2e4: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803c2e8: 4b1a ldr r3, [pc, #104] ; (803c354 ) 803c2ea: edd3 7a06 vldr s15, [r3, #24] 803c2ee: ed9f 7a24 vldr s14, [pc, #144] ; 803c380 803c2f2: ee77 7a87 vadd.f32 s15, s15, s14 803c2f6: 4b17 ldr r3, [pc, #92] ; (803c354 ) 803c2f8: edc3 7a06 vstr s15, [r3, #24] break; 803c2fc: f007 bb2c b.w 8043958 case PARAM_DIAGN_1: if(menupos < Diag8) menupos++; 803c300: 4b13 ldr r3, [pc, #76] ; (803c350 ) 803c302: 781b ldrb r3, [r3, #0] 803c304: b2db uxtb r3, r3 803c306: 2b06 cmp r3, #6 803c308: d808 bhi.n 803c31c 803c30a: 4b11 ldr r3, [pc, #68] ; (803c350 ) 803c30c: 781b ldrb r3, [r3, #0] 803c30e: b2db uxtb r3, r3 803c310: 3301 adds r3, #1 803c312: b2da uxtb r2, r3 803c314: 4b0e ldr r3, [pc, #56] ; (803c350 ) 803c316: 701a strb r2, [r3, #0] else menupos = Diag1; break; 803c318: f007 bb6a b.w 80439f0 else menupos = Diag1; 803c31c: 4b0c ldr r3, [pc, #48] ; (803c350 ) 803c31e: 2200 movs r2, #0 803c320: 701a strb r2, [r3, #0] break; 803c322: f007 bb65 b.w 80439f0 case PARAM_DIAGN_2: focused = false; 803c326: 4b17 ldr r3, [pc, #92] ; (803c384 ) 803c328: 2200 movs r2, #0 803c32a: 701a strb r2, [r3, #0] if((menupos >= DiagUs1) && (menupos <= DiagOp1)) 803c32c: 4b08 ldr r3, [pc, #32] ; (803c350 ) 803c32e: 781b ldrb r3, [r3, #0] 803c330: b2db uxtb r3, r3 803c332: 2b00 cmp r3, #0 803c334: d02a beq.n 803c38c 803c336: 4b06 ldr r3, [pc, #24] ; (803c350 ) 803c338: 781b ldrb r3, [r3, #0] 803c33a: b2db uxtb r3, r3 803c33c: 2b02 cmp r3, #2 803c33e: d825 bhi.n 803c38c { CURR_USL = Us1; 803c340: 4b11 ldr r3, [pc, #68] ; (803c388 ) 803c342: 2200 movs r2, #0 803c344: 701a strb r2, [r3, #0] menupos = Ok; 803c346: 4b02 ldr r3, [pc, #8] ; (803c350 ) 803c348: 2200 movs r2, #0 803c34a: 701a strb r2, [r3, #0] 803c34c: f001 b9e7 b.w 803d71e 803c350: 20020070 .word 0x20020070 803c354: 20023e60 .word 0x20023e60 803c358: 0a7c5ac5 .word 0x0a7c5ac5 803c35c: 000186a0 .word 0x000186a0 803c360: d1b71759 .word 0xd1b71759 803c364: 10624dd3 .word 0x10624dd3 803c368: 51eb851f .word 0x51eb851f 803c36c: cccccccd .word 0xcccccccd 803c370: fffe7960 .word 0xfffe7960 803c374: ffffd8f0 .word 0xffffd8f0 803c378: 000f423f .word 0x000f423f 803c37c: 3dcccccd .word 0x3dcccccd 803c380: 3d4ccccd .word 0x3d4ccccd 803c384: 20020f84 .word 0x20020f84 803c388: 20021013 .word 0x20021013 /*if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) menupos = Diag_A; else menupos = DiagAVS;*/ } else if((menupos >= DiagUs2) && (menupos <= DiagOp2)) 803c38c: 4b5d ldr r3, [pc, #372] ; (803c504 ) 803c38e: 781b ldrb r3, [r3, #0] 803c390: b2db uxtb r3, r3 803c392: 2b02 cmp r3, #2 803c394: d90c bls.n 803c3b0 803c396: 4b5b ldr r3, [pc, #364] ; (803c504 ) 803c398: 781b ldrb r3, [r3, #0] 803c39a: b2db uxtb r3, r3 803c39c: 2b04 cmp r3, #4 803c39e: d807 bhi.n 803c3b0 { CURR_USL = Us2; 803c3a0: 4b59 ldr r3, [pc, #356] ; (803c508 ) 803c3a2: 2201 movs r2, #1 803c3a4: 701a strb r2, [r3, #0] menupos = Ok; 803c3a6: 4b57 ldr r3, [pc, #348] ; (803c504 ) 803c3a8: 2200 movs r2, #0 803c3aa: 701a strb r2, [r3, #0] 803c3ac: f001 b9b7 b.w 803d71e /* if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) menupos = Diag_A; else menupos = DiagAVS;*/ } else if(menupos == DiagUs3) 803c3b0: 4b54 ldr r3, [pc, #336] ; (803c504 ) 803c3b2: 781b ldrb r3, [r3, #0] 803c3b4: b2db uxtb r3, r3 803c3b6: 2b05 cmp r3, #5 803c3b8: d107 bne.n 803c3ca { CURR_USL = Us3; 803c3ba: 4b53 ldr r3, [pc, #332] ; (803c508 ) 803c3bc: 2202 movs r2, #2 803c3be: 701a strb r2, [r3, #0] menupos = Ok; 803c3c0: 4b50 ldr r3, [pc, #320] ; (803c504 ) 803c3c2: 2200 movs r2, #0 803c3c4: 701a strb r2, [r3, #0] if(k == 0) k = 1; pardata.DIAGN_A[CURR_POINT][CURR_USL] = (float32_t) k; pardata.DIAGN_A[CURR_POINT][CURR_USL] *= 0.1f; pardata.DIAGN_A[CURR_POINT][CURR_USL] += 0.05f; } break; 803c3c6: f007 baca b.w 804395e if(menupos == Ok) 803c3ca: 4b4e ldr r3, [pc, #312] ; (803c504 ) 803c3cc: 781b ldrb r3, [r3, #0] 803c3ce: b2db uxtb r3, r3 803c3d0: 2b00 cmp r3, #0 803c3d2: d104 bne.n 803c3de menupos = DiagName; 803c3d4: 4b4b ldr r3, [pc, #300] ; (803c504 ) 803c3d6: 2206 movs r2, #6 803c3d8: 701a strb r2, [r3, #0] break; 803c3da: f007 bac0 b.w 804395e if(menupos == DiagName) 803c3de: 4b49 ldr r3, [pc, #292] ; (803c504 ) 803c3e0: 781b ldrb r3, [r3, #0] 803c3e2: b2db uxtb r3, r3 803c3e4: 2b06 cmp r3, #6 803c3e6: d104 bne.n 803c3f2 menupos = DiagAVS; 803c3e8: 4b46 ldr r3, [pc, #280] ; (803c504 ) 803c3ea: 2207 movs r2, #7 803c3ec: 701a strb r2, [r3, #0] break; 803c3ee: f007 bab6 b.w 804395e if(menupos == DiagAVS) 803c3f2: 4b44 ldr r3, [pc, #272] ; (803c504 ) 803c3f4: 781b ldrb r3, [r3, #0] 803c3f6: b2db uxtb r3, r3 803c3f8: 2b07 cmp r3, #7 803c3fa: d137 bne.n 803c46c if(pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) 803c3fc: 4b43 ldr r3, [pc, #268] ; (803c50c ) 803c3fe: 781b ldrb r3, [r3, #0] 803c400: b2db uxtb r3, r3 803c402: 4618 mov r0, r3 803c404: 4b40 ldr r3, [pc, #256] ; (803c508 ) 803c406: 781b ldrb r3, [r3, #0] 803c408: b2db uxtb r3, r3 803c40a: 4619 mov r1, r3 803c40c: 4a40 ldr r2, [pc, #256] ; (803c510 ) 803c40e: 0083 lsls r3, r0, #2 803c410: 4413 add r3, r2 803c412: 440b add r3, r1 803c414: f503 730f add.w r3, r3, #572 ; 0x23c 803c418: 781b ldrb r3, [r3, #0] 803c41a: b2db uxtb r3, r3 803c41c: f003 0307 and.w r3, r3, #7 803c420: 2b00 cmp r3, #0 803c422: d004 beq.n 803c42e menupos = DiagValue; 803c424: 4b37 ldr r3, [pc, #220] ; (803c504 ) 803c426: 2208 movs r2, #8 803c428: 701a strb r2, [r3, #0] break; 803c42a: f007 ba98 b.w 804395e if(CURR_USL == Us1) 803c42e: 4b36 ldr r3, [pc, #216] ; (803c508 ) 803c430: 781b ldrb r3, [r3, #0] 803c432: b2db uxtb r3, r3 803c434: 2b00 cmp r3, #0 803c436: d104 bne.n 803c442 menupos = DiagUs1; 803c438: 4b32 ldr r3, [pc, #200] ; (803c504 ) 803c43a: 2201 movs r2, #1 803c43c: 701a strb r2, [r3, #0] break; 803c43e: f007 ba8e b.w 804395e if(CURR_USL == Us2) 803c442: 4b31 ldr r3, [pc, #196] ; (803c508 ) 803c444: 781b ldrb r3, [r3, #0] 803c446: b2db uxtb r3, r3 803c448: 2b01 cmp r3, #1 803c44a: d104 bne.n 803c456 menupos = DiagUs2; 803c44c: 4b2d ldr r3, [pc, #180] ; (803c504 ) 803c44e: 2203 movs r2, #3 803c450: 701a strb r2, [r3, #0] break; 803c452: f007 ba84 b.w 804395e if(CURR_USL == Us3) 803c456: 4b2c ldr r3, [pc, #176] ; (803c508 ) 803c458: 781b ldrb r3, [r3, #0] 803c45a: b2db uxtb r3, r3 803c45c: 2b02 cmp r3, #2 803c45e: f047 827e bne.w 804395e menupos = DiagUs3; 803c462: 4b28 ldr r3, [pc, #160] ; (803c504 ) 803c464: 2205 movs r2, #5 803c466: 701a strb r2, [r3, #0] break; 803c468: f007 ba79 b.w 804395e if(menupos == DiagValue) 803c46c: 4b25 ldr r3, [pc, #148] ; (803c504 ) 803c46e: 781b ldrb r3, [r3, #0] 803c470: b2db uxtb r3, r3 803c472: 2b08 cmp r3, #8 803c474: d104 bne.n 803c480 menupos = DiagHP; 803c476: 4b23 ldr r3, [pc, #140] ; (803c504 ) 803c478: 2209 movs r2, #9 803c47a: 701a strb r2, [r3, #0] break; 803c47c: f007 ba6f b.w 804395e if(menupos == DiagHP) 803c480: 4b20 ldr r3, [pc, #128] ; (803c504 ) 803c482: 781b ldrb r3, [r3, #0] 803c484: b2db uxtb r3, r3 803c486: 2b09 cmp r3, #9 803c488: d104 bne.n 803c494 menupos = DiagLP; 803c48a: 4b1e ldr r3, [pc, #120] ; (803c504 ) 803c48c: 220a movs r2, #10 803c48e: 701a strb r2, [r3, #0] break; 803c490: f007 ba65 b.w 804395e if(menupos == DiagLP) 803c494: 4b1b ldr r3, [pc, #108] ; (803c504 ) 803c496: 781b ldrb r3, [r3, #0] 803c498: b2db uxtb r3, r3 803c49a: 2b0a cmp r3, #10 803c49c: d104 bne.n 803c4a8 menupos = Diag_W; 803c49e: 4b19 ldr r3, [pc, #100] ; (803c504 ) 803c4a0: 220b movs r2, #11 803c4a2: 701a strb r2, [r3, #0] break; 803c4a4: f007 ba5b b.w 804395e if(menupos == Diag_W) 803c4a8: 4b16 ldr r3, [pc, #88] ; (803c504 ) 803c4aa: 781b ldrb r3, [r3, #0] 803c4ac: b2db uxtb r3, r3 803c4ae: 2b0b cmp r3, #11 803c4b0: d104 bne.n 803c4bc menupos = Diag_A; 803c4b2: 4b14 ldr r3, [pc, #80] ; (803c504 ) 803c4b4: 220c movs r2, #12 803c4b6: 701a strb r2, [r3, #0] break; 803c4b8: f007 ba51 b.w 804395e if(menupos == Diag_A) 803c4bc: 4b11 ldr r3, [pc, #68] ; (803c504 ) 803c4be: 781b ldrb r3, [r3, #0] 803c4c0: b2db uxtb r3, r3 803c4c2: 2b0c cmp r3, #12 803c4c4: d126 bne.n 803c514 if(CURR_USL == Us1) 803c4c6: 4b10 ldr r3, [pc, #64] ; (803c508 ) 803c4c8: 781b ldrb r3, [r3, #0] 803c4ca: b2db uxtb r3, r3 803c4cc: 2b00 cmp r3, #0 803c4ce: d104 bne.n 803c4da menupos = DiagUs1; 803c4d0: 4b0c ldr r3, [pc, #48] ; (803c504 ) 803c4d2: 2201 movs r2, #1 803c4d4: 701a strb r2, [r3, #0] break; 803c4d6: f007 ba42 b.w 804395e if(CURR_USL == Us2) 803c4da: 4b0b ldr r3, [pc, #44] ; (803c508 ) 803c4dc: 781b ldrb r3, [r3, #0] 803c4de: b2db uxtb r3, r3 803c4e0: 2b01 cmp r3, #1 803c4e2: d104 bne.n 803c4ee menupos = DiagUs2; 803c4e4: 4b07 ldr r3, [pc, #28] ; (803c504 ) 803c4e6: 2203 movs r2, #3 803c4e8: 701a strb r2, [r3, #0] break; 803c4ea: f007 ba38 b.w 804395e if(CURR_USL == Us3) 803c4ee: 4b06 ldr r3, [pc, #24] ; (803c508 ) 803c4f0: 781b ldrb r3, [r3, #0] 803c4f2: b2db uxtb r3, r3 803c4f4: 2b02 cmp r3, #2 803c4f6: f047 8232 bne.w 804395e menupos = DiagUs3; 803c4fa: 4b02 ldr r3, [pc, #8] ; (803c504 ) 803c4fc: 2205 movs r2, #5 803c4fe: 701a strb r2, [r3, #0] break; 803c500: f007 ba2d b.w 804395e 803c504: 20020070 .word 0x20020070 803c508: 20021013 .word 0x20021013 803c50c: 20021011 .word 0x20021011 803c510: 20023e60 .word 0x20023e60 if((menupos >= DiagHP_IDT) && (menupos <= DiagHP_IKD)) 803c514: 4bc5 ldr r3, [pc, #788] ; (803c82c ) 803c516: 781b ldrb r3, [r3, #0] 803c518: b2db uxtb r3, r3 803c51a: 2b0c cmp r3, #12 803c51c: f240 82f0 bls.w 803cb00 803c520: 4bc2 ldr r3, [pc, #776] ; (803c82c ) 803c522: 781b ldrb r3, [r3, #0] 803c524: b2db uxtb r3, r3 803c526: 2b12 cmp r3, #18 803c528: f200 82ea bhi.w 803cb00 k = (uint32_t) (pardata.DIAGN_HP[CURR_POINT][CURR_USL] * 10.0f); 803c52c: 4bc0 ldr r3, [pc, #768] ; (803c830 ) 803c52e: 781b ldrb r3, [r3, #0] 803c530: b2db uxtb r3, r3 803c532: 4618 mov r0, r3 803c534: 4bbf ldr r3, [pc, #764] ; (803c834 ) 803c536: 781b ldrb r3, [r3, #0] 803c538: b2db uxtb r3, r3 803c53a: 4619 mov r1, r3 803c53c: 4abe ldr r2, [pc, #760] ; (803c838 ) 803c53e: 0083 lsls r3, r0, #2 803c540: 440b add r3, r1 803c542: 3396 adds r3, #150 ; 0x96 803c544: 009b lsls r3, r3, #2 803c546: 4413 add r3, r2 803c548: 3304 adds r3, #4 803c54a: edd3 7a00 vldr s15, [r3] 803c54e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803c552: ee67 7a87 vmul.f32 s15, s15, s14 803c556: eefc 7ae7 vcvt.u32.f32 s15, s15 803c55a: ee17 3a90 vmov r3, s15 803c55e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803c562: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c566: 095b lsrs r3, r3, #5 803c568: 4ab4 ldr r2, [pc, #720] ; (803c83c ) 803c56a: fba2 2303 umull r2, r3, r2, r3 803c56e: 09db lsrs r3, r3, #7 803c570: b2db uxtb r3, r3 803c572: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803c576: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c57a: 0953 lsrs r3, r2, #5 803c57c: 49af ldr r1, [pc, #700] ; (803c83c ) 803c57e: fba1 1303 umull r1, r3, r1, r3 803c582: 09db lsrs r3, r3, #7 803c584: 49ae ldr r1, [pc, #696] ; (803c840 ) 803c586: fb01 f303 mul.w r3, r1, r3 803c58a: 1ad3 subs r3, r2, r3 803c58c: 4aad ldr r2, [pc, #692] ; (803c844 ) 803c58e: fba2 2303 umull r2, r3, r2, r3 803c592: 0b5b lsrs r3, r3, #13 803c594: b2db uxtb r3, r3 803c596: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803c59a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c59e: 0953 lsrs r3, r2, #5 803c5a0: 49a6 ldr r1, [pc, #664] ; (803c83c ) 803c5a2: fba1 1303 umull r1, r3, r1, r3 803c5a6: 09db lsrs r3, r3, #7 803c5a8: 49a5 ldr r1, [pc, #660] ; (803c840 ) 803c5aa: fb01 f303 mul.w r3, r1, r3 803c5ae: 1ad3 subs r3, r2, r3 803c5b0: 4aa4 ldr r2, [pc, #656] ; (803c844 ) 803c5b2: fba2 1203 umull r1, r2, r2, r3 803c5b6: 0b52 lsrs r2, r2, #13 803c5b8: f242 7110 movw r1, #10000 ; 0x2710 803c5bc: fb01 f202 mul.w r2, r1, r2 803c5c0: 1a9a subs r2, r3, r2 803c5c2: 4ba1 ldr r3, [pc, #644] ; (803c848 ) 803c5c4: fba3 2302 umull r2, r3, r3, r2 803c5c8: 099b lsrs r3, r3, #6 803c5ca: b2db uxtb r3, r3 803c5cc: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803c5d0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c5d4: 095a lsrs r2, r3, #5 803c5d6: 4999 ldr r1, [pc, #612] ; (803c83c ) 803c5d8: fba1 1202 umull r1, r2, r1, r2 803c5dc: 09d2 lsrs r2, r2, #7 803c5de: 4998 ldr r1, [pc, #608] ; (803c840 ) 803c5e0: fb01 f202 mul.w r2, r1, r2 803c5e4: 1a9a subs r2, r3, r2 803c5e6: 4b97 ldr r3, [pc, #604] ; (803c844 ) 803c5e8: fba3 1302 umull r1, r3, r3, r2 803c5ec: 0b5b lsrs r3, r3, #13 803c5ee: f242 7110 movw r1, #10000 ; 0x2710 803c5f2: fb01 f303 mul.w r3, r1, r3 803c5f6: 1ad3 subs r3, r2, r3 803c5f8: 4a93 ldr r2, [pc, #588] ; (803c848 ) 803c5fa: fba2 1203 umull r1, r2, r2, r3 803c5fe: 0992 lsrs r2, r2, #6 803c600: f44f 717a mov.w r1, #1000 ; 0x3e8 803c604: fb01 f202 mul.w r2, r1, r2 803c608: 1a9a subs r2, r3, r2 803c60a: 4b90 ldr r3, [pc, #576] ; (803c84c ) 803c60c: fba3 2302 umull r2, r3, r3, r2 803c610: 095b lsrs r3, r3, #5 803c612: b2db uxtb r3, r3 803c614: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803c618: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c61c: 0953 lsrs r3, r2, #5 803c61e: 4987 ldr r1, [pc, #540] ; (803c83c ) 803c620: fba1 1303 umull r1, r3, r1, r3 803c624: 09db lsrs r3, r3, #7 803c626: 4986 ldr r1, [pc, #536] ; (803c840 ) 803c628: fb01 f303 mul.w r3, r1, r3 803c62c: 1ad3 subs r3, r2, r3 803c62e: 4a85 ldr r2, [pc, #532] ; (803c844 ) 803c630: fba2 1203 umull r1, r2, r2, r3 803c634: 0b52 lsrs r2, r2, #13 803c636: f242 7110 movw r1, #10000 ; 0x2710 803c63a: fb01 f202 mul.w r2, r1, r2 803c63e: 1a9a subs r2, r3, r2 803c640: 4b81 ldr r3, [pc, #516] ; (803c848 ) 803c642: fba3 1302 umull r1, r3, r3, r2 803c646: 099b lsrs r3, r3, #6 803c648: f44f 717a mov.w r1, #1000 ; 0x3e8 803c64c: fb01 f303 mul.w r3, r1, r3 803c650: 1ad3 subs r3, r2, r3 803c652: 4a7e ldr r2, [pc, #504] ; (803c84c ) 803c654: fba2 1203 umull r1, r2, r2, r3 803c658: 0952 lsrs r2, r2, #5 803c65a: 2164 movs r1, #100 ; 0x64 803c65c: fb01 f202 mul.w r2, r1, r2 803c660: 1a9a subs r2, r3, r2 803c662: 4b7b ldr r3, [pc, #492] ; (803c850 ) 803c664: fba3 2302 umull r2, r3, r3, r2 803c668: 08db lsrs r3, r3, #3 803c66a: b2db uxtb r3, r3 803c66c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803c670: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c674: 0953 lsrs r3, r2, #5 803c676: 4971 ldr r1, [pc, #452] ; (803c83c ) 803c678: fba1 1303 umull r1, r3, r1, r3 803c67c: 09db lsrs r3, r3, #7 803c67e: 4970 ldr r1, [pc, #448] ; (803c840 ) 803c680: fb01 f303 mul.w r3, r1, r3 803c684: 1ad3 subs r3, r2, r3 803c686: 4a6f ldr r2, [pc, #444] ; (803c844 ) 803c688: fba2 1203 umull r1, r2, r2, r3 803c68c: 0b52 lsrs r2, r2, #13 803c68e: f242 7110 movw r1, #10000 ; 0x2710 803c692: fb01 f202 mul.w r2, r1, r2 803c696: 1a9a subs r2, r3, r2 803c698: 4b6b ldr r3, [pc, #428] ; (803c848 ) 803c69a: fba3 1302 umull r1, r3, r3, r2 803c69e: 099b lsrs r3, r3, #6 803c6a0: f44f 717a mov.w r1, #1000 ; 0x3e8 803c6a4: fb01 f303 mul.w r3, r1, r3 803c6a8: 1ad3 subs r3, r2, r3 803c6aa: 4a68 ldr r2, [pc, #416] ; (803c84c ) 803c6ac: fba2 1203 umull r1, r2, r2, r3 803c6b0: 0952 lsrs r2, r2, #5 803c6b2: 2164 movs r1, #100 ; 0x64 803c6b4: fb01 f202 mul.w r2, r1, r2 803c6b8: 1a9a subs r2, r3, r2 803c6ba: 4b65 ldr r3, [pc, #404] ; (803c850 ) 803c6bc: fba3 1302 umull r1, r3, r3, r2 803c6c0: 08d9 lsrs r1, r3, #3 803c6c2: 460b mov r3, r1 803c6c4: 009b lsls r3, r3, #2 803c6c6: 440b add r3, r1 803c6c8: 005b lsls r3, r3, #1 803c6ca: 1ad1 subs r1, r2, r3 803c6cc: b2cb uxtb r3, r1 803c6ce: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803c6d2: 4b56 ldr r3, [pc, #344] ; (803c82c ) 803c6d4: 781b ldrb r3, [r3, #0] 803c6d6: b2db uxtb r3, r3 803c6d8: 3b0d subs r3, #13 803c6da: 2b05 cmp r3, #5 803c6dc: d85c bhi.n 803c798 803c6de: a201 add r2, pc, #4 ; (adr r2, 803c6e4 ) 803c6e0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803c6e4: 0803c6fd .word 0x0803c6fd 803c6e8: 0803c715 .word 0x0803c715 803c6ec: 0803c72f .word 0x0803c72f 803c6f0: 0803c747 .word 0x0803c747 803c6f4: 0803c75b .word 0x0803c75b 803c6f8: 0803c76f .word 0x0803c76f if(k > 100000) 803c6fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c700: 4a4f ldr r2, [pc, #316] ; (803c840 ) 803c702: 4293 cmp r3, r2 803c704: d93d bls.n 803c782 k -= 100000; 803c706: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c70a: 4b52 ldr r3, [pc, #328] ; (803c854 ) 803c70c: 4413 add r3, r2 803c70e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c712: e036 b.n 803c782 if(k > 10000) 803c714: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c718: f242 7210 movw r2, #10000 ; 0x2710 803c71c: 4293 cmp r3, r2 803c71e: d932 bls.n 803c786 k -= 10000; 803c720: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803c724: 4b4c ldr r3, [pc, #304] ; (803c858 ) 803c726: 4413 add r3, r2 803c728: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c72c: e02b b.n 803c786 if(k > 1000) 803c72e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c732: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803c736: d928 bls.n 803c78a k -= 1000; 803c738: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c73c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803c740: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c744: e021 b.n 803c78a if(k > 100) 803c746: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c74a: 2b64 cmp r3, #100 ; 0x64 803c74c: d91f bls.n 803c78e k -= 100; 803c74e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c752: 3b64 subs r3, #100 ; 0x64 803c754: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c758: e019 b.n 803c78e if(k > 10) 803c75a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c75e: 2b0a cmp r3, #10 803c760: d917 bls.n 803c792 k -= 10; 803c762: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c766: 3b0a subs r3, #10 803c768: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c76c: e011 b.n 803c792 if(k > 1) 803c76e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c772: 2b01 cmp r3, #1 803c774: d90f bls.n 803c796 k--; 803c776: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c77a: 3b01 subs r3, #1 803c77c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803c780: e009 b.n 803c796 break; 803c782: bf00 nop 803c784: e008 b.n 803c798 break; 803c786: bf00 nop 803c788: e006 b.n 803c798 break; 803c78a: bf00 nop 803c78c: e004 b.n 803c798 break; 803c78e: bf00 nop 803c790: e002 b.n 803c798 break; 803c792: bf00 nop 803c794: e000 b.n 803c798 break; 803c796: bf00 nop fl = (float32_t) k; 803c798: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c79c: ee07 3a90 vmov s15, r3 803c7a0: eef8 7a67 vcvt.f32.u32 s15, s15 803c7a4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803c7a8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c7ac: ed9f 7a2b vldr s14, [pc, #172] ; 803c85c 803c7b0: ee67 7a87 vmul.f32 s15, s15, s14 803c7b4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803c7b8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c7bc: ed9f 7a28 vldr s14, [pc, #160] ; 803c860 803c7c0: ee77 7a87 vadd.f32 s15, s15, s14 803c7c4: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803c7c8: 4b19 ldr r3, [pc, #100] ; (803c830 ) 803c7ca: 781b ldrb r3, [r3, #0] 803c7cc: b2db uxtb r3, r3 803c7ce: 4618 mov r0, r3 803c7d0: 4b18 ldr r3, [pc, #96] ; (803c834 ) 803c7d2: 781b ldrb r3, [r3, #0] 803c7d4: b2db uxtb r3, r3 803c7d6: 4619 mov r1, r3 803c7d8: 4a17 ldr r2, [pc, #92] ; (803c838 ) 803c7da: 0083 lsls r3, r0, #2 803c7dc: 4413 add r3, r2 803c7de: 440b add r3, r1 803c7e0: f503 730f add.w r3, r3, #572 ; 0x23c 803c7e4: 781b ldrb r3, [r3, #0] 803c7e6: b2db uxtb r3, r3 803c7e8: f003 0307 and.w r3, r3, #7 803c7ec: 2b01 cmp r3, #1 803c7ee: f040 80cc bne.w 803c98a if(fl < 0.5f) 803c7f2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c7f6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 803c7fa: eef4 7ac7 vcmpe.f32 s15, s14 803c7fe: eef1 fa10 vmrs APSR_nzcv, fpscr 803c802: d52f bpl.n 803c864 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 0.5f; 803c804: 4b0a ldr r3, [pc, #40] ; (803c830 ) 803c806: 781b ldrb r3, [r3, #0] 803c808: b2db uxtb r3, r3 803c80a: 4618 mov r0, r3 803c80c: 4b09 ldr r3, [pc, #36] ; (803c834 ) 803c80e: 781b ldrb r3, [r3, #0] 803c810: b2db uxtb r3, r3 803c812: 4619 mov r1, r3 803c814: 4a08 ldr r2, [pc, #32] ; (803c838 ) 803c816: 0083 lsls r3, r0, #2 803c818: 440b add r3, r1 803c81a: 3396 adds r3, #150 ; 0x96 803c81c: 009b lsls r3, r3, #2 803c81e: 4413 add r3, r2 803c820: 3304 adds r3, #4 803c822: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 803c826: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803c828: f000 bf79 b.w 803d71e 803c82c: 20020070 .word 0x20020070 803c830: 20021011 .word 0x20021011 803c834: 20021013 .word 0x20021013 803c838: 20023e60 .word 0x20023e60 803c83c: 0a7c5ac5 .word 0x0a7c5ac5 803c840: 000186a0 .word 0x000186a0 803c844: d1b71759 .word 0xd1b71759 803c848: 10624dd3 .word 0x10624dd3 803c84c: 51eb851f .word 0x51eb851f 803c850: cccccccd .word 0xcccccccd 803c854: fffe7960 .word 0xfffe7960 803c858: ffffd8f0 .word 0xffffd8f0 803c85c: 3dcccccd .word 0x3dcccccd 803c860: 38d1b717 .word 0x38d1b717 if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 803c864: 4ba1 ldr r3, [pc, #644] ; (803caec ) 803c866: 781b ldrb r3, [r3, #0] 803c868: b2db uxtb r3, r3 803c86a: 4618 mov r0, r3 803c86c: 4ba0 ldr r3, [pc, #640] ; (803caf0 ) 803c86e: 781b ldrb r3, [r3, #0] 803c870: b2db uxtb r3, r3 803c872: 4619 mov r1, r3 803c874: 4a9f ldr r2, [pc, #636] ; (803caf4 ) 803c876: 0083 lsls r3, r0, #2 803c878: 440b add r3, r1 803c87a: 33b6 adds r3, #182 ; 0xb6 803c87c: 009b lsls r3, r3, #2 803c87e: 4413 add r3, r2 803c880: 3304 adds r3, #4 803c882: ed93 7a00 vldr s14, [r3] 803c886: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c88a: eeb4 7ae7 vcmpe.f32 s14, s15 803c88e: eef1 fa10 vmrs APSR_nzcv, fpscr 803c892: d521 bpl.n 803c8d8 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 803c894: 4b95 ldr r3, [pc, #596] ; (803caec ) 803c896: 781b ldrb r3, [r3, #0] 803c898: b2db uxtb r3, r3 803c89a: 461c mov r4, r3 803c89c: 4b94 ldr r3, [pc, #592] ; (803caf0 ) 803c89e: 781b ldrb r3, [r3, #0] 803c8a0: b2db uxtb r3, r3 803c8a2: 4618 mov r0, r3 803c8a4: 4b91 ldr r3, [pc, #580] ; (803caec ) 803c8a6: 781b ldrb r3, [r3, #0] 803c8a8: b2db uxtb r3, r3 803c8aa: 461d mov r5, r3 803c8ac: 4b90 ldr r3, [pc, #576] ; (803caf0 ) 803c8ae: 781b ldrb r3, [r3, #0] 803c8b0: b2db uxtb r3, r3 803c8b2: 4619 mov r1, r3 803c8b4: 4a8f ldr r2, [pc, #572] ; (803caf4 ) 803c8b6: 00ab lsls r3, r5, #2 803c8b8: 440b add r3, r1 803c8ba: 33b6 adds r3, #182 ; 0xb6 803c8bc: 009b lsls r3, r3, #2 803c8be: 4413 add r3, r2 803c8c0: 3304 adds r3, #4 803c8c2: 681a ldr r2, [r3, #0] 803c8c4: 498b ldr r1, [pc, #556] ; (803caf4 ) 803c8c6: 00a3 lsls r3, r4, #2 803c8c8: 4403 add r3, r0 803c8ca: 3396 adds r3, #150 ; 0x96 803c8cc: 009b lsls r3, r3, #2 803c8ce: 440b add r3, r1 803c8d0: 3304 adds r3, #4 803c8d2: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803c8d4: f000 bf23 b.w 803d71e pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 803c8d8: 4b84 ldr r3, [pc, #528] ; (803caec ) 803c8da: 781b ldrb r3, [r3, #0] 803c8dc: b2db uxtb r3, r3 803c8de: 4618 mov r0, r3 803c8e0: 4b83 ldr r3, [pc, #524] ; (803caf0 ) 803c8e2: 781b ldrb r3, [r3, #0] 803c8e4: b2db uxtb r3, r3 803c8e6: 4619 mov r1, r3 803c8e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803c8ec: ee07 3a90 vmov s15, r3 803c8f0: eef8 7a67 vcvt.f32.u32 s15, s15 803c8f4: 4a7f ldr r2, [pc, #508] ; (803caf4 ) 803c8f6: 0083 lsls r3, r0, #2 803c8f8: 440b add r3, r1 803c8fa: 3396 adds r3, #150 ; 0x96 803c8fc: 009b lsls r3, r3, #2 803c8fe: 4413 add r3, r2 803c900: 3304 adds r3, #4 803c902: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 803c906: 4b79 ldr r3, [pc, #484] ; (803caec ) 803c908: 781b ldrb r3, [r3, #0] 803c90a: b2da uxtb r2, r3 803c90c: 4610 mov r0, r2 803c90e: 4b78 ldr r3, [pc, #480] ; (803caf0 ) 803c910: 781b ldrb r3, [r3, #0] 803c912: b2db uxtb r3, r3 803c914: 4619 mov r1, r3 803c916: 4615 mov r5, r2 803c918: 461c mov r4, r3 803c91a: 4a76 ldr r2, [pc, #472] ; (803caf4 ) 803c91c: 00ab lsls r3, r5, #2 803c91e: 4423 add r3, r4 803c920: 3396 adds r3, #150 ; 0x96 803c922: 009b lsls r3, r3, #2 803c924: 4413 add r3, r2 803c926: 3304 adds r3, #4 803c928: edd3 7a00 vldr s15, [r3] 803c92c: ed9f 7a72 vldr s14, [pc, #456] ; 803caf8 803c930: ee67 7a87 vmul.f32 s15, s15, s14 803c934: 4a6f ldr r2, [pc, #444] ; (803caf4 ) 803c936: 0083 lsls r3, r0, #2 803c938: 440b add r3, r1 803c93a: 3396 adds r3, #150 ; 0x96 803c93c: 009b lsls r3, r3, #2 803c93e: 4413 add r3, r2 803c940: 3304 adds r3, #4 803c942: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 803c946: 4b69 ldr r3, [pc, #420] ; (803caec ) 803c948: 781b ldrb r3, [r3, #0] 803c94a: b2da uxtb r2, r3 803c94c: 4610 mov r0, r2 803c94e: 4b68 ldr r3, [pc, #416] ; (803caf0 ) 803c950: 781b ldrb r3, [r3, #0] 803c952: b2db uxtb r3, r3 803c954: 4619 mov r1, r3 803c956: 4615 mov r5, r2 803c958: 461c mov r4, r3 803c95a: 4a66 ldr r2, [pc, #408] ; (803caf4 ) 803c95c: 00ab lsls r3, r5, #2 803c95e: 4423 add r3, r4 803c960: 3396 adds r3, #150 ; 0x96 803c962: 009b lsls r3, r3, #2 803c964: 4413 add r3, r2 803c966: 3304 adds r3, #4 803c968: edd3 7a00 vldr s15, [r3] 803c96c: ed9f 7a63 vldr s14, [pc, #396] ; 803cafc 803c970: ee77 7a87 vadd.f32 s15, s15, s14 803c974: 4a5f ldr r2, [pc, #380] ; (803caf4 ) 803c976: 0083 lsls r3, r0, #2 803c978: 440b add r3, r1 803c97a: 3396 adds r3, #150 ; 0x96 803c97c: 009b lsls r3, r3, #2 803c97e: 4413 add r3, r2 803c980: 3304 adds r3, #4 803c982: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803c986: f000 beca b.w 803d71e if(fl < 2.0f) 803c98a: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c98e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803c992: eef4 7ac7 vcmpe.f32 s15, s14 803c996: eef1 fa10 vmrs APSR_nzcv, fpscr 803c99a: d513 bpl.n 803c9c4 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 803c99c: 4b53 ldr r3, [pc, #332] ; (803caec ) 803c99e: 781b ldrb r3, [r3, #0] 803c9a0: b2db uxtb r3, r3 803c9a2: 4618 mov r0, r3 803c9a4: 4b52 ldr r3, [pc, #328] ; (803caf0 ) 803c9a6: 781b ldrb r3, [r3, #0] 803c9a8: b2db uxtb r3, r3 803c9aa: 4619 mov r1, r3 803c9ac: 4a51 ldr r2, [pc, #324] ; (803caf4 ) 803c9ae: 0083 lsls r3, r0, #2 803c9b0: 440b add r3, r1 803c9b2: 3396 adds r3, #150 ; 0x96 803c9b4: 009b lsls r3, r3, #2 803c9b6: 4413 add r3, r2 803c9b8: 3304 adds r3, #4 803c9ba: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 803c9be: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803c9c0: f000 bead b.w 803d71e if(fl > pardata.DIAGN_LP[CURR_POINT][CURR_USL]) 803c9c4: 4b49 ldr r3, [pc, #292] ; (803caec ) 803c9c6: 781b ldrb r3, [r3, #0] 803c9c8: b2db uxtb r3, r3 803c9ca: 4618 mov r0, r3 803c9cc: 4b48 ldr r3, [pc, #288] ; (803caf0 ) 803c9ce: 781b ldrb r3, [r3, #0] 803c9d0: b2db uxtb r3, r3 803c9d2: 4619 mov r1, r3 803c9d4: 4a47 ldr r2, [pc, #284] ; (803caf4 ) 803c9d6: 0083 lsls r3, r0, #2 803c9d8: 440b add r3, r1 803c9da: 33b6 adds r3, #182 ; 0xb6 803c9dc: 009b lsls r3, r3, #2 803c9de: 4413 add r3, r2 803c9e0: 3304 adds r3, #4 803c9e2: ed93 7a00 vldr s14, [r3] 803c9e6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803c9ea: eeb4 7ae7 vcmpe.f32 s14, s15 803c9ee: eef1 fa10 vmrs APSR_nzcv, fpscr 803c9f2: d521 bpl.n 803ca38 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = pardata.DIAGN_LP[CURR_POINT][CURR_USL]; 803c9f4: 4b3d ldr r3, [pc, #244] ; (803caec ) 803c9f6: 781b ldrb r3, [r3, #0] 803c9f8: b2db uxtb r3, r3 803c9fa: 461c mov r4, r3 803c9fc: 4b3c ldr r3, [pc, #240] ; (803caf0 ) 803c9fe: 781b ldrb r3, [r3, #0] 803ca00: b2db uxtb r3, r3 803ca02: 4618 mov r0, r3 803ca04: 4b39 ldr r3, [pc, #228] ; (803caec ) 803ca06: 781b ldrb r3, [r3, #0] 803ca08: b2db uxtb r3, r3 803ca0a: 461d mov r5, r3 803ca0c: 4b38 ldr r3, [pc, #224] ; (803caf0 ) 803ca0e: 781b ldrb r3, [r3, #0] 803ca10: b2db uxtb r3, r3 803ca12: 4619 mov r1, r3 803ca14: 4a37 ldr r2, [pc, #220] ; (803caf4 ) 803ca16: 00ab lsls r3, r5, #2 803ca18: 440b add r3, r1 803ca1a: 33b6 adds r3, #182 ; 0xb6 803ca1c: 009b lsls r3, r3, #2 803ca1e: 4413 add r3, r2 803ca20: 3304 adds r3, #4 803ca22: 681a ldr r2, [r3, #0] 803ca24: 4933 ldr r1, [pc, #204] ; (803caf4 ) 803ca26: 00a3 lsls r3, r4, #2 803ca28: 4403 add r3, r0 803ca2a: 3396 adds r3, #150 ; 0x96 803ca2c: 009b lsls r3, r3, #2 803ca2e: 440b add r3, r1 803ca30: 3304 adds r3, #4 803ca32: 601a str r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803ca34: f000 be73 b.w 803d71e pardata.DIAGN_HP[CURR_POINT][CURR_USL] = (float32_t) k; 803ca38: 4b2c ldr r3, [pc, #176] ; (803caec ) 803ca3a: 781b ldrb r3, [r3, #0] 803ca3c: b2db uxtb r3, r3 803ca3e: 4618 mov r0, r3 803ca40: 4b2b ldr r3, [pc, #172] ; (803caf0 ) 803ca42: 781b ldrb r3, [r3, #0] 803ca44: b2db uxtb r3, r3 803ca46: 4619 mov r1, r3 803ca48: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ca4c: ee07 3a90 vmov s15, r3 803ca50: eef8 7a67 vcvt.f32.u32 s15, s15 803ca54: 4a27 ldr r2, [pc, #156] ; (803caf4 ) 803ca56: 0083 lsls r3, r0, #2 803ca58: 440b add r3, r1 803ca5a: 3396 adds r3, #150 ; 0x96 803ca5c: 009b lsls r3, r3, #2 803ca5e: 4413 add r3, r2 803ca60: 3304 adds r3, #4 803ca62: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] *= 0.1f; 803ca66: 4b21 ldr r3, [pc, #132] ; (803caec ) 803ca68: 781b ldrb r3, [r3, #0] 803ca6a: b2da uxtb r2, r3 803ca6c: 4610 mov r0, r2 803ca6e: 4b20 ldr r3, [pc, #128] ; (803caf0 ) 803ca70: 781b ldrb r3, [r3, #0] 803ca72: b2db uxtb r3, r3 803ca74: 4619 mov r1, r3 803ca76: 4615 mov r5, r2 803ca78: 461c mov r4, r3 803ca7a: 4a1e ldr r2, [pc, #120] ; (803caf4 ) 803ca7c: 00ab lsls r3, r5, #2 803ca7e: 4423 add r3, r4 803ca80: 3396 adds r3, #150 ; 0x96 803ca82: 009b lsls r3, r3, #2 803ca84: 4413 add r3, r2 803ca86: 3304 adds r3, #4 803ca88: edd3 7a00 vldr s15, [r3] 803ca8c: ed9f 7a1a vldr s14, [pc, #104] ; 803caf8 803ca90: ee67 7a87 vmul.f32 s15, s15, s14 803ca94: 4a17 ldr r2, [pc, #92] ; (803caf4 ) 803ca96: 0083 lsls r3, r0, #2 803ca98: 440b add r3, r1 803ca9a: 3396 adds r3, #150 ; 0x96 803ca9c: 009b lsls r3, r3, #2 803ca9e: 4413 add r3, r2 803caa0: 3304 adds r3, #4 803caa2: edc3 7a00 vstr s15, [r3] pardata.DIAGN_HP[CURR_POINT][CURR_USL] += 0.0001f; 803caa6: 4b11 ldr r3, [pc, #68] ; (803caec ) 803caa8: 781b ldrb r3, [r3, #0] 803caaa: b2da uxtb r2, r3 803caac: 4610 mov r0, r2 803caae: 4b10 ldr r3, [pc, #64] ; (803caf0 ) 803cab0: 781b ldrb r3, [r3, #0] 803cab2: b2db uxtb r3, r3 803cab4: 4619 mov r1, r3 803cab6: 4615 mov r5, r2 803cab8: 461c mov r4, r3 803caba: 4a0e ldr r2, [pc, #56] ; (803caf4 ) 803cabc: 00ab lsls r3, r5, #2 803cabe: 4423 add r3, r4 803cac0: 3396 adds r3, #150 ; 0x96 803cac2: 009b lsls r3, r3, #2 803cac4: 4413 add r3, r2 803cac6: 3304 adds r3, #4 803cac8: edd3 7a00 vldr s15, [r3] 803cacc: ed9f 7a0b vldr s14, [pc, #44] ; 803cafc 803cad0: ee77 7a87 vadd.f32 s15, s15, s14 803cad4: 4a07 ldr r2, [pc, #28] ; (803caf4 ) 803cad6: 0083 lsls r3, r0, #2 803cad8: 440b add r3, r1 803cada: 3396 adds r3, #150 ; 0x96 803cadc: 009b lsls r3, r3, #2 803cade: 4413 add r3, r2 803cae0: 3304 adds r3, #4 803cae2: edc3 7a00 vstr s15, [r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 803cae6: f000 be1a b.w 803d71e 803caea: bf00 nop 803caec: 20021011 .word 0x20021011 803caf0: 20021013 .word 0x20021013 803caf4: 20023e60 .word 0x20023e60 803caf8: 3dcccccd .word 0x3dcccccd 803cafc: 38d1b717 .word 0x38d1b717 if((menupos >= DiagLP_IDT) && (menupos <= DiagLP_IKD)) 803cb00: 4bba ldr r3, [pc, #744] ; (803cdec ) 803cb02: 781b ldrb r3, [r3, #0] 803cb04: b2db uxtb r3, r3 803cb06: 2b12 cmp r3, #18 803cb08: f240 827e bls.w 803d008 803cb0c: 4bb7 ldr r3, [pc, #732] ; (803cdec ) 803cb0e: 781b ldrb r3, [r3, #0] 803cb10: b2db uxtb r3, r3 803cb12: 2b18 cmp r3, #24 803cb14: f200 8278 bhi.w 803d008 k = (uint32_t) (pardata.DIAGN_LP[CURR_POINT][CURR_USL] * 10.0f); 803cb18: 4bb5 ldr r3, [pc, #724] ; (803cdf0 ) 803cb1a: 781b ldrb r3, [r3, #0] 803cb1c: b2db uxtb r3, r3 803cb1e: 4618 mov r0, r3 803cb20: 4bb4 ldr r3, [pc, #720] ; (803cdf4 ) 803cb22: 781b ldrb r3, [r3, #0] 803cb24: b2db uxtb r3, r3 803cb26: 4619 mov r1, r3 803cb28: 4ab3 ldr r2, [pc, #716] ; (803cdf8 ) 803cb2a: 0083 lsls r3, r0, #2 803cb2c: 440b add r3, r1 803cb2e: 33b6 adds r3, #182 ; 0xb6 803cb30: 009b lsls r3, r3, #2 803cb32: 4413 add r3, r2 803cb34: 3304 adds r3, #4 803cb36: edd3 7a00 vldr s15, [r3] 803cb3a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803cb3e: ee67 7a87 vmul.f32 s15, s15, s14 803cb42: eefc 7ae7 vcvt.u32.f32 s15, s15 803cb46: ee17 3a90 vmov r3, s15 803cb4a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803cb4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cb52: 095b lsrs r3, r3, #5 803cb54: 4aa9 ldr r2, [pc, #676] ; (803cdfc ) 803cb56: fba2 2303 umull r2, r3, r2, r3 803cb5a: 09db lsrs r3, r3, #7 803cb5c: b2db uxtb r3, r3 803cb5e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803cb62: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cb66: 0953 lsrs r3, r2, #5 803cb68: 49a4 ldr r1, [pc, #656] ; (803cdfc ) 803cb6a: fba1 1303 umull r1, r3, r1, r3 803cb6e: 09db lsrs r3, r3, #7 803cb70: 49a3 ldr r1, [pc, #652] ; (803ce00 ) 803cb72: fb01 f303 mul.w r3, r1, r3 803cb76: 1ad3 subs r3, r2, r3 803cb78: 4aa2 ldr r2, [pc, #648] ; (803ce04 ) 803cb7a: fba2 2303 umull r2, r3, r2, r3 803cb7e: 0b5b lsrs r3, r3, #13 803cb80: b2db uxtb r3, r3 803cb82: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803cb86: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cb8a: 0953 lsrs r3, r2, #5 803cb8c: 499b ldr r1, [pc, #620] ; (803cdfc ) 803cb8e: fba1 1303 umull r1, r3, r1, r3 803cb92: 09db lsrs r3, r3, #7 803cb94: 499a ldr r1, [pc, #616] ; (803ce00 ) 803cb96: fb01 f303 mul.w r3, r1, r3 803cb9a: 1ad3 subs r3, r2, r3 803cb9c: 4a99 ldr r2, [pc, #612] ; (803ce04 ) 803cb9e: fba2 1203 umull r1, r2, r2, r3 803cba2: 0b52 lsrs r2, r2, #13 803cba4: f242 7110 movw r1, #10000 ; 0x2710 803cba8: fb01 f202 mul.w r2, r1, r2 803cbac: 1a9a subs r2, r3, r2 803cbae: 4b96 ldr r3, [pc, #600] ; (803ce08 ) 803cbb0: fba3 2302 umull r2, r3, r3, r2 803cbb4: 099b lsrs r3, r3, #6 803cbb6: b2db uxtb r3, r3 803cbb8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803cbbc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cbc0: 095a lsrs r2, r3, #5 803cbc2: 498e ldr r1, [pc, #568] ; (803cdfc ) 803cbc4: fba1 1202 umull r1, r2, r1, r2 803cbc8: 09d2 lsrs r2, r2, #7 803cbca: 498d ldr r1, [pc, #564] ; (803ce00 ) 803cbcc: fb01 f202 mul.w r2, r1, r2 803cbd0: 1a9a subs r2, r3, r2 803cbd2: 4b8c ldr r3, [pc, #560] ; (803ce04 ) 803cbd4: fba3 1302 umull r1, r3, r3, r2 803cbd8: 0b5b lsrs r3, r3, #13 803cbda: f242 7110 movw r1, #10000 ; 0x2710 803cbde: fb01 f303 mul.w r3, r1, r3 803cbe2: 1ad3 subs r3, r2, r3 803cbe4: 4a88 ldr r2, [pc, #544] ; (803ce08 ) 803cbe6: fba2 1203 umull r1, r2, r2, r3 803cbea: 0992 lsrs r2, r2, #6 803cbec: f44f 717a mov.w r1, #1000 ; 0x3e8 803cbf0: fb01 f202 mul.w r2, r1, r2 803cbf4: 1a9a subs r2, r3, r2 803cbf6: 4b85 ldr r3, [pc, #532] ; (803ce0c ) 803cbf8: fba3 2302 umull r2, r3, r3, r2 803cbfc: 095b lsrs r3, r3, #5 803cbfe: b2db uxtb r3, r3 803cc00: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803cc04: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cc08: 0953 lsrs r3, r2, #5 803cc0a: 497c ldr r1, [pc, #496] ; (803cdfc ) 803cc0c: fba1 1303 umull r1, r3, r1, r3 803cc10: 09db lsrs r3, r3, #7 803cc12: 497b ldr r1, [pc, #492] ; (803ce00 ) 803cc14: fb01 f303 mul.w r3, r1, r3 803cc18: 1ad3 subs r3, r2, r3 803cc1a: 4a7a ldr r2, [pc, #488] ; (803ce04 ) 803cc1c: fba2 1203 umull r1, r2, r2, r3 803cc20: 0b52 lsrs r2, r2, #13 803cc22: f242 7110 movw r1, #10000 ; 0x2710 803cc26: fb01 f202 mul.w r2, r1, r2 803cc2a: 1a9a subs r2, r3, r2 803cc2c: 4b76 ldr r3, [pc, #472] ; (803ce08 ) 803cc2e: fba3 1302 umull r1, r3, r3, r2 803cc32: 099b lsrs r3, r3, #6 803cc34: f44f 717a mov.w r1, #1000 ; 0x3e8 803cc38: fb01 f303 mul.w r3, r1, r3 803cc3c: 1ad3 subs r3, r2, r3 803cc3e: 4a73 ldr r2, [pc, #460] ; (803ce0c ) 803cc40: fba2 1203 umull r1, r2, r2, r3 803cc44: 0952 lsrs r2, r2, #5 803cc46: 2164 movs r1, #100 ; 0x64 803cc48: fb01 f202 mul.w r2, r1, r2 803cc4c: 1a9a subs r2, r3, r2 803cc4e: 4b70 ldr r3, [pc, #448] ; (803ce10 ) 803cc50: fba3 2302 umull r2, r3, r3, r2 803cc54: 08db lsrs r3, r3, #3 803cc56: b2db uxtb r3, r3 803cc58: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803cc5c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cc60: 0953 lsrs r3, r2, #5 803cc62: 4966 ldr r1, [pc, #408] ; (803cdfc ) 803cc64: fba1 1303 umull r1, r3, r1, r3 803cc68: 09db lsrs r3, r3, #7 803cc6a: 4965 ldr r1, [pc, #404] ; (803ce00 ) 803cc6c: fb01 f303 mul.w r3, r1, r3 803cc70: 1ad3 subs r3, r2, r3 803cc72: 4a64 ldr r2, [pc, #400] ; (803ce04 ) 803cc74: fba2 1203 umull r1, r2, r2, r3 803cc78: 0b52 lsrs r2, r2, #13 803cc7a: f242 7110 movw r1, #10000 ; 0x2710 803cc7e: fb01 f202 mul.w r2, r1, r2 803cc82: 1a9a subs r2, r3, r2 803cc84: 4b60 ldr r3, [pc, #384] ; (803ce08 ) 803cc86: fba3 1302 umull r1, r3, r3, r2 803cc8a: 099b lsrs r3, r3, #6 803cc8c: f44f 717a mov.w r1, #1000 ; 0x3e8 803cc90: fb01 f303 mul.w r3, r1, r3 803cc94: 1ad3 subs r3, r2, r3 803cc96: 4a5d ldr r2, [pc, #372] ; (803ce0c ) 803cc98: fba2 1203 umull r1, r2, r2, r3 803cc9c: 0952 lsrs r2, r2, #5 803cc9e: 2164 movs r1, #100 ; 0x64 803cca0: fb01 f202 mul.w r2, r1, r2 803cca4: 1a9a subs r2, r3, r2 803cca6: 4b5a ldr r3, [pc, #360] ; (803ce10 ) 803cca8: fba3 1302 umull r1, r3, r3, r2 803ccac: 08d9 lsrs r1, r3, #3 803ccae: 460b mov r3, r1 803ccb0: 009b lsls r3, r3, #2 803ccb2: 440b add r3, r1 803ccb4: 005b lsls r3, r3, #1 803ccb6: 1ad1 subs r1, r2, r3 803ccb8: b2cb uxtb r3, r1 803ccba: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803ccbe: 4b4b ldr r3, [pc, #300] ; (803cdec ) 803ccc0: 781b ldrb r3, [r3, #0] 803ccc2: b2db uxtb r3, r3 803ccc4: 3b13 subs r3, #19 803ccc6: 2b05 cmp r3, #5 803ccc8: d85c bhi.n 803cd84 803ccca: a201 add r2, pc, #4 ; (adr r2, 803ccd0 ) 803cccc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ccd0: 0803cce9 .word 0x0803cce9 803ccd4: 0803cd01 .word 0x0803cd01 803ccd8: 0803cd1b .word 0x0803cd1b 803ccdc: 0803cd33 .word 0x0803cd33 803cce0: 0803cd47 .word 0x0803cd47 803cce4: 0803cd5b .word 0x0803cd5b if(k > 100000) 803cce8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ccec: 4a44 ldr r2, [pc, #272] ; (803ce00 ) 803ccee: 4293 cmp r3, r2 803ccf0: d93d bls.n 803cd6e k -= 100000; 803ccf2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ccf6: 4b47 ldr r3, [pc, #284] ; (803ce14 ) 803ccf8: 4413 add r3, r2 803ccfa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ccfe: e036 b.n 803cd6e if(k > 10000) 803cd00: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd04: f242 7210 movw r2, #10000 ; 0x2710 803cd08: 4293 cmp r3, r2 803cd0a: d932 bls.n 803cd72 k -= 10000; 803cd0c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803cd10: 4b41 ldr r3, [pc, #260] ; (803ce18 ) 803cd12: 4413 add r3, r2 803cd14: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd18: e02b b.n 803cd72 if(k > 1000) 803cd1a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd1e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803cd22: d928 bls.n 803cd76 k -= 1000; 803cd24: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd28: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803cd2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd30: e021 b.n 803cd76 if(k > 100) 803cd32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd36: 2b64 cmp r3, #100 ; 0x64 803cd38: d91f bls.n 803cd7a k -= 100; 803cd3a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd3e: 3b64 subs r3, #100 ; 0x64 803cd40: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd44: e019 b.n 803cd7a if(k > 10) 803cd46: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd4a: 2b0a cmp r3, #10 803cd4c: d917 bls.n 803cd7e k -= 10; 803cd4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd52: 3b0a subs r3, #10 803cd54: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd58: e011 b.n 803cd7e if(k > 1) 803cd5a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd5e: 2b01 cmp r3, #1 803cd60: d90f bls.n 803cd82 k--; 803cd62: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd66: 3b01 subs r3, #1 803cd68: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803cd6c: e009 b.n 803cd82 break; 803cd6e: bf00 nop 803cd70: e008 b.n 803cd84 break; 803cd72: bf00 nop 803cd74: e006 b.n 803cd84 break; 803cd76: bf00 nop 803cd78: e004 b.n 803cd84 break; 803cd7a: bf00 nop 803cd7c: e002 b.n 803cd84 break; 803cd7e: bf00 nop 803cd80: e000 b.n 803cd84 break; 803cd82: bf00 nop fl = (float32_t) k; 803cd84: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cd88: ee07 3a90 vmov s15, r3 803cd8c: eef8 7a67 vcvt.f32.u32 s15, s15 803cd90: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803cd94: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803cd98: ed9f 7a20 vldr s14, [pc, #128] ; 803ce1c 803cd9c: ee67 7a87 vmul.f32 s15, s15, s14 803cda0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803cda4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803cda8: ed9f 7a1d vldr s14, [pc, #116] ; 803ce20 803cdac: ee77 7a87 vadd.f32 s15, s15, s14 803cdb0: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 803cdb4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803cdb8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803cdbc: eef4 7ac7 vcmpe.f32 s15, s14 803cdc0: eef1 fa10 vmrs APSR_nzcv, fpscr 803cdc4: d530 bpl.n 803ce28 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = 10.0f; 803cdc6: 4b0a ldr r3, [pc, #40] ; (803cdf0 ) 803cdc8: 781b ldrb r3, [r3, #0] 803cdca: b2db uxtb r3, r3 803cdcc: 4618 mov r0, r3 803cdce: 4b09 ldr r3, [pc, #36] ; (803cdf4 ) 803cdd0: 781b ldrb r3, [r3, #0] 803cdd2: b2db uxtb r3, r3 803cdd4: 4619 mov r1, r3 803cdd6: 4a08 ldr r2, [pc, #32] ; (803cdf8 ) 803cdd8: 0083 lsls r3, r0, #2 803cdda: 440b add r3, r1 803cddc: 33b6 adds r3, #182 ; 0xb6 803cdde: 009b lsls r3, r3, #2 803cde0: 4413 add r3, r2 803cde2: 3304 adds r3, #4 803cde4: 4a0f ldr r2, [pc, #60] ; (803ce24 ) 803cde6: 601a str r2, [r3, #0] if(fl < 10.0f) 803cde8: f000 bc99 b.w 803d71e 803cdec: 20020070 .word 0x20020070 803cdf0: 20021011 .word 0x20021011 803cdf4: 20021013 .word 0x20021013 803cdf8: 20023e60 .word 0x20023e60 803cdfc: 0a7c5ac5 .word 0x0a7c5ac5 803ce00: 000186a0 .word 0x000186a0 803ce04: d1b71759 .word 0xd1b71759 803ce08: 10624dd3 .word 0x10624dd3 803ce0c: 51eb851f .word 0x51eb851f 803ce10: cccccccd .word 0xcccccccd 803ce14: fffe7960 .word 0xfffe7960 803ce18: ffffd8f0 .word 0xffffd8f0 803ce1c: 3dcccccd .word 0x3dcccccd 803ce20: 38d1b717 .word 0x38d1b717 803ce24: 41200000 .word 0x41200000 if(pardata.DIAGN_LP[CURR_POINT][CURR_USL] < pardata.DIAGN_HP[CURR_POINT][CURR_USL]) 803ce28: 4b6f ldr r3, [pc, #444] ; (803cfe8 ) 803ce2a: 781b ldrb r3, [r3, #0] 803ce2c: b2db uxtb r3, r3 803ce2e: 4618 mov r0, r3 803ce30: 4b6e ldr r3, [pc, #440] ; (803cfec ) 803ce32: 781b ldrb r3, [r3, #0] 803ce34: b2db uxtb r3, r3 803ce36: 4619 mov r1, r3 803ce38: 4a6d ldr r2, [pc, #436] ; (803cff0 ) 803ce3a: 0083 lsls r3, r0, #2 803ce3c: 440b add r3, r1 803ce3e: 33b6 adds r3, #182 ; 0xb6 803ce40: 009b lsls r3, r3, #2 803ce42: 4413 add r3, r2 803ce44: 3304 adds r3, #4 803ce46: ed93 7a00 vldr s14, [r3] 803ce4a: 4b67 ldr r3, [pc, #412] ; (803cfe8 ) 803ce4c: 781b ldrb r3, [r3, #0] 803ce4e: b2db uxtb r3, r3 803ce50: 4618 mov r0, r3 803ce52: 4b66 ldr r3, [pc, #408] ; (803cfec ) 803ce54: 781b ldrb r3, [r3, #0] 803ce56: b2db uxtb r3, r3 803ce58: 4619 mov r1, r3 803ce5a: 4a65 ldr r2, [pc, #404] ; (803cff0 ) 803ce5c: 0083 lsls r3, r0, #2 803ce5e: 440b add r3, r1 803ce60: 3396 adds r3, #150 ; 0x96 803ce62: 009b lsls r3, r3, #2 803ce64: 4413 add r3, r2 803ce66: 3304 adds r3, #4 803ce68: edd3 7a00 vldr s15, [r3] 803ce6c: eeb4 7ae7 vcmpe.f32 s14, s15 803ce70: eef1 fa10 vmrs APSR_nzcv, fpscr 803ce74: d521 bpl.n 803ceba pardata.DIAGN_LP[CURR_POINT][CURR_USL] = pardata.DIAGN_HP[CURR_POINT][CURR_USL]; 803ce76: 4b5c ldr r3, [pc, #368] ; (803cfe8 ) 803ce78: 781b ldrb r3, [r3, #0] 803ce7a: b2db uxtb r3, r3 803ce7c: 461c mov r4, r3 803ce7e: 4b5b ldr r3, [pc, #364] ; (803cfec ) 803ce80: 781b ldrb r3, [r3, #0] 803ce82: b2db uxtb r3, r3 803ce84: 4618 mov r0, r3 803ce86: 4b58 ldr r3, [pc, #352] ; (803cfe8 ) 803ce88: 781b ldrb r3, [r3, #0] 803ce8a: b2db uxtb r3, r3 803ce8c: 461d mov r5, r3 803ce8e: 4b57 ldr r3, [pc, #348] ; (803cfec ) 803ce90: 781b ldrb r3, [r3, #0] 803ce92: b2db uxtb r3, r3 803ce94: 4619 mov r1, r3 803ce96: 4a56 ldr r2, [pc, #344] ; (803cff0 ) 803ce98: 00ab lsls r3, r5, #2 803ce9a: 440b add r3, r1 803ce9c: 3396 adds r3, #150 ; 0x96 803ce9e: 009b lsls r3, r3, #2 803cea0: 4413 add r3, r2 803cea2: 3304 adds r3, #4 803cea4: 681a ldr r2, [r3, #0] 803cea6: 4952 ldr r1, [pc, #328] ; (803cff0 ) 803cea8: 00a3 lsls r3, r4, #2 803ceaa: 4403 add r3, r0 803ceac: 33b6 adds r3, #182 ; 0xb6 803ceae: 009b lsls r3, r3, #2 803ceb0: 440b add r3, r1 803ceb2: 3304 adds r3, #4 803ceb4: 601a str r2, [r3, #0] if(fl < 10.0f) 803ceb6: f000 bc32 b.w 803d71e if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 803ceba: 4b4d ldr r3, [pc, #308] ; (803cff0 ) 803cebc: 7adb ldrb r3, [r3, #11] 803cebe: b2db uxtb r3, r3 803cec0: 461a mov r2, r3 803cec2: 4b4c ldr r3, [pc, #304] ; (803cff4 ) 803cec4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803cec8: ee07 3a90 vmov s15, r3 803cecc: eeb8 7a67 vcvt.f32.u32 s14, s15 803ced0: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 803ced4: eec7 7a26 vdiv.f32 s15, s14, s13 803ced8: ed9f 7a47 vldr s14, [pc, #284] ; 803cff8 803cedc: ee37 7a87 vadd.f32 s14, s15, s14 803cee0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803cee4: eeb4 7ae7 vcmpe.f32 s14, s15 803cee8: eef1 fa10 vmrs APSR_nzcv, fpscr 803ceec: d524 bpl.n 803cf38 pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 803ceee: 4b3e ldr r3, [pc, #248] ; (803cfe8 ) 803cef0: 781b ldrb r3, [r3, #0] 803cef2: b2db uxtb r3, r3 803cef4: 4618 mov r0, r3 803cef6: 4b3d ldr r3, [pc, #244] ; (803cfec ) 803cef8: 781b ldrb r3, [r3, #0] 803cefa: b2db uxtb r3, r3 803cefc: 4619 mov r1, r3 803cefe: 4b3c ldr r3, [pc, #240] ; (803cff0 ) 803cf00: 7adb ldrb r3, [r3, #11] 803cf02: b2db uxtb r3, r3 803cf04: 461a mov r2, r3 803cf06: 4b3b ldr r3, [pc, #236] ; (803cff4 ) 803cf08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 803cf0c: 4a3b ldr r2, [pc, #236] ; (803cffc ) 803cf0e: fba2 2303 umull r2, r3, r2, r3 803cf12: 089b lsrs r3, r3, #2 803cf14: ee07 3a90 vmov s15, r3 803cf18: eef8 7a67 vcvt.f32.u32 s15, s15 803cf1c: ed9f 7a38 vldr s14, [pc, #224] ; 803d000 803cf20: ee77 7a87 vadd.f32 s15, s15, s14 803cf24: 4a32 ldr r2, [pc, #200] ; (803cff0 ) 803cf26: 0083 lsls r3, r0, #2 803cf28: 440b add r3, r1 803cf2a: 33b6 adds r3, #182 ; 0xb6 803cf2c: 009b lsls r3, r3, #2 803cf2e: 4413 add r3, r2 803cf30: 3304 adds r3, #4 803cf32: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 803cf36: e3f2 b.n 803d71e pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) k; 803cf38: 4b2b ldr r3, [pc, #172] ; (803cfe8 ) 803cf3a: 781b ldrb r3, [r3, #0] 803cf3c: b2db uxtb r3, r3 803cf3e: 4618 mov r0, r3 803cf40: 4b2a ldr r3, [pc, #168] ; (803cfec ) 803cf42: 781b ldrb r3, [r3, #0] 803cf44: b2db uxtb r3, r3 803cf46: 4619 mov r1, r3 803cf48: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803cf4c: ee07 3a90 vmov s15, r3 803cf50: eef8 7a67 vcvt.f32.u32 s15, s15 803cf54: 4a26 ldr r2, [pc, #152] ; (803cff0 ) 803cf56: 0083 lsls r3, r0, #2 803cf58: 440b add r3, r1 803cf5a: 33b6 adds r3, #182 ; 0xb6 803cf5c: 009b lsls r3, r3, #2 803cf5e: 4413 add r3, r2 803cf60: 3304 adds r3, #4 803cf62: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] *= 0.1f; 803cf66: 4b20 ldr r3, [pc, #128] ; (803cfe8 ) 803cf68: 781b ldrb r3, [r3, #0] 803cf6a: b2da uxtb r2, r3 803cf6c: 4610 mov r0, r2 803cf6e: 4b1f ldr r3, [pc, #124] ; (803cfec ) 803cf70: 781b ldrb r3, [r3, #0] 803cf72: b2db uxtb r3, r3 803cf74: 4619 mov r1, r3 803cf76: 4615 mov r5, r2 803cf78: 461c mov r4, r3 803cf7a: 4a1d ldr r2, [pc, #116] ; (803cff0 ) 803cf7c: 00ab lsls r3, r5, #2 803cf7e: 4423 add r3, r4 803cf80: 33b6 adds r3, #182 ; 0xb6 803cf82: 009b lsls r3, r3, #2 803cf84: 4413 add r3, r2 803cf86: 3304 adds r3, #4 803cf88: edd3 7a00 vldr s15, [r3] 803cf8c: ed9f 7a1d vldr s14, [pc, #116] ; 803d004 803cf90: ee67 7a87 vmul.f32 s15, s15, s14 803cf94: 4a16 ldr r2, [pc, #88] ; (803cff0 ) 803cf96: 0083 lsls r3, r0, #2 803cf98: 440b add r3, r1 803cf9a: 33b6 adds r3, #182 ; 0xb6 803cf9c: 009b lsls r3, r3, #2 803cf9e: 4413 add r3, r2 803cfa0: 3304 adds r3, #4 803cfa2: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001f; 803cfa6: 4b10 ldr r3, [pc, #64] ; (803cfe8 ) 803cfa8: 781b ldrb r3, [r3, #0] 803cfaa: b2da uxtb r2, r3 803cfac: 4610 mov r0, r2 803cfae: 4b0f ldr r3, [pc, #60] ; (803cfec ) 803cfb0: 781b ldrb r3, [r3, #0] 803cfb2: b2db uxtb r3, r3 803cfb4: 4619 mov r1, r3 803cfb6: 4615 mov r5, r2 803cfb8: 461c mov r4, r3 803cfba: 4a0d ldr r2, [pc, #52] ; (803cff0 ) 803cfbc: 00ab lsls r3, r5, #2 803cfbe: 4423 add r3, r4 803cfc0: 33b6 adds r3, #182 ; 0xb6 803cfc2: 009b lsls r3, r3, #2 803cfc4: 4413 add r3, r2 803cfc6: 3304 adds r3, #4 803cfc8: edd3 7a00 vldr s15, [r3] 803cfcc: ed9f 7a0c vldr s14, [pc, #48] ; 803d000 803cfd0: ee77 7a87 vadd.f32 s15, s15, s14 803cfd4: 4a06 ldr r2, [pc, #24] ; (803cff0 ) 803cfd6: 0083 lsls r3, r0, #2 803cfd8: 440b add r3, r1 803cfda: 33b6 adds r3, #182 ; 0xb6 803cfdc: 009b lsls r3, r3, #2 803cfde: 4413 add r3, r2 803cfe0: 3304 adds r3, #4 803cfe2: edc3 7a00 vstr s15, [r3] if(fl < 10.0f) 803cfe6: e39a b.n 803d71e 803cfe8: 20021011 .word 0x20021011 803cfec: 20021013 .word 0x20021013 803cff0: 20023e60 .word 0x20023e60 803cff4: 080ee8c8 .word 0x080ee8c8 803cff8: 3851b717 .word 0x3851b717 803cffc: cccccccd .word 0xcccccccd 803d000: 38d1b717 .word 0x38d1b717 803d004: 3dcccccd .word 0x3dcccccd if((menupos >= DiagW_IDT) && (menupos <= DiagW_IKD)) 803d008: 4ba0 ldr r3, [pc, #640] ; (803d28c ) 803d00a: 781b ldrb r3, [r3, #0] 803d00c: b2db uxtb r3, r3 803d00e: 2b18 cmp r3, #24 803d010: f240 81bc bls.w 803d38c 803d014: 4b9d ldr r3, [pc, #628] ; (803d28c ) 803d016: 781b ldrb r3, [r3, #0] 803d018: b2db uxtb r3, r3 803d01a: 2b1e cmp r3, #30 803d01c: f200 81b6 bhi.w 803d38c k = (uint32_t) (pardata.DIAGN_W[CURR_POINT][CURR_USL] * 10.0f); 803d020: 4b9b ldr r3, [pc, #620] ; (803d290 ) 803d022: 781b ldrb r3, [r3, #0] 803d024: b2db uxtb r3, r3 803d026: 4618 mov r0, r3 803d028: 4b9a ldr r3, [pc, #616] ; (803d294 ) 803d02a: 781b ldrb r3, [r3, #0] 803d02c: b2db uxtb r3, r3 803d02e: 4619 mov r1, r3 803d030: 4a99 ldr r2, [pc, #612] ; (803d298 ) 803d032: 0083 lsls r3, r0, #2 803d034: 440b add r3, r1 803d036: 33d6 adds r3, #214 ; 0xd6 803d038: 009b lsls r3, r3, #2 803d03a: 4413 add r3, r2 803d03c: 3304 adds r3, #4 803d03e: edd3 7a00 vldr s15, [r3] 803d042: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803d046: ee67 7a87 vmul.f32 s15, s15, s14 803d04a: eefc 7ae7 vcvt.u32.f32 s15, s15 803d04e: ee17 3a90 vmov r3, s15 803d052: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803d056: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d05a: 095b lsrs r3, r3, #5 803d05c: 4a8f ldr r2, [pc, #572] ; (803d29c ) 803d05e: fba2 2303 umull r2, r3, r2, r3 803d062: 09db lsrs r3, r3, #7 803d064: b2db uxtb r3, r3 803d066: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803d06a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d06e: 0953 lsrs r3, r2, #5 803d070: 498a ldr r1, [pc, #552] ; (803d29c ) 803d072: fba1 1303 umull r1, r3, r1, r3 803d076: 09db lsrs r3, r3, #7 803d078: 4989 ldr r1, [pc, #548] ; (803d2a0 ) 803d07a: fb01 f303 mul.w r3, r1, r3 803d07e: 1ad3 subs r3, r2, r3 803d080: 4a88 ldr r2, [pc, #544] ; (803d2a4 ) 803d082: fba2 2303 umull r2, r3, r2, r3 803d086: 0b5b lsrs r3, r3, #13 803d088: b2db uxtb r3, r3 803d08a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803d08e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d092: 0953 lsrs r3, r2, #5 803d094: 4981 ldr r1, [pc, #516] ; (803d29c ) 803d096: fba1 1303 umull r1, r3, r1, r3 803d09a: 09db lsrs r3, r3, #7 803d09c: 4980 ldr r1, [pc, #512] ; (803d2a0 ) 803d09e: fb01 f303 mul.w r3, r1, r3 803d0a2: 1ad3 subs r3, r2, r3 803d0a4: 4a7f ldr r2, [pc, #508] ; (803d2a4 ) 803d0a6: fba2 1203 umull r1, r2, r2, r3 803d0aa: 0b52 lsrs r2, r2, #13 803d0ac: f242 7110 movw r1, #10000 ; 0x2710 803d0b0: fb01 f202 mul.w r2, r1, r2 803d0b4: 1a9a subs r2, r3, r2 803d0b6: 4b7c ldr r3, [pc, #496] ; (803d2a8 ) 803d0b8: fba3 2302 umull r2, r3, r3, r2 803d0bc: 099b lsrs r3, r3, #6 803d0be: b2db uxtb r3, r3 803d0c0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803d0c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d0c8: 095a lsrs r2, r3, #5 803d0ca: 4974 ldr r1, [pc, #464] ; (803d29c ) 803d0cc: fba1 1202 umull r1, r2, r1, r2 803d0d0: 09d2 lsrs r2, r2, #7 803d0d2: 4973 ldr r1, [pc, #460] ; (803d2a0 ) 803d0d4: fb01 f202 mul.w r2, r1, r2 803d0d8: 1a9a subs r2, r3, r2 803d0da: 4b72 ldr r3, [pc, #456] ; (803d2a4 ) 803d0dc: fba3 1302 umull r1, r3, r3, r2 803d0e0: 0b5b lsrs r3, r3, #13 803d0e2: f242 7110 movw r1, #10000 ; 0x2710 803d0e6: fb01 f303 mul.w r3, r1, r3 803d0ea: 1ad3 subs r3, r2, r3 803d0ec: 4a6e ldr r2, [pc, #440] ; (803d2a8 ) 803d0ee: fba2 1203 umull r1, r2, r2, r3 803d0f2: 0992 lsrs r2, r2, #6 803d0f4: f44f 717a mov.w r1, #1000 ; 0x3e8 803d0f8: fb01 f202 mul.w r2, r1, r2 803d0fc: 1a9a subs r2, r3, r2 803d0fe: 4b6b ldr r3, [pc, #428] ; (803d2ac ) 803d100: fba3 2302 umull r2, r3, r3, r2 803d104: 095b lsrs r3, r3, #5 803d106: b2db uxtb r3, r3 803d108: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803d10c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d110: 0953 lsrs r3, r2, #5 803d112: 4962 ldr r1, [pc, #392] ; (803d29c ) 803d114: fba1 1303 umull r1, r3, r1, r3 803d118: 09db lsrs r3, r3, #7 803d11a: 4961 ldr r1, [pc, #388] ; (803d2a0 ) 803d11c: fb01 f303 mul.w r3, r1, r3 803d120: 1ad3 subs r3, r2, r3 803d122: 4a60 ldr r2, [pc, #384] ; (803d2a4 ) 803d124: fba2 1203 umull r1, r2, r2, r3 803d128: 0b52 lsrs r2, r2, #13 803d12a: f242 7110 movw r1, #10000 ; 0x2710 803d12e: fb01 f202 mul.w r2, r1, r2 803d132: 1a9a subs r2, r3, r2 803d134: 4b5c ldr r3, [pc, #368] ; (803d2a8 ) 803d136: fba3 1302 umull r1, r3, r3, r2 803d13a: 099b lsrs r3, r3, #6 803d13c: f44f 717a mov.w r1, #1000 ; 0x3e8 803d140: fb01 f303 mul.w r3, r1, r3 803d144: 1ad3 subs r3, r2, r3 803d146: 4a59 ldr r2, [pc, #356] ; (803d2ac ) 803d148: fba2 1203 umull r1, r2, r2, r3 803d14c: 0952 lsrs r2, r2, #5 803d14e: 2164 movs r1, #100 ; 0x64 803d150: fb01 f202 mul.w r2, r1, r2 803d154: 1a9a subs r2, r3, r2 803d156: 4b56 ldr r3, [pc, #344] ; (803d2b0 ) 803d158: fba3 2302 umull r2, r3, r3, r2 803d15c: 08db lsrs r3, r3, #3 803d15e: b2db uxtb r3, r3 803d160: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803d164: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d168: 0953 lsrs r3, r2, #5 803d16a: 494c ldr r1, [pc, #304] ; (803d29c ) 803d16c: fba1 1303 umull r1, r3, r1, r3 803d170: 09db lsrs r3, r3, #7 803d172: 494b ldr r1, [pc, #300] ; (803d2a0 ) 803d174: fb01 f303 mul.w r3, r1, r3 803d178: 1ad3 subs r3, r2, r3 803d17a: 4a4a ldr r2, [pc, #296] ; (803d2a4 ) 803d17c: fba2 1203 umull r1, r2, r2, r3 803d180: 0b52 lsrs r2, r2, #13 803d182: f242 7110 movw r1, #10000 ; 0x2710 803d186: fb01 f202 mul.w r2, r1, r2 803d18a: 1a9a subs r2, r3, r2 803d18c: 4b46 ldr r3, [pc, #280] ; (803d2a8 ) 803d18e: fba3 1302 umull r1, r3, r3, r2 803d192: 099b lsrs r3, r3, #6 803d194: f44f 717a mov.w r1, #1000 ; 0x3e8 803d198: fb01 f303 mul.w r3, r1, r3 803d19c: 1ad3 subs r3, r2, r3 803d19e: 4a43 ldr r2, [pc, #268] ; (803d2ac ) 803d1a0: fba2 1203 umull r1, r2, r2, r3 803d1a4: 0952 lsrs r2, r2, #5 803d1a6: 2164 movs r1, #100 ; 0x64 803d1a8: fb01 f202 mul.w r2, r1, r2 803d1ac: 1a9a subs r2, r3, r2 803d1ae: 4b40 ldr r3, [pc, #256] ; (803d2b0 ) 803d1b0: fba3 1302 umull r1, r3, r3, r2 803d1b4: 08d9 lsrs r1, r3, #3 803d1b6: 460b mov r3, r1 803d1b8: 009b lsls r3, r3, #2 803d1ba: 440b add r3, r1 803d1bc: 005b lsls r3, r3, #1 803d1be: 1ad1 subs r1, r2, r3 803d1c0: b2cb uxtb r3, r1 803d1c2: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803d1c6: 4b31 ldr r3, [pc, #196] ; (803d28c ) 803d1c8: 781b ldrb r3, [r3, #0] 803d1ca: b2db uxtb r3, r3 803d1cc: 3b19 subs r3, #25 803d1ce: 2b05 cmp r3, #5 803d1d0: d875 bhi.n 803d2be 803d1d2: a201 add r2, pc, #4 ; (adr r2, 803d1d8 ) 803d1d4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803d1d8: 0803d1f1 .word 0x0803d1f1 803d1dc: 0803d209 .word 0x0803d209 803d1e0: 0803d223 .word 0x0803d223 803d1e4: 0803d23b .word 0x0803d23b 803d1e8: 0803d24f .word 0x0803d24f 803d1ec: 0803d263 .word 0x0803d263 if(k > 100000) 803d1f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d1f4: 4a2a ldr r2, [pc, #168] ; (803d2a0 ) 803d1f6: 4293 cmp r3, r2 803d1f8: d93d bls.n 803d276 k -= 100000; 803d1fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d1fe: 4b2d ldr r3, [pc, #180] ; (803d2b4 ) 803d200: 4413 add r3, r2 803d202: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d206: e036 b.n 803d276 if(k > 10000) 803d208: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d20c: f242 7210 movw r2, #10000 ; 0x2710 803d210: 4293 cmp r3, r2 803d212: d932 bls.n 803d27a k -= 10000; 803d214: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d218: 4b27 ldr r3, [pc, #156] ; (803d2b8 ) 803d21a: 4413 add r3, r2 803d21c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d220: e02b b.n 803d27a if(k > 1000) 803d222: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d226: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803d22a: d928 bls.n 803d27e k -= 1000; 803d22c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d230: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803d234: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d238: e021 b.n 803d27e if(k > 100) 803d23a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d23e: 2b64 cmp r3, #100 ; 0x64 803d240: d91f bls.n 803d282 k -= 100; 803d242: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d246: 3b64 subs r3, #100 ; 0x64 803d248: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d24c: e019 b.n 803d282 if(k > 10) 803d24e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d252: 2b0a cmp r3, #10 803d254: d917 bls.n 803d286 k -= 10; 803d256: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d25a: 3b0a subs r3, #10 803d25c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d260: e011 b.n 803d286 if(k > 1) 803d262: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d266: 2b01 cmp r3, #1 803d268: d928 bls.n 803d2bc k--; 803d26a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d26e: 3b01 subs r3, #1 803d270: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d274: e022 b.n 803d2bc break; 803d276: bf00 nop 803d278: e021 b.n 803d2be break; 803d27a: bf00 nop 803d27c: e01f b.n 803d2be break; 803d27e: bf00 nop 803d280: e01d b.n 803d2be break; 803d282: bf00 nop 803d284: e01b b.n 803d2be break; 803d286: bf00 nop 803d288: e019 b.n 803d2be 803d28a: bf00 nop 803d28c: 20020070 .word 0x20020070 803d290: 20021011 .word 0x20021011 803d294: 20021013 .word 0x20021013 803d298: 20023e60 .word 0x20023e60 803d29c: 0a7c5ac5 .word 0x0a7c5ac5 803d2a0: 000186a0 .word 0x000186a0 803d2a4: d1b71759 .word 0xd1b71759 803d2a8: 10624dd3 .word 0x10624dd3 803d2ac: 51eb851f .word 0x51eb851f 803d2b0: cccccccd .word 0xcccccccd 803d2b4: fffe7960 .word 0xfffe7960 803d2b8: ffffd8f0 .word 0xffffd8f0 break; 803d2bc: bf00 nop if(k > 999999) k = 999999; 803d2be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d2c2: 4ad1 ldr r2, [pc, #836] ; (803d608 ) 803d2c4: 4293 cmp r3, r2 803d2c6: d902 bls.n 803d2ce 803d2c8: 4bcf ldr r3, [pc, #828] ; (803d608 ) 803d2ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803d2ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d2d2: 2b00 cmp r3, #0 803d2d4: d102 bne.n 803d2dc 803d2d6: 2301 movs r3, #1 803d2d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_W[CURR_POINT][CURR_USL] = (float32_t) k; 803d2dc: 4bcb ldr r3, [pc, #812] ; (803d60c ) 803d2de: 781b ldrb r3, [r3, #0] 803d2e0: b2db uxtb r3, r3 803d2e2: 4618 mov r0, r3 803d2e4: 4bca ldr r3, [pc, #808] ; (803d610 ) 803d2e6: 781b ldrb r3, [r3, #0] 803d2e8: b2db uxtb r3, r3 803d2ea: 4619 mov r1, r3 803d2ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d2f0: ee07 3a90 vmov s15, r3 803d2f4: eef8 7a67 vcvt.f32.u32 s15, s15 803d2f8: 4ac6 ldr r2, [pc, #792] ; (803d614 ) 803d2fa: 0083 lsls r3, r0, #2 803d2fc: 440b add r3, r1 803d2fe: 33d6 adds r3, #214 ; 0xd6 803d300: 009b lsls r3, r3, #2 803d302: 4413 add r3, r2 803d304: 3304 adds r3, #4 803d306: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] *= 0.1f; 803d30a: 4bc0 ldr r3, [pc, #768] ; (803d60c ) 803d30c: 781b ldrb r3, [r3, #0] 803d30e: b2da uxtb r2, r3 803d310: 4610 mov r0, r2 803d312: 4bbf ldr r3, [pc, #764] ; (803d610 ) 803d314: 781b ldrb r3, [r3, #0] 803d316: b2db uxtb r3, r3 803d318: 4619 mov r1, r3 803d31a: 4615 mov r5, r2 803d31c: 461c mov r4, r3 803d31e: 4abd ldr r2, [pc, #756] ; (803d614 ) 803d320: 00ab lsls r3, r5, #2 803d322: 4423 add r3, r4 803d324: 33d6 adds r3, #214 ; 0xd6 803d326: 009b lsls r3, r3, #2 803d328: 4413 add r3, r2 803d32a: 3304 adds r3, #4 803d32c: edd3 7a00 vldr s15, [r3] 803d330: ed9f 7ab9 vldr s14, [pc, #740] ; 803d618 803d334: ee67 7a87 vmul.f32 s15, s15, s14 803d338: 4ab6 ldr r2, [pc, #728] ; (803d614 ) 803d33a: 0083 lsls r3, r0, #2 803d33c: 440b add r3, r1 803d33e: 33d6 adds r3, #214 ; 0xd6 803d340: 009b lsls r3, r3, #2 803d342: 4413 add r3, r2 803d344: 3304 adds r3, #4 803d346: edc3 7a00 vstr s15, [r3] pardata.DIAGN_W[CURR_POINT][CURR_USL] += 0.05f; 803d34a: 4bb0 ldr r3, [pc, #704] ; (803d60c ) 803d34c: 781b ldrb r3, [r3, #0] 803d34e: b2da uxtb r2, r3 803d350: 4610 mov r0, r2 803d352: 4baf ldr r3, [pc, #700] ; (803d610 ) 803d354: 781b ldrb r3, [r3, #0] 803d356: b2db uxtb r3, r3 803d358: 4619 mov r1, r3 803d35a: 4615 mov r5, r2 803d35c: 461c mov r4, r3 803d35e: 4aad ldr r2, [pc, #692] ; (803d614 ) 803d360: 00ab lsls r3, r5, #2 803d362: 4423 add r3, r4 803d364: 33d6 adds r3, #214 ; 0xd6 803d366: 009b lsls r3, r3, #2 803d368: 4413 add r3, r2 803d36a: 3304 adds r3, #4 803d36c: edd3 7a00 vldr s15, [r3] 803d370: ed9f 7aaa vldr s14, [pc, #680] ; 803d61c 803d374: ee77 7a87 vadd.f32 s15, s15, s14 803d378: 4aa6 ldr r2, [pc, #664] ; (803d614 ) 803d37a: 0083 lsls r3, r0, #2 803d37c: 440b add r3, r1 803d37e: 33d6 adds r3, #214 ; 0xd6 803d380: 009b lsls r3, r3, #2 803d382: 4413 add r3, r2 803d384: 3304 adds r3, #4 803d386: edc3 7a00 vstr s15, [r3] 803d38a: e1c8 b.n 803d71e if((menupos >= DiagA_IDT) && (menupos <= DiagA_IKD)) 803d38c: 4ba4 ldr r3, [pc, #656] ; (803d620 ) 803d38e: 781b ldrb r3, [r3, #0] 803d390: b2db uxtb r3, r3 803d392: 2b1e cmp r3, #30 803d394: f246 82e3 bls.w 804395e 803d398: 4ba1 ldr r3, [pc, #644] ; (803d620 ) 803d39a: 781b ldrb r3, [r3, #0] 803d39c: b2db uxtb r3, r3 803d39e: 2b24 cmp r3, #36 ; 0x24 803d3a0: f206 82dd bhi.w 804395e k = (uint32_t) (pardata.DIAGN_A[CURR_POINT][CURR_USL] * 10.0f); 803d3a4: 4b99 ldr r3, [pc, #612] ; (803d60c ) 803d3a6: 781b ldrb r3, [r3, #0] 803d3a8: b2db uxtb r3, r3 803d3aa: 4618 mov r0, r3 803d3ac: 4b98 ldr r3, [pc, #608] ; (803d610 ) 803d3ae: 781b ldrb r3, [r3, #0] 803d3b0: b2db uxtb r3, r3 803d3b2: 4619 mov r1, r3 803d3b4: 4a97 ldr r2, [pc, #604] ; (803d614 ) 803d3b6: 0083 lsls r3, r0, #2 803d3b8: 440b add r3, r1 803d3ba: 33f6 adds r3, #246 ; 0xf6 803d3bc: 009b lsls r3, r3, #2 803d3be: 4413 add r3, r2 803d3c0: 3304 adds r3, #4 803d3c2: edd3 7a00 vldr s15, [r3] 803d3c6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803d3ca: ee67 7a87 vmul.f32 s15, s15, s14 803d3ce: eefc 7ae7 vcvt.u32.f32 s15, s15 803d3d2: ee17 3a90 vmov r3, s15 803d3d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803d3da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d3de: 095b lsrs r3, r3, #5 803d3e0: 4a90 ldr r2, [pc, #576] ; (803d624 ) 803d3e2: fba2 2303 umull r2, r3, r2, r3 803d3e6: 09db lsrs r3, r3, #7 803d3e8: b2db uxtb r3, r3 803d3ea: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803d3ee: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d3f2: 0953 lsrs r3, r2, #5 803d3f4: 498b ldr r1, [pc, #556] ; (803d624 ) 803d3f6: fba1 1303 umull r1, r3, r1, r3 803d3fa: 09db lsrs r3, r3, #7 803d3fc: 498a ldr r1, [pc, #552] ; (803d628 ) 803d3fe: fb01 f303 mul.w r3, r1, r3 803d402: 1ad3 subs r3, r2, r3 803d404: 4a89 ldr r2, [pc, #548] ; (803d62c ) 803d406: fba2 2303 umull r2, r3, r2, r3 803d40a: 0b5b lsrs r3, r3, #13 803d40c: b2db uxtb r3, r3 803d40e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803d412: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d416: 0953 lsrs r3, r2, #5 803d418: 4982 ldr r1, [pc, #520] ; (803d624 ) 803d41a: fba1 1303 umull r1, r3, r1, r3 803d41e: 09db lsrs r3, r3, #7 803d420: 4981 ldr r1, [pc, #516] ; (803d628 ) 803d422: fb01 f303 mul.w r3, r1, r3 803d426: 1ad3 subs r3, r2, r3 803d428: 4a80 ldr r2, [pc, #512] ; (803d62c ) 803d42a: fba2 1203 umull r1, r2, r2, r3 803d42e: 0b52 lsrs r2, r2, #13 803d430: f242 7110 movw r1, #10000 ; 0x2710 803d434: fb01 f202 mul.w r2, r1, r2 803d438: 1a9a subs r2, r3, r2 803d43a: 4b7d ldr r3, [pc, #500] ; (803d630 ) 803d43c: fba3 2302 umull r2, r3, r3, r2 803d440: 099b lsrs r3, r3, #6 803d442: b2db uxtb r3, r3 803d444: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803d448: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d44c: 095a lsrs r2, r3, #5 803d44e: 4975 ldr r1, [pc, #468] ; (803d624 ) 803d450: fba1 1202 umull r1, r2, r1, r2 803d454: 09d2 lsrs r2, r2, #7 803d456: 4974 ldr r1, [pc, #464] ; (803d628 ) 803d458: fb01 f202 mul.w r2, r1, r2 803d45c: 1a9a subs r2, r3, r2 803d45e: 4b73 ldr r3, [pc, #460] ; (803d62c ) 803d460: fba3 1302 umull r1, r3, r3, r2 803d464: 0b5b lsrs r3, r3, #13 803d466: f242 7110 movw r1, #10000 ; 0x2710 803d46a: fb01 f303 mul.w r3, r1, r3 803d46e: 1ad3 subs r3, r2, r3 803d470: 4a6f ldr r2, [pc, #444] ; (803d630 ) 803d472: fba2 1203 umull r1, r2, r2, r3 803d476: 0992 lsrs r2, r2, #6 803d478: f44f 717a mov.w r1, #1000 ; 0x3e8 803d47c: fb01 f202 mul.w r2, r1, r2 803d480: 1a9a subs r2, r3, r2 803d482: 4b6c ldr r3, [pc, #432] ; (803d634 ) 803d484: fba3 2302 umull r2, r3, r3, r2 803d488: 095b lsrs r3, r3, #5 803d48a: b2db uxtb r3, r3 803d48c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803d490: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d494: 0953 lsrs r3, r2, #5 803d496: 4963 ldr r1, [pc, #396] ; (803d624 ) 803d498: fba1 1303 umull r1, r3, r1, r3 803d49c: 09db lsrs r3, r3, #7 803d49e: 4962 ldr r1, [pc, #392] ; (803d628 ) 803d4a0: fb01 f303 mul.w r3, r1, r3 803d4a4: 1ad3 subs r3, r2, r3 803d4a6: 4a61 ldr r2, [pc, #388] ; (803d62c ) 803d4a8: fba2 1203 umull r1, r2, r2, r3 803d4ac: 0b52 lsrs r2, r2, #13 803d4ae: f242 7110 movw r1, #10000 ; 0x2710 803d4b2: fb01 f202 mul.w r2, r1, r2 803d4b6: 1a9a subs r2, r3, r2 803d4b8: 4b5d ldr r3, [pc, #372] ; (803d630 ) 803d4ba: fba3 1302 umull r1, r3, r3, r2 803d4be: 099b lsrs r3, r3, #6 803d4c0: f44f 717a mov.w r1, #1000 ; 0x3e8 803d4c4: fb01 f303 mul.w r3, r1, r3 803d4c8: 1ad3 subs r3, r2, r3 803d4ca: 4a5a ldr r2, [pc, #360] ; (803d634 ) 803d4cc: fba2 1203 umull r1, r2, r2, r3 803d4d0: 0952 lsrs r2, r2, #5 803d4d2: 2164 movs r1, #100 ; 0x64 803d4d4: fb01 f202 mul.w r2, r1, r2 803d4d8: 1a9a subs r2, r3, r2 803d4da: 4b57 ldr r3, [pc, #348] ; (803d638 ) 803d4dc: fba3 2302 umull r2, r3, r3, r2 803d4e0: 08db lsrs r3, r3, #3 803d4e2: b2db uxtb r3, r3 803d4e4: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803d4e8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d4ec: 0953 lsrs r3, r2, #5 803d4ee: 494d ldr r1, [pc, #308] ; (803d624 ) 803d4f0: fba1 1303 umull r1, r3, r1, r3 803d4f4: 09db lsrs r3, r3, #7 803d4f6: 494c ldr r1, [pc, #304] ; (803d628 ) 803d4f8: fb01 f303 mul.w r3, r1, r3 803d4fc: 1ad3 subs r3, r2, r3 803d4fe: 4a4b ldr r2, [pc, #300] ; (803d62c ) 803d500: fba2 1203 umull r1, r2, r2, r3 803d504: 0b52 lsrs r2, r2, #13 803d506: f242 7110 movw r1, #10000 ; 0x2710 803d50a: fb01 f202 mul.w r2, r1, r2 803d50e: 1a9a subs r2, r3, r2 803d510: 4b47 ldr r3, [pc, #284] ; (803d630 ) 803d512: fba3 1302 umull r1, r3, r3, r2 803d516: 099b lsrs r3, r3, #6 803d518: f44f 717a mov.w r1, #1000 ; 0x3e8 803d51c: fb01 f303 mul.w r3, r1, r3 803d520: 1ad3 subs r3, r2, r3 803d522: 4a44 ldr r2, [pc, #272] ; (803d634 ) 803d524: fba2 1203 umull r1, r2, r2, r3 803d528: 0952 lsrs r2, r2, #5 803d52a: 2164 movs r1, #100 ; 0x64 803d52c: fb01 f202 mul.w r2, r1, r2 803d530: 1a9a subs r2, r3, r2 803d532: 4b41 ldr r3, [pc, #260] ; (803d638 ) 803d534: fba3 1302 umull r1, r3, r3, r2 803d538: 08d9 lsrs r1, r3, #3 803d53a: 460b mov r3, r1 803d53c: 009b lsls r3, r3, #2 803d53e: 440b add r3, r1 803d540: 005b lsls r3, r3, #1 803d542: 1ad1 subs r1, r2, r3 803d544: b2cb uxtb r3, r1 803d546: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803d54a: 4b35 ldr r3, [pc, #212] ; (803d620 ) 803d54c: 781b ldrb r3, [r3, #0] 803d54e: b2db uxtb r3, r3 803d550: 3b1f subs r3, #31 803d552: 2b05 cmp r3, #5 803d554: d87b bhi.n 803d64e 803d556: a201 add r2, pc, #4 ; (adr r2, 803d55c ) 803d558: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803d55c: 0803d575 .word 0x0803d575 803d560: 0803d58d .word 0x0803d58d 803d564: 0803d5a7 .word 0x0803d5a7 803d568: 0803d5bf .word 0x0803d5bf 803d56c: 0803d5d3 .word 0x0803d5d3 803d570: 0803d5e7 .word 0x0803d5e7 if(k > 100000) 803d574: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d578: 4a2b ldr r2, [pc, #172] ; (803d628 ) 803d57a: 4293 cmp r3, r2 803d57c: d93d bls.n 803d5fa k -= 100000; 803d57e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d582: 4b2e ldr r3, [pc, #184] ; (803d63c ) 803d584: 4413 add r3, r2 803d586: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d58a: e036 b.n 803d5fa if(k > 10000) 803d58c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d590: f242 7210 movw r2, #10000 ; 0x2710 803d594: 4293 cmp r3, r2 803d596: d932 bls.n 803d5fe k -= 10000; 803d598: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803d59c: 4b28 ldr r3, [pc, #160] ; (803d640 ) 803d59e: 4413 add r3, r2 803d5a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d5a4: e02b b.n 803d5fe if(k > 1000) 803d5a6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5aa: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803d5ae: d928 bls.n 803d602 k -= 1000; 803d5b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5b4: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803d5b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d5bc: e021 b.n 803d602 if(k > 100) 803d5be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5c2: 2b64 cmp r3, #100 ; 0x64 803d5c4: d93e bls.n 803d644 k -= 100; 803d5c6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5ca: 3b64 subs r3, #100 ; 0x64 803d5cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d5d0: e038 b.n 803d644 if(k > 10) 803d5d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5d6: 2b0a cmp r3, #10 803d5d8: d936 bls.n 803d648 k -= 10; 803d5da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5de: 3b0a subs r3, #10 803d5e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d5e4: e030 b.n 803d648 if(k > 1) 803d5e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5ea: 2b01 cmp r3, #1 803d5ec: d92e bls.n 803d64c k--; 803d5ee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d5f2: 3b01 subs r3, #1 803d5f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803d5f8: e028 b.n 803d64c break; 803d5fa: bf00 nop 803d5fc: e027 b.n 803d64e break; 803d5fe: bf00 nop 803d600: e025 b.n 803d64e break; 803d602: bf00 nop 803d604: e023 b.n 803d64e 803d606: bf00 nop 803d608: 000f423f .word 0x000f423f 803d60c: 20021011 .word 0x20021011 803d610: 20021013 .word 0x20021013 803d614: 20023e60 .word 0x20023e60 803d618: 3dcccccd .word 0x3dcccccd 803d61c: 3d4ccccd .word 0x3d4ccccd 803d620: 20020070 .word 0x20020070 803d624: 0a7c5ac5 .word 0x0a7c5ac5 803d628: 000186a0 .word 0x000186a0 803d62c: d1b71759 .word 0xd1b71759 803d630: 10624dd3 .word 0x10624dd3 803d634: 51eb851f .word 0x51eb851f 803d638: cccccccd .word 0xcccccccd 803d63c: fffe7960 .word 0xfffe7960 803d640: ffffd8f0 .word 0xffffd8f0 break; 803d644: bf00 nop 803d646: e002 b.n 803d64e break; 803d648: bf00 nop 803d64a: e000 b.n 803d64e break; 803d64c: bf00 nop if(k > 999999) k = 999999; 803d64e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d652: 4aae ldr r2, [pc, #696] ; (803d90c ) 803d654: 4293 cmp r3, r2 803d656: d902 bls.n 803d65e 803d658: 4bac ldr r3, [pc, #688] ; (803d90c ) 803d65a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) k = 1; 803d65e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d662: 2b00 cmp r3, #0 803d664: d102 bne.n 803d66c 803d666: 2301 movs r3, #1 803d668: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.DIAGN_A[CURR_POINT][CURR_USL] = (float32_t) k; 803d66c: 4ba8 ldr r3, [pc, #672] ; (803d910 ) 803d66e: 781b ldrb r3, [r3, #0] 803d670: b2db uxtb r3, r3 803d672: 4618 mov r0, r3 803d674: 4ba7 ldr r3, [pc, #668] ; (803d914 ) 803d676: 781b ldrb r3, [r3, #0] 803d678: b2db uxtb r3, r3 803d67a: 4619 mov r1, r3 803d67c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803d680: ee07 3a90 vmov s15, r3 803d684: eef8 7a67 vcvt.f32.u32 s15, s15 803d688: 4aa3 ldr r2, [pc, #652] ; (803d918 ) 803d68a: 0083 lsls r3, r0, #2 803d68c: 440b add r3, r1 803d68e: 33f6 adds r3, #246 ; 0xf6 803d690: 009b lsls r3, r3, #2 803d692: 4413 add r3, r2 803d694: 3304 adds r3, #4 803d696: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] *= 0.1f; 803d69a: 4b9d ldr r3, [pc, #628] ; (803d910 ) 803d69c: 781b ldrb r3, [r3, #0] 803d69e: b2da uxtb r2, r3 803d6a0: 4610 mov r0, r2 803d6a2: 4b9c ldr r3, [pc, #624] ; (803d914 ) 803d6a4: 781b ldrb r3, [r3, #0] 803d6a6: b2db uxtb r3, r3 803d6a8: 4619 mov r1, r3 803d6aa: 4615 mov r5, r2 803d6ac: 461c mov r4, r3 803d6ae: 4a9a ldr r2, [pc, #616] ; (803d918 ) 803d6b0: 00ab lsls r3, r5, #2 803d6b2: 4423 add r3, r4 803d6b4: 33f6 adds r3, #246 ; 0xf6 803d6b6: 009b lsls r3, r3, #2 803d6b8: 4413 add r3, r2 803d6ba: 3304 adds r3, #4 803d6bc: edd3 7a00 vldr s15, [r3] 803d6c0: ed9f 7a96 vldr s14, [pc, #600] ; 803d91c 803d6c4: ee67 7a87 vmul.f32 s15, s15, s14 803d6c8: 4a93 ldr r2, [pc, #588] ; (803d918 ) 803d6ca: 0083 lsls r3, r0, #2 803d6cc: 440b add r3, r1 803d6ce: 33f6 adds r3, #246 ; 0xf6 803d6d0: 009b lsls r3, r3, #2 803d6d2: 4413 add r3, r2 803d6d4: 3304 adds r3, #4 803d6d6: edc3 7a00 vstr s15, [r3] pardata.DIAGN_A[CURR_POINT][CURR_USL] += 0.05f; 803d6da: 4b8d ldr r3, [pc, #564] ; (803d910 ) 803d6dc: 781b ldrb r3, [r3, #0] 803d6de: b2da uxtb r2, r3 803d6e0: 4610 mov r0, r2 803d6e2: 4b8c ldr r3, [pc, #560] ; (803d914 ) 803d6e4: 781b ldrb r3, [r3, #0] 803d6e6: b2db uxtb r3, r3 803d6e8: 4619 mov r1, r3 803d6ea: 4615 mov r5, r2 803d6ec: 461c mov r4, r3 803d6ee: 4a8a ldr r2, [pc, #552] ; (803d918 ) 803d6f0: 00ab lsls r3, r5, #2 803d6f2: 4423 add r3, r4 803d6f4: 33f6 adds r3, #246 ; 0xf6 803d6f6: 009b lsls r3, r3, #2 803d6f8: 4413 add r3, r2 803d6fa: 3304 adds r3, #4 803d6fc: edd3 7a00 vldr s15, [r3] 803d700: ed9f 7a87 vldr s14, [pc, #540] ; 803d920 803d704: ee77 7a87 vadd.f32 s15, s15, s14 803d708: 4a83 ldr r2, [pc, #524] ; (803d918 ) 803d70a: 0083 lsls r3, r0, #2 803d70c: 440b add r3, r1 803d70e: 33f6 adds r3, #246 ; 0xf6 803d710: 009b lsls r3, r3, #2 803d712: 4413 add r3, r2 803d714: 3304 adds r3, #4 803d716: edc3 7a00 vstr s15, [r3] break; 803d71a: f006 b920 b.w 804395e 803d71e: f006 b91e b.w 804395e case ROLL_RESULTS: if(menupos < 11) menupos++; 803d722: 4b80 ldr r3, [pc, #512] ; (803d924 ) 803d724: 781b ldrb r3, [r3, #0] 803d726: b2db uxtb r3, r3 803d728: 2b0a cmp r3, #10 803d72a: d808 bhi.n 803d73e 803d72c: 4b7d ldr r3, [pc, #500] ; (803d924 ) 803d72e: 781b ldrb r3, [r3, #0] 803d730: b2db uxtb r3, r3 803d732: 3301 adds r3, #1 803d734: b2da uxtb r2, r3 803d736: 4b7b ldr r3, [pc, #492] ; (803d924 ) 803d738: 701a strb r2, [r3, #0] else menupos = 0; break; 803d73a: f006 b959 b.w 80439f0 else menupos = 0; 803d73e: 4b79 ldr r3, [pc, #484] ; (803d924 ) 803d740: 2200 movs r2, #0 803d742: 701a strb r2, [r3, #0] break; 803d744: f006 b954 b.w 80439f0 case TREND_A: menu = TREND_S; 803d748: 4b77 ldr r3, [pc, #476] ; (803d928 ) 803d74a: 2247 movs r2, #71 ; 0x47 803d74c: 701a strb r2, [r3, #0] break; 803d74e: f006 b94f b.w 80439f0 case TREND_V: menu = TREND_A; 803d752: 4b75 ldr r3, [pc, #468] ; (803d928 ) 803d754: 2245 movs r2, #69 ; 0x45 803d756: 701a strb r2, [r3, #0] break; 803d758: f006 b94a b.w 80439f0 case TREND_S: menu = TREND_V; 803d75c: 4b72 ldr r3, [pc, #456] ; (803d928 ) 803d75e: 2246 movs r2, #70 ; 0x46 803d760: 701a strb r2, [r3, #0] break; 803d762: f006 b945 b.w 80439f0 case MAIN_UDAR: if(AUTOKU) 803d766: 4b71 ldr r3, [pc, #452] ; (803d92c ) 803d768: 781b ldrb r3, [r3, #0] 803d76a: b2db uxtb r3, r3 803d76c: 2b00 cmp r3, #0 803d76e: d002 beq.n 803d776 AUTOKU = false; 803d770: 4b6e ldr r3, [pc, #440] ; (803d92c ) 803d772: 2200 movs r2, #0 803d774: 701a strb r2, [r3, #0] if(pardata.IKU > Ku8) 803d776: 4b68 ldr r3, [pc, #416] ; (803d918 ) 803d778: 7a1b ldrb r3, [r3, #8] 803d77a: b2db uxtb r3, r3 803d77c: 2b03 cmp r3, #3 803d77e: d902 bls.n 803d786 pardata.IKU = Ku8; 803d780: 4b65 ldr r3, [pc, #404] ; (803d918 ) 803d782: 2203 movs r2, #3 803d784: 721a strb r2, [r3, #8] if(pardata.IKU > Ku1) 803d786: 4b64 ldr r3, [pc, #400] ; (803d918 ) 803d788: 7a1b ldrb r3, [r3, #8] 803d78a: b2db uxtb r3, r3 803d78c: 2b00 cmp r3, #0 803d78e: d00a beq.n 803d7a6 { pardata.IKU--; 803d790: 4b61 ldr r3, [pc, #388] ; (803d918 ) 803d792: 7a1b ldrb r3, [r3, #8] 803d794: b2db uxtb r3, r3 803d796: 3b01 subs r3, #1 803d798: b2da uxtb r2, r3 803d79a: 4b5f ldr r3, [pc, #380] ; (803d918 ) 803d79c: 721a strb r2, [r3, #8] SetKU(); 803d79e: f7e4 f869 bl 8021874 } else pardata.IKU = Ku1; break; 803d7a2: f006 b925 b.w 80439f0 pardata.IKU = Ku1; 803d7a6: 4b5c ldr r3, [pc, #368] ; (803d918 ) 803d7a8: 2200 movs r2, #0 803d7aa: 721a strb r2, [r3, #8] break; 803d7ac: f006 b920 b.w 80439f0 case MAIN_DIAGN: switch(menupos) 803d7b0: 4b5c ldr r3, [pc, #368] ; (803d924 ) 803d7b2: 781b ldrb r3, [r3, #0] 803d7b4: b2db uxtb r3, r3 803d7b6: 2b03 cmp r3, #3 803d7b8: d003 beq.n 803d7c2 803d7ba: 2b04 cmp r3, #4 803d7bc: d030 beq.n 803d820 } } } break; } break; 803d7be: f006 b917 b.w 80439f0 if((!measuring) && (!ReadFromFile)) 803d7c2: 4b5b ldr r3, [pc, #364] ; (803d930 ) 803d7c4: 781b ldrb r3, [r3, #0] 803d7c6: b2db uxtb r3, r3 803d7c8: f083 0301 eor.w r3, r3, #1 803d7cc: b2db uxtb r3, r3 803d7ce: 2b00 cmp r3, #0 803d7d0: d04a beq.n 803d868 803d7d2: 4b58 ldr r3, [pc, #352] ; (803d934 ) 803d7d4: 781b ldrb r3, [r3, #0] 803d7d6: b2db uxtb r3, r3 803d7d8: f083 0301 eor.w r3, r3, #1 803d7dc: b2db uxtb r3, r3 803d7de: 2b00 cmp r3, #0 803d7e0: d042 beq.n 803d868 if(CardState == MSD_READY) 803d7e2: 4b55 ldr r3, [pc, #340] ; (803d938 ) 803d7e4: 781b ldrb r3, [r3, #0] 803d7e6: b2db uxtb r3, r3 803d7e8: 2b03 cmp r3, #3 803d7ea: d13d bne.n 803d868 if(NextIndexPoint > 0) 803d7ec: 4b53 ldr r3, [pc, #332] ; (803d93c ) 803d7ee: 681b ldr r3, [r3, #0] 803d7f0: 2b00 cmp r3, #0 803d7f2: d039 beq.n 803d868 NextIndexPoint--; 803d7f4: 4b51 ldr r3, [pc, #324] ; (803d93c ) 803d7f6: 681b ldr r3, [r3, #0] 803d7f8: 3b01 subs r3, #1 803d7fa: 4a50 ldr r2, [pc, #320] ; (803d93c ) 803d7fc: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 803d7fe: 4b4f ldr r3, [pc, #316] ; (803d93c ) 803d800: 681b ldr r3, [r3, #0] 803d802: 4a4f ldr r2, [pc, #316] ; (803d940 ) 803d804: f852 3023 ldr.w r3, [r2, r3, lsl #2] 803d808: 4a4e ldr r2, [pc, #312] ; (803d944 ) 803d80a: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 803d80c: 484e ldr r0, [pc, #312] ; (803d948 ) 803d80e: f7e9 fde5 bl 80273dc 803d812: 4603 mov r3, r0 803d814: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 803d818: 4b4c ldr r3, [pc, #304] ; (803d94c ) 803d81a: 2200 movs r2, #0 803d81c: 701a strb r2, [r3, #0] break; 803d81e: e023 b.n 803d868 if(measuring) 803d820: 4b43 ldr r3, [pc, #268] ; (803d930 ) 803d822: 781b ldrb r3, [r3, #0] 803d824: b2db uxtb r3, r3 803d826: 2b00 cmp r3, #0 803d828: d001 beq.n 803d82e StopMeas(); 803d82a: f7e5 ffb7 bl 802379c if(!ReadFromFile) 803d82e: 4b41 ldr r3, [pc, #260] ; (803d934 ) 803d830: 781b ldrb r3, [r3, #0] 803d832: b2db uxtb r3, r3 803d834: f083 0301 eor.w r3, r3, #1 803d838: b2db uxtb r3, r3 803d83a: 2b00 cmp r3, #0 803d83c: d017 beq.n 803d86e if(CardState == MSD_READY) 803d83e: 4b3e ldr r3, [pc, #248] ; (803d938 ) 803d840: 781b ldrb r3, [r3, #0] 803d842: b2db uxtb r3, r3 803d844: 2b03 cmp r3, #3 803d846: d112 bne.n 803d86e if(NextIndexMeas > 1) 803d848: 4b3e ldr r3, [pc, #248] ; (803d944 ) 803d84a: 681b ldr r3, [r3, #0] 803d84c: 2b01 cmp r3, #1 803d84e: d90e bls.n 803d86e NextIndexMeas--; 803d850: 4b3c ldr r3, [pc, #240] ; (803d944 ) 803d852: 681b ldr r3, [r3, #0] 803d854: 3b01 subs r3, #1 803d856: 4a3b ldr r2, [pc, #236] ; (803d944 ) 803d858: 6013 str r3, [r2, #0] result = ReadFileDGN(DiagFileName); 803d85a: 483b ldr r0, [pc, #236] ; (803d948 ) 803d85c: f7e9 fdbe bl 80273dc 803d860: 4603 mov r3, r0 803d862: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 break; 803d866: e002 b.n 803d86e break; 803d868: bf00 nop 803d86a: f006 b8c1 b.w 80439f0 break; 803d86e: bf00 nop break; 803d870: f006 b8be b.w 80439f0 case MAIN: case MAIN_FRAN: switch(menupos) 803d874: 4b2b ldr r3, [pc, #172] ; (803d924 ) 803d876: 781b ldrb r3, [r3, #0] 803d878: b2db uxtb r3, r3 803d87a: 2b06 cmp r3, #6 803d87c: f206 8072 bhi.w 8043964 803d880: a201 add r2, pc, #4 ; (adr r2, 803d888 ) 803d882: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803d886: bf00 nop 803d888: 0803d99d .word 0x0803d99d 803d88c: 08043965 .word 0x08043965 803d890: 0803d99d .word 0x0803d99d 803d894: 0803d8a5 .word 0x0803d8a5 803d898: 0803d955 .word 0x0803d955 803d89c: 08043965 .word 0x08043965 803d8a0: 0803d99d .word 0x0803d99d { case MyPoint: if((!measuring) && (!ReadFromFile)) 803d8a4: 4b22 ldr r3, [pc, #136] ; (803d930 ) 803d8a6: 781b ldrb r3, [r3, #0] 803d8a8: b2db uxtb r3, r3 803d8aa: f083 0301 eor.w r3, r3, #1 803d8ae: b2db uxtb r3, r3 803d8b0: 2b00 cmp r3, #0 803d8b2: f000 80b3 beq.w 803da1c 803d8b6: 4b1f ldr r3, [pc, #124] ; (803d934 ) 803d8b8: 781b ldrb r3, [r3, #0] 803d8ba: b2db uxtb r3, r3 803d8bc: f083 0301 eor.w r3, r3, #1 803d8c0: b2db uxtb r3, r3 803d8c2: 2b00 cmp r3, #0 803d8c4: f000 80aa beq.w 803da1c { if(CardState == MSD_READY) 803d8c8: 4b1b ldr r3, [pc, #108] ; (803d938 ) 803d8ca: 781b ldrb r3, [r3, #0] 803d8cc: b2db uxtb r3, r3 803d8ce: 2b03 cmp r3, #3 803d8d0: f040 80a4 bne.w 803da1c { if(NextIndexPoint > 0) 803d8d4: 4b19 ldr r3, [pc, #100] ; (803d93c ) 803d8d6: 681b ldr r3, [r3, #0] 803d8d8: 2b00 cmp r3, #0 803d8da: f000 809f beq.w 803da1c { NextIndexPoint--; 803d8de: 4b17 ldr r3, [pc, #92] ; (803d93c ) 803d8e0: 681b ldr r3, [r3, #0] 803d8e2: 3b01 subs r3, #1 803d8e4: 4a15 ldr r2, [pc, #84] ; (803d93c ) 803d8e6: 6013 str r3, [r2, #0] NextIndexMeas = IndexMeas[NextIndexPoint]; 803d8e8: 4b14 ldr r3, [pc, #80] ; (803d93c ) 803d8ea: 681b ldr r3, [r3, #0] 803d8ec: 4a14 ldr r2, [pc, #80] ; (803d940 ) 803d8ee: f852 3023 ldr.w r3, [r2, r3, lsl #2] 803d8f2: 4a14 ldr r2, [pc, #80] ; (803d944 ) 803d8f4: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 803d8f6: 4816 ldr r0, [pc, #88] ; (803d950 ) 803d8f8: f7e9 faec bl 8026ed4 803d8fc: 4603 mov r3, r0 803d8fe: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 DrawSavedData = false; 803d902: 4b12 ldr r3, [pc, #72] ; (803d94c ) 803d904: 2200 movs r2, #0 803d906: 701a strb r2, [r3, #0] } } } break; 803d908: e088 b.n 803da1c 803d90a: bf00 nop 803d90c: 000f423f .word 0x000f423f 803d910: 20021011 .word 0x20021011 803d914: 20021013 .word 0x20021013 803d918: 20023e60 .word 0x20023e60 803d91c: 3dcccccd .word 0x3dcccccd 803d920: 3d4ccccd .word 0x3d4ccccd 803d924: 20020070 .word 0x20020070 803d928: 20020f78 .word 0x20020f78 803d92c: 20020029 .word 0x20020029 803d930: 20020daf .word 0x20020daf 803d934: 20020dc9 .word 0x20020dc9 803d938: 2002164c .word 0x2002164c 803d93c: 20021f9c .word 0x20021f9c 803d940: 20022ea0 .word 0x20022ea0 803d944: 20022310 .word 0x20022310 803d948: 20020e7c .word 0x20020e7c 803d94c: 20020dca .word 0x20020dca 803d950: 20020e58 .word 0x20020e58 case MyMeasure: if(measuring) 803d954: 4baf ldr r3, [pc, #700] ; (803dc14 ) 803d956: 781b ldrb r3, [r3, #0] 803d958: b2db uxtb r3, r3 803d95a: 2b00 cmp r3, #0 803d95c: d001 beq.n 803d962 StopMeas(); 803d95e: f7e5 ff1d bl 802379c if(!ReadFromFile) 803d962: 4bad ldr r3, [pc, #692] ; (803dc18 ) 803d964: 781b ldrb r3, [r3, #0] 803d966: b2db uxtb r3, r3 803d968: f083 0301 eor.w r3, r3, #1 803d96c: b2db uxtb r3, r3 803d96e: 2b00 cmp r3, #0 803d970: d057 beq.n 803da22 { if(CardState == MSD_READY) 803d972: 4baa ldr r3, [pc, #680] ; (803dc1c ) 803d974: 781b ldrb r3, [r3, #0] 803d976: b2db uxtb r3, r3 803d978: 2b03 cmp r3, #3 803d97a: d152 bne.n 803da22 { if(NextIndexMeas > 1) 803d97c: 4ba8 ldr r3, [pc, #672] ; (803dc20 ) 803d97e: 681b ldr r3, [r3, #0] 803d980: 2b01 cmp r3, #1 803d982: d94e bls.n 803da22 { NextIndexMeas--; 803d984: 4ba6 ldr r3, [pc, #664] ; (803dc20 ) 803d986: 681b ldr r3, [r3, #0] 803d988: 3b01 subs r3, #1 803d98a: 4aa5 ldr r2, [pc, #660] ; (803dc20 ) 803d98c: 6013 str r3, [r2, #0] result = ReadFilePTM(MeasFileName); 803d98e: 48a5 ldr r0, [pc, #660] ; (803dc24 ) 803d990: f7e9 faa0 bl 8026ed4 803d994: 4603 mov r3, r0 803d996: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } } break; 803d99a: e042 b.n 803da22 case MyLinLog: case StartStop: case Record: if(!ReadFromFile) 803d99c: 4b9e ldr r3, [pc, #632] ; (803dc18 ) 803d99e: 781b ldrb r3, [r3, #0] 803d9a0: b2db uxtb r3, r3 803d9a2: f083 0301 eor.w r3, r3, #1 803d9a6: b2db uxtb r3, r3 803d9a8: 2b00 cmp r3, #0 803d9aa: d03d beq.n 803da28 { if((CardState == MSD_READY) && (strlen(MeasFileName))) 803d9ac: 4b9b ldr r3, [pc, #620] ; (803dc1c ) 803d9ae: 781b ldrb r3, [r3, #0] 803d9b0: b2db uxtb r3, r3 803d9b2: 2b03 cmp r3, #3 803d9b4: d138 bne.n 803da28 803d9b6: 4b9b ldr r3, [pc, #620] ; (803dc24 ) 803d9b8: 781b ldrb r3, [r3, #0] 803d9ba: 2b00 cmp r3, #0 803d9bc: d034 beq.n 803da28 { if(measuring) 803d9be: 4b95 ldr r3, [pc, #596] ; (803dc14 ) 803d9c0: 781b ldrb r3, [r3, #0] 803d9c2: b2db uxtb r3, r3 803d9c4: 2b00 cmp r3, #0 803d9c6: d001 beq.n 803d9cc StopMeas(); 803d9c8: f7e5 fee8 bl 802379c result = ReadTrendPTM(MeasFileName); 803d9cc: 4895 ldr r0, [pc, #596] ; (803dc24 ) 803d9ce: f7e9 f8bb bl 8026b48 803d9d2: 4603 mov r3, r0 803d9d4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 803d9d8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 803d9dc: 2b00 cmp r3, #0 803d9de: d112 bne.n 803da06 { lastmenu = menu; 803d9e0: 4b91 ldr r3, [pc, #580] ; (803dc28 ) 803d9e2: 781b ldrb r3, [r3, #0] 803d9e4: b2da uxtb r2, r3 803d9e6: 4b91 ldr r3, [pc, #580] ; (803dc2c ) 803d9e8: 701a strb r2, [r3, #0] menu = TREND_S; 803d9ea: 4b8f ldr r3, [pc, #572] ; (803dc28 ) 803d9ec: 2247 movs r2, #71 ; 0x47 803d9ee: 701a strb r2, [r3, #0] lastmenupos = menupos; 803d9f0: 4b8f ldr r3, [pc, #572] ; (803dc30 ) 803d9f2: 781b ldrb r3, [r3, #0] 803d9f4: b2da uxtb r2, r3 803d9f6: 4b8f ldr r3, [pc, #572] ; (803dc34 ) 803d9f8: 701a strb r2, [r3, #0] menupos = pardata.IVS[DIS]; 803d9fa: 4b8f ldr r3, [pc, #572] ; (803dc38 ) 803d9fc: 791b ldrb r3, [r3, #4] 803d9fe: b2da uxtb r2, r3 803da00: 4b8b ldr r3, [pc, #556] ; (803dc30 ) 803da02: 701a strb r2, [r3, #0] timerStatus = sec2; DrawStatus = true; } } } break; 803da04: e010 b.n 803da28 STATUS = AP_INVALID_FILE; 803da06: 4b8d ldr r3, [pc, #564] ; (803dc3c ) 803da08: 2202 movs r2, #2 803da0a: 601a str r2, [r3, #0] timerStatus = sec2; 803da0c: 4b8c ldr r3, [pc, #560] ; (803dc40 ) 803da0e: f44f 5280 mov.w r2, #4096 ; 0x1000 803da12: 801a strh r2, [r3, #0] DrawStatus = true; 803da14: 4b8b ldr r3, [pc, #556] ; (803dc44 ) 803da16: 2201 movs r2, #1 803da18: 701a strb r2, [r3, #0] break; 803da1a: e005 b.n 803da28 break; 803da1c: bf00 nop 803da1e: f005 bfa1 b.w 8043964 break; 803da22: bf00 nop 803da24: f005 bf9e b.w 8043964 break; 803da28: bf00 nop } break; 803da2a: f005 bf9b b.w 8043964 case MAIN_OSC: if(menupos == Cursor) 803da2e: 4b80 ldr r3, [pc, #512] ; (803dc30 ) 803da30: 781b ldrb r3, [r3, #0] 803da32: b2db uxtb r3, r3 803da34: 2b06 cmp r3, #6 803da36: d104 bne.n 803da42 ZOOM_OUT = true; 803da38: 4b83 ldr r3, [pc, #524] ; (803dc48 ) 803da3a: 2201 movs r2, #1 803da3c: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803da3e: f005 bf94 b.w 804396a if(menupos == StartStop) 803da42: 4b7b ldr r3, [pc, #492] ; (803dc30 ) 803da44: 781b ldrb r3, [r3, #0] 803da46: b2db uxtb r3, r3 803da48: 2b00 cmp r3, #0 803da4a: d104 bne.n 803da56 menupos = ImageLeft; 803da4c: 4b78 ldr r3, [pc, #480] ; (803dc30 ) 803da4e: 2202 movs r2, #2 803da50: 701a strb r2, [r3, #0] break; 803da52: f005 bf8a b.w 804396a if(menupos == ZoomOut) 803da56: 4b76 ldr r3, [pc, #472] ; (803dc30 ) 803da58: 781b ldrb r3, [r3, #0] 803da5a: b2db uxtb r3, r3 803da5c: 2b04 cmp r3, #4 803da5e: d104 bne.n 803da6a menupos = StartStop; 803da60: 4b73 ldr r3, [pc, #460] ; (803dc30 ) 803da62: 2200 movs r2, #0 803da64: 701a strb r2, [r3, #0] break; 803da66: f005 bf80 b.w 804396a if(menupos == ZoomIn) 803da6a: 4b71 ldr r3, [pc, #452] ; (803dc30 ) 803da6c: 781b ldrb r3, [r3, #0] 803da6e: b2db uxtb r3, r3 803da70: 2b03 cmp r3, #3 803da72: d104 bne.n 803da7e menupos = ZoomOut; 803da74: 4b6e ldr r3, [pc, #440] ; (803dc30 ) 803da76: 2204 movs r2, #4 803da78: 701a strb r2, [r3, #0] break; 803da7a: f005 bf76 b.w 804396a if(menupos == ImageRight) 803da7e: 4b6c ldr r3, [pc, #432] ; (803dc30 ) 803da80: 781b ldrb r3, [r3, #0] 803da82: b2db uxtb r3, r3 803da84: 2b05 cmp r3, #5 803da86: d104 bne.n 803da92 menupos = ZoomIn; 803da88: 4b69 ldr r3, [pc, #420] ; (803dc30 ) 803da8a: 2203 movs r2, #3 803da8c: 701a strb r2, [r3, #0] break; 803da8e: f005 bf6c b.w 804396a if(menupos == ImageLeft) 803da92: 4b67 ldr r3, [pc, #412] ; (803dc30 ) 803da94: 781b ldrb r3, [r3, #0] 803da96: b2db uxtb r3, r3 803da98: 2b02 cmp r3, #2 803da9a: f045 8766 bne.w 804396a menupos = ImageRight; 803da9e: 4b64 ldr r3, [pc, #400] ; (803dc30 ) 803daa0: 2205 movs r2, #5 803daa2: 701a strb r2, [r3, #0] break; 803daa4: f005 bf61 b.w 804396a case MAIN_ROLL: if(menupos == Cursor) 803daa8: 4b61 ldr r3, [pc, #388] ; (803dc30 ) 803daaa: 781b ldrb r3, [r3, #0] 803daac: b2db uxtb r3, r3 803daae: 2b06 cmp r3, #6 803dab0: d104 bne.n 803dabc ZOOM_OUT = true; 803dab2: 4b65 ldr r3, [pc, #404] ; (803dc48 ) 803dab4: 2201 movs r2, #1 803dab6: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803dab8: f005 bf5a b.w 8043970 if(menupos == StartStop) 803dabc: 4b5c ldr r3, [pc, #368] ; (803dc30 ) 803dabe: 781b ldrb r3, [r3, #0] 803dac0: b2db uxtb r3, r3 803dac2: 2b00 cmp r3, #0 803dac4: d10e bne.n 803dae4 if(SeeResults) 803dac6: 4b61 ldr r3, [pc, #388] ; (803dc4c ) 803dac8: 781b ldrb r3, [r3, #0] 803daca: b2db uxtb r3, r3 803dacc: 2b00 cmp r3, #0 803dace: d004 beq.n 803dada menupos = Results; 803dad0: 4b57 ldr r3, [pc, #348] ; (803dc30 ) 803dad2: 2208 movs r2, #8 803dad4: 701a strb r2, [r3, #0] break; 803dad6: f005 bf4b b.w 8043970 else menupos = ImageLeft; 803dada: 4b55 ldr r3, [pc, #340] ; (803dc30 ) 803dadc: 2202 movs r2, #2 803dade: 701a strb r2, [r3, #0] break; 803dae0: f005 bf46 b.w 8043970 if(menupos == Results) 803dae4: 4b52 ldr r3, [pc, #328] ; (803dc30 ) 803dae6: 781b ldrb r3, [r3, #0] 803dae8: b2db uxtb r3, r3 803daea: 2b08 cmp r3, #8 803daec: d104 bne.n 803daf8 menupos = ImageLeft; 803daee: 4b50 ldr r3, [pc, #320] ; (803dc30 ) 803daf0: 2202 movs r2, #2 803daf2: 701a strb r2, [r3, #0] break; 803daf4: f005 bf3c b.w 8043970 if(menupos == ZoomOut) 803daf8: 4b4d ldr r3, [pc, #308] ; (803dc30 ) 803dafa: 781b ldrb r3, [r3, #0] 803dafc: b2db uxtb r3, r3 803dafe: 2b04 cmp r3, #4 803db00: d104 bne.n 803db0c menupos = StartStop; 803db02: 4b4b ldr r3, [pc, #300] ; (803dc30 ) 803db04: 2200 movs r2, #0 803db06: 701a strb r2, [r3, #0] break; 803db08: f005 bf32 b.w 8043970 if(menupos == ZoomIn) 803db0c: 4b48 ldr r3, [pc, #288] ; (803dc30 ) 803db0e: 781b ldrb r3, [r3, #0] 803db10: b2db uxtb r3, r3 803db12: 2b03 cmp r3, #3 803db14: d104 bne.n 803db20 menupos = ZoomOut; 803db16: 4b46 ldr r3, [pc, #280] ; (803dc30 ) 803db18: 2204 movs r2, #4 803db1a: 701a strb r2, [r3, #0] break; 803db1c: f005 bf28 b.w 8043970 if(menupos == ImageRight) 803db20: 4b43 ldr r3, [pc, #268] ; (803dc30 ) 803db22: 781b ldrb r3, [r3, #0] 803db24: b2db uxtb r3, r3 803db26: 2b05 cmp r3, #5 803db28: d104 bne.n 803db34 menupos = ZoomIn; 803db2a: 4b41 ldr r3, [pc, #260] ; (803dc30 ) 803db2c: 2203 movs r2, #3 803db2e: 701a strb r2, [r3, #0] break; 803db30: f005 bf1e b.w 8043970 if(menupos == ImageLeft) 803db34: 4b3e ldr r3, [pc, #248] ; (803dc30 ) 803db36: 781b ldrb r3, [r3, #0] 803db38: b2db uxtb r3, r3 803db3a: 2b02 cmp r3, #2 803db3c: f045 8718 bne.w 8043970 menupos = ImageRight; 803db40: 4b3b ldr r3, [pc, #236] ; (803dc30 ) 803db42: 2205 movs r2, #5 803db44: 701a strb r2, [r3, #0] break; 803db46: f005 bf13 b.w 8043970 case VIEW_PORTRET: if(menupos == Cursor) 803db4a: 4b39 ldr r3, [pc, #228] ; (803dc30 ) 803db4c: 781b ldrb r3, [r3, #0] 803db4e: b2db uxtb r3, r3 803db50: 2b06 cmp r3, #6 803db52: d104 bne.n 803db5e ZOOM_OUT = true; 803db54: 4b3c ldr r3, [pc, #240] ; (803dc48 ) 803db56: 2201 movs r2, #1 803db58: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803db5a: f005 bf0c b.w 8043976 if(menupos == ZoomOut) 803db5e: 4b34 ldr r3, [pc, #208] ; (803dc30 ) 803db60: 781b ldrb r3, [r3, #0] 803db62: b2db uxtb r3, r3 803db64: 2b04 cmp r3, #4 803db66: d104 bne.n 803db72 menupos = ImageLeft; 803db68: 4b31 ldr r3, [pc, #196] ; (803dc30 ) 803db6a: 2202 movs r2, #2 803db6c: 701a strb r2, [r3, #0] break; 803db6e: f005 bf02 b.w 8043976 if(menupos == ZoomIn) 803db72: 4b2f ldr r3, [pc, #188] ; (803dc30 ) 803db74: 781b ldrb r3, [r3, #0] 803db76: b2db uxtb r3, r3 803db78: 2b03 cmp r3, #3 803db7a: d104 bne.n 803db86 menupos = ZoomOut; 803db7c: 4b2c ldr r3, [pc, #176] ; (803dc30 ) 803db7e: 2204 movs r2, #4 803db80: 701a strb r2, [r3, #0] break; 803db82: f005 bef8 b.w 8043976 if(menupos == ImageRight) 803db86: 4b2a ldr r3, [pc, #168] ; (803dc30 ) 803db88: 781b ldrb r3, [r3, #0] 803db8a: b2db uxtb r3, r3 803db8c: 2b05 cmp r3, #5 803db8e: d104 bne.n 803db9a menupos = ZoomIn; 803db90: 4b27 ldr r3, [pc, #156] ; (803dc30 ) 803db92: 2203 movs r2, #3 803db94: 701a strb r2, [r3, #0] break; 803db96: f005 beee b.w 8043976 if(menupos == ImageLeft) 803db9a: 4b25 ldr r3, [pc, #148] ; (803dc30 ) 803db9c: 781b ldrb r3, [r3, #0] 803db9e: b2db uxtb r3, r3 803dba0: 2b02 cmp r3, #2 803dba2: f045 86e8 bne.w 8043976 menupos = ImageRight; 803dba6: 4b22 ldr r3, [pc, #136] ; (803dc30 ) 803dba8: 2205 movs r2, #5 803dbaa: 701a strb r2, [r3, #0] break; 803dbac: f005 bee3 b.w 8043976 case MAIN_SPEC: if(menupos == Cursor) 803dbb0: 4b1f ldr r3, [pc, #124] ; (803dc30 ) 803dbb2: 781b ldrb r3, [r3, #0] 803dbb4: b2db uxtb r3, r3 803dbb6: 2b06 cmp r3, #6 803dbb8: d104 bne.n 803dbc4 ZOOM_OUT = true; 803dbba: 4b23 ldr r3, [pc, #140] ; (803dc48 ) 803dbbc: 2201 movs r2, #1 803dbbe: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803dbc0: f005 bedc b.w 804397c if(menupos == StartStop) 803dbc4: 4b1a ldr r3, [pc, #104] ; (803dc30 ) 803dbc6: 781b ldrb r3, [r3, #0] 803dbc8: b2db uxtb r3, r3 803dbca: 2b00 cmp r3, #0 803dbcc: d10e bne.n 803dbec if(READY_TO_SEE) 803dbce: 4b20 ldr r3, [pc, #128] ; (803dc50 ) 803dbd0: 781b ldrb r3, [r3, #0] 803dbd2: b2db uxtb r3, r3 803dbd4: 2b00 cmp r3, #0 803dbd6: d004 beq.n 803dbe2 menupos = SaveSpec; 803dbd8: 4b15 ldr r3, [pc, #84] ; (803dc30 ) 803dbda: 2209 movs r2, #9 803dbdc: 701a strb r2, [r3, #0] break; 803dbde: f005 becd b.w 804397c else menupos = ImageLeft; 803dbe2: 4b13 ldr r3, [pc, #76] ; (803dc30 ) 803dbe4: 2202 movs r2, #2 803dbe6: 701a strb r2, [r3, #0] break; 803dbe8: f005 bec8 b.w 804397c if(menupos == SaveSpec) 803dbec: 4b10 ldr r3, [pc, #64] ; (803dc30 ) 803dbee: 781b ldrb r3, [r3, #0] 803dbf0: b2db uxtb r3, r3 803dbf2: 2b09 cmp r3, #9 803dbf4: d104 bne.n 803dc00 menupos = ImageLeft; 803dbf6: 4b0e ldr r3, [pc, #56] ; (803dc30 ) 803dbf8: 2202 movs r2, #2 803dbfa: 701a strb r2, [r3, #0] break; 803dbfc: f005 bebe b.w 804397c if(menupos == ZoomOut) 803dc00: 4b0b ldr r3, [pc, #44] ; (803dc30 ) 803dc02: 781b ldrb r3, [r3, #0] 803dc04: b2db uxtb r3, r3 803dc06: 2b04 cmp r3, #4 803dc08: d124 bne.n 803dc54 menupos = StartStop; 803dc0a: 4b09 ldr r3, [pc, #36] ; (803dc30 ) 803dc0c: 2200 movs r2, #0 803dc0e: 701a strb r2, [r3, #0] break; 803dc10: f005 beb4 b.w 804397c 803dc14: 20020daf .word 0x20020daf 803dc18: 20020dc9 .word 0x20020dc9 803dc1c: 2002164c .word 0x2002164c 803dc20: 20022310 .word 0x20022310 803dc24: 20020e58 .word 0x20020e58 803dc28: 20020f78 .word 0x20020f78 803dc2c: 20020f79 .word 0x20020f79 803dc30: 20020070 .word 0x20020070 803dc34: 20020071 .word 0x20020071 803dc38: 20023e60 .word 0x20023e60 803dc3c: 20020dcc .word 0x20020dcc 803dc40: 2002168c .word 0x2002168c 803dc44: 20020dd2 .word 0x20020dd2 803dc48: 20020f69 .word 0x20020f69 803dc4c: 20020d68 .word 0x20020d68 803dc50: 20020d8e .word 0x20020d8e if(menupos == ZoomIn) 803dc54: 4bb2 ldr r3, [pc, #712] ; (803df20 ) 803dc56: 781b ldrb r3, [r3, #0] 803dc58: b2db uxtb r3, r3 803dc5a: 2b03 cmp r3, #3 803dc5c: d104 bne.n 803dc68 menupos = ZoomOut; 803dc5e: 4bb0 ldr r3, [pc, #704] ; (803df20 ) 803dc60: 2204 movs r2, #4 803dc62: 701a strb r2, [r3, #0] break; 803dc64: f005 be8a b.w 804397c if(menupos == ImageRight) 803dc68: 4bad ldr r3, [pc, #692] ; (803df20 ) 803dc6a: 781b ldrb r3, [r3, #0] 803dc6c: b2db uxtb r3, r3 803dc6e: 2b05 cmp r3, #5 803dc70: d104 bne.n 803dc7c menupos = ZoomIn; 803dc72: 4bab ldr r3, [pc, #684] ; (803df20 ) 803dc74: 2203 movs r2, #3 803dc76: 701a strb r2, [r3, #0] break; 803dc78: f005 be80 b.w 804397c if(menupos == ImageLeft) 803dc7c: 4ba8 ldr r3, [pc, #672] ; (803df20 ) 803dc7e: 781b ldrb r3, [r3, #0] 803dc80: b2db uxtb r3, r3 803dc82: 2b02 cmp r3, #2 803dc84: f045 867a bne.w 804397c menupos = ImageRight; 803dc88: 4ba5 ldr r3, [pc, #660] ; (803df20 ) 803dc8a: 2205 movs r2, #5 803dc8c: 701a strb r2, [r3, #0] break; 803dc8e: f005 be75 b.w 804397c case MAIN_SPEC_OGIB: if(menupos == Cursor) 803dc92: 4ba3 ldr r3, [pc, #652] ; (803df20 ) 803dc94: 781b ldrb r3, [r3, #0] 803dc96: b2db uxtb r3, r3 803dc98: 2b06 cmp r3, #6 803dc9a: d104 bne.n 803dca6 ZOOM_OUT = true; 803dc9c: 4ba1 ldr r3, [pc, #644] ; (803df24 ) 803dc9e: 2201 movs r2, #1 803dca0: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803dca2: f005 be6e b.w 8043982 if(menupos == StartStop) 803dca6: 4b9e ldr r3, [pc, #632] ; (803df20 ) 803dca8: 781b ldrb r3, [r3, #0] 803dcaa: b2db uxtb r3, r3 803dcac: 2b00 cmp r3, #0 803dcae: d10e bne.n 803dcce if(READY_TO_SEE) 803dcb0: 4b9d ldr r3, [pc, #628] ; (803df28 ) 803dcb2: 781b ldrb r3, [r3, #0] 803dcb4: b2db uxtb r3, r3 803dcb6: 2b00 cmp r3, #0 803dcb8: d004 beq.n 803dcc4 menupos = SaveSpec; 803dcba: 4b99 ldr r3, [pc, #612] ; (803df20 ) 803dcbc: 2209 movs r2, #9 803dcbe: 701a strb r2, [r3, #0] break; 803dcc0: f005 be5f b.w 8043982 else menupos = ImageLeft; 803dcc4: 4b96 ldr r3, [pc, #600] ; (803df20 ) 803dcc6: 2202 movs r2, #2 803dcc8: 701a strb r2, [r3, #0] break; 803dcca: f005 be5a b.w 8043982 if(menupos == SaveSpec) 803dcce: 4b94 ldr r3, [pc, #592] ; (803df20 ) 803dcd0: 781b ldrb r3, [r3, #0] 803dcd2: b2db uxtb r3, r3 803dcd4: 2b09 cmp r3, #9 803dcd6: d104 bne.n 803dce2 menupos = ImageLeft; 803dcd8: 4b91 ldr r3, [pc, #580] ; (803df20 ) 803dcda: 2202 movs r2, #2 803dcdc: 701a strb r2, [r3, #0] break; 803dcde: f005 be50 b.w 8043982 if(menupos == ZoomOut) 803dce2: 4b8f ldr r3, [pc, #572] ; (803df20 ) 803dce4: 781b ldrb r3, [r3, #0] 803dce6: b2db uxtb r3, r3 803dce8: 2b04 cmp r3, #4 803dcea: d104 bne.n 803dcf6 menupos = StartStop; 803dcec: 4b8c ldr r3, [pc, #560] ; (803df20 ) 803dcee: 2200 movs r2, #0 803dcf0: 701a strb r2, [r3, #0] break; 803dcf2: f005 be46 b.w 8043982 if(menupos == ZoomIn) 803dcf6: 4b8a ldr r3, [pc, #552] ; (803df20 ) 803dcf8: 781b ldrb r3, [r3, #0] 803dcfa: b2db uxtb r3, r3 803dcfc: 2b03 cmp r3, #3 803dcfe: d104 bne.n 803dd0a menupos = ZoomOut; 803dd00: 4b87 ldr r3, [pc, #540] ; (803df20 ) 803dd02: 2204 movs r2, #4 803dd04: 701a strb r2, [r3, #0] break; 803dd06: f005 be3c b.w 8043982 if(menupos == ImageRight) 803dd0a: 4b85 ldr r3, [pc, #532] ; (803df20 ) 803dd0c: 781b ldrb r3, [r3, #0] 803dd0e: b2db uxtb r3, r3 803dd10: 2b05 cmp r3, #5 803dd12: d104 bne.n 803dd1e menupos = ZoomIn; 803dd14: 4b82 ldr r3, [pc, #520] ; (803df20 ) 803dd16: 2203 movs r2, #3 803dd18: 701a strb r2, [r3, #0] break; 803dd1a: f005 be32 b.w 8043982 if(menupos == ImageLeft) 803dd1e: 4b80 ldr r3, [pc, #512] ; (803df20 ) 803dd20: 781b ldrb r3, [r3, #0] 803dd22: b2db uxtb r3, r3 803dd24: 2b02 cmp r3, #2 803dd26: f045 862c bne.w 8043982 menupos = ImageRight; 803dd2a: 4b7d ldr r3, [pc, #500] ; (803df20 ) 803dd2c: 2205 movs r2, #5 803dd2e: 701a strb r2, [r3, #0] break; 803dd30: f005 be27 b.w 8043982 case MAIN_SPEC_OKT: if(menupos == Cursor) 803dd34: 4b7a ldr r3, [pc, #488] ; (803df20 ) 803dd36: 781b ldrb r3, [r3, #0] 803dd38: b2db uxtb r3, r3 803dd3a: 2b06 cmp r3, #6 803dd3c: d104 bne.n 803dd48 ZOOM_OUT = true; 803dd3e: 4b79 ldr r3, [pc, #484] ; (803df24 ) 803dd40: 2201 movs r2, #1 803dd42: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803dd44: f005 be20 b.w 8043988 if(menupos == StartStop) 803dd48: 4b75 ldr r3, [pc, #468] ; (803df20 ) 803dd4a: 781b ldrb r3, [r3, #0] 803dd4c: b2db uxtb r3, r3 803dd4e: 2b00 cmp r3, #0 803dd50: d10e bne.n 803dd70 if(READY_TO_SEE) 803dd52: 4b75 ldr r3, [pc, #468] ; (803df28 ) 803dd54: 781b ldrb r3, [r3, #0] 803dd56: b2db uxtb r3, r3 803dd58: 2b00 cmp r3, #0 803dd5a: d004 beq.n 803dd66 menupos = SaveSpec; 803dd5c: 4b70 ldr r3, [pc, #448] ; (803df20 ) 803dd5e: 2209 movs r2, #9 803dd60: 701a strb r2, [r3, #0] break; 803dd62: f005 be11 b.w 8043988 else menupos = ImageLeft; 803dd66: 4b6e ldr r3, [pc, #440] ; (803df20 ) 803dd68: 2202 movs r2, #2 803dd6a: 701a strb r2, [r3, #0] break; 803dd6c: f005 be0c b.w 8043988 if(menupos == SaveSpec) 803dd70: 4b6b ldr r3, [pc, #428] ; (803df20 ) 803dd72: 781b ldrb r3, [r3, #0] 803dd74: b2db uxtb r3, r3 803dd76: 2b09 cmp r3, #9 803dd78: d104 bne.n 803dd84 menupos = ImageLeft; 803dd7a: 4b69 ldr r3, [pc, #420] ; (803df20 ) 803dd7c: 2202 movs r2, #2 803dd7e: 701a strb r2, [r3, #0] break; 803dd80: f005 be02 b.w 8043988 if(menupos == ZoomOut) 803dd84: 4b66 ldr r3, [pc, #408] ; (803df20 ) 803dd86: 781b ldrb r3, [r3, #0] 803dd88: b2db uxtb r3, r3 803dd8a: 2b04 cmp r3, #4 803dd8c: d104 bne.n 803dd98 menupos = StartStop; 803dd8e: 4b64 ldr r3, [pc, #400] ; (803df20 ) 803dd90: 2200 movs r2, #0 803dd92: 701a strb r2, [r3, #0] break; 803dd94: f005 bdf8 b.w 8043988 if(menupos == ZoomIn) 803dd98: 4b61 ldr r3, [pc, #388] ; (803df20 ) 803dd9a: 781b ldrb r3, [r3, #0] 803dd9c: b2db uxtb r3, r3 803dd9e: 2b03 cmp r3, #3 803dda0: d104 bne.n 803ddac menupos = ZoomOut; 803dda2: 4b5f ldr r3, [pc, #380] ; (803df20 ) 803dda4: 2204 movs r2, #4 803dda6: 701a strb r2, [r3, #0] break; 803dda8: f005 bdee b.w 8043988 if(menupos == ImageRight) 803ddac: 4b5c ldr r3, [pc, #368] ; (803df20 ) 803ddae: 781b ldrb r3, [r3, #0] 803ddb0: b2db uxtb r3, r3 803ddb2: 2b05 cmp r3, #5 803ddb4: d104 bne.n 803ddc0 menupos = ZoomIn; 803ddb6: 4b5a ldr r3, [pc, #360] ; (803df20 ) 803ddb8: 2203 movs r2, #3 803ddba: 701a strb r2, [r3, #0] break; 803ddbc: f005 bde4 b.w 8043988 if(menupos == ImageLeft) 803ddc0: 4b57 ldr r3, [pc, #348] ; (803df20 ) 803ddc2: 781b ldrb r3, [r3, #0] 803ddc4: b2db uxtb r3, r3 803ddc6: 2b02 cmp r3, #2 803ddc8: f045 85de bne.w 8043988 menupos = ImageRight; 803ddcc: 4b54 ldr r3, [pc, #336] ; (803df20 ) 803ddce: 2205 movs r2, #5 803ddd0: 701a strb r2, [r3, #0] break; 803ddd2: f005 bdd9 b.w 8043988 case MAIN_SPEC_THIRD: if(menupos == Cursor) 803ddd6: 4b52 ldr r3, [pc, #328] ; (803df20 ) 803ddd8: 781b ldrb r3, [r3, #0] 803ddda: b2db uxtb r3, r3 803dddc: 2b06 cmp r3, #6 803ddde: d104 bne.n 803ddea ZOOM_OUT = true; 803dde0: 4b50 ldr r3, [pc, #320] ; (803df24 ) 803dde2: 2201 movs r2, #1 803dde4: 701a strb r2, [r3, #0] if(menupos == ImageRight) menupos = ZoomIn; else if(menupos == ImageLeft) menupos = ImageRight; break; 803dde6: f005 bdd2 b.w 804398e if(menupos == StartStop) 803ddea: 4b4d ldr r3, [pc, #308] ; (803df20 ) 803ddec: 781b ldrb r3, [r3, #0] 803ddee: b2db uxtb r3, r3 803ddf0: 2b00 cmp r3, #0 803ddf2: d10e bne.n 803de12 if(READY_TO_SEE) 803ddf4: 4b4c ldr r3, [pc, #304] ; (803df28 ) 803ddf6: 781b ldrb r3, [r3, #0] 803ddf8: b2db uxtb r3, r3 803ddfa: 2b00 cmp r3, #0 803ddfc: d004 beq.n 803de08 menupos = SaveSpec; 803ddfe: 4b48 ldr r3, [pc, #288] ; (803df20 ) 803de00: 2209 movs r2, #9 803de02: 701a strb r2, [r3, #0] break; 803de04: f005 bdc3 b.w 804398e else menupos = ImageLeft; 803de08: 4b45 ldr r3, [pc, #276] ; (803df20 ) 803de0a: 2202 movs r2, #2 803de0c: 701a strb r2, [r3, #0] break; 803de0e: f005 bdbe b.w 804398e if(menupos == SaveSpec) 803de12: 4b43 ldr r3, [pc, #268] ; (803df20 ) 803de14: 781b ldrb r3, [r3, #0] 803de16: b2db uxtb r3, r3 803de18: 2b09 cmp r3, #9 803de1a: d104 bne.n 803de26 menupos = ImageLeft; 803de1c: 4b40 ldr r3, [pc, #256] ; (803df20 ) 803de1e: 2202 movs r2, #2 803de20: 701a strb r2, [r3, #0] break; 803de22: f005 bdb4 b.w 804398e if(menupos == ZoomOut) 803de26: 4b3e ldr r3, [pc, #248] ; (803df20 ) 803de28: 781b ldrb r3, [r3, #0] 803de2a: b2db uxtb r3, r3 803de2c: 2b04 cmp r3, #4 803de2e: d104 bne.n 803de3a menupos = StartStop; 803de30: 4b3b ldr r3, [pc, #236] ; (803df20 ) 803de32: 2200 movs r2, #0 803de34: 701a strb r2, [r3, #0] break; 803de36: f005 bdaa b.w 804398e if(menupos == ZoomIn) 803de3a: 4b39 ldr r3, [pc, #228] ; (803df20 ) 803de3c: 781b ldrb r3, [r3, #0] 803de3e: b2db uxtb r3, r3 803de40: 2b03 cmp r3, #3 803de42: d104 bne.n 803de4e menupos = ZoomOut; 803de44: 4b36 ldr r3, [pc, #216] ; (803df20 ) 803de46: 2204 movs r2, #4 803de48: 701a strb r2, [r3, #0] break; 803de4a: f005 bda0 b.w 804398e if(menupos == ImageRight) 803de4e: 4b34 ldr r3, [pc, #208] ; (803df20 ) 803de50: 781b ldrb r3, [r3, #0] 803de52: b2db uxtb r3, r3 803de54: 2b05 cmp r3, #5 803de56: d104 bne.n 803de62 menupos = ZoomIn; 803de58: 4b31 ldr r3, [pc, #196] ; (803df20 ) 803de5a: 2203 movs r2, #3 803de5c: 701a strb r2, [r3, #0] break; 803de5e: f005 bd96 b.w 804398e if(menupos == ImageLeft) 803de62: 4b2f ldr r3, [pc, #188] ; (803df20 ) 803de64: 781b ldrb r3, [r3, #0] 803de66: b2db uxtb r3, r3 803de68: 2b02 cmp r3, #2 803de6a: f045 8590 bne.w 804398e menupos = ImageRight; 803de6e: 4b2c ldr r3, [pc, #176] ; (803df20 ) 803de70: 2205 movs r2, #5 803de72: 701a strb r2, [r3, #0] break; 803de74: f005 bd8b b.w 804398e case MAIN_SYGNAL: switch(menupos) 803de78: 4b29 ldr r3, [pc, #164] ; (803df20 ) 803de7a: 781b ldrb r3, [r3, #0] 803de7c: b2db uxtb r3, r3 803de7e: 2b07 cmp r3, #7 803de80: f205 8588 bhi.w 8043994 803de84: a201 add r2, pc, #4 ; (adr r2, 803de8c ) 803de86: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803de8a: bf00 nop 803de8c: 0803ded5 .word 0x0803ded5 803de90: 08043995 .word 0x08043995 803de94: 0803deb5 .word 0x0803deb5 803de98: 0803dec5 .word 0x0803dec5 803de9c: 0803decd .word 0x0803decd 803dea0: 0803debd .word 0x0803debd 803dea4: 0803dedd .word 0x0803dedd 803dea8: 0803dead .word 0x0803dead { case Stop: menupos = ImageLeft; break; 803deac: 4b1c ldr r3, [pc, #112] ; (803df20 ) 803deae: 2202 movs r2, #2 803deb0: 701a strb r2, [r3, #0] 803deb2: e017 b.n 803dee4 case ImageLeft: menupos = ImageRight; break; 803deb4: 4b1a ldr r3, [pc, #104] ; (803df20 ) 803deb6: 2205 movs r2, #5 803deb8: 701a strb r2, [r3, #0] 803deba: e013 b.n 803dee4 case ImageRight:menupos = ZoomIn; break; 803debc: 4b18 ldr r3, [pc, #96] ; (803df20 ) 803debe: 2203 movs r2, #3 803dec0: 701a strb r2, [r3, #0] 803dec2: e00f b.n 803dee4 case ZoomIn: menupos = ZoomOut; break; 803dec4: 4b16 ldr r3, [pc, #88] ; (803df20 ) 803dec6: 2204 movs r2, #4 803dec8: 701a strb r2, [r3, #0] 803deca: e00b b.n 803dee4 case ZoomOut: menupos = StartStop; break; 803decc: 4b14 ldr r3, [pc, #80] ; (803df20 ) 803dece: 2200 movs r2, #0 803ded0: 701a strb r2, [r3, #0] 803ded2: e007 b.n 803dee4 case StartStop: menupos = Stop; break; 803ded4: 4b12 ldr r3, [pc, #72] ; (803df20 ) 803ded6: 2207 movs r2, #7 803ded8: 701a strb r2, [r3, #0] 803deda: e003 b.n 803dee4 case Cursor: ZOOM_OUT = true; break; 803dedc: 4b11 ldr r3, [pc, #68] ; (803df24 ) 803dede: 2201 movs r2, #1 803dee0: 701a strb r2, [r3, #0] 803dee2: bf00 nop } break; 803dee4: f005 bd56 b.w 8043994 case EXPLORER: if(menupos == FilesPTM) 803dee8: 4b0d ldr r3, [pc, #52] ; (803df20 ) 803deea: 781b ldrb r3, [r3, #0] 803deec: b2db uxtb r3, r3 803deee: 2b02 cmp r3, #2 803def0: f045 8553 bne.w 804399a { if((CursorIndex + 1) < VIEW_FILES) 803def4: 4b0d ldr r3, [pc, #52] ; (803df2c ) 803def6: 681b ldr r3, [r3, #0] 803def8: 3301 adds r3, #1 803defa: 2b0b cmp r3, #11 803defc: d81c bhi.n 803df38 { if((FirstFileIndex + CursorIndex + 1) < NumFilesPTM) { 803defe: 4b0c ldr r3, [pc, #48] ; (803df30 ) 803df00: 681a ldr r2, [r3, #0] 803df02: 4b0a ldr r3, [pc, #40] ; (803df2c ) 803df04: 681b ldr r3, [r3, #0] 803df06: 4413 add r3, r2 803df08: 1c5a adds r2, r3, #1 803df0a: 4b0a ldr r3, [pc, #40] ; (803df34 ) 803df0c: 681b ldr r3, [r3, #0] 803df0e: 429a cmp r2, r3 803df10: d227 bcs.n 803df62 CursorIndex++; 803df12: 4b06 ldr r3, [pc, #24] ; (803df2c ) 803df14: 681b ldr r3, [r3, #0] 803df16: 3301 adds r3, #1 803df18: 4a04 ldr r2, [pc, #16] ; (803df2c ) 803df1a: 6013 str r3, [r2, #0] 803df1c: e021 b.n 803df62 803df1e: bf00 nop 803df20: 20020070 .word 0x20020070 803df24: 20020f69 .word 0x20020f69 803df28: 20020d8e .word 0x20020d8e 803df2c: 20020de0 .word 0x20020de0 803df30: 20020de4 .word 0x20020de4 803df34: 20020df4 .word 0x20020df4 } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesPTM) 803df38: 4b6e ldr r3, [pc, #440] ; (803e0f4 ) 803df3a: 681b ldr r3, [r3, #0] 803df3c: f103 020c add.w r2, r3, #12 803df40: 4b6d ldr r3, [pc, #436] ; (803e0f8 ) 803df42: 681b ldr r3, [r3, #0] 803df44: 429a cmp r2, r3 803df46: d20c bcs.n 803df62 { FirstFileIndex++; 803df48: 4b6a ldr r3, [pc, #424] ; (803e0f4 ) 803df4a: 681b ldr r3, [r3, #0] 803df4c: 3301 adds r3, #1 803df4e: 4a69 ldr r2, [pc, #420] ; (803e0f4 ) 803df50: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 803df52: 4b68 ldr r3, [pc, #416] ; (803e0f4 ) 803df54: 681b ldr r3, [r3, #0] 803df56: 4618 mov r0, r3 803df58: f7ec fdca bl 802aaf0 803df5c: 4603 mov r3, r0 803df5e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 803df62: 4b64 ldr r3, [pc, #400] ; (803e0f4 ) 803df64: 681a ldr r2, [r3, #0] 803df66: 4b65 ldr r3, [pc, #404] ; (803e0fc ) 803df68: 681b ldr r3, [r3, #0] 803df6a: 4413 add r3, r2 803df6c: 4a64 ldr r2, [pc, #400] ; (803e100 ) 803df6e: 6013 str r3, [r2, #0] } break; 803df70: f005 bd13 b.w 804399a case INPUT_NAME_PTM: case INPUT_NAME_DGN: case INPUT_NAME_SPEC: case INPUT_NAME_GTR: case INPUT_NAME_FRN: if((menupos == _G) || (menupos == _H) || (menupos == _J)) 803df74: 4b63 ldr r3, [pc, #396] ; (803e104 ) 803df76: 781b ldrb r3, [r3, #0] 803df78: b2db uxtb r3, r3 803df7a: 2b18 cmp r3, #24 803df7c: d009 beq.n 803df92 803df7e: 4b61 ldr r3, [pc, #388] ; (803e104 ) 803df80: 781b ldrb r3, [r3, #0] 803df82: b2db uxtb r3, r3 803df84: 2b19 cmp r3, #25 803df86: d004 beq.n 803df92 803df88: 4b5e ldr r3, [pc, #376] ; (803e104 ) 803df8a: 781b ldrb r3, [r3, #0] 803df8c: b2db uxtb r3, r3 803df8e: 2b1a cmp r3, #26 803df90: d103 bne.n 803df9a menupos = _SPACE; 803df92: 4b5c ldr r3, [pc, #368] ; (803e104 ) 803df94: 2222 movs r2, #34 ; 0x22 803df96: 701a strb r2, [r3, #0] 803df98: e044 b.n 803e024 else if(menupos == _CANCEL) 803df9a: 4b5a ldr r3, [pc, #360] ; (803e104 ) 803df9c: 781b ldrb r3, [r3, #0] 803df9e: b2db uxtb r3, r3 803dfa0: 2b27 cmp r3, #39 ; 0x27 803dfa2: d104 bne.n 803dfae menupos = _ENTER; 803dfa4: 4b57 ldr r3, [pc, #348] ; (803e104 ) 803dfa6: 2226 movs r2, #38 ; 0x26 803dfa8: 701a strb r2, [r3, #0] else if((menupos >= _SPACE) && (menupos <= _M)) menupos = _CANCEL; } } break; 803dfaa: f005 bcf9 b.w 80439a0 if(menupos < _Z) 803dfae: 4b55 ldr r3, [pc, #340] ; (803e104 ) 803dfb0: 781b ldrb r3, [r3, #0] 803dfb2: b2db uxtb r3, r3 803dfb4: 2b1d cmp r3, #29 803dfb6: d816 bhi.n 803dfe6 if(menupos < _G) menupos += 10; 803dfb8: 4b52 ldr r3, [pc, #328] ; (803e104 ) 803dfba: 781b ldrb r3, [r3, #0] 803dfbc: b2db uxtb r3, r3 803dfbe: 2b17 cmp r3, #23 803dfc0: d808 bhi.n 803dfd4 803dfc2: 4b50 ldr r3, [pc, #320] ; (803e104 ) 803dfc4: 781b ldrb r3, [r3, #0] 803dfc6: b2db uxtb r3, r3 803dfc8: 330a adds r3, #10 803dfca: b2da uxtb r2, r3 803dfcc: 4b4d ldr r3, [pc, #308] ; (803e104 ) 803dfce: 701a strb r2, [r3, #0] break; 803dfd0: f005 bce6 b.w 80439a0 else menupos += 8; 803dfd4: 4b4b ldr r3, [pc, #300] ; (803e104 ) 803dfd6: 781b ldrb r3, [r3, #0] 803dfd8: b2db uxtb r3, r3 803dfda: 3308 adds r3, #8 803dfdc: b2da uxtb r2, r3 803dfde: 4b49 ldr r3, [pc, #292] ; (803e104 ) 803dfe0: 701a strb r2, [r3, #0] break; 803dfe2: f005 bcdd b.w 80439a0 if((menupos >= _Z) && (menupos <= _V)) 803dfe6: 4b47 ldr r3, [pc, #284] ; (803e104 ) 803dfe8: 781b ldrb r3, [r3, #0] 803dfea: b2db uxtb r3, r3 803dfec: 2b1d cmp r3, #29 803dfee: d908 bls.n 803e002 803dff0: 4b44 ldr r3, [pc, #272] ; (803e104 ) 803dff2: 781b ldrb r3, [r3, #0] 803dff4: b2db uxtb r3, r3 803dff6: 2b21 cmp r3, #33 ; 0x21 803dff8: d803 bhi.n 803e002 menupos = _ENTER; 803dffa: 4b42 ldr r3, [pc, #264] ; (803e104 ) 803dffc: 2226 movs r2, #38 ; 0x26 803dffe: 701a strb r2, [r3, #0] 803e000: e010 b.n 803e024 if((menupos >= _SPACE) && (menupos <= _M)) 803e002: 4b40 ldr r3, [pc, #256] ; (803e104 ) 803e004: 781b ldrb r3, [r3, #0] 803e006: b2db uxtb r3, r3 803e008: 2b21 cmp r3, #33 ; 0x21 803e00a: f245 84c9 bls.w 80439a0 803e00e: 4b3d ldr r3, [pc, #244] ; (803e104 ) 803e010: 781b ldrb r3, [r3, #0] 803e012: b2db uxtb r3, r3 803e014: 2b25 cmp r3, #37 ; 0x25 803e016: f205 84c3 bhi.w 80439a0 menupos = _CANCEL; 803e01a: 4b3a ldr r3, [pc, #232] ; (803e104 ) 803e01c: 2227 movs r2, #39 ; 0x27 803e01e: 701a strb r2, [r3, #0] break; 803e020: f005 bcbe b.w 80439a0 803e024: f005 bcbc b.w 80439a0 case OPTIONS: if(menupos < AskFormatNo) 803e028: 4b36 ldr r3, [pc, #216] ; (803e104 ) 803e02a: 781b ldrb r3, [r3, #0] 803e02c: b2db uxtb r3, r3 803e02e: 2b04 cmp r3, #4 803e030: f205 84b9 bhi.w 80439a6 { if(menupos < Route) menupos++; 803e034: 4b33 ldr r3, [pc, #204] ; (803e104 ) 803e036: 781b ldrb r3, [r3, #0] 803e038: b2db uxtb r3, r3 803e03a: 2b03 cmp r3, #3 803e03c: d808 bhi.n 803e050 803e03e: 4b31 ldr r3, [pc, #196] ; (803e104 ) 803e040: 781b ldrb r3, [r3, #0] 803e042: b2db uxtb r3, r3 803e044: 3301 adds r3, #1 803e046: b2da uxtb r2, r3 803e048: 4b2e ldr r3, [pc, #184] ; (803e104 ) 803e04a: 701a strb r2, [r3, #0] else menupos = Mode; } break; 803e04c: f005 bcab b.w 80439a6 else menupos = Mode; 803e050: 4b2c ldr r3, [pc, #176] ; (803e104 ) 803e052: 2201 movs r2, #1 803e054: 701a strb r2, [r3, #0] break; 803e056: f005 bca6 b.w 80439a6 case MEAS_MODE: #ifdef USE_ROLL #ifdef USE_UDAR if(pardata.IIN != VOLTS) 803e05a: 4b2b ldr r3, [pc, #172] ; (803e108 ) 803e05c: 799b ldrb r3, [r3, #6] 803e05e: b2db uxtb r3, r3 803e060: 2b02 cmp r3, #2 803e062: d012 beq.n 803e08a { if(menupos < Udar) menupos++; 803e064: 4b27 ldr r3, [pc, #156] ; (803e104 ) 803e066: 781b ldrb r3, [r3, #0] 803e068: b2db uxtb r3, r3 803e06a: 2b06 cmp r3, #6 803e06c: d808 bhi.n 803e080 803e06e: 4b25 ldr r3, [pc, #148] ; (803e104 ) 803e070: 781b ldrb r3, [r3, #0] 803e072: b2db uxtb r3, r3 803e074: 3301 adds r3, #1 803e076: b2da uxtb r2, r3 803e078: 4b22 ldr r3, [pc, #136] ; (803e104 ) 803e07a: 701a strb r2, [r3, #0] #else if(menupos < Wave) menupos++; else menupos = Vibrometer; #endif*/ break; 803e07c: f005 bcb8 b.w 80439f0 else menupos = Vibrometer; 803e080: 4b20 ldr r3, [pc, #128] ; (803e104 ) 803e082: 2201 movs r2, #1 803e084: 701a strb r2, [r3, #0] break; 803e086: f005 bcb3 b.w 80439f0 if(menupos < FFT) menupos++; 803e08a: 4b1e ldr r3, [pc, #120] ; (803e104 ) 803e08c: 781b ldrb r3, [r3, #0] 803e08e: b2db uxtb r3, r3 803e090: 2b02 cmp r3, #2 803e092: d808 bhi.n 803e0a6 803e094: 4b1b ldr r3, [pc, #108] ; (803e104 ) 803e096: 781b ldrb r3, [r3, #0] 803e098: b2db uxtb r3, r3 803e09a: 3301 adds r3, #1 803e09c: b2da uxtb r2, r3 803e09e: 4b19 ldr r3, [pc, #100] ; (803e104 ) 803e0a0: 701a strb r2, [r3, #0] break; 803e0a2: f005 bca5 b.w 80439f0 else menupos = Vibrometer; 803e0a6: 4b17 ldr r3, [pc, #92] ; (803e104 ) 803e0a8: 2201 movs r2, #1 803e0aa: 701a strb r2, [r3, #0] break; 803e0ac: f005 bca0 b.w 80439f0 case PARAM_UDAR: focused = false; 803e0b0: 4b16 ldr r3, [pc, #88] ; (803e10c ) 803e0b2: 2200 movs r2, #0 803e0b4: 701a strb r2, [r3, #0] if(menupos == Ok) 803e0b6: 4b13 ldr r3, [pc, #76] ; (803e104 ) 803e0b8: 781b ldrb r3, [r3, #0] 803e0ba: b2db uxtb r3, r3 803e0bc: 2b00 cmp r3, #0 803e0be: d104 bne.n 803e0ca menupos = UdarRate; 803e0c0: 4b10 ldr r3, [pc, #64] ; (803e104 ) 803e0c2: 2201 movs r2, #1 803e0c4: 701a strb r2, [r3, #0] break; } if(k == 0) k = 1; pardata.D_RATE = k; } break; 803e0c6: f005 bc71 b.w 80439ac if(menupos == UdarRate) 803e0ca: 4b0e ldr r3, [pc, #56] ; (803e104 ) 803e0cc: 781b ldrb r3, [r3, #0] 803e0ce: b2db uxtb r3, r3 803e0d0: 2b01 cmp r3, #1 803e0d2: d104 bne.n 803e0de menupos = UdarInner; 803e0d4: 4b0b ldr r3, [pc, #44] ; (803e104 ) 803e0d6: 2202 movs r2, #2 803e0d8: 701a strb r2, [r3, #0] break; 803e0da: f005 bc67 b.w 80439ac if(menupos == UdarInner) 803e0de: 4b09 ldr r3, [pc, #36] ; (803e104 ) 803e0e0: 781b ldrb r3, [r3, #0] 803e0e2: b2db uxtb r3, r3 803e0e4: 2b02 cmp r3, #2 803e0e6: d113 bne.n 803e110 menupos = Ok; 803e0e8: 4b06 ldr r3, [pc, #24] ; (803e104 ) 803e0ea: 2200 movs r2, #0 803e0ec: 701a strb r2, [r3, #0] break; 803e0ee: f005 bc5d b.w 80439ac 803e0f2: bf00 nop 803e0f4: 20020de4 .word 0x20020de4 803e0f8: 20020df4 .word 0x20020df4 803e0fc: 20020de0 .word 0x20020de0 803e100: 20020de8 .word 0x20020de8 803e104: 20020070 .word 0x20020070 803e108: 20023e60 .word 0x20023e60 803e10c: 20020f84 .word 0x20020f84 if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 803e110: 4bb3 ldr r3, [pc, #716] ; (803e3e0 ) 803e112: 781b ldrb r3, [r3, #0] 803e114: b2db uxtb r3, r3 803e116: 2b06 cmp r3, #6 803e118: f240 817c bls.w 803e414 803e11c: 4bb0 ldr r3, [pc, #704] ; (803e3e0 ) 803e11e: 781b ldrb r3, [r3, #0] 803e120: b2db uxtb r3, r3 803e122: 2b0c cmp r3, #12 803e124: f200 8176 bhi.w 803e414 k = (uint32_t) (pardata.D_INNER * 1000.0f); 803e128: 4bae ldr r3, [pc, #696] ; (803e3e4 ) 803e12a: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803e12e: ed9f 7aae vldr s14, [pc, #696] ; 803e3e8 803e132: ee67 7a87 vmul.f32 s15, s15, s14 803e136: eefc 7ae7 vcvt.u32.f32 s15, s15 803e13a: ee17 3a90 vmov r3, s15 803e13e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803e142: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e146: 095b lsrs r3, r3, #5 803e148: 4aa8 ldr r2, [pc, #672] ; (803e3ec ) 803e14a: fba2 2303 umull r2, r3, r2, r3 803e14e: 09db lsrs r3, r3, #7 803e150: b2db uxtb r3, r3 803e152: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803e156: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e15a: 0953 lsrs r3, r2, #5 803e15c: 49a3 ldr r1, [pc, #652] ; (803e3ec ) 803e15e: fba1 1303 umull r1, r3, r1, r3 803e162: 09db lsrs r3, r3, #7 803e164: 49a2 ldr r1, [pc, #648] ; (803e3f0 ) 803e166: fb01 f303 mul.w r3, r1, r3 803e16a: 1ad3 subs r3, r2, r3 803e16c: 4aa1 ldr r2, [pc, #644] ; (803e3f4 ) 803e16e: fba2 2303 umull r2, r3, r2, r3 803e172: 0b5b lsrs r3, r3, #13 803e174: b2db uxtb r3, r3 803e176: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803e17a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e17e: 0953 lsrs r3, r2, #5 803e180: 499a ldr r1, [pc, #616] ; (803e3ec ) 803e182: fba1 1303 umull r1, r3, r1, r3 803e186: 09db lsrs r3, r3, #7 803e188: 4999 ldr r1, [pc, #612] ; (803e3f0 ) 803e18a: fb01 f303 mul.w r3, r1, r3 803e18e: 1ad3 subs r3, r2, r3 803e190: 4a98 ldr r2, [pc, #608] ; (803e3f4 ) 803e192: fba2 1203 umull r1, r2, r2, r3 803e196: 0b52 lsrs r2, r2, #13 803e198: f242 7110 movw r1, #10000 ; 0x2710 803e19c: fb01 f202 mul.w r2, r1, r2 803e1a0: 1a9a subs r2, r3, r2 803e1a2: 4b95 ldr r3, [pc, #596] ; (803e3f8 ) 803e1a4: fba3 2302 umull r2, r3, r3, r2 803e1a8: 099b lsrs r3, r3, #6 803e1aa: b2db uxtb r3, r3 803e1ac: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803e1b0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e1b4: 095a lsrs r2, r3, #5 803e1b6: 498d ldr r1, [pc, #564] ; (803e3ec ) 803e1b8: fba1 1202 umull r1, r2, r1, r2 803e1bc: 09d2 lsrs r2, r2, #7 803e1be: 498c ldr r1, [pc, #560] ; (803e3f0 ) 803e1c0: fb01 f202 mul.w r2, r1, r2 803e1c4: 1a9a subs r2, r3, r2 803e1c6: 4b8b ldr r3, [pc, #556] ; (803e3f4 ) 803e1c8: fba3 1302 umull r1, r3, r3, r2 803e1cc: 0b5b lsrs r3, r3, #13 803e1ce: f242 7110 movw r1, #10000 ; 0x2710 803e1d2: fb01 f303 mul.w r3, r1, r3 803e1d6: 1ad3 subs r3, r2, r3 803e1d8: 4a87 ldr r2, [pc, #540] ; (803e3f8 ) 803e1da: fba2 1203 umull r1, r2, r2, r3 803e1de: 0992 lsrs r2, r2, #6 803e1e0: f44f 717a mov.w r1, #1000 ; 0x3e8 803e1e4: fb01 f202 mul.w r2, r1, r2 803e1e8: 1a9a subs r2, r3, r2 803e1ea: 4b84 ldr r3, [pc, #528] ; (803e3fc ) 803e1ec: fba3 2302 umull r2, r3, r3, r2 803e1f0: 095b lsrs r3, r3, #5 803e1f2: b2db uxtb r3, r3 803e1f4: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803e1f8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e1fc: 0953 lsrs r3, r2, #5 803e1fe: 497b ldr r1, [pc, #492] ; (803e3ec ) 803e200: fba1 1303 umull r1, r3, r1, r3 803e204: 09db lsrs r3, r3, #7 803e206: 497a ldr r1, [pc, #488] ; (803e3f0 ) 803e208: fb01 f303 mul.w r3, r1, r3 803e20c: 1ad3 subs r3, r2, r3 803e20e: 4a79 ldr r2, [pc, #484] ; (803e3f4 ) 803e210: fba2 1203 umull r1, r2, r2, r3 803e214: 0b52 lsrs r2, r2, #13 803e216: f242 7110 movw r1, #10000 ; 0x2710 803e21a: fb01 f202 mul.w r2, r1, r2 803e21e: 1a9a subs r2, r3, r2 803e220: 4b75 ldr r3, [pc, #468] ; (803e3f8 ) 803e222: fba3 1302 umull r1, r3, r3, r2 803e226: 099b lsrs r3, r3, #6 803e228: f44f 717a mov.w r1, #1000 ; 0x3e8 803e22c: fb01 f303 mul.w r3, r1, r3 803e230: 1ad3 subs r3, r2, r3 803e232: 4a72 ldr r2, [pc, #456] ; (803e3fc ) 803e234: fba2 1203 umull r1, r2, r2, r3 803e238: 0952 lsrs r2, r2, #5 803e23a: 2164 movs r1, #100 ; 0x64 803e23c: fb01 f202 mul.w r2, r1, r2 803e240: 1a9a subs r2, r3, r2 803e242: 4b6f ldr r3, [pc, #444] ; (803e400 ) 803e244: fba3 2302 umull r2, r3, r3, r2 803e248: 08db lsrs r3, r3, #3 803e24a: b2db uxtb r3, r3 803e24c: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803e250: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e254: 0953 lsrs r3, r2, #5 803e256: 4965 ldr r1, [pc, #404] ; (803e3ec ) 803e258: fba1 1303 umull r1, r3, r1, r3 803e25c: 09db lsrs r3, r3, #7 803e25e: 4964 ldr r1, [pc, #400] ; (803e3f0 ) 803e260: fb01 f303 mul.w r3, r1, r3 803e264: 1ad3 subs r3, r2, r3 803e266: 4a63 ldr r2, [pc, #396] ; (803e3f4 ) 803e268: fba2 1203 umull r1, r2, r2, r3 803e26c: 0b52 lsrs r2, r2, #13 803e26e: f242 7110 movw r1, #10000 ; 0x2710 803e272: fb01 f202 mul.w r2, r1, r2 803e276: 1a9a subs r2, r3, r2 803e278: 4b5f ldr r3, [pc, #380] ; (803e3f8 ) 803e27a: fba3 1302 umull r1, r3, r3, r2 803e27e: 099b lsrs r3, r3, #6 803e280: f44f 717a mov.w r1, #1000 ; 0x3e8 803e284: fb01 f303 mul.w r3, r1, r3 803e288: 1ad3 subs r3, r2, r3 803e28a: 4a5c ldr r2, [pc, #368] ; (803e3fc ) 803e28c: fba2 1203 umull r1, r2, r2, r3 803e290: 0952 lsrs r2, r2, #5 803e292: 2164 movs r1, #100 ; 0x64 803e294: fb01 f202 mul.w r2, r1, r2 803e298: 1a9a subs r2, r3, r2 803e29a: 4b59 ldr r3, [pc, #356] ; (803e400 ) 803e29c: fba3 1302 umull r1, r3, r3, r2 803e2a0: 08d9 lsrs r1, r3, #3 803e2a2: 460b mov r3, r1 803e2a4: 009b lsls r3, r3, #2 803e2a6: 440b add r3, r1 803e2a8: 005b lsls r3, r3, #1 803e2aa: 1ad1 subs r1, r2, r3 803e2ac: b2cb uxtb r3, r1 803e2ae: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803e2b2: 4b4b ldr r3, [pc, #300] ; (803e3e0 ) 803e2b4: 781b ldrb r3, [r3, #0] 803e2b6: b2db uxtb r3, r3 803e2b8: 3b07 subs r3, #7 803e2ba: 2b05 cmp r3, #5 803e2bc: d869 bhi.n 803e392 803e2be: a201 add r2, pc, #4 ; (adr r2, 803e2c4 ) 803e2c0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803e2c4: 0803e2dd .word 0x0803e2dd 803e2c8: 0803e2fd .word 0x0803e2fd 803e2cc: 0803e31f .word 0x0803e31f 803e2d0: 0803e33f .word 0x0803e33f 803e2d4: 0803e35b .word 0x0803e35b 803e2d8: 0803e377 .word 0x0803e377 if(k > 100000) k -= 100000; 803e2dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e2e0: 4a43 ldr r2, [pc, #268] ; (803e3f0 ) 803e2e2: 4293 cmp r3, r2 803e2e4: d906 bls.n 803e2f4 803e2e6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e2ea: 4b46 ldr r3, [pc, #280] ; (803e404 ) 803e2ec: 4413 add r3, r2 803e2ee: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e2f2: e04e b.n 803e392 else k = 0; 803e2f4: 2300 movs r3, #0 803e2f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e2fa: e04a b.n 803e392 if(k > 10000) k -= 10000; 803e2fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e300: f242 7210 movw r2, #10000 ; 0x2710 803e304: 4293 cmp r3, r2 803e306: d906 bls.n 803e316 803e308: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e30c: 4b3e ldr r3, [pc, #248] ; (803e408 ) 803e30e: 4413 add r3, r2 803e310: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e314: e03d b.n 803e392 else k = 0; 803e316: 2300 movs r3, #0 803e318: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e31c: e039 b.n 803e392 if(k > 1000) k -= 1000; 803e31e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e322: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803e326: d906 bls.n 803e336 803e328: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e32c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803e330: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e334: e02d b.n 803e392 else k = 0; 803e336: 2300 movs r3, #0 803e338: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e33c: e029 b.n 803e392 if(k > 100) k -= 100; 803e33e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e342: 2b64 cmp r3, #100 ; 0x64 803e344: d905 bls.n 803e352 803e346: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e34a: 3b64 subs r3, #100 ; 0x64 803e34c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e350: e01f b.n 803e392 else k = 0; 803e352: 2300 movs r3, #0 803e354: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e358: e01b b.n 803e392 if(k > 10) k -= 10; 803e35a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e35e: 2b0a cmp r3, #10 803e360: d905 bls.n 803e36e 803e362: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e366: 3b0a subs r3, #10 803e368: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e36c: e011 b.n 803e392 else k = 0; 803e36e: 2300 movs r3, #0 803e370: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e374: e00d b.n 803e392 if(k > 1) k -= 1; 803e376: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e37a: 2b01 cmp r3, #1 803e37c: d905 bls.n 803e38a 803e37e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e382: 3b01 subs r3, #1 803e384: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e388: e002 b.n 803e390 else k = 0; 803e38a: 2300 movs r3, #0 803e38c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e390: bf00 nop if(k == 0) k = 1; 803e392: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e396: 2b00 cmp r3, #0 803e398: d102 bne.n 803e3a0 803e39a: 2301 movs r3, #1 803e39c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 803e3a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e3a4: ee07 3a90 vmov s15, r3 803e3a8: eef8 7a67 vcvt.f32.u32 s15, s15 803e3ac: 4b0d ldr r3, [pc, #52] ; (803e3e4 ) 803e3ae: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 803e3b2: 4b0c ldr r3, [pc, #48] ; (803e3e4 ) 803e3b4: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803e3b8: ed9f 7a14 vldr s14, [pc, #80] ; 803e40c 803e3bc: ee67 7a87 vmul.f32 s15, s15, s14 803e3c0: 4b08 ldr r3, [pc, #32] ; (803e3e4 ) 803e3c2: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 803e3c6: 4b07 ldr r3, [pc, #28] ; (803e3e4 ) 803e3c8: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803e3cc: ed9f 7a10 vldr s14, [pc, #64] ; 803e410 803e3d0: ee77 7a87 vadd.f32 s15, s15, s14 803e3d4: 4b03 ldr r3, [pc, #12] ; (803e3e4 ) 803e3d6: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 break; 803e3da: f005 bae7 b.w 80439ac 803e3de: bf00 nop 803e3e0: 20020070 .word 0x20020070 803e3e4: 20023e60 .word 0x20023e60 803e3e8: 447a0000 .word 0x447a0000 803e3ec: 0a7c5ac5 .word 0x0a7c5ac5 803e3f0: 000186a0 .word 0x000186a0 803e3f4: d1b71759 .word 0xd1b71759 803e3f8: 10624dd3 .word 0x10624dd3 803e3fc: 51eb851f .word 0x51eb851f 803e400: cccccccd .word 0xcccccccd 803e404: fffe7960 .word 0xfffe7960 803e408: ffffd8f0 .word 0xffffd8f0 803e40c: 3a83126f .word 0x3a83126f 803e410: 3a03126f .word 0x3a03126f if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 803e414: 4b98 ldr r3, [pc, #608] ; (803e678 ) 803e416: 781b ldrb r3, [r3, #0] 803e418: b2db uxtb r3, r3 803e41a: 2b02 cmp r3, #2 803e41c: f245 82c6 bls.w 80439ac 803e420: 4b95 ldr r3, [pc, #596] ; (803e678 ) 803e422: 781b ldrb r3, [r3, #0] 803e424: b2db uxtb r3, r3 803e426: 2b06 cmp r3, #6 803e428: f205 82c0 bhi.w 80439ac k = pardata.D_RATE; 803e42c: 4b93 ldr r3, [pc, #588] ; (803e67c ) 803e42e: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 803e432: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 803e436: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e43a: 4a91 ldr r2, [pc, #580] ; (803e680 ) 803e43c: fba2 2303 umull r2, r3, r2, r3 803e440: 099b lsrs r3, r3, #6 803e442: b2db uxtb r3, r3 803e444: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 803e448: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e44c: 4b8c ldr r3, [pc, #560] ; (803e680 ) 803e44e: fba3 1302 umull r1, r3, r3, r2 803e452: 099b lsrs r3, r3, #6 803e454: f44f 717a mov.w r1, #1000 ; 0x3e8 803e458: fb01 f303 mul.w r3, r1, r3 803e45c: 1ad3 subs r3, r2, r3 803e45e: 4a89 ldr r2, [pc, #548] ; (803e684 ) 803e460: fba2 2303 umull r2, r3, r2, r3 803e464: 095b lsrs r3, r3, #5 803e466: b2db uxtb r3, r3 803e468: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 803e46c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e470: 4b83 ldr r3, [pc, #524] ; (803e680 ) 803e472: fba3 1302 umull r1, r3, r3, r2 803e476: 099b lsrs r3, r3, #6 803e478: f44f 717a mov.w r1, #1000 ; 0x3e8 803e47c: fb01 f303 mul.w r3, r1, r3 803e480: 1ad3 subs r3, r2, r3 803e482: 4a80 ldr r2, [pc, #512] ; (803e684 ) 803e484: fba2 1203 umull r1, r2, r2, r3 803e488: 0952 lsrs r2, r2, #5 803e48a: 2164 movs r1, #100 ; 0x64 803e48c: fb01 f202 mul.w r2, r1, r2 803e490: 1a9a subs r2, r3, r2 803e492: 4b7d ldr r3, [pc, #500] ; (803e688 ) 803e494: fba3 2302 umull r2, r3, r3, r2 803e498: 08db lsrs r3, r3, #3 803e49a: b2db uxtb r3, r3 803e49c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 803e4a0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e4a4: 4b76 ldr r3, [pc, #472] ; (803e680 ) 803e4a6: fba3 1302 umull r1, r3, r3, r2 803e4aa: 099b lsrs r3, r3, #6 803e4ac: f44f 717a mov.w r1, #1000 ; 0x3e8 803e4b0: fb01 f303 mul.w r3, r1, r3 803e4b4: 1ad3 subs r3, r2, r3 803e4b6: 4a73 ldr r2, [pc, #460] ; (803e684 ) 803e4b8: fba2 1203 umull r1, r2, r2, r3 803e4bc: 0952 lsrs r2, r2, #5 803e4be: 2164 movs r1, #100 ; 0x64 803e4c0: fb01 f202 mul.w r2, r1, r2 803e4c4: 1a9a subs r2, r3, r2 803e4c6: 4b70 ldr r3, [pc, #448] ; (803e688 ) 803e4c8: fba3 1302 umull r1, r3, r3, r2 803e4cc: 08d9 lsrs r1, r3, #3 803e4ce: 460b mov r3, r1 803e4d0: 009b lsls r3, r3, #2 803e4d2: 440b add r3, r1 803e4d4: 005b lsls r3, r3, #1 803e4d6: 1ad1 subs r1, r2, r3 803e4d8: b2cb uxtb r3, r1 803e4da: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 803e4de: 4b66 ldr r3, [pc, #408] ; (803e678 ) 803e4e0: 781b ldrb r3, [r3, #0] 803e4e2: b2db uxtb r3, r3 803e4e4: 3b03 subs r3, #3 803e4e6: 2b03 cmp r3, #3 803e4e8: d844 bhi.n 803e574 803e4ea: a201 add r2, pc, #4 ; (adr r2, 803e4f0 ) 803e4ec: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803e4f0: 0803e501 .word 0x0803e501 803e4f4: 0803e521 .word 0x0803e521 803e4f8: 0803e53d .word 0x0803e53d 803e4fc: 0803e559 .word 0x0803e559 if(k > 1000) k -= 1000; 803e500: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e504: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803e508: d906 bls.n 803e518 803e50a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e50e: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803e512: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e516: e02d b.n 803e574 else k = 0; 803e518: 2300 movs r3, #0 803e51a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e51e: e029 b.n 803e574 if(k > 100) k -= 100; 803e520: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e524: 2b64 cmp r3, #100 ; 0x64 803e526: d905 bls.n 803e534 803e528: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e52c: 3b64 subs r3, #100 ; 0x64 803e52e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e532: e01f b.n 803e574 else k = 0; 803e534: 2300 movs r3, #0 803e536: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e53a: e01b b.n 803e574 if(k > 10) k -= 10; 803e53c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e540: 2b0a cmp r3, #10 803e542: d905 bls.n 803e550 803e544: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e548: 3b0a subs r3, #10 803e54a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e54e: e011 b.n 803e574 else k = 0; 803e550: 2300 movs r3, #0 803e552: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e556: e00d b.n 803e574 if(k > 1) k -= 1; 803e558: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e55c: 2b01 cmp r3, #1 803e55e: d905 bls.n 803e56c 803e560: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e564: 3b01 subs r3, #1 803e566: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e56a: e002 b.n 803e572 else k = 0; 803e56c: 2300 movs r3, #0 803e56e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e572: bf00 nop if(k == 0) k = 1; 803e574: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e578: 2b00 cmp r3, #0 803e57a: d102 bne.n 803e582 803e57c: 2301 movs r3, #1 803e57e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 803e582: 4a3e ldr r2, [pc, #248] ; (803e67c ) 803e584: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e588: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 803e58c: f005 ba0e b.w 80439ac case PARAM_ROLL: focused = false; 803e590: 4b3e ldr r3, [pc, #248] ; (803e68c ) 803e592: 2200 movs r2, #0 803e594: 701a strb r2, [r3, #0] if(menupos == Ok) 803e596: 4b38 ldr r3, [pc, #224] ; (803e678 ) 803e598: 781b ldrb r3, [r3, #0] 803e59a: b2db uxtb r3, r3 803e59c: 2b00 cmp r3, #0 803e59e: d104 bne.n 803e5aa menupos = RollCount; 803e5a0: 4b35 ldr r3, [pc, #212] ; (803e678 ) 803e5a2: 2201 movs r2, #1 803e5a4: 701a strb r2, [r3, #0] break; } if(k == 0) k = 1; pardata.D_RATE = k; } break; 803e5a6: f005 ba04 b.w 80439b2 if(menupos == RollCount) 803e5aa: 4b33 ldr r3, [pc, #204] ; (803e678 ) 803e5ac: 781b ldrb r3, [r3, #0] 803e5ae: b2db uxtb r3, r3 803e5b0: 2b01 cmp r3, #1 803e5b2: d104 bne.n 803e5be menupos = D_Roll; 803e5b4: 4b30 ldr r3, [pc, #192] ; (803e678 ) 803e5b6: 2202 movs r2, #2 803e5b8: 701a strb r2, [r3, #0] break; 803e5ba: f005 b9fa b.w 80439b2 if(menupos == D_Roll) 803e5be: 4b2e ldr r3, [pc, #184] ; (803e678 ) 803e5c0: 781b ldrb r3, [r3, #0] 803e5c2: b2db uxtb r3, r3 803e5c4: 2b02 cmp r3, #2 803e5c6: d104 bne.n 803e5d2 menupos = D_Outer; 803e5c8: 4b2b ldr r3, [pc, #172] ; (803e678 ) 803e5ca: 2203 movs r2, #3 803e5cc: 701a strb r2, [r3, #0] break; 803e5ce: f005 b9f0 b.w 80439b2 if(menupos == D_Outer) 803e5d2: 4b29 ldr r3, [pc, #164] ; (803e678 ) 803e5d4: 781b ldrb r3, [r3, #0] 803e5d6: b2db uxtb r3, r3 803e5d8: 2b03 cmp r3, #3 803e5da: d104 bne.n 803e5e6 menupos = D_Inner; 803e5dc: 4b26 ldr r3, [pc, #152] ; (803e678 ) 803e5de: 2204 movs r2, #4 803e5e0: 701a strb r2, [r3, #0] break; 803e5e2: f005 b9e6 b.w 80439b2 if(menupos == D_Inner) 803e5e6: 4b24 ldr r3, [pc, #144] ; (803e678 ) 803e5e8: 781b ldrb r3, [r3, #0] 803e5ea: b2db uxtb r3, r3 803e5ec: 2b04 cmp r3, #4 803e5ee: d104 bne.n 803e5fa menupos = D_Angle; 803e5f0: 4b21 ldr r3, [pc, #132] ; (803e678 ) 803e5f2: 2205 movs r2, #5 803e5f4: 701a strb r2, [r3, #0] break; 803e5f6: f005 b9dc b.w 80439b2 if(menupos == D_Angle) 803e5fa: 4b1f ldr r3, [pc, #124] ; (803e678 ) 803e5fc: 781b ldrb r3, [r3, #0] 803e5fe: b2db uxtb r3, r3 803e600: 2b05 cmp r3, #5 803e602: d104 bne.n 803e60e menupos = RollAverage; 803e604: 4b1c ldr r3, [pc, #112] ; (803e678 ) 803e606: 2206 movs r2, #6 803e608: 701a strb r2, [r3, #0] break; 803e60a: f005 b9d2 b.w 80439b2 if(menupos == RollAverage) 803e60e: 4b1a ldr r3, [pc, #104] ; (803e678 ) 803e610: 781b ldrb r3, [r3, #0] 803e612: b2db uxtb r3, r3 803e614: 2b06 cmp r3, #6 803e616: d104 bne.n 803e622 menupos = RollAutoKu; 803e618: 4b17 ldr r3, [pc, #92] ; (803e678 ) 803e61a: 2207 movs r2, #7 803e61c: 701a strb r2, [r3, #0] break; 803e61e: f005 b9c8 b.w 80439b2 if(menupos == RollAutoKu) 803e622: 4b15 ldr r3, [pc, #84] ; (803e678 ) 803e624: 781b ldrb r3, [r3, #0] 803e626: b2db uxtb r3, r3 803e628: 2b07 cmp r3, #7 803e62a: d110 bne.n 803e64e if(pardata.OPTIONS & 0x4) 803e62c: 4b13 ldr r3, [pc, #76] ; (803e67c ) 803e62e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803e632: f003 0304 and.w r3, r3, #4 803e636: 2b00 cmp r3, #0 803e638: d004 beq.n 803e644 menupos = D_Rate; 803e63a: 4b0f ldr r3, [pc, #60] ; (803e678 ) 803e63c: 2209 movs r2, #9 803e63e: 701a strb r2, [r3, #0] break; 803e640: f005 b9b7 b.w 80439b2 else menupos = RollMax_ALL; 803e644: 4b0c ldr r3, [pc, #48] ; (803e678 ) 803e646: 2208 movs r2, #8 803e648: 701a strb r2, [r3, #0] break; 803e64a: f005 b9b2 b.w 80439b2 if(menupos == RollMax_ALL) 803e64e: 4b0a ldr r3, [pc, #40] ; (803e678 ) 803e650: 781b ldrb r3, [r3, #0] 803e652: b2db uxtb r3, r3 803e654: 2b08 cmp r3, #8 803e656: d104 bne.n 803e662 menupos = D_Rate; 803e658: 4b07 ldr r3, [pc, #28] ; (803e678 ) 803e65a: 2209 movs r2, #9 803e65c: 701a strb r2, [r3, #0] break; 803e65e: f005 b9a8 b.w 80439b2 if(menupos == D_Rate) 803e662: 4b05 ldr r3, [pc, #20] ; (803e678 ) 803e664: 781b ldrb r3, [r3, #0] 803e666: b2db uxtb r3, r3 803e668: 2b09 cmp r3, #9 803e66a: d111 bne.n 803e690 menupos = Ok; 803e66c: 4b02 ldr r3, [pc, #8] ; (803e678 ) 803e66e: 2200 movs r2, #0 803e670: 701a strb r2, [r3, #0] break; 803e672: f005 b99e b.w 80439b2 803e676: bf00 nop 803e678: 20020070 .word 0x20020070 803e67c: 20023e60 .word 0x20023e60 803e680: 10624dd3 .word 0x10624dd3 803e684: 51eb851f .word 0x51eb851f 803e688: cccccccd .word 0xcccccccd 803e68c: 20020f84 .word 0x20020f84 if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 803e690: 4bb3 ldr r3, [pc, #716] ; (803e960 ) 803e692: 781b ldrb r3, [r3, #0] 803e694: b2db uxtb r3, r3 803e696: 2b25 cmp r3, #37 ; 0x25 803e698: f240 817a bls.w 803e990 803e69c: 4bb0 ldr r3, [pc, #704] ; (803e960 ) 803e69e: 781b ldrb r3, [r3, #0] 803e6a0: b2db uxtb r3, r3 803e6a2: 2b2b cmp r3, #43 ; 0x2b 803e6a4: f200 8174 bhi.w 803e990 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803e6a8: 4bae ldr r3, [pc, #696] ; (803e964 ) 803e6aa: edd3 7a06 vldr s15, [r3, #24] 803e6ae: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803e6b2: ee67 7a87 vmul.f32 s15, s15, s14 803e6b6: eefc 7ae7 vcvt.u32.f32 s15, s15 803e6ba: ee17 3a90 vmov r3, s15 803e6be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803e6c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e6c6: 095b lsrs r3, r3, #5 803e6c8: 4aa7 ldr r2, [pc, #668] ; (803e968 ) 803e6ca: fba2 2303 umull r2, r3, r2, r3 803e6ce: 09db lsrs r3, r3, #7 803e6d0: b2db uxtb r3, r3 803e6d2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803e6d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e6da: 0953 lsrs r3, r2, #5 803e6dc: 49a2 ldr r1, [pc, #648] ; (803e968 ) 803e6de: fba1 1303 umull r1, r3, r1, r3 803e6e2: 09db lsrs r3, r3, #7 803e6e4: 49a1 ldr r1, [pc, #644] ; (803e96c ) 803e6e6: fb01 f303 mul.w r3, r1, r3 803e6ea: 1ad3 subs r3, r2, r3 803e6ec: 4aa0 ldr r2, [pc, #640] ; (803e970 ) 803e6ee: fba2 2303 umull r2, r3, r2, r3 803e6f2: 0b5b lsrs r3, r3, #13 803e6f4: b2db uxtb r3, r3 803e6f6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803e6fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e6fe: 0953 lsrs r3, r2, #5 803e700: 4999 ldr r1, [pc, #612] ; (803e968 ) 803e702: fba1 1303 umull r1, r3, r1, r3 803e706: 09db lsrs r3, r3, #7 803e708: 4998 ldr r1, [pc, #608] ; (803e96c ) 803e70a: fb01 f303 mul.w r3, r1, r3 803e70e: 1ad3 subs r3, r2, r3 803e710: 4a97 ldr r2, [pc, #604] ; (803e970 ) 803e712: fba2 1203 umull r1, r2, r2, r3 803e716: 0b52 lsrs r2, r2, #13 803e718: f242 7110 movw r1, #10000 ; 0x2710 803e71c: fb01 f202 mul.w r2, r1, r2 803e720: 1a9a subs r2, r3, r2 803e722: 4b94 ldr r3, [pc, #592] ; (803e974 ) 803e724: fba3 2302 umull r2, r3, r3, r2 803e728: 099b lsrs r3, r3, #6 803e72a: b2db uxtb r3, r3 803e72c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803e730: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e734: 095a lsrs r2, r3, #5 803e736: 498c ldr r1, [pc, #560] ; (803e968 ) 803e738: fba1 1202 umull r1, r2, r1, r2 803e73c: 09d2 lsrs r2, r2, #7 803e73e: 498b ldr r1, [pc, #556] ; (803e96c ) 803e740: fb01 f202 mul.w r2, r1, r2 803e744: 1a9a subs r2, r3, r2 803e746: 4b8a ldr r3, [pc, #552] ; (803e970 ) 803e748: fba3 1302 umull r1, r3, r3, r2 803e74c: 0b5b lsrs r3, r3, #13 803e74e: f242 7110 movw r1, #10000 ; 0x2710 803e752: fb01 f303 mul.w r3, r1, r3 803e756: 1ad3 subs r3, r2, r3 803e758: 4a86 ldr r2, [pc, #536] ; (803e974 ) 803e75a: fba2 1203 umull r1, r2, r2, r3 803e75e: 0992 lsrs r2, r2, #6 803e760: f44f 717a mov.w r1, #1000 ; 0x3e8 803e764: fb01 f202 mul.w r2, r1, r2 803e768: 1a9a subs r2, r3, r2 803e76a: 4b83 ldr r3, [pc, #524] ; (803e978 ) 803e76c: fba3 2302 umull r2, r3, r3, r2 803e770: 095b lsrs r3, r3, #5 803e772: b2db uxtb r3, r3 803e774: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803e778: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e77c: 0953 lsrs r3, r2, #5 803e77e: 497a ldr r1, [pc, #488] ; (803e968 ) 803e780: fba1 1303 umull r1, r3, r1, r3 803e784: 09db lsrs r3, r3, #7 803e786: 4979 ldr r1, [pc, #484] ; (803e96c ) 803e788: fb01 f303 mul.w r3, r1, r3 803e78c: 1ad3 subs r3, r2, r3 803e78e: 4a78 ldr r2, [pc, #480] ; (803e970 ) 803e790: fba2 1203 umull r1, r2, r2, r3 803e794: 0b52 lsrs r2, r2, #13 803e796: f242 7110 movw r1, #10000 ; 0x2710 803e79a: fb01 f202 mul.w r2, r1, r2 803e79e: 1a9a subs r2, r3, r2 803e7a0: 4b74 ldr r3, [pc, #464] ; (803e974 ) 803e7a2: fba3 1302 umull r1, r3, r3, r2 803e7a6: 099b lsrs r3, r3, #6 803e7a8: f44f 717a mov.w r1, #1000 ; 0x3e8 803e7ac: fb01 f303 mul.w r3, r1, r3 803e7b0: 1ad3 subs r3, r2, r3 803e7b2: 4a71 ldr r2, [pc, #452] ; (803e978 ) 803e7b4: fba2 1203 umull r1, r2, r2, r3 803e7b8: 0952 lsrs r2, r2, #5 803e7ba: 2164 movs r1, #100 ; 0x64 803e7bc: fb01 f202 mul.w r2, r1, r2 803e7c0: 1a9a subs r2, r3, r2 803e7c2: 4b6e ldr r3, [pc, #440] ; (803e97c ) 803e7c4: fba3 2302 umull r2, r3, r3, r2 803e7c8: 08db lsrs r3, r3, #3 803e7ca: b2db uxtb r3, r3 803e7cc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803e7d0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e7d4: 0953 lsrs r3, r2, #5 803e7d6: 4964 ldr r1, [pc, #400] ; (803e968 ) 803e7d8: fba1 1303 umull r1, r3, r1, r3 803e7dc: 09db lsrs r3, r3, #7 803e7de: 4963 ldr r1, [pc, #396] ; (803e96c ) 803e7e0: fb01 f303 mul.w r3, r1, r3 803e7e4: 1ad3 subs r3, r2, r3 803e7e6: 4a62 ldr r2, [pc, #392] ; (803e970 ) 803e7e8: fba2 1203 umull r1, r2, r2, r3 803e7ec: 0b52 lsrs r2, r2, #13 803e7ee: f242 7110 movw r1, #10000 ; 0x2710 803e7f2: fb01 f202 mul.w r2, r1, r2 803e7f6: 1a9a subs r2, r3, r2 803e7f8: 4b5e ldr r3, [pc, #376] ; (803e974 ) 803e7fa: fba3 1302 umull r1, r3, r3, r2 803e7fe: 099b lsrs r3, r3, #6 803e800: f44f 717a mov.w r1, #1000 ; 0x3e8 803e804: fb01 f303 mul.w r3, r1, r3 803e808: 1ad3 subs r3, r2, r3 803e80a: 4a5b ldr r2, [pc, #364] ; (803e978 ) 803e80c: fba2 1203 umull r1, r2, r2, r3 803e810: 0952 lsrs r2, r2, #5 803e812: 2164 movs r1, #100 ; 0x64 803e814: fb01 f202 mul.w r2, r1, r2 803e818: 1a9a subs r2, r3, r2 803e81a: 4b58 ldr r3, [pc, #352] ; (803e97c ) 803e81c: fba3 1302 umull r1, r3, r3, r2 803e820: 08d9 lsrs r1, r3, #3 803e822: 460b mov r3, r1 803e824: 009b lsls r3, r3, #2 803e826: 440b add r3, r1 803e828: 005b lsls r3, r3, #1 803e82a: 1ad1 subs r1, r2, r3 803e82c: b2cb uxtb r3, r1 803e82e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803e832: 4b4b ldr r3, [pc, #300] ; (803e960 ) 803e834: 781b ldrb r3, [r3, #0] 803e836: b2db uxtb r3, r3 803e838: 3b26 subs r3, #38 ; 0x26 803e83a: 2b05 cmp r3, #5 803e83c: d869 bhi.n 803e912 803e83e: a201 add r2, pc, #4 ; (adr r2, 803e844 ) 803e840: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803e844: 0803e85d .word 0x0803e85d 803e848: 0803e87d .word 0x0803e87d 803e84c: 0803e89f .word 0x0803e89f 803e850: 0803e8bf .word 0x0803e8bf 803e854: 0803e8db .word 0x0803e8db 803e858: 0803e8f7 .word 0x0803e8f7 if(k > 100000) k -= 100000; 803e85c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e860: 4a42 ldr r2, [pc, #264] ; (803e96c ) 803e862: 4293 cmp r3, r2 803e864: d906 bls.n 803e874 803e866: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e86a: 4b45 ldr r3, [pc, #276] ; (803e980 ) 803e86c: 4413 add r3, r2 803e86e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e872: e04e b.n 803e912 else k = 0; 803e874: 2300 movs r3, #0 803e876: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e87a: e04a b.n 803e912 if(k > 10000) k -= 10000; 803e87c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e880: f242 7210 movw r2, #10000 ; 0x2710 803e884: 4293 cmp r3, r2 803e886: d906 bls.n 803e896 803e888: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e88c: 4b3d ldr r3, [pc, #244] ; (803e984 ) 803e88e: 4413 add r3, r2 803e890: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e894: e03d b.n 803e912 else k = 0; 803e896: 2300 movs r3, #0 803e898: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e89c: e039 b.n 803e912 if(k > 1000) k -= 1000; 803e89e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8a2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803e8a6: d906 bls.n 803e8b6 803e8a8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8ac: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803e8b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8b4: e02d b.n 803e912 else k = 0; 803e8b6: 2300 movs r3, #0 803e8b8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8bc: e029 b.n 803e912 if(k > 100) k -= 100; 803e8be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8c2: 2b64 cmp r3, #100 ; 0x64 803e8c4: d905 bls.n 803e8d2 803e8c6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8ca: 3b64 subs r3, #100 ; 0x64 803e8cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8d0: e01f b.n 803e912 else k = 0; 803e8d2: 2300 movs r3, #0 803e8d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8d8: e01b b.n 803e912 if(k > 10) k -= 10; 803e8da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8de: 2b0a cmp r3, #10 803e8e0: d905 bls.n 803e8ee 803e8e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8e6: 3b0a subs r3, #10 803e8e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8ec: e011 b.n 803e912 else k = 0; 803e8ee: 2300 movs r3, #0 803e8f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e8f4: e00d b.n 803e912 if(k > 1) k -= 1; 803e8f6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e8fa: 2b01 cmp r3, #1 803e8fc: d905 bls.n 803e90a 803e8fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e902: 3b01 subs r3, #1 803e904: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e908: e002 b.n 803e910 else k = 0; 803e90a: 2300 movs r3, #0 803e90c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803e910: bf00 nop if(k == 0) k = 1; 803e912: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e916: 2b00 cmp r3, #0 803e918: d102 bne.n 803e920 803e91a: 2301 movs r3, #1 803e91c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803e920: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e924: ee07 3a90 vmov s15, r3 803e928: eef8 7a67 vcvt.f32.u32 s15, s15 803e92c: 4b0d ldr r3, [pc, #52] ; (803e964 ) 803e92e: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803e932: 4b0c ldr r3, [pc, #48] ; (803e964 ) 803e934: edd3 7a06 vldr s15, [r3, #24] 803e938: ed9f 7a13 vldr s14, [pc, #76] ; 803e988 803e93c: ee67 7a87 vmul.f32 s15, s15, s14 803e940: 4b08 ldr r3, [pc, #32] ; (803e964 ) 803e942: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803e946: 4b07 ldr r3, [pc, #28] ; (803e964 ) 803e948: edd3 7a06 vldr s15, [r3, #24] 803e94c: ed9f 7a0f vldr s14, [pc, #60] ; 803e98c 803e950: ee77 7a87 vadd.f32 s15, s15, s14 803e954: 4b03 ldr r3, [pc, #12] ; (803e964 ) 803e956: edc3 7a06 vstr s15, [r3, #24] 803e95a: f000 bed9 b.w 803f710 803e95e: bf00 nop 803e960: 20020070 .word 0x20020070 803e964: 20023e60 .word 0x20023e60 803e968: 0a7c5ac5 .word 0x0a7c5ac5 803e96c: 000186a0 .word 0x000186a0 803e970: d1b71759 .word 0xd1b71759 803e974: 10624dd3 .word 0x10624dd3 803e978: 51eb851f .word 0x51eb851f 803e97c: cccccccd .word 0xcccccccd 803e980: fffe7960 .word 0xfffe7960 803e984: ffffd8f0 .word 0xffffd8f0 803e988: 3dcccccd .word 0x3dcccccd 803e98c: 3d4ccccd .word 0x3d4ccccd if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 803e990: 4bb3 ldr r3, [pc, #716] ; (803ec60 ) 803e992: 781b ldrb r3, [r3, #0] 803e994: b2db uxtb r3, r3 803e996: 2b09 cmp r3, #9 803e998: f240 817c bls.w 803ec94 803e99c: 4bb0 ldr r3, [pc, #704] ; (803ec60 ) 803e99e: 781b ldrb r3, [r3, #0] 803e9a0: b2db uxtb r3, r3 803e9a2: 2b0f cmp r3, #15 803e9a4: f200 8176 bhi.w 803ec94 k = (uint32_t) (pardata.D_ROLL * 1000.0f); 803e9a8: 4bae ldr r3, [pc, #696] ; (803ec64 ) 803e9aa: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803e9ae: ed9f 7aae vldr s14, [pc, #696] ; 803ec68 803e9b2: ee67 7a87 vmul.f32 s15, s15, s14 803e9b6: eefc 7ae7 vcvt.u32.f32 s15, s15 803e9ba: ee17 3a90 vmov r3, s15 803e9be: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803e9c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803e9c6: 095b lsrs r3, r3, #5 803e9c8: 4aa8 ldr r2, [pc, #672] ; (803ec6c ) 803e9ca: fba2 2303 umull r2, r3, r2, r3 803e9ce: 09db lsrs r3, r3, #7 803e9d0: b2db uxtb r3, r3 803e9d2: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803e9d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e9da: 0953 lsrs r3, r2, #5 803e9dc: 49a3 ldr r1, [pc, #652] ; (803ec6c ) 803e9de: fba1 1303 umull r1, r3, r1, r3 803e9e2: 09db lsrs r3, r3, #7 803e9e4: 49a2 ldr r1, [pc, #648] ; (803ec70 ) 803e9e6: fb01 f303 mul.w r3, r1, r3 803e9ea: 1ad3 subs r3, r2, r3 803e9ec: 4aa1 ldr r2, [pc, #644] ; (803ec74 ) 803e9ee: fba2 2303 umull r2, r3, r2, r3 803e9f2: 0b5b lsrs r3, r3, #13 803e9f4: b2db uxtb r3, r3 803e9f6: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803e9fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803e9fe: 0953 lsrs r3, r2, #5 803ea00: 499a ldr r1, [pc, #616] ; (803ec6c ) 803ea02: fba1 1303 umull r1, r3, r1, r3 803ea06: 09db lsrs r3, r3, #7 803ea08: 4999 ldr r1, [pc, #612] ; (803ec70 ) 803ea0a: fb01 f303 mul.w r3, r1, r3 803ea0e: 1ad3 subs r3, r2, r3 803ea10: 4a98 ldr r2, [pc, #608] ; (803ec74 ) 803ea12: fba2 1203 umull r1, r2, r2, r3 803ea16: 0b52 lsrs r2, r2, #13 803ea18: f242 7110 movw r1, #10000 ; 0x2710 803ea1c: fb01 f202 mul.w r2, r1, r2 803ea20: 1a9a subs r2, r3, r2 803ea22: 4b95 ldr r3, [pc, #596] ; (803ec78 ) 803ea24: fba3 2302 umull r2, r3, r3, r2 803ea28: 099b lsrs r3, r3, #6 803ea2a: b2db uxtb r3, r3 803ea2c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803ea30: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ea34: 095a lsrs r2, r3, #5 803ea36: 498d ldr r1, [pc, #564] ; (803ec6c ) 803ea38: fba1 1202 umull r1, r2, r1, r2 803ea3c: 09d2 lsrs r2, r2, #7 803ea3e: 498c ldr r1, [pc, #560] ; (803ec70 ) 803ea40: fb01 f202 mul.w r2, r1, r2 803ea44: 1a9a subs r2, r3, r2 803ea46: 4b8b ldr r3, [pc, #556] ; (803ec74 ) 803ea48: fba3 1302 umull r1, r3, r3, r2 803ea4c: 0b5b lsrs r3, r3, #13 803ea4e: f242 7110 movw r1, #10000 ; 0x2710 803ea52: fb01 f303 mul.w r3, r1, r3 803ea56: 1ad3 subs r3, r2, r3 803ea58: 4a87 ldr r2, [pc, #540] ; (803ec78 ) 803ea5a: fba2 1203 umull r1, r2, r2, r3 803ea5e: 0992 lsrs r2, r2, #6 803ea60: f44f 717a mov.w r1, #1000 ; 0x3e8 803ea64: fb01 f202 mul.w r2, r1, r2 803ea68: 1a9a subs r2, r3, r2 803ea6a: 4b84 ldr r3, [pc, #528] ; (803ec7c ) 803ea6c: fba3 2302 umull r2, r3, r3, r2 803ea70: 095b lsrs r3, r3, #5 803ea72: b2db uxtb r3, r3 803ea74: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803ea78: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ea7c: 0953 lsrs r3, r2, #5 803ea7e: 497b ldr r1, [pc, #492] ; (803ec6c ) 803ea80: fba1 1303 umull r1, r3, r1, r3 803ea84: 09db lsrs r3, r3, #7 803ea86: 497a ldr r1, [pc, #488] ; (803ec70 ) 803ea88: fb01 f303 mul.w r3, r1, r3 803ea8c: 1ad3 subs r3, r2, r3 803ea8e: 4a79 ldr r2, [pc, #484] ; (803ec74 ) 803ea90: fba2 1203 umull r1, r2, r2, r3 803ea94: 0b52 lsrs r2, r2, #13 803ea96: f242 7110 movw r1, #10000 ; 0x2710 803ea9a: fb01 f202 mul.w r2, r1, r2 803ea9e: 1a9a subs r2, r3, r2 803eaa0: 4b75 ldr r3, [pc, #468] ; (803ec78 ) 803eaa2: fba3 1302 umull r1, r3, r3, r2 803eaa6: 099b lsrs r3, r3, #6 803eaa8: f44f 717a mov.w r1, #1000 ; 0x3e8 803eaac: fb01 f303 mul.w r3, r1, r3 803eab0: 1ad3 subs r3, r2, r3 803eab2: 4a72 ldr r2, [pc, #456] ; (803ec7c ) 803eab4: fba2 1203 umull r1, r2, r2, r3 803eab8: 0952 lsrs r2, r2, #5 803eaba: 2164 movs r1, #100 ; 0x64 803eabc: fb01 f202 mul.w r2, r1, r2 803eac0: 1a9a subs r2, r3, r2 803eac2: 4b6f ldr r3, [pc, #444] ; (803ec80 ) 803eac4: fba3 2302 umull r2, r3, r3, r2 803eac8: 08db lsrs r3, r3, #3 803eaca: b2db uxtb r3, r3 803eacc: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803ead0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ead4: 0953 lsrs r3, r2, #5 803ead6: 4965 ldr r1, [pc, #404] ; (803ec6c ) 803ead8: fba1 1303 umull r1, r3, r1, r3 803eadc: 09db lsrs r3, r3, #7 803eade: 4964 ldr r1, [pc, #400] ; (803ec70 ) 803eae0: fb01 f303 mul.w r3, r1, r3 803eae4: 1ad3 subs r3, r2, r3 803eae6: 4a63 ldr r2, [pc, #396] ; (803ec74 ) 803eae8: fba2 1203 umull r1, r2, r2, r3 803eaec: 0b52 lsrs r2, r2, #13 803eaee: f242 7110 movw r1, #10000 ; 0x2710 803eaf2: fb01 f202 mul.w r2, r1, r2 803eaf6: 1a9a subs r2, r3, r2 803eaf8: 4b5f ldr r3, [pc, #380] ; (803ec78 ) 803eafa: fba3 1302 umull r1, r3, r3, r2 803eafe: 099b lsrs r3, r3, #6 803eb00: f44f 717a mov.w r1, #1000 ; 0x3e8 803eb04: fb01 f303 mul.w r3, r1, r3 803eb08: 1ad3 subs r3, r2, r3 803eb0a: 4a5c ldr r2, [pc, #368] ; (803ec7c ) 803eb0c: fba2 1203 umull r1, r2, r2, r3 803eb10: 0952 lsrs r2, r2, #5 803eb12: 2164 movs r1, #100 ; 0x64 803eb14: fb01 f202 mul.w r2, r1, r2 803eb18: 1a9a subs r2, r3, r2 803eb1a: 4b59 ldr r3, [pc, #356] ; (803ec80 ) 803eb1c: fba3 1302 umull r1, r3, r3, r2 803eb20: 08d9 lsrs r1, r3, #3 803eb22: 460b mov r3, r1 803eb24: 009b lsls r3, r3, #2 803eb26: 440b add r3, r1 803eb28: 005b lsls r3, r3, #1 803eb2a: 1ad1 subs r1, r2, r3 803eb2c: b2cb uxtb r3, r1 803eb2e: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803eb32: 4b4b ldr r3, [pc, #300] ; (803ec60 ) 803eb34: 781b ldrb r3, [r3, #0] 803eb36: b2db uxtb r3, r3 803eb38: 3b0a subs r3, #10 803eb3a: 2b05 cmp r3, #5 803eb3c: d869 bhi.n 803ec12 803eb3e: a201 add r2, pc, #4 ; (adr r2, 803eb44 ) 803eb40: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803eb44: 0803eb5d .word 0x0803eb5d 803eb48: 0803eb7d .word 0x0803eb7d 803eb4c: 0803eb9f .word 0x0803eb9f 803eb50: 0803ebbf .word 0x0803ebbf 803eb54: 0803ebdb .word 0x0803ebdb 803eb58: 0803ebf7 .word 0x0803ebf7 if(k > 100000) k -= 100000; 803eb5c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eb60: 4a43 ldr r2, [pc, #268] ; (803ec70 ) 803eb62: 4293 cmp r3, r2 803eb64: d906 bls.n 803eb74 803eb66: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803eb6a: 4b46 ldr r3, [pc, #280] ; (803ec84 ) 803eb6c: 4413 add r3, r2 803eb6e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb72: e04e b.n 803ec12 else k = 0; 803eb74: 2300 movs r3, #0 803eb76: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb7a: e04a b.n 803ec12 if(k > 10000) k -= 10000; 803eb7c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eb80: f242 7210 movw r2, #10000 ; 0x2710 803eb84: 4293 cmp r3, r2 803eb86: d906 bls.n 803eb96 803eb88: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803eb8c: 4b3e ldr r3, [pc, #248] ; (803ec88 ) 803eb8e: 4413 add r3, r2 803eb90: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb94: e03d b.n 803ec12 else k = 0; 803eb96: 2300 movs r3, #0 803eb98: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eb9c: e039 b.n 803ec12 if(k > 1000) k -= 1000; 803eb9e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eba2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803eba6: d906 bls.n 803ebb6 803eba8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ebac: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803ebb0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ebb4: e02d b.n 803ec12 else k = 0; 803ebb6: 2300 movs r3, #0 803ebb8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ebbc: e029 b.n 803ec12 if(k > 100) k -= 100; 803ebbe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ebc2: 2b64 cmp r3, #100 ; 0x64 803ebc4: d905 bls.n 803ebd2 803ebc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ebca: 3b64 subs r3, #100 ; 0x64 803ebcc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ebd0: e01f b.n 803ec12 else k = 0; 803ebd2: 2300 movs r3, #0 803ebd4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ebd8: e01b b.n 803ec12 if(k > 10) k -= 10; 803ebda: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ebde: 2b0a cmp r3, #10 803ebe0: d905 bls.n 803ebee 803ebe2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ebe6: 3b0a subs r3, #10 803ebe8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ebec: e011 b.n 803ec12 else k = 0; 803ebee: 2300 movs r3, #0 803ebf0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ebf4: e00d b.n 803ec12 if(k > 1) k -= 1; 803ebf6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ebfa: 2b01 cmp r3, #1 803ebfc: d905 bls.n 803ec0a 803ebfe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ec02: 3b01 subs r3, #1 803ec04: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ec08: e002 b.n 803ec10 else k = 0; 803ec0a: 2300 movs r3, #0 803ec0c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ec10: bf00 nop if(k == 0) k = 1; 803ec12: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ec16: 2b00 cmp r3, #0 803ec18: d102 bne.n 803ec20 803ec1a: 2301 movs r3, #1 803ec1c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ROLL = (float32_t) k; 803ec20: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ec24: ee07 3a90 vmov s15, r3 803ec28: eef8 7a67 vcvt.f32.u32 s15, s15 803ec2c: 4b0d ldr r3, [pc, #52] ; (803ec64 ) 803ec2e: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL *= 0.001f; 803ec32: 4b0c ldr r3, [pc, #48] ; (803ec64 ) 803ec34: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803ec38: ed9f 7a14 vldr s14, [pc, #80] ; 803ec8c 803ec3c: ee67 7a87 vmul.f32 s15, s15, s14 803ec40: 4b08 ldr r3, [pc, #32] ; (803ec64 ) 803ec42: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 pardata.D_ROLL += 0.0005f; 803ec46: 4b07 ldr r3, [pc, #28] ; (803ec64 ) 803ec48: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 803ec4c: ed9f 7a10 vldr s14, [pc, #64] ; 803ec90 803ec50: ee77 7a87 vadd.f32 s15, s15, s14 803ec54: 4b03 ldr r3, [pc, #12] ; (803ec64 ) 803ec56: edc3 7a30 vstr s15, [r3, #192] ; 0xc0 803ec5a: f000 bd59 b.w 803f710 803ec5e: bf00 nop 803ec60: 20020070 .word 0x20020070 803ec64: 20023e60 .word 0x20023e60 803ec68: 447a0000 .word 0x447a0000 803ec6c: 0a7c5ac5 .word 0x0a7c5ac5 803ec70: 000186a0 .word 0x000186a0 803ec74: d1b71759 .word 0xd1b71759 803ec78: 10624dd3 .word 0x10624dd3 803ec7c: 51eb851f .word 0x51eb851f 803ec80: cccccccd .word 0xcccccccd 803ec84: fffe7960 .word 0xfffe7960 803ec88: ffffd8f0 .word 0xffffd8f0 803ec8c: 3a83126f .word 0x3a83126f 803ec90: 3a03126f .word 0x3a03126f if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 803ec94: 4bb2 ldr r3, [pc, #712] ; (803ef60 ) 803ec96: 781b ldrb r3, [r3, #0] 803ec98: b2db uxtb r3, r3 803ec9a: 2b0f cmp r3, #15 803ec9c: f240 817a bls.w 803ef94 803eca0: 4baf ldr r3, [pc, #700] ; (803ef60 ) 803eca2: 781b ldrb r3, [r3, #0] 803eca4: b2db uxtb r3, r3 803eca6: 2b15 cmp r3, #21 803eca8: f200 8174 bhi.w 803ef94 k = (uint32_t) (pardata.D_OUTER * 1000.0f); 803ecac: 4bad ldr r3, [pc, #692] ; (803ef64 ) 803ecae: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 803ecb2: ed9f 7aad vldr s14, [pc, #692] ; 803ef68 803ecb6: ee67 7a87 vmul.f32 s15, s15, s14 803ecba: eefc 7ae7 vcvt.u32.f32 s15, s15 803ecbe: ee17 3a90 vmov r3, s15 803ecc2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803ecc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ecca: 095b lsrs r3, r3, #5 803eccc: 4aa7 ldr r2, [pc, #668] ; (803ef6c ) 803ecce: fba2 2303 umull r2, r3, r2, r3 803ecd2: 09db lsrs r3, r3, #7 803ecd4: b2db uxtb r3, r3 803ecd6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803ecda: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ecde: 0953 lsrs r3, r2, #5 803ece0: 49a2 ldr r1, [pc, #648] ; (803ef6c ) 803ece2: fba1 1303 umull r1, r3, r1, r3 803ece6: 09db lsrs r3, r3, #7 803ece8: 49a1 ldr r1, [pc, #644] ; (803ef70 ) 803ecea: fb01 f303 mul.w r3, r1, r3 803ecee: 1ad3 subs r3, r2, r3 803ecf0: 4aa0 ldr r2, [pc, #640] ; (803ef74 ) 803ecf2: fba2 2303 umull r2, r3, r2, r3 803ecf6: 0b5b lsrs r3, r3, #13 803ecf8: b2db uxtb r3, r3 803ecfa: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803ecfe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ed02: 0953 lsrs r3, r2, #5 803ed04: 4999 ldr r1, [pc, #612] ; (803ef6c ) 803ed06: fba1 1303 umull r1, r3, r1, r3 803ed0a: 09db lsrs r3, r3, #7 803ed0c: 4998 ldr r1, [pc, #608] ; (803ef70 ) 803ed0e: fb01 f303 mul.w r3, r1, r3 803ed12: 1ad3 subs r3, r2, r3 803ed14: 4a97 ldr r2, [pc, #604] ; (803ef74 ) 803ed16: fba2 1203 umull r1, r2, r2, r3 803ed1a: 0b52 lsrs r2, r2, #13 803ed1c: f242 7110 movw r1, #10000 ; 0x2710 803ed20: fb01 f202 mul.w r2, r1, r2 803ed24: 1a9a subs r2, r3, r2 803ed26: 4b94 ldr r3, [pc, #592] ; (803ef78 ) 803ed28: fba3 2302 umull r2, r3, r3, r2 803ed2c: 099b lsrs r3, r3, #6 803ed2e: b2db uxtb r3, r3 803ed30: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803ed34: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ed38: 095a lsrs r2, r3, #5 803ed3a: 498c ldr r1, [pc, #560] ; (803ef6c ) 803ed3c: fba1 1202 umull r1, r2, r1, r2 803ed40: 09d2 lsrs r2, r2, #7 803ed42: 498b ldr r1, [pc, #556] ; (803ef70 ) 803ed44: fb01 f202 mul.w r2, r1, r2 803ed48: 1a9a subs r2, r3, r2 803ed4a: 4b8a ldr r3, [pc, #552] ; (803ef74 ) 803ed4c: fba3 1302 umull r1, r3, r3, r2 803ed50: 0b5b lsrs r3, r3, #13 803ed52: f242 7110 movw r1, #10000 ; 0x2710 803ed56: fb01 f303 mul.w r3, r1, r3 803ed5a: 1ad3 subs r3, r2, r3 803ed5c: 4a86 ldr r2, [pc, #536] ; (803ef78 ) 803ed5e: fba2 1203 umull r1, r2, r2, r3 803ed62: 0992 lsrs r2, r2, #6 803ed64: f44f 717a mov.w r1, #1000 ; 0x3e8 803ed68: fb01 f202 mul.w r2, r1, r2 803ed6c: 1a9a subs r2, r3, r2 803ed6e: 4b83 ldr r3, [pc, #524] ; (803ef7c ) 803ed70: fba3 2302 umull r2, r3, r3, r2 803ed74: 095b lsrs r3, r3, #5 803ed76: b2db uxtb r3, r3 803ed78: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803ed7c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ed80: 0953 lsrs r3, r2, #5 803ed82: 497a ldr r1, [pc, #488] ; (803ef6c ) 803ed84: fba1 1303 umull r1, r3, r1, r3 803ed88: 09db lsrs r3, r3, #7 803ed8a: 4979 ldr r1, [pc, #484] ; (803ef70 ) 803ed8c: fb01 f303 mul.w r3, r1, r3 803ed90: 1ad3 subs r3, r2, r3 803ed92: 4a78 ldr r2, [pc, #480] ; (803ef74 ) 803ed94: fba2 1203 umull r1, r2, r2, r3 803ed98: 0b52 lsrs r2, r2, #13 803ed9a: f242 7110 movw r1, #10000 ; 0x2710 803ed9e: fb01 f202 mul.w r2, r1, r2 803eda2: 1a9a subs r2, r3, r2 803eda4: 4b74 ldr r3, [pc, #464] ; (803ef78 ) 803eda6: fba3 1302 umull r1, r3, r3, r2 803edaa: 099b lsrs r3, r3, #6 803edac: f44f 717a mov.w r1, #1000 ; 0x3e8 803edb0: fb01 f303 mul.w r3, r1, r3 803edb4: 1ad3 subs r3, r2, r3 803edb6: 4a71 ldr r2, [pc, #452] ; (803ef7c ) 803edb8: fba2 1203 umull r1, r2, r2, r3 803edbc: 0952 lsrs r2, r2, #5 803edbe: 2164 movs r1, #100 ; 0x64 803edc0: fb01 f202 mul.w r2, r1, r2 803edc4: 1a9a subs r2, r3, r2 803edc6: 4b6e ldr r3, [pc, #440] ; (803ef80 ) 803edc8: fba3 2302 umull r2, r3, r3, r2 803edcc: 08db lsrs r3, r3, #3 803edce: b2db uxtb r3, r3 803edd0: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803edd4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803edd8: 0953 lsrs r3, r2, #5 803edda: 4964 ldr r1, [pc, #400] ; (803ef6c ) 803eddc: fba1 1303 umull r1, r3, r1, r3 803ede0: 09db lsrs r3, r3, #7 803ede2: 4963 ldr r1, [pc, #396] ; (803ef70 ) 803ede4: fb01 f303 mul.w r3, r1, r3 803ede8: 1ad3 subs r3, r2, r3 803edea: 4a62 ldr r2, [pc, #392] ; (803ef74 ) 803edec: fba2 1203 umull r1, r2, r2, r3 803edf0: 0b52 lsrs r2, r2, #13 803edf2: f242 7110 movw r1, #10000 ; 0x2710 803edf6: fb01 f202 mul.w r2, r1, r2 803edfa: 1a9a subs r2, r3, r2 803edfc: 4b5e ldr r3, [pc, #376] ; (803ef78 ) 803edfe: fba3 1302 umull r1, r3, r3, r2 803ee02: 099b lsrs r3, r3, #6 803ee04: f44f 717a mov.w r1, #1000 ; 0x3e8 803ee08: fb01 f303 mul.w r3, r1, r3 803ee0c: 1ad3 subs r3, r2, r3 803ee0e: 4a5b ldr r2, [pc, #364] ; (803ef7c ) 803ee10: fba2 1203 umull r1, r2, r2, r3 803ee14: 0952 lsrs r2, r2, #5 803ee16: 2164 movs r1, #100 ; 0x64 803ee18: fb01 f202 mul.w r2, r1, r2 803ee1c: 1a9a subs r2, r3, r2 803ee1e: 4b58 ldr r3, [pc, #352] ; (803ef80 ) 803ee20: fba3 1302 umull r1, r3, r3, r2 803ee24: 08d9 lsrs r1, r3, #3 803ee26: 460b mov r3, r1 803ee28: 009b lsls r3, r3, #2 803ee2a: 440b add r3, r1 803ee2c: 005b lsls r3, r3, #1 803ee2e: 1ad1 subs r1, r2, r3 803ee30: b2cb uxtb r3, r1 803ee32: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803ee36: 4b4a ldr r3, [pc, #296] ; (803ef60 ) 803ee38: 781b ldrb r3, [r3, #0] 803ee3a: b2db uxtb r3, r3 803ee3c: 3b10 subs r3, #16 803ee3e: 2b05 cmp r3, #5 803ee40: d869 bhi.n 803ef16 803ee42: a201 add r2, pc, #4 ; (adr r2, 803ee48 ) 803ee44: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803ee48: 0803ee61 .word 0x0803ee61 803ee4c: 0803ee81 .word 0x0803ee81 803ee50: 0803eea3 .word 0x0803eea3 803ee54: 0803eec3 .word 0x0803eec3 803ee58: 0803eedf .word 0x0803eedf 803ee5c: 0803eefb .word 0x0803eefb if(k > 100000) k -= 100000; 803ee60: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ee64: 4a42 ldr r2, [pc, #264] ; (803ef70 ) 803ee66: 4293 cmp r3, r2 803ee68: d906 bls.n 803ee78 803ee6a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ee6e: 4b45 ldr r3, [pc, #276] ; (803ef84 ) 803ee70: 4413 add r3, r2 803ee72: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ee76: e04e b.n 803ef16 else k = 0; 803ee78: 2300 movs r3, #0 803ee7a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ee7e: e04a b.n 803ef16 if(k > 10000) k -= 10000; 803ee80: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ee84: f242 7210 movw r2, #10000 ; 0x2710 803ee88: 4293 cmp r3, r2 803ee8a: d906 bls.n 803ee9a 803ee8c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ee90: 4b3d ldr r3, [pc, #244] ; (803ef88 ) 803ee92: 4413 add r3, r2 803ee94: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ee98: e03d b.n 803ef16 else k = 0; 803ee9a: 2300 movs r3, #0 803ee9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eea0: e039 b.n 803ef16 if(k > 1000) k -= 1000; 803eea2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eea6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803eeaa: d906 bls.n 803eeba 803eeac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eeb0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803eeb4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eeb8: e02d b.n 803ef16 else k = 0; 803eeba: 2300 movs r3, #0 803eebc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eec0: e029 b.n 803ef16 if(k > 100) k -= 100; 803eec2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eec6: 2b64 cmp r3, #100 ; 0x64 803eec8: d905 bls.n 803eed6 803eeca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eece: 3b64 subs r3, #100 ; 0x64 803eed0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eed4: e01f b.n 803ef16 else k = 0; 803eed6: 2300 movs r3, #0 803eed8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eedc: e01b b.n 803ef16 if(k > 10) k -= 10; 803eede: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eee2: 2b0a cmp r3, #10 803eee4: d905 bls.n 803eef2 803eee6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eeea: 3b0a subs r3, #10 803eeec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eef0: e011 b.n 803ef16 else k = 0; 803eef2: 2300 movs r3, #0 803eef4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803eef8: e00d b.n 803ef16 if(k > 1) k -= 1; 803eefa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803eefe: 2b01 cmp r3, #1 803ef00: d905 bls.n 803ef0e 803ef02: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ef06: 3b01 subs r3, #1 803ef08: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ef0c: e002 b.n 803ef14 else k = 0; 803ef0e: 2300 movs r3, #0 803ef10: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803ef14: bf00 nop if(k == 0) k = 1; 803ef16: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ef1a: 2b00 cmp r3, #0 803ef1c: d102 bne.n 803ef24 803ef1e: 2301 movs r3, #1 803ef20: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_OUTER = (float32_t) k; 803ef24: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ef28: ee07 3a90 vmov s15, r3 803ef2c: eef8 7a67 vcvt.f32.u32 s15, s15 803ef30: 4b0c ldr r3, [pc, #48] ; (803ef64 ) 803ef32: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER *= 0.001f; 803ef36: 4b0b ldr r3, [pc, #44] ; (803ef64 ) 803ef38: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 803ef3c: ed9f 7a13 vldr s14, [pc, #76] ; 803ef8c 803ef40: ee67 7a87 vmul.f32 s15, s15, s14 803ef44: 4b07 ldr r3, [pc, #28] ; (803ef64 ) 803ef46: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 pardata.D_OUTER += 0.0005f; 803ef4a: 4b06 ldr r3, [pc, #24] ; (803ef64 ) 803ef4c: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 803ef50: ed9f 7a0f vldr s14, [pc, #60] ; 803ef90 803ef54: ee77 7a87 vadd.f32 s15, s15, s14 803ef58: 4b02 ldr r3, [pc, #8] ; (803ef64 ) 803ef5a: edc3 7a31 vstr s15, [r3, #196] ; 0xc4 803ef5e: e3d7 b.n 803f710 803ef60: 20020070 .word 0x20020070 803ef64: 20023e60 .word 0x20023e60 803ef68: 447a0000 .word 0x447a0000 803ef6c: 0a7c5ac5 .word 0x0a7c5ac5 803ef70: 000186a0 .word 0x000186a0 803ef74: d1b71759 .word 0xd1b71759 803ef78: 10624dd3 .word 0x10624dd3 803ef7c: 51eb851f .word 0x51eb851f 803ef80: cccccccd .word 0xcccccccd 803ef84: fffe7960 .word 0xfffe7960 803ef88: ffffd8f0 .word 0xffffd8f0 803ef8c: 3a83126f .word 0x3a83126f 803ef90: 3a03126f .word 0x3a03126f if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 803ef94: 4bb2 ldr r3, [pc, #712] ; (803f260 ) 803ef96: 781b ldrb r3, [r3, #0] 803ef98: b2db uxtb r3, r3 803ef9a: 2b15 cmp r3, #21 803ef9c: f240 817a bls.w 803f294 803efa0: 4baf ldr r3, [pc, #700] ; (803f260 ) 803efa2: 781b ldrb r3, [r3, #0] 803efa4: b2db uxtb r3, r3 803efa6: 2b1b cmp r3, #27 803efa8: f200 8174 bhi.w 803f294 k = (uint32_t) (pardata.D_INNER * 1000.0f); 803efac: 4bad ldr r3, [pc, #692] ; (803f264 ) 803efae: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803efb2: ed9f 7aad vldr s14, [pc, #692] ; 803f268 803efb6: ee67 7a87 vmul.f32 s15, s15, s14 803efba: eefc 7ae7 vcvt.u32.f32 s15, s15 803efbe: ee17 3a90 vmov r3, s15 803efc2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803efc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803efca: 095b lsrs r3, r3, #5 803efcc: 4aa7 ldr r2, [pc, #668] ; (803f26c ) 803efce: fba2 2303 umull r2, r3, r2, r3 803efd2: 09db lsrs r3, r3, #7 803efd4: b2db uxtb r3, r3 803efd6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803efda: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803efde: 0953 lsrs r3, r2, #5 803efe0: 49a2 ldr r1, [pc, #648] ; (803f26c ) 803efe2: fba1 1303 umull r1, r3, r1, r3 803efe6: 09db lsrs r3, r3, #7 803efe8: 49a1 ldr r1, [pc, #644] ; (803f270 ) 803efea: fb01 f303 mul.w r3, r1, r3 803efee: 1ad3 subs r3, r2, r3 803eff0: 4aa0 ldr r2, [pc, #640] ; (803f274 ) 803eff2: fba2 2303 umull r2, r3, r2, r3 803eff6: 0b5b lsrs r3, r3, #13 803eff8: b2db uxtb r3, r3 803effa: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803effe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f002: 0953 lsrs r3, r2, #5 803f004: 4999 ldr r1, [pc, #612] ; (803f26c ) 803f006: fba1 1303 umull r1, r3, r1, r3 803f00a: 09db lsrs r3, r3, #7 803f00c: 4998 ldr r1, [pc, #608] ; (803f270 ) 803f00e: fb01 f303 mul.w r3, r1, r3 803f012: 1ad3 subs r3, r2, r3 803f014: 4a97 ldr r2, [pc, #604] ; (803f274 ) 803f016: fba2 1203 umull r1, r2, r2, r3 803f01a: 0b52 lsrs r2, r2, #13 803f01c: f242 7110 movw r1, #10000 ; 0x2710 803f020: fb01 f202 mul.w r2, r1, r2 803f024: 1a9a subs r2, r3, r2 803f026: 4b94 ldr r3, [pc, #592] ; (803f278 ) 803f028: fba3 2302 umull r2, r3, r3, r2 803f02c: 099b lsrs r3, r3, #6 803f02e: b2db uxtb r3, r3 803f030: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803f034: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f038: 095a lsrs r2, r3, #5 803f03a: 498c ldr r1, [pc, #560] ; (803f26c ) 803f03c: fba1 1202 umull r1, r2, r1, r2 803f040: 09d2 lsrs r2, r2, #7 803f042: 498b ldr r1, [pc, #556] ; (803f270 ) 803f044: fb01 f202 mul.w r2, r1, r2 803f048: 1a9a subs r2, r3, r2 803f04a: 4b8a ldr r3, [pc, #552] ; (803f274 ) 803f04c: fba3 1302 umull r1, r3, r3, r2 803f050: 0b5b lsrs r3, r3, #13 803f052: f242 7110 movw r1, #10000 ; 0x2710 803f056: fb01 f303 mul.w r3, r1, r3 803f05a: 1ad3 subs r3, r2, r3 803f05c: 4a86 ldr r2, [pc, #536] ; (803f278 ) 803f05e: fba2 1203 umull r1, r2, r2, r3 803f062: 0992 lsrs r2, r2, #6 803f064: f44f 717a mov.w r1, #1000 ; 0x3e8 803f068: fb01 f202 mul.w r2, r1, r2 803f06c: 1a9a subs r2, r3, r2 803f06e: 4b83 ldr r3, [pc, #524] ; (803f27c ) 803f070: fba3 2302 umull r2, r3, r3, r2 803f074: 095b lsrs r3, r3, #5 803f076: b2db uxtb r3, r3 803f078: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803f07c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f080: 0953 lsrs r3, r2, #5 803f082: 497a ldr r1, [pc, #488] ; (803f26c ) 803f084: fba1 1303 umull r1, r3, r1, r3 803f088: 09db lsrs r3, r3, #7 803f08a: 4979 ldr r1, [pc, #484] ; (803f270 ) 803f08c: fb01 f303 mul.w r3, r1, r3 803f090: 1ad3 subs r3, r2, r3 803f092: 4a78 ldr r2, [pc, #480] ; (803f274 ) 803f094: fba2 1203 umull r1, r2, r2, r3 803f098: 0b52 lsrs r2, r2, #13 803f09a: f242 7110 movw r1, #10000 ; 0x2710 803f09e: fb01 f202 mul.w r2, r1, r2 803f0a2: 1a9a subs r2, r3, r2 803f0a4: 4b74 ldr r3, [pc, #464] ; (803f278 ) 803f0a6: fba3 1302 umull r1, r3, r3, r2 803f0aa: 099b lsrs r3, r3, #6 803f0ac: f44f 717a mov.w r1, #1000 ; 0x3e8 803f0b0: fb01 f303 mul.w r3, r1, r3 803f0b4: 1ad3 subs r3, r2, r3 803f0b6: 4a71 ldr r2, [pc, #452] ; (803f27c ) 803f0b8: fba2 1203 umull r1, r2, r2, r3 803f0bc: 0952 lsrs r2, r2, #5 803f0be: 2164 movs r1, #100 ; 0x64 803f0c0: fb01 f202 mul.w r2, r1, r2 803f0c4: 1a9a subs r2, r3, r2 803f0c6: 4b6e ldr r3, [pc, #440] ; (803f280 ) 803f0c8: fba3 2302 umull r2, r3, r3, r2 803f0cc: 08db lsrs r3, r3, #3 803f0ce: b2db uxtb r3, r3 803f0d0: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803f0d4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f0d8: 0953 lsrs r3, r2, #5 803f0da: 4964 ldr r1, [pc, #400] ; (803f26c ) 803f0dc: fba1 1303 umull r1, r3, r1, r3 803f0e0: 09db lsrs r3, r3, #7 803f0e2: 4963 ldr r1, [pc, #396] ; (803f270 ) 803f0e4: fb01 f303 mul.w r3, r1, r3 803f0e8: 1ad3 subs r3, r2, r3 803f0ea: 4a62 ldr r2, [pc, #392] ; (803f274 ) 803f0ec: fba2 1203 umull r1, r2, r2, r3 803f0f0: 0b52 lsrs r2, r2, #13 803f0f2: f242 7110 movw r1, #10000 ; 0x2710 803f0f6: fb01 f202 mul.w r2, r1, r2 803f0fa: 1a9a subs r2, r3, r2 803f0fc: 4b5e ldr r3, [pc, #376] ; (803f278 ) 803f0fe: fba3 1302 umull r1, r3, r3, r2 803f102: 099b lsrs r3, r3, #6 803f104: f44f 717a mov.w r1, #1000 ; 0x3e8 803f108: fb01 f303 mul.w r3, r1, r3 803f10c: 1ad3 subs r3, r2, r3 803f10e: 4a5b ldr r2, [pc, #364] ; (803f27c ) 803f110: fba2 1203 umull r1, r2, r2, r3 803f114: 0952 lsrs r2, r2, #5 803f116: 2164 movs r1, #100 ; 0x64 803f118: fb01 f202 mul.w r2, r1, r2 803f11c: 1a9a subs r2, r3, r2 803f11e: 4b58 ldr r3, [pc, #352] ; (803f280 ) 803f120: fba3 1302 umull r1, r3, r3, r2 803f124: 08d9 lsrs r1, r3, #3 803f126: 460b mov r3, r1 803f128: 009b lsls r3, r3, #2 803f12a: 440b add r3, r1 803f12c: 005b lsls r3, r3, #1 803f12e: 1ad1 subs r1, r2, r3 803f130: b2cb uxtb r3, r1 803f132: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803f136: 4b4a ldr r3, [pc, #296] ; (803f260 ) 803f138: 781b ldrb r3, [r3, #0] 803f13a: b2db uxtb r3, r3 803f13c: 3b16 subs r3, #22 803f13e: 2b05 cmp r3, #5 803f140: d869 bhi.n 803f216 803f142: a201 add r2, pc, #4 ; (adr r2, 803f148 ) 803f144: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f148: 0803f161 .word 0x0803f161 803f14c: 0803f181 .word 0x0803f181 803f150: 0803f1a3 .word 0x0803f1a3 803f154: 0803f1c3 .word 0x0803f1c3 803f158: 0803f1df .word 0x0803f1df 803f15c: 0803f1fb .word 0x0803f1fb if(k > 100000) k -= 100000; 803f160: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f164: 4a42 ldr r2, [pc, #264] ; (803f270 ) 803f166: 4293 cmp r3, r2 803f168: d906 bls.n 803f178 803f16a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f16e: 4b45 ldr r3, [pc, #276] ; (803f284 ) 803f170: 4413 add r3, r2 803f172: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f176: e04e b.n 803f216 else k = 0; 803f178: 2300 movs r3, #0 803f17a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f17e: e04a b.n 803f216 if(k > 10000) k -= 10000; 803f180: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f184: f242 7210 movw r2, #10000 ; 0x2710 803f188: 4293 cmp r3, r2 803f18a: d906 bls.n 803f19a 803f18c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f190: 4b3d ldr r3, [pc, #244] ; (803f288 ) 803f192: 4413 add r3, r2 803f194: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f198: e03d b.n 803f216 else k = 0; 803f19a: 2300 movs r3, #0 803f19c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1a0: e039 b.n 803f216 if(k > 1000) k -= 1000; 803f1a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1a6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803f1aa: d906 bls.n 803f1ba 803f1ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1b0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803f1b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1b8: e02d b.n 803f216 else k = 0; 803f1ba: 2300 movs r3, #0 803f1bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1c0: e029 b.n 803f216 if(k > 100) k -= 100; 803f1c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1c6: 2b64 cmp r3, #100 ; 0x64 803f1c8: d905 bls.n 803f1d6 803f1ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1ce: 3b64 subs r3, #100 ; 0x64 803f1d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1d4: e01f b.n 803f216 else k = 0; 803f1d6: 2300 movs r3, #0 803f1d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1dc: e01b b.n 803f216 if(k > 10) k -= 10; 803f1de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1e2: 2b0a cmp r3, #10 803f1e4: d905 bls.n 803f1f2 803f1e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1ea: 3b0a subs r3, #10 803f1ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1f0: e011 b.n 803f216 else k = 0; 803f1f2: 2300 movs r3, #0 803f1f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f1f8: e00d b.n 803f216 if(k > 1) k -= 1; 803f1fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f1fe: 2b01 cmp r3, #1 803f200: d905 bls.n 803f20e 803f202: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f206: 3b01 subs r3, #1 803f208: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f20c: e002 b.n 803f214 else k = 0; 803f20e: 2300 movs r3, #0 803f210: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f214: bf00 nop if(k == 0) k = 1; 803f216: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f21a: 2b00 cmp r3, #0 803f21c: d102 bne.n 803f224 803f21e: 2301 movs r3, #1 803f220: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_INNER = (float32_t) k; 803f224: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f228: ee07 3a90 vmov s15, r3 803f22c: eef8 7a67 vcvt.f32.u32 s15, s15 803f230: 4b0c ldr r3, [pc, #48] ; (803f264 ) 803f232: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER *= 0.001f; 803f236: 4b0b ldr r3, [pc, #44] ; (803f264 ) 803f238: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803f23c: ed9f 7a13 vldr s14, [pc, #76] ; 803f28c 803f240: ee67 7a87 vmul.f32 s15, s15, s14 803f244: 4b07 ldr r3, [pc, #28] ; (803f264 ) 803f246: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 pardata.D_INNER += 0.0005f; 803f24a: 4b06 ldr r3, [pc, #24] ; (803f264 ) 803f24c: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 803f250: ed9f 7a0f vldr s14, [pc, #60] ; 803f290 803f254: ee77 7a87 vadd.f32 s15, s15, s14 803f258: 4b02 ldr r3, [pc, #8] ; (803f264 ) 803f25a: edc3 7a32 vstr s15, [r3, #200] ; 0xc8 803f25e: e257 b.n 803f710 803f260: 20020070 .word 0x20020070 803f264: 20023e60 .word 0x20023e60 803f268: 447a0000 .word 0x447a0000 803f26c: 0a7c5ac5 .word 0x0a7c5ac5 803f270: 000186a0 .word 0x000186a0 803f274: d1b71759 .word 0xd1b71759 803f278: 10624dd3 .word 0x10624dd3 803f27c: 51eb851f .word 0x51eb851f 803f280: cccccccd .word 0xcccccccd 803f284: fffe7960 .word 0xfffe7960 803f288: ffffd8f0 .word 0xffffd8f0 803f28c: 3a83126f .word 0x3a83126f 803f290: 3a03126f .word 0x3a03126f if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 803f294: 4bb2 ldr r3, [pc, #712] ; (803f560 ) 803f296: 781b ldrb r3, [r3, #0] 803f298: b2db uxtb r3, r3 803f29a: 2b1b cmp r3, #27 803f29c: f240 817a bls.w 803f594 803f2a0: 4baf ldr r3, [pc, #700] ; (803f560 ) 803f2a2: 781b ldrb r3, [r3, #0] 803f2a4: b2db uxtb r3, r3 803f2a6: 2b21 cmp r3, #33 ; 0x21 803f2a8: f200 8174 bhi.w 803f594 k = (uint32_t) (pardata.D_ANGLE * 1000.0f); 803f2ac: 4bad ldr r3, [pc, #692] ; (803f564 ) 803f2ae: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 803f2b2: ed9f 7aad vldr s14, [pc, #692] ; 803f568 803f2b6: ee67 7a87 vmul.f32 s15, s15, s14 803f2ba: eefc 7ae7 vcvt.u32.f32 s15, s15 803f2be: ee17 3a90 vmov r3, s15 803f2c2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 803f2c6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f2ca: 095b lsrs r3, r3, #5 803f2cc: 4aa7 ldr r2, [pc, #668] ; (803f56c ) 803f2ce: fba2 2303 umull r2, r3, r2, r3 803f2d2: 09db lsrs r3, r3, #7 803f2d4: b2db uxtb r3, r3 803f2d6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 803f2da: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f2de: 0953 lsrs r3, r2, #5 803f2e0: 49a2 ldr r1, [pc, #648] ; (803f56c ) 803f2e2: fba1 1303 umull r1, r3, r1, r3 803f2e6: 09db lsrs r3, r3, #7 803f2e8: 49a1 ldr r1, [pc, #644] ; (803f570 ) 803f2ea: fb01 f303 mul.w r3, r1, r3 803f2ee: 1ad3 subs r3, r2, r3 803f2f0: 4aa0 ldr r2, [pc, #640] ; (803f574 ) 803f2f2: fba2 2303 umull r2, r3, r2, r3 803f2f6: 0b5b lsrs r3, r3, #13 803f2f8: b2db uxtb r3, r3 803f2fa: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 803f2fe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f302: 0953 lsrs r3, r2, #5 803f304: 4999 ldr r1, [pc, #612] ; (803f56c ) 803f306: fba1 1303 umull r1, r3, r1, r3 803f30a: 09db lsrs r3, r3, #7 803f30c: 4998 ldr r1, [pc, #608] ; (803f570 ) 803f30e: fb01 f303 mul.w r3, r1, r3 803f312: 1ad3 subs r3, r2, r3 803f314: 4a97 ldr r2, [pc, #604] ; (803f574 ) 803f316: fba2 1203 umull r1, r2, r2, r3 803f31a: 0b52 lsrs r2, r2, #13 803f31c: f242 7110 movw r1, #10000 ; 0x2710 803f320: fb01 f202 mul.w r2, r1, r2 803f324: 1a9a subs r2, r3, r2 803f326: 4b94 ldr r3, [pc, #592] ; (803f578 ) 803f328: fba3 2302 umull r2, r3, r3, r2 803f32c: 099b lsrs r3, r3, #6 803f32e: b2db uxtb r3, r3 803f330: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803f334: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f338: 095a lsrs r2, r3, #5 803f33a: 498c ldr r1, [pc, #560] ; (803f56c ) 803f33c: fba1 1202 umull r1, r2, r1, r2 803f340: 09d2 lsrs r2, r2, #7 803f342: 498b ldr r1, [pc, #556] ; (803f570 ) 803f344: fb01 f202 mul.w r2, r1, r2 803f348: 1a9a subs r2, r3, r2 803f34a: 4b8a ldr r3, [pc, #552] ; (803f574 ) 803f34c: fba3 1302 umull r1, r3, r3, r2 803f350: 0b5b lsrs r3, r3, #13 803f352: f242 7110 movw r1, #10000 ; 0x2710 803f356: fb01 f303 mul.w r3, r1, r3 803f35a: 1ad3 subs r3, r2, r3 803f35c: 4a86 ldr r2, [pc, #536] ; (803f578 ) 803f35e: fba2 1203 umull r1, r2, r2, r3 803f362: 0992 lsrs r2, r2, #6 803f364: f44f 717a mov.w r1, #1000 ; 0x3e8 803f368: fb01 f202 mul.w r2, r1, r2 803f36c: 1a9a subs r2, r3, r2 803f36e: 4b83 ldr r3, [pc, #524] ; (803f57c ) 803f370: fba3 2302 umull r2, r3, r3, r2 803f374: 095b lsrs r3, r3, #5 803f376: b2db uxtb r3, r3 803f378: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803f37c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f380: 0953 lsrs r3, r2, #5 803f382: 497a ldr r1, [pc, #488] ; (803f56c ) 803f384: fba1 1303 umull r1, r3, r1, r3 803f388: 09db lsrs r3, r3, #7 803f38a: 4979 ldr r1, [pc, #484] ; (803f570 ) 803f38c: fb01 f303 mul.w r3, r1, r3 803f390: 1ad3 subs r3, r2, r3 803f392: 4a78 ldr r2, [pc, #480] ; (803f574 ) 803f394: fba2 1203 umull r1, r2, r2, r3 803f398: 0b52 lsrs r2, r2, #13 803f39a: f242 7110 movw r1, #10000 ; 0x2710 803f39e: fb01 f202 mul.w r2, r1, r2 803f3a2: 1a9a subs r2, r3, r2 803f3a4: 4b74 ldr r3, [pc, #464] ; (803f578 ) 803f3a6: fba3 1302 umull r1, r3, r3, r2 803f3aa: 099b lsrs r3, r3, #6 803f3ac: f44f 717a mov.w r1, #1000 ; 0x3e8 803f3b0: fb01 f303 mul.w r3, r1, r3 803f3b4: 1ad3 subs r3, r2, r3 803f3b6: 4a71 ldr r2, [pc, #452] ; (803f57c ) 803f3b8: fba2 1203 umull r1, r2, r2, r3 803f3bc: 0952 lsrs r2, r2, #5 803f3be: 2164 movs r1, #100 ; 0x64 803f3c0: fb01 f202 mul.w r2, r1, r2 803f3c4: 1a9a subs r2, r3, r2 803f3c6: 4b6e ldr r3, [pc, #440] ; (803f580 ) 803f3c8: fba3 2302 umull r2, r3, r3, r2 803f3cc: 08db lsrs r3, r3, #3 803f3ce: b2db uxtb r3, r3 803f3d0: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803f3d4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f3d8: 0953 lsrs r3, r2, #5 803f3da: 4964 ldr r1, [pc, #400] ; (803f56c ) 803f3dc: fba1 1303 umull r1, r3, r1, r3 803f3e0: 09db lsrs r3, r3, #7 803f3e2: 4963 ldr r1, [pc, #396] ; (803f570 ) 803f3e4: fb01 f303 mul.w r3, r1, r3 803f3e8: 1ad3 subs r3, r2, r3 803f3ea: 4a62 ldr r2, [pc, #392] ; (803f574 ) 803f3ec: fba2 1203 umull r1, r2, r2, r3 803f3f0: 0b52 lsrs r2, r2, #13 803f3f2: f242 7110 movw r1, #10000 ; 0x2710 803f3f6: fb01 f202 mul.w r2, r1, r2 803f3fa: 1a9a subs r2, r3, r2 803f3fc: 4b5e ldr r3, [pc, #376] ; (803f578 ) 803f3fe: fba3 1302 umull r1, r3, r3, r2 803f402: 099b lsrs r3, r3, #6 803f404: f44f 717a mov.w r1, #1000 ; 0x3e8 803f408: fb01 f303 mul.w r3, r1, r3 803f40c: 1ad3 subs r3, r2, r3 803f40e: 4a5b ldr r2, [pc, #364] ; (803f57c ) 803f410: fba2 1203 umull r1, r2, r2, r3 803f414: 0952 lsrs r2, r2, #5 803f416: 2164 movs r1, #100 ; 0x64 803f418: fb01 f202 mul.w r2, r1, r2 803f41c: 1a9a subs r2, r3, r2 803f41e: 4b58 ldr r3, [pc, #352] ; (803f580 ) 803f420: fba3 1302 umull r1, r3, r3, r2 803f424: 08d9 lsrs r1, r3, #3 803f426: 460b mov r3, r1 803f428: 009b lsls r3, r3, #2 803f42a: 440b add r3, r1 803f42c: 005b lsls r3, r3, #1 803f42e: 1ad1 subs r1, r2, r3 803f430: b2cb uxtb r3, r1 803f432: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 803f436: 4b4a ldr r3, [pc, #296] ; (803f560 ) 803f438: 781b ldrb r3, [r3, #0] 803f43a: b2db uxtb r3, r3 803f43c: 3b1c subs r3, #28 803f43e: 2b05 cmp r3, #5 803f440: d869 bhi.n 803f516 803f442: a201 add r2, pc, #4 ; (adr r2, 803f448 ) 803f444: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f448: 0803f461 .word 0x0803f461 803f44c: 0803f481 .word 0x0803f481 803f450: 0803f4a3 .word 0x0803f4a3 803f454: 0803f4c3 .word 0x0803f4c3 803f458: 0803f4df .word 0x0803f4df 803f45c: 0803f4fb .word 0x0803f4fb if(k > 100000) k -= 100000; 803f460: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f464: 4a42 ldr r2, [pc, #264] ; (803f570 ) 803f466: 4293 cmp r3, r2 803f468: d906 bls.n 803f478 803f46a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f46e: 4b45 ldr r3, [pc, #276] ; (803f584 ) 803f470: 4413 add r3, r2 803f472: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f476: e04e b.n 803f516 else k = 0; 803f478: 2300 movs r3, #0 803f47a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f47e: e04a b.n 803f516 if(k > 10000) k -= 10000; 803f480: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f484: f242 7210 movw r2, #10000 ; 0x2710 803f488: 4293 cmp r3, r2 803f48a: d906 bls.n 803f49a 803f48c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f490: 4b3d ldr r3, [pc, #244] ; (803f588 ) 803f492: 4413 add r3, r2 803f494: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f498: e03d b.n 803f516 else k = 0; 803f49a: 2300 movs r3, #0 803f49c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4a0: e039 b.n 803f516 if(k > 1000) k -= 1000; 803f4a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4a6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803f4aa: d906 bls.n 803f4ba 803f4ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4b0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803f4b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4b8: e02d b.n 803f516 else k = 0; 803f4ba: 2300 movs r3, #0 803f4bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4c0: e029 b.n 803f516 if(k > 100) k -= 100; 803f4c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4c6: 2b64 cmp r3, #100 ; 0x64 803f4c8: d905 bls.n 803f4d6 803f4ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4ce: 3b64 subs r3, #100 ; 0x64 803f4d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4d4: e01f b.n 803f516 else k = 0; 803f4d6: 2300 movs r3, #0 803f4d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4dc: e01b b.n 803f516 if(k > 10) k -= 10; 803f4de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4e2: 2b0a cmp r3, #10 803f4e4: d905 bls.n 803f4f2 803f4e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4ea: 3b0a subs r3, #10 803f4ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4f0: e011 b.n 803f516 else k = 0; 803f4f2: 2300 movs r3, #0 803f4f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f4f8: e00d b.n 803f516 if(k > 1) k -= 1; 803f4fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f4fe: 2b01 cmp r3, #1 803f500: d905 bls.n 803f50e 803f502: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f506: 3b01 subs r3, #1 803f508: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f50c: e002 b.n 803f514 else k = 0; 803f50e: 2300 movs r3, #0 803f510: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f514: bf00 nop if(k == 0) k = 1; 803f516: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f51a: 2b00 cmp r3, #0 803f51c: d102 bne.n 803f524 803f51e: 2301 movs r3, #1 803f520: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_ANGLE = (float32_t) k; 803f524: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f528: ee07 3a90 vmov s15, r3 803f52c: eef8 7a67 vcvt.f32.u32 s15, s15 803f530: 4b0c ldr r3, [pc, #48] ; (803f564 ) 803f532: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE *= 0.001f; 803f536: 4b0b ldr r3, [pc, #44] ; (803f564 ) 803f538: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 803f53c: ed9f 7a13 vldr s14, [pc, #76] ; 803f58c 803f540: ee67 7a87 vmul.f32 s15, s15, s14 803f544: 4b07 ldr r3, [pc, #28] ; (803f564 ) 803f546: edc3 7a33 vstr s15, [r3, #204] ; 0xcc pardata.D_ANGLE += 0.0005f; 803f54a: 4b06 ldr r3, [pc, #24] ; (803f564 ) 803f54c: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 803f550: ed9f 7a0f vldr s14, [pc, #60] ; 803f590 803f554: ee77 7a87 vadd.f32 s15, s15, s14 803f558: 4b02 ldr r3, [pc, #8] ; (803f564 ) 803f55a: edc3 7a33 vstr s15, [r3, #204] ; 0xcc 803f55e: e0d7 b.n 803f710 803f560: 20020070 .word 0x20020070 803f564: 20023e60 .word 0x20023e60 803f568: 447a0000 .word 0x447a0000 803f56c: 0a7c5ac5 .word 0x0a7c5ac5 803f570: 000186a0 .word 0x000186a0 803f574: d1b71759 .word 0xd1b71759 803f578: 10624dd3 .word 0x10624dd3 803f57c: 51eb851f .word 0x51eb851f 803f580: cccccccd .word 0xcccccccd 803f584: fffe7960 .word 0xfffe7960 803f588: ffffd8f0 .word 0xffffd8f0 803f58c: 3a83126f .word 0x3a83126f 803f590: 3a03126f .word 0x3a03126f if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 803f594: 4b9d ldr r3, [pc, #628] ; (803f80c ) 803f596: 781b ldrb r3, [r3, #0] 803f598: b2db uxtb r3, r3 803f59a: 2b21 cmp r3, #33 ; 0x21 803f59c: f244 8209 bls.w 80439b2 803f5a0: 4b9a ldr r3, [pc, #616] ; (803f80c ) 803f5a2: 781b ldrb r3, [r3, #0] 803f5a4: b2db uxtb r3, r3 803f5a6: 2b25 cmp r3, #37 ; 0x25 803f5a8: f204 8203 bhi.w 80439b2 k = pardata.D_RATE; 803f5ac: 4b98 ldr r3, [pc, #608] ; (803f810 ) 803f5ae: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 803f5b2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 iet = (uint8_t) (k / 1000); 803f5b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f5ba: 4a96 ldr r2, [pc, #600] ; (803f814 ) 803f5bc: fba2 2303 umull r2, r3, r2, r3 803f5c0: 099b lsrs r3, r3, #6 803f5c2: b2db uxtb r3, r3 803f5c4: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 1000 / 100); 803f5c8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f5cc: 4b91 ldr r3, [pc, #580] ; (803f814 ) 803f5ce: fba3 1302 umull r1, r3, r3, r2 803f5d2: 099b lsrs r3, r3, #6 803f5d4: f44f 717a mov.w r1, #1000 ; 0x3e8 803f5d8: fb01 f303 mul.w r3, r1, r3 803f5dc: 1ad3 subs r3, r2, r3 803f5de: 4a8e ldr r2, [pc, #568] ; (803f818 ) 803f5e0: fba2 2303 umull r2, r3, r2, r3 803f5e4: 095b lsrs r3, r3, #5 803f5e6: b2db uxtb r3, r3 803f5e8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 1000 % 100 / 10); 803f5ec: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f5f0: 4b88 ldr r3, [pc, #544] ; (803f814 ) 803f5f2: fba3 1302 umull r1, r3, r3, r2 803f5f6: 099b lsrs r3, r3, #6 803f5f8: f44f 717a mov.w r1, #1000 ; 0x3e8 803f5fc: fb01 f303 mul.w r3, r1, r3 803f600: 1ad3 subs r3, r2, r3 803f602: 4a85 ldr r2, [pc, #532] ; (803f818 ) 803f604: fba2 1203 umull r1, r2, r2, r3 803f608: 0952 lsrs r2, r2, #5 803f60a: 2164 movs r1, #100 ; 0x64 803f60c: fb01 f202 mul.w r2, r1, r2 803f610: 1a9a subs r2, r3, r2 803f612: 4b82 ldr r3, [pc, #520] ; (803f81c ) 803f614: fba3 2302 umull r2, r3, r3, r2 803f618: 08db lsrs r3, r3, #3 803f61a: b2db uxtb r3, r3 803f61c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 1000 % 100 % 10); 803f620: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f624: 4b7b ldr r3, [pc, #492] ; (803f814 ) 803f626: fba3 1302 umull r1, r3, r3, r2 803f62a: 099b lsrs r3, r3, #6 803f62c: f44f 717a mov.w r1, #1000 ; 0x3e8 803f630: fb01 f303 mul.w r3, r1, r3 803f634: 1ad3 subs r3, r2, r3 803f636: 4a78 ldr r2, [pc, #480] ; (803f818 ) 803f638: fba2 1203 umull r1, r2, r2, r3 803f63c: 0952 lsrs r2, r2, #5 803f63e: 2164 movs r1, #100 ; 0x64 803f640: fb01 f202 mul.w r2, r1, r2 803f644: 1a9a subs r2, r3, r2 803f646: 4b75 ldr r3, [pc, #468] ; (803f81c ) 803f648: fba3 1302 umull r1, r3, r3, r2 803f64c: 08d9 lsrs r1, r3, #3 803f64e: 460b mov r3, r1 803f650: 009b lsls r3, r3, #2 803f652: 440b add r3, r1 803f654: 005b lsls r3, r3, #1 803f656: 1ad1 subs r1, r2, r3 803f658: b2cb uxtb r3, r1 803f65a: f887 306f strb.w r3, [r7, #111] ; 0x6f switch(menupos) 803f65e: 4b6b ldr r3, [pc, #428] ; (803f80c ) 803f660: 781b ldrb r3, [r3, #0] 803f662: b2db uxtb r3, r3 803f664: 3b22 subs r3, #34 ; 0x22 803f666: 2b03 cmp r3, #3 803f668: d844 bhi.n 803f6f4 803f66a: a201 add r2, pc, #4 ; (adr r2, 803f670 ) 803f66c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f670: 0803f681 .word 0x0803f681 803f674: 0803f6a1 .word 0x0803f6a1 803f678: 0803f6bd .word 0x0803f6bd 803f67c: 0803f6d9 .word 0x0803f6d9 if(k > 1000) k -= 1000; 803f680: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f684: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803f688: d906 bls.n 803f698 803f68a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f68e: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803f692: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f696: e02d b.n 803f6f4 else k = 0; 803f698: 2300 movs r3, #0 803f69a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f69e: e029 b.n 803f6f4 if(k > 100) k -= 100; 803f6a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6a4: 2b64 cmp r3, #100 ; 0x64 803f6a6: d905 bls.n 803f6b4 803f6a8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6ac: 3b64 subs r3, #100 ; 0x64 803f6ae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6b2: e01f b.n 803f6f4 else k = 0; 803f6b4: 2300 movs r3, #0 803f6b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6ba: e01b b.n 803f6f4 if(k > 10) k -= 10; 803f6bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6c0: 2b0a cmp r3, #10 803f6c2: d905 bls.n 803f6d0 803f6c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6c8: 3b0a subs r3, #10 803f6ca: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6ce: e011 b.n 803f6f4 else k = 0; 803f6d0: 2300 movs r3, #0 803f6d2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6d6: e00d b.n 803f6f4 if(k > 1) k -= 1; 803f6d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6dc: 2b01 cmp r3, #1 803f6de: d905 bls.n 803f6ec 803f6e0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6e4: 3b01 subs r3, #1 803f6e6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6ea: e002 b.n 803f6f2 else k = 0; 803f6ec: 2300 movs r3, #0 803f6ee: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803f6f2: bf00 nop if(k == 0) k = 1; 803f6f4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f6f8: 2b00 cmp r3, #0 803f6fa: d102 bne.n 803f702 803f6fc: 2301 movs r3, #1 803f6fe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.D_RATE = k; 803f702: 4a43 ldr r2, [pc, #268] ; (803f810 ) 803f704: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f708: f8c2 30d0 str.w r3, [r2, #208] ; 0xd0 break; 803f70c: f004 b951 b.w 80439b2 803f710: f004 b94f b.w 80439b2 case PARAM_VIB: focused = false; 803f714: 4b42 ldr r3, [pc, #264] ; (803f820 ) 803f716: 2200 movs r2, #0 803f718: 701a strb r2, [r3, #0] if(menupos == Ok) 803f71a: 4b3c ldr r3, [pc, #240] ; (803f80c ) 803f71c: 781b ldrb r3, [r3, #0] 803f71e: b2db uxtb r3, r3 803f720: 2b00 cmp r3, #0 803f722: d104 bne.n 803f72e menupos = FilterHP; 803f724: 4b39 ldr r3, [pc, #228] ; (803f80c ) 803f726: 2217 movs r2, #23 803f728: 701a strb r2, [r3, #0] pardata.LP += 0.0001f; } } else menupos++; break; 803f72a: f004 b961 b.w 80439f0 if(menupos == FilterHP) 803f72e: 4b37 ldr r3, [pc, #220] ; (803f80c ) 803f730: 781b ldrb r3, [r3, #0] 803f732: b2db uxtb r3, r3 803f734: 2b17 cmp r3, #23 803f736: d104 bne.n 803f742 menupos = FilterLP; 803f738: 4b34 ldr r3, [pc, #208] ; (803f80c ) 803f73a: 2218 movs r2, #24 803f73c: 701a strb r2, [r3, #0] break; 803f73e: f004 b957 b.w 80439f0 if(menupos == FilterLP) 803f742: 4b32 ldr r3, [pc, #200] ; (803f80c ) 803f744: 781b ldrb r3, [r3, #0] 803f746: b2db uxtb r3, r3 803f748: 2b18 cmp r3, #24 803f74a: d104 bne.n 803f756 menupos = ValueA; 803f74c: 4b2f ldr r3, [pc, #188] ; (803f80c ) 803f74e: 2202 movs r2, #2 803f750: 701a strb r2, [r3, #0] break; 803f752: f004 b94d b.w 80439f0 if(menupos == ValueA) 803f756: 4b2d ldr r3, [pc, #180] ; (803f80c ) 803f758: 781b ldrb r3, [r3, #0] 803f75a: b2db uxtb r3, r3 803f75c: 2b02 cmp r3, #2 803f75e: d117 bne.n 803f790 if(pardata.HP >= 2.0f) 803f760: 4b2b ldr r3, [pc, #172] ; (803f810 ) 803f762: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803f766: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 803f76a: eef4 7ac7 vcmpe.f32 s15, s14 803f76e: eef1 fa10 vmrs APSR_nzcv, fpscr 803f772: db08 blt.n 803f786 menupos++; 803f774: 4b25 ldr r3, [pc, #148] ; (803f80c ) 803f776: 781b ldrb r3, [r3, #0] 803f778: b2db uxtb r3, r3 803f77a: 3301 adds r3, #1 803f77c: b2da uxtb r2, r3 803f77e: 4b23 ldr r3, [pc, #140] ; (803f80c ) 803f780: 701a strb r2, [r3, #0] break; 803f782: f004 b935 b.w 80439f0 else menupos = Average; 803f786: 4b21 ldr r3, [pc, #132] ; (803f80c ) 803f788: 2205 movs r2, #5 803f78a: 701a strb r2, [r3, #0] break; 803f78c: f004 b930 b.w 80439f0 if(menupos == SaveToFile) 803f790: 4b1e ldr r3, [pc, #120] ; (803f80c ) 803f792: 781b ldrb r3, [r3, #0] 803f794: b2db uxtb r3, r3 803f796: 2b0a cmp r3, #10 803f798: d104 bne.n 803f7a4 menupos = Ok; 803f79a: 4b1c ldr r3, [pc, #112] ; (803f80c ) 803f79c: 2200 movs r2, #0 803f79e: 701a strb r2, [r3, #0] break; 803f7a0: f004 b926 b.w 80439f0 if(menupos == VibAutoKu) 803f7a4: 4b19 ldr r3, [pc, #100] ; (803f80c ) 803f7a6: 781b ldrb r3, [r3, #0] 803f7a8: b2db uxtb r3, r3 803f7aa: 2b08 cmp r3, #8 803f7ac: d110 bne.n 803f7d0 if(pardata.OPTIONS & 0x4) 803f7ae: 4b18 ldr r3, [pc, #96] ; (803f810 ) 803f7b0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 803f7b4: f003 0304 and.w r3, r3, #4 803f7b8: 2b00 cmp r3, #0 803f7ba: d004 beq.n 803f7c6 menupos = SaveToFile; 803f7bc: 4b13 ldr r3, [pc, #76] ; (803f80c ) 803f7be: 220a movs r2, #10 803f7c0: 701a strb r2, [r3, #0] break; 803f7c2: f004 b915 b.w 80439f0 else menupos = VibMax_ALL; 803f7c6: 4b11 ldr r3, [pc, #68] ; (803f80c ) 803f7c8: 2209 movs r2, #9 803f7ca: 701a strb r2, [r3, #0] break; 803f7cc: f004 b910 b.w 80439f0 if(menupos == Mediana) 803f7d0: 4b0e ldr r3, [pc, #56] ; (803f80c ) 803f7d2: 781b ldrb r3, [r3, #0] 803f7d4: b2db uxtb r3, r3 803f7d6: 2b06 cmp r3, #6 803f7d8: d104 bne.n 803f7e4 menupos = ViewFreq; 803f7da: 4b0c ldr r3, [pc, #48] ; (803f80c ) 803f7dc: 2207 movs r2, #7 803f7de: 701a strb r2, [r3, #0] break; 803f7e0: f004 b906 b.w 80439f0 if(menupos == ViewFreq) 803f7e4: 4b09 ldr r3, [pc, #36] ; (803f80c ) 803f7e6: 781b ldrb r3, [r3, #0] 803f7e8: b2db uxtb r3, r3 803f7ea: 2b07 cmp r3, #7 803f7ec: d104 bne.n 803f7f8 menupos = VibAutoKu; 803f7ee: 4b07 ldr r3, [pc, #28] ; (803f80c ) 803f7f0: 2208 movs r2, #8 803f7f2: 701a strb r2, [r3, #0] break; 803f7f4: f004 b8fc b.w 80439f0 if(menupos == VibMax_ALL) 803f7f8: 4b04 ldr r3, [pc, #16] ; (803f80c ) 803f7fa: 781b ldrb r3, [r3, #0] 803f7fc: b2db uxtb r3, r3 803f7fe: 2b09 cmp r3, #9 803f800: d110 bne.n 803f824 menupos = SaveToFile; 803f802: 4b02 ldr r3, [pc, #8] ; (803f80c ) 803f804: 220a movs r2, #10 803f806: 701a strb r2, [r3, #0] break; 803f808: f004 b8f2 b.w 80439f0 803f80c: 20020070 .word 0x20020070 803f810: 20023e60 .word 0x20023e60 803f814: 10624dd3 .word 0x10624dd3 803f818: 51eb851f .word 0x51eb851f 803f81c: cccccccd .word 0xcccccccd 803f820: 20020f84 .word 0x20020f84 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 803f824: 4bb2 ldr r3, [pc, #712] ; (803faf0 ) 803f826: 781b ldrb r3, [r3, #0] 803f828: b2db uxtb r3, r3 803f82a: 2b0a cmp r3, #10 803f82c: f240 8178 bls.w 803fb20 803f830: 4baf ldr r3, [pc, #700] ; (803faf0 ) 803f832: 781b ldrb r3, [r3, #0] 803f834: b2db uxtb r3, r3 803f836: 2b10 cmp r3, #16 803f838: f200 8172 bhi.w 803fb20 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 803f83c: 4bad ldr r3, [pc, #692] ; (803faf4 ) 803f83e: edd3 7a06 vldr s15, [r3, #24] 803f842: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803f846: ee67 7a87 vmul.f32 s15, s15, s14 803f84a: eefc 7ae7 vcvt.u32.f32 s15, s15 803f84e: ee17 3a90 vmov r3, s15 803f852: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803f856: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f85a: 095b lsrs r3, r3, #5 803f85c: 4aa6 ldr r2, [pc, #664] ; (803faf8 ) 803f85e: fba2 2303 umull r2, r3, r2, r3 803f862: 09db lsrs r3, r3, #7 803f864: b2db uxtb r3, r3 803f866: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803f86a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f86e: 0953 lsrs r3, r2, #5 803f870: 49a1 ldr r1, [pc, #644] ; (803faf8 ) 803f872: fba1 1303 umull r1, r3, r1, r3 803f876: 09db lsrs r3, r3, #7 803f878: 49a0 ldr r1, [pc, #640] ; (803fafc ) 803f87a: fb01 f303 mul.w r3, r1, r3 803f87e: 1ad3 subs r3, r2, r3 803f880: 4a9f ldr r2, [pc, #636] ; (803fb00 ) 803f882: fba2 2303 umull r2, r3, r2, r3 803f886: 0b5b lsrs r3, r3, #13 803f888: b2db uxtb r3, r3 803f88a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803f88e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f892: 0953 lsrs r3, r2, #5 803f894: 4998 ldr r1, [pc, #608] ; (803faf8 ) 803f896: fba1 1303 umull r1, r3, r1, r3 803f89a: 09db lsrs r3, r3, #7 803f89c: 4997 ldr r1, [pc, #604] ; (803fafc ) 803f89e: fb01 f303 mul.w r3, r1, r3 803f8a2: 1ad3 subs r3, r2, r3 803f8a4: 4a96 ldr r2, [pc, #600] ; (803fb00 ) 803f8a6: fba2 1203 umull r1, r2, r2, r3 803f8aa: 0b52 lsrs r2, r2, #13 803f8ac: f242 7110 movw r1, #10000 ; 0x2710 803f8b0: fb01 f202 mul.w r2, r1, r2 803f8b4: 1a9a subs r2, r3, r2 803f8b6: 4b93 ldr r3, [pc, #588] ; (803fb04 ) 803f8b8: fba3 2302 umull r2, r3, r3, r2 803f8bc: 099b lsrs r3, r3, #6 803f8be: b2db uxtb r3, r3 803f8c0: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803f8c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f8c8: 095a lsrs r2, r3, #5 803f8ca: 498b ldr r1, [pc, #556] ; (803faf8 ) 803f8cc: fba1 1202 umull r1, r2, r1, r2 803f8d0: 09d2 lsrs r2, r2, #7 803f8d2: 498a ldr r1, [pc, #552] ; (803fafc ) 803f8d4: fb01 f202 mul.w r2, r1, r2 803f8d8: 1a9a subs r2, r3, r2 803f8da: 4b89 ldr r3, [pc, #548] ; (803fb00 ) 803f8dc: fba3 1302 umull r1, r3, r3, r2 803f8e0: 0b5b lsrs r3, r3, #13 803f8e2: f242 7110 movw r1, #10000 ; 0x2710 803f8e6: fb01 f303 mul.w r3, r1, r3 803f8ea: 1ad3 subs r3, r2, r3 803f8ec: 4a85 ldr r2, [pc, #532] ; (803fb04 ) 803f8ee: fba2 1203 umull r1, r2, r2, r3 803f8f2: 0992 lsrs r2, r2, #6 803f8f4: f44f 717a mov.w r1, #1000 ; 0x3e8 803f8f8: fb01 f202 mul.w r2, r1, r2 803f8fc: 1a9a subs r2, r3, r2 803f8fe: 4b82 ldr r3, [pc, #520] ; (803fb08 ) 803f900: fba3 2302 umull r2, r3, r3, r2 803f904: 095b lsrs r3, r3, #5 803f906: b2db uxtb r3, r3 803f908: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803f90c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f910: 0953 lsrs r3, r2, #5 803f912: 4979 ldr r1, [pc, #484] ; (803faf8 ) 803f914: fba1 1303 umull r1, r3, r1, r3 803f918: 09db lsrs r3, r3, #7 803f91a: 4978 ldr r1, [pc, #480] ; (803fafc ) 803f91c: fb01 f303 mul.w r3, r1, r3 803f920: 1ad3 subs r3, r2, r3 803f922: 4a77 ldr r2, [pc, #476] ; (803fb00 ) 803f924: fba2 1203 umull r1, r2, r2, r3 803f928: 0b52 lsrs r2, r2, #13 803f92a: f242 7110 movw r1, #10000 ; 0x2710 803f92e: fb01 f202 mul.w r2, r1, r2 803f932: 1a9a subs r2, r3, r2 803f934: 4b73 ldr r3, [pc, #460] ; (803fb04 ) 803f936: fba3 1302 umull r1, r3, r3, r2 803f93a: 099b lsrs r3, r3, #6 803f93c: f44f 717a mov.w r1, #1000 ; 0x3e8 803f940: fb01 f303 mul.w r3, r1, r3 803f944: 1ad3 subs r3, r2, r3 803f946: 4a70 ldr r2, [pc, #448] ; (803fb08 ) 803f948: fba2 1203 umull r1, r2, r2, r3 803f94c: 0952 lsrs r2, r2, #5 803f94e: 2164 movs r1, #100 ; 0x64 803f950: fb01 f202 mul.w r2, r1, r2 803f954: 1a9a subs r2, r3, r2 803f956: 4b6d ldr r3, [pc, #436] ; (803fb0c ) 803f958: fba3 2302 umull r2, r3, r3, r2 803f95c: 08db lsrs r3, r3, #3 803f95e: b2db uxtb r3, r3 803f960: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803f964: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f968: 0953 lsrs r3, r2, #5 803f96a: 4963 ldr r1, [pc, #396] ; (803faf8 ) 803f96c: fba1 1303 umull r1, r3, r1, r3 803f970: 09db lsrs r3, r3, #7 803f972: 4962 ldr r1, [pc, #392] ; (803fafc ) 803f974: fb01 f303 mul.w r3, r1, r3 803f978: 1ad3 subs r3, r2, r3 803f97a: 4a61 ldr r2, [pc, #388] ; (803fb00 ) 803f97c: fba2 1203 umull r1, r2, r2, r3 803f980: 0b52 lsrs r2, r2, #13 803f982: f242 7110 movw r1, #10000 ; 0x2710 803f986: fb01 f202 mul.w r2, r1, r2 803f98a: 1a9a subs r2, r3, r2 803f98c: 4b5d ldr r3, [pc, #372] ; (803fb04 ) 803f98e: fba3 1302 umull r1, r3, r3, r2 803f992: 099b lsrs r3, r3, #6 803f994: f44f 717a mov.w r1, #1000 ; 0x3e8 803f998: fb01 f303 mul.w r3, r1, r3 803f99c: 1ad3 subs r3, r2, r3 803f99e: 4a5a ldr r2, [pc, #360] ; (803fb08 ) 803f9a0: fba2 1203 umull r1, r2, r2, r3 803f9a4: 0952 lsrs r2, r2, #5 803f9a6: 2164 movs r1, #100 ; 0x64 803f9a8: fb01 f202 mul.w r2, r1, r2 803f9ac: 1a9a subs r2, r3, r2 803f9ae: 4b57 ldr r3, [pc, #348] ; (803fb0c ) 803f9b0: fba3 1302 umull r1, r3, r3, r2 803f9b4: 08d9 lsrs r1, r3, #3 803f9b6: 460b mov r3, r1 803f9b8: 009b lsls r3, r3, #2 803f9ba: 440b add r3, r1 803f9bc: 005b lsls r3, r3, #1 803f9be: 1ad1 subs r1, r2, r3 803f9c0: b2cb uxtb r3, r1 803f9c2: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803f9c6: 4b4a ldr r3, [pc, #296] ; (803faf0 ) 803f9c8: 781b ldrb r3, [r3, #0] 803f9ca: b2db uxtb r3, r3 803f9cc: 3b0b subs r3, #11 803f9ce: 2b05 cmp r3, #5 803f9d0: d869 bhi.n 803faa6 803f9d2: a201 add r2, pc, #4 ; (adr r2, 803f9d8 ) 803f9d4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803f9d8: 0803f9f1 .word 0x0803f9f1 803f9dc: 0803fa11 .word 0x0803fa11 803f9e0: 0803fa33 .word 0x0803fa33 803f9e4: 0803fa53 .word 0x0803fa53 803f9e8: 0803fa6f .word 0x0803fa6f 803f9ec: 0803fa8b .word 0x0803fa8b if(k > 100000) k -= 100000; 803f9f0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803f9f4: 4a41 ldr r2, [pc, #260] ; (803fafc ) 803f9f6: 4293 cmp r3, r2 803f9f8: d906 bls.n 803fa08 803f9fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803f9fe: 4b44 ldr r3, [pc, #272] ; (803fb10 ) 803fa00: 4413 add r3, r2 803fa02: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa06: e04e b.n 803faa6 else k = 0; 803fa08: 2300 movs r3, #0 803fa0a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa0e: e04a b.n 803faa6 if(k > 10000) k -= 10000; 803fa10: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa14: f242 7210 movw r2, #10000 ; 0x2710 803fa18: 4293 cmp r3, r2 803fa1a: d906 bls.n 803fa2a 803fa1c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fa20: 4b3c ldr r3, [pc, #240] ; (803fb14 ) 803fa22: 4413 add r3, r2 803fa24: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa28: e03d b.n 803faa6 else k = 0; 803fa2a: 2300 movs r3, #0 803fa2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa30: e039 b.n 803faa6 if(k > 1000) k -= 1000; 803fa32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa36: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803fa3a: d906 bls.n 803fa4a 803fa3c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa40: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803fa44: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa48: e02d b.n 803faa6 else k = 0; 803fa4a: 2300 movs r3, #0 803fa4c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa50: e029 b.n 803faa6 if(k > 100) k -= 100; 803fa52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa56: 2b64 cmp r3, #100 ; 0x64 803fa58: d905 bls.n 803fa66 803fa5a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa5e: 3b64 subs r3, #100 ; 0x64 803fa60: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa64: e01f b.n 803faa6 else k = 0; 803fa66: 2300 movs r3, #0 803fa68: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa6c: e01b b.n 803faa6 if(k > 10) k -= 10; 803fa6e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa72: 2b0a cmp r3, #10 803fa74: d905 bls.n 803fa82 803fa76: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa7a: 3b0a subs r3, #10 803fa7c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa80: e011 b.n 803faa6 else k = 0; 803fa82: 2300 movs r3, #0 803fa84: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa88: e00d b.n 803faa6 if(k > 1) k -= 1; 803fa8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa8e: 2b01 cmp r3, #1 803fa90: d905 bls.n 803fa9e 803fa92: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fa96: 3b01 subs r3, #1 803fa98: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fa9c: e002 b.n 803faa4 else k = 0; 803fa9e: 2300 movs r3, #0 803faa0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803faa4: bf00 nop if(k == 0) k = 1; 803faa6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803faaa: 2b00 cmp r3, #0 803faac: d102 bne.n 803fab4 803faae: 2301 movs r3, #1 803fab0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 803fab4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fab8: ee07 3a90 vmov s15, r3 803fabc: eef8 7a67 vcvt.f32.u32 s15, s15 803fac0: 4b0c ldr r3, [pc, #48] ; (803faf4 ) 803fac2: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 803fac6: 4b0b ldr r3, [pc, #44] ; (803faf4 ) 803fac8: edd3 7a06 vldr s15, [r3, #24] 803facc: ed9f 7a12 vldr s14, [pc, #72] ; 803fb18 803fad0: ee67 7a87 vmul.f32 s15, s15, s14 803fad4: 4b07 ldr r3, [pc, #28] ; (803faf4 ) 803fad6: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 803fada: 4b06 ldr r3, [pc, #24] ; (803faf4 ) 803fadc: edd3 7a06 vldr s15, [r3, #24] 803fae0: ed9f 7a0e vldr s14, [pc, #56] ; 803fb1c 803fae4: ee77 7a87 vadd.f32 s15, s15, s14 803fae8: 4b02 ldr r3, [pc, #8] ; (803faf4 ) 803faea: edc3 7a06 vstr s15, [r3, #24] 803faee: e394 b.n 804021a 803faf0: 20020070 .word 0x20020070 803faf4: 20023e60 .word 0x20023e60 803faf8: 0a7c5ac5 .word 0x0a7c5ac5 803fafc: 000186a0 .word 0x000186a0 803fb00: d1b71759 .word 0xd1b71759 803fb04: 10624dd3 .word 0x10624dd3 803fb08: 51eb851f .word 0x51eb851f 803fb0c: cccccccd .word 0xcccccccd 803fb10: fffe7960 .word 0xfffe7960 803fb14: ffffd8f0 .word 0xffffd8f0 803fb18: 3dcccccd .word 0x3dcccccd 803fb1c: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 803fb20: 4bcb ldr r3, [pc, #812] ; (803fe50 ) 803fb22: 781b ldrb r3, [r3, #0] 803fb24: b2db uxtb r3, r3 803fb26: 2b18 cmp r3, #24 803fb28: f240 81aa bls.w 803fe80 803fb2c: 4bc8 ldr r3, [pc, #800] ; (803fe50 ) 803fb2e: 781b ldrb r3, [r3, #0] 803fb30: b2db uxtb r3, r3 803fb32: 2b1e cmp r3, #30 803fb34: f200 81a4 bhi.w 803fe80 k = (uint32_t) (pardata.HP * 10.0f); 803fb38: 4bc6 ldr r3, [pc, #792] ; (803fe54 ) 803fb3a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803fb3e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803fb42: ee67 7a87 vmul.f32 s15, s15, s14 803fb46: eefc 7ae7 vcvt.u32.f32 s15, s15 803fb4a: ee17 3a90 vmov r3, s15 803fb4e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803fb52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fb56: 095b lsrs r3, r3, #5 803fb58: 4abf ldr r2, [pc, #764] ; (803fe58 ) 803fb5a: fba2 2303 umull r2, r3, r2, r3 803fb5e: 09db lsrs r3, r3, #7 803fb60: b2db uxtb r3, r3 803fb62: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803fb66: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fb6a: 0953 lsrs r3, r2, #5 803fb6c: 49ba ldr r1, [pc, #744] ; (803fe58 ) 803fb6e: fba1 1303 umull r1, r3, r1, r3 803fb72: 09db lsrs r3, r3, #7 803fb74: 49b9 ldr r1, [pc, #740] ; (803fe5c ) 803fb76: fb01 f303 mul.w r3, r1, r3 803fb7a: 1ad3 subs r3, r2, r3 803fb7c: 4ab8 ldr r2, [pc, #736] ; (803fe60 ) 803fb7e: fba2 2303 umull r2, r3, r2, r3 803fb82: 0b5b lsrs r3, r3, #13 803fb84: b2db uxtb r3, r3 803fb86: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803fb8a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fb8e: 0953 lsrs r3, r2, #5 803fb90: 49b1 ldr r1, [pc, #708] ; (803fe58 ) 803fb92: fba1 1303 umull r1, r3, r1, r3 803fb96: 09db lsrs r3, r3, #7 803fb98: 49b0 ldr r1, [pc, #704] ; (803fe5c ) 803fb9a: fb01 f303 mul.w r3, r1, r3 803fb9e: 1ad3 subs r3, r2, r3 803fba0: 4aaf ldr r2, [pc, #700] ; (803fe60 ) 803fba2: fba2 1203 umull r1, r2, r2, r3 803fba6: 0b52 lsrs r2, r2, #13 803fba8: f242 7110 movw r1, #10000 ; 0x2710 803fbac: fb01 f202 mul.w r2, r1, r2 803fbb0: 1a9a subs r2, r3, r2 803fbb2: 4bac ldr r3, [pc, #688] ; (803fe64 ) 803fbb4: fba3 2302 umull r2, r3, r3, r2 803fbb8: 099b lsrs r3, r3, #6 803fbba: b2db uxtb r3, r3 803fbbc: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803fbc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fbc4: 095a lsrs r2, r3, #5 803fbc6: 49a4 ldr r1, [pc, #656] ; (803fe58 ) 803fbc8: fba1 1202 umull r1, r2, r1, r2 803fbcc: 09d2 lsrs r2, r2, #7 803fbce: 49a3 ldr r1, [pc, #652] ; (803fe5c ) 803fbd0: fb01 f202 mul.w r2, r1, r2 803fbd4: 1a9a subs r2, r3, r2 803fbd6: 4ba2 ldr r3, [pc, #648] ; (803fe60 ) 803fbd8: fba3 1302 umull r1, r3, r3, r2 803fbdc: 0b5b lsrs r3, r3, #13 803fbde: f242 7110 movw r1, #10000 ; 0x2710 803fbe2: fb01 f303 mul.w r3, r1, r3 803fbe6: 1ad3 subs r3, r2, r3 803fbe8: 4a9e ldr r2, [pc, #632] ; (803fe64 ) 803fbea: fba2 1203 umull r1, r2, r2, r3 803fbee: 0992 lsrs r2, r2, #6 803fbf0: f44f 717a mov.w r1, #1000 ; 0x3e8 803fbf4: fb01 f202 mul.w r2, r1, r2 803fbf8: 1a9a subs r2, r3, r2 803fbfa: 4b9b ldr r3, [pc, #620] ; (803fe68 ) 803fbfc: fba3 2302 umull r2, r3, r3, r2 803fc00: 095b lsrs r3, r3, #5 803fc02: b2db uxtb r3, r3 803fc04: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803fc08: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fc0c: 0953 lsrs r3, r2, #5 803fc0e: 4992 ldr r1, [pc, #584] ; (803fe58 ) 803fc10: fba1 1303 umull r1, r3, r1, r3 803fc14: 09db lsrs r3, r3, #7 803fc16: 4991 ldr r1, [pc, #580] ; (803fe5c ) 803fc18: fb01 f303 mul.w r3, r1, r3 803fc1c: 1ad3 subs r3, r2, r3 803fc1e: 4a90 ldr r2, [pc, #576] ; (803fe60 ) 803fc20: fba2 1203 umull r1, r2, r2, r3 803fc24: 0b52 lsrs r2, r2, #13 803fc26: f242 7110 movw r1, #10000 ; 0x2710 803fc2a: fb01 f202 mul.w r2, r1, r2 803fc2e: 1a9a subs r2, r3, r2 803fc30: 4b8c ldr r3, [pc, #560] ; (803fe64 ) 803fc32: fba3 1302 umull r1, r3, r3, r2 803fc36: 099b lsrs r3, r3, #6 803fc38: f44f 717a mov.w r1, #1000 ; 0x3e8 803fc3c: fb01 f303 mul.w r3, r1, r3 803fc40: 1ad3 subs r3, r2, r3 803fc42: 4a89 ldr r2, [pc, #548] ; (803fe68 ) 803fc44: fba2 1203 umull r1, r2, r2, r3 803fc48: 0952 lsrs r2, r2, #5 803fc4a: 2164 movs r1, #100 ; 0x64 803fc4c: fb01 f202 mul.w r2, r1, r2 803fc50: 1a9a subs r2, r3, r2 803fc52: 4b86 ldr r3, [pc, #536] ; (803fe6c ) 803fc54: fba3 2302 umull r2, r3, r3, r2 803fc58: 08db lsrs r3, r3, #3 803fc5a: b2db uxtb r3, r3 803fc5c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803fc60: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fc64: 0953 lsrs r3, r2, #5 803fc66: 497c ldr r1, [pc, #496] ; (803fe58 ) 803fc68: fba1 1303 umull r1, r3, r1, r3 803fc6c: 09db lsrs r3, r3, #7 803fc6e: 497b ldr r1, [pc, #492] ; (803fe5c ) 803fc70: fb01 f303 mul.w r3, r1, r3 803fc74: 1ad3 subs r3, r2, r3 803fc76: 4a7a ldr r2, [pc, #488] ; (803fe60 ) 803fc78: fba2 1203 umull r1, r2, r2, r3 803fc7c: 0b52 lsrs r2, r2, #13 803fc7e: f242 7110 movw r1, #10000 ; 0x2710 803fc82: fb01 f202 mul.w r2, r1, r2 803fc86: 1a9a subs r2, r3, r2 803fc88: 4b76 ldr r3, [pc, #472] ; (803fe64 ) 803fc8a: fba3 1302 umull r1, r3, r3, r2 803fc8e: 099b lsrs r3, r3, #6 803fc90: f44f 717a mov.w r1, #1000 ; 0x3e8 803fc94: fb01 f303 mul.w r3, r1, r3 803fc98: 1ad3 subs r3, r2, r3 803fc9a: 4a73 ldr r2, [pc, #460] ; (803fe68 ) 803fc9c: fba2 1203 umull r1, r2, r2, r3 803fca0: 0952 lsrs r2, r2, #5 803fca2: 2164 movs r1, #100 ; 0x64 803fca4: fb01 f202 mul.w r2, r1, r2 803fca8: 1a9a subs r2, r3, r2 803fcaa: 4b70 ldr r3, [pc, #448] ; (803fe6c ) 803fcac: fba3 1302 umull r1, r3, r3, r2 803fcb0: 08d9 lsrs r1, r3, #3 803fcb2: 460b mov r3, r1 803fcb4: 009b lsls r3, r3, #2 803fcb6: 440b add r3, r1 803fcb8: 005b lsls r3, r3, #1 803fcba: 1ad1 subs r1, r2, r3 803fcbc: b2cb uxtb r3, r1 803fcbe: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 803fcc2: 4b63 ldr r3, [pc, #396] ; (803fe50 ) 803fcc4: 781b ldrb r3, [r3, #0] 803fcc6: b2db uxtb r3, r3 803fcc8: 3b19 subs r3, #25 803fcca: 2b05 cmp r3, #5 803fccc: d869 bhi.n 803fda2 803fcce: a201 add r2, pc, #4 ; (adr r2, 803fcd4 ) 803fcd0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 803fcd4: 0803fced .word 0x0803fced 803fcd8: 0803fd0d .word 0x0803fd0d 803fcdc: 0803fd2f .word 0x0803fd2f 803fce0: 0803fd4f .word 0x0803fd4f 803fce4: 0803fd6b .word 0x0803fd6b 803fce8: 0803fd87 .word 0x0803fd87 if(k > 100000) k -= 100000; 803fcec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fcf0: 4a5a ldr r2, [pc, #360] ; (803fe5c ) 803fcf2: 4293 cmp r3, r2 803fcf4: d906 bls.n 803fd04 803fcf6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fcfa: 4b5d ldr r3, [pc, #372] ; (803fe70 ) 803fcfc: 4413 add r3, r2 803fcfe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd02: e04e b.n 803fda2 else k = 0; 803fd04: 2300 movs r3, #0 803fd06: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd0a: e04a b.n 803fda2 if(k > 10000) k -= 10000; 803fd0c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd10: f242 7210 movw r2, #10000 ; 0x2710 803fd14: 4293 cmp r3, r2 803fd16: d906 bls.n 803fd26 803fd18: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803fd1c: 4b55 ldr r3, [pc, #340] ; (803fe74 ) 803fd1e: 4413 add r3, r2 803fd20: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd24: e03d b.n 803fda2 else k = 0; 803fd26: 2300 movs r3, #0 803fd28: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd2c: e039 b.n 803fda2 if(k > 1000) k -= 1000; 803fd2e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd32: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 803fd36: d906 bls.n 803fd46 803fd38: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd3c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 803fd40: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd44: e02d b.n 803fda2 else k = 0; 803fd46: 2300 movs r3, #0 803fd48: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd4c: e029 b.n 803fda2 if(k > 100) k -= 100; 803fd4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd52: 2b64 cmp r3, #100 ; 0x64 803fd54: d905 bls.n 803fd62 803fd56: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd5a: 3b64 subs r3, #100 ; 0x64 803fd5c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd60: e01f b.n 803fda2 else k = 0; 803fd62: 2300 movs r3, #0 803fd64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd68: e01b b.n 803fda2 if(k > 10) k -= 10; 803fd6a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd6e: 2b0a cmp r3, #10 803fd70: d905 bls.n 803fd7e 803fd72: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd76: 3b0a subs r3, #10 803fd78: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd7c: e011 b.n 803fda2 else k = 0; 803fd7e: 2300 movs r3, #0 803fd80: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd84: e00d b.n 803fda2 if(k > 1) k -= 1; 803fd86: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd8a: 2b01 cmp r3, #1 803fd8c: d905 bls.n 803fd9a 803fd8e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fd92: 3b01 subs r3, #1 803fd94: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fd98: e002 b.n 803fda0 else k = 0; 803fd9a: 2300 movs r3, #0 803fd9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 803fda0: bf00 nop fl = (float32_t) k; 803fda2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fda6: ee07 3a90 vmov s15, r3 803fdaa: eef8 7a67 vcvt.f32.u32 s15, s15 803fdae: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 803fdb2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803fdb6: ed9f 7a30 vldr s14, [pc, #192] ; 803fe78 803fdba: ee67 7a87 vmul.f32 s15, s15, s14 803fdbe: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 803fdc2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803fdc6: ed9f 7a2d vldr s14, [pc, #180] ; 803fe7c 803fdca: ee77 7a87 vadd.f32 s15, s15, s14 803fdce: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 0.5f) 803fdd2: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803fdd6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 803fdda: eef4 7ac7 vcmpe.f32 s15, s14 803fdde: eef1 fa10 vmrs APSR_nzcv, fpscr 803fde2: d505 bpl.n 803fdf0 pardata.HP = 0.5f; 803fde4: 4b1b ldr r3, [pc, #108] ; (803fe54 ) 803fde6: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 803fdea: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(fl < 0.5f) 803fdee: e214 b.n 804021a if(fl > pardata.LP) 803fdf0: 4b18 ldr r3, [pc, #96] ; (803fe54 ) 803fdf2: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 803fdf6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 803fdfa: eeb4 7ae7 vcmpe.f32 s14, s15 803fdfe: eef1 fa10 vmrs APSR_nzcv, fpscr 803fe02: d506 bpl.n 803fe12 pardata.HP = pardata.LP; 803fe04: 4b13 ldr r3, [pc, #76] ; (803fe54 ) 803fe06: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 803fe0a: 4a12 ldr r2, [pc, #72] ; (803fe54 ) 803fe0c: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(fl < 0.5f) 803fe10: e203 b.n 804021a pardata.HP = (float32_t) k; 803fe12: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803fe16: ee07 3a90 vmov s15, r3 803fe1a: eef8 7a67 vcvt.f32.u32 s15, s15 803fe1e: 4b0d ldr r3, [pc, #52] ; (803fe54 ) 803fe20: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 803fe24: 4b0b ldr r3, [pc, #44] ; (803fe54 ) 803fe26: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803fe2a: ed9f 7a13 vldr s14, [pc, #76] ; 803fe78 803fe2e: ee67 7a87 vmul.f32 s15, s15, s14 803fe32: 4b08 ldr r3, [pc, #32] ; (803fe54 ) 803fe34: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 803fe38: 4b06 ldr r3, [pc, #24] ; (803fe54 ) 803fe3a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 803fe3e: ed9f 7a0f vldr s14, [pc, #60] ; 803fe7c 803fe42: ee77 7a87 vadd.f32 s15, s15, s14 803fe46: 4b03 ldr r3, [pc, #12] ; (803fe54 ) 803fe48: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(fl < 0.5f) 803fe4c: e1e5 b.n 804021a 803fe4e: bf00 nop 803fe50: 20020070 .word 0x20020070 803fe54: 20023e60 .word 0x20023e60 803fe58: 0a7c5ac5 .word 0x0a7c5ac5 803fe5c: 000186a0 .word 0x000186a0 803fe60: d1b71759 .word 0xd1b71759 803fe64: 10624dd3 .word 0x10624dd3 803fe68: 51eb851f .word 0x51eb851f 803fe6c: cccccccd .word 0xcccccccd 803fe70: fffe7960 .word 0xfffe7960 803fe74: ffffd8f0 .word 0xffffd8f0 803fe78: 3dcccccd .word 0x3dcccccd 803fe7c: 38d1b717 .word 0x38d1b717 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 803fe80: 4bd2 ldr r3, [pc, #840] ; (80401cc ) 803fe82: 781b ldrb r3, [r3, #0] 803fe84: b2db uxtb r3, r3 803fe86: 2b1e cmp r3, #30 803fe88: f240 81be bls.w 8040208 803fe8c: 4bcf ldr r3, [pc, #828] ; (80401cc ) 803fe8e: 781b ldrb r3, [r3, #0] 803fe90: b2db uxtb r3, r3 803fe92: 2b24 cmp r3, #36 ; 0x24 803fe94: f200 81b8 bhi.w 8040208 k = (uint32_t) (pardata.LP * 10.0f); 803fe98: 4bcd ldr r3, [pc, #820] ; (80401d0 ) 803fe9a: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 803fe9e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 803fea2: ee67 7a87 vmul.f32 s15, s15, s14 803fea6: eefc 7ae7 vcvt.u32.f32 s15, s15 803feaa: ee17 3a90 vmov r3, s15 803feae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 803feb2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803feb6: 095b lsrs r3, r3, #5 803feb8: 4ac6 ldr r2, [pc, #792] ; (80401d4 ) 803feba: fba2 2303 umull r2, r3, r2, r3 803febe: 09db lsrs r3, r3, #7 803fec0: b2db uxtb r3, r3 803fec2: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 803fec6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803feca: 0953 lsrs r3, r2, #5 803fecc: 49c1 ldr r1, [pc, #772] ; (80401d4 ) 803fece: fba1 1303 umull r1, r3, r1, r3 803fed2: 09db lsrs r3, r3, #7 803fed4: 49c0 ldr r1, [pc, #768] ; (80401d8 ) 803fed6: fb01 f303 mul.w r3, r1, r3 803feda: 1ad3 subs r3, r2, r3 803fedc: 4abf ldr r2, [pc, #764] ; (80401dc ) 803fede: fba2 2303 umull r2, r3, r2, r3 803fee2: 0b5b lsrs r3, r3, #13 803fee4: b2db uxtb r3, r3 803fee6: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 803feea: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803feee: 0953 lsrs r3, r2, #5 803fef0: 49b8 ldr r1, [pc, #736] ; (80401d4 ) 803fef2: fba1 1303 umull r1, r3, r1, r3 803fef6: 09db lsrs r3, r3, #7 803fef8: 49b7 ldr r1, [pc, #732] ; (80401d8 ) 803fefa: fb01 f303 mul.w r3, r1, r3 803fefe: 1ad3 subs r3, r2, r3 803ff00: 4ab6 ldr r2, [pc, #728] ; (80401dc ) 803ff02: fba2 1203 umull r1, r2, r2, r3 803ff06: 0b52 lsrs r2, r2, #13 803ff08: f242 7110 movw r1, #10000 ; 0x2710 803ff0c: fb01 f202 mul.w r2, r1, r2 803ff10: 1a9a subs r2, r3, r2 803ff12: 4bb3 ldr r3, [pc, #716] ; (80401e0 ) 803ff14: fba3 2302 umull r2, r3, r3, r2 803ff18: 099b lsrs r3, r3, #6 803ff1a: b2db uxtb r3, r3 803ff1c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 803ff20: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 803ff24: 095a lsrs r2, r3, #5 803ff26: 49ab ldr r1, [pc, #684] ; (80401d4 ) 803ff28: fba1 1202 umull r1, r2, r1, r2 803ff2c: 09d2 lsrs r2, r2, #7 803ff2e: 49aa ldr r1, [pc, #680] ; (80401d8 ) 803ff30: fb01 f202 mul.w r2, r1, r2 803ff34: 1a9a subs r2, r3, r2 803ff36: 4ba9 ldr r3, [pc, #676] ; (80401dc ) 803ff38: fba3 1302 umull r1, r3, r3, r2 803ff3c: 0b5b lsrs r3, r3, #13 803ff3e: f242 7110 movw r1, #10000 ; 0x2710 803ff42: fb01 f303 mul.w r3, r1, r3 803ff46: 1ad3 subs r3, r2, r3 803ff48: 4aa5 ldr r2, [pc, #660] ; (80401e0 ) 803ff4a: fba2 1203 umull r1, r2, r2, r3 803ff4e: 0992 lsrs r2, r2, #6 803ff50: f44f 717a mov.w r1, #1000 ; 0x3e8 803ff54: fb01 f202 mul.w r2, r1, r2 803ff58: 1a9a subs r2, r3, r2 803ff5a: 4ba2 ldr r3, [pc, #648] ; (80401e4 ) 803ff5c: fba3 2302 umull r2, r3, r3, r2 803ff60: 095b lsrs r3, r3, #5 803ff62: b2db uxtb r3, r3 803ff64: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 803ff68: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ff6c: 0953 lsrs r3, r2, #5 803ff6e: 4999 ldr r1, [pc, #612] ; (80401d4 ) 803ff70: fba1 1303 umull r1, r3, r1, r3 803ff74: 09db lsrs r3, r3, #7 803ff76: 4998 ldr r1, [pc, #608] ; (80401d8 ) 803ff78: fb01 f303 mul.w r3, r1, r3 803ff7c: 1ad3 subs r3, r2, r3 803ff7e: 4a97 ldr r2, [pc, #604] ; (80401dc ) 803ff80: fba2 1203 umull r1, r2, r2, r3 803ff84: 0b52 lsrs r2, r2, #13 803ff86: f242 7110 movw r1, #10000 ; 0x2710 803ff8a: fb01 f202 mul.w r2, r1, r2 803ff8e: 1a9a subs r2, r3, r2 803ff90: 4b93 ldr r3, [pc, #588] ; (80401e0 ) 803ff92: fba3 1302 umull r1, r3, r3, r2 803ff96: 099b lsrs r3, r3, #6 803ff98: f44f 717a mov.w r1, #1000 ; 0x3e8 803ff9c: fb01 f303 mul.w r3, r1, r3 803ffa0: 1ad3 subs r3, r2, r3 803ffa2: 4a90 ldr r2, [pc, #576] ; (80401e4 ) 803ffa4: fba2 1203 umull r1, r2, r2, r3 803ffa8: 0952 lsrs r2, r2, #5 803ffaa: 2164 movs r1, #100 ; 0x64 803ffac: fb01 f202 mul.w r2, r1, r2 803ffb0: 1a9a subs r2, r3, r2 803ffb2: 4b8d ldr r3, [pc, #564] ; (80401e8 ) 803ffb4: fba3 2302 umull r2, r3, r3, r2 803ffb8: 08db lsrs r3, r3, #3 803ffba: b2db uxtb r3, r3 803ffbc: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 803ffc0: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 803ffc4: 0953 lsrs r3, r2, #5 803ffc6: 4983 ldr r1, [pc, #524] ; (80401d4 ) 803ffc8: fba1 1303 umull r1, r3, r1, r3 803ffcc: 09db lsrs r3, r3, #7 803ffce: 4982 ldr r1, [pc, #520] ; (80401d8 ) 803ffd0: fb01 f303 mul.w r3, r1, r3 803ffd4: 1ad3 subs r3, r2, r3 803ffd6: 4a81 ldr r2, [pc, #516] ; (80401dc ) 803ffd8: fba2 1203 umull r1, r2, r2, r3 803ffdc: 0b52 lsrs r2, r2, #13 803ffde: f242 7110 movw r1, #10000 ; 0x2710 803ffe2: fb01 f202 mul.w r2, r1, r2 803ffe6: 1a9a subs r2, r3, r2 803ffe8: 4b7d ldr r3, [pc, #500] ; (80401e0 ) 803ffea: fba3 1302 umull r1, r3, r3, r2 803ffee: 099b lsrs r3, r3, #6 803fff0: f44f 717a mov.w r1, #1000 ; 0x3e8 803fff4: fb01 f303 mul.w r3, r1, r3 803fff8: 1ad3 subs r3, r2, r3 803fffa: 4a7a ldr r2, [pc, #488] ; (80401e4 ) 803fffc: fba2 1203 umull r1, r2, r2, r3 8040000: 0952 lsrs r2, r2, #5 8040002: 2164 movs r1, #100 ; 0x64 8040004: fb01 f202 mul.w r2, r1, r2 8040008: 1a9a subs r2, r3, r2 804000a: 4b77 ldr r3, [pc, #476] ; (80401e8 ) 804000c: fba3 1302 umull r1, r3, r3, r2 8040010: 08d9 lsrs r1, r3, #3 8040012: 460b mov r3, r1 8040014: 009b lsls r3, r3, #2 8040016: 440b add r3, r1 8040018: 005b lsls r3, r3, #1 804001a: 1ad1 subs r1, r2, r3 804001c: b2cb uxtb r3, r1 804001e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8040022: 4b6a ldr r3, [pc, #424] ; (80401cc ) 8040024: 781b ldrb r3, [r3, #0] 8040026: b2db uxtb r3, r3 8040028: 3b1f subs r3, #31 804002a: 2b05 cmp r3, #5 804002c: d869 bhi.n 8040102 804002e: a201 add r2, pc, #4 ; (adr r2, 8040034 ) 8040030: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8040034: 0804004d .word 0x0804004d 8040038: 0804006d .word 0x0804006d 804003c: 0804008f .word 0x0804008f 8040040: 080400af .word 0x080400af 8040044: 080400cb .word 0x080400cb 8040048: 080400e7 .word 0x080400e7 if(k > 100000) k -= 100000; 804004c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040050: 4a61 ldr r2, [pc, #388] ; (80401d8 ) 8040052: 4293 cmp r3, r2 8040054: d906 bls.n 8040064 8040056: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804005a: 4b64 ldr r3, [pc, #400] ; (80401ec ) 804005c: 4413 add r3, r2 804005e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040062: e04e b.n 8040102 else k = 0; 8040064: 2300 movs r3, #0 8040066: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804006a: e04a b.n 8040102 if(k > 10000) k -= 10000; 804006c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040070: f242 7210 movw r2, #10000 ; 0x2710 8040074: 4293 cmp r3, r2 8040076: d906 bls.n 8040086 8040078: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804007c: 4b5c ldr r3, [pc, #368] ; (80401f0 ) 804007e: 4413 add r3, r2 8040080: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040084: e03d b.n 8040102 else k = 0; 8040086: 2300 movs r3, #0 8040088: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804008c: e039 b.n 8040102 if(k > 1000) k -= 1000; 804008e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040092: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040096: d906 bls.n 80400a6 8040098: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804009c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 80400a0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400a4: e02d b.n 8040102 else k = 0; 80400a6: 2300 movs r3, #0 80400a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400ac: e029 b.n 8040102 if(k > 100) k -= 100; 80400ae: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80400b2: 2b64 cmp r3, #100 ; 0x64 80400b4: d905 bls.n 80400c2 80400b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80400ba: 3b64 subs r3, #100 ; 0x64 80400bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400c0: e01f b.n 8040102 else k = 0; 80400c2: 2300 movs r3, #0 80400c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400c8: e01b b.n 8040102 if(k > 10) k -= 10; 80400ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80400ce: 2b0a cmp r3, #10 80400d0: d905 bls.n 80400de 80400d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80400d6: 3b0a subs r3, #10 80400d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400dc: e011 b.n 8040102 else k = 0; 80400de: 2300 movs r3, #0 80400e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400e4: e00d b.n 8040102 if(k > 1) k -= 1; 80400e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80400ea: 2b01 cmp r3, #1 80400ec: d905 bls.n 80400fa 80400ee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80400f2: 3b01 subs r3, #1 80400f4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80400f8: e002 b.n 8040100 else k = 0; 80400fa: 2300 movs r3, #0 80400fc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040100: bf00 nop fl = (float32_t) k; 8040102: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040106: ee07 3a90 vmov s15, r3 804010a: eef8 7a67 vcvt.f32.u32 s15, s15 804010e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8040112: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040116: ed9f 7a37 vldr s14, [pc, #220] ; 80401f4 804011a: ee67 7a87 vmul.f32 s15, s15, s14 804011e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8040122: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040126: ed9f 7a34 vldr s14, [pc, #208] ; 80401f8 804012a: ee77 7a87 vadd.f32 s15, s15, s14 804012e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8040132: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040136: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804013a: eef4 7ac7 vcmpe.f32 s15, s14 804013e: eef1 fa10 vmrs APSR_nzcv, fpscr 8040142: d504 bpl.n 804014e pardata.LP = 10.0f; 8040144: 4b22 ldr r3, [pc, #136] ; (80401d0 ) 8040146: 4a2d ldr r2, [pc, #180] ; (80401fc ) 8040148: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 804014c: e065 b.n 804021a if(pardata.LP < pardata.HP) 804014e: 4b20 ldr r3, [pc, #128] ; (80401d0 ) 8040150: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8040154: 4b1e ldr r3, [pc, #120] ; (80401d0 ) 8040156: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804015a: eeb4 7ae7 vcmpe.f32 s14, s15 804015e: eef1 fa10 vmrs APSR_nzcv, fpscr 8040162: d506 bpl.n 8040172 pardata.LP = pardata.HP; 8040164: 4b1a ldr r3, [pc, #104] ; (80401d0 ) 8040166: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 804016a: 4a19 ldr r2, [pc, #100] ; (80401d0 ) 804016c: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 if(fl < 10.0f) 8040170: e053 b.n 804021a if(fl > 12800.0f) 8040172: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040176: ed9f 7a22 vldr s14, [pc, #136] ; 8040200 804017a: eef4 7ac7 vcmpe.f32 s15, s14 804017e: eef1 fa10 vmrs APSR_nzcv, fpscr 8040182: dd04 ble.n 804018e pardata.LP = 12800.0f; 8040184: 4b12 ldr r3, [pc, #72] ; (80401d0 ) 8040186: 4a1f ldr r2, [pc, #124] ; (8040204 ) 8040188: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 if(fl < 10.0f) 804018c: e045 b.n 804021a pardata.LP = (float32_t) k; 804018e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040192: ee07 3a90 vmov s15, r3 8040196: eef8 7a67 vcvt.f32.u32 s15, s15 804019a: 4b0d ldr r3, [pc, #52] ; (80401d0 ) 804019c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 80401a0: 4b0b ldr r3, [pc, #44] ; (80401d0 ) 80401a2: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80401a6: ed9f 7a13 vldr s14, [pc, #76] ; 80401f4 80401aa: ee67 7a87 vmul.f32 s15, s15, s14 80401ae: 4b08 ldr r3, [pc, #32] ; (80401d0 ) 80401b0: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 80401b4: 4b06 ldr r3, [pc, #24] ; (80401d0 ) 80401b6: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80401ba: ed9f 7a0f vldr s14, [pc, #60] ; 80401f8 80401be: ee77 7a87 vadd.f32 s15, s15, s14 80401c2: 4b03 ldr r3, [pc, #12] ; (80401d0 ) 80401c4: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 if(fl < 10.0f) 80401c8: e027 b.n 804021a 80401ca: bf00 nop 80401cc: 20020070 .word 0x20020070 80401d0: 20023e60 .word 0x20023e60 80401d4: 0a7c5ac5 .word 0x0a7c5ac5 80401d8: 000186a0 .word 0x000186a0 80401dc: d1b71759 .word 0xd1b71759 80401e0: 10624dd3 .word 0x10624dd3 80401e4: 51eb851f .word 0x51eb851f 80401e8: cccccccd .word 0xcccccccd 80401ec: fffe7960 .word 0xfffe7960 80401f0: ffffd8f0 .word 0xffffd8f0 80401f4: 3dcccccd .word 0x3dcccccd 80401f8: 38d1b717 .word 0x38d1b717 80401fc: 41200000 .word 0x41200000 8040200: 46480000 .word 0x46480000 8040204: 46480000 .word 0x46480000 menupos++; 8040208: 4bc9 ldr r3, [pc, #804] ; (8040530 ) 804020a: 781b ldrb r3, [r3, #0] 804020c: b2db uxtb r3, r3 804020e: 3301 adds r3, #1 8040210: b2da uxtb r2, r3 8040212: 4bc7 ldr r3, [pc, #796] ; (8040530 ) 8040214: 701a strb r2, [r3, #0] break; 8040216: f003 bbeb b.w 80439f0 804021a: f003 bbe9 b.w 80439f0 case PARAM_SPEC: focused = false; 804021e: 4bc5 ldr r3, [pc, #788] ; (8040534 ) 8040220: 2200 movs r2, #0 8040222: 701a strb r2, [r3, #0] switch(pardata.OPTIONS & maskFFT) 8040224: 4bc4 ldr r3, [pc, #784] ; (8040538 ) 8040226: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804022a: f003 0330 and.w r3, r3, #48 ; 0x30 804022e: 2b10 cmp r3, #16 8040230: d00d beq.n 804024e 8040232: 2b10 cmp r3, #16 8040234: d803 bhi.n 804023e 8040236: 2b00 cmp r3, #0 8040238: d009 beq.n 804024e pardata.LP += 0.0001f; } } break; } break; 804023a: f003 bbd9 b.w 80439f0 switch(pardata.OPTIONS & maskFFT) 804023e: 2b20 cmp r3, #32 8040240: f000 85f5 beq.w 8040e2e 8040244: 2b30 cmp r3, #48 ; 0x30 8040246: f000 85f2 beq.w 8040e2e break; 804024a: f003 bbd1 b.w 80439f0 if(menupos == Ok) 804024e: 4bb8 ldr r3, [pc, #736] ; (8040530 ) 8040250: 781b ldrb r3, [r3, #0] 8040252: b2db uxtb r3, r3 8040254: 2b00 cmp r3, #0 8040256: d104 bne.n 8040262 menupos = SpecType; 8040258: 4bb5 ldr r3, [pc, #724] ; (8040530 ) 804025a: 2201 movs r2, #1 804025c: 701a strb r2, [r3, #0] break; 804025e: f001 bb9c b.w 804199a if(menupos == SpecType) 8040262: 4bb3 ldr r3, [pc, #716] ; (8040530 ) 8040264: 781b ldrb r3, [r3, #0] 8040266: b2db uxtb r3, r3 8040268: 2b01 cmp r3, #1 804026a: d104 bne.n 8040276 menupos = SpecValue; 804026c: 4bb0 ldr r3, [pc, #704] ; (8040530 ) 804026e: 2202 movs r2, #2 8040270: 701a strb r2, [r3, #0] break; 8040272: f001 bb92 b.w 804199a if(menupos == SpecValue) 8040276: 4bae ldr r3, [pc, #696] ; (8040530 ) 8040278: 781b ldrb r3, [r3, #0] 804027a: b2db uxtb r3, r3 804027c: 2b02 cmp r3, #2 804027e: d104 bne.n 804028a menupos = FilterHP; 8040280: 4bab ldr r3, [pc, #684] ; (8040530 ) 8040282: 2217 movs r2, #23 8040284: 701a strb r2, [r3, #0] break; 8040286: f001 bb88 b.w 804199a if(menupos == FilterHP) 804028a: 4ba9 ldr r3, [pc, #676] ; (8040530 ) 804028c: 781b ldrb r3, [r3, #0] 804028e: b2db uxtb r3, r3 8040290: 2b17 cmp r3, #23 8040292: d104 bne.n 804029e menupos = FilterLP; 8040294: 4ba6 ldr r3, [pc, #664] ; (8040530 ) 8040296: 2218 movs r2, #24 8040298: 701a strb r2, [r3, #0] break; 804029a: f001 bb7e b.w 804199a if(menupos == FilterLP) 804029e: 4ba4 ldr r3, [pc, #656] ; (8040530 ) 80402a0: 781b ldrb r3, [r3, #0] 80402a2: b2db uxtb r3, r3 80402a4: 2b18 cmp r3, #24 80402a6: d104 bne.n 80402b2 menupos = SpecLines; 80402a8: 4ba1 ldr r3, [pc, #644] ; (8040530 ) 80402aa: 2204 movs r2, #4 80402ac: 701a strb r2, [r3, #0] break; 80402ae: f001 bb74 b.w 804199a if(menupos == SpecLines) 80402b2: 4b9f ldr r3, [pc, #636] ; (8040530 ) 80402b4: 781b ldrb r3, [r3, #0] 80402b6: b2db uxtb r3, r3 80402b8: 2b04 cmp r3, #4 80402ba: d104 bne.n 80402c6 menupos = LinLog; 80402bc: 4b9c ldr r3, [pc, #624] ; (8040530 ) 80402be: 2205 movs r2, #5 80402c0: 701a strb r2, [r3, #0] break; 80402c2: f001 bb6a b.w 804199a if(menupos == LinLog) 80402c6: 4b9a ldr r3, [pc, #616] ; (8040530 ) 80402c8: 781b ldrb r3, [r3, #0] 80402ca: b2db uxtb r3, r3 80402cc: 2b05 cmp r3, #5 80402ce: d104 bne.n 80402da menupos = SpecWin; 80402d0: 4b97 ldr r3, [pc, #604] ; (8040530 ) 80402d2: 2206 movs r2, #6 80402d4: 701a strb r2, [r3, #0] break; 80402d6: f001 bb60 b.w 804199a if(menupos == SpecWin) 80402da: 4b95 ldr r3, [pc, #596] ; (8040530 ) 80402dc: 781b ldrb r3, [r3, #0] 80402de: b2db uxtb r3, r3 80402e0: 2b06 cmp r3, #6 80402e2: d104 bne.n 80402ee menupos = SAverage; 80402e4: 4b92 ldr r3, [pc, #584] ; (8040530 ) 80402e6: 2207 movs r2, #7 80402e8: 701a strb r2, [r3, #0] break; 80402ea: f001 bb56 b.w 804199a if(menupos == SAverage) 80402ee: 4b90 ldr r3, [pc, #576] ; (8040530 ) 80402f0: 781b ldrb r3, [r3, #0] 80402f2: b2db uxtb r3, r3 80402f4: 2b07 cmp r3, #7 80402f6: d104 bne.n 8040302 menupos = VibAutoKu; 80402f8: 4b8d ldr r3, [pc, #564] ; (8040530 ) 80402fa: 2208 movs r2, #8 80402fc: 701a strb r2, [r3, #0] break; 80402fe: f001 bb4c b.w 804199a if(menupos == VibAutoKu) 8040302: 4b8b ldr r3, [pc, #556] ; (8040530 ) 8040304: 781b ldrb r3, [r3, #0] 8040306: b2db uxtb r3, r3 8040308: 2b08 cmp r3, #8 804030a: d110 bne.n 804032e if(pardata.OPTIONS & 0x4) 804030c: 4b8a ldr r3, [pc, #552] ; (8040538 ) 804030e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8040312: f003 0304 and.w r3, r3, #4 8040316: 2b00 cmp r3, #0 8040318: d004 beq.n 8040324 menupos = Ok; 804031a: 4b85 ldr r3, [pc, #532] ; (8040530 ) 804031c: 2200 movs r2, #0 804031e: 701a strb r2, [r3, #0] break; 8040320: f001 bb3b b.w 804199a else menupos = VibMax_ALL; 8040324: 4b82 ldr r3, [pc, #520] ; (8040530 ) 8040326: 2209 movs r2, #9 8040328: 701a strb r2, [r3, #0] break; 804032a: f001 bb36 b.w 804199a if(menupos == VibMax_ALL) 804032e: 4b80 ldr r3, [pc, #512] ; (8040530 ) 8040330: 781b ldrb r3, [r3, #0] 8040332: b2db uxtb r3, r3 8040334: 2b09 cmp r3, #9 8040336: d104 bne.n 8040342 menupos = Ok; 8040338: 4b7d ldr r3, [pc, #500] ; (8040530 ) 804033a: 2200 movs r2, #0 804033c: 701a strb r2, [r3, #0] break; 804033e: f001 bb2c b.w 804199a if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8040342: 4b7b ldr r3, [pc, #492] ; (8040530 ) 8040344: 781b ldrb r3, [r3, #0] 8040346: b2db uxtb r3, r3 8040348: 2b0a cmp r3, #10 804034a: f240 8175 bls.w 8040638 804034e: 4b78 ldr r3, [pc, #480] ; (8040530 ) 8040350: 781b ldrb r3, [r3, #0] 8040352: b2db uxtb r3, r3 8040354: 2b10 cmp r3, #16 8040356: f200 816f bhi.w 8040638 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 804035a: 4b77 ldr r3, [pc, #476] ; (8040538 ) 804035c: edd3 7a06 vldr s15, [r3, #24] 8040360: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8040364: ee67 7a87 vmul.f32 s15, s15, s14 8040368: eefc 7ae7 vcvt.u32.f32 s15, s15 804036c: ee17 3a90 vmov r3, s15 8040370: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8040374: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040378: 095b lsrs r3, r3, #5 804037a: 4a70 ldr r2, [pc, #448] ; (804053c ) 804037c: fba2 2303 umull r2, r3, r2, r3 8040380: 09db lsrs r3, r3, #7 8040382: b2db uxtb r3, r3 8040384: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8040388: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804038c: 0953 lsrs r3, r2, #5 804038e: 496b ldr r1, [pc, #428] ; (804053c ) 8040390: fba1 1303 umull r1, r3, r1, r3 8040394: 09db lsrs r3, r3, #7 8040396: 496a ldr r1, [pc, #424] ; (8040540 ) 8040398: fb01 f303 mul.w r3, r1, r3 804039c: 1ad3 subs r3, r2, r3 804039e: 4a69 ldr r2, [pc, #420] ; (8040544 ) 80403a0: fba2 2303 umull r2, r3, r2, r3 80403a4: 0b5b lsrs r3, r3, #13 80403a6: b2db uxtb r3, r3 80403a8: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80403ac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80403b0: 0953 lsrs r3, r2, #5 80403b2: 4962 ldr r1, [pc, #392] ; (804053c ) 80403b4: fba1 1303 umull r1, r3, r1, r3 80403b8: 09db lsrs r3, r3, #7 80403ba: 4961 ldr r1, [pc, #388] ; (8040540 ) 80403bc: fb01 f303 mul.w r3, r1, r3 80403c0: 1ad3 subs r3, r2, r3 80403c2: 4a60 ldr r2, [pc, #384] ; (8040544 ) 80403c4: fba2 1203 umull r1, r2, r2, r3 80403c8: 0b52 lsrs r2, r2, #13 80403ca: f242 7110 movw r1, #10000 ; 0x2710 80403ce: fb01 f202 mul.w r2, r1, r2 80403d2: 1a9a subs r2, r3, r2 80403d4: 4b5c ldr r3, [pc, #368] ; (8040548 ) 80403d6: fba3 2302 umull r2, r3, r3, r2 80403da: 099b lsrs r3, r3, #6 80403dc: b2db uxtb r3, r3 80403de: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80403e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80403e6: 095a lsrs r2, r3, #5 80403e8: 4954 ldr r1, [pc, #336] ; (804053c ) 80403ea: fba1 1202 umull r1, r2, r1, r2 80403ee: 09d2 lsrs r2, r2, #7 80403f0: 4953 ldr r1, [pc, #332] ; (8040540 ) 80403f2: fb01 f202 mul.w r2, r1, r2 80403f6: 1a9a subs r2, r3, r2 80403f8: 4b52 ldr r3, [pc, #328] ; (8040544 ) 80403fa: fba3 1302 umull r1, r3, r3, r2 80403fe: 0b5b lsrs r3, r3, #13 8040400: f242 7110 movw r1, #10000 ; 0x2710 8040404: fb01 f303 mul.w r3, r1, r3 8040408: 1ad3 subs r3, r2, r3 804040a: 4a4f ldr r2, [pc, #316] ; (8040548 ) 804040c: fba2 1203 umull r1, r2, r2, r3 8040410: 0992 lsrs r2, r2, #6 8040412: f44f 717a mov.w r1, #1000 ; 0x3e8 8040416: fb01 f202 mul.w r2, r1, r2 804041a: 1a9a subs r2, r3, r2 804041c: 4b4b ldr r3, [pc, #300] ; (804054c ) 804041e: fba3 2302 umull r2, r3, r3, r2 8040422: 095b lsrs r3, r3, #5 8040424: b2db uxtb r3, r3 8040426: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 804042a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804042e: 0953 lsrs r3, r2, #5 8040430: 4942 ldr r1, [pc, #264] ; (804053c ) 8040432: fba1 1303 umull r1, r3, r1, r3 8040436: 09db lsrs r3, r3, #7 8040438: 4941 ldr r1, [pc, #260] ; (8040540 ) 804043a: fb01 f303 mul.w r3, r1, r3 804043e: 1ad3 subs r3, r2, r3 8040440: 4a40 ldr r2, [pc, #256] ; (8040544 ) 8040442: fba2 1203 umull r1, r2, r2, r3 8040446: 0b52 lsrs r2, r2, #13 8040448: f242 7110 movw r1, #10000 ; 0x2710 804044c: fb01 f202 mul.w r2, r1, r2 8040450: 1a9a subs r2, r3, r2 8040452: 4b3d ldr r3, [pc, #244] ; (8040548 ) 8040454: fba3 1302 umull r1, r3, r3, r2 8040458: 099b lsrs r3, r3, #6 804045a: f44f 717a mov.w r1, #1000 ; 0x3e8 804045e: fb01 f303 mul.w r3, r1, r3 8040462: 1ad3 subs r3, r2, r3 8040464: 4a39 ldr r2, [pc, #228] ; (804054c ) 8040466: fba2 1203 umull r1, r2, r2, r3 804046a: 0952 lsrs r2, r2, #5 804046c: 2164 movs r1, #100 ; 0x64 804046e: fb01 f202 mul.w r2, r1, r2 8040472: 1a9a subs r2, r3, r2 8040474: 4b36 ldr r3, [pc, #216] ; (8040550 ) 8040476: fba3 2302 umull r2, r3, r3, r2 804047a: 08db lsrs r3, r3, #3 804047c: b2db uxtb r3, r3 804047e: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8040482: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040486: 0953 lsrs r3, r2, #5 8040488: 492c ldr r1, [pc, #176] ; (804053c ) 804048a: fba1 1303 umull r1, r3, r1, r3 804048e: 09db lsrs r3, r3, #7 8040490: 492b ldr r1, [pc, #172] ; (8040540 ) 8040492: fb01 f303 mul.w r3, r1, r3 8040496: 1ad3 subs r3, r2, r3 8040498: 4a2a ldr r2, [pc, #168] ; (8040544 ) 804049a: fba2 1203 umull r1, r2, r2, r3 804049e: 0b52 lsrs r2, r2, #13 80404a0: f242 7110 movw r1, #10000 ; 0x2710 80404a4: fb01 f202 mul.w r2, r1, r2 80404a8: 1a9a subs r2, r3, r2 80404aa: 4b27 ldr r3, [pc, #156] ; (8040548 ) 80404ac: fba3 1302 umull r1, r3, r3, r2 80404b0: 099b lsrs r3, r3, #6 80404b2: f44f 717a mov.w r1, #1000 ; 0x3e8 80404b6: fb01 f303 mul.w r3, r1, r3 80404ba: 1ad3 subs r3, r2, r3 80404bc: 4a23 ldr r2, [pc, #140] ; (804054c ) 80404be: fba2 1203 umull r1, r2, r2, r3 80404c2: 0952 lsrs r2, r2, #5 80404c4: 2164 movs r1, #100 ; 0x64 80404c6: fb01 f202 mul.w r2, r1, r2 80404ca: 1a9a subs r2, r3, r2 80404cc: 4b20 ldr r3, [pc, #128] ; (8040550 ) 80404ce: fba3 1302 umull r1, r3, r3, r2 80404d2: 08d9 lsrs r1, r3, #3 80404d4: 460b mov r3, r1 80404d6: 009b lsls r3, r3, #2 80404d8: 440b add r3, r1 80404da: 005b lsls r3, r3, #1 80404dc: 1ad1 subs r1, r2, r3 80404de: b2cb uxtb r3, r1 80404e0: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80404e4: 4b12 ldr r3, [pc, #72] ; (8040530 ) 80404e6: 781b ldrb r3, [r3, #0] 80404e8: b2db uxtb r3, r3 80404ea: 3b0b subs r3, #11 80404ec: 2b05 cmp r3, #5 80404ee: d87e bhi.n 80405ee 80404f0: a201 add r2, pc, #4 ; (adr r2, 80404f8 ) 80404f2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80404f6: bf00 nop 80404f8: 08040511 .word 0x08040511 80404fc: 08040559 .word 0x08040559 8040500: 0804057b .word 0x0804057b 8040504: 0804059b .word 0x0804059b 8040508: 080405b7 .word 0x080405b7 804050c: 080405d3 .word 0x080405d3 if(k > 100000) k -= 100000; 8040510: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040514: 4a0a ldr r2, [pc, #40] ; (8040540 ) 8040516: 4293 cmp r3, r2 8040518: d906 bls.n 8040528 804051a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804051e: 4b0d ldr r3, [pc, #52] ; (8040554 ) 8040520: 4413 add r3, r2 8040522: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040526: e062 b.n 80405ee else k = 0; 8040528: 2300 movs r3, #0 804052a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804052e: e05e b.n 80405ee 8040530: 20020070 .word 0x20020070 8040534: 20020f84 .word 0x20020f84 8040538: 20023e60 .word 0x20023e60 804053c: 0a7c5ac5 .word 0x0a7c5ac5 8040540: 000186a0 .word 0x000186a0 8040544: d1b71759 .word 0xd1b71759 8040548: 10624dd3 .word 0x10624dd3 804054c: 51eb851f .word 0x51eb851f 8040550: cccccccd .word 0xcccccccd 8040554: fffe7960 .word 0xfffe7960 if(k > 10000) k -= 10000; 8040558: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804055c: f242 7210 movw r2, #10000 ; 0x2710 8040560: 4293 cmp r3, r2 8040562: d906 bls.n 8040572 8040564: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040568: 4bd3 ldr r3, [pc, #844] ; (80408b8 ) 804056a: 4413 add r3, r2 804056c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040570: e03d b.n 80405ee else k = 0; 8040572: 2300 movs r3, #0 8040574: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040578: e039 b.n 80405ee if(k > 1000) k -= 1000; 804057a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804057e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040582: d906 bls.n 8040592 8040584: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040588: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804058c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040590: e02d b.n 80405ee else k = 0; 8040592: 2300 movs r3, #0 8040594: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040598: e029 b.n 80405ee if(k > 100) k -= 100; 804059a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804059e: 2b64 cmp r3, #100 ; 0x64 80405a0: d905 bls.n 80405ae 80405a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80405a6: 3b64 subs r3, #100 ; 0x64 80405a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80405ac: e01f b.n 80405ee else k = 0; 80405ae: 2300 movs r3, #0 80405b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80405b4: e01b b.n 80405ee if(k > 10) k -= 10; 80405b6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80405ba: 2b0a cmp r3, #10 80405bc: d905 bls.n 80405ca 80405be: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80405c2: 3b0a subs r3, #10 80405c4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80405c8: e011 b.n 80405ee else k = 0; 80405ca: 2300 movs r3, #0 80405cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80405d0: e00d b.n 80405ee if(k > 1) k -= 1; 80405d2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80405d6: 2b01 cmp r3, #1 80405d8: d905 bls.n 80405e6 80405da: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80405de: 3b01 subs r3, #1 80405e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80405e4: e002 b.n 80405ec else k = 0; 80405e6: 2300 movs r3, #0 80405e8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80405ec: bf00 nop if(k == 0) k = 1; 80405ee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80405f2: 2b00 cmp r3, #0 80405f4: d102 bne.n 80405fc 80405f6: 2301 movs r3, #1 80405f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 80405fc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040600: ee07 3a90 vmov s15, r3 8040604: eef8 7a67 vcvt.f32.u32 s15, s15 8040608: 4bac ldr r3, [pc, #688] ; (80408bc ) 804060a: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 804060e: 4bab ldr r3, [pc, #684] ; (80408bc ) 8040610: edd3 7a06 vldr s15, [r3, #24] 8040614: ed9f 7ab3 vldr s14, [pc, #716] ; 80408e4 8040618: ee67 7a87 vmul.f32 s15, s15, s14 804061c: 4ba7 ldr r3, [pc, #668] ; (80408bc ) 804061e: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8040622: 4ba6 ldr r3, [pc, #664] ; (80408bc ) 8040624: edd3 7a06 vldr s15, [r3, #24] 8040628: ed9f 7aa5 vldr s14, [pc, #660] ; 80408c0 804062c: ee77 7a87 vadd.f32 s15, s15, s14 8040630: 4ba2 ldr r3, [pc, #648] ; (80408bc ) 8040632: edc3 7a06 vstr s15, [r3, #24] 8040636: e3f8 b.n 8040e2a if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8040638: 4ba2 ldr r3, [pc, #648] ; (80408c4 ) 804063a: 781b ldrb r3, [r3, #0] 804063c: b2db uxtb r3, r3 804063e: 2b18 cmp r3, #24 8040640: f240 81f1 bls.w 8040a26 8040644: 4b9f ldr r3, [pc, #636] ; (80408c4 ) 8040646: 781b ldrb r3, [r3, #0] 8040648: b2db uxtb r3, r3 804064a: 2b1e cmp r3, #30 804064c: f200 81eb bhi.w 8040a26 k = (uint32_t) (pardata.HP * 10.0f); 8040650: 4b9a ldr r3, [pc, #616] ; (80408bc ) 8040652: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040656: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804065a: ee67 7a87 vmul.f32 s15, s15, s14 804065e: eefc 7ae7 vcvt.u32.f32 s15, s15 8040662: ee17 3a90 vmov r3, s15 8040666: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804066a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804066e: 095b lsrs r3, r3, #5 8040670: 4a95 ldr r2, [pc, #596] ; (80408c8 ) 8040672: fba2 2303 umull r2, r3, r2, r3 8040676: 09db lsrs r3, r3, #7 8040678: b2db uxtb r3, r3 804067a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804067e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040682: 0953 lsrs r3, r2, #5 8040684: 4990 ldr r1, [pc, #576] ; (80408c8 ) 8040686: fba1 1303 umull r1, r3, r1, r3 804068a: 09db lsrs r3, r3, #7 804068c: 498f ldr r1, [pc, #572] ; (80408cc ) 804068e: fb01 f303 mul.w r3, r1, r3 8040692: 1ad3 subs r3, r2, r3 8040694: 4a8e ldr r2, [pc, #568] ; (80408d0 ) 8040696: fba2 2303 umull r2, r3, r2, r3 804069a: 0b5b lsrs r3, r3, #13 804069c: b2db uxtb r3, r3 804069e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 80406a2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80406a6: 0953 lsrs r3, r2, #5 80406a8: 4987 ldr r1, [pc, #540] ; (80408c8 ) 80406aa: fba1 1303 umull r1, r3, r1, r3 80406ae: 09db lsrs r3, r3, #7 80406b0: 4986 ldr r1, [pc, #536] ; (80408cc ) 80406b2: fb01 f303 mul.w r3, r1, r3 80406b6: 1ad3 subs r3, r2, r3 80406b8: 4a85 ldr r2, [pc, #532] ; (80408d0 ) 80406ba: fba2 1203 umull r1, r2, r2, r3 80406be: 0b52 lsrs r2, r2, #13 80406c0: f242 7110 movw r1, #10000 ; 0x2710 80406c4: fb01 f202 mul.w r2, r1, r2 80406c8: 1a9a subs r2, r3, r2 80406ca: 4b82 ldr r3, [pc, #520] ; (80408d4 ) 80406cc: fba3 2302 umull r2, r3, r3, r2 80406d0: 099b lsrs r3, r3, #6 80406d2: b2db uxtb r3, r3 80406d4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80406d8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80406dc: 095a lsrs r2, r3, #5 80406de: 497a ldr r1, [pc, #488] ; (80408c8 ) 80406e0: fba1 1202 umull r1, r2, r1, r2 80406e4: 09d2 lsrs r2, r2, #7 80406e6: 4979 ldr r1, [pc, #484] ; (80408cc ) 80406e8: fb01 f202 mul.w r2, r1, r2 80406ec: 1a9a subs r2, r3, r2 80406ee: 4b78 ldr r3, [pc, #480] ; (80408d0 ) 80406f0: fba3 1302 umull r1, r3, r3, r2 80406f4: 0b5b lsrs r3, r3, #13 80406f6: f242 7110 movw r1, #10000 ; 0x2710 80406fa: fb01 f303 mul.w r3, r1, r3 80406fe: 1ad3 subs r3, r2, r3 8040700: 4a74 ldr r2, [pc, #464] ; (80408d4 ) 8040702: fba2 1203 umull r1, r2, r2, r3 8040706: 0992 lsrs r2, r2, #6 8040708: f44f 717a mov.w r1, #1000 ; 0x3e8 804070c: fb01 f202 mul.w r2, r1, r2 8040710: 1a9a subs r2, r3, r2 8040712: 4b71 ldr r3, [pc, #452] ; (80408d8 ) 8040714: fba3 2302 umull r2, r3, r3, r2 8040718: 095b lsrs r3, r3, #5 804071a: b2db uxtb r3, r3 804071c: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8040720: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040724: 0953 lsrs r3, r2, #5 8040726: 4968 ldr r1, [pc, #416] ; (80408c8 ) 8040728: fba1 1303 umull r1, r3, r1, r3 804072c: 09db lsrs r3, r3, #7 804072e: 4967 ldr r1, [pc, #412] ; (80408cc ) 8040730: fb01 f303 mul.w r3, r1, r3 8040734: 1ad3 subs r3, r2, r3 8040736: 4a66 ldr r2, [pc, #408] ; (80408d0 ) 8040738: fba2 1203 umull r1, r2, r2, r3 804073c: 0b52 lsrs r2, r2, #13 804073e: f242 7110 movw r1, #10000 ; 0x2710 8040742: fb01 f202 mul.w r2, r1, r2 8040746: 1a9a subs r2, r3, r2 8040748: 4b62 ldr r3, [pc, #392] ; (80408d4 ) 804074a: fba3 1302 umull r1, r3, r3, r2 804074e: 099b lsrs r3, r3, #6 8040750: f44f 717a mov.w r1, #1000 ; 0x3e8 8040754: fb01 f303 mul.w r3, r1, r3 8040758: 1ad3 subs r3, r2, r3 804075a: 4a5f ldr r2, [pc, #380] ; (80408d8 ) 804075c: fba2 1203 umull r1, r2, r2, r3 8040760: 0952 lsrs r2, r2, #5 8040762: 2164 movs r1, #100 ; 0x64 8040764: fb01 f202 mul.w r2, r1, r2 8040768: 1a9a subs r2, r3, r2 804076a: 4b5c ldr r3, [pc, #368] ; (80408dc ) 804076c: fba3 2302 umull r2, r3, r3, r2 8040770: 08db lsrs r3, r3, #3 8040772: b2db uxtb r3, r3 8040774: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8040778: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804077c: 0953 lsrs r3, r2, #5 804077e: 4952 ldr r1, [pc, #328] ; (80408c8 ) 8040780: fba1 1303 umull r1, r3, r1, r3 8040784: 09db lsrs r3, r3, #7 8040786: 4951 ldr r1, [pc, #324] ; (80408cc ) 8040788: fb01 f303 mul.w r3, r1, r3 804078c: 1ad3 subs r3, r2, r3 804078e: 4a50 ldr r2, [pc, #320] ; (80408d0 ) 8040790: fba2 1203 umull r1, r2, r2, r3 8040794: 0b52 lsrs r2, r2, #13 8040796: f242 7110 movw r1, #10000 ; 0x2710 804079a: fb01 f202 mul.w r2, r1, r2 804079e: 1a9a subs r2, r3, r2 80407a0: 4b4c ldr r3, [pc, #304] ; (80408d4 ) 80407a2: fba3 1302 umull r1, r3, r3, r2 80407a6: 099b lsrs r3, r3, #6 80407a8: f44f 717a mov.w r1, #1000 ; 0x3e8 80407ac: fb01 f303 mul.w r3, r1, r3 80407b0: 1ad3 subs r3, r2, r3 80407b2: 4a49 ldr r2, [pc, #292] ; (80408d8 ) 80407b4: fba2 1203 umull r1, r2, r2, r3 80407b8: 0952 lsrs r2, r2, #5 80407ba: 2164 movs r1, #100 ; 0x64 80407bc: fb01 f202 mul.w r2, r1, r2 80407c0: 1a9a subs r2, r3, r2 80407c2: 4b46 ldr r3, [pc, #280] ; (80408dc ) 80407c4: fba3 1302 umull r1, r3, r3, r2 80407c8: 08d9 lsrs r1, r3, #3 80407ca: 460b mov r3, r1 80407cc: 009b lsls r3, r3, #2 80407ce: 440b add r3, r1 80407d0: 005b lsls r3, r3, #1 80407d2: 1ad1 subs r1, r2, r3 80407d4: b2cb uxtb r3, r1 80407d6: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80407da: 4b3a ldr r3, [pc, #232] ; (80408c4 ) 80407dc: 781b ldrb r3, [r3, #0] 80407de: b2db uxtb r3, r3 80407e0: 3b19 subs r3, #25 80407e2: 2b05 cmp r3, #5 80407e4: f200 8086 bhi.w 80408f4 80407e8: a201 add r2, pc, #4 ; (adr r2, 80407f0 ) 80407ea: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80407ee: bf00 nop 80407f0: 08040809 .word 0x08040809 80407f4: 08040829 .word 0x08040829 80407f8: 0804084b .word 0x0804084b 80407fc: 0804086b .word 0x0804086b 8040800: 08040887 .word 0x08040887 8040804: 080408a3 .word 0x080408a3 if(k > 100000) k -= 100000; 8040808: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804080c: 4a2f ldr r2, [pc, #188] ; (80408cc ) 804080e: 4293 cmp r3, r2 8040810: d906 bls.n 8040820 8040812: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040816: 4b32 ldr r3, [pc, #200] ; (80408e0 ) 8040818: 4413 add r3, r2 804081a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804081e: e069 b.n 80408f4 else k = 0; 8040820: 2300 movs r3, #0 8040822: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040826: e065 b.n 80408f4 if(k > 10000) k -= 10000; 8040828: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804082c: f242 7210 movw r2, #10000 ; 0x2710 8040830: 4293 cmp r3, r2 8040832: d906 bls.n 8040842 8040834: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040838: 4b1f ldr r3, [pc, #124] ; (80408b8 ) 804083a: 4413 add r3, r2 804083c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040840: e058 b.n 80408f4 else k = 0; 8040842: 2300 movs r3, #0 8040844: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040848: e054 b.n 80408f4 if(k > 1000) k -= 1000; 804084a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804084e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040852: d906 bls.n 8040862 8040854: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040858: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804085c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040860: e048 b.n 80408f4 else k = 0; 8040862: 2300 movs r3, #0 8040864: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040868: e044 b.n 80408f4 if(k > 100) k -= 100; 804086a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804086e: 2b64 cmp r3, #100 ; 0x64 8040870: d905 bls.n 804087e 8040872: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040876: 3b64 subs r3, #100 ; 0x64 8040878: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804087c: e03a b.n 80408f4 else k = 0; 804087e: 2300 movs r3, #0 8040880: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040884: e036 b.n 80408f4 if(k > 10) k -= 10; 8040886: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804088a: 2b0a cmp r3, #10 804088c: d905 bls.n 804089a 804088e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040892: 3b0a subs r3, #10 8040894: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040898: e02c b.n 80408f4 else k = 0; 804089a: 2300 movs r3, #0 804089c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80408a0: e028 b.n 80408f4 if(k > 1) k -= 1; 80408a2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80408a6: 2b01 cmp r3, #1 80408a8: d920 bls.n 80408ec 80408aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80408ae: 3b01 subs r3, #1 80408b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80408b4: e01d b.n 80408f2 80408b6: bf00 nop 80408b8: ffffd8f0 .word 0xffffd8f0 80408bc: 20023e60 .word 0x20023e60 80408c0: 3d4ccccd .word 0x3d4ccccd 80408c4: 20020070 .word 0x20020070 80408c8: 0a7c5ac5 .word 0x0a7c5ac5 80408cc: 000186a0 .word 0x000186a0 80408d0: d1b71759 .word 0xd1b71759 80408d4: 10624dd3 .word 0x10624dd3 80408d8: 51eb851f .word 0x51eb851f 80408dc: cccccccd .word 0xcccccccd 80408e0: fffe7960 .word 0xfffe7960 80408e4: 3dcccccd .word 0x3dcccccd 80408e8: 38d1b717 .word 0x38d1b717 else k = 0; 80408ec: 2300 movs r3, #0 80408ee: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80408f2: bf00 nop fl = (float32_t) k; 80408f4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80408f8: ee07 3a90 vmov s15, r3 80408fc: eef8 7a67 vcvt.f32.u32 s15, s15 8040900: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8040904: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040908: ed1f 7a0a vldr s14, [pc, #-40] ; 80408e4 804090c: ee67 7a87 vmul.f32 s15, s15, s14 8040910: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8040914: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040918: ed1f 7a0d vldr s14, [pc, #-52] ; 80408e8 804091c: ee77 7a87 vadd.f32 s15, s15, s14 8040920: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 8040924: 4bd1 ldr r3, [pc, #836] ; (8040c6c ) 8040926: 785b ldrb r3, [r3, #1] 8040928: b2db uxtb r3, r3 804092a: 2b00 cmp r3, #0 804092c: d13d bne.n 80409aa if(fl < 0.5f) 804092e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040932: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8040936: eef4 7ac7 vcmpe.f32 s15, s14 804093a: eef1 fa10 vmrs APSR_nzcv, fpscr 804093e: d505 bpl.n 804094c pardata.HP = 0.5f; 8040940: 4bca ldr r3, [pc, #808] ; (8040c6c ) 8040942: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8040946: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 804094a: e26e b.n 8040e2a if(fl > pardata.LP) 804094c: 4bc7 ldr r3, [pc, #796] ; (8040c6c ) 804094e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8040952: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040956: eeb4 7ae7 vcmpe.f32 s14, s15 804095a: eef1 fa10 vmrs APSR_nzcv, fpscr 804095e: d506 bpl.n 804096e pardata.HP = pardata.LP; 8040960: 4bc2 ldr r3, [pc, #776] ; (8040c6c ) 8040962: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8040966: 4ac1 ldr r2, [pc, #772] ; (8040c6c ) 8040968: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 804096c: e25d b.n 8040e2a pardata.HP = (float32_t) k; 804096e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040972: ee07 3a90 vmov s15, r3 8040976: eef8 7a67 vcvt.f32.u32 s15, s15 804097a: 4bbc ldr r3, [pc, #752] ; (8040c6c ) 804097c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8040980: 4bba ldr r3, [pc, #744] ; (8040c6c ) 8040982: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040986: ed9f 7ac3 vldr s14, [pc, #780] ; 8040c94 804098a: ee67 7a87 vmul.f32 s15, s15, s14 804098e: 4bb7 ldr r3, [pc, #732] ; (8040c6c ) 8040990: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8040994: 4bb5 ldr r3, [pc, #724] ; (8040c6c ) 8040996: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804099a: ed9f 7abf vldr s14, [pc, #764] ; 8040c98 804099e: ee77 7a87 vadd.f32 s15, s15, s14 80409a2: 4bb2 ldr r3, [pc, #712] ; (8040c6c ) 80409a4: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80409a8: e23f b.n 8040e2a if(fl < 2.0f) 80409aa: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80409ae: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80409b2: eef4 7ac7 vcmpe.f32 s15, s14 80409b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80409ba: d505 bpl.n 80409c8 pardata.HP = 2.0f; 80409bc: 4bab ldr r3, [pc, #684] ; (8040c6c ) 80409be: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80409c2: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80409c6: e230 b.n 8040e2a if(fl > pardata.LP) 80409c8: 4ba8 ldr r3, [pc, #672] ; (8040c6c ) 80409ca: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80409ce: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80409d2: eeb4 7ae7 vcmpe.f32 s14, s15 80409d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80409da: d506 bpl.n 80409ea pardata.HP = pardata.LP; 80409dc: 4ba3 ldr r3, [pc, #652] ; (8040c6c ) 80409de: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 80409e2: 4aa2 ldr r2, [pc, #648] ; (8040c6c ) 80409e4: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 80409e8: e21f b.n 8040e2a pardata.HP = (float32_t) k; 80409ea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80409ee: ee07 3a90 vmov s15, r3 80409f2: eef8 7a67 vcvt.f32.u32 s15, s15 80409f6: 4b9d ldr r3, [pc, #628] ; (8040c6c ) 80409f8: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 80409fc: 4b9b ldr r3, [pc, #620] ; (8040c6c ) 80409fe: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040a02: ed9f 7aa4 vldr s14, [pc, #656] ; 8040c94 8040a06: ee67 7a87 vmul.f32 s15, s15, s14 8040a0a: 4b98 ldr r3, [pc, #608] ; (8040c6c ) 8040a0c: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 8040a10: 4b96 ldr r3, [pc, #600] ; (8040c6c ) 8040a12: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040a16: ed9f 7aa0 vldr s14, [pc, #640] ; 8040c98 8040a1a: ee77 7a87 vadd.f32 s15, s15, s14 8040a1e: 4b93 ldr r3, [pc, #588] ; (8040c6c ) 8040a20: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8040a24: e201 b.n 8040e2a if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 8040a26: 4b92 ldr r3, [pc, #584] ; (8040c70 ) 8040a28: 781b ldrb r3, [r3, #0] 8040a2a: b2db uxtb r3, r3 8040a2c: 2b1e cmp r3, #30 8040a2e: f240 87b4 bls.w 804199a 8040a32: 4b8f ldr r3, [pc, #572] ; (8040c70 ) 8040a34: 781b ldrb r3, [r3, #0] 8040a36: b2db uxtb r3, r3 8040a38: 2b24 cmp r3, #36 ; 0x24 8040a3a: f200 87ae bhi.w 804199a k = (uint32_t) (pardata.LP * 10.0f); 8040a3e: 4b8b ldr r3, [pc, #556] ; (8040c6c ) 8040a40: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8040a44: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8040a48: ee67 7a87 vmul.f32 s15, s15, s14 8040a4c: eefc 7ae7 vcvt.u32.f32 s15, s15 8040a50: ee17 3a90 vmov r3, s15 8040a54: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8040a58: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040a5c: 095b lsrs r3, r3, #5 8040a5e: 4a85 ldr r2, [pc, #532] ; (8040c74 ) 8040a60: fba2 2303 umull r2, r3, r2, r3 8040a64: 09db lsrs r3, r3, #7 8040a66: b2db uxtb r3, r3 8040a68: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8040a6c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040a70: 0953 lsrs r3, r2, #5 8040a72: 4980 ldr r1, [pc, #512] ; (8040c74 ) 8040a74: fba1 1303 umull r1, r3, r1, r3 8040a78: 09db lsrs r3, r3, #7 8040a7a: 497f ldr r1, [pc, #508] ; (8040c78 ) 8040a7c: fb01 f303 mul.w r3, r1, r3 8040a80: 1ad3 subs r3, r2, r3 8040a82: 4a7e ldr r2, [pc, #504] ; (8040c7c ) 8040a84: fba2 2303 umull r2, r3, r2, r3 8040a88: 0b5b lsrs r3, r3, #13 8040a8a: b2db uxtb r3, r3 8040a8c: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8040a90: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040a94: 0953 lsrs r3, r2, #5 8040a96: 4977 ldr r1, [pc, #476] ; (8040c74 ) 8040a98: fba1 1303 umull r1, r3, r1, r3 8040a9c: 09db lsrs r3, r3, #7 8040a9e: 4976 ldr r1, [pc, #472] ; (8040c78 ) 8040aa0: fb01 f303 mul.w r3, r1, r3 8040aa4: 1ad3 subs r3, r2, r3 8040aa6: 4a75 ldr r2, [pc, #468] ; (8040c7c ) 8040aa8: fba2 1203 umull r1, r2, r2, r3 8040aac: 0b52 lsrs r2, r2, #13 8040aae: f242 7110 movw r1, #10000 ; 0x2710 8040ab2: fb01 f202 mul.w r2, r1, r2 8040ab6: 1a9a subs r2, r3, r2 8040ab8: 4b71 ldr r3, [pc, #452] ; (8040c80 ) 8040aba: fba3 2302 umull r2, r3, r3, r2 8040abe: 099b lsrs r3, r3, #6 8040ac0: b2db uxtb r3, r3 8040ac2: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8040ac6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040aca: 095a lsrs r2, r3, #5 8040acc: 4969 ldr r1, [pc, #420] ; (8040c74 ) 8040ace: fba1 1202 umull r1, r2, r1, r2 8040ad2: 09d2 lsrs r2, r2, #7 8040ad4: 4968 ldr r1, [pc, #416] ; (8040c78 ) 8040ad6: fb01 f202 mul.w r2, r1, r2 8040ada: 1a9a subs r2, r3, r2 8040adc: 4b67 ldr r3, [pc, #412] ; (8040c7c ) 8040ade: fba3 1302 umull r1, r3, r3, r2 8040ae2: 0b5b lsrs r3, r3, #13 8040ae4: f242 7110 movw r1, #10000 ; 0x2710 8040ae8: fb01 f303 mul.w r3, r1, r3 8040aec: 1ad3 subs r3, r2, r3 8040aee: 4a64 ldr r2, [pc, #400] ; (8040c80 ) 8040af0: fba2 1203 umull r1, r2, r2, r3 8040af4: 0992 lsrs r2, r2, #6 8040af6: f44f 717a mov.w r1, #1000 ; 0x3e8 8040afa: fb01 f202 mul.w r2, r1, r2 8040afe: 1a9a subs r2, r3, r2 8040b00: 4b60 ldr r3, [pc, #384] ; (8040c84 ) 8040b02: fba3 2302 umull r2, r3, r3, r2 8040b06: 095b lsrs r3, r3, #5 8040b08: b2db uxtb r3, r3 8040b0a: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8040b0e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040b12: 0953 lsrs r3, r2, #5 8040b14: 4957 ldr r1, [pc, #348] ; (8040c74 ) 8040b16: fba1 1303 umull r1, r3, r1, r3 8040b1a: 09db lsrs r3, r3, #7 8040b1c: 4956 ldr r1, [pc, #344] ; (8040c78 ) 8040b1e: fb01 f303 mul.w r3, r1, r3 8040b22: 1ad3 subs r3, r2, r3 8040b24: 4a55 ldr r2, [pc, #340] ; (8040c7c ) 8040b26: fba2 1203 umull r1, r2, r2, r3 8040b2a: 0b52 lsrs r2, r2, #13 8040b2c: f242 7110 movw r1, #10000 ; 0x2710 8040b30: fb01 f202 mul.w r2, r1, r2 8040b34: 1a9a subs r2, r3, r2 8040b36: 4b52 ldr r3, [pc, #328] ; (8040c80 ) 8040b38: fba3 1302 umull r1, r3, r3, r2 8040b3c: 099b lsrs r3, r3, #6 8040b3e: f44f 717a mov.w r1, #1000 ; 0x3e8 8040b42: fb01 f303 mul.w r3, r1, r3 8040b46: 1ad3 subs r3, r2, r3 8040b48: 4a4e ldr r2, [pc, #312] ; (8040c84 ) 8040b4a: fba2 1203 umull r1, r2, r2, r3 8040b4e: 0952 lsrs r2, r2, #5 8040b50: 2164 movs r1, #100 ; 0x64 8040b52: fb01 f202 mul.w r2, r1, r2 8040b56: 1a9a subs r2, r3, r2 8040b58: 4b4b ldr r3, [pc, #300] ; (8040c88 ) 8040b5a: fba3 2302 umull r2, r3, r3, r2 8040b5e: 08db lsrs r3, r3, #3 8040b60: b2db uxtb r3, r3 8040b62: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8040b66: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040b6a: 0953 lsrs r3, r2, #5 8040b6c: 4941 ldr r1, [pc, #260] ; (8040c74 ) 8040b6e: fba1 1303 umull r1, r3, r1, r3 8040b72: 09db lsrs r3, r3, #7 8040b74: 4940 ldr r1, [pc, #256] ; (8040c78 ) 8040b76: fb01 f303 mul.w r3, r1, r3 8040b7a: 1ad3 subs r3, r2, r3 8040b7c: 4a3f ldr r2, [pc, #252] ; (8040c7c ) 8040b7e: fba2 1203 umull r1, r2, r2, r3 8040b82: 0b52 lsrs r2, r2, #13 8040b84: f242 7110 movw r1, #10000 ; 0x2710 8040b88: fb01 f202 mul.w r2, r1, r2 8040b8c: 1a9a subs r2, r3, r2 8040b8e: 4b3c ldr r3, [pc, #240] ; (8040c80 ) 8040b90: fba3 1302 umull r1, r3, r3, r2 8040b94: 099b lsrs r3, r3, #6 8040b96: f44f 717a mov.w r1, #1000 ; 0x3e8 8040b9a: fb01 f303 mul.w r3, r1, r3 8040b9e: 1ad3 subs r3, r2, r3 8040ba0: 4a38 ldr r2, [pc, #224] ; (8040c84 ) 8040ba2: fba2 1203 umull r1, r2, r2, r3 8040ba6: 0952 lsrs r2, r2, #5 8040ba8: 2164 movs r1, #100 ; 0x64 8040baa: fb01 f202 mul.w r2, r1, r2 8040bae: 1a9a subs r2, r3, r2 8040bb0: 4b35 ldr r3, [pc, #212] ; (8040c88 ) 8040bb2: fba3 1302 umull r1, r3, r3, r2 8040bb6: 08d9 lsrs r1, r3, #3 8040bb8: 460b mov r3, r1 8040bba: 009b lsls r3, r3, #2 8040bbc: 440b add r3, r1 8040bbe: 005b lsls r3, r3, #1 8040bc0: 1ad1 subs r1, r2, r3 8040bc2: b2cb uxtb r3, r1 8040bc4: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8040bc8: 4b29 ldr r3, [pc, #164] ; (8040c70 ) 8040bca: 781b ldrb r3, [r3, #0] 8040bcc: b2db uxtb r3, r3 8040bce: 3b1f subs r3, #31 8040bd0: 2b05 cmp r3, #5 8040bd2: f200 8083 bhi.w 8040cdc 8040bd6: a201 add r2, pc, #4 ; (adr r2, 8040bdc ) 8040bd8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8040bdc: 08040bf5 .word 0x08040bf5 8040be0: 08040c15 .word 0x08040c15 8040be4: 08040c37 .word 0x08040c37 8040be8: 08040c57 .word 0x08040c57 8040bec: 08040ca5 .word 0x08040ca5 8040bf0: 08040cc1 .word 0x08040cc1 if(k > 100000) k -= 100000; 8040bf4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040bf8: 4a1f ldr r2, [pc, #124] ; (8040c78 ) 8040bfa: 4293 cmp r3, r2 8040bfc: d906 bls.n 8040c0c 8040bfe: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040c02: 4b22 ldr r3, [pc, #136] ; (8040c8c ) 8040c04: 4413 add r3, r2 8040c06: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c0a: e067 b.n 8040cdc else k = 0; 8040c0c: 2300 movs r3, #0 8040c0e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c12: e063 b.n 8040cdc if(k > 10000) k -= 10000; 8040c14: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040c18: f242 7210 movw r2, #10000 ; 0x2710 8040c1c: 4293 cmp r3, r2 8040c1e: d906 bls.n 8040c2e 8040c20: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040c24: 4b1a ldr r3, [pc, #104] ; (8040c90 ) 8040c26: 4413 add r3, r2 8040c28: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c2c: e056 b.n 8040cdc else k = 0; 8040c2e: 2300 movs r3, #0 8040c30: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c34: e052 b.n 8040cdc if(k > 1000) k -= 1000; 8040c36: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040c3a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8040c3e: d906 bls.n 8040c4e 8040c40: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040c44: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8040c48: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c4c: e046 b.n 8040cdc else k = 0; 8040c4e: 2300 movs r3, #0 8040c50: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c54: e042 b.n 8040cdc if(k > 100) k -= 100; 8040c56: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040c5a: 2b64 cmp r3, #100 ; 0x64 8040c5c: d91e bls.n 8040c9c 8040c5e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040c62: 3b64 subs r3, #100 ; 0x64 8040c64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040c68: e038 b.n 8040cdc 8040c6a: bf00 nop 8040c6c: 20023e60 .word 0x20023e60 8040c70: 20020070 .word 0x20020070 8040c74: 0a7c5ac5 .word 0x0a7c5ac5 8040c78: 000186a0 .word 0x000186a0 8040c7c: d1b71759 .word 0xd1b71759 8040c80: 10624dd3 .word 0x10624dd3 8040c84: 51eb851f .word 0x51eb851f 8040c88: cccccccd .word 0xcccccccd 8040c8c: fffe7960 .word 0xfffe7960 8040c90: ffffd8f0 .word 0xffffd8f0 8040c94: 3dcccccd .word 0x3dcccccd 8040c98: 38d1b717 .word 0x38d1b717 else k = 0; 8040c9c: 2300 movs r3, #0 8040c9e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040ca2: e01b b.n 8040cdc if(k > 10) k -= 10; 8040ca4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040ca8: 2b0a cmp r3, #10 8040caa: d905 bls.n 8040cb8 8040cac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040cb0: 3b0a subs r3, #10 8040cb2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040cb6: e011 b.n 8040cdc else k = 0; 8040cb8: 2300 movs r3, #0 8040cba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040cbe: e00d b.n 8040cdc if(k > 1) k -= 1; 8040cc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040cc4: 2b01 cmp r3, #1 8040cc6: d905 bls.n 8040cd4 8040cc8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040ccc: 3b01 subs r3, #1 8040cce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040cd2: e002 b.n 8040cda else k = 0; 8040cd4: 2300 movs r3, #0 8040cd6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8040cda: bf00 nop fl = (float32_t) k; 8040cdc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040ce0: ee07 3a90 vmov s15, r3 8040ce4: eef8 7a67 vcvt.f32.u32 s15, s15 8040ce8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8040cec: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040cf0: ed1f 7a18 vldr s14, [pc, #-96] ; 8040c94 8040cf4: ee67 7a87 vmul.f32 s15, s15, s14 8040cf8: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8040cfc: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040d00: ed1f 7a1b vldr s14, [pc, #-108] ; 8040c98 8040d04: ee77 7a87 vadd.f32 s15, s15, s14 8040d08: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8040d0c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040d10: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8040d14: eef4 7ac7 vcmpe.f32 s15, s14 8040d18: eef1 fa10 vmrs APSR_nzcv, fpscr 8040d1c: d504 bpl.n 8040d28 pardata.LP = 10.0f; 8040d1e: 4b77 ldr r3, [pc, #476] ; (8040efc ) 8040d20: 4a77 ldr r2, [pc, #476] ; (8040f00 ) 8040d22: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 8040d26: e03c b.n 8040da2 if(pardata.LP < pardata.HP) 8040d28: 4b74 ldr r3, [pc, #464] ; (8040efc ) 8040d2a: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8040d2e: 4b73 ldr r3, [pc, #460] ; (8040efc ) 8040d30: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8040d34: eeb4 7ae7 vcmpe.f32 s14, s15 8040d38: eef1 fa10 vmrs APSR_nzcv, fpscr 8040d3c: d506 bpl.n 8040d4c pardata.LP = pardata.HP; 8040d3e: 4b6f ldr r3, [pc, #444] ; (8040efc ) 8040d40: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 8040d44: 4a6d ldr r2, [pc, #436] ; (8040efc ) 8040d46: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 8040d4a: e02a b.n 8040da2 if(fl > 12800.0f) 8040d4c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8040d50: ed9f 7a6c vldr s14, [pc, #432] ; 8040f04 8040d54: eef4 7ac7 vcmpe.f32 s15, s14 8040d58: eef1 fa10 vmrs APSR_nzcv, fpscr 8040d5c: dd04 ble.n 8040d68 pardata.LP = 12800.0f; 8040d5e: 4b67 ldr r3, [pc, #412] ; (8040efc ) 8040d60: 4a69 ldr r2, [pc, #420] ; (8040f08 ) 8040d62: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 8040d66: e01c b.n 8040da2 pardata.LP = (float32_t) k; 8040d68: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040d6c: ee07 3a90 vmov s15, r3 8040d70: eef8 7a67 vcvt.f32.u32 s15, s15 8040d74: 4b61 ldr r3, [pc, #388] ; (8040efc ) 8040d76: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 8040d7a: 4b60 ldr r3, [pc, #384] ; (8040efc ) 8040d7c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8040d80: ed9f 7a62 vldr s14, [pc, #392] ; 8040f0c 8040d84: ee67 7a87 vmul.f32 s15, s15, s14 8040d88: 4b5c ldr r3, [pc, #368] ; (8040efc ) 8040d8a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8040d8e: 4b5b ldr r3, [pc, #364] ; (8040efc ) 8040d90: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8040d94: ed9f 7a5e vldr s14, [pc, #376] ; 8040f10 8040d98: ee77 7a87 vadd.f32 s15, s15, s14 8040d9c: 4b57 ldr r3, [pc, #348] ; (8040efc ) 8040d9e: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 k = _64000Hz; 8040da2: 2309 movs r3, #9 8040da4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8040da8: e039 b.n 8040e1e f = (float32_t) FS[k] / pardata.LP; 8040daa: 4a5a ldr r2, [pc, #360] ; (8040f14 ) 8040dac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040db0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8040db4: ee07 3a90 vmov s15, r3 8040db8: eef8 6a67 vcvt.f32.u32 s13, s15 8040dbc: 4b4f ldr r3, [pc, #316] ; (8040efc ) 8040dbe: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8040dc2: eec6 7a87 vdiv.f32 s15, s13, s14 8040dc6: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8040dca: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8040dce: ed9f 7a50 vldr s14, [pc, #320] ; 8040f10 8040dd2: ee77 7a87 vadd.f32 s15, s15, s14 8040dd6: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8040dda: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8040dde: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8040de2: eef4 7ac7 vcmpe.f32 s15, s14 8040de6: eef1 fa10 vmrs APSR_nzcv, fpscr 8040dea: d507 bpl.n 8040dfc pardata.FRQ = k + 1; 8040dec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040df0: b2db uxtb r3, r3 8040df2: 3301 adds r3, #1 8040df4: b2da uxtb r2, r3 8040df6: 4b41 ldr r3, [pc, #260] ; (8040efc ) 8040df8: 72da strb r2, [r3, #11] break; 8040dfa: e016 b.n 8040e2a if(k > 0) 8040dfc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040e00: 2b00 cmp r3, #0 8040e02: d004 beq.n 8040e0e k--; 8040e04: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040e08: 3b01 subs r3, #1 8040e0a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8040e0e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040e12: 2b00 cmp r3, #0 8040e14: d103 bne.n 8040e1e pardata.FRQ = _125Hz; 8040e16: 4b39 ldr r3, [pc, #228] ; (8040efc ) 8040e18: 2200 movs r2, #0 8040e1a: 72da strb r2, [r3, #11] break; 8040e1c: e005 b.n 8040e2a while(k > _125Hz) 8040e1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040e22: 2b00 cmp r3, #0 8040e24: d1c1 bne.n 8040daa break; 8040e26: f000 bdb8 b.w 804199a 8040e2a: f000 bdb6 b.w 804199a if(menupos == Ok) 8040e2e: 4b3a ldr r3, [pc, #232] ; (8040f18 ) 8040e30: 781b ldrb r3, [r3, #0] 8040e32: b2db uxtb r3, r3 8040e34: 2b00 cmp r3, #0 8040e36: d104 bne.n 8040e42 menupos = SpecType; 8040e38: 4b37 ldr r3, [pc, #220] ; (8040f18 ) 8040e3a: 2201 movs r2, #1 8040e3c: 701a strb r2, [r3, #0] break; 8040e3e: f000 bdaf b.w 80419a0 if(menupos == SpecType) 8040e42: 4b35 ldr r3, [pc, #212] ; (8040f18 ) 8040e44: 781b ldrb r3, [r3, #0] 8040e46: b2db uxtb r3, r3 8040e48: 2b01 cmp r3, #1 8040e4a: d104 bne.n 8040e56 menupos = SpecValue; 8040e4c: 4b32 ldr r3, [pc, #200] ; (8040f18 ) 8040e4e: 2202 movs r2, #2 8040e50: 701a strb r2, [r3, #0] break; 8040e52: f000 bda5 b.w 80419a0 if(menupos == SpecValue) 8040e56: 4b30 ldr r3, [pc, #192] ; (8040f18 ) 8040e58: 781b ldrb r3, [r3, #0] 8040e5a: b2db uxtb r3, r3 8040e5c: 2b02 cmp r3, #2 8040e5e: d104 bne.n 8040e6a menupos = FilterHP; 8040e60: 4b2d ldr r3, [pc, #180] ; (8040f18 ) 8040e62: 2217 movs r2, #23 8040e64: 701a strb r2, [r3, #0] break; 8040e66: f000 bd9b b.w 80419a0 if(menupos == FilterHP) 8040e6a: 4b2b ldr r3, [pc, #172] ; (8040f18 ) 8040e6c: 781b ldrb r3, [r3, #0] 8040e6e: b2db uxtb r3, r3 8040e70: 2b17 cmp r3, #23 8040e72: d104 bne.n 8040e7e menupos = FilterLP; 8040e74: 4b28 ldr r3, [pc, #160] ; (8040f18 ) 8040e76: 2218 movs r2, #24 8040e78: 701a strb r2, [r3, #0] break; 8040e7a: f000 bd91 b.w 80419a0 if(menupos == FilterLP) 8040e7e: 4b26 ldr r3, [pc, #152] ; (8040f18 ) 8040e80: 781b ldrb r3, [r3, #0] 8040e82: b2db uxtb r3, r3 8040e84: 2b18 cmp r3, #24 8040e86: d104 bne.n 8040e92 menupos = LinLog; 8040e88: 4b23 ldr r3, [pc, #140] ; (8040f18 ) 8040e8a: 2205 movs r2, #5 8040e8c: 701a strb r2, [r3, #0] break; 8040e8e: f000 bd87 b.w 80419a0 if(menupos == LinLog) 8040e92: 4b21 ldr r3, [pc, #132] ; (8040f18 ) 8040e94: 781b ldrb r3, [r3, #0] 8040e96: b2db uxtb r3, r3 8040e98: 2b05 cmp r3, #5 8040e9a: d104 bne.n 8040ea6 menupos = SAverage; 8040e9c: 4b1e ldr r3, [pc, #120] ; (8040f18 ) 8040e9e: 2207 movs r2, #7 8040ea0: 701a strb r2, [r3, #0] break; 8040ea2: f000 bd7d b.w 80419a0 if(menupos == SAverage) 8040ea6: 4b1c ldr r3, [pc, #112] ; (8040f18 ) 8040ea8: 781b ldrb r3, [r3, #0] 8040eaa: b2db uxtb r3, r3 8040eac: 2b07 cmp r3, #7 8040eae: d104 bne.n 8040eba menupos = VibAutoKu; 8040eb0: 4b19 ldr r3, [pc, #100] ; (8040f18 ) 8040eb2: 2208 movs r2, #8 8040eb4: 701a strb r2, [r3, #0] break; 8040eb6: f000 bd73 b.w 80419a0 if(menupos == VibAutoKu) 8040eba: 4b17 ldr r3, [pc, #92] ; (8040f18 ) 8040ebc: 781b ldrb r3, [r3, #0] 8040ebe: b2db uxtb r3, r3 8040ec0: 2b08 cmp r3, #8 8040ec2: d110 bne.n 8040ee6 if(pardata.OPTIONS & 0x4) 8040ec4: 4b0d ldr r3, [pc, #52] ; (8040efc ) 8040ec6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8040eca: f003 0304 and.w r3, r3, #4 8040ece: 2b00 cmp r3, #0 8040ed0: d004 beq.n 8040edc menupos = Ok; 8040ed2: 4b11 ldr r3, [pc, #68] ; (8040f18 ) 8040ed4: 2200 movs r2, #0 8040ed6: 701a strb r2, [r3, #0] break; 8040ed8: f000 bd62 b.w 80419a0 else menupos = VibMax_ALL; 8040edc: 4b0e ldr r3, [pc, #56] ; (8040f18 ) 8040ede: 2209 movs r2, #9 8040ee0: 701a strb r2, [r3, #0] break; 8040ee2: f000 bd5d b.w 80419a0 if(menupos == VibMax_ALL) 8040ee6: 4b0c ldr r3, [pc, #48] ; (8040f18 ) 8040ee8: 781b ldrb r3, [r3, #0] 8040eea: b2db uxtb r3, r3 8040eec: 2b09 cmp r3, #9 8040eee: d115 bne.n 8040f1c menupos = Ok; 8040ef0: 4b09 ldr r3, [pc, #36] ; (8040f18 ) 8040ef2: 2200 movs r2, #0 8040ef4: 701a strb r2, [r3, #0] break; 8040ef6: f000 bd53 b.w 80419a0 8040efa: bf00 nop 8040efc: 20023e60 .word 0x20023e60 8040f00: 41200000 .word 0x41200000 8040f04: 46480000 .word 0x46480000 8040f08: 46480000 .word 0x46480000 8040f0c: 3dcccccd .word 0x3dcccccd 8040f10: 38d1b717 .word 0x38d1b717 8040f14: 080ee8c8 .word 0x080ee8c8 8040f18: 20020070 .word 0x20020070 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8040f1c: 4bb2 ldr r3, [pc, #712] ; (80411e8 ) 8040f1e: 781b ldrb r3, [r3, #0] 8040f20: b2db uxtb r3, r3 8040f22: 2b0a cmp r3, #10 8040f24: f240 8178 bls.w 8041218 8040f28: 4baf ldr r3, [pc, #700] ; (80411e8 ) 8040f2a: 781b ldrb r3, [r3, #0] 8040f2c: b2db uxtb r3, r3 8040f2e: 2b10 cmp r3, #16 8040f30: f200 8172 bhi.w 8041218 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8040f34: 4bad ldr r3, [pc, #692] ; (80411ec ) 8040f36: edd3 7a06 vldr s15, [r3, #24] 8040f3a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8040f3e: ee67 7a87 vmul.f32 s15, s15, s14 8040f42: eefc 7ae7 vcvt.u32.f32 s15, s15 8040f46: ee17 3a90 vmov r3, s15 8040f4a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8040f4e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040f52: 095b lsrs r3, r3, #5 8040f54: 4aa6 ldr r2, [pc, #664] ; (80411f0 ) 8040f56: fba2 2303 umull r2, r3, r2, r3 8040f5a: 09db lsrs r3, r3, #7 8040f5c: b2db uxtb r3, r3 8040f5e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8040f62: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040f66: 0953 lsrs r3, r2, #5 8040f68: 49a1 ldr r1, [pc, #644] ; (80411f0 ) 8040f6a: fba1 1303 umull r1, r3, r1, r3 8040f6e: 09db lsrs r3, r3, #7 8040f70: 49a0 ldr r1, [pc, #640] ; (80411f4 ) 8040f72: fb01 f303 mul.w r3, r1, r3 8040f76: 1ad3 subs r3, r2, r3 8040f78: 4a9f ldr r2, [pc, #636] ; (80411f8 ) 8040f7a: fba2 2303 umull r2, r3, r2, r3 8040f7e: 0b5b lsrs r3, r3, #13 8040f80: b2db uxtb r3, r3 8040f82: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8040f86: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8040f8a: 0953 lsrs r3, r2, #5 8040f8c: 4998 ldr r1, [pc, #608] ; (80411f0 ) 8040f8e: fba1 1303 umull r1, r3, r1, r3 8040f92: 09db lsrs r3, r3, #7 8040f94: 4997 ldr r1, [pc, #604] ; (80411f4 ) 8040f96: fb01 f303 mul.w r3, r1, r3 8040f9a: 1ad3 subs r3, r2, r3 8040f9c: 4a96 ldr r2, [pc, #600] ; (80411f8 ) 8040f9e: fba2 1203 umull r1, r2, r2, r3 8040fa2: 0b52 lsrs r2, r2, #13 8040fa4: f242 7110 movw r1, #10000 ; 0x2710 8040fa8: fb01 f202 mul.w r2, r1, r2 8040fac: 1a9a subs r2, r3, r2 8040fae: 4b93 ldr r3, [pc, #588] ; (80411fc ) 8040fb0: fba3 2302 umull r2, r3, r3, r2 8040fb4: 099b lsrs r3, r3, #6 8040fb6: b2db uxtb r3, r3 8040fb8: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8040fbc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8040fc0: 095a lsrs r2, r3, #5 8040fc2: 498b ldr r1, [pc, #556] ; (80411f0 ) 8040fc4: fba1 1202 umull r1, r2, r1, r2 8040fc8: 09d2 lsrs r2, r2, #7 8040fca: 498a ldr r1, [pc, #552] ; (80411f4 ) 8040fcc: fb01 f202 mul.w r2, r1, r2 8040fd0: 1a9a subs r2, r3, r2 8040fd2: 4b89 ldr r3, [pc, #548] ; (80411f8 ) 8040fd4: fba3 1302 umull r1, r3, r3, r2 8040fd8: 0b5b lsrs r3, r3, #13 8040fda: f242 7110 movw r1, #10000 ; 0x2710 8040fde: fb01 f303 mul.w r3, r1, r3 8040fe2: 1ad3 subs r3, r2, r3 8040fe4: 4a85 ldr r2, [pc, #532] ; (80411fc ) 8040fe6: fba2 1203 umull r1, r2, r2, r3 8040fea: 0992 lsrs r2, r2, #6 8040fec: f44f 717a mov.w r1, #1000 ; 0x3e8 8040ff0: fb01 f202 mul.w r2, r1, r2 8040ff4: 1a9a subs r2, r3, r2 8040ff6: 4b82 ldr r3, [pc, #520] ; (8041200 ) 8040ff8: fba3 2302 umull r2, r3, r3, r2 8040ffc: 095b lsrs r3, r3, #5 8040ffe: b2db uxtb r3, r3 8041000: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8041004: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041008: 0953 lsrs r3, r2, #5 804100a: 4979 ldr r1, [pc, #484] ; (80411f0 ) 804100c: fba1 1303 umull r1, r3, r1, r3 8041010: 09db lsrs r3, r3, #7 8041012: 4978 ldr r1, [pc, #480] ; (80411f4 ) 8041014: fb01 f303 mul.w r3, r1, r3 8041018: 1ad3 subs r3, r2, r3 804101a: 4a77 ldr r2, [pc, #476] ; (80411f8 ) 804101c: fba2 1203 umull r1, r2, r2, r3 8041020: 0b52 lsrs r2, r2, #13 8041022: f242 7110 movw r1, #10000 ; 0x2710 8041026: fb01 f202 mul.w r2, r1, r2 804102a: 1a9a subs r2, r3, r2 804102c: 4b73 ldr r3, [pc, #460] ; (80411fc ) 804102e: fba3 1302 umull r1, r3, r3, r2 8041032: 099b lsrs r3, r3, #6 8041034: f44f 717a mov.w r1, #1000 ; 0x3e8 8041038: fb01 f303 mul.w r3, r1, r3 804103c: 1ad3 subs r3, r2, r3 804103e: 4a70 ldr r2, [pc, #448] ; (8041200 ) 8041040: fba2 1203 umull r1, r2, r2, r3 8041044: 0952 lsrs r2, r2, #5 8041046: 2164 movs r1, #100 ; 0x64 8041048: fb01 f202 mul.w r2, r1, r2 804104c: 1a9a subs r2, r3, r2 804104e: 4b6d ldr r3, [pc, #436] ; (8041204 ) 8041050: fba3 2302 umull r2, r3, r3, r2 8041054: 08db lsrs r3, r3, #3 8041056: b2db uxtb r3, r3 8041058: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 804105c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041060: 0953 lsrs r3, r2, #5 8041062: 4963 ldr r1, [pc, #396] ; (80411f0 ) 8041064: fba1 1303 umull r1, r3, r1, r3 8041068: 09db lsrs r3, r3, #7 804106a: 4962 ldr r1, [pc, #392] ; (80411f4 ) 804106c: fb01 f303 mul.w r3, r1, r3 8041070: 1ad3 subs r3, r2, r3 8041072: 4a61 ldr r2, [pc, #388] ; (80411f8 ) 8041074: fba2 1203 umull r1, r2, r2, r3 8041078: 0b52 lsrs r2, r2, #13 804107a: f242 7110 movw r1, #10000 ; 0x2710 804107e: fb01 f202 mul.w r2, r1, r2 8041082: 1a9a subs r2, r3, r2 8041084: 4b5d ldr r3, [pc, #372] ; (80411fc ) 8041086: fba3 1302 umull r1, r3, r3, r2 804108a: 099b lsrs r3, r3, #6 804108c: f44f 717a mov.w r1, #1000 ; 0x3e8 8041090: fb01 f303 mul.w r3, r1, r3 8041094: 1ad3 subs r3, r2, r3 8041096: 4a5a ldr r2, [pc, #360] ; (8041200 ) 8041098: fba2 1203 umull r1, r2, r2, r3 804109c: 0952 lsrs r2, r2, #5 804109e: 2164 movs r1, #100 ; 0x64 80410a0: fb01 f202 mul.w r2, r1, r2 80410a4: 1a9a subs r2, r3, r2 80410a6: 4b57 ldr r3, [pc, #348] ; (8041204 ) 80410a8: fba3 1302 umull r1, r3, r3, r2 80410ac: 08d9 lsrs r1, r3, #3 80410ae: 460b mov r3, r1 80410b0: 009b lsls r3, r3, #2 80410b2: 440b add r3, r1 80410b4: 005b lsls r3, r3, #1 80410b6: 1ad1 subs r1, r2, r3 80410b8: b2cb uxtb r3, r1 80410ba: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80410be: 4b4a ldr r3, [pc, #296] ; (80411e8 ) 80410c0: 781b ldrb r3, [r3, #0] 80410c2: b2db uxtb r3, r3 80410c4: 3b0b subs r3, #11 80410c6: 2b05 cmp r3, #5 80410c8: d869 bhi.n 804119e 80410ca: a201 add r2, pc, #4 ; (adr r2, 80410d0 ) 80410cc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80410d0: 080410e9 .word 0x080410e9 80410d4: 08041109 .word 0x08041109 80410d8: 0804112b .word 0x0804112b 80410dc: 0804114b .word 0x0804114b 80410e0: 08041167 .word 0x08041167 80410e4: 08041183 .word 0x08041183 if(k > 100000) k -= 100000; 80410e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80410ec: 4a41 ldr r2, [pc, #260] ; (80411f4 ) 80410ee: 4293 cmp r3, r2 80410f0: d906 bls.n 8041100 80410f2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80410f6: 4b44 ldr r3, [pc, #272] ; (8041208 ) 80410f8: 4413 add r3, r2 80410fa: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80410fe: e04e b.n 804119e else k = 0; 8041100: 2300 movs r3, #0 8041102: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041106: e04a b.n 804119e if(k > 10000) k -= 10000; 8041108: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804110c: f242 7210 movw r2, #10000 ; 0x2710 8041110: 4293 cmp r3, r2 8041112: d906 bls.n 8041122 8041114: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041118: 4b3c ldr r3, [pc, #240] ; (804120c ) 804111a: 4413 add r3, r2 804111c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041120: e03d b.n 804119e else k = 0; 8041122: 2300 movs r3, #0 8041124: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041128: e039 b.n 804119e if(k > 1000) k -= 1000; 804112a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804112e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8041132: d906 bls.n 8041142 8041134: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041138: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804113c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041140: e02d b.n 804119e else k = 0; 8041142: 2300 movs r3, #0 8041144: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041148: e029 b.n 804119e if(k > 100) k -= 100; 804114a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804114e: 2b64 cmp r3, #100 ; 0x64 8041150: d905 bls.n 804115e 8041152: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041156: 3b64 subs r3, #100 ; 0x64 8041158: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804115c: e01f b.n 804119e else k = 0; 804115e: 2300 movs r3, #0 8041160: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041164: e01b b.n 804119e if(k > 10) k -= 10; 8041166: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804116a: 2b0a cmp r3, #10 804116c: d905 bls.n 804117a 804116e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041172: 3b0a subs r3, #10 8041174: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041178: e011 b.n 804119e else k = 0; 804117a: 2300 movs r3, #0 804117c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041180: e00d b.n 804119e if(k > 1) k -= 1; 8041182: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041186: 2b01 cmp r3, #1 8041188: d905 bls.n 8041196 804118a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804118e: 3b01 subs r3, #1 8041190: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041194: e002 b.n 804119c else k = 0; 8041196: 2300 movs r3, #0 8041198: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804119c: bf00 nop if(k == 0) k = 1; 804119e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80411a2: 2b00 cmp r3, #0 80411a4: d102 bne.n 80411ac 80411a6: 2301 movs r3, #1 80411a8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 80411ac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80411b0: ee07 3a90 vmov s15, r3 80411b4: eef8 7a67 vcvt.f32.u32 s15, s15 80411b8: 4b0c ldr r3, [pc, #48] ; (80411ec ) 80411ba: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 80411be: 4b0b ldr r3, [pc, #44] ; (80411ec ) 80411c0: edd3 7a06 vldr s15, [r3, #24] 80411c4: ed9f 7a12 vldr s14, [pc, #72] ; 8041210 80411c8: ee67 7a87 vmul.f32 s15, s15, s14 80411cc: 4b07 ldr r3, [pc, #28] ; (80411ec ) 80411ce: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80411d2: 4b06 ldr r3, [pc, #24] ; (80411ec ) 80411d4: edd3 7a06 vldr s15, [r3, #24] 80411d8: ed9f 7a0e vldr s14, [pc, #56] ; 8041214 80411dc: ee77 7a87 vadd.f32 s15, s15, s14 80411e0: 4b02 ldr r3, [pc, #8] ; (80411ec ) 80411e2: edc3 7a06 vstr s15, [r3, #24] 80411e6: e3d7 b.n 8041998 80411e8: 20020070 .word 0x20020070 80411ec: 20023e60 .word 0x20023e60 80411f0: 0a7c5ac5 .word 0x0a7c5ac5 80411f4: 000186a0 .word 0x000186a0 80411f8: d1b71759 .word 0xd1b71759 80411fc: 10624dd3 .word 0x10624dd3 8041200: 51eb851f .word 0x51eb851f 8041204: cccccccd .word 0xcccccccd 8041208: fffe7960 .word 0xfffe7960 804120c: ffffd8f0 .word 0xffffd8f0 8041210: 3dcccccd .word 0x3dcccccd 8041214: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8041218: 4bcd ldr r3, [pc, #820] ; (8041550 ) 804121a: 781b ldrb r3, [r3, #0] 804121c: b2db uxtb r3, r3 804121e: 2b18 cmp r3, #24 8041220: f240 81ec bls.w 80415fc 8041224: 4bca ldr r3, [pc, #808] ; (8041550 ) 8041226: 781b ldrb r3, [r3, #0] 8041228: b2db uxtb r3, r3 804122a: 2b1e cmp r3, #30 804122c: f200 81e6 bhi.w 80415fc k = (uint32_t) (pardata.HP * 10.0f); 8041230: 4bc8 ldr r3, [pc, #800] ; (8041554 ) 8041232: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041236: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804123a: ee67 7a87 vmul.f32 s15, s15, s14 804123e: eefc 7ae7 vcvt.u32.f32 s15, s15 8041242: ee17 3a90 vmov r3, s15 8041246: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804124a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804124e: 095b lsrs r3, r3, #5 8041250: 4ac1 ldr r2, [pc, #772] ; (8041558 ) 8041252: fba2 2303 umull r2, r3, r2, r3 8041256: 09db lsrs r3, r3, #7 8041258: b2db uxtb r3, r3 804125a: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 804125e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041262: 0953 lsrs r3, r2, #5 8041264: 49bc ldr r1, [pc, #752] ; (8041558 ) 8041266: fba1 1303 umull r1, r3, r1, r3 804126a: 09db lsrs r3, r3, #7 804126c: 49bb ldr r1, [pc, #748] ; (804155c ) 804126e: fb01 f303 mul.w r3, r1, r3 8041272: 1ad3 subs r3, r2, r3 8041274: 4aba ldr r2, [pc, #744] ; (8041560 ) 8041276: fba2 2303 umull r2, r3, r2, r3 804127a: 0b5b lsrs r3, r3, #13 804127c: b2db uxtb r3, r3 804127e: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041282: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041286: 0953 lsrs r3, r2, #5 8041288: 49b3 ldr r1, [pc, #716] ; (8041558 ) 804128a: fba1 1303 umull r1, r3, r1, r3 804128e: 09db lsrs r3, r3, #7 8041290: 49b2 ldr r1, [pc, #712] ; (804155c ) 8041292: fb01 f303 mul.w r3, r1, r3 8041296: 1ad3 subs r3, r2, r3 8041298: 4ab1 ldr r2, [pc, #708] ; (8041560 ) 804129a: fba2 1203 umull r1, r2, r2, r3 804129e: 0b52 lsrs r2, r2, #13 80412a0: f242 7110 movw r1, #10000 ; 0x2710 80412a4: fb01 f202 mul.w r2, r1, r2 80412a8: 1a9a subs r2, r3, r2 80412aa: 4bae ldr r3, [pc, #696] ; (8041564 ) 80412ac: fba3 2302 umull r2, r3, r3, r2 80412b0: 099b lsrs r3, r3, #6 80412b2: b2db uxtb r3, r3 80412b4: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80412b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80412bc: 095a lsrs r2, r3, #5 80412be: 49a6 ldr r1, [pc, #664] ; (8041558 ) 80412c0: fba1 1202 umull r1, r2, r1, r2 80412c4: 09d2 lsrs r2, r2, #7 80412c6: 49a5 ldr r1, [pc, #660] ; (804155c ) 80412c8: fb01 f202 mul.w r2, r1, r2 80412cc: 1a9a subs r2, r3, r2 80412ce: 4ba4 ldr r3, [pc, #656] ; (8041560 ) 80412d0: fba3 1302 umull r1, r3, r3, r2 80412d4: 0b5b lsrs r3, r3, #13 80412d6: f242 7110 movw r1, #10000 ; 0x2710 80412da: fb01 f303 mul.w r3, r1, r3 80412de: 1ad3 subs r3, r2, r3 80412e0: 4aa0 ldr r2, [pc, #640] ; (8041564 ) 80412e2: fba2 1203 umull r1, r2, r2, r3 80412e6: 0992 lsrs r2, r2, #6 80412e8: f44f 717a mov.w r1, #1000 ; 0x3e8 80412ec: fb01 f202 mul.w r2, r1, r2 80412f0: 1a9a subs r2, r3, r2 80412f2: 4b9d ldr r3, [pc, #628] ; (8041568 ) 80412f4: fba3 2302 umull r2, r3, r3, r2 80412f8: 095b lsrs r3, r3, #5 80412fa: b2db uxtb r3, r3 80412fc: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8041300: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041304: 0953 lsrs r3, r2, #5 8041306: 4994 ldr r1, [pc, #592] ; (8041558 ) 8041308: fba1 1303 umull r1, r3, r1, r3 804130c: 09db lsrs r3, r3, #7 804130e: 4993 ldr r1, [pc, #588] ; (804155c ) 8041310: fb01 f303 mul.w r3, r1, r3 8041314: 1ad3 subs r3, r2, r3 8041316: 4a92 ldr r2, [pc, #584] ; (8041560 ) 8041318: fba2 1203 umull r1, r2, r2, r3 804131c: 0b52 lsrs r2, r2, #13 804131e: f242 7110 movw r1, #10000 ; 0x2710 8041322: fb01 f202 mul.w r2, r1, r2 8041326: 1a9a subs r2, r3, r2 8041328: 4b8e ldr r3, [pc, #568] ; (8041564 ) 804132a: fba3 1302 umull r1, r3, r3, r2 804132e: 099b lsrs r3, r3, #6 8041330: f44f 717a mov.w r1, #1000 ; 0x3e8 8041334: fb01 f303 mul.w r3, r1, r3 8041338: 1ad3 subs r3, r2, r3 804133a: 4a8b ldr r2, [pc, #556] ; (8041568 ) 804133c: fba2 1203 umull r1, r2, r2, r3 8041340: 0952 lsrs r2, r2, #5 8041342: 2164 movs r1, #100 ; 0x64 8041344: fb01 f202 mul.w r2, r1, r2 8041348: 1a9a subs r2, r3, r2 804134a: 4b88 ldr r3, [pc, #544] ; (804156c ) 804134c: fba3 2302 umull r2, r3, r3, r2 8041350: 08db lsrs r3, r3, #3 8041352: b2db uxtb r3, r3 8041354: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8041358: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804135c: 0953 lsrs r3, r2, #5 804135e: 497e ldr r1, [pc, #504] ; (8041558 ) 8041360: fba1 1303 umull r1, r3, r1, r3 8041364: 09db lsrs r3, r3, #7 8041366: 497d ldr r1, [pc, #500] ; (804155c ) 8041368: fb01 f303 mul.w r3, r1, r3 804136c: 1ad3 subs r3, r2, r3 804136e: 4a7c ldr r2, [pc, #496] ; (8041560 ) 8041370: fba2 1203 umull r1, r2, r2, r3 8041374: 0b52 lsrs r2, r2, #13 8041376: f242 7110 movw r1, #10000 ; 0x2710 804137a: fb01 f202 mul.w r2, r1, r2 804137e: 1a9a subs r2, r3, r2 8041380: 4b78 ldr r3, [pc, #480] ; (8041564 ) 8041382: fba3 1302 umull r1, r3, r3, r2 8041386: 099b lsrs r3, r3, #6 8041388: f44f 717a mov.w r1, #1000 ; 0x3e8 804138c: fb01 f303 mul.w r3, r1, r3 8041390: 1ad3 subs r3, r2, r3 8041392: 4a75 ldr r2, [pc, #468] ; (8041568 ) 8041394: fba2 1203 umull r1, r2, r2, r3 8041398: 0952 lsrs r2, r2, #5 804139a: 2164 movs r1, #100 ; 0x64 804139c: fb01 f202 mul.w r2, r1, r2 80413a0: 1a9a subs r2, r3, r2 80413a2: 4b72 ldr r3, [pc, #456] ; (804156c ) 80413a4: fba3 1302 umull r1, r3, r3, r2 80413a8: 08d9 lsrs r1, r3, #3 80413aa: 460b mov r3, r1 80413ac: 009b lsls r3, r3, #2 80413ae: 440b add r3, r1 80413b0: 005b lsls r3, r3, #1 80413b2: 1ad1 subs r1, r2, r3 80413b4: b2cb uxtb r3, r1 80413b6: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80413ba: 4b65 ldr r3, [pc, #404] ; (8041550 ) 80413bc: 781b ldrb r3, [r3, #0] 80413be: b2db uxtb r3, r3 80413c0: 3b19 subs r3, #25 80413c2: 2b05 cmp r3, #5 80413c4: d869 bhi.n 804149a 80413c6: a201 add r2, pc, #4 ; (adr r2, 80413cc ) 80413c8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80413cc: 080413e5 .word 0x080413e5 80413d0: 08041405 .word 0x08041405 80413d4: 08041427 .word 0x08041427 80413d8: 08041447 .word 0x08041447 80413dc: 08041463 .word 0x08041463 80413e0: 0804147f .word 0x0804147f if(k > 100000) k -= 100000; 80413e4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80413e8: 4a5c ldr r2, [pc, #368] ; (804155c ) 80413ea: 4293 cmp r3, r2 80413ec: d906 bls.n 80413fc 80413ee: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80413f2: 4b5f ldr r3, [pc, #380] ; (8041570 ) 80413f4: 4413 add r3, r2 80413f6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80413fa: e04e b.n 804149a else k = 0; 80413fc: 2300 movs r3, #0 80413fe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041402: e04a b.n 804149a if(k > 10000) k -= 10000; 8041404: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041408: f242 7210 movw r2, #10000 ; 0x2710 804140c: 4293 cmp r3, r2 804140e: d906 bls.n 804141e 8041410: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041414: 4b57 ldr r3, [pc, #348] ; (8041574 ) 8041416: 4413 add r3, r2 8041418: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804141c: e03d b.n 804149a else k = 0; 804141e: 2300 movs r3, #0 8041420: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041424: e039 b.n 804149a if(k > 1000) k -= 1000; 8041426: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804142a: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 804142e: d906 bls.n 804143e 8041430: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041434: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041438: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804143c: e02d b.n 804149a else k = 0; 804143e: 2300 movs r3, #0 8041440: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041444: e029 b.n 804149a if(k > 100) k -= 100; 8041446: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804144a: 2b64 cmp r3, #100 ; 0x64 804144c: d905 bls.n 804145a 804144e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041452: 3b64 subs r3, #100 ; 0x64 8041454: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041458: e01f b.n 804149a else k = 0; 804145a: 2300 movs r3, #0 804145c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041460: e01b b.n 804149a if(k > 10) k -= 10; 8041462: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041466: 2b0a cmp r3, #10 8041468: d905 bls.n 8041476 804146a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804146e: 3b0a subs r3, #10 8041470: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041474: e011 b.n 804149a else k = 0; 8041476: 2300 movs r3, #0 8041478: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804147c: e00d b.n 804149a if(k > 1) k -= 1; 804147e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041482: 2b01 cmp r3, #1 8041484: d905 bls.n 8041492 8041486: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804148a: 3b01 subs r3, #1 804148c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041490: e002 b.n 8041498 else k = 0; 8041492: 2300 movs r3, #0 8041494: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041498: bf00 nop fl = (float32_t) k; 804149a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804149e: ee07 3a90 vmov s15, r3 80414a2: eef8 7a67 vcvt.f32.u32 s15, s15 80414a6: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 80414aa: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80414ae: ed9f 7a32 vldr s14, [pc, #200] ; 8041578 80414b2: ee67 7a87 vmul.f32 s15, s15, s14 80414b6: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 80414ba: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80414be: ed9f 7a2f vldr s14, [pc, #188] ; 804157c 80414c2: ee77 7a87 vadd.f32 s15, s15, s14 80414c6: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 80414ca: 4b22 ldr r3, [pc, #136] ; (8041554 ) 80414cc: 785b ldrb r3, [r3, #1] 80414ce: b2db uxtb r3, r3 80414d0: 2b00 cmp r3, #0 80414d2: d155 bne.n 8041580 if(fl < 0.5f) 80414d4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80414d8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80414dc: eef4 7ac7 vcmpe.f32 s15, s14 80414e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80414e4: d505 bpl.n 80414f2 pardata.HP = 0.5f; 80414e6: 4b1b ldr r3, [pc, #108] ; (8041554 ) 80414e8: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 80414ec: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80414f0: e252 b.n 8041998 if(fl > pardata.LP) 80414f2: 4b18 ldr r3, [pc, #96] ; (8041554 ) 80414f4: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80414f8: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80414fc: eeb4 7ae7 vcmpe.f32 s14, s15 8041500: eef1 fa10 vmrs APSR_nzcv, fpscr 8041504: d506 bpl.n 8041514 pardata.HP = pardata.LP; 8041506: 4b13 ldr r3, [pc, #76] ; (8041554 ) 8041508: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 804150c: 4a11 ldr r2, [pc, #68] ; (8041554 ) 804150e: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8041512: e241 b.n 8041998 pardata.HP = (float32_t) k; 8041514: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041518: ee07 3a90 vmov s15, r3 804151c: eef8 7a67 vcvt.f32.u32 s15, s15 8041520: 4b0c ldr r3, [pc, #48] ; (8041554 ) 8041522: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 8041526: 4b0b ldr r3, [pc, #44] ; (8041554 ) 8041528: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804152c: ed9f 7a12 vldr s14, [pc, #72] ; 8041578 8041530: ee67 7a87 vmul.f32 s15, s15, s14 8041534: 4b07 ldr r3, [pc, #28] ; (8041554 ) 8041536: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 804153a: 4b06 ldr r3, [pc, #24] ; (8041554 ) 804153c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041540: ed9f 7a0e vldr s14, [pc, #56] ; 804157c 8041544: ee77 7a87 vadd.f32 s15, s15, s14 8041548: 4b02 ldr r3, [pc, #8] ; (8041554 ) 804154a: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 804154e: e223 b.n 8041998 8041550: 20020070 .word 0x20020070 8041554: 20023e60 .word 0x20023e60 8041558: 0a7c5ac5 .word 0x0a7c5ac5 804155c: 000186a0 .word 0x000186a0 8041560: d1b71759 .word 0xd1b71759 8041564: 10624dd3 .word 0x10624dd3 8041568: 51eb851f .word 0x51eb851f 804156c: cccccccd .word 0xcccccccd 8041570: fffe7960 .word 0xfffe7960 8041574: ffffd8f0 .word 0xffffd8f0 8041578: 3dcccccd .word 0x3dcccccd 804157c: 38d1b717 .word 0x38d1b717 if(fl < 2.0f) 8041580: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041584: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8041588: eef4 7ac7 vcmpe.f32 s15, s14 804158c: eef1 fa10 vmrs APSR_nzcv, fpscr 8041590: d505 bpl.n 804159e pardata.HP = 2.0f; 8041592: 4bcc ldr r3, [pc, #816] ; (80418c4 ) 8041594: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8041598: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 804159c: e1fc b.n 8041998 if(fl > pardata.LP) 804159e: 4bc9 ldr r3, [pc, #804] ; (80418c4 ) 80415a0: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80415a4: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80415a8: eeb4 7ae7 vcmpe.f32 s14, s15 80415ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80415b0: d506 bpl.n 80415c0 pardata.HP = pardata.LP; 80415b2: 4bc4 ldr r3, [pc, #784] ; (80418c4 ) 80415b4: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 80415b8: 4ac2 ldr r2, [pc, #776] ; (80418c4 ) 80415ba: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 80415be: e1eb b.n 8041998 pardata.HP = (float32_t) k; 80415c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80415c4: ee07 3a90 vmov s15, r3 80415c8: eef8 7a67 vcvt.f32.u32 s15, s15 80415cc: 4bbd ldr r3, [pc, #756] ; (80418c4 ) 80415ce: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 80415d2: 4bbc ldr r3, [pc, #752] ; (80418c4 ) 80415d4: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80415d8: ed9f 7abb vldr s14, [pc, #748] ; 80418c8 80415dc: ee67 7a87 vmul.f32 s15, s15, s14 80415e0: 4bb8 ldr r3, [pc, #736] ; (80418c4 ) 80415e2: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 80415e6: 4bb7 ldr r3, [pc, #732] ; (80418c4 ) 80415e8: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80415ec: ed9f 7ab7 vldr s14, [pc, #732] ; 80418cc 80415f0: ee77 7a87 vadd.f32 s15, s15, s14 80415f4: 4bb3 ldr r3, [pc, #716] ; (80418c4 ) 80415f6: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80415fa: e1cd b.n 8041998 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 80415fc: 4bb4 ldr r3, [pc, #720] ; (80418d0 ) 80415fe: 781b ldrb r3, [r3, #0] 8041600: b2db uxtb r3, r3 8041602: 2b1e cmp r3, #30 8041604: f240 81cc bls.w 80419a0 8041608: 4bb1 ldr r3, [pc, #708] ; (80418d0 ) 804160a: 781b ldrb r3, [r3, #0] 804160c: b2db uxtb r3, r3 804160e: 2b24 cmp r3, #36 ; 0x24 8041610: f200 81c6 bhi.w 80419a0 k = (uint32_t) (pardata.LP * 10.0f); 8041614: 4bab ldr r3, [pc, #684] ; (80418c4 ) 8041616: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804161a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804161e: ee67 7a87 vmul.f32 s15, s15, s14 8041622: eefc 7ae7 vcvt.u32.f32 s15, s15 8041626: ee17 3a90 vmov r3, s15 804162a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804162e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041632: 095b lsrs r3, r3, #5 8041634: 4aa7 ldr r2, [pc, #668] ; (80418d4 ) 8041636: fba2 2303 umull r2, r3, r2, r3 804163a: 09db lsrs r3, r3, #7 804163c: b2db uxtb r3, r3 804163e: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8041642: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041646: 0953 lsrs r3, r2, #5 8041648: 49a2 ldr r1, [pc, #648] ; (80418d4 ) 804164a: fba1 1303 umull r1, r3, r1, r3 804164e: 09db lsrs r3, r3, #7 8041650: 49a1 ldr r1, [pc, #644] ; (80418d8 ) 8041652: fb01 f303 mul.w r3, r1, r3 8041656: 1ad3 subs r3, r2, r3 8041658: 4aa0 ldr r2, [pc, #640] ; (80418dc ) 804165a: fba2 2303 umull r2, r3, r2, r3 804165e: 0b5b lsrs r3, r3, #13 8041660: b2db uxtb r3, r3 8041662: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041666: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804166a: 0953 lsrs r3, r2, #5 804166c: 4999 ldr r1, [pc, #612] ; (80418d4 ) 804166e: fba1 1303 umull r1, r3, r1, r3 8041672: 09db lsrs r3, r3, #7 8041674: 4998 ldr r1, [pc, #608] ; (80418d8 ) 8041676: fb01 f303 mul.w r3, r1, r3 804167a: 1ad3 subs r3, r2, r3 804167c: 4a97 ldr r2, [pc, #604] ; (80418dc ) 804167e: fba2 1203 umull r1, r2, r2, r3 8041682: 0b52 lsrs r2, r2, #13 8041684: f242 7110 movw r1, #10000 ; 0x2710 8041688: fb01 f202 mul.w r2, r1, r2 804168c: 1a9a subs r2, r3, r2 804168e: 4b94 ldr r3, [pc, #592] ; (80418e0 ) 8041690: fba3 2302 umull r2, r3, r3, r2 8041694: 099b lsrs r3, r3, #6 8041696: b2db uxtb r3, r3 8041698: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 804169c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80416a0: 095a lsrs r2, r3, #5 80416a2: 498c ldr r1, [pc, #560] ; (80418d4 ) 80416a4: fba1 1202 umull r1, r2, r1, r2 80416a8: 09d2 lsrs r2, r2, #7 80416aa: 498b ldr r1, [pc, #556] ; (80418d8 ) 80416ac: fb01 f202 mul.w r2, r1, r2 80416b0: 1a9a subs r2, r3, r2 80416b2: 4b8a ldr r3, [pc, #552] ; (80418dc ) 80416b4: fba3 1302 umull r1, r3, r3, r2 80416b8: 0b5b lsrs r3, r3, #13 80416ba: f242 7110 movw r1, #10000 ; 0x2710 80416be: fb01 f303 mul.w r3, r1, r3 80416c2: 1ad3 subs r3, r2, r3 80416c4: 4a86 ldr r2, [pc, #536] ; (80418e0 ) 80416c6: fba2 1203 umull r1, r2, r2, r3 80416ca: 0992 lsrs r2, r2, #6 80416cc: f44f 717a mov.w r1, #1000 ; 0x3e8 80416d0: fb01 f202 mul.w r2, r1, r2 80416d4: 1a9a subs r2, r3, r2 80416d6: 4b83 ldr r3, [pc, #524] ; (80418e4 ) 80416d8: fba3 2302 umull r2, r3, r3, r2 80416dc: 095b lsrs r3, r3, #5 80416de: b2db uxtb r3, r3 80416e0: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80416e4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80416e8: 0953 lsrs r3, r2, #5 80416ea: 497a ldr r1, [pc, #488] ; (80418d4 ) 80416ec: fba1 1303 umull r1, r3, r1, r3 80416f0: 09db lsrs r3, r3, #7 80416f2: 4979 ldr r1, [pc, #484] ; (80418d8 ) 80416f4: fb01 f303 mul.w r3, r1, r3 80416f8: 1ad3 subs r3, r2, r3 80416fa: 4a78 ldr r2, [pc, #480] ; (80418dc ) 80416fc: fba2 1203 umull r1, r2, r2, r3 8041700: 0b52 lsrs r2, r2, #13 8041702: f242 7110 movw r1, #10000 ; 0x2710 8041706: fb01 f202 mul.w r2, r1, r2 804170a: 1a9a subs r2, r3, r2 804170c: 4b74 ldr r3, [pc, #464] ; (80418e0 ) 804170e: fba3 1302 umull r1, r3, r3, r2 8041712: 099b lsrs r3, r3, #6 8041714: f44f 717a mov.w r1, #1000 ; 0x3e8 8041718: fb01 f303 mul.w r3, r1, r3 804171c: 1ad3 subs r3, r2, r3 804171e: 4a71 ldr r2, [pc, #452] ; (80418e4 ) 8041720: fba2 1203 umull r1, r2, r2, r3 8041724: 0952 lsrs r2, r2, #5 8041726: 2164 movs r1, #100 ; 0x64 8041728: fb01 f202 mul.w r2, r1, r2 804172c: 1a9a subs r2, r3, r2 804172e: 4b6e ldr r3, [pc, #440] ; (80418e8 ) 8041730: fba3 2302 umull r2, r3, r3, r2 8041734: 08db lsrs r3, r3, #3 8041736: b2db uxtb r3, r3 8041738: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 804173c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041740: 0953 lsrs r3, r2, #5 8041742: 4964 ldr r1, [pc, #400] ; (80418d4 ) 8041744: fba1 1303 umull r1, r3, r1, r3 8041748: 09db lsrs r3, r3, #7 804174a: 4963 ldr r1, [pc, #396] ; (80418d8 ) 804174c: fb01 f303 mul.w r3, r1, r3 8041750: 1ad3 subs r3, r2, r3 8041752: 4a62 ldr r2, [pc, #392] ; (80418dc ) 8041754: fba2 1203 umull r1, r2, r2, r3 8041758: 0b52 lsrs r2, r2, #13 804175a: f242 7110 movw r1, #10000 ; 0x2710 804175e: fb01 f202 mul.w r2, r1, r2 8041762: 1a9a subs r2, r3, r2 8041764: 4b5e ldr r3, [pc, #376] ; (80418e0 ) 8041766: fba3 1302 umull r1, r3, r3, r2 804176a: 099b lsrs r3, r3, #6 804176c: f44f 717a mov.w r1, #1000 ; 0x3e8 8041770: fb01 f303 mul.w r3, r1, r3 8041774: 1ad3 subs r3, r2, r3 8041776: 4a5b ldr r2, [pc, #364] ; (80418e4 ) 8041778: fba2 1203 umull r1, r2, r2, r3 804177c: 0952 lsrs r2, r2, #5 804177e: 2164 movs r1, #100 ; 0x64 8041780: fb01 f202 mul.w r2, r1, r2 8041784: 1a9a subs r2, r3, r2 8041786: 4b58 ldr r3, [pc, #352] ; (80418e8 ) 8041788: fba3 1302 umull r1, r3, r3, r2 804178c: 08d9 lsrs r1, r3, #3 804178e: 460b mov r3, r1 8041790: 009b lsls r3, r3, #2 8041792: 440b add r3, r1 8041794: 005b lsls r3, r3, #1 8041796: 1ad1 subs r1, r2, r3 8041798: b2cb uxtb r3, r1 804179a: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 804179e: 4b4c ldr r3, [pc, #304] ; (80418d0 ) 80417a0: 781b ldrb r3, [r3, #0] 80417a2: b2db uxtb r3, r3 80417a4: 3b1f subs r3, #31 80417a6: 2b05 cmp r3, #5 80417a8: d869 bhi.n 804187e 80417aa: a201 add r2, pc, #4 ; (adr r2, 80417b0 ) 80417ac: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80417b0: 080417c9 .word 0x080417c9 80417b4: 080417e9 .word 0x080417e9 80417b8: 0804180b .word 0x0804180b 80417bc: 0804182b .word 0x0804182b 80417c0: 08041847 .word 0x08041847 80417c4: 08041863 .word 0x08041863 if(k > 100000) k -= 100000; 80417c8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80417cc: 4a42 ldr r2, [pc, #264] ; (80418d8 ) 80417ce: 4293 cmp r3, r2 80417d0: d906 bls.n 80417e0 80417d2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80417d6: 4b45 ldr r3, [pc, #276] ; (80418ec ) 80417d8: 4413 add r3, r2 80417da: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80417de: e04e b.n 804187e else k = 0; 80417e0: 2300 movs r3, #0 80417e2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80417e6: e04a b.n 804187e if(k > 10000) k -= 10000; 80417e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80417ec: f242 7210 movw r2, #10000 ; 0x2710 80417f0: 4293 cmp r3, r2 80417f2: d906 bls.n 8041802 80417f4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80417f8: 4b3d ldr r3, [pc, #244] ; (80418f0 ) 80417fa: 4413 add r3, r2 80417fc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041800: e03d b.n 804187e else k = 0; 8041802: 2300 movs r3, #0 8041804: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041808: e039 b.n 804187e if(k > 1000) k -= 1000; 804180a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804180e: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8041812: d906 bls.n 8041822 8041814: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041818: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 804181c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041820: e02d b.n 804187e else k = 0; 8041822: 2300 movs r3, #0 8041824: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041828: e029 b.n 804187e if(k > 100) k -= 100; 804182a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804182e: 2b64 cmp r3, #100 ; 0x64 8041830: d905 bls.n 804183e 8041832: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041836: 3b64 subs r3, #100 ; 0x64 8041838: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804183c: e01f b.n 804187e else k = 0; 804183e: 2300 movs r3, #0 8041840: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041844: e01b b.n 804187e if(k > 10) k -= 10; 8041846: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804184a: 2b0a cmp r3, #10 804184c: d905 bls.n 804185a 804184e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041852: 3b0a subs r3, #10 8041854: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041858: e011 b.n 804187e else k = 0; 804185a: 2300 movs r3, #0 804185c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041860: e00d b.n 804187e if(k > 1) k -= 1; 8041862: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041866: 2b01 cmp r3, #1 8041868: d905 bls.n 8041876 804186a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804186e: 3b01 subs r3, #1 8041870: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041874: e002 b.n 804187c else k = 0; 8041876: 2300 movs r3, #0 8041878: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804187c: bf00 nop fl = (float32_t) k; 804187e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041882: ee07 3a90 vmov s15, r3 8041886: eef8 7a67 vcvt.f32.u32 s15, s15 804188a: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 804188e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041892: ed9f 7a0d vldr s14, [pc, #52] ; 80418c8 8041896: ee67 7a87 vmul.f32 s15, s15, s14 804189a: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 804189e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80418a2: ed9f 7a0a vldr s14, [pc, #40] ; 80418cc 80418a6: ee77 7a87 vadd.f32 s15, s15, s14 80418aa: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if((pardata.OPTIONS & maskFFT) == okt) 80418ae: 4b05 ldr r3, [pc, #20] ; (80418c4 ) 80418b0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80418b4: f003 0330 and.w r3, r3, #48 ; 0x30 80418b8: 2b20 cmp r3, #32 80418ba: d11d bne.n 80418f8 f = 12800.0f; 80418bc: 4b0d ldr r3, [pc, #52] ; (80418f4 ) 80418be: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 80418c2: e01c b.n 80418fe 80418c4: 20023e60 .word 0x20023e60 80418c8: 3dcccccd .word 0x3dcccccd 80418cc: 38d1b717 .word 0x38d1b717 80418d0: 20020070 .word 0x20020070 80418d4: 0a7c5ac5 .word 0x0a7c5ac5 80418d8: 000186a0 .word 0x000186a0 80418dc: d1b71759 .word 0xd1b71759 80418e0: 10624dd3 .word 0x10624dd3 80418e4: 51eb851f .word 0x51eb851f 80418e8: cccccccd .word 0xcccccccd 80418ec: fffe7960 .word 0xfffe7960 80418f0: ffffd8f0 .word 0xffffd8f0 80418f4: 46480000 .word 0x46480000 else f = 6400.0f; 80418f8: 4b6f ldr r3, [pc, #444] ; (8041ab8 ) 80418fa: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 if(fl < 10.0f) 80418fe: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8041902: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8041906: eef4 7ac7 vcmpe.f32 s15, s14 804190a: eef1 fa10 vmrs APSR_nzcv, fpscr 804190e: d504 bpl.n 804191a pardata.LP = 10.0f; 8041910: 4b6a ldr r3, [pc, #424] ; (8041abc ) 8041912: 4a6b ldr r2, [pc, #428] ; (8041ac0 ) 8041914: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 8041918: e042 b.n 80419a0 if(pardata.LP < pardata.HP) 804191a: 4b68 ldr r3, [pc, #416] ; (8041abc ) 804191c: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8041920: 4b66 ldr r3, [pc, #408] ; (8041abc ) 8041922: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8041926: eeb4 7ae7 vcmpe.f32 s14, s15 804192a: eef1 fa10 vmrs APSR_nzcv, fpscr 804192e: d506 bpl.n 804193e pardata.LP = pardata.HP; 8041930: 4b62 ldr r3, [pc, #392] ; (8041abc ) 8041932: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 8041936: 4a61 ldr r2, [pc, #388] ; (8041abc ) 8041938: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 804193c: e030 b.n 80419a0 if(fl > f) 804193e: ed97 7a2a vldr s14, [r7, #168] ; 0xa8 8041942: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8041946: eeb4 7ae7 vcmpe.f32 s14, s15 804194a: eef1 fa10 vmrs APSR_nzcv, fpscr 804194e: dd05 ble.n 804195c pardata.LP = f; 8041950: 4a5a ldr r2, [pc, #360] ; (8041abc ) 8041952: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 8041956: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 804195a: e021 b.n 80419a0 pardata.LP = (float32_t) k; 804195c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041960: ee07 3a90 vmov s15, r3 8041964: eef8 7a67 vcvt.f32.u32 s15, s15 8041968: 4b54 ldr r3, [pc, #336] ; (8041abc ) 804196a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 804196e: 4b53 ldr r3, [pc, #332] ; (8041abc ) 8041970: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8041974: ed9f 7a53 vldr s14, [pc, #332] ; 8041ac4 8041978: ee67 7a87 vmul.f32 s15, s15, s14 804197c: 4b4f ldr r3, [pc, #316] ; (8041abc ) 804197e: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8041982: 4b4e ldr r3, [pc, #312] ; (8041abc ) 8041984: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8041988: ed9f 7a4f vldr s14, [pc, #316] ; 8041ac8 804198c: ee77 7a87 vadd.f32 s15, s15, s14 8041990: 4b4a ldr r3, [pc, #296] ; (8041abc ) 8041992: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8041996: e003 b.n 80419a0 8041998: e002 b.n 80419a0 break; 804199a: bf00 nop 804199c: f002 b828 b.w 80439f0 break; 80419a0: bf00 nop break; 80419a2: f002 b825 b.w 80439f0 case PARAM_OSC: focused = false; 80419a6: 4b49 ldr r3, [pc, #292] ; (8041acc ) 80419a8: 2200 movs r2, #0 80419aa: 701a strb r2, [r3, #0] if(menupos == Ok) 80419ac: 4b48 ldr r3, [pc, #288] ; (8041ad0 ) 80419ae: 781b ldrb r3, [r3, #0] 80419b0: b2db uxtb r3, r3 80419b2: 2b00 cmp r3, #0 80419b4: d104 bne.n 80419c0 menupos = OscValue; 80419b6: 4b46 ldr r3, [pc, #280] ; (8041ad0 ) 80419b8: 2201 movs r2, #1 80419ba: 701a strb r2, [r3, #0] pardata.LP = (float32_t) k; pardata.LP *= 0.1f; pardata.LP += 0.0001f; } } break; 80419bc: f001 bffc b.w 80439b8 if(menupos == OscValue) 80419c0: 4b43 ldr r3, [pc, #268] ; (8041ad0 ) 80419c2: 781b ldrb r3, [r3, #0] 80419c4: b2db uxtb r3, r3 80419c6: 2b01 cmp r3, #1 80419c8: d104 bne.n 80419d4 menupos = FilterHP; 80419ca: 4b41 ldr r3, [pc, #260] ; (8041ad0 ) 80419cc: 2217 movs r2, #23 80419ce: 701a strb r2, [r3, #0] break; 80419d0: f001 bff2 b.w 80439b8 if(menupos == FilterHP) 80419d4: 4b3e ldr r3, [pc, #248] ; (8041ad0 ) 80419d6: 781b ldrb r3, [r3, #0] 80419d8: b2db uxtb r3, r3 80419da: 2b17 cmp r3, #23 80419dc: d104 bne.n 80419e8 menupos = FilterLP; 80419de: 4b3c ldr r3, [pc, #240] ; (8041ad0 ) 80419e0: 2218 movs r2, #24 80419e2: 701a strb r2, [r3, #0] break; 80419e4: f001 bfe8 b.w 80439b8 if(menupos == FilterLP) 80419e8: 4b39 ldr r3, [pc, #228] ; (8041ad0 ) 80419ea: 781b ldrb r3, [r3, #0] 80419ec: b2db uxtb r3, r3 80419ee: 2b18 cmp r3, #24 80419f0: d104 bne.n 80419fc menupos = OscRate; 80419f2: 4b37 ldr r3, [pc, #220] ; (8041ad0 ) 80419f4: 2203 movs r2, #3 80419f6: 701a strb r2, [r3, #0] break; 80419f8: f001 bfde b.w 80439b8 if(menupos == OscRate) 80419fc: 4b34 ldr r3, [pc, #208] ; (8041ad0 ) 80419fe: 781b ldrb r3, [r3, #0] 8041a00: b2db uxtb r3, r3 8041a02: 2b03 cmp r3, #3 8041a04: d104 bne.n 8041a10 menupos = OscLen; 8041a06: 4b32 ldr r3, [pc, #200] ; (8041ad0 ) 8041a08: 2204 movs r2, #4 8041a0a: 701a strb r2, [r3, #0] break; 8041a0c: f001 bfd4 b.w 80439b8 if(menupos == OscLen) 8041a10: 4b2f ldr r3, [pc, #188] ; (8041ad0 ) 8041a12: 781b ldrb r3, [r3, #0] 8041a14: b2db uxtb r3, r3 8041a16: 2b04 cmp r3, #4 8041a18: d104 bne.n 8041a24 menupos = OscAutoKu; 8041a1a: 4b2d ldr r3, [pc, #180] ; (8041ad0 ) 8041a1c: 2205 movs r2, #5 8041a1e: 701a strb r2, [r3, #0] break; 8041a20: f001 bfca b.w 80439b8 if(menupos == OscAutoKu) 8041a24: 4b2a ldr r3, [pc, #168] ; (8041ad0 ) 8041a26: 781b ldrb r3, [r3, #0] 8041a28: b2db uxtb r3, r3 8041a2a: 2b05 cmp r3, #5 8041a2c: d110 bne.n 8041a50 if(pardata.OPTIONS & 0x4) 8041a2e: 4b23 ldr r3, [pc, #140] ; (8041abc ) 8041a30: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8041a34: f003 0304 and.w r3, r3, #4 8041a38: 2b00 cmp r3, #0 8041a3a: d004 beq.n 8041a46 menupos = Ok; 8041a3c: 4b24 ldr r3, [pc, #144] ; (8041ad0 ) 8041a3e: 2200 movs r2, #0 8041a40: 701a strb r2, [r3, #0] break; 8041a42: f001 bfb9 b.w 80439b8 else menupos = OscMax_ALL; 8041a46: 4b22 ldr r3, [pc, #136] ; (8041ad0 ) 8041a48: 2206 movs r2, #6 8041a4a: 701a strb r2, [r3, #0] break; 8041a4c: f001 bfb4 b.w 80439b8 if(menupos == OscMax_ALL) 8041a50: 4b1f ldr r3, [pc, #124] ; (8041ad0 ) 8041a52: 781b ldrb r3, [r3, #0] 8041a54: b2db uxtb r3, r3 8041a56: 2b06 cmp r3, #6 8041a58: d10e bne.n 8041a78 if(pardata.IPR > ACC) 8041a5a: 4b18 ldr r3, [pc, #96] ; (8041abc ) 8041a5c: 785b ldrb r3, [r3, #1] 8041a5e: b2db uxtb r3, r3 8041a60: 2b00 cmp r3, #0 8041a62: d004 beq.n 8041a6e menupos = Ok; 8041a64: 4b1a ldr r3, [pc, #104] ; (8041ad0 ) 8041a66: 2200 movs r2, #0 8041a68: 701a strb r2, [r3, #0] break; 8041a6a: f001 bfa5 b.w 80439b8 else menupos = OscThr; 8041a6e: 4b18 ldr r3, [pc, #96] ; (8041ad0 ) 8041a70: 2207 movs r2, #7 8041a72: 701a strb r2, [r3, #0] break; 8041a74: f001 bfa0 b.w 80439b8 if(menupos == OscThr) 8041a78: 4b15 ldr r3, [pc, #84] ; (8041ad0 ) 8041a7a: 781b ldrb r3, [r3, #0] 8041a7c: b2db uxtb r3, r3 8041a7e: 2b07 cmp r3, #7 8041a80: d10f bne.n 8041aa2 if(pardata.THR & 0x80) 8041a82: 4b0e ldr r3, [pc, #56] ; (8041abc ) 8041a84: 7bdb ldrb r3, [r3, #15] 8041a86: b2db uxtb r3, r3 8041a88: b25b sxtb r3, r3 8041a8a: 2b00 cmp r3, #0 8041a8c: da04 bge.n 8041a98 menupos = OscThr_ALL; 8041a8e: 4b10 ldr r3, [pc, #64] ; (8041ad0 ) 8041a90: 2208 movs r2, #8 8041a92: 701a strb r2, [r3, #0] break; 8041a94: f001 bf90 b.w 80439b8 else menupos = Ok; 8041a98: 4b0d ldr r3, [pc, #52] ; (8041ad0 ) 8041a9a: 2200 movs r2, #0 8041a9c: 701a strb r2, [r3, #0] break; 8041a9e: f001 bf8b b.w 80439b8 if(menupos == OscThr_ALL) 8041aa2: 4b0b ldr r3, [pc, #44] ; (8041ad0 ) 8041aa4: 781b ldrb r3, [r3, #0] 8041aa6: b2db uxtb r3, r3 8041aa8: 2b08 cmp r3, #8 8041aaa: d113 bne.n 8041ad4 menupos = Ok; 8041aac: 4b08 ldr r3, [pc, #32] ; (8041ad0 ) 8041aae: 2200 movs r2, #0 8041ab0: 701a strb r2, [r3, #0] break; 8041ab2: f001 bf81 b.w 80439b8 8041ab6: bf00 nop 8041ab8: 45c80000 .word 0x45c80000 8041abc: 20023e60 .word 0x20023e60 8041ac0: 41200000 .word 0x41200000 8041ac4: 3dcccccd .word 0x3dcccccd 8041ac8: 38d1b717 .word 0x38d1b717 8041acc: 20020f84 .word 0x20020f84 8041ad0: 20020070 .word 0x20020070 if((menupos >= OscThr_IDT) && (menupos <= OscThr_IKD)) 8041ad4: 4bb3 ldr r3, [pc, #716] ; (8041da4 ) 8041ad6: 781b ldrb r3, [r3, #0] 8041ad8: b2db uxtb r3, r3 8041ada: 2b08 cmp r3, #8 8041adc: f240 817a bls.w 8041dd4 8041ae0: 4bb0 ldr r3, [pc, #704] ; (8041da4 ) 8041ae2: 781b ldrb r3, [r3, #0] 8041ae4: b2db uxtb r3, r3 8041ae6: 2b0e cmp r3, #14 8041ae8: f200 8174 bhi.w 8041dd4 k = (uint32_t) (pardata.THR_VAL * 10.0f); 8041aec: 4bae ldr r3, [pc, #696] ; (8041da8 ) 8041aee: edd3 7a05 vldr s15, [r3, #20] 8041af2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8041af6: ee67 7a87 vmul.f32 s15, s15, s14 8041afa: eefc 7ae7 vcvt.u32.f32 s15, s15 8041afe: ee17 3a90 vmov r3, s15 8041b02: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8041b06: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041b0a: 095b lsrs r3, r3, #5 8041b0c: 4aa7 ldr r2, [pc, #668] ; (8041dac ) 8041b0e: fba2 2303 umull r2, r3, r2, r3 8041b12: 09db lsrs r3, r3, #7 8041b14: b2db uxtb r3, r3 8041b16: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8041b1a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041b1e: 0953 lsrs r3, r2, #5 8041b20: 49a2 ldr r1, [pc, #648] ; (8041dac ) 8041b22: fba1 1303 umull r1, r3, r1, r3 8041b26: 09db lsrs r3, r3, #7 8041b28: 49a1 ldr r1, [pc, #644] ; (8041db0 ) 8041b2a: fb01 f303 mul.w r3, r1, r3 8041b2e: 1ad3 subs r3, r2, r3 8041b30: 4aa0 ldr r2, [pc, #640] ; (8041db4 ) 8041b32: fba2 2303 umull r2, r3, r2, r3 8041b36: 0b5b lsrs r3, r3, #13 8041b38: b2db uxtb r3, r3 8041b3a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041b3e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041b42: 0953 lsrs r3, r2, #5 8041b44: 4999 ldr r1, [pc, #612] ; (8041dac ) 8041b46: fba1 1303 umull r1, r3, r1, r3 8041b4a: 09db lsrs r3, r3, #7 8041b4c: 4998 ldr r1, [pc, #608] ; (8041db0 ) 8041b4e: fb01 f303 mul.w r3, r1, r3 8041b52: 1ad3 subs r3, r2, r3 8041b54: 4a97 ldr r2, [pc, #604] ; (8041db4 ) 8041b56: fba2 1203 umull r1, r2, r2, r3 8041b5a: 0b52 lsrs r2, r2, #13 8041b5c: f242 7110 movw r1, #10000 ; 0x2710 8041b60: fb01 f202 mul.w r2, r1, r2 8041b64: 1a9a subs r2, r3, r2 8041b66: 4b94 ldr r3, [pc, #592] ; (8041db8 ) 8041b68: fba3 2302 umull r2, r3, r3, r2 8041b6c: 099b lsrs r3, r3, #6 8041b6e: b2db uxtb r3, r3 8041b70: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8041b74: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041b78: 095a lsrs r2, r3, #5 8041b7a: 498c ldr r1, [pc, #560] ; (8041dac ) 8041b7c: fba1 1202 umull r1, r2, r1, r2 8041b80: 09d2 lsrs r2, r2, #7 8041b82: 498b ldr r1, [pc, #556] ; (8041db0 ) 8041b84: fb01 f202 mul.w r2, r1, r2 8041b88: 1a9a subs r2, r3, r2 8041b8a: 4b8a ldr r3, [pc, #552] ; (8041db4 ) 8041b8c: fba3 1302 umull r1, r3, r3, r2 8041b90: 0b5b lsrs r3, r3, #13 8041b92: f242 7110 movw r1, #10000 ; 0x2710 8041b96: fb01 f303 mul.w r3, r1, r3 8041b9a: 1ad3 subs r3, r2, r3 8041b9c: 4a86 ldr r2, [pc, #536] ; (8041db8 ) 8041b9e: fba2 1203 umull r1, r2, r2, r3 8041ba2: 0992 lsrs r2, r2, #6 8041ba4: f44f 717a mov.w r1, #1000 ; 0x3e8 8041ba8: fb01 f202 mul.w r2, r1, r2 8041bac: 1a9a subs r2, r3, r2 8041bae: 4b83 ldr r3, [pc, #524] ; (8041dbc ) 8041bb0: fba3 2302 umull r2, r3, r3, r2 8041bb4: 095b lsrs r3, r3, #5 8041bb6: b2db uxtb r3, r3 8041bb8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8041bbc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041bc0: 0953 lsrs r3, r2, #5 8041bc2: 497a ldr r1, [pc, #488] ; (8041dac ) 8041bc4: fba1 1303 umull r1, r3, r1, r3 8041bc8: 09db lsrs r3, r3, #7 8041bca: 4979 ldr r1, [pc, #484] ; (8041db0 ) 8041bcc: fb01 f303 mul.w r3, r1, r3 8041bd0: 1ad3 subs r3, r2, r3 8041bd2: 4a78 ldr r2, [pc, #480] ; (8041db4 ) 8041bd4: fba2 1203 umull r1, r2, r2, r3 8041bd8: 0b52 lsrs r2, r2, #13 8041bda: f242 7110 movw r1, #10000 ; 0x2710 8041bde: fb01 f202 mul.w r2, r1, r2 8041be2: 1a9a subs r2, r3, r2 8041be4: 4b74 ldr r3, [pc, #464] ; (8041db8 ) 8041be6: fba3 1302 umull r1, r3, r3, r2 8041bea: 099b lsrs r3, r3, #6 8041bec: f44f 717a mov.w r1, #1000 ; 0x3e8 8041bf0: fb01 f303 mul.w r3, r1, r3 8041bf4: 1ad3 subs r3, r2, r3 8041bf6: 4a71 ldr r2, [pc, #452] ; (8041dbc ) 8041bf8: fba2 1203 umull r1, r2, r2, r3 8041bfc: 0952 lsrs r2, r2, #5 8041bfe: 2164 movs r1, #100 ; 0x64 8041c00: fb01 f202 mul.w r2, r1, r2 8041c04: 1a9a subs r2, r3, r2 8041c06: 4b6e ldr r3, [pc, #440] ; (8041dc0 ) 8041c08: fba3 2302 umull r2, r3, r3, r2 8041c0c: 08db lsrs r3, r3, #3 8041c0e: b2db uxtb r3, r3 8041c10: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8041c14: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041c18: 0953 lsrs r3, r2, #5 8041c1a: 4964 ldr r1, [pc, #400] ; (8041dac ) 8041c1c: fba1 1303 umull r1, r3, r1, r3 8041c20: 09db lsrs r3, r3, #7 8041c22: 4963 ldr r1, [pc, #396] ; (8041db0 ) 8041c24: fb01 f303 mul.w r3, r1, r3 8041c28: 1ad3 subs r3, r2, r3 8041c2a: 4a62 ldr r2, [pc, #392] ; (8041db4 ) 8041c2c: fba2 1203 umull r1, r2, r2, r3 8041c30: 0b52 lsrs r2, r2, #13 8041c32: f242 7110 movw r1, #10000 ; 0x2710 8041c36: fb01 f202 mul.w r2, r1, r2 8041c3a: 1a9a subs r2, r3, r2 8041c3c: 4b5e ldr r3, [pc, #376] ; (8041db8 ) 8041c3e: fba3 1302 umull r1, r3, r3, r2 8041c42: 099b lsrs r3, r3, #6 8041c44: f44f 717a mov.w r1, #1000 ; 0x3e8 8041c48: fb01 f303 mul.w r3, r1, r3 8041c4c: 1ad3 subs r3, r2, r3 8041c4e: 4a5b ldr r2, [pc, #364] ; (8041dbc ) 8041c50: fba2 1203 umull r1, r2, r2, r3 8041c54: 0952 lsrs r2, r2, #5 8041c56: 2164 movs r1, #100 ; 0x64 8041c58: fb01 f202 mul.w r2, r1, r2 8041c5c: 1a9a subs r2, r3, r2 8041c5e: 4b58 ldr r3, [pc, #352] ; (8041dc0 ) 8041c60: fba3 1302 umull r1, r3, r3, r2 8041c64: 08d9 lsrs r1, r3, #3 8041c66: 460b mov r3, r1 8041c68: 009b lsls r3, r3, #2 8041c6a: 440b add r3, r1 8041c6c: 005b lsls r3, r3, #1 8041c6e: 1ad1 subs r1, r2, r3 8041c70: b2cb uxtb r3, r1 8041c72: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8041c76: 4b4b ldr r3, [pc, #300] ; (8041da4 ) 8041c78: 781b ldrb r3, [r3, #0] 8041c7a: b2db uxtb r3, r3 8041c7c: 3b09 subs r3, #9 8041c7e: 2b05 cmp r3, #5 8041c80: d869 bhi.n 8041d56 8041c82: a201 add r2, pc, #4 ; (adr r2, 8041c88 ) 8041c84: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8041c88: 08041ca1 .word 0x08041ca1 8041c8c: 08041cc1 .word 0x08041cc1 8041c90: 08041ce3 .word 0x08041ce3 8041c94: 08041d03 .word 0x08041d03 8041c98: 08041d1f .word 0x08041d1f 8041c9c: 08041d3b .word 0x08041d3b if(k > 100000) k -= 100000; 8041ca0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041ca4: 4a42 ldr r2, [pc, #264] ; (8041db0 ) 8041ca6: 4293 cmp r3, r2 8041ca8: d906 bls.n 8041cb8 8041caa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041cae: 4b45 ldr r3, [pc, #276] ; (8041dc4 ) 8041cb0: 4413 add r3, r2 8041cb2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041cb6: e04e b.n 8041d56 else k = 0; 8041cb8: 2300 movs r3, #0 8041cba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041cbe: e04a b.n 8041d56 if(k > 10000) k -= 10000; 8041cc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041cc4: f242 7210 movw r2, #10000 ; 0x2710 8041cc8: 4293 cmp r3, r2 8041cca: d906 bls.n 8041cda 8041ccc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041cd0: 4b3d ldr r3, [pc, #244] ; (8041dc8 ) 8041cd2: 4413 add r3, r2 8041cd4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041cd8: e03d b.n 8041d56 else k = 0; 8041cda: 2300 movs r3, #0 8041cdc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041ce0: e039 b.n 8041d56 if(k > 1000) k -= 1000; 8041ce2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041ce6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8041cea: d906 bls.n 8041cfa 8041cec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041cf0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041cf4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041cf8: e02d b.n 8041d56 else k = 0; 8041cfa: 2300 movs r3, #0 8041cfc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d00: e029 b.n 8041d56 if(k > 100) k -= 100; 8041d02: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d06: 2b64 cmp r3, #100 ; 0x64 8041d08: d905 bls.n 8041d16 8041d0a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d0e: 3b64 subs r3, #100 ; 0x64 8041d10: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d14: e01f b.n 8041d56 else k = 0; 8041d16: 2300 movs r3, #0 8041d18: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d1c: e01b b.n 8041d56 if(k > 10) k -= 10; 8041d1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d22: 2b0a cmp r3, #10 8041d24: d905 bls.n 8041d32 8041d26: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d2a: 3b0a subs r3, #10 8041d2c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d30: e011 b.n 8041d56 else k = 0; 8041d32: 2300 movs r3, #0 8041d34: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d38: e00d b.n 8041d56 if(k > 1) k -= 1; 8041d3a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d3e: 2b01 cmp r3, #1 8041d40: d905 bls.n 8041d4e 8041d42: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d46: 3b01 subs r3, #1 8041d48: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d4c: e002 b.n 8041d54 else k = 0; 8041d4e: 2300 movs r3, #0 8041d50: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041d54: bf00 nop if(k == 0) k = 1; 8041d56: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d5a: 2b00 cmp r3, #0 8041d5c: d102 bne.n 8041d64 8041d5e: 2301 movs r3, #1 8041d60: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 8041d64: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041d68: ee07 3a90 vmov s15, r3 8041d6c: eef8 7a67 vcvt.f32.u32 s15, s15 8041d70: 4b0d ldr r3, [pc, #52] ; (8041da8 ) 8041d72: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 8041d76: 4b0c ldr r3, [pc, #48] ; (8041da8 ) 8041d78: edd3 7a05 vldr s15, [r3, #20] 8041d7c: ed9f 7a13 vldr s14, [pc, #76] ; 8041dcc 8041d80: ee67 7a87 vmul.f32 s15, s15, s14 8041d84: 4b08 ldr r3, [pc, #32] ; (8041da8 ) 8041d86: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 8041d8a: 4b07 ldr r3, [pc, #28] ; (8041da8 ) 8041d8c: edd3 7a05 vldr s15, [r3, #20] 8041d90: ed9f 7a0f vldr s14, [pc, #60] ; 8041dd0 8041d94: ee77 7a87 vadd.f32 s15, s15, s14 8041d98: 4b03 ldr r3, [pc, #12] ; (8041da8 ) 8041d9a: edc3 7a05 vstr s15, [r3, #20] 8041d9e: f000 bd6f b.w 8042880 8041da2: bf00 nop 8041da4: 20020070 .word 0x20020070 8041da8: 20023e60 .word 0x20023e60 8041dac: 0a7c5ac5 .word 0x0a7c5ac5 8041db0: 000186a0 .word 0x000186a0 8041db4: d1b71759 .word 0xd1b71759 8041db8: 10624dd3 .word 0x10624dd3 8041dbc: 51eb851f .word 0x51eb851f 8041dc0: cccccccd .word 0xcccccccd 8041dc4: fffe7960 .word 0xfffe7960 8041dc8: ffffd8f0 .word 0xffffd8f0 8041dcc: 3dcccccd .word 0x3dcccccd 8041dd0: 3d4ccccd .word 0x3d4ccccd if((menupos >= OscMax_IDT) && (menupos <= OscMax_IKD)) 8041dd4: 4bb2 ldr r3, [pc, #712] ; (80420a0 ) 8041dd6: 781b ldrb r3, [r3, #0] 8041dd8: b2db uxtb r3, r3 8041dda: 2b0e cmp r3, #14 8041ddc: f240 8178 bls.w 80420d0 8041de0: 4baf ldr r3, [pc, #700] ; (80420a0 ) 8041de2: 781b ldrb r3, [r3, #0] 8041de4: b2db uxtb r3, r3 8041de6: 2b14 cmp r3, #20 8041de8: f200 8172 bhi.w 80420d0 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8041dec: 4bad ldr r3, [pc, #692] ; (80420a4 ) 8041dee: edd3 7a06 vldr s15, [r3, #24] 8041df2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8041df6: ee67 7a87 vmul.f32 s15, s15, s14 8041dfa: eefc 7ae7 vcvt.u32.f32 s15, s15 8041dfe: ee17 3a90 vmov r3, s15 8041e02: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8041e06: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041e0a: 095b lsrs r3, r3, #5 8041e0c: 4aa6 ldr r2, [pc, #664] ; (80420a8 ) 8041e0e: fba2 2303 umull r2, r3, r2, r3 8041e12: 09db lsrs r3, r3, #7 8041e14: b2db uxtb r3, r3 8041e16: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8041e1a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041e1e: 0953 lsrs r3, r2, #5 8041e20: 49a1 ldr r1, [pc, #644] ; (80420a8 ) 8041e22: fba1 1303 umull r1, r3, r1, r3 8041e26: 09db lsrs r3, r3, #7 8041e28: 49a0 ldr r1, [pc, #640] ; (80420ac ) 8041e2a: fb01 f303 mul.w r3, r1, r3 8041e2e: 1ad3 subs r3, r2, r3 8041e30: 4a9f ldr r2, [pc, #636] ; (80420b0 ) 8041e32: fba2 2303 umull r2, r3, r2, r3 8041e36: 0b5b lsrs r3, r3, #13 8041e38: b2db uxtb r3, r3 8041e3a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8041e3e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041e42: 0953 lsrs r3, r2, #5 8041e44: 4998 ldr r1, [pc, #608] ; (80420a8 ) 8041e46: fba1 1303 umull r1, r3, r1, r3 8041e4a: 09db lsrs r3, r3, #7 8041e4c: 4997 ldr r1, [pc, #604] ; (80420ac ) 8041e4e: fb01 f303 mul.w r3, r1, r3 8041e52: 1ad3 subs r3, r2, r3 8041e54: 4a96 ldr r2, [pc, #600] ; (80420b0 ) 8041e56: fba2 1203 umull r1, r2, r2, r3 8041e5a: 0b52 lsrs r2, r2, #13 8041e5c: f242 7110 movw r1, #10000 ; 0x2710 8041e60: fb01 f202 mul.w r2, r1, r2 8041e64: 1a9a subs r2, r3, r2 8041e66: 4b93 ldr r3, [pc, #588] ; (80420b4 ) 8041e68: fba3 2302 umull r2, r3, r3, r2 8041e6c: 099b lsrs r3, r3, #6 8041e6e: b2db uxtb r3, r3 8041e70: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8041e74: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041e78: 095a lsrs r2, r3, #5 8041e7a: 498b ldr r1, [pc, #556] ; (80420a8 ) 8041e7c: fba1 1202 umull r1, r2, r1, r2 8041e80: 09d2 lsrs r2, r2, #7 8041e82: 498a ldr r1, [pc, #552] ; (80420ac ) 8041e84: fb01 f202 mul.w r2, r1, r2 8041e88: 1a9a subs r2, r3, r2 8041e8a: 4b89 ldr r3, [pc, #548] ; (80420b0 ) 8041e8c: fba3 1302 umull r1, r3, r3, r2 8041e90: 0b5b lsrs r3, r3, #13 8041e92: f242 7110 movw r1, #10000 ; 0x2710 8041e96: fb01 f303 mul.w r3, r1, r3 8041e9a: 1ad3 subs r3, r2, r3 8041e9c: 4a85 ldr r2, [pc, #532] ; (80420b4 ) 8041e9e: fba2 1203 umull r1, r2, r2, r3 8041ea2: 0992 lsrs r2, r2, #6 8041ea4: f44f 717a mov.w r1, #1000 ; 0x3e8 8041ea8: fb01 f202 mul.w r2, r1, r2 8041eac: 1a9a subs r2, r3, r2 8041eae: 4b82 ldr r3, [pc, #520] ; (80420b8 ) 8041eb0: fba3 2302 umull r2, r3, r3, r2 8041eb4: 095b lsrs r3, r3, #5 8041eb6: b2db uxtb r3, r3 8041eb8: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8041ebc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041ec0: 0953 lsrs r3, r2, #5 8041ec2: 4979 ldr r1, [pc, #484] ; (80420a8 ) 8041ec4: fba1 1303 umull r1, r3, r1, r3 8041ec8: 09db lsrs r3, r3, #7 8041eca: 4978 ldr r1, [pc, #480] ; (80420ac ) 8041ecc: fb01 f303 mul.w r3, r1, r3 8041ed0: 1ad3 subs r3, r2, r3 8041ed2: 4a77 ldr r2, [pc, #476] ; (80420b0 ) 8041ed4: fba2 1203 umull r1, r2, r2, r3 8041ed8: 0b52 lsrs r2, r2, #13 8041eda: f242 7110 movw r1, #10000 ; 0x2710 8041ede: fb01 f202 mul.w r2, r1, r2 8041ee2: 1a9a subs r2, r3, r2 8041ee4: 4b73 ldr r3, [pc, #460] ; (80420b4 ) 8041ee6: fba3 1302 umull r1, r3, r3, r2 8041eea: 099b lsrs r3, r3, #6 8041eec: f44f 717a mov.w r1, #1000 ; 0x3e8 8041ef0: fb01 f303 mul.w r3, r1, r3 8041ef4: 1ad3 subs r3, r2, r3 8041ef6: 4a70 ldr r2, [pc, #448] ; (80420b8 ) 8041ef8: fba2 1203 umull r1, r2, r2, r3 8041efc: 0952 lsrs r2, r2, #5 8041efe: 2164 movs r1, #100 ; 0x64 8041f00: fb01 f202 mul.w r2, r1, r2 8041f04: 1a9a subs r2, r3, r2 8041f06: 4b6d ldr r3, [pc, #436] ; (80420bc ) 8041f08: fba3 2302 umull r2, r3, r3, r2 8041f0c: 08db lsrs r3, r3, #3 8041f0e: b2db uxtb r3, r3 8041f10: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8041f14: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041f18: 0953 lsrs r3, r2, #5 8041f1a: 4963 ldr r1, [pc, #396] ; (80420a8 ) 8041f1c: fba1 1303 umull r1, r3, r1, r3 8041f20: 09db lsrs r3, r3, #7 8041f22: 4962 ldr r1, [pc, #392] ; (80420ac ) 8041f24: fb01 f303 mul.w r3, r1, r3 8041f28: 1ad3 subs r3, r2, r3 8041f2a: 4a61 ldr r2, [pc, #388] ; (80420b0 ) 8041f2c: fba2 1203 umull r1, r2, r2, r3 8041f30: 0b52 lsrs r2, r2, #13 8041f32: f242 7110 movw r1, #10000 ; 0x2710 8041f36: fb01 f202 mul.w r2, r1, r2 8041f3a: 1a9a subs r2, r3, r2 8041f3c: 4b5d ldr r3, [pc, #372] ; (80420b4 ) 8041f3e: fba3 1302 umull r1, r3, r3, r2 8041f42: 099b lsrs r3, r3, #6 8041f44: f44f 717a mov.w r1, #1000 ; 0x3e8 8041f48: fb01 f303 mul.w r3, r1, r3 8041f4c: 1ad3 subs r3, r2, r3 8041f4e: 4a5a ldr r2, [pc, #360] ; (80420b8 ) 8041f50: fba2 1203 umull r1, r2, r2, r3 8041f54: 0952 lsrs r2, r2, #5 8041f56: 2164 movs r1, #100 ; 0x64 8041f58: fb01 f202 mul.w r2, r1, r2 8041f5c: 1a9a subs r2, r3, r2 8041f5e: 4b57 ldr r3, [pc, #348] ; (80420bc ) 8041f60: fba3 1302 umull r1, r3, r3, r2 8041f64: 08d9 lsrs r1, r3, #3 8041f66: 460b mov r3, r1 8041f68: 009b lsls r3, r3, #2 8041f6a: 440b add r3, r1 8041f6c: 005b lsls r3, r3, #1 8041f6e: 1ad1 subs r1, r2, r3 8041f70: b2cb uxtb r3, r1 8041f72: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8041f76: 4b4a ldr r3, [pc, #296] ; (80420a0 ) 8041f78: 781b ldrb r3, [r3, #0] 8041f7a: b2db uxtb r3, r3 8041f7c: 3b0f subs r3, #15 8041f7e: 2b05 cmp r3, #5 8041f80: d869 bhi.n 8042056 8041f82: a201 add r2, pc, #4 ; (adr r2, 8041f88 ) 8041f84: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8041f88: 08041fa1 .word 0x08041fa1 8041f8c: 08041fc1 .word 0x08041fc1 8041f90: 08041fe3 .word 0x08041fe3 8041f94: 08042003 .word 0x08042003 8041f98: 0804201f .word 0x0804201f 8041f9c: 0804203b .word 0x0804203b if(k > 100000) k -= 100000; 8041fa0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041fa4: 4a41 ldr r2, [pc, #260] ; (80420ac ) 8041fa6: 4293 cmp r3, r2 8041fa8: d906 bls.n 8041fb8 8041faa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041fae: 4b44 ldr r3, [pc, #272] ; (80420c0 ) 8041fb0: 4413 add r3, r2 8041fb2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fb6: e04e b.n 8042056 else k = 0; 8041fb8: 2300 movs r3, #0 8041fba: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fbe: e04a b.n 8042056 if(k > 10000) k -= 10000; 8041fc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041fc4: f242 7210 movw r2, #10000 ; 0x2710 8041fc8: 4293 cmp r3, r2 8041fca: d906 bls.n 8041fda 8041fcc: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8041fd0: 4b3c ldr r3, [pc, #240] ; (80420c4 ) 8041fd2: 4413 add r3, r2 8041fd4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fd8: e03d b.n 8042056 else k = 0; 8041fda: 2300 movs r3, #0 8041fdc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041fe0: e039 b.n 8042056 if(k > 1000) k -= 1000; 8041fe2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041fe6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8041fea: d906 bls.n 8041ffa 8041fec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8041ff0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8041ff4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8041ff8: e02d b.n 8042056 else k = 0; 8041ffa: 2300 movs r3, #0 8041ffc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042000: e029 b.n 8042056 if(k > 100) k -= 100; 8042002: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042006: 2b64 cmp r3, #100 ; 0x64 8042008: d905 bls.n 8042016 804200a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804200e: 3b64 subs r3, #100 ; 0x64 8042010: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042014: e01f b.n 8042056 else k = 0; 8042016: 2300 movs r3, #0 8042018: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804201c: e01b b.n 8042056 if(k > 10) k -= 10; 804201e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042022: 2b0a cmp r3, #10 8042024: d905 bls.n 8042032 8042026: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804202a: 3b0a subs r3, #10 804202c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042030: e011 b.n 8042056 else k = 0; 8042032: 2300 movs r3, #0 8042034: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042038: e00d b.n 8042056 if(k > 1) k -= 1; 804203a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804203e: 2b01 cmp r3, #1 8042040: d905 bls.n 804204e 8042042: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042046: 3b01 subs r3, #1 8042048: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804204c: e002 b.n 8042054 else k = 0; 804204e: 2300 movs r3, #0 8042050: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042054: bf00 nop if(k == 0) k = 1; 8042056: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804205a: 2b00 cmp r3, #0 804205c: d102 bne.n 8042064 804205e: 2301 movs r3, #1 8042060: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8042064: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042068: ee07 3a90 vmov s15, r3 804206c: eef8 7a67 vcvt.f32.u32 s15, s15 8042070: 4b0c ldr r3, [pc, #48] ; (80420a4 ) 8042072: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8042076: 4b0b ldr r3, [pc, #44] ; (80420a4 ) 8042078: edd3 7a06 vldr s15, [r3, #24] 804207c: ed9f 7a12 vldr s14, [pc, #72] ; 80420c8 8042080: ee67 7a87 vmul.f32 s15, s15, s14 8042084: 4b07 ldr r3, [pc, #28] ; (80420a4 ) 8042086: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 804208a: 4b06 ldr r3, [pc, #24] ; (80420a4 ) 804208c: edd3 7a06 vldr s15, [r3, #24] 8042090: ed9f 7a0e vldr s14, [pc, #56] ; 80420cc 8042094: ee77 7a87 vadd.f32 s15, s15, s14 8042098: 4b02 ldr r3, [pc, #8] ; (80420a4 ) 804209a: edc3 7a06 vstr s15, [r3, #24] 804209e: e3ef b.n 8042880 80420a0: 20020070 .word 0x20020070 80420a4: 20023e60 .word 0x20023e60 80420a8: 0a7c5ac5 .word 0x0a7c5ac5 80420ac: 000186a0 .word 0x000186a0 80420b0: d1b71759 .word 0xd1b71759 80420b4: 10624dd3 .word 0x10624dd3 80420b8: 51eb851f .word 0x51eb851f 80420bc: cccccccd .word 0xcccccccd 80420c0: fffe7960 .word 0xfffe7960 80420c4: ffffd8f0 .word 0xffffd8f0 80420c8: 3dcccccd .word 0x3dcccccd 80420cc: 3d4ccccd .word 0x3d4ccccd if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 80420d0: 4bcd ldr r3, [pc, #820] ; (8042408 ) 80420d2: 781b ldrb r3, [r3, #0] 80420d4: b2db uxtb r3, r3 80420d6: 2b18 cmp r3, #24 80420d8: f240 81ec bls.w 80424b4 80420dc: 4bca ldr r3, [pc, #808] ; (8042408 ) 80420de: 781b ldrb r3, [r3, #0] 80420e0: b2db uxtb r3, r3 80420e2: 2b1e cmp r3, #30 80420e4: f200 81e6 bhi.w 80424b4 k = (uint32_t) (pardata.HP * 10.0f); 80420e8: 4bc8 ldr r3, [pc, #800] ; (804240c ) 80420ea: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80420ee: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80420f2: ee67 7a87 vmul.f32 s15, s15, s14 80420f6: eefc 7ae7 vcvt.u32.f32 s15, s15 80420fa: ee17 3a90 vmov r3, s15 80420fe: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8042102: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042106: 095b lsrs r3, r3, #5 8042108: 4ac1 ldr r2, [pc, #772] ; (8042410 ) 804210a: fba2 2303 umull r2, r3, r2, r3 804210e: 09db lsrs r3, r3, #7 8042110: b2db uxtb r3, r3 8042112: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8042116: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804211a: 0953 lsrs r3, r2, #5 804211c: 49bc ldr r1, [pc, #752] ; (8042410 ) 804211e: fba1 1303 umull r1, r3, r1, r3 8042122: 09db lsrs r3, r3, #7 8042124: 49bb ldr r1, [pc, #748] ; (8042414 ) 8042126: fb01 f303 mul.w r3, r1, r3 804212a: 1ad3 subs r3, r2, r3 804212c: 4aba ldr r2, [pc, #744] ; (8042418 ) 804212e: fba2 2303 umull r2, r3, r2, r3 8042132: 0b5b lsrs r3, r3, #13 8042134: b2db uxtb r3, r3 8042136: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 804213a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804213e: 0953 lsrs r3, r2, #5 8042140: 49b3 ldr r1, [pc, #716] ; (8042410 ) 8042142: fba1 1303 umull r1, r3, r1, r3 8042146: 09db lsrs r3, r3, #7 8042148: 49b2 ldr r1, [pc, #712] ; (8042414 ) 804214a: fb01 f303 mul.w r3, r1, r3 804214e: 1ad3 subs r3, r2, r3 8042150: 4ab1 ldr r2, [pc, #708] ; (8042418 ) 8042152: fba2 1203 umull r1, r2, r2, r3 8042156: 0b52 lsrs r2, r2, #13 8042158: f242 7110 movw r1, #10000 ; 0x2710 804215c: fb01 f202 mul.w r2, r1, r2 8042160: 1a9a subs r2, r3, r2 8042162: 4bae ldr r3, [pc, #696] ; (804241c ) 8042164: fba3 2302 umull r2, r3, r3, r2 8042168: 099b lsrs r3, r3, #6 804216a: b2db uxtb r3, r3 804216c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8042170: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042174: 095a lsrs r2, r3, #5 8042176: 49a6 ldr r1, [pc, #664] ; (8042410 ) 8042178: fba1 1202 umull r1, r2, r1, r2 804217c: 09d2 lsrs r2, r2, #7 804217e: 49a5 ldr r1, [pc, #660] ; (8042414 ) 8042180: fb01 f202 mul.w r2, r1, r2 8042184: 1a9a subs r2, r3, r2 8042186: 4ba4 ldr r3, [pc, #656] ; (8042418 ) 8042188: fba3 1302 umull r1, r3, r3, r2 804218c: 0b5b lsrs r3, r3, #13 804218e: f242 7110 movw r1, #10000 ; 0x2710 8042192: fb01 f303 mul.w r3, r1, r3 8042196: 1ad3 subs r3, r2, r3 8042198: 4aa0 ldr r2, [pc, #640] ; (804241c ) 804219a: fba2 1203 umull r1, r2, r2, r3 804219e: 0992 lsrs r2, r2, #6 80421a0: f44f 717a mov.w r1, #1000 ; 0x3e8 80421a4: fb01 f202 mul.w r2, r1, r2 80421a8: 1a9a subs r2, r3, r2 80421aa: 4b9d ldr r3, [pc, #628] ; (8042420 ) 80421ac: fba3 2302 umull r2, r3, r3, r2 80421b0: 095b lsrs r3, r3, #5 80421b2: b2db uxtb r3, r3 80421b4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80421b8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80421bc: 0953 lsrs r3, r2, #5 80421be: 4994 ldr r1, [pc, #592] ; (8042410 ) 80421c0: fba1 1303 umull r1, r3, r1, r3 80421c4: 09db lsrs r3, r3, #7 80421c6: 4993 ldr r1, [pc, #588] ; (8042414 ) 80421c8: fb01 f303 mul.w r3, r1, r3 80421cc: 1ad3 subs r3, r2, r3 80421ce: 4a92 ldr r2, [pc, #584] ; (8042418 ) 80421d0: fba2 1203 umull r1, r2, r2, r3 80421d4: 0b52 lsrs r2, r2, #13 80421d6: f242 7110 movw r1, #10000 ; 0x2710 80421da: fb01 f202 mul.w r2, r1, r2 80421de: 1a9a subs r2, r3, r2 80421e0: 4b8e ldr r3, [pc, #568] ; (804241c ) 80421e2: fba3 1302 umull r1, r3, r3, r2 80421e6: 099b lsrs r3, r3, #6 80421e8: f44f 717a mov.w r1, #1000 ; 0x3e8 80421ec: fb01 f303 mul.w r3, r1, r3 80421f0: 1ad3 subs r3, r2, r3 80421f2: 4a8b ldr r2, [pc, #556] ; (8042420 ) 80421f4: fba2 1203 umull r1, r2, r2, r3 80421f8: 0952 lsrs r2, r2, #5 80421fa: 2164 movs r1, #100 ; 0x64 80421fc: fb01 f202 mul.w r2, r1, r2 8042200: 1a9a subs r2, r3, r2 8042202: 4b88 ldr r3, [pc, #544] ; (8042424 ) 8042204: fba3 2302 umull r2, r3, r3, r2 8042208: 08db lsrs r3, r3, #3 804220a: b2db uxtb r3, r3 804220c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8042210: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042214: 0953 lsrs r3, r2, #5 8042216: 497e ldr r1, [pc, #504] ; (8042410 ) 8042218: fba1 1303 umull r1, r3, r1, r3 804221c: 09db lsrs r3, r3, #7 804221e: 497d ldr r1, [pc, #500] ; (8042414 ) 8042220: fb01 f303 mul.w r3, r1, r3 8042224: 1ad3 subs r3, r2, r3 8042226: 4a7c ldr r2, [pc, #496] ; (8042418 ) 8042228: fba2 1203 umull r1, r2, r2, r3 804222c: 0b52 lsrs r2, r2, #13 804222e: f242 7110 movw r1, #10000 ; 0x2710 8042232: fb01 f202 mul.w r2, r1, r2 8042236: 1a9a subs r2, r3, r2 8042238: 4b78 ldr r3, [pc, #480] ; (804241c ) 804223a: fba3 1302 umull r1, r3, r3, r2 804223e: 099b lsrs r3, r3, #6 8042240: f44f 717a mov.w r1, #1000 ; 0x3e8 8042244: fb01 f303 mul.w r3, r1, r3 8042248: 1ad3 subs r3, r2, r3 804224a: 4a75 ldr r2, [pc, #468] ; (8042420 ) 804224c: fba2 1203 umull r1, r2, r2, r3 8042250: 0952 lsrs r2, r2, #5 8042252: 2164 movs r1, #100 ; 0x64 8042254: fb01 f202 mul.w r2, r1, r2 8042258: 1a9a subs r2, r3, r2 804225a: 4b72 ldr r3, [pc, #456] ; (8042424 ) 804225c: fba3 1302 umull r1, r3, r3, r2 8042260: 08d9 lsrs r1, r3, #3 8042262: 460b mov r3, r1 8042264: 009b lsls r3, r3, #2 8042266: 440b add r3, r1 8042268: 005b lsls r3, r3, #1 804226a: 1ad1 subs r1, r2, r3 804226c: b2cb uxtb r3, r1 804226e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042272: 4b65 ldr r3, [pc, #404] ; (8042408 ) 8042274: 781b ldrb r3, [r3, #0] 8042276: b2db uxtb r3, r3 8042278: 3b19 subs r3, #25 804227a: 2b05 cmp r3, #5 804227c: d869 bhi.n 8042352 804227e: a201 add r2, pc, #4 ; (adr r2, 8042284 ) 8042280: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042284: 0804229d .word 0x0804229d 8042288: 080422bd .word 0x080422bd 804228c: 080422df .word 0x080422df 8042290: 080422ff .word 0x080422ff 8042294: 0804231b .word 0x0804231b 8042298: 08042337 .word 0x08042337 if(k > 100000) k -= 100000; 804229c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80422a0: 4a5c ldr r2, [pc, #368] ; (8042414 ) 80422a2: 4293 cmp r3, r2 80422a4: d906 bls.n 80422b4 80422a6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80422aa: 4b5f ldr r3, [pc, #380] ; (8042428 ) 80422ac: 4413 add r3, r2 80422ae: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80422b2: e04e b.n 8042352 else k = 0; 80422b4: 2300 movs r3, #0 80422b6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80422ba: e04a b.n 8042352 if(k > 10000) k -= 10000; 80422bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80422c0: f242 7210 movw r2, #10000 ; 0x2710 80422c4: 4293 cmp r3, r2 80422c6: d906 bls.n 80422d6 80422c8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80422cc: 4b57 ldr r3, [pc, #348] ; (804242c ) 80422ce: 4413 add r3, r2 80422d0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80422d4: e03d b.n 8042352 else k = 0; 80422d6: 2300 movs r3, #0 80422d8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80422dc: e039 b.n 8042352 if(k > 1000) k -= 1000; 80422de: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80422e2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80422e6: d906 bls.n 80422f6 80422e8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80422ec: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 80422f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80422f4: e02d b.n 8042352 else k = 0; 80422f6: 2300 movs r3, #0 80422f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80422fc: e029 b.n 8042352 if(k > 100) k -= 100; 80422fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042302: 2b64 cmp r3, #100 ; 0x64 8042304: d905 bls.n 8042312 8042306: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804230a: 3b64 subs r3, #100 ; 0x64 804230c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042310: e01f b.n 8042352 else k = 0; 8042312: 2300 movs r3, #0 8042314: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042318: e01b b.n 8042352 if(k > 10) k -= 10; 804231a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804231e: 2b0a cmp r3, #10 8042320: d905 bls.n 804232e 8042322: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042326: 3b0a subs r3, #10 8042328: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804232c: e011 b.n 8042352 else k = 0; 804232e: 2300 movs r3, #0 8042330: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042334: e00d b.n 8042352 if(k > 1) k -= 1; 8042336: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804233a: 2b01 cmp r3, #1 804233c: d905 bls.n 804234a 804233e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042342: 3b01 subs r3, #1 8042344: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042348: e002 b.n 8042350 else k = 0; 804234a: 2300 movs r3, #0 804234c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042350: bf00 nop fl = (float32_t) k; 8042352: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042356: ee07 3a90 vmov s15, r3 804235a: eef8 7a67 vcvt.f32.u32 s15, s15 804235e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8042362: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042366: ed9f 7a32 vldr s14, [pc, #200] ; 8042430 804236a: ee67 7a87 vmul.f32 s15, s15, s14 804236e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8042372: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042376: ed9f 7a2f vldr s14, [pc, #188] ; 8042434 804237a: ee77 7a87 vadd.f32 s15, s15, s14 804237e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(pardata.IPR == ACC) 8042382: 4b22 ldr r3, [pc, #136] ; (804240c ) 8042384: 785b ldrb r3, [r3, #1] 8042386: b2db uxtb r3, r3 8042388: 2b00 cmp r3, #0 804238a: d155 bne.n 8042438 if(fl < 0.5f) 804238c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042390: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8042394: eef4 7ac7 vcmpe.f32 s15, s14 8042398: eef1 fa10 vmrs APSR_nzcv, fpscr 804239c: d505 bpl.n 80423aa pardata.HP = 0.5f; 804239e: 4b1b ldr r3, [pc, #108] ; (804240c ) 80423a0: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 80423a4: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80423a8: e26a b.n 8042880 if(fl > pardata.LP) 80423aa: 4b18 ldr r3, [pc, #96] ; (804240c ) 80423ac: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80423b0: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80423b4: eeb4 7ae7 vcmpe.f32 s14, s15 80423b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80423bc: d506 bpl.n 80423cc pardata.HP = pardata.LP; 80423be: 4b13 ldr r3, [pc, #76] ; (804240c ) 80423c0: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 80423c4: 4a11 ldr r2, [pc, #68] ; (804240c ) 80423c6: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 80423ca: e259 b.n 8042880 pardata.HP = (float32_t) k; 80423cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80423d0: ee07 3a90 vmov s15, r3 80423d4: eef8 7a67 vcvt.f32.u32 s15, s15 80423d8: 4b0c ldr r3, [pc, #48] ; (804240c ) 80423da: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 80423de: 4b0b ldr r3, [pc, #44] ; (804240c ) 80423e0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80423e4: ed9f 7a12 vldr s14, [pc, #72] ; 8042430 80423e8: ee67 7a87 vmul.f32 s15, s15, s14 80423ec: 4b07 ldr r3, [pc, #28] ; (804240c ) 80423ee: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 80423f2: 4b06 ldr r3, [pc, #24] ; (804240c ) 80423f4: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80423f8: ed9f 7a0e vldr s14, [pc, #56] ; 8042434 80423fc: ee77 7a87 vadd.f32 s15, s15, s14 8042400: 4b02 ldr r3, [pc, #8] ; (804240c ) 8042402: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8042406: e23b b.n 8042880 8042408: 20020070 .word 0x20020070 804240c: 20023e60 .word 0x20023e60 8042410: 0a7c5ac5 .word 0x0a7c5ac5 8042414: 000186a0 .word 0x000186a0 8042418: d1b71759 .word 0xd1b71759 804241c: 10624dd3 .word 0x10624dd3 8042420: 51eb851f .word 0x51eb851f 8042424: cccccccd .word 0xcccccccd 8042428: fffe7960 .word 0xfffe7960 804242c: ffffd8f0 .word 0xffffd8f0 8042430: 3dcccccd .word 0x3dcccccd 8042434: 38d1b717 .word 0x38d1b717 if(fl < 2.0f) 8042438: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804243c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8042440: eef4 7ac7 vcmpe.f32 s15, s14 8042444: eef1 fa10 vmrs APSR_nzcv, fpscr 8042448: d505 bpl.n 8042456 pardata.HP = 2.0f; 804244a: 4bce ldr r3, [pc, #824] ; (8042784 ) 804244c: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8042450: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 8042454: e214 b.n 8042880 if(fl > pardata.LP) 8042456: 4bcb ldr r3, [pc, #812] ; (8042784 ) 8042458: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 804245c: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042460: eeb4 7ae7 vcmpe.f32 s14, s15 8042464: eef1 fa10 vmrs APSR_nzcv, fpscr 8042468: d506 bpl.n 8042478 pardata.HP = pardata.LP; 804246a: 4bc6 ldr r3, [pc, #792] ; (8042784 ) 804246c: f8d3 30d8 ldr.w r3, [r3, #216] ; 0xd8 8042470: 4ac4 ldr r2, [pc, #784] ; (8042784 ) 8042472: f8c2 30d4 str.w r3, [r2, #212] ; 0xd4 if(pardata.IPR == ACC) 8042476: e203 b.n 8042880 pardata.HP = (float32_t) k; 8042478: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804247c: ee07 3a90 vmov s15, r3 8042480: eef8 7a67 vcvt.f32.u32 s15, s15 8042484: 4bbf ldr r3, [pc, #764] ; (8042784 ) 8042486: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP *= 0.1f; 804248a: 4bbe ldr r3, [pc, #760] ; (8042784 ) 804248c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8042490: ed9f 7abd vldr s14, [pc, #756] ; 8042788 8042494: ee67 7a87 vmul.f32 s15, s15, s14 8042498: 4bba ldr r3, [pc, #744] ; (8042784 ) 804249a: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 pardata.HP += 0.0001f; 804249e: 4bb9 ldr r3, [pc, #740] ; (8042784 ) 80424a0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80424a4: ed9f 7ab9 vldr s14, [pc, #740] ; 804278c 80424a8: ee77 7a87 vadd.f32 s15, s15, s14 80424ac: 4bb5 ldr r3, [pc, #724] ; (8042784 ) 80424ae: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.IPR == ACC) 80424b2: e1e5 b.n 8042880 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 80424b4: 4bb6 ldr r3, [pc, #728] ; (8042790 ) 80424b6: 781b ldrb r3, [r3, #0] 80424b8: b2db uxtb r3, r3 80424ba: 2b1e cmp r3, #30 80424bc: f241 827c bls.w 80439b8 80424c0: 4bb3 ldr r3, [pc, #716] ; (8042790 ) 80424c2: 781b ldrb r3, [r3, #0] 80424c4: b2db uxtb r3, r3 80424c6: 2b24 cmp r3, #36 ; 0x24 80424c8: f201 8276 bhi.w 80439b8 k = (uint32_t) (pardata.LP * 10.0f); 80424cc: 4bad ldr r3, [pc, #692] ; (8042784 ) 80424ce: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80424d2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80424d6: ee67 7a87 vmul.f32 s15, s15, s14 80424da: eefc 7ae7 vcvt.u32.f32 s15, s15 80424de: ee17 3a90 vmov r3, s15 80424e2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 80424e6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80424ea: 095b lsrs r3, r3, #5 80424ec: 4aa9 ldr r2, [pc, #676] ; (8042794 ) 80424ee: fba2 2303 umull r2, r3, r2, r3 80424f2: 09db lsrs r3, r3, #7 80424f4: b2db uxtb r3, r3 80424f6: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 80424fa: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80424fe: 0953 lsrs r3, r2, #5 8042500: 49a4 ldr r1, [pc, #656] ; (8042794 ) 8042502: fba1 1303 umull r1, r3, r1, r3 8042506: 09db lsrs r3, r3, #7 8042508: 49a3 ldr r1, [pc, #652] ; (8042798 ) 804250a: fb01 f303 mul.w r3, r1, r3 804250e: 1ad3 subs r3, r2, r3 8042510: 4aa2 ldr r2, [pc, #648] ; (804279c ) 8042512: fba2 2303 umull r2, r3, r2, r3 8042516: 0b5b lsrs r3, r3, #13 8042518: b2db uxtb r3, r3 804251a: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 804251e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042522: 0953 lsrs r3, r2, #5 8042524: 499b ldr r1, [pc, #620] ; (8042794 ) 8042526: fba1 1303 umull r1, r3, r1, r3 804252a: 09db lsrs r3, r3, #7 804252c: 499a ldr r1, [pc, #616] ; (8042798 ) 804252e: fb01 f303 mul.w r3, r1, r3 8042532: 1ad3 subs r3, r2, r3 8042534: 4a99 ldr r2, [pc, #612] ; (804279c ) 8042536: fba2 1203 umull r1, r2, r2, r3 804253a: 0b52 lsrs r2, r2, #13 804253c: f242 7110 movw r1, #10000 ; 0x2710 8042540: fb01 f202 mul.w r2, r1, r2 8042544: 1a9a subs r2, r3, r2 8042546: 4b96 ldr r3, [pc, #600] ; (80427a0 ) 8042548: fba3 2302 umull r2, r3, r3, r2 804254c: 099b lsrs r3, r3, #6 804254e: b2db uxtb r3, r3 8042550: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8042554: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042558: 095a lsrs r2, r3, #5 804255a: 498e ldr r1, [pc, #568] ; (8042794 ) 804255c: fba1 1202 umull r1, r2, r1, r2 8042560: 09d2 lsrs r2, r2, #7 8042562: 498d ldr r1, [pc, #564] ; (8042798 ) 8042564: fb01 f202 mul.w r2, r1, r2 8042568: 1a9a subs r2, r3, r2 804256a: 4b8c ldr r3, [pc, #560] ; (804279c ) 804256c: fba3 1302 umull r1, r3, r3, r2 8042570: 0b5b lsrs r3, r3, #13 8042572: f242 7110 movw r1, #10000 ; 0x2710 8042576: fb01 f303 mul.w r3, r1, r3 804257a: 1ad3 subs r3, r2, r3 804257c: 4a88 ldr r2, [pc, #544] ; (80427a0 ) 804257e: fba2 1203 umull r1, r2, r2, r3 8042582: 0992 lsrs r2, r2, #6 8042584: f44f 717a mov.w r1, #1000 ; 0x3e8 8042588: fb01 f202 mul.w r2, r1, r2 804258c: 1a9a subs r2, r3, r2 804258e: 4b85 ldr r3, [pc, #532] ; (80427a4 ) 8042590: fba3 2302 umull r2, r3, r3, r2 8042594: 095b lsrs r3, r3, #5 8042596: b2db uxtb r3, r3 8042598: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 804259c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80425a0: 0953 lsrs r3, r2, #5 80425a2: 497c ldr r1, [pc, #496] ; (8042794 ) 80425a4: fba1 1303 umull r1, r3, r1, r3 80425a8: 09db lsrs r3, r3, #7 80425aa: 497b ldr r1, [pc, #492] ; (8042798 ) 80425ac: fb01 f303 mul.w r3, r1, r3 80425b0: 1ad3 subs r3, r2, r3 80425b2: 4a7a ldr r2, [pc, #488] ; (804279c ) 80425b4: fba2 1203 umull r1, r2, r2, r3 80425b8: 0b52 lsrs r2, r2, #13 80425ba: f242 7110 movw r1, #10000 ; 0x2710 80425be: fb01 f202 mul.w r2, r1, r2 80425c2: 1a9a subs r2, r3, r2 80425c4: 4b76 ldr r3, [pc, #472] ; (80427a0 ) 80425c6: fba3 1302 umull r1, r3, r3, r2 80425ca: 099b lsrs r3, r3, #6 80425cc: f44f 717a mov.w r1, #1000 ; 0x3e8 80425d0: fb01 f303 mul.w r3, r1, r3 80425d4: 1ad3 subs r3, r2, r3 80425d6: 4a73 ldr r2, [pc, #460] ; (80427a4 ) 80425d8: fba2 1203 umull r1, r2, r2, r3 80425dc: 0952 lsrs r2, r2, #5 80425de: 2164 movs r1, #100 ; 0x64 80425e0: fb01 f202 mul.w r2, r1, r2 80425e4: 1a9a subs r2, r3, r2 80425e6: 4b70 ldr r3, [pc, #448] ; (80427a8 ) 80425e8: fba3 2302 umull r2, r3, r3, r2 80425ec: 08db lsrs r3, r3, #3 80425ee: b2db uxtb r3, r3 80425f0: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80425f4: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80425f8: 0953 lsrs r3, r2, #5 80425fa: 4966 ldr r1, [pc, #408] ; (8042794 ) 80425fc: fba1 1303 umull r1, r3, r1, r3 8042600: 09db lsrs r3, r3, #7 8042602: 4965 ldr r1, [pc, #404] ; (8042798 ) 8042604: fb01 f303 mul.w r3, r1, r3 8042608: 1ad3 subs r3, r2, r3 804260a: 4a64 ldr r2, [pc, #400] ; (804279c ) 804260c: fba2 1203 umull r1, r2, r2, r3 8042610: 0b52 lsrs r2, r2, #13 8042612: f242 7110 movw r1, #10000 ; 0x2710 8042616: fb01 f202 mul.w r2, r1, r2 804261a: 1a9a subs r2, r3, r2 804261c: 4b60 ldr r3, [pc, #384] ; (80427a0 ) 804261e: fba3 1302 umull r1, r3, r3, r2 8042622: 099b lsrs r3, r3, #6 8042624: f44f 717a mov.w r1, #1000 ; 0x3e8 8042628: fb01 f303 mul.w r3, r1, r3 804262c: 1ad3 subs r3, r2, r3 804262e: 4a5d ldr r2, [pc, #372] ; (80427a4 ) 8042630: fba2 1203 umull r1, r2, r2, r3 8042634: 0952 lsrs r2, r2, #5 8042636: 2164 movs r1, #100 ; 0x64 8042638: fb01 f202 mul.w r2, r1, r2 804263c: 1a9a subs r2, r3, r2 804263e: 4b5a ldr r3, [pc, #360] ; (80427a8 ) 8042640: fba3 1302 umull r1, r3, r3, r2 8042644: 08d9 lsrs r1, r3, #3 8042646: 460b mov r3, r1 8042648: 009b lsls r3, r3, #2 804264a: 440b add r3, r1 804264c: 005b lsls r3, r3, #1 804264e: 1ad1 subs r1, r2, r3 8042650: b2cb uxtb r3, r1 8042652: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042656: 4b4e ldr r3, [pc, #312] ; (8042790 ) 8042658: 781b ldrb r3, [r3, #0] 804265a: b2db uxtb r3, r3 804265c: 3b1f subs r3, #31 804265e: 2b05 cmp r3, #5 8042660: d869 bhi.n 8042736 8042662: a201 add r2, pc, #4 ; (adr r2, 8042668 ) 8042664: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042668: 08042681 .word 0x08042681 804266c: 080426a1 .word 0x080426a1 8042670: 080426c3 .word 0x080426c3 8042674: 080426e3 .word 0x080426e3 8042678: 080426ff .word 0x080426ff 804267c: 0804271b .word 0x0804271b if(k > 100000) k -= 100000; 8042680: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042684: 4a44 ldr r2, [pc, #272] ; (8042798 ) 8042686: 4293 cmp r3, r2 8042688: d906 bls.n 8042698 804268a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804268e: 4b47 ldr r3, [pc, #284] ; (80427ac ) 8042690: 4413 add r3, r2 8042692: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042696: e04e b.n 8042736 else k = 0; 8042698: 2300 movs r3, #0 804269a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804269e: e04a b.n 8042736 if(k > 10000) k -= 10000; 80426a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80426a4: f242 7210 movw r2, #10000 ; 0x2710 80426a8: 4293 cmp r3, r2 80426aa: d906 bls.n 80426ba 80426ac: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80426b0: 4b3f ldr r3, [pc, #252] ; (80427b0 ) 80426b2: 4413 add r3, r2 80426b4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80426b8: e03d b.n 8042736 else k = 0; 80426ba: 2300 movs r3, #0 80426bc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80426c0: e039 b.n 8042736 if(k > 1000) k -= 1000; 80426c2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80426c6: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80426ca: d906 bls.n 80426da 80426cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80426d0: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 80426d4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80426d8: e02d b.n 8042736 else k = 0; 80426da: 2300 movs r3, #0 80426dc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80426e0: e029 b.n 8042736 if(k > 100) k -= 100; 80426e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80426e6: 2b64 cmp r3, #100 ; 0x64 80426e8: d905 bls.n 80426f6 80426ea: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80426ee: 3b64 subs r3, #100 ; 0x64 80426f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80426f4: e01f b.n 8042736 else k = 0; 80426f6: 2300 movs r3, #0 80426f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80426fc: e01b b.n 8042736 if(k > 10) k -= 10; 80426fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042702: 2b0a cmp r3, #10 8042704: d905 bls.n 8042712 8042706: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804270a: 3b0a subs r3, #10 804270c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042710: e011 b.n 8042736 else k = 0; 8042712: 2300 movs r3, #0 8042714: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042718: e00d b.n 8042736 if(k > 1) k -= 1; 804271a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804271e: 2b01 cmp r3, #1 8042720: d905 bls.n 804272e 8042722: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042726: 3b01 subs r3, #1 8042728: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804272c: e002 b.n 8042734 else k = 0; 804272e: 2300 movs r3, #0 8042730: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042734: bf00 nop fl = (float32_t) k; 8042736: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804273a: ee07 3a90 vmov s15, r3 804273e: eef8 7a67 vcvt.f32.u32 s15, s15 8042742: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl *= 0.1f; 8042746: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804274a: ed9f 7a0f vldr s14, [pc, #60] ; 8042788 804274e: ee67 7a87 vmul.f32 s15, s15, s14 8042752: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 fl += 0.0001f; 8042756: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804275a: ed9f 7a0c vldr s14, [pc, #48] ; 804278c 804275e: ee77 7a87 vadd.f32 s15, s15, s14 8042762: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 if(fl < 10.0f) 8042766: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 804276a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804276e: eef4 7ac7 vcmpe.f32 s15, s14 8042772: eef1 fa10 vmrs APSR_nzcv, fpscr 8042776: d51f bpl.n 80427b8 pardata.LP = 10.0f; 8042778: 4b02 ldr r3, [pc, #8] ; (8042784 ) 804277a: 4a0e ldr r2, [pc, #56] ; (80427b4 ) 804277c: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 break; 8042780: f001 b91a b.w 80439b8 8042784: 20023e60 .word 0x20023e60 8042788: 3dcccccd .word 0x3dcccccd 804278c: 38d1b717 .word 0x38d1b717 8042790: 20020070 .word 0x20020070 8042794: 0a7c5ac5 .word 0x0a7c5ac5 8042798: 000186a0 .word 0x000186a0 804279c: d1b71759 .word 0xd1b71759 80427a0: 10624dd3 .word 0x10624dd3 80427a4: 51eb851f .word 0x51eb851f 80427a8: cccccccd .word 0xcccccccd 80427ac: fffe7960 .word 0xfffe7960 80427b0: ffffd8f0 .word 0xffffd8f0 80427b4: 41200000 .word 0x41200000 if(pardata.LP < pardata.HP) 80427b8: 4bcf ldr r3, [pc, #828] ; (8042af8 ) 80427ba: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80427be: 4bce ldr r3, [pc, #824] ; (8042af8 ) 80427c0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80427c4: eeb4 7ae7 vcmpe.f32 s14, s15 80427c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80427cc: d507 bpl.n 80427de pardata.LP = pardata.HP; 80427ce: 4bca ldr r3, [pc, #808] ; (8042af8 ) 80427d0: f8d3 30d4 ldr.w r3, [r3, #212] ; 0xd4 80427d4: 4ac8 ldr r2, [pc, #800] ; (8042af8 ) 80427d6: f8c2 30d8 str.w r3, [r2, #216] ; 0xd8 break; 80427da: f001 b8ed b.w 80439b8 if(fl > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80427de: 4bc6 ldr r3, [pc, #792] ; (8042af8 ) 80427e0: 7adb ldrb r3, [r3, #11] 80427e2: b2db uxtb r3, r3 80427e4: 461a mov r2, r3 80427e6: 4bc5 ldr r3, [pc, #788] ; (8042afc ) 80427e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80427ec: ee07 3a90 vmov s15, r3 80427f0: eeb8 7a67 vcvt.f32.u32 s14, s15 80427f4: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 80427f8: eec7 7a26 vdiv.f32 s15, s14, s13 80427fc: ed9f 7ac0 vldr s14, [pc, #768] ; 8042b00 8042800: ee37 7a87 vadd.f32 s14, s15, s14 8042804: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 8042808: eeb4 7ae7 vcmpe.f32 s14, s15 804280c: eef1 fa10 vmrs APSR_nzcv, fpscr 8042810: d517 bpl.n 8042842 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8042812: 4bb9 ldr r3, [pc, #740] ; (8042af8 ) 8042814: 7adb ldrb r3, [r3, #11] 8042816: b2db uxtb r3, r3 8042818: 461a mov r2, r3 804281a: 4bb8 ldr r3, [pc, #736] ; (8042afc ) 804281c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8042820: 4ab8 ldr r2, [pc, #736] ; (8042b04 ) 8042822: fba2 2303 umull r2, r3, r2, r3 8042826: 089b lsrs r3, r3, #2 8042828: ee07 3a90 vmov s15, r3 804282c: eef8 7a67 vcvt.f32.u32 s15, s15 8042830: ed9f 7ab5 vldr s14, [pc, #724] ; 8042b08 8042834: ee77 7a87 vadd.f32 s15, s15, s14 8042838: 4baf ldr r3, [pc, #700] ; (8042af8 ) 804283a: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 804283e: f001 b8bb b.w 80439b8 pardata.LP = (float32_t) k; 8042842: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042846: ee07 3a90 vmov s15, r3 804284a: eef8 7a67 vcvt.f32.u32 s15, s15 804284e: 4baa ldr r3, [pc, #680] ; (8042af8 ) 8042850: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP *= 0.1f; 8042854: 4ba8 ldr r3, [pc, #672] ; (8042af8 ) 8042856: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804285a: ed9f 7aac vldr s14, [pc, #688] ; 8042b0c 804285e: ee67 7a87 vmul.f32 s15, s15, s14 8042862: 4ba5 ldr r3, [pc, #660] ; (8042af8 ) 8042864: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001f; 8042868: 4ba3 ldr r3, [pc, #652] ; (8042af8 ) 804286a: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804286e: ed9f 7aa6 vldr s14, [pc, #664] ; 8042b08 8042872: ee77 7a87 vadd.f32 s15, s15, s14 8042876: 4ba0 ldr r3, [pc, #640] ; (8042af8 ) 8042878: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 804287c: f001 b89c b.w 80439b8 8042880: f001 b89a b.w 80439b8 case ROUTE_MAP: // KEY_DN focused = false; 8042884: 4ba2 ldr r3, [pc, #648] ; (8042b10 ) 8042886: 2200 movs r2, #0 8042888: 701a strb r2, [r3, #0] if(menupos == RouteMax_ALL) 804288a: 4ba2 ldr r3, [pc, #648] ; (8042b14 ) 804288c: 781b ldrb r3, [r3, #0] 804288e: b2db uxtb r3, r3 8042890: 2b06 cmp r3, #6 8042892: d104 bne.n 804289e menupos = GoMeas; 8042894: 4b9f ldr r3, [pc, #636] ; (8042b14 ) 8042896: 2201 movs r2, #1 8042898: 701a strb r2, [r3, #0] if(k == 0) k = 1; pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 804289a: f001 b890 b.w 80439be if((menupos >= PrevPoint) && (menupos <= NextPoint)) 804289e: 4b9d ldr r3, [pc, #628] ; (8042b14 ) 80428a0: 781b ldrb r3, [r3, #0] 80428a2: 4b9c ldr r3, [pc, #624] ; (8042b14 ) 80428a4: 781b ldrb r3, [r3, #0] 80428a6: b2db uxtb r3, r3 80428a8: 2b02 cmp r3, #2 80428aa: d804 bhi.n 80428b6 menupos = RouteTacho; 80428ac: 4b99 ldr r3, [pc, #612] ; (8042b14 ) 80428ae: 2203 movs r2, #3 80428b0: 701a strb r2, [r3, #0] break; 80428b2: f001 b884 b.w 80439be if(menupos == RouteTacho) 80428b6: 4b97 ldr r3, [pc, #604] ; (8042b14 ) 80428b8: 781b ldrb r3, [r3, #0] 80428ba: b2db uxtb r3, r3 80428bc: 2b03 cmp r3, #3 80428be: d104 bne.n 80428ca menupos = RouteTime; 80428c0: 4b94 ldr r3, [pc, #592] ; (8042b14 ) 80428c2: 2204 movs r2, #4 80428c4: 701a strb r2, [r3, #0] break; 80428c6: f001 b87a b.w 80439be if(menupos == RouteTime) 80428ca: 4b92 ldr r3, [pc, #584] ; (8042b14 ) 80428cc: 781b ldrb r3, [r3, #0] 80428ce: b2db uxtb r3, r3 80428d0: 2b04 cmp r3, #4 80428d2: d104 bne.n 80428de menupos = RouteAutoKu; 80428d4: 4b8f ldr r3, [pc, #572] ; (8042b14 ) 80428d6: 2205 movs r2, #5 80428d8: 701a strb r2, [r3, #0] break; 80428da: f001 b870 b.w 80439be if(menupos == RouteAutoKu) 80428de: 4b8d ldr r3, [pc, #564] ; (8042b14 ) 80428e0: 781b ldrb r3, [r3, #0] 80428e2: b2db uxtb r3, r3 80428e4: 2b05 cmp r3, #5 80428e6: d110 bne.n 804290a if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80428e8: 4b83 ldr r3, [pc, #524] ; (8042af8 ) 80428ea: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80428ee: f003 0304 and.w r3, r3, #4 80428f2: 2b00 cmp r3, #0 80428f4: d104 bne.n 8042900 menupos = RouteMax_ALL; 80428f6: 4b87 ldr r3, [pc, #540] ; (8042b14 ) 80428f8: 2206 movs r2, #6 80428fa: 701a strb r2, [r3, #0] break; 80428fc: f001 b85f b.w 80439be else menupos = GoMeas; 8042900: 4b84 ldr r3, [pc, #528] ; (8042b14 ) 8042902: 2201 movs r2, #1 8042904: 701a strb r2, [r3, #0] break; 8042906: f001 b85a b.w 80439be if((menupos >= RouteMax_IDT) && (menupos <= RouteMax_IKD)) 804290a: 4b82 ldr r3, [pc, #520] ; (8042b14 ) 804290c: 781b ldrb r3, [r3, #0] 804290e: b2db uxtb r3, r3 8042910: 2b06 cmp r3, #6 8042912: f241 8054 bls.w 80439be 8042916: 4b7f ldr r3, [pc, #508] ; (8042b14 ) 8042918: 781b ldrb r3, [r3, #0] 804291a: b2db uxtb r3, r3 804291c: 2b0c cmp r3, #12 804291e: f201 804e bhi.w 80439be k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8042922: 4b75 ldr r3, [pc, #468] ; (8042af8 ) 8042924: edd3 7a06 vldr s15, [r3, #24] 8042928: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 804292c: ee67 7a87 vmul.f32 s15, s15, s14 8042930: eefc 7ae7 vcvt.u32.f32 s15, s15 8042934: ee17 3a90 vmov r3, s15 8042938: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 804293c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042940: 095b lsrs r3, r3, #5 8042942: 4a75 ldr r2, [pc, #468] ; (8042b18 ) 8042944: fba2 2303 umull r2, r3, r2, r3 8042948: 09db lsrs r3, r3, #7 804294a: b2db uxtb r3, r3 804294c: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8042950: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042954: 0953 lsrs r3, r2, #5 8042956: 4970 ldr r1, [pc, #448] ; (8042b18 ) 8042958: fba1 1303 umull r1, r3, r1, r3 804295c: 09db lsrs r3, r3, #7 804295e: 496f ldr r1, [pc, #444] ; (8042b1c ) 8042960: fb01 f303 mul.w r3, r1, r3 8042964: 1ad3 subs r3, r2, r3 8042966: 4a6e ldr r2, [pc, #440] ; (8042b20 ) 8042968: fba2 2303 umull r2, r3, r2, r3 804296c: 0b5b lsrs r3, r3, #13 804296e: b2db uxtb r3, r3 8042970: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8042974: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042978: 0953 lsrs r3, r2, #5 804297a: 4967 ldr r1, [pc, #412] ; (8042b18 ) 804297c: fba1 1303 umull r1, r3, r1, r3 8042980: 09db lsrs r3, r3, #7 8042982: 4966 ldr r1, [pc, #408] ; (8042b1c ) 8042984: fb01 f303 mul.w r3, r1, r3 8042988: 1ad3 subs r3, r2, r3 804298a: 4a65 ldr r2, [pc, #404] ; (8042b20 ) 804298c: fba2 1203 umull r1, r2, r2, r3 8042990: 0b52 lsrs r2, r2, #13 8042992: f242 7110 movw r1, #10000 ; 0x2710 8042996: fb01 f202 mul.w r2, r1, r2 804299a: 1a9a subs r2, r3, r2 804299c: 4b61 ldr r3, [pc, #388] ; (8042b24 ) 804299e: fba3 2302 umull r2, r3, r3, r2 80429a2: 099b lsrs r3, r3, #6 80429a4: b2db uxtb r3, r3 80429a6: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80429aa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80429ae: 095a lsrs r2, r3, #5 80429b0: 4959 ldr r1, [pc, #356] ; (8042b18 ) 80429b2: fba1 1202 umull r1, r2, r1, r2 80429b6: 09d2 lsrs r2, r2, #7 80429b8: 4958 ldr r1, [pc, #352] ; (8042b1c ) 80429ba: fb01 f202 mul.w r2, r1, r2 80429be: 1a9a subs r2, r3, r2 80429c0: 4b57 ldr r3, [pc, #348] ; (8042b20 ) 80429c2: fba3 1302 umull r1, r3, r3, r2 80429c6: 0b5b lsrs r3, r3, #13 80429c8: f242 7110 movw r1, #10000 ; 0x2710 80429cc: fb01 f303 mul.w r3, r1, r3 80429d0: 1ad3 subs r3, r2, r3 80429d2: 4a54 ldr r2, [pc, #336] ; (8042b24 ) 80429d4: fba2 1203 umull r1, r2, r2, r3 80429d8: 0992 lsrs r2, r2, #6 80429da: f44f 717a mov.w r1, #1000 ; 0x3e8 80429de: fb01 f202 mul.w r2, r1, r2 80429e2: 1a9a subs r2, r3, r2 80429e4: 4b50 ldr r3, [pc, #320] ; (8042b28 ) 80429e6: fba3 2302 umull r2, r3, r3, r2 80429ea: 095b lsrs r3, r3, #5 80429ec: b2db uxtb r3, r3 80429ee: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80429f2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80429f6: 0953 lsrs r3, r2, #5 80429f8: 4947 ldr r1, [pc, #284] ; (8042b18 ) 80429fa: fba1 1303 umull r1, r3, r1, r3 80429fe: 09db lsrs r3, r3, #7 8042a00: 4946 ldr r1, [pc, #280] ; (8042b1c ) 8042a02: fb01 f303 mul.w r3, r1, r3 8042a06: 1ad3 subs r3, r2, r3 8042a08: 4a45 ldr r2, [pc, #276] ; (8042b20 ) 8042a0a: fba2 1203 umull r1, r2, r2, r3 8042a0e: 0b52 lsrs r2, r2, #13 8042a10: f242 7110 movw r1, #10000 ; 0x2710 8042a14: fb01 f202 mul.w r2, r1, r2 8042a18: 1a9a subs r2, r3, r2 8042a1a: 4b42 ldr r3, [pc, #264] ; (8042b24 ) 8042a1c: fba3 1302 umull r1, r3, r3, r2 8042a20: 099b lsrs r3, r3, #6 8042a22: f44f 717a mov.w r1, #1000 ; 0x3e8 8042a26: fb01 f303 mul.w r3, r1, r3 8042a2a: 1ad3 subs r3, r2, r3 8042a2c: 4a3e ldr r2, [pc, #248] ; (8042b28 ) 8042a2e: fba2 1203 umull r1, r2, r2, r3 8042a32: 0952 lsrs r2, r2, #5 8042a34: 2164 movs r1, #100 ; 0x64 8042a36: fb01 f202 mul.w r2, r1, r2 8042a3a: 1a9a subs r2, r3, r2 8042a3c: 4b31 ldr r3, [pc, #196] ; (8042b04 ) 8042a3e: fba3 2302 umull r2, r3, r3, r2 8042a42: 08db lsrs r3, r3, #3 8042a44: b2db uxtb r3, r3 8042a46: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8042a4a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042a4e: 0953 lsrs r3, r2, #5 8042a50: 4931 ldr r1, [pc, #196] ; (8042b18 ) 8042a52: fba1 1303 umull r1, r3, r1, r3 8042a56: 09db lsrs r3, r3, #7 8042a58: 4930 ldr r1, [pc, #192] ; (8042b1c ) 8042a5a: fb01 f303 mul.w r3, r1, r3 8042a5e: 1ad3 subs r3, r2, r3 8042a60: 4a2f ldr r2, [pc, #188] ; (8042b20 ) 8042a62: fba2 1203 umull r1, r2, r2, r3 8042a66: 0b52 lsrs r2, r2, #13 8042a68: f242 7110 movw r1, #10000 ; 0x2710 8042a6c: fb01 f202 mul.w r2, r1, r2 8042a70: 1a9a subs r2, r3, r2 8042a72: 4b2c ldr r3, [pc, #176] ; (8042b24 ) 8042a74: fba3 1302 umull r1, r3, r3, r2 8042a78: 099b lsrs r3, r3, #6 8042a7a: f44f 717a mov.w r1, #1000 ; 0x3e8 8042a7e: fb01 f303 mul.w r3, r1, r3 8042a82: 1ad3 subs r3, r2, r3 8042a84: 4a28 ldr r2, [pc, #160] ; (8042b28 ) 8042a86: fba2 1203 umull r1, r2, r2, r3 8042a8a: 0952 lsrs r2, r2, #5 8042a8c: 2164 movs r1, #100 ; 0x64 8042a8e: fb01 f202 mul.w r2, r1, r2 8042a92: 1a9a subs r2, r3, r2 8042a94: 4b1b ldr r3, [pc, #108] ; (8042b04 ) 8042a96: fba3 1302 umull r1, r3, r3, r2 8042a9a: 08d9 lsrs r1, r3, #3 8042a9c: 460b mov r3, r1 8042a9e: 009b lsls r3, r3, #2 8042aa0: 440b add r3, r1 8042aa2: 005b lsls r3, r3, #1 8042aa4: 1ad1 subs r1, r2, r3 8042aa6: b2cb uxtb r3, r1 8042aa8: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042aac: 4b19 ldr r3, [pc, #100] ; (8042b14 ) 8042aae: 781b ldrb r3, [r3, #0] 8042ab0: b2db uxtb r3, r3 8042ab2: 3b07 subs r3, #7 8042ab4: 2b05 cmp r3, #5 8042ab6: f200 8086 bhi.w 8042bc6 8042aba: a201 add r2, pc, #4 ; (adr r2, 8042ac0 ) 8042abc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042ac0: 08042ad9 .word 0x08042ad9 8042ac4: 08042b31 .word 0x08042b31 8042ac8: 08042b53 .word 0x08042b53 8042acc: 08042b73 .word 0x08042b73 8042ad0: 08042b8f .word 0x08042b8f 8042ad4: 08042bab .word 0x08042bab if(k > 100000) k -= 100000; 8042ad8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042adc: 4a0f ldr r2, [pc, #60] ; (8042b1c ) 8042ade: 4293 cmp r3, r2 8042ae0: d906 bls.n 8042af0 8042ae2: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042ae6: 4b11 ldr r3, [pc, #68] ; (8042b2c ) 8042ae8: 4413 add r3, r2 8042aea: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042aee: e06a b.n 8042bc6 else k = 0; 8042af0: 2300 movs r3, #0 8042af2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042af6: e066 b.n 8042bc6 8042af8: 20023e60 .word 0x20023e60 8042afc: 080ee8c8 .word 0x080ee8c8 8042b00: 3851b717 .word 0x3851b717 8042b04: cccccccd .word 0xcccccccd 8042b08: 38d1b717 .word 0x38d1b717 8042b0c: 3dcccccd .word 0x3dcccccd 8042b10: 20020f84 .word 0x20020f84 8042b14: 20020070 .word 0x20020070 8042b18: 0a7c5ac5 .word 0x0a7c5ac5 8042b1c: 000186a0 .word 0x000186a0 8042b20: d1b71759 .word 0xd1b71759 8042b24: 10624dd3 .word 0x10624dd3 8042b28: 51eb851f .word 0x51eb851f 8042b2c: fffe7960 .word 0xfffe7960 if(k > 10000) k -= 10000; 8042b30: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b34: f242 7210 movw r2, #10000 ; 0x2710 8042b38: 4293 cmp r3, r2 8042b3a: d906 bls.n 8042b4a 8042b3c: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042b40: 4b69 ldr r3, [pc, #420] ; (8042ce8 ) 8042b42: 4413 add r3, r2 8042b44: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b48: e03d b.n 8042bc6 else k = 0; 8042b4a: 2300 movs r3, #0 8042b4c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b50: e039 b.n 8042bc6 if(k > 1000) k -= 1000; 8042b52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b56: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8042b5a: d906 bls.n 8042b6a 8042b5c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b60: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8042b64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b68: e02d b.n 8042bc6 else k = 0; 8042b6a: 2300 movs r3, #0 8042b6c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b70: e029 b.n 8042bc6 if(k > 100) k -= 100; 8042b72: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b76: 2b64 cmp r3, #100 ; 0x64 8042b78: d905 bls.n 8042b86 8042b7a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b7e: 3b64 subs r3, #100 ; 0x64 8042b80: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b84: e01f b.n 8042bc6 else k = 0; 8042b86: 2300 movs r3, #0 8042b88: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042b8c: e01b b.n 8042bc6 if(k > 10) k -= 10; 8042b8e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b92: 2b0a cmp r3, #10 8042b94: d905 bls.n 8042ba2 8042b96: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042b9a: 3b0a subs r3, #10 8042b9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ba0: e011 b.n 8042bc6 else k = 0; 8042ba2: 2300 movs r3, #0 8042ba4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ba8: e00d b.n 8042bc6 if(k > 1) k -= 1; 8042baa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042bae: 2b01 cmp r3, #1 8042bb0: d905 bls.n 8042bbe 8042bb2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042bb6: 3b01 subs r3, #1 8042bb8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042bbc: e002 b.n 8042bc4 else k = 0; 8042bbe: 2300 movs r3, #0 8042bc0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042bc4: bf00 nop if(k == 0) k = 1; 8042bc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042bca: 2b00 cmp r3, #0 8042bcc: d102 bne.n 8042bd4 8042bce: 2301 movs r3, #1 8042bd0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8042bd4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042bd8: ee07 3a90 vmov s15, r3 8042bdc: eef8 7a67 vcvt.f32.u32 s15, s15 8042be0: 4b42 ldr r3, [pc, #264] ; (8042cec ) 8042be2: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 8042be6: 4b41 ldr r3, [pc, #260] ; (8042cec ) 8042be8: edd3 7a06 vldr s15, [r3, #24] 8042bec: ed9f 7a40 vldr s14, [pc, #256] ; 8042cf0 8042bf0: ee67 7a87 vmul.f32 s15, s15, s14 8042bf4: 4b3d ldr r3, [pc, #244] ; (8042cec ) 8042bf6: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 8042bfa: 4b3c ldr r3, [pc, #240] ; (8042cec ) 8042bfc: edd3 7a06 vldr s15, [r3, #24] 8042c00: ed9f 7a3c vldr s14, [pc, #240] ; 8042cf4 8042c04: ee77 7a87 vadd.f32 s15, s15, s14 8042c08: 4b38 ldr r3, [pc, #224] ; (8042cec ) 8042c0a: edc3 7a06 vstr s15, [r3, #24] break; 8042c0e: f000 bed6 b.w 80439be case PARAM_WAVE: // KEY_DN focused = false; 8042c12: 4b39 ldr r3, [pc, #228] ; (8042cf8 ) 8042c14: 2200 movs r2, #0 8042c16: 701a strb r2, [r3, #0] if(menupos == Ok) 8042c18: 4b38 ldr r3, [pc, #224] ; (8042cfc ) 8042c1a: 781b ldrb r3, [r3, #0] 8042c1c: b2db uxtb r3, r3 8042c1e: 2b00 cmp r3, #0 8042c20: d104 bne.n 8042c2c { #ifndef USE_D101 menupos = WaveTacho; 8042c22: 4b36 ldr r3, [pc, #216] ; (8042cfc ) 8042c24: 2203 movs r2, #3 8042c26: 701a strb r2, [r3, #0] if(k == 0) k = 1; pardata.MAX_VAL = (float32_t) k; pardata.MAX_VAL *= 0.1f; pardata.MAX_VAL += 0.05f; } break; 8042c28: f000 becc b.w 80439c4 if(menupos == WaveTacho) 8042c2c: 4b33 ldr r3, [pc, #204] ; (8042cfc ) 8042c2e: 781b ldrb r3, [r3, #0] 8042c30: b2db uxtb r3, r3 8042c32: 2b03 cmp r3, #3 8042c34: d104 bne.n 8042c40 menupos = WaveName; 8042c36: 4b31 ldr r3, [pc, #196] ; (8042cfc ) 8042c38: 2204 movs r2, #4 8042c3a: 701a strb r2, [r3, #0] break; 8042c3c: f000 bec2 b.w 80439c4 if(menupos == WaveName) 8042c40: 4b2e ldr r3, [pc, #184] ; (8042cfc ) 8042c42: 781b ldrb r3, [r3, #0] 8042c44: b2db uxtb r3, r3 8042c46: 2b04 cmp r3, #4 8042c48: d104 bne.n 8042c54 menupos = WaveTime; 8042c4a: 4b2c ldr r3, [pc, #176] ; (8042cfc ) 8042c4c: 2205 movs r2, #5 8042c4e: 701a strb r2, [r3, #0] break; 8042c50: f000 beb8 b.w 80439c4 if(menupos == WaveTime) 8042c54: 4b29 ldr r3, [pc, #164] ; (8042cfc ) 8042c56: 781b ldrb r3, [r3, #0] 8042c58: b2db uxtb r3, r3 8042c5a: 2b05 cmp r3, #5 8042c5c: d104 bne.n 8042c68 menupos = WaveAutoKu; 8042c5e: 4b27 ldr r3, [pc, #156] ; (8042cfc ) 8042c60: 2206 movs r2, #6 8042c62: 701a strb r2, [r3, #0] break; 8042c64: f000 beae b.w 80439c4 if(menupos == WaveAutoKu) 8042c68: 4b24 ldr r3, [pc, #144] ; (8042cfc ) 8042c6a: 781b ldrb r3, [r3, #0] 8042c6c: b2db uxtb r3, r3 8042c6e: 2b06 cmp r3, #6 8042c70: d110 bne.n 8042c94 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8042c72: 4b1e ldr r3, [pc, #120] ; (8042cec ) 8042c74: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8042c78: f003 0304 and.w r3, r3, #4 8042c7c: 2b00 cmp r3, #0 8042c7e: d104 bne.n 8042c8a menupos = WaveMax_ALL; 8042c80: 4b1e ldr r3, [pc, #120] ; (8042cfc ) 8042c82: 2207 movs r2, #7 8042c84: 701a strb r2, [r3, #0] break; 8042c86: f000 be9d b.w 80439c4 else menupos = WaveThr; 8042c8a: 4b1c ldr r3, [pc, #112] ; (8042cfc ) 8042c8c: 2208 movs r2, #8 8042c8e: 701a strb r2, [r3, #0] break; 8042c90: f000 be98 b.w 80439c4 if(menupos == WaveMax_ALL) 8042c94: 4b19 ldr r3, [pc, #100] ; (8042cfc ) 8042c96: 781b ldrb r3, [r3, #0] 8042c98: b2db uxtb r3, r3 8042c9a: 2b07 cmp r3, #7 8042c9c: d104 bne.n 8042ca8 menupos = WaveThr; 8042c9e: 4b17 ldr r3, [pc, #92] ; (8042cfc ) 8042ca0: 2208 movs r2, #8 8042ca2: 701a strb r2, [r3, #0] break; 8042ca4: f000 be8e b.w 80439c4 if(menupos == WaveThr) 8042ca8: 4b14 ldr r3, [pc, #80] ; (8042cfc ) 8042caa: 781b ldrb r3, [r3, #0] 8042cac: b2db uxtb r3, r3 8042cae: 2b08 cmp r3, #8 8042cb0: d10f bne.n 8042cd2 if(pardata.THR & 0x80) 8042cb2: 4b0e ldr r3, [pc, #56] ; (8042cec ) 8042cb4: 7bdb ldrb r3, [r3, #15] 8042cb6: b2db uxtb r3, r3 8042cb8: b25b sxtb r3, r3 8042cba: 2b00 cmp r3, #0 8042cbc: da04 bge.n 8042cc8 menupos = WaveThr_ALL; 8042cbe: 4b0f ldr r3, [pc, #60] ; (8042cfc ) 8042cc0: 2209 movs r2, #9 8042cc2: 701a strb r2, [r3, #0] break; 8042cc4: f000 be7e b.w 80439c4 else menupos = Ok; 8042cc8: 4b0c ldr r3, [pc, #48] ; (8042cfc ) 8042cca: 2200 movs r2, #0 8042ccc: 701a strb r2, [r3, #0] break; 8042cce: f000 be79 b.w 80439c4 if(menupos == WaveThr_ALL) 8042cd2: 4b0a ldr r3, [pc, #40] ; (8042cfc ) 8042cd4: 781b ldrb r3, [r3, #0] 8042cd6: b2db uxtb r3, r3 8042cd8: 2b09 cmp r3, #9 8042cda: d111 bne.n 8042d00 menupos = Ok; 8042cdc: 4b07 ldr r3, [pc, #28] ; (8042cfc ) 8042cde: 2200 movs r2, #0 8042ce0: 701a strb r2, [r3, #0] break; 8042ce2: f000 be6f b.w 80439c4 8042ce6: bf00 nop 8042ce8: ffffd8f0 .word 0xffffd8f0 8042cec: 20023e60 .word 0x20023e60 8042cf0: 3dcccccd .word 0x3dcccccd 8042cf4: 3d4ccccd .word 0x3d4ccccd 8042cf8: 20020f84 .word 0x20020f84 8042cfc: 20020070 .word 0x20020070 if((menupos >= WaveThr_IDT) && (menupos <= WaveThr_IKD)) 8042d00: 4bb3 ldr r3, [pc, #716] ; (8042fd0 ) 8042d02: 781b ldrb r3, [r3, #0] 8042d04: b2db uxtb r3, r3 8042d06: 2b0f cmp r3, #15 8042d08: f240 817a bls.w 8043000 8042d0c: 4bb0 ldr r3, [pc, #704] ; (8042fd0 ) 8042d0e: 781b ldrb r3, [r3, #0] 8042d10: b2db uxtb r3, r3 8042d12: 2b15 cmp r3, #21 8042d14: f200 8174 bhi.w 8043000 k = (uint32_t) (pardata.THR_VAL * 10.0f); 8042d18: 4bae ldr r3, [pc, #696] ; (8042fd4 ) 8042d1a: edd3 7a05 vldr s15, [r3, #20] 8042d1e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8042d22: ee67 7a87 vmul.f32 s15, s15, s14 8042d26: eefc 7ae7 vcvt.u32.f32 s15, s15 8042d2a: ee17 3a90 vmov r3, s15 8042d2e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8042d32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042d36: 095b lsrs r3, r3, #5 8042d38: 4aa7 ldr r2, [pc, #668] ; (8042fd8 ) 8042d3a: fba2 2303 umull r2, r3, r2, r3 8042d3e: 09db lsrs r3, r3, #7 8042d40: b2db uxtb r3, r3 8042d42: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8042d46: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042d4a: 0953 lsrs r3, r2, #5 8042d4c: 49a2 ldr r1, [pc, #648] ; (8042fd8 ) 8042d4e: fba1 1303 umull r1, r3, r1, r3 8042d52: 09db lsrs r3, r3, #7 8042d54: 49a1 ldr r1, [pc, #644] ; (8042fdc ) 8042d56: fb01 f303 mul.w r3, r1, r3 8042d5a: 1ad3 subs r3, r2, r3 8042d5c: 4aa0 ldr r2, [pc, #640] ; (8042fe0 ) 8042d5e: fba2 2303 umull r2, r3, r2, r3 8042d62: 0b5b lsrs r3, r3, #13 8042d64: b2db uxtb r3, r3 8042d66: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 8042d6a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042d6e: 0953 lsrs r3, r2, #5 8042d70: 4999 ldr r1, [pc, #612] ; (8042fd8 ) 8042d72: fba1 1303 umull r1, r3, r1, r3 8042d76: 09db lsrs r3, r3, #7 8042d78: 4998 ldr r1, [pc, #608] ; (8042fdc ) 8042d7a: fb01 f303 mul.w r3, r1, r3 8042d7e: 1ad3 subs r3, r2, r3 8042d80: 4a97 ldr r2, [pc, #604] ; (8042fe0 ) 8042d82: fba2 1203 umull r1, r2, r2, r3 8042d86: 0b52 lsrs r2, r2, #13 8042d88: f242 7110 movw r1, #10000 ; 0x2710 8042d8c: fb01 f202 mul.w r2, r1, r2 8042d90: 1a9a subs r2, r3, r2 8042d92: 4b94 ldr r3, [pc, #592] ; (8042fe4 ) 8042d94: fba3 2302 umull r2, r3, r3, r2 8042d98: 099b lsrs r3, r3, #6 8042d9a: b2db uxtb r3, r3 8042d9c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8042da0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042da4: 095a lsrs r2, r3, #5 8042da6: 498c ldr r1, [pc, #560] ; (8042fd8 ) 8042da8: fba1 1202 umull r1, r2, r1, r2 8042dac: 09d2 lsrs r2, r2, #7 8042dae: 498b ldr r1, [pc, #556] ; (8042fdc ) 8042db0: fb01 f202 mul.w r2, r1, r2 8042db4: 1a9a subs r2, r3, r2 8042db6: 4b8a ldr r3, [pc, #552] ; (8042fe0 ) 8042db8: fba3 1302 umull r1, r3, r3, r2 8042dbc: 0b5b lsrs r3, r3, #13 8042dbe: f242 7110 movw r1, #10000 ; 0x2710 8042dc2: fb01 f303 mul.w r3, r1, r3 8042dc6: 1ad3 subs r3, r2, r3 8042dc8: 4a86 ldr r2, [pc, #536] ; (8042fe4 ) 8042dca: fba2 1203 umull r1, r2, r2, r3 8042dce: 0992 lsrs r2, r2, #6 8042dd0: f44f 717a mov.w r1, #1000 ; 0x3e8 8042dd4: fb01 f202 mul.w r2, r1, r2 8042dd8: 1a9a subs r2, r3, r2 8042dda: 4b83 ldr r3, [pc, #524] ; (8042fe8 ) 8042ddc: fba3 2302 umull r2, r3, r3, r2 8042de0: 095b lsrs r3, r3, #5 8042de2: b2db uxtb r3, r3 8042de4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8042de8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042dec: 0953 lsrs r3, r2, #5 8042dee: 497a ldr r1, [pc, #488] ; (8042fd8 ) 8042df0: fba1 1303 umull r1, r3, r1, r3 8042df4: 09db lsrs r3, r3, #7 8042df6: 4979 ldr r1, [pc, #484] ; (8042fdc ) 8042df8: fb01 f303 mul.w r3, r1, r3 8042dfc: 1ad3 subs r3, r2, r3 8042dfe: 4a78 ldr r2, [pc, #480] ; (8042fe0 ) 8042e00: fba2 1203 umull r1, r2, r2, r3 8042e04: 0b52 lsrs r2, r2, #13 8042e06: f242 7110 movw r1, #10000 ; 0x2710 8042e0a: fb01 f202 mul.w r2, r1, r2 8042e0e: 1a9a subs r2, r3, r2 8042e10: 4b74 ldr r3, [pc, #464] ; (8042fe4 ) 8042e12: fba3 1302 umull r1, r3, r3, r2 8042e16: 099b lsrs r3, r3, #6 8042e18: f44f 717a mov.w r1, #1000 ; 0x3e8 8042e1c: fb01 f303 mul.w r3, r1, r3 8042e20: 1ad3 subs r3, r2, r3 8042e22: 4a71 ldr r2, [pc, #452] ; (8042fe8 ) 8042e24: fba2 1203 umull r1, r2, r2, r3 8042e28: 0952 lsrs r2, r2, #5 8042e2a: 2164 movs r1, #100 ; 0x64 8042e2c: fb01 f202 mul.w r2, r1, r2 8042e30: 1a9a subs r2, r3, r2 8042e32: 4b6e ldr r3, [pc, #440] ; (8042fec ) 8042e34: fba3 2302 umull r2, r3, r3, r2 8042e38: 08db lsrs r3, r3, #3 8042e3a: b2db uxtb r3, r3 8042e3c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8042e40: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042e44: 0953 lsrs r3, r2, #5 8042e46: 4964 ldr r1, [pc, #400] ; (8042fd8 ) 8042e48: fba1 1303 umull r1, r3, r1, r3 8042e4c: 09db lsrs r3, r3, #7 8042e4e: 4963 ldr r1, [pc, #396] ; (8042fdc ) 8042e50: fb01 f303 mul.w r3, r1, r3 8042e54: 1ad3 subs r3, r2, r3 8042e56: 4a62 ldr r2, [pc, #392] ; (8042fe0 ) 8042e58: fba2 1203 umull r1, r2, r2, r3 8042e5c: 0b52 lsrs r2, r2, #13 8042e5e: f242 7110 movw r1, #10000 ; 0x2710 8042e62: fb01 f202 mul.w r2, r1, r2 8042e66: 1a9a subs r2, r3, r2 8042e68: 4b5e ldr r3, [pc, #376] ; (8042fe4 ) 8042e6a: fba3 1302 umull r1, r3, r3, r2 8042e6e: 099b lsrs r3, r3, #6 8042e70: f44f 717a mov.w r1, #1000 ; 0x3e8 8042e74: fb01 f303 mul.w r3, r1, r3 8042e78: 1ad3 subs r3, r2, r3 8042e7a: 4a5b ldr r2, [pc, #364] ; (8042fe8 ) 8042e7c: fba2 1203 umull r1, r2, r2, r3 8042e80: 0952 lsrs r2, r2, #5 8042e82: 2164 movs r1, #100 ; 0x64 8042e84: fb01 f202 mul.w r2, r1, r2 8042e88: 1a9a subs r2, r3, r2 8042e8a: 4b58 ldr r3, [pc, #352] ; (8042fec ) 8042e8c: fba3 1302 umull r1, r3, r3, r2 8042e90: 08d9 lsrs r1, r3, #3 8042e92: 460b mov r3, r1 8042e94: 009b lsls r3, r3, #2 8042e96: 440b add r3, r1 8042e98: 005b lsls r3, r3, #1 8042e9a: 1ad1 subs r1, r2, r3 8042e9c: b2cb uxtb r3, r1 8042e9e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 8042ea2: 4b4b ldr r3, [pc, #300] ; (8042fd0 ) 8042ea4: 781b ldrb r3, [r3, #0] 8042ea6: b2db uxtb r3, r3 8042ea8: 3b10 subs r3, #16 8042eaa: 2b05 cmp r3, #5 8042eac: d869 bhi.n 8042f82 8042eae: a201 add r2, pc, #4 ; (adr r2, 8042eb4 ) 8042eb0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8042eb4: 08042ecd .word 0x08042ecd 8042eb8: 08042eed .word 0x08042eed 8042ebc: 08042f0f .word 0x08042f0f 8042ec0: 08042f2f .word 0x08042f2f 8042ec4: 08042f4b .word 0x08042f4b 8042ec8: 08042f67 .word 0x08042f67 if(k > 100000) k -= 100000; 8042ecc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042ed0: 4a42 ldr r2, [pc, #264] ; (8042fdc ) 8042ed2: 4293 cmp r3, r2 8042ed4: d906 bls.n 8042ee4 8042ed6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042eda: 4b45 ldr r3, [pc, #276] ; (8042ff0 ) 8042edc: 4413 add r3, r2 8042ede: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042ee2: e04e b.n 8042f82 else k = 0; 8042ee4: 2300 movs r3, #0 8042ee6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042eea: e04a b.n 8042f82 if(k > 10000) k -= 10000; 8042eec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042ef0: f242 7210 movw r2, #10000 ; 0x2710 8042ef4: 4293 cmp r3, r2 8042ef6: d906 bls.n 8042f06 8042ef8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8042efc: 4b3d ldr r3, [pc, #244] ; (8042ff4 ) 8042efe: 4413 add r3, r2 8042f00: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f04: e03d b.n 8042f82 else k = 0; 8042f06: 2300 movs r3, #0 8042f08: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f0c: e039 b.n 8042f82 if(k > 1000) k -= 1000; 8042f0e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f12: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8042f16: d906 bls.n 8042f26 8042f18: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f1c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8042f20: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f24: e02d b.n 8042f82 else k = 0; 8042f26: 2300 movs r3, #0 8042f28: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f2c: e029 b.n 8042f82 if(k > 100) k -= 100; 8042f2e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f32: 2b64 cmp r3, #100 ; 0x64 8042f34: d905 bls.n 8042f42 8042f36: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f3a: 3b64 subs r3, #100 ; 0x64 8042f3c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f40: e01f b.n 8042f82 else k = 0; 8042f42: 2300 movs r3, #0 8042f44: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f48: e01b b.n 8042f82 if(k > 10) k -= 10; 8042f4a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f4e: 2b0a cmp r3, #10 8042f50: d905 bls.n 8042f5e 8042f52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f56: 3b0a subs r3, #10 8042f58: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f5c: e011 b.n 8042f82 else k = 0; 8042f5e: 2300 movs r3, #0 8042f60: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f64: e00d b.n 8042f82 if(k > 1) k -= 1; 8042f66: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f6a: 2b01 cmp r3, #1 8042f6c: d905 bls.n 8042f7a 8042f6e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f72: 3b01 subs r3, #1 8042f74: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f78: e002 b.n 8042f80 else k = 0; 8042f7a: 2300 movs r3, #0 8042f7c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8042f80: bf00 nop if(k == 0) k = 1; 8042f82: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f86: 2b00 cmp r3, #0 8042f88: d102 bne.n 8042f90 8042f8a: 2301 movs r3, #1 8042f8c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.THR_VAL = (float32_t) k; 8042f90: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8042f94: ee07 3a90 vmov s15, r3 8042f98: eef8 7a67 vcvt.f32.u32 s15, s15 8042f9c: 4b0d ldr r3, [pc, #52] ; (8042fd4 ) 8042f9e: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL *= 0.1f; 8042fa2: 4b0c ldr r3, [pc, #48] ; (8042fd4 ) 8042fa4: edd3 7a05 vldr s15, [r3, #20] 8042fa8: ed9f 7a13 vldr s14, [pc, #76] ; 8042ff8 8042fac: ee67 7a87 vmul.f32 s15, s15, s14 8042fb0: 4b08 ldr r3, [pc, #32] ; (8042fd4 ) 8042fb2: edc3 7a05 vstr s15, [r3, #20] pardata.THR_VAL += 0.05f; 8042fb6: 4b07 ldr r3, [pc, #28] ; (8042fd4 ) 8042fb8: edd3 7a05 vldr s15, [r3, #20] 8042fbc: ed9f 7a0f vldr s14, [pc, #60] ; 8042ffc 8042fc0: ee77 7a87 vadd.f32 s15, s15, s14 8042fc4: 4b03 ldr r3, [pc, #12] ; (8042fd4 ) 8042fc6: edc3 7a05 vstr s15, [r3, #20] break; 8042fca: f000 bcfb b.w 80439c4 8042fce: bf00 nop 8042fd0: 20020070 .word 0x20020070 8042fd4: 20023e60 .word 0x20023e60 8042fd8: 0a7c5ac5 .word 0x0a7c5ac5 8042fdc: 000186a0 .word 0x000186a0 8042fe0: d1b71759 .word 0xd1b71759 8042fe4: 10624dd3 .word 0x10624dd3 8042fe8: 51eb851f .word 0x51eb851f 8042fec: cccccccd .word 0xcccccccd 8042ff0: fffe7960 .word 0xfffe7960 8042ff4: ffffd8f0 .word 0xffffd8f0 8042ff8: 3dcccccd .word 0x3dcccccd 8042ffc: 3d4ccccd .word 0x3d4ccccd if((menupos >= WaveMax_IDT) && (menupos <= WaveMax_IKD)) 8043000: 4bb2 ldr r3, [pc, #712] ; (80432cc ) 8043002: 781b ldrb r3, [r3, #0] 8043004: b2db uxtb r3, r3 8043006: 2b09 cmp r3, #9 8043008: f240 84dc bls.w 80439c4 804300c: 4baf ldr r3, [pc, #700] ; (80432cc ) 804300e: 781b ldrb r3, [r3, #0] 8043010: b2db uxtb r3, r3 8043012: 2b0f cmp r3, #15 8043014: f200 84d6 bhi.w 80439c4 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8043018: 4bad ldr r3, [pc, #692] ; (80432d0 ) 804301a: edd3 7a06 vldr s15, [r3, #24] 804301e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8043022: ee67 7a87 vmul.f32 s15, s15, s14 8043026: eefc 7ae7 vcvt.u32.f32 s15, s15 804302a: ee17 3a90 vmov r3, s15 804302e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 idt = (uint8_t) (k / 100000); 8043032: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043036: 095b lsrs r3, r3, #5 8043038: 4aa6 ldr r2, [pc, #664] ; (80432d4 ) 804303a: fba2 2303 umull r2, r3, r2, r3 804303e: 09db lsrs r3, r3, #7 8043040: b2db uxtb r3, r3 8043042: f887 3073 strb.w r3, [r7, #115] ; 0x73 iet = (uint8_t) (k % 100000 / 10000); 8043046: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804304a: 0953 lsrs r3, r2, #5 804304c: 49a1 ldr r1, [pc, #644] ; (80432d4 ) 804304e: fba1 1303 umull r1, r3, r1, r3 8043052: 09db lsrs r3, r3, #7 8043054: 49a0 ldr r1, [pc, #640] ; (80432d8 ) 8043056: fb01 f303 mul.w r3, r1, r3 804305a: 1ad3 subs r3, r2, r3 804305c: 4a9f ldr r2, [pc, #636] ; (80432dc ) 804305e: fba2 2303 umull r2, r3, r2, r3 8043062: 0b5b lsrs r3, r3, #13 8043064: b2db uxtb r3, r3 8043066: f887 3072 strb.w r3, [r7, #114] ; 0x72 ies = (uint8_t) (k % 100000 % 10000 / 1000); 804306a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804306e: 0953 lsrs r3, r2, #5 8043070: 4998 ldr r1, [pc, #608] ; (80432d4 ) 8043072: fba1 1303 umull r1, r3, r1, r3 8043076: 09db lsrs r3, r3, #7 8043078: 4997 ldr r1, [pc, #604] ; (80432d8 ) 804307a: fb01 f303 mul.w r3, r1, r3 804307e: 1ad3 subs r3, r2, r3 8043080: 4a96 ldr r2, [pc, #600] ; (80432dc ) 8043082: fba2 1203 umull r1, r2, r2, r3 8043086: 0b52 lsrs r2, r2, #13 8043088: f242 7110 movw r1, #10000 ; 0x2710 804308c: fb01 f202 mul.w r2, r1, r2 8043090: 1a9a subs r2, r3, r2 8043092: 4b93 ldr r3, [pc, #588] ; (80432e0 ) 8043094: fba3 2302 umull r2, r3, r3, r2 8043098: 099b lsrs r3, r3, #6 804309a: b2db uxtb r3, r3 804309c: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80430a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80430a4: 095a lsrs r2, r3, #5 80430a6: 498b ldr r1, [pc, #556] ; (80432d4 ) 80430a8: fba1 1202 umull r1, r2, r1, r2 80430ac: 09d2 lsrs r2, r2, #7 80430ae: 498a ldr r1, [pc, #552] ; (80432d8 ) 80430b0: fb01 f202 mul.w r2, r1, r2 80430b4: 1a9a subs r2, r3, r2 80430b6: 4b89 ldr r3, [pc, #548] ; (80432dc ) 80430b8: fba3 1302 umull r1, r3, r3, r2 80430bc: 0b5b lsrs r3, r3, #13 80430be: f242 7110 movw r1, #10000 ; 0x2710 80430c2: fb01 f303 mul.w r3, r1, r3 80430c6: 1ad3 subs r3, r2, r3 80430c8: 4a85 ldr r2, [pc, #532] ; (80432e0 ) 80430ca: fba2 1203 umull r1, r2, r2, r3 80430ce: 0992 lsrs r2, r2, #6 80430d0: f44f 717a mov.w r1, #1000 ; 0x3e8 80430d4: fb01 f202 mul.w r2, r1, r2 80430d8: 1a9a subs r2, r3, r2 80430da: 4b82 ldr r3, [pc, #520] ; (80432e4 ) 80430dc: fba3 2302 umull r2, r3, r3, r2 80430e0: 095b lsrs r3, r3, #5 80430e2: b2db uxtb r3, r3 80430e4: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80430e8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80430ec: 0953 lsrs r3, r2, #5 80430ee: 4979 ldr r1, [pc, #484] ; (80432d4 ) 80430f0: fba1 1303 umull r1, r3, r1, r3 80430f4: 09db lsrs r3, r3, #7 80430f6: 4978 ldr r1, [pc, #480] ; (80432d8 ) 80430f8: fb01 f303 mul.w r3, r1, r3 80430fc: 1ad3 subs r3, r2, r3 80430fe: 4a77 ldr r2, [pc, #476] ; (80432dc ) 8043100: fba2 1203 umull r1, r2, r2, r3 8043104: 0b52 lsrs r2, r2, #13 8043106: f242 7110 movw r1, #10000 ; 0x2710 804310a: fb01 f202 mul.w r2, r1, r2 804310e: 1a9a subs r2, r3, r2 8043110: 4b73 ldr r3, [pc, #460] ; (80432e0 ) 8043112: fba3 1302 umull r1, r3, r3, r2 8043116: 099b lsrs r3, r3, #6 8043118: f44f 717a mov.w r1, #1000 ; 0x3e8 804311c: fb01 f303 mul.w r3, r1, r3 8043120: 1ad3 subs r3, r2, r3 8043122: 4a70 ldr r2, [pc, #448] ; (80432e4 ) 8043124: fba2 1203 umull r1, r2, r2, r3 8043128: 0952 lsrs r2, r2, #5 804312a: 2164 movs r1, #100 ; 0x64 804312c: fb01 f202 mul.w r2, r1, r2 8043130: 1a9a subs r2, r3, r2 8043132: 4b6d ldr r3, [pc, #436] ; (80432e8 ) 8043134: fba3 2302 umull r2, r3, r3, r2 8043138: 08db lsrs r3, r3, #3 804313a: b2db uxtb r3, r3 804313c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8043140: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043144: 0953 lsrs r3, r2, #5 8043146: 4963 ldr r1, [pc, #396] ; (80432d4 ) 8043148: fba1 1303 umull r1, r3, r1, r3 804314c: 09db lsrs r3, r3, #7 804314e: 4962 ldr r1, [pc, #392] ; (80432d8 ) 8043150: fb01 f303 mul.w r3, r1, r3 8043154: 1ad3 subs r3, r2, r3 8043156: 4a61 ldr r2, [pc, #388] ; (80432dc ) 8043158: fba2 1203 umull r1, r2, r2, r3 804315c: 0b52 lsrs r2, r2, #13 804315e: f242 7110 movw r1, #10000 ; 0x2710 8043162: fb01 f202 mul.w r2, r1, r2 8043166: 1a9a subs r2, r3, r2 8043168: 4b5d ldr r3, [pc, #372] ; (80432e0 ) 804316a: fba3 1302 umull r1, r3, r3, r2 804316e: 099b lsrs r3, r3, #6 8043170: f44f 717a mov.w r1, #1000 ; 0x3e8 8043174: fb01 f303 mul.w r3, r1, r3 8043178: 1ad3 subs r3, r2, r3 804317a: 4a5a ldr r2, [pc, #360] ; (80432e4 ) 804317c: fba2 1203 umull r1, r2, r2, r3 8043180: 0952 lsrs r2, r2, #5 8043182: 2164 movs r1, #100 ; 0x64 8043184: fb01 f202 mul.w r2, r1, r2 8043188: 1a9a subs r2, r3, r2 804318a: 4b57 ldr r3, [pc, #348] ; (80432e8 ) 804318c: fba3 1302 umull r1, r3, r3, r2 8043190: 08d9 lsrs r1, r3, #3 8043192: 460b mov r3, r1 8043194: 009b lsls r3, r3, #2 8043196: 440b add r3, r1 8043198: 005b lsls r3, r3, #1 804319a: 1ad1 subs r1, r2, r3 804319c: b2cb uxtb r3, r1 804319e: f887 306e strb.w r3, [r7, #110] ; 0x6e switch(menupos) 80431a2: 4b4a ldr r3, [pc, #296] ; (80432cc ) 80431a4: 781b ldrb r3, [r3, #0] 80431a6: b2db uxtb r3, r3 80431a8: 3b0a subs r3, #10 80431aa: 2b05 cmp r3, #5 80431ac: d869 bhi.n 8043282 80431ae: a201 add r2, pc, #4 ; (adr r2, 80431b4 ) 80431b0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80431b4: 080431cd .word 0x080431cd 80431b8: 080431ed .word 0x080431ed 80431bc: 0804320f .word 0x0804320f 80431c0: 0804322f .word 0x0804322f 80431c4: 0804324b .word 0x0804324b 80431c8: 08043267 .word 0x08043267 if(k > 100000) k -= 100000; 80431cc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80431d0: 4a41 ldr r2, [pc, #260] ; (80432d8 ) 80431d2: 4293 cmp r3, r2 80431d4: d906 bls.n 80431e4 80431d6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80431da: 4b44 ldr r3, [pc, #272] ; (80432ec ) 80431dc: 4413 add r3, r2 80431de: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80431e2: e04e b.n 8043282 else k = 0; 80431e4: 2300 movs r3, #0 80431e6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80431ea: e04a b.n 8043282 if(k > 10000) k -= 10000; 80431ec: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80431f0: f242 7210 movw r2, #10000 ; 0x2710 80431f4: 4293 cmp r3, r2 80431f6: d906 bls.n 8043206 80431f8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80431fc: 4b3c ldr r3, [pc, #240] ; (80432f0 ) 80431fe: 4413 add r3, r2 8043200: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043204: e03d b.n 8043282 else k = 0; 8043206: 2300 movs r3, #0 8043208: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804320c: e039 b.n 8043282 if(k > 1000) k -= 1000; 804320e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043212: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8043216: d906 bls.n 8043226 8043218: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804321c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8043220: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043224: e02d b.n 8043282 else k = 0; 8043226: 2300 movs r3, #0 8043228: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804322c: e029 b.n 8043282 if(k > 100) k -= 100; 804322e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043232: 2b64 cmp r3, #100 ; 0x64 8043234: d905 bls.n 8043242 8043236: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804323a: 3b64 subs r3, #100 ; 0x64 804323c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043240: e01f b.n 8043282 else k = 0; 8043242: 2300 movs r3, #0 8043244: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043248: e01b b.n 8043282 if(k > 10) k -= 10; 804324a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804324e: 2b0a cmp r3, #10 8043250: d905 bls.n 804325e 8043252: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043256: 3b0a subs r3, #10 8043258: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804325c: e011 b.n 8043282 else k = 0; 804325e: 2300 movs r3, #0 8043260: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043264: e00d b.n 8043282 if(k > 1) k -= 1; 8043266: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804326a: 2b01 cmp r3, #1 804326c: d905 bls.n 804327a 804326e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043272: 3b01 subs r3, #1 8043274: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043278: e002 b.n 8043280 else k = 0; 804327a: 2300 movs r3, #0 804327c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043280: bf00 nop if(k == 0) k = 1; 8043282: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043286: 2b00 cmp r3, #0 8043288: d102 bne.n 8043290 804328a: 2301 movs r3, #1 804328c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.MAX_VAL = (float32_t) k; 8043290: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043294: ee07 3a90 vmov s15, r3 8043298: eef8 7a67 vcvt.f32.u32 s15, s15 804329c: 4b0c ldr r3, [pc, #48] ; (80432d0 ) 804329e: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL *= 0.1f; 80432a2: 4b0b ldr r3, [pc, #44] ; (80432d0 ) 80432a4: edd3 7a06 vldr s15, [r3, #24] 80432a8: ed9f 7a12 vldr s14, [pc, #72] ; 80432f4 80432ac: ee67 7a87 vmul.f32 s15, s15, s14 80432b0: 4b07 ldr r3, [pc, #28] ; (80432d0 ) 80432b2: edc3 7a06 vstr s15, [r3, #24] pardata.MAX_VAL += 0.05f; 80432b6: 4b06 ldr r3, [pc, #24] ; (80432d0 ) 80432b8: edd3 7a06 vldr s15, [r3, #24] 80432bc: ed9f 7a0e vldr s14, [pc, #56] ; 80432f8 80432c0: ee77 7a87 vadd.f32 s15, s15, s14 80432c4: 4b02 ldr r3, [pc, #8] ; (80432d0 ) 80432c6: edc3 7a06 vstr s15, [r3, #24] break; 80432ca: e37b b.n 80439c4 80432cc: 20020070 .word 0x20020070 80432d0: 20023e60 .word 0x20023e60 80432d4: 0a7c5ac5 .word 0x0a7c5ac5 80432d8: 000186a0 .word 0x000186a0 80432dc: d1b71759 .word 0xd1b71759 80432e0: 10624dd3 .word 0x10624dd3 80432e4: 51eb851f .word 0x51eb851f 80432e8: cccccccd .word 0xcccccccd 80432ec: fffe7960 .word 0xfffe7960 80432f0: ffffd8f0 .word 0xffffd8f0 80432f4: 3dcccccd .word 0x3dcccccd 80432f8: 3d4ccccd .word 0x3d4ccccd case SETTINGS: if(menupos >= Ies) 80432fc: 4bcd ldr r3, [pc, #820] ; (8043634 ) 80432fe: 781b ldrb r3, [r3, #0] 8043300: b2db uxtb r3, r3 8043302: 2b0b cmp r3, #11 8043304: f240 815a bls.w 80435bc { k = (uint32_t) (pardata.IKK * 1000.0f); 8043308: 4bcb ldr r3, [pc, #812] ; (8043638 ) 804330a: edd3 7a04 vldr s15, [r3, #16] 804330e: ed9f 7acb vldr s14, [pc, #812] ; 804363c 8043312: ee67 7a87 vmul.f32 s15, s15, s14 8043316: eefc 7ae7 vcvt.u32.f32 s15, s15 804331a: ee17 3a90 vmov r3, s15 804331e: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ies = (uint8_t) (k / 100000); 8043322: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043326: 095b lsrs r3, r3, #5 8043328: 4ac5 ldr r2, [pc, #788] ; (8043640 ) 804332a: fba2 2303 umull r2, r3, r2, r3 804332e: 09db lsrs r3, r3, #7 8043330: b2db uxtb r3, r3 8043332: f887 3071 strb.w r3, [r7, #113] ; 0x71 ied = (uint8_t) (k % 100000 / 10000); 8043336: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804333a: 0953 lsrs r3, r2, #5 804333c: 49c0 ldr r1, [pc, #768] ; (8043640 ) 804333e: fba1 1303 umull r1, r3, r1, r3 8043342: 09db lsrs r3, r3, #7 8043344: 49bf ldr r1, [pc, #764] ; (8043644 ) 8043346: fb01 f303 mul.w r3, r1, r3 804334a: 1ad3 subs r3, r2, r3 804334c: 4abe ldr r2, [pc, #760] ; (8043648 ) 804334e: fba2 2303 umull r2, r3, r2, r3 8043352: 0b5b lsrs r3, r3, #13 8043354: b2db uxtb r3, r3 8043356: f887 3070 strb.w r3, [r7, #112] ; 0x70 iee = (uint8_t) (k % 100000 % 10000 / 1000); 804335a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 804335e: 0953 lsrs r3, r2, #5 8043360: 49b7 ldr r1, [pc, #732] ; (8043640 ) 8043362: fba1 1303 umull r1, r3, r1, r3 8043366: 09db lsrs r3, r3, #7 8043368: 49b6 ldr r1, [pc, #728] ; (8043644 ) 804336a: fb01 f303 mul.w r3, r1, r3 804336e: 1ad3 subs r3, r2, r3 8043370: 4ab5 ldr r2, [pc, #724] ; (8043648 ) 8043372: fba2 1203 umull r1, r2, r2, r3 8043376: 0b52 lsrs r2, r2, #13 8043378: f242 7110 movw r1, #10000 ; 0x2710 804337c: fb01 f202 mul.w r2, r1, r2 8043380: 1a9a subs r2, r3, r2 8043382: 4bb2 ldr r3, [pc, #712] ; (804364c ) 8043384: fba3 2302 umull r2, r3, r3, r2 8043388: 099b lsrs r3, r3, #6 804338a: b2db uxtb r3, r3 804338c: f887 306f strb.w r3, [r7, #111] ; 0x6f ikd = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8043390: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043394: 095a lsrs r2, r3, #5 8043396: 49aa ldr r1, [pc, #680] ; (8043640 ) 8043398: fba1 1202 umull r1, r2, r1, r2 804339c: 09d2 lsrs r2, r2, #7 804339e: 49a9 ldr r1, [pc, #676] ; (8043644 ) 80433a0: fb01 f202 mul.w r2, r1, r2 80433a4: 1a9a subs r2, r3, r2 80433a6: 4ba8 ldr r3, [pc, #672] ; (8043648 ) 80433a8: fba3 1302 umull r1, r3, r3, r2 80433ac: 0b5b lsrs r3, r3, #13 80433ae: f242 7110 movw r1, #10000 ; 0x2710 80433b2: fb01 f303 mul.w r3, r1, r3 80433b6: 1ad3 subs r3, r2, r3 80433b8: 4aa4 ldr r2, [pc, #656] ; (804364c ) 80433ba: fba2 1203 umull r1, r2, r2, r3 80433be: 0992 lsrs r2, r2, #6 80433c0: f44f 717a mov.w r1, #1000 ; 0x3e8 80433c4: fb01 f202 mul.w r2, r1, r2 80433c8: 1a9a subs r2, r3, r2 80433ca: 4ba1 ldr r3, [pc, #644] ; (8043650 ) 80433cc: fba3 2302 umull r2, r3, r3, r2 80433d0: 095b lsrs r3, r3, #5 80433d2: b2db uxtb r3, r3 80433d4: f887 306e strb.w r3, [r7, #110] ; 0x6e iks = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 80433d8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80433dc: 0953 lsrs r3, r2, #5 80433de: 4998 ldr r1, [pc, #608] ; (8043640 ) 80433e0: fba1 1303 umull r1, r3, r1, r3 80433e4: 09db lsrs r3, r3, #7 80433e6: 4997 ldr r1, [pc, #604] ; (8043644 ) 80433e8: fb01 f303 mul.w r3, r1, r3 80433ec: 1ad3 subs r3, r2, r3 80433ee: 4a96 ldr r2, [pc, #600] ; (8043648 ) 80433f0: fba2 1203 umull r1, r2, r2, r3 80433f4: 0b52 lsrs r2, r2, #13 80433f6: f242 7110 movw r1, #10000 ; 0x2710 80433fa: fb01 f202 mul.w r2, r1, r2 80433fe: 1a9a subs r2, r3, r2 8043400: 4b92 ldr r3, [pc, #584] ; (804364c ) 8043402: fba3 1302 umull r1, r3, r3, r2 8043406: 099b lsrs r3, r3, #6 8043408: f44f 717a mov.w r1, #1000 ; 0x3e8 804340c: fb01 f303 mul.w r3, r1, r3 8043410: 1ad3 subs r3, r2, r3 8043412: 4a8f ldr r2, [pc, #572] ; (8043650 ) 8043414: fba2 1203 umull r1, r2, r2, r3 8043418: 0952 lsrs r2, r2, #5 804341a: 2164 movs r1, #100 ; 0x64 804341c: fb01 f202 mul.w r2, r1, r2 8043420: 1a9a subs r2, r3, r2 8043422: 4b8c ldr r3, [pc, #560] ; (8043654 ) 8043424: fba3 2302 umull r2, r3, r3, r2 8043428: 08db lsrs r3, r3, #3 804342a: b2db uxtb r3, r3 804342c: f887 306d strb.w r3, [r7, #109] ; 0x6d ikt = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8043430: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 8043434: 0953 lsrs r3, r2, #5 8043436: 4982 ldr r1, [pc, #520] ; (8043640 ) 8043438: fba1 1303 umull r1, r3, r1, r3 804343c: 09db lsrs r3, r3, #7 804343e: 4981 ldr r1, [pc, #516] ; (8043644 ) 8043440: fb01 f303 mul.w r3, r1, r3 8043444: 1ad3 subs r3, r2, r3 8043446: 4a80 ldr r2, [pc, #512] ; (8043648 ) 8043448: fba2 1203 umull r1, r2, r2, r3 804344c: 0b52 lsrs r2, r2, #13 804344e: f242 7110 movw r1, #10000 ; 0x2710 8043452: fb01 f202 mul.w r2, r1, r2 8043456: 1a9a subs r2, r3, r2 8043458: 4b7c ldr r3, [pc, #496] ; (804364c ) 804345a: fba3 1302 umull r1, r3, r3, r2 804345e: 099b lsrs r3, r3, #6 8043460: f44f 717a mov.w r1, #1000 ; 0x3e8 8043464: fb01 f303 mul.w r3, r1, r3 8043468: 1ad3 subs r3, r2, r3 804346a: 4a79 ldr r2, [pc, #484] ; (8043650 ) 804346c: fba2 1203 umull r1, r2, r2, r3 8043470: 0952 lsrs r2, r2, #5 8043472: 2164 movs r1, #100 ; 0x64 8043474: fb01 f202 mul.w r2, r1, r2 8043478: 1a9a subs r2, r3, r2 804347a: 4b76 ldr r3, [pc, #472] ; (8043654 ) 804347c: fba3 1302 umull r1, r3, r3, r2 8043480: 08d9 lsrs r1, r3, #3 8043482: 460b mov r3, r1 8043484: 009b lsls r3, r3, #2 8043486: 440b add r3, r1 8043488: 005b lsls r3, r3, #1 804348a: 1ad1 subs r1, r2, r3 804348c: b2cb uxtb r3, r1 804348e: f887 306c strb.w r3, [r7, #108] ; 0x6c switch(menupos) 8043492: 4b68 ldr r3, [pc, #416] ; (8043634 ) 8043494: 781b ldrb r3, [r3, #0] 8043496: b2db uxtb r3, r3 8043498: 3b0c subs r3, #12 804349a: 2b05 cmp r3, #5 804349c: d869 bhi.n 8043572 804349e: a201 add r2, pc, #4 ; (adr r2, 80434a4 ) 80434a0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80434a4: 080434bd .word 0x080434bd 80434a8: 080434dd .word 0x080434dd 80434ac: 080434ff .word 0x080434ff 80434b0: 0804351f .word 0x0804351f 80434b4: 0804353b .word 0x0804353b 80434b8: 08043557 .word 0x08043557 { case Ies: if(k > 100000) k -= 100000; 80434bc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80434c0: 4a60 ldr r2, [pc, #384] ; (8043644 ) 80434c2: 4293 cmp r3, r2 80434c4: d906 bls.n 80434d4 80434c6: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80434ca: 4b63 ldr r3, [pc, #396] ; (8043658 ) 80434cc: 4413 add r3, r2 80434ce: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 80434d2: e04e b.n 8043572 else k = 0; 80434d4: 2300 movs r3, #0 80434d6: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80434da: e04a b.n 8043572 case Ied: if(k > 10000) k -= 10000; 80434dc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80434e0: f242 7210 movw r2, #10000 ; 0x2710 80434e4: 4293 cmp r3, r2 80434e6: d906 bls.n 80434f6 80434e8: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80434ec: 4b5b ldr r3, [pc, #364] ; (804365c ) 80434ee: 4413 add r3, r2 80434f0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 80434f4: e03d b.n 8043572 else k = 0; 80434f6: 2300 movs r3, #0 80434f8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 80434fc: e039 b.n 8043572 case Iee: if(k > 1000) k -= 1000; 80434fe: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043502: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 8043506: d906 bls.n 8043516 8043508: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804350c: f5a3 737a sub.w r3, r3, #1000 ; 0x3e8 8043510: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 8043514: e02d b.n 8043572 else k = 0; 8043516: 2300 movs r3, #0 8043518: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 804351c: e029 b.n 8043572 case Ikd: if(k > 100) k -= 100; 804351e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043522: 2b64 cmp r3, #100 ; 0x64 8043524: d905 bls.n 8043532 8043526: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804352a: 3b64 subs r3, #100 ; 0x64 804352c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 8043530: e01f b.n 8043572 else k = 0; 8043532: 2300 movs r3, #0 8043534: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043538: e01b b.n 8043572 case Iks: if(k > 10) k -= 10; 804353a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804353e: 2b0a cmp r3, #10 8043540: d905 bls.n 804354e 8043542: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043546: 3b0a subs r3, #10 8043548: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 804354c: e011 b.n 8043572 else k = 0; 804354e: 2300 movs r3, #0 8043550: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043554: e00d b.n 8043572 case Ikt: if(k > 1) k -= 1; 8043556: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804355a: 2b01 cmp r3, #1 804355c: d905 bls.n 804356a 804355e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043562: 3b01 subs r3, #1 8043564: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 else k = 0; break; 8043568: e002 b.n 8043570 else k = 0; 804356a: 2300 movs r3, #0 804356c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 break; 8043570: bf00 nop } if(k == 0) k = 1; 8043572: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043576: 2b00 cmp r3, #0 8043578: d102 bne.n 8043580 804357a: 2301 movs r3, #1 804357c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 pardata.IKK = (float32_t) k; 8043580: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8043584: ee07 3a90 vmov s15, r3 8043588: eef8 7a67 vcvt.f32.u32 s15, s15 804358c: 4b2a ldr r3, [pc, #168] ; (8043638 ) 804358e: edc3 7a04 vstr s15, [r3, #16] pardata.IKK *= 0.001f; 8043592: 4b29 ldr r3, [pc, #164] ; (8043638 ) 8043594: edd3 7a04 vldr s15, [r3, #16] 8043598: ed9f 7a31 vldr s14, [pc, #196] ; 8043660 804359c: ee67 7a87 vmul.f32 s15, s15, s14 80435a0: 4b25 ldr r3, [pc, #148] ; (8043638 ) 80435a2: edc3 7a04 vstr s15, [r3, #16] pardata.IKK += 0.0005f; 80435a6: 4b24 ldr r3, [pc, #144] ; (8043638 ) 80435a8: edd3 7a04 vldr s15, [r3, #16] 80435ac: ed9f 7a2d vldr s14, [pc, #180] ; 8043664 80435b0: ee77 7a87 vadd.f32 s15, s15, s14 80435b4: 4b20 ldr r3, [pc, #128] ; (8043638 ) 80435b6: edc3 7a04 vstr s15, [r3, #16] if(menupos < FormatDisk) menupos++; else menupos = Type; #endif #endif } break; 80435ba: e219 b.n 80439f0 focused = false; 80435bc: 4b2a ldr r3, [pc, #168] ; (8043668 ) 80435be: 2200 movs r2, #0 80435c0: 701a strb r2, [r3, #0] if(menupos < FormatDisk) menupos++; 80435c2: 4b1c ldr r3, [pc, #112] ; (8043634 ) 80435c4: 781b ldrb r3, [r3, #0] 80435c6: b2db uxtb r3, r3 80435c8: 2b04 cmp r3, #4 80435ca: d807 bhi.n 80435dc 80435cc: 4b19 ldr r3, [pc, #100] ; (8043634 ) 80435ce: 781b ldrb r3, [r3, #0] 80435d0: b2db uxtb r3, r3 80435d2: 3301 adds r3, #1 80435d4: b2da uxtb r2, r3 80435d6: 4b17 ldr r3, [pc, #92] ; (8043634 ) 80435d8: 701a strb r2, [r3, #0] break; 80435da: e209 b.n 80439f0 else menupos = Type; 80435dc: 4b15 ldr r3, [pc, #84] ; (8043634 ) 80435de: 2201 movs r2, #1 80435e0: 701a strb r2, [r3, #0] break; 80435e2: e205 b.n 80439f0 case DATETIME: if(menupos > TimeAll) 80435e4: 4b13 ldr r3, [pc, #76] ; (8043634 ) 80435e6: 781b ldrb r3, [r3, #0] 80435e8: b2db uxtb r3, r3 80435ea: 2b02 cmp r3, #2 80435ec: d952 bls.n 8043694 { switch(menupos) 80435ee: 4b11 ldr r3, [pc, #68] ; (8043634 ) 80435f0: 781b ldrb r3, [r3, #0] 80435f2: b2db uxtb r3, r3 80435f4: 3b03 subs r3, #3 80435f6: 2b04 cmp r3, #4 80435f8: f200 81e7 bhi.w 80439ca 80435fc: a201 add r2, pc, #4 ; (adr r2, 8043604 ) 80435fe: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8043602: bf00 nop 8043604: 08043619 .word 0x08043619 8043608: 08043627 .word 0x08043627 804360c: 0804366d .word 0x0804366d 8043610: 0804367b .word 0x0804367b 8043614: 08043687 .word 0x08043687 { case DateD: ChangeDate(-1, 0, 0); break; 8043618: 2200 movs r2, #0 804361a: 2100 movs r1, #0 804361c: f04f 30ff mov.w r0, #4294967295 8043620: f024 f858 bl 80676d4 8043624: e047 b.n 80436b6 case DateM: ChangeDate(0, -1, 0); break; 8043626: 2200 movs r2, #0 8043628: f04f 31ff mov.w r1, #4294967295 804362c: 2000 movs r0, #0 804362e: f024 f851 bl 80676d4 8043632: e040 b.n 80436b6 8043634: 20020070 .word 0x20020070 8043638: 20023e60 .word 0x20023e60 804363c: 447a0000 .word 0x447a0000 8043640: 0a7c5ac5 .word 0x0a7c5ac5 8043644: 000186a0 .word 0x000186a0 8043648: d1b71759 .word 0xd1b71759 804364c: 10624dd3 .word 0x10624dd3 8043650: 51eb851f .word 0x51eb851f 8043654: cccccccd .word 0xcccccccd 8043658: fffe7960 .word 0xfffe7960 804365c: ffffd8f0 .word 0xffffd8f0 8043660: 3a83126f .word 0x3a83126f 8043664: 3a03126f .word 0x3a03126f 8043668: 20020f84 .word 0x20020f84 case DateY: ChangeDate(0, 0, -1); break; 804366c: f04f 32ff mov.w r2, #4294967295 8043670: 2100 movs r1, #0 8043672: 2000 movs r0, #0 8043674: f024 f82e bl 80676d4 8043678: e01d b.n 80436b6 case TimeH: ChangeTime(-1, 0); break; 804367a: 2100 movs r1, #0 804367c: f04f 30ff mov.w r0, #4294967295 8043680: f023 ffbe bl 8067600 8043684: e017 b.n 80436b6 case TimeM: ChangeTime(0, -1); break; 8043686: f04f 31ff mov.w r1, #4294967295 804368a: 2000 movs r0, #0 804368c: f023 ffb8 bl 8067600 8043690: bf00 nop 8043692: e010 b.n 80436b6 } } else { if(menupos < TimeAll) menupos++; 8043694: 4b8e ldr r3, [pc, #568] ; (80438d0 ) 8043696: 781b ldrb r3, [r3, #0] 8043698: b2db uxtb r3, r3 804369a: 2b01 cmp r3, #1 804369c: d807 bhi.n 80436ae 804369e: 4b8c ldr r3, [pc, #560] ; (80438d0 ) 80436a0: 781b ldrb r3, [r3, #0] 80436a2: b2db uxtb r3, r3 80436a4: 3301 adds r3, #1 80436a6: b2da uxtb r2, r3 80436a8: 4b89 ldr r3, [pc, #548] ; (80438d0 ) 80436aa: 701a strb r2, [r3, #0] else menupos = DateAll; } break; 80436ac: e18d b.n 80439ca else menupos = DateAll; 80436ae: 4b88 ldr r3, [pc, #544] ; (80438d0 ) 80436b0: 2201 movs r2, #1 80436b2: 701a strb r2, [r3, #0] break; 80436b4: e189 b.n 80439ca 80436b6: e188 b.n 80439ca case CLEAN_FILES: if(menupos == FilesPTM) 80436b8: 4b85 ldr r3, [pc, #532] ; (80438d0 ) 80436ba: 781b ldrb r3, [r3, #0] 80436bc: b2db uxtb r3, r3 80436be: 2b02 cmp r3, #2 80436c0: f040 8186 bne.w 80439d0 { if((CursorIndex + 1) < VIEW_FILES) 80436c4: 4b83 ldr r3, [pc, #524] ; (80438d4 ) 80436c6: 681b ldr r3, [r3, #0] 80436c8: 3301 adds r3, #1 80436ca: 2b0b cmp r3, #11 80436cc: d80f bhi.n 80436ee { if((FirstFileIndex + CursorIndex + 1) < NumFilesPTM) { 80436ce: 4b82 ldr r3, [pc, #520] ; (80438d8 ) 80436d0: 681a ldr r2, [r3, #0] 80436d2: 4b80 ldr r3, [pc, #512] ; (80438d4 ) 80436d4: 681b ldr r3, [r3, #0] 80436d6: 4413 add r3, r2 80436d8: 1c5a adds r2, r3, #1 80436da: 4b80 ldr r3, [pc, #512] ; (80438dc ) 80436dc: 681b ldr r3, [r3, #0] 80436de: 429a cmp r2, r3 80436e0: d21a bcs.n 8043718 CursorIndex++; 80436e2: 4b7c ldr r3, [pc, #496] ; (80438d4 ) 80436e4: 681b ldr r3, [r3, #0] 80436e6: 3301 adds r3, #1 80436e8: 4a7a ldr r2, [pc, #488] ; (80438d4 ) 80436ea: 6013 str r3, [r2, #0] 80436ec: e014 b.n 8043718 } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesPTM) 80436ee: 4b7a ldr r3, [pc, #488] ; (80438d8 ) 80436f0: 681b ldr r3, [r3, #0] 80436f2: f103 020c add.w r2, r3, #12 80436f6: 4b79 ldr r3, [pc, #484] ; (80438dc ) 80436f8: 681b ldr r3, [r3, #0] 80436fa: 429a cmp r2, r3 80436fc: d20c bcs.n 8043718 { FirstFileIndex++; 80436fe: 4b76 ldr r3, [pc, #472] ; (80438d8 ) 8043700: 681b ldr r3, [r3, #0] 8043702: 3301 adds r3, #1 8043704: 4a74 ldr r2, [pc, #464] ; (80438d8 ) 8043706: 6013 str r3, [r2, #0] result = ReadMyFilesPTM(FirstFileIndex); 8043708: 4b73 ldr r3, [pc, #460] ; (80438d8 ) 804370a: 681b ldr r3, [r3, #0] 804370c: 4618 mov r0, r3 804370e: f7e7 f9ef bl 802aaf0 8043712: 4603 mov r3, r0 8043714: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 { /* îøèáêà ÷òåíèÿ ñïèñêà ôàéëîâ*/ } } } RealFileIndex = FirstFileIndex + CursorIndex; 8043718: 4b6f ldr r3, [pc, #444] ; (80438d8 ) 804371a: 681a ldr r2, [r3, #0] 804371c: 4b6d ldr r3, [pc, #436] ; (80438d4 ) 804371e: 681b ldr r3, [r3, #0] 8043720: 4413 add r3, r2 8043722: 4a6f ldr r2, [pc, #444] ; (80438e0 ) 8043724: 6013 str r3, [r2, #0] } break; 8043726: e153 b.n 80439d0 case ARCHIVE: if(menupos < ArchiveWave) menupos++; 8043728: 4b69 ldr r3, [pc, #420] ; (80438d0 ) 804372a: 781b ldrb r3, [r3, #0] 804372c: b2db uxtb r3, r3 804372e: 2b01 cmp r3, #1 8043730: d807 bhi.n 8043742 8043732: 4b67 ldr r3, [pc, #412] ; (80438d0 ) 8043734: 781b ldrb r3, [r3, #0] 8043736: b2db uxtb r3, r3 8043738: 3301 adds r3, #1 804373a: b2da uxtb r2, r3 804373c: 4b64 ldr r3, [pc, #400] ; (80438d0 ) 804373e: 701a strb r2, [r3, #0] else menupos = Ok; break; 8043740: e156 b.n 80439f0 else menupos = Ok; 8043742: 4b63 ldr r3, [pc, #396] ; (80438d0 ) 8043744: 2200 movs r2, #0 8043746: 701a strb r2, [r3, #0] break; 8043748: e152 b.n 80439f0 case ARCHIVE_SPEC: if(menupos == FilesSPEC) 804374a: 4b61 ldr r3, [pc, #388] ; (80438d0 ) 804374c: 781b ldrb r3, [r3, #0] 804374e: b2db uxtb r3, r3 8043750: 2b02 cmp r3, #2 8043752: f040 8140 bne.w 80439d6 { if((CursorIndex + 1) < VIEW_FILES) 8043756: 4b5f ldr r3, [pc, #380] ; (80438d4 ) 8043758: 681b ldr r3, [r3, #0] 804375a: 3301 adds r3, #1 804375c: 2b0b cmp r3, #11 804375e: d80f bhi.n 8043780 { if((FirstFileIndex + CursorIndex + 1) < NumFilesSPEC) { 8043760: 4b5d ldr r3, [pc, #372] ; (80438d8 ) 8043762: 681a ldr r2, [r3, #0] 8043764: 4b5b ldr r3, [pc, #364] ; (80438d4 ) 8043766: 681b ldr r3, [r3, #0] 8043768: 4413 add r3, r2 804376a: 1c5a adds r2, r3, #1 804376c: 4b5d ldr r3, [pc, #372] ; (80438e4 ) 804376e: 681b ldr r3, [r3, #0] 8043770: 429a cmp r2, r3 8043772: d21a bcs.n 80437aa CursorIndex++; 8043774: 4b57 ldr r3, [pc, #348] ; (80438d4 ) 8043776: 681b ldr r3, [r3, #0] 8043778: 3301 adds r3, #1 804377a: 4a56 ldr r2, [pc, #344] ; (80438d4 ) 804377c: 6013 str r3, [r2, #0] 804377e: e014 b.n 80437aa } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesSPEC) 8043780: 4b55 ldr r3, [pc, #340] ; (80438d8 ) 8043782: 681b ldr r3, [r3, #0] 8043784: f103 020c add.w r2, r3, #12 8043788: 4b56 ldr r3, [pc, #344] ; (80438e4 ) 804378a: 681b ldr r3, [r3, #0] 804378c: 429a cmp r2, r3 804378e: d20c bcs.n 80437aa { FirstFileIndex++; 8043790: 4b51 ldr r3, [pc, #324] ; (80438d8 ) 8043792: 681b ldr r3, [r3, #0] 8043794: 3301 adds r3, #1 8043796: 4a50 ldr r2, [pc, #320] ; (80438d8 ) 8043798: 6013 str r3, [r2, #0] result = ReadMyFilesSPEC(FirstFileIndex); 804379a: 4b4f ldr r3, [pc, #316] ; (80438d8 ) 804379c: 681b ldr r3, [r3, #0] 804379e: 4618 mov r0, r3 80437a0: f7e7 f9c0 bl 802ab24 80437a4: 4603 mov r3, r0 80437a6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 80437aa: 4b4b ldr r3, [pc, #300] ; (80438d8 ) 80437ac: 681a ldr r2, [r3, #0] 80437ae: 4b49 ldr r3, [pc, #292] ; (80438d4 ) 80437b0: 681b ldr r3, [r3, #0] 80437b2: 4413 add r3, r2 80437b4: 4a4a ldr r2, [pc, #296] ; (80438e0 ) 80437b6: 6013 str r3, [r2, #0] } break; 80437b8: e10d b.n 80439d6 case ARCHIVE_FRAN: if(menupos == FilesFRAN) 80437ba: 4b45 ldr r3, [pc, #276] ; (80438d0 ) 80437bc: 781b ldrb r3, [r3, #0] 80437be: b2db uxtb r3, r3 80437c0: 2b02 cmp r3, #2 80437c2: f040 810b bne.w 80439dc { if((CursorIndex + 1) < VIEW_FILES) 80437c6: 4b43 ldr r3, [pc, #268] ; (80438d4 ) 80437c8: 681b ldr r3, [r3, #0] 80437ca: 3301 adds r3, #1 80437cc: 2b0b cmp r3, #11 80437ce: d80f bhi.n 80437f0 { if((FirstFileIndex + CursorIndex + 1) < NumFilesFRAN) { 80437d0: 4b41 ldr r3, [pc, #260] ; (80438d8 ) 80437d2: 681a ldr r2, [r3, #0] 80437d4: 4b3f ldr r3, [pc, #252] ; (80438d4 ) 80437d6: 681b ldr r3, [r3, #0] 80437d8: 4413 add r3, r2 80437da: 1c5a adds r2, r3, #1 80437dc: 4b42 ldr r3, [pc, #264] ; (80438e8 ) 80437de: 681b ldr r3, [r3, #0] 80437e0: 429a cmp r2, r3 80437e2: d21a bcs.n 804381a CursorIndex++; 80437e4: 4b3b ldr r3, [pc, #236] ; (80438d4 ) 80437e6: 681b ldr r3, [r3, #0] 80437e8: 3301 adds r3, #1 80437ea: 4a3a ldr r2, [pc, #232] ; (80438d4 ) 80437ec: 6013 str r3, [r2, #0] 80437ee: e014 b.n 804381a } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesFRAN) 80437f0: 4b39 ldr r3, [pc, #228] ; (80438d8 ) 80437f2: 681b ldr r3, [r3, #0] 80437f4: f103 020c add.w r2, r3, #12 80437f8: 4b3b ldr r3, [pc, #236] ; (80438e8 ) 80437fa: 681b ldr r3, [r3, #0] 80437fc: 429a cmp r2, r3 80437fe: d20c bcs.n 804381a { FirstFileIndex++; 8043800: 4b35 ldr r3, [pc, #212] ; (80438d8 ) 8043802: 681b ldr r3, [r3, #0] 8043804: 3301 adds r3, #1 8043806: 4a34 ldr r2, [pc, #208] ; (80438d8 ) 8043808: 6013 str r3, [r2, #0] result = ReadMyFilesFRAN(FirstFileIndex); 804380a: 4b33 ldr r3, [pc, #204] ; (80438d8 ) 804380c: 681b ldr r3, [r3, #0] 804380e: 4618 mov r0, r3 8043810: f7e7 f995 bl 802ab3e 8043814: 4603 mov r3, r0 8043816: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 804381a: 4b2f ldr r3, [pc, #188] ; (80438d8 ) 804381c: 681a ldr r2, [r3, #0] 804381e: 4b2d ldr r3, [pc, #180] ; (80438d4 ) 8043820: 681b ldr r3, [r3, #0] 8043822: 4413 add r3, r2 8043824: 4a2e ldr r2, [pc, #184] ; (80438e0 ) 8043826: 6013 str r3, [r2, #0] } break; 8043828: e0d8 b.n 80439dc case ARCHIVE_WAVE: if(menupos == FilesGTR) 804382a: 4b29 ldr r3, [pc, #164] ; (80438d0 ) 804382c: 781b ldrb r3, [r3, #0] 804382e: b2db uxtb r3, r3 8043830: 2b02 cmp r3, #2 8043832: f040 80d6 bne.w 80439e2 { if((CursorIndex + 1) < VIEW_FILES) 8043836: 4b27 ldr r3, [pc, #156] ; (80438d4 ) 8043838: 681b ldr r3, [r3, #0] 804383a: 3301 adds r3, #1 804383c: 2b0b cmp r3, #11 804383e: d80f bhi.n 8043860 { if((FirstFileIndex + CursorIndex + 1) < NumFilesGTR) { 8043840: 4b25 ldr r3, [pc, #148] ; (80438d8 ) 8043842: 681a ldr r2, [r3, #0] 8043844: 4b23 ldr r3, [pc, #140] ; (80438d4 ) 8043846: 681b ldr r3, [r3, #0] 8043848: 4413 add r3, r2 804384a: 1c5a adds r2, r3, #1 804384c: 4b27 ldr r3, [pc, #156] ; (80438ec ) 804384e: 681b ldr r3, [r3, #0] 8043850: 429a cmp r2, r3 8043852: d21a bcs.n 804388a CursorIndex++; 8043854: 4b1f ldr r3, [pc, #124] ; (80438d4 ) 8043856: 681b ldr r3, [r3, #0] 8043858: 3301 adds r3, #1 804385a: 4a1e ldr r2, [pc, #120] ; (80438d4 ) 804385c: 6013 str r3, [r2, #0] 804385e: e014 b.n 804388a } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesGTR) 8043860: 4b1d ldr r3, [pc, #116] ; (80438d8 ) 8043862: 681b ldr r3, [r3, #0] 8043864: f103 020c add.w r2, r3, #12 8043868: 4b20 ldr r3, [pc, #128] ; (80438ec ) 804386a: 681b ldr r3, [r3, #0] 804386c: 429a cmp r2, r3 804386e: d20c bcs.n 804388a { FirstFileIndex++; 8043870: 4b19 ldr r3, [pc, #100] ; (80438d8 ) 8043872: 681b ldr r3, [r3, #0] 8043874: 3301 adds r3, #1 8043876: 4a18 ldr r2, [pc, #96] ; (80438d8 ) 8043878: 6013 str r3, [r2, #0] result = ReadMyFilesGTR(FirstFileIndex); 804387a: 4b17 ldr r3, [pc, #92] ; (80438d8 ) 804387c: 681b ldr r3, [r3, #0] 804387e: 4618 mov r0, r3 8043880: f7e7 f96a bl 802ab58 8043884: 4603 mov r3, r0 8043886: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 804388a: 4b13 ldr r3, [pc, #76] ; (80438d8 ) 804388c: 681a ldr r2, [r3, #0] 804388e: 4b11 ldr r3, [pc, #68] ; (80438d4 ) 8043890: 681b ldr r3, [r3, #0] 8043892: 4413 add r3, r2 8043894: 4a12 ldr r2, [pc, #72] ; (80438e0 ) 8043896: 6013 str r3, [r2, #0] } break; 8043898: e0a3 b.n 80439e2 case ROUTE: if(menupos == FilesCSV) 804389a: 4b0d ldr r3, [pc, #52] ; (80438d0 ) 804389c: 781b ldrb r3, [r3, #0] 804389e: b2db uxtb r3, r3 80438a0: 2b02 cmp r3, #2 80438a2: f040 80a1 bne.w 80439e8 { if((CursorIndex + 1) < VIEW_FILES) 80438a6: 4b0b ldr r3, [pc, #44] ; (80438d4 ) 80438a8: 681b ldr r3, [r3, #0] 80438aa: 3301 adds r3, #1 80438ac: 2b0b cmp r3, #11 80438ae: d821 bhi.n 80438f4 { if((FirstFileIndex + CursorIndex + 1) < NumFilesCSV) { 80438b0: 4b09 ldr r3, [pc, #36] ; (80438d8 ) 80438b2: 681a ldr r2, [r3, #0] 80438b4: 4b07 ldr r3, [pc, #28] ; (80438d4 ) 80438b6: 681b ldr r3, [r3, #0] 80438b8: 4413 add r3, r2 80438ba: 1c5a adds r2, r3, #1 80438bc: 4b0c ldr r3, [pc, #48] ; (80438f0 ) 80438be: 681b ldr r3, [r3, #0] 80438c0: 429a cmp r2, r3 80438c2: d22c bcs.n 804391e CursorIndex++; 80438c4: 4b03 ldr r3, [pc, #12] ; (80438d4 ) 80438c6: 681b ldr r3, [r3, #0] 80438c8: 3301 adds r3, #1 80438ca: 4a02 ldr r2, [pc, #8] ; (80438d4 ) 80438cc: 6013 str r3, [r2, #0] 80438ce: e026 b.n 804391e 80438d0: 20020070 .word 0x20020070 80438d4: 20020de0 .word 0x20020de0 80438d8: 20020de4 .word 0x20020de4 80438dc: 20020df4 .word 0x20020df4 80438e0: 20020de8 .word 0x20020de8 80438e4: 20020dfc .word 0x20020dfc 80438e8: 20020e00 .word 0x20020e00 80438ec: 20020e04 .word 0x20020e04 80438f0: 20020e08 .word 0x20020e08 } } else { if((FirstFileIndex + VIEW_FILES) < NumFilesCSV) 80438f4: 4bb7 ldr r3, [pc, #732] ; (8043bd4 ) 80438f6: 681b ldr r3, [r3, #0] 80438f8: f103 020c add.w r2, r3, #12 80438fc: 4bb6 ldr r3, [pc, #728] ; (8043bd8 ) 80438fe: 681b ldr r3, [r3, #0] 8043900: 429a cmp r2, r3 8043902: d20c bcs.n 804391e { FirstFileIndex++; 8043904: 4bb3 ldr r3, [pc, #716] ; (8043bd4 ) 8043906: 681b ldr r3, [r3, #0] 8043908: 3301 adds r3, #1 804390a: 4ab2 ldr r2, [pc, #712] ; (8043bd4 ) 804390c: 6013 str r3, [r2, #0] result = ReadMyFilesGTR(FirstFileIndex); 804390e: 4bb1 ldr r3, [pc, #708] ; (8043bd4 ) 8043910: 681b ldr r3, [r3, #0] 8043912: 4618 mov r0, r3 8043914: f7e7 f920 bl 802ab58 8043918: 4603 mov r3, r0 804391a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 } } RealFileIndex = FirstFileIndex + CursorIndex; 804391e: 4bad ldr r3, [pc, #692] ; (8043bd4 ) 8043920: 681a ldr r2, [r3, #0] 8043922: 4bae ldr r3, [pc, #696] ; (8043bdc ) 8043924: 681b ldr r3, [r3, #0] 8043926: 4413 add r3, r2 8043928: 4aad ldr r2, [pc, #692] ; (8043be0 ) 804392a: 6013 str r3, [r2, #0] } break; 804392c: e05c b.n 80439e8 case CALIBR_00: if(Serial[menupos] > 0x30) 804392e: 4bad ldr r3, [pc, #692] ; (8043be4 ) 8043930: 781b ldrb r3, [r3, #0] 8043932: b2db uxtb r3, r3 8043934: 461a mov r2, r3 8043936: 4bac ldr r3, [pc, #688] ; (8043be8 ) 8043938: 5c9b ldrb r3, [r3, r2] 804393a: 2b30 cmp r3, #48 ; 0x30 804393c: d957 bls.n 80439ee Serial[menupos]--; 804393e: 4ba9 ldr r3, [pc, #676] ; (8043be4 ) 8043940: 781b ldrb r3, [r3, #0] 8043942: b2db uxtb r3, r3 8043944: 4aa8 ldr r2, [pc, #672] ; (8043be8 ) 8043946: 5cd2 ldrb r2, [r2, r3] 8043948: 3a01 subs r2, #1 804394a: b2d1 uxtb r1, r2 804394c: 4aa6 ldr r2, [pc, #664] ; (8043be8 ) 804394e: 54d1 strb r1, [r2, r3] break; 8043950: e04d b.n 80439ee break; 8043952: bf00 nop 8043954: f00f ba18 b.w 8052d88 break; 8043958: bf00 nop 804395a: f00f ba15 b.w 8052d88 break; 804395e: bf00 nop 8043960: f00f ba12 b.w 8052d88 break; 8043964: bf00 nop 8043966: f00f ba0f b.w 8052d88 break; 804396a: bf00 nop 804396c: f00f ba0c b.w 8052d88 break; 8043970: bf00 nop 8043972: f00f ba09 b.w 8052d88 break; 8043976: bf00 nop 8043978: f00f ba06 b.w 8052d88 break; 804397c: bf00 nop 804397e: f00f ba03 b.w 8052d88 break; 8043982: bf00 nop 8043984: f00f ba00 b.w 8052d88 break; 8043988: bf00 nop 804398a: f00f b9fd b.w 8052d88 break; 804398e: bf00 nop 8043990: f00f b9fa b.w 8052d88 break; 8043994: bf00 nop 8043996: f00f b9f7 b.w 8052d88 break; 804399a: bf00 nop 804399c: f00f b9f4 b.w 8052d88 break; 80439a0: bf00 nop 80439a2: f00f b9f1 b.w 8052d88 break; 80439a6: bf00 nop 80439a8: f00f b9ee b.w 8052d88 break; 80439ac: bf00 nop 80439ae: f00f b9eb b.w 8052d88 break; 80439b2: bf00 nop 80439b4: f00f b9e8 b.w 8052d88 break; 80439b8: bf00 nop 80439ba: f00f b9e5 b.w 8052d88 break; 80439be: bf00 nop 80439c0: f00f b9e2 b.w 8052d88 break; 80439c4: bf00 nop 80439c6: f00f b9df b.w 8052d88 break; 80439ca: bf00 nop 80439cc: f00f b9dc b.w 8052d88 break; 80439d0: bf00 nop 80439d2: f00f b9d9 b.w 8052d88 break; 80439d6: bf00 nop 80439d8: f00f b9d6 b.w 8052d88 break; 80439dc: bf00 nop 80439de: f00f b9d3 b.w 8052d88 break; 80439e2: bf00 nop 80439e4: f00f b9d0 b.w 8052d88 break; 80439e8: bf00 nop 80439ea: f00f b9cd b.w 8052d88 break; 80439ee: bf00 nop } break; 80439f0: f00f b9ca b.w 8052d88 case KEY_LT: //TODO KEY LEFT switch(menu) 80439f4: 4b7d ldr r3, [pc, #500] ; (8043bec ) 80439f6: 781b ldrb r3, [r3, #0] 80439f8: b2db uxtb r3, r3 80439fa: 2b47 cmp r3, #71 ; 0x47 80439fc: f20f 81c6 bhi.w 8052d8c 8043a00: a201 add r2, pc, #4 ; (adr r2, 8043a08 ) 8043a02: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8043a06: bf00 nop 8043a08: 08044321 .word 0x08044321 8043a0c: 08044785 .word 0x08044785 8043a10: 08046151 .word 0x08046151 8043a14: 0804497d .word 0x0804497d 8043a18: 08045cd5 .word 0x08045cd5 8043a1c: 08052d8d .word 0x08052d8d 8043a20: 08044cab .word 0x08044cab 8043a24: 08044ed5 .word 0x08044ed5 8043a28: 080458e1 .word 0x080458e1 8043a2c: 08052d8d .word 0x08052d8d 8043a30: 08045dbb .word 0x08045dbb 8043a34: 08052d8d .word 0x08052d8d 8043a38: 08052d8d .word 0x08052d8d 8043a3c: 08044a5d .word 0x08044a5d 8043a40: 080449c5 .word 0x080449c5 8043a44: 08043b29 .word 0x08043b29 8043a48: 08046151 .word 0x08046151 8043a4c: 08043bfd .word 0x08043bfd 8043a50: 08045edf .word 0x08045edf 8043a54: 08046095 .word 0x08046095 8043a58: 08046151 .word 0x08046151 8043a5c: 080448a1 .word 0x080448a1 8043a60: 080448d1 .word 0x080448d1 8043a64: 08044915 .word 0x08044915 8043a68: 08045fd9 .word 0x08045fd9 8043a6c: 0804602b .word 0x0804602b 8043a70: 08052d8d .word 0x08052d8d 8043a74: 08052d8d .word 0x08052d8d 8043a78: 08044511 .word 0x08044511 8043a7c: 0804437d .word 0x0804437d 8043a80: 0804470b .word 0x0804470b 8043a84: 08044321 .word 0x08044321 8043a88: 08044761 .word 0x08044761 8043a8c: 08044511 .word 0x08044511 8043a90: 080446bf .word 0x080446bf 8043a94: 080446e5 .word 0x080446e5 8043a98: 08044511 .word 0x08044511 8043a9c: 08046151 .word 0x08046151 8043aa0: 080442d5 .word 0x080442d5 8043aa4: 08052d8d .word 0x08052d8d 8043aa8: 08044511 .word 0x08044511 8043aac: 080447d7 .word 0x080447d7 8043ab0: 08044815 .word 0x08044815 8043ab4: 08044853 .word 0x08044853 8043ab8: 08044853 .word 0x08044853 8043abc: 08044853 .word 0x08044853 8043ac0: 08052d8d .word 0x08052d8d 8043ac4: 08044853 .word 0x08044853 8043ac8: 08044853 .word 0x08044853 8043acc: 08044853 .word 0x08044853 8043ad0: 08044853 .word 0x08044853 8043ad4: 08044853 .word 0x08044853 8043ad8: 080460f3 .word 0x080460f3 8043adc: 0804610d .word 0x0804610d 8043ae0: 0804610d .word 0x0804610d 8043ae4: 0804610d .word 0x0804610d 8043ae8: 0804610d .word 0x0804610d 8043aec: 0804610d .word 0x0804610d 8043af0: 0804610d .word 0x0804610d 8043af4: 0804610d .word 0x0804610d 8043af8: 0804610d .word 0x0804610d 8043afc: 0804610d .word 0x0804610d 8043b00: 08046127 .word 0x08046127 8043b04: 08046127 .word 0x08046127 8043b08: 08046127 .word 0x08046127 8043b0c: 08052d8d .word 0x08052d8d 8043b10: 08052d8d .word 0x08052d8d 8043b14: 08052d8d .word 0x08052d8d 8043b18: 08052d8d .word 0x08052d8d 8043b1c: 080442af .word 0x080442af 8043b20: 080442af .word 0x080442af 8043b24: 080442af .word 0x080442af { case PARAM_DIAGN: switch(menupos) 8043b28: 4b2e ldr r3, [pc, #184] ; (8043be4 ) 8043b2a: 781b ldrb r3, [r3, #0] 8043b2c: b2db uxtb r3, r3 8043b2e: 3b01 subs r3, #1 8043b30: 2b09 cmp r3, #9 8043b32: f202 8310 bhi.w 8046156 8043b36: a201 add r2, pc, #4 ; (adr r2, 8043b3c ) 8043b38: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8043b3c: 08043b65 .word 0x08043b65 8043b40: 08046157 .word 0x08046157 8043b44: 08046157 .word 0x08046157 8043b48: 08043bc1 .word 0x08043bc1 8043b4c: 08043b91 .word 0x08043b91 8043b50: 08043bb9 .word 0x08043bb9 8043b54: 08043bb1 .word 0x08043bb1 8043b58: 08043ba9 .word 0x08043ba9 8043b5c: 08043ba1 .word 0x08043ba1 8043b60: 08043b99 .word 0x08043b99 { case DiagAverage: if(focused) 8043b64: 4b22 ldr r3, [pc, #136] ; (8043bf0 ) 8043b66: 781b ldrb r3, [r3, #0] 8043b68: b2db uxtb r3, r3 8043b6a: 2b00 cmp r3, #0 8043b6c: d02e beq.n 8043bcc { if(pardata.AVG > AVG1) pardata.AVG--; 8043b6e: 4b21 ldr r3, [pc, #132] ; (8043bf4 ) 8043b70: 7b5b ldrb r3, [r3, #13] 8043b72: b2db uxtb r3, r3 8043b74: 2b00 cmp r3, #0 8043b76: d007 beq.n 8043b88 8043b78: 4b1e ldr r3, [pc, #120] ; (8043bf4 ) 8043b7a: 7b5b ldrb r3, [r3, #13] 8043b7c: b2db uxtb r3, r3 8043b7e: 3b01 subs r3, #1 8043b80: b2da uxtb r2, r3 8043b82: 4b1c ldr r3, [pc, #112] ; (8043bf4 ) 8043b84: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } break; 8043b86: e021 b.n 8043bcc else pardata.AVG = AVG512; 8043b88: 4b1a ldr r3, [pc, #104] ; (8043bf4 ) 8043b8a: 2209 movs r2, #9 8043b8c: 735a strb r2, [r3, #13] break; 8043b8e: e01d b.n 8043bcc case DiagMax_IDT: menupos = DiagMax_IKD; break; 8043b90: 4b14 ldr r3, [pc, #80] ; (8043be4 ) 8043b92: 220a movs r2, #10 8043b94: 701a strb r2, [r3, #0] 8043b96: e01a b.n 8043bce case DiagMax_IKD: menupos = DiagMax_IEE; break; 8043b98: 4b12 ldr r3, [pc, #72] ; (8043be4 ) 8043b9a: 2209 movs r2, #9 8043b9c: 701a strb r2, [r3, #0] 8043b9e: e016 b.n 8043bce case DiagMax_IEE: menupos = DiagMax_IED; break; 8043ba0: 4b10 ldr r3, [pc, #64] ; (8043be4 ) 8043ba2: 2208 movs r2, #8 8043ba4: 701a strb r2, [r3, #0] 8043ba6: e012 b.n 8043bce case DiagMax_IED: menupos = DiagMax_IES; break; 8043ba8: 4b0e ldr r3, [pc, #56] ; (8043be4 ) 8043baa: 2207 movs r2, #7 8043bac: 701a strb r2, [r3, #0] 8043bae: e00e b.n 8043bce case DiagMax_IES: menupos = DiagMax_IET; break; 8043bb0: 4b0c ldr r3, [pc, #48] ; (8043be4 ) 8043bb2: 2206 movs r2, #6 8043bb4: 701a strb r2, [r3, #0] 8043bb6: e00a b.n 8043bce case DiagMax_IET: menupos = DiagMax_IDT; break; 8043bb8: 4b0a ldr r3, [pc, #40] ; (8043be4 ) 8043bba: 2205 movs r2, #5 8043bbc: 701a strb r2, [r3, #0] 8043bbe: e006 b.n 8043bce case DiagSaveToFile: memset(DiagFileName, 0, sizeof(DiagFileName)); 8043bc0: 2221 movs r2, #33 ; 0x21 8043bc2: 2100 movs r1, #0 8043bc4: 480c ldr r0, [pc, #48] ; (8043bf8 ) 8043bc6: f089 fa5b bl 80cd080 break; 8043bca: e000 b.n 8043bce break; 8043bcc: bf00 nop } break; 8043bce: f002 bac2 b.w 8046156 8043bd2: bf00 nop 8043bd4: 20020de4 .word 0x20020de4 8043bd8: 20020e08 .word 0x20020e08 8043bdc: 20020de0 .word 0x20020de0 8043be0: 20020de8 .word 0x20020de8 8043be4: 20020070 .word 0x20020070 8043be8: 20026d04 .word 0x20026d04 8043bec: 20020f78 .word 0x20020f78 8043bf0: 20020f84 .word 0x20020f84 8043bf4: 20023e60 .word 0x20023e60 8043bf8: 20020e7c .word 0x20020e7c case PARAM_DIAGN_1: //case ROUTE_MAP break; case PARAM_DIAGN_2: switch(menupos) 8043bfc: 4b6f ldr r3, [pc, #444] ; (8043dbc ) 8043bfe: 781b ldrb r3, [r3, #0] 8043c00: b2db uxtb r3, r3 8043c02: 3b01 subs r3, #1 8043c04: 2b23 cmp r3, #35 ; 0x23 8043c06: f202 82a9 bhi.w 804615c 8043c0a: a201 add r2, pc, #4 ; (adr r2, 8043c10 ) 8043c0c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8043c10: 08043ca1 .word 0x08043ca1 8043c14: 08043caf .word 0x08043caf 8043c18: 08043cf7 .word 0x08043cf7 8043c1c: 08043d05 .word 0x08043d05 8043c20: 08043d4b .word 0x08043d4b 8043c24: 0804615d .word 0x0804615d 8043c28: 08043d59 .word 0x08043d59 8043c2c: 08044075 .word 0x08044075 8043c30: 080441e3 .word 0x080441e3 8043c34: 080441e3 .word 0x080441e3 8043c38: 080441e3 .word 0x080441e3 8043c3c: 080441e3 .word 0x080441e3 8043c40: 080441eb .word 0x080441eb 8043c44: 08044213 .word 0x08044213 8043c48: 0804420b .word 0x0804420b 8043c4c: 08044203 .word 0x08044203 8043c50: 080441fb .word 0x080441fb 8043c54: 080441f3 .word 0x080441f3 8043c58: 0804421b .word 0x0804421b 8043c5c: 08044243 .word 0x08044243 8043c60: 0804423b .word 0x0804423b 8043c64: 08044233 .word 0x08044233 8043c68: 0804422b .word 0x0804422b 8043c6c: 08044223 .word 0x08044223 8043c70: 0804424b .word 0x0804424b 8043c74: 08044273 .word 0x08044273 8043c78: 0804426b .word 0x0804426b 8043c7c: 08044263 .word 0x08044263 8043c80: 0804425b .word 0x0804425b 8043c84: 08044253 .word 0x08044253 8043c88: 0804427b .word 0x0804427b 8043c8c: 080442a3 .word 0x080442a3 8043c90: 0804429b .word 0x0804429b 8043c94: 08044293 .word 0x08044293 8043c98: 0804428b .word 0x0804428b 8043c9c: 08044283 .word 0x08044283 { case DiagUs1: menupos = DiagUs3; 8043ca0: 4b46 ldr r3, [pc, #280] ; (8043dbc ) 8043ca2: 2205 movs r2, #5 8043ca4: 701a strb r2, [r3, #0] CURR_USL = Us3; 8043ca6: 4b46 ldr r3, [pc, #280] ; (8043dc0 ) 8043ca8: 2202 movs r2, #2 8043caa: 701a strb r2, [r3, #0] break; 8043cac: e2fd b.n 80442aa case DiagOp1: if(!focused) 8043cae: 4b45 ldr r3, [pc, #276] ; (8043dc4 ) 8043cb0: 781b ldrb r3, [r3, #0] 8043cb2: b2db uxtb r3, r3 8043cb4: f083 0301 eor.w r3, r3, #1 8043cb8: b2db uxtb r3, r3 8043cba: 2b00 cmp r3, #0 8043cbc: d006 beq.n 8043ccc { menupos = DiagUs1; 8043cbe: 4b3f ldr r3, [pc, #252] ; (8043dbc ) 8043cc0: 2201 movs r2, #1 8043cc2: 701a strb r2, [r3, #0] CURR_USL = Us1; 8043cc4: 4b3e ldr r3, [pc, #248] ; (8043dc0 ) 8043cc6: 2200 movs r2, #0 8043cc8: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; } break; 8043cca: e2ee b.n 80442aa pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; 8043ccc: 4b3e ldr r3, [pc, #248] ; (8043dc8 ) 8043cce: 781b ldrb r3, [r3, #0] 8043cd0: b2db uxtb r3, r3 8043cd2: 4618 mov r0, r3 8043cd4: 4a3d ldr r2, [pc, #244] ; (8043dcc ) 8043cd6: 3386 adds r3, #134 ; 0x86 8043cd8: 009b lsls r3, r3, #2 8043cda: 4413 add r3, r2 8043cdc: 791b ldrb r3, [r3, #4] 8043cde: b2db uxtb r3, r3 8043ce0: f083 0301 eor.w r3, r3, #1 8043ce4: b2d9 uxtb r1, r3 8043ce6: 4a39 ldr r2, [pc, #228] ; (8043dcc ) 8043ce8: f100 0386 add.w r3, r0, #134 ; 0x86 8043cec: 009b lsls r3, r3, #2 8043cee: 4413 add r3, r2 8043cf0: 460a mov r2, r1 8043cf2: 711a strb r2, [r3, #4] break; 8043cf4: e2d9 b.n 80442aa case DiagUs2: menupos = DiagOp1; 8043cf6: 4b31 ldr r3, [pc, #196] ; (8043dbc ) 8043cf8: 2202 movs r2, #2 8043cfa: 701a strb r2, [r3, #0] CURR_USL = Us2; 8043cfc: 4b30 ldr r3, [pc, #192] ; (8043dc0 ) 8043cfe: 2201 movs r2, #1 8043d00: 701a strb r2, [r3, #0] break; 8043d02: e2d2 b.n 80442aa case DiagOp2: if(!focused) 8043d04: 4b2f ldr r3, [pc, #188] ; (8043dc4 ) 8043d06: 781b ldrb r3, [r3, #0] 8043d08: b2db uxtb r3, r3 8043d0a: f083 0301 eor.w r3, r3, #1 8043d0e: b2db uxtb r3, r3 8043d10: 2b00 cmp r3, #0 8043d12: d006 beq.n 8043d22 { menupos = DiagUs2; 8043d14: 4b29 ldr r3, [pc, #164] ; (8043dbc ) 8043d16: 2203 movs r2, #3 8043d18: 701a strb r2, [r3, #0] CURR_USL = Us2; 8043d1a: 4b29 ldr r3, [pc, #164] ; (8043dc0 ) 8043d1c: 2201 movs r2, #1 8043d1e: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; } break; 8043d20: e2c3 b.n 80442aa pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; 8043d22: 4b29 ldr r3, [pc, #164] ; (8043dc8 ) 8043d24: 781b ldrb r3, [r3, #0] 8043d26: b2db uxtb r3, r3 8043d28: 4618 mov r0, r3 8043d2a: 4a28 ldr r2, [pc, #160] ; (8043dcc ) 8043d2c: 009b lsls r3, r3, #2 8043d2e: 4413 add r3, r2 8043d30: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 8043d34: b2db uxtb r3, r3 8043d36: f083 0301 eor.w r3, r3, #1 8043d3a: b2d9 uxtb r1, r3 8043d3c: 4a23 ldr r2, [pc, #140] ; (8043dcc ) 8043d3e: 0083 lsls r3, r0, #2 8043d40: 4413 add r3, r2 8043d42: 460a mov r2, r1 8043d44: f883 221d strb.w r2, [r3, #541] ; 0x21d break; 8043d48: e2af b.n 80442aa case DiagUs3: menupos = DiagOp2; 8043d4a: 4b1c ldr r3, [pc, #112] ; (8043dbc ) 8043d4c: 2204 movs r2, #4 8043d4e: 701a strb r2, [r3, #0] CURR_USL = Us3; 8043d50: 4b1b ldr r3, [pc, #108] ; (8043dc0 ) 8043d52: 2202 movs r2, #2 8043d54: 701a strb r2, [r3, #0] break; 8043d56: e2a8 b.n 80442aa case DiagAVS: if(focused) 8043d58: 4b1a ldr r3, [pc, #104] ; (8043dc4 ) 8043d5a: 781b ldrb r3, [r3, #0] 8043d5c: b2db uxtb r3, r3 8043d5e: 2b00 cmp r3, #0 8043d60: f000 8184 beq.w 804406c { tmp8 = pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7; 8043d64: 4b18 ldr r3, [pc, #96] ; (8043dc8 ) 8043d66: 781b ldrb r3, [r3, #0] 8043d68: b2db uxtb r3, r3 8043d6a: 4618 mov r0, r3 8043d6c: 4b14 ldr r3, [pc, #80] ; (8043dc0 ) 8043d6e: 781b ldrb r3, [r3, #0] 8043d70: b2db uxtb r3, r3 8043d72: 4619 mov r1, r3 8043d74: 4a15 ldr r2, [pc, #84] ; (8043dcc ) 8043d76: 0083 lsls r3, r0, #2 8043d78: 4413 add r3, r2 8043d7a: 440b add r3, r1 8043d7c: f503 730f add.w r3, r3, #572 ; 0x23c 8043d80: 781b ldrb r3, [r3, #0] 8043d82: b2db uxtb r3, r3 8043d84: f003 0307 and.w r3, r3, #7 8043d88: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_NO) tmp8 = DIAGN_DIS; 8043d8c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043d90: 2b00 cmp r3, #0 8043d92: d103 bne.n 8043d9c 8043d94: 2304 movs r3, #4 8043d96: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8043d9a: e020 b.n 8043dde else if(tmp8 == DIAGN_DIS) tmp8 = DIAGN_VEL; 8043d9c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043da0: 2b04 cmp r3, #4 8043da2: d103 bne.n 8043dac 8043da4: 2302 movs r3, #2 8043da6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8043daa: e018 b.n 8043dde else if(tmp8 == DIAGN_VEL) tmp8 = DIAGN_ACC; 8043dac: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043db0: 2b02 cmp r3, #2 8043db2: d10d bne.n 8043dd0 8043db4: 2301 movs r3, #1 8043db6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8043dba: e010 b.n 8043dde 8043dbc: 20020070 .word 0x20020070 8043dc0: 20021013 .word 0x20021013 8043dc4: 20020f84 .word 0x20020f84 8043dc8: 20021011 .word 0x20021011 8043dcc: 20023e60 .word 0x20023e60 else if(tmp8 == DIAGN_ACC) tmp8 = DIAGN_NO; 8043dd0: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043dd4: 2b01 cmp r3, #1 8043dd6: d102 bne.n 8043dde 8043dd8: 2300 movs r3, #0 8043dda: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0xf8; 8043dde: 4bc6 ldr r3, [pc, #792] ; (80440f8 ) 8043de0: 781b ldrb r3, [r3, #0] 8043de2: b2da uxtb r2, r3 8043de4: 4614 mov r4, r2 8043de6: 4bc5 ldr r3, [pc, #788] ; (80440fc ) 8043de8: 781b ldrb r3, [r3, #0] 8043dea: b2db uxtb r3, r3 8043dec: 4618 mov r0, r3 8043dee: 4615 mov r5, r2 8043df0: 4619 mov r1, r3 8043df2: 4ac3 ldr r2, [pc, #780] ; (8044100 ) 8043df4: 00ab lsls r3, r5, #2 8043df6: 4413 add r3, r2 8043df8: 440b add r3, r1 8043dfa: f503 730f add.w r3, r3, #572 ; 0x23c 8043dfe: 781b ldrb r3, [r3, #0] 8043e00: b2db uxtb r3, r3 8043e02: f023 0307 bic.w r3, r3, #7 8043e06: b2d9 uxtb r1, r3 8043e08: 4abd ldr r2, [pc, #756] ; (8044100 ) 8043e0a: 00a3 lsls r3, r4, #2 8043e0c: 4413 add r3, r2 8043e0e: 4403 add r3, r0 8043e10: f503 730f add.w r3, r3, #572 ; 0x23c 8043e14: 460a mov r2, r1 8043e16: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= tmp8; 8043e18: 4bb7 ldr r3, [pc, #732] ; (80440f8 ) 8043e1a: 781b ldrb r3, [r3, #0] 8043e1c: b2da uxtb r2, r3 8043e1e: 4614 mov r4, r2 8043e20: 4bb6 ldr r3, [pc, #728] ; (80440fc ) 8043e22: 781b ldrb r3, [r3, #0] 8043e24: b2db uxtb r3, r3 8043e26: 4618 mov r0, r3 8043e28: 4615 mov r5, r2 8043e2a: 4619 mov r1, r3 8043e2c: 4ab4 ldr r2, [pc, #720] ; (8044100 ) 8043e2e: 00ab lsls r3, r5, #2 8043e30: 4413 add r3, r2 8043e32: 440b add r3, r1 8043e34: f503 730f add.w r3, r3, #572 ; 0x23c 8043e38: 781b ldrb r3, [r3, #0] 8043e3a: b2da uxtb r2, r3 8043e3c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043e40: 4313 orrs r3, r2 8043e42: b2d9 uxtb r1, r3 8043e44: 4aae ldr r2, [pc, #696] ; (8044100 ) 8043e46: 00a3 lsls r3, r4, #2 8043e48: 4413 add r3, r2 8043e4a: 4403 add r3, r0 8043e4c: f503 730f add.w r3, r3, #572 ; 0x23c 8043e50: 460a mov r2, r1 8043e52: 701a strb r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) > DIAGN_ACC) 8043e54: 4ba8 ldr r3, [pc, #672] ; (80440f8 ) 8043e56: 781b ldrb r3, [r3, #0] 8043e58: b2db uxtb r3, r3 8043e5a: 4618 mov r0, r3 8043e5c: 4ba7 ldr r3, [pc, #668] ; (80440fc ) 8043e5e: 781b ldrb r3, [r3, #0] 8043e60: b2db uxtb r3, r3 8043e62: 4619 mov r1, r3 8043e64: 4aa6 ldr r2, [pc, #664] ; (8044100 ) 8043e66: 0083 lsls r3, r0, #2 8043e68: 4413 add r3, r2 8043e6a: 440b add r3, r1 8043e6c: f503 730f add.w r3, r3, #572 ; 0x23c 8043e70: 781b ldrb r3, [r3, #0] 8043e72: b2db uxtb r3, r3 8043e74: f003 0307 and.w r3, r3, #7 8043e78: 2b01 cmp r3, #1 8043e7a: f340 8086 ble.w 8043f8a { if(pardata.DIAGN_HP[CURR_POINT][CURR_USL] < 2.0f) 8043e7e: 4b9e ldr r3, [pc, #632] ; (80440f8 ) 8043e80: 781b ldrb r3, [r3, #0] 8043e82: b2db uxtb r3, r3 8043e84: 4618 mov r0, r3 8043e86: 4b9d ldr r3, [pc, #628] ; (80440fc ) 8043e88: 781b ldrb r3, [r3, #0] 8043e8a: b2db uxtb r3, r3 8043e8c: 4619 mov r1, r3 8043e8e: 4a9c ldr r2, [pc, #624] ; (8044100 ) 8043e90: 0083 lsls r3, r0, #2 8043e92: 440b add r3, r1 8043e94: 3396 adds r3, #150 ; 0x96 8043e96: 009b lsls r3, r3, #2 8043e98: 4413 add r3, r2 8043e9a: 3304 adds r3, #4 8043e9c: edd3 7a00 vldr s15, [r3] 8043ea0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8043ea4: eef4 7ac7 vcmpe.f32 s15, s14 8043ea8: eef1 fa10 vmrs APSR_nzcv, fpscr 8043eac: d511 bpl.n 8043ed2 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 8043eae: 4b92 ldr r3, [pc, #584] ; (80440f8 ) 8043eb0: 781b ldrb r3, [r3, #0] 8043eb2: b2db uxtb r3, r3 8043eb4: 4618 mov r0, r3 8043eb6: 4b91 ldr r3, [pc, #580] ; (80440fc ) 8043eb8: 781b ldrb r3, [r3, #0] 8043eba: b2db uxtb r3, r3 8043ebc: 4619 mov r1, r3 8043ebe: 4a90 ldr r2, [pc, #576] ; (8044100 ) 8043ec0: 0083 lsls r3, r0, #2 8043ec2: 440b add r3, r1 8043ec4: 3396 adds r3, #150 ; 0x96 8043ec6: 009b lsls r3, r3, #2 8043ec8: 4413 add r3, r2 8043eca: 3304 adds r3, #4 8043ecc: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8043ed0: 601a str r2, [r3, #0] tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 8043ed2: 4b89 ldr r3, [pc, #548] ; (80440f8 ) 8043ed4: 781b ldrb r3, [r3, #0] 8043ed6: b2db uxtb r3, r3 8043ed8: 4618 mov r0, r3 8043eda: 4b88 ldr r3, [pc, #544] ; (80440fc ) 8043edc: 781b ldrb r3, [r3, #0] 8043ede: b2db uxtb r3, r3 8043ee0: 4619 mov r1, r3 8043ee2: 4a87 ldr r2, [pc, #540] ; (8044100 ) 8043ee4: 0083 lsls r3, r0, #2 8043ee6: 4413 add r3, r2 8043ee8: 440b add r3, r1 8043eea: f503 730f add.w r3, r3, #572 ; 0x23c 8043eee: 781b ldrb r3, [r3, #0] 8043ef0: b2db uxtb r3, r3 8043ef2: 08db lsrs r3, r3, #3 8043ef4: b2db uxtb r3, r3 8043ef6: f003 031f and.w r3, r3, #31 8043efa: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_EXCESS) { 8043efe: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043f02: 2b10 cmp r3, #16 8043f04: d102 bne.n 8043f0c tmp8 = DIAGN_PEAK; 8043f06: 2301 movs r3, #1 8043f08: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 } pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 8043f0c: 4b7a ldr r3, [pc, #488] ; (80440f8 ) 8043f0e: 781b ldrb r3, [r3, #0] 8043f10: b2da uxtb r2, r3 8043f12: 4614 mov r4, r2 8043f14: 4b79 ldr r3, [pc, #484] ; (80440fc ) 8043f16: 781b ldrb r3, [r3, #0] 8043f18: b2db uxtb r3, r3 8043f1a: 4618 mov r0, r3 8043f1c: 4615 mov r5, r2 8043f1e: 4619 mov r1, r3 8043f20: 4a77 ldr r2, [pc, #476] ; (8044100 ) 8043f22: 00ab lsls r3, r5, #2 8043f24: 4413 add r3, r2 8043f26: 440b add r3, r1 8043f28: f503 730f add.w r3, r3, #572 ; 0x23c 8043f2c: 781b ldrb r3, [r3, #0] 8043f2e: b2db uxtb r3, r3 8043f30: f003 0307 and.w r3, r3, #7 8043f34: b2d9 uxtb r1, r3 8043f36: 4a72 ldr r2, [pc, #456] ; (8044100 ) 8043f38: 00a3 lsls r3, r4, #2 8043f3a: 4413 add r3, r2 8043f3c: 4403 add r3, r0 8043f3e: f503 730f add.w r3, r3, #572 ; 0x23c 8043f42: 460a mov r2, r1 8043f44: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 8043f46: 4b6c ldr r3, [pc, #432] ; (80440f8 ) 8043f48: 781b ldrb r3, [r3, #0] 8043f4a: b2da uxtb r2, r3 8043f4c: 4614 mov r4, r2 8043f4e: 4b6b ldr r3, [pc, #428] ; (80440fc ) 8043f50: 781b ldrb r3, [r3, #0] 8043f52: b2db uxtb r3, r3 8043f54: 4618 mov r0, r3 8043f56: 4615 mov r5, r2 8043f58: 4619 mov r1, r3 8043f5a: 4a69 ldr r2, [pc, #420] ; (8044100 ) 8043f5c: 00ab lsls r3, r5, #2 8043f5e: 4413 add r3, r2 8043f60: 440b add r3, r1 8043f62: f503 730f add.w r3, r3, #572 ; 0x23c 8043f66: 781b ldrb r3, [r3, #0] 8043f68: b2db uxtb r3, r3 8043f6a: b25a sxtb r2, r3 8043f6c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8043f70: 00db lsls r3, r3, #3 8043f72: b25b sxtb r3, r3 8043f74: 4313 orrs r3, r2 8043f76: b25b sxtb r3, r3 8043f78: b2d9 uxtb r1, r3 8043f7a: 4a61 ldr r2, [pc, #388] ; (8044100 ) 8043f7c: 00a3 lsls r3, r4, #2 8043f7e: 4413 add r3, r2 8043f80: 4403 add r3, r0 8043f82: f503 730f add.w r3, r3, #572 ; 0x23c 8043f86: 460a mov r2, r1 8043f88: 701a strb r2, [r3, #0] } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.DIAGN_LP[CURR_POINT][CURR_USL]) + 0.00005f) < 5.0) 8043f8a: 4b5d ldr r3, [pc, #372] ; (8044100 ) 8043f8c: 7adb ldrb r3, [r3, #11] 8043f8e: b2db uxtb r3, r3 8043f90: 461a mov r2, r3 8043f92: 4b5c ldr r3, [pc, #368] ; (8044104 ) 8043f94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8043f98: ee07 3a90 vmov s15, r3 8043f9c: eeb8 5b67 vcvt.f64.u32 d5, s15 8043fa0: 4b55 ldr r3, [pc, #340] ; (80440f8 ) 8043fa2: 781b ldrb r3, [r3, #0] 8043fa4: b2db uxtb r3, r3 8043fa6: 4618 mov r0, r3 8043fa8: 4b54 ldr r3, [pc, #336] ; (80440fc ) 8043faa: 781b ldrb r3, [r3, #0] 8043fac: b2db uxtb r3, r3 8043fae: 4619 mov r1, r3 8043fb0: 4a53 ldr r2, [pc, #332] ; (8044100 ) 8043fb2: 0083 lsls r3, r0, #2 8043fb4: 440b add r3, r1 8043fb6: 33b6 adds r3, #182 ; 0xb6 8043fb8: 009b lsls r3, r3, #2 8043fba: 4413 add r3, r2 8043fbc: 3304 adds r3, #4 8043fbe: edd3 7a00 vldr s15, [r3] 8043fc2: eeb7 6ae7 vcvt.f64.f32 d6, s15 8043fc6: ee85 7b06 vdiv.f64 d7, d5, d6 8043fca: ed9f 6b47 vldr d6, [pc, #284] ; 80440e8 8043fce: ee37 7b06 vadd.f64 d7, d7, d6 8043fd2: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8043fd6: eeb4 7bc6 vcmpe.f64 d7, d6 8043fda: eef1 fa10 vmrs APSR_nzcv, fpscr 8043fde: d400 bmi.n 8043fe2 pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; } } else menupos = Ok; break; 8043fe0: e163 b.n 80442aa pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5); 8043fe2: 4b45 ldr r3, [pc, #276] ; (80440f8 ) 8043fe4: 781b ldrb r3, [r3, #0] 8043fe6: b2db uxtb r3, r3 8043fe8: 4618 mov r0, r3 8043fea: 4b44 ldr r3, [pc, #272] ; (80440fc ) 8043fec: 781b ldrb r3, [r3, #0] 8043fee: b2db uxtb r3, r3 8043ff0: 4619 mov r1, r3 8043ff2: 4b43 ldr r3, [pc, #268] ; (8044100 ) 8043ff4: 7adb ldrb r3, [r3, #11] 8043ff6: b2db uxtb r3, r3 8043ff8: 461a mov r2, r3 8043ffa: 4b42 ldr r3, [pc, #264] ; (8044104 ) 8043ffc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8044000: 4a41 ldr r2, [pc, #260] ; (8044108 ) 8044002: fba2 2303 umull r2, r3, r2, r3 8044006: 089b lsrs r3, r3, #2 8044008: ee07 3a90 vmov s15, r3 804400c: eef8 7a67 vcvt.f32.u32 s15, s15 8044010: 4a3b ldr r2, [pc, #236] ; (8044100 ) 8044012: 0083 lsls r3, r0, #2 8044014: 440b add r3, r1 8044016: 33b6 adds r3, #182 ; 0xb6 8044018: 009b lsls r3, r3, #2 804401a: 4413 add r3, r2 804401c: 3304 adds r3, #4 804401e: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; 8044022: 4b35 ldr r3, [pc, #212] ; (80440f8 ) 8044024: 781b ldrb r3, [r3, #0] 8044026: b2da uxtb r2, r3 8044028: 4610 mov r0, r2 804402a: 4b34 ldr r3, [pc, #208] ; (80440fc ) 804402c: 781b ldrb r3, [r3, #0] 804402e: b2db uxtb r3, r3 8044030: 4619 mov r1, r3 8044032: 4615 mov r5, r2 8044034: 461c mov r4, r3 8044036: 4a32 ldr r2, [pc, #200] ; (8044100 ) 8044038: 00ab lsls r3, r5, #2 804403a: 4423 add r3, r4 804403c: 33b6 adds r3, #182 ; 0xb6 804403e: 009b lsls r3, r3, #2 8044040: 4413 add r3, r2 8044042: 3304 adds r3, #4 8044044: edd3 7a00 vldr s15, [r3] 8044048: eeb7 7ae7 vcvt.f64.f32 d7, s15 804404c: ed9f 6b28 vldr d6, [pc, #160] ; 80440f0 8044050: ee37 7b06 vadd.f64 d7, d7, d6 8044054: eef7 7bc7 vcvt.f32.f64 s15, d7 8044058: 4a29 ldr r2, [pc, #164] ; (8044100 ) 804405a: 0083 lsls r3, r0, #2 804405c: 440b add r3, r1 804405e: 33b6 adds r3, #182 ; 0xb6 8044060: 009b lsls r3, r3, #2 8044062: 4413 add r3, r2 8044064: 3304 adds r3, #4 8044066: edc3 7a00 vstr s15, [r3] break; 804406a: e11e b.n 80442aa menupos = Ok; 804406c: 4b27 ldr r3, [pc, #156] ; (804410c ) 804406e: 2200 movs r2, #0 8044070: 701a strb r2, [r3, #0] break; 8044072: e11a b.n 80442aa case DiagValue: if(focused) 8044074: 4b26 ldr r3, [pc, #152] ; (8044110 ) 8044076: 781b ldrb r3, [r3, #0] 8044078: b2db uxtb r3, r3 804407a: 2b00 cmp r3, #0 804407c: f000 80ad beq.w 80441da { tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 8044080: 4b1d ldr r3, [pc, #116] ; (80440f8 ) 8044082: 781b ldrb r3, [r3, #0] 8044084: b2db uxtb r3, r3 8044086: 4618 mov r0, r3 8044088: 4b1c ldr r3, [pc, #112] ; (80440fc ) 804408a: 781b ldrb r3, [r3, #0] 804408c: b2db uxtb r3, r3 804408e: 4619 mov r1, r3 8044090: 4a1b ldr r2, [pc, #108] ; (8044100 ) 8044092: 0083 lsls r3, r0, #2 8044094: 4413 add r3, r2 8044096: 440b add r3, r1 8044098: f503 730f add.w r3, r3, #572 ; 0x23c 804409c: 781b ldrb r3, [r3, #0] 804409e: b2db uxtb r3, r3 80440a0: 08db lsrs r3, r3, #3 80440a2: b2db uxtb r3, r3 80440a4: f003 031f and.w r3, r3, #31 80440a8: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_PEAK) 80440ac: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80440b0: 2b01 cmp r3, #1 80440b2: d133 bne.n 804411c { if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 80440b4: 4b10 ldr r3, [pc, #64] ; (80440f8 ) 80440b6: 781b ldrb r3, [r3, #0] 80440b8: b2db uxtb r3, r3 80440ba: 4618 mov r0, r3 80440bc: 4b0f ldr r3, [pc, #60] ; (80440fc ) 80440be: 781b ldrb r3, [r3, #0] 80440c0: b2db uxtb r3, r3 80440c2: 4619 mov r1, r3 80440c4: 4a0e ldr r2, [pc, #56] ; (8044100 ) 80440c6: 0083 lsls r3, r0, #2 80440c8: 4413 add r3, r2 80440ca: 440b add r3, r1 80440cc: f503 730f add.w r3, r3, #572 ; 0x23c 80440d0: 781b ldrb r3, [r3, #0] 80440d2: b2db uxtb r3, r3 80440d4: f003 0307 and.w r3, r3, #7 80440d8: 2b01 cmp r3, #1 80440da: d11b bne.n 8044114 tmp8 = DIAGN_EXCESS; 80440dc: 2310 movs r3, #16 80440de: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80440e2: e03a b.n 804415a 80440e4: f3af 8000 nop.w 80440e8: e0000000 .word 0xe0000000 80440ec: 3f0a36e2 .word 0x3f0a36e2 80440f0: eb1c432d .word 0xeb1c432d 80440f4: 3f1a36e2 .word 0x3f1a36e2 80440f8: 20021011 .word 0x20021011 80440fc: 20021013 .word 0x20021013 8044100: 20023e60 .word 0x20023e60 8044104: 080ee8c8 .word 0x080ee8c8 8044108: cccccccd .word 0xcccccccd 804410c: 20020070 .word 0x20020070 8044110: 20020f84 .word 0x20020f84 else tmp8 = DIAGN_PEAK_FACTOR; 8044114: 2308 movs r3, #8 8044116: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804411a: e01e b.n 804415a } else if(tmp8 == DIAGN_EXCESS) tmp8 = DIAGN_PEAK_FACTOR; 804411c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044120: 2b10 cmp r3, #16 8044122: d103 bne.n 804412c 8044124: 2308 movs r3, #8 8044126: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804412a: e016 b.n 804415a else if(tmp8 == DIAGN_PEAK_FACTOR) tmp8 = DIAGN_PEAK_TO_PEAK; 804412c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044130: 2b08 cmp r3, #8 8044132: d103 bne.n 804413c 8044134: 2304 movs r3, #4 8044136: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804413a: e00e b.n 804415a else if(tmp8 == DIAGN_PEAK_TO_PEAK) tmp8 = DIAGN_RMS; 804413c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044140: 2b04 cmp r3, #4 8044142: d103 bne.n 804414c 8044144: 2302 movs r3, #2 8044146: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804414a: e006 b.n 804415a else if(tmp8 == DIAGN_RMS) tmp8 = DIAGN_PEAK; 804414c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8044150: 2b02 cmp r3, #2 8044152: d102 bne.n 804415a 8044154: 2301 movs r3, #1 8044156: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 804415a: 4b8c ldr r3, [pc, #560] ; (804438c ) 804415c: 781b ldrb r3, [r3, #0] 804415e: b2da uxtb r2, r3 8044160: 4614 mov r4, r2 8044162: 4b8b ldr r3, [pc, #556] ; (8044390 ) 8044164: 781b ldrb r3, [r3, #0] 8044166: b2db uxtb r3, r3 8044168: 4618 mov r0, r3 804416a: 4615 mov r5, r2 804416c: 4619 mov r1, r3 804416e: 4a89 ldr r2, [pc, #548] ; (8044394 ) 8044170: 00ab lsls r3, r5, #2 8044172: 4413 add r3, r2 8044174: 440b add r3, r1 8044176: f503 730f add.w r3, r3, #572 ; 0x23c 804417a: 781b ldrb r3, [r3, #0] 804417c: b2db uxtb r3, r3 804417e: f003 0307 and.w r3, r3, #7 8044182: b2d9 uxtb r1, r3 8044184: 4a83 ldr r2, [pc, #524] ; (8044394 ) 8044186: 00a3 lsls r3, r4, #2 8044188: 4413 add r3, r2 804418a: 4403 add r3, r0 804418c: f503 730f add.w r3, r3, #572 ; 0x23c 8044190: 460a mov r2, r1 8044192: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 8044194: 4b7d ldr r3, [pc, #500] ; (804438c ) 8044196: 781b ldrb r3, [r3, #0] 8044198: b2da uxtb r2, r3 804419a: 4614 mov r4, r2 804419c: 4b7c ldr r3, [pc, #496] ; (8044390 ) 804419e: 781b ldrb r3, [r3, #0] 80441a0: b2db uxtb r3, r3 80441a2: 4618 mov r0, r3 80441a4: 4615 mov r5, r2 80441a6: 4619 mov r1, r3 80441a8: 4a7a ldr r2, [pc, #488] ; (8044394 ) 80441aa: 00ab lsls r3, r5, #2 80441ac: 4413 add r3, r2 80441ae: 440b add r3, r1 80441b0: f503 730f add.w r3, r3, #572 ; 0x23c 80441b4: 781b ldrb r3, [r3, #0] 80441b6: b2db uxtb r3, r3 80441b8: b25a sxtb r2, r3 80441ba: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80441be: 00db lsls r3, r3, #3 80441c0: b25b sxtb r3, r3 80441c2: 4313 orrs r3, r2 80441c4: b25b sxtb r3, r3 80441c6: b2d9 uxtb r1, r3 80441c8: 4a72 ldr r2, [pc, #456] ; (8044394 ) 80441ca: 00a3 lsls r3, r4, #2 80441cc: 4413 add r3, r2 80441ce: 4403 add r3, r0 80441d0: f503 730f add.w r3, r3, #572 ; 0x23c 80441d4: 460a mov r2, r1 80441d6: 701a strb r2, [r3, #0] } else menupos = Ok; break; 80441d8: e067 b.n 80442aa menupos = Ok; 80441da: 4b6f ldr r3, [pc, #444] ; (8044398 ) 80441dc: 2200 movs r2, #0 80441de: 701a strb r2, [r3, #0] break; 80441e0: e063 b.n 80442aa case DiagHP: case DiagLP: case Diag_W: case Diag_A: menupos = Ok; 80441e2: 4b6d ldr r3, [pc, #436] ; (8044398 ) 80441e4: 2200 movs r2, #0 80441e6: 701a strb r2, [r3, #0] break; 80441e8: e05f b.n 80442aa case DiagHP_IDT: menupos = DiagHP_IKD; break; 80441ea: 4b6b ldr r3, [pc, #428] ; (8044398 ) 80441ec: 2212 movs r2, #18 80441ee: 701a strb r2, [r3, #0] 80441f0: e05b b.n 80442aa case DiagHP_IKD: menupos = DiagHP_IEE; break; 80441f2: 4b69 ldr r3, [pc, #420] ; (8044398 ) 80441f4: 2211 movs r2, #17 80441f6: 701a strb r2, [r3, #0] 80441f8: e057 b.n 80442aa case DiagHP_IEE: menupos = DiagHP_IED; break; 80441fa: 4b67 ldr r3, [pc, #412] ; (8044398 ) 80441fc: 2210 movs r2, #16 80441fe: 701a strb r2, [r3, #0] 8044200: e053 b.n 80442aa case DiagHP_IED: menupos = DiagHP_IES; break; 8044202: 4b65 ldr r3, [pc, #404] ; (8044398 ) 8044204: 220f movs r2, #15 8044206: 701a strb r2, [r3, #0] 8044208: e04f b.n 80442aa case DiagHP_IES: menupos = DiagHP_IET; break; 804420a: 4b63 ldr r3, [pc, #396] ; (8044398 ) 804420c: 220e movs r2, #14 804420e: 701a strb r2, [r3, #0] 8044210: e04b b.n 80442aa case DiagHP_IET: menupos = DiagHP_IDT; break; 8044212: 4b61 ldr r3, [pc, #388] ; (8044398 ) 8044214: 220d movs r2, #13 8044216: 701a strb r2, [r3, #0] 8044218: e047 b.n 80442aa case DiagLP_IDT: menupos = DiagLP_IKD; break; 804421a: 4b5f ldr r3, [pc, #380] ; (8044398 ) 804421c: 2218 movs r2, #24 804421e: 701a strb r2, [r3, #0] 8044220: e043 b.n 80442aa case DiagLP_IKD: menupos = DiagLP_IEE; break; 8044222: 4b5d ldr r3, [pc, #372] ; (8044398 ) 8044224: 2217 movs r2, #23 8044226: 701a strb r2, [r3, #0] 8044228: e03f b.n 80442aa case DiagLP_IEE: menupos = DiagLP_IED; break; 804422a: 4b5b ldr r3, [pc, #364] ; (8044398 ) 804422c: 2216 movs r2, #22 804422e: 701a strb r2, [r3, #0] 8044230: e03b b.n 80442aa case DiagLP_IED: menupos = DiagLP_IES; break; 8044232: 4b59 ldr r3, [pc, #356] ; (8044398 ) 8044234: 2215 movs r2, #21 8044236: 701a strb r2, [r3, #0] 8044238: e037 b.n 80442aa case DiagLP_IES: menupos = DiagLP_IET; break; 804423a: 4b57 ldr r3, [pc, #348] ; (8044398 ) 804423c: 2214 movs r2, #20 804423e: 701a strb r2, [r3, #0] 8044240: e033 b.n 80442aa case DiagLP_IET: menupos = DiagLP_IDT; break; 8044242: 4b55 ldr r3, [pc, #340] ; (8044398 ) 8044244: 2213 movs r2, #19 8044246: 701a strb r2, [r3, #0] 8044248: e02f b.n 80442aa case DiagW_IDT: menupos = DiagW_IKD; break; 804424a: 4b53 ldr r3, [pc, #332] ; (8044398 ) 804424c: 221e movs r2, #30 804424e: 701a strb r2, [r3, #0] 8044250: e02b b.n 80442aa case DiagW_IKD: menupos = DiagW_IEE; break; 8044252: 4b51 ldr r3, [pc, #324] ; (8044398 ) 8044254: 221d movs r2, #29 8044256: 701a strb r2, [r3, #0] 8044258: e027 b.n 80442aa case DiagW_IEE: menupos = DiagW_IED; break; 804425a: 4b4f ldr r3, [pc, #316] ; (8044398 ) 804425c: 221c movs r2, #28 804425e: 701a strb r2, [r3, #0] 8044260: e023 b.n 80442aa case DiagW_IED: menupos = DiagW_IES; break; 8044262: 4b4d ldr r3, [pc, #308] ; (8044398 ) 8044264: 221b movs r2, #27 8044266: 701a strb r2, [r3, #0] 8044268: e01f b.n 80442aa case DiagW_IES: menupos = DiagW_IET; break; 804426a: 4b4b ldr r3, [pc, #300] ; (8044398 ) 804426c: 221a movs r2, #26 804426e: 701a strb r2, [r3, #0] 8044270: e01b b.n 80442aa case DiagW_IET: menupos = DiagW_IDT; break; 8044272: 4b49 ldr r3, [pc, #292] ; (8044398 ) 8044274: 2219 movs r2, #25 8044276: 701a strb r2, [r3, #0] 8044278: e017 b.n 80442aa case DiagA_IDT: menupos = DiagA_IKD; break; 804427a: 4b47 ldr r3, [pc, #284] ; (8044398 ) 804427c: 2224 movs r2, #36 ; 0x24 804427e: 701a strb r2, [r3, #0] 8044280: e013 b.n 80442aa case DiagA_IKD: menupos = DiagA_IEE; break; 8044282: 4b45 ldr r3, [pc, #276] ; (8044398 ) 8044284: 2223 movs r2, #35 ; 0x23 8044286: 701a strb r2, [r3, #0] 8044288: e00f b.n 80442aa case DiagA_IEE: menupos = DiagA_IED; break; 804428a: 4b43 ldr r3, [pc, #268] ; (8044398 ) 804428c: 2222 movs r2, #34 ; 0x22 804428e: 701a strb r2, [r3, #0] 8044290: e00b b.n 80442aa case DiagA_IED: menupos = DiagA_IES; break; 8044292: 4b41 ldr r3, [pc, #260] ; (8044398 ) 8044294: 2221 movs r2, #33 ; 0x21 8044296: 701a strb r2, [r3, #0] 8044298: e007 b.n 80442aa case DiagA_IES: menupos = DiagA_IET; break; 804429a: 4b3f ldr r3, [pc, #252] ; (8044398 ) 804429c: 2220 movs r2, #32 804429e: 701a strb r2, [r3, #0] 80442a0: e003 b.n 80442aa case DiagA_IET: menupos = DiagA_IDT; break; 80442a2: 4b3d ldr r3, [pc, #244] ; (8044398 ) 80442a4: 221f movs r2, #31 80442a6: 701a strb r2, [r3, #0] 80442a8: bf00 nop } break; 80442aa: f001 bf57 b.w 804615c case TREND_A: case TREND_V: case TREND_S: if(menupos > Trend_pk) menupos--; 80442ae: 4b3a ldr r3, [pc, #232] ; (8044398 ) 80442b0: 781b ldrb r3, [r3, #0] 80442b2: b2db uxtb r3, r3 80442b4: 2b00 cmp r3, #0 80442b6: d008 beq.n 80442ca 80442b8: 4b37 ldr r3, [pc, #220] ; (8044398 ) 80442ba: 781b ldrb r3, [r3, #0] 80442bc: b2db uxtb r3, r3 80442be: 3b01 subs r3, #1 80442c0: b2da uxtb r2, r3 80442c2: 4b35 ldr r3, [pc, #212] ; (8044398 ) 80442c4: 701a strb r2, [r3, #0] else menupos = Trend_excess; break; 80442c6: f001 bf8f b.w 80461e8 else menupos = Trend_excess; 80442ca: 4b33 ldr r3, [pc, #204] ; (8044398 ) 80442cc: 2204 movs r2, #4 80442ce: 701a strb r2, [r3, #0] break; 80442d0: f001 bf8a b.w 80461e8 case MAIN_UDAR: break; case MAIN_DIAGN: switch(menupos) 80442d4: 4b30 ldr r3, [pc, #192] ; (8044398 ) 80442d6: 781b ldrb r3, [r3, #0] 80442d8: b2db uxtb r3, r3 80442da: 2b04 cmp r3, #4 80442dc: f201 8741 bhi.w 8046162 80442e0: a201 add r2, pc, #4 ; (adr r2, 80442e8 ) 80442e2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80442e6: bf00 nop 80442e8: 080442fd .word 0x080442fd 80442ec: 08046163 .word 0x08046163 80442f0: 08044305 .word 0x08044305 80442f4: 08044315 .word 0x08044315 80442f8: 0804430d .word 0x0804430d { case StartStop: menupos = Record; break; 80442fc: 4b26 ldr r3, [pc, #152] ; (8044398 ) 80442fe: 2202 movs r2, #2 8044300: 701a strb r2, [r3, #0] 8044302: e00b b.n 804431c case Record: menupos = MyMeasure; break; 8044304: 4b24 ldr r3, [pc, #144] ; (8044398 ) 8044306: 2204 movs r2, #4 8044308: 701a strb r2, [r3, #0] 804430a: e007 b.n 804431c case MyMeasure: menupos = MyPoint; break; 804430c: 4b22 ldr r3, [pc, #136] ; (8044398 ) 804430e: 2203 movs r2, #3 8044310: 701a strb r2, [r3, #0] 8044312: e003 b.n 804431c case MyPoint: menupos = StartStop; break; 8044314: 4b20 ldr r3, [pc, #128] ; (8044398 ) 8044316: 2200 movs r2, #0 8044318: 701a strb r2, [r3, #0] 804431a: bf00 nop } break; 804431c: f001 bf21 b.w 8046162 case MAIN: case MAIN_FRAN: switch(menupos) 8044320: 4b1d ldr r3, [pc, #116] ; (8044398 ) 8044322: 781b ldrb r3, [r3, #0] 8044324: b2db uxtb r3, r3 8044326: 2b06 cmp r3, #6 8044328: f201 871e bhi.w 8046168 804432c: a201 add r2, pc, #4 ; (adr r2, 8044334 ) 804432e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044332: bf00 nop 8044334: 08044351 .word 0x08044351 8044338: 08046169 .word 0x08046169 804433c: 08044359 .word 0x08044359 8044340: 08044369 .word 0x08044369 8044344: 08044361 .word 0x08044361 8044348: 08046169 .word 0x08046169 804434c: 08044371 .word 0x08044371 { case StartStop: menupos = Record; break; 8044350: 4b11 ldr r3, [pc, #68] ; (8044398 ) 8044352: 2202 movs r2, #2 8044354: 701a strb r2, [r3, #0] 8044356: e00f b.n 8044378 case Record: menupos = MyMeasure; break; 8044358: 4b0f ldr r3, [pc, #60] ; (8044398 ) 804435a: 2204 movs r2, #4 804435c: 701a strb r2, [r3, #0] 804435e: e00b b.n 8044378 case MyMeasure: menupos = MyPoint; break; 8044360: 4b0d ldr r3, [pc, #52] ; (8044398 ) 8044362: 2203 movs r2, #3 8044364: 701a strb r2, [r3, #0] 8044366: e007 b.n 8044378 case MyPoint: menupos = MyLinLog; break; 8044368: 4b0b ldr r3, [pc, #44] ; (8044398 ) 804436a: 2206 movs r2, #6 804436c: 701a strb r2, [r3, #0] 804436e: e003 b.n 8044378 case MyLinLog: menupos = StartStop; break; 8044370: 4b09 ldr r3, [pc, #36] ; (8044398 ) 8044372: 2200 movs r2, #0 8044374: 701a strb r2, [r3, #0] 8044376: bf00 nop } break; 8044378: f001 bef6 b.w 8046168 case MAIN_OSC: switch(menupos) 804437c: 4b06 ldr r3, [pc, #24] ; (8044398 ) 804437e: 781b ldrb r3, [r3, #0] 8044380: b2db uxtb r3, r3 8044382: 2b06 cmp r3, #6 8044384: d00a beq.n 804439c rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; } break; 8044386: f001 bf2f b.w 80461e8 804438a: bf00 nop 804438c: 20021011 .word 0x20021011 8044390: 20021013 .word 0x20021013 8044394: 20023e60 .word 0x20023e60 8044398: 20020070 .word 0x20020070 lvl_0 = 0; 804439c: 2300 movs r3, #0 804439e: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 80443a2: 4ba9 ldr r3, [pc, #676] ; (8044648 ) 80443a4: 781b ldrb r3, [r3, #0] 80443a6: b2db uxtb r3, r3 80443a8: 461a mov r2, r3 80443aa: 4613 mov r3, r2 80443ac: 009b lsls r3, r3, #2 80443ae: 4413 add r3, r2 80443b0: 4aa6 ldr r2, [pc, #664] ; (804464c ) 80443b2: 79d2 ldrb r2, [r2, #7] 80443b4: b2d2 uxtb r2, r2 80443b6: 4413 add r3, r2 80443b8: 4aa5 ldr r2, [pc, #660] ; (8044650 ) 80443ba: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80443be: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 80443c2: 2301 movs r3, #1 80443c4: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 80443c8: f44f 7380 mov.w r3, #256 ; 0x100 80443cc: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 192 * multA_u16; 80443d0: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 80443d4: 4613 mov r3, r2 80443d6: 005b lsls r3, r3, #1 80443d8: 4413 add r3, r2 80443da: 019b lsls r3, r3, #6 80443dc: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[0][5 * lvl_0 + pardata.LNE] - Avg[0][5 * ViewLevel + pardata.LNE]; 80443e0: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80443e4: 4613 mov r3, r2 80443e6: 009b lsls r3, r3, #2 80443e8: 4413 add r3, r2 80443ea: 4a98 ldr r2, [pc, #608] ; (804464c ) 80443ec: 79d2 ldrb r2, [r2, #7] 80443ee: b2d2 uxtb r2, r2 80443f0: 4413 add r3, r2 80443f2: 4a97 ldr r2, [pc, #604] ; (8044650 ) 80443f4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80443f8: 461a mov r2, r3 80443fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80443fe: fb03 f202 mul.w r2, r3, r2 8044402: 4b91 ldr r3, [pc, #580] ; (8044648 ) 8044404: 781b ldrb r3, [r3, #0] 8044406: b2db uxtb r3, r3 8044408: 4619 mov r1, r3 804440a: 460b mov r3, r1 804440c: 009b lsls r3, r3, #2 804440e: 440b add r3, r1 8044410: 498e ldr r1, [pc, #568] ; (804464c ) 8044412: 79c9 ldrb r1, [r1, #7] 8044414: b2c9 uxtb r1, r1 8044416: 440b add r3, r1 8044418: 498d ldr r1, [pc, #564] ; (8044650 ) 804441a: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 804441e: 1ad3 subs r3, r2, r3 8044420: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 8044424: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8044428: b29b uxth r3, r3 804442a: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804442e: fb12 f303 smulbb r3, r2, r3 8044432: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(multB_u16 >= Mpos) 8044436: 4b87 ldr r3, [pc, #540] ; (8044654 ) 8044438: 881b ldrh r3, [r3, #0] 804443a: b29b uxth r3, r3 804443c: f8b7 2096 ldrh.w r2, [r7, #150] ; 0x96 8044440: 429a cmp r2, r3 8044442: d318 bcc.n 8044476 CURSOR = 0; 8044444: 4b84 ldr r3, [pc, #528] ; (8044658 ) 8044446: 2200 movs r2, #0 8044448: 601a str r2, [r3, #0] X0 = 0; 804444a: 4b84 ldr r3, [pc, #528] ; (804465c ) 804444c: 2200 movs r2, #0 804444e: 801a strh r2, [r3, #0] lX = X0; 8044450: 4b82 ldr r3, [pc, #520] ; (804465c ) 8044452: 881b ldrh r3, [r3, #0] 8044454: b29a uxth r2, r3 8044456: 4b82 ldr r3, [pc, #520] ; (8044660 ) 8044458: 801a strh r2, [r3, #0] rX = k * multA_u16; 804445a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804445e: b29b uxth r3, r3 8044460: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044464: fb12 f303 smulbb r3, r2, r3 8044468: b29a uxth r2, r3 804446a: 4b7e ldr r3, [pc, #504] ; (8044664 ) 804446c: 801a strh r2, [r3, #0] Mpos = 0; 804446e: 4b79 ldr r3, [pc, #484] ; (8044654 ) 8044470: 2200 movs r2, #0 8044472: 801a strh r2, [r3, #0] break; 8044474: e049 b.n 804450a Mpos -= multB_u16; 8044476: 4b77 ldr r3, [pc, #476] ; (8044654 ) 8044478: 881b ldrh r3, [r3, #0] 804447a: b29a uxth r2, r3 804447c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8044480: 1ad3 subs r3, r2, r3 8044482: b29a uxth r2, r3 8044484: 4b73 ldr r3, [pc, #460] ; (8044654 ) 8044486: 801a strh r2, [r3, #0] if(X0 > Mpos) 8044488: 4b74 ldr r3, [pc, #464] ; (804465c ) 804448a: 881b ldrh r3, [r3, #0] 804448c: b29a uxth r2, r3 804448e: 4b71 ldr r3, [pc, #452] ; (8044654 ) 8044490: 881b ldrh r3, [r3, #0] 8044492: b29b uxth r3, r3 8044494: 429a cmp r2, r3 8044496: d915 bls.n 80444c4 if(Mpos >= d) 8044498: 4b6e ldr r3, [pc, #440] ; (8044654 ) 804449a: 881b ldrh r3, [r3, #0] 804449c: b29b uxth r3, r3 804449e: 461a mov r2, r3 80444a0: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80444a4: 429a cmp r2, r3 80444a6: d30a bcc.n 80444be X0 -= d; 80444a8: 4b6c ldr r3, [pc, #432] ; (804465c ) 80444aa: 881b ldrh r3, [r3, #0] 80444ac: b29a uxth r2, r3 80444ae: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80444b2: b29b uxth r3, r3 80444b4: 1ad3 subs r3, r2, r3 80444b6: b29a uxth r2, r3 80444b8: 4b68 ldr r3, [pc, #416] ; (804465c ) 80444ba: 801a strh r2, [r3, #0] 80444bc: e002 b.n 80444c4 else X0 = 0; 80444be: 4b67 ldr r3, [pc, #412] ; (804465c ) 80444c0: 2200 movs r2, #0 80444c2: 801a strh r2, [r3, #0] lX = X0; 80444c4: 4b65 ldr r3, [pc, #404] ; (804465c ) 80444c6: 881b ldrh r3, [r3, #0] 80444c8: b29a uxth r2, r3 80444ca: 4b65 ldr r3, [pc, #404] ; (8044660 ) 80444cc: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 80444ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80444d2: b29b uxth r3, r3 80444d4: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 80444d8: fb12 f303 smulbb r3, r2, r3 80444dc: b29a uxth r2, r3 80444de: 4b5f ldr r3, [pc, #380] ; (804465c ) 80444e0: 881b ldrh r3, [r3, #0] 80444e2: b29b uxth r3, r3 80444e4: 4413 add r3, r2 80444e6: b29a uxth r2, r3 80444e8: 4b5e ldr r3, [pc, #376] ; (8044664 ) 80444ea: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 80444ec: 4b59 ldr r3, [pc, #356] ; (8044654 ) 80444ee: 881b ldrh r3, [r3, #0] 80444f0: b29b uxth r3, r3 80444f2: 461a mov r2, r3 80444f4: 4b59 ldr r3, [pc, #356] ; (804465c ) 80444f6: 881b ldrh r3, [r3, #0] 80444f8: b29b uxth r3, r3 80444fa: 1ad2 subs r2, r2, r3 80444fc: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8044500: fb92 f3f3 sdiv r3, r2, r3 8044504: 461a mov r2, r3 8044506: 4b54 ldr r3, [pc, #336] ; (8044658 ) 8044508: 601a str r2, [r3, #0] break; 804450a: bf00 nop break; 804450c: f001 be6c b.w 80461e8 case MAIN_ROLL: case VIEW_PORTRET: case MAIN_SPEC: case MAIN_SPEC_OGIB: switch(menupos) 8044510: 4b55 ldr r3, [pc, #340] ; (8044668 ) 8044512: 781b ldrb r3, [r3, #0] 8044514: b2db uxtb r3, r3 8044516: 2b06 cmp r3, #6 8044518: d001 beq.n 804451e rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; } break; 804451a: f001 be65 b.w 80461e8 lvl_0 = 0; 804451e: 2300 movs r3, #0 8044520: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 8044524: 4b48 ldr r3, [pc, #288] ; (8044648 ) 8044526: 781b ldrb r3, [r3, #0] 8044528: b2db uxtb r3, r3 804452a: 461a mov r2, r3 804452c: 4613 mov r3, r2 804452e: 009b lsls r3, r3, #2 8044530: 4413 add r3, r2 8044532: 4a46 ldr r2, [pc, #280] ; (804464c ) 8044534: 79d2 ldrb r2, [r2, #7] 8044536: b2d2 uxtb r2, r2 8044538: 4413 add r3, r2 804453a: 4a45 ldr r2, [pc, #276] ; (8044650 ) 804453c: 3323 adds r3, #35 ; 0x23 804453e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8044542: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 8044546: 2301 movs r3, #1 8044548: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 804454c: f44f 7380 mov.w r3, #256 ; 0x100 8044550: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 192 * multA_u16; 8044554: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044558: 4613 mov r3, r2 804455a: 005b lsls r3, r3, #1 804455c: 4413 add r3, r2 804455e: 019b lsls r3, r3, #6 8044560: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[1][5 * lvl_0 + pardata.LNE] - Avg[1][5 * ViewLevel + pardata.LNE]; 8044564: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8044568: 4613 mov r3, r2 804456a: 009b lsls r3, r3, #2 804456c: 4413 add r3, r2 804456e: 4a37 ldr r2, [pc, #220] ; (804464c ) 8044570: 79d2 ldrb r2, [r2, #7] 8044572: b2d2 uxtb r2, r2 8044574: 4413 add r3, r2 8044576: 4a36 ldr r2, [pc, #216] ; (8044650 ) 8044578: 3323 adds r3, #35 ; 0x23 804457a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804457e: 461a mov r2, r3 8044580: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044584: fb03 f202 mul.w r2, r3, r2 8044588: 4b2f ldr r3, [pc, #188] ; (8044648 ) 804458a: 781b ldrb r3, [r3, #0] 804458c: b2db uxtb r3, r3 804458e: 4619 mov r1, r3 8044590: 460b mov r3, r1 8044592: 009b lsls r3, r3, #2 8044594: 440b add r3, r1 8044596: 492d ldr r1, [pc, #180] ; (804464c ) 8044598: 79c9 ldrb r1, [r1, #7] 804459a: b2c9 uxtb r1, r1 804459c: 440b add r3, r1 804459e: 492c ldr r1, [pc, #176] ; (8044650 ) 80445a0: 3323 adds r3, #35 ; 0x23 80445a2: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 80445a6: 1ad3 subs r3, r2, r3 80445a8: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 80445ac: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80445b0: b29b uxth r3, r3 80445b2: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 80445b6: fb12 f303 smulbb r3, r2, r3 80445ba: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(multB_u16 >= Mpos) 80445be: 4b25 ldr r3, [pc, #148] ; (8044654 ) 80445c0: 881b ldrh r3, [r3, #0] 80445c2: b29b uxth r3, r3 80445c4: f8b7 2096 ldrh.w r2, [r7, #150] ; 0x96 80445c8: 429a cmp r2, r3 80445ca: d318 bcc.n 80445fe CURSOR = 0; 80445cc: 4b22 ldr r3, [pc, #136] ; (8044658 ) 80445ce: 2200 movs r2, #0 80445d0: 601a str r2, [r3, #0] X0 = 0; 80445d2: 4b22 ldr r3, [pc, #136] ; (804465c ) 80445d4: 2200 movs r2, #0 80445d6: 801a strh r2, [r3, #0] lX = X0; 80445d8: 4b20 ldr r3, [pc, #128] ; (804465c ) 80445da: 881b ldrh r3, [r3, #0] 80445dc: b29a uxth r2, r3 80445de: 4b20 ldr r3, [pc, #128] ; (8044660 ) 80445e0: 801a strh r2, [r3, #0] rX = k * multA_u16; 80445e2: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80445e6: b29b uxth r3, r3 80445e8: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 80445ec: fb12 f303 smulbb r3, r2, r3 80445f0: b29a uxth r2, r3 80445f2: 4b1c ldr r3, [pc, #112] ; (8044664 ) 80445f4: 801a strh r2, [r3, #0] Mpos = 0; 80445f6: 4b17 ldr r3, [pc, #92] ; (8044654 ) 80445f8: 2200 movs r2, #0 80445fa: 801a strh r2, [r3, #0] break; 80445fc: e05c b.n 80446b8 Mpos -= multB_u16; 80445fe: 4b15 ldr r3, [pc, #84] ; (8044654 ) 8044600: 881b ldrh r3, [r3, #0] 8044602: b29a uxth r2, r3 8044604: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8044608: 1ad3 subs r3, r2, r3 804460a: b29a uxth r2, r3 804460c: 4b11 ldr r3, [pc, #68] ; (8044654 ) 804460e: 801a strh r2, [r3, #0] if(X0 > Mpos) 8044610: 4b12 ldr r3, [pc, #72] ; (804465c ) 8044612: 881b ldrh r3, [r3, #0] 8044614: b29a uxth r2, r3 8044616: 4b0f ldr r3, [pc, #60] ; (8044654 ) 8044618: 881b ldrh r3, [r3, #0] 804461a: b29b uxth r3, r3 804461c: 429a cmp r2, r3 804461e: d928 bls.n 8044672 if(Mpos >= d) 8044620: 4b0c ldr r3, [pc, #48] ; (8044654 ) 8044622: 881b ldrh r3, [r3, #0] 8044624: b29b uxth r3, r3 8044626: 461a mov r2, r3 8044628: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 804462c: 429a cmp r2, r3 804462e: d31d bcc.n 804466c X0 -= d; 8044630: 4b0a ldr r3, [pc, #40] ; (804465c ) 8044632: 881b ldrh r3, [r3, #0] 8044634: b29a uxth r2, r3 8044636: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 804463a: b29b uxth r3, r3 804463c: 1ad3 subs r3, r2, r3 804463e: b29a uxth r2, r3 8044640: 4b06 ldr r3, [pc, #24] ; (804465c ) 8044642: 801a strh r2, [r3, #0] 8044644: e015 b.n 8044672 8044646: bf00 nop 8044648: 20020f74 .word 0x20020f74 804464c: 20023e60 .word 0x20023e60 8044650: 080ee828 .word 0x080ee828 8044654: 20025d16 .word 0x20025d16 8044658: 2002006c .word 0x2002006c 804465c: 20025d1e .word 0x20025d1e 8044660: 20025d1a .word 0x20025d1a 8044664: 20025d20 .word 0x20025d20 8044668: 20020070 .word 0x20020070 else X0 = 0; 804466c: 4bae ldr r3, [pc, #696] ; (8044928 ) 804466e: 2200 movs r2, #0 8044670: 801a strh r2, [r3, #0] lX = X0; 8044672: 4bad ldr r3, [pc, #692] ; (8044928 ) 8044674: 881b ldrh r3, [r3, #0] 8044676: b29a uxth r2, r3 8044678: 4bac ldr r3, [pc, #688] ; (804492c ) 804467a: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 804467c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8044680: b29b uxth r3, r3 8044682: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8044686: fb12 f303 smulbb r3, r2, r3 804468a: b29a uxth r2, r3 804468c: 4ba6 ldr r3, [pc, #664] ; (8044928 ) 804468e: 881b ldrh r3, [r3, #0] 8044690: b29b uxth r3, r3 8044692: 4413 add r3, r2 8044694: b29a uxth r2, r3 8044696: 4ba6 ldr r3, [pc, #664] ; (8044930 ) 8044698: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 804469a: 4ba6 ldr r3, [pc, #664] ; (8044934 ) 804469c: 881b ldrh r3, [r3, #0] 804469e: b29b uxth r3, r3 80446a0: 461a mov r2, r3 80446a2: 4ba1 ldr r3, [pc, #644] ; (8044928 ) 80446a4: 881b ldrh r3, [r3, #0] 80446a6: b29b uxth r3, r3 80446a8: 1ad2 subs r2, r2, r3 80446aa: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 80446ae: fb92 f3f3 sdiv r3, r2, r3 80446b2: 461a mov r2, r3 80446b4: 4ba0 ldr r3, [pc, #640] ; (8044938 ) 80446b6: 601a str r2, [r3, #0] break; 80446b8: bf00 nop break; 80446ba: f001 bd95 b.w 80461e8 case MAIN_SPEC_OKT: switch(menupos) 80446be: 4b9f ldr r3, [pc, #636] ; (804493c ) 80446c0: 781b ldrb r3, [r3, #0] 80446c2: b2db uxtb r3, r3 80446c4: 2b06 cmp r3, #6 80446c6: d001 beq.n 80446cc case Cursor: if(CURSOR > 0) CURSOR--; break; } break; 80446c8: f001 bd8e b.w 80461e8 if(CURSOR > 0) 80446cc: 4b9a ldr r3, [pc, #616] ; (8044938 ) 80446ce: 681b ldr r3, [r3, #0] 80446d0: 2b00 cmp r3, #0 80446d2: d004 beq.n 80446de CURSOR--; 80446d4: 4b98 ldr r3, [pc, #608] ; (8044938 ) 80446d6: 681b ldr r3, [r3, #0] 80446d8: 3b01 subs r3, #1 80446da: 4a97 ldr r2, [pc, #604] ; (8044938 ) 80446dc: 6013 str r3, [r2, #0] break; 80446de: bf00 nop break; 80446e0: f001 bd82 b.w 80461e8 case MAIN_SPEC_THIRD: switch(menupos) 80446e4: 4b95 ldr r3, [pc, #596] ; (804493c ) 80446e6: 781b ldrb r3, [r3, #0] 80446e8: b2db uxtb r3, r3 80446ea: 2b06 cmp r3, #6 80446ec: d001 beq.n 80446f2 case Cursor: if(CURSOR > 0) CURSOR--; break; } break; 80446ee: f001 bd7b b.w 80461e8 if(CURSOR > 0) 80446f2: 4b91 ldr r3, [pc, #580] ; (8044938 ) 80446f4: 681b ldr r3, [r3, #0] 80446f6: 2b00 cmp r3, #0 80446f8: d004 beq.n 8044704 CURSOR--; 80446fa: 4b8f ldr r3, [pc, #572] ; (8044938 ) 80446fc: 681b ldr r3, [r3, #0] 80446fe: 3b01 subs r3, #1 8044700: 4a8d ldr r2, [pc, #564] ; (8044938 ) 8044702: 6013 str r3, [r2, #0] break; 8044704: bf00 nop break; 8044706: f001 bd6f b.w 80461e8 case MAIN_WAVE: switch(menupos) 804470a: 4b8c ldr r3, [pc, #560] ; (804493c ) 804470c: 781b ldrb r3, [r3, #0] 804470e: b2db uxtb r3, r3 8044710: 2b01 cmp r3, #1 8044712: d005 beq.n 8044720 8044714: 2b03 cmp r3, #3 8044716: d01d beq.n 8044754 8044718: 2b00 cmp r3, #0 804471a: d00e beq.n 804473a break; case ReadyRec: oldmenupos = ReadyRec; break; } break; 804471c: f001 bd64 b.w 80461e8 if(oldmenupos == StartStop) 8044720: 4b87 ldr r3, [pc, #540] ; (8044940 ) 8044722: 781b ldrb r3, [r3, #0] 8044724: b2db uxtb r3, r3 8044726: 2b00 cmp r3, #0 8044728: d103 bne.n 8044732 oldmenupos = StartStop; 804472a: 4b85 ldr r3, [pc, #532] ; (8044940 ) 804472c: 2200 movs r2, #0 804472e: 701a strb r2, [r3, #0] break; 8044730: e014 b.n 804475c oldmenupos = ReadyRec; 8044732: 4b83 ldr r3, [pc, #524] ; (8044940 ) 8044734: 2203 movs r2, #3 8044736: 701a strb r2, [r3, #0] break; 8044738: e010 b.n 804475c if(oldmenupos == StartStop) 804473a: 4b81 ldr r3, [pc, #516] ; (8044940 ) 804473c: 781b ldrb r3, [r3, #0] 804473e: b2db uxtb r3, r3 8044740: 2b00 cmp r3, #0 8044742: d103 bne.n 804474c oldmenupos = StartStop; 8044744: 4b7e ldr r3, [pc, #504] ; (8044940 ) 8044746: 2200 movs r2, #0 8044748: 701a strb r2, [r3, #0] break; 804474a: e007 b.n 804475c oldmenupos = ReadyRec; 804474c: 4b7c ldr r3, [pc, #496] ; (8044940 ) 804474e: 2203 movs r2, #3 8044750: 701a strb r2, [r3, #0] break; 8044752: e003 b.n 804475c oldmenupos = ReadyRec; 8044754: 4b7a ldr r3, [pc, #488] ; (8044940 ) 8044756: 2203 movs r2, #3 8044758: 701a strb r2, [r3, #0] break; 804475a: bf00 nop break; 804475c: f001 bd44 b.w 80461e8 case MAIN_SYGNAL: if(menupos == Cursor) 8044760: 4b76 ldr r3, [pc, #472] ; (804493c ) 8044762: 781b ldrb r3, [r3, #0] 8044764: b2db uxtb r3, r3 8044766: 2b06 cmp r3, #6 8044768: f041 8501 bne.w 804616e { if(CURSOR > 0) 804476c: 4b72 ldr r3, [pc, #456] ; (8044938 ) 804476e: 681b ldr r3, [r3, #0] 8044770: 2b00 cmp r3, #0 8044772: f001 84fc beq.w 804616e CURSOR--; 8044776: 4b70 ldr r3, [pc, #448] ; (8044938 ) 8044778: 681b ldr r3, [r3, #0] 804477a: 3b01 subs r3, #1 804477c: 4a6e ldr r2, [pc, #440] ; (8044938 ) 804477e: 6013 str r3, [r2, #0] } break; 8044780: f001 bcf5 b.w 804616e case OPTIONS: if(menupos == AskFormatNo) 8044784: 4b6d ldr r3, [pc, #436] ; (804493c ) 8044786: 781b ldrb r3, [r3, #0] 8044788: b2db uxtb r3, r3 804478a: 2b05 cmp r3, #5 804478c: d104 bne.n 8044798 menupos = AskFormatYes; 804478e: 4b6b ldr r3, [pc, #428] ; (804493c ) 8044790: 2206 movs r2, #6 8044792: 701a strb r2, [r3, #0] if(menupos == AskRouteNo) menupos = AskRouteYes; else if(menupos == AskRouteYes) menupos = AskRouteNo; break; 8044794: f001 bcee b.w 8046174 if(menupos == AskFormatYes) 8044798: 4b68 ldr r3, [pc, #416] ; (804493c ) 804479a: 781b ldrb r3, [r3, #0] 804479c: b2db uxtb r3, r3 804479e: 2b06 cmp r3, #6 80447a0: d104 bne.n 80447ac menupos = AskFormatNo; 80447a2: 4b66 ldr r3, [pc, #408] ; (804493c ) 80447a4: 2205 movs r2, #5 80447a6: 701a strb r2, [r3, #0] break; 80447a8: f001 bce4 b.w 8046174 if(menupos == AskRouteNo) 80447ac: 4b63 ldr r3, [pc, #396] ; (804493c ) 80447ae: 781b ldrb r3, [r3, #0] 80447b0: b2db uxtb r3, r3 80447b2: 2b09 cmp r3, #9 80447b4: d104 bne.n 80447c0 menupos = AskRouteYes; 80447b6: 4b61 ldr r3, [pc, #388] ; (804493c ) 80447b8: 220a movs r2, #10 80447ba: 701a strb r2, [r3, #0] break; 80447bc: f001 bcda b.w 8046174 if(menupos == AskRouteYes) 80447c0: 4b5e ldr r3, [pc, #376] ; (804493c ) 80447c2: 781b ldrb r3, [r3, #0] 80447c4: b2db uxtb r3, r3 80447c6: 2b0a cmp r3, #10 80447c8: f041 84d4 bne.w 8046174 menupos = AskRouteNo; 80447cc: 4b5b ldr r3, [pc, #364] ; (804493c ) 80447ce: 2209 movs r2, #9 80447d0: 701a strb r2, [r3, #0] break; 80447d2: f001 bccf b.w 8046174 case EXPLORER: if(menupos == UpNo) 80447d6: 4b59 ldr r3, [pc, #356] ; (804493c ) 80447d8: 781b ldrb r3, [r3, #0] 80447da: b2db uxtb r3, r3 80447dc: 2b06 cmp r3, #6 80447de: d104 bne.n 80447ea menupos = UpYes; 80447e0: 4b56 ldr r3, [pc, #344] ; (804493c ) 80447e2: 2207 movs r2, #7 80447e4: 701a strb r2, [r3, #0] else if(menupos == FilesPTM) { menupos = UpNo; } break; 80447e6: f001 bcc8 b.w 804617a if(menupos == UpYes) 80447ea: 4b54 ldr r3, [pc, #336] ; (804493c ) 80447ec: 781b ldrb r3, [r3, #0] 80447ee: b2db uxtb r3, r3 80447f0: 2b07 cmp r3, #7 80447f2: d104 bne.n 80447fe menupos = UpNo; 80447f4: 4b51 ldr r3, [pc, #324] ; (804493c ) 80447f6: 2206 movs r2, #6 80447f8: 701a strb r2, [r3, #0] break; 80447fa: f001 bcbe b.w 804617a if(menupos == FilesPTM) 80447fe: 4b4f ldr r3, [pc, #316] ; (804493c ) 8044800: 781b ldrb r3, [r3, #0] 8044802: b2db uxtb r3, r3 8044804: 2b02 cmp r3, #2 8044806: f041 84b8 bne.w 804617a menupos = UpNo; 804480a: 4b4c ldr r3, [pc, #304] ; (804493c ) 804480c: 2206 movs r2, #6 804480e: 701a strb r2, [r3, #0] break; 8044810: f001 bcb3 b.w 804617a case EXPLORER_DIAGN: if(menupos == UpNo) 8044814: 4b49 ldr r3, [pc, #292] ; (804493c ) 8044816: 781b ldrb r3, [r3, #0] 8044818: b2db uxtb r3, r3 804481a: 2b06 cmp r3, #6 804481c: d104 bne.n 8044828 menupos = UpYes; 804481e: 4b47 ldr r3, [pc, #284] ; (804493c ) 8044820: 2207 movs r2, #7 8044822: 701a strb r2, [r3, #0] else if(menupos == FilesDGN) { menupos = UpNo; } break; 8044824: f001 bcac b.w 8046180 if(menupos == UpYes) 8044828: 4b44 ldr r3, [pc, #272] ; (804493c ) 804482a: 781b ldrb r3, [r3, #0] 804482c: b2db uxtb r3, r3 804482e: 2b07 cmp r3, #7 8044830: d104 bne.n 804483c menupos = UpNo; 8044832: 4b42 ldr r3, [pc, #264] ; (804493c ) 8044834: 2206 movs r2, #6 8044836: 701a strb r2, [r3, #0] break; 8044838: f001 bca2 b.w 8046180 if(menupos == FilesDGN) 804483c: 4b3f ldr r3, [pc, #252] ; (804493c ) 804483e: 781b ldrb r3, [r3, #0] 8044840: b2db uxtb r3, r3 8044842: 2b02 cmp r3, #2 8044844: f041 849c bne.w 8046180 menupos = UpNo; 8044848: 4b3c ldr r3, [pc, #240] ; (804493c ) 804484a: 2206 movs r2, #6 804484c: 701a strb r2, [r3, #0] break; 804484e: f001 bc97 b.w 8046180 case INPUT_NAME_PTM: case INPUT_NAME_DGN: case INPUT_NAME_SPEC: case INPUT_NAME_GTR: case INPUT_NAME_FRN: if((menupos != _1) && (menupos != _Q) && (menupos != _A) && (menupos != _Z) && (menupos != _ENTER)) 8044852: 4b3a ldr r3, [pc, #232] ; (804493c ) 8044854: 781b ldrb r3, [r3, #0] 8044856: b2db uxtb r3, r3 8044858: 2b00 cmp r3, #0 804485a: f001 8494 beq.w 8046186 804485e: 4b37 ldr r3, [pc, #220] ; (804493c ) 8044860: 781b ldrb r3, [r3, #0] 8044862: b2db uxtb r3, r3 8044864: 2b0a cmp r3, #10 8044866: f001 848e beq.w 8046186 804486a: 4b34 ldr r3, [pc, #208] ; (804493c ) 804486c: 781b ldrb r3, [r3, #0] 804486e: b2db uxtb r3, r3 8044870: 2b14 cmp r3, #20 8044872: f001 8488 beq.w 8046186 8044876: 4b31 ldr r3, [pc, #196] ; (804493c ) 8044878: 781b ldrb r3, [r3, #0] 804487a: b2db uxtb r3, r3 804487c: 2b1e cmp r3, #30 804487e: f001 8482 beq.w 8046186 8044882: 4b2e ldr r3, [pc, #184] ; (804493c ) 8044884: 781b ldrb r3, [r3, #0] 8044886: b2db uxtb r3, r3 8044888: 2b26 cmp r3, #38 ; 0x26 804488a: f001 847c beq.w 8046186 menupos--; 804488e: 4b2b ldr r3, [pc, #172] ; (804493c ) 8044890: 781b ldrb r3, [r3, #0] 8044892: b2db uxtb r3, r3 8044894: 3b01 subs r3, #1 8044896: b2da uxtb r2, r3 8044898: 4b28 ldr r3, [pc, #160] ; (804493c ) 804489a: 701a strb r2, [r3, #0] break; 804489c: f001 bc73 b.w 8046186 case MEAS_MODE: //menupos = Ok; break; case ARCHIVE_SPEC: if(menupos == UpNo) 80448a0: 4b26 ldr r3, [pc, #152] ; (804493c ) 80448a2: 781b ldrb r3, [r3, #0] 80448a4: b2db uxtb r3, r3 80448a6: 2b06 cmp r3, #6 80448a8: d104 bne.n 80448b4 menupos = UpYes; 80448aa: 4b24 ldr r3, [pc, #144] ; (804493c ) 80448ac: 2207 movs r2, #7 80448ae: 701a strb r2, [r3, #0] else if(menupos == CleanUpResult) { } break; 80448b0: f001 bc9a b.w 80461e8 if(menupos == UpYes) 80448b4: 4b21 ldr r3, [pc, #132] ; (804493c ) 80448b6: 781b ldrb r3, [r3, #0] 80448b8: b2db uxtb r3, r3 80448ba: 2b07 cmp r3, #7 80448bc: d104 bne.n 80448c8 menupos = UpNo; 80448be: 4b1f ldr r3, [pc, #124] ; (804493c ) 80448c0: 2206 movs r2, #6 80448c2: 701a strb r2, [r3, #0] break; 80448c4: f001 bc90 b.w 80461e8 if(menupos == CleanUpResult) 80448c8: 4b1c ldr r3, [pc, #112] ; (804493c ) 80448ca: 781b ldrb r3, [r3, #0] break; 80448cc: f001 bc8c b.w 80461e8 case ARCHIVE_FRAN: if(menupos == UpNo) 80448d0: 4b1a ldr r3, [pc, #104] ; (804493c ) 80448d2: 781b ldrb r3, [r3, #0] 80448d4: b2db uxtb r3, r3 80448d6: 2b06 cmp r3, #6 80448d8: d104 bne.n 80448e4 menupos = UpYes; 80448da: 4b18 ldr r3, [pc, #96] ; (804493c ) 80448dc: 2207 movs r2, #7 80448de: 701a strb r2, [r3, #0] else { menu = ARCHIVE; menupos = ArchiveFran; } break; 80448e0: f001 bc54 b.w 804618c if(menupos == UpYes) 80448e4: 4b15 ldr r3, [pc, #84] ; (804493c ) 80448e6: 781b ldrb r3, [r3, #0] 80448e8: b2db uxtb r3, r3 80448ea: 2b07 cmp r3, #7 80448ec: d104 bne.n 80448f8 menupos = UpNo; 80448ee: 4b13 ldr r3, [pc, #76] ; (804493c ) 80448f0: 2206 movs r2, #6 80448f2: 701a strb r2, [r3, #0] break; 80448f4: f001 bc4a b.w 804618c if(menupos == CleanUpResult) 80448f8: 4b10 ldr r3, [pc, #64] ; (804493c ) 80448fa: 781b ldrb r3, [r3, #0] 80448fc: b2db uxtb r3, r3 80448fe: 2b0a cmp r3, #10 8044900: f001 8444 beq.w 804618c menu = ARCHIVE; 8044904: 4b0f ldr r3, [pc, #60] ; (8044944 ) 8044906: 2214 movs r2, #20 8044908: 701a strb r2, [r3, #0] menupos = ArchiveFran; 804490a: 4b0c ldr r3, [pc, #48] ; (804493c ) 804490c: 2201 movs r2, #1 804490e: 701a strb r2, [r3, #0] break; 8044910: f001 bc3c b.w 804618c case ARCHIVE_WAVE: if(menupos == UpNo) 8044914: 4b09 ldr r3, [pc, #36] ; (804493c ) 8044916: 781b ldrb r3, [r3, #0] 8044918: b2db uxtb r3, r3 804491a: 2b06 cmp r3, #6 804491c: d114 bne.n 8044948 menupos = UpYes; 804491e: 4b07 ldr r3, [pc, #28] ; (804493c ) 8044920: 2207 movs r2, #7 8044922: 701a strb r2, [r3, #0] else { /*menu = ARCHIVE; menupos = ArchiveWave;*/ } break; 8044924: f001 bc35 b.w 8046192 8044928: 20025d1e .word 0x20025d1e 804492c: 20025d1a .word 0x20025d1a 8044930: 20025d20 .word 0x20025d20 8044934: 20025d16 .word 0x20025d16 8044938: 2002006c .word 0x2002006c 804493c: 20020070 .word 0x20020070 8044940: 20020f7a .word 0x20020f7a 8044944: 20020f78 .word 0x20020f78 if(menupos == UpYes) 8044948: 4bb8 ldr r3, [pc, #736] ; (8044c2c ) 804494a: 781b ldrb r3, [r3, #0] 804494c: b2db uxtb r3, r3 804494e: 2b07 cmp r3, #7 8044950: d104 bne.n 804495c menupos = UpNo; 8044952: 4bb6 ldr r3, [pc, #728] ; (8044c2c ) 8044954: 2206 movs r2, #6 8044956: 701a strb r2, [r3, #0] break; 8044958: f001 bc1b b.w 8046192 if(menupos == FilesGTR) 804495c: 4bb3 ldr r3, [pc, #716] ; (8044c2c ) 804495e: 781b ldrb r3, [r3, #0] 8044960: b2db uxtb r3, r3 8044962: 2b02 cmp r3, #2 8044964: f041 8415 bne.w 8046192 if(NumFilesDelete != 0) { 8044968: 4bb1 ldr r3, [pc, #708] ; (8044c30 ) 804496a: 681b ldr r3, [r3, #0] 804496c: 2b00 cmp r3, #0 804496e: f001 8410 beq.w 8046192 menupos = UpNo; 8044972: 4bae ldr r3, [pc, #696] ; (8044c2c ) 8044974: 2206 movs r2, #6 8044976: 701a strb r2, [r3, #0] break; 8044978: f001 bc0b b.w 8046192 case ROUTE: if(menupos == UpNo) 804497c: 4bab ldr r3, [pc, #684] ; (8044c2c ) 804497e: 781b ldrb r3, [r3, #0] 8044980: b2db uxtb r3, r3 8044982: 2b06 cmp r3, #6 8044984: d104 bne.n 8044990 menupos = UpYes; 8044986: 4ba9 ldr r3, [pc, #676] ; (8044c2c ) 8044988: 2207 movs r2, #7 804498a: 701a strb r2, [r3, #0] } } else { } break; 804498c: f001 bc04 b.w 8046198 if(menupos == UpYes) 8044990: 4ba6 ldr r3, [pc, #664] ; (8044c2c ) 8044992: 781b ldrb r3, [r3, #0] 8044994: b2db uxtb r3, r3 8044996: 2b07 cmp r3, #7 8044998: d104 bne.n 80449a4 menupos = UpNo; 804499a: 4ba4 ldr r3, [pc, #656] ; (8044c2c ) 804499c: 2206 movs r2, #6 804499e: 701a strb r2, [r3, #0] break; 80449a0: f001 bbfa b.w 8046198 if(menupos == FilesCSV) 80449a4: 4ba1 ldr r3, [pc, #644] ; (8044c2c ) 80449a6: 781b ldrb r3, [r3, #0] 80449a8: b2db uxtb r3, r3 80449aa: 2b02 cmp r3, #2 80449ac: f041 83f4 bne.w 8046198 if(NumFilesDelete != 0) { 80449b0: 4b9f ldr r3, [pc, #636] ; (8044c30 ) 80449b2: 681b ldr r3, [r3, #0] 80449b4: 2b00 cmp r3, #0 80449b6: f001 83ef beq.w 8046198 menupos = UpNo; 80449ba: 4b9c ldr r3, [pc, #624] ; (8044c2c ) 80449bc: 2206 movs r2, #6 80449be: 701a strb r2, [r3, #0] break; 80449c0: f001 bbea b.w 8046198 case PARAM_UDAR: switch(menupos) 80449c4: 4b99 ldr r3, [pc, #612] ; (8044c2c ) 80449c6: 781b ldrb r3, [r3, #0] 80449c8: b2db uxtb r3, r3 80449ca: 3b03 subs r3, #3 80449cc: 2b09 cmp r3, #9 80449ce: d83f bhi.n 8044a50 80449d0: a201 add r2, pc, #4 ; (adr r2, 80449d8 ) 80449d2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80449d6: bf00 nop 80449d8: 08044a01 .word 0x08044a01 80449dc: 08044a09 .word 0x08044a09 80449e0: 08044a11 .word 0x08044a11 80449e4: 08044a19 .word 0x08044a19 80449e8: 08044a21 .word 0x08044a21 80449ec: 08044a29 .word 0x08044a29 80449f0: 08044a31 .word 0x08044a31 80449f4: 08044a39 .word 0x08044a39 80449f8: 08044a41 .word 0x08044a41 80449fc: 08044a49 .word 0x08044a49 { case UdarRate_IET: menupos = UdarRate_IEE; break; 8044a00: 4b8a ldr r3, [pc, #552] ; (8044c2c ) 8044a02: 2206 movs r2, #6 8044a04: 701a strb r2, [r3, #0] 8044a06: e027 b.n 8044a58 case UdarRate_IES: menupos = UdarRate_IET; break; 8044a08: 4b88 ldr r3, [pc, #544] ; (8044c2c ) 8044a0a: 2203 movs r2, #3 8044a0c: 701a strb r2, [r3, #0] 8044a0e: e023 b.n 8044a58 case UdarRate_IED: menupos = UdarRate_IES; break; 8044a10: 4b86 ldr r3, [pc, #536] ; (8044c2c ) 8044a12: 2204 movs r2, #4 8044a14: 701a strb r2, [r3, #0] 8044a16: e01f b.n 8044a58 case UdarRate_IEE: menupos = UdarRate_IED; break; 8044a18: 4b84 ldr r3, [pc, #528] ; (8044c2c ) 8044a1a: 2205 movs r2, #5 8044a1c: 701a strb r2, [r3, #0] 8044a1e: e01b b.n 8044a58 case UdarInner_IES: menupos = UdarInner_IKT; break; 8044a20: 4b82 ldr r3, [pc, #520] ; (8044c2c ) 8044a22: 220c movs r2, #12 8044a24: 701a strb r2, [r3, #0] 8044a26: e017 b.n 8044a58 case UdarInner_IED: menupos = UdarInner_IES; break; 8044a28: 4b80 ldr r3, [pc, #512] ; (8044c2c ) 8044a2a: 2207 movs r2, #7 8044a2c: 701a strb r2, [r3, #0] 8044a2e: e013 b.n 8044a58 case UdarInner_IEE: menupos = UdarInner_IED; break; 8044a30: 4b7e ldr r3, [pc, #504] ; (8044c2c ) 8044a32: 2208 movs r2, #8 8044a34: 701a strb r2, [r3, #0] 8044a36: e00f b.n 8044a58 case UdarInner_IKD: menupos = UdarInner_IEE; break; 8044a38: 4b7c ldr r3, [pc, #496] ; (8044c2c ) 8044a3a: 2209 movs r2, #9 8044a3c: 701a strb r2, [r3, #0] 8044a3e: e00b b.n 8044a58 case UdarInner_IKS: menupos = UdarInner_IKD; break; 8044a40: 4b7a ldr r3, [pc, #488] ; (8044c2c ) 8044a42: 220a movs r2, #10 8044a44: 701a strb r2, [r3, #0] 8044a46: e007 b.n 8044a58 case UdarInner_IKT: menupos = UdarInner_IKS; break; 8044a48: 4b78 ldr r3, [pc, #480] ; (8044c2c ) 8044a4a: 220b movs r2, #11 8044a4c: 701a strb r2, [r3, #0] 8044a4e: e003 b.n 8044a58 default: menupos = Ok; 8044a50: 4b76 ldr r3, [pc, #472] ; (8044c2c ) 8044a52: 2200 movs r2, #0 8044a54: 701a strb r2, [r3, #0] break; 8044a56: bf00 nop } break; 8044a58: f001 bbc6 b.w 80461e8 case PARAM_ROLL: switch(menupos) 8044a5c: 4b73 ldr r3, [pc, #460] ; (8044c2c ) 8044a5e: 781b ldrb r3, [r3, #0] 8044a60: b2db uxtb r3, r3 8044a62: 3b01 subs r3, #1 8044a64: 2b2a cmp r3, #42 ; 0x2a 8044a66: f201 839a bhi.w 804619e 8044a6a: a201 add r2, pc, #4 ; (adr r2, 8044a70 ) 8044a6c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044a70: 08044c35 .word 0x08044c35 8044a74: 08044c9f .word 0x08044c9f 8044a78: 08044c9f .word 0x08044c9f 8044a7c: 08044c9f .word 0x08044c9f 8044a80: 08044c9f .word 0x08044c9f 8044a84: 08044c6b .word 0x08044c6b 8044a88: 08044c9f .word 0x08044c9f 8044a8c: 08044c9f .word 0x08044c9f 8044a90: 08044c9f .word 0x08044c9f 8044a94: 08044b3d .word 0x08044b3d 8044a98: 08044b45 .word 0x08044b45 8044a9c: 08044b4d .word 0x08044b4d 8044aa0: 08044b55 .word 0x08044b55 8044aa4: 08044b5d .word 0x08044b5d 8044aa8: 08044b65 .word 0x08044b65 8044aac: 08044b6d .word 0x08044b6d 8044ab0: 08044b75 .word 0x08044b75 8044ab4: 08044b7d .word 0x08044b7d 8044ab8: 08044b85 .word 0x08044b85 8044abc: 08044b8d .word 0x08044b8d 8044ac0: 08044b95 .word 0x08044b95 8044ac4: 08044b9d .word 0x08044b9d 8044ac8: 08044ba5 .word 0x08044ba5 8044acc: 08044bad .word 0x08044bad 8044ad0: 08044bb5 .word 0x08044bb5 8044ad4: 08044bbd .word 0x08044bbd 8044ad8: 08044bc5 .word 0x08044bc5 8044adc: 08044bcd .word 0x08044bcd 8044ae0: 08044bd5 .word 0x08044bd5 8044ae4: 08044bdd .word 0x08044bdd 8044ae8: 08044be5 .word 0x08044be5 8044aec: 08044bed .word 0x08044bed 8044af0: 08044bf5 .word 0x08044bf5 8044af4: 08044b1d .word 0x08044b1d 8044af8: 08044b25 .word 0x08044b25 8044afc: 08044b2d .word 0x08044b2d 8044b00: 08044b35 .word 0x08044b35 8044b04: 08044bfd .word 0x08044bfd 8044b08: 08044c25 .word 0x08044c25 8044b0c: 08044c1d .word 0x08044c1d 8044b10: 08044c15 .word 0x08044c15 8044b14: 08044c0d .word 0x08044c0d 8044b18: 08044c05 .word 0x08044c05 { case D_Rate_IET: menupos = D_Rate_IEE; break; 8044b1c: 4b43 ldr r3, [pc, #268] ; (8044c2c ) 8044b1e: 2225 movs r2, #37 ; 0x25 8044b20: 701a strb r2, [r3, #0] 8044b22: e0c0 b.n 8044ca6 case D_Rate_IES: menupos = D_Rate_IET; break; 8044b24: 4b41 ldr r3, [pc, #260] ; (8044c2c ) 8044b26: 2222 movs r2, #34 ; 0x22 8044b28: 701a strb r2, [r3, #0] 8044b2a: e0bc b.n 8044ca6 case D_Rate_IED: menupos = D_Rate_IES; break; 8044b2c: 4b3f ldr r3, [pc, #252] ; (8044c2c ) 8044b2e: 2223 movs r2, #35 ; 0x23 8044b30: 701a strb r2, [r3, #0] 8044b32: e0b8 b.n 8044ca6 case D_Rate_IEE: menupos = D_Rate_IED; break; 8044b34: 4b3d ldr r3, [pc, #244] ; (8044c2c ) 8044b36: 2224 movs r2, #36 ; 0x24 8044b38: 701a strb r2, [r3, #0] 8044b3a: e0b4 b.n 8044ca6 case D_Roll_IES: menupos = D_Roll_IKT; break; 8044b3c: 4b3b ldr r3, [pc, #236] ; (8044c2c ) 8044b3e: 220f movs r2, #15 8044b40: 701a strb r2, [r3, #0] 8044b42: e0b0 b.n 8044ca6 case D_Roll_IED: menupos = D_Roll_IES; break; 8044b44: 4b39 ldr r3, [pc, #228] ; (8044c2c ) 8044b46: 220a movs r2, #10 8044b48: 701a strb r2, [r3, #0] 8044b4a: e0ac b.n 8044ca6 case D_Roll_IEE: menupos = D_Roll_IED; break; 8044b4c: 4b37 ldr r3, [pc, #220] ; (8044c2c ) 8044b4e: 220b movs r2, #11 8044b50: 701a strb r2, [r3, #0] 8044b52: e0a8 b.n 8044ca6 case D_Roll_IKD: menupos = D_Roll_IEE; break; 8044b54: 4b35 ldr r3, [pc, #212] ; (8044c2c ) 8044b56: 220c movs r2, #12 8044b58: 701a strb r2, [r3, #0] 8044b5a: e0a4 b.n 8044ca6 case D_Roll_IKS: menupos = D_Roll_IKD; break; 8044b5c: 4b33 ldr r3, [pc, #204] ; (8044c2c ) 8044b5e: 220d movs r2, #13 8044b60: 701a strb r2, [r3, #0] 8044b62: e0a0 b.n 8044ca6 case D_Roll_IKT: menupos = D_Roll_IKS; break; 8044b64: 4b31 ldr r3, [pc, #196] ; (8044c2c ) 8044b66: 220e movs r2, #14 8044b68: 701a strb r2, [r3, #0] 8044b6a: e09c b.n 8044ca6 case D_Outer_IES: menupos = D_Outer_IKT; break; 8044b6c: 4b2f ldr r3, [pc, #188] ; (8044c2c ) 8044b6e: 2215 movs r2, #21 8044b70: 701a strb r2, [r3, #0] 8044b72: e098 b.n 8044ca6 case D_Outer_IED: menupos = D_Outer_IES; break; 8044b74: 4b2d ldr r3, [pc, #180] ; (8044c2c ) 8044b76: 2210 movs r2, #16 8044b78: 701a strb r2, [r3, #0] 8044b7a: e094 b.n 8044ca6 case D_Outer_IEE: menupos = D_Outer_IED; break; 8044b7c: 4b2b ldr r3, [pc, #172] ; (8044c2c ) 8044b7e: 2211 movs r2, #17 8044b80: 701a strb r2, [r3, #0] 8044b82: e090 b.n 8044ca6 case D_Outer_IKD: menupos = D_Outer_IEE; break; 8044b84: 4b29 ldr r3, [pc, #164] ; (8044c2c ) 8044b86: 2212 movs r2, #18 8044b88: 701a strb r2, [r3, #0] 8044b8a: e08c b.n 8044ca6 case D_Outer_IKS: menupos = D_Outer_IKD; break; 8044b8c: 4b27 ldr r3, [pc, #156] ; (8044c2c ) 8044b8e: 2213 movs r2, #19 8044b90: 701a strb r2, [r3, #0] 8044b92: e088 b.n 8044ca6 case D_Outer_IKT: menupos = D_Outer_IKS; break; 8044b94: 4b25 ldr r3, [pc, #148] ; (8044c2c ) 8044b96: 2214 movs r2, #20 8044b98: 701a strb r2, [r3, #0] 8044b9a: e084 b.n 8044ca6 case D_Inner_IES: menupos = D_Inner_IKT; break; 8044b9c: 4b23 ldr r3, [pc, #140] ; (8044c2c ) 8044b9e: 221b movs r2, #27 8044ba0: 701a strb r2, [r3, #0] 8044ba2: e080 b.n 8044ca6 case D_Inner_IED: menupos = D_Inner_IES; break; 8044ba4: 4b21 ldr r3, [pc, #132] ; (8044c2c ) 8044ba6: 2216 movs r2, #22 8044ba8: 701a strb r2, [r3, #0] 8044baa: e07c b.n 8044ca6 case D_Inner_IEE: menupos = D_Inner_IED; break; 8044bac: 4b1f ldr r3, [pc, #124] ; (8044c2c ) 8044bae: 2217 movs r2, #23 8044bb0: 701a strb r2, [r3, #0] 8044bb2: e078 b.n 8044ca6 case D_Inner_IKD: menupos = D_Inner_IEE; break; 8044bb4: 4b1d ldr r3, [pc, #116] ; (8044c2c ) 8044bb6: 2218 movs r2, #24 8044bb8: 701a strb r2, [r3, #0] 8044bba: e074 b.n 8044ca6 case D_Inner_IKS: menupos = D_Inner_IKD; break; 8044bbc: 4b1b ldr r3, [pc, #108] ; (8044c2c ) 8044bbe: 2219 movs r2, #25 8044bc0: 701a strb r2, [r3, #0] 8044bc2: e070 b.n 8044ca6 case D_Inner_IKT: menupos = D_Inner_IKS; break; 8044bc4: 4b19 ldr r3, [pc, #100] ; (8044c2c ) 8044bc6: 221a movs r2, #26 8044bc8: 701a strb r2, [r3, #0] 8044bca: e06c b.n 8044ca6 case D_Angle_IES: menupos = D_Angle_IKT; break; 8044bcc: 4b17 ldr r3, [pc, #92] ; (8044c2c ) 8044bce: 2221 movs r2, #33 ; 0x21 8044bd0: 701a strb r2, [r3, #0] 8044bd2: e068 b.n 8044ca6 case D_Angle_IED: menupos = D_Angle_IES; break; 8044bd4: 4b15 ldr r3, [pc, #84] ; (8044c2c ) 8044bd6: 221c movs r2, #28 8044bd8: 701a strb r2, [r3, #0] 8044bda: e064 b.n 8044ca6 case D_Angle_IEE: menupos = D_Angle_IED; break; 8044bdc: 4b13 ldr r3, [pc, #76] ; (8044c2c ) 8044bde: 221d movs r2, #29 8044be0: 701a strb r2, [r3, #0] 8044be2: e060 b.n 8044ca6 case D_Angle_IKD: menupos = D_Angle_IEE; break; 8044be4: 4b11 ldr r3, [pc, #68] ; (8044c2c ) 8044be6: 221e movs r2, #30 8044be8: 701a strb r2, [r3, #0] 8044bea: e05c b.n 8044ca6 case D_Angle_IKS: menupos = D_Angle_IKD; break; 8044bec: 4b0f ldr r3, [pc, #60] ; (8044c2c ) 8044bee: 221f movs r2, #31 8044bf0: 701a strb r2, [r3, #0] 8044bf2: e058 b.n 8044ca6 case D_Angle_IKT: menupos = D_Angle_IKS; break; 8044bf4: 4b0d ldr r3, [pc, #52] ; (8044c2c ) 8044bf6: 2220 movs r2, #32 8044bf8: 701a strb r2, [r3, #0] 8044bfa: e054 b.n 8044ca6 case RollMax_IDT: menupos = RollMax_IKD; break; 8044bfc: 4b0b ldr r3, [pc, #44] ; (8044c2c ) 8044bfe: 222b movs r2, #43 ; 0x2b 8044c00: 701a strb r2, [r3, #0] 8044c02: e050 b.n 8044ca6 case RollMax_IKD: menupos = RollMax_IEE; break; 8044c04: 4b09 ldr r3, [pc, #36] ; (8044c2c ) 8044c06: 222a movs r2, #42 ; 0x2a 8044c08: 701a strb r2, [r3, #0] 8044c0a: e04c b.n 8044ca6 case RollMax_IEE: menupos = RollMax_IED; break; 8044c0c: 4b07 ldr r3, [pc, #28] ; (8044c2c ) 8044c0e: 2229 movs r2, #41 ; 0x29 8044c10: 701a strb r2, [r3, #0] 8044c12: e048 b.n 8044ca6 case RollMax_IED: menupos = RollMax_IES; break; 8044c14: 4b05 ldr r3, [pc, #20] ; (8044c2c ) 8044c16: 2228 movs r2, #40 ; 0x28 8044c18: 701a strb r2, [r3, #0] 8044c1a: e044 b.n 8044ca6 case RollMax_IES: menupos = RollMax_IET; break; 8044c1c: 4b03 ldr r3, [pc, #12] ; (8044c2c ) 8044c1e: 2227 movs r2, #39 ; 0x27 8044c20: 701a strb r2, [r3, #0] 8044c22: e040 b.n 8044ca6 case RollMax_IET: menupos = RollMax_IDT; break; 8044c24: 4b01 ldr r3, [pc, #4] ; (8044c2c ) 8044c26: 2226 movs r2, #38 ; 0x26 8044c28: 701a strb r2, [r3, #0] 8044c2a: e03c b.n 8044ca6 8044c2c: 20020070 .word 0x20020070 8044c30: 20020e0c .word 0x20020e0c case RollCount: if(focused) 8044c34: 4ba3 ldr r3, [pc, #652] ; (8044ec4 ) 8044c36: 781b ldrb r3, [r3, #0] 8044c38: b2db uxtb r3, r3 8044c3a: 2b00 cmp r3, #0 8044c3c: d011 beq.n 8044c62 { if(pardata.ROLL_COUNT > 5) pardata.ROLL_COUNT--; 8044c3e: 4ba2 ldr r3, [pc, #648] ; (8044ec8 ) 8044c40: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8044c44: 2b05 cmp r3, #5 8044c46: d907 bls.n 8044c58 8044c48: 4b9f ldr r3, [pc, #636] ; (8044ec8 ) 8044c4a: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8044c4e: 3b01 subs r3, #1 8044c50: 4a9d ldr r2, [pc, #628] ; (8044ec8 ) 8044c52: f8c2 30bc str.w r3, [r2, #188] ; 0xbc else pardata.ROLL_COUNT = 99; } else menupos = Ok; break; 8044c56: e026 b.n 8044ca6 else pardata.ROLL_COUNT = 99; 8044c58: 4b9b ldr r3, [pc, #620] ; (8044ec8 ) 8044c5a: 2263 movs r2, #99 ; 0x63 8044c5c: f8c3 20bc str.w r2, [r3, #188] ; 0xbc break; 8044c60: e021 b.n 8044ca6 menupos = Ok; 8044c62: 4b9a ldr r3, [pc, #616] ; (8044ecc ) 8044c64: 2200 movs r2, #0 8044c66: 701a strb r2, [r3, #0] break; 8044c68: e01d b.n 8044ca6 case RollAverage: if(focused) 8044c6a: 4b96 ldr r3, [pc, #600] ; (8044ec4 ) 8044c6c: 781b ldrb r3, [r3, #0] 8044c6e: b2db uxtb r3, r3 8044c70: 2b00 cmp r3, #0 8044c72: d010 beq.n 8044c96 { if(pardata.AVG > AVG1) pardata.AVG--; 8044c74: 4b94 ldr r3, [pc, #592] ; (8044ec8 ) 8044c76: 7b5b ldrb r3, [r3, #13] 8044c78: b2db uxtb r3, r3 8044c7a: 2b00 cmp r3, #0 8044c7c: d007 beq.n 8044c8e 8044c7e: 4b92 ldr r3, [pc, #584] ; (8044ec8 ) 8044c80: 7b5b ldrb r3, [r3, #13] 8044c82: b2db uxtb r3, r3 8044c84: 3b01 subs r3, #1 8044c86: b2da uxtb r2, r3 8044c88: 4b8f ldr r3, [pc, #572] ; (8044ec8 ) 8044c8a: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } else menupos = Ok; break; 8044c8c: e00b b.n 8044ca6 else pardata.AVG = AVG512; 8044c8e: 4b8e ldr r3, [pc, #568] ; (8044ec8 ) 8044c90: 2209 movs r2, #9 8044c92: 735a strb r2, [r3, #13] break; 8044c94: e007 b.n 8044ca6 menupos = Ok; 8044c96: 4b8d ldr r3, [pc, #564] ; (8044ecc ) 8044c98: 2200 movs r2, #0 8044c9a: 701a strb r2, [r3, #0] break; 8044c9c: e003 b.n 8044ca6 case D_Inner: case D_Outer: case D_Angle: case RollAutoKu: case RollMax_ALL: menupos = Ok; 8044c9e: 4b8b ldr r3, [pc, #556] ; (8044ecc ) 8044ca0: 2200 movs r2, #0 8044ca2: 701a strb r2, [r3, #0] break; 8044ca4: bf00 nop } break; 8044ca6: f001 ba7a b.w 804619e case PARAM_VIB: switch(menupos) 8044caa: 4b88 ldr r3, [pc, #544] ; (8044ecc ) 8044cac: 781b ldrb r3, [r3, #0] 8044cae: b2db uxtb r3, r3 8044cb0: 3b02 subs r3, #2 8044cb2: 2b22 cmp r3, #34 ; 0x22 8044cb4: f201 8276 bhi.w 80461a4 8044cb8: a201 add r2, pc, #4 ; (adr r2, 8044cc0 ) 8044cba: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044cbe: bf00 nop 8044cc0: 08044ddd .word 0x08044ddd 8044cc4: 08044e11 .word 0x08044e11 8044cc8: 08044e45 .word 0x08044e45 8044ccc: 08044e79 .word 0x08044e79 8044cd0: 08044eb9 .word 0x08044eb9 8044cd4: 08044eb9 .word 0x08044eb9 8044cd8: 08044eb9 .word 0x08044eb9 8044cdc: 08044eb9 .word 0x08044eb9 8044ce0: 08044ead .word 0x08044ead 8044ce4: 08044d4d .word 0x08044d4d 8044ce8: 08044d75 .word 0x08044d75 8044cec: 08044d6d .word 0x08044d6d 8044cf0: 08044d65 .word 0x08044d65 8044cf4: 08044d5d .word 0x08044d5d 8044cf8: 08044d55 .word 0x08044d55 8044cfc: 080461a5 .word 0x080461a5 8044d00: 080461a5 .word 0x080461a5 8044d04: 080461a5 .word 0x080461a5 8044d08: 080461a5 .word 0x080461a5 8044d0c: 080461a5 .word 0x080461a5 8044d10: 080461a5 .word 0x080461a5 8044d14: 08044eb9 .word 0x08044eb9 8044d18: 08044eb9 .word 0x08044eb9 8044d1c: 08044d7d .word 0x08044d7d 8044d20: 08044da5 .word 0x08044da5 8044d24: 08044d9d .word 0x08044d9d 8044d28: 08044d95 .word 0x08044d95 8044d2c: 08044d8d .word 0x08044d8d 8044d30: 08044d85 .word 0x08044d85 8044d34: 08044dad .word 0x08044dad 8044d38: 08044dd5 .word 0x08044dd5 8044d3c: 08044dcd .word 0x08044dcd 8044d40: 08044dc5 .word 0x08044dc5 8044d44: 08044dbd .word 0x08044dbd 8044d48: 08044db5 .word 0x08044db5 { case VibMax_IDT: menupos = VibMax_IKD; break; 8044d4c: 4b5f ldr r3, [pc, #380] ; (8044ecc ) 8044d4e: 2210 movs r2, #16 8044d50: 701a strb r2, [r3, #0] 8044d52: e0b5 b.n 8044ec0 case VibMax_IKD: menupos = VibMax_IEE; break; 8044d54: 4b5d ldr r3, [pc, #372] ; (8044ecc ) 8044d56: 220f movs r2, #15 8044d58: 701a strb r2, [r3, #0] 8044d5a: e0b1 b.n 8044ec0 case VibMax_IEE: menupos = VibMax_IED; break; 8044d5c: 4b5b ldr r3, [pc, #364] ; (8044ecc ) 8044d5e: 220e movs r2, #14 8044d60: 701a strb r2, [r3, #0] 8044d62: e0ad b.n 8044ec0 case VibMax_IED: menupos = VibMax_IES; break; 8044d64: 4b59 ldr r3, [pc, #356] ; (8044ecc ) 8044d66: 220d movs r2, #13 8044d68: 701a strb r2, [r3, #0] 8044d6a: e0a9 b.n 8044ec0 case VibMax_IES: menupos = VibMax_IET; break; 8044d6c: 4b57 ldr r3, [pc, #348] ; (8044ecc ) 8044d6e: 220c movs r2, #12 8044d70: 701a strb r2, [r3, #0] 8044d72: e0a5 b.n 8044ec0 case VibMax_IET: menupos = VibMax_IDT; break; 8044d74: 4b55 ldr r3, [pc, #340] ; (8044ecc ) 8044d76: 220b movs r2, #11 8044d78: 701a strb r2, [r3, #0] 8044d7a: e0a1 b.n 8044ec0 case FilterHP_IDT: menupos = FilterHP_IKD; break; 8044d7c: 4b53 ldr r3, [pc, #332] ; (8044ecc ) 8044d7e: 221e movs r2, #30 8044d80: 701a strb r2, [r3, #0] 8044d82: e09d b.n 8044ec0 case FilterHP_IKD: menupos = FilterHP_IEE; break; 8044d84: 4b51 ldr r3, [pc, #324] ; (8044ecc ) 8044d86: 221d movs r2, #29 8044d88: 701a strb r2, [r3, #0] 8044d8a: e099 b.n 8044ec0 case FilterHP_IEE: menupos = FilterHP_IED; break; 8044d8c: 4b4f ldr r3, [pc, #316] ; (8044ecc ) 8044d8e: 221c movs r2, #28 8044d90: 701a strb r2, [r3, #0] 8044d92: e095 b.n 8044ec0 case FilterHP_IED: menupos = FilterHP_IES; break; 8044d94: 4b4d ldr r3, [pc, #308] ; (8044ecc ) 8044d96: 221b movs r2, #27 8044d98: 701a strb r2, [r3, #0] 8044d9a: e091 b.n 8044ec0 case FilterHP_IES: menupos = FilterHP_IET; break; 8044d9c: 4b4b ldr r3, [pc, #300] ; (8044ecc ) 8044d9e: 221a movs r2, #26 8044da0: 701a strb r2, [r3, #0] 8044da2: e08d b.n 8044ec0 case FilterHP_IET: menupos = FilterHP_IDT; break; 8044da4: 4b49 ldr r3, [pc, #292] ; (8044ecc ) 8044da6: 2219 movs r2, #25 8044da8: 701a strb r2, [r3, #0] 8044daa: e089 b.n 8044ec0 case FilterLP_IDT: menupos = FilterLP_IKD; break; 8044dac: 4b47 ldr r3, [pc, #284] ; (8044ecc ) 8044dae: 2224 movs r2, #36 ; 0x24 8044db0: 701a strb r2, [r3, #0] 8044db2: e085 b.n 8044ec0 case FilterLP_IKD: menupos = FilterLP_IEE; break; 8044db4: 4b45 ldr r3, [pc, #276] ; (8044ecc ) 8044db6: 2223 movs r2, #35 ; 0x23 8044db8: 701a strb r2, [r3, #0] 8044dba: e081 b.n 8044ec0 case FilterLP_IEE: menupos = FilterLP_IED; break; 8044dbc: 4b43 ldr r3, [pc, #268] ; (8044ecc ) 8044dbe: 2222 movs r2, #34 ; 0x22 8044dc0: 701a strb r2, [r3, #0] 8044dc2: e07d b.n 8044ec0 case FilterLP_IED: menupos = FilterLP_IES; break; 8044dc4: 4b41 ldr r3, [pc, #260] ; (8044ecc ) 8044dc6: 2221 movs r2, #33 ; 0x21 8044dc8: 701a strb r2, [r3, #0] 8044dca: e079 b.n 8044ec0 case FilterLP_IES: menupos = FilterLP_IET; break; 8044dcc: 4b3f ldr r3, [pc, #252] ; (8044ecc ) 8044dce: 2220 movs r2, #32 8044dd0: 701a strb r2, [r3, #0] 8044dd2: e075 b.n 8044ec0 case FilterLP_IET: menupos = FilterLP_IDT; break; 8044dd4: 4b3d ldr r3, [pc, #244] ; (8044ecc ) 8044dd6: 221f movs r2, #31 8044dd8: 701a strb r2, [r3, #0] 8044dda: e071 b.n 8044ec0 case ValueA: if(focused) 8044ddc: 4b39 ldr r3, [pc, #228] ; (8044ec4 ) 8044dde: 781b ldrb r3, [r3, #0] 8044de0: b2db uxtb r3, r3 8044de2: 2b00 cmp r3, #0 8044de4: d010 beq.n 8044e08 { if(pardata.IVS[ACC] > PEAK) pardata.IVS[ACC]--; 8044de6: 4b38 ldr r3, [pc, #224] ; (8044ec8 ) 8044de8: 789b ldrb r3, [r3, #2] 8044dea: b2db uxtb r3, r3 8044dec: 2b00 cmp r3, #0 8044dee: d007 beq.n 8044e00 8044df0: 4b35 ldr r3, [pc, #212] ; (8044ec8 ) 8044df2: 789b ldrb r3, [r3, #2] 8044df4: b2db uxtb r3, r3 8044df6: 3b01 subs r3, #1 8044df8: b2da uxtb r2, r3 8044dfa: 4b33 ldr r3, [pc, #204] ; (8044ec8 ) 8044dfc: 709a strb r2, [r3, #2] else pardata.IVS[ACC] = EXCESS; } else menupos = Ok; break; 8044dfe: e05f b.n 8044ec0 else pardata.IVS[ACC] = EXCESS; 8044e00: 4b31 ldr r3, [pc, #196] ; (8044ec8 ) 8044e02: 2204 movs r2, #4 8044e04: 709a strb r2, [r3, #2] break; 8044e06: e05b b.n 8044ec0 menupos = Ok; 8044e08: 4b30 ldr r3, [pc, #192] ; (8044ecc ) 8044e0a: 2200 movs r2, #0 8044e0c: 701a strb r2, [r3, #0] break; 8044e0e: e057 b.n 8044ec0 case ValueV: if(focused) 8044e10: 4b2c ldr r3, [pc, #176] ; (8044ec4 ) 8044e12: 781b ldrb r3, [r3, #0] 8044e14: b2db uxtb r3, r3 8044e16: 2b00 cmp r3, #0 8044e18: d010 beq.n 8044e3c { if(pardata.IVS[VEL] > PEAK) pardata.IVS[VEL]--; 8044e1a: 4b2b ldr r3, [pc, #172] ; (8044ec8 ) 8044e1c: 78db ldrb r3, [r3, #3] 8044e1e: b2db uxtb r3, r3 8044e20: 2b00 cmp r3, #0 8044e22: d007 beq.n 8044e34 8044e24: 4b28 ldr r3, [pc, #160] ; (8044ec8 ) 8044e26: 78db ldrb r3, [r3, #3] 8044e28: b2db uxtb r3, r3 8044e2a: 3b01 subs r3, #1 8044e2c: b2da uxtb r2, r3 8044e2e: 4b26 ldr r3, [pc, #152] ; (8044ec8 ) 8044e30: 70da strb r2, [r3, #3] else pardata.IVS[VEL] = EXCESS; } else menupos = Ok; break; 8044e32: e045 b.n 8044ec0 else pardata.IVS[VEL] = EXCESS; 8044e34: 4b24 ldr r3, [pc, #144] ; (8044ec8 ) 8044e36: 2204 movs r2, #4 8044e38: 70da strb r2, [r3, #3] break; 8044e3a: e041 b.n 8044ec0 menupos = Ok; 8044e3c: 4b23 ldr r3, [pc, #140] ; (8044ecc ) 8044e3e: 2200 movs r2, #0 8044e40: 701a strb r2, [r3, #0] break; 8044e42: e03d b.n 8044ec0 case ValueS: if(focused) 8044e44: 4b1f ldr r3, [pc, #124] ; (8044ec4 ) 8044e46: 781b ldrb r3, [r3, #0] 8044e48: b2db uxtb r3, r3 8044e4a: 2b00 cmp r3, #0 8044e4c: d010 beq.n 8044e70 { if(pardata.IVS[DIS] > PEAK) pardata.IVS[DIS]--; 8044e4e: 4b1e ldr r3, [pc, #120] ; (8044ec8 ) 8044e50: 791b ldrb r3, [r3, #4] 8044e52: b2db uxtb r3, r3 8044e54: 2b00 cmp r3, #0 8044e56: d007 beq.n 8044e68 8044e58: 4b1b ldr r3, [pc, #108] ; (8044ec8 ) 8044e5a: 791b ldrb r3, [r3, #4] 8044e5c: b2db uxtb r3, r3 8044e5e: 3b01 subs r3, #1 8044e60: b2da uxtb r2, r3 8044e62: 4b19 ldr r3, [pc, #100] ; (8044ec8 ) 8044e64: 711a strb r2, [r3, #4] else pardata.IVS[DIS] = EXCESS; } else menupos = Ok; break; 8044e66: e02b b.n 8044ec0 else pardata.IVS[DIS] = EXCESS; 8044e68: 4b17 ldr r3, [pc, #92] ; (8044ec8 ) 8044e6a: 2204 movs r2, #4 8044e6c: 711a strb r2, [r3, #4] break; 8044e6e: e027 b.n 8044ec0 menupos = Ok; 8044e70: 4b16 ldr r3, [pc, #88] ; (8044ecc ) 8044e72: 2200 movs r2, #0 8044e74: 701a strb r2, [r3, #0] break; 8044e76: e023 b.n 8044ec0 case Average: if(focused) 8044e78: 4b12 ldr r3, [pc, #72] ; (8044ec4 ) 8044e7a: 781b ldrb r3, [r3, #0] 8044e7c: b2db uxtb r3, r3 8044e7e: 2b00 cmp r3, #0 8044e80: d010 beq.n 8044ea4 { if(pardata.AVG > AVG1) pardata.AVG--; 8044e82: 4b11 ldr r3, [pc, #68] ; (8044ec8 ) 8044e84: 7b5b ldrb r3, [r3, #13] 8044e86: b2db uxtb r3, r3 8044e88: 2b00 cmp r3, #0 8044e8a: d007 beq.n 8044e9c 8044e8c: 4b0e ldr r3, [pc, #56] ; (8044ec8 ) 8044e8e: 7b5b ldrb r3, [r3, #13] 8044e90: b2db uxtb r3, r3 8044e92: 3b01 subs r3, #1 8044e94: b2da uxtb r2, r3 8044e96: 4b0c ldr r3, [pc, #48] ; (8044ec8 ) 8044e98: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } else menupos = Ok; break; 8044e9a: e011 b.n 8044ec0 else pardata.AVG = AVG512; 8044e9c: 4b0a ldr r3, [pc, #40] ; (8044ec8 ) 8044e9e: 2209 movs r2, #9 8044ea0: 735a strb r2, [r3, #13] break; 8044ea2: e00d b.n 8044ec0 menupos = Ok; 8044ea4: 4b09 ldr r3, [pc, #36] ; (8044ecc ) 8044ea6: 2200 movs r2, #0 8044ea8: 701a strb r2, [r3, #0] break; 8044eaa: e009 b.n 8044ec0 case SaveToFile: memset(MeasFileName, 0, sizeof(MeasFileName)); 8044eac: 2221 movs r2, #33 ; 0x21 8044eae: 2100 movs r1, #0 8044eb0: 4807 ldr r0, [pc, #28] ; (8044ed0 ) 8044eb2: f088 f8e5 bl 80cd080 break; 8044eb6: e003 b.n 8044ec0 case ViewFreq: case VibAutoKu: case VibMax_ALL: case FilterHP: case FilterLP: menupos = Ok; 8044eb8: 4b04 ldr r3, [pc, #16] ; (8044ecc ) 8044eba: 2200 movs r2, #0 8044ebc: 701a strb r2, [r3, #0] break; 8044ebe: bf00 nop } break; 8044ec0: f001 b970 b.w 80461a4 8044ec4: 20020f84 .word 0x20020f84 8044ec8: 20023e60 .word 0x20023e60 8044ecc: 20020070 .word 0x20020070 8044ed0: 20020e58 .word 0x20020e58 case PARAM_SPEC: switch(menupos) 8044ed4: 4bc5 ldr r3, [pc, #788] ; (80451ec ) 8044ed6: 781b ldrb r3, [r3, #0] 8044ed8: b2db uxtb r3, r3 8044eda: 3b01 subs r3, #1 8044edc: 2b23 cmp r3, #35 ; 0x23 8044ede: f201 8164 bhi.w 80461aa 8044ee2: a201 add r2, pc, #4 ; (adr r2, 8044ee8 ) 8044ee4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8044ee8: 08044f79 .word 0x08044f79 8044eec: 080454ed .word 0x080454ed 8044ef0: 080461ab .word 0x080461ab 8044ef4: 08045813 .word 0x08045813 8044ef8: 0804587b .word 0x0804587b 8044efc: 08045847 .word 0x08045847 8044f00: 080458a7 .word 0x080458a7 8044f04: 0804543f .word 0x0804543f 8044f08: 0804543f .word 0x0804543f 8044f0c: 080461ab .word 0x080461ab 8044f10: 08045447 .word 0x08045447 8044f14: 0804546f .word 0x0804546f 8044f18: 08045467 .word 0x08045467 8044f1c: 0804545f .word 0x0804545f 8044f20: 08045457 .word 0x08045457 8044f24: 0804544f .word 0x0804544f 8044f28: 080461ab .word 0x080461ab 8044f2c: 080461ab .word 0x080461ab 8044f30: 080461ab .word 0x080461ab 8044f34: 080461ab .word 0x080461ab 8044f38: 080461ab .word 0x080461ab 8044f3c: 080461ab .word 0x080461ab 8044f40: 080461ab .word 0x080461ab 8044f44: 080461ab .word 0x080461ab 8044f48: 08045477 .word 0x08045477 8044f4c: 0804549f .word 0x0804549f 8044f50: 08045497 .word 0x08045497 8044f54: 0804548f .word 0x0804548f 8044f58: 08045487 .word 0x08045487 8044f5c: 0804547f .word 0x0804547f 8044f60: 080454a7 .word 0x080454a7 8044f64: 080454cf .word 0x080454cf 8044f68: 080454c7 .word 0x080454c7 8044f6c: 080454bf .word 0x080454bf 8044f70: 080454b7 .word 0x080454b7 8044f74: 080454af .word 0x080454af { case SpecType: if(focused) 8044f78: 4b9d ldr r3, [pc, #628] ; (80451f0 ) 8044f7a: 781b ldrb r3, [r3, #0] 8044f7c: b2db uxtb r3, r3 8044f7e: 2b00 cmp r3, #0 8044f80: f000 8258 beq.w 8045434 { if((pardata.OPTIONS & maskFFT) == fft) 8044f84: 4b9b ldr r3, [pc, #620] ; (80451f4 ) 8044f86: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8044f8a: f003 0330 and.w r3, r3, #48 ; 0x30 8044f8e: 2b00 cmp r3, #0 8044f90: f040 809a bne.w 80450c8 { pardata.OPTIONS &= ~maskFFT; 8044f94: 4b97 ldr r3, [pc, #604] ; (80451f4 ) 8044f96: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8044f9a: f023 0330 bic.w r3, r3, #48 ; 0x30 8044f9e: 4a95 ldr r2, [pc, #596] ; (80451f4 ) 8044fa0: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= third; 8044fa4: 4b93 ldr r3, [pc, #588] ; (80451f4 ) 8044fa6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8044faa: f043 0330 orr.w r3, r3, #48 ; 0x30 8044fae: 4a91 ldr r2, [pc, #580] ; (80451f4 ) 8044fb0: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8044fb4: 4b8f ldr r3, [pc, #572] ; (80451f4 ) 8044fb6: 785b ldrb r3, [r3, #1] 8044fb8: b2db uxtb r3, r3 8044fba: 461a mov r2, r3 8044fbc: 4b8d ldr r3, [pc, #564] ; (80451f4 ) 8044fbe: 4413 add r3, r2 8044fc0: 789b ldrb r3, [r3, #2] 8044fc2: b2db uxtb r3, r3 8044fc4: 2b01 cmp r3, #1 8044fc6: d907 bls.n 8044fd8 pardata.IVS[pardata.IPR] = PEAK; 8044fc8: 4b8a ldr r3, [pc, #552] ; (80451f4 ) 8044fca: 785b ldrb r3, [r3, #1] 8044fcc: b2db uxtb r3, r3 8044fce: 461a mov r2, r3 8044fd0: 4b88 ldr r3, [pc, #544] ; (80451f4 ) 8044fd2: 4413 add r3, r2 8044fd4: 2200 movs r2, #0 8044fd6: 709a strb r2, [r3, #2] pardata.LNE = N3200; 8044fd8: 4b86 ldr r3, [pc, #536] ; (80451f4 ) 8044fda: 2203 movs r2, #3 8044fdc: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8044fde: 4b85 ldr r3, [pc, #532] ; (80451f4 ) 8044fe0: 2209 movs r2, #9 8044fe2: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8044fe4: 4b83 ldr r3, [pc, #524] ; (80451f4 ) 8044fe6: 785b ldrb r3, [r3, #1] 8044fe8: b2db uxtb r3, r3 8044fea: 2b00 cmp r3, #0 8044fec: d00e beq.n 804500c 8044fee: 4b81 ldr r3, [pc, #516] ; (80451f4 ) 8044ff0: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8044ff4: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8044ff8: eef4 7ac7 vcmpe.f32 s15, s14 8044ffc: eef1 fa10 vmrs APSR_nzcv, fpscr 8045000: d504 bpl.n 804500c pardata.HP = 2.0f; 8045002: 4b7c ldr r3, [pc, #496] ; (80451f4 ) 8045004: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8045008: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 804500c: 4b79 ldr r3, [pc, #484] ; (80451f4 ) 804500e: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8045012: 4b78 ldr r3, [pc, #480] ; (80451f4 ) 8045014: 7adb ldrb r3, [r3, #11] 8045016: b2db uxtb r3, r3 8045018: 461a mov r2, r3 804501a: 4b77 ldr r3, [pc, #476] ; (80451f8 ) 804501c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045020: ee07 3a90 vmov s15, r3 8045024: eef8 6a67 vcvt.f32.u32 s13, s15 8045028: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 804502c: eec6 7a86 vdiv.f32 s15, s13, s12 8045030: eeb4 7ae7 vcmpe.f32 s14, s15 8045034: eef1 fa10 vmrs APSR_nzcv, fpscr 8045038: dd15 ble.n 8045066 pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 804503a: 4b6e ldr r3, [pc, #440] ; (80451f4 ) 804503c: 7adb ldrb r3, [r3, #11] 804503e: b2db uxtb r3, r3 8045040: 461a mov r2, r3 8045042: 4b6d ldr r3, [pc, #436] ; (80451f8 ) 8045044: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045048: ee07 3a90 vmov s15, r3 804504c: eeb8 7a67 vcvt.f32.u32 s14, s15 8045050: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8045054: eec7 7a26 vdiv.f32 s15, s14, s13 8045058: ed9f 7a68 vldr s14, [pc, #416] ; 80451fc 804505c: ee77 7a87 vadd.f32 s15, s15, s14 8045060: 4b64 ldr r3, [pc, #400] ; (80451f4 ) 8045062: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8045066: 4b63 ldr r3, [pc, #396] ; (80451f4 ) 8045068: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 804506c: 4b61 ldr r3, [pc, #388] ; (80451f4 ) 804506e: 7adb ldrb r3, [r3, #11] 8045070: b2db uxtb r3, r3 8045072: 461a mov r2, r3 8045074: 4b60 ldr r3, [pc, #384] ; (80451f8 ) 8045076: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804507a: ee07 3a90 vmov s15, r3 804507e: eef8 6a67 vcvt.f32.u32 s13, s15 8045082: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8045086: eec6 7a86 vdiv.f32 s15, s13, s12 804508a: eeb4 7ae7 vcmpe.f32 s14, s15 804508e: eef1 fa10 vmrs APSR_nzcv, fpscr 8045092: dc01 bgt.n 8045098 } } } else menupos = Ok; break; 8045094: f000 bc21 b.w 80458da pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8045098: 4b56 ldr r3, [pc, #344] ; (80451f4 ) 804509a: 7adb ldrb r3, [r3, #11] 804509c: b2db uxtb r3, r3 804509e: 461a mov r2, r3 80450a0: 4b55 ldr r3, [pc, #340] ; (80451f8 ) 80450a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80450a6: ee07 3a90 vmov s15, r3 80450aa: eeb8 7a67 vcvt.f32.u32 s14, s15 80450ae: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80450b2: eec7 7a26 vdiv.f32 s15, s14, s13 80450b6: ed9f 7a51 vldr s14, [pc, #324] ; 80451fc 80450ba: ee77 7a87 vadd.f32 s15, s15, s14 80450be: 4b4d ldr r3, [pc, #308] ; (80451f4 ) 80450c0: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 80450c4: f000 bc09 b.w 80458da if((pardata.OPTIONS & maskFFT) == third) 80450c8: 4b4a ldr r3, [pc, #296] ; (80451f4 ) 80450ca: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80450ce: f003 0330 and.w r3, r3, #48 ; 0x30 80450d2: 2b30 cmp r3, #48 ; 0x30 80450d4: f040 80af bne.w 8045236 pardata.OPTIONS &= ~maskFFT; 80450d8: 4b46 ldr r3, [pc, #280] ; (80451f4 ) 80450da: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80450de: f023 0330 bic.w r3, r3, #48 ; 0x30 80450e2: 4a44 ldr r2, [pc, #272] ; (80451f4 ) 80450e4: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= okt; 80450e8: 4b42 ldr r3, [pc, #264] ; (80451f4 ) 80450ea: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80450ee: f043 0320 orr.w r3, r3, #32 80450f2: 4a40 ldr r2, [pc, #256] ; (80451f4 ) 80450f4: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 80450f8: 4b3e ldr r3, [pc, #248] ; (80451f4 ) 80450fa: 785b ldrb r3, [r3, #1] 80450fc: b2db uxtb r3, r3 80450fe: 461a mov r2, r3 8045100: 4b3c ldr r3, [pc, #240] ; (80451f4 ) 8045102: 4413 add r3, r2 8045104: 789b ldrb r3, [r3, #2] 8045106: b2db uxtb r3, r3 8045108: 2b01 cmp r3, #1 804510a: d907 bls.n 804511c pardata.IVS[pardata.IPR] = PEAK; 804510c: 4b39 ldr r3, [pc, #228] ; (80451f4 ) 804510e: 785b ldrb r3, [r3, #1] 8045110: b2db uxtb r3, r3 8045112: 461a mov r2, r3 8045114: 4b37 ldr r3, [pc, #220] ; (80451f4 ) 8045116: 4413 add r3, r2 8045118: 2200 movs r2, #0 804511a: 709a strb r2, [r3, #2] pardata.LNE = N3200; 804511c: 4b35 ldr r3, [pc, #212] ; (80451f4 ) 804511e: 2203 movs r2, #3 8045120: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8045122: 4b34 ldr r3, [pc, #208] ; (80451f4 ) 8045124: 2209 movs r2, #9 8045126: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8045128: 4b32 ldr r3, [pc, #200] ; (80451f4 ) 804512a: 785b ldrb r3, [r3, #1] 804512c: b2db uxtb r3, r3 804512e: 2b00 cmp r3, #0 8045130: d00e beq.n 8045150 8045132: 4b30 ldr r3, [pc, #192] ; (80451f4 ) 8045134: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8045138: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804513c: eef4 7ac7 vcmpe.f32 s15, s14 8045140: eef1 fa10 vmrs APSR_nzcv, fpscr 8045144: d504 bpl.n 8045150 pardata.HP = 2.0f; 8045146: 4b2b ldr r3, [pc, #172] ; (80451f4 ) 8045148: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 804514c: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8045150: 4b28 ldr r3, [pc, #160] ; (80451f4 ) 8045152: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8045156: 4b27 ldr r3, [pc, #156] ; (80451f4 ) 8045158: 7adb ldrb r3, [r3, #11] 804515a: b2db uxtb r3, r3 804515c: 461a mov r2, r3 804515e: 4b26 ldr r3, [pc, #152] ; (80451f8 ) 8045160: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045164: ee07 3a90 vmov s15, r3 8045168: eef8 6a67 vcvt.f32.u32 s13, s15 804516c: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8045170: eec6 7a86 vdiv.f32 s15, s13, s12 8045174: eddf 6a22 vldr s13, [pc, #136] ; 8045200 8045178: ee77 7aa6 vadd.f32 s15, s15, s13 804517c: eeb4 7ae7 vcmpe.f32 s14, s15 8045180: eef1 fa10 vmrs APSR_nzcv, fpscr 8045184: dd15 ble.n 80451b2 pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8045186: 4b1b ldr r3, [pc, #108] ; (80451f4 ) 8045188: 7adb ldrb r3, [r3, #11] 804518a: b2db uxtb r3, r3 804518c: 461a mov r2, r3 804518e: 4b1a ldr r3, [pc, #104] ; (80451f8 ) 8045190: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045194: 4a1b ldr r2, [pc, #108] ; (8045204 ) 8045196: fba2 2303 umull r2, r3, r2, r3 804519a: 089b lsrs r3, r3, #2 804519c: ee07 3a90 vmov s15, r3 80451a0: eef8 7a67 vcvt.f32.u32 s15, s15 80451a4: ed9f 7a15 vldr s14, [pc, #84] ; 80451fc 80451a8: ee77 7a87 vadd.f32 s15, s15, s14 80451ac: 4b11 ldr r3, [pc, #68] ; (80451f4 ) 80451ae: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80451b2: 4b10 ldr r3, [pc, #64] ; (80451f4 ) 80451b4: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80451b8: 4b0e ldr r3, [pc, #56] ; (80451f4 ) 80451ba: 7adb ldrb r3, [r3, #11] 80451bc: b2db uxtb r3, r3 80451be: 461a mov r2, r3 80451c0: 4b0d ldr r3, [pc, #52] ; (80451f8 ) 80451c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80451c6: ee07 3a90 vmov s15, r3 80451ca: eef8 6a67 vcvt.f32.u32 s13, s15 80451ce: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 80451d2: eec6 7a86 vdiv.f32 s15, s13, s12 80451d6: eddf 6a0a vldr s13, [pc, #40] ; 8045200 80451da: ee77 7aa6 vadd.f32 s15, s15, s13 80451de: eeb4 7ae7 vcmpe.f32 s14, s15 80451e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80451e6: dc0f bgt.n 8045208 break; 80451e8: e377 b.n 80458da 80451ea: bf00 nop 80451ec: 20020070 .word 0x20020070 80451f0: 20020f84 .word 0x20020f84 80451f4: 20023e60 .word 0x20023e60 80451f8: 080ee8c8 .word 0x080ee8c8 80451fc: 38d1b717 .word 0x38d1b717 8045200: 3851b717 .word 0x3851b717 8045204: cccccccd .word 0xcccccccd pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8045208: 4bb3 ldr r3, [pc, #716] ; (80454d8 ) 804520a: 7adb ldrb r3, [r3, #11] 804520c: b2db uxtb r3, r3 804520e: 461a mov r2, r3 8045210: 4bb2 ldr r3, [pc, #712] ; (80454dc ) 8045212: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045216: 4ab2 ldr r2, [pc, #712] ; (80454e0 ) 8045218: fba2 2303 umull r2, r3, r2, r3 804521c: 089b lsrs r3, r3, #2 804521e: ee07 3a90 vmov s15, r3 8045222: eef8 7a67 vcvt.f32.u32 s15, s15 8045226: ed9f 7aaf vldr s14, [pc, #700] ; 80454e4 804522a: ee77 7a87 vadd.f32 s15, s15, s14 804522e: 4baa ldr r3, [pc, #680] ; (80454d8 ) 8045230: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8045234: e351 b.n 80458da if((pardata.OPTIONS & maskFFT) == okt) 8045236: 4ba8 ldr r3, [pc, #672] ; (80454d8 ) 8045238: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804523c: f003 0330 and.w r3, r3, #48 ; 0x30 8045240: 2b20 cmp r3, #32 8045242: d178 bne.n 8045336 pardata.OPTIONS &= ~maskFFT; 8045244: 4ba4 ldr r3, [pc, #656] ; (80454d8 ) 8045246: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804524a: f023 0330 bic.w r3, r3, #48 ; 0x30 804524e: 4aa2 ldr r2, [pc, #648] ; (80454d8 ) 8045250: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= env; 8045254: 4ba0 ldr r3, [pc, #640] ; (80454d8 ) 8045256: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804525a: f043 0310 orr.w r3, r3, #16 804525e: 4a9e ldr r2, [pc, #632] ; (80454d8 ) 8045260: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8045264: 4b9c ldr r3, [pc, #624] ; (80454d8 ) 8045266: 785b ldrb r3, [r3, #1] 8045268: b2db uxtb r3, r3 804526a: 461a mov r2, r3 804526c: 4b9a ldr r3, [pc, #616] ; (80454d8 ) 804526e: 4413 add r3, r2 8045270: 789b ldrb r3, [r3, #2] 8045272: b2db uxtb r3, r3 8045274: 2b01 cmp r3, #1 8045276: d907 bls.n 8045288 pardata.IVS[pardata.IPR] = PEAK; 8045278: 4b97 ldr r3, [pc, #604] ; (80454d8 ) 804527a: 785b ldrb r3, [r3, #1] 804527c: b2db uxtb r3, r3 804527e: 461a mov r2, r3 8045280: 4b95 ldr r3, [pc, #596] ; (80454d8 ) 8045282: 4413 add r3, r2 8045284: 2200 movs r2, #0 8045286: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8045288: 4b93 ldr r3, [pc, #588] ; (80454d8 ) 804528a: 785b ldrb r3, [r3, #1] 804528c: b2db uxtb r3, r3 804528e: 2b00 cmp r3, #0 8045290: d00e beq.n 80452b0 8045292: 4b91 ldr r3, [pc, #580] ; (80454d8 ) 8045294: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8045298: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804529c: eef4 7ac7 vcmpe.f32 s15, s14 80452a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80452a4: d504 bpl.n 80452b0 pardata.HP = 2.0f; 80452a6: 4b8c ldr r3, [pc, #560] ; (80454d8 ) 80452a8: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80452ac: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 80452b0: 2309 movs r3, #9 80452b2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 80452b6: e039 b.n 804532c f = (float32_t) FS[k] / pardata.LP; 80452b8: 4a88 ldr r2, [pc, #544] ; (80454dc ) 80452ba: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80452be: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80452c2: ee07 3a90 vmov s15, r3 80452c6: eef8 6a67 vcvt.f32.u32 s13, s15 80452ca: 4b83 ldr r3, [pc, #524] ; (80454d8 ) 80452cc: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80452d0: eec6 7a87 vdiv.f32 s15, s13, s14 80452d4: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 80452d8: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80452dc: ed9f 7a81 vldr s14, [pc, #516] ; 80454e4 80452e0: ee77 7a87 vadd.f32 s15, s15, s14 80452e4: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 80452e8: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80452ec: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 80452f0: eef4 7ac7 vcmpe.f32 s15, s14 80452f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80452f8: d507 bpl.n 804530a pardata.FRQ = k + 1; 80452fa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80452fe: b2db uxtb r3, r3 8045300: 3301 adds r3, #1 8045302: b2da uxtb r2, r3 8045304: 4b74 ldr r3, [pc, #464] ; (80454d8 ) 8045306: 72da strb r2, [r3, #11] break; 8045308: e098 b.n 804543c if(k > 0) 804530a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804530e: 2b00 cmp r3, #0 8045310: d004 beq.n 804531c k--; 8045312: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045316: 3b01 subs r3, #1 8045318: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 804531c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045320: 2b00 cmp r3, #0 8045322: d103 bne.n 804532c pardata.FRQ = _125Hz; 8045324: 4b6c ldr r3, [pc, #432] ; (80454d8 ) 8045326: 2200 movs r2, #0 8045328: 72da strb r2, [r3, #11] break; 804532a: e087 b.n 804543c while(k > _125Hz) 804532c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045330: 2b00 cmp r3, #0 8045332: d1c1 bne.n 80452b8 break; 8045334: e2d1 b.n 80458da if((pardata.OPTIONS & maskFFT) == env) 8045336: 4b68 ldr r3, [pc, #416] ; (80454d8 ) 8045338: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804533c: f003 0330 and.w r3, r3, #48 ; 0x30 8045340: 2b10 cmp r3, #16 8045342: f040 82ca bne.w 80458da pardata.OPTIONS &= ~maskFFT; 8045346: 4b64 ldr r3, [pc, #400] ; (80454d8 ) 8045348: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804534c: f023 0330 bic.w r3, r3, #48 ; 0x30 8045350: 4a61 ldr r2, [pc, #388] ; (80454d8 ) 8045352: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= fft; 8045356: 4b60 ldr r3, [pc, #384] ; (80454d8 ) 8045358: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804535c: 4a5e ldr r2, [pc, #376] ; (80454d8 ) 804535e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8045362: 4b5d ldr r3, [pc, #372] ; (80454d8 ) 8045364: 785b ldrb r3, [r3, #1] 8045366: b2db uxtb r3, r3 8045368: 461a mov r2, r3 804536a: 4b5b ldr r3, [pc, #364] ; (80454d8 ) 804536c: 4413 add r3, r2 804536e: 789b ldrb r3, [r3, #2] 8045370: b2db uxtb r3, r3 8045372: 2b01 cmp r3, #1 8045374: d907 bls.n 8045386 pardata.IVS[pardata.IPR] = PEAK; 8045376: 4b58 ldr r3, [pc, #352] ; (80454d8 ) 8045378: 785b ldrb r3, [r3, #1] 804537a: b2db uxtb r3, r3 804537c: 461a mov r2, r3 804537e: 4b56 ldr r3, [pc, #344] ; (80454d8 ) 8045380: 4413 add r3, r2 8045382: 2200 movs r2, #0 8045384: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8045386: 4b54 ldr r3, [pc, #336] ; (80454d8 ) 8045388: 785b ldrb r3, [r3, #1] 804538a: b2db uxtb r3, r3 804538c: 2b00 cmp r3, #0 804538e: d00e beq.n 80453ae 8045390: 4b51 ldr r3, [pc, #324] ; (80454d8 ) 8045392: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8045396: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804539a: eef4 7ac7 vcmpe.f32 s15, s14 804539e: eef1 fa10 vmrs APSR_nzcv, fpscr 80453a2: d504 bpl.n 80453ae pardata.HP = 2.0f; 80453a4: 4b4c ldr r3, [pc, #304] ; (80454d8 ) 80453a6: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80453aa: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 80453ae: 2309 movs r3, #9 80453b0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 80453b4: e039 b.n 804542a f = (float32_t) FS[k] / pardata.LP; 80453b6: 4a49 ldr r2, [pc, #292] ; (80454dc ) 80453b8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80453bc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80453c0: ee07 3a90 vmov s15, r3 80453c4: eef8 6a67 vcvt.f32.u32 s13, s15 80453c8: 4b43 ldr r3, [pc, #268] ; (80454d8 ) 80453ca: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80453ce: eec6 7a87 vdiv.f32 s15, s13, s14 80453d2: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 80453d6: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80453da: ed9f 7a42 vldr s14, [pc, #264] ; 80454e4 80453de: ee77 7a87 vadd.f32 s15, s15, s14 80453e2: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 80453e6: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80453ea: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 80453ee: eef4 7ac7 vcmpe.f32 s15, s14 80453f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80453f6: d507 bpl.n 8045408 pardata.FRQ = k + 1; 80453f8: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80453fc: b2db uxtb r3, r3 80453fe: 3301 adds r3, #1 8045400: b2da uxtb r2, r3 8045402: 4b35 ldr r3, [pc, #212] ; (80454d8 ) 8045404: 72da strb r2, [r3, #11] break; 8045406: e019 b.n 804543c if(k > 0) 8045408: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804540c: 2b00 cmp r3, #0 804540e: d004 beq.n 804541a k--; 8045410: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8045414: 3b01 subs r3, #1 8045416: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 804541a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804541e: 2b00 cmp r3, #0 8045420: d103 bne.n 804542a pardata.FRQ = _125Hz; 8045422: 4b2d ldr r3, [pc, #180] ; (80454d8 ) 8045424: 2200 movs r2, #0 8045426: 72da strb r2, [r3, #11] break; 8045428: e008 b.n 804543c while(k > _125Hz) 804542a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804542e: 2b00 cmp r3, #0 8045430: d1c1 bne.n 80453b6 break; 8045432: e252 b.n 80458da menupos = Ok; 8045434: 4b2c ldr r3, [pc, #176] ; (80454e8 ) 8045436: 2200 movs r2, #0 8045438: 701a strb r2, [r3, #0] break; 804543a: e24e b.n 80458da 804543c: e24d b.n 80458da case VibMax_ALL: case VibAutoKu: menupos = Ok; 804543e: 4b2a ldr r3, [pc, #168] ; (80454e8 ) 8045440: 2200 movs r2, #0 8045442: 701a strb r2, [r3, #0] break; 8045444: e24a b.n 80458dc case VibMax_IDT: menupos = VibMax_IKD; break; 8045446: 4b28 ldr r3, [pc, #160] ; (80454e8 ) 8045448: 2210 movs r2, #16 804544a: 701a strb r2, [r3, #0] 804544c: e246 b.n 80458dc case VibMax_IKD: menupos = VibMax_IEE; break; 804544e: 4b26 ldr r3, [pc, #152] ; (80454e8 ) 8045450: 220f movs r2, #15 8045452: 701a strb r2, [r3, #0] 8045454: e242 b.n 80458dc case VibMax_IEE: menupos = VibMax_IED; break; 8045456: 4b24 ldr r3, [pc, #144] ; (80454e8 ) 8045458: 220e movs r2, #14 804545a: 701a strb r2, [r3, #0] 804545c: e23e b.n 80458dc case VibMax_IED: menupos = VibMax_IES; break; 804545e: 4b22 ldr r3, [pc, #136] ; (80454e8 ) 8045460: 220d movs r2, #13 8045462: 701a strb r2, [r3, #0] 8045464: e23a b.n 80458dc case VibMax_IES: menupos = VibMax_IET; break; 8045466: 4b20 ldr r3, [pc, #128] ; (80454e8 ) 8045468: 220c movs r2, #12 804546a: 701a strb r2, [r3, #0] 804546c: e236 b.n 80458dc case VibMax_IET: menupos = VibMax_IDT; break; 804546e: 4b1e ldr r3, [pc, #120] ; (80454e8 ) 8045470: 220b movs r2, #11 8045472: 701a strb r2, [r3, #0] 8045474: e232 b.n 80458dc case FilterHP_IDT: menupos = FilterHP_IKD; break; 8045476: 4b1c ldr r3, [pc, #112] ; (80454e8 ) 8045478: 221e movs r2, #30 804547a: 701a strb r2, [r3, #0] 804547c: e22e b.n 80458dc case FilterHP_IKD: menupos = FilterHP_IEE; break; 804547e: 4b1a ldr r3, [pc, #104] ; (80454e8 ) 8045480: 221d movs r2, #29 8045482: 701a strb r2, [r3, #0] 8045484: e22a b.n 80458dc case FilterHP_IEE: menupos = FilterHP_IED; break; 8045486: 4b18 ldr r3, [pc, #96] ; (80454e8 ) 8045488: 221c movs r2, #28 804548a: 701a strb r2, [r3, #0] 804548c: e226 b.n 80458dc case FilterHP_IED: menupos = FilterHP_IES; break; 804548e: 4b16 ldr r3, [pc, #88] ; (80454e8 ) 8045490: 221b movs r2, #27 8045492: 701a strb r2, [r3, #0] 8045494: e222 b.n 80458dc case FilterHP_IES: menupos = FilterHP_IET; break; 8045496: 4b14 ldr r3, [pc, #80] ; (80454e8 ) 8045498: 221a movs r2, #26 804549a: 701a strb r2, [r3, #0] 804549c: e21e b.n 80458dc case FilterHP_IET: menupos = FilterHP_IDT; break; 804549e: 4b12 ldr r3, [pc, #72] ; (80454e8 ) 80454a0: 2219 movs r2, #25 80454a2: 701a strb r2, [r3, #0] 80454a4: e21a b.n 80458dc case FilterLP_IDT: menupos = FilterLP_IKD; break; 80454a6: 4b10 ldr r3, [pc, #64] ; (80454e8 ) 80454a8: 2224 movs r2, #36 ; 0x24 80454aa: 701a strb r2, [r3, #0] 80454ac: e216 b.n 80458dc case FilterLP_IKD: menupos = FilterLP_IEE; break; 80454ae: 4b0e ldr r3, [pc, #56] ; (80454e8 ) 80454b0: 2223 movs r2, #35 ; 0x23 80454b2: 701a strb r2, [r3, #0] 80454b4: e212 b.n 80458dc case FilterLP_IEE: menupos = FilterLP_IED; break; 80454b6: 4b0c ldr r3, [pc, #48] ; (80454e8 ) 80454b8: 2222 movs r2, #34 ; 0x22 80454ba: 701a strb r2, [r3, #0] 80454bc: e20e b.n 80458dc case FilterLP_IED: menupos = FilterLP_IES; break; 80454be: 4b0a ldr r3, [pc, #40] ; (80454e8 ) 80454c0: 2221 movs r2, #33 ; 0x21 80454c2: 701a strb r2, [r3, #0] 80454c4: e20a b.n 80458dc case FilterLP_IES: menupos = FilterLP_IET; break; 80454c6: 4b08 ldr r3, [pc, #32] ; (80454e8 ) 80454c8: 2220 movs r2, #32 80454ca: 701a strb r2, [r3, #0] 80454cc: e206 b.n 80458dc case FilterLP_IET: menupos = FilterLP_IDT; break; 80454ce: 4b06 ldr r3, [pc, #24] ; (80454e8 ) 80454d0: 221f movs r2, #31 80454d2: 701a strb r2, [r3, #0] 80454d4: e202 b.n 80458dc 80454d6: bf00 nop 80454d8: 20023e60 .word 0x20023e60 80454dc: 080ee8c8 .word 0x080ee8c8 80454e0: cccccccd .word 0xcccccccd 80454e4: 38d1b717 .word 0x38d1b717 80454e8: 20020070 .word 0x20020070 case SpecValue: if(focused) 80454ec: 4bb5 ldr r3, [pc, #724] ; (80457c4 ) 80454ee: 781b ldrb r3, [r3, #0] 80454f0: b2db uxtb r3, r3 80454f2: 2b00 cmp r3, #0 80454f4: f000 8189 beq.w 804580a { if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == PEAK)) 80454f8: 4bb3 ldr r3, [pc, #716] ; (80457c8 ) 80454fa: 785b ldrb r3, [r3, #1] 80454fc: b2db uxtb r3, r3 80454fe: 2b00 cmp r3, #0 8045500: d115 bne.n 804552e 8045502: 4bb1 ldr r3, [pc, #708] ; (80457c8 ) 8045504: 785b ldrb r3, [r3, #1] 8045506: b2db uxtb r3, r3 8045508: 461a mov r2, r3 804550a: 4baf ldr r3, [pc, #700] ; (80457c8 ) 804550c: 4413 add r3, r2 804550e: 789b ldrb r3, [r3, #2] 8045510: b2db uxtb r3, r3 8045512: 2b00 cmp r3, #0 8045514: d10b bne.n 804552e { pardata.IPR = DIS; 8045516: 4bac ldr r3, [pc, #688] ; (80457c8 ) 8045518: 2202 movs r2, #2 804551a: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 804551c: 4baa ldr r3, [pc, #680] ; (80457c8 ) 804551e: 785b ldrb r3, [r3, #1] 8045520: b2db uxtb r3, r3 8045522: 461a mov r2, r3 8045524: 4ba8 ldr r3, [pc, #672] ; (80457c8 ) 8045526: 4413 add r3, r2 8045528: 2201 movs r2, #1 804552a: 709a strb r2, [r3, #2] 804552c: e085 b.n 804563a } else if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == RMS)) 804552e: 4ba6 ldr r3, [pc, #664] ; (80457c8 ) 8045530: 785b ldrb r3, [r3, #1] 8045532: b2db uxtb r3, r3 8045534: 2b00 cmp r3, #0 8045536: d115 bne.n 8045564 8045538: 4ba3 ldr r3, [pc, #652] ; (80457c8 ) 804553a: 785b ldrb r3, [r3, #1] 804553c: b2db uxtb r3, r3 804553e: 461a mov r2, r3 8045540: 4ba1 ldr r3, [pc, #644] ; (80457c8 ) 8045542: 4413 add r3, r2 8045544: 789b ldrb r3, [r3, #2] 8045546: b2db uxtb r3, r3 8045548: 2b01 cmp r3, #1 804554a: d10b bne.n 8045564 { pardata.IPR = ACC; 804554c: 4b9e ldr r3, [pc, #632] ; (80457c8 ) 804554e: 2200 movs r2, #0 8045550: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 8045552: 4b9d ldr r3, [pc, #628] ; (80457c8 ) 8045554: 785b ldrb r3, [r3, #1] 8045556: b2db uxtb r3, r3 8045558: 461a mov r2, r3 804555a: 4b9b ldr r3, [pc, #620] ; (80457c8 ) 804555c: 4413 add r3, r2 804555e: 2200 movs r2, #0 8045560: 709a strb r2, [r3, #2] 8045562: e06a b.n 804563a } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == PEAK)) 8045564: 4b98 ldr r3, [pc, #608] ; (80457c8 ) 8045566: 785b ldrb r3, [r3, #1] 8045568: b2db uxtb r3, r3 804556a: 2b01 cmp r3, #1 804556c: d115 bne.n 804559a 804556e: 4b96 ldr r3, [pc, #600] ; (80457c8 ) 8045570: 785b ldrb r3, [r3, #1] 8045572: b2db uxtb r3, r3 8045574: 461a mov r2, r3 8045576: 4b94 ldr r3, [pc, #592] ; (80457c8 ) 8045578: 4413 add r3, r2 804557a: 789b ldrb r3, [r3, #2] 804557c: b2db uxtb r3, r3 804557e: 2b00 cmp r3, #0 8045580: d10b bne.n 804559a { pardata.IPR = ACC; 8045582: 4b91 ldr r3, [pc, #580] ; (80457c8 ) 8045584: 2200 movs r2, #0 8045586: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 8045588: 4b8f ldr r3, [pc, #572] ; (80457c8 ) 804558a: 785b ldrb r3, [r3, #1] 804558c: b2db uxtb r3, r3 804558e: 461a mov r2, r3 8045590: 4b8d ldr r3, [pc, #564] ; (80457c8 ) 8045592: 4413 add r3, r2 8045594: 2201 movs r2, #1 8045596: 709a strb r2, [r3, #2] 8045598: e04f b.n 804563a } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == RMS)) 804559a: 4b8b ldr r3, [pc, #556] ; (80457c8 ) 804559c: 785b ldrb r3, [r3, #1] 804559e: b2db uxtb r3, r3 80455a0: 2b01 cmp r3, #1 80455a2: d115 bne.n 80455d0 80455a4: 4b88 ldr r3, [pc, #544] ; (80457c8 ) 80455a6: 785b ldrb r3, [r3, #1] 80455a8: b2db uxtb r3, r3 80455aa: 461a mov r2, r3 80455ac: 4b86 ldr r3, [pc, #536] ; (80457c8 ) 80455ae: 4413 add r3, r2 80455b0: 789b ldrb r3, [r3, #2] 80455b2: b2db uxtb r3, r3 80455b4: 2b01 cmp r3, #1 80455b6: d10b bne.n 80455d0 { pardata.IPR = VEL; 80455b8: 4b83 ldr r3, [pc, #524] ; (80457c8 ) 80455ba: 2201 movs r2, #1 80455bc: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 80455be: 4b82 ldr r3, [pc, #520] ; (80457c8 ) 80455c0: 785b ldrb r3, [r3, #1] 80455c2: b2db uxtb r3, r3 80455c4: 461a mov r2, r3 80455c6: 4b80 ldr r3, [pc, #512] ; (80457c8 ) 80455c8: 4413 add r3, r2 80455ca: 2200 movs r2, #0 80455cc: 709a strb r2, [r3, #2] 80455ce: e034 b.n 804563a } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == PEAK)) 80455d0: 4b7d ldr r3, [pc, #500] ; (80457c8 ) 80455d2: 785b ldrb r3, [r3, #1] 80455d4: b2db uxtb r3, r3 80455d6: 2b02 cmp r3, #2 80455d8: d115 bne.n 8045606 80455da: 4b7b ldr r3, [pc, #492] ; (80457c8 ) 80455dc: 785b ldrb r3, [r3, #1] 80455de: b2db uxtb r3, r3 80455e0: 461a mov r2, r3 80455e2: 4b79 ldr r3, [pc, #484] ; (80457c8 ) 80455e4: 4413 add r3, r2 80455e6: 789b ldrb r3, [r3, #2] 80455e8: b2db uxtb r3, r3 80455ea: 2b00 cmp r3, #0 80455ec: d10b bne.n 8045606 { pardata.IPR = VEL; 80455ee: 4b76 ldr r3, [pc, #472] ; (80457c8 ) 80455f0: 2201 movs r2, #1 80455f2: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 80455f4: 4b74 ldr r3, [pc, #464] ; (80457c8 ) 80455f6: 785b ldrb r3, [r3, #1] 80455f8: b2db uxtb r3, r3 80455fa: 461a mov r2, r3 80455fc: 4b72 ldr r3, [pc, #456] ; (80457c8 ) 80455fe: 4413 add r3, r2 8045600: 2201 movs r2, #1 8045602: 709a strb r2, [r3, #2] 8045604: e019 b.n 804563a } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == RMS)) 8045606: 4b70 ldr r3, [pc, #448] ; (80457c8 ) 8045608: 785b ldrb r3, [r3, #1] 804560a: b2db uxtb r3, r3 804560c: 2b02 cmp r3, #2 804560e: d114 bne.n 804563a 8045610: 4b6d ldr r3, [pc, #436] ; (80457c8 ) 8045612: 785b ldrb r3, [r3, #1] 8045614: b2db uxtb r3, r3 8045616: 461a mov r2, r3 8045618: 4b6b ldr r3, [pc, #428] ; (80457c8 ) 804561a: 4413 add r3, r2 804561c: 789b ldrb r3, [r3, #2] 804561e: b2db uxtb r3, r3 8045620: 2b01 cmp r3, #1 8045622: d10a bne.n 804563a { pardata.IPR = DIS; 8045624: 4b68 ldr r3, [pc, #416] ; (80457c8 ) 8045626: 2202 movs r2, #2 8045628: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 804562a: 4b67 ldr r3, [pc, #412] ; (80457c8 ) 804562c: 785b ldrb r3, [r3, #1] 804562e: b2db uxtb r3, r3 8045630: 461a mov r2, r3 8045632: 4b65 ldr r3, [pc, #404] ; (80457c8 ) 8045634: 4413 add r3, r2 8045636: 2200 movs r2, #0 8045638: 709a strb r2, [r3, #2] } if(pardata.IPR > ACC) 804563a: 4b63 ldr r3, [pc, #396] ; (80457c8 ) 804563c: 785b ldrb r3, [r3, #1] 804563e: b2db uxtb r3, r3 8045640: 2b00 cmp r3, #0 8045642: d00e beq.n 8045662 { if(pardata.HP < 2.0f) 8045644: 4b60 ldr r3, [pc, #384] ; (80457c8 ) 8045646: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804564a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804564e: eef4 7ac7 vcmpe.f32 s15, s14 8045652: eef1 fa10 vmrs APSR_nzcv, fpscr 8045656: d504 bpl.n 8045662 pardata.HP = 2.0f; 8045658: 4b5b ldr r3, [pc, #364] ; (80457c8 ) 804565a: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 804565e: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } if((pardata.OPTIONS & maskFFT) < third) 8045662: 4b59 ldr r3, [pc, #356] ; (80457c8 ) 8045664: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8045668: f003 0330 and.w r3, r3, #48 ; 0x30 804566c: 2b2f cmp r3, #47 ; 0x2f 804566e: d863 bhi.n 8045738 { if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8045670: 4b55 ldr r3, [pc, #340] ; (80457c8 ) 8045672: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8045676: 4b54 ldr r3, [pc, #336] ; (80457c8 ) 8045678: 7adb ldrb r3, [r3, #11] 804567a: b2db uxtb r3, r3 804567c: 461a mov r2, r3 804567e: 4b53 ldr r3, [pc, #332] ; (80457cc ) 8045680: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045684: ee07 3a90 vmov s15, r3 8045688: eef8 6a67 vcvt.f32.u32 s13, s15 804568c: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8045690: eec6 7a86 vdiv.f32 s15, s13, s12 8045694: eddf 6a4e vldr s13, [pc, #312] ; 80457d0 8045698: ee77 7aa6 vadd.f32 s15, s15, s13 804569c: eeb4 7ae7 vcmpe.f32 s14, s15 80456a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80456a4: dd15 ble.n 80456d2 pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 80456a6: 4b48 ldr r3, [pc, #288] ; (80457c8 ) 80456a8: 7adb ldrb r3, [r3, #11] 80456aa: b2db uxtb r3, r3 80456ac: 461a mov r2, r3 80456ae: 4b47 ldr r3, [pc, #284] ; (80457cc ) 80456b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80456b4: 4a47 ldr r2, [pc, #284] ; (80457d4 ) 80456b6: fba2 2303 umull r2, r3, r2, r3 80456ba: 089b lsrs r3, r3, #2 80456bc: ee07 3a90 vmov s15, r3 80456c0: eef8 7a67 vcvt.f32.u32 s15, s15 80456c4: ed9f 7a44 vldr s14, [pc, #272] ; 80457d8 80456c8: ee77 7a87 vadd.f32 s15, s15, s14 80456cc: 4b3e ldr r3, [pc, #248] ; (80457c8 ) 80456ce: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80456d2: 4b3d ldr r3, [pc, #244] ; (80457c8 ) 80456d4: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80456d8: 4b3b ldr r3, [pc, #236] ; (80457c8 ) 80456da: 7adb ldrb r3, [r3, #11] 80456dc: b2db uxtb r3, r3 80456de: 461a mov r2, r3 80456e0: 4b3a ldr r3, [pc, #232] ; (80457cc ) 80456e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80456e6: ee07 3a90 vmov s15, r3 80456ea: eef8 6a67 vcvt.f32.u32 s13, s15 80456ee: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 80456f2: eec6 7a86 vdiv.f32 s15, s13, s12 80456f6: eddf 6a36 vldr s13, [pc, #216] ; 80457d0 80456fa: ee77 7aa6 vadd.f32 s15, s15, s13 80456fe: eeb4 7ae7 vcmpe.f32 s14, s15 8045702: eef1 fa10 vmrs APSR_nzcv, fpscr 8045706: dc00 bgt.n 804570a pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; } } else menupos = Ok; break; 8045708: e0e8 b.n 80458dc pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 804570a: 4b2f ldr r3, [pc, #188] ; (80457c8 ) 804570c: 7adb ldrb r3, [r3, #11] 804570e: b2db uxtb r3, r3 8045710: 461a mov r2, r3 8045712: 4b2e ldr r3, [pc, #184] ; (80457cc ) 8045714: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045718: 4a2e ldr r2, [pc, #184] ; (80457d4 ) 804571a: fba2 2303 umull r2, r3, r2, r3 804571e: 089b lsrs r3, r3, #2 8045720: ee07 3a90 vmov s15, r3 8045724: eef8 7a67 vcvt.f32.u32 s15, s15 8045728: ed9f 7a2b vldr s14, [pc, #172] ; 80457d8 804572c: ee77 7a87 vadd.f32 s15, s15, s14 8045730: 4b25 ldr r3, [pc, #148] ; (80457c8 ) 8045732: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8045736: e0d1 b.n 80458dc if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8045738: 4b23 ldr r3, [pc, #140] ; (80457c8 ) 804573a: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 804573e: 4b22 ldr r3, [pc, #136] ; (80457c8 ) 8045740: 7adb ldrb r3, [r3, #11] 8045742: b2db uxtb r3, r3 8045744: 461a mov r2, r3 8045746: 4b21 ldr r3, [pc, #132] ; (80457cc ) 8045748: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804574c: ee07 3a90 vmov s15, r3 8045750: eef8 6a67 vcvt.f32.u32 s13, s15 8045754: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8045758: eec6 7a86 vdiv.f32 s15, s13, s12 804575c: eeb4 7ae7 vcmpe.f32 s14, s15 8045760: eef1 fa10 vmrs APSR_nzcv, fpscr 8045764: dd15 ble.n 8045792 pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8045766: 4b18 ldr r3, [pc, #96] ; (80457c8 ) 8045768: 7adb ldrb r3, [r3, #11] 804576a: b2db uxtb r3, r3 804576c: 461a mov r2, r3 804576e: 4b17 ldr r3, [pc, #92] ; (80457cc ) 8045770: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045774: ee07 3a90 vmov s15, r3 8045778: eeb8 7a67 vcvt.f32.u32 s14, s15 804577c: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8045780: eec7 7a26 vdiv.f32 s15, s14, s13 8045784: ed9f 7a14 vldr s14, [pc, #80] ; 80457d8 8045788: ee77 7a87 vadd.f32 s15, s15, s14 804578c: 4b0e ldr r3, [pc, #56] ; (80457c8 ) 804578e: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8045792: 4b0d ldr r3, [pc, #52] ; (80457c8 ) 8045794: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8045798: 4b0b ldr r3, [pc, #44] ; (80457c8 ) 804579a: 7adb ldrb r3, [r3, #11] 804579c: b2db uxtb r3, r3 804579e: 461a mov r2, r3 80457a0: 4b0a ldr r3, [pc, #40] ; (80457cc ) 80457a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80457a6: ee07 3a90 vmov s15, r3 80457aa: eef8 6a67 vcvt.f32.u32 s13, s15 80457ae: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 80457b2: eec6 7a86 vdiv.f32 s15, s13, s12 80457b6: eeb4 7ae7 vcmpe.f32 s14, s15 80457ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80457be: dc0d bgt.n 80457dc break; 80457c0: e08c b.n 80458dc 80457c2: bf00 nop 80457c4: 20020f84 .word 0x20020f84 80457c8: 20023e60 .word 0x20023e60 80457cc: 080ee8c8 .word 0x080ee8c8 80457d0: 3851b717 .word 0x3851b717 80457d4: cccccccd .word 0xcccccccd 80457d8: 38d1b717 .word 0x38d1b717 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 80457dc: 4b87 ldr r3, [pc, #540] ; (80459fc ) 80457de: 7adb ldrb r3, [r3, #11] 80457e0: b2db uxtb r3, r3 80457e2: 461a mov r2, r3 80457e4: 4b86 ldr r3, [pc, #536] ; (8045a00 ) 80457e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80457ea: ee07 3a90 vmov s15, r3 80457ee: eeb8 7a67 vcvt.f32.u32 s14, s15 80457f2: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80457f6: eec7 7a26 vdiv.f32 s15, s14, s13 80457fa: ed9f 7a82 vldr s14, [pc, #520] ; 8045a04 80457fe: ee77 7a87 vadd.f32 s15, s15, s14 8045802: 4b7e ldr r3, [pc, #504] ; (80459fc ) 8045804: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8045808: e068 b.n 80458dc menupos = Ok; 804580a: 4b7f ldr r3, [pc, #508] ; (8045a08 ) 804580c: 2200 movs r2, #0 804580e: 701a strb r2, [r3, #0] break; 8045810: e064 b.n 80458dc case SpecLines: if(focused) 8045812: 4b7e ldr r3, [pc, #504] ; (8045a0c ) 8045814: 781b ldrb r3, [r3, #0] 8045816: b2db uxtb r3, r3 8045818: 2b00 cmp r3, #0 804581a: d010 beq.n 804583e { if(pardata.LNE < N3200) pardata.LNE++; 804581c: 4b77 ldr r3, [pc, #476] ; (80459fc ) 804581e: 79db ldrb r3, [r3, #7] 8045820: b2db uxtb r3, r3 8045822: 2b02 cmp r3, #2 8045824: d807 bhi.n 8045836 8045826: 4b75 ldr r3, [pc, #468] ; (80459fc ) 8045828: 79db ldrb r3, [r3, #7] 804582a: b2db uxtb r3, r3 804582c: 3301 adds r3, #1 804582e: b2da uxtb r2, r3 8045830: 4b72 ldr r3, [pc, #456] ; (80459fc ) 8045832: 71da strb r2, [r3, #7] else pardata.LNE = N400; } else menupos = Ok; break; 8045834: e052 b.n 80458dc else pardata.LNE = N400; 8045836: 4b71 ldr r3, [pc, #452] ; (80459fc ) 8045838: 2200 movs r2, #0 804583a: 71da strb r2, [r3, #7] break; 804583c: e04e b.n 80458dc menupos = Ok; 804583e: 4b72 ldr r3, [pc, #456] ; (8045a08 ) 8045840: 2200 movs r2, #0 8045842: 701a strb r2, [r3, #0] break; 8045844: e04a b.n 80458dc case SpecWin: if(focused) 8045846: 4b71 ldr r3, [pc, #452] ; (8045a0c ) 8045848: 781b ldrb r3, [r3, #0] 804584a: b2db uxtb r3, r3 804584c: 2b00 cmp r3, #0 804584e: d010 beq.n 8045872 { if(pardata.WIN > RECT) pardata.WIN--; 8045850: 4b6a ldr r3, [pc, #424] ; (80459fc ) 8045852: 7a5b ldrb r3, [r3, #9] 8045854: b2db uxtb r3, r3 8045856: 2b00 cmp r3, #0 8045858: d007 beq.n 804586a 804585a: 4b68 ldr r3, [pc, #416] ; (80459fc ) 804585c: 7a5b ldrb r3, [r3, #9] 804585e: b2db uxtb r3, r3 8045860: 3b01 subs r3, #1 8045862: b2da uxtb r2, r3 8045864: 4b65 ldr r3, [pc, #404] ; (80459fc ) 8045866: 725a strb r2, [r3, #9] else pardata.WIN = HANN; } else menupos = Ok; break; 8045868: e038 b.n 80458dc else pardata.WIN = HANN; 804586a: 4b64 ldr r3, [pc, #400] ; (80459fc ) 804586c: 2201 movs r2, #1 804586e: 725a strb r2, [r3, #9] break; 8045870: e034 b.n 80458dc menupos = Ok; 8045872: 4b65 ldr r3, [pc, #404] ; (8045a08 ) 8045874: 2200 movs r2, #0 8045876: 701a strb r2, [r3, #0] break; 8045878: e030 b.n 80458dc case LinLog: if(focused) 804587a: 4b64 ldr r3, [pc, #400] ; (8045a0c ) 804587c: 781b ldrb r3, [r3, #0] 804587e: b2db uxtb r3, r3 8045880: 2b00 cmp r3, #0 8045882: d00c beq.n 804589e { if(pardata.MSH == LOG) pardata.MSH = LIN; 8045884: 4b5d ldr r3, [pc, #372] ; (80459fc ) 8045886: 7a9b ldrb r3, [r3, #10] 8045888: b2db uxtb r3, r3 804588a: 2b01 cmp r3, #1 804588c: d103 bne.n 8045896 804588e: 4b5b ldr r3, [pc, #364] ; (80459fc ) 8045890: 2200 movs r2, #0 8045892: 729a strb r2, [r3, #10] else pardata.MSH = LOG; } else menupos = Ok; break; 8045894: e022 b.n 80458dc else pardata.MSH = LOG; 8045896: 4b59 ldr r3, [pc, #356] ; (80459fc ) 8045898: 2201 movs r2, #1 804589a: 729a strb r2, [r3, #10] break; 804589c: e01e b.n 80458dc menupos = Ok; 804589e: 4b5a ldr r3, [pc, #360] ; (8045a08 ) 80458a0: 2200 movs r2, #0 80458a2: 701a strb r2, [r3, #0] break; 80458a4: e01a b.n 80458dc case SAverage: if(focused) 80458a6: 4b59 ldr r3, [pc, #356] ; (8045a0c ) 80458a8: 781b ldrb r3, [r3, #0] 80458aa: b2db uxtb r3, r3 80458ac: 2b00 cmp r3, #0 80458ae: d010 beq.n 80458d2 { if(pardata.AVG > AVG1) pardata.AVG--; 80458b0: 4b52 ldr r3, [pc, #328] ; (80459fc ) 80458b2: 7b5b ldrb r3, [r3, #13] 80458b4: b2db uxtb r3, r3 80458b6: 2b00 cmp r3, #0 80458b8: d007 beq.n 80458ca 80458ba: 4b50 ldr r3, [pc, #320] ; (80459fc ) 80458bc: 7b5b ldrb r3, [r3, #13] 80458be: b2db uxtb r3, r3 80458c0: 3b01 subs r3, #1 80458c2: b2da uxtb r2, r3 80458c4: 4b4d ldr r3, [pc, #308] ; (80459fc ) 80458c6: 735a strb r2, [r3, #13] else pardata.AVG = AVG512; } else menupos = Ok; break; 80458c8: e008 b.n 80458dc else pardata.AVG = AVG512; 80458ca: 4b4c ldr r3, [pc, #304] ; (80459fc ) 80458cc: 2209 movs r2, #9 80458ce: 735a strb r2, [r3, #13] break; 80458d0: e004 b.n 80458dc menupos = Ok; 80458d2: 4b4d ldr r3, [pc, #308] ; (8045a08 ) 80458d4: 2200 movs r2, #0 80458d6: 701a strb r2, [r3, #0] break; 80458d8: e000 b.n 80458dc break; 80458da: bf00 nop } break; 80458dc: f000 bc65 b.w 80461aa case PARAM_OSC: switch(menupos) 80458e0: 4b49 ldr r3, [pc, #292] ; (8045a08 ) 80458e2: 781b ldrb r3, [r3, #0] 80458e4: b2db uxtb r3, r3 80458e6: 3b01 subs r3, #1 80458e8: 2b23 cmp r3, #35 ; 0x23 80458ea: f200 8461 bhi.w 80461b0 80458ee: a201 add r2, pc, #4 ; (adr r2, 80458f4 ) 80458f0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80458f4: 08045985 .word 0x08045985 80458f8: 080461b1 .word 0x080461b1 80458fc: 08045b59 .word 0x08045b59 8045900: 08045c09 .word 0x08045c09 8045904: 08045c9d .word 0x08045c9d 8045908: 08045c9d .word 0x08045c9d 804590c: 08045c9d .word 0x08045c9d 8045910: 08045c9d .word 0x08045c9d 8045914: 08045c3d .word 0x08045c3d 8045918: 08045c45 .word 0x08045c45 804591c: 08045c4d .word 0x08045c4d 8045920: 08045c55 .word 0x08045c55 8045924: 08045c5d .word 0x08045c5d 8045928: 08045c65 .word 0x08045c65 804592c: 08045c6d .word 0x08045c6d 8045930: 08045c75 .word 0x08045c75 8045934: 08045c7d .word 0x08045c7d 8045938: 08045c85 .word 0x08045c85 804593c: 08045c8d .word 0x08045c8d 8045940: 08045c95 .word 0x08045c95 8045944: 080461b1 .word 0x080461b1 8045948: 080461b1 .word 0x080461b1 804594c: 08045c9d .word 0x08045c9d 8045950: 08045c9d .word 0x08045c9d 8045954: 08045af9 .word 0x08045af9 8045958: 08045b21 .word 0x08045b21 804595c: 08045b19 .word 0x08045b19 8045960: 08045b11 .word 0x08045b11 8045964: 08045b09 .word 0x08045b09 8045968: 08045b01 .word 0x08045b01 804596c: 08045b29 .word 0x08045b29 8045970: 08045b51 .word 0x08045b51 8045974: 08045b49 .word 0x08045b49 8045978: 08045b41 .word 0x08045b41 804597c: 08045b39 .word 0x08045b39 8045980: 08045b31 .word 0x08045b31 { case OscValue: if(focused) 8045984: 4b21 ldr r3, [pc, #132] ; (8045a0c ) 8045986: 781b ldrb r3, [r3, #0] 8045988: b2db uxtb r3, r3 804598a: 2b00 cmp r3, #0 804598c: f000 80b0 beq.w 8045af0 { if(pardata.IPR > ACC) pardata.IPR--; 8045990: 4b1a ldr r3, [pc, #104] ; (80459fc ) 8045992: 785b ldrb r3, [r3, #1] 8045994: b2db uxtb r3, r3 8045996: 2b00 cmp r3, #0 8045998: d007 beq.n 80459aa 804599a: 4b18 ldr r3, [pc, #96] ; (80459fc ) 804599c: 785b ldrb r3, [r3, #1] 804599e: b2db uxtb r3, r3 80459a0: 3b01 subs r3, #1 80459a2: b2da uxtb r2, r3 80459a4: 4b15 ldr r3, [pc, #84] ; (80459fc ) 80459a6: 705a strb r2, [r3, #1] 80459a8: e002 b.n 80459b0 else pardata.IPR = DIS; 80459aa: 4b14 ldr r3, [pc, #80] ; (80459fc ) 80459ac: 2202 movs r2, #2 80459ae: 705a strb r2, [r3, #1] if(pardata.IPR > ACC) 80459b0: 4b12 ldr r3, [pc, #72] ; (80459fc ) 80459b2: 785b ldrb r3, [r3, #1] 80459b4: b2db uxtb r3, r3 80459b6: 2b00 cmp r3, #0 80459b8: d02a beq.n 8045a10 { if(pardata.HP < 2.0f) 80459ba: 4b10 ldr r3, [pc, #64] ; (80459fc ) 80459bc: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80459c0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80459c4: eef4 7ac7 vcmpe.f32 s15, s14 80459c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80459cc: d504 bpl.n 80459d8 pardata.HP = 2.0f; 80459ce: 4b0b ldr r3, [pc, #44] ; (80459fc ) 80459d0: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80459d4: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.0005f) < 5.0) 80459d8: e01a b.n 8045a10 { if(pardata.FRQ > _125Hz) 80459da: 4b08 ldr r3, [pc, #32] ; (80459fc ) 80459dc: 7adb ldrb r3, [r3, #11] 80459de: b2db uxtb r3, r3 80459e0: 2b00 cmp r3, #0 80459e2: d007 beq.n 80459f4 pardata.FRQ--; 80459e4: 4b05 ldr r3, [pc, #20] ; (80459fc ) 80459e6: 7adb ldrb r3, [r3, #11] 80459e8: b2db uxtb r3, r3 80459ea: 3b01 subs r3, #1 80459ec: b2da uxtb r2, r3 80459ee: 4b03 ldr r3, [pc, #12] ; (80459fc ) 80459f0: 72da strb r2, [r3, #11] 80459f2: e00d b.n 8045a10 else { pardata.FRQ = _64000Hz; 80459f4: 4b01 ldr r3, [pc, #4] ; (80459fc ) 80459f6: 2209 movs r2, #9 80459f8: 72da strb r2, [r3, #11] break; 80459fa: e026 b.n 8045a4a 80459fc: 20023e60 .word 0x20023e60 8045a00: 080ee8c8 .word 0x080ee8c8 8045a04: 38d1b717 .word 0x38d1b717 8045a08: 20020070 .word 0x20020070 8045a0c: 20020f84 .word 0x20020f84 while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.0005f) < 5.0) 8045a10: 4bab ldr r3, [pc, #684] ; (8045cc0 ) 8045a12: 7adb ldrb r3, [r3, #11] 8045a14: b2db uxtb r3, r3 8045a16: 461a mov r2, r3 8045a18: 4baa ldr r3, [pc, #680] ; (8045cc4 ) 8045a1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045a1e: ee07 3a90 vmov s15, r3 8045a22: eeb8 5b67 vcvt.f64.u32 d5, s15 8045a26: 4ba6 ldr r3, [pc, #664] ; (8045cc0 ) 8045a28: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8045a2c: eeb7 6ae7 vcvt.f64.f32 d6, s15 8045a30: ee85 7b06 vdiv.f64 d7, d5, d6 8045a34: ed9f 6b9c vldr d6, [pc, #624] ; 8045ca8 8045a38: ee37 7b06 vadd.f64 d7, d7, d6 8045a3c: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8045a40: eeb4 7bc6 vcmpe.f64 d7, d6 8045a44: eef1 fa10 vmrs APSR_nzcv, fpscr 8045a48: d4c7 bmi.n 80459da } } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8045a4a: 4b9d ldr r3, [pc, #628] ; (8045cc0 ) 8045a4c: 7adb ldrb r3, [r3, #11] 8045a4e: b2db uxtb r3, r3 8045a50: 461a mov r2, r3 8045a52: 4b9c ldr r3, [pc, #624] ; (8045cc4 ) 8045a54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045a58: ee07 3a90 vmov s15, r3 8045a5c: eeb8 5b67 vcvt.f64.u32 d5, s15 8045a60: 4b97 ldr r3, [pc, #604] ; (8045cc0 ) 8045a62: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8045a66: eeb7 6ae7 vcvt.f64.f32 d6, s15 8045a6a: ee85 7b06 vdiv.f64 d7, d5, d6 8045a6e: ed9f 6b90 vldr d6, [pc, #576] ; 8045cb0 8045a72: ee37 7b06 vadd.f64 d7, d7, d6 8045a76: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8045a7a: eeb4 7bc6 vcmpe.f64 d7, d6 8045a7e: eef1 fa10 vmrs APSR_nzcv, fpscr 8045a82: d51f bpl.n 8045ac4 { pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8045a84: 4b8e ldr r3, [pc, #568] ; (8045cc0 ) 8045a86: 7adb ldrb r3, [r3, #11] 8045a88: b2db uxtb r3, r3 8045a8a: 461a mov r2, r3 8045a8c: 4b8d ldr r3, [pc, #564] ; (8045cc4 ) 8045a8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045a92: 4a8d ldr r2, [pc, #564] ; (8045cc8 ) 8045a94: fba2 2303 umull r2, r3, r2, r3 8045a98: 089b lsrs r3, r3, #2 8045a9a: ee07 3a90 vmov s15, r3 8045a9e: eef8 7a67 vcvt.f32.u32 s15, s15 8045aa2: 4b87 ldr r3, [pc, #540] ; (8045cc0 ) 8045aa4: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8045aa8: 4b85 ldr r3, [pc, #532] ; (8045cc0 ) 8045aaa: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8045aae: eeb7 7ae7 vcvt.f64.f32 d7, s15 8045ab2: ed9f 6b81 vldr d6, [pc, #516] ; 8045cb8 8045ab6: ee37 7b06 vadd.f64 d7, d7, d6 8045aba: eef7 7bc7 vcvt.f32.f64 s15, d7 8045abe: 4b80 ldr r3, [pc, #512] ; (8045cc0 ) 8045ac0: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 } if((pardata.IPR > ACC) && (pardata.THR & 0x80)) 8045ac4: 4b7e ldr r3, [pc, #504] ; (8045cc0 ) 8045ac6: 785b ldrb r3, [r3, #1] 8045ac8: b2db uxtb r3, r3 8045aca: 2b00 cmp r3, #0 8045acc: f000 80ea beq.w 8045ca4 8045ad0: 4b7b ldr r3, [pc, #492] ; (8045cc0 ) 8045ad2: 7bdb ldrb r3, [r3, #15] 8045ad4: b2db uxtb r3, r3 8045ad6: b25b sxtb r3, r3 8045ad8: 2b00 cmp r3, #0 8045ada: f280 80e3 bge.w 8045ca4 pardata.THR &= 0x7f; 8045ade: 4b78 ldr r3, [pc, #480] ; (8045cc0 ) 8045ae0: 7bdb ldrb r3, [r3, #15] 8045ae2: b2db uxtb r3, r3 8045ae4: f003 037f and.w r3, r3, #127 ; 0x7f 8045ae8: b2da uxtb r2, r3 8045aea: 4b75 ldr r3, [pc, #468] ; (8045cc0 ) 8045aec: 73da strb r2, [r3, #15] } else menupos = Ok; break; 8045aee: e0d9 b.n 8045ca4 menupos = Ok; 8045af0: 4b76 ldr r3, [pc, #472] ; (8045ccc ) 8045af2: 2200 movs r2, #0 8045af4: 701a strb r2, [r3, #0] break; 8045af6: e0d5 b.n 8045ca4 case FilterHP_IDT: menupos = FilterHP_IKD; break; 8045af8: 4b74 ldr r3, [pc, #464] ; (8045ccc ) 8045afa: 221e movs r2, #30 8045afc: 701a strb r2, [r3, #0] 8045afe: e0d2 b.n 8045ca6 case FilterHP_IKD: menupos = FilterHP_IEE; break; 8045b00: 4b72 ldr r3, [pc, #456] ; (8045ccc ) 8045b02: 221d movs r2, #29 8045b04: 701a strb r2, [r3, #0] 8045b06: e0ce b.n 8045ca6 case FilterHP_IEE: menupos = FilterHP_IED; break; 8045b08: 4b70 ldr r3, [pc, #448] ; (8045ccc ) 8045b0a: 221c movs r2, #28 8045b0c: 701a strb r2, [r3, #0] 8045b0e: e0ca b.n 8045ca6 case FilterHP_IED: menupos = FilterHP_IES; break; 8045b10: 4b6e ldr r3, [pc, #440] ; (8045ccc ) 8045b12: 221b movs r2, #27 8045b14: 701a strb r2, [r3, #0] 8045b16: e0c6 b.n 8045ca6 case FilterHP_IES: menupos = FilterHP_IET; break; 8045b18: 4b6c ldr r3, [pc, #432] ; (8045ccc ) 8045b1a: 221a movs r2, #26 8045b1c: 701a strb r2, [r3, #0] 8045b1e: e0c2 b.n 8045ca6 case FilterHP_IET: menupos = FilterHP_IDT; break; 8045b20: 4b6a ldr r3, [pc, #424] ; (8045ccc ) 8045b22: 2219 movs r2, #25 8045b24: 701a strb r2, [r3, #0] 8045b26: e0be b.n 8045ca6 case FilterLP_IDT: menupos = FilterLP_IKD; break; 8045b28: 4b68 ldr r3, [pc, #416] ; (8045ccc ) 8045b2a: 2224 movs r2, #36 ; 0x24 8045b2c: 701a strb r2, [r3, #0] 8045b2e: e0ba b.n 8045ca6 case FilterLP_IKD: menupos = FilterLP_IEE; break; 8045b30: 4b66 ldr r3, [pc, #408] ; (8045ccc ) 8045b32: 2223 movs r2, #35 ; 0x23 8045b34: 701a strb r2, [r3, #0] 8045b36: e0b6 b.n 8045ca6 case FilterLP_IEE: menupos = FilterLP_IED; break; 8045b38: 4b64 ldr r3, [pc, #400] ; (8045ccc ) 8045b3a: 2222 movs r2, #34 ; 0x22 8045b3c: 701a strb r2, [r3, #0] 8045b3e: e0b2 b.n 8045ca6 case FilterLP_IED: menupos = FilterLP_IES; break; 8045b40: 4b62 ldr r3, [pc, #392] ; (8045ccc ) 8045b42: 2221 movs r2, #33 ; 0x21 8045b44: 701a strb r2, [r3, #0] 8045b46: e0ae b.n 8045ca6 case FilterLP_IES: menupos = FilterLP_IET; break; 8045b48: 4b60 ldr r3, [pc, #384] ; (8045ccc ) 8045b4a: 2220 movs r2, #32 8045b4c: 701a strb r2, [r3, #0] 8045b4e: e0aa b.n 8045ca6 case FilterLP_IET: menupos = FilterLP_IDT; break; 8045b50: 4b5e ldr r3, [pc, #376] ; (8045ccc ) 8045b52: 221f movs r2, #31 8045b54: 701a strb r2, [r3, #0] 8045b56: e0a6 b.n 8045ca6 case OscRate: if(focused) 8045b58: 4b5d ldr r3, [pc, #372] ; (8045cd0 ) 8045b5a: 781b ldrb r3, [r3, #0] 8045b5c: b2db uxtb r3, r3 8045b5e: 2b00 cmp r3, #0 8045b60: d04e beq.n 8045c00 { if(pardata.FRQ > _125Hz) pardata.FRQ--; 8045b62: 4b57 ldr r3, [pc, #348] ; (8045cc0 ) 8045b64: 7adb ldrb r3, [r3, #11] 8045b66: b2db uxtb r3, r3 8045b68: 2b00 cmp r3, #0 8045b6a: d007 beq.n 8045b7c 8045b6c: 4b54 ldr r3, [pc, #336] ; (8045cc0 ) 8045b6e: 7adb ldrb r3, [r3, #11] 8045b70: b2db uxtb r3, r3 8045b72: 3b01 subs r3, #1 8045b74: b2da uxtb r2, r3 8045b76: 4b52 ldr r3, [pc, #328] ; (8045cc0 ) 8045b78: 72da strb r2, [r3, #11] 8045b7a: e002 b.n 8045b82 else pardata.FRQ = _64000Hz; 8045b7c: 4b50 ldr r3, [pc, #320] ; (8045cc0 ) 8045b7e: 2209 movs r2, #9 8045b80: 72da strb r2, [r3, #11] pardata.FRQ = _64000Hz; break; } }*/ if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8045b82: 4b4f ldr r3, [pc, #316] ; (8045cc0 ) 8045b84: 7adb ldrb r3, [r3, #11] 8045b86: b2db uxtb r3, r3 8045b88: 461a mov r2, r3 8045b8a: 4b4e ldr r3, [pc, #312] ; (8045cc4 ) 8045b8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045b90: ee07 3a90 vmov s15, r3 8045b94: eeb8 5b67 vcvt.f64.u32 d5, s15 8045b98: 4b49 ldr r3, [pc, #292] ; (8045cc0 ) 8045b9a: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8045b9e: eeb7 6ae7 vcvt.f64.f32 d6, s15 8045ba2: ee85 7b06 vdiv.f64 d7, d5, d6 8045ba6: ed9f 6b42 vldr d6, [pc, #264] ; 8045cb0 8045baa: ee37 7b06 vadd.f64 d7, d7, d6 8045bae: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8045bb2: eeb4 7bc6 vcmpe.f64 d7, d6 8045bb6: eef1 fa10 vmrs APSR_nzcv, fpscr 8045bba: d400 bmi.n 8045bbe } } else menupos = Ok; break; 8045bbc: e073 b.n 8045ca6 pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8045bbe: 4b40 ldr r3, [pc, #256] ; (8045cc0 ) 8045bc0: 7adb ldrb r3, [r3, #11] 8045bc2: b2db uxtb r3, r3 8045bc4: 461a mov r2, r3 8045bc6: 4b3f ldr r3, [pc, #252] ; (8045cc4 ) 8045bc8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8045bcc: 4a3e ldr r2, [pc, #248] ; (8045cc8 ) 8045bce: fba2 2303 umull r2, r3, r2, r3 8045bd2: 089b lsrs r3, r3, #2 8045bd4: ee07 3a90 vmov s15, r3 8045bd8: eef8 7a67 vcvt.f32.u32 s15, s15 8045bdc: 4b38 ldr r3, [pc, #224] ; (8045cc0 ) 8045bde: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8045be2: 4b37 ldr r3, [pc, #220] ; (8045cc0 ) 8045be4: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8045be8: eeb7 7ae7 vcvt.f64.f32 d7, s15 8045bec: ed9f 6b32 vldr d6, [pc, #200] ; 8045cb8 8045bf0: ee37 7b06 vadd.f64 d7, d7, d6 8045bf4: eef7 7bc7 vcvt.f32.f64 s15, d7 8045bf8: 4b31 ldr r3, [pc, #196] ; (8045cc0 ) 8045bfa: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8045bfe: e052 b.n 8045ca6 menupos = Ok; 8045c00: 4b32 ldr r3, [pc, #200] ; (8045ccc ) 8045c02: 2200 movs r2, #0 8045c04: 701a strb r2, [r3, #0] break; 8045c06: e04e b.n 8045ca6 case OscLen: if(focused) 8045c08: 4b31 ldr r3, [pc, #196] ; (8045cd0 ) 8045c0a: 781b ldrb r3, [r3, #0] 8045c0c: b2db uxtb r3, r3 8045c0e: 2b00 cmp r3, #0 8045c10: d010 beq.n 8045c34 { if(pardata.LNE > N400) pardata.LNE--; 8045c12: 4b2b ldr r3, [pc, #172] ; (8045cc0 ) 8045c14: 79db ldrb r3, [r3, #7] 8045c16: b2db uxtb r3, r3 8045c18: 2b00 cmp r3, #0 8045c1a: d007 beq.n 8045c2c 8045c1c: 4b28 ldr r3, [pc, #160] ; (8045cc0 ) 8045c1e: 79db ldrb r3, [r3, #7] 8045c20: b2db uxtb r3, r3 8045c22: 3b01 subs r3, #1 8045c24: b2da uxtb r2, r3 8045c26: 4b26 ldr r3, [pc, #152] ; (8045cc0 ) 8045c28: 71da strb r2, [r3, #7] else pardata.LNE = N6400; } else menupos = Ok; break; 8045c2a: e03c b.n 8045ca6 else pardata.LNE = N6400; 8045c2c: 4b24 ldr r3, [pc, #144] ; (8045cc0 ) 8045c2e: 2204 movs r2, #4 8045c30: 71da strb r2, [r3, #7] break; 8045c32: e038 b.n 8045ca6 menupos = Ok; 8045c34: 4b25 ldr r3, [pc, #148] ; (8045ccc ) 8045c36: 2200 movs r2, #0 8045c38: 701a strb r2, [r3, #0] break; 8045c3a: e034 b.n 8045ca6 case OscThr_IDT: menupos = OscThr_IKD; 8045c3c: 4b23 ldr r3, [pc, #140] ; (8045ccc ) 8045c3e: 220e movs r2, #14 8045c40: 701a strb r2, [r3, #0] break; 8045c42: e030 b.n 8045ca6 case OscThr_IET: menupos = OscThr_IDT; 8045c44: 4b21 ldr r3, [pc, #132] ; (8045ccc ) 8045c46: 2209 movs r2, #9 8045c48: 701a strb r2, [r3, #0] break; 8045c4a: e02c b.n 8045ca6 case OscThr_IES: menupos = OscThr_IET; 8045c4c: 4b1f ldr r3, [pc, #124] ; (8045ccc ) 8045c4e: 220a movs r2, #10 8045c50: 701a strb r2, [r3, #0] break; 8045c52: e028 b.n 8045ca6 case OscThr_IED: menupos = OscThr_IES; 8045c54: 4b1d ldr r3, [pc, #116] ; (8045ccc ) 8045c56: 220b movs r2, #11 8045c58: 701a strb r2, [r3, #0] break; 8045c5a: e024 b.n 8045ca6 case OscThr_IEE: menupos = OscThr_IED; 8045c5c: 4b1b ldr r3, [pc, #108] ; (8045ccc ) 8045c5e: 220c movs r2, #12 8045c60: 701a strb r2, [r3, #0] break; 8045c62: e020 b.n 8045ca6 case OscThr_IKD: menupos = OscThr_IEE; 8045c64: 4b19 ldr r3, [pc, #100] ; (8045ccc ) 8045c66: 220d movs r2, #13 8045c68: 701a strb r2, [r3, #0] break; 8045c6a: e01c b.n 8045ca6 case OscMax_IDT: menupos = OscMax_IKD; 8045c6c: 4b17 ldr r3, [pc, #92] ; (8045ccc ) 8045c6e: 2214 movs r2, #20 8045c70: 701a strb r2, [r3, #0] break; 8045c72: e018 b.n 8045ca6 case OscMax_IET: menupos = OscMax_IDT; 8045c74: 4b15 ldr r3, [pc, #84] ; (8045ccc ) 8045c76: 220f movs r2, #15 8045c78: 701a strb r2, [r3, #0] break; 8045c7a: e014 b.n 8045ca6 case OscMax_IES: menupos = OscMax_IET; 8045c7c: 4b13 ldr r3, [pc, #76] ; (8045ccc ) 8045c7e: 2210 movs r2, #16 8045c80: 701a strb r2, [r3, #0] break; 8045c82: e010 b.n 8045ca6 case OscMax_IED: menupos = OscMax_IES; 8045c84: 4b11 ldr r3, [pc, #68] ; (8045ccc ) 8045c86: 2211 movs r2, #17 8045c88: 701a strb r2, [r3, #0] break; 8045c8a: e00c b.n 8045ca6 case OscMax_IEE: menupos = OscMax_IED; 8045c8c: 4b0f ldr r3, [pc, #60] ; (8045ccc ) 8045c8e: 2212 movs r2, #18 8045c90: 701a strb r2, [r3, #0] break; 8045c92: e008 b.n 8045ca6 case OscMax_IKD: menupos = OscMax_IEE; 8045c94: 4b0d ldr r3, [pc, #52] ; (8045ccc ) 8045c96: 2213 movs r2, #19 8045c98: 701a strb r2, [r3, #0] break; 8045c9a: e004 b.n 8045ca6 case OscThr: case OscThr_ALL: case OscMax_ALL: case FilterHP: case FilterLP: menupos = Ok; 8045c9c: 4b0b ldr r3, [pc, #44] ; (8045ccc ) 8045c9e: 2200 movs r2, #0 8045ca0: 701a strb r2, [r3, #0] break; 8045ca2: e000 b.n 8045ca6 break; 8045ca4: bf00 nop } break; 8045ca6: e283 b.n 80461b0 8045ca8: e0000000 .word 0xe0000000 8045cac: 3f40624d .word 0x3f40624d 8045cb0: e0000000 .word 0xe0000000 8045cb4: 3f0a36e2 .word 0x3f0a36e2 8045cb8: eb1c432d .word 0xeb1c432d 8045cbc: 3f1a36e2 .word 0x3f1a36e2 8045cc0: 20023e60 .word 0x20023e60 8045cc4: 080ee8c8 .word 0x080ee8c8 8045cc8: cccccccd .word 0xcccccccd 8045ccc: 20020070 .word 0x20020070 8045cd0: 20020f84 .word 0x20020f84 case ROUTE_MAP: //LT switch(menupos) 8045cd4: 4bb8 ldr r3, [pc, #736] ; (8045fb8 ) 8045cd6: 781b ldrb r3, [r3, #0] 8045cd8: b2db uxtb r3, r3 8045cda: 2b0e cmp r3, #14 8045cdc: f200 826b bhi.w 80461b6 8045ce0: a201 add r2, pc, #4 ; (adr r2, 8045ce8 ) 8045ce2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8045ce6: bf00 nop 8045ce8: 08045da1 .word 0x08045da1 8045cec: 08045da9 .word 0x08045da9 8045cf0: 08045db1 .word 0x08045db1 8045cf4: 08045d99 .word 0x08045d99 8045cf8: 08045d25 .word 0x08045d25 8045cfc: 08045d99 .word 0x08045d99 8045d00: 08045d99 .word 0x08045d99 8045d04: 08045d69 .word 0x08045d69 8045d08: 08045d71 .word 0x08045d71 8045d0c: 08045d79 .word 0x08045d79 8045d10: 08045d81 .word 0x08045d81 8045d14: 08045d89 .word 0x08045d89 8045d18: 08045d91 .word 0x08045d91 8045d1c: 08045d59 .word 0x08045d59 8045d20: 08045d61 .word 0x08045d61 { case RouteTime: if(focused) 8045d24: 4ba5 ldr r3, [pc, #660] ; (8045fbc ) 8045d26: 781b ldrb r3, [r3, #0] 8045d28: b2db uxtb r3, r3 8045d2a: 2b00 cmp r3, #0 8045d2c: d010 beq.n 8045d50 { if(pardata.TME > CONTINUOUS) pardata.TME--; 8045d2e: 4ba4 ldr r3, [pc, #656] ; (8045fc0 ) 8045d30: 7b9b ldrb r3, [r3, #14] 8045d32: b2db uxtb r3, r3 8045d34: 2b00 cmp r3, #0 8045d36: d007 beq.n 8045d48 8045d38: 4ba1 ldr r3, [pc, #644] ; (8045fc0 ) 8045d3a: 7b9b ldrb r3, [r3, #14] 8045d3c: b2db uxtb r3, r3 8045d3e: 3b01 subs r3, #1 8045d40: b2da uxtb r2, r3 8045d42: 4b9f ldr r3, [pc, #636] ; (8045fc0 ) 8045d44: 739a strb r2, [r3, #14] else pardata.TME = HOUR2; } else menupos = GoMeas; break; 8045d46: e037 b.n 8045db8 else pardata.TME = HOUR2; 8045d48: 4b9d ldr r3, [pc, #628] ; (8045fc0 ) 8045d4a: 2209 movs r2, #9 8045d4c: 739a strb r2, [r3, #14] break; 8045d4e: e033 b.n 8045db8 menupos = GoMeas; 8045d50: 4b99 ldr r3, [pc, #612] ; (8045fb8 ) 8045d52: 2201 movs r2, #1 8045d54: 701a strb r2, [r3, #0] break; 8045d56: e02f b.n 8045db8 case RouteNullYes: menupos = RouteNullNo; 8045d58: 4b97 ldr r3, [pc, #604] ; (8045fb8 ) 8045d5a: 220e movs r2, #14 8045d5c: 701a strb r2, [r3, #0] break; 8045d5e: e02b b.n 8045db8 case RouteNullNo: menupos = RouteNullYes; 8045d60: 4b95 ldr r3, [pc, #596] ; (8045fb8 ) 8045d62: 220d movs r2, #13 8045d64: 701a strb r2, [r3, #0] break; 8045d66: e027 b.n 8045db8 case RouteMax_IDT: menupos = RouteMax_IKD; 8045d68: 4b93 ldr r3, [pc, #588] ; (8045fb8 ) 8045d6a: 220c movs r2, #12 8045d6c: 701a strb r2, [r3, #0] break; 8045d6e: e023 b.n 8045db8 case RouteMax_IET: menupos = RouteMax_IDT; 8045d70: 4b91 ldr r3, [pc, #580] ; (8045fb8 ) 8045d72: 2207 movs r2, #7 8045d74: 701a strb r2, [r3, #0] break; 8045d76: e01f b.n 8045db8 case RouteMax_IES: menupos = RouteMax_IET; 8045d78: 4b8f ldr r3, [pc, #572] ; (8045fb8 ) 8045d7a: 2208 movs r2, #8 8045d7c: 701a strb r2, [r3, #0] break; 8045d7e: e01b b.n 8045db8 case RouteMax_IED: menupos = RouteMax_IES; 8045d80: 4b8d ldr r3, [pc, #564] ; (8045fb8 ) 8045d82: 2209 movs r2, #9 8045d84: 701a strb r2, [r3, #0] break; 8045d86: e017 b.n 8045db8 case RouteMax_IEE: menupos = RouteMax_IED; 8045d88: 4b8b ldr r3, [pc, #556] ; (8045fb8 ) 8045d8a: 220a movs r2, #10 8045d8c: 701a strb r2, [r3, #0] break; 8045d8e: e013 b.n 8045db8 case RouteMax_IKD: menupos = RouteMax_IEE; 8045d90: 4b89 ldr r3, [pc, #548] ; (8045fb8 ) 8045d92: 220b movs r2, #11 8045d94: 701a strb r2, [r3, #0] break; 8045d96: e00f b.n 8045db8 case RouteTacho: case RouteAutoKu: case RouteMax_ALL: menupos = GoMeas; 8045d98: 4b87 ldr r3, [pc, #540] ; (8045fb8 ) 8045d9a: 2201 movs r2, #1 8045d9c: 701a strb r2, [r3, #0] break; 8045d9e: e00b b.n 8045db8 case PrevPoint: menupos = NextPoint; 8045da0: 4b85 ldr r3, [pc, #532] ; (8045fb8 ) 8045da2: 2202 movs r2, #2 8045da4: 701a strb r2, [r3, #0] break; 8045da6: e007 b.n 8045db8 case GoMeas: menupos = PrevPoint; 8045da8: 4b83 ldr r3, [pc, #524] ; (8045fb8 ) 8045daa: 2200 movs r2, #0 8045dac: 701a strb r2, [r3, #0] break; 8045dae: e003 b.n 8045db8 case NextPoint: menupos = GoMeas; 8045db0: 4b81 ldr r3, [pc, #516] ; (8045fb8 ) 8045db2: 2201 movs r2, #1 8045db4: 701a strb r2, [r3, #0] break; 8045db6: bf00 nop } break; 8045db8: e1fd b.n 80461b6 case PARAM_WAVE: //LT switch(menupos) 8045dba: 4b7f ldr r3, [pc, #508] ; (8045fb8 ) 8045dbc: 781b ldrb r3, [r3, #0] 8045dbe: b2db uxtb r3, r3 8045dc0: 3b01 subs r3, #1 8045dc2: 2b14 cmp r3, #20 8045dc4: f200 81fa bhi.w 80461bc 8045dc8: a201 add r2, pc, #4 ; (adr r2, 8045dd0 ) 8045dca: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8045dce: bf00 nop 8045dd0: 08045e25 .word 0x08045e25 8045dd4: 08045e2d .word 0x08045e2d 8045dd8: 08045ec9 .word 0x08045ec9 8045ddc: 08045ed1 .word 0x08045ed1 8045de0: 08045e35 .word 0x08045e35 8045de4: 08045ec9 .word 0x08045ec9 8045de8: 08045ec9 .word 0x08045ec9 8045dec: 08045ec9 .word 0x08045ec9 8045df0: 08045ec9 .word 0x08045ec9 8045df4: 08045e99 .word 0x08045e99 8045df8: 08045ea1 .word 0x08045ea1 8045dfc: 08045ea9 .word 0x08045ea9 8045e00: 08045eb1 .word 0x08045eb1 8045e04: 08045eb9 .word 0x08045eb9 8045e08: 08045ec1 .word 0x08045ec1 8045e0c: 08045e69 .word 0x08045e69 8045e10: 08045e71 .word 0x08045e71 8045e14: 08045e79 .word 0x08045e79 8045e18: 08045e81 .word 0x08045e81 8045e1c: 08045e89 .word 0x08045e89 8045e20: 08045e91 .word 0x08045e91 { case WaveBand: pardata.FRQ = _64000Hz; 8045e24: 4b66 ldr r3, [pc, #408] ; (8045fc0 ) 8045e26: 2209 movs r2, #9 8045e28: 72da strb r2, [r3, #11] break; 8045e2a: e057 b.n 8045edc case WaveFreq: pardata.FRQ = _64000Hz; 8045e2c: 4b64 ldr r3, [pc, #400] ; (8045fc0 ) 8045e2e: 2209 movs r2, #9 8045e30: 72da strb r2, [r3, #11] break; 8045e32: e053 b.n 8045edc case WaveTime: if(focused) 8045e34: 4b61 ldr r3, [pc, #388] ; (8045fbc ) 8045e36: 781b ldrb r3, [r3, #0] 8045e38: b2db uxtb r3, r3 8045e3a: 2b00 cmp r3, #0 8045e3c: d010 beq.n 8045e60 { if(pardata.TME > CONTINUOUS) pardata.TME--; 8045e3e: 4b60 ldr r3, [pc, #384] ; (8045fc0 ) 8045e40: 7b9b ldrb r3, [r3, #14] 8045e42: b2db uxtb r3, r3 8045e44: 2b00 cmp r3, #0 8045e46: d007 beq.n 8045e58 8045e48: 4b5d ldr r3, [pc, #372] ; (8045fc0 ) 8045e4a: 7b9b ldrb r3, [r3, #14] 8045e4c: b2db uxtb r3, r3 8045e4e: 3b01 subs r3, #1 8045e50: b2da uxtb r2, r3 8045e52: 4b5b ldr r3, [pc, #364] ; (8045fc0 ) 8045e54: 739a strb r2, [r3, #14] else pardata.TME = HOUR2; } else menupos = Ok; break; 8045e56: e041 b.n 8045edc else pardata.TME = HOUR2; 8045e58: 4b59 ldr r3, [pc, #356] ; (8045fc0 ) 8045e5a: 2209 movs r2, #9 8045e5c: 739a strb r2, [r3, #14] break; 8045e5e: e03d b.n 8045edc menupos = Ok; 8045e60: 4b55 ldr r3, [pc, #340] ; (8045fb8 ) 8045e62: 2200 movs r2, #0 8045e64: 701a strb r2, [r3, #0] break; 8045e66: e039 b.n 8045edc case WaveThr_IDT: menupos = WaveThr_IKD; 8045e68: 4b53 ldr r3, [pc, #332] ; (8045fb8 ) 8045e6a: 2215 movs r2, #21 8045e6c: 701a strb r2, [r3, #0] break; 8045e6e: e035 b.n 8045edc case WaveThr_IET: menupos = WaveThr_IDT; 8045e70: 4b51 ldr r3, [pc, #324] ; (8045fb8 ) 8045e72: 2210 movs r2, #16 8045e74: 701a strb r2, [r3, #0] break; 8045e76: e031 b.n 8045edc case WaveThr_IES: menupos = WaveThr_IET; 8045e78: 4b4f ldr r3, [pc, #316] ; (8045fb8 ) 8045e7a: 2211 movs r2, #17 8045e7c: 701a strb r2, [r3, #0] break; 8045e7e: e02d b.n 8045edc case WaveThr_IED: menupos = WaveThr_IES; 8045e80: 4b4d ldr r3, [pc, #308] ; (8045fb8 ) 8045e82: 2212 movs r2, #18 8045e84: 701a strb r2, [r3, #0] break; 8045e86: e029 b.n 8045edc case WaveThr_IEE: menupos = WaveThr_IED; 8045e88: 4b4b ldr r3, [pc, #300] ; (8045fb8 ) 8045e8a: 2213 movs r2, #19 8045e8c: 701a strb r2, [r3, #0] break; 8045e8e: e025 b.n 8045edc case WaveThr_IKD: menupos = WaveThr_IEE; 8045e90: 4b49 ldr r3, [pc, #292] ; (8045fb8 ) 8045e92: 2214 movs r2, #20 8045e94: 701a strb r2, [r3, #0] break; 8045e96: e021 b.n 8045edc case WaveMax_IDT: menupos = WaveMax_IKD; 8045e98: 4b47 ldr r3, [pc, #284] ; (8045fb8 ) 8045e9a: 220f movs r2, #15 8045e9c: 701a strb r2, [r3, #0] break; 8045e9e: e01d b.n 8045edc case WaveMax_IET: menupos = WaveMax_IDT; 8045ea0: 4b45 ldr r3, [pc, #276] ; (8045fb8 ) 8045ea2: 220a movs r2, #10 8045ea4: 701a strb r2, [r3, #0] break; 8045ea6: e019 b.n 8045edc case WaveMax_IES: menupos = WaveMax_IET; 8045ea8: 4b43 ldr r3, [pc, #268] ; (8045fb8 ) 8045eaa: 220b movs r2, #11 8045eac: 701a strb r2, [r3, #0] break; 8045eae: e015 b.n 8045edc case WaveMax_IED: menupos = WaveMax_IES; 8045eb0: 4b41 ldr r3, [pc, #260] ; (8045fb8 ) 8045eb2: 220c movs r2, #12 8045eb4: 701a strb r2, [r3, #0] break; 8045eb6: e011 b.n 8045edc case WaveMax_IEE: menupos = WaveMax_IED; 8045eb8: 4b3f ldr r3, [pc, #252] ; (8045fb8 ) 8045eba: 220d movs r2, #13 8045ebc: 701a strb r2, [r3, #0] break; 8045ebe: e00d b.n 8045edc case WaveMax_IKD: menupos = WaveMax_IEE; 8045ec0: 4b3d ldr r3, [pc, #244] ; (8045fb8 ) 8045ec2: 220e movs r2, #14 8045ec4: 701a strb r2, [r3, #0] break; 8045ec6: e009 b.n 8045edc case WaveThr: case WaveTacho: case WaveAutoKu: case WaveMax_ALL: case WaveThr_ALL: menupos = Ok; 8045ec8: 4b3b ldr r3, [pc, #236] ; (8045fb8 ) 8045eca: 2200 movs r2, #0 8045ecc: 701a strb r2, [r3, #0] break; 8045ece: e005 b.n 8045edc case WaveName: memset(WavFileName, 0, sizeof(WavFileName)); 8045ed0: 2221 movs r2, #33 ; 0x21 8045ed2: 2100 movs r1, #0 8045ed4: 483b ldr r0, [pc, #236] ; (8045fc4 ) 8045ed6: f087 f8d3 bl 80cd080 break; 8045eda: bf00 nop } break; 8045edc: e16e b.n 80461bc case SETTINGS: switch(menupos) 8045ede: 4b36 ldr r3, [pc, #216] ; (8045fb8 ) 8045ee0: 781b ldrb r3, [r3, #0] 8045ee2: b2db uxtb r3, r3 8045ee4: 3b01 subs r3, #1 8045ee6: 2b10 cmp r3, #16 8045ee8: f200 816b bhi.w 80461c2 8045eec: a201 add r2, pc, #4 ; (adr r2, 8045ef4 ) 8045eee: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8045ef2: bf00 nop 8045ef4: 08045f8d .word 0x08045f8d 8045ef8: 080461c3 .word 0x080461c3 8045efc: 08045f69 .word 0x08045f69 8045f00: 080461c3 .word 0x080461c3 8045f04: 080461c3 .word 0x080461c3 8045f08: 080461c3 .word 0x080461c3 8045f0c: 080461c3 .word 0x080461c3 8045f10: 08045fc9 .word 0x08045fc9 8045f14: 080461c3 .word 0x080461c3 8045f18: 080461c3 .word 0x080461c3 8045f1c: 080461c3 .word 0x080461c3 8045f20: 08045f39 .word 0x08045f39 8045f24: 08045f41 .word 0x08045f41 8045f28: 08045f49 .word 0x08045f49 8045f2c: 08045f51 .word 0x08045f51 8045f30: 08045f59 .word 0x08045f59 8045f34: 08045f61 .word 0x08045f61 { case Ies: menupos = Ikt; break; 8045f38: 4b1f ldr r3, [pc, #124] ; (8045fb8 ) 8045f3a: 2211 movs r2, #17 8045f3c: 701a strb r2, [r3, #0] 8045f3e: e04a b.n 8045fd6 case Ied: menupos = Ies; break; 8045f40: 4b1d ldr r3, [pc, #116] ; (8045fb8 ) 8045f42: 220c movs r2, #12 8045f44: 701a strb r2, [r3, #0] 8045f46: e046 b.n 8045fd6 case Iee: menupos = Ied; break; 8045f48: 4b1b ldr r3, [pc, #108] ; (8045fb8 ) 8045f4a: 220d movs r2, #13 8045f4c: 701a strb r2, [r3, #0] 8045f4e: e042 b.n 8045fd6 case Ikd: menupos = Iee; break; 8045f50: 4b19 ldr r3, [pc, #100] ; (8045fb8 ) 8045f52: 220e movs r2, #14 8045f54: 701a strb r2, [r3, #0] 8045f56: e03e b.n 8045fd6 case Iks: menupos = Ikd; break; 8045f58: 4b17 ldr r3, [pc, #92] ; (8045fb8 ) 8045f5a: 220f movs r2, #15 8045f5c: 701a strb r2, [r3, #0] 8045f5e: e03a b.n 8045fd6 case Ikt: menupos = Iks; break; 8045f60: 4b15 ldr r3, [pc, #84] ; (8045fb8 ) 8045f62: 2210 movs r2, #16 8045f64: 701a strb r2, [r3, #0] 8045f66: e036 b.n 8045fd6 case Lang: if(focused) 8045f68: 4b14 ldr r3, [pc, #80] ; (8045fbc ) 8045f6a: 781b ldrb r3, [r3, #0] 8045f6c: b2db uxtb r3, r3 8045f6e: 2b00 cmp r3, #0 8045f70: d02e beq.n 8045fd0 { if(pardata.LANG == ENG) 8045f72: 4b13 ldr r3, [pc, #76] ; (8045fc0 ) 8045f74: 7b1b ldrb r3, [r3, #12] 8045f76: b2db uxtb r3, r3 8045f78: 2b01 cmp r3, #1 8045f7a: d103 bne.n 8045f84 pardata.LANG = RUS; 8045f7c: 4b10 ldr r3, [pc, #64] ; (8045fc0 ) 8045f7e: 2200 movs r2, #0 8045f80: 731a strb r2, [r3, #12] else pardata.LANG = ENG; } break; 8045f82: e025 b.n 8045fd0 else pardata.LANG = ENG; 8045f84: 4b0e ldr r3, [pc, #56] ; (8045fc0 ) 8045f86: 2201 movs r2, #1 8045f88: 731a strb r2, [r3, #12] break; 8045f8a: e021 b.n 8045fd0 case Type: #if (!defined(USE_D101) && !defined(USE_D102)) if(focused) 8045f8c: 4b0b ldr r3, [pc, #44] ; (8045fbc ) 8045f8e: 781b ldrb r3, [r3, #0] 8045f90: b2db uxtb r3, r3 8045f92: 2b00 cmp r3, #0 8045f94: d01e beq.n 8045fd4 { if(pardata.IIN > CHARGE) pardata.IIN--; 8045f96: 4b0a ldr r3, [pc, #40] ; (8045fc0 ) 8045f98: 799b ldrb r3, [r3, #6] 8045f9a: b2db uxtb r3, r3 8045f9c: 2b00 cmp r3, #0 8045f9e: d007 beq.n 8045fb0 8045fa0: 4b07 ldr r3, [pc, #28] ; (8045fc0 ) 8045fa2: 799b ldrb r3, [r3, #6] 8045fa4: b2db uxtb r3, r3 8045fa6: 3b01 subs r3, #1 8045fa8: b2da uxtb r2, r3 8045faa: 4b05 ldr r3, [pc, #20] ; (8045fc0 ) 8045fac: 719a strb r2, [r3, #6] { if(pardata.IIN == VOLTS) pardata.IIN = ICP; else pardata.IIN = VOLTS; } #endif break; 8045fae: e011 b.n 8045fd4 else pardata.IIN = VOLTS; 8045fb0: 4b03 ldr r3, [pc, #12] ; (8045fc0 ) 8045fb2: 2202 movs r2, #2 8045fb4: 719a strb r2, [r3, #6] break; 8045fb6: e00d b.n 8045fd4 8045fb8: 20020070 .word 0x20020070 8045fbc: 20020f84 .word 0x20020f84 8045fc0: 20023e60 .word 0x20023e60 8045fc4: 20020e34 .word 0x20020e34 case FormatDiskYes: menupos = FormatDiskNo; 8045fc8: 4b88 ldr r3, [pc, #544] ; (80461ec ) 8045fca: 2207 movs r2, #7 8045fcc: 701a strb r2, [r3, #0] break; 8045fce: e002 b.n 8045fd6 break; 8045fd0: bf00 nop 8045fd2: e0f6 b.n 80461c2 break; 8045fd4: bf00 nop } break; 8045fd6: e0f4 b.n 80461c2 case DATETIME: switch(menupos) 8045fd8: 4b84 ldr r3, [pc, #528] ; (80461ec ) 8045fda: 781b ldrb r3, [r3, #0] 8045fdc: b2db uxtb r3, r3 8045fde: 3b03 subs r3, #3 8045fe0: 2b04 cmp r3, #4 8045fe2: f200 80f1 bhi.w 80461c8 8045fe6: a201 add r2, pc, #4 ; (adr r2, 8045fec ) 8045fe8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8045fec: 08046001 .word 0x08046001 8045ff0: 08046009 .word 0x08046009 8045ff4: 08046011 .word 0x08046011 8045ff8: 08046019 .word 0x08046019 8045ffc: 08046021 .word 0x08046021 { case DateD: menupos = DateY; break; 8046000: 4b7a ldr r3, [pc, #488] ; (80461ec ) 8046002: 2205 movs r2, #5 8046004: 701a strb r2, [r3, #0] 8046006: e00f b.n 8046028 case DateM: menupos = DateD; break; 8046008: 4b78 ldr r3, [pc, #480] ; (80461ec ) 804600a: 2203 movs r2, #3 804600c: 701a strb r2, [r3, #0] 804600e: e00b b.n 8046028 case DateY: menupos = DateM; break; 8046010: 4b76 ldr r3, [pc, #472] ; (80461ec ) 8046012: 2204 movs r2, #4 8046014: 701a strb r2, [r3, #0] 8046016: e007 b.n 8046028 case TimeH: menupos = TimeM; break; 8046018: 4b74 ldr r3, [pc, #464] ; (80461ec ) 804601a: 2207 movs r2, #7 804601c: 701a strb r2, [r3, #0] 804601e: e003 b.n 8046028 case TimeM: menupos = TimeH; break; 8046020: 4b72 ldr r3, [pc, #456] ; (80461ec ) 8046022: 2206 movs r2, #6 8046024: 701a strb r2, [r3, #0] 8046026: bf00 nop } break; 8046028: e0ce b.n 80461c8 case CLEAN_FILES: switch(menupos) 804602a: 4b70 ldr r3, [pc, #448] ; (80461ec ) 804602c: 781b ldrb r3, [r3, #0] 804602e: b2db uxtb r3, r3 8046030: 3b01 subs r3, #1 8046032: 2b08 cmp r3, #8 8046034: f200 80cb bhi.w 80461ce 8046038: a201 add r2, pc, #4 ; (adr r2, 8046040 ) 804603a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804603e: bf00 nop 8046040: 08046065 .word 0x08046065 8046044: 08046065 .word 0x08046065 8046048: 080461cf .word 0x080461cf 804604c: 080461cf .word 0x080461cf 8046050: 080461cf .word 0x080461cf 8046054: 08046073 .word 0x08046073 8046058: 0804607b .word 0x0804607b 804605c: 08046083 .word 0x08046083 8046060: 0804608b .word 0x0804608b { case NoFilesPTM: case FilesPTM: menu = SETTINGS; 8046064: 4b62 ldr r3, [pc, #392] ; (80461f0 ) 8046066: 2212 movs r2, #18 8046068: 701a strb r2, [r3, #0] menupos = CleanFiles; 804606a: 4b60 ldr r3, [pc, #384] ; (80461ec ) 804606c: 220b movs r2, #11 804606e: 701a strb r2, [r3, #0] break; 8046070: e00f b.n 8046092 case UpNo: menupos = UpYes; 8046072: 4b5e ldr r3, [pc, #376] ; (80461ec ) 8046074: 2207 movs r2, #7 8046076: 701a strb r2, [r3, #0] break; 8046078: e00b b.n 8046092 case UpYes: menupos = UpNo; 804607a: 4b5c ldr r3, [pc, #368] ; (80461ec ) 804607c: 2206 movs r2, #6 804607e: 701a strb r2, [r3, #0] break; 8046080: e007 b.n 8046092 case AllNo: menupos = AllYes; 8046082: 4b5a ldr r3, [pc, #360] ; (80461ec ) 8046084: 2209 movs r2, #9 8046086: 701a strb r2, [r3, #0] break; 8046088: e003 b.n 8046092 case AllYes: menupos = AllNo; 804608a: 4b58 ldr r3, [pc, #352] ; (80461ec ) 804608c: 2208 movs r2, #8 804608e: 701a strb r2, [r3, #0] break; 8046090: bf00 nop } break; 8046092: e09c b.n 80461ce case ACCELEROMETER: switch(menupos) 8046094: 4b55 ldr r3, [pc, #340] ; (80461ec ) 8046096: 781b ldrb r3, [r3, #0] 8046098: b2db uxtb r3, r3 804609a: 3b0c subs r3, #12 804609c: 2b05 cmp r3, #5 804609e: f200 8099 bhi.w 80461d4 80460a2: a201 add r2, pc, #4 ; (adr r2, 80460a8 ) 80460a4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80460a8: 080460c1 .word 0x080460c1 80460ac: 080460c9 .word 0x080460c9 80460b0: 080460d1 .word 0x080460d1 80460b4: 080460d9 .word 0x080460d9 80460b8: 080460e1 .word 0x080460e1 80460bc: 080460e9 .word 0x080460e9 { case Ies: menupos = Ikt; break; 80460c0: 4b4a ldr r3, [pc, #296] ; (80461ec ) 80460c2: 2211 movs r2, #17 80460c4: 701a strb r2, [r3, #0] 80460c6: e013 b.n 80460f0 case Ied: menupos = Ies; break; 80460c8: 4b48 ldr r3, [pc, #288] ; (80461ec ) 80460ca: 220c movs r2, #12 80460cc: 701a strb r2, [r3, #0] 80460ce: e00f b.n 80460f0 case Iee: menupos = Ied; break; 80460d0: 4b46 ldr r3, [pc, #280] ; (80461ec ) 80460d2: 220d movs r2, #13 80460d4: 701a strb r2, [r3, #0] 80460d6: e00b b.n 80460f0 case Ikd: menupos = Iee; break; 80460d8: 4b44 ldr r3, [pc, #272] ; (80461ec ) 80460da: 220e movs r2, #14 80460dc: 701a strb r2, [r3, #0] 80460de: e007 b.n 80460f0 case Iks: menupos = Ikd; break; 80460e0: 4b42 ldr r3, [pc, #264] ; (80461ec ) 80460e2: 220f movs r2, #15 80460e4: 701a strb r2, [r3, #0] 80460e6: e003 b.n 80460f0 case Ikt: menupos = Iks; break; 80460e8: 4b40 ldr r3, [pc, #256] ; (80461ec ) 80460ea: 2210 movs r2, #16 80460ec: 701a strb r2, [r3, #0] 80460ee: bf00 nop } break; 80460f0: e070 b.n 80461d4 case CALIBR_00: if(menupos > 0) 80460f2: 4b3e ldr r3, [pc, #248] ; (80461ec ) 80460f4: 781b ldrb r3, [r3, #0] 80460f6: b2db uxtb r3, r3 80460f8: 2b00 cmp r3, #0 80460fa: d06e beq.n 80461da menupos--; 80460fc: 4b3b ldr r3, [pc, #236] ; (80461ec ) 80460fe: 781b ldrb r3, [r3, #0] 8046100: b2db uxtb r3, r3 8046102: 3b01 subs r3, #1 8046104: b2da uxtb r2, r3 8046106: 4b39 ldr r3, [pc, #228] ; (80461ec ) 8046108: 701a strb r2, [r3, #0] break; 804610a: e066 b.n 80461da case CALIBR_4: case CALIBR_5: case CALIBR_6: case CALIBR_7: case CALIBR_8: if(menupos > 0) 804610c: 4b37 ldr r3, [pc, #220] ; (80461ec ) 804610e: 781b ldrb r3, [r3, #0] 8046110: b2db uxtb r3, r3 8046112: 2b00 cmp r3, #0 8046114: d064 beq.n 80461e0 menupos--; 8046116: 4b35 ldr r3, [pc, #212] ; (80461ec ) 8046118: 781b ldrb r3, [r3, #0] 804611a: b2db uxtb r3, r3 804611c: 3b01 subs r3, #1 804611e: b2da uxtb r2, r3 8046120: 4b32 ldr r3, [pc, #200] ; (80461ec ) 8046122: 701a strb r2, [r3, #0] break; 8046124: e05c b.n 80461e0 case CALIBR_9: case CALIBR_10: case CALIBR_11: if(menupos > 1) 8046126: 4b31 ldr r3, [pc, #196] ; (80461ec ) 8046128: 781b ldrb r3, [r3, #0] 804612a: b2db uxtb r3, r3 804612c: 2b01 cmp r3, #1 804612e: d902 bls.n 8046136 menupos = 1; 8046130: 4b2e ldr r3, [pc, #184] ; (80461ec ) 8046132: 2201 movs r2, #1 8046134: 701a strb r2, [r3, #0] if(menupos > 0) 8046136: 4b2d ldr r3, [pc, #180] ; (80461ec ) 8046138: 781b ldrb r3, [r3, #0] 804613a: b2db uxtb r3, r3 804613c: 2b00 cmp r3, #0 804613e: d052 beq.n 80461e6 menupos--; 8046140: 4b2a ldr r3, [pc, #168] ; (80461ec ) 8046142: 781b ldrb r3, [r3, #0] 8046144: b2db uxtb r3, r3 8046146: 3b01 subs r3, #1 8046148: b2da uxtb r2, r3 804614a: 4b28 ldr r3, [pc, #160] ; (80461ec ) 804614c: 701a strb r2, [r3, #0] break; 804614e: e04a b.n 80461e6 break; 8046150: bf00 nop 8046152: f00c be1b b.w 8052d8c break; 8046156: bf00 nop 8046158: f00c be18 b.w 8052d8c break; 804615c: bf00 nop 804615e: f00c be15 b.w 8052d8c break; 8046162: bf00 nop 8046164: f00c be12 b.w 8052d8c break; 8046168: bf00 nop 804616a: f00c be0f b.w 8052d8c break; 804616e: bf00 nop 8046170: f00c be0c b.w 8052d8c break; 8046174: bf00 nop 8046176: f00c be09 b.w 8052d8c break; 804617a: bf00 nop 804617c: f00c be06 b.w 8052d8c break; 8046180: bf00 nop 8046182: f00c be03 b.w 8052d8c break; 8046186: bf00 nop 8046188: f00c be00 b.w 8052d8c break; 804618c: bf00 nop 804618e: f00c bdfd b.w 8052d8c break; 8046192: bf00 nop 8046194: f00c bdfa b.w 8052d8c break; 8046198: bf00 nop 804619a: f00c bdf7 b.w 8052d8c break; 804619e: bf00 nop 80461a0: f00c bdf4 b.w 8052d8c break; 80461a4: bf00 nop 80461a6: f00c bdf1 b.w 8052d8c break; 80461aa: bf00 nop 80461ac: f00c bdee b.w 8052d8c break; 80461b0: bf00 nop 80461b2: f00c bdeb b.w 8052d8c break; 80461b6: bf00 nop 80461b8: f00c bde8 b.w 8052d8c break; 80461bc: bf00 nop 80461be: f00c bde5 b.w 8052d8c break; 80461c2: bf00 nop 80461c4: f00c bde2 b.w 8052d8c break; 80461c8: bf00 nop 80461ca: f00c bddf b.w 8052d8c break; 80461ce: bf00 nop 80461d0: f00c bddc b.w 8052d8c break; 80461d4: bf00 nop 80461d6: f00c bdd9 b.w 8052d8c break; 80461da: bf00 nop 80461dc: f00c bdd6 b.w 8052d8c break; 80461e0: bf00 nop 80461e2: f00c bdd3 b.w 8052d8c break; 80461e6: bf00 nop } break; 80461e8: f00c bdd0 b.w 8052d8c 80461ec: 20020070 .word 0x20020070 80461f0: 20020f78 .word 0x20020f78 case KEY_RT:// TODO KEY RT switch(menu) 80461f4: 4bce ldr r3, [pc, #824] ; (8046530 ) 80461f6: 781b ldrb r3, [r3, #0] 80461f8: b2db uxtb r3, r3 80461fa: 2b47 cmp r3, #71 ; 0x47 80461fc: f20c 85c8 bhi.w 8052d90 8046200: a201 add r2, pc, #4 ; (adr r2, 8046208 ) 8046202: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046206: bf00 nop 8046208: 08046b01 .word 0x08046b01 804620c: 080471cd .word 0x080471cd 8046210: 08052d91 .word 0x08052d91 8046214: 0804754f .word 0x0804754f 8046218: 080489c1 .word 0x080489c1 804621c: 08052d91 .word 0x08052d91 8046220: 080479a7 .word 0x080479a7 8046224: 08047bcd .word 0x08047bcd 8046228: 080485ed .word 0x080485ed 804622c: 08052d91 .word 0x08052d91 8046230: 08048aa7 .word 0x08048aa7 8046234: 08052d91 .word 0x08052d91 8046238: 08052d91 .word 0x08052d91 804623c: 08047761 .word 0x08047761 8046240: 080476b5 .word 0x080476b5 8046244: 08046329 .word 0x08046329 8046248: 08048e4b .word 0x08048e4b 804624c: 080463d3 .word 0x080463d3 8046250: 08048bdd .word 0x08048bdd 8046254: 08048d8b .word 0x08048d8b 8046258: 08052d91 .word 0x08052d91 804625c: 0804733d .word 0x0804733d 8046260: 0804737b .word 0x0804737b 8046264: 080473b9 .word 0x080473b9 8046268: 08048cbd .word 0x08048cbd 804626c: 08048d0f .word 0x08048d0f 8046270: 08052d91 .word 0x08052d91 8046274: 08052d91 .word 0x08052d91 8046278: 08046da3 .word 0x08046da3 804627c: 08046b71 .word 0x08046b71 8046280: 08047141 .word 0x08047141 8046284: 08046b01 .word 0x08046b01 8046288: 08047197 .word 0x08047197 804628c: 08046da3 .word 0x08046da3 8046290: 08047035 .word 0x08047035 8046294: 080470a1 .word 0x080470a1 8046298: 08046da3 .word 0x08046da3 804629c: 08048e4b .word 0x08048e4b 80462a0: 08046ab5 .word 0x08046ab5 80462a4: 08052d91 .word 0x08052d91 80462a8: 08046da3 .word 0x08046da3 80462ac: 0804721f .word 0x0804721f 80462b0: 08047287 .word 0x08047287 80462b4: 080472ef .word 0x080472ef 80462b8: 080472ef .word 0x080472ef 80462bc: 080472ef .word 0x080472ef 80462c0: 08052d91 .word 0x08052d91 80462c4: 080472ef .word 0x080472ef 80462c8: 080472ef .word 0x080472ef 80462cc: 080472ef .word 0x080472ef 80462d0: 080472ef .word 0x080472ef 80462d4: 080472ef .word 0x080472ef 80462d8: 08048deb .word 0x08048deb 80462dc: 08048e07 .word 0x08048e07 80462e0: 08048e07 .word 0x08048e07 80462e4: 08048e07 .word 0x08048e07 80462e8: 08048e07 .word 0x08048e07 80462ec: 08048e07 .word 0x08048e07 80462f0: 08048e07 .word 0x08048e07 80462f4: 08048e07 .word 0x08048e07 80462f8: 08048e07 .word 0x08048e07 80462fc: 08048e07 .word 0x08048e07 8046300: 08048e21 .word 0x08048e21 8046304: 08048e21 .word 0x08048e21 8046308: 08048e21 .word 0x08048e21 804630c: 08052d91 .word 0x08052d91 8046310: 08052d91 .word 0x08052d91 8046314: 08052d91 .word 0x08052d91 8046318: 08052d91 .word 0x08052d91 804631c: 08046a8f .word 0x08046a8f 8046320: 08046a8f .word 0x08046a8f 8046324: 08046a8f .word 0x08046a8f { case PARAM_DIAGN: switch(menupos) 8046328: 4b82 ldr r3, [pc, #520] ; (8046534 ) 804632a: 781b ldrb r3, [r3, #0] 804632c: b2db uxtb r3, r3 804632e: 3b01 subs r3, #1 8046330: 2b09 cmp r3, #9 8046332: f202 858d bhi.w 8048e50 8046336: a201 add r2, pc, #4 ; (adr r2, 804633c ) 8046338: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804633c: 08046365 .word 0x08046365 8046340: 08048e51 .word 0x08048e51 8046344: 08048e51 .word 0x08048e51 8046348: 080463c1 .word 0x080463c1 804634c: 080463b9 .word 0x080463b9 8046350: 080463b1 .word 0x080463b1 8046354: 080463a9 .word 0x080463a9 8046358: 080463a1 .word 0x080463a1 804635c: 08046399 .word 0x08046399 8046360: 08046391 .word 0x08046391 { case DiagAverage: if(focused) 8046364: 4b74 ldr r3, [pc, #464] ; (8046538 ) 8046366: 781b ldrb r3, [r3, #0] 8046368: b2db uxtb r3, r3 804636a: 2b00 cmp r3, #0 804636c: d02e beq.n 80463cc { if(pardata.AVG < AVG512) pardata.AVG++; 804636e: 4b73 ldr r3, [pc, #460] ; (804653c ) 8046370: 7b5b ldrb r3, [r3, #13] 8046372: b2db uxtb r3, r3 8046374: 2b08 cmp r3, #8 8046376: d807 bhi.n 8046388 8046378: 4b70 ldr r3, [pc, #448] ; (804653c ) 804637a: 7b5b ldrb r3, [r3, #13] 804637c: b2db uxtb r3, r3 804637e: 3301 adds r3, #1 8046380: b2da uxtb r2, r3 8046382: 4b6e ldr r3, [pc, #440] ; (804653c ) 8046384: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } break; 8046386: e021 b.n 80463cc else pardata.AVG = AVG1; 8046388: 4b6c ldr r3, [pc, #432] ; (804653c ) 804638a: 2200 movs r2, #0 804638c: 735a strb r2, [r3, #13] break; 804638e: e01d b.n 80463cc case DiagMax_IKD: menupos = DiagMax_IDT; break; 8046390: 4b68 ldr r3, [pc, #416] ; (8046534 ) 8046392: 2205 movs r2, #5 8046394: 701a strb r2, [r3, #0] 8046396: e01a b.n 80463ce case DiagMax_IEE: menupos = DiagMax_IKD; break; 8046398: 4b66 ldr r3, [pc, #408] ; (8046534 ) 804639a: 220a movs r2, #10 804639c: 701a strb r2, [r3, #0] 804639e: e016 b.n 80463ce case DiagMax_IED: menupos = DiagMax_IEE; break; 80463a0: 4b64 ldr r3, [pc, #400] ; (8046534 ) 80463a2: 2209 movs r2, #9 80463a4: 701a strb r2, [r3, #0] 80463a6: e012 b.n 80463ce case DiagMax_IES: menupos = DiagMax_IED; break; 80463a8: 4b62 ldr r3, [pc, #392] ; (8046534 ) 80463aa: 2208 movs r2, #8 80463ac: 701a strb r2, [r3, #0] 80463ae: e00e b.n 80463ce case DiagMax_IET: menupos = DiagMax_IES; break; 80463b0: 4b60 ldr r3, [pc, #384] ; (8046534 ) 80463b2: 2207 movs r2, #7 80463b4: 701a strb r2, [r3, #0] 80463b6: e00a b.n 80463ce case DiagMax_IDT: menupos = DiagMax_IET; break; 80463b8: 4b5e ldr r3, [pc, #376] ; (8046534 ) 80463ba: 2206 movs r2, #6 80463bc: 701a strb r2, [r3, #0] 80463be: e006 b.n 80463ce case DiagSaveToFile: memset(DiagFileName, 0, sizeof(DiagFileName)); 80463c0: 2221 movs r2, #33 ; 0x21 80463c2: 2100 movs r1, #0 80463c4: 485e ldr r0, [pc, #376] ; (8046540 ) 80463c6: f086 fe5b bl 80cd080 break; 80463ca: e000 b.n 80463ce break; 80463cc: bf00 nop } break; 80463ce: f002 bd3f b.w 8048e50 case PARAM_DIAGN_1: break; case PARAM_DIAGN_2: switch(menupos) 80463d2: 4b58 ldr r3, [pc, #352] ; (8046534 ) 80463d4: 781b ldrb r3, [r3, #0] 80463d6: b2db uxtb r3, r3 80463d8: 3b01 subs r3, #1 80463da: 2b23 cmp r3, #35 ; 0x23 80463dc: f202 853b bhi.w 8048e56 80463e0: a201 add r2, pc, #4 ; (adr r2, 80463e8 ) 80463e2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80463e6: bf00 nop 80463e8: 08046479 .word 0x08046479 80463ec: 08046487 .word 0x08046487 80463f0: 080464cf .word 0x080464cf 80463f4: 080464dd .word 0x080464dd 80463f8: 08046523 .word 0x08046523 80463fc: 08048e57 .word 0x08048e57 8046400: 0804654d .word 0x0804654d 8046404: 08046885 .word 0x08046885 8046408: 080469c3 .word 0x080469c3 804640c: 080469c3 .word 0x080469c3 8046410: 080469c3 .word 0x080469c3 8046414: 080469c3 .word 0x080469c3 8046418: 080469f3 .word 0x080469f3 804641c: 080469eb .word 0x080469eb 8046420: 080469e3 .word 0x080469e3 8046424: 080469db .word 0x080469db 8046428: 080469d3 .word 0x080469d3 804642c: 080469cb .word 0x080469cb 8046430: 08046a23 .word 0x08046a23 8046434: 08046a1b .word 0x08046a1b 8046438: 08046a13 .word 0x08046a13 804643c: 08046a0b .word 0x08046a0b 8046440: 08046a03 .word 0x08046a03 8046444: 080469fb .word 0x080469fb 8046448: 08046a53 .word 0x08046a53 804644c: 08046a4b .word 0x08046a4b 8046450: 08046a43 .word 0x08046a43 8046454: 08046a3b .word 0x08046a3b 8046458: 08046a33 .word 0x08046a33 804645c: 08046a2b .word 0x08046a2b 8046460: 08046a83 .word 0x08046a83 8046464: 08046a7b .word 0x08046a7b 8046468: 08046a73 .word 0x08046a73 804646c: 08046a6b .word 0x08046a6b 8046470: 08046a63 .word 0x08046a63 8046474: 08046a5b .word 0x08046a5b { case DiagUs1: menupos = DiagOp1; 8046478: 4b2e ldr r3, [pc, #184] ; (8046534 ) 804647a: 2202 movs r2, #2 804647c: 701a strb r2, [r3, #0] CURR_USL = Us1; 804647e: 4b31 ldr r3, [pc, #196] ; (8046544 ) 8046480: 2200 movs r2, #0 8046482: 701a strb r2, [r3, #0] break; 8046484: e301 b.n 8046a8a case DiagOp1: if(!focused) 8046486: 4b2c ldr r3, [pc, #176] ; (8046538 ) 8046488: 781b ldrb r3, [r3, #0] 804648a: b2db uxtb r3, r3 804648c: f083 0301 eor.w r3, r3, #1 8046490: b2db uxtb r3, r3 8046492: 2b00 cmp r3, #0 8046494: d006 beq.n 80464a4 { menupos = DiagUs2; 8046496: 4b27 ldr r3, [pc, #156] ; (8046534 ) 8046498: 2203 movs r2, #3 804649a: 701a strb r2, [r3, #0] CURR_USL = Us2; 804649c: 4b29 ldr r3, [pc, #164] ; (8046544 ) 804649e: 2201 movs r2, #1 80464a0: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; } break; 80464a2: e2f2 b.n 8046a8a pardata.DIAGN_OPER[CURR_POINT][Us1] ^= 0x1; 80464a4: 4b28 ldr r3, [pc, #160] ; (8046548 ) 80464a6: 781b ldrb r3, [r3, #0] 80464a8: b2db uxtb r3, r3 80464aa: 4618 mov r0, r3 80464ac: 4a23 ldr r2, [pc, #140] ; (804653c ) 80464ae: 3386 adds r3, #134 ; 0x86 80464b0: 009b lsls r3, r3, #2 80464b2: 4413 add r3, r2 80464b4: 791b ldrb r3, [r3, #4] 80464b6: b2db uxtb r3, r3 80464b8: f083 0301 eor.w r3, r3, #1 80464bc: b2d9 uxtb r1, r3 80464be: 4a1f ldr r2, [pc, #124] ; (804653c ) 80464c0: f100 0386 add.w r3, r0, #134 ; 0x86 80464c4: 009b lsls r3, r3, #2 80464c6: 4413 add r3, r2 80464c8: 460a mov r2, r1 80464ca: 711a strb r2, [r3, #4] break; 80464cc: e2dd b.n 8046a8a case DiagUs2: menupos = DiagOp2; 80464ce: 4b19 ldr r3, [pc, #100] ; (8046534 ) 80464d0: 2204 movs r2, #4 80464d2: 701a strb r2, [r3, #0] CURR_USL = Us2; 80464d4: 4b1b ldr r3, [pc, #108] ; (8046544 ) 80464d6: 2201 movs r2, #1 80464d8: 701a strb r2, [r3, #0] break; 80464da: e2d6 b.n 8046a8a case DiagOp2: if(!focused) 80464dc: 4b16 ldr r3, [pc, #88] ; (8046538 ) 80464de: 781b ldrb r3, [r3, #0] 80464e0: b2db uxtb r3, r3 80464e2: f083 0301 eor.w r3, r3, #1 80464e6: b2db uxtb r3, r3 80464e8: 2b00 cmp r3, #0 80464ea: d006 beq.n 80464fa { menupos = DiagUs3; 80464ec: 4b11 ldr r3, [pc, #68] ; (8046534 ) 80464ee: 2205 movs r2, #5 80464f0: 701a strb r2, [r3, #0] CURR_USL = Us3; 80464f2: 4b14 ldr r3, [pc, #80] ; (8046544 ) 80464f4: 2202 movs r2, #2 80464f6: 701a strb r2, [r3, #0] } else { pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; } break; 80464f8: e2c7 b.n 8046a8a pardata.DIAGN_OPER[CURR_POINT][Us2] ^= 0x1; 80464fa: 4b13 ldr r3, [pc, #76] ; (8046548 ) 80464fc: 781b ldrb r3, [r3, #0] 80464fe: b2db uxtb r3, r3 8046500: 4618 mov r0, r3 8046502: 4a0e ldr r2, [pc, #56] ; (804653c ) 8046504: 009b lsls r3, r3, #2 8046506: 4413 add r3, r2 8046508: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 804650c: b2db uxtb r3, r3 804650e: f083 0301 eor.w r3, r3, #1 8046512: b2d9 uxtb r1, r3 8046514: 4a09 ldr r2, [pc, #36] ; (804653c ) 8046516: 0083 lsls r3, r0, #2 8046518: 4413 add r3, r2 804651a: 460a mov r2, r1 804651c: f883 221d strb.w r2, [r3, #541] ; 0x21d break; 8046520: e2b3 b.n 8046a8a case DiagUs3: menupos = DiagUs1; 8046522: 4b04 ldr r3, [pc, #16] ; (8046534 ) 8046524: 2201 movs r2, #1 8046526: 701a strb r2, [r3, #0] CURR_USL = Us1; 8046528: 4b06 ldr r3, [pc, #24] ; (8046544 ) 804652a: 2200 movs r2, #0 804652c: 701a strb r2, [r3, #0] break; 804652e: e2ac b.n 8046a8a 8046530: 20020f78 .word 0x20020f78 8046534: 20020070 .word 0x20020070 8046538: 20020f84 .word 0x20020f84 804653c: 20023e60 .word 0x20023e60 8046540: 20020e7c .word 0x20020e7c 8046544: 20021013 .word 0x20021013 8046548: 20021011 .word 0x20021011 case DiagAVS: if(focused) 804654c: 4bc6 ldr r3, [pc, #792] ; (8046868 ) 804654e: 781b ldrb r3, [r3, #0] 8046550: b2db uxtb r3, r3 8046552: 2b00 cmp r3, #0 8046554: f000 817a beq.w 804684c { tmp8 = pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7; 8046558: 4bc4 ldr r3, [pc, #784] ; (804686c ) 804655a: 781b ldrb r3, [r3, #0] 804655c: b2db uxtb r3, r3 804655e: 4618 mov r0, r3 8046560: 4bc3 ldr r3, [pc, #780] ; (8046870 ) 8046562: 781b ldrb r3, [r3, #0] 8046564: b2db uxtb r3, r3 8046566: 4619 mov r1, r3 8046568: 4ac2 ldr r2, [pc, #776] ; (8046874 ) 804656a: 0083 lsls r3, r0, #2 804656c: 4413 add r3, r2 804656e: 440b add r3, r1 8046570: f503 730f add.w r3, r3, #572 ; 0x23c 8046574: 781b ldrb r3, [r3, #0] 8046576: b2db uxtb r3, r3 8046578: f003 0307 and.w r3, r3, #7 804657c: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_NO) tmp8 = DIAGN_ACC; 8046580: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046584: 2b00 cmp r3, #0 8046586: d103 bne.n 8046590 8046588: 2301 movs r3, #1 804658a: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804658e: e016 b.n 80465be else if(tmp8 == DIAGN_ACC) tmp8 = DIAGN_VEL; 8046590: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046594: 2b01 cmp r3, #1 8046596: d103 bne.n 80465a0 8046598: 2302 movs r3, #2 804659a: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804659e: e00e b.n 80465be else if(tmp8 == DIAGN_VEL) tmp8 = DIAGN_DIS; 80465a0: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80465a4: 2b02 cmp r3, #2 80465a6: d103 bne.n 80465b0 80465a8: 2304 movs r3, #4 80465aa: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80465ae: e006 b.n 80465be else if(tmp8 == DIAGN_DIS) tmp8 = DIAGN_NO; 80465b0: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80465b4: 2b04 cmp r3, #4 80465b6: d102 bne.n 80465be 80465b8: 2300 movs r3, #0 80465ba: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0xf8; 80465be: 4bab ldr r3, [pc, #684] ; (804686c ) 80465c0: 781b ldrb r3, [r3, #0] 80465c2: b2da uxtb r2, r3 80465c4: 4614 mov r4, r2 80465c6: 4baa ldr r3, [pc, #680] ; (8046870 ) 80465c8: 781b ldrb r3, [r3, #0] 80465ca: b2db uxtb r3, r3 80465cc: 4618 mov r0, r3 80465ce: 4615 mov r5, r2 80465d0: 4619 mov r1, r3 80465d2: 4aa8 ldr r2, [pc, #672] ; (8046874 ) 80465d4: 00ab lsls r3, r5, #2 80465d6: 4413 add r3, r2 80465d8: 440b add r3, r1 80465da: f503 730f add.w r3, r3, #572 ; 0x23c 80465de: 781b ldrb r3, [r3, #0] 80465e0: b2db uxtb r3, r3 80465e2: f023 0307 bic.w r3, r3, #7 80465e6: b2d9 uxtb r1, r3 80465e8: 4aa2 ldr r2, [pc, #648] ; (8046874 ) 80465ea: 00a3 lsls r3, r4, #2 80465ec: 4413 add r3, r2 80465ee: 4403 add r3, r0 80465f0: f503 730f add.w r3, r3, #572 ; 0x23c 80465f4: 460a mov r2, r1 80465f6: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= tmp8; 80465f8: 4b9c ldr r3, [pc, #624] ; (804686c ) 80465fa: 781b ldrb r3, [r3, #0] 80465fc: b2da uxtb r2, r3 80465fe: 4614 mov r4, r2 8046600: 4b9b ldr r3, [pc, #620] ; (8046870 ) 8046602: 781b ldrb r3, [r3, #0] 8046604: b2db uxtb r3, r3 8046606: 4618 mov r0, r3 8046608: 4615 mov r5, r2 804660a: 4619 mov r1, r3 804660c: 4a99 ldr r2, [pc, #612] ; (8046874 ) 804660e: 00ab lsls r3, r5, #2 8046610: 4413 add r3, r2 8046612: 440b add r3, r1 8046614: f503 730f add.w r3, r3, #572 ; 0x23c 8046618: 781b ldrb r3, [r3, #0] 804661a: b2da uxtb r2, r3 804661c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046620: 4313 orrs r3, r2 8046622: b2d9 uxtb r1, r3 8046624: 4a93 ldr r2, [pc, #588] ; (8046874 ) 8046626: 00a3 lsls r3, r4, #2 8046628: 4413 add r3, r2 804662a: 4403 add r3, r0 804662c: f503 730f add.w r3, r3, #572 ; 0x23c 8046630: 460a mov r2, r1 8046632: 701a strb r2, [r3, #0] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) > DIAGN_ACC) 8046634: 4b8d ldr r3, [pc, #564] ; (804686c ) 8046636: 781b ldrb r3, [r3, #0] 8046638: b2db uxtb r3, r3 804663a: 4618 mov r0, r3 804663c: 4b8c ldr r3, [pc, #560] ; (8046870 ) 804663e: 781b ldrb r3, [r3, #0] 8046640: b2db uxtb r3, r3 8046642: 4619 mov r1, r3 8046644: 4a8b ldr r2, [pc, #556] ; (8046874 ) 8046646: 0083 lsls r3, r0, #2 8046648: 4413 add r3, r2 804664a: 440b add r3, r1 804664c: f503 730f add.w r3, r3, #572 ; 0x23c 8046650: 781b ldrb r3, [r3, #0] 8046652: b2db uxtb r3, r3 8046654: f003 0307 and.w r3, r3, #7 8046658: 2b01 cmp r3, #1 804665a: f340 8086 ble.w 804676a { if(pardata.DIAGN_HP[CURR_POINT][CURR_USL] < 2.0f) 804665e: 4b83 ldr r3, [pc, #524] ; (804686c ) 8046660: 781b ldrb r3, [r3, #0] 8046662: b2db uxtb r3, r3 8046664: 4618 mov r0, r3 8046666: 4b82 ldr r3, [pc, #520] ; (8046870 ) 8046668: 781b ldrb r3, [r3, #0] 804666a: b2db uxtb r3, r3 804666c: 4619 mov r1, r3 804666e: 4a81 ldr r2, [pc, #516] ; (8046874 ) 8046670: 0083 lsls r3, r0, #2 8046672: 440b add r3, r1 8046674: 3396 adds r3, #150 ; 0x96 8046676: 009b lsls r3, r3, #2 8046678: 4413 add r3, r2 804667a: 3304 adds r3, #4 804667c: edd3 7a00 vldr s15, [r3] 8046680: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8046684: eef4 7ac7 vcmpe.f32 s15, s14 8046688: eef1 fa10 vmrs APSR_nzcv, fpscr 804668c: d511 bpl.n 80466b2 pardata.DIAGN_HP[CURR_POINT][CURR_USL] = 2.0f; 804668e: 4b77 ldr r3, [pc, #476] ; (804686c ) 8046690: 781b ldrb r3, [r3, #0] 8046692: b2db uxtb r3, r3 8046694: 4618 mov r0, r3 8046696: 4b76 ldr r3, [pc, #472] ; (8046870 ) 8046698: 781b ldrb r3, [r3, #0] 804669a: b2db uxtb r3, r3 804669c: 4619 mov r1, r3 804669e: 4a75 ldr r2, [pc, #468] ; (8046874 ) 80466a0: 0083 lsls r3, r0, #2 80466a2: 440b add r3, r1 80466a4: 3396 adds r3, #150 ; 0x96 80466a6: 009b lsls r3, r3, #2 80466a8: 4413 add r3, r2 80466aa: 3304 adds r3, #4 80466ac: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80466b0: 601a str r2, [r3, #0] tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 80466b2: 4b6e ldr r3, [pc, #440] ; (804686c ) 80466b4: 781b ldrb r3, [r3, #0] 80466b6: b2db uxtb r3, r3 80466b8: 4618 mov r0, r3 80466ba: 4b6d ldr r3, [pc, #436] ; (8046870 ) 80466bc: 781b ldrb r3, [r3, #0] 80466be: b2db uxtb r3, r3 80466c0: 4619 mov r1, r3 80466c2: 4a6c ldr r2, [pc, #432] ; (8046874 ) 80466c4: 0083 lsls r3, r0, #2 80466c6: 4413 add r3, r2 80466c8: 440b add r3, r1 80466ca: f503 730f add.w r3, r3, #572 ; 0x23c 80466ce: 781b ldrb r3, [r3, #0] 80466d0: b2db uxtb r3, r3 80466d2: 08db lsrs r3, r3, #3 80466d4: b2db uxtb r3, r3 80466d6: f003 031f and.w r3, r3, #31 80466da: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_EXCESS) { 80466de: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80466e2: 2b10 cmp r3, #16 80466e4: d102 bne.n 80466ec tmp8 = DIAGN_PEAK; 80466e6: 2301 movs r3, #1 80466e8: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 } pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 80466ec: 4b5f ldr r3, [pc, #380] ; (804686c ) 80466ee: 781b ldrb r3, [r3, #0] 80466f0: b2da uxtb r2, r3 80466f2: 4614 mov r4, r2 80466f4: 4b5e ldr r3, [pc, #376] ; (8046870 ) 80466f6: 781b ldrb r3, [r3, #0] 80466f8: b2db uxtb r3, r3 80466fa: 4618 mov r0, r3 80466fc: 4615 mov r5, r2 80466fe: 4619 mov r1, r3 8046700: 4a5c ldr r2, [pc, #368] ; (8046874 ) 8046702: 00ab lsls r3, r5, #2 8046704: 4413 add r3, r2 8046706: 440b add r3, r1 8046708: f503 730f add.w r3, r3, #572 ; 0x23c 804670c: 781b ldrb r3, [r3, #0] 804670e: b2db uxtb r3, r3 8046710: f003 0307 and.w r3, r3, #7 8046714: b2d9 uxtb r1, r3 8046716: 4a57 ldr r2, [pc, #348] ; (8046874 ) 8046718: 00a3 lsls r3, r4, #2 804671a: 4413 add r3, r2 804671c: 4403 add r3, r0 804671e: f503 730f add.w r3, r3, #572 ; 0x23c 8046722: 460a mov r2, r1 8046724: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 8046726: 4b51 ldr r3, [pc, #324] ; (804686c ) 8046728: 781b ldrb r3, [r3, #0] 804672a: b2da uxtb r2, r3 804672c: 4614 mov r4, r2 804672e: 4b50 ldr r3, [pc, #320] ; (8046870 ) 8046730: 781b ldrb r3, [r3, #0] 8046732: b2db uxtb r3, r3 8046734: 4618 mov r0, r3 8046736: 4615 mov r5, r2 8046738: 4619 mov r1, r3 804673a: 4a4e ldr r2, [pc, #312] ; (8046874 ) 804673c: 00ab lsls r3, r5, #2 804673e: 4413 add r3, r2 8046740: 440b add r3, r1 8046742: f503 730f add.w r3, r3, #572 ; 0x23c 8046746: 781b ldrb r3, [r3, #0] 8046748: b2db uxtb r3, r3 804674a: b25a sxtb r2, r3 804674c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046750: 00db lsls r3, r3, #3 8046752: b25b sxtb r3, r3 8046754: 4313 orrs r3, r2 8046756: b25b sxtb r3, r3 8046758: b2d9 uxtb r1, r3 804675a: 4a46 ldr r2, [pc, #280] ; (8046874 ) 804675c: 00a3 lsls r3, r4, #2 804675e: 4413 add r3, r2 8046760: 4403 add r3, r0 8046762: f503 730f add.w r3, r3, #572 ; 0x23c 8046766: 460a mov r2, r1 8046768: 701a strb r2, [r3, #0] } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.DIAGN_LP[CURR_POINT][CURR_USL]) + 0.00005f) < 5.0) 804676a: 4b42 ldr r3, [pc, #264] ; (8046874 ) 804676c: 7adb ldrb r3, [r3, #11] 804676e: b2db uxtb r3, r3 8046770: 461a mov r2, r3 8046772: 4b41 ldr r3, [pc, #260] ; (8046878 ) 8046774: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8046778: ee07 3a90 vmov s15, r3 804677c: eeb8 5b67 vcvt.f64.u32 d5, s15 8046780: 4b3a ldr r3, [pc, #232] ; (804686c ) 8046782: 781b ldrb r3, [r3, #0] 8046784: b2db uxtb r3, r3 8046786: 4618 mov r0, r3 8046788: 4b39 ldr r3, [pc, #228] ; (8046870 ) 804678a: 781b ldrb r3, [r3, #0] 804678c: b2db uxtb r3, r3 804678e: 4619 mov r1, r3 8046790: 4a38 ldr r2, [pc, #224] ; (8046874 ) 8046792: 0083 lsls r3, r0, #2 8046794: 440b add r3, r1 8046796: 33b6 adds r3, #182 ; 0xb6 8046798: 009b lsls r3, r3, #2 804679a: 4413 add r3, r2 804679c: 3304 adds r3, #4 804679e: edd3 7a00 vldr s15, [r3] 80467a2: eeb7 6ae7 vcvt.f64.f32 d6, s15 80467a6: ee85 7b06 vdiv.f64 d7, d5, d6 80467aa: ed9f 6b2b vldr d6, [pc, #172] ; 8046858 80467ae: ee37 7b06 vadd.f64 d7, d7, d6 80467b2: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 80467b6: eeb4 7bc6 vcmpe.f64 d7, d6 80467ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80467be: d400 bmi.n 80467c2 pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; } } else menupos = Ok; break; 80467c0: e163 b.n 8046a8a pardata.DIAGN_LP[CURR_POINT][CURR_USL] = (float32_t) (FS[pardata.FRQ] / 5); 80467c2: 4b2a ldr r3, [pc, #168] ; (804686c ) 80467c4: 781b ldrb r3, [r3, #0] 80467c6: b2db uxtb r3, r3 80467c8: 4618 mov r0, r3 80467ca: 4b29 ldr r3, [pc, #164] ; (8046870 ) 80467cc: 781b ldrb r3, [r3, #0] 80467ce: b2db uxtb r3, r3 80467d0: 4619 mov r1, r3 80467d2: 4b28 ldr r3, [pc, #160] ; (8046874 ) 80467d4: 7adb ldrb r3, [r3, #11] 80467d6: b2db uxtb r3, r3 80467d8: 461a mov r2, r3 80467da: 4b27 ldr r3, [pc, #156] ; (8046878 ) 80467dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80467e0: 4a26 ldr r2, [pc, #152] ; (804687c ) 80467e2: fba2 2303 umull r2, r3, r2, r3 80467e6: 089b lsrs r3, r3, #2 80467e8: ee07 3a90 vmov s15, r3 80467ec: eef8 7a67 vcvt.f32.u32 s15, s15 80467f0: 4a20 ldr r2, [pc, #128] ; (8046874 ) 80467f2: 0083 lsls r3, r0, #2 80467f4: 440b add r3, r1 80467f6: 33b6 adds r3, #182 ; 0xb6 80467f8: 009b lsls r3, r3, #2 80467fa: 4413 add r3, r2 80467fc: 3304 adds r3, #4 80467fe: edc3 7a00 vstr s15, [r3] pardata.DIAGN_LP[CURR_POINT][CURR_USL] += 0.0001; 8046802: 4b1a ldr r3, [pc, #104] ; (804686c ) 8046804: 781b ldrb r3, [r3, #0] 8046806: b2da uxtb r2, r3 8046808: 4610 mov r0, r2 804680a: 4b19 ldr r3, [pc, #100] ; (8046870 ) 804680c: 781b ldrb r3, [r3, #0] 804680e: b2db uxtb r3, r3 8046810: 4619 mov r1, r3 8046812: 4615 mov r5, r2 8046814: 461c mov r4, r3 8046816: 4a17 ldr r2, [pc, #92] ; (8046874 ) 8046818: 00ab lsls r3, r5, #2 804681a: 4423 add r3, r4 804681c: 33b6 adds r3, #182 ; 0xb6 804681e: 009b lsls r3, r3, #2 8046820: 4413 add r3, r2 8046822: 3304 adds r3, #4 8046824: edd3 7a00 vldr s15, [r3] 8046828: eeb7 7ae7 vcvt.f64.f32 d7, s15 804682c: ed9f 6b0c vldr d6, [pc, #48] ; 8046860 8046830: ee37 7b06 vadd.f64 d7, d7, d6 8046834: eef7 7bc7 vcvt.f32.f64 s15, d7 8046838: 4a0e ldr r2, [pc, #56] ; (8046874 ) 804683a: 0083 lsls r3, r0, #2 804683c: 440b add r3, r1 804683e: 33b6 adds r3, #182 ; 0xb6 8046840: 009b lsls r3, r3, #2 8046842: 4413 add r3, r2 8046844: 3304 adds r3, #4 8046846: edc3 7a00 vstr s15, [r3] break; 804684a: e11e b.n 8046a8a menupos = Ok; 804684c: 4b0c ldr r3, [pc, #48] ; (8046880 ) 804684e: 2200 movs r2, #0 8046850: 701a strb r2, [r3, #0] break; 8046852: e11a b.n 8046a8a 8046854: f3af 8000 nop.w 8046858: e0000000 .word 0xe0000000 804685c: 3f0a36e2 .word 0x3f0a36e2 8046860: eb1c432d .word 0xeb1c432d 8046864: 3f1a36e2 .word 0x3f1a36e2 8046868: 20020f84 .word 0x20020f84 804686c: 20021011 .word 0x20021011 8046870: 20021013 .word 0x20021013 8046874: 20023e60 .word 0x20023e60 8046878: 080ee8c8 .word 0x080ee8c8 804687c: cccccccd .word 0xcccccccd 8046880: 20020070 .word 0x20020070 case DiagValue: if(focused) 8046884: 4bb5 ldr r3, [pc, #724] ; (8046b5c ) 8046886: 781b ldrb r3, [r3, #0] 8046888: b2db uxtb r3, r3 804688a: 2b00 cmp r3, #0 804688c: f000 8095 beq.w 80469ba { tmp8 = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 8046890: 4bb3 ldr r3, [pc, #716] ; (8046b60 ) 8046892: 781b ldrb r3, [r3, #0] 8046894: b2db uxtb r3, r3 8046896: 4618 mov r0, r3 8046898: 4bb2 ldr r3, [pc, #712] ; (8046b64 ) 804689a: 781b ldrb r3, [r3, #0] 804689c: b2db uxtb r3, r3 804689e: 4619 mov r1, r3 80468a0: 4ab1 ldr r2, [pc, #708] ; (8046b68 ) 80468a2: 0083 lsls r3, r0, #2 80468a4: 4413 add r3, r2 80468a6: 440b add r3, r1 80468a8: f503 730f add.w r3, r3, #572 ; 0x23c 80468ac: 781b ldrb r3, [r3, #0] 80468ae: b2db uxtb r3, r3 80468b0: 08db lsrs r3, r3, #3 80468b2: b2db uxtb r3, r3 80468b4: f003 031f and.w r3, r3, #31 80468b8: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 if(tmp8 == DIAGN_PEAK) tmp8 = DIAGN_RMS; 80468bc: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80468c0: 2b01 cmp r3, #1 80468c2: d103 bne.n 80468cc 80468c4: 2302 movs r3, #2 80468c6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80468ca: e036 b.n 804693a else if(tmp8 == DIAGN_RMS) tmp8 = DIAGN_PEAK_TO_PEAK; 80468cc: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80468d0: 2b02 cmp r3, #2 80468d2: d103 bne.n 80468dc 80468d4: 2304 movs r3, #4 80468d6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80468da: e02e b.n 804693a else if(tmp8 == DIAGN_PEAK_TO_PEAK) tmp8 = DIAGN_PEAK_FACTOR; 80468dc: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80468e0: 2b04 cmp r3, #4 80468e2: d103 bne.n 80468ec 80468e4: 2308 movs r3, #8 80468e6: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 80468ea: e026 b.n 804693a else if(tmp8 == DIAGN_PEAK_FACTOR) 80468ec: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 80468f0: 2b08 cmp r3, #8 80468f2: d11b bne.n 804692c { if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == DIAGN_ACC) 80468f4: 4b9a ldr r3, [pc, #616] ; (8046b60 ) 80468f6: 781b ldrb r3, [r3, #0] 80468f8: b2db uxtb r3, r3 80468fa: 4618 mov r0, r3 80468fc: 4b99 ldr r3, [pc, #612] ; (8046b64 ) 80468fe: 781b ldrb r3, [r3, #0] 8046900: b2db uxtb r3, r3 8046902: 4619 mov r1, r3 8046904: 4a98 ldr r2, [pc, #608] ; (8046b68 ) 8046906: 0083 lsls r3, r0, #2 8046908: 4413 add r3, r2 804690a: 440b add r3, r1 804690c: f503 730f add.w r3, r3, #572 ; 0x23c 8046910: 781b ldrb r3, [r3, #0] 8046912: b2db uxtb r3, r3 8046914: f003 0307 and.w r3, r3, #7 8046918: 2b01 cmp r3, #1 804691a: d103 bne.n 8046924 tmp8 = DIAGN_EXCESS; 804691c: 2310 movs r3, #16 804691e: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 8046922: e00a b.n 804693a else tmp8 = DIAGN_PEAK; 8046924: 2301 movs r3, #1 8046926: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 804692a: e006 b.n 804693a } else if(tmp8 == DIAGN_EXCESS) tmp8 = DIAGN_PEAK; 804692c: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 8046930: 2b10 cmp r3, #16 8046932: d102 bne.n 804693a 8046934: 2301 movs r3, #1 8046936: f887 30b3 strb.w r3, [r7, #179] ; 0xb3 pardata.DIAGN_MASK[CURR_POINT][CURR_USL] &= 0x7; 804693a: 4b89 ldr r3, [pc, #548] ; (8046b60 ) 804693c: 781b ldrb r3, [r3, #0] 804693e: b2da uxtb r2, r3 8046940: 4614 mov r4, r2 8046942: 4b88 ldr r3, [pc, #544] ; (8046b64 ) 8046944: 781b ldrb r3, [r3, #0] 8046946: b2db uxtb r3, r3 8046948: 4618 mov r0, r3 804694a: 4615 mov r5, r2 804694c: 4619 mov r1, r3 804694e: 4a86 ldr r2, [pc, #536] ; (8046b68 ) 8046950: 00ab lsls r3, r5, #2 8046952: 4413 add r3, r2 8046954: 440b add r3, r1 8046956: f503 730f add.w r3, r3, #572 ; 0x23c 804695a: 781b ldrb r3, [r3, #0] 804695c: b2db uxtb r3, r3 804695e: f003 0307 and.w r3, r3, #7 8046962: b2d9 uxtb r1, r3 8046964: 4a80 ldr r2, [pc, #512] ; (8046b68 ) 8046966: 00a3 lsls r3, r4, #2 8046968: 4413 add r3, r2 804696a: 4403 add r3, r0 804696c: f503 730f add.w r3, r3, #572 ; 0x23c 8046970: 460a mov r2, r1 8046972: 701a strb r2, [r3, #0] pardata.DIAGN_MASK[CURR_POINT][CURR_USL] |= ((tmp8 << 3) & 0xf8); 8046974: 4b7a ldr r3, [pc, #488] ; (8046b60 ) 8046976: 781b ldrb r3, [r3, #0] 8046978: b2da uxtb r2, r3 804697a: 4614 mov r4, r2 804697c: 4b79 ldr r3, [pc, #484] ; (8046b64 ) 804697e: 781b ldrb r3, [r3, #0] 8046980: b2db uxtb r3, r3 8046982: 4618 mov r0, r3 8046984: 4615 mov r5, r2 8046986: 4619 mov r1, r3 8046988: 4a77 ldr r2, [pc, #476] ; (8046b68 ) 804698a: 00ab lsls r3, r5, #2 804698c: 4413 add r3, r2 804698e: 440b add r3, r1 8046990: f503 730f add.w r3, r3, #572 ; 0x23c 8046994: 781b ldrb r3, [r3, #0] 8046996: b2db uxtb r3, r3 8046998: b25a sxtb r2, r3 804699a: f897 30b3 ldrb.w r3, [r7, #179] ; 0xb3 804699e: 00db lsls r3, r3, #3 80469a0: b25b sxtb r3, r3 80469a2: 4313 orrs r3, r2 80469a4: b25b sxtb r3, r3 80469a6: b2d9 uxtb r1, r3 80469a8: 4a6f ldr r2, [pc, #444] ; (8046b68 ) 80469aa: 00a3 lsls r3, r4, #2 80469ac: 4413 add r3, r2 80469ae: 4403 add r3, r0 80469b0: f503 730f add.w r3, r3, #572 ; 0x23c 80469b4: 460a mov r2, r1 80469b6: 701a strb r2, [r3, #0] } else menupos = Ok; break; 80469b8: e067 b.n 8046a8a menupos = Ok; 80469ba: 4b6c ldr r3, [pc, #432] ; (8046b6c ) 80469bc: 2200 movs r2, #0 80469be: 701a strb r2, [r3, #0] break; 80469c0: e063 b.n 8046a8a case DiagHP: case DiagLP: case Diag_W: case Diag_A: menupos = Ok; 80469c2: 4b6a ldr r3, [pc, #424] ; (8046b6c ) 80469c4: 2200 movs r2, #0 80469c6: 701a strb r2, [r3, #0] break; 80469c8: e05f b.n 8046a8a case DiagHP_IKD: menupos = DiagHP_IDT; break; 80469ca: 4b68 ldr r3, [pc, #416] ; (8046b6c ) 80469cc: 220d movs r2, #13 80469ce: 701a strb r2, [r3, #0] 80469d0: e05b b.n 8046a8a case DiagHP_IEE: menupos = DiagHP_IKD; break; 80469d2: 4b66 ldr r3, [pc, #408] ; (8046b6c ) 80469d4: 2212 movs r2, #18 80469d6: 701a strb r2, [r3, #0] 80469d8: e057 b.n 8046a8a case DiagHP_IED: menupos = DiagHP_IEE; break; 80469da: 4b64 ldr r3, [pc, #400] ; (8046b6c ) 80469dc: 2211 movs r2, #17 80469de: 701a strb r2, [r3, #0] 80469e0: e053 b.n 8046a8a case DiagHP_IES: menupos = DiagHP_IED; break; 80469e2: 4b62 ldr r3, [pc, #392] ; (8046b6c ) 80469e4: 2210 movs r2, #16 80469e6: 701a strb r2, [r3, #0] 80469e8: e04f b.n 8046a8a case DiagHP_IET: menupos = DiagHP_IES; break; 80469ea: 4b60 ldr r3, [pc, #384] ; (8046b6c ) 80469ec: 220f movs r2, #15 80469ee: 701a strb r2, [r3, #0] 80469f0: e04b b.n 8046a8a case DiagHP_IDT: menupos = DiagHP_IET; break; 80469f2: 4b5e ldr r3, [pc, #376] ; (8046b6c ) 80469f4: 220e movs r2, #14 80469f6: 701a strb r2, [r3, #0] 80469f8: e047 b.n 8046a8a case DiagLP_IKD: menupos = DiagLP_IDT; break; 80469fa: 4b5c ldr r3, [pc, #368] ; (8046b6c ) 80469fc: 2213 movs r2, #19 80469fe: 701a strb r2, [r3, #0] 8046a00: e043 b.n 8046a8a case DiagLP_IEE: menupos = DiagLP_IKD; break; 8046a02: 4b5a ldr r3, [pc, #360] ; (8046b6c ) 8046a04: 2218 movs r2, #24 8046a06: 701a strb r2, [r3, #0] 8046a08: e03f b.n 8046a8a case DiagLP_IED: menupos = DiagLP_IEE; break; 8046a0a: 4b58 ldr r3, [pc, #352] ; (8046b6c ) 8046a0c: 2217 movs r2, #23 8046a0e: 701a strb r2, [r3, #0] 8046a10: e03b b.n 8046a8a case DiagLP_IES: menupos = DiagLP_IED; break; 8046a12: 4b56 ldr r3, [pc, #344] ; (8046b6c ) 8046a14: 2216 movs r2, #22 8046a16: 701a strb r2, [r3, #0] 8046a18: e037 b.n 8046a8a case DiagLP_IET: menupos = DiagLP_IES; break; 8046a1a: 4b54 ldr r3, [pc, #336] ; (8046b6c ) 8046a1c: 2215 movs r2, #21 8046a1e: 701a strb r2, [r3, #0] 8046a20: e033 b.n 8046a8a case DiagLP_IDT: menupos = DiagLP_IET; break; 8046a22: 4b52 ldr r3, [pc, #328] ; (8046b6c ) 8046a24: 2214 movs r2, #20 8046a26: 701a strb r2, [r3, #0] 8046a28: e02f b.n 8046a8a case DiagW_IKD: menupos = DiagW_IDT; break; 8046a2a: 4b50 ldr r3, [pc, #320] ; (8046b6c ) 8046a2c: 2219 movs r2, #25 8046a2e: 701a strb r2, [r3, #0] 8046a30: e02b b.n 8046a8a case DiagW_IEE: menupos = DiagW_IKD; break; 8046a32: 4b4e ldr r3, [pc, #312] ; (8046b6c ) 8046a34: 221e movs r2, #30 8046a36: 701a strb r2, [r3, #0] 8046a38: e027 b.n 8046a8a case DiagW_IED: menupos = DiagW_IEE; break; 8046a3a: 4b4c ldr r3, [pc, #304] ; (8046b6c ) 8046a3c: 221d movs r2, #29 8046a3e: 701a strb r2, [r3, #0] 8046a40: e023 b.n 8046a8a case DiagW_IES: menupos = DiagW_IED; break; 8046a42: 4b4a ldr r3, [pc, #296] ; (8046b6c ) 8046a44: 221c movs r2, #28 8046a46: 701a strb r2, [r3, #0] 8046a48: e01f b.n 8046a8a case DiagW_IET: menupos = DiagW_IES; break; 8046a4a: 4b48 ldr r3, [pc, #288] ; (8046b6c ) 8046a4c: 221b movs r2, #27 8046a4e: 701a strb r2, [r3, #0] 8046a50: e01b b.n 8046a8a case DiagW_IDT: menupos = DiagW_IET; break; 8046a52: 4b46 ldr r3, [pc, #280] ; (8046b6c ) 8046a54: 221a movs r2, #26 8046a56: 701a strb r2, [r3, #0] 8046a58: e017 b.n 8046a8a case DiagA_IKD: menupos = DiagA_IDT; break; 8046a5a: 4b44 ldr r3, [pc, #272] ; (8046b6c ) 8046a5c: 221f movs r2, #31 8046a5e: 701a strb r2, [r3, #0] 8046a60: e013 b.n 8046a8a case DiagA_IEE: menupos = DiagA_IKD; break; 8046a62: 4b42 ldr r3, [pc, #264] ; (8046b6c ) 8046a64: 2224 movs r2, #36 ; 0x24 8046a66: 701a strb r2, [r3, #0] 8046a68: e00f b.n 8046a8a case DiagA_IED: menupos = DiagA_IEE; break; 8046a6a: 4b40 ldr r3, [pc, #256] ; (8046b6c ) 8046a6c: 2223 movs r2, #35 ; 0x23 8046a6e: 701a strb r2, [r3, #0] 8046a70: e00b b.n 8046a8a case DiagA_IES: menupos = DiagA_IED; break; 8046a72: 4b3e ldr r3, [pc, #248] ; (8046b6c ) 8046a74: 2222 movs r2, #34 ; 0x22 8046a76: 701a strb r2, [r3, #0] 8046a78: e007 b.n 8046a8a case DiagA_IET: menupos = DiagA_IES; break; 8046a7a: 4b3c ldr r3, [pc, #240] ; (8046b6c ) 8046a7c: 2221 movs r2, #33 ; 0x21 8046a7e: 701a strb r2, [r3, #0] 8046a80: e003 b.n 8046a8a case DiagA_IDT: menupos = DiagA_IET; break; 8046a82: 4b3a ldr r3, [pc, #232] ; (8046b6c ) 8046a84: 2220 movs r2, #32 8046a86: 701a strb r2, [r3, #0] 8046a88: bf00 nop } break; 8046a8a: f002 b9e4 b.w 8048e56 case TREND_A: case TREND_V: case TREND_S: if(menupos < Trend_excess) menupos++; 8046a8e: 4b37 ldr r3, [pc, #220] ; (8046b6c ) 8046a90: 781b ldrb r3, [r3, #0] 8046a92: b2db uxtb r3, r3 8046a94: 2b03 cmp r3, #3 8046a96: d808 bhi.n 8046aaa 8046a98: 4b34 ldr r3, [pc, #208] ; (8046b6c ) 8046a9a: 781b ldrb r3, [r3, #0] 8046a9c: b2db uxtb r3, r3 8046a9e: 3301 adds r3, #1 8046aa0: b2da uxtb r2, r3 8046aa2: 4b32 ldr r3, [pc, #200] ; (8046b6c ) 8046aa4: 701a strb r2, [r3, #0] else menupos = Trend_pk; break; 8046aa6: f002 ba36 b.w 8048f16 else menupos = Trend_pk; 8046aaa: 4b30 ldr r3, [pc, #192] ; (8046b6c ) 8046aac: 2200 movs r2, #0 8046aae: 701a strb r2, [r3, #0] break; 8046ab0: f002 ba31 b.w 8048f16 case MAIN_UDAR: break; case MAIN_DIAGN: switch(menupos) 8046ab4: 4b2d ldr r3, [pc, #180] ; (8046b6c ) 8046ab6: 781b ldrb r3, [r3, #0] 8046ab8: b2db uxtb r3, r3 8046aba: 2b04 cmp r3, #4 8046abc: f202 81ce bhi.w 8048e5c 8046ac0: a201 add r2, pc, #4 ; (adr r2, 8046ac8 ) 8046ac2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046ac6: bf00 nop 8046ac8: 08046add .word 0x08046add 8046acc: 08048e5d .word 0x08048e5d 8046ad0: 08046af5 .word 0x08046af5 8046ad4: 08046ae5 .word 0x08046ae5 8046ad8: 08046aed .word 0x08046aed { case StartStop: menupos = MyPoint; break; 8046adc: 4b23 ldr r3, [pc, #140] ; (8046b6c ) 8046ade: 2203 movs r2, #3 8046ae0: 701a strb r2, [r3, #0] 8046ae2: e00b b.n 8046afc case MyPoint: menupos = MyMeasure; break; 8046ae4: 4b21 ldr r3, [pc, #132] ; (8046b6c ) 8046ae6: 2204 movs r2, #4 8046ae8: 701a strb r2, [r3, #0] 8046aea: e007 b.n 8046afc case MyMeasure: menupos = Record; break; 8046aec: 4b1f ldr r3, [pc, #124] ; (8046b6c ) 8046aee: 2202 movs r2, #2 8046af0: 701a strb r2, [r3, #0] 8046af2: e003 b.n 8046afc case Record: menupos = StartStop; break; 8046af4: 4b1d ldr r3, [pc, #116] ; (8046b6c ) 8046af6: 2200 movs r2, #0 8046af8: 701a strb r2, [r3, #0] 8046afa: bf00 nop } break; 8046afc: f002 b9ae b.w 8048e5c case MAIN: case MAIN_FRAN: switch(menupos) 8046b00: 4b1a ldr r3, [pc, #104] ; (8046b6c ) 8046b02: 781b ldrb r3, [r3, #0] 8046b04: b2db uxtb r3, r3 8046b06: 2b06 cmp r3, #6 8046b08: f202 81ab bhi.w 8048e62 8046b0c: a201 add r2, pc, #4 ; (adr r2, 8046b14 ) 8046b0e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046b12: bf00 nop 8046b14: 08046b31 .word 0x08046b31 8046b18: 08048e63 .word 0x08048e63 8046b1c: 08046b51 .word 0x08046b51 8046b20: 08046b41 .word 0x08046b41 8046b24: 08046b49 .word 0x08046b49 8046b28: 08048e63 .word 0x08048e63 8046b2c: 08046b39 .word 0x08046b39 { case StartStop: menupos = MyLinLog; break; 8046b30: 4b0e ldr r3, [pc, #56] ; (8046b6c ) 8046b32: 2206 movs r2, #6 8046b34: 701a strb r2, [r3, #0] 8046b36: e00f b.n 8046b58 case MyLinLog: menupos = MyPoint; break; 8046b38: 4b0c ldr r3, [pc, #48] ; (8046b6c ) 8046b3a: 2203 movs r2, #3 8046b3c: 701a strb r2, [r3, #0] 8046b3e: e00b b.n 8046b58 case MyPoint: menupos = MyMeasure; break; 8046b40: 4b0a ldr r3, [pc, #40] ; (8046b6c ) 8046b42: 2204 movs r2, #4 8046b44: 701a strb r2, [r3, #0] 8046b46: e007 b.n 8046b58 case MyMeasure: menupos = Record; break; 8046b48: 4b08 ldr r3, [pc, #32] ; (8046b6c ) 8046b4a: 2202 movs r2, #2 8046b4c: 701a strb r2, [r3, #0] 8046b4e: e003 b.n 8046b58 case Record: menupos = StartStop; break; 8046b50: 4b06 ldr r3, [pc, #24] ; (8046b6c ) 8046b52: 2200 movs r2, #0 8046b54: 701a strb r2, [r3, #0] 8046b56: bf00 nop } break; 8046b58: f002 b983 b.w 8048e62 8046b5c: 20020f84 .word 0x20020f84 8046b60: 20021011 .word 0x20021011 8046b64: 20021013 .word 0x20021013 8046b68: 20023e60 .word 0x20023e60 8046b6c: 20020070 .word 0x20020070 case MAIN_OSC: switch(menupos) 8046b70: 4ba8 ldr r3, [pc, #672] ; (8046e14 ) 8046b72: 781b ldrb r3, [r3, #0] 8046b74: b2db uxtb r3, r3 8046b76: 2b00 cmp r3, #0 8046b78: f2c2 8176 blt.w 8048e68 8046b7c: 2b05 cmp r3, #5 8046b7e: dd03 ble.n 8046b88 8046b80: 2b06 cmp r3, #6 8046b82: d01d beq.n 8046bc0 rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; } break; 8046b84: f002 b970 b.w 8048e68 if((!FIRST) && (Stability > (Nr * 4))) 8046b88: 4ba3 ldr r3, [pc, #652] ; (8046e18 ) 8046b8a: 781b ldrb r3, [r3, #0] 8046b8c: b2db uxtb r3, r3 8046b8e: f083 0301 eor.w r3, r3, #1 8046b92: b2db uxtb r3, r3 8046b94: 2b00 cmp r3, #0 8046b96: f000 8101 beq.w 8046d9c 8046b9a: 4ba0 ldr r3, [pc, #640] ; (8046e1c ) 8046b9c: 881b ldrh r3, [r3, #0] 8046b9e: b29b uxth r3, r3 8046ba0: 009b lsls r3, r3, #2 8046ba2: 461a mov r2, r3 8046ba4: 4b9e ldr r3, [pc, #632] ; (8046e20 ) 8046ba6: 681b ldr r3, [r3, #0] 8046ba8: 429a cmp r2, r3 8046baa: f080 80f7 bcs.w 8046d9c lastmenupos = menupos; 8046bae: 4b99 ldr r3, [pc, #612] ; (8046e14 ) 8046bb0: 781b ldrb r3, [r3, #0] 8046bb2: b2da uxtb r2, r3 8046bb4: 4b9b ldr r3, [pc, #620] ; (8046e24 ) 8046bb6: 701a strb r2, [r3, #0] menupos = Cursor; 8046bb8: 4b96 ldr r3, [pc, #600] ; (8046e14 ) 8046bba: 2206 movs r2, #6 8046bbc: 701a strb r2, [r3, #0] break; 8046bbe: e0ed b.n 8046d9c lvl_0 = 0; 8046bc0: 2300 movs r3, #0 8046bc2: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 8046bc6: 4b98 ldr r3, [pc, #608] ; (8046e28 ) 8046bc8: 781b ldrb r3, [r3, #0] 8046bca: b2db uxtb r3, r3 8046bcc: 461a mov r2, r3 8046bce: 4613 mov r3, r2 8046bd0: 009b lsls r3, r3, #2 8046bd2: 4413 add r3, r2 8046bd4: 4a95 ldr r2, [pc, #596] ; (8046e2c ) 8046bd6: 79d2 ldrb r2, [r2, #7] 8046bd8: b2d2 uxtb r2, r2 8046bda: 4413 add r3, r2 8046bdc: 4a94 ldr r2, [pc, #592] ; (8046e30 ) 8046bde: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8046be2: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 8046be6: 2301 movs r3, #1 8046be8: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 8046bec: f44f 7380 mov.w r3, #256 ; 0x100 8046bf0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 224 * multA_u16; 8046bf4: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8046bf8: 4613 mov r3, r2 8046bfa: 00db lsls r3, r3, #3 8046bfc: 1a9b subs r3, r3, r2 8046bfe: 015b lsls r3, r3, #5 8046c00: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[0][5 * lvl_0 + pardata.LNE] - Avg[0][5 * ViewLevel + pardata.LNE]; 8046c04: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8046c08: 4613 mov r3, r2 8046c0a: 009b lsls r3, r3, #2 8046c0c: 4413 add r3, r2 8046c0e: 4a87 ldr r2, [pc, #540] ; (8046e2c ) 8046c10: 79d2 ldrb r2, [r2, #7] 8046c12: b2d2 uxtb r2, r2 8046c14: 4413 add r3, r2 8046c16: 4a86 ldr r2, [pc, #536] ; (8046e30 ) 8046c18: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8046c1c: 461a mov r2, r3 8046c1e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046c22: fb03 f202 mul.w r2, r3, r2 8046c26: 4b80 ldr r3, [pc, #512] ; (8046e28 ) 8046c28: 781b ldrb r3, [r3, #0] 8046c2a: b2db uxtb r3, r3 8046c2c: 4619 mov r1, r3 8046c2e: 460b mov r3, r1 8046c30: 009b lsls r3, r3, #2 8046c32: 440b add r3, r1 8046c34: 497d ldr r1, [pc, #500] ; (8046e2c ) 8046c36: 79c9 ldrb r1, [r1, #7] 8046c38: b2c9 uxtb r1, r1 8046c3a: 440b add r3, r1 8046c3c: 497c ldr r1, [pc, #496] ; (8046e30 ) 8046c3e: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 8046c42: 1ad3 subs r3, r2, r3 8046c44: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 8046c48: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8046c4c: b29b uxth r3, r3 8046c4e: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8046c52: fb12 f303 smulbb r3, r2, r3 8046c56: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if((multB_u16 + Mpos) >= j) 8046c5a: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8046c5e: 4a75 ldr r2, [pc, #468] ; (8046e34 ) 8046c60: 8812 ldrh r2, [r2, #0] 8046c62: b292 uxth r2, r2 8046c64: 4413 add r3, r2 8046c66: 461a mov r2, r3 8046c68: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8046c6c: 429a cmp r2, r3 8046c6e: d332 bcc.n 8046cd6 rX = k * Avg[0][5 * lvl_0 + pardata.LNE]; 8046c70: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8046c74: 4613 mov r3, r2 8046c76: 009b lsls r3, r3, #2 8046c78: 4413 add r3, r2 8046c7a: 4a6c ldr r2, [pc, #432] ; (8046e2c ) 8046c7c: 79d2 ldrb r2, [r2, #7] 8046c7e: b2d2 uxtb r2, r2 8046c80: 4413 add r3, r2 8046c82: 4a6b ldr r2, [pc, #428] ; (8046e30 ) 8046c84: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 8046c88: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046c8c: b29b uxth r3, r3 8046c8e: fb12 f303 smulbb r3, r2, r3 8046c92: b29a uxth r2, r3 8046c94: 4b68 ldr r3, [pc, #416] ; (8046e38 ) 8046c96: 801a strh r2, [r3, #0] X0 = rX - k * multA_u16; 8046c98: 4b67 ldr r3, [pc, #412] ; (8046e38 ) 8046c9a: 881b ldrh r3, [r3, #0] 8046c9c: b29a uxth r2, r3 8046c9e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046ca2: b29b uxth r3, r3 8046ca4: f8b7 109e ldrh.w r1, [r7, #158] ; 0x9e 8046ca8: fb11 f303 smulbb r3, r1, r3 8046cac: b29b uxth r3, r3 8046cae: 1ad3 subs r3, r2, r3 8046cb0: b29a uxth r2, r3 8046cb2: 4b62 ldr r3, [pc, #392] ; (8046e3c ) 8046cb4: 801a strh r2, [r3, #0] lX = X0; 8046cb6: 4b61 ldr r3, [pc, #388] ; (8046e3c ) 8046cb8: 881b ldrh r3, [r3, #0] 8046cba: b29a uxth r2, r3 8046cbc: 4b60 ldr r3, [pc, #384] ; (8046e40 ) 8046cbe: 801a strh r2, [r3, #0] CURSOR = k - 1; 8046cc0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046cc4: 3b01 subs r3, #1 8046cc6: 4a5f ldr r2, [pc, #380] ; (8046e44 ) 8046cc8: 6013 str r3, [r2, #0] Mpos = j; 8046cca: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8046cce: b29a uxth r2, r3 8046cd0: 4b58 ldr r3, [pc, #352] ; (8046e34 ) 8046cd2: 801a strh r2, [r3, #0] break; 8046cd4: e063 b.n 8046d9e Mpos += multB_u16; 8046cd6: 4b57 ldr r3, [pc, #348] ; (8046e34 ) 8046cd8: 881b ldrh r3, [r3, #0] 8046cda: b29a uxth r2, r3 8046cdc: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8046ce0: 4413 add r3, r2 8046ce2: b29a uxth r2, r3 8046ce4: 4b53 ldr r3, [pc, #332] ; (8046e34 ) 8046ce6: 801a strh r2, [r3, #0] if(Mpos >= rX) 8046ce8: 4b52 ldr r3, [pc, #328] ; (8046e34 ) 8046cea: 881b ldrh r3, [r3, #0] 8046cec: b29a uxth r2, r3 8046cee: 4b52 ldr r3, [pc, #328] ; (8046e38 ) 8046cf0: 881b ldrh r3, [r3, #0] 8046cf2: b29b uxth r3, r3 8046cf4: 429a cmp r2, r3 8046cf6: d32d bcc.n 8046d54 if((Mpos + d) <= j) 8046cf8: 4b4e ldr r3, [pc, #312] ; (8046e34 ) 8046cfa: 881b ldrh r3, [r3, #0] 8046cfc: b29b uxth r3, r3 8046cfe: 461a mov r2, r3 8046d00: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8046d04: 441a add r2, r3 8046d06: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8046d0a: 429a cmp r2, r3 8046d0c: d80a bhi.n 8046d24 X0 += d; 8046d0e: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8046d12: b29a uxth r2, r3 8046d14: 4b49 ldr r3, [pc, #292] ; (8046e3c ) 8046d16: 881b ldrh r3, [r3, #0] 8046d18: b29b uxth r3, r3 8046d1a: 4413 add r3, r2 8046d1c: b29a uxth r2, r3 8046d1e: 4b47 ldr r3, [pc, #284] ; (8046e3c ) 8046d20: 801a strh r2, [r3, #0] 8046d22: e017 b.n 8046d54 X0 = k * (Avg[0][5 * lvl_0 + pardata.LNE] - multA_u16); 8046d24: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8046d28: 4613 mov r3, r2 8046d2a: 009b lsls r3, r3, #2 8046d2c: 4413 add r3, r2 8046d2e: 4a3f ldr r2, [pc, #252] ; (8046e2c ) 8046d30: 79d2 ldrb r2, [r2, #7] 8046d32: b2d2 uxtb r2, r2 8046d34: 4413 add r3, r2 8046d36: 4a3e ldr r2, [pc, #248] ; (8046e30 ) 8046d38: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 8046d3c: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8046d40: 1ad3 subs r3, r2, r3 8046d42: b29a uxth r2, r3 8046d44: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046d48: b29b uxth r3, r3 8046d4a: fb12 f303 smulbb r3, r2, r3 8046d4e: b29a uxth r2, r3 8046d50: 4b3a ldr r3, [pc, #232] ; (8046e3c ) 8046d52: 801a strh r2, [r3, #0] lX = X0; 8046d54: 4b39 ldr r3, [pc, #228] ; (8046e3c ) 8046d56: 881b ldrh r3, [r3, #0] 8046d58: b29a uxth r2, r3 8046d5a: 4b39 ldr r3, [pc, #228] ; (8046e40 ) 8046d5c: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 8046d5e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046d62: b29b uxth r3, r3 8046d64: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8046d68: fb12 f303 smulbb r3, r2, r3 8046d6c: b29a uxth r2, r3 8046d6e: 4b33 ldr r3, [pc, #204] ; (8046e3c ) 8046d70: 881b ldrh r3, [r3, #0] 8046d72: b29b uxth r3, r3 8046d74: 4413 add r3, r2 8046d76: b29a uxth r2, r3 8046d78: 4b2f ldr r3, [pc, #188] ; (8046e38 ) 8046d7a: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 8046d7c: 4b2d ldr r3, [pc, #180] ; (8046e34 ) 8046d7e: 881b ldrh r3, [r3, #0] 8046d80: b29b uxth r3, r3 8046d82: 461a mov r2, r3 8046d84: 4b2d ldr r3, [pc, #180] ; (8046e3c ) 8046d86: 881b ldrh r3, [r3, #0] 8046d88: b29b uxth r3, r3 8046d8a: 1ad2 subs r2, r2, r3 8046d8c: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8046d90: fb92 f3f3 sdiv r3, r2, r3 8046d94: 461a mov r2, r3 8046d96: 4b2b ldr r3, [pc, #172] ; (8046e44 ) 8046d98: 601a str r2, [r3, #0] break; 8046d9a: e000 b.n 8046d9e break; 8046d9c: bf00 nop break; 8046d9e: f002 b863 b.w 8048e68 case VIEW_PORTRET: case MAIN_ROLL: case MAIN_SPEC: case MAIN_SPEC_OGIB: switch(menupos) 8046da2: 4b1c ldr r3, [pc, #112] ; (8046e14 ) 8046da4: 781b ldrb r3, [r3, #0] 8046da6: b2db uxtb r3, r3 8046da8: 2b09 cmp r3, #9 8046daa: f202 8060 bhi.w 8048e6e 8046dae: a201 add r2, pc, #4 ; (adr r2, 8046db4 ) 8046db0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8046db4: 08046ddd .word 0x08046ddd 8046db8: 08046ddd .word 0x08046ddd 8046dbc: 08046ddd .word 0x08046ddd 8046dc0: 08046ddd .word 0x08046ddd 8046dc4: 08046ddd .word 0x08046ddd 8046dc8: 08046ddd .word 0x08046ddd 8046dcc: 08046e49 .word 0x08046e49 8046dd0: 08048e6f .word 0x08048e6f 8046dd4: 08046ddd .word 0x08046ddd 8046dd8: 08046ddd .word 0x08046ddd case ZoomOut: case ImageRight: case StartStop: case Results: case SaveSpec: if((!FIRST) && (Stability > (Nr * 4))) 8046ddc: 4b0e ldr r3, [pc, #56] ; (8046e18 ) 8046dde: 781b ldrb r3, [r3, #0] 8046de0: b2db uxtb r3, r3 8046de2: f083 0301 eor.w r3, r3, #1 8046de6: b2db uxtb r3, r3 8046de8: 2b00 cmp r3, #0 8046dea: f000 8120 beq.w 804702e 8046dee: 4b0b ldr r3, [pc, #44] ; (8046e1c ) 8046df0: 881b ldrh r3, [r3, #0] 8046df2: b29b uxth r3, r3 8046df4: 009b lsls r3, r3, #2 8046df6: 461a mov r2, r3 8046df8: 4b09 ldr r3, [pc, #36] ; (8046e20 ) 8046dfa: 681b ldr r3, [r3, #0] 8046dfc: 429a cmp r2, r3 8046dfe: f080 8116 bcs.w 804702e { lastmenupos = menupos; 8046e02: 4b04 ldr r3, [pc, #16] ; (8046e14 ) 8046e04: 781b ldrb r3, [r3, #0] 8046e06: b2da uxtb r2, r3 8046e08: 4b06 ldr r3, [pc, #24] ; (8046e24 ) 8046e0a: 701a strb r2, [r3, #0] menupos = Cursor; 8046e0c: 4b01 ldr r3, [pc, #4] ; (8046e14 ) 8046e0e: 2206 movs r2, #6 8046e10: 701a strb r2, [r3, #0] } break; 8046e12: e10c b.n 804702e 8046e14: 20020070 .word 0x20020070 8046e18: 20020db2 .word 0x20020db2 8046e1c: 20021d20 .word 0x20021d20 8046e20: 20020da8 .word 0x20020da8 8046e24: 20020071 .word 0x20020071 8046e28: 20020f74 .word 0x20020f74 8046e2c: 20023e60 .word 0x20023e60 8046e30: 080ee828 .word 0x080ee828 8046e34: 20025d16 .word 0x20025d16 8046e38: 20025d20 .word 0x20025d20 8046e3c: 20025d1e .word 0x20025d1e 8046e40: 20025d1a .word 0x20025d1a 8046e44: 2002006c .word 0x2002006c case Cursor: lvl_0 = 0; 8046e48: 2300 movs r3, #0 8046e4a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 8046e4e: 4baf ldr r3, [pc, #700] ; (804710c ) 8046e50: 781b ldrb r3, [r3, #0] 8046e52: b2db uxtb r3, r3 8046e54: 461a mov r2, r3 8046e56: 4613 mov r3, r2 8046e58: 009b lsls r3, r3, #2 8046e5a: 4413 add r3, r2 8046e5c: 4aac ldr r2, [pc, #688] ; (8047110 ) 8046e5e: 79d2 ldrb r2, [r2, #7] 8046e60: b2d2 uxtb r2, r2 8046e62: 4413 add r3, r2 8046e64: 4aab ldr r2, [pc, #684] ; (8047114 ) 8046e66: 3323 adds r3, #35 ; 0x23 8046e68: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8046e6c: f8a7 309e strh.w r3, [r7, #158] ; 0x9e i = 1; 8046e70: 2301 movs r3, #1 8046e72: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 k = 256; 8046e76: f44f 7380 mov.w r3, #256 ; 0x100 8046e7a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 d = 224 * multA_u16; 8046e7e: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8046e82: 4613 mov r3, r2 8046e84: 00db lsls r3, r3, #3 8046e86: 1a9b subs r3, r3, r2 8046e88: 015b lsls r3, r3, #5 8046e8a: f8c7 30bc str.w r3, [r7, #188] ; 0xbc j = k * Avg[1][5 * lvl_0 + pardata.LNE] - Avg[1][5 * ViewLevel + pardata.LNE]; 8046e8e: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8046e92: 4613 mov r3, r2 8046e94: 009b lsls r3, r3, #2 8046e96: 4413 add r3, r2 8046e98: 4a9d ldr r2, [pc, #628] ; (8047110 ) 8046e9a: 79d2 ldrb r2, [r2, #7] 8046e9c: b2d2 uxtb r2, r2 8046e9e: 4413 add r3, r2 8046ea0: 4a9c ldr r2, [pc, #624] ; (8047114 ) 8046ea2: 3323 adds r3, #35 ; 0x23 8046ea4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8046ea8: 461a mov r2, r3 8046eaa: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046eae: fb03 f202 mul.w r2, r3, r2 8046eb2: 4b96 ldr r3, [pc, #600] ; (804710c ) 8046eb4: 781b ldrb r3, [r3, #0] 8046eb6: b2db uxtb r3, r3 8046eb8: 4619 mov r1, r3 8046eba: 460b mov r3, r1 8046ebc: 009b lsls r3, r3, #2 8046ebe: 440b add r3, r1 8046ec0: 4993 ldr r1, [pc, #588] ; (8047110 ) 8046ec2: 79c9 ldrb r1, [r1, #7] 8046ec4: b2c9 uxtb r1, r1 8046ec6: 440b add r3, r1 8046ec8: 4992 ldr r1, [pc, #584] ; (8047114 ) 8046eca: 3323 adds r3, #35 ; 0x23 8046ecc: f831 3013 ldrh.w r3, [r1, r3, lsl #1] 8046ed0: 1ad3 subs r3, r2, r3 8046ed2: f8c7 3098 str.w r3, [r7, #152] ; 0x98 multB_u16 = i * multA_u16; 8046ed6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8046eda: b29b uxth r3, r3 8046edc: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8046ee0: fb12 f303 smulbb r3, r2, r3 8046ee4: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if((multB_u16 + Mpos) >= j) 8046ee8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8046eec: 4a8a ldr r2, [pc, #552] ; (8047118 ) 8046eee: 8812 ldrh r2, [r2, #0] 8046ef0: b292 uxth r2, r2 8046ef2: 4413 add r3, r2 8046ef4: 461a mov r2, r3 8046ef6: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8046efa: 429a cmp r2, r3 8046efc: d333 bcc.n 8046f66 { rX = k * Avg[1][5 * lvl_0 + pardata.LNE]; 8046efe: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8046f02: 4613 mov r3, r2 8046f04: 009b lsls r3, r3, #2 8046f06: 4413 add r3, r2 8046f08: 4a81 ldr r2, [pc, #516] ; (8047110 ) 8046f0a: 79d2 ldrb r2, [r2, #7] 8046f0c: b2d2 uxtb r2, r2 8046f0e: 4413 add r3, r2 8046f10: 4a80 ldr r2, [pc, #512] ; (8047114 ) 8046f12: 3323 adds r3, #35 ; 0x23 8046f14: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 8046f18: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046f1c: b29b uxth r3, r3 8046f1e: fb12 f303 smulbb r3, r2, r3 8046f22: b29a uxth r2, r3 8046f24: 4b7d ldr r3, [pc, #500] ; (804711c ) 8046f26: 801a strh r2, [r3, #0] X0 = rX - k * multA_u16; 8046f28: 4b7c ldr r3, [pc, #496] ; (804711c ) 8046f2a: 881b ldrh r3, [r3, #0] 8046f2c: b29a uxth r2, r3 8046f2e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046f32: b29b uxth r3, r3 8046f34: f8b7 109e ldrh.w r1, [r7, #158] ; 0x9e 8046f38: fb11 f303 smulbb r3, r1, r3 8046f3c: b29b uxth r3, r3 8046f3e: 1ad3 subs r3, r2, r3 8046f40: b29a uxth r2, r3 8046f42: 4b77 ldr r3, [pc, #476] ; (8047120 ) 8046f44: 801a strh r2, [r3, #0] lX = X0; 8046f46: 4b76 ldr r3, [pc, #472] ; (8047120 ) 8046f48: 881b ldrh r3, [r3, #0] 8046f4a: b29a uxth r2, r3 8046f4c: 4b75 ldr r3, [pc, #468] ; (8047124 ) 8046f4e: 801a strh r2, [r3, #0] CURSOR = k - 1; 8046f50: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046f54: 3b01 subs r3, #1 8046f56: 4a74 ldr r2, [pc, #464] ; (8047128 ) 8046f58: 6013 str r3, [r2, #0] Mpos = j; 8046f5a: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8046f5e: b29a uxth r2, r3 8046f60: 4b6d ldr r3, [pc, #436] ; (8047118 ) 8046f62: 801a strh r2, [r3, #0] } lX = X0; rX = X0 + k * multA_u16; CURSOR = (Mpos - X0) / multA_u16; } break; 8046f64: e064 b.n 8047030 Mpos += multB_u16; 8046f66: 4b6c ldr r3, [pc, #432] ; (8047118 ) 8046f68: 881b ldrh r3, [r3, #0] 8046f6a: b29a uxth r2, r3 8046f6c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8046f70: 4413 add r3, r2 8046f72: b29a uxth r2, r3 8046f74: 4b68 ldr r3, [pc, #416] ; (8047118 ) 8046f76: 801a strh r2, [r3, #0] if(Mpos >= rX) 8046f78: 4b67 ldr r3, [pc, #412] ; (8047118 ) 8046f7a: 881b ldrh r3, [r3, #0] 8046f7c: b29a uxth r2, r3 8046f7e: 4b67 ldr r3, [pc, #412] ; (804711c ) 8046f80: 881b ldrh r3, [r3, #0] 8046f82: b29b uxth r3, r3 8046f84: 429a cmp r2, r3 8046f86: d32e bcc.n 8046fe6 if((Mpos + d) <= j) 8046f88: 4b63 ldr r3, [pc, #396] ; (8047118 ) 8046f8a: 881b ldrh r3, [r3, #0] 8046f8c: b29b uxth r3, r3 8046f8e: 461a mov r2, r3 8046f90: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8046f94: 441a add r2, r3 8046f96: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 8046f9a: 429a cmp r2, r3 8046f9c: d80a bhi.n 8046fb4 X0 += d; 8046f9e: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8046fa2: b29a uxth r2, r3 8046fa4: 4b5e ldr r3, [pc, #376] ; (8047120 ) 8046fa6: 881b ldrh r3, [r3, #0] 8046fa8: b29b uxth r3, r3 8046faa: 4413 add r3, r2 8046fac: b29a uxth r2, r3 8046fae: 4b5c ldr r3, [pc, #368] ; (8047120 ) 8046fb0: 801a strh r2, [r3, #0] 8046fb2: e018 b.n 8046fe6 else X0 = k * (Avg[1][5 * lvl_0 + pardata.LNE] - multA_u16); 8046fb4: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 8046fb8: 4613 mov r3, r2 8046fba: 009b lsls r3, r3, #2 8046fbc: 4413 add r3, r2 8046fbe: 4a54 ldr r2, [pc, #336] ; (8047110 ) 8046fc0: 79d2 ldrb r2, [r2, #7] 8046fc2: b2d2 uxtb r2, r2 8046fc4: 4413 add r3, r2 8046fc6: 4a53 ldr r2, [pc, #332] ; (8047114 ) 8046fc8: 3323 adds r3, #35 ; 0x23 8046fca: f832 2013 ldrh.w r2, [r2, r3, lsl #1] 8046fce: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8046fd2: 1ad3 subs r3, r2, r3 8046fd4: b29a uxth r2, r3 8046fd6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046fda: b29b uxth r3, r3 8046fdc: fb12 f303 smulbb r3, r2, r3 8046fe0: b29a uxth r2, r3 8046fe2: 4b4f ldr r3, [pc, #316] ; (8047120 ) 8046fe4: 801a strh r2, [r3, #0] lX = X0; 8046fe6: 4b4e ldr r3, [pc, #312] ; (8047120 ) 8046fe8: 881b ldrh r3, [r3, #0] 8046fea: b29a uxth r2, r3 8046fec: 4b4d ldr r3, [pc, #308] ; (8047124 ) 8046fee: 801a strh r2, [r3, #0] rX = X0 + k * multA_u16; 8046ff0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8046ff4: b29b uxth r3, r3 8046ff6: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8046ffa: fb12 f303 smulbb r3, r2, r3 8046ffe: b29a uxth r2, r3 8047000: 4b47 ldr r3, [pc, #284] ; (8047120 ) 8047002: 881b ldrh r3, [r3, #0] 8047004: b29b uxth r3, r3 8047006: 4413 add r3, r2 8047008: b29a uxth r2, r3 804700a: 4b44 ldr r3, [pc, #272] ; (804711c ) 804700c: 801a strh r2, [r3, #0] CURSOR = (Mpos - X0) / multA_u16; 804700e: 4b42 ldr r3, [pc, #264] ; (8047118 ) 8047010: 881b ldrh r3, [r3, #0] 8047012: b29b uxth r3, r3 8047014: 461a mov r2, r3 8047016: 4b42 ldr r3, [pc, #264] ; (8047120 ) 8047018: 881b ldrh r3, [r3, #0] 804701a: b29b uxth r3, r3 804701c: 1ad2 subs r2, r2, r3 804701e: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8047022: fb92 f3f3 sdiv r3, r2, r3 8047026: 461a mov r2, r3 8047028: 4b3f ldr r3, [pc, #252] ; (8047128 ) 804702a: 601a str r2, [r3, #0] break; 804702c: e000 b.n 8047030 break; 804702e: bf00 nop } break; 8047030: f001 bf1d b.w 8048e6e case MAIN_SPEC_OKT: switch(menupos) 8047034: 4b3d ldr r3, [pc, #244] ; (804712c ) 8047036: 781b ldrb r3, [r3, #0] 8047038: b2db uxtb r3, r3 804703a: 2b00 cmp r3, #0 804703c: f2c1 871a blt.w 8048e74 8047040: 2b05 cmp r3, #5 8047042: dd03 ble.n 804704c 8047044: 2b06 cmp r3, #6 8047046: d01b beq.n 8047080 case Cursor: if(CURSOR < 13) CURSOR++; break; } break; 8047048: f001 bf14 b.w 8048e74 if((!FIRST) && (Stability > (Nr * 4))) 804704c: 4b38 ldr r3, [pc, #224] ; (8047130 ) 804704e: 781b ldrb r3, [r3, #0] 8047050: b2db uxtb r3, r3 8047052: f083 0301 eor.w r3, r3, #1 8047056: b2db uxtb r3, r3 8047058: 2b00 cmp r3, #0 804705a: d01b beq.n 8047094 804705c: 4b35 ldr r3, [pc, #212] ; (8047134 ) 804705e: 881b ldrh r3, [r3, #0] 8047060: b29b uxth r3, r3 8047062: 009b lsls r3, r3, #2 8047064: 461a mov r2, r3 8047066: 4b34 ldr r3, [pc, #208] ; (8047138 ) 8047068: 681b ldr r3, [r3, #0] 804706a: 429a cmp r2, r3 804706c: d212 bcs.n 8047094 lastmenupos = menupos; 804706e: 4b2f ldr r3, [pc, #188] ; (804712c ) 8047070: 781b ldrb r3, [r3, #0] 8047072: b2da uxtb r2, r3 8047074: 4b31 ldr r3, [pc, #196] ; (804713c ) 8047076: 701a strb r2, [r3, #0] menupos = Cursor; 8047078: 4b2c ldr r3, [pc, #176] ; (804712c ) 804707a: 2206 movs r2, #6 804707c: 701a strb r2, [r3, #0] break; 804707e: e009 b.n 8047094 if(CURSOR < 13) 8047080: 4b29 ldr r3, [pc, #164] ; (8047128 ) 8047082: 681b ldr r3, [r3, #0] 8047084: 2b0c cmp r3, #12 8047086: d808 bhi.n 804709a CURSOR++; 8047088: 4b27 ldr r3, [pc, #156] ; (8047128 ) 804708a: 681b ldr r3, [r3, #0] 804708c: 3301 adds r3, #1 804708e: 4a26 ldr r2, [pc, #152] ; (8047128 ) 8047090: 6013 str r3, [r2, #0] break; 8047092: e002 b.n 804709a break; 8047094: bf00 nop 8047096: f001 beed b.w 8048e74 break; 804709a: bf00 nop break; 804709c: f001 beea b.w 8048e74 case MAIN_SPEC_THIRD: switch(menupos) 80470a0: 4b22 ldr r3, [pc, #136] ; (804712c ) 80470a2: 781b ldrb r3, [r3, #0] 80470a4: b2db uxtb r3, r3 80470a6: 2b00 cmp r3, #0 80470a8: f2c1 86e7 blt.w 8048e7a 80470ac: 2b05 cmp r3, #5 80470ae: dd03 ble.n 80470b8 80470b0: 2b06 cmp r3, #6 80470b2: d01b beq.n 80470ec case Cursor: if(CURSOR < 38) CURSOR++; break; } break; 80470b4: f001 bee1 b.w 8048e7a if((!FIRST) && (Stability > (Nr * 4))) 80470b8: 4b1d ldr r3, [pc, #116] ; (8047130 ) 80470ba: 781b ldrb r3, [r3, #0] 80470bc: b2db uxtb r3, r3 80470be: f083 0301 eor.w r3, r3, #1 80470c2: b2db uxtb r3, r3 80470c4: 2b00 cmp r3, #0 80470c6: d01b beq.n 8047100 80470c8: 4b1a ldr r3, [pc, #104] ; (8047134 ) 80470ca: 881b ldrh r3, [r3, #0] 80470cc: b29b uxth r3, r3 80470ce: 009b lsls r3, r3, #2 80470d0: 461a mov r2, r3 80470d2: 4b19 ldr r3, [pc, #100] ; (8047138 ) 80470d4: 681b ldr r3, [r3, #0] 80470d6: 429a cmp r2, r3 80470d8: d212 bcs.n 8047100 lastmenupos = menupos; 80470da: 4b14 ldr r3, [pc, #80] ; (804712c ) 80470dc: 781b ldrb r3, [r3, #0] 80470de: b2da uxtb r2, r3 80470e0: 4b16 ldr r3, [pc, #88] ; (804713c ) 80470e2: 701a strb r2, [r3, #0] menupos = Cursor; 80470e4: 4b11 ldr r3, [pc, #68] ; (804712c ) 80470e6: 2206 movs r2, #6 80470e8: 701a strb r2, [r3, #0] break; 80470ea: e009 b.n 8047100 if(CURSOR < 38) 80470ec: 4b0e ldr r3, [pc, #56] ; (8047128 ) 80470ee: 681b ldr r3, [r3, #0] 80470f0: 2b25 cmp r3, #37 ; 0x25 80470f2: d808 bhi.n 8047106 CURSOR++; 80470f4: 4b0c ldr r3, [pc, #48] ; (8047128 ) 80470f6: 681b ldr r3, [r3, #0] 80470f8: 3301 adds r3, #1 80470fa: 4a0b ldr r2, [pc, #44] ; (8047128 ) 80470fc: 6013 str r3, [r2, #0] break; 80470fe: e002 b.n 8047106 break; 8047100: bf00 nop 8047102: f001 beba b.w 8048e7a break; 8047106: bf00 nop break; 8047108: f001 beb7 b.w 8048e7a 804710c: 20020f74 .word 0x20020f74 8047110: 20023e60 .word 0x20023e60 8047114: 080ee828 .word 0x080ee828 8047118: 20025d16 .word 0x20025d16 804711c: 20025d20 .word 0x20025d20 8047120: 20025d1e .word 0x20025d1e 8047124: 20025d1a .word 0x20025d1a 8047128: 2002006c .word 0x2002006c 804712c: 20020070 .word 0x20020070 8047130: 20020db2 .word 0x20020db2 8047134: 20021d20 .word 0x20021d20 8047138: 20020da8 .word 0x20020da8 804713c: 20020071 .word 0x20020071 case MAIN_WAVE: switch(menupos) 8047140: 4bac ldr r3, [pc, #688] ; (80473f4 ) 8047142: 781b ldrb r3, [r3, #0] 8047144: b2db uxtb r3, r3 8047146: 2b01 cmp r3, #1 8047148: d005 beq.n 8047156 804714a: 2b03 cmp r3, #3 804714c: d01d beq.n 804718a 804714e: 2b00 cmp r3, #0 8047150: d00e beq.n 8047170 break; case ReadyRec: oldmenupos = ReadyRec; break; } break; 8047152: f001 bee0 b.w 8048f16 if(oldmenupos == StartStop) 8047156: 4ba8 ldr r3, [pc, #672] ; (80473f8 ) 8047158: 781b ldrb r3, [r3, #0] 804715a: b2db uxtb r3, r3 804715c: 2b00 cmp r3, #0 804715e: d103 bne.n 8047168 oldmenupos = StartStop; 8047160: 4ba5 ldr r3, [pc, #660] ; (80473f8 ) 8047162: 2200 movs r2, #0 8047164: 701a strb r2, [r3, #0] break; 8047166: e014 b.n 8047192 else oldmenupos = ReadyRec; 8047168: 4ba3 ldr r3, [pc, #652] ; (80473f8 ) 804716a: 2203 movs r2, #3 804716c: 701a strb r2, [r3, #0] break; 804716e: e010 b.n 8047192 if(oldmenupos == StartStop) 8047170: 4ba1 ldr r3, [pc, #644] ; (80473f8 ) 8047172: 781b ldrb r3, [r3, #0] 8047174: b2db uxtb r3, r3 8047176: 2b00 cmp r3, #0 8047178: d103 bne.n 8047182 oldmenupos = StartStop; 804717a: 4b9f ldr r3, [pc, #636] ; (80473f8 ) 804717c: 2200 movs r2, #0 804717e: 701a strb r2, [r3, #0] break; 8047180: e007 b.n 8047192 else oldmenupos = ReadyRec; 8047182: 4b9d ldr r3, [pc, #628] ; (80473f8 ) 8047184: 2203 movs r2, #3 8047186: 701a strb r2, [r3, #0] break; 8047188: e003 b.n 8047192 oldmenupos = ReadyRec; 804718a: 4b9b ldr r3, [pc, #620] ; (80473f8 ) 804718c: 2203 movs r2, #3 804718e: 701a strb r2, [r3, #0] break; 8047190: bf00 nop break; 8047192: f001 bec0 b.w 8048f16 case MAIN_SYGNAL: if(menupos == Cursor) 8047196: 4b97 ldr r3, [pc, #604] ; (80473f4 ) 8047198: 781b ldrb r3, [r3, #0] 804719a: b2db uxtb r3, r3 804719c: 2b06 cmp r3, #6 804719e: d10b bne.n 80471b8 { if(CURSOR < 255) 80471a0: 4b96 ldr r3, [pc, #600] ; (80473fc ) 80471a2: 681b ldr r3, [r3, #0] 80471a4: 2bfe cmp r3, #254 ; 0xfe 80471a6: f201 866b bhi.w 8048e80 CURSOR++; 80471aa: 4b94 ldr r3, [pc, #592] ; (80473fc ) 80471ac: 681b ldr r3, [r3, #0] 80471ae: 3301 adds r3, #1 80471b0: 4a92 ldr r2, [pc, #584] ; (80473fc ) 80471b2: 6013 str r3, [r2, #0] else { lastmenupos = menupos; menupos = Cursor; } break; 80471b4: f001 be64 b.w 8048e80 lastmenupos = menupos; 80471b8: 4b8e ldr r3, [pc, #568] ; (80473f4 ) 80471ba: 781b ldrb r3, [r3, #0] 80471bc: b2da uxtb r2, r3 80471be: 4b90 ldr r3, [pc, #576] ; (8047400 ) 80471c0: 701a strb r2, [r3, #0] menupos = Cursor; 80471c2: 4b8c ldr r3, [pc, #560] ; (80473f4 ) 80471c4: 2206 movs r2, #6 80471c6: 701a strb r2, [r3, #0] break; 80471c8: f001 be5a b.w 8048e80 case OPTIONS: if(menupos == AskFormatNo) 80471cc: 4b89 ldr r3, [pc, #548] ; (80473f4 ) 80471ce: 781b ldrb r3, [r3, #0] 80471d0: b2db uxtb r3, r3 80471d2: 2b05 cmp r3, #5 80471d4: d104 bne.n 80471e0 menupos = AskFormatYes; 80471d6: 4b87 ldr r3, [pc, #540] ; (80473f4 ) 80471d8: 2206 movs r2, #6 80471da: 701a strb r2, [r3, #0] if(menupos == AskRouteNo) menupos = AskRouteYes; else if(menupos == AskRouteYes) menupos = AskRouteNo; break; 80471dc: f001 be53 b.w 8048e86 if(menupos == AskFormatYes) 80471e0: 4b84 ldr r3, [pc, #528] ; (80473f4 ) 80471e2: 781b ldrb r3, [r3, #0] 80471e4: b2db uxtb r3, r3 80471e6: 2b06 cmp r3, #6 80471e8: d104 bne.n 80471f4 menupos = AskFormatNo; 80471ea: 4b82 ldr r3, [pc, #520] ; (80473f4 ) 80471ec: 2205 movs r2, #5 80471ee: 701a strb r2, [r3, #0] break; 80471f0: f001 be49 b.w 8048e86 if(menupos == AskRouteNo) 80471f4: 4b7f ldr r3, [pc, #508] ; (80473f4 ) 80471f6: 781b ldrb r3, [r3, #0] 80471f8: b2db uxtb r3, r3 80471fa: 2b09 cmp r3, #9 80471fc: d104 bne.n 8047208 menupos = AskRouteYes; 80471fe: 4b7d ldr r3, [pc, #500] ; (80473f4 ) 8047200: 220a movs r2, #10 8047202: 701a strb r2, [r3, #0] break; 8047204: f001 be3f b.w 8048e86 if(menupos == AskRouteYes) 8047208: 4b7a ldr r3, [pc, #488] ; (80473f4 ) 804720a: 781b ldrb r3, [r3, #0] 804720c: b2db uxtb r3, r3 804720e: 2b0a cmp r3, #10 8047210: f041 8639 bne.w 8048e86 menupos = AskRouteNo; 8047214: 4b77 ldr r3, [pc, #476] ; (80473f4 ) 8047216: 2209 movs r2, #9 8047218: 701a strb r2, [r3, #0] break; 804721a: f001 be34 b.w 8048e86 case EXPLORER: if((menupos == FilesPTM) || (menupos == NoFilesPTM)) 804721e: 4b75 ldr r3, [pc, #468] ; (80473f4 ) 8047220: 781b ldrb r3, [r3, #0] 8047222: b2db uxtb r3, r3 8047224: 2b02 cmp r3, #2 8047226: d004 beq.n 8047232 8047228: 4b72 ldr r3, [pc, #456] ; (80473f4 ) 804722a: 781b ldrb r3, [r3, #0] 804722c: b2db uxtb r3, r3 804722e: 2b01 cmp r3, #1 8047230: d114 bne.n 804725c { memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 8047232: 2221 movs r2, #33 ; 0x21 8047234: 2100 movs r1, #0 8047236: 4873 ldr r0, [pc, #460] ; (8047404 ) 8047238: f085 ff22 bl 80cd080 MeasFileNameLen = 0; 804723c: 4b72 ldr r3, [pc, #456] ; (8047408 ) 804723e: 2200 movs r2, #0 8047240: 601a str r2, [r3, #0] lastmenupos = menupos; 8047242: 4b6c ldr r3, [pc, #432] ; (80473f4 ) 8047244: 781b ldrb r3, [r3, #0] 8047246: b2da uxtb r2, r3 8047248: 4b6d ldr r3, [pc, #436] ; (8047400 ) 804724a: 701a strb r2, [r3, #0] menu = INPUT_NAME_PTM; 804724c: 4b6f ldr r3, [pc, #444] ; (804740c ) 804724e: 222b movs r2, #43 ; 0x2b 8047250: 701a strb r2, [r3, #0] menupos = _CANCEL; 8047252: 4b68 ldr r3, [pc, #416] ; (80473f4 ) 8047254: 2227 movs r2, #39 ; 0x27 8047256: 701a strb r2, [r3, #0] if(menupos == UpYes) menupos = UpNo; else if(menupos == UpNo) menupos = UpYes; break; 8047258: f001 be18 b.w 8048e8c if(menupos == UpYes) 804725c: 4b65 ldr r3, [pc, #404] ; (80473f4 ) 804725e: 781b ldrb r3, [r3, #0] 8047260: b2db uxtb r3, r3 8047262: 2b07 cmp r3, #7 8047264: d104 bne.n 8047270 menupos = UpNo; 8047266: 4b63 ldr r3, [pc, #396] ; (80473f4 ) 8047268: 2206 movs r2, #6 804726a: 701a strb r2, [r3, #0] break; 804726c: f001 be0e b.w 8048e8c if(menupos == UpNo) 8047270: 4b60 ldr r3, [pc, #384] ; (80473f4 ) 8047272: 781b ldrb r3, [r3, #0] 8047274: b2db uxtb r3, r3 8047276: 2b06 cmp r3, #6 8047278: f041 8608 bne.w 8048e8c menupos = UpYes; 804727c: 4b5d ldr r3, [pc, #372] ; (80473f4 ) 804727e: 2207 movs r2, #7 8047280: 701a strb r2, [r3, #0] break; 8047282: f001 be03 b.w 8048e8c case EXPLORER_DIAGN: if((menupos == FilesDGN) || (menupos == NoFilesDGN)) 8047286: 4b5b ldr r3, [pc, #364] ; (80473f4 ) 8047288: 781b ldrb r3, [r3, #0] 804728a: b2db uxtb r3, r3 804728c: 2b02 cmp r3, #2 804728e: d004 beq.n 804729a 8047290: 4b58 ldr r3, [pc, #352] ; (80473f4 ) 8047292: 781b ldrb r3, [r3, #0] 8047294: b2db uxtb r3, r3 8047296: 2b01 cmp r3, #1 8047298: d114 bne.n 80472c4 { memset(TEMP_DiagFileName, 0, sizeof(TEMP_DiagFileName)); 804729a: 2221 movs r2, #33 ; 0x21 804729c: 2100 movs r1, #0 804729e: 485c ldr r0, [pc, #368] ; (8047410 ) 80472a0: f085 feee bl 80cd080 DiagFileNameLen = 0; 80472a4: 4b5b ldr r3, [pc, #364] ; (8047414 ) 80472a6: 2200 movs r2, #0 80472a8: 601a str r2, [r3, #0] lastmenupos = menupos; 80472aa: 4b52 ldr r3, [pc, #328] ; (80473f4 ) 80472ac: 781b ldrb r3, [r3, #0] 80472ae: b2da uxtb r2, r3 80472b0: 4b53 ldr r3, [pc, #332] ; (8047400 ) 80472b2: 701a strb r2, [r3, #0] menu = INPUT_NAME_DGN; 80472b4: 4b55 ldr r3, [pc, #340] ; (804740c ) 80472b6: 222c movs r2, #44 ; 0x2c 80472b8: 701a strb r2, [r3, #0] menupos = _CANCEL; 80472ba: 4b4e ldr r3, [pc, #312] ; (80473f4 ) 80472bc: 2227 movs r2, #39 ; 0x27 80472be: 701a strb r2, [r3, #0] if(menupos == UpYes) menupos = UpNo; else if(menupos == UpNo) menupos = UpYes; break; 80472c0: f001 bde7 b.w 8048e92 if(menupos == UpYes) 80472c4: 4b4b ldr r3, [pc, #300] ; (80473f4 ) 80472c6: 781b ldrb r3, [r3, #0] 80472c8: b2db uxtb r3, r3 80472ca: 2b07 cmp r3, #7 80472cc: d104 bne.n 80472d8 menupos = UpNo; 80472ce: 4b49 ldr r3, [pc, #292] ; (80473f4 ) 80472d0: 2206 movs r2, #6 80472d2: 701a strb r2, [r3, #0] break; 80472d4: f001 bddd b.w 8048e92 if(menupos == UpNo) 80472d8: 4b46 ldr r3, [pc, #280] ; (80473f4 ) 80472da: 781b ldrb r3, [r3, #0] 80472dc: b2db uxtb r3, r3 80472de: 2b06 cmp r3, #6 80472e0: f041 85d7 bne.w 8048e92 menupos = UpYes; 80472e4: 4b43 ldr r3, [pc, #268] ; (80473f4 ) 80472e6: 2207 movs r2, #7 80472e8: 701a strb r2, [r3, #0] break; 80472ea: f001 bdd2 b.w 8048e92 case INPUT_NAME_DGN: case INPUT_NAME_PTM: case INPUT_NAME_SPEC: case INPUT_NAME_GTR: case INPUT_NAME_FRN: if((menupos != _0) && (menupos != _P) && (menupos != _BCKSPC) && (menupos != _M) && (menupos != _CANCEL)) 80472ee: 4b41 ldr r3, [pc, #260] ; (80473f4 ) 80472f0: 781b ldrb r3, [r3, #0] 80472f2: b2db uxtb r3, r3 80472f4: 2b09 cmp r3, #9 80472f6: f001 85cf beq.w 8048e98 80472fa: 4b3e ldr r3, [pc, #248] ; (80473f4 ) 80472fc: 781b ldrb r3, [r3, #0] 80472fe: b2db uxtb r3, r3 8047300: 2b13 cmp r3, #19 8047302: f001 85c9 beq.w 8048e98 8047306: 4b3b ldr r3, [pc, #236] ; (80473f4 ) 8047308: 781b ldrb r3, [r3, #0] 804730a: b2db uxtb r3, r3 804730c: 2b1d cmp r3, #29 804730e: f001 85c3 beq.w 8048e98 8047312: 4b38 ldr r3, [pc, #224] ; (80473f4 ) 8047314: 781b ldrb r3, [r3, #0] 8047316: b2db uxtb r3, r3 8047318: 2b25 cmp r3, #37 ; 0x25 804731a: f001 85bd beq.w 8048e98 804731e: 4b35 ldr r3, [pc, #212] ; (80473f4 ) 8047320: 781b ldrb r3, [r3, #0] 8047322: b2db uxtb r3, r3 8047324: 2b27 cmp r3, #39 ; 0x27 8047326: f001 85b7 beq.w 8048e98 menupos++; 804732a: 4b32 ldr r3, [pc, #200] ; (80473f4 ) 804732c: 781b ldrb r3, [r3, #0] 804732e: b2db uxtb r3, r3 8047330: 3301 adds r3, #1 8047332: b2da uxtb r2, r3 8047334: 4b2f ldr r3, [pc, #188] ; (80473f4 ) 8047336: 701a strb r2, [r3, #0] break; 8047338: f001 bdae b.w 8048e98 case ARCHIVE_SPEC: if(menupos == FilesSPEC) 804733c: 4b2d ldr r3, [pc, #180] ; (80473f4 ) 804733e: 781b ldrb r3, [r3, #0] 8047340: b2db uxtb r3, r3 8047342: 2b02 cmp r3, #2 8047344: d104 bne.n 8047350 menupos = UpNo; 8047346: 4b2b ldr r3, [pc, #172] ; (80473f4 ) 8047348: 2206 movs r2, #6 804734a: 701a strb r2, [r3, #0] if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 804734c: f001 bda7 b.w 8048e9e if(menupos == UpNo) 8047350: 4b28 ldr r3, [pc, #160] ; (80473f4 ) 8047352: 781b ldrb r3, [r3, #0] 8047354: b2db uxtb r3, r3 8047356: 2b06 cmp r3, #6 8047358: d104 bne.n 8047364 menupos = UpYes; 804735a: 4b26 ldr r3, [pc, #152] ; (80473f4 ) 804735c: 2207 movs r2, #7 804735e: 701a strb r2, [r3, #0] break; 8047360: f001 bd9d b.w 8048e9e if(menupos == UpYes) 8047364: 4b23 ldr r3, [pc, #140] ; (80473f4 ) 8047366: 781b ldrb r3, [r3, #0] 8047368: b2db uxtb r3, r3 804736a: 2b07 cmp r3, #7 804736c: f041 8597 bne.w 8048e9e menupos = UpNo; 8047370: 4b20 ldr r3, [pc, #128] ; (80473f4 ) 8047372: 2206 movs r2, #6 8047374: 701a strb r2, [r3, #0] break; 8047376: f001 bd92 b.w 8048e9e case ARCHIVE_FRAN: if(menupos == FilesFRAN) 804737a: 4b1e ldr r3, [pc, #120] ; (80473f4 ) 804737c: 781b ldrb r3, [r3, #0] 804737e: b2db uxtb r3, r3 8047380: 2b02 cmp r3, #2 8047382: d104 bne.n 804738e menupos = UpNo; 8047384: 4b1b ldr r3, [pc, #108] ; (80473f4 ) 8047386: 2206 movs r2, #6 8047388: 701a strb r2, [r3, #0] if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 804738a: f001 bd8b b.w 8048ea4 if(menupos == UpNo) 804738e: 4b19 ldr r3, [pc, #100] ; (80473f4 ) 8047390: 781b ldrb r3, [r3, #0] 8047392: b2db uxtb r3, r3 8047394: 2b06 cmp r3, #6 8047396: d104 bne.n 80473a2 menupos = UpYes; 8047398: 4b16 ldr r3, [pc, #88] ; (80473f4 ) 804739a: 2207 movs r2, #7 804739c: 701a strb r2, [r3, #0] break; 804739e: f001 bd81 b.w 8048ea4 if(menupos == UpYes) 80473a2: 4b14 ldr r3, [pc, #80] ; (80473f4 ) 80473a4: 781b ldrb r3, [r3, #0] 80473a6: b2db uxtb r3, r3 80473a8: 2b07 cmp r3, #7 80473aa: f041 857b bne.w 8048ea4 menupos = UpNo; 80473ae: 4b11 ldr r3, [pc, #68] ; (80473f4 ) 80473b0: 2206 movs r2, #6 80473b2: 701a strb r2, [r3, #0] break; 80473b4: f001 bd76 b.w 8048ea4 case ARCHIVE_WAVE: if(menupos == FilesGTR) 80473b8: 4b0e ldr r3, [pc, #56] ; (80473f4 ) 80473ba: 781b ldrb r3, [r3, #0] 80473bc: b2db uxtb r3, r3 80473be: 2b02 cmp r3, #2 80473c0: f040 80b0 bne.w 8047524 { if(ExplorerFiles[CursorIndex].fname[0] != 0) 80473c4: 4b14 ldr r3, [pc, #80] ; (8047418 ) 80473c6: 681a ldr r2, [r3, #0] 80473c8: 4914 ldr r1, [pc, #80] ; (804741c ) 80473ca: 4613 mov r3, r2 80473cc: 00db lsls r3, r3, #3 80473ce: 1a9b subs r3, r3, r2 80473d0: 00db lsls r3, r3, #3 80473d2: 440b add r3, r1 80473d4: 330c adds r3, #12 80473d6: 781b ldrb r3, [r3, #0] 80473d8: 2b00 cmp r3, #0 80473da: f001 8566 beq.w 8048eaa { d = cbChecked; 80473de: 2301 movs r3, #1 80473e0: f8c7 30bc str.w r3, [r7, #188] ; 0xbc if(NumFilesDelete != 0) 80473e4: 4b0e ldr r3, [pc, #56] ; (8047420 ) 80473e6: 681b ldr r3, [r3, #0] 80473e8: 2b00 cmp r3, #0 80473ea: d055 beq.n 8047498 { for(i = 0; i < MAX_CHECKED_FILES; i++) 80473ec: 2300 movs r3, #0 80473ee: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80473f2: e04c b.n 804748e 80473f4: 20020070 .word 0x20020070 80473f8: 20020f7a .word 0x20020f7a 80473fc: 2002006c .word 0x2002006c 8047400: 20020071 .word 0x20020071 8047404: 20025c80 .word 0x20025c80 8047408: 20020eec .word 0x20020eec 804740c: 20020f78 .word 0x20020f78 8047410: 20025cc8 .word 0x20025cc8 8047414: 20020ef0 .word 0x20020ef0 8047418: 20020de0 .word 0x20020de0 804741c: 20022350 .word 0x20022350 8047420: 20020e0c .word 0x20020e0c { if(strcmp(ExplorerFiles[CursorIndex].fname, &StrRAM(i, 0)) == 0) 8047424: 4bc6 ldr r3, [pc, #792] ; (8047740 ) 8047426: 681a ldr r2, [r3, #0] 8047428: 4613 mov r3, r2 804742a: 00db lsls r3, r3, #3 804742c: 1a9b subs r3, r3, r2 804742e: 00db lsls r3, r3, #3 8047430: 3308 adds r3, #8 8047432: 4ac4 ldr r2, [pc, #784] ; (8047744 ) 8047434: 4413 add r3, r2 8047436: 1d18 adds r0, r3, #4 8047438: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804743c: 4613 mov r3, r2 804743e: 009b lsls r3, r3, #2 8047440: 4413 add r3, r2 8047442: 00db lsls r3, r3, #3 8047444: 461a mov r2, r3 8047446: 4bc0 ldr r3, [pc, #768] ; (8047748 ) 8047448: 4413 add r3, r2 804744a: 4619 mov r1, r3 804744c: f7d8 ff58 bl 8020300 8047450: 4603 mov r3, r0 8047452: 2b00 cmp r3, #0 8047454: d116 bne.n 8047484 { memset(&StrRAM(i, 0), 0, 40); 8047456: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804745a: 4613 mov r3, r2 804745c: 009b lsls r3, r3, #2 804745e: 4413 add r3, r2 8047460: 00db lsls r3, r3, #3 8047462: 461a mov r2, r3 8047464: 4bb8 ldr r3, [pc, #736] ; (8047748 ) 8047466: 4413 add r3, r2 8047468: 2228 movs r2, #40 ; 0x28 804746a: 2100 movs r1, #0 804746c: 4618 mov r0, r3 804746e: f085 fe07 bl 80cd080 d = cbUnchecked; // Èìÿ ôàéëà èñêëþ÷èëè èç ñïèñêà óäàëÿåìûõ ôàéëîâ 8047472: 2300 movs r3, #0 8047474: f8c7 30bc str.w r3, [r7, #188] ; 0xbc NumFilesDelete--; 8047478: 4bb4 ldr r3, [pc, #720] ; (804774c ) 804747a: 681b ldr r3, [r3, #0] 804747c: 3b01 subs r3, #1 804747e: 4ab3 ldr r2, [pc, #716] ; (804774c ) 8047480: 6013 str r3, [r2, #0] break; 8047482: e009 b.n 8047498 for(i = 0; i < MAX_CHECKED_FILES; i++) 8047484: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047488: 3301 adds r3, #1 804748a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804748e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047492: f5b3 7f00 cmp.w r3, #512 ; 0x200 8047496: d3c5 bcc.n 8047424 } } } if(d == cbChecked) // Åñëè èìÿ ôàéëà âêëþ÷èëè â ñïèñîê óäàëÿåìûõ ôàéëîâ 8047498: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 804749c: 2b01 cmp r3, #1 804749e: f041 8504 bne.w 8048eaa { // Èùåì ïåðâóþ ñâîáîäíóþ ÿ÷åéêó â áóôåðå if(NumFilesDelete < MAX_CHECKED_FILES) 80474a2: 4baa ldr r3, [pc, #680] ; (804774c ) 80474a4: 681b ldr r3, [r3, #0] 80474a6: f5b3 7f00 cmp.w r3, #512 ; 0x200 80474aa: f081 84fe bcs.w 8048eaa { for(i = 0; i < MAX_CHECKED_FILES; i++) 80474ae: 2300 movs r3, #0 80474b0: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80474b4: e02f b.n 8047516 { if(StrRAM(i, 0) == 0) 80474b6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80474ba: 4613 mov r3, r2 80474bc: 009b lsls r3, r3, #2 80474be: 4413 add r3, r2 80474c0: 00db lsls r3, r3, #3 80474c2: 461a mov r2, r3 80474c4: 4ba0 ldr r3, [pc, #640] ; (8047748 ) 80474c6: 4413 add r3, r2 80474c8: 781b ldrb r3, [r3, #0] 80474ca: 2b00 cmp r3, #0 80474cc: d11e bne.n 804750c { strcpy(&StrRAM(i, 0), ExplorerFiles[CursorIndex].fname); 80474ce: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80474d2: 4613 mov r3, r2 80474d4: 009b lsls r3, r3, #2 80474d6: 4413 add r3, r2 80474d8: 00db lsls r3, r3, #3 80474da: 461a mov r2, r3 80474dc: 4b9a ldr r3, [pc, #616] ; (8047748 ) 80474de: 4413 add r3, r2 80474e0: 4618 mov r0, r3 80474e2: 4b97 ldr r3, [pc, #604] ; (8047740 ) 80474e4: 681a ldr r2, [r3, #0] 80474e6: 4613 mov r3, r2 80474e8: 00db lsls r3, r3, #3 80474ea: 1a9b subs r3, r3, r2 80474ec: 00db lsls r3, r3, #3 80474ee: 3308 adds r3, #8 80474f0: 4a94 ldr r2, [pc, #592] ; (8047744 ) 80474f2: 4413 add r3, r2 80474f4: 3304 adds r3, #4 80474f6: 4619 mov r1, r3 80474f8: f085 fedf bl 80cd2ba NumFilesDelete++; 80474fc: 4b93 ldr r3, [pc, #588] ; (804774c ) 80474fe: 681b ldr r3, [r3, #0] 8047500: 3301 adds r3, #1 8047502: 4a92 ldr r2, [pc, #584] ; (804774c ) 8047504: 6013 str r3, [r2, #0] break; 8047506: bf00 nop if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 8047508: f001 bccf b.w 8048eaa for(i = 0; i < MAX_CHECKED_FILES; i++) 804750c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047510: 3301 adds r3, #1 8047512: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8047516: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804751a: f5b3 7f00 cmp.w r3, #512 ; 0x200 804751e: d3ca bcc.n 80474b6 break; 8047520: f001 bcc3 b.w 8048eaa if(menupos == UpNo) 8047524: 4b8a ldr r3, [pc, #552] ; (8047750 ) 8047526: 781b ldrb r3, [r3, #0] 8047528: b2db uxtb r3, r3 804752a: 2b06 cmp r3, #6 804752c: d104 bne.n 8047538 menupos = UpYes; 804752e: 4b88 ldr r3, [pc, #544] ; (8047750 ) 8047530: 2207 movs r2, #7 8047532: 701a strb r2, [r3, #0] break; 8047534: f001 bcb9 b.w 8048eaa if(menupos == UpYes) 8047538: 4b85 ldr r3, [pc, #532] ; (8047750 ) 804753a: 781b ldrb r3, [r3, #0] 804753c: b2db uxtb r3, r3 804753e: 2b07 cmp r3, #7 8047540: f041 84b3 bne.w 8048eaa menupos = UpNo; 8047544: 4b82 ldr r3, [pc, #520] ; (8047750 ) 8047546: 2206 movs r2, #6 8047548: 701a strb r2, [r3, #0] break; 804754a: f001 bcae b.w 8048eaa case ROUTE: if(menupos == FilesCSV) 804754e: 4b80 ldr r3, [pc, #512] ; (8047750 ) 8047550: 781b ldrb r3, [r3, #0] 8047552: b2db uxtb r3, r3 8047554: 2b02 cmp r3, #2 8047556: f040 8098 bne.w 804768a { if(ExplorerFiles[CursorIndex].fname[0] != 0) 804755a: 4b79 ldr r3, [pc, #484] ; (8047740 ) 804755c: 681a ldr r2, [r3, #0] 804755e: 4979 ldr r1, [pc, #484] ; (8047744 ) 8047560: 4613 mov r3, r2 8047562: 00db lsls r3, r3, #3 8047564: 1a9b subs r3, r3, r2 8047566: 00db lsls r3, r3, #3 8047568: 440b add r3, r1 804756a: 330c adds r3, #12 804756c: 781b ldrb r3, [r3, #0] 804756e: 2b00 cmp r3, #0 8047570: f001 849e beq.w 8048eb0 { d = cbChecked; 8047574: 2301 movs r3, #1 8047576: f8c7 30bc str.w r3, [r7, #188] ; 0xbc if(NumFilesDelete != 0) 804757a: 4b74 ldr r3, [pc, #464] ; (804774c ) 804757c: 681b ldr r3, [r3, #0] 804757e: 2b00 cmp r3, #0 8047580: d03d beq.n 80475fe { for(i = 0; i < MAX_CHECKED_FILES; i++) 8047582: 2300 movs r3, #0 8047584: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8047588: e034 b.n 80475f4 { if(strcmp(ExplorerFiles[CursorIndex].fname, &StrRAM(i, 0)) == 0) 804758a: 4b6d ldr r3, [pc, #436] ; (8047740 ) 804758c: 681a ldr r2, [r3, #0] 804758e: 4613 mov r3, r2 8047590: 00db lsls r3, r3, #3 8047592: 1a9b subs r3, r3, r2 8047594: 00db lsls r3, r3, #3 8047596: 3308 adds r3, #8 8047598: 4a6a ldr r2, [pc, #424] ; (8047744 ) 804759a: 4413 add r3, r2 804759c: 1d18 adds r0, r3, #4 804759e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80475a2: 4613 mov r3, r2 80475a4: 009b lsls r3, r3, #2 80475a6: 4413 add r3, r2 80475a8: 00db lsls r3, r3, #3 80475aa: 461a mov r2, r3 80475ac: 4b66 ldr r3, [pc, #408] ; (8047748 ) 80475ae: 4413 add r3, r2 80475b0: 4619 mov r1, r3 80475b2: f7d8 fea5 bl 8020300 80475b6: 4603 mov r3, r0 80475b8: 2b00 cmp r3, #0 80475ba: d116 bne.n 80475ea { memset(&StrRAM(i, 0), 0, 40); 80475bc: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80475c0: 4613 mov r3, r2 80475c2: 009b lsls r3, r3, #2 80475c4: 4413 add r3, r2 80475c6: 00db lsls r3, r3, #3 80475c8: 461a mov r2, r3 80475ca: 4b5f ldr r3, [pc, #380] ; (8047748 ) 80475cc: 4413 add r3, r2 80475ce: 2228 movs r2, #40 ; 0x28 80475d0: 2100 movs r1, #0 80475d2: 4618 mov r0, r3 80475d4: f085 fd54 bl 80cd080 d = cbUnchecked; // Èìÿ ôàéëà èñêëþ÷èëè èç ñïèñêà óäàëÿåìûõ ôàéëîâ 80475d8: 2300 movs r3, #0 80475da: f8c7 30bc str.w r3, [r7, #188] ; 0xbc NumFilesDelete--; 80475de: 4b5b ldr r3, [pc, #364] ; (804774c ) 80475e0: 681b ldr r3, [r3, #0] 80475e2: 3b01 subs r3, #1 80475e4: 4a59 ldr r2, [pc, #356] ; (804774c ) 80475e6: 6013 str r3, [r2, #0] break; 80475e8: e009 b.n 80475fe for(i = 0; i < MAX_CHECKED_FILES; i++) 80475ea: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80475ee: 3301 adds r3, #1 80475f0: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80475f4: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80475f8: f5b3 7f00 cmp.w r3, #512 ; 0x200 80475fc: d3c5 bcc.n 804758a } } } if(d == cbChecked) // Åñëè èìÿ ôàéëà âêëþ÷èëè â ñïèñîê óäàëÿåìûõ ôàéëîâ 80475fe: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8047602: 2b01 cmp r3, #1 8047604: f041 8454 bne.w 8048eb0 { // Èùåì ïåðâóþ ñâîáîäíóþ ÿ÷åéêó â áóôåðå if(NumFilesDelete < MAX_CHECKED_FILES) 8047608: 4b50 ldr r3, [pc, #320] ; (804774c ) 804760a: 681b ldr r3, [r3, #0] 804760c: f5b3 7f00 cmp.w r3, #512 ; 0x200 8047610: f081 844e bcs.w 8048eb0 { for(i = 0; i < MAX_CHECKED_FILES; i++) 8047614: 2300 movs r3, #0 8047616: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804761a: e02f b.n 804767c { if(StrRAM(i, 0) == 0) 804761c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8047620: 4613 mov r3, r2 8047622: 009b lsls r3, r3, #2 8047624: 4413 add r3, r2 8047626: 00db lsls r3, r3, #3 8047628: 461a mov r2, r3 804762a: 4b47 ldr r3, [pc, #284] ; (8047748 ) 804762c: 4413 add r3, r2 804762e: 781b ldrb r3, [r3, #0] 8047630: 2b00 cmp r3, #0 8047632: d11e bne.n 8047672 { strcpy(&StrRAM(i, 0), ExplorerFiles[CursorIndex].fname); 8047634: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8047638: 4613 mov r3, r2 804763a: 009b lsls r3, r3, #2 804763c: 4413 add r3, r2 804763e: 00db lsls r3, r3, #3 8047640: 461a mov r2, r3 8047642: 4b41 ldr r3, [pc, #260] ; (8047748 ) 8047644: 4413 add r3, r2 8047646: 4618 mov r0, r3 8047648: 4b3d ldr r3, [pc, #244] ; (8047740 ) 804764a: 681a ldr r2, [r3, #0] 804764c: 4613 mov r3, r2 804764e: 00db lsls r3, r3, #3 8047650: 1a9b subs r3, r3, r2 8047652: 00db lsls r3, r3, #3 8047654: 3308 adds r3, #8 8047656: 4a3b ldr r2, [pc, #236] ; (8047744 ) 8047658: 4413 add r3, r2 804765a: 3304 adds r3, #4 804765c: 4619 mov r1, r3 804765e: f085 fe2c bl 80cd2ba NumFilesDelete++; 8047662: 4b3a ldr r3, [pc, #232] ; (804774c ) 8047664: 681b ldr r3, [r3, #0] 8047666: 3301 adds r3, #1 8047668: 4a38 ldr r2, [pc, #224] ; (804774c ) 804766a: 6013 str r3, [r2, #0] break; 804766c: bf00 nop if(menupos == UpNo) menupos = UpYes; else if(menupos == UpYes) menupos = UpNo; break; 804766e: f001 bc1f b.w 8048eb0 for(i = 0; i < MAX_CHECKED_FILES; i++) 8047672: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047676: 3301 adds r3, #1 8047678: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804767c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8047680: f5b3 7f00 cmp.w r3, #512 ; 0x200 8047684: d3ca bcc.n 804761c break; 8047686: f001 bc13 b.w 8048eb0 if(menupos == UpNo) 804768a: 4b31 ldr r3, [pc, #196] ; (8047750 ) 804768c: 781b ldrb r3, [r3, #0] 804768e: b2db uxtb r3, r3 8047690: 2b06 cmp r3, #6 8047692: d104 bne.n 804769e menupos = UpYes; 8047694: 4b2e ldr r3, [pc, #184] ; (8047750 ) 8047696: 2207 movs r2, #7 8047698: 701a strb r2, [r3, #0] break; 804769a: f001 bc09 b.w 8048eb0 if(menupos == UpYes) 804769e: 4b2c ldr r3, [pc, #176] ; (8047750 ) 80476a0: 781b ldrb r3, [r3, #0] 80476a2: b2db uxtb r3, r3 80476a4: 2b07 cmp r3, #7 80476a6: f041 8403 bne.w 8048eb0 menupos = UpNo; 80476aa: 4b29 ldr r3, [pc, #164] ; (8047750 ) 80476ac: 2206 movs r2, #6 80476ae: 701a strb r2, [r3, #0] break; 80476b0: f001 bbfe b.w 8048eb0 case PARAM_UDAR: switch(menupos) 80476b4: 4b26 ldr r3, [pc, #152] ; (8047750 ) 80476b6: 781b ldrb r3, [r3, #0] 80476b8: b2db uxtb r3, r3 80476ba: 3b03 subs r3, #3 80476bc: 2b09 cmp r3, #9 80476be: d849 bhi.n 8047754 80476c0: a201 add r2, pc, #4 ; (adr r2, 80476c8 ) 80476c2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80476c6: bf00 nop 80476c8: 080476f1 .word 0x080476f1 80476cc: 080476f9 .word 0x080476f9 80476d0: 08047701 .word 0x08047701 80476d4: 08047709 .word 0x08047709 80476d8: 08047711 .word 0x08047711 80476dc: 08047719 .word 0x08047719 80476e0: 08047721 .word 0x08047721 80476e4: 08047729 .word 0x08047729 80476e8: 08047731 .word 0x08047731 80476ec: 08047739 .word 0x08047739 { case UdarRate_IET: menupos = UdarRate_IES; break; 80476f0: 4b17 ldr r3, [pc, #92] ; (8047750 ) 80476f2: 2204 movs r2, #4 80476f4: 701a strb r2, [r3, #0] 80476f6: e031 b.n 804775c case UdarRate_IES: menupos = UdarRate_IED; break; 80476f8: 4b15 ldr r3, [pc, #84] ; (8047750 ) 80476fa: 2205 movs r2, #5 80476fc: 701a strb r2, [r3, #0] 80476fe: e02d b.n 804775c case UdarRate_IED: menupos = UdarRate_IEE; break; 8047700: 4b13 ldr r3, [pc, #76] ; (8047750 ) 8047702: 2206 movs r2, #6 8047704: 701a strb r2, [r3, #0] 8047706: e029 b.n 804775c case UdarRate_IEE: menupos = UdarRate_IET; break; 8047708: 4b11 ldr r3, [pc, #68] ; (8047750 ) 804770a: 2203 movs r2, #3 804770c: 701a strb r2, [r3, #0] 804770e: e025 b.n 804775c case UdarInner_IES: menupos = UdarInner_IED; break; 8047710: 4b0f ldr r3, [pc, #60] ; (8047750 ) 8047712: 2208 movs r2, #8 8047714: 701a strb r2, [r3, #0] 8047716: e021 b.n 804775c case UdarInner_IED: menupos = UdarInner_IEE; break; 8047718: 4b0d ldr r3, [pc, #52] ; (8047750 ) 804771a: 2209 movs r2, #9 804771c: 701a strb r2, [r3, #0] 804771e: e01d b.n 804775c case UdarInner_IEE: menupos = UdarInner_IKD; break; 8047720: 4b0b ldr r3, [pc, #44] ; (8047750 ) 8047722: 220a movs r2, #10 8047724: 701a strb r2, [r3, #0] 8047726: e019 b.n 804775c case UdarInner_IKD: menupos = UdarInner_IKS; break; 8047728: 4b09 ldr r3, [pc, #36] ; (8047750 ) 804772a: 220b movs r2, #11 804772c: 701a strb r2, [r3, #0] 804772e: e015 b.n 804775c case UdarInner_IKS: menupos = UdarInner_IKT; break; 8047730: 4b07 ldr r3, [pc, #28] ; (8047750 ) 8047732: 220c movs r2, #12 8047734: 701a strb r2, [r3, #0] 8047736: e011 b.n 804775c case UdarInner_IKT: menupos = UdarInner_IES; break; 8047738: 4b05 ldr r3, [pc, #20] ; (8047750 ) 804773a: 2207 movs r2, #7 804773c: 701a strb r2, [r3, #0] 804773e: e00d b.n 804775c 8047740: 20020de0 .word 0x20020de0 8047744: 20022350 .word 0x20022350 8047748: 6404b000 .word 0x6404b000 804774c: 20020e0c .word 0x20020e0c 8047750: 20020070 .word 0x20020070 default: menupos = Ok; 8047754: 4bc2 ldr r3, [pc, #776] ; (8047a60 ) 8047756: 2200 movs r2, #0 8047758: 701a strb r2, [r3, #0] break; 804775a: bf00 nop } break; 804775c: f001 bbdb b.w 8048f16 case PARAM_ROLL: switch(menupos) 8047760: 4bbf ldr r3, [pc, #764] ; (8047a60 ) 8047762: 781b ldrb r3, [r3, #0] 8047764: b2db uxtb r3, r3 8047766: 3b01 subs r3, #1 8047768: 2b2a cmp r3, #42 ; 0x2a 804776a: f201 83a4 bhi.w 8048eb6 804776e: a201 add r2, pc, #4 ; (adr r2, 8047774 ) 8047770: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8047774: 08047931 .word 0x08047931 8047778: 0804799b .word 0x0804799b 804777c: 0804799b .word 0x0804799b 8047780: 0804799b .word 0x0804799b 8047784: 0804799b .word 0x0804799b 8047788: 08047967 .word 0x08047967 804778c: 0804799b .word 0x0804799b 8047790: 0804799b .word 0x0804799b 8047794: 0804799b .word 0x0804799b 8047798: 08047841 .word 0x08047841 804779c: 08047849 .word 0x08047849 80477a0: 08047851 .word 0x08047851 80477a4: 08047859 .word 0x08047859 80477a8: 08047861 .word 0x08047861 80477ac: 08047869 .word 0x08047869 80477b0: 08047871 .word 0x08047871 80477b4: 08047879 .word 0x08047879 80477b8: 08047881 .word 0x08047881 80477bc: 08047889 .word 0x08047889 80477c0: 08047891 .word 0x08047891 80477c4: 08047899 .word 0x08047899 80477c8: 080478a1 .word 0x080478a1 80477cc: 080478a9 .word 0x080478a9 80477d0: 080478b1 .word 0x080478b1 80477d4: 080478b9 .word 0x080478b9 80477d8: 080478c1 .word 0x080478c1 80477dc: 080478c9 .word 0x080478c9 80477e0: 080478d1 .word 0x080478d1 80477e4: 080478d9 .word 0x080478d9 80477e8: 080478e1 .word 0x080478e1 80477ec: 080478e9 .word 0x080478e9 80477f0: 080478f1 .word 0x080478f1 80477f4: 080478f9 .word 0x080478f9 80477f8: 08047821 .word 0x08047821 80477fc: 08047829 .word 0x08047829 8047800: 08047831 .word 0x08047831 8047804: 08047839 .word 0x08047839 8047808: 08047901 .word 0x08047901 804780c: 08047909 .word 0x08047909 8047810: 08047911 .word 0x08047911 8047814: 08047919 .word 0x08047919 8047818: 08047921 .word 0x08047921 804781c: 08047929 .word 0x08047929 { case D_Rate_IET: menupos = D_Rate_IES; break; 8047820: 4b8f ldr r3, [pc, #572] ; (8047a60 ) 8047822: 2223 movs r2, #35 ; 0x23 8047824: 701a strb r2, [r3, #0] 8047826: e0bc b.n 80479a2 case D_Rate_IES: menupos = D_Rate_IED; break; 8047828: 4b8d ldr r3, [pc, #564] ; (8047a60 ) 804782a: 2224 movs r2, #36 ; 0x24 804782c: 701a strb r2, [r3, #0] 804782e: e0b8 b.n 80479a2 case D_Rate_IED: menupos = D_Rate_IEE; break; 8047830: 4b8b ldr r3, [pc, #556] ; (8047a60 ) 8047832: 2225 movs r2, #37 ; 0x25 8047834: 701a strb r2, [r3, #0] 8047836: e0b4 b.n 80479a2 case D_Rate_IEE: menupos = D_Rate_IET; break; 8047838: 4b89 ldr r3, [pc, #548] ; (8047a60 ) 804783a: 2222 movs r2, #34 ; 0x22 804783c: 701a strb r2, [r3, #0] 804783e: e0b0 b.n 80479a2 case D_Roll_IES: menupos = D_Roll_IED; break; 8047840: 4b87 ldr r3, [pc, #540] ; (8047a60 ) 8047842: 220b movs r2, #11 8047844: 701a strb r2, [r3, #0] 8047846: e0ac b.n 80479a2 case D_Roll_IED: menupos = D_Roll_IEE; break; 8047848: 4b85 ldr r3, [pc, #532] ; (8047a60 ) 804784a: 220c movs r2, #12 804784c: 701a strb r2, [r3, #0] 804784e: e0a8 b.n 80479a2 case D_Roll_IEE: menupos = D_Roll_IKD; break; 8047850: 4b83 ldr r3, [pc, #524] ; (8047a60 ) 8047852: 220d movs r2, #13 8047854: 701a strb r2, [r3, #0] 8047856: e0a4 b.n 80479a2 case D_Roll_IKD: menupos = D_Roll_IKS; break; 8047858: 4b81 ldr r3, [pc, #516] ; (8047a60 ) 804785a: 220e movs r2, #14 804785c: 701a strb r2, [r3, #0] 804785e: e0a0 b.n 80479a2 case D_Roll_IKS: menupos = D_Roll_IKT; break; 8047860: 4b7f ldr r3, [pc, #508] ; (8047a60 ) 8047862: 220f movs r2, #15 8047864: 701a strb r2, [r3, #0] 8047866: e09c b.n 80479a2 case D_Roll_IKT: menupos = D_Roll_IES; break; 8047868: 4b7d ldr r3, [pc, #500] ; (8047a60 ) 804786a: 220a movs r2, #10 804786c: 701a strb r2, [r3, #0] 804786e: e098 b.n 80479a2 case D_Outer_IES: menupos = D_Outer_IED; break; 8047870: 4b7b ldr r3, [pc, #492] ; (8047a60 ) 8047872: 2211 movs r2, #17 8047874: 701a strb r2, [r3, #0] 8047876: e094 b.n 80479a2 case D_Outer_IED: menupos = D_Outer_IEE; break; 8047878: 4b79 ldr r3, [pc, #484] ; (8047a60 ) 804787a: 2212 movs r2, #18 804787c: 701a strb r2, [r3, #0] 804787e: e090 b.n 80479a2 case D_Outer_IEE: menupos = D_Outer_IKD; break; 8047880: 4b77 ldr r3, [pc, #476] ; (8047a60 ) 8047882: 2213 movs r2, #19 8047884: 701a strb r2, [r3, #0] 8047886: e08c b.n 80479a2 case D_Outer_IKD: menupos = D_Outer_IKS; break; 8047888: 4b75 ldr r3, [pc, #468] ; (8047a60 ) 804788a: 2214 movs r2, #20 804788c: 701a strb r2, [r3, #0] 804788e: e088 b.n 80479a2 case D_Outer_IKS: menupos = D_Outer_IKT; break; 8047890: 4b73 ldr r3, [pc, #460] ; (8047a60 ) 8047892: 2215 movs r2, #21 8047894: 701a strb r2, [r3, #0] 8047896: e084 b.n 80479a2 case D_Outer_IKT: menupos = D_Outer_IES; break; 8047898: 4b71 ldr r3, [pc, #452] ; (8047a60 ) 804789a: 2210 movs r2, #16 804789c: 701a strb r2, [r3, #0] 804789e: e080 b.n 80479a2 case D_Inner_IES: menupos = D_Inner_IED; break; 80478a0: 4b6f ldr r3, [pc, #444] ; (8047a60 ) 80478a2: 2217 movs r2, #23 80478a4: 701a strb r2, [r3, #0] 80478a6: e07c b.n 80479a2 case D_Inner_IED: menupos = D_Inner_IEE; break; 80478a8: 4b6d ldr r3, [pc, #436] ; (8047a60 ) 80478aa: 2218 movs r2, #24 80478ac: 701a strb r2, [r3, #0] 80478ae: e078 b.n 80479a2 case D_Inner_IEE: menupos = D_Inner_IKD; break; 80478b0: 4b6b ldr r3, [pc, #428] ; (8047a60 ) 80478b2: 2219 movs r2, #25 80478b4: 701a strb r2, [r3, #0] 80478b6: e074 b.n 80479a2 case D_Inner_IKD: menupos = D_Inner_IKS; break; 80478b8: 4b69 ldr r3, [pc, #420] ; (8047a60 ) 80478ba: 221a movs r2, #26 80478bc: 701a strb r2, [r3, #0] 80478be: e070 b.n 80479a2 case D_Inner_IKS: menupos = D_Inner_IKT; break; 80478c0: 4b67 ldr r3, [pc, #412] ; (8047a60 ) 80478c2: 221b movs r2, #27 80478c4: 701a strb r2, [r3, #0] 80478c6: e06c b.n 80479a2 case D_Inner_IKT: menupos = D_Inner_IES; break; 80478c8: 4b65 ldr r3, [pc, #404] ; (8047a60 ) 80478ca: 2216 movs r2, #22 80478cc: 701a strb r2, [r3, #0] 80478ce: e068 b.n 80479a2 case D_Angle_IES: menupos = D_Angle_IED; break; 80478d0: 4b63 ldr r3, [pc, #396] ; (8047a60 ) 80478d2: 221d movs r2, #29 80478d4: 701a strb r2, [r3, #0] 80478d6: e064 b.n 80479a2 case D_Angle_IED: menupos = D_Angle_IEE; break; 80478d8: 4b61 ldr r3, [pc, #388] ; (8047a60 ) 80478da: 221e movs r2, #30 80478dc: 701a strb r2, [r3, #0] 80478de: e060 b.n 80479a2 case D_Angle_IEE: menupos = D_Angle_IKD; break; 80478e0: 4b5f ldr r3, [pc, #380] ; (8047a60 ) 80478e2: 221f movs r2, #31 80478e4: 701a strb r2, [r3, #0] 80478e6: e05c b.n 80479a2 case D_Angle_IKD: menupos = D_Angle_IKS; break; 80478e8: 4b5d ldr r3, [pc, #372] ; (8047a60 ) 80478ea: 2220 movs r2, #32 80478ec: 701a strb r2, [r3, #0] 80478ee: e058 b.n 80479a2 case D_Angle_IKS: menupos = D_Angle_IKT; break; 80478f0: 4b5b ldr r3, [pc, #364] ; (8047a60 ) 80478f2: 2221 movs r2, #33 ; 0x21 80478f4: 701a strb r2, [r3, #0] 80478f6: e054 b.n 80479a2 case D_Angle_IKT: menupos = D_Angle_IES; break; 80478f8: 4b59 ldr r3, [pc, #356] ; (8047a60 ) 80478fa: 221c movs r2, #28 80478fc: 701a strb r2, [r3, #0] 80478fe: e050 b.n 80479a2 case RollMax_IDT: menupos = RollMax_IET; break; 8047900: 4b57 ldr r3, [pc, #348] ; (8047a60 ) 8047902: 2227 movs r2, #39 ; 0x27 8047904: 701a strb r2, [r3, #0] 8047906: e04c b.n 80479a2 case RollMax_IET: menupos = RollMax_IES; break; 8047908: 4b55 ldr r3, [pc, #340] ; (8047a60 ) 804790a: 2228 movs r2, #40 ; 0x28 804790c: 701a strb r2, [r3, #0] 804790e: e048 b.n 80479a2 case RollMax_IES: menupos = RollMax_IED; break; 8047910: 4b53 ldr r3, [pc, #332] ; (8047a60 ) 8047912: 2229 movs r2, #41 ; 0x29 8047914: 701a strb r2, [r3, #0] 8047916: e044 b.n 80479a2 case RollMax_IED: menupos = RollMax_IEE; break; 8047918: 4b51 ldr r3, [pc, #324] ; (8047a60 ) 804791a: 222a movs r2, #42 ; 0x2a 804791c: 701a strb r2, [r3, #0] 804791e: e040 b.n 80479a2 case RollMax_IEE: menupos = RollMax_IKD; break; 8047920: 4b4f ldr r3, [pc, #316] ; (8047a60 ) 8047922: 222b movs r2, #43 ; 0x2b 8047924: 701a strb r2, [r3, #0] 8047926: e03c b.n 80479a2 case RollMax_IKD: menupos = RollMax_IDT; break; 8047928: 4b4d ldr r3, [pc, #308] ; (8047a60 ) 804792a: 2226 movs r2, #38 ; 0x26 804792c: 701a strb r2, [r3, #0] 804792e: e038 b.n 80479a2 case RollCount: if(focused) 8047930: 4b4c ldr r3, [pc, #304] ; (8047a64 ) 8047932: 781b ldrb r3, [r3, #0] 8047934: b2db uxtb r3, r3 8047936: 2b00 cmp r3, #0 8047938: d011 beq.n 804795e { if(pardata.ROLL_COUNT < 99) pardata.ROLL_COUNT++; 804793a: 4b4b ldr r3, [pc, #300] ; (8047a68 ) 804793c: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 8047940: 2b62 cmp r3, #98 ; 0x62 8047942: d807 bhi.n 8047954 8047944: 4b48 ldr r3, [pc, #288] ; (8047a68 ) 8047946: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 804794a: 3301 adds r3, #1 804794c: 4a46 ldr r2, [pc, #280] ; (8047a68 ) 804794e: f8c2 30bc str.w r3, [r2, #188] ; 0xbc else pardata.ROLL_COUNT = 5; } else menupos = Ok; break; 8047952: e026 b.n 80479a2 else pardata.ROLL_COUNT = 5; 8047954: 4b44 ldr r3, [pc, #272] ; (8047a68 ) 8047956: 2205 movs r2, #5 8047958: f8c3 20bc str.w r2, [r3, #188] ; 0xbc break; 804795c: e021 b.n 80479a2 menupos = Ok; 804795e: 4b40 ldr r3, [pc, #256] ; (8047a60 ) 8047960: 2200 movs r2, #0 8047962: 701a strb r2, [r3, #0] break; 8047964: e01d b.n 80479a2 case RollAverage: if(focused) 8047966: 4b3f ldr r3, [pc, #252] ; (8047a64 ) 8047968: 781b ldrb r3, [r3, #0] 804796a: b2db uxtb r3, r3 804796c: 2b00 cmp r3, #0 804796e: d010 beq.n 8047992 { if(pardata.AVG < AVG512) pardata.AVG++; 8047970: 4b3d ldr r3, [pc, #244] ; (8047a68 ) 8047972: 7b5b ldrb r3, [r3, #13] 8047974: b2db uxtb r3, r3 8047976: 2b08 cmp r3, #8 8047978: d807 bhi.n 804798a 804797a: 4b3b ldr r3, [pc, #236] ; (8047a68 ) 804797c: 7b5b ldrb r3, [r3, #13] 804797e: b2db uxtb r3, r3 8047980: 3301 adds r3, #1 8047982: b2da uxtb r2, r3 8047984: 4b38 ldr r3, [pc, #224] ; (8047a68 ) 8047986: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } else menupos = Ok; break; 8047988: e00b b.n 80479a2 else pardata.AVG = AVG1; 804798a: 4b37 ldr r3, [pc, #220] ; (8047a68 ) 804798c: 2200 movs r2, #0 804798e: 735a strb r2, [r3, #13] break; 8047990: e007 b.n 80479a2 menupos = Ok; 8047992: 4b33 ldr r3, [pc, #204] ; (8047a60 ) 8047994: 2200 movs r2, #0 8047996: 701a strb r2, [r3, #0] break; 8047998: e003 b.n 80479a2 case D_Inner: case D_Outer: case D_Angle: case RollAutoKu: case RollMax_ALL: menupos = Ok; 804799a: 4b31 ldr r3, [pc, #196] ; (8047a60 ) 804799c: 2200 movs r2, #0 804799e: 701a strb r2, [r3, #0] break; 80479a0: bf00 nop } break; 80479a2: f001 ba88 b.w 8048eb6 case PARAM_VIB: switch(menupos) 80479a6: 4b2e ldr r3, [pc, #184] ; (8047a60 ) 80479a8: 781b ldrb r3, [r3, #0] 80479aa: b2db uxtb r3, r3 80479ac: 3b02 subs r3, #2 80479ae: 2b22 cmp r3, #34 ; 0x22 80479b0: f201 8284 bhi.w 8048ebc 80479b4: a201 add r2, pc, #4 ; (adr r2, 80479bc ) 80479b6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80479ba: bf00 nop 80479bc: 08047ae5 .word 0x08047ae5 80479c0: 08047b19 .word 0x08047b19 80479c4: 08047b4d .word 0x08047b4d 80479c8: 08047b8d .word 0x08047b8d 80479cc: 08047bc1 .word 0x08047bc1 80479d0: 08047bc1 .word 0x08047bc1 80479d4: 08047bc1 .word 0x08047bc1 80479d8: 08047bc1 .word 0x08047bc1 80479dc: 08047b81 .word 0x08047b81 80479e0: 08047a49 .word 0x08047a49 80479e4: 08047a51 .word 0x08047a51 80479e8: 08047a59 .word 0x08047a59 80479ec: 08047a6d .word 0x08047a6d 80479f0: 08047a75 .word 0x08047a75 80479f4: 08047a7d .word 0x08047a7d 80479f8: 08048ebd .word 0x08048ebd 80479fc: 08048ebd .word 0x08048ebd 8047a00: 08048ebd .word 0x08048ebd 8047a04: 08048ebd .word 0x08048ebd 8047a08: 08048ebd .word 0x08048ebd 8047a0c: 08048ebd .word 0x08048ebd 8047a10: 08047bc1 .word 0x08047bc1 8047a14: 08047bc1 .word 0x08047bc1 8047a18: 08047a85 .word 0x08047a85 8047a1c: 08047a8d .word 0x08047a8d 8047a20: 08047a95 .word 0x08047a95 8047a24: 08047a9d .word 0x08047a9d 8047a28: 08047aa5 .word 0x08047aa5 8047a2c: 08047aad .word 0x08047aad 8047a30: 08047ab5 .word 0x08047ab5 8047a34: 08047abd .word 0x08047abd 8047a38: 08047ac5 .word 0x08047ac5 8047a3c: 08047acd .word 0x08047acd 8047a40: 08047ad5 .word 0x08047ad5 8047a44: 08047add .word 0x08047add { case VibMax_IDT: menupos = VibMax_IET; break; 8047a48: 4b05 ldr r3, [pc, #20] ; (8047a60 ) 8047a4a: 220c movs r2, #12 8047a4c: 701a strb r2, [r3, #0] 8047a4e: e0bb b.n 8047bc8 case VibMax_IET: menupos = VibMax_IES; break; 8047a50: 4b03 ldr r3, [pc, #12] ; (8047a60 ) 8047a52: 220d movs r2, #13 8047a54: 701a strb r2, [r3, #0] 8047a56: e0b7 b.n 8047bc8 case VibMax_IES: menupos = VibMax_IED; break; 8047a58: 4b01 ldr r3, [pc, #4] ; (8047a60 ) 8047a5a: 220e movs r2, #14 8047a5c: 701a strb r2, [r3, #0] 8047a5e: e0b3 b.n 8047bc8 8047a60: 20020070 .word 0x20020070 8047a64: 20020f84 .word 0x20020f84 8047a68: 20023e60 .word 0x20023e60 case VibMax_IED: menupos = VibMax_IEE; break; 8047a6c: 4bbb ldr r3, [pc, #748] ; (8047d5c ) 8047a6e: 220f movs r2, #15 8047a70: 701a strb r2, [r3, #0] 8047a72: e0a9 b.n 8047bc8 case VibMax_IEE: menupos = VibMax_IKD; break; 8047a74: 4bb9 ldr r3, [pc, #740] ; (8047d5c ) 8047a76: 2210 movs r2, #16 8047a78: 701a strb r2, [r3, #0] 8047a7a: e0a5 b.n 8047bc8 case VibMax_IKD: menupos = VibMax_IDT; break; 8047a7c: 4bb7 ldr r3, [pc, #732] ; (8047d5c ) 8047a7e: 220b movs r2, #11 8047a80: 701a strb r2, [r3, #0] 8047a82: e0a1 b.n 8047bc8 case FilterHP_IDT: menupos = FilterHP_IET; break; 8047a84: 4bb5 ldr r3, [pc, #724] ; (8047d5c ) 8047a86: 221a movs r2, #26 8047a88: 701a strb r2, [r3, #0] 8047a8a: e09d b.n 8047bc8 case FilterHP_IET: menupos = FilterHP_IES; break; 8047a8c: 4bb3 ldr r3, [pc, #716] ; (8047d5c ) 8047a8e: 221b movs r2, #27 8047a90: 701a strb r2, [r3, #0] 8047a92: e099 b.n 8047bc8 case FilterHP_IES: menupos = FilterHP_IED; break; 8047a94: 4bb1 ldr r3, [pc, #708] ; (8047d5c ) 8047a96: 221c movs r2, #28 8047a98: 701a strb r2, [r3, #0] 8047a9a: e095 b.n 8047bc8 case FilterHP_IED: menupos = FilterHP_IEE; break; 8047a9c: 4baf ldr r3, [pc, #700] ; (8047d5c ) 8047a9e: 221d movs r2, #29 8047aa0: 701a strb r2, [r3, #0] 8047aa2: e091 b.n 8047bc8 case FilterHP_IEE: menupos = FilterHP_IKD; break; 8047aa4: 4bad ldr r3, [pc, #692] ; (8047d5c ) 8047aa6: 221e movs r2, #30 8047aa8: 701a strb r2, [r3, #0] 8047aaa: e08d b.n 8047bc8 case FilterHP_IKD: menupos = FilterHP_IDT; break; 8047aac: 4bab ldr r3, [pc, #684] ; (8047d5c ) 8047aae: 2219 movs r2, #25 8047ab0: 701a strb r2, [r3, #0] 8047ab2: e089 b.n 8047bc8 case FilterLP_IDT: menupos = FilterLP_IET; break; 8047ab4: 4ba9 ldr r3, [pc, #676] ; (8047d5c ) 8047ab6: 2220 movs r2, #32 8047ab8: 701a strb r2, [r3, #0] 8047aba: e085 b.n 8047bc8 case FilterLP_IET: menupos = FilterLP_IES; break; 8047abc: 4ba7 ldr r3, [pc, #668] ; (8047d5c ) 8047abe: 2221 movs r2, #33 ; 0x21 8047ac0: 701a strb r2, [r3, #0] 8047ac2: e081 b.n 8047bc8 case FilterLP_IES: menupos = FilterLP_IED; break; 8047ac4: 4ba5 ldr r3, [pc, #660] ; (8047d5c ) 8047ac6: 2222 movs r2, #34 ; 0x22 8047ac8: 701a strb r2, [r3, #0] 8047aca: e07d b.n 8047bc8 case FilterLP_IED: menupos = FilterLP_IEE; break; 8047acc: 4ba3 ldr r3, [pc, #652] ; (8047d5c ) 8047ace: 2223 movs r2, #35 ; 0x23 8047ad0: 701a strb r2, [r3, #0] 8047ad2: e079 b.n 8047bc8 case FilterLP_IEE: menupos = FilterLP_IKD; break; 8047ad4: 4ba1 ldr r3, [pc, #644] ; (8047d5c ) 8047ad6: 2224 movs r2, #36 ; 0x24 8047ad8: 701a strb r2, [r3, #0] 8047ada: e075 b.n 8047bc8 case FilterLP_IKD: menupos = FilterLP_IDT; break; 8047adc: 4b9f ldr r3, [pc, #636] ; (8047d5c ) 8047ade: 221f movs r2, #31 8047ae0: 701a strb r2, [r3, #0] 8047ae2: e071 b.n 8047bc8 case ValueA: if(focused) 8047ae4: 4b9e ldr r3, [pc, #632] ; (8047d60 ) 8047ae6: 781b ldrb r3, [r3, #0] 8047ae8: b2db uxtb r3, r3 8047aea: 2b00 cmp r3, #0 8047aec: d010 beq.n 8047b10 { if(pardata.IVS[ACC] < EXCESS) pardata.IVS[ACC]++; 8047aee: 4b9d ldr r3, [pc, #628] ; (8047d64 ) 8047af0: 789b ldrb r3, [r3, #2] 8047af2: b2db uxtb r3, r3 8047af4: 2b03 cmp r3, #3 8047af6: d807 bhi.n 8047b08 8047af8: 4b9a ldr r3, [pc, #616] ; (8047d64 ) 8047afa: 789b ldrb r3, [r3, #2] 8047afc: b2db uxtb r3, r3 8047afe: 3301 adds r3, #1 8047b00: b2da uxtb r2, r3 8047b02: 4b98 ldr r3, [pc, #608] ; (8047d64 ) 8047b04: 709a strb r2, [r3, #2] else pardata.IVS[ACC] = PEAK; } else menupos = Ok; break; 8047b06: e05f b.n 8047bc8 else pardata.IVS[ACC] = PEAK; 8047b08: 4b96 ldr r3, [pc, #600] ; (8047d64 ) 8047b0a: 2200 movs r2, #0 8047b0c: 709a strb r2, [r3, #2] break; 8047b0e: e05b b.n 8047bc8 menupos = Ok; 8047b10: 4b92 ldr r3, [pc, #584] ; (8047d5c ) 8047b12: 2200 movs r2, #0 8047b14: 701a strb r2, [r3, #0] break; 8047b16: e057 b.n 8047bc8 case ValueV: if(focused) 8047b18: 4b91 ldr r3, [pc, #580] ; (8047d60 ) 8047b1a: 781b ldrb r3, [r3, #0] 8047b1c: b2db uxtb r3, r3 8047b1e: 2b00 cmp r3, #0 8047b20: d010 beq.n 8047b44 { if(pardata.IVS[VEL] < EXCESS) pardata.IVS[VEL]++; 8047b22: 4b90 ldr r3, [pc, #576] ; (8047d64 ) 8047b24: 78db ldrb r3, [r3, #3] 8047b26: b2db uxtb r3, r3 8047b28: 2b03 cmp r3, #3 8047b2a: d807 bhi.n 8047b3c 8047b2c: 4b8d ldr r3, [pc, #564] ; (8047d64 ) 8047b2e: 78db ldrb r3, [r3, #3] 8047b30: b2db uxtb r3, r3 8047b32: 3301 adds r3, #1 8047b34: b2da uxtb r2, r3 8047b36: 4b8b ldr r3, [pc, #556] ; (8047d64 ) 8047b38: 70da strb r2, [r3, #3] else pardata.IVS[VEL] = PEAK; } else menupos = Ok; break; 8047b3a: e045 b.n 8047bc8 else pardata.IVS[VEL] = PEAK; 8047b3c: 4b89 ldr r3, [pc, #548] ; (8047d64 ) 8047b3e: 2200 movs r2, #0 8047b40: 70da strb r2, [r3, #3] break; 8047b42: e041 b.n 8047bc8 menupos = Ok; 8047b44: 4b85 ldr r3, [pc, #532] ; (8047d5c ) 8047b46: 2200 movs r2, #0 8047b48: 701a strb r2, [r3, #0] break; 8047b4a: e03d b.n 8047bc8 case ValueS: if(focused) 8047b4c: 4b84 ldr r3, [pc, #528] ; (8047d60 ) 8047b4e: 781b ldrb r3, [r3, #0] 8047b50: b2db uxtb r3, r3 8047b52: 2b00 cmp r3, #0 8047b54: d010 beq.n 8047b78 { if(pardata.IVS[DIS] < EXCESS) pardata.IVS[DIS]++; 8047b56: 4b83 ldr r3, [pc, #524] ; (8047d64 ) 8047b58: 791b ldrb r3, [r3, #4] 8047b5a: b2db uxtb r3, r3 8047b5c: 2b03 cmp r3, #3 8047b5e: d807 bhi.n 8047b70 8047b60: 4b80 ldr r3, [pc, #512] ; (8047d64 ) 8047b62: 791b ldrb r3, [r3, #4] 8047b64: b2db uxtb r3, r3 8047b66: 3301 adds r3, #1 8047b68: b2da uxtb r2, r3 8047b6a: 4b7e ldr r3, [pc, #504] ; (8047d64 ) 8047b6c: 711a strb r2, [r3, #4] else pardata.IVS[DIS] = PEAK; } else menupos = Ok; break; 8047b6e: e02b b.n 8047bc8 else pardata.IVS[DIS] = PEAK; 8047b70: 4b7c ldr r3, [pc, #496] ; (8047d64 ) 8047b72: 2200 movs r2, #0 8047b74: 711a strb r2, [r3, #4] break; 8047b76: e027 b.n 8047bc8 menupos = Ok; 8047b78: 4b78 ldr r3, [pc, #480] ; (8047d5c ) 8047b7a: 2200 movs r2, #0 8047b7c: 701a strb r2, [r3, #0] break; 8047b7e: e023 b.n 8047bc8 case SaveToFile: memset(MeasFileName, 0, sizeof(MeasFileName)); 8047b80: 2221 movs r2, #33 ; 0x21 8047b82: 2100 movs r1, #0 8047b84: 4878 ldr r0, [pc, #480] ; (8047d68 ) 8047b86: f085 fa7b bl 80cd080 break; 8047b8a: e01d b.n 8047bc8 case Average: if(focused) 8047b8c: 4b74 ldr r3, [pc, #464] ; (8047d60 ) 8047b8e: 781b ldrb r3, [r3, #0] 8047b90: b2db uxtb r3, r3 8047b92: 2b00 cmp r3, #0 8047b94: d010 beq.n 8047bb8 { if(pardata.AVG < AVG512) pardata.AVG++; 8047b96: 4b73 ldr r3, [pc, #460] ; (8047d64 ) 8047b98: 7b5b ldrb r3, [r3, #13] 8047b9a: b2db uxtb r3, r3 8047b9c: 2b08 cmp r3, #8 8047b9e: d807 bhi.n 8047bb0 8047ba0: 4b70 ldr r3, [pc, #448] ; (8047d64 ) 8047ba2: 7b5b ldrb r3, [r3, #13] 8047ba4: b2db uxtb r3, r3 8047ba6: 3301 adds r3, #1 8047ba8: b2da uxtb r2, r3 8047baa: 4b6e ldr r3, [pc, #440] ; (8047d64 ) 8047bac: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } else menupos = Ok; break; 8047bae: e00b b.n 8047bc8 else pardata.AVG = AVG1; 8047bb0: 4b6c ldr r3, [pc, #432] ; (8047d64 ) 8047bb2: 2200 movs r2, #0 8047bb4: 735a strb r2, [r3, #13] break; 8047bb6: e007 b.n 8047bc8 menupos = Ok; 8047bb8: 4b68 ldr r3, [pc, #416] ; (8047d5c ) 8047bba: 2200 movs r2, #0 8047bbc: 701a strb r2, [r3, #0] break; 8047bbe: e003 b.n 8047bc8 case FilterLP: case ViewFreq: case VibAutoKu: case Mediana: case VibMax_ALL: menupos = Ok; 8047bc0: 4b66 ldr r3, [pc, #408] ; (8047d5c ) 8047bc2: 2200 movs r2, #0 8047bc4: 701a strb r2, [r3, #0] break; 8047bc6: bf00 nop } break; 8047bc8: f001 b978 b.w 8048ebc case PARAM_SPEC: switch(menupos) 8047bcc: 4b63 ldr r3, [pc, #396] ; (8047d5c ) 8047bce: 781b ldrb r3, [r3, #0] 8047bd0: b2db uxtb r3, r3 8047bd2: 3b01 subs r3, #1 8047bd4: 2b23 cmp r3, #35 ; 0x23 8047bd6: f201 8174 bhi.w 8048ec2 8047bda: a201 add r2, pc, #4 ; (adr r2, 8047be0 ) 8047bdc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8047be0: 08047c7b .word 0x08047c7b 8047be4: 080481e1 .word 0x080481e1 8047be8: 08048ec3 .word 0x08048ec3 8047bec: 08048503 .word 0x08048503 8047bf0: 0804856b .word 0x0804856b 8047bf4: 08048537 .word 0x08048537 8047bf8: 08048597 .word 0x08048597 8047bfc: 08047c71 .word 0x08047c71 8047c00: 08047c71 .word 0x08047c71 8047c04: 08048ec3 .word 0x08048ec3 8047c08: 08048151 .word 0x08048151 8047c0c: 08048159 .word 0x08048159 8047c10: 08048161 .word 0x08048161 8047c14: 08048169 .word 0x08048169 8047c18: 08048171 .word 0x08048171 8047c1c: 08048179 .word 0x08048179 8047c20: 08048ec3 .word 0x08048ec3 8047c24: 08048ec3 .word 0x08048ec3 8047c28: 08048ec3 .word 0x08048ec3 8047c2c: 08048ec3 .word 0x08048ec3 8047c30: 08048ec3 .word 0x08048ec3 8047c34: 08048ec3 .word 0x08048ec3 8047c38: 08047c71 .word 0x08047c71 8047c3c: 08047c71 .word 0x08047c71 8047c40: 08048181 .word 0x08048181 8047c44: 08048189 .word 0x08048189 8047c48: 08048191 .word 0x08048191 8047c4c: 08048199 .word 0x08048199 8047c50: 080481a1 .word 0x080481a1 8047c54: 080481a9 .word 0x080481a9 8047c58: 080481b1 .word 0x080481b1 8047c5c: 080481b9 .word 0x080481b9 8047c60: 080481c1 .word 0x080481c1 8047c64: 080481c9 .word 0x080481c9 8047c68: 080481d1 .word 0x080481d1 8047c6c: 080481d9 .word 0x080481d9 { case VibMax_ALL: case VibAutoKu: case FilterHP: case FilterLP: menupos = Ok; 8047c70: 4b3a ldr r3, [pc, #232] ; (8047d5c ) 8047c72: 2200 movs r2, #0 8047c74: 701a strb r2, [r3, #0] break; 8047c76: f000 bca9 b.w 80485cc case SpecType: if(focused) 8047c7a: 4b39 ldr r3, [pc, #228] ; (8047d60 ) 8047c7c: 781b ldrb r3, [r3, #0] 8047c7e: b2db uxtb r3, r3 8047c80: 2b00 cmp r3, #0 8047c82: f000 8260 beq.w 8048146 { if((pardata.OPTIONS & maskFFT) == fft) 8047c86: 4b37 ldr r3, [pc, #220] ; (8047d64 ) 8047c88: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047c8c: f003 0330 and.w r3, r3, #48 ; 0x30 8047c90: 2b00 cmp r3, #0 8047c92: f040 8086 bne.w 8047da2 { pardata.OPTIONS &= ~maskFFT; 8047c96: 4b33 ldr r3, [pc, #204] ; (8047d64 ) 8047c98: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047c9c: f023 0330 bic.w r3, r3, #48 ; 0x30 8047ca0: 4a30 ldr r2, [pc, #192] ; (8047d64 ) 8047ca2: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= env; 8047ca6: 4b2f ldr r3, [pc, #188] ; (8047d64 ) 8047ca8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047cac: f043 0310 orr.w r3, r3, #16 8047cb0: 4a2c ldr r2, [pc, #176] ; (8047d64 ) 8047cb2: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8047cb6: 4b2b ldr r3, [pc, #172] ; (8047d64 ) 8047cb8: 785b ldrb r3, [r3, #1] 8047cba: b2db uxtb r3, r3 8047cbc: 461a mov r2, r3 8047cbe: 4b29 ldr r3, [pc, #164] ; (8047d64 ) 8047cc0: 4413 add r3, r2 8047cc2: 789b ldrb r3, [r3, #2] 8047cc4: b2db uxtb r3, r3 8047cc6: 2b01 cmp r3, #1 8047cc8: d907 bls.n 8047cda pardata.IVS[pardata.IPR] = PEAK; 8047cca: 4b26 ldr r3, [pc, #152] ; (8047d64 ) 8047ccc: 785b ldrb r3, [r3, #1] 8047cce: b2db uxtb r3, r3 8047cd0: 461a mov r2, r3 8047cd2: 4b24 ldr r3, [pc, #144] ; (8047d64 ) 8047cd4: 4413 add r3, r2 8047cd6: 2200 movs r2, #0 8047cd8: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8047cda: 4b22 ldr r3, [pc, #136] ; (8047d64 ) 8047cdc: 785b ldrb r3, [r3, #1] 8047cde: b2db uxtb r3, r3 8047ce0: 2b00 cmp r3, #0 8047ce2: d00e beq.n 8047d02 8047ce4: 4b1f ldr r3, [pc, #124] ; (8047d64 ) 8047ce6: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8047cea: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8047cee: eef4 7ac7 vcmpe.f32 s15, s14 8047cf2: eef1 fa10 vmrs APSR_nzcv, fpscr 8047cf6: d504 bpl.n 8047d02 pardata.HP = 2.0f; 8047cf8: 4b1a ldr r3, [pc, #104] ; (8047d64 ) 8047cfa: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8047cfe: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 8047d02: 2309 movs r3, #9 8047d04: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8047d08: e045 b.n 8047d96 { f = (float32_t) FS[k] / pardata.LP; 8047d0a: 4a18 ldr r2, [pc, #96] ; (8047d6c ) 8047d0c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047d10: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8047d14: ee07 3a90 vmov s15, r3 8047d18: eef8 6a67 vcvt.f32.u32 s13, s15 8047d1c: 4b11 ldr r3, [pc, #68] ; (8047d64 ) 8047d1e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8047d22: eec6 7a87 vdiv.f32 s15, s13, s14 8047d26: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8047d2a: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8047d2e: ed9f 7a10 vldr s14, [pc, #64] ; 8047d70 8047d32: ee77 7a87 vadd.f32 s15, s15, s14 8047d36: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8047d3a: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8047d3e: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8047d42: eef4 7ac7 vcmpe.f32 s15, s14 8047d46: eef1 fa10 vmrs APSR_nzcv, fpscr 8047d4a: d513 bpl.n 8047d74 { pardata.FRQ = k + 1; 8047d4c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047d50: b2db uxtb r3, r3 8047d52: 3301 adds r3, #1 8047d54: b2da uxtb r2, r3 8047d56: 4b03 ldr r3, [pc, #12] ; (8047d64 ) 8047d58: 72da strb r2, [r3, #11] break; 8047d5a: e1f8 b.n 804814e 8047d5c: 20020070 .word 0x20020070 8047d60: 20020f84 .word 0x20020f84 8047d64: 20023e60 .word 0x20023e60 8047d68: 20020e58 .word 0x20020e58 8047d6c: 080ee8c8 .word 0x080ee8c8 8047d70: 38d1b717 .word 0x38d1b717 } else { if(k > 0) 8047d74: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047d78: 2b00 cmp r3, #0 8047d7a: d004 beq.n 8047d86 k--; 8047d7c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047d80: 3b01 subs r3, #1 8047d82: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8047d86: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047d8a: 2b00 cmp r3, #0 8047d8c: d103 bne.n 8047d96 { pardata.FRQ = _125Hz; 8047d8e: 4ba9 ldr r3, [pc, #676] ; (8048034 ) 8047d90: 2200 movs r2, #0 8047d92: 72da strb r2, [r3, #11] break; 8047d94: e1db b.n 804814e while(k > _125Hz) 8047d96: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8047d9a: 2b00 cmp r3, #0 8047d9c: d1b5 bne.n 8047d0a } } } else menupos = Ok; break; 8047d9e: f000 bc14 b.w 80485ca if((pardata.OPTIONS & maskFFT) == env) 8047da2: 4ba4 ldr r3, [pc, #656] ; (8048034 ) 8047da4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047da8: f003 0330 and.w r3, r3, #48 ; 0x30 8047dac: 2b10 cmp r3, #16 8047dae: f040 80a0 bne.w 8047ef2 pardata.OPTIONS &= ~maskFFT; 8047db2: 4ba0 ldr r3, [pc, #640] ; (8048034 ) 8047db4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047db8: f023 0330 bic.w r3, r3, #48 ; 0x30 8047dbc: 4a9d ldr r2, [pc, #628] ; (8048034 ) 8047dbe: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= okt; 8047dc2: 4b9c ldr r3, [pc, #624] ; (8048034 ) 8047dc4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047dc8: f043 0320 orr.w r3, r3, #32 8047dcc: 4a99 ldr r2, [pc, #612] ; (8048034 ) 8047dce: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8047dd2: 4b98 ldr r3, [pc, #608] ; (8048034 ) 8047dd4: 785b ldrb r3, [r3, #1] 8047dd6: b2db uxtb r3, r3 8047dd8: 461a mov r2, r3 8047dda: 4b96 ldr r3, [pc, #600] ; (8048034 ) 8047ddc: 4413 add r3, r2 8047dde: 789b ldrb r3, [r3, #2] 8047de0: b2db uxtb r3, r3 8047de2: 2b01 cmp r3, #1 8047de4: d907 bls.n 8047df6 pardata.IVS[pardata.IPR] = PEAK; 8047de6: 4b93 ldr r3, [pc, #588] ; (8048034 ) 8047de8: 785b ldrb r3, [r3, #1] 8047dea: b2db uxtb r3, r3 8047dec: 461a mov r2, r3 8047dee: 4b91 ldr r3, [pc, #580] ; (8048034 ) 8047df0: 4413 add r3, r2 8047df2: 2200 movs r2, #0 8047df4: 709a strb r2, [r3, #2] pardata.LNE = N3200; 8047df6: 4b8f ldr r3, [pc, #572] ; (8048034 ) 8047df8: 2203 movs r2, #3 8047dfa: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8047dfc: 4b8d ldr r3, [pc, #564] ; (8048034 ) 8047dfe: 2209 movs r2, #9 8047e00: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8047e02: 4b8c ldr r3, [pc, #560] ; (8048034 ) 8047e04: 785b ldrb r3, [r3, #1] 8047e06: b2db uxtb r3, r3 8047e08: 2b00 cmp r3, #0 8047e0a: d00e beq.n 8047e2a 8047e0c: 4b89 ldr r3, [pc, #548] ; (8048034 ) 8047e0e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8047e12: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8047e16: eef4 7ac7 vcmpe.f32 s15, s14 8047e1a: eef1 fa10 vmrs APSR_nzcv, fpscr 8047e1e: d504 bpl.n 8047e2a pardata.HP = 2.0f; 8047e20: 4b84 ldr r3, [pc, #528] ; (8048034 ) 8047e22: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8047e26: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8047e2a: 4b82 ldr r3, [pc, #520] ; (8048034 ) 8047e2c: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8047e30: 4b80 ldr r3, [pc, #512] ; (8048034 ) 8047e32: 7adb ldrb r3, [r3, #11] 8047e34: b2db uxtb r3, r3 8047e36: 461a mov r2, r3 8047e38: 4b7f ldr r3, [pc, #508] ; (8048038 ) 8047e3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047e3e: ee07 3a90 vmov s15, r3 8047e42: eef8 6a67 vcvt.f32.u32 s13, s15 8047e46: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8047e4a: eec6 7a86 vdiv.f32 s15, s13, s12 8047e4e: eddf 6a7b vldr s13, [pc, #492] ; 804803c 8047e52: ee77 7aa6 vadd.f32 s15, s15, s13 8047e56: eeb4 7ae7 vcmpe.f32 s14, s15 8047e5a: eef1 fa10 vmrs APSR_nzcv, fpscr 8047e5e: dd15 ble.n 8047e8c pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8047e60: 4b74 ldr r3, [pc, #464] ; (8048034 ) 8047e62: 7adb ldrb r3, [r3, #11] 8047e64: b2db uxtb r3, r3 8047e66: 461a mov r2, r3 8047e68: 4b73 ldr r3, [pc, #460] ; (8048038 ) 8047e6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047e6e: 4a74 ldr r2, [pc, #464] ; (8048040 ) 8047e70: fba2 2303 umull r2, r3, r2, r3 8047e74: 089b lsrs r3, r3, #2 8047e76: ee07 3a90 vmov s15, r3 8047e7a: eef8 7a67 vcvt.f32.u32 s15, s15 8047e7e: ed9f 7a71 vldr s14, [pc, #452] ; 8048044 8047e82: ee77 7a87 vadd.f32 s15, s15, s14 8047e86: 4b6b ldr r3, [pc, #428] ; (8048034 ) 8047e88: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8047e8c: 4b69 ldr r3, [pc, #420] ; (8048034 ) 8047e8e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8047e92: 4b68 ldr r3, [pc, #416] ; (8048034 ) 8047e94: 7adb ldrb r3, [r3, #11] 8047e96: b2db uxtb r3, r3 8047e98: 461a mov r2, r3 8047e9a: 4b67 ldr r3, [pc, #412] ; (8048038 ) 8047e9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047ea0: ee07 3a90 vmov s15, r3 8047ea4: eef8 6a67 vcvt.f32.u32 s13, s15 8047ea8: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8047eac: eec6 7a86 vdiv.f32 s15, s13, s12 8047eb0: eddf 6a62 vldr s13, [pc, #392] ; 804803c 8047eb4: ee77 7aa6 vadd.f32 s15, s15, s13 8047eb8: eeb4 7ae7 vcmpe.f32 s14, s15 8047ebc: eef1 fa10 vmrs APSR_nzcv, fpscr 8047ec0: dc00 bgt.n 8047ec4 break; 8047ec2: e382 b.n 80485ca pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8047ec4: 4b5b ldr r3, [pc, #364] ; (8048034 ) 8047ec6: 7adb ldrb r3, [r3, #11] 8047ec8: b2db uxtb r3, r3 8047eca: 461a mov r2, r3 8047ecc: 4b5a ldr r3, [pc, #360] ; (8048038 ) 8047ece: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047ed2: 4a5b ldr r2, [pc, #364] ; (8048040 ) 8047ed4: fba2 2303 umull r2, r3, r2, r3 8047ed8: 089b lsrs r3, r3, #2 8047eda: ee07 3a90 vmov s15, r3 8047ede: eef8 7a67 vcvt.f32.u32 s15, s15 8047ee2: ed9f 7a58 vldr s14, [pc, #352] ; 8048044 8047ee6: ee77 7a87 vadd.f32 s15, s15, s14 8047eea: 4b52 ldr r3, [pc, #328] ; (8048034 ) 8047eec: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8047ef0: e36b b.n 80485ca if((pardata.OPTIONS & maskFFT) == okt) 8047ef2: 4b50 ldr r3, [pc, #320] ; (8048034 ) 8047ef4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047ef8: f003 0330 and.w r3, r3, #48 ; 0x30 8047efc: 2b20 cmp r3, #32 8047efe: f040 80a3 bne.w 8048048 pardata.OPTIONS &= ~maskFFT; 8047f02: 4b4c ldr r3, [pc, #304] ; (8048034 ) 8047f04: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047f08: f023 0330 bic.w r3, r3, #48 ; 0x30 8047f0c: 4a49 ldr r2, [pc, #292] ; (8048034 ) 8047f0e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= third; 8047f12: 4b48 ldr r3, [pc, #288] ; (8048034 ) 8047f14: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8047f18: f043 0330 orr.w r3, r3, #48 ; 0x30 8047f1c: 4a45 ldr r2, [pc, #276] ; (8048034 ) 8047f1e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8047f22: 4b44 ldr r3, [pc, #272] ; (8048034 ) 8047f24: 785b ldrb r3, [r3, #1] 8047f26: b2db uxtb r3, r3 8047f28: 461a mov r2, r3 8047f2a: 4b42 ldr r3, [pc, #264] ; (8048034 ) 8047f2c: 4413 add r3, r2 8047f2e: 789b ldrb r3, [r3, #2] 8047f30: b2db uxtb r3, r3 8047f32: 2b01 cmp r3, #1 8047f34: d907 bls.n 8047f46 pardata.IVS[pardata.IPR] = PEAK; 8047f36: 4b3f ldr r3, [pc, #252] ; (8048034 ) 8047f38: 785b ldrb r3, [r3, #1] 8047f3a: b2db uxtb r3, r3 8047f3c: 461a mov r2, r3 8047f3e: 4b3d ldr r3, [pc, #244] ; (8048034 ) 8047f40: 4413 add r3, r2 8047f42: 2200 movs r2, #0 8047f44: 709a strb r2, [r3, #2] pardata.LNE = N3200; 8047f46: 4b3b ldr r3, [pc, #236] ; (8048034 ) 8047f48: 2203 movs r2, #3 8047f4a: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8047f4c: 4b39 ldr r3, [pc, #228] ; (8048034 ) 8047f4e: 2209 movs r2, #9 8047f50: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8047f52: 4b38 ldr r3, [pc, #224] ; (8048034 ) 8047f54: 785b ldrb r3, [r3, #1] 8047f56: b2db uxtb r3, r3 8047f58: 2b00 cmp r3, #0 8047f5a: d00e beq.n 8047f7a 8047f5c: 4b35 ldr r3, [pc, #212] ; (8048034 ) 8047f5e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8047f62: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8047f66: eef4 7ac7 vcmpe.f32 s15, s14 8047f6a: eef1 fa10 vmrs APSR_nzcv, fpscr 8047f6e: d504 bpl.n 8047f7a pardata.HP = 2.0f; 8047f70: 4b30 ldr r3, [pc, #192] ; (8048034 ) 8047f72: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8047f76: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8047f7a: 4b2e ldr r3, [pc, #184] ; (8048034 ) 8047f7c: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8047f80: 4b2c ldr r3, [pc, #176] ; (8048034 ) 8047f82: 7adb ldrb r3, [r3, #11] 8047f84: b2db uxtb r3, r3 8047f86: 461a mov r2, r3 8047f88: 4b2b ldr r3, [pc, #172] ; (8048038 ) 8047f8a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047f8e: ee07 3a90 vmov s15, r3 8047f92: eef8 6a67 vcvt.f32.u32 s13, s15 8047f96: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8047f9a: eec6 7a86 vdiv.f32 s15, s13, s12 8047f9e: eeb4 7ae7 vcmpe.f32 s14, s15 8047fa2: eef1 fa10 vmrs APSR_nzcv, fpscr 8047fa6: dd15 ble.n 8047fd4 pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8047fa8: 4b22 ldr r3, [pc, #136] ; (8048034 ) 8047faa: 7adb ldrb r3, [r3, #11] 8047fac: b2db uxtb r3, r3 8047fae: 461a mov r2, r3 8047fb0: 4b21 ldr r3, [pc, #132] ; (8048038 ) 8047fb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047fb6: ee07 3a90 vmov s15, r3 8047fba: eeb8 7a67 vcvt.f32.u32 s14, s15 8047fbe: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8047fc2: eec7 7a26 vdiv.f32 s15, s14, s13 8047fc6: ed9f 7a1f vldr s14, [pc, #124] ; 8048044 8047fca: ee77 7a87 vadd.f32 s15, s15, s14 8047fce: 4b19 ldr r3, [pc, #100] ; (8048034 ) 8047fd0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8047fd4: 4b17 ldr r3, [pc, #92] ; (8048034 ) 8047fd6: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8047fda: 4b16 ldr r3, [pc, #88] ; (8048034 ) 8047fdc: 7adb ldrb r3, [r3, #11] 8047fde: b2db uxtb r3, r3 8047fe0: 461a mov r2, r3 8047fe2: 4b15 ldr r3, [pc, #84] ; (8048038 ) 8047fe4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8047fe8: ee07 3a90 vmov s15, r3 8047fec: eef8 6a67 vcvt.f32.u32 s13, s15 8047ff0: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8047ff4: eec6 7a86 vdiv.f32 s15, s13, s12 8047ff8: eeb4 7ae7 vcmpe.f32 s14, s15 8047ffc: eef1 fa10 vmrs APSR_nzcv, fpscr 8048000: dc00 bgt.n 8048004 break; 8048002: e2e2 b.n 80485ca pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8048004: 4b0b ldr r3, [pc, #44] ; (8048034 ) 8048006: 7adb ldrb r3, [r3, #11] 8048008: b2db uxtb r3, r3 804800a: 461a mov r2, r3 804800c: 4b0a ldr r3, [pc, #40] ; (8048038 ) 804800e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048012: ee07 3a90 vmov s15, r3 8048016: eeb8 7a67 vcvt.f32.u32 s14, s15 804801a: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 804801e: eec7 7a26 vdiv.f32 s15, s14, s13 8048022: ed9f 7a08 vldr s14, [pc, #32] ; 8048044 8048026: ee77 7a87 vadd.f32 s15, s15, s14 804802a: 4b02 ldr r3, [pc, #8] ; (8048034 ) 804802c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8048030: e2cb b.n 80485ca 8048032: bf00 nop 8048034: 20023e60 .word 0x20023e60 8048038: 080ee8c8 .word 0x080ee8c8 804803c: 3851b717 .word 0x3851b717 8048040: cccccccd .word 0xcccccccd 8048044: 38d1b717 .word 0x38d1b717 if((pardata.OPTIONS & maskFFT) == third) 8048048: 4bac ldr r3, [pc, #688] ; (80482fc ) 804804a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804804e: f003 0330 and.w r3, r3, #48 ; 0x30 8048052: 2b30 cmp r3, #48 ; 0x30 8048054: f040 82b9 bne.w 80485ca pardata.OPTIONS &= ~maskFFT; 8048058: 4ba8 ldr r3, [pc, #672] ; (80482fc ) 804805a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804805e: f023 0330 bic.w r3, r3, #48 ; 0x30 8048062: 4aa6 ldr r2, [pc, #664] ; (80482fc ) 8048064: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS |= fft; 8048068: 4ba4 ldr r3, [pc, #656] ; (80482fc ) 804806a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804806e: 4aa3 ldr r2, [pc, #652] ; (80482fc ) 8048070: f8c2 3098 str.w r3, [r2, #152] ; 0x98 if(pardata.IVS[pardata.IPR] > RMS) 8048074: 4ba1 ldr r3, [pc, #644] ; (80482fc ) 8048076: 785b ldrb r3, [r3, #1] 8048078: b2db uxtb r3, r3 804807a: 461a mov r2, r3 804807c: 4b9f ldr r3, [pc, #636] ; (80482fc ) 804807e: 4413 add r3, r2 8048080: 789b ldrb r3, [r3, #2] 8048082: b2db uxtb r3, r3 8048084: 2b01 cmp r3, #1 8048086: d907 bls.n 8048098 pardata.IVS[pardata.IPR] = PEAK; 8048088: 4b9c ldr r3, [pc, #624] ; (80482fc ) 804808a: 785b ldrb r3, [r3, #1] 804808c: b2db uxtb r3, r3 804808e: 461a mov r2, r3 8048090: 4b9a ldr r3, [pc, #616] ; (80482fc ) 8048092: 4413 add r3, r2 8048094: 2200 movs r2, #0 8048096: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8048098: 4b98 ldr r3, [pc, #608] ; (80482fc ) 804809a: 785b ldrb r3, [r3, #1] 804809c: b2db uxtb r3, r3 804809e: 2b00 cmp r3, #0 80480a0: d00e beq.n 80480c0 80480a2: 4b96 ldr r3, [pc, #600] ; (80482fc ) 80480a4: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80480a8: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80480ac: eef4 7ac7 vcmpe.f32 s15, s14 80480b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80480b4: d504 bpl.n 80480c0 pardata.HP = 2.0f; 80480b6: 4b91 ldr r3, [pc, #580] ; (80482fc ) 80480b8: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80480bc: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 80480c0: 2309 movs r3, #9 80480c2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 80480c6: e039 b.n 804813c f = (float32_t) FS[k] / pardata.LP; 80480c8: 4a8d ldr r2, [pc, #564] ; (8048300 ) 80480ca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80480ce: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80480d2: ee07 3a90 vmov s15, r3 80480d6: eef8 6a67 vcvt.f32.u32 s13, s15 80480da: 4b88 ldr r3, [pc, #544] ; (80482fc ) 80480dc: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80480e0: eec6 7a87 vdiv.f32 s15, s13, s14 80480e4: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 80480e8: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80480ec: ed9f 7a85 vldr s14, [pc, #532] ; 8048304 80480f0: ee77 7a87 vadd.f32 s15, s15, s14 80480f4: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 80480f8: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80480fc: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8048100: eef4 7ac7 vcmpe.f32 s15, s14 8048104: eef1 fa10 vmrs APSR_nzcv, fpscr 8048108: d507 bpl.n 804811a pardata.FRQ = k + 1; 804810a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804810e: b2db uxtb r3, r3 8048110: 3301 adds r3, #1 8048112: b2da uxtb r2, r3 8048114: 4b79 ldr r3, [pc, #484] ; (80482fc ) 8048116: 72da strb r2, [r3, #11] break; 8048118: e019 b.n 804814e if(k > 0) 804811a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804811e: 2b00 cmp r3, #0 8048120: d004 beq.n 804812c k--; 8048122: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048126: 3b01 subs r3, #1 8048128: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 804812c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048130: 2b00 cmp r3, #0 8048132: d103 bne.n 804813c pardata.FRQ = _125Hz; 8048134: 4b71 ldr r3, [pc, #452] ; (80482fc ) 8048136: 2200 movs r2, #0 8048138: 72da strb r2, [r3, #11] break; 804813a: e008 b.n 804814e while(k > _125Hz) 804813c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8048140: 2b00 cmp r3, #0 8048142: d1c1 bne.n 80480c8 break; 8048144: e241 b.n 80485ca menupos = Ok; 8048146: 4b70 ldr r3, [pc, #448] ; (8048308 ) 8048148: 2200 movs r2, #0 804814a: 701a strb r2, [r3, #0] break; 804814c: e23d b.n 80485ca 804814e: e23c b.n 80485ca case VibMax_IDT: menupos = VibMax_IET; break; 8048150: 4b6d ldr r3, [pc, #436] ; (8048308 ) 8048152: 220c movs r2, #12 8048154: 701a strb r2, [r3, #0] 8048156: e239 b.n 80485cc case VibMax_IET: menupos = VibMax_IES; break; 8048158: 4b6b ldr r3, [pc, #428] ; (8048308 ) 804815a: 220d movs r2, #13 804815c: 701a strb r2, [r3, #0] 804815e: e235 b.n 80485cc case VibMax_IES: menupos = VibMax_IED; break; 8048160: 4b69 ldr r3, [pc, #420] ; (8048308 ) 8048162: 220e movs r2, #14 8048164: 701a strb r2, [r3, #0] 8048166: e231 b.n 80485cc case VibMax_IED: menupos = VibMax_IEE; break; 8048168: 4b67 ldr r3, [pc, #412] ; (8048308 ) 804816a: 220f movs r2, #15 804816c: 701a strb r2, [r3, #0] 804816e: e22d b.n 80485cc case VibMax_IEE: menupos = VibMax_IKD; break; 8048170: 4b65 ldr r3, [pc, #404] ; (8048308 ) 8048172: 2210 movs r2, #16 8048174: 701a strb r2, [r3, #0] 8048176: e229 b.n 80485cc case VibMax_IKD: menupos = VibMax_IDT; break; 8048178: 4b63 ldr r3, [pc, #396] ; (8048308 ) 804817a: 220b movs r2, #11 804817c: 701a strb r2, [r3, #0] 804817e: e225 b.n 80485cc case FilterHP_IDT: menupos = FilterHP_IET; break; 8048180: 4b61 ldr r3, [pc, #388] ; (8048308 ) 8048182: 221a movs r2, #26 8048184: 701a strb r2, [r3, #0] 8048186: e221 b.n 80485cc case FilterHP_IET: menupos = FilterHP_IES; break; 8048188: 4b5f ldr r3, [pc, #380] ; (8048308 ) 804818a: 221b movs r2, #27 804818c: 701a strb r2, [r3, #0] 804818e: e21d b.n 80485cc case FilterHP_IES: menupos = FilterHP_IED; break; 8048190: 4b5d ldr r3, [pc, #372] ; (8048308 ) 8048192: 221c movs r2, #28 8048194: 701a strb r2, [r3, #0] 8048196: e219 b.n 80485cc case FilterHP_IED: menupos = FilterHP_IEE; break; 8048198: 4b5b ldr r3, [pc, #364] ; (8048308 ) 804819a: 221d movs r2, #29 804819c: 701a strb r2, [r3, #0] 804819e: e215 b.n 80485cc case FilterHP_IEE: menupos = FilterHP_IKD; break; 80481a0: 4b59 ldr r3, [pc, #356] ; (8048308 ) 80481a2: 221e movs r2, #30 80481a4: 701a strb r2, [r3, #0] 80481a6: e211 b.n 80485cc case FilterHP_IKD: menupos = FilterHP_IDT; break; 80481a8: 4b57 ldr r3, [pc, #348] ; (8048308 ) 80481aa: 2219 movs r2, #25 80481ac: 701a strb r2, [r3, #0] 80481ae: e20d b.n 80485cc case FilterLP_IDT: menupos = FilterLP_IET; break; 80481b0: 4b55 ldr r3, [pc, #340] ; (8048308 ) 80481b2: 2220 movs r2, #32 80481b4: 701a strb r2, [r3, #0] 80481b6: e209 b.n 80485cc case FilterLP_IET: menupos = FilterLP_IES; break; 80481b8: 4b53 ldr r3, [pc, #332] ; (8048308 ) 80481ba: 2221 movs r2, #33 ; 0x21 80481bc: 701a strb r2, [r3, #0] 80481be: e205 b.n 80485cc case FilterLP_IES: menupos = FilterLP_IED; break; 80481c0: 4b51 ldr r3, [pc, #324] ; (8048308 ) 80481c2: 2222 movs r2, #34 ; 0x22 80481c4: 701a strb r2, [r3, #0] 80481c6: e201 b.n 80485cc case FilterLP_IED: menupos = FilterLP_IEE; break; 80481c8: 4b4f ldr r3, [pc, #316] ; (8048308 ) 80481ca: 2223 movs r2, #35 ; 0x23 80481cc: 701a strb r2, [r3, #0] 80481ce: e1fd b.n 80485cc case FilterLP_IEE: menupos = FilterLP_IKD; break; 80481d0: 4b4d ldr r3, [pc, #308] ; (8048308 ) 80481d2: 2224 movs r2, #36 ; 0x24 80481d4: 701a strb r2, [r3, #0] 80481d6: e1f9 b.n 80485cc case FilterLP_IKD: menupos = FilterLP_IDT; break; 80481d8: 4b4b ldr r3, [pc, #300] ; (8048308 ) 80481da: 221f movs r2, #31 80481dc: 701a strb r2, [r3, #0] 80481de: e1f5 b.n 80485cc case SpecValue: if(focused) 80481e0: 4b4a ldr r3, [pc, #296] ; (804830c ) 80481e2: 781b ldrb r3, [r3, #0] 80481e4: b2db uxtb r3, r3 80481e6: 2b00 cmp r3, #0 80481e8: f000 8187 beq.w 80484fa { if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == PEAK)) 80481ec: 4b43 ldr r3, [pc, #268] ; (80482fc ) 80481ee: 785b ldrb r3, [r3, #1] 80481f0: b2db uxtb r3, r3 80481f2: 2b00 cmp r3, #0 80481f4: d115 bne.n 8048222 80481f6: 4b41 ldr r3, [pc, #260] ; (80482fc ) 80481f8: 785b ldrb r3, [r3, #1] 80481fa: b2db uxtb r3, r3 80481fc: 461a mov r2, r3 80481fe: 4b3f ldr r3, [pc, #252] ; (80482fc ) 8048200: 4413 add r3, r2 8048202: 789b ldrb r3, [r3, #2] 8048204: b2db uxtb r3, r3 8048206: 2b00 cmp r3, #0 8048208: d10b bne.n 8048222 { pardata.IPR = ACC; 804820a: 4b3c ldr r3, [pc, #240] ; (80482fc ) 804820c: 2200 movs r2, #0 804820e: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 8048210: 4b3a ldr r3, [pc, #232] ; (80482fc ) 8048212: 785b ldrb r3, [r3, #1] 8048214: b2db uxtb r3, r3 8048216: 461a mov r2, r3 8048218: 4b38 ldr r3, [pc, #224] ; (80482fc ) 804821a: 4413 add r3, r2 804821c: 2201 movs r2, #1 804821e: 709a strb r2, [r3, #2] 8048220: e090 b.n 8048344 } else if((pardata.IPR == ACC) && (pardata.IVS[pardata.IPR] == RMS)) 8048222: 4b36 ldr r3, [pc, #216] ; (80482fc ) 8048224: 785b ldrb r3, [r3, #1] 8048226: b2db uxtb r3, r3 8048228: 2b00 cmp r3, #0 804822a: d115 bne.n 8048258 804822c: 4b33 ldr r3, [pc, #204] ; (80482fc ) 804822e: 785b ldrb r3, [r3, #1] 8048230: b2db uxtb r3, r3 8048232: 461a mov r2, r3 8048234: 4b31 ldr r3, [pc, #196] ; (80482fc ) 8048236: 4413 add r3, r2 8048238: 789b ldrb r3, [r3, #2] 804823a: b2db uxtb r3, r3 804823c: 2b01 cmp r3, #1 804823e: d10b bne.n 8048258 { pardata.IPR = VEL; 8048240: 4b2e ldr r3, [pc, #184] ; (80482fc ) 8048242: 2201 movs r2, #1 8048244: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 8048246: 4b2d ldr r3, [pc, #180] ; (80482fc ) 8048248: 785b ldrb r3, [r3, #1] 804824a: b2db uxtb r3, r3 804824c: 461a mov r2, r3 804824e: 4b2b ldr r3, [pc, #172] ; (80482fc ) 8048250: 4413 add r3, r2 8048252: 2200 movs r2, #0 8048254: 709a strb r2, [r3, #2] 8048256: e075 b.n 8048344 } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == PEAK)) 8048258: 4b28 ldr r3, [pc, #160] ; (80482fc ) 804825a: 785b ldrb r3, [r3, #1] 804825c: b2db uxtb r3, r3 804825e: 2b01 cmp r3, #1 8048260: d115 bne.n 804828e 8048262: 4b26 ldr r3, [pc, #152] ; (80482fc ) 8048264: 785b ldrb r3, [r3, #1] 8048266: b2db uxtb r3, r3 8048268: 461a mov r2, r3 804826a: 4b24 ldr r3, [pc, #144] ; (80482fc ) 804826c: 4413 add r3, r2 804826e: 789b ldrb r3, [r3, #2] 8048270: b2db uxtb r3, r3 8048272: 2b00 cmp r3, #0 8048274: d10b bne.n 804828e { pardata.IPR = VEL; 8048276: 4b21 ldr r3, [pc, #132] ; (80482fc ) 8048278: 2201 movs r2, #1 804827a: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 804827c: 4b1f ldr r3, [pc, #124] ; (80482fc ) 804827e: 785b ldrb r3, [r3, #1] 8048280: b2db uxtb r3, r3 8048282: 461a mov r2, r3 8048284: 4b1d ldr r3, [pc, #116] ; (80482fc ) 8048286: 4413 add r3, r2 8048288: 2201 movs r2, #1 804828a: 709a strb r2, [r3, #2] 804828c: e05a b.n 8048344 } else if((pardata.IPR == VEL) && (pardata.IVS[pardata.IPR] == RMS)) 804828e: 4b1b ldr r3, [pc, #108] ; (80482fc ) 8048290: 785b ldrb r3, [r3, #1] 8048292: b2db uxtb r3, r3 8048294: 2b01 cmp r3, #1 8048296: d115 bne.n 80482c4 8048298: 4b18 ldr r3, [pc, #96] ; (80482fc ) 804829a: 785b ldrb r3, [r3, #1] 804829c: b2db uxtb r3, r3 804829e: 461a mov r2, r3 80482a0: 4b16 ldr r3, [pc, #88] ; (80482fc ) 80482a2: 4413 add r3, r2 80482a4: 789b ldrb r3, [r3, #2] 80482a6: b2db uxtb r3, r3 80482a8: 2b01 cmp r3, #1 80482aa: d10b bne.n 80482c4 { pardata.IPR = DIS; 80482ac: 4b13 ldr r3, [pc, #76] ; (80482fc ) 80482ae: 2202 movs r2, #2 80482b0: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 80482b2: 4b12 ldr r3, [pc, #72] ; (80482fc ) 80482b4: 785b ldrb r3, [r3, #1] 80482b6: b2db uxtb r3, r3 80482b8: 461a mov r2, r3 80482ba: 4b10 ldr r3, [pc, #64] ; (80482fc ) 80482bc: 4413 add r3, r2 80482be: 2200 movs r2, #0 80482c0: 709a strb r2, [r3, #2] 80482c2: e03f b.n 8048344 } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == PEAK)) 80482c4: 4b0d ldr r3, [pc, #52] ; (80482fc ) 80482c6: 785b ldrb r3, [r3, #1] 80482c8: b2db uxtb r3, r3 80482ca: 2b02 cmp r3, #2 80482cc: d120 bne.n 8048310 80482ce: 4b0b ldr r3, [pc, #44] ; (80482fc ) 80482d0: 785b ldrb r3, [r3, #1] 80482d2: b2db uxtb r3, r3 80482d4: 461a mov r2, r3 80482d6: 4b09 ldr r3, [pc, #36] ; (80482fc ) 80482d8: 4413 add r3, r2 80482da: 789b ldrb r3, [r3, #2] 80482dc: b2db uxtb r3, r3 80482de: 2b00 cmp r3, #0 80482e0: d116 bne.n 8048310 { pardata.IPR = DIS; 80482e2: 4b06 ldr r3, [pc, #24] ; (80482fc ) 80482e4: 2202 movs r2, #2 80482e6: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = RMS; 80482e8: 4b04 ldr r3, [pc, #16] ; (80482fc ) 80482ea: 785b ldrb r3, [r3, #1] 80482ec: b2db uxtb r3, r3 80482ee: 461a mov r2, r3 80482f0: 4b02 ldr r3, [pc, #8] ; (80482fc ) 80482f2: 4413 add r3, r2 80482f4: 2201 movs r2, #1 80482f6: 709a strb r2, [r3, #2] 80482f8: e024 b.n 8048344 80482fa: bf00 nop 80482fc: 20023e60 .word 0x20023e60 8048300: 080ee8c8 .word 0x080ee8c8 8048304: 38d1b717 .word 0x38d1b717 8048308: 20020070 .word 0x20020070 804830c: 20020f84 .word 0x20020f84 } else if((pardata.IPR == DIS) && (pardata.IVS[pardata.IPR] == RMS)) 8048310: 4baf ldr r3, [pc, #700] ; (80485d0 ) 8048312: 785b ldrb r3, [r3, #1] 8048314: b2db uxtb r3, r3 8048316: 2b02 cmp r3, #2 8048318: d114 bne.n 8048344 804831a: 4bad ldr r3, [pc, #692] ; (80485d0 ) 804831c: 785b ldrb r3, [r3, #1] 804831e: b2db uxtb r3, r3 8048320: 461a mov r2, r3 8048322: 4bab ldr r3, [pc, #684] ; (80485d0 ) 8048324: 4413 add r3, r2 8048326: 789b ldrb r3, [r3, #2] 8048328: b2db uxtb r3, r3 804832a: 2b01 cmp r3, #1 804832c: d10a bne.n 8048344 { pardata.IPR = ACC; 804832e: 4ba8 ldr r3, [pc, #672] ; (80485d0 ) 8048330: 2200 movs r2, #0 8048332: 705a strb r2, [r3, #1] pardata.IVS[pardata.IPR] = PEAK; 8048334: 4ba6 ldr r3, [pc, #664] ; (80485d0 ) 8048336: 785b ldrb r3, [r3, #1] 8048338: b2db uxtb r3, r3 804833a: 461a mov r2, r3 804833c: 4ba4 ldr r3, [pc, #656] ; (80485d0 ) 804833e: 4413 add r3, r2 8048340: 2200 movs r2, #0 8048342: 709a strb r2, [r3, #2] } if(pardata.IPR > ACC) 8048344: 4ba2 ldr r3, [pc, #648] ; (80485d0 ) 8048346: 785b ldrb r3, [r3, #1] 8048348: b2db uxtb r3, r3 804834a: 2b00 cmp r3, #0 804834c: d00e beq.n 804836c { if(pardata.HP < 2.0f) 804834e: 4ba0 ldr r3, [pc, #640] ; (80485d0 ) 8048350: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8048354: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8048358: eef4 7ac7 vcmpe.f32 s15, s14 804835c: eef1 fa10 vmrs APSR_nzcv, fpscr 8048360: d504 bpl.n 804836c pardata.HP = 2.0f; 8048362: 4b9b ldr r3, [pc, #620] ; (80485d0 ) 8048364: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8048368: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } if((pardata.OPTIONS & maskFFT) < third) 804836c: 4b98 ldr r3, [pc, #608] ; (80485d0 ) 804836e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8048372: f003 0330 and.w r3, r3, #48 ; 0x30 8048376: 2b2f cmp r3, #47 ; 0x2f 8048378: d863 bhi.n 8048442 { if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 804837a: 4b95 ldr r3, [pc, #596] ; (80485d0 ) 804837c: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8048380: 4b93 ldr r3, [pc, #588] ; (80485d0 ) 8048382: 7adb ldrb r3, [r3, #11] 8048384: b2db uxtb r3, r3 8048386: 461a mov r2, r3 8048388: 4b92 ldr r3, [pc, #584] ; (80485d4 ) 804838a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804838e: ee07 3a90 vmov s15, r3 8048392: eef8 6a67 vcvt.f32.u32 s13, s15 8048396: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 804839a: eec6 7a86 vdiv.f32 s15, s13, s12 804839e: eddf 6a8e vldr s13, [pc, #568] ; 80485d8 80483a2: ee77 7aa6 vadd.f32 s15, s15, s13 80483a6: eeb4 7ae7 vcmpe.f32 s14, s15 80483aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80483ae: dd15 ble.n 80483dc pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 80483b0: 4b87 ldr r3, [pc, #540] ; (80485d0 ) 80483b2: 7adb ldrb r3, [r3, #11] 80483b4: b2db uxtb r3, r3 80483b6: 461a mov r2, r3 80483b8: 4b86 ldr r3, [pc, #536] ; (80485d4 ) 80483ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80483be: 4a87 ldr r2, [pc, #540] ; (80485dc ) 80483c0: fba2 2303 umull r2, r3, r2, r3 80483c4: 089b lsrs r3, r3, #2 80483c6: ee07 3a90 vmov s15, r3 80483ca: eef8 7a67 vcvt.f32.u32 s15, s15 80483ce: ed9f 7a84 vldr s14, [pc, #528] ; 80485e0 80483d2: ee77 7a87 vadd.f32 s15, s15, s14 80483d6: 4b7e ldr r3, [pc, #504] ; (80485d0 ) 80483d8: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80483dc: 4b7c ldr r3, [pc, #496] ; (80485d0 ) 80483de: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80483e2: 4b7b ldr r3, [pc, #492] ; (80485d0 ) 80483e4: 7adb ldrb r3, [r3, #11] 80483e6: b2db uxtb r3, r3 80483e8: 461a mov r2, r3 80483ea: 4b7a ldr r3, [pc, #488] ; (80485d4 ) 80483ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80483f0: ee07 3a90 vmov s15, r3 80483f4: eef8 6a67 vcvt.f32.u32 s13, s15 80483f8: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 80483fc: eec6 7a86 vdiv.f32 s15, s13, s12 8048400: eddf 6a75 vldr s13, [pc, #468] ; 80485d8 8048404: ee77 7aa6 vadd.f32 s15, s15, s13 8048408: eeb4 7ae7 vcmpe.f32 s14, s15 804840c: eef1 fa10 vmrs APSR_nzcv, fpscr 8048410: dc00 bgt.n 8048414 pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; } } else menupos = Ok; break; 8048412: e0db b.n 80485cc pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8048414: 4b6e ldr r3, [pc, #440] ; (80485d0 ) 8048416: 7adb ldrb r3, [r3, #11] 8048418: b2db uxtb r3, r3 804841a: 461a mov r2, r3 804841c: 4b6d ldr r3, [pc, #436] ; (80485d4 ) 804841e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048422: 4a6e ldr r2, [pc, #440] ; (80485dc ) 8048424: fba2 2303 umull r2, r3, r2, r3 8048428: 089b lsrs r3, r3, #2 804842a: ee07 3a90 vmov s15, r3 804842e: eef8 7a67 vcvt.f32.u32 s15, s15 8048432: ed9f 7a6b vldr s14, [pc, #428] ; 80485e0 8048436: ee77 7a87 vadd.f32 s15, s15, s14 804843a: 4b65 ldr r3, [pc, #404] ; (80485d0 ) 804843c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8048440: e0c4 b.n 80485cc if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8048442: 4b63 ldr r3, [pc, #396] ; (80485d0 ) 8048444: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8048448: 4b61 ldr r3, [pc, #388] ; (80485d0 ) 804844a: 7adb ldrb r3, [r3, #11] 804844c: b2db uxtb r3, r3 804844e: 461a mov r2, r3 8048450: 4b60 ldr r3, [pc, #384] ; (80485d4 ) 8048452: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048456: ee07 3a90 vmov s15, r3 804845a: eef8 6a67 vcvt.f32.u32 s13, s15 804845e: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8048462: eec6 7a86 vdiv.f32 s15, s13, s12 8048466: eeb4 7ae7 vcmpe.f32 s14, s15 804846a: eef1 fa10 vmrs APSR_nzcv, fpscr 804846e: dd15 ble.n 804849c pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8048470: 4b57 ldr r3, [pc, #348] ; (80485d0 ) 8048472: 7adb ldrb r3, [r3, #11] 8048474: b2db uxtb r3, r3 8048476: 461a mov r2, r3 8048478: 4b56 ldr r3, [pc, #344] ; (80485d4 ) 804847a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804847e: ee07 3a90 vmov s15, r3 8048482: eeb8 7a67 vcvt.f32.u32 s14, s15 8048486: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 804848a: eec7 7a26 vdiv.f32 s15, s14, s13 804848e: ed9f 7a54 vldr s14, [pc, #336] ; 80485e0 8048492: ee77 7a87 vadd.f32 s15, s15, s14 8048496: 4b4e ldr r3, [pc, #312] ; (80485d0 ) 8048498: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 804849c: 4b4c ldr r3, [pc, #304] ; (80485d0 ) 804849e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 80484a2: 4b4b ldr r3, [pc, #300] ; (80485d0 ) 80484a4: 7adb ldrb r3, [r3, #11] 80484a6: b2db uxtb r3, r3 80484a8: 461a mov r2, r3 80484aa: 4b4a ldr r3, [pc, #296] ; (80485d4 ) 80484ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80484b0: ee07 3a90 vmov s15, r3 80484b4: eef8 6a67 vcvt.f32.u32 s13, s15 80484b8: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 80484bc: eec6 7a86 vdiv.f32 s15, s13, s12 80484c0: eeb4 7ae7 vcmpe.f32 s14, s15 80484c4: eef1 fa10 vmrs APSR_nzcv, fpscr 80484c8: dc00 bgt.n 80484cc break; 80484ca: e07f b.n 80485cc pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 80484cc: 4b40 ldr r3, [pc, #256] ; (80485d0 ) 80484ce: 7adb ldrb r3, [r3, #11] 80484d0: b2db uxtb r3, r3 80484d2: 461a mov r2, r3 80484d4: 4b3f ldr r3, [pc, #252] ; (80485d4 ) 80484d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80484da: ee07 3a90 vmov s15, r3 80484de: eeb8 7a67 vcvt.f32.u32 s14, s15 80484e2: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80484e6: eec7 7a26 vdiv.f32 s15, s14, s13 80484ea: ed9f 7a3d vldr s14, [pc, #244] ; 80485e0 80484ee: ee77 7a87 vadd.f32 s15, s15, s14 80484f2: 4b37 ldr r3, [pc, #220] ; (80485d0 ) 80484f4: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 80484f8: e068 b.n 80485cc menupos = Ok; 80484fa: 4b3a ldr r3, [pc, #232] ; (80485e4 ) 80484fc: 2200 movs r2, #0 80484fe: 701a strb r2, [r3, #0] break; 8048500: e064 b.n 80485cc case SpecLines: if(focused) 8048502: 4b39 ldr r3, [pc, #228] ; (80485e8 ) 8048504: 781b ldrb r3, [r3, #0] 8048506: b2db uxtb r3, r3 8048508: 2b00 cmp r3, #0 804850a: d010 beq.n 804852e { if(pardata.LNE > N400) pardata.LNE--; 804850c: 4b30 ldr r3, [pc, #192] ; (80485d0 ) 804850e: 79db ldrb r3, [r3, #7] 8048510: b2db uxtb r3, r3 8048512: 2b00 cmp r3, #0 8048514: d007 beq.n 8048526 8048516: 4b2e ldr r3, [pc, #184] ; (80485d0 ) 8048518: 79db ldrb r3, [r3, #7] 804851a: b2db uxtb r3, r3 804851c: 3b01 subs r3, #1 804851e: b2da uxtb r2, r3 8048520: 4b2b ldr r3, [pc, #172] ; (80485d0 ) 8048522: 71da strb r2, [r3, #7] else pardata.LNE = N3200; } else menupos = Ok; break; 8048524: e052 b.n 80485cc else pardata.LNE = N3200; 8048526: 4b2a ldr r3, [pc, #168] ; (80485d0 ) 8048528: 2203 movs r2, #3 804852a: 71da strb r2, [r3, #7] break; 804852c: e04e b.n 80485cc menupos = Ok; 804852e: 4b2d ldr r3, [pc, #180] ; (80485e4 ) 8048530: 2200 movs r2, #0 8048532: 701a strb r2, [r3, #0] break; 8048534: e04a b.n 80485cc case SpecWin: if(focused) 8048536: 4b2c ldr r3, [pc, #176] ; (80485e8 ) 8048538: 781b ldrb r3, [r3, #0] 804853a: b2db uxtb r3, r3 804853c: 2b00 cmp r3, #0 804853e: d010 beq.n 8048562 { if(pardata.WIN < HANN) pardata.WIN++; 8048540: 4b23 ldr r3, [pc, #140] ; (80485d0 ) 8048542: 7a5b ldrb r3, [r3, #9] 8048544: b2db uxtb r3, r3 8048546: 2b00 cmp r3, #0 8048548: d107 bne.n 804855a 804854a: 4b21 ldr r3, [pc, #132] ; (80485d0 ) 804854c: 7a5b ldrb r3, [r3, #9] 804854e: b2db uxtb r3, r3 8048550: 3301 adds r3, #1 8048552: b2da uxtb r2, r3 8048554: 4b1e ldr r3, [pc, #120] ; (80485d0 ) 8048556: 725a strb r2, [r3, #9] else pardata.WIN = RECT; } else menupos = Ok; break; 8048558: e038 b.n 80485cc else pardata.WIN = RECT; 804855a: 4b1d ldr r3, [pc, #116] ; (80485d0 ) 804855c: 2200 movs r2, #0 804855e: 725a strb r2, [r3, #9] break; 8048560: e034 b.n 80485cc menupos = Ok; 8048562: 4b20 ldr r3, [pc, #128] ; (80485e4 ) 8048564: 2200 movs r2, #0 8048566: 701a strb r2, [r3, #0] break; 8048568: e030 b.n 80485cc case LinLog: if(focused) 804856a: 4b1f ldr r3, [pc, #124] ; (80485e8 ) 804856c: 781b ldrb r3, [r3, #0] 804856e: b2db uxtb r3, r3 8048570: 2b00 cmp r3, #0 8048572: d00c beq.n 804858e { if(pardata.MSH == LOG) pardata.MSH = LIN; 8048574: 4b16 ldr r3, [pc, #88] ; (80485d0 ) 8048576: 7a9b ldrb r3, [r3, #10] 8048578: b2db uxtb r3, r3 804857a: 2b01 cmp r3, #1 804857c: d103 bne.n 8048586 804857e: 4b14 ldr r3, [pc, #80] ; (80485d0 ) 8048580: 2200 movs r2, #0 8048582: 729a strb r2, [r3, #10] else pardata.MSH = LOG; } else menupos = Ok; break; 8048584: e022 b.n 80485cc else pardata.MSH = LOG; 8048586: 4b12 ldr r3, [pc, #72] ; (80485d0 ) 8048588: 2201 movs r2, #1 804858a: 729a strb r2, [r3, #10] break; 804858c: e01e b.n 80485cc menupos = Ok; 804858e: 4b15 ldr r3, [pc, #84] ; (80485e4 ) 8048590: 2200 movs r2, #0 8048592: 701a strb r2, [r3, #0] break; 8048594: e01a b.n 80485cc case SAverage: if(focused) 8048596: 4b14 ldr r3, [pc, #80] ; (80485e8 ) 8048598: 781b ldrb r3, [r3, #0] 804859a: b2db uxtb r3, r3 804859c: 2b00 cmp r3, #0 804859e: d010 beq.n 80485c2 { if(pardata.AVG < AVG512) pardata.AVG++; 80485a0: 4b0b ldr r3, [pc, #44] ; (80485d0 ) 80485a2: 7b5b ldrb r3, [r3, #13] 80485a4: b2db uxtb r3, r3 80485a6: 2b08 cmp r3, #8 80485a8: d807 bhi.n 80485ba 80485aa: 4b09 ldr r3, [pc, #36] ; (80485d0 ) 80485ac: 7b5b ldrb r3, [r3, #13] 80485ae: b2db uxtb r3, r3 80485b0: 3301 adds r3, #1 80485b2: b2da uxtb r2, r3 80485b4: 4b06 ldr r3, [pc, #24] ; (80485d0 ) 80485b6: 735a strb r2, [r3, #13] else pardata.AVG = AVG1; } else menupos = Ok; break; 80485b8: e008 b.n 80485cc else pardata.AVG = AVG1; 80485ba: 4b05 ldr r3, [pc, #20] ; (80485d0 ) 80485bc: 2200 movs r2, #0 80485be: 735a strb r2, [r3, #13] break; 80485c0: e004 b.n 80485cc menupos = Ok; 80485c2: 4b08 ldr r3, [pc, #32] ; (80485e4 ) 80485c4: 2200 movs r2, #0 80485c6: 701a strb r2, [r3, #0] break; 80485c8: e000 b.n 80485cc break; 80485ca: bf00 nop } break; 80485cc: f000 bc79 b.w 8048ec2 80485d0: 20023e60 .word 0x20023e60 80485d4: 080ee8c8 .word 0x080ee8c8 80485d8: 3851b717 .word 0x3851b717 80485dc: cccccccd .word 0xcccccccd 80485e0: 38d1b717 .word 0x38d1b717 80485e4: 20020070 .word 0x20020070 80485e8: 20020f84 .word 0x20020f84 case PARAM_OSC: switch(menupos) 80485ec: 4bc4 ldr r3, [pc, #784] ; (8048900 ) 80485ee: 781b ldrb r3, [r3, #0] 80485f0: b2db uxtb r3, r3 80485f2: 3b01 subs r3, #1 80485f4: 2b23 cmp r3, #35 ; 0x23 80485f6: f200 8467 bhi.w 8048ec8 80485fa: a201 add r2, pc, #4 ; (adr r2, 8048600 ) 80485fc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048600: 08048691 .word 0x08048691 8048604: 08048ec9 .word 0x08048ec9 8048608: 080487eb .word 0x080487eb 804860c: 0804889b .word 0x0804889b 8048610: 080489b5 .word 0x080489b5 8048614: 080489b5 .word 0x080489b5 8048618: 080489b5 .word 0x080489b5 804861c: 080489b5 .word 0x080489b5 8048620: 08048955 .word 0x08048955 8048624: 0804895d .word 0x0804895d 8048628: 08048965 .word 0x08048965 804862c: 0804896d .word 0x0804896d 8048630: 08048975 .word 0x08048975 8048634: 0804897d .word 0x0804897d 8048638: 08048985 .word 0x08048985 804863c: 0804898d .word 0x0804898d 8048640: 08048995 .word 0x08048995 8048644: 0804899d .word 0x0804899d 8048648: 080489a5 .word 0x080489a5 804864c: 080489ad .word 0x080489ad 8048650: 08048ec9 .word 0x08048ec9 8048654: 08048ec9 .word 0x08048ec9 8048658: 080489b5 .word 0x080489b5 804865c: 080489b5 .word 0x080489b5 8048660: 080488cf .word 0x080488cf 8048664: 080488d7 .word 0x080488d7 8048668: 080488df .word 0x080488df 804866c: 080488e7 .word 0x080488e7 8048670: 08048915 .word 0x08048915 8048674: 0804891d .word 0x0804891d 8048678: 08048925 .word 0x08048925 804867c: 0804892d .word 0x0804892d 8048680: 08048935 .word 0x08048935 8048684: 0804893d .word 0x0804893d 8048688: 08048945 .word 0x08048945 804868c: 0804894d .word 0x0804894d { case OscValue: if(focused) 8048690: 4b9c ldr r3, [pc, #624] ; (8048904 ) 8048692: 781b ldrb r3, [r3, #0] 8048694: b2db uxtb r3, r3 8048696: 2b00 cmp r3, #0 8048698: f000 80a3 beq.w 80487e2 { if(pardata.IPR < DIS) pardata.IPR++; 804869c: 4b9a ldr r3, [pc, #616] ; (8048908 ) 804869e: 785b ldrb r3, [r3, #1] 80486a0: b2db uxtb r3, r3 80486a2: 2b01 cmp r3, #1 80486a4: d807 bhi.n 80486b6 80486a6: 4b98 ldr r3, [pc, #608] ; (8048908 ) 80486a8: 785b ldrb r3, [r3, #1] 80486aa: b2db uxtb r3, r3 80486ac: 3301 adds r3, #1 80486ae: b2da uxtb r2, r3 80486b0: 4b95 ldr r3, [pc, #596] ; (8048908 ) 80486b2: 705a strb r2, [r3, #1] 80486b4: e002 b.n 80486bc else pardata.IPR = ACC; 80486b6: 4b94 ldr r3, [pc, #592] ; (8048908 ) 80486b8: 2200 movs r2, #0 80486ba: 705a strb r2, [r3, #1] if(pardata.IPR > ACC) 80486bc: 4b92 ldr r3, [pc, #584] ; (8048908 ) 80486be: 785b ldrb r3, [r3, #1] 80486c0: b2db uxtb r3, r3 80486c2: 2b00 cmp r3, #0 80486c4: d01b beq.n 80486fe { if(pardata.HP < 2.0f) 80486c6: 4b90 ldr r3, [pc, #576] ; (8048908 ) 80486c8: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80486cc: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80486d0: eef4 7ac7 vcmpe.f32 s15, s14 80486d4: eef1 fa10 vmrs APSR_nzcv, fpscr 80486d8: d504 bpl.n 80486e4 pardata.HP = 2.0f; 80486da: 4b8b ldr r3, [pc, #556] ; (8048908 ) 80486dc: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80486e0: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 80486e4: e00b b.n 80486fe { if(pardata.FRQ < _64000Hz) 80486e6: 4b88 ldr r3, [pc, #544] ; (8048908 ) 80486e8: 7adb ldrb r3, [r3, #11] 80486ea: b2db uxtb r3, r3 80486ec: 2b08 cmp r3, #8 80486ee: d824 bhi.n 804873a pardata.FRQ++; 80486f0: 4b85 ldr r3, [pc, #532] ; (8048908 ) 80486f2: 7adb ldrb r3, [r3, #11] 80486f4: b2db uxtb r3, r3 80486f6: 3301 adds r3, #1 80486f8: b2da uxtb r2, r3 80486fa: 4b83 ldr r3, [pc, #524] ; (8048908 ) 80486fc: 72da strb r2, [r3, #11] while((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 80486fe: 4b82 ldr r3, [pc, #520] ; (8048908 ) 8048700: 7adb ldrb r3, [r3, #11] 8048702: b2db uxtb r3, r3 8048704: 461a mov r2, r3 8048706: 4b81 ldr r3, [pc, #516] ; (804890c ) 8048708: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804870c: ee07 3a90 vmov s15, r3 8048710: eeb8 5b67 vcvt.f64.u32 d5, s15 8048714: 4b7c ldr r3, [pc, #496] ; (8048908 ) 8048716: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804871a: eeb7 6ae7 vcvt.f64.f32 d6, s15 804871e: ee85 7b06 vdiv.f64 d7, d5, d6 8048722: ed9f 6b73 vldr d6, [pc, #460] ; 80488f0 8048726: ee37 7b06 vadd.f64 d7, d7, d6 804872a: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 804872e: eeb4 7bc6 vcmpe.f64 d7, d6 8048732: eef1 fa10 vmrs APSR_nzcv, fpscr 8048736: d4d6 bmi.n 80486e6 8048738: e000 b.n 804873c else break; 804873a: bf00 nop } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 804873c: 4b72 ldr r3, [pc, #456] ; (8048908 ) 804873e: 7adb ldrb r3, [r3, #11] 8048740: b2db uxtb r3, r3 8048742: 461a mov r2, r3 8048744: 4b71 ldr r3, [pc, #452] ; (804890c ) 8048746: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804874a: ee07 3a90 vmov s15, r3 804874e: eeb8 5b67 vcvt.f64.u32 d5, s15 8048752: 4b6d ldr r3, [pc, #436] ; (8048908 ) 8048754: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8048758: eeb7 6ae7 vcvt.f64.f32 d6, s15 804875c: ee85 7b06 vdiv.f64 d7, d5, d6 8048760: ed9f 6b63 vldr d6, [pc, #396] ; 80488f0 8048764: ee37 7b06 vadd.f64 d7, d7, d6 8048768: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 804876c: eeb4 7bc6 vcmpe.f64 d7, d6 8048770: eef1 fa10 vmrs APSR_nzcv, fpscr 8048774: d51f bpl.n 80487b6 { pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8048776: 4b64 ldr r3, [pc, #400] ; (8048908 ) 8048778: 7adb ldrb r3, [r3, #11] 804877a: b2db uxtb r3, r3 804877c: 461a mov r2, r3 804877e: 4b63 ldr r3, [pc, #396] ; (804890c ) 8048780: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048784: 4a62 ldr r2, [pc, #392] ; (8048910 ) 8048786: fba2 2303 umull r2, r3, r2, r3 804878a: 089b lsrs r3, r3, #2 804878c: ee07 3a90 vmov s15, r3 8048790: eef8 7a67 vcvt.f32.u32 s15, s15 8048794: 4b5c ldr r3, [pc, #368] ; (8048908 ) 8048796: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 804879a: 4b5b ldr r3, [pc, #364] ; (8048908 ) 804879c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80487a0: eeb7 7ae7 vcvt.f64.f32 d7, s15 80487a4: ed9f 6b54 vldr d6, [pc, #336] ; 80488f8 80487a8: ee37 7b06 vadd.f64 d7, d7, d6 80487ac: eef7 7bc7 vcvt.f32.f64 s15, d7 80487b0: 4b55 ldr r3, [pc, #340] ; (8048908 ) 80487b2: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 } if((pardata.IPR > ACC) && (pardata.THR & 0x80)) 80487b6: 4b54 ldr r3, [pc, #336] ; (8048908 ) 80487b8: 785b ldrb r3, [r3, #1] 80487ba: b2db uxtb r3, r3 80487bc: 2b00 cmp r3, #0 80487be: f000 80fd beq.w 80489bc 80487c2: 4b51 ldr r3, [pc, #324] ; (8048908 ) 80487c4: 7bdb ldrb r3, [r3, #15] 80487c6: b2db uxtb r3, r3 80487c8: b25b sxtb r3, r3 80487ca: 2b00 cmp r3, #0 80487cc: f280 80f6 bge.w 80489bc pardata.THR &= 0x7f; 80487d0: 4b4d ldr r3, [pc, #308] ; (8048908 ) 80487d2: 7bdb ldrb r3, [r3, #15] 80487d4: b2db uxtb r3, r3 80487d6: f003 037f and.w r3, r3, #127 ; 0x7f 80487da: b2da uxtb r2, r3 80487dc: 4b4a ldr r3, [pc, #296] ; (8048908 ) 80487de: 73da strb r2, [r3, #15] } else menupos = Ok; break; 80487e0: e0ec b.n 80489bc menupos = Ok; 80487e2: 4b47 ldr r3, [pc, #284] ; (8048900 ) 80487e4: 2200 movs r2, #0 80487e6: 701a strb r2, [r3, #0] break; 80487e8: e0e8 b.n 80489bc case OscRate: if(focused) 80487ea: 4b46 ldr r3, [pc, #280] ; (8048904 ) 80487ec: 781b ldrb r3, [r3, #0] 80487ee: b2db uxtb r3, r3 80487f0: 2b00 cmp r3, #0 80487f2: d04e beq.n 8048892 { if(pardata.FRQ < _64000Hz) pardata.FRQ++; 80487f4: 4b44 ldr r3, [pc, #272] ; (8048908 ) 80487f6: 7adb ldrb r3, [r3, #11] 80487f8: b2db uxtb r3, r3 80487fa: 2b08 cmp r3, #8 80487fc: d807 bhi.n 804880e 80487fe: 4b42 ldr r3, [pc, #264] ; (8048908 ) 8048800: 7adb ldrb r3, [r3, #11] 8048802: b2db uxtb r3, r3 8048804: 3301 adds r3, #1 8048806: b2da uxtb r2, r3 8048808: 4b3f ldr r3, [pc, #252] ; (8048908 ) 804880a: 72da strb r2, [r3, #11] 804880c: e002 b.n 8048814 else pardata.FRQ = _125Hz; 804880e: 4b3e ldr r3, [pc, #248] ; (8048908 ) 8048810: 2200 movs r2, #0 8048812: 72da strb r2, [r3, #11] if(pardata.FRQ < _64000Hz) pardata.FRQ++; else break; }*/ if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8048814: 4b3c ldr r3, [pc, #240] ; (8048908 ) 8048816: 7adb ldrb r3, [r3, #11] 8048818: b2db uxtb r3, r3 804881a: 461a mov r2, r3 804881c: 4b3b ldr r3, [pc, #236] ; (804890c ) 804881e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8048822: ee07 3a90 vmov s15, r3 8048826: eeb8 5b67 vcvt.f64.u32 d5, s15 804882a: 4b37 ldr r3, [pc, #220] ; (8048908 ) 804882c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8048830: eeb7 6ae7 vcvt.f64.f32 d6, s15 8048834: ee85 7b06 vdiv.f64 d7, d5, d6 8048838: ed9f 6b2d vldr d6, [pc, #180] ; 80488f0 804883c: ee37 7b06 vadd.f64 d7, d7, d6 8048840: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8048844: eeb4 7bc6 vcmpe.f64 d7, d6 8048848: eef1 fa10 vmrs APSR_nzcv, fpscr 804884c: d400 bmi.n 8048850 } } else menupos = Ok; break; 804884e: e0b6 b.n 80489be pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8048850: 4b2d ldr r3, [pc, #180] ; (8048908 ) 8048852: 7adb ldrb r3, [r3, #11] 8048854: b2db uxtb r3, r3 8048856: 461a mov r2, r3 8048858: 4b2c ldr r3, [pc, #176] ; (804890c ) 804885a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804885e: 4a2c ldr r2, [pc, #176] ; (8048910 ) 8048860: fba2 2303 umull r2, r3, r2, r3 8048864: 089b lsrs r3, r3, #2 8048866: ee07 3a90 vmov s15, r3 804886a: eef8 7a67 vcvt.f32.u32 s15, s15 804886e: 4b26 ldr r3, [pc, #152] ; (8048908 ) 8048870: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8048874: 4b24 ldr r3, [pc, #144] ; (8048908 ) 8048876: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 804887a: eeb7 7ae7 vcvt.f64.f32 d7, s15 804887e: ed9f 6b1e vldr d6, [pc, #120] ; 80488f8 8048882: ee37 7b06 vadd.f64 d7, d7, d6 8048886: eef7 7bc7 vcvt.f32.f64 s15, d7 804888a: 4b1f ldr r3, [pc, #124] ; (8048908 ) 804888c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8048890: e095 b.n 80489be menupos = Ok; 8048892: 4b1b ldr r3, [pc, #108] ; (8048900 ) 8048894: 2200 movs r2, #0 8048896: 701a strb r2, [r3, #0] break; 8048898: e091 b.n 80489be case OscLen: if(focused) 804889a: 4b1a ldr r3, [pc, #104] ; (8048904 ) 804889c: 781b ldrb r3, [r3, #0] 804889e: b2db uxtb r3, r3 80488a0: 2b00 cmp r3, #0 80488a2: d010 beq.n 80488c6 { if(pardata.LNE < N6400) pardata.LNE++; 80488a4: 4b18 ldr r3, [pc, #96] ; (8048908 ) 80488a6: 79db ldrb r3, [r3, #7] 80488a8: b2db uxtb r3, r3 80488aa: 2b03 cmp r3, #3 80488ac: d807 bhi.n 80488be 80488ae: 4b16 ldr r3, [pc, #88] ; (8048908 ) 80488b0: 79db ldrb r3, [r3, #7] 80488b2: b2db uxtb r3, r3 80488b4: 3301 adds r3, #1 80488b6: b2da uxtb r2, r3 80488b8: 4b13 ldr r3, [pc, #76] ; (8048908 ) 80488ba: 71da strb r2, [r3, #7] else pardata.LNE = N400; } else menupos = Ok; break; 80488bc: e07f b.n 80489be else pardata.LNE = N400; 80488be: 4b12 ldr r3, [pc, #72] ; (8048908 ) 80488c0: 2200 movs r2, #0 80488c2: 71da strb r2, [r3, #7] break; 80488c4: e07b b.n 80489be menupos = Ok; 80488c6: 4b0e ldr r3, [pc, #56] ; (8048900 ) 80488c8: 2200 movs r2, #0 80488ca: 701a strb r2, [r3, #0] break; 80488cc: e077 b.n 80489be case FilterHP_IDT: menupos = FilterHP_IET; break; 80488ce: 4b0c ldr r3, [pc, #48] ; (8048900 ) 80488d0: 221a movs r2, #26 80488d2: 701a strb r2, [r3, #0] 80488d4: e073 b.n 80489be case FilterHP_IET: menupos = FilterHP_IES; break; 80488d6: 4b0a ldr r3, [pc, #40] ; (8048900 ) 80488d8: 221b movs r2, #27 80488da: 701a strb r2, [r3, #0] 80488dc: e06f b.n 80489be case FilterHP_IES: menupos = FilterHP_IED; break; 80488de: 4b08 ldr r3, [pc, #32] ; (8048900 ) 80488e0: 221c movs r2, #28 80488e2: 701a strb r2, [r3, #0] 80488e4: e06b b.n 80489be case FilterHP_IED: menupos = FilterHP_IEE; break; 80488e6: 4b06 ldr r3, [pc, #24] ; (8048900 ) 80488e8: 221d movs r2, #29 80488ea: 701a strb r2, [r3, #0] 80488ec: e067 b.n 80489be 80488ee: bf00 nop 80488f0: e0000000 .word 0xe0000000 80488f4: 3f0a36e2 .word 0x3f0a36e2 80488f8: eb1c432d .word 0xeb1c432d 80488fc: 3f1a36e2 .word 0x3f1a36e2 8048900: 20020070 .word 0x20020070 8048904: 20020f84 .word 0x20020f84 8048908: 20023e60 .word 0x20023e60 804890c: 080ee8c8 .word 0x080ee8c8 8048910: cccccccd .word 0xcccccccd case FilterHP_IEE: menupos = FilterHP_IKD; break; 8048914: 4bad ldr r3, [pc, #692] ; (8048bcc ) 8048916: 221e movs r2, #30 8048918: 701a strb r2, [r3, #0] 804891a: e050 b.n 80489be case FilterHP_IKD: menupos = FilterHP_IDT; break; 804891c: 4bab ldr r3, [pc, #684] ; (8048bcc ) 804891e: 2219 movs r2, #25 8048920: 701a strb r2, [r3, #0] 8048922: e04c b.n 80489be case FilterLP_IDT: menupos = FilterLP_IET; break; 8048924: 4ba9 ldr r3, [pc, #676] ; (8048bcc ) 8048926: 2220 movs r2, #32 8048928: 701a strb r2, [r3, #0] 804892a: e048 b.n 80489be case FilterLP_IET: menupos = FilterLP_IES; break; 804892c: 4ba7 ldr r3, [pc, #668] ; (8048bcc ) 804892e: 2221 movs r2, #33 ; 0x21 8048930: 701a strb r2, [r3, #0] 8048932: e044 b.n 80489be case FilterLP_IES: menupos = FilterLP_IED; break; 8048934: 4ba5 ldr r3, [pc, #660] ; (8048bcc ) 8048936: 2222 movs r2, #34 ; 0x22 8048938: 701a strb r2, [r3, #0] 804893a: e040 b.n 80489be case FilterLP_IED: menupos = FilterLP_IEE; break; 804893c: 4ba3 ldr r3, [pc, #652] ; (8048bcc ) 804893e: 2223 movs r2, #35 ; 0x23 8048940: 701a strb r2, [r3, #0] 8048942: e03c b.n 80489be case FilterLP_IEE: menupos = FilterLP_IKD; break; 8048944: 4ba1 ldr r3, [pc, #644] ; (8048bcc ) 8048946: 2224 movs r2, #36 ; 0x24 8048948: 701a strb r2, [r3, #0] 804894a: e038 b.n 80489be case FilterLP_IKD: menupos = FilterLP_IDT; break; 804894c: 4b9f ldr r3, [pc, #636] ; (8048bcc ) 804894e: 221f movs r2, #31 8048950: 701a strb r2, [r3, #0] 8048952: e034 b.n 80489be case OscThr_IDT: menupos = OscThr_IET; 8048954: 4b9d ldr r3, [pc, #628] ; (8048bcc ) 8048956: 220a movs r2, #10 8048958: 701a strb r2, [r3, #0] break; 804895a: e030 b.n 80489be case OscThr_IET: menupos = OscThr_IES; 804895c: 4b9b ldr r3, [pc, #620] ; (8048bcc ) 804895e: 220b movs r2, #11 8048960: 701a strb r2, [r3, #0] break; 8048962: e02c b.n 80489be case OscThr_IES: menupos = OscThr_IED; 8048964: 4b99 ldr r3, [pc, #612] ; (8048bcc ) 8048966: 220c movs r2, #12 8048968: 701a strb r2, [r3, #0] break; 804896a: e028 b.n 80489be case OscThr_IED: menupos = OscThr_IEE; 804896c: 4b97 ldr r3, [pc, #604] ; (8048bcc ) 804896e: 220d movs r2, #13 8048970: 701a strb r2, [r3, #0] break; 8048972: e024 b.n 80489be case OscThr_IEE: menupos = OscThr_IKD; 8048974: 4b95 ldr r3, [pc, #596] ; (8048bcc ) 8048976: 220e movs r2, #14 8048978: 701a strb r2, [r3, #0] break; 804897a: e020 b.n 80489be case OscThr_IKD: menupos = OscThr_IDT; 804897c: 4b93 ldr r3, [pc, #588] ; (8048bcc ) 804897e: 2209 movs r2, #9 8048980: 701a strb r2, [r3, #0] break; 8048982: e01c b.n 80489be case OscMax_IDT: menupos = OscMax_IET; 8048984: 4b91 ldr r3, [pc, #580] ; (8048bcc ) 8048986: 2210 movs r2, #16 8048988: 701a strb r2, [r3, #0] break; 804898a: e018 b.n 80489be case OscMax_IET: menupos = OscMax_IES; 804898c: 4b8f ldr r3, [pc, #572] ; (8048bcc ) 804898e: 2211 movs r2, #17 8048990: 701a strb r2, [r3, #0] break; 8048992: e014 b.n 80489be case OscMax_IES: menupos = OscMax_IED; 8048994: 4b8d ldr r3, [pc, #564] ; (8048bcc ) 8048996: 2212 movs r2, #18 8048998: 701a strb r2, [r3, #0] break; 804899a: e010 b.n 80489be case OscMax_IED: menupos = OscMax_IEE; 804899c: 4b8b ldr r3, [pc, #556] ; (8048bcc ) 804899e: 2213 movs r2, #19 80489a0: 701a strb r2, [r3, #0] break; 80489a2: e00c b.n 80489be case OscMax_IEE: menupos = OscMax_IKD; 80489a4: 4b89 ldr r3, [pc, #548] ; (8048bcc ) 80489a6: 2214 movs r2, #20 80489a8: 701a strb r2, [r3, #0] break; 80489aa: e008 b.n 80489be case OscMax_IKD: menupos = OscMax_IDT; 80489ac: 4b87 ldr r3, [pc, #540] ; (8048bcc ) 80489ae: 220f movs r2, #15 80489b0: 701a strb r2, [r3, #0] break; 80489b2: e004 b.n 80489be case OscThr: case OscMax_ALL: case OscThr_ALL: case FilterHP: case FilterLP: menupos = Ok; 80489b4: 4b85 ldr r3, [pc, #532] ; (8048bcc ) 80489b6: 2200 movs r2, #0 80489b8: 701a strb r2, [r3, #0] break; 80489ba: e000 b.n 80489be break; 80489bc: bf00 nop } break; 80489be: e283 b.n 8048ec8 case ROUTE_MAP: //RT switch(menupos) 80489c0: 4b82 ldr r3, [pc, #520] ; (8048bcc ) 80489c2: 781b ldrb r3, [r3, #0] 80489c4: b2db uxtb r3, r3 80489c6: 2b0e cmp r3, #14 80489c8: f200 8281 bhi.w 8048ece 80489cc: a201 add r2, pc, #4 ; (adr r2, 80489d4 ) 80489ce: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80489d2: bf00 nop 80489d4: 08048a8d .word 0x08048a8d 80489d8: 08048a95 .word 0x08048a95 80489dc: 08048a9d .word 0x08048a9d 80489e0: 08048a85 .word 0x08048a85 80489e4: 08048a11 .word 0x08048a11 80489e8: 08048a85 .word 0x08048a85 80489ec: 08048a85 .word 0x08048a85 80489f0: 08048a55 .word 0x08048a55 80489f4: 08048a5d .word 0x08048a5d 80489f8: 08048a65 .word 0x08048a65 80489fc: 08048a6d .word 0x08048a6d 8048a00: 08048a75 .word 0x08048a75 8048a04: 08048a7d .word 0x08048a7d 8048a08: 08048a45 .word 0x08048a45 8048a0c: 08048a4d .word 0x08048a4d { case RouteTime: if(focused) 8048a10: 4b6f ldr r3, [pc, #444] ; (8048bd0 ) 8048a12: 781b ldrb r3, [r3, #0] 8048a14: b2db uxtb r3, r3 8048a16: 2b00 cmp r3, #0 8048a18: d010 beq.n 8048a3c { if(pardata.TME < HOUR2) pardata.TME++; 8048a1a: 4b6e ldr r3, [pc, #440] ; (8048bd4 ) 8048a1c: 7b9b ldrb r3, [r3, #14] 8048a1e: b2db uxtb r3, r3 8048a20: 2b08 cmp r3, #8 8048a22: d807 bhi.n 8048a34 8048a24: 4b6b ldr r3, [pc, #428] ; (8048bd4 ) 8048a26: 7b9b ldrb r3, [r3, #14] 8048a28: b2db uxtb r3, r3 8048a2a: 3301 adds r3, #1 8048a2c: b2da uxtb r2, r3 8048a2e: 4b69 ldr r3, [pc, #420] ; (8048bd4 ) 8048a30: 739a strb r2, [r3, #14] else pardata.TME = CONTINUOUS; } else menupos = GoMeas; break; 8048a32: e037 b.n 8048aa4 else pardata.TME = CONTINUOUS; 8048a34: 4b67 ldr r3, [pc, #412] ; (8048bd4 ) 8048a36: 2200 movs r2, #0 8048a38: 739a strb r2, [r3, #14] break; 8048a3a: e033 b.n 8048aa4 menupos = GoMeas; 8048a3c: 4b63 ldr r3, [pc, #396] ; (8048bcc ) 8048a3e: 2201 movs r2, #1 8048a40: 701a strb r2, [r3, #0] break; 8048a42: e02f b.n 8048aa4 case RouteNullYes: menupos = RouteNullNo; 8048a44: 4b61 ldr r3, [pc, #388] ; (8048bcc ) 8048a46: 220e movs r2, #14 8048a48: 701a strb r2, [r3, #0] break; 8048a4a: e02b b.n 8048aa4 case RouteNullNo: menupos = RouteNullYes; 8048a4c: 4b5f ldr r3, [pc, #380] ; (8048bcc ) 8048a4e: 220d movs r2, #13 8048a50: 701a strb r2, [r3, #0] break; 8048a52: e027 b.n 8048aa4 case RouteMax_IDT: menupos = RouteMax_IET; 8048a54: 4b5d ldr r3, [pc, #372] ; (8048bcc ) 8048a56: 2208 movs r2, #8 8048a58: 701a strb r2, [r3, #0] break; 8048a5a: e023 b.n 8048aa4 case RouteMax_IET: menupos = RouteMax_IES; 8048a5c: 4b5b ldr r3, [pc, #364] ; (8048bcc ) 8048a5e: 2209 movs r2, #9 8048a60: 701a strb r2, [r3, #0] break; 8048a62: e01f b.n 8048aa4 case RouteMax_IES: menupos = RouteMax_IED; 8048a64: 4b59 ldr r3, [pc, #356] ; (8048bcc ) 8048a66: 220a movs r2, #10 8048a68: 701a strb r2, [r3, #0] break; 8048a6a: e01b b.n 8048aa4 case RouteMax_IED: menupos = RouteMax_IEE; 8048a6c: 4b57 ldr r3, [pc, #348] ; (8048bcc ) 8048a6e: 220b movs r2, #11 8048a70: 701a strb r2, [r3, #0] break; 8048a72: e017 b.n 8048aa4 case RouteMax_IEE: menupos = RouteMax_IKD; 8048a74: 4b55 ldr r3, [pc, #340] ; (8048bcc ) 8048a76: 220c movs r2, #12 8048a78: 701a strb r2, [r3, #0] break; 8048a7a: e013 b.n 8048aa4 case RouteMax_IKD: menupos = RouteMax_IDT; 8048a7c: 4b53 ldr r3, [pc, #332] ; (8048bcc ) 8048a7e: 2207 movs r2, #7 8048a80: 701a strb r2, [r3, #0] break; 8048a82: e00f b.n 8048aa4 case RouteAutoKu: case RouteMax_ALL: case RouteTacho: menupos = GoMeas; 8048a84: 4b51 ldr r3, [pc, #324] ; (8048bcc ) 8048a86: 2201 movs r2, #1 8048a88: 701a strb r2, [r3, #0] break; 8048a8a: e00b b.n 8048aa4 case PrevPoint: menupos = GoMeas; 8048a8c: 4b4f ldr r3, [pc, #316] ; (8048bcc ) 8048a8e: 2201 movs r2, #1 8048a90: 701a strb r2, [r3, #0] break; 8048a92: e007 b.n 8048aa4 case GoMeas: menupos = NextPoint; 8048a94: 4b4d ldr r3, [pc, #308] ; (8048bcc ) 8048a96: 2202 movs r2, #2 8048a98: 701a strb r2, [r3, #0] break; 8048a9a: e003 b.n 8048aa4 case NextPoint: menupos = PrevPoint; 8048a9c: 4b4b ldr r3, [pc, #300] ; (8048bcc ) 8048a9e: 2200 movs r2, #0 8048aa0: 701a strb r2, [r3, #0] break; 8048aa2: bf00 nop } break; 8048aa4: e213 b.n 8048ece case PARAM_WAVE: //RT switch(menupos) 8048aa6: 4b49 ldr r3, [pc, #292] ; (8048bcc ) 8048aa8: 781b ldrb r3, [r3, #0] 8048aaa: b2db uxtb r3, r3 8048aac: 3b01 subs r3, #1 8048aae: 2b14 cmp r3, #20 8048ab0: f200 8210 bhi.w 8048ed4 8048ab4: a201 add r2, pc, #4 ; (adr r2, 8048abc ) 8048ab6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048aba: bf00 nop 8048abc: 08048b11 .word 0x08048b11 8048ac0: 08048b19 .word 0x08048b19 8048ac4: 08048bb5 .word 0x08048bb5 8048ac8: 08048bbd .word 0x08048bbd 8048acc: 08048b21 .word 0x08048b21 8048ad0: 08048bb5 .word 0x08048bb5 8048ad4: 08048bb5 .word 0x08048bb5 8048ad8: 08048bb5 .word 0x08048bb5 8048adc: 08048bb5 .word 0x08048bb5 8048ae0: 08048b85 .word 0x08048b85 8048ae4: 08048b8d .word 0x08048b8d 8048ae8: 08048b95 .word 0x08048b95 8048aec: 08048b9d .word 0x08048b9d 8048af0: 08048ba5 .word 0x08048ba5 8048af4: 08048bad .word 0x08048bad 8048af8: 08048b55 .word 0x08048b55 8048afc: 08048b5d .word 0x08048b5d 8048b00: 08048b65 .word 0x08048b65 8048b04: 08048b6d .word 0x08048b6d 8048b08: 08048b75 .word 0x08048b75 8048b0c: 08048b7d .word 0x08048b7d { case WaveBand: pardata.FRQ = _64000Hz; 8048b10: 4b30 ldr r3, [pc, #192] ; (8048bd4 ) 8048b12: 2209 movs r2, #9 8048b14: 72da strb r2, [r3, #11] break; 8048b16: e057 b.n 8048bc8 case WaveFreq: pardata.FRQ = _64000Hz; 8048b18: 4b2e ldr r3, [pc, #184] ; (8048bd4 ) 8048b1a: 2209 movs r2, #9 8048b1c: 72da strb r2, [r3, #11] break; 8048b1e: e053 b.n 8048bc8 case WaveTime: if(focused) 8048b20: 4b2b ldr r3, [pc, #172] ; (8048bd0 ) 8048b22: 781b ldrb r3, [r3, #0] 8048b24: b2db uxtb r3, r3 8048b26: 2b00 cmp r3, #0 8048b28: d010 beq.n 8048b4c { if(pardata.TME < HOUR2) pardata.TME++; 8048b2a: 4b2a ldr r3, [pc, #168] ; (8048bd4 ) 8048b2c: 7b9b ldrb r3, [r3, #14] 8048b2e: b2db uxtb r3, r3 8048b30: 2b08 cmp r3, #8 8048b32: d807 bhi.n 8048b44 8048b34: 4b27 ldr r3, [pc, #156] ; (8048bd4 ) 8048b36: 7b9b ldrb r3, [r3, #14] 8048b38: b2db uxtb r3, r3 8048b3a: 3301 adds r3, #1 8048b3c: b2da uxtb r2, r3 8048b3e: 4b25 ldr r3, [pc, #148] ; (8048bd4 ) 8048b40: 739a strb r2, [r3, #14] else pardata.TME = CONTINUOUS; } else menupos = Ok; break; 8048b42: e041 b.n 8048bc8 else pardata.TME = CONTINUOUS; 8048b44: 4b23 ldr r3, [pc, #140] ; (8048bd4 ) 8048b46: 2200 movs r2, #0 8048b48: 739a strb r2, [r3, #14] break; 8048b4a: e03d b.n 8048bc8 menupos = Ok; 8048b4c: 4b1f ldr r3, [pc, #124] ; (8048bcc ) 8048b4e: 2200 movs r2, #0 8048b50: 701a strb r2, [r3, #0] break; 8048b52: e039 b.n 8048bc8 case WaveThr_IDT: menupos = WaveThr_IET; 8048b54: 4b1d ldr r3, [pc, #116] ; (8048bcc ) 8048b56: 2211 movs r2, #17 8048b58: 701a strb r2, [r3, #0] break; 8048b5a: e035 b.n 8048bc8 case WaveThr_IET: menupos = WaveThr_IES; 8048b5c: 4b1b ldr r3, [pc, #108] ; (8048bcc ) 8048b5e: 2212 movs r2, #18 8048b60: 701a strb r2, [r3, #0] break; 8048b62: e031 b.n 8048bc8 case WaveThr_IES: menupos = WaveThr_IED; 8048b64: 4b19 ldr r3, [pc, #100] ; (8048bcc ) 8048b66: 2213 movs r2, #19 8048b68: 701a strb r2, [r3, #0] break; 8048b6a: e02d b.n 8048bc8 case WaveThr_IED: menupos = WaveThr_IEE; 8048b6c: 4b17 ldr r3, [pc, #92] ; (8048bcc ) 8048b6e: 2214 movs r2, #20 8048b70: 701a strb r2, [r3, #0] break; 8048b72: e029 b.n 8048bc8 case WaveThr_IEE: menupos = WaveThr_IKD; 8048b74: 4b15 ldr r3, [pc, #84] ; (8048bcc ) 8048b76: 2215 movs r2, #21 8048b78: 701a strb r2, [r3, #0] break; 8048b7a: e025 b.n 8048bc8 case WaveThr_IKD: menupos = WaveThr_IDT; 8048b7c: 4b13 ldr r3, [pc, #76] ; (8048bcc ) 8048b7e: 2210 movs r2, #16 8048b80: 701a strb r2, [r3, #0] break; 8048b82: e021 b.n 8048bc8 case WaveMax_IDT: menupos = WaveMax_IET; 8048b84: 4b11 ldr r3, [pc, #68] ; (8048bcc ) 8048b86: 220b movs r2, #11 8048b88: 701a strb r2, [r3, #0] break; 8048b8a: e01d b.n 8048bc8 case WaveMax_IET: menupos = WaveMax_IES; 8048b8c: 4b0f ldr r3, [pc, #60] ; (8048bcc ) 8048b8e: 220c movs r2, #12 8048b90: 701a strb r2, [r3, #0] break; 8048b92: e019 b.n 8048bc8 case WaveMax_IES: menupos = WaveMax_IED; 8048b94: 4b0d ldr r3, [pc, #52] ; (8048bcc ) 8048b96: 220d movs r2, #13 8048b98: 701a strb r2, [r3, #0] break; 8048b9a: e015 b.n 8048bc8 case WaveMax_IED: menupos = WaveMax_IEE; 8048b9c: 4b0b ldr r3, [pc, #44] ; (8048bcc ) 8048b9e: 220e movs r2, #14 8048ba0: 701a strb r2, [r3, #0] break; 8048ba2: e011 b.n 8048bc8 case WaveMax_IEE: menupos = WaveMax_IKD; 8048ba4: 4b09 ldr r3, [pc, #36] ; (8048bcc ) 8048ba6: 220f movs r2, #15 8048ba8: 701a strb r2, [r3, #0] break; 8048baa: e00d b.n 8048bc8 case WaveMax_IKD: menupos = WaveMax_IDT; 8048bac: 4b07 ldr r3, [pc, #28] ; (8048bcc ) 8048bae: 220a movs r2, #10 8048bb0: 701a strb r2, [r3, #0] break; 8048bb2: e009 b.n 8048bc8 case WaveThr: case WaveThr_ALL: case WaveAutoKu: case WaveMax_ALL: case WaveTacho: menupos = Ok; 8048bb4: 4b05 ldr r3, [pc, #20] ; (8048bcc ) 8048bb6: 2200 movs r2, #0 8048bb8: 701a strb r2, [r3, #0] break; 8048bba: e005 b.n 8048bc8 case WaveName: memset(WavFileName, 0, sizeof(WavFileName)); 8048bbc: 2221 movs r2, #33 ; 0x21 8048bbe: 2100 movs r1, #0 8048bc0: 4805 ldr r0, [pc, #20] ; (8048bd8 ) 8048bc2: f084 fa5d bl 80cd080 break; 8048bc6: bf00 nop } break; 8048bc8: e184 b.n 8048ed4 8048bca: bf00 nop 8048bcc: 20020070 .word 0x20020070 8048bd0: 20020f84 .word 0x20020f84 8048bd4: 20023e60 .word 0x20023e60 8048bd8: 20020e34 .word 0x20020e34 case SETTINGS: switch(menupos) 8048bdc: 4bbf ldr r3, [pc, #764] ; (8048edc ) 8048bde: 781b ldrb r3, [r3, #0] 8048be0: b2db uxtb r3, r3 8048be2: 3b01 subs r3, #1 8048be4: 2b10 cmp r3, #16 8048be6: f200 8183 bhi.w 8048ef0 8048bea: a201 add r2, pc, #4 ; (adr r2, 8048bf0 ) 8048bec: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048bf0: 08048c81 .word 0x08048c81 8048bf4: 08048ef1 .word 0x08048ef1 8048bf8: 08048c65 .word 0x08048c65 8048bfc: 08048ef1 .word 0x08048ef1 8048c00: 08048ef1 .word 0x08048ef1 8048c04: 08048ef1 .word 0x08048ef1 8048c08: 08048cad .word 0x08048cad 8048c0c: 08048ef1 .word 0x08048ef1 8048c10: 08048ef1 .word 0x08048ef1 8048c14: 08048ef1 .word 0x08048ef1 8048c18: 08048ef1 .word 0x08048ef1 8048c1c: 08048c35 .word 0x08048c35 8048c20: 08048c3d .word 0x08048c3d 8048c24: 08048c45 .word 0x08048c45 8048c28: 08048c4d .word 0x08048c4d 8048c2c: 08048c55 .word 0x08048c55 8048c30: 08048c5d .word 0x08048c5d { case Ies: menupos = Ied; break; 8048c34: 4ba9 ldr r3, [pc, #676] ; (8048edc ) 8048c36: 220d movs r2, #13 8048c38: 701a strb r2, [r3, #0] 8048c3a: e03e b.n 8048cba case Ied: menupos = Iee; break; 8048c3c: 4ba7 ldr r3, [pc, #668] ; (8048edc ) 8048c3e: 220e movs r2, #14 8048c40: 701a strb r2, [r3, #0] 8048c42: e03a b.n 8048cba case Iee: menupos = Ikd; break; 8048c44: 4ba5 ldr r3, [pc, #660] ; (8048edc ) 8048c46: 220f movs r2, #15 8048c48: 701a strb r2, [r3, #0] 8048c4a: e036 b.n 8048cba case Ikd: menupos = Iks; break; 8048c4c: 4ba3 ldr r3, [pc, #652] ; (8048edc ) 8048c4e: 2210 movs r2, #16 8048c50: 701a strb r2, [r3, #0] 8048c52: e032 b.n 8048cba case Iks: menupos = Ikt; break; 8048c54: 4ba1 ldr r3, [pc, #644] ; (8048edc ) 8048c56: 2211 movs r2, #17 8048c58: 701a strb r2, [r3, #0] 8048c5a: e02e b.n 8048cba case Ikt: menupos = Ies; break; 8048c5c: 4b9f ldr r3, [pc, #636] ; (8048edc ) 8048c5e: 220c movs r2, #12 8048c60: 701a strb r2, [r3, #0] 8048c62: e02a b.n 8048cba case Lang: if(focused) 8048c64: 4b9e ldr r3, [pc, #632] ; (8048ee0 ) 8048c66: 781b ldrb r3, [r3, #0] 8048c68: b2db uxtb r3, r3 8048c6a: 2b00 cmp r3, #0 8048c6c: d022 beq.n 8048cb4 { pardata.LANG ^= 1; 8048c6e: 4b9d ldr r3, [pc, #628] ; (8048ee4 ) 8048c70: 7b1b ldrb r3, [r3, #12] 8048c72: b2db uxtb r3, r3 8048c74: f083 0301 eor.w r3, r3, #1 8048c78: b2da uxtb r2, r3 8048c7a: 4b9a ldr r3, [pc, #616] ; (8048ee4 ) 8048c7c: 731a strb r2, [r3, #12] } break; 8048c7e: e019 b.n 8048cb4 case Type: #if (!defined(USE_D101) && !defined(USE_D102)) if(focused) 8048c80: 4b97 ldr r3, [pc, #604] ; (8048ee0 ) 8048c82: 781b ldrb r3, [r3, #0] 8048c84: b2db uxtb r3, r3 8048c86: 2b00 cmp r3, #0 8048c88: d016 beq.n 8048cb8 { if(pardata.IIN < VOLTS) pardata.IIN++; 8048c8a: 4b96 ldr r3, [pc, #600] ; (8048ee4 ) 8048c8c: 799b ldrb r3, [r3, #6] 8048c8e: b2db uxtb r3, r3 8048c90: 2b01 cmp r3, #1 8048c92: d807 bhi.n 8048ca4 8048c94: 4b93 ldr r3, [pc, #588] ; (8048ee4 ) 8048c96: 799b ldrb r3, [r3, #6] 8048c98: b2db uxtb r3, r3 8048c9a: 3301 adds r3, #1 8048c9c: b2da uxtb r2, r3 8048c9e: 4b91 ldr r3, [pc, #580] ; (8048ee4 ) 8048ca0: 719a strb r2, [r3, #6] { if(pardata.IIN == VOLTS) pardata.IIN = ICP; else pardata.IIN = VOLTS; } #endif break; 8048ca2: e009 b.n 8048cb8 else pardata.IIN = CHARGE; 8048ca4: 4b8f ldr r3, [pc, #572] ; (8048ee4 ) 8048ca6: 2200 movs r2, #0 8048ca8: 719a strb r2, [r3, #6] break; 8048caa: e005 b.n 8048cb8 case FormatDiskNo: menupos = FormatDiskYes; 8048cac: 4b8b ldr r3, [pc, #556] ; (8048edc ) 8048cae: 2208 movs r2, #8 8048cb0: 701a strb r2, [r3, #0] break; 8048cb2: e002 b.n 8048cba break; 8048cb4: bf00 nop 8048cb6: e11b b.n 8048ef0 break; 8048cb8: bf00 nop } break; 8048cba: e119 b.n 8048ef0 case DATETIME: switch(menupos) 8048cbc: 4b87 ldr r3, [pc, #540] ; (8048edc ) 8048cbe: 781b ldrb r3, [r3, #0] 8048cc0: b2db uxtb r3, r3 8048cc2: 3b03 subs r3, #3 8048cc4: 2b04 cmp r3, #4 8048cc6: f200 8116 bhi.w 8048ef6 8048cca: a201 add r2, pc, #4 ; (adr r2, 8048cd0 ) 8048ccc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048cd0: 08048ce5 .word 0x08048ce5 8048cd4: 08048ced .word 0x08048ced 8048cd8: 08048cf5 .word 0x08048cf5 8048cdc: 08048cfd .word 0x08048cfd 8048ce0: 08048d05 .word 0x08048d05 { case DateD: menupos = DateM; break; 8048ce4: 4b7d ldr r3, [pc, #500] ; (8048edc ) 8048ce6: 2204 movs r2, #4 8048ce8: 701a strb r2, [r3, #0] 8048cea: e00f b.n 8048d0c case DateM: menupos = DateY; break; 8048cec: 4b7b ldr r3, [pc, #492] ; (8048edc ) 8048cee: 2205 movs r2, #5 8048cf0: 701a strb r2, [r3, #0] 8048cf2: e00b b.n 8048d0c case DateY: menupos = DateD; break; 8048cf4: 4b79 ldr r3, [pc, #484] ; (8048edc ) 8048cf6: 2203 movs r2, #3 8048cf8: 701a strb r2, [r3, #0] 8048cfa: e007 b.n 8048d0c case TimeH: menupos = TimeM; break; 8048cfc: 4b77 ldr r3, [pc, #476] ; (8048edc ) 8048cfe: 2207 movs r2, #7 8048d00: 701a strb r2, [r3, #0] 8048d02: e003 b.n 8048d0c case TimeM: menupos = TimeH; break; 8048d04: 4b75 ldr r3, [pc, #468] ; (8048edc ) 8048d06: 2206 movs r2, #6 8048d08: 701a strb r2, [r3, #0] 8048d0a: bf00 nop } break; 8048d0c: e0f3 b.n 8048ef6 case CLEAN_FILES: switch(menupos) 8048d0e: 4b73 ldr r3, [pc, #460] ; (8048edc ) 8048d10: 781b ldrb r3, [r3, #0] 8048d12: b2db uxtb r3, r3 8048d14: 3b01 subs r3, #1 8048d16: 2b08 cmp r3, #8 8048d18: f200 80f0 bhi.w 8048efc 8048d1c: a201 add r2, pc, #4 ; (adr r2, 8048d24 ) 8048d1e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048d22: bf00 nop 8048d24: 08048d49 .word 0x08048d49 8048d28: 08048d57 .word 0x08048d57 8048d2c: 08048efd .word 0x08048efd 8048d30: 08048efd .word 0x08048efd 8048d34: 08048efd .word 0x08048efd 8048d38: 08048d67 .word 0x08048d67 8048d3c: 08048d77 .word 0x08048d77 8048d40: 08048d6f .word 0x08048d6f 8048d44: 08048d7f .word 0x08048d7f { case NoFilesPTM: menu = SETTINGS; 8048d48: 4b67 ldr r3, [pc, #412] ; (8048ee8 ) 8048d4a: 2212 movs r2, #18 8048d4c: 701a strb r2, [r3, #0] menupos = CleanFiles; 8048d4e: 4b63 ldr r3, [pc, #396] ; (8048edc ) 8048d50: 220b movs r2, #11 8048d52: 701a strb r2, [r3, #0] break; 8048d54: e018 b.n 8048d88 case FilesPTM: /*Óäàëÿåì ñïèñîê ôàéëîâ â îñíîâíîì öèêëå ïðîãðàììû, åñëè îí åñòü */ if(NumFilesDelete != 0) { 8048d56: 4b65 ldr r3, [pc, #404] ; (8048eec ) 8048d58: 681b ldr r3, [r3, #0] 8048d5a: 2b00 cmp r3, #0 8048d5c: d013 beq.n 8048d86 menupos = UpNo; 8048d5e: 4b5f ldr r3, [pc, #380] ; (8048edc ) 8048d60: 2206 movs r2, #6 8048d62: 701a strb r2, [r3, #0] } break; 8048d64: e00f b.n 8048d86 case UpNo: menupos = UpYes; 8048d66: 4b5d ldr r3, [pc, #372] ; (8048edc ) 8048d68: 2207 movs r2, #7 8048d6a: 701a strb r2, [r3, #0] break; 8048d6c: e00c b.n 8048d88 case AllNo: menupos = AllYes; 8048d6e: 4b5b ldr r3, [pc, #364] ; (8048edc ) 8048d70: 2209 movs r2, #9 8048d72: 701a strb r2, [r3, #0] break; 8048d74: e008 b.n 8048d88 case UpYes: menupos = UpNo; 8048d76: 4b59 ldr r3, [pc, #356] ; (8048edc ) 8048d78: 2206 movs r2, #6 8048d7a: 701a strb r2, [r3, #0] break; 8048d7c: e004 b.n 8048d88 case AllYes: menupos = AllNo; 8048d7e: 4b57 ldr r3, [pc, #348] ; (8048edc ) 8048d80: 2208 movs r2, #8 8048d82: 701a strb r2, [r3, #0] break; 8048d84: e000 b.n 8048d88 break; 8048d86: bf00 nop } break; 8048d88: e0b8 b.n 8048efc case ACCELEROMETER: switch(menupos) 8048d8a: 4b54 ldr r3, [pc, #336] ; (8048edc ) 8048d8c: 781b ldrb r3, [r3, #0] 8048d8e: b2db uxtb r3, r3 8048d90: 3b0c subs r3, #12 8048d92: 2b05 cmp r3, #5 8048d94: f200 80b5 bhi.w 8048f02 8048d98: a201 add r2, pc, #4 ; (adr r2, 8048da0 ) 8048d9a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048d9e: bf00 nop 8048da0: 08048db9 .word 0x08048db9 8048da4: 08048dc1 .word 0x08048dc1 8048da8: 08048dc9 .word 0x08048dc9 8048dac: 08048dd1 .word 0x08048dd1 8048db0: 08048dd9 .word 0x08048dd9 8048db4: 08048de1 .word 0x08048de1 { case Ies: menupos = Ied; break; 8048db8: 4b48 ldr r3, [pc, #288] ; (8048edc ) 8048dba: 220d movs r2, #13 8048dbc: 701a strb r2, [r3, #0] 8048dbe: e013 b.n 8048de8 case Ied: menupos = Iee; break; 8048dc0: 4b46 ldr r3, [pc, #280] ; (8048edc ) 8048dc2: 220e movs r2, #14 8048dc4: 701a strb r2, [r3, #0] 8048dc6: e00f b.n 8048de8 case Iee: menupos = Ikd; break; 8048dc8: 4b44 ldr r3, [pc, #272] ; (8048edc ) 8048dca: 220f movs r2, #15 8048dcc: 701a strb r2, [r3, #0] 8048dce: e00b b.n 8048de8 case Ikd: menupos = Iks; break; 8048dd0: 4b42 ldr r3, [pc, #264] ; (8048edc ) 8048dd2: 2210 movs r2, #16 8048dd4: 701a strb r2, [r3, #0] 8048dd6: e007 b.n 8048de8 case Iks: menupos = Ikt; break; 8048dd8: 4b40 ldr r3, [pc, #256] ; (8048edc ) 8048dda: 2211 movs r2, #17 8048ddc: 701a strb r2, [r3, #0] 8048dde: e003 b.n 8048de8 case Ikt: menupos = Ies; break; 8048de0: 4b3e ldr r3, [pc, #248] ; (8048edc ) 8048de2: 220c movs r2, #12 8048de4: 701a strb r2, [r3, #0] 8048de6: bf00 nop } break; 8048de8: e08b b.n 8048f02 case CALIBR_00: if(menupos < 4) 8048dea: 4b3c ldr r3, [pc, #240] ; (8048edc ) 8048dec: 781b ldrb r3, [r3, #0] 8048dee: b2db uxtb r3, r3 8048df0: 2b03 cmp r3, #3 8048df2: f200 8089 bhi.w 8048f08 menupos++; 8048df6: 4b39 ldr r3, [pc, #228] ; (8048edc ) 8048df8: 781b ldrb r3, [r3, #0] 8048dfa: b2db uxtb r3, r3 8048dfc: 3301 adds r3, #1 8048dfe: b2da uxtb r2, r3 8048e00: 4b36 ldr r3, [pc, #216] ; (8048edc ) 8048e02: 701a strb r2, [r3, #0] break; 8048e04: e080 b.n 8048f08 case CALIBR_4: case CALIBR_5: case CALIBR_6: case CALIBR_7: case CALIBR_8: if(menupos < 2) 8048e06: 4b35 ldr r3, [pc, #212] ; (8048edc ) 8048e08: 781b ldrb r3, [r3, #0] 8048e0a: b2db uxtb r3, r3 8048e0c: 2b01 cmp r3, #1 8048e0e: d87e bhi.n 8048f0e menupos++; 8048e10: 4b32 ldr r3, [pc, #200] ; (8048edc ) 8048e12: 781b ldrb r3, [r3, #0] 8048e14: b2db uxtb r3, r3 8048e16: 3301 adds r3, #1 8048e18: b2da uxtb r2, r3 8048e1a: 4b30 ldr r3, [pc, #192] ; (8048edc ) 8048e1c: 701a strb r2, [r3, #0] break; 8048e1e: e076 b.n 8048f0e case CALIBR_9: case CALIBR_10: case CALIBR_11: if(menupos > 1) 8048e20: 4b2e ldr r3, [pc, #184] ; (8048edc ) 8048e22: 781b ldrb r3, [r3, #0] 8048e24: b2db uxtb r3, r3 8048e26: 2b01 cmp r3, #1 8048e28: d902 bls.n 8048e30 menupos = 1; 8048e2a: 4b2c ldr r3, [pc, #176] ; (8048edc ) 8048e2c: 2201 movs r2, #1 8048e2e: 701a strb r2, [r3, #0] if(menupos == 0) 8048e30: 4b2a ldr r3, [pc, #168] ; (8048edc ) 8048e32: 781b ldrb r3, [r3, #0] 8048e34: b2db uxtb r3, r3 8048e36: 2b00 cmp r3, #0 8048e38: d16c bne.n 8048f14 menupos++; 8048e3a: 4b28 ldr r3, [pc, #160] ; (8048edc ) 8048e3c: 781b ldrb r3, [r3, #0] 8048e3e: b2db uxtb r3, r3 8048e40: 3301 adds r3, #1 8048e42: b2da uxtb r2, r3 8048e44: 4b25 ldr r3, [pc, #148] ; (8048edc ) 8048e46: 701a strb r2, [r3, #0] break; 8048e48: e064 b.n 8048f14 break; 8048e4a: bf00 nop 8048e4c: f009 bfa0 b.w 8052d90 break; 8048e50: bf00 nop 8048e52: f009 bf9d b.w 8052d90 break; 8048e56: bf00 nop 8048e58: f009 bf9a b.w 8052d90 break; 8048e5c: bf00 nop 8048e5e: f009 bf97 b.w 8052d90 break; 8048e62: bf00 nop 8048e64: f009 bf94 b.w 8052d90 break; 8048e68: bf00 nop 8048e6a: f009 bf91 b.w 8052d90 break; 8048e6e: bf00 nop 8048e70: f009 bf8e b.w 8052d90 break; 8048e74: bf00 nop 8048e76: f009 bf8b b.w 8052d90 break; 8048e7a: bf00 nop 8048e7c: f009 bf88 b.w 8052d90 break; 8048e80: bf00 nop 8048e82: f009 bf85 b.w 8052d90 break; 8048e86: bf00 nop 8048e88: f009 bf82 b.w 8052d90 break; 8048e8c: bf00 nop 8048e8e: f009 bf7f b.w 8052d90 break; 8048e92: bf00 nop 8048e94: f009 bf7c b.w 8052d90 break; 8048e98: bf00 nop 8048e9a: f009 bf79 b.w 8052d90 break; 8048e9e: bf00 nop 8048ea0: f009 bf76 b.w 8052d90 break; 8048ea4: bf00 nop 8048ea6: f009 bf73 b.w 8052d90 break; 8048eaa: bf00 nop 8048eac: f009 bf70 b.w 8052d90 break; 8048eb0: bf00 nop 8048eb2: f009 bf6d b.w 8052d90 break; 8048eb6: bf00 nop 8048eb8: f009 bf6a b.w 8052d90 break; 8048ebc: bf00 nop 8048ebe: f009 bf67 b.w 8052d90 break; 8048ec2: bf00 nop 8048ec4: f009 bf64 b.w 8052d90 break; 8048ec8: bf00 nop 8048eca: f009 bf61 b.w 8052d90 break; 8048ece: bf00 nop 8048ed0: f009 bf5e b.w 8052d90 break; 8048ed4: bf00 nop 8048ed6: f009 bf5b b.w 8052d90 8048eda: bf00 nop 8048edc: 20020070 .word 0x20020070 8048ee0: 20020f84 .word 0x20020f84 8048ee4: 20023e60 .word 0x20023e60 8048ee8: 20020f78 .word 0x20020f78 8048eec: 20020e0c .word 0x20020e0c break; 8048ef0: bf00 nop 8048ef2: f009 bf4d b.w 8052d90 break; 8048ef6: bf00 nop 8048ef8: f009 bf4a b.w 8052d90 break; 8048efc: bf00 nop 8048efe: f009 bf47 b.w 8052d90 break; 8048f02: bf00 nop 8048f04: f009 bf44 b.w 8052d90 break; 8048f08: bf00 nop 8048f0a: f009 bf41 b.w 8052d90 break; 8048f0e: bf00 nop 8048f10: f009 bf3e b.w 8052d90 break; 8048f14: bf00 nop } break; 8048f16: f009 bf3b b.w 8052d90 case KEY_TMP: // TODO KEY TMP switch(menu) 8048f1a: 4bc1 ldr r3, [pc, #772] ; (8049220 ) 8048f1c: 781b ldrb r3, [r3, #0] 8048f1e: b2db uxtb r3, r3 8048f20: 2b47 cmp r3, #71 ; 0x47 8048f22: f209 8737 bhi.w 8052d94 8048f26: a201 add r2, pc, #4 ; (adr r2, 8048f2c ) 8048f28: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8048f2c: 080490a5 .word 0x080490a5 8048f30: 08052d95 .word 0x08052d95 8048f34: 080493f5 .word 0x080493f5 8048f38: 08049429 .word 0x08049429 8048f3c: 0804945f .word 0x0804945f 8048f40: 08052d95 .word 0x08052d95 8048f44: 08049369 .word 0x08049369 8048f48: 08049391 .word 0x08049391 8048f4c: 0804937d .word 0x0804937d 8048f50: 08052d95 .word 0x08052d95 8048f54: 080493a5 .word 0x080493a5 8048f58: 08052d95 .word 0x08052d95 8048f5c: 08052d95 .word 0x08052d95 8048f60: 080493b9 .word 0x080493b9 8048f64: 080493cd .word 0x080493cd 8048f68: 080493e1 .word 0x080493e1 8048f6c: 08049355 .word 0x08049355 8048f70: 0804933d .word 0x0804933d 8048f74: 080495c7 .word 0x080495c7 8048f78: 08052d95 .word 0x08052d95 8048f7c: 08052d95 .word 0x08052d95 8048f80: 08052d95 .word 0x08052d95 8048f84: 08052d95 .word 0x08052d95 8048f88: 08049409 .word 0x08049409 8048f8c: 080495db .word 0x080495db 8048f90: 08052d95 .word 0x08052d95 8048f94: 08052d95 .word 0x08052d95 8048f98: 08052d95 .word 0x08052d95 8048f9c: 080490f1 .word 0x080490f1 8048fa0: 080490bd .word 0x080490bd 8048fa4: 08049291 .word 0x08049291 8048fa8: 080490a5 .word 0x080490a5 8048fac: 08049159 .word 0x08049159 8048fb0: 08049183 .word 0x08049183 8048fb4: 080491b7 .word 0x080491b7 8048fb8: 0804925d .word 0x0804925d 8048fbc: 08049125 .word 0x08049125 8048fc0: 080491eb .word 0x080491eb 8048fc4: 08049245 .word 0x08049245 8048fc8: 08049075 .word 0x08049075 8048fcc: 0804904d .word 0x0804904d 8048fd0: 080492e9 .word 0x080492e9 8048fd4: 08049313 .word 0x08049313 8048fd8: 08049625 .word 0x08049625 8048fdc: 0804966f .word 0x0804966f 8048fe0: 08052d95 .word 0x08052d95 8048fe4: 08052d95 .word 0x08052d95 8048fe8: 08049613 .word 0x08049613 8048fec: 08049649 .word 0x08049649 8048ff0: 08052d95 .word 0x08052d95 8048ff4: 08052d95 .word 0x08052d95 8048ff8: 080495ef .word 0x080495ef 8048ffc: 08052d95 .word 0x08052d95 8049000: 08052d95 .word 0x08052d95 8049004: 08052d95 .word 0x08052d95 8049008: 08052d95 .word 0x08052d95 804900c: 08052d95 .word 0x08052d95 8049010: 08052d95 .word 0x08052d95 8049014: 08052d95 .word 0x08052d95 8049018: 08052d95 .word 0x08052d95 804901c: 08052d95 .word 0x08052d95 8049020: 08052d95 .word 0x08052d95 8049024: 08052d95 .word 0x08052d95 8049028: 08052d95 .word 0x08052d95 804902c: 08052d95 .word 0x08052d95 8049030: 08052d95 .word 0x08052d95 8049034: 08052d95 .word 0x08052d95 8049038: 08052d95 .word 0x08052d95 804903c: 08052d95 .word 0x08052d95 8049040: 08049083 .word 0x08049083 8049044: 08049083 .word 0x08049083 8049048: 08049083 .word 0x08049083 { case VIEW_PORTRET: if(menupos == Cursor) 804904c: 4b75 ldr r3, [pc, #468] ; (8049224 ) 804904e: 781b ldrb r3, [r3, #0] 8049050: b2db uxtb r3, r3 8049052: 2b06 cmp r3, #6 8049054: d105 bne.n 8049062 menupos = lastmenupos; 8049056: 4b74 ldr r3, [pc, #464] ; (8049228 ) 8049058: 781b ldrb r3, [r3, #0] 804905a: b2da uxtb r2, r3 804905c: 4b71 ldr r3, [pc, #452] ; (8049224 ) 804905e: 701a strb r2, [r3, #0] else { menu = ROLL_RESULTS; menupos = DefectType; } break; 8049060: e321 b.n 80496a6 menu = ROLL_RESULTS; 8049062: 4b6f ldr r3, [pc, #444] ; (8049220 ) 8049064: 2227 movs r2, #39 ; 0x27 8049066: 701a strb r2, [r3, #0] menupos = DefectType; 8049068: 4b70 ldr r3, [pc, #448] ; (804922c ) 804906a: 781b ldrb r3, [r3, #0] 804906c: b2da uxtb r2, r3 804906e: 4b6d ldr r3, [pc, #436] ; (8049224 ) 8049070: 701a strb r2, [r3, #0] break; 8049072: e318 b.n 80496a6 case ROLL_RESULTS: menu = MAIN_ROLL; 8049074: 4b6a ldr r3, [pc, #424] ; (8049220 ) 8049076: 2224 movs r2, #36 ; 0x24 8049078: 701a strb r2, [r3, #0] menupos = Results; 804907a: 4b6a ldr r3, [pc, #424] ; (8049224 ) 804907c: 2208 movs r2, #8 804907e: 701a strb r2, [r3, #0] break; 8049080: e311 b.n 80496a6 case TREND_A: case TREND_V: case TREND_S: menu = lastmenu; 8049082: 4b6b ldr r3, [pc, #428] ; (8049230 ) 8049084: 781b ldrb r3, [r3, #0] 8049086: b2da uxtb r2, r3 8049088: 4b65 ldr r3, [pc, #404] ; (8049220 ) 804908a: 701a strb r2, [r3, #0] menupos = lastmenupos; 804908c: 4b66 ldr r3, [pc, #408] ; (8049228 ) 804908e: 781b ldrb r3, [r3, #0] 8049090: b2da uxtb r2, r3 8049092: 4b64 ldr r3, [pc, #400] ; (8049224 ) 8049094: 701a strb r2, [r3, #0] Threshold = false; 8049096: 4b67 ldr r3, [pc, #412] ; (8049234 ) 8049098: 2200 movs r2, #0 804909a: 701a strb r2, [r3, #0] FIRST = true; 804909c: 4b66 ldr r3, [pc, #408] ; (8049238 ) 804909e: 2201 movs r2, #1 80490a0: 701a strb r2, [r3, #0] break; 80490a2: e300 b.n 80496a6 case MAIN: case MAIN_FRAN: focused = false; 80490a4: 4b65 ldr r3, [pc, #404] ; (804923c ) 80490a6: 2200 movs r2, #0 80490a8: 701a strb r2, [r3, #0] StopMeas(); 80490aa: f7da fb77 bl 802379c menu = PARAM_VIB; 80490ae: 4b5c ldr r3, [pc, #368] ; (8049220 ) 80490b0: 2206 movs r2, #6 80490b2: 701a strb r2, [r3, #0] menupos = Ok; 80490b4: 4b5b ldr r3, [pc, #364] ; (8049224 ) 80490b6: 2200 movs r2, #0 80490b8: 701a strb r2, [r3, #0] break; 80490ba: e2f4 b.n 80496a6 case MAIN_OSC: focused = false; 80490bc: 4b5f ldr r3, [pc, #380] ; (804923c ) 80490be: 2200 movs r2, #0 80490c0: 701a strb r2, [r3, #0] if(menupos == Cursor) 80490c2: 4b58 ldr r3, [pc, #352] ; (8049224 ) 80490c4: 781b ldrb r3, [r3, #0] 80490c6: b2db uxtb r3, r3 80490c8: 2b06 cmp r3, #6 80490ca: d105 bne.n 80490d8 menupos = lastmenupos; 80490cc: 4b56 ldr r3, [pc, #344] ; (8049228 ) 80490ce: 781b ldrb r3, [r3, #0] 80490d0: b2da uxtb r2, r3 80490d2: 4b54 ldr r3, [pc, #336] ; (8049224 ) 80490d4: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_OSC; menupos = Ok; READY_TO_SEE = false; } break; 80490d6: e2e6 b.n 80496a6 StopMeas(); 80490d8: f7da fb60 bl 802379c menu = PARAM_OSC; 80490dc: 4b50 ldr r3, [pc, #320] ; (8049220 ) 80490de: 2208 movs r2, #8 80490e0: 701a strb r2, [r3, #0] menupos = Ok; 80490e2: 4b50 ldr r3, [pc, #320] ; (8049224 ) 80490e4: 2200 movs r2, #0 80490e6: 701a strb r2, [r3, #0] READY_TO_SEE = false; 80490e8: 4b55 ldr r3, [pc, #340] ; (8049240 ) 80490ea: 2200 movs r2, #0 80490ec: 701a strb r2, [r3, #0] break; 80490ee: e2da b.n 80496a6 case MAIN_SPEC: focused = false; 80490f0: 4b52 ldr r3, [pc, #328] ; (804923c ) 80490f2: 2200 movs r2, #0 80490f4: 701a strb r2, [r3, #0] if(menupos == Cursor) 80490f6: 4b4b ldr r3, [pc, #300] ; (8049224 ) 80490f8: 781b ldrb r3, [r3, #0] 80490fa: b2db uxtb r3, r3 80490fc: 2b06 cmp r3, #6 80490fe: d105 bne.n 804910c menupos = lastmenupos; 8049100: 4b49 ldr r3, [pc, #292] ; (8049228 ) 8049102: 781b ldrb r3, [r3, #0] 8049104: b2da uxtb r2, r3 8049106: 4b47 ldr r3, [pc, #284] ; (8049224 ) 8049108: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 804910a: e2cc b.n 80496a6 StopMeas(); 804910c: f7da fb46 bl 802379c menu = PARAM_SPEC; 8049110: 4b43 ldr r3, [pc, #268] ; (8049220 ) 8049112: 2207 movs r2, #7 8049114: 701a strb r2, [r3, #0] menupos = Ok; 8049116: 4b43 ldr r3, [pc, #268] ; (8049224 ) 8049118: 2200 movs r2, #0 804911a: 701a strb r2, [r3, #0] READY_TO_SEE = false; 804911c: 4b48 ldr r3, [pc, #288] ; (8049240 ) 804911e: 2200 movs r2, #0 8049120: 701a strb r2, [r3, #0] break; 8049122: e2c0 b.n 80496a6 case MAIN_ROLL: focused = false; 8049124: 4b45 ldr r3, [pc, #276] ; (804923c ) 8049126: 2200 movs r2, #0 8049128: 701a strb r2, [r3, #0] if(menupos == Cursor) 804912a: 4b3e ldr r3, [pc, #248] ; (8049224 ) 804912c: 781b ldrb r3, [r3, #0] 804912e: b2db uxtb r3, r3 8049130: 2b06 cmp r3, #6 8049132: d105 bne.n 8049140 menupos = lastmenupos; 8049134: 4b3c ldr r3, [pc, #240] ; (8049228 ) 8049136: 781b ldrb r3, [r3, #0] 8049138: b2da uxtb r2, r3 804913a: 4b3a ldr r3, [pc, #232] ; (8049224 ) 804913c: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_ROLL; menupos = Ok; READY_TO_SEE = false; } break; 804913e: e2b2 b.n 80496a6 StopMeas(); 8049140: f7da fb2c bl 802379c menu = PARAM_ROLL; 8049144: 4b36 ldr r3, [pc, #216] ; (8049220 ) 8049146: 220d movs r2, #13 8049148: 701a strb r2, [r3, #0] menupos = Ok; 804914a: 4b36 ldr r3, [pc, #216] ; (8049224 ) 804914c: 2200 movs r2, #0 804914e: 701a strb r2, [r3, #0] READY_TO_SEE = false; 8049150: 4b3b ldr r3, [pc, #236] ; (8049240 ) 8049152: 2200 movs r2, #0 8049154: 701a strb r2, [r3, #0] break; 8049156: e2a6 b.n 80496a6 case MAIN_SYGNAL: focused = false; 8049158: 4b38 ldr r3, [pc, #224] ; (804923c ) 804915a: 2200 movs r2, #0 804915c: 701a strb r2, [r3, #0] if(menupos == Cursor) 804915e: 4b31 ldr r3, [pc, #196] ; (8049224 ) 8049160: 781b ldrb r3, [r3, #0] 8049162: b2db uxtb r3, r3 8049164: 2b06 cmp r3, #6 8049166: d105 bne.n 8049174 menupos = lastmenupos; 8049168: 4b2f ldr r3, [pc, #188] ; (8049228 ) 804916a: 781b ldrb r3, [r3, #0] 804916c: b2da uxtb r2, r3 804916e: 4b2d ldr r3, [pc, #180] ; (8049224 ) 8049170: 701a strb r2, [r3, #0] else { menu = ARCHIVE_WAVE; menupos = FilesGTR; } break; 8049172: e298 b.n 80496a6 menu = ARCHIVE_WAVE; 8049174: 4b2a ldr r3, [pc, #168] ; (8049220 ) 8049176: 2217 movs r2, #23 8049178: 701a strb r2, [r3, #0] menupos = FilesGTR; 804917a: 4b2a ldr r3, [pc, #168] ; (8049224 ) 804917c: 2202 movs r2, #2 804917e: 701a strb r2, [r3, #0] break; 8049180: e291 b.n 80496a6 case MAIN_SPEC_OGIB: focused = false; 8049182: 4b2e ldr r3, [pc, #184] ; (804923c ) 8049184: 2200 movs r2, #0 8049186: 701a strb r2, [r3, #0] if(menupos == Cursor) 8049188: 4b26 ldr r3, [pc, #152] ; (8049224 ) 804918a: 781b ldrb r3, [r3, #0] 804918c: b2db uxtb r3, r3 804918e: 2b06 cmp r3, #6 8049190: d105 bne.n 804919e menupos = lastmenupos; 8049192: 4b25 ldr r3, [pc, #148] ; (8049228 ) 8049194: 781b ldrb r3, [r3, #0] 8049196: b2da uxtb r2, r3 8049198: 4b22 ldr r3, [pc, #136] ; (8049224 ) 804919a: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 804919c: e283 b.n 80496a6 StopMeas(); 804919e: f7da fafd bl 802379c menu = PARAM_SPEC; 80491a2: 4b1f ldr r3, [pc, #124] ; (8049220 ) 80491a4: 2207 movs r2, #7 80491a6: 701a strb r2, [r3, #0] menupos = Ok; 80491a8: 4b1e ldr r3, [pc, #120] ; (8049224 ) 80491aa: 2200 movs r2, #0 80491ac: 701a strb r2, [r3, #0] READY_TO_SEE = false; 80491ae: 4b24 ldr r3, [pc, #144] ; (8049240 ) 80491b0: 2200 movs r2, #0 80491b2: 701a strb r2, [r3, #0] break; 80491b4: e277 b.n 80496a6 case MAIN_SPEC_OKT: focused = false; 80491b6: 4b21 ldr r3, [pc, #132] ; (804923c ) 80491b8: 2200 movs r2, #0 80491ba: 701a strb r2, [r3, #0] if(menupos == Cursor) 80491bc: 4b19 ldr r3, [pc, #100] ; (8049224 ) 80491be: 781b ldrb r3, [r3, #0] 80491c0: b2db uxtb r3, r3 80491c2: 2b06 cmp r3, #6 80491c4: d105 bne.n 80491d2 menupos = lastmenupos; 80491c6: 4b18 ldr r3, [pc, #96] ; (8049228 ) 80491c8: 781b ldrb r3, [r3, #0] 80491ca: b2da uxtb r2, r3 80491cc: 4b15 ldr r3, [pc, #84] ; (8049224 ) 80491ce: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 80491d0: e269 b.n 80496a6 StopMeas(); 80491d2: f7da fae3 bl 802379c menu = PARAM_SPEC; 80491d6: 4b12 ldr r3, [pc, #72] ; (8049220 ) 80491d8: 2207 movs r2, #7 80491da: 701a strb r2, [r3, #0] menupos = Ok; 80491dc: 4b11 ldr r3, [pc, #68] ; (8049224 ) 80491de: 2200 movs r2, #0 80491e0: 701a strb r2, [r3, #0] READY_TO_SEE = false; 80491e2: 4b17 ldr r3, [pc, #92] ; (8049240 ) 80491e4: 2200 movs r2, #0 80491e6: 701a strb r2, [r3, #0] break; 80491e8: e25d b.n 80496a6 case MAIN_UDAR: focused = false; 80491ea: 4b14 ldr r3, [pc, #80] ; (804923c ) 80491ec: 2200 movs r2, #0 80491ee: 701a strb r2, [r3, #0] if(menupos == Cursor) 80491f0: 4b0c ldr r3, [pc, #48] ; (8049224 ) 80491f2: 781b ldrb r3, [r3, #0] 80491f4: b2db uxtb r3, r3 80491f6: 2b06 cmp r3, #6 80491f8: d105 bne.n 8049206 menupos = lastmenupos; 80491fa: 4b0b ldr r3, [pc, #44] ; (8049228 ) 80491fc: 781b ldrb r3, [r3, #0] 80491fe: b2da uxtb r2, r3 8049200: 4b08 ldr r3, [pc, #32] ; (8049224 ) 8049202: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_UDAR; menupos = Ok; READY_TO_SEE = false; } break; 8049204: e24f b.n 80496a6 StopMeas(); 8049206: f7da fac9 bl 802379c menu = PARAM_UDAR; 804920a: 4b05 ldr r3, [pc, #20] ; (8049220 ) 804920c: 220e movs r2, #14 804920e: 701a strb r2, [r3, #0] menupos = Ok; 8049210: 4b04 ldr r3, [pc, #16] ; (8049224 ) 8049212: 2200 movs r2, #0 8049214: 701a strb r2, [r3, #0] READY_TO_SEE = false; 8049216: 4b0a ldr r3, [pc, #40] ; (8049240 ) 8049218: 2200 movs r2, #0 804921a: 701a strb r2, [r3, #0] break; 804921c: e243 b.n 80496a6 804921e: bf00 nop 8049220: 20020f78 .word 0x20020f78 8049224: 20020070 .word 0x20020070 8049228: 20020071 .word 0x20020071 804922c: 20021520 .word 0x20021520 8049230: 20020f79 .word 0x20020f79 8049234: 20020db1 .word 0x20020db1 8049238: 20020db2 .word 0x20020db2 804923c: 20020f84 .word 0x20020f84 8049240: 20020d8e .word 0x20020d8e case MAIN_DIAGN: focused = false; 8049244: 4bad ldr r3, [pc, #692] ; (80494fc ) 8049246: 2200 movs r2, #0 8049248: 701a strb r2, [r3, #0] StopMeas(); 804924a: f7da faa7 bl 802379c menu = PARAM_DIAGN_2; 804924e: 4bac ldr r3, [pc, #688] ; (8049500 ) 8049250: 2211 movs r2, #17 8049252: 701a strb r2, [r3, #0] menupos = Ok; 8049254: 4bab ldr r3, [pc, #684] ; (8049504 ) 8049256: 2200 movs r2, #0 8049258: 701a strb r2, [r3, #0] break; 804925a: e224 b.n 80496a6 case MAIN_SPEC_THIRD: focused = false; 804925c: 4ba7 ldr r3, [pc, #668] ; (80494fc ) 804925e: 2200 movs r2, #0 8049260: 701a strb r2, [r3, #0] if(menupos == Cursor) 8049262: 4ba8 ldr r3, [pc, #672] ; (8049504 ) 8049264: 781b ldrb r3, [r3, #0] 8049266: b2db uxtb r3, r3 8049268: 2b06 cmp r3, #6 804926a: d105 bne.n 8049278 menupos = lastmenupos; 804926c: 4ba6 ldr r3, [pc, #664] ; (8049508 ) 804926e: 781b ldrb r3, [r3, #0] 8049270: b2da uxtb r2, r3 8049272: 4ba4 ldr r3, [pc, #656] ; (8049504 ) 8049274: 701a strb r2, [r3, #0] StopMeas(); menu = PARAM_SPEC; menupos = Ok; READY_TO_SEE = false; } break; 8049276: e216 b.n 80496a6 StopMeas(); 8049278: f7da fa90 bl 802379c menu = PARAM_SPEC; 804927c: 4ba0 ldr r3, [pc, #640] ; (8049500 ) 804927e: 2207 movs r2, #7 8049280: 701a strb r2, [r3, #0] menupos = Ok; 8049282: 4ba0 ldr r3, [pc, #640] ; (8049504 ) 8049284: 2200 movs r2, #0 8049286: 701a strb r2, [r3, #0] READY_TO_SEE = false; 8049288: 4ba0 ldr r3, [pc, #640] ; (804950c ) 804928a: 2200 movs r2, #0 804928c: 701a strb r2, [r3, #0] break; 804928e: e20a b.n 80496a6 case MAIN_WAVE: focused = false; 8049290: 4b9a ldr r3, [pc, #616] ; (80494fc ) 8049292: 2200 movs r2, #0 8049294: 701a strb r2, [r3, #0] StopMeas(); 8049296: f7da fa81 bl 802379c if(IS_ROUTE == false) 804929a: 4b9d ldr r3, [pc, #628] ; (8049510 ) 804929c: 781b ldrb r3, [r3, #0] 804929e: b2db uxtb r3, r3 80492a0: f083 0301 eor.w r3, r3, #1 80492a4: b2db uxtb r3, r3 80492a6: 2b00 cmp r3, #0 80492a8: d009 beq.n 80492be { menu = PARAM_WAVE; 80492aa: 4b95 ldr r3, [pc, #596] ; (8049500 ) 80492ac: 220a movs r2, #10 80492ae: 701a strb r2, [r3, #0] menupos = Ok; 80492b0: 4b94 ldr r3, [pc, #592] ; (8049504 ) 80492b2: 2200 movs r2, #0 80492b4: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 80492b6: 4b97 ldr r3, [pc, #604] ; (8049514 ) 80492b8: 2200 movs r2, #0 80492ba: 709a strb r2, [r3, #2] }*/ if(RouteMeas(RouteIndex) == 0) menupos = GoMeas; else menupos = NextPoint; } break; 80492bc: e1f3 b.n 80496a6 IS_ROUTE = false; 80492be: 4b94 ldr r3, [pc, #592] ; (8049510 ) 80492c0: 2200 movs r2, #0 80492c2: 701a strb r2, [r3, #0] menu = ROUTE_MAP; 80492c4: 4b8e ldr r3, [pc, #568] ; (8049500 ) 80492c6: 2204 movs r2, #4 80492c8: 701a strb r2, [r3, #0] if(RouteMeas(RouteIndex) == 0) 80492ca: 4b93 ldr r3, [pc, #588] ; (8049518 ) 80492cc: 681a ldr r2, [r3, #0] 80492ce: 4b93 ldr r3, [pc, #588] ; (804951c ) 80492d0: 4413 add r3, r2 80492d2: 781b ldrb r3, [r3, #0] 80492d4: 2b00 cmp r3, #0 80492d6: d103 bne.n 80492e0 menupos = GoMeas; 80492d8: 4b8a ldr r3, [pc, #552] ; (8049504 ) 80492da: 2201 movs r2, #1 80492dc: 701a strb r2, [r3, #0] break; 80492de: e1e2 b.n 80496a6 else menupos = NextPoint; 80492e0: 4b88 ldr r3, [pc, #544] ; (8049504 ) 80492e2: 2202 movs r2, #2 80492e4: 701a strb r2, [r3, #0] break; 80492e6: e1de b.n 80496a6 case EXPLORER: focused = false; 80492e8: 4b84 ldr r3, [pc, #528] ; (80494fc ) 80492ea: 2200 movs r2, #0 80492ec: 701a strb r2, [r3, #0] if(NeedClean == 0) 80492ee: 4b8c ldr r3, [pc, #560] ; (8049520 ) 80492f0: 781b ldrb r3, [r3, #0] 80492f2: b2db uxtb r3, r3 80492f4: 2b00 cmp r3, #0 80492f6: f040 81cc bne.w 8049692 { memset(MeasFileName, 0, sizeof(MeasFileName));//TODO 80492fa: 2221 movs r2, #33 ; 0x21 80492fc: 2100 movs r1, #0 80492fe: 4889 ldr r0, [pc, #548] ; (8049524 ) 8049300: f083 febe bl 80cd080 menu = PARAM_VIB; 8049304: 4b7e ldr r3, [pc, #504] ; (8049500 ) 8049306: 2206 movs r2, #6 8049308: 701a strb r2, [r3, #0] menupos = SaveToFile; 804930a: 4b7e ldr r3, [pc, #504] ; (8049504 ) 804930c: 220a movs r2, #10 804930e: 701a strb r2, [r3, #0] } break; 8049310: e1bf b.n 8049692 case EXPLORER_DIAGN: focused = false; 8049312: 4b7a ldr r3, [pc, #488] ; (80494fc ) 8049314: 2200 movs r2, #0 8049316: 701a strb r2, [r3, #0] if(NeedClean == 0) 8049318: 4b81 ldr r3, [pc, #516] ; (8049520 ) 804931a: 781b ldrb r3, [r3, #0] 804931c: b2db uxtb r3, r3 804931e: 2b00 cmp r3, #0 8049320: f040 81ba bne.w 8049698 { memset(DiagFileName, 0, sizeof(DiagFileName));//TODO 8049324: 2221 movs r2, #33 ; 0x21 8049326: 2100 movs r1, #0 8049328: 487f ldr r0, [pc, #508] ; (8049528 ) 804932a: f083 fea9 bl 80cd080 menu = PARAM_DIAGN; 804932e: 4b74 ldr r3, [pc, #464] ; (8049500 ) 8049330: 220f movs r2, #15 8049332: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 8049334: 4b73 ldr r3, [pc, #460] ; (8049504 ) 8049336: 2204 movs r2, #4 8049338: 701a strb r2, [r3, #0] } break; 804933a: e1ad b.n 8049698 focused = false; menu = SETTINGS; menupos = Accel; break;*/ case PARAM_DIAGN_2: focused = false; 804933c: 4b6f ldr r3, [pc, #444] ; (80494fc ) 804933e: 2200 movs r2, #0 8049340: 701a strb r2, [r3, #0] menu = PARAM_DIAGN_1; 8049342: 4b6f ldr r3, [pc, #444] ; (8049500 ) 8049344: 2210 movs r2, #16 8049346: 701a strb r2, [r3, #0] menupos = CURR_POINT; 8049348: 4b78 ldr r3, [pc, #480] ; (804952c ) 804934a: 781b ldrb r3, [r3, #0] 804934c: b2da uxtb r2, r3 804934e: 4b6d ldr r3, [pc, #436] ; (8049504 ) 8049350: 701a strb r2, [r3, #0] break; 8049352: e1a8 b.n 80496a6 case PARAM_DIAGN_1: focused = false; 8049354: 4b69 ldr r3, [pc, #420] ; (80494fc ) 8049356: 2200 movs r2, #0 8049358: 701a strb r2, [r3, #0] menu = PARAM_DIAGN; 804935a: 4b69 ldr r3, [pc, #420] ; (8049500 ) 804935c: 220f movs r2, #15 804935e: 701a strb r2, [r3, #0] menupos = DiagUs; 8049360: 4b68 ldr r3, [pc, #416] ; (8049504 ) 8049362: 2200 movs r2, #0 8049364: 701a strb r2, [r3, #0] break; 8049366: e19e b.n 80496a6 case PARAM_VIB: focused = false; 8049368: 4b64 ldr r3, [pc, #400] ; (80494fc ) 804936a: 2200 movs r2, #0 804936c: 701a strb r2, [r3, #0] menu = MEAS_MODE; 804936e: 4b64 ldr r3, [pc, #400] ; (8049500 ) 8049370: 2202 movs r2, #2 8049372: 701a strb r2, [r3, #0] menupos = Vibrometer; 8049374: 4b63 ldr r3, [pc, #396] ; (8049504 ) 8049376: 2201 movs r2, #1 8049378: 701a strb r2, [r3, #0] break; 804937a: e194 b.n 80496a6 case PARAM_OSC: focused = false; 804937c: 4b5f ldr r3, [pc, #380] ; (80494fc ) 804937e: 2200 movs r2, #0 8049380: 701a strb r2, [r3, #0] menu = MEAS_MODE; 8049382: 4b5f ldr r3, [pc, #380] ; (8049500 ) 8049384: 2202 movs r2, #2 8049386: 701a strb r2, [r3, #0] menupos = Osc; 8049388: 4b5e ldr r3, [pc, #376] ; (8049504 ) 804938a: 2202 movs r2, #2 804938c: 701a strb r2, [r3, #0] break; 804938e: e18a b.n 80496a6 case PARAM_SPEC: focused = false; 8049390: 4b5a ldr r3, [pc, #360] ; (80494fc ) 8049392: 2200 movs r2, #0 8049394: 701a strb r2, [r3, #0] menu = MEAS_MODE; 8049396: 4b5a ldr r3, [pc, #360] ; (8049500 ) 8049398: 2202 movs r2, #2 804939a: 701a strb r2, [r3, #0] menupos = FFT; 804939c: 4b59 ldr r3, [pc, #356] ; (8049504 ) 804939e: 2203 movs r2, #3 80493a0: 701a strb r2, [r3, #0] break; 80493a2: e180 b.n 80496a6 case PARAM_WAVE: focused = false; 80493a4: 4b55 ldr r3, [pc, #340] ; (80494fc ) 80493a6: 2200 movs r2, #0 80493a8: 701a strb r2, [r3, #0] menu = MEAS_MODE; 80493aa: 4b55 ldr r3, [pc, #340] ; (8049500 ) 80493ac: 2202 movs r2, #2 80493ae: 701a strb r2, [r3, #0] menupos = Wave; 80493b0: 4b54 ldr r3, [pc, #336] ; (8049504 ) 80493b2: 2204 movs r2, #4 80493b4: 701a strb r2, [r3, #0] break; 80493b6: e176 b.n 80496a6 case PARAM_ROLL: focused = false; 80493b8: 4b50 ldr r3, [pc, #320] ; (80494fc ) 80493ba: 2200 movs r2, #0 80493bc: 701a strb r2, [r3, #0] menu = MEAS_MODE; 80493be: 4b50 ldr r3, [pc, #320] ; (8049500 ) 80493c0: 2202 movs r2, #2 80493c2: 701a strb r2, [r3, #0] menupos = Roll; 80493c4: 4b4f ldr r3, [pc, #316] ; (8049504 ) 80493c6: 2206 movs r2, #6 80493c8: 701a strb r2, [r3, #0] break; 80493ca: e16c b.n 80496a6 case PARAM_UDAR: focused = false; 80493cc: 4b4b ldr r3, [pc, #300] ; (80494fc ) 80493ce: 2200 movs r2, #0 80493d0: 701a strb r2, [r3, #0] menu = MEAS_MODE; 80493d2: 4b4b ldr r3, [pc, #300] ; (8049500 ) 80493d4: 2202 movs r2, #2 80493d6: 701a strb r2, [r3, #0] menupos = Udar; 80493d8: 4b4a ldr r3, [pc, #296] ; (8049504 ) 80493da: 2207 movs r2, #7 80493dc: 701a strb r2, [r3, #0] break; 80493de: e162 b.n 80496a6 case PARAM_DIAGN: focused = false; 80493e0: 4b46 ldr r3, [pc, #280] ; (80494fc ) 80493e2: 2200 movs r2, #0 80493e4: 701a strb r2, [r3, #0] menu = MEAS_MODE; 80493e6: 4b46 ldr r3, [pc, #280] ; (8049500 ) 80493e8: 2202 movs r2, #2 80493ea: 701a strb r2, [r3, #0] menupos = Diagn; 80493ec: 4b45 ldr r3, [pc, #276] ; (8049504 ) 80493ee: 2205 movs r2, #5 80493f0: 701a strb r2, [r3, #0] break; 80493f2: e158 b.n 80496a6 case MEAS_MODE: focused = false; 80493f4: 4b41 ldr r3, [pc, #260] ; (80494fc ) 80493f6: 2200 movs r2, #0 80493f8: 701a strb r2, [r3, #0] menu = OPTIONS; 80493fa: 4b41 ldr r3, [pc, #260] ; (8049500 ) 80493fc: 2201 movs r2, #1 80493fe: 701a strb r2, [r3, #0] menupos = Mode; 8049400: 4b40 ldr r3, [pc, #256] ; (8049504 ) 8049402: 2201 movs r2, #1 8049404: 701a strb r2, [r3, #0] break; 8049406: e14e b.n 80496a6 case ARCHIVE_WAVE: focused = false; 8049408: 4b3c ldr r3, [pc, #240] ; (80494fc ) 804940a: 2200 movs r2, #0 804940c: 701a strb r2, [r3, #0] if(NeedClean == 0) 804940e: 4b44 ldr r3, [pc, #272] ; (8049520 ) 8049410: 781b ldrb r3, [r3, #0] 8049412: b2db uxtb r3, r3 8049414: 2b00 cmp r3, #0 8049416: f040 8142 bne.w 804969e { menu = OPTIONS; 804941a: 4b39 ldr r3, [pc, #228] ; (8049500 ) 804941c: 2201 movs r2, #1 804941e: 701a strb r2, [r3, #0] menupos = PlayFiles; 8049420: 4b38 ldr r3, [pc, #224] ; (8049504 ) 8049422: 2203 movs r2, #3 8049424: 701a strb r2, [r3, #0] } break; 8049426: e13a b.n 804969e case ROUTE: focused = false; 8049428: 4b34 ldr r3, [pc, #208] ; (80494fc ) 804942a: 2200 movs r2, #0 804942c: 701a strb r2, [r3, #0] if(NeedClean == 0) 804942e: 4b3c ldr r3, [pc, #240] ; (8049520 ) 8049430: 781b ldrb r3, [r3, #0] 8049432: b2db uxtb r3, r3 8049434: 2b00 cmp r3, #0 8049436: f040 8135 bne.w 80496a4 { RouteIndex = MaxRouteIndex = 0; 804943a: 2300 movs r3, #0 804943c: 4a3c ldr r2, [pc, #240] ; (8049530 ) 804943e: 6013 str r3, [r2, #0] 8049440: 4a35 ldr r2, [pc, #212] ; (8049518 ) 8049442: 6013 str r3, [r2, #0] memset((void *) &RouteMeas(0), 0, 65536u); 8049444: f44f 3280 mov.w r2, #65536 ; 0x10000 8049448: 2100 movs r1, #0 804944a: 4834 ldr r0, [pc, #208] ; (804951c ) 804944c: f083 fe18 bl 80cd080 menu = OPTIONS; 8049450: 4b2b ldr r3, [pc, #172] ; (8049500 ) 8049452: 2201 movs r2, #1 8049454: 701a strb r2, [r3, #0] menupos = Route; 8049456: 4b2b ldr r3, [pc, #172] ; (8049504 ) 8049458: 2204 movs r2, #4 804945a: 701a strb r2, [r3, #0] } break; 804945c: e122 b.n 80496a4 case ROUTE_MAP: focused = false; 804945e: 4b27 ldr r3, [pc, #156] ; (80494fc ) 8049460: 2200 movs r2, #0 8049462: 701a strb r2, [r3, #0] menu = ROUTE; 8049464: 4b26 ldr r3, [pc, #152] ; (8049500 ) 8049466: 2203 movs r2, #3 8049468: 701a strb r2, [r3, #0] menupos = FilesCSV; 804946a: 4b26 ldr r3, [pc, #152] ; (8049504 ) 804946c: 2202 movs r2, #2 804946e: 701a strb r2, [r3, #0] memcpy((void *) &pardata, (void *) &pardata_old, sizeof(pardata)); 8049470: 4a28 ldr r2, [pc, #160] ; (8049514 ) 8049472: 4b30 ldr r3, [pc, #192] ; (8049534 ) 8049474: 4610 mov r0, r2 8049476: 4619 mov r1, r3 8049478: f44f 6396 mov.w r3, #1200 ; 0x4b0 804947c: 461a mov r2, r3 804947e: f083 fdf4 bl 80cd06a RouteIndex = 0; 8049482: 4b25 ldr r3, [pc, #148] ; (8049518 ) 8049484: 2200 movs r2, #0 8049486: 601a str r2, [r3, #0] for(i = 0; i < MaxRouteIndex; i++) 8049488: 2300 movs r3, #0 804948a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804948e: e058 b.n 8049542 { if(RouteMeas(i) != 0) 8049490: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8049494: 4b21 ldr r3, [pc, #132] ; (804951c ) 8049496: 4413 add r3, r2 8049498: 781b ldrb r3, [r3, #0] 804949a: 2b00 cmp r3, #0 804949c: d04c beq.n 8049538 { RouteIndex = i + 1; 804949e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80494a2: 3301 adds r3, #1 80494a4: 4a1c ldr r2, [pc, #112] ; (8049518 ) 80494a6: 6013 str r3, [r2, #0] if(RouteIndex == MaxRouteIndex) 80494a8: 4b1b ldr r3, [pc, #108] ; (8049518 ) 80494aa: 681a ldr r2, [r3, #0] 80494ac: 4b20 ldr r3, [pc, #128] ; (8049530 ) 80494ae: 681b ldr r3, [r3, #0] 80494b0: 429a cmp r2, r3 80494b2: d141 bne.n 8049538 { for(l = 0; l < MaxRouteIndex; l++) 80494b4: 2300 movs r3, #0 80494b6: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 80494ba: e00f b.n 80494dc { if(RouteMeas(l) == 0) { 80494bc: f8d7 20b8 ldr.w r2, [r7, #184] ; 0xb8 80494c0: 4b16 ldr r3, [pc, #88] ; (804951c ) 80494c2: 4413 add r3, r2 80494c4: 781b ldrb r3, [r3, #0] 80494c6: 2b00 cmp r3, #0 80494c8: d103 bne.n 80494d2 RouteIndex = l; 80494ca: 4a13 ldr r2, [pc, #76] ; (8049518 ) 80494cc: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 80494d0: 6013 str r3, [r2, #0] for(l = 0; l < MaxRouteIndex; l++) 80494d2: f8d7 30b8 ldr.w r3, [r7, #184] ; 0xb8 80494d6: 3301 adds r3, #1 80494d8: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 80494dc: 4b14 ldr r3, [pc, #80] ; (8049530 ) 80494de: 681b ldr r3, [r3, #0] 80494e0: f8d7 20b8 ldr.w r2, [r7, #184] ; 0xb8 80494e4: 429a cmp r2, r3 80494e6: d3e9 bcc.n 80494bc } } if(RouteIndex == MaxRouteIndex) 80494e8: 4b0b ldr r3, [pc, #44] ; (8049518 ) 80494ea: 681a ldr r2, [r3, #0] 80494ec: 4b10 ldr r3, [pc, #64] ; (8049530 ) 80494ee: 681b ldr r3, [r3, #0] 80494f0: 429a cmp r2, r3 80494f2: d121 bne.n 8049538 { RouteIndex = 0; 80494f4: 4b08 ldr r3, [pc, #32] ; (8049518 ) 80494f6: 2200 movs r2, #0 80494f8: 601a str r2, [r3, #0] break; 80494fa: e028 b.n 804954e 80494fc: 20020f84 .word 0x20020f84 8049500: 20020f78 .word 0x20020f78 8049504: 20020070 .word 0x20020070 8049508: 20020071 .word 0x20020071 804950c: 20020d8e .word 0x20020d8e 8049510: 20020db3 .word 0x20020db3 8049514: 20023e60 .word 0x20023e60 8049518: 20020f6c .word 0x20020f6c 804951c: 64100000 .word 0x64100000 8049520: 20020ddc .word 0x20020ddc 8049524: 20020e58 .word 0x20020e58 8049528: 20020e7c .word 0x20020e7c 804952c: 20021011 .word 0x20021011 8049530: 20020f70 .word 0x20020f70 8049534: 2002437c .word 0x2002437c for(i = 0; i < MaxRouteIndex; i++) 8049538: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804953c: 3301 adds r3, #1 804953e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8049542: 4bc2 ldr r3, [pc, #776] ; (804984c ) 8049544: 681b ldr r3, [r3, #0] 8049546: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804954a: 429a cmp r2, r3 804954c: d3a0 bcc.n 8049490 } } } } pardata.ROUTE_POINT = RouteIndex; 804954e: 4bc0 ldr r3, [pc, #768] ; (8049850 ) 8049550: 681b ldr r3, [r3, #0] 8049552: 4ac0 ldr r2, [pc, #768] ; (8049854 ) 8049554: f8c2 34ac str.w r3, [r2, #1196] ; 0x4ac if(pardata.ROUTE_POINT >= MaxRouteIndex) { 8049558: 4bbe ldr r3, [pc, #760] ; (8049854 ) 804955a: f8d3 24ac ldr.w r2, [r3, #1196] ; 0x4ac 804955e: 4bbb ldr r3, [pc, #748] ; (804984c ) 8049560: 681b ldr r3, [r3, #0] 8049562: 429a cmp r2, r3 8049564: d303 bcc.n 804956e pardata.ROUTE_POINT = 0; 8049566: 4bbb ldr r3, [pc, #748] ; (8049854 ) 8049568: 2200 movs r2, #0 804956a: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac } memcpy(RouteFileName, RouteName, 40); 804956e: 4aba ldr r2, [pc, #744] ; (8049858 ) 8049570: 4bba ldr r3, [pc, #744] ; (804985c ) 8049572: 4610 mov r0, r2 8049574: f103 0420 add.w r4, r3, #32 8049578: 4602 mov r2, r0 804957a: 4619 mov r1, r3 804957c: f8d1 e000 ldr.w lr, [r1] 8049580: 684e ldr r6, [r1, #4] 8049582: 688d ldr r5, [r1, #8] 8049584: 68c9 ldr r1, [r1, #12] 8049586: f8c2 e000 str.w lr, [r2] 804958a: 6056 str r6, [r2, #4] 804958c: 6095 str r5, [r2, #8] 804958e: 60d1 str r1, [r2, #12] 8049590: 3310 adds r3, #16 8049592: 3010 adds r0, #16 8049594: 42a3 cmp r3, r4 8049596: d1ef bne.n 8049578 8049598: 4602 mov r2, r0 804959a: 6819 ldr r1, [r3, #0] 804959c: 685b ldr r3, [r3, #4] 804959e: 6011 str r1, [r2, #0] 80495a0: 6053 str r3, [r2, #4] wrPar(); 80495a2: f7e4 fe71 bl 802e288 RoutePointID = 0xffffffff; 80495a6: 4bae ldr r3, [pc, #696] ; (8049860 ) 80495a8: f04f 32ff mov.w r2, #4294967295 80495ac: 601a str r2, [r3, #0] RouteIndex = MaxRouteIndex = 0; 80495ae: 2300 movs r3, #0 80495b0: 4aa6 ldr r2, [pc, #664] ; (804984c ) 80495b2: 6013 str r3, [r2, #0] 80495b4: 4aa6 ldr r2, [pc, #664] ; (8049850 ) 80495b6: 6013 str r3, [r2, #0] memset((void *) &RouteMeas(0), 0, 65536u); 80495b8: f44f 3280 mov.w r2, #65536 ; 0x10000 80495bc: 2100 movs r1, #0 80495be: 48a9 ldr r0, [pc, #676] ; (8049864 ) 80495c0: f083 fd5e bl 80cd080 break; 80495c4: e06f b.n 80496a6 case SETTINGS: focused = false; 80495c6: 4ba8 ldr r3, [pc, #672] ; (8049868 ) 80495c8: 2200 movs r2, #0 80495ca: 701a strb r2, [r3, #0] menu = OPTIONS; 80495cc: 4ba7 ldr r3, [pc, #668] ; (804986c ) 80495ce: 2201 movs r2, #1 80495d0: 701a strb r2, [r3, #0] menupos = Settings; 80495d2: 4ba7 ldr r3, [pc, #668] ; (8049870 ) 80495d4: 2202 movs r2, #2 80495d6: 701a strb r2, [r3, #0] break; 80495d8: e065 b.n 80496a6 case DATETIME: focused = false; 80495da: 4ba3 ldr r3, [pc, #652] ; (8049868 ) 80495dc: 2200 movs r2, #0 80495de: 701a strb r2, [r3, #0] menu = SETTINGS; 80495e0: 4ba2 ldr r3, [pc, #648] ; (804986c ) 80495e2: 2212 movs r2, #18 80495e4: 701a strb r2, [r3, #0] menupos = DateTime; 80495e6: 4ba2 ldr r3, [pc, #648] ; (8049870 ) 80495e8: 2204 movs r2, #4 80495ea: 701a strb r2, [r3, #0] break; 80495ec: e05b b.n 80496a6 case INPUT_NAME: focused = false; 80495ee: 4b9e ldr r3, [pc, #632] ; (8049868 ) 80495f0: 2200 movs r2, #0 80495f2: 701a strb r2, [r3, #0] NameLen = strlen(Name); 80495f4: 489f ldr r0, [pc, #636] ; (8049874 ) 80495f6: f7d6 fe8d bl 8020314 80495fa: 4602 mov r2, r0 80495fc: 4b9e ldr r3, [pc, #632] ; (8049878 ) 80495fe: 601a str r2, [r3, #0] menu = PARAM_DIAGN_2; 8049600: 4b9a ldr r3, [pc, #616] ; (804986c ) 8049602: 2211 movs r2, #17 8049604: 701a strb r2, [r3, #0] menupos = lastmenupos; 8049606: 4b9d ldr r3, [pc, #628] ; (804987c ) 8049608: 781b ldrb r3, [r3, #0] 804960a: b2da uxtb r2, r3 804960c: 4b98 ldr r3, [pc, #608] ; (8049870 ) 804960e: 701a strb r2, [r3, #0] break; 8049610: e049 b.n 80496a6 case INPUT_NAME_SPEC: menu = lastmenu; 8049612: 4b9b ldr r3, [pc, #620] ; (8049880 ) 8049614: 781b ldrb r3, [r3, #0] 8049616: b2da uxtb r2, r3 8049618: 4b94 ldr r3, [pc, #592] ; (804986c ) 804961a: 701a strb r2, [r3, #0] menupos = SaveSpec; 804961c: 4b94 ldr r3, [pc, #592] ; (8049870 ) 804961e: 2209 movs r2, #9 8049620: 701a strb r2, [r3, #0] break; 8049622: e040 b.n 80496a6 case INPUT_NAME_PTM: focused = false; 8049624: 4b90 ldr r3, [pc, #576] ; (8049868 ) 8049626: 2200 movs r2, #0 8049628: 701a strb r2, [r3, #0] MeasFileNameLen = strlen(MeasFileName); 804962a: 4896 ldr r0, [pc, #600] ; (8049884 ) 804962c: f7d6 fe72 bl 8020314 8049630: 4602 mov r2, r0 8049632: 4b95 ldr r3, [pc, #596] ; (8049888 ) 8049634: 601a str r2, [r3, #0] menu = EXPLORER; 8049636: 4b8d ldr r3, [pc, #564] ; (804986c ) 8049638: 2229 movs r2, #41 ; 0x29 804963a: 701a strb r2, [r3, #0] menupos = lastmenupos; 804963c: 4b8f ldr r3, [pc, #572] ; (804987c ) 804963e: 781b ldrb r3, [r3, #0] 8049640: b2da uxtb r2, r3 8049642: 4b8b ldr r3, [pc, #556] ; (8049870 ) 8049644: 701a strb r2, [r3, #0] break; 8049646: e02e b.n 80496a6 case INPUT_NAME_GTR: focused = false; 8049648: 4b87 ldr r3, [pc, #540] ; (8049868 ) 804964a: 2200 movs r2, #0 804964c: 701a strb r2, [r3, #0] WavFileNameLen = strlen(WavFileName); 804964e: 488f ldr r0, [pc, #572] ; (804988c ) 8049650: f7d6 fe60 bl 8020314 8049654: 4602 mov r2, r0 8049656: 4b8e ldr r3, [pc, #568] ; (8049890 ) 8049658: 601a str r2, [r3, #0] menu = PARAM_WAVE; 804965a: 4b84 ldr r3, [pc, #528] ; (804986c ) 804965c: 220a movs r2, #10 804965e: 701a strb r2, [r3, #0] menupos = WaveName; 8049660: 4b83 ldr r3, [pc, #524] ; (8049870 ) 8049662: 2204 movs r2, #4 8049664: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8049666: 4b7b ldr r3, [pc, #492] ; (8049854 ) 8049668: 2200 movs r2, #0 804966a: 709a strb r2, [r3, #2] break; 804966c: e01b b.n 80496a6 case INPUT_NAME_DGN: focused = false; 804966e: 4b7e ldr r3, [pc, #504] ; (8049868 ) 8049670: 2200 movs r2, #0 8049672: 701a strb r2, [r3, #0] DiagFileNameLen = strlen(DiagFileName); 8049674: 4887 ldr r0, [pc, #540] ; (8049894 ) 8049676: f7d6 fe4d bl 8020314 804967a: 4602 mov r2, r0 804967c: 4b86 ldr r3, [pc, #536] ; (8049898 ) 804967e: 601a str r2, [r3, #0] menu = EXPLORER_DIAGN; 8049680: 4b7a ldr r3, [pc, #488] ; (804986c ) 8049682: 222a movs r2, #42 ; 0x2a 8049684: 701a strb r2, [r3, #0] menupos = lastmenupos; 8049686: 4b7d ldr r3, [pc, #500] ; (804987c ) 8049688: 781b ldrb r3, [r3, #0] 804968a: b2da uxtb r2, r3 804968c: 4b78 ldr r3, [pc, #480] ; (8049870 ) 804968e: 701a strb r2, [r3, #0] break; 8049690: e009 b.n 80496a6 break; 8049692: bf00 nop 8049694: f009 bb7e b.w 8052d94 break; 8049698: bf00 nop 804969a: f009 bb7b b.w 8052d94 break; 804969e: bf00 nop 80496a0: f009 bb78 b.w 8052d94 break; 80496a4: bf00 nop } break; 80496a6: f009 bb75 b.w 8052d94 case KEY_OK: // TODO KEY OK switch(menu) 80496aa: 4b70 ldr r3, [pc, #448] ; (804986c ) 80496ac: 781b ldrb r3, [r3, #0] 80496ae: b2db uxtb r3, r3 80496b0: 2b47 cmp r3, #71 ; 0x47 80496b2: f209 8371 bhi.w 8052d98 80496b6: a201 add r2, pc, #4 ; (adr r2, 80496bc ) 80496b8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80496bc: 0804a47d .word 0x0804a47d 80496c0: 0804fbe5 .word 0x0804fbe5 80496c4: 080508d9 .word 0x080508d9 80496c8: 080501bd .word 0x080501bd 80496cc: 0805040b .word 0x0805040b 80496d0: 08052d99 .word 0x08052d99 80496d4: 080515d9 .word 0x080515d9 80496d8: 080518e1 .word 0x080518e1 80496dc: 08051b6d .word 0x08051b6d 80496e0: 08052d99 .word 0x08052d99 80496e4: 08051d9f .word 0x08051d9f 80496e8: 08052d99 .word 0x08052d99 80496ec: 08052d99 .word 0x08052d99 80496f0: 0805138d .word 0x0805138d 80496f4: 080512e1 .word 0x080512e1 80496f8: 08050f9f .word 0x08050f9f 80496fc: 08051155 .word 0x08051155 8049700: 08051175 .word 0x08051175 8049704: 08052019 .word 0x08052019 8049708: 08052d99 .word 0x08052d99 804970c: 080527a9 .word 0x080527a9 8049710: 0805299d .word 0x0805299d 8049714: 08052ce1 .word 0x08052ce1 8049718: 08052b25 .word 0x08052b25 804971c: 08052409 .word 0x08052409 8049720: 08052171 .word 0x08052171 8049724: 08052d99 .word 0x08052d99 8049728: 08052d99 .word 0x08052d99 804972c: 0804bc63 .word 0x0804bc63 8049730: 0804a881 .word 0x0804a881 8049734: 0804dd1d .word 0x0804dd1d 8049738: 0804a47d .word 0x0804a47d 804973c: 0804e1a7 .word 0x0804e1a7 8049740: 0804c7c1 .word 0x0804c7c1 8049744: 0804d2f5 .word 0x0804d2f5 8049748: 0804d809 .word 0x0804d809 804974c: 0804b59b .word 0x0804b59b 8049750: 08049db5 .word 0x08049db5 8049754: 080497dd .word 0x080497dd 8049758: 0804af51 .word 0x0804af51 804975c: 0804af75 .word 0x0804af75 8049760: 0804e56d .word 0x0804e56d 8049764: 0804e6e3 .word 0x0804e6e3 8049768: 0804f125 .word 0x0804f125 804976c: 0804f4b3 .word 0x0804f4b3 8049770: 0804fa31 .word 0x0804fa31 8049774: 08052d99 .word 0x08052d99 8049778: 0804f6d9 .word 0x0804f6d9 804977c: 0804f8ad .word 0x0804f8ad 8049780: 0804edbd .word 0x0804edbd 8049784: 0804e895 .word 0x0804e895 8049788: 0804f311 .word 0x0804f311 804978c: 080524d3 .word 0x080524d3 8049790: 0805245d .word 0x0805245d 8049794: 080524ef .word 0x080524ef 8049798: 080524ef .word 0x080524ef 804979c: 080524ef .word 0x080524ef 80497a0: 080524ef .word 0x080524ef 80497a4: 080524ef .word 0x080524ef 80497a8: 080524ef .word 0x080524ef 80497ac: 080524ef .word 0x080524ef 80497b0: 080524ef .word 0x080524ef 80497b4: 0805256b .word 0x0805256b 80497b8: 080525ad .word 0x080525ad 80497bc: 080525eb .word 0x080525eb 80497c0: 08052785 .word 0x08052785 80497c4: 08052d99 .word 0x08052d99 80497c8: 08052d99 .word 0x08052d99 80497cc: 08052d99 .word 0x08052d99 80497d0: 0804a459 .word 0x0804a459 80497d4: 0804a459 .word 0x0804a459 80497d8: 0804a459 .word 0x0804a459 { case MAIN_DIAGN: switch(menupos) 80497dc: 4b24 ldr r3, [pc, #144] ; (8049870 ) 80497de: 781b ldrb r3, [r3, #0] 80497e0: b2db uxtb r3, r3 80497e2: 2b04 cmp r3, #4 80497e4: f209 827e bhi.w 8052ce4 80497e8: a201 add r2, pc, #4 ; (adr r2, 80497f0 ) 80497ea: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80497ee: bf00 nop 80497f0: 08049817 .word 0x08049817 80497f4: 08049805 .word 0x08049805 80497f8: 080498ad .word 0x080498ad 80497fc: 08049da9 .word 0x08049da9 8049800: 08049da9 .word 0x08049da9 { case BackMenu: StopMeas(); 8049804: f7d9 ffca bl 802379c menu = PARAM_DIAGN_2; 8049808: 4b18 ldr r3, [pc, #96] ; (804986c ) 804980a: 2211 movs r2, #17 804980c: 701a strb r2, [r3, #0] menupos = Ok; 804980e: 4b18 ldr r3, [pc, #96] ; (8049870 ) 8049810: 2200 movs r2, #0 8049812: 701a strb r2, [r3, #0] break; 8049814: e2cc b.n 8049db0 case StartStop: if(!measuring) 8049816: 4b21 ldr r3, [pc, #132] ; (804989c ) 8049818: 781b ldrb r3, [r3, #0] 804981a: b2db uxtb r3, r3 804981c: f083 0301 eor.w r3, r3, #1 8049820: b2db uxtb r3, r3 8049822: 2b00 cmp r3, #0 8049824: d00a beq.n 804983c { initAmplif(); 8049826: f7d8 f935 bl 8021a94 StartMeas(); 804982a: f7d9 fc07 bl 802303c FIRST = true; 804982e: 4b1c ldr r3, [pc, #112] ; (80498a0 ) 8049830: 2201 movs r2, #1 8049832: 701a strb r2, [r3, #0] DrawSavedData = false; 8049834: 4b1b ldr r3, [pc, #108] ; (80498a4 ) 8049836: 2200 movs r2, #0 8049838: 701a strb r2, [r3, #0] else { StopMeas(); oldmenupos = menupos; } break; 804983a: e2b9 b.n 8049db0 StopMeas(); 804983c: f7d9 ffae bl 802379c oldmenupos = menupos; 8049840: 4b0b ldr r3, [pc, #44] ; (8049870 ) 8049842: 781b ldrb r3, [r3, #0] 8049844: b2da uxtb r2, r3 8049846: 4b18 ldr r3, [pc, #96] ; (80498a8 ) 8049848: 701a strb r2, [r3, #0] break; 804984a: e2b1 b.n 8049db0 804984c: 20020f70 .word 0x20020f70 8049850: 20020f6c .word 0x20020f6c 8049854: 20023e60 .word 0x20023e60 8049858: 20020ea0 .word 0x20020ea0 804985c: 20022628 .word 0x20022628 8049860: 20020034 .word 0x20020034 8049864: 64100000 .word 0x64100000 8049868: 20020f84 .word 0x20020f84 804986c: 20020f78 .word 0x20020f78 8049870: 20020070 .word 0x20020070 8049874: 20020ec4 .word 0x20020ec4 8049878: 20020ef4 .word 0x20020ef4 804987c: 20020071 .word 0x20020071 8049880: 20020f79 .word 0x20020f79 8049884: 20020e58 .word 0x20020e58 8049888: 20020eec .word 0x20020eec 804988c: 20020e34 .word 0x20020e34 8049890: 20020ee8 .word 0x20020ee8 8049894: 20020e7c .word 0x20020e7c 8049898: 20020ef0 .word 0x20020ef0 804989c: 20020daf .word 0x20020daf 80498a0: 20020db2 .word 0x20020db2 80498a4: 20020dca .word 0x20020dca 80498a8: 20020f7a .word 0x20020f7a case Record: if(CardState == MSD_READY) 80498ac: 4bae ldr r3, [pc, #696] ; (8049b68 ) 80498ae: 781b ldrb r3, [r3, #0] 80498b0: b2db uxtb r3, r3 80498b2: 2b03 cmp r3, #3 80498b4: f040 826d bne.w 8049d92 { if((!measuring) && (!AddToFile) && (!FIRST)) 80498b8: 4bac ldr r3, [pc, #688] ; (8049b6c ) 80498ba: 781b ldrb r3, [r3, #0] 80498bc: b2db uxtb r3, r3 80498be: f083 0301 eor.w r3, r3, #1 80498c2: b2db uxtb r3, r3 80498c4: 2b00 cmp r3, #0 80498c6: f000 8272 beq.w 8049dae 80498ca: 4ba9 ldr r3, [pc, #676] ; (8049b70 ) 80498cc: 781b ldrb r3, [r3, #0] 80498ce: b2db uxtb r3, r3 80498d0: f083 0301 eor.w r3, r3, #1 80498d4: b2db uxtb r3, r3 80498d6: 2b00 cmp r3, #0 80498d8: f000 8269 beq.w 8049dae 80498dc: 4ba5 ldr r3, [pc, #660] ; (8049b74 ) 80498de: 781b ldrb r3, [r3, #0] 80498e0: b2db uxtb r3, r3 80498e2: f083 0301 eor.w r3, r3, #1 80498e6: b2db uxtb r3, r3 80498e8: 2b00 cmp r3, #0 80498ea: f000 8260 beq.w 8049dae { if(NEWFILE) 80498ee: 4ba2 ldr r3, [pc, #648] ; (8049b78 ) 80498f0: 781b ldrb r3, [r3, #0] 80498f2: b2db uxtb r3, r3 80498f4: 2b00 cmp r3, #0 80498f6: d02b beq.n 8049950 { memcpy(TEMP_Comment, Comment, sizeof(Comment)); 80498f8: 4aa0 ldr r2, [pc, #640] ; (8049b7c ) 80498fa: 4ba1 ldr r3, [pc, #644] ; (8049b80 ) 80498fc: 4610 mov r0, r2 80498fe: f103 0420 add.w r4, r3, #32 8049902: 4602 mov r2, r0 8049904: 4619 mov r1, r3 8049906: f8d1 e000 ldr.w lr, [r1] 804990a: 684e ldr r6, [r1, #4] 804990c: 688d ldr r5, [r1, #8] 804990e: 68c9 ldr r1, [r1, #12] 8049910: f8c2 e000 str.w lr, [r2] 8049914: 6056 str r6, [r2, #4] 8049916: 6095 str r5, [r2, #8] 8049918: 60d1 str r1, [r2, #12] 804991a: 3310 adds r3, #16 804991c: 3010 adds r0, #16 804991e: 42a3 cmp r3, r4 8049920: d1ef bne.n 8049902 8049922: 4602 mov r2, r0 8049924: 6819 ldr r1, [r3, #0] 8049926: 685b ldr r3, [r3, #4] 8049928: 6011 str r1, [r2, #0] 804992a: 6053 str r3, [r2, #4] CommentLen = strlen(TEMP_Comment); 804992c: 4893 ldr r0, [pc, #588] ; (8049b7c ) 804992e: f7d6 fcf1 bl 8020314 8049932: 4602 mov r2, r0 8049934: 4b93 ldr r3, [pc, #588] ; (8049b84 ) 8049936: 601a str r2, [r3, #0] lastmenu = menu; 8049938: 4b93 ldr r3, [pc, #588] ; (8049b88 ) 804993a: 781b ldrb r3, [r3, #0] 804993c: b2da uxtb r2, r3 804993e: 4b93 ldr r3, [pc, #588] ; (8049b8c ) 8049940: 701a strb r2, [r3, #0] menu = INPUT_COMMENT_DIAGN; 8049942: 4b91 ldr r3, [pc, #580] ; (8049b88 ) 8049944: 2232 movs r2, #50 ; 0x32 8049946: 701a strb r2, [r3, #0] menupos = _ENTER; 8049948: 4b91 ldr r3, [pc, #580] ; (8049b90 ) 804994a: 2226 movs r2, #38 ; 0x26 804994c: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804994e: e22e b.n 8049dae DiagnFileData.d_Op1_ipr = pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7; 8049950: 4b90 ldr r3, [pc, #576] ; (8049b94 ) 8049952: 781b ldrb r3, [r3, #0] 8049954: b2db uxtb r3, r3 8049956: 4a90 ldr r2, [pc, #576] ; (8049b98 ) 8049958: 338e adds r3, #142 ; 0x8e 804995a: 009b lsls r3, r3, #2 804995c: 4413 add r3, r2 804995e: 791b ldrb r3, [r3, #4] 8049960: b2db uxtb r3, r3 8049962: f003 0307 and.w r3, r3, #7 8049966: b2da uxtb r2, r3 8049968: 4b8c ldr r3, [pc, #560] ; (8049b9c ) 804996a: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7; 804996e: 4b89 ldr r3, [pc, #548] ; (8049b94 ) 8049970: 781b ldrb r3, [r3, #0] 8049972: b2db uxtb r3, r3 8049974: 4a88 ldr r2, [pc, #544] ; (8049b98 ) 8049976: 009b lsls r3, r3, #2 8049978: 4413 add r3, r2 804997a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 804997e: b2db uxtb r3, r3 8049980: f003 0307 and.w r3, r3, #7 8049984: b2da uxtb r2, r3 8049986: 4b85 ldr r3, [pc, #532] ; (8049b9c ) 8049988: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7; 804998c: 4b81 ldr r3, [pc, #516] ; (8049b94 ) 804998e: 781b ldrb r3, [r3, #0] 8049990: b2db uxtb r3, r3 8049992: 4a81 ldr r2, [pc, #516] ; (8049b98 ) 8049994: 009b lsls r3, r3, #2 8049996: 4413 add r3, r2 8049998: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 804999c: b2db uxtb r3, r3 804999e: f003 0307 and.w r3, r3, #7 80499a2: b2da uxtb r2, r3 80499a4: 4b7d ldr r3, [pc, #500] ; (8049b9c ) 80499a6: f883 202a strb.w r2, [r3, #42] ; 0x2a switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 80499aa: 4b7a ldr r3, [pc, #488] ; (8049b94 ) 80499ac: 781b ldrb r3, [r3, #0] 80499ae: b2db uxtb r3, r3 80499b0: 4a79 ldr r2, [pc, #484] ; (8049b98 ) 80499b2: 338e adds r3, #142 ; 0x8e 80499b4: 009b lsls r3, r3, #2 80499b6: 4413 add r3, r2 80499b8: 791b ldrb r3, [r3, #4] 80499ba: b2db uxtb r3, r3 80499bc: 08db lsrs r3, r3, #3 80499be: b2db uxtb r3, r3 80499c0: f003 031f and.w r3, r3, #31 80499c4: 3b01 subs r3, #1 80499c6: 2b0f cmp r3, #15 80499c8: d83b bhi.n 8049a42 80499ca: a201 add r2, pc, #4 ; (adr r2, 80499d0 ) 80499cc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80499d0: 08049a11 .word 0x08049a11 80499d4: 08049a1b .word 0x08049a1b 80499d8: 08049a43 .word 0x08049a43 80499dc: 08049a25 .word 0x08049a25 80499e0: 08049a43 .word 0x08049a43 80499e4: 08049a43 .word 0x08049a43 80499e8: 08049a43 .word 0x08049a43 80499ec: 08049a2f .word 0x08049a2f 80499f0: 08049a43 .word 0x08049a43 80499f4: 08049a43 .word 0x08049a43 80499f8: 08049a43 .word 0x08049a43 80499fc: 08049a43 .word 0x08049a43 8049a00: 08049a43 .word 0x08049a43 8049a04: 08049a43 .word 0x08049a43 8049a08: 08049a43 .word 0x08049a43 8049a0c: 08049a39 .word 0x08049a39 case DIAGN_PEAK: DiagnFileData.d_Op1_ivs = 'P'; break; 8049a10: 4b62 ldr r3, [pc, #392] ; (8049b9c ) 8049a12: 2250 movs r2, #80 ; 0x50 8049a14: f883 202b strb.w r2, [r3, #43] ; 0x2b 8049a18: e013 b.n 8049a42 case DIAGN_RMS: DiagnFileData.d_Op1_ivs = 'S'; break; 8049a1a: 4b60 ldr r3, [pc, #384] ; (8049b9c ) 8049a1c: 2253 movs r2, #83 ; 0x53 8049a1e: f883 202b strb.w r2, [r3, #43] ; 0x2b 8049a22: e00e b.n 8049a42 case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op1_ivs = 'R'; break; 8049a24: 4b5d ldr r3, [pc, #372] ; (8049b9c ) 8049a26: 2252 movs r2, #82 ; 0x52 8049a28: f883 202b strb.w r2, [r3, #43] ; 0x2b 8049a2c: e009 b.n 8049a42 case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op1_ivs = 'F'; break; 8049a2e: 4b5b ldr r3, [pc, #364] ; (8049b9c ) 8049a30: 2246 movs r2, #70 ; 0x46 8049a32: f883 202b strb.w r2, [r3, #43] ; 0x2b 8049a36: e004 b.n 8049a42 case DIAGN_EXCESS: DiagnFileData.d_Op1_ivs = 'E'; break; 8049a38: 4b58 ldr r3, [pc, #352] ; (8049b9c ) 8049a3a: 2245 movs r2, #69 ; 0x45 8049a3c: f883 202b strb.w r2, [r3, #43] ; 0x2b 8049a40: bf00 nop switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 8049a42: 4b54 ldr r3, [pc, #336] ; (8049b94 ) 8049a44: 781b ldrb r3, [r3, #0] 8049a46: b2db uxtb r3, r3 8049a48: 4a53 ldr r2, [pc, #332] ; (8049b98 ) 8049a4a: 009b lsls r3, r3, #2 8049a4c: 4413 add r3, r2 8049a4e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8049a52: b2db uxtb r3, r3 8049a54: 08db lsrs r3, r3, #3 8049a56: b2db uxtb r3, r3 8049a58: f003 031f and.w r3, r3, #31 8049a5c: 3b01 subs r3, #1 8049a5e: 2b0f cmp r3, #15 8049a60: d83b bhi.n 8049ada 8049a62: a201 add r2, pc, #4 ; (adr r2, 8049a68 ) 8049a64: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8049a68: 08049aa9 .word 0x08049aa9 8049a6c: 08049ab3 .word 0x08049ab3 8049a70: 08049adb .word 0x08049adb 8049a74: 08049abd .word 0x08049abd 8049a78: 08049adb .word 0x08049adb 8049a7c: 08049adb .word 0x08049adb 8049a80: 08049adb .word 0x08049adb 8049a84: 08049ac7 .word 0x08049ac7 8049a88: 08049adb .word 0x08049adb 8049a8c: 08049adb .word 0x08049adb 8049a90: 08049adb .word 0x08049adb 8049a94: 08049adb .word 0x08049adb 8049a98: 08049adb .word 0x08049adb 8049a9c: 08049adb .word 0x08049adb 8049aa0: 08049adb .word 0x08049adb 8049aa4: 08049ad1 .word 0x08049ad1 case DIAGN_PEAK: DiagnFileData.d_Op2_ivs = 'P'; break; 8049aa8: 4b3c ldr r3, [pc, #240] ; (8049b9c ) 8049aaa: 2250 movs r2, #80 ; 0x50 8049aac: f883 202c strb.w r2, [r3, #44] ; 0x2c 8049ab0: e013 b.n 8049ada case DIAGN_RMS: DiagnFileData.d_Op2_ivs = 'S'; break; 8049ab2: 4b3a ldr r3, [pc, #232] ; (8049b9c ) 8049ab4: 2253 movs r2, #83 ; 0x53 8049ab6: f883 202c strb.w r2, [r3, #44] ; 0x2c 8049aba: e00e b.n 8049ada case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op2_ivs = 'R'; break; 8049abc: 4b37 ldr r3, [pc, #220] ; (8049b9c ) 8049abe: 2252 movs r2, #82 ; 0x52 8049ac0: f883 202c strb.w r2, [r3, #44] ; 0x2c 8049ac4: e009 b.n 8049ada case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op2_ivs = 'F'; break; 8049ac6: 4b35 ldr r3, [pc, #212] ; (8049b9c ) 8049ac8: 2246 movs r2, #70 ; 0x46 8049aca: f883 202c strb.w r2, [r3, #44] ; 0x2c 8049ace: e004 b.n 8049ada case DIAGN_EXCESS: DiagnFileData.d_Op2_ivs = 'E'; break; 8049ad0: 4b32 ldr r3, [pc, #200] ; (8049b9c ) 8049ad2: 2245 movs r2, #69 ; 0x45 8049ad4: f883 202c strb.w r2, [r3, #44] ; 0x2c 8049ad8: bf00 nop switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 8049ada: 4b2e ldr r3, [pc, #184] ; (8049b94 ) 8049adc: 781b ldrb r3, [r3, #0] 8049ade: b2db uxtb r3, r3 8049ae0: 4a2d ldr r2, [pc, #180] ; (8049b98 ) 8049ae2: 009b lsls r3, r3, #2 8049ae4: 4413 add r3, r2 8049ae6: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8049aea: b2db uxtb r3, r3 8049aec: 08db lsrs r3, r3, #3 8049aee: b2db uxtb r3, r3 8049af0: f003 031f and.w r3, r3, #31 8049af4: 3b01 subs r3, #1 8049af6: 2b0f cmp r3, #15 8049af8: d857 bhi.n 8049baa 8049afa: a201 add r2, pc, #4 ; (adr r2, 8049b00 ) 8049afc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8049b00: 08049b41 .word 0x08049b41 8049b04: 08049b4b .word 0x08049b4b 8049b08: 08049bab .word 0x08049bab 8049b0c: 08049b55 .word 0x08049b55 8049b10: 08049bab .word 0x08049bab 8049b14: 08049bab .word 0x08049bab 8049b18: 08049bab .word 0x08049bab 8049b1c: 08049b5f .word 0x08049b5f 8049b20: 08049bab .word 0x08049bab 8049b24: 08049bab .word 0x08049bab 8049b28: 08049bab .word 0x08049bab 8049b2c: 08049bab .word 0x08049bab 8049b30: 08049bab .word 0x08049bab 8049b34: 08049bab .word 0x08049bab 8049b38: 08049bab .word 0x08049bab 8049b3c: 08049ba1 .word 0x08049ba1 case DIAGN_PEAK: DiagnFileData.d_Op3_ivs = 'P'; break; 8049b40: 4b16 ldr r3, [pc, #88] ; (8049b9c ) 8049b42: 2250 movs r2, #80 ; 0x50 8049b44: f883 202d strb.w r2, [r3, #45] ; 0x2d 8049b48: e02f b.n 8049baa case DIAGN_RMS: DiagnFileData.d_Op3_ivs = 'S'; break; 8049b4a: 4b14 ldr r3, [pc, #80] ; (8049b9c ) 8049b4c: 2253 movs r2, #83 ; 0x53 8049b4e: f883 202d strb.w r2, [r3, #45] ; 0x2d 8049b52: e02a b.n 8049baa case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op3_ivs = 'R'; break; 8049b54: 4b11 ldr r3, [pc, #68] ; (8049b9c ) 8049b56: 2252 movs r2, #82 ; 0x52 8049b58: f883 202d strb.w r2, [r3, #45] ; 0x2d 8049b5c: e025 b.n 8049baa case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op3_ivs = 'F'; break; 8049b5e: 4b0f ldr r3, [pc, #60] ; (8049b9c ) 8049b60: 2246 movs r2, #70 ; 0x46 8049b62: f883 202d strb.w r2, [r3, #45] ; 0x2d 8049b66: e020 b.n 8049baa 8049b68: 2002164c .word 0x2002164c 8049b6c: 20020daf .word 0x20020daf 8049b70: 20020dc8 .word 0x20020dc8 8049b74: 20020db2 .word 0x20020db2 8049b78: 20020e14 .word 0x20020e14 8049b7c: 20025c40 .word 0x20025c40 8049b80: 20022650 .word 0x20022650 8049b84: 20020e18 .word 0x20020e18 8049b88: 20020f78 .word 0x20020f78 8049b8c: 20020f79 .word 0x20020f79 8049b90: 20020070 .word 0x20020070 8049b94: 20021011 .word 0x20021011 8049b98: 20023e60 .word 0x20023e60 8049b9c: 200225f4 .word 0x200225f4 case DIAGN_EXCESS: DiagnFileData.d_Op3_ivs = 'E'; break; 8049ba0: 4ba9 ldr r3, [pc, #676] ; (8049e48 ) 8049ba2: 2245 movs r2, #69 ; 0x45 8049ba4: f883 202d strb.w r2, [r3, #45] ; 0x2d 8049ba8: bf00 nop DiagnFileData.Op_1.fl = operand[Us1]; 8049baa: 4ba8 ldr r3, [pc, #672] ; (8049e4c ) 8049bac: 681b ldr r3, [r3, #0] 8049bae: 4aa6 ldr r2, [pc, #664] ; (8049e48 ) 8049bb0: 6013 str r3, [r2, #0] DiagnFileData.Op_2.fl = operand[Us2]; 8049bb2: 4ba6 ldr r3, [pc, #664] ; (8049e4c ) 8049bb4: 685b ldr r3, [r3, #4] 8049bb6: 4aa4 ldr r2, [pc, #656] ; (8049e48 ) 8049bb8: 6053 str r3, [r2, #4] DiagnFileData.Op_3.fl = operand[Us3]; 8049bba: 4ba4 ldr r3, [pc, #656] ; (8049e4c ) 8049bbc: 689b ldr r3, [r3, #8] 8049bbe: 4aa2 ldr r2, [pc, #648] ; (8049e48 ) 8049bc0: 6093 str r3, [r2, #8] DiagnFileData.d_Time = RTC_TimeStruct; 8049bc2: 4ba1 ldr r3, [pc, #644] ; (8049e48 ) 8049bc4: 4aa2 ldr r2, [pc, #648] ; (8049e50 ) 8049bc6: f103 040c add.w r4, r3, #12 8049bca: 4615 mov r5, r2 8049bcc: cd0f ldmia r5!, {r0, r1, r2, r3} 8049bce: c40f stmia r4!, {r0, r1, r2, r3} 8049bd0: e895 0003 ldmia.w r5, {r0, r1} 8049bd4: e884 0003 stmia.w r4, {r0, r1} DiagnFileData.d_Date = RTC_DateStruct; 8049bd8: 4b9b ldr r3, [pc, #620] ; (8049e48 ) 8049bda: 4a9e ldr r2, [pc, #632] ; (8049e54 ) 8049bdc: 3324 adds r3, #36 ; 0x24 8049bde: 6810 ldr r0, [r2, #0] 8049be0: 6018 str r0, [r3, #0] if(ALARM) DiagnFileData.d_Alarm = 1; 8049be2: 4b9d ldr r3, [pc, #628] ; (8049e58 ) 8049be4: 781b ldrb r3, [r3, #0] 8049be6: b2db uxtb r3, r3 8049be8: 2b00 cmp r3, #0 8049bea: d004 beq.n 8049bf6 8049bec: 4b96 ldr r3, [pc, #600] ; (8049e48 ) 8049bee: 2201 movs r2, #1 8049bf0: f883 2032 strb.w r2, [r3, #50] ; 0x32 8049bf4: e003 b.n 8049bfe else DiagnFileData.d_Alarm = 0; 8049bf6: 4b94 ldr r3, [pc, #592] ; (8049e48 ) 8049bf8: 2200 movs r2, #0 8049bfa: f883 2032 strb.w r2, [r3, #50] ; 0x32 if(WARNING) DiagnFileData.d_Warning = 1; 8049bfe: 4b97 ldr r3, [pc, #604] ; (8049e5c ) 8049c00: 781b ldrb r3, [r3, #0] 8049c02: b2db uxtb r3, r3 8049c04: 2b00 cmp r3, #0 8049c06: d004 beq.n 8049c12 8049c08: 4b8f ldr r3, [pc, #572] ; (8049e48 ) 8049c0a: 2201 movs r2, #1 8049c0c: f883 2031 strb.w r2, [r3, #49] ; 0x31 8049c10: e003 b.n 8049c1a else DiagnFileData.d_Warning = 0; 8049c12: 4b8d ldr r3, [pc, #564] ; (8049e48 ) 8049c14: 2200 movs r2, #0 8049c16: f883 2031 strb.w r2, [r3, #49] ; 0x31 if(operand[Us1] < pardata.DIAGN_A[CURR_POINT][Us1]) 8049c1a: 4b8c ldr r3, [pc, #560] ; (8049e4c ) 8049c1c: ed93 7a00 vldr s14, [r3] 8049c20: 4b8f ldr r3, [pc, #572] ; (8049e60 ) 8049c22: 781b ldrb r3, [r3, #0] 8049c24: b2db uxtb r3, r3 8049c26: 4a8f ldr r2, [pc, #572] ; (8049e64 ) 8049c28: 011b lsls r3, r3, #4 8049c2a: 4413 add r3, r2 8049c2c: f503 7377 add.w r3, r3, #988 ; 0x3dc 8049c30: edd3 7a00 vldr s15, [r3] 8049c34: eeb4 7ae7 vcmpe.f32 s14, s15 8049c38: eef1 fa10 vmrs APSR_nzcv, fpscr 8049c3c: d51b bpl.n 8049c76 if(operand[Us1] < pardata.DIAGN_W[CURR_POINT][Us1]) 8049c3e: 4b83 ldr r3, [pc, #524] ; (8049e4c ) 8049c40: ed93 7a00 vldr s14, [r3] 8049c44: 4b86 ldr r3, [pc, #536] ; (8049e60 ) 8049c46: 781b ldrb r3, [r3, #0] 8049c48: b2db uxtb r3, r3 8049c4a: 4a86 ldr r2, [pc, #536] ; (8049e64 ) 8049c4c: 011b lsls r3, r3, #4 8049c4e: 4413 add r3, r2 8049c50: f503 7357 add.w r3, r3, #860 ; 0x35c 8049c54: edd3 7a00 vldr s15, [r3] 8049c58: eeb4 7ae7 vcmpe.f32 s14, s15 8049c5c: eef1 fa10 vmrs APSR_nzcv, fpscr 8049c60: d504 bpl.n 8049c6c DiagnFileData.d_Op1_Color = 0; 8049c62: 4b79 ldr r3, [pc, #484] ; (8049e48 ) 8049c64: 2200 movs r2, #0 8049c66: f883 202e strb.w r2, [r3, #46] ; 0x2e 8049c6a: e008 b.n 8049c7e else DiagnFileData.d_Op1_Color = 1; 8049c6c: 4b76 ldr r3, [pc, #472] ; (8049e48 ) 8049c6e: 2201 movs r2, #1 8049c70: f883 202e strb.w r2, [r3, #46] ; 0x2e 8049c74: e003 b.n 8049c7e DiagnFileData.d_Op1_Color = 2; 8049c76: 4b74 ldr r3, [pc, #464] ; (8049e48 ) 8049c78: 2202 movs r2, #2 8049c7a: f883 202e strb.w r2, [r3, #46] ; 0x2e if(operand[Us2] < pardata.DIAGN_A[CURR_POINT][Us2]) 8049c7e: 4b73 ldr r3, [pc, #460] ; (8049e4c ) 8049c80: ed93 7a01 vldr s14, [r3, #4] 8049c84: 4b76 ldr r3, [pc, #472] ; (8049e60 ) 8049c86: 781b ldrb r3, [r3, #0] 8049c88: b2db uxtb r3, r3 8049c8a: 4a76 ldr r2, [pc, #472] ; (8049e64 ) 8049c8c: 011b lsls r3, r3, #4 8049c8e: 4413 add r3, r2 8049c90: f503 7378 add.w r3, r3, #992 ; 0x3e0 8049c94: edd3 7a00 vldr s15, [r3] 8049c98: eeb4 7ae7 vcmpe.f32 s14, s15 8049c9c: eef1 fa10 vmrs APSR_nzcv, fpscr 8049ca0: d51b bpl.n 8049cda if(operand[Us2] < pardata.DIAGN_W[CURR_POINT][Us2]) 8049ca2: 4b6a ldr r3, [pc, #424] ; (8049e4c ) 8049ca4: ed93 7a01 vldr s14, [r3, #4] 8049ca8: 4b6d ldr r3, [pc, #436] ; (8049e60 ) 8049caa: 781b ldrb r3, [r3, #0] 8049cac: b2db uxtb r3, r3 8049cae: 4a6d ldr r2, [pc, #436] ; (8049e64 ) 8049cb0: 011b lsls r3, r3, #4 8049cb2: 4413 add r3, r2 8049cb4: f503 7358 add.w r3, r3, #864 ; 0x360 8049cb8: edd3 7a00 vldr s15, [r3] 8049cbc: eeb4 7ae7 vcmpe.f32 s14, s15 8049cc0: eef1 fa10 vmrs APSR_nzcv, fpscr 8049cc4: d504 bpl.n 8049cd0 DiagnFileData.d_Op2_Color = 0; 8049cc6: 4b60 ldr r3, [pc, #384] ; (8049e48 ) 8049cc8: 2200 movs r2, #0 8049cca: f883 202f strb.w r2, [r3, #47] ; 0x2f 8049cce: e008 b.n 8049ce2 else DiagnFileData.d_Op2_Color = 1; 8049cd0: 4b5d ldr r3, [pc, #372] ; (8049e48 ) 8049cd2: 2201 movs r2, #1 8049cd4: f883 202f strb.w r2, [r3, #47] ; 0x2f 8049cd8: e003 b.n 8049ce2 DiagnFileData.d_Op2_Color = 2; 8049cda: 4b5b ldr r3, [pc, #364] ; (8049e48 ) 8049cdc: 2202 movs r2, #2 8049cde: f883 202f strb.w r2, [r3, #47] ; 0x2f if(operand[Us3] < pardata.DIAGN_A[CURR_POINT][Us3]) 8049ce2: 4b5a ldr r3, [pc, #360] ; (8049e4c ) 8049ce4: ed93 7a02 vldr s14, [r3, #8] 8049ce8: 4b5d ldr r3, [pc, #372] ; (8049e60 ) 8049cea: 781b ldrb r3, [r3, #0] 8049cec: b2db uxtb r3, r3 8049cee: 4a5d ldr r2, [pc, #372] ; (8049e64 ) 8049cf0: 333e adds r3, #62 ; 0x3e 8049cf2: 011b lsls r3, r3, #4 8049cf4: 4413 add r3, r2 8049cf6: 3304 adds r3, #4 8049cf8: edd3 7a00 vldr s15, [r3] 8049cfc: eeb4 7ae7 vcmpe.f32 s14, s15 8049d00: eef1 fa10 vmrs APSR_nzcv, fpscr 8049d04: d51b bpl.n 8049d3e if(operand[Us3] < pardata.DIAGN_W[CURR_POINT][Us3]) 8049d06: 4b51 ldr r3, [pc, #324] ; (8049e4c ) 8049d08: ed93 7a02 vldr s14, [r3, #8] 8049d0c: 4b54 ldr r3, [pc, #336] ; (8049e60 ) 8049d0e: 781b ldrb r3, [r3, #0] 8049d10: b2db uxtb r3, r3 8049d12: 4a54 ldr r2, [pc, #336] ; (8049e64 ) 8049d14: 3336 adds r3, #54 ; 0x36 8049d16: 011b lsls r3, r3, #4 8049d18: 4413 add r3, r2 8049d1a: 3304 adds r3, #4 8049d1c: edd3 7a00 vldr s15, [r3] 8049d20: eeb4 7ae7 vcmpe.f32 s14, s15 8049d24: eef1 fa10 vmrs APSR_nzcv, fpscr 8049d28: d504 bpl.n 8049d34 DiagnFileData.d_Op3_Color = 0; 8049d2a: 4b47 ldr r3, [pc, #284] ; (8049e48 ) 8049d2c: 2200 movs r2, #0 8049d2e: f883 2030 strb.w r2, [r3, #48] ; 0x30 8049d32: e008 b.n 8049d46 else DiagnFileData.d_Op3_Color = 1; 8049d34: 4b44 ldr r3, [pc, #272] ; (8049e48 ) 8049d36: 2201 movs r2, #1 8049d38: f883 2030 strb.w r2, [r3, #48] ; 0x30 8049d3c: e003 b.n 8049d46 DiagnFileData.d_Op3_Color = 2; 8049d3e: 4b42 ldr r3, [pc, #264] ; (8049e48 ) 8049d40: 2202 movs r2, #2 8049d42: f883 2030 strb.w r2, [r3, #48] ; 0x30 AddToFile = true; 8049d46: 4b48 ldr r3, [pc, #288] ; (8049e68 ) 8049d48: 2201 movs r2, #1 8049d4a: 701a strb r2, [r3, #0] result = WriteFileDGN(DiagFileName); 8049d4c: 4847 ldr r0, [pc, #284] ; (8049e6c ) 8049d4e: f7df ffa1 bl 8029c94 8049d52: 4603 mov r3, r0 8049d54: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8049d58: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8049d5c: 2b00 cmp r3, #0 8049d5e: d10a bne.n 8049d76 STATUS = AP_SAVING_SUCCESS; 8049d60: 4b43 ldr r3, [pc, #268] ; (8049e70 ) 8049d62: 2207 movs r2, #7 8049d64: 601a str r2, [r3, #0] timerStatus = sec2; 8049d66: 4b43 ldr r3, [pc, #268] ; (8049e74 ) 8049d68: f44f 5280 mov.w r2, #4096 ; 0x1000 8049d6c: 801a strh r2, [r3, #0] DrawStatus = true; 8049d6e: 4b42 ldr r3, [pc, #264] ; (8049e78 ) 8049d70: 2201 movs r2, #1 8049d72: 701a strb r2, [r3, #0] 8049d74: e009 b.n 8049d8a STATUS = AP_SAVING_ERROR; 8049d76: 4b3e ldr r3, [pc, #248] ; (8049e70 ) 8049d78: 2208 movs r2, #8 8049d7a: 601a str r2, [r3, #0] timerStatus = sec2; 8049d7c: 4b3d ldr r3, [pc, #244] ; (8049e74 ) 8049d7e: f44f 5280 mov.w r2, #4096 ; 0x1000 8049d82: 801a strh r2, [r3, #0] DrawStatus = true; 8049d84: 4b3c ldr r3, [pc, #240] ; (8049e78 ) 8049d86: 2201 movs r2, #1 8049d88: 701a strb r2, [r3, #0] AddToFile = false; 8049d8a: 4b37 ldr r3, [pc, #220] ; (8049e68 ) 8049d8c: 2200 movs r2, #0 8049d8e: 701a strb r2, [r3, #0] break; 8049d90: e00d b.n 8049dae STATUS = AP_NO_CARD; 8049d92: 4b37 ldr r3, [pc, #220] ; (8049e70 ) 8049d94: 2211 movs r2, #17 8049d96: 601a str r2, [r3, #0] timerStatus = sec2; 8049d98: 4b36 ldr r3, [pc, #216] ; (8049e74 ) 8049d9a: f44f 5280 mov.w r2, #4096 ; 0x1000 8049d9e: 801a strh r2, [r3, #0] DrawStatus = true; 8049da0: 4b35 ldr r3, [pc, #212] ; (8049e78 ) 8049da2: 2201 movs r2, #1 8049da4: 701a strb r2, [r3, #0] break; 8049da6: e002 b.n 8049dae timerStatus = sec2; DrawStatus = true; } } }*/ break; 8049da8: bf00 nop 8049daa: f008 bf9b b.w 8052ce4 break; 8049dae: bf00 nop } break; 8049db0: f008 bf98 b.w 8052ce4 case MAIN_UDAR: switch(menupos) 8049db4: 4b31 ldr r3, [pc, #196] ; (8049e7c ) 8049db6: 781b ldrb r3, [r3, #0] 8049db8: b2db uxtb r3, r3 8049dba: 2b06 cmp r3, #6 8049dbc: f208 8794 bhi.w 8052ce8 8049dc0: a201 add r2, pc, #4 ; (adr r2, 8049dc8 ) 8049dc2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8049dc6: bf00 nop 8049dc8: 0804a409 .word 0x0804a409 8049dcc: 08052ce9 .word 0x08052ce9 8049dd0: 08049de5 .word 0x08049de5 8049dd4: 08049fa7 .word 0x08049fa7 8049dd8: 0804a1e1 .word 0x0804a1e1 8049ddc: 08049ed9 .word 0x08049ed9 8049de0: 0804a43f .word 0x0804a43f { case ImageLeft: if(lX) 8049de4: 4b26 ldr r3, [pc, #152] ; (8049e80 ) 8049de6: 881b ldrh r3, [r3, #0] 8049de8: b29b uxth r3, r3 8049dea: 2b00 cmp r3, #0 8049dec: f000 832b beq.w 804a446 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 8049df0: 4b24 ldr r3, [pc, #144] ; (8049e84 ) 8049df2: 781b ldrb r3, [r3, #0] 8049df4: b2db uxtb r3, r3 8049df6: 461a mov r2, r3 8049df8: 4613 mov r3, r2 8049dfa: 009b lsls r3, r3, #2 8049dfc: 4413 add r3, r2 8049dfe: 4a19 ldr r2, [pc, #100] ; (8049e64 ) 8049e00: 79d2 ldrb r2, [r2, #7] 8049e02: b2d2 uxtb r2, r2 8049e04: 4413 add r3, r2 8049e06: 4a20 ldr r2, [pc, #128] ; (8049e88 ) 8049e08: 3323 adds r3, #35 ; 0x23 8049e0a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8049e0e: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 8049e12: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8049e16: 021b lsls r3, r3, #8 8049e18: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 8049e1c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049e20: 085b lsrs r3, r3, #1 8049e22: b29a uxth r2, r3 8049e24: 4b16 ldr r3, [pc, #88] ; (8049e80 ) 8049e26: 881b ldrh r3, [r3, #0] 8049e28: b29b uxth r3, r3 8049e2a: 429a cmp r2, r3 8049e2c: d830 bhi.n 8049e90 X0 -= (multB_u16 >> 1); 8049e2e: 4b17 ldr r3, [pc, #92] ; (8049e8c ) 8049e30: 881b ldrh r3, [r3, #0] 8049e32: b29a uxth r2, r3 8049e34: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049e38: 085b lsrs r3, r3, #1 8049e3a: b29b uxth r3, r3 8049e3c: 1ad3 subs r3, r2, r3 8049e3e: b29a uxth r2, r3 8049e40: 4b12 ldr r3, [pc, #72] ; (8049e8c ) 8049e42: 801a strh r2, [r3, #0] 8049e44: e027 b.n 8049e96 8049e46: bf00 nop 8049e48: 200225f4 .word 0x200225f4 8049e4c: 200268d8 .word 0x200268d8 8049e50: 20025c68 .word 0x20025c68 8049e54: 20025cec .word 0x20025cec 8049e58: 20021015 .word 0x20021015 8049e5c: 20021014 .word 0x20021014 8049e60: 20021011 .word 0x20021011 8049e64: 20023e60 .word 0x20023e60 8049e68: 20020dc8 .word 0x20020dc8 8049e6c: 20020e7c .word 0x20020e7c 8049e70: 20020dcc .word 0x20020dcc 8049e74: 2002168c .word 0x2002168c 8049e78: 20020dd2 .word 0x20020dd2 8049e7c: 20020070 .word 0x20020070 8049e80: 20025d1a .word 0x20025d1a 8049e84: 20020f74 .word 0x20020f74 8049e88: 080ee828 .word 0x080ee828 8049e8c: 20025d1e .word 0x20025d1e else X0 = 0; 8049e90: 4ba2 ldr r3, [pc, #648] ; (804a11c ) 8049e92: 2200 movs r2, #0 8049e94: 801a strh r2, [r3, #0] lX = X0; 8049e96: 4ba1 ldr r3, [pc, #644] ; (804a11c ) 8049e98: 881b ldrh r3, [r3, #0] 8049e9a: b29a uxth r2, r3 8049e9c: 4ba0 ldr r3, [pc, #640] ; (804a120 ) 8049e9e: 801a strh r2, [r3, #0] rX = lX + multB_u16; 8049ea0: 4b9f ldr r3, [pc, #636] ; (804a120 ) 8049ea2: 881b ldrh r3, [r3, #0] 8049ea4: b29a uxth r2, r3 8049ea6: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049eaa: 4413 add r3, r2 8049eac: b29a uxth r2, r3 8049eae: 4b9d ldr r3, [pc, #628] ; (804a124 ) 8049eb0: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 8049eb2: 4b9d ldr r3, [pc, #628] ; (804a128 ) 8049eb4: 681b ldr r3, [r3, #0] 8049eb6: b29b uxth r3, r3 8049eb8: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8049ebc: fb12 f303 smulbb r3, r2, r3 8049ec0: b29a uxth r2, r3 8049ec2: 4b96 ldr r3, [pc, #600] ; (804a11c ) 8049ec4: 881b ldrh r3, [r3, #0] 8049ec6: b29b uxth r3, r3 8049ec8: 4413 add r3, r2 8049eca: b29a uxth r2, r3 8049ecc: 4b97 ldr r3, [pc, #604] ; (804a12c ) 8049ece: 801a strh r2, [r3, #0] AUTOZOOM = true; 8049ed0: 4b97 ldr r3, [pc, #604] ; (804a130 ) 8049ed2: 2201 movs r2, #1 8049ed4: 701a strb r2, [r3, #0] } break; 8049ed6: e2b6 b.n 804a446 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 8049ed8: 4b96 ldr r3, [pc, #600] ; (804a134 ) 8049eda: 781b ldrb r3, [r3, #0] 8049edc: b2db uxtb r3, r3 8049ede: 461a mov r2, r3 8049ee0: 4613 mov r3, r2 8049ee2: 009b lsls r3, r3, #2 8049ee4: 4413 add r3, r2 8049ee6: 4a94 ldr r2, [pc, #592] ; (804a138 ) 8049ee8: 79d2 ldrb r2, [r2, #7] 8049eea: b2d2 uxtb r2, r2 8049eec: 4413 add r3, r2 8049eee: 4a93 ldr r2, [pc, #588] ; (804a13c ) 8049ef0: 3323 adds r3, #35 ; 0x23 8049ef2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8049ef6: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 8049efa: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 8049efe: 021b lsls r3, r3, #8 8049f00: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 8049f04: 4b8c ldr r3, [pc, #560] ; (804a138 ) 8049f06: 79db ldrb r3, [r3, #7] 8049f08: b2db uxtb r3, r3 8049f0a: 461a mov r2, r3 8049f0c: 4b8c ldr r3, [pc, #560] ; (804a140 ) 8049f0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8049f12: 085b lsrs r3, r3, #1 8049f14: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 8049f18: 4b82 ldr r3, [pc, #520] ; (804a124 ) 8049f1a: 881b ldrh r3, [r3, #0] 8049f1c: b29b uxth r3, r3 8049f1e: 461a mov r2, r3 8049f20: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049f24: 085b lsrs r3, r3, #1 8049f26: b29b uxth r3, r3 8049f28: 4413 add r3, r2 8049f2a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 8049f2e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8049f32: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8049f36: 429a cmp r2, r3 8049f38: d80b bhi.n 8049f52 X0 += (multB_u16 >> 1); 8049f3a: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049f3e: 085b lsrs r3, r3, #1 8049f40: b29a uxth r2, r3 8049f42: 4b76 ldr r3, [pc, #472] ; (804a11c ) 8049f44: 881b ldrh r3, [r3, #0] 8049f46: b29b uxth r3, r3 8049f48: 4413 add r3, r2 8049f4a: b29a uxth r2, r3 8049f4c: 4b73 ldr r3, [pc, #460] ; (804a11c ) 8049f4e: 801a strh r2, [r3, #0] 8049f50: e008 b.n 8049f64 else X0 = (uint16_t) (k - multB_u16); 8049f52: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8049f56: b29a uxth r2, r3 8049f58: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049f5c: 1ad3 subs r3, r2, r3 8049f5e: b29a uxth r2, r3 8049f60: 4b6e ldr r3, [pc, #440] ; (804a11c ) 8049f62: 801a strh r2, [r3, #0] lX = X0; 8049f64: 4b6d ldr r3, [pc, #436] ; (804a11c ) 8049f66: 881b ldrh r3, [r3, #0] 8049f68: b29a uxth r2, r3 8049f6a: 4b6d ldr r3, [pc, #436] ; (804a120 ) 8049f6c: 801a strh r2, [r3, #0] rX = lX + multB_u16; 8049f6e: 4b6c ldr r3, [pc, #432] ; (804a120 ) 8049f70: 881b ldrh r3, [r3, #0] 8049f72: b29a uxth r2, r3 8049f74: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 8049f78: 4413 add r3, r2 8049f7a: b29a uxth r2, r3 8049f7c: 4b69 ldr r3, [pc, #420] ; (804a124 ) 8049f7e: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 8049f80: 4b69 ldr r3, [pc, #420] ; (804a128 ) 8049f82: 681b ldr r3, [r3, #0] 8049f84: b29b uxth r3, r3 8049f86: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 8049f8a: fb12 f303 smulbb r3, r2, r3 8049f8e: b29a uxth r2, r3 8049f90: 4b62 ldr r3, [pc, #392] ; (804a11c ) 8049f92: 881b ldrh r3, [r3, #0] 8049f94: b29b uxth r3, r3 8049f96: 4413 add r3, r2 8049f98: b29a uxth r2, r3 8049f9a: 4b64 ldr r3, [pc, #400] ; (804a12c ) 8049f9c: 801a strh r2, [r3, #0] AUTOZOOM = true; 8049f9e: 4b64 ldr r3, [pc, #400] ; (804a130 ) 8049fa0: 2201 movs r2, #1 8049fa2: 701a strb r2, [r3, #0] break; 8049fa4: e256 b.n 804a454 case ZoomIn: lvl_0 = 0; 8049fa6: 2300 movs r3, #0 8049fa8: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 8049fac: 4b61 ldr r3, [pc, #388] ; (804a134 ) 8049fae: 781b ldrb r3, [r3, #0] 8049fb0: b2db uxtb r3, r3 8049fb2: 461a mov r2, r3 8049fb4: 4613 mov r3, r2 8049fb6: 009b lsls r3, r3, #2 8049fb8: 4413 add r3, r2 8049fba: 4a5f ldr r2, [pc, #380] ; (804a138 ) 8049fbc: 79d2 ldrb r2, [r2, #7] 8049fbe: b2d2 uxtb r2, r2 8049fc0: 4413 add r3, r2 8049fc2: 4a5e ldr r2, [pc, #376] ; (804a13c ) 8049fc4: 3323 adds r3, #35 ; 0x23 8049fc6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8049fca: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 8049fce: 2304 movs r3, #4 8049fd0: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 8049fd4: 4b57 ldr r3, [pc, #348] ; (804a134 ) 8049fd6: 781b ldrb r3, [r3, #0] 8049fd8: b2db uxtb r3, r3 8049fda: b29b uxth r3, r3 8049fdc: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 8049fe0: 429a cmp r2, r3 8049fe2: f240 8233 bls.w 804a44c 8049fe6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 8049fea: 2b01 cmp r3, #1 8049fec: f240 822e bls.w 804a44c { ViewLevel++; 8049ff0: 4b50 ldr r3, [pc, #320] ; (804a134 ) 8049ff2: 781b ldrb r3, [r3, #0] 8049ff4: b2db uxtb r3, r3 8049ff6: 3301 adds r3, #1 8049ff8: b2da uxtb r2, r3 8049ffa: 4b4e ldr r3, [pc, #312] ; (804a134 ) 8049ffc: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 8049ffe: 4b4d ldr r3, [pc, #308] ; (804a134 ) 804a000: 781b ldrb r3, [r3, #0] 804a002: b2db uxtb r3, r3 804a004: 461a mov r2, r3 804a006: 4613 mov r3, r2 804a008: 009b lsls r3, r3, #2 804a00a: 4413 add r3, r2 804a00c: 4a4a ldr r2, [pc, #296] ; (804a138 ) 804a00e: 79d2 ldrb r2, [r2, #7] 804a010: b2d2 uxtb r2, r2 804a012: 4413 add r3, r2 804a014: 4a49 ldr r2, [pc, #292] ; (804a13c ) 804a016: 3323 adds r3, #35 ; 0x23 804a018: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a01c: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804a020: 4b42 ldr r3, [pc, #264] ; (804a12c ) 804a022: 881b ldrh r3, [r3, #0] 804a024: b29a uxth r2, r3 804a026: 4b40 ldr r3, [pc, #256] ; (804a128 ) 804a028: 681b ldr r3, [r3, #0] 804a02a: b29b uxth r3, r3 804a02c: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804a030: fb11 f303 smulbb r3, r1, r3 804a034: b29b uxth r3, r3 804a036: 1ad3 subs r3, r2, r3 804a038: b29a uxth r2, r3 804a03a: 4b38 ldr r3, [pc, #224] ; (804a11c ) 804a03c: 801a strh r2, [r3, #0] lX = X0; 804a03e: 4b37 ldr r3, [pc, #220] ; (804a11c ) 804a040: 881b ldrh r3, [r3, #0] 804a042: b29a uxth r2, r3 804a044: 4b36 ldr r3, [pc, #216] ; (804a120 ) 804a046: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804a048: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a04c: 021b lsls r3, r3, #8 804a04e: b29a uxth r2, r3 804a050: 4b33 ldr r3, [pc, #204] ; (804a120 ) 804a052: 881b ldrh r3, [r3, #0] 804a054: b29b uxth r3, r3 804a056: 4413 add r3, r2 804a058: b29a uxth r2, r3 804a05a: 4b32 ldr r3, [pc, #200] ; (804a124 ) 804a05c: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804a05e: 4b39 ldr r3, [pc, #228] ; (804a144 ) 804a060: 881b ldrh r3, [r3, #0] 804a062: b29b uxth r3, r3 804a064: 461a mov r2, r3 804a066: 4b2e ldr r3, [pc, #184] ; (804a120 ) 804a068: 881b ldrh r3, [r3, #0] 804a06a: b29b uxth r3, r3 804a06c: 1ad2 subs r2, r2, r3 804a06e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a072: fb92 f3f3 sdiv r3, r2, r3 804a076: 461a mov r2, r3 804a078: 4b2b ldr r3, [pc, #172] ; (804a128 ) 804a07a: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804a07c: 4b2a ldr r3, [pc, #168] ; (804a128 ) 804a07e: 681b ldr r3, [r3, #0] 804a080: b29b uxth r3, r3 804a082: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a086: fb12 f303 smulbb r3, r2, r3 804a08a: b29a uxth r2, r3 804a08c: 4b24 ldr r3, [pc, #144] ; (804a120 ) 804a08e: 881b ldrh r3, [r3, #0] 804a090: b29b uxth r3, r3 804a092: 4413 add r3, r2 804a094: b29a uxth r2, r3 804a096: 4b25 ldr r3, [pc, #148] ; (804a12c ) 804a098: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804a09a: 4b23 ldr r3, [pc, #140] ; (804a128 ) 804a09c: 681b ldr r3, [r3, #0] 804a09e: 2b7f cmp r3, #127 ; 0x7f 804a0a0: d852 bhi.n 804a148 804a0a2: 4b1e ldr r3, [pc, #120] ; (804a11c ) 804a0a4: 881b ldrh r3, [r3, #0] 804a0a6: b29b uxth r3, r3 804a0a8: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a0ac: 429a cmp r2, r3 804a0ae: d84b bhi.n 804a148 { if(lX >= dX) 804a0b0: 4b1b ldr r3, [pc, #108] ; (804a120 ) 804a0b2: 881b ldrh r3, [r3, #0] 804a0b4: b29b uxth r3, r3 804a0b6: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a0ba: 429a cmp r2, r3 804a0bc: f200 808c bhi.w 804a1d8 { CURSOR++; 804a0c0: 4b19 ldr r3, [pc, #100] ; (804a128 ) 804a0c2: 681b ldr r3, [r3, #0] 804a0c4: 3301 adds r3, #1 804a0c6: 4a18 ldr r2, [pc, #96] ; (804a128 ) 804a0c8: 6013 str r3, [r2, #0] X0 -= dX; 804a0ca: 4b14 ldr r3, [pc, #80] ; (804a11c ) 804a0cc: 881b ldrh r3, [r3, #0] 804a0ce: b29a uxth r2, r3 804a0d0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a0d4: 1ad3 subs r3, r2, r3 804a0d6: b29a uxth r2, r3 804a0d8: 4b10 ldr r3, [pc, #64] ; (804a11c ) 804a0da: 801a strh r2, [r3, #0] lX = X0; 804a0dc: 4b0f ldr r3, [pc, #60] ; (804a11c ) 804a0de: 881b ldrh r3, [r3, #0] 804a0e0: b29a uxth r2, r3 804a0e2: 4b0f ldr r3, [pc, #60] ; (804a120 ) 804a0e4: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804a0e6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a0ea: 021b lsls r3, r3, #8 804a0ec: b29a uxth r2, r3 804a0ee: 4b0c ldr r3, [pc, #48] ; (804a120 ) 804a0f0: 881b ldrh r3, [r3, #0] 804a0f2: b29b uxth r3, r3 804a0f4: 4413 add r3, r2 804a0f6: b29a uxth r2, r3 804a0f8: 4b0a ldr r3, [pc, #40] ; (804a124 ) 804a0fa: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804a0fc: 4b11 ldr r3, [pc, #68] ; (804a144 ) 804a0fe: 881b ldrh r3, [r3, #0] 804a100: b29b uxth r3, r3 804a102: 461a mov r2, r3 804a104: 4b06 ldr r3, [pc, #24] ; (804a120 ) 804a106: 881b ldrh r3, [r3, #0] 804a108: b29b uxth r3, r3 804a10a: 1ad2 subs r2, r2, r3 804a10c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a110: fb92 f3f3 sdiv r3, r2, r3 804a114: 461a mov r2, r3 804a116: 4b04 ldr r3, [pc, #16] ; (804a128 ) 804a118: 601a str r2, [r3, #0] if(lX >= dX) 804a11a: e05d b.n 804a1d8 804a11c: 20025d1e .word 0x20025d1e 804a120: 20025d1a .word 0x20025d1a 804a124: 20025d20 .word 0x20025d20 804a128: 2002006c .word 0x2002006c 804a12c: 20025d16 .word 0x20025d16 804a130: 2002098c .word 0x2002098c 804a134: 20020f74 .word 0x20020f74 804a138: 20023e60 .word 0x20023e60 804a13c: 080ee828 .word 0x080ee828 804a140: 080ee8b4 .word 0x080ee8b4 804a144: 20025d1c .word 0x20025d1c } } else if(CURSOR > (256 >> 1)) 804a148: 4ba5 ldr r3, [pc, #660] ; (804a3e0 ) 804a14a: 681b ldr r3, [r3, #0] 804a14c: 2b80 cmp r3, #128 ; 0x80 804a14e: d943 bls.n 804a1d8 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804a150: 4ba4 ldr r3, [pc, #656] ; (804a3e4 ) 804a152: 881b ldrh r3, [r3, #0] 804a154: b29b uxth r3, r3 804a156: 461a mov r2, r3 804a158: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a15c: 18d1 adds r1, r2, r3 804a15e: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804a162: 4613 mov r3, r2 804a164: 009b lsls r3, r3, #2 804a166: 4413 add r3, r2 804a168: 4a9f ldr r2, [pc, #636] ; (804a3e8 ) 804a16a: 79d2 ldrb r2, [r2, #7] 804a16c: b2d2 uxtb r2, r2 804a16e: 4413 add r3, r2 804a170: 4a9e ldr r2, [pc, #632] ; (804a3ec ) 804a172: 3323 adds r3, #35 ; 0x23 804a174: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a178: 021b lsls r3, r3, #8 804a17a: 4299 cmp r1, r3 804a17c: dc2c bgt.n 804a1d8 { CURSOR--; 804a17e: 4b98 ldr r3, [pc, #608] ; (804a3e0 ) 804a180: 681b ldr r3, [r3, #0] 804a182: 3b01 subs r3, #1 804a184: 4a96 ldr r2, [pc, #600] ; (804a3e0 ) 804a186: 6013 str r3, [r2, #0] X0 += dX; 804a188: 4b99 ldr r3, [pc, #612] ; (804a3f0 ) 804a18a: 881b ldrh r3, [r3, #0] 804a18c: b29a uxth r2, r3 804a18e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a192: 4413 add r3, r2 804a194: b29a uxth r2, r3 804a196: 4b96 ldr r3, [pc, #600] ; (804a3f0 ) 804a198: 801a strh r2, [r3, #0] lX = X0; 804a19a: 4b95 ldr r3, [pc, #596] ; (804a3f0 ) 804a19c: 881b ldrh r3, [r3, #0] 804a19e: b29a uxth r2, r3 804a1a0: 4b94 ldr r3, [pc, #592] ; (804a3f4 ) 804a1a2: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804a1a4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a1a8: 021b lsls r3, r3, #8 804a1aa: b29a uxth r2, r3 804a1ac: 4b91 ldr r3, [pc, #580] ; (804a3f4 ) 804a1ae: 881b ldrh r3, [r3, #0] 804a1b0: b29b uxth r3, r3 804a1b2: 4413 add r3, r2 804a1b4: b29a uxth r2, r3 804a1b6: 4b8b ldr r3, [pc, #556] ; (804a3e4 ) 804a1b8: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804a1ba: 4b8f ldr r3, [pc, #572] ; (804a3f8 ) 804a1bc: 881b ldrh r3, [r3, #0] 804a1be: b29b uxth r3, r3 804a1c0: 461a mov r2, r3 804a1c2: 4b8c ldr r3, [pc, #560] ; (804a3f4 ) 804a1c4: 881b ldrh r3, [r3, #0] 804a1c6: b29b uxth r3, r3 804a1c8: 1ad2 subs r2, r2, r3 804a1ca: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a1ce: fb92 f3f3 sdiv r3, r2, r3 804a1d2: 461a mov r2, r3 804a1d4: 4b82 ldr r3, [pc, #520] ; (804a3e0 ) 804a1d6: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804a1d8: 4b88 ldr r3, [pc, #544] ; (804a3fc ) 804a1da: 2201 movs r2, #1 804a1dc: 701a strb r2, [r3, #0] } break; 804a1de: e135 b.n 804a44c case ZoomOut: lvl_0 = 0; 804a1e0: 2300 movs r3, #0 804a1e2: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804a1e6: 2304 movs r3, #4 804a1e8: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804a1ec: 4b84 ldr r3, [pc, #528] ; (804a400 ) 804a1ee: 781b ldrb r3, [r3, #0] 804a1f0: b2db uxtb r3, r3 804a1f2: 461a mov r2, r3 804a1f4: 4613 mov r3, r2 804a1f6: 009b lsls r3, r3, #2 804a1f8: 4413 add r3, r2 804a1fa: 4a7b ldr r2, [pc, #492] ; (804a3e8 ) 804a1fc: 79d2 ldrb r2, [r2, #7] 804a1fe: b2d2 uxtb r2, r2 804a200: 4413 add r3, r2 804a202: 4a7a ldr r2, [pc, #488] ; (804a3ec ) 804a204: 3323 adds r3, #35 ; 0x23 804a206: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a20a: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804a20e: 4b7c ldr r3, [pc, #496] ; (804a400 ) 804a210: 781b ldrb r3, [r3, #0] 804a212: b2db uxtb r3, r3 804a214: 2b00 cmp r3, #0 804a216: f000 811c beq.w 804a452 { ViewLevel--; 804a21a: 4b79 ldr r3, [pc, #484] ; (804a400 ) 804a21c: 781b ldrb r3, [r3, #0] 804a21e: b2db uxtb r3, r3 804a220: 3b01 subs r3, #1 804a222: b2da uxtb r2, r3 804a224: 4b76 ldr r3, [pc, #472] ; (804a400 ) 804a226: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804a228: 4b75 ldr r3, [pc, #468] ; (804a400 ) 804a22a: 781b ldrb r3, [r3, #0] 804a22c: b2db uxtb r3, r3 804a22e: 461a mov r2, r3 804a230: 4613 mov r3, r2 804a232: 009b lsls r3, r3, #2 804a234: 4413 add r3, r2 804a236: 4a6c ldr r2, [pc, #432] ; (804a3e8 ) 804a238: 79d2 ldrb r2, [r2, #7] 804a23a: b2d2 uxtb r2, r2 804a23c: 4413 add r3, r2 804a23e: 4a6b ldr r2, [pc, #428] ; (804a3ec ) 804a240: 3323 adds r3, #35 ; 0x23 804a242: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a246: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804a24a: 4b6d ldr r3, [pc, #436] ; (804a400 ) 804a24c: 781b ldrb r3, [r3, #0] 804a24e: b2db uxtb r3, r3 804a250: 2b00 cmp r3, #0 804a252: d130 bne.n 804a2b6 { X0 = lX = 0; 804a254: 2100 movs r1, #0 804a256: 4b67 ldr r3, [pc, #412] ; (804a3f4 ) 804a258: 460a mov r2, r1 804a25a: 801a strh r2, [r3, #0] 804a25c: 4b64 ldr r3, [pc, #400] ; (804a3f0 ) 804a25e: 460a mov r2, r1 804a260: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804a262: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a266: 021b lsls r3, r3, #8 804a268: b29a uxth r2, r3 804a26a: 4b62 ldr r3, [pc, #392] ; (804a3f4 ) 804a26c: 881b ldrh r3, [r3, #0] 804a26e: b29b uxth r3, r3 804a270: 4413 add r3, r2 804a272: b29a uxth r2, r3 804a274: 4b5b ldr r3, [pc, #364] ; (804a3e4 ) 804a276: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804a278: 4b5f ldr r3, [pc, #380] ; (804a3f8 ) 804a27a: 881b ldrh r3, [r3, #0] 804a27c: b29b uxth r3, r3 804a27e: 461a mov r2, r3 804a280: 4b5c ldr r3, [pc, #368] ; (804a3f4 ) 804a282: 881b ldrh r3, [r3, #0] 804a284: b29b uxth r3, r3 804a286: 1ad2 subs r2, r2, r3 804a288: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a28c: fb92 f3f3 sdiv r3, r2, r3 804a290: 461a mov r2, r3 804a292: 4b53 ldr r3, [pc, #332] ; (804a3e0 ) 804a294: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804a296: 4b52 ldr r3, [pc, #328] ; (804a3e0 ) 804a298: 681b ldr r3, [r3, #0] 804a29a: b29b uxth r3, r3 804a29c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a2a0: fb12 f303 smulbb r3, r2, r3 804a2a4: b29a uxth r2, r3 804a2a6: 4b52 ldr r3, [pc, #328] ; (804a3f0 ) 804a2a8: 881b ldrh r3, [r3, #0] 804a2aa: b29b uxth r3, r3 804a2ac: 4413 add r3, r2 804a2ae: b29a uxth r2, r3 804a2b0: 4b54 ldr r3, [pc, #336] ; (804a404 ) 804a2b2: 801a strh r2, [r3, #0] 804a2b4: e090 b.n 804a3d8 } else { if(CURSOR * dX > Mpos) 804a2b6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a2ba: 4a49 ldr r2, [pc, #292] ; (804a3e0 ) 804a2bc: 6812 ldr r2, [r2, #0] 804a2be: fb02 f303 mul.w r3, r2, r3 804a2c2: 4a50 ldr r2, [pc, #320] ; (804a404 ) 804a2c4: 8812 ldrh r2, [r2, #0] 804a2c6: b292 uxth r2, r2 804a2c8: 4293 cmp r3, r2 804a2ca: d91f bls.n 804a30c { while(CURSOR * dX > Mpos) 804a2cc: e004 b.n 804a2d8 CURSOR--; 804a2ce: 4b44 ldr r3, [pc, #272] ; (804a3e0 ) 804a2d0: 681b ldr r3, [r3, #0] 804a2d2: 3b01 subs r3, #1 804a2d4: 4a42 ldr r2, [pc, #264] ; (804a3e0 ) 804a2d6: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804a2d8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a2dc: 4a40 ldr r2, [pc, #256] ; (804a3e0 ) 804a2de: 6812 ldr r2, [r2, #0] 804a2e0: fb02 f303 mul.w r3, r2, r3 804a2e4: 4a47 ldr r2, [pc, #284] ; (804a404 ) 804a2e6: 8812 ldrh r2, [r2, #0] 804a2e8: b292 uxth r2, r2 804a2ea: 4293 cmp r3, r2 804a2ec: d8ef bhi.n 804a2ce Mpos = X0 + CURSOR * dX; 804a2ee: 4b3c ldr r3, [pc, #240] ; (804a3e0 ) 804a2f0: 681b ldr r3, [r3, #0] 804a2f2: b29b uxth r3, r3 804a2f4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a2f8: fb12 f303 smulbb r3, r2, r3 804a2fc: b29a uxth r2, r3 804a2fe: 4b3c ldr r3, [pc, #240] ; (804a3f0 ) 804a300: 881b ldrh r3, [r3, #0] 804a302: b29b uxth r3, r3 804a304: 4413 add r3, r2 804a306: b29a uxth r2, r3 804a308: 4b3e ldr r3, [pc, #248] ; (804a404 ) 804a30a: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804a30c: 4b3d ldr r3, [pc, #244] ; (804a404 ) 804a30e: 881b ldrh r3, [r3, #0] 804a310: b29b uxth r3, r3 804a312: 4619 mov r1, r3 804a314: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a318: 4a31 ldr r2, [pc, #196] ; (804a3e0 ) 804a31a: 6812 ldr r2, [r2, #0] 804a31c: fb02 f303 mul.w r3, r2, r3 804a320: 1acb subs r3, r1, r3 804a322: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804a326: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a32a: 021b lsls r3, r3, #8 804a32c: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804a330: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804a334: 4613 mov r3, r2 804a336: 009b lsls r3, r3, #2 804a338: 4413 add r3, r2 804a33a: 4a2b ldr r2, [pc, #172] ; (804a3e8 ) 804a33c: 79d2 ldrb r2, [r2, #7] 804a33e: b2d2 uxtb r2, r2 804a340: 4413 add r3, r2 804a342: 4a2a ldr r2, [pc, #168] ; (804a3ec ) 804a344: 3323 adds r3, #35 ; 0x23 804a346: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a34a: 021b lsls r3, r3, #8 804a34c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804a350: e006 b.n 804a360 i -= dXold; 804a352: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804a356: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804a35a: 1ad3 subs r3, r2, r3 804a35c: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804a360: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804a364: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804a368: 441a add r2, r3 804a36a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804a36e: 429a cmp r2, r3 804a370: d8ef bhi.n 804a352 } X0 = (uint16_t) i; 804a372: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804a376: b29a uxth r2, r3 804a378: 4b1d ldr r3, [pc, #116] ; (804a3f0 ) 804a37a: 801a strh r2, [r3, #0] lX = X0; 804a37c: 4b1c ldr r3, [pc, #112] ; (804a3f0 ) 804a37e: 881b ldrh r3, [r3, #0] 804a380: b29a uxth r2, r3 804a382: 4b1c ldr r3, [pc, #112] ; (804a3f4 ) 804a384: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804a386: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a38a: 021b lsls r3, r3, #8 804a38c: b29a uxth r2, r3 804a38e: 4b19 ldr r3, [pc, #100] ; (804a3f4 ) 804a390: 881b ldrh r3, [r3, #0] 804a392: b29b uxth r3, r3 804a394: 4413 add r3, r2 804a396: b29a uxth r2, r3 804a398: 4b12 ldr r3, [pc, #72] ; (804a3e4 ) 804a39a: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804a39c: 4b16 ldr r3, [pc, #88] ; (804a3f8 ) 804a39e: 881b ldrh r3, [r3, #0] 804a3a0: b29b uxth r3, r3 804a3a2: 461a mov r2, r3 804a3a4: 4b13 ldr r3, [pc, #76] ; (804a3f4 ) 804a3a6: 881b ldrh r3, [r3, #0] 804a3a8: b29b uxth r3, r3 804a3aa: 1ad2 subs r2, r2, r3 804a3ac: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804a3b0: fb92 f3f3 sdiv r3, r2, r3 804a3b4: 461a mov r2, r3 804a3b6: 4b0a ldr r3, [pc, #40] ; (804a3e0 ) 804a3b8: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804a3ba: 4b09 ldr r3, [pc, #36] ; (804a3e0 ) 804a3bc: 681b ldr r3, [r3, #0] 804a3be: b29b uxth r3, r3 804a3c0: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804a3c4: fb12 f303 smulbb r3, r2, r3 804a3c8: b29a uxth r2, r3 804a3ca: 4b09 ldr r3, [pc, #36] ; (804a3f0 ) 804a3cc: 881b ldrh r3, [r3, #0] 804a3ce: b29b uxth r3, r3 804a3d0: 4413 add r3, r2 804a3d2: b29a uxth r2, r3 804a3d4: 4b0b ldr r3, [pc, #44] ; (804a404 ) 804a3d6: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804a3d8: 4b08 ldr r3, [pc, #32] ; (804a3fc ) 804a3da: 2201 movs r2, #1 804a3dc: 701a strb r2, [r3, #0] } break; 804a3de: e038 b.n 804a452 804a3e0: 2002006c .word 0x2002006c 804a3e4: 20025d20 .word 0x20025d20 804a3e8: 20023e60 .word 0x20023e60 804a3ec: 080ee828 .word 0x080ee828 804a3f0: 20025d1e .word 0x20025d1e 804a3f4: 20025d1a .word 0x20025d1a 804a3f8: 20025d1c .word 0x20025d1c 804a3fc: 2002098c .word 0x2002098c 804a400: 20020f74 .word 0x20020f74 804a404: 20025d16 .word 0x20025d16 case StartStop: if(!measuring) 804a408: 4ba8 ldr r3, [pc, #672] ; (804a6ac ) 804a40a: 781b ldrb r3, [r3, #0] 804a40c: b2db uxtb r3, r3 804a40e: f083 0301 eor.w r3, r3, #1 804a412: b2db uxtb r3, r3 804a414: 2b00 cmp r3, #0 804a416: d00a beq.n 804a42e { initAmplif(); 804a418: f7d7 fb3c bl 8021a94 StartMeas(); 804a41c: f7d8 fe0e bl 802303c FIRST = true; 804a420: 4ba3 ldr r3, [pc, #652] ; (804a6b0 ) 804a422: 2201 movs r2, #1 804a424: 701a strb r2, [r3, #0] DrawSavedData = false; 804a426: 4ba3 ldr r3, [pc, #652] ; (804a6b4 ) 804a428: 2200 movs r2, #0 804a42a: 701a strb r2, [r3, #0] else { StopMeas(); oldmenupos = menupos; } break; 804a42c: e012 b.n 804a454 StopMeas(); 804a42e: f7d9 f9b5 bl 802379c oldmenupos = menupos; 804a432: 4ba1 ldr r3, [pc, #644] ; (804a6b8 ) 804a434: 781b ldrb r3, [r3, #0] 804a436: b2da uxtb r2, r3 804a438: 4ba0 ldr r3, [pc, #640] ; (804a6bc ) 804a43a: 701a strb r2, [r3, #0] break; 804a43c: e00a b.n 804a454 case Cursor: AUTOZOOM = true; 804a43e: 4ba0 ldr r3, [pc, #640] ; (804a6c0 ) 804a440: 2201 movs r2, #1 804a442: 701a strb r2, [r3, #0] break; 804a444: e006 b.n 804a454 break; 804a446: bf00 nop 804a448: f008 bc4e b.w 8052ce8 break; 804a44c: bf00 nop 804a44e: f008 bc4b b.w 8052ce8 break; 804a452: bf00 nop } break; 804a454: f008 bc48 b.w 8052ce8 case TREND_A: case TREND_V: case TREND_S: menu = lastmenu; 804a458: 4b9a ldr r3, [pc, #616] ; (804a6c4 ) 804a45a: 781b ldrb r3, [r3, #0] 804a45c: b2da uxtb r2, r3 804a45e: 4b9a ldr r3, [pc, #616] ; (804a6c8 ) 804a460: 701a strb r2, [r3, #0] menupos = lastmenupos; 804a462: 4b9a ldr r3, [pc, #616] ; (804a6cc ) 804a464: 781b ldrb r3, [r3, #0] 804a466: b2da uxtb r2, r3 804a468: 4b93 ldr r3, [pc, #588] ; (804a6b8 ) 804a46a: 701a strb r2, [r3, #0] Threshold = false; 804a46c: 4b98 ldr r3, [pc, #608] ; (804a6d0 ) 804a46e: 2200 movs r2, #0 804a470: 701a strb r2, [r3, #0] FIRST = true; 804a472: 4b8f ldr r3, [pc, #572] ; (804a6b0 ) 804a474: 2201 movs r2, #1 804a476: 701a strb r2, [r3, #0] break; 804a478: f008 bc81 b.w 8052d7e case MAIN: case MAIN_FRAN: switch(menupos) 804a47c: 4b8e ldr r3, [pc, #568] ; (804a6b8 ) 804a47e: 781b ldrb r3, [r3, #0] 804a480: b2db uxtb r3, r3 804a482: 2b06 cmp r3, #6 804a484: f208 8432 bhi.w 8052cec 804a488: a201 add r2, pc, #4 ; (adr r2, 804a490 ) 804a48a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804a48e: bf00 nop 804a490: 0804a4bf .word 0x0804a4bf 804a494: 0804a4ad .word 0x0804a4ad 804a498: 0804a4f5 .word 0x0804a4f5 804a49c: 0804a7f5 .word 0x0804a7f5 804a4a0: 0804a7f5 .word 0x0804a7f5 804a4a4: 08052ced .word 0x08052ced 804a4a8: 0804a7db .word 0x0804a7db { case BackMenu: StopMeas(); 804a4ac: f7d9 f976 bl 802379c menu = PARAM_VIB; 804a4b0: 4b85 ldr r3, [pc, #532] ; (804a6c8 ) 804a4b2: 2206 movs r2, #6 804a4b4: 701a strb r2, [r3, #0] menupos = Ok; 804a4b6: 4b80 ldr r3, [pc, #512] ; (804a6b8 ) 804a4b8: 2200 movs r2, #0 804a4ba: 701a strb r2, [r3, #0] break; 804a4bc: e1de b.n 804a87c case StartStop: if(!measuring) 804a4be: 4b7b ldr r3, [pc, #492] ; (804a6ac ) 804a4c0: 781b ldrb r3, [r3, #0] 804a4c2: b2db uxtb r3, r3 804a4c4: f083 0301 eor.w r3, r3, #1 804a4c8: b2db uxtb r3, r3 804a4ca: 2b00 cmp r3, #0 804a4cc: d00a beq.n 804a4e4 { initAmplif(); 804a4ce: f7d7 fae1 bl 8021a94 StartMeas(); 804a4d2: f7d8 fdb3 bl 802303c FIRST = true; 804a4d6: 4b76 ldr r3, [pc, #472] ; (804a6b0 ) 804a4d8: 2201 movs r2, #1 804a4da: 701a strb r2, [r3, #0] DrawSavedData = false; 804a4dc: 4b75 ldr r3, [pc, #468] ; (804a6b4 ) 804a4de: 2200 movs r2, #0 804a4e0: 701a strb r2, [r3, #0] else { StopMeas(); oldmenupos = menupos; } break; 804a4e2: e1cb b.n 804a87c StopMeas(); 804a4e4: f7d9 f95a bl 802379c oldmenupos = menupos; 804a4e8: 4b73 ldr r3, [pc, #460] ; (804a6b8 ) 804a4ea: 781b ldrb r3, [r3, #0] 804a4ec: b2da uxtb r2, r3 804a4ee: 4b73 ldr r3, [pc, #460] ; (804a6bc ) 804a4f0: 701a strb r2, [r3, #0] break; 804a4f2: e1c3 b.n 804a87c case Record: if(CardState == MSD_READY) 804a4f4: 4b77 ldr r3, [pc, #476] ; (804a6d4 ) 804a4f6: 781b ldrb r3, [r3, #0] 804a4f8: b2db uxtb r3, r3 804a4fa: 2b03 cmp r3, #3 804a4fc: f040 8162 bne.w 804a7c4 { if((!measuring) && (!AddToFile) && (!FIRST)) 804a500: 4b6a ldr r3, [pc, #424] ; (804a6ac ) 804a502: 781b ldrb r3, [r3, #0] 804a504: b2db uxtb r3, r3 804a506: f083 0301 eor.w r3, r3, #1 804a50a: b2db uxtb r3, r3 804a50c: 2b00 cmp r3, #0 804a50e: f000 81b1 beq.w 804a874 804a512: 4b71 ldr r3, [pc, #452] ; (804a6d8 ) 804a514: 781b ldrb r3, [r3, #0] 804a516: b2db uxtb r3, r3 804a518: f083 0301 eor.w r3, r3, #1 804a51c: b2db uxtb r3, r3 804a51e: 2b00 cmp r3, #0 804a520: f000 81a8 beq.w 804a874 804a524: 4b62 ldr r3, [pc, #392] ; (804a6b0 ) 804a526: 781b ldrb r3, [r3, #0] 804a528: b2db uxtb r3, r3 804a52a: f083 0301 eor.w r3, r3, #1 804a52e: b2db uxtb r3, r3 804a530: 2b00 cmp r3, #0 804a532: f000 819f beq.w 804a874 { if(NEWFILE) 804a536: 4b69 ldr r3, [pc, #420] ; (804a6dc ) 804a538: 781b ldrb r3, [r3, #0] 804a53a: b2db uxtb r3, r3 804a53c: 2b00 cmp r3, #0 804a53e: d02b beq.n 804a598 { memcpy(TEMP_Comment, Comment, sizeof(Comment)); 804a540: 4a67 ldr r2, [pc, #412] ; (804a6e0 ) 804a542: 4b68 ldr r3, [pc, #416] ; (804a6e4 ) 804a544: 4610 mov r0, r2 804a546: f103 0420 add.w r4, r3, #32 804a54a: 4602 mov r2, r0 804a54c: 4619 mov r1, r3 804a54e: f8d1 e000 ldr.w lr, [r1] 804a552: 684e ldr r6, [r1, #4] 804a554: 688d ldr r5, [r1, #8] 804a556: 68c9 ldr r1, [r1, #12] 804a558: f8c2 e000 str.w lr, [r2] 804a55c: 6056 str r6, [r2, #4] 804a55e: 6095 str r5, [r2, #8] 804a560: 60d1 str r1, [r2, #12] 804a562: 3310 adds r3, #16 804a564: 3010 adds r0, #16 804a566: 42a3 cmp r3, r4 804a568: d1ef bne.n 804a54a 804a56a: 4602 mov r2, r0 804a56c: 6819 ldr r1, [r3, #0] 804a56e: 685b ldr r3, [r3, #4] 804a570: 6011 str r1, [r2, #0] 804a572: 6053 str r3, [r2, #4] CommentLen = strlen(TEMP_Comment); 804a574: 485a ldr r0, [pc, #360] ; (804a6e0 ) 804a576: f7d5 fecd bl 8020314 804a57a: 4602 mov r2, r0 804a57c: 4b5a ldr r3, [pc, #360] ; (804a6e8 ) 804a57e: 601a str r2, [r3, #0] lastmenu = menu; 804a580: 4b51 ldr r3, [pc, #324] ; (804a6c8 ) 804a582: 781b ldrb r3, [r3, #0] 804a584: b2da uxtb r2, r3 804a586: 4b4f ldr r3, [pc, #316] ; (804a6c4 ) 804a588: 701a strb r2, [r3, #0] menu = INPUT_COMMENT; 804a58a: 4b4f ldr r3, [pc, #316] ; (804a6c8 ) 804a58c: 2231 movs r2, #49 ; 0x31 804a58e: 701a strb r2, [r3, #0] menupos = _ENTER; 804a590: 4b49 ldr r3, [pc, #292] ; (804a6b8 ) 804a592: 2226 movs r2, #38 ; 0x26 804a594: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804a596: e16d b.n 804a874 if(pardata.IVS[ACC] == PEAK) 804a598: 4b54 ldr r3, [pc, #336] ; (804a6ec ) 804a59a: 789b ldrb r3, [r3, #2] 804a59c: b2db uxtb r3, r3 804a59e: 2b00 cmp r3, #0 804a5a0: d104 bne.n 804a5ac FileData.Aivs = 'P'; 804a5a2: 4b53 ldr r3, [pc, #332] ; (804a6f0 ) 804a5a4: 2250 movs r2, #80 ; 0x50 804a5a6: f883 202c strb.w r2, [r3, #44] ; 0x2c 804a5aa: e026 b.n 804a5fa else if(pardata.IVS[ACC] == RMS) 804a5ac: 4b4f ldr r3, [pc, #316] ; (804a6ec ) 804a5ae: 789b ldrb r3, [r3, #2] 804a5b0: b2db uxtb r3, r3 804a5b2: 2b01 cmp r3, #1 804a5b4: d104 bne.n 804a5c0 FileData.Aivs = 'S'; 804a5b6: 4b4e ldr r3, [pc, #312] ; (804a6f0 ) 804a5b8: 2253 movs r2, #83 ; 0x53 804a5ba: f883 202c strb.w r2, [r3, #44] ; 0x2c 804a5be: e01c b.n 804a5fa else if(pardata.IVS[ACC] == PEAK_TO_PEAK) 804a5c0: 4b4a ldr r3, [pc, #296] ; (804a6ec ) 804a5c2: 789b ldrb r3, [r3, #2] 804a5c4: b2db uxtb r3, r3 804a5c6: 2b02 cmp r3, #2 804a5c8: d104 bne.n 804a5d4 FileData.Aivs = 'R'; 804a5ca: 4b49 ldr r3, [pc, #292] ; (804a6f0 ) 804a5cc: 2252 movs r2, #82 ; 0x52 804a5ce: f883 202c strb.w r2, [r3, #44] ; 0x2c 804a5d2: e012 b.n 804a5fa else if(pardata.IVS[ACC] == PEAK_FACTOR) 804a5d4: 4b45 ldr r3, [pc, #276] ; (804a6ec ) 804a5d6: 789b ldrb r3, [r3, #2] 804a5d8: b2db uxtb r3, r3 804a5da: 2b03 cmp r3, #3 804a5dc: d104 bne.n 804a5e8 FileData.Aivs = 'F'; 804a5de: 4b44 ldr r3, [pc, #272] ; (804a6f0 ) 804a5e0: 2246 movs r2, #70 ; 0x46 804a5e2: f883 202c strb.w r2, [r3, #44] ; 0x2c 804a5e6: e008 b.n 804a5fa else if(pardata.IVS[ACC] == EXCESS) 804a5e8: 4b40 ldr r3, [pc, #256] ; (804a6ec ) 804a5ea: 789b ldrb r3, [r3, #2] 804a5ec: b2db uxtb r3, r3 804a5ee: 2b04 cmp r3, #4 804a5f0: d103 bne.n 804a5fa FileData.Aivs = 'E'; 804a5f2: 4b3f ldr r3, [pc, #252] ; (804a6f0 ) 804a5f4: 2245 movs r2, #69 ; 0x45 804a5f6: f883 202c strb.w r2, [r3, #44] ; 0x2c if(pardata.IVS[VEL] == PEAK) 804a5fa: 4b3c ldr r3, [pc, #240] ; (804a6ec ) 804a5fc: 78db ldrb r3, [r3, #3] 804a5fe: b2db uxtb r3, r3 804a600: 2b00 cmp r3, #0 804a602: d104 bne.n 804a60e FileData.Vivs = 'P'; 804a604: 4b3a ldr r3, [pc, #232] ; (804a6f0 ) 804a606: 2250 movs r2, #80 ; 0x50 804a608: f883 202d strb.w r2, [r3, #45] ; 0x2d 804a60c: e026 b.n 804a65c else if(pardata.IVS[VEL] == RMS) 804a60e: 4b37 ldr r3, [pc, #220] ; (804a6ec ) 804a610: 78db ldrb r3, [r3, #3] 804a612: b2db uxtb r3, r3 804a614: 2b01 cmp r3, #1 804a616: d104 bne.n 804a622 FileData.Vivs = 'S'; 804a618: 4b35 ldr r3, [pc, #212] ; (804a6f0 ) 804a61a: 2253 movs r2, #83 ; 0x53 804a61c: f883 202d strb.w r2, [r3, #45] ; 0x2d 804a620: e01c b.n 804a65c else if(pardata.IVS[VEL] == PEAK_TO_PEAK) 804a622: 4b32 ldr r3, [pc, #200] ; (804a6ec ) 804a624: 78db ldrb r3, [r3, #3] 804a626: b2db uxtb r3, r3 804a628: 2b02 cmp r3, #2 804a62a: d104 bne.n 804a636 FileData.Vivs = 'R'; 804a62c: 4b30 ldr r3, [pc, #192] ; (804a6f0 ) 804a62e: 2252 movs r2, #82 ; 0x52 804a630: f883 202d strb.w r2, [r3, #45] ; 0x2d 804a634: e012 b.n 804a65c else if(pardata.IVS[VEL] == PEAK_FACTOR) 804a636: 4b2d ldr r3, [pc, #180] ; (804a6ec ) 804a638: 78db ldrb r3, [r3, #3] 804a63a: b2db uxtb r3, r3 804a63c: 2b03 cmp r3, #3 804a63e: d104 bne.n 804a64a FileData.Vivs = 'F'; 804a640: 4b2b ldr r3, [pc, #172] ; (804a6f0 ) 804a642: 2246 movs r2, #70 ; 0x46 804a644: f883 202d strb.w r2, [r3, #45] ; 0x2d 804a648: e008 b.n 804a65c else if(pardata.IVS[VEL] == EXCESS) 804a64a: 4b28 ldr r3, [pc, #160] ; (804a6ec ) 804a64c: 78db ldrb r3, [r3, #3] 804a64e: b2db uxtb r3, r3 804a650: 2b04 cmp r3, #4 804a652: d103 bne.n 804a65c FileData.Vivs = 'E'; 804a654: 4b26 ldr r3, [pc, #152] ; (804a6f0 ) 804a656: 2245 movs r2, #69 ; 0x45 804a658: f883 202d strb.w r2, [r3, #45] ; 0x2d if(pardata.IVS[DIS] == PEAK) 804a65c: 4b23 ldr r3, [pc, #140] ; (804a6ec ) 804a65e: 791b ldrb r3, [r3, #4] 804a660: b2db uxtb r3, r3 804a662: 2b00 cmp r3, #0 804a664: d104 bne.n 804a670 FileData.Sivs = 'P'; 804a666: 4b22 ldr r3, [pc, #136] ; (804a6f0 ) 804a668: 2250 movs r2, #80 ; 0x50 804a66a: f883 202e strb.w r2, [r3, #46] ; 0x2e 804a66e: e04a b.n 804a706 else if(pardata.IVS[DIS] == RMS) 804a670: 4b1e ldr r3, [pc, #120] ; (804a6ec ) 804a672: 791b ldrb r3, [r3, #4] 804a674: b2db uxtb r3, r3 804a676: 2b01 cmp r3, #1 804a678: d104 bne.n 804a684 FileData.Sivs = 'S'; 804a67a: 4b1d ldr r3, [pc, #116] ; (804a6f0 ) 804a67c: 2253 movs r2, #83 ; 0x53 804a67e: f883 202e strb.w r2, [r3, #46] ; 0x2e 804a682: e040 b.n 804a706 else if(pardata.IVS[DIS] == PEAK_TO_PEAK) 804a684: 4b19 ldr r3, [pc, #100] ; (804a6ec ) 804a686: 791b ldrb r3, [r3, #4] 804a688: b2db uxtb r3, r3 804a68a: 2b02 cmp r3, #2 804a68c: d104 bne.n 804a698 FileData.Sivs = 'R'; 804a68e: 4b18 ldr r3, [pc, #96] ; (804a6f0 ) 804a690: 2252 movs r2, #82 ; 0x52 804a692: f883 202e strb.w r2, [r3, #46] ; 0x2e 804a696: e036 b.n 804a706 else if(pardata.IVS[DIS] == PEAK_FACTOR) 804a698: 4b14 ldr r3, [pc, #80] ; (804a6ec ) 804a69a: 791b ldrb r3, [r3, #4] 804a69c: b2db uxtb r3, r3 804a69e: 2b03 cmp r3, #3 804a6a0: d128 bne.n 804a6f4 FileData.Sivs = 'F'; 804a6a2: 4b13 ldr r3, [pc, #76] ; (804a6f0 ) 804a6a4: 2246 movs r2, #70 ; 0x46 804a6a6: f883 202e strb.w r2, [r3, #46] ; 0x2e 804a6aa: e02c b.n 804a706 804a6ac: 20020daf .word 0x20020daf 804a6b0: 20020db2 .word 0x20020db2 804a6b4: 20020dca .word 0x20020dca 804a6b8: 20020070 .word 0x20020070 804a6bc: 20020f7a .word 0x20020f7a 804a6c0: 2002098c .word 0x2002098c 804a6c4: 20020f79 .word 0x20020f79 804a6c8: 20020f78 .word 0x20020f78 804a6cc: 20020071 .word 0x20020071 804a6d0: 20020db1 .word 0x20020db1 804a6d4: 2002164c .word 0x2002164c 804a6d8: 20020dc8 .word 0x20020dc8 804a6dc: 20020e14 .word 0x20020e14 804a6e0: 20025c40 .word 0x20025c40 804a6e4: 20022650 .word 0x20022650 804a6e8: 20020e18 .word 0x20020e18 804a6ec: 20023e60 .word 0x20023e60 804a6f0: 20022984 .word 0x20022984 else if(pardata.IVS[DIS] == EXCESS) 804a6f4: 4b9a ldr r3, [pc, #616] ; (804a960 ) 804a6f6: 791b ldrb r3, [r3, #4] 804a6f8: b2db uxtb r3, r3 804a6fa: 2b04 cmp r3, #4 804a6fc: d103 bne.n 804a706 FileData.Sivs = 'E'; 804a6fe: 4b99 ldr r3, [pc, #612] ; (804a964 ) 804a700: 2245 movs r2, #69 ; 0x45 804a702: f883 202e strb.w r2, [r3, #46] ; 0x2e FileData.Aval.fl = skz[ACC]; 804a706: 4b98 ldr r3, [pc, #608] ; (804a968 ) 804a708: 681b ldr r3, [r3, #0] 804a70a: 4a96 ldr r2, [pc, #600] ; (804a964 ) 804a70c: 6013 str r3, [r2, #0] if(pardata.HP < 2.0f) 804a70e: 4b94 ldr r3, [pc, #592] ; (804a960 ) 804a710: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804a714: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804a718: eef4 7ac7 vcmpe.f32 s15, s14 804a71c: eef1 fa10 vmrs APSR_nzcv, fpscr 804a720: d505 bpl.n 804a72e skz[VEL] = -1.0f; 804a722: 4b91 ldr r3, [pc, #580] ; (804a968 ) 804a724: 4a91 ldr r2, [pc, #580] ; (804a96c ) 804a726: 605a str r2, [r3, #4] skz[DIS] = -1.0f; 804a728: 4b8f ldr r3, [pc, #572] ; (804a968 ) 804a72a: 4a90 ldr r2, [pc, #576] ; (804a96c ) 804a72c: 609a str r2, [r3, #8] FileData.Vval.fl = skz[VEL]; 804a72e: 4b8e ldr r3, [pc, #568] ; (804a968 ) 804a730: 685b ldr r3, [r3, #4] 804a732: 4a8c ldr r2, [pc, #560] ; (804a964 ) 804a734: 6053 str r3, [r2, #4] FileData.Sval.fl = skz[DIS]; 804a736: 4b8c ldr r3, [pc, #560] ; (804a968 ) 804a738: 689b ldr r3, [r3, #8] 804a73a: 4a8a ldr r2, [pc, #552] ; (804a964 ) 804a73c: 6093 str r3, [r2, #8] if(menu == MAIN) 804a73e: 4b8c ldr r3, [pc, #560] ; (804a970 ) 804a740: 781b ldrb r3, [r3, #0] 804a742: b2db uxtb r3, r3 804a744: 2b00 cmp r3, #0 804a746: d103 bne.n 804a750 FileData.Fval.fl = -1.0f; 804a748: 4b86 ldr r3, [pc, #536] ; (804a964 ) 804a74a: 4a88 ldr r2, [pc, #544] ; (804a96c ) 804a74c: 60da str r2, [r3, #12] 804a74e: e003 b.n 804a758 else FileData.Fval.fl = FreqFran; 804a750: 4b88 ldr r3, [pc, #544] ; (804a974 ) 804a752: 681b ldr r3, [r3, #0] 804a754: 4a83 ldr r2, [pc, #524] ; (804a964 ) 804a756: 60d3 str r3, [r2, #12] FileData.Time = RTC_TimeStruct; 804a758: 4b82 ldr r3, [pc, #520] ; (804a964 ) 804a75a: 4a87 ldr r2, [pc, #540] ; (804a978 ) 804a75c: f103 0410 add.w r4, r3, #16 804a760: 4615 mov r5, r2 804a762: cd0f ldmia r5!, {r0, r1, r2, r3} 804a764: c40f stmia r4!, {r0, r1, r2, r3} 804a766: e895 0003 ldmia.w r5, {r0, r1} 804a76a: e884 0003 stmia.w r4, {r0, r1} FileData.Date = RTC_DateStruct; 804a76e: 4b7d ldr r3, [pc, #500] ; (804a964 ) 804a770: 4a82 ldr r2, [pc, #520] ; (804a97c ) 804a772: 3328 adds r3, #40 ; 0x28 804a774: 6810 ldr r0, [r2, #0] 804a776: 6018 str r0, [r3, #0] AddToFile = true; 804a778: 4b81 ldr r3, [pc, #516] ; (804a980 ) 804a77a: 2201 movs r2, #1 804a77c: 701a strb r2, [r3, #0] result = WriteFilePTM(MeasFileName); 804a77e: 4881 ldr r0, [pc, #516] ; (804a984 ) 804a780: f7de fd2e bl 80291e0 804a784: 4603 mov r3, r0 804a786: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804a78a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804a78e: 2b00 cmp r3, #0 804a790: d10a bne.n 804a7a8 STATUS = AP_SAVING_SUCCESS; 804a792: 4b7d ldr r3, [pc, #500] ; (804a988 ) 804a794: 2207 movs r2, #7 804a796: 601a str r2, [r3, #0] timerStatus = sec2; 804a798: 4b7c ldr r3, [pc, #496] ; (804a98c ) 804a79a: f44f 5280 mov.w r2, #4096 ; 0x1000 804a79e: 801a strh r2, [r3, #0] DrawStatus = true; 804a7a0: 4b7b ldr r3, [pc, #492] ; (804a990 ) 804a7a2: 2201 movs r2, #1 804a7a4: 701a strb r2, [r3, #0] 804a7a6: e009 b.n 804a7bc STATUS = AP_SAVING_ERROR; 804a7a8: 4b77 ldr r3, [pc, #476] ; (804a988 ) 804a7aa: 2208 movs r2, #8 804a7ac: 601a str r2, [r3, #0] timerStatus = sec2; 804a7ae: 4b77 ldr r3, [pc, #476] ; (804a98c ) 804a7b0: f44f 5280 mov.w r2, #4096 ; 0x1000 804a7b4: 801a strh r2, [r3, #0] DrawStatus = true; 804a7b6: 4b76 ldr r3, [pc, #472] ; (804a990 ) 804a7b8: 2201 movs r2, #1 804a7ba: 701a strb r2, [r3, #0] AddToFile = false; 804a7bc: 4b70 ldr r3, [pc, #448] ; (804a980 ) 804a7be: 2200 movs r2, #0 804a7c0: 701a strb r2, [r3, #0] break; 804a7c2: e057 b.n 804a874 STATUS = AP_NO_CARD; 804a7c4: 4b70 ldr r3, [pc, #448] ; (804a988 ) 804a7c6: 2211 movs r2, #17 804a7c8: 601a str r2, [r3, #0] timerStatus = sec2; 804a7ca: 4b70 ldr r3, [pc, #448] ; (804a98c ) 804a7cc: f44f 5280 mov.w r2, #4096 ; 0x1000 804a7d0: 801a strh r2, [r3, #0] DrawStatus = true; 804a7d2: 4b6f ldr r3, [pc, #444] ; (804a990 ) 804a7d4: 2201 movs r2, #1 804a7d6: 701a strb r2, [r3, #0] break; 804a7d8: e04c b.n 804a874 case MyLinLog: if(SeeLog) 804a7da: 4b6e ldr r3, [pc, #440] ; (804a994 ) 804a7dc: 781b ldrb r3, [r3, #0] 804a7de: b2db uxtb r3, r3 804a7e0: 2b00 cmp r3, #0 804a7e2: d003 beq.n 804a7ec SeeLog = false; 804a7e4: 4b6b ldr r3, [pc, #428] ; (804a994 ) 804a7e6: 2200 movs r2, #0 804a7e8: 701a strb r2, [r3, #0] else SeeLog = true; break; 804a7ea: e047 b.n 804a87c else SeeLog = true; 804a7ec: 4b69 ldr r3, [pc, #420] ; (804a994 ) 804a7ee: 2201 movs r2, #1 804a7f0: 701a strb r2, [r3, #0] break; 804a7f2: e043 b.n 804a87c case MyPoint: case MyMeasure: if(!ReadFromFile) 804a7f4: 4b68 ldr r3, [pc, #416] ; (804a998 ) 804a7f6: 781b ldrb r3, [r3, #0] 804a7f8: b2db uxtb r3, r3 804a7fa: f083 0301 eor.w r3, r3, #1 804a7fe: b2db uxtb r3, r3 804a800: 2b00 cmp r3, #0 804a802: d03a beq.n 804a87a { if((CardState == MSD_READY) && (strlen(MeasFileName))) 804a804: 4b65 ldr r3, [pc, #404] ; (804a99c ) 804a806: 781b ldrb r3, [r3, #0] 804a808: b2db uxtb r3, r3 804a80a: 2b03 cmp r3, #3 804a80c: d135 bne.n 804a87a 804a80e: 4b5d ldr r3, [pc, #372] ; (804a984 ) 804a810: 781b ldrb r3, [r3, #0] 804a812: 2b00 cmp r3, #0 804a814: d031 beq.n 804a87a { if(measuring) 804a816: 4b62 ldr r3, [pc, #392] ; (804a9a0 ) 804a818: 781b ldrb r3, [r3, #0] 804a81a: b2db uxtb r3, r3 804a81c: 2b00 cmp r3, #0 804a81e: d001 beq.n 804a824 StopMeas(); 804a820: f7d8 ffbc bl 802379c result = ReadTrendPTM(MeasFileName); 804a824: 4857 ldr r0, [pc, #348] ; (804a984 ) 804a826: f7dc f98f bl 8026b48 804a82a: 4603 mov r3, r0 804a82c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804a830: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804a834: 2b00 cmp r3, #0 804a836: d112 bne.n 804a85e { lastmenu = menu; 804a838: 4b4d ldr r3, [pc, #308] ; (804a970 ) 804a83a: 781b ldrb r3, [r3, #0] 804a83c: b2da uxtb r2, r3 804a83e: 4b59 ldr r3, [pc, #356] ; (804a9a4 ) 804a840: 701a strb r2, [r3, #0] menu = TREND_A; 804a842: 4b4b ldr r3, [pc, #300] ; (804a970 ) 804a844: 2245 movs r2, #69 ; 0x45 804a846: 701a strb r2, [r3, #0] lastmenupos = menupos; 804a848: 4b57 ldr r3, [pc, #348] ; (804a9a8 ) 804a84a: 781b ldrb r3, [r3, #0] 804a84c: b2da uxtb r2, r3 804a84e: 4b57 ldr r3, [pc, #348] ; (804a9ac ) 804a850: 701a strb r2, [r3, #0] menupos = pardata.IVS[ACC]; 804a852: 4b43 ldr r3, [pc, #268] ; (804a960 ) 804a854: 789b ldrb r3, [r3, #2] 804a856: b2da uxtb r2, r3 804a858: 4b53 ldr r3, [pc, #332] ; (804a9a8 ) 804a85a: 701a strb r2, [r3, #0] timerStatus = sec2; DrawStatus = true; } } } break; 804a85c: e00d b.n 804a87a STATUS = AP_INVALID_FILE; 804a85e: 4b4a ldr r3, [pc, #296] ; (804a988 ) 804a860: 2202 movs r2, #2 804a862: 601a str r2, [r3, #0] timerStatus = sec2; 804a864: 4b49 ldr r3, [pc, #292] ; (804a98c ) 804a866: f44f 5280 mov.w r2, #4096 ; 0x1000 804a86a: 801a strh r2, [r3, #0] DrawStatus = true; 804a86c: 4b48 ldr r3, [pc, #288] ; (804a990 ) 804a86e: 2201 movs r2, #1 804a870: 701a strb r2, [r3, #0] break; 804a872: e002 b.n 804a87a break; 804a874: bf00 nop 804a876: f008 ba39 b.w 8052cec break; 804a87a: bf00 nop } break; 804a87c: f008 ba36 b.w 8052cec case MAIN_OSC: switch(menupos) 804a880: 4b49 ldr r3, [pc, #292] ; (804a9a8 ) 804a882: 781b ldrb r3, [r3, #0] 804a884: b2db uxtb r3, r3 804a886: 2b06 cmp r3, #6 804a888: f208 8232 bhi.w 8052cf0 804a88c: a201 add r2, pc, #4 ; (adr r2, 804a894 ) 804a88e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804a892: bf00 nop 804a894: 0804a8c3 .word 0x0804a8c3 804a898: 0804a8b1 .word 0x0804a8b1 804a89c: 0804a8ff .word 0x0804a8ff 804a8a0: 0804aadf .word 0x0804aadf 804a8a4: 0804ad13 .word 0x0804ad13 804a8a8: 0804aa15 .word 0x0804aa15 804a8ac: 0804af0d .word 0x0804af0d { case BackMenu: StopMeas(); 804a8b0: f7d8 ff74 bl 802379c menu = PARAM_OSC; 804a8b4: 4b2e ldr r3, [pc, #184] ; (804a970 ) 804a8b6: 2208 movs r2, #8 804a8b8: 701a strb r2, [r3, #0] menupos = Ok; 804a8ba: 4b3b ldr r3, [pc, #236] ; (804a9a8 ) 804a8bc: 2200 movs r2, #0 804a8be: 701a strb r2, [r3, #0] break; 804a8c0: e32f b.n 804af22 case StartStop: if(!measuring) 804a8c2: 4b37 ldr r3, [pc, #220] ; (804a9a0 ) 804a8c4: 781b ldrb r3, [r3, #0] 804a8c6: b2db uxtb r3, r3 804a8c8: f083 0301 eor.w r3, r3, #1 804a8cc: b2db uxtb r3, r3 804a8ce: 2b00 cmp r3, #0 804a8d0: d00a beq.n 804a8e8 { AUTOZOOM = true; 804a8d2: 4b37 ldr r3, [pc, #220] ; (804a9b0 ) 804a8d4: 2201 movs r2, #1 804a8d6: 701a strb r2, [r3, #0] FIRST = true; 804a8d8: 4b36 ldr r3, [pc, #216] ; (804a9b4 ) 804a8da: 2201 movs r2, #1 804a8dc: 701a strb r2, [r3, #0] initAmplif(); 804a8de: f7d7 f8d9 bl 8021a94 StartMeas(); 804a8e2: f7d8 fbab bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804a8e6: e31c b.n 804af22 StopMeas(); 804a8e8: f7d8 ff58 bl 802379c AUTOZOOM = true; 804a8ec: 4b30 ldr r3, [pc, #192] ; (804a9b0 ) 804a8ee: 2201 movs r2, #1 804a8f0: 701a strb r2, [r3, #0] oldmenupos = menupos; 804a8f2: 4b2d ldr r3, [pc, #180] ; (804a9a8 ) 804a8f4: 781b ldrb r3, [r3, #0] 804a8f6: b2da uxtb r2, r3 804a8f8: 4b2f ldr r3, [pc, #188] ; (804a9b8 ) 804a8fa: 701a strb r2, [r3, #0] break; 804a8fc: e311 b.n 804af22 case ImageLeft: if(lX) 804a8fe: 4b2f ldr r3, [pc, #188] ; (804a9bc ) 804a900: 881b ldrh r3, [r3, #0] 804a902: b29b uxth r3, r3 804a904: 2b00 cmp r3, #0 804a906: f000 8305 beq.w 804af14 { multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 804a90a: 4b2d ldr r3, [pc, #180] ; (804a9c0 ) 804a90c: 781b ldrb r3, [r3, #0] 804a90e: b2db uxtb r3, r3 804a910: 461a mov r2, r3 804a912: 4613 mov r3, r2 804a914: 009b lsls r3, r3, #2 804a916: 4413 add r3, r2 804a918: 4a11 ldr r2, [pc, #68] ; (804a960 ) 804a91a: 79d2 ldrb r2, [r2, #7] 804a91c: b2d2 uxtb r2, r2 804a91e: 4413 add r3, r2 804a920: 4a28 ldr r2, [pc, #160] ; (804a9c4 ) 804a922: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804a926: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804a92a: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804a92e: 021b lsls r3, r3, #8 804a930: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804a934: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804a938: 085b lsrs r3, r3, #1 804a93a: b29a uxth r2, r3 804a93c: 4b1f ldr r3, [pc, #124] ; (804a9bc ) 804a93e: 881b ldrh r3, [r3, #0] 804a940: b29b uxth r3, r3 804a942: 429a cmp r2, r3 804a944: d842 bhi.n 804a9cc X0 -= (multB_u16 >> 1); 804a946: 4b20 ldr r3, [pc, #128] ; (804a9c8 ) 804a948: 881b ldrh r3, [r3, #0] 804a94a: b29a uxth r2, r3 804a94c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804a950: 085b lsrs r3, r3, #1 804a952: b29b uxth r3, r3 804a954: 1ad3 subs r3, r2, r3 804a956: b29a uxth r2, r3 804a958: 4b1b ldr r3, [pc, #108] ; (804a9c8 ) 804a95a: 801a strh r2, [r3, #0] 804a95c: e039 b.n 804a9d2 804a95e: bf00 nop 804a960: 20023e60 .word 0x20023e60 804a964: 20022984 .word 0x20022984 804a968: 20021540 .word 0x20021540 804a96c: bf800000 .word 0xbf800000 804a970: 20020f78 .word 0x20020f78 804a974: 20021564 .word 0x20021564 804a978: 20025c68 .word 0x20025c68 804a97c: 20025cec .word 0x20025cec 804a980: 20020dc8 .word 0x20020dc8 804a984: 20020e58 .word 0x20020e58 804a988: 20020dcc .word 0x20020dcc 804a98c: 2002168c .word 0x2002168c 804a990: 20020dd2 .word 0x20020dd2 804a994: 20020f77 .word 0x20020f77 804a998: 20020dc9 .word 0x20020dc9 804a99c: 2002164c .word 0x2002164c 804a9a0: 20020daf .word 0x20020daf 804a9a4: 20020f79 .word 0x20020f79 804a9a8: 20020070 .word 0x20020070 804a9ac: 20020071 .word 0x20020071 804a9b0: 2002098c .word 0x2002098c 804a9b4: 20020db2 .word 0x20020db2 804a9b8: 20020f7a .word 0x20020f7a 804a9bc: 20025d1a .word 0x20025d1a 804a9c0: 20020f74 .word 0x20020f74 804a9c4: 080ee828 .word 0x080ee828 804a9c8: 20025d1e .word 0x20025d1e else X0 = 0; 804a9cc: 4ba0 ldr r3, [pc, #640] ; (804ac50 ) 804a9ce: 2200 movs r2, #0 804a9d0: 801a strh r2, [r3, #0] lX = X0; 804a9d2: 4b9f ldr r3, [pc, #636] ; (804ac50 ) 804a9d4: 881b ldrh r3, [r3, #0] 804a9d6: b29a uxth r2, r3 804a9d8: 4b9e ldr r3, [pc, #632] ; (804ac54 ) 804a9da: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804a9dc: 4b9d ldr r3, [pc, #628] ; (804ac54 ) 804a9de: 881b ldrh r3, [r3, #0] 804a9e0: b29a uxth r2, r3 804a9e2: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804a9e6: 4413 add r3, r2 804a9e8: b29a uxth r2, r3 804a9ea: 4b9b ldr r3, [pc, #620] ; (804ac58 ) 804a9ec: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804a9ee: 4b9b ldr r3, [pc, #620] ; (804ac5c ) 804a9f0: 681b ldr r3, [r3, #0] 804a9f2: b29b uxth r3, r3 804a9f4: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804a9f8: fb12 f303 smulbb r3, r2, r3 804a9fc: b29a uxth r2, r3 804a9fe: 4b94 ldr r3, [pc, #592] ; (804ac50 ) 804aa00: 881b ldrh r3, [r3, #0] 804aa02: b29b uxth r3, r3 804aa04: 4413 add r3, r2 804aa06: b29a uxth r2, r3 804aa08: 4b95 ldr r3, [pc, #596] ; (804ac60 ) 804aa0a: 801a strh r2, [r3, #0] AUTOZOOM = true; 804aa0c: 4b95 ldr r3, [pc, #596] ; (804ac64 ) 804aa0e: 2201 movs r2, #1 804aa10: 701a strb r2, [r3, #0] } break; 804aa12: e27f b.n 804af14 case ImageRight: multA_u16 = Avg[0][5 * ViewLevel + pardata.LNE]; 804aa14: 4b94 ldr r3, [pc, #592] ; (804ac68 ) 804aa16: 781b ldrb r3, [r3, #0] 804aa18: b2db uxtb r3, r3 804aa1a: 461a mov r2, r3 804aa1c: 4613 mov r3, r2 804aa1e: 009b lsls r3, r3, #2 804aa20: 4413 add r3, r2 804aa22: 4a92 ldr r2, [pc, #584] ; (804ac6c ) 804aa24: 79d2 ldrb r2, [r2, #7] 804aa26: b2d2 uxtb r2, r2 804aa28: 4413 add r3, r2 804aa2a: 4a91 ldr r2, [pc, #580] ; (804ac70 ) 804aa2c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804aa30: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804aa34: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804aa38: 021b lsls r3, r3, #8 804aa3a: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = NS[pardata.LNE]; 804aa3e: 4b8b ldr r3, [pc, #556] ; (804ac6c ) 804aa40: 79db ldrb r3, [r3, #7] 804aa42: b2db uxtb r3, r3 804aa44: 461a mov r2, r3 804aa46: 4b8b ldr r3, [pc, #556] ; (804ac74 ) 804aa48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804aa4c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804aa50: 4b81 ldr r3, [pc, #516] ; (804ac58 ) 804aa52: 881b ldrh r3, [r3, #0] 804aa54: b29b uxth r3, r3 804aa56: 461a mov r2, r3 804aa58: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804aa5c: 085b lsrs r3, r3, #1 804aa5e: b29b uxth r3, r3 804aa60: 4413 add r3, r2 804aa62: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804aa66: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804aa6a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804aa6e: 429a cmp r2, r3 804aa70: d80b bhi.n 804aa8a X0 += (multB_u16 >> 1); 804aa72: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804aa76: 085b lsrs r3, r3, #1 804aa78: b29a uxth r2, r3 804aa7a: 4b75 ldr r3, [pc, #468] ; (804ac50 ) 804aa7c: 881b ldrh r3, [r3, #0] 804aa7e: b29b uxth r3, r3 804aa80: 4413 add r3, r2 804aa82: b29a uxth r2, r3 804aa84: 4b72 ldr r3, [pc, #456] ; (804ac50 ) 804aa86: 801a strh r2, [r3, #0] 804aa88: e008 b.n 804aa9c else X0 = (uint16_t) (k - multB_u16); 804aa8a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804aa8e: b29a uxth r2, r3 804aa90: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804aa94: 1ad3 subs r3, r2, r3 804aa96: b29a uxth r2, r3 804aa98: 4b6d ldr r3, [pc, #436] ; (804ac50 ) 804aa9a: 801a strh r2, [r3, #0] lX = X0; 804aa9c: 4b6c ldr r3, [pc, #432] ; (804ac50 ) 804aa9e: 881b ldrh r3, [r3, #0] 804aaa0: b29a uxth r2, r3 804aaa2: 4b6c ldr r3, [pc, #432] ; (804ac54 ) 804aaa4: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804aaa6: 4b6b ldr r3, [pc, #428] ; (804ac54 ) 804aaa8: 881b ldrh r3, [r3, #0] 804aaaa: b29a uxth r2, r3 804aaac: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804aab0: 4413 add r3, r2 804aab2: b29a uxth r2, r3 804aab4: 4b68 ldr r3, [pc, #416] ; (804ac58 ) 804aab6: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804aab8: 4b68 ldr r3, [pc, #416] ; (804ac5c ) 804aaba: 681b ldr r3, [r3, #0] 804aabc: b29b uxth r3, r3 804aabe: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804aac2: fb12 f303 smulbb r3, r2, r3 804aac6: b29a uxth r2, r3 804aac8: 4b61 ldr r3, [pc, #388] ; (804ac50 ) 804aaca: 881b ldrh r3, [r3, #0] 804aacc: b29b uxth r3, r3 804aace: 4413 add r3, r2 804aad0: b29a uxth r2, r3 804aad2: 4b63 ldr r3, [pc, #396] ; (804ac60 ) 804aad4: 801a strh r2, [r3, #0] AUTOZOOM = true; 804aad6: 4b63 ldr r3, [pc, #396] ; (804ac64 ) 804aad8: 2201 movs r2, #1 804aada: 701a strb r2, [r3, #0] break; 804aadc: e221 b.n 804af22 case ZoomIn: lvl_0 = 0; 804aade: 2300 movs r3, #0 804aae0: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[0][5 * ViewLevel + pardata.LNE]; 804aae4: 4b60 ldr r3, [pc, #384] ; (804ac68 ) 804aae6: 781b ldrb r3, [r3, #0] 804aae8: b2db uxtb r3, r3 804aaea: 461a mov r2, r3 804aaec: 4613 mov r3, r2 804aaee: 009b lsls r3, r3, #2 804aaf0: 4413 add r3, r2 804aaf2: 4a5e ldr r2, [pc, #376] ; (804ac6c ) 804aaf4: 79d2 ldrb r2, [r2, #7] 804aaf6: b2d2 uxtb r2, r2 804aaf8: 4413 add r3, r2 804aafa: 4a5d ldr r2, [pc, #372] ; (804ac70 ) 804aafc: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ab00: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 6; 804ab04: 2306 movs r3, #6 804ab06: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804ab0a: 4b57 ldr r3, [pc, #348] ; (804ac68 ) 804ab0c: 781b ldrb r3, [r3, #0] 804ab0e: b2db uxtb r3, r3 804ab10: b29b uxth r3, r3 804ab12: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804ab16: 429a cmp r2, r3 804ab18: f240 81ff bls.w 804af1a 804ab1c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ab20: 2b01 cmp r3, #1 804ab22: f240 81fa bls.w 804af1a { ViewLevel++; 804ab26: 4b50 ldr r3, [pc, #320] ; (804ac68 ) 804ab28: 781b ldrb r3, [r3, #0] 804ab2a: b2db uxtb r3, r3 804ab2c: 3301 adds r3, #1 804ab2e: b2da uxtb r2, r3 804ab30: 4b4d ldr r3, [pc, #308] ; (804ac68 ) 804ab32: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 804ab34: 4b4c ldr r3, [pc, #304] ; (804ac68 ) 804ab36: 781b ldrb r3, [r3, #0] 804ab38: b2db uxtb r3, r3 804ab3a: 461a mov r2, r3 804ab3c: 4613 mov r3, r2 804ab3e: 009b lsls r3, r3, #2 804ab40: 4413 add r3, r2 804ab42: 4a4a ldr r2, [pc, #296] ; (804ac6c ) 804ab44: 79d2 ldrb r2, [r2, #7] 804ab46: b2d2 uxtb r2, r2 804ab48: 4413 add r3, r2 804ab4a: 4a49 ldr r2, [pc, #292] ; (804ac70 ) 804ab4c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ab50: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804ab54: 4b42 ldr r3, [pc, #264] ; (804ac60 ) 804ab56: 881b ldrh r3, [r3, #0] 804ab58: b29a uxth r2, r3 804ab5a: 4b40 ldr r3, [pc, #256] ; (804ac5c ) 804ab5c: 681b ldr r3, [r3, #0] 804ab5e: b29b uxth r3, r3 804ab60: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804ab64: fb11 f303 smulbb r3, r1, r3 804ab68: b29b uxth r3, r3 804ab6a: 1ad3 subs r3, r2, r3 804ab6c: b29a uxth r2, r3 804ab6e: 4b38 ldr r3, [pc, #224] ; (804ac50 ) 804ab70: 801a strh r2, [r3, #0] lX = X0; 804ab72: 4b37 ldr r3, [pc, #220] ; (804ac50 ) 804ab74: 881b ldrh r3, [r3, #0] 804ab76: b29a uxth r2, r3 804ab78: 4b36 ldr r3, [pc, #216] ; (804ac54 ) 804ab7a: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804ab7c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ab80: 021b lsls r3, r3, #8 804ab82: b29a uxth r2, r3 804ab84: 4b33 ldr r3, [pc, #204] ; (804ac54 ) 804ab86: 881b ldrh r3, [r3, #0] 804ab88: b29b uxth r3, r3 804ab8a: 4413 add r3, r2 804ab8c: b29a uxth r2, r3 804ab8e: 4b32 ldr r3, [pc, #200] ; (804ac58 ) 804ab90: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804ab92: 4b39 ldr r3, [pc, #228] ; (804ac78 ) 804ab94: 881b ldrh r3, [r3, #0] 804ab96: b29b uxth r3, r3 804ab98: 461a mov r2, r3 804ab9a: 4b2e ldr r3, [pc, #184] ; (804ac54 ) 804ab9c: 881b ldrh r3, [r3, #0] 804ab9e: b29b uxth r3, r3 804aba0: 1ad2 subs r2, r2, r3 804aba2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804aba6: fb92 f3f3 sdiv r3, r2, r3 804abaa: 461a mov r2, r3 804abac: 4b2b ldr r3, [pc, #172] ; (804ac5c ) 804abae: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804abb0: 4b2a ldr r3, [pc, #168] ; (804ac5c ) 804abb2: 681b ldr r3, [r3, #0] 804abb4: b29b uxth r3, r3 804abb6: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804abba: fb12 f303 smulbb r3, r2, r3 804abbe: b29a uxth r2, r3 804abc0: 4b24 ldr r3, [pc, #144] ; (804ac54 ) 804abc2: 881b ldrh r3, [r3, #0] 804abc4: b29b uxth r3, r3 804abc6: 4413 add r3, r2 804abc8: b29a uxth r2, r3 804abca: 4b25 ldr r3, [pc, #148] ; (804ac60 ) 804abcc: 801a strh r2, [r3, #0] if((CURSOR < 128) && (X0 >= dX)) 804abce: 4b23 ldr r3, [pc, #140] ; (804ac5c ) 804abd0: 681b ldr r3, [r3, #0] 804abd2: 2b7f cmp r3, #127 ; 0x7f 804abd4: d852 bhi.n 804ac7c 804abd6: 4b1e ldr r3, [pc, #120] ; (804ac50 ) 804abd8: 881b ldrh r3, [r3, #0] 804abda: b29b uxth r3, r3 804abdc: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804abe0: 429a cmp r2, r3 804abe2: d84b bhi.n 804ac7c { if(lX >= dX) 804abe4: 4b1b ldr r3, [pc, #108] ; (804ac54 ) 804abe6: 881b ldrh r3, [r3, #0] 804abe8: b29b uxth r3, r3 804abea: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804abee: 429a cmp r2, r3 804abf0: f200 808b bhi.w 804ad0a { CURSOR++; 804abf4: 4b19 ldr r3, [pc, #100] ; (804ac5c ) 804abf6: 681b ldr r3, [r3, #0] 804abf8: 3301 adds r3, #1 804abfa: 4a18 ldr r2, [pc, #96] ; (804ac5c ) 804abfc: 6013 str r3, [r2, #0] X0 -= dX; 804abfe: 4b14 ldr r3, [pc, #80] ; (804ac50 ) 804ac00: 881b ldrh r3, [r3, #0] 804ac02: b29a uxth r2, r3 804ac04: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ac08: 1ad3 subs r3, r2, r3 804ac0a: b29a uxth r2, r3 804ac0c: 4b10 ldr r3, [pc, #64] ; (804ac50 ) 804ac0e: 801a strh r2, [r3, #0] lX = X0; 804ac10: 4b0f ldr r3, [pc, #60] ; (804ac50 ) 804ac12: 881b ldrh r3, [r3, #0] 804ac14: b29a uxth r2, r3 804ac16: 4b0f ldr r3, [pc, #60] ; (804ac54 ) 804ac18: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804ac1a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ac1e: 021b lsls r3, r3, #8 804ac20: b29a uxth r2, r3 804ac22: 4b0c ldr r3, [pc, #48] ; (804ac54 ) 804ac24: 881b ldrh r3, [r3, #0] 804ac26: b29b uxth r3, r3 804ac28: 4413 add r3, r2 804ac2a: b29a uxth r2, r3 804ac2c: 4b0a ldr r3, [pc, #40] ; (804ac58 ) 804ac2e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804ac30: 4b11 ldr r3, [pc, #68] ; (804ac78 ) 804ac32: 881b ldrh r3, [r3, #0] 804ac34: b29b uxth r3, r3 804ac36: 461a mov r2, r3 804ac38: 4b06 ldr r3, [pc, #24] ; (804ac54 ) 804ac3a: 881b ldrh r3, [r3, #0] 804ac3c: b29b uxth r3, r3 804ac3e: 1ad2 subs r2, r2, r3 804ac40: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ac44: fb92 f3f3 sdiv r3, r2, r3 804ac48: 461a mov r2, r3 804ac4a: 4b04 ldr r3, [pc, #16] ; (804ac5c ) 804ac4c: 601a str r2, [r3, #0] if(lX >= dX) 804ac4e: e05c b.n 804ad0a 804ac50: 20025d1e .word 0x20025d1e 804ac54: 20025d1a .word 0x20025d1a 804ac58: 20025d20 .word 0x20025d20 804ac5c: 2002006c .word 0x2002006c 804ac60: 20025d16 .word 0x20025d16 804ac64: 2002098c .word 0x2002098c 804ac68: 20020f74 .word 0x20020f74 804ac6c: 20023e60 .word 0x20023e60 804ac70: 080ee828 .word 0x080ee828 804ac74: 080ee8b4 .word 0x080ee8b4 804ac78: 20025d1c .word 0x20025d1c } } else if(CURSOR > 128) 804ac7c: 4baa ldr r3, [pc, #680] ; (804af28 ) 804ac7e: 681b ldr r3, [r3, #0] 804ac80: 2b80 cmp r3, #128 ; 0x80 804ac82: d942 bls.n 804ad0a { if((rX + dX) <= (256 * Avg[0][5 * lvl_0 + pardata.LNE])) 804ac84: 4ba9 ldr r3, [pc, #676] ; (804af2c ) 804ac86: 881b ldrh r3, [r3, #0] 804ac88: b29b uxth r3, r3 804ac8a: 461a mov r2, r3 804ac8c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ac90: 18d1 adds r1, r2, r3 804ac92: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804ac96: 4613 mov r3, r2 804ac98: 009b lsls r3, r3, #2 804ac9a: 4413 add r3, r2 804ac9c: 4aa4 ldr r2, [pc, #656] ; (804af30 ) 804ac9e: 79d2 ldrb r2, [r2, #7] 804aca0: b2d2 uxtb r2, r2 804aca2: 4413 add r3, r2 804aca4: 4aa3 ldr r2, [pc, #652] ; (804af34 ) 804aca6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804acaa: 021b lsls r3, r3, #8 804acac: 4299 cmp r1, r3 804acae: dc2c bgt.n 804ad0a { CURSOR--; 804acb0: 4b9d ldr r3, [pc, #628] ; (804af28 ) 804acb2: 681b ldr r3, [r3, #0] 804acb4: 3b01 subs r3, #1 804acb6: 4a9c ldr r2, [pc, #624] ; (804af28 ) 804acb8: 6013 str r3, [r2, #0] X0 += dX; 804acba: 4b9f ldr r3, [pc, #636] ; (804af38 ) 804acbc: 881b ldrh r3, [r3, #0] 804acbe: b29a uxth r2, r3 804acc0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804acc4: 4413 add r3, r2 804acc6: b29a uxth r2, r3 804acc8: 4b9b ldr r3, [pc, #620] ; (804af38 ) 804acca: 801a strh r2, [r3, #0] lX = X0; 804accc: 4b9a ldr r3, [pc, #616] ; (804af38 ) 804acce: 881b ldrh r3, [r3, #0] 804acd0: b29a uxth r2, r3 804acd2: 4b9a ldr r3, [pc, #616] ; (804af3c ) 804acd4: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804acd6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804acda: 021b lsls r3, r3, #8 804acdc: b29a uxth r2, r3 804acde: 4b97 ldr r3, [pc, #604] ; (804af3c ) 804ace0: 881b ldrh r3, [r3, #0] 804ace2: b29b uxth r3, r3 804ace4: 4413 add r3, r2 804ace6: b29a uxth r2, r3 804ace8: 4b90 ldr r3, [pc, #576] ; (804af2c ) 804acea: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804acec: 4b94 ldr r3, [pc, #592] ; (804af40 ) 804acee: 881b ldrh r3, [r3, #0] 804acf0: b29b uxth r3, r3 804acf2: 461a mov r2, r3 804acf4: 4b91 ldr r3, [pc, #580] ; (804af3c ) 804acf6: 881b ldrh r3, [r3, #0] 804acf8: b29b uxth r3, r3 804acfa: 1ad2 subs r2, r2, r3 804acfc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ad00: fb92 f3f3 sdiv r3, r2, r3 804ad04: 461a mov r2, r3 804ad06: 4b88 ldr r3, [pc, #544] ; (804af28 ) 804ad08: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804ad0a: 4b8e ldr r3, [pc, #568] ; (804af44 ) 804ad0c: 2201 movs r2, #1 804ad0e: 701a strb r2, [r3, #0] } break; 804ad10: e103 b.n 804af1a case ZoomOut: lvl_0 = 0; 804ad12: 2300 movs r3, #0 804ad14: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 6; 804ad18: 2306 movs r3, #6 804ad1a: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[0][5 * ViewLevel + pardata.LNE]; 804ad1e: 4b8a ldr r3, [pc, #552] ; (804af48 ) 804ad20: 781b ldrb r3, [r3, #0] 804ad22: b2db uxtb r3, r3 804ad24: 461a mov r2, r3 804ad26: 4613 mov r3, r2 804ad28: 009b lsls r3, r3, #2 804ad2a: 4413 add r3, r2 804ad2c: 4a80 ldr r2, [pc, #512] ; (804af30 ) 804ad2e: 79d2 ldrb r2, [r2, #7] 804ad30: b2d2 uxtb r2, r2 804ad32: 4413 add r3, r2 804ad34: 4a7f ldr r2, [pc, #508] ; (804af34 ) 804ad36: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ad3a: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804ad3e: 4b82 ldr r3, [pc, #520] ; (804af48 ) 804ad40: 781b ldrb r3, [r3, #0] 804ad42: b2db uxtb r3, r3 804ad44: 2b00 cmp r3, #0 804ad46: f000 80eb beq.w 804af20 { ViewLevel--; 804ad4a: 4b7f ldr r3, [pc, #508] ; (804af48 ) 804ad4c: 781b ldrb r3, [r3, #0] 804ad4e: b2db uxtb r3, r3 804ad50: 3b01 subs r3, #1 804ad52: b2da uxtb r2, r3 804ad54: 4b7c ldr r3, [pc, #496] ; (804af48 ) 804ad56: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 804ad58: 4b7b ldr r3, [pc, #492] ; (804af48 ) 804ad5a: 781b ldrb r3, [r3, #0] 804ad5c: b2db uxtb r3, r3 804ad5e: 461a mov r2, r3 804ad60: 4613 mov r3, r2 804ad62: 009b lsls r3, r3, #2 804ad64: 4413 add r3, r2 804ad66: 4a72 ldr r2, [pc, #456] ; (804af30 ) 804ad68: 79d2 ldrb r2, [r2, #7] 804ad6a: b2d2 uxtb r2, r2 804ad6c: 4413 add r3, r2 804ad6e: 4a71 ldr r2, [pc, #452] ; (804af34 ) 804ad70: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ad74: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804ad78: 4b73 ldr r3, [pc, #460] ; (804af48 ) 804ad7a: 781b ldrb r3, [r3, #0] 804ad7c: b2db uxtb r3, r3 804ad7e: 2b00 cmp r3, #0 804ad80: d130 bne.n 804ade4 { X0 = lX = 0; 804ad82: 2100 movs r1, #0 804ad84: 4b6d ldr r3, [pc, #436] ; (804af3c ) 804ad86: 460a mov r2, r1 804ad88: 801a strh r2, [r3, #0] 804ad8a: 4b6b ldr r3, [pc, #428] ; (804af38 ) 804ad8c: 460a mov r2, r1 804ad8e: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804ad90: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ad94: 021b lsls r3, r3, #8 804ad96: b29a uxth r2, r3 804ad98: 4b68 ldr r3, [pc, #416] ; (804af3c ) 804ad9a: 881b ldrh r3, [r3, #0] 804ad9c: b29b uxth r3, r3 804ad9e: 4413 add r3, r2 804ada0: b29a uxth r2, r3 804ada2: 4b62 ldr r3, [pc, #392] ; (804af2c ) 804ada4: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804ada6: 4b66 ldr r3, [pc, #408] ; (804af40 ) 804ada8: 881b ldrh r3, [r3, #0] 804adaa: b29b uxth r3, r3 804adac: 461a mov r2, r3 804adae: 4b63 ldr r3, [pc, #396] ; (804af3c ) 804adb0: 881b ldrh r3, [r3, #0] 804adb2: b29b uxth r3, r3 804adb4: 1ad2 subs r2, r2, r3 804adb6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804adba: fb92 f3f3 sdiv r3, r2, r3 804adbe: 461a mov r2, r3 804adc0: 4b59 ldr r3, [pc, #356] ; (804af28 ) 804adc2: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804adc4: 4b58 ldr r3, [pc, #352] ; (804af28 ) 804adc6: 681b ldr r3, [r3, #0] 804adc8: b29b uxth r3, r3 804adca: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804adce: fb12 f303 smulbb r3, r2, r3 804add2: b29a uxth r2, r3 804add4: 4b58 ldr r3, [pc, #352] ; (804af38 ) 804add6: 881b ldrh r3, [r3, #0] 804add8: b29b uxth r3, r3 804adda: 4413 add r3, r2 804addc: b29a uxth r2, r3 804adde: 4b5b ldr r3, [pc, #364] ; (804af4c ) 804ade0: 801a strh r2, [r3, #0] 804ade2: e08f b.n 804af04 } else { if(CURSOR * dX > Mpos) 804ade4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ade8: 4a4f ldr r2, [pc, #316] ; (804af28 ) 804adea: 6812 ldr r2, [r2, #0] 804adec: fb02 f303 mul.w r3, r2, r3 804adf0: 4a56 ldr r2, [pc, #344] ; (804af4c ) 804adf2: 8812 ldrh r2, [r2, #0] 804adf4: b292 uxth r2, r2 804adf6: 4293 cmp r3, r2 804adf8: d91f bls.n 804ae3a { while(CURSOR * dX > Mpos) 804adfa: e004 b.n 804ae06 CURSOR--; 804adfc: 4b4a ldr r3, [pc, #296] ; (804af28 ) 804adfe: 681b ldr r3, [r3, #0] 804ae00: 3b01 subs r3, #1 804ae02: 4a49 ldr r2, [pc, #292] ; (804af28 ) 804ae04: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804ae06: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ae0a: 4a47 ldr r2, [pc, #284] ; (804af28 ) 804ae0c: 6812 ldr r2, [r2, #0] 804ae0e: fb02 f303 mul.w r3, r2, r3 804ae12: 4a4e ldr r2, [pc, #312] ; (804af4c ) 804ae14: 8812 ldrh r2, [r2, #0] 804ae16: b292 uxth r2, r2 804ae18: 4293 cmp r3, r2 804ae1a: d8ef bhi.n 804adfc Mpos = X0 + CURSOR * dX; 804ae1c: 4b42 ldr r3, [pc, #264] ; (804af28 ) 804ae1e: 681b ldr r3, [r3, #0] 804ae20: b29b uxth r3, r3 804ae22: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804ae26: fb12 f303 smulbb r3, r2, r3 804ae2a: b29a uxth r2, r3 804ae2c: 4b42 ldr r3, [pc, #264] ; (804af38 ) 804ae2e: 881b ldrh r3, [r3, #0] 804ae30: b29b uxth r3, r3 804ae32: 4413 add r3, r2 804ae34: b29a uxth r2, r3 804ae36: 4b45 ldr r3, [pc, #276] ; (804af4c ) 804ae38: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804ae3a: 4b44 ldr r3, [pc, #272] ; (804af4c ) 804ae3c: 881b ldrh r3, [r3, #0] 804ae3e: b29b uxth r3, r3 804ae40: 4619 mov r1, r3 804ae42: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ae46: 4a38 ldr r2, [pc, #224] ; (804af28 ) 804ae48: 6812 ldr r2, [r2, #0] 804ae4a: fb02 f303 mul.w r3, r2, r3 804ae4e: 1acb subs r3, r1, r3 804ae50: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804ae54: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ae58: 021b lsls r3, r3, #8 804ae5a: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[0][5 * lvl_0 + pardata.LNE]; // 3200 804ae5e: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804ae62: 4613 mov r3, r2 804ae64: 009b lsls r3, r3, #2 804ae66: 4413 add r3, r2 804ae68: 4a31 ldr r2, [pc, #196] ; (804af30 ) 804ae6a: 79d2 ldrb r2, [r2, #7] 804ae6c: b2d2 uxtb r2, r2 804ae6e: 4413 add r3, r2 804ae70: 4a30 ldr r2, [pc, #192] ; (804af34 ) 804ae72: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ae76: 021b lsls r3, r3, #8 804ae78: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804ae7c: e006 b.n 804ae8c i -= dXold; 804ae7e: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804ae82: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804ae86: 1ad3 subs r3, r2, r3 804ae88: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804ae8c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804ae90: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804ae94: 441a add r2, r3 804ae96: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804ae9a: 429a cmp r2, r3 804ae9c: d8ef bhi.n 804ae7e } X0 = (uint16_t) i; 804ae9e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804aea2: b29a uxth r2, r3 804aea4: 4b24 ldr r3, [pc, #144] ; (804af38 ) 804aea6: 801a strh r2, [r3, #0] lX = X0; 804aea8: 4b23 ldr r3, [pc, #140] ; (804af38 ) 804aeaa: 881b ldrh r3, [r3, #0] 804aeac: b29a uxth r2, r3 804aeae: 4b23 ldr r3, [pc, #140] ; (804af3c ) 804aeb0: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804aeb2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804aeb6: 021b lsls r3, r3, #8 804aeb8: b29a uxth r2, r3 804aeba: 4b20 ldr r3, [pc, #128] ; (804af3c ) 804aebc: 881b ldrh r3, [r3, #0] 804aebe: b29b uxth r3, r3 804aec0: 4413 add r3, r2 804aec2: b29a uxth r2, r3 804aec4: 4b19 ldr r3, [pc, #100] ; (804af2c ) 804aec6: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804aec8: 4b1d ldr r3, [pc, #116] ; (804af40 ) 804aeca: 881b ldrh r3, [r3, #0] 804aecc: b29b uxth r3, r3 804aece: 461a mov r2, r3 804aed0: 4b1a ldr r3, [pc, #104] ; (804af3c ) 804aed2: 881b ldrh r3, [r3, #0] 804aed4: b29b uxth r3, r3 804aed6: 1ad2 subs r2, r2, r3 804aed8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804aedc: fb92 f3f3 sdiv r3, r2, r3 804aee0: 461a mov r2, r3 804aee2: 4b11 ldr r3, [pc, #68] ; (804af28 ) 804aee4: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804aee6: 4b10 ldr r3, [pc, #64] ; (804af28 ) 804aee8: 681b ldr r3, [r3, #0] 804aeea: b29b uxth r3, r3 804aeec: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804aef0: fb12 f303 smulbb r3, r2, r3 804aef4: b29a uxth r2, r3 804aef6: 4b10 ldr r3, [pc, #64] ; (804af38 ) 804aef8: 881b ldrh r3, [r3, #0] 804aefa: b29b uxth r3, r3 804aefc: 4413 add r3, r2 804aefe: b29a uxth r2, r3 804af00: 4b12 ldr r3, [pc, #72] ; (804af4c ) 804af02: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804af04: 4b0f ldr r3, [pc, #60] ; (804af44 ) 804af06: 2201 movs r2, #1 804af08: 701a strb r2, [r3, #0] } break; 804af0a: e009 b.n 804af20 case Cursor: AUTOZOOM = true; 804af0c: 4b0d ldr r3, [pc, #52] ; (804af44 ) 804af0e: 2201 movs r2, #1 804af10: 701a strb r2, [r3, #0] break; 804af12: e006 b.n 804af22 break; 804af14: bf00 nop 804af16: f007 beeb b.w 8052cf0 break; 804af1a: bf00 nop 804af1c: f007 bee8 b.w 8052cf0 break; 804af20: bf00 nop } break; 804af22: f007 bee5 b.w 8052cf0 804af26: bf00 nop 804af28: 2002006c .word 0x2002006c 804af2c: 20025d20 .word 0x20025d20 804af30: 20023e60 .word 0x20023e60 804af34: 080ee828 .word 0x080ee828 804af38: 20025d1e .word 0x20025d1e 804af3c: 20025d1a .word 0x20025d1a 804af40: 20025d1c .word 0x20025d1c 804af44: 2002098c .word 0x2002098c 804af48: 20020f74 .word 0x20020f74 804af4c: 20025d16 .word 0x20025d16 case ROLL_RESULTS: DefectType = menupos; 804af50: 4b70 ldr r3, [pc, #448] ; (804b114 ) 804af52: 781b ldrb r3, [r3, #0] 804af54: b2da uxtb r2, r3 804af56: 4b70 ldr r3, [pc, #448] ; (804b118 ) 804af58: 701a strb r2, [r3, #0] RefreshGraf(); 804af5a: f007 ff33 bl 8052dc4 menu = VIEW_PORTRET; 804af5e: 4b6f ldr r3, [pc, #444] ; (804b11c ) 804af60: 2228 movs r2, #40 ; 0x28 804af62: 701a strb r2, [r3, #0] menupos = Cursor; 804af64: 4b6b ldr r3, [pc, #428] ; (804b114 ) 804af66: 2206 movs r2, #6 804af68: 701a strb r2, [r3, #0] lastmenupos = ZoomIn; 804af6a: 4b6d ldr r3, [pc, #436] ; (804b120 ) 804af6c: 2203 movs r2, #3 804af6e: 701a strb r2, [r3, #0] break; 804af70: f007 bf05 b.w 8052d7e case VIEW_PORTRET: switch(menupos) 804af74: 4b67 ldr r3, [pc, #412] ; (804b114 ) 804af76: 781b ldrb r3, [r3, #0] 804af78: b2db uxtb r3, r3 804af7a: 3b02 subs r3, #2 804af7c: 2b04 cmp r3, #4 804af7e: f207 86b9 bhi.w 8052cf4 804af82: a201 add r2, pc, #4 ; (adr r2, 804af88 ) 804af84: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804af88: 0804af9d .word 0x0804af9d 804af8c: 0804b14d .word 0x0804b14d 804af90: 0804b381 .word 0x0804b381 804af94: 0804b047 .word 0x0804b047 804af98: 0804b581 .word 0x0804b581 { case ImageLeft: if(lX) 804af9c: 4b61 ldr r3, [pc, #388] ; (804b124 ) 804af9e: 881b ldrh r3, [r3, #0] 804afa0: b29b uxth r3, r3 804afa2: 2b00 cmp r3, #0 804afa4: f000 82f0 beq.w 804b588 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804afa8: 4b5f ldr r3, [pc, #380] ; (804b128 ) 804afaa: 781b ldrb r3, [r3, #0] 804afac: b2db uxtb r3, r3 804afae: 461a mov r2, r3 804afb0: 4613 mov r3, r2 804afb2: 009b lsls r3, r3, #2 804afb4: 4413 add r3, r2 804afb6: 4a5d ldr r2, [pc, #372] ; (804b12c ) 804afb8: 79d2 ldrb r2, [r2, #7] 804afba: b2d2 uxtb r2, r2 804afbc: 4413 add r3, r2 804afbe: 4a5c ldr r2, [pc, #368] ; (804b130 ) 804afc0: 3323 adds r3, #35 ; 0x23 804afc2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804afc6: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804afca: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804afce: 021b lsls r3, r3, #8 804afd0: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804afd4: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804afd8: 085b lsrs r3, r3, #1 804afda: b29a uxth r2, r3 804afdc: 4b51 ldr r3, [pc, #324] ; (804b124 ) 804afde: 881b ldrh r3, [r3, #0] 804afe0: b29b uxth r3, r3 804afe2: 429a cmp r2, r3 804afe4: d80b bhi.n 804affe X0 -= (multB_u16 >> 1); 804afe6: 4b53 ldr r3, [pc, #332] ; (804b134 ) 804afe8: 881b ldrh r3, [r3, #0] 804afea: b29a uxth r2, r3 804afec: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804aff0: 085b lsrs r3, r3, #1 804aff2: b29b uxth r3, r3 804aff4: 1ad3 subs r3, r2, r3 804aff6: b29a uxth r2, r3 804aff8: 4b4e ldr r3, [pc, #312] ; (804b134 ) 804affa: 801a strh r2, [r3, #0] 804affc: e002 b.n 804b004 else X0 = 0; 804affe: 4b4d ldr r3, [pc, #308] ; (804b134 ) 804b000: 2200 movs r2, #0 804b002: 801a strh r2, [r3, #0] lX = X0; 804b004: 4b4b ldr r3, [pc, #300] ; (804b134 ) 804b006: 881b ldrh r3, [r3, #0] 804b008: b29a uxth r2, r3 804b00a: 4b46 ldr r3, [pc, #280] ; (804b124 ) 804b00c: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804b00e: 4b45 ldr r3, [pc, #276] ; (804b124 ) 804b010: 881b ldrh r3, [r3, #0] 804b012: b29a uxth r2, r3 804b014: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b018: 4413 add r3, r2 804b01a: b29a uxth r2, r3 804b01c: 4b46 ldr r3, [pc, #280] ; (804b138 ) 804b01e: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804b020: 4b46 ldr r3, [pc, #280] ; (804b13c ) 804b022: 681b ldr r3, [r3, #0] 804b024: b29b uxth r3, r3 804b026: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804b02a: fb12 f303 smulbb r3, r2, r3 804b02e: b29a uxth r2, r3 804b030: 4b40 ldr r3, [pc, #256] ; (804b134 ) 804b032: 881b ldrh r3, [r3, #0] 804b034: b29b uxth r3, r3 804b036: 4413 add r3, r2 804b038: b29a uxth r2, r3 804b03a: 4b41 ldr r3, [pc, #260] ; (804b140 ) 804b03c: 801a strh r2, [r3, #0] AUTOZOOM = true; 804b03e: 4b41 ldr r3, [pc, #260] ; (804b144 ) 804b040: 2201 movs r2, #1 804b042: 701a strb r2, [r3, #0] } break; 804b044: e2a0 b.n 804b588 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804b046: 4b38 ldr r3, [pc, #224] ; (804b128 ) 804b048: 781b ldrb r3, [r3, #0] 804b04a: b2db uxtb r3, r3 804b04c: 461a mov r2, r3 804b04e: 4613 mov r3, r2 804b050: 009b lsls r3, r3, #2 804b052: 4413 add r3, r2 804b054: 4a35 ldr r2, [pc, #212] ; (804b12c ) 804b056: 79d2 ldrb r2, [r2, #7] 804b058: b2d2 uxtb r2, r2 804b05a: 4413 add r3, r2 804b05c: 4a34 ldr r2, [pc, #208] ; (804b130 ) 804b05e: 3323 adds r3, #35 ; 0x23 804b060: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b064: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804b068: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804b06c: 021b lsls r3, r3, #8 804b06e: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804b072: 4b2e ldr r3, [pc, #184] ; (804b12c ) 804b074: 79db ldrb r3, [r3, #7] 804b076: b2db uxtb r3, r3 804b078: 461a mov r2, r3 804b07a: 4b33 ldr r3, [pc, #204] ; (804b148 ) 804b07c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804b080: 085b lsrs r3, r3, #1 804b082: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804b086: 4b2c ldr r3, [pc, #176] ; (804b138 ) 804b088: 881b ldrh r3, [r3, #0] 804b08a: b29b uxth r3, r3 804b08c: 461a mov r2, r3 804b08e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b092: 085b lsrs r3, r3, #1 804b094: b29b uxth r3, r3 804b096: 4413 add r3, r2 804b098: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804b09c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b0a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b0a4: 429a cmp r2, r3 804b0a6: d80b bhi.n 804b0c0 X0 += (multB_u16 >> 1); 804b0a8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b0ac: 085b lsrs r3, r3, #1 804b0ae: b29a uxth r2, r3 804b0b0: 4b20 ldr r3, [pc, #128] ; (804b134 ) 804b0b2: 881b ldrh r3, [r3, #0] 804b0b4: b29b uxth r3, r3 804b0b6: 4413 add r3, r2 804b0b8: b29a uxth r2, r3 804b0ba: 4b1e ldr r3, [pc, #120] ; (804b134 ) 804b0bc: 801a strh r2, [r3, #0] 804b0be: e008 b.n 804b0d2 else X0 = (uint16_t) (k - multB_u16); 804b0c0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b0c4: b29a uxth r2, r3 804b0c6: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b0ca: 1ad3 subs r3, r2, r3 804b0cc: b29a uxth r2, r3 804b0ce: 4b19 ldr r3, [pc, #100] ; (804b134 ) 804b0d0: 801a strh r2, [r3, #0] lX = X0; 804b0d2: 4b18 ldr r3, [pc, #96] ; (804b134 ) 804b0d4: 881b ldrh r3, [r3, #0] 804b0d6: b29a uxth r2, r3 804b0d8: 4b12 ldr r3, [pc, #72] ; (804b124 ) 804b0da: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804b0dc: 4b11 ldr r3, [pc, #68] ; (804b124 ) 804b0de: 881b ldrh r3, [r3, #0] 804b0e0: b29a uxth r2, r3 804b0e2: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b0e6: 4413 add r3, r2 804b0e8: b29a uxth r2, r3 804b0ea: 4b13 ldr r3, [pc, #76] ; (804b138 ) 804b0ec: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804b0ee: 4b13 ldr r3, [pc, #76] ; (804b13c ) 804b0f0: 681b ldr r3, [r3, #0] 804b0f2: b29b uxth r3, r3 804b0f4: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804b0f8: fb12 f303 smulbb r3, r2, r3 804b0fc: b29a uxth r2, r3 804b0fe: 4b0d ldr r3, [pc, #52] ; (804b134 ) 804b100: 881b ldrh r3, [r3, #0] 804b102: b29b uxth r3, r3 804b104: 4413 add r3, r2 804b106: b29a uxth r2, r3 804b108: 4b0d ldr r3, [pc, #52] ; (804b140 ) 804b10a: 801a strh r2, [r3, #0] AUTOZOOM = true; 804b10c: 4b0d ldr r3, [pc, #52] ; (804b144 ) 804b10e: 2201 movs r2, #1 804b110: 701a strb r2, [r3, #0] break; 804b112: e240 b.n 804b596 804b114: 20020070 .word 0x20020070 804b118: 20021520 .word 0x20021520 804b11c: 20020f78 .word 0x20020f78 804b120: 20020071 .word 0x20020071 804b124: 20025d1a .word 0x20025d1a 804b128: 20020f74 .word 0x20020f74 804b12c: 20023e60 .word 0x20023e60 804b130: 080ee828 .word 0x080ee828 804b134: 20025d1e .word 0x20025d1e 804b138: 20025d20 .word 0x20025d20 804b13c: 2002006c .word 0x2002006c 804b140: 20025d16 .word 0x20025d16 804b144: 2002098c .word 0x2002098c 804b148: 080ee8b4 .word 0x080ee8b4 case ZoomIn: lvl_0 = 0; 804b14c: 2300 movs r3, #0 804b14e: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804b152: 4b81 ldr r3, [pc, #516] ; (804b358 ) 804b154: 781b ldrb r3, [r3, #0] 804b156: b2db uxtb r3, r3 804b158: 461a mov r2, r3 804b15a: 4613 mov r3, r2 804b15c: 009b lsls r3, r3, #2 804b15e: 4413 add r3, r2 804b160: 4a7e ldr r2, [pc, #504] ; (804b35c ) 804b162: 79d2 ldrb r2, [r2, #7] 804b164: b2d2 uxtb r2, r2 804b166: 4413 add r3, r2 804b168: 4a7d ldr r2, [pc, #500] ; (804b360 ) 804b16a: 3323 adds r3, #35 ; 0x23 804b16c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b170: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804b174: 2304 movs r3, #4 804b176: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804b17a: 4b77 ldr r3, [pc, #476] ; (804b358 ) 804b17c: 781b ldrb r3, [r3, #0] 804b17e: b2db uxtb r3, r3 804b180: b29b uxth r3, r3 804b182: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804b186: 429a cmp r2, r3 804b188: f240 8201 bls.w 804b58e 804b18c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b190: 2b01 cmp r3, #1 804b192: f240 81fc bls.w 804b58e { ViewLevel++; 804b196: 4b70 ldr r3, [pc, #448] ; (804b358 ) 804b198: 781b ldrb r3, [r3, #0] 804b19a: b2db uxtb r3, r3 804b19c: 3301 adds r3, #1 804b19e: b2da uxtb r2, r3 804b1a0: 4b6d ldr r3, [pc, #436] ; (804b358 ) 804b1a2: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804b1a4: 4b6c ldr r3, [pc, #432] ; (804b358 ) 804b1a6: 781b ldrb r3, [r3, #0] 804b1a8: b2db uxtb r3, r3 804b1aa: 461a mov r2, r3 804b1ac: 4613 mov r3, r2 804b1ae: 009b lsls r3, r3, #2 804b1b0: 4413 add r3, r2 804b1b2: 4a6a ldr r2, [pc, #424] ; (804b35c ) 804b1b4: 79d2 ldrb r2, [r2, #7] 804b1b6: b2d2 uxtb r2, r2 804b1b8: 4413 add r3, r2 804b1ba: 4a69 ldr r2, [pc, #420] ; (804b360 ) 804b1bc: 3323 adds r3, #35 ; 0x23 804b1be: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b1c2: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804b1c6: 4b67 ldr r3, [pc, #412] ; (804b364 ) 804b1c8: 881b ldrh r3, [r3, #0] 804b1ca: b29a uxth r2, r3 804b1cc: 4b66 ldr r3, [pc, #408] ; (804b368 ) 804b1ce: 681b ldr r3, [r3, #0] 804b1d0: b29b uxth r3, r3 804b1d2: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804b1d6: fb11 f303 smulbb r3, r1, r3 804b1da: b29b uxth r3, r3 804b1dc: 1ad3 subs r3, r2, r3 804b1de: b29a uxth r2, r3 804b1e0: 4b62 ldr r3, [pc, #392] ; (804b36c ) 804b1e2: 801a strh r2, [r3, #0] lX = X0; 804b1e4: 4b61 ldr r3, [pc, #388] ; (804b36c ) 804b1e6: 881b ldrh r3, [r3, #0] 804b1e8: b29a uxth r2, r3 804b1ea: 4b61 ldr r3, [pc, #388] ; (804b370 ) 804b1ec: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b1ee: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b1f2: 021b lsls r3, r3, #8 804b1f4: b29a uxth r2, r3 804b1f6: 4b5e ldr r3, [pc, #376] ; (804b370 ) 804b1f8: 881b ldrh r3, [r3, #0] 804b1fa: b29b uxth r3, r3 804b1fc: 4413 add r3, r2 804b1fe: b29a uxth r2, r3 804b200: 4b5c ldr r3, [pc, #368] ; (804b374 ) 804b202: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b204: 4b5c ldr r3, [pc, #368] ; (804b378 ) 804b206: 881b ldrh r3, [r3, #0] 804b208: b29b uxth r3, r3 804b20a: 461a mov r2, r3 804b20c: 4b58 ldr r3, [pc, #352] ; (804b370 ) 804b20e: 881b ldrh r3, [r3, #0] 804b210: b29b uxth r3, r3 804b212: 1ad2 subs r2, r2, r3 804b214: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b218: fb92 f3f3 sdiv r3, r2, r3 804b21c: 461a mov r2, r3 804b21e: 4b52 ldr r3, [pc, #328] ; (804b368 ) 804b220: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804b222: 4b51 ldr r3, [pc, #324] ; (804b368 ) 804b224: 681b ldr r3, [r3, #0] 804b226: b29b uxth r3, r3 804b228: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b22c: fb12 f303 smulbb r3, r2, r3 804b230: b29a uxth r2, r3 804b232: 4b4f ldr r3, [pc, #316] ; (804b370 ) 804b234: 881b ldrh r3, [r3, #0] 804b236: b29b uxth r3, r3 804b238: 4413 add r3, r2 804b23a: b29a uxth r2, r3 804b23c: 4b49 ldr r3, [pc, #292] ; (804b364 ) 804b23e: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804b240: 4b49 ldr r3, [pc, #292] ; (804b368 ) 804b242: 681b ldr r3, [r3, #0] 804b244: 2b7f cmp r3, #127 ; 0x7f 804b246: d83b bhi.n 804b2c0 804b248: 4b48 ldr r3, [pc, #288] ; (804b36c ) 804b24a: 881b ldrh r3, [r3, #0] 804b24c: b29b uxth r3, r3 804b24e: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b252: 429a cmp r2, r3 804b254: d834 bhi.n 804b2c0 { if(lX >= dX) 804b256: 4b46 ldr r3, [pc, #280] ; (804b370 ) 804b258: 881b ldrh r3, [r3, #0] 804b25a: b29b uxth r3, r3 804b25c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b260: 429a cmp r2, r3 804b262: d875 bhi.n 804b350 { CURSOR++; 804b264: 4b40 ldr r3, [pc, #256] ; (804b368 ) 804b266: 681b ldr r3, [r3, #0] 804b268: 3301 adds r3, #1 804b26a: 4a3f ldr r2, [pc, #252] ; (804b368 ) 804b26c: 6013 str r3, [r2, #0] X0 -= dX; 804b26e: 4b3f ldr r3, [pc, #252] ; (804b36c ) 804b270: 881b ldrh r3, [r3, #0] 804b272: b29a uxth r2, r3 804b274: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b278: 1ad3 subs r3, r2, r3 804b27a: b29a uxth r2, r3 804b27c: 4b3b ldr r3, [pc, #236] ; (804b36c ) 804b27e: 801a strh r2, [r3, #0] lX = X0; 804b280: 4b3a ldr r3, [pc, #232] ; (804b36c ) 804b282: 881b ldrh r3, [r3, #0] 804b284: b29a uxth r2, r3 804b286: 4b3a ldr r3, [pc, #232] ; (804b370 ) 804b288: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b28a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b28e: 021b lsls r3, r3, #8 804b290: b29a uxth r2, r3 804b292: 4b37 ldr r3, [pc, #220] ; (804b370 ) 804b294: 881b ldrh r3, [r3, #0] 804b296: b29b uxth r3, r3 804b298: 4413 add r3, r2 804b29a: b29a uxth r2, r3 804b29c: 4b35 ldr r3, [pc, #212] ; (804b374 ) 804b29e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b2a0: 4b35 ldr r3, [pc, #212] ; (804b378 ) 804b2a2: 881b ldrh r3, [r3, #0] 804b2a4: b29b uxth r3, r3 804b2a6: 461a mov r2, r3 804b2a8: 4b31 ldr r3, [pc, #196] ; (804b370 ) 804b2aa: 881b ldrh r3, [r3, #0] 804b2ac: b29b uxth r3, r3 804b2ae: 1ad2 subs r2, r2, r3 804b2b0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b2b4: fb92 f3f3 sdiv r3, r2, r3 804b2b8: 461a mov r2, r3 804b2ba: 4b2b ldr r3, [pc, #172] ; (804b368 ) 804b2bc: 601a str r2, [r3, #0] if(lX >= dX) 804b2be: e047 b.n 804b350 } } else if(CURSOR > (256 >> 1)) 804b2c0: 4b29 ldr r3, [pc, #164] ; (804b368 ) 804b2c2: 681b ldr r3, [r3, #0] 804b2c4: 2b80 cmp r3, #128 ; 0x80 804b2c6: d943 bls.n 804b350 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804b2c8: 4b2a ldr r3, [pc, #168] ; (804b374 ) 804b2ca: 881b ldrh r3, [r3, #0] 804b2cc: b29b uxth r3, r3 804b2ce: 461a mov r2, r3 804b2d0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b2d4: 18d1 adds r1, r2, r3 804b2d6: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804b2da: 4613 mov r3, r2 804b2dc: 009b lsls r3, r3, #2 804b2de: 4413 add r3, r2 804b2e0: 4a1e ldr r2, [pc, #120] ; (804b35c ) 804b2e2: 79d2 ldrb r2, [r2, #7] 804b2e4: b2d2 uxtb r2, r2 804b2e6: 4413 add r3, r2 804b2e8: 4a1d ldr r2, [pc, #116] ; (804b360 ) 804b2ea: 3323 adds r3, #35 ; 0x23 804b2ec: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b2f0: 021b lsls r3, r3, #8 804b2f2: 4299 cmp r1, r3 804b2f4: dc2c bgt.n 804b350 { CURSOR--; 804b2f6: 4b1c ldr r3, [pc, #112] ; (804b368 ) 804b2f8: 681b ldr r3, [r3, #0] 804b2fa: 3b01 subs r3, #1 804b2fc: 4a1a ldr r2, [pc, #104] ; (804b368 ) 804b2fe: 6013 str r3, [r2, #0] X0 += dX; 804b300: 4b1a ldr r3, [pc, #104] ; (804b36c ) 804b302: 881b ldrh r3, [r3, #0] 804b304: b29a uxth r2, r3 804b306: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b30a: 4413 add r3, r2 804b30c: b29a uxth r2, r3 804b30e: 4b17 ldr r3, [pc, #92] ; (804b36c ) 804b310: 801a strh r2, [r3, #0] lX = X0; 804b312: 4b16 ldr r3, [pc, #88] ; (804b36c ) 804b314: 881b ldrh r3, [r3, #0] 804b316: b29a uxth r2, r3 804b318: 4b15 ldr r3, [pc, #84] ; (804b370 ) 804b31a: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b31c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b320: 021b lsls r3, r3, #8 804b322: b29a uxth r2, r3 804b324: 4b12 ldr r3, [pc, #72] ; (804b370 ) 804b326: 881b ldrh r3, [r3, #0] 804b328: b29b uxth r3, r3 804b32a: 4413 add r3, r2 804b32c: b29a uxth r2, r3 804b32e: 4b11 ldr r3, [pc, #68] ; (804b374 ) 804b330: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b332: 4b11 ldr r3, [pc, #68] ; (804b378 ) 804b334: 881b ldrh r3, [r3, #0] 804b336: b29b uxth r3, r3 804b338: 461a mov r2, r3 804b33a: 4b0d ldr r3, [pc, #52] ; (804b370 ) 804b33c: 881b ldrh r3, [r3, #0] 804b33e: b29b uxth r3, r3 804b340: 1ad2 subs r2, r2, r3 804b342: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b346: fb92 f3f3 sdiv r3, r2, r3 804b34a: 461a mov r2, r3 804b34c: 4b06 ldr r3, [pc, #24] ; (804b368 ) 804b34e: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804b350: 4b0a ldr r3, [pc, #40] ; (804b37c ) 804b352: 2201 movs r2, #1 804b354: 701a strb r2, [r3, #0] } break; 804b356: e11a b.n 804b58e 804b358: 20020f74 .word 0x20020f74 804b35c: 20023e60 .word 0x20023e60 804b360: 080ee828 .word 0x080ee828 804b364: 20025d16 .word 0x20025d16 804b368: 2002006c .word 0x2002006c 804b36c: 20025d1e .word 0x20025d1e 804b370: 20025d1a .word 0x20025d1a 804b374: 20025d20 .word 0x20025d20 804b378: 20025d1c .word 0x20025d1c 804b37c: 2002098c .word 0x2002098c case ZoomOut: lvl_0 = 0; 804b380: 2300 movs r3, #0 804b382: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804b386: 2304 movs r3, #4 804b388: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804b38c: 4ba4 ldr r3, [pc, #656] ; (804b620 ) 804b38e: 781b ldrb r3, [r3, #0] 804b390: b2db uxtb r3, r3 804b392: 461a mov r2, r3 804b394: 4613 mov r3, r2 804b396: 009b lsls r3, r3, #2 804b398: 4413 add r3, r2 804b39a: 4aa2 ldr r2, [pc, #648] ; (804b624 ) 804b39c: 79d2 ldrb r2, [r2, #7] 804b39e: b2d2 uxtb r2, r2 804b3a0: 4413 add r3, r2 804b3a2: 4aa1 ldr r2, [pc, #644] ; (804b628 ) 804b3a4: 3323 adds r3, #35 ; 0x23 804b3a6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b3aa: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804b3ae: 4b9c ldr r3, [pc, #624] ; (804b620 ) 804b3b0: 781b ldrb r3, [r3, #0] 804b3b2: b2db uxtb r3, r3 804b3b4: 2b00 cmp r3, #0 804b3b6: f000 80ed beq.w 804b594 { ViewLevel--; 804b3ba: 4b99 ldr r3, [pc, #612] ; (804b620 ) 804b3bc: 781b ldrb r3, [r3, #0] 804b3be: b2db uxtb r3, r3 804b3c0: 3b01 subs r3, #1 804b3c2: b2da uxtb r2, r3 804b3c4: 4b96 ldr r3, [pc, #600] ; (804b620 ) 804b3c6: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804b3c8: 4b95 ldr r3, [pc, #596] ; (804b620 ) 804b3ca: 781b ldrb r3, [r3, #0] 804b3cc: b2db uxtb r3, r3 804b3ce: 461a mov r2, r3 804b3d0: 4613 mov r3, r2 804b3d2: 009b lsls r3, r3, #2 804b3d4: 4413 add r3, r2 804b3d6: 4a93 ldr r2, [pc, #588] ; (804b624 ) 804b3d8: 79d2 ldrb r2, [r2, #7] 804b3da: b2d2 uxtb r2, r2 804b3dc: 4413 add r3, r2 804b3de: 4a92 ldr r2, [pc, #584] ; (804b628 ) 804b3e0: 3323 adds r3, #35 ; 0x23 804b3e2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b3e6: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804b3ea: 4b8d ldr r3, [pc, #564] ; (804b620 ) 804b3ec: 781b ldrb r3, [r3, #0] 804b3ee: b2db uxtb r3, r3 804b3f0: 2b00 cmp r3, #0 804b3f2: d130 bne.n 804b456 { X0 = lX = 0; 804b3f4: 2100 movs r1, #0 804b3f6: 4b8d ldr r3, [pc, #564] ; (804b62c ) 804b3f8: 460a mov r2, r1 804b3fa: 801a strh r2, [r3, #0] 804b3fc: 4b8c ldr r3, [pc, #560] ; (804b630 ) 804b3fe: 460a mov r2, r1 804b400: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b402: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b406: 021b lsls r3, r3, #8 804b408: b29a uxth r2, r3 804b40a: 4b88 ldr r3, [pc, #544] ; (804b62c ) 804b40c: 881b ldrh r3, [r3, #0] 804b40e: b29b uxth r3, r3 804b410: 4413 add r3, r2 804b412: b29a uxth r2, r3 804b414: 4b87 ldr r3, [pc, #540] ; (804b634 ) 804b416: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b418: 4b87 ldr r3, [pc, #540] ; (804b638 ) 804b41a: 881b ldrh r3, [r3, #0] 804b41c: b29b uxth r3, r3 804b41e: 461a mov r2, r3 804b420: 4b82 ldr r3, [pc, #520] ; (804b62c ) 804b422: 881b ldrh r3, [r3, #0] 804b424: b29b uxth r3, r3 804b426: 1ad2 subs r2, r2, r3 804b428: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b42c: fb92 f3f3 sdiv r3, r2, r3 804b430: 461a mov r2, r3 804b432: 4b82 ldr r3, [pc, #520] ; (804b63c ) 804b434: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804b436: 4b81 ldr r3, [pc, #516] ; (804b63c ) 804b438: 681b ldr r3, [r3, #0] 804b43a: b29b uxth r3, r3 804b43c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b440: fb12 f303 smulbb r3, r2, r3 804b444: b29a uxth r2, r3 804b446: 4b7a ldr r3, [pc, #488] ; (804b630 ) 804b448: 881b ldrh r3, [r3, #0] 804b44a: b29b uxth r3, r3 804b44c: 4413 add r3, r2 804b44e: b29a uxth r2, r3 804b450: 4b7b ldr r3, [pc, #492] ; (804b640 ) 804b452: 801a strh r2, [r3, #0] 804b454: e090 b.n 804b578 } else { if(CURSOR * dX > Mpos) 804b456: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b45a: 4a78 ldr r2, [pc, #480] ; (804b63c ) 804b45c: 6812 ldr r2, [r2, #0] 804b45e: fb02 f303 mul.w r3, r2, r3 804b462: 4a77 ldr r2, [pc, #476] ; (804b640 ) 804b464: 8812 ldrh r2, [r2, #0] 804b466: b292 uxth r2, r2 804b468: 4293 cmp r3, r2 804b46a: d91f bls.n 804b4ac { while(CURSOR * dX > Mpos) 804b46c: e004 b.n 804b478 CURSOR--; 804b46e: 4b73 ldr r3, [pc, #460] ; (804b63c ) 804b470: 681b ldr r3, [r3, #0] 804b472: 3b01 subs r3, #1 804b474: 4a71 ldr r2, [pc, #452] ; (804b63c ) 804b476: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804b478: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b47c: 4a6f ldr r2, [pc, #444] ; (804b63c ) 804b47e: 6812 ldr r2, [r2, #0] 804b480: fb02 f303 mul.w r3, r2, r3 804b484: 4a6e ldr r2, [pc, #440] ; (804b640 ) 804b486: 8812 ldrh r2, [r2, #0] 804b488: b292 uxth r2, r2 804b48a: 4293 cmp r3, r2 804b48c: d8ef bhi.n 804b46e Mpos = X0 + CURSOR * dX; 804b48e: 4b6b ldr r3, [pc, #428] ; (804b63c ) 804b490: 681b ldr r3, [r3, #0] 804b492: b29b uxth r3, r3 804b494: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b498: fb12 f303 smulbb r3, r2, r3 804b49c: b29a uxth r2, r3 804b49e: 4b64 ldr r3, [pc, #400] ; (804b630 ) 804b4a0: 881b ldrh r3, [r3, #0] 804b4a2: b29b uxth r3, r3 804b4a4: 4413 add r3, r2 804b4a6: b29a uxth r2, r3 804b4a8: 4b65 ldr r3, [pc, #404] ; (804b640 ) 804b4aa: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804b4ac: 4b64 ldr r3, [pc, #400] ; (804b640 ) 804b4ae: 881b ldrh r3, [r3, #0] 804b4b0: b29b uxth r3, r3 804b4b2: 4619 mov r1, r3 804b4b4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b4b8: 4a60 ldr r2, [pc, #384] ; (804b63c ) 804b4ba: 6812 ldr r2, [r2, #0] 804b4bc: fb02 f303 mul.w r3, r2, r3 804b4c0: 1acb subs r3, r1, r3 804b4c2: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804b4c6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b4ca: 021b lsls r3, r3, #8 804b4cc: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804b4d0: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804b4d4: 4613 mov r3, r2 804b4d6: 009b lsls r3, r3, #2 804b4d8: 4413 add r3, r2 804b4da: 4a52 ldr r2, [pc, #328] ; (804b624 ) 804b4dc: 79d2 ldrb r2, [r2, #7] 804b4de: b2d2 uxtb r2, r2 804b4e0: 4413 add r3, r2 804b4e2: 4a51 ldr r2, [pc, #324] ; (804b628 ) 804b4e4: 3323 adds r3, #35 ; 0x23 804b4e6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b4ea: 021b lsls r3, r3, #8 804b4ec: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804b4f0: e006 b.n 804b500 i -= dXold; 804b4f2: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804b4f6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b4fa: 1ad3 subs r3, r2, r3 804b4fc: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804b500: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b504: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804b508: 441a add r2, r3 804b50a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b50e: 429a cmp r2, r3 804b510: d8ef bhi.n 804b4f2 } X0 = (uint16_t) i; 804b512: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804b516: b29a uxth r2, r3 804b518: 4b45 ldr r3, [pc, #276] ; (804b630 ) 804b51a: 801a strh r2, [r3, #0] lX = X0; 804b51c: 4b44 ldr r3, [pc, #272] ; (804b630 ) 804b51e: 881b ldrh r3, [r3, #0] 804b520: b29a uxth r2, r3 804b522: 4b42 ldr r3, [pc, #264] ; (804b62c ) 804b524: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b526: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b52a: 021b lsls r3, r3, #8 804b52c: b29a uxth r2, r3 804b52e: 4b3f ldr r3, [pc, #252] ; (804b62c ) 804b530: 881b ldrh r3, [r3, #0] 804b532: b29b uxth r3, r3 804b534: 4413 add r3, r2 804b536: b29a uxth r2, r3 804b538: 4b3e ldr r3, [pc, #248] ; (804b634 ) 804b53a: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b53c: 4b3e ldr r3, [pc, #248] ; (804b638 ) 804b53e: 881b ldrh r3, [r3, #0] 804b540: b29b uxth r3, r3 804b542: 461a mov r2, r3 804b544: 4b39 ldr r3, [pc, #228] ; (804b62c ) 804b546: 881b ldrh r3, [r3, #0] 804b548: b29b uxth r3, r3 804b54a: 1ad2 subs r2, r2, r3 804b54c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b550: fb92 f3f3 sdiv r3, r2, r3 804b554: 461a mov r2, r3 804b556: 4b39 ldr r3, [pc, #228] ; (804b63c ) 804b558: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804b55a: 4b38 ldr r3, [pc, #224] ; (804b63c ) 804b55c: 681b ldr r3, [r3, #0] 804b55e: b29b uxth r3, r3 804b560: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b564: fb12 f303 smulbb r3, r2, r3 804b568: b29a uxth r2, r3 804b56a: 4b31 ldr r3, [pc, #196] ; (804b630 ) 804b56c: 881b ldrh r3, [r3, #0] 804b56e: b29b uxth r3, r3 804b570: 4413 add r3, r2 804b572: b29a uxth r2, r3 804b574: 4b32 ldr r3, [pc, #200] ; (804b640 ) 804b576: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804b578: 4b32 ldr r3, [pc, #200] ; (804b644 ) 804b57a: 2201 movs r2, #1 804b57c: 701a strb r2, [r3, #0] } break; 804b57e: e009 b.n 804b594 case Cursor: AUTOZOOM = true; 804b580: 4b30 ldr r3, [pc, #192] ; (804b644 ) 804b582: 2201 movs r2, #1 804b584: 701a strb r2, [r3, #0] break; 804b586: e006 b.n 804b596 break; 804b588: bf00 nop 804b58a: f007 bbb3 b.w 8052cf4 break; 804b58e: bf00 nop 804b590: f007 bbb0 b.w 8052cf4 break; 804b594: bf00 nop } break; 804b596: f007 bbad b.w 8052cf4 case MAIN_ROLL: switch(menupos) 804b59a: 4b2b ldr r3, [pc, #172] ; (804b648 ) 804b59c: 781b ldrb r3, [r3, #0] 804b59e: b2db uxtb r3, r3 804b5a0: 2b08 cmp r3, #8 804b5a2: f207 83a9 bhi.w 8052cf8 804b5a6: a201 add r2, pc, #4 ; (adr r2, 804b5ac ) 804b5a8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804b5ac: 0804b5d1 .word 0x0804b5d1 804b5b0: 08052cf9 .word 0x08052cf9 804b5b4: 0804b65d .word 0x0804b65d 804b5b8: 0804b7fd .word 0x0804b7fd 804b5bc: 0804ba31 .word 0x0804ba31 804b5c0: 0804b707 .word 0x0804b707 804b5c4: 0804bc31 .word 0x0804bc31 804b5c8: 08052cf9 .word 0x08052cf9 804b5cc: 0804bc39 .word 0x0804bc39 { case StartStop: if(!measuring) 804b5d0: 4b1e ldr r3, [pc, #120] ; (804b64c ) 804b5d2: 781b ldrb r3, [r3, #0] 804b5d4: b2db uxtb r3, r3 804b5d6: f083 0301 eor.w r3, r3, #1 804b5da: b2db uxtb r3, r3 804b5dc: 2b00 cmp r3, #0 804b5de: d014 beq.n 804b60a { AUTOZOOM = true; 804b5e0: 4b18 ldr r3, [pc, #96] ; (804b644 ) 804b5e2: 2201 movs r2, #1 804b5e4: 701a strb r2, [r3, #0] FIRST = true; 804b5e6: 4b1a ldr r3, [pc, #104] ; (804b650 ) 804b5e8: 2201 movs r2, #1 804b5ea: 701a strb r2, [r3, #0] if(FirstStart) 804b5ec: 4b19 ldr r3, [pc, #100] ; (804b654 ) 804b5ee: 781b ldrb r3, [r3, #0] 804b5f0: b2db uxtb r3, r3 804b5f2: 2b00 cmp r3, #0 804b5f4: d004 beq.n 804b600 { FirstStart = false; 804b5f6: 4b17 ldr r3, [pc, #92] ; (804b654 ) 804b5f8: 2200 movs r2, #0 804b5fa: 701a strb r2, [r3, #0] initAmplif(); 804b5fc: f7d6 fa4a bl 8021a94 } RefreshGraf(); 804b600: f007 fbe0 bl 8052dc4 StartMeas(); 804b604: f7d7 fd1a bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804b608: e329 b.n 804bc5e StopMeas(); 804b60a: f7d8 f8c7 bl 802379c AUTOZOOM = true; 804b60e: 4b0d ldr r3, [pc, #52] ; (804b644 ) 804b610: 2201 movs r2, #1 804b612: 701a strb r2, [r3, #0] oldmenupos = menupos; 804b614: 4b0c ldr r3, [pc, #48] ; (804b648 ) 804b616: 781b ldrb r3, [r3, #0] 804b618: b2da uxtb r2, r3 804b61a: 4b0f ldr r3, [pc, #60] ; (804b658 ) 804b61c: 701a strb r2, [r3, #0] break; 804b61e: e31e b.n 804bc5e 804b620: 20020f74 .word 0x20020f74 804b624: 20023e60 .word 0x20023e60 804b628: 080ee828 .word 0x080ee828 804b62c: 20025d1a .word 0x20025d1a 804b630: 20025d1e .word 0x20025d1e 804b634: 20025d20 .word 0x20025d20 804b638: 20025d1c .word 0x20025d1c 804b63c: 2002006c .word 0x2002006c 804b640: 20025d16 .word 0x20025d16 804b644: 2002098c .word 0x2002098c 804b648: 20020070 .word 0x20020070 804b64c: 20020daf .word 0x20020daf 804b650: 20020db2 .word 0x20020db2 804b654: 20020068 .word 0x20020068 804b658: 20020f7a .word 0x20020f7a case ImageLeft: if(lX) 804b65c: 4b5d ldr r3, [pc, #372] ; (804b7d4 ) 804b65e: 881b ldrh r3, [r3, #0] 804b660: b29b uxth r3, r3 804b662: 2b00 cmp r3, #0 804b664: f000 82f4 beq.w 804bc50 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804b668: 4b5b ldr r3, [pc, #364] ; (804b7d8 ) 804b66a: 781b ldrb r3, [r3, #0] 804b66c: b2db uxtb r3, r3 804b66e: 461a mov r2, r3 804b670: 4613 mov r3, r2 804b672: 009b lsls r3, r3, #2 804b674: 4413 add r3, r2 804b676: 4a59 ldr r2, [pc, #356] ; (804b7dc ) 804b678: 79d2 ldrb r2, [r2, #7] 804b67a: b2d2 uxtb r2, r2 804b67c: 4413 add r3, r2 804b67e: 4a58 ldr r2, [pc, #352] ; (804b7e0 ) 804b680: 3323 adds r3, #35 ; 0x23 804b682: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b686: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804b68a: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804b68e: 021b lsls r3, r3, #8 804b690: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804b694: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b698: 085b lsrs r3, r3, #1 804b69a: b29a uxth r2, r3 804b69c: 4b4d ldr r3, [pc, #308] ; (804b7d4 ) 804b69e: 881b ldrh r3, [r3, #0] 804b6a0: b29b uxth r3, r3 804b6a2: 429a cmp r2, r3 804b6a4: d80b bhi.n 804b6be X0 -= (multB_u16 >> 1); 804b6a6: 4b4f ldr r3, [pc, #316] ; (804b7e4 ) 804b6a8: 881b ldrh r3, [r3, #0] 804b6aa: b29a uxth r2, r3 804b6ac: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b6b0: 085b lsrs r3, r3, #1 804b6b2: b29b uxth r3, r3 804b6b4: 1ad3 subs r3, r2, r3 804b6b6: b29a uxth r2, r3 804b6b8: 4b4a ldr r3, [pc, #296] ; (804b7e4 ) 804b6ba: 801a strh r2, [r3, #0] 804b6bc: e002 b.n 804b6c4 else X0 = 0; 804b6be: 4b49 ldr r3, [pc, #292] ; (804b7e4 ) 804b6c0: 2200 movs r2, #0 804b6c2: 801a strh r2, [r3, #0] lX = X0; 804b6c4: 4b47 ldr r3, [pc, #284] ; (804b7e4 ) 804b6c6: 881b ldrh r3, [r3, #0] 804b6c8: b29a uxth r2, r3 804b6ca: 4b42 ldr r3, [pc, #264] ; (804b7d4 ) 804b6cc: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804b6ce: 4b41 ldr r3, [pc, #260] ; (804b7d4 ) 804b6d0: 881b ldrh r3, [r3, #0] 804b6d2: b29a uxth r2, r3 804b6d4: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b6d8: 4413 add r3, r2 804b6da: b29a uxth r2, r3 804b6dc: 4b42 ldr r3, [pc, #264] ; (804b7e8 ) 804b6de: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804b6e0: 4b42 ldr r3, [pc, #264] ; (804b7ec ) 804b6e2: 681b ldr r3, [r3, #0] 804b6e4: b29b uxth r3, r3 804b6e6: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804b6ea: fb12 f303 smulbb r3, r2, r3 804b6ee: b29a uxth r2, r3 804b6f0: 4b3c ldr r3, [pc, #240] ; (804b7e4 ) 804b6f2: 881b ldrh r3, [r3, #0] 804b6f4: b29b uxth r3, r3 804b6f6: 4413 add r3, r2 804b6f8: b29a uxth r2, r3 804b6fa: 4b3d ldr r3, [pc, #244] ; (804b7f0 ) 804b6fc: 801a strh r2, [r3, #0] AUTOZOOM = true; 804b6fe: 4b3d ldr r3, [pc, #244] ; (804b7f4 ) 804b700: 2201 movs r2, #1 804b702: 701a strb r2, [r3, #0] } break; 804b704: e2a4 b.n 804bc50 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804b706: 4b34 ldr r3, [pc, #208] ; (804b7d8 ) 804b708: 781b ldrb r3, [r3, #0] 804b70a: b2db uxtb r3, r3 804b70c: 461a mov r2, r3 804b70e: 4613 mov r3, r2 804b710: 009b lsls r3, r3, #2 804b712: 4413 add r3, r2 804b714: 4a31 ldr r2, [pc, #196] ; (804b7dc ) 804b716: 79d2 ldrb r2, [r2, #7] 804b718: b2d2 uxtb r2, r2 804b71a: 4413 add r3, r2 804b71c: 4a30 ldr r2, [pc, #192] ; (804b7e0 ) 804b71e: 3323 adds r3, #35 ; 0x23 804b720: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b724: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804b728: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804b72c: 021b lsls r3, r3, #8 804b72e: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804b732: 4b2a ldr r3, [pc, #168] ; (804b7dc ) 804b734: 79db ldrb r3, [r3, #7] 804b736: b2db uxtb r3, r3 804b738: 461a mov r2, r3 804b73a: 4b2f ldr r3, [pc, #188] ; (804b7f8 ) 804b73c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804b740: 085b lsrs r3, r3, #1 804b742: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804b746: 4b28 ldr r3, [pc, #160] ; (804b7e8 ) 804b748: 881b ldrh r3, [r3, #0] 804b74a: b29b uxth r3, r3 804b74c: 461a mov r2, r3 804b74e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b752: 085b lsrs r3, r3, #1 804b754: b29b uxth r3, r3 804b756: 4413 add r3, r2 804b758: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804b75c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804b760: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b764: 429a cmp r2, r3 804b766: d80b bhi.n 804b780 X0 += (multB_u16 >> 1); 804b768: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b76c: 085b lsrs r3, r3, #1 804b76e: b29a uxth r2, r3 804b770: 4b1c ldr r3, [pc, #112] ; (804b7e4 ) 804b772: 881b ldrh r3, [r3, #0] 804b774: b29b uxth r3, r3 804b776: 4413 add r3, r2 804b778: b29a uxth r2, r3 804b77a: 4b1a ldr r3, [pc, #104] ; (804b7e4 ) 804b77c: 801a strh r2, [r3, #0] 804b77e: e008 b.n 804b792 else X0 = (uint16_t) (k - multB_u16); 804b780: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804b784: b29a uxth r2, r3 804b786: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b78a: 1ad3 subs r3, r2, r3 804b78c: b29a uxth r2, r3 804b78e: 4b15 ldr r3, [pc, #84] ; (804b7e4 ) 804b790: 801a strh r2, [r3, #0] lX = X0; 804b792: 4b14 ldr r3, [pc, #80] ; (804b7e4 ) 804b794: 881b ldrh r3, [r3, #0] 804b796: b29a uxth r2, r3 804b798: 4b0e ldr r3, [pc, #56] ; (804b7d4 ) 804b79a: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804b79c: 4b0d ldr r3, [pc, #52] ; (804b7d4 ) 804b79e: 881b ldrh r3, [r3, #0] 804b7a0: b29a uxth r2, r3 804b7a2: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804b7a6: 4413 add r3, r2 804b7a8: b29a uxth r2, r3 804b7aa: 4b0f ldr r3, [pc, #60] ; (804b7e8 ) 804b7ac: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804b7ae: 4b0f ldr r3, [pc, #60] ; (804b7ec ) 804b7b0: 681b ldr r3, [r3, #0] 804b7b2: b29b uxth r3, r3 804b7b4: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804b7b8: fb12 f303 smulbb r3, r2, r3 804b7bc: b29a uxth r2, r3 804b7be: 4b09 ldr r3, [pc, #36] ; (804b7e4 ) 804b7c0: 881b ldrh r3, [r3, #0] 804b7c2: b29b uxth r3, r3 804b7c4: 4413 add r3, r2 804b7c6: b29a uxth r2, r3 804b7c8: 4b09 ldr r3, [pc, #36] ; (804b7f0 ) 804b7ca: 801a strh r2, [r3, #0] AUTOZOOM = true; 804b7cc: 4b09 ldr r3, [pc, #36] ; (804b7f4 ) 804b7ce: 2201 movs r2, #1 804b7d0: 701a strb r2, [r3, #0] break; 804b7d2: e244 b.n 804bc5e 804b7d4: 20025d1a .word 0x20025d1a 804b7d8: 20020f74 .word 0x20020f74 804b7dc: 20023e60 .word 0x20023e60 804b7e0: 080ee828 .word 0x080ee828 804b7e4: 20025d1e .word 0x20025d1e 804b7e8: 20025d20 .word 0x20025d20 804b7ec: 2002006c .word 0x2002006c 804b7f0: 20025d16 .word 0x20025d16 804b7f4: 2002098c .word 0x2002098c 804b7f8: 080ee8b4 .word 0x080ee8b4 case ZoomIn: lvl_0 = 0; 804b7fc: 2300 movs r3, #0 804b7fe: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804b802: 4b81 ldr r3, [pc, #516] ; (804ba08 ) 804b804: 781b ldrb r3, [r3, #0] 804b806: b2db uxtb r3, r3 804b808: 461a mov r2, r3 804b80a: 4613 mov r3, r2 804b80c: 009b lsls r3, r3, #2 804b80e: 4413 add r3, r2 804b810: 4a7e ldr r2, [pc, #504] ; (804ba0c ) 804b812: 79d2 ldrb r2, [r2, #7] 804b814: b2d2 uxtb r2, r2 804b816: 4413 add r3, r2 804b818: 4a7d ldr r2, [pc, #500] ; (804ba10 ) 804b81a: 3323 adds r3, #35 ; 0x23 804b81c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b820: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804b824: 2304 movs r3, #4 804b826: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804b82a: 4b77 ldr r3, [pc, #476] ; (804ba08 ) 804b82c: 781b ldrb r3, [r3, #0] 804b82e: b2db uxtb r3, r3 804b830: b29b uxth r3, r3 804b832: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804b836: 429a cmp r2, r3 804b838: f240 820d bls.w 804bc56 804b83c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b840: 2b01 cmp r3, #1 804b842: f240 8208 bls.w 804bc56 { ViewLevel++; 804b846: 4b70 ldr r3, [pc, #448] ; (804ba08 ) 804b848: 781b ldrb r3, [r3, #0] 804b84a: b2db uxtb r3, r3 804b84c: 3301 adds r3, #1 804b84e: b2da uxtb r2, r3 804b850: 4b6d ldr r3, [pc, #436] ; (804ba08 ) 804b852: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804b854: 4b6c ldr r3, [pc, #432] ; (804ba08 ) 804b856: 781b ldrb r3, [r3, #0] 804b858: b2db uxtb r3, r3 804b85a: 461a mov r2, r3 804b85c: 4613 mov r3, r2 804b85e: 009b lsls r3, r3, #2 804b860: 4413 add r3, r2 804b862: 4a6a ldr r2, [pc, #424] ; (804ba0c ) 804b864: 79d2 ldrb r2, [r2, #7] 804b866: b2d2 uxtb r2, r2 804b868: 4413 add r3, r2 804b86a: 4a69 ldr r2, [pc, #420] ; (804ba10 ) 804b86c: 3323 adds r3, #35 ; 0x23 804b86e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b872: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804b876: 4b67 ldr r3, [pc, #412] ; (804ba14 ) 804b878: 881b ldrh r3, [r3, #0] 804b87a: b29a uxth r2, r3 804b87c: 4b66 ldr r3, [pc, #408] ; (804ba18 ) 804b87e: 681b ldr r3, [r3, #0] 804b880: b29b uxth r3, r3 804b882: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804b886: fb11 f303 smulbb r3, r1, r3 804b88a: b29b uxth r3, r3 804b88c: 1ad3 subs r3, r2, r3 804b88e: b29a uxth r2, r3 804b890: 4b62 ldr r3, [pc, #392] ; (804ba1c ) 804b892: 801a strh r2, [r3, #0] lX = X0; 804b894: 4b61 ldr r3, [pc, #388] ; (804ba1c ) 804b896: 881b ldrh r3, [r3, #0] 804b898: b29a uxth r2, r3 804b89a: 4b61 ldr r3, [pc, #388] ; (804ba20 ) 804b89c: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b89e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b8a2: 021b lsls r3, r3, #8 804b8a4: b29a uxth r2, r3 804b8a6: 4b5e ldr r3, [pc, #376] ; (804ba20 ) 804b8a8: 881b ldrh r3, [r3, #0] 804b8aa: b29b uxth r3, r3 804b8ac: 4413 add r3, r2 804b8ae: b29a uxth r2, r3 804b8b0: 4b5c ldr r3, [pc, #368] ; (804ba24 ) 804b8b2: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b8b4: 4b5c ldr r3, [pc, #368] ; (804ba28 ) 804b8b6: 881b ldrh r3, [r3, #0] 804b8b8: b29b uxth r3, r3 804b8ba: 461a mov r2, r3 804b8bc: 4b58 ldr r3, [pc, #352] ; (804ba20 ) 804b8be: 881b ldrh r3, [r3, #0] 804b8c0: b29b uxth r3, r3 804b8c2: 1ad2 subs r2, r2, r3 804b8c4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b8c8: fb92 f3f3 sdiv r3, r2, r3 804b8cc: 461a mov r2, r3 804b8ce: 4b52 ldr r3, [pc, #328] ; (804ba18 ) 804b8d0: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804b8d2: 4b51 ldr r3, [pc, #324] ; (804ba18 ) 804b8d4: 681b ldr r3, [r3, #0] 804b8d6: b29b uxth r3, r3 804b8d8: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b8dc: fb12 f303 smulbb r3, r2, r3 804b8e0: b29a uxth r2, r3 804b8e2: 4b4f ldr r3, [pc, #316] ; (804ba20 ) 804b8e4: 881b ldrh r3, [r3, #0] 804b8e6: b29b uxth r3, r3 804b8e8: 4413 add r3, r2 804b8ea: b29a uxth r2, r3 804b8ec: 4b49 ldr r3, [pc, #292] ; (804ba14 ) 804b8ee: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804b8f0: 4b49 ldr r3, [pc, #292] ; (804ba18 ) 804b8f2: 681b ldr r3, [r3, #0] 804b8f4: 2b7f cmp r3, #127 ; 0x7f 804b8f6: d83b bhi.n 804b970 804b8f8: 4b48 ldr r3, [pc, #288] ; (804ba1c ) 804b8fa: 881b ldrh r3, [r3, #0] 804b8fc: b29b uxth r3, r3 804b8fe: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b902: 429a cmp r2, r3 804b904: d834 bhi.n 804b970 { if(lX >= dX) 804b906: 4b46 ldr r3, [pc, #280] ; (804ba20 ) 804b908: 881b ldrh r3, [r3, #0] 804b90a: b29b uxth r3, r3 804b90c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804b910: 429a cmp r2, r3 804b912: d875 bhi.n 804ba00 { CURSOR++; 804b914: 4b40 ldr r3, [pc, #256] ; (804ba18 ) 804b916: 681b ldr r3, [r3, #0] 804b918: 3301 adds r3, #1 804b91a: 4a3f ldr r2, [pc, #252] ; (804ba18 ) 804b91c: 6013 str r3, [r2, #0] X0 -= dX; 804b91e: 4b3f ldr r3, [pc, #252] ; (804ba1c ) 804b920: 881b ldrh r3, [r3, #0] 804b922: b29a uxth r2, r3 804b924: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b928: 1ad3 subs r3, r2, r3 804b92a: b29a uxth r2, r3 804b92c: 4b3b ldr r3, [pc, #236] ; (804ba1c ) 804b92e: 801a strh r2, [r3, #0] lX = X0; 804b930: 4b3a ldr r3, [pc, #232] ; (804ba1c ) 804b932: 881b ldrh r3, [r3, #0] 804b934: b29a uxth r2, r3 804b936: 4b3a ldr r3, [pc, #232] ; (804ba20 ) 804b938: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b93a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b93e: 021b lsls r3, r3, #8 804b940: b29a uxth r2, r3 804b942: 4b37 ldr r3, [pc, #220] ; (804ba20 ) 804b944: 881b ldrh r3, [r3, #0] 804b946: b29b uxth r3, r3 804b948: 4413 add r3, r2 804b94a: b29a uxth r2, r3 804b94c: 4b35 ldr r3, [pc, #212] ; (804ba24 ) 804b94e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b950: 4b35 ldr r3, [pc, #212] ; (804ba28 ) 804b952: 881b ldrh r3, [r3, #0] 804b954: b29b uxth r3, r3 804b956: 461a mov r2, r3 804b958: 4b31 ldr r3, [pc, #196] ; (804ba20 ) 804b95a: 881b ldrh r3, [r3, #0] 804b95c: b29b uxth r3, r3 804b95e: 1ad2 subs r2, r2, r3 804b960: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b964: fb92 f3f3 sdiv r3, r2, r3 804b968: 461a mov r2, r3 804b96a: 4b2b ldr r3, [pc, #172] ; (804ba18 ) 804b96c: 601a str r2, [r3, #0] if(lX >= dX) 804b96e: e047 b.n 804ba00 } } else if(CURSOR > (256 >> 1)) 804b970: 4b29 ldr r3, [pc, #164] ; (804ba18 ) 804b972: 681b ldr r3, [r3, #0] 804b974: 2b80 cmp r3, #128 ; 0x80 804b976: d943 bls.n 804ba00 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804b978: 4b2a ldr r3, [pc, #168] ; (804ba24 ) 804b97a: 881b ldrh r3, [r3, #0] 804b97c: b29b uxth r3, r3 804b97e: 461a mov r2, r3 804b980: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b984: 18d1 adds r1, r2, r3 804b986: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804b98a: 4613 mov r3, r2 804b98c: 009b lsls r3, r3, #2 804b98e: 4413 add r3, r2 804b990: 4a1e ldr r2, [pc, #120] ; (804ba0c ) 804b992: 79d2 ldrb r2, [r2, #7] 804b994: b2d2 uxtb r2, r2 804b996: 4413 add r3, r2 804b998: 4a1d ldr r2, [pc, #116] ; (804ba10 ) 804b99a: 3323 adds r3, #35 ; 0x23 804b99c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804b9a0: 021b lsls r3, r3, #8 804b9a2: 4299 cmp r1, r3 804b9a4: dc2c bgt.n 804ba00 { CURSOR--; 804b9a6: 4b1c ldr r3, [pc, #112] ; (804ba18 ) 804b9a8: 681b ldr r3, [r3, #0] 804b9aa: 3b01 subs r3, #1 804b9ac: 4a1a ldr r2, [pc, #104] ; (804ba18 ) 804b9ae: 6013 str r3, [r2, #0] X0 += dX; 804b9b0: 4b1a ldr r3, [pc, #104] ; (804ba1c ) 804b9b2: 881b ldrh r3, [r3, #0] 804b9b4: b29a uxth r2, r3 804b9b6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b9ba: 4413 add r3, r2 804b9bc: b29a uxth r2, r3 804b9be: 4b17 ldr r3, [pc, #92] ; (804ba1c ) 804b9c0: 801a strh r2, [r3, #0] lX = X0; 804b9c2: 4b16 ldr r3, [pc, #88] ; (804ba1c ) 804b9c4: 881b ldrh r3, [r3, #0] 804b9c6: b29a uxth r2, r3 804b9c8: 4b15 ldr r3, [pc, #84] ; (804ba20 ) 804b9ca: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804b9cc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b9d0: 021b lsls r3, r3, #8 804b9d2: b29a uxth r2, r3 804b9d4: 4b12 ldr r3, [pc, #72] ; (804ba20 ) 804b9d6: 881b ldrh r3, [r3, #0] 804b9d8: b29b uxth r3, r3 804b9da: 4413 add r3, r2 804b9dc: b29a uxth r2, r3 804b9de: 4b11 ldr r3, [pc, #68] ; (804ba24 ) 804b9e0: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804b9e2: 4b11 ldr r3, [pc, #68] ; (804ba28 ) 804b9e4: 881b ldrh r3, [r3, #0] 804b9e6: b29b uxth r3, r3 804b9e8: 461a mov r2, r3 804b9ea: 4b0d ldr r3, [pc, #52] ; (804ba20 ) 804b9ec: 881b ldrh r3, [r3, #0] 804b9ee: b29b uxth r3, r3 804b9f0: 1ad2 subs r2, r2, r3 804b9f2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804b9f6: fb92 f3f3 sdiv r3, r2, r3 804b9fa: 461a mov r2, r3 804b9fc: 4b06 ldr r3, [pc, #24] ; (804ba18 ) 804b9fe: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804ba00: 4b0a ldr r3, [pc, #40] ; (804ba2c ) 804ba02: 2201 movs r2, #1 804ba04: 701a strb r2, [r3, #0] } break; 804ba06: e126 b.n 804bc56 804ba08: 20020f74 .word 0x20020f74 804ba0c: 20023e60 .word 0x20023e60 804ba10: 080ee828 .word 0x080ee828 804ba14: 20025d16 .word 0x20025d16 804ba18: 2002006c .word 0x2002006c 804ba1c: 20025d1e .word 0x20025d1e 804ba20: 20025d1a .word 0x20025d1a 804ba24: 20025d20 .word 0x20025d20 804ba28: 20025d1c .word 0x20025d1c 804ba2c: 2002098c .word 0x2002098c case ZoomOut: lvl_0 = 0; 804ba30: 2300 movs r3, #0 804ba32: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804ba36: 2304 movs r3, #4 804ba38: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804ba3c: 4bac ldr r3, [pc, #688] ; (804bcf0 ) 804ba3e: 781b ldrb r3, [r3, #0] 804ba40: b2db uxtb r3, r3 804ba42: 461a mov r2, r3 804ba44: 4613 mov r3, r2 804ba46: 009b lsls r3, r3, #2 804ba48: 4413 add r3, r2 804ba4a: 4aaa ldr r2, [pc, #680] ; (804bcf4 ) 804ba4c: 79d2 ldrb r2, [r2, #7] 804ba4e: b2d2 uxtb r2, r2 804ba50: 4413 add r3, r2 804ba52: 4aa9 ldr r2, [pc, #676] ; (804bcf8 ) 804ba54: 3323 adds r3, #35 ; 0x23 804ba56: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ba5a: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804ba5e: 4ba4 ldr r3, [pc, #656] ; (804bcf0 ) 804ba60: 781b ldrb r3, [r3, #0] 804ba62: b2db uxtb r3, r3 804ba64: 2b00 cmp r3, #0 804ba66: f000 80f9 beq.w 804bc5c { ViewLevel--; 804ba6a: 4ba1 ldr r3, [pc, #644] ; (804bcf0 ) 804ba6c: 781b ldrb r3, [r3, #0] 804ba6e: b2db uxtb r3, r3 804ba70: 3b01 subs r3, #1 804ba72: b2da uxtb r2, r3 804ba74: 4b9e ldr r3, [pc, #632] ; (804bcf0 ) 804ba76: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804ba78: 4b9d ldr r3, [pc, #628] ; (804bcf0 ) 804ba7a: 781b ldrb r3, [r3, #0] 804ba7c: b2db uxtb r3, r3 804ba7e: 461a mov r2, r3 804ba80: 4613 mov r3, r2 804ba82: 009b lsls r3, r3, #2 804ba84: 4413 add r3, r2 804ba86: 4a9b ldr r2, [pc, #620] ; (804bcf4 ) 804ba88: 79d2 ldrb r2, [r2, #7] 804ba8a: b2d2 uxtb r2, r2 804ba8c: 4413 add r3, r2 804ba8e: 4a9a ldr r2, [pc, #616] ; (804bcf8 ) 804ba90: 3323 adds r3, #35 ; 0x23 804ba92: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ba96: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804ba9a: 4b95 ldr r3, [pc, #596] ; (804bcf0 ) 804ba9c: 781b ldrb r3, [r3, #0] 804ba9e: b2db uxtb r3, r3 804baa0: 2b00 cmp r3, #0 804baa2: d130 bne.n 804bb06 { X0 = lX = 0; 804baa4: 2100 movs r1, #0 804baa6: 4b95 ldr r3, [pc, #596] ; (804bcfc ) 804baa8: 460a mov r2, r1 804baaa: 801a strh r2, [r3, #0] 804baac: 4b94 ldr r3, [pc, #592] ; (804bd00 ) 804baae: 460a mov r2, r1 804bab0: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804bab2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bab6: 021b lsls r3, r3, #8 804bab8: b29a uxth r2, r3 804baba: 4b90 ldr r3, [pc, #576] ; (804bcfc ) 804babc: 881b ldrh r3, [r3, #0] 804babe: b29b uxth r3, r3 804bac0: 4413 add r3, r2 804bac2: b29a uxth r2, r3 804bac4: 4b8f ldr r3, [pc, #572] ; (804bd04 ) 804bac6: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804bac8: 4b8f ldr r3, [pc, #572] ; (804bd08 ) 804baca: 881b ldrh r3, [r3, #0] 804bacc: b29b uxth r3, r3 804bace: 461a mov r2, r3 804bad0: 4b8a ldr r3, [pc, #552] ; (804bcfc ) 804bad2: 881b ldrh r3, [r3, #0] 804bad4: b29b uxth r3, r3 804bad6: 1ad2 subs r2, r2, r3 804bad8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804badc: fb92 f3f3 sdiv r3, r2, r3 804bae0: 461a mov r2, r3 804bae2: 4b8a ldr r3, [pc, #552] ; (804bd0c ) 804bae4: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804bae6: 4b89 ldr r3, [pc, #548] ; (804bd0c ) 804bae8: 681b ldr r3, [r3, #0] 804baea: b29b uxth r3, r3 804baec: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804baf0: fb12 f303 smulbb r3, r2, r3 804baf4: b29a uxth r2, r3 804baf6: 4b82 ldr r3, [pc, #520] ; (804bd00 ) 804baf8: 881b ldrh r3, [r3, #0] 804bafa: b29b uxth r3, r3 804bafc: 4413 add r3, r2 804bafe: b29a uxth r2, r3 804bb00: 4b83 ldr r3, [pc, #524] ; (804bd10 ) 804bb02: 801a strh r2, [r3, #0] 804bb04: e090 b.n 804bc28 } else { if(CURSOR * dX > Mpos) 804bb06: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bb0a: 4a80 ldr r2, [pc, #512] ; (804bd0c ) 804bb0c: 6812 ldr r2, [r2, #0] 804bb0e: fb02 f303 mul.w r3, r2, r3 804bb12: 4a7f ldr r2, [pc, #508] ; (804bd10 ) 804bb14: 8812 ldrh r2, [r2, #0] 804bb16: b292 uxth r2, r2 804bb18: 4293 cmp r3, r2 804bb1a: d91f bls.n 804bb5c { while(CURSOR * dX > Mpos) 804bb1c: e004 b.n 804bb28 CURSOR--; 804bb1e: 4b7b ldr r3, [pc, #492] ; (804bd0c ) 804bb20: 681b ldr r3, [r3, #0] 804bb22: 3b01 subs r3, #1 804bb24: 4a79 ldr r2, [pc, #484] ; (804bd0c ) 804bb26: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804bb28: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bb2c: 4a77 ldr r2, [pc, #476] ; (804bd0c ) 804bb2e: 6812 ldr r2, [r2, #0] 804bb30: fb02 f303 mul.w r3, r2, r3 804bb34: 4a76 ldr r2, [pc, #472] ; (804bd10 ) 804bb36: 8812 ldrh r2, [r2, #0] 804bb38: b292 uxth r2, r2 804bb3a: 4293 cmp r3, r2 804bb3c: d8ef bhi.n 804bb1e Mpos = X0 + CURSOR * dX; 804bb3e: 4b73 ldr r3, [pc, #460] ; (804bd0c ) 804bb40: 681b ldr r3, [r3, #0] 804bb42: b29b uxth r3, r3 804bb44: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bb48: fb12 f303 smulbb r3, r2, r3 804bb4c: b29a uxth r2, r3 804bb4e: 4b6c ldr r3, [pc, #432] ; (804bd00 ) 804bb50: 881b ldrh r3, [r3, #0] 804bb52: b29b uxth r3, r3 804bb54: 4413 add r3, r2 804bb56: b29a uxth r2, r3 804bb58: 4b6d ldr r3, [pc, #436] ; (804bd10 ) 804bb5a: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804bb5c: 4b6c ldr r3, [pc, #432] ; (804bd10 ) 804bb5e: 881b ldrh r3, [r3, #0] 804bb60: b29b uxth r3, r3 804bb62: 4619 mov r1, r3 804bb64: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bb68: 4a68 ldr r2, [pc, #416] ; (804bd0c ) 804bb6a: 6812 ldr r2, [r2, #0] 804bb6c: fb02 f303 mul.w r3, r2, r3 804bb70: 1acb subs r3, r1, r3 804bb72: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804bb76: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bb7a: 021b lsls r3, r3, #8 804bb7c: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804bb80: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804bb84: 4613 mov r3, r2 804bb86: 009b lsls r3, r3, #2 804bb88: 4413 add r3, r2 804bb8a: 4a5a ldr r2, [pc, #360] ; (804bcf4 ) 804bb8c: 79d2 ldrb r2, [r2, #7] 804bb8e: b2d2 uxtb r2, r2 804bb90: 4413 add r3, r2 804bb92: 4a59 ldr r2, [pc, #356] ; (804bcf8 ) 804bb94: 3323 adds r3, #35 ; 0x23 804bb96: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bb9a: 021b lsls r3, r3, #8 804bb9c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804bba0: e006 b.n 804bbb0 i -= dXold; 804bba2: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804bba6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804bbaa: 1ad3 subs r3, r2, r3 804bbac: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804bbb0: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804bbb4: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804bbb8: 441a add r2, r3 804bbba: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804bbbe: 429a cmp r2, r3 804bbc0: d8ef bhi.n 804bba2 } X0 = (uint16_t) i; 804bbc2: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804bbc6: b29a uxth r2, r3 804bbc8: 4b4d ldr r3, [pc, #308] ; (804bd00 ) 804bbca: 801a strh r2, [r3, #0] lX = X0; 804bbcc: 4b4c ldr r3, [pc, #304] ; (804bd00 ) 804bbce: 881b ldrh r3, [r3, #0] 804bbd0: b29a uxth r2, r3 804bbd2: 4b4a ldr r3, [pc, #296] ; (804bcfc ) 804bbd4: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804bbd6: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bbda: 021b lsls r3, r3, #8 804bbdc: b29a uxth r2, r3 804bbde: 4b47 ldr r3, [pc, #284] ; (804bcfc ) 804bbe0: 881b ldrh r3, [r3, #0] 804bbe2: b29b uxth r3, r3 804bbe4: 4413 add r3, r2 804bbe6: b29a uxth r2, r3 804bbe8: 4b46 ldr r3, [pc, #280] ; (804bd04 ) 804bbea: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804bbec: 4b46 ldr r3, [pc, #280] ; (804bd08 ) 804bbee: 881b ldrh r3, [r3, #0] 804bbf0: b29b uxth r3, r3 804bbf2: 461a mov r2, r3 804bbf4: 4b41 ldr r3, [pc, #260] ; (804bcfc ) 804bbf6: 881b ldrh r3, [r3, #0] 804bbf8: b29b uxth r3, r3 804bbfa: 1ad2 subs r2, r2, r3 804bbfc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bc00: fb92 f3f3 sdiv r3, r2, r3 804bc04: 461a mov r2, r3 804bc06: 4b41 ldr r3, [pc, #260] ; (804bd0c ) 804bc08: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804bc0a: 4b40 ldr r3, [pc, #256] ; (804bd0c ) 804bc0c: 681b ldr r3, [r3, #0] 804bc0e: b29b uxth r3, r3 804bc10: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bc14: fb12 f303 smulbb r3, r2, r3 804bc18: b29a uxth r2, r3 804bc1a: 4b39 ldr r3, [pc, #228] ; (804bd00 ) 804bc1c: 881b ldrh r3, [r3, #0] 804bc1e: b29b uxth r3, r3 804bc20: 4413 add r3, r2 804bc22: b29a uxth r2, r3 804bc24: 4b3a ldr r3, [pc, #232] ; (804bd10 ) 804bc26: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804bc28: 4b3a ldr r3, [pc, #232] ; (804bd14 ) 804bc2a: 2201 movs r2, #1 804bc2c: 701a strb r2, [r3, #0] } break; 804bc2e: e015 b.n 804bc5c case Cursor: AUTOZOOM = true; 804bc30: 4b38 ldr r3, [pc, #224] ; (804bd14 ) 804bc32: 2201 movs r2, #1 804bc34: 701a strb r2, [r3, #0] break; 804bc36: e012 b.n 804bc5e case Results: menu = ROLL_RESULTS; 804bc38: 4b37 ldr r3, [pc, #220] ; (804bd18 ) 804bc3a: 2227 movs r2, #39 ; 0x27 804bc3c: 701a strb r2, [r3, #0] lastmenupos = menupos; 804bc3e: 4b37 ldr r3, [pc, #220] ; (804bd1c ) 804bc40: 781b ldrb r3, [r3, #0] 804bc42: b2da uxtb r2, r3 804bc44: 4b36 ldr r3, [pc, #216] ; (804bd20 ) 804bc46: 701a strb r2, [r3, #0] menupos = 0; 804bc48: 4b34 ldr r3, [pc, #208] ; (804bd1c ) 804bc4a: 2200 movs r2, #0 804bc4c: 701a strb r2, [r3, #0] break; 804bc4e: e006 b.n 804bc5e break; 804bc50: bf00 nop 804bc52: f007 b851 b.w 8052cf8 break; 804bc56: bf00 nop 804bc58: f007 b84e b.w 8052cf8 break; 804bc5c: bf00 nop } break; 804bc5e: f007 b84b b.w 8052cf8 case MAIN_SPEC: switch(menupos) 804bc62: 4b2e ldr r3, [pc, #184] ; (804bd1c ) 804bc64: 781b ldrb r3, [r3, #0] 804bc66: b2db uxtb r3, r3 804bc68: 2b09 cmp r3, #9 804bc6a: f207 8047 bhi.w 8052cfc 804bc6e: a201 add r2, pc, #4 ; (adr r2, 804bc74 ) 804bc70: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804bc74: 0804bcb1 .word 0x0804bcb1 804bc78: 0804bc9d .word 0x0804bc9d 804bc7c: 0804bd31 .word 0x0804bd31 804bc80: 0804bed5 .word 0x0804bed5 804bc84: 0804c109 .word 0x0804c109 804bc88: 0804bddd .word 0x0804bddd 804bc8c: 0804c309 .word 0x0804c309 804bc90: 08052cfd .word 0x08052cfd 804bc94: 08052cfd .word 0x08052cfd 804bc98: 0804c311 .word 0x0804c311 { case BackMenu: StopMeas(); 804bc9c: f7d7 fd7e bl 802379c menu = PARAM_SPEC; 804bca0: 4b1d ldr r3, [pc, #116] ; (804bd18 ) 804bca2: 2207 movs r2, #7 804bca4: 701a strb r2, [r3, #0] menupos = Ok; 804bca6: 4b1d ldr r3, [pc, #116] ; (804bd1c ) 804bca8: 2200 movs r2, #0 804bcaa: 701a strb r2, [r3, #0] break; 804bcac: f000 bd86 b.w 804c7bc case StartStop: if(!measuring) 804bcb0: 4b1c ldr r3, [pc, #112] ; (804bd24 ) 804bcb2: 781b ldrb r3, [r3, #0] 804bcb4: b2db uxtb r3, r3 804bcb6: f083 0301 eor.w r3, r3, #1 804bcba: b2db uxtb r3, r3 804bcbc: 2b00 cmp r3, #0 804bcbe: d00b beq.n 804bcd8 { AUTOZOOM = true; 804bcc0: 4b14 ldr r3, [pc, #80] ; (804bd14 ) 804bcc2: 2201 movs r2, #1 804bcc4: 701a strb r2, [r3, #0] FIRST = true; 804bcc6: 4b18 ldr r3, [pc, #96] ; (804bd28 ) 804bcc8: 2201 movs r2, #1 804bcca: 701a strb r2, [r3, #0] initAmplif(); 804bccc: f7d5 fee2 bl 8021a94 StartMeas(); 804bcd0: f7d7 f9b4 bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804bcd4: f000 bd72 b.w 804c7bc StopMeas(); 804bcd8: f7d7 fd60 bl 802379c AUTOZOOM = true; 804bcdc: 4b0d ldr r3, [pc, #52] ; (804bd14 ) 804bcde: 2201 movs r2, #1 804bce0: 701a strb r2, [r3, #0] oldmenupos = menupos; 804bce2: 4b0e ldr r3, [pc, #56] ; (804bd1c ) 804bce4: 781b ldrb r3, [r3, #0] 804bce6: b2da uxtb r2, r3 804bce8: 4b10 ldr r3, [pc, #64] ; (804bd2c ) 804bcea: 701a strb r2, [r3, #0] break; 804bcec: f000 bd66 b.w 804c7bc 804bcf0: 20020f74 .word 0x20020f74 804bcf4: 20023e60 .word 0x20023e60 804bcf8: 080ee828 .word 0x080ee828 804bcfc: 20025d1a .word 0x20025d1a 804bd00: 20025d1e .word 0x20025d1e 804bd04: 20025d20 .word 0x20025d20 804bd08: 20025d1c .word 0x20025d1c 804bd0c: 2002006c .word 0x2002006c 804bd10: 20025d16 .word 0x20025d16 804bd14: 2002098c .word 0x2002098c 804bd18: 20020f78 .word 0x20020f78 804bd1c: 20020070 .word 0x20020070 804bd20: 20020071 .word 0x20020071 804bd24: 20020daf .word 0x20020daf 804bd28: 20020db2 .word 0x20020db2 804bd2c: 20020f7a .word 0x20020f7a case ImageLeft: if(lX) 804bd30: 4b5e ldr r3, [pc, #376] ; (804beac ) 804bd32: 881b ldrh r3, [r3, #0] 804bd34: b29b uxth r3, r3 804bd36: 2b00 cmp r3, #0 804bd38: f000 8536 beq.w 804c7a8 { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804bd3c: 4b5c ldr r3, [pc, #368] ; (804beb0 ) 804bd3e: 781b ldrb r3, [r3, #0] 804bd40: b2db uxtb r3, r3 804bd42: 461a mov r2, r3 804bd44: 4613 mov r3, r2 804bd46: 009b lsls r3, r3, #2 804bd48: 4413 add r3, r2 804bd4a: 4a5a ldr r2, [pc, #360] ; (804beb4 ) 804bd4c: 79d2 ldrb r2, [r2, #7] 804bd4e: b2d2 uxtb r2, r2 804bd50: 4413 add r3, r2 804bd52: 4a59 ldr r2, [pc, #356] ; (804beb8 ) 804bd54: 3323 adds r3, #35 ; 0x23 804bd56: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bd5a: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804bd5e: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804bd62: 021b lsls r3, r3, #8 804bd64: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804bd68: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804bd6c: 085b lsrs r3, r3, #1 804bd6e: b29a uxth r2, r3 804bd70: 4b4e ldr r3, [pc, #312] ; (804beac ) 804bd72: 881b ldrh r3, [r3, #0] 804bd74: b29b uxth r3, r3 804bd76: 429a cmp r2, r3 804bd78: d80b bhi.n 804bd92 X0 -= (multB_u16 >> 1); 804bd7a: 4b50 ldr r3, [pc, #320] ; (804bebc ) 804bd7c: 881b ldrh r3, [r3, #0] 804bd7e: b29a uxth r2, r3 804bd80: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804bd84: 085b lsrs r3, r3, #1 804bd86: b29b uxth r3, r3 804bd88: 1ad3 subs r3, r2, r3 804bd8a: b29a uxth r2, r3 804bd8c: 4b4b ldr r3, [pc, #300] ; (804bebc ) 804bd8e: 801a strh r2, [r3, #0] 804bd90: e002 b.n 804bd98 else X0 = 0; 804bd92: 4b4a ldr r3, [pc, #296] ; (804bebc ) 804bd94: 2200 movs r2, #0 804bd96: 801a strh r2, [r3, #0] lX = X0; 804bd98: 4b48 ldr r3, [pc, #288] ; (804bebc ) 804bd9a: 881b ldrh r3, [r3, #0] 804bd9c: b29a uxth r2, r3 804bd9e: 4b43 ldr r3, [pc, #268] ; (804beac ) 804bda0: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804bda2: 4b42 ldr r3, [pc, #264] ; (804beac ) 804bda4: 881b ldrh r3, [r3, #0] 804bda6: b29a uxth r2, r3 804bda8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804bdac: 4413 add r3, r2 804bdae: b29a uxth r2, r3 804bdb0: 4b43 ldr r3, [pc, #268] ; (804bec0 ) 804bdb2: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804bdb4: 4b43 ldr r3, [pc, #268] ; (804bec4 ) 804bdb6: 681b ldr r3, [r3, #0] 804bdb8: b29b uxth r3, r3 804bdba: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804bdbe: fb12 f303 smulbb r3, r2, r3 804bdc2: b29a uxth r2, r3 804bdc4: 4b3d ldr r3, [pc, #244] ; (804bebc ) 804bdc6: 881b ldrh r3, [r3, #0] 804bdc8: b29b uxth r3, r3 804bdca: 4413 add r3, r2 804bdcc: b29a uxth r2, r3 804bdce: 4b3e ldr r3, [pc, #248] ; (804bec8 ) 804bdd0: 801a strh r2, [r3, #0] AUTOZOOM = true; 804bdd2: 4b3e ldr r3, [pc, #248] ; (804becc ) 804bdd4: 2201 movs r2, #1 804bdd6: 701a strb r2, [r3, #0] } break; 804bdd8: f000 bce6 b.w 804c7a8 case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804bddc: 4b34 ldr r3, [pc, #208] ; (804beb0 ) 804bdde: 781b ldrb r3, [r3, #0] 804bde0: b2db uxtb r3, r3 804bde2: 461a mov r2, r3 804bde4: 4613 mov r3, r2 804bde6: 009b lsls r3, r3, #2 804bde8: 4413 add r3, r2 804bdea: 4a32 ldr r2, [pc, #200] ; (804beb4 ) 804bdec: 79d2 ldrb r2, [r2, #7] 804bdee: b2d2 uxtb r2, r2 804bdf0: 4413 add r3, r2 804bdf2: 4a31 ldr r2, [pc, #196] ; (804beb8 ) 804bdf4: 3323 adds r3, #35 ; 0x23 804bdf6: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bdfa: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804bdfe: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804be02: 021b lsls r3, r3, #8 804be04: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804be08: 4b2a ldr r3, [pc, #168] ; (804beb4 ) 804be0a: 79db ldrb r3, [r3, #7] 804be0c: b2db uxtb r3, r3 804be0e: 461a mov r2, r3 804be10: 4b2f ldr r3, [pc, #188] ; (804bed0 ) 804be12: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804be16: 085b lsrs r3, r3, #1 804be18: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804be1c: 4b28 ldr r3, [pc, #160] ; (804bec0 ) 804be1e: 881b ldrh r3, [r3, #0] 804be20: b29b uxth r3, r3 804be22: 461a mov r2, r3 804be24: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804be28: 085b lsrs r3, r3, #1 804be2a: b29b uxth r3, r3 804be2c: 4413 add r3, r2 804be2e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804be32: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804be36: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804be3a: 429a cmp r2, r3 804be3c: d80b bhi.n 804be56 X0 += (multB_u16 >> 1); 804be3e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804be42: 085b lsrs r3, r3, #1 804be44: b29a uxth r2, r3 804be46: 4b1d ldr r3, [pc, #116] ; (804bebc ) 804be48: 881b ldrh r3, [r3, #0] 804be4a: b29b uxth r3, r3 804be4c: 4413 add r3, r2 804be4e: b29a uxth r2, r3 804be50: 4b1a ldr r3, [pc, #104] ; (804bebc ) 804be52: 801a strh r2, [r3, #0] 804be54: e008 b.n 804be68 else X0 = (uint16_t) (k - multB_u16); 804be56: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804be5a: b29a uxth r2, r3 804be5c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804be60: 1ad3 subs r3, r2, r3 804be62: b29a uxth r2, r3 804be64: 4b15 ldr r3, [pc, #84] ; (804bebc ) 804be66: 801a strh r2, [r3, #0] lX = X0; 804be68: 4b14 ldr r3, [pc, #80] ; (804bebc ) 804be6a: 881b ldrh r3, [r3, #0] 804be6c: b29a uxth r2, r3 804be6e: 4b0f ldr r3, [pc, #60] ; (804beac ) 804be70: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804be72: 4b0e ldr r3, [pc, #56] ; (804beac ) 804be74: 881b ldrh r3, [r3, #0] 804be76: b29a uxth r2, r3 804be78: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804be7c: 4413 add r3, r2 804be7e: b29a uxth r2, r3 804be80: 4b0f ldr r3, [pc, #60] ; (804bec0 ) 804be82: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804be84: 4b0f ldr r3, [pc, #60] ; (804bec4 ) 804be86: 681b ldr r3, [r3, #0] 804be88: b29b uxth r3, r3 804be8a: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804be8e: fb12 f303 smulbb r3, r2, r3 804be92: b29a uxth r2, r3 804be94: 4b09 ldr r3, [pc, #36] ; (804bebc ) 804be96: 881b ldrh r3, [r3, #0] 804be98: b29b uxth r3, r3 804be9a: 4413 add r3, r2 804be9c: b29a uxth r2, r3 804be9e: 4b0a ldr r3, [pc, #40] ; (804bec8 ) 804bea0: 801a strh r2, [r3, #0] AUTOZOOM = true; 804bea2: 4b0a ldr r3, [pc, #40] ; (804becc ) 804bea4: 2201 movs r2, #1 804bea6: 701a strb r2, [r3, #0] break; 804bea8: f000 bc88 b.w 804c7bc 804beac: 20025d1a .word 0x20025d1a 804beb0: 20020f74 .word 0x20020f74 804beb4: 20023e60 .word 0x20023e60 804beb8: 080ee828 .word 0x080ee828 804bebc: 20025d1e .word 0x20025d1e 804bec0: 20025d20 .word 0x20025d20 804bec4: 2002006c .word 0x2002006c 804bec8: 20025d16 .word 0x20025d16 804becc: 2002098c .word 0x2002098c 804bed0: 080ee8b4 .word 0x080ee8b4 case ZoomIn: lvl_0 = 0; 804bed4: 2300 movs r3, #0 804bed6: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804beda: 4b81 ldr r3, [pc, #516] ; (804c0e0 ) 804bedc: 781b ldrb r3, [r3, #0] 804bede: b2db uxtb r3, r3 804bee0: 461a mov r2, r3 804bee2: 4613 mov r3, r2 804bee4: 009b lsls r3, r3, #2 804bee6: 4413 add r3, r2 804bee8: 4a7e ldr r2, [pc, #504] ; (804c0e4 ) 804beea: 79d2 ldrb r2, [r2, #7] 804beec: b2d2 uxtb r2, r2 804beee: 4413 add r3, r2 804bef0: 4a7d ldr r2, [pc, #500] ; (804c0e8 ) 804bef2: 3323 adds r3, #35 ; 0x23 804bef4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bef8: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804befc: 2304 movs r3, #4 804befe: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804bf02: 4b77 ldr r3, [pc, #476] ; (804c0e0 ) 804bf04: 781b ldrb r3, [r3, #0] 804bf06: b2db uxtb r3, r3 804bf08: b29b uxth r3, r3 804bf0a: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804bf0e: 429a cmp r2, r3 804bf10: f240 844d bls.w 804c7ae 804bf14: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bf18: 2b01 cmp r3, #1 804bf1a: f240 8448 bls.w 804c7ae { ViewLevel++; 804bf1e: 4b70 ldr r3, [pc, #448] ; (804c0e0 ) 804bf20: 781b ldrb r3, [r3, #0] 804bf22: b2db uxtb r3, r3 804bf24: 3301 adds r3, #1 804bf26: b2da uxtb r2, r3 804bf28: 4b6d ldr r3, [pc, #436] ; (804c0e0 ) 804bf2a: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804bf2c: 4b6c ldr r3, [pc, #432] ; (804c0e0 ) 804bf2e: 781b ldrb r3, [r3, #0] 804bf30: b2db uxtb r3, r3 804bf32: 461a mov r2, r3 804bf34: 4613 mov r3, r2 804bf36: 009b lsls r3, r3, #2 804bf38: 4413 add r3, r2 804bf3a: 4a6a ldr r2, [pc, #424] ; (804c0e4 ) 804bf3c: 79d2 ldrb r2, [r2, #7] 804bf3e: b2d2 uxtb r2, r2 804bf40: 4413 add r3, r2 804bf42: 4a69 ldr r2, [pc, #420] ; (804c0e8 ) 804bf44: 3323 adds r3, #35 ; 0x23 804bf46: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804bf4a: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804bf4e: 4b67 ldr r3, [pc, #412] ; (804c0ec ) 804bf50: 881b ldrh r3, [r3, #0] 804bf52: b29a uxth r2, r3 804bf54: 4b66 ldr r3, [pc, #408] ; (804c0f0 ) 804bf56: 681b ldr r3, [r3, #0] 804bf58: b29b uxth r3, r3 804bf5a: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804bf5e: fb11 f303 smulbb r3, r1, r3 804bf62: b29b uxth r3, r3 804bf64: 1ad3 subs r3, r2, r3 804bf66: b29a uxth r2, r3 804bf68: 4b62 ldr r3, [pc, #392] ; (804c0f4 ) 804bf6a: 801a strh r2, [r3, #0] lX = X0; 804bf6c: 4b61 ldr r3, [pc, #388] ; (804c0f4 ) 804bf6e: 881b ldrh r3, [r3, #0] 804bf70: b29a uxth r2, r3 804bf72: 4b61 ldr r3, [pc, #388] ; (804c0f8 ) 804bf74: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804bf76: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bf7a: 021b lsls r3, r3, #8 804bf7c: b29a uxth r2, r3 804bf7e: 4b5e ldr r3, [pc, #376] ; (804c0f8 ) 804bf80: 881b ldrh r3, [r3, #0] 804bf82: b29b uxth r3, r3 804bf84: 4413 add r3, r2 804bf86: b29a uxth r2, r3 804bf88: 4b5c ldr r3, [pc, #368] ; (804c0fc ) 804bf8a: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804bf8c: 4b5c ldr r3, [pc, #368] ; (804c100 ) 804bf8e: 881b ldrh r3, [r3, #0] 804bf90: b29b uxth r3, r3 804bf92: 461a mov r2, r3 804bf94: 4b58 ldr r3, [pc, #352] ; (804c0f8 ) 804bf96: 881b ldrh r3, [r3, #0] 804bf98: b29b uxth r3, r3 804bf9a: 1ad2 subs r2, r2, r3 804bf9c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804bfa0: fb92 f3f3 sdiv r3, r2, r3 804bfa4: 461a mov r2, r3 804bfa6: 4b52 ldr r3, [pc, #328] ; (804c0f0 ) 804bfa8: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804bfaa: 4b51 ldr r3, [pc, #324] ; (804c0f0 ) 804bfac: 681b ldr r3, [r3, #0] 804bfae: b29b uxth r3, r3 804bfb0: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bfb4: fb12 f303 smulbb r3, r2, r3 804bfb8: b29a uxth r2, r3 804bfba: 4b4f ldr r3, [pc, #316] ; (804c0f8 ) 804bfbc: 881b ldrh r3, [r3, #0] 804bfbe: b29b uxth r3, r3 804bfc0: 4413 add r3, r2 804bfc2: b29a uxth r2, r3 804bfc4: 4b49 ldr r3, [pc, #292] ; (804c0ec ) 804bfc6: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804bfc8: 4b49 ldr r3, [pc, #292] ; (804c0f0 ) 804bfca: 681b ldr r3, [r3, #0] 804bfcc: 2b7f cmp r3, #127 ; 0x7f 804bfce: d83b bhi.n 804c048 804bfd0: 4b48 ldr r3, [pc, #288] ; (804c0f4 ) 804bfd2: 881b ldrh r3, [r3, #0] 804bfd4: b29b uxth r3, r3 804bfd6: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bfda: 429a cmp r2, r3 804bfdc: d834 bhi.n 804c048 { if(lX >= dX) 804bfde: 4b46 ldr r3, [pc, #280] ; (804c0f8 ) 804bfe0: 881b ldrh r3, [r3, #0] 804bfe2: b29b uxth r3, r3 804bfe4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804bfe8: 429a cmp r2, r3 804bfea: d875 bhi.n 804c0d8 { CURSOR++; 804bfec: 4b40 ldr r3, [pc, #256] ; (804c0f0 ) 804bfee: 681b ldr r3, [r3, #0] 804bff0: 3301 adds r3, #1 804bff2: 4a3f ldr r2, [pc, #252] ; (804c0f0 ) 804bff4: 6013 str r3, [r2, #0] X0 -= dX; 804bff6: 4b3f ldr r3, [pc, #252] ; (804c0f4 ) 804bff8: 881b ldrh r3, [r3, #0] 804bffa: b29a uxth r2, r3 804bffc: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c000: 1ad3 subs r3, r2, r3 804c002: b29a uxth r2, r3 804c004: 4b3b ldr r3, [pc, #236] ; (804c0f4 ) 804c006: 801a strh r2, [r3, #0] lX = X0; 804c008: 4b3a ldr r3, [pc, #232] ; (804c0f4 ) 804c00a: 881b ldrh r3, [r3, #0] 804c00c: b29a uxth r2, r3 804c00e: 4b3a ldr r3, [pc, #232] ; (804c0f8 ) 804c010: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c012: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c016: 021b lsls r3, r3, #8 804c018: b29a uxth r2, r3 804c01a: 4b37 ldr r3, [pc, #220] ; (804c0f8 ) 804c01c: 881b ldrh r3, [r3, #0] 804c01e: b29b uxth r3, r3 804c020: 4413 add r3, r2 804c022: b29a uxth r2, r3 804c024: 4b35 ldr r3, [pc, #212] ; (804c0fc ) 804c026: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c028: 4b35 ldr r3, [pc, #212] ; (804c100 ) 804c02a: 881b ldrh r3, [r3, #0] 804c02c: b29b uxth r3, r3 804c02e: 461a mov r2, r3 804c030: 4b31 ldr r3, [pc, #196] ; (804c0f8 ) 804c032: 881b ldrh r3, [r3, #0] 804c034: b29b uxth r3, r3 804c036: 1ad2 subs r2, r2, r3 804c038: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c03c: fb92 f3f3 sdiv r3, r2, r3 804c040: 461a mov r2, r3 804c042: 4b2b ldr r3, [pc, #172] ; (804c0f0 ) 804c044: 601a str r2, [r3, #0] if(lX >= dX) 804c046: e047 b.n 804c0d8 } } else if(CURSOR > (256 >> 1)) 804c048: 4b29 ldr r3, [pc, #164] ; (804c0f0 ) 804c04a: 681b ldr r3, [r3, #0] 804c04c: 2b80 cmp r3, #128 ; 0x80 804c04e: d943 bls.n 804c0d8 { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804c050: 4b2a ldr r3, [pc, #168] ; (804c0fc ) 804c052: 881b ldrh r3, [r3, #0] 804c054: b29b uxth r3, r3 804c056: 461a mov r2, r3 804c058: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c05c: 18d1 adds r1, r2, r3 804c05e: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804c062: 4613 mov r3, r2 804c064: 009b lsls r3, r3, #2 804c066: 4413 add r3, r2 804c068: 4a1e ldr r2, [pc, #120] ; (804c0e4 ) 804c06a: 79d2 ldrb r2, [r2, #7] 804c06c: b2d2 uxtb r2, r2 804c06e: 4413 add r3, r2 804c070: 4a1d ldr r2, [pc, #116] ; (804c0e8 ) 804c072: 3323 adds r3, #35 ; 0x23 804c074: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c078: 021b lsls r3, r3, #8 804c07a: 4299 cmp r1, r3 804c07c: dc2c bgt.n 804c0d8 { CURSOR--; 804c07e: 4b1c ldr r3, [pc, #112] ; (804c0f0 ) 804c080: 681b ldr r3, [r3, #0] 804c082: 3b01 subs r3, #1 804c084: 4a1a ldr r2, [pc, #104] ; (804c0f0 ) 804c086: 6013 str r3, [r2, #0] X0 += dX; 804c088: 4b1a ldr r3, [pc, #104] ; (804c0f4 ) 804c08a: 881b ldrh r3, [r3, #0] 804c08c: b29a uxth r2, r3 804c08e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c092: 4413 add r3, r2 804c094: b29a uxth r2, r3 804c096: 4b17 ldr r3, [pc, #92] ; (804c0f4 ) 804c098: 801a strh r2, [r3, #0] lX = X0; 804c09a: 4b16 ldr r3, [pc, #88] ; (804c0f4 ) 804c09c: 881b ldrh r3, [r3, #0] 804c09e: b29a uxth r2, r3 804c0a0: 4b15 ldr r3, [pc, #84] ; (804c0f8 ) 804c0a2: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c0a4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c0a8: 021b lsls r3, r3, #8 804c0aa: b29a uxth r2, r3 804c0ac: 4b12 ldr r3, [pc, #72] ; (804c0f8 ) 804c0ae: 881b ldrh r3, [r3, #0] 804c0b0: b29b uxth r3, r3 804c0b2: 4413 add r3, r2 804c0b4: b29a uxth r2, r3 804c0b6: 4b11 ldr r3, [pc, #68] ; (804c0fc ) 804c0b8: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c0ba: 4b11 ldr r3, [pc, #68] ; (804c100 ) 804c0bc: 881b ldrh r3, [r3, #0] 804c0be: b29b uxth r3, r3 804c0c0: 461a mov r2, r3 804c0c2: 4b0d ldr r3, [pc, #52] ; (804c0f8 ) 804c0c4: 881b ldrh r3, [r3, #0] 804c0c6: b29b uxth r3, r3 804c0c8: 1ad2 subs r2, r2, r3 804c0ca: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c0ce: fb92 f3f3 sdiv r3, r2, r3 804c0d2: 461a mov r2, r3 804c0d4: 4b06 ldr r3, [pc, #24] ; (804c0f0 ) 804c0d6: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804c0d8: 4b0a ldr r3, [pc, #40] ; (804c104 ) 804c0da: 2201 movs r2, #1 804c0dc: 701a strb r2, [r3, #0] } break; 804c0de: e366 b.n 804c7ae 804c0e0: 20020f74 .word 0x20020f74 804c0e4: 20023e60 .word 0x20023e60 804c0e8: 080ee828 .word 0x080ee828 804c0ec: 20025d16 .word 0x20025d16 804c0f0: 2002006c .word 0x2002006c 804c0f4: 20025d1e .word 0x20025d1e 804c0f8: 20025d1a .word 0x20025d1a 804c0fc: 20025d20 .word 0x20025d20 804c100: 20025d1c .word 0x20025d1c 804c104: 2002098c .word 0x2002098c case ZoomOut: lvl_0 = 0; 804c108: 2300 movs r3, #0 804c10a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804c10e: 2304 movs r3, #4 804c110: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804c114: 4ba5 ldr r3, [pc, #660] ; (804c3ac ) 804c116: 781b ldrb r3, [r3, #0] 804c118: b2db uxtb r3, r3 804c11a: 461a mov r2, r3 804c11c: 4613 mov r3, r2 804c11e: 009b lsls r3, r3, #2 804c120: 4413 add r3, r2 804c122: 4aa3 ldr r2, [pc, #652] ; (804c3b0 ) 804c124: 79d2 ldrb r2, [r2, #7] 804c126: b2d2 uxtb r2, r2 804c128: 4413 add r3, r2 804c12a: 4aa2 ldr r2, [pc, #648] ; (804c3b4 ) 804c12c: 3323 adds r3, #35 ; 0x23 804c12e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c132: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804c136: 4b9d ldr r3, [pc, #628] ; (804c3ac ) 804c138: 781b ldrb r3, [r3, #0] 804c13a: b2db uxtb r3, r3 804c13c: 2b00 cmp r3, #0 804c13e: f000 8339 beq.w 804c7b4 { ViewLevel--; 804c142: 4b9a ldr r3, [pc, #616] ; (804c3ac ) 804c144: 781b ldrb r3, [r3, #0] 804c146: b2db uxtb r3, r3 804c148: 3b01 subs r3, #1 804c14a: b2da uxtb r2, r3 804c14c: 4b97 ldr r3, [pc, #604] ; (804c3ac ) 804c14e: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804c150: 4b96 ldr r3, [pc, #600] ; (804c3ac ) 804c152: 781b ldrb r3, [r3, #0] 804c154: b2db uxtb r3, r3 804c156: 461a mov r2, r3 804c158: 4613 mov r3, r2 804c15a: 009b lsls r3, r3, #2 804c15c: 4413 add r3, r2 804c15e: 4a94 ldr r2, [pc, #592] ; (804c3b0 ) 804c160: 79d2 ldrb r2, [r2, #7] 804c162: b2d2 uxtb r2, r2 804c164: 4413 add r3, r2 804c166: 4a93 ldr r2, [pc, #588] ; (804c3b4 ) 804c168: 3323 adds r3, #35 ; 0x23 804c16a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c16e: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804c172: 4b8e ldr r3, [pc, #568] ; (804c3ac ) 804c174: 781b ldrb r3, [r3, #0] 804c176: b2db uxtb r3, r3 804c178: 2b00 cmp r3, #0 804c17a: d130 bne.n 804c1de { X0 = lX = 0; 804c17c: 2100 movs r1, #0 804c17e: 4b8e ldr r3, [pc, #568] ; (804c3b8 ) 804c180: 460a mov r2, r1 804c182: 801a strh r2, [r3, #0] 804c184: 4b8d ldr r3, [pc, #564] ; (804c3bc ) 804c186: 460a mov r2, r1 804c188: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c18a: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c18e: 021b lsls r3, r3, #8 804c190: b29a uxth r2, r3 804c192: 4b89 ldr r3, [pc, #548] ; (804c3b8 ) 804c194: 881b ldrh r3, [r3, #0] 804c196: b29b uxth r3, r3 804c198: 4413 add r3, r2 804c19a: b29a uxth r2, r3 804c19c: 4b88 ldr r3, [pc, #544] ; (804c3c0 ) 804c19e: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c1a0: 4b88 ldr r3, [pc, #544] ; (804c3c4 ) 804c1a2: 881b ldrh r3, [r3, #0] 804c1a4: b29b uxth r3, r3 804c1a6: 461a mov r2, r3 804c1a8: 4b83 ldr r3, [pc, #524] ; (804c3b8 ) 804c1aa: 881b ldrh r3, [r3, #0] 804c1ac: b29b uxth r3, r3 804c1ae: 1ad2 subs r2, r2, r3 804c1b0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c1b4: fb92 f3f3 sdiv r3, r2, r3 804c1b8: 461a mov r2, r3 804c1ba: 4b83 ldr r3, [pc, #524] ; (804c3c8 ) 804c1bc: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804c1be: 4b82 ldr r3, [pc, #520] ; (804c3c8 ) 804c1c0: 681b ldr r3, [r3, #0] 804c1c2: b29b uxth r3, r3 804c1c4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c1c8: fb12 f303 smulbb r3, r2, r3 804c1cc: b29a uxth r2, r3 804c1ce: 4b7b ldr r3, [pc, #492] ; (804c3bc ) 804c1d0: 881b ldrh r3, [r3, #0] 804c1d2: b29b uxth r3, r3 804c1d4: 4413 add r3, r2 804c1d6: b29a uxth r2, r3 804c1d8: 4b7c ldr r3, [pc, #496] ; (804c3cc ) 804c1da: 801a strh r2, [r3, #0] 804c1dc: e090 b.n 804c300 } else { if(CURSOR * dX > Mpos) 804c1de: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c1e2: 4a79 ldr r2, [pc, #484] ; (804c3c8 ) 804c1e4: 6812 ldr r2, [r2, #0] 804c1e6: fb02 f303 mul.w r3, r2, r3 804c1ea: 4a78 ldr r2, [pc, #480] ; (804c3cc ) 804c1ec: 8812 ldrh r2, [r2, #0] 804c1ee: b292 uxth r2, r2 804c1f0: 4293 cmp r3, r2 804c1f2: d91f bls.n 804c234 { while(CURSOR * dX > Mpos) 804c1f4: e004 b.n 804c200 CURSOR--; 804c1f6: 4b74 ldr r3, [pc, #464] ; (804c3c8 ) 804c1f8: 681b ldr r3, [r3, #0] 804c1fa: 3b01 subs r3, #1 804c1fc: 4a72 ldr r2, [pc, #456] ; (804c3c8 ) 804c1fe: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804c200: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c204: 4a70 ldr r2, [pc, #448] ; (804c3c8 ) 804c206: 6812 ldr r2, [r2, #0] 804c208: fb02 f303 mul.w r3, r2, r3 804c20c: 4a6f ldr r2, [pc, #444] ; (804c3cc ) 804c20e: 8812 ldrh r2, [r2, #0] 804c210: b292 uxth r2, r2 804c212: 4293 cmp r3, r2 804c214: d8ef bhi.n 804c1f6 Mpos = X0 + CURSOR * dX; 804c216: 4b6c ldr r3, [pc, #432] ; (804c3c8 ) 804c218: 681b ldr r3, [r3, #0] 804c21a: b29b uxth r3, r3 804c21c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c220: fb12 f303 smulbb r3, r2, r3 804c224: b29a uxth r2, r3 804c226: 4b65 ldr r3, [pc, #404] ; (804c3bc ) 804c228: 881b ldrh r3, [r3, #0] 804c22a: b29b uxth r3, r3 804c22c: 4413 add r3, r2 804c22e: b29a uxth r2, r3 804c230: 4b66 ldr r3, [pc, #408] ; (804c3cc ) 804c232: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804c234: 4b65 ldr r3, [pc, #404] ; (804c3cc ) 804c236: 881b ldrh r3, [r3, #0] 804c238: b29b uxth r3, r3 804c23a: 4619 mov r1, r3 804c23c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c240: 4a61 ldr r2, [pc, #388] ; (804c3c8 ) 804c242: 6812 ldr r2, [r2, #0] 804c244: fb02 f303 mul.w r3, r2, r3 804c248: 1acb subs r3, r1, r3 804c24a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804c24e: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c252: 021b lsls r3, r3, #8 804c254: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804c258: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804c25c: 4613 mov r3, r2 804c25e: 009b lsls r3, r3, #2 804c260: 4413 add r3, r2 804c262: 4a53 ldr r2, [pc, #332] ; (804c3b0 ) 804c264: 79d2 ldrb r2, [r2, #7] 804c266: b2d2 uxtb r2, r2 804c268: 4413 add r3, r2 804c26a: 4a52 ldr r2, [pc, #328] ; (804c3b4 ) 804c26c: 3323 adds r3, #35 ; 0x23 804c26e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c272: 021b lsls r3, r3, #8 804c274: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804c278: e006 b.n 804c288 i -= dXold; 804c27a: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804c27e: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c282: 1ad3 subs r3, r2, r3 804c284: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804c288: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c28c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804c290: 441a add r2, r3 804c292: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c296: 429a cmp r2, r3 804c298: d8ef bhi.n 804c27a } X0 = (uint16_t) i; 804c29a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804c29e: b29a uxth r2, r3 804c2a0: 4b46 ldr r3, [pc, #280] ; (804c3bc ) 804c2a2: 801a strh r2, [r3, #0] lX = X0; 804c2a4: 4b45 ldr r3, [pc, #276] ; (804c3bc ) 804c2a6: 881b ldrh r3, [r3, #0] 804c2a8: b29a uxth r2, r3 804c2aa: 4b43 ldr r3, [pc, #268] ; (804c3b8 ) 804c2ac: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804c2ae: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c2b2: 021b lsls r3, r3, #8 804c2b4: b29a uxth r2, r3 804c2b6: 4b40 ldr r3, [pc, #256] ; (804c3b8 ) 804c2b8: 881b ldrh r3, [r3, #0] 804c2ba: b29b uxth r3, r3 804c2bc: 4413 add r3, r2 804c2be: b29a uxth r2, r3 804c2c0: 4b3f ldr r3, [pc, #252] ; (804c3c0 ) 804c2c2: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804c2c4: 4b3f ldr r3, [pc, #252] ; (804c3c4 ) 804c2c6: 881b ldrh r3, [r3, #0] 804c2c8: b29b uxth r3, r3 804c2ca: 461a mov r2, r3 804c2cc: 4b3a ldr r3, [pc, #232] ; (804c3b8 ) 804c2ce: 881b ldrh r3, [r3, #0] 804c2d0: b29b uxth r3, r3 804c2d2: 1ad2 subs r2, r2, r3 804c2d4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804c2d8: fb92 f3f3 sdiv r3, r2, r3 804c2dc: 461a mov r2, r3 804c2de: 4b3a ldr r3, [pc, #232] ; (804c3c8 ) 804c2e0: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804c2e2: 4b39 ldr r3, [pc, #228] ; (804c3c8 ) 804c2e4: 681b ldr r3, [r3, #0] 804c2e6: b29b uxth r3, r3 804c2e8: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804c2ec: fb12 f303 smulbb r3, r2, r3 804c2f0: b29a uxth r2, r3 804c2f2: 4b32 ldr r3, [pc, #200] ; (804c3bc ) 804c2f4: 881b ldrh r3, [r3, #0] 804c2f6: b29b uxth r3, r3 804c2f8: 4413 add r3, r2 804c2fa: b29a uxth r2, r3 804c2fc: 4b33 ldr r3, [pc, #204] ; (804c3cc ) 804c2fe: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804c300: 4b33 ldr r3, [pc, #204] ; (804c3d0 ) 804c302: 2201 movs r2, #1 804c304: 701a strb r2, [r3, #0] } break; 804c306: e255 b.n 804c7b4 case Cursor: AUTOZOOM = true; 804c308: 4b31 ldr r3, [pc, #196] ; (804c3d0 ) 804c30a: 2201 movs r2, #1 804c30c: 701a strb r2, [r3, #0] break; 804c30e: e255 b.n 804c7bc case SaveSpec: if(CardState == MSD_READY) 804c310: 4b30 ldr r3, [pc, #192] ; (804c3d4 ) 804c312: 781b ldrb r3, [r3, #0] 804c314: b2db uxtb r3, r3 804c316: 2b03 cmp r3, #3 804c318: f040 8221 bne.w 804c75e { if(!measuring) 804c31c: 4b2e ldr r3, [pc, #184] ; (804c3d8 ) 804c31e: 781b ldrb r3, [r3, #0] 804c320: b2db uxtb r3, r3 804c322: f083 0301 eor.w r3, r3, #1 804c326: b2db uxtb r3, r3 804c328: 2b00 cmp r3, #0 804c32a: f000 8246 beq.w 804c7ba { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804c32e: 2200 movs r2, #0 804c330: 492a ldr r1, [pc, #168] ; (804c3dc ) 804c332: 482b ldr r0, [pc, #172] ; (804c3e0 ) 804c334: f06c fc74 bl 80b8c20 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804c338: 2200 movs r2, #0 804c33a: 492a ldr r1, [pc, #168] ; (804c3e4 ) 804c33c: 4828 ldr r0, [pc, #160] ; (804c3e0 ) 804c33e: f06c fd75 bl 80b8e2c Day = RTC_DateStruct.Date; 804c342: 4b28 ldr r3, [pc, #160] ; (804c3e4 ) 804c344: 789b ldrb r3, [r3, #2] 804c346: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804c34a: 4b26 ldr r3, [pc, #152] ; (804c3e4 ) 804c34c: 785b ldrb r3, [r3, #1] 804c34e: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804c352: 4b24 ldr r3, [pc, #144] ; (804c3e4 ) 804c354: 78db ldrb r3, [r3, #3] 804c356: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804c35a: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804c35e: 4b1f ldr r3, [pc, #124] ; (804c3dc ) 804c360: 781b ldrb r3, [r3, #0] 804c362: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804c366: 4b1d ldr r3, [pc, #116] ; (804c3dc ) 804c368: 785b ldrb r3, [r3, #1] 804c36a: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804c36c: 4b1b ldr r3, [pc, #108] ; (804c3dc ) 804c36e: 789b ldrb r3, [r3, #2] 804c370: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804c372: 2221 movs r2, #33 ; 0x21 804c374: 2100 movs r1, #0 804c376: 481c ldr r0, [pc, #112] ; (804c3e8 ) 804c378: f080 fe82 bl 80cd080 strcpy(TEMP_MeasFileName,"FFT_"); 804c37c: 4b1a ldr r3, [pc, #104] ; (804c3e8 ) 804c37e: 4a1b ldr r2, [pc, #108] ; (804c3ec ) 804c380: 6810 ldr r0, [r2, #0] 804c382: 6018 str r0, [r3, #0] 804c384: 7912 ldrb r2, [r2, #4] 804c386: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804c388: 4b09 ldr r3, [pc, #36] ; (804c3b0 ) 804c38a: 785b ldrb r3, [r3, #1] 804c38c: b2db uxtb r3, r3 804c38e: 2b00 cmp r3, #0 804c390: d130 bne.n 804c3f4 804c392: 4815 ldr r0, [pc, #84] ; (804c3e8 ) 804c394: f7d3 ffbe bl 8020314 804c398: 4603 mov r3, r0 804c39a: 461a mov r2, r3 804c39c: 4b12 ldr r3, [pc, #72] ; (804c3e8 ) 804c39e: 4413 add r3, r2 804c3a0: 4913 ldr r1, [pc, #76] ; (804c3f0 ) 804c3a2: 461a mov r2, r3 804c3a4: 460b mov r3, r1 804c3a6: 881b ldrh r3, [r3, #0] 804c3a8: 8013 strh r3, [r2, #0] 804c3aa: e046 b.n 804c43a 804c3ac: 20020f74 .word 0x20020f74 804c3b0: 20023e60 .word 0x20023e60 804c3b4: 080ee828 .word 0x080ee828 804c3b8: 20025d1a .word 0x20025d1a 804c3bc: 20025d1e .word 0x20025d1e 804c3c0: 20025d20 .word 0x20025d20 804c3c4: 20025d1c .word 0x20025d1c 804c3c8: 2002006c .word 0x2002006c 804c3cc: 20025d16 .word 0x20025d16 804c3d0: 2002098c .word 0x2002098c 804c3d4: 2002164c .word 0x2002164c 804c3d8: 20020daf .word 0x20020daf 804c3dc: 20025c68 .word 0x20025c68 804c3e0: 20068598 .word 0x20068598 804c3e4: 20025cec .word 0x20025cec 804c3e8: 20025c80 .word 0x20025c80 804c3ec: 080ce664 .word 0x080ce664 804c3f0: 080ce66c .word 0x080ce66c else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804c3f4: 4b28 ldr r3, [pc, #160] ; (804c498 ) 804c3f6: 785b ldrb r3, [r3, #1] 804c3f8: b2db uxtb r3, r3 804c3fa: 2b01 cmp r3, #1 804c3fc: d10c bne.n 804c418 804c3fe: 4827 ldr r0, [pc, #156] ; (804c49c ) 804c400: f7d3 ff88 bl 8020314 804c404: 4603 mov r3, r0 804c406: 461a mov r2, r3 804c408: 4b24 ldr r3, [pc, #144] ; (804c49c ) 804c40a: 4413 add r3, r2 804c40c: 4924 ldr r1, [pc, #144] ; (804c4a0 ) 804c40e: 461a mov r2, r3 804c410: 460b mov r3, r1 804c412: 881b ldrh r3, [r3, #0] 804c414: 8013 strh r3, [r2, #0] 804c416: e010 b.n 804c43a else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804c418: 4b1f ldr r3, [pc, #124] ; (804c498 ) 804c41a: 785b ldrb r3, [r3, #1] 804c41c: b2db uxtb r3, r3 804c41e: 2b02 cmp r3, #2 804c420: d10b bne.n 804c43a 804c422: 481e ldr r0, [pc, #120] ; (804c49c ) 804c424: f7d3 ff76 bl 8020314 804c428: 4603 mov r3, r0 804c42a: 461a mov r2, r3 804c42c: 4b1b ldr r3, [pc, #108] ; (804c49c ) 804c42e: 4413 add r3, r2 804c430: 491c ldr r1, [pc, #112] ; (804c4a4 ) 804c432: 461a mov r2, r3 804c434: 460b mov r3, r1 804c436: 881b ldrh r3, [r3, #0] 804c438: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804c43a: 4b17 ldr r3, [pc, #92] ; (804c498 ) 804c43c: 785b ldrb r3, [r3, #1] 804c43e: b2db uxtb r3, r3 804c440: 461a mov r2, r3 804c442: 4b15 ldr r3, [pc, #84] ; (804c498 ) 804c444: 4413 add r3, r2 804c446: 789b ldrb r3, [r3, #2] 804c448: b2db uxtb r3, r3 804c44a: 2b00 cmp r3, #0 804c44c: d10c bne.n 804c468 804c44e: 4813 ldr r0, [pc, #76] ; (804c49c ) 804c450: f7d3 ff60 bl 8020314 804c454: 4603 mov r3, r0 804c456: 461a mov r2, r3 804c458: 4b10 ldr r3, [pc, #64] ; (804c49c ) 804c45a: 4413 add r3, r2 804c45c: 4a12 ldr r2, [pc, #72] ; (804c4a8 ) 804c45e: 6810 ldr r0, [r2, #0] 804c460: 6018 str r0, [r3, #0] 804c462: 7912 ldrb r2, [r2, #4] 804c464: 711a strb r2, [r3, #4] 804c466: e03b b.n 804c4e0 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804c468: 4b0b ldr r3, [pc, #44] ; (804c498 ) 804c46a: 785b ldrb r3, [r3, #1] 804c46c: b2db uxtb r3, r3 804c46e: 461a mov r2, r3 804c470: 4b09 ldr r3, [pc, #36] ; (804c498 ) 804c472: 4413 add r3, r2 804c474: 789b ldrb r3, [r3, #2] 804c476: b2db uxtb r3, r3 804c478: 2b01 cmp r3, #1 804c47a: d119 bne.n 804c4b0 804c47c: 4807 ldr r0, [pc, #28] ; (804c49c ) 804c47e: f7d3 ff49 bl 8020314 804c482: 4603 mov r3, r0 804c484: 461a mov r2, r3 804c486: 4b05 ldr r3, [pc, #20] ; (804c49c ) 804c488: 4413 add r3, r2 804c48a: 4a08 ldr r2, [pc, #32] ; (804c4ac ) 804c48c: 6810 ldr r0, [r2, #0] 804c48e: 6018 str r0, [r3, #0] 804c490: 8892 ldrh r2, [r2, #4] 804c492: 809a strh r2, [r3, #4] 804c494: e024 b.n 804c4e0 804c496: bf00 nop 804c498: 20023e60 .word 0x20023e60 804c49c: 20025c80 .word 0x20025c80 804c4a0: 080ce670 .word 0x080ce670 804c4a4: 080ce674 .word 0x080ce674 804c4a8: 080ce678 .word 0x080ce678 804c4ac: 080ce680 .word 0x080ce680 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804c4b0: 4bb0 ldr r3, [pc, #704] ; (804c774 ) 804c4b2: 785b ldrb r3, [r3, #1] 804c4b4: b2db uxtb r3, r3 804c4b6: 461a mov r2, r3 804c4b8: 4bae ldr r3, [pc, #696] ; (804c774 ) 804c4ba: 4413 add r3, r2 804c4bc: 789b ldrb r3, [r3, #2] 804c4be: b2db uxtb r3, r3 804c4c0: 2b02 cmp r3, #2 804c4c2: d10d bne.n 804c4e0 804c4c4: 48ac ldr r0, [pc, #688] ; (804c778 ) 804c4c6: f7d3 ff25 bl 8020314 804c4ca: 4603 mov r3, r0 804c4cc: 461a mov r2, r3 804c4ce: 4baa ldr r3, [pc, #680] ; (804c778 ) 804c4d0: 4413 add r3, r2 804c4d2: 4aaa ldr r2, [pc, #680] ; (804c77c ) 804c4d4: 6810 ldr r0, [r2, #0] 804c4d6: 6018 str r0, [r3, #0] 804c4d8: 8891 ldrh r1, [r2, #4] 804c4da: 7992 ldrb r2, [r2, #6] 804c4dc: 8099 strh r1, [r3, #4] 804c4de: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804c4e0: 48a5 ldr r0, [pc, #660] ; (804c778 ) 804c4e2: f7d3 ff17 bl 8020314 804c4e6: 4602 mov r2, r0 804c4e8: 4ba5 ldr r3, [pc, #660] ; (804c780 ) 804c4ea: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804c4ec: 4ba4 ldr r3, [pc, #656] ; (804c780 ) 804c4ee: 681b ldr r3, [r3, #0] 804c4f0: 1c5a adds r2, r3, #1 804c4f2: 49a3 ldr r1, [pc, #652] ; (804c780 ) 804c4f4: 600a str r2, [r1, #0] 804c4f6: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804c4fa: 49a2 ldr r1, [pc, #648] ; (804c784 ) 804c4fc: fba1 1202 umull r1, r2, r1, r2 804c500: 0992 lsrs r2, r2, #6 804c502: b2d2 uxtb r2, r2 804c504: 3230 adds r2, #48 ; 0x30 804c506: b2d1 uxtb r1, r2 804c508: 4a9b ldr r2, [pc, #620] ; (804c778 ) 804c50a: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804c50c: 4b9c ldr r3, [pc, #624] ; (804c780 ) 804c50e: 681a ldr r2, [r3, #0] 804c510: 1c53 adds r3, r2, #1 804c512: 499b ldr r1, [pc, #620] ; (804c780 ) 804c514: 600b str r3, [r1, #0] 804c516: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804c51a: 4b9a ldr r3, [pc, #616] ; (804c784 ) 804c51c: fba3 0301 umull r0, r3, r3, r1 804c520: 099b lsrs r3, r3, #6 804c522: f44f 707a mov.w r0, #1000 ; 0x3e8 804c526: fb00 f303 mul.w r3, r0, r3 804c52a: 1acb subs r3, r1, r3 804c52c: 4996 ldr r1, [pc, #600] ; (804c788 ) 804c52e: fba1 1303 umull r1, r3, r1, r3 804c532: 095b lsrs r3, r3, #5 804c534: b2db uxtb r3, r3 804c536: 3330 adds r3, #48 ; 0x30 804c538: b2d9 uxtb r1, r3 804c53a: 4b8f ldr r3, [pc, #572] ; (804c778 ) 804c53c: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804c53e: 4b90 ldr r3, [pc, #576] ; (804c780 ) 804c540: 6819 ldr r1, [r3, #0] 804c542: 1c4b adds r3, r1, #1 804c544: 4a8e ldr r2, [pc, #568] ; (804c780 ) 804c546: 6013 str r3, [r2, #0] 804c548: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804c54c: 4b8d ldr r3, [pc, #564] ; (804c784 ) 804c54e: fba3 0302 umull r0, r3, r3, r2 804c552: 099b lsrs r3, r3, #6 804c554: f44f 707a mov.w r0, #1000 ; 0x3e8 804c558: fb00 f303 mul.w r3, r0, r3 804c55c: 1ad3 subs r3, r2, r3 804c55e: 4a8a ldr r2, [pc, #552] ; (804c788 ) 804c560: fba2 0203 umull r0, r2, r2, r3 804c564: 0952 lsrs r2, r2, #5 804c566: 2064 movs r0, #100 ; 0x64 804c568: fb00 f202 mul.w r2, r0, r2 804c56c: 1a9a subs r2, r3, r2 804c56e: 4b87 ldr r3, [pc, #540] ; (804c78c ) 804c570: fba3 2302 umull r2, r3, r3, r2 804c574: 08db lsrs r3, r3, #3 804c576: b2db uxtb r3, r3 804c578: 3330 adds r3, #48 ; 0x30 804c57a: b2da uxtb r2, r3 804c57c: 4b7e ldr r3, [pc, #504] ; (804c778 ) 804c57e: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804c580: 4b7f ldr r3, [pc, #508] ; (804c780 ) 804c582: 6818 ldr r0, [r3, #0] 804c584: 1c43 adds r3, r0, #1 804c586: 4a7e ldr r2, [pc, #504] ; (804c780 ) 804c588: 6013 str r3, [r2, #0] 804c58a: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804c58e: 4b7d ldr r3, [pc, #500] ; (804c784 ) 804c590: fba3 1302 umull r1, r3, r3, r2 804c594: 099b lsrs r3, r3, #6 804c596: f44f 717a mov.w r1, #1000 ; 0x3e8 804c59a: fb01 f303 mul.w r3, r1, r3 804c59e: 1ad3 subs r3, r2, r3 804c5a0: 4a79 ldr r2, [pc, #484] ; (804c788 ) 804c5a2: fba2 1203 umull r1, r2, r2, r3 804c5a6: 0952 lsrs r2, r2, #5 804c5a8: 2164 movs r1, #100 ; 0x64 804c5aa: fb01 f202 mul.w r2, r1, r2 804c5ae: 1a9a subs r2, r3, r2 804c5b0: 4b76 ldr r3, [pc, #472] ; (804c78c ) 804c5b2: fba3 1302 umull r1, r3, r3, r2 804c5b6: 08d9 lsrs r1, r3, #3 804c5b8: 460b mov r3, r1 804c5ba: 009b lsls r3, r3, #2 804c5bc: 440b add r3, r1 804c5be: 005b lsls r3, r3, #1 804c5c0: 1ad1 subs r1, r2, r3 804c5c2: b2cb uxtb r3, r1 804c5c4: 3330 adds r3, #48 ; 0x30 804c5c6: b2da uxtb r2, r3 804c5c8: 4b6b ldr r3, [pc, #428] ; (804c778 ) 804c5ca: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804c5cc: 4b6c ldr r3, [pc, #432] ; (804c780 ) 804c5ce: 681b ldr r3, [r3, #0] 804c5d0: 1c5a adds r2, r3, #1 804c5d2: 496b ldr r1, [pc, #428] ; (804c780 ) 804c5d4: 600a str r2, [r1, #0] 804c5d6: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804c5da: 496c ldr r1, [pc, #432] ; (804c78c ) 804c5dc: fba1 1202 umull r1, r2, r1, r2 804c5e0: 08d2 lsrs r2, r2, #3 804c5e2: b2d2 uxtb r2, r2 804c5e4: 3230 adds r2, #48 ; 0x30 804c5e6: b2d1 uxtb r1, r2 804c5e8: 4a63 ldr r2, [pc, #396] ; (804c778 ) 804c5ea: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804c5ec: 4b64 ldr r3, [pc, #400] ; (804c780 ) 804c5ee: 6819 ldr r1, [r3, #0] 804c5f0: 1c4b adds r3, r1, #1 804c5f2: 4a63 ldr r2, [pc, #396] ; (804c780 ) 804c5f4: 6013 str r3, [r2, #0] 804c5f6: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804c5fa: 4b64 ldr r3, [pc, #400] ; (804c78c ) 804c5fc: fba3 2300 umull r2, r3, r3, r0 804c600: 08da lsrs r2, r3, #3 804c602: 4613 mov r3, r2 804c604: 009b lsls r3, r3, #2 804c606: 4413 add r3, r2 804c608: 005b lsls r3, r3, #1 804c60a: 1ac2 subs r2, r0, r3 804c60c: b2d3 uxtb r3, r2 804c60e: 3330 adds r3, #48 ; 0x30 804c610: b2da uxtb r2, r3 804c612: 4b59 ldr r3, [pc, #356] ; (804c778 ) 804c614: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804c616: 4b5a ldr r3, [pc, #360] ; (804c780 ) 804c618: 681b ldr r3, [r3, #0] 804c61a: 1c5a adds r2, r3, #1 804c61c: 4958 ldr r1, [pc, #352] ; (804c780 ) 804c61e: 600a str r2, [r1, #0] 804c620: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804c624: 4959 ldr r1, [pc, #356] ; (804c78c ) 804c626: fba1 1202 umull r1, r2, r1, r2 804c62a: 08d2 lsrs r2, r2, #3 804c62c: b2d2 uxtb r2, r2 804c62e: 3230 adds r2, #48 ; 0x30 804c630: b2d1 uxtb r1, r2 804c632: 4a51 ldr r2, [pc, #324] ; (804c778 ) 804c634: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804c636: 4b52 ldr r3, [pc, #328] ; (804c780 ) 804c638: 6819 ldr r1, [r3, #0] 804c63a: 1c4b adds r3, r1, #1 804c63c: 4a50 ldr r2, [pc, #320] ; (804c780 ) 804c63e: 6013 str r3, [r2, #0] 804c640: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804c644: 4b51 ldr r3, [pc, #324] ; (804c78c ) 804c646: fba3 2300 umull r2, r3, r3, r0 804c64a: 08da lsrs r2, r3, #3 804c64c: 4613 mov r3, r2 804c64e: 009b lsls r3, r3, #2 804c650: 4413 add r3, r2 804c652: 005b lsls r3, r3, #1 804c654: 1ac2 subs r2, r0, r3 804c656: b2d3 uxtb r3, r2 804c658: 3330 adds r3, #48 ; 0x30 804c65a: b2da uxtb r2, r3 804c65c: 4b46 ldr r3, [pc, #280] ; (804c778 ) 804c65e: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804c660: 4b47 ldr r3, [pc, #284] ; (804c780 ) 804c662: 681b ldr r3, [r3, #0] 804c664: 1c5a adds r2, r3, #1 804c666: 4946 ldr r1, [pc, #280] ; (804c780 ) 804c668: 600a str r2, [r1, #0] 804c66a: 4a43 ldr r2, [pc, #268] ; (804c778 ) 804c66c: 215f movs r1, #95 ; 0x5f 804c66e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804c670: 4b43 ldr r3, [pc, #268] ; (804c780 ) 804c672: 681b ldr r3, [r3, #0] 804c674: 1c5a adds r2, r3, #1 804c676: 4942 ldr r1, [pc, #264] ; (804c780 ) 804c678: 600a str r2, [r1, #0] 804c67a: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804c67e: 4943 ldr r1, [pc, #268] ; (804c78c ) 804c680: fba1 1202 umull r1, r2, r1, r2 804c684: 08d2 lsrs r2, r2, #3 804c686: b2d2 uxtb r2, r2 804c688: 3230 adds r2, #48 ; 0x30 804c68a: b2d1 uxtb r1, r2 804c68c: 4a3a ldr r2, [pc, #232] ; (804c778 ) 804c68e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804c690: 4b3b ldr r3, [pc, #236] ; (804c780 ) 804c692: 6819 ldr r1, [r3, #0] 804c694: 1c4b adds r3, r1, #1 804c696: 4a3a ldr r2, [pc, #232] ; (804c780 ) 804c698: 6013 str r3, [r2, #0] 804c69a: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804c69e: 4b3b ldr r3, [pc, #236] ; (804c78c ) 804c6a0: fba3 2300 umull r2, r3, r3, r0 804c6a4: 08da lsrs r2, r3, #3 804c6a6: 4613 mov r3, r2 804c6a8: 009b lsls r3, r3, #2 804c6aa: 4413 add r3, r2 804c6ac: 005b lsls r3, r3, #1 804c6ae: 1ac2 subs r2, r0, r3 804c6b0: b2d3 uxtb r3, r2 804c6b2: 3330 adds r3, #48 ; 0x30 804c6b4: b2da uxtb r2, r3 804c6b6: 4b30 ldr r3, [pc, #192] ; (804c778 ) 804c6b8: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804c6ba: 4b31 ldr r3, [pc, #196] ; (804c780 ) 804c6bc: 681b ldr r3, [r3, #0] 804c6be: 1c5a adds r2, r3, #1 804c6c0: 492f ldr r1, [pc, #188] ; (804c780 ) 804c6c2: 600a str r2, [r1, #0] 804c6c4: 6ffa ldr r2, [r7, #124] ; 0x7c 804c6c6: 4931 ldr r1, [pc, #196] ; (804c78c ) 804c6c8: fba1 1202 umull r1, r2, r1, r2 804c6cc: 08d2 lsrs r2, r2, #3 804c6ce: b2d2 uxtb r2, r2 804c6d0: 3230 adds r2, #48 ; 0x30 804c6d2: b2d1 uxtb r1, r2 804c6d4: 4a28 ldr r2, [pc, #160] ; (804c778 ) 804c6d6: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804c6d8: 4b29 ldr r3, [pc, #164] ; (804c780 ) 804c6da: 6819 ldr r1, [r3, #0] 804c6dc: 1c4b adds r3, r1, #1 804c6de: 4a28 ldr r2, [pc, #160] ; (804c780 ) 804c6e0: 6013 str r3, [r2, #0] 804c6e2: 6ff8 ldr r0, [r7, #124] ; 0x7c 804c6e4: 4b29 ldr r3, [pc, #164] ; (804c78c ) 804c6e6: fba3 2300 umull r2, r3, r3, r0 804c6ea: 08da lsrs r2, r3, #3 804c6ec: 4613 mov r3, r2 804c6ee: 009b lsls r3, r3, #2 804c6f0: 4413 add r3, r2 804c6f2: 005b lsls r3, r3, #1 804c6f4: 1ac2 subs r2, r0, r3 804c6f6: b2d3 uxtb r3, r2 804c6f8: 3330 adds r3, #48 ; 0x30 804c6fa: b2da uxtb r2, r3 804c6fc: 4b1e ldr r3, [pc, #120] ; (804c778 ) 804c6fe: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804c700: 4b1f ldr r3, [pc, #124] ; (804c780 ) 804c702: 681b ldr r3, [r3, #0] 804c704: 1c5a adds r2, r3, #1 804c706: 491e ldr r1, [pc, #120] ; (804c780 ) 804c708: 600a str r2, [r1, #0] 804c70a: 6fba ldr r2, [r7, #120] ; 0x78 804c70c: 491f ldr r1, [pc, #124] ; (804c78c ) 804c70e: fba1 1202 umull r1, r2, r1, r2 804c712: 08d2 lsrs r2, r2, #3 804c714: b2d2 uxtb r2, r2 804c716: 3230 adds r2, #48 ; 0x30 804c718: b2d1 uxtb r1, r2 804c71a: 4a17 ldr r2, [pc, #92] ; (804c778 ) 804c71c: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804c71e: 4b18 ldr r3, [pc, #96] ; (804c780 ) 804c720: 6819 ldr r1, [r3, #0] 804c722: 1c4b adds r3, r1, #1 804c724: 4a16 ldr r2, [pc, #88] ; (804c780 ) 804c726: 6013 str r3, [r2, #0] 804c728: 6fb8 ldr r0, [r7, #120] ; 0x78 804c72a: 4b18 ldr r3, [pc, #96] ; (804c78c ) 804c72c: fba3 2300 umull r2, r3, r3, r0 804c730: 08da lsrs r2, r3, #3 804c732: 4613 mov r3, r2 804c734: 009b lsls r3, r3, #2 804c736: 4413 add r3, r2 804c738: 005b lsls r3, r3, #1 804c73a: 1ac2 subs r2, r0, r3 804c73c: b2d3 uxtb r3, r2 804c73e: 3330 adds r3, #48 ; 0x30 804c740: b2da uxtb r2, r3 804c742: 4b0d ldr r3, [pc, #52] ; (804c778 ) 804c744: 545a strb r2, [r3, r1] lastmenu = menu; 804c746: 4b12 ldr r3, [pc, #72] ; (804c790 ) 804c748: 781b ldrb r3, [r3, #0] 804c74a: b2da uxtb r2, r3 804c74c: 4b11 ldr r3, [pc, #68] ; (804c794 ) 804c74e: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804c750: 4b0f ldr r3, [pc, #60] ; (804c790 ) 804c752: 222f movs r2, #47 ; 0x2f 804c754: 701a strb r2, [r3, #0] menupos = _ENTER; 804c756: 4b10 ldr r3, [pc, #64] ; (804c798 ) 804c758: 2226 movs r2, #38 ; 0x26 804c75a: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804c75c: e02d b.n 804c7ba STATUS = AP_NO_CARD; 804c75e: 4b0f ldr r3, [pc, #60] ; (804c79c ) 804c760: 2211 movs r2, #17 804c762: 601a str r2, [r3, #0] timerStatus = sec2; 804c764: 4b0e ldr r3, [pc, #56] ; (804c7a0 ) 804c766: f44f 5280 mov.w r2, #4096 ; 0x1000 804c76a: 801a strh r2, [r3, #0] DrawStatus = true; 804c76c: 4b0d ldr r3, [pc, #52] ; (804c7a4 ) 804c76e: 2201 movs r2, #1 804c770: 701a strb r2, [r3, #0] break; 804c772: e022 b.n 804c7ba 804c774: 20023e60 .word 0x20023e60 804c778: 20025c80 .word 0x20025c80 804c77c: 080ce688 .word 0x080ce688 804c780: 20020eec .word 0x20020eec 804c784: 10624dd3 .word 0x10624dd3 804c788: 51eb851f .word 0x51eb851f 804c78c: cccccccd .word 0xcccccccd 804c790: 20020f78 .word 0x20020f78 804c794: 20020f79 .word 0x20020f79 804c798: 20020070 .word 0x20020070 804c79c: 20020dcc .word 0x20020dcc 804c7a0: 2002168c .word 0x2002168c 804c7a4: 20020dd2 .word 0x20020dd2 break; 804c7a8: bf00 nop 804c7aa: f006 baa7 b.w 8052cfc break; 804c7ae: bf00 nop 804c7b0: f006 baa4 b.w 8052cfc break; 804c7b4: bf00 nop 804c7b6: f006 baa1 b.w 8052cfc break; 804c7ba: bf00 nop } break; 804c7bc: f006 ba9e b.w 8052cfc case MAIN_SPEC_OGIB: switch(menupos) 804c7c0: 4b82 ldr r3, [pc, #520] ; (804c9cc ) 804c7c2: 781b ldrb r3, [r3, #0] 804c7c4: b2db uxtb r3, r3 804c7c6: 2b09 cmp r3, #9 804c7c8: f206 829a bhi.w 8052d00 804c7cc: a201 add r2, pc, #4 ; (adr r2, 804c7d4 ) 804c7ce: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804c7d2: bf00 nop 804c7d4: 0804c811 .word 0x0804c811 804c7d8: 0804c7fd .word 0x0804c7fd 804c7dc: 0804c851 .word 0x0804c851 804c7e0: 0804ca09 .word 0x0804ca09 804c7e4: 0804cc3d .word 0x0804cc3d 804c7e8: 0804c8fd .word 0x0804c8fd 804c7ec: 0804ce3d .word 0x0804ce3d 804c7f0: 08052d01 .word 0x08052d01 804c7f4: 08052d01 .word 0x08052d01 804c7f8: 0804ce45 .word 0x0804ce45 { case BackMenu: StopMeas(); 804c7fc: f7d6 ffce bl 802379c menu = PARAM_SPEC; 804c800: 4b73 ldr r3, [pc, #460] ; (804c9d0 ) 804c802: 2207 movs r2, #7 804c804: 701a strb r2, [r3, #0] menupos = Ok; 804c806: 4b71 ldr r3, [pc, #452] ; (804c9cc ) 804c808: 2200 movs r2, #0 804c80a: 701a strb r2, [r3, #0] break; 804c80c: f000 bd70 b.w 804d2f0 case StartStop: if(!measuring) 804c810: 4b70 ldr r3, [pc, #448] ; (804c9d4 ) 804c812: 781b ldrb r3, [r3, #0] 804c814: b2db uxtb r3, r3 804c816: f083 0301 eor.w r3, r3, #1 804c81a: b2db uxtb r3, r3 804c81c: 2b00 cmp r3, #0 804c81e: d00b beq.n 804c838 { AUTOZOOM = true; 804c820: 4b6d ldr r3, [pc, #436] ; (804c9d8 ) 804c822: 2201 movs r2, #1 804c824: 701a strb r2, [r3, #0] FIRST = true; 804c826: 4b6d ldr r3, [pc, #436] ; (804c9dc ) 804c828: 2201 movs r2, #1 804c82a: 701a strb r2, [r3, #0] initAmplif(); 804c82c: f7d5 f932 bl 8021a94 StartMeas(); 804c830: f7d6 fc04 bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804c834: f000 bd5c b.w 804d2f0 StopMeas(); 804c838: f7d6 ffb0 bl 802379c AUTOZOOM = true; 804c83c: 4b66 ldr r3, [pc, #408] ; (804c9d8 ) 804c83e: 2201 movs r2, #1 804c840: 701a strb r2, [r3, #0] oldmenupos = menupos; 804c842: 4b62 ldr r3, [pc, #392] ; (804c9cc ) 804c844: 781b ldrb r3, [r3, #0] 804c846: b2da uxtb r2, r3 804c848: 4b65 ldr r3, [pc, #404] ; (804c9e0 ) 804c84a: 701a strb r2, [r3, #0] break; 804c84c: f000 bd50 b.w 804d2f0 case ImageLeft: if(lX) 804c850: 4b64 ldr r3, [pc, #400] ; (804c9e4 ) 804c852: 881b ldrh r3, [r3, #0] 804c854: b29b uxth r3, r3 804c856: 2b00 cmp r3, #0 804c858: f000 8540 beq.w 804d2dc { multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804c85c: 4b62 ldr r3, [pc, #392] ; (804c9e8 ) 804c85e: 781b ldrb r3, [r3, #0] 804c860: b2db uxtb r3, r3 804c862: 461a mov r2, r3 804c864: 4613 mov r3, r2 804c866: 009b lsls r3, r3, #2 804c868: 4413 add r3, r2 804c86a: 4a60 ldr r2, [pc, #384] ; (804c9ec ) 804c86c: 79d2 ldrb r2, [r2, #7] 804c86e: b2d2 uxtb r2, r2 804c870: 4413 add r3, r2 804c872: 4a5f ldr r2, [pc, #380] ; (804c9f0 ) 804c874: 3323 adds r3, #35 ; 0x23 804c876: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c87a: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804c87e: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804c882: 021b lsls r3, r3, #8 804c884: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 if(lX >= (multB_u16 >> 1)) 804c888: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c88c: 085b lsrs r3, r3, #1 804c88e: b29a uxth r2, r3 804c890: 4b54 ldr r3, [pc, #336] ; (804c9e4 ) 804c892: 881b ldrh r3, [r3, #0] 804c894: b29b uxth r3, r3 804c896: 429a cmp r2, r3 804c898: d80b bhi.n 804c8b2 X0 -= (multB_u16 >> 1); 804c89a: 4b56 ldr r3, [pc, #344] ; (804c9f4 ) 804c89c: 881b ldrh r3, [r3, #0] 804c89e: b29a uxth r2, r3 804c8a0: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c8a4: 085b lsrs r3, r3, #1 804c8a6: b29b uxth r3, r3 804c8a8: 1ad3 subs r3, r2, r3 804c8aa: b29a uxth r2, r3 804c8ac: 4b51 ldr r3, [pc, #324] ; (804c9f4 ) 804c8ae: 801a strh r2, [r3, #0] 804c8b0: e002 b.n 804c8b8 else X0 = 0; 804c8b2: 4b50 ldr r3, [pc, #320] ; (804c9f4 ) 804c8b4: 2200 movs r2, #0 804c8b6: 801a strh r2, [r3, #0] lX = X0; 804c8b8: 4b4e ldr r3, [pc, #312] ; (804c9f4 ) 804c8ba: 881b ldrh r3, [r3, #0] 804c8bc: b29a uxth r2, r3 804c8be: 4b49 ldr r3, [pc, #292] ; (804c9e4 ) 804c8c0: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804c8c2: 4b48 ldr r3, [pc, #288] ; (804c9e4 ) 804c8c4: 881b ldrh r3, [r3, #0] 804c8c6: b29a uxth r2, r3 804c8c8: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c8cc: 4413 add r3, r2 804c8ce: b29a uxth r2, r3 804c8d0: 4b49 ldr r3, [pc, #292] ; (804c9f8 ) 804c8d2: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804c8d4: 4b49 ldr r3, [pc, #292] ; (804c9fc ) 804c8d6: 681b ldr r3, [r3, #0] 804c8d8: b29b uxth r3, r3 804c8da: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804c8de: fb12 f303 smulbb r3, r2, r3 804c8e2: b29a uxth r2, r3 804c8e4: 4b43 ldr r3, [pc, #268] ; (804c9f4 ) 804c8e6: 881b ldrh r3, [r3, #0] 804c8e8: b29b uxth r3, r3 804c8ea: 4413 add r3, r2 804c8ec: b29a uxth r2, r3 804c8ee: 4b44 ldr r3, [pc, #272] ; (804ca00 ) 804c8f0: 801a strh r2, [r3, #0] AUTOZOOM = true; 804c8f2: 4b39 ldr r3, [pc, #228] ; (804c9d8 ) 804c8f4: 2201 movs r2, #1 804c8f6: 701a strb r2, [r3, #0] } break; 804c8f8: f000 bcf0 b.w 804d2dc case ImageRight: multA_u16 = Avg[1][5 * ViewLevel + pardata.LNE]; 804c8fc: 4b3a ldr r3, [pc, #232] ; (804c9e8 ) 804c8fe: 781b ldrb r3, [r3, #0] 804c900: b2db uxtb r3, r3 804c902: 461a mov r2, r3 804c904: 4613 mov r3, r2 804c906: 009b lsls r3, r3, #2 804c908: 4413 add r3, r2 804c90a: 4a38 ldr r2, [pc, #224] ; (804c9ec ) 804c90c: 79d2 ldrb r2, [r2, #7] 804c90e: b2d2 uxtb r2, r2 804c910: 4413 add r3, r2 804c912: 4a37 ldr r2, [pc, #220] ; (804c9f0 ) 804c914: 3323 adds r3, #35 ; 0x23 804c916: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804c91a: f8a7 309e strh.w r3, [r7, #158] ; 0x9e multB_u16 = 256 * multA_u16; 804c91e: f8b7 309e ldrh.w r3, [r7, #158] ; 0x9e 804c922: 021b lsls r3, r3, #8 804c924: f8a7 3096 strh.w r3, [r7, #150] ; 0x96 k = (NS[pardata.LNE] >> 1); 804c928: 4b30 ldr r3, [pc, #192] ; (804c9ec ) 804c92a: 79db ldrb r3, [r3, #7] 804c92c: b2db uxtb r3, r3 804c92e: 461a mov r2, r3 804c930: 4b34 ldr r3, [pc, #208] ; (804ca04 ) 804c932: f853 3022 ldr.w r3, [r3, r2, lsl #2] 804c936: 085b lsrs r3, r3, #1 804c938: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i = (uint32_t) rX + (uint32_t) (multB_u16 >> 1); 804c93c: 4b2e ldr r3, [pc, #184] ; (804c9f8 ) 804c93e: 881b ldrh r3, [r3, #0] 804c940: b29b uxth r3, r3 804c942: 461a mov r2, r3 804c944: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c948: 085b lsrs r3, r3, #1 804c94a: b29b uxth r3, r3 804c94c: 4413 add r3, r2 804c94e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 if(i <= k) 804c952: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804c956: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c95a: 429a cmp r2, r3 804c95c: d80b bhi.n 804c976 X0 += (multB_u16 >> 1); 804c95e: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c962: 085b lsrs r3, r3, #1 804c964: b29a uxth r2, r3 804c966: 4b23 ldr r3, [pc, #140] ; (804c9f4 ) 804c968: 881b ldrh r3, [r3, #0] 804c96a: b29b uxth r3, r3 804c96c: 4413 add r3, r2 804c96e: b29a uxth r2, r3 804c970: 4b20 ldr r3, [pc, #128] ; (804c9f4 ) 804c972: 801a strh r2, [r3, #0] 804c974: e008 b.n 804c988 else X0 = (uint16_t) (k - multB_u16); 804c976: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804c97a: b29a uxth r2, r3 804c97c: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c980: 1ad3 subs r3, r2, r3 804c982: b29a uxth r2, r3 804c984: 4b1b ldr r3, [pc, #108] ; (804c9f4 ) 804c986: 801a strh r2, [r3, #0] lX = X0; 804c988: 4b1a ldr r3, [pc, #104] ; (804c9f4 ) 804c98a: 881b ldrh r3, [r3, #0] 804c98c: b29a uxth r2, r3 804c98e: 4b15 ldr r3, [pc, #84] ; (804c9e4 ) 804c990: 801a strh r2, [r3, #0] rX = lX + multB_u16; 804c992: 4b14 ldr r3, [pc, #80] ; (804c9e4 ) 804c994: 881b ldrh r3, [r3, #0] 804c996: b29a uxth r2, r3 804c998: f8b7 3096 ldrh.w r3, [r7, #150] ; 0x96 804c99c: 4413 add r3, r2 804c99e: b29a uxth r2, r3 804c9a0: 4b15 ldr r3, [pc, #84] ; (804c9f8 ) 804c9a2: 801a strh r2, [r3, #0] Mpos = X0 + CURSOR * multA_u16; 804c9a4: 4b15 ldr r3, [pc, #84] ; (804c9fc ) 804c9a6: 681b ldr r3, [r3, #0] 804c9a8: b29b uxth r3, r3 804c9aa: f8b7 209e ldrh.w r2, [r7, #158] ; 0x9e 804c9ae: fb12 f303 smulbb r3, r2, r3 804c9b2: b29a uxth r2, r3 804c9b4: 4b0f ldr r3, [pc, #60] ; (804c9f4 ) 804c9b6: 881b ldrh r3, [r3, #0] 804c9b8: b29b uxth r3, r3 804c9ba: 4413 add r3, r2 804c9bc: b29a uxth r2, r3 804c9be: 4b10 ldr r3, [pc, #64] ; (804ca00 ) 804c9c0: 801a strh r2, [r3, #0] AUTOZOOM = true; 804c9c2: 4b05 ldr r3, [pc, #20] ; (804c9d8 ) 804c9c4: 2201 movs r2, #1 804c9c6: 701a strb r2, [r3, #0] break; 804c9c8: f000 bc92 b.w 804d2f0 804c9cc: 20020070 .word 0x20020070 804c9d0: 20020f78 .word 0x20020f78 804c9d4: 20020daf .word 0x20020daf 804c9d8: 2002098c .word 0x2002098c 804c9dc: 20020db2 .word 0x20020db2 804c9e0: 20020f7a .word 0x20020f7a 804c9e4: 20025d1a .word 0x20025d1a 804c9e8: 20020f74 .word 0x20020f74 804c9ec: 20023e60 .word 0x20023e60 804c9f0: 080ee828 .word 0x080ee828 804c9f4: 20025d1e .word 0x20025d1e 804c9f8: 20025d20 .word 0x20025d20 804c9fc: 2002006c .word 0x2002006c 804ca00: 20025d16 .word 0x20025d16 804ca04: 080ee8b4 .word 0x080ee8b4 case ZoomIn: lvl_0 = 0; 804ca08: 2300 movs r3, #0 804ca0a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804ca0e: 4b81 ldr r3, [pc, #516] ; (804cc14 ) 804ca10: 781b ldrb r3, [r3, #0] 804ca12: b2db uxtb r3, r3 804ca14: 461a mov r2, r3 804ca16: 4613 mov r3, r2 804ca18: 009b lsls r3, r3, #2 804ca1a: 4413 add r3, r2 804ca1c: 4a7e ldr r2, [pc, #504] ; (804cc18 ) 804ca1e: 79d2 ldrb r2, [r2, #7] 804ca20: b2d2 uxtb r2, r2 804ca22: 4413 add r3, r2 804ca24: 4a7d ldr r2, [pc, #500] ; (804cc1c ) 804ca26: 3323 adds r3, #35 ; 0x23 804ca28: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ca2c: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 MaxLevel = 4; 804ca30: 2304 movs r3, #4 804ca32: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 //*************************************************************// if((ViewLevel < MaxLevel) && (dX > 1)) 804ca36: 4b77 ldr r3, [pc, #476] ; (804cc14 ) 804ca38: 781b ldrb r3, [r3, #0] 804ca3a: b2db uxtb r3, r3 804ca3c: b29b uxth r3, r3 804ca3e: f8b7 2092 ldrh.w r2, [r7, #146] ; 0x92 804ca42: 429a cmp r2, r3 804ca44: f240 844d bls.w 804d2e2 804ca48: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ca4c: 2b01 cmp r3, #1 804ca4e: f240 8448 bls.w 804d2e2 { ViewLevel++; 804ca52: 4b70 ldr r3, [pc, #448] ; (804cc14 ) 804ca54: 781b ldrb r3, [r3, #0] 804ca56: b2db uxtb r3, r3 804ca58: 3301 adds r3, #1 804ca5a: b2da uxtb r2, r3 804ca5c: 4b6d ldr r3, [pc, #436] ; (804cc14 ) 804ca5e: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804ca60: 4b6c ldr r3, [pc, #432] ; (804cc14 ) 804ca62: 781b ldrb r3, [r3, #0] 804ca64: b2db uxtb r3, r3 804ca66: 461a mov r2, r3 804ca68: 4613 mov r3, r2 804ca6a: 009b lsls r3, r3, #2 804ca6c: 4413 add r3, r2 804ca6e: 4a6a ldr r2, [pc, #424] ; (804cc18 ) 804ca70: 79d2 ldrb r2, [r2, #7] 804ca72: b2d2 uxtb r2, r2 804ca74: 4413 add r3, r2 804ca76: 4a69 ldr r2, [pc, #420] ; (804cc1c ) 804ca78: 3323 adds r3, #35 ; 0x23 804ca7a: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804ca7e: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 X0 = Mpos - CURSOR * dX; 804ca82: 4b67 ldr r3, [pc, #412] ; (804cc20 ) 804ca84: 881b ldrh r3, [r3, #0] 804ca86: b29a uxth r2, r3 804ca88: 4b66 ldr r3, [pc, #408] ; (804cc24 ) 804ca8a: 681b ldr r3, [r3, #0] 804ca8c: b29b uxth r3, r3 804ca8e: f8b7 1094 ldrh.w r1, [r7, #148] ; 0x94 804ca92: fb11 f303 smulbb r3, r1, r3 804ca96: b29b uxth r3, r3 804ca98: 1ad3 subs r3, r2, r3 804ca9a: b29a uxth r2, r3 804ca9c: 4b62 ldr r3, [pc, #392] ; (804cc28 ) 804ca9e: 801a strh r2, [r3, #0] lX = X0; 804caa0: 4b61 ldr r3, [pc, #388] ; (804cc28 ) 804caa2: 881b ldrh r3, [r3, #0] 804caa4: b29a uxth r2, r3 804caa6: 4b61 ldr r3, [pc, #388] ; (804cc2c ) 804caa8: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804caaa: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804caae: 021b lsls r3, r3, #8 804cab0: b29a uxth r2, r3 804cab2: 4b5e ldr r3, [pc, #376] ; (804cc2c ) 804cab4: 881b ldrh r3, [r3, #0] 804cab6: b29b uxth r3, r3 804cab8: 4413 add r3, r2 804caba: b29a uxth r2, r3 804cabc: 4b5c ldr r3, [pc, #368] ; (804cc30 ) 804cabe: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804cac0: 4b5c ldr r3, [pc, #368] ; (804cc34 ) 804cac2: 881b ldrh r3, [r3, #0] 804cac4: b29b uxth r3, r3 804cac6: 461a mov r2, r3 804cac8: 4b58 ldr r3, [pc, #352] ; (804cc2c ) 804caca: 881b ldrh r3, [r3, #0] 804cacc: b29b uxth r3, r3 804cace: 1ad2 subs r2, r2, r3 804cad0: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cad4: fb92 f3f3 sdiv r3, r2, r3 804cad8: 461a mov r2, r3 804cada: 4b52 ldr r3, [pc, #328] ; (804cc24 ) 804cadc: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 804cade: 4b51 ldr r3, [pc, #324] ; (804cc24 ) 804cae0: 681b ldr r3, [r3, #0] 804cae2: b29b uxth r3, r3 804cae4: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cae8: fb12 f303 smulbb r3, r2, r3 804caec: b29a uxth r2, r3 804caee: 4b4f ldr r3, [pc, #316] ; (804cc2c ) 804caf0: 881b ldrh r3, [r3, #0] 804caf2: b29b uxth r3, r3 804caf4: 4413 add r3, r2 804caf6: b29a uxth r2, r3 804caf8: 4b49 ldr r3, [pc, #292] ; (804cc20 ) 804cafa: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 804cafc: 4b49 ldr r3, [pc, #292] ; (804cc24 ) 804cafe: 681b ldr r3, [r3, #0] 804cb00: 2b7f cmp r3, #127 ; 0x7f 804cb02: d83b bhi.n 804cb7c 804cb04: 4b48 ldr r3, [pc, #288] ; (804cc28 ) 804cb06: 881b ldrh r3, [r3, #0] 804cb08: b29b uxth r3, r3 804cb0a: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cb0e: 429a cmp r2, r3 804cb10: d834 bhi.n 804cb7c { if(lX >= dX) 804cb12: 4b46 ldr r3, [pc, #280] ; (804cc2c ) 804cb14: 881b ldrh r3, [r3, #0] 804cb16: b29b uxth r3, r3 804cb18: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cb1c: 429a cmp r2, r3 804cb1e: d875 bhi.n 804cc0c { CURSOR++; 804cb20: 4b40 ldr r3, [pc, #256] ; (804cc24 ) 804cb22: 681b ldr r3, [r3, #0] 804cb24: 3301 adds r3, #1 804cb26: 4a3f ldr r2, [pc, #252] ; (804cc24 ) 804cb28: 6013 str r3, [r2, #0] X0 -= dX; 804cb2a: 4b3f ldr r3, [pc, #252] ; (804cc28 ) 804cb2c: 881b ldrh r3, [r3, #0] 804cb2e: b29a uxth r2, r3 804cb30: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cb34: 1ad3 subs r3, r2, r3 804cb36: b29a uxth r2, r3 804cb38: 4b3b ldr r3, [pc, #236] ; (804cc28 ) 804cb3a: 801a strh r2, [r3, #0] lX = X0; 804cb3c: 4b3a ldr r3, [pc, #232] ; (804cc28 ) 804cb3e: 881b ldrh r3, [r3, #0] 804cb40: b29a uxth r2, r3 804cb42: 4b3a ldr r3, [pc, #232] ; (804cc2c ) 804cb44: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804cb46: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cb4a: 021b lsls r3, r3, #8 804cb4c: b29a uxth r2, r3 804cb4e: 4b37 ldr r3, [pc, #220] ; (804cc2c ) 804cb50: 881b ldrh r3, [r3, #0] 804cb52: b29b uxth r3, r3 804cb54: 4413 add r3, r2 804cb56: b29a uxth r2, r3 804cb58: 4b35 ldr r3, [pc, #212] ; (804cc30 ) 804cb5a: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804cb5c: 4b35 ldr r3, [pc, #212] ; (804cc34 ) 804cb5e: 881b ldrh r3, [r3, #0] 804cb60: b29b uxth r3, r3 804cb62: 461a mov r2, r3 804cb64: 4b31 ldr r3, [pc, #196] ; (804cc2c ) 804cb66: 881b ldrh r3, [r3, #0] 804cb68: b29b uxth r3, r3 804cb6a: 1ad2 subs r2, r2, r3 804cb6c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cb70: fb92 f3f3 sdiv r3, r2, r3 804cb74: 461a mov r2, r3 804cb76: 4b2b ldr r3, [pc, #172] ; (804cc24 ) 804cb78: 601a str r2, [r3, #0] if(lX >= dX) 804cb7a: e047 b.n 804cc0c } } else if(CURSOR > (256 >> 1)) 804cb7c: 4b29 ldr r3, [pc, #164] ; (804cc24 ) 804cb7e: 681b ldr r3, [r3, #0] 804cb80: 2b80 cmp r3, #128 ; 0x80 804cb82: d943 bls.n 804cc0c { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 804cb84: 4b2a ldr r3, [pc, #168] ; (804cc30 ) 804cb86: 881b ldrh r3, [r3, #0] 804cb88: b29b uxth r3, r3 804cb8a: 461a mov r2, r3 804cb8c: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cb90: 18d1 adds r1, r2, r3 804cb92: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804cb96: 4613 mov r3, r2 804cb98: 009b lsls r3, r3, #2 804cb9a: 4413 add r3, r2 804cb9c: 4a1e ldr r2, [pc, #120] ; (804cc18 ) 804cb9e: 79d2 ldrb r2, [r2, #7] 804cba0: b2d2 uxtb r2, r2 804cba2: 4413 add r3, r2 804cba4: 4a1d ldr r2, [pc, #116] ; (804cc1c ) 804cba6: 3323 adds r3, #35 ; 0x23 804cba8: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cbac: 021b lsls r3, r3, #8 804cbae: 4299 cmp r1, r3 804cbb0: dc2c bgt.n 804cc0c { CURSOR--; 804cbb2: 4b1c ldr r3, [pc, #112] ; (804cc24 ) 804cbb4: 681b ldr r3, [r3, #0] 804cbb6: 3b01 subs r3, #1 804cbb8: 4a1a ldr r2, [pc, #104] ; (804cc24 ) 804cbba: 6013 str r3, [r2, #0] X0 += dX; 804cbbc: 4b1a ldr r3, [pc, #104] ; (804cc28 ) 804cbbe: 881b ldrh r3, [r3, #0] 804cbc0: b29a uxth r2, r3 804cbc2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cbc6: 4413 add r3, r2 804cbc8: b29a uxth r2, r3 804cbca: 4b17 ldr r3, [pc, #92] ; (804cc28 ) 804cbcc: 801a strh r2, [r3, #0] lX = X0; 804cbce: 4b16 ldr r3, [pc, #88] ; (804cc28 ) 804cbd0: 881b ldrh r3, [r3, #0] 804cbd2: b29a uxth r2, r3 804cbd4: 4b15 ldr r3, [pc, #84] ; (804cc2c ) 804cbd6: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804cbd8: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cbdc: 021b lsls r3, r3, #8 804cbde: b29a uxth r2, r3 804cbe0: 4b12 ldr r3, [pc, #72] ; (804cc2c ) 804cbe2: 881b ldrh r3, [r3, #0] 804cbe4: b29b uxth r3, r3 804cbe6: 4413 add r3, r2 804cbe8: b29a uxth r2, r3 804cbea: 4b11 ldr r3, [pc, #68] ; (804cc30 ) 804cbec: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804cbee: 4b11 ldr r3, [pc, #68] ; (804cc34 ) 804cbf0: 881b ldrh r3, [r3, #0] 804cbf2: b29b uxth r3, r3 804cbf4: 461a mov r2, r3 804cbf6: 4b0d ldr r3, [pc, #52] ; (804cc2c ) 804cbf8: 881b ldrh r3, [r3, #0] 804cbfa: b29b uxth r3, r3 804cbfc: 1ad2 subs r2, r2, r3 804cbfe: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cc02: fb92 f3f3 sdiv r3, r2, r3 804cc06: 461a mov r2, r3 804cc08: 4b06 ldr r3, [pc, #24] ; (804cc24 ) 804cc0a: 601a str r2, [r3, #0] } } AUTOZOOM = true; 804cc0c: 4b0a ldr r3, [pc, #40] ; (804cc38 ) 804cc0e: 2201 movs r2, #1 804cc10: 701a strb r2, [r3, #0] } break; 804cc12: e366 b.n 804d2e2 804cc14: 20020f74 .word 0x20020f74 804cc18: 20023e60 .word 0x20023e60 804cc1c: 080ee828 .word 0x080ee828 804cc20: 20025d16 .word 0x20025d16 804cc24: 2002006c .word 0x2002006c 804cc28: 20025d1e .word 0x20025d1e 804cc2c: 20025d1a .word 0x20025d1a 804cc30: 20025d20 .word 0x20025d20 804cc34: 20025d1c .word 0x20025d1c 804cc38: 2002098c .word 0x2002098c case ZoomOut: lvl_0 = 0; 804cc3c: 2300 movs r3, #0 804cc3e: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 MaxLevel = 4; 804cc42: 2304 movs r3, #4 804cc44: f8a7 3092 strh.w r3, [r7, #146] ; 0x92 dXold = Avg[1][5 * ViewLevel + pardata.LNE]; 804cc48: 4ba5 ldr r3, [pc, #660] ; (804cee0 ) 804cc4a: 781b ldrb r3, [r3, #0] 804cc4c: b2db uxtb r3, r3 804cc4e: 461a mov r2, r3 804cc50: 4613 mov r3, r2 804cc52: 009b lsls r3, r3, #2 804cc54: 4413 add r3, r2 804cc56: 4aa3 ldr r2, [pc, #652] ; (804cee4 ) 804cc58: 79d2 ldrb r2, [r2, #7] 804cc5a: b2d2 uxtb r2, r2 804cc5c: 4413 add r3, r2 804cc5e: 4aa2 ldr r2, [pc, #648] ; (804cee8 ) 804cc60: 3323 adds r3, #35 ; 0x23 804cc62: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cc66: f8a7 3090 strh.w r3, [r7, #144] ; 0x90 if(ViewLevel) 804cc6a: 4b9d ldr r3, [pc, #628] ; (804cee0 ) 804cc6c: 781b ldrb r3, [r3, #0] 804cc6e: b2db uxtb r3, r3 804cc70: 2b00 cmp r3, #0 804cc72: f000 8339 beq.w 804d2e8 { ViewLevel--; 804cc76: 4b9a ldr r3, [pc, #616] ; (804cee0 ) 804cc78: 781b ldrb r3, [r3, #0] 804cc7a: b2db uxtb r3, r3 804cc7c: 3b01 subs r3, #1 804cc7e: b2da uxtb r2, r3 804cc80: 4b97 ldr r3, [pc, #604] ; (804cee0 ) 804cc82: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 804cc84: 4b96 ldr r3, [pc, #600] ; (804cee0 ) 804cc86: 781b ldrb r3, [r3, #0] 804cc88: b2db uxtb r3, r3 804cc8a: 461a mov r2, r3 804cc8c: 4613 mov r3, r2 804cc8e: 009b lsls r3, r3, #2 804cc90: 4413 add r3, r2 804cc92: 4a94 ldr r2, [pc, #592] ; (804cee4 ) 804cc94: 79d2 ldrb r2, [r2, #7] 804cc96: b2d2 uxtb r2, r2 804cc98: 4413 add r3, r2 804cc9a: 4a93 ldr r2, [pc, #588] ; (804cee8 ) 804cc9c: 3323 adds r3, #35 ; 0x23 804cc9e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cca2: f8a7 3094 strh.w r3, [r7, #148] ; 0x94 if(ViewLevel == 0) 804cca6: 4b8e ldr r3, [pc, #568] ; (804cee0 ) 804cca8: 781b ldrb r3, [r3, #0] 804ccaa: b2db uxtb r3, r3 804ccac: 2b00 cmp r3, #0 804ccae: d130 bne.n 804cd12 { X0 = lX = 0; 804ccb0: 2100 movs r1, #0 804ccb2: 4b8e ldr r3, [pc, #568] ; (804ceec ) 804ccb4: 460a mov r2, r1 804ccb6: 801a strh r2, [r3, #0] 804ccb8: 4b8d ldr r3, [pc, #564] ; (804cef0 ) 804ccba: 460a mov r2, r1 804ccbc: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804ccbe: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ccc2: 021b lsls r3, r3, #8 804ccc4: b29a uxth r2, r3 804ccc6: 4b89 ldr r3, [pc, #548] ; (804ceec ) 804ccc8: 881b ldrh r3, [r3, #0] 804ccca: b29b uxth r3, r3 804cccc: 4413 add r3, r2 804ccce: b29a uxth r2, r3 804ccd0: 4b88 ldr r3, [pc, #544] ; (804cef4 ) 804ccd2: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804ccd4: 4b88 ldr r3, [pc, #544] ; (804cef8 ) 804ccd6: 881b ldrh r3, [r3, #0] 804ccd8: b29b uxth r3, r3 804ccda: 461a mov r2, r3 804ccdc: 4b83 ldr r3, [pc, #524] ; (804ceec ) 804ccde: 881b ldrh r3, [r3, #0] 804cce0: b29b uxth r3, r3 804cce2: 1ad2 subs r2, r2, r3 804cce4: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cce8: fb92 f3f3 sdiv r3, r2, r3 804ccec: 461a mov r2, r3 804ccee: 4b83 ldr r3, [pc, #524] ; (804cefc ) 804ccf0: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804ccf2: 4b82 ldr r3, [pc, #520] ; (804cefc ) 804ccf4: 681b ldr r3, [r3, #0] 804ccf6: b29b uxth r3, r3 804ccf8: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804ccfc: fb12 f303 smulbb r3, r2, r3 804cd00: b29a uxth r2, r3 804cd02: 4b7b ldr r3, [pc, #492] ; (804cef0 ) 804cd04: 881b ldrh r3, [r3, #0] 804cd06: b29b uxth r3, r3 804cd08: 4413 add r3, r2 804cd0a: b29a uxth r2, r3 804cd0c: 4b7c ldr r3, [pc, #496] ; (804cf00 ) 804cd0e: 801a strh r2, [r3, #0] 804cd10: e090 b.n 804ce34 } else { if(CURSOR * dX > Mpos) 804cd12: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cd16: 4a79 ldr r2, [pc, #484] ; (804cefc ) 804cd18: 6812 ldr r2, [r2, #0] 804cd1a: fb02 f303 mul.w r3, r2, r3 804cd1e: 4a78 ldr r2, [pc, #480] ; (804cf00 ) 804cd20: 8812 ldrh r2, [r2, #0] 804cd22: b292 uxth r2, r2 804cd24: 4293 cmp r3, r2 804cd26: d91f bls.n 804cd68 { while(CURSOR * dX > Mpos) 804cd28: e004 b.n 804cd34 CURSOR--; 804cd2a: 4b74 ldr r3, [pc, #464] ; (804cefc ) 804cd2c: 681b ldr r3, [r3, #0] 804cd2e: 3b01 subs r3, #1 804cd30: 4a72 ldr r2, [pc, #456] ; (804cefc ) 804cd32: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 804cd34: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cd38: 4a70 ldr r2, [pc, #448] ; (804cefc ) 804cd3a: 6812 ldr r2, [r2, #0] 804cd3c: fb02 f303 mul.w r3, r2, r3 804cd40: 4a6f ldr r2, [pc, #444] ; (804cf00 ) 804cd42: 8812 ldrh r2, [r2, #0] 804cd44: b292 uxth r2, r2 804cd46: 4293 cmp r3, r2 804cd48: d8ef bhi.n 804cd2a Mpos = X0 + CURSOR * dX; 804cd4a: 4b6c ldr r3, [pc, #432] ; (804cefc ) 804cd4c: 681b ldr r3, [r3, #0] 804cd4e: b29b uxth r3, r3 804cd50: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804cd54: fb12 f303 smulbb r3, r2, r3 804cd58: b29a uxth r2, r3 804cd5a: 4b65 ldr r3, [pc, #404] ; (804cef0 ) 804cd5c: 881b ldrh r3, [r3, #0] 804cd5e: b29b uxth r3, r3 804cd60: 4413 add r3, r2 804cd62: b29a uxth r2, r3 804cd64: 4b66 ldr r3, [pc, #408] ; (804cf00 ) 804cd66: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 804cd68: 4b65 ldr r3, [pc, #404] ; (804cf00 ) 804cd6a: 881b ldrh r3, [r3, #0] 804cd6c: b29b uxth r3, r3 804cd6e: 4619 mov r1, r3 804cd70: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cd74: 4a61 ldr r2, [pc, #388] ; (804cefc ) 804cd76: 6812 ldr r2, [r2, #0] 804cd78: fb02 f303 mul.w r3, r2, r3 804cd7c: 1acb subs r3, r1, r3 804cd7e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 j = 256 * dX; 804cd82: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cd86: 021b lsls r3, r3, #8 804cd88: f8c7 3098 str.w r3, [r7, #152] ; 0x98 k = 256 * Avg[1][5 * lvl_0 + pardata.LNE]; // 3200 804cd8c: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 804cd90: 4613 mov r3, r2 804cd92: 009b lsls r3, r3, #2 804cd94: 4413 add r3, r2 804cd96: 4a53 ldr r2, [pc, #332] ; (804cee4 ) 804cd98: 79d2 ldrb r2, [r2, #7] 804cd9a: b2d2 uxtb r2, r2 804cd9c: 4413 add r3, r2 804cd9e: 4a52 ldr r2, [pc, #328] ; (804cee8 ) 804cda0: 3323 adds r3, #35 ; 0x23 804cda2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 804cda6: 021b lsls r3, r3, #8 804cda8: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(i + j > k) { 804cdac: e006 b.n 804cdbc i -= dXold; 804cdae: f8b7 3090 ldrh.w r3, [r7, #144] ; 0x90 804cdb2: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804cdb6: 1ad3 subs r3, r2, r3 804cdb8: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 while(i + j > k) { 804cdbc: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804cdc0: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 804cdc4: 441a add r2, r3 804cdc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804cdca: 429a cmp r2, r3 804cdcc: d8ef bhi.n 804cdae } X0 = (uint16_t) i; 804cdce: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804cdd2: b29a uxth r2, r3 804cdd4: 4b46 ldr r3, [pc, #280] ; (804cef0 ) 804cdd6: 801a strh r2, [r3, #0] lX = X0; 804cdd8: 4b45 ldr r3, [pc, #276] ; (804cef0 ) 804cdda: 881b ldrh r3, [r3, #0] 804cddc: b29a uxth r2, r3 804cdde: 4b43 ldr r3, [pc, #268] ; (804ceec ) 804cde0: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 804cde2: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804cde6: 021b lsls r3, r3, #8 804cde8: b29a uxth r2, r3 804cdea: 4b40 ldr r3, [pc, #256] ; (804ceec ) 804cdec: 881b ldrh r3, [r3, #0] 804cdee: b29b uxth r3, r3 804cdf0: 4413 add r3, r2 804cdf2: b29a uxth r2, r3 804cdf4: 4b3f ldr r3, [pc, #252] ; (804cef4 ) 804cdf6: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 804cdf8: 4b3f ldr r3, [pc, #252] ; (804cef8 ) 804cdfa: 881b ldrh r3, [r3, #0] 804cdfc: b29b uxth r3, r3 804cdfe: 461a mov r2, r3 804ce00: 4b3a ldr r3, [pc, #232] ; (804ceec ) 804ce02: 881b ldrh r3, [r3, #0] 804ce04: b29b uxth r3, r3 804ce06: 1ad2 subs r2, r2, r3 804ce08: f8b7 3094 ldrh.w r3, [r7, #148] ; 0x94 804ce0c: fb92 f3f3 sdiv r3, r2, r3 804ce10: 461a mov r2, r3 804ce12: 4b3a ldr r3, [pc, #232] ; (804cefc ) 804ce14: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 804ce16: 4b39 ldr r3, [pc, #228] ; (804cefc ) 804ce18: 681b ldr r3, [r3, #0] 804ce1a: b29b uxth r3, r3 804ce1c: f8b7 2094 ldrh.w r2, [r7, #148] ; 0x94 804ce20: fb12 f303 smulbb r3, r2, r3 804ce24: b29a uxth r2, r3 804ce26: 4b32 ldr r3, [pc, #200] ; (804cef0 ) 804ce28: 881b ldrh r3, [r3, #0] 804ce2a: b29b uxth r3, r3 804ce2c: 4413 add r3, r2 804ce2e: b29a uxth r2, r3 804ce30: 4b33 ldr r3, [pc, #204] ; (804cf00 ) 804ce32: 801a strh r2, [r3, #0] } AUTOZOOM = true; 804ce34: 4b33 ldr r3, [pc, #204] ; (804cf04 ) 804ce36: 2201 movs r2, #1 804ce38: 701a strb r2, [r3, #0] } break; 804ce3a: e255 b.n 804d2e8 case Cursor: AUTOZOOM = true; 804ce3c: 4b31 ldr r3, [pc, #196] ; (804cf04 ) 804ce3e: 2201 movs r2, #1 804ce40: 701a strb r2, [r3, #0] break; 804ce42: e255 b.n 804d2f0 case SaveSpec: if(CardState == MSD_READY) 804ce44: 4b30 ldr r3, [pc, #192] ; (804cf08 ) 804ce46: 781b ldrb r3, [r3, #0] 804ce48: b2db uxtb r3, r3 804ce4a: 2b03 cmp r3, #3 804ce4c: f040 8221 bne.w 804d292 { if(!measuring) 804ce50: 4b2e ldr r3, [pc, #184] ; (804cf0c ) 804ce52: 781b ldrb r3, [r3, #0] 804ce54: b2db uxtb r3, r3 804ce56: f083 0301 eor.w r3, r3, #1 804ce5a: b2db uxtb r3, r3 804ce5c: 2b00 cmp r3, #0 804ce5e: f000 8246 beq.w 804d2ee { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804ce62: 2200 movs r2, #0 804ce64: 492a ldr r1, [pc, #168] ; (804cf10 ) 804ce66: 482b ldr r0, [pc, #172] ; (804cf14 ) 804ce68: f06b feda bl 80b8c20 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804ce6c: 2200 movs r2, #0 804ce6e: 492a ldr r1, [pc, #168] ; (804cf18 ) 804ce70: 4828 ldr r0, [pc, #160] ; (804cf14 ) 804ce72: f06b ffdb bl 80b8e2c Day = RTC_DateStruct.Date; 804ce76: 4b28 ldr r3, [pc, #160] ; (804cf18 ) 804ce78: 789b ldrb r3, [r3, #2] 804ce7a: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804ce7e: 4b26 ldr r3, [pc, #152] ; (804cf18 ) 804ce80: 785b ldrb r3, [r3, #1] 804ce82: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804ce86: 4b24 ldr r3, [pc, #144] ; (804cf18 ) 804ce88: 78db ldrb r3, [r3, #3] 804ce8a: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804ce8e: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804ce92: 4b1f ldr r3, [pc, #124] ; (804cf10 ) 804ce94: 781b ldrb r3, [r3, #0] 804ce96: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804ce9a: 4b1d ldr r3, [pc, #116] ; (804cf10 ) 804ce9c: 785b ldrb r3, [r3, #1] 804ce9e: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804cea0: 4b1b ldr r3, [pc, #108] ; (804cf10 ) 804cea2: 789b ldrb r3, [r3, #2] 804cea4: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804cea6: 2221 movs r2, #33 ; 0x21 804cea8: 2100 movs r1, #0 804ceaa: 481c ldr r0, [pc, #112] ; (804cf1c ) 804ceac: f080 f8e8 bl 80cd080 strcpy(TEMP_MeasFileName,"ENV_"); 804ceb0: 4b1a ldr r3, [pc, #104] ; (804cf1c ) 804ceb2: 4a1b ldr r2, [pc, #108] ; (804cf20 ) 804ceb4: 6810 ldr r0, [r2, #0] 804ceb6: 6018 str r0, [r3, #0] 804ceb8: 7912 ldrb r2, [r2, #4] 804ceba: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804cebc: 4b09 ldr r3, [pc, #36] ; (804cee4 ) 804cebe: 785b ldrb r3, [r3, #1] 804cec0: b2db uxtb r3, r3 804cec2: 2b00 cmp r3, #0 804cec4: d130 bne.n 804cf28 804cec6: 4815 ldr r0, [pc, #84] ; (804cf1c ) 804cec8: f7d3 fa24 bl 8020314 804cecc: 4603 mov r3, r0 804cece: 461a mov r2, r3 804ced0: 4b12 ldr r3, [pc, #72] ; (804cf1c ) 804ced2: 4413 add r3, r2 804ced4: 4913 ldr r1, [pc, #76] ; (804cf24 ) 804ced6: 461a mov r2, r3 804ced8: 460b mov r3, r1 804ceda: 881b ldrh r3, [r3, #0] 804cedc: 8013 strh r3, [r2, #0] 804cede: e046 b.n 804cf6e 804cee0: 20020f74 .word 0x20020f74 804cee4: 20023e60 .word 0x20023e60 804cee8: 080ee828 .word 0x080ee828 804ceec: 20025d1a .word 0x20025d1a 804cef0: 20025d1e .word 0x20025d1e 804cef4: 20025d20 .word 0x20025d20 804cef8: 20025d1c .word 0x20025d1c 804cefc: 2002006c .word 0x2002006c 804cf00: 20025d16 .word 0x20025d16 804cf04: 2002098c .word 0x2002098c 804cf08: 2002164c .word 0x2002164c 804cf0c: 20020daf .word 0x20020daf 804cf10: 20025c68 .word 0x20025c68 804cf14: 20068598 .word 0x20068598 804cf18: 20025cec .word 0x20025cec 804cf1c: 20025c80 .word 0x20025c80 804cf20: 080ce690 .word 0x080ce690 804cf24: 080ce66c .word 0x080ce66c else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804cf28: 4b28 ldr r3, [pc, #160] ; (804cfcc ) 804cf2a: 785b ldrb r3, [r3, #1] 804cf2c: b2db uxtb r3, r3 804cf2e: 2b01 cmp r3, #1 804cf30: d10c bne.n 804cf4c 804cf32: 4827 ldr r0, [pc, #156] ; (804cfd0 ) 804cf34: f7d3 f9ee bl 8020314 804cf38: 4603 mov r3, r0 804cf3a: 461a mov r2, r3 804cf3c: 4b24 ldr r3, [pc, #144] ; (804cfd0 ) 804cf3e: 4413 add r3, r2 804cf40: 4924 ldr r1, [pc, #144] ; (804cfd4 ) 804cf42: 461a mov r2, r3 804cf44: 460b mov r3, r1 804cf46: 881b ldrh r3, [r3, #0] 804cf48: 8013 strh r3, [r2, #0] 804cf4a: e010 b.n 804cf6e else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804cf4c: 4b1f ldr r3, [pc, #124] ; (804cfcc ) 804cf4e: 785b ldrb r3, [r3, #1] 804cf50: b2db uxtb r3, r3 804cf52: 2b02 cmp r3, #2 804cf54: d10b bne.n 804cf6e 804cf56: 481e ldr r0, [pc, #120] ; (804cfd0 ) 804cf58: f7d3 f9dc bl 8020314 804cf5c: 4603 mov r3, r0 804cf5e: 461a mov r2, r3 804cf60: 4b1b ldr r3, [pc, #108] ; (804cfd0 ) 804cf62: 4413 add r3, r2 804cf64: 491c ldr r1, [pc, #112] ; (804cfd8 ) 804cf66: 461a mov r2, r3 804cf68: 460b mov r3, r1 804cf6a: 881b ldrh r3, [r3, #0] 804cf6c: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804cf6e: 4b17 ldr r3, [pc, #92] ; (804cfcc ) 804cf70: 785b ldrb r3, [r3, #1] 804cf72: b2db uxtb r3, r3 804cf74: 461a mov r2, r3 804cf76: 4b15 ldr r3, [pc, #84] ; (804cfcc ) 804cf78: 4413 add r3, r2 804cf7a: 789b ldrb r3, [r3, #2] 804cf7c: b2db uxtb r3, r3 804cf7e: 2b00 cmp r3, #0 804cf80: d10c bne.n 804cf9c 804cf82: 4813 ldr r0, [pc, #76] ; (804cfd0 ) 804cf84: f7d3 f9c6 bl 8020314 804cf88: 4603 mov r3, r0 804cf8a: 461a mov r2, r3 804cf8c: 4b10 ldr r3, [pc, #64] ; (804cfd0 ) 804cf8e: 4413 add r3, r2 804cf90: 4a12 ldr r2, [pc, #72] ; (804cfdc ) 804cf92: 6810 ldr r0, [r2, #0] 804cf94: 6018 str r0, [r3, #0] 804cf96: 7912 ldrb r2, [r2, #4] 804cf98: 711a strb r2, [r3, #4] 804cf9a: e03b b.n 804d014 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804cf9c: 4b0b ldr r3, [pc, #44] ; (804cfcc ) 804cf9e: 785b ldrb r3, [r3, #1] 804cfa0: b2db uxtb r3, r3 804cfa2: 461a mov r2, r3 804cfa4: 4b09 ldr r3, [pc, #36] ; (804cfcc ) 804cfa6: 4413 add r3, r2 804cfa8: 789b ldrb r3, [r3, #2] 804cfaa: b2db uxtb r3, r3 804cfac: 2b01 cmp r3, #1 804cfae: d119 bne.n 804cfe4 804cfb0: 4807 ldr r0, [pc, #28] ; (804cfd0 ) 804cfb2: f7d3 f9af bl 8020314 804cfb6: 4603 mov r3, r0 804cfb8: 461a mov r2, r3 804cfba: 4b05 ldr r3, [pc, #20] ; (804cfd0 ) 804cfbc: 4413 add r3, r2 804cfbe: 4a08 ldr r2, [pc, #32] ; (804cfe0 ) 804cfc0: 6810 ldr r0, [r2, #0] 804cfc2: 6018 str r0, [r3, #0] 804cfc4: 8892 ldrh r2, [r2, #4] 804cfc6: 809a strh r2, [r3, #4] 804cfc8: e024 b.n 804d014 804cfca: bf00 nop 804cfcc: 20023e60 .word 0x20023e60 804cfd0: 20025c80 .word 0x20025c80 804cfd4: 080ce670 .word 0x080ce670 804cfd8: 080ce674 .word 0x080ce674 804cfdc: 080ce678 .word 0x080ce678 804cfe0: 080ce680 .word 0x080ce680 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804cfe4: 4bb0 ldr r3, [pc, #704] ; (804d2a8 ) 804cfe6: 785b ldrb r3, [r3, #1] 804cfe8: b2db uxtb r3, r3 804cfea: 461a mov r2, r3 804cfec: 4bae ldr r3, [pc, #696] ; (804d2a8 ) 804cfee: 4413 add r3, r2 804cff0: 789b ldrb r3, [r3, #2] 804cff2: b2db uxtb r3, r3 804cff4: 2b02 cmp r3, #2 804cff6: d10d bne.n 804d014 804cff8: 48ac ldr r0, [pc, #688] ; (804d2ac ) 804cffa: f7d3 f98b bl 8020314 804cffe: 4603 mov r3, r0 804d000: 461a mov r2, r3 804d002: 4baa ldr r3, [pc, #680] ; (804d2ac ) 804d004: 4413 add r3, r2 804d006: 4aaa ldr r2, [pc, #680] ; (804d2b0 ) 804d008: 6810 ldr r0, [r2, #0] 804d00a: 6018 str r0, [r3, #0] 804d00c: 8891 ldrh r1, [r2, #4] 804d00e: 7992 ldrb r2, [r2, #6] 804d010: 8099 strh r1, [r3, #4] 804d012: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804d014: 48a5 ldr r0, [pc, #660] ; (804d2ac ) 804d016: f7d3 f97d bl 8020314 804d01a: 4602 mov r2, r0 804d01c: 4ba5 ldr r3, [pc, #660] ; (804d2b4 ) 804d01e: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804d020: 4ba4 ldr r3, [pc, #656] ; (804d2b4 ) 804d022: 681b ldr r3, [r3, #0] 804d024: 1c5a adds r2, r3, #1 804d026: 49a3 ldr r1, [pc, #652] ; (804d2b4 ) 804d028: 600a str r2, [r1, #0] 804d02a: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d02e: 49a2 ldr r1, [pc, #648] ; (804d2b8 ) 804d030: fba1 1202 umull r1, r2, r1, r2 804d034: 0992 lsrs r2, r2, #6 804d036: b2d2 uxtb r2, r2 804d038: 3230 adds r2, #48 ; 0x30 804d03a: b2d1 uxtb r1, r2 804d03c: 4a9b ldr r2, [pc, #620] ; (804d2ac ) 804d03e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804d040: 4b9c ldr r3, [pc, #624] ; (804d2b4 ) 804d042: 681a ldr r2, [r3, #0] 804d044: 1c53 adds r3, r2, #1 804d046: 499b ldr r1, [pc, #620] ; (804d2b4 ) 804d048: 600b str r3, [r1, #0] 804d04a: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804d04e: 4b9a ldr r3, [pc, #616] ; (804d2b8 ) 804d050: fba3 0301 umull r0, r3, r3, r1 804d054: 099b lsrs r3, r3, #6 804d056: f44f 707a mov.w r0, #1000 ; 0x3e8 804d05a: fb00 f303 mul.w r3, r0, r3 804d05e: 1acb subs r3, r1, r3 804d060: 4996 ldr r1, [pc, #600] ; (804d2bc ) 804d062: fba1 1303 umull r1, r3, r1, r3 804d066: 095b lsrs r3, r3, #5 804d068: b2db uxtb r3, r3 804d06a: 3330 adds r3, #48 ; 0x30 804d06c: b2d9 uxtb r1, r3 804d06e: 4b8f ldr r3, [pc, #572] ; (804d2ac ) 804d070: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804d072: 4b90 ldr r3, [pc, #576] ; (804d2b4 ) 804d074: 6819 ldr r1, [r3, #0] 804d076: 1c4b adds r3, r1, #1 804d078: 4a8e ldr r2, [pc, #568] ; (804d2b4 ) 804d07a: 6013 str r3, [r2, #0] 804d07c: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d080: 4b8d ldr r3, [pc, #564] ; (804d2b8 ) 804d082: fba3 0302 umull r0, r3, r3, r2 804d086: 099b lsrs r3, r3, #6 804d088: f44f 707a mov.w r0, #1000 ; 0x3e8 804d08c: fb00 f303 mul.w r3, r0, r3 804d090: 1ad3 subs r3, r2, r3 804d092: 4a8a ldr r2, [pc, #552] ; (804d2bc ) 804d094: fba2 0203 umull r0, r2, r2, r3 804d098: 0952 lsrs r2, r2, #5 804d09a: 2064 movs r0, #100 ; 0x64 804d09c: fb00 f202 mul.w r2, r0, r2 804d0a0: 1a9a subs r2, r3, r2 804d0a2: 4b87 ldr r3, [pc, #540] ; (804d2c0 ) 804d0a4: fba3 2302 umull r2, r3, r3, r2 804d0a8: 08db lsrs r3, r3, #3 804d0aa: b2db uxtb r3, r3 804d0ac: 3330 adds r3, #48 ; 0x30 804d0ae: b2da uxtb r2, r3 804d0b0: 4b7e ldr r3, [pc, #504] ; (804d2ac ) 804d0b2: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804d0b4: 4b7f ldr r3, [pc, #508] ; (804d2b4 ) 804d0b6: 6818 ldr r0, [r3, #0] 804d0b8: 1c43 adds r3, r0, #1 804d0ba: 4a7e ldr r2, [pc, #504] ; (804d2b4 ) 804d0bc: 6013 str r3, [r2, #0] 804d0be: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d0c2: 4b7d ldr r3, [pc, #500] ; (804d2b8 ) 804d0c4: fba3 1302 umull r1, r3, r3, r2 804d0c8: 099b lsrs r3, r3, #6 804d0ca: f44f 717a mov.w r1, #1000 ; 0x3e8 804d0ce: fb01 f303 mul.w r3, r1, r3 804d0d2: 1ad3 subs r3, r2, r3 804d0d4: 4a79 ldr r2, [pc, #484] ; (804d2bc ) 804d0d6: fba2 1203 umull r1, r2, r2, r3 804d0da: 0952 lsrs r2, r2, #5 804d0dc: 2164 movs r1, #100 ; 0x64 804d0de: fb01 f202 mul.w r2, r1, r2 804d0e2: 1a9a subs r2, r3, r2 804d0e4: 4b76 ldr r3, [pc, #472] ; (804d2c0 ) 804d0e6: fba3 1302 umull r1, r3, r3, r2 804d0ea: 08d9 lsrs r1, r3, #3 804d0ec: 460b mov r3, r1 804d0ee: 009b lsls r3, r3, #2 804d0f0: 440b add r3, r1 804d0f2: 005b lsls r3, r3, #1 804d0f4: 1ad1 subs r1, r2, r3 804d0f6: b2cb uxtb r3, r1 804d0f8: 3330 adds r3, #48 ; 0x30 804d0fa: b2da uxtb r2, r3 804d0fc: 4b6b ldr r3, [pc, #428] ; (804d2ac ) 804d0fe: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804d100: 4b6c ldr r3, [pc, #432] ; (804d2b4 ) 804d102: 681b ldr r3, [r3, #0] 804d104: 1c5a adds r2, r3, #1 804d106: 496b ldr r1, [pc, #428] ; (804d2b4 ) 804d108: 600a str r2, [r1, #0] 804d10a: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804d10e: 496c ldr r1, [pc, #432] ; (804d2c0 ) 804d110: fba1 1202 umull r1, r2, r1, r2 804d114: 08d2 lsrs r2, r2, #3 804d116: b2d2 uxtb r2, r2 804d118: 3230 adds r2, #48 ; 0x30 804d11a: b2d1 uxtb r1, r2 804d11c: 4a63 ldr r2, [pc, #396] ; (804d2ac ) 804d11e: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804d120: 4b64 ldr r3, [pc, #400] ; (804d2b4 ) 804d122: 6819 ldr r1, [r3, #0] 804d124: 1c4b adds r3, r1, #1 804d126: 4a63 ldr r2, [pc, #396] ; (804d2b4 ) 804d128: 6013 str r3, [r2, #0] 804d12a: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804d12e: 4b64 ldr r3, [pc, #400] ; (804d2c0 ) 804d130: fba3 2300 umull r2, r3, r3, r0 804d134: 08da lsrs r2, r3, #3 804d136: 4613 mov r3, r2 804d138: 009b lsls r3, r3, #2 804d13a: 4413 add r3, r2 804d13c: 005b lsls r3, r3, #1 804d13e: 1ac2 subs r2, r0, r3 804d140: b2d3 uxtb r3, r2 804d142: 3330 adds r3, #48 ; 0x30 804d144: b2da uxtb r2, r3 804d146: 4b59 ldr r3, [pc, #356] ; (804d2ac ) 804d148: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804d14a: 4b5a ldr r3, [pc, #360] ; (804d2b4 ) 804d14c: 681b ldr r3, [r3, #0] 804d14e: 1c5a adds r2, r3, #1 804d150: 4958 ldr r1, [pc, #352] ; (804d2b4 ) 804d152: 600a str r2, [r1, #0] 804d154: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804d158: 4959 ldr r1, [pc, #356] ; (804d2c0 ) 804d15a: fba1 1202 umull r1, r2, r1, r2 804d15e: 08d2 lsrs r2, r2, #3 804d160: b2d2 uxtb r2, r2 804d162: 3230 adds r2, #48 ; 0x30 804d164: b2d1 uxtb r1, r2 804d166: 4a51 ldr r2, [pc, #324] ; (804d2ac ) 804d168: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804d16a: 4b52 ldr r3, [pc, #328] ; (804d2b4 ) 804d16c: 6819 ldr r1, [r3, #0] 804d16e: 1c4b adds r3, r1, #1 804d170: 4a50 ldr r2, [pc, #320] ; (804d2b4 ) 804d172: 6013 str r3, [r2, #0] 804d174: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804d178: 4b51 ldr r3, [pc, #324] ; (804d2c0 ) 804d17a: fba3 2300 umull r2, r3, r3, r0 804d17e: 08da lsrs r2, r3, #3 804d180: 4613 mov r3, r2 804d182: 009b lsls r3, r3, #2 804d184: 4413 add r3, r2 804d186: 005b lsls r3, r3, #1 804d188: 1ac2 subs r2, r0, r3 804d18a: b2d3 uxtb r3, r2 804d18c: 3330 adds r3, #48 ; 0x30 804d18e: b2da uxtb r2, r3 804d190: 4b46 ldr r3, [pc, #280] ; (804d2ac ) 804d192: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804d194: 4b47 ldr r3, [pc, #284] ; (804d2b4 ) 804d196: 681b ldr r3, [r3, #0] 804d198: 1c5a adds r2, r3, #1 804d19a: 4946 ldr r1, [pc, #280] ; (804d2b4 ) 804d19c: 600a str r2, [r1, #0] 804d19e: 4a43 ldr r2, [pc, #268] ; (804d2ac ) 804d1a0: 215f movs r1, #95 ; 0x5f 804d1a2: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804d1a4: 4b43 ldr r3, [pc, #268] ; (804d2b4 ) 804d1a6: 681b ldr r3, [r3, #0] 804d1a8: 1c5a adds r2, r3, #1 804d1aa: 4942 ldr r1, [pc, #264] ; (804d2b4 ) 804d1ac: 600a str r2, [r1, #0] 804d1ae: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804d1b2: 4943 ldr r1, [pc, #268] ; (804d2c0 ) 804d1b4: fba1 1202 umull r1, r2, r1, r2 804d1b8: 08d2 lsrs r2, r2, #3 804d1ba: b2d2 uxtb r2, r2 804d1bc: 3230 adds r2, #48 ; 0x30 804d1be: b2d1 uxtb r1, r2 804d1c0: 4a3a ldr r2, [pc, #232] ; (804d2ac ) 804d1c2: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804d1c4: 4b3b ldr r3, [pc, #236] ; (804d2b4 ) 804d1c6: 6819 ldr r1, [r3, #0] 804d1c8: 1c4b adds r3, r1, #1 804d1ca: 4a3a ldr r2, [pc, #232] ; (804d2b4 ) 804d1cc: 6013 str r3, [r2, #0] 804d1ce: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804d1d2: 4b3b ldr r3, [pc, #236] ; (804d2c0 ) 804d1d4: fba3 2300 umull r2, r3, r3, r0 804d1d8: 08da lsrs r2, r3, #3 804d1da: 4613 mov r3, r2 804d1dc: 009b lsls r3, r3, #2 804d1de: 4413 add r3, r2 804d1e0: 005b lsls r3, r3, #1 804d1e2: 1ac2 subs r2, r0, r3 804d1e4: b2d3 uxtb r3, r2 804d1e6: 3330 adds r3, #48 ; 0x30 804d1e8: b2da uxtb r2, r3 804d1ea: 4b30 ldr r3, [pc, #192] ; (804d2ac ) 804d1ec: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804d1ee: 4b31 ldr r3, [pc, #196] ; (804d2b4 ) 804d1f0: 681b ldr r3, [r3, #0] 804d1f2: 1c5a adds r2, r3, #1 804d1f4: 492f ldr r1, [pc, #188] ; (804d2b4 ) 804d1f6: 600a str r2, [r1, #0] 804d1f8: 6ffa ldr r2, [r7, #124] ; 0x7c 804d1fa: 4931 ldr r1, [pc, #196] ; (804d2c0 ) 804d1fc: fba1 1202 umull r1, r2, r1, r2 804d200: 08d2 lsrs r2, r2, #3 804d202: b2d2 uxtb r2, r2 804d204: 3230 adds r2, #48 ; 0x30 804d206: b2d1 uxtb r1, r2 804d208: 4a28 ldr r2, [pc, #160] ; (804d2ac ) 804d20a: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804d20c: 4b29 ldr r3, [pc, #164] ; (804d2b4 ) 804d20e: 6819 ldr r1, [r3, #0] 804d210: 1c4b adds r3, r1, #1 804d212: 4a28 ldr r2, [pc, #160] ; (804d2b4 ) 804d214: 6013 str r3, [r2, #0] 804d216: 6ff8 ldr r0, [r7, #124] ; 0x7c 804d218: 4b29 ldr r3, [pc, #164] ; (804d2c0 ) 804d21a: fba3 2300 umull r2, r3, r3, r0 804d21e: 08da lsrs r2, r3, #3 804d220: 4613 mov r3, r2 804d222: 009b lsls r3, r3, #2 804d224: 4413 add r3, r2 804d226: 005b lsls r3, r3, #1 804d228: 1ac2 subs r2, r0, r3 804d22a: b2d3 uxtb r3, r2 804d22c: 3330 adds r3, #48 ; 0x30 804d22e: b2da uxtb r2, r3 804d230: 4b1e ldr r3, [pc, #120] ; (804d2ac ) 804d232: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804d234: 4b1f ldr r3, [pc, #124] ; (804d2b4 ) 804d236: 681b ldr r3, [r3, #0] 804d238: 1c5a adds r2, r3, #1 804d23a: 491e ldr r1, [pc, #120] ; (804d2b4 ) 804d23c: 600a str r2, [r1, #0] 804d23e: 6fba ldr r2, [r7, #120] ; 0x78 804d240: 491f ldr r1, [pc, #124] ; (804d2c0 ) 804d242: fba1 1202 umull r1, r2, r1, r2 804d246: 08d2 lsrs r2, r2, #3 804d248: b2d2 uxtb r2, r2 804d24a: 3230 adds r2, #48 ; 0x30 804d24c: b2d1 uxtb r1, r2 804d24e: 4a17 ldr r2, [pc, #92] ; (804d2ac ) 804d250: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804d252: 4b18 ldr r3, [pc, #96] ; (804d2b4 ) 804d254: 6819 ldr r1, [r3, #0] 804d256: 1c4b adds r3, r1, #1 804d258: 4a16 ldr r2, [pc, #88] ; (804d2b4 ) 804d25a: 6013 str r3, [r2, #0] 804d25c: 6fb8 ldr r0, [r7, #120] ; 0x78 804d25e: 4b18 ldr r3, [pc, #96] ; (804d2c0 ) 804d260: fba3 2300 umull r2, r3, r3, r0 804d264: 08da lsrs r2, r3, #3 804d266: 4613 mov r3, r2 804d268: 009b lsls r3, r3, #2 804d26a: 4413 add r3, r2 804d26c: 005b lsls r3, r3, #1 804d26e: 1ac2 subs r2, r0, r3 804d270: b2d3 uxtb r3, r2 804d272: 3330 adds r3, #48 ; 0x30 804d274: b2da uxtb r2, r3 804d276: 4b0d ldr r3, [pc, #52] ; (804d2ac ) 804d278: 545a strb r2, [r3, r1] lastmenu = menu; 804d27a: 4b12 ldr r3, [pc, #72] ; (804d2c4 ) 804d27c: 781b ldrb r3, [r3, #0] 804d27e: b2da uxtb r2, r3 804d280: 4b11 ldr r3, [pc, #68] ; (804d2c8 ) 804d282: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804d284: 4b0f ldr r3, [pc, #60] ; (804d2c4 ) 804d286: 222f movs r2, #47 ; 0x2f 804d288: 701a strb r2, [r3, #0] menupos = _ENTER; 804d28a: 4b10 ldr r3, [pc, #64] ; (804d2cc ) 804d28c: 2226 movs r2, #38 ; 0x26 804d28e: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804d290: e02d b.n 804d2ee STATUS = AP_NO_CARD; 804d292: 4b0f ldr r3, [pc, #60] ; (804d2d0 ) 804d294: 2211 movs r2, #17 804d296: 601a str r2, [r3, #0] timerStatus = sec2; 804d298: 4b0e ldr r3, [pc, #56] ; (804d2d4 ) 804d29a: f44f 5280 mov.w r2, #4096 ; 0x1000 804d29e: 801a strh r2, [r3, #0] DrawStatus = true; 804d2a0: 4b0d ldr r3, [pc, #52] ; (804d2d8 ) 804d2a2: 2201 movs r2, #1 804d2a4: 701a strb r2, [r3, #0] break; 804d2a6: e022 b.n 804d2ee 804d2a8: 20023e60 .word 0x20023e60 804d2ac: 20025c80 .word 0x20025c80 804d2b0: 080ce688 .word 0x080ce688 804d2b4: 20020eec .word 0x20020eec 804d2b8: 10624dd3 .word 0x10624dd3 804d2bc: 51eb851f .word 0x51eb851f 804d2c0: cccccccd .word 0xcccccccd 804d2c4: 20020f78 .word 0x20020f78 804d2c8: 20020f79 .word 0x20020f79 804d2cc: 20020070 .word 0x20020070 804d2d0: 20020dcc .word 0x20020dcc 804d2d4: 2002168c .word 0x2002168c 804d2d8: 20020dd2 .word 0x20020dd2 break; 804d2dc: bf00 nop 804d2de: f005 bd0f b.w 8052d00 break; 804d2e2: bf00 nop 804d2e4: f005 bd0c b.w 8052d00 break; 804d2e8: bf00 nop 804d2ea: f005 bd09 b.w 8052d00 break; 804d2ee: bf00 nop } break; 804d2f0: f005 bd06 b.w 8052d00 case MAIN_SPEC_OKT: switch(menupos) 804d2f4: 4b73 ldr r3, [pc, #460] ; (804d4c4 ) 804d2f6: 781b ldrb r3, [r3, #0] 804d2f8: b2db uxtb r3, r3 804d2fa: 2b09 cmp r3, #9 804d2fc: f205 8502 bhi.w 8052d04 804d300: a201 add r2, pc, #4 ; (adr r2, 804d308 ) 804d302: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804d306: bf00 nop 804d308: 0804d343 .word 0x0804d343 804d30c: 0804d331 .word 0x0804d331 804d310: 0804d37f .word 0x0804d37f 804d314: 0804d37f .word 0x0804d37f 804d318: 0804d37f .word 0x0804d37f 804d31c: 0804d37f .word 0x0804d37f 804d320: 0804d37f .word 0x0804d37f 804d324: 08052d05 .word 0x08052d05 804d328: 08052d05 .word 0x08052d05 804d32c: 0804d387 .word 0x0804d387 { case BackMenu: StopMeas(); 804d330: f7d6 fa34 bl 802379c menu = PARAM_SPEC; 804d334: 4b64 ldr r3, [pc, #400] ; (804d4c8 ) 804d336: 2207 movs r2, #7 804d338: 701a strb r2, [r3, #0] menupos = Ok; 804d33a: 4b62 ldr r3, [pc, #392] ; (804d4c4 ) 804d33c: 2200 movs r2, #0 804d33e: 701a strb r2, [r3, #0] break; 804d340: e246 b.n 804d7d0 case StartStop: if(!measuring) 804d342: 4b62 ldr r3, [pc, #392] ; (804d4cc ) 804d344: 781b ldrb r3, [r3, #0] 804d346: b2db uxtb r3, r3 804d348: f083 0301 eor.w r3, r3, #1 804d34c: b2db uxtb r3, r3 804d34e: 2b00 cmp r3, #0 804d350: d00a beq.n 804d368 { AUTOZOOM = true; 804d352: 4b5f ldr r3, [pc, #380] ; (804d4d0 ) 804d354: 2201 movs r2, #1 804d356: 701a strb r2, [r3, #0] FIRST = true; 804d358: 4b5e ldr r3, [pc, #376] ; (804d4d4 ) 804d35a: 2201 movs r2, #1 804d35c: 701a strb r2, [r3, #0] initAmplif(); 804d35e: f7d4 fb99 bl 8021a94 StartMeas(); 804d362: f7d5 fe6b bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804d366: e233 b.n 804d7d0 StopMeas(); 804d368: f7d6 fa18 bl 802379c AUTOZOOM = true; 804d36c: 4b58 ldr r3, [pc, #352] ; (804d4d0 ) 804d36e: 2201 movs r2, #1 804d370: 701a strb r2, [r3, #0] oldmenupos = menupos; 804d372: 4b54 ldr r3, [pc, #336] ; (804d4c4 ) 804d374: 781b ldrb r3, [r3, #0] 804d376: b2da uxtb r2, r3 804d378: 4b57 ldr r3, [pc, #348] ; (804d4d8 ) 804d37a: 701a strb r2, [r3, #0] break; 804d37c: e228 b.n 804d7d0 case ImageLeft: case ImageRight: case ZoomIn: case ZoomOut: case Cursor: AUTOZOOM = true; 804d37e: 4b54 ldr r3, [pc, #336] ; (804d4d0 ) 804d380: 2201 movs r2, #1 804d382: 701a strb r2, [r3, #0] break; 804d384: e224 b.n 804d7d0 case SaveSpec: if(CardState == MSD_READY) 804d386: 4b55 ldr r3, [pc, #340] ; (804d4dc ) 804d388: 781b ldrb r3, [r3, #0] 804d38a: b2db uxtb r3, r3 804d38c: 2b03 cmp r3, #3 804d38e: f040 8214 bne.w 804d7ba { if(!measuring) 804d392: 4b4e ldr r3, [pc, #312] ; (804d4cc ) 804d394: 781b ldrb r3, [r3, #0] 804d396: b2db uxtb r3, r3 804d398: f083 0301 eor.w r3, r3, #1 804d39c: b2db uxtb r3, r3 804d39e: 2b00 cmp r3, #0 804d3a0: f000 8215 beq.w 804d7ce { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804d3a4: 2200 movs r2, #0 804d3a6: 494e ldr r1, [pc, #312] ; (804d4e0 ) 804d3a8: 484e ldr r0, [pc, #312] ; (804d4e4 ) 804d3aa: f06b fc39 bl 80b8c20 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804d3ae: 2200 movs r2, #0 804d3b0: 494d ldr r1, [pc, #308] ; (804d4e8 ) 804d3b2: 484c ldr r0, [pc, #304] ; (804d4e4 ) 804d3b4: f06b fd3a bl 80b8e2c Day = RTC_DateStruct.Date; 804d3b8: 4b4b ldr r3, [pc, #300] ; (804d4e8 ) 804d3ba: 789b ldrb r3, [r3, #2] 804d3bc: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804d3c0: 4b49 ldr r3, [pc, #292] ; (804d4e8 ) 804d3c2: 785b ldrb r3, [r3, #1] 804d3c4: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804d3c8: 4b47 ldr r3, [pc, #284] ; (804d4e8 ) 804d3ca: 78db ldrb r3, [r3, #3] 804d3cc: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804d3d0: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804d3d4: 4b42 ldr r3, [pc, #264] ; (804d4e0 ) 804d3d6: 781b ldrb r3, [r3, #0] 804d3d8: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804d3dc: 4b40 ldr r3, [pc, #256] ; (804d4e0 ) 804d3de: 785b ldrb r3, [r3, #1] 804d3e0: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804d3e2: 4b3f ldr r3, [pc, #252] ; (804d4e0 ) 804d3e4: 789b ldrb r3, [r3, #2] 804d3e6: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804d3e8: 2221 movs r2, #33 ; 0x21 804d3ea: 2100 movs r1, #0 804d3ec: 483f ldr r0, [pc, #252] ; (804d4ec ) 804d3ee: f07f fe47 bl 80cd080 strcpy(TEMP_MeasFileName,"1_1_"); 804d3f2: 4b3e ldr r3, [pc, #248] ; (804d4ec ) 804d3f4: 4a3e ldr r2, [pc, #248] ; (804d4f0 ) 804d3f6: 6810 ldr r0, [r2, #0] 804d3f8: 6018 str r0, [r3, #0] 804d3fa: 7912 ldrb r2, [r2, #4] 804d3fc: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804d3fe: 4b3d ldr r3, [pc, #244] ; (804d4f4 ) 804d400: 785b ldrb r3, [r3, #1] 804d402: b2db uxtb r3, r3 804d404: 2b00 cmp r3, #0 804d406: d10c bne.n 804d422 804d408: 4838 ldr r0, [pc, #224] ; (804d4ec ) 804d40a: f7d2 ff83 bl 8020314 804d40e: 4603 mov r3, r0 804d410: 461a mov r2, r3 804d412: 4b36 ldr r3, [pc, #216] ; (804d4ec ) 804d414: 4413 add r3, r2 804d416: 4938 ldr r1, [pc, #224] ; (804d4f8 ) 804d418: 461a mov r2, r3 804d41a: 460b mov r3, r1 804d41c: 881b ldrh r3, [r3, #0] 804d41e: 8013 strh r3, [r2, #0] 804d420: e022 b.n 804d468 else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804d422: 4b34 ldr r3, [pc, #208] ; (804d4f4 ) 804d424: 785b ldrb r3, [r3, #1] 804d426: b2db uxtb r3, r3 804d428: 2b01 cmp r3, #1 804d42a: d10c bne.n 804d446 804d42c: 482f ldr r0, [pc, #188] ; (804d4ec ) 804d42e: f7d2 ff71 bl 8020314 804d432: 4603 mov r3, r0 804d434: 461a mov r2, r3 804d436: 4b2d ldr r3, [pc, #180] ; (804d4ec ) 804d438: 4413 add r3, r2 804d43a: 4930 ldr r1, [pc, #192] ; (804d4fc ) 804d43c: 461a mov r2, r3 804d43e: 460b mov r3, r1 804d440: 881b ldrh r3, [r3, #0] 804d442: 8013 strh r3, [r2, #0] 804d444: e010 b.n 804d468 else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804d446: 4b2b ldr r3, [pc, #172] ; (804d4f4 ) 804d448: 785b ldrb r3, [r3, #1] 804d44a: b2db uxtb r3, r3 804d44c: 2b02 cmp r3, #2 804d44e: d10b bne.n 804d468 804d450: 4826 ldr r0, [pc, #152] ; (804d4ec ) 804d452: f7d2 ff5f bl 8020314 804d456: 4603 mov r3, r0 804d458: 461a mov r2, r3 804d45a: 4b24 ldr r3, [pc, #144] ; (804d4ec ) 804d45c: 4413 add r3, r2 804d45e: 4928 ldr r1, [pc, #160] ; (804d500 ) 804d460: 461a mov r2, r3 804d462: 460b mov r3, r1 804d464: 881b ldrh r3, [r3, #0] 804d466: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804d468: 4b22 ldr r3, [pc, #136] ; (804d4f4 ) 804d46a: 785b ldrb r3, [r3, #1] 804d46c: b2db uxtb r3, r3 804d46e: 461a mov r2, r3 804d470: 4b20 ldr r3, [pc, #128] ; (804d4f4 ) 804d472: 4413 add r3, r2 804d474: 789b ldrb r3, [r3, #2] 804d476: b2db uxtb r3, r3 804d478: 2b00 cmp r3, #0 804d47a: d10c bne.n 804d496 804d47c: 481b ldr r0, [pc, #108] ; (804d4ec ) 804d47e: f7d2 ff49 bl 8020314 804d482: 4603 mov r3, r0 804d484: 461a mov r2, r3 804d486: 4b19 ldr r3, [pc, #100] ; (804d4ec ) 804d488: 4413 add r3, r2 804d48a: 4a1e ldr r2, [pc, #120] ; (804d504 ) 804d48c: 6810 ldr r0, [r2, #0] 804d48e: 6018 str r0, [r3, #0] 804d490: 7912 ldrb r2, [r2, #4] 804d492: 711a strb r2, [r3, #4] 804d494: e052 b.n 804d53c else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804d496: 4b17 ldr r3, [pc, #92] ; (804d4f4 ) 804d498: 785b ldrb r3, [r3, #1] 804d49a: b2db uxtb r3, r3 804d49c: 461a mov r2, r3 804d49e: 4b15 ldr r3, [pc, #84] ; (804d4f4 ) 804d4a0: 4413 add r3, r2 804d4a2: 789b ldrb r3, [r3, #2] 804d4a4: b2db uxtb r3, r3 804d4a6: 2b01 cmp r3, #1 804d4a8: d130 bne.n 804d50c 804d4aa: 4810 ldr r0, [pc, #64] ; (804d4ec ) 804d4ac: f7d2 ff32 bl 8020314 804d4b0: 4603 mov r3, r0 804d4b2: 461a mov r2, r3 804d4b4: 4b0d ldr r3, [pc, #52] ; (804d4ec ) 804d4b6: 4413 add r3, r2 804d4b8: 4a13 ldr r2, [pc, #76] ; (804d508 ) 804d4ba: 6810 ldr r0, [r2, #0] 804d4bc: 6018 str r0, [r3, #0] 804d4be: 8892 ldrh r2, [r2, #4] 804d4c0: 809a strh r2, [r3, #4] 804d4c2: e03b b.n 804d53c 804d4c4: 20020070 .word 0x20020070 804d4c8: 20020f78 .word 0x20020f78 804d4cc: 20020daf .word 0x20020daf 804d4d0: 2002098c .word 0x2002098c 804d4d4: 20020db2 .word 0x20020db2 804d4d8: 20020f7a .word 0x20020f7a 804d4dc: 2002164c .word 0x2002164c 804d4e0: 20025c68 .word 0x20025c68 804d4e4: 20068598 .word 0x20068598 804d4e8: 20025cec .word 0x20025cec 804d4ec: 20025c80 .word 0x20025c80 804d4f0: 080ce698 .word 0x080ce698 804d4f4: 20023e60 .word 0x20023e60 804d4f8: 080ce66c .word 0x080ce66c 804d4fc: 080ce670 .word 0x080ce670 804d500: 080ce674 .word 0x080ce674 804d504: 080ce678 .word 0x080ce678 804d508: 080ce680 .word 0x080ce680 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804d50c: 4bb1 ldr r3, [pc, #708] ; (804d7d4 ) 804d50e: 785b ldrb r3, [r3, #1] 804d510: b2db uxtb r3, r3 804d512: 461a mov r2, r3 804d514: 4baf ldr r3, [pc, #700] ; (804d7d4 ) 804d516: 4413 add r3, r2 804d518: 789b ldrb r3, [r3, #2] 804d51a: b2db uxtb r3, r3 804d51c: 2b02 cmp r3, #2 804d51e: d10d bne.n 804d53c 804d520: 48ad ldr r0, [pc, #692] ; (804d7d8 ) 804d522: f7d2 fef7 bl 8020314 804d526: 4603 mov r3, r0 804d528: 461a mov r2, r3 804d52a: 4bab ldr r3, [pc, #684] ; (804d7d8 ) 804d52c: 4413 add r3, r2 804d52e: 4aab ldr r2, [pc, #684] ; (804d7dc ) 804d530: 6810 ldr r0, [r2, #0] 804d532: 6018 str r0, [r3, #0] 804d534: 8891 ldrh r1, [r2, #4] 804d536: 7992 ldrb r2, [r2, #6] 804d538: 8099 strh r1, [r3, #4] 804d53a: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804d53c: 48a6 ldr r0, [pc, #664] ; (804d7d8 ) 804d53e: f7d2 fee9 bl 8020314 804d542: 4602 mov r2, r0 804d544: 4ba6 ldr r3, [pc, #664] ; (804d7e0 ) 804d546: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804d548: 4ba5 ldr r3, [pc, #660] ; (804d7e0 ) 804d54a: 681b ldr r3, [r3, #0] 804d54c: 1c5a adds r2, r3, #1 804d54e: 49a4 ldr r1, [pc, #656] ; (804d7e0 ) 804d550: 600a str r2, [r1, #0] 804d552: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d556: 49a3 ldr r1, [pc, #652] ; (804d7e4 ) 804d558: fba1 1202 umull r1, r2, r1, r2 804d55c: 0992 lsrs r2, r2, #6 804d55e: b2d2 uxtb r2, r2 804d560: 3230 adds r2, #48 ; 0x30 804d562: b2d1 uxtb r1, r2 804d564: 4a9c ldr r2, [pc, #624] ; (804d7d8 ) 804d566: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804d568: 4b9d ldr r3, [pc, #628] ; (804d7e0 ) 804d56a: 681a ldr r2, [r3, #0] 804d56c: 1c53 adds r3, r2, #1 804d56e: 499c ldr r1, [pc, #624] ; (804d7e0 ) 804d570: 600b str r3, [r1, #0] 804d572: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804d576: 4b9b ldr r3, [pc, #620] ; (804d7e4 ) 804d578: fba3 0301 umull r0, r3, r3, r1 804d57c: 099b lsrs r3, r3, #6 804d57e: f44f 707a mov.w r0, #1000 ; 0x3e8 804d582: fb00 f303 mul.w r3, r0, r3 804d586: 1acb subs r3, r1, r3 804d588: 4997 ldr r1, [pc, #604] ; (804d7e8 ) 804d58a: fba1 1303 umull r1, r3, r1, r3 804d58e: 095b lsrs r3, r3, #5 804d590: b2db uxtb r3, r3 804d592: 3330 adds r3, #48 ; 0x30 804d594: b2d9 uxtb r1, r3 804d596: 4b90 ldr r3, [pc, #576] ; (804d7d8 ) 804d598: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804d59a: 4b91 ldr r3, [pc, #580] ; (804d7e0 ) 804d59c: 6819 ldr r1, [r3, #0] 804d59e: 1c4b adds r3, r1, #1 804d5a0: 4a8f ldr r2, [pc, #572] ; (804d7e0 ) 804d5a2: 6013 str r3, [r2, #0] 804d5a4: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d5a8: 4b8e ldr r3, [pc, #568] ; (804d7e4 ) 804d5aa: fba3 0302 umull r0, r3, r3, r2 804d5ae: 099b lsrs r3, r3, #6 804d5b0: f44f 707a mov.w r0, #1000 ; 0x3e8 804d5b4: fb00 f303 mul.w r3, r0, r3 804d5b8: 1ad3 subs r3, r2, r3 804d5ba: 4a8b ldr r2, [pc, #556] ; (804d7e8 ) 804d5bc: fba2 0203 umull r0, r2, r2, r3 804d5c0: 0952 lsrs r2, r2, #5 804d5c2: 2064 movs r0, #100 ; 0x64 804d5c4: fb00 f202 mul.w r2, r0, r2 804d5c8: 1a9a subs r2, r3, r2 804d5ca: 4b88 ldr r3, [pc, #544] ; (804d7ec ) 804d5cc: fba3 2302 umull r2, r3, r3, r2 804d5d0: 08db lsrs r3, r3, #3 804d5d2: b2db uxtb r3, r3 804d5d4: 3330 adds r3, #48 ; 0x30 804d5d6: b2da uxtb r2, r3 804d5d8: 4b7f ldr r3, [pc, #508] ; (804d7d8 ) 804d5da: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804d5dc: 4b80 ldr r3, [pc, #512] ; (804d7e0 ) 804d5de: 6818 ldr r0, [r3, #0] 804d5e0: 1c43 adds r3, r0, #1 804d5e2: 4a7f ldr r2, [pc, #508] ; (804d7e0 ) 804d5e4: 6013 str r3, [r2, #0] 804d5e6: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804d5ea: 4b7e ldr r3, [pc, #504] ; (804d7e4 ) 804d5ec: fba3 1302 umull r1, r3, r3, r2 804d5f0: 099b lsrs r3, r3, #6 804d5f2: f44f 717a mov.w r1, #1000 ; 0x3e8 804d5f6: fb01 f303 mul.w r3, r1, r3 804d5fa: 1ad3 subs r3, r2, r3 804d5fc: 4a7a ldr r2, [pc, #488] ; (804d7e8 ) 804d5fe: fba2 1203 umull r1, r2, r2, r3 804d602: 0952 lsrs r2, r2, #5 804d604: 2164 movs r1, #100 ; 0x64 804d606: fb01 f202 mul.w r2, r1, r2 804d60a: 1a9a subs r2, r3, r2 804d60c: 4b77 ldr r3, [pc, #476] ; (804d7ec ) 804d60e: fba3 1302 umull r1, r3, r3, r2 804d612: 08d9 lsrs r1, r3, #3 804d614: 460b mov r3, r1 804d616: 009b lsls r3, r3, #2 804d618: 440b add r3, r1 804d61a: 005b lsls r3, r3, #1 804d61c: 1ad1 subs r1, r2, r3 804d61e: b2cb uxtb r3, r1 804d620: 3330 adds r3, #48 ; 0x30 804d622: b2da uxtb r2, r3 804d624: 4b6c ldr r3, [pc, #432] ; (804d7d8 ) 804d626: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804d628: 4b6d ldr r3, [pc, #436] ; (804d7e0 ) 804d62a: 681b ldr r3, [r3, #0] 804d62c: 1c5a adds r2, r3, #1 804d62e: 496c ldr r1, [pc, #432] ; (804d7e0 ) 804d630: 600a str r2, [r1, #0] 804d632: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804d636: 496d ldr r1, [pc, #436] ; (804d7ec ) 804d638: fba1 1202 umull r1, r2, r1, r2 804d63c: 08d2 lsrs r2, r2, #3 804d63e: b2d2 uxtb r2, r2 804d640: 3230 adds r2, #48 ; 0x30 804d642: b2d1 uxtb r1, r2 804d644: 4a64 ldr r2, [pc, #400] ; (804d7d8 ) 804d646: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804d648: 4b65 ldr r3, [pc, #404] ; (804d7e0 ) 804d64a: 6819 ldr r1, [r3, #0] 804d64c: 1c4b adds r3, r1, #1 804d64e: 4a64 ldr r2, [pc, #400] ; (804d7e0 ) 804d650: 6013 str r3, [r2, #0] 804d652: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804d656: 4b65 ldr r3, [pc, #404] ; (804d7ec ) 804d658: fba3 2300 umull r2, r3, r3, r0 804d65c: 08da lsrs r2, r3, #3 804d65e: 4613 mov r3, r2 804d660: 009b lsls r3, r3, #2 804d662: 4413 add r3, r2 804d664: 005b lsls r3, r3, #1 804d666: 1ac2 subs r2, r0, r3 804d668: b2d3 uxtb r3, r2 804d66a: 3330 adds r3, #48 ; 0x30 804d66c: b2da uxtb r2, r3 804d66e: 4b5a ldr r3, [pc, #360] ; (804d7d8 ) 804d670: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804d672: 4b5b ldr r3, [pc, #364] ; (804d7e0 ) 804d674: 681b ldr r3, [r3, #0] 804d676: 1c5a adds r2, r3, #1 804d678: 4959 ldr r1, [pc, #356] ; (804d7e0 ) 804d67a: 600a str r2, [r1, #0] 804d67c: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804d680: 495a ldr r1, [pc, #360] ; (804d7ec ) 804d682: fba1 1202 umull r1, r2, r1, r2 804d686: 08d2 lsrs r2, r2, #3 804d688: b2d2 uxtb r2, r2 804d68a: 3230 adds r2, #48 ; 0x30 804d68c: b2d1 uxtb r1, r2 804d68e: 4a52 ldr r2, [pc, #328] ; (804d7d8 ) 804d690: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804d692: 4b53 ldr r3, [pc, #332] ; (804d7e0 ) 804d694: 6819 ldr r1, [r3, #0] 804d696: 1c4b adds r3, r1, #1 804d698: 4a51 ldr r2, [pc, #324] ; (804d7e0 ) 804d69a: 6013 str r3, [r2, #0] 804d69c: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804d6a0: 4b52 ldr r3, [pc, #328] ; (804d7ec ) 804d6a2: fba3 2300 umull r2, r3, r3, r0 804d6a6: 08da lsrs r2, r3, #3 804d6a8: 4613 mov r3, r2 804d6aa: 009b lsls r3, r3, #2 804d6ac: 4413 add r3, r2 804d6ae: 005b lsls r3, r3, #1 804d6b0: 1ac2 subs r2, r0, r3 804d6b2: b2d3 uxtb r3, r2 804d6b4: 3330 adds r3, #48 ; 0x30 804d6b6: b2da uxtb r2, r3 804d6b8: 4b47 ldr r3, [pc, #284] ; (804d7d8 ) 804d6ba: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804d6bc: 4b48 ldr r3, [pc, #288] ; (804d7e0 ) 804d6be: 681b ldr r3, [r3, #0] 804d6c0: 1c5a adds r2, r3, #1 804d6c2: 4947 ldr r1, [pc, #284] ; (804d7e0 ) 804d6c4: 600a str r2, [r1, #0] 804d6c6: 4a44 ldr r2, [pc, #272] ; (804d7d8 ) 804d6c8: 215f movs r1, #95 ; 0x5f 804d6ca: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804d6cc: 4b44 ldr r3, [pc, #272] ; (804d7e0 ) 804d6ce: 681b ldr r3, [r3, #0] 804d6d0: 1c5a adds r2, r3, #1 804d6d2: 4943 ldr r1, [pc, #268] ; (804d7e0 ) 804d6d4: 600a str r2, [r1, #0] 804d6d6: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804d6da: 4944 ldr r1, [pc, #272] ; (804d7ec ) 804d6dc: fba1 1202 umull r1, r2, r1, r2 804d6e0: 08d2 lsrs r2, r2, #3 804d6e2: b2d2 uxtb r2, r2 804d6e4: 3230 adds r2, #48 ; 0x30 804d6e6: b2d1 uxtb r1, r2 804d6e8: 4a3b ldr r2, [pc, #236] ; (804d7d8 ) 804d6ea: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804d6ec: 4b3c ldr r3, [pc, #240] ; (804d7e0 ) 804d6ee: 6819 ldr r1, [r3, #0] 804d6f0: 1c4b adds r3, r1, #1 804d6f2: 4a3b ldr r2, [pc, #236] ; (804d7e0 ) 804d6f4: 6013 str r3, [r2, #0] 804d6f6: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804d6fa: 4b3c ldr r3, [pc, #240] ; (804d7ec ) 804d6fc: fba3 2300 umull r2, r3, r3, r0 804d700: 08da lsrs r2, r3, #3 804d702: 4613 mov r3, r2 804d704: 009b lsls r3, r3, #2 804d706: 4413 add r3, r2 804d708: 005b lsls r3, r3, #1 804d70a: 1ac2 subs r2, r0, r3 804d70c: b2d3 uxtb r3, r2 804d70e: 3330 adds r3, #48 ; 0x30 804d710: b2da uxtb r2, r3 804d712: 4b31 ldr r3, [pc, #196] ; (804d7d8 ) 804d714: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804d716: 4b32 ldr r3, [pc, #200] ; (804d7e0 ) 804d718: 681b ldr r3, [r3, #0] 804d71a: 1c5a adds r2, r3, #1 804d71c: 4930 ldr r1, [pc, #192] ; (804d7e0 ) 804d71e: 600a str r2, [r1, #0] 804d720: 6ffa ldr r2, [r7, #124] ; 0x7c 804d722: 4932 ldr r1, [pc, #200] ; (804d7ec ) 804d724: fba1 1202 umull r1, r2, r1, r2 804d728: 08d2 lsrs r2, r2, #3 804d72a: b2d2 uxtb r2, r2 804d72c: 3230 adds r2, #48 ; 0x30 804d72e: b2d1 uxtb r1, r2 804d730: 4a29 ldr r2, [pc, #164] ; (804d7d8 ) 804d732: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804d734: 4b2a ldr r3, [pc, #168] ; (804d7e0 ) 804d736: 6819 ldr r1, [r3, #0] 804d738: 1c4b adds r3, r1, #1 804d73a: 4a29 ldr r2, [pc, #164] ; (804d7e0 ) 804d73c: 6013 str r3, [r2, #0] 804d73e: 6ff8 ldr r0, [r7, #124] ; 0x7c 804d740: 4b2a ldr r3, [pc, #168] ; (804d7ec ) 804d742: fba3 2300 umull r2, r3, r3, r0 804d746: 08da lsrs r2, r3, #3 804d748: 4613 mov r3, r2 804d74a: 009b lsls r3, r3, #2 804d74c: 4413 add r3, r2 804d74e: 005b lsls r3, r3, #1 804d750: 1ac2 subs r2, r0, r3 804d752: b2d3 uxtb r3, r2 804d754: 3330 adds r3, #48 ; 0x30 804d756: b2da uxtb r2, r3 804d758: 4b1f ldr r3, [pc, #124] ; (804d7d8 ) 804d75a: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804d75c: 4b20 ldr r3, [pc, #128] ; (804d7e0 ) 804d75e: 681b ldr r3, [r3, #0] 804d760: 1c5a adds r2, r3, #1 804d762: 491f ldr r1, [pc, #124] ; (804d7e0 ) 804d764: 600a str r2, [r1, #0] 804d766: 6fba ldr r2, [r7, #120] ; 0x78 804d768: 4920 ldr r1, [pc, #128] ; (804d7ec ) 804d76a: fba1 1202 umull r1, r2, r1, r2 804d76e: 08d2 lsrs r2, r2, #3 804d770: b2d2 uxtb r2, r2 804d772: 3230 adds r2, #48 ; 0x30 804d774: b2d1 uxtb r1, r2 804d776: 4a18 ldr r2, [pc, #96] ; (804d7d8 ) 804d778: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804d77a: 4b19 ldr r3, [pc, #100] ; (804d7e0 ) 804d77c: 6819 ldr r1, [r3, #0] 804d77e: 1c4b adds r3, r1, #1 804d780: 4a17 ldr r2, [pc, #92] ; (804d7e0 ) 804d782: 6013 str r3, [r2, #0] 804d784: 6fb8 ldr r0, [r7, #120] ; 0x78 804d786: 4b19 ldr r3, [pc, #100] ; (804d7ec ) 804d788: fba3 2300 umull r2, r3, r3, r0 804d78c: 08da lsrs r2, r3, #3 804d78e: 4613 mov r3, r2 804d790: 009b lsls r3, r3, #2 804d792: 4413 add r3, r2 804d794: 005b lsls r3, r3, #1 804d796: 1ac2 subs r2, r0, r3 804d798: b2d3 uxtb r3, r2 804d79a: 3330 adds r3, #48 ; 0x30 804d79c: b2da uxtb r2, r3 804d79e: 4b0e ldr r3, [pc, #56] ; (804d7d8 ) 804d7a0: 545a strb r2, [r3, r1] lastmenu = menu; 804d7a2: 4b13 ldr r3, [pc, #76] ; (804d7f0 ) 804d7a4: 781b ldrb r3, [r3, #0] 804d7a6: b2da uxtb r2, r3 804d7a8: 4b12 ldr r3, [pc, #72] ; (804d7f4 ) 804d7aa: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804d7ac: 4b10 ldr r3, [pc, #64] ; (804d7f0 ) 804d7ae: 222f movs r2, #47 ; 0x2f 804d7b0: 701a strb r2, [r3, #0] menupos = _ENTER; 804d7b2: 4b11 ldr r3, [pc, #68] ; (804d7f8 ) 804d7b4: 2226 movs r2, #38 ; 0x26 804d7b6: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804d7b8: e009 b.n 804d7ce STATUS = AP_NO_CARD; 804d7ba: 4b10 ldr r3, [pc, #64] ; (804d7fc ) 804d7bc: 2211 movs r2, #17 804d7be: 601a str r2, [r3, #0] timerStatus = sec2; 804d7c0: 4b0f ldr r3, [pc, #60] ; (804d800 ) 804d7c2: f44f 5280 mov.w r2, #4096 ; 0x1000 804d7c6: 801a strh r2, [r3, #0] DrawStatus = true; 804d7c8: 4b0e ldr r3, [pc, #56] ; (804d804 ) 804d7ca: 2201 movs r2, #1 804d7cc: 701a strb r2, [r3, #0] break; 804d7ce: bf00 nop } break; 804d7d0: f005 ba98 b.w 8052d04 804d7d4: 20023e60 .word 0x20023e60 804d7d8: 20025c80 .word 0x20025c80 804d7dc: 080ce688 .word 0x080ce688 804d7e0: 20020eec .word 0x20020eec 804d7e4: 10624dd3 .word 0x10624dd3 804d7e8: 51eb851f .word 0x51eb851f 804d7ec: cccccccd .word 0xcccccccd 804d7f0: 20020f78 .word 0x20020f78 804d7f4: 20020f79 .word 0x20020f79 804d7f8: 20020070 .word 0x20020070 804d7fc: 20020dcc .word 0x20020dcc 804d800: 2002168c .word 0x2002168c 804d804: 20020dd2 .word 0x20020dd2 case MAIN_SPEC_THIRD: switch(menupos) 804d808: 4b73 ldr r3, [pc, #460] ; (804d9d8 ) 804d80a: 781b ldrb r3, [r3, #0] 804d80c: b2db uxtb r3, r3 804d80e: 2b09 cmp r3, #9 804d810: f205 827a bhi.w 8052d08 804d814: a201 add r2, pc, #4 ; (adr r2, 804d81c ) 804d816: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804d81a: bf00 nop 804d81c: 0804d857 .word 0x0804d857 804d820: 0804d845 .word 0x0804d845 804d824: 0804d893 .word 0x0804d893 804d828: 0804d893 .word 0x0804d893 804d82c: 0804d893 .word 0x0804d893 804d830: 0804d893 .word 0x0804d893 804d834: 0804d893 .word 0x0804d893 804d838: 08052d09 .word 0x08052d09 804d83c: 08052d09 .word 0x08052d09 804d840: 0804d89b .word 0x0804d89b { case BackMenu: StopMeas(); 804d844: f7d5 ffaa bl 802379c menu = PARAM_SPEC; 804d848: 4b64 ldr r3, [pc, #400] ; (804d9dc ) 804d84a: 2207 movs r2, #7 804d84c: 701a strb r2, [r3, #0] menupos = Ok; 804d84e: 4b62 ldr r3, [pc, #392] ; (804d9d8 ) 804d850: 2200 movs r2, #0 804d852: 701a strb r2, [r3, #0] break; 804d854: e246 b.n 804dce4 case StartStop: if(!measuring) 804d856: 4b62 ldr r3, [pc, #392] ; (804d9e0 ) 804d858: 781b ldrb r3, [r3, #0] 804d85a: b2db uxtb r3, r3 804d85c: f083 0301 eor.w r3, r3, #1 804d860: b2db uxtb r3, r3 804d862: 2b00 cmp r3, #0 804d864: d00a beq.n 804d87c { AUTOZOOM = true; 804d866: 4b5f ldr r3, [pc, #380] ; (804d9e4 ) 804d868: 2201 movs r2, #1 804d86a: 701a strb r2, [r3, #0] FIRST = true; 804d86c: 4b5e ldr r3, [pc, #376] ; (804d9e8 ) 804d86e: 2201 movs r2, #1 804d870: 701a strb r2, [r3, #0] initAmplif(); 804d872: f7d4 f90f bl 8021a94 StartMeas(); 804d876: f7d5 fbe1 bl 802303c { StopMeas(); AUTOZOOM = true; oldmenupos = menupos; } break; 804d87a: e233 b.n 804dce4 StopMeas(); 804d87c: f7d5 ff8e bl 802379c AUTOZOOM = true; 804d880: 4b58 ldr r3, [pc, #352] ; (804d9e4 ) 804d882: 2201 movs r2, #1 804d884: 701a strb r2, [r3, #0] oldmenupos = menupos; 804d886: 4b54 ldr r3, [pc, #336] ; (804d9d8 ) 804d888: 781b ldrb r3, [r3, #0] 804d88a: b2da uxtb r2, r3 804d88c: 4b57 ldr r3, [pc, #348] ; (804d9ec ) 804d88e: 701a strb r2, [r3, #0] break; 804d890: e228 b.n 804dce4 case ImageLeft: case ImageRight: case ZoomIn: case ZoomOut: case Cursor: AUTOZOOM = true; 804d892: 4b54 ldr r3, [pc, #336] ; (804d9e4 ) 804d894: 2201 movs r2, #1 804d896: 701a strb r2, [r3, #0] break; 804d898: e224 b.n 804dce4 case SaveSpec: if(CardState == MSD_READY) 804d89a: 4b55 ldr r3, [pc, #340] ; (804d9f0 ) 804d89c: 781b ldrb r3, [r3, #0] 804d89e: b2db uxtb r3, r3 804d8a0: 2b03 cmp r3, #3 804d8a2: f040 8214 bne.w 804dcce { if(!measuring) 804d8a6: 4b4e ldr r3, [pc, #312] ; (804d9e0 ) 804d8a8: 781b ldrb r3, [r3, #0] 804d8aa: b2db uxtb r3, r3 804d8ac: f083 0301 eor.w r3, r3, #1 804d8b0: b2db uxtb r3, r3 804d8b2: 2b00 cmp r3, #0 804d8b4: f000 8215 beq.w 804dce2 { HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 804d8b8: 2200 movs r2, #0 804d8ba: 494e ldr r1, [pc, #312] ; (804d9f4 ) 804d8bc: 484e ldr r0, [pc, #312] ; (804d9f8 ) 804d8be: f06b f9af bl 80b8c20 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 804d8c2: 2200 movs r2, #0 804d8c4: 494d ldr r1, [pc, #308] ; (804d9fc ) 804d8c6: 484c ldr r0, [pc, #304] ; (804d9f8 ) 804d8c8: f06b fab0 bl 80b8e2c Day = RTC_DateStruct.Date; 804d8cc: 4b4b ldr r3, [pc, #300] ; (804d9fc ) 804d8ce: 789b ldrb r3, [r3, #2] 804d8d0: f8c7 308c str.w r3, [r7, #140] ; 0x8c Month = RTC_DateStruct.Month; 804d8d4: 4b49 ldr r3, [pc, #292] ; (804d9fc ) 804d8d6: 785b ldrb r3, [r3, #1] 804d8d8: f8c7 3088 str.w r3, [r7, #136] ; 0x88 Year = RTC_DateStruct.Year + 2000; 804d8dc: 4b47 ldr r3, [pc, #284] ; (804d9fc ) 804d8de: 78db ldrb r3, [r3, #3] 804d8e0: f503 63fa add.w r3, r3, #2000 ; 0x7d0 804d8e4: f8c7 3084 str.w r3, [r7, #132] ; 0x84 Hour = RTC_TimeStruct.Hours; 804d8e8: 4b42 ldr r3, [pc, #264] ; (804d9f4 ) 804d8ea: 781b ldrb r3, [r3, #0] 804d8ec: f8c7 3080 str.w r3, [r7, #128] ; 0x80 Min = RTC_TimeStruct.Minutes; 804d8f0: 4b40 ldr r3, [pc, #256] ; (804d9f4 ) 804d8f2: 785b ldrb r3, [r3, #1] 804d8f4: 67fb str r3, [r7, #124] ; 0x7c Sec = RTC_TimeStruct.Seconds; 804d8f6: 4b3f ldr r3, [pc, #252] ; (804d9f4 ) 804d8f8: 789b ldrb r3, [r3, #2] 804d8fa: 67bb str r3, [r7, #120] ; 0x78 memset(TEMP_MeasFileName, 0, sizeof(TEMP_MeasFileName)); 804d8fc: 2221 movs r2, #33 ; 0x21 804d8fe: 2100 movs r1, #0 804d900: 483f ldr r0, [pc, #252] ; (804da00 ) 804d902: f07f fbbd bl 80cd080 strcpy(TEMP_MeasFileName,"1_3_"); 804d906: 4b3e ldr r3, [pc, #248] ; (804da00 ) 804d908: 4a3e ldr r2, [pc, #248] ; (804da04 ) 804d90a: 6810 ldr r0, [r2, #0] 804d90c: 6018 str r0, [r3, #0] 804d90e: 7912 ldrb r2, [r2, #4] 804d910: 711a strb r2, [r3, #4] if(pardata.IPR == ACC) strcat(TEMP_MeasFileName, "A"); 804d912: 4b3d ldr r3, [pc, #244] ; (804da08 ) 804d914: 785b ldrb r3, [r3, #1] 804d916: b2db uxtb r3, r3 804d918: 2b00 cmp r3, #0 804d91a: d10c bne.n 804d936 804d91c: 4838 ldr r0, [pc, #224] ; (804da00 ) 804d91e: f7d2 fcf9 bl 8020314 804d922: 4603 mov r3, r0 804d924: 461a mov r2, r3 804d926: 4b36 ldr r3, [pc, #216] ; (804da00 ) 804d928: 4413 add r3, r2 804d92a: 4938 ldr r1, [pc, #224] ; (804da0c ) 804d92c: 461a mov r2, r3 804d92e: 460b mov r3, r1 804d930: 881b ldrh r3, [r3, #0] 804d932: 8013 strh r3, [r2, #0] 804d934: e022 b.n 804d97c else if(pardata.IPR == VEL) strcat(TEMP_MeasFileName, "V"); 804d936: 4b34 ldr r3, [pc, #208] ; (804da08 ) 804d938: 785b ldrb r3, [r3, #1] 804d93a: b2db uxtb r3, r3 804d93c: 2b01 cmp r3, #1 804d93e: d10c bne.n 804d95a 804d940: 482f ldr r0, [pc, #188] ; (804da00 ) 804d942: f7d2 fce7 bl 8020314 804d946: 4603 mov r3, r0 804d948: 461a mov r2, r3 804d94a: 4b2d ldr r3, [pc, #180] ; (804da00 ) 804d94c: 4413 add r3, r2 804d94e: 4930 ldr r1, [pc, #192] ; (804da10 ) 804d950: 461a mov r2, r3 804d952: 460b mov r3, r1 804d954: 881b ldrh r3, [r3, #0] 804d956: 8013 strh r3, [r2, #0] 804d958: e010 b.n 804d97c else if(pardata.IPR == DIS) strcat(TEMP_MeasFileName, "S"); 804d95a: 4b2b ldr r3, [pc, #172] ; (804da08 ) 804d95c: 785b ldrb r3, [r3, #1] 804d95e: b2db uxtb r3, r3 804d960: 2b02 cmp r3, #2 804d962: d10b bne.n 804d97c 804d964: 4826 ldr r0, [pc, #152] ; (804da00 ) 804d966: f7d2 fcd5 bl 8020314 804d96a: 4603 mov r3, r0 804d96c: 461a mov r2, r3 804d96e: 4b24 ldr r3, [pc, #144] ; (804da00 ) 804d970: 4413 add r3, r2 804d972: 4928 ldr r1, [pc, #160] ; (804da14 ) 804d974: 461a mov r2, r3 804d976: 460b mov r3, r1 804d978: 881b ldrh r3, [r3, #0] 804d97a: 8013 strh r3, [r2, #0] if(pardata.IVS[pardata.IPR] == PEAK) strcat(TEMP_MeasFileName, "_PK_"); 804d97c: 4b22 ldr r3, [pc, #136] ; (804da08 ) 804d97e: 785b ldrb r3, [r3, #1] 804d980: b2db uxtb r3, r3 804d982: 461a mov r2, r3 804d984: 4b20 ldr r3, [pc, #128] ; (804da08 ) 804d986: 4413 add r3, r2 804d988: 789b ldrb r3, [r3, #2] 804d98a: b2db uxtb r3, r3 804d98c: 2b00 cmp r3, #0 804d98e: d10c bne.n 804d9aa 804d990: 481b ldr r0, [pc, #108] ; (804da00 ) 804d992: f7d2 fcbf bl 8020314 804d996: 4603 mov r3, r0 804d998: 461a mov r2, r3 804d99a: 4b19 ldr r3, [pc, #100] ; (804da00 ) 804d99c: 4413 add r3, r2 804d99e: 4a1e ldr r2, [pc, #120] ; (804da18 ) 804d9a0: 6810 ldr r0, [r2, #0] 804d9a2: 6018 str r0, [r3, #0] 804d9a4: 7912 ldrb r2, [r2, #4] 804d9a6: 711a strb r2, [r3, #4] 804d9a8: e052 b.n 804da50 else if(pardata.IVS[pardata.IPR] == RMS) strcat(TEMP_MeasFileName, "_RMS_"); 804d9aa: 4b17 ldr r3, [pc, #92] ; (804da08 ) 804d9ac: 785b ldrb r3, [r3, #1] 804d9ae: b2db uxtb r3, r3 804d9b0: 461a mov r2, r3 804d9b2: 4b15 ldr r3, [pc, #84] ; (804da08 ) 804d9b4: 4413 add r3, r2 804d9b6: 789b ldrb r3, [r3, #2] 804d9b8: b2db uxtb r3, r3 804d9ba: 2b01 cmp r3, #1 804d9bc: d130 bne.n 804da20 804d9be: 4810 ldr r0, [pc, #64] ; (804da00 ) 804d9c0: f7d2 fca8 bl 8020314 804d9c4: 4603 mov r3, r0 804d9c6: 461a mov r2, r3 804d9c8: 4b0d ldr r3, [pc, #52] ; (804da00 ) 804d9ca: 4413 add r3, r2 804d9cc: 4a13 ldr r2, [pc, #76] ; (804da1c ) 804d9ce: 6810 ldr r0, [r2, #0] 804d9d0: 6018 str r0, [r3, #0] 804d9d2: 8892 ldrh r2, [r2, #4] 804d9d4: 809a strh r2, [r3, #4] 804d9d6: e03b b.n 804da50 804d9d8: 20020070 .word 0x20020070 804d9dc: 20020f78 .word 0x20020f78 804d9e0: 20020daf .word 0x20020daf 804d9e4: 2002098c .word 0x2002098c 804d9e8: 20020db2 .word 0x20020db2 804d9ec: 20020f7a .word 0x20020f7a 804d9f0: 2002164c .word 0x2002164c 804d9f4: 20025c68 .word 0x20025c68 804d9f8: 20068598 .word 0x20068598 804d9fc: 20025cec .word 0x20025cec 804da00: 20025c80 .word 0x20025c80 804da04: 080ce6a0 .word 0x080ce6a0 804da08: 20023e60 .word 0x20023e60 804da0c: 080ce66c .word 0x080ce66c 804da10: 080ce670 .word 0x080ce670 804da14: 080ce674 .word 0x080ce674 804da18: 080ce678 .word 0x080ce678 804da1c: 080ce680 .word 0x080ce680 else if(pardata.IVS[pardata.IPR] == PEAK_TO_PEAK) strcat(TEMP_MeasFileName, "_PKPK_"); 804da20: 4bb1 ldr r3, [pc, #708] ; (804dce8 ) 804da22: 785b ldrb r3, [r3, #1] 804da24: b2db uxtb r3, r3 804da26: 461a mov r2, r3 804da28: 4baf ldr r3, [pc, #700] ; (804dce8 ) 804da2a: 4413 add r3, r2 804da2c: 789b ldrb r3, [r3, #2] 804da2e: b2db uxtb r3, r3 804da30: 2b02 cmp r3, #2 804da32: d10d bne.n 804da50 804da34: 48ad ldr r0, [pc, #692] ; (804dcec ) 804da36: f7d2 fc6d bl 8020314 804da3a: 4603 mov r3, r0 804da3c: 461a mov r2, r3 804da3e: 4bab ldr r3, [pc, #684] ; (804dcec ) 804da40: 4413 add r3, r2 804da42: 4aab ldr r2, [pc, #684] ; (804dcf0 ) 804da44: 6810 ldr r0, [r2, #0] 804da46: 6018 str r0, [r3, #0] 804da48: 8891 ldrh r1, [r2, #4] 804da4a: 7992 ldrb r2, [r2, #6] 804da4c: 8099 strh r1, [r3, #4] 804da4e: 719a strb r2, [r3, #6] MeasFileNameLen = strlen(TEMP_MeasFileName); 804da50: 48a6 ldr r0, [pc, #664] ; (804dcec ) 804da52: f7d2 fc5f bl 8020314 804da56: 4602 mov r2, r0 804da58: 4ba6 ldr r3, [pc, #664] ; (804dcf4 ) 804da5a: 601a str r2, [r3, #0] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Year / 1000) + 48); 804da5c: 4ba5 ldr r3, [pc, #660] ; (804dcf4 ) 804da5e: 681b ldr r3, [r3, #0] 804da60: 1c5a adds r2, r3, #1 804da62: 49a4 ldr r1, [pc, #656] ; (804dcf4 ) 804da64: 600a str r2, [r1, #0] 804da66: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804da6a: 49a3 ldr r1, [pc, #652] ; (804dcf8 ) 804da6c: fba1 1202 umull r1, r2, r1, r2 804da70: 0992 lsrs r2, r2, #6 804da72: b2d2 uxtb r2, r2 804da74: 3230 adds r2, #48 ; 0x30 804da76: b2d1 uxtb r1, r2 804da78: 4a9c ldr r2, [pc, #624] ; (804dcec ) 804da7a: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) (((Year % 1000) / 100) + 48); 804da7c: 4b9d ldr r3, [pc, #628] ; (804dcf4 ) 804da7e: 681a ldr r2, [r3, #0] 804da80: 1c53 adds r3, r2, #1 804da82: 499c ldr r1, [pc, #624] ; (804dcf4 ) 804da84: 600b str r3, [r1, #0] 804da86: f8d7 1084 ldr.w r1, [r7, #132] ; 0x84 804da8a: 4b9b ldr r3, [pc, #620] ; (804dcf8 ) 804da8c: fba3 0301 umull r0, r3, r3, r1 804da90: 099b lsrs r3, r3, #6 804da92: f44f 707a mov.w r0, #1000 ; 0x3e8 804da96: fb00 f303 mul.w r3, r0, r3 804da9a: 1acb subs r3, r1, r3 804da9c: 4997 ldr r1, [pc, #604] ; (804dcfc ) 804da9e: fba1 1303 umull r1, r3, r1, r3 804daa2: 095b lsrs r3, r3, #5 804daa4: b2db uxtb r3, r3 804daa6: 3330 adds r3, #48 ; 0x30 804daa8: b2d9 uxtb r1, r3 804daaa: 4b90 ldr r3, [pc, #576] ; (804dcec ) 804daac: 5499 strb r1, [r3, r2] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) / 10) + 48); 804daae: 4b91 ldr r3, [pc, #580] ; (804dcf4 ) 804dab0: 6819 ldr r1, [r3, #0] 804dab2: 1c4b adds r3, r1, #1 804dab4: 4a8f ldr r2, [pc, #572] ; (804dcf4 ) 804dab6: 6013 str r3, [r2, #0] 804dab8: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804dabc: 4b8e ldr r3, [pc, #568] ; (804dcf8 ) 804dabe: fba3 0302 umull r0, r3, r3, r2 804dac2: 099b lsrs r3, r3, #6 804dac4: f44f 707a mov.w r0, #1000 ; 0x3e8 804dac8: fb00 f303 mul.w r3, r0, r3 804dacc: 1ad3 subs r3, r2, r3 804dace: 4a8b ldr r2, [pc, #556] ; (804dcfc ) 804dad0: fba2 0203 umull r0, r2, r2, r3 804dad4: 0952 lsrs r2, r2, #5 804dad6: 2064 movs r0, #100 ; 0x64 804dad8: fb00 f202 mul.w r2, r0, r2 804dadc: 1a9a subs r2, r3, r2 804dade: 4b88 ldr r3, [pc, #544] ; (804dd00 ) 804dae0: fba3 2302 umull r2, r3, r3, r2 804dae4: 08db lsrs r3, r3, #3 804dae6: b2db uxtb r3, r3 804dae8: 3330 adds r3, #48 ; 0x30 804daea: b2da uxtb r2, r3 804daec: 4b7f ldr r3, [pc, #508] ; (804dcec ) 804daee: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((((Year % 1000) % 100) % 10) + 48); 804daf0: 4b80 ldr r3, [pc, #512] ; (804dcf4 ) 804daf2: 6818 ldr r0, [r3, #0] 804daf4: 1c43 adds r3, r0, #1 804daf6: 4a7f ldr r2, [pc, #508] ; (804dcf4 ) 804daf8: 6013 str r3, [r2, #0] 804dafa: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 804dafe: 4b7e ldr r3, [pc, #504] ; (804dcf8 ) 804db00: fba3 1302 umull r1, r3, r3, r2 804db04: 099b lsrs r3, r3, #6 804db06: f44f 717a mov.w r1, #1000 ; 0x3e8 804db0a: fb01 f303 mul.w r3, r1, r3 804db0e: 1ad3 subs r3, r2, r3 804db10: 4a7a ldr r2, [pc, #488] ; (804dcfc ) 804db12: fba2 1203 umull r1, r2, r2, r3 804db16: 0952 lsrs r2, r2, #5 804db18: 2164 movs r1, #100 ; 0x64 804db1a: fb01 f202 mul.w r2, r1, r2 804db1e: 1a9a subs r2, r3, r2 804db20: 4b77 ldr r3, [pc, #476] ; (804dd00 ) 804db22: fba3 1302 umull r1, r3, r3, r2 804db26: 08d9 lsrs r1, r3, #3 804db28: 460b mov r3, r1 804db2a: 009b lsls r3, r3, #2 804db2c: 440b add r3, r1 804db2e: 005b lsls r3, r3, #1 804db30: 1ad1 subs r1, r2, r3 804db32: b2cb uxtb r3, r1 804db34: 3330 adds r3, #48 ; 0x30 804db36: b2da uxtb r2, r3 804db38: 4b6c ldr r3, [pc, #432] ; (804dcec ) 804db3a: 541a strb r2, [r3, r0] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month / 10) + 48); 804db3c: 4b6d ldr r3, [pc, #436] ; (804dcf4 ) 804db3e: 681b ldr r3, [r3, #0] 804db40: 1c5a adds r2, r3, #1 804db42: 496c ldr r1, [pc, #432] ; (804dcf4 ) 804db44: 600a str r2, [r1, #0] 804db46: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 804db4a: 496d ldr r1, [pc, #436] ; (804dd00 ) 804db4c: fba1 1202 umull r1, r2, r1, r2 804db50: 08d2 lsrs r2, r2, #3 804db52: b2d2 uxtb r2, r2 804db54: 3230 adds r2, #48 ; 0x30 804db56: b2d1 uxtb r1, r2 804db58: 4a64 ldr r2, [pc, #400] ; (804dcec ) 804db5a: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Month % 10) + 48); 804db5c: 4b65 ldr r3, [pc, #404] ; (804dcf4 ) 804db5e: 6819 ldr r1, [r3, #0] 804db60: 1c4b adds r3, r1, #1 804db62: 4a64 ldr r2, [pc, #400] ; (804dcf4 ) 804db64: 6013 str r3, [r2, #0] 804db66: f8d7 0088 ldr.w r0, [r7, #136] ; 0x88 804db6a: 4b65 ldr r3, [pc, #404] ; (804dd00 ) 804db6c: fba3 2300 umull r2, r3, r3, r0 804db70: 08da lsrs r2, r3, #3 804db72: 4613 mov r3, r2 804db74: 009b lsls r3, r3, #2 804db76: 4413 add r3, r2 804db78: 005b lsls r3, r3, #1 804db7a: 1ac2 subs r2, r0, r3 804db7c: b2d3 uxtb r3, r2 804db7e: 3330 adds r3, #48 ; 0x30 804db80: b2da uxtb r2, r3 804db82: 4b5a ldr r3, [pc, #360] ; (804dcec ) 804db84: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day / 10) + 48); 804db86: 4b5b ldr r3, [pc, #364] ; (804dcf4 ) 804db88: 681b ldr r3, [r3, #0] 804db8a: 1c5a adds r2, r3, #1 804db8c: 4959 ldr r1, [pc, #356] ; (804dcf4 ) 804db8e: 600a str r2, [r1, #0] 804db90: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 804db94: 495a ldr r1, [pc, #360] ; (804dd00 ) 804db96: fba1 1202 umull r1, r2, r1, r2 804db9a: 08d2 lsrs r2, r2, #3 804db9c: b2d2 uxtb r2, r2 804db9e: 3230 adds r2, #48 ; 0x30 804dba0: b2d1 uxtb r1, r2 804dba2: 4a52 ldr r2, [pc, #328] ; (804dcec ) 804dba4: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Day % 10) + 48); 804dba6: 4b53 ldr r3, [pc, #332] ; (804dcf4 ) 804dba8: 6819 ldr r1, [r3, #0] 804dbaa: 1c4b adds r3, r1, #1 804dbac: 4a51 ldr r2, [pc, #324] ; (804dcf4 ) 804dbae: 6013 str r3, [r2, #0] 804dbb0: f8d7 008c ldr.w r0, [r7, #140] ; 0x8c 804dbb4: 4b52 ldr r3, [pc, #328] ; (804dd00 ) 804dbb6: fba3 2300 umull r2, r3, r3, r0 804dbba: 08da lsrs r2, r3, #3 804dbbc: 4613 mov r3, r2 804dbbe: 009b lsls r3, r3, #2 804dbc0: 4413 add r3, r2 804dbc2: 005b lsls r3, r3, #1 804dbc4: 1ac2 subs r2, r0, r3 804dbc6: b2d3 uxtb r3, r2 804dbc8: 3330 adds r3, #48 ; 0x30 804dbca: b2da uxtb r2, r3 804dbcc: 4b47 ldr r3, [pc, #284] ; (804dcec ) 804dbce: 545a strb r2, [r3, r1] TEMP_MeasFileName[MeasFileNameLen++] = '_'; 804dbd0: 4b48 ldr r3, [pc, #288] ; (804dcf4 ) 804dbd2: 681b ldr r3, [r3, #0] 804dbd4: 1c5a adds r2, r3, #1 804dbd6: 4947 ldr r1, [pc, #284] ; (804dcf4 ) 804dbd8: 600a str r2, [r1, #0] 804dbda: 4a44 ldr r2, [pc, #272] ; (804dcec ) 804dbdc: 215f movs r1, #95 ; 0x5f 804dbde: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour / 10) + 48); 804dbe0: 4b44 ldr r3, [pc, #272] ; (804dcf4 ) 804dbe2: 681b ldr r3, [r3, #0] 804dbe4: 1c5a adds r2, r3, #1 804dbe6: 4943 ldr r1, [pc, #268] ; (804dcf4 ) 804dbe8: 600a str r2, [r1, #0] 804dbea: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 804dbee: 4944 ldr r1, [pc, #272] ; (804dd00 ) 804dbf0: fba1 1202 umull r1, r2, r1, r2 804dbf4: 08d2 lsrs r2, r2, #3 804dbf6: b2d2 uxtb r2, r2 804dbf8: 3230 adds r2, #48 ; 0x30 804dbfa: b2d1 uxtb r1, r2 804dbfc: 4a3b ldr r2, [pc, #236] ; (804dcec ) 804dbfe: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Hour % 10) + 48); 804dc00: 4b3c ldr r3, [pc, #240] ; (804dcf4 ) 804dc02: 6819 ldr r1, [r3, #0] 804dc04: 1c4b adds r3, r1, #1 804dc06: 4a3b ldr r2, [pc, #236] ; (804dcf4 ) 804dc08: 6013 str r3, [r2, #0] 804dc0a: f8d7 0080 ldr.w r0, [r7, #128] ; 0x80 804dc0e: 4b3c ldr r3, [pc, #240] ; (804dd00 ) 804dc10: fba3 2300 umull r2, r3, r3, r0 804dc14: 08da lsrs r2, r3, #3 804dc16: 4613 mov r3, r2 804dc18: 009b lsls r3, r3, #2 804dc1a: 4413 add r3, r2 804dc1c: 005b lsls r3, r3, #1 804dc1e: 1ac2 subs r2, r0, r3 804dc20: b2d3 uxtb r3, r2 804dc22: 3330 adds r3, #48 ; 0x30 804dc24: b2da uxtb r2, r3 804dc26: 4b31 ldr r3, [pc, #196] ; (804dcec ) 804dc28: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min / 10) + 48); 804dc2a: 4b32 ldr r3, [pc, #200] ; (804dcf4 ) 804dc2c: 681b ldr r3, [r3, #0] 804dc2e: 1c5a adds r2, r3, #1 804dc30: 4930 ldr r1, [pc, #192] ; (804dcf4 ) 804dc32: 600a str r2, [r1, #0] 804dc34: 6ffa ldr r2, [r7, #124] ; 0x7c 804dc36: 4932 ldr r1, [pc, #200] ; (804dd00 ) 804dc38: fba1 1202 umull r1, r2, r1, r2 804dc3c: 08d2 lsrs r2, r2, #3 804dc3e: b2d2 uxtb r2, r2 804dc40: 3230 adds r2, #48 ; 0x30 804dc42: b2d1 uxtb r1, r2 804dc44: 4a29 ldr r2, [pc, #164] ; (804dcec ) 804dc46: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Min % 10) + 48); 804dc48: 4b2a ldr r3, [pc, #168] ; (804dcf4 ) 804dc4a: 6819 ldr r1, [r3, #0] 804dc4c: 1c4b adds r3, r1, #1 804dc4e: 4a29 ldr r2, [pc, #164] ; (804dcf4 ) 804dc50: 6013 str r3, [r2, #0] 804dc52: 6ff8 ldr r0, [r7, #124] ; 0x7c 804dc54: 4b2a ldr r3, [pc, #168] ; (804dd00 ) 804dc56: fba3 2300 umull r2, r3, r3, r0 804dc5a: 08da lsrs r2, r3, #3 804dc5c: 4613 mov r3, r2 804dc5e: 009b lsls r3, r3, #2 804dc60: 4413 add r3, r2 804dc62: 005b lsls r3, r3, #1 804dc64: 1ac2 subs r2, r0, r3 804dc66: b2d3 uxtb r3, r2 804dc68: 3330 adds r3, #48 ; 0x30 804dc6a: b2da uxtb r2, r3 804dc6c: 4b1f ldr r3, [pc, #124] ; (804dcec ) 804dc6e: 545a strb r2, [r3, r1] //fn[l++] = '_'; TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec / 10) + 48); 804dc70: 4b20 ldr r3, [pc, #128] ; (804dcf4 ) 804dc72: 681b ldr r3, [r3, #0] 804dc74: 1c5a adds r2, r3, #1 804dc76: 491f ldr r1, [pc, #124] ; (804dcf4 ) 804dc78: 600a str r2, [r1, #0] 804dc7a: 6fba ldr r2, [r7, #120] ; 0x78 804dc7c: 4920 ldr r1, [pc, #128] ; (804dd00 ) 804dc7e: fba1 1202 umull r1, r2, r1, r2 804dc82: 08d2 lsrs r2, r2, #3 804dc84: b2d2 uxtb r2, r2 804dc86: 3230 adds r2, #48 ; 0x30 804dc88: b2d1 uxtb r1, r2 804dc8a: 4a18 ldr r2, [pc, #96] ; (804dcec ) 804dc8c: 54d1 strb r1, [r2, r3] TEMP_MeasFileName[MeasFileNameLen++] = (char) ((Sec % 10) + 48); 804dc8e: 4b19 ldr r3, [pc, #100] ; (804dcf4 ) 804dc90: 6819 ldr r1, [r3, #0] 804dc92: 1c4b adds r3, r1, #1 804dc94: 4a17 ldr r2, [pc, #92] ; (804dcf4 ) 804dc96: 6013 str r3, [r2, #0] 804dc98: 6fb8 ldr r0, [r7, #120] ; 0x78 804dc9a: 4b19 ldr r3, [pc, #100] ; (804dd00 ) 804dc9c: fba3 2300 umull r2, r3, r3, r0 804dca0: 08da lsrs r2, r3, #3 804dca2: 4613 mov r3, r2 804dca4: 009b lsls r3, r3, #2 804dca6: 4413 add r3, r2 804dca8: 005b lsls r3, r3, #1 804dcaa: 1ac2 subs r2, r0, r3 804dcac: b2d3 uxtb r3, r2 804dcae: 3330 adds r3, #48 ; 0x30 804dcb0: b2da uxtb r2, r3 804dcb2: 4b0e ldr r3, [pc, #56] ; (804dcec ) 804dcb4: 545a strb r2, [r3, r1] lastmenu = menu; 804dcb6: 4b13 ldr r3, [pc, #76] ; (804dd04 ) 804dcb8: 781b ldrb r3, [r3, #0] 804dcba: b2da uxtb r2, r3 804dcbc: 4b12 ldr r3, [pc, #72] ; (804dd08 ) 804dcbe: 701a strb r2, [r3, #0] menu = INPUT_NAME_SPEC; 804dcc0: 4b10 ldr r3, [pc, #64] ; (804dd04 ) 804dcc2: 222f movs r2, #47 ; 0x2f 804dcc4: 701a strb r2, [r3, #0] menupos = _ENTER; 804dcc6: 4b11 ldr r3, [pc, #68] ; (804dd0c ) 804dcc8: 2226 movs r2, #38 ; 0x26 804dcca: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804dccc: e009 b.n 804dce2 STATUS = AP_NO_CARD; 804dcce: 4b10 ldr r3, [pc, #64] ; (804dd10 ) 804dcd0: 2211 movs r2, #17 804dcd2: 601a str r2, [r3, #0] timerStatus = sec2; 804dcd4: 4b0f ldr r3, [pc, #60] ; (804dd14 ) 804dcd6: f44f 5280 mov.w r2, #4096 ; 0x1000 804dcda: 801a strh r2, [r3, #0] DrawStatus = true; 804dcdc: 4b0e ldr r3, [pc, #56] ; (804dd18 ) 804dcde: 2201 movs r2, #1 804dce0: 701a strb r2, [r3, #0] break; 804dce2: bf00 nop } break; 804dce4: f005 b810 b.w 8052d08 804dce8: 20023e60 .word 0x20023e60 804dcec: 20025c80 .word 0x20025c80 804dcf0: 080ce688 .word 0x080ce688 804dcf4: 20020eec .word 0x20020eec 804dcf8: 10624dd3 .word 0x10624dd3 804dcfc: 51eb851f .word 0x51eb851f 804dd00: cccccccd .word 0xcccccccd 804dd04: 20020f78 .word 0x20020f78 804dd08: 20020f79 .word 0x20020f79 804dd0c: 20020070 .word 0x20020070 804dd10: 20020dcc .word 0x20020dcc 804dd14: 2002168c .word 0x2002168c 804dd18: 20020dd2 .word 0x20020dd2 case MAIN_WAVE: // KEY_OK switch(menupos) 804dd1c: 4baf ldr r3, [pc, #700] ; (804dfdc ) 804dd1e: 781b ldrb r3, [r3, #0] 804dd20: b2db uxtb r3, r3 804dd22: 2b03 cmp r3, #3 804dd24: f204 87f2 bhi.w 8052d0c 804dd28: a201 add r2, pc, #4 ; (adr r2, 804dd30 ) 804dd2a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804dd2e: bf00 nop 804dd30: 0804dd59 .word 0x0804dd59 804dd34: 0804dd41 .word 0x0804dd41 804dd38: 0804e075 .word 0x0804e075 804dd3c: 0804e081 .word 0x0804e081 { case BackMenu: StopMeas(); 804dd40: f7d5 fd2c bl 802379c menu = PARAM_WAVE; 804dd44: 4ba6 ldr r3, [pc, #664] ; (804dfe0 ) 804dd46: 220a movs r2, #10 804dd48: 701a strb r2, [r3, #0] menupos = Ok; 804dd4a: 4ba4 ldr r3, [pc, #656] ; (804dfdc ) 804dd4c: 2200 movs r2, #0 804dd4e: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 804dd50: 4ba4 ldr r3, [pc, #656] ; (804dfe4 ) 804dd52: 2200 movs r2, #0 804dd54: 709a strb r2, [r3, #2] break; 804dd56: e224 b.n 804e1a2 case StartStop: if(CardState == MSD_READY) 804dd58: 4ba3 ldr r3, [pc, #652] ; (804dfe8 ) 804dd5a: 781b ldrb r3, [r3, #0] 804dd5c: b2db uxtb r3, r3 804dd5e: 2b03 cmp r3, #3 804dd60: f040 817d bne.w 804e05e { if(Threshold == false) 804dd64: 4ba1 ldr r3, [pc, #644] ; (804dfec ) 804dd66: 781b ldrb r3, [r3, #0] 804dd68: b2db uxtb r3, r3 804dd6a: f083 0301 eor.w r3, r3, #1 804dd6e: b2db uxtb r3, r3 804dd70: 2b00 cmp r3, #0 804dd72: f000 80b7 beq.w 804dee4 { initAmplif(); 804dd76: f7d3 fe8d bl 8021a94 StartMeas(); 804dd7a: f7d5 f95f bl 802303c if(pardata.OPTIONS & BIT7) 804dd7e: 4b99 ldr r3, [pc, #612] ; (804dfe4 ) 804dd80: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804dd84: f003 0380 and.w r3, r3, #128 ; 0x80 804dd88: 2b00 cmp r3, #0 804dd8a: d006 beq.n 804dd9a { menupos = CalculatingFreq; 804dd8c: 4b93 ldr r3, [pc, #588] ; (804dfdc ) 804dd8e: 2204 movs r2, #4 804dd90: 701a strb r2, [r3, #0] CALC_FREQ = 1; 804dd92: 4b97 ldr r3, [pc, #604] ; (804dff0 ) 804dd94: 2201 movs r2, #1 804dd96: 701a strb r2, [r3, #0] { timerStatus = sec2; DrawStatus = true; STATUS = AP_NO_CARD; } break; 804dd98: e203 b.n 804e1a2 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 804dd9a: 4b92 ldr r3, [pc, #584] ; (804dfe4 ) 804dd9c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 804dda0: f003 0304 and.w r3, r3, #4 804dda4: 2b00 cmp r3, #0 804dda6: f040 8099 bne.w 804dedc MultRec = _b24V * CorrKk[ACC] * 2; 804ddaa: 4b92 ldr r3, [pc, #584] ; (804dff4 ) 804ddac: edd3 7a00 vldr s15, [r3] 804ddb0: ed9f 7a91 vldr s14, [pc, #580] ; 804dff8 804ddb4: ee67 7a87 vmul.f32 s15, s15, s14 804ddb8: ee77 7aa7 vadd.f32 s15, s15, s15 804ddbc: 4b8f ldr r3, [pc, #572] ; (804dffc ) 804ddbe: edc3 7a00 vstr s15, [r3] menupos = ReadyRec; 804ddc2: 4b86 ldr r3, [pc, #536] ; (804dfdc ) 804ddc4: 2203 movs r2, #3 804ddc6: 701a strb r2, [r3, #0] Recording = false; 804ddc8: 4b8d ldr r3, [pc, #564] ; (804e000 ) 804ddca: 2200 movs r2, #0 804ddcc: 701a strb r2, [r3, #0] RepeatKm = false; 804ddce: 4b8d ldr r3, [pc, #564] ; (804e004 ) 804ddd0: 2200 movs r2, #0 804ddd2: 701a strb r2, [r3, #0] FirstTime = false; 804ddd4: 4b8c ldr r3, [pc, #560] ; (804e008 ) 804ddd6: 2200 movs r2, #0 804ddd8: 701a strb r2, [r3, #0] if(CardState == MSD_READY) 804ddda: 4b83 ldr r3, [pc, #524] ; (804dfe8 ) 804dddc: 781b ldrb r3, [r3, #0] 804ddde: b2db uxtb r3, r3 804dde0: 2b03 cmp r3, #3 804dde2: d16d bne.n 804dec0 WavFileNameLen = strlen(WavFileName); 804dde4: 4889 ldr r0, [pc, #548] ; (804e00c ) 804dde6: f7d2 fa95 bl 8020314 804ddea: 4602 mov r2, r0 804ddec: 4b88 ldr r3, [pc, #544] ; (804e010 ) 804ddee: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 804ddf0: 4b87 ldr r3, [pc, #540] ; (804e010 ) 804ddf2: 681b ldr r3, [r3, #0] 804ddf4: 3b04 subs r3, #4 804ddf6: 4a85 ldr r2, [pc, #532] ; (804e00c ) 804ddf8: 5cd3 ldrb r3, [r2, r3] 804ddfa: 2b2e cmp r3, #46 ; 0x2e 804ddfc: d01a beq.n 804de34 804ddfe: 4b84 ldr r3, [pc, #528] ; (804e010 ) 804de00: 681b ldr r3, [r3, #0] 804de02: 2b03 cmp r3, #3 804de04: d916 bls.n 804de34 WavFileName[WavFileNameLen - 3] = 'G'; 804de06: 4b82 ldr r3, [pc, #520] ; (804e010 ) 804de08: 681b ldr r3, [r3, #0] 804de0a: 3b03 subs r3, #3 804de0c: 4a7f ldr r2, [pc, #508] ; (804e00c ) 804de0e: 2147 movs r1, #71 ; 0x47 804de10: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'T'; 804de12: 4b7f ldr r3, [pc, #508] ; (804e010 ) 804de14: 681b ldr r3, [r3, #0] 804de16: 3b02 subs r3, #2 804de18: 4a7c ldr r2, [pc, #496] ; (804e00c ) 804de1a: 2154 movs r1, #84 ; 0x54 804de1c: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'R'; 804de1e: 4b7c ldr r3, [pc, #496] ; (804e010 ) 804de20: 681b ldr r3, [r3, #0] 804de22: 3b01 subs r3, #1 804de24: 4a79 ldr r2, [pc, #484] ; (804e00c ) 804de26: 2152 movs r1, #82 ; 0x52 804de28: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 804de2a: 4b79 ldr r3, [pc, #484] ; (804e010 ) 804de2c: 681b ldr r3, [r3, #0] 804de2e: 4a77 ldr r2, [pc, #476] ; (804e00c ) 804de30: 2100 movs r1, #0 804de32: 54d1 strb r1, [r2, r3] result = CreateFileGTR(WavFileName); 804de34: 4875 ldr r0, [pc, #468] ; (804e00c ) 804de36: f7d6 f9a3 bl 8024180 804de3a: 4603 mov r3, r0 804de3c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804de40: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804de44: 2b00 cmp r3, #0 804de46: d105 bne.n 804de54 STATUS = AP_OK; 804de48: 4b72 ldr r3, [pc, #456] ; (804e014 ) 804de4a: 2200 movs r2, #0 804de4c: 601a str r2, [r3, #0] StartRecording(); 804de4e: f7d5 fc15 bl 802367c break; 804de52: e1a6 b.n 804e1a2 Recording = false; 804de54: 4b6a ldr r3, [pc, #424] ; (804e000 ) 804de56: 2200 movs r2, #0 804de58: 701a strb r2, [r3, #0] StopMeas(); //// ADDED 804de5a: f7d5 fc9f bl 802379c menupos = StartStop; //// ADDED 804de5e: 4b5f ldr r3, [pc, #380] ; (804dfdc ) 804de60: 2200 movs r2, #0 804de62: 701a strb r2, [r3, #0] switch(result) 804de64: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804de68: 3b03 subs r3, #3 804de6a: 2b06 cmp r3, #6 804de6c: d81c bhi.n 804dea8 804de6e: a201 add r2, pc, #4 ; (adr r2, 804de74 ) 804de70: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804de74: 0804de91 .word 0x0804de91 804de78: 0804de99 .word 0x0804de99 804de7c: 0804dea9 .word 0x0804dea9 804de80: 0804dea9 .word 0x0804dea9 804de84: 0804dea9 .word 0x0804dea9 804de88: 0804dea1 .word 0x0804dea1 804de8c: 0804de99 .word 0x0804de99 STATUS = AP_NO_CARD; 804de90: 4b60 ldr r3, [pc, #384] ; (804e014 ) 804de92: 2211 movs r2, #17 804de94: 601a str r2, [r3, #0] break; 804de96: e00b b.n 804deb0 STATUS = AP_INVALID_FILE; 804de98: 4b5e ldr r3, [pc, #376] ; (804e014 ) 804de9a: 2202 movs r2, #2 804de9c: 601a str r2, [r3, #0] break; 804de9e: e007 b.n 804deb0 STATUS = AP_FILE_EXIST; 804dea0: 4b5c ldr r3, [pc, #368] ; (804e014 ) 804dea2: 2206 movs r2, #6 804dea4: 601a str r2, [r3, #0] break; 804dea6: e003 b.n 804deb0 STATUS = AP_DISK_ERROR; 804dea8: 4b5a ldr r3, [pc, #360] ; (804e014 ) 804deaa: 220b movs r2, #11 804deac: 601a str r2, [r3, #0] break; 804deae: bf00 nop timerStatus = sec2; 804deb0: 4b59 ldr r3, [pc, #356] ; (804e018 ) 804deb2: f44f 5280 mov.w r2, #4096 ; 0x1000 804deb6: 801a strh r2, [r3, #0] DrawStatus = true; 804deb8: 4b58 ldr r3, [pc, #352] ; (804e01c ) 804deba: 2201 movs r2, #1 804debc: 701a strb r2, [r3, #0] break; 804debe: e170 b.n 804e1a2 Recording = false; 804dec0: 4b4f ldr r3, [pc, #316] ; (804e000 ) 804dec2: 2200 movs r2, #0 804dec4: 701a strb r2, [r3, #0] timerStatus = sec2; 804dec6: 4b54 ldr r3, [pc, #336] ; (804e018 ) 804dec8: f44f 5280 mov.w r2, #4096 ; 0x1000 804decc: 801a strh r2, [r3, #0] DrawStatus = true; 804dece: 4b53 ldr r3, [pc, #332] ; (804e01c ) 804ded0: 2201 movs r2, #1 804ded2: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804ded4: 4b4f ldr r3, [pc, #316] ; (804e014 ) 804ded6: 2211 movs r2, #17 804ded8: 601a str r2, [r3, #0] break; 804deda: e162 b.n 804e1a2 menupos = GainSelecting; 804dedc: 4b3f ldr r3, [pc, #252] ; (804dfdc ) 804dede: 2202 movs r2, #2 804dee0: 701a strb r2, [r3, #0] break; 804dee2: e15e b.n 804e1a2 if(measuring == false) 804dee4: 4b4e ldr r3, [pc, #312] ; (804e020 ) 804dee6: 781b ldrb r3, [r3, #0] 804dee8: b2db uxtb r3, r3 804deea: f083 0301 eor.w r3, r3, #1 804deee: b2db uxtb r3, r3 804def0: 2b00 cmp r3, #0 804def2: f000 80a5 beq.w 804e040 menupos = StartStop; 804def6: 4b39 ldr r3, [pc, #228] ; (804dfdc ) 804def8: 2200 movs r2, #0 804defa: 701a strb r2, [r3, #0] if(CardState == MSD_READY) 804defc: 4b3a ldr r3, [pc, #232] ; (804dfe8 ) 804defe: 781b ldrb r3, [r3, #0] 804df00: b2db uxtb r3, r3 804df02: 2b03 cmp r3, #3 804df04: f040 808e bne.w 804e024 WavFileNameLen = strlen(WavFileName); 804df08: 4840 ldr r0, [pc, #256] ; (804e00c ) 804df0a: f7d2 fa03 bl 8020314 804df0e: 4602 mov r2, r0 804df10: 4b3f ldr r3, [pc, #252] ; (804e010 ) 804df12: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 804df14: 4b3e ldr r3, [pc, #248] ; (804e010 ) 804df16: 681b ldr r3, [r3, #0] 804df18: 3b04 subs r3, #4 804df1a: 4a3c ldr r2, [pc, #240] ; (804e00c ) 804df1c: 5cd3 ldrb r3, [r2, r3] 804df1e: 2b2e cmp r3, #46 ; 0x2e 804df20: d01a beq.n 804df58 804df22: 4b3b ldr r3, [pc, #236] ; (804e010 ) 804df24: 681b ldr r3, [r3, #0] 804df26: 2b03 cmp r3, #3 804df28: d916 bls.n 804df58 WavFileName[WavFileNameLen - 3] = 'G'; 804df2a: 4b39 ldr r3, [pc, #228] ; (804e010 ) 804df2c: 681b ldr r3, [r3, #0] 804df2e: 3b03 subs r3, #3 804df30: 4a36 ldr r2, [pc, #216] ; (804e00c ) 804df32: 2147 movs r1, #71 ; 0x47 804df34: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'T'; 804df36: 4b36 ldr r3, [pc, #216] ; (804e010 ) 804df38: 681b ldr r3, [r3, #0] 804df3a: 3b02 subs r3, #2 804df3c: 4a33 ldr r2, [pc, #204] ; (804e00c ) 804df3e: 2154 movs r1, #84 ; 0x54 804df40: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'R'; 804df42: 4b33 ldr r3, [pc, #204] ; (804e010 ) 804df44: 681b ldr r3, [r3, #0] 804df46: 3b01 subs r3, #1 804df48: 4a30 ldr r2, [pc, #192] ; (804e00c ) 804df4a: 2152 movs r1, #82 ; 0x52 804df4c: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 804df4e: 4b30 ldr r3, [pc, #192] ; (804e010 ) 804df50: 681b ldr r3, [r3, #0] 804df52: 4a2e ldr r2, [pc, #184] ; (804e00c ) 804df54: 2100 movs r1, #0 804df56: 54d1 strb r1, [r2, r3] result = CreateFileGTR(WavFileName); 804df58: 482c ldr r0, [pc, #176] ; (804e00c ) 804df5a: f7d6 f911 bl 8024180 804df5e: 4603 mov r3, r0 804df60: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804df64: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804df68: 2b00 cmp r3, #0 804df6a: d105 bne.n 804df78 STATUS = AP_OK; 804df6c: 4b29 ldr r3, [pc, #164] ; (804e014 ) 804df6e: 2200 movs r2, #0 804df70: 601a str r2, [r3, #0] StartMeas(); 804df72: f7d5 f863 bl 802303c break; 804df76: e114 b.n 804e1a2 Recording = false; 804df78: 4b21 ldr r3, [pc, #132] ; (804e000 ) 804df7a: 2200 movs r2, #0 804df7c: 701a strb r2, [r3, #0] switch(result) 804df7e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804df82: 3b03 subs r3, #3 804df84: 2b06 cmp r3, #6 804df86: d81d bhi.n 804dfc4 804df88: a201 add r2, pc, #4 ; (adr r2, 804df90 ) 804df8a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804df8e: bf00 nop 804df90: 0804dfad .word 0x0804dfad 804df94: 0804dfb5 .word 0x0804dfb5 804df98: 0804dfc5 .word 0x0804dfc5 804df9c: 0804dfc5 .word 0x0804dfc5 804dfa0: 0804dfc5 .word 0x0804dfc5 804dfa4: 0804dfbd .word 0x0804dfbd 804dfa8: 0804dfb5 .word 0x0804dfb5 STATUS = AP_NO_CARD; 804dfac: 4b19 ldr r3, [pc, #100] ; (804e014 ) 804dfae: 2211 movs r2, #17 804dfb0: 601a str r2, [r3, #0] break; 804dfb2: e00b b.n 804dfcc STATUS = AP_INVALID_FILE; 804dfb4: 4b17 ldr r3, [pc, #92] ; (804e014 ) 804dfb6: 2202 movs r2, #2 804dfb8: 601a str r2, [r3, #0] break; 804dfba: e007 b.n 804dfcc STATUS = AP_FILE_EXIST; 804dfbc: 4b15 ldr r3, [pc, #84] ; (804e014 ) 804dfbe: 2206 movs r2, #6 804dfc0: 601a str r2, [r3, #0] break; 804dfc2: e003 b.n 804dfcc STATUS = AP_DISK_ERROR; 804dfc4: 4b13 ldr r3, [pc, #76] ; (804e014 ) 804dfc6: 220b movs r2, #11 804dfc8: 601a str r2, [r3, #0] break; 804dfca: bf00 nop timerStatus = sec2; 804dfcc: 4b12 ldr r3, [pc, #72] ; (804e018 ) 804dfce: f44f 5280 mov.w r2, #4096 ; 0x1000 804dfd2: 801a strh r2, [r3, #0] DrawStatus = true; 804dfd4: 4b11 ldr r3, [pc, #68] ; (804e01c ) 804dfd6: 2201 movs r2, #1 804dfd8: 701a strb r2, [r3, #0] break; 804dfda: e0e2 b.n 804e1a2 804dfdc: 20020070 .word 0x20020070 804dfe0: 20020f78 .word 0x20020f78 804dfe4: 20023e60 .word 0x20023e60 804dfe8: 2002164c .word 0x2002164c 804dfec: 20020db1 .word 0x20020db1 804dff0: 20021010 .word 0x20021010 804dff4: 20020080 .word 0x20020080 804dff8: 2f449ba8 .word 0x2f449ba8 804dffc: 200261c8 .word 0x200261c8 804e000: 20020db0 .word 0x20020db0 804e004: 20020dac .word 0x20020dac 804e008: 20020dae .word 0x20020dae 804e00c: 20020e34 .word 0x20020e34 804e010: 20020ee8 .word 0x20020ee8 804e014: 20020dcc .word 0x20020dcc 804e018: 2002168c .word 0x2002168c 804e01c: 20020dd2 .word 0x20020dd2 804e020: 20020daf .word 0x20020daf Recording = false; 804e024: 4b95 ldr r3, [pc, #596] ; (804e27c ) 804e026: 2200 movs r2, #0 804e028: 701a strb r2, [r3, #0] timerStatus = sec2; 804e02a: 4b95 ldr r3, [pc, #596] ; (804e280 ) 804e02c: f44f 5280 mov.w r2, #4096 ; 0x1000 804e030: 801a strh r2, [r3, #0] DrawStatus = true; 804e032: 4b94 ldr r3, [pc, #592] ; (804e284 ) 804e034: 2201 movs r2, #1 804e036: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804e038: 4b93 ldr r3, [pc, #588] ; (804e288 ) 804e03a: 2211 movs r2, #17 804e03c: 601a str r2, [r3, #0] break; 804e03e: e0b0 b.n 804e1a2 if(Recording == true) 804e040: 4b8e ldr r3, [pc, #568] ; (804e27c ) 804e042: 781b ldrb r3, [r3, #0] 804e044: b2db uxtb r3, r3 804e046: 2b00 cmp r3, #0 804e048: d006 beq.n 804e058 NeedSTOP = true; 804e04a: 4b90 ldr r3, [pc, #576] ; (804e28c ) 804e04c: 2201 movs r2, #1 804e04e: 701a strb r2, [r3, #0] menupos = StartStop; 804e050: 4b8f ldr r3, [pc, #572] ; (804e290 ) 804e052: 2200 movs r2, #0 804e054: 701a strb r2, [r3, #0] break; 804e056: e0a4 b.n 804e1a2 StopMeas(); 804e058: f7d5 fba0 bl 802379c break; 804e05c: e0a1 b.n 804e1a2 timerStatus = sec2; 804e05e: 4b88 ldr r3, [pc, #544] ; (804e280 ) 804e060: f44f 5280 mov.w r2, #4096 ; 0x1000 804e064: 801a strh r2, [r3, #0] DrawStatus = true; 804e066: 4b87 ldr r3, [pc, #540] ; (804e284 ) 804e068: 2201 movs r2, #1 804e06a: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804e06c: 4b86 ldr r3, [pc, #536] ; (804e288 ) 804e06e: 2211 movs r2, #17 804e070: 601a str r2, [r3, #0] break; 804e072: e096 b.n 804e1a2 case GainSelecting: StopMeas(); 804e074: f7d5 fb92 bl 802379c menupos = StartStop; 804e078: 4b85 ldr r3, [pc, #532] ; (804e290 ) 804e07a: 2200 movs r2, #0 804e07c: 701a strb r2, [r3, #0] break; 804e07e: e090 b.n 804e1a2 case ReadyRec: if(!Recording) 804e080: 4b7e ldr r3, [pc, #504] ; (804e27c ) 804e082: 781b ldrb r3, [r3, #0] 804e084: b2db uxtb r3, r3 804e086: f083 0301 eor.w r3, r3, #1 804e08a: b2db uxtb r3, r3 804e08c: 2b00 cmp r3, #0 804e08e: f000 8081 beq.w 804e194 { if(CardState == MSD_READY) 804e092: 4b80 ldr r3, [pc, #512] ; (804e294 ) 804e094: 781b ldrb r3, [r3, #0] 804e096: b2db uxtb r3, r3 804e098: 2b03 cmp r3, #3 804e09a: d16d bne.n 804e178 { WavFileNameLen = strlen(WavFileName); 804e09c: 487e ldr r0, [pc, #504] ; (804e298 ) 804e09e: f7d2 f939 bl 8020314 804e0a2: 4602 mov r2, r0 804e0a4: 4b7d ldr r3, [pc, #500] ; (804e29c ) 804e0a6: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 804e0a8: 4b7c ldr r3, [pc, #496] ; (804e29c ) 804e0aa: 681b ldr r3, [r3, #0] 804e0ac: 3b04 subs r3, #4 804e0ae: 4a7a ldr r2, [pc, #488] ; (804e298 ) 804e0b0: 5cd3 ldrb r3, [r2, r3] 804e0b2: 2b2e cmp r3, #46 ; 0x2e 804e0b4: d01a beq.n 804e0ec 804e0b6: 4b79 ldr r3, [pc, #484] ; (804e29c ) 804e0b8: 681b ldr r3, [r3, #0] 804e0ba: 2b03 cmp r3, #3 804e0bc: d916 bls.n 804e0ec { WavFileName[WavFileNameLen - 3] = 'G'; 804e0be: 4b77 ldr r3, [pc, #476] ; (804e29c ) 804e0c0: 681b ldr r3, [r3, #0] 804e0c2: 3b03 subs r3, #3 804e0c4: 4a74 ldr r2, [pc, #464] ; (804e298 ) 804e0c6: 2147 movs r1, #71 ; 0x47 804e0c8: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'T'; 804e0ca: 4b74 ldr r3, [pc, #464] ; (804e29c ) 804e0cc: 681b ldr r3, [r3, #0] 804e0ce: 3b02 subs r3, #2 804e0d0: 4a71 ldr r2, [pc, #452] ; (804e298 ) 804e0d2: 2154 movs r1, #84 ; 0x54 804e0d4: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'R'; 804e0d6: 4b71 ldr r3, [pc, #452] ; (804e29c ) 804e0d8: 681b ldr r3, [r3, #0] 804e0da: 3b01 subs r3, #1 804e0dc: 4a6e ldr r2, [pc, #440] ; (804e298 ) 804e0de: 2152 movs r1, #82 ; 0x52 804e0e0: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 804e0e2: 4b6e ldr r3, [pc, #440] ; (804e29c ) 804e0e4: 681b ldr r3, [r3, #0] 804e0e6: 4a6c ldr r2, [pc, #432] ; (804e298 ) 804e0e8: 2100 movs r1, #0 804e0ea: 54d1 strb r1, [r2, r3] } result = CreateFileGTR(WavFileName); 804e0ec: 486a ldr r0, [pc, #424] ; (804e298 ) 804e0ee: f7d6 f847 bl 8024180 804e0f2: 4603 mov r3, r0 804e0f4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e0f8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e0fc: 2b00 cmp r3, #0 804e0fe: d105 bne.n 804e10c { STATUS = AP_OK; 804e100: 4b61 ldr r3, [pc, #388] ; (804e288 ) 804e102: 2200 movs r2, #0 804e104: 601a str r2, [r3, #0] StartRecording(); 804e106: f7d5 fab9 bl 802367c else { NeedSTOP = true; menupos = StartStop; } break; 804e10a: e049 b.n 804e1a0 Recording = false; 804e10c: 4b5b ldr r3, [pc, #364] ; (804e27c ) 804e10e: 2200 movs r2, #0 804e110: 701a strb r2, [r3, #0] StopMeas(); //// ADDED 804e112: f7d5 fb43 bl 802379c menupos = StartStop; //// ADDED 804e116: 4b5e ldr r3, [pc, #376] ; (804e290 ) 804e118: 2200 movs r2, #0 804e11a: 701a strb r2, [r3, #0] switch(result) 804e11c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e120: 3b03 subs r3, #3 804e122: 2b06 cmp r3, #6 804e124: d81c bhi.n 804e160 804e126: a201 add r2, pc, #4 ; (adr r2, 804e12c ) 804e128: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804e12c: 0804e149 .word 0x0804e149 804e130: 0804e151 .word 0x0804e151 804e134: 0804e161 .word 0x0804e161 804e138: 0804e161 .word 0x0804e161 804e13c: 0804e161 .word 0x0804e161 804e140: 0804e159 .word 0x0804e159 804e144: 0804e151 .word 0x0804e151 STATUS = AP_NO_CARD; 804e148: 4b4f ldr r3, [pc, #316] ; (804e288 ) 804e14a: 2211 movs r2, #17 804e14c: 601a str r2, [r3, #0] break; 804e14e: e00b b.n 804e168 STATUS = AP_INVALID_FILE; 804e150: 4b4d ldr r3, [pc, #308] ; (804e288 ) 804e152: 2202 movs r2, #2 804e154: 601a str r2, [r3, #0] break; 804e156: e007 b.n 804e168 STATUS = AP_FILE_EXIST; 804e158: 4b4b ldr r3, [pc, #300] ; (804e288 ) 804e15a: 2206 movs r2, #6 804e15c: 601a str r2, [r3, #0] break; 804e15e: e003 b.n 804e168 STATUS = AP_DISK_ERROR; 804e160: 4b49 ldr r3, [pc, #292] ; (804e288 ) 804e162: 220b movs r2, #11 804e164: 601a str r2, [r3, #0] break; 804e166: bf00 nop timerStatus = sec2; 804e168: 4b45 ldr r3, [pc, #276] ; (804e280 ) 804e16a: f44f 5280 mov.w r2, #4096 ; 0x1000 804e16e: 801a strh r2, [r3, #0] DrawStatus = true; 804e170: 4b44 ldr r3, [pc, #272] ; (804e284 ) 804e172: 2201 movs r2, #1 804e174: 701a strb r2, [r3, #0] break; 804e176: e013 b.n 804e1a0 Recording = false; 804e178: 4b40 ldr r3, [pc, #256] ; (804e27c ) 804e17a: 2200 movs r2, #0 804e17c: 701a strb r2, [r3, #0] timerStatus = sec2; 804e17e: 4b40 ldr r3, [pc, #256] ; (804e280 ) 804e180: f44f 5280 mov.w r2, #4096 ; 0x1000 804e184: 801a strh r2, [r3, #0] DrawStatus = true; 804e186: 4b3f ldr r3, [pc, #252] ; (804e284 ) 804e188: 2201 movs r2, #1 804e18a: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 804e18c: 4b3e ldr r3, [pc, #248] ; (804e288 ) 804e18e: 2211 movs r2, #17 804e190: 601a str r2, [r3, #0] break; 804e192: e005 b.n 804e1a0 NeedSTOP = true; 804e194: 4b3d ldr r3, [pc, #244] ; (804e28c ) 804e196: 2201 movs r2, #1 804e198: 701a strb r2, [r3, #0] menupos = StartStop; 804e19a: 4b3d ldr r3, [pc, #244] ; (804e290 ) 804e19c: 2200 movs r2, #0 804e19e: 701a strb r2, [r3, #0] break; 804e1a0: bf00 nop } break; 804e1a2: f004 bdb3 b.w 8052d0c case MAIN_SYGNAL: //TODO switch(menupos) 804e1a6: 4b3a ldr r3, [pc, #232] ; (804e290 ) 804e1a8: 781b ldrb r3, [r3, #0] 804e1aa: b2db uxtb r3, r3 804e1ac: 2b07 cmp r3, #7 804e1ae: f204 85af bhi.w 8052d10 804e1b2: a201 add r2, pc, #4 ; (adr r2, 804e1b8 ) 804e1b4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804e1b8: 0804e41f .word 0x0804e41f 804e1bc: 0804e1d9 .word 0x0804e1d9 804e1c0: 0804e1e7 .word 0x0804e1e7 804e1c4: 0804e2b1 .word 0x0804e2b1 804e1c8: 0804e371 .word 0x0804e371 804e1cc: 0804e23b .word 0x0804e23b 804e1d0: 0804e513 .word 0x0804e513 804e1d4: 0804e465 .word 0x0804e465 { case BackMenu: menu = ARCHIVE_WAVE; 804e1d8: 4b31 ldr r3, [pc, #196] ; (804e2a0 ) 804e1da: 2217 movs r2, #23 804e1dc: 701a strb r2, [r3, #0] menupos = FilesGTR; 804e1de: 4b2c ldr r3, [pc, #176] ; (804e290 ) 804e1e0: 2202 movs r2, #2 804e1e2: 701a strb r2, [r3, #0] break; 804e1e4: e1a6 b.n 804e534 case ImageLeft: if((!FIRST) && (PlayingState.State != PLAYING)) 804e1e6: 4b2f ldr r3, [pc, #188] ; (804e2a4 ) 804e1e8: 781b ldrb r3, [r3, #0] 804e1ea: b2db uxtb r3, r3 804e1ec: f083 0301 eor.w r3, r3, #1 804e1f0: b2db uxtb r3, r3 804e1f2: 2b00 cmp r3, #0 804e1f4: f000 8191 beq.w 804e51a 804e1f8: 4b2b ldr r3, [pc, #172] ; (804e2a8 ) 804e1fa: 6a5b ldr r3, [r3, #36] ; 0x24 804e1fc: 2b01 cmp r3, #1 804e1fe: f000 818c beq.w 804e51a { if(PlayingState.CurrentFrame > 0) 804e202: 4b29 ldr r3, [pc, #164] ; (804e2a8 ) 804e204: 681b ldr r3, [r3, #0] 804e206: 2b00 cmp r3, #0 804e208: f000 8187 beq.w 804e51a { if(PlayingState.CurrentFrame == PlayingState.NumFrames) PlayingState.CurrentFrame -= 2; 804e20c: 4b26 ldr r3, [pc, #152] ; (804e2a8 ) 804e20e: 681a ldr r2, [r3, #0] 804e210: 4b25 ldr r3, [pc, #148] ; (804e2a8 ) 804e212: 685b ldr r3, [r3, #4] 804e214: 429a cmp r2, r3 804e216: d105 bne.n 804e224 804e218: 4b23 ldr r3, [pc, #140] ; (804e2a8 ) 804e21a: 681b ldr r3, [r3, #0] 804e21c: 3b02 subs r3, #2 804e21e: 4a22 ldr r2, [pc, #136] ; (804e2a8 ) 804e220: 6013 str r3, [r2, #0] 804e222: e004 b.n 804e22e else PlayingState.CurrentFrame--; 804e224: 4b20 ldr r3, [pc, #128] ; (804e2a8 ) 804e226: 681b ldr r3, [r3, #0] 804e228: 3b01 subs r3, #1 804e22a: 4a1f ldr r2, [pc, #124] ; (804e2a8 ) 804e22c: 6013 str r3, [r2, #0] if(FR_OK == RewindFileGTR()) 804e22e: f7da fd15 bl 8028c5c { //PlayingState.State = PLAYING; //FIRST = false; } AUTOZOOM = true; 804e232: 4b1e ldr r3, [pc, #120] ; (804e2ac ) 804e234: 2201 movs r2, #1 804e236: 701a strb r2, [r3, #0] } } break; 804e238: e16f b.n 804e51a case ImageRight: if((!FIRST) && (PlayingState.State != PLAYING)) 804e23a: 4b1a ldr r3, [pc, #104] ; (804e2a4 ) 804e23c: 781b ldrb r3, [r3, #0] 804e23e: b2db uxtb r3, r3 804e240: f083 0301 eor.w r3, r3, #1 804e244: b2db uxtb r3, r3 804e246: 2b00 cmp r3, #0 804e248: f000 816a beq.w 804e520 804e24c: 4b16 ldr r3, [pc, #88] ; (804e2a8 ) 804e24e: 6a5b ldr r3, [r3, #36] ; 0x24 804e250: 2b01 cmp r3, #1 804e252: f000 8165 beq.w 804e520 { if((PlayingState.CurrentFrame + 1) < PlayingState.NumFrames) 804e256: 4b14 ldr r3, [pc, #80] ; (804e2a8 ) 804e258: 681b ldr r3, [r3, #0] 804e25a: 1c5a adds r2, r3, #1 804e25c: 4b12 ldr r3, [pc, #72] ; (804e2a8 ) 804e25e: 685b ldr r3, [r3, #4] 804e260: 429a cmp r2, r3 804e262: f080 815d bcs.w 804e520 { PlayingState.CurrentFrame++; 804e266: 4b10 ldr r3, [pc, #64] ; (804e2a8 ) 804e268: 681b ldr r3, [r3, #0] 804e26a: 3301 adds r3, #1 804e26c: 4a0e ldr r2, [pc, #56] ; (804e2a8 ) 804e26e: 6013 str r3, [r2, #0] if(FR_OK == RewindFileGTR()) 804e270: f7da fcf4 bl 8028c5c { //PlayingState.State = PLAYING; //FIRST = false; } AUTOZOOM = true; 804e274: 4b0d ldr r3, [pc, #52] ; (804e2ac ) 804e276: 2201 movs r2, #1 804e278: 701a strb r2, [r3, #0] } } break; 804e27a: e151 b.n 804e520 804e27c: 20020db0 .word 0x20020db0 804e280: 2002168c .word 0x2002168c 804e284: 20020dd2 .word 0x20020dd2 804e288: 20020dcc .word 0x20020dcc 804e28c: 20020f7e .word 0x20020f7e 804e290: 20020070 .word 0x20020070 804e294: 2002164c .word 0x2002164c 804e298: 20020e34 .word 0x20020e34 804e29c: 20020ee8 .word 0x20020ee8 804e2a0: 20020f78 .word 0x20020f78 804e2a4: 20020db2 .word 0x20020db2 804e2a8: 200228d8 .word 0x200228d8 804e2ac: 2002098c .word 0x2002098c case ZoomIn: if(!FIRST) 804e2b0: 4ba1 ldr r3, [pc, #644] ; (804e538 ) 804e2b2: 781b ldrb r3, [r3, #0] 804e2b4: b2db uxtb r3, r3 804e2b6: f083 0301 eor.w r3, r3, #1 804e2ba: b2db uxtb r3, r3 804e2bc: 2b00 cmp r3, #0 804e2be: f000 8132 beq.w 804e526 { if((ViewLevel < 4) && (PlayingState.FrameSize > 256)) 804e2c2: 4b9e ldr r3, [pc, #632] ; (804e53c ) 804e2c4: 781b ldrb r3, [r3, #0] 804e2c6: b2db uxtb r3, r3 804e2c8: 2b03 cmp r3, #3 804e2ca: f200 812c bhi.w 804e526 804e2ce: 4b9c ldr r3, [pc, #624] ; (804e540 ) 804e2d0: 689b ldr r3, [r3, #8] 804e2d2: f5b3 7f80 cmp.w r3, #256 ; 0x100 804e2d6: f240 8126 bls.w 804e526 { ViewLevel++; 804e2da: 4b98 ldr r3, [pc, #608] ; (804e53c ) 804e2dc: 781b ldrb r3, [r3, #0] 804e2de: b2db uxtb r3, r3 804e2e0: 3301 adds r3, #1 804e2e2: b2da uxtb r2, r3 804e2e4: 4b95 ldr r3, [pc, #596] ; (804e53c ) 804e2e6: 701a strb r2, [r3, #0] PlayingState.FrameSize >>= 1; 804e2e8: 4b95 ldr r3, [pc, #596] ; (804e540 ) 804e2ea: 689b ldr r3, [r3, #8] 804e2ec: 085b lsrs r3, r3, #1 804e2ee: 4a94 ldr r2, [pc, #592] ; (804e540 ) 804e2f0: 6093 str r3, [r2, #8] PlayingState.NumFrames = (PlayingState.CountBytes >> 2) / PlayingState.FrameSize; 804e2f2: 4b93 ldr r3, [pc, #588] ; (804e540 ) 804e2f4: e9d3 3404 ldrd r3, r4, [r3, #16] 804e2f8: ea4f 0a93 mov.w sl, r3, lsr #2 804e2fc: ea4a 7a84 orr.w sl, sl, r4, lsl #30 804e300: ea4f 0b94 mov.w fp, r4, lsr #2 804e304: 4b8e ldr r3, [pc, #568] ; (804e540 ) 804e306: 689b ldr r3, [r3, #8] 804e308: f04f 0400 mov.w r4, #0 804e30c: 461a mov r2, r3 804e30e: 4623 mov r3, r4 804e310: 4650 mov r0, sl 804e312: 4659 mov r1, fp 804e314: f7d2 f96a bl 80205ec <__aeabi_uldivmod> 804e318: 4603 mov r3, r0 804e31a: 460c mov r4, r1 804e31c: 461a mov r2, r3 804e31e: 4b88 ldr r3, [pc, #544] ; (804e540 ) 804e320: 605a str r2, [r3, #4] if((PlayingState.CountBytes >> 2) % PlayingState.FrameSize) 804e322: 4b87 ldr r3, [pc, #540] ; (804e540 ) 804e324: e9d3 3404 ldrd r3, r4, [r3, #16] 804e328: ea4f 0893 mov.w r8, r3, lsr #2 804e32c: ea48 7884 orr.w r8, r8, r4, lsl #30 804e330: ea4f 0994 mov.w r9, r4, lsr #2 804e334: 4b82 ldr r3, [pc, #520] ; (804e540 ) 804e336: 689b ldr r3, [r3, #8] 804e338: f04f 0400 mov.w r4, #0 804e33c: 461a mov r2, r3 804e33e: 4623 mov r3, r4 804e340: 4640 mov r0, r8 804e342: 4649 mov r1, r9 804e344: f7d2 f952 bl 80205ec <__aeabi_uldivmod> 804e348: 461c mov r4, r3 804e34a: 4613 mov r3, r2 804e34c: 4323 orrs r3, r4 804e34e: d004 beq.n 804e35a PlayingState.NumFrames += 1; 804e350: 4b7b ldr r3, [pc, #492] ; (804e540 ) 804e352: 685b ldr r3, [r3, #4] 804e354: 3301 adds r3, #1 804e356: 4a7a ldr r2, [pc, #488] ; (804e540 ) 804e358: 6053 str r3, [r2, #4] PlayingState.CurrentFrame <<= 1; 804e35a: 4b79 ldr r3, [pc, #484] ; (804e540 ) 804e35c: 681b ldr r3, [r3, #0] 804e35e: 005b lsls r3, r3, #1 804e360: 4a77 ldr r2, [pc, #476] ; (804e540 ) 804e362: 6013 str r3, [r2, #0] if(FR_OK == RewindFileGTR()) 804e364: f7da fc7a bl 8028c5c { } AUTOZOOM = true; 804e368: 4b76 ldr r3, [pc, #472] ; (804e544 ) 804e36a: 2201 movs r2, #1 804e36c: 701a strb r2, [r3, #0] } } break; 804e36e: e0da b.n 804e526 case ZoomOut: if(!FIRST) 804e370: 4b71 ldr r3, [pc, #452] ; (804e538 ) 804e372: 781b ldrb r3, [r3, #0] 804e374: b2db uxtb r3, r3 804e376: f083 0301 eor.w r3, r3, #1 804e37a: b2db uxtb r3, r3 804e37c: 2b00 cmp r3, #0 804e37e: f000 80d5 beq.w 804e52c { if((ViewLevel > 0) && (PlayingState.FrameSize < 4096)) 804e382: 4b6e ldr r3, [pc, #440] ; (804e53c ) 804e384: 781b ldrb r3, [r3, #0] 804e386: b2db uxtb r3, r3 804e388: 2b00 cmp r3, #0 804e38a: f000 80cf beq.w 804e52c 804e38e: 4b6c ldr r3, [pc, #432] ; (804e540 ) 804e390: 689b ldr r3, [r3, #8] 804e392: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 804e396: f080 80c9 bcs.w 804e52c { ViewLevel--; 804e39a: 4b68 ldr r3, [pc, #416] ; (804e53c ) 804e39c: 781b ldrb r3, [r3, #0] 804e39e: b2db uxtb r3, r3 804e3a0: 3b01 subs r3, #1 804e3a2: b2da uxtb r2, r3 804e3a4: 4b65 ldr r3, [pc, #404] ; (804e53c ) 804e3a6: 701a strb r2, [r3, #0] PlayingState.FrameSize <<= 1; 804e3a8: 4b65 ldr r3, [pc, #404] ; (804e540 ) 804e3aa: 689b ldr r3, [r3, #8] 804e3ac: 005b lsls r3, r3, #1 804e3ae: 4a64 ldr r2, [pc, #400] ; (804e540 ) 804e3b0: 6093 str r3, [r2, #8] PlayingState.NumFrames = (PlayingState.CountBytes >> 2) / PlayingState.FrameSize; 804e3b2: 4b63 ldr r3, [pc, #396] ; (804e540 ) 804e3b4: e9d3 2304 ldrd r2, r3, [r3, #16] 804e3b8: 0890 lsrs r0, r2, #2 804e3ba: ea40 7083 orr.w r0, r0, r3, lsl #30 804e3be: 0899 lsrs r1, r3, #2 804e3c0: 4b5f ldr r3, [pc, #380] ; (804e540 ) 804e3c2: 689b ldr r3, [r3, #8] 804e3c4: 461a mov r2, r3 804e3c6: f04f 0300 mov.w r3, #0 804e3ca: f7d2 f90f bl 80205ec <__aeabi_uldivmod> 804e3ce: 4602 mov r2, r0 804e3d0: 460b mov r3, r1 804e3d2: 4b5b ldr r3, [pc, #364] ; (804e540 ) 804e3d4: 605a str r2, [r3, #4] if((PlayingState.CountBytes >> 2) % PlayingState.FrameSize) 804e3d6: 4b5a ldr r3, [pc, #360] ; (804e540 ) 804e3d8: e9d3 2304 ldrd r2, r3, [r3, #16] 804e3dc: 0894 lsrs r4, r2, #2 804e3de: ea44 7483 orr.w r4, r4, r3, lsl #30 804e3e2: 089d lsrs r5, r3, #2 804e3e4: 4b56 ldr r3, [pc, #344] ; (804e540 ) 804e3e6: 689b ldr r3, [r3, #8] 804e3e8: 461a mov r2, r3 804e3ea: f04f 0300 mov.w r3, #0 804e3ee: 4620 mov r0, r4 804e3f0: 4629 mov r1, r5 804e3f2: f7d2 f8fb bl 80205ec <__aeabi_uldivmod> 804e3f6: 461c mov r4, r3 804e3f8: 4613 mov r3, r2 804e3fa: 4323 orrs r3, r4 804e3fc: d004 beq.n 804e408 PlayingState.NumFrames += 1; 804e3fe: 4b50 ldr r3, [pc, #320] ; (804e540 ) 804e400: 685b ldr r3, [r3, #4] 804e402: 3301 adds r3, #1 804e404: 4a4e ldr r2, [pc, #312] ; (804e540 ) 804e406: 6053 str r3, [r2, #4] PlayingState.CurrentFrame >>= 1; 804e408: 4b4d ldr r3, [pc, #308] ; (804e540 ) 804e40a: 681b ldr r3, [r3, #0] 804e40c: 085b lsrs r3, r3, #1 804e40e: 4a4c ldr r2, [pc, #304] ; (804e540 ) 804e410: 6013 str r3, [r2, #0] if(FR_OK == RewindFileGTR()) 804e412: f7da fc23 bl 8028c5c { } AUTOZOOM = true; 804e416: 4b4b ldr r3, [pc, #300] ; (804e544 ) 804e418: 2201 movs r2, #1 804e41a: 701a strb r2, [r3, #0] } } break; 804e41c: e086 b.n 804e52c case StartStop: if(PlayingState.State == STOPPED) 804e41e: 4b48 ldr r3, [pc, #288] ; (804e540 ) 804e420: 6a5b ldr r3, [r3, #36] ; 0x24 804e422: 2b00 cmp r3, #0 804e424: d10e bne.n 804e444 { PlayingState.CurrentFrame = 0; 804e426: 4b46 ldr r3, [pc, #280] ; (804e540 ) 804e428: 2200 movs r2, #0 804e42a: 601a str r2, [r3, #0] if(FR_OK == RewindFileGTR()) 804e42c: f7da fc16 bl 8028c5c 804e430: 4603 mov r3, r0 804e432: 2b00 cmp r3, #0 804e434: d17d bne.n 804e532 { PlayingState.State = PLAYING; 804e436: 4b42 ldr r3, [pc, #264] ; (804e540 ) 804e438: 2201 movs r2, #1 804e43a: 625a str r2, [r3, #36] ; 0x24 FIRST = false; 804e43c: 4b3e ldr r3, [pc, #248] ; (804e538 ) 804e43e: 2200 movs r2, #0 804e440: 701a strb r2, [r3, #0] if(PlayingState.State == PLAYING) PlayingState.State = PAUSED; else if(PlayingState.State == PAUSED) PlayingState.State = PLAYING; break; 804e442: e076 b.n 804e532 if(PlayingState.State == PLAYING) 804e444: 4b3e ldr r3, [pc, #248] ; (804e540 ) 804e446: 6a5b ldr r3, [r3, #36] ; 0x24 804e448: 2b01 cmp r3, #1 804e44a: d103 bne.n 804e454 PlayingState.State = PAUSED; 804e44c: 4b3c ldr r3, [pc, #240] ; (804e540 ) 804e44e: 2202 movs r2, #2 804e450: 625a str r2, [r3, #36] ; 0x24 break; 804e452: e06e b.n 804e532 if(PlayingState.State == PAUSED) 804e454: 4b3a ldr r3, [pc, #232] ; (804e540 ) 804e456: 6a5b ldr r3, [r3, #36] ; 0x24 804e458: 2b02 cmp r3, #2 804e45a: d16a bne.n 804e532 PlayingState.State = PLAYING; 804e45c: 4b38 ldr r3, [pc, #224] ; (804e540 ) 804e45e: 2201 movs r2, #1 804e460: 625a str r2, [r3, #36] ; 0x24 break; 804e462: e066 b.n 804e532 case Stop: if((PlayingState.State == PLAYING) || (PlayingState.State == PAUSED)) { 804e464: 4b36 ldr r3, [pc, #216] ; (804e540 ) 804e466: 6a5b ldr r3, [r3, #36] ; 0x24 804e468: 2b01 cmp r3, #1 804e46a: d003 beq.n 804e474 804e46c: 4b34 ldr r3, [pc, #208] ; (804e540 ) 804e46e: 6a5b ldr r3, [r3, #36] ; 0x24 804e470: 2b02 cmp r3, #2 804e472: d102 bne.n 804e47a PlayingState.State = STOPPED; 804e474: 4b32 ldr r3, [pc, #200] ; (804e540 ) 804e476: 2200 movs r2, #0 804e478: 625a str r2, [r3, #36] ; 0x24 } memset(FileName, 0, sizeof(FileName)); 804e47a: 2228 movs r2, #40 ; 0x28 804e47c: 2100 movs r1, #0 804e47e: 4832 ldr r0, [pc, #200] ; (804e548 ) 804e480: f07e fdfe bl 80cd080 strcpy(FileName, (char *) ExplorerFiles[CursorIndex].fname); 804e484: 4b31 ldr r3, [pc, #196] ; (804e54c ) 804e486: 681a ldr r2, [r3, #0] 804e488: 4613 mov r3, r2 804e48a: 00db lsls r3, r3, #3 804e48c: 1a9b subs r3, r3, r2 804e48e: 00db lsls r3, r3, #3 804e490: 3308 adds r3, #8 804e492: 4a2f ldr r2, [pc, #188] ; (804e550 ) 804e494: 4413 add r3, r2 804e496: 3304 adds r3, #4 804e498: 4619 mov r1, r3 804e49a: 482b ldr r0, [pc, #172] ; (804e548 ) 804e49c: f07e ff0d bl 80cd2ba result = OpenFileGTR(FileName); 804e4a0: 4829 ldr r0, [pc, #164] ; (804e548 ) 804e4a2: f7d9 fb0f bl 8027ac4 804e4a6: 4603 mov r3, r0 804e4a8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e4ac: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e4b0: 2b00 cmp r3, #0 804e4b2: d114 bne.n 804e4de { SeekFileGTR(); 804e4b4: f7da fd34 bl 8028f20 ViewLevel = 0; 804e4b8: 4b20 ldr r3, [pc, #128] ; (804e53c ) 804e4ba: 2200 movs r2, #0 804e4bc: 701a strb r2, [r3, #0] AUTOZOOM = true; 804e4be: 4b21 ldr r3, [pc, #132] ; (804e544 ) 804e4c0: 2201 movs r2, #1 804e4c2: 701a strb r2, [r3, #0] menu = MAIN_SYGNAL; 804e4c4: 4b23 ldr r3, [pc, #140] ; (804e554 ) 804e4c6: 2220 movs r2, #32 804e4c8: 701a strb r2, [r3, #0] menupos = StartStop; 804e4ca: 4b23 ldr r3, [pc, #140] ; (804e558 ) 804e4cc: 2200 movs r2, #0 804e4ce: 701a strb r2, [r3, #0] HISTORY = true; 804e4d0: 4b22 ldr r3, [pc, #136] ; (804e55c ) 804e4d2: 2201 movs r2, #1 804e4d4: 701a strb r2, [r3, #0] FIRST = false; 804e4d6: 4b18 ldr r3, [pc, #96] ; (804e538 ) 804e4d8: 2200 movs r2, #0 804e4da: 701a strb r2, [r3, #0] { STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 804e4dc: e02a b.n 804e534 if(result == FR_NOT_READY) 804e4de: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e4e2: 2b03 cmp r3, #3 804e4e4: d10a bne.n 804e4fc STATUS = AP_NO_CARD; 804e4e6: 4b1e ldr r3, [pc, #120] ; (804e560 ) 804e4e8: 2211 movs r2, #17 804e4ea: 601a str r2, [r3, #0] timerStatus = sec2; 804e4ec: 4b1d ldr r3, [pc, #116] ; (804e564 ) 804e4ee: f44f 5280 mov.w r2, #4096 ; 0x1000 804e4f2: 801a strh r2, [r3, #0] DrawStatus = true; 804e4f4: 4b1c ldr r3, [pc, #112] ; (804e568 ) 804e4f6: 2201 movs r2, #1 804e4f8: 701a strb r2, [r3, #0] break; 804e4fa: e01b b.n 804e534 STATUS = AP_INVALID_FILE; 804e4fc: 4b18 ldr r3, [pc, #96] ; (804e560 ) 804e4fe: 2202 movs r2, #2 804e500: 601a str r2, [r3, #0] timerStatus = sec2; 804e502: 4b18 ldr r3, [pc, #96] ; (804e564 ) 804e504: f44f 5280 mov.w r2, #4096 ; 0x1000 804e508: 801a strh r2, [r3, #0] DrawStatus = true; 804e50a: 4b17 ldr r3, [pc, #92] ; (804e568 ) 804e50c: 2201 movs r2, #1 804e50e: 701a strb r2, [r3, #0] break; 804e510: e010 b.n 804e534 case Cursor: AUTOZOOM = true; 804e512: 4b0c ldr r3, [pc, #48] ; (804e544 ) 804e514: 2201 movs r2, #1 804e516: 701a strb r2, [r3, #0] break; 804e518: e00c b.n 804e534 break; 804e51a: bf00 nop 804e51c: f004 bbf8 b.w 8052d10 break; 804e520: bf00 nop 804e522: f004 bbf5 b.w 8052d10 break; 804e526: bf00 nop 804e528: f004 bbf2 b.w 8052d10 break; 804e52c: bf00 nop 804e52e: f004 bbef b.w 8052d10 break; 804e532: bf00 nop } break; 804e534: f004 bbec b.w 8052d10 804e538: 20020db2 .word 0x20020db2 804e53c: 20020f74 .word 0x20020f74 804e540: 200228d8 .word 0x200228d8 804e544: 2002098c .word 0x2002098c 804e548: 20022bb8 .word 0x20022bb8 804e54c: 20020de0 .word 0x20020de0 804e550: 20022350 .word 0x20022350 804e554: 20020f78 .word 0x20020f78 804e558: 20020070 .word 0x20020070 804e55c: 20020f76 .word 0x20020f76 804e560: 20020dcc .word 0x20020dcc 804e564: 2002168c .word 0x2002168c 804e568: 20020dd2 .word 0x20020dd2 case EXPLORER: //TODO if(menupos == FilesPTM) 804e56c: 4bba ldr r3, [pc, #744] ; (804e858 ) 804e56e: 781b ldrb r3, [r3, #0] 804e570: b2db uxtb r3, r3 804e572: 2b02 cmp r3, #2 804e574: d12e bne.n 804e5d4 { if(strcmp(MeasFileName, (char *) ExplorerFiles[CursorIndex].fname) != 0) 804e576: 4bb9 ldr r3, [pc, #740] ; (804e85c ) 804e578: 681a ldr r2, [r3, #0] 804e57a: 4613 mov r3, r2 804e57c: 00db lsls r3, r3, #3 804e57e: 1a9b subs r3, r3, r2 804e580: 00db lsls r3, r3, #3 804e582: 3308 adds r3, #8 804e584: 4ab6 ldr r2, [pc, #728] ; (804e860 ) 804e586: 4413 add r3, r2 804e588: 3304 adds r3, #4 804e58a: 4619 mov r1, r3 804e58c: 48b5 ldr r0, [pc, #724] ; (804e864 ) 804e58e: f7d1 feb7 bl 8020300 804e592: 4603 mov r3, r0 804e594: 2b00 cmp r3, #0 804e596: d002 beq.n 804e59e DrawSavedData = false; 804e598: 4bb3 ldr r3, [pc, #716] ; (804e868 ) 804e59a: 2200 movs r2, #0 804e59c: 701a strb r2, [r3, #0] memset(MeasFileName, 0, sizeof(MeasFileName)); 804e59e: 2221 movs r2, #33 ; 0x21 804e5a0: 2100 movs r1, #0 804e5a2: 48b0 ldr r0, [pc, #704] ; (804e864 ) 804e5a4: f07e fd6c bl 80cd080 strcpy(MeasFileName, (char *) ExplorerFiles[CursorIndex].fname); 804e5a8: 4bac ldr r3, [pc, #688] ; (804e85c ) 804e5aa: 681a ldr r2, [r3, #0] 804e5ac: 4613 mov r3, r2 804e5ae: 00db lsls r3, r3, #3 804e5b0: 1a9b subs r3, r3, r2 804e5b2: 00db lsls r3, r3, #3 804e5b4: 3308 adds r3, #8 804e5b6: 4aaa ldr r2, [pc, #680] ; (804e860 ) 804e5b8: 4413 add r3, r2 804e5ba: 3304 adds r3, #4 804e5bc: 4619 mov r1, r3 804e5be: 48a9 ldr r0, [pc, #676] ; (804e864 ) 804e5c0: f07e fe7b bl 80cd2ba menu = PARAM_VIB; 804e5c4: 4ba9 ldr r3, [pc, #676] ; (804e86c ) 804e5c6: 2206 movs r2, #6 804e5c8: 701a strb r2, [r3, #0] menupos = SaveToFile; 804e5ca: 4ba3 ldr r3, [pc, #652] ; (804e858 ) 804e5cc: 220a movs r2, #10 804e5ce: 701a strb r2, [r3, #0] MeasFileName[0] = '\0'; } else MeasFileName[0] = '\0'; } break; 804e5d0: f004 bba0 b.w 8052d14 if(menupos == UpNo) 804e5d4: 4ba0 ldr r3, [pc, #640] ; (804e858 ) 804e5d6: 781b ldrb r3, [r3, #0] 804e5d8: b2db uxtb r3, r3 804e5da: 2b06 cmp r3, #6 804e5dc: d104 bne.n 804e5e8 menupos = FilesPTM; 804e5de: 4b9e ldr r3, [pc, #632] ; (804e858 ) 804e5e0: 2202 movs r2, #2 804e5e2: 701a strb r2, [r3, #0] break; 804e5e4: f004 bb96 b.w 8052d14 if(menupos == UpYes) 804e5e8: 4b9b ldr r3, [pc, #620] ; (804e858 ) 804e5ea: 781b ldrb r3, [r3, #0] 804e5ec: b2db uxtb r3, r3 804e5ee: 2b07 cmp r3, #7 804e5f0: d125 bne.n 804e63e STATUS = AP_OK; 804e5f2: 4b9f ldr r3, [pc, #636] ; (804e870 ) 804e5f4: 2200 movs r2, #0 804e5f6: 601a str r2, [r3, #0] CleanStatus = AP_OK; 804e5f8: 4b9e ldr r3, [pc, #632] ; (804e874 ) 804e5fa: 2200 movs r2, #0 804e5fc: 701a strb r2, [r3, #0] result = DeleteFilePTM((char *) ExplorerFiles[CursorIndex].fname); 804e5fe: 4b97 ldr r3, [pc, #604] ; (804e85c ) 804e600: 681a ldr r2, [r3, #0] 804e602: 4613 mov r3, r2 804e604: 00db lsls r3, r3, #3 804e606: 1a9b subs r3, r3, r2 804e608: 00db lsls r3, r3, #3 804e60a: 3308 adds r3, #8 804e60c: 4a94 ldr r2, [pc, #592] ; (804e860 ) 804e60e: 4413 add r3, r2 804e610: 3304 adds r3, #4 804e612: 4618 mov r0, r3 804e614: f7dc fbb0 bl 802ad78 804e618: 4603 mov r3, r0 804e61a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e61e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e622: 2b00 cmp r3, #0 804e624: d103 bne.n 804e62e CleanStatus = AP_OK; 804e626: 4b93 ldr r3, [pc, #588] ; (804e874 ) 804e628: 2200 movs r2, #0 804e62a: 701a strb r2, [r3, #0] 804e62c: e002 b.n 804e634 else CleanStatus = AP_FAIL; 804e62e: 4b91 ldr r3, [pc, #580] ; (804e874 ) 804e630: 2201 movs r2, #1 804e632: 701a strb r2, [r3, #0] menupos = CleanUpResult; 804e634: 4b88 ldr r3, [pc, #544] ; (804e858 ) 804e636: 220a movs r2, #10 804e638: 701a strb r2, [r3, #0] break; 804e63a: f004 bb6b b.w 8052d14 if(menupos == CleanUpResult) 804e63e: 4b86 ldr r3, [pc, #536] ; (804e858 ) 804e640: 781b ldrb r3, [r3, #0] 804e642: b2db uxtb r3, r3 804e644: 2b0a cmp r3, #10 804e646: f044 8365 bne.w 8052d14 result = FR_NOT_READY; 804e64a: 2303 movs r3, #3 804e64c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 804e650: 4b89 ldr r3, [pc, #548] ; (804e878 ) 804e652: 781b ldrb r3, [r3, #0] 804e654: b2db uxtb r3, r3 804e656: 2b03 cmp r3, #3 804e658: d13e bne.n 804e6d8 CursorIndex = 0; 804e65a: 4b80 ldr r3, [pc, #512] ; (804e85c ) 804e65c: 2200 movs r2, #0 804e65e: 601a str r2, [r3, #0] FirstFileIndex = 0; 804e660: 4b86 ldr r3, [pc, #536] ; (804e87c ) 804e662: 2200 movs r2, #0 804e664: 601a str r2, [r3, #0] RealFileIndex = 0; 804e666: 4b86 ldr r3, [pc, #536] ; (804e880 ) 804e668: 2200 movs r2, #0 804e66a: 601a str r2, [r3, #0] result = ReadNumFilesPTM((uint32_t *) &NumFilesPTM); 804e66c: 4885 ldr r0, [pc, #532] ; (804e884 ) 804e66e: f7dc f973 bl 802a958 804e672: 4603 mov r3, r0 804e674: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e678: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e67c: 2b00 cmp r3, #0 804e67e: d126 bne.n 804e6ce result = ReadMyFilesPTM(FirstFileIndex); 804e680: 4b7e ldr r3, [pc, #504] ; (804e87c ) 804e682: 681b ldr r3, [r3, #0] 804e684: 4618 mov r0, r3 804e686: f7dc fa33 bl 802aaf0 804e68a: 4603 mov r3, r0 804e68c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e690: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e694: 2b00 cmp r3, #0 804e696: d115 bne.n 804e6c4 menu = EXPLORER; 804e698: 4b74 ldr r3, [pc, #464] ; (804e86c ) 804e69a: 2229 movs r2, #41 ; 0x29 804e69c: 701a strb r2, [r3, #0] lastmenupos = menupos; 804e69e: 4b6e ldr r3, [pc, #440] ; (804e858 ) 804e6a0: 781b ldrb r3, [r3, #0] 804e6a2: b2da uxtb r2, r3 804e6a4: 4b78 ldr r3, [pc, #480] ; (804e888 ) 804e6a6: 701a strb r2, [r3, #0] if(NumFilesPTM) 804e6a8: 4b76 ldr r3, [pc, #472] ; (804e884 ) 804e6aa: 681b ldr r3, [r3, #0] 804e6ac: 2b00 cmp r3, #0 804e6ae: d004 beq.n 804e6ba menupos = FilesPTM; 804e6b0: 4b69 ldr r3, [pc, #420] ; (804e858 ) 804e6b2: 2202 movs r2, #2 804e6b4: 701a strb r2, [r3, #0] break; 804e6b6: f004 bb2d b.w 8052d14 else menupos = NoFilesPTM; 804e6ba: 4b67 ldr r3, [pc, #412] ; (804e858 ) 804e6bc: 2201 movs r2, #1 804e6be: 701a strb r2, [r3, #0] break; 804e6c0: f004 bb28 b.w 8052d14 MeasFileName[0] = '\0'; 804e6c4: 4b67 ldr r3, [pc, #412] ; (804e864 ) 804e6c6: 2200 movs r2, #0 804e6c8: 701a strb r2, [r3, #0] break; 804e6ca: f004 bb23 b.w 8052d14 MeasFileName[0] = '\0'; 804e6ce: 4b65 ldr r3, [pc, #404] ; (804e864 ) 804e6d0: 2200 movs r2, #0 804e6d2: 701a strb r2, [r3, #0] break; 804e6d4: f004 bb1e b.w 8052d14 MeasFileName[0] = '\0'; 804e6d8: 4b62 ldr r3, [pc, #392] ; (804e864 ) 804e6da: 2200 movs r2, #0 804e6dc: 701a strb r2, [r3, #0] break; 804e6de: f004 bb19 b.w 8052d14 case EXPLORER_DIAGN: //TODO if(menupos == FilesDGN) 804e6e2: 4b5d ldr r3, [pc, #372] ; (804e858 ) 804e6e4: 781b ldrb r3, [r3, #0] 804e6e6: b2db uxtb r3, r3 804e6e8: 2b02 cmp r3, #2 804e6ea: d12e bne.n 804e74a { if(strcmp(DiagFileName, (char *) ExplorerFiles[CursorIndex].fname) != 0) 804e6ec: 4b5b ldr r3, [pc, #364] ; (804e85c ) 804e6ee: 681a ldr r2, [r3, #0] 804e6f0: 4613 mov r3, r2 804e6f2: 00db lsls r3, r3, #3 804e6f4: 1a9b subs r3, r3, r2 804e6f6: 00db lsls r3, r3, #3 804e6f8: 3308 adds r3, #8 804e6fa: 4a59 ldr r2, [pc, #356] ; (804e860 ) 804e6fc: 4413 add r3, r2 804e6fe: 3304 adds r3, #4 804e700: 4619 mov r1, r3 804e702: 4862 ldr r0, [pc, #392] ; (804e88c ) 804e704: f7d1 fdfc bl 8020300 804e708: 4603 mov r3, r0 804e70a: 2b00 cmp r3, #0 804e70c: d002 beq.n 804e714 DrawSavedData = false; 804e70e: 4b56 ldr r3, [pc, #344] ; (804e868 ) 804e710: 2200 movs r2, #0 804e712: 701a strb r2, [r3, #0] memset(DiagFileName, 0, sizeof(DiagFileName)); 804e714: 2221 movs r2, #33 ; 0x21 804e716: 2100 movs r1, #0 804e718: 485c ldr r0, [pc, #368] ; (804e88c ) 804e71a: f07e fcb1 bl 80cd080 strcpy(DiagFileName, (char *) ExplorerFiles[CursorIndex].fname); 804e71e: 4b4f ldr r3, [pc, #316] ; (804e85c ) 804e720: 681a ldr r2, [r3, #0] 804e722: 4613 mov r3, r2 804e724: 00db lsls r3, r3, #3 804e726: 1a9b subs r3, r3, r2 804e728: 00db lsls r3, r3, #3 804e72a: 3308 adds r3, #8 804e72c: 4a4c ldr r2, [pc, #304] ; (804e860 ) 804e72e: 4413 add r3, r2 804e730: 3304 adds r3, #4 804e732: 4619 mov r1, r3 804e734: 4855 ldr r0, [pc, #340] ; (804e88c ) 804e736: f07e fdc0 bl 80cd2ba menu = PARAM_DIAGN; 804e73a: 4b4c ldr r3, [pc, #304] ; (804e86c ) 804e73c: 220f movs r2, #15 804e73e: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 804e740: 4b45 ldr r3, [pc, #276] ; (804e858 ) 804e742: 2204 movs r2, #4 804e744: 701a strb r2, [r3, #0] DiagFileName[0] = '\0'; } else DiagFileName[0] = '\0'; } break; 804e746: f004 bae7 b.w 8052d18 if(menupos == UpNo) 804e74a: 4b43 ldr r3, [pc, #268] ; (804e858 ) 804e74c: 781b ldrb r3, [r3, #0] 804e74e: b2db uxtb r3, r3 804e750: 2b06 cmp r3, #6 804e752: d104 bne.n 804e75e menupos = FilesDGN; 804e754: 4b40 ldr r3, [pc, #256] ; (804e858 ) 804e756: 2202 movs r2, #2 804e758: 701a strb r2, [r3, #0] break; 804e75a: f004 badd b.w 8052d18 if(menupos == UpYes) 804e75e: 4b3e ldr r3, [pc, #248] ; (804e858 ) 804e760: 781b ldrb r3, [r3, #0] 804e762: b2db uxtb r3, r3 804e764: 2b07 cmp r3, #7 804e766: d125 bne.n 804e7b4 STATUS = AP_OK; 804e768: 4b41 ldr r3, [pc, #260] ; (804e870 ) 804e76a: 2200 movs r2, #0 804e76c: 601a str r2, [r3, #0] CleanStatus = AP_OK; 804e76e: 4b41 ldr r3, [pc, #260] ; (804e874 ) 804e770: 2200 movs r2, #0 804e772: 701a strb r2, [r3, #0] result = DeleteFileDGN((char *) ExplorerFiles[CursorIndex].fname); 804e774: 4b39 ldr r3, [pc, #228] ; (804e85c ) 804e776: 681a ldr r2, [r3, #0] 804e778: 4613 mov r3, r2 804e77a: 00db lsls r3, r3, #3 804e77c: 1a9b subs r3, r3, r2 804e77e: 00db lsls r3, r3, #3 804e780: 3308 adds r3, #8 804e782: 4a37 ldr r2, [pc, #220] ; (804e860 ) 804e784: 4413 add r3, r2 804e786: 3304 adds r3, #4 804e788: 4618 mov r0, r3 804e78a: f7dc fb5d bl 802ae48 804e78e: 4603 mov r3, r0 804e790: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e794: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e798: 2b00 cmp r3, #0 804e79a: d103 bne.n 804e7a4 CleanStatus = AP_OK; 804e79c: 4b35 ldr r3, [pc, #212] ; (804e874 ) 804e79e: 2200 movs r2, #0 804e7a0: 701a strb r2, [r3, #0] 804e7a2: e002 b.n 804e7aa else CleanStatus = AP_FAIL; 804e7a4: 4b33 ldr r3, [pc, #204] ; (804e874 ) 804e7a6: 2201 movs r2, #1 804e7a8: 701a strb r2, [r3, #0] menupos = CleanUpResult; 804e7aa: 4b2b ldr r3, [pc, #172] ; (804e858 ) 804e7ac: 220a movs r2, #10 804e7ae: 701a strb r2, [r3, #0] break; 804e7b0: f004 bab2 b.w 8052d18 if(menupos == CleanUpResult) 804e7b4: 4b28 ldr r3, [pc, #160] ; (804e858 ) 804e7b6: 781b ldrb r3, [r3, #0] 804e7b8: b2db uxtb r3, r3 804e7ba: 2b0a cmp r3, #10 804e7bc: f044 82ac bne.w 8052d18 result = FR_NOT_READY; 804e7c0: 2303 movs r3, #3 804e7c2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 804e7c6: 4b2c ldr r3, [pc, #176] ; (804e878 ) 804e7c8: 781b ldrb r3, [r3, #0] 804e7ca: b2db uxtb r3, r3 804e7cc: 2b03 cmp r3, #3 804e7ce: d13e bne.n 804e84e CursorIndex = 0; 804e7d0: 4b22 ldr r3, [pc, #136] ; (804e85c ) 804e7d2: 2200 movs r2, #0 804e7d4: 601a str r2, [r3, #0] FirstFileIndex = 0; 804e7d6: 4b29 ldr r3, [pc, #164] ; (804e87c ) 804e7d8: 2200 movs r2, #0 804e7da: 601a str r2, [r3, #0] RealFileIndex = 0; 804e7dc: 4b28 ldr r3, [pc, #160] ; (804e880 ) 804e7de: 2200 movs r2, #0 804e7e0: 601a str r2, [r3, #0] result = ReadNumFilesDGN((uint32_t *) &NumFilesDGN); 804e7e2: 482b ldr r0, [pc, #172] ; (804e890 ) 804e7e4: f7dc f8ce bl 802a984 804e7e8: 4603 mov r3, r0 804e7ea: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e7ee: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e7f2: 2b00 cmp r3, #0 804e7f4: d126 bne.n 804e844 result = ReadMyFilesDGN(FirstFileIndex); 804e7f6: 4b21 ldr r3, [pc, #132] ; (804e87c ) 804e7f8: 681b ldr r3, [r3, #0] 804e7fa: 4618 mov r0, r3 804e7fc: f7dc f985 bl 802ab0a 804e800: 4603 mov r3, r0 804e802: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804e806: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804e80a: 2b00 cmp r3, #0 804e80c: d115 bne.n 804e83a menu = EXPLORER_DIAGN; 804e80e: 4b17 ldr r3, [pc, #92] ; (804e86c ) 804e810: 222a movs r2, #42 ; 0x2a 804e812: 701a strb r2, [r3, #0] lastmenupos = menupos; 804e814: 4b10 ldr r3, [pc, #64] ; (804e858 ) 804e816: 781b ldrb r3, [r3, #0] 804e818: b2da uxtb r2, r3 804e81a: 4b1b ldr r3, [pc, #108] ; (804e888 ) 804e81c: 701a strb r2, [r3, #0] if(NumFilesDGN) 804e81e: 4b1c ldr r3, [pc, #112] ; (804e890 ) 804e820: 681b ldr r3, [r3, #0] 804e822: 2b00 cmp r3, #0 804e824: d004 beq.n 804e830 menupos = FilesDGN; 804e826: 4b0c ldr r3, [pc, #48] ; (804e858 ) 804e828: 2202 movs r2, #2 804e82a: 701a strb r2, [r3, #0] break; 804e82c: f004 ba74 b.w 8052d18 else menupos = NoFilesDGN; 804e830: 4b09 ldr r3, [pc, #36] ; (804e858 ) 804e832: 2201 movs r2, #1 804e834: 701a strb r2, [r3, #0] break; 804e836: f004 ba6f b.w 8052d18 DiagFileName[0] = '\0'; 804e83a: 4b14 ldr r3, [pc, #80] ; (804e88c ) 804e83c: 2200 movs r2, #0 804e83e: 701a strb r2, [r3, #0] break; 804e840: f004 ba6a b.w 8052d18 DiagFileName[0] = '\0'; 804e844: 4b11 ldr r3, [pc, #68] ; (804e88c ) 804e846: 2200 movs r2, #0 804e848: 701a strb r2, [r3, #0] break; 804e84a: f004 ba65 b.w 8052d18 DiagFileName[0] = '\0'; 804e84e: 4b0f ldr r3, [pc, #60] ; (804e88c ) 804e850: 2200 movs r2, #0 804e852: 701a strb r2, [r3, #0] break; 804e854: f004 ba60 b.w 8052d18 804e858: 20020070 .word 0x20020070 804e85c: 20020de0 .word 0x20020de0 804e860: 20022350 .word 0x20022350 804e864: 20020e58 .word 0x20020e58 804e868: 20020dca .word 0x20020dca 804e86c: 20020f78 .word 0x20020f78 804e870: 20020dcc .word 0x20020dcc 804e874: 20020dd0 .word 0x20020dd0 804e878: 2002164c .word 0x2002164c 804e87c: 20020de4 .word 0x20020de4 804e880: 20020de8 .word 0x20020de8 804e884: 20020df4 .word 0x20020df4 804e888: 20020071 .word 0x20020071 804e88c: 20020e7c .word 0x20020e7c 804e890: 20020df8 .word 0x20020df8 case INPUT_COMMENT_DIAGN: //TODO if(menupos == _ENTER) 804e894: 4bb6 ldr r3, [pc, #728] ; (804eb70 ) 804e896: 781b ldrb r3, [r3, #0] 804e898: b2db uxtb r3, r3 804e89a: 2b26 cmp r3, #38 ; 0x26 804e89c: f040 8249 bne.w 804ed32 { menu = lastmenu; 804e8a0: 4bb4 ldr r3, [pc, #720] ; (804eb74 ) 804e8a2: 781b ldrb r3, [r3, #0] 804e8a4: b2da uxtb r2, r3 804e8a6: 4bb4 ldr r3, [pc, #720] ; (804eb78 ) 804e8a8: 701a strb r2, [r3, #0] menupos = Record; 804e8aa: 4bb1 ldr r3, [pc, #708] ; (804eb70 ) 804e8ac: 2202 movs r2, #2 804e8ae: 701a strb r2, [r3, #0] memcpy(Comment, TEMP_Comment, sizeof(Comment)); 804e8b0: 4ab2 ldr r2, [pc, #712] ; (804eb7c ) 804e8b2: 4bb3 ldr r3, [pc, #716] ; (804eb80 ) 804e8b4: 4610 mov r0, r2 804e8b6: f103 0420 add.w r4, r3, #32 804e8ba: 4602 mov r2, r0 804e8bc: 4619 mov r1, r3 804e8be: f8d1 e000 ldr.w lr, [r1] 804e8c2: 684e ldr r6, [r1, #4] 804e8c4: 688d ldr r5, [r1, #8] 804e8c6: 68c9 ldr r1, [r1, #12] 804e8c8: f8c2 e000 str.w lr, [r2] 804e8cc: 6056 str r6, [r2, #4] 804e8ce: 6095 str r5, [r2, #8] 804e8d0: 60d1 str r1, [r2, #12] 804e8d2: 3310 adds r3, #16 804e8d4: 3010 adds r0, #16 804e8d6: 42a3 cmp r3, r4 804e8d8: d1ef bne.n 804e8ba 804e8da: 4602 mov r2, r0 804e8dc: 6819 ldr r1, [r3, #0] 804e8de: 685b ldr r3, [r3, #4] 804e8e0: 6011 str r1, [r2, #0] 804e8e2: 6053 str r3, [r2, #4] DiagnFileData.d_Op1_ipr = pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7; 804e8e4: 4ba7 ldr r3, [pc, #668] ; (804eb84 ) 804e8e6: 781b ldrb r3, [r3, #0] 804e8e8: b2db uxtb r3, r3 804e8ea: 4aa7 ldr r2, [pc, #668] ; (804eb88 ) 804e8ec: 338e adds r3, #142 ; 0x8e 804e8ee: 009b lsls r3, r3, #2 804e8f0: 4413 add r3, r2 804e8f2: 791b ldrb r3, [r3, #4] 804e8f4: b2db uxtb r3, r3 804e8f6: f003 0307 and.w r3, r3, #7 804e8fa: b2da uxtb r2, r3 804e8fc: 4ba3 ldr r3, [pc, #652] ; (804eb8c ) 804e8fe: f883 2028 strb.w r2, [r3, #40] ; 0x28 DiagnFileData.d_Op2_ipr = pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7; 804e902: 4ba0 ldr r3, [pc, #640] ; (804eb84 ) 804e904: 781b ldrb r3, [r3, #0] 804e906: b2db uxtb r3, r3 804e908: 4a9f ldr r2, [pc, #636] ; (804eb88 ) 804e90a: 009b lsls r3, r3, #2 804e90c: 4413 add r3, r2 804e90e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 804e912: b2db uxtb r3, r3 804e914: f003 0307 and.w r3, r3, #7 804e918: b2da uxtb r2, r3 804e91a: 4b9c ldr r3, [pc, #624] ; (804eb8c ) 804e91c: f883 2029 strb.w r2, [r3, #41] ; 0x29 DiagnFileData.d_Op3_ipr = pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7; 804e920: 4b98 ldr r3, [pc, #608] ; (804eb84 ) 804e922: 781b ldrb r3, [r3, #0] 804e924: b2db uxtb r3, r3 804e926: 4a98 ldr r2, [pc, #608] ; (804eb88 ) 804e928: 009b lsls r3, r3, #2 804e92a: 4413 add r3, r2 804e92c: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 804e930: b2db uxtb r3, r3 804e932: f003 0307 and.w r3, r3, #7 804e936: b2da uxtb r2, r3 804e938: 4b94 ldr r3, [pc, #592] ; (804eb8c ) 804e93a: f883 202a strb.w r2, [r3, #42] ; 0x2a switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 804e93e: 4b91 ldr r3, [pc, #580] ; (804eb84 ) 804e940: 781b ldrb r3, [r3, #0] 804e942: b2db uxtb r3, r3 804e944: 4a90 ldr r2, [pc, #576] ; (804eb88 ) 804e946: 338e adds r3, #142 ; 0x8e 804e948: 009b lsls r3, r3, #2 804e94a: 4413 add r3, r2 804e94c: 791b ldrb r3, [r3, #4] 804e94e: b2db uxtb r3, r3 804e950: 08db lsrs r3, r3, #3 804e952: b2db uxtb r3, r3 804e954: f003 031f and.w r3, r3, #31 804e958: 3b01 subs r3, #1 804e95a: 2b0f cmp r3, #15 804e95c: d83b bhi.n 804e9d6 804e95e: a201 add r2, pc, #4 ; (adr r2, 804e964 ) 804e960: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804e964: 0804e9a5 .word 0x0804e9a5 804e968: 0804e9af .word 0x0804e9af 804e96c: 0804e9d7 .word 0x0804e9d7 804e970: 0804e9b9 .word 0x0804e9b9 804e974: 0804e9d7 .word 0x0804e9d7 804e978: 0804e9d7 .word 0x0804e9d7 804e97c: 0804e9d7 .word 0x0804e9d7 804e980: 0804e9c3 .word 0x0804e9c3 804e984: 0804e9d7 .word 0x0804e9d7 804e988: 0804e9d7 .word 0x0804e9d7 804e98c: 0804e9d7 .word 0x0804e9d7 804e990: 0804e9d7 .word 0x0804e9d7 804e994: 0804e9d7 .word 0x0804e9d7 804e998: 0804e9d7 .word 0x0804e9d7 804e99c: 0804e9d7 .word 0x0804e9d7 804e9a0: 0804e9cd .word 0x0804e9cd { case DIAGN_PEAK: DiagnFileData.d_Op1_ivs = 'P'; break; 804e9a4: 4b79 ldr r3, [pc, #484] ; (804eb8c ) 804e9a6: 2250 movs r2, #80 ; 0x50 804e9a8: f883 202b strb.w r2, [r3, #43] ; 0x2b 804e9ac: e013 b.n 804e9d6 case DIAGN_RMS: DiagnFileData.d_Op1_ivs = 'S'; break; 804e9ae: 4b77 ldr r3, [pc, #476] ; (804eb8c ) 804e9b0: 2253 movs r2, #83 ; 0x53 804e9b2: f883 202b strb.w r2, [r3, #43] ; 0x2b 804e9b6: e00e b.n 804e9d6 case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op1_ivs = 'R'; break; 804e9b8: 4b74 ldr r3, [pc, #464] ; (804eb8c ) 804e9ba: 2252 movs r2, #82 ; 0x52 804e9bc: f883 202b strb.w r2, [r3, #43] ; 0x2b 804e9c0: e009 b.n 804e9d6 case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op1_ivs = 'F'; break; 804e9c2: 4b72 ldr r3, [pc, #456] ; (804eb8c ) 804e9c4: 2246 movs r2, #70 ; 0x46 804e9c6: f883 202b strb.w r2, [r3, #43] ; 0x2b 804e9ca: e004 b.n 804e9d6 case DIAGN_EXCESS: DiagnFileData.d_Op1_ivs = 'E'; break; 804e9cc: 4b6f ldr r3, [pc, #444] ; (804eb8c ) 804e9ce: 2245 movs r2, #69 ; 0x45 804e9d0: f883 202b strb.w r2, [r3, #43] ; 0x2b 804e9d4: bf00 nop } switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 804e9d6: 4b6b ldr r3, [pc, #428] ; (804eb84 ) 804e9d8: 781b ldrb r3, [r3, #0] 804e9da: b2db uxtb r3, r3 804e9dc: 4a6a ldr r2, [pc, #424] ; (804eb88 ) 804e9de: 009b lsls r3, r3, #2 804e9e0: 4413 add r3, r2 804e9e2: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 804e9e6: b2db uxtb r3, r3 804e9e8: 08db lsrs r3, r3, #3 804e9ea: b2db uxtb r3, r3 804e9ec: f003 031f and.w r3, r3, #31 804e9f0: 3b01 subs r3, #1 804e9f2: 2b0f cmp r3, #15 804e9f4: d83b bhi.n 804ea6e 804e9f6: a201 add r2, pc, #4 ; (adr r2, 804e9fc ) 804e9f8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804e9fc: 0804ea3d .word 0x0804ea3d 804ea00: 0804ea47 .word 0x0804ea47 804ea04: 0804ea6f .word 0x0804ea6f 804ea08: 0804ea51 .word 0x0804ea51 804ea0c: 0804ea6f .word 0x0804ea6f 804ea10: 0804ea6f .word 0x0804ea6f 804ea14: 0804ea6f .word 0x0804ea6f 804ea18: 0804ea5b .word 0x0804ea5b 804ea1c: 0804ea6f .word 0x0804ea6f 804ea20: 0804ea6f .word 0x0804ea6f 804ea24: 0804ea6f .word 0x0804ea6f 804ea28: 0804ea6f .word 0x0804ea6f 804ea2c: 0804ea6f .word 0x0804ea6f 804ea30: 0804ea6f .word 0x0804ea6f 804ea34: 0804ea6f .word 0x0804ea6f 804ea38: 0804ea65 .word 0x0804ea65 { case DIAGN_PEAK: DiagnFileData.d_Op2_ivs = 'P'; break; 804ea3c: 4b53 ldr r3, [pc, #332] ; (804eb8c ) 804ea3e: 2250 movs r2, #80 ; 0x50 804ea40: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ea44: e013 b.n 804ea6e case DIAGN_RMS: DiagnFileData.d_Op2_ivs = 'S'; break; 804ea46: 4b51 ldr r3, [pc, #324] ; (804eb8c ) 804ea48: 2253 movs r2, #83 ; 0x53 804ea4a: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ea4e: e00e b.n 804ea6e case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op2_ivs = 'R'; break; 804ea50: 4b4e ldr r3, [pc, #312] ; (804eb8c ) 804ea52: 2252 movs r2, #82 ; 0x52 804ea54: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ea58: e009 b.n 804ea6e case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op2_ivs = 'F'; break; 804ea5a: 4b4c ldr r3, [pc, #304] ; (804eb8c ) 804ea5c: 2246 movs r2, #70 ; 0x46 804ea5e: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ea62: e004 b.n 804ea6e case DIAGN_EXCESS: DiagnFileData.d_Op2_ivs = 'E'; break; 804ea64: 4b49 ldr r3, [pc, #292] ; (804eb8c ) 804ea66: 2245 movs r2, #69 ; 0x45 804ea68: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ea6c: bf00 nop } switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 804ea6e: 4b45 ldr r3, [pc, #276] ; (804eb84 ) 804ea70: 781b ldrb r3, [r3, #0] 804ea72: b2db uxtb r3, r3 804ea74: 4a44 ldr r2, [pc, #272] ; (804eb88 ) 804ea76: 009b lsls r3, r3, #2 804ea78: 4413 add r3, r2 804ea7a: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 804ea7e: b2db uxtb r3, r3 804ea80: 08db lsrs r3, r3, #3 804ea82: b2db uxtb r3, r3 804ea84: f003 031f and.w r3, r3, #31 804ea88: 3b01 subs r3, #1 804ea8a: 2b0f cmp r3, #15 804ea8c: d83b bhi.n 804eb06 804ea8e: a201 add r2, pc, #4 ; (adr r2, 804ea94 ) 804ea90: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804ea94: 0804ead5 .word 0x0804ead5 804ea98: 0804eadf .word 0x0804eadf 804ea9c: 0804eb07 .word 0x0804eb07 804eaa0: 0804eae9 .word 0x0804eae9 804eaa4: 0804eb07 .word 0x0804eb07 804eaa8: 0804eb07 .word 0x0804eb07 804eaac: 0804eb07 .word 0x0804eb07 804eab0: 0804eaf3 .word 0x0804eaf3 804eab4: 0804eb07 .word 0x0804eb07 804eab8: 0804eb07 .word 0x0804eb07 804eabc: 0804eb07 .word 0x0804eb07 804eac0: 0804eb07 .word 0x0804eb07 804eac4: 0804eb07 .word 0x0804eb07 804eac8: 0804eb07 .word 0x0804eb07 804eacc: 0804eb07 .word 0x0804eb07 804ead0: 0804eafd .word 0x0804eafd { case DIAGN_PEAK: DiagnFileData.d_Op3_ivs = 'P'; break; 804ead4: 4b2d ldr r3, [pc, #180] ; (804eb8c ) 804ead6: 2250 movs r2, #80 ; 0x50 804ead8: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eadc: e013 b.n 804eb06 case DIAGN_RMS: DiagnFileData.d_Op3_ivs = 'S'; break; 804eade: 4b2b ldr r3, [pc, #172] ; (804eb8c ) 804eae0: 2253 movs r2, #83 ; 0x53 804eae2: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eae6: e00e b.n 804eb06 case DIAGN_PEAK_TO_PEAK: DiagnFileData.d_Op3_ivs = 'R'; break; 804eae8: 4b28 ldr r3, [pc, #160] ; (804eb8c ) 804eaea: 2252 movs r2, #82 ; 0x52 804eaec: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eaf0: e009 b.n 804eb06 case DIAGN_PEAK_FACTOR: DiagnFileData.d_Op3_ivs = 'F'; break; 804eaf2: 4b26 ldr r3, [pc, #152] ; (804eb8c ) 804eaf4: 2246 movs r2, #70 ; 0x46 804eaf6: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eafa: e004 b.n 804eb06 case DIAGN_EXCESS: DiagnFileData.d_Op3_ivs = 'E'; break; 804eafc: 4b23 ldr r3, [pc, #140] ; (804eb8c ) 804eafe: 2245 movs r2, #69 ; 0x45 804eb00: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eb04: bf00 nop } DiagnFileData.Op_1.fl = operand[Us1]; 804eb06: 4b22 ldr r3, [pc, #136] ; (804eb90 ) 804eb08: 681b ldr r3, [r3, #0] 804eb0a: 4a20 ldr r2, [pc, #128] ; (804eb8c ) 804eb0c: 6013 str r3, [r2, #0] DiagnFileData.Op_2.fl = operand[Us2]; 804eb0e: 4b20 ldr r3, [pc, #128] ; (804eb90 ) 804eb10: 685b ldr r3, [r3, #4] 804eb12: 4a1e ldr r2, [pc, #120] ; (804eb8c ) 804eb14: 6053 str r3, [r2, #4] DiagnFileData.Op_3.fl = operand[Us3]; 804eb16: 4b1e ldr r3, [pc, #120] ; (804eb90 ) 804eb18: 689b ldr r3, [r3, #8] 804eb1a: 4a1c ldr r2, [pc, #112] ; (804eb8c ) 804eb1c: 6093 str r3, [r2, #8] DiagnFileData.d_Time = RTC_TimeStruct; 804eb1e: 4b1b ldr r3, [pc, #108] ; (804eb8c ) 804eb20: 4a1c ldr r2, [pc, #112] ; (804eb94 ) 804eb22: f103 040c add.w r4, r3, #12 804eb26: 4615 mov r5, r2 804eb28: cd0f ldmia r5!, {r0, r1, r2, r3} 804eb2a: c40f stmia r4!, {r0, r1, r2, r3} 804eb2c: e895 0003 ldmia.w r5, {r0, r1} 804eb30: e884 0003 stmia.w r4, {r0, r1} DiagnFileData.d_Date = RTC_DateStruct; 804eb34: 4b15 ldr r3, [pc, #84] ; (804eb8c ) 804eb36: 4a18 ldr r2, [pc, #96] ; (804eb98 ) 804eb38: 3324 adds r3, #36 ; 0x24 804eb3a: 6810 ldr r0, [r2, #0] 804eb3c: 6018 str r0, [r3, #0] if(ALARM) DiagnFileData.d_Alarm = 1; 804eb3e: 4b17 ldr r3, [pc, #92] ; (804eb9c ) 804eb40: 781b ldrb r3, [r3, #0] 804eb42: b2db uxtb r3, r3 804eb44: 2b00 cmp r3, #0 804eb46: d004 beq.n 804eb52 804eb48: 4b10 ldr r3, [pc, #64] ; (804eb8c ) 804eb4a: 2201 movs r2, #1 804eb4c: f883 2032 strb.w r2, [r3, #50] ; 0x32 804eb50: e003 b.n 804eb5a else DiagnFileData.d_Alarm = 0; 804eb52: 4b0e ldr r3, [pc, #56] ; (804eb8c ) 804eb54: 2200 movs r2, #0 804eb56: f883 2032 strb.w r2, [r3, #50] ; 0x32 if(WARNING) DiagnFileData.d_Warning = 1; 804eb5a: 4b11 ldr r3, [pc, #68] ; (804eba0 ) 804eb5c: 781b ldrb r3, [r3, #0] 804eb5e: b2db uxtb r3, r3 804eb60: 2b00 cmp r3, #0 804eb62: d01f beq.n 804eba4 804eb64: 4b09 ldr r3, [pc, #36] ; (804eb8c ) 804eb66: 2201 movs r2, #1 804eb68: f883 2031 strb.w r2, [r3, #49] ; 0x31 804eb6c: e01e b.n 804ebac 804eb6e: bf00 nop 804eb70: 20020070 .word 0x20020070 804eb74: 20020f79 .word 0x20020f79 804eb78: 20020f78 .word 0x20020f78 804eb7c: 20022650 .word 0x20022650 804eb80: 20025c40 .word 0x20025c40 804eb84: 20021011 .word 0x20021011 804eb88: 20023e60 .word 0x20023e60 804eb8c: 200225f4 .word 0x200225f4 804eb90: 200268d8 .word 0x200268d8 804eb94: 20025c68 .word 0x20025c68 804eb98: 20025cec .word 0x20025cec 804eb9c: 20021015 .word 0x20021015 804eba0: 20021014 .word 0x20021014 else DiagnFileData.d_Warning = 0; 804eba4: 4bb7 ldr r3, [pc, #732] ; (804ee84 ) 804eba6: 2200 movs r2, #0 804eba8: f883 2031 strb.w r2, [r3, #49] ; 0x31 // if(operand[Us1] < pardata.DIAGN_A[CURR_POINT][Us1]) 804ebac: 4bb6 ldr r3, [pc, #728] ; (804ee88 ) 804ebae: ed93 7a00 vldr s14, [r3] 804ebb2: 4bb6 ldr r3, [pc, #728] ; (804ee8c ) 804ebb4: 781b ldrb r3, [r3, #0] 804ebb6: b2db uxtb r3, r3 804ebb8: 4ab5 ldr r2, [pc, #724] ; (804ee90 ) 804ebba: 011b lsls r3, r3, #4 804ebbc: 4413 add r3, r2 804ebbe: f503 7377 add.w r3, r3, #988 ; 0x3dc 804ebc2: edd3 7a00 vldr s15, [r3] 804ebc6: eeb4 7ae7 vcmpe.f32 s14, s15 804ebca: eef1 fa10 vmrs APSR_nzcv, fpscr 804ebce: d51b bpl.n 804ec08 { if(operand[Us1] < pardata.DIAGN_W[CURR_POINT][Us1]) 804ebd0: 4bad ldr r3, [pc, #692] ; (804ee88 ) 804ebd2: ed93 7a00 vldr s14, [r3] 804ebd6: 4bad ldr r3, [pc, #692] ; (804ee8c ) 804ebd8: 781b ldrb r3, [r3, #0] 804ebda: b2db uxtb r3, r3 804ebdc: 4aac ldr r2, [pc, #688] ; (804ee90 ) 804ebde: 011b lsls r3, r3, #4 804ebe0: 4413 add r3, r2 804ebe2: f503 7357 add.w r3, r3, #860 ; 0x35c 804ebe6: edd3 7a00 vldr s15, [r3] 804ebea: eeb4 7ae7 vcmpe.f32 s14, s15 804ebee: eef1 fa10 vmrs APSR_nzcv, fpscr 804ebf2: d504 bpl.n 804ebfe DiagnFileData.d_Op1_Color = 0; 804ebf4: 4ba3 ldr r3, [pc, #652] ; (804ee84 ) 804ebf6: 2200 movs r2, #0 804ebf8: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ebfc: e008 b.n 804ec10 else DiagnFileData.d_Op1_Color = 1; 804ebfe: 4ba1 ldr r3, [pc, #644] ; (804ee84 ) 804ec00: 2201 movs r2, #1 804ec02: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ec06: e003 b.n 804ec10 } else DiagnFileData.d_Op1_Color = 2; 804ec08: 4b9e ldr r3, [pc, #632] ; (804ee84 ) 804ec0a: 2202 movs r2, #2 804ec0c: f883 202e strb.w r2, [r3, #46] ; 0x2e // if(operand[Us2] < pardata.DIAGN_A[CURR_POINT][Us2]) 804ec10: 4b9d ldr r3, [pc, #628] ; (804ee88 ) 804ec12: ed93 7a01 vldr s14, [r3, #4] 804ec16: 4b9d ldr r3, [pc, #628] ; (804ee8c ) 804ec18: 781b ldrb r3, [r3, #0] 804ec1a: b2db uxtb r3, r3 804ec1c: 4a9c ldr r2, [pc, #624] ; (804ee90 ) 804ec1e: 011b lsls r3, r3, #4 804ec20: 4413 add r3, r2 804ec22: f503 7378 add.w r3, r3, #992 ; 0x3e0 804ec26: edd3 7a00 vldr s15, [r3] 804ec2a: eeb4 7ae7 vcmpe.f32 s14, s15 804ec2e: eef1 fa10 vmrs APSR_nzcv, fpscr 804ec32: d51b bpl.n 804ec6c { if(operand[Us2] < pardata.DIAGN_W[CURR_POINT][Us2]) 804ec34: 4b94 ldr r3, [pc, #592] ; (804ee88 ) 804ec36: ed93 7a01 vldr s14, [r3, #4] 804ec3a: 4b94 ldr r3, [pc, #592] ; (804ee8c ) 804ec3c: 781b ldrb r3, [r3, #0] 804ec3e: b2db uxtb r3, r3 804ec40: 4a93 ldr r2, [pc, #588] ; (804ee90 ) 804ec42: 011b lsls r3, r3, #4 804ec44: 4413 add r3, r2 804ec46: f503 7358 add.w r3, r3, #864 ; 0x360 804ec4a: edd3 7a00 vldr s15, [r3] 804ec4e: eeb4 7ae7 vcmpe.f32 s14, s15 804ec52: eef1 fa10 vmrs APSR_nzcv, fpscr 804ec56: d504 bpl.n 804ec62 DiagnFileData.d_Op2_Color = 0; 804ec58: 4b8a ldr r3, [pc, #552] ; (804ee84 ) 804ec5a: 2200 movs r2, #0 804ec5c: f883 202f strb.w r2, [r3, #47] ; 0x2f 804ec60: e008 b.n 804ec74 else DiagnFileData.d_Op2_Color = 1; 804ec62: 4b88 ldr r3, [pc, #544] ; (804ee84 ) 804ec64: 2201 movs r2, #1 804ec66: f883 202f strb.w r2, [r3, #47] ; 0x2f 804ec6a: e003 b.n 804ec74 } else DiagnFileData.d_Op2_Color = 2; 804ec6c: 4b85 ldr r3, [pc, #532] ; (804ee84 ) 804ec6e: 2202 movs r2, #2 804ec70: f883 202f strb.w r2, [r3, #47] ; 0x2f // if(operand[Us3] < pardata.DIAGN_A[CURR_POINT][Us3]) 804ec74: 4b84 ldr r3, [pc, #528] ; (804ee88 ) 804ec76: ed93 7a02 vldr s14, [r3, #8] 804ec7a: 4b84 ldr r3, [pc, #528] ; (804ee8c ) 804ec7c: 781b ldrb r3, [r3, #0] 804ec7e: b2db uxtb r3, r3 804ec80: 4a83 ldr r2, [pc, #524] ; (804ee90 ) 804ec82: 333e adds r3, #62 ; 0x3e 804ec84: 011b lsls r3, r3, #4 804ec86: 4413 add r3, r2 804ec88: 3304 adds r3, #4 804ec8a: edd3 7a00 vldr s15, [r3] 804ec8e: eeb4 7ae7 vcmpe.f32 s14, s15 804ec92: eef1 fa10 vmrs APSR_nzcv, fpscr 804ec96: d51b bpl.n 804ecd0 { if(operand[Us3] < pardata.DIAGN_W[CURR_POINT][Us3]) 804ec98: 4b7b ldr r3, [pc, #492] ; (804ee88 ) 804ec9a: ed93 7a02 vldr s14, [r3, #8] 804ec9e: 4b7b ldr r3, [pc, #492] ; (804ee8c ) 804eca0: 781b ldrb r3, [r3, #0] 804eca2: b2db uxtb r3, r3 804eca4: 4a7a ldr r2, [pc, #488] ; (804ee90 ) 804eca6: 3336 adds r3, #54 ; 0x36 804eca8: 011b lsls r3, r3, #4 804ecaa: 4413 add r3, r2 804ecac: 3304 adds r3, #4 804ecae: edd3 7a00 vldr s15, [r3] 804ecb2: eeb4 7ae7 vcmpe.f32 s14, s15 804ecb6: eef1 fa10 vmrs APSR_nzcv, fpscr 804ecba: d504 bpl.n 804ecc6 DiagnFileData.d_Op3_Color = 0; 804ecbc: 4b71 ldr r3, [pc, #452] ; (804ee84 ) 804ecbe: 2200 movs r2, #0 804ecc0: f883 2030 strb.w r2, [r3, #48] ; 0x30 804ecc4: e008 b.n 804ecd8 else DiagnFileData.d_Op3_Color = 1; 804ecc6: 4b6f ldr r3, [pc, #444] ; (804ee84 ) 804ecc8: 2201 movs r2, #1 804ecca: f883 2030 strb.w r2, [r3, #48] ; 0x30 804ecce: e003 b.n 804ecd8 } else DiagnFileData.d_Op3_Color = 2; 804ecd0: 4b6c ldr r3, [pc, #432] ; (804ee84 ) 804ecd2: 2202 movs r2, #2 804ecd4: f883 2030 strb.w r2, [r3, #48] ; 0x30 AddToFile = true; 804ecd8: 4b6e ldr r3, [pc, #440] ; (804ee94 ) 804ecda: 2201 movs r2, #1 804ecdc: 701a strb r2, [r3, #0] //************************************************************************************ result = WriteFileDGN(DiagFileName); 804ecde: 486e ldr r0, [pc, #440] ; (804ee98 ) 804ece0: f7da ffd8 bl 8029c94 804ece4: 4603 mov r3, r0 804ece6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ecea: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ecee: 2b00 cmp r3, #0 804ecf0: d110 bne.n 804ed14 { STATUS = AP_SAVING_SUCCESS; 804ecf2: 4b6a ldr r3, [pc, #424] ; (804ee9c ) 804ecf4: 2207 movs r2, #7 804ecf6: 601a str r2, [r3, #0] timerStatus = sec2; 804ecf8: 4b69 ldr r3, [pc, #420] ; (804eea0 ) 804ecfa: f44f 5280 mov.w r2, #4096 ; 0x1000 804ecfe: 801a strh r2, [r3, #0] DrawStatus = true; 804ed00: 4b68 ldr r3, [pc, #416] ; (804eea4 ) 804ed02: 2201 movs r2, #1 804ed04: 701a strb r2, [r3, #0] Threshold = false; 804ed06: 4b68 ldr r3, [pc, #416] ; (804eea8 ) 804ed08: 2200 movs r2, #0 804ed0a: 701a strb r2, [r3, #0] FIRST = true; 804ed0c: 4b67 ldr r3, [pc, #412] ; (804eeac ) 804ed0e: 2201 movs r2, #1 804ed10: 701a strb r2, [r3, #0] 804ed12: e009 b.n 804ed28 } else { STATUS = AP_SAVING_ERROR; 804ed14: 4b61 ldr r3, [pc, #388] ; (804ee9c ) 804ed16: 2208 movs r2, #8 804ed18: 601a str r2, [r3, #0] timerStatus = sec2; 804ed1a: 4b61 ldr r3, [pc, #388] ; (804eea0 ) 804ed1c: f44f 5280 mov.w r2, #4096 ; 0x1000 804ed20: 801a strh r2, [r3, #0] DrawStatus = true; 804ed22: 4b60 ldr r3, [pc, #384] ; (804eea4 ) 804ed24: 2201 movs r2, #1 804ed26: 701a strb r2, [r3, #0] } AddToFile = false; 804ed28: 4b5a ldr r3, [pc, #360] ; (804ee94 ) 804ed2a: 2200 movs r2, #0 804ed2c: 701a strb r2, [r3, #0] { TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; CommentLen++; } } break; 804ed2e: f003 bff5 b.w 8052d1c if(menupos == _BCKSPC) 804ed32: 4b5f ldr r3, [pc, #380] ; (804eeb0 ) 804ed34: 781b ldrb r3, [r3, #0] 804ed36: b2db uxtb r3, r3 804ed38: 2b1d cmp r3, #29 804ed3a: d116 bne.n 804ed6a CommentLen = strlen(TEMP_Comment); 804ed3c: 485d ldr r0, [pc, #372] ; (804eeb4 ) 804ed3e: f7d1 fae9 bl 8020314 804ed42: 4602 mov r2, r0 804ed44: 4b5c ldr r3, [pc, #368] ; (804eeb8 ) 804ed46: 601a str r2, [r3, #0] if(CommentLen) 804ed48: 4b5b ldr r3, [pc, #364] ; (804eeb8 ) 804ed4a: 681b ldr r3, [r3, #0] 804ed4c: 2b00 cmp r3, #0 804ed4e: f003 87e5 beq.w 8052d1c CommentLen--; 804ed52: 4b59 ldr r3, [pc, #356] ; (804eeb8 ) 804ed54: 681b ldr r3, [r3, #0] 804ed56: 3b01 subs r3, #1 804ed58: 4a57 ldr r2, [pc, #348] ; (804eeb8 ) 804ed5a: 6013 str r3, [r2, #0] TEMP_Comment[CommentLen] = 0; 804ed5c: 4b56 ldr r3, [pc, #344] ; (804eeb8 ) 804ed5e: 681b ldr r3, [r3, #0] 804ed60: 4a54 ldr r2, [pc, #336] ; (804eeb4 ) 804ed62: 2100 movs r1, #0 804ed64: 54d1 strb r1, [r2, r3] break; 804ed66: f003 bfd9 b.w 8052d1c if(menupos == _CANCEL) 804ed6a: 4b51 ldr r3, [pc, #324] ; (804eeb0 ) 804ed6c: 781b ldrb r3, [r3, #0] 804ed6e: b2db uxtb r3, r3 804ed70: 2b27 cmp r3, #39 ; 0x27 804ed72: d107 bne.n 804ed84 menu = MAIN; 804ed74: 4b51 ldr r3, [pc, #324] ; (804eebc ) 804ed76: 2200 movs r2, #0 804ed78: 701a strb r2, [r3, #0] menupos = Record; 804ed7a: 4b4d ldr r3, [pc, #308] ; (804eeb0 ) 804ed7c: 2202 movs r2, #2 804ed7e: 701a strb r2, [r3, #0] break; 804ed80: f003 bfcc b.w 8052d1c CommentLen = strlen(TEMP_Comment); 804ed84: 484b ldr r0, [pc, #300] ; (804eeb4 ) 804ed86: f7d1 fac5 bl 8020314 804ed8a: 4602 mov r2, r0 804ed8c: 4b4a ldr r3, [pc, #296] ; (804eeb8 ) 804ed8e: 601a str r2, [r3, #0] if(CommentLen < 25) 804ed90: 4b49 ldr r3, [pc, #292] ; (804eeb8 ) 804ed92: 681b ldr r3, [r3, #0] 804ed94: 2b18 cmp r3, #24 804ed96: f203 87c1 bhi.w 8052d1c TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; 804ed9a: 4b47 ldr r3, [pc, #284] ; (804eeb8 ) 804ed9c: 681b ldr r3, [r3, #0] 804ed9e: 4a44 ldr r2, [pc, #272] ; (804eeb0 ) 804eda0: 7812 ldrb r2, [r2, #0] 804eda2: b2d2 uxtb r2, r2 804eda4: 4611 mov r1, r2 804eda6: 4a46 ldr r2, [pc, #280] ; (804eec0 ) 804eda8: 5c51 ldrb r1, [r2, r1] 804edaa: 4a42 ldr r2, [pc, #264] ; (804eeb4 ) 804edac: 54d1 strb r1, [r2, r3] CommentLen++; 804edae: 4b42 ldr r3, [pc, #264] ; (804eeb8 ) 804edb0: 681b ldr r3, [r3, #0] 804edb2: 3301 adds r3, #1 804edb4: 4a40 ldr r2, [pc, #256] ; (804eeb8 ) 804edb6: 6013 str r3, [r2, #0] break; 804edb8: f003 bfb0 b.w 8052d1c case INPUT_COMMENT: //TODO if(menupos == _ENTER) 804edbc: 4b3c ldr r3, [pc, #240] ; (804eeb0 ) 804edbe: 781b ldrb r3, [r3, #0] 804edc0: b2db uxtb r3, r3 804edc2: 2b26 cmp r3, #38 ; 0x26 804edc4: f040 8142 bne.w 804f04c { menu = lastmenu; 804edc8: 4b3e ldr r3, [pc, #248] ; (804eec4 ) 804edca: 781b ldrb r3, [r3, #0] 804edcc: b2da uxtb r2, r3 804edce: 4b3b ldr r3, [pc, #236] ; (804eebc ) 804edd0: 701a strb r2, [r3, #0] menupos = Record; 804edd2: 4b37 ldr r3, [pc, #220] ; (804eeb0 ) 804edd4: 2202 movs r2, #2 804edd6: 701a strb r2, [r3, #0] memcpy(Comment, TEMP_Comment, sizeof(Comment)); 804edd8: 4a3b ldr r2, [pc, #236] ; (804eec8 ) 804edda: 4b36 ldr r3, [pc, #216] ; (804eeb4 ) 804eddc: 4610 mov r0, r2 804edde: f103 0420 add.w r4, r3, #32 804ede2: 4602 mov r2, r0 804ede4: 4619 mov r1, r3 804ede6: f8d1 e000 ldr.w lr, [r1] 804edea: 684e ldr r6, [r1, #4] 804edec: 688d ldr r5, [r1, #8] 804edee: 68c9 ldr r1, [r1, #12] 804edf0: f8c2 e000 str.w lr, [r2] 804edf4: 6056 str r6, [r2, #4] 804edf6: 6095 str r5, [r2, #8] 804edf8: 60d1 str r1, [r2, #12] 804edfa: 3310 adds r3, #16 804edfc: 3010 adds r0, #16 804edfe: 42a3 cmp r3, r4 804ee00: d1ef bne.n 804ede2 804ee02: 4602 mov r2, r0 804ee04: 6819 ldr r1, [r3, #0] 804ee06: 685b ldr r3, [r3, #4] 804ee08: 6011 str r1, [r2, #0] 804ee0a: 6053 str r3, [r2, #4] if(pardata.IVS[ACC] == PEAK) 804ee0c: 4b20 ldr r3, [pc, #128] ; (804ee90 ) 804ee0e: 789b ldrb r3, [r3, #2] 804ee10: b2db uxtb r3, r3 804ee12: 2b00 cmp r3, #0 804ee14: d104 bne.n 804ee20 FileData.Aivs = 'P'; 804ee16: 4b2d ldr r3, [pc, #180] ; (804eecc ) 804ee18: 2250 movs r2, #80 ; 0x50 804ee1a: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ee1e: e026 b.n 804ee6e else if(pardata.IVS[ACC] == RMS) 804ee20: 4b1b ldr r3, [pc, #108] ; (804ee90 ) 804ee22: 789b ldrb r3, [r3, #2] 804ee24: b2db uxtb r3, r3 804ee26: 2b01 cmp r3, #1 804ee28: d104 bne.n 804ee34 FileData.Aivs = 'S'; 804ee2a: 4b28 ldr r3, [pc, #160] ; (804eecc ) 804ee2c: 2253 movs r2, #83 ; 0x53 804ee2e: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ee32: e01c b.n 804ee6e else if(pardata.IVS[ACC] == PEAK_TO_PEAK) 804ee34: 4b16 ldr r3, [pc, #88] ; (804ee90 ) 804ee36: 789b ldrb r3, [r3, #2] 804ee38: b2db uxtb r3, r3 804ee3a: 2b02 cmp r3, #2 804ee3c: d104 bne.n 804ee48 FileData.Aivs = 'R'; 804ee3e: 4b23 ldr r3, [pc, #140] ; (804eecc ) 804ee40: 2252 movs r2, #82 ; 0x52 804ee42: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ee46: e012 b.n 804ee6e else if(pardata.IVS[ACC] == PEAK_FACTOR) 804ee48: 4b11 ldr r3, [pc, #68] ; (804ee90 ) 804ee4a: 789b ldrb r3, [r3, #2] 804ee4c: b2db uxtb r3, r3 804ee4e: 2b03 cmp r3, #3 804ee50: d104 bne.n 804ee5c FileData.Aivs = 'F'; 804ee52: 4b1e ldr r3, [pc, #120] ; (804eecc ) 804ee54: 2246 movs r2, #70 ; 0x46 804ee56: f883 202c strb.w r2, [r3, #44] ; 0x2c 804ee5a: e008 b.n 804ee6e else if(pardata.IVS[ACC] == EXCESS) 804ee5c: 4b0c ldr r3, [pc, #48] ; (804ee90 ) 804ee5e: 789b ldrb r3, [r3, #2] 804ee60: b2db uxtb r3, r3 804ee62: 2b04 cmp r3, #4 804ee64: d103 bne.n 804ee6e FileData.Aivs = 'E'; 804ee66: 4b19 ldr r3, [pc, #100] ; (804eecc ) 804ee68: 2245 movs r2, #69 ; 0x45 804ee6a: f883 202c strb.w r2, [r3, #44] ; 0x2c if(pardata.IVS[VEL] == PEAK) 804ee6e: 4b08 ldr r3, [pc, #32] ; (804ee90 ) 804ee70: 78db ldrb r3, [r3, #3] 804ee72: b2db uxtb r3, r3 804ee74: 2b00 cmp r3, #0 804ee76: d12b bne.n 804eed0 FileData.Vivs = 'P'; 804ee78: 4b14 ldr r3, [pc, #80] ; (804eecc ) 804ee7a: 2250 movs r2, #80 ; 0x50 804ee7c: f883 202d strb.w r2, [r3, #45] ; 0x2d 804ee80: e04d b.n 804ef1e 804ee82: bf00 nop 804ee84: 200225f4 .word 0x200225f4 804ee88: 200268d8 .word 0x200268d8 804ee8c: 20021011 .word 0x20021011 804ee90: 20023e60 .word 0x20023e60 804ee94: 20020dc8 .word 0x20020dc8 804ee98: 20020e7c .word 0x20020e7c 804ee9c: 20020dcc .word 0x20020dcc 804eea0: 2002168c .word 0x2002168c 804eea4: 20020dd2 .word 0x20020dd2 804eea8: 20020db1 .word 0x20020db1 804eeac: 20020db2 .word 0x20020db2 804eeb0: 20020070 .word 0x20020070 804eeb4: 20025c40 .word 0x20025c40 804eeb8: 20020e18 .word 0x20020e18 804eebc: 20020f78 .word 0x20020f78 804eec0: 080ee7c8 .word 0x080ee7c8 804eec4: 20020f79 .word 0x20020f79 804eec8: 20022650 .word 0x20022650 804eecc: 20022984 .word 0x20022984 else if(pardata.IVS[VEL] == RMS) 804eed0: 4b81 ldr r3, [pc, #516] ; (804f0d8 ) 804eed2: 78db ldrb r3, [r3, #3] 804eed4: b2db uxtb r3, r3 804eed6: 2b01 cmp r3, #1 804eed8: d104 bne.n 804eee4 FileData.Vivs = 'S'; 804eeda: 4b80 ldr r3, [pc, #512] ; (804f0dc ) 804eedc: 2253 movs r2, #83 ; 0x53 804eede: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eee2: e01c b.n 804ef1e else if(pardata.IVS[VEL] == PEAK_TO_PEAK) 804eee4: 4b7c ldr r3, [pc, #496] ; (804f0d8 ) 804eee6: 78db ldrb r3, [r3, #3] 804eee8: b2db uxtb r3, r3 804eeea: 2b02 cmp r3, #2 804eeec: d104 bne.n 804eef8 FileData.Vivs = 'R'; 804eeee: 4b7b ldr r3, [pc, #492] ; (804f0dc ) 804eef0: 2252 movs r2, #82 ; 0x52 804eef2: f883 202d strb.w r2, [r3, #45] ; 0x2d 804eef6: e012 b.n 804ef1e else if(pardata.IVS[VEL] == PEAK_FACTOR) 804eef8: 4b77 ldr r3, [pc, #476] ; (804f0d8 ) 804eefa: 78db ldrb r3, [r3, #3] 804eefc: b2db uxtb r3, r3 804eefe: 2b03 cmp r3, #3 804ef00: d104 bne.n 804ef0c FileData.Vivs = 'F'; 804ef02: 4b76 ldr r3, [pc, #472] ; (804f0dc ) 804ef04: 2246 movs r2, #70 ; 0x46 804ef06: f883 202d strb.w r2, [r3, #45] ; 0x2d 804ef0a: e008 b.n 804ef1e else if(pardata.IVS[VEL] == EXCESS) 804ef0c: 4b72 ldr r3, [pc, #456] ; (804f0d8 ) 804ef0e: 78db ldrb r3, [r3, #3] 804ef10: b2db uxtb r3, r3 804ef12: 2b04 cmp r3, #4 804ef14: d103 bne.n 804ef1e FileData.Vivs = 'E'; 804ef16: 4b71 ldr r3, [pc, #452] ; (804f0dc ) 804ef18: 2245 movs r2, #69 ; 0x45 804ef1a: f883 202d strb.w r2, [r3, #45] ; 0x2d if(pardata.IVS[DIS] == PEAK) 804ef1e: 4b6e ldr r3, [pc, #440] ; (804f0d8 ) 804ef20: 791b ldrb r3, [r3, #4] 804ef22: b2db uxtb r3, r3 804ef24: 2b00 cmp r3, #0 804ef26: d104 bne.n 804ef32 FileData.Sivs = 'P'; 804ef28: 4b6c ldr r3, [pc, #432] ; (804f0dc ) 804ef2a: 2250 movs r2, #80 ; 0x50 804ef2c: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ef30: e026 b.n 804ef80 else if(pardata.IVS[DIS] == RMS) 804ef32: 4b69 ldr r3, [pc, #420] ; (804f0d8 ) 804ef34: 791b ldrb r3, [r3, #4] 804ef36: b2db uxtb r3, r3 804ef38: 2b01 cmp r3, #1 804ef3a: d104 bne.n 804ef46 FileData.Sivs = 'S'; 804ef3c: 4b67 ldr r3, [pc, #412] ; (804f0dc ) 804ef3e: 2253 movs r2, #83 ; 0x53 804ef40: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ef44: e01c b.n 804ef80 else if(pardata.IVS[DIS] == PEAK_TO_PEAK) 804ef46: 4b64 ldr r3, [pc, #400] ; (804f0d8 ) 804ef48: 791b ldrb r3, [r3, #4] 804ef4a: b2db uxtb r3, r3 804ef4c: 2b02 cmp r3, #2 804ef4e: d104 bne.n 804ef5a FileData.Sivs = 'R'; 804ef50: 4b62 ldr r3, [pc, #392] ; (804f0dc ) 804ef52: 2252 movs r2, #82 ; 0x52 804ef54: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ef58: e012 b.n 804ef80 else if(pardata.IVS[DIS] == PEAK_FACTOR) 804ef5a: 4b5f ldr r3, [pc, #380] ; (804f0d8 ) 804ef5c: 791b ldrb r3, [r3, #4] 804ef5e: b2db uxtb r3, r3 804ef60: 2b03 cmp r3, #3 804ef62: d104 bne.n 804ef6e FileData.Sivs = 'F'; 804ef64: 4b5d ldr r3, [pc, #372] ; (804f0dc ) 804ef66: 2246 movs r2, #70 ; 0x46 804ef68: f883 202e strb.w r2, [r3, #46] ; 0x2e 804ef6c: e008 b.n 804ef80 else if(pardata.IVS[DIS] == EXCESS) 804ef6e: 4b5a ldr r3, [pc, #360] ; (804f0d8 ) 804ef70: 791b ldrb r3, [r3, #4] 804ef72: b2db uxtb r3, r3 804ef74: 2b04 cmp r3, #4 804ef76: d103 bne.n 804ef80 FileData.Sivs = 'E'; 804ef78: 4b58 ldr r3, [pc, #352] ; (804f0dc ) 804ef7a: 2245 movs r2, #69 ; 0x45 804ef7c: f883 202e strb.w r2, [r3, #46] ; 0x2e FileData.Aval.fl = skz[ACC]; 804ef80: 4b57 ldr r3, [pc, #348] ; (804f0e0 ) 804ef82: 681b ldr r3, [r3, #0] 804ef84: 4a55 ldr r2, [pc, #340] ; (804f0dc ) 804ef86: 6013 str r3, [r2, #0] if(pardata.HP < 2.0f) 804ef88: 4b53 ldr r3, [pc, #332] ; (804f0d8 ) 804ef8a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 804ef8e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 804ef92: eef4 7ac7 vcmpe.f32 s15, s14 804ef96: eef1 fa10 vmrs APSR_nzcv, fpscr 804ef9a: d505 bpl.n 804efa8 { skz[VEL] = -1.0f; 804ef9c: 4b50 ldr r3, [pc, #320] ; (804f0e0 ) 804ef9e: 4a51 ldr r2, [pc, #324] ; (804f0e4 ) 804efa0: 605a str r2, [r3, #4] skz[DIS] = -1.0f; 804efa2: 4b4f ldr r3, [pc, #316] ; (804f0e0 ) 804efa4: 4a4f ldr r2, [pc, #316] ; (804f0e4 ) 804efa6: 609a str r2, [r3, #8] } FileData.Vval.fl = skz[VEL]; 804efa8: 4b4d ldr r3, [pc, #308] ; (804f0e0 ) 804efaa: 685b ldr r3, [r3, #4] 804efac: 4a4b ldr r2, [pc, #300] ; (804f0dc ) 804efae: 6053 str r3, [r2, #4] FileData.Sval.fl = skz[DIS]; 804efb0: 4b4b ldr r3, [pc, #300] ; (804f0e0 ) 804efb2: 689b ldr r3, [r3, #8] 804efb4: 4a49 ldr r2, [pc, #292] ; (804f0dc ) 804efb6: 6093 str r3, [r2, #8] if(menu == MAIN) 804efb8: 4b4b ldr r3, [pc, #300] ; (804f0e8 ) 804efba: 781b ldrb r3, [r3, #0] 804efbc: b2db uxtb r3, r3 804efbe: 2b00 cmp r3, #0 804efc0: d103 bne.n 804efca FileData.Fval.fl = -1.0f; 804efc2: 4b46 ldr r3, [pc, #280] ; (804f0dc ) 804efc4: 4a47 ldr r2, [pc, #284] ; (804f0e4 ) 804efc6: 60da str r2, [r3, #12] 804efc8: e003 b.n 804efd2 else FileData.Fval.fl = FreqFran; 804efca: 4b48 ldr r3, [pc, #288] ; (804f0ec ) 804efcc: 681b ldr r3, [r3, #0] 804efce: 4a43 ldr r2, [pc, #268] ; (804f0dc ) 804efd0: 60d3 str r3, [r2, #12] FileData.Time = RTC_TimeStruct; 804efd2: 4b42 ldr r3, [pc, #264] ; (804f0dc ) 804efd4: 4a46 ldr r2, [pc, #280] ; (804f0f0 ) 804efd6: f103 0410 add.w r4, r3, #16 804efda: 4615 mov r5, r2 804efdc: cd0f ldmia r5!, {r0, r1, r2, r3} 804efde: c40f stmia r4!, {r0, r1, r2, r3} 804efe0: e895 0003 ldmia.w r5, {r0, r1} 804efe4: e884 0003 stmia.w r4, {r0, r1} FileData.Date = RTC_DateStruct; 804efe8: 4b3c ldr r3, [pc, #240] ; (804f0dc ) 804efea: 4a42 ldr r2, [pc, #264] ; (804f0f4 ) 804efec: 3328 adds r3, #40 ; 0x28 804efee: 6810 ldr r0, [r2, #0] 804eff0: 6018 str r0, [r3, #0] AddToFile = true; 804eff2: 4b41 ldr r3, [pc, #260] ; (804f0f8 ) 804eff4: 2201 movs r2, #1 804eff6: 701a strb r2, [r3, #0] //************************************************************************************ result = WriteFilePTM(MeasFileName); 804eff8: 4840 ldr r0, [pc, #256] ; (804f0fc ) 804effa: f7da f8f1 bl 80291e0 804effe: 4603 mov r3, r0 804f000: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f004: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f008: 2b00 cmp r3, #0 804f00a: d110 bne.n 804f02e { STATUS = AP_SAVING_SUCCESS; 804f00c: 4b3c ldr r3, [pc, #240] ; (804f100 ) 804f00e: 2207 movs r2, #7 804f010: 601a str r2, [r3, #0] timerStatus = sec2; 804f012: 4b3c ldr r3, [pc, #240] ; (804f104 ) 804f014: f44f 5280 mov.w r2, #4096 ; 0x1000 804f018: 801a strh r2, [r3, #0] DrawStatus = true; 804f01a: 4b3b ldr r3, [pc, #236] ; (804f108 ) 804f01c: 2201 movs r2, #1 804f01e: 701a strb r2, [r3, #0] Threshold = false; 804f020: 4b3a ldr r3, [pc, #232] ; (804f10c ) 804f022: 2200 movs r2, #0 804f024: 701a strb r2, [r3, #0] FIRST = true; 804f026: 4b3a ldr r3, [pc, #232] ; (804f110 ) 804f028: 2201 movs r2, #1 804f02a: 701a strb r2, [r3, #0] 804f02c: e009 b.n 804f042 } else { STATUS = AP_SAVING_ERROR; 804f02e: 4b34 ldr r3, [pc, #208] ; (804f100 ) 804f030: 2208 movs r2, #8 804f032: 601a str r2, [r3, #0] timerStatus = sec2; 804f034: 4b33 ldr r3, [pc, #204] ; (804f104 ) 804f036: f44f 5280 mov.w r2, #4096 ; 0x1000 804f03a: 801a strh r2, [r3, #0] DrawStatus = true; 804f03c: 4b32 ldr r3, [pc, #200] ; (804f108 ) 804f03e: 2201 movs r2, #1 804f040: 701a strb r2, [r3, #0] } AddToFile = false; 804f042: 4b2d ldr r3, [pc, #180] ; (804f0f8 ) 804f044: 2200 movs r2, #0 804f046: 701a strb r2, [r3, #0] { TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; CommentLen++; } } break; 804f048: f003 be6a b.w 8052d20 if(menupos == _BCKSPC) 804f04c: 4b31 ldr r3, [pc, #196] ; (804f114 ) 804f04e: 781b ldrb r3, [r3, #0] 804f050: b2db uxtb r3, r3 804f052: 2b1d cmp r3, #29 804f054: d116 bne.n 804f084 CommentLen = strlen(TEMP_Comment); 804f056: 4830 ldr r0, [pc, #192] ; (804f118 ) 804f058: f7d1 f95c bl 8020314 804f05c: 4602 mov r2, r0 804f05e: 4b2f ldr r3, [pc, #188] ; (804f11c ) 804f060: 601a str r2, [r3, #0] if(CommentLen) 804f062: 4b2e ldr r3, [pc, #184] ; (804f11c ) 804f064: 681b ldr r3, [r3, #0] 804f066: 2b00 cmp r3, #0 804f068: f003 865a beq.w 8052d20 CommentLen--; 804f06c: 4b2b ldr r3, [pc, #172] ; (804f11c ) 804f06e: 681b ldr r3, [r3, #0] 804f070: 3b01 subs r3, #1 804f072: 4a2a ldr r2, [pc, #168] ; (804f11c ) 804f074: 6013 str r3, [r2, #0] TEMP_Comment[CommentLen] = 0; 804f076: 4b29 ldr r3, [pc, #164] ; (804f11c ) 804f078: 681b ldr r3, [r3, #0] 804f07a: 4a27 ldr r2, [pc, #156] ; (804f118 ) 804f07c: 2100 movs r1, #0 804f07e: 54d1 strb r1, [r2, r3] break; 804f080: f003 be4e b.w 8052d20 if(menupos == _CANCEL) 804f084: 4b23 ldr r3, [pc, #140] ; (804f114 ) 804f086: 781b ldrb r3, [r3, #0] 804f088: b2db uxtb r3, r3 804f08a: 2b27 cmp r3, #39 ; 0x27 804f08c: d107 bne.n 804f09e menu = MAIN; 804f08e: 4b16 ldr r3, [pc, #88] ; (804f0e8 ) 804f090: 2200 movs r2, #0 804f092: 701a strb r2, [r3, #0] menupos = Record; 804f094: 4b1f ldr r3, [pc, #124] ; (804f114 ) 804f096: 2202 movs r2, #2 804f098: 701a strb r2, [r3, #0] break; 804f09a: f003 be41 b.w 8052d20 CommentLen = strlen(TEMP_Comment); 804f09e: 481e ldr r0, [pc, #120] ; (804f118 ) 804f0a0: f7d1 f938 bl 8020314 804f0a4: 4602 mov r2, r0 804f0a6: 4b1d ldr r3, [pc, #116] ; (804f11c ) 804f0a8: 601a str r2, [r3, #0] if(CommentLen < 25) 804f0aa: 4b1c ldr r3, [pc, #112] ; (804f11c ) 804f0ac: 681b ldr r3, [r3, #0] 804f0ae: 2b18 cmp r3, #24 804f0b0: f203 8636 bhi.w 8052d20 TEMP_Comment[CommentLen] = CHARS_ENG[menupos]; 804f0b4: 4b19 ldr r3, [pc, #100] ; (804f11c ) 804f0b6: 681b ldr r3, [r3, #0] 804f0b8: 4a16 ldr r2, [pc, #88] ; (804f114 ) 804f0ba: 7812 ldrb r2, [r2, #0] 804f0bc: b2d2 uxtb r2, r2 804f0be: 4611 mov r1, r2 804f0c0: 4a17 ldr r2, [pc, #92] ; (804f120 ) 804f0c2: 5c51 ldrb r1, [r2, r1] 804f0c4: 4a14 ldr r2, [pc, #80] ; (804f118 ) 804f0c6: 54d1 strb r1, [r2, r3] CommentLen++; 804f0c8: 4b14 ldr r3, [pc, #80] ; (804f11c ) 804f0ca: 681b ldr r3, [r3, #0] 804f0cc: 3301 adds r3, #1 804f0ce: 4a13 ldr r2, [pc, #76] ; (804f11c ) 804f0d0: 6013 str r3, [r2, #0] break; 804f0d2: f003 be25 b.w 8052d20 804f0d6: bf00 nop 804f0d8: 20023e60 .word 0x20023e60 804f0dc: 20022984 .word 0x20022984 804f0e0: 20021540 .word 0x20021540 804f0e4: bf800000 .word 0xbf800000 804f0e8: 20020f78 .word 0x20020f78 804f0ec: 20021564 .word 0x20021564 804f0f0: 20025c68 .word 0x20025c68 804f0f4: 20025cec .word 0x20025cec 804f0f8: 20020dc8 .word 0x20020dc8 804f0fc: 20020e58 .word 0x20020e58 804f100: 20020dcc .word 0x20020dcc 804f104: 2002168c .word 0x2002168c 804f108: 20020dd2 .word 0x20020dd2 804f10c: 20020db1 .word 0x20020db1 804f110: 20020db2 .word 0x20020db2 804f114: 20020070 .word 0x20020070 804f118: 20025c40 .word 0x20025c40 804f11c: 20020e18 .word 0x20020e18 804f120: 080ee7c8 .word 0x080ee7c8 case INPUT_NAME_PTM: if(menupos == _ENTER) 804f124: 4bbb ldr r3, [pc, #748] ; (804f414 ) 804f126: 781b ldrb r3, [r3, #0] 804f128: b2db uxtb r3, r3 804f12a: 2b26 cmp r3, #38 ; 0x26 804f12c: f040 80a3 bne.w 804f276 { MeasFileNameLen = strlen(TEMP_MeasFileName); 804f130: 48b9 ldr r0, [pc, #740] ; (804f418 ) 804f132: f7d1 f8ef bl 8020314 804f136: 4602 mov r2, r0 804f138: 4bb8 ldr r3, [pc, #736] ; (804f41c ) 804f13a: 601a str r2, [r3, #0] if(MeasFileNameLen > 0) 804f13c: 4bb7 ldr r3, [pc, #732] ; (804f41c ) 804f13e: 681b ldr r3, [r3, #0] 804f140: 2b00 cmp r3, #0 804f142: f003 85ef beq.w 8052d24 { strcpy(string, TEMP_MeasFileName); 804f146: f107 0344 add.w r3, r7, #68 ; 0x44 804f14a: 49b3 ldr r1, [pc, #716] ; (804f418 ) 804f14c: 4618 mov r0, r3 804f14e: f07e f8b4 bl 80cd2ba string[MeasFileNameLen] = '.'; 804f152: 4bb2 ldr r3, [pc, #712] ; (804f41c ) 804f154: 681b ldr r3, [r3, #0] 804f156: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f15a: 4413 add r3, r2 804f15c: 222e movs r2, #46 ; 0x2e 804f15e: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 1] = 'P'; 804f162: 4bae ldr r3, [pc, #696] ; (804f41c ) 804f164: 681b ldr r3, [r3, #0] 804f166: 3301 adds r3, #1 804f168: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f16c: 4413 add r3, r2 804f16e: 2250 movs r2, #80 ; 0x50 804f170: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 2] = 'T'; 804f174: 4ba9 ldr r3, [pc, #676] ; (804f41c ) 804f176: 681b ldr r3, [r3, #0] 804f178: 3302 adds r3, #2 804f17a: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f17e: 4413 add r3, r2 804f180: 2254 movs r2, #84 ; 0x54 804f182: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 3] = 'M'; 804f186: 4ba5 ldr r3, [pc, #660] ; (804f41c ) 804f188: 681b ldr r3, [r3, #0] 804f18a: 3303 adds r3, #3 804f18c: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f190: 4413 add r3, r2 804f192: 224d movs r2, #77 ; 0x4d 804f194: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 4] = '\0'; 804f198: 4ba0 ldr r3, [pc, #640] ; (804f41c ) 804f19a: 681b ldr r3, [r3, #0] 804f19c: 3304 adds r3, #4 804f19e: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f1a2: 4413 add r3, r2 804f1a4: 2200 movs r2, #0 804f1a6: f803 2c84 strb.w r2, [r3, #-132] result = CheckExistPTM(string); 804f1aa: f107 0344 add.w r3, r7, #68 ; 0x44 804f1ae: 4618 mov r0, r3 804f1b0: f7db fcec bl 802ab8c 804f1b4: 4603 mov r3, r0 804f1b6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_NO_FILE) 804f1ba: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f1be: 2b04 cmp r3, #4 804f1c0: d137 bne.n 804f232 { result = CreateFilePTM(string); 804f1c2: f107 0344 add.w r3, r7, #68 ; 0x44 804f1c6: 4618 mov r0, r3 804f1c8: f7d5 ff5c bl 8025084 804f1cc: 4603 mov r3, r0 804f1ce: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f1d2: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f1d6: 2b00 cmp r3, #0 804f1d8: d119 bne.n 804f20e { if(strcmp(MeasFileName, string) != 0) 804f1da: f107 0344 add.w r3, r7, #68 ; 0x44 804f1de: 4619 mov r1, r3 804f1e0: 488f ldr r0, [pc, #572] ; (804f420 ) 804f1e2: f7d1 f88d bl 8020300 804f1e6: 4603 mov r3, r0 804f1e8: 2b00 cmp r3, #0 804f1ea: d002 beq.n 804f1f2 DrawSavedData = false; 804f1ec: 4b8d ldr r3, [pc, #564] ; (804f424 ) 804f1ee: 2200 movs r2, #0 804f1f0: 701a strb r2, [r3, #0] strcpy(MeasFileName, string); 804f1f2: f107 0344 add.w r3, r7, #68 ; 0x44 804f1f6: 4619 mov r1, r3 804f1f8: 4889 ldr r0, [pc, #548] ; (804f420 ) 804f1fa: f07e f85e bl 80cd2ba menu = PARAM_VIB; 804f1fe: 4b8a ldr r3, [pc, #552] ; (804f428 ) 804f200: 2206 movs r2, #6 804f202: 701a strb r2, [r3, #0] menupos = SaveToFile; 804f204: 4b83 ldr r3, [pc, #524] ; (804f414 ) 804f206: 220a movs r2, #10 804f208: 701a strb r2, [r3, #0] { TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; MeasFileNameLen++; } } break; 804f20a: f003 bd8b b.w 8052d24 timerStatus = sec2; 804f20e: 4b87 ldr r3, [pc, #540] ; (804f42c ) 804f210: f44f 5280 mov.w r2, #4096 ; 0x1000 804f214: 801a strh r2, [r3, #0] DrawStatus = true; 804f216: 4b86 ldr r3, [pc, #536] ; (804f430 ) 804f218: 2201 movs r2, #1 804f21a: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804f21c: 4b85 ldr r3, [pc, #532] ; (804f434 ) 804f21e: 220b movs r2, #11 804f220: 601a str r2, [r3, #0] menu = PARAM_VIB; 804f222: 4b81 ldr r3, [pc, #516] ; (804f428 ) 804f224: 2206 movs r2, #6 804f226: 701a strb r2, [r3, #0] menupos = SaveToFile; 804f228: 4b7a ldr r3, [pc, #488] ; (804f414 ) 804f22a: 220a movs r2, #10 804f22c: 701a strb r2, [r3, #0] break; 804f22e: f003 bd79 b.w 8052d24 if(result == FR_EXIST) 804f232: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f236: 2b08 cmp r3, #8 804f238: d10b bne.n 804f252 timerStatus = sec2; 804f23a: 4b7c ldr r3, [pc, #496] ; (804f42c ) 804f23c: f44f 5280 mov.w r2, #4096 ; 0x1000 804f240: 801a strh r2, [r3, #0] DrawStatus = true; 804f242: 4b7b ldr r3, [pc, #492] ; (804f430 ) 804f244: 2201 movs r2, #1 804f246: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 804f248: 4b7a ldr r3, [pc, #488] ; (804f434 ) 804f24a: 2206 movs r2, #6 804f24c: 601a str r2, [r3, #0] break; 804f24e: f003 bd69 b.w 8052d24 timerStatus = sec2; 804f252: 4b76 ldr r3, [pc, #472] ; (804f42c ) 804f254: f44f 5280 mov.w r2, #4096 ; 0x1000 804f258: 801a strh r2, [r3, #0] DrawStatus = true; 804f25a: 4b75 ldr r3, [pc, #468] ; (804f430 ) 804f25c: 2201 movs r2, #1 804f25e: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804f260: 4b74 ldr r3, [pc, #464] ; (804f434 ) 804f262: 220b movs r2, #11 804f264: 601a str r2, [r3, #0] menu = PARAM_VIB; 804f266: 4b70 ldr r3, [pc, #448] ; (804f428 ) 804f268: 2206 movs r2, #6 804f26a: 701a strb r2, [r3, #0] menupos = SaveToFile; 804f26c: 4b69 ldr r3, [pc, #420] ; (804f414 ) 804f26e: 220a movs r2, #10 804f270: 701a strb r2, [r3, #0] break; 804f272: f003 bd57 b.w 8052d24 if(menupos == _BCKSPC) 804f276: 4b67 ldr r3, [pc, #412] ; (804f414 ) 804f278: 781b ldrb r3, [r3, #0] 804f27a: b2db uxtb r3, r3 804f27c: 2b1d cmp r3, #29 804f27e: d116 bne.n 804f2ae MeasFileNameLen = strlen(TEMP_MeasFileName); 804f280: 4865 ldr r0, [pc, #404] ; (804f418 ) 804f282: f7d1 f847 bl 8020314 804f286: 4602 mov r2, r0 804f288: 4b64 ldr r3, [pc, #400] ; (804f41c ) 804f28a: 601a str r2, [r3, #0] if(MeasFileNameLen) 804f28c: 4b63 ldr r3, [pc, #396] ; (804f41c ) 804f28e: 681b ldr r3, [r3, #0] 804f290: 2b00 cmp r3, #0 804f292: f003 8547 beq.w 8052d24 MeasFileNameLen--; 804f296: 4b61 ldr r3, [pc, #388] ; (804f41c ) 804f298: 681b ldr r3, [r3, #0] 804f29a: 3b01 subs r3, #1 804f29c: 4a5f ldr r2, [pc, #380] ; (804f41c ) 804f29e: 6013 str r3, [r2, #0] TEMP_MeasFileName[MeasFileNameLen] = 0; 804f2a0: 4b5e ldr r3, [pc, #376] ; (804f41c ) 804f2a2: 681b ldr r3, [r3, #0] 804f2a4: 4a5c ldr r2, [pc, #368] ; (804f418 ) 804f2a6: 2100 movs r1, #0 804f2a8: 54d1 strb r1, [r2, r3] break; 804f2aa: f003 bd3b b.w 8052d24 if(menupos == _CANCEL) 804f2ae: 4b59 ldr r3, [pc, #356] ; (804f414 ) 804f2b0: 781b ldrb r3, [r3, #0] 804f2b2: b2db uxtb r3, r3 804f2b4: 2b27 cmp r3, #39 ; 0x27 804f2b6: d10f bne.n 804f2d8 MeasFileNameLen = strlen(MeasFileName); 804f2b8: 4859 ldr r0, [pc, #356] ; (804f420 ) 804f2ba: f7d1 f82b bl 8020314 804f2be: 4602 mov r2, r0 804f2c0: 4b56 ldr r3, [pc, #344] ; (804f41c ) 804f2c2: 601a str r2, [r3, #0] menu = EXPLORER; 804f2c4: 4b58 ldr r3, [pc, #352] ; (804f428 ) 804f2c6: 2229 movs r2, #41 ; 0x29 804f2c8: 701a strb r2, [r3, #0] menupos = lastmenupos; 804f2ca: 4b5b ldr r3, [pc, #364] ; (804f438 ) 804f2cc: 781b ldrb r3, [r3, #0] 804f2ce: b2da uxtb r2, r3 804f2d0: 4b50 ldr r3, [pc, #320] ; (804f414 ) 804f2d2: 701a strb r2, [r3, #0] break; 804f2d4: f003 bd26 b.w 8052d24 MeasFileNameLen = strlen(TEMP_MeasFileName); 804f2d8: 484f ldr r0, [pc, #316] ; (804f418 ) 804f2da: f7d1 f81b bl 8020314 804f2de: 4602 mov r2, r0 804f2e0: 4b4e ldr r3, [pc, #312] ; (804f41c ) 804f2e2: 601a str r2, [r3, #0] if(MeasFileNameLen < MAX_NAME) 804f2e4: 4b4d ldr r3, [pc, #308] ; (804f41c ) 804f2e6: 681b ldr r3, [r3, #0] 804f2e8: 2b18 cmp r3, #24 804f2ea: f203 851b bhi.w 8052d24 TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; 804f2ee: 4b4b ldr r3, [pc, #300] ; (804f41c ) 804f2f0: 681b ldr r3, [r3, #0] 804f2f2: 4a48 ldr r2, [pc, #288] ; (804f414 ) 804f2f4: 7812 ldrb r2, [r2, #0] 804f2f6: b2d2 uxtb r2, r2 804f2f8: 4611 mov r1, r2 804f2fa: 4a50 ldr r2, [pc, #320] ; (804f43c ) 804f2fc: 5c51 ldrb r1, [r2, r1] 804f2fe: 4a46 ldr r2, [pc, #280] ; (804f418 ) 804f300: 54d1 strb r1, [r2, r3] MeasFileNameLen++; 804f302: 4b46 ldr r3, [pc, #280] ; (804f41c ) 804f304: 681b ldr r3, [r3, #0] 804f306: 3301 adds r3, #1 804f308: 4a44 ldr r2, [pc, #272] ; (804f41c ) 804f30a: 6013 str r3, [r2, #0] break; 804f30c: f003 bd0a b.w 8052d24 case INPUT_NAME: if(menupos == _ENTER) 804f310: 4b40 ldr r3, [pc, #256] ; (804f414 ) 804f312: 781b ldrb r3, [r3, #0] 804f314: b2db uxtb r3, r3 804f316: 2b26 cmp r3, #38 ; 0x26 804f318: d160 bne.n 804f3dc { NameLen = strlen(TEMP_Name); 804f31a: 4849 ldr r0, [pc, #292] ; (804f440 ) 804f31c: f7d0 fffa bl 8020314 804f320: 4602 mov r2, r0 804f322: 4b48 ldr r3, [pc, #288] ; (804f444 ) 804f324: 601a str r2, [r3, #0] if(NameLen > 0) 804f326: 4b47 ldr r3, [pc, #284] ; (804f444 ) 804f328: 681b ldr r3, [r3, #0] 804f32a: 2b00 cmp r3, #0 804f32c: f003 84fc beq.w 8052d28 { strcpy(string, TEMP_Name); 804f330: f107 0344 add.w r3, r7, #68 ; 0x44 804f334: 4942 ldr r1, [pc, #264] ; (804f440 ) 804f336: 4618 mov r0, r3 804f338: f07d ffbf bl 80cd2ba for(i = 0; i < 8; i++) 804f33c: 2300 movs r3, #0 804f33e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804f342: e01b b.n 804f37c { k = strcmp(string, (void *) &pardata.DIAGN_NAME[i][0]); 804f344: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 804f348: 4613 mov r3, r2 804f34a: 009b lsls r3, r3, #2 804f34c: 4413 add r3, r2 804f34e: 00db lsls r3, r3, #3 804f350: 33d8 adds r3, #216 ; 0xd8 804f352: 4a3d ldr r2, [pc, #244] ; (804f448 ) 804f354: 4413 add r3, r2 804f356: 1d1a adds r2, r3, #4 804f358: f107 0344 add.w r3, r7, #68 ; 0x44 804f35c: 4611 mov r1, r2 804f35e: 4618 mov r0, r3 804f360: f7d0 ffce bl 8020300 804f364: 4603 mov r3, r0 804f366: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(!k) 804f36a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804f36e: 2b00 cmp r3, #0 804f370: d009 beq.n 804f386 for(i = 0; i < 8; i++) 804f372: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804f376: 3301 adds r3, #1 804f378: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 804f37c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 804f380: 2b07 cmp r3, #7 804f382: d9df bls.n 804f344 804f384: e000 b.n 804f388 break; 804f386: bf00 nop } if(k) 804f388: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 804f38c: 2b00 cmp r3, #0 804f38e: d019 beq.n 804f3c4 { strcpy((void *) &pardata.DIAGN_NAME[CURR_POINT][0], string); 804f390: 4b2e ldr r3, [pc, #184] ; (804f44c ) 804f392: 781b ldrb r3, [r3, #0] 804f394: b2db uxtb r3, r3 804f396: 461a mov r2, r3 804f398: 4613 mov r3, r2 804f39a: 009b lsls r3, r3, #2 804f39c: 4413 add r3, r2 804f39e: 00db lsls r3, r3, #3 804f3a0: 33d8 adds r3, #216 ; 0xd8 804f3a2: 4a29 ldr r2, [pc, #164] ; (804f448 ) 804f3a4: 4413 add r3, r2 804f3a6: 3304 adds r3, #4 804f3a8: f107 0244 add.w r2, r7, #68 ; 0x44 804f3ac: 4611 mov r1, r2 804f3ae: 4618 mov r0, r3 804f3b0: f07d ff83 bl 80cd2ba menu = PARAM_DIAGN_2; 804f3b4: 4b1c ldr r3, [pc, #112] ; (804f428 ) 804f3b6: 2211 movs r2, #17 804f3b8: 701a strb r2, [r3, #0] menupos = DiagName; 804f3ba: 4b16 ldr r3, [pc, #88] ; (804f414 ) 804f3bc: 2206 movs r2, #6 804f3be: 701a strb r2, [r3, #0] { TEMP_Name[NameLen] = CHARS_ENG[menupos]; NameLen++; } } break; 804f3c0: f003 bcb2 b.w 8052d28 timerStatus = sec2; 804f3c4: 4b19 ldr r3, [pc, #100] ; (804f42c ) 804f3c6: f44f 5280 mov.w r2, #4096 ; 0x1000 804f3ca: 801a strh r2, [r3, #0] DrawStatus = true; 804f3cc: 4b18 ldr r3, [pc, #96] ; (804f430 ) 804f3ce: 2201 movs r2, #1 804f3d0: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 804f3d2: 4b18 ldr r3, [pc, #96] ; (804f434 ) 804f3d4: 2206 movs r2, #6 804f3d6: 601a str r2, [r3, #0] break; 804f3d8: f003 bca6 b.w 8052d28 if(menupos == _BCKSPC) 804f3dc: 4b0d ldr r3, [pc, #52] ; (804f414 ) 804f3de: 781b ldrb r3, [r3, #0] 804f3e0: b2db uxtb r3, r3 804f3e2: 2b1d cmp r3, #29 804f3e4: d134 bne.n 804f450 NameLen = strlen(TEMP_Name); 804f3e6: 4816 ldr r0, [pc, #88] ; (804f440 ) 804f3e8: f7d0 ff94 bl 8020314 804f3ec: 4602 mov r2, r0 804f3ee: 4b15 ldr r3, [pc, #84] ; (804f444 ) 804f3f0: 601a str r2, [r3, #0] if(NameLen) 804f3f2: 4b14 ldr r3, [pc, #80] ; (804f444 ) 804f3f4: 681b ldr r3, [r3, #0] 804f3f6: 2b00 cmp r3, #0 804f3f8: f003 8496 beq.w 8052d28 NameLen--; 804f3fc: 4b11 ldr r3, [pc, #68] ; (804f444 ) 804f3fe: 681b ldr r3, [r3, #0] 804f400: 3b01 subs r3, #1 804f402: 4a10 ldr r2, [pc, #64] ; (804f444 ) 804f404: 6013 str r3, [r2, #0] TEMP_Name[NameLen] = 0; 804f406: 4b0f ldr r3, [pc, #60] ; (804f444 ) 804f408: 681b ldr r3, [r3, #0] 804f40a: 4a0d ldr r2, [pc, #52] ; (804f440 ) 804f40c: 2100 movs r1, #0 804f40e: 54d1 strb r1, [r2, r3] break; 804f410: f003 bc8a b.w 8052d28 804f414: 20020070 .word 0x20020070 804f418: 20025c80 .word 0x20025c80 804f41c: 20020eec .word 0x20020eec 804f420: 20020e58 .word 0x20020e58 804f424: 20020dca .word 0x20020dca 804f428: 20020f78 .word 0x20020f78 804f42c: 2002168c .word 0x2002168c 804f430: 20020dd2 .word 0x20020dd2 804f434: 20020dcc .word 0x20020dcc 804f438: 20020071 .word 0x20020071 804f43c: 080ee7c8 .word 0x080ee7c8 804f440: 20025cf4 .word 0x20025cf4 804f444: 20020ef4 .word 0x20020ef4 804f448: 20023e60 .word 0x20023e60 804f44c: 20021011 .word 0x20021011 if(menupos == _CANCEL) 804f450: 4b93 ldr r3, [pc, #588] ; (804f6a0 ) 804f452: 781b ldrb r3, [r3, #0] 804f454: b2db uxtb r3, r3 804f456: 2b27 cmp r3, #39 ; 0x27 804f458: d10f bne.n 804f47a NameLen = strlen(Name); 804f45a: 4892 ldr r0, [pc, #584] ; (804f6a4 ) 804f45c: f7d0 ff5a bl 8020314 804f460: 4602 mov r2, r0 804f462: 4b91 ldr r3, [pc, #580] ; (804f6a8 ) 804f464: 601a str r2, [r3, #0] menu = PARAM_DIAGN_2; 804f466: 4b91 ldr r3, [pc, #580] ; (804f6ac ) 804f468: 2211 movs r2, #17 804f46a: 701a strb r2, [r3, #0] menupos = lastmenupos; 804f46c: 4b90 ldr r3, [pc, #576] ; (804f6b0 ) 804f46e: 781b ldrb r3, [r3, #0] 804f470: b2da uxtb r2, r3 804f472: 4b8b ldr r3, [pc, #556] ; (804f6a0 ) 804f474: 701a strb r2, [r3, #0] break; 804f476: f003 bc57 b.w 8052d28 NameLen = strlen(TEMP_Name); 804f47a: 488e ldr r0, [pc, #568] ; (804f6b4 ) 804f47c: f7d0 ff4a bl 8020314 804f480: 4602 mov r2, r0 804f482: 4b89 ldr r3, [pc, #548] ; (804f6a8 ) 804f484: 601a str r2, [r3, #0] if(NameLen < MAX_NAME) 804f486: 4b88 ldr r3, [pc, #544] ; (804f6a8 ) 804f488: 681b ldr r3, [r3, #0] 804f48a: 2b18 cmp r3, #24 804f48c: f203 844c bhi.w 8052d28 TEMP_Name[NameLen] = CHARS_ENG[menupos]; 804f490: 4b85 ldr r3, [pc, #532] ; (804f6a8 ) 804f492: 681b ldr r3, [r3, #0] 804f494: 4a82 ldr r2, [pc, #520] ; (804f6a0 ) 804f496: 7812 ldrb r2, [r2, #0] 804f498: b2d2 uxtb r2, r2 804f49a: 4611 mov r1, r2 804f49c: 4a86 ldr r2, [pc, #536] ; (804f6b8 ) 804f49e: 5c51 ldrb r1, [r2, r1] 804f4a0: 4a84 ldr r2, [pc, #528] ; (804f6b4 ) 804f4a2: 54d1 strb r1, [r2, r3] NameLen++; 804f4a4: 4b80 ldr r3, [pc, #512] ; (804f6a8 ) 804f4a6: 681b ldr r3, [r3, #0] 804f4a8: 3301 adds r3, #1 804f4aa: 4a7f ldr r2, [pc, #508] ; (804f6a8 ) 804f4ac: 6013 str r3, [r2, #0] break; 804f4ae: f003 bc3b b.w 8052d28 case INPUT_NAME_DGN: if(menupos == _ENTER) 804f4b2: 4b7b ldr r3, [pc, #492] ; (804f6a0 ) 804f4b4: 781b ldrb r3, [r3, #0] 804f4b6: b2db uxtb r3, r3 804f4b8: 2b26 cmp r3, #38 ; 0x26 804f4ba: f040 80a3 bne.w 804f604 { DiagFileNameLen = strlen(TEMP_DiagFileName); 804f4be: 487f ldr r0, [pc, #508] ; (804f6bc ) 804f4c0: f7d0 ff28 bl 8020314 804f4c4: 4602 mov r2, r0 804f4c6: 4b7e ldr r3, [pc, #504] ; (804f6c0 ) 804f4c8: 601a str r2, [r3, #0] if(DiagFileNameLen > 0) 804f4ca: 4b7d ldr r3, [pc, #500] ; (804f6c0 ) 804f4cc: 681b ldr r3, [r3, #0] 804f4ce: 2b00 cmp r3, #0 804f4d0: f003 842c beq.w 8052d2c { strcpy(string, TEMP_DiagFileName); 804f4d4: f107 0344 add.w r3, r7, #68 ; 0x44 804f4d8: 4978 ldr r1, [pc, #480] ; (804f6bc ) 804f4da: 4618 mov r0, r3 804f4dc: f07d feed bl 80cd2ba string[DiagFileNameLen] = '.'; 804f4e0: 4b77 ldr r3, [pc, #476] ; (804f6c0 ) 804f4e2: 681b ldr r3, [r3, #0] 804f4e4: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f4e8: 4413 add r3, r2 804f4ea: 222e movs r2, #46 ; 0x2e 804f4ec: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 1] = 'D'; 804f4f0: 4b73 ldr r3, [pc, #460] ; (804f6c0 ) 804f4f2: 681b ldr r3, [r3, #0] 804f4f4: 3301 adds r3, #1 804f4f6: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f4fa: 4413 add r3, r2 804f4fc: 2244 movs r2, #68 ; 0x44 804f4fe: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 2] = 'G'; 804f502: 4b6f ldr r3, [pc, #444] ; (804f6c0 ) 804f504: 681b ldr r3, [r3, #0] 804f506: 3302 adds r3, #2 804f508: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f50c: 4413 add r3, r2 804f50e: 2247 movs r2, #71 ; 0x47 804f510: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 3] = 'N'; 804f514: 4b6a ldr r3, [pc, #424] ; (804f6c0 ) 804f516: 681b ldr r3, [r3, #0] 804f518: 3303 adds r3, #3 804f51a: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f51e: 4413 add r3, r2 804f520: 224e movs r2, #78 ; 0x4e 804f522: f803 2c84 strb.w r2, [r3, #-132] string[DiagFileNameLen + 4] = '\0'; 804f526: 4b66 ldr r3, [pc, #408] ; (804f6c0 ) 804f528: 681b ldr r3, [r3, #0] 804f52a: 3304 adds r3, #4 804f52c: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f530: 4413 add r3, r2 804f532: 2200 movs r2, #0 804f534: f803 2c84 strb.w r2, [r3, #-132] result = CheckExistDGN(string); 804f538: f107 0344 add.w r3, r7, #68 ; 0x44 804f53c: 4618 mov r0, r3 804f53e: f7db fb75 bl 802ac2c 804f542: 4603 mov r3, r0 804f544: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_NO_FILE) 804f548: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f54c: 2b04 cmp r3, #4 804f54e: d137 bne.n 804f5c0 { result = CreateFileDGN(string); 804f550: f107 0344 add.w r3, r7, #68 ; 0x44 804f554: 4618 mov r0, r3 804f556: f7d5 fe31 bl 80251bc 804f55a: 4603 mov r3, r0 804f55c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f560: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f564: 2b00 cmp r3, #0 804f566: d119 bne.n 804f59c { if(strcmp(DiagFileName, string) != 0) 804f568: f107 0344 add.w r3, r7, #68 ; 0x44 804f56c: 4619 mov r1, r3 804f56e: 4855 ldr r0, [pc, #340] ; (804f6c4 ) 804f570: f7d0 fec6 bl 8020300 804f574: 4603 mov r3, r0 804f576: 2b00 cmp r3, #0 804f578: d002 beq.n 804f580 DrawSavedData = false; 804f57a: 4b53 ldr r3, [pc, #332] ; (804f6c8 ) 804f57c: 2200 movs r2, #0 804f57e: 701a strb r2, [r3, #0] strcpy(DiagFileName, string); 804f580: f107 0344 add.w r3, r7, #68 ; 0x44 804f584: 4619 mov r1, r3 804f586: 484f ldr r0, [pc, #316] ; (804f6c4 ) 804f588: f07d fe97 bl 80cd2ba menu = PARAM_DIAGN; 804f58c: 4b47 ldr r3, [pc, #284] ; (804f6ac ) 804f58e: 220f movs r2, #15 804f590: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 804f592: 4b43 ldr r3, [pc, #268] ; (804f6a0 ) 804f594: 2204 movs r2, #4 804f596: 701a strb r2, [r3, #0] { TEMP_DiagFileName[DiagFileNameLen] = CHARS_ENG[menupos]; DiagFileNameLen++; } } break; 804f598: f003 bbc8 b.w 8052d2c timerStatus = sec2; 804f59c: 4b4b ldr r3, [pc, #300] ; (804f6cc ) 804f59e: f44f 5280 mov.w r2, #4096 ; 0x1000 804f5a2: 801a strh r2, [r3, #0] DrawStatus = true; 804f5a4: 4b4a ldr r3, [pc, #296] ; (804f6d0 ) 804f5a6: 2201 movs r2, #1 804f5a8: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804f5aa: 4b4a ldr r3, [pc, #296] ; (804f6d4 ) 804f5ac: 220b movs r2, #11 804f5ae: 601a str r2, [r3, #0] menu = PARAM_DIAGN; 804f5b0: 4b3e ldr r3, [pc, #248] ; (804f6ac ) 804f5b2: 220f movs r2, #15 804f5b4: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 804f5b6: 4b3a ldr r3, [pc, #232] ; (804f6a0 ) 804f5b8: 2204 movs r2, #4 804f5ba: 701a strb r2, [r3, #0] break; 804f5bc: f003 bbb6 b.w 8052d2c if(result == FR_EXIST) 804f5c0: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f5c4: 2b08 cmp r3, #8 804f5c6: d10b bne.n 804f5e0 timerStatus = sec2; 804f5c8: 4b40 ldr r3, [pc, #256] ; (804f6cc ) 804f5ca: f44f 5280 mov.w r2, #4096 ; 0x1000 804f5ce: 801a strh r2, [r3, #0] DrawStatus = true; 804f5d0: 4b3f ldr r3, [pc, #252] ; (804f6d0 ) 804f5d2: 2201 movs r2, #1 804f5d4: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 804f5d6: 4b3f ldr r3, [pc, #252] ; (804f6d4 ) 804f5d8: 2206 movs r2, #6 804f5da: 601a str r2, [r3, #0] break; 804f5dc: f003 bba6 b.w 8052d2c timerStatus = sec2; 804f5e0: 4b3a ldr r3, [pc, #232] ; (804f6cc ) 804f5e2: f44f 5280 mov.w r2, #4096 ; 0x1000 804f5e6: 801a strh r2, [r3, #0] DrawStatus = true; 804f5e8: 4b39 ldr r3, [pc, #228] ; (804f6d0 ) 804f5ea: 2201 movs r2, #1 804f5ec: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804f5ee: 4b39 ldr r3, [pc, #228] ; (804f6d4 ) 804f5f0: 220b movs r2, #11 804f5f2: 601a str r2, [r3, #0] menu = PARAM_DIAGN; 804f5f4: 4b2d ldr r3, [pc, #180] ; (804f6ac ) 804f5f6: 220f movs r2, #15 804f5f8: 701a strb r2, [r3, #0] menupos = DiagSaveToFile; 804f5fa: 4b29 ldr r3, [pc, #164] ; (804f6a0 ) 804f5fc: 2204 movs r2, #4 804f5fe: 701a strb r2, [r3, #0] break; 804f600: f003 bb94 b.w 8052d2c if(menupos == _BCKSPC) 804f604: 4b26 ldr r3, [pc, #152] ; (804f6a0 ) 804f606: 781b ldrb r3, [r3, #0] 804f608: b2db uxtb r3, r3 804f60a: 2b1d cmp r3, #29 804f60c: d116 bne.n 804f63c DiagFileNameLen = strlen(TEMP_DiagFileName); 804f60e: 482b ldr r0, [pc, #172] ; (804f6bc ) 804f610: f7d0 fe80 bl 8020314 804f614: 4602 mov r2, r0 804f616: 4b2a ldr r3, [pc, #168] ; (804f6c0 ) 804f618: 601a str r2, [r3, #0] if(DiagFileNameLen) 804f61a: 4b29 ldr r3, [pc, #164] ; (804f6c0 ) 804f61c: 681b ldr r3, [r3, #0] 804f61e: 2b00 cmp r3, #0 804f620: f003 8384 beq.w 8052d2c DiagFileNameLen--; 804f624: 4b26 ldr r3, [pc, #152] ; (804f6c0 ) 804f626: 681b ldr r3, [r3, #0] 804f628: 3b01 subs r3, #1 804f62a: 4a25 ldr r2, [pc, #148] ; (804f6c0 ) 804f62c: 6013 str r3, [r2, #0] TEMP_DiagFileName[DiagFileNameLen] = 0; 804f62e: 4b24 ldr r3, [pc, #144] ; (804f6c0 ) 804f630: 681b ldr r3, [r3, #0] 804f632: 4a22 ldr r2, [pc, #136] ; (804f6bc ) 804f634: 2100 movs r1, #0 804f636: 54d1 strb r1, [r2, r3] break; 804f638: f003 bb78 b.w 8052d2c if(menupos == _CANCEL) 804f63c: 4b18 ldr r3, [pc, #96] ; (804f6a0 ) 804f63e: 781b ldrb r3, [r3, #0] 804f640: b2db uxtb r3, r3 804f642: 2b27 cmp r3, #39 ; 0x27 804f644: d10f bne.n 804f666 DiagFileNameLen = strlen(DiagFileName); 804f646: 481f ldr r0, [pc, #124] ; (804f6c4 ) 804f648: f7d0 fe64 bl 8020314 804f64c: 4602 mov r2, r0 804f64e: 4b1c ldr r3, [pc, #112] ; (804f6c0 ) 804f650: 601a str r2, [r3, #0] menu = EXPLORER_DIAGN; 804f652: 4b16 ldr r3, [pc, #88] ; (804f6ac ) 804f654: 222a movs r2, #42 ; 0x2a 804f656: 701a strb r2, [r3, #0] menupos = lastmenupos; 804f658: 4b15 ldr r3, [pc, #84] ; (804f6b0 ) 804f65a: 781b ldrb r3, [r3, #0] 804f65c: b2da uxtb r2, r3 804f65e: 4b10 ldr r3, [pc, #64] ; (804f6a0 ) 804f660: 701a strb r2, [r3, #0] break; 804f662: f003 bb63 b.w 8052d2c DiagFileNameLen = strlen(TEMP_DiagFileName); 804f666: 4815 ldr r0, [pc, #84] ; (804f6bc ) 804f668: f7d0 fe54 bl 8020314 804f66c: 4602 mov r2, r0 804f66e: 4b14 ldr r3, [pc, #80] ; (804f6c0 ) 804f670: 601a str r2, [r3, #0] if(DiagFileNameLen < MAX_NAME) 804f672: 4b13 ldr r3, [pc, #76] ; (804f6c0 ) 804f674: 681b ldr r3, [r3, #0] 804f676: 2b18 cmp r3, #24 804f678: f203 8358 bhi.w 8052d2c TEMP_DiagFileName[DiagFileNameLen] = CHARS_ENG[menupos]; 804f67c: 4b10 ldr r3, [pc, #64] ; (804f6c0 ) 804f67e: 681b ldr r3, [r3, #0] 804f680: 4a07 ldr r2, [pc, #28] ; (804f6a0 ) 804f682: 7812 ldrb r2, [r2, #0] 804f684: b2d2 uxtb r2, r2 804f686: 4611 mov r1, r2 804f688: 4a0b ldr r2, [pc, #44] ; (804f6b8 ) 804f68a: 5c51 ldrb r1, [r2, r1] 804f68c: 4a0b ldr r2, [pc, #44] ; (804f6bc ) 804f68e: 54d1 strb r1, [r2, r3] DiagFileNameLen++; 804f690: 4b0b ldr r3, [pc, #44] ; (804f6c0 ) 804f692: 681b ldr r3, [r3, #0] 804f694: 3301 adds r3, #1 804f696: 4a0a ldr r2, [pc, #40] ; (804f6c0 ) 804f698: 6013 str r3, [r2, #0] break; 804f69a: f003 bb47 b.w 8052d2c 804f69e: bf00 nop 804f6a0: 20020070 .word 0x20020070 804f6a4: 20020ec4 .word 0x20020ec4 804f6a8: 20020ef4 .word 0x20020ef4 804f6ac: 20020f78 .word 0x20020f78 804f6b0: 20020071 .word 0x20020071 804f6b4: 20025cf4 .word 0x20025cf4 804f6b8: 080ee7c8 .word 0x080ee7c8 804f6bc: 20025cc8 .word 0x20025cc8 804f6c0: 20020ef0 .word 0x20020ef0 804f6c4: 20020e7c .word 0x20020e7c 804f6c8: 20020dca .word 0x20020dca 804f6cc: 2002168c .word 0x2002168c 804f6d0: 20020dd2 .word 0x20020dd2 804f6d4: 20020dcc .word 0x20020dcc case INPUT_NAME_SPEC: if(menupos == _ENTER) 804f6d8: 4bae ldr r3, [pc, #696] ; (804f994 ) 804f6da: 781b ldrb r3, [r3, #0] 804f6dc: b2db uxtb r3, r3 804f6de: 2b26 cmp r3, #38 ; 0x26 804f6e0: f040 8097 bne.w 804f812 { MeasFileNameLen = strlen(TEMP_MeasFileName); 804f6e4: 48ac ldr r0, [pc, #688] ; (804f998 ) 804f6e6: f7d0 fe15 bl 8020314 804f6ea: 4602 mov r2, r0 804f6ec: 4bab ldr r3, [pc, #684] ; (804f99c ) 804f6ee: 601a str r2, [r3, #0] if(MeasFileNameLen > 0) 804f6f0: 4baa ldr r3, [pc, #680] ; (804f99c ) 804f6f2: 681b ldr r3, [r3, #0] 804f6f4: 2b00 cmp r3, #0 804f6f6: f003 831b beq.w 8052d30 { strcpy(string, TEMP_MeasFileName); 804f6fa: f107 0344 add.w r3, r7, #68 ; 0x44 804f6fe: 49a6 ldr r1, [pc, #664] ; (804f998 ) 804f700: 4618 mov r0, r3 804f702: f07d fdda bl 80cd2ba string[MeasFileNameLen] = '.'; 804f706: 4ba5 ldr r3, [pc, #660] ; (804f99c ) 804f708: 681b ldr r3, [r3, #0] 804f70a: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f70e: 4413 add r3, r2 804f710: 222e movs r2, #46 ; 0x2e 804f712: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 1] = 'C'; 804f716: 4ba1 ldr r3, [pc, #644] ; (804f99c ) 804f718: 681b ldr r3, [r3, #0] 804f71a: 3301 adds r3, #1 804f71c: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f720: 4413 add r3, r2 804f722: 2243 movs r2, #67 ; 0x43 804f724: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 2] = 'S'; 804f728: 4b9c ldr r3, [pc, #624] ; (804f99c ) 804f72a: 681b ldr r3, [r3, #0] 804f72c: 3302 adds r3, #2 804f72e: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f732: 4413 add r3, r2 804f734: 2253 movs r2, #83 ; 0x53 804f736: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 3] = 'V'; 804f73a: 4b98 ldr r3, [pc, #608] ; (804f99c ) 804f73c: 681b ldr r3, [r3, #0] 804f73e: 3303 adds r3, #3 804f740: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f744: 4413 add r3, r2 804f746: 2256 movs r2, #86 ; 0x56 804f748: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 4] = '\0'; 804f74c: 4b93 ldr r3, [pc, #588] ; (804f99c ) 804f74e: 681b ldr r3, [r3, #0] 804f750: 3304 adds r3, #4 804f752: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f756: 4413 add r3, r2 804f758: 2200 movs r2, #0 804f75a: f803 2c84 strb.w r2, [r3, #-132] result = CheckExistSPEC(string); 804f75e: f107 0344 add.w r3, r7, #68 ; 0x44 804f762: 4618 mov r0, r3 804f764: f7db fab2 bl 802accc 804f768: 4603 mov r3, r0 804f76a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_NO_FILE) 804f76e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f772: 2b04 cmp r3, #4 804f774: d129 bne.n 804f7ca { result = CreateFileSPEC(string); 804f776: f107 0344 add.w r3, r7, #68 ; 0x44 804f77a: 4618 mov r0, r3 804f77c: f7d5 fdba bl 80252f4 804f780: 4603 mov r3, r0 804f782: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804f786: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f78a: 2b00 cmp r3, #0 804f78c: d109 bne.n 804f7a2 { menu = lastmenu; 804f78e: 4b84 ldr r3, [pc, #528] ; (804f9a0 ) 804f790: 781b ldrb r3, [r3, #0] 804f792: b2da uxtb r2, r3 804f794: 4b83 ldr r3, [pc, #524] ; (804f9a4 ) 804f796: 701a strb r2, [r3, #0] menupos = SaveSpec; 804f798: 4b7e ldr r3, [pc, #504] ; (804f994 ) 804f79a: 2209 movs r2, #9 804f79c: 701a strb r2, [r3, #0] { TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; MeasFileNameLen++; } } break; 804f79e: f003 bac7 b.w 8052d30 timerStatus = sec2; 804f7a2: 4b81 ldr r3, [pc, #516] ; (804f9a8 ) 804f7a4: f44f 5280 mov.w r2, #4096 ; 0x1000 804f7a8: 801a strh r2, [r3, #0] DrawStatus = true; 804f7aa: 4b80 ldr r3, [pc, #512] ; (804f9ac ) 804f7ac: 2201 movs r2, #1 804f7ae: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804f7b0: 4b7f ldr r3, [pc, #508] ; (804f9b0 ) 804f7b2: 220b movs r2, #11 804f7b4: 601a str r2, [r3, #0] menu = lastmenu; 804f7b6: 4b7a ldr r3, [pc, #488] ; (804f9a0 ) 804f7b8: 781b ldrb r3, [r3, #0] 804f7ba: b2da uxtb r2, r3 804f7bc: 4b79 ldr r3, [pc, #484] ; (804f9a4 ) 804f7be: 701a strb r2, [r3, #0] menupos = SaveSpec; 804f7c0: 4b74 ldr r3, [pc, #464] ; (804f994 ) 804f7c2: 2209 movs r2, #9 804f7c4: 701a strb r2, [r3, #0] break; 804f7c6: f003 bab3 b.w 8052d30 if(result == FR_EXIST) 804f7ca: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804f7ce: 2b08 cmp r3, #8 804f7d0: d10b bne.n 804f7ea timerStatus = sec2; 804f7d2: 4b75 ldr r3, [pc, #468] ; (804f9a8 ) 804f7d4: f44f 5280 mov.w r2, #4096 ; 0x1000 804f7d8: 801a strh r2, [r3, #0] DrawStatus = true; 804f7da: 4b74 ldr r3, [pc, #464] ; (804f9ac ) 804f7dc: 2201 movs r2, #1 804f7de: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 804f7e0: 4b73 ldr r3, [pc, #460] ; (804f9b0 ) 804f7e2: 2206 movs r2, #6 804f7e4: 601a str r2, [r3, #0] break; 804f7e6: f003 baa3 b.w 8052d30 timerStatus = sec2; 804f7ea: 4b6f ldr r3, [pc, #444] ; (804f9a8 ) 804f7ec: f44f 5280 mov.w r2, #4096 ; 0x1000 804f7f0: 801a strh r2, [r3, #0] DrawStatus = true; 804f7f2: 4b6e ldr r3, [pc, #440] ; (804f9ac ) 804f7f4: 2201 movs r2, #1 804f7f6: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804f7f8: 4b6d ldr r3, [pc, #436] ; (804f9b0 ) 804f7fa: 220b movs r2, #11 804f7fc: 601a str r2, [r3, #0] menu = lastmenu; 804f7fe: 4b68 ldr r3, [pc, #416] ; (804f9a0 ) 804f800: 781b ldrb r3, [r3, #0] 804f802: b2da uxtb r2, r3 804f804: 4b67 ldr r3, [pc, #412] ; (804f9a4 ) 804f806: 701a strb r2, [r3, #0] menupos = SaveSpec; 804f808: 4b62 ldr r3, [pc, #392] ; (804f994 ) 804f80a: 2209 movs r2, #9 804f80c: 701a strb r2, [r3, #0] break; 804f80e: f003 ba8f b.w 8052d30 if(menupos == _BCKSPC) 804f812: 4b60 ldr r3, [pc, #384] ; (804f994 ) 804f814: 781b ldrb r3, [r3, #0] 804f816: b2db uxtb r3, r3 804f818: 2b1d cmp r3, #29 804f81a: d116 bne.n 804f84a MeasFileNameLen = strlen(TEMP_MeasFileName); 804f81c: 485e ldr r0, [pc, #376] ; (804f998 ) 804f81e: f7d0 fd79 bl 8020314 804f822: 4602 mov r2, r0 804f824: 4b5d ldr r3, [pc, #372] ; (804f99c ) 804f826: 601a str r2, [r3, #0] if(MeasFileNameLen) 804f828: 4b5c ldr r3, [pc, #368] ; (804f99c ) 804f82a: 681b ldr r3, [r3, #0] 804f82c: 2b00 cmp r3, #0 804f82e: f003 827f beq.w 8052d30 MeasFileNameLen--; 804f832: 4b5a ldr r3, [pc, #360] ; (804f99c ) 804f834: 681b ldr r3, [r3, #0] 804f836: 3b01 subs r3, #1 804f838: 4a58 ldr r2, [pc, #352] ; (804f99c ) 804f83a: 6013 str r3, [r2, #0] TEMP_MeasFileName[MeasFileNameLen] = 0; 804f83c: 4b57 ldr r3, [pc, #348] ; (804f99c ) 804f83e: 681b ldr r3, [r3, #0] 804f840: 4a55 ldr r2, [pc, #340] ; (804f998 ) 804f842: 2100 movs r1, #0 804f844: 54d1 strb r1, [r2, r3] break; 804f846: f003 ba73 b.w 8052d30 if(menupos == _CANCEL) 804f84a: 4b52 ldr r3, [pc, #328] ; (804f994 ) 804f84c: 781b ldrb r3, [r3, #0] 804f84e: b2db uxtb r3, r3 804f850: 2b27 cmp r3, #39 ; 0x27 804f852: d10f bne.n 804f874 MeasFileNameLen = strlen(MeasFileName); 804f854: 4857 ldr r0, [pc, #348] ; (804f9b4 ) 804f856: f7d0 fd5d bl 8020314 804f85a: 4602 mov r2, r0 804f85c: 4b4f ldr r3, [pc, #316] ; (804f99c ) 804f85e: 601a str r2, [r3, #0] menu = lastmenu; 804f860: 4b4f ldr r3, [pc, #316] ; (804f9a0 ) 804f862: 781b ldrb r3, [r3, #0] 804f864: b2da uxtb r2, r3 804f866: 4b4f ldr r3, [pc, #316] ; (804f9a4 ) 804f868: 701a strb r2, [r3, #0] menupos = SaveSpec; 804f86a: 4b4a ldr r3, [pc, #296] ; (804f994 ) 804f86c: 2209 movs r2, #9 804f86e: 701a strb r2, [r3, #0] break; 804f870: f003 ba5e b.w 8052d30 MeasFileNameLen = strlen(TEMP_MeasFileName); 804f874: 4848 ldr r0, [pc, #288] ; (804f998 ) 804f876: f7d0 fd4d bl 8020314 804f87a: 4602 mov r2, r0 804f87c: 4b47 ldr r3, [pc, #284] ; (804f99c ) 804f87e: 601a str r2, [r3, #0] if(MeasFileNameLen < MAX_NAME) 804f880: 4b46 ldr r3, [pc, #280] ; (804f99c ) 804f882: 681b ldr r3, [r3, #0] 804f884: 2b18 cmp r3, #24 804f886: f203 8253 bhi.w 8052d30 TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; 804f88a: 4b44 ldr r3, [pc, #272] ; (804f99c ) 804f88c: 681b ldr r3, [r3, #0] 804f88e: 4a41 ldr r2, [pc, #260] ; (804f994 ) 804f890: 7812 ldrb r2, [r2, #0] 804f892: b2d2 uxtb r2, r2 804f894: 4611 mov r1, r2 804f896: 4a48 ldr r2, [pc, #288] ; (804f9b8 ) 804f898: 5c51 ldrb r1, [r2, r1] 804f89a: 4a3f ldr r2, [pc, #252] ; (804f998 ) 804f89c: 54d1 strb r1, [r2, r3] MeasFileNameLen++; 804f89e: 4b3f ldr r3, [pc, #252] ; (804f99c ) 804f8a0: 681b ldr r3, [r3, #0] 804f8a2: 3301 adds r3, #1 804f8a4: 4a3d ldr r2, [pc, #244] ; (804f99c ) 804f8a6: 6013 str r3, [r2, #0] break; 804f8a8: f003 ba42 b.w 8052d30 case INPUT_NAME_GTR: if(menupos == _ENTER) 804f8ac: 4b39 ldr r3, [pc, #228] ; (804f994 ) 804f8ae: 781b ldrb r3, [r3, #0] 804f8b0: b2db uxtb r3, r3 804f8b2: 2b26 cmp r3, #38 ; 0x26 804f8b4: d152 bne.n 804f95c { WavFileNameLen = strlen(TEMP_WavFileName); 804f8b6: 4841 ldr r0, [pc, #260] ; (804f9bc ) 804f8b8: f7d0 fd2c bl 8020314 804f8bc: 4602 mov r2, r0 804f8be: 4b40 ldr r3, [pc, #256] ; (804f9c0 ) 804f8c0: 601a str r2, [r3, #0] if(WavFileNameLen > 0) 804f8c2: 4b3f ldr r3, [pc, #252] ; (804f9c0 ) 804f8c4: 681b ldr r3, [r3, #0] 804f8c6: 2b00 cmp r3, #0 804f8c8: f003 8234 beq.w 8052d34 { strcpy(string, TEMP_WavFileName); 804f8cc: f107 0344 add.w r3, r7, #68 ; 0x44 804f8d0: 493a ldr r1, [pc, #232] ; (804f9bc ) 804f8d2: 4618 mov r0, r3 804f8d4: f07d fcf1 bl 80cd2ba string[WavFileNameLen] = '.'; 804f8d8: 4b39 ldr r3, [pc, #228] ; (804f9c0 ) 804f8da: 681b ldr r3, [r3, #0] 804f8dc: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f8e0: 4413 add r3, r2 804f8e2: 222e movs r2, #46 ; 0x2e 804f8e4: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 1] = 'G'; 804f8e8: 4b35 ldr r3, [pc, #212] ; (804f9c0 ) 804f8ea: 681b ldr r3, [r3, #0] 804f8ec: 3301 adds r3, #1 804f8ee: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f8f2: 4413 add r3, r2 804f8f4: 2247 movs r2, #71 ; 0x47 804f8f6: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 2] = 'T'; 804f8fa: 4b31 ldr r3, [pc, #196] ; (804f9c0 ) 804f8fc: 681b ldr r3, [r3, #0] 804f8fe: 3302 adds r3, #2 804f900: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f904: 4413 add r3, r2 804f906: 2254 movs r2, #84 ; 0x54 804f908: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 3] = 'R'; 804f90c: 4b2c ldr r3, [pc, #176] ; (804f9c0 ) 804f90e: 681b ldr r3, [r3, #0] 804f910: 3303 adds r3, #3 804f912: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f916: 4413 add r3, r2 804f918: 2252 movs r2, #82 ; 0x52 804f91a: f803 2c84 strb.w r2, [r3, #-132] string[WavFileNameLen + 4] = '\0'; 804f91e: 4b28 ldr r3, [pc, #160] ; (804f9c0 ) 804f920: 681b ldr r3, [r3, #0] 804f922: 3304 adds r3, #4 804f924: f107 02c8 add.w r2, r7, #200 ; 0xc8 804f928: 4413 add r3, r2 804f92a: 2200 movs r2, #0 804f92c: f803 2c84 strb.w r2, [r3, #-132] memset(WavFileName, 0, sizeof(WavFileName)); 804f930: 2221 movs r2, #33 ; 0x21 804f932: 2100 movs r1, #0 804f934: 4823 ldr r0, [pc, #140] ; (804f9c4 ) 804f936: f07d fba3 bl 80cd080 strcpy(WavFileName, string); 804f93a: f107 0344 add.w r3, r7, #68 ; 0x44 804f93e: 4619 mov r1, r3 804f940: 4820 ldr r0, [pc, #128] ; (804f9c4 ) 804f942: f07d fcba bl 80cd2ba menu = PARAM_WAVE; 804f946: 4b17 ldr r3, [pc, #92] ; (804f9a4 ) 804f948: 220a movs r2, #10 804f94a: 701a strb r2, [r3, #0] menupos = WaveName; 804f94c: 4b11 ldr r3, [pc, #68] ; (804f994 ) 804f94e: 2204 movs r2, #4 804f950: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 804f952: 4b1d ldr r3, [pc, #116] ; (804f9c8 ) 804f954: 2200 movs r2, #0 804f956: 709a strb r2, [r3, #2] { TEMP_WavFileName[WavFileNameLen] = CHARS_ENG[menupos]; WavFileNameLen++; } } break; 804f958: f003 b9ec b.w 8052d34 if(menupos == _BCKSPC) 804f95c: 4b0d ldr r3, [pc, #52] ; (804f994 ) 804f95e: 781b ldrb r3, [r3, #0] 804f960: b2db uxtb r3, r3 804f962: 2b1d cmp r3, #29 804f964: d132 bne.n 804f9cc WavFileNameLen = strlen(TEMP_WavFileName); 804f966: 4815 ldr r0, [pc, #84] ; (804f9bc ) 804f968: f7d0 fcd4 bl 8020314 804f96c: 4602 mov r2, r0 804f96e: 4b14 ldr r3, [pc, #80] ; (804f9c0 ) 804f970: 601a str r2, [r3, #0] if(WavFileNameLen) 804f972: 4b13 ldr r3, [pc, #76] ; (804f9c0 ) 804f974: 681b ldr r3, [r3, #0] 804f976: 2b00 cmp r3, #0 804f978: f003 81dc beq.w 8052d34 WavFileNameLen--; 804f97c: 4b10 ldr r3, [pc, #64] ; (804f9c0 ) 804f97e: 681b ldr r3, [r3, #0] 804f980: 3b01 subs r3, #1 804f982: 4a0f ldr r2, [pc, #60] ; (804f9c0 ) 804f984: 6013 str r3, [r2, #0] TEMP_WavFileName[WavFileNameLen] = 0; 804f986: 4b0e ldr r3, [pc, #56] ; (804f9c0 ) 804f988: 681b ldr r3, [r3, #0] 804f98a: 4a0c ldr r2, [pc, #48] ; (804f9bc ) 804f98c: 2100 movs r1, #0 804f98e: 54d1 strb r1, [r2, r3] break; 804f990: f003 b9d0 b.w 8052d34 804f994: 20020070 .word 0x20020070 804f998: 20025c80 .word 0x20025c80 804f99c: 20020eec .word 0x20020eec 804f9a0: 20020f79 .word 0x20020f79 804f9a4: 20020f78 .word 0x20020f78 804f9a8: 2002168c .word 0x2002168c 804f9ac: 20020dd2 .word 0x20020dd2 804f9b0: 20020dcc .word 0x20020dcc 804f9b4: 20020e58 .word 0x20020e58 804f9b8: 080ee7c8 .word 0x080ee7c8 804f9bc: 20025ca4 .word 0x20025ca4 804f9c0: 20020ee8 .word 0x20020ee8 804f9c4: 20020e34 .word 0x20020e34 804f9c8: 20023e60 .word 0x20023e60 if(menupos == _CANCEL) 804f9cc: 4bb1 ldr r3, [pc, #708] ; (804fc94 ) 804f9ce: 781b ldrb r3, [r3, #0] 804f9d0: b2db uxtb r3, r3 804f9d2: 2b27 cmp r3, #39 ; 0x27 804f9d4: d110 bne.n 804f9f8 WavFileNameLen = strlen(WavFileName); 804f9d6: 48b0 ldr r0, [pc, #704] ; (804fc98 ) 804f9d8: f7d0 fc9c bl 8020314 804f9dc: 4602 mov r2, r0 804f9de: 4baf ldr r3, [pc, #700] ; (804fc9c ) 804f9e0: 601a str r2, [r3, #0] menu = PARAM_WAVE; 804f9e2: 4baf ldr r3, [pc, #700] ; (804fca0 ) 804f9e4: 220a movs r2, #10 804f9e6: 701a strb r2, [r3, #0] menupos = WaveName; 804f9e8: 4baa ldr r3, [pc, #680] ; (804fc94 ) 804f9ea: 2204 movs r2, #4 804f9ec: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 804f9ee: 4bad ldr r3, [pc, #692] ; (804fca4 ) 804f9f0: 2200 movs r2, #0 804f9f2: 709a strb r2, [r3, #2] break; 804f9f4: f003 b99e b.w 8052d34 WavFileNameLen = strlen(TEMP_WavFileName); 804f9f8: 48ab ldr r0, [pc, #684] ; (804fca8 ) 804f9fa: f7d0 fc8b bl 8020314 804f9fe: 4602 mov r2, r0 804fa00: 4ba6 ldr r3, [pc, #664] ; (804fc9c ) 804fa02: 601a str r2, [r3, #0] if(WavFileNameLen < MAX_NAME) 804fa04: 4ba5 ldr r3, [pc, #660] ; (804fc9c ) 804fa06: 681b ldr r3, [r3, #0] 804fa08: 2b18 cmp r3, #24 804fa0a: f203 8193 bhi.w 8052d34 TEMP_WavFileName[WavFileNameLen] = CHARS_ENG[menupos]; 804fa0e: 4ba3 ldr r3, [pc, #652] ; (804fc9c ) 804fa10: 681b ldr r3, [r3, #0] 804fa12: 4aa0 ldr r2, [pc, #640] ; (804fc94 ) 804fa14: 7812 ldrb r2, [r2, #0] 804fa16: b2d2 uxtb r2, r2 804fa18: 4611 mov r1, r2 804fa1a: 4aa4 ldr r2, [pc, #656] ; (804fcac ) 804fa1c: 5c51 ldrb r1, [r2, r1] 804fa1e: 4aa2 ldr r2, [pc, #648] ; (804fca8 ) 804fa20: 54d1 strb r1, [r2, r3] WavFileNameLen++; 804fa22: 4b9e ldr r3, [pc, #632] ; (804fc9c ) 804fa24: 681b ldr r3, [r3, #0] 804fa26: 3301 adds r3, #1 804fa28: 4a9c ldr r2, [pc, #624] ; (804fc9c ) 804fa2a: 6013 str r3, [r2, #0] break; 804fa2c: f003 b982 b.w 8052d34 case INPUT_NAME_FRN: if(menupos == _ENTER) 804fa30: 4b98 ldr r3, [pc, #608] ; (804fc94 ) 804fa32: 781b ldrb r3, [r3, #0] 804fa34: b2db uxtb r3, r3 804fa36: 2b26 cmp r3, #38 ; 0x26 804fa38: f040 8085 bne.w 804fb46 { MeasFileNameLen = strlen(TEMP_MeasFileName); 804fa3c: 489c ldr r0, [pc, #624] ; (804fcb0 ) 804fa3e: f7d0 fc69 bl 8020314 804fa42: 4602 mov r2, r0 804fa44: 4b9b ldr r3, [pc, #620] ; (804fcb4 ) 804fa46: 601a str r2, [r3, #0] if(MeasFileNameLen > 0) 804fa48: 4b9a ldr r3, [pc, #616] ; (804fcb4 ) 804fa4a: 681b ldr r3, [r3, #0] 804fa4c: 2b00 cmp r3, #0 804fa4e: f003 8173 beq.w 8052d38 { strcpy(string, TEMP_MeasFileName); 804fa52: f107 0344 add.w r3, r7, #68 ; 0x44 804fa56: 4996 ldr r1, [pc, #600] ; (804fcb0 ) 804fa58: 4618 mov r0, r3 804fa5a: f07d fc2e bl 80cd2ba string[MeasFileNameLen] = '.'; 804fa5e: 4b95 ldr r3, [pc, #596] ; (804fcb4 ) 804fa60: 681b ldr r3, [r3, #0] 804fa62: f107 02c8 add.w r2, r7, #200 ; 0xc8 804fa66: 4413 add r3, r2 804fa68: 222e movs r2, #46 ; 0x2e 804fa6a: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 1] = 'F'; 804fa6e: 4b91 ldr r3, [pc, #580] ; (804fcb4 ) 804fa70: 681b ldr r3, [r3, #0] 804fa72: 3301 adds r3, #1 804fa74: f107 02c8 add.w r2, r7, #200 ; 0xc8 804fa78: 4413 add r3, r2 804fa7a: 2246 movs r2, #70 ; 0x46 804fa7c: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 2] = 'R'; 804fa80: 4b8c ldr r3, [pc, #560] ; (804fcb4 ) 804fa82: 681b ldr r3, [r3, #0] 804fa84: 3302 adds r3, #2 804fa86: f107 02c8 add.w r2, r7, #200 ; 0xc8 804fa8a: 4413 add r3, r2 804fa8c: 2252 movs r2, #82 ; 0x52 804fa8e: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 3] = 'N'; 804fa92: 4b88 ldr r3, [pc, #544] ; (804fcb4 ) 804fa94: 681b ldr r3, [r3, #0] 804fa96: 3303 adds r3, #3 804fa98: f107 02c8 add.w r2, r7, #200 ; 0xc8 804fa9c: 4413 add r3, r2 804fa9e: 224e movs r2, #78 ; 0x4e 804faa0: f803 2c84 strb.w r2, [r3, #-132] string[MeasFileNameLen + 4] = '\0'; 804faa4: 4b83 ldr r3, [pc, #524] ; (804fcb4 ) 804faa6: 681b ldr r3, [r3, #0] 804faa8: 3304 adds r3, #4 804faaa: f107 02c8 add.w r2, r7, #200 ; 0xc8 804faae: 4413 add r3, r2 804fab0: 2200 movs r2, #0 804fab2: f803 2c84 strb.w r2, [r3, #-132] result = CreateFileFRN(string); 804fab6: f107 0344 add.w r3, r7, #68 ; 0x44 804faba: 4618 mov r0, r3 804fabc: f7d5 ff58 bl 8025970 804fac0: 4603 mov r3, r0 804fac2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fac6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804faca: 2b00 cmp r3, #0 804facc: d115 bne.n 804fafa { STATUS = AP_SAVING_SUCCESS; 804face: 4b7a ldr r3, [pc, #488] ; (804fcb8 ) 804fad0: 2207 movs r2, #7 804fad2: 601a str r2, [r3, #0] timerStatus = sec2; 804fad4: 4b79 ldr r3, [pc, #484] ; (804fcbc ) 804fad6: f44f 5280 mov.w r2, #4096 ; 0x1000 804fada: 801a strh r2, [r3, #0] DrawStatus = true; 804fadc: 4b78 ldr r3, [pc, #480] ; (804fcc0 ) 804fade: 2201 movs r2, #1 804fae0: 701a strb r2, [r3, #0] menu = lastmenu; 804fae2: 4b78 ldr r3, [pc, #480] ; (804fcc4 ) 804fae4: 781b ldrb r3, [r3, #0] 804fae6: b2da uxtb r2, r3 804fae8: 4b6d ldr r3, [pc, #436] ; (804fca0 ) 804faea: 701a strb r2, [r3, #0] menupos = lastmenupos; 804faec: 4b76 ldr r3, [pc, #472] ; (804fcc8 ) 804faee: 781b ldrb r3, [r3, #0] 804faf0: b2da uxtb r2, r3 804faf2: 4b68 ldr r3, [pc, #416] ; (804fc94 ) 804faf4: 701a strb r2, [r3, #0] { TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; MeasFileNameLen++; } } break; 804faf6: f003 b91f b.w 8052d38 if(result == FR_EXIST) 804fafa: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fafe: 2b08 cmp r3, #8 804fb00: d10b bne.n 804fb1a timerStatus = sec2; 804fb02: 4b6e ldr r3, [pc, #440] ; (804fcbc ) 804fb04: f44f 5280 mov.w r2, #4096 ; 0x1000 804fb08: 801a strh r2, [r3, #0] DrawStatus = true; 804fb0a: 4b6d ldr r3, [pc, #436] ; (804fcc0 ) 804fb0c: 2201 movs r2, #1 804fb0e: 701a strb r2, [r3, #0] STATUS = AP_FILE_EXIST; 804fb10: 4b69 ldr r3, [pc, #420] ; (804fcb8 ) 804fb12: 2206 movs r2, #6 804fb14: 601a str r2, [r3, #0] break; 804fb16: f003 b90f b.w 8052d38 timerStatus = sec2; 804fb1a: 4b68 ldr r3, [pc, #416] ; (804fcbc ) 804fb1c: f44f 5280 mov.w r2, #4096 ; 0x1000 804fb20: 801a strh r2, [r3, #0] DrawStatus = true; 804fb22: 4b67 ldr r3, [pc, #412] ; (804fcc0 ) 804fb24: 2201 movs r2, #1 804fb26: 701a strb r2, [r3, #0] STATUS = AP_DISK_ERROR; 804fb28: 4b63 ldr r3, [pc, #396] ; (804fcb8 ) 804fb2a: 220b movs r2, #11 804fb2c: 601a str r2, [r3, #0] menu = lastmenu; 804fb2e: 4b65 ldr r3, [pc, #404] ; (804fcc4 ) 804fb30: 781b ldrb r3, [r3, #0] 804fb32: b2da uxtb r2, r3 804fb34: 4b5a ldr r3, [pc, #360] ; (804fca0 ) 804fb36: 701a strb r2, [r3, #0] menupos = lastmenupos; 804fb38: 4b63 ldr r3, [pc, #396] ; (804fcc8 ) 804fb3a: 781b ldrb r3, [r3, #0] 804fb3c: b2da uxtb r2, r3 804fb3e: 4b55 ldr r3, [pc, #340] ; (804fc94 ) 804fb40: 701a strb r2, [r3, #0] break; 804fb42: f003 b8f9 b.w 8052d38 if(menupos == _BCKSPC) 804fb46: 4b53 ldr r3, [pc, #332] ; (804fc94 ) 804fb48: 781b ldrb r3, [r3, #0] 804fb4a: b2db uxtb r3, r3 804fb4c: 2b1d cmp r3, #29 804fb4e: d116 bne.n 804fb7e MeasFileNameLen = strlen(TEMP_MeasFileName); 804fb50: 4857 ldr r0, [pc, #348] ; (804fcb0 ) 804fb52: f7d0 fbdf bl 8020314 804fb56: 4602 mov r2, r0 804fb58: 4b56 ldr r3, [pc, #344] ; (804fcb4 ) 804fb5a: 601a str r2, [r3, #0] if(MeasFileNameLen) 804fb5c: 4b55 ldr r3, [pc, #340] ; (804fcb4 ) 804fb5e: 681b ldr r3, [r3, #0] 804fb60: 2b00 cmp r3, #0 804fb62: f003 80e9 beq.w 8052d38 MeasFileNameLen--; 804fb66: 4b53 ldr r3, [pc, #332] ; (804fcb4 ) 804fb68: 681b ldr r3, [r3, #0] 804fb6a: 3b01 subs r3, #1 804fb6c: 4a51 ldr r2, [pc, #324] ; (804fcb4 ) 804fb6e: 6013 str r3, [r2, #0] TEMP_MeasFileName[MeasFileNameLen] = 0; 804fb70: 4b50 ldr r3, [pc, #320] ; (804fcb4 ) 804fb72: 681b ldr r3, [r3, #0] 804fb74: 4a4e ldr r2, [pc, #312] ; (804fcb0 ) 804fb76: 2100 movs r1, #0 804fb78: 54d1 strb r1, [r2, r3] break; 804fb7a: f003 b8dd b.w 8052d38 if(menupos == _CANCEL) 804fb7e: 4b45 ldr r3, [pc, #276] ; (804fc94 ) 804fb80: 781b ldrb r3, [r3, #0] 804fb82: b2db uxtb r3, r3 804fb84: 2b27 cmp r3, #39 ; 0x27 804fb86: d111 bne.n 804fbac MeasFileNameLen = strlen(MeasFileName); 804fb88: 4850 ldr r0, [pc, #320] ; (804fccc ) 804fb8a: f7d0 fbc3 bl 8020314 804fb8e: 4602 mov r2, r0 804fb90: 4b48 ldr r3, [pc, #288] ; (804fcb4 ) 804fb92: 601a str r2, [r3, #0] menu = lastmenu; 804fb94: 4b4b ldr r3, [pc, #300] ; (804fcc4 ) 804fb96: 781b ldrb r3, [r3, #0] 804fb98: b2da uxtb r2, r3 804fb9a: 4b41 ldr r3, [pc, #260] ; (804fca0 ) 804fb9c: 701a strb r2, [r3, #0] menupos = lastmenupos; 804fb9e: 4b4a ldr r3, [pc, #296] ; (804fcc8 ) 804fba0: 781b ldrb r3, [r3, #0] 804fba2: b2da uxtb r2, r3 804fba4: 4b3b ldr r3, [pc, #236] ; (804fc94 ) 804fba6: 701a strb r2, [r3, #0] break; 804fba8: f003 b8c6 b.w 8052d38 MeasFileNameLen = strlen(TEMP_MeasFileName); 804fbac: 4840 ldr r0, [pc, #256] ; (804fcb0 ) 804fbae: f7d0 fbb1 bl 8020314 804fbb2: 4602 mov r2, r0 804fbb4: 4b3f ldr r3, [pc, #252] ; (804fcb4 ) 804fbb6: 601a str r2, [r3, #0] if(MeasFileNameLen < MAX_NAME) 804fbb8: 4b3e ldr r3, [pc, #248] ; (804fcb4 ) 804fbba: 681b ldr r3, [r3, #0] 804fbbc: 2b18 cmp r3, #24 804fbbe: f203 80bb bhi.w 8052d38 TEMP_MeasFileName[MeasFileNameLen] = CHARS_ENG[menupos]; 804fbc2: 4b3c ldr r3, [pc, #240] ; (804fcb4 ) 804fbc4: 681b ldr r3, [r3, #0] 804fbc6: 4a33 ldr r2, [pc, #204] ; (804fc94 ) 804fbc8: 7812 ldrb r2, [r2, #0] 804fbca: b2d2 uxtb r2, r2 804fbcc: 4611 mov r1, r2 804fbce: 4a37 ldr r2, [pc, #220] ; (804fcac ) 804fbd0: 5c51 ldrb r1, [r2, r1] 804fbd2: 4a37 ldr r2, [pc, #220] ; (804fcb0 ) 804fbd4: 54d1 strb r1, [r2, r3] MeasFileNameLen++; 804fbd6: 4b37 ldr r3, [pc, #220] ; (804fcb4 ) 804fbd8: 681b ldr r3, [r3, #0] 804fbda: 3301 adds r3, #1 804fbdc: 4a35 ldr r2, [pc, #212] ; (804fcb4 ) 804fbde: 6013 str r3, [r2, #0] break; 804fbe0: f003 b8aa b.w 8052d38 case OPTIONS: focused = false; 804fbe4: 4b3a ldr r3, [pc, #232] ; (804fcd0 ) 804fbe6: 2200 movs r2, #0 804fbe8: 701a strb r2, [r3, #0] switch(menupos) 804fbea: 4b2a ldr r3, [pc, #168] ; (804fc94 ) 804fbec: 781b ldrb r3, [r3, #0] 804fbee: b2db uxtb r3, r3 804fbf0: 3b01 subs r3, #1 804fbf2: 2b09 cmp r3, #9 804fbf4: f203 80a2 bhi.w 8052d3c 804fbf8: a201 add r2, pc, #4 ; (adr r2, 804fc00 ) 804fbfa: f852 f023 ldr.w pc, [r2, r3, lsl #2] 804fbfe: bf00 nop 804fc00: 0804fc29 .word 0x0804fc29 804fc04: 0804fd71 .word 0x0804fd71 804fc08: 0804fd89 .word 0x0804fd89 804fc0c: 0804fe57 .word 0x0804fe57 804fc10: 0805017b .word 0x0805017b 804fc14: 08050183 .word 0x08050183 804fc18: 08052d3d .word 0x08052d3d 804fc1c: 0805019d .word 0x0805019d 804fc20: 0804ff41 .word 0x0804ff41 804fc24: 0804ffa1 .word 0x0804ffa1 { case Mode: menu = MEAS_MODE; 804fc28: 4b1d ldr r3, [pc, #116] ; (804fca0 ) 804fc2a: 2202 movs r2, #2 804fc2c: 701a strb r2, [r3, #0] lastmenupos = menupos; 804fc2e: 4b19 ldr r3, [pc, #100] ; (804fc94 ) 804fc30: 781b ldrb r3, [r3, #0] 804fc32: b2da uxtb r2, r3 804fc34: 4b24 ldr r3, [pc, #144] ; (804fcc8 ) 804fc36: 701a strb r2, [r3, #0] if(pardata.SYG == VIB) 804fc38: 4b1a ldr r3, [pc, #104] ; (804fca4 ) 804fc3a: 781b ldrb r3, [r3, #0] 804fc3c: b2db uxtb r3, r3 804fc3e: 2b00 cmp r3, #0 804fc40: d103 bne.n 804fc4a menupos = Vibrometer; 804fc42: 4b14 ldr r3, [pc, #80] ; (804fc94 ) 804fc44: 2201 movs r2, #1 804fc46: 701a strb r2, [r3, #0] 804fc48: e073 b.n 804fd32 else if(pardata.SYG == SPEC) 804fc4a: 4b16 ldr r3, [pc, #88] ; (804fca4 ) 804fc4c: 781b ldrb r3, [r3, #0] 804fc4e: b2db uxtb r3, r3 804fc50: 2b01 cmp r3, #1 804fc52: d103 bne.n 804fc5c menupos = FFT; 804fc54: 4b0f ldr r3, [pc, #60] ; (804fc94 ) 804fc56: 2203 movs r2, #3 804fc58: 701a strb r2, [r3, #0] 804fc5a: e06a b.n 804fd32 else if(pardata.SYG == OSC) 804fc5c: 4b11 ldr r3, [pc, #68] ; (804fca4 ) 804fc5e: 781b ldrb r3, [r3, #0] 804fc60: b2db uxtb r3, r3 804fc62: 2b02 cmp r3, #2 804fc64: d103 bne.n 804fc6e menupos = Osc; 804fc66: 4b0b ldr r3, [pc, #44] ; (804fc94 ) 804fc68: 2202 movs r2, #2 804fc6a: 701a strb r2, [r3, #0] 804fc6c: e061 b.n 804fd32 else if(pardata.SYG == WAVE) 804fc6e: 4b0d ldr r3, [pc, #52] ; (804fca4 ) 804fc70: 781b ldrb r3, [r3, #0] 804fc72: b2db uxtb r3, r3 804fc74: 2b04 cmp r3, #4 804fc76: d103 bne.n 804fc80 menupos = Wave; 804fc78: 4b06 ldr r3, [pc, #24] ; (804fc94 ) 804fc7a: 2204 movs r2, #4 804fc7c: 701a strb r2, [r3, #0] 804fc7e: e058 b.n 804fd32 else if(pardata.SYG == SPEC_OGIB) 804fc80: 4b08 ldr r3, [pc, #32] ; (804fca4 ) 804fc82: 781b ldrb r3, [r3, #0] 804fc84: b2db uxtb r3, r3 804fc86: 2b05 cmp r3, #5 804fc88: d124 bne.n 804fcd4 menupos = FFT; 804fc8a: 4b02 ldr r3, [pc, #8] ; (804fc94 ) 804fc8c: 2203 movs r2, #3 804fc8e: 701a strb r2, [r3, #0] 804fc90: e04f b.n 804fd32 804fc92: bf00 nop 804fc94: 20020070 .word 0x20020070 804fc98: 20020e34 .word 0x20020e34 804fc9c: 20020ee8 .word 0x20020ee8 804fca0: 20020f78 .word 0x20020f78 804fca4: 20023e60 .word 0x20023e60 804fca8: 20025ca4 .word 0x20025ca4 804fcac: 080ee7c8 .word 0x080ee7c8 804fcb0: 20025c80 .word 0x20025c80 804fcb4: 20020eec .word 0x20020eec 804fcb8: 20020dcc .word 0x20020dcc 804fcbc: 2002168c .word 0x2002168c 804fcc0: 20020dd2 .word 0x20020dd2 804fcc4: 20020f79 .word 0x20020f79 804fcc8: 20020071 .word 0x20020071 804fccc: 20020e58 .word 0x20020e58 804fcd0: 20020f84 .word 0x20020f84 else if(pardata.SYG == SPEC_OKT) 804fcd4: 4ba2 ldr r3, [pc, #648] ; (804ff60 ) 804fcd6: 781b ldrb r3, [r3, #0] 804fcd8: b2db uxtb r3, r3 804fcda: 2b06 cmp r3, #6 804fcdc: d103 bne.n 804fce6 menupos = FFT; 804fcde: 4ba1 ldr r3, [pc, #644] ; (804ff64 ) 804fce0: 2203 movs r2, #3 804fce2: 701a strb r2, [r3, #0] 804fce4: e025 b.n 804fd32 else if(pardata.SYG == SPEC_THIRD) 804fce6: 4b9e ldr r3, [pc, #632] ; (804ff60 ) 804fce8: 781b ldrb r3, [r3, #0] 804fcea: b2db uxtb r3, r3 804fcec: 2b07 cmp r3, #7 804fcee: d103 bne.n 804fcf8 menupos = FFT; 804fcf0: 4b9c ldr r3, [pc, #624] ; (804ff64 ) 804fcf2: 2203 movs r2, #3 804fcf4: 701a strb r2, [r3, #0] 804fcf6: e01c b.n 804fd32 else if(pardata.SYG == ROLL) 804fcf8: 4b99 ldr r3, [pc, #612] ; (804ff60 ) 804fcfa: 781b ldrb r3, [r3, #0] 804fcfc: b2db uxtb r3, r3 804fcfe: 2b08 cmp r3, #8 804fd00: d103 bne.n 804fd0a { #ifdef USE_ROLL menupos = Roll; 804fd02: 4b98 ldr r3, [pc, #608] ; (804ff64 ) 804fd04: 2206 movs r2, #6 804fd06: 701a strb r2, [r3, #0] 804fd08: e013 b.n 804fd32 pardata.SYG = VIB; menupos = Vibrometer; #endif } else if(pardata.SYG == UDAR) 804fd0a: 4b95 ldr r3, [pc, #596] ; (804ff60 ) 804fd0c: 781b ldrb r3, [r3, #0] 804fd0e: b2db uxtb r3, r3 804fd10: 2b09 cmp r3, #9 804fd12: d103 bne.n 804fd1c { #ifdef USE_UDAR menupos = Udar; 804fd14: 4b93 ldr r3, [pc, #588] ; (804ff64 ) 804fd16: 2207 movs r2, #7 804fd18: 701a strb r2, [r3, #0] 804fd1a: e00a b.n 804fd32 pardata.SYG = VIB; menupos = Vibrometer; #endif } else if(pardata.SYG == DIAGN) 804fd1c: 4b90 ldr r3, [pc, #576] ; (804ff60 ) 804fd1e: 781b ldrb r3, [r3, #0] 804fd20: b2db uxtb r3, r3 804fd22: 2b0a cmp r3, #10 804fd24: d105 bne.n 804fd32 { #ifdef USE_DIAGN menupos = Diagn; #else pardata.SYG = VIB; 804fd26: 4b8e ldr r3, [pc, #568] ; (804ff60 ) 804fd28: 2200 movs r2, #0 804fd2a: 701a strb r2, [r3, #0] menupos = Vibrometer; 804fd2c: 4b8d ldr r3, [pc, #564] ; (804ff64 ) 804fd2e: 2201 movs r2, #1 804fd30: 701a strb r2, [r3, #0] #endif } /////////////////////////////// if((pardata.IIN == VOLTS) && (pardata.SYG != SPEC) && (pardata.SYG != VIB) && (pardata.SYG != OSC)) 804fd32: 4b8b ldr r3, [pc, #556] ; (804ff60 ) 804fd34: 799b ldrb r3, [r3, #6] 804fd36: b2db uxtb r3, r3 804fd38: 2b02 cmp r3, #2 804fd3a: f040 8233 bne.w 80501a4 804fd3e: 4b88 ldr r3, [pc, #544] ; (804ff60 ) 804fd40: 781b ldrb r3, [r3, #0] 804fd42: b2db uxtb r3, r3 804fd44: 2b01 cmp r3, #1 804fd46: f000 822d beq.w 80501a4 804fd4a: 4b85 ldr r3, [pc, #532] ; (804ff60 ) 804fd4c: 781b ldrb r3, [r3, #0] 804fd4e: b2db uxtb r3, r3 804fd50: 2b00 cmp r3, #0 804fd52: f000 8227 beq.w 80501a4 804fd56: 4b82 ldr r3, [pc, #520] ; (804ff60 ) 804fd58: 781b ldrb r3, [r3, #0] 804fd5a: b2db uxtb r3, r3 804fd5c: 2b02 cmp r3, #2 804fd5e: f000 8221 beq.w 80501a4 { pardata.SYG = VIB; 804fd62: 4b7f ldr r3, [pc, #508] ; (804ff60 ) 804fd64: 2200 movs r2, #0 804fd66: 701a strb r2, [r3, #0] menupos = Vibrometer; 804fd68: 4b7e ldr r3, [pc, #504] ; (804ff64 ) 804fd6a: 2201 movs r2, #1 804fd6c: 701a strb r2, [r3, #0] } break; 804fd6e: e219 b.n 80501a4 case Settings: menu = SETTINGS; 804fd70: 4b7d ldr r3, [pc, #500] ; (804ff68 ) 804fd72: 2212 movs r2, #18 804fd74: 701a strb r2, [r3, #0] lastmenupos = menupos; 804fd76: 4b7b ldr r3, [pc, #492] ; (804ff64 ) 804fd78: 781b ldrb r3, [r3, #0] 804fd7a: b2da uxtb r2, r3 804fd7c: 4b7b ldr r3, [pc, #492] ; (804ff6c ) 804fd7e: 701a strb r2, [r3, #0] #if (!defined(USE_D101) && !defined(USE_D102)) menupos = Type; 804fd80: 4b78 ldr r3, [pc, #480] ; (804ff64 ) 804fd82: 2201 movs r2, #1 804fd84: 701a strb r2, [r3, #0] #else menupos = Sens; #endif break; 804fd86: e217 b.n 80501b8 case PlayFiles: result = FR_NOT_READY; 804fd88: 2303 movs r3, #3 804fd8a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 804fd8e: 4b78 ldr r3, [pc, #480] ; (804ff70 ) 804fd90: 781b ldrb r3, [r3, #0] 804fd92: b2db uxtb r3, r3 804fd94: 2b03 cmp r3, #3 804fd96: d13d bne.n 804fe14 { CursorIndex = 0; 804fd98: 4b76 ldr r3, [pc, #472] ; (804ff74 ) 804fd9a: 2200 movs r2, #0 804fd9c: 601a str r2, [r3, #0] FirstFileIndex = 0; 804fd9e: 4b76 ldr r3, [pc, #472] ; (804ff78 ) 804fda0: 2200 movs r2, #0 804fda2: 601a str r2, [r3, #0] RealFileIndex = 0; 804fda4: 4b75 ldr r3, [pc, #468] ; (804ff7c ) 804fda6: 2200 movs r2, #0 804fda8: 601a str r2, [r3, #0] result = ReadNumFilesGTR((uint32_t *) &NumFilesGTR); 804fdaa: 4875 ldr r0, [pc, #468] ; (804ff80 ) 804fdac: f7da fe2c bl 802aa08 804fdb0: 4603 mov r3, r0 804fdb2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fdb6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fdba: 2b00 cmp r3, #0 804fdbc: f040 81f5 bne.w 80501aa { result = ReadMyFilesGTR(FirstFileIndex); 804fdc0: 4b6d ldr r3, [pc, #436] ; (804ff78 ) 804fdc2: 681b ldr r3, [r3, #0] 804fdc4: 4618 mov r0, r3 804fdc6: f7da fec7 bl 802ab58 804fdca: 4603 mov r3, r0 804fdcc: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fdd0: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fdd4: 2b00 cmp r3, #0 804fdd6: f040 81e8 bne.w 80501aa { NumFilesDelete = 0; 804fdda: 4b6a ldr r3, [pc, #424] ; (804ff84 ) 804fddc: 2200 movs r2, #0 804fdde: 601a str r2, [r3, #0] memset(pStrRAM, 0, 40u * MAX_CHECKED_FILES); 804fde0: f44f 42a0 mov.w r2, #20480 ; 0x5000 804fde4: 2100 movs r1, #0 804fde6: 4868 ldr r0, [pc, #416] ; (804ff88 ) 804fde8: f07d f94a bl 80cd080 menu = ARCHIVE_WAVE; 804fdec: 4b5e ldr r3, [pc, #376] ; (804ff68 ) 804fdee: 2217 movs r2, #23 804fdf0: 701a strb r2, [r3, #0] lastmenupos = menupos; 804fdf2: 4b5c ldr r3, [pc, #368] ; (804ff64 ) 804fdf4: 781b ldrb r3, [r3, #0] 804fdf6: b2da uxtb r2, r3 804fdf8: 4b5c ldr r3, [pc, #368] ; (804ff6c ) 804fdfa: 701a strb r2, [r3, #0] if(NumFilesGTR) menupos = FilesGTR; 804fdfc: 4b60 ldr r3, [pc, #384] ; (804ff80 ) 804fdfe: 681b ldr r3, [r3, #0] 804fe00: 2b00 cmp r3, #0 804fe02: d003 beq.n 804fe0c 804fe04: 4b57 ldr r3, [pc, #348] ; (804ff64 ) 804fe06: 2202 movs r2, #2 804fe08: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804fe0a: e1ce b.n 80501aa else menupos = NoFilesGTR; 804fe0c: 4b55 ldr r3, [pc, #340] ; (804ff64 ) 804fe0e: 2201 movs r2, #1 804fe10: 701a strb r2, [r3, #0] break; 804fe12: e1ca b.n 80501aa if(CardState == MSD_PRESENT) 804fe14: 4b56 ldr r3, [pc, #344] ; (804ff70 ) 804fe16: 781b ldrb r3, [r3, #0] 804fe18: b2db uxtb r3, r3 804fe1a: 2b01 cmp r3, #1 804fe1c: d10a bne.n 804fe34 STATUS = AP_DISK_ERROR; 804fe1e: 4b5b ldr r3, [pc, #364] ; (804ff8c ) 804fe20: 220b movs r2, #11 804fe22: 601a str r2, [r3, #0] timerStatus = sec2; 804fe24: 4b5a ldr r3, [pc, #360] ; (804ff90 ) 804fe26: f44f 5280 mov.w r2, #4096 ; 0x1000 804fe2a: 801a strh r2, [r3, #0] DrawStatus = true; 804fe2c: 4b59 ldr r3, [pc, #356] ; (804ff94 ) 804fe2e: 2201 movs r2, #1 804fe30: 701a strb r2, [r3, #0] break; 804fe32: e1ba b.n 80501aa if(CardState == MSD_NOCARD) 804fe34: 4b4e ldr r3, [pc, #312] ; (804ff70 ) 804fe36: 781b ldrb r3, [r3, #0] 804fe38: b2db uxtb r3, r3 804fe3a: 2b00 cmp r3, #0 804fe3c: f040 81b5 bne.w 80501aa STATUS = AP_NO_CARD; 804fe40: 4b52 ldr r3, [pc, #328] ; (804ff8c ) 804fe42: 2211 movs r2, #17 804fe44: 601a str r2, [r3, #0] timerStatus = sec2; 804fe46: 4b52 ldr r3, [pc, #328] ; (804ff90 ) 804fe48: f44f 5280 mov.w r2, #4096 ; 0x1000 804fe4c: 801a strh r2, [r3, #0] DrawStatus = true; 804fe4e: 4b51 ldr r3, [pc, #324] ; (804ff94 ) 804fe50: 2201 movs r2, #1 804fe52: 701a strb r2, [r3, #0] break; 804fe54: e1a9 b.n 80501aa case Route: result = FR_NOT_READY; 804fe56: 2303 movs r3, #3 804fe58: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 804fe5c: 4b44 ldr r3, [pc, #272] ; (804ff70 ) 804fe5e: 781b ldrb r3, [r3, #0] 804fe60: b2db uxtb r3, r3 804fe62: 2b03 cmp r3, #3 804fe64: d14b bne.n 804fefe { CursorIndex = 0; 804fe66: 4b43 ldr r3, [pc, #268] ; (804ff74 ) 804fe68: 2200 movs r2, #0 804fe6a: 601a str r2, [r3, #0] FirstFileIndex = 0; 804fe6c: 4b42 ldr r3, [pc, #264] ; (804ff78 ) 804fe6e: 2200 movs r2, #0 804fe70: 601a str r2, [r3, #0] RealFileIndex = 0; 804fe72: 4b42 ldr r3, [pc, #264] ; (804ff7c ) 804fe74: 2200 movs r2, #0 804fe76: 601a str r2, [r3, #0] result = ReadNumFilesCSV((uint32_t *) &NumFilesCSV); 804fe78: 4847 ldr r0, [pc, #284] ; (804ff98 ) 804fe7a: f7da fddb bl 802aa34 804fe7e: 4603 mov r3, r0 804fe80: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fe84: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fe88: 2b00 cmp r3, #0 804fe8a: f040 8191 bne.w 80501b0 { result = ReadMyFilesCSV(FirstFileIndex); 804fe8e: 4b3a ldr r3, [pc, #232] ; (804ff78 ) 804fe90: 681b ldr r3, [r3, #0] 804fe92: 4618 mov r0, r3 804fe94: f7da fe6d bl 802ab72 804fe98: 4603 mov r3, r0 804fe9a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804fe9e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804fea2: 2b00 cmp r3, #0 804fea4: f040 8184 bne.w 80501b0 { NumFilesDelete = 0; 804fea8: 4b36 ldr r3, [pc, #216] ; (804ff84 ) 804feaa: 2200 movs r2, #0 804feac: 601a str r2, [r3, #0] memset(pStrRAM, 0, 40u * MAX_CHECKED_FILES); 804feae: f44f 42a0 mov.w r2, #20480 ; 0x5000 804feb2: 2100 movs r1, #0 804feb4: 4834 ldr r0, [pc, #208] ; (804ff88 ) 804feb6: f07d f8e3 bl 80cd080 lastmenupos = menupos; 804feba: 4b2a ldr r3, [pc, #168] ; (804ff64 ) 804febc: 781b ldrb r3, [r3, #0] 804febe: b2da uxtb r2, r3 804fec0: 4b2a ldr r3, [pc, #168] ; (804ff6c ) 804fec2: 701a strb r2, [r3, #0] if((RouteFileName[0]) && (pardata.ROUTE_POINT != 0xffffffff)) 804fec4: 4b35 ldr r3, [pc, #212] ; (804ff9c ) 804fec6: 781b ldrb r3, [r3, #0] 804fec8: 2b00 cmp r3, #0 804feca: d009 beq.n 804fee0 804fecc: 4b24 ldr r3, [pc, #144] ; (804ff60 ) 804fece: f8d3 34ac ldr.w r3, [r3, #1196] ; 0x4ac 804fed2: f1b3 3fff cmp.w r3, #4294967295 804fed6: d003 beq.n 804fee0 { menupos = AskRouteYes; 804fed8: 4b22 ldr r3, [pc, #136] ; (804ff64 ) 804feda: 220a movs r2, #10 804fedc: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 804fede: e167 b.n 80501b0 menu = ROUTE; 804fee0: 4b21 ldr r3, [pc, #132] ; (804ff68 ) 804fee2: 2203 movs r2, #3 804fee4: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 804fee6: 4b2c ldr r3, [pc, #176] ; (804ff98 ) 804fee8: 681b ldr r3, [r3, #0] 804feea: 2b00 cmp r3, #0 804feec: d003 beq.n 804fef6 804feee: 4b1d ldr r3, [pc, #116] ; (804ff64 ) 804fef0: 2202 movs r2, #2 804fef2: 701a strb r2, [r3, #0] break; 804fef4: e15c b.n 80501b0 else menupos = NoFilesCSV; 804fef6: 4b1b ldr r3, [pc, #108] ; (804ff64 ) 804fef8: 2201 movs r2, #1 804fefa: 701a strb r2, [r3, #0] break; 804fefc: e158 b.n 80501b0 if(CardState == MSD_PRESENT) 804fefe: 4b1c ldr r3, [pc, #112] ; (804ff70 ) 804ff00: 781b ldrb r3, [r3, #0] 804ff02: b2db uxtb r3, r3 804ff04: 2b01 cmp r3, #1 804ff06: d10a bne.n 804ff1e STATUS = AP_DISK_ERROR; 804ff08: 4b20 ldr r3, [pc, #128] ; (804ff8c ) 804ff0a: 220b movs r2, #11 804ff0c: 601a str r2, [r3, #0] timerStatus = sec2; 804ff0e: 4b20 ldr r3, [pc, #128] ; (804ff90 ) 804ff10: f44f 5280 mov.w r2, #4096 ; 0x1000 804ff14: 801a strh r2, [r3, #0] DrawStatus = true; 804ff16: 4b1f ldr r3, [pc, #124] ; (804ff94 ) 804ff18: 2201 movs r2, #1 804ff1a: 701a strb r2, [r3, #0] break; 804ff1c: e148 b.n 80501b0 if(CardState == MSD_NOCARD) 804ff1e: 4b14 ldr r3, [pc, #80] ; (804ff70 ) 804ff20: 781b ldrb r3, [r3, #0] 804ff22: b2db uxtb r3, r3 804ff24: 2b00 cmp r3, #0 804ff26: f040 8143 bne.w 80501b0 STATUS = AP_NO_CARD; 804ff2a: 4b18 ldr r3, [pc, #96] ; (804ff8c ) 804ff2c: 2211 movs r2, #17 804ff2e: 601a str r2, [r3, #0] timerStatus = sec2; 804ff30: 4b17 ldr r3, [pc, #92] ; (804ff90 ) 804ff32: f44f 5280 mov.w r2, #4096 ; 0x1000 804ff36: 801a strh r2, [r3, #0] DrawStatus = true; 804ff38: 4b16 ldr r3, [pc, #88] ; (804ff94 ) 804ff3a: 2201 movs r2, #1 804ff3c: 701a strb r2, [r3, #0] break; 804ff3e: e137 b.n 80501b0 case AskRouteNo: menu = ROUTE; 804ff40: 4b09 ldr r3, [pc, #36] ; (804ff68 ) 804ff42: 2203 movs r2, #3 804ff44: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 804ff46: 4b14 ldr r3, [pc, #80] ; (804ff98 ) 804ff48: 681b ldr r3, [r3, #0] 804ff4a: 2b00 cmp r3, #0 804ff4c: d003 beq.n 804ff56 804ff4e: 4b05 ldr r3, [pc, #20] ; (804ff64 ) 804ff50: 2202 movs r2, #2 804ff52: 701a strb r2, [r3, #0] else menupos = NoFilesCSV; break; 804ff54: e130 b.n 80501b8 else menupos = NoFilesCSV; 804ff56: 4b03 ldr r3, [pc, #12] ; (804ff64 ) 804ff58: 2201 movs r2, #1 804ff5a: 701a strb r2, [r3, #0] break; 804ff5c: e12c b.n 80501b8 804ff5e: bf00 nop 804ff60: 20023e60 .word 0x20023e60 804ff64: 20020070 .word 0x20020070 804ff68: 20020f78 .word 0x20020f78 804ff6c: 20020071 .word 0x20020071 804ff70: 2002164c .word 0x2002164c 804ff74: 20020de0 .word 0x20020de0 804ff78: 20020de4 .word 0x20020de4 804ff7c: 20020de8 .word 0x20020de8 804ff80: 20020e04 .word 0x20020e04 804ff84: 20020e0c .word 0x20020e0c 804ff88: 6404b000 .word 0x6404b000 804ff8c: 20020dcc .word 0x20020dcc 804ff90: 2002168c .word 0x2002168c 804ff94: 20020dd2 .word 0x20020dd2 804ff98: 20020e08 .word 0x20020e08 804ff9c: 20020ea0 .word 0x20020ea0 case AskRouteYes: memset(RouteName, 0, sizeof(RouteName)); 804ffa0: 2228 movs r2, #40 ; 0x28 804ffa2: 2100 movs r1, #0 804ffa4: 4895 ldr r0, [pc, #596] ; (80501fc ) 804ffa6: f07d f86b bl 80cd080 strcpy(RouteName, RouteFileName); 804ffaa: 4995 ldr r1, [pc, #596] ; (8050200 ) 804ffac: 4893 ldr r0, [pc, #588] ; (80501fc ) 804ffae: f07d f984 bl 80cd2ba memset((void *) &RouteMeas(0), 0, 65536); 804ffb2: f44f 3280 mov.w r2, #65536 ; 0x10000 804ffb6: 2100 movs r1, #0 804ffb8: 4892 ldr r0, [pc, #584] ; (8050204 ) 804ffba: f07d f861 bl 80cd080 RoutePointID = 0xffffffff; 804ffbe: 4b92 ldr r3, [pc, #584] ; (8050208 ) 804ffc0: f04f 32ff mov.w r2, #4294967295 804ffc4: 601a str r2, [r3, #0] // ÷èòàåì êîë-âî èçìåðåíèé â ìàðøðóòå result = OpenFileCSV(RouteName); //êîë-âî òî÷åê â ìàðøðóòå 804ffc6: 488d ldr r0, [pc, #564] ; (80501fc ) 804ffc8: f7d8 f88c bl 80280e4 804ffcc: 4603 mov r3, r0 804ffce: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ffd2: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ffd6: 2b00 cmp r3, #0 804ffd8: f040 8085 bne.w 80500e6 { result = ReadFileCSV_TMP(RouteName); //ôàéë ñ òàáëèöåé èçìåðåííûõ òî÷åê òåêóùåãî ìàðøðóòà è òåêóùåé òî÷êè 804ffdc: 4887 ldr r0, [pc, #540] ; (80501fc ) 804ffde: f7d8 f9df bl 80283a0 804ffe2: 4603 mov r3, r0 804ffe4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 804ffe8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 804ffec: 2b00 cmp r3, #0 804ffee: d157 bne.n 80500a0 { RouteIndex = pardata.ROUTE_POINT; ///////////////////////////////// 804fff0: 4b86 ldr r3, [pc, #536] ; (805020c ) 804fff2: f8d3 34ac ldr.w r3, [r3, #1196] ; 0x4ac 804fff6: 4a86 ldr r2, [pc, #536] ; (8050210 ) 804fff8: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 804fffa: 4b85 ldr r3, [pc, #532] ; (8050210 ) 804fffc: 681b ldr r3, [r3, #0] 804fffe: 497f ldr r1, [pc, #508] ; (80501fc ) 8050000: 4618 mov r0, r3 8050002: f7d8 fca5 bl 8028950 8050006: 4603 mov r3, r0 8050008: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805000c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050010: 2b00 cmp r3, #0 8050012: d122 bne.n 805005a { if(RoutePath[0]) 8050014: 4b7f ldr r3, [pc, #508] ; (8050214 ) 8050016: 781b ldrb r3, [r3, #0] 8050018: 2b00 cmp r3, #0 805001a: f000 80cc beq.w 80501b6 { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 805001e: 4a7e ldr r2, [pc, #504] ; (8050218 ) 8050020: 4b7a ldr r3, [pc, #488] ; (805020c ) 8050022: 4610 mov r0, r2 8050024: 4619 mov r1, r3 8050026: f44f 6396 mov.w r3, #1200 ; 0x4b0 805002a: 461a mov r2, r3 805002c: f07d f81d bl 80cd06a pardata.SYG = WAVE; 8050030: 4b76 ldr r3, [pc, #472] ; (805020c ) 8050032: 2204 movs r2, #4 8050034: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8050036: 4b75 ldr r3, [pc, #468] ; (805020c ) 8050038: 2200 movs r2, #0 805003a: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 805003c: 4b73 ldr r3, [pc, #460] ; (805020c ) 805003e: 7bdb ldrb r3, [r3, #15] 8050040: b2db uxtb r3, r3 8050042: f003 037f and.w r3, r3, #127 ; 0x7f 8050046: b2da uxtb r2, r3 8050048: 4b70 ldr r3, [pc, #448] ; (805020c ) 805004a: 73da strb r2, [r3, #15] menu = ROUTE_MAP; 805004c: 4b73 ldr r3, [pc, #460] ; (805021c ) 805004e: 2204 movs r2, #4 8050050: 701a strb r2, [r3, #0] menupos = GoMeas; 8050052: 4b73 ldr r3, [pc, #460] ; (8050220 ) 8050054: 2201 movs r2, #1 8050056: 701a strb r2, [r3, #0] menu = ROUTE; if(NumFilesCSV) menupos = FilesCSV; else menupos = NoFilesCSV; } break; 8050058: e0ad b.n 80501b6 STATUS = AP_INVALID_FILE; 805005a: 4b72 ldr r3, [pc, #456] ; (8050224 ) 805005c: 2202 movs r2, #2 805005e: 601a str r2, [r3, #0] timerStatus = sec2; 8050060: 4b71 ldr r3, [pc, #452] ; (8050228 ) 8050062: f44f 5280 mov.w r2, #4096 ; 0x1000 8050066: 801a strh r2, [r3, #0] DrawStatus = true; 8050068: 4b70 ldr r3, [pc, #448] ; (805022c ) 805006a: 2201 movs r2, #1 805006c: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 805006e: 2228 movs r2, #40 ; 0x28 8050070: 2100 movs r1, #0 8050072: 486f ldr r0, [pc, #444] ; (8050230 ) 8050074: f07d f804 bl 80cd080 pardata.ROUTE_POINT = 0xffffffff; 8050078: 4b64 ldr r3, [pc, #400] ; (805020c ) 805007a: f04f 32ff mov.w r2, #4294967295 805007e: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 8050082: 4b66 ldr r3, [pc, #408] ; (805021c ) 8050084: 2203 movs r2, #3 8050086: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8050088: 4b6a ldr r3, [pc, #424] ; (8050234 ) 805008a: 681b ldr r3, [r3, #0] 805008c: 2b00 cmp r3, #0 805008e: d003 beq.n 8050098 8050090: 4b63 ldr r3, [pc, #396] ; (8050220 ) 8050092: 2202 movs r2, #2 8050094: 701a strb r2, [r3, #0] break; 8050096: e08e b.n 80501b6 else menupos = NoFilesCSV; 8050098: 4b61 ldr r3, [pc, #388] ; (8050220 ) 805009a: 2201 movs r2, #1 805009c: 701a strb r2, [r3, #0] break; 805009e: e08a b.n 80501b6 STATUS = AP_INVALID_FILE; 80500a0: 4b60 ldr r3, [pc, #384] ; (8050224 ) 80500a2: 2202 movs r2, #2 80500a4: 601a str r2, [r3, #0] timerStatus = sec2; 80500a6: 4b60 ldr r3, [pc, #384] ; (8050228 ) 80500a8: f44f 5280 mov.w r2, #4096 ; 0x1000 80500ac: 801a strh r2, [r3, #0] DrawStatus = true; 80500ae: 4b5f ldr r3, [pc, #380] ; (805022c ) 80500b0: 2201 movs r2, #1 80500b2: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 80500b4: 2228 movs r2, #40 ; 0x28 80500b6: 2100 movs r1, #0 80500b8: 485d ldr r0, [pc, #372] ; (8050230 ) 80500ba: f07c ffe1 bl 80cd080 pardata.ROUTE_POINT = 0xffffffff; 80500be: 4b53 ldr r3, [pc, #332] ; (805020c ) 80500c0: f04f 32ff mov.w r2, #4294967295 80500c4: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 80500c8: 4b54 ldr r3, [pc, #336] ; (805021c ) 80500ca: 2203 movs r2, #3 80500cc: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 80500ce: 4b59 ldr r3, [pc, #356] ; (8050234 ) 80500d0: 681b ldr r3, [r3, #0] 80500d2: 2b00 cmp r3, #0 80500d4: d003 beq.n 80500de 80500d6: 4b52 ldr r3, [pc, #328] ; (8050220 ) 80500d8: 2202 movs r2, #2 80500da: 701a strb r2, [r3, #0] break; 80500dc: e06b b.n 80501b6 else menupos = NoFilesCSV; 80500de: 4b50 ldr r3, [pc, #320] ; (8050220 ) 80500e0: 2201 movs r2, #1 80500e2: 701a strb r2, [r3, #0] break; 80500e4: e067 b.n 80501b6 if(result == FR_NOT_READY) 80500e6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80500ea: 2b03 cmp r3, #3 80500ec: d122 bne.n 8050134 STATUS = AP_NO_CARD; 80500ee: 4b4d ldr r3, [pc, #308] ; (8050224 ) 80500f0: 2211 movs r2, #17 80500f2: 601a str r2, [r3, #0] timerStatus = sec2; 80500f4: 4b4c ldr r3, [pc, #304] ; (8050228 ) 80500f6: f44f 5280 mov.w r2, #4096 ; 0x1000 80500fa: 801a strh r2, [r3, #0] DrawStatus = true; 80500fc: 4b4b ldr r3, [pc, #300] ; (805022c ) 80500fe: 2201 movs r2, #1 8050100: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 8050102: 2228 movs r2, #40 ; 0x28 8050104: 2100 movs r1, #0 8050106: 484a ldr r0, [pc, #296] ; (8050230 ) 8050108: f07c ffba bl 80cd080 pardata.ROUTE_POINT = 0xffffffff; 805010c: 4b3f ldr r3, [pc, #252] ; (805020c ) 805010e: f04f 32ff mov.w r2, #4294967295 8050112: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 8050116: 4b41 ldr r3, [pc, #260] ; (805021c ) 8050118: 2203 movs r2, #3 805011a: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 805011c: 4b45 ldr r3, [pc, #276] ; (8050234 ) 805011e: 681b ldr r3, [r3, #0] 8050120: 2b00 cmp r3, #0 8050122: d003 beq.n 805012c 8050124: 4b3e ldr r3, [pc, #248] ; (8050220 ) 8050126: 2202 movs r2, #2 8050128: 701a strb r2, [r3, #0] break; 805012a: e044 b.n 80501b6 else menupos = NoFilesCSV; 805012c: 4b3c ldr r3, [pc, #240] ; (8050220 ) 805012e: 2201 movs r2, #1 8050130: 701a strb r2, [r3, #0] break; 8050132: e040 b.n 80501b6 STATUS = AP_INVALID_FILE; 8050134: 4b3b ldr r3, [pc, #236] ; (8050224 ) 8050136: 2202 movs r2, #2 8050138: 601a str r2, [r3, #0] timerStatus = sec2; 805013a: 4b3b ldr r3, [pc, #236] ; (8050228 ) 805013c: f44f 5280 mov.w r2, #4096 ; 0x1000 8050140: 801a strh r2, [r3, #0] DrawStatus = true; 8050142: 4b3a ldr r3, [pc, #232] ; (805022c ) 8050144: 2201 movs r2, #1 8050146: 701a strb r2, [r3, #0] memset((void *) &pardata.ROUTE_NAME, 0, 40u); 8050148: 2228 movs r2, #40 ; 0x28 805014a: 2100 movs r1, #0 805014c: 4838 ldr r0, [pc, #224] ; (8050230 ) 805014e: f07c ff97 bl 80cd080 pardata.ROUTE_POINT = 0xffffffff; 8050152: 4b2e ldr r3, [pc, #184] ; (805020c ) 8050154: f04f 32ff mov.w r2, #4294967295 8050158: f8c3 24ac str.w r2, [r3, #1196] ; 0x4ac menu = ROUTE; 805015c: 4b2f ldr r3, [pc, #188] ; (805021c ) 805015e: 2203 movs r2, #3 8050160: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 8050162: 4b34 ldr r3, [pc, #208] ; (8050234 ) 8050164: 681b ldr r3, [r3, #0] 8050166: 2b00 cmp r3, #0 8050168: d003 beq.n 8050172 805016a: 4b2d ldr r3, [pc, #180] ; (8050220 ) 805016c: 2202 movs r2, #2 805016e: 701a strb r2, [r3, #0] break; 8050170: e021 b.n 80501b6 else menupos = NoFilesCSV; 8050172: 4b2b ldr r3, [pc, #172] ; (8050220 ) 8050174: 2201 movs r2, #1 8050176: 701a strb r2, [r3, #0] break; 8050178: e01d b.n 80501b6 case AskFormatNo: menupos = Mode; 805017a: 4b29 ldr r3, [pc, #164] ; (8050220 ) 805017c: 2201 movs r2, #1 805017e: 701a strb r2, [r3, #0] break; 8050180: e01a b.n 80501b8 case AskFormatYes: STATUS = AP_OK; 8050182: 4b28 ldr r3, [pc, #160] ; (8050224 ) 8050184: 2200 movs r2, #0 8050186: 601a str r2, [r3, #0] NeedFormat = 1; 8050188: 4b2b ldr r3, [pc, #172] ; (8050238 ) 805018a: 2201 movs r2, #1 805018c: 701a strb r2, [r3, #0] FormatStatus = AP_OK; 805018e: 4b2b ldr r3, [pc, #172] ; (805023c ) 8050190: 2200 movs r2, #0 8050192: 701a strb r2, [r3, #0] menupos = AskFormatResult; 8050194: 4b22 ldr r3, [pc, #136] ; (8050220 ) 8050196: 2208 movs r2, #8 8050198: 701a strb r2, [r3, #0] break; 805019a: e00d b.n 80501b8 case AskFormatResult: menupos = Mode; 805019c: 4b20 ldr r3, [pc, #128] ; (8050220 ) 805019e: 2201 movs r2, #1 80501a0: 701a strb r2, [r3, #0] break; 80501a2: e009 b.n 80501b8 break; 80501a4: bf00 nop 80501a6: f002 bdc9 b.w 8052d3c break; 80501aa: bf00 nop 80501ac: f002 bdc6 b.w 8052d3c break; 80501b0: bf00 nop 80501b2: f002 bdc3 b.w 8052d3c break; 80501b6: bf00 nop } break; 80501b8: f002 bdc0 b.w 8052d3c case ROUTE: //ok HISTORY = false; 80501bc: 4b20 ldr r3, [pc, #128] ; (8050240 ) 80501be: 2200 movs r2, #0 80501c0: 701a strb r2, [r3, #0] switch(menupos) 80501c2: 4b17 ldr r3, [pc, #92] ; (8050220 ) 80501c4: 781b ldrb r3, [r3, #0] 80501c6: b2db uxtb r3, r3 80501c8: 3b02 subs r3, #2 80501ca: 2b08 cmp r3, #8 80501cc: f202 85b8 bhi.w 8052d40 80501d0: a201 add r2, pc, #4 ; (adr r2, 80501d8 ) 80501d2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80501d6: bf00 nop 80501d8: 08050245 .word 0x08050245 80501dc: 08052d41 .word 0x08052d41 80501e0: 08052d41 .word 0x08052d41 80501e4: 08052d41 .word 0x08052d41 80501e8: 08050367 .word 0x08050367 80501ec: 0805036f .word 0x0805036f 80501f0: 08052d41 .word 0x08052d41 80501f4: 08052d41 .word 0x08052d41 80501f8: 08050389 .word 0x08050389 80501fc: 20022628 .word 0x20022628 8050200: 20020ea0 .word 0x20020ea0 8050204: 64100000 .word 0x64100000 8050208: 20020034 .word 0x20020034 805020c: 20023e60 .word 0x20023e60 8050210: 20020f6c .word 0x20020f6c 8050214: 20022be0 .word 0x20022be0 8050218: 2002437c .word 0x2002437c 805021c: 20020f78 .word 0x20020f78 8050220: 20020070 .word 0x20020070 8050224: 20020dcc .word 0x20020dcc 8050228: 2002168c .word 0x2002168c 805022c: 20020dd2 .word 0x20020dd2 8050230: 200242e4 .word 0x200242e4 8050234: 20020e08 .word 0x20020e08 8050238: 20020ddd .word 0x20020ddd 805023c: 20020dd1 .word 0x20020dd1 8050240: 20020f76 .word 0x20020f76 { case FilesCSV: memset(RouteName, 0, sizeof(RouteName)); 8050244: 2228 movs r2, #40 ; 0x28 8050246: 2100 movs r1, #0 8050248: 48a1 ldr r0, [pc, #644] ; (80504d0 ) 805024a: f07c ff19 bl 80cd080 strcpy(RouteName, (char *) ExplorerFiles[CursorIndex].fname); 805024e: 4ba1 ldr r3, [pc, #644] ; (80504d4 ) 8050250: 681a ldr r2, [r3, #0] 8050252: 4613 mov r3, r2 8050254: 00db lsls r3, r3, #3 8050256: 1a9b subs r3, r3, r2 8050258: 00db lsls r3, r3, #3 805025a: 3308 adds r3, #8 805025c: 4a9e ldr r2, [pc, #632] ; (80504d8 ) 805025e: 4413 add r3, r2 8050260: 3304 adds r3, #4 8050262: 4619 mov r1, r3 8050264: 489a ldr r0, [pc, #616] ; (80504d0 ) 8050266: f07d f828 bl 80cd2ba memset((void *) &RouteMeas(0), 0, 65536); 805026a: f44f 3280 mov.w r2, #65536 ; 0x10000 805026e: 2100 movs r1, #0 8050270: 489a ldr r0, [pc, #616] ; (80504dc ) 8050272: f07c ff05 bl 80cd080 RoutePointID = 0xffffffff; 8050276: 4b9a ldr r3, [pc, #616] ; (80504e0 ) 8050278: f04f 32ff mov.w r2, #4294967295 805027c: 601a str r2, [r3, #0] // ÷èòàåì êîë-âî èçìåðåíèé â ìàðøðóòå result = OpenFileCSV(RouteName); //êîë-âî òî÷åê â ìàðøðóòå 805027e: 4894 ldr r0, [pc, #592] ; (80504d0 ) 8050280: f7d7 ff30 bl 80280e4 8050284: 4603 mov r3, r0 8050286: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805028a: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805028e: 2b00 cmp r3, #0 8050290: d14f bne.n 8050332 { result = ReadFileCSV_TMP(RouteName); //ôàéë ñ òàáëèöåé èçìåðåííûõ òî÷åê òåêóùåãî ìàðøðóòà è òåêóùåé òî÷êè 8050292: 488f ldr r0, [pc, #572] ; (80504d0 ) 8050294: f7d8 f884 bl 80283a0 8050298: 4603 mov r3, r0 805029a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805029e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80502a2: 2b00 cmp r3, #0 80502a4: d13a bne.n 805031c { result = GetRoutePath(RouteIndex, RouteName); 80502a6: 4b8f ldr r3, [pc, #572] ; (80504e4 ) 80502a8: 681b ldr r3, [r3, #0] 80502aa: 4989 ldr r1, [pc, #548] ; (80504d0 ) 80502ac: 4618 mov r0, r3 80502ae: f7d8 fb4f bl 8028950 80502b2: 4603 mov r3, r0 80502b4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80502b8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80502bc: 2b00 cmp r3, #0 80502be: d122 bne.n 8050306 { if(RoutePath[0]) 80502c0: 4b89 ldr r3, [pc, #548] ; (80504e8 ) 80502c2: 781b ldrb r3, [r3, #0] 80502c4: 2b00 cmp r3, #0 80502c6: f000 809a beq.w 80503fe { memcpy((void *) &pardata_old, (void *) &pardata, sizeof(pardata)); 80502ca: 4a88 ldr r2, [pc, #544] ; (80504ec ) 80502cc: 4b88 ldr r3, [pc, #544] ; (80504f0 ) 80502ce: 4610 mov r0, r2 80502d0: 4619 mov r1, r3 80502d2: f44f 6396 mov.w r3, #1200 ; 0x4b0 80502d6: 461a mov r2, r3 80502d8: f07c fec7 bl 80cd06a pardata.SYG = WAVE; 80502dc: 4b84 ldr r3, [pc, #528] ; (80504f0 ) 80502de: 2204 movs r2, #4 80502e0: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 80502e2: 4b83 ldr r3, [pc, #524] ; (80504f0 ) 80502e4: 2200 movs r2, #0 80502e6: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 80502e8: 4b81 ldr r3, [pc, #516] ; (80504f0 ) 80502ea: 7bdb ldrb r3, [r3, #15] 80502ec: b2db uxtb r3, r3 80502ee: f003 037f and.w r3, r3, #127 ; 0x7f 80502f2: b2da uxtb r2, r3 80502f4: 4b7e ldr r3, [pc, #504] ; (80504f0 ) 80502f6: 73da strb r2, [r3, #15] menu = ROUTE_MAP; 80502f8: 4b7e ldr r3, [pc, #504] ; (80504f4 ) 80502fa: 2204 movs r2, #4 80502fc: 701a strb r2, [r3, #0] menupos = GoMeas; 80502fe: 4b7e ldr r3, [pc, #504] ; (80504f8 ) 8050300: 2201 movs r2, #1 8050302: 701a strb r2, [r3, #0] { STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 8050304: e07b b.n 80503fe STATUS = AP_INVALID_FILE; 8050306: 4b7d ldr r3, [pc, #500] ; (80504fc ) 8050308: 2202 movs r2, #2 805030a: 601a str r2, [r3, #0] timerStatus = sec2; 805030c: 4b7c ldr r3, [pc, #496] ; (8050500 ) 805030e: f44f 5280 mov.w r2, #4096 ; 0x1000 8050312: 801a strh r2, [r3, #0] DrawStatus = true; 8050314: 4b7b ldr r3, [pc, #492] ; (8050504 ) 8050316: 2201 movs r2, #1 8050318: 701a strb r2, [r3, #0] break; 805031a: e070 b.n 80503fe STATUS = AP_INVALID_FILE; 805031c: 4b77 ldr r3, [pc, #476] ; (80504fc ) 805031e: 2202 movs r2, #2 8050320: 601a str r2, [r3, #0] timerStatus = sec2; 8050322: 4b77 ldr r3, [pc, #476] ; (8050500 ) 8050324: f44f 5280 mov.w r2, #4096 ; 0x1000 8050328: 801a strh r2, [r3, #0] DrawStatus = true; 805032a: 4b76 ldr r3, [pc, #472] ; (8050504 ) 805032c: 2201 movs r2, #1 805032e: 701a strb r2, [r3, #0] break; 8050330: e065 b.n 80503fe if(result == FR_NOT_READY) 8050332: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050336: 2b03 cmp r3, #3 8050338: d10a bne.n 8050350 STATUS = AP_NO_CARD; 805033a: 4b70 ldr r3, [pc, #448] ; (80504fc ) 805033c: 2211 movs r2, #17 805033e: 601a str r2, [r3, #0] timerStatus = sec2; 8050340: 4b6f ldr r3, [pc, #444] ; (8050500 ) 8050342: f44f 5280 mov.w r2, #4096 ; 0x1000 8050346: 801a strh r2, [r3, #0] DrawStatus = true; 8050348: 4b6e ldr r3, [pc, #440] ; (8050504 ) 805034a: 2201 movs r2, #1 805034c: 701a strb r2, [r3, #0] break; 805034e: e056 b.n 80503fe STATUS = AP_INVALID_FILE; 8050350: 4b6a ldr r3, [pc, #424] ; (80504fc ) 8050352: 2202 movs r2, #2 8050354: 601a str r2, [r3, #0] timerStatus = sec2; 8050356: 4b6a ldr r3, [pc, #424] ; (8050500 ) 8050358: f44f 5280 mov.w r2, #4096 ; 0x1000 805035c: 801a strh r2, [r3, #0] DrawStatus = true; 805035e: 4b69 ldr r3, [pc, #420] ; (8050504 ) 8050360: 2201 movs r2, #1 8050362: 701a strb r2, [r3, #0] break; 8050364: e04b b.n 80503fe case UpNo: menupos = FilesCSV; 8050366: 4b64 ldr r3, [pc, #400] ; (80504f8 ) 8050368: 2202 movs r2, #2 805036a: 701a strb r2, [r3, #0] break; 805036c: e04b b.n 8050406 case UpYes: STATUS = AP_OK; 805036e: 4b63 ldr r3, [pc, #396] ; (80504fc ) 8050370: 2200 movs r2, #0 8050372: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8050374: 4b64 ldr r3, [pc, #400] ; (8050508 ) 8050376: 2200 movs r2, #0 8050378: 701a strb r2, [r3, #0] NeedClean = 3; 805037a: 4b64 ldr r3, [pc, #400] ; (805050c ) 805037c: 2203 movs r2, #3 805037e: 701a strb r2, [r3, #0] menupos = CleanUpResult; 8050380: 4b5d ldr r3, [pc, #372] ; (80504f8 ) 8050382: 220a movs r2, #10 8050384: 701a strb r2, [r3, #0] break; 8050386: e03e b.n 8050406 case CleanUpResult: if(NeedClean == 0) 8050388: 4b60 ldr r3, [pc, #384] ; (805050c ) 805038a: 781b ldrb r3, [r3, #0] 805038c: b2db uxtb r3, r3 805038e: 2b00 cmp r3, #0 8050390: d138 bne.n 8050404 { result = FR_NOT_READY; 8050392: 2303 movs r3, #3 8050394: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8050398: 4b5d ldr r3, [pc, #372] ; (8050510 ) 805039a: 781b ldrb r3, [r3, #0] 805039c: b2db uxtb r3, r3 805039e: 2b03 cmp r3, #3 80503a0: d130 bne.n 8050404 { CursorIndex = 0; 80503a2: 4b4c ldr r3, [pc, #304] ; (80504d4 ) 80503a4: 2200 movs r2, #0 80503a6: 601a str r2, [r3, #0] FirstFileIndex = 0; 80503a8: 4b5a ldr r3, [pc, #360] ; (8050514 ) 80503aa: 2200 movs r2, #0 80503ac: 601a str r2, [r3, #0] RealFileIndex = 0; 80503ae: 4b5a ldr r3, [pc, #360] ; (8050518 ) 80503b0: 2200 movs r2, #0 80503b2: 601a str r2, [r3, #0] result = ReadNumFilesCSV((uint32_t *) &NumFilesCSV); 80503b4: 4859 ldr r0, [pc, #356] ; (805051c ) 80503b6: f7da fb3d bl 802aa34 80503ba: 4603 mov r3, r0 80503bc: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80503c0: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80503c4: 2b00 cmp r3, #0 80503c6: d11d bne.n 8050404 { result = ReadMyFilesCSV(FirstFileIndex); 80503c8: 4b52 ldr r3, [pc, #328] ; (8050514 ) 80503ca: 681b ldr r3, [r3, #0] 80503cc: 4618 mov r0, r3 80503ce: f7da fbd0 bl 802ab72 80503d2: 4603 mov r3, r0 80503d4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80503d8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80503dc: 2b00 cmp r3, #0 80503de: d111 bne.n 8050404 { menu = ROUTE; 80503e0: 4b44 ldr r3, [pc, #272] ; (80504f4 ) 80503e2: 2203 movs r2, #3 80503e4: 701a strb r2, [r3, #0] if(NumFilesCSV) menupos = FilesCSV; 80503e6: 4b4d ldr r3, [pc, #308] ; (805051c ) 80503e8: 681b ldr r3, [r3, #0] 80503ea: 2b00 cmp r3, #0 80503ec: d003 beq.n 80503f6 80503ee: 4b42 ldr r3, [pc, #264] ; (80504f8 ) 80503f0: 2202 movs r2, #2 80503f2: 701a strb r2, [r3, #0] else menupos = NoFilesCSV; } } } } break; 80503f4: e006 b.n 8050404 else menupos = NoFilesCSV; 80503f6: 4b40 ldr r3, [pc, #256] ; (80504f8 ) 80503f8: 2201 movs r2, #1 80503fa: 701a strb r2, [r3, #0] break; 80503fc: e002 b.n 8050404 break; 80503fe: bf00 nop 8050400: f002 bc9e b.w 8052d40 break; 8050404: bf00 nop } break; 8050406: f002 bc9b b.w 8052d40 case ROUTE_MAP: //OK switch(menupos) 805040a: 4b3b ldr r3, [pc, #236] ; (80504f8 ) 805040c: 781b ldrb r3, [r3, #0] 805040e: b2db uxtb r3, r3 8050410: 2b0e cmp r3, #14 8050412: f202 8497 bhi.w 8052d44 8050416: a201 add r2, pc, #4 ; (adr r2, 805041c ) 8050418: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805041c: 08050459 .word 0x08050459 8050420: 0805089d .word 0x0805089d 8050424: 0805058f .word 0x0805058f 8050428: 080507f9 .word 0x080507f9 805042c: 0805082b .word 0x0805082b 8050430: 0805084b .word 0x0805084b 8050434: 0805088d .word 0x0805088d 8050438: 08050895 .word 0x08050895 805043c: 08050895 .word 0x08050895 8050440: 08050895 .word 0x08050895 8050444: 08050895 .word 0x08050895 8050448: 08050895 .word 0x08050895 805044c: 08050895 .word 0x08050895 8050450: 08050689 .word 0x08050689 8050454: 08050613 .word 0x08050613 { case PrevPoint: if(RouteIndex > 0) 8050458: 4b22 ldr r3, [pc, #136] ; (80504e4 ) 805045a: 681b ldr r3, [r3, #0] 805045c: 2b00 cmp r3, #0 805045e: d05f beq.n 8050520 { oldIndex = RouteIndex; 8050460: 4b20 ldr r3, [pc, #128] ; (80504e4 ) 8050462: 681b ldr r3, [r3, #0] 8050464: 677b str r3, [r7, #116] ; 0x74 RouteIndex--; 8050466: 4b1f ldr r3, [pc, #124] ; (80504e4 ) 8050468: 681b ldr r3, [r3, #0] 805046a: 3b01 subs r3, #1 805046c: 4a1d ldr r2, [pc, #116] ; (80504e4 ) 805046e: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 8050470: 4b1c ldr r3, [pc, #112] ; (80504e4 ) 8050472: 681b ldr r3, [r3, #0] 8050474: 4916 ldr r1, [pc, #88] ; (80504d0 ) 8050476: 4618 mov r0, r3 8050478: f7d8 fa6a bl 8028950 805047c: 4603 mov r3, r0 805047e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050482: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050486: 2b00 cmp r3, #0 8050488: d113 bne.n 80504b2 { if(RoutePath[0]) 805048a: 4b17 ldr r3, [pc, #92] ; (80504e8 ) 805048c: 781b ldrb r3, [r3, #0] 805048e: 2b00 cmp r3, #0 8050490: f000 8216 beq.w 80508c0 { pardata.SYG = WAVE; 8050494: 4b16 ldr r3, [pc, #88] ; (80504f0 ) 8050496: 2204 movs r2, #4 8050498: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 805049a: 4b15 ldr r3, [pc, #84] ; (80504f0 ) 805049c: 2200 movs r2, #0 805049e: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 80504a0: 4b13 ldr r3, [pc, #76] ; (80504f0 ) 80504a2: 7bdb ldrb r3, [r3, #15] 80504a4: b2db uxtb r3, r3 80504a6: f003 037f and.w r3, r3, #127 ; 0x7f 80504aa: b2da uxtb r2, r3 80504ac: 4b10 ldr r3, [pc, #64] ; (80504f0 ) 80504ae: 73da strb r2, [r3, #15] STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } } break; 80504b0: e206 b.n 80508c0 RouteIndex = oldIndex; 80504b2: 4a0c ldr r2, [pc, #48] ; (80504e4 ) 80504b4: 6f7b ldr r3, [r7, #116] ; 0x74 80504b6: 6013 str r3, [r2, #0] STATUS = AP_INVALID_FILE; 80504b8: 4b10 ldr r3, [pc, #64] ; (80504fc ) 80504ba: 2202 movs r2, #2 80504bc: 601a str r2, [r3, #0] timerStatus = sec2; 80504be: 4b10 ldr r3, [pc, #64] ; (8050500 ) 80504c0: f44f 5280 mov.w r2, #4096 ; 0x1000 80504c4: 801a strh r2, [r3, #0] DrawStatus = true; 80504c6: 4b0f ldr r3, [pc, #60] ; (8050504 ) 80504c8: 2201 movs r2, #1 80504ca: 701a strb r2, [r3, #0] break; 80504cc: e1f8 b.n 80508c0 80504ce: bf00 nop 80504d0: 20022628 .word 0x20022628 80504d4: 20020de0 .word 0x20020de0 80504d8: 20022350 .word 0x20022350 80504dc: 64100000 .word 0x64100000 80504e0: 20020034 .word 0x20020034 80504e4: 20020f6c .word 0x20020f6c 80504e8: 20022be0 .word 0x20022be0 80504ec: 2002437c .word 0x2002437c 80504f0: 20023e60 .word 0x20023e60 80504f4: 20020f78 .word 0x20020f78 80504f8: 20020070 .word 0x20020070 80504fc: 20020dcc .word 0x20020dcc 8050500: 2002168c .word 0x2002168c 8050504: 20020dd2 .word 0x20020dd2 8050508: 20020dd0 .word 0x20020dd0 805050c: 20020ddc .word 0x20020ddc 8050510: 2002164c .word 0x2002164c 8050514: 20020de4 .word 0x20020de4 8050518: 20020de8 .word 0x20020de8 805051c: 20020e08 .word 0x20020e08 oldIndex = RouteIndex; 8050520: 4ba9 ldr r3, [pc, #676] ; (80507c8 ) 8050522: 681b ldr r3, [r3, #0] 8050524: 677b str r3, [r7, #116] ; 0x74 RouteIndex = MaxRouteIndex - 1; 8050526: 4ba9 ldr r3, [pc, #676] ; (80507cc ) 8050528: 681b ldr r3, [r3, #0] 805052a: 3b01 subs r3, #1 805052c: 4aa6 ldr r2, [pc, #664] ; (80507c8 ) 805052e: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 8050530: 4ba5 ldr r3, [pc, #660] ; (80507c8 ) 8050532: 681b ldr r3, [r3, #0] 8050534: 49a6 ldr r1, [pc, #664] ; (80507d0 ) 8050536: 4618 mov r0, r3 8050538: f7d8 fa0a bl 8028950 805053c: 4603 mov r3, r0 805053e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050542: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050546: 2b00 cmp r3, #0 8050548: d113 bne.n 8050572 if(RoutePath[0]) 805054a: 4ba2 ldr r3, [pc, #648] ; (80507d4 ) 805054c: 781b ldrb r3, [r3, #0] 805054e: 2b00 cmp r3, #0 8050550: f000 81b6 beq.w 80508c0 pardata.SYG = WAVE; 8050554: 4ba0 ldr r3, [pc, #640] ; (80507d8 ) 8050556: 2204 movs r2, #4 8050558: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 805055a: 4b9f ldr r3, [pc, #636] ; (80507d8 ) 805055c: 2200 movs r2, #0 805055e: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8050560: 4b9d ldr r3, [pc, #628] ; (80507d8 ) 8050562: 7bdb ldrb r3, [r3, #15] 8050564: b2db uxtb r3, r3 8050566: f003 037f and.w r3, r3, #127 ; 0x7f 805056a: b2da uxtb r2, r3 805056c: 4b9a ldr r3, [pc, #616] ; (80507d8 ) 805056e: 73da strb r2, [r3, #15] break; 8050570: e1a6 b.n 80508c0 RouteIndex = oldIndex; 8050572: 4a95 ldr r2, [pc, #596] ; (80507c8 ) 8050574: 6f7b ldr r3, [r7, #116] ; 0x74 8050576: 6013 str r3, [r2, #0] STATUS = AP_INVALID_FILE; 8050578: 4b98 ldr r3, [pc, #608] ; (80507dc ) 805057a: 2202 movs r2, #2 805057c: 601a str r2, [r3, #0] timerStatus = sec2; 805057e: 4b98 ldr r3, [pc, #608] ; (80507e0 ) 8050580: f44f 5280 mov.w r2, #4096 ; 0x1000 8050584: 801a strh r2, [r3, #0] DrawStatus = true; 8050586: 4b97 ldr r3, [pc, #604] ; (80507e4 ) 8050588: 2201 movs r2, #1 805058a: 701a strb r2, [r3, #0] break; 805058c: e198 b.n 80508c0 case NextPoint: if((RouteIndex + 1) < MaxRouteIndex) 805058e: 4b8e ldr r3, [pc, #568] ; (80507c8 ) 8050590: 681b ldr r3, [r3, #0] 8050592: 1c5a adds r2, r3, #1 8050594: 4b8d ldr r3, [pc, #564] ; (80507cc ) 8050596: 681b ldr r3, [r3, #0] 8050598: 429a cmp r2, r3 805059a: d236 bcs.n 805060a { oldIndex = RouteIndex; 805059c: 4b8a ldr r3, [pc, #552] ; (80507c8 ) 805059e: 681b ldr r3, [r3, #0] 80505a0: 677b str r3, [r7, #116] ; 0x74 RouteIndex++; 80505a2: 4b89 ldr r3, [pc, #548] ; (80507c8 ) 80505a4: 681b ldr r3, [r3, #0] 80505a6: 3301 adds r3, #1 80505a8: 4a87 ldr r2, [pc, #540] ; (80507c8 ) 80505aa: 6013 str r3, [r2, #0] result = GetRoutePath(RouteIndex, RouteName); 80505ac: 4b86 ldr r3, [pc, #536] ; (80507c8 ) 80505ae: 681b ldr r3, [r3, #0] 80505b0: 4987 ldr r1, [pc, #540] ; (80507d0 ) 80505b2: 4618 mov r0, r3 80505b4: f7d8 f9cc bl 8028950 80505b8: 4603 mov r3, r0 80505ba: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80505be: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80505c2: 2b00 cmp r3, #0 80505c4: d113 bne.n 80505ee { if(RoutePath[0]) 80505c6: 4b83 ldr r3, [pc, #524] ; (80507d4 ) 80505c8: 781b ldrb r3, [r3, #0] 80505ca: 2b00 cmp r3, #0 80505cc: f000 817b beq.w 80508c6 { pardata.SYG = WAVE; 80505d0: 4b81 ldr r3, [pc, #516] ; (80507d8 ) 80505d2: 2204 movs r2, #4 80505d4: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 80505d6: 4b80 ldr r3, [pc, #512] ; (80507d8 ) 80505d8: 2200 movs r2, #0 80505da: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 80505dc: 4b7e ldr r3, [pc, #504] ; (80507d8 ) 80505de: 7bdb ldrb r3, [r3, #15] 80505e0: b2db uxtb r3, r3 80505e2: f003 037f and.w r3, r3, #127 ; 0x7f 80505e6: b2da uxtb r2, r3 80505e8: 4b7b ldr r3, [pc, #492] ; (80507d8 ) 80505ea: 73da strb r2, [r3, #15] STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; }*/ } break; 80505ec: e16b b.n 80508c6 RouteIndex = oldIndex; 80505ee: 4a76 ldr r2, [pc, #472] ; (80507c8 ) 80505f0: 6f7b ldr r3, [r7, #116] ; 0x74 80505f2: 6013 str r3, [r2, #0] STATUS = AP_INVALID_FILE; 80505f4: 4b79 ldr r3, [pc, #484] ; (80507dc ) 80505f6: 2202 movs r2, #2 80505f8: 601a str r2, [r3, #0] timerStatus = sec2; 80505fa: 4b79 ldr r3, [pc, #484] ; (80507e0 ) 80505fc: f44f 5280 mov.w r2, #4096 ; 0x1000 8050600: 801a strh r2, [r3, #0] DrawStatus = true; 8050602: 4b78 ldr r3, [pc, #480] ; (80507e4 ) 8050604: 2201 movs r2, #1 8050606: 701a strb r2, [r3, #0] break; 8050608: e15d b.n 80508c6 menupos = RouteNullNo; 805060a: 4b77 ldr r3, [pc, #476] ; (80507e8 ) 805060c: 220e movs r2, #14 805060e: 701a strb r2, [r3, #0] break; 8050610: e159 b.n 80508c6 case RouteNullNo: menupos = NextPoint; 8050612: 4b75 ldr r3, [pc, #468] ; (80507e8 ) 8050614: 2202 movs r2, #2 8050616: 701a strb r2, [r3, #0] oldIndex = RouteIndex; 8050618: 4b6b ldr r3, [pc, #428] ; (80507c8 ) 805061a: 681b ldr r3, [r3, #0] 805061c: 677b str r3, [r7, #116] ; 0x74 RouteIndex = 0; 805061e: 4b6a ldr r3, [pc, #424] ; (80507c8 ) 8050620: 2200 movs r2, #0 8050622: 601a str r2, [r3, #0] result = GetRoutePath(RouteIndex, RouteName); 8050624: 4b68 ldr r3, [pc, #416] ; (80507c8 ) 8050626: 681b ldr r3, [r3, #0] 8050628: 4969 ldr r1, [pc, #420] ; (80507d0 ) 805062a: 4618 mov r0, r3 805062c: f7d8 f990 bl 8028950 8050630: 4603 mov r3, r0 8050632: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050636: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805063a: 2b00 cmp r3, #0 805063c: d113 bne.n 8050666 { if(RoutePath[0]) 805063e: 4b65 ldr r3, [pc, #404] ; (80507d4 ) 8050640: 781b ldrb r3, [r3, #0] 8050642: 2b00 cmp r3, #0 8050644: f000 8142 beq.w 80508cc { pardata.SYG = WAVE; 8050648: 4b63 ldr r3, [pc, #396] ; (80507d8 ) 805064a: 2204 movs r2, #4 805064c: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 805064e: 4b62 ldr r3, [pc, #392] ; (80507d8 ) 8050650: 2200 movs r2, #0 8050652: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 8050654: 4b60 ldr r3, [pc, #384] ; (80507d8 ) 8050656: 7bdb ldrb r3, [r3, #15] 8050658: b2db uxtb r3, r3 805065a: f003 037f and.w r3, r3, #127 ; 0x7f 805065e: b2da uxtb r2, r3 8050660: 4b5d ldr r3, [pc, #372] ; (80507d8 ) 8050662: 73da strb r2, [r3, #15] STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 8050664: e132 b.n 80508cc RouteIndex = oldIndex; 8050666: 4a58 ldr r2, [pc, #352] ; (80507c8 ) 8050668: 6f7b ldr r3, [r7, #116] ; 0x74 805066a: 6013 str r3, [r2, #0] menupos = NextPoint; 805066c: 4b5e ldr r3, [pc, #376] ; (80507e8 ) 805066e: 2202 movs r2, #2 8050670: 701a strb r2, [r3, #0] STATUS = AP_INVALID_FILE; 8050672: 4b5a ldr r3, [pc, #360] ; (80507dc ) 8050674: 2202 movs r2, #2 8050676: 601a str r2, [r3, #0] timerStatus = sec2; 8050678: 4b59 ldr r3, [pc, #356] ; (80507e0 ) 805067a: f44f 5280 mov.w r2, #4096 ; 0x1000 805067e: 801a strh r2, [r3, #0] DrawStatus = true; 8050680: 4b58 ldr r3, [pc, #352] ; (80507e4 ) 8050682: 2201 movs r2, #1 8050684: 701a strb r2, [r3, #0] break; 8050686: e121 b.n 80508cc case RouteNullYes: result = ReadFileCSV_TMP(RouteName); 8050688: 4851 ldr r0, [pc, #324] ; (80507d0 ) 805068a: f7d7 fe89 bl 80283a0 805068e: 4603 mov r3, r0 8050690: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050694: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050698: 2b00 cmp r3, #0 805069a: f040 808a bne.w 80507b2 { memset((void *) &RouteMeas(0), 0, 65536); 805069e: f44f 3280 mov.w r2, #65536 ; 0x10000 80506a2: 2100 movs r1, #0 80506a4: 4851 ldr r0, [pc, #324] ; (80507ec ) 80506a6: f07c fceb bl 80cd080 result = WriteFileCSV_TMP(RouteName); 80506aa: 4849 ldr r0, [pc, #292] ; (80507d0 ) 80506ac: f7d8 f840 bl 8028730 80506b0: 4603 mov r3, r0 80506b2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80506b6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80506ba: 2b00 cmp r3, #0 80506bc: d16e bne.n 805079c { RoutePointID = 0xffffffff; 80506be: 4b4c ldr r3, [pc, #304] ; (80507f0 ) 80506c0: f04f 32ff mov.w r2, #4294967295 80506c4: 601a str r2, [r3, #0] // ÷èòàåì êîë-âî èçìåðåíèé â ìàðøðóòå result = OpenFileCSV(RouteName); //êîë-âî òî÷åê â ìàðøðóòå 80506c6: 4842 ldr r0, [pc, #264] ; (80507d0 ) 80506c8: f7d7 fd0c bl 80280e4 80506cc: 4603 mov r3, r0 80506ce: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80506d2: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80506d6: 2b00 cmp r3, #0 80506d8: d146 bne.n 8050768 { result = ReadFileCSV_TMP(RouteName); //ôàéë ñ òàáëèöåé èçìåðåííûõ òî÷åê òåêóùåãî ìàðøðóòà è òåêóùåé òî÷êè 80506da: 483d ldr r0, [pc, #244] ; (80507d0 ) 80506dc: f7d7 fe60 bl 80283a0 80506e0: 4603 mov r3, r0 80506e2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80506e6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80506ea: 2b00 cmp r3, #0 80506ec: d131 bne.n 8050752 { result = GetRoutePath(RouteIndex, RouteName); 80506ee: 4b36 ldr r3, [pc, #216] ; (80507c8 ) 80506f0: 681b ldr r3, [r3, #0] 80506f2: 4937 ldr r1, [pc, #220] ; (80507d0 ) 80506f4: 4618 mov r0, r3 80506f6: f7d8 f92b bl 8028950 80506fa: 4603 mov r3, r0 80506fc: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8050700: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8050704: 2b00 cmp r3, #0 8050706: d119 bne.n 805073c { if(RoutePath[0]) 8050708: 4b32 ldr r3, [pc, #200] ; (80507d4 ) 805070a: 781b ldrb r3, [r3, #0] 805070c: 2b00 cmp r3, #0 805070e: f000 80e0 beq.w 80508d2 { pardata.SYG = WAVE; 8050712: 4b31 ldr r3, [pc, #196] ; (80507d8 ) 8050714: 2204 movs r2, #4 8050716: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8050718: 4b2f ldr r3, [pc, #188] ; (80507d8 ) 805071a: 2200 movs r2, #0 805071c: 709a strb r2, [r3, #2] pardata.THR &= ~BIT7; 805071e: 4b2e ldr r3, [pc, #184] ; (80507d8 ) 8050720: 7bdb ldrb r3, [r3, #15] 8050722: b2db uxtb r3, r3 8050724: f003 037f and.w r3, r3, #127 ; 0x7f 8050728: b2da uxtb r2, r3 805072a: 4b2b ldr r3, [pc, #172] ; (80507d8 ) 805072c: 73da strb r2, [r3, #15] menu = ROUTE_MAP; 805072e: 4b31 ldr r3, [pc, #196] ; (80507f4 ) 8050730: 2204 movs r2, #4 8050732: 701a strb r2, [r3, #0] menupos = GoMeas; 8050734: 4b2c ldr r3, [pc, #176] ; (80507e8 ) 8050736: 2201 movs r2, #1 8050738: 701a strb r2, [r3, #0] } break; 805073a: e0ca b.n 80508d2 STATUS = AP_INVALID_FILE; 805073c: 4b27 ldr r3, [pc, #156] ; (80507dc ) 805073e: 2202 movs r2, #2 8050740: 601a str r2, [r3, #0] timerStatus = sec2; 8050742: 4b27 ldr r3, [pc, #156] ; (80507e0 ) 8050744: f44f 5280 mov.w r2, #4096 ; 0x1000 8050748: 801a strh r2, [r3, #0] DrawStatus = true; 805074a: 4b26 ldr r3, [pc, #152] ; (80507e4 ) 805074c: 2201 movs r2, #1 805074e: 701a strb r2, [r3, #0] break; 8050750: e0bf b.n 80508d2 STATUS = AP_INVALID_FILE; 8050752: 4b22 ldr r3, [pc, #136] ; (80507dc ) 8050754: 2202 movs r2, #2 8050756: 601a str r2, [r3, #0] timerStatus = sec2; 8050758: 4b21 ldr r3, [pc, #132] ; (80507e0 ) 805075a: f44f 5280 mov.w r2, #4096 ; 0x1000 805075e: 801a strh r2, [r3, #0] DrawStatus = true; 8050760: 4b20 ldr r3, [pc, #128] ; (80507e4 ) 8050762: 2201 movs r2, #1 8050764: 701a strb r2, [r3, #0] break; 8050766: e0b4 b.n 80508d2 if(result == FR_NOT_READY) 8050768: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805076c: 2b03 cmp r3, #3 805076e: d10a bne.n 8050786 STATUS = AP_NO_CARD; 8050770: 4b1a ldr r3, [pc, #104] ; (80507dc ) 8050772: 2211 movs r2, #17 8050774: 601a str r2, [r3, #0] timerStatus = sec2; 8050776: 4b1a ldr r3, [pc, #104] ; (80507e0 ) 8050778: f44f 5280 mov.w r2, #4096 ; 0x1000 805077c: 801a strh r2, [r3, #0] DrawStatus = true; 805077e: 4b19 ldr r3, [pc, #100] ; (80507e4 ) 8050780: 2201 movs r2, #1 8050782: 701a strb r2, [r3, #0] break; 8050784: e0a5 b.n 80508d2 STATUS = AP_INVALID_FILE; 8050786: 4b15 ldr r3, [pc, #84] ; (80507dc ) 8050788: 2202 movs r2, #2 805078a: 601a str r2, [r3, #0] timerStatus = sec2; 805078c: 4b14 ldr r3, [pc, #80] ; (80507e0 ) 805078e: f44f 5280 mov.w r2, #4096 ; 0x1000 8050792: 801a strh r2, [r3, #0] DrawStatus = true; 8050794: 4b13 ldr r3, [pc, #76] ; (80507e4 ) 8050796: 2201 movs r2, #1 8050798: 701a strb r2, [r3, #0] break; 805079a: e09a b.n 80508d2 STATUS = AP_INVALID_FILE; 805079c: 4b0f ldr r3, [pc, #60] ; (80507dc ) 805079e: 2202 movs r2, #2 80507a0: 601a str r2, [r3, #0] timerStatus = sec2; 80507a2: 4b0f ldr r3, [pc, #60] ; (80507e0 ) 80507a4: f44f 5280 mov.w r2, #4096 ; 0x1000 80507a8: 801a strh r2, [r3, #0] DrawStatus = true; 80507aa: 4b0e ldr r3, [pc, #56] ; (80507e4 ) 80507ac: 2201 movs r2, #1 80507ae: 701a strb r2, [r3, #0] break; 80507b0: e08f b.n 80508d2 STATUS = AP_INVALID_FILE; 80507b2: 4b0a ldr r3, [pc, #40] ; (80507dc ) 80507b4: 2202 movs r2, #2 80507b6: 601a str r2, [r3, #0] timerStatus = sec2; 80507b8: 4b09 ldr r3, [pc, #36] ; (80507e0 ) 80507ba: f44f 5280 mov.w r2, #4096 ; 0x1000 80507be: 801a strh r2, [r3, #0] DrawStatus = true; 80507c0: 4b08 ldr r3, [pc, #32] ; (80507e4 ) 80507c2: 2201 movs r2, #1 80507c4: 701a strb r2, [r3, #0] break; 80507c6: e084 b.n 80508d2 80507c8: 20020f6c .word 0x20020f6c 80507cc: 20020f70 .word 0x20020f70 80507d0: 20022628 .word 0x20022628 80507d4: 20022be0 .word 0x20022be0 80507d8: 20023e60 .word 0x20023e60 80507dc: 20020dcc .word 0x20020dcc 80507e0: 2002168c .word 0x2002168c 80507e4: 20020dd2 .word 0x20020dd2 80507e8: 20020070 .word 0x20020070 80507ec: 64100000 .word 0x64100000 80507f0: 20020034 .word 0x20020034 80507f4: 20020f78 .word 0x20020f78 case RouteTacho: if(pardata.OPTIONS & BIT7) 80507f8: 4bb1 ldr r3, [pc, #708] ; (8050ac0 ) 80507fa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80507fe: f003 0380 and.w r3, r3, #128 ; 0x80 8050802: 2b00 cmp r3, #0 8050804: d008 beq.n 8050818 pardata.OPTIONS &= ~BIT7; 8050806: 4bae ldr r3, [pc, #696] ; (8050ac0 ) 8050808: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805080c: f023 0380 bic.w r3, r3, #128 ; 0x80 8050810: 4aab ldr r2, [pc, #684] ; (8050ac0 ) 8050812: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= BIT7; break; 8050816: e05d b.n 80508d4 else pardata.OPTIONS |= BIT7; 8050818: 4ba9 ldr r3, [pc, #676] ; (8050ac0 ) 805081a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805081e: f043 0380 orr.w r3, r3, #128 ; 0x80 8050822: 4aa7 ldr r2, [pc, #668] ; (8050ac0 ) 8050824: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8050828: e054 b.n 80508d4 case RouteTime: if(!focused) 805082a: 4ba6 ldr r3, [pc, #664] ; (8050ac4 ) 805082c: 781b ldrb r3, [r3, #0] 805082e: b2db uxtb r3, r3 8050830: f083 0301 eor.w r3, r3, #1 8050834: b2db uxtb r3, r3 8050836: 2b00 cmp r3, #0 8050838: d003 beq.n 8050842 focused = true; 805083a: 4ba2 ldr r3, [pc, #648] ; (8050ac4 ) 805083c: 2201 movs r2, #1 805083e: 701a strb r2, [r3, #0] else focused = false; break; 8050840: e048 b.n 80508d4 else focused = false; 8050842: 4ba0 ldr r3, [pc, #640] ; (8050ac4 ) 8050844: 2200 movs r2, #0 8050846: 701a strb r2, [r3, #0] break; 8050848: e044 b.n 80508d4 case RouteAutoKu: if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 805084a: 4b9d ldr r3, [pc, #628] ; (8050ac0 ) 805084c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050850: f003 0304 and.w r3, r3, #4 8050854: 2b00 cmp r3, #0 8050856: d110 bne.n 805087a { pardata.OPTIONS |= 0x4; 8050858: 4b99 ldr r3, [pc, #612] ; (8050ac0 ) 805085a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805085e: f043 0304 orr.w r3, r3, #4 8050862: 4a97 ldr r2, [pc, #604] ; (8050ac0 ) 8050864: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.THR &= 0x7f; 8050868: 4b95 ldr r3, [pc, #596] ; (8050ac0 ) 805086a: 7bdb ldrb r3, [r3, #15] 805086c: b2db uxtb r3, r3 805086e: f003 037f and.w r3, r3, #127 ; 0x7f 8050872: b2da uxtb r2, r3 8050874: 4b92 ldr r3, [pc, #584] ; (8050ac0 ) 8050876: 73da strb r2, [r3, #15] } else pardata.OPTIONS &= ~0x4; break; 8050878: e02c b.n 80508d4 pardata.OPTIONS &= ~0x4; 805087a: 4b91 ldr r3, [pc, #580] ; (8050ac0 ) 805087c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050880: f023 0304 bic.w r3, r3, #4 8050884: 4a8e ldr r2, [pc, #568] ; (8050ac0 ) 8050886: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 805088a: e023 b.n 80508d4 case RouteMax_ALL: menupos = RouteMax_IET; 805088c: 4b8e ldr r3, [pc, #568] ; (8050ac8 ) 805088e: 2208 movs r2, #8 8050890: 701a strb r2, [r3, #0] break; 8050892: e01f b.n 80508d4 case RouteMax_IET: case RouteMax_IES: case RouteMax_IED: case RouteMax_IEE: case RouteMax_IKD: menupos = RouteMax_ALL; 8050894: 4b8c ldr r3, [pc, #560] ; (8050ac8 ) 8050896: 2206 movs r2, #6 8050898: 701a strb r2, [r3, #0] break; 805089a: e01b b.n 80508d4 case GoMeas: menu = MAIN_WAVE; 805089c: 4b8b ldr r3, [pc, #556] ; (8050acc ) 805089e: 221e movs r2, #30 80508a0: 701a strb r2, [r3, #0] menupos = StartStop; 80508a2: 4b89 ldr r3, [pc, #548] ; (8050ac8 ) 80508a4: 2200 movs r2, #0 80508a6: 701a strb r2, [r3, #0] //MEASURED = false; Threshold = false; 80508a8: 4b89 ldr r3, [pc, #548] ; (8050ad0 ) 80508aa: 2200 movs r2, #0 80508ac: 701a strb r2, [r3, #0] IS_ROUTE = true; 80508ae: 4b89 ldr r3, [pc, #548] ; (8050ad4 ) 80508b0: 2201 movs r2, #1 80508b2: 701a strb r2, [r3, #0] initAmplif(); 80508b4: f7d1 f8ee bl 8021a94 FIRST = true; 80508b8: 4b87 ldr r3, [pc, #540] ; (8050ad8 ) 80508ba: 2201 movs r2, #1 80508bc: 701a strb r2, [r3, #0] break; 80508be: e009 b.n 80508d4 break; 80508c0: bf00 nop 80508c2: f002 ba3f b.w 8052d44 break; 80508c6: bf00 nop 80508c8: f002 ba3c b.w 8052d44 break; 80508cc: bf00 nop 80508ce: f002 ba39 b.w 8052d44 break; 80508d2: bf00 nop } break; 80508d4: f002 ba36 b.w 8052d44 case MEAS_MODE: //OK focused = false; 80508d8: 4b7a ldr r3, [pc, #488] ; (8050ac4 ) 80508da: 2200 movs r2, #0 80508dc: 701a strb r2, [r3, #0] switch(menupos) 80508de: 4b7a ldr r3, [pc, #488] ; (8050ac8 ) 80508e0: 781b ldrb r3, [r3, #0] 80508e2: b2db uxtb r3, r3 80508e4: 3b01 subs r3, #1 80508e6: 2b09 cmp r3, #9 80508e8: f202 822e bhi.w 8052d48 80508ec: a201 add r2, pc, #4 ; (adr r2, 80508f4 ) 80508ee: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80508f2: bf00 nop 80508f4: 08050937 .word 0x08050937 80508f8: 08050df1 .word 0x08050df1 80508fc: 08050951 .word 0x08050951 8050900: 08050f17 .word 0x08050f17 8050904: 0805091d .word 0x0805091d 8050908: 08050f47 .word 0x08050f47 805090c: 08050f7f .word 0x08050f7f 8050910: 08052d49 .word 0x08052d49 8050914: 08052d49 .word 0x08052d49 8050918: 08050f03 .word 0x08050f03 { case Diagn: focused = false; 805091c: 4b69 ldr r3, [pc, #420] ; (8050ac4 ) 805091e: 2200 movs r2, #0 8050920: 701a strb r2, [r3, #0] pardata.SYG = DIAGN; 8050922: 4b67 ldr r3, [pc, #412] ; (8050ac0 ) 8050924: 220a movs r2, #10 8050926: 701a strb r2, [r3, #0] menu = PARAM_DIAGN; 8050928: 4b68 ldr r3, [pc, #416] ; (8050acc ) 805092a: 220f movs r2, #15 805092c: 701a strb r2, [r3, #0] menupos = DiagUs; 805092e: 4b66 ldr r3, [pc, #408] ; (8050ac8 ) 8050930: 2200 movs r2, #0 8050932: 701a strb r2, [r3, #0] break; 8050934: e331 b.n 8050f9a case Vibrometer: focused = false; 8050936: 4b63 ldr r3, [pc, #396] ; (8050ac4 ) 8050938: 2200 movs r2, #0 805093a: 701a strb r2, [r3, #0] pardata.SYG = VIB; 805093c: 4b60 ldr r3, [pc, #384] ; (8050ac0 ) 805093e: 2200 movs r2, #0 8050940: 701a strb r2, [r3, #0] menu = PARAM_VIB; 8050942: 4b62 ldr r3, [pc, #392] ; (8050acc ) 8050944: 2206 movs r2, #6 8050946: 701a strb r2, [r3, #0] menupos = Ok; 8050948: 4b5f ldr r3, [pc, #380] ; (8050ac8 ) 805094a: 2200 movs r2, #0 805094c: 701a strb r2, [r3, #0] break; 805094e: e324 b.n 8050f9a case FFT: focused = false; 8050950: 4b5c ldr r3, [pc, #368] ; (8050ac4 ) 8050952: 2200 movs r2, #0 8050954: 701a strb r2, [r3, #0] if(pardata.LNE > N3200) 8050956: 4b5a ldr r3, [pc, #360] ; (8050ac0 ) 8050958: 79db ldrb r3, [r3, #7] 805095a: b2db uxtb r3, r3 805095c: 2b03 cmp r3, #3 805095e: d902 bls.n 8050966 pardata.LNE = N3200; 8050960: 4b57 ldr r3, [pc, #348] ; (8050ac0 ) 8050962: 2203 movs r2, #3 8050964: 71da strb r2, [r3, #7] if(pardata.IVS[pardata.IPR] > RMS) 8050966: 4b56 ldr r3, [pc, #344] ; (8050ac0 ) 8050968: 785b ldrb r3, [r3, #1] 805096a: b2db uxtb r3, r3 805096c: 461a mov r2, r3 805096e: 4b54 ldr r3, [pc, #336] ; (8050ac0 ) 8050970: 4413 add r3, r2 8050972: 789b ldrb r3, [r3, #2] 8050974: b2db uxtb r3, r3 8050976: 2b01 cmp r3, #1 8050978: d907 bls.n 805098a pardata.IVS[pardata.IPR] = PEAK; 805097a: 4b51 ldr r3, [pc, #324] ; (8050ac0 ) 805097c: 785b ldrb r3, [r3, #1] 805097e: b2db uxtb r3, r3 8050980: 461a mov r2, r3 8050982: 4b4f ldr r3, [pc, #316] ; (8050ac0 ) 8050984: 4413 add r3, r2 8050986: 2200 movs r2, #0 8050988: 709a strb r2, [r3, #2] if((pardata.OPTIONS & maskFFT) == okt) 805098a: 4b4d ldr r3, [pc, #308] ; (8050ac0 ) 805098c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050990: f003 0330 and.w r3, r3, #48 ; 0x30 8050994: 2b20 cmp r3, #32 8050996: f040 80a9 bne.w 8050aec { pardata.SYG = SPEC_OKT; 805099a: 4b49 ldr r3, [pc, #292] ; (8050ac0 ) 805099c: 2206 movs r2, #6 805099e: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 80509a0: 4b47 ldr r3, [pc, #284] ; (8050ac0 ) 80509a2: 785b ldrb r3, [r3, #1] 80509a4: b2db uxtb r3, r3 80509a6: 461a mov r2, r3 80509a8: 4b45 ldr r3, [pc, #276] ; (8050ac0 ) 80509aa: 4413 add r3, r2 80509ac: 789b ldrb r3, [r3, #2] 80509ae: b2db uxtb r3, r3 80509b0: 2b01 cmp r3, #1 80509b2: d907 bls.n 80509c4 pardata.IVS[pardata.IPR] = PEAK; 80509b4: 4b42 ldr r3, [pc, #264] ; (8050ac0 ) 80509b6: 785b ldrb r3, [r3, #1] 80509b8: b2db uxtb r3, r3 80509ba: 461a mov r2, r3 80509bc: 4b40 ldr r3, [pc, #256] ; (8050ac0 ) 80509be: 4413 add r3, r2 80509c0: 2200 movs r2, #0 80509c2: 709a strb r2, [r3, #2] pardata.LNE = N3200; 80509c4: 4b3e ldr r3, [pc, #248] ; (8050ac0 ) 80509c6: 2203 movs r2, #3 80509c8: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 80509ca: 4b3d ldr r3, [pc, #244] ; (8050ac0 ) 80509cc: 2209 movs r2, #9 80509ce: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 80509d0: 4b3b ldr r3, [pc, #236] ; (8050ac0 ) 80509d2: 785b ldrb r3, [r3, #1] 80509d4: b2db uxtb r3, r3 80509d6: 2b00 cmp r3, #0 80509d8: d00e beq.n 80509f8 80509da: 4b39 ldr r3, [pc, #228] ; (8050ac0 ) 80509dc: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 80509e0: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80509e4: eef4 7ac7 vcmpe.f32 s15, s14 80509e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80509ec: d504 bpl.n 80509f8 pardata.HP = 2.0f; 80509ee: 4b34 ldr r3, [pc, #208] ; (8050ac0 ) 80509f0: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 80509f4: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 80509f8: 4b31 ldr r3, [pc, #196] ; (8050ac0 ) 80509fa: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 80509fe: 4b30 ldr r3, [pc, #192] ; (8050ac0 ) 8050a00: 7adb ldrb r3, [r3, #11] 8050a02: b2db uxtb r3, r3 8050a04: 461a mov r2, r3 8050a06: 4b35 ldr r3, [pc, #212] ; (8050adc ) 8050a08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050a0c: ee07 3a90 vmov s15, r3 8050a10: eef8 6a67 vcvt.f32.u32 s13, s15 8050a14: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8050a18: eec6 7a86 vdiv.f32 s15, s13, s12 8050a1c: eddf 6a30 vldr s13, [pc, #192] ; 8050ae0 8050a20: ee77 7aa6 vadd.f32 s15, s15, s13 8050a24: eeb4 7ae7 vcmpe.f32 s14, s15 8050a28: eef1 fa10 vmrs APSR_nzcv, fpscr 8050a2c: dd15 ble.n 8050a5a pardata.HP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8050a2e: 4b24 ldr r3, [pc, #144] ; (8050ac0 ) 8050a30: 7adb ldrb r3, [r3, #11] 8050a32: b2db uxtb r3, r3 8050a34: 461a mov r2, r3 8050a36: 4b29 ldr r3, [pc, #164] ; (8050adc ) 8050a38: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050a3c: 4a29 ldr r2, [pc, #164] ; (8050ae4 ) 8050a3e: fba2 2303 umull r2, r3, r2, r3 8050a42: 089b lsrs r3, r3, #2 8050a44: ee07 3a90 vmov s15, r3 8050a48: eef8 7a67 vcvt.f32.u32 s15, s15 8050a4c: ed9f 7a26 vldr s14, [pc, #152] ; 8050ae8 8050a50: ee77 7a87 vadd.f32 s15, s15, s14 8050a54: 4b1a ldr r3, [pc, #104] ; (8050ac0 ) 8050a56: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > (((float32_t) FS[pardata.FRQ] / 5.0f) + 0.00005f)) 8050a5a: 4b19 ldr r3, [pc, #100] ; (8050ac0 ) 8050a5c: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8050a60: 4b17 ldr r3, [pc, #92] ; (8050ac0 ) 8050a62: 7adb ldrb r3, [r3, #11] 8050a64: b2db uxtb r3, r3 8050a66: 461a mov r2, r3 8050a68: 4b1c ldr r3, [pc, #112] ; (8050adc ) 8050a6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050a6e: ee07 3a90 vmov s15, r3 8050a72: eef8 6a67 vcvt.f32.u32 s13, s15 8050a76: eeb1 6a04 vmov.f32 s12, #20 ; 0x40a00000 5.0 8050a7a: eec6 7a86 vdiv.f32 s15, s13, s12 8050a7e: eddf 6a18 vldr s13, [pc, #96] ; 8050ae0 8050a82: ee77 7aa6 vadd.f32 s15, s15, s13 8050a86: eeb4 7ae7 vcmpe.f32 s14, s15 8050a8a: eef1 fa10 vmrs APSR_nzcv, fpscr 8050a8e: f340 819e ble.w 8050dce pardata.LP = (float32_t) (FS[pardata.FRQ] / 5) + 0.0001f; 8050a92: 4b0b ldr r3, [pc, #44] ; (8050ac0 ) 8050a94: 7adb ldrb r3, [r3, #11] 8050a96: b2db uxtb r3, r3 8050a98: 461a mov r2, r3 8050a9a: 4b10 ldr r3, [pc, #64] ; (8050adc ) 8050a9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050aa0: 4a10 ldr r2, [pc, #64] ; (8050ae4 ) 8050aa2: fba2 2303 umull r2, r3, r2, r3 8050aa6: 089b lsrs r3, r3, #2 8050aa8: ee07 3a90 vmov s15, r3 8050aac: eef8 7a67 vcvt.f32.u32 s15, s15 8050ab0: ed9f 7a0d vldr s14, [pc, #52] ; 8050ae8 8050ab4: ee77 7a87 vadd.f32 s15, s15, s14 8050ab8: 4b01 ldr r3, [pc, #4] ; (8050ac0 ) 8050aba: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 8050abe: e186 b.n 8050dce 8050ac0: 20023e60 .word 0x20023e60 8050ac4: 20020f84 .word 0x20020f84 8050ac8: 20020070 .word 0x20020070 8050acc: 20020f78 .word 0x20020f78 8050ad0: 20020db1 .word 0x20020db1 8050ad4: 20020db3 .word 0x20020db3 8050ad8: 20020db2 .word 0x20020db2 8050adc: 080ee8c8 .word 0x080ee8c8 8050ae0: 3851b717 .word 0x3851b717 8050ae4: cccccccd .word 0xcccccccd 8050ae8: 38d1b717 .word 0x38d1b717 } else if((pardata.OPTIONS & maskFFT) == third) 8050aec: 4bbb ldr r3, [pc, #748] ; (8050ddc ) 8050aee: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050af2: f003 0330 and.w r3, r3, #48 ; 0x30 8050af6: 2b30 cmp r3, #48 ; 0x30 8050af8: f040 808b bne.w 8050c12 { pardata.SYG = SPEC_THIRD; 8050afc: 4bb7 ldr r3, [pc, #732] ; (8050ddc ) 8050afe: 2207 movs r2, #7 8050b00: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 8050b02: 4bb6 ldr r3, [pc, #728] ; (8050ddc ) 8050b04: 785b ldrb r3, [r3, #1] 8050b06: b2db uxtb r3, r3 8050b08: 461a mov r2, r3 8050b0a: 4bb4 ldr r3, [pc, #720] ; (8050ddc ) 8050b0c: 4413 add r3, r2 8050b0e: 789b ldrb r3, [r3, #2] 8050b10: b2db uxtb r3, r3 8050b12: 2b01 cmp r3, #1 8050b14: d907 bls.n 8050b26 pardata.IVS[pardata.IPR] = PEAK; 8050b16: 4bb1 ldr r3, [pc, #708] ; (8050ddc ) 8050b18: 785b ldrb r3, [r3, #1] 8050b1a: b2db uxtb r3, r3 8050b1c: 461a mov r2, r3 8050b1e: 4baf ldr r3, [pc, #700] ; (8050ddc ) 8050b20: 4413 add r3, r2 8050b22: 2200 movs r2, #0 8050b24: 709a strb r2, [r3, #2] pardata.LNE = N3200; 8050b26: 4bad ldr r3, [pc, #692] ; (8050ddc ) 8050b28: 2203 movs r2, #3 8050b2a: 71da strb r2, [r3, #7] pardata.FRQ = _64000Hz; 8050b2c: 4bab ldr r3, [pc, #684] ; (8050ddc ) 8050b2e: 2209 movs r2, #9 8050b30: 72da strb r2, [r3, #11] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8050b32: 4baa ldr r3, [pc, #680] ; (8050ddc ) 8050b34: 785b ldrb r3, [r3, #1] 8050b36: b2db uxtb r3, r3 8050b38: 2b00 cmp r3, #0 8050b3a: d00e beq.n 8050b5a 8050b3c: 4ba7 ldr r3, [pc, #668] ; (8050ddc ) 8050b3e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8050b42: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8050b46: eef4 7ac7 vcmpe.f32 s15, s14 8050b4a: eef1 fa10 vmrs APSR_nzcv, fpscr 8050b4e: d504 bpl.n 8050b5a pardata.HP = 2.0f; 8050b50: 4ba2 ldr r3, [pc, #648] ; (8050ddc ) 8050b52: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8050b56: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 if(pardata.HP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8050b5a: 4ba0 ldr r3, [pc, #640] ; (8050ddc ) 8050b5c: ed93 7a35 vldr s14, [r3, #212] ; 0xd4 8050b60: 4b9e ldr r3, [pc, #632] ; (8050ddc ) 8050b62: 7adb ldrb r3, [r3, #11] 8050b64: b2db uxtb r3, r3 8050b66: 461a mov r2, r3 8050b68: 4b9d ldr r3, [pc, #628] ; (8050de0 ) 8050b6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050b6e: ee07 3a90 vmov s15, r3 8050b72: eef8 6a67 vcvt.f32.u32 s13, s15 8050b76: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8050b7a: eec6 7a86 vdiv.f32 s15, s13, s12 8050b7e: eeb4 7ae7 vcmpe.f32 s14, s15 8050b82: eef1 fa10 vmrs APSR_nzcv, fpscr 8050b86: dd15 ble.n 8050bb4 pardata.HP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8050b88: 4b94 ldr r3, [pc, #592] ; (8050ddc ) 8050b8a: 7adb ldrb r3, [r3, #11] 8050b8c: b2db uxtb r3, r3 8050b8e: 461a mov r2, r3 8050b90: 4b93 ldr r3, [pc, #588] ; (8050de0 ) 8050b92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050b96: ee07 3a90 vmov s15, r3 8050b9a: eeb8 7a67 vcvt.f32.u32 s14, s15 8050b9e: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8050ba2: eec7 7a26 vdiv.f32 s15, s14, s13 8050ba6: ed9f 7a8f vldr s14, [pc, #572] ; 8050de4 8050baa: ee77 7a87 vadd.f32 s15, s15, s14 8050bae: 4b8b ldr r3, [pc, #556] ; (8050ddc ) 8050bb0: edc3 7a35 vstr s15, [r3, #212] ; 0xd4 if(pardata.LP > ((float32_t) FS[pardata.FRQ] / 10.0f)) 8050bb4: 4b89 ldr r3, [pc, #548] ; (8050ddc ) 8050bb6: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8050bba: 4b88 ldr r3, [pc, #544] ; (8050ddc ) 8050bbc: 7adb ldrb r3, [r3, #11] 8050bbe: b2db uxtb r3, r3 8050bc0: 461a mov r2, r3 8050bc2: 4b87 ldr r3, [pc, #540] ; (8050de0 ) 8050bc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050bc8: ee07 3a90 vmov s15, r3 8050bcc: eef8 6a67 vcvt.f32.u32 s13, s15 8050bd0: eeb2 6a04 vmov.f32 s12, #36 ; 0x41200000 10.0 8050bd4: eec6 7a86 vdiv.f32 s15, s13, s12 8050bd8: eeb4 7ae7 vcmpe.f32 s14, s15 8050bdc: eef1 fa10 vmrs APSR_nzcv, fpscr 8050be0: f340 80f5 ble.w 8050dce pardata.LP = (float32_t) (FS[pardata.FRQ] / 10.0f) + 0.0001f; 8050be4: 4b7d ldr r3, [pc, #500] ; (8050ddc ) 8050be6: 7adb ldrb r3, [r3, #11] 8050be8: b2db uxtb r3, r3 8050bea: 461a mov r2, r3 8050bec: 4b7c ldr r3, [pc, #496] ; (8050de0 ) 8050bee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050bf2: ee07 3a90 vmov s15, r3 8050bf6: eeb8 7a67 vcvt.f32.u32 s14, s15 8050bfa: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8050bfe: eec7 7a26 vdiv.f32 s15, s14, s13 8050c02: ed9f 7a78 vldr s14, [pc, #480] ; 8050de4 8050c06: ee77 7a87 vadd.f32 s15, s15, s14 8050c0a: 4b74 ldr r3, [pc, #464] ; (8050ddc ) 8050c0c: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 8050c10: e0dd b.n 8050dce } else if((pardata.OPTIONS & maskFFT) == env) 8050c12: 4b72 ldr r3, [pc, #456] ; (8050ddc ) 8050c14: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8050c18: f003 0330 and.w r3, r3, #48 ; 0x30 8050c1c: 2b10 cmp r3, #16 8050c1e: d16b bne.n 8050cf8 { pardata.SYG = SPEC_OGIB; 8050c20: 4b6e ldr r3, [pc, #440] ; (8050ddc ) 8050c22: 2205 movs r2, #5 8050c24: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 8050c26: 4b6d ldr r3, [pc, #436] ; (8050ddc ) 8050c28: 785b ldrb r3, [r3, #1] 8050c2a: b2db uxtb r3, r3 8050c2c: 461a mov r2, r3 8050c2e: 4b6b ldr r3, [pc, #428] ; (8050ddc ) 8050c30: 4413 add r3, r2 8050c32: 789b ldrb r3, [r3, #2] 8050c34: b2db uxtb r3, r3 8050c36: 2b01 cmp r3, #1 8050c38: d907 bls.n 8050c4a pardata.IVS[pardata.IPR] = PEAK; 8050c3a: 4b68 ldr r3, [pc, #416] ; (8050ddc ) 8050c3c: 785b ldrb r3, [r3, #1] 8050c3e: b2db uxtb r3, r3 8050c40: 461a mov r2, r3 8050c42: 4b66 ldr r3, [pc, #408] ; (8050ddc ) 8050c44: 4413 add r3, r2 8050c46: 2200 movs r2, #0 8050c48: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8050c4a: 4b64 ldr r3, [pc, #400] ; (8050ddc ) 8050c4c: 785b ldrb r3, [r3, #1] 8050c4e: b2db uxtb r3, r3 8050c50: 2b00 cmp r3, #0 8050c52: d00e beq.n 8050c72 8050c54: 4b61 ldr r3, [pc, #388] ; (8050ddc ) 8050c56: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8050c5a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8050c5e: eef4 7ac7 vcmpe.f32 s15, s14 8050c62: eef1 fa10 vmrs APSR_nzcv, fpscr 8050c66: d504 bpl.n 8050c72 pardata.HP = 2.0f; 8050c68: 4b5c ldr r3, [pc, #368] ; (8050ddc ) 8050c6a: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8050c6e: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 8050c72: 2309 movs r3, #9 8050c74: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8050c78: e039 b.n 8050cee { f = (float32_t) FS[k] / pardata.LP; 8050c7a: 4a59 ldr r2, [pc, #356] ; (8050de0 ) 8050c7c: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050c80: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8050c84: ee07 3a90 vmov s15, r3 8050c88: eef8 6a67 vcvt.f32.u32 s13, s15 8050c8c: 4b53 ldr r3, [pc, #332] ; (8050ddc ) 8050c8e: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8050c92: eec6 7a87 vdiv.f32 s15, s13, s14 8050c96: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8050c9a: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8050c9e: ed9f 7a51 vldr s14, [pc, #324] ; 8050de4 8050ca2: ee77 7a87 vadd.f32 s15, s15, s14 8050ca6: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8050caa: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8050cae: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8050cb2: eef4 7ac7 vcmpe.f32 s15, s14 8050cb6: eef1 fa10 vmrs APSR_nzcv, fpscr 8050cba: d507 bpl.n 8050ccc { pardata.FRQ = k + 1; 8050cbc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050cc0: b2db uxtb r3, r3 8050cc2: 3301 adds r3, #1 8050cc4: b2da uxtb r2, r3 8050cc6: 4b45 ldr r3, [pc, #276] ; (8050ddc ) 8050cc8: 72da strb r2, [r3, #11] break; 8050cca: e080 b.n 8050dce } else { if(k > 0) 8050ccc: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050cd0: 2b00 cmp r3, #0 8050cd2: d004 beq.n 8050cde k--; 8050cd4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050cd8: 3b01 subs r3, #1 8050cda: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8050cde: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050ce2: 2b00 cmp r3, #0 8050ce4: d103 bne.n 8050cee { pardata.FRQ = _125Hz; 8050ce6: 4b3d ldr r3, [pc, #244] ; (8050ddc ) 8050ce8: 2200 movs r2, #0 8050cea: 72da strb r2, [r3, #11] break; 8050cec: e06f b.n 8050dce while(k > _125Hz) 8050cee: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050cf2: 2b00 cmp r3, #0 8050cf4: d1c1 bne.n 8050c7a 8050cf6: e06a b.n 8050dce } } } else { pardata.SYG = SPEC; 8050cf8: 4b38 ldr r3, [pc, #224] ; (8050ddc ) 8050cfa: 2201 movs r2, #1 8050cfc: 701a strb r2, [r3, #0] if(pardata.IVS[pardata.IPR] > RMS) 8050cfe: 4b37 ldr r3, [pc, #220] ; (8050ddc ) 8050d00: 785b ldrb r3, [r3, #1] 8050d02: b2db uxtb r3, r3 8050d04: 461a mov r2, r3 8050d06: 4b35 ldr r3, [pc, #212] ; (8050ddc ) 8050d08: 4413 add r3, r2 8050d0a: 789b ldrb r3, [r3, #2] 8050d0c: b2db uxtb r3, r3 8050d0e: 2b01 cmp r3, #1 8050d10: d907 bls.n 8050d22 pardata.IVS[pardata.IPR] = PEAK; 8050d12: 4b32 ldr r3, [pc, #200] ; (8050ddc ) 8050d14: 785b ldrb r3, [r3, #1] 8050d16: b2db uxtb r3, r3 8050d18: 461a mov r2, r3 8050d1a: 4b30 ldr r3, [pc, #192] ; (8050ddc ) 8050d1c: 4413 add r3, r2 8050d1e: 2200 movs r2, #0 8050d20: 709a strb r2, [r3, #2] if((pardata.IPR > ACC) && (pardata.HP < 2.0f)) 8050d22: 4b2e ldr r3, [pc, #184] ; (8050ddc ) 8050d24: 785b ldrb r3, [r3, #1] 8050d26: b2db uxtb r3, r3 8050d28: 2b00 cmp r3, #0 8050d2a: d00e beq.n 8050d4a 8050d2c: 4b2b ldr r3, [pc, #172] ; (8050ddc ) 8050d2e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8050d32: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8050d36: eef4 7ac7 vcmpe.f32 s15, s14 8050d3a: eef1 fa10 vmrs APSR_nzcv, fpscr 8050d3e: d504 bpl.n 8050d4a pardata.HP = 2.0f; 8050d40: 4b26 ldr r3, [pc, #152] ; (8050ddc ) 8050d42: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8050d46: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 k = _64000Hz; 8050d4a: 2309 movs r3, #9 8050d4c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 while(k > _125Hz) 8050d50: e039 b.n 8050dc6 { f = (float32_t) FS[k] / pardata.LP; 8050d52: 4a23 ldr r2, [pc, #140] ; (8050de0 ) 8050d54: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050d58: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8050d5c: ee07 3a90 vmov s15, r3 8050d60: eef8 6a67 vcvt.f32.u32 s13, s15 8050d64: 4b1d ldr r3, [pc, #116] ; (8050ddc ) 8050d66: ed93 7a36 vldr s14, [r3, #216] ; 0xd8 8050d6a: eec6 7a87 vdiv.f32 s15, s13, s14 8050d6e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 f += 0.0001f; 8050d72: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8050d76: ed9f 7a1b vldr s14, [pc, #108] ; 8050de4 8050d7a: ee77 7a87 vadd.f32 s15, s15, s14 8050d7e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 if(f < 5.0f) 8050d82: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 8050d86: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 8050d8a: eef4 7ac7 vcmpe.f32 s15, s14 8050d8e: eef1 fa10 vmrs APSR_nzcv, fpscr 8050d92: d507 bpl.n 8050da4 { pardata.FRQ = k + 1; 8050d94: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050d98: b2db uxtb r3, r3 8050d9a: 3301 adds r3, #1 8050d9c: b2da uxtb r2, r3 8050d9e: 4b0f ldr r3, [pc, #60] ; (8050ddc ) 8050da0: 72da strb r2, [r3, #11] break; 8050da2: e014 b.n 8050dce } else { if(k > 0) 8050da4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050da8: 2b00 cmp r3, #0 8050daa: d004 beq.n 8050db6 k--; 8050dac: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050db0: 3b01 subs r3, #1 8050db2: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 if(k == 0) 8050db6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050dba: 2b00 cmp r3, #0 8050dbc: d103 bne.n 8050dc6 { pardata.FRQ = _125Hz; 8050dbe: 4b07 ldr r3, [pc, #28] ; (8050ddc ) 8050dc0: 2200 movs r2, #0 8050dc2: 72da strb r2, [r3, #11] break; 8050dc4: e003 b.n 8050dce while(k > _125Hz) 8050dc6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8050dca: 2b00 cmp r3, #0 8050dcc: d1c1 bne.n 8050d52 } } } menu = PARAM_SPEC; 8050dce: 4b06 ldr r3, [pc, #24] ; (8050de8 ) 8050dd0: 2207 movs r2, #7 8050dd2: 701a strb r2, [r3, #0] menupos = Ok; 8050dd4: 4b05 ldr r3, [pc, #20] ; (8050dec ) 8050dd6: 2200 movs r2, #0 8050dd8: 701a strb r2, [r3, #0] break; 8050dda: e0de b.n 8050f9a 8050ddc: 20023e60 .word 0x20023e60 8050de0: 080ee8c8 .word 0x080ee8c8 8050de4: 38d1b717 .word 0x38d1b717 8050de8: 20020f78 .word 0x20020f78 8050dec: 20020070 .word 0x20020070 case Osc: focused = false; 8050df0: 4bbd ldr r3, [pc, #756] ; (80510e8 ) 8050df2: 2200 movs r2, #0 8050df4: 701a strb r2, [r3, #0] pardata.SYG = OSC; 8050df6: 4bbd ldr r3, [pc, #756] ; (80510ec ) 8050df8: 2202 movs r2, #2 8050dfa: 701a strb r2, [r3, #0] menu = PARAM_OSC; 8050dfc: 4bbc ldr r3, [pc, #752] ; (80510f0 ) 8050dfe: 2208 movs r2, #8 8050e00: 701a strb r2, [r3, #0] menupos = Ok; 8050e02: 4bbc ldr r3, [pc, #752] ; (80510f4 ) 8050e04: 2200 movs r2, #0 8050e06: 701a strb r2, [r3, #0] if(pardata.IPR > ACC) 8050e08: 4bb8 ldr r3, [pc, #736] ; (80510ec ) 8050e0a: 785b ldrb r3, [r3, #1] 8050e0c: b2db uxtb r3, r3 8050e0e: 2b00 cmp r3, #0 8050e10: d00e beq.n 8050e30 { if(pardata.HP < 2.0f) 8050e12: 4bb6 ldr r3, [pc, #728] ; (80510ec ) 8050e14: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8050e18: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8050e1c: eef4 7ac7 vcmpe.f32 s15, s14 8050e20: eef1 fa10 vmrs APSR_nzcv, fpscr 8050e24: d504 bpl.n 8050e30 pardata.HP = 2.0f; 8050e26: 4bb1 ldr r3, [pc, #708] ; (80510ec ) 8050e28: f04f 4280 mov.w r2, #1073741824 ; 0x40000000 8050e2c: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8050e30: 4bae ldr r3, [pc, #696] ; (80510ec ) 8050e32: 7adb ldrb r3, [r3, #11] 8050e34: b2db uxtb r3, r3 8050e36: 461a mov r2, r3 8050e38: 4baf ldr r3, [pc, #700] ; (80510f8 ) 8050e3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050e3e: ee07 3a90 vmov s15, r3 8050e42: eeb8 5b67 vcvt.f64.u32 d5, s15 8050e46: 4ba9 ldr r3, [pc, #676] ; (80510ec ) 8050e48: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8050e4c: eeb7 6ae7 vcvt.f64.f32 d6, s15 8050e50: ee85 7b06 vdiv.f64 d7, d5, d6 8050e54: ed9f 6ba0 vldr d6, [pc, #640] ; 80510d8 8050e58: ee37 7b06 vadd.f64 d7, d7, d6 8050e5c: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8050e60: eeb4 7bc6 vcmpe.f64 d7, d6 8050e64: eef1 fa10 vmrs APSR_nzcv, fpscr 8050e68: d50c bpl.n 8050e84 { while(pardata.FRQ < _64000Hz) 8050e6a: e006 b.n 8050e7a pardata.FRQ++; 8050e6c: 4b9f ldr r3, [pc, #636] ; (80510ec ) 8050e6e: 7adb ldrb r3, [r3, #11] 8050e70: b2db uxtb r3, r3 8050e72: 3301 adds r3, #1 8050e74: b2da uxtb r2, r3 8050e76: 4b9d ldr r3, [pc, #628] ; (80510ec ) 8050e78: 72da strb r2, [r3, #11] while(pardata.FRQ < _64000Hz) 8050e7a: 4b9c ldr r3, [pc, #624] ; (80510ec ) 8050e7c: 7adb ldrb r3, [r3, #11] 8050e7e: b2db uxtb r3, r3 8050e80: 2b08 cmp r3, #8 8050e82: d9f3 bls.n 8050e6c } if((((float64_t) FS[pardata.FRQ]) / ((float64_t) pardata.LP) + 0.00005f) < 5.0) 8050e84: 4b99 ldr r3, [pc, #612] ; (80510ec ) 8050e86: 7adb ldrb r3, [r3, #11] 8050e88: b2db uxtb r3, r3 8050e8a: 461a mov r2, r3 8050e8c: 4b9a ldr r3, [pc, #616] ; (80510f8 ) 8050e8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050e92: ee07 3a90 vmov s15, r3 8050e96: eeb8 5b67 vcvt.f64.u32 d5, s15 8050e9a: 4b94 ldr r3, [pc, #592] ; (80510ec ) 8050e9c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8050ea0: eeb7 6ae7 vcvt.f64.f32 d6, s15 8050ea4: ee85 7b06 vdiv.f64 d7, d5, d6 8050ea8: ed9f 6b8b vldr d6, [pc, #556] ; 80510d8 8050eac: ee37 7b06 vadd.f64 d7, d7, d6 8050eb0: eeb1 6b04 vmov.f64 d6, #20 ; 0x40a00000 5.0 8050eb4: eeb4 7bc6 vcmpe.f64 d7, d6 8050eb8: eef1 fa10 vmrs APSR_nzcv, fpscr 8050ebc: d400 bmi.n 8050ec0 { pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); pardata.LP += 0.0001; } break; 8050ebe: e06c b.n 8050f9a pardata.LP = (float32_t) (FS[pardata.FRQ] / 5); 8050ec0: 4b8a ldr r3, [pc, #552] ; (80510ec ) 8050ec2: 7adb ldrb r3, [r3, #11] 8050ec4: b2db uxtb r3, r3 8050ec6: 461a mov r2, r3 8050ec8: 4b8b ldr r3, [pc, #556] ; (80510f8 ) 8050eca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8050ece: 4a8b ldr r2, [pc, #556] ; (80510fc ) 8050ed0: fba2 2303 umull r2, r3, r2, r3 8050ed4: 089b lsrs r3, r3, #2 8050ed6: ee07 3a90 vmov s15, r3 8050eda: eef8 7a67 vcvt.f32.u32 s15, s15 8050ede: 4b83 ldr r3, [pc, #524] ; (80510ec ) 8050ee0: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 pardata.LP += 0.0001; 8050ee4: 4b81 ldr r3, [pc, #516] ; (80510ec ) 8050ee6: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8050eea: eeb7 7ae7 vcvt.f64.f32 d7, s15 8050eee: ed9f 6b7c vldr d6, [pc, #496] ; 80510e0 8050ef2: ee37 7b06 vadd.f64 d7, d7, d6 8050ef6: eef7 7bc7 vcvt.f32.f64 s15, d7 8050efa: 4b7c ldr r3, [pc, #496] ; (80510ec ) 8050efc: edc3 7a36 vstr s15, [r3, #216] ; 0xd8 break; 8050f00: e04b b.n 8050f9a case Fran: pardata.SYG = FRAN; 8050f02: 4b7a ldr r3, [pc, #488] ; (80510ec ) 8050f04: 2203 movs r2, #3 8050f06: 701a strb r2, [r3, #0] menu = PARAM_FRAN; 8050f08: 4b79 ldr r3, [pc, #484] ; (80510f0 ) 8050f0a: 2209 movs r2, #9 8050f0c: 701a strb r2, [r3, #0] menupos = Ok; 8050f0e: 4b79 ldr r3, [pc, #484] ; (80510f4 ) 8050f10: 2200 movs r2, #0 8050f12: 701a strb r2, [r3, #0] break; 8050f14: e041 b.n 8050f9a case Wave: focused = false; 8050f16: 4b74 ldr r3, [pc, #464] ; (80510e8 ) 8050f18: 2200 movs r2, #0 8050f1a: 701a strb r2, [r3, #0] pardata.FRQ = _64000Hz; 8050f1c: 4b73 ldr r3, [pc, #460] ; (80510ec ) 8050f1e: 2209 movs r2, #9 8050f20: 72da strb r2, [r3, #11] pardata.SYG = WAVE; 8050f22: 4b72 ldr r3, [pc, #456] ; (80510ec ) 8050f24: 2204 movs r2, #4 8050f26: 701a strb r2, [r3, #0] menu = PARAM_WAVE; 8050f28: 4b71 ldr r3, [pc, #452] ; (80510f0 ) 8050f2a: 220a movs r2, #10 8050f2c: 701a strb r2, [r3, #0] menupos = Ok; 8050f2e: 4b71 ldr r3, [pc, #452] ; (80510f4 ) 8050f30: 2200 movs r2, #0 8050f32: 701a strb r2, [r3, #0] if(pardata.IVS[ACC] >= PEAK_TO_PEAK) 8050f34: 4b6d ldr r3, [pc, #436] ; (80510ec ) 8050f36: 789b ldrb r3, [r3, #2] 8050f38: b2db uxtb r3, r3 8050f3a: 2b01 cmp r3, #1 8050f3c: d92c bls.n 8050f98 pardata.IVS[ACC] = PEAK; 8050f3e: 4b6b ldr r3, [pc, #428] ; (80510ec ) 8050f40: 2200 movs r2, #0 8050f42: 709a strb r2, [r3, #2] break; 8050f44: e028 b.n 8050f98 case Roll: focused = false; 8050f46: 4b68 ldr r3, [pc, #416] ; (80510e8 ) 8050f48: 2200 movs r2, #0 8050f4a: 701a strb r2, [r3, #0] pardata.FRQ = _4000Hz; 8050f4c: 4b67 ldr r3, [pc, #412] ; (80510ec ) 8050f4e: 2205 movs r2, #5 8050f50: 72da strb r2, [r3, #11] pardata.SYG = ROLL; 8050f52: 4b66 ldr r3, [pc, #408] ; (80510ec ) 8050f54: 2208 movs r2, #8 8050f56: 701a strb r2, [r3, #0] pardata.HP = 0.5f; 8050f58: 4b64 ldr r3, [pc, #400] ; (80510ec ) 8050f5a: f04f 527c mov.w r2, #1056964608 ; 0x3f000000 8050f5e: f8c3 20d4 str.w r2, [r3, #212] ; 0xd4 pardata.LP = 800.0f; 8050f62: 4b62 ldr r3, [pc, #392] ; (80510ec ) 8050f64: 4a66 ldr r2, [pc, #408] ; (8051100 ) 8050f66: f8c3 20d8 str.w r2, [r3, #216] ; 0xd8 menu = PARAM_ROLL; 8050f6a: 4b61 ldr r3, [pc, #388] ; (80510f0 ) 8050f6c: 220d movs r2, #13 8050f6e: 701a strb r2, [r3, #0] menupos = Ok; 8050f70: 4b60 ldr r3, [pc, #384] ; (80510f4 ) 8050f72: 2200 movs r2, #0 8050f74: 701a strb r2, [r3, #0] pardata.IVS[ACC] = PEAK; 8050f76: 4b5d ldr r3, [pc, #372] ; (80510ec ) 8050f78: 2200 movs r2, #0 8050f7a: 709a strb r2, [r3, #2] break; 8050f7c: e00d b.n 8050f9a case Udar: focused = false; 8050f7e: 4b5a ldr r3, [pc, #360] ; (80510e8 ) 8050f80: 2200 movs r2, #0 8050f82: 701a strb r2, [r3, #0] pardata.SYG = UDAR; 8050f84: 4b59 ldr r3, [pc, #356] ; (80510ec ) 8050f86: 2209 movs r2, #9 8050f88: 701a strb r2, [r3, #0] menu = PARAM_UDAR; 8050f8a: 4b59 ldr r3, [pc, #356] ; (80510f0 ) 8050f8c: 220e movs r2, #14 8050f8e: 701a strb r2, [r3, #0] menupos = Ok; 8050f90: 4b58 ldr r3, [pc, #352] ; (80510f4 ) 8050f92: 2200 movs r2, #0 8050f94: 701a strb r2, [r3, #0] break; 8050f96: e000 b.n 8050f9a break; 8050f98: bf00 nop } break; 8050f9a: f001 bed5 b.w 8052d48 case PARAM_DIAGN: if(menupos == DiagAverage) 8050f9e: 4b55 ldr r3, [pc, #340] ; (80510f4 ) 8050fa0: 781b ldrb r3, [r3, #0] 8050fa2: b2db uxtb r3, r3 8050fa4: 2b01 cmp r3, #1 8050fa6: d111 bne.n 8050fcc { if(!focused) 8050fa8: 4b4f ldr r3, [pc, #316] ; (80510e8 ) 8050faa: 781b ldrb r3, [r3, #0] 8050fac: b2db uxtb r3, r3 8050fae: f083 0301 eor.w r3, r3, #1 8050fb2: b2db uxtb r3, r3 8050fb4: 2b00 cmp r3, #0 8050fb6: d004 beq.n 8050fc2 focused = true; 8050fb8: 4b4b ldr r3, [pc, #300] ; (80510e8 ) 8050fba: 2201 movs r2, #1 8050fbc: 701a strb r2, [r3, #0] { menu = PARAM_DIAGN_1; lastmenupos = menupos; menupos = CURR_POINT; } break; 8050fbe: f001 bec5 b.w 8052d4c else focused = false; 8050fc2: 4b49 ldr r3, [pc, #292] ; (80510e8 ) 8050fc4: 2200 movs r2, #0 8050fc6: 701a strb r2, [r3, #0] break; 8050fc8: f001 bec0 b.w 8052d4c if(menupos == DiagMax_ALL) 8050fcc: 4b49 ldr r3, [pc, #292] ; (80510f4 ) 8050fce: 781b ldrb r3, [r3, #0] 8050fd0: b2db uxtb r3, r3 8050fd2: 2b03 cmp r3, #3 8050fd4: d104 bne.n 8050fe0 menupos = DiagMax_IET; 8050fd6: 4b47 ldr r3, [pc, #284] ; (80510f4 ) 8050fd8: 2206 movs r2, #6 8050fda: 701a strb r2, [r3, #0] break; 8050fdc: f001 beb6 b.w 8052d4c if((menupos >= DiagMax_IDT) && (menupos <= DiagMax_IKD)) 8050fe0: 4b44 ldr r3, [pc, #272] ; (80510f4 ) 8050fe2: 781b ldrb r3, [r3, #0] 8050fe4: b2db uxtb r3, r3 8050fe6: 2b04 cmp r3, #4 8050fe8: d909 bls.n 8050ffe 8050fea: 4b42 ldr r3, [pc, #264] ; (80510f4 ) 8050fec: 781b ldrb r3, [r3, #0] 8050fee: b2db uxtb r3, r3 8050ff0: 2b0a cmp r3, #10 8050ff2: d804 bhi.n 8050ffe menupos = DiagMax_ALL; 8050ff4: 4b3f ldr r3, [pc, #252] ; (80510f4 ) 8050ff6: 2203 movs r2, #3 8050ff8: 701a strb r2, [r3, #0] break; 8050ffa: f001 bea7 b.w 8052d4c if(menupos == DiagAutoKu) 8050ffe: 4b3d ldr r3, [pc, #244] ; (80510f4 ) 8051000: 781b ldrb r3, [r3, #0] 8051002: b2db uxtb r3, r3 8051004: 2b02 cmp r3, #2 8051006: d11a bne.n 805103e if(pardata.OPTIONS & 0x4) 8051008: 4b38 ldr r3, [pc, #224] ; (80510ec ) 805100a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805100e: f003 0304 and.w r3, r3, #4 8051012: 2b00 cmp r3, #0 8051014: d009 beq.n 805102a pardata.OPTIONS &= ~0x4; 8051016: 4b35 ldr r3, [pc, #212] ; (80510ec ) 8051018: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805101c: f023 0304 bic.w r3, r3, #4 8051020: 4a32 ldr r2, [pc, #200] ; (80510ec ) 8051022: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051026: f001 be91 b.w 8052d4c else pardata.OPTIONS |= 0x4; 805102a: 4b30 ldr r3, [pc, #192] ; (80510ec ) 805102c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051030: f043 0304 orr.w r3, r3, #4 8051034: 4a2d ldr r2, [pc, #180] ; (80510ec ) 8051036: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 805103a: f001 be87 b.w 8052d4c if(menupos == DiagSaveToFile) //TODO 805103e: 4b2d ldr r3, [pc, #180] ; (80510f4 ) 8051040: 781b ldrb r3, [r3, #0] 8051042: b2db uxtb r3, r3 8051044: 2b04 cmp r3, #4 8051046: d170 bne.n 805112a result = FR_NOT_READY; 8051048: 2303 movs r3, #3 805104a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 805104e: 4b2d ldr r3, [pc, #180] ; (8051104 ) 8051050: 781b ldrb r3, [r3, #0] 8051052: b2db uxtb r3, r3 8051054: 2b03 cmp r3, #3 8051056: d163 bne.n 8051120 CursorIndex = 0; 8051058: 4b2b ldr r3, [pc, #172] ; (8051108 ) 805105a: 2200 movs r2, #0 805105c: 601a str r2, [r3, #0] FirstFileIndex = 0; 805105e: 4b2b ldr r3, [pc, #172] ; (805110c ) 8051060: 2200 movs r2, #0 8051062: 601a str r2, [r3, #0] RealFileIndex = 0; 8051064: 4b2a ldr r3, [pc, #168] ; (8051110 ) 8051066: 2200 movs r2, #0 8051068: 601a str r2, [r3, #0] result = ReadNumFilesDGN((uint32_t *) &NumFilesDGN); 805106a: 482a ldr r0, [pc, #168] ; (8051114 ) 805106c: f7d9 fc8a bl 802a984 8051070: 4603 mov r3, r0 8051072: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8051076: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 805107a: 2b00 cmp r3, #0 805107c: d126 bne.n 80510cc result = ReadMyFilesDGN(FirstFileIndex); 805107e: 4b23 ldr r3, [pc, #140] ; (805110c ) 8051080: 681b ldr r3, [r3, #0] 8051082: 4618 mov r0, r3 8051084: f7d9 fd41 bl 802ab0a 8051088: 4603 mov r3, r0 805108a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 805108e: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8051092: 2b00 cmp r3, #0 8051094: d115 bne.n 80510c2 menu = EXPLORER_DIAGN; 8051096: 4b16 ldr r3, [pc, #88] ; (80510f0 ) 8051098: 222a movs r2, #42 ; 0x2a 805109a: 701a strb r2, [r3, #0] lastmenupos = menupos; 805109c: 4b15 ldr r3, [pc, #84] ; (80510f4 ) 805109e: 781b ldrb r3, [r3, #0] 80510a0: b2da uxtb r2, r3 80510a2: 4b1d ldr r3, [pc, #116] ; (8051118 ) 80510a4: 701a strb r2, [r3, #0] if(NumFilesDGN) 80510a6: 4b1b ldr r3, [pc, #108] ; (8051114 ) 80510a8: 681b ldr r3, [r3, #0] 80510aa: 2b00 cmp r3, #0 80510ac: d004 beq.n 80510b8 menupos = FilesDGN; 80510ae: 4b11 ldr r3, [pc, #68] ; (80510f4 ) 80510b0: 2202 movs r2, #2 80510b2: 701a strb r2, [r3, #0] break; 80510b4: f001 be4a b.w 8052d4c else menupos = NoFilesDGN; 80510b8: 4b0e ldr r3, [pc, #56] ; (80510f4 ) 80510ba: 2201 movs r2, #1 80510bc: 701a strb r2, [r3, #0] break; 80510be: f001 be45 b.w 8052d4c DiagFileName[0] = '\0'; 80510c2: 4b16 ldr r3, [pc, #88] ; (805111c ) 80510c4: 2200 movs r2, #0 80510c6: 701a strb r2, [r3, #0] break; 80510c8: f001 be40 b.w 8052d4c DiagFileName[0] = '\0'; 80510cc: 4b13 ldr r3, [pc, #76] ; (805111c ) 80510ce: 2200 movs r2, #0 80510d0: 701a strb r2, [r3, #0] break; 80510d2: f001 be3b b.w 8052d4c 80510d6: bf00 nop 80510d8: e0000000 .word 0xe0000000 80510dc: 3f0a36e2 .word 0x3f0a36e2 80510e0: eb1c432d .word 0xeb1c432d 80510e4: 3f1a36e2 .word 0x3f1a36e2 80510e8: 20020f84 .word 0x20020f84 80510ec: 20023e60 .word 0x20023e60 80510f0: 20020f78 .word 0x20020f78 80510f4: 20020070 .word 0x20020070 80510f8: 080ee8c8 .word 0x080ee8c8 80510fc: cccccccd .word 0xcccccccd 8051100: 44480000 .word 0x44480000 8051104: 2002164c .word 0x2002164c 8051108: 20020de0 .word 0x20020de0 805110c: 20020de4 .word 0x20020de4 8051110: 20020de8 .word 0x20020de8 8051114: 20020df8 .word 0x20020df8 8051118: 20020071 .word 0x20020071 805111c: 20020e7c .word 0x20020e7c DiagFileName[0] = '\0'; 8051120: 4bb1 ldr r3, [pc, #708] ; (80513e8 ) 8051122: 2200 movs r2, #0 8051124: 701a strb r2, [r3, #0] break; 8051126: f001 be11 b.w 8052d4c if(menupos == DiagUs) 805112a: 4bb0 ldr r3, [pc, #704] ; (80513ec ) 805112c: 781b ldrb r3, [r3, #0] 805112e: b2db uxtb r3, r3 8051130: 2b00 cmp r3, #0 8051132: f041 860b bne.w 8052d4c menu = PARAM_DIAGN_1; 8051136: 4bae ldr r3, [pc, #696] ; (80513f0 ) 8051138: 2210 movs r2, #16 805113a: 701a strb r2, [r3, #0] lastmenupos = menupos; 805113c: 4bab ldr r3, [pc, #684] ; (80513ec ) 805113e: 781b ldrb r3, [r3, #0] 8051140: b2da uxtb r2, r3 8051142: 4bac ldr r3, [pc, #688] ; (80513f4 ) 8051144: 701a strb r2, [r3, #0] menupos = CURR_POINT; 8051146: 4bac ldr r3, [pc, #688] ; (80513f8 ) 8051148: 781b ldrb r3, [r3, #0] 805114a: b2da uxtb r2, r3 805114c: 4ba7 ldr r3, [pc, #668] ; (80513ec ) 805114e: 701a strb r2, [r3, #0] break; 8051150: f001 bdfc b.w 8052d4c case PARAM_DIAGN_1: menu = PARAM_DIAGN_2; 8051154: 4ba6 ldr r3, [pc, #664] ; (80513f0 ) 8051156: 2211 movs r2, #17 8051158: 701a strb r2, [r3, #0] CURR_POINT = menupos; 805115a: 4ba4 ldr r3, [pc, #656] ; (80513ec ) 805115c: 781b ldrb r3, [r3, #0] 805115e: b2da uxtb r2, r3 8051160: 4ba5 ldr r3, [pc, #660] ; (80513f8 ) 8051162: 701a strb r2, [r3, #0] CURR_USL = Us1; 8051164: 4ba5 ldr r3, [pc, #660] ; (80513fc ) 8051166: 2200 movs r2, #0 8051168: 701a strb r2, [r3, #0] menupos = Ok; 805116a: 4ba0 ldr r3, [pc, #640] ; (80513ec ) 805116c: 2200 movs r2, #0 805116e: 701a strb r2, [r3, #0] break; 8051170: f001 be05 b.w 8052d7e case PARAM_DIAGN_2: if((menupos >= DiagHP_IDT) && (menupos <= DiagHP_IKD)) { 8051174: 4b9d ldr r3, [pc, #628] ; (80513ec ) 8051176: 781b ldrb r3, [r3, #0] 8051178: b2db uxtb r3, r3 805117a: 2b0c cmp r3, #12 805117c: d908 bls.n 8051190 805117e: 4b9b ldr r3, [pc, #620] ; (80513ec ) 8051180: 781b ldrb r3, [r3, #0] 8051182: b2db uxtb r3, r3 8051184: 2b12 cmp r3, #18 8051186: d803 bhi.n 8051190 menupos = DiagHP; 8051188: 4b98 ldr r3, [pc, #608] ; (80513ec ) 805118a: 2209 movs r2, #9 805118c: 701a strb r2, [r3, #0] 805118e: e0a5 b.n 80512dc } else if((menupos >= DiagLP_IDT) && (menupos <= DiagLP_IKD)) { 8051190: 4b96 ldr r3, [pc, #600] ; (80513ec ) 8051192: 781b ldrb r3, [r3, #0] 8051194: b2db uxtb r3, r3 8051196: 2b12 cmp r3, #18 8051198: d908 bls.n 80511ac 805119a: 4b94 ldr r3, [pc, #592] ; (80513ec ) 805119c: 781b ldrb r3, [r3, #0] 805119e: b2db uxtb r3, r3 80511a0: 2b18 cmp r3, #24 80511a2: d803 bhi.n 80511ac menupos = DiagLP; 80511a4: 4b91 ldr r3, [pc, #580] ; (80513ec ) 80511a6: 220a movs r2, #10 80511a8: 701a strb r2, [r3, #0] 80511aa: e097 b.n 80512dc } else if((menupos >= DiagW_IDT) && (menupos <= DiagW_IKD)) { 80511ac: 4b8f ldr r3, [pc, #572] ; (80513ec ) 80511ae: 781b ldrb r3, [r3, #0] 80511b0: b2db uxtb r3, r3 80511b2: 2b18 cmp r3, #24 80511b4: d908 bls.n 80511c8 80511b6: 4b8d ldr r3, [pc, #564] ; (80513ec ) 80511b8: 781b ldrb r3, [r3, #0] 80511ba: b2db uxtb r3, r3 80511bc: 2b1e cmp r3, #30 80511be: d803 bhi.n 80511c8 menupos = Diag_W; 80511c0: 4b8a ldr r3, [pc, #552] ; (80513ec ) 80511c2: 220b movs r2, #11 80511c4: 701a strb r2, [r3, #0] 80511c6: e089 b.n 80512dc } else if((menupos >= DiagA_IDT) && (menupos <= DiagA_IKD)) { 80511c8: 4b88 ldr r3, [pc, #544] ; (80513ec ) 80511ca: 781b ldrb r3, [r3, #0] 80511cc: b2db uxtb r3, r3 80511ce: 2b1e cmp r3, #30 80511d0: d908 bls.n 80511e4 80511d2: 4b86 ldr r3, [pc, #536] ; (80513ec ) 80511d4: 781b ldrb r3, [r3, #0] 80511d6: b2db uxtb r3, r3 80511d8: 2b24 cmp r3, #36 ; 0x24 80511da: d803 bhi.n 80511e4 menupos = Diag_A; 80511dc: 4b83 ldr r3, [pc, #524] ; (80513ec ) 80511de: 220c movs r2, #12 80511e0: 701a strb r2, [r3, #0] 80511e2: e07b b.n 80512dc } else { switch(menupos) 80511e4: 4b81 ldr r3, [pc, #516] ; (80513ec ) 80511e6: 781b ldrb r3, [r3, #0] 80511e8: b2db uxtb r3, r3 80511ea: 2b0c cmp r3, #12 80511ec: f201 85b0 bhi.w 8052d50 80511f0: a201 add r2, pc, #4 ; (adr r2, 80511f8 ) 80511f2: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80511f6: bf00 nop 80511f8: 08051295 .word 0x08051295 80511fc: 08052d51 .word 0x08052d51 8051200: 08051275 .word 0x08051275 8051204: 08052d51 .word 0x08052d51 8051208: 08051275 .word 0x08051275 805120c: 08052d51 .word 0x08052d51 8051210: 0805124d .word 0x0805124d 8051214: 08051275 .word 0x08051275 8051218: 08051275 .word 0x08051275 805121c: 0805122d .word 0x0805122d 8051220: 08051235 .word 0x08051235 8051224: 0805123d .word 0x0805123d 8051228: 08051245 .word 0x08051245 { case DiagHP: menupos = DiagHP_IET; 805122c: 4b6f ldr r3, [pc, #444] ; (80513ec ) 805122e: 220e movs r2, #14 8051230: 701a strb r2, [r3, #0] break; 8051232: e053 b.n 80512dc case DiagLP: menupos = DiagLP_IET; 8051234: 4b6d ldr r3, [pc, #436] ; (80513ec ) 8051236: 2214 movs r2, #20 8051238: 701a strb r2, [r3, #0] break; 805123a: e04f b.n 80512dc case Diag_W: menupos = DiagW_IET; 805123c: 4b6b ldr r3, [pc, #428] ; (80513ec ) 805123e: 221a movs r2, #26 8051240: 701a strb r2, [r3, #0] break; 8051242: e04b b.n 80512dc case Diag_A: menupos = DiagA_IET; 8051244: 4b69 ldr r3, [pc, #420] ; (80513ec ) 8051246: 2220 movs r2, #32 8051248: 701a strb r2, [r3, #0] break; 805124a: e047 b.n 80512dc case DiagName: //todo memset(TEMP_Name, 0, sizeof(TEMP_Name)); 805124c: 2221 movs r2, #33 ; 0x21 805124e: 2100 movs r1, #0 8051250: 486b ldr r0, [pc, #428] ; (8051400 ) 8051252: f07b ff15 bl 80cd080 NameLen = 0; 8051256: 4b6b ldr r3, [pc, #428] ; (8051404 ) 8051258: 2200 movs r2, #0 805125a: 601a str r2, [r3, #0] lastmenupos = menupos; 805125c: 4b63 ldr r3, [pc, #396] ; (80513ec ) 805125e: 781b ldrb r3, [r3, #0] 8051260: b2da uxtb r2, r3 8051262: 4b64 ldr r3, [pc, #400] ; (80513f4 ) 8051264: 701a strb r2, [r3, #0] menu = INPUT_NAME; 8051266: 4b62 ldr r3, [pc, #392] ; (80513f0 ) 8051268: 2233 movs r2, #51 ; 0x33 805126a: 701a strb r2, [r3, #0] menupos = _CANCEL; 805126c: 4b5f ldr r3, [pc, #380] ; (80513ec ) 805126e: 2227 movs r2, #39 ; 0x27 8051270: 701a strb r2, [r3, #0] break; 8051272: e033 b.n 80512dc case DiagOp1: case DiagOp2: case DiagAVS: case DiagValue: if(!focused) 8051274: 4b64 ldr r3, [pc, #400] ; (8051408 ) 8051276: 781b ldrb r3, [r3, #0] 8051278: b2db uxtb r3, r3 805127a: f083 0301 eor.w r3, r3, #1 805127e: b2db uxtb r3, r3 8051280: 2b00 cmp r3, #0 8051282: d003 beq.n 805128c focused = true; 8051284: 4b60 ldr r3, [pc, #384] ; (8051408 ) 8051286: 2201 movs r2, #1 8051288: 701a strb r2, [r3, #0] else focused = false; break; 805128a: e027 b.n 80512dc else focused = false; 805128c: 4b5e ldr r3, [pc, #376] ; (8051408 ) 805128e: 2200 movs r2, #0 8051290: 701a strb r2, [r3, #0] break; 8051292: e023 b.n 80512dc case Ok: arm_fill_f32(0.0f, operand, 4); 8051294: 2104 movs r1, #4 8051296: 485d ldr r0, [pc, #372] ; (805140c ) 8051298: ed9f 0a5d vldr s0, [pc, #372] ; 8051410 805129c: f078 fd4e bl 80c9d3c result = GetPointAndIndexDGN(DiagFileName); 80512a0: 4851 ldr r0, [pc, #324] ; (80513e8 ) 80512a2: f7d4 fd3b bl 8025d1c 80512a6: 4603 mov r3, r0 80512a8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result != FR_OK) { 80512ac: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80512b0: 2b00 cmp r3, #0 80512b2: d002 beq.n 80512ba MeasFileName[0] = '\0'; 80512b4: 4b57 ldr r3, [pc, #348] ; (8051414 ) 80512b6: 2200 movs r2, #0 80512b8: 701a strb r2, [r3, #0] } menu = MAIN_DIAGN; 80512ba: 4b4d ldr r3, [pc, #308] ; (80513f0 ) 80512bc: 2226 movs r2, #38 ; 0x26 80512be: 701a strb r2, [r3, #0] lastmenupos = menupos; 80512c0: 4b4a ldr r3, [pc, #296] ; (80513ec ) 80512c2: 781b ldrb r3, [r3, #0] 80512c4: b2da uxtb r2, r3 80512c6: 4b4b ldr r3, [pc, #300] ; (80513f4 ) 80512c8: 701a strb r2, [r3, #0] menupos = StartStop; 80512ca: 4b48 ldr r3, [pc, #288] ; (80513ec ) 80512cc: 2200 movs r2, #0 80512ce: 701a strb r2, [r3, #0] initAmplif(); 80512d0: f7d0 fbe0 bl 8021a94 FIRST = true; 80512d4: 4b50 ldr r3, [pc, #320] ; (8051418 ) 80512d6: 2201 movs r2, #1 80512d8: 701a strb r2, [r3, #0] break; 80512da: bf00 nop } } break; 80512dc: f001 bd38 b.w 8052d50 case PARAM_UDAR: if(menupos == UdarInner) 80512e0: 4b42 ldr r3, [pc, #264] ; (80513ec ) 80512e2: 781b ldrb r3, [r3, #0] 80512e4: b2db uxtb r3, r3 80512e6: 2b02 cmp r3, #2 80512e8: d104 bne.n 80512f4 menupos = UdarInner_IES; 80512ea: 4b40 ldr r3, [pc, #256] ; (80513ec ) 80512ec: 2207 movs r2, #7 80512ee: 701a strb r2, [r3, #0] FIRST = true; FirstStart = true; SeeResults = false; } break; 80512f0: f001 bd30 b.w 8052d54 if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 80512f4: 4b3d ldr r3, [pc, #244] ; (80513ec ) 80512f6: 781b ldrb r3, [r3, #0] 80512f8: b2db uxtb r3, r3 80512fa: 2b06 cmp r3, #6 80512fc: d908 bls.n 8051310 80512fe: 4b3b ldr r3, [pc, #236] ; (80513ec ) 8051300: 781b ldrb r3, [r3, #0] 8051302: b2db uxtb r3, r3 8051304: 2b0c cmp r3, #12 8051306: d803 bhi.n 8051310 menupos = UdarInner; 8051308: 4b38 ldr r3, [pc, #224] ; (80513ec ) 805130a: 2202 movs r2, #2 805130c: 701a strb r2, [r3, #0] 805130e: e03b b.n 8051388 if(menupos == UdarRate) 8051310: 4b36 ldr r3, [pc, #216] ; (80513ec ) 8051312: 781b ldrb r3, [r3, #0] 8051314: b2db uxtb r3, r3 8051316: 2b01 cmp r3, #1 8051318: d104 bne.n 8051324 menupos = UdarRate_IEE; 805131a: 4b34 ldr r3, [pc, #208] ; (80513ec ) 805131c: 2206 movs r2, #6 805131e: 701a strb r2, [r3, #0] break; 8051320: f001 bd18 b.w 8052d54 if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 8051324: 4b31 ldr r3, [pc, #196] ; (80513ec ) 8051326: 781b ldrb r3, [r3, #0] 8051328: b2db uxtb r3, r3 805132a: 2b02 cmp r3, #2 805132c: d908 bls.n 8051340 805132e: 4b2f ldr r3, [pc, #188] ; (80513ec ) 8051330: 781b ldrb r3, [r3, #0] 8051332: b2db uxtb r3, r3 8051334: 2b06 cmp r3, #6 8051336: d803 bhi.n 8051340 menupos = UdarRate; 8051338: 4b2c ldr r3, [pc, #176] ; (80513ec ) 805133a: 2201 movs r2, #1 805133c: 701a strb r2, [r3, #0] 805133e: e023 b.n 8051388 if(menupos == Ok) 8051340: 4b2a ldr r3, [pc, #168] ; (80513ec ) 8051342: 781b ldrb r3, [r3, #0] 8051344: b2db uxtb r3, r3 8051346: 2b00 cmp r3, #0 8051348: f041 8504 bne.w 8052d54 menu = MAIN_UDAR; 805134c: 4b28 ldr r3, [pc, #160] ; (80513f0 ) 805134e: 2225 movs r2, #37 ; 0x25 8051350: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051352: 4b26 ldr r3, [pc, #152] ; (80513ec ) 8051354: 781b ldrb r3, [r3, #0] 8051356: b2da uxtb r2, r3 8051358: 4b26 ldr r3, [pc, #152] ; (80513f4 ) 805135a: 701a strb r2, [r3, #0] menupos = StartStop; 805135c: 4b23 ldr r3, [pc, #140] ; (80513ec ) 805135e: 2200 movs r2, #0 8051360: 701a strb r2, [r3, #0] pardata.SYG = UDAR; 8051362: 4b2e ldr r3, [pc, #184] ; (805141c ) 8051364: 2209 movs r2, #9 8051366: 701a strb r2, [r3, #0] Threshold = false; 8051368: 4b2d ldr r3, [pc, #180] ; (8051420 ) 805136a: 2200 movs r2, #0 805136c: 701a strb r2, [r3, #0] initAmplif(); 805136e: f7d0 fb91 bl 8021a94 FIRST = true; 8051372: 4b29 ldr r3, [pc, #164] ; (8051418 ) 8051374: 2201 movs r2, #1 8051376: 701a strb r2, [r3, #0] FirstStart = true; 8051378: 4b2a ldr r3, [pc, #168] ; (8051424 ) 805137a: 2201 movs r2, #1 805137c: 701a strb r2, [r3, #0] SeeResults = false; 805137e: 4b2a ldr r3, [pc, #168] ; (8051428 ) 8051380: 2200 movs r2, #0 8051382: 701a strb r2, [r3, #0] break; 8051384: f001 bce6 b.w 8052d54 8051388: f001 bce4 b.w 8052d54 case PARAM_ROLL: if(menupos == RollCount) 805138c: 4b17 ldr r3, [pc, #92] ; (80513ec ) 805138e: 781b ldrb r3, [r3, #0] 8051390: b2db uxtb r3, r3 8051392: 2b01 cmp r3, #1 8051394: d111 bne.n 80513ba { if(!focused) 8051396: 4b1c ldr r3, [pc, #112] ; (8051408 ) 8051398: 781b ldrb r3, [r3, #0] 805139a: b2db uxtb r3, r3 805139c: f083 0301 eor.w r3, r3, #1 80513a0: b2db uxtb r3, r3 80513a2: 2b00 cmp r3, #0 80513a4: d004 beq.n 80513b0 focused = true; 80513a6: 4b18 ldr r3, [pc, #96] ; (8051408 ) 80513a8: 2201 movs r2, #1 80513aa: 701a strb r2, [r3, #0] FIRST = true; FirstStart = true; SeeResults = false; } break; 80513ac: f001 bcd4 b.w 8052d58 else focused = false; 80513b0: 4b15 ldr r3, [pc, #84] ; (8051408 ) 80513b2: 2200 movs r2, #0 80513b4: 701a strb r2, [r3, #0] break; 80513b6: f001 bccf b.w 8052d58 if(menupos == RollAverage) 80513ba: 4b0c ldr r3, [pc, #48] ; (80513ec ) 80513bc: 781b ldrb r3, [r3, #0] 80513be: b2db uxtb r3, r3 80513c0: 2b06 cmp r3, #6 80513c2: d133 bne.n 805142c if(!focused) 80513c4: 4b10 ldr r3, [pc, #64] ; (8051408 ) 80513c6: 781b ldrb r3, [r3, #0] 80513c8: b2db uxtb r3, r3 80513ca: f083 0301 eor.w r3, r3, #1 80513ce: b2db uxtb r3, r3 80513d0: 2b00 cmp r3, #0 80513d2: d004 beq.n 80513de focused = true; 80513d4: 4b0c ldr r3, [pc, #48] ; (8051408 ) 80513d6: 2201 movs r2, #1 80513d8: 701a strb r2, [r3, #0] break; 80513da: f001 bcbd b.w 8052d58 else focused = false; 80513de: 4b0a ldr r3, [pc, #40] ; (8051408 ) 80513e0: 2200 movs r2, #0 80513e2: 701a strb r2, [r3, #0] break; 80513e4: f001 bcb8 b.w 8052d58 80513e8: 20020e7c .word 0x20020e7c 80513ec: 20020070 .word 0x20020070 80513f0: 20020f78 .word 0x20020f78 80513f4: 20020071 .word 0x20020071 80513f8: 20021011 .word 0x20021011 80513fc: 20021013 .word 0x20021013 8051400: 20025cf4 .word 0x20025cf4 8051404: 20020ef4 .word 0x20020ef4 8051408: 20020f84 .word 0x20020f84 805140c: 200268d8 .word 0x200268d8 8051410: 00000000 .word 0x00000000 8051414: 20020e58 .word 0x20020e58 8051418: 20020db2 .word 0x20020db2 805141c: 20023e60 .word 0x20023e60 8051420: 20020db1 .word 0x20020db1 8051424: 20020068 .word 0x20020068 8051428: 20020d68 .word 0x20020d68 if(menupos == RollMax_ALL) 805142c: 4bb3 ldr r3, [pc, #716] ; (80516fc ) 805142e: 781b ldrb r3, [r3, #0] 8051430: b2db uxtb r3, r3 8051432: 2b08 cmp r3, #8 8051434: d104 bne.n 8051440 menupos = RollMax_IET; 8051436: 4bb1 ldr r3, [pc, #708] ; (80516fc ) 8051438: 2227 movs r2, #39 ; 0x27 805143a: 701a strb r2, [r3, #0] break; 805143c: f001 bc8c b.w 8052d58 if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 8051440: 4bae ldr r3, [pc, #696] ; (80516fc ) 8051442: 781b ldrb r3, [r3, #0] 8051444: b2db uxtb r3, r3 8051446: 2b25 cmp r3, #37 ; 0x25 8051448: d908 bls.n 805145c 805144a: 4bac ldr r3, [pc, #688] ; (80516fc ) 805144c: 781b ldrb r3, [r3, #0] 805144e: b2db uxtb r3, r3 8051450: 2b2b cmp r3, #43 ; 0x2b 8051452: d803 bhi.n 805145c menupos = RollMax_ALL; 8051454: 4ba9 ldr r3, [pc, #676] ; (80516fc ) 8051456: 2208 movs r2, #8 8051458: 701a strb r2, [r3, #0] 805145a: e0bb b.n 80515d4 if(menupos == D_Roll) 805145c: 4ba7 ldr r3, [pc, #668] ; (80516fc ) 805145e: 781b ldrb r3, [r3, #0] 8051460: b2db uxtb r3, r3 8051462: 2b02 cmp r3, #2 8051464: d104 bne.n 8051470 menupos = D_Roll_IEE; 8051466: 4ba5 ldr r3, [pc, #660] ; (80516fc ) 8051468: 220c movs r2, #12 805146a: 701a strb r2, [r3, #0] break; 805146c: f001 bc74 b.w 8052d58 if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 8051470: 4ba2 ldr r3, [pc, #648] ; (80516fc ) 8051472: 781b ldrb r3, [r3, #0] 8051474: b2db uxtb r3, r3 8051476: 2b09 cmp r3, #9 8051478: d908 bls.n 805148c 805147a: 4ba0 ldr r3, [pc, #640] ; (80516fc ) 805147c: 781b ldrb r3, [r3, #0] 805147e: b2db uxtb r3, r3 8051480: 2b0f cmp r3, #15 8051482: d803 bhi.n 805148c menupos = D_Roll; 8051484: 4b9d ldr r3, [pc, #628] ; (80516fc ) 8051486: 2202 movs r2, #2 8051488: 701a strb r2, [r3, #0] 805148a: e0a3 b.n 80515d4 if(menupos == D_Outer) 805148c: 4b9b ldr r3, [pc, #620] ; (80516fc ) 805148e: 781b ldrb r3, [r3, #0] 8051490: b2db uxtb r3, r3 8051492: 2b03 cmp r3, #3 8051494: d104 bne.n 80514a0 menupos = D_Outer_IEE; 8051496: 4b99 ldr r3, [pc, #612] ; (80516fc ) 8051498: 2212 movs r2, #18 805149a: 701a strb r2, [r3, #0] break; 805149c: f001 bc5c b.w 8052d58 if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 80514a0: 4b96 ldr r3, [pc, #600] ; (80516fc ) 80514a2: 781b ldrb r3, [r3, #0] 80514a4: b2db uxtb r3, r3 80514a6: 2b0f cmp r3, #15 80514a8: d908 bls.n 80514bc 80514aa: 4b94 ldr r3, [pc, #592] ; (80516fc ) 80514ac: 781b ldrb r3, [r3, #0] 80514ae: b2db uxtb r3, r3 80514b0: 2b15 cmp r3, #21 80514b2: d803 bhi.n 80514bc menupos = D_Outer; 80514b4: 4b91 ldr r3, [pc, #580] ; (80516fc ) 80514b6: 2203 movs r2, #3 80514b8: 701a strb r2, [r3, #0] 80514ba: e08b b.n 80515d4 if(menupos == D_Inner) 80514bc: 4b8f ldr r3, [pc, #572] ; (80516fc ) 80514be: 781b ldrb r3, [r3, #0] 80514c0: b2db uxtb r3, r3 80514c2: 2b04 cmp r3, #4 80514c4: d104 bne.n 80514d0 menupos = D_Inner_IEE; 80514c6: 4b8d ldr r3, [pc, #564] ; (80516fc ) 80514c8: 2218 movs r2, #24 80514ca: 701a strb r2, [r3, #0] break; 80514cc: f001 bc44 b.w 8052d58 if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 80514d0: 4b8a ldr r3, [pc, #552] ; (80516fc ) 80514d2: 781b ldrb r3, [r3, #0] 80514d4: b2db uxtb r3, r3 80514d6: 2b15 cmp r3, #21 80514d8: d908 bls.n 80514ec 80514da: 4b88 ldr r3, [pc, #544] ; (80516fc ) 80514dc: 781b ldrb r3, [r3, #0] 80514de: b2db uxtb r3, r3 80514e0: 2b1b cmp r3, #27 80514e2: d803 bhi.n 80514ec menupos = D_Inner; 80514e4: 4b85 ldr r3, [pc, #532] ; (80516fc ) 80514e6: 2204 movs r2, #4 80514e8: 701a strb r2, [r3, #0] 80514ea: e073 b.n 80515d4 if(menupos == D_Angle) 80514ec: 4b83 ldr r3, [pc, #524] ; (80516fc ) 80514ee: 781b ldrb r3, [r3, #0] 80514f0: b2db uxtb r3, r3 80514f2: 2b05 cmp r3, #5 80514f4: d104 bne.n 8051500 menupos = D_Angle_IEE; 80514f6: 4b81 ldr r3, [pc, #516] ; (80516fc ) 80514f8: 221e movs r2, #30 80514fa: 701a strb r2, [r3, #0] break; 80514fc: f001 bc2c b.w 8052d58 if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 8051500: 4b7e ldr r3, [pc, #504] ; (80516fc ) 8051502: 781b ldrb r3, [r3, #0] 8051504: b2db uxtb r3, r3 8051506: 2b1b cmp r3, #27 8051508: d908 bls.n 805151c 805150a: 4b7c ldr r3, [pc, #496] ; (80516fc ) 805150c: 781b ldrb r3, [r3, #0] 805150e: b2db uxtb r3, r3 8051510: 2b21 cmp r3, #33 ; 0x21 8051512: d803 bhi.n 805151c menupos = D_Angle; 8051514: 4b79 ldr r3, [pc, #484] ; (80516fc ) 8051516: 2205 movs r2, #5 8051518: 701a strb r2, [r3, #0] 805151a: e05b b.n 80515d4 if(menupos == D_Rate) 805151c: 4b77 ldr r3, [pc, #476] ; (80516fc ) 805151e: 781b ldrb r3, [r3, #0] 8051520: b2db uxtb r3, r3 8051522: 2b09 cmp r3, #9 8051524: d104 bne.n 8051530 menupos = D_Rate_IEE; 8051526: 4b75 ldr r3, [pc, #468] ; (80516fc ) 8051528: 2225 movs r2, #37 ; 0x25 805152a: 701a strb r2, [r3, #0] break; 805152c: f001 bc14 b.w 8052d58 if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 8051530: 4b72 ldr r3, [pc, #456] ; (80516fc ) 8051532: 781b ldrb r3, [r3, #0] 8051534: b2db uxtb r3, r3 8051536: 2b21 cmp r3, #33 ; 0x21 8051538: d908 bls.n 805154c 805153a: 4b70 ldr r3, [pc, #448] ; (80516fc ) 805153c: 781b ldrb r3, [r3, #0] 805153e: b2db uxtb r3, r3 8051540: 2b25 cmp r3, #37 ; 0x25 8051542: d803 bhi.n 805154c menupos = D_Rate; 8051544: 4b6d ldr r3, [pc, #436] ; (80516fc ) 8051546: 2209 movs r2, #9 8051548: 701a strb r2, [r3, #0] 805154a: e043 b.n 80515d4 if(menupos == RollAutoKu) 805154c: 4b6b ldr r3, [pc, #428] ; (80516fc ) 805154e: 781b ldrb r3, [r3, #0] 8051550: b2db uxtb r3, r3 8051552: 2b07 cmp r3, #7 8051554: d11a bne.n 805158c if(pardata.OPTIONS & 0x4) 8051556: 4b6a ldr r3, [pc, #424] ; (8051700 ) 8051558: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805155c: f003 0304 and.w r3, r3, #4 8051560: 2b00 cmp r3, #0 8051562: d009 beq.n 8051578 pardata.OPTIONS &= ~0x4; 8051564: 4b66 ldr r3, [pc, #408] ; (8051700 ) 8051566: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805156a: f023 0304 bic.w r3, r3, #4 805156e: 4a64 ldr r2, [pc, #400] ; (8051700 ) 8051570: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051574: f001 bbf0 b.w 8052d58 else pardata.OPTIONS |= 0x4; 8051578: 4b61 ldr r3, [pc, #388] ; (8051700 ) 805157a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805157e: f043 0304 orr.w r3, r3, #4 8051582: 4a5f ldr r2, [pc, #380] ; (8051700 ) 8051584: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051588: f001 bbe6 b.w 8052d58 if(menupos == Ok) 805158c: 4b5b ldr r3, [pc, #364] ; (80516fc ) 805158e: 781b ldrb r3, [r3, #0] 8051590: b2db uxtb r3, r3 8051592: 2b00 cmp r3, #0 8051594: f041 83e0 bne.w 8052d58 menu = MAIN_ROLL; 8051598: 4b5a ldr r3, [pc, #360] ; (8051704 ) 805159a: 2224 movs r2, #36 ; 0x24 805159c: 701a strb r2, [r3, #0] lastmenupos = menupos; 805159e: 4b57 ldr r3, [pc, #348] ; (80516fc ) 80515a0: 781b ldrb r3, [r3, #0] 80515a2: b2da uxtb r2, r3 80515a4: 4b58 ldr r3, [pc, #352] ; (8051708 ) 80515a6: 701a strb r2, [r3, #0] menupos = StartStop; 80515a8: 4b54 ldr r3, [pc, #336] ; (80516fc ) 80515aa: 2200 movs r2, #0 80515ac: 701a strb r2, [r3, #0] pardata.SYG = ROLL; 80515ae: 4b54 ldr r3, [pc, #336] ; (8051700 ) 80515b0: 2208 movs r2, #8 80515b2: 701a strb r2, [r3, #0] Threshold = false; 80515b4: 4b55 ldr r3, [pc, #340] ; (805170c ) 80515b6: 2200 movs r2, #0 80515b8: 701a strb r2, [r3, #0] initAmplif(); 80515ba: f7d0 fa6b bl 8021a94 FIRST = true; 80515be: 4b54 ldr r3, [pc, #336] ; (8051710 ) 80515c0: 2201 movs r2, #1 80515c2: 701a strb r2, [r3, #0] FirstStart = true; 80515c4: 4b53 ldr r3, [pc, #332] ; (8051714 ) 80515c6: 2201 movs r2, #1 80515c8: 701a strb r2, [r3, #0] SeeResults = false; 80515ca: 4b53 ldr r3, [pc, #332] ; (8051718 ) 80515cc: 2200 movs r2, #0 80515ce: 701a strb r2, [r3, #0] break; 80515d0: f001 bbc2 b.w 8052d58 80515d4: f001 bbc0 b.w 8052d58 case PARAM_VIB: if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) { 80515d8: 4b48 ldr r3, [pc, #288] ; (80516fc ) 80515da: 781b ldrb r3, [r3, #0] 80515dc: b2db uxtb r3, r3 80515de: 2b0a cmp r3, #10 80515e0: d908 bls.n 80515f4 80515e2: 4b46 ldr r3, [pc, #280] ; (80516fc ) 80515e4: 781b ldrb r3, [r3, #0] 80515e6: b2db uxtb r3, r3 80515e8: 2b10 cmp r3, #16 80515ea: d803 bhi.n 80515f4 menupos = VibMax_ALL; 80515ec: 4b43 ldr r3, [pc, #268] ; (80516fc ) 80515ee: 2209 movs r2, #9 80515f0: 701a strb r2, [r3, #0] 80515f2: e173 b.n 80518dc } else if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) { 80515f4: 4b41 ldr r3, [pc, #260] ; (80516fc ) 80515f6: 781b ldrb r3, [r3, #0] 80515f8: b2db uxtb r3, r3 80515fa: 2b18 cmp r3, #24 80515fc: d908 bls.n 8051610 80515fe: 4b3f ldr r3, [pc, #252] ; (80516fc ) 8051600: 781b ldrb r3, [r3, #0] 8051602: b2db uxtb r3, r3 8051604: 2b1e cmp r3, #30 8051606: d803 bhi.n 8051610 menupos = FilterHP; 8051608: 4b3c ldr r3, [pc, #240] ; (80516fc ) 805160a: 2217 movs r2, #23 805160c: 701a strb r2, [r3, #0] 805160e: e165 b.n 80518dc } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) { 8051610: 4b3a ldr r3, [pc, #232] ; (80516fc ) 8051612: 781b ldrb r3, [r3, #0] 8051614: b2db uxtb r3, r3 8051616: 2b1e cmp r3, #30 8051618: d908 bls.n 805162c 805161a: 4b38 ldr r3, [pc, #224] ; (80516fc ) 805161c: 781b ldrb r3, [r3, #0] 805161e: b2db uxtb r3, r3 8051620: 2b24 cmp r3, #36 ; 0x24 8051622: d803 bhi.n 805162c menupos = FilterLP; 8051624: 4b35 ldr r3, [pc, #212] ; (80516fc ) 8051626: 2218 movs r2, #24 8051628: 701a strb r2, [r3, #0] 805162a: e157 b.n 80518dc } else { switch(menupos) 805162c: 4b33 ldr r3, [pc, #204] ; (80516fc ) 805162e: 781b ldrb r3, [r3, #0] 8051630: b2db uxtb r3, r3 8051632: 2b18 cmp r3, #24 8051634: f201 8392 bhi.w 8052d5c 8051638: a201 add r2, pc, #4 ; (adr r2, 8051640 ) 805163a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805163e: bf00 nop 8051640: 08051825 .word 0x08051825 8051644: 08052d5d .word 0x08052d5d 8051648: 080516a5 .word 0x080516a5 805164c: 080516a5 .word 0x080516a5 8051650: 080516a5 .word 0x080516a5 8051654: 080516a5 .word 0x080516a5 8051658: 080516dd .word 0x080516dd 805165c: 08051765 .word 0x08051765 8051660: 08051733 .word 0x08051733 8051664: 080516d5 .word 0x080516d5 8051668: 08051797 .word 0x08051797 805166c: 08052d5d .word 0x08052d5d 8051670: 08052d5d .word 0x08052d5d 8051674: 08052d5d .word 0x08052d5d 8051678: 08052d5d .word 0x08052d5d 805167c: 08052d5d .word 0x08052d5d 8051680: 08052d5d .word 0x08052d5d 8051684: 08052d5d .word 0x08052d5d 8051688: 08052d5d .word 0x08052d5d 805168c: 08052d5d .word 0x08052d5d 8051690: 08052d5d .word 0x08052d5d 8051694: 08052d5d .word 0x08052d5d 8051698: 08052d5d .word 0x08052d5d 805169c: 080516c5 .word 0x080516c5 80516a0: 080516cd .word 0x080516cd { case ValueA: case ValueV: case ValueS: case Average: if(!focused) 80516a4: 4b1d ldr r3, [pc, #116] ; (805171c ) 80516a6: 781b ldrb r3, [r3, #0] 80516a8: b2db uxtb r3, r3 80516aa: f083 0301 eor.w r3, r3, #1 80516ae: b2db uxtb r3, r3 80516b0: 2b00 cmp r3, #0 80516b2: d003 beq.n 80516bc focused = true; 80516b4: 4b19 ldr r3, [pc, #100] ; (805171c ) 80516b6: 2201 movs r2, #1 80516b8: 701a strb r2, [r3, #0] else focused = false; break; 80516ba: e10f b.n 80518dc else focused = false; 80516bc: 4b17 ldr r3, [pc, #92] ; (805171c ) 80516be: 2200 movs r2, #0 80516c0: 701a strb r2, [r3, #0] break; 80516c2: e10b b.n 80518dc case FilterHP: menupos = FilterHP_IET; 80516c4: 4b0d ldr r3, [pc, #52] ; (80516fc ) 80516c6: 221a movs r2, #26 80516c8: 701a strb r2, [r3, #0] break; 80516ca: e107 b.n 80518dc case FilterLP: menupos = FilterLP_IET; 80516cc: 4b0b ldr r3, [pc, #44] ; (80516fc ) 80516ce: 2220 movs r2, #32 80516d0: 701a strb r2, [r3, #0] break; 80516d2: e103 b.n 80518dc case VibMax_ALL: menupos = VibMax_IET; 80516d4: 4b09 ldr r3, [pc, #36] ; (80516fc ) 80516d6: 220c movs r2, #12 80516d8: 701a strb r2, [r3, #0] break; 80516da: e0ff b.n 80518dc case Mediana: if(pardata.OPTIONS & 0x1) 80516dc: 4b08 ldr r3, [pc, #32] ; (8051700 ) 80516de: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80516e2: f003 0301 and.w r3, r3, #1 80516e6: 2b00 cmp r3, #0 80516e8: d01a beq.n 8051720 pardata.OPTIONS &= ~0x1; 80516ea: 4b05 ldr r3, [pc, #20] ; (8051700 ) 80516ec: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80516f0: f023 0301 bic.w r3, r3, #1 80516f4: 4a02 ldr r2, [pc, #8] ; (8051700 ) 80516f6: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= 0x1; break; 80516fa: e0ef b.n 80518dc 80516fc: 20020070 .word 0x20020070 8051700: 20023e60 .word 0x20023e60 8051704: 20020f78 .word 0x20020f78 8051708: 20020071 .word 0x20020071 805170c: 20020db1 .word 0x20020db1 8051710: 20020db2 .word 0x20020db2 8051714: 20020068 .word 0x20020068 8051718: 20020d68 .word 0x20020d68 805171c: 20020f84 .word 0x20020f84 else pardata.OPTIONS |= 0x1; 8051720: 4bbc ldr r3, [pc, #752] ; (8051a14 ) 8051722: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051726: f043 0301 orr.w r3, r3, #1 805172a: 4aba ldr r2, [pc, #744] ; (8051a14 ) 805172c: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051730: e0d4 b.n 80518dc case VibAutoKu: if(pardata.OPTIONS & 0x4) 8051732: 4bb8 ldr r3, [pc, #736] ; (8051a14 ) 8051734: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051738: f003 0304 and.w r3, r3, #4 805173c: 2b00 cmp r3, #0 805173e: d008 beq.n 8051752 pardata.OPTIONS &= ~0x4; 8051740: 4bb4 ldr r3, [pc, #720] ; (8051a14 ) 8051742: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051746: f023 0304 bic.w r3, r3, #4 805174a: 4ab2 ldr r2, [pc, #712] ; (8051a14 ) 805174c: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= 0x4; break; 8051750: e0c4 b.n 80518dc else pardata.OPTIONS |= 0x4; 8051752: 4bb0 ldr r3, [pc, #704] ; (8051a14 ) 8051754: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051758: f043 0304 orr.w r3, r3, #4 805175c: 4aad ldr r2, [pc, #692] ; (8051a14 ) 805175e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051762: e0bb b.n 80518dc case ViewFreq: if(pardata.OPTIONS & 0x8) 8051764: 4bab ldr r3, [pc, #684] ; (8051a14 ) 8051766: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805176a: f003 0308 and.w r3, r3, #8 805176e: 2b00 cmp r3, #0 8051770: d008 beq.n 8051784 pardata.OPTIONS &= ~0x8; 8051772: 4ba8 ldr r3, [pc, #672] ; (8051a14 ) 8051774: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051778: f023 0308 bic.w r3, r3, #8 805177c: 4aa5 ldr r2, [pc, #660] ; (8051a14 ) 805177e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= 0x8; break; 8051782: e0ab b.n 80518dc else pardata.OPTIONS |= 0x8; 8051784: 4ba3 ldr r3, [pc, #652] ; (8051a14 ) 8051786: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805178a: f043 0308 orr.w r3, r3, #8 805178e: 4aa1 ldr r2, [pc, #644] ; (8051a14 ) 8051790: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051794: e0a2 b.n 80518dc case SaveToFile: result = FR_NOT_READY; 8051796: 2303 movs r3, #3 8051798: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 805179c: 4b9e ldr r3, [pc, #632] ; (8051a18 ) 805179e: 781b ldrb r3, [r3, #0] 80517a0: b2db uxtb r3, r3 80517a2: 2b03 cmp r3, #3 80517a4: d13a bne.n 805181c { CursorIndex = 0; 80517a6: 4b9d ldr r3, [pc, #628] ; (8051a1c ) 80517a8: 2200 movs r2, #0 80517aa: 601a str r2, [r3, #0] FirstFileIndex = 0; 80517ac: 4b9c ldr r3, [pc, #624] ; (8051a20 ) 80517ae: 2200 movs r2, #0 80517b0: 601a str r2, [r3, #0] RealFileIndex = 0; 80517b2: 4b9c ldr r3, [pc, #624] ; (8051a24 ) 80517b4: 2200 movs r2, #0 80517b6: 601a str r2, [r3, #0] result = ReadNumFilesPTM((uint32_t *) &NumFilesPTM); 80517b8: 489b ldr r0, [pc, #620] ; (8051a28 ) 80517ba: f7d9 f8cd bl 802a958 80517be: 4603 mov r3, r0 80517c0: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80517c4: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80517c8: 2b00 cmp r3, #0 80517ca: d123 bne.n 8051814 { result = ReadMyFilesPTM(FirstFileIndex); 80517cc: 4b94 ldr r3, [pc, #592] ; (8051a20 ) 80517ce: 681b ldr r3, [r3, #0] 80517d0: 4618 mov r0, r3 80517d2: f7d9 f98d bl 802aaf0 80517d6: 4603 mov r3, r0 80517d8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80517dc: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80517e0: 2b00 cmp r3, #0 80517e2: d113 bne.n 805180c { menu = EXPLORER; 80517e4: 4b91 ldr r3, [pc, #580] ; (8051a2c ) 80517e6: 2229 movs r2, #41 ; 0x29 80517e8: 701a strb r2, [r3, #0] lastmenupos = menupos; 80517ea: 4b91 ldr r3, [pc, #580] ; (8051a30 ) 80517ec: 781b ldrb r3, [r3, #0] 80517ee: b2da uxtb r2, r3 80517f0: 4b90 ldr r3, [pc, #576] ; (8051a34 ) 80517f2: 701a strb r2, [r3, #0] if(NumFilesPTM) 80517f4: 4b8c ldr r3, [pc, #560] ; (8051a28 ) 80517f6: 681b ldr r3, [r3, #0] 80517f8: 2b00 cmp r3, #0 80517fa: d003 beq.n 8051804 menupos = FilesPTM; 80517fc: 4b8c ldr r3, [pc, #560] ; (8051a30 ) 80517fe: 2202 movs r2, #2 8051800: 701a strb r2, [r3, #0] else MeasFileName[0] = '\0'; } else MeasFileName[0] = '\0'; break; 8051802: e06b b.n 80518dc else menupos = NoFilesPTM; 8051804: 4b8a ldr r3, [pc, #552] ; (8051a30 ) 8051806: 2201 movs r2, #1 8051808: 701a strb r2, [r3, #0] break; 805180a: e067 b.n 80518dc MeasFileName[0] = '\0'; 805180c: 4b8a ldr r3, [pc, #552] ; (8051a38 ) 805180e: 2200 movs r2, #0 8051810: 701a strb r2, [r3, #0] break; 8051812: e063 b.n 80518dc MeasFileName[0] = '\0'; 8051814: 4b88 ldr r3, [pc, #544] ; (8051a38 ) 8051816: 2200 movs r2, #0 8051818: 701a strb r2, [r3, #0] break; 805181a: e05f b.n 80518dc MeasFileName[0] = '\0'; 805181c: 4b86 ldr r3, [pc, #536] ; (8051a38 ) 805181e: 2200 movs r2, #0 8051820: 701a strb r2, [r3, #0] break; 8051822: e05b b.n 80518dc case Ok: if(pardata.OPTIONS & 0x8) // Åñëè îòîáðàæàòü ÷àñòîòó, òî ïåðåõîäèì â FRAN 8051824: 4b7b ldr r3, [pc, #492] ; (8051a14 ) 8051826: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805182a: f003 0308 and.w r3, r3, #8 805182e: 2b00 cmp r3, #0 8051830: d02a beq.n 8051888 { pardata.OPTIONS &= ~0x2; 8051832: 4b78 ldr r3, [pc, #480] ; (8051a14 ) 8051834: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051838: f023 0302 bic.w r3, r3, #2 805183c: 4a75 ldr r2, [pc, #468] ; (8051a14 ) 805183e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 menu = MAIN_FRAN; 8051842: 4b7a ldr r3, [pc, #488] ; (8051a2c ) 8051844: 221f movs r2, #31 8051846: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051848: 4b79 ldr r3, [pc, #484] ; (8051a30 ) 805184a: 781b ldrb r3, [r3, #0] 805184c: b2da uxtb r2, r3 805184e: 4b79 ldr r3, [pc, #484] ; (8051a34 ) 8051850: 701a strb r2, [r3, #0] menupos = StartStop; 8051852: 4b77 ldr r3, [pc, #476] ; (8051a30 ) 8051854: 2200 movs r2, #0 8051856: 701a strb r2, [r3, #0] DrawSavedData = false; 8051858: 4b78 ldr r3, [pc, #480] ; (8051a3c ) 805185a: 2200 movs r2, #0 805185c: 701a strb r2, [r3, #0] pardata.SYG = FRAN; 805185e: 4b6d ldr r3, [pc, #436] ; (8051a14 ) 8051860: 2203 movs r2, #3 8051862: 701a strb r2, [r3, #0] result = GetPointAndIndexPTM(MeasFileName); 8051864: 4874 ldr r0, [pc, #464] ; (8051a38 ) 8051866: f7d4 fde5 bl 8026434 805186a: 4603 mov r3, r0 805186c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 Threshold = false; 8051870: 4b73 ldr r3, [pc, #460] ; (8051a40 ) 8051872: 2200 movs r2, #0 8051874: 701a strb r2, [r3, #0] initAmplif(); 8051876: f7d0 f90d bl 8021a94 FIRST = true; 805187a: 4b72 ldr r3, [pc, #456] ; (8051a44 ) 805187c: 2201 movs r2, #1 805187e: 701a strb r2, [r3, #0] SeeLog = false; 8051880: 4b71 ldr r3, [pc, #452] ; (8051a48 ) 8051882: 2200 movs r2, #0 8051884: 701a strb r2, [r3, #0] initAmplif(); FIRST = true; SeeLog = false; } break; 8051886: e028 b.n 80518da menu = MAIN; 8051888: 4b68 ldr r3, [pc, #416] ; (8051a2c ) 805188a: 2200 movs r2, #0 805188c: 701a strb r2, [r3, #0] lastmenupos = menupos; 805188e: 4b68 ldr r3, [pc, #416] ; (8051a30 ) 8051890: 781b ldrb r3, [r3, #0] 8051892: b2da uxtb r2, r3 8051894: 4b67 ldr r3, [pc, #412] ; (8051a34 ) 8051896: 701a strb r2, [r3, #0] menupos = StartStop; 8051898: 4b65 ldr r3, [pc, #404] ; (8051a30 ) 805189a: 2200 movs r2, #0 805189c: 701a strb r2, [r3, #0] DrawSavedData = false; 805189e: 4b67 ldr r3, [pc, #412] ; (8051a3c ) 80518a0: 2200 movs r2, #0 80518a2: 701a strb r2, [r3, #0] result = GetPointAndIndexPTM(MeasFileName); 80518a4: 4864 ldr r0, [pc, #400] ; (8051a38 ) 80518a6: f7d4 fdc5 bl 8026434 80518aa: 4603 mov r3, r0 80518ac: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result != FR_OK) { 80518b0: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80518b4: 2b00 cmp r3, #0 80518b6: d002 beq.n 80518be MeasFileName[0] = '\0'; 80518b8: 4b5f ldr r3, [pc, #380] ; (8051a38 ) 80518ba: 2200 movs r2, #0 80518bc: 701a strb r2, [r3, #0] pardata.SYG = VIB; 80518be: 4b55 ldr r3, [pc, #340] ; (8051a14 ) 80518c0: 2200 movs r2, #0 80518c2: 701a strb r2, [r3, #0] Threshold = false; 80518c4: 4b5e ldr r3, [pc, #376] ; (8051a40 ) 80518c6: 2200 movs r2, #0 80518c8: 701a strb r2, [r3, #0] initAmplif(); 80518ca: f7d0 f8e3 bl 8021a94 FIRST = true; 80518ce: 4b5d ldr r3, [pc, #372] ; (8051a44 ) 80518d0: 2201 movs r2, #1 80518d2: 701a strb r2, [r3, #0] SeeLog = false; 80518d4: 4b5c ldr r3, [pc, #368] ; (8051a48 ) 80518d6: 2200 movs r2, #0 80518d8: 701a strb r2, [r3, #0] break; 80518da: bf00 nop } } break; 80518dc: f001 ba3e b.w 8052d5c case PARAM_SPEC: if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) { 80518e0: 4b53 ldr r3, [pc, #332] ; (8051a30 ) 80518e2: 781b ldrb r3, [r3, #0] 80518e4: b2db uxtb r3, r3 80518e6: 2b18 cmp r3, #24 80518e8: d908 bls.n 80518fc 80518ea: 4b51 ldr r3, [pc, #324] ; (8051a30 ) 80518ec: 781b ldrb r3, [r3, #0] 80518ee: b2db uxtb r3, r3 80518f0: 2b1e cmp r3, #30 80518f2: d803 bhi.n 80518fc menupos = FilterHP; 80518f4: 4b4e ldr r3, [pc, #312] ; (8051a30 ) 80518f6: 2217 movs r2, #23 80518f8: 701a strb r2, [r3, #0] 80518fa: e135 b.n 8051b68 } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) { 80518fc: 4b4c ldr r3, [pc, #304] ; (8051a30 ) 80518fe: 781b ldrb r3, [r3, #0] 8051900: b2db uxtb r3, r3 8051902: 2b1e cmp r3, #30 8051904: d908 bls.n 8051918 8051906: 4b4a ldr r3, [pc, #296] ; (8051a30 ) 8051908: 781b ldrb r3, [r3, #0] 805190a: b2db uxtb r3, r3 805190c: 2b24 cmp r3, #36 ; 0x24 805190e: d803 bhi.n 8051918 menupos = FilterLP; 8051910: 4b47 ldr r3, [pc, #284] ; (8051a30 ) 8051912: 2218 movs r2, #24 8051914: 701a strb r2, [r3, #0] 8051916: e127 b.n 8051b68 } else if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) { 8051918: 4b45 ldr r3, [pc, #276] ; (8051a30 ) 805191a: 781b ldrb r3, [r3, #0] 805191c: b2db uxtb r3, r3 805191e: 2b0a cmp r3, #10 8051920: d908 bls.n 8051934 8051922: 4b43 ldr r3, [pc, #268] ; (8051a30 ) 8051924: 781b ldrb r3, [r3, #0] 8051926: b2db uxtb r3, r3 8051928: 2b10 cmp r3, #16 805192a: d803 bhi.n 8051934 menupos = VibMax_ALL; 805192c: 4b40 ldr r3, [pc, #256] ; (8051a30 ) 805192e: 2209 movs r2, #9 8051930: 701a strb r2, [r3, #0] 8051932: e119 b.n 8051b68 } else { switch(menupos) 8051934: 4b3e ldr r3, [pc, #248] ; (8051a30 ) 8051936: 781b ldrb r3, [r3, #0] 8051938: b2db uxtb r3, r3 805193a: 2b18 cmp r3, #24 805193c: f201 8210 bhi.w 8052d60 8051940: a201 add r2, pc, #4 ; (adr r2, 8051948 ) 8051942: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8051946: bf00 nop 8051948: 08051a51 .word 0x08051a51 805194c: 080519bb .word 0x080519bb 8051950: 080519bb .word 0x080519bb 8051954: 08052d61 .word 0x08052d61 8051958: 080519bb .word 0x080519bb 805195c: 080519bb .word 0x080519bb 8051960: 080519bb .word 0x080519bb 8051964: 080519bb .word 0x080519bb 8051968: 080519db .word 0x080519db 805196c: 08051a0d .word 0x08051a0d 8051970: 08052d61 .word 0x08052d61 8051974: 08052d61 .word 0x08052d61 8051978: 08052d61 .word 0x08052d61 805197c: 08052d61 .word 0x08052d61 8051980: 08052d61 .word 0x08052d61 8051984: 08052d61 .word 0x08052d61 8051988: 08052d61 .word 0x08052d61 805198c: 08052d61 .word 0x08052d61 8051990: 08052d61 .word 0x08052d61 8051994: 08052d61 .word 0x08052d61 8051998: 08052d61 .word 0x08052d61 805199c: 08052d61 .word 0x08052d61 80519a0: 08052d61 .word 0x08052d61 80519a4: 080519ad .word 0x080519ad 80519a8: 080519b5 .word 0x080519b5 { case FilterHP: menupos = FilterHP_IET; 80519ac: 4b20 ldr r3, [pc, #128] ; (8051a30 ) 80519ae: 221a movs r2, #26 80519b0: 701a strb r2, [r3, #0] break; 80519b2: e0d9 b.n 8051b68 case FilterLP: menupos = FilterLP_IET; 80519b4: 4b1e ldr r3, [pc, #120] ; (8051a30 ) 80519b6: 2220 movs r2, #32 80519b8: 701a strb r2, [r3, #0] case SpecValue: case SpecLines: case SpecWin: case LinLog: case SAverage: if(!focused) 80519ba: 4b24 ldr r3, [pc, #144] ; (8051a4c ) 80519bc: 781b ldrb r3, [r3, #0] 80519be: b2db uxtb r3, r3 80519c0: f083 0301 eor.w r3, r3, #1 80519c4: b2db uxtb r3, r3 80519c6: 2b00 cmp r3, #0 80519c8: d003 beq.n 80519d2 focused = true; 80519ca: 4b20 ldr r3, [pc, #128] ; (8051a4c ) 80519cc: 2201 movs r2, #1 80519ce: 701a strb r2, [r3, #0] else focused = false; break; 80519d0: e0ca b.n 8051b68 else focused = false; 80519d2: 4b1e ldr r3, [pc, #120] ; (8051a4c ) 80519d4: 2200 movs r2, #0 80519d6: 701a strb r2, [r3, #0] break; 80519d8: e0c6 b.n 8051b68 case VibAutoKu: if(pardata.OPTIONS & BIT2) 80519da: 4b0e ldr r3, [pc, #56] ; (8051a14 ) 80519dc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80519e0: f003 0304 and.w r3, r3, #4 80519e4: 2b00 cmp r3, #0 80519e6: d008 beq.n 80519fa pardata.OPTIONS &= ~BIT2; 80519e8: 4b0a ldr r3, [pc, #40] ; (8051a14 ) 80519ea: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80519ee: f023 0304 bic.w r3, r3, #4 80519f2: 4a08 ldr r2, [pc, #32] ; (8051a14 ) 80519f4: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else pardata.OPTIONS |= BIT2; break; 80519f8: e0b6 b.n 8051b68 else pardata.OPTIONS |= BIT2; 80519fa: 4b06 ldr r3, [pc, #24] ; (8051a14 ) 80519fc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051a00: f043 0304 orr.w r3, r3, #4 8051a04: 4a03 ldr r2, [pc, #12] ; (8051a14 ) 8051a06: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051a0a: e0ad b.n 8051b68 case VibMax_ALL: menupos = VibMax_IET; 8051a0c: 4b08 ldr r3, [pc, #32] ; (8051a30 ) 8051a0e: 220c movs r2, #12 8051a10: 701a strb r2, [r3, #0] break; 8051a12: e0a9 b.n 8051b68 8051a14: 20023e60 .word 0x20023e60 8051a18: 2002164c .word 0x2002164c 8051a1c: 20020de0 .word 0x20020de0 8051a20: 20020de4 .word 0x20020de4 8051a24: 20020de8 .word 0x20020de8 8051a28: 20020df4 .word 0x20020df4 8051a2c: 20020f78 .word 0x20020f78 8051a30: 20020070 .word 0x20020070 8051a34: 20020071 .word 0x20020071 8051a38: 20020e58 .word 0x20020e58 8051a3c: 20020dca .word 0x20020dca 8051a40: 20020db1 .word 0x20020db1 8051a44: 20020db2 .word 0x20020db2 8051a48: 20020f77 .word 0x20020f77 8051a4c: 20020f84 .word 0x20020f84 case Ok: arm_fill_f32(0.0f, skz, 3); 8051a50: 2103 movs r1, #3 8051a52: 48b0 ldr r0, [pc, #704] ; (8051d14 ) 8051a54: ed9f 0ab0 vldr s0, [pc, #704] ; 8051d18 8051a58: f078 f970 bl 80c9d3c arm_fill_f32(0.0f, skzDB, 3); 8051a5c: 2103 movs r1, #3 8051a5e: 48af ldr r0, [pc, #700] ; (8051d1c ) 8051a60: ed9f 0aad vldr s0, [pc, #692] ; 8051d18 8051a64: f078 f96a bl 80c9d3c if((pardata.OPTIONS & maskFFT) == fft) 8051a68: 4bad ldr r3, [pc, #692] ; (8051d20 ) 8051a6a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051a6e: f003 0330 and.w r3, r3, #48 ; 0x30 8051a72: 2b00 cmp r3, #0 8051a74: d116 bne.n 8051aa4 { menu = MAIN_SPEC; 8051a76: 4bab ldr r3, [pc, #684] ; (8051d24 ) 8051a78: 221c movs r2, #28 8051a7a: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051a7c: 4baa ldr r3, [pc, #680] ; (8051d28 ) 8051a7e: 781b ldrb r3, [r3, #0] 8051a80: b2da uxtb r2, r3 8051a82: 4baa ldr r3, [pc, #680] ; (8051d2c ) 8051a84: 701a strb r2, [r3, #0] menupos = StartStop; 8051a86: 4ba8 ldr r3, [pc, #672] ; (8051d28 ) 8051a88: 2200 movs r2, #0 8051a8a: 701a strb r2, [r3, #0] pardata.SYG = SPEC; 8051a8c: 4ba4 ldr r3, [pc, #656] ; (8051d20 ) 8051a8e: 2201 movs r2, #1 8051a90: 701a strb r2, [r3, #0] Threshold = false; 8051a92: 4ba7 ldr r3, [pc, #668] ; (8051d30 ) 8051a94: 2200 movs r2, #0 8051a96: 701a strb r2, [r3, #0] initAmplif(); 8051a98: f7cf fffc bl 8021a94 FIRST = true; 8051a9c: 4ba5 ldr r3, [pc, #660] ; (8051d34 ) 8051a9e: 2201 movs r2, #1 8051aa0: 701a strb r2, [r3, #0] Threshold = false; initAmplif(); FIRST = true; } break; 8051aa2: e060 b.n 8051b66 if((pardata.OPTIONS & maskFFT) == env) 8051aa4: 4b9e ldr r3, [pc, #632] ; (8051d20 ) 8051aa6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051aaa: f003 0330 and.w r3, r3, #48 ; 0x30 8051aae: 2b10 cmp r3, #16 8051ab0: d116 bne.n 8051ae0 menu = MAIN_SPEC_OGIB; 8051ab2: 4b9c ldr r3, [pc, #624] ; (8051d24 ) 8051ab4: 2221 movs r2, #33 ; 0x21 8051ab6: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051ab8: 4b9b ldr r3, [pc, #620] ; (8051d28 ) 8051aba: 781b ldrb r3, [r3, #0] 8051abc: b2da uxtb r2, r3 8051abe: 4b9b ldr r3, [pc, #620] ; (8051d2c ) 8051ac0: 701a strb r2, [r3, #0] menupos = StartStop; 8051ac2: 4b99 ldr r3, [pc, #612] ; (8051d28 ) 8051ac4: 2200 movs r2, #0 8051ac6: 701a strb r2, [r3, #0] pardata.SYG = SPEC_OGIB; 8051ac8: 4b95 ldr r3, [pc, #596] ; (8051d20 ) 8051aca: 2205 movs r2, #5 8051acc: 701a strb r2, [r3, #0] Threshold = false; 8051ace: 4b98 ldr r3, [pc, #608] ; (8051d30 ) 8051ad0: 2200 movs r2, #0 8051ad2: 701a strb r2, [r3, #0] initAmplif(); 8051ad4: f7cf ffde bl 8021a94 FIRST = true; 8051ad8: 4b96 ldr r3, [pc, #600] ; (8051d34 ) 8051ada: 2201 movs r2, #1 8051adc: 701a strb r2, [r3, #0] break; 8051ade: e042 b.n 8051b66 if((pardata.OPTIONS & maskFFT) == okt) 8051ae0: 4b8f ldr r3, [pc, #572] ; (8051d20 ) 8051ae2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051ae6: f003 0330 and.w r3, r3, #48 ; 0x30 8051aea: 2b20 cmp r3, #32 8051aec: d11e bne.n 8051b2c menu = MAIN_SPEC_OKT; 8051aee: 4b8d ldr r3, [pc, #564] ; (8051d24 ) 8051af0: 2222 movs r2, #34 ; 0x22 8051af2: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051af4: 4b8c ldr r3, [pc, #560] ; (8051d28 ) 8051af6: 781b ldrb r3, [r3, #0] 8051af8: b2da uxtb r2, r3 8051afa: 4b8c ldr r3, [pc, #560] ; (8051d2c ) 8051afc: 701a strb r2, [r3, #0] menupos = StartStop; 8051afe: 4b8a ldr r3, [pc, #552] ; (8051d28 ) 8051b00: 2200 movs r2, #0 8051b02: 701a strb r2, [r3, #0] pardata.SYG = SPEC_OKT; 8051b04: 4b86 ldr r3, [pc, #536] ; (8051d20 ) 8051b06: 2206 movs r2, #6 8051b08: 701a strb r2, [r3, #0] if(pardata.LNE > N3200) 8051b0a: 4b85 ldr r3, [pc, #532] ; (8051d20 ) 8051b0c: 79db ldrb r3, [r3, #7] 8051b0e: b2db uxtb r3, r3 8051b10: 2b03 cmp r3, #3 8051b12: d902 bls.n 8051b1a pardata.LNE = N3200; 8051b14: 4b82 ldr r3, [pc, #520] ; (8051d20 ) 8051b16: 2203 movs r2, #3 8051b18: 71da strb r2, [r3, #7] Threshold = false; 8051b1a: 4b85 ldr r3, [pc, #532] ; (8051d30 ) 8051b1c: 2200 movs r2, #0 8051b1e: 701a strb r2, [r3, #0] initAmplif(); 8051b20: f7cf ffb8 bl 8021a94 FIRST = true; 8051b24: 4b83 ldr r3, [pc, #524] ; (8051d34 ) 8051b26: 2201 movs r2, #1 8051b28: 701a strb r2, [r3, #0] break; 8051b2a: e01c b.n 8051b66 if((pardata.OPTIONS & maskFFT) == third) 8051b2c: 4b7c ldr r3, [pc, #496] ; (8051d20 ) 8051b2e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051b32: f003 0330 and.w r3, r3, #48 ; 0x30 8051b36: 2b30 cmp r3, #48 ; 0x30 8051b38: d115 bne.n 8051b66 menu = MAIN_SPEC_THIRD; 8051b3a: 4b7a ldr r3, [pc, #488] ; (8051d24 ) 8051b3c: 2223 movs r2, #35 ; 0x23 8051b3e: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051b40: 4b79 ldr r3, [pc, #484] ; (8051d28 ) 8051b42: 781b ldrb r3, [r3, #0] 8051b44: b2da uxtb r2, r3 8051b46: 4b79 ldr r3, [pc, #484] ; (8051d2c ) 8051b48: 701a strb r2, [r3, #0] menupos = StartStop; 8051b4a: 4b77 ldr r3, [pc, #476] ; (8051d28 ) 8051b4c: 2200 movs r2, #0 8051b4e: 701a strb r2, [r3, #0] pardata.SYG = SPEC_THIRD; 8051b50: 4b73 ldr r3, [pc, #460] ; (8051d20 ) 8051b52: 2207 movs r2, #7 8051b54: 701a strb r2, [r3, #0] Threshold = false; 8051b56: 4b76 ldr r3, [pc, #472] ; (8051d30 ) 8051b58: 2200 movs r2, #0 8051b5a: 701a strb r2, [r3, #0] initAmplif(); 8051b5c: f7cf ff9a bl 8021a94 FIRST = true; 8051b60: 4b74 ldr r3, [pc, #464] ; (8051d34 ) 8051b62: 2201 movs r2, #1 8051b64: 701a strb r2, [r3, #0] break; 8051b66: bf00 nop } } break; 8051b68: f001 b8fa b.w 8052d60 case PARAM_OSC: if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) { 8051b6c: 4b6e ldr r3, [pc, #440] ; (8051d28 ) 8051b6e: 781b ldrb r3, [r3, #0] 8051b70: b2db uxtb r3, r3 8051b72: 2b18 cmp r3, #24 8051b74: d908 bls.n 8051b88 8051b76: 4b6c ldr r3, [pc, #432] ; (8051d28 ) 8051b78: 781b ldrb r3, [r3, #0] 8051b7a: b2db uxtb r3, r3 8051b7c: 2b1e cmp r3, #30 8051b7e: d803 bhi.n 8051b88 menupos = FilterHP; 8051b80: 4b69 ldr r3, [pc, #420] ; (8051d28 ) 8051b82: 2217 movs r2, #23 8051b84: 701a strb r2, [r3, #0] 8051b86: e108 b.n 8051d9a } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) { 8051b88: 4b67 ldr r3, [pc, #412] ; (8051d28 ) 8051b8a: 781b ldrb r3, [r3, #0] 8051b8c: b2db uxtb r3, r3 8051b8e: 2b1e cmp r3, #30 8051b90: d908 bls.n 8051ba4 8051b92: 4b65 ldr r3, [pc, #404] ; (8051d28 ) 8051b94: 781b ldrb r3, [r3, #0] 8051b96: b2db uxtb r3, r3 8051b98: 2b24 cmp r3, #36 ; 0x24 8051b9a: d803 bhi.n 8051ba4 menupos = FilterLP; 8051b9c: 4b62 ldr r3, [pc, #392] ; (8051d28 ) 8051b9e: 2218 movs r2, #24 8051ba0: 701a strb r2, [r3, #0] 8051ba2: e0fa b.n 8051d9a } else if((menupos >= OscThr_IDT) && (menupos <= OscThr_IKD)) { 8051ba4: 4b60 ldr r3, [pc, #384] ; (8051d28 ) 8051ba6: 781b ldrb r3, [r3, #0] 8051ba8: b2db uxtb r3, r3 8051baa: 2b08 cmp r3, #8 8051bac: d908 bls.n 8051bc0 8051bae: 4b5e ldr r3, [pc, #376] ; (8051d28 ) 8051bb0: 781b ldrb r3, [r3, #0] 8051bb2: b2db uxtb r3, r3 8051bb4: 2b0e cmp r3, #14 8051bb6: d803 bhi.n 8051bc0 menupos = OscThr_ALL; 8051bb8: 4b5b ldr r3, [pc, #364] ; (8051d28 ) 8051bba: 2208 movs r2, #8 8051bbc: 701a strb r2, [r3, #0] 8051bbe: e0ec b.n 8051d9a } else if((menupos >= OscMax_IDT) && (menupos <= OscMax_IKD)) { 8051bc0: 4b59 ldr r3, [pc, #356] ; (8051d28 ) 8051bc2: 781b ldrb r3, [r3, #0] 8051bc4: b2db uxtb r3, r3 8051bc6: 2b0e cmp r3, #14 8051bc8: d908 bls.n 8051bdc 8051bca: 4b57 ldr r3, [pc, #348] ; (8051d28 ) 8051bcc: 781b ldrb r3, [r3, #0] 8051bce: b2db uxtb r3, r3 8051bd0: 2b14 cmp r3, #20 8051bd2: d803 bhi.n 8051bdc menupos = OscMax_ALL; 8051bd4: 4b54 ldr r3, [pc, #336] ; (8051d28 ) 8051bd6: 2206 movs r2, #6 8051bd8: 701a strb r2, [r3, #0] 8051bda: e0de b.n 8051d9a } else { switch(menupos) 8051bdc: 4b52 ldr r3, [pc, #328] ; (8051d28 ) 8051bde: 781b ldrb r3, [r3, #0] 8051be0: b2db uxtb r3, r3 8051be2: 2b18 cmp r3, #24 8051be4: f201 80be bhi.w 8052d64 8051be8: a201 add r2, pc, #4 ; (adr r2, 8051bf0 ) 8051bea: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8051bee: bf00 nop 8051bf0: 08051d3d .word 0x08051d3d 8051bf4: 08051c63 .word 0x08051c63 8051bf8: 08052d65 .word 0x08052d65 8051bfc: 08051c63 .word 0x08051c63 8051c00: 08051c63 .word 0x08051c63 8051c04: 08051cc3 .word 0x08051cc3 8051c08: 08051d0d .word 0x08051d0d 8051c0c: 08051c83 .word 0x08051c83 8051c10: 08051d05 .word 0x08051d05 8051c14: 08052d65 .word 0x08052d65 8051c18: 08052d65 .word 0x08052d65 8051c1c: 08052d65 .word 0x08052d65 8051c20: 08052d65 .word 0x08052d65 8051c24: 08052d65 .word 0x08052d65 8051c28: 08052d65 .word 0x08052d65 8051c2c: 08052d65 .word 0x08052d65 8051c30: 08052d65 .word 0x08052d65 8051c34: 08052d65 .word 0x08052d65 8051c38: 08052d65 .word 0x08052d65 8051c3c: 08052d65 .word 0x08052d65 8051c40: 08052d65 .word 0x08052d65 8051c44: 08052d65 .word 0x08052d65 8051c48: 08052d65 .word 0x08052d65 8051c4c: 08051c55 .word 0x08051c55 8051c50: 08051c5d .word 0x08051c5d { case FilterHP: menupos = FilterHP_IET; 8051c54: 4b34 ldr r3, [pc, #208] ; (8051d28 ) 8051c56: 221a movs r2, #26 8051c58: 701a strb r2, [r3, #0] break; 8051c5a: e09e b.n 8051d9a case FilterLP: menupos = FilterLP_IET; 8051c5c: 4b32 ldr r3, [pc, #200] ; (8051d28 ) 8051c5e: 2220 movs r2, #32 8051c60: 701a strb r2, [r3, #0] case OscValue: case OscRate: case OscLen: if(!focused) 8051c62: 4b35 ldr r3, [pc, #212] ; (8051d38 ) 8051c64: 781b ldrb r3, [r3, #0] 8051c66: b2db uxtb r3, r3 8051c68: f083 0301 eor.w r3, r3, #1 8051c6c: b2db uxtb r3, r3 8051c6e: 2b00 cmp r3, #0 8051c70: d003 beq.n 8051c7a focused = true; 8051c72: 4b31 ldr r3, [pc, #196] ; (8051d38 ) 8051c74: 2201 movs r2, #1 8051c76: 701a strb r2, [r3, #0] else focused = false; break; 8051c78: e08f b.n 8051d9a else focused = false; 8051c7a: 4b2f ldr r3, [pc, #188] ; (8051d38 ) 8051c7c: 2200 movs r2, #0 8051c7e: 701a strb r2, [r3, #0] break; 8051c80: e08b b.n 8051d9a case OscThr: if(pardata.THR & 0x80) 8051c82: 4b27 ldr r3, [pc, #156] ; (8051d20 ) 8051c84: 7bdb ldrb r3, [r3, #15] 8051c86: b2db uxtb r3, r3 8051c88: b25b sxtb r3, r3 8051c8a: 2b00 cmp r3, #0 8051c8c: da08 bge.n 8051ca0 pardata.THR &= 0x7f; 8051c8e: 4b24 ldr r3, [pc, #144] ; (8051d20 ) 8051c90: 7bdb ldrb r3, [r3, #15] 8051c92: b2db uxtb r3, r3 8051c94: f003 037f and.w r3, r3, #127 ; 0x7f 8051c98: b2da uxtb r2, r3 8051c9a: 4b21 ldr r3, [pc, #132] ; (8051d20 ) 8051c9c: 73da strb r2, [r3, #15] else { pardata.THR |= 0x80; pardata.OPTIONS &= ~0x4; } break; 8051c9e: e07c b.n 8051d9a pardata.THR |= 0x80; 8051ca0: 4b1f ldr r3, [pc, #124] ; (8051d20 ) 8051ca2: 7bdb ldrb r3, [r3, #15] 8051ca4: b2db uxtb r3, r3 8051ca6: f063 037f orn r3, r3, #127 ; 0x7f 8051caa: b2da uxtb r2, r3 8051cac: 4b1c ldr r3, [pc, #112] ; (8051d20 ) 8051cae: 73da strb r2, [r3, #15] pardata.OPTIONS &= ~0x4; 8051cb0: 4b1b ldr r3, [pc, #108] ; (8051d20 ) 8051cb2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051cb6: f023 0304 bic.w r3, r3, #4 8051cba: 4a19 ldr r2, [pc, #100] ; (8051d20 ) 8051cbc: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051cc0: e06b b.n 8051d9a case OscAutoKu: if(pardata.OPTIONS & 0x4) 8051cc2: 4b17 ldr r3, [pc, #92] ; (8051d20 ) 8051cc4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051cc8: f003 0304 and.w r3, r3, #4 8051ccc: 2b00 cmp r3, #0 8051cce: d008 beq.n 8051ce2 pardata.OPTIONS &= ~0x4; 8051cd0: 4b13 ldr r3, [pc, #76] ; (8051d20 ) 8051cd2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051cd6: f023 0304 bic.w r3, r3, #4 8051cda: 4a11 ldr r2, [pc, #68] ; (8051d20 ) 8051cdc: f8c2 3098 str.w r3, [r2, #152] ; 0x98 else { pardata.OPTIONS |= 0x4; pardata.THR &= 0x7f; } break; 8051ce0: e05b b.n 8051d9a pardata.OPTIONS |= 0x4; 8051ce2: 4b0f ldr r3, [pc, #60] ; (8051d20 ) 8051ce4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051ce8: f043 0304 orr.w r3, r3, #4 8051cec: 4a0c ldr r2, [pc, #48] ; (8051d20 ) 8051cee: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.THR &= 0x7f; 8051cf2: 4b0b ldr r3, [pc, #44] ; (8051d20 ) 8051cf4: 7bdb ldrb r3, [r3, #15] 8051cf6: b2db uxtb r3, r3 8051cf8: f003 037f and.w r3, r3, #127 ; 0x7f 8051cfc: b2da uxtb r2, r3 8051cfe: 4b08 ldr r3, [pc, #32] ; (8051d20 ) 8051d00: 73da strb r2, [r3, #15] break; 8051d02: e04a b.n 8051d9a case OscThr_ALL: menupos = OscThr_IET; 8051d04: 4b08 ldr r3, [pc, #32] ; (8051d28 ) 8051d06: 220a movs r2, #10 8051d08: 701a strb r2, [r3, #0] break; 8051d0a: e046 b.n 8051d9a case OscMax_ALL: menupos = OscMax_IET; 8051d0c: 4b06 ldr r3, [pc, #24] ; (8051d28 ) 8051d0e: 2210 movs r2, #16 8051d10: 701a strb r2, [r3, #0] break; 8051d12: e042 b.n 8051d9a 8051d14: 20021540 .word 0x20021540 8051d18: 00000000 .word 0x00000000 8051d1c: 2002154c .word 0x2002154c 8051d20: 20023e60 .word 0x20023e60 8051d24: 20020f78 .word 0x20020f78 8051d28: 20020070 .word 0x20020070 8051d2c: 20020071 .word 0x20020071 8051d30: 20020db1 .word 0x20020db1 8051d34: 20020db2 .word 0x20020db2 8051d38: 20020f84 .word 0x20020f84 case Ok: arm_fill_f32(0.0f, skz, 3); 8051d3c: 2103 movs r1, #3 8051d3e: 48a7 ldr r0, [pc, #668] ; (8051fdc ) 8051d40: ed9f 0aa7 vldr s0, [pc, #668] ; 8051fe0 8051d44: f077 fffa bl 80c9d3c arm_fill_f32(0.0f, skzDB, 3); 8051d48: 2103 movs r1, #3 8051d4a: 48a6 ldr r0, [pc, #664] ; (8051fe4 ) 8051d4c: ed9f 0aa4 vldr s0, [pc, #656] ; 8051fe0 8051d50: f077 fff4 bl 80c9d3c menu = MAIN_OSC; 8051d54: 4ba4 ldr r3, [pc, #656] ; (8051fe8 ) 8051d56: 221d movs r2, #29 8051d58: 701a strb r2, [r3, #0] lastmenupos = menupos; 8051d5a: 4ba4 ldr r3, [pc, #656] ; (8051fec ) 8051d5c: 781b ldrb r3, [r3, #0] 8051d5e: b2da uxtb r2, r3 8051d60: 4ba3 ldr r3, [pc, #652] ; (8051ff0 ) 8051d62: 701a strb r2, [r3, #0] menupos = StartStop; 8051d64: 4ba1 ldr r3, [pc, #644] ; (8051fec ) 8051d66: 2200 movs r2, #0 8051d68: 701a strb r2, [r3, #0] if((pardata.IPR == ACC) && (pardata.THR & 0x80)) 8051d6a: 4ba2 ldr r3, [pc, #648] ; (8051ff4 ) 8051d6c: 785b ldrb r3, [r3, #1] 8051d6e: b2db uxtb r3, r3 8051d70: 2b00 cmp r3, #0 8051d72: d109 bne.n 8051d88 8051d74: 4b9f ldr r3, [pc, #636] ; (8051ff4 ) 8051d76: 7bdb ldrb r3, [r3, #15] 8051d78: b2db uxtb r3, r3 8051d7a: b25b sxtb r3, r3 8051d7c: 2b00 cmp r3, #0 8051d7e: da03 bge.n 8051d88 Threshold = true; 8051d80: 4b9d ldr r3, [pc, #628] ; (8051ff8 ) 8051d82: 2201 movs r2, #1 8051d84: 701a strb r2, [r3, #0] 8051d86: e002 b.n 8051d8e else Threshold = false; 8051d88: 4b9b ldr r3, [pc, #620] ; (8051ff8 ) 8051d8a: 2200 movs r2, #0 8051d8c: 701a strb r2, [r3, #0] initAmplif(); 8051d8e: f7cf fe81 bl 8021a94 FIRST = true; 8051d92: 4b9a ldr r3, [pc, #616] ; (8051ffc ) 8051d94: 2201 movs r2, #1 8051d96: 701a strb r2, [r3, #0] break; 8051d98: bf00 nop } } break; 8051d9a: f000 bfe3 b.w 8052d64 case PARAM_WAVE: if((menupos >= WaveThr_IDT) && (menupos <= WaveThr_IKD)) { 8051d9e: 4b93 ldr r3, [pc, #588] ; (8051fec ) 8051da0: 781b ldrb r3, [r3, #0] 8051da2: b2db uxtb r3, r3 8051da4: 2b0f cmp r3, #15 8051da6: d908 bls.n 8051dba 8051da8: 4b90 ldr r3, [pc, #576] ; (8051fec ) 8051daa: 781b ldrb r3, [r3, #0] 8051dac: b2db uxtb r3, r3 8051dae: 2b15 cmp r3, #21 8051db0: d803 bhi.n 8051dba menupos = WaveThr_ALL; 8051db2: 4b8e ldr r3, [pc, #568] ; (8051fec ) 8051db4: 2209 movs r2, #9 8051db6: 701a strb r2, [r3, #0] 8051db8: e10e b.n 8051fd8 } else if((menupos >= WaveMax_IDT) && (menupos <= WaveMax_IKD)) { 8051dba: 4b8c ldr r3, [pc, #560] ; (8051fec ) 8051dbc: 781b ldrb r3, [r3, #0] 8051dbe: b2db uxtb r3, r3 8051dc0: 2b09 cmp r3, #9 8051dc2: d908 bls.n 8051dd6 8051dc4: 4b89 ldr r3, [pc, #548] ; (8051fec ) 8051dc6: 781b ldrb r3, [r3, #0] 8051dc8: b2db uxtb r3, r3 8051dca: 2b0f cmp r3, #15 8051dcc: d803 bhi.n 8051dd6 menupos = WaveMax_ALL; 8051dce: 4b87 ldr r3, [pc, #540] ; (8051fec ) 8051dd0: 2207 movs r2, #7 8051dd2: 701a strb r2, [r3, #0] 8051dd4: e100 b.n 8051fd8 } else { switch(menupos) 8051dd6: 4b85 ldr r3, [pc, #532] ; (8051fec ) 8051dd8: 781b ldrb r3, [r3, #0] 8051dda: b2db uxtb r3, r3 8051ddc: 2b09 cmp r3, #9 8051dde: f200 87c3 bhi.w 8052d68 8051de2: a201 add r2, pc, #4 ; (adr r2, 8051de8 ) 8051de4: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8051de8: 08051f99 .word 0x08051f99 8051dec: 08052d69 .word 0x08052d69 8051df0: 08052d69 .word 0x08052d69 8051df4: 08051f09 .word 0x08051f09 8051df8: 08051e31 .word 0x08051e31 8051dfc: 08051e11 .word 0x08051e11 8051e00: 08051f47 .word 0x08051f47 8051e04: 08051f91 .word 0x08051f91 8051e08: 08051eb9 .word 0x08051eb9 8051e0c: 08051f89 .word 0x08051f89 { case WaveTime: if(!focused) 8051e10: 4b7b ldr r3, [pc, #492] ; (8052000 ) 8051e12: 781b ldrb r3, [r3, #0] 8051e14: b2db uxtb r3, r3 8051e16: f083 0301 eor.w r3, r3, #1 8051e1a: b2db uxtb r3, r3 8051e1c: 2b00 cmp r3, #0 8051e1e: d003 beq.n 8051e28 focused = true; 8051e20: 4b77 ldr r3, [pc, #476] ; (8052000 ) 8051e22: 2201 movs r2, #1 8051e24: 701a strb r2, [r3, #0] else focused = false; break; 8051e26: e0d7 b.n 8051fd8 else focused = false; 8051e28: 4b75 ldr r3, [pc, #468] ; (8052000 ) 8051e2a: 2200 movs r2, #0 8051e2c: 701a strb r2, [r3, #0] break; 8051e2e: e0d3 b.n 8051fd8 case WaveName: if(CardState == MSD_READY) 8051e30: 4b74 ldr r3, [pc, #464] ; (8052004 ) 8051e32: 781b ldrb r3, [r3, #0] 8051e34: b2db uxtb r3, r3 8051e36: 2b03 cmp r3, #3 8051e38: f040 80ca bne.w 8051fd0 { memset(TEMP_WavFileName, 0, sizeof(TEMP_WavFileName)); 8051e3c: 2221 movs r2, #33 ; 0x21 8051e3e: 2100 movs r1, #0 8051e40: 4871 ldr r0, [pc, #452] ; (8052008 ) 8051e42: f07b f91d bl 80cd080 if(strcmp(WavFileName, "") != 0) 8051e46: 4b71 ldr r3, [pc, #452] ; (805200c ) 8051e48: 781b ldrb r3, [r3, #0] 8051e4a: 2b00 cmp r3, #0 8051e4c: d027 beq.n 8051e9e { strcpy(TEMP_WavFileName, WavFileName); 8051e4e: 496f ldr r1, [pc, #444] ; (805200c ) 8051e50: 486d ldr r0, [pc, #436] ; (8052008 ) 8051e52: f07b fa32 bl 80cd2ba k = strlen(TEMP_WavFileName); 8051e56: 486c ldr r0, [pc, #432] ; (8052008 ) 8051e58: f7ce fa5c bl 8020314 8051e5c: f8c7 00c4 str.w r0, [r7, #196] ; 0xc4 if(TEMP_WavFileName[k - 4] == '.') 8051e60: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051e64: 3b04 subs r3, #4 8051e66: 4a68 ldr r2, [pc, #416] ; (8052008 ) 8051e68: 5cd3 ldrb r3, [r2, r3] 8051e6a: 2b2e cmp r3, #46 ; 0x2e 8051e6c: d117 bne.n 8051e9e { TEMP_WavFileName[k - 4] = 0; 8051e6e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051e72: 3b04 subs r3, #4 8051e74: 4a64 ldr r2, [pc, #400] ; (8052008 ) 8051e76: 2100 movs r1, #0 8051e78: 54d1 strb r1, [r2, r3] TEMP_WavFileName[k - 3] = 0; 8051e7a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051e7e: 3b03 subs r3, #3 8051e80: 4a61 ldr r2, [pc, #388] ; (8052008 ) 8051e82: 2100 movs r1, #0 8051e84: 54d1 strb r1, [r2, r3] TEMP_WavFileName[k - 2] = 0; 8051e86: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051e8a: 3b02 subs r3, #2 8051e8c: 4a5e ldr r2, [pc, #376] ; (8052008 ) 8051e8e: 2100 movs r1, #0 8051e90: 54d1 strb r1, [r2, r3] TEMP_WavFileName[k - 1] = 0; 8051e92: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 8051e96: 3b01 subs r3, #1 8051e98: 4a5b ldr r2, [pc, #364] ; (8052008 ) 8051e9a: 2100 movs r1, #0 8051e9c: 54d1 strb r1, [r2, r3] } } WavFileNameLen = strlen(TEMP_WavFileName); 8051e9e: 485a ldr r0, [pc, #360] ; (8052008 ) 8051ea0: f7ce fa38 bl 8020314 8051ea4: 4602 mov r2, r0 8051ea6: 4b5a ldr r3, [pc, #360] ; (8052010 ) 8051ea8: 601a str r2, [r3, #0] menu = INPUT_NAME_GTR; 8051eaa: 4b4f ldr r3, [pc, #316] ; (8051fe8 ) 8051eac: 2230 movs r2, #48 ; 0x30 8051eae: 701a strb r2, [r3, #0] menupos = _CANCEL; 8051eb0: 4b4e ldr r3, [pc, #312] ; (8051fec ) 8051eb2: 2227 movs r2, #39 ; 0x27 8051eb4: 701a strb r2, [r3, #0] } break; 8051eb6: e08b b.n 8051fd0 case WaveThr: if(pardata.THR & 0x80) 8051eb8: 4b4e ldr r3, [pc, #312] ; (8051ff4 ) 8051eba: 7bdb ldrb r3, [r3, #15] 8051ebc: b2db uxtb r3, r3 8051ebe: b25b sxtb r3, r3 8051ec0: 2b00 cmp r3, #0 8051ec2: da08 bge.n 8051ed6 pardata.THR &= 0x7f; 8051ec4: 4b4b ldr r3, [pc, #300] ; (8051ff4 ) 8051ec6: 7bdb ldrb r3, [r3, #15] 8051ec8: b2db uxtb r3, r3 8051eca: f003 037f and.w r3, r3, #127 ; 0x7f 8051ece: b2da uxtb r2, r3 8051ed0: 4b48 ldr r3, [pc, #288] ; (8051ff4 ) 8051ed2: 73da strb r2, [r3, #15] { pardata.THR |= 0x80; pardata.OPTIONS &= ~0x4; pardata.OPTIONS &= ~BIT7; } break; 8051ed4: e080 b.n 8051fd8 pardata.THR |= 0x80; 8051ed6: 4b47 ldr r3, [pc, #284] ; (8051ff4 ) 8051ed8: 7bdb ldrb r3, [r3, #15] 8051eda: b2db uxtb r3, r3 8051edc: f063 037f orn r3, r3, #127 ; 0x7f 8051ee0: b2da uxtb r2, r3 8051ee2: 4b44 ldr r3, [pc, #272] ; (8051ff4 ) 8051ee4: 73da strb r2, [r3, #15] pardata.OPTIONS &= ~0x4; 8051ee6: 4b43 ldr r3, [pc, #268] ; (8051ff4 ) 8051ee8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051eec: f023 0304 bic.w r3, r3, #4 8051ef0: 4a40 ldr r2, [pc, #256] ; (8051ff4 ) 8051ef2: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.OPTIONS &= ~BIT7; 8051ef6: 4b3f ldr r3, [pc, #252] ; (8051ff4 ) 8051ef8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051efc: f023 0380 bic.w r3, r3, #128 ; 0x80 8051f00: 4a3c ldr r2, [pc, #240] ; (8051ff4 ) 8051f02: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051f06: e067 b.n 8051fd8 case WaveTacho: if((pardata.THR & 0x80) == 0) 8051f08: 4b3a ldr r3, [pc, #232] ; (8051ff4 ) 8051f0a: 7bdb ldrb r3, [r3, #15] 8051f0c: b2db uxtb r3, r3 8051f0e: b25b sxtb r3, r3 8051f10: 2b00 cmp r3, #0 8051f12: db60 blt.n 8051fd6 { if(pardata.OPTIONS & BIT7) 8051f14: 4b37 ldr r3, [pc, #220] ; (8051ff4 ) 8051f16: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051f1a: f003 0380 and.w r3, r3, #128 ; 0x80 8051f1e: 2b00 cmp r3, #0 8051f20: d008 beq.n 8051f34 { pardata.OPTIONS &= ~BIT7; 8051f22: 4b34 ldr r3, [pc, #208] ; (8051ff4 ) 8051f24: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051f28: f023 0380 bic.w r3, r3, #128 ; 0x80 8051f2c: 4a31 ldr r2, [pc, #196] ; (8051ff4 ) 8051f2e: f8c2 3098 str.w r3, [r2, #152] ; 0x98 } else pardata.OPTIONS |= BIT7; } break; 8051f32: e050 b.n 8051fd6 pardata.OPTIONS |= BIT7; 8051f34: 4b2f ldr r3, [pc, #188] ; (8051ff4 ) 8051f36: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051f3a: f043 0380 orr.w r3, r3, #128 ; 0x80 8051f3e: 4a2d ldr r2, [pc, #180] ; (8051ff4 ) 8051f40: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051f44: e047 b.n 8051fd6 case WaveAutoKu: if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8051f46: 4b2b ldr r3, [pc, #172] ; (8051ff4 ) 8051f48: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051f4c: f003 0304 and.w r3, r3, #4 8051f50: 2b00 cmp r3, #0 8051f52: d110 bne.n 8051f76 { pardata.OPTIONS |= 0x4; 8051f54: 4b27 ldr r3, [pc, #156] ; (8051ff4 ) 8051f56: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051f5a: f043 0304 orr.w r3, r3, #4 8051f5e: 4a25 ldr r2, [pc, #148] ; (8051ff4 ) 8051f60: f8c2 3098 str.w r3, [r2, #152] ; 0x98 pardata.THR &= 0x7f; 8051f64: 4b23 ldr r3, [pc, #140] ; (8051ff4 ) 8051f66: 7bdb ldrb r3, [r3, #15] 8051f68: b2db uxtb r3, r3 8051f6a: f003 037f and.w r3, r3, #127 ; 0x7f 8051f6e: b2da uxtb r2, r3 8051f70: 4b20 ldr r3, [pc, #128] ; (8051ff4 ) 8051f72: 73da strb r2, [r3, #15] } else pardata.OPTIONS &= ~0x4; break; 8051f74: e030 b.n 8051fd8 pardata.OPTIONS &= ~0x4; 8051f76: 4b1f ldr r3, [pc, #124] ; (8051ff4 ) 8051f78: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8051f7c: f023 0304 bic.w r3, r3, #4 8051f80: 4a1c ldr r2, [pc, #112] ; (8051ff4 ) 8051f82: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 8051f86: e027 b.n 8051fd8 case WaveThr_ALL: menupos = WaveThr_IET; 8051f88: 4b18 ldr r3, [pc, #96] ; (8051fec ) 8051f8a: 2211 movs r2, #17 8051f8c: 701a strb r2, [r3, #0] break; 8051f8e: e023 b.n 8051fd8 case WaveMax_ALL: menupos = WaveMax_IET; 8051f90: 4b16 ldr r3, [pc, #88] ; (8051fec ) 8051f92: 220b movs r2, #11 8051f94: 701a strb r2, [r3, #0] break; 8051f96: e01f b.n 8051fd8 case Ok: menu = MAIN_WAVE; 8051f98: 4b13 ldr r3, [pc, #76] ; (8051fe8 ) 8051f9a: 221e movs r2, #30 8051f9c: 701a strb r2, [r3, #0] menupos = StartStop; 8051f9e: 4b13 ldr r3, [pc, #76] ; (8051fec ) 8051fa0: 2200 movs r2, #0 8051fa2: 701a strb r2, [r3, #0] oldmenupos = StartStop; 8051fa4: 4b1b ldr r3, [pc, #108] ; (8052014 ) 8051fa6: 2200 movs r2, #0 8051fa8: 701a strb r2, [r3, #0] if(pardata.THR & 0x80) Threshold = true; 8051faa: 4b12 ldr r3, [pc, #72] ; (8051ff4 ) 8051fac: 7bdb ldrb r3, [r3, #15] 8051fae: b2db uxtb r3, r3 8051fb0: b25b sxtb r3, r3 8051fb2: 2b00 cmp r3, #0 8051fb4: da03 bge.n 8051fbe 8051fb6: 4b10 ldr r3, [pc, #64] ; (8051ff8 ) 8051fb8: 2201 movs r2, #1 8051fba: 701a strb r2, [r3, #0] 8051fbc: e002 b.n 8051fc4 else Threshold = false; 8051fbe: 4b0e ldr r3, [pc, #56] ; (8051ff8 ) 8051fc0: 2200 movs r2, #0 8051fc2: 701a strb r2, [r3, #0] initAmplif(); 8051fc4: f7cf fd66 bl 8021a94 FIRST = true; 8051fc8: 4b0c ldr r3, [pc, #48] ; (8051ffc ) 8051fca: 2201 movs r2, #1 8051fcc: 701a strb r2, [r3, #0] break; 8051fce: e003 b.n 8051fd8 break; 8051fd0: bf00 nop 8051fd2: f000 bec9 b.w 8052d68 break; 8051fd6: bf00 nop } } break; 8051fd8: f000 bec6 b.w 8052d68 8051fdc: 20021540 .word 0x20021540 8051fe0: 00000000 .word 0x00000000 8051fe4: 2002154c .word 0x2002154c 8051fe8: 20020f78 .word 0x20020f78 8051fec: 20020070 .word 0x20020070 8051ff0: 20020071 .word 0x20020071 8051ff4: 20023e60 .word 0x20023e60 8051ff8: 20020db1 .word 0x20020db1 8051ffc: 20020db2 .word 0x20020db2 8052000: 20020f84 .word 0x20020f84 8052004: 2002164c .word 0x2002164c 8052008: 20025ca4 .word 0x20025ca4 805200c: 20020e34 .word 0x20020e34 8052010: 20020ee8 .word 0x20020ee8 8052014: 20020f7a .word 0x20020f7a if((menupos >= Ies) && (menupos <= Ikt)) { menupos = Sens; } break;*/ case SETTINGS: switch(menupos) 8052018: 4bc0 ldr r3, [pc, #768] ; (805231c ) 805201a: 781b ldrb r3, [r3, #0] 805201c: b2db uxtb r3, r3 805201e: 3b01 subs r3, #1 8052020: 2b10 cmp r3, #16 8052022: f200 86a3 bhi.w 8052d6c 8052026: a201 add r2, pc, #4 ; (adr r2, 805202c ) 8052028: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805202c: 08052071 .word 0x08052071 8052030: 080520b1 .word 0x080520b1 8052034: 08052091 .word 0x08052091 8052038: 0805214f .word 0x0805214f 805203c: 080520ef .word 0x080520ef 8052040: 080520b9 .word 0x080520b9 8052044: 0805211b .word 0x0805211b 8052048: 08052123 .word 0x08052123 805204c: 0805213d .word 0x0805213d 8052050: 08052d6d .word 0x08052d6d 8052054: 08052d6d .word 0x08052d6d 8052058: 08052163 .word 0x08052163 805205c: 08052163 .word 0x08052163 8052060: 08052163 .word 0x08052163 8052064: 08052163 .word 0x08052163 8052068: 08052163 .word 0x08052163 805206c: 08052163 .word 0x08052163 { case Type: #if (!defined(USE_D101) && !defined(USE_D102)) if(!focused) 8052070: 4bab ldr r3, [pc, #684] ; (8052320 ) 8052072: 781b ldrb r3, [r3, #0] 8052074: b2db uxtb r3, r3 8052076: f083 0301 eor.w r3, r3, #1 805207a: b2db uxtb r3, r3 805207c: 2b00 cmp r3, #0 805207e: d003 beq.n 8052088 focused = true; 8052080: 4ba7 ldr r3, [pc, #668] ; (8052320 ) 8052082: 2201 movs r2, #1 8052084: 701a strb r2, [r3, #0] else focused = false; #endif break; 8052086: e071 b.n 805216c else focused = false; 8052088: 4ba5 ldr r3, [pc, #660] ; (8052320 ) 805208a: 2200 movs r2, #0 805208c: 701a strb r2, [r3, #0] break; 805208e: e06d b.n 805216c case Lang: if(!focused) 8052090: 4ba3 ldr r3, [pc, #652] ; (8052320 ) 8052092: 781b ldrb r3, [r3, #0] 8052094: b2db uxtb r3, r3 8052096: f083 0301 eor.w r3, r3, #1 805209a: b2db uxtb r3, r3 805209c: 2b00 cmp r3, #0 805209e: d003 beq.n 80520a8 focused = true; 80520a0: 4b9f ldr r3, [pc, #636] ; (8052320 ) 80520a2: 2201 movs r2, #1 80520a4: 701a strb r2, [r3, #0] else focused = false; break; 80520a6: e061 b.n 805216c else focused = false; 80520a8: 4b9d ldr r3, [pc, #628] ; (8052320 ) 80520aa: 2200 movs r2, #0 80520ac: 701a strb r2, [r3, #0] break; 80520ae: e05d b.n 805216c case Sens: menupos = Iee; 80520b0: 4b9a ldr r3, [pc, #616] ; (805231c ) 80520b2: 220e movs r2, #14 80520b4: 701a strb r2, [r3, #0] break; 80520b6: e059 b.n 805216c case Bluetooth: if(pardata.OPTIONS & BIT6) 80520b8: 4b9a ldr r3, [pc, #616] ; (8052324 ) 80520ba: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80520be: f003 0340 and.w r3, r3, #64 ; 0x40 80520c2: 2b00 cmp r3, #0 80520c4: d00a beq.n 80520dc { pardata.OPTIONS &= ~BIT6; 80520c6: 4b97 ldr r3, [pc, #604] ; (8052324 ) 80520c8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80520cc: f023 0340 bic.w r3, r3, #64 ; 0x40 80520d0: 4a94 ldr r2, [pc, #592] ; (8052324 ) 80520d2: f8c2 3098 str.w r3, [r2, #152] ; 0x98 MX_HC05_DeInit(); 80520d6: f7dd fafd bl 802f6d4 } else pardata.OPTIONS |= BIT6; break; 80520da: e047 b.n 805216c pardata.OPTIONS |= BIT6; 80520dc: 4b91 ldr r3, [pc, #580] ; (8052324 ) 80520de: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80520e2: f043 0340 orr.w r3, r3, #64 ; 0x40 80520e6: 4a8f ldr r2, [pc, #572] ; (8052324 ) 80520e8: f8c2 3098 str.w r3, [r2, #152] ; 0x98 break; 80520ec: e03e b.n 805216c case FormatDisk: if(CardState & MSD_PRESENT) 80520ee: 4b8e ldr r3, [pc, #568] ; (8052328 ) 80520f0: 781b ldrb r3, [r3, #0] 80520f2: b2db uxtb r3, r3 80520f4: f003 0301 and.w r3, r3, #1 80520f8: 2b00 cmp r3, #0 80520fa: d003 beq.n 8052104 menupos = FormatDiskNo; 80520fc: 4b87 ldr r3, [pc, #540] ; (805231c ) 80520fe: 2207 movs r2, #7 8052100: 701a strb r2, [r3, #0] { STATUS = AP_NO_CARD; timerStatus = sec2; DrawStatus = true; } break; 8052102: e033 b.n 805216c STATUS = AP_NO_CARD; 8052104: 4b89 ldr r3, [pc, #548] ; (805232c ) 8052106: 2211 movs r2, #17 8052108: 601a str r2, [r3, #0] timerStatus = sec2; 805210a: 4b89 ldr r3, [pc, #548] ; (8052330 ) 805210c: f44f 5280 mov.w r2, #4096 ; 0x1000 8052110: 801a strh r2, [r3, #0] DrawStatus = true; 8052112: 4b88 ldr r3, [pc, #544] ; (8052334 ) 8052114: 2201 movs r2, #1 8052116: 701a strb r2, [r3, #0] break; 8052118: e028 b.n 805216c case FormatDiskNo: menupos = FormatDisk; 805211a: 4b80 ldr r3, [pc, #512] ; (805231c ) 805211c: 2205 movs r2, #5 805211e: 701a strb r2, [r3, #0] break; 8052120: e024 b.n 805216c case FormatDiskYes: STATUS = AP_OK; 8052122: 4b82 ldr r3, [pc, #520] ; (805232c ) 8052124: 2200 movs r2, #0 8052126: 601a str r2, [r3, #0] NeedFormat = 1; 8052128: 4b83 ldr r3, [pc, #524] ; (8052338 ) 805212a: 2201 movs r2, #1 805212c: 701a strb r2, [r3, #0] FormatStatus = AP_OK; 805212e: 4b83 ldr r3, [pc, #524] ; (805233c ) 8052130: 2200 movs r2, #0 8052132: 701a strb r2, [r3, #0] menupos = FormatDiskResult; 8052134: 4b79 ldr r3, [pc, #484] ; (805231c ) 8052136: 2209 movs r2, #9 8052138: 701a strb r2, [r3, #0] break; 805213a: e017 b.n 805216c case FormatDiskResult: if(NeedFormat == 0) 805213c: 4b7e ldr r3, [pc, #504] ; (8052338 ) 805213e: 781b ldrb r3, [r3, #0] 8052140: b2db uxtb r3, r3 8052142: 2b00 cmp r3, #0 8052144: d111 bne.n 805216a menupos = FormatDisk; 8052146: 4b75 ldr r3, [pc, #468] ; (805231c ) 8052148: 2205 movs r2, #5 805214a: 701a strb r2, [r3, #0] break; 805214c: e00d b.n 805216a case DateTime: focused = false; 805214e: 4b74 ldr r3, [pc, #464] ; (8052320 ) 8052150: 2200 movs r2, #0 8052152: 701a strb r2, [r3, #0] menu = DATETIME; 8052154: 4b7a ldr r3, [pc, #488] ; (8052340 ) 8052156: 2218 movs r2, #24 8052158: 701a strb r2, [r3, #0] menupos = DateAll; 805215a: 4b70 ldr r3, [pc, #448] ; (805231c ) 805215c: 2201 movs r2, #1 805215e: 701a strb r2, [r3, #0] break; 8052160: e004 b.n 805216c case Ied: case Iee: case Ikd: case Iks: case Ikt: menupos = Sens; 8052162: 4b6e ldr r3, [pc, #440] ; (805231c ) 8052164: 2202 movs r2, #2 8052166: 701a strb r2, [r3, #0] break; 8052168: e000 b.n 805216c break; 805216a: bf00 nop } break; 805216c: f000 bdfe b.w 8052d6c case CLEAN_FILES: // TODO switch(menupos) 8052170: 4b6a ldr r3, [pc, #424] ; (805231c ) 8052172: 781b ldrb r3, [r3, #0] 8052174: b2db uxtb r3, r3 8052176: 3b01 subs r3, #1 8052178: 2b0a cmp r3, #10 805217a: f200 85f9 bhi.w 8052d70 805217e: a201 add r2, pc, #4 ; (adr r2, 8052184 ) 8052180: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8052184: 080521b1 .word 0x080521b1 8052188: 080521bf .word 0x080521bf 805218c: 08052d71 .word 0x08052d71 8052190: 080522eb .word 0x080522eb 8052194: 08052315 .word 0x08052315 8052198: 080522f3 .word 0x080522f3 805219c: 080522fb .word 0x080522fb 80521a0: 0805235d .word 0x0805235d 80521a4: 08052365 .word 0x08052365 80521a8: 0805237f .word 0x0805237f 80521ac: 080523f5 .word 0x080523f5 { case NoFilesPTM: menu = SETTINGS; 80521b0: 4b63 ldr r3, [pc, #396] ; (8052340 ) 80521b2: 2212 movs r2, #18 80521b4: 701a strb r2, [r3, #0] menupos = CleanFiles; 80521b6: 4b59 ldr r3, [pc, #356] ; (805231c ) 80521b8: 220b movs r2, #11 80521ba: 701a strb r2, [r3, #0] break; 80521bc: e122 b.n 8052404 case FilesPTM: if(ExplorerFiles[CursorIndex].fname[0] != 0) 80521be: 4b61 ldr r3, [pc, #388] ; (8052344 ) 80521c0: 681a ldr r2, [r3, #0] 80521c2: 4961 ldr r1, [pc, #388] ; (8052348 ) 80521c4: 4613 mov r3, r2 80521c6: 00db lsls r3, r3, #3 80521c8: 1a9b subs r3, r3, r2 80521ca: 00db lsls r3, r3, #3 80521cc: 440b add r3, r1 80521ce: 330c adds r3, #12 80521d0: 781b ldrb r3, [r3, #0] 80521d2: 2b00 cmp r3, #0 80521d4: f000 8112 beq.w 80523fc { d = cbChecked; 80521d8: 2301 movs r3, #1 80521da: f8c7 30bc str.w r3, [r7, #188] ; 0xbc if(NumFilesDelete != 0) 80521de: 4b5b ldr r3, [pc, #364] ; (805234c ) 80521e0: 681b ldr r3, [r3, #0] 80521e2: 2b00 cmp r3, #0 80521e4: d03d beq.n 8052262 { for(i = 0; i < MAX_CHECKED_FILES; i++) 80521e6: 2300 movs r3, #0 80521e8: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80521ec: e034 b.n 8052258 { if(strcmp(ExplorerFiles[CursorIndex].fname, &StrRAM(i, 0)) == 0) 80521ee: 4b55 ldr r3, [pc, #340] ; (8052344 ) 80521f0: 681a ldr r2, [r3, #0] 80521f2: 4613 mov r3, r2 80521f4: 00db lsls r3, r3, #3 80521f6: 1a9b subs r3, r3, r2 80521f8: 00db lsls r3, r3, #3 80521fa: 3308 adds r3, #8 80521fc: 4a52 ldr r2, [pc, #328] ; (8052348 ) 80521fe: 4413 add r3, r2 8052200: 1d18 adds r0, r3, #4 8052202: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8052206: 4613 mov r3, r2 8052208: 009b lsls r3, r3, #2 805220a: 4413 add r3, r2 805220c: 00db lsls r3, r3, #3 805220e: 461a mov r2, r3 8052210: 4b4f ldr r3, [pc, #316] ; (8052350 ) 8052212: 4413 add r3, r2 8052214: 4619 mov r1, r3 8052216: f7ce f873 bl 8020300 805221a: 4603 mov r3, r0 805221c: 2b00 cmp r3, #0 805221e: d116 bne.n 805224e { memset(&StrRAM(i, 0), 0, 40); 8052220: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8052224: 4613 mov r3, r2 8052226: 009b lsls r3, r3, #2 8052228: 4413 add r3, r2 805222a: 00db lsls r3, r3, #3 805222c: 461a mov r2, r3 805222e: 4b48 ldr r3, [pc, #288] ; (8052350 ) 8052230: 4413 add r3, r2 8052232: 2228 movs r2, #40 ; 0x28 8052234: 2100 movs r1, #0 8052236: 4618 mov r0, r3 8052238: f07a ff22 bl 80cd080 d = cbUnchecked; // Èìÿ ôàéëà èñêëþ÷èëè èç ñïèñêà óäàëÿåìûõ ôàéëîâ 805223c: 2300 movs r3, #0 805223e: f8c7 30bc str.w r3, [r7, #188] ; 0xbc NumFilesDelete--; 8052242: 4b42 ldr r3, [pc, #264] ; (805234c ) 8052244: 681b ldr r3, [r3, #0] 8052246: 3b01 subs r3, #1 8052248: 4a40 ldr r2, [pc, #256] ; (805234c ) 805224a: 6013 str r3, [r2, #0] break; 805224c: e009 b.n 8052262 for(i = 0; i < MAX_CHECKED_FILES; i++) 805224e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8052252: 3301 adds r3, #1 8052254: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8052258: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805225c: f5b3 7f00 cmp.w r3, #512 ; 0x200 8052260: d3c5 bcc.n 80521ee } } } if(d == cbChecked) // Åñëè èìÿ ôàéëà âêëþ÷èëè â ñïèñîê óäàëÿåìûõ ôàéëîâ 8052262: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 8052266: 2b01 cmp r3, #1 8052268: f040 80c8 bne.w 80523fc { // Èùåì ïåðâóþ ñâîáîäíóþ ÿ÷åéêó â áóôåðå if(NumFilesDelete < MAX_CHECKED_FILES) 805226c: 4b37 ldr r3, [pc, #220] ; (805234c ) 805226e: 681b ldr r3, [r3, #0] 8052270: f5b3 7f00 cmp.w r3, #512 ; 0x200 8052274: f080 80c2 bcs.w 80523fc { for(i = 0; i < MAX_CHECKED_FILES; i++) 8052278: 2300 movs r3, #0 805227a: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 805227e: e02e b.n 80522de { if(StrRAM(i, 0) == 0) 8052280: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 8052284: 4613 mov r3, r2 8052286: 009b lsls r3, r3, #2 8052288: 4413 add r3, r2 805228a: 00db lsls r3, r3, #3 805228c: 461a mov r2, r3 805228e: 4b30 ldr r3, [pc, #192] ; (8052350 ) 8052290: 4413 add r3, r2 8052292: 781b ldrb r3, [r3, #0] 8052294: 2b00 cmp r3, #0 8052296: d11d bne.n 80522d4 { strcpy(&StrRAM(i, 0), ExplorerFiles[CursorIndex].fname); 8052298: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 805229c: 4613 mov r3, r2 805229e: 009b lsls r3, r3, #2 80522a0: 4413 add r3, r2 80522a2: 00db lsls r3, r3, #3 80522a4: 461a mov r2, r3 80522a6: 4b2a ldr r3, [pc, #168] ; (8052350 ) 80522a8: 4413 add r3, r2 80522aa: 4618 mov r0, r3 80522ac: 4b25 ldr r3, [pc, #148] ; (8052344 ) 80522ae: 681a ldr r2, [r3, #0] 80522b0: 4613 mov r3, r2 80522b2: 00db lsls r3, r3, #3 80522b4: 1a9b subs r3, r3, r2 80522b6: 00db lsls r3, r3, #3 80522b8: 3308 adds r3, #8 80522ba: 4a23 ldr r2, [pc, #140] ; (8052348 ) 80522bc: 4413 add r3, r2 80522be: 3304 adds r3, #4 80522c0: 4619 mov r1, r3 80522c2: f07a fffa bl 80cd2ba NumFilesDelete++; 80522c6: 4b21 ldr r3, [pc, #132] ; (805234c ) 80522c8: 681b ldr r3, [r3, #0] 80522ca: 3301 adds r3, #1 80522cc: 4a1f ldr r2, [pc, #124] ; (805234c ) 80522ce: 6013 str r3, [r2, #0] break; 80522d0: bf00 nop } } } } } break; 80522d2: e093 b.n 80523fc for(i = 0; i < MAX_CHECKED_FILES; i++) 80522d4: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80522d8: 3301 adds r3, #1 80522da: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80522de: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80522e2: f5b3 7f00 cmp.w r3, #512 ; 0x200 80522e6: d3cb bcc.n 8052280 break; 80522e8: e088 b.n 80523fc case CleanUp: menupos = UpNo; break; 80522ea: 4b0c ldr r3, [pc, #48] ; (805231c ) 80522ec: 2206 movs r2, #6 80522ee: 701a strb r2, [r3, #0] 80522f0: e088 b.n 8052404 case UpNo: menupos = FilesPTM; break; 80522f2: 4b0a ldr r3, [pc, #40] ; (805231c ) 80522f4: 2202 movs r2, #2 80522f6: 701a strb r2, [r3, #0] 80522f8: e084 b.n 8052404 case UpYes: STATUS = AP_OK; 80522fa: 4b0c ldr r3, [pc, #48] ; (805232c ) 80522fc: 2200 movs r2, #0 80522fe: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8052300: 4b14 ldr r3, [pc, #80] ; (8052354 ) 8052302: 2200 movs r2, #0 8052304: 701a strb r2, [r3, #0] NeedClean = 1; 8052306: 4b14 ldr r3, [pc, #80] ; (8052358 ) 8052308: 2201 movs r2, #1 805230a: 701a strb r2, [r3, #0] menupos = CleanUpResult; 805230c: 4b03 ldr r3, [pc, #12] ; (805231c ) 805230e: 220a movs r2, #10 8052310: 701a strb r2, [r3, #0] break; 8052312: e077 b.n 8052404 case CleanAll: menupos = AllNo; break; 8052314: 4b01 ldr r3, [pc, #4] ; (805231c ) 8052316: 2208 movs r2, #8 8052318: 701a strb r2, [r3, #0] 805231a: e073 b.n 8052404 805231c: 20020070 .word 0x20020070 8052320: 20020f84 .word 0x20020f84 8052324: 20023e60 .word 0x20023e60 8052328: 2002164c .word 0x2002164c 805232c: 20020dcc .word 0x20020dcc 8052330: 2002168c .word 0x2002168c 8052334: 20020dd2 .word 0x20020dd2 8052338: 20020ddd .word 0x20020ddd 805233c: 20020dd1 .word 0x20020dd1 8052340: 20020f78 .word 0x20020f78 8052344: 20020de0 .word 0x20020de0 8052348: 20022350 .word 0x20022350 805234c: 20020e0c .word 0x20020e0c 8052350: 6404b000 .word 0x6404b000 8052354: 20020dd0 .word 0x20020dd0 8052358: 20020ddc .word 0x20020ddc case AllNo: menupos = CleanAll; break; 805235c: 4bad ldr r3, [pc, #692] ; (8052614 ) 805235e: 2205 movs r2, #5 8052360: 701a strb r2, [r3, #0] 8052362: e04f b.n 8052404 case AllYes: STATUS = AP_OK; 8052364: 4bac ldr r3, [pc, #688] ; (8052618 ) 8052366: 2200 movs r2, #0 8052368: 601a str r2, [r3, #0] CleanStatus = AP_OK; 805236a: 4bac ldr r3, [pc, #688] ; (805261c ) 805236c: 2200 movs r2, #0 805236e: 701a strb r2, [r3, #0] NeedClean = 255; 8052370: 4bab ldr r3, [pc, #684] ; (8052620 ) 8052372: 22ff movs r2, #255 ; 0xff 8052374: 701a strb r2, [r3, #0] menupos = CleanAllResult; 8052376: 4ba7 ldr r3, [pc, #668] ; (8052614 ) 8052378: 220b movs r2, #11 805237a: 701a strb r2, [r3, #0] break; 805237c: e042 b.n 8052404 case CleanUpResult: if(NeedClean == 0) 805237e: 4ba8 ldr r3, [pc, #672] ; (8052620 ) 8052380: 781b ldrb r3, [r3, #0] 8052382: b2db uxtb r3, r3 8052384: 2b00 cmp r3, #0 8052386: d13c bne.n 8052402 { result = FR_NOT_READY; 8052388: 2303 movs r3, #3 805238a: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 805238e: 4ba5 ldr r3, [pc, #660] ; (8052624 ) 8052390: 781b ldrb r3, [r3, #0] 8052392: b2db uxtb r3, r3 8052394: 2b03 cmp r3, #3 8052396: d134 bne.n 8052402 { CursorIndex = 0; 8052398: 4ba3 ldr r3, [pc, #652] ; (8052628 ) 805239a: 2200 movs r2, #0 805239c: 601a str r2, [r3, #0] FirstFileIndex = 0; 805239e: 4ba3 ldr r3, [pc, #652] ; (805262c ) 80523a0: 2200 movs r2, #0 80523a2: 601a str r2, [r3, #0] RealFileIndex = 0; 80523a4: 4ba2 ldr r3, [pc, #648] ; (8052630 ) 80523a6: 2200 movs r2, #0 80523a8: 601a str r2, [r3, #0] result = ReadNumFilesPTM((uint32_t *) &NumFilesPTM); 80523aa: 48a2 ldr r0, [pc, #648] ; (8052634 ) 80523ac: f7d8 fad4 bl 802a958 80523b0: 4603 mov r3, r0 80523b2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80523b6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80523ba: 2b00 cmp r3, #0 80523bc: d121 bne.n 8052402 { result = ReadMyFilesPTM(FirstFileIndex); 80523be: 4b9b ldr r3, [pc, #620] ; (805262c ) 80523c0: 681b ldr r3, [r3, #0] 80523c2: 4618 mov r0, r3 80523c4: f7d8 fb94 bl 802aaf0 80523c8: 4603 mov r3, r0 80523ca: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80523ce: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80523d2: 2b00 cmp r3, #0 80523d4: d115 bne.n 8052402 { menu = CLEAN_FILES; 80523d6: 4b98 ldr r3, [pc, #608] ; (8052638 ) 80523d8: 2219 movs r2, #25 80523da: 701a strb r2, [r3, #0] if(NumFilesPTM) menupos = FilesPTM; 80523dc: 4b95 ldr r3, [pc, #596] ; (8052634 ) 80523de: 681b ldr r3, [r3, #0] 80523e0: 2b00 cmp r3, #0 80523e2: d003 beq.n 80523ec 80523e4: 4b8b ldr r3, [pc, #556] ; (8052614 ) 80523e6: 2202 movs r2, #2 80523e8: 701a strb r2, [r3, #0] else menupos = NoFilesPTM; } } } } break; 80523ea: e00a b.n 8052402 else menupos = NoFilesPTM; 80523ec: 4b89 ldr r3, [pc, #548] ; (8052614 ) 80523ee: 2201 movs r2, #1 80523f0: 701a strb r2, [r3, #0] break; 80523f2: e006 b.n 8052402 case CleanAllResult: menupos = CleanAll; 80523f4: 4b87 ldr r3, [pc, #540] ; (8052614 ) 80523f6: 2205 movs r2, #5 80523f8: 701a strb r2, [r3, #0] break; 80523fa: e003 b.n 8052404 break; 80523fc: bf00 nop 80523fe: f000 bcb7 b.w 8052d70 break; 8052402: bf00 nop } break; 8052404: f000 bcb4 b.w 8052d70 case DATETIME: switch(menupos) 8052408: 4b82 ldr r3, [pc, #520] ; (8052614 ) 805240a: 781b ldrb r3, [r3, #0] 805240c: b2db uxtb r3, r3 805240e: 3b01 subs r3, #1 8052410: 2b06 cmp r3, #6 8052412: f200 84af bhi.w 8052d74 8052416: a201 add r2, pc, #4 ; (adr r2, 805241c ) 8052418: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805241c: 08052439 .word 0x08052439 8052420: 08052441 .word 0x08052441 8052424: 08052449 .word 0x08052449 8052428: 08052449 .word 0x08052449 805242c: 08052449 .word 0x08052449 8052430: 08052451 .word 0x08052451 8052434: 08052451 .word 0x08052451 { case DateAll: menupos = DateD; 8052438: 4b76 ldr r3, [pc, #472] ; (8052614 ) 805243a: 2203 movs r2, #3 805243c: 701a strb r2, [r3, #0] break; 805243e: e00b b.n 8052458 case TimeAll: menupos = TimeH; 8052440: 4b74 ldr r3, [pc, #464] ; (8052614 ) 8052442: 2206 movs r2, #6 8052444: 701a strb r2, [r3, #0] break; 8052446: e007 b.n 8052458 case DateD: case DateM: case DateY: menupos = DateAll; 8052448: 4b72 ldr r3, [pc, #456] ; (8052614 ) 805244a: 2201 movs r2, #1 805244c: 701a strb r2, [r3, #0] break; 805244e: e003 b.n 8052458 case TimeH: case TimeM: menupos = TimeAll; 8052450: 4b70 ldr r3, [pc, #448] ; (8052614 ) 8052452: 2202 movs r2, #2 8052454: 701a strb r2, [r3, #0] break; 8052456: bf00 nop } break; 8052458: f000 bc8c b.w 8052d74 case CALIBR_0: if(menupos == 1) 805245c: 4b6d ldr r3, [pc, #436] ; (8052614 ) 805245e: 781b ldrb r3, [r3, #0] 8052460: b2db uxtb r3, r3 8052462: 2b01 cmp r3, #1 8052464: d10c bne.n 8052480 { if(measuring) 8052466: 4b75 ldr r3, [pc, #468] ; (805263c ) 8052468: 781b ldrb r3, [r3, #0] 805246a: b2db uxtb r3, r3 805246c: 2b00 cmp r3, #0 805246e: d003 beq.n 8052478 StopMeas(); 8052470: f7d1 f994 bl 802379c clbr = false; menu = OPTIONS; menupos = Mode; } } break; 8052474: f000 bc83 b.w 8052d7e else StartMeas(); 8052478: f7d0 fde0 bl 802303c break; 805247c: f000 bc7f b.w 8052d7e if(measuring) 8052480: 4b6e ldr r3, [pc, #440] ; (805263c ) 8052482: 781b ldrb r3, [r3, #0] 8052484: b2db uxtb r3, r3 8052486: 2b00 cmp r3, #0 8052488: d001 beq.n 805248e StopMeas(); 805248a: f7d1 f987 bl 802379c if(menupos == 2) 805248e: 4b61 ldr r3, [pc, #388] ; (8052614 ) 8052490: 781b ldrb r3, [r3, #0] 8052492: b2db uxtb r3, r3 8052494: 2b02 cmp r3, #2 8052496: d111 bne.n 80524bc menu++; 8052498: 4b67 ldr r3, [pc, #412] ; (8052638 ) 805249a: 781b ldrb r3, [r3, #0] 805249c: b2db uxtb r3, r3 805249e: 3301 adds r3, #1 80524a0: b2da uxtb r2, r3 80524a2: 4b65 ldr r3, [pc, #404] ; (8052638 ) 80524a4: 701a strb r2, [r3, #0] menupos = 1; 80524a6: 4b5b ldr r3, [pc, #364] ; (8052614 ) 80524a8: 2201 movs r2, #1 80524aa: 701a strb r2, [r3, #0] initAmplif(); 80524ac: f7cf faf2 bl 8021a94 skz[ACC] = 0.0f; 80524b0: 4b63 ldr r3, [pc, #396] ; (8052640 ) 80524b2: f04f 0200 mov.w r2, #0 80524b6: 601a str r2, [r3, #0] break; 80524b8: f000 bc61 b.w 8052d7e clbr = false; 80524bc: 4b61 ldr r3, [pc, #388] ; (8052644 ) 80524be: 2200 movs r2, #0 80524c0: 701a strb r2, [r3, #0] menu = OPTIONS; 80524c2: 4b5d ldr r3, [pc, #372] ; (8052638 ) 80524c4: 2201 movs r2, #1 80524c6: 701a strb r2, [r3, #0] menupos = Mode; 80524c8: 4b52 ldr r3, [pc, #328] ; (8052614 ) 80524ca: 2201 movs r2, #1 80524cc: 701a strb r2, [r3, #0] break; 80524ce: f000 bc56 b.w 8052d7e case CALIBR_00: menupos = 1; 80524d2: 4b50 ldr r3, [pc, #320] ; (8052614 ) 80524d4: 2201 movs r2, #1 80524d6: 701a strb r2, [r3, #0] menu++; 80524d8: 4b57 ldr r3, [pc, #348] ; (8052638 ) 80524da: 781b ldrb r3, [r3, #0] 80524dc: b2db uxtb r3, r3 80524de: 3301 adds r3, #1 80524e0: b2da uxtb r2, r3 80524e2: 4b55 ldr r3, [pc, #340] ; (8052638 ) 80524e4: 701a strb r2, [r3, #0] initAmplif(); 80524e6: f7cf fad5 bl 8021a94 break; 80524ea: f000 bc48 b.w 8052d7e case CALIBR_4: case CALIBR_5: case CALIBR_6: case CALIBR_7: case CALIBR_8: if(menupos == 1) 80524ee: 4b49 ldr r3, [pc, #292] ; (8052614 ) 80524f0: 781b ldrb r3, [r3, #0] 80524f2: b2db uxtb r3, r3 80524f4: 2b01 cmp r3, #1 80524f6: d10c bne.n 8052512 { if(measuring) 80524f8: 4b50 ldr r3, [pc, #320] ; (805263c ) 80524fa: 781b ldrb r3, [r3, #0] 80524fc: b2db uxtb r3, r3 80524fe: 2b00 cmp r3, #0 8052500: d003 beq.n 805250a StopMeas(); 8052502: f7d1 f94b bl 802379c initAmplif(); skz[ACC] = 0.0f; } } break; 8052506: f000 bc3a b.w 8052d7e else StartMeas(); 805250a: f7d0 fd97 bl 802303c break; 805250e: f000 bc36 b.w 8052d7e if(measuring) 8052512: 4b4a ldr r3, [pc, #296] ; (805263c ) 8052514: 781b ldrb r3, [r3, #0] 8052516: b2db uxtb r3, r3 8052518: 2b00 cmp r3, #0 805251a: d001 beq.n 8052520 StopMeas(); 805251c: f7d1 f93e bl 802379c if(menupos == 0) 8052520: 4b3c ldr r3, [pc, #240] ; (8052614 ) 8052522: 781b ldrb r3, [r3, #0] 8052524: b2db uxtb r3, r3 8052526: 2b00 cmp r3, #0 8052528: d10d bne.n 8052546 menu--; 805252a: 4b43 ldr r3, [pc, #268] ; (8052638 ) 805252c: 781b ldrb r3, [r3, #0] 805252e: b2db uxtb r3, r3 8052530: 3b01 subs r3, #1 8052532: b2da uxtb r2, r3 8052534: 4b40 ldr r3, [pc, #256] ; (8052638 ) 8052536: 701a strb r2, [r3, #0] menupos = 1; 8052538: 4b36 ldr r3, [pc, #216] ; (8052614 ) 805253a: 2201 movs r2, #1 805253c: 701a strb r2, [r3, #0] initAmplif(); 805253e: f7cf faa9 bl 8021a94 break; 8052542: f000 bc1c b.w 8052d7e menu++; 8052546: 4b3c ldr r3, [pc, #240] ; (8052638 ) 8052548: 781b ldrb r3, [r3, #0] 805254a: b2db uxtb r3, r3 805254c: 3301 adds r3, #1 805254e: b2da uxtb r2, r3 8052550: 4b39 ldr r3, [pc, #228] ; (8052638 ) 8052552: 701a strb r2, [r3, #0] menupos = 1; 8052554: 4b2f ldr r3, [pc, #188] ; (8052614 ) 8052556: 2201 movs r2, #1 8052558: 701a strb r2, [r3, #0] initAmplif(); 805255a: f7cf fa9b bl 8021a94 skz[ACC] = 0.0f; 805255e: 4b38 ldr r3, [pc, #224] ; (8052640 ) 8052560: f04f 0200 mov.w r2, #0 8052564: 601a str r2, [r3, #0] break; 8052566: f000 bc0a b.w 8052d7e case CALIBR_9: if(menupos == 0) 805256a: 4b2a ldr r3, [pc, #168] ; (8052614 ) 805256c: 781b ldrb r3, [r3, #0] 805256e: b2db uxtb r3, r3 8052570: 2b00 cmp r3, #0 8052572: d10c bne.n 805258e { menu--; 8052574: 4b30 ldr r3, [pc, #192] ; (8052638 ) 8052576: 781b ldrb r3, [r3, #0] 8052578: b2db uxtb r3, r3 805257a: 3b01 subs r3, #1 805257c: b2da uxtb r2, r3 805257e: 4b2e ldr r3, [pc, #184] ; (8052638 ) 8052580: 701a strb r2, [r3, #0] menupos = 1; 8052582: 4b24 ldr r3, [pc, #144] ; (8052614 ) 8052584: 2201 movs r2, #1 8052586: 701a strb r2, [r3, #0] initAmplif(); 8052588: f7cf fa84 bl 8021a94 { menu++; menupos = 1; Acorr[0] = Vbat; } break; 805258c: e3f7 b.n 8052d7e menu++; 805258e: 4b2a ldr r3, [pc, #168] ; (8052638 ) 8052590: 781b ldrb r3, [r3, #0] 8052592: b2db uxtb r3, r3 8052594: 3301 adds r3, #1 8052596: b2da uxtb r2, r3 8052598: 4b27 ldr r3, [pc, #156] ; (8052638 ) 805259a: 701a strb r2, [r3, #0] menupos = 1; 805259c: 4b1d ldr r3, [pc, #116] ; (8052614 ) 805259e: 2201 movs r2, #1 80525a0: 701a strb r2, [r3, #0] Acorr[0] = Vbat; 80525a2: 4b29 ldr r3, [pc, #164] ; (8052648 ) 80525a4: 681b ldr r3, [r3, #0] 80525a6: 4a29 ldr r2, [pc, #164] ; (805264c ) 80525a8: 6013 str r3, [r2, #0] break; 80525aa: e3e8 b.n 8052d7e case CALIBR_10: if(menupos == 0) 80525ac: 4b19 ldr r3, [pc, #100] ; (8052614 ) 80525ae: 781b ldrb r3, [r3, #0] 80525b0: b2db uxtb r3, r3 80525b2: 2b00 cmp r3, #0 80525b4: d10a bne.n 80525cc { menu--; 80525b6: 4b20 ldr r3, [pc, #128] ; (8052638 ) 80525b8: 781b ldrb r3, [r3, #0] 80525ba: b2db uxtb r3, r3 80525bc: 3b01 subs r3, #1 80525be: b2da uxtb r2, r3 80525c0: 4b1d ldr r3, [pc, #116] ; (8052638 ) 80525c2: 701a strb r2, [r3, #0] menupos = 0; 80525c4: 4b13 ldr r3, [pc, #76] ; (8052614 ) 80525c6: 2200 movs r2, #0 80525c8: 701a strb r2, [r3, #0] { menu++; menupos = 1; Acorr[1] = Vbat; } break; 80525ca: e3d8 b.n 8052d7e menu++; 80525cc: 4b1a ldr r3, [pc, #104] ; (8052638 ) 80525ce: 781b ldrb r3, [r3, #0] 80525d0: b2db uxtb r3, r3 80525d2: 3301 adds r3, #1 80525d4: b2da uxtb r2, r3 80525d6: 4b18 ldr r3, [pc, #96] ; (8052638 ) 80525d8: 701a strb r2, [r3, #0] menupos = 1; 80525da: 4b0e ldr r3, [pc, #56] ; (8052614 ) 80525dc: 2201 movs r2, #1 80525de: 701a strb r2, [r3, #0] Acorr[1] = Vbat; 80525e0: 4b19 ldr r3, [pc, #100] ; (8052648 ) 80525e2: 681b ldr r3, [r3, #0] 80525e4: 4a19 ldr r2, [pc, #100] ; (805264c ) 80525e6: 6053 str r3, [r2, #4] break; 80525e8: e3c9 b.n 8052d7e case CALIBR_11: if(menupos == 0) 80525ea: 4b0a ldr r3, [pc, #40] ; (8052614 ) 80525ec: 781b ldrb r3, [r3, #0] 80525ee: b2db uxtb r3, r3 80525f0: 2b00 cmp r3, #0 80525f2: d10a bne.n 805260a { menu--; 80525f4: 4b10 ldr r3, [pc, #64] ; (8052638 ) 80525f6: 781b ldrb r3, [r3, #0] 80525f8: b2db uxtb r3, r3 80525fa: 3b01 subs r3, #1 80525fc: b2da uxtb r2, r3 80525fe: 4b0e ldr r3, [pc, #56] ; (8052638 ) 8052600: 701a strb r2, [r3, #0] menupos = 0; 8052602: 4b04 ldr r3, [pc, #16] ; (8052614 ) 8052604: 2200 movs r2, #0 8052606: 701a strb r2, [r3, #0] clbr = false; menu = OPTIONS; menupos = Mode; } break; 8052608: e3b9 b.n 8052d7e for(i = 0; i < 9; i++) 805260a: 2300 movs r3, #0 805260c: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8052610: e07a b.n 8052708 8052612: bf00 nop 8052614: 20020070 .word 0x20020070 8052618: 20020dcc .word 0x20020dcc 805261c: 20020dd0 .word 0x20020dd0 8052620: 20020ddc .word 0x20020ddc 8052624: 2002164c .word 0x2002164c 8052628: 20020de0 .word 0x20020de0 805262c: 20020de4 .word 0x20020de4 8052630: 20020de8 .word 0x20020de8 8052634: 20020df4 .word 0x20020df4 8052638: 20020f78 .word 0x20020f78 805263c: 20020daf .word 0x20020daf 8052640: 20021540 .word 0x20021540 8052644: 20020f68 .word 0x20020f68 8052648: 20020000 .word 0x20020000 805264c: 200684fc .word 0x200684fc if((Kcorr[i] <= 0.0f) || (Kcorr[i] > 2.0f)) { 8052650: 4ab6 ldr r2, [pc, #728] ; (805292c ) 8052652: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8052656: 009b lsls r3, r3, #2 8052658: 4413 add r3, r2 805265a: edd3 7a00 vldr s15, [r3] 805265e: eef5 7ac0 vcmpe.f32 s15, #0.0 8052662: eef1 fa10 vmrs APSR_nzcv, fpscr 8052666: d90d bls.n 8052684 8052668: 4ab0 ldr r2, [pc, #704] ; (805292c ) 805266a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805266e: 009b lsls r3, r3, #2 8052670: 4413 add r3, r2 8052672: edd3 7a00 vldr s15, [r3] 8052676: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 805267a: eef4 7ac7 vcmpe.f32 s15, s14 805267e: eef1 fa10 vmrs APSR_nzcv, fpscr 8052682: dd07 ble.n 8052694 Kcorr[i] = 1.0f; 8052684: 4aa9 ldr r2, [pc, #676] ; (805292c ) 8052686: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805268a: 009b lsls r3, r3, #2 805268c: 4413 add r3, r2 805268e: f04f 527e mov.w r2, #1065353216 ; 0x3f800000 8052692: 601a str r2, [r3, #0] pardata.CORR_KU[i] = Kcorr[i]; 8052694: 4aa5 ldr r2, [pc, #660] ; (805292c ) 8052696: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805269a: 009b lsls r3, r3, #2 805269c: 4413 add r3, r2 805269e: 681a ldr r2, [r3, #0] 80526a0: 49a3 ldr r1, [pc, #652] ; (8052930 ) 80526a2: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80526a6: 3306 adds r3, #6 80526a8: 009b lsls r3, r3, #2 80526aa: 440b add r3, r1 80526ac: 3304 adds r3, #4 80526ae: 601a str r2, [r3, #0] corrdata.CORR_ACC[i] = Kcorr[i]; 80526b0: 4a9e ldr r2, [pc, #632] ; (805292c ) 80526b2: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80526b6: 009b lsls r3, r3, #2 80526b8: 4413 add r3, r2 80526ba: 681a ldr r2, [r3, #0] 80526bc: 499d ldr r1, [pc, #628] ; (8052934 ) 80526be: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80526c2: 009b lsls r3, r3, #2 80526c4: 440b add r3, r1 80526c6: 601a str r2, [r3, #0] corrdata.CORR_VEL[i] = Kcorr[i]; 80526c8: 4a98 ldr r2, [pc, #608] ; (805292c ) 80526ca: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80526ce: 009b lsls r3, r3, #2 80526d0: 4413 add r3, r2 80526d2: 681a ldr r2, [r3, #0] 80526d4: 4997 ldr r1, [pc, #604] ; (8052934 ) 80526d6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80526da: 3308 adds r3, #8 80526dc: 009b lsls r3, r3, #2 80526de: 440b add r3, r1 80526e0: 3304 adds r3, #4 80526e2: 601a str r2, [r3, #0] corrdata.CORR_DIS[i] = Kcorr[i]; 80526e4: 4a91 ldr r2, [pc, #580] ; (805292c ) 80526e6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80526ea: 009b lsls r3, r3, #2 80526ec: 4413 add r3, r2 80526ee: 681a ldr r2, [r3, #0] 80526f0: 4990 ldr r1, [pc, #576] ; (8052934 ) 80526f2: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80526f6: 3312 adds r3, #18 80526f8: 009b lsls r3, r3, #2 80526fa: 440b add r3, r1 80526fc: 601a str r2, [r3, #0] for(i = 0; i < 9; i++) 80526fe: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 8052702: 3301 adds r3, #1 8052704: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 8052708: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 805270c: 2b08 cmp r3, #8 805270e: d99f bls.n 8052650 Acorr[0] = (4.20f - 3.50f) / (Acorr[1] - Acorr[0]); 8052710: 4b89 ldr r3, [pc, #548] ; (8052938 ) 8052712: ed93 7a01 vldr s14, [r3, #4] 8052716: 4b88 ldr r3, [pc, #544] ; (8052938 ) 8052718: edd3 7a00 vldr s15, [r3] 805271c: ee37 7a67 vsub.f32 s14, s14, s15 8052720: eddf 6a86 vldr s13, [pc, #536] ; 805293c 8052724: eec6 7a87 vdiv.f32 s15, s13, s14 8052728: 4b83 ldr r3, [pc, #524] ; (8052938 ) 805272a: edc3 7a00 vstr s15, [r3] Acorr[1] = 4.20f - (Acorr[1] * Acorr[0]); 805272e: 4b82 ldr r3, [pc, #520] ; (8052938 ) 8052730: ed93 7a01 vldr s14, [r3, #4] 8052734: 4b80 ldr r3, [pc, #512] ; (8052938 ) 8052736: edd3 7a00 vldr s15, [r3] 805273a: ee67 7a27 vmul.f32 s15, s14, s15 805273e: ed9f 7a80 vldr s14, [pc, #512] ; 8052940 8052742: ee77 7a67 vsub.f32 s15, s14, s15 8052746: 4b7c ldr r3, [pc, #496] ; (8052938 ) 8052748: edc3 7a01 vstr s15, [r3, #4] aa1 = Acorr[0]; 805274c: 4b7a ldr r3, [pc, #488] ; (8052938 ) 805274e: 681b ldr r3, [r3, #0] 8052750: 4a7c ldr r2, [pc, #496] ; (8052944 ) 8052752: 6013 str r3, [r2, #0] aa0 = Acorr[1]; 8052754: 4b78 ldr r3, [pc, #480] ; (8052938 ) 8052756: 685b ldr r3, [r3, #4] 8052758: 4a7b ldr r2, [pc, #492] ; (8052948 ) 805275a: 6013 str r3, [r2, #0] memcpy((void *) _SERIAL, (void *) Serial, sizeof(Serial)); 805275c: 4b7b ldr r3, [pc, #492] ; (805294c ) 805275e: 4a7c ldr r2, [pc, #496] ; (8052950 ) 8052760: 6811 ldr r1, [r2, #0] 8052762: 6852 ldr r2, [r2, #4] 8052764: 6019 str r1, [r3, #0] 8052766: 605a str r2, [r3, #4] wrCorr(); 8052768: f7dc f936 bl 802e9d8 wrPar(); 805276c: f7db fd8c bl 802e288 clbr = false; 8052770: 4b78 ldr r3, [pc, #480] ; (8052954 ) 8052772: 2200 movs r2, #0 8052774: 701a strb r2, [r3, #0] menu = OPTIONS; 8052776: 4b78 ldr r3, [pc, #480] ; (8052958 ) 8052778: 2201 movs r2, #1 805277a: 701a strb r2, [r3, #0] menupos = Mode; 805277c: 4b77 ldr r3, [pc, #476] ; (805295c ) 805277e: 2201 movs r2, #1 8052780: 701a strb r2, [r3, #0] break; 8052782: e2fc b.n 8052d7e case CALIBR_OFFSET: FLAG_CALC_MEAN = false; 8052784: 4b76 ldr r3, [pc, #472] ; (8052960 ) 8052786: 2200 movs r2, #0 8052788: 701a strb r2, [r3, #0] MAX11270_StopMeas(); 805278a: f002 fc57 bl 805503c MEAN = MEAN_TEMP; 805278e: 4b75 ldr r3, [pc, #468] ; (8052964 ) 8052790: 681b ldr r3, [r3, #0] 8052792: 4a75 ldr r2, [pc, #468] ; (8052968 ) 8052794: 6013 str r3, [r2, #0] wrCorr(); 8052796: f7dc f91f bl 802e9d8 menu = OPTIONS; 805279a: 4b6f ldr r3, [pc, #444] ; (8052958 ) 805279c: 2201 movs r2, #1 805279e: 701a strb r2, [r3, #0] menupos = Mode; 80527a0: 4b6e ldr r3, [pc, #440] ; (805295c ) 80527a2: 2201 movs r2, #1 80527a4: 701a strb r2, [r3, #0] break; 80527a6: e2ea b.n 8052d7e case ARCHIVE: switch(menupos) 80527a8: 4b6c ldr r3, [pc, #432] ; (805295c ) 80527aa: 781b ldrb r3, [r3, #0] 80527ac: b2db uxtb r3, r3 80527ae: 2b01 cmp r3, #1 80527b0: d002 beq.n 80527b8 80527b2: 2b02 cmp r3, #2 80527b4: d05e beq.n 8052874 timerStatus = sec2; DrawStatus = true; } break; } break; 80527b6: e2e2 b.n 8052d7e result = FR_NOT_READY; 80527b8: 2303 movs r3, #3 80527ba: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 80527be: 4b6b ldr r3, [pc, #428] ; (805296c ) 80527c0: 781b ldrb r3, [r3, #0] 80527c2: b2db uxtb r3, r3 80527c4: 2b03 cmp r3, #3 80527c6: d134 bne.n 8052832 CursorIndex = 0; 80527c8: 4b69 ldr r3, [pc, #420] ; (8052970 ) 80527ca: 2200 movs r2, #0 80527cc: 601a str r2, [r3, #0] FirstFileIndex = 0; 80527ce: 4b69 ldr r3, [pc, #420] ; (8052974 ) 80527d0: 2200 movs r2, #0 80527d2: 601a str r2, [r3, #0] RealFileIndex = 0; 80527d4: 4b68 ldr r3, [pc, #416] ; (8052978 ) 80527d6: 2200 movs r2, #0 80527d8: 601a str r2, [r3, #0] result = ReadNumFilesFRAN((uint32_t *) &NumFilesFRAN); 80527da: 4868 ldr r0, [pc, #416] ; (805297c ) 80527dc: f7d8 f8fe bl 802a9dc 80527e0: 4603 mov r3, r0 80527e2: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80527e6: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80527ea: 2b00 cmp r3, #0 80527ec: f040 80d2 bne.w 8052994 result = ReadMyFilesFRAN(FirstFileIndex); 80527f0: 4b60 ldr r3, [pc, #384] ; (8052974 ) 80527f2: 681b ldr r3, [r3, #0] 80527f4: 4618 mov r0, r3 80527f6: f7d8 f9a2 bl 802ab3e 80527fa: 4603 mov r3, r0 80527fc: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052800: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052804: 2b00 cmp r3, #0 8052806: f040 80c5 bne.w 8052994 menu = ARCHIVE_FRAN; 805280a: 4b53 ldr r3, [pc, #332] ; (8052958 ) 805280c: 2216 movs r2, #22 805280e: 701a strb r2, [r3, #0] lastmenupos = menupos; 8052810: 4b52 ldr r3, [pc, #328] ; (805295c ) 8052812: 781b ldrb r3, [r3, #0] 8052814: b2da uxtb r2, r3 8052816: 4b5a ldr r3, [pc, #360] ; (8052980 ) 8052818: 701a strb r2, [r3, #0] if(NumFilesFRAN) menupos = FilesFRAN; 805281a: 4b58 ldr r3, [pc, #352] ; (805297c ) 805281c: 681b ldr r3, [r3, #0] 805281e: 2b00 cmp r3, #0 8052820: d003 beq.n 805282a 8052822: 4b4e ldr r3, [pc, #312] ; (805295c ) 8052824: 2202 movs r2, #2 8052826: 701a strb r2, [r3, #0] break; 8052828: e0b4 b.n 8052994 else menupos = NoFilesFRAN; 805282a: 4b4c ldr r3, [pc, #304] ; (805295c ) 805282c: 2201 movs r2, #1 805282e: 701a strb r2, [r3, #0] break; 8052830: e0b0 b.n 8052994 if(CardState == MSD_PRESENT) 8052832: 4b4e ldr r3, [pc, #312] ; (805296c ) 8052834: 781b ldrb r3, [r3, #0] 8052836: b2db uxtb r3, r3 8052838: 2b01 cmp r3, #1 805283a: d10a bne.n 8052852 STATUS = AP_DISK_ERROR; 805283c: 4b51 ldr r3, [pc, #324] ; (8052984 ) 805283e: 220b movs r2, #11 8052840: 601a str r2, [r3, #0] timerStatus = sec2; 8052842: 4b51 ldr r3, [pc, #324] ; (8052988 ) 8052844: f44f 5280 mov.w r2, #4096 ; 0x1000 8052848: 801a strh r2, [r3, #0] DrawStatus = true; 805284a: 4b50 ldr r3, [pc, #320] ; (805298c ) 805284c: 2201 movs r2, #1 805284e: 701a strb r2, [r3, #0] break; 8052850: e0a0 b.n 8052994 if(CardState == MSD_NOCARD) 8052852: 4b46 ldr r3, [pc, #280] ; (805296c ) 8052854: 781b ldrb r3, [r3, #0] 8052856: b2db uxtb r3, r3 8052858: 2b00 cmp r3, #0 805285a: f040 809b bne.w 8052994 STATUS = AP_NO_CARD; 805285e: 4b49 ldr r3, [pc, #292] ; (8052984 ) 8052860: 2211 movs r2, #17 8052862: 601a str r2, [r3, #0] timerStatus = sec2; 8052864: 4b48 ldr r3, [pc, #288] ; (8052988 ) 8052866: f44f 5280 mov.w r2, #4096 ; 0x1000 805286a: 801a strh r2, [r3, #0] DrawStatus = true; 805286c: 4b47 ldr r3, [pc, #284] ; (805298c ) 805286e: 2201 movs r2, #1 8052870: 701a strb r2, [r3, #0] break; 8052872: e08f b.n 8052994 result = FR_NOT_READY; 8052874: 2303 movs r3, #3 8052876: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 805287a: 4b3c ldr r3, [pc, #240] ; (805296c ) 805287c: 781b ldrb r3, [r3, #0] 805287e: b2db uxtb r3, r3 8052880: 2b03 cmp r3, #3 8052882: d132 bne.n 80528ea CursorIndex = 0; 8052884: 4b3a ldr r3, [pc, #232] ; (8052970 ) 8052886: 2200 movs r2, #0 8052888: 601a str r2, [r3, #0] FirstFileIndex = 0; 805288a: 4b3a ldr r3, [pc, #232] ; (8052974 ) 805288c: 2200 movs r2, #0 805288e: 601a str r2, [r3, #0] RealFileIndex = 0; 8052890: 4b39 ldr r3, [pc, #228] ; (8052978 ) 8052892: 2200 movs r2, #0 8052894: 601a str r2, [r3, #0] result = ReadNumFilesGTR((uint32_t *) &NumFilesGTR); 8052896: 483e ldr r0, [pc, #248] ; (8052990 ) 8052898: f7d8 f8b6 bl 802aa08 805289c: 4603 mov r3, r0 805289e: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80528a2: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80528a6: 2b00 cmp r3, #0 80528a8: d176 bne.n 8052998 result = ReadMyFilesGTR(FirstFileIndex); 80528aa: 4b32 ldr r3, [pc, #200] ; (8052974 ) 80528ac: 681b ldr r3, [r3, #0] 80528ae: 4618 mov r0, r3 80528b0: f7d8 f952 bl 802ab58 80528b4: 4603 mov r3, r0 80528b6: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80528ba: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80528be: 2b00 cmp r3, #0 80528c0: d16a bne.n 8052998 menu = ARCHIVE_WAVE; 80528c2: 4b25 ldr r3, [pc, #148] ; (8052958 ) 80528c4: 2217 movs r2, #23 80528c6: 701a strb r2, [r3, #0] lastmenupos = menupos; 80528c8: 4b24 ldr r3, [pc, #144] ; (805295c ) 80528ca: 781b ldrb r3, [r3, #0] 80528cc: b2da uxtb r2, r3 80528ce: 4b2c ldr r3, [pc, #176] ; (8052980 ) 80528d0: 701a strb r2, [r3, #0] if(NumFilesGTR) menupos = FilesGTR; 80528d2: 4b2f ldr r3, [pc, #188] ; (8052990 ) 80528d4: 681b ldr r3, [r3, #0] 80528d6: 2b00 cmp r3, #0 80528d8: d003 beq.n 80528e2 80528da: 4b20 ldr r3, [pc, #128] ; (805295c ) 80528dc: 2202 movs r2, #2 80528de: 701a strb r2, [r3, #0] break; 80528e0: e05a b.n 8052998 else menupos = NoFilesGTR; 80528e2: 4b1e ldr r3, [pc, #120] ; (805295c ) 80528e4: 2201 movs r2, #1 80528e6: 701a strb r2, [r3, #0] break; 80528e8: e056 b.n 8052998 if(CardState == MSD_PRESENT) 80528ea: 4b20 ldr r3, [pc, #128] ; (805296c ) 80528ec: 781b ldrb r3, [r3, #0] 80528ee: b2db uxtb r3, r3 80528f0: 2b01 cmp r3, #1 80528f2: d10a bne.n 805290a STATUS = AP_DISK_ERROR; 80528f4: 4b23 ldr r3, [pc, #140] ; (8052984 ) 80528f6: 220b movs r2, #11 80528f8: 601a str r2, [r3, #0] timerStatus = sec2; 80528fa: 4b23 ldr r3, [pc, #140] ; (8052988 ) 80528fc: f44f 5280 mov.w r2, #4096 ; 0x1000 8052900: 801a strh r2, [r3, #0] DrawStatus = true; 8052902: 4b22 ldr r3, [pc, #136] ; (805298c ) 8052904: 2201 movs r2, #1 8052906: 701a strb r2, [r3, #0] break; 8052908: e046 b.n 8052998 if(CardState == MSD_NOCARD) 805290a: 4b18 ldr r3, [pc, #96] ; (805296c ) 805290c: 781b ldrb r3, [r3, #0] 805290e: b2db uxtb r3, r3 8052910: 2b00 cmp r3, #0 8052912: d141 bne.n 8052998 STATUS = AP_NO_CARD; 8052914: 4b1b ldr r3, [pc, #108] ; (8052984 ) 8052916: 2211 movs r2, #17 8052918: 601a str r2, [r3, #0] timerStatus = sec2; 805291a: 4b1b ldr r3, [pc, #108] ; (8052988 ) 805291c: f44f 5280 mov.w r2, #4096 ; 0x1000 8052920: 801a strh r2, [r3, #0] DrawStatus = true; 8052922: 4b1a ldr r3, [pc, #104] ; (805298c ) 8052924: 2201 movs r2, #1 8052926: 701a strb r2, [r3, #0] break; 8052928: e036 b.n 8052998 805292a: bf00 nop 805292c: 20026194 .word 0x20026194 8052930: 20023e60 .word 0x20023e60 8052934: 20024310 .word 0x20024310 8052938: 200684fc .word 0x200684fc 805293c: 3f333330 .word 0x3f333330 8052940: 40866666 .word 0x40866666 8052944: 20020024 .word 0x20020024 8052948: 20020d4c .word 0x20020d4c 805294c: 20020f14 .word 0x20020f14 8052950: 20026d04 .word 0x20026d04 8052954: 20020f68 .word 0x20020f68 8052958: 20020f78 .word 0x20020f78 805295c: 20020070 .word 0x20020070 8052960: 2002168e .word 0x2002168e 8052964: 200209d0 .word 0x200209d0 8052968: 200209cc .word 0x200209cc 805296c: 2002164c .word 0x2002164c 8052970: 20020de0 .word 0x20020de0 8052974: 20020de4 .word 0x20020de4 8052978: 20020de8 .word 0x20020de8 805297c: 20020e00 .word 0x20020e00 8052980: 20020071 .word 0x20020071 8052984: 20020dcc .word 0x20020dcc 8052988: 2002168c .word 0x2002168c 805298c: 20020dd2 .word 0x20020dd2 8052990: 20020e04 .word 0x20020e04 break; 8052994: bf00 nop 8052996: e1f2 b.n 8052d7e break; 8052998: bf00 nop break; 805299a: e1f0 b.n 8052d7e case ARCHIVE_SPEC: HISTORY = false; 805299c: 4ba0 ldr r3, [pc, #640] ; (8052c20 ) 805299e: 2200 movs r2, #0 80529a0: 701a strb r2, [r3, #0] if(menupos == FilesSPEC) 80529a2: 4ba0 ldr r3, [pc, #640] ; (8052c24 ) 80529a4: 781b ldrb r3, [r3, #0] 80529a6: b2db uxtb r3, r3 80529a8: 2b02 cmp r3, #2 80529aa: d143 bne.n 8052a34 { memset(FileName, 0, sizeof(FileName)); 80529ac: 2228 movs r2, #40 ; 0x28 80529ae: 2100 movs r1, #0 80529b0: 489d ldr r0, [pc, #628] ; (8052c28 ) 80529b2: f07a fb65 bl 80cd080 strcpy(FileName, (char *) ExplorerFiles[CursorIndex].fname); 80529b6: 4b9d ldr r3, [pc, #628] ; (8052c2c ) 80529b8: 681a ldr r2, [r3, #0] 80529ba: 4613 mov r3, r2 80529bc: 00db lsls r3, r3, #3 80529be: 1a9b subs r3, r3, r2 80529c0: 00db lsls r3, r3, #3 80529c2: 3308 adds r3, #8 80529c4: 4a9a ldr r2, [pc, #616] ; (8052c30 ) 80529c6: 4413 add r3, r2 80529c8: 3304 adds r3, #4 80529ca: 4619 mov r1, r3 80529cc: 4896 ldr r0, [pc, #600] ; (8052c28 ) 80529ce: f07a fc74 bl 80cd2ba result = ReadFileSPEC(FileName); 80529d2: 4895 ldr r0, [pc, #596] ; (8052c28 ) 80529d4: f7d4 ffb6 bl 8027944 80529d8: 4603 mov r3, r0 80529da: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 80529de: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 80529e2: 2b00 cmp r3, #0 80529e4: d10c bne.n 8052a00 { menu = MAIN_SPEC; 80529e6: 4b93 ldr r3, [pc, #588] ; (8052c34 ) 80529e8: 221c movs r2, #28 80529ea: 701a strb r2, [r3, #0] menupos = BackMenu; 80529ec: 4b8d ldr r3, [pc, #564] ; (8052c24 ) 80529ee: 2201 movs r2, #1 80529f0: 701a strb r2, [r3, #0] HISTORY = true; 80529f2: 4b8b ldr r3, [pc, #556] ; (8052c20 ) 80529f4: 2201 movs r2, #1 80529f6: 701a strb r2, [r3, #0] FIRST = false; 80529f8: 4b8f ldr r3, [pc, #572] ; (8052c38 ) 80529fa: 2200 movs r2, #0 80529fc: 701a strb r2, [r3, #0] } } } } } break; 80529fe: e1bb b.n 8052d78 if(result == FR_NOT_READY) 8052a00: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052a04: 2b03 cmp r3, #3 8052a06: d10a bne.n 8052a1e STATUS = AP_NO_CARD; 8052a08: 4b8c ldr r3, [pc, #560] ; (8052c3c ) 8052a0a: 2211 movs r2, #17 8052a0c: 601a str r2, [r3, #0] timerStatus = sec2; 8052a0e: 4b8c ldr r3, [pc, #560] ; (8052c40 ) 8052a10: f44f 5280 mov.w r2, #4096 ; 0x1000 8052a14: 801a strh r2, [r3, #0] DrawStatus = true; 8052a16: 4b8b ldr r3, [pc, #556] ; (8052c44 ) 8052a18: 2201 movs r2, #1 8052a1a: 701a strb r2, [r3, #0] break; 8052a1c: e1ac b.n 8052d78 STATUS = AP_INVALID_FILE; 8052a1e: 4b87 ldr r3, [pc, #540] ; (8052c3c ) 8052a20: 2202 movs r2, #2 8052a22: 601a str r2, [r3, #0] timerStatus = sec2; 8052a24: 4b86 ldr r3, [pc, #536] ; (8052c40 ) 8052a26: f44f 5280 mov.w r2, #4096 ; 0x1000 8052a2a: 801a strh r2, [r3, #0] DrawStatus = true; 8052a2c: 4b85 ldr r3, [pc, #532] ; (8052c44 ) 8052a2e: 2201 movs r2, #1 8052a30: 701a strb r2, [r3, #0] break; 8052a32: e1a1 b.n 8052d78 if(menupos == UpNo) 8052a34: 4b7b ldr r3, [pc, #492] ; (8052c24 ) 8052a36: 781b ldrb r3, [r3, #0] 8052a38: b2db uxtb r3, r3 8052a3a: 2b06 cmp r3, #6 8052a3c: d103 bne.n 8052a46 menupos = FilesSPEC; 8052a3e: 4b79 ldr r3, [pc, #484] ; (8052c24 ) 8052a40: 2202 movs r2, #2 8052a42: 701a strb r2, [r3, #0] break; 8052a44: e198 b.n 8052d78 if(menupos == UpYes) 8052a46: 4b77 ldr r3, [pc, #476] ; (8052c24 ) 8052a48: 781b ldrb r3, [r3, #0] 8052a4a: b2db uxtb r3, r3 8052a4c: 2b07 cmp r3, #7 8052a4e: d124 bne.n 8052a9a STATUS = AP_OK; 8052a50: 4b7a ldr r3, [pc, #488] ; (8052c3c ) 8052a52: 2200 movs r2, #0 8052a54: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8052a56: 4b7c ldr r3, [pc, #496] ; (8052c48 ) 8052a58: 2200 movs r2, #0 8052a5a: 701a strb r2, [r3, #0] result = DeleteFileSPEC((char *) ExplorerFiles[CursorIndex].fname); 8052a5c: 4b73 ldr r3, [pc, #460] ; (8052c2c ) 8052a5e: 681a ldr r2, [r3, #0] 8052a60: 4613 mov r3, r2 8052a62: 00db lsls r3, r3, #3 8052a64: 1a9b subs r3, r3, r2 8052a66: 00db lsls r3, r3, #3 8052a68: 3308 adds r3, #8 8052a6a: 4a71 ldr r2, [pc, #452] ; (8052c30 ) 8052a6c: 4413 add r3, r2 8052a6e: 3304 adds r3, #4 8052a70: 4618 mov r0, r3 8052a72: f7d8 fb21 bl 802b0b8 8052a76: 4603 mov r3, r0 8052a78: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052a7c: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052a80: 2b00 cmp r3, #0 8052a82: d103 bne.n 8052a8c CleanStatus = AP_OK; 8052a84: 4b70 ldr r3, [pc, #448] ; (8052c48 ) 8052a86: 2200 movs r2, #0 8052a88: 701a strb r2, [r3, #0] 8052a8a: e002 b.n 8052a92 else CleanStatus = AP_FAIL; 8052a8c: 4b6e ldr r3, [pc, #440] ; (8052c48 ) 8052a8e: 2201 movs r2, #1 8052a90: 701a strb r2, [r3, #0] menupos = CleanUpResult; 8052a92: 4b64 ldr r3, [pc, #400] ; (8052c24 ) 8052a94: 220a movs r2, #10 8052a96: 701a strb r2, [r3, #0] break; 8052a98: e16e b.n 8052d78 if(menupos == CleanUpResult) 8052a9a: 4b62 ldr r3, [pc, #392] ; (8052c24 ) 8052a9c: 781b ldrb r3, [r3, #0] 8052a9e: b2db uxtb r3, r3 8052aa0: 2b0a cmp r3, #10 8052aa2: f040 8169 bne.w 8052d78 if(NeedClean == 0) 8052aa6: 4b69 ldr r3, [pc, #420] ; (8052c4c ) 8052aa8: 781b ldrb r3, [r3, #0] 8052aaa: b2db uxtb r3, r3 8052aac: 2b00 cmp r3, #0 8052aae: f040 8163 bne.w 8052d78 result = FR_NOT_READY; 8052ab2: 2303 movs r3, #3 8052ab4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8052ab8: 4b65 ldr r3, [pc, #404] ; (8052c50 ) 8052aba: 781b ldrb r3, [r3, #0] 8052abc: b2db uxtb r3, r3 8052abe: 2b03 cmp r3, #3 8052ac0: f040 815a bne.w 8052d78 CursorIndex = 0; 8052ac4: 4b59 ldr r3, [pc, #356] ; (8052c2c ) 8052ac6: 2200 movs r2, #0 8052ac8: 601a str r2, [r3, #0] FirstFileIndex = 0; 8052aca: 4b62 ldr r3, [pc, #392] ; (8052c54 ) 8052acc: 2200 movs r2, #0 8052ace: 601a str r2, [r3, #0] RealFileIndex = 0; 8052ad0: 4b61 ldr r3, [pc, #388] ; (8052c58 ) 8052ad2: 2200 movs r2, #0 8052ad4: 601a str r2, [r3, #0] result = ReadNumFilesSPEC((uint32_t *) &NumFilesSPEC); 8052ad6: 4861 ldr r0, [pc, #388] ; (8052c5c ) 8052ad8: f7d7 ff6a bl 802a9b0 8052adc: 4603 mov r3, r0 8052ade: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052ae2: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052ae6: 2b00 cmp r3, #0 8052ae8: f040 8146 bne.w 8052d78 result = ReadMyFilesSPEC(FirstFileIndex); 8052aec: 4b59 ldr r3, [pc, #356] ; (8052c54 ) 8052aee: 681b ldr r3, [r3, #0] 8052af0: 4618 mov r0, r3 8052af2: f7d8 f817 bl 802ab24 8052af6: 4603 mov r3, r0 8052af8: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052afc: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052b00: 2b00 cmp r3, #0 8052b02: f040 8139 bne.w 8052d78 menu = ARCHIVE_SPEC; 8052b06: 4b4b ldr r3, [pc, #300] ; (8052c34 ) 8052b08: 2215 movs r2, #21 8052b0a: 701a strb r2, [r3, #0] if(NumFilesSPEC) menupos = FilesSPEC; 8052b0c: 4b53 ldr r3, [pc, #332] ; (8052c5c ) 8052b0e: 681b ldr r3, [r3, #0] 8052b10: 2b00 cmp r3, #0 8052b12: d003 beq.n 8052b1c 8052b14: 4b43 ldr r3, [pc, #268] ; (8052c24 ) 8052b16: 2202 movs r2, #2 8052b18: 701a strb r2, [r3, #0] break; 8052b1a: e12d b.n 8052d78 else menupos = NoFilesSPEC; 8052b1c: 4b41 ldr r3, [pc, #260] ; (8052c24 ) 8052b1e: 2201 movs r2, #1 8052b20: 701a strb r2, [r3, #0] break; 8052b22: e129 b.n 8052d78 case ARCHIVE_FRAN: break; case ARCHIVE_WAVE://TODO HISTORY = false; 8052b24: 4b3e ldr r3, [pc, #248] ; (8052c20 ) 8052b26: 2200 movs r2, #0 8052b28: 701a strb r2, [r3, #0] switch(menupos) 8052b2a: 4b3e ldr r3, [pc, #248] ; (8052c24 ) 8052b2c: 781b ldrb r3, [r3, #0] 8052b2e: b2db uxtb r3, r3 8052b30: 3b02 subs r3, #2 8052b32: 2b08 cmp r3, #8 8052b34: f200 8122 bhi.w 8052d7c 8052b38: a201 add r2, pc, #4 ; (adr r2, 8052b40 ) 8052b3a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8052b3e: bf00 nop 8052b40: 08052b65 .word 0x08052b65 8052b44: 08052d7d .word 0x08052d7d 8052b48: 08052d7d .word 0x08052d7d 8052b4c: 08052d7d .word 0x08052d7d 8052b50: 08052bfd .word 0x08052bfd 8052b54: 08052c05 .word 0x08052c05 8052b58: 08052d7d .word 0x08052d7d 8052b5c: 08052d7d .word 0x08052d7d 8052b60: 08052c69 .word 0x08052c69 { case FilesGTR: memset(FileName, 0, sizeof(FileName)); 8052b64: 2228 movs r2, #40 ; 0x28 8052b66: 2100 movs r1, #0 8052b68: 482f ldr r0, [pc, #188] ; (8052c28 ) 8052b6a: f07a fa89 bl 80cd080 strcpy(FileName, (char *) ExplorerFiles[CursorIndex].fname); 8052b6e: 4b2f ldr r3, [pc, #188] ; (8052c2c ) 8052b70: 681a ldr r2, [r3, #0] 8052b72: 4613 mov r3, r2 8052b74: 00db lsls r3, r3, #3 8052b76: 1a9b subs r3, r3, r2 8052b78: 00db lsls r3, r3, #3 8052b7a: 3308 adds r3, #8 8052b7c: 4a2c ldr r2, [pc, #176] ; (8052c30 ) 8052b7e: 4413 add r3, r2 8052b80: 3304 adds r3, #4 8052b82: 4619 mov r1, r3 8052b84: 4828 ldr r0, [pc, #160] ; (8052c28 ) 8052b86: f07a fb98 bl 80cd2ba result = OpenFileGTR(FileName); 8052b8a: 4827 ldr r0, [pc, #156] ; (8052c28 ) 8052b8c: f7d4 ff9a bl 8027ac4 8052b90: 4603 mov r3, r0 8052b92: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052b96: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052b9a: 2b00 cmp r3, #0 8052b9c: d114 bne.n 8052bc8 { SeekFileGTR(); 8052b9e: f7d6 f9bf bl 8028f20 ViewLevel = 0; 8052ba2: 4b2f ldr r3, [pc, #188] ; (8052c60 ) 8052ba4: 2200 movs r2, #0 8052ba6: 701a strb r2, [r3, #0] AUTOZOOM = true; 8052ba8: 4b2e ldr r3, [pc, #184] ; (8052c64 ) 8052baa: 2201 movs r2, #1 8052bac: 701a strb r2, [r3, #0] menu = MAIN_SYGNAL; 8052bae: 4b21 ldr r3, [pc, #132] ; (8052c34 ) 8052bb0: 2220 movs r2, #32 8052bb2: 701a strb r2, [r3, #0] menupos = StartStop; 8052bb4: 4b1b ldr r3, [pc, #108] ; (8052c24 ) 8052bb6: 2200 movs r2, #0 8052bb8: 701a strb r2, [r3, #0] HISTORY = true; 8052bba: 4b19 ldr r3, [pc, #100] ; (8052c20 ) 8052bbc: 2201 movs r2, #1 8052bbe: 701a strb r2, [r3, #0] FIRST = false; 8052bc0: 4b1d ldr r3, [pc, #116] ; (8052c38 ) 8052bc2: 2200 movs r2, #0 8052bc4: 701a strb r2, [r3, #0] { STATUS = AP_INVALID_FILE; timerStatus = sec2; DrawStatus = true; } break; 8052bc6: e08a b.n 8052cde if(result == FR_NOT_READY) 8052bc8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052bcc: 2b03 cmp r3, #3 8052bce: d10a bne.n 8052be6 STATUS = AP_NO_CARD; 8052bd0: 4b1a ldr r3, [pc, #104] ; (8052c3c ) 8052bd2: 2211 movs r2, #17 8052bd4: 601a str r2, [r3, #0] timerStatus = sec2; 8052bd6: 4b1a ldr r3, [pc, #104] ; (8052c40 ) 8052bd8: f44f 5280 mov.w r2, #4096 ; 0x1000 8052bdc: 801a strh r2, [r3, #0] DrawStatus = true; 8052bde: 4b19 ldr r3, [pc, #100] ; (8052c44 ) 8052be0: 2201 movs r2, #1 8052be2: 701a strb r2, [r3, #0] break; 8052be4: e07b b.n 8052cde STATUS = AP_INVALID_FILE; 8052be6: 4b15 ldr r3, [pc, #84] ; (8052c3c ) 8052be8: 2202 movs r2, #2 8052bea: 601a str r2, [r3, #0] timerStatus = sec2; 8052bec: 4b14 ldr r3, [pc, #80] ; (8052c40 ) 8052bee: f44f 5280 mov.w r2, #4096 ; 0x1000 8052bf2: 801a strh r2, [r3, #0] DrawStatus = true; 8052bf4: 4b13 ldr r3, [pc, #76] ; (8052c44 ) 8052bf6: 2201 movs r2, #1 8052bf8: 701a strb r2, [r3, #0] break; 8052bfa: e070 b.n 8052cde case UpNo: menupos = FilesGTR; 8052bfc: 4b09 ldr r3, [pc, #36] ; (8052c24 ) 8052bfe: 2202 movs r2, #2 8052c00: 701a strb r2, [r3, #0] break; 8052c02: e06c b.n 8052cde case UpYes: STATUS = AP_OK; 8052c04: 4b0d ldr r3, [pc, #52] ; (8052c3c ) 8052c06: 2200 movs r2, #0 8052c08: 601a str r2, [r3, #0] CleanStatus = AP_OK; 8052c0a: 4b0f ldr r3, [pc, #60] ; (8052c48 ) 8052c0c: 2200 movs r2, #0 8052c0e: 701a strb r2, [r3, #0] NeedClean = 2; 8052c10: 4b0e ldr r3, [pc, #56] ; (8052c4c ) 8052c12: 2202 movs r2, #2 8052c14: 701a strb r2, [r3, #0] menupos = CleanUpResult; 8052c16: 4b03 ldr r3, [pc, #12] ; (8052c24 ) 8052c18: 220a movs r2, #10 8052c1a: 701a strb r2, [r3, #0] break; 8052c1c: e05f b.n 8052cde 8052c1e: bf00 nop 8052c20: 20020f76 .word 0x20020f76 8052c24: 20020070 .word 0x20020070 8052c28: 20022bb8 .word 0x20022bb8 8052c2c: 20020de0 .word 0x20020de0 8052c30: 20022350 .word 0x20022350 8052c34: 20020f78 .word 0x20020f78 8052c38: 20020db2 .word 0x20020db2 8052c3c: 20020dcc .word 0x20020dcc 8052c40: 2002168c .word 0x2002168c 8052c44: 20020dd2 .word 0x20020dd2 8052c48: 20020dd0 .word 0x20020dd0 8052c4c: 20020ddc .word 0x20020ddc 8052c50: 2002164c .word 0x2002164c 8052c54: 20020de4 .word 0x20020de4 8052c58: 20020de8 .word 0x20020de8 8052c5c: 20020dfc .word 0x20020dfc 8052c60: 20020f74 .word 0x20020f74 8052c64: 2002098c .word 0x2002098c case CleanUpResult: if(NeedClean == 0) 8052c68: 4b4e ldr r3, [pc, #312] ; (8052da4 ) 8052c6a: 781b ldrb r3, [r3, #0] 8052c6c: b2db uxtb r3, r3 8052c6e: 2b00 cmp r3, #0 8052c70: d134 bne.n 8052cdc { result = FR_NOT_READY; 8052c72: 2303 movs r3, #3 8052c74: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(CardState == MSD_READY) 8052c78: 4b4b ldr r3, [pc, #300] ; (8052da8 ) 8052c7a: 781b ldrb r3, [r3, #0] 8052c7c: b2db uxtb r3, r3 8052c7e: 2b03 cmp r3, #3 8052c80: d12c bne.n 8052cdc { CursorIndex = 0; 8052c82: 4b4a ldr r3, [pc, #296] ; (8052dac ) 8052c84: 2200 movs r2, #0 8052c86: 601a str r2, [r3, #0] FirstFileIndex = 0; 8052c88: 4b49 ldr r3, [pc, #292] ; (8052db0 ) 8052c8a: 2200 movs r2, #0 8052c8c: 601a str r2, [r3, #0] RealFileIndex = 0; 8052c8e: 4b49 ldr r3, [pc, #292] ; (8052db4 ) 8052c90: 2200 movs r2, #0 8052c92: 601a str r2, [r3, #0] result = ReadNumFilesGTR((uint32_t *) &NumFilesGTR); 8052c94: 4848 ldr r0, [pc, #288] ; (8052db8 ) 8052c96: f7d7 feb7 bl 802aa08 8052c9a: 4603 mov r3, r0 8052c9c: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052ca0: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052ca4: 2b00 cmp r3, #0 8052ca6: d119 bne.n 8052cdc { result = ReadMyFilesGTR(FirstFileIndex); 8052ca8: 4b41 ldr r3, [pc, #260] ; (8052db0 ) 8052caa: 681b ldr r3, [r3, #0] 8052cac: 4618 mov r0, r3 8052cae: f7d7 ff53 bl 802ab58 8052cb2: 4603 mov r3, r0 8052cb4: f887 30a7 strb.w r3, [r7, #167] ; 0xa7 if(result == FR_OK) 8052cb8: f897 30a7 ldrb.w r3, [r7, #167] ; 0xa7 8052cbc: 2b00 cmp r3, #0 8052cbe: d10d bne.n 8052cdc { menu = ARCHIVE_WAVE; 8052cc0: 4b3e ldr r3, [pc, #248] ; (8052dbc ) 8052cc2: 2217 movs r2, #23 8052cc4: 701a strb r2, [r3, #0] if(NumFilesGTR) menupos = FilesGTR; 8052cc6: 4b3c ldr r3, [pc, #240] ; (8052db8 ) 8052cc8: 681b ldr r3, [r3, #0] 8052cca: 2b00 cmp r3, #0 8052ccc: d003 beq.n 8052cd6 8052cce: 4b3c ldr r3, [pc, #240] ; (8052dc0 ) 8052cd0: 2202 movs r2, #2 8052cd2: 701a strb r2, [r3, #0] else menupos = NoFilesGTR; } } } } break; 8052cd4: e002 b.n 8052cdc else menupos = NoFilesGTR; 8052cd6: 4b3a ldr r3, [pc, #232] ; (8052dc0 ) 8052cd8: 2201 movs r2, #1 8052cda: 701a strb r2, [r3, #0] break; 8052cdc: bf00 nop } break; 8052cde: e04d b.n 8052d7c break; 8052ce0: bf00 nop 8052ce2: e059 b.n 8052d98 break; 8052ce4: bf00 nop 8052ce6: e057 b.n 8052d98 break; 8052ce8: bf00 nop 8052cea: e055 b.n 8052d98 break; 8052cec: bf00 nop 8052cee: e053 b.n 8052d98 break; 8052cf0: bf00 nop 8052cf2: e051 b.n 8052d98 break; 8052cf4: bf00 nop 8052cf6: e04f b.n 8052d98 break; 8052cf8: bf00 nop 8052cfa: e04d b.n 8052d98 break; 8052cfc: bf00 nop 8052cfe: e04b b.n 8052d98 break; 8052d00: bf00 nop 8052d02: e049 b.n 8052d98 break; 8052d04: bf00 nop 8052d06: e047 b.n 8052d98 break; 8052d08: bf00 nop 8052d0a: e045 b.n 8052d98 break; 8052d0c: bf00 nop 8052d0e: e043 b.n 8052d98 break; 8052d10: bf00 nop 8052d12: e041 b.n 8052d98 break; 8052d14: bf00 nop 8052d16: e03f b.n 8052d98 break; 8052d18: bf00 nop 8052d1a: e03d b.n 8052d98 break; 8052d1c: bf00 nop 8052d1e: e03b b.n 8052d98 break; 8052d20: bf00 nop 8052d22: e039 b.n 8052d98 break; 8052d24: bf00 nop 8052d26: e037 b.n 8052d98 break; 8052d28: bf00 nop 8052d2a: e035 b.n 8052d98 break; 8052d2c: bf00 nop 8052d2e: e033 b.n 8052d98 break; 8052d30: bf00 nop 8052d32: e031 b.n 8052d98 break; 8052d34: bf00 nop 8052d36: e02f b.n 8052d98 break; 8052d38: bf00 nop 8052d3a: e02d b.n 8052d98 break; 8052d3c: bf00 nop 8052d3e: e02b b.n 8052d98 break; 8052d40: bf00 nop 8052d42: e029 b.n 8052d98 break; 8052d44: bf00 nop 8052d46: e027 b.n 8052d98 break; 8052d48: bf00 nop 8052d4a: e025 b.n 8052d98 break; 8052d4c: bf00 nop 8052d4e: e023 b.n 8052d98 break; 8052d50: bf00 nop 8052d52: e021 b.n 8052d98 break; 8052d54: bf00 nop 8052d56: e01f b.n 8052d98 break; 8052d58: bf00 nop 8052d5a: e01d b.n 8052d98 break; 8052d5c: bf00 nop 8052d5e: e01b b.n 8052d98 break; 8052d60: bf00 nop 8052d62: e019 b.n 8052d98 break; 8052d64: bf00 nop 8052d66: e017 b.n 8052d98 break; 8052d68: bf00 nop 8052d6a: e015 b.n 8052d98 break; 8052d6c: bf00 nop 8052d6e: e013 b.n 8052d98 break; 8052d70: bf00 nop 8052d72: e011 b.n 8052d98 break; 8052d74: bf00 nop 8052d76: e00f b.n 8052d98 break; 8052d78: bf00 nop 8052d7a: e00d b.n 8052d98 break; 8052d7c: bf00 nop } break; 8052d7e: e00b b.n 8052d98 return; 8052d80: bf00 nop 8052d82: e00a b.n 8052d9a break; 8052d84: bf00 nop 8052d86: e008 b.n 8052d9a break; 8052d88: bf00 nop 8052d8a: e006 b.n 8052d9a break; 8052d8c: bf00 nop 8052d8e: e004 b.n 8052d9a break; 8052d90: bf00 nop 8052d92: e002 b.n 8052d9a break; 8052d94: bf00 nop 8052d96: e000 b.n 8052d9a break; 8052d98: bf00 nop case KEY_PW: break; } } } 8052d9a: 37cc adds r7, #204 ; 0xcc 8052d9c: 46bd mov sp, r7 8052d9e: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 8052da2: bf00 nop 8052da4: 20020ddc .word 0x20020ddc 8052da8: 2002164c .word 0x2002164c 8052dac: 20020de0 .word 0x20020de0 8052db0: 20020de4 .word 0x20020de4 8052db4: 20020de8 .word 0x20020de8 8052db8: 20020e04 .word 0x20020e04 8052dbc: 20020f78 .word 0x20020f78 8052dc0: 20020070 .word 0x20020070 08052dc4 : void RefreshGraf(void) { 8052dc4: b480 push {r7} 8052dc6: af00 add r7, sp, #0 ViewLevel = 0; 8052dc8: 4b8d ldr r3, [pc, #564] ; (8053000 ) 8052dca: 2200 movs r2, #0 8052dcc: 701a strb r2, [r3, #0] X0 = 0; 8052dce: 4b8d ldr r3, [pc, #564] ; (8053004 ) 8052dd0: 2200 movs r2, #0 8052dd2: 801a strh r2, [r3, #0] lX = X0; 8052dd4: 4b8b ldr r3, [pc, #556] ; (8053004 ) 8052dd6: 881b ldrh r3, [r3, #0] 8052dd8: b29a uxth r2, r3 8052dda: 4b8b ldr r3, [pc, #556] ; (8053008 ) 8052ddc: 801a strh r2, [r3, #0] if(pardata.SYG == OSC) 8052dde: 4b8b ldr r3, [pc, #556] ; (805300c ) 8052de0: 781b ldrb r3, [r3, #0] 8052de2: b2db uxtb r3, r3 8052de4: 2b02 cmp r3, #2 8052de6: d13b bne.n 8052e60 { Mpos = X0 + CURSOR * avgOSC[ViewLevel][pardata.LNE]; 8052de8: 4b85 ldr r3, [pc, #532] ; (8053000 ) 8052dea: 781b ldrb r3, [r3, #0] 8052dec: b2db uxtb r3, r3 8052dee: 4619 mov r1, r3 8052df0: 4b86 ldr r3, [pc, #536] ; (805300c ) 8052df2: 79db ldrb r3, [r3, #7] 8052df4: b2db uxtb r3, r3 8052df6: 4618 mov r0, r3 8052df8: 4a85 ldr r2, [pc, #532] ; (8053010 ) 8052dfa: 460b mov r3, r1 8052dfc: 009b lsls r3, r3, #2 8052dfe: 440b add r3, r1 8052e00: 4413 add r3, r2 8052e02: 4403 add r3, r0 8052e04: 781b ldrb r3, [r3, #0] 8052e06: b29a uxth r2, r3 8052e08: 4b82 ldr r3, [pc, #520] ; (8053014 ) 8052e0a: 681b ldr r3, [r3, #0] 8052e0c: b29b uxth r3, r3 8052e0e: fb12 f303 smulbb r3, r2, r3 8052e12: b29a uxth r2, r3 8052e14: 4b7b ldr r3, [pc, #492] ; (8053004 ) 8052e16: 881b ldrh r3, [r3, #0] 8052e18: b29b uxth r3, r3 8052e1a: 4413 add r3, r2 8052e1c: b29a uxth r2, r3 8052e1e: 4b7e ldr r3, [pc, #504] ; (8053018 ) 8052e20: 801a strh r2, [r3, #0] fineMpos = Mpos; 8052e22: 4b7d ldr r3, [pc, #500] ; (8053018 ) 8052e24: 881b ldrh r3, [r3, #0] 8052e26: b29a uxth r2, r3 8052e28: 4b7c ldr r3, [pc, #496] ; (805301c ) 8052e2a: 801a strh r2, [r3, #0] rX = 256 * avgOSC[ViewLevel][pardata.LNE] + lX; 8052e2c: 4b74 ldr r3, [pc, #464] ; (8053000 ) 8052e2e: 781b ldrb r3, [r3, #0] 8052e30: b2db uxtb r3, r3 8052e32: 4619 mov r1, r3 8052e34: 4b75 ldr r3, [pc, #468] ; (805300c ) 8052e36: 79db ldrb r3, [r3, #7] 8052e38: b2db uxtb r3, r3 8052e3a: 4618 mov r0, r3 8052e3c: 4a74 ldr r2, [pc, #464] ; (8053010 ) 8052e3e: 460b mov r3, r1 8052e40: 009b lsls r3, r3, #2 8052e42: 440b add r3, r1 8052e44: 4413 add r3, r2 8052e46: 4403 add r3, r0 8052e48: 781b ldrb r3, [r3, #0] 8052e4a: b29b uxth r3, r3 8052e4c: 021b lsls r3, r3, #8 8052e4e: b29a uxth r2, r3 8052e50: 4b6d ldr r3, [pc, #436] ; (8053008 ) 8052e52: 881b ldrh r3, [r3, #0] 8052e54: b29b uxth r3, r3 8052e56: 4413 add r3, r2 8052e58: b29a uxth r2, r3 8052e5a: 4b71 ldr r3, [pc, #452] ; (8053020 ) 8052e5c: 801a strh r2, [r3, #0] CURSOR = 5; Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; fineMpos = Mpos; rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; } } 8052e5e: e0ca b.n 8052ff6 if(pardata.SYG == ROLL) 8052e60: 4b6a ldr r3, [pc, #424] ; (805300c ) 8052e62: 781b ldrb r3, [r3, #0] 8052e64: b2db uxtb r3, r3 8052e66: 2b08 cmp r3, #8 8052e68: d13a bne.n 8052ee0 ViewLevel = 1; 8052e6a: 4b65 ldr r3, [pc, #404] ; (8053000 ) 8052e6c: 2201 movs r2, #1 8052e6e: 701a strb r2, [r3, #0] Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; 8052e70: 4b63 ldr r3, [pc, #396] ; (8053000 ) 8052e72: 781b ldrb r3, [r3, #0] 8052e74: b2db uxtb r3, r3 8052e76: 4618 mov r0, r3 8052e78: 4b64 ldr r3, [pc, #400] ; (805300c ) 8052e7a: 79db ldrb r3, [r3, #7] 8052e7c: b2db uxtb r3, r3 8052e7e: 4619 mov r1, r3 8052e80: 4a68 ldr r2, [pc, #416] ; (8053024 ) 8052e82: 0083 lsls r3, r0, #2 8052e84: 4413 add r3, r2 8052e86: 440b add r3, r1 8052e88: 781b ldrb r3, [r3, #0] 8052e8a: b29a uxth r2, r3 8052e8c: 4b61 ldr r3, [pc, #388] ; (8053014 ) 8052e8e: 681b ldr r3, [r3, #0] 8052e90: b29b uxth r3, r3 8052e92: fb12 f303 smulbb r3, r2, r3 8052e96: b29a uxth r2, r3 8052e98: 4b5a ldr r3, [pc, #360] ; (8053004 ) 8052e9a: 881b ldrh r3, [r3, #0] 8052e9c: b29b uxth r3, r3 8052e9e: 4413 add r3, r2 8052ea0: b29a uxth r2, r3 8052ea2: 4b5d ldr r3, [pc, #372] ; (8053018 ) 8052ea4: 801a strh r2, [r3, #0] fineMpos = Mpos; 8052ea6: 4b5c ldr r3, [pc, #368] ; (8053018 ) 8052ea8: 881b ldrh r3, [r3, #0] 8052eaa: b29a uxth r2, r3 8052eac: 4b5b ldr r3, [pc, #364] ; (805301c ) 8052eae: 801a strh r2, [r3, #0] rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; 8052eb0: 4b53 ldr r3, [pc, #332] ; (8053000 ) 8052eb2: 781b ldrb r3, [r3, #0] 8052eb4: b2db uxtb r3, r3 8052eb6: 4618 mov r0, r3 8052eb8: 4b54 ldr r3, [pc, #336] ; (805300c ) 8052eba: 79db ldrb r3, [r3, #7] 8052ebc: b2db uxtb r3, r3 8052ebe: 4619 mov r1, r3 8052ec0: 4a58 ldr r2, [pc, #352] ; (8053024 ) 8052ec2: 0083 lsls r3, r0, #2 8052ec4: 4413 add r3, r2 8052ec6: 440b add r3, r1 8052ec8: 781b ldrb r3, [r3, #0] 8052eca: b29b uxth r3, r3 8052ecc: 021b lsls r3, r3, #8 8052ece: b29a uxth r2, r3 8052ed0: 4b4d ldr r3, [pc, #308] ; (8053008 ) 8052ed2: 881b ldrh r3, [r3, #0] 8052ed4: b29b uxth r3, r3 8052ed6: 4413 add r3, r2 8052ed8: b29a uxth r2, r3 8052eda: 4b51 ldr r3, [pc, #324] ; (8053020 ) 8052edc: 801a strh r2, [r3, #0] } 8052ede: e08a b.n 8052ff6 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == UDAR)) 8052ee0: 4b4a ldr r3, [pc, #296] ; (805300c ) 8052ee2: 781b ldrb r3, [r3, #0] 8052ee4: b2db uxtb r3, r3 8052ee6: 2b01 cmp r3, #1 8052ee8: d009 beq.n 8052efe 8052eea: 4b48 ldr r3, [pc, #288] ; (805300c ) 8052eec: 781b ldrb r3, [r3, #0] 8052eee: b2db uxtb r3, r3 8052ef0: 2b05 cmp r3, #5 8052ef2: d004 beq.n 8052efe 8052ef4: 4b45 ldr r3, [pc, #276] ; (805300c ) 8052ef6: 781b ldrb r3, [r3, #0] 8052ef8: b2db uxtb r3, r3 8052efa: 2b09 cmp r3, #9 8052efc: d137 bne.n 8052f6e Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; 8052efe: 4b40 ldr r3, [pc, #256] ; (8053000 ) 8052f00: 781b ldrb r3, [r3, #0] 8052f02: b2db uxtb r3, r3 8052f04: 4618 mov r0, r3 8052f06: 4b41 ldr r3, [pc, #260] ; (805300c ) 8052f08: 79db ldrb r3, [r3, #7] 8052f0a: b2db uxtb r3, r3 8052f0c: 4619 mov r1, r3 8052f0e: 4a45 ldr r2, [pc, #276] ; (8053024 ) 8052f10: 0083 lsls r3, r0, #2 8052f12: 4413 add r3, r2 8052f14: 440b add r3, r1 8052f16: 781b ldrb r3, [r3, #0] 8052f18: b29a uxth r2, r3 8052f1a: 4b3e ldr r3, [pc, #248] ; (8053014 ) 8052f1c: 681b ldr r3, [r3, #0] 8052f1e: b29b uxth r3, r3 8052f20: fb12 f303 smulbb r3, r2, r3 8052f24: b29a uxth r2, r3 8052f26: 4b37 ldr r3, [pc, #220] ; (8053004 ) 8052f28: 881b ldrh r3, [r3, #0] 8052f2a: b29b uxth r3, r3 8052f2c: 4413 add r3, r2 8052f2e: b29a uxth r2, r3 8052f30: 4b39 ldr r3, [pc, #228] ; (8053018 ) 8052f32: 801a strh r2, [r3, #0] fineMpos = Mpos; 8052f34: 4b38 ldr r3, [pc, #224] ; (8053018 ) 8052f36: 881b ldrh r3, [r3, #0] 8052f38: b29a uxth r2, r3 8052f3a: 4b38 ldr r3, [pc, #224] ; (805301c ) 8052f3c: 801a strh r2, [r3, #0] rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; 8052f3e: 4b30 ldr r3, [pc, #192] ; (8053000 ) 8052f40: 781b ldrb r3, [r3, #0] 8052f42: b2db uxtb r3, r3 8052f44: 4618 mov r0, r3 8052f46: 4b31 ldr r3, [pc, #196] ; (805300c ) 8052f48: 79db ldrb r3, [r3, #7] 8052f4a: b2db uxtb r3, r3 8052f4c: 4619 mov r1, r3 8052f4e: 4a35 ldr r2, [pc, #212] ; (8053024 ) 8052f50: 0083 lsls r3, r0, #2 8052f52: 4413 add r3, r2 8052f54: 440b add r3, r1 8052f56: 781b ldrb r3, [r3, #0] 8052f58: b29b uxth r3, r3 8052f5a: 021b lsls r3, r3, #8 8052f5c: b29a uxth r2, r3 8052f5e: 4b2a ldr r3, [pc, #168] ; (8053008 ) 8052f60: 881b ldrh r3, [r3, #0] 8052f62: b29b uxth r3, r3 8052f64: 4413 add r3, r2 8052f66: b29a uxth r2, r3 8052f68: 4b2d ldr r3, [pc, #180] ; (8053020 ) 8052f6a: 801a strh r2, [r3, #0] } 8052f6c: e043 b.n 8052ff6 if((pardata.SYG == SPEC_OKT) || (pardata.SYG == SPEC_THIRD)) 8052f6e: 4b27 ldr r3, [pc, #156] ; (805300c ) 8052f70: 781b ldrb r3, [r3, #0] 8052f72: b2db uxtb r3, r3 8052f74: 2b06 cmp r3, #6 8052f76: d004 beq.n 8052f82 8052f78: 4b24 ldr r3, [pc, #144] ; (805300c ) 8052f7a: 781b ldrb r3, [r3, #0] 8052f7c: b2db uxtb r3, r3 8052f7e: 2b07 cmp r3, #7 8052f80: d139 bne.n 8052ff6 CURSOR = 5; 8052f82: 4b24 ldr r3, [pc, #144] ; (8053014 ) 8052f84: 2205 movs r2, #5 8052f86: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * avgSPC[ViewLevel][pardata.LNE]; 8052f88: 4b1d ldr r3, [pc, #116] ; (8053000 ) 8052f8a: 781b ldrb r3, [r3, #0] 8052f8c: b2db uxtb r3, r3 8052f8e: 4618 mov r0, r3 8052f90: 4b1e ldr r3, [pc, #120] ; (805300c ) 8052f92: 79db ldrb r3, [r3, #7] 8052f94: b2db uxtb r3, r3 8052f96: 4619 mov r1, r3 8052f98: 4a22 ldr r2, [pc, #136] ; (8053024 ) 8052f9a: 0083 lsls r3, r0, #2 8052f9c: 4413 add r3, r2 8052f9e: 440b add r3, r1 8052fa0: 781b ldrb r3, [r3, #0] 8052fa2: b29a uxth r2, r3 8052fa4: 4b1b ldr r3, [pc, #108] ; (8053014 ) 8052fa6: 681b ldr r3, [r3, #0] 8052fa8: b29b uxth r3, r3 8052faa: fb12 f303 smulbb r3, r2, r3 8052fae: b29a uxth r2, r3 8052fb0: 4b14 ldr r3, [pc, #80] ; (8053004 ) 8052fb2: 881b ldrh r3, [r3, #0] 8052fb4: b29b uxth r3, r3 8052fb6: 4413 add r3, r2 8052fb8: b29a uxth r2, r3 8052fba: 4b17 ldr r3, [pc, #92] ; (8053018 ) 8052fbc: 801a strh r2, [r3, #0] fineMpos = Mpos; 8052fbe: 4b16 ldr r3, [pc, #88] ; (8053018 ) 8052fc0: 881b ldrh r3, [r3, #0] 8052fc2: b29a uxth r2, r3 8052fc4: 4b15 ldr r3, [pc, #84] ; (805301c ) 8052fc6: 801a strh r2, [r3, #0] rX = 256 * avgSPC[ViewLevel][pardata.LNE] + lX; 8052fc8: 4b0d ldr r3, [pc, #52] ; (8053000 ) 8052fca: 781b ldrb r3, [r3, #0] 8052fcc: b2db uxtb r3, r3 8052fce: 4618 mov r0, r3 8052fd0: 4b0e ldr r3, [pc, #56] ; (805300c ) 8052fd2: 79db ldrb r3, [r3, #7] 8052fd4: b2db uxtb r3, r3 8052fd6: 4619 mov r1, r3 8052fd8: 4a12 ldr r2, [pc, #72] ; (8053024 ) 8052fda: 0083 lsls r3, r0, #2 8052fdc: 4413 add r3, r2 8052fde: 440b add r3, r1 8052fe0: 781b ldrb r3, [r3, #0] 8052fe2: b29b uxth r3, r3 8052fe4: 021b lsls r3, r3, #8 8052fe6: b29a uxth r2, r3 8052fe8: 4b07 ldr r3, [pc, #28] ; (8053008 ) 8052fea: 881b ldrh r3, [r3, #0] 8052fec: b29b uxth r3, r3 8052fee: 4413 add r3, r2 8052ff0: b29a uxth r2, r3 8052ff2: 4b0b ldr r3, [pc, #44] ; (8053020 ) 8052ff4: 801a strh r2, [r3, #0] } 8052ff6: bf00 nop 8052ff8: 46bd mov sp, r7 8052ffa: f85d 7b04 ldr.w r7, [sp], #4 8052ffe: 4770 bx lr 8053000: 20020f74 .word 0x20020f74 8053004: 20025d1e .word 0x20025d1e 8053008: 20025d1a .word 0x20025d1a 805300c: 20023e60 .word 0x20023e60 8053010: 080ee7f0 .word 0x080ee7f0 8053014: 2002006c .word 0x2002006c 8053018: 20025d16 .word 0x20025d16 805301c: 20025d1c .word 0x20025d1c 8053020: 20025d20 .word 0x20025d20 8053024: 080ee814 .word 0x080ee814 08053028 : } void AfterTacho(void) { 8053028: b580 push {r7, lr} 805302a: b082 sub sp, #8 805302c: af00 add r7, sp, #0 FRESULT result; if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 805302e: 4b57 ldr r3, [pc, #348] ; (805318c ) 8053030: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8053034: f003 0304 and.w r3, r3, #4 8053038: 2b00 cmp r3, #0 805303a: f040 809f bne.w 805317c { MultRec = _b24V * CorrKk[ACC] * 2; 805303e: 4b54 ldr r3, [pc, #336] ; (8053190 ) 8053040: edd3 7a00 vldr s15, [r3] 8053044: ed9f 7a53 vldr s14, [pc, #332] ; 8053194 8053048: ee67 7a87 vmul.f32 s15, s15, s14 805304c: ee77 7aa7 vadd.f32 s15, s15, s15 8053050: 4b51 ldr r3, [pc, #324] ; (8053198 ) 8053052: edc3 7a00 vstr s15, [r3] menupos = ReadyRec; 8053056: 4b51 ldr r3, [pc, #324] ; (805319c ) 8053058: 2203 movs r2, #3 805305a: 701a strb r2, [r3, #0] Recording = false; 805305c: 4b50 ldr r3, [pc, #320] ; (80531a0 ) 805305e: 2200 movs r2, #0 8053060: 701a strb r2, [r3, #0] RepeatKm = false; 8053062: 4b50 ldr r3, [pc, #320] ; (80531a4 ) 8053064: 2200 movs r2, #0 8053066: 701a strb r2, [r3, #0] FirstTime = false; 8053068: 4b4f ldr r3, [pc, #316] ; (80531a8 ) 805306a: 2200 movs r2, #0 805306c: 701a strb r2, [r3, #0] READY = DATA_FREE; 805306e: 4b4f ldr r3, [pc, #316] ; (80531ac ) 8053070: 2200 movs r2, #0 8053072: 701a strb r2, [r3, #0] cntmeas = 0; 8053074: 4b4e ldr r3, [pc, #312] ; (80531b0 ) 8053076: 2200 movs r2, #0 8053078: 801a strh r2, [r3, #0] cntADC = 0; 805307a: 4b4e ldr r3, [pc, #312] ; (80531b4 ) 805307c: 2200 movs r2, #0 805307e: 801a strh r2, [r3, #0] if(CardState == MSD_READY) 8053080: 4b4d ldr r3, [pc, #308] ; (80531b8 ) 8053082: 781b ldrb r3, [r3, #0] 8053084: b2db uxtb r3, r3 8053086: 2b03 cmp r3, #3 8053088: d16a bne.n 8053160 { WavFileNameLen = strlen(WavFileName); 805308a: 484c ldr r0, [pc, #304] ; (80531bc ) 805308c: f7cd f942 bl 8020314 8053090: 4602 mov r2, r0 8053092: 4b4b ldr r3, [pc, #300] ; (80531c0 ) 8053094: 601a str r2, [r3, #0] if((WavFileName[WavFileNameLen - 4] != '.') && (WavFileNameLen >= 4)) 8053096: 4b4a ldr r3, [pc, #296] ; (80531c0 ) 8053098: 681b ldr r3, [r3, #0] 805309a: 3b04 subs r3, #4 805309c: 4a47 ldr r2, [pc, #284] ; (80531bc ) 805309e: 5cd3 ldrb r3, [r2, r3] 80530a0: 2b2e cmp r3, #46 ; 0x2e 80530a2: d01a beq.n 80530da 80530a4: 4b46 ldr r3, [pc, #280] ; (80531c0 ) 80530a6: 681b ldr r3, [r3, #0] 80530a8: 2b03 cmp r3, #3 80530aa: d916 bls.n 80530da { WavFileName[WavFileNameLen - 3] = 'G'; 80530ac: 4b44 ldr r3, [pc, #272] ; (80531c0 ) 80530ae: 681b ldr r3, [r3, #0] 80530b0: 3b03 subs r3, #3 80530b2: 4a42 ldr r2, [pc, #264] ; (80531bc ) 80530b4: 2147 movs r1, #71 ; 0x47 80530b6: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 2] = 'T'; 80530b8: 4b41 ldr r3, [pc, #260] ; (80531c0 ) 80530ba: 681b ldr r3, [r3, #0] 80530bc: 3b02 subs r3, #2 80530be: 4a3f ldr r2, [pc, #252] ; (80531bc ) 80530c0: 2154 movs r1, #84 ; 0x54 80530c2: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen - 1] = 'R'; 80530c4: 4b3e ldr r3, [pc, #248] ; (80531c0 ) 80530c6: 681b ldr r3, [r3, #0] 80530c8: 3b01 subs r3, #1 80530ca: 4a3c ldr r2, [pc, #240] ; (80531bc ) 80530cc: 2152 movs r1, #82 ; 0x52 80530ce: 54d1 strb r1, [r2, r3] WavFileName[WavFileNameLen] = '\0'; 80530d0: 4b3b ldr r3, [pc, #236] ; (80531c0 ) 80530d2: 681b ldr r3, [r3, #0] 80530d4: 4a39 ldr r2, [pc, #228] ; (80531bc ) 80530d6: 2100 movs r1, #0 80530d8: 54d1 strb r1, [r2, r3] } result = CreateFileGTR(WavFileName); 80530da: 4838 ldr r0, [pc, #224] ; (80531bc ) 80530dc: f7d1 f850 bl 8024180 80530e0: 4603 mov r3, r0 80530e2: 71fb strb r3, [r7, #7] if(result == FR_OK) 80530e4: 79fb ldrb r3, [r7, #7] 80530e6: 2b00 cmp r3, #0 80530e8: d105 bne.n 80530f6 { STATUS = AP_OK; 80530ea: 4b36 ldr r3, [pc, #216] ; (80531c4 ) 80530ec: 2200 movs r2, #0 80530ee: 601a str r2, [r3, #0] StartRecording(); 80530f0: f7d0 fac4 bl 802367c STATUS = AP_NO_CARD; } } else menupos = GainSelecting; } 80530f4: e045 b.n 8053182 Recording = false; 80530f6: 4b2a ldr r3, [pc, #168] ; (80531a0 ) 80530f8: 2200 movs r2, #0 80530fa: 701a strb r2, [r3, #0] StopMeas(); //// ADDED 80530fc: f7d0 fb4e bl 802379c menupos = StartStop; //// ADDED 8053100: 4b26 ldr r3, [pc, #152] ; (805319c ) 8053102: 2200 movs r2, #0 8053104: 701a strb r2, [r3, #0] switch(result) 8053106: 79fb ldrb r3, [r7, #7] 8053108: 3b03 subs r3, #3 805310a: 2b06 cmp r3, #6 805310c: d81c bhi.n 8053148 805310e: a201 add r2, pc, #4 ; (adr r2, 8053114 ) 8053110: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8053114: 08053131 .word 0x08053131 8053118: 08053139 .word 0x08053139 805311c: 08053149 .word 0x08053149 8053120: 08053149 .word 0x08053149 8053124: 08053149 .word 0x08053149 8053128: 08053141 .word 0x08053141 805312c: 08053139 .word 0x08053139 STATUS = AP_NO_CARD; 8053130: 4b24 ldr r3, [pc, #144] ; (80531c4 ) 8053132: 2211 movs r2, #17 8053134: 601a str r2, [r3, #0] break; 8053136: e00b b.n 8053150 STATUS = AP_INVALID_FILE; 8053138: 4b22 ldr r3, [pc, #136] ; (80531c4 ) 805313a: 2202 movs r2, #2 805313c: 601a str r2, [r3, #0] break; 805313e: e007 b.n 8053150 STATUS = AP_FILE_EXIST; 8053140: 4b20 ldr r3, [pc, #128] ; (80531c4 ) 8053142: 2206 movs r2, #6 8053144: 601a str r2, [r3, #0] break; 8053146: e003 b.n 8053150 STATUS = AP_DISK_ERROR; 8053148: 4b1e ldr r3, [pc, #120] ; (80531c4 ) 805314a: 220b movs r2, #11 805314c: 601a str r2, [r3, #0] break; 805314e: bf00 nop timerStatus = sec2; 8053150: 4b1d ldr r3, [pc, #116] ; (80531c8 ) 8053152: f44f 5280 mov.w r2, #4096 ; 0x1000 8053156: 801a strh r2, [r3, #0] DrawStatus = true; 8053158: 4b1c ldr r3, [pc, #112] ; (80531cc ) 805315a: 2201 movs r2, #1 805315c: 701a strb r2, [r3, #0] } 805315e: e010 b.n 8053182 Recording = false; 8053160: 4b0f ldr r3, [pc, #60] ; (80531a0 ) 8053162: 2200 movs r2, #0 8053164: 701a strb r2, [r3, #0] timerStatus = sec2; 8053166: 4b18 ldr r3, [pc, #96] ; (80531c8 ) 8053168: f44f 5280 mov.w r2, #4096 ; 0x1000 805316c: 801a strh r2, [r3, #0] DrawStatus = true; 805316e: 4b17 ldr r3, [pc, #92] ; (80531cc ) 8053170: 2201 movs r2, #1 8053172: 701a strb r2, [r3, #0] STATUS = AP_NO_CARD; 8053174: 4b13 ldr r3, [pc, #76] ; (80531c4 ) 8053176: 2211 movs r2, #17 8053178: 601a str r2, [r3, #0] } 805317a: e002 b.n 8053182 menupos = GainSelecting; 805317c: 4b07 ldr r3, [pc, #28] ; (805319c ) 805317e: 2202 movs r2, #2 8053180: 701a strb r2, [r3, #0] } 8053182: bf00 nop 8053184: 3708 adds r7, #8 8053186: 46bd mov sp, r7 8053188: bd80 pop {r7, pc} 805318a: bf00 nop 805318c: 20023e60 .word 0x20023e60 8053190: 20020080 .word 0x20020080 8053194: 2f449ba8 .word 0x2f449ba8 8053198: 200261c8 .word 0x200261c8 805319c: 20020070 .word 0x20020070 80531a0: 20020db0 .word 0x20020db0 80531a4: 20020dac .word 0x20020dac 80531a8: 20020dae .word 0x20020dae 80531ac: 20020d7f .word 0x20020d7f 80531b0: 20020d80 .word 0x20020d80 80531b4: 20020d7c .word 0x20020d7c 80531b8: 2002164c .word 0x2002164c 80531bc: 20020e34 .word 0x20020e34 80531c0: 20020ee8 .word 0x20020ee8 80531c4: 20020dcc .word 0x20020dcc 80531c8: 2002168c .word 0x2002168c 80531cc: 20020dd2 .word 0x20020dd2 080531d0 : { 80531d0: b480 push {r7} 80531d2: b085 sub sp, #20 80531d4: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 80531d6: 4b19 ldr r3, [pc, #100] ; (805323c ) 80531d8: 2200 movs r2, #0 80531da: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 80531de: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 80531e2: 4b16 ldr r3, [pc, #88] ; (805323c ) 80531e4: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80531e8: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 80531ea: 687b ldr r3, [r7, #4] 80531ec: 0b5b lsrs r3, r3, #13 80531ee: f3c3 030e ubfx r3, r3, #0, #15 80531f2: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 80531f4: 687b ldr r3, [r7, #4] 80531f6: 08db lsrs r3, r3, #3 80531f8: f3c3 0309 ubfx r3, r3, #0, #10 80531fc: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80531fe: 490f ldr r1, [pc, #60] ; (805323c ) 8053200: 68fb ldr r3, [r7, #12] 8053202: 015a lsls r2, r3, #5 8053204: f643 73e0 movw r3, #16352 ; 0x3fe0 8053208: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 805320a: 68ba ldr r2, [r7, #8] 805320c: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 805320e: 4313 orrs r3, r2 8053210: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 8053214: 68bb ldr r3, [r7, #8] 8053216: 1e5a subs r2, r3, #1 8053218: 60ba str r2, [r7, #8] 805321a: 2b00 cmp r3, #0 805321c: d1ef bne.n 80531fe } while(sets-- != 0U); 805321e: 68fb ldr r3, [r7, #12] 8053220: 1e5a subs r2, r3, #1 8053222: 60fa str r2, [r7, #12] 8053224: 2b00 cmp r3, #0 8053226: d1e5 bne.n 80531f4 8053228: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 805322c: f3bf 8f6f isb sy } 8053230: bf00 nop 8053232: 3714 adds r7, #20 8053234: 46bd mov sp, r7 8053236: f85d 7b04 ldr.w r7, [sp], #4 805323a: 4770 bx lr 805323c: e000ed00 .word 0xe000ed00 08053240 : } void LTDC_Reset(void) { 8053240: b580 push {r7, lr} 8053242: af00 add r7, sp, #0 HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET); HAL_Delay(100); 8053244: 2201 movs r2, #1 8053246: 2140 movs r1, #64 ; 0x40 8053248: 480b ldr r0, [pc, #44] ; (8053278 ) 805324a: f062 fccd bl 80b5be8 805324e: 2064 movs r0, #100 ; 0x64 8053250: f060 f81a bl 80b3288 HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_RESET); HAL_Delay(100); 8053254: 2200 movs r2, #0 8053256: 2140 movs r1, #64 ; 0x40 8053258: 4807 ldr r0, [pc, #28] ; (8053278 ) 805325a: f062 fcc5 bl 80b5be8 805325e: 2064 movs r0, #100 ; 0x64 8053260: f060 f812 bl 80b3288 HAL_GPIO_WritePin(RESET_GPIO_Port, RESET_Pin, GPIO_PIN_SET); HAL_Delay(100); 8053264: 2201 movs r2, #1 8053266: 2140 movs r1, #64 ; 0x40 8053268: 4803 ldr r0, [pc, #12] ; (8053278 ) 805326a: f062 fcbd bl 80b5be8 805326e: 2064 movs r0, #100 ; 0x64 8053270: f060 f80a bl 80b3288 } 8053274: bf00 nop 8053276: bd80 pop {r7, pc} 8053278: 40020c00 .word 0x40020c00 0805327c : /* LTDC init function */ void MX_LTDC_Init(void) { 805327c: b580 push {r7, lr} 805327e: b09c sub sp, #112 ; 0x70 8053280: af00 add r7, sp, #0 __IO uint32_t tickstart; // SET_BIT(RCC->CR, RCC_CR_PLLSAION); // HAL_Delay(100); LTDC_Reset(); 8053282: f7ff ffdd bl 8053240 __HAL_RCC_PLLSAI_ENABLE(); 8053286: 4a8c ldr r2, [pc, #560] ; (80534b8 ) 8053288: 4b8b ldr r3, [pc, #556] ; (80534b8 ) 805328a: 681b ldr r3, [r3, #0] 805328c: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 8053290: 6013 str r3, [r2, #0] tickstart = HAL_GetTick(); 8053292: f05f ffed bl 80b3270 8053296: 4603 mov r3, r0 8053298: 607b str r3, [r7, #4] while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 805329a: e008 b.n 80532ae { if((HAL_GetTick() - tickstart) >= PLLSAI_TIMEOUT_VALUE) { 805329c: f05f ffe8 bl 80b3270 80532a0: 4602 mov r2, r0 80532a2: 687b ldr r3, [r7, #4] 80532a4: 1ad3 subs r3, r2, r3 80532a6: 2b63 cmp r3, #99 ; 0x63 80532a8: d901 bls.n 80532ae Error_Handler(); 80532aa: f001 fdcd bl 8054e48 while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 80532ae: 4b82 ldr r3, [pc, #520] ; (80534b8 ) 80532b0: 681b ldr r3, [r3, #0] 80532b2: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80532b6: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 80532ba: d1ef bne.n 805329c } } hLtdcHandler.Instance = LTDC; 80532bc: 4b7f ldr r3, [pc, #508] ; (80534bc ) 80532be: 4a80 ldr r2, [pc, #512] ; (80534c0 ) 80532c0: 601a str r2, [r3, #0] hLtdcHandler.Init.HSPolarity = LTDC_HSPOLARITY_AL; 80532c2: 4b7e ldr r3, [pc, #504] ; (80534bc ) 80532c4: 2200 movs r2, #0 80532c6: 605a str r2, [r3, #4] hLtdcHandler.Init.VSPolarity = LTDC_VSPOLARITY_AL; 80532c8: 4b7c ldr r3, [pc, #496] ; (80534bc ) 80532ca: 2200 movs r2, #0 80532cc: 609a str r2, [r3, #8] hLtdcHandler.Init.DEPolarity = LTDC_DEPOLARITY_AH; 80532ce: 4b7b ldr r3, [pc, #492] ; (80534bc ) 80532d0: f04f 5200 mov.w r2, #536870912 ; 0x20000000 80532d4: 60da str r2, [r3, #12] hLtdcHandler.Init.PCPolarity = LTDC_PCPOLARITY_IPC; 80532d6: 4b79 ldr r3, [pc, #484] ; (80534bc ) 80532d8: 2200 movs r2, #0 80532da: 611a str r2, [r3, #16] hLtdcHandler.Init.HorizontalSync = 38; 80532dc: 4b77 ldr r3, [pc, #476] ; (80534bc ) 80532de: 2226 movs r2, #38 ; 0x26 80532e0: 615a str r2, [r3, #20] hLtdcHandler.Init.VerticalSync = 4; 80532e2: 4b76 ldr r3, [pc, #472] ; (80534bc ) 80532e4: 2204 movs r2, #4 80532e6: 619a str r2, [r3, #24] hLtdcHandler.Init.AccumulatedHBP = 68; 80532e8: 4b74 ldr r3, [pc, #464] ; (80534bc ) 80532ea: 2244 movs r2, #68 ; 0x44 80532ec: 61da str r2, [r3, #28] hLtdcHandler.Init.AccumulatedVBP = 18; 80532ee: 4b73 ldr r3, [pc, #460] ; (80534bc ) 80532f0: 2212 movs r2, #18 80532f2: 621a str r2, [r3, #32] hLtdcHandler.Init.AccumulatedActiveW = 388; 80532f4: 4b71 ldr r3, [pc, #452] ; (80534bc ) 80532f6: f44f 72c2 mov.w r2, #388 ; 0x184 80532fa: 625a str r2, [r3, #36] ; 0x24 hLtdcHandler.Init.AccumulatedActiveH = 262; 80532fc: 4b6f ldr r3, [pc, #444] ; (80534bc ) 80532fe: f44f 7283 mov.w r2, #262 ; 0x106 8053302: 629a str r2, [r3, #40] ; 0x28 hLtdcHandler.Init.TotalWidth = 408; 8053304: 4b6d ldr r3, [pc, #436] ; (80534bc ) 8053306: f44f 72cc mov.w r2, #408 ; 0x198 805330a: 62da str r2, [r3, #44] ; 0x2c hLtdcHandler.Init.TotalHeigh = 263; 805330c: 4b6b ldr r3, [pc, #428] ; (80534bc ) 805330e: f240 1207 movw r2, #263 ; 0x107 8053312: 631a str r2, [r3, #48] ; 0x30 hLtdcHandler.Init.Backcolor.Blue = 0; 8053314: 4b69 ldr r3, [pc, #420] ; (80534bc ) 8053316: 2200 movs r2, #0 8053318: f883 2034 strb.w r2, [r3, #52] ; 0x34 hLtdcHandler.Init.Backcolor.Green = 0; 805331c: 4b67 ldr r3, [pc, #412] ; (80534bc ) 805331e: 2200 movs r2, #0 8053320: f883 2035 strb.w r2, [r3, #53] ; 0x35 hLtdcHandler.Init.Backcolor.Red = 0; 8053324: 4b65 ldr r3, [pc, #404] ; (80534bc ) 8053326: 2200 movs r2, #0 8053328: f883 2036 strb.w r2, [r3, #54] ; 0x36 if (HAL_LTDC_Init(&hLtdcHandler) != HAL_OK) { 805332c: 4863 ldr r0, [pc, #396] ; (80534bc ) 805332e: f062 fc8d bl 80b5c4c 8053332: 4603 mov r3, r0 8053334: 2b00 cmp r3, #0 8053336: d001 beq.n 805333c Error_Handler(); 8053338: f001 fd86 bl 8054e48 } pLayerCfg.WindowX0 = 0; 805333c: 2300 movs r3, #0 805333e: 63fb str r3, [r7, #60] ; 0x3c pLayerCfg.WindowX1 = 320; 8053340: f44f 73a0 mov.w r3, #320 ; 0x140 8053344: 643b str r3, [r7, #64] ; 0x40 pLayerCfg.WindowY0 = 0; 8053346: 2300 movs r3, #0 8053348: 647b str r3, [r7, #68] ; 0x44 pLayerCfg.WindowY1 = 240; 805334a: 23f0 movs r3, #240 ; 0xf0 805334c: 64bb str r3, [r7, #72] ; 0x48 pLayerCfg.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; 805334e: 2302 movs r3, #2 8053350: 64fb str r3, [r7, #76] ; 0x4c pLayerCfg.Alpha = 255; 8053352: 23ff movs r3, #255 ; 0xff 8053354: 653b str r3, [r7, #80] ; 0x50 pLayerCfg.Alpha0 = 0; 8053356: 2300 movs r3, #0 8053358: 657b str r3, [r7, #84] ; 0x54 pLayerCfg.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; 805335a: f44f 63c0 mov.w r3, #1536 ; 0x600 805335e: 65bb str r3, [r7, #88] ; 0x58 pLayerCfg.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; 8053360: 2307 movs r3, #7 8053362: 65fb str r3, [r7, #92] ; 0x5c pLayerCfg.FBStartAdress = SCR1_ADDR_OFFSET; 8053364: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 8053368: 663b str r3, [r7, #96] ; 0x60 pLayerCfg.ImageWidth = 320; 805336a: f44f 73a0 mov.w r3, #320 ; 0x140 805336e: 667b str r3, [r7, #100] ; 0x64 pLayerCfg.ImageHeight = 240; 8053370: 23f0 movs r3, #240 ; 0xf0 8053372: 66bb str r3, [r7, #104] ; 0x68 pLayerCfg.Backcolor.Blue = 0; 8053374: 2300 movs r3, #0 8053376: f887 306c strb.w r3, [r7, #108] ; 0x6c pLayerCfg.Backcolor.Green = 0; 805337a: 2300 movs r3, #0 805337c: f887 306d strb.w r3, [r7, #109] ; 0x6d pLayerCfg.Backcolor.Red = 0; 8053380: 2300 movs r3, #0 8053382: f887 306e strb.w r3, [r7, #110] ; 0x6e if(HAL_LTDC_ConfigLayer(&hLtdcHandler, &pLayerCfg, 0) != HAL_OK) { 8053386: f107 033c add.w r3, r7, #60 ; 0x3c 805338a: 2200 movs r2, #0 805338c: 4619 mov r1, r3 805338e: 484b ldr r0, [pc, #300] ; (80534bc ) 8053390: f062 fde4 bl 80b5f5c 8053394: 4603 mov r3, r0 8053396: 2b00 cmp r3, #0 8053398: d001 beq.n 805339e Error_Handler(); 805339a: f001 fd55 bl 8054e48 } pLayerCfg1.WindowX0 = 0; 805339e: 2300 movs r3, #0 80533a0: 60bb str r3, [r7, #8] pLayerCfg1.WindowX1 = 320; 80533a2: f44f 73a0 mov.w r3, #320 ; 0x140 80533a6: 60fb str r3, [r7, #12] pLayerCfg1.WindowY0 = 0; 80533a8: 2300 movs r3, #0 80533aa: 613b str r3, [r7, #16] pLayerCfg1.WindowY1 = 240; 80533ac: 23f0 movs r3, #240 ; 0xf0 80533ae: 617b str r3, [r7, #20] pLayerCfg1.PixelFormat = LTDC_PIXEL_FORMAT_RGB565; 80533b0: 2302 movs r3, #2 80533b2: 61bb str r3, [r7, #24] pLayerCfg1.Alpha = 255; 80533b4: 23ff movs r3, #255 ; 0xff 80533b6: 61fb str r3, [r7, #28] pLayerCfg1.Alpha0 = 0; 80533b8: 2300 movs r3, #0 80533ba: 623b str r3, [r7, #32] pLayerCfg1.BlendingFactor1 = LTDC_BLENDING_FACTOR1_PAxCA; 80533bc: f44f 63c0 mov.w r3, #1536 ; 0x600 80533c0: 627b str r3, [r7, #36] ; 0x24 pLayerCfg1.BlendingFactor2 = LTDC_BLENDING_FACTOR2_PAxCA; 80533c2: 2307 movs r3, #7 80533c4: 62bb str r3, [r7, #40] ; 0x28 pLayerCfg1.FBStartAdress = SCR2_ADDR_OFFSET; 80533c6: 4b3f ldr r3, [pc, #252] ; (80534c4 ) 80533c8: 62fb str r3, [r7, #44] ; 0x2c pLayerCfg1.ImageWidth = 320; 80533ca: f44f 73a0 mov.w r3, #320 ; 0x140 80533ce: 633b str r3, [r7, #48] ; 0x30 pLayerCfg1.ImageHeight = 240; 80533d0: 23f0 movs r3, #240 ; 0xf0 80533d2: 637b str r3, [r7, #52] ; 0x34 pLayerCfg1.Backcolor.Blue = 0; 80533d4: 2300 movs r3, #0 80533d6: f887 3038 strb.w r3, [r7, #56] ; 0x38 pLayerCfg1.Backcolor.Green = 0; 80533da: 2300 movs r3, #0 80533dc: f887 3039 strb.w r3, [r7, #57] ; 0x39 pLayerCfg1.Backcolor.Red = 0; 80533e0: 2300 movs r3, #0 80533e2: f887 303a strb.w r3, [r7, #58] ; 0x3a if(HAL_LTDC_ConfigLayer(&hLtdcHandler, &pLayerCfg1, 1) != HAL_OK) { 80533e6: f107 0308 add.w r3, r7, #8 80533ea: 2201 movs r2, #1 80533ec: 4619 mov r1, r3 80533ee: 4833 ldr r0, [pc, #204] ; (80534bc ) 80533f0: f062 fdb4 bl 80b5f5c 80533f4: 4603 mov r3, r0 80533f6: 2b00 cmp r3, #0 80533f8: d001 beq.n 80533fe Error_Handler(); 80533fa: f001 fd25 bl 8054e48 } //HAL_LTDC_EnableCLUT(&hLtdcHandler, 0); //HAL_LTDC_EnableCLUT(&hLtdcHandler, 1); ActiveLayer = 1; 80533fe: 4b32 ldr r3, [pc, #200] ; (80534c8 ) 8053400: 2201 movs r2, #1 8053402: 601a str r2, [r3, #0] RenderingLayer = 0; 8053404: 4b31 ldr r3, [pc, #196] ; (80534cc ) 8053406: 2200 movs r2, #0 8053408: 601a str r2, [r3, #0] BSP_LCD_DisplayOff(); 805340a: f000 f879 bl 8053500 BSP_LCD_SelectLayer(0); 805340e: 2000 movs r0, #0 8053410: f000 f960 bl 80536d4 BSP_LCD_Clear(0xFF000000); 8053414: f04f 407f mov.w r0, #4278190080 ; 0xff000000 8053418: f000 fa3e bl 8053898 BSP_LCD_SelectLayer(1); 805341c: 2001 movs r0, #1 805341e: f000 f959 bl 80536d4 BSP_LCD_Clear(0xFF000000); 8053422: f04f 407f mov.w r0, #4278190080 ; 0xff000000 8053426: f000 fa37 bl 8053898 BSP_LCD_SetLayerVisible(RenderingLayer, DISABLE); 805342a: 4b28 ldr r3, [pc, #160] ; (80534cc ) 805342c: 681b ldr r3, [r3, #0] 805342e: 2100 movs r1, #0 8053430: 4618 mov r0, r3 8053432: f000 f95f bl 80536f4 BSP_LCD_SetLayerVisible(ActiveLayer, DISABLE); 8053436: 4b24 ldr r3, [pc, #144] ; (80534c8 ) 8053438: 681b ldr r3, [r3, #0] 805343a: 2100 movs r1, #0 805343c: 4618 mov r0, r3 805343e: f000 f959 bl 80536f4 HAL_LTDC_Reload(&hLtdcHandler, LTDC_RELOAD_IMMEDIATE); 8053442: 2101 movs r1, #1 8053444: 481d ldr r0, [pc, #116] ; (80534bc ) 8053446: f062 fdff bl 80b6048 DrawProp[0].BackColor = LCD_COLOR_BLACK; 805344a: 4b21 ldr r3, [pc, #132] ; (80534d0 ) 805344c: 4a21 ldr r2, [pc, #132] ; (80534d4 ) 805344e: 605a str r2, [r3, #4] DrawProp[0].pFont = &Font17; 8053450: 4b1f ldr r3, [pc, #124] ; (80534d0 ) 8053452: 4a21 ldr r2, [pc, #132] ; (80534d8 ) 8053454: 609a str r2, [r3, #8] DrawProp[0].TextColor = LCD_COLOR_WHITE; 8053456: 4b1e ldr r3, [pc, #120] ; (80534d0 ) 8053458: f04f 32ff mov.w r2, #4294967295 805345c: 601a str r2, [r3, #0] DrawProp[1].BackColor = LCD_COLOR_BLACK; 805345e: 4b1c ldr r3, [pc, #112] ; (80534d0 ) 8053460: 4a1c ldr r2, [pc, #112] ; (80534d4 ) 8053462: 611a str r2, [r3, #16] DrawProp[1].pFont = &Font17; 8053464: 4b1a ldr r3, [pc, #104] ; (80534d0 ) 8053466: 4a1c ldr r2, [pc, #112] ; (80534d8 ) 8053468: 615a str r2, [r3, #20] DrawProp[1].TextColor = LCD_COLOR_WHITE; 805346a: 4b19 ldr r3, [pc, #100] ; (80534d0 ) 805346c: f04f 32ff mov.w r2, #4294967295 8053470: 60da str r2, [r3, #12] CurrentFont = &Font17; 8053472: 4b1a ldr r3, [pc, #104] ; (80534dc ) 8053474: 4a18 ldr r2, [pc, #96] ; (80534d8 ) 8053476: 601a str r2, [r3, #0] BSP_LCD_DisplayOn(); 8053478: f000 f836 bl 80534e8 HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); // BACKLIGHT IS OFF 805347c: 2201 movs r2, #1 805347e: f44f 7180 mov.w r1, #256 ; 0x100 8053482: 4817 ldr r0, [pc, #92] ; (80534e0 ) 8053484: f062 fbb0 bl 80b5be8 RefreshScreen = true; 8053488: 4b16 ldr r3, [pc, #88] ; (80534e4 ) 805348a: 2201 movs r2, #1 805348c: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 255); 805348e: 21ff movs r1, #255 ; 0xff 8053490: 480a ldr r0, [pc, #40] ; (80534bc ) 8053492: f062 fda1 bl 80b5fd8 while(RefreshScreen); 8053496: bf00 nop 8053498: 4b12 ldr r3, [pc, #72] ; (80534e4 ) 805349a: 781b ldrb r3, [r3, #0] 805349c: b2db uxtb r3, r3 805349e: 2b00 cmp r3, #0 80534a0: d1fa bne.n 8053498 BSP_LCD_SetLayerVisible(RenderingLayer, ENABLE); 80534a2: 4b0a ldr r3, [pc, #40] ; (80534cc ) 80534a4: 681b ldr r3, [r3, #0] 80534a6: 2101 movs r1, #1 80534a8: 4618 mov r0, r3 80534aa: f000 f923 bl 80536f4 } 80534ae: bf00 nop 80534b0: 3770 adds r7, #112 ; 0x70 80534b2: 46bd mov sp, r7 80534b4: bd80 pop {r7, pc} 80534b6: bf00 nop 80534b8: 40023800 .word 0x40023800 80534bc: 20025d28 .word 0x20025d28 80534c0: 40016800 .word 0x40016800 80534c4: 64025800 .word 0x64025800 80534c8: 20020078 .word 0x20020078 80534cc: 20020ffc .word 0x20020ffc 80534d0: 20020fe4 .word 0x20020fe4 80534d4: ff0a0f1f .word 0xff0a0f1f 80534d8: 20020048 .word 0x20020048 80534dc: 20025d24 .word 0x20025d24 80534e0: 40020000 .word 0x40020000 80534e4: 20021000 .word 0x20021000 080534e8 : void BSP_LCD_DisplayOn(void) { 80534e8: b580 push {r7, lr} 80534ea: af00 add r7, sp, #0 //__HAL_LTDC_ENABLE(&hLtdcHandler); HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_SET); // DISPLAY_ON 80534ec: 2201 movs r2, #1 80534ee: f44f 6180 mov.w r1, #1024 ; 0x400 80534f2: 4802 ldr r0, [pc, #8] ; (80534fc ) 80534f4: f062 fb78 bl 80b5be8 } 80534f8: bf00 nop 80534fa: bd80 pop {r7, pc} 80534fc: 40021400 .word 0x40021400 08053500 : /** * @brief Disables the display. * @retval None */ void BSP_LCD_DisplayOff(void) { 8053500: b580 push {r7, lr} 8053502: af00 add r7, sp, #0 //__HAL_LTDC_DISABLE(&hLtdcHandler); HAL_GPIO_WritePin(GPIOF, GPIO_PIN_10, GPIO_PIN_RESET); // DISPLAY_OFF 8053504: 2200 movs r2, #0 8053506: f44f 6180 mov.w r1, #1024 ; 0x400 805350a: 4802 ldr r0, [pc, #8] ; (8053514 ) 805350c: f062 fb6c bl 80b5be8 } 8053510: bf00 nop 8053512: bd80 pop {r7, pc} 8053514: 40021400 .word 0x40021400 08053518 : void HAL_LTDC_MspInit(LTDC_HandleTypeDef* ltdcHandle) { 8053518: b580 push {r7, lr} 805351a: b088 sub sp, #32 805351c: af00 add r7, sp, #0 805351e: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(ltdcHandle->Instance == LTDC) 8053520: 687b ldr r3, [r7, #4] 8053522: 681b ldr r3, [r3, #0] 8053524: 4a4f ldr r2, [pc, #316] ; (8053664 ) 8053526: 4293 cmp r3, r2 8053528: f040 8097 bne.w 805365a { __HAL_RCC_LTDC_CLK_ENABLE(); 805352c: 4a4e ldr r2, [pc, #312] ; (8053668 ) 805352e: 4b4e ldr r3, [pc, #312] ; (8053668 ) 8053530: 6c5b ldr r3, [r3, #68] ; 0x44 8053532: f043 6380 orr.w r3, r3, #67108864 ; 0x4000000 8053536: 6453 str r3, [r2, #68] ; 0x44 8053538: 4b4b ldr r3, [pc, #300] ; (8053668 ) 805353a: 6c5b ldr r3, [r3, #68] ; 0x44 805353c: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 8053540: 60bb str r3, [r7, #8] 8053542: 68bb ldr r3, [r7, #8] PG7 ------> LTDC_CLK PG10 ------> LTDC_G3 PG11 ------> LTDC_B3 PG12 ------> LTDC_B4 */ GPIO_InitStruct.Pin = GPIO_PIN_10; 8053544: f44f 6380 mov.w r3, #1024 ; 0x400 8053548: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_OUTPUT_PP; 805354a: 2301 movs r3, #1 805354c: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 805354e: 2300 movs r3, #0 8053550: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8053552: 2303 movs r3, #3 8053554: 61bb str r3, [r7, #24] HAL_GPIO_Init(GPIOF, &GPIO_InitStruct); 8053556: f107 030c add.w r3, r7, #12 805355a: 4619 mov r1, r3 805355c: 4843 ldr r0, [pc, #268] ; (805366c ) 805355e: f062 f875 bl 80b564c GPIO_InitStruct.Pin = GPIO_PIN_3 | GPIO_PIN_4 | GPIO_PIN_6 | GPIO_PIN_11 |GPIO_PIN_12; 8053562: f641 0358 movw r3, #6232 ; 0x1858 8053566: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8053568: 2302 movs r3, #2 805356a: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 805356c: 2300 movs r3, #0 805356e: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8053570: 2303 movs r3, #3 8053572: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 8053574: 230e movs r3, #14 8053576: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 8053578: f107 030c add.w r3, r7, #12 805357c: 4619 mov r1, r3 805357e: 483c ldr r0, [pc, #240] ; (8053670 ) 8053580: f062 f864 bl 80b564c GPIO_InitStruct.Pin = GPIO_PIN_0 | GPIO_PIN_1; 8053584: 2303 movs r3, #3 8053586: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 8053588: 2302 movs r3, #2 805358a: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 805358c: 2300 movs r3, #0 805358e: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8053590: 2303 movs r3, #3 8053592: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF9_LTDC; 8053594: 2309 movs r3, #9 8053596: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 8053598: f107 030c add.w r3, r7, #12 805359c: 4619 mov r1, r3 805359e: 4835 ldr r0, [pc, #212] ; (8053674 ) 80535a0: f062 f854 bl 80b564c GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_11 | GPIO_PIN_8 | GPIO_PIN_9; 80535a4: f44f 6370 mov.w r3, #3840 ; 0xf00 80535a8: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80535aa: 2302 movs r3, #2 80535ac: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80535ae: 2300 movs r3, #0 80535b0: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80535b2: 2303 movs r3, #3 80535b4: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 80535b6: 230e movs r3, #14 80535b8: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80535ba: f107 030c add.w r3, r7, #12 80535be: 4619 mov r1, r3 80535c0: 482c ldr r0, [pc, #176] ; (8053674 ) 80535c2: f062 f843 bl 80b564c GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7 | GPIO_PIN_11; 80535c6: f44f 630c mov.w r3, #2240 ; 0x8c0 80535ca: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80535cc: 2302 movs r3, #2 80535ce: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80535d0: 2300 movs r3, #0 80535d2: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80535d4: 2303 movs r3, #3 80535d6: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 80535d8: 230e movs r3, #14 80535da: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 80535dc: f107 030c add.w r3, r7, #12 80535e0: 4619 mov r1, r3 80535e2: 4825 ldr r0, [pc, #148] ; (8053678 ) 80535e4: f062 f832 bl 80b564c GPIO_InitStruct.Pin = GPIO_PIN_6 | GPIO_PIN_7; 80535e8: 23c0 movs r3, #192 ; 0xc0 80535ea: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80535ec: 2302 movs r3, #2 80535ee: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80535f0: 2300 movs r3, #0 80535f2: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80535f4: 2303 movs r3, #3 80535f6: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 80535f8: 230e movs r3, #14 80535fa: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 80535fc: f107 030c add.w r3, r7, #12 8053600: 4619 mov r1, r3 8053602: 481e ldr r0, [pc, #120] ; (805367c ) 8053604: f062 f822 bl 80b564c GPIO_InitStruct.Pin = GPIO_PIN_3; 8053608: 2308 movs r3, #8 805360a: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 805360c: 2302 movs r3, #2 805360e: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8053610: 2300 movs r3, #0 8053612: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8053614: 2303 movs r3, #3 8053616: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF14_LTDC; 8053618: 230e movs r3, #14 805361a: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); 805361c: f107 030c add.w r3, r7, #12 8053620: 4619 mov r1, r3 8053622: 4817 ldr r0, [pc, #92] ; (8053680 ) 8053624: f062 f812 bl 80b564c GPIO_InitStruct.Pin = GPIO_PIN_10 | GPIO_PIN_12; 8053628: f44f 53a0 mov.w r3, #5120 ; 0x1400 805362c: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 805362e: 2302 movs r3, #2 8053630: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 8053632: 2300 movs r3, #0 8053634: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 8053636: 2303 movs r3, #3 8053638: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF9_LTDC; 805363a: 2309 movs r3, #9 805363c: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOG, &GPIO_InitStruct); 805363e: f107 030c add.w r3, r7, #12 8053642: 4619 mov r1, r3 8053644: 480c ldr r0, [pc, #48] ; (8053678 ) 8053646: f062 f801 bl 80b564c HAL_NVIC_SetPriority(LTDC_IRQn, 6, 0); 805364a: 2200 movs r2, #0 805364c: 2106 movs r1, #6 805364e: 2058 movs r0, #88 ; 0x58 8053650: f060 fd65 bl 80b411e HAL_NVIC_EnableIRQ(LTDC_IRQn); 8053654: 2058 movs r0, #88 ; 0x58 8053656: f060 fd7e bl 80b4156 } } 805365a: bf00 nop 805365c: 3720 adds r7, #32 805365e: 46bd mov sp, r7 8053660: bd80 pop {r7, pc} 8053662: bf00 nop 8053664: 40016800 .word 0x40016800 8053668: 40023800 .word 0x40023800 805366c: 40021400 .word 0x40021400 8053670: 40020000 .word 0x40020000 8053674: 40020400 .word 0x40020400 8053678: 40021800 .word 0x40021800 805367c: 40020800 .word 0x40020800 8053680: 40020c00 .word 0x40020c00 08053684 : HAL_NVIC_DisableIRQ(LTDC_IRQn); } } uint32_t BSP_LCD_GetXSize(void) { 8053684: b480 push {r7} 8053686: af00 add r7, sp, #0 return hLtdcHandler.LayerCfg[ActiveLayer].ImageWidth; 8053688: 4b06 ldr r3, [pc, #24] ; (80536a4 ) 805368a: 681b ldr r3, [r3, #0] 805368c: 4a06 ldr r2, [pc, #24] ; (80536a8 ) 805368e: 2134 movs r1, #52 ; 0x34 8053690: fb01 f303 mul.w r3, r1, r3 8053694: 4413 add r3, r2 8053696: 3360 adds r3, #96 ; 0x60 8053698: 681b ldr r3, [r3, #0] } 805369a: 4618 mov r0, r3 805369c: 46bd mov sp, r7 805369e: f85d 7b04 ldr.w r7, [sp], #4 80536a2: 4770 bx lr 80536a4: 20020078 .word 0x20020078 80536a8: 20025d28 .word 0x20025d28 080536ac : /** * @brief Gets the LCD Y size. * @retval Used LCD Y size */ uint32_t BSP_LCD_GetYSize(void) { 80536ac: b480 push {r7} 80536ae: af00 add r7, sp, #0 return hLtdcHandler.LayerCfg[ActiveLayer].ImageHeight; 80536b0: 4b06 ldr r3, [pc, #24] ; (80536cc ) 80536b2: 681b ldr r3, [r3, #0] 80536b4: 4a06 ldr r2, [pc, #24] ; (80536d0 ) 80536b6: 2134 movs r1, #52 ; 0x34 80536b8: fb01 f303 mul.w r3, r1, r3 80536bc: 4413 add r3, r2 80536be: 3364 adds r3, #100 ; 0x64 80536c0: 681b ldr r3, [r3, #0] } 80536c2: 4618 mov r0, r3 80536c4: 46bd mov sp, r7 80536c6: f85d 7b04 ldr.w r7, [sp], #4 80536ca: 4770 bx lr 80536cc: 20020078 .word 0x20020078 80536d0: 20025d28 .word 0x20025d28 080536d4 : { hLtdcHandler.LayerCfg[ActiveLayer].ImageHeight = imageHeightPixels; } void BSP_LCD_SelectLayer(uint32_t LayerIndex) { 80536d4: b480 push {r7} 80536d6: b083 sub sp, #12 80536d8: af00 add r7, sp, #0 80536da: 6078 str r0, [r7, #4] ActiveLayer = LayerIndex; 80536dc: 4a04 ldr r2, [pc, #16] ; (80536f0 ) 80536de: 687b ldr r3, [r7, #4] 80536e0: 6013 str r3, [r2, #0] } 80536e2: bf00 nop 80536e4: 370c adds r7, #12 80536e6: 46bd mov sp, r7 80536e8: f85d 7b04 ldr.w r7, [sp], #4 80536ec: 4770 bx lr 80536ee: bf00 nop 80536f0: 20020078 .word 0x20020078 080536f4 : * @arg ENABLE * @arg DISABLE * @retval None */ void BSP_LCD_SetLayerVisible(uint32_t LayerIndex, FunctionalState State) { 80536f4: b480 push {r7} 80536f6: b083 sub sp, #12 80536f8: af00 add r7, sp, #0 80536fa: 6078 str r0, [r7, #4] 80536fc: 460b mov r3, r1 80536fe: 70fb strb r3, [r7, #3] if(State == ENABLE) 8053700: 78fb ldrb r3, [r7, #3] 8053702: 2b01 cmp r3, #1 8053704: d113 bne.n 805372e __HAL_LTDC_LAYER_ENABLE(&hLtdcHandler, LayerIndex); 8053706: 4b1a ldr r3, [pc, #104] ; (8053770 ) 8053708: 681b ldr r3, [r3, #0] 805370a: 461a mov r2, r3 805370c: 687b ldr r3, [r7, #4] 805370e: 01db lsls r3, r3, #7 8053710: 4413 add r3, r2 8053712: 3384 adds r3, #132 ; 0x84 8053714: 461a mov r2, r3 8053716: 4b16 ldr r3, [pc, #88] ; (8053770 ) 8053718: 681b ldr r3, [r3, #0] 805371a: 4619 mov r1, r3 805371c: 687b ldr r3, [r7, #4] 805371e: 01db lsls r3, r3, #7 8053720: 440b add r3, r1 8053722: 3384 adds r3, #132 ; 0x84 8053724: 681b ldr r3, [r3, #0] 8053726: f043 0301 orr.w r3, r3, #1 805372a: 6013 str r3, [r2, #0] 805372c: e012 b.n 8053754 else __HAL_LTDC_LAYER_DISABLE(&hLtdcHandler, LayerIndex); 805372e: 4b10 ldr r3, [pc, #64] ; (8053770 ) 8053730: 681b ldr r3, [r3, #0] 8053732: 461a mov r2, r3 8053734: 687b ldr r3, [r7, #4] 8053736: 01db lsls r3, r3, #7 8053738: 4413 add r3, r2 805373a: 3384 adds r3, #132 ; 0x84 805373c: 461a mov r2, r3 805373e: 4b0c ldr r3, [pc, #48] ; (8053770 ) 8053740: 681b ldr r3, [r3, #0] 8053742: 4619 mov r1, r3 8053744: 687b ldr r3, [r7, #4] 8053746: 01db lsls r3, r3, #7 8053748: 440b add r3, r1 805374a: 3384 adds r3, #132 ; 0x84 805374c: 681b ldr r3, [r3, #0] 805374e: f023 0301 bic.w r3, r3, #1 8053752: 6013 str r3, [r2, #0] __HAL_LTDC_RELOAD_CONFIG(&hLtdcHandler); 8053754: 4b06 ldr r3, [pc, #24] ; (8053770 ) 8053756: 681b ldr r3, [r3, #0] 8053758: 4a05 ldr r2, [pc, #20] ; (8053770 ) 805375a: 6812 ldr r2, [r2, #0] 805375c: 6a52 ldr r2, [r2, #36] ; 0x24 805375e: f042 0201 orr.w r2, r2, #1 8053762: 625a str r2, [r3, #36] ; 0x24 } 8053764: bf00 nop 8053766: 370c adds r7, #12 8053768: 46bd mov sp, r7 805376a: f85d 7b04 ldr.w r7, [sp], #4 805376e: 4770 bx lr 8053770: 20025d28 .word 0x20025d28 08053774 : * @arg ENABLE * @arg DISABLE * @retval None */ void BSP_LCD_SetLayerVisible_NoReload(uint32_t LayerIndex, FunctionalState State) { 8053774: b480 push {r7} 8053776: b083 sub sp, #12 8053778: af00 add r7, sp, #0 805377a: 6078 str r0, [r7, #4] 805377c: 460b mov r3, r1 805377e: 70fb strb r3, [r7, #3] if(State == ENABLE) 8053780: 78fb ldrb r3, [r7, #3] 8053782: 2b01 cmp r3, #1 8053784: d113 bne.n 80537ae __HAL_LTDC_LAYER_ENABLE(&hLtdcHandler, LayerIndex); 8053786: 4b16 ldr r3, [pc, #88] ; (80537e0 ) 8053788: 681b ldr r3, [r3, #0] 805378a: 461a mov r2, r3 805378c: 687b ldr r3, [r7, #4] 805378e: 01db lsls r3, r3, #7 8053790: 4413 add r3, r2 8053792: 3384 adds r3, #132 ; 0x84 8053794: 461a mov r2, r3 8053796: 4b12 ldr r3, [pc, #72] ; (80537e0 ) 8053798: 681b ldr r3, [r3, #0] 805379a: 4619 mov r1, r3 805379c: 687b ldr r3, [r7, #4] 805379e: 01db lsls r3, r3, #7 80537a0: 440b add r3, r1 80537a2: 3384 adds r3, #132 ; 0x84 80537a4: 681b ldr r3, [r3, #0] 80537a6: f043 0301 orr.w r3, r3, #1 80537aa: 6013 str r3, [r2, #0] else __HAL_LTDC_LAYER_DISABLE(&hLtdcHandler, LayerIndex); } 80537ac: e012 b.n 80537d4 else __HAL_LTDC_LAYER_DISABLE(&hLtdcHandler, LayerIndex); 80537ae: 4b0c ldr r3, [pc, #48] ; (80537e0 ) 80537b0: 681b ldr r3, [r3, #0] 80537b2: 461a mov r2, r3 80537b4: 687b ldr r3, [r7, #4] 80537b6: 01db lsls r3, r3, #7 80537b8: 4413 add r3, r2 80537ba: 3384 adds r3, #132 ; 0x84 80537bc: 461a mov r2, r3 80537be: 4b08 ldr r3, [pc, #32] ; (80537e0 ) 80537c0: 681b ldr r3, [r3, #0] 80537c2: 4619 mov r1, r3 80537c4: 687b ldr r3, [r7, #4] 80537c6: 01db lsls r3, r3, #7 80537c8: 440b add r3, r1 80537ca: 3384 adds r3, #132 ; 0x84 80537cc: 681b ldr r3, [r3, #0] 80537ce: f023 0301 bic.w r3, r3, #1 80537d2: 6013 str r3, [r2, #0] } 80537d4: bf00 nop 80537d6: 370c adds r7, #12 80537d8: 46bd mov sp, r7 80537da: f85d 7b04 ldr.w r7, [sp], #4 80537de: 4770 bx lr 80537e0: 20025d28 .word 0x20025d28 080537e4 : * @brief Sets the LCD text color. * @param Color: Text color code ARGB(8-8-8-8) * @retval None */ void LCD_SetColors(uint32_t ColorUp, uint32_t ColorDn) { 80537e4: b480 push {r7} 80537e6: b083 sub sp, #12 80537e8: af00 add r7, sp, #0 80537ea: 6078 str r0, [r7, #4] 80537ec: 6039 str r1, [r7, #0] DrawProp[ActiveLayer].TextColor = ColorUp; 80537ee: 4b0d ldr r3, [pc, #52] ; (8053824 ) 80537f0: 681a ldr r2, [r3, #0] 80537f2: 490d ldr r1, [pc, #52] ; (8053828 ) 80537f4: 4613 mov r3, r2 80537f6: 005b lsls r3, r3, #1 80537f8: 4413 add r3, r2 80537fa: 009b lsls r3, r3, #2 80537fc: 440b add r3, r1 80537fe: 687a ldr r2, [r7, #4] 8053800: 601a str r2, [r3, #0] DrawProp[ActiveLayer].BackColor = ColorDn; 8053802: 4b08 ldr r3, [pc, #32] ; (8053824 ) 8053804: 681a ldr r2, [r3, #0] 8053806: 4908 ldr r1, [pc, #32] ; (8053828 ) 8053808: 4613 mov r3, r2 805380a: 005b lsls r3, r3, #1 805380c: 4413 add r3, r2 805380e: 009b lsls r3, r3, #2 8053810: 440b add r3, r1 8053812: 3304 adds r3, #4 8053814: 683a ldr r2, [r7, #0] 8053816: 601a str r2, [r3, #0] } 8053818: bf00 nop 805381a: 370c adds r7, #12 805381c: 46bd mov sp, r7 805381e: f85d 7b04 ldr.w r7, [sp], #4 8053822: 4770 bx lr 8053824: 20020078 .word 0x20020078 8053828: 20020fe4 .word 0x20020fe4 0805382c : void BSP_LCD_SetTextColor(uint32_t Color) { 805382c: b480 push {r7} 805382e: b083 sub sp, #12 8053830: af00 add r7, sp, #0 8053832: 6078 str r0, [r7, #4] DrawProp[ActiveLayer].TextColor = Color; 8053834: 4b07 ldr r3, [pc, #28] ; (8053854 ) 8053836: 681a ldr r2, [r3, #0] 8053838: 4907 ldr r1, [pc, #28] ; (8053858 ) 805383a: 4613 mov r3, r2 805383c: 005b lsls r3, r3, #1 805383e: 4413 add r3, r2 8053840: 009b lsls r3, r3, #2 8053842: 440b add r3, r1 8053844: 687a ldr r2, [r7, #4] 8053846: 601a str r2, [r3, #0] } 8053848: bf00 nop 805384a: 370c adds r7, #12 805384c: 46bd mov sp, r7 805384e: f85d 7b04 ldr.w r7, [sp], #4 8053852: 4770 bx lr 8053854: 20020078 .word 0x20020078 8053858: 20020fe4 .word 0x20020fe4 0805385c : * @brief Sets the LCD text font. * @param fonts: Layer font to be used * @retval None */ void BSP_LCD_SetFont(sFONT *fonts) { 805385c: b480 push {r7} 805385e: b083 sub sp, #12 8053860: af00 add r7, sp, #0 8053862: 6078 str r0, [r7, #4] DrawProp[ActiveLayer].pFont = fonts; 8053864: 4b09 ldr r3, [pc, #36] ; (805388c ) 8053866: 681a ldr r2, [r3, #0] 8053868: 4909 ldr r1, [pc, #36] ; (8053890 ) 805386a: 4613 mov r3, r2 805386c: 005b lsls r3, r3, #1 805386e: 4413 add r3, r2 8053870: 009b lsls r3, r3, #2 8053872: 440b add r3, r1 8053874: 3308 adds r3, #8 8053876: 687a ldr r2, [r7, #4] 8053878: 601a str r2, [r3, #0] CurrentFont = fonts; 805387a: 4a06 ldr r2, [pc, #24] ; (8053894 ) 805387c: 687b ldr r3, [r7, #4] 805387e: 6013 str r3, [r2, #0] } 8053880: bf00 nop 8053882: 370c adds r7, #12 8053884: 46bd mov sp, r7 8053886: f85d 7b04 ldr.w r7, [sp], #4 805388a: 4770 bx lr 805388c: 20020078 .word 0x20020078 8053890: 20020fe4 .word 0x20020fe4 8053894: 20025d24 .word 0x20025d24 08053898 : * @brief Clears the hole LCD. * @param Color: Color of the background * @retval None */ void BSP_LCD_Clear(uint32_t Color) { 8053898: b5f0 push {r4, r5, r6, r7, lr} 805389a: b085 sub sp, #20 805389c: af02 add r7, sp, #8 805389e: 6078 str r0, [r7, #4] LL_FillBuffer(ActiveLayer, (uint32_t *)(hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress), BSP_LCD_GetXSize(), BSP_LCD_GetYSize(), 0, Color); 80538a0: 4b0f ldr r3, [pc, #60] ; (80538e0 ) 80538a2: 681c ldr r4, [r3, #0] 80538a4: 4b0e ldr r3, [pc, #56] ; (80538e0 ) 80538a6: 681b ldr r3, [r3, #0] 80538a8: 4a0e ldr r2, [pc, #56] ; (80538e4 ) 80538aa: 2134 movs r1, #52 ; 0x34 80538ac: fb01 f303 mul.w r3, r1, r3 80538b0: 4413 add r3, r2 80538b2: 335c adds r3, #92 ; 0x5c 80538b4: 681b ldr r3, [r3, #0] 80538b6: 461d mov r5, r3 80538b8: f7ff fee4 bl 8053684 80538bc: 4606 mov r6, r0 80538be: f7ff fef5 bl 80536ac 80538c2: 4602 mov r2, r0 80538c4: 687b ldr r3, [r7, #4] 80538c6: 9301 str r3, [sp, #4] 80538c8: 2300 movs r3, #0 80538ca: 9300 str r3, [sp, #0] 80538cc: 4613 mov r3, r2 80538ce: 4632 mov r2, r6 80538d0: 4629 mov r1, r5 80538d2: 4620 mov r0, r4 80538d4: f000 fe2e bl 8054534 } 80538d8: bf00 nop 80538da: 370c adds r7, #12 80538dc: 46bd mov sp, r7 80538de: bdf0 pop {r4, r5, r6, r7, pc} 80538e0: 20020078 .word 0x20020078 80538e4: 20025d28 .word 0x20025d28 080538e8 : * @param Ascii: Character ascii code * This parameter must be a number between Min_Data = 0x20 and Max_Data = 0x7E * @retval None */ void BSP_LCD_DisplayChar(uint16_t Xpos, uint16_t Ypos, uint8_t Ascii) { 80538e8: b590 push {r4, r7, lr} 80538ea: b083 sub sp, #12 80538ec: af00 add r7, sp, #0 80538ee: 4603 mov r3, r0 80538f0: 80fb strh r3, [r7, #6] 80538f2: 460b mov r3, r1 80538f4: 80bb strh r3, [r7, #4] 80538f6: 4613 mov r3, r2 80538f8: 70fb strb r3, [r7, #3] DrawChar( Xpos, Ypos, &DrawProp[ActiveLayer].pFont->table[(Ascii - ' ') * DrawProp[ActiveLayer].pFont->Height * ((DrawProp[ActiveLayer].pFont->Width + 7) / 8)] ); 80538fa: 4b1b ldr r3, [pc, #108] ; (8053968 ) 80538fc: 681a ldr r2, [r3, #0] 80538fe: 491b ldr r1, [pc, #108] ; (805396c ) 8053900: 4613 mov r3, r2 8053902: 005b lsls r3, r3, #1 8053904: 4413 add r3, r2 8053906: 009b lsls r3, r3, #2 8053908: 440b add r3, r1 805390a: 3308 adds r3, #8 805390c: 681b ldr r3, [r3, #0] 805390e: 6819 ldr r1, [r3, #0] 8053910: 78fb ldrb r3, [r7, #3] 8053912: f1a3 0020 sub.w r0, r3, #32 8053916: 4b14 ldr r3, [pc, #80] ; (8053968 ) 8053918: 681a ldr r2, [r3, #0] 805391a: 4c14 ldr r4, [pc, #80] ; (805396c ) 805391c: 4613 mov r3, r2 805391e: 005b lsls r3, r3, #1 8053920: 4413 add r3, r2 8053922: 009b lsls r3, r3, #2 8053924: 4423 add r3, r4 8053926: 3308 adds r3, #8 8053928: 681b ldr r3, [r3, #0] 805392a: 88db ldrh r3, [r3, #6] 805392c: fb03 f000 mul.w r0, r3, r0 8053930: 4b0d ldr r3, [pc, #52] ; (8053968 ) 8053932: 681a ldr r2, [r3, #0] 8053934: 4c0d ldr r4, [pc, #52] ; (805396c ) 8053936: 4613 mov r3, r2 8053938: 005b lsls r3, r3, #1 805393a: 4413 add r3, r2 805393c: 009b lsls r3, r3, #2 805393e: 4423 add r3, r4 8053940: 3308 adds r3, #8 8053942: 681b ldr r3, [r3, #0] 8053944: 889b ldrh r3, [r3, #4] 8053946: 3307 adds r3, #7 8053948: 2b00 cmp r3, #0 805394a: da00 bge.n 805394e 805394c: 3307 adds r3, #7 805394e: 10db asrs r3, r3, #3 8053950: fb03 f300 mul.w r3, r3, r0 8053954: 18ca adds r2, r1, r3 8053956: 88b9 ldrh r1, [r7, #4] 8053958: 88fb ldrh r3, [r7, #6] 805395a: 4618 mov r0, r3 805395c: f000 fd32 bl 80543c4 } 8053960: bf00 nop 8053962: 370c adds r7, #12 8053964: 46bd mov sp, r7 8053966: bd90 pop {r4, r7, pc} 8053968: 20020078 .word 0x20020078 805396c: 20020fe4 .word 0x20020fe4 08053970 : * @arg RIGHT_MODE * @arg LEFT_MODE * @retval None */ void BSP_LCD_DisplayStringAt(uint16_t Xpos, uint16_t Ypos, char *Text, Text_AlignModeTypdef Mode) { 8053970: b5b0 push {r4, r5, r7, lr} 8053972: b088 sub sp, #32 8053974: af00 add r7, sp, #0 8053976: 60ba str r2, [r7, #8] 8053978: 461a mov r2, r3 805397a: 4603 mov r3, r0 805397c: 81fb strh r3, [r7, #14] 805397e: 460b mov r3, r1 8053980: 81bb strh r3, [r7, #12] 8053982: 4613 mov r3, r2 8053984: 71fb strb r3, [r7, #7] uint16_t ref_column = 1, i = 0, ll = 0; 8053986: 2301 movs r3, #1 8053988: 83fb strh r3, [r7, #30] 805398a: 2300 movs r3, #0 805398c: 83bb strh r3, [r7, #28] 805398e: 2300 movs r3, #0 8053990: 827b strh r3, [r7, #18] uint32_t size = 0; 8053992: 2300 movs r3, #0 8053994: 61bb str r3, [r7, #24] uint8_t *ptr; ptr = (uint8_t *) Text; 8053996: 68bb ldr r3, [r7, #8] 8053998: 617b str r3, [r7, #20] /* Get the text size */ while (*ptr++) size++ ; 805399a: e002 b.n 80539a2 805399c: 69bb ldr r3, [r7, #24] 805399e: 3301 adds r3, #1 80539a0: 61bb str r3, [r7, #24] 80539a2: 697b ldr r3, [r7, #20] 80539a4: 1c5a adds r2, r3, #1 80539a6: 617a str r2, [r7, #20] 80539a8: 781b ldrb r3, [r3, #0] 80539aa: 2b00 cmp r3, #0 80539ac: d1f6 bne.n 805399c /* Characters number per line */ // xsize = (BSP_LCD_GetXSize() / DrawProp[ActiveLayer].pFont->Width); switch (Mode) 80539ae: 79fb ldrb r3, [r7, #7] 80539b0: 2b02 cmp r3, #2 80539b2: d01d beq.n 80539f0 80539b4: 2b03 cmp r3, #3 80539b6: d018 beq.n 80539ea 80539b8: 2b01 cmp r3, #1 80539ba: d12e bne.n 8053a1a { case CENTER_MODE: { ll = DrawProp[ActiveLayer].pFont->Width * size; 80539bc: 4b44 ldr r3, [pc, #272] ; (8053ad0 ) 80539be: 681a ldr r2, [r3, #0] 80539c0: 4944 ldr r1, [pc, #272] ; (8053ad4 ) 80539c2: 4613 mov r3, r2 80539c4: 005b lsls r3, r3, #1 80539c6: 4413 add r3, r2 80539c8: 009b lsls r3, r3, #2 80539ca: 440b add r3, r1 80539cc: 3308 adds r3, #8 80539ce: 681b ldr r3, [r3, #0] 80539d0: 889a ldrh r2, [r3, #4] 80539d2: 69bb ldr r3, [r7, #24] 80539d4: b29b uxth r3, r3 80539d6: fb12 f303 smulbb r3, r2, r3 80539da: 827b strh r3, [r7, #18] ref_column = Xpos - (ll >> 1); 80539dc: 8a7b ldrh r3, [r7, #18] 80539de: 085b lsrs r3, r3, #1 80539e0: b29b uxth r3, r3 80539e2: 89fa ldrh r2, [r7, #14] 80539e4: 1ad3 subs r3, r2, r3 80539e6: 83fb strh r3, [r7, #30] //if((ref_column + ll > 319) || (ref_column > 319)) // ref_column = Xpos + ((xsize - size)* DrawProp[ActiveLayer].pFont->Width) / 2; break; 80539e8: e01a b.n 8053a20 } case LEFT_MODE: { ref_column = Xpos; 80539ea: 89fb ldrh r3, [r7, #14] 80539ec: 83fb strh r3, [r7, #30] break; 80539ee: e017 b.n 8053a20 } case RIGHT_MODE: { ll = DrawProp[ActiveLayer].pFont->Width * size; 80539f0: 4b37 ldr r3, [pc, #220] ; (8053ad0 ) 80539f2: 681a ldr r2, [r3, #0] 80539f4: 4937 ldr r1, [pc, #220] ; (8053ad4 ) 80539f6: 4613 mov r3, r2 80539f8: 005b lsls r3, r3, #1 80539fa: 4413 add r3, r2 80539fc: 009b lsls r3, r3, #2 80539fe: 440b add r3, r1 8053a00: 3308 adds r3, #8 8053a02: 681b ldr r3, [r3, #0] 8053a04: 889a ldrh r2, [r3, #4] 8053a06: 69bb ldr r3, [r7, #24] 8053a08: b29b uxth r3, r3 8053a0a: fb12 f303 smulbb r3, r2, r3 8053a0e: 827b strh r3, [r7, #18] ref_column = Xpos - ll; 8053a10: 89fa ldrh r2, [r7, #14] 8053a12: 8a7b ldrh r3, [r7, #18] 8053a14: 1ad3 subs r3, r2, r3 8053a16: 83fb strh r3, [r7, #30] // ref_column = - Xpos + ((xsize - size)*DrawProp[ActiveLayer].pFont->Width); break; 8053a18: e002 b.n 8053a20 } default: { ref_column = Xpos; 8053a1a: 89fb ldrh r3, [r7, #14] 8053a1c: 83fb strh r3, [r7, #30] break; 8053a1e: bf00 nop } } /* Check that the Start column is located in the screen */ if ((ref_column < 1) || (ref_column >= 0x8000)) 8053a20: 8bfb ldrh r3, [r7, #30] 8053a22: 2b00 cmp r3, #0 8053a24: d003 beq.n 8053a2e 8053a26: f9b7 301e ldrsh.w r3, [r7, #30] 8053a2a: 2b00 cmp r3, #0 8053a2c: da1d bge.n 8053a6a { ref_column = 1; 8053a2e: 2301 movs r3, #1 8053a30: 83fb strh r3, [r7, #30] } /* Send the string character by character on LCD */ while ((*Text != 0) & (((BSP_LCD_GetXSize() - (i*DrawProp[ActiveLayer].pFont->Width)) & 0xFFFF) >= DrawProp[ActiveLayer].pFont->Width)) 8053a32: e01a b.n 8053a6a { /* Display one character on LCD */ BSP_LCD_DisplayChar(ref_column, Ypos, *Text); 8053a34: 68bb ldr r3, [r7, #8] 8053a36: 781a ldrb r2, [r3, #0] 8053a38: 89b9 ldrh r1, [r7, #12] 8053a3a: 8bfb ldrh r3, [r7, #30] 8053a3c: 4618 mov r0, r3 8053a3e: f7ff ff53 bl 80538e8 /* Decrement the column position by 16 */ ref_column += DrawProp[ActiveLayer].pFont->Width; 8053a42: 4b23 ldr r3, [pc, #140] ; (8053ad0 ) 8053a44: 681a ldr r2, [r3, #0] 8053a46: 4923 ldr r1, [pc, #140] ; (8053ad4 ) 8053a48: 4613 mov r3, r2 8053a4a: 005b lsls r3, r3, #1 8053a4c: 4413 add r3, r2 8053a4e: 009b lsls r3, r3, #2 8053a50: 440b add r3, r1 8053a52: 3308 adds r3, #8 8053a54: 681b ldr r3, [r3, #0] 8053a56: 889a ldrh r2, [r3, #4] 8053a58: 8bfb ldrh r3, [r7, #30] 8053a5a: 4413 add r3, r2 8053a5c: 83fb strh r3, [r7, #30] /* Point on the next character */ Text++; 8053a5e: 68bb ldr r3, [r7, #8] 8053a60: 3301 adds r3, #1 8053a62: 60bb str r3, [r7, #8] i++; 8053a64: 8bbb ldrh r3, [r7, #28] 8053a66: 3301 adds r3, #1 8053a68: 83bb strh r3, [r7, #28] while ((*Text != 0) & (((BSP_LCD_GetXSize() - (i*DrawProp[ActiveLayer].pFont->Width)) & 0xFFFF) >= DrawProp[ActiveLayer].pFont->Width)) 8053a6a: 68bb ldr r3, [r7, #8] 8053a6c: 781b ldrb r3, [r3, #0] 8053a6e: 2b00 cmp r3, #0 8053a70: bf14 ite ne 8053a72: 2301 movne r3, #1 8053a74: 2300 moveq r3, #0 8053a76: b2dc uxtb r4, r3 8053a78: f7ff fe04 bl 8053684 8053a7c: 4605 mov r5, r0 8053a7e: 8bb9 ldrh r1, [r7, #28] 8053a80: 4b13 ldr r3, [pc, #76] ; (8053ad0 ) 8053a82: 681a ldr r2, [r3, #0] 8053a84: 4813 ldr r0, [pc, #76] ; (8053ad4 ) 8053a86: 4613 mov r3, r2 8053a88: 005b lsls r3, r3, #1 8053a8a: 4413 add r3, r2 8053a8c: 009b lsls r3, r3, #2 8053a8e: 4403 add r3, r0 8053a90: 3308 adds r3, #8 8053a92: 681b ldr r3, [r3, #0] 8053a94: 889b ldrh r3, [r3, #4] 8053a96: fb03 f301 mul.w r3, r3, r1 8053a9a: 1aeb subs r3, r5, r3 8053a9c: b299 uxth r1, r3 8053a9e: 4b0c ldr r3, [pc, #48] ; (8053ad0 ) 8053aa0: 681a ldr r2, [r3, #0] 8053aa2: 480c ldr r0, [pc, #48] ; (8053ad4 ) 8053aa4: 4613 mov r3, r2 8053aa6: 005b lsls r3, r3, #1 8053aa8: 4413 add r3, r2 8053aaa: 009b lsls r3, r3, #2 8053aac: 4403 add r3, r0 8053aae: 3308 adds r3, #8 8053ab0: 681b ldr r3, [r3, #0] 8053ab2: 889b ldrh r3, [r3, #4] 8053ab4: 4299 cmp r1, r3 8053ab6: bf2c ite cs 8053ab8: 2301 movcs r3, #1 8053aba: 2300 movcc r3, #0 8053abc: b2db uxtb r3, r3 8053abe: 4023 ands r3, r4 8053ac0: b2db uxtb r3, r3 8053ac2: 2b00 cmp r3, #0 8053ac4: d1b6 bne.n 8053a34 } } 8053ac6: bf00 nop 8053ac8: 3720 adds r7, #32 8053aca: 46bd mov sp, r7 8053acc: bdb0 pop {r4, r5, r7, pc} 8053ace: bf00 nop 8053ad0: 20020078 .word 0x20020078 8053ad4: 20020fe4 .word 0x20020fe4 08053ad8 : * @param Ypos: Y position * @param Length: Line length * @retval None */ void BSP_LCD_DrawHLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length) { 8053ad8: b5b0 push {r4, r5, r7, lr} 8053ada: b086 sub sp, #24 8053adc: af02 add r7, sp, #8 8053ade: 4603 mov r3, r0 8053ae0: 80fb strh r3, [r7, #6] 8053ae2: 460b mov r3, r1 8053ae4: 80bb strh r3, [r7, #4] 8053ae6: 4613 mov r3, r2 8053ae8: 807b strh r3, [r7, #2] uint32_t Xaddress = 0; 8053aea: 2300 movs r3, #0 8053aec: 60fb str r3, [r7, #12] /* Get the line address */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8053aee: 4b26 ldr r3, [pc, #152] ; (8053b88 ) 8053af0: 681b ldr r3, [r3, #0] 8053af2: 4a26 ldr r2, [pc, #152] ; (8053b8c ) 8053af4: 2134 movs r1, #52 ; 0x34 8053af6: fb01 f303 mul.w r3, r1, r3 8053afa: 4413 add r3, r2 8053afc: 3348 adds r3, #72 ; 0x48 8053afe: 681b ldr r3, [r3, #0] 8053b00: 2b02 cmp r3, #2 8053b02: d114 bne.n 8053b2e { /* RGB565 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 2*(BSP_LCD_GetXSize()*Ypos + Xpos); 8053b04: 4b20 ldr r3, [pc, #128] ; (8053b88 ) 8053b06: 681b ldr r3, [r3, #0] 8053b08: 4a20 ldr r2, [pc, #128] ; (8053b8c ) 8053b0a: 2134 movs r1, #52 ; 0x34 8053b0c: fb01 f303 mul.w r3, r1, r3 8053b10: 4413 add r3, r2 8053b12: 335c adds r3, #92 ; 0x5c 8053b14: 681c ldr r4, [r3, #0] 8053b16: f7ff fdb5 bl 8053684 8053b1a: 4602 mov r2, r0 8053b1c: 88bb ldrh r3, [r7, #4] 8053b1e: fb03 f202 mul.w r2, r3, r2 8053b22: 88fb ldrh r3, [r7, #6] 8053b24: 4413 add r3, r2 8053b26: 005b lsls r3, r3, #1 8053b28: 4423 add r3, r4 8053b2a: 60fb str r3, [r7, #12] 8053b2c: e013 b.n 8053b56 } else { /* ARGB8888 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 4*(BSP_LCD_GetXSize()*Ypos + Xpos); 8053b2e: 4b16 ldr r3, [pc, #88] ; (8053b88 ) 8053b30: 681b ldr r3, [r3, #0] 8053b32: 4a16 ldr r2, [pc, #88] ; (8053b8c ) 8053b34: 2134 movs r1, #52 ; 0x34 8053b36: fb01 f303 mul.w r3, r1, r3 8053b3a: 4413 add r3, r2 8053b3c: 335c adds r3, #92 ; 0x5c 8053b3e: 681c ldr r4, [r3, #0] 8053b40: f7ff fda0 bl 8053684 8053b44: 4602 mov r2, r0 8053b46: 88bb ldrh r3, [r7, #4] 8053b48: fb03 f202 mul.w r2, r3, r2 8053b4c: 88fb ldrh r3, [r7, #6] 8053b4e: 4413 add r3, r2 8053b50: 009b lsls r3, r3, #2 8053b52: 4423 add r3, r4 8053b54: 60fb str r3, [r7, #12] } /* Write line */ LL_FillBuffer(ActiveLayer, (uint32_t *)Xaddress, Length, 1, 0, DrawProp[ActiveLayer].TextColor); 8053b56: 4b0c ldr r3, [pc, #48] ; (8053b88 ) 8053b58: 6818 ldr r0, [r3, #0] 8053b5a: 68fc ldr r4, [r7, #12] 8053b5c: 887d ldrh r5, [r7, #2] 8053b5e: 4b0a ldr r3, [pc, #40] ; (8053b88 ) 8053b60: 681a ldr r2, [r3, #0] 8053b62: 490b ldr r1, [pc, #44] ; (8053b90 ) 8053b64: 4613 mov r3, r2 8053b66: 005b lsls r3, r3, #1 8053b68: 4413 add r3, r2 8053b6a: 009b lsls r3, r3, #2 8053b6c: 440b add r3, r1 8053b6e: 681b ldr r3, [r3, #0] 8053b70: 9301 str r3, [sp, #4] 8053b72: 2300 movs r3, #0 8053b74: 9300 str r3, [sp, #0] 8053b76: 2301 movs r3, #1 8053b78: 462a mov r2, r5 8053b7a: 4621 mov r1, r4 8053b7c: f000 fcda bl 8054534 } 8053b80: bf00 nop 8053b82: 3710 adds r7, #16 8053b84: 46bd mov sp, r7 8053b86: bdb0 pop {r4, r5, r7, pc} 8053b88: 20020078 .word 0x20020078 8053b8c: 20025d28 .word 0x20025d28 8053b90: 20020fe4 .word 0x20020fe4 08053b94 : * @param Ypos: Y position * @param Length: Line length * @retval None */ void BSP_LCD_DrawVLine(uint16_t Xpos, uint16_t Ypos, uint16_t Length) { 8053b94: b5f0 push {r4, r5, r6, r7, lr} 8053b96: b087 sub sp, #28 8053b98: af02 add r7, sp, #8 8053b9a: 4603 mov r3, r0 8053b9c: 80fb strh r3, [r7, #6] 8053b9e: 460b mov r3, r1 8053ba0: 80bb strh r3, [r7, #4] 8053ba2: 4613 mov r3, r2 8053ba4: 807b strh r3, [r7, #2] uint32_t Xaddress = 0; 8053ba6: 2300 movs r3, #0 8053ba8: 60fb str r3, [r7, #12] /* Get the line address */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8053baa: 4b28 ldr r3, [pc, #160] ; (8053c4c ) 8053bac: 681b ldr r3, [r3, #0] 8053bae: 4a28 ldr r2, [pc, #160] ; (8053c50 ) 8053bb0: 2134 movs r1, #52 ; 0x34 8053bb2: fb01 f303 mul.w r3, r1, r3 8053bb6: 4413 add r3, r2 8053bb8: 3348 adds r3, #72 ; 0x48 8053bba: 681b ldr r3, [r3, #0] 8053bbc: 2b02 cmp r3, #2 8053bbe: d114 bne.n 8053bea { /* RGB565 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 2*(BSP_LCD_GetXSize()*Ypos + Xpos); 8053bc0: 4b22 ldr r3, [pc, #136] ; (8053c4c ) 8053bc2: 681b ldr r3, [r3, #0] 8053bc4: 4a22 ldr r2, [pc, #136] ; (8053c50 ) 8053bc6: 2134 movs r1, #52 ; 0x34 8053bc8: fb01 f303 mul.w r3, r1, r3 8053bcc: 4413 add r3, r2 8053bce: 335c adds r3, #92 ; 0x5c 8053bd0: 681c ldr r4, [r3, #0] 8053bd2: f7ff fd57 bl 8053684 8053bd6: 4602 mov r2, r0 8053bd8: 88bb ldrh r3, [r7, #4] 8053bda: fb03 f202 mul.w r2, r3, r2 8053bde: 88fb ldrh r3, [r7, #6] 8053be0: 4413 add r3, r2 8053be2: 005b lsls r3, r3, #1 8053be4: 4423 add r3, r4 8053be6: 60fb str r3, [r7, #12] 8053be8: e013 b.n 8053c12 } else { /* ARGB8888 format */ Xaddress = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 4*(BSP_LCD_GetXSize()*Ypos + Xpos); 8053bea: 4b18 ldr r3, [pc, #96] ; (8053c4c ) 8053bec: 681b ldr r3, [r3, #0] 8053bee: 4a18 ldr r2, [pc, #96] ; (8053c50 ) 8053bf0: 2134 movs r1, #52 ; 0x34 8053bf2: fb01 f303 mul.w r3, r1, r3 8053bf6: 4413 add r3, r2 8053bf8: 335c adds r3, #92 ; 0x5c 8053bfa: 681c ldr r4, [r3, #0] 8053bfc: f7ff fd42 bl 8053684 8053c00: 4602 mov r2, r0 8053c02: 88bb ldrh r3, [r7, #4] 8053c04: fb03 f202 mul.w r2, r3, r2 8053c08: 88fb ldrh r3, [r7, #6] 8053c0a: 4413 add r3, r2 8053c0c: 009b lsls r3, r3, #2 8053c0e: 4423 add r3, r4 8053c10: 60fb str r3, [r7, #12] } /* Write line */ LL_FillBuffer(ActiveLayer, (uint32_t *)Xaddress, 1, Length, (BSP_LCD_GetXSize() - 1), DrawProp[ActiveLayer].TextColor); 8053c12: 4b0e ldr r3, [pc, #56] ; (8053c4c ) 8053c14: 681c ldr r4, [r3, #0] 8053c16: 68fd ldr r5, [r7, #12] 8053c18: 887e ldrh r6, [r7, #2] 8053c1a: f7ff fd33 bl 8053684 8053c1e: 4603 mov r3, r0 8053c20: 1e59 subs r1, r3, #1 8053c22: 4b0a ldr r3, [pc, #40] ; (8053c4c ) 8053c24: 681a ldr r2, [r3, #0] 8053c26: 480b ldr r0, [pc, #44] ; (8053c54 ) 8053c28: 4613 mov r3, r2 8053c2a: 005b lsls r3, r3, #1 8053c2c: 4413 add r3, r2 8053c2e: 009b lsls r3, r3, #2 8053c30: 4403 add r3, r0 8053c32: 681b ldr r3, [r3, #0] 8053c34: 9301 str r3, [sp, #4] 8053c36: 9100 str r1, [sp, #0] 8053c38: 4633 mov r3, r6 8053c3a: 2201 movs r2, #1 8053c3c: 4629 mov r1, r5 8053c3e: 4620 mov r0, r4 8053c40: f000 fc78 bl 8054534 } 8053c44: bf00 nop 8053c46: 3714 adds r7, #20 8053c48: 46bd mov sp, r7 8053c4a: bdf0 pop {r4, r5, r6, r7, pc} 8053c4c: 20020078 .word 0x20020078 8053c50: 20025d28 .word 0x20025d28 8053c54: 20020fe4 .word 0x20020fe4 08053c58 : * @param x2: Point 2 X position * @param y2: Point 2 Y position * @retval None */ void BSP_LCD_DrawLine(uint16_t x1, uint16_t y1, uint16_t x2, uint16_t y2) { 8053c58: b590 push {r4, r7, lr} 8053c5a: b08b sub sp, #44 ; 0x2c 8053c5c: af00 add r7, sp, #0 8053c5e: 4604 mov r4, r0 8053c60: 4608 mov r0, r1 8053c62: 4611 mov r1, r2 8053c64: 461a mov r2, r3 8053c66: 4623 mov r3, r4 8053c68: 80fb strh r3, [r7, #6] 8053c6a: 4603 mov r3, r0 8053c6c: 80bb strh r3, [r7, #4] 8053c6e: 460b mov r3, r1 8053c70: 807b strh r3, [r7, #2] 8053c72: 4613 mov r3, r2 8053c74: 803b strh r3, [r7, #0] int16_t deltax = 0, deltay = 0, x = 0, y = 0, xinc1 = 0, xinc2 = 0, 8053c76: 2300 movs r3, #0 8053c78: 823b strh r3, [r7, #16] 8053c7a: 2300 movs r3, #0 8053c7c: 81fb strh r3, [r7, #14] 8053c7e: 2300 movs r3, #0 8053c80: 84fb strh r3, [r7, #38] ; 0x26 8053c82: 2300 movs r3, #0 8053c84: 84bb strh r3, [r7, #36] ; 0x24 8053c86: 2300 movs r3, #0 8053c88: 847b strh r3, [r7, #34] ; 0x22 8053c8a: 2300 movs r3, #0 8053c8c: 843b strh r3, [r7, #32] yinc1 = 0, yinc2 = 0, den = 0, num = 0, num_add = 0, num_pixels = 0, 8053c8e: 2300 movs r3, #0 8053c90: 83fb strh r3, [r7, #30] 8053c92: 2300 movs r3, #0 8053c94: 83bb strh r3, [r7, #28] 8053c96: 2300 movs r3, #0 8053c98: 837b strh r3, [r7, #26] 8053c9a: 2300 movs r3, #0 8053c9c: 833b strh r3, [r7, #24] 8053c9e: 2300 movs r3, #0 8053ca0: 82fb strh r3, [r7, #22] 8053ca2: 2300 movs r3, #0 8053ca4: 82bb strh r3, [r7, #20] curpixel = 0; 8053ca6: 2300 movs r3, #0 8053ca8: 827b strh r3, [r7, #18] deltax = ABS(x2 - x1); /* The difference between the x's */ 8053caa: 887a ldrh r2, [r7, #2] 8053cac: 88fb ldrh r3, [r7, #6] 8053cae: 1ad3 subs r3, r2, r3 8053cb0: 2b00 cmp r3, #0 8053cb2: bfb8 it lt 8053cb4: 425b neglt r3, r3 8053cb6: 823b strh r3, [r7, #16] deltay = ABS(y2 - y1); /* The difference between the y's */ 8053cb8: 883a ldrh r2, [r7, #0] 8053cba: 88bb ldrh r3, [r7, #4] 8053cbc: 1ad3 subs r3, r2, r3 8053cbe: 2b00 cmp r3, #0 8053cc0: bfb8 it lt 8053cc2: 425b neglt r3, r3 8053cc4: 81fb strh r3, [r7, #14] x = x1; /* Start x off at the first pixel */ 8053cc6: 88fb ldrh r3, [r7, #6] 8053cc8: 84fb strh r3, [r7, #38] ; 0x26 y = y1; /* Start y off at the first pixel */ 8053cca: 88bb ldrh r3, [r7, #4] 8053ccc: 84bb strh r3, [r7, #36] ; 0x24 if (x2 >= x1) /* The x-values are increasing */ 8053cce: 887a ldrh r2, [r7, #2] 8053cd0: 88fb ldrh r3, [r7, #6] 8053cd2: 429a cmp r2, r3 8053cd4: d304 bcc.n 8053ce0 { xinc1 = 1; 8053cd6: 2301 movs r3, #1 8053cd8: 847b strh r3, [r7, #34] ; 0x22 xinc2 = 1; 8053cda: 2301 movs r3, #1 8053cdc: 843b strh r3, [r7, #32] 8053cde: e005 b.n 8053cec } else /* The x-values are decreasing */ { xinc1 = -1; 8053ce0: f64f 73ff movw r3, #65535 ; 0xffff 8053ce4: 847b strh r3, [r7, #34] ; 0x22 xinc2 = -1; 8053ce6: f64f 73ff movw r3, #65535 ; 0xffff 8053cea: 843b strh r3, [r7, #32] } if (y2 >= y1) /* The y-values are increasing */ 8053cec: 883a ldrh r2, [r7, #0] 8053cee: 88bb ldrh r3, [r7, #4] 8053cf0: 429a cmp r2, r3 8053cf2: d304 bcc.n 8053cfe { yinc1 = 1; 8053cf4: 2301 movs r3, #1 8053cf6: 83fb strh r3, [r7, #30] yinc2 = 1; 8053cf8: 2301 movs r3, #1 8053cfa: 83bb strh r3, [r7, #28] 8053cfc: e005 b.n 8053d0a } else /* The y-values are decreasing */ { yinc1 = -1; 8053cfe: f64f 73ff movw r3, #65535 ; 0xffff 8053d02: 83fb strh r3, [r7, #30] yinc2 = -1; 8053d04: f64f 73ff movw r3, #65535 ; 0xffff 8053d08: 83bb strh r3, [r7, #28] } if (deltax >= deltay) /* There is at least one x-value for every y-value */ 8053d0a: f9b7 2010 ldrsh.w r2, [r7, #16] 8053d0e: f9b7 300e ldrsh.w r3, [r7, #14] 8053d12: 429a cmp r2, r3 8053d14: db11 blt.n 8053d3a { xinc1 = 0; /* Don't change the x when numerator >= denominator */ 8053d16: 2300 movs r3, #0 8053d18: 847b strh r3, [r7, #34] ; 0x22 yinc2 = 0; /* Don't change the y for every iteration */ 8053d1a: 2300 movs r3, #0 8053d1c: 83bb strh r3, [r7, #28] den = deltax; 8053d1e: 8a3b ldrh r3, [r7, #16] 8053d20: 837b strh r3, [r7, #26] num = deltax / 2; 8053d22: f9b7 3010 ldrsh.w r3, [r7, #16] 8053d26: 2b00 cmp r3, #0 8053d28: da00 bge.n 8053d2c 8053d2a: 3301 adds r3, #1 8053d2c: 105b asrs r3, r3, #1 8053d2e: 833b strh r3, [r7, #24] num_add = deltay; 8053d30: 89fb ldrh r3, [r7, #14] 8053d32: 82fb strh r3, [r7, #22] num_pixels = deltax; /* There are more x-values than y-values */ 8053d34: 8a3b ldrh r3, [r7, #16] 8053d36: 82bb strh r3, [r7, #20] 8053d38: e010 b.n 8053d5c } else /* There is at least one y-value for every x-value */ { xinc2 = 0; /* Don't change the x for every iteration */ 8053d3a: 2300 movs r3, #0 8053d3c: 843b strh r3, [r7, #32] yinc1 = 0; /* Don't change the y when numerator >= denominator */ 8053d3e: 2300 movs r3, #0 8053d40: 83fb strh r3, [r7, #30] den = deltay; 8053d42: 89fb ldrh r3, [r7, #14] 8053d44: 837b strh r3, [r7, #26] num = deltay / 2; 8053d46: f9b7 300e ldrsh.w r3, [r7, #14] 8053d4a: 2b00 cmp r3, #0 8053d4c: da00 bge.n 8053d50 8053d4e: 3301 adds r3, #1 8053d50: 105b asrs r3, r3, #1 8053d52: 833b strh r3, [r7, #24] num_add = deltax; 8053d54: 8a3b ldrh r3, [r7, #16] 8053d56: 82fb strh r3, [r7, #22] num_pixels = deltay; /* There are more y-values than x-values */ 8053d58: 89fb ldrh r3, [r7, #14] 8053d5a: 82bb strh r3, [r7, #20] } for (curpixel = 0; curpixel <= num_pixels; curpixel++) 8053d5c: 2300 movs r3, #0 8053d5e: 827b strh r3, [r7, #18] 8053d60: e038 b.n 8053dd4 { BSP_LCD_DrawPixel(x, y, DrawProp[ActiveLayer].TextColor); /* Draw the current pixel */ 8053d62: 8cf8 ldrh r0, [r7, #38] ; 0x26 8053d64: 8cbc ldrh r4, [r7, #36] ; 0x24 8053d66: 4b20 ldr r3, [pc, #128] ; (8053de8 ) 8053d68: 681a ldr r2, [r3, #0] 8053d6a: 4920 ldr r1, [pc, #128] ; (8053dec ) 8053d6c: 4613 mov r3, r2 8053d6e: 005b lsls r3, r3, #1 8053d70: 4413 add r3, r2 8053d72: 009b lsls r3, r3, #2 8053d74: 440b add r3, r1 8053d76: 681b ldr r3, [r3, #0] 8053d78: 461a mov r2, r3 8053d7a: 4621 mov r1, r4 8053d7c: f000 f95c bl 8054038 num += num_add; /* Increase the numerator by the top of the fraction */ 8053d80: 8b3a ldrh r2, [r7, #24] 8053d82: 8afb ldrh r3, [r7, #22] 8053d84: 4413 add r3, r2 8053d86: b29b uxth r3, r3 8053d88: 833b strh r3, [r7, #24] if (num >= den) /* Check if numerator >= denominator */ 8053d8a: f9b7 2018 ldrsh.w r2, [r7, #24] 8053d8e: f9b7 301a ldrsh.w r3, [r7, #26] 8053d92: 429a cmp r2, r3 8053d94: db0e blt.n 8053db4 { num -= den; /* Calculate the new numerator value */ 8053d96: 8b3a ldrh r2, [r7, #24] 8053d98: 8b7b ldrh r3, [r7, #26] 8053d9a: 1ad3 subs r3, r2, r3 8053d9c: b29b uxth r3, r3 8053d9e: 833b strh r3, [r7, #24] x += xinc1; /* Change the x as appropriate */ 8053da0: 8cfa ldrh r2, [r7, #38] ; 0x26 8053da2: 8c7b ldrh r3, [r7, #34] ; 0x22 8053da4: 4413 add r3, r2 8053da6: b29b uxth r3, r3 8053da8: 84fb strh r3, [r7, #38] ; 0x26 y += yinc1; /* Change the y as appropriate */ 8053daa: 8cba ldrh r2, [r7, #36] ; 0x24 8053dac: 8bfb ldrh r3, [r7, #30] 8053dae: 4413 add r3, r2 8053db0: b29b uxth r3, r3 8053db2: 84bb strh r3, [r7, #36] ; 0x24 } x += xinc2; /* Change the x as appropriate */ 8053db4: 8cfa ldrh r2, [r7, #38] ; 0x26 8053db6: 8c3b ldrh r3, [r7, #32] 8053db8: 4413 add r3, r2 8053dba: b29b uxth r3, r3 8053dbc: 84fb strh r3, [r7, #38] ; 0x26 y += yinc2; /* Change the y as appropriate */ 8053dbe: 8cba ldrh r2, [r7, #36] ; 0x24 8053dc0: 8bbb ldrh r3, [r7, #28] 8053dc2: 4413 add r3, r2 8053dc4: b29b uxth r3, r3 8053dc6: 84bb strh r3, [r7, #36] ; 0x24 for (curpixel = 0; curpixel <= num_pixels; curpixel++) 8053dc8: f9b7 3012 ldrsh.w r3, [r7, #18] 8053dcc: b29b uxth r3, r3 8053dce: 3301 adds r3, #1 8053dd0: b29b uxth r3, r3 8053dd2: 827b strh r3, [r7, #18] 8053dd4: f9b7 2012 ldrsh.w r2, [r7, #18] 8053dd8: f9b7 3014 ldrsh.w r3, [r7, #20] 8053ddc: 429a cmp r2, r3 8053dde: ddc0 ble.n 8053d62 } } 8053de0: bf00 nop 8053de2: 372c adds r7, #44 ; 0x2c 8053de4: 46bd mov sp, r7 8053de6: bd90 pop {r4, r7, pc} 8053de8: 20020078 .word 0x20020078 8053dec: 20020fe4 .word 0x20020fe4 08053df0 : * @param Width: Rectangle width * @param Height: Rectangle height * @retval None */ void BSP_LCD_DrawRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) { 8053df0: b590 push {r4, r7, lr} 8053df2: b083 sub sp, #12 8053df4: af00 add r7, sp, #0 8053df6: 4604 mov r4, r0 8053df8: 4608 mov r0, r1 8053dfa: 4611 mov r1, r2 8053dfc: 461a mov r2, r3 8053dfe: 4623 mov r3, r4 8053e00: 80fb strh r3, [r7, #6] 8053e02: 4603 mov r3, r0 8053e04: 80bb strh r3, [r7, #4] 8053e06: 460b mov r3, r1 8053e08: 807b strh r3, [r7, #2] 8053e0a: 4613 mov r3, r2 8053e0c: 803b strh r3, [r7, #0] BSP_LCD_DrawHLine(Xpos, Ypos, Width); 8053e0e: 887a ldrh r2, [r7, #2] 8053e10: 88b9 ldrh r1, [r7, #4] 8053e12: 88fb ldrh r3, [r7, #6] 8053e14: 4618 mov r0, r3 8053e16: f7ff fe5f bl 8053ad8 BSP_LCD_DrawVLine(Xpos, Ypos, Height); 8053e1a: 883a ldrh r2, [r7, #0] 8053e1c: 88b9 ldrh r1, [r7, #4] 8053e1e: 88fb ldrh r3, [r7, #6] 8053e20: 4618 mov r0, r3 8053e22: f7ff feb7 bl 8053b94 BSP_LCD_DrawHLine(Xpos, (Ypos + Height), Width); 8053e26: 88ba ldrh r2, [r7, #4] 8053e28: 883b ldrh r3, [r7, #0] 8053e2a: 4413 add r3, r2 8053e2c: b299 uxth r1, r3 8053e2e: 887a ldrh r2, [r7, #2] 8053e30: 88fb ldrh r3, [r7, #6] 8053e32: 4618 mov r0, r3 8053e34: f7ff fe50 bl 8053ad8 BSP_LCD_DrawVLine((Xpos + Width), Ypos, Height + 1); 8053e38: 88fa ldrh r2, [r7, #6] 8053e3a: 887b ldrh r3, [r7, #2] 8053e3c: 4413 add r3, r2 8053e3e: b298 uxth r0, r3 8053e40: 883b ldrh r3, [r7, #0] 8053e42: 3301 adds r3, #1 8053e44: b29a uxth r2, r3 8053e46: 88bb ldrh r3, [r7, #4] 8053e48: 4619 mov r1, r3 8053e4a: f7ff fea3 bl 8053b94 } 8053e4e: bf00 nop 8053e50: 370c adds r7, #12 8053e52: 46bd mov sp, r7 8053e54: bd90 pop {r4, r7, pc} ... 08053e58 : * @param Ypos: Y position * @param Radius: Circle radius * @retval None */ void BSP_LCD_DrawCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) { 8053e58: b590 push {r4, r7, lr} 8053e5a: b087 sub sp, #28 8053e5c: af00 add r7, sp, #0 8053e5e: 4603 mov r3, r0 8053e60: 80fb strh r3, [r7, #6] 8053e62: 460b mov r3, r1 8053e64: 80bb strh r3, [r7, #4] 8053e66: 4613 mov r3, r2 8053e68: 807b strh r3, [r7, #2] int32_t decision; /* Decision Variable */ uint32_t current_x; /* Current X Value */ uint32_t current_y; /* Current Y Value */ decision = 3 - (Radius << 1); 8053e6a: 887b ldrh r3, [r7, #2] 8053e6c: 005b lsls r3, r3, #1 8053e6e: f1c3 0303 rsb r3, r3, #3 8053e72: 617b str r3, [r7, #20] current_x = 0; 8053e74: 2300 movs r3, #0 8053e76: 613b str r3, [r7, #16] current_y = Radius; 8053e78: 887b ldrh r3, [r7, #2] 8053e7a: 60fb str r3, [r7, #12] while (current_x <= current_y) 8053e7c: e0cf b.n 805401e { BSP_LCD_DrawPixel((Xpos + current_x), (Ypos - current_y), DrawProp[ActiveLayer].TextColor); 8053e7e: 693b ldr r3, [r7, #16] 8053e80: b29a uxth r2, r3 8053e82: 88fb ldrh r3, [r7, #6] 8053e84: 4413 add r3, r2 8053e86: b298 uxth r0, r3 8053e88: 68fb ldr r3, [r7, #12] 8053e8a: b29b uxth r3, r3 8053e8c: 88ba ldrh r2, [r7, #4] 8053e8e: 1ad3 subs r3, r2, r3 8053e90: b29c uxth r4, r3 8053e92: 4b67 ldr r3, [pc, #412] ; (8054030 ) 8053e94: 681a ldr r2, [r3, #0] 8053e96: 4967 ldr r1, [pc, #412] ; (8054034 ) 8053e98: 4613 mov r3, r2 8053e9a: 005b lsls r3, r3, #1 8053e9c: 4413 add r3, r2 8053e9e: 009b lsls r3, r3, #2 8053ea0: 440b add r3, r1 8053ea2: 681b ldr r3, [r3, #0] 8053ea4: 461a mov r2, r3 8053ea6: 4621 mov r1, r4 8053ea8: f000 f8c6 bl 8054038 BSP_LCD_DrawPixel((Xpos - current_x), (Ypos - current_y), DrawProp[ActiveLayer].TextColor); 8053eac: 693b ldr r3, [r7, #16] 8053eae: b29b uxth r3, r3 8053eb0: 88fa ldrh r2, [r7, #6] 8053eb2: 1ad3 subs r3, r2, r3 8053eb4: b298 uxth r0, r3 8053eb6: 68fb ldr r3, [r7, #12] 8053eb8: b29b uxth r3, r3 8053eba: 88ba ldrh r2, [r7, #4] 8053ebc: 1ad3 subs r3, r2, r3 8053ebe: b29c uxth r4, r3 8053ec0: 4b5b ldr r3, [pc, #364] ; (8054030 ) 8053ec2: 681a ldr r2, [r3, #0] 8053ec4: 495b ldr r1, [pc, #364] ; (8054034 ) 8053ec6: 4613 mov r3, r2 8053ec8: 005b lsls r3, r3, #1 8053eca: 4413 add r3, r2 8053ecc: 009b lsls r3, r3, #2 8053ece: 440b add r3, r1 8053ed0: 681b ldr r3, [r3, #0] 8053ed2: 461a mov r2, r3 8053ed4: 4621 mov r1, r4 8053ed6: f000 f8af bl 8054038 BSP_LCD_DrawPixel((Xpos + current_y), (Ypos - current_x), DrawProp[ActiveLayer].TextColor); 8053eda: 68fb ldr r3, [r7, #12] 8053edc: b29a uxth r2, r3 8053ede: 88fb ldrh r3, [r7, #6] 8053ee0: 4413 add r3, r2 8053ee2: b298 uxth r0, r3 8053ee4: 693b ldr r3, [r7, #16] 8053ee6: b29b uxth r3, r3 8053ee8: 88ba ldrh r2, [r7, #4] 8053eea: 1ad3 subs r3, r2, r3 8053eec: b29c uxth r4, r3 8053eee: 4b50 ldr r3, [pc, #320] ; (8054030 ) 8053ef0: 681a ldr r2, [r3, #0] 8053ef2: 4950 ldr r1, [pc, #320] ; (8054034 ) 8053ef4: 4613 mov r3, r2 8053ef6: 005b lsls r3, r3, #1 8053ef8: 4413 add r3, r2 8053efa: 009b lsls r3, r3, #2 8053efc: 440b add r3, r1 8053efe: 681b ldr r3, [r3, #0] 8053f00: 461a mov r2, r3 8053f02: 4621 mov r1, r4 8053f04: f000 f898 bl 8054038 BSP_LCD_DrawPixel((Xpos - current_y), (Ypos - current_x), DrawProp[ActiveLayer].TextColor); 8053f08: 68fb ldr r3, [r7, #12] 8053f0a: b29b uxth r3, r3 8053f0c: 88fa ldrh r2, [r7, #6] 8053f0e: 1ad3 subs r3, r2, r3 8053f10: b298 uxth r0, r3 8053f12: 693b ldr r3, [r7, #16] 8053f14: b29b uxth r3, r3 8053f16: 88ba ldrh r2, [r7, #4] 8053f18: 1ad3 subs r3, r2, r3 8053f1a: b29c uxth r4, r3 8053f1c: 4b44 ldr r3, [pc, #272] ; (8054030 ) 8053f1e: 681a ldr r2, [r3, #0] 8053f20: 4944 ldr r1, [pc, #272] ; (8054034 ) 8053f22: 4613 mov r3, r2 8053f24: 005b lsls r3, r3, #1 8053f26: 4413 add r3, r2 8053f28: 009b lsls r3, r3, #2 8053f2a: 440b add r3, r1 8053f2c: 681b ldr r3, [r3, #0] 8053f2e: 461a mov r2, r3 8053f30: 4621 mov r1, r4 8053f32: f000 f881 bl 8054038 BSP_LCD_DrawPixel((Xpos + current_x), (Ypos + current_y), DrawProp[ActiveLayer].TextColor); 8053f36: 693b ldr r3, [r7, #16] 8053f38: b29a uxth r2, r3 8053f3a: 88fb ldrh r3, [r7, #6] 8053f3c: 4413 add r3, r2 8053f3e: b298 uxth r0, r3 8053f40: 68fb ldr r3, [r7, #12] 8053f42: b29a uxth r2, r3 8053f44: 88bb ldrh r3, [r7, #4] 8053f46: 4413 add r3, r2 8053f48: b29c uxth r4, r3 8053f4a: 4b39 ldr r3, [pc, #228] ; (8054030 ) 8053f4c: 681a ldr r2, [r3, #0] 8053f4e: 4939 ldr r1, [pc, #228] ; (8054034 ) 8053f50: 4613 mov r3, r2 8053f52: 005b lsls r3, r3, #1 8053f54: 4413 add r3, r2 8053f56: 009b lsls r3, r3, #2 8053f58: 440b add r3, r1 8053f5a: 681b ldr r3, [r3, #0] 8053f5c: 461a mov r2, r3 8053f5e: 4621 mov r1, r4 8053f60: f000 f86a bl 8054038 BSP_LCD_DrawPixel((Xpos - current_x), (Ypos + current_y), DrawProp[ActiveLayer].TextColor); 8053f64: 693b ldr r3, [r7, #16] 8053f66: b29b uxth r3, r3 8053f68: 88fa ldrh r2, [r7, #6] 8053f6a: 1ad3 subs r3, r2, r3 8053f6c: b298 uxth r0, r3 8053f6e: 68fb ldr r3, [r7, #12] 8053f70: b29a uxth r2, r3 8053f72: 88bb ldrh r3, [r7, #4] 8053f74: 4413 add r3, r2 8053f76: b29c uxth r4, r3 8053f78: 4b2d ldr r3, [pc, #180] ; (8054030 ) 8053f7a: 681a ldr r2, [r3, #0] 8053f7c: 492d ldr r1, [pc, #180] ; (8054034 ) 8053f7e: 4613 mov r3, r2 8053f80: 005b lsls r3, r3, #1 8053f82: 4413 add r3, r2 8053f84: 009b lsls r3, r3, #2 8053f86: 440b add r3, r1 8053f88: 681b ldr r3, [r3, #0] 8053f8a: 461a mov r2, r3 8053f8c: 4621 mov r1, r4 8053f8e: f000 f853 bl 8054038 BSP_LCD_DrawPixel((Xpos + current_y), (Ypos + current_x), DrawProp[ActiveLayer].TextColor); 8053f92: 68fb ldr r3, [r7, #12] 8053f94: b29a uxth r2, r3 8053f96: 88fb ldrh r3, [r7, #6] 8053f98: 4413 add r3, r2 8053f9a: b298 uxth r0, r3 8053f9c: 693b ldr r3, [r7, #16] 8053f9e: b29a uxth r2, r3 8053fa0: 88bb ldrh r3, [r7, #4] 8053fa2: 4413 add r3, r2 8053fa4: b29c uxth r4, r3 8053fa6: 4b22 ldr r3, [pc, #136] ; (8054030 ) 8053fa8: 681a ldr r2, [r3, #0] 8053faa: 4922 ldr r1, [pc, #136] ; (8054034 ) 8053fac: 4613 mov r3, r2 8053fae: 005b lsls r3, r3, #1 8053fb0: 4413 add r3, r2 8053fb2: 009b lsls r3, r3, #2 8053fb4: 440b add r3, r1 8053fb6: 681b ldr r3, [r3, #0] 8053fb8: 461a mov r2, r3 8053fba: 4621 mov r1, r4 8053fbc: f000 f83c bl 8054038 BSP_LCD_DrawPixel((Xpos - current_y), (Ypos + current_x), DrawProp[ActiveLayer].TextColor); 8053fc0: 68fb ldr r3, [r7, #12] 8053fc2: b29b uxth r3, r3 8053fc4: 88fa ldrh r2, [r7, #6] 8053fc6: 1ad3 subs r3, r2, r3 8053fc8: b298 uxth r0, r3 8053fca: 693b ldr r3, [r7, #16] 8053fcc: b29a uxth r2, r3 8053fce: 88bb ldrh r3, [r7, #4] 8053fd0: 4413 add r3, r2 8053fd2: b29c uxth r4, r3 8053fd4: 4b16 ldr r3, [pc, #88] ; (8054030 ) 8053fd6: 681a ldr r2, [r3, #0] 8053fd8: 4916 ldr r1, [pc, #88] ; (8054034 ) 8053fda: 4613 mov r3, r2 8053fdc: 005b lsls r3, r3, #1 8053fde: 4413 add r3, r2 8053fe0: 009b lsls r3, r3, #2 8053fe2: 440b add r3, r1 8053fe4: 681b ldr r3, [r3, #0] 8053fe6: 461a mov r2, r3 8053fe8: 4621 mov r1, r4 8053fea: f000 f825 bl 8054038 if (decision < 0) 8053fee: 697b ldr r3, [r7, #20] 8053ff0: 2b00 cmp r3, #0 8053ff2: da06 bge.n 8054002 { decision += (current_x << 2) + 6; 8053ff4: 693b ldr r3, [r7, #16] 8053ff6: 009a lsls r2, r3, #2 8053ff8: 697b ldr r3, [r7, #20] 8053ffa: 4413 add r3, r2 8053ffc: 3306 adds r3, #6 8053ffe: 617b str r3, [r7, #20] 8054000: e00a b.n 8054018 } else { decision += ((current_x - current_y) << 2) + 10; 8054002: 693a ldr r2, [r7, #16] 8054004: 68fb ldr r3, [r7, #12] 8054006: 1ad3 subs r3, r2, r3 8054008: 009a lsls r2, r3, #2 805400a: 697b ldr r3, [r7, #20] 805400c: 4413 add r3, r2 805400e: 330a adds r3, #10 8054010: 617b str r3, [r7, #20] current_y--; 8054012: 68fb ldr r3, [r7, #12] 8054014: 3b01 subs r3, #1 8054016: 60fb str r3, [r7, #12] } current_x++; 8054018: 693b ldr r3, [r7, #16] 805401a: 3301 adds r3, #1 805401c: 613b str r3, [r7, #16] while (current_x <= current_y) 805401e: 693a ldr r2, [r7, #16] 8054020: 68fb ldr r3, [r7, #12] 8054022: 429a cmp r2, r3 8054024: f67f af2b bls.w 8053e7e } } 8054028: bf00 nop 805402a: 371c adds r7, #28 805402c: 46bd mov sp, r7 805402e: bd90 pop {r4, r7, pc} 8054030: 20020078 .word 0x20020078 8054034: 20020fe4 .word 0x20020fe4 08054038 : * @param Ypos: Y position * @param RGB_Code: Pixel color in ARGB mode (8-8-8-8) * @retval None */ void BSP_LCD_DrawPixel(uint16_t Xpos, uint16_t Ypos, uint32_t RGB_Code) { 8054038: b5b0 push {r4, r5, r7, lr} 805403a: b082 sub sp, #8 805403c: af00 add r7, sp, #0 805403e: 4603 mov r3, r0 8054040: 603a str r2, [r7, #0] 8054042: 80fb strh r3, [r7, #6] 8054044: 460b mov r3, r1 8054046: 80bb strh r3, [r7, #4] /* Write data value to all SDRAM memory */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 8054048: 4b2a ldr r3, [pc, #168] ; (80540f4 ) 805404a: 681b ldr r3, [r3, #0] 805404c: 4a2a ldr r2, [pc, #168] ; (80540f8 ) 805404e: 2134 movs r1, #52 ; 0x34 8054050: fb01 f303 mul.w r3, r1, r3 8054054: 4413 add r3, r2 8054056: 3348 adds r3, #72 ; 0x48 8054058: 681b ldr r3, [r3, #0] 805405a: 2b02 cmp r3, #2 805405c: d12f bne.n 80540be { /* RGB565 format */ *(__IO uint16_t*) (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + (2*(Ypos*BSP_LCD_GetXSize() + Xpos))) = COLOR24TO16(RGB_Code); 805405e: 4b25 ldr r3, [pc, #148] ; (80540f4 ) 8054060: 681b ldr r3, [r3, #0] 8054062: 4a25 ldr r2, [pc, #148] ; (80540f8 ) 8054064: 2134 movs r1, #52 ; 0x34 8054066: fb01 f303 mul.w r3, r1, r3 805406a: 4413 add r3, r2 805406c: 335c adds r3, #92 ; 0x5c 805406e: 681c ldr r4, [r3, #0] 8054070: 88bd ldrh r5, [r7, #4] 8054072: f7ff fb07 bl 8053684 8054076: 4603 mov r3, r0 8054078: fb03 f205 mul.w r2, r3, r5 805407c: 88fb ldrh r3, [r7, #6] 805407e: 4413 add r3, r2 8054080: 005b lsls r3, r3, #1 8054082: 4423 add r3, r4 8054084: 4619 mov r1, r3 8054086: 683b ldr r3, [r7, #0] 8054088: 0c1b lsrs r3, r3, #16 805408a: b29b uxth r3, r3 805408c: 021b lsls r3, r3, #8 805408e: b29a uxth r2, r3 8054090: 4b1a ldr r3, [pc, #104] ; (80540fc ) 8054092: 4013 ands r3, r2 8054094: b29a uxth r2, r3 8054096: 683b ldr r3, [r7, #0] 8054098: 0a1b lsrs r3, r3, #8 805409a: b29b uxth r3, r3 805409c: 00db lsls r3, r3, #3 805409e: b29b uxth r3, r3 80540a0: f403 63fc and.w r3, r3, #2016 ; 0x7e0 80540a4: b29b uxth r3, r3 80540a6: 4313 orrs r3, r2 80540a8: b29a uxth r2, r3 80540aa: 683b ldr r3, [r7, #0] 80540ac: 08db lsrs r3, r3, #3 80540ae: b29b uxth r3, r3 80540b0: f003 031f and.w r3, r3, #31 80540b4: b29b uxth r3, r3 80540b6: 4313 orrs r3, r2 80540b8: b29b uxth r3, r3 80540ba: 800b strh r3, [r1, #0] } else { /* ARGB8888 format */ *(__IO uint32_t*) (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + (4*(Ypos*BSP_LCD_GetXSize() + Xpos))) = RGB_Code; } } 80540bc: e015 b.n 80540ea *(__IO uint32_t*) (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + (4*(Ypos*BSP_LCD_GetXSize() + Xpos))) = RGB_Code; 80540be: 4b0d ldr r3, [pc, #52] ; (80540f4 ) 80540c0: 681b ldr r3, [r3, #0] 80540c2: 4a0d ldr r2, [pc, #52] ; (80540f8 ) 80540c4: 2134 movs r1, #52 ; 0x34 80540c6: fb01 f303 mul.w r3, r1, r3 80540ca: 4413 add r3, r2 80540cc: 335c adds r3, #92 ; 0x5c 80540ce: 681c ldr r4, [r3, #0] 80540d0: 88bd ldrh r5, [r7, #4] 80540d2: f7ff fad7 bl 8053684 80540d6: 4603 mov r3, r0 80540d8: fb03 f205 mul.w r2, r3, r5 80540dc: 88fb ldrh r3, [r7, #6] 80540de: 4413 add r3, r2 80540e0: 009b lsls r3, r3, #2 80540e2: 4423 add r3, r4 80540e4: 461a mov r2, r3 80540e6: 683b ldr r3, [r7, #0] 80540e8: 6013 str r3, [r2, #0] } 80540ea: bf00 nop 80540ec: 3708 adds r7, #8 80540ee: 46bd mov sp, r7 80540f0: bdb0 pop {r4, r5, r7, pc} 80540f2: bf00 nop 80540f4: 20020078 .word 0x20020078 80540f8: 20025d28 .word 0x20025d28 80540fc: fffff800 .word 0xfffff800 08054100 : * @param Width: Rectangle width * @param Height: Rectangle height * @retval None */ void BSP_LCD_FillRect(uint16_t Xpos, uint16_t Ypos, uint16_t Width, uint16_t Height) { 8054100: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 8054104: b086 sub sp, #24 8054106: af02 add r7, sp, #8 8054108: 4604 mov r4, r0 805410a: 4608 mov r0, r1 805410c: 4611 mov r1, r2 805410e: 461a mov r2, r3 8054110: 4623 mov r3, r4 8054112: 80fb strh r3, [r7, #6] 8054114: 4603 mov r3, r0 8054116: 80bb strh r3, [r7, #4] 8054118: 460b mov r3, r1 805411a: 807b strh r3, [r7, #2] 805411c: 4613 mov r3, r2 805411e: 803b strh r3, [r7, #0] uint32_t x_address = 0; 8054120: 2300 movs r3, #0 8054122: 60fb str r3, [r7, #12] /* Set the text color */ BSP_LCD_SetTextColor(DrawProp[ActiveLayer].TextColor); 8054124: 4b30 ldr r3, [pc, #192] ; (80541e8 ) 8054126: 681a ldr r2, [r3, #0] 8054128: 4930 ldr r1, [pc, #192] ; (80541ec ) 805412a: 4613 mov r3, r2 805412c: 005b lsls r3, r3, #1 805412e: 4413 add r3, r2 8054130: 009b lsls r3, r3, #2 8054132: 440b add r3, r1 8054134: 681b ldr r3, [r3, #0] 8054136: 4618 mov r0, r3 8054138: f7ff fb78 bl 805382c /* Get the rectangle start address */ if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 805413c: 4b2a ldr r3, [pc, #168] ; (80541e8 ) 805413e: 681b ldr r3, [r3, #0] 8054140: 4a2b ldr r2, [pc, #172] ; (80541f0 ) 8054142: 2134 movs r1, #52 ; 0x34 8054144: fb01 f303 mul.w r3, r1, r3 8054148: 4413 add r3, r2 805414a: 3348 adds r3, #72 ; 0x48 805414c: 681b ldr r3, [r3, #0] 805414e: 2b02 cmp r3, #2 8054150: d114 bne.n 805417c { /* RGB565 format */ x_address = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 2*(BSP_LCD_GetXSize()*Ypos + Xpos); 8054152: 4b25 ldr r3, [pc, #148] ; (80541e8 ) 8054154: 681b ldr r3, [r3, #0] 8054156: 4a26 ldr r2, [pc, #152] ; (80541f0 ) 8054158: 2134 movs r1, #52 ; 0x34 805415a: fb01 f303 mul.w r3, r1, r3 805415e: 4413 add r3, r2 8054160: 335c adds r3, #92 ; 0x5c 8054162: 681c ldr r4, [r3, #0] 8054164: f7ff fa8e bl 8053684 8054168: 4602 mov r2, r0 805416a: 88bb ldrh r3, [r7, #4] 805416c: fb03 f202 mul.w r2, r3, r2 8054170: 88fb ldrh r3, [r7, #6] 8054172: 4413 add r3, r2 8054174: 005b lsls r3, r3, #1 8054176: 4423 add r3, r4 8054178: 60fb str r3, [r7, #12] 805417a: e013 b.n 80541a4 } else { /* ARGB8888 format */ x_address = (hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress) + 4*(BSP_LCD_GetXSize()*Ypos + Xpos); 805417c: 4b1a ldr r3, [pc, #104] ; (80541e8 ) 805417e: 681b ldr r3, [r3, #0] 8054180: 4a1b ldr r2, [pc, #108] ; (80541f0 ) 8054182: 2134 movs r1, #52 ; 0x34 8054184: fb01 f303 mul.w r3, r1, r3 8054188: 4413 add r3, r2 805418a: 335c adds r3, #92 ; 0x5c 805418c: 681c ldr r4, [r3, #0] 805418e: f7ff fa79 bl 8053684 8054192: 4602 mov r2, r0 8054194: 88bb ldrh r3, [r7, #4] 8054196: fb03 f202 mul.w r2, r3, r2 805419a: 88fb ldrh r3, [r7, #6] 805419c: 4413 add r3, r2 805419e: 009b lsls r3, r3, #2 80541a0: 4423 add r3, r4 80541a2: 60fb str r3, [r7, #12] } /* Fill the rectangle */ LL_FillBuffer(ActiveLayer, (uint32_t *)x_address, Width, Height, (BSP_LCD_GetXSize() - Width), DrawProp[ActiveLayer].TextColor); 80541a4: 4b10 ldr r3, [pc, #64] ; (80541e8 ) 80541a6: 681c ldr r4, [r3, #0] 80541a8: 68fd ldr r5, [r7, #12] 80541aa: 887e ldrh r6, [r7, #2] 80541ac: f8b7 8000 ldrh.w r8, [r7] 80541b0: f7ff fa68 bl 8053684 80541b4: 4602 mov r2, r0 80541b6: 887b ldrh r3, [r7, #2] 80541b8: 1ad1 subs r1, r2, r3 80541ba: 4b0b ldr r3, [pc, #44] ; (80541e8 ) 80541bc: 681a ldr r2, [r3, #0] 80541be: 480b ldr r0, [pc, #44] ; (80541ec ) 80541c0: 4613 mov r3, r2 80541c2: 005b lsls r3, r3, #1 80541c4: 4413 add r3, r2 80541c6: 009b lsls r3, r3, #2 80541c8: 4403 add r3, r0 80541ca: 681b ldr r3, [r3, #0] 80541cc: 9301 str r3, [sp, #4] 80541ce: 9100 str r1, [sp, #0] 80541d0: 4643 mov r3, r8 80541d2: 4632 mov r2, r6 80541d4: 4629 mov r1, r5 80541d6: 4620 mov r0, r4 80541d8: f000 f9ac bl 8054534 } 80541dc: bf00 nop 80541de: 3710 adds r7, #16 80541e0: 46bd mov sp, r7 80541e2: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80541e6: bf00 nop 80541e8: 20020078 .word 0x20020078 80541ec: 20020fe4 .word 0x20020fe4 80541f0: 20025d28 .word 0x20025d28 080541f4 : * @param Ypos: Y position * @param Radius: Circle radius * @retval None */ void BSP_LCD_FillCircle(uint16_t Xpos, uint16_t Ypos, uint16_t Radius) { 80541f4: b580 push {r7, lr} 80541f6: b086 sub sp, #24 80541f8: af00 add r7, sp, #0 80541fa: 4603 mov r3, r0 80541fc: 80fb strh r3, [r7, #6] 80541fe: 460b mov r3, r1 8054200: 80bb strh r3, [r7, #4] 8054202: 4613 mov r3, r2 8054204: 807b strh r3, [r7, #2] int32_t decision; /* Decision Variable */ uint32_t current_x; /* Current X Value */ uint32_t current_y; /* Current Y Value */ decision = 3 - (Radius << 1); 8054206: 887b ldrh r3, [r7, #2] 8054208: 005b lsls r3, r3, #1 805420a: f1c3 0303 rsb r3, r3, #3 805420e: 617b str r3, [r7, #20] current_x = 0; 8054210: 2300 movs r3, #0 8054212: 613b str r3, [r7, #16] current_y = Radius; 8054214: 887b ldrh r3, [r7, #2] 8054216: 60fb str r3, [r7, #12] BSP_LCD_SetTextColor(DrawProp[ActiveLayer].TextColor); 8054218: 4b44 ldr r3, [pc, #272] ; (805432c ) 805421a: 681a ldr r2, [r3, #0] 805421c: 4944 ldr r1, [pc, #272] ; (8054330 ) 805421e: 4613 mov r3, r2 8054220: 005b lsls r3, r3, #1 8054222: 4413 add r3, r2 8054224: 009b lsls r3, r3, #2 8054226: 440b add r3, r1 8054228: 681b ldr r3, [r3, #0] 805422a: 4618 mov r0, r3 805422c: f7ff fafe bl 805382c while (current_x <= current_y) 8054230: e061 b.n 80542f6 { if(current_y > 0) 8054232: 68fb ldr r3, [r7, #12] 8054234: 2b00 cmp r3, #0 8054236: d021 beq.n 805427c { BSP_LCD_DrawHLine(Xpos - current_y, Ypos + current_x, 2*current_y); 8054238: 68fb ldr r3, [r7, #12] 805423a: b29b uxth r3, r3 805423c: 88fa ldrh r2, [r7, #6] 805423e: 1ad3 subs r3, r2, r3 8054240: b298 uxth r0, r3 8054242: 693b ldr r3, [r7, #16] 8054244: b29a uxth r2, r3 8054246: 88bb ldrh r3, [r7, #4] 8054248: 4413 add r3, r2 805424a: b299 uxth r1, r3 805424c: 68fb ldr r3, [r7, #12] 805424e: b29b uxth r3, r3 8054250: 005b lsls r3, r3, #1 8054252: b29b uxth r3, r3 8054254: 461a mov r2, r3 8054256: f7ff fc3f bl 8053ad8 BSP_LCD_DrawHLine(Xpos - current_y, Ypos - current_x, 2*current_y); 805425a: 68fb ldr r3, [r7, #12] 805425c: b29b uxth r3, r3 805425e: 88fa ldrh r2, [r7, #6] 8054260: 1ad3 subs r3, r2, r3 8054262: b298 uxth r0, r3 8054264: 693b ldr r3, [r7, #16] 8054266: b29b uxth r3, r3 8054268: 88ba ldrh r2, [r7, #4] 805426a: 1ad3 subs r3, r2, r3 805426c: b299 uxth r1, r3 805426e: 68fb ldr r3, [r7, #12] 8054270: b29b uxth r3, r3 8054272: 005b lsls r3, r3, #1 8054274: b29b uxth r3, r3 8054276: 461a mov r2, r3 8054278: f7ff fc2e bl 8053ad8 } if(current_x > 0) 805427c: 693b ldr r3, [r7, #16] 805427e: 2b00 cmp r3, #0 8054280: d021 beq.n 80542c6 { BSP_LCD_DrawHLine(Xpos - current_x, Ypos - current_y, 2*current_x); 8054282: 693b ldr r3, [r7, #16] 8054284: b29b uxth r3, r3 8054286: 88fa ldrh r2, [r7, #6] 8054288: 1ad3 subs r3, r2, r3 805428a: b298 uxth r0, r3 805428c: 68fb ldr r3, [r7, #12] 805428e: b29b uxth r3, r3 8054290: 88ba ldrh r2, [r7, #4] 8054292: 1ad3 subs r3, r2, r3 8054294: b299 uxth r1, r3 8054296: 693b ldr r3, [r7, #16] 8054298: b29b uxth r3, r3 805429a: 005b lsls r3, r3, #1 805429c: b29b uxth r3, r3 805429e: 461a mov r2, r3 80542a0: f7ff fc1a bl 8053ad8 BSP_LCD_DrawHLine(Xpos - current_x, Ypos + current_y, 2*current_x); 80542a4: 693b ldr r3, [r7, #16] 80542a6: b29b uxth r3, r3 80542a8: 88fa ldrh r2, [r7, #6] 80542aa: 1ad3 subs r3, r2, r3 80542ac: b298 uxth r0, r3 80542ae: 68fb ldr r3, [r7, #12] 80542b0: b29a uxth r2, r3 80542b2: 88bb ldrh r3, [r7, #4] 80542b4: 4413 add r3, r2 80542b6: b299 uxth r1, r3 80542b8: 693b ldr r3, [r7, #16] 80542ba: b29b uxth r3, r3 80542bc: 005b lsls r3, r3, #1 80542be: b29b uxth r3, r3 80542c0: 461a mov r2, r3 80542c2: f7ff fc09 bl 8053ad8 } if (decision < 0) 80542c6: 697b ldr r3, [r7, #20] 80542c8: 2b00 cmp r3, #0 80542ca: da06 bge.n 80542da { decision += (current_x << 2) + 6; 80542cc: 693b ldr r3, [r7, #16] 80542ce: 009a lsls r2, r3, #2 80542d0: 697b ldr r3, [r7, #20] 80542d2: 4413 add r3, r2 80542d4: 3306 adds r3, #6 80542d6: 617b str r3, [r7, #20] 80542d8: e00a b.n 80542f0 } else { decision += ((current_x - current_y) << 2) + 10; 80542da: 693a ldr r2, [r7, #16] 80542dc: 68fb ldr r3, [r7, #12] 80542de: 1ad3 subs r3, r2, r3 80542e0: 009a lsls r2, r3, #2 80542e2: 697b ldr r3, [r7, #20] 80542e4: 4413 add r3, r2 80542e6: 330a adds r3, #10 80542e8: 617b str r3, [r7, #20] current_y--; 80542ea: 68fb ldr r3, [r7, #12] 80542ec: 3b01 subs r3, #1 80542ee: 60fb str r3, [r7, #12] } current_x++; 80542f0: 693b ldr r3, [r7, #16] 80542f2: 3301 adds r3, #1 80542f4: 613b str r3, [r7, #16] while (current_x <= current_y) 80542f6: 693a ldr r2, [r7, #16] 80542f8: 68fb ldr r3, [r7, #12] 80542fa: 429a cmp r2, r3 80542fc: d999 bls.n 8054232 } BSP_LCD_SetTextColor(DrawProp[ActiveLayer].TextColor); 80542fe: 4b0b ldr r3, [pc, #44] ; (805432c ) 8054300: 681a ldr r2, [r3, #0] 8054302: 490b ldr r1, [pc, #44] ; (8054330 ) 8054304: 4613 mov r3, r2 8054306: 005b lsls r3, r3, #1 8054308: 4413 add r3, r2 805430a: 009b lsls r3, r3, #2 805430c: 440b add r3, r1 805430e: 681b ldr r3, [r3, #0] 8054310: 4618 mov r0, r3 8054312: f7ff fa8b bl 805382c BSP_LCD_DrawCircle(Xpos, Ypos, Radius); 8054316: 887a ldrh r2, [r7, #2] 8054318: 88b9 ldrh r1, [r7, #4] 805431a: 88fb ldrh r3, [r7, #6] 805431c: 4618 mov r0, r3 805431e: f7ff fd9b bl 8053e58 } 8054322: bf00 nop 8054324: 3718 adds r7, #24 8054326: 46bd mov sp, r7 8054328: bd80 pop {r7, pc} 805432a: bf00 nop 805432c: 20020078 .word 0x20020078 8054330: 20020fe4 .word 0x20020fe4 08054334 : while (y <= 0); } void LCD_DisplayString(uint16_t X, uint16_t Line, char *ptr) { 8054334: b580 push {r7, lr} 8054336: b082 sub sp, #8 8054338: af00 add r7, sp, #0 805433a: 4603 mov r3, r0 805433c: 603a str r2, [r7, #0] 805433e: 80fb strh r3, [r7, #6] 8054340: 460b mov r3, r1 8054342: 80bb strh r3, [r7, #4] BSP_LCD_SetFont(&Font15); 8054344: 4806 ldr r0, [pc, #24] ; (8054360 ) 8054346: f7ff fa89 bl 805385c BSP_LCD_DisplayStringAt(X, Line, ptr, LEFT_MODE); 805434a: 88b9 ldrh r1, [r7, #4] 805434c: 88f8 ldrh r0, [r7, #6] 805434e: 2303 movs r3, #3 8054350: 683a ldr r2, [r7, #0] 8054352: f7ff fb0d bl 8053970 { LCD_DisplayChar(Line, refcolumn, *ptr); refcolumn -= 12; ptr++; }*/ } 8054356: bf00 nop 8054358: 3708 adds r7, #8 805435a: 46bd mov sp, r7 805435c: bd80 pop {r7, pc} 805435e: bf00 nop 8054360: 20020040 .word 0x20020040 08054364 : void LCD_DisplayStringC(uint16_t X, uint16_t Y, char *ptr) { 8054364: b580 push {r7, lr} 8054366: b082 sub sp, #8 8054368: af00 add r7, sp, #0 805436a: 4603 mov r3, r0 805436c: 603a str r2, [r7, #0] 805436e: 80fb strh r3, [r7, #6] 8054370: 460b mov r3, r1 8054372: 80bb strh r3, [r7, #4] BSP_LCD_SetFont(&Font15); 8054374: 4806 ldr r0, [pc, #24] ; (8054390 ) 8054376: f7ff fa71 bl 805385c BSP_LCD_DisplayStringAt(X, Y, ptr, CENTER_MODE); 805437a: 88b9 ldrh r1, [r7, #4] 805437c: 88f8 ldrh r0, [r7, #6] 805437e: 2301 movs r3, #1 8054380: 683a ldr r2, [r7, #0] 8054382: f7ff faf5 bl 8053970 { LCD_DisplayChar(Y, refcolumn, *ptr); refcolumn -= 12; ptr++; }*/ } 8054386: bf00 nop 8054388: 3708 adds r7, #8 805438a: 46bd mov sp, r7 805438c: bd80 pop {r7, pc} 805438e: bf00 nop 8054390: 20020040 .word 0x20020040 08054394 : void LCD_DisplayStringR(uint16_t X, uint16_t Y, char *ptr) { 8054394: b580 push {r7, lr} 8054396: b082 sub sp, #8 8054398: af00 add r7, sp, #0 805439a: 4603 mov r3, r0 805439c: 603a str r2, [r7, #0] 805439e: 80fb strh r3, [r7, #6] 80543a0: 460b mov r3, r1 80543a2: 80bb strh r3, [r7, #4] BSP_LCD_SetFont(&Font15); 80543a4: 4806 ldr r0, [pc, #24] ; (80543c0 ) 80543a6: f7ff fa59 bl 805385c BSP_LCD_DisplayStringAt(X, Y, ptr, RIGHT_MODE); 80543aa: 88b9 ldrh r1, [r7, #4] 80543ac: 88f8 ldrh r0, [r7, #6] 80543ae: 2302 movs r3, #2 80543b0: 683a ldr r2, [r7, #0] 80543b2: f7ff fadd bl 8053970 { LCD_DisplayChar(Y, refcolumn, *ptr); refcolumn -= 12; ptr++; }*/ } 80543b6: bf00 nop 80543b8: 3708 adds r7, #8 80543ba: 46bd mov sp, r7 80543bc: bd80 pop {r7, pc} 80543be: bf00 nop 80543c0: 20020040 .word 0x20020040 080543c4 : * @param Ypos: Start column address * @param c: Pointer to the character data * @retval None */ static void DrawChar(uint16_t Xpos, uint16_t Ypos, const uint8_t *c) { 80543c4: b580 push {r7, lr} 80543c6: b088 sub sp, #32 80543c8: af00 add r7, sp, #0 80543ca: 4603 mov r3, r0 80543cc: 603a str r2, [r7, #0] 80543ce: 80fb strh r3, [r7, #6] 80543d0: 460b mov r3, r1 80543d2: 80bb strh r3, [r7, #4] uint32_t i = 0, j = 0; 80543d4: 2300 movs r3, #0 80543d6: 61fb str r3, [r7, #28] 80543d8: 2300 movs r3, #0 80543da: 61bb str r3, [r7, #24] uint8_t offset; uint8_t *pchar; uint32_t line; //uint16_t b; height = DrawProp[ActiveLayer].pFont->Height; 80543dc: 4b53 ldr r3, [pc, #332] ; (805452c ) 80543de: 681a ldr r2, [r3, #0] 80543e0: 4953 ldr r1, [pc, #332] ; (8054530 ) 80543e2: 4613 mov r3, r2 80543e4: 005b lsls r3, r3, #1 80543e6: 4413 add r3, r2 80543e8: 009b lsls r3, r3, #2 80543ea: 440b add r3, r1 80543ec: 3308 adds r3, #8 80543ee: 681b ldr r3, [r3, #0] 80543f0: 88db ldrh r3, [r3, #6] 80543f2: 827b strh r3, [r7, #18] width = DrawProp[ActiveLayer].pFont->Width; 80543f4: 4b4d ldr r3, [pc, #308] ; (805452c ) 80543f6: 681a ldr r2, [r3, #0] 80543f8: 494d ldr r1, [pc, #308] ; (8054530 ) 80543fa: 4613 mov r3, r2 80543fc: 005b lsls r3, r3, #1 80543fe: 4413 add r3, r2 8054400: 009b lsls r3, r3, #2 8054402: 440b add r3, r1 8054404: 3308 adds r3, #8 8054406: 681b ldr r3, [r3, #0] 8054408: 889b ldrh r3, [r3, #4] 805440a: 823b strh r3, [r7, #16] offset = 8 *((width + 7)/8) - width ; 805440c: 8a3b ldrh r3, [r7, #16] 805440e: 3307 adds r3, #7 8054410: 2b00 cmp r3, #0 8054412: da00 bge.n 8054416 8054414: 3307 adds r3, #7 8054416: 10db asrs r3, r3, #3 8054418: b2db uxtb r3, r3 805441a: 00db lsls r3, r3, #3 805441c: b2da uxtb r2, r3 805441e: 8a3b ldrh r3, [r7, #16] 8054420: b2db uxtb r3, r3 8054422: 1ad3 subs r3, r2, r3 8054424: 73fb strb r3, [r7, #15] for(i = 0; i < height; i++) 8054426: 2300 movs r3, #0 8054428: 61fb str r3, [r7, #28] 805442a: e076 b.n 805451a { pchar = ((uint8_t *)c + (width + 7)/8 * i); 805442c: 8a3b ldrh r3, [r7, #16] 805442e: 3307 adds r3, #7 8054430: 2b00 cmp r3, #0 8054432: da00 bge.n 8054436 8054434: 3307 adds r3, #7 8054436: 10db asrs r3, r3, #3 8054438: 461a mov r2, r3 805443a: 69fb ldr r3, [r7, #28] 805443c: fb03 f302 mul.w r3, r3, r2 8054440: 683a ldr r2, [r7, #0] 8054442: 4413 add r3, r2 8054444: 60bb str r3, [r7, #8] switch(((width + 7)/8)) 8054446: 8a3b ldrh r3, [r7, #16] 8054448: 3307 adds r3, #7 805444a: 2b00 cmp r3, #0 805444c: da00 bge.n 8054450 805444e: 3307 adds r3, #7 8054450: 10db asrs r3, r3, #3 8054452: 2b01 cmp r3, #1 8054454: d002 beq.n 805445c 8054456: 2b02 cmp r3, #2 8054458: d004 beq.n 8054464 805445a: e00c b.n 8054476 { case 1: line = pchar[0]; 805445c: 68bb ldr r3, [r7, #8] 805445e: 781b ldrb r3, [r3, #0] 8054460: 617b str r3, [r7, #20] break; 8054462: e016 b.n 8054492 case 2: line = (pchar[0]<< 8) | pchar[1]; 8054464: 68bb ldr r3, [r7, #8] 8054466: 781b ldrb r3, [r3, #0] 8054468: 021b lsls r3, r3, #8 805446a: 68ba ldr r2, [r7, #8] 805446c: 3201 adds r2, #1 805446e: 7812 ldrb r2, [r2, #0] 8054470: 4313 orrs r3, r2 8054472: 617b str r3, [r7, #20] break; 8054474: e00d b.n 8054492 case 3: default: line = (pchar[0]<< 16) | (pchar[1]<< 8) | pchar[2]; 8054476: 68bb ldr r3, [r7, #8] 8054478: 781b ldrb r3, [r3, #0] 805447a: 041a lsls r2, r3, #16 805447c: 68bb ldr r3, [r7, #8] 805447e: 3301 adds r3, #1 8054480: 781b ldrb r3, [r3, #0] 8054482: 021b lsls r3, r3, #8 8054484: 4313 orrs r3, r2 8054486: 68ba ldr r2, [r7, #8] 8054488: 3202 adds r2, #2 805448a: 7812 ldrb r2, [r2, #0] 805448c: 4313 orrs r3, r2 805448e: 617b str r3, [r7, #20] break; 8054490: bf00 nop } for (j = 0; j < width; j++) 8054492: 2300 movs r3, #0 8054494: 61bb str r3, [r7, #24] 8054496: e036 b.n 8054506 { if(line & (1 << (width- j + offset- 1))) 8054498: 8a3a ldrh r2, [r7, #16] 805449a: 69bb ldr r3, [r7, #24] 805449c: 1ad2 subs r2, r2, r3 805449e: 7bfb ldrb r3, [r7, #15] 80544a0: 4413 add r3, r2 80544a2: 3b01 subs r3, #1 80544a4: 2201 movs r2, #1 80544a6: fa02 f303 lsl.w r3, r2, r3 80544aa: 461a mov r2, r3 80544ac: 697b ldr r3, [r7, #20] 80544ae: 4013 ands r3, r2 80544b0: 2b00 cmp r3, #0 80544b2: d012 beq.n 80544da { BSP_LCD_DrawPixel((Xpos + j), Ypos, DrawProp[ActiveLayer].TextColor); 80544b4: 69bb ldr r3, [r7, #24] 80544b6: b29a uxth r2, r3 80544b8: 88fb ldrh r3, [r7, #6] 80544ba: 4413 add r3, r2 80544bc: b298 uxth r0, r3 80544be: 4b1b ldr r3, [pc, #108] ; (805452c ) 80544c0: 681a ldr r2, [r3, #0] 80544c2: 491b ldr r1, [pc, #108] ; (8054530 ) 80544c4: 4613 mov r3, r2 80544c6: 005b lsls r3, r3, #1 80544c8: 4413 add r3, r2 80544ca: 009b lsls r3, r3, #2 80544cc: 440b add r3, r1 80544ce: 681a ldr r2, [r3, #0] 80544d0: 88bb ldrh r3, [r7, #4] 80544d2: 4619 mov r1, r3 80544d4: f7ff fdb0 bl 8054038 80544d8: e012 b.n 8054500 } else { BSP_LCD_DrawPixel((Xpos + j), Ypos, DrawProp[ActiveLayer].BackColor); 80544da: 69bb ldr r3, [r7, #24] 80544dc: b29a uxth r2, r3 80544de: 88fb ldrh r3, [r7, #6] 80544e0: 4413 add r3, r2 80544e2: b298 uxth r0, r3 80544e4: 4b11 ldr r3, [pc, #68] ; (805452c ) 80544e6: 681a ldr r2, [r3, #0] 80544e8: 4911 ldr r1, [pc, #68] ; (8054530 ) 80544ea: 4613 mov r3, r2 80544ec: 005b lsls r3, r3, #1 80544ee: 4413 add r3, r2 80544f0: 009b lsls r3, r3, #2 80544f2: 440b add r3, r1 80544f4: 3304 adds r3, #4 80544f6: 681a ldr r2, [r3, #0] 80544f8: 88bb ldrh r3, [r7, #4] 80544fa: 4619 mov r1, r3 80544fc: f7ff fd9c bl 8054038 for (j = 0; j < width; j++) 8054500: 69bb ldr r3, [r7, #24] 8054502: 3301 adds r3, #1 8054504: 61bb str r3, [r7, #24] 8054506: 8a3a ldrh r2, [r7, #16] 8054508: 69bb ldr r3, [r7, #24] 805450a: 429a cmp r2, r3 805450c: d8c4 bhi.n 8054498 } } Ypos++; 805450e: 88bb ldrh r3, [r7, #4] 8054510: 3301 adds r3, #1 8054512: 80bb strh r3, [r7, #4] for(i = 0; i < height; i++) 8054514: 69fb ldr r3, [r7, #28] 8054516: 3301 adds r3, #1 8054518: 61fb str r3, [r7, #28] 805451a: 8a7a ldrh r2, [r7, #18] 805451c: 69fb ldr r3, [r7, #28] 805451e: 429a cmp r2, r3 8054520: d884 bhi.n 805442c } } 8054522: bf00 nop 8054524: 3720 adds r7, #32 8054526: 46bd mov sp, r7 8054528: bd80 pop {r7, pc} 805452a: bf00 nop 805452c: 20020078 .word 0x20020078 8054530: 20020fe4 .word 0x20020fe4 08054534 : * @param OffLine: Offset * @param ColorIndex: Color index * @retval None */ static void LL_FillBuffer(uint32_t LayerIndex, void *pDst, uint32_t xSize, uint32_t ySize, uint32_t OffLine, uint32_t ColorIndex) { 8054534: b580 push {r7, lr} 8054536: b086 sub sp, #24 8054538: af02 add r7, sp, #8 805453a: 60f8 str r0, [r7, #12] 805453c: 60b9 str r1, [r7, #8] 805453e: 607a str r2, [r7, #4] 8054540: 603b str r3, [r7, #0] /* Register to memory mode with ARGB8888 as color Mode */ hDma2dHandler.Init.Mode = DMA2D_R2M; 8054542: 4b1e ldr r3, [pc, #120] ; (80545bc ) 8054544: f44f 3240 mov.w r2, #196608 ; 0x30000 8054548: 605a str r2, [r3, #4] if(hLtdcHandler.LayerCfg[ActiveLayer].PixelFormat == LTDC_PIXEL_FORMAT_RGB565) 805454a: 4b1d ldr r3, [pc, #116] ; (80545c0 ) 805454c: 681b ldr r3, [r3, #0] 805454e: 4a1d ldr r2, [pc, #116] ; (80545c4 ) 8054550: 2134 movs r1, #52 ; 0x34 8054552: fb01 f303 mul.w r3, r1, r3 8054556: 4413 add r3, r2 8054558: 3348 adds r3, #72 ; 0x48 805455a: 681b ldr r3, [r3, #0] 805455c: 2b02 cmp r3, #2 805455e: d103 bne.n 8054568 hDma2dHandler.Init.ColorMode = DMA2D_RGB565; 8054560: 4b16 ldr r3, [pc, #88] ; (80545bc ) 8054562: 2202 movs r2, #2 8054564: 609a str r2, [r3, #8] 8054566: e002 b.n 805456e else hDma2dHandler.Init.ColorMode = DMA2D_ARGB8888; 8054568: 4b14 ldr r3, [pc, #80] ; (80545bc ) 805456a: 2200 movs r2, #0 805456c: 609a str r2, [r3, #8] hDma2dHandler.Init.OutputOffset = OffLine; 805456e: 4a13 ldr r2, [pc, #76] ; (80545bc ) 8054570: 69bb ldr r3, [r7, #24] 8054572: 60d3 str r3, [r2, #12] hDma2dHandler.Instance = DMA2D; 8054574: 4b11 ldr r3, [pc, #68] ; (80545bc ) 8054576: 4a14 ldr r2, [pc, #80] ; (80545c8 ) 8054578: 601a str r2, [r3, #0] if(HAL_DMA2D_Init(&hDma2dHandler) == HAL_OK) 805457a: 4810 ldr r0, [pc, #64] ; (80545bc ) 805457c: f060 fb10 bl 80b4ba0 8054580: 4603 mov r3, r0 8054582: 2b00 cmp r3, #0 8054584: d115 bne.n 80545b2 { if(HAL_DMA2D_ConfigLayer(&hDma2dHandler, LayerIndex) == HAL_OK) 8054586: 68f9 ldr r1, [r7, #12] 8054588: 480c ldr r0, [pc, #48] ; (80545bc ) 805458a: f060 fc77 bl 80b4e7c 805458e: 4603 mov r3, r0 8054590: 2b00 cmp r3, #0 8054592: d10e bne.n 80545b2 { if (HAL_DMA2D_Start(&hDma2dHandler, ColorIndex, (uint32_t)pDst, xSize, ySize) == HAL_OK) 8054594: 68ba ldr r2, [r7, #8] 8054596: 683b ldr r3, [r7, #0] 8054598: 9300 str r3, [sp, #0] 805459a: 687b ldr r3, [r7, #4] 805459c: 69f9 ldr r1, [r7, #28] 805459e: 4807 ldr r0, [pc, #28] ; (80545bc ) 80545a0: f060 fb58 bl 80b4c54 80545a4: 4603 mov r3, r0 80545a6: 2b00 cmp r3, #0 80545a8: d103 bne.n 80545b2 { HAL_DMA2D_PollForTransfer(&hDma2dHandler, 30); 80545aa: 211e movs r1, #30 80545ac: 4803 ldr r0, [pc, #12] ; (80545bc ) 80545ae: f060 fb7c bl 80b4caa } } } } 80545b2: bf00 nop 80545b4: 3710 adds r7, #16 80545b6: 46bd mov sp, r7 80545b8: bd80 pop {r7, pc} 80545ba: bf00 nop 80545bc: 20020f8c .word 0x20020f8c 80545c0: 20020078 .word 0x20020078 80545c4: 20025d28 .word 0x20025d28 80545c8: 4002b000 .word 0x4002b000 080545cc : } } void DrawImage(const GUI_BITMAP * pBM, uint16_t x0, uint16_t y0) { 80545cc: b580 push {r7, lr} 80545ce: b088 sub sp, #32 80545d0: af02 add r7, sp, #8 80545d2: 6078 str r0, [r7, #4] 80545d4: 460b mov r3, r1 80545d6: 807b strh r3, [r7, #2] 80545d8: 4613 mov r3, r2 80545da: 803b strh r3, [r7, #0] //HAL_StatusTypeDef hal_status = HAL_OK; uint32_t Xaddress = 0; 80545dc: 2300 movs r3, #0 80545de: 617b str r3, [r7, #20] uint8_t * p; uint16_t xSize = pBM->XSize; 80545e0: 687b ldr r3, [r7, #4] 80545e2: 881b ldrh r3, [r3, #0] 80545e4: 827b strh r3, [r7, #18] uint16_t ySize = pBM->YSize; 80545e6: 687b ldr r3, [r7, #4] 80545e8: 885b ldrh r3, [r3, #2] 80545ea: 823b strh r3, [r7, #16] //uint16_t BytesPerLine = pBM->BytesPerLine; p = (uint8_t *) pBM->pData; 80545ec: 687b ldr r3, [r7, #4] 80545ee: 689b ldr r3, [r3, #8] 80545f0: 60fb str r3, [r7, #12] Xaddress = hLtdcHandler.LayerCfg[ActiveLayer].FBStartAdress + ((320 * y0 + x0) << 1); 80545f2: 4b3a ldr r3, [pc, #232] ; (80546dc ) 80545f4: 681b ldr r3, [r3, #0] 80545f6: 4a3a ldr r2, [pc, #232] ; (80546e0 ) 80545f8: 2134 movs r1, #52 ; 0x34 80545fa: fb01 f303 mul.w r3, r1, r3 80545fe: 4413 add r3, r2 8054600: 335c adds r3, #92 ; 0x5c 8054602: 6819 ldr r1, [r3, #0] 8054604: 883a ldrh r2, [r7, #0] 8054606: 4613 mov r3, r2 8054608: 009b lsls r3, r3, #2 805460a: 4413 add r3, r2 805460c: 019b lsls r3, r3, #6 805460e: 461a mov r2, r3 8054610: 887b ldrh r3, [r7, #2] 8054612: 4413 add r3, r2 8054614: 005b lsls r3, r3, #1 8054616: 440b add r3, r1 8054618: 617b str r3, [r7, #20] hDma2dHandler.Init.Mode = DMA2D_M2M; 805461a: 4b32 ldr r3, [pc, #200] ; (80546e4 ) 805461c: 2200 movs r2, #0 805461e: 605a str r2, [r3, #4] hDma2dHandler.Init.ColorMode = DMA2D_RGB565; 8054620: 4b30 ldr r3, [pc, #192] ; (80546e4 ) 8054622: 2202 movs r2, #2 8054624: 609a str r2, [r3, #8] hDma2dHandler.Init.OutputOffset = 320 - xSize; 8054626: 8a7b ldrh r3, [r7, #18] 8054628: f5c3 73a0 rsb r3, r3, #320 ; 0x140 805462c: 461a mov r2, r3 805462e: 4b2d ldr r3, [pc, #180] ; (80546e4 ) 8054630: 60da str r2, [r3, #12] /* DMA2D Callbacks Configuration */ hDma2dHandler.XferCpltCallback = TransferComplete; 8054632: 4b2c ldr r3, [pc, #176] ; (80546e4 ) 8054634: 4a2c ldr r2, [pc, #176] ; (80546e8 ) 8054636: 619a str r2, [r3, #24] hDma2dHandler.XferErrorCallback = TransferError; 8054638: 4b2a ldr r3, [pc, #168] ; (80546e4 ) 805463a: 4a2c ldr r2, [pc, #176] ; (80546ec ) 805463c: 61da str r2, [r3, #28] /* Foreground layer Configuration : layer 1 */ hDma2dHandler.LayerCfg[ActiveLayer].AlphaMode = DMA2D_NO_MODIF_ALPHA; 805463e: 4b27 ldr r3, [pc, #156] ; (80546dc ) 8054640: 681a ldr r2, [r3, #0] 8054642: 4928 ldr r1, [pc, #160] ; (80546e4 ) 8054644: 4613 mov r3, r2 8054646: 005b lsls r3, r3, #1 8054648: 4413 add r3, r2 805464a: 00db lsls r3, r3, #3 805464c: 440b add r3, r1 805464e: 3328 adds r3, #40 ; 0x28 8054650: 2200 movs r2, #0 8054652: 601a str r2, [r3, #0] hDma2dHandler.LayerCfg[ActiveLayer].InputAlpha = 255; /* Alpha fully opaque */ 8054654: 4b21 ldr r3, [pc, #132] ; (80546dc ) 8054656: 681a ldr r2, [r3, #0] 8054658: 4922 ldr r1, [pc, #136] ; (80546e4 ) 805465a: 4613 mov r3, r2 805465c: 005b lsls r3, r3, #1 805465e: 4413 add r3, r2 8054660: 00db lsls r3, r3, #3 8054662: 440b add r3, r1 8054664: 332c adds r3, #44 ; 0x2c 8054666: 22ff movs r2, #255 ; 0xff 8054668: 601a str r2, [r3, #0] hDma2dHandler.LayerCfg[ActiveLayer].InputColorMode = DMA2D_INPUT_RGB565; /* Layer 1 input format is ARGB8888 (32 bpp) */ 805466a: 4b1c ldr r3, [pc, #112] ; (80546dc ) 805466c: 681a ldr r2, [r3, #0] 805466e: 491d ldr r1, [pc, #116] ; (80546e4 ) 8054670: 4613 mov r3, r2 8054672: 005b lsls r3, r3, #1 8054674: 4413 add r3, r2 8054676: 00db lsls r3, r3, #3 8054678: 440b add r3, r1 805467a: 3324 adds r3, #36 ; 0x24 805467c: 2202 movs r2, #2 805467e: 601a str r2, [r3, #0] hDma2dHandler.LayerCfg[ActiveLayer].InputOffset = 0; /* No offset in input */ 8054680: 4b16 ldr r3, [pc, #88] ; (80546dc ) 8054682: 681a ldr r2, [r3, #0] 8054684: 4917 ldr r1, [pc, #92] ; (80546e4 ) 8054686: 4613 mov r3, r2 8054688: 005b lsls r3, r3, #1 805468a: 4413 add r3, r2 805468c: 00db lsls r3, r3, #3 805468e: 440b add r3, r1 8054690: 3320 adds r3, #32 8054692: 2200 movs r2, #0 8054694: 601a str r2, [r3, #0] hDma2dHandler.Instance = DMA2D; 8054696: 4b13 ldr r3, [pc, #76] ; (80546e4 ) 8054698: 4a15 ldr r2, [pc, #84] ; (80546f0 ) 805469a: 601a str r2, [r3, #0] /* DMA2D Initialization */ HAL_DMA2D_Init(&hDma2dHandler); 805469c: 4811 ldr r0, [pc, #68] ; (80546e4 ) 805469e: f060 fa7f bl 80b4ba0 HAL_DMA2D_ConfigLayer(&hDma2dHandler, ActiveLayer); 80546a2: 4b0e ldr r3, [pc, #56] ; (80546dc ) 80546a4: 681b ldr r3, [r3, #0] 80546a6: 4619 mov r1, r3 80546a8: 480e ldr r0, [pc, #56] ; (80546e4 ) 80546aa: f060 fbe7 bl 80b4e7c DMA2D_TransferOk = 0; 80546ae: 4b11 ldr r3, [pc, #68] ; (80546f4 ) 80546b0: 2200 movs r2, #0 80546b2: 601a str r2, [r3, #0] HAL_DMA2D_Start(&hDma2dHandler, (uint32_t) p, Xaddress, xSize, ySize); 80546b4: 68f9 ldr r1, [r7, #12] 80546b6: 8a7a ldrh r2, [r7, #18] 80546b8: 8a3b ldrh r3, [r7, #16] 80546ba: 9300 str r3, [sp, #0] 80546bc: 4613 mov r3, r2 80546be: 697a ldr r2, [r7, #20] 80546c0: 4808 ldr r0, [pc, #32] ; (80546e4 ) 80546c2: f060 fac7 bl 80b4c54 HAL_DMA2D_PollForTransfer(&hDma2dHandler, 30); 80546c6: 211e movs r1, #30 80546c8: 4806 ldr r0, [pc, #24] ; (80546e4 ) 80546ca: f060 faee bl 80b4caa SCB_CleanInvalidateDCache(); 80546ce: f7fe fd7f bl 80531d0 } 80546d2: bf00 nop 80546d4: 3718 adds r7, #24 80546d6: 46bd mov sp, r7 80546d8: bd80 pop {r7, pc} 80546da: bf00 nop 80546dc: 20020078 .word 0x20020078 80546e0: 20025d28 .word 0x20025d28 80546e4: 20020f8c .word 0x20020f8c 80546e8: 080546f9 .word 0x080546f9 80546ec: 08054719 .word 0x08054719 80546f0: 4002b000 .word 0x4002b000 80546f4: 2002007c .word 0x2002007c 080546f8 : static void TransferComplete(DMA2D_HandleTypeDef *hdma2d) { 80546f8: b480 push {r7} 80546fa: b083 sub sp, #12 80546fc: af00 add r7, sp, #0 80546fe: 6078 str r0, [r7, #4] DMA2D_TransferOk = 1; 8054700: 4b04 ldr r3, [pc, #16] ; (8054714 ) 8054702: 2201 movs r2, #1 8054704: 601a str r2, [r3, #0] } 8054706: bf00 nop 8054708: 370c adds r7, #12 805470a: 46bd mov sp, r7 805470c: f85d 7b04 ldr.w r7, [sp], #4 8054710: 4770 bx lr 8054712: bf00 nop 8054714: 2002007c .word 0x2002007c 08054718 : static void TransferError(DMA2D_HandleTypeDef *hdma2d) { 8054718: b480 push {r7} 805471a: b083 sub sp, #12 805471c: af00 add r7, sp, #0 805471e: 6078 str r0, [r7, #4] } 8054720: bf00 nop 8054722: 370c adds r7, #12 8054724: 46bd mov sp, r7 8054726: f85d 7b04 ldr.w r7, [sp], #4 805472a: 4770 bx lr 0805472c : void LCD_Refresh(void) { 805472c: b580 push {r7, lr} 805472e: af00 add r7, sp, #0 ActiveLayer ^= 1; 8054730: 4b0e ldr r3, [pc, #56] ; (805476c ) 8054732: 681b ldr r3, [r3, #0] 8054734: f083 0301 eor.w r3, r3, #1 8054738: 4a0c ldr r2, [pc, #48] ; (805476c ) 805473a: 6013 str r3, [r2, #0] RenderingLayer ^= 1; 805473c: 4b0c ldr r3, [pc, #48] ; (8054770 ) 805473e: 681b ldr r3, [r3, #0] 8054740: f083 0301 eor.w r3, r3, #1 8054744: 4a0a ldr r2, [pc, #40] ; (8054770 ) 8054746: 6013 str r3, [r2, #0] BSP_LCD_SetLayerVisible_NoReload(ActiveLayer, DISABLE); 8054748: 4b08 ldr r3, [pc, #32] ; (805476c ) 805474a: 681b ldr r3, [r3, #0] 805474c: 2100 movs r1, #0 805474e: 4618 mov r0, r3 8054750: f7ff f810 bl 8053774 BSP_LCD_SetLayerVisible_NoReload(RenderingLayer, ENABLE); 8054754: 4b06 ldr r3, [pc, #24] ; (8054770 ) 8054756: 681b ldr r3, [r3, #0] 8054758: 2101 movs r1, #1 805475a: 4618 mov r0, r3 805475c: f7ff f80a bl 8053774 HAL_LTDC_Reload(&hLtdcHandler, LTDC_RELOAD_IMMEDIATE); 8054760: 2101 movs r1, #1 8054762: 4804 ldr r0, [pc, #16] ; (8054774 ) 8054764: f061 fc70 bl 80b6048 //BSP_LCD_Reload(LCD_RELOAD_VERTICAL_BLANKING); } 8054768: bf00 nop 805476a: bd80 pop {r7, pc} 805476c: 20020078 .word 0x20020078 8054770: 20020ffc .word 0x20020ffc 8054774: 20025d28 .word 0x20025d28 08054778 : void HAL_LTDC_LineEventCallback(LTDC_HandleTypeDef *hltdc) { 8054778: b580 push {r7, lr} 805477a: b082 sub sp, #8 805477c: af00 add r7, sp, #0 805477e: 6078 str r0, [r7, #4] if(RefreshScreen) 8054780: 4b06 ldr r3, [pc, #24] ; (805479c ) 8054782: 781b ldrb r3, [r3, #0] 8054784: b2db uxtb r3, r3 8054786: 2b00 cmp r3, #0 8054788: d004 beq.n 8054794 { LCD_Refresh(); 805478a: f7ff ffcf bl 805472c RefreshScreen = false; 805478e: 4b03 ldr r3, [pc, #12] ; (805479c ) 8054790: 2200 movs r2, #0 8054792: 701a strb r2, [r3, #0] } } 8054794: bf00 nop 8054796: 3708 adds r7, #8 8054798: 46bd mov sp, r7 805479a: bd80 pop {r7, pc} 805479c: 20021000 .word 0x20021000 080547a0 : { 80547a0: b480 push {r7} 80547a2: af00 add r7, sp, #0 __ASM volatile ("dsb 0xF":::"memory"); 80547a4: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80547a8: f3bf 8f6f isb sy SCB->ICIALLU = 0UL; /* invalidate I-Cache */ 80547ac: 4b0b ldr r3, [pc, #44] ; (80547dc ) 80547ae: 2200 movs r2, #0 80547b0: f8c3 2250 str.w r2, [r3, #592] ; 0x250 __ASM volatile ("dsb 0xF":::"memory"); 80547b4: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80547b8: f3bf 8f6f isb sy SCB->CCR |= (uint32_t)SCB_CCR_IC_Msk; /* enable I-Cache */ 80547bc: 4a07 ldr r2, [pc, #28] ; (80547dc ) 80547be: 4b07 ldr r3, [pc, #28] ; (80547dc ) 80547c0: 695b ldr r3, [r3, #20] 80547c2: f443 3300 orr.w r3, r3, #131072 ; 0x20000 80547c6: 6153 str r3, [r2, #20] __ASM volatile ("dsb 0xF":::"memory"); 80547c8: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80547cc: f3bf 8f6f isb sy } 80547d0: bf00 nop 80547d2: 46bd mov sp, r7 80547d4: f85d 7b04 ldr.w r7, [sp], #4 80547d8: 4770 bx lr 80547da: bf00 nop 80547dc: e000ed00 .word 0xe000ed00 080547e0 : { 80547e0: b480 push {r7} 80547e2: b085 sub sp, #20 80547e4: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 80547e6: 4b1d ldr r3, [pc, #116] ; (805485c ) 80547e8: 2200 movs r2, #0 80547ea: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 80547ee: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 80547f2: 4b1a ldr r3, [pc, #104] ; (805485c ) 80547f4: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80547f8: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 80547fa: 687b ldr r3, [r7, #4] 80547fc: 0b5b lsrs r3, r3, #13 80547fe: f3c3 030e ubfx r3, r3, #0, #15 8054802: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 8054804: 687b ldr r3, [r7, #4] 8054806: 08db lsrs r3, r3, #3 8054808: f3c3 0309 ubfx r3, r3, #0, #10 805480c: 60bb str r3, [r7, #8] SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | 805480e: 4913 ldr r1, [pc, #76] ; (805485c ) 8054810: 68fb ldr r3, [r7, #12] 8054812: 015a lsls r2, r3, #5 8054814: f643 73e0 movw r3, #16352 ; 0x3fe0 8054818: 4013 ands r3, r2 ((ways << SCB_DCISW_WAY_Pos) & SCB_DCISW_WAY_Msk) ); 805481a: 68ba ldr r2, [r7, #8] 805481c: 0792 lsls r2, r2, #30 SCB->DCISW = (((sets << SCB_DCISW_SET_Pos) & SCB_DCISW_SET_Msk) | 805481e: 4313 orrs r3, r2 8054820: f8c1 3260 str.w r3, [r1, #608] ; 0x260 } while (ways-- != 0U); 8054824: 68bb ldr r3, [r7, #8] 8054826: 1e5a subs r2, r3, #1 8054828: 60ba str r2, [r7, #8] 805482a: 2b00 cmp r3, #0 805482c: d1ef bne.n 805480e } while(sets-- != 0U); 805482e: 68fb ldr r3, [r7, #12] 8054830: 1e5a subs r2, r3, #1 8054832: 60fa str r2, [r7, #12] 8054834: 2b00 cmp r3, #0 8054836: d1e5 bne.n 8054804 8054838: f3bf 8f4f dsb sy SCB->CCR |= (uint32_t)SCB_CCR_DC_Msk; /* enable D-Cache */ 805483c: 4a07 ldr r2, [pc, #28] ; (805485c ) 805483e: 4b07 ldr r3, [pc, #28] ; (805485c ) 8054840: 695b ldr r3, [r3, #20] 8054842: f443 3380 orr.w r3, r3, #65536 ; 0x10000 8054846: 6153 str r3, [r2, #20] 8054848: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 805484c: f3bf 8f6f isb sy } 8054850: bf00 nop 8054852: 3714 adds r7, #20 8054854: 46bd mov sp, r7 8054856: f85d 7b04 ldr.w r7, [sp], #4 805485a: 4770 bx lr 805485c: e000ed00 .word 0xe000ed00 08054860 : { 8054860: b480 push {r7} 8054862: b085 sub sp, #20 8054864: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 8054866: 4b19 ldr r3, [pc, #100] ; (80548cc ) 8054868: 2200 movs r2, #0 805486a: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 805486e: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 8054872: 4b16 ldr r3, [pc, #88] ; (80548cc ) 8054874: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 8054878: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 805487a: 687b ldr r3, [r7, #4] 805487c: 0b5b lsrs r3, r3, #13 805487e: f3c3 030e ubfx r3, r3, #0, #15 8054882: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 8054884: 687b ldr r3, [r7, #4] 8054886: 08db lsrs r3, r3, #3 8054888: f3c3 0309 ubfx r3, r3, #0, #10 805488c: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 805488e: 490f ldr r1, [pc, #60] ; (80548cc ) 8054890: 68fb ldr r3, [r7, #12] 8054892: 015a lsls r2, r3, #5 8054894: f643 73e0 movw r3, #16352 ; 0x3fe0 8054898: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 805489a: 68ba ldr r2, [r7, #8] 805489c: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 805489e: 4313 orrs r3, r2 80548a0: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 80548a4: 68bb ldr r3, [r7, #8] 80548a6: 1e5a subs r2, r3, #1 80548a8: 60ba str r2, [r7, #8] 80548aa: 2b00 cmp r3, #0 80548ac: d1ef bne.n 805488e } while(sets-- != 0U); 80548ae: 68fb ldr r3, [r7, #12] 80548b0: 1e5a subs r2, r3, #1 80548b2: 60fa str r2, [r7, #12] 80548b4: 2b00 cmp r3, #0 80548b6: d1e5 bne.n 8054884 80548b8: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80548bc: f3bf 8f6f isb sy } 80548c0: bf00 nop 80548c2: 3714 adds r7, #20 80548c4: 46bd mov sp, r7 80548c6: f85d 7b04 ldr.w r7, [sp], #4 80548ca: 4770 bx lr 80548cc: e000ed00 .word 0xe000ed00 080548d0 : #define CLOCK_LSE (1) //#define CLOCK_LSI (1) static void MPU_Config(void) { 80548d0: b580 push {r7, lr} 80548d2: b084 sub sp, #16 80548d4: af00 add r7, sp, #0 MPU_Region_InitTypeDef MPU_InitStruct; HAL_MPU_Disable(); 80548d6: f05f fc6b bl 80b41b0 //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER0; 80548da: 2300 movs r3, #0 80548dc: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x20000000; 80548de: f04f 5300 mov.w r3, #536870912 ; 0x20000000 80548e2: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_512KB; 80548e4: 2312 movs r3, #18 80548e6: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 80548e8: 2303 movs r3, #3 80548ea: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_BUFFERABLE; 80548ec: 2301 movs r3, #1 80548ee: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 80548f0: 2301 movs r3, #1 80548f2: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; 80548f4: 2300 movs r3, #0 80548f6: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 80548f8: 2300 movs r3, #0 80548fa: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 80548fc: 2300 movs r3, #0 80548fe: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 8054900: 2301 movs r3, #1 8054902: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 8054904: 2300 movs r3, #0 8054906: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 8054908: 463b mov r3, r7 805490a: 4618 mov r0, r3 805490c: f05f fc84 bl 80b4218 //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER1; 8054910: 2301 movs r3, #1 8054912: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x20000000; 8054914: f04f 5300 mov.w r3, #536870912 ; 0x20000000 8054918: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_128KB; 805491a: 2310 movs r3, #16 805491c: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 805491e: 2303 movs r3, #3 8054920: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; 8054922: 2300 movs r3, #0 8054924: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 8054926: 2301 movs r3, #1 8054928: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_SHAREABLE; 805492a: 2301 movs r3, #1 805492c: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 805492e: 2300 movs r3, #0 8054930: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 8054932: 2300 movs r3, #0 8054934: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 8054936: 2301 movs r3, #1 8054938: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 805493a: 2300 movs r3, #0 805493c: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 805493e: 463b mov r3, r7 8054940: 4618 mov r0, r3 8054942: f05f fc69 bl 80b4218 //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER2; 8054946: 2302 movs r3, #2 8054948: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x2007C000; 805494a: 4b1d ldr r3, [pc, #116] ; (80549c0 ) 805494c: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_16KB; 805494e: 230d movs r3, #13 8054950: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 8054952: 2303 movs r3, #3 8054954: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; 8054956: 2300 movs r3, #0 8054958: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 805495a: 2301 movs r3, #1 805495c: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; 805495e: 2300 movs r3, #0 8054960: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 8054962: 2300 movs r3, #0 8054964: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 8054966: 2300 movs r3, #0 8054968: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 805496a: 2301 movs r3, #1 805496c: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 805496e: 2300 movs r3, #0 8054970: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 8054972: 463b mov r3, r7 8054974: 4618 mov r0, r3 8054976: f05f fc4f bl 80b4218 //***************************************************************** MPU_InitStruct.Number = MPU_REGION_NUMBER3; 805497a: 2303 movs r3, #3 805497c: 707b strb r3, [r7, #1] MPU_InitStruct.BaseAddress = 0x64000000; 805497e: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 8054982: 607b str r3, [r7, #4] MPU_InitStruct.Size = MPU_REGION_SIZE_2MB; 8054984: 2314 movs r3, #20 8054986: 723b strb r3, [r7, #8] MPU_InitStruct.AccessPermission = MPU_REGION_FULL_ACCESS; 8054988: 2303 movs r3, #3 805498a: 72fb strb r3, [r7, #11] MPU_InitStruct.IsBufferable = MPU_ACCESS_NOT_BUFFERABLE; 805498c: 2300 movs r3, #0 805498e: 73fb strb r3, [r7, #15] MPU_InitStruct.IsCacheable = MPU_ACCESS_CACHEABLE; 8054990: 2301 movs r3, #1 8054992: 73bb strb r3, [r7, #14] MPU_InitStruct.IsShareable = MPU_ACCESS_NOT_SHAREABLE; 8054994: 2300 movs r3, #0 8054996: 737b strb r3, [r7, #13] MPU_InitStruct.TypeExtField = MPU_TEX_LEVEL0; 8054998: 2300 movs r3, #0 805499a: 72bb strb r3, [r7, #10] MPU_InitStruct.DisableExec = MPU_INSTRUCTION_ACCESS_ENABLE; 805499c: 2300 movs r3, #0 805499e: 733b strb r3, [r7, #12] MPU_InitStruct.Enable = MPU_REGION_ENABLE; 80549a0: 2301 movs r3, #1 80549a2: 703b strb r3, [r7, #0] MPU_InitStruct.SubRegionDisable = 0x00; 80549a4: 2300 movs r3, #0 80549a6: 727b strb r3, [r7, #9] HAL_MPU_ConfigRegion(&MPU_InitStruct); 80549a8: 463b mov r3, r7 80549aa: 4618 mov r0, r3 80549ac: f05f fc34 bl 80b4218 //***************************************************************** HAL_MPU_Enable(MPU_PRIVILEGED_DEFAULT); 80549b0: 2004 movs r0, #4 80549b2: f05f fc13 bl 80b41dc } 80549b6: bf00 nop 80549b8: 3710 adds r7, #16 80549ba: 46bd mov sp, r7 80549bc: bd80 pop {r7, pc} 80549be: bf00 nop 80549c0: 2007c000 .word 0x2007c000 080549c4
: int main(void) { 80549c4: b580 push {r7, lr} 80549c6: b082 sub sp, #8 80549c8: af00 add r7, sp, #0 uint32_t cnt = 0, i, j, k, l; 80549ca: 2300 movs r3, #0 80549cc: 607b str r3, [r7, #4] MPU_Config(); 80549ce: f7ff ff7f bl 80548d0 SCB_EnableICache(); 80549d2: f7ff fee5 bl 80547a0 SCB_EnableDCache(); 80549d6: f7ff ff03 bl 80547e0 SCB->VTOR = (uint32_t) 0x08020000; 80549da: 4b8c ldr r3, [pc, #560] ; (8054c0c ) 80549dc: 4a8c ldr r2, [pc, #560] ; (8054c10 ) 80549de: 609a str r2, [r3, #8] __ASM volatile ("cpsie i" : : : "memory"); 80549e0: b662 cpsie i __enable_irq(); HAL_Init(); 80549e2: f05e fbe5 bl 80b31b0 80549e6: b662 cpsie i __enable_irq(); //HAL_Delay(250); SystemClock_Config(); 80549e8: f000 f982 bl 8054cf0 MX_GPIO_Init(); 80549ec: f7da fc56 bl 802f29c MX_DMA_Init(); 80549f0: f7cf f856 bl 8023aa0 MX_DMA2D_Init(); 80549f4: f7cf f892 bl 8023b1c MX_FMC_Init(); 80549f8: f7da fb72 bl 802f0e0 RAMTest(); 80549fc: f012 fc86 bl 806730c memset(pLCD_u8, 0, 0x4B000); 8054a00: f44f 2296 mov.w r2, #307200 ; 0x4b000 8054a04: 2100 movs r1, #0 8054a06: f04f 40c8 mov.w r0, #1677721600 ; 0x64000000 8054a0a: f078 fb39 bl 80cd080 SCB_CleanInvalidateDCache(); 8054a0e: f7ff ff27 bl 8054860 MX_RTC_Init(); 8054a12: f012 fd13 bl 806743c MX_FATFS_Init(); 8054a16: f06a fe6f bl 80bf6f8 initKeys(); 8054a1a: f7df ffd7 bl 80349cc MX_TIM7_Init(); 8054a1e: f059 fe19 bl 80ae654 MX_LTDC_Init(); 8054a22: f7fe fc2b bl 805327c initMemCopy(); 8054a26: f011 fdd1 bl 80665cc MX_SPI1_Init(); 8054a2a: f059 fb81 bl 80ae130 rdFlash();//todo 8054a2e: f7da fb4f bl 802f0d0 EXTI_Config(); 8054a32: f013 f98d bl 8067d50 MX_SDMMC1_SD_Init(); 8054a36: f059 fa5d bl 80adef4 MAX11270_Init(); 8054a3a: f000 fa09 bl 8054e50 initDevice(); 8054a3e: f7df ff03 bl 8034848 Logo(); 8054a42: f013 fa05 bl 8067e50 MX_ADC2_Init(); //Bat 8054a46: f7cb ffdd bl 8020a04 MX_ADC1_Init(); 8054a4a: f7cb ff8f bl 802096c MX_TIM5_Init(); 8054a4e: f059 fdbb bl 80ae5c8 CreateFileJSON(); 8054a52: f7d6 fc7f bl 802b354 initAmplif(); 8054a56: f7cd f81d bl 8021a94 MX_USB_DEVICE_Init(); 8054a5a: f074 fa8d bl 80c8f78 CheckRoutesFolder(); 8054a5e: f7d6 fb93 bl 802b188 CheckRecordsFolder(); 8054a62: f7d6 fbbf bl 802b1e4 CheckFilesForWrite(); 8054a66: f7d9 ff71 bl 802e94c StartBatMeas(); 8054a6a: f7cc f96d bl 8020d48 while(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET) { //todo 8054a6e: e001 b.n 8054a74 RedrawScreen(); 8054a70: f013 f9de bl 8067e30 while(HAL_GPIO_ReadPin(OFF_GPIO_Port, OFF_Pin) == GPIO_PIN_SET) { //todo 8054a74: 2101 movs r1, #1 8054a76: 4867 ldr r0, [pc, #412] ; (8054c14 ) 8054a78: f061 f89e bl 80b5bb8 8054a7c: 4603 mov r3, r0 8054a7e: 2b01 cmp r3, #1 8054a80: d0f6 beq.n 8054a70 } MX_ADC3_Init(); //Tacho 8054a82: f7cc f825 bl 8020ad0 MX_TIM1_Init(); 8054a86: f059 fd59 bl 80ae53c KeysIsReady = true; 8054a8a: 4b63 ldr r3, [pc, #396] ; (8054c18 ) 8054a8c: 2201 movs r2, #1 8054a8e: 701a strb r2, [r3, #0] NeedCalibrate(); 8054a90: f7df ff08 bl 80348a4 //MX_I2C1_SMBUS_Init(); while(1) { if(GoLinkPC) 8054a94: 4b61 ldr r3, [pc, #388] ; (8054c1c ) 8054a96: 781b ldrb r3, [r3, #0] 8054a98: b2db uxtb r3, r3 8054a9a: 2b00 cmp r3, #0 8054a9c: d012 beq.n 8054ac4 { GoLinkPC = false; 8054a9e: 4b5f ldr r3, [pc, #380] ; (8054c1c ) 8054aa0: 2200 movs r2, #0 8054aa2: 701a strb r2, [r3, #0] if(LinkPC == 1) 8054aa4: 4b5e ldr r3, [pc, #376] ; (8054c20 ) 8054aa6: 781b ldrb r3, [r3, #0] 8054aa8: b2db uxtb r3, r3 8054aaa: 2b01 cmp r3, #1 8054aac: d10a bne.n 8054ac4 { menu = LINK_PC; 8054aae: 4b5d ldr r3, [pc, #372] ; (8054c24 ) 8054ab0: 2242 movs r2, #66 ; 0x42 8054ab2: 701a strb r2, [r3, #0] ChargerIsConnect = false; 8054ab4: 4b5c ldr r3, [pc, #368] ; (8054c28 ) 8054ab6: 2200 movs r2, #0 8054ab8: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 8054aba: 2200 movs r2, #0 8054abc: 2108 movs r1, #8 8054abe: 485b ldr r0, [pc, #364] ; (8054c2c ) 8054ac0: f061 f892 bl 80b5be8 if(LinkPC == 0) 8054ac4: 4b56 ldr r3, [pc, #344] ; (8054c20 ) 8054ac6: 781b ldrb r3, [r3, #0] 8054ac8: b2db uxtb r3, r3 8054aca: 2b00 cmp r3, #0 8054acc: f040 809b bne.w 8054c06 if((pardata.OPTIONS & BIT6) && (!Initialized)) { MX_HC05_Init(); } #endif if(NeedOff) { 8054ad0: 4b57 ldr r3, [pc, #348] ; (8054c30 ) 8054ad2: 781b ldrb r3, [r3, #0] 8054ad4: b2db uxtb r3, r3 8054ad6: 2b00 cmp r3, #0 8054ad8: d001 beq.n 8054ade Off(); 8054ada: f7ce fee3 bl 80238a4 } meas(); 8054ade: f001 fe3f bl 8056760 if(!GoSend) 8054ae2: 4b54 ldr r3, [pc, #336] ; (8054c34 ) 8054ae4: 781b ldrb r3, [r3, #0] 8054ae6: b2db uxtb r3, r3 8054ae8: f083 0301 eor.w r3, r3, #1 8054aec: b2db uxtb r3, r3 8054aee: 2b00 cmp r3, #0 8054af0: d001 beq.n 8054af6 RedrawScreen(); 8054af2: f013 f99d bl 8067e30 //if(READY == DATA_FREE) // { keyIns(); 8054af6: f7e0 f8d3 bl 8034ca0 FileSystem(); 8054afa: f7cf f929 bl 8023d50 // } if(NeedFreq) 8054afe: 4b4e ldr r3, [pc, #312] ; (8054c38 ) 8054b00: 781b ldrb r3, [r3, #0] 8054b02: b2db uxtb r3, r3 8054b04: 2b00 cmp r3, #0 8054b06: d004 beq.n 8054b12 { NeedFreq = false; 8054b08: 4b4b ldr r3, [pc, #300] ; (8054c38 ) 8054b0a: 2200 movs r2, #0 8054b0c: 701a strb r2, [r3, #0] CalcFreq(); 8054b0e: f001 fc1b bl 8056348 } if(NeedFreqTacho) 8054b12: 4b4a ldr r3, [pc, #296] ; (8054c3c ) 8054b14: 781b ldrb r3, [r3, #0] 8054b16: b2db uxtb r3, r3 8054b18: 2b00 cmp r3, #0 8054b1a: d02f beq.n 8054b7c { NeedFreqTacho = false; 8054b1c: 4b47 ldr r3, [pc, #284] ; (8054c3c ) 8054b1e: 2200 movs r2, #0 8054b20: 701a strb r2, [r3, #0] CalcFreqTacho(); 8054b22: f001 fd15 bl 8056550 if(FreqFran) 8054b26: 4b46 ldr r3, [pc, #280] ; (8054c40 ) 8054b28: edd3 7a00 vldr s15, [r3] 8054b2c: eef5 7a40 vcmp.f32 s15, #0.0 8054b30: eef1 fa10 vmrs APSR_nzcv, fpscr 8054b34: d022 beq.n 8054b7c { CALC_FREQ = 0; 8054b36: 4b43 ldr r3, [pc, #268] ; (8054c44 ) 8054b38: 2200 movs r2, #0 8054b3a: 701a strb r2, [r3, #0] StopTacho(); 8054b3c: f7cc f954 bl 8020de8 READY = DATA_FREE; 8054b40: 4b41 ldr r3, [pc, #260] ; (8054c48 ) 8054b42: 2200 movs r2, #0 8054b44: 701a strb r2, [r3, #0] //SetupADC(); RedrawScreen(); 8054b46: f013 f973 bl 8067e30 HAL_Delay(100); 8054b4a: 2064 movs r0, #100 ; 0x64 8054b4c: f05e fb9c bl 80b3288 RedrawScreen(); 8054b50: f013 f96e bl 8067e30 HAL_Delay(100); 8054b54: 2064 movs r0, #100 ; 0x64 8054b56: f05e fb97 bl 80b3288 RedrawScreen(); 8054b5a: f013 f969 bl 8067e30 HAL_Delay(100); 8054b5e: 2064 movs r0, #100 ; 0x64 8054b60: f05e fb92 bl 80b3288 RedrawScreen(); 8054b64: f013 f964 bl 8067e30 HAL_Delay(200); 8054b68: 20c8 movs r0, #200 ; 0xc8 8054b6a: f05e fb8d bl 80b3288 SetupADC(); 8054b6e: f7ce f8eb bl 8022d48 HAL_Delay(100); 8054b72: 2064 movs r0, #100 ; 0x64 8054b74: f05e fb88 bl 80b3288 AfterTacho(); 8054b78: f7fe fa56 bl 8053028 } } if(NeedMeas) 8054b7c: 4b33 ldr r3, [pc, #204] ; (8054c4c ) 8054b7e: 781b ldrb r3, [r3, #0] 8054b80: b2db uxtb r3, r3 8054b82: 2b00 cmp r3, #0 8054b84: d020 beq.n 8054bc8 { NeedMeas = false; 8054b86: 4b31 ldr r3, [pc, #196] ; (8054c4c ) 8054b88: 2200 movs r2, #0 8054b8a: 701a strb r2, [r3, #0] initFilters(); 8054b8c: f010 fba4 bl 80652d8 measuring = true; 8054b90: 4b2f ldr r3, [pc, #188] ; (8054c50 ) 8054b92: 2201 movs r2, #1 8054b94: 701a strb r2, [r3, #0] if((pardata.SYG == WAVE) && (pardata.OPTIONS & BIT7)) 8054b96: 4b2f ldr r3, [pc, #188] ; (8054c54 ) 8054b98: 781b ldrb r3, [r3, #0] 8054b9a: b2db uxtb r3, r3 8054b9c: 2b04 cmp r3, #4 8054b9e: d109 bne.n 8054bb4 8054ba0: 4b2c ldr r3, [pc, #176] ; (8054c54 ) 8054ba2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8054ba6: f003 0380 and.w r3, r3, #128 ; 0x80 8054baa: 2b00 cmp r3, #0 8054bac: d002 beq.n 8054bb4 StartTacho(); 8054bae: f7cc f903 bl 8020db8 8054bb2: e009 b.n 8054bc8 else if(pardata.SYG == UDAR) 8054bb4: 4b27 ldr r3, [pc, #156] ; (8054c54 ) 8054bb6: 781b ldrb r3, [r3, #0] 8054bb8: b2db uxtb r3, r3 8054bba: 2b09 cmp r3, #9 8054bbc: d102 bne.n 8054bc4 StartADC12(); 8054bbe: f7cc f8d5 bl 8020d6c 8054bc2: e001 b.n 8054bc8 else SetupADC(); 8054bc4: f7ce f8c0 bl 8022d48 if(needDispOn) 8054bc8: 4b23 ldr r3, [pc, #140] ; (8054c58 ) 8054bca: 781b ldrb r3, [r3, #0] 8054bcc: b2db uxtb r3, r3 8054bce: 2b00 cmp r3, #0 8054bd0: f43f af60 beq.w 8054a94 { needDispOn = false; 8054bd4: 4b20 ldr r3, [pc, #128] ; (8054c58 ) 8054bd6: 2200 movs r2, #0 8054bd8: 701a strb r2, [r3, #0] RedrawScreen(); 8054bda: f013 f929 bl 8067e30 HAL_Delay(100); 8054bde: 2064 movs r0, #100 ; 0x64 8054be0: f05e fb52 bl 80b3288 RedrawScreen(); 8054be4: f013 f924 bl 8067e30 HAL_Delay(100); 8054be8: 2064 movs r0, #100 ; 0x64 8054bea: f05e fb4d bl 80b3288 RedrawScreen(); 8054bee: f013 f91f bl 8067e30 HAL_Delay(100); 8054bf2: 2064 movs r0, #100 ; 0x64 8054bf4: f05e fb48 bl 80b3288 HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT IS ON 8054bf8: 2200 movs r2, #0 8054bfa: f44f 7180 mov.w r1, #256 ; 0x100 8054bfe: 4805 ldr r0, [pc, #20] ; (8054c14 ) 8054c00: f060 fff2 bl 80b5be8 8054c04: e746 b.n 8054a94 } } else { RedrawScreen(); 8054c06: f013 f913 bl 8067e30 if(GoLinkPC) 8054c0a: e743 b.n 8054a94 8054c0c: e000ed00 .word 0xe000ed00 8054c10: 08020000 .word 0x08020000 8054c14: 40020000 .word 0x40020000 8054c18: 20020f7f .word 0x20020f7f 8054c1c: 20021b25 .word 0x20021b25 8054c20: 20021b23 .word 0x20021b23 8054c24: 20020f78 .word 0x20020f78 8054c28: 20021b22 .word 0x20021b22 8054c2c: 40020800 .word 0x40020800 8054c30: 20020f75 .word 0x20020f75 8054c34: 20020f5c .word 0x20020f5c 8054c38: 20020d75 .word 0x20020d75 8054c3c: 20020d76 .word 0x20020d76 8054c40: 20021564 .word 0x20021564 8054c44: 20021010 .word 0x20021010 8054c48: 20020d7f .word 0x20020d7f 8054c4c: 20020d8f .word 0x20020d8f 8054c50: 20020daf .word 0x20020daf 8054c54: 20023e60 .word 0x20023e60 8054c58: 20021b24 .word 0x20021b24 08054c5c : } } void CALC_OFFSET(void) { 8054c5c: b598 push {r3, r4, r7, lr} 8054c5e: af00 add r7, sp, #0 if((!clbr) && (!USBConnected) && (!measuring)) 8054c60: 4b1a ldr r3, [pc, #104] ; (8054ccc ) 8054c62: 781b ldrb r3, [r3, #0] 8054c64: b2db uxtb r3, r3 8054c66: f083 0301 eor.w r3, r3, #1 8054c6a: b2db uxtb r3, r3 8054c6c: 2b00 cmp r3, #0 8054c6e: d02a beq.n 8054cc6 8054c70: 4b17 ldr r3, [pc, #92] ; (8054cd0 ) 8054c72: 781b ldrb r3, [r3, #0] 8054c74: b2db uxtb r3, r3 8054c76: f083 0301 eor.w r3, r3, #1 8054c7a: b2db uxtb r3, r3 8054c7c: 2b00 cmp r3, #0 8054c7e: d022 beq.n 8054cc6 8054c80: 4b14 ldr r3, [pc, #80] ; (8054cd4 ) 8054c82: 781b ldrb r3, [r3, #0] 8054c84: b2db uxtb r3, r3 8054c86: f083 0301 eor.w r3, r3, #1 8054c8a: b2db uxtb r3, r3 8054c8c: 2b00 cmp r3, #0 8054c8e: d01a beq.n 8054cc6 { CNT_MEAN = 0; 8054c90: 4b11 ldr r3, [pc, #68] ; (8054cd8 ) 8054c92: 2200 movs r2, #0 8054c94: 601a str r2, [r3, #0] REC_MEAN = 0; 8054c96: 4a11 ldr r2, [pc, #68] ; (8054cdc ) 8054c98: f04f 0300 mov.w r3, #0 8054c9c: f04f 0400 mov.w r4, #0 8054ca0: e882 0018 stmia.w r2, {r3, r4} pardata.FRQ = _64000Hz; 8054ca4: 4b0e ldr r3, [pc, #56] ; (8054ce0 ) 8054ca6: 2209 movs r2, #9 8054ca8: 72da strb r2, [r3, #11] Fs = FS[pardata.FRQ]; 8054caa: 4b0d ldr r3, [pc, #52] ; (8054ce0 ) 8054cac: 7adb ldrb r3, [r3, #11] 8054cae: b2db uxtb r3, r3 8054cb0: 461a mov r2, r3 8054cb2: 4b0c ldr r3, [pc, #48] ; (8054ce4 ) 8054cb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8054cb8: 4a0b ldr r2, [pc, #44] ; (8054ce8 ) 8054cba: 6013 str r3, [r2, #0] SetupADC(); 8054cbc: f7ce f844 bl 8022d48 FLAG_CALC_MEAN = true; 8054cc0: 4b0a ldr r3, [pc, #40] ; (8054cec ) 8054cc2: 2201 movs r2, #1 8054cc4: 701a strb r2, [r3, #0] } } 8054cc6: bf00 nop 8054cc8: bd98 pop {r3, r4, r7, pc} 8054cca: bf00 nop 8054ccc: 20020f68 .word 0x20020f68 8054cd0: 20021b21 .word 0x20021b21 8054cd4: 20020daf .word 0x20020daf 8054cd8: 20021698 .word 0x20021698 8054cdc: 20021690 .word 0x20021690 8054ce0: 20023e60 .word 0x20023e60 8054ce4: 080ee8f0 .word 0x080ee8f0 8054ce8: 20021d1c .word 0x20021d1c 8054cec: 2002168e .word 0x2002168e 08054cf0 : /** * @brief System Clock Configuration * @retval None */ void SystemClock_Config(void) { 8054cf0: b580 push {r7, lr} 8054cf2: b0b8 sub sp, #224 ; 0xe0 8054cf4: af00 add r7, sp, #0 RCC_OscInitTypeDef RCC_OscInitStruct = {0}; 8054cf6: f107 03ac add.w r3, r7, #172 ; 0xac 8054cfa: 2234 movs r2, #52 ; 0x34 8054cfc: 2100 movs r1, #0 8054cfe: 4618 mov r0, r3 8054d00: f078 f9be bl 80cd080 RCC_ClkInitTypeDef RCC_ClkInitStruct = {0}; 8054d04: f107 0398 add.w r3, r7, #152 ; 0x98 8054d08: 2200 movs r2, #0 8054d0a: 601a str r2, [r3, #0] 8054d0c: 605a str r2, [r3, #4] 8054d0e: 609a str r2, [r3, #8] 8054d10: 60da str r2, [r3, #12] 8054d12: 611a str r2, [r3, #16] RCC_PeriphCLKInitTypeDef PeriphClkInitStruct = {0}; 8054d14: f107 0308 add.w r3, r7, #8 8054d18: 2290 movs r2, #144 ; 0x90 8054d1a: 2100 movs r1, #0 8054d1c: 4618 mov r0, r3 8054d1e: f078 f9af bl 80cd080 __HAL_RCC_PWR_CLK_ENABLE(); 8054d22: 4a46 ldr r2, [pc, #280] ; (8054e3c ) 8054d24: 4b45 ldr r3, [pc, #276] ; (8054e3c ) 8054d26: 6c1b ldr r3, [r3, #64] ; 0x40 8054d28: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 8054d2c: 6413 str r3, [r2, #64] ; 0x40 8054d2e: 4b43 ldr r3, [pc, #268] ; (8054e3c ) 8054d30: 6c1b ldr r3, [r3, #64] ; 0x40 8054d32: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 8054d36: 607b str r3, [r7, #4] 8054d38: 687b ldr r3, [r7, #4] __HAL_PWR_VOLTAGESCALING_CONFIG(PWR_REGULATOR_VOLTAGE_SCALE1); 8054d3a: 4a41 ldr r2, [pc, #260] ; (8054e40 ) 8054d3c: 4b40 ldr r3, [pc, #256] ; (8054e40 ) 8054d3e: 681b ldr r3, [r3, #0] 8054d40: f443 4340 orr.w r3, r3, #49152 ; 0xc000 8054d44: 6013 str r3, [r2, #0] 8054d46: 4b3e ldr r3, [pc, #248] ; (8054e40 ) 8054d48: 681b ldr r3, [r3, #0] 8054d4a: f403 4340 and.w r3, r3, #49152 ; 0xc000 8054d4e: 603b str r3, [r7, #0] 8054d50: 683b ldr r3, [r7, #0] /////// 216 MHZ RCC_OscInitStruct.OscillatorType = RCC_OSCILLATORTYPE_HSE|RCC_OSCILLATORTYPE_LSE; 8054d52: 2305 movs r3, #5 8054d54: f8c7 30ac str.w r3, [r7, #172] ; 0xac RCC_OscInitStruct.HSEState = RCC_HSE_ON; 8054d58: f44f 3380 mov.w r3, #65536 ; 0x10000 8054d5c: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 RCC_OscInitStruct.LSEState = RCC_LSE_ON; 8054d60: 2301 movs r3, #1 8054d62: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 RCC_OscInitStruct.PLL.PLLState = RCC_PLL_ON; 8054d66: 2302 movs r3, #2 8054d68: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 RCC_OscInitStruct.PLL.PLLSource = RCC_PLLSOURCE_HSE; 8054d6c: f44f 0380 mov.w r3, #4194304 ; 0x400000 8054d70: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 RCC_OscInitStruct.PLL.PLLM = 25; 8054d74: 2319 movs r3, #25 8054d76: f8c7 30cc str.w r3, [r7, #204] ; 0xcc RCC_OscInitStruct.PLL.PLLN = 432; 8054d7a: f44f 73d8 mov.w r3, #432 ; 0x1b0 8054d7e: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 RCC_OscInitStruct.PLL.PLLP = RCC_PLLP_DIV2; 8054d82: 2302 movs r3, #2 8054d84: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 RCC_OscInitStruct.PLL.PLLQ = 9; 8054d88: 2309 movs r3, #9 8054d8a: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 if(HAL_RCC_OscConfig(&RCC_OscInitStruct) != HAL_OK) { 8054d8e: f107 03ac add.w r3, r7, #172 ; 0xac 8054d92: 4618 mov r0, r3 8054d94: f062 fd72 bl 80b787c 8054d98: 4603 mov r3, r0 8054d9a: 2b00 cmp r3, #0 8054d9c: d001 beq.n 8054da2 Error_Handler(); 8054d9e: f000 f853 bl 8054e48 } if(HAL_PWREx_EnableOverDrive() != HAL_OK) { 8054da2: f062 fd1b bl 80b77dc 8054da6: 4603 mov r3, r0 8054da8: 2b00 cmp r3, #0 8054daa: d001 beq.n 8054db0 Error_Handler(); 8054dac: f000 f84c bl 8054e48 } RCC_ClkInitStruct.ClockType = RCC_CLOCKTYPE_HCLK|RCC_CLOCKTYPE_SYSCLK|RCC_CLOCKTYPE_PCLK1|RCC_CLOCKTYPE_PCLK2; 8054db0: 230f movs r3, #15 8054db2: f8c7 3098 str.w r3, [r7, #152] ; 0x98 RCC_ClkInitStruct.SYSCLKSource = RCC_SYSCLKSOURCE_PLLCLK; 8054db6: 2302 movs r3, #2 8054db8: f8c7 309c str.w r3, [r7, #156] ; 0x9c RCC_ClkInitStruct.AHBCLKDivider = RCC_SYSCLK_DIV1; 8054dbc: 2300 movs r3, #0 8054dbe: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 RCC_ClkInitStruct.APB1CLKDivider = RCC_HCLK_DIV4; 8054dc2: f44f 53a0 mov.w r3, #5120 ; 0x1400 8054dc6: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 RCC_ClkInitStruct.APB2CLKDivider = RCC_HCLK_DIV2; 8054dca: f44f 5380 mov.w r3, #4096 ; 0x1000 8054dce: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 if(HAL_RCC_ClockConfig(&RCC_ClkInitStruct, FLASH_LATENCY_6) != HAL_OK) { 8054dd2: f107 0398 add.w r3, r7, #152 ; 0x98 8054dd6: 2106 movs r1, #6 8054dd8: 4618 mov r0, r3 8054dda: f062 fffd bl 80b7dd8 8054dde: 4603 mov r3, r0 8054de0: 2b00 cmp r3, #0 8054de2: d001 beq.n 8054de8 Error_Handler(); 8054de4: f000 f830 bl 8054e48 } PeriphClkInitStruct.PeriphClockSelection = RCC_PERIPHCLK_LTDC|RCC_PERIPHCLK_RTC 8054de8: 4b16 ldr r3, [pc, #88] ; (8054e44 ) 8054dea: 60bb str r3, [r7, #8] |RCC_PERIPHCLK_UART7|RCC_PERIPHCLK_I2C1 |RCC_PERIPHCLK_SDMMC1|RCC_PERIPHCLK_CLK48; PeriphClkInitStruct.PLLSAI.PLLSAIN = 192; 8054dec: 23c0 movs r3, #192 ; 0xc0 8054dee: 61fb str r3, [r7, #28] PeriphClkInitStruct.PLLSAI.PLLSAIR = 4; 8054df0: 2304 movs r3, #4 8054df2: 627b str r3, [r7, #36] ; 0x24 PeriphClkInitStruct.PLLSAI.PLLSAIQ = 2; 8054df4: 2302 movs r3, #2 8054df6: 623b str r3, [r7, #32] PeriphClkInitStruct.PLLSAI.PLLSAIP = RCC_PLLSAIP_DIV4; 8054df8: 2301 movs r3, #1 8054dfa: 62bb str r3, [r7, #40] ; 0x28 PeriphClkInitStruct.PLLSAIDivQ = 1; 8054dfc: 2301 movs r3, #1 8054dfe: 633b str r3, [r7, #48] ; 0x30 PeriphClkInitStruct.PLLSAIDivR = RCC_PLLSAIDIVR_2; 8054e00: 2300 movs r3, #0 8054e02: 637b str r3, [r7, #52] ; 0x34 PeriphClkInitStruct.RTCClockSelection = RCC_RTCCLKSOURCE_LSE; 8054e04: f44f 7380 mov.w r3, #256 ; 0x100 8054e08: 63bb str r3, [r7, #56] ; 0x38 PeriphClkInitStruct.Uart7ClockSelection = RCC_UART7CLKSOURCE_PCLK1; 8054e0a: 2300 movs r3, #0 8054e0c: 667b str r3, [r7, #100] ; 0x64 PeriphClkInitStruct.I2c1ClockSelection = RCC_I2C1CLKSOURCE_PCLK1; 8054e0e: 2300 movs r3, #0 8054e10: 66fb str r3, [r7, #108] ; 0x6c PeriphClkInitStruct.Clk48ClockSelection = RCC_CLK48SOURCE_PLL; 8054e12: 2300 movs r3, #0 8054e14: f8c7 3084 str.w r3, [r7, #132] ; 0x84 PeriphClkInitStruct.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_CLK48; 8054e18: 2300 movs r3, #0 8054e1a: f8c7 3088 str.w r3, [r7, #136] ; 0x88 if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) 8054e1e: f107 0308 add.w r3, r7, #8 8054e22: 4618 mov r0, r3 8054e24: f063 f986 bl 80b8134 8054e28: 4603 mov r3, r0 8054e2a: 2b00 cmp r3, #0 8054e2c: d001 beq.n 8054e32 { Error_Handler(); 8054e2e: f000 f80b bl 8054e48 PeriphClkInitStruct.Sdmmc1ClockSelection = RCC_SDMMC1CLKSOURCE_CLK48; if (HAL_RCCEx_PeriphCLKConfig(&PeriphClkInitStruct) != HAL_OK) { Error_Handler(); }*/ } 8054e32: bf00 nop 8054e34: 37e0 adds r7, #224 ; 0xe0 8054e36: 46bd mov sp, r7 8054e38: bd80 pop {r7, pc} 8054e3a: bf00 nop 8054e3c: 40023800 .word 0x40023800 8054e40: 40007000 .word 0x40007000 8054e44: 00a05028 .word 0x00a05028 08054e48 : /** * @brief This function is executed in case of error occurrence. * @retval None */ void Error_Handler(void) { 8054e48: b480 push {r7} 8054e4a: af00 add r7, sp, #0 __ASM volatile ("cpsid i" : : : "memory"); 8054e4c: b672 cpsid i /* USER CODE BEGIN Error_Handler_Debug */ /* User can add his own implementation to report the HAL error return state */ __disable_irq(); while (1) 8054e4e: e7fe b.n 8054e4e 08054e50 : void MAX11270_Init(void) { 8054e50: b580 push {r7, lr} 8054e52: b084 sub sp, #16 8054e54: af02 add r7, sp, #8 __IO uint32_t dly; __IO uint32_t tick; memset(aTxBuffer, 0, sizeof(aTxBuffer)); 8054e56: 2204 movs r2, #4 8054e58: 2100 movs r1, #0 8054e5a: 483e ldr r0, [pc, #248] ; (8054f54 ) 8054e5c: f078 f910 bl 80cd080 HAL_GPIO_WritePin(RSTB_GPIO_Port, RSTB_Pin, GPIO_PIN_RESET); 8054e60: 2200 movs r2, #0 8054e62: 2104 movs r1, #4 8054e64: 483c ldr r0, [pc, #240] ; (8054f58 ) 8054e66: f060 febf bl 80b5be8 HAL_Delay(200); 8054e6a: 20c8 movs r0, #200 ; 0xc8 8054e6c: f05e fa0c bl 80b3288 HAL_GPIO_WritePin(RSTB_GPIO_Port, RSTB_Pin, GPIO_PIN_SET); 8054e70: 2201 movs r2, #1 8054e72: 2104 movs r1, #4 8054e74: 4838 ldr r0, [pc, #224] ; (8054f58 ) 8054e76: f060 feb7 bl 80b5be8 HAL_Delay(200); 8054e7a: 20c8 movs r0, #200 ; 0xc8 8054e7c: f05e fa04 bl 80b3288 aTxBuffer[0] = WRITE | CTRL1_REG; 8054e80: 4b34 ldr r3, [pc, #208] ; (8054f54 ) 8054e82: 22c2 movs r2, #194 ; 0xc2 8054e84: 701a strb r2, [r3, #0] aTxBuffer[1] = SYNC_BIT | /*UB_BIT |*/ FORMAT_BIT | CONTSC_BIT; 8054e86: 4b33 ldr r3, [pc, #204] ; (8054f54 ) 8054e88: 2245 movs r2, #69 ; 0x45 8054e8a: 705a strb r2, [r3, #1] HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 8054e8c: 2200 movs r2, #0 8054e8e: f44f 4100 mov.w r1, #32768 ; 0x8000 8054e92: 4832 ldr r0, [pc, #200] ; (8054f5c ) 8054e94: f060 fea8 bl 80b5be8 for(dly = 3; dly > 0; dly--); 8054e98: 2303 movs r3, #3 8054e9a: 607b str r3, [r7, #4] 8054e9c: e002 b.n 8054ea4 8054e9e: 687b ldr r3, [r7, #4] 8054ea0: 3b01 subs r3, #1 8054ea2: 607b str r3, [r7, #4] 8054ea4: 687b ldr r3, [r7, #4] 8054ea6: 2b00 cmp r3, #0 8054ea8: d1f9 bne.n 8054e9e HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 2, 100); 8054eaa: 2364 movs r3, #100 ; 0x64 8054eac: 9300 str r3, [sp, #0] 8054eae: 2302 movs r3, #2 8054eb0: 4a2b ldr r2, [pc, #172] ; (8054f60 ) 8054eb2: 4928 ldr r1, [pc, #160] ; (8054f54 ) 8054eb4: 482b ldr r0, [pc, #172] ; (8054f64 ) 8054eb6: f066 fae2 bl 80bb47e for(dly = 3; dly > 0; dly--); 8054eba: 2303 movs r3, #3 8054ebc: 607b str r3, [r7, #4] 8054ebe: e002 b.n 8054ec6 8054ec0: 687b ldr r3, [r7, #4] 8054ec2: 3b01 subs r3, #1 8054ec4: 607b str r3, [r7, #4] 8054ec6: 687b ldr r3, [r7, #4] 8054ec8: 2b00 cmp r3, #0 8054eca: d1f9 bne.n 8054ec0 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8054ecc: 2201 movs r2, #1 8054ece: f44f 4100 mov.w r1, #32768 ; 0x8000 8054ed2: 4822 ldr r0, [pc, #136] ; (8054f5c ) 8054ed4: f060 fe88 bl 80b5be8 aTxBuffer[0] = WRITE | GAIN_REG; 8054ed8: 4b1e ldr r3, [pc, #120] ; (8054f54 ) 8054eda: 22c4 movs r2, #196 ; 0xc4 8054edc: 701a strb r2, [r3, #0] aTxBuffer[1] = LPMODE_BIT | PGAEN_BIT | SGAIN[Ku1]; 8054ede: 2300 movs r3, #0 8054ee0: f043 0318 orr.w r3, r3, #24 8054ee4: b2da uxtb r2, r3 8054ee6: 4b1b ldr r3, [pc, #108] ; (8054f54 ) 8054ee8: 705a strb r2, [r3, #1] //aTxBuffer[1] = LPMODE_BIT /*| PGAEN_BIT | SGAIN[Ku1]*/ | BUFEN_BIT; HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 8054eea: 2200 movs r2, #0 8054eec: f44f 4100 mov.w r1, #32768 ; 0x8000 8054ef0: 481a ldr r0, [pc, #104] ; (8054f5c ) 8054ef2: f060 fe79 bl 80b5be8 for(dly = 3; dly > 0; dly--); 8054ef6: 2303 movs r3, #3 8054ef8: 607b str r3, [r7, #4] 8054efa: e002 b.n 8054f02 8054efc: 687b ldr r3, [r7, #4] 8054efe: 3b01 subs r3, #1 8054f00: 607b str r3, [r7, #4] 8054f02: 687b ldr r3, [r7, #4] 8054f04: 2b00 cmp r3, #0 8054f06: d1f9 bne.n 8054efc HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 2, 100); 8054f08: 2364 movs r3, #100 ; 0x64 8054f0a: 9300 str r3, [sp, #0] 8054f0c: 2302 movs r3, #2 8054f0e: 4a14 ldr r2, [pc, #80] ; (8054f60 ) 8054f10: 4910 ldr r1, [pc, #64] ; (8054f54 ) 8054f12: 4814 ldr r0, [pc, #80] ; (8054f64 ) 8054f14: f066 fab3 bl 80bb47e for(dly = 3; dly > 0; dly--); 8054f18: 2303 movs r3, #3 8054f1a: 607b str r3, [r7, #4] 8054f1c: e002 b.n 8054f24 8054f1e: 687b ldr r3, [r7, #4] 8054f20: 3b01 subs r3, #1 8054f22: 607b str r3, [r7, #4] 8054f24: 687b ldr r3, [r7, #4] 8054f26: 2b00 cmp r3, #0 8054f28: d1f9 bne.n 8054f1e HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8054f2a: 2201 movs r2, #1 8054f2c: f44f 4100 mov.w r1, #32768 ; 0x8000 8054f30: 480a ldr r0, [pc, #40] ; (8054f5c ) 8054f32: f060 fe59 bl 80b5be8 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); } while(!(aRxBuffer.ch[0] & PDSTAT1_BIT));*/ tick = HAL_GetTick() - tick; 8054f36: f05e f99b bl 80b3270 8054f3a: 4602 mov r2, r0 8054f3c: 683b ldr r3, [r7, #0] 8054f3e: 1ad3 subs r3, r2, r3 8054f40: 603b str r3, [r7, #0] tick = 0; 8054f42: 2300 movs r3, #0 8054f44: 603b str r3, [r7, #0] MAX11270_StopMeas(); 8054f46: f000 f879 bl 805503c } 8054f4a: bf00 nop 8054f4c: 3708 adds r7, #8 8054f4e: 46bd mov sp, r7 8054f50: bd80 pop {r7, pc} 8054f52: bf00 nop 8054f54: 2002167c .word 0x2002167c 8054f58: 40020400 .word 0x40020400 8054f5c: 40020000 .word 0x40020000 8054f60: 20068730 .word 0x20068730 8054f64: 20068734 .word 0x20068734 08054f68 : void MAX11270_StartMeas(void) { 8054f68: b580 push {r7, lr} 8054f6a: b084 sub sp, #16 8054f6c: af02 add r7, sp, #8 __IO uint32_t dly; __IO uint32_t timeout; ADC_Started = false; 8054f6e: 4b2b ldr r3, [pc, #172] ; (805501c ) 8054f70: 2200 movs r2, #0 8054f72: 701a strb r2, [r3, #0] memset(aTxBuffer, 0, sizeof(aTxBuffer)); 8054f74: 2204 movs r2, #4 8054f76: 2100 movs r1, #0 8054f78: 4829 ldr r0, [pc, #164] ; (8055020 ) 8054f7a: f078 f881 bl 80cd080 aTxBuffer[0] = COMMAND | SRATE[pardata.FRQ]; 8054f7e: 4b29 ldr r3, [pc, #164] ; (8055024 ) 8054f80: 7adb ldrb r3, [r3, #11] 8054f82: b2db uxtb r3, r3 8054f84: 461a mov r2, r3 8054f86: 4b28 ldr r3, [pc, #160] ; (8055028 ) 8054f88: 5c9b ldrb r3, [r3, r2] 8054f8a: f063 037f orn r3, r3, #127 ; 0x7f 8054f8e: b2da uxtb r2, r3 8054f90: 4b23 ldr r3, [pc, #140] ; (8055020 ) 8054f92: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 8054f94: 2200 movs r2, #0 8054f96: f44f 4100 mov.w r1, #32768 ; 0x8000 8054f9a: 4824 ldr r0, [pc, #144] ; (805502c ) 8054f9c: f060 fe24 bl 80b5be8 for(dly = 3; dly > 0; dly--); 8054fa0: 2303 movs r3, #3 8054fa2: 607b str r3, [r7, #4] 8054fa4: e002 b.n 8054fac 8054fa6: 687b ldr r3, [r7, #4] 8054fa8: 3b01 subs r3, #1 8054faa: 607b str r3, [r7, #4] 8054fac: 687b ldr r3, [r7, #4] 8054fae: 2b00 cmp r3, #0 8054fb0: d1f9 bne.n 8054fa6 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 1, 100); 8054fb2: 2364 movs r3, #100 ; 0x64 8054fb4: 9300 str r3, [sp, #0] 8054fb6: 2301 movs r3, #1 8054fb8: 4a1d ldr r2, [pc, #116] ; (8055030 ) 8054fba: 4919 ldr r1, [pc, #100] ; (8055020 ) 8054fbc: 481d ldr r0, [pc, #116] ; (8055034 ) 8054fbe: f066 fa5e bl 80bb47e for(dly = 3; dly > 0; dly--); 8054fc2: 2303 movs r3, #3 8054fc4: 607b str r3, [r7, #4] 8054fc6: e002 b.n 8054fce 8054fc8: 687b ldr r3, [r7, #4] 8054fca: 3b01 subs r3, #1 8054fcc: 607b str r3, [r7, #4] 8054fce: 687b ldr r3, [r7, #4] 8054fd0: 2b00 cmp r3, #0 8054fd2: d1f9 bne.n 8054fc8 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 8054fd4: 2201 movs r2, #1 8054fd6: f44f 4100 mov.w r1, #32768 ; 0x8000 8054fda: 4814 ldr r0, [pc, #80] ; (805502c ) 8054fdc: f060 fe04 bl 80b5be8 __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); 8054fe0: 4b15 ldr r3, [pc, #84] ; (8055038 ) 8054fe2: 2208 movs r2, #8 8054fe4: 615a str r2, [r3, #20] HAL_NVIC_EnableIRQ(EXTI3_IRQn); 8054fe6: 2009 movs r0, #9 8054fe8: f05f f8b5 bl 80b4156 timeout = HAL_GetTick(); 8054fec: f05e f940 bl 80b3270 8054ff0: 4603 mov r3, r0 8054ff2: 603b str r3, [r7, #0] while((!ADC_Started) && ((HAL_GetTick() - timeout) < 100)); 8054ff4: bf00 nop 8054ff6: 4b09 ldr r3, [pc, #36] ; (805501c ) 8054ff8: 781b ldrb r3, [r3, #0] 8054ffa: b2db uxtb r3, r3 8054ffc: f083 0301 eor.w r3, r3, #1 8055000: b2db uxtb r3, r3 8055002: 2b00 cmp r3, #0 8055004: d006 beq.n 8055014 8055006: f05e f933 bl 80b3270 805500a: 4602 mov r2, r0 805500c: 683b ldr r3, [r7, #0] 805500e: 1ad3 subs r3, r2, r3 8055010: 2b63 cmp r3, #99 ; 0x63 8055012: d9f0 bls.n 8054ff6 } 8055014: bf00 nop 8055016: 3708 adds r7, #8 8055018: 46bd mov sp, r7 805501a: bd80 pop {r7, pc} 805501c: 20020d74 .word 0x20020d74 8055020: 2002167c .word 0x2002167c 8055024: 20023e60 .word 0x20023e60 8055028: 080ee924 .word 0x080ee924 805502c: 40020000 .word 0x40020000 8055030: 20068730 .word 0x20068730 8055034: 20068734 .word 0x20068734 8055038: 40013c00 .word 0x40013c00 0805503c : void MAX11270_StopMeas(void) { 805503c: b580 push {r7, lr} 805503e: b082 sub sp, #8 8055040: af00 add r7, sp, #0 __IO uint32_t dly; ADC_Started = false; 8055042: 4b09 ldr r3, [pc, #36] ; (8055068 ) 8055044: 2200 movs r2, #0 8055046: 701a strb r2, [r3, #0] for(dly = 3; dly > 0; dly--); HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 1, 100); for(dly = 3; dly > 0; dly--); HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET);*/ __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); 8055048: 4b08 ldr r3, [pc, #32] ; (805506c ) 805504a: 2208 movs r2, #8 805504c: 615a str r2, [r3, #20] HAL_NVIC_DisableIRQ(EXTI3_IRQn); 805504e: 2009 movs r0, #9 8055050: f05f f88f bl 80b4172 __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); 8055054: 4b05 ldr r3, [pc, #20] ; (805506c ) 8055056: 2208 movs r2, #8 8055058: 615a str r2, [r3, #20] ADC_Started = false; 805505a: 4b03 ldr r3, [pc, #12] ; (8055068 ) 805505c: 2200 movs r2, #0 805505e: 701a strb r2, [r3, #0] } 8055060: bf00 nop 8055062: 3708 adds r7, #8 8055064: 46bd mov sp, r7 8055066: bd80 pop {r7, pc} 8055068: 20020d74 .word 0x20020d74 805506c: 40013c00 .word 0x40013c00 08055070 : void MAX11270_SetGain(uint8_t ku) { 8055070: b580 push {r7, lr} 8055072: b086 sub sp, #24 8055074: af02 add r7, sp, #8 8055076: 4603 mov r3, r0 8055078: 71fb strb r3, [r7, #7] __IO uint32_t dly, i; for(i = 0; i < 3; i++) 805507a: 2300 movs r3, #0 805507c: 60bb str r3, [r7, #8] 805507e: e04a b.n 8055116 { HAL_Delay(20); 8055080: 2014 movs r0, #20 8055082: f05e f901 bl 80b3288 memset(aTxBuffer, 0, sizeof(aTxBuffer)); 8055086: 2204 movs r2, #4 8055088: 2100 movs r1, #0 805508a: 4826 ldr r0, [pc, #152] ; (8055124 ) 805508c: f077 fff8 bl 80cd080 aTxBuffer[0] = WRITE | GAIN_REG; 8055090: 4b24 ldr r3, [pc, #144] ; (8055124 ) 8055092: 22c4 movs r2, #196 ; 0xc4 8055094: 701a strb r2, [r3, #0] aTxBuffer[1] = PGAEN_BIT | SGAIN[ku]; 8055096: 79fb ldrb r3, [r7, #7] 8055098: 4a23 ldr r2, [pc, #140] ; (8055128 ) 805509a: 5cd3 ldrb r3, [r2, r3] 805509c: f043 0308 orr.w r3, r3, #8 80550a0: b2da uxtb r2, r3 80550a2: 4b20 ldr r3, [pc, #128] ; (8055124 ) 80550a4: 705a strb r2, [r3, #1] if(pardata.IKU < Ku16) 80550a6: 4b21 ldr r3, [pc, #132] ; (805512c ) 80550a8: 7a1b ldrb r3, [r3, #8] 80550aa: b2db uxtb r3, r3 80550ac: 2b03 cmp r3, #3 80550ae: d806 bhi.n 80550be aTxBuffer[1] |= LPMODE_BIT; 80550b0: 4b1c ldr r3, [pc, #112] ; (8055124 ) 80550b2: 785b ldrb r3, [r3, #1] 80550b4: f043 0310 orr.w r3, r3, #16 80550b8: b2da uxtb r2, r3 80550ba: 4b1a ldr r3, [pc, #104] ; (8055124 ) 80550bc: 705a strb r2, [r3, #1] //aTxBuffer[1] |= DGAIN0_BIT | DGAIN1_BIT; HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 80550be: 2200 movs r2, #0 80550c0: f44f 4100 mov.w r1, #32768 ; 0x8000 80550c4: 481a ldr r0, [pc, #104] ; (8055130 ) 80550c6: f060 fd8f bl 80b5be8 for(dly = 3; dly > 0; dly--); 80550ca: 2303 movs r3, #3 80550cc: 60fb str r3, [r7, #12] 80550ce: e002 b.n 80550d6 80550d0: 68fb ldr r3, [r7, #12] 80550d2: 3b01 subs r3, #1 80550d4: 60fb str r3, [r7, #12] 80550d6: 68fb ldr r3, [r7, #12] 80550d8: 2b00 cmp r3, #0 80550da: d1f9 bne.n 80550d0 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 2, 100); 80550dc: 2364 movs r3, #100 ; 0x64 80550de: 9300 str r3, [sp, #0] 80550e0: 2302 movs r3, #2 80550e2: 4a14 ldr r2, [pc, #80] ; (8055134 ) 80550e4: 490f ldr r1, [pc, #60] ; (8055124 ) 80550e6: 4814 ldr r0, [pc, #80] ; (8055138 ) 80550e8: f066 f9c9 bl 80bb47e for(dly = 3; dly > 0; dly--); 80550ec: 2303 movs r3, #3 80550ee: 60fb str r3, [r7, #12] 80550f0: e002 b.n 80550f8 80550f2: 68fb ldr r3, [r7, #12] 80550f4: 3b01 subs r3, #1 80550f6: 60fb str r3, [r7, #12] 80550f8: 68fb ldr r3, [r7, #12] 80550fa: 2b00 cmp r3, #0 80550fc: d1f9 bne.n 80550f2 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 80550fe: 2201 movs r2, #1 8055100: f44f 4100 mov.w r1, #32768 ; 0x8000 8055104: 480a ldr r0, [pc, #40] ; (8055130 ) 8055106: f060 fd6f bl 80b5be8 HAL_Delay(20); 805510a: 2014 movs r0, #20 805510c: f05e f8bc bl 80b3288 for(i = 0; i < 3; i++) 8055110: 68bb ldr r3, [r7, #8] 8055112: 3301 adds r3, #1 8055114: 60bb str r3, [r7, #8] 8055116: 68bb ldr r3, [r7, #8] 8055118: 2b02 cmp r3, #2 805511a: d9b1 bls.n 8055080 } } 805511c: bf00 nop 805511e: 3710 adds r7, #16 8055120: 46bd mov sp, r7 8055122: bd80 pop {r7, pc} 8055124: 2002167c .word 0x2002167c 8055128: 080ee930 .word 0x080ee930 805512c: 20023e60 .word 0x20023e60 8055130: 40020000 .word 0x40020000 8055134: 20068730 .word 0x20068730 8055138: 20068734 .word 0x20068734 0805513c : uint32_t MAX11270_GetData(void) { 805513c: b580 push {r7, lr} 805513e: b084 sub sp, #16 8055140: af02 add r7, sp, #8 int32_t low; uint32_t DataOut; static uint8_t faseCal = 0; aTxBuffer[0] = READ | DATA_REG; 8055142: 4b1c ldr r3, [pc, #112] ; (80551b4 ) 8055144: 22cd movs r2, #205 ; 0xcd 8055146: 701a strb r2, [r3, #0] aTxBuffer[1] = 0x00; 8055148: 4b1a ldr r3, [pc, #104] ; (80551b4 ) 805514a: 2200 movs r2, #0 805514c: 705a strb r2, [r3, #1] HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 805514e: 2200 movs r2, #0 8055150: f44f 4100 mov.w r1, #32768 ; 0x8000 8055154: 4818 ldr r0, [pc, #96] ; (80551b8 ) 8055156: f060 fd47 bl 80b5be8 for(dly = 3; dly > 0; dly--); 805515a: 2303 movs r3, #3 805515c: 603b str r3, [r7, #0] 805515e: e002 b.n 8055166 8055160: 683b ldr r3, [r7, #0] 8055162: 3b01 subs r3, #1 8055164: 603b str r3, [r7, #0] 8055166: 683b ldr r3, [r7, #0] 8055168: 2b00 cmp r3, #0 805516a: d1f9 bne.n 8055160 HAL_SPI_TransmitReceive(&hspi1, aTxBuffer, &aRxBuffer.ch[0], 4, 100); 805516c: 2364 movs r3, #100 ; 0x64 805516e: 9300 str r3, [sp, #0] 8055170: 2304 movs r3, #4 8055172: 4a12 ldr r2, [pc, #72] ; (80551bc ) 8055174: 490f ldr r1, [pc, #60] ; (80551b4 ) 8055176: 4812 ldr r0, [pc, #72] ; (80551c0 ) 8055178: f066 f981 bl 80bb47e for(dly = 3; dly > 0; dly--); 805517c: 2303 movs r3, #3 805517e: 603b str r3, [r7, #0] 8055180: e002 b.n 8055188 8055182: 683b ldr r3, [r7, #0] 8055184: 3b01 subs r3, #1 8055186: 603b str r3, [r7, #0] 8055188: 683b ldr r3, [r7, #0] 805518a: 2b00 cmp r3, #0 805518c: d1f9 bne.n 8055182 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 805518e: 2201 movs r2, #1 8055190: f44f 4100 mov.w r1, #32768 ; 0x8000 8055194: 4808 ldr r0, [pc, #32] ; (80551b8 ) 8055196: f060 fd27 bl 80b5be8 DataOut = ((uint32_t) (aRxBuffer.sh[0] << 8) | aRxBuffer.sh[1]); 805519a: 4b08 ldr r3, [pc, #32] ; (80551bc ) 805519c: 881b ldrh r3, [r3, #0] 805519e: 021b lsls r3, r3, #8 80551a0: 461a mov r2, r3 80551a2: 4b06 ldr r3, [pc, #24] ; (80551bc ) 80551a4: 885b ldrh r3, [r3, #2] 80551a6: 4313 orrs r3, r2 80551a8: 607b str r3, [r7, #4] return DataOut; 80551aa: 687b ldr r3, [r7, #4] } 80551ac: 4618 mov r0, r3 80551ae: 3708 adds r7, #8 80551b0: 46bd mov sp, r7 80551b2: bd80 pop {r7, pc} 80551b4: 2002167c .word 0x2002167c 80551b8: 40020000 .word 0x40020000 80551bc: 20068730 .word 0x20068730 80551c0: 20068734 .word 0x20068734 080551c4 : void MAX11270_IRQ(void) { 80551c4: b580 push {r7, lr} 80551c6: b082 sub sp, #8 80551c8: af00 add r7, sp, #0 __IO uint32_t Data32; //__IO uint16_t Tacho; Data32 = MAX11270_GetData() & 0xfffffe; 80551ca: f7ff ffb7 bl 805513c 80551ce: 4602 mov r2, r0 80551d0: 4b9e ldr r3, [pc, #632] ; (805544c ) 80551d2: 4013 ands r3, r2 80551d4: 607b str r3, [r7, #4] ADC_Started = true; 80551d6: 4b9e ldr r3, [pc, #632] ; (8055450 ) 80551d8: 2201 movs r2, #1 80551da: 701a strb r2, [r3, #0] /*#if (defined(USE_D102) || defined(USE_D141) || defined(USE_D142)) Tacho = TACHO_SAMPLE; #endif*/ if(FLAG_CALC_MEAN) 80551dc: 4b9d ldr r3, [pc, #628] ; (8055454 ) 80551de: 781b ldrb r3, [r3, #0] 80551e0: b2db uxtb r3, r3 80551e2: 2b00 cmp r3, #0 80551e4: d031 beq.n 805524a { REC_MEAN += (float64_t) Data32; 80551e6: 687b ldr r3, [r7, #4] 80551e8: ee07 3a90 vmov s15, r3 80551ec: eeb8 6b67 vcvt.f64.u32 d6, s15 80551f0: 4b99 ldr r3, [pc, #612] ; (8055458 ) 80551f2: ed93 7b00 vldr d7, [r3] 80551f6: ee36 7b07 vadd.f64 d7, d6, d7 80551fa: 4b97 ldr r3, [pc, #604] ; (8055458 ) 80551fc: ed83 7b00 vstr d7, [r3] CNT_MEAN++; 8055200: 4b96 ldr r3, [pc, #600] ; (805545c ) 8055202: 681b ldr r3, [r3, #0] 8055204: 3301 adds r3, #1 8055206: 4a95 ldr r2, [pc, #596] ; (805545c ) 8055208: 6013 str r3, [r2, #0] if(CNT_MEAN == 102400UL) 805520a: 4b94 ldr r3, [pc, #592] ; (805545c ) 805520c: 681b ldr r3, [r3, #0] 805520e: f5b3 3fc8 cmp.w r3, #102400 ; 0x19000 8055212: f040 832b bne.w 805586c { REC_MEAN /= (float64_t) CNT_MEAN; 8055216: 4b91 ldr r3, [pc, #580] ; (805545c ) 8055218: 681b ldr r3, [r3, #0] 805521a: ee07 3a90 vmov s15, r3 805521e: eeb8 6b67 vcvt.f64.u32 d6, s15 8055222: 4b8d ldr r3, [pc, #564] ; (8055458 ) 8055224: ed93 5b00 vldr d5, [r3] 8055228: ee85 7b06 vdiv.f64 d7, d5, d6 805522c: 4b8a ldr r3, [pc, #552] ; (8055458 ) 805522e: ed83 7b00 vstr d7, [r3] MEAN_TEMP = (float32_t) REC_MEAN; 8055232: 4b89 ldr r3, [pc, #548] ; (8055458 ) 8055234: ed93 7b00 vldr d7, [r3] 8055238: eef7 7bc7 vcvt.f32.f64 s15, d7 805523c: 4b88 ldr r3, [pc, #544] ; (8055460 ) 805523e: edc3 7a00 vstr s15, [r3] CNT_MEAN = 0; 8055242: 4b86 ldr r3, [pc, #536] ; (805545c ) 8055244: 2200 movs r2, #0 8055246: 601a str r2, [r3, #0] } } } } } } 8055248: e310 b.n 805586c if(measuring) 805524a: 4b86 ldr r3, [pc, #536] ; (8055464 ) 805524c: 781b ldrb r3, [r3, #0] 805524e: b2db uxtb r3, r3 8055250: 2b00 cmp r3, #0 8055252: f000 830b beq.w 805586c AdcBuff(cntADC++) = Data32; 8055256: 4b84 ldr r3, [pc, #528] ; (8055468 ) 8055258: 881b ldrh r3, [r3, #0] 805525a: b29b uxth r3, r3 805525c: 1c5a adds r2, r3, #1 805525e: b291 uxth r1, r2 8055260: 4a81 ldr r2, [pc, #516] ; (8055468 ) 8055262: 8011 strh r1, [r2, #0] 8055264: 009b lsls r3, r3, #2 8055266: 461a mov r2, r3 8055268: 4b80 ldr r3, [pc, #512] ; (805546c ) 805526a: 4413 add r3, r2 805526c: 687a ldr r2, [r7, #4] 805526e: 601a str r2, [r3, #0] if(cntADC == SIZE_ADC_BUFF) { 8055270: 4b7d ldr r3, [pc, #500] ; (8055468 ) 8055272: 881b ldrh r3, [r3, #0] 8055274: b29b uxth r3, r3 8055276: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 805527a: d102 bne.n 8055282 cntADC = 0; 805527c: 4b7a ldr r3, [pc, #488] ; (8055468 ) 805527e: 2200 movs r2, #0 8055280: 801a strh r2, [r3, #0] if(pardata.SYG != WAVE) 8055282: 4b7b ldr r3, [pc, #492] ; (8055470 ) 8055284: 781b ldrb r3, [r3, #0] 8055286: b2db uxtb r3, r3 8055288: 2b04 cmp r3, #4 805528a: f000 811e beq.w 80554ca if(FirstTime) 805528e: 4b79 ldr r3, [pc, #484] ; (8055474 ) 8055290: 781b ldrb r3, [r3, #0] 8055292: b2db uxtb r3, r3 8055294: 2b00 cmp r3, #0 8055296: d017 beq.n 80552c8 if(cntADC >= Ns) 8055298: 4b73 ldr r3, [pc, #460] ; (8055468 ) 805529a: 881b ldrh r3, [r3, #0] 805529c: b29b uxth r3, r3 805529e: 461a mov r2, r3 80552a0: 4b75 ldr r3, [pc, #468] ; (8055478 ) 80552a2: 681b ldr r3, [r3, #0] 80552a4: 429a cmp r2, r3 80552a6: f0c0 82e1 bcc.w 805586c cntmeas = 0; 80552aa: 4b74 ldr r3, [pc, #464] ; (805547c ) 80552ac: 2200 movs r2, #0 80552ae: 801a strh r2, [r3, #0] lastcntmeas = cntADC; 80552b0: 4b6d ldr r3, [pc, #436] ; (8055468 ) 80552b2: 881b ldrh r3, [r3, #0] 80552b4: b29a uxth r2, r3 80552b6: 4b72 ldr r3, [pc, #456] ; (8055480 ) 80552b8: 801a strh r2, [r3, #0] FirstTime = false; 80552ba: 4b6e ldr r3, [pc, #440] ; (8055474 ) 80552bc: 2200 movs r2, #0 80552be: 701a strb r2, [r3, #0] READY = DATA_CAPTURED; 80552c0: 4b70 ldr r3, [pc, #448] ; (8055484 ) 80552c2: 2207 movs r2, #7 80552c4: 701a strb r2, [r3, #0] } 80552c6: e2d1 b.n 805586c if(Flag_Set_KU == 0) 80552c8: 4b6f ldr r3, [pc, #444] ; (8055488 ) 80552ca: 781b ldrb r3, [r3, #0] 80552cc: b2db uxtb r3, r3 80552ce: 2b00 cmp r3, #0 80552d0: d107 bne.n 80552e2 cntmeas++; 80552d2: 4b6a ldr r3, [pc, #424] ; (805547c ) 80552d4: 881b ldrh r3, [r3, #0] 80552d6: b29b uxth r3, r3 80552d8: 3301 adds r3, #1 80552da: b29a uxth r2, r3 80552dc: 4b67 ldr r3, [pc, #412] ; (805547c ) 80552de: 801a strh r2, [r3, #0] 80552e0: e00a b.n 80552f8 cntmeas = 0; 80552e2: 4b66 ldr r3, [pc, #408] ; (805547c ) 80552e4: 2200 movs r2, #0 80552e6: 801a strh r2, [r3, #0] if(READY == DATA_CAPTURED) { 80552e8: 4b66 ldr r3, [pc, #408] ; (8055484 ) 80552ea: 781b ldrb r3, [r3, #0] 80552ec: b2db uxtb r3, r3 80552ee: 2b07 cmp r3, #7 80552f0: d102 bne.n 80552f8 READY = DATA_FREE; 80552f2: 4b64 ldr r3, [pc, #400] ; (8055484 ) 80552f4: 2200 movs r2, #0 80552f6: 701a strb r2, [r3, #0] switch(pardata.SYG) 80552f8: 4b5d ldr r3, [pc, #372] ; (8055470 ) 80552fa: 781b ldrb r3, [r3, #0] 80552fc: b2db uxtb r3, r3 80552fe: 2b0a cmp r3, #10 8055300: f200 82b4 bhi.w 805586c 8055304: a201 add r2, pc, #4 ; (adr r2, 805530c ) 8055306: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805530a: bf00 nop 805530c: 08055339 .word 0x08055339 8055310: 08055491 .word 0x08055491 8055314: 08055395 .word 0x08055395 8055318: 08055339 .word 0x08055339 805531c: 0805586d .word 0x0805586d 8055320: 08055491 .word 0x08055491 8055324: 080553f1 .word 0x080553f1 8055328: 080553f1 .word 0x080553f1 805532c: 08055491 .word 0x08055491 8055330: 08055395 .word 0x08055395 8055334: 08055339 .word 0x08055339 if(cntmeas >= Ns) 8055338: 4b50 ldr r3, [pc, #320] ; (805547c ) 805533a: 881b ldrh r3, [r3, #0] 805533c: b29b uxth r3, r3 805533e: 461a mov r2, r3 8055340: 4b4d ldr r3, [pc, #308] ; (8055478 ) 8055342: 681b ldr r3, [r3, #0] 8055344: 429a cmp r2, r3 8055346: f0c0 828a bcc.w 805585e if(cntmeas == Ns) { 805534a: 4b4c ldr r3, [pc, #304] ; (805547c ) 805534c: 881b ldrh r3, [r3, #0] 805534e: b29b uxth r3, r3 8055350: 461a mov r2, r3 8055352: 4b49 ldr r3, [pc, #292] ; (8055478 ) 8055354: 681b ldr r3, [r3, #0] 8055356: 429a cmp r2, r3 8055358: d104 bne.n 8055364 lastcntmeas = cntADC; 805535a: 4b43 ldr r3, [pc, #268] ; (8055468 ) 805535c: 881b ldrh r3, [r3, #0] 805535e: b29a uxth r2, r3 8055360: 4b47 ldr r3, [pc, #284] ; (8055480 ) 8055362: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 8055364: 4b47 ldr r3, [pc, #284] ; (8055484 ) 8055366: 781b ldrb r3, [r3, #0] 8055368: b2db uxtb r3, r3 805536a: 2b00 cmp r3, #0 805536c: f040 8277 bne.w 805585e READY = DATA_CAPTURED; 8055370: 4b44 ldr r3, [pc, #272] ; (8055484 ) 8055372: 2207 movs r2, #7 8055374: 701a strb r2, [r3, #0] if(cntmeas > Ns) 8055376: 4b41 ldr r3, [pc, #260] ; (805547c ) 8055378: 881b ldrh r3, [r3, #0] 805537a: b29b uxth r3, r3 805537c: 461a mov r2, r3 805537e: 4b3e ldr r3, [pc, #248] ; (8055478 ) 8055380: 681b ldr r3, [r3, #0] 8055382: 429a cmp r2, r3 8055384: d902 bls.n 805538c DataCopied = false; 8055386: 4b41 ldr r3, [pc, #260] ; (805548c ) 8055388: 2200 movs r2, #0 805538a: 701a strb r2, [r3, #0] cntmeas = 0; 805538c: 4b3b ldr r3, [pc, #236] ; (805547c ) 805538e: 2200 movs r2, #0 8055390: 801a strh r2, [r3, #0] break; 8055392: e264 b.n 805585e if(cntmeas >= Ns) 8055394: 4b39 ldr r3, [pc, #228] ; (805547c ) 8055396: 881b ldrh r3, [r3, #0] 8055398: b29b uxth r3, r3 805539a: 461a mov r2, r3 805539c: 4b36 ldr r3, [pc, #216] ; (8055478 ) 805539e: 681b ldr r3, [r3, #0] 80553a0: 429a cmp r2, r3 80553a2: f0c0 825e bcc.w 8055862 if(cntmeas == Ns) { 80553a6: 4b35 ldr r3, [pc, #212] ; (805547c ) 80553a8: 881b ldrh r3, [r3, #0] 80553aa: b29b uxth r3, r3 80553ac: 461a mov r2, r3 80553ae: 4b32 ldr r3, [pc, #200] ; (8055478 ) 80553b0: 681b ldr r3, [r3, #0] 80553b2: 429a cmp r2, r3 80553b4: d104 bne.n 80553c0 lastcntmeas = cntADC; 80553b6: 4b2c ldr r3, [pc, #176] ; (8055468 ) 80553b8: 881b ldrh r3, [r3, #0] 80553ba: b29a uxth r2, r3 80553bc: 4b30 ldr r3, [pc, #192] ; (8055480 ) 80553be: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 80553c0: 4b30 ldr r3, [pc, #192] ; (8055484 ) 80553c2: 781b ldrb r3, [r3, #0] 80553c4: b2db uxtb r3, r3 80553c6: 2b00 cmp r3, #0 80553c8: f040 824b bne.w 8055862 READY = DATA_CAPTURED; 80553cc: 4b2d ldr r3, [pc, #180] ; (8055484 ) 80553ce: 2207 movs r2, #7 80553d0: 701a strb r2, [r3, #0] if(cntmeas > Ns) 80553d2: 4b2a ldr r3, [pc, #168] ; (805547c ) 80553d4: 881b ldrh r3, [r3, #0] 80553d6: b29b uxth r3, r3 80553d8: 461a mov r2, r3 80553da: 4b27 ldr r3, [pc, #156] ; (8055478 ) 80553dc: 681b ldr r3, [r3, #0] 80553de: 429a cmp r2, r3 80553e0: d902 bls.n 80553e8 DataCopied = false; 80553e2: 4b2a ldr r3, [pc, #168] ; (805548c ) 80553e4: 2200 movs r2, #0 80553e6: 701a strb r2, [r3, #0] cntmeas = 0; 80553e8: 4b24 ldr r3, [pc, #144] ; (805547c ) 80553ea: 2200 movs r2, #0 80553ec: 801a strh r2, [r3, #0] break; 80553ee: e238 b.n 8055862 if(cntmeas >= Ns) 80553f0: 4b22 ldr r3, [pc, #136] ; (805547c ) 80553f2: 881b ldrh r3, [r3, #0] 80553f4: b29b uxth r3, r3 80553f6: 461a mov r2, r3 80553f8: 4b1f ldr r3, [pc, #124] ; (8055478 ) 80553fa: 681b ldr r3, [r3, #0] 80553fc: 429a cmp r2, r3 80553fe: f0c0 8232 bcc.w 8055866 if(cntmeas == Ns) { 8055402: 4b1e ldr r3, [pc, #120] ; (805547c ) 8055404: 881b ldrh r3, [r3, #0] 8055406: b29b uxth r3, r3 8055408: 461a mov r2, r3 805540a: 4b1b ldr r3, [pc, #108] ; (8055478 ) 805540c: 681b ldr r3, [r3, #0] 805540e: 429a cmp r2, r3 8055410: d104 bne.n 805541c lastcntmeas = cntADC; 8055412: 4b15 ldr r3, [pc, #84] ; (8055468 ) 8055414: 881b ldrh r3, [r3, #0] 8055416: b29a uxth r2, r3 8055418: 4b19 ldr r3, [pc, #100] ; (8055480 ) 805541a: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 805541c: 4b19 ldr r3, [pc, #100] ; (8055484 ) 805541e: 781b ldrb r3, [r3, #0] 8055420: b2db uxtb r3, r3 8055422: 2b00 cmp r3, #0 8055424: f040 821f bne.w 8055866 READY = DATA_CAPTURED; 8055428: 4b16 ldr r3, [pc, #88] ; (8055484 ) 805542a: 2207 movs r2, #7 805542c: 701a strb r2, [r3, #0] if(cntmeas > Ns) 805542e: 4b13 ldr r3, [pc, #76] ; (805547c ) 8055430: 881b ldrh r3, [r3, #0] 8055432: b29b uxth r3, r3 8055434: 461a mov r2, r3 8055436: 4b10 ldr r3, [pc, #64] ; (8055478 ) 8055438: 681b ldr r3, [r3, #0] 805543a: 429a cmp r2, r3 805543c: d902 bls.n 8055444 DataCopied = false; 805543e: 4b13 ldr r3, [pc, #76] ; (805548c ) 8055440: 2200 movs r2, #0 8055442: 701a strb r2, [r3, #0] cntmeas = 0; 8055444: 4b0d ldr r3, [pc, #52] ; (805547c ) 8055446: 2200 movs r2, #0 8055448: 801a strh r2, [r3, #0] break; 805544a: e20c b.n 8055866 805544c: 00fffffe .word 0x00fffffe 8055450: 20020d74 .word 0x20020d74 8055454: 2002168e .word 0x2002168e 8055458: 20021690 .word 0x20021690 805545c: 20021698 .word 0x20021698 8055460: 200209d0 .word 0x200209d0 8055464: 20020daf .word 0x20020daf 8055468: 20020d7c .word 0x20020d7c 805546c: 64060000 .word 0x64060000 8055470: 20023e60 .word 0x20023e60 8055474: 20020dae .word 0x20020dae 8055478: 20021cdc .word 0x20021cdc 805547c: 20020d80 .word 0x20020d80 8055480: 20020d84 .word 0x20020d84 8055484: 20020d7f .word 0x20020d7f 8055488: 20020d7e .word 0x20020d7e 805548c: 20021688 .word 0x20021688 if(cntmeas >= (Ns >> 2)) 8055490: 4b86 ldr r3, [pc, #536] ; (80556ac ) 8055492: 881b ldrh r3, [r3, #0] 8055494: b29b uxth r3, r3 8055496: 461a mov r2, r3 8055498: 4b85 ldr r3, [pc, #532] ; (80556b0 ) 805549a: 681b ldr r3, [r3, #0] 805549c: 089b lsrs r3, r3, #2 805549e: 429a cmp r2, r3 80554a0: f0c0 81e3 bcc.w 805586a if(READY == DATA_FREE) 80554a4: 4b83 ldr r3, [pc, #524] ; (80556b4 ) 80554a6: 781b ldrb r3, [r3, #0] 80554a8: b2db uxtb r3, r3 80554aa: 2b00 cmp r3, #0 80554ac: f040 81dd bne.w 805586a lastcntmeas = cntADC; 80554b0: 4b81 ldr r3, [pc, #516] ; (80556b8 ) 80554b2: 881b ldrh r3, [r3, #0] 80554b4: b29a uxth r2, r3 80554b6: 4b81 ldr r3, [pc, #516] ; (80556bc ) 80554b8: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 80554ba: 4b7e ldr r3, [pc, #504] ; (80556b4 ) 80554bc: 2207 movs r2, #7 80554be: 701a strb r2, [r3, #0] cntmeas = 0; 80554c0: 4b7a ldr r3, [pc, #488] ; (80556ac ) 80554c2: 2200 movs r2, #0 80554c4: 801a strh r2, [r3, #0] break; 80554c6: bf00 nop 80554c8: e1cf b.n 805586a if(Threshold) 80554ca: 4b7d ldr r3, [pc, #500] ; (80556c0 ) 80554cc: 781b ldrb r3, [r3, #0] 80554ce: b2db uxtb r3, r3 80554d0: 2b00 cmp r3, #0 80554d2: f000 8157 beq.w 8055784 if(FirstTime) 80554d6: 4b7b ldr r3, [pc, #492] ; (80556c4 ) 80554d8: 781b ldrb r3, [r3, #0] 80554da: b2db uxtb r3, r3 80554dc: 2b00 cmp r3, #0 80554de: d01c beq.n 805551a if(cntADC >= (Ns >> 2)) 80554e0: 4b75 ldr r3, [pc, #468] ; (80556b8 ) 80554e2: 881b ldrh r3, [r3, #0] 80554e4: b29b uxth r3, r3 80554e6: 461a mov r2, r3 80554e8: 4b71 ldr r3, [pc, #452] ; (80556b0 ) 80554ea: 681b ldr r3, [r3, #0] 80554ec: 089b lsrs r3, r3, #2 80554ee: 429a cmp r2, r3 80554f0: f0c0 81bc bcc.w 805586c cntmeas = cntmeas1 = 0; 80554f4: 2100 movs r1, #0 80554f6: 4b74 ldr r3, [pc, #464] ; (80556c8 ) 80554f8: 460a mov r2, r1 80554fa: 801a strh r2, [r3, #0] 80554fc: 4b6b ldr r3, [pc, #428] ; (80556ac ) 80554fe: 460a mov r2, r1 8055500: 801a strh r2, [r3, #0] lastcntmeas = cntADC; 8055502: 4b6d ldr r3, [pc, #436] ; (80556b8 ) 8055504: 881b ldrh r3, [r3, #0] 8055506: b29a uxth r2, r3 8055508: 4b6c ldr r3, [pc, #432] ; (80556bc ) 805550a: 801a strh r2, [r3, #0] FirstTime = false; 805550c: 4b6d ldr r3, [pc, #436] ; (80556c4 ) 805550e: 2200 movs r2, #0 8055510: 701a strb r2, [r3, #0] RepeatKm = false; 8055512: 4b6e ldr r3, [pc, #440] ; (80556cc ) 8055514: 2200 movs r2, #0 8055516: 701a strb r2, [r3, #0] } 8055518: e1a8 b.n 805586c if(Recording == false) 805551a: 4b6d ldr r3, [pc, #436] ; (80556d0 ) 805551c: 781b ldrb r3, [r3, #0] 805551e: b2db uxtb r3, r3 8055520: f083 0301 eor.w r3, r3, #1 8055524: b2db uxtb r3, r3 8055526: 2b00 cmp r3, #0 8055528: f000 80e2 beq.w 80556f0 if((pardata.IVS[ACC] & 0x3) != RMS) 805552c: 4b69 ldr r3, [pc, #420] ; (80556d4 ) 805552e: 789b ldrb r3, [r3, #2] 8055530: b2db uxtb r3, r3 8055532: f003 0303 and.w r3, r3, #3 8055536: 2b01 cmp r3, #1 8055538: d06d beq.n 8055616 if(StateThr == 0xffffffff) 805553a: 4b67 ldr r3, [pc, #412] ; (80556d8 ) 805553c: 681b ldr r3, [r3, #0] 805553e: f1b3 3fff cmp.w r3, #4294967295 8055542: d128 bne.n 8055596 if(Data32 >= adcThr) 8055544: 687a ldr r2, [r7, #4] 8055546: 4b65 ldr r3, [pc, #404] ; (80556dc ) 8055548: 681b ldr r3, [r3, #0] 805554a: 429a cmp r2, r3 805554c: d30e bcc.n 805556c cntmeas = 2049; 805554e: 4b57 ldr r3, [pc, #348] ; (80556ac ) 8055550: f640 0201 movw r2, #2049 ; 0x801 8055554: 801a strh r2, [r3, #0] StateThr = 0xfffffffe; 8055556: 4b60 ldr r3, [pc, #384] ; (80556d8 ) 8055558: f06f 0201 mvn.w r2, #1 805555c: 601a str r2, [r3, #0] ZeroThr = cntADC; 805555e: 4b56 ldr r3, [pc, #344] ; (80556b8 ) 8055560: 881b ldrh r3, [r3, #0] 8055562: b29b uxth r3, r3 8055564: 461a mov r2, r3 8055566: 4b5e ldr r3, [pc, #376] ; (80556e0 ) 8055568: 601a str r2, [r3, #0] } 805556a: e17f b.n 805586c if(Data32 <= _adcThr) 805556c: 687a ldr r2, [r7, #4] 805556e: 4b5d ldr r3, [pc, #372] ; (80556e4 ) 8055570: 681b ldr r3, [r3, #0] 8055572: 429a cmp r2, r3 8055574: f200 817a bhi.w 805586c cntmeas = 2049; 8055578: 4b4c ldr r3, [pc, #304] ; (80556ac ) 805557a: f640 0201 movw r2, #2049 ; 0x801 805557e: 801a strh r2, [r3, #0] StateThr = 0xefffffff; 8055580: 4b55 ldr r3, [pc, #340] ; (80556d8 ) 8055582: f06f 5280 mvn.w r2, #268435456 ; 0x10000000 8055586: 601a str r2, [r3, #0] ZeroThr = cntADC; 8055588: 4b4b ldr r3, [pc, #300] ; (80556b8 ) 805558a: 881b ldrh r3, [r3, #0] 805558c: b29b uxth r3, r3 805558e: 461a mov r2, r3 8055590: 4b53 ldr r3, [pc, #332] ; (80556e0 ) 8055592: 601a str r2, [r3, #0] } 8055594: e16a b.n 805586c if(StateThr == 0xfffffffe) 8055596: 4b50 ldr r3, [pc, #320] ; (80556d8 ) 8055598: 681b ldr r3, [r3, #0] 805559a: f113 0f02 cmn.w r3, #2 805559e: d119 bne.n 80555d4 if(Data32 >= adcThr) 80555a0: 687a ldr r2, [r7, #4] 80555a2: 4b4e ldr r3, [pc, #312] ; (80556dc ) 80555a4: 681b ldr r3, [r3, #0] 80555a6: 429a cmp r2, r3 80555a8: d30f bcc.n 80555ca StateThr = 0xffffffff; 80555aa: 4b4b ldr r3, [pc, #300] ; (80556d8 ) 80555ac: f04f 32ff mov.w r2, #4294967295 80555b0: 601a str r2, [r3, #0] cntmeas = 2050; 80555b2: 4b3e ldr r3, [pc, #248] ; (80556ac ) 80555b4: f640 0202 movw r2, #2050 ; 0x802 80555b8: 801a strh r2, [r3, #0] TimeRec = 2050; 80555ba: 4b4b ldr r3, [pc, #300] ; (80556e8 ) 80555bc: f640 0202 movw r2, #2050 ; 0x802 80555c0: 601a str r2, [r3, #0] Recording = true; 80555c2: 4b43 ldr r3, [pc, #268] ; (80556d0 ) 80555c4: 2201 movs r2, #1 80555c6: 701a strb r2, [r3, #0] } 80555c8: e150 b.n 805586c StateThr = 0xffffffff; 80555ca: 4b43 ldr r3, [pc, #268] ; (80556d8 ) 80555cc: f04f 32ff mov.w r2, #4294967295 80555d0: 601a str r2, [r3, #0] } 80555d2: e14b b.n 805586c if(StateThr == 0xefffffff) 80555d4: 4b40 ldr r3, [pc, #256] ; (80556d8 ) 80555d6: 681b ldr r3, [r3, #0] 80555d8: f06f 5280 mvn.w r2, #268435456 ; 0x10000000 80555dc: 4293 cmp r3, r2 80555de: f040 8145 bne.w 805586c if(Data32 <= _adcThr) 80555e2: 687a ldr r2, [r7, #4] 80555e4: 4b3f ldr r3, [pc, #252] ; (80556e4 ) 80555e6: 681b ldr r3, [r3, #0] 80555e8: 429a cmp r2, r3 80555ea: d80f bhi.n 805560c StateThr = 0xffffffff; 80555ec: 4b3a ldr r3, [pc, #232] ; (80556d8 ) 80555ee: f04f 32ff mov.w r2, #4294967295 80555f2: 601a str r2, [r3, #0] cntmeas = 2050; 80555f4: 4b2d ldr r3, [pc, #180] ; (80556ac ) 80555f6: f640 0202 movw r2, #2050 ; 0x802 80555fa: 801a strh r2, [r3, #0] TimeRec = 2050; 80555fc: 4b3a ldr r3, [pc, #232] ; (80556e8 ) 80555fe: f640 0202 movw r2, #2050 ; 0x802 8055602: 601a str r2, [r3, #0] Recording = true; 8055604: 4b32 ldr r3, [pc, #200] ; (80556d0 ) 8055606: 2201 movs r2, #1 8055608: 701a strb r2, [r3, #0] } 805560a: e12f b.n 805586c StateThr = 0xffffffff; 805560c: 4b32 ldr r3, [pc, #200] ; (80556d8 ) 805560e: f04f 32ff mov.w r2, #4294967295 8055612: 601a str r2, [r3, #0] } 8055614: e12a b.n 805586c cntmeas++; 8055616: 4b25 ldr r3, [pc, #148] ; (80556ac ) 8055618: 881b ldrh r3, [r3, #0] 805561a: b29b uxth r3, r3 805561c: 3301 adds r3, #1 805561e: b29a uxth r2, r3 8055620: 4b22 ldr r3, [pc, #136] ; (80556ac ) 8055622: 801a strh r2, [r3, #0] if(cntmeas >= Ns) 8055624: 4b21 ldr r3, [pc, #132] ; (80556ac ) 8055626: 881b ldrh r3, [r3, #0] 8055628: b29b uxth r3, r3 805562a: 461a mov r2, r3 805562c: 4b20 ldr r3, [pc, #128] ; (80556b0 ) 805562e: 681b ldr r3, [r3, #0] 8055630: 429a cmp r2, r3 8055632: f0c0 811b bcc.w 805586c if(cntmeas == Ns) 8055636: 4b1d ldr r3, [pc, #116] ; (80556ac ) 8055638: 881b ldrh r3, [r3, #0] 805563a: b29b uxth r3, r3 805563c: 461a mov r2, r3 805563e: 4b1c ldr r3, [pc, #112] ; (80556b0 ) 8055640: 681b ldr r3, [r3, #0] 8055642: 429a cmp r2, r3 8055644: d10e bne.n 8055664 lastcntmeas = cntADC; 8055646: 4b1c ldr r3, [pc, #112] ; (80556b8 ) 8055648: 881b ldrh r3, [r3, #0] 805564a: b29a uxth r2, r3 805564c: 4b1b ldr r3, [pc, #108] ; (80556bc ) 805564e: 801a strh r2, [r3, #0] measlen = Ns; 8055650: 4b17 ldr r3, [pc, #92] ; (80556b0 ) 8055652: 681b ldr r3, [r3, #0] 8055654: b29a uxth r2, r3 8055656: 4b25 ldr r3, [pc, #148] ; (80556ec ) 8055658: 801a strh r2, [r3, #0] cntmeas1 = cntmeas; 805565a: 4b14 ldr r3, [pc, #80] ; (80556ac ) 805565c: 881b ldrh r3, [r3, #0] 805565e: b29a uxth r2, r3 8055660: 4b19 ldr r3, [pc, #100] ; (80556c8 ) 8055662: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 8055664: 4b13 ldr r3, [pc, #76] ; (80556b4 ) 8055666: 781b ldrb r3, [r3, #0] 8055668: b2db uxtb r3, r3 805566a: 2b00 cmp r3, #0 805566c: f040 80fe bne.w 805586c if(cntmeas > cntmeas1) 8055670: 4b0e ldr r3, [pc, #56] ; (80556ac ) 8055672: 881b ldrh r3, [r3, #0] 8055674: b29a uxth r2, r3 8055676: 4b14 ldr r3, [pc, #80] ; (80556c8 ) 8055678: 881b ldrh r3, [r3, #0] 805567a: b29b uxth r3, r3 805567c: 429a cmp r2, r3 805567e: d90a bls.n 8055696 cntmeas -= cntmeas1; 8055680: 4b11 ldr r3, [pc, #68] ; (80556c8 ) 8055682: 881b ldrh r3, [r3, #0] 8055684: b29b uxth r3, r3 8055686: 4a09 ldr r2, [pc, #36] ; (80556ac ) 8055688: 8812 ldrh r2, [r2, #0] 805568a: b292 uxth r2, r2 805568c: 1ad3 subs r3, r2, r3 805568e: b29a uxth r2, r3 8055690: 4b06 ldr r3, [pc, #24] ; (80556ac ) 8055692: 801a strh r2, [r3, #0] 8055694: e002 b.n 805569c else cntmeas = 0; 8055696: 4b05 ldr r3, [pc, #20] ; (80556ac ) 8055698: 2200 movs r2, #0 805569a: 801a strh r2, [r3, #0] cntmeas1 = 0; 805569c: 4b0a ldr r3, [pc, #40] ; (80556c8 ) 805569e: 2200 movs r2, #0 80556a0: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 80556a2: 4b04 ldr r3, [pc, #16] ; (80556b4 ) 80556a4: 2207 movs r2, #7 80556a6: 701a strb r2, [r3, #0] } 80556a8: e0e0 b.n 805586c 80556aa: bf00 nop 80556ac: 20020d80 .word 0x20020d80 80556b0: 20021cdc .word 0x20021cdc 80556b4: 20020d7f .word 0x20020d7f 80556b8: 20020d7c .word 0x20020d7c 80556bc: 20020d84 .word 0x20020d84 80556c0: 20020db1 .word 0x20020db1 80556c4: 20020dae .word 0x20020dae 80556c8: 20020d82 .word 0x20020d82 80556cc: 20020dac .word 0x20020dac 80556d0: 20020db0 .word 0x20020db0 80556d4: 20023e60 .word 0x20023e60 80556d8: 2002002c .word 0x2002002c 80556dc: 20020dbc .word 0x20020dbc 80556e0: 20020dc4 .word 0x20020dc4 80556e4: 20020dc0 .word 0x20020dc0 80556e8: 20021684 .word 0x20021684 80556ec: 20020d8c .word 0x20020d8c cntmeas++; 80556f0: 4b60 ldr r3, [pc, #384] ; (8055874 ) 80556f2: 881b ldrh r3, [r3, #0] 80556f4: b29b uxth r3, r3 80556f6: 3301 adds r3, #1 80556f8: b29a uxth r2, r3 80556fa: 4b5e ldr r3, [pc, #376] ; (8055874 ) 80556fc: 801a strh r2, [r3, #0] if(cntmeas >= Ns) 80556fe: 4b5d ldr r3, [pc, #372] ; (8055874 ) 8055700: 881b ldrh r3, [r3, #0] 8055702: b29b uxth r3, r3 8055704: 461a mov r2, r3 8055706: 4b5c ldr r3, [pc, #368] ; (8055878 ) 8055708: 681b ldr r3, [r3, #0] 805570a: 429a cmp r2, r3 805570c: f0c0 80ae bcc.w 805586c if(cntmeas == Ns) 8055710: 4b58 ldr r3, [pc, #352] ; (8055874 ) 8055712: 881b ldrh r3, [r3, #0] 8055714: b29b uxth r3, r3 8055716: 461a mov r2, r3 8055718: 4b57 ldr r3, [pc, #348] ; (8055878 ) 805571a: 681b ldr r3, [r3, #0] 805571c: 429a cmp r2, r3 805571e: d10e bne.n 805573e lastcntmeas = cntADC; 8055720: 4b56 ldr r3, [pc, #344] ; (805587c ) 8055722: 881b ldrh r3, [r3, #0] 8055724: b29a uxth r2, r3 8055726: 4b56 ldr r3, [pc, #344] ; (8055880 ) 8055728: 801a strh r2, [r3, #0] measlen = Ns; 805572a: 4b53 ldr r3, [pc, #332] ; (8055878 ) 805572c: 681b ldr r3, [r3, #0] 805572e: b29a uxth r2, r3 8055730: 4b54 ldr r3, [pc, #336] ; (8055884 ) 8055732: 801a strh r2, [r3, #0] cntmeas1 = cntmeas; 8055734: 4b4f ldr r3, [pc, #316] ; (8055874 ) 8055736: 881b ldrh r3, [r3, #0] 8055738: b29a uxth r2, r3 805573a: 4b53 ldr r3, [pc, #332] ; (8055888 ) 805573c: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 805573e: 4b53 ldr r3, [pc, #332] ; (805588c ) 8055740: 781b ldrb r3, [r3, #0] 8055742: b2db uxtb r3, r3 8055744: 2b00 cmp r3, #0 8055746: f040 8091 bne.w 805586c if(cntmeas > cntmeas1) 805574a: 4b4a ldr r3, [pc, #296] ; (8055874 ) 805574c: 881b ldrh r3, [r3, #0] 805574e: b29a uxth r2, r3 8055750: 4b4d ldr r3, [pc, #308] ; (8055888 ) 8055752: 881b ldrh r3, [r3, #0] 8055754: b29b uxth r3, r3 8055756: 429a cmp r2, r3 8055758: d90a bls.n 8055770 cntmeas -= cntmeas1; 805575a: 4b4b ldr r3, [pc, #300] ; (8055888 ) 805575c: 881b ldrh r3, [r3, #0] 805575e: b29b uxth r3, r3 8055760: 4a44 ldr r2, [pc, #272] ; (8055874 ) 8055762: 8812 ldrh r2, [r2, #0] 8055764: b292 uxth r2, r2 8055766: 1ad3 subs r3, r2, r3 8055768: b29a uxth r2, r3 805576a: 4b42 ldr r3, [pc, #264] ; (8055874 ) 805576c: 801a strh r2, [r3, #0] 805576e: e002 b.n 8055776 else cntmeas = 0; 8055770: 4b40 ldr r3, [pc, #256] ; (8055874 ) 8055772: 2200 movs r2, #0 8055774: 801a strh r2, [r3, #0] cntmeas1 = 0; 8055776: 4b44 ldr r3, [pc, #272] ; (8055888 ) 8055778: 2200 movs r2, #0 805577a: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 805577c: 4b43 ldr r3, [pc, #268] ; (805588c ) 805577e: 2207 movs r2, #7 8055780: 701a strb r2, [r3, #0] } 8055782: e073 b.n 805586c if(FirstTime) 8055784: 4b42 ldr r3, [pc, #264] ; (8055890 ) 8055786: 781b ldrb r3, [r3, #0] 8055788: b2db uxtb r3, r3 805578a: 2b00 cmp r3, #0 805578c: d01f beq.n 80557ce if(cntADC >= Ns) 805578e: 4b3b ldr r3, [pc, #236] ; (805587c ) 8055790: 881b ldrh r3, [r3, #0] 8055792: b29b uxth r3, r3 8055794: 461a mov r2, r3 8055796: 4b38 ldr r3, [pc, #224] ; (8055878 ) 8055798: 681b ldr r3, [r3, #0] 805579a: 429a cmp r2, r3 805579c: d366 bcc.n 805586c measlen = cntADC; 805579e: 4b37 ldr r3, [pc, #220] ; (805587c ) 80557a0: 881b ldrh r3, [r3, #0] 80557a2: b29a uxth r2, r3 80557a4: 4b37 ldr r3, [pc, #220] ; (8055884 ) 80557a6: 801a strh r2, [r3, #0] lastcntmeas = cntADC; 80557a8: 4b34 ldr r3, [pc, #208] ; (805587c ) 80557aa: 881b ldrh r3, [r3, #0] 80557ac: b29a uxth r2, r3 80557ae: 4b34 ldr r3, [pc, #208] ; (8055880 ) 80557b0: 801a strh r2, [r3, #0] FirstTime = false; 80557b2: 4b37 ldr r3, [pc, #220] ; (8055890 ) 80557b4: 2200 movs r2, #0 80557b6: 701a strb r2, [r3, #0] cntmeas = cntmeas1 = 0; 80557b8: 2100 movs r1, #0 80557ba: 4b33 ldr r3, [pc, #204] ; (8055888 ) 80557bc: 460a mov r2, r1 80557be: 801a strh r2, [r3, #0] 80557c0: 4b2c ldr r3, [pc, #176] ; (8055874 ) 80557c2: 460a mov r2, r1 80557c4: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 80557c6: 4b31 ldr r3, [pc, #196] ; (805588c ) 80557c8: 2207 movs r2, #7 80557ca: 701a strb r2, [r3, #0] } 80557cc: e04e b.n 805586c cntmeas++; 80557ce: 4b29 ldr r3, [pc, #164] ; (8055874 ) 80557d0: 881b ldrh r3, [r3, #0] 80557d2: b29b uxth r3, r3 80557d4: 3301 adds r3, #1 80557d6: b29a uxth r2, r3 80557d8: 4b26 ldr r3, [pc, #152] ; (8055874 ) 80557da: 801a strh r2, [r3, #0] if(cntmeas >= Ns) 80557dc: 4b25 ldr r3, [pc, #148] ; (8055874 ) 80557de: 881b ldrh r3, [r3, #0] 80557e0: b29b uxth r3, r3 80557e2: 461a mov r2, r3 80557e4: 4b24 ldr r3, [pc, #144] ; (8055878 ) 80557e6: 681b ldr r3, [r3, #0] 80557e8: 429a cmp r2, r3 80557ea: d33f bcc.n 805586c if(cntmeas == Ns) 80557ec: 4b21 ldr r3, [pc, #132] ; (8055874 ) 80557ee: 881b ldrh r3, [r3, #0] 80557f0: b29b uxth r3, r3 80557f2: 461a mov r2, r3 80557f4: 4b20 ldr r3, [pc, #128] ; (8055878 ) 80557f6: 681b ldr r3, [r3, #0] 80557f8: 429a cmp r2, r3 80557fa: d10e bne.n 805581a lastcntmeas = cntADC; 80557fc: 4b1f ldr r3, [pc, #124] ; (805587c ) 80557fe: 881b ldrh r3, [r3, #0] 8055800: b29a uxth r2, r3 8055802: 4b1f ldr r3, [pc, #124] ; (8055880 ) 8055804: 801a strh r2, [r3, #0] measlen = Ns; 8055806: 4b1c ldr r3, [pc, #112] ; (8055878 ) 8055808: 681b ldr r3, [r3, #0] 805580a: b29a uxth r2, r3 805580c: 4b1d ldr r3, [pc, #116] ; (8055884 ) 805580e: 801a strh r2, [r3, #0] cntmeas1 = cntmeas; 8055810: 4b18 ldr r3, [pc, #96] ; (8055874 ) 8055812: 881b ldrh r3, [r3, #0] 8055814: b29a uxth r2, r3 8055816: 4b1c ldr r3, [pc, #112] ; (8055888 ) 8055818: 801a strh r2, [r3, #0] if(READY == DATA_FREE) 805581a: 4b1c ldr r3, [pc, #112] ; (805588c ) 805581c: 781b ldrb r3, [r3, #0] 805581e: b2db uxtb r3, r3 8055820: 2b00 cmp r3, #0 8055822: d123 bne.n 805586c if(cntmeas > cntmeas1) 8055824: 4b13 ldr r3, [pc, #76] ; (8055874 ) 8055826: 881b ldrh r3, [r3, #0] 8055828: b29a uxth r2, r3 805582a: 4b17 ldr r3, [pc, #92] ; (8055888 ) 805582c: 881b ldrh r3, [r3, #0] 805582e: b29b uxth r3, r3 8055830: 429a cmp r2, r3 8055832: d90a bls.n 805584a cntmeas -= cntmeas1; 8055834: 4b14 ldr r3, [pc, #80] ; (8055888 ) 8055836: 881b ldrh r3, [r3, #0] 8055838: b29b uxth r3, r3 805583a: 4a0e ldr r2, [pc, #56] ; (8055874 ) 805583c: 8812 ldrh r2, [r2, #0] 805583e: b292 uxth r2, r2 8055840: 1ad3 subs r3, r2, r3 8055842: b29a uxth r2, r3 8055844: 4b0b ldr r3, [pc, #44] ; (8055874 ) 8055846: 801a strh r2, [r3, #0] 8055848: e002 b.n 8055850 else cntmeas = 0; 805584a: 4b0a ldr r3, [pc, #40] ; (8055874 ) 805584c: 2200 movs r2, #0 805584e: 801a strh r2, [r3, #0] cntmeas1 = 0; 8055850: 4b0d ldr r3, [pc, #52] ; (8055888 ) 8055852: 2200 movs r2, #0 8055854: 801a strh r2, [r3, #0] READY = DATA_CAPTURED; 8055856: 4b0d ldr r3, [pc, #52] ; (805588c ) 8055858: 2207 movs r2, #7 805585a: 701a strb r2, [r3, #0] } 805585c: e006 b.n 805586c break; 805585e: bf00 nop 8055860: e004 b.n 805586c break; 8055862: bf00 nop 8055864: e002 b.n 805586c break; 8055866: bf00 nop 8055868: e000 b.n 805586c break; 805586a: bf00 nop } 805586c: bf00 nop 805586e: 3708 adds r7, #8 8055870: 46bd mov sp, r7 8055872: bd80 pop {r7, pc} 8055874: 20020d80 .word 0x20020d80 8055878: 20021cdc .word 0x20021cdc 805587c: 20020d7c .word 0x20020d7c 8055880: 20020d84 .word 0x20020d84 8055884: 20020d8c .word 0x20020d8c 8055888: 20020d82 .word 0x20020d82 805588c: 20020d7f .word 0x20020d7f 8055890: 20020dae .word 0x20020dae 08055894 : __IO uint32_t tick1 = 0; __IO uint32_t tick2 = 0; __IO uint32_t MW = 0; void HAL_ADC_ConvCpltCallback(ADC_HandleTypeDef* hadc) //todo { 8055894: b580 push {r7, lr} 8055896: b082 sub sp, #8 8055898: af00 add r7, sp, #0 805589a: 6078 str r0, [r7, #4] static uint8_t oldState = 0xf; int32_t V32, i; uint32_t adc; if(hadc->Instance == ADC3) 805589c: 687b ldr r3, [r7, #4] 805589e: 681b ldr r3, [r3, #0] 80558a0: 4a48 ldr r2, [pc, #288] ; (80559c4 ) 80558a2: 4293 cmp r3, r2 80558a4: d141 bne.n 805592a { //TACHO memcpy((void *) &AdcBuff_16(cntADC), (void *) &DMA_Udar_u16(0), 32768u); 80558a6: 4b48 ldr r3, [pc, #288] ; (80559c8 ) 80558a8: 881b ldrh r3, [r3, #0] 80558aa: b29b uxth r3, r3 80558ac: 005b lsls r3, r3, #1 80558ae: 461a mov r2, r3 80558b0: 4b46 ldr r3, [pc, #280] ; (80559cc ) 80558b2: 4413 add r3, r2 80558b4: f44f 4200 mov.w r2, #32768 ; 0x8000 80558b8: 4945 ldr r1, [pc, #276] ; (80559d0 ) 80558ba: 4618 mov r0, r3 80558bc: f077 fbd5 bl 80cd06a if(measuring) 80558c0: 4b44 ldr r3, [pc, #272] ; (80559d4 ) 80558c2: 781b ldrb r3, [r3, #0] 80558c4: b2db uxtb r3, r3 80558c6: 2b00 cmp r3, #0 80558c8: d077 beq.n 80559ba { cntADC += HALF_UDAR_BUFF; 80558ca: 4b3f ldr r3, [pc, #252] ; (80559c8 ) 80558cc: 881b ldrh r3, [r3, #0] 80558ce: b29b uxth r3, r3 80558d0: f503 4380 add.w r3, r3, #16384 ; 0x4000 80558d4: b29a uxth r2, r3 80558d6: 4b3c ldr r3, [pc, #240] ; (80559c8 ) 80558d8: 801a strh r2, [r3, #0] if(cntADC == HALF_UDAR_BUFF) 80558da: 4b3b ldr r3, [pc, #236] ; (80559c8 ) 80558dc: 881b ldrh r3, [r3, #0] 80558de: b29b uxth r3, r3 80558e0: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 80558e4: d108 bne.n 80558f8 { READY = 1; 80558e6: 4b3c ldr r3, [pc, #240] ; (80559d8 ) 80558e8: 2201 movs r2, #1 80558ea: 701a strb r2, [r3, #0] tick1 = HAL_GetTick(); 80558ec: f05d fcc0 bl 80b3270 80558f0: 4602 mov r2, r0 80558f2: 4b3a ldr r3, [pc, #232] ; (80559dc ) 80558f4: 601a str r2, [r3, #0] } } } } /*}*/ } 80558f6: e060 b.n 80559ba if(cntADC == SIZE_UDAR_BUFF) 80558f8: 4b33 ldr r3, [pc, #204] ; (80559c8 ) 80558fa: 881b ldrh r3, [r3, #0] 80558fc: b29b uxth r3, r3 80558fe: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 8055902: d15a bne.n 80559ba READY = 2; 8055904: 4b34 ldr r3, [pc, #208] ; (80559d8 ) 8055906: 2202 movs r2, #2 8055908: 701a strb r2, [r3, #0] cntADC = 0; 805590a: 4b2f ldr r3, [pc, #188] ; (80559c8 ) 805590c: 2200 movs r2, #0 805590e: 801a strh r2, [r3, #0] tick2 = HAL_GetTick(); 8055910: f05d fcae bl 80b3270 8055914: 4602 mov r2, r0 8055916: 4b32 ldr r3, [pc, #200] ; (80559e0 ) 8055918: 601a str r2, [r3, #0] MW = tick2 - tick1; 805591a: 4b31 ldr r3, [pc, #196] ; (80559e0 ) 805591c: 681a ldr r2, [r3, #0] 805591e: 4b2f ldr r3, [pc, #188] ; (80559dc ) 8055920: 681b ldr r3, [r3, #0] 8055922: 1ad3 subs r3, r2, r3 8055924: 4a2f ldr r2, [pc, #188] ; (80559e4 ) 8055926: 6013 str r3, [r2, #0] } 8055928: e047 b.n 80559ba memcpy((void *) &AdcBuff_16(cntADC), (void *) &DMA_Udar_u16(0), 32768u); 805592a: 4b27 ldr r3, [pc, #156] ; (80559c8 ) 805592c: 881b ldrh r3, [r3, #0] 805592e: b29b uxth r3, r3 8055930: 005b lsls r3, r3, #1 8055932: 461a mov r2, r3 8055934: 4b25 ldr r3, [pc, #148] ; (80559cc ) 8055936: 4413 add r3, r2 8055938: f44f 4200 mov.w r2, #32768 ; 0x8000 805593c: 4924 ldr r1, [pc, #144] ; (80559d0 ) 805593e: 4618 mov r0, r3 8055940: f077 fb93 bl 80cd06a if(measuring) 8055944: 4b23 ldr r3, [pc, #140] ; (80559d4 ) 8055946: 781b ldrb r3, [r3, #0] 8055948: b2db uxtb r3, r3 805594a: 2b00 cmp r3, #0 805594c: d035 beq.n 80559ba cntADC += HALF_UDAR_BUFF; 805594e: 4b1e ldr r3, [pc, #120] ; (80559c8 ) 8055950: 881b ldrh r3, [r3, #0] 8055952: b29b uxth r3, r3 8055954: f503 4380 add.w r3, r3, #16384 ; 0x4000 8055958: b29a uxth r2, r3 805595a: 4b1b ldr r3, [pc, #108] ; (80559c8 ) 805595c: 801a strh r2, [r3, #0] if(cntADC == HALF_UDAR_BUFF) 805595e: 4b1a ldr r3, [pc, #104] ; (80559c8 ) 8055960: 881b ldrh r3, [r3, #0] 8055962: b29b uxth r3, r3 8055964: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8055968: d108 bne.n 805597c READY = 1; 805596a: 4b1b ldr r3, [pc, #108] ; (80559d8 ) 805596c: 2201 movs r2, #1 805596e: 701a strb r2, [r3, #0] tick1 = HAL_GetTick(); 8055970: f05d fc7e bl 80b3270 8055974: 4602 mov r2, r0 8055976: 4b19 ldr r3, [pc, #100] ; (80559dc ) 8055978: 601a str r2, [r3, #0] } 805597a: e01e b.n 80559ba if(cntADC == SIZE_UDAR_BUFF) 805597c: 4b12 ldr r3, [pc, #72] ; (80559c8 ) 805597e: 881b ldrh r3, [r3, #0] 8055980: b29b uxth r3, r3 8055982: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 8055986: d118 bne.n 80559ba READY = 2; 8055988: 4b13 ldr r3, [pc, #76] ; (80559d8 ) 805598a: 2202 movs r2, #2 805598c: 701a strb r2, [r3, #0] cntADC = 0; 805598e: 4b0e ldr r3, [pc, #56] ; (80559c8 ) 8055990: 2200 movs r2, #0 8055992: 801a strh r2, [r3, #0] tick2 = HAL_GetTick(); 8055994: f05d fc6c bl 80b3270 8055998: 4602 mov r2, r0 805599a: 4b11 ldr r3, [pc, #68] ; (80559e0 ) 805599c: 601a str r2, [r3, #0] MW = tick2 - tick1; 805599e: 4b10 ldr r3, [pc, #64] ; (80559e0 ) 80559a0: 681a ldr r2, [r3, #0] 80559a2: 4b0e ldr r3, [pc, #56] ; (80559dc ) 80559a4: 681b ldr r3, [r3, #0] 80559a6: 1ad3 subs r3, r2, r3 80559a8: 4a0e ldr r2, [pc, #56] ; (80559e4 ) 80559aa: 6013 str r3, [r2, #0] if(MW < 80) 80559ac: 4b0d ldr r3, [pc, #52] ; (80559e4 ) 80559ae: 681b ldr r3, [r3, #0] 80559b0: 2b4f cmp r3, #79 ; 0x4f 80559b2: d802 bhi.n 80559ba cntADC = 0; 80559b4: 4b04 ldr r3, [pc, #16] ; (80559c8 ) 80559b6: 2200 movs r2, #0 80559b8: 801a strh r2, [r3, #0] } 80559ba: bf00 nop 80559bc: 3708 adds r7, #8 80559be: 46bd mov sp, r7 80559c0: bd80 pop {r7, pc} 80559c2: bf00 nop 80559c4: 40012200 .word 0x40012200 80559c8: 20020d7c .word 0x20020d7c 80559cc: 64060000 .word 0x64060000 80559d0: 64090000 .word 0x64090000 80559d4: 20020daf .word 0x20020daf 80559d8: 20020d7f .word 0x20020d7f 80559dc: 20021004 .word 0x20021004 80559e0: 20021008 .word 0x20021008 80559e4: 2002100c .word 0x2002100c 080559e8 : * in is negative value and returns zero output for negative values. */ static __INLINE arm_status arm_sqrt_f32( float32_t in, float32_t * pOut) { 80559e8: b580 push {r7, lr} 80559ea: b082 sub sp, #8 80559ec: af00 add r7, sp, #0 80559ee: ed87 0a01 vstr s0, [r7, #4] 80559f2: 6038 str r0, [r7, #0] if(in >= 0.0f) 80559f4: edd7 7a01 vldr s15, [r7, #4] 80559f8: eef5 7ac0 vcmpe.f32 s15, #0.0 80559fc: eef1 fa10 vmrs APSR_nzcv, fpscr 8055a00: db0a blt.n 8055a18 #if (__FPU_USED == 1) && defined ( __CC_ARM ) *pOut = __sqrtf(in); #elif (__FPU_USED == 1) && (defined(__ARMCC_VERSION) && (__ARMCC_VERSION >= 6010050)) *pOut = __builtin_sqrtf(in); #elif (__FPU_USED == 1) && defined(__GNUC__) *pOut = __builtin_sqrtf(in); 8055a02: ed97 0a01 vldr s0, [r7, #4] 8055a06: f075 fc3b bl 80cb280 8055a0a: eef0 7a40 vmov.f32 s15, s0 8055a0e: 683b ldr r3, [r7, #0] 8055a10: edc3 7a00 vstr s15, [r3] __ASM("VSQRT.F32 %0,%1" : "=t"(*pOut) : "t"(in)); #else *pOut = sqrtf(in); #endif return (ARM_MATH_SUCCESS); 8055a14: 2300 movs r3, #0 8055a16: e005 b.n 8055a24 } else { *pOut = 0.0f; 8055a18: 683b ldr r3, [r7, #0] 8055a1a: f04f 0200 mov.w r2, #0 8055a1e: 601a str r2, [r3, #0] return (ARM_MATH_ARGUMENT_ERROR); 8055a20: f04f 33ff mov.w r3, #4294967295 } } 8055a24: 4618 mov r0, r3 8055a26: 3708 adds r7, #8 8055a28: 46bd mov sp, r7 8055a2a: bd80 pop {r7, pc} 08055a2c : __IO float32_t dBm_MAX = 0; int8_t CalculateGain(uint32_t SygPoints) { 8055a2c: b480 push {r7} 8055a2e: b08b sub sp, #44 ; 0x2c 8055a30: af00 add r7, sp, #0 8055a32: 6078 str r0, [r7, #4] __IO uint8_t dB_s = 0; 8055a34: 2300 movs r3, #0 8055a36: 74fb strb r3, [r7, #19] __IO uint32_t i; __IO uint32_t Ym; float32_t Yf, fmax; uint32_t mean = (uint32_t) MEAN; 8055a38: 4b86 ldr r3, [pc, #536] ; (8055c54 ) 8055a3a: edd3 7a00 vldr s15, [r3] 8055a3e: eefc 7ae7 vcvt.u32.f32 s15, s15 8055a42: ee17 3a90 vmov r3, s15 8055a46: 627b str r3, [r7, #36] ; 0x24 uint32_t UMAX = mean + 0x3FD380; // MeanPoint + 1,25V 8055a48: 6a7a ldr r2, [r7, #36] ; 0x24 8055a4a: 4b83 ldr r3, [pc, #524] ; (8055c58 ) 8055a4c: 4413 add r3, r2 8055a4e: 623b str r3, [r7, #32] uint32_t UMIN = mean + 0x154680; // MeanPoint + 1,25V 8055a50: 6a7a ldr r2, [r7, #36] ; 0x24 8055a52: 4b82 ldr r3, [pc, #520] ; (8055c5c ) 8055a54: 4413 add r3, r2 8055a56: 61fb str r3, [r7, #28] if(pardata.SYG == UDAR) //TODO 8055a58: 4b81 ldr r3, [pc, #516] ; (8055c60 ) 8055a5a: 781b ldrb r3, [r3, #0] 8055a5c: b2db uxtb r3, r3 8055a5e: 2b09 cmp r3, #9 8055a60: f040 81b8 bne.w 8055dd4 { for(i = 0; i < SygPoints >> 1; i++) 8055a64: 2300 movs r3, #0 8055a66: 60fb str r3, [r7, #12] 8055a68: e061 b.n 8055b2e { if(Vup < In16[i].sh[0]) Vup = In16[i].sh[0]; 8055a6a: 68fb ldr r3, [r7, #12] 8055a6c: 4a7d ldr r2, [pc, #500] ; (8055c64 ) 8055a6e: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 8055a72: 461a mov r2, r3 8055a74: 4b7c ldr r3, [pc, #496] ; (8055c68 ) 8055a76: 681b ldr r3, [r3, #0] 8055a78: 429a cmp r2, r3 8055a7a: d906 bls.n 8055a8a 8055a7c: 68fb ldr r3, [r7, #12] 8055a7e: 4a79 ldr r2, [pc, #484] ; (8055c64 ) 8055a80: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 8055a84: 461a mov r2, r3 8055a86: 4b78 ldr r3, [pc, #480] ; (8055c68 ) 8055a88: 601a str r2, [r3, #0] if(Vdn > In16[i].sh[0]) Vdn = In16[i].sh[0]; 8055a8a: 68fb ldr r3, [r7, #12] 8055a8c: 4a75 ldr r2, [pc, #468] ; (8055c64 ) 8055a8e: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 8055a92: 461a mov r2, r3 8055a94: 4b75 ldr r3, [pc, #468] ; (8055c6c ) 8055a96: 681b ldr r3, [r3, #0] 8055a98: 429a cmp r2, r3 8055a9a: d206 bcs.n 8055aaa 8055a9c: 68fb ldr r3, [r7, #12] 8055a9e: 4a71 ldr r2, [pc, #452] ; (8055c64 ) 8055aa0: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 8055aa4: 461a mov r2, r3 8055aa6: 4b71 ldr r3, [pc, #452] ; (8055c6c ) 8055aa8: 601a str r2, [r3, #0] if(In16[i].sh[0] > 3900) NUMPOINTS++; 8055aaa: 68fb ldr r3, [r7, #12] 8055aac: 4a6d ldr r2, [pc, #436] ; (8055c64 ) 8055aae: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 8055ab2: f640 723c movw r2, #3900 ; 0xf3c 8055ab6: 4293 cmp r3, r2 8055ab8: d904 bls.n 8055ac4 8055aba: 4b6d ldr r3, [pc, #436] ; (8055c70 ) 8055abc: 681b ldr r3, [r3, #0] 8055abe: 3301 adds r3, #1 8055ac0: 4a6b ldr r2, [pc, #428] ; (8055c70 ) 8055ac2: 6013 str r3, [r2, #0] if(Vup < In16[i].sh[1]) Vup = In16[i].sh[1]; 8055ac4: 68fb ldr r3, [r7, #12] 8055ac6: 4a67 ldr r2, [pc, #412] ; (8055c64 ) 8055ac8: 009b lsls r3, r3, #2 8055aca: 4413 add r3, r2 8055acc: 885b ldrh r3, [r3, #2] 8055ace: 461a mov r2, r3 8055ad0: 4b65 ldr r3, [pc, #404] ; (8055c68 ) 8055ad2: 681b ldr r3, [r3, #0] 8055ad4: 429a cmp r2, r3 8055ad6: d907 bls.n 8055ae8 8055ad8: 68fb ldr r3, [r7, #12] 8055ada: 4a62 ldr r2, [pc, #392] ; (8055c64 ) 8055adc: 009b lsls r3, r3, #2 8055ade: 4413 add r3, r2 8055ae0: 885b ldrh r3, [r3, #2] 8055ae2: 461a mov r2, r3 8055ae4: 4b60 ldr r3, [pc, #384] ; (8055c68 ) 8055ae6: 601a str r2, [r3, #0] if(Vdn > In16[i].sh[1]) Vdn = In16[i].sh[1]; 8055ae8: 68fb ldr r3, [r7, #12] 8055aea: 4a5e ldr r2, [pc, #376] ; (8055c64 ) 8055aec: 009b lsls r3, r3, #2 8055aee: 4413 add r3, r2 8055af0: 885b ldrh r3, [r3, #2] 8055af2: 461a mov r2, r3 8055af4: 4b5d ldr r3, [pc, #372] ; (8055c6c ) 8055af6: 681b ldr r3, [r3, #0] 8055af8: 429a cmp r2, r3 8055afa: d207 bcs.n 8055b0c 8055afc: 68fb ldr r3, [r7, #12] 8055afe: 4a59 ldr r2, [pc, #356] ; (8055c64 ) 8055b00: 009b lsls r3, r3, #2 8055b02: 4413 add r3, r2 8055b04: 885b ldrh r3, [r3, #2] 8055b06: 461a mov r2, r3 8055b08: 4b58 ldr r3, [pc, #352] ; (8055c6c ) 8055b0a: 601a str r2, [r3, #0] if(In16[i].sh[1] > 3900) NUMPOINTS++; 8055b0c: 68fb ldr r3, [r7, #12] 8055b0e: 4a55 ldr r2, [pc, #340] ; (8055c64 ) 8055b10: 009b lsls r3, r3, #2 8055b12: 4413 add r3, r2 8055b14: 885b ldrh r3, [r3, #2] 8055b16: f640 723c movw r2, #3900 ; 0xf3c 8055b1a: 4293 cmp r3, r2 8055b1c: d904 bls.n 8055b28 8055b1e: 4b54 ldr r3, [pc, #336] ; (8055c70 ) 8055b20: 681b ldr r3, [r3, #0] 8055b22: 3301 adds r3, #1 8055b24: 4a52 ldr r2, [pc, #328] ; (8055c70 ) 8055b26: 6013 str r3, [r2, #0] for(i = 0; i < SygPoints >> 1; i++) 8055b28: 68fb ldr r3, [r7, #12] 8055b2a: 3301 adds r3, #1 8055b2c: 60fb str r3, [r7, #12] 8055b2e: 687b ldr r3, [r7, #4] 8055b30: 085a lsrs r2, r3, #1 8055b32: 68fb ldr r3, [r7, #12] 8055b34: 429a cmp r2, r3 8055b36: d898 bhi.n 8055a6a } NR++; 8055b38: 4b4e ldr r3, [pc, #312] ; (8055c74 ) 8055b3a: 681b ldr r3, [r3, #0] 8055b3c: 3301 adds r3, #1 8055b3e: 4a4d ldr r2, [pc, #308] ; (8055c74 ) 8055b40: 6013 str r3, [r2, #0] if(NR >= Nr) 8055b42: 4b4d ldr r3, [pc, #308] ; (8055c78 ) 8055b44: 881b ldrh r3, [r3, #0] 8055b46: b29b uxth r3, r3 8055b48: 461a mov r2, r3 8055b4a: 4b4a ldr r3, [pc, #296] ; (8055c74 ) 8055b4c: 681b ldr r3, [r3, #0] 8055b4e: 429a cmp r2, r3 8055b50: f200 82c8 bhi.w 80560e4 { NR = 0; 8055b54: 4b47 ldr r3, [pc, #284] ; (8055c74 ) 8055b56: 2200 movs r2, #0 8055b58: 601a str r2, [r3, #0] Ym = Vup; 8055b5a: 4b43 ldr r3, [pc, #268] ; (8055c68 ) 8055b5c: 681b ldr r3, [r3, #0] 8055b5e: 60bb str r3, [r7, #8] if(Vup < 2200) 8055b60: 4b41 ldr r3, [pc, #260] ; (8055c68 ) 8055b62: 681b ldr r3, [r3, #0] 8055b64: f640 0297 movw r2, #2199 ; 0x897 8055b68: 4293 cmp r3, r2 8055b6a: d807 bhi.n 8055b7c Vup = 2200 - Vup; 8055b6c: 4b3e ldr r3, [pc, #248] ; (8055c68 ) 8055b6e: 681a ldr r2, [r3, #0] 8055b70: f640 0398 movw r3, #2200 ; 0x898 8055b74: 1a9b subs r3, r3, r2 8055b76: 4a3c ldr r2, [pc, #240] ; (8055c68 ) 8055b78: 6013 str r3, [r2, #0] 8055b7a: e005 b.n 8055b88 else Vup = Vup - 2200; 8055b7c: 4b3a ldr r3, [pc, #232] ; (8055c68 ) 8055b7e: 681b ldr r3, [r3, #0] 8055b80: f6a3 0398 subw r3, r3, #2200 ; 0x898 8055b84: 4a38 ldr r2, [pc, #224] ; (8055c68 ) 8055b86: 6013 str r3, [r2, #0] if(Vdn > 2200) 8055b88: 4b38 ldr r3, [pc, #224] ; (8055c6c ) 8055b8a: 681b ldr r3, [r3, #0] 8055b8c: f640 0298 movw r2, #2200 ; 0x898 8055b90: 4293 cmp r3, r2 8055b92: d906 bls.n 8055ba2 Vdn = Vdn - 2200; 8055b94: 4b35 ldr r3, [pc, #212] ; (8055c6c ) 8055b96: 681b ldr r3, [r3, #0] 8055b98: f6a3 0398 subw r3, r3, #2200 ; 0x898 8055b9c: 4a33 ldr r2, [pc, #204] ; (8055c6c ) 8055b9e: 6013 str r3, [r2, #0] 8055ba0: e006 b.n 8055bb0 else Vdn = 2200 - Vdn; 8055ba2: 4b32 ldr r3, [pc, #200] ; (8055c6c ) 8055ba4: 681a ldr r2, [r3, #0] 8055ba6: f640 0398 movw r3, #2200 ; 0x898 8055baa: 1a9b subs r3, r3, r2 8055bac: 4a2f ldr r2, [pc, #188] ; (8055c6c ) 8055bae: 6013 str r3, [r2, #0] if(Vup > Vdn) 8055bb0: 4b2d ldr r3, [pc, #180] ; (8055c68 ) 8055bb2: 681a ldr r2, [r3, #0] 8055bb4: 4b2d ldr r3, [pc, #180] ; (8055c6c ) 8055bb6: 681b ldr r3, [r3, #0] 8055bb8: 429a cmp r2, r3 8055bba: d905 bls.n 8055bc8 Ym = Vup + 2200; 8055bbc: 4b2a ldr r3, [pc, #168] ; (8055c68 ) 8055bbe: 681b ldr r3, [r3, #0] 8055bc0: f603 0398 addw r3, r3, #2200 ; 0x898 8055bc4: 60bb str r3, [r7, #8] 8055bc6: e008 b.n 8055bda else { Vup = Vdn; 8055bc8: 4b28 ldr r3, [pc, #160] ; (8055c6c ) 8055bca: 681b ldr r3, [r3, #0] 8055bcc: 4a26 ldr r2, [pc, #152] ; (8055c68 ) 8055bce: 6013 str r3, [r2, #0] Ym = Vdn + 2200; 8055bd0: 4b26 ldr r3, [pc, #152] ; (8055c6c ) 8055bd2: 681b ldr r3, [r3, #0] 8055bd4: f603 0398 addw r3, r3, #2200 ; 0x898 8055bd8: 60bb str r3, [r7, #8] Vdn = 0xffffff; return 0; }*/ if(NUMPOINTS) 8055bda: 4b25 ldr r3, [pc, #148] ; (8055c70 ) 8055bdc: 681b ldr r3, [r3, #0] 8055bde: 2b00 cmp r3, #0 8055be0: d054 beq.n 8055c8c { NeedKmUp = 0; 8055be2: 4b26 ldr r3, [pc, #152] ; (8055c7c ) 8055be4: 2200 movs r2, #0 8055be6: 701a strb r2, [r3, #0] NeedKmDown++; 8055be8: 4b25 ldr r3, [pc, #148] ; (8055c80 ) 8055bea: 781b ldrb r3, [r3, #0] 8055bec: b2db uxtb r3, r3 8055bee: 3301 adds r3, #1 8055bf0: b2da uxtb r2, r3 8055bf2: 4b23 ldr r3, [pc, #140] ; (8055c80 ) 8055bf4: 701a strb r2, [r3, #0] if((NeedKmDown >= TimeKmDown) || (FirstGain == true)) 8055bf6: 4b22 ldr r3, [pc, #136] ; (8055c80 ) 8055bf8: 781b ldrb r3, [r3, #0] 8055bfa: b2db uxtb r3, r3 8055bfc: 461a mov r2, r3 8055bfe: 4b21 ldr r3, [pc, #132] ; (8055c84 ) 8055c00: 681b ldr r3, [r3, #0] 8055c02: 429a cmp r2, r3 8055c04: d204 bcs.n 8055c10 8055c06: 4b20 ldr r3, [pc, #128] ; (8055c88 ) 8055c08: 781b ldrb r3, [r3, #0] 8055c0a: b2db uxtb r3, r3 8055c0c: 2b00 cmp r3, #0 8055c0e: d01d beq.n 8055c4c { FirstGain = false; 8055c10: 4b1d ldr r3, [pc, #116] ; (8055c88 ) 8055c12: 2200 movs r2, #0 8055c14: 701a strb r2, [r3, #0] if(NUMPOINTS >= VALUE_MAX) 8055c16: 4b16 ldr r3, [pc, #88] ; (8055c70 ) 8055c18: 681b ldr r3, [r3, #0] 8055c1a: 2bff cmp r3, #255 ; 0xff 8055c1c: d903 bls.n 8055c26 { pardata.IKU = Ku1; 8055c1e: 4b10 ldr r3, [pc, #64] ; (8055c60 ) 8055c20: 2200 movs r2, #0 8055c22: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8055c24: e0b5 b.n 8055d92 } else if(NUMPOINTS >= VALUE_MIN) 8055c26: 4b12 ldr r3, [pc, #72] ; (8055c70 ) 8055c28: 681b ldr r3, [r3, #0] 8055c2a: 2b01 cmp r3, #1 8055c2c: f240 80b1 bls.w 8055d92 { if(pardata.IKU > Ku1) 8055c30: 4b0b ldr r3, [pc, #44] ; (8055c60 ) 8055c32: 7a1b ldrb r3, [r3, #8] 8055c34: b2db uxtb r3, r3 8055c36: 2b00 cmp r3, #0 8055c38: f000 80ab beq.w 8055d92 pardata.IKU --; 8055c3c: 4b08 ldr r3, [pc, #32] ; (8055c60 ) 8055c3e: 7a1b ldrb r3, [r3, #8] 8055c40: b2db uxtb r3, r3 8055c42: 3b01 subs r3, #1 8055c44: b2da uxtb r2, r3 8055c46: 4b06 ldr r3, [pc, #24] ; (8055c60 ) 8055c48: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8055c4a: e0a2 b.n 8055d92 } } else { NUMPOINTS = 0; 8055c4c: 4b08 ldr r3, [pc, #32] ; (8055c70 ) 8055c4e: 2200 movs r2, #0 8055c50: 601a str r2, [r3, #0] 8055c52: e0a1 b.n 8055d98 8055c54: 200209cc .word 0x200209cc 8055c58: 003fd380 .word 0x003fd380 8055c5c: 00154680 .word 0x00154680 8055c60: 20023e60 .word 0x20023e60 8055c64: 20058020 .word 0x20058020 8055c68: 20021618 .word 0x20021618 8055c6c: 20020090 .word 0x20020090 8055c70: 20021604 .word 0x20021604 8055c74: 20021614 .word 0x20021614 8055c78: 20021d20 .word 0x20021d20 8055c7c: 20020d51 .word 0x20020d51 8055c80: 20020d50 .word 0x20020d50 8055c84: 20020d54 .word 0x20020d54 8055c88: 20020d5c .word 0x20020d5c } } else { NeedKmDown = 0; 8055c8c: 4b8b ldr r3, [pc, #556] ; (8055ebc ) 8055c8e: 2200 movs r2, #0 8055c90: 701a strb r2, [r3, #0] if(Ym <= 3450) 8055c92: 68bb ldr r3, [r7, #8] 8055c94: f640 527a movw r2, #3450 ; 0xd7a 8055c98: 4293 cmp r3, r2 8055c9a: d87d bhi.n 8055d98 { NeedKmUp++; 8055c9c: 4b88 ldr r3, [pc, #544] ; (8055ec0 ) 8055c9e: 781b ldrb r3, [r3, #0] 8055ca0: b2db uxtb r3, r3 8055ca2: 3301 adds r3, #1 8055ca4: b2da uxtb r2, r3 8055ca6: 4b86 ldr r3, [pc, #536] ; (8055ec0 ) 8055ca8: 701a strb r2, [r3, #0] if((NeedKmUp >= TimeKmUp) || (FirstGain == true)) 8055caa: 4b85 ldr r3, [pc, #532] ; (8055ec0 ) 8055cac: 781b ldrb r3, [r3, #0] 8055cae: b2db uxtb r3, r3 8055cb0: 461a mov r2, r3 8055cb2: 4b84 ldr r3, [pc, #528] ; (8055ec4 ) 8055cb4: 681b ldr r3, [r3, #0] 8055cb6: 429a cmp r2, r3 8055cb8: d204 bcs.n 8055cc4 8055cba: 4b83 ldr r3, [pc, #524] ; (8055ec8 ) 8055cbc: 781b ldrb r3, [r3, #0] 8055cbe: b2db uxtb r3, r3 8055cc0: 2b00 cmp r3, #0 8055cc2: d069 beq.n 8055d98 { FirstGain = false; 8055cc4: 4b80 ldr r3, [pc, #512] ; (8055ec8 ) 8055cc6: 2200 movs r2, #0 8055cc8: 701a strb r2, [r3, #0] if(pardata.IKU < Ku8) 8055cca: 4b80 ldr r3, [pc, #512] ; (8055ecc ) 8055ccc: 7a1b ldrb r3, [r3, #8] 8055cce: b2db uxtb r3, r3 8055cd0: 2b02 cmp r3, #2 8055cd2: d861 bhi.n 8055d98 { fmax = (float32_t) Vup; 8055cd4: 4b7e ldr r3, [pc, #504] ; (8055ed0 ) 8055cd6: 681b ldr r3, [r3, #0] 8055cd8: ee07 3a90 vmov s15, r3 8055cdc: eef8 7a67 vcvt.f32.u32 s15, s15 8055ce0: edc7 7a06 vstr s15, [r7, #24] fmax /= KM_UDAR[pardata.IKU]; 8055ce4: 4b79 ldr r3, [pc, #484] ; (8055ecc ) 8055ce6: 7a1b ldrb r3, [r3, #8] 8055ce8: b2db uxtb r3, r3 8055cea: 4a7a ldr r2, [pc, #488] ; (8055ed4 ) 8055cec: 009b lsls r3, r3, #2 8055cee: 4413 add r3, r2 8055cf0: ed93 7a00 vldr s14, [r3] 8055cf4: edd7 6a06 vldr s13, [r7, #24] 8055cf8: eec6 7a87 vdiv.f32 s15, s13, s14 8055cfc: edc7 7a06 vstr s15, [r7, #24] dB_s = 0; 8055d00: 2300 movs r3, #0 8055d02: 74fb strb r3, [r7, #19] while(Ym < 3450) 8055d04: e03f b.n 8055d86 { Yf = fmax * KM_UDAR[dB_s] + 0.50f; 8055d06: 7cfb ldrb r3, [r7, #19] 8055d08: b2db uxtb r3, r3 8055d0a: 4a72 ldr r2, [pc, #456] ; (8055ed4 ) 8055d0c: 009b lsls r3, r3, #2 8055d0e: 4413 add r3, r2 8055d10: ed93 7a00 vldr s14, [r3] 8055d14: edd7 7a06 vldr s15, [r7, #24] 8055d18: ee67 7a27 vmul.f32 s15, s14, s15 8055d1c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8055d20: ee77 7a87 vadd.f32 s15, s15, s14 8055d24: edc7 7a05 vstr s15, [r7, #20] Ym = (uint32_t) Yf; 8055d28: edd7 7a05 vldr s15, [r7, #20] 8055d2c: eefc 7ae7 vcvt.u32.f32 s15, s15 8055d30: ee17 3a90 vmov r3, s15 8055d34: 60bb str r3, [r7, #8] Ym += 2200; 8055d36: 68bb ldr r3, [r7, #8] 8055d38: f603 0398 addw r3, r3, #2200 ; 0x898 8055d3c: 60bb str r3, [r7, #8] if(Ym > 3450) 8055d3e: 68bb ldr r3, [r7, #8] 8055d40: f640 527a movw r2, #3450 ; 0xd7a 8055d44: 4293 cmp r3, r2 8055d46: d911 bls.n 8055d6c { if(Ym > 8192/*4000*/) //todo 8055d48: 68bb ldr r3, [r7, #8] 8055d4a: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 8055d4e: d908 bls.n 8055d62 { if(dB_s) 8055d50: 7cfb ldrb r3, [r7, #19] 8055d52: b2db uxtb r3, r3 8055d54: 2b00 cmp r3, #0 8055d56: d004 beq.n 8055d62 dB_s--; 8055d58: 7cfb ldrb r3, [r7, #19] 8055d5a: b2db uxtb r3, r3 8055d5c: 3b01 subs r3, #1 8055d5e: b2db uxtb r3, r3 8055d60: 74fb strb r3, [r7, #19] } pardata.IKU = dB_s; 8055d62: 7cfb ldrb r3, [r7, #19] 8055d64: b2da uxtb r2, r3 8055d66: 4b59 ldr r3, [pc, #356] ; (8055ecc ) 8055d68: 721a strb r2, [r3, #8] break; 8055d6a: e015 b.n 8055d98 } else { if(dB_s < Ku8) 8055d6c: 7cfb ldrb r3, [r7, #19] 8055d6e: b2db uxtb r3, r3 8055d70: 2b02 cmp r3, #2 8055d72: d810 bhi.n 8055d96 { dB_s++; 8055d74: 7cfb ldrb r3, [r7, #19] 8055d76: b2db uxtb r3, r3 8055d78: 3301 adds r3, #1 8055d7a: b2db uxtb r3, r3 8055d7c: 74fb strb r3, [r7, #19] pardata.IKU = dB_s; 8055d7e: 7cfb ldrb r3, [r7, #19] 8055d80: b2da uxtb r2, r3 8055d82: 4b52 ldr r3, [pc, #328] ; (8055ecc ) 8055d84: 721a strb r2, [r3, #8] while(Ym < 3450) 8055d86: 68bb ldr r3, [r7, #8] 8055d88: f640 5279 movw r2, #3449 ; 0xd79 8055d8c: 4293 cmp r3, r2 8055d8e: d9ba bls.n 8055d06 8055d90: e002 b.n 8055d98 if(NUMPOINTS >= VALUE_MAX) 8055d92: bf00 nop 8055d94: e000 b.n 8055d98 } else break; 8055d96: bf00 nop } } } if(LAST_KU != pardata.IKU) 8055d98: 4b4c ldr r3, [pc, #304] ; (8055ecc ) 8055d9a: 7a1b ldrb r3, [r3, #8] 8055d9c: b2da uxtb r2, r3 8055d9e: 4b4e ldr r3, [pc, #312] ; (8055ed8 ) 8055da0: 781b ldrb r3, [r3, #0] 8055da2: b2db uxtb r3, r3 8055da4: 429a cmp r2, r3 8055da6: d009 beq.n 8055dbc { Flag_Set_KU = 1; 8055da8: 4b4c ldr r3, [pc, #304] ; (8055edc ) 8055daa: 2201 movs r2, #1 8055dac: 701a strb r2, [r3, #0] AUTOZOOM = true; 8055dae: 4b4c ldr r3, [pc, #304] ; (8055ee0 ) 8055db0: 2201 movs r2, #1 8055db2: 701a strb r2, [r3, #0] IndexFran = -1; 8055db4: 4b4b ldr r3, [pc, #300] ; (8055ee4 ) 8055db6: f04f 32ff mov.w r2, #4294967295 8055dba: 601a str r2, [r3, #0] } NUMPOINTS = 0; 8055dbc: 4b4a ldr r3, [pc, #296] ; (8055ee8 ) 8055dbe: 2200 movs r2, #0 8055dc0: 601a str r2, [r3, #0] Vup = 0; 8055dc2: 4b43 ldr r3, [pc, #268] ; (8055ed0 ) 8055dc4: 2200 movs r2, #0 8055dc6: 601a str r2, [r3, #0] Vdn = 0xffffff; 8055dc8: 4b48 ldr r3, [pc, #288] ; (8055eec ) 8055dca: f06f 427f mvn.w r2, #4278190080 ; 0xff000000 8055dce: 601a str r2, [r3, #0] return 0; 8055dd0: 2300 movs r3, #0 8055dd2: e189 b.n 80560e8 } } else { for(i = 0; i < SygPoints; i++) 8055dd4: 2300 movs r3, #0 8055dd6: 60fb str r3, [r7, #12] 8055dd8: e02a b.n 8055e30 { if(Vup < In16[i].lg) Vup = In16[i].lg; 8055dda: 68fb ldr r3, [r7, #12] 8055ddc: 4a44 ldr r2, [pc, #272] ; (8055ef0 ) 8055dde: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8055de2: 4b3b ldr r3, [pc, #236] ; (8055ed0 ) 8055de4: 681b ldr r3, [r3, #0] 8055de6: 429a cmp r2, r3 8055de8: d905 bls.n 8055df6 8055dea: 68fb ldr r3, [r7, #12] 8055dec: 4a40 ldr r2, [pc, #256] ; (8055ef0 ) 8055dee: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8055df2: 4a37 ldr r2, [pc, #220] ; (8055ed0 ) 8055df4: 6013 str r3, [r2, #0] if(Vdn > In16[i].lg) Vdn = In16[i].lg; 8055df6: 68fb ldr r3, [r7, #12] 8055df8: 4a3d ldr r2, [pc, #244] ; (8055ef0 ) 8055dfa: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8055dfe: 4b3b ldr r3, [pc, #236] ; (8055eec ) 8055e00: 681b ldr r3, [r3, #0] 8055e02: 429a cmp r2, r3 8055e04: d205 bcs.n 8055e12 8055e06: 68fb ldr r3, [r7, #12] 8055e08: 4a39 ldr r2, [pc, #228] ; (8055ef0 ) 8055e0a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8055e0e: 4a37 ldr r2, [pc, #220] ; (8055eec ) 8055e10: 6013 str r3, [r2, #0] if(In16[i].lg > UMAX) NUMPOINTS++; 8055e12: 68fb ldr r3, [r7, #12] 8055e14: 4a36 ldr r2, [pc, #216] ; (8055ef0 ) 8055e16: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8055e1a: 6a3b ldr r3, [r7, #32] 8055e1c: 429a cmp r2, r3 8055e1e: d904 bls.n 8055e2a 8055e20: 4b31 ldr r3, [pc, #196] ; (8055ee8 ) 8055e22: 681b ldr r3, [r3, #0] 8055e24: 3301 adds r3, #1 8055e26: 4a30 ldr r2, [pc, #192] ; (8055ee8 ) 8055e28: 6013 str r3, [r2, #0] for(i = 0; i < SygPoints; i++) 8055e2a: 68fb ldr r3, [r7, #12] 8055e2c: 3301 adds r3, #1 8055e2e: 60fb str r3, [r7, #12] 8055e30: 68fa ldr r2, [r7, #12] 8055e32: 687b ldr r3, [r7, #4] 8055e34: 429a cmp r2, r3 8055e36: d3d0 bcc.n 8055dda } NR++; 8055e38: 4b2e ldr r3, [pc, #184] ; (8055ef4 ) 8055e3a: 681b ldr r3, [r3, #0] 8055e3c: 3301 adds r3, #1 8055e3e: 4a2d ldr r2, [pc, #180] ; (8055ef4 ) 8055e40: 6013 str r3, [r2, #0] if(NR >= Nr) 8055e42: 4b2d ldr r3, [pc, #180] ; (8055ef8 ) 8055e44: 881b ldrh r3, [r3, #0] 8055e46: b29b uxth r3, r3 8055e48: 461a mov r2, r3 8055e4a: 4b2a ldr r3, [pc, #168] ; (8055ef4 ) 8055e4c: 681b ldr r3, [r3, #0] 8055e4e: 429a cmp r2, r3 8055e50: f200 8148 bhi.w 80560e4 { NR = 0; 8055e54: 4b27 ldr r3, [pc, #156] ; (8055ef4 ) 8055e56: 2200 movs r2, #0 8055e58: 601a str r2, [r3, #0] if(Vup < mean) 8055e5a: 4b1d ldr r3, [pc, #116] ; (8055ed0 ) 8055e5c: 681a ldr r2, [r3, #0] 8055e5e: 6a7b ldr r3, [r7, #36] ; 0x24 8055e60: 429a cmp r2, r3 8055e62: d206 bcs.n 8055e72 Vup = mean - Vup; 8055e64: 4b1a ldr r3, [pc, #104] ; (8055ed0 ) 8055e66: 681b ldr r3, [r3, #0] 8055e68: 6a7a ldr r2, [r7, #36] ; 0x24 8055e6a: 1ad3 subs r3, r2, r3 8055e6c: 4a18 ldr r2, [pc, #96] ; (8055ed0 ) 8055e6e: 6013 str r3, [r2, #0] 8055e70: e005 b.n 8055e7e else Vup = Vup - mean; 8055e72: 4b17 ldr r3, [pc, #92] ; (8055ed0 ) 8055e74: 681a ldr r2, [r3, #0] 8055e76: 6a7b ldr r3, [r7, #36] ; 0x24 8055e78: 1ad3 subs r3, r2, r3 8055e7a: 4a15 ldr r2, [pc, #84] ; (8055ed0 ) 8055e7c: 6013 str r3, [r2, #0] if(Vdn > mean) 8055e7e: 4b1b ldr r3, [pc, #108] ; (8055eec ) 8055e80: 681a ldr r2, [r3, #0] 8055e82: 6a7b ldr r3, [r7, #36] ; 0x24 8055e84: 429a cmp r2, r3 8055e86: d906 bls.n 8055e96 Vdn = Vdn - mean; 8055e88: 4b18 ldr r3, [pc, #96] ; (8055eec ) 8055e8a: 681a ldr r2, [r3, #0] 8055e8c: 6a7b ldr r3, [r7, #36] ; 0x24 8055e8e: 1ad3 subs r3, r2, r3 8055e90: 4a16 ldr r2, [pc, #88] ; (8055eec ) 8055e92: 6013 str r3, [r2, #0] 8055e94: e005 b.n 8055ea2 else Vdn = mean - Vdn; 8055e96: 4b15 ldr r3, [pc, #84] ; (8055eec ) 8055e98: 681b ldr r3, [r3, #0] 8055e9a: 6a7a ldr r2, [r7, #36] ; 0x24 8055e9c: 1ad3 subs r3, r2, r3 8055e9e: 4a13 ldr r2, [pc, #76] ; (8055eec ) 8055ea0: 6013 str r3, [r2, #0] if(Vup > Vdn) 8055ea2: 4b0b ldr r3, [pc, #44] ; (8055ed0 ) 8055ea4: 681a ldr r2, [r3, #0] 8055ea6: 4b11 ldr r3, [pc, #68] ; (8055eec ) 8055ea8: 681b ldr r3, [r3, #0] 8055eaa: 429a cmp r2, r3 8055eac: d926 bls.n 8055efc Ym = Vup + mean; 8055eae: 4b08 ldr r3, [pc, #32] ; (8055ed0 ) 8055eb0: 681a ldr r2, [r3, #0] 8055eb2: 6a7b ldr r3, [r7, #36] ; 0x24 8055eb4: 4413 add r3, r2 8055eb6: 60bb str r3, [r7, #8] 8055eb8: e029 b.n 8055f0e 8055eba: bf00 nop 8055ebc: 20020d50 .word 0x20020d50 8055ec0: 20020d51 .word 0x20020d51 8055ec4: 20020d58 .word 0x20020d58 8055ec8: 20020d5c .word 0x20020d5c 8055ecc: 20023e60 .word 0x20023e60 8055ed0: 20021618 .word 0x20021618 8055ed4: 080ee968 .word 0x080ee968 8055ed8: 20021530 .word 0x20021530 8055edc: 20020d7e .word 0x20020d7e 8055ee0: 2002098c .word 0x2002098c 8055ee4: 2002008c .word 0x2002008c 8055ee8: 20021604 .word 0x20021604 8055eec: 20020090 .word 0x20020090 8055ef0: 20058020 .word 0x20058020 8055ef4: 20021614 .word 0x20021614 8055ef8: 20021d20 .word 0x20021d20 else { Vup = Vdn; 8055efc: 4b7d ldr r3, [pc, #500] ; (80560f4 ) 8055efe: 681b ldr r3, [r3, #0] 8055f00: 4a7d ldr r2, [pc, #500] ; (80560f8 ) 8055f02: 6013 str r3, [r2, #0] Ym = Vdn + mean; 8055f04: 4b7b ldr r3, [pc, #492] ; (80560f4 ) 8055f06: 681a ldr r2, [r3, #0] 8055f08: 6a7b ldr r3, [r7, #36] ; 0x24 8055f0a: 4413 add r3, r2 8055f0c: 60bb str r3, [r7, #8] } if(NUMPOINTS) 8055f0e: 4b7b ldr r3, [pc, #492] ; (80560fc ) 8055f10: 681b ldr r3, [r3, #0] 8055f12: 2b00 cmp r3, #0 8055f14: d045 beq.n 8055fa2 { NeedKmUp = 0; 8055f16: 4b7a ldr r3, [pc, #488] ; (8056100 ) 8055f18: 2200 movs r2, #0 8055f1a: 701a strb r2, [r3, #0] NeedKmDown++; 8055f1c: 4b79 ldr r3, [pc, #484] ; (8056104 ) 8055f1e: 781b ldrb r3, [r3, #0] 8055f20: b2db uxtb r3, r3 8055f22: 3301 adds r3, #1 8055f24: b2da uxtb r2, r3 8055f26: 4b77 ldr r3, [pc, #476] ; (8056104 ) 8055f28: 701a strb r2, [r3, #0] if((NeedKmDown >= TimeKmDown) || (FirstGain == true)) 8055f2a: 4b76 ldr r3, [pc, #472] ; (8056104 ) 8055f2c: 781b ldrb r3, [r3, #0] 8055f2e: b2db uxtb r3, r3 8055f30: 461a mov r2, r3 8055f32: 4b75 ldr r3, [pc, #468] ; (8056108 ) 8055f34: 681b ldr r3, [r3, #0] 8055f36: 429a cmp r2, r3 8055f38: d204 bcs.n 8055f44 8055f3a: 4b74 ldr r3, [pc, #464] ; (805610c ) 8055f3c: 781b ldrb r3, [r3, #0] 8055f3e: b2db uxtb r3, r3 8055f40: 2b00 cmp r3, #0 8055f42: d02a beq.n 8055f9a { FirstGain = false; 8055f44: 4b71 ldr r3, [pc, #452] ; (805610c ) 8055f46: 2200 movs r2, #0 8055f48: 701a strb r2, [r3, #0] if(NUMPOINTS >= VALUE_MAX) 8055f4a: 4b6c ldr r3, [pc, #432] ; (80560fc ) 8055f4c: 681b ldr r3, [r3, #0] 8055f4e: 2bff cmp r3, #255 ; 0xff 8055f50: d910 bls.n 8055f74 { if(pardata.IKU > Ku8) pardata.IKU -= Ku8; 8055f52: 4b6f ldr r3, [pc, #444] ; (8056110 ) 8055f54: 7a1b ldrb r3, [r3, #8] 8055f56: b2db uxtb r3, r3 8055f58: 2b03 cmp r3, #3 8055f5a: d907 bls.n 8055f6c 8055f5c: 4b6c ldr r3, [pc, #432] ; (8056110 ) 8055f5e: 7a1b ldrb r3, [r3, #8] 8055f60: b2db uxtb r3, r3 8055f62: 3b03 subs r3, #3 8055f64: b2da uxtb r2, r3 8055f66: 4b6a ldr r3, [pc, #424] ; (8056110 ) 8055f68: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8055f6a: e09a b.n 80560a2 else pardata.IKU = Ku1; 8055f6c: 4b68 ldr r3, [pc, #416] ; (8056110 ) 8055f6e: 2200 movs r2, #0 8055f70: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8055f72: e096 b.n 80560a2 } else if(NUMPOINTS >= VALUE_MIN) 8055f74: 4b61 ldr r3, [pc, #388] ; (80560fc ) 8055f76: 681b ldr r3, [r3, #0] 8055f78: 2b01 cmp r3, #1 8055f7a: f240 8092 bls.w 80560a2 { if(pardata.IKU > Ku1) 8055f7e: 4b64 ldr r3, [pc, #400] ; (8056110 ) 8055f80: 7a1b ldrb r3, [r3, #8] 8055f82: b2db uxtb r3, r3 8055f84: 2b00 cmp r3, #0 8055f86: f000 808c beq.w 80560a2 pardata.IKU --; 8055f8a: 4b61 ldr r3, [pc, #388] ; (8056110 ) 8055f8c: 7a1b ldrb r3, [r3, #8] 8055f8e: b2db uxtb r3, r3 8055f90: 3b01 subs r3, #1 8055f92: b2da uxtb r2, r3 8055f94: 4b5e ldr r3, [pc, #376] ; (8056110 ) 8055f96: 721a strb r2, [r3, #8] if(NUMPOINTS >= VALUE_MAX) 8055f98: e083 b.n 80560a2 } } else { NUMPOINTS = 0; 8055f9a: 4b58 ldr r3, [pc, #352] ; (80560fc ) 8055f9c: 2200 movs r2, #0 8055f9e: 601a str r2, [r3, #0] 8055fa0: e082 b.n 80560a8 } } else { NeedKmDown = 0; 8055fa2: 4b58 ldr r3, [pc, #352] ; (8056104 ) 8055fa4: 2200 movs r2, #0 8055fa6: 701a strb r2, [r3, #0] if(Ym <= UMIN) 8055fa8: 68ba ldr r2, [r7, #8] 8055faa: 69fb ldr r3, [r7, #28] 8055fac: 429a cmp r2, r3 8055fae: d87b bhi.n 80560a8 { NeedKmUp++; 8055fb0: 4b53 ldr r3, [pc, #332] ; (8056100 ) 8055fb2: 781b ldrb r3, [r3, #0] 8055fb4: b2db uxtb r3, r3 8055fb6: 3301 adds r3, #1 8055fb8: b2da uxtb r2, r3 8055fba: 4b51 ldr r3, [pc, #324] ; (8056100 ) 8055fbc: 701a strb r2, [r3, #0] if((NeedKmUp >= TimeKmUp) || (FirstGain == true)) 8055fbe: 4b50 ldr r3, [pc, #320] ; (8056100 ) 8055fc0: 781b ldrb r3, [r3, #0] 8055fc2: b2db uxtb r3, r3 8055fc4: 461a mov r2, r3 8055fc6: 4b53 ldr r3, [pc, #332] ; (8056114 ) 8055fc8: 681b ldr r3, [r3, #0] 8055fca: 429a cmp r2, r3 8055fcc: d204 bcs.n 8055fd8 8055fce: 4b4f ldr r3, [pc, #316] ; (805610c ) 8055fd0: 781b ldrb r3, [r3, #0] 8055fd2: b2db uxtb r3, r3 8055fd4: 2b00 cmp r3, #0 8055fd6: d067 beq.n 80560a8 { FirstGain = false; 8055fd8: 4b4c ldr r3, [pc, #304] ; (805610c ) 8055fda: 2200 movs r2, #0 8055fdc: 701a strb r2, [r3, #0] if(pardata.IKU < Ku640) 8055fde: 4b4c ldr r3, [pc, #304] ; (8056110 ) 8055fe0: 7a1b ldrb r3, [r3, #8] 8055fe2: b2db uxtb r3, r3 8055fe4: 2b09 cmp r3, #9 8055fe6: d85f bhi.n 80560a8 { fmax = (float32_t) Vup; 8055fe8: 4b43 ldr r3, [pc, #268] ; (80560f8 ) 8055fea: 681b ldr r3, [r3, #0] 8055fec: ee07 3a90 vmov s15, r3 8055ff0: eef8 7a67 vcvt.f32.u32 s15, s15 8055ff4: edc7 7a06 vstr s15, [r7, #24] fmax /= KM[pardata.IKU]; 8055ff8: 4b45 ldr r3, [pc, #276] ; (8056110 ) 8055ffa: 7a1b ldrb r3, [r3, #8] 8055ffc: b2db uxtb r3, r3 8055ffe: 4a46 ldr r2, [pc, #280] ; (8056118 ) 8056000: 009b lsls r3, r3, #2 8056002: 4413 add r3, r2 8056004: ed93 7a00 vldr s14, [r3] 8056008: edd7 6a06 vldr s13, [r7, #24] 805600c: eec6 7a87 vdiv.f32 s15, s13, s14 8056010: edc7 7a06 vstr s15, [r7, #24] dB_s = 0; 8056014: 2300 movs r3, #0 8056016: 74fb strb r3, [r7, #19] while(Ym < UMIN) 8056018: e03e b.n 8056098 { Yf = fmax * KM[dB_s] + 0.50f; 805601a: 7cfb ldrb r3, [r7, #19] 805601c: b2db uxtb r3, r3 805601e: 4a3e ldr r2, [pc, #248] ; (8056118 ) 8056020: 009b lsls r3, r3, #2 8056022: 4413 add r3, r2 8056024: ed93 7a00 vldr s14, [r3] 8056028: edd7 7a06 vldr s15, [r7, #24] 805602c: ee67 7a27 vmul.f32 s15, s14, s15 8056030: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8056034: ee77 7a87 vadd.f32 s15, s15, s14 8056038: edc7 7a05 vstr s15, [r7, #20] Ym = (uint32_t) Yf; 805603c: edd7 7a05 vldr s15, [r7, #20] 8056040: eefc 7ae7 vcvt.u32.f32 s15, s15 8056044: ee17 3a90 vmov r3, s15 8056048: 60bb str r3, [r7, #8] Ym += mean; 805604a: 68ba ldr r2, [r7, #8] 805604c: 6a7b ldr r3, [r7, #36] ; 0x24 805604e: 4413 add r3, r2 8056050: 60bb str r3, [r7, #8] if(Ym > UMIN) 8056052: 68ba ldr r2, [r7, #8] 8056054: 69fb ldr r3, [r7, #28] 8056056: 429a cmp r2, r3 8056058: d911 bls.n 805607e { if(Ym > UMAX) 805605a: 68ba ldr r2, [r7, #8] 805605c: 6a3b ldr r3, [r7, #32] 805605e: 429a cmp r2, r3 8056060: d908 bls.n 8056074 { if(dB_s) 8056062: 7cfb ldrb r3, [r7, #19] 8056064: b2db uxtb r3, r3 8056066: 2b00 cmp r3, #0 8056068: d004 beq.n 8056074 dB_s--; 805606a: 7cfb ldrb r3, [r7, #19] 805606c: b2db uxtb r3, r3 805606e: 3b01 subs r3, #1 8056070: b2db uxtb r3, r3 8056072: 74fb strb r3, [r7, #19] } pardata.IKU = dB_s; 8056074: 7cfb ldrb r3, [r7, #19] 8056076: b2da uxtb r2, r3 8056078: 4b25 ldr r3, [pc, #148] ; (8056110 ) 805607a: 721a strb r2, [r3, #8] break; 805607c: e014 b.n 80560a8 } else { if(dB_s < Ku640) 805607e: 7cfb ldrb r3, [r7, #19] 8056080: b2db uxtb r3, r3 8056082: 2b09 cmp r3, #9 8056084: d80f bhi.n 80560a6 { dB_s++; 8056086: 7cfb ldrb r3, [r7, #19] 8056088: b2db uxtb r3, r3 805608a: 3301 adds r3, #1 805608c: b2db uxtb r3, r3 805608e: 74fb strb r3, [r7, #19] pardata.IKU = dB_s; 8056090: 7cfb ldrb r3, [r7, #19] 8056092: b2da uxtb r2, r3 8056094: 4b1e ldr r3, [pc, #120] ; (8056110 ) 8056096: 721a strb r2, [r3, #8] while(Ym < UMIN) 8056098: 68ba ldr r2, [r7, #8] 805609a: 69fb ldr r3, [r7, #28] 805609c: 429a cmp r2, r3 805609e: d3bc bcc.n 805601a 80560a0: e002 b.n 80560a8 if(NUMPOINTS >= VALUE_MAX) 80560a2: bf00 nop 80560a4: e000 b.n 80560a8 } else break; 80560a6: bf00 nop } } } if(LAST_KU != pardata.IKU) 80560a8: 4b19 ldr r3, [pc, #100] ; (8056110 ) 80560aa: 7a1b ldrb r3, [r3, #8] 80560ac: b2da uxtb r2, r3 80560ae: 4b1b ldr r3, [pc, #108] ; (805611c ) 80560b0: 781b ldrb r3, [r3, #0] 80560b2: b2db uxtb r3, r3 80560b4: 429a cmp r2, r3 80560b6: d009 beq.n 80560cc { Flag_Set_KU = 1; 80560b8: 4b19 ldr r3, [pc, #100] ; (8056120 ) 80560ba: 2201 movs r2, #1 80560bc: 701a strb r2, [r3, #0] AUTOZOOM = true; 80560be: 4b19 ldr r3, [pc, #100] ; (8056124 ) 80560c0: 2201 movs r2, #1 80560c2: 701a strb r2, [r3, #0] IndexFran = -1; 80560c4: 4b18 ldr r3, [pc, #96] ; (8056128 ) 80560c6: f04f 32ff mov.w r2, #4294967295 80560ca: 601a str r2, [r3, #0] } NUMPOINTS = 0; 80560cc: 4b0b ldr r3, [pc, #44] ; (80560fc ) 80560ce: 2200 movs r2, #0 80560d0: 601a str r2, [r3, #0] Vup = 0; 80560d2: 4b09 ldr r3, [pc, #36] ; (80560f8 ) 80560d4: 2200 movs r2, #0 80560d6: 601a str r2, [r3, #0] Vdn = 0xffffff; 80560d8: 4b06 ldr r3, [pc, #24] ; (80560f4 ) 80560da: f06f 427f mvn.w r2, #4278190080 ; 0xff000000 80560de: 601a str r2, [r3, #0] return 0; 80560e0: 2300 movs r3, #0 80560e2: e001 b.n 80560e8 } } return -1; 80560e4: f04f 33ff mov.w r3, #4294967295 } 80560e8: 4618 mov r0, r3 80560ea: 372c adds r7, #44 ; 0x2c 80560ec: 46bd mov sp, r7 80560ee: f85d 7b04 ldr.w r7, [sp], #4 80560f2: 4770 bx lr 80560f4: 20020090 .word 0x20020090 80560f8: 20021618 .word 0x20021618 80560fc: 20021604 .word 0x20021604 8056100: 20020d51 .word 0x20020d51 8056104: 20020d50 .word 0x20020d50 8056108: 20020d54 .word 0x20020d54 805610c: 20020d5c .word 0x20020d5c 8056110: 20023e60 .word 0x20023e60 8056114: 20020d58 .word 0x20020d58 8056118: 080ee978 .word 0x080ee978 805611c: 20021530 .word 0x20021530 8056120: 20020d7e .word 0x20020d7e 8056124: 2002098c .word 0x2002098c 8056128: 2002008c .word 0x2002008c 0805612c : { } void initFFT(float32_t *pSrc, float32_t *pDst, uint8_t flag) { 805612c: b580 push {r7, lr} 805612e: b088 sub sp, #32 8056130: af02 add r7, sp, #8 8056132: 60f8 str r0, [r7, #12] 8056134: 60b9 str r1, [r7, #8] 8056136: 4613 mov r3, r2 8056138: 71fb strb r3, [r7, #7] arm_status status; if((pardata.SYG == OSC) && (pardata.IPR > ACC)) 805613a: 4b4f ldr r3, [pc, #316] ; (8056278 ) 805613c: 781b ldrb r3, [r3, #0] 805613e: b2db uxtb r3, r3 8056140: 2b02 cmp r3, #2 8056142: d11b bne.n 805617c 8056144: 4b4c ldr r3, [pc, #304] ; (8056278 ) 8056146: 785b ldrb r3, [r3, #1] 8056148: b2db uxtb r3, r3 805614a: 2b00 cmp r3, #0 805614c: d016 beq.n 805617c { status = arm_rfft_init_f32( &rfft_instance, &radix4, 8192, flag, 1); 805614e: 79fa ldrb r2, [r7, #7] 8056150: 2301 movs r3, #1 8056152: 9300 str r3, [sp, #0] 8056154: 4613 mov r3, r2 8056156: f44f 5200 mov.w r2, #8192 ; 0x2000 805615a: 4948 ldr r1, [pc, #288] ; (805627c ) 805615c: 4848 ldr r0, [pc, #288] ; (8056280 ) 805615e: f05c ff47 bl 80b2ff0 8056162: 4603 mov r3, r0 8056164: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8056166: f997 3017 ldrsb.w r3, [r7, #23] 805616a: 2b00 cmp r3, #0 805616c: d000 beq.n 8056170 805616e: e7fe b.n 805616e arm_rfft_f32(&rfft_instance, pSrc, pDst); 8056170: 68ba ldr r2, [r7, #8] 8056172: 68f9 ldr r1, [r7, #12] 8056174: 4842 ldr r0, [pc, #264] ; (8056280 ) 8056176: f05c fa99 bl 80b26ac 805617a: e078 b.n 805626e } else { switch(Ns) 805617c: 4b41 ldr r3, [pc, #260] ; (8056284 ) 805617e: 681b ldr r3, [r3, #0] 8056180: f5b3 6f00 cmp.w r3, #2048 ; 0x800 8056184: d036 beq.n 80561f4 8056186: f5b3 6f00 cmp.w r3, #2048 ; 0x800 805618a: d806 bhi.n 805619a 805618c: f5b3 7f00 cmp.w r3, #512 ; 0x200 8056190: d00a beq.n 80561a8 8056192: f5b3 6f80 cmp.w r3, #1024 ; 0x400 8056196: d01a beq.n 80561ce if (status != ARM_MATH_SUCCESS) while (1); arm_rfft_f32(&rfft_instance, pSrc, pDst); break; } } } 8056198: e069 b.n 805626e switch(Ns) 805619a: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 805619e: d03c beq.n 805621a 80561a0: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80561a4: d04c beq.n 8056240 } 80561a6: e062 b.n 805626e status = arm_rfft_fast_init_f32( &rfft_fast_instance512, 512); 80561a8: f44f 7100 mov.w r1, #512 ; 0x200 80561ac: 4836 ldr r0, [pc, #216] ; (8056288 ) 80561ae: f05c fe49 bl 80b2e44 80561b2: 4603 mov r3, r0 80561b4: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 80561b6: f997 3017 ldrsb.w r3, [r7, #23] 80561ba: 2b00 cmp r3, #0 80561bc: d000 beq.n 80561c0 80561be: e7fe b.n 80561be arm_rfft_fast_f32(&rfft_fast_instance512, pSrc, pDst, flag); 80561c0: 79fb ldrb r3, [r7, #7] 80561c2: 68ba ldr r2, [r7, #8] 80561c4: 68f9 ldr r1, [r7, #12] 80561c6: 4830 ldr r0, [pc, #192] ; (8056288 ) 80561c8: f05c fe0f bl 80b2dea break; 80561cc: e04f b.n 805626e status = arm_rfft_fast_init_f32( &rfft_fast_instance1024, 1024); 80561ce: f44f 6180 mov.w r1, #1024 ; 0x400 80561d2: 482e ldr r0, [pc, #184] ; (805628c ) 80561d4: f05c fe36 bl 80b2e44 80561d8: 4603 mov r3, r0 80561da: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 80561dc: f997 3017 ldrsb.w r3, [r7, #23] 80561e0: 2b00 cmp r3, #0 80561e2: d000 beq.n 80561e6 80561e4: e7fe b.n 80561e4 arm_rfft_fast_f32(&rfft_fast_instance1024, pSrc, pDst, flag); 80561e6: 79fb ldrb r3, [r7, #7] 80561e8: 68ba ldr r2, [r7, #8] 80561ea: 68f9 ldr r1, [r7, #12] 80561ec: 4827 ldr r0, [pc, #156] ; (805628c ) 80561ee: f05c fdfc bl 80b2dea break; 80561f2: e03c b.n 805626e status = arm_rfft_fast_init_f32( &rfft_fast_instance2048, 2048); 80561f4: f44f 6100 mov.w r1, #2048 ; 0x800 80561f8: 4825 ldr r0, [pc, #148] ; (8056290 ) 80561fa: f05c fe23 bl 80b2e44 80561fe: 4603 mov r3, r0 8056200: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8056202: f997 3017 ldrsb.w r3, [r7, #23] 8056206: 2b00 cmp r3, #0 8056208: d000 beq.n 805620c 805620a: e7fe b.n 805620a arm_rfft_fast_f32(&rfft_fast_instance2048, pSrc, pDst, flag); 805620c: 79fb ldrb r3, [r7, #7] 805620e: 68ba ldr r2, [r7, #8] 8056210: 68f9 ldr r1, [r7, #12] 8056212: 481f ldr r0, [pc, #124] ; (8056290 ) 8056214: f05c fde9 bl 80b2dea break; 8056218: e029 b.n 805626e status = arm_rfft_fast_init_f32( &rfft_fast_instance4096, 4096); 805621a: f44f 5180 mov.w r1, #4096 ; 0x1000 805621e: 481d ldr r0, [pc, #116] ; (8056294 ) 8056220: f05c fe10 bl 80b2e44 8056224: 4603 mov r3, r0 8056226: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8056228: f997 3017 ldrsb.w r3, [r7, #23] 805622c: 2b00 cmp r3, #0 805622e: d000 beq.n 8056232 8056230: e7fe b.n 8056230 arm_rfft_fast_f32(&rfft_fast_instance4096, pSrc, pDst, flag); 8056232: 79fb ldrb r3, [r7, #7] 8056234: 68ba ldr r2, [r7, #8] 8056236: 68f9 ldr r1, [r7, #12] 8056238: 4816 ldr r0, [pc, #88] ; (8056294 ) 805623a: f05c fdd6 bl 80b2dea break; 805623e: e016 b.n 805626e status = arm_rfft_init_f32( &rfft_instance, &radix4, 8192, flag, 1); 8056240: 79fa ldrb r2, [r7, #7] 8056242: 2301 movs r3, #1 8056244: 9300 str r3, [sp, #0] 8056246: 4613 mov r3, r2 8056248: f44f 5200 mov.w r2, #8192 ; 0x2000 805624c: 490b ldr r1, [pc, #44] ; (805627c ) 805624e: 480c ldr r0, [pc, #48] ; (8056280 ) 8056250: f05c fece bl 80b2ff0 8056254: 4603 mov r3, r0 8056256: 75fb strb r3, [r7, #23] if (status != ARM_MATH_SUCCESS) while (1); 8056258: f997 3017 ldrsb.w r3, [r7, #23] 805625c: 2b00 cmp r3, #0 805625e: d000 beq.n 8056262 8056260: e7fe b.n 8056260 arm_rfft_f32(&rfft_instance, pSrc, pDst); 8056262: 68ba ldr r2, [r7, #8] 8056264: 68f9 ldr r1, [r7, #12] 8056266: 4806 ldr r0, [pc, #24] ; (8056280 ) 8056268: f05c fa20 bl 80b26ac break; 805626c: bf00 nop } 805626e: bf00 nop 8056270: 3718 adds r7, #24 8056272: 46bd mov sp, r7 8056274: bd80 pop {r7, pc} 8056276: bf00 nop 8056278: 20023e60 .word 0x20023e60 805627c: 20021574 .word 0x20021574 8056280: 20021588 .word 0x20021588 8056284: 20021cdc .word 0x20021cdc 8056288: 200215e8 .word 0x200215e8 805628c: 200215d0 .word 0x200215d0 8056290: 200215b8 .word 0x200215b8 8056294: 200215a0 .word 0x200215a0 08056298 : //****************************************************************************** // Ìåäèàíà çíà÷åíèé ïåðèîäîâ ñèãíàëà //****************************************************************************** void MedyF() { 8056298: b480 push {r7} 805629a: b085 sub sp, #20 805629c: af00 add r7, sp, #0 uint32_t i,j; uint32_t tmp; uint32_t len; if(pardata.SYG == WAVE) 805629e: 4b27 ldr r3, [pc, #156] ; (805633c ) 80562a0: 781b ldrb r3, [r3, #0] 80562a2: b2db uxtb r3, r3 80562a4: 2b04 cmp r3, #4 80562a6: d102 bne.n 80562ae len = LEN_M_BUF_TACHO; 80562a8: 2305 movs r3, #5 80562aa: 607b str r3, [r7, #4] 80562ac: e001 b.n 80562b2 else len = LEN_M_BUF; 80562ae: 2309 movs r3, #9 80562b0: 607b str r3, [r7, #4] for(i = 0; i < len / 2 + 1; i++) 80562b2: 2300 movs r3, #0 80562b4: 60fb str r3, [r7, #12] 80562b6: e029 b.n 805630c for(j = i + 1; j < len; j++) 80562b8: 68fb ldr r3, [r7, #12] 80562ba: 3301 adds r3, #1 80562bc: 60bb str r3, [r7, #8] 80562be: e01e b.n 80562fe if(frq[j] < frq[i]) 80562c0: 4a1f ldr r2, [pc, #124] ; (8056340 ) 80562c2: 68bb ldr r3, [r7, #8] 80562c4: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80562c8: 491d ldr r1, [pc, #116] ; (8056340 ) 80562ca: 68fb ldr r3, [r7, #12] 80562cc: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80562d0: 429a cmp r2, r3 80562d2: d211 bcs.n 80562f8 { tmp = frq[i]; 80562d4: 4a1a ldr r2, [pc, #104] ; (8056340 ) 80562d6: 68fb ldr r3, [r7, #12] 80562d8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80562dc: 603b str r3, [r7, #0] frq[i] = frq[j]; 80562de: 4a18 ldr r2, [pc, #96] ; (8056340 ) 80562e0: 68bb ldr r3, [r7, #8] 80562e2: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80562e6: 4916 ldr r1, [pc, #88] ; (8056340 ) 80562e8: 68fb ldr r3, [r7, #12] 80562ea: f841 2023 str.w r2, [r1, r3, lsl #2] frq[j] = tmp; 80562ee: 4914 ldr r1, [pc, #80] ; (8056340 ) 80562f0: 68bb ldr r3, [r7, #8] 80562f2: 683a ldr r2, [r7, #0] 80562f4: f841 2023 str.w r2, [r1, r3, lsl #2] for(j = i + 1; j < len; j++) 80562f8: 68bb ldr r3, [r7, #8] 80562fa: 3301 adds r3, #1 80562fc: 60bb str r3, [r7, #8] 80562fe: 68ba ldr r2, [r7, #8] 8056300: 687b ldr r3, [r7, #4] 8056302: 429a cmp r2, r3 8056304: d3dc bcc.n 80562c0 for(i = 0; i < len / 2 + 1; i++) 8056306: 68fb ldr r3, [r7, #12] 8056308: 3301 adds r3, #1 805630a: 60fb str r3, [r7, #12] 805630c: 687b ldr r3, [r7, #4] 805630e: 085b lsrs r3, r3, #1 8056310: 1c5a adds r2, r3, #1 8056312: 68fb ldr r3, [r7, #12] 8056314: 429a cmp r2, r3 8056316: d8cf bhi.n 80562b8 } axF = (float32_t) (frq[len / 2]); 8056318: 687b ldr r3, [r7, #4] 805631a: 085b lsrs r3, r3, #1 805631c: 4a08 ldr r2, [pc, #32] ; (8056340 ) 805631e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8056322: ee07 3a90 vmov s15, r3 8056326: eef8 7a67 vcvt.f32.u32 s15, s15 805632a: 4b06 ldr r3, [pc, #24] ; (8056344 ) 805632c: edc3 7a00 vstr s15, [r3] } 8056330: bf00 nop 8056332: 3714 adds r7, #20 8056334: 46bd mov sp, r7 8056336: f85d 7b04 ldr.w r7, [sp], #4 805633a: 4770 bx lr 805633c: 20023e60 .word 0x20023e60 8056340: 20026e94 .word 0x20026e94 8056344: 200278d0 .word 0x200278d0 08056348 : return (Out[Ns / 2]); } void CalcFreq(void) { 8056348: b580 push {r7, lr} 805634a: b082 sub sp, #8 805634c: af00 add r7, sp, #0 uint32_t i, cnt = NUM_SAMPLES * 8192u; 805634e: f44f 3300 mov.w r3, #131072 ; 0x20000 8056352: 603b str r3, [r7, #0] for(i = 0; i < cnt; i++) 8056354: 2300 movs r3, #0 8056356: 607b str r3, [r7, #4] 8056358: e0de b.n 8056518 { switch(faseF) 805635a: 4b74 ldr r3, [pc, #464] ; (805652c ) 805635c: 681b ldr r3, [r3, #0] 805635e: 2b03 cmp r3, #3 8056360: f200 80d7 bhi.w 8056512 8056364: a201 add r2, pc, #4 ; (adr r2, 805636c ) 8056366: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805636a: bf00 nop 805636c: 0805637d .word 0x0805637d 8056370: 080563bf .word 0x080563bf 8056374: 0805640d .word 0x0805640d 8056378: 08056465 .word 0x08056465 { case 0: if(Freq_f32(i) < -DF) 805637c: 687b ldr r3, [r7, #4] 805637e: 009a lsls r2, r3, #2 8056380: 4b6b ldr r3, [pc, #428] ; (8056530 ) 8056382: 4413 add r3, r2 8056384: edd3 7a00 vldr s15, [r3] 8056388: eebe 7a00 vmov.f32 s14, #224 ; 0xbf000000 -0.5 805638c: eef4 7ac7 vcmpe.f32 s15, s14 8056390: eef1 fa10 vmrs APSR_nzcv, fpscr 8056394: d50f bpl.n 80563b6 { if(okf) 8056396: 4b67 ldr r3, [pc, #412] ; (8056534 ) 8056398: 681b ldr r3, [r3, #0] 805639a: 2b00 cmp r3, #0 805639c: d005 beq.n 80563aa okf--; 805639e: 4b65 ldr r3, [pc, #404] ; (8056534 ) 80563a0: 681b ldr r3, [r3, #0] 80563a2: 3b01 subs r3, #1 80563a4: 4a63 ldr r2, [pc, #396] ; (8056534 ) 80563a6: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 80563a8: e0b3 b.n 8056512 else faseF++; 80563aa: 4b60 ldr r3, [pc, #384] ; (805652c ) 80563ac: 681b ldr r3, [r3, #0] 80563ae: 3301 adds r3, #1 80563b0: 4a5e ldr r2, [pc, #376] ; (805652c ) 80563b2: 6013 str r3, [r2, #0] break; 80563b4: e0ad b.n 8056512 okf = CF; 80563b6: 4b5f ldr r3, [pc, #380] ; (8056534 ) 80563b8: 2204 movs r2, #4 80563ba: 601a str r2, [r3, #0] break; 80563bc: e0a9 b.n 8056512 case 1: frq[kf] = 0; 80563be: 4b5e ldr r3, [pc, #376] ; (8056538 ) 80563c0: 681b ldr r3, [r3, #0] 80563c2: 4a5e ldr r2, [pc, #376] ; (805653c ) 80563c4: 2100 movs r1, #0 80563c6: f842 1023 str.w r1, [r2, r3, lsl #2] if(Freq_f32(i) > DF) 80563ca: 687b ldr r3, [r7, #4] 80563cc: 009a lsls r2, r3, #2 80563ce: 4b58 ldr r3, [pc, #352] ; (8056530 ) 80563d0: 4413 add r3, r2 80563d2: edd3 7a00 vldr s15, [r3] 80563d6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80563da: eef4 7ac7 vcmpe.f32 s15, s14 80563de: eef1 fa10 vmrs APSR_nzcv, fpscr 80563e2: dd0f ble.n 8056404 { if(okf < CF) 80563e4: 4b53 ldr r3, [pc, #332] ; (8056534 ) 80563e6: 681b ldr r3, [r3, #0] 80563e8: 2b03 cmp r3, #3 80563ea: d805 bhi.n 80563f8 okf++; 80563ec: 4b51 ldr r3, [pc, #324] ; (8056534 ) 80563ee: 681b ldr r3, [r3, #0] 80563f0: 3301 adds r3, #1 80563f2: 4a50 ldr r2, [pc, #320] ; (8056534 ) 80563f4: 6013 str r3, [r2, #0] else faseF++; } else okf = 0; break; 80563f6: e08c b.n 8056512 else faseF++; 80563f8: 4b4c ldr r3, [pc, #304] ; (805652c ) 80563fa: 681b ldr r3, [r3, #0] 80563fc: 3301 adds r3, #1 80563fe: 4a4b ldr r2, [pc, #300] ; (805652c ) 8056400: 6013 str r3, [r2, #0] break; 8056402: e086 b.n 8056512 okf = 0; 8056404: 4b4b ldr r3, [pc, #300] ; (8056534 ) 8056406: 2200 movs r2, #0 8056408: 601a str r2, [r3, #0] break; 805640a: e082 b.n 8056512 case 2: frq[kf] = frq[kf] + 1; 805640c: 4b4a ldr r3, [pc, #296] ; (8056538 ) 805640e: 681b ldr r3, [r3, #0] 8056410: 4a49 ldr r2, [pc, #292] ; (8056538 ) 8056412: 6812 ldr r2, [r2, #0] 8056414: 4949 ldr r1, [pc, #292] ; (805653c ) 8056416: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805641a: 3201 adds r2, #1 805641c: 4947 ldr r1, [pc, #284] ; (805653c ) 805641e: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) < -DF) 8056422: 687b ldr r3, [r7, #4] 8056424: 009a lsls r2, r3, #2 8056426: 4b42 ldr r3, [pc, #264] ; (8056530 ) 8056428: 4413 add r3, r2 805642a: edd3 7a00 vldr s15, [r3] 805642e: eebe 7a00 vmov.f32 s14, #224 ; 0xbf000000 -0.5 8056432: eef4 7ac7 vcmpe.f32 s15, s14 8056436: eef1 fa10 vmrs APSR_nzcv, fpscr 805643a: d50f bpl.n 805645c { if(okf) 805643c: 4b3d ldr r3, [pc, #244] ; (8056534 ) 805643e: 681b ldr r3, [r3, #0] 8056440: 2b00 cmp r3, #0 8056442: d005 beq.n 8056450 okf--; 8056444: 4b3b ldr r3, [pc, #236] ; (8056534 ) 8056446: 681b ldr r3, [r3, #0] 8056448: 3b01 subs r3, #1 805644a: 4a3a ldr r2, [pc, #232] ; (8056534 ) 805644c: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 805644e: e060 b.n 8056512 else faseF++; 8056450: 4b36 ldr r3, [pc, #216] ; (805652c ) 8056452: 681b ldr r3, [r3, #0] 8056454: 3301 adds r3, #1 8056456: 4a35 ldr r2, [pc, #212] ; (805652c ) 8056458: 6013 str r3, [r2, #0] break; 805645a: e05a b.n 8056512 okf = CF; 805645c: 4b35 ldr r3, [pc, #212] ; (8056534 ) 805645e: 2204 movs r2, #4 8056460: 601a str r2, [r3, #0] break; 8056462: e056 b.n 8056512 case 3: frq[kf] = frq[kf] + 1; 8056464: 4b34 ldr r3, [pc, #208] ; (8056538 ) 8056466: 681b ldr r3, [r3, #0] 8056468: 4a33 ldr r2, [pc, #204] ; (8056538 ) 805646a: 6812 ldr r2, [r2, #0] 805646c: 4933 ldr r1, [pc, #204] ; (805653c ) 805646e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8056472: 3201 adds r2, #1 8056474: 4931 ldr r1, [pc, #196] ; (805653c ) 8056476: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) > DF) 805647a: 687b ldr r3, [r7, #4] 805647c: 009a lsls r2, r3, #2 805647e: 4b2c ldr r3, [pc, #176] ; (8056530 ) 8056480: 4413 add r3, r2 8056482: edd3 7a00 vldr s15, [r3] 8056486: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805648a: eef4 7ac7 vcmpe.f32 s15, s14 805648e: eef1 fa10 vmrs APSR_nzcv, fpscr 8056492: dd3a ble.n 805650a { if(okf < CF) 8056494: 4b27 ldr r3, [pc, #156] ; (8056534 ) 8056496: 681b ldr r3, [r3, #0] 8056498: 2b03 cmp r3, #3 805649a: d805 bhi.n 80564a8 okf++; 805649c: 4b25 ldr r3, [pc, #148] ; (8056534 ) 805649e: 681b ldr r3, [r3, #0] 80564a0: 3301 adds r3, #1 80564a2: 4a24 ldr r2, [pc, #144] ; (8056534 ) 80564a4: 6013 str r3, [r2, #0] faseF = 0; } } else okf = 0; break; 80564a6: e033 b.n 8056510 kf = (kf + 1) % LEN_M_BUF; 80564a8: 4b23 ldr r3, [pc, #140] ; (8056538 ) 80564aa: 681b ldr r3, [r3, #0] 80564ac: 1c59 adds r1, r3, #1 80564ae: 4b24 ldr r3, [pc, #144] ; (8056540 ) 80564b0: fba3 2301 umull r2, r3, r3, r1 80564b4: 085a lsrs r2, r3, #1 80564b6: 4613 mov r3, r2 80564b8: 00db lsls r3, r3, #3 80564ba: 4413 add r3, r2 80564bc: 1aca subs r2, r1, r3 80564be: 4b1e ldr r3, [pc, #120] ; (8056538 ) 80564c0: 601a str r2, [r3, #0] if(!kf) 80564c2: 4b1d ldr r3, [pc, #116] ; (8056538 ) 80564c4: 681b ldr r3, [r3, #0] 80564c6: 2b00 cmp r3, #0 80564c8: d11b bne.n 8056502 kf = 0; 80564ca: 4b1b ldr r3, [pc, #108] ; (8056538 ) 80564cc: 2200 movs r2, #0 80564ce: 601a str r2, [r3, #0] MedyF(); 80564d0: f7ff fee2 bl 8056298 if(axF) 80564d4: 4b1b ldr r3, [pc, #108] ; (8056544 ) 80564d6: edd3 7a00 vldr s15, [r3] 80564da: eef5 7a40 vcmp.f32 s15, #0.0 80564de: eef1 fa10 vmrs APSR_nzcv, fpscr 80564e2: d00a beq.n 80564fa FreqFran = 64000.0f / axF; 80564e4: 4b17 ldr r3, [pc, #92] ; (8056544 ) 80564e6: ed93 7a00 vldr s14, [r3] 80564ea: eddf 6a17 vldr s13, [pc, #92] ; 8056548 80564ee: eec6 7a87 vdiv.f32 s15, s13, s14 80564f2: 4b16 ldr r3, [pc, #88] ; (805654c ) 80564f4: edc3 7a00 vstr s15, [r3] 80564f8: e003 b.n 8056502 else FreqFran = 0; 80564fa: 4b14 ldr r3, [pc, #80] ; (805654c ) 80564fc: f04f 0200 mov.w r2, #0 8056500: 601a str r2, [r3, #0] faseF = 0; 8056502: 4b0a ldr r3, [pc, #40] ; (805652c ) 8056504: 2200 movs r2, #0 8056506: 601a str r2, [r3, #0] break; 8056508: e002 b.n 8056510 okf = 0; 805650a: 4b0a ldr r3, [pc, #40] ; (8056534 ) 805650c: 2200 movs r2, #0 805650e: 601a str r2, [r3, #0] break; 8056510: bf00 nop for(i = 0; i < cnt; i++) 8056512: 687b ldr r3, [r7, #4] 8056514: 3301 adds r3, #1 8056516: 607b str r3, [r7, #4] 8056518: 687a ldr r2, [r7, #4] 805651a: 683b ldr r3, [r7, #0] 805651c: 429a cmp r2, r3 805651e: f4ff af1c bcc.w 805635a } } } 8056522: bf00 nop 8056524: 3708 adds r7, #8 8056526: 46bd mov sp, r7 8056528: bd80 pop {r7, pc} 805652a: bf00 nop 805652c: 2002162c .word 0x2002162c 8056530: 64080000 .word 0x64080000 8056534: 20020094 .word 0x20020094 8056538: 20021628 .word 0x20021628 805653c: 20026e94 .word 0x20026e94 8056540: 38e38e39 .word 0x38e38e39 8056544: 200278d0 .word 0x200278d0 8056548: 477a0000 .word 0x477a0000 805654c: 20021564 .word 0x20021564 08056550 : void CalcFreqTacho(void) { 8056550: b580 push {r7, lr} 8056552: b082 sub sp, #8 8056554: af00 add r7, sp, #0 uint32_t i, cnt = 8 * 16384u; 8056556: f44f 3300 mov.w r3, #131072 ; 0x20000 805655a: 603b str r3, [r7, #0] for(i = 0; i < cnt; i++) 805655c: 2300 movs r3, #0 805655e: 607b str r3, [r7, #4] 8056560: e0de b.n 8056720 { switch(faseF) 8056562: 4b74 ldr r3, [pc, #464] ; (8056734 ) 8056564: 681b ldr r3, [r3, #0] 8056566: 2b03 cmp r3, #3 8056568: f200 80d7 bhi.w 805671a 805656c: a201 add r2, pc, #4 ; (adr r2, 8056574 ) 805656e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8056572: bf00 nop 8056574: 08056585 .word 0x08056585 8056578: 080565c7 .word 0x080565c7 805657c: 08056615 .word 0x08056615 8056580: 0805666d .word 0x0805666d { case 0: if(Freq_f32(i) < -DF_TACHO) 8056584: 687b ldr r3, [r7, #4] 8056586: 009a lsls r2, r3, #2 8056588: 4b6b ldr r3, [pc, #428] ; (8056738 ) 805658a: 4413 add r3, r2 805658c: edd3 7a00 vldr s15, [r3] 8056590: ed9f 7a6a vldr s14, [pc, #424] ; 805673c 8056594: eef4 7ac7 vcmpe.f32 s15, s14 8056598: eef1 fa10 vmrs APSR_nzcv, fpscr 805659c: d50f bpl.n 80565be { if(okf) 805659e: 4b68 ldr r3, [pc, #416] ; (8056740 ) 80565a0: 681b ldr r3, [r3, #0] 80565a2: 2b00 cmp r3, #0 80565a4: d005 beq.n 80565b2 okf--; 80565a6: 4b66 ldr r3, [pc, #408] ; (8056740 ) 80565a8: 681b ldr r3, [r3, #0] 80565aa: 3b01 subs r3, #1 80565ac: 4a64 ldr r2, [pc, #400] ; (8056740 ) 80565ae: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 80565b0: e0b3 b.n 805671a else faseF++; 80565b2: 4b60 ldr r3, [pc, #384] ; (8056734 ) 80565b4: 681b ldr r3, [r3, #0] 80565b6: 3301 adds r3, #1 80565b8: 4a5e ldr r2, [pc, #376] ; (8056734 ) 80565ba: 6013 str r3, [r2, #0] break; 80565bc: e0ad b.n 805671a okf = CF; 80565be: 4b60 ldr r3, [pc, #384] ; (8056740 ) 80565c0: 2204 movs r2, #4 80565c2: 601a str r2, [r3, #0] break; 80565c4: e0a9 b.n 805671a case 1: frq[kf] = 0; 80565c6: 4b5f ldr r3, [pc, #380] ; (8056744 ) 80565c8: 681b ldr r3, [r3, #0] 80565ca: 4a5f ldr r2, [pc, #380] ; (8056748 ) 80565cc: 2100 movs r1, #0 80565ce: f842 1023 str.w r1, [r2, r3, lsl #2] if(Freq_f32(i) > DF_TACHO) 80565d2: 687b ldr r3, [r7, #4] 80565d4: 009a lsls r2, r3, #2 80565d6: 4b58 ldr r3, [pc, #352] ; (8056738 ) 80565d8: 4413 add r3, r2 80565da: edd3 7a00 vldr s15, [r3] 80565de: ed9f 7a5b vldr s14, [pc, #364] ; 805674c 80565e2: eef4 7ac7 vcmpe.f32 s15, s14 80565e6: eef1 fa10 vmrs APSR_nzcv, fpscr 80565ea: dd0f ble.n 805660c { if(okf < CF) 80565ec: 4b54 ldr r3, [pc, #336] ; (8056740 ) 80565ee: 681b ldr r3, [r3, #0] 80565f0: 2b03 cmp r3, #3 80565f2: d805 bhi.n 8056600 okf++; 80565f4: 4b52 ldr r3, [pc, #328] ; (8056740 ) 80565f6: 681b ldr r3, [r3, #0] 80565f8: 3301 adds r3, #1 80565fa: 4a51 ldr r2, [pc, #324] ; (8056740 ) 80565fc: 6013 str r3, [r2, #0] else faseF++; } else okf = 0; break; 80565fe: e08c b.n 805671a else faseF++; 8056600: 4b4c ldr r3, [pc, #304] ; (8056734 ) 8056602: 681b ldr r3, [r3, #0] 8056604: 3301 adds r3, #1 8056606: 4a4b ldr r2, [pc, #300] ; (8056734 ) 8056608: 6013 str r3, [r2, #0] break; 805660a: e086 b.n 805671a okf = 0; 805660c: 4b4c ldr r3, [pc, #304] ; (8056740 ) 805660e: 2200 movs r2, #0 8056610: 601a str r2, [r3, #0] break; 8056612: e082 b.n 805671a case 2: frq[kf] = frq[kf] + 1; 8056614: 4b4b ldr r3, [pc, #300] ; (8056744 ) 8056616: 681b ldr r3, [r3, #0] 8056618: 4a4a ldr r2, [pc, #296] ; (8056744 ) 805661a: 6812 ldr r2, [r2, #0] 805661c: 494a ldr r1, [pc, #296] ; (8056748 ) 805661e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8056622: 3201 adds r2, #1 8056624: 4948 ldr r1, [pc, #288] ; (8056748 ) 8056626: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) < -DF_TACHO) 805662a: 687b ldr r3, [r7, #4] 805662c: 009a lsls r2, r3, #2 805662e: 4b42 ldr r3, [pc, #264] ; (8056738 ) 8056630: 4413 add r3, r2 8056632: edd3 7a00 vldr s15, [r3] 8056636: ed9f 7a41 vldr s14, [pc, #260] ; 805673c 805663a: eef4 7ac7 vcmpe.f32 s15, s14 805663e: eef1 fa10 vmrs APSR_nzcv, fpscr 8056642: d50f bpl.n 8056664 { if(okf) 8056644: 4b3e ldr r3, [pc, #248] ; (8056740 ) 8056646: 681b ldr r3, [r3, #0] 8056648: 2b00 cmp r3, #0 805664a: d005 beq.n 8056658 okf--; 805664c: 4b3c ldr r3, [pc, #240] ; (8056740 ) 805664e: 681b ldr r3, [r3, #0] 8056650: 3b01 subs r3, #1 8056652: 4a3b ldr r2, [pc, #236] ; (8056740 ) 8056654: 6013 str r3, [r2, #0] else faseF++; } else okf = CF; break; 8056656: e060 b.n 805671a else faseF++; 8056658: 4b36 ldr r3, [pc, #216] ; (8056734 ) 805665a: 681b ldr r3, [r3, #0] 805665c: 3301 adds r3, #1 805665e: 4a35 ldr r2, [pc, #212] ; (8056734 ) 8056660: 6013 str r3, [r2, #0] break; 8056662: e05a b.n 805671a okf = CF; 8056664: 4b36 ldr r3, [pc, #216] ; (8056740 ) 8056666: 2204 movs r2, #4 8056668: 601a str r2, [r3, #0] break; 805666a: e056 b.n 805671a case 3: frq[kf] = frq[kf] + 1; 805666c: 4b35 ldr r3, [pc, #212] ; (8056744 ) 805666e: 681b ldr r3, [r3, #0] 8056670: 4a34 ldr r2, [pc, #208] ; (8056744 ) 8056672: 6812 ldr r2, [r2, #0] 8056674: 4934 ldr r1, [pc, #208] ; (8056748 ) 8056676: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805667a: 3201 adds r2, #1 805667c: 4932 ldr r1, [pc, #200] ; (8056748 ) 805667e: f841 2023 str.w r2, [r1, r3, lsl #2] if(Freq_f32(i) > DF_TACHO) 8056682: 687b ldr r3, [r7, #4] 8056684: 009a lsls r2, r3, #2 8056686: 4b2c ldr r3, [pc, #176] ; (8056738 ) 8056688: 4413 add r3, r2 805668a: edd3 7a00 vldr s15, [r3] 805668e: ed9f 7a2f vldr s14, [pc, #188] ; 805674c 8056692: eef4 7ac7 vcmpe.f32 s15, s14 8056696: eef1 fa10 vmrs APSR_nzcv, fpscr 805669a: dd3a ble.n 8056712 { if(okf < CF) 805669c: 4b28 ldr r3, [pc, #160] ; (8056740 ) 805669e: 681b ldr r3, [r3, #0] 80566a0: 2b03 cmp r3, #3 80566a2: d805 bhi.n 80566b0 okf++; 80566a4: 4b26 ldr r3, [pc, #152] ; (8056740 ) 80566a6: 681b ldr r3, [r3, #0] 80566a8: 3301 adds r3, #1 80566aa: 4a25 ldr r2, [pc, #148] ; (8056740 ) 80566ac: 6013 str r3, [r2, #0] faseF = 0; } } else okf = 0; break; 80566ae: e033 b.n 8056718 kf = (kf + 1) % LEN_M_BUF_TACHO; 80566b0: 4b24 ldr r3, [pc, #144] ; (8056744 ) 80566b2: 681b ldr r3, [r3, #0] 80566b4: 1c59 adds r1, r3, #1 80566b6: 4b26 ldr r3, [pc, #152] ; (8056750 ) 80566b8: fba3 2301 umull r2, r3, r3, r1 80566bc: 089a lsrs r2, r3, #2 80566be: 4613 mov r3, r2 80566c0: 009b lsls r3, r3, #2 80566c2: 4413 add r3, r2 80566c4: 1aca subs r2, r1, r3 80566c6: 4b1f ldr r3, [pc, #124] ; (8056744 ) 80566c8: 601a str r2, [r3, #0] if(!kf) 80566ca: 4b1e ldr r3, [pc, #120] ; (8056744 ) 80566cc: 681b ldr r3, [r3, #0] 80566ce: 2b00 cmp r3, #0 80566d0: d11b bne.n 805670a kf = 0; 80566d2: 4b1c ldr r3, [pc, #112] ; (8056744 ) 80566d4: 2200 movs r2, #0 80566d6: 601a str r2, [r3, #0] MedyF(); 80566d8: f7ff fdde bl 8056298 if(axF) 80566dc: 4b1d ldr r3, [pc, #116] ; (8056754 ) 80566de: edd3 7a00 vldr s15, [r3] 80566e2: eef5 7a40 vcmp.f32 s15, #0.0 80566e6: eef1 fa10 vmrs APSR_nzcv, fpscr 80566ea: d00a beq.n 8056702 FreqFran = 20000.0f / axF; 80566ec: 4b19 ldr r3, [pc, #100] ; (8056754 ) 80566ee: ed93 7a00 vldr s14, [r3] 80566f2: eddf 6a19 vldr s13, [pc, #100] ; 8056758 80566f6: eec6 7a87 vdiv.f32 s15, s13, s14 80566fa: 4b18 ldr r3, [pc, #96] ; (805675c ) 80566fc: edc3 7a00 vstr s15, [r3] 8056700: e003 b.n 805670a else FreqFran = 0; 8056702: 4b16 ldr r3, [pc, #88] ; (805675c ) 8056704: f04f 0200 mov.w r2, #0 8056708: 601a str r2, [r3, #0] faseF = 0; 805670a: 4b0a ldr r3, [pc, #40] ; (8056734 ) 805670c: 2200 movs r2, #0 805670e: 601a str r2, [r3, #0] break; 8056710: e002 b.n 8056718 okf = 0; 8056712: 4b0b ldr r3, [pc, #44] ; (8056740 ) 8056714: 2200 movs r2, #0 8056716: 601a str r2, [r3, #0] break; 8056718: bf00 nop for(i = 0; i < cnt; i++) 805671a: 687b ldr r3, [r7, #4] 805671c: 3301 adds r3, #1 805671e: 607b str r3, [r7, #4] 8056720: 687a ldr r2, [r7, #4] 8056722: 683b ldr r3, [r7, #0] 8056724: 429a cmp r2, r3 8056726: f4ff af1c bcc.w 8056562 } } } 805672a: bf00 nop 805672c: 3708 adds r7, #8 805672e: 46bd mov sp, r7 8056730: bd80 pop {r7, pc} 8056732: bf00 nop 8056734: 2002162c .word 0x2002162c 8056738: 64080000 .word 0x64080000 805673c: c1a40000 .word 0xc1a40000 8056740: 20020094 .word 0x20020094 8056744: 20021628 .word 0x20021628 8056748: 20026e94 .word 0x20026e94 805674c: 41a40000 .word 0x41a40000 8056750: cccccccd .word 0xcccccccd 8056754: 200278d0 .word 0x200278d0 8056758: 469c4000 .word 0x469c4000 805675c: 20021564 .word 0x20021564 08056760 : void meas(void) { 8056760: b590 push {r4, r7, lr} 8056762: ed2d 8b04 vpush {d8-d9} 8056766: f5ad 7d0b sub.w sp, sp, #556 ; 0x22c 805676a: af00 add r7, sp, #0 float32_t minf, maxf; uint32_t lvl_0; uint16_t multA_u16, multB_u16, dX, dXold, MaxLevel; float32_t rms; float32_t scale = 1.0f; 805676c: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8056770: f8c7 3218 str.w r3, [r7, #536] ; 0x218 if(READY /*== DATA_CAPTURED*/) 8056774: 4bba ldr r3, [pc, #744] ; (8056a60 ) 8056776: 781b ldrb r3, [r3, #0] 8056778: b2db uxtb r3, r3 805677a: 2b00 cmp r3, #0 805677c: f00d 84c3 beq.w 8064106 { if(clbr) 8056780: 4bb8 ldr r3, [pc, #736] ; (8056a64 ) 8056782: 781b ldrb r3, [r3, #0] 8056784: b2db uxtb r3, r3 8056786: 2b00 cmp r3, #0 8056788: f000 8122 beq.w 80569d0 { if((menu != CALIBR_00) && (menu < CALIBR_9)) 805678c: 4bb6 ldr r3, [pc, #728] ; (8056a68 ) 805678e: 781b ldrb r3, [r3, #0] 8056790: b2db uxtb r3, r3 8056792: 2b34 cmp r3, #52 ; 0x34 8056794: f00d 84b2 beq.w 80640fc 8056798: 4bb3 ldr r3, [pc, #716] ; (8056a68 ) 805679a: 781b ldrb r3, [r3, #0] 805679c: b2db uxtb r3, r3 805679e: 2b3d cmp r3, #61 ; 0x3d 80567a0: f20d 84ac bhi.w 80640fc { if(measuring) 80567a4: 4bb1 ldr r3, [pc, #708] ; (8056a6c ) 80567a6: 781b ldrb r3, [r3, #0] 80567a8: b2db uxtb r3, r3 80567aa: 2b00 cmp r3, #0 80567ac: f00d 84a6 beq.w 80640fc { GetData(); 80567b0: f00d ff58 bl 8064664 for(i = 0; i < Ns; i++) { 80567b4: 2300 movs r3, #0 80567b6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80567ba: e014 b.n 80567e6 In[i] = (float32_t) In16[i].lg; 80567bc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80567c0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80567c4: 49aa ldr r1, [pc, #680] ; (8056a70 ) 80567c6: f851 2022 ldr.w r2, [r1, r2, lsl #2] 80567ca: ee07 2a90 vmov s15, r2 80567ce: eef8 7a67 vcvt.f32.u32 s15, s15 80567d2: 4aa8 ldr r2, [pc, #672] ; (8056a74 ) 80567d4: 009b lsls r3, r3, #2 80567d6: 4413 add r3, r2 80567d8: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 80567dc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80567e0: 3301 adds r3, #1 80567e2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80567e6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80567ea: 4ba3 ldr r3, [pc, #652] ; (8056a78 ) 80567ec: 681b ldr r3, [r3, #0] 80567ee: 429a cmp r2, r3 80567f0: d3e4 bcc.n 80567bc } arm_scale_f32(In, _b24 * 2, In, Ns); 80567f2: 4ba1 ldr r3, [pc, #644] ; (8056a78 ) 80567f4: 681b ldr r3, [r3, #0] 80567f6: 461a mov r2, r3 80567f8: 499e ldr r1, [pc, #632] ; (8056a74 ) 80567fa: ed9f 0aa0 vldr s0, [pc, #640] ; 8056a7c 80567fe: 489d ldr r0, [pc, #628] ; (8056a74 ) 8056800: f073 ffa2 bl 80ca748 arm_mean_f32(In, Ns, &fl); 8056804: 4b9c ldr r3, [pc, #624] ; (8056a78 ) 8056806: 681b ldr r3, [r3, #0] 8056808: f507 72de add.w r2, r7, #444 ; 0x1bc 805680c: 4619 mov r1, r3 805680e: 4899 ldr r0, [pc, #612] ; (8056a74 ) 8056810: f073 fc3a bl 80ca088 arm_offset_f32(In, -fl, Out, Ns); 8056814: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8056818: eef1 7a67 vneg.f32 s15, s15 805681c: 4b96 ldr r3, [pc, #600] ; (8056a78 ) 805681e: 681b ldr r3, [r3, #0] 8056820: 461a mov r2, r3 8056822: 4997 ldr r1, [pc, #604] ; (8056a80 ) 8056824: eeb0 0a67 vmov.f32 s0, s15 8056828: 4892 ldr r0, [pc, #584] ; (8056a74 ) 805682a: f073 ffc3 bl 80ca7b4 arm_rms_f32(Out, Ns, &skz[ACC]); 805682e: 4b92 ldr r3, [pc, #584] ; (8056a78 ) 8056830: 681b ldr r3, [r3, #0] 8056832: 4a94 ldr r2, [pc, #592] ; (8056a84 ) 8056834: 4619 mov r1, r3 8056836: 4892 ldr r0, [pc, #584] ; (8056a80 ) 8056838: f073 fb2e bl 80c9e98 switch(menu) 805683c: 4b8a ldr r3, [pc, #552] ; (8056a68 ) 805683e: 781b ldrb r3, [r3, #0] 8056840: b2db uxtb r3, r3 8056842: 3b35 subs r3, #53 ; 0x35 8056844: 2b08 cmp r3, #8 8056846: d869 bhi.n 805691c 8056848: a201 add r2, pc, #4 ; (adr r2, 8056850 ) 805684a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805684e: bf00 nop 8056850: 08056875 .word 0x08056875 8056854: 0805687d .word 0x0805687d 8056858: 0805688f .word 0x0805688f 805685c: 080568a1 .word 0x080568a1 8056860: 080568b3 .word 0x080568b3 8056864: 080568c5 .word 0x080568c5 8056868: 080568d7 .word 0x080568d7 805686c: 080568e9 .word 0x080568e9 8056870: 08056903 .word 0x08056903 { case CALIBR_0: // ICP 1 fl = 4000.0f / 1.6f; 8056874: 4b84 ldr r3, [pc, #528] ; (8056a88 ) 8056876: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc break; 805687a: e04f b.n 805691c case CALIBR_1: // ICP 2 fl = 4000.0f / 1.6f / KM[Ku2]; 805687c: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8056880: eddf 6a82 vldr s13, [pc, #520] ; 8056a8c 8056884: eec6 7a87 vdiv.f32 s15, s13, s14 8056888: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 805688c: e046 b.n 805691c case CALIBR_2: // ICP 4 fl = 4000.0f / 1.6f / KM[Ku4]; 805688e: eeb1 7a00 vmov.f32 s14, #16 ; 0x40800000 4.0 8056892: eddf 6a7e vldr s13, [pc, #504] ; 8056a8c 8056896: eec6 7a87 vdiv.f32 s15, s13, s14 805689a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 805689e: e03d b.n 805691c case CALIBR_3: // ICP 8 fl = 4000.0f / 1.6f / KM[Ku8]; 80568a0: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 80568a4: eddf 6a79 vldr s13, [pc, #484] ; 8056a8c 80568a8: eec6 7a87 vdiv.f32 s15, s13, s14 80568ac: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 80568b0: e034 b.n 805691c case CALIBR_4: // ICP 16 fl = 4000.0f / 1.6f/ KM[Ku16]; 80568b2: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 80568b6: eddf 6a75 vldr s13, [pc, #468] ; 8056a8c 80568ba: eec6 7a87 vdiv.f32 s15, s13, s14 80568be: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 80568c2: e02b b.n 805691c case CALIBR_5: // ICP 32 fl = 4000.0f / 1.6f / KM[Ku32]; 80568c4: ed9f 7a72 vldr s14, [pc, #456] ; 8056a90 80568c8: eddf 6a70 vldr s13, [pc, #448] ; 8056a8c 80568cc: eec6 7a87 vdiv.f32 s15, s13, s14 80568d0: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 80568d4: e022 b.n 805691c case CALIBR_6: // ICP 64 fl = 4000.0f / 1.6f / KM[Ku64]; 80568d6: ed9f 7a6f vldr s14, [pc, #444] ; 8056a94 80568da: eddf 6a6c vldr s13, [pc, #432] ; 8056a8c 80568de: eec6 7a87 vdiv.f32 s15, s13, s14 80568e2: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 80568e6: e019 b.n 805691c case CALIBR_7: // Kux10 fl = 4000.0f / 1.6f / 10.0f; 80568e8: 4b6b ldr r3, [pc, #428] ; (8056a98 ) 80568ea: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc fl *= Kcorr[ICPx1]; 80568ee: 4b6b ldr r3, [pc, #428] ; (8056a9c ) 80568f0: ed93 7a00 vldr s14, [r3] 80568f4: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80568f8: ee67 7a27 vmul.f32 s15, s14, s15 80568fc: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 8056900: e00c b.n 805691c case CALIBR_8: // ZAR 1 fl = 4000.0f / 1.6f; 8056902: 4b61 ldr r3, [pc, #388] ; (8056a88 ) 8056904: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc fl *= Kcorr[ICPx1]; 8056908: 4b64 ldr r3, [pc, #400] ; (8056a9c ) 805690a: ed93 7a00 vldr s14, [r3] 805690e: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8056912: ee67 7a27 vmul.f32 s15, s14, s15 8056916: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc break; 805691a: bf00 nop } skz[ACC] *= fl; 805691c: 4b59 ldr r3, [pc, #356] ; (8056a84 ) 805691e: ed93 7a00 vldr s14, [r3] 8056922: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8056926: ee67 7a27 vmul.f32 s15, s14, s15 805692a: 4b56 ldr r3, [pc, #344] ; (8056a84 ) 805692c: edc3 7a00 vstr s15, [r3] if(skz[ACC] != 0.0f) 8056930: 4b54 ldr r3, [pc, #336] ; (8056a84 ) 8056932: edd3 7a00 vldr s15, [r3] 8056936: eef5 7a40 vcmp.f32 s15, #0.0 805693a: eef1 fa10 vmrs APSR_nzcv, fpscr 805693e: f00d 83dd beq.w 80640fc { if(MeanClbr == 0) 8056942: 4b57 ldr r3, [pc, #348] ; (8056aa0 ) 8056944: 681b ldr r3, [r3, #0] 8056946: 2b00 cmp r3, #0 8056948: d111 bne.n 805696e MeanKcorr = Ucorr[menu - CALIBR_0] / skz[ACC]; 805694a: 4b47 ldr r3, [pc, #284] ; (8056a68 ) 805694c: 781b ldrb r3, [r3, #0] 805694e: b2db uxtb r3, r3 8056950: 3b35 subs r3, #53 ; 0x35 8056952: 4a54 ldr r2, [pc, #336] ; (8056aa4 ) 8056954: 009b lsls r3, r3, #2 8056956: 4413 add r3, r2 8056958: edd3 6a00 vldr s13, [r3] 805695c: 4b49 ldr r3, [pc, #292] ; (8056a84 ) 805695e: ed93 7a00 vldr s14, [r3] 8056962: eec6 7a87 vdiv.f32 s15, s13, s14 8056966: 4b50 ldr r3, [pc, #320] ; (8056aa8 ) 8056968: edc3 7a00 vstr s15, [r3] 805696c: e015 b.n 805699a else MeanKcorr += (Ucorr[menu - CALIBR_0] / skz[ACC]); 805696e: 4b3e ldr r3, [pc, #248] ; (8056a68 ) 8056970: 781b ldrb r3, [r3, #0] 8056972: b2db uxtb r3, r3 8056974: 3b35 subs r3, #53 ; 0x35 8056976: 4a4b ldr r2, [pc, #300] ; (8056aa4 ) 8056978: 009b lsls r3, r3, #2 805697a: 4413 add r3, r2 805697c: edd3 6a00 vldr s13, [r3] 8056980: 4b40 ldr r3, [pc, #256] ; (8056a84 ) 8056982: edd3 7a00 vldr s15, [r3] 8056986: ee86 7aa7 vdiv.f32 s14, s13, s15 805698a: 4b47 ldr r3, [pc, #284] ; (8056aa8 ) 805698c: edd3 7a00 vldr s15, [r3] 8056990: ee77 7a27 vadd.f32 s15, s14, s15 8056994: 4b44 ldr r3, [pc, #272] ; (8056aa8 ) 8056996: edc3 7a00 vstr s15, [r3] MeanClbr++; 805699a: 4b41 ldr r3, [pc, #260] ; (8056aa0 ) 805699c: 681b ldr r3, [r3, #0] 805699e: 3301 adds r3, #1 80569a0: 4a3f ldr r2, [pc, #252] ; (8056aa0 ) 80569a2: 6013 str r3, [r2, #0] Kcorr[menu - CALIBR_0] = MeanKcorr / ((float32_t) MeanClbr); 80569a4: 4b30 ldr r3, [pc, #192] ; (8056a68 ) 80569a6: 781b ldrb r3, [r3, #0] 80569a8: b2db uxtb r3, r3 80569aa: 3b35 subs r3, #53 ; 0x35 80569ac: 4a3e ldr r2, [pc, #248] ; (8056aa8 ) 80569ae: edd2 6a00 vldr s13, [r2] 80569b2: 4a3b ldr r2, [pc, #236] ; (8056aa0 ) 80569b4: 6812 ldr r2, [r2, #0] 80569b6: ee07 2a90 vmov s15, r2 80569ba: eeb8 7a67 vcvt.f32.u32 s14, s15 80569be: eec6 7a87 vdiv.f32 s15, s13, s14 80569c2: 4a36 ldr r2, [pc, #216] ; (8056a9c ) 80569c4: 009b lsls r3, r3, #2 80569c6: 4413 add r3, r2 80569c8: edc3 7a00 vstr s15, [r3] 80569cc: f00d bb96 b.w 80640fc } } } else { switch(pardata.SYG) 80569d0: 4b36 ldr r3, [pc, #216] ; (8056aac ) 80569d2: 781b ldrb r3, [r3, #0] 80569d4: b2db uxtb r3, r3 80569d6: 2b0a cmp r3, #10 80569d8: f20d 8390 bhi.w 80640fc 80569dc: a201 add r2, pc, #4 ; (adr r2, 80569e4 ) 80569de: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80569e2: bf00 nop 80569e4: 08058dc9 .word 0x08058dc9 80569e8: 0805ce85 .word 0x0805ce85 80569ec: 08062815 .word 0x08062815 80569f0: 08058dc9 .word 0x08058dc9 80569f4: 08063a05 .word 0x08063a05 80569f8: 0805d2bb .word 0x0805d2bb 80569fc: 0805d8bb .word 0x0805d8bb 8056a00: 0805f051 .word 0x0805f051 8056a04: 0805a5fb .word 0x0805a5fb 8056a08: 0805c703 .word 0x0805c703 8056a0c: 08056a11 .word 0x08056a11 { case DIAGN: if(measuring) 8056a10: 4b16 ldr r3, [pc, #88] ; (8056a6c ) 8056a12: 781b ldrb r3, [r3, #0] 8056a14: b2db uxtb r3, r3 8056a16: 2b00 cmp r3, #0 8056a18: f00d 835d beq.w 80640d6 { tick = HAL_GetTick(); 8056a1c: f05c fc28 bl 80b3270 8056a20: f8c7 021c str.w r0, [r7, #540] ; 0x21c GetData(); 8056a24: f00d fe1e bl 8064664 j = 0; 8056a28: 2300 movs r3, #0 8056a2a: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 8056a2e: 4b1f ldr r3, [pc, #124] ; (8056aac ) 8056a30: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8056a34: f003 0304 and.w r3, r3, #4 8056a38: 2b00 cmp r3, #0 8056a3a: d005 beq.n 8056a48 CalculateGain(Ns); 8056a3c: 4b0e ldr r3, [pc, #56] ; (8056a78 ) 8056a3e: 681b ldr r3, [r3, #0] 8056a40: 4618 mov r0, r3 8056a42: f7fe fff3 bl 8055a2c 8056a46: e05a b.n 8056afe else { Stability = (Nr * 4) + 1; 8056a48: 4b19 ldr r3, [pc, #100] ; (8056ab0 ) 8056a4a: 881b ldrh r3, [r3, #0] 8056a4c: b29b uxth r3, r3 8056a4e: 009b lsls r3, r3, #2 8056a50: 3301 adds r3, #1 8056a52: 461a mov r2, r3 8056a54: 4b17 ldr r3, [pc, #92] ; (8056ab4 ) 8056a56: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 8056a58: 2300 movs r3, #0 8056a5a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8056a5e: e03d b.n 8056adc 8056a60: 20020d7f .word 0x20020d7f 8056a64: 20020f68 .word 0x20020f68 8056a68: 20020f78 .word 0x20020f78 8056a6c: 20020daf .word 0x20020daf 8056a70: 20058020 .word 0x20058020 8056a74: 200279c0 .word 0x200279c0 8056a78: 20021cdc .word 0x20021cdc 8056a7c: 34c00000 .word 0x34c00000 8056a80: 20008000 .word 0x20008000 8056a84: 20021540 .word 0x20021540 8056a88: 451c4000 .word 0x451c4000 8056a8c: 451c4000 .word 0x451c4000 8056a90: 42000000 .word 0x42000000 8056a94: 42800000 .word 0x42800000 8056a98: 437a0000 .word 0x437a0000 8056a9c: 20026194 .word 0x20026194 8056aa0: 2002160c .word 0x2002160c 8056aa4: 080ee938 .word 0x080ee938 8056aa8: 20021610 .word 0x20021610 8056aac: 20023e60 .word 0x20023e60 8056ab0: 20021d20 .word 0x20021d20 8056ab4: 20020da8 .word 0x20020da8 { if(In16[i].lg > 0xE00000) 8056ab8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056abc: 4ab8 ldr r2, [pc, #736] ; (8056da0 ) 8056abe: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8056ac2: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8056ac6: d904 bls.n 8056ad2 j++; 8056ac8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8056acc: 3301 adds r3, #1 8056ace: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 8056ad2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056ad6: 3301 adds r3, #1 8056ad8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8056adc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8056ae0: 4bb0 ldr r3, [pc, #704] ; (8056da4 ) 8056ae2: 681b ldr r3, [r3, #0] 8056ae4: 429a cmp r2, r3 8056ae6: d3e7 bcc.n 8056ab8 } if(j >= 2) 8056ae8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8056aec: 2b01 cmp r3, #1 8056aee: d903 bls.n 8056af8 OVERDRIVE = true; 8056af0: 4bad ldr r3, [pc, #692] ; (8056da8 ) 8056af2: 2201 movs r2, #1 8056af4: 701a strb r2, [r3, #0] 8056af6: e002 b.n 8056afe else OVERDRIVE = false; 8056af8: 4bab ldr r3, [pc, #684] ; (8056da8 ) 8056afa: 2200 movs r2, #0 8056afc: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 8056afe: 4bab ldr r3, [pc, #684] ; (8056dac ) 8056b00: 781b ldrb r3, [r3, #0] 8056b02: b2db uxtb r3, r3 8056b04: 2b00 cmp r3, #0 8056b06: d02d beq.n 8056b64 { Stability = 0; 8056b08: 4ba9 ldr r3, [pc, #676] ; (8056db0 ) 8056b0a: 2200 movs r2, #0 8056b0c: 601a str r2, [r3, #0] NeedFreq = false; 8056b0e: 4ba9 ldr r3, [pc, #676] ; (8056db4 ) 8056b10: 2200 movs r2, #0 8056b12: 701a strb r2, [r3, #0] AvgCnt = 0; 8056b14: 4ba8 ldr r3, [pc, #672] ; (8056db8 ) 8056b16: 2200 movs r2, #0 8056b18: 601a str r2, [r3, #0] MeanCnt = 0; 8056b1a: 4ba8 ldr r3, [pc, #672] ; (8056dbc ) 8056b1c: 2200 movs r2, #0 8056b1e: 601a str r2, [r3, #0] CNT_MEAN_FREQ = 0; 8056b20: 4ba7 ldr r3, [pc, #668] ; (8056dc0 ) 8056b22: 2200 movs r2, #0 8056b24: 601a str r2, [r3, #0] MEAN_FREQ = 0.0f; 8056b26: 4ba7 ldr r3, [pc, #668] ; (8056dc4 ) 8056b28: f04f 0200 mov.w r2, #0 8056b2c: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 4); 8056b2e: 2104 movs r1, #4 8056b30: 48a5 ldr r0, [pc, #660] ; (8056dc8 ) 8056b32: ed9f 0aa6 vldr s0, [pc, #664] ; 8056dcc 8056b36: f073 f901 bl 80c9d3c arm_fill_f32(0.0f, peakAVS, 4); 8056b3a: 2104 movs r1, #4 8056b3c: 48a4 ldr r0, [pc, #656] ; (8056dd0 ) 8056b3e: ed9f 0aa3 vldr s0, [pc, #652] ; 8056dcc 8056b42: f073 f8fb bl 80c9d3c arm_fill_f32(0.0f, &ACC_PEAK_WR(0), 512 * 8u); 8056b46: f44f 5180 mov.w r1, #4096 ; 0x1000 8056b4a: 48a2 ldr r0, [pc, #648] ; (8056dd4 ) 8056b4c: ed9f 0a9f vldr s0, [pc, #636] ; 8056dcc 8056b50: f073 f8f4 bl 80c9d3c NSamples = 0xffffffff; 8056b54: 4ba0 ldr r3, [pc, #640] ; (8056dd8 ) 8056b56: f04f 32ff mov.w r2, #4294967295 8056b5a: 601a str r2, [r3, #0] timeRelax = 48; 8056b5c: 4b9f ldr r3, [pc, #636] ; (8056ddc ) 8056b5e: 2230 movs r2, #48 ; 0x30 8056b60: 601a str r2, [r3, #0] 8056b62: e00d b.n 8056b80 } else { if(Stability <= (Nr * 4)) 8056b64: 4b9e ldr r3, [pc, #632] ; (8056de0 ) 8056b66: 881b ldrh r3, [r3, #0] 8056b68: b29b uxth r3, r3 8056b6a: 009b lsls r3, r3, #2 8056b6c: 461a mov r2, r3 8056b6e: 4b90 ldr r3, [pc, #576] ; (8056db0 ) 8056b70: 681b ldr r3, [r3, #0] 8056b72: 429a cmp r2, r3 8056b74: d304 bcc.n 8056b80 Stability++; 8056b76: 4b8e ldr r3, [pc, #568] ; (8056db0 ) 8056b78: 681b ldr r3, [r3, #0] 8056b7a: 3301 adds r3, #1 8056b7c: 4a8c ldr r2, [pc, #560] ; (8056db0 ) 8056b7e: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8056b80: 4b8a ldr r3, [pc, #552] ; (8056dac ) 8056b82: 781b ldrb r3, [r3, #0] 8056b84: b2db uxtb r3, r3 8056b86: 2b00 cmp r3, #0 8056b88: f042 80fa bne.w 8058d80 8056b8c: 4b94 ldr r3, [pc, #592] ; (8056de0 ) 8056b8e: 881b ldrh r3, [r3, #0] 8056b90: b29b uxth r3, r3 8056b92: 009b lsls r3, r3, #2 8056b94: 461a mov r2, r3 8056b96: 4b86 ldr r3, [pc, #536] ; (8056db0 ) 8056b98: 681b ldr r3, [r3, #0] 8056b9a: 429a cmp r2, r3 8056b9c: f082 80f0 bcs.w 8058d80 { fNrm = 1.0f / (float32_t) (Ns >> 1); 8056ba0: 4b80 ldr r3, [pc, #512] ; (8056da4 ) 8056ba2: 681b ldr r3, [r3, #0] 8056ba4: 085b lsrs r3, r3, #1 8056ba6: ee07 3a90 vmov s15, r3 8056baa: eeb8 7a67 vcvt.f32.u32 s14, s15 8056bae: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8056bb2: eec6 7a87 vdiv.f32 s15, s13, s14 8056bb6: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8056bba: 4b8a ldr r3, [pc, #552] ; (8056de4 ) 8056bbc: edd3 7a00 vldr s15, [r3] 8056bc0: eeb7 7ae7 vcvt.f64.f32 d7, s15 8056bc4: ed9f 6b74 vldr d6, [pc, #464] ; 8056d98 8056bc8: ee27 7b06 vmul.f64 d7, d7, d6 8056bcc: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 8056bd0: 2300 movs r3, #0 8056bd2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8056bd6: e026 b.n 8056c26 { Buff64[i] = (float64_t) In16[i].lg; 8056bd8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056bdc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8056be0: 496f ldr r1, [pc, #444] ; (8056da0 ) 8056be2: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8056be6: ee07 2a90 vmov s15, r2 8056bea: eeb8 7b67 vcvt.f64.u32 d7, s15 8056bee: 4a7e ldr r2, [pc, #504] ; (8056de8 ) 8056bf0: 00db lsls r3, r3, #3 8056bf2: 4413 add r3, r2 8056bf4: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 8056bf8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056bfc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8056c00: 4979 ldr r1, [pc, #484] ; (8056de8 ) 8056c02: 00d2 lsls r2, r2, #3 8056c04: 440a add r2, r1 8056c06: ed92 6b00 vldr d6, [r2] 8056c0a: ed97 7b82 vldr d7, [r7, #520] ; 0x208 8056c0e: ee26 7b07 vmul.f64 d7, d6, d7 8056c12: 4a75 ldr r2, [pc, #468] ; (8056de8 ) 8056c14: 00db lsls r3, r3, #3 8056c16: 4413 add r3, r2 8056c18: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 8056c1c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056c20: 3301 adds r3, #1 8056c22: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8056c26: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8056c2a: 4b5e ldr r3, [pc, #376] ; (8056da4 ) 8056c2c: 681b ldr r3, [r3, #0] 8056c2e: 429a cmp r2, r3 8056c30: d3d2 bcc.n 8056bd8 } ///////// CALC OPERANDS /////////////////// for(k = 0; k < NUM_OPERANDS; k++) 8056c32: 2300 movs r3, #0 8056c34: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8056c38: e260 b.n 80570fc { arm_biquad_cascade_df2T_f64(&D_LP[k], Buff64, &Buff64[Ns], Ns); 8056c3a: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8056c3e: 4613 mov r3, r2 8056c40: 005b lsls r3, r3, #1 8056c42: 4413 add r3, r2 8056c44: 009b lsls r3, r3, #2 8056c46: 4a69 ldr r2, [pc, #420] ; (8056dec ) 8056c48: 1898 adds r0, r3, r2 8056c4a: 4b56 ldr r3, [pc, #344] ; (8056da4 ) 8056c4c: 681b ldr r3, [r3, #0] 8056c4e: 00db lsls r3, r3, #3 8056c50: 4a65 ldr r2, [pc, #404] ; (8056de8 ) 8056c52: 441a add r2, r3 8056c54: 4b53 ldr r3, [pc, #332] ; (8056da4 ) 8056c56: 681b ldr r3, [r3, #0] 8056c58: 4963 ldr r1, [pc, #396] ; (8056de8 ) 8056c5a: f073 fabf bl 80ca1dc switch(pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) 8056c5e: 4b64 ldr r3, [pc, #400] ; (8056df0 ) 8056c60: 781b ldrb r3, [r3, #0] 8056c62: b2db uxtb r3, r3 8056c64: 461a mov r2, r3 8056c66: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056c6a: 4962 ldr r1, [pc, #392] ; (8056df4 ) 8056c6c: 0092 lsls r2, r2, #2 8056c6e: 440a add r2, r1 8056c70: 4413 add r3, r2 8056c72: f503 730f add.w r3, r3, #572 ; 0x23c 8056c76: 781b ldrb r3, [r3, #0] 8056c78: b2db uxtb r3, r3 8056c7a: f003 0307 and.w r3, r3, #7 8056c7e: 2b02 cmp r3, #2 8056c80: d002 beq.n 8056c88 8056c82: 2b04 cmp r3, #4 8056c84: d017 beq.n 8056cb6 8056c86: e02d b.n 8056ce4 { case DIAGN_VEL: //VEL arm_biquad_cascade_df2T_f64(&D_INT1[k], &Buff64[Ns], &Buff64[Ns], Ns); 8056c88: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8056c8c: 4613 mov r3, r2 8056c8e: 005b lsls r3, r3, #1 8056c90: 4413 add r3, r2 8056c92: 009b lsls r3, r3, #2 8056c94: 4a58 ldr r2, [pc, #352] ; (8056df8 ) 8056c96: 1898 adds r0, r3, r2 8056c98: 4b42 ldr r3, [pc, #264] ; (8056da4 ) 8056c9a: 681b ldr r3, [r3, #0] 8056c9c: 00db lsls r3, r3, #3 8056c9e: 4a52 ldr r2, [pc, #328] ; (8056de8 ) 8056ca0: 1899 adds r1, r3, r2 8056ca2: 4b40 ldr r3, [pc, #256] ; (8056da4 ) 8056ca4: 681b ldr r3, [r3, #0] 8056ca6: 00db lsls r3, r3, #3 8056ca8: 4a4f ldr r2, [pc, #316] ; (8056de8 ) 8056caa: 441a add r2, r3 8056cac: 4b3d ldr r3, [pc, #244] ; (8056da4 ) 8056cae: 681b ldr r3, [r3, #0] 8056cb0: f073 fa94 bl 80ca1dc break; 8056cb4: e016 b.n 8056ce4 case DIAGN_DIS: //DIS arm_biquad_cascade_df2T_f64(&D_INT2[k], &Buff64[Ns], &Buff64[Ns], Ns); 8056cb6: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8056cba: 4613 mov r3, r2 8056cbc: 005b lsls r3, r3, #1 8056cbe: 4413 add r3, r2 8056cc0: 009b lsls r3, r3, #2 8056cc2: 4a4e ldr r2, [pc, #312] ; (8056dfc ) 8056cc4: 1898 adds r0, r3, r2 8056cc6: 4b37 ldr r3, [pc, #220] ; (8056da4 ) 8056cc8: 681b ldr r3, [r3, #0] 8056cca: 00db lsls r3, r3, #3 8056ccc: 4a46 ldr r2, [pc, #280] ; (8056de8 ) 8056cce: 1899 adds r1, r3, r2 8056cd0: 4b34 ldr r3, [pc, #208] ; (8056da4 ) 8056cd2: 681b ldr r3, [r3, #0] 8056cd4: 00db lsls r3, r3, #3 8056cd6: 4a44 ldr r2, [pc, #272] ; (8056de8 ) 8056cd8: 441a add r2, r3 8056cda: 4b32 ldr r3, [pc, #200] ; (8056da4 ) 8056cdc: 681b ldr r3, [r3, #0] 8056cde: f073 fa7d bl 80ca1dc break; 8056ce2: bf00 nop } arm_biquad_cascade_df2T_f64(&D_HP[k], &Buff64[Ns], &Buff64[Ns], Ns); 8056ce4: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8056ce8: 4613 mov r3, r2 8056cea: 005b lsls r3, r3, #1 8056cec: 4413 add r3, r2 8056cee: 009b lsls r3, r3, #2 8056cf0: 4a43 ldr r2, [pc, #268] ; (8056e00 ) 8056cf2: 1898 adds r0, r3, r2 8056cf4: 4b2b ldr r3, [pc, #172] ; (8056da4 ) 8056cf6: 681b ldr r3, [r3, #0] 8056cf8: 00db lsls r3, r3, #3 8056cfa: 4a3b ldr r2, [pc, #236] ; (8056de8 ) 8056cfc: 1899 adds r1, r3, r2 8056cfe: 4b29 ldr r3, [pc, #164] ; (8056da4 ) 8056d00: 681b ldr r3, [r3, #0] 8056d02: 00db lsls r3, r3, #3 8056d04: 4a38 ldr r2, [pc, #224] ; (8056de8 ) 8056d06: 441a add r2, r3 8056d08: 4b26 ldr r3, [pc, #152] ; (8056da4 ) 8056d0a: 681b ldr r3, [r3, #0] 8056d0c: f073 fa66 bl 80ca1dc for(i = 0; i < Ns; i++) { 8056d10: 2300 movs r3, #0 8056d12: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8056d16: e016 b.n 8056d46 Out[i] = (float32_t) Buff64[i + 8192]; 8056d18: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056d1c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8056d20: f502 5200 add.w r2, r2, #8192 ; 0x2000 8056d24: 4930 ldr r1, [pc, #192] ; (8056de8 ) 8056d26: 00d2 lsls r2, r2, #3 8056d28: 440a add r2, r1 8056d2a: ed92 7b00 vldr d7, [r2] 8056d2e: eef7 7bc7 vcvt.f32.f64 s15, d7 8056d32: 4a34 ldr r2, [pc, #208] ; (8056e04 ) 8056d34: 009b lsls r3, r3, #2 8056d36: 4413 add r3, r2 8056d38: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 8056d3c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8056d40: 3301 adds r3, #1 8056d42: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8056d46: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8056d4a: 4b16 ldr r3, [pc, #88] ; (8056da4 ) 8056d4c: 681b ldr r3, [r3, #0] 8056d4e: 429a cmp r2, r3 8056d50: d3e2 bcc.n 8056d18 } if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_VEL) 8056d52: 4b27 ldr r3, [pc, #156] ; (8056df0 ) 8056d54: 781b ldrb r3, [r3, #0] 8056d56: b2db uxtb r3, r3 8056d58: 461a mov r2, r3 8056d5a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056d5e: 4925 ldr r1, [pc, #148] ; (8056df4 ) 8056d60: 0092 lsls r2, r2, #2 8056d62: 440a add r2, r1 8056d64: 4413 add r3, r2 8056d66: f503 730f add.w r3, r3, #572 ; 0x23c 8056d6a: 781b ldrb r3, [r3, #0] 8056d6c: b2db uxtb r3, r3 8056d6e: f003 0307 and.w r3, r3, #7 8056d72: 2b02 cmp r3, #2 8056d74: d14a bne.n 8056e0c { fs = 249.135f; 8056d76: 4b24 ldr r3, [pc, #144] ; (8056e08 ) 8056d78: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 8056d7c: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8056d80: 4b08 ldr r3, [pc, #32] ; (8056da4 ) 8056d82: 681b ldr r3, [r3, #0] 8056d84: 461a mov r2, r3 8056d86: 491f ldr r1, [pc, #124] ; (8056e04 ) 8056d88: eeb0 0a67 vmov.f32 s0, s15 8056d8c: 481d ldr r0, [pc, #116] ; (8056e04 ) 8056d8e: f073 fcdb bl 80ca748 8056d92: e05b b.n 8056e4c 8056d94: f3af 8000 nop.w 8056d98: 18000018 .word 0x18000018 8056d9c: 3e980000 .word 0x3e980000 8056da0: 20058020 .word 0x20058020 8056da4: 20021cdc .word 0x20021cdc 8056da8: 20021531 .word 0x20021531 8056dac: 20020d7e .word 0x20020d7e 8056db0: 20020da8 .word 0x20020da8 8056db4: 20020d75 .word 0x20020d75 8056db8: 20020d60 .word 0x20020d60 8056dbc: 20020db8 .word 0x20020db8 8056dc0: 20021620 .word 0x20021620 8056dc4: 2002161c .word 0x2002161c 8056dc8: 20021ce8 .word 0x20021ce8 8056dcc: 00000000 .word 0x00000000 8056dd0: 20021cfc .word 0x20021cfc 8056dd4: 64050000 .word 0x64050000 8056dd8: 20020d88 .word 0x20020d88 8056ddc: 20020d6c .word 0x20020d6c 8056de0: 20021d20 .word 0x20021d20 8056de4: 20020080 .word 0x20020080 8056de8: 20037ae0 .word 0x20037ae0 8056dec: 2002629c .word 0x2002629c 8056df0: 20021011 .word 0x20021011 8056df4: 20023e60 .word 0x20023e60 8056df8: 200268f4 .word 0x200268f4 8056dfc: 20057d90 .word 0x20057d90 8056e00: 20068368 .word 0x20068368 8056e04: 20008000 .word 0x20008000 8056e08: 4379228f .word 0x4379228f } else if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_DIS) 8056e0c: 4bd1 ldr r3, [pc, #836] ; (8057154 ) 8056e0e: 781b ldrb r3, [r3, #0] 8056e10: b2db uxtb r3, r3 8056e12: 461a mov r2, r3 8056e14: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056e18: 49cf ldr r1, [pc, #828] ; (8057158 ) 8056e1a: 0092 lsls r2, r2, #2 8056e1c: 440a add r2, r1 8056e1e: 4413 add r3, r2 8056e20: f503 730f add.w r3, r3, #572 ; 0x23c 8056e24: 781b ldrb r3, [r3, #0] 8056e26: b2db uxtb r3, r3 8056e28: f003 0307 and.w r3, r3, #7 8056e2c: 2b04 cmp r3, #4 8056e2e: d10d bne.n 8056e4c { fs = 61400.171f; 8056e30: 4bca ldr r3, [pc, #808] ; (805715c ) 8056e32: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 8056e36: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8056e3a: 4bc9 ldr r3, [pc, #804] ; (8057160 ) 8056e3c: 681b ldr r3, [r3, #0] 8056e3e: 461a mov r2, r3 8056e40: 49c8 ldr r1, [pc, #800] ; (8057164 ) 8056e42: eeb0 0a67 vmov.f32 s0, s15 8056e46: 48c7 ldr r0, [pc, #796] ; (8057164 ) 8056e48: f073 fc7e bl 80ca748 switch((pardata.DIAGN_MASK[CURR_POINT][k] >> 3) & 0x1f) 8056e4c: 4bc1 ldr r3, [pc, #772] ; (8057154 ) 8056e4e: 781b ldrb r3, [r3, #0] 8056e50: b2db uxtb r3, r3 8056e52: 461a mov r2, r3 8056e54: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056e58: 49bf ldr r1, [pc, #764] ; (8057158 ) 8056e5a: 0092 lsls r2, r2, #2 8056e5c: 440a add r2, r1 8056e5e: 4413 add r3, r2 8056e60: f503 730f add.w r3, r3, #572 ; 0x23c 8056e64: 781b ldrb r3, [r3, #0] 8056e66: b2db uxtb r3, r3 8056e68: 08db lsrs r3, r3, #3 8056e6a: b2db uxtb r3, r3 8056e6c: f003 031f and.w r3, r3, #31 8056e70: 3b01 subs r3, #1 8056e72: 2b0f cmp r3, #15 8056e74: f200 813d bhi.w 80570f2 8056e78: a201 add r2, pc, #4 ; (adr r2, 8056e80 ) 8056e7a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8056e7e: bf00 nop 8056e80: 08056ec1 .word 0x08056ec1 8056e84: 08056f45 .word 0x08056f45 8056e88: 080570f3 .word 0x080570f3 8056e8c: 08056f6f .word 0x08056f6f 8056e90: 080570f3 .word 0x080570f3 8056e94: 080570f3 .word 0x080570f3 8056e98: 080570f3 .word 0x080570f3 8056e9c: 08057025 .word 0x08057025 8056ea0: 080570f3 .word 0x080570f3 8056ea4: 080570f3 .word 0x080570f3 8056ea8: 080570f3 .word 0x080570f3 8056eac: 080570f3 .word 0x080570f3 8056eb0: 080570f3 .word 0x080570f3 8056eb4: 080570f3 .word 0x080570f3 8056eb8: 080570f3 .word 0x080570f3 8056ebc: 080570d1 .word 0x080570d1 { case DIAGN_PEAK: // peak arm_min_f32(Out, Ns, &fn[0], &i); 8056ec0: 4ba7 ldr r3, [pc, #668] ; (8057160 ) 8056ec2: 6819 ldr r1, [r3, #0] 8056ec4: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8056ec8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8056ecc: 48a5 ldr r0, [pc, #660] ; (8057164 ) 8056ece: f073 f875 bl 80c9fbc arm_max_f32(Out, Ns, &fn[1], &j); 8056ed2: 4ba3 ldr r3, [pc, #652] ; (8057160 ) 8056ed4: 6819 ldr r1, [r3, #0] 8056ed6: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8056eda: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8056ede: 1d1a adds r2, r3, #4 8056ee0: 4603 mov r3, r0 8056ee2: 48a0 ldr r0, [pc, #640] ; (8057164 ) 8056ee4: f073 f906 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8056ee8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056eec: eef5 7ac0 vcmpe.f32 s15, #0.0 8056ef0: eef1 fa10 vmrs APSR_nzcv, fpscr 8056ef4: dd02 ble.n 8056efc 8056ef6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056efa: e003 b.n 8056f04 8056efc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056f00: eef1 7a67 vneg.f32 s15, s15 8056f04: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8056f08: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056f0c: eef5 7ac0 vcmpe.f32 s15, #0.0 8056f10: eef1 fa10 vmrs APSR_nzcv, fpscr 8056f14: dd02 ble.n 8056f1c 8056f16: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056f1a: e003 b.n 8056f24 8056f1c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056f20: eef1 7a67 vneg.f32 s15, s15 8056f24: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fval[k], &i); 8056f28: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056f2c: f107 02fc add.w r2, r7, #252 ; 0xfc 8056f30: 009b lsls r3, r3, #2 8056f32: 441a add r2, r3 8056f34: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8056f38: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8056f3c: 2102 movs r1, #2 8056f3e: f073 f8d9 bl 80ca0f4 break; 8056f42: e0d6 b.n 80570f2 case DIAGN_RMS: // rms arm_power_f32(Out, Ns, &fval[k]); 8056f44: 4b86 ldr r3, [pc, #536] ; (8057160 ) 8056f46: 6819 ldr r1, [r3, #0] 8056f48: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056f4c: f107 02fc add.w r2, r7, #252 ; 0xfc 8056f50: 009b lsls r3, r3, #2 8056f52: 4413 add r3, r2 8056f54: 461a mov r2, r3 8056f56: 4883 ldr r0, [pc, #524] ; (8057164 ) 8056f58: f072 fff6 bl 80c9f48 arm_rms_f32(Out, Ns, &rms); 8056f5c: 4b80 ldr r3, [pc, #512] ; (8057160 ) 8056f5e: 681b ldr r3, [r3, #0] 8056f60: f507 7286 add.w r2, r7, #268 ; 0x10c 8056f64: 4619 mov r1, r3 8056f66: 487f ldr r0, [pc, #508] ; (8057164 ) 8056f68: f072 ff96 bl 80c9e98 break; 8056f6c: e0c1 b.n 80570f2 case DIAGN_PEAK_TO_PEAK: // pk-pk arm_min_f32(Out, Ns, &fn[0], &i); 8056f6e: 4b7c ldr r3, [pc, #496] ; (8057160 ) 8056f70: 6819 ldr r1, [r3, #0] 8056f72: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8056f76: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8056f7a: 487a ldr r0, [pc, #488] ; (8057164 ) 8056f7c: f073 f81e bl 80c9fbc arm_max_f32(Out, Ns, &fn[1], &j); 8056f80: 4b77 ldr r3, [pc, #476] ; (8057160 ) 8056f82: 6819 ldr r1, [r3, #0] 8056f84: f507 70e6 add.w r0, r7, #460 ; 0x1cc 8056f88: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8056f8c: 1d1a adds r2, r3, #4 8056f8e: 4603 mov r3, r0 8056f90: 4874 ldr r0, [pc, #464] ; (8057164 ) 8056f92: f073 f8af bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8056f96: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056f9a: eef5 7ac0 vcmpe.f32 s15, #0.0 8056f9e: eef1 fa10 vmrs APSR_nzcv, fpscr 8056fa2: dd02 ble.n 8056faa 8056fa4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056fa8: e003 b.n 8056fb2 8056faa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056fae: eef1 7a67 vneg.f32 s15, s15 8056fb2: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8056fb6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056fba: eef5 7ac0 vcmpe.f32 s15, #0.0 8056fbe: eef1 fa10 vmrs APSR_nzcv, fpscr 8056fc2: dd02 ble.n 8056fca 8056fc4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056fc8: e003 b.n 8056fd2 8056fca: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056fce: eef1 7a67 vneg.f32 s15, s15 8056fd2: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 fval[k] = ABS(fn[0]) + ABS(fn[1]); 8056fd6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8056fda: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056fde: eef5 7ac0 vcmpe.f32 s15, #0.0 8056fe2: eef1 fa10 vmrs APSR_nzcv, fpscr 8056fe6: dd02 ble.n 8056fee 8056fe8: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8056fec: e003 b.n 8056ff6 8056fee: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8056ff2: eeb1 7a67 vneg.f32 s14, s15 8056ff6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8056ffa: eef5 7ac0 vcmpe.f32 s15, #0.0 8056ffe: eef1 fa10 vmrs APSR_nzcv, fpscr 8057002: dd02 ble.n 805700a 8057004: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057008: e003 b.n 8057012 805700a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805700e: eef1 7a67 vneg.f32 s15, s15 8057012: ee77 7a27 vadd.f32 s15, s14, s15 8057016: f107 02fc add.w r2, r7, #252 ; 0xfc 805701a: 009b lsls r3, r3, #2 805701c: 4413 add r3, r2 805701e: edc3 7a00 vstr s15, [r3] break; 8057022: e066 b.n 80570f2 case DIAGN_PEAK_FACTOR: // peak-factor arm_min_f32(Out, Ns, &fn[0], &i); 8057024: 4b4e ldr r3, [pc, #312] ; (8057160 ) 8057026: 6819 ldr r1, [r3, #0] 8057028: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805702c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8057030: 484c ldr r0, [pc, #304] ; (8057164 ) 8057032: f072 ffc3 bl 80c9fbc arm_max_f32(Out, Ns, &fn[1], &j); 8057036: 4b4a ldr r3, [pc, #296] ; (8057160 ) 8057038: 6819 ldr r1, [r3, #0] 805703a: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805703e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8057042: 1d1a adds r2, r3, #4 8057044: 4603 mov r3, r0 8057046: 4847 ldr r0, [pc, #284] ; (8057164 ) 8057048: f073 f854 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805704c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057050: eef5 7ac0 vcmpe.f32 s15, #0.0 8057054: eef1 fa10 vmrs APSR_nzcv, fpscr 8057058: dd02 ble.n 8057060 805705a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805705e: e003 b.n 8057068 8057060: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057064: eef1 7a67 vneg.f32 s15, s15 8057068: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805706c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057070: eef5 7ac0 vcmpe.f32 s15, #0.0 8057074: eef1 fa10 vmrs APSR_nzcv, fpscr 8057078: dd02 ble.n 8057080 805707a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805707e: e003 b.n 8057088 8057080: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057084: eef1 7a67 vneg.f32 s15, s15 8057088: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[k], &i); 805708c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057090: f107 02ec add.w r2, r7, #236 ; 0xec 8057094: 009b lsls r3, r3, #2 8057096: 441a add r2, r3 8057098: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805709c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80570a0: 2102 movs r1, #2 80570a2: f073 f827 bl 80ca0f4 arm_power_f32(Out, Ns, &fval[k]); 80570a6: 4b2e ldr r3, [pc, #184] ; (8057160 ) 80570a8: 6819 ldr r1, [r3, #0] 80570aa: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80570ae: f107 02fc add.w r2, r7, #252 ; 0xfc 80570b2: 009b lsls r3, r3, #2 80570b4: 4413 add r3, r2 80570b6: 461a mov r2, r3 80570b8: 482a ldr r0, [pc, #168] ; (8057164 ) 80570ba: f072 ff45 bl 80c9f48 arm_rms_f32(Out, Ns, &rms); 80570be: 4b28 ldr r3, [pc, #160] ; (8057160 ) 80570c0: 681b ldr r3, [r3, #0] 80570c2: f507 7286 add.w r2, r7, #268 ; 0x10c 80570c6: 4619 mov r1, r3 80570c8: 4826 ldr r0, [pc, #152] ; (8057164 ) 80570ca: f072 fee5 bl 80c9e98 break; 80570ce: e010 b.n 80570f2 case DIAGN_EXCESS: // excess fval[k] = CalcExcess(Out, Ns); 80570d0: f8d7 41c8 ldr.w r4, [r7, #456] ; 0x1c8 80570d4: 4b22 ldr r3, [pc, #136] ; (8057160 ) 80570d6: 681b ldr r3, [r3, #0] 80570d8: 4619 mov r1, r3 80570da: 4822 ldr r0, [pc, #136] ; (8057164 ) 80570dc: f00f fff0 bl 80670c0 80570e0: eef0 7a40 vmov.f32 s15, s0 80570e4: f107 02fc add.w r2, r7, #252 ; 0xfc 80570e8: 00a3 lsls r3, r4, #2 80570ea: 4413 add r3, r2 80570ec: edc3 7a00 vstr s15, [r3] break; 80570f0: bf00 nop for(k = 0; k < NUM_OPERANDS; k++) 80570f2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80570f6: 3301 adds r3, #1 80570f8: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 80570fc: 4b1a ldr r3, [pc, #104] ; (8057168 ) 80570fe: 781b ldrb r3, [r3, #0] 8057100: b2db uxtb r3, r3 8057102: 461a mov r2, r3 8057104: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8057108: 429a cmp r2, r3 805710a: f63f ad96 bhi.w 8056c3a } } ////////////////////////////////////////// if(timeRelax) 805710e: 4b17 ldr r3, [pc, #92] ; (805716c ) 8057110: 681b ldr r3, [r3, #0] 8057112: 2b00 cmp r3, #0 8057114: d01a beq.n 805714c { timeRelax--; 8057116: 4b15 ldr r3, [pc, #84] ; (805716c ) 8057118: 681b ldr r3, [r3, #0] 805711a: 3b01 subs r3, #1 805711c: 4a13 ldr r2, [pc, #76] ; (805716c ) 805711e: 6013 str r3, [r2, #0] for(i = 0; i < 4; i++) { 8057120: 2300 movs r3, #0 8057122: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057126: e00b b.n 8057140 operand[i] = -1.0f; 8057128: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805712c: 4a10 ldr r2, [pc, #64] ; (8057170 ) 805712e: 009b lsls r3, r3, #2 8057130: 4413 add r3, r2 8057132: 4a10 ldr r2, [pc, #64] ; (8057174 ) 8057134: 601a str r2, [r3, #0] for(i = 0; i < 4; i++) { 8057136: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805713a: 3301 adds r3, #1 805713c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057140: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057144: 2b03 cmp r3, #3 8057146: d9ef bls.n 8057128 8057148: f001 bdd9 b.w 8058cfe } } else { for(i = 0; i < NUM_OPERANDS; i++) 805714c: 2300 movs r3, #0 805714e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057152: e117 b.n 8057384 8057154: 20021011 .word 0x20021011 8057158: 20023e60 .word 0x20023e60 805715c: 476fd82c .word 0x476fd82c 8057160: 20021cdc .word 0x20021cdc 8057164: 20008000 .word 0x20008000 8057168: 20021012 .word 0x20021012 805716c: 20020d6c .word 0x20020d6c 8057170: 200268d8 .word 0x200268d8 8057174: bf800000 .word 0xbf800000 { switch((pardata.DIAGN_MASK[CURR_POINT][i] >> 3) & 0x1f) 8057178: 4b92 ldr r3, [pc, #584] ; (80573c4 ) 805717a: 781b ldrb r3, [r3, #0] 805717c: b2db uxtb r3, r3 805717e: 461a mov r2, r3 8057180: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057184: 4990 ldr r1, [pc, #576] ; (80573c8 ) 8057186: 0092 lsls r2, r2, #2 8057188: 440a add r2, r1 805718a: 4413 add r3, r2 805718c: f503 730f add.w r3, r3, #572 ; 0x23c 8057190: 781b ldrb r3, [r3, #0] 8057192: b2db uxtb r3, r3 8057194: 08db lsrs r3, r3, #3 8057196: b2db uxtb r3, r3 8057198: f003 031f and.w r3, r3, #31 805719c: 3b01 subs r3, #1 805719e: 2b0f cmp r3, #15 80571a0: f200 80eb bhi.w 805737a 80571a4: a201 add r2, pc, #4 ; (adr r2, 80571ac ) 80571a6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80571aa: bf00 nop 80571ac: 080571ed .word 0x080571ed 80571b0: 080572a7 .word 0x080572a7 80571b4: 0805737b .word 0x0805737b 80571b8: 080571ed .word 0x080571ed 80571bc: 0805737b .word 0x0805737b 80571c0: 0805737b .word 0x0805737b 80571c4: 0805737b .word 0x0805737b 80571c8: 08057233 .word 0x08057233 80571cc: 0805737b .word 0x0805737b 80571d0: 0805737b .word 0x0805737b 80571d4: 0805737b .word 0x0805737b 80571d8: 0805737b .word 0x0805737b 80571dc: 0805737b .word 0x0805737b 80571e0: 0805737b .word 0x0805737b 80571e4: 0805737b .word 0x0805737b 80571e8: 080572d9 .word 0x080572d9 { case DIAGN_PEAK: //peak case DIAGN_PEAK_TO_PEAK: //pk-pk if(peakAVS[i] < fval[i]) { 80571ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80571f0: 4a76 ldr r2, [pc, #472] ; (80573cc ) 80571f2: 009b lsls r3, r3, #2 80571f4: 4413 add r3, r2 80571f6: ed93 7a00 vldr s14, [r3] 80571fa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80571fe: f107 02fc add.w r2, r7, #252 ; 0xfc 8057202: 009b lsls r3, r3, #2 8057204: 4413 add r3, r2 8057206: edd3 7a00 vldr s15, [r3] 805720a: eeb4 7ae7 vcmpe.f32 s14, s15 805720e: eef1 fa10 vmrs APSR_nzcv, fpscr 8057212: d400 bmi.n 8057216 peakAVS[i] = fval[i]; } break; 8057214: e0b1 b.n 805737a peakAVS[i] = fval[i]; 8057216: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805721a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805721e: f107 01fc add.w r1, r7, #252 ; 0xfc 8057222: 0092 lsls r2, r2, #2 8057224: 440a add r2, r1 8057226: 6812 ldr r2, [r2, #0] 8057228: 4968 ldr r1, [pc, #416] ; (80573cc ) 805722a: 009b lsls r3, r3, #2 805722c: 440b add r3, r1 805722e: 601a str r2, [r3, #0] break; 8057230: e0a3 b.n 805737a case DIAGN_PEAK_FACTOR: //peak-factor if(peakAVS[i] < fpeak[i]) { 8057232: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057236: 4a65 ldr r2, [pc, #404] ; (80573cc ) 8057238: 009b lsls r3, r3, #2 805723a: 4413 add r3, r2 805723c: ed93 7a00 vldr s14, [r3] 8057240: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057244: f107 02ec add.w r2, r7, #236 ; 0xec 8057248: 009b lsls r3, r3, #2 805724a: 4413 add r3, r2 805724c: edd3 7a00 vldr s15, [r3] 8057250: eeb4 7ae7 vcmpe.f32 s14, s15 8057254: eef1 fa10 vmrs APSR_nzcv, fpscr 8057258: d50c bpl.n 8057274 peakAVS[i] = fpeak[i]; 805725a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805725e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057262: f107 01ec add.w r1, r7, #236 ; 0xec 8057266: 0092 lsls r2, r2, #2 8057268: 440a add r2, r1 805726a: 6812 ldr r2, [r2, #0] 805726c: 4957 ldr r1, [pc, #348] ; (80573cc ) 805726e: 009b lsls r3, r3, #2 8057270: 440b add r3, r1 8057272: 601a str r2, [r3, #0] } rmsAVS[i] += fval[i]; 8057274: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057278: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805727c: 4954 ldr r1, [pc, #336] ; (80573d0 ) 805727e: 0092 lsls r2, r2, #2 8057280: 440a add r2, r1 8057282: ed92 7a00 vldr s14, [r2] 8057286: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805728a: f107 01fc add.w r1, r7, #252 ; 0xfc 805728e: 0092 lsls r2, r2, #2 8057290: 440a add r2, r1 8057292: edd2 7a00 vldr s15, [r2] 8057296: ee77 7a27 vadd.f32 s15, s14, s15 805729a: 4a4d ldr r2, [pc, #308] ; (80573d0 ) 805729c: 009b lsls r3, r3, #2 805729e: 4413 add r3, r2 80572a0: edc3 7a00 vstr s15, [r3] break; 80572a4: e069 b.n 805737a case DIAGN_RMS: //rms rmsAVS[i] += fval[i]; 80572a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80572aa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80572ae: 4948 ldr r1, [pc, #288] ; (80573d0 ) 80572b0: 0092 lsls r2, r2, #2 80572b2: 440a add r2, r1 80572b4: ed92 7a00 vldr s14, [r2] 80572b8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80572bc: f107 01fc add.w r1, r7, #252 ; 0xfc 80572c0: 0092 lsls r2, r2, #2 80572c2: 440a add r2, r1 80572c4: edd2 7a00 vldr s15, [r2] 80572c8: ee77 7a27 vadd.f32 s15, s14, s15 80572cc: 4a40 ldr r2, [pc, #256] ; (80573d0 ) 80572ce: 009b lsls r3, r3, #2 80572d0: 4413 add r3, r2 80572d2: edc3 7a00 vstr s15, [r3] break; 80572d6: e050 b.n 805737a case DIAGN_EXCESS: if(ABS(peakAVS[i]) < ABS(fval[i])) { 80572d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80572dc: 4a3b ldr r2, [pc, #236] ; (80573cc ) 80572de: 009b lsls r3, r3, #2 80572e0: 4413 add r3, r2 80572e2: edd3 7a00 vldr s15, [r3] 80572e6: eef5 7ac0 vcmpe.f32 s15, #0.0 80572ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80572ee: dd07 ble.n 8057300 80572f0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80572f4: 4a35 ldr r2, [pc, #212] ; (80573cc ) 80572f6: 009b lsls r3, r3, #2 80572f8: 4413 add r3, r2 80572fa: ed93 7a00 vldr s14, [r3] 80572fe: e008 b.n 8057312 8057300: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057304: 4a31 ldr r2, [pc, #196] ; (80573cc ) 8057306: 009b lsls r3, r3, #2 8057308: 4413 add r3, r2 805730a: edd3 7a00 vldr s15, [r3] 805730e: eeb1 7a67 vneg.f32 s14, s15 8057312: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057316: f107 02fc add.w r2, r7, #252 ; 0xfc 805731a: 009b lsls r3, r3, #2 805731c: 4413 add r3, r2 805731e: edd3 7a00 vldr s15, [r3] 8057322: eef5 7ac0 vcmpe.f32 s15, #0.0 8057326: eef1 fa10 vmrs APSR_nzcv, fpscr 805732a: dd08 ble.n 805733e 805732c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057330: f107 02fc add.w r2, r7, #252 ; 0xfc 8057334: 009b lsls r3, r3, #2 8057336: 4413 add r3, r2 8057338: edd3 7a00 vldr s15, [r3] 805733c: e009 b.n 8057352 805733e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057342: f107 02fc add.w r2, r7, #252 ; 0xfc 8057346: 009b lsls r3, r3, #2 8057348: 4413 add r3, r2 805734a: edd3 7a00 vldr s15, [r3] 805734e: eef1 7a67 vneg.f32 s15, s15 8057352: eeb4 7ae7 vcmpe.f32 s14, s15 8057356: eef1 fa10 vmrs APSR_nzcv, fpscr 805735a: d400 bmi.n 805735e peakAVS[i] = fval[i]; } break; 805735c: e00c b.n 8057378 peakAVS[i] = fval[i]; 805735e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057362: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057366: f107 01fc add.w r1, r7, #252 ; 0xfc 805736a: 0092 lsls r2, r2, #2 805736c: 440a add r2, r1 805736e: 6812 ldr r2, [r2, #0] 8057370: 4916 ldr r1, [pc, #88] ; (80573cc ) 8057372: 009b lsls r3, r3, #2 8057374: 440b add r3, r1 8057376: 601a str r2, [r3, #0] break; 8057378: bf00 nop for(i = 0; i < NUM_OPERANDS; i++) 805737a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805737e: 3301 adds r3, #1 8057380: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057384: 4b13 ldr r3, [pc, #76] ; (80573d4 ) 8057386: 781b ldrb r3, [r3, #0] 8057388: b2db uxtb r3, r3 805738a: 461a mov r2, r3 805738c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057390: 429a cmp r2, r3 8057392: f63f aef1 bhi.w 8057178 /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////// BI-TECHNO ////////////////////////// MeanCnt++; 8057396: 4b10 ldr r3, [pc, #64] ; (80573d8 ) 8057398: 681b ldr r3, [r3, #0] 805739a: 3301 adds r3, #1 805739c: 4a0e ldr r2, [pc, #56] ; (80573d8 ) 805739e: 6013 str r3, [r2, #0] if(!(MeanCnt % 8)) 80573a0: 4b0d ldr r3, [pc, #52] ; (80573d8 ) 80573a2: 681b ldr r3, [r3, #0] 80573a4: f003 0307 and.w r3, r3, #7 80573a8: 2b00 cmp r3, #0 80573aa: f040 8621 bne.w 8057ff0 { for(j = AVG[pardata.AVG] - 1; j > 0; j--) 80573ae: 4b06 ldr r3, [pc, #24] ; (80573c8 ) 80573b0: 7b5b ldrb r3, [r3, #13] 80573b2: b2db uxtb r3, r3 80573b4: 461a mov r2, r3 80573b6: 4b09 ldr r3, [pc, #36] ; (80573dc ) 80573b8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80573bc: 3b01 subs r3, #1 80573be: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 80573c2: e0a2 b.n 805750a 80573c4: 20021011 .word 0x20021011 80573c8: 20023e60 .word 0x20023e60 80573cc: 20021cfc .word 0x20021cfc 80573d0: 20021ce8 .word 0x20021ce8 80573d4: 20021012 .word 0x20021012 80573d8: 20020db8 .word 0x20020db8 80573dc: 080eeb38 .word 0x080eeb38 { fl = OP1_PEAK_RD(j - 1); 80573e0: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80573e4: 3b01 subs r3, #1 80573e6: 009a lsls r2, r3, #2 80573e8: 4bbb ldr r3, [pc, #748] ; (80576d8 ) 80573ea: 4413 add r3, r2 80573ec: 681b ldr r3, [r3, #0] 80573ee: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP1_PEAK_WR(j) = fl; 80573f2: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80573f6: 009a lsls r2, r3, #2 80573f8: 4bb7 ldr r3, [pc, #732] ; (80576d8 ) 80573fa: 4413 add r3, r2 80573fc: 461a mov r2, r3 80573fe: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8057402: 6013 str r3, [r2, #0] fl = OP1_RMS_RD(j - 1); 8057404: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057408: 3b01 subs r3, #1 805740a: 009a lsls r2, r3, #2 805740c: 4bb3 ldr r3, [pc, #716] ; (80576dc ) 805740e: 4413 add r3, r2 8057410: 681b ldr r3, [r3, #0] 8057412: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP1_RMS_WR(j) = fl; 8057416: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805741a: 009a lsls r2, r3, #2 805741c: 4baf ldr r3, [pc, #700] ; (80576dc ) 805741e: 4413 add r3, r2 8057420: 461a mov r2, r3 8057422: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8057426: 6013 str r3, [r2, #0] fl = OP2_PEAK_RD(j - 1); 8057428: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805742c: 3b01 subs r3, #1 805742e: 009a lsls r2, r3, #2 8057430: 4bab ldr r3, [pc, #684] ; (80576e0 ) 8057432: 4413 add r3, r2 8057434: 681b ldr r3, [r3, #0] 8057436: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP2_PEAK_WR(j) = fl; 805743a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805743e: 009a lsls r2, r3, #2 8057440: 4ba7 ldr r3, [pc, #668] ; (80576e0 ) 8057442: 4413 add r3, r2 8057444: 461a mov r2, r3 8057446: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805744a: 6013 str r3, [r2, #0] fl = OP2_RMS_RD(j - 1); 805744c: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057450: 3b01 subs r3, #1 8057452: 009a lsls r2, r3, #2 8057454: 4ba3 ldr r3, [pc, #652] ; (80576e4 ) 8057456: 4413 add r3, r2 8057458: 681b ldr r3, [r3, #0] 805745a: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP2_RMS_WR(j) = fl; 805745e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057462: 009a lsls r2, r3, #2 8057464: 4b9f ldr r3, [pc, #636] ; (80576e4 ) 8057466: 4413 add r3, r2 8057468: 461a mov r2, r3 805746a: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805746e: 6013 str r3, [r2, #0] fl = OP3_PEAK_RD(j - 1); 8057470: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057474: 3b01 subs r3, #1 8057476: 009a lsls r2, r3, #2 8057478: 4b9b ldr r3, [pc, #620] ; (80576e8 ) 805747a: 4413 add r3, r2 805747c: 681b ldr r3, [r3, #0] 805747e: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP3_PEAK_WR(j) = fl; 8057482: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057486: 009a lsls r2, r3, #2 8057488: 4b97 ldr r3, [pc, #604] ; (80576e8 ) 805748a: 4413 add r3, r2 805748c: 461a mov r2, r3 805748e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8057492: 6013 str r3, [r2, #0] fl = OP3_RMS_RD(j - 1); 8057494: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057498: 3b01 subs r3, #1 805749a: 009a lsls r2, r3, #2 805749c: 4b93 ldr r3, [pc, #588] ; (80576ec ) 805749e: 4413 add r3, r2 80574a0: 681b ldr r3, [r3, #0] 80574a2: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP3_RMS_WR(j) = fl; 80574a6: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80574aa: 009a lsls r2, r3, #2 80574ac: 4b8f ldr r3, [pc, #572] ; (80576ec ) 80574ae: 4413 add r3, r2 80574b0: 461a mov r2, r3 80574b2: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80574b6: 6013 str r3, [r2, #0] fl = OP4_PEAK_RD(j - 1); 80574b8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80574bc: 3b01 subs r3, #1 80574be: 009a lsls r2, r3, #2 80574c0: 4b8b ldr r3, [pc, #556] ; (80576f0 ) 80574c2: 4413 add r3, r2 80574c4: 681b ldr r3, [r3, #0] 80574c6: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP4_PEAK_WR(j) = fl; 80574ca: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80574ce: 009a lsls r2, r3, #2 80574d0: 4b87 ldr r3, [pc, #540] ; (80576f0 ) 80574d2: 4413 add r3, r2 80574d4: 461a mov r2, r3 80574d6: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80574da: 6013 str r3, [r2, #0] fl = OP4_RMS_RD(j - 1); 80574dc: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80574e0: 3b01 subs r3, #1 80574e2: 009a lsls r2, r3, #2 80574e4: 4b83 ldr r3, [pc, #524] ; (80576f4 ) 80574e6: 4413 add r3, r2 80574e8: 681b ldr r3, [r3, #0] 80574ea: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc OP4_RMS_WR(j) = fl; 80574ee: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80574f2: 009a lsls r2, r3, #2 80574f4: 4b7f ldr r3, [pc, #508] ; (80576f4 ) 80574f6: 4413 add r3, r2 80574f8: 461a mov r2, r3 80574fa: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80574fe: 6013 str r3, [r2, #0] for(j = AVG[pardata.AVG] - 1; j > 0; j--) 8057500: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8057504: 3b01 subs r3, #1 8057506: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 805750a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805750e: 2b00 cmp r3, #0 8057510: f47f af66 bne.w 80573e0 } fl = (float32_t) (AVG[pardata.AVG] * 8u) * 8192.0f; 8057514: 4b78 ldr r3, [pc, #480] ; (80576f8 ) 8057516: 7b5b ldrb r3, [r3, #13] 8057518: b2db uxtb r3, r3 805751a: 461a mov r2, r3 805751c: 4b77 ldr r3, [pc, #476] ; (80576fc ) 805751e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057522: 00db lsls r3, r3, #3 8057524: ee07 3a90 vmov s15, r3 8057528: eef8 7a67 vcvt.f32.u32 s15, s15 805752c: ed9f 7a74 vldr s14, [pc, #464] ; 8057700 8057530: ee67 7a87 vmul.f32 s15, s15, s14 8057534: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc for(i = 0; i < NUM_OPERANDS; i++) 8057538: 2300 movs r3, #0 805753a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805753e: f000 bd2b b.w 8057f98 { switch((pardata.DIAGN_MASK[CURR_POINT][i] >> 3) & 0x1f) 8057542: 4b70 ldr r3, [pc, #448] ; (8057704 ) 8057544: 781b ldrb r3, [r3, #0] 8057546: b2db uxtb r3, r3 8057548: 461a mov r2, r3 805754a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805754e: 496a ldr r1, [pc, #424] ; (80576f8 ) 8057550: 0092 lsls r2, r2, #2 8057552: 440a add r2, r1 8057554: 4413 add r3, r2 8057556: f503 730f add.w r3, r3, #572 ; 0x23c 805755a: 781b ldrb r3, [r3, #0] 805755c: b2db uxtb r3, r3 805755e: 08db lsrs r3, r3, #3 8057560: b2db uxtb r3, r3 8057562: f003 031f and.w r3, r3, #31 8057566: 3b01 subs r3, #1 8057568: 2b0f cmp r3, #15 805756a: f200 8510 bhi.w 8057f8e 805756e: a201 add r2, pc, #4 ; (adr r2, 8057574 ) 8057570: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8057574: 080575b5 .word 0x080575b5 8057578: 08057a93 .word 0x08057a93 805757c: 08057f8f .word 0x08057f8f 8057580: 080575b5 .word 0x080575b5 8057584: 08057f8f .word 0x08057f8f 8057588: 08057f8f .word 0x08057f8f 805758c: 08057f8f .word 0x08057f8f 8057590: 0805777b .word 0x0805777b 8057594: 08057f8f .word 0x08057f8f 8057598: 08057f8f .word 0x08057f8f 805759c: 08057f8f .word 0x08057f8f 80575a0: 08057f8f .word 0x08057f8f 80575a4: 08057f8f .word 0x08057f8f 80575a8: 08057f8f .word 0x08057f8f 80575ac: 08057f8f .word 0x08057f8f 80575b0: 08057c25 .word 0x08057c25 { case DIAGN_PEAK: //peak case DIAGN_PEAK_TO_PEAK: //pk-pk if(i == 0) 80575b4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80575b8: 2b00 cmp r3, #0 80575ba: d11a bne.n 80575f2 { OP1_PEAK_WR(0) = peakAVS[i]; 80575bc: 4a46 ldr r2, [pc, #280] ; (80576d8 ) 80575be: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80575c2: 4951 ldr r1, [pc, #324] ; (8057708 ) 80575c4: 009b lsls r3, r3, #2 80575c6: 440b add r3, r1 80575c8: 681b ldr r3, [r3, #0] 80575ca: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 80575cc: 4b4a ldr r3, [pc, #296] ; (80576f8 ) 80575ce: 7b5b ldrb r3, [r3, #13] 80575d0: b2db uxtb r3, r3 80575d2: 461a mov r2, r3 80575d4: 4b49 ldr r3, [pc, #292] ; (80576fc ) 80575d6: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80575da: 4619 mov r1, r3 80575dc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80575e0: 009b lsls r3, r3, #2 80575e2: 4a49 ldr r2, [pc, #292] ; (8057708 ) 80575e4: 441a add r2, r3 80575e6: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80575ea: 483b ldr r0, [pc, #236] ; (80576d8 ) 80575ec: f072 fd82 bl 80ca0f4 80575f0: e05b b.n 80576aa } else if(i == 1) 80575f2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80575f6: 2b01 cmp r3, #1 80575f8: d11a bne.n 8057630 { OP2_PEAK_WR(0) = peakAVS[i]; 80575fa: 4a39 ldr r2, [pc, #228] ; (80576e0 ) 80575fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057600: 4941 ldr r1, [pc, #260] ; (8057708 ) 8057602: 009b lsls r3, r3, #2 8057604: 440b add r3, r1 8057606: 681b ldr r3, [r3, #0] 8057608: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805760a: 4b3b ldr r3, [pc, #236] ; (80576f8 ) 805760c: 7b5b ldrb r3, [r3, #13] 805760e: b2db uxtb r3, r3 8057610: 461a mov r2, r3 8057612: 4b3a ldr r3, [pc, #232] ; (80576fc ) 8057614: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057618: 4619 mov r1, r3 805761a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805761e: 009b lsls r3, r3, #2 8057620: 4a39 ldr r2, [pc, #228] ; (8057708 ) 8057622: 441a add r2, r3 8057624: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8057628: 482d ldr r0, [pc, #180] ; (80576e0 ) 805762a: f072 fd63 bl 80ca0f4 805762e: e03c b.n 80576aa } else if(i == 2) 8057630: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057634: 2b02 cmp r3, #2 8057636: d11a bne.n 805766e { OP3_PEAK_WR(0) = peakAVS[i]; 8057638: 4a2b ldr r2, [pc, #172] ; (80576e8 ) 805763a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805763e: 4932 ldr r1, [pc, #200] ; (8057708 ) 8057640: 009b lsls r3, r3, #2 8057642: 440b add r3, r1 8057644: 681b ldr r3, [r3, #0] 8057646: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8057648: 4b2b ldr r3, [pc, #172] ; (80576f8 ) 805764a: 7b5b ldrb r3, [r3, #13] 805764c: b2db uxtb r3, r3 805764e: 461a mov r2, r3 8057650: 4b2a ldr r3, [pc, #168] ; (80576fc ) 8057652: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057656: 4619 mov r1, r3 8057658: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805765c: 009b lsls r3, r3, #2 805765e: 4a2a ldr r2, [pc, #168] ; (8057708 ) 8057660: 441a add r2, r3 8057662: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8057666: 4820 ldr r0, [pc, #128] ; (80576e8 ) 8057668: f072 fd44 bl 80ca0f4 805766c: e01d b.n 80576aa } else if(i == 3) 805766e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057672: 2b03 cmp r3, #3 8057674: d119 bne.n 80576aa { OP4_PEAK_WR(0) = peakAVS[i]; 8057676: 4a1e ldr r2, [pc, #120] ; (80576f0 ) 8057678: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805767c: 4922 ldr r1, [pc, #136] ; (8057708 ) 805767e: 009b lsls r3, r3, #2 8057680: 440b add r3, r1 8057682: 681b ldr r3, [r3, #0] 8057684: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8057686: 4b1c ldr r3, [pc, #112] ; (80576f8 ) 8057688: 7b5b ldrb r3, [r3, #13] 805768a: b2db uxtb r3, r3 805768c: 461a mov r2, r3 805768e: 4b1b ldr r3, [pc, #108] ; (80576fc ) 8057690: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057694: 4619 mov r1, r3 8057696: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805769a: 009b lsls r3, r3, #2 805769c: 4a1a ldr r2, [pc, #104] ; (8057708 ) 805769e: 441a add r2, r3 80576a0: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80576a4: 4812 ldr r0, [pc, #72] ; (80576f0 ) 80576a6: f072 fd25 bl 80ca0f4 } peakAVS[i] = ABS(peakAVS[i]); 80576aa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80576ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80576b2: 4915 ldr r1, [pc, #84] ; (8057708 ) 80576b4: 0092 lsls r2, r2, #2 80576b6: 440a add r2, r1 80576b8: edd2 7a00 vldr s15, [r2] 80576bc: eef5 7ac0 vcmpe.f32 s15, #0.0 80576c0: eef1 fa10 vmrs APSR_nzcv, fpscr 80576c4: dd22 ble.n 805770c 80576c6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80576ca: 490f ldr r1, [pc, #60] ; (8057708 ) 80576cc: 0092 lsls r2, r2, #2 80576ce: 440a add r2, r1 80576d0: edd2 7a00 vldr s15, [r2] 80576d4: e023 b.n 805771e 80576d6: bf00 nop 80576d8: 64050000 .word 0x64050000 80576dc: 64050800 .word 0x64050800 80576e0: 64051000 .word 0x64051000 80576e4: 64051800 .word 0x64051800 80576e8: 64052000 .word 0x64052000 80576ec: 64052800 .word 0x64052800 80576f0: 64053000 .word 0x64053000 80576f4: 64053800 .word 0x64053800 80576f8: 20023e60 .word 0x20023e60 80576fc: 080eeb38 .word 0x080eeb38 8057700: 46000000 .word 0x46000000 8057704: 20021011 .word 0x20021011 8057708: 20021cfc .word 0x20021cfc 805770c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057710: 4996 ldr r1, [pc, #600] ; (805796c ) 8057712: 0092 lsls r2, r2, #2 8057714: 440a add r2, r1 8057716: edd2 7a00 vldr s15, [r2] 805771a: eef1 7a67 vneg.f32 s15, s15 805771e: 4a93 ldr r2, [pc, #588] ; (805796c ) 8057720: 009b lsls r3, r3, #2 8057722: 4413 add r3, r2 8057724: edc3 7a00 vstr s15, [r3] operand[i] = peakAVS[i]; 8057728: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805772c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057730: 498e ldr r1, [pc, #568] ; (805796c ) 8057732: 0092 lsls r2, r2, #2 8057734: 440a add r2, r1 8057736: 6812 ldr r2, [r2, #0] 8057738: 498d ldr r1, [pc, #564] ; (8057970 ) 805773a: 009b lsls r3, r3, #2 805773c: 440b add r3, r1 805773e: 601a str r2, [r3, #0] //operand[i] = MedMeas(i, operand[i]); operand[i] /= pardata.IKK; 8057740: 4b8c ldr r3, [pc, #560] ; (8057974 ) 8057742: ed93 7a04 vldr s14, [r3, #16] 8057746: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805774a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805774e: 4988 ldr r1, [pc, #544] ; (8057970 ) 8057750: 0092 lsls r2, r2, #2 8057752: 440a add r2, r1 8057754: edd2 6a00 vldr s13, [r2] 8057758: eec6 7a87 vdiv.f32 s15, s13, s14 805775c: 4a84 ldr r2, [pc, #528] ; (8057970 ) 805775e: 009b lsls r3, r3, #2 8057760: 4413 add r3, r2 8057762: edc3 7a00 vstr s15, [r3] peakAVS[i] = 0.0f; 8057766: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805776a: 4a80 ldr r2, [pc, #512] ; (805796c ) 805776c: 009b lsls r3, r3, #2 805776e: 4413 add r3, r2 8057770: f04f 0200 mov.w r2, #0 8057774: 601a str r2, [r3, #0] break; 8057776: f000 bc0a b.w 8057f8e case DIAGN_PEAK_FACTOR: //peak-factor if(i == 0) 805777a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805777e: 2b00 cmp r3, #0 8057780: d11a bne.n 80577b8 { OP1_PEAK_WR(0) = peakAVS[i]; 8057782: 4a7d ldr r2, [pc, #500] ; (8057978 ) 8057784: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057788: 4978 ldr r1, [pc, #480] ; (805796c ) 805778a: 009b lsls r3, r3, #2 805778c: 440b add r3, r1 805778e: 681b ldr r3, [r3, #0] 8057790: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8057792: 4b78 ldr r3, [pc, #480] ; (8057974 ) 8057794: 7b5b ldrb r3, [r3, #13] 8057796: b2db uxtb r3, r3 8057798: 461a mov r2, r3 805779a: 4b78 ldr r3, [pc, #480] ; (805797c ) 805779c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80577a0: 4619 mov r1, r3 80577a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80577a6: 009b lsls r3, r3, #2 80577a8: 4a70 ldr r2, [pc, #448] ; (805796c ) 80577aa: 441a add r2, r3 80577ac: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80577b0: 4871 ldr r0, [pc, #452] ; (8057978 ) 80577b2: f072 fc9f bl 80ca0f4 80577b6: e05b b.n 8057870 } else if(i == 1) 80577b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80577bc: 2b01 cmp r3, #1 80577be: d11a bne.n 80577f6 { OP2_PEAK_WR(0) = peakAVS[i]; 80577c0: 4a6f ldr r2, [pc, #444] ; (8057980 ) 80577c2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80577c6: 4969 ldr r1, [pc, #420] ; (805796c ) 80577c8: 009b lsls r3, r3, #2 80577ca: 440b add r3, r1 80577cc: 681b ldr r3, [r3, #0] 80577ce: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 80577d0: 4b68 ldr r3, [pc, #416] ; (8057974 ) 80577d2: 7b5b ldrb r3, [r3, #13] 80577d4: b2db uxtb r3, r3 80577d6: 461a mov r2, r3 80577d8: 4b68 ldr r3, [pc, #416] ; (805797c ) 80577da: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80577de: 4619 mov r1, r3 80577e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80577e4: 009b lsls r3, r3, #2 80577e6: 4a61 ldr r2, [pc, #388] ; (805796c ) 80577e8: 441a add r2, r3 80577ea: f507 73e4 add.w r3, r7, #456 ; 0x1c8 80577ee: 4864 ldr r0, [pc, #400] ; (8057980 ) 80577f0: f072 fc80 bl 80ca0f4 80577f4: e03c b.n 8057870 } else if(i == 2) 80577f6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80577fa: 2b02 cmp r3, #2 80577fc: d11a bne.n 8057834 { OP3_PEAK_WR(0) = peakAVS[i]; 80577fe: 4a61 ldr r2, [pc, #388] ; (8057984 ) 8057800: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057804: 4959 ldr r1, [pc, #356] ; (805796c ) 8057806: 009b lsls r3, r3, #2 8057808: 440b add r3, r1 805780a: 681b ldr r3, [r3, #0] 805780c: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805780e: 4b59 ldr r3, [pc, #356] ; (8057974 ) 8057810: 7b5b ldrb r3, [r3, #13] 8057812: b2db uxtb r3, r3 8057814: 461a mov r2, r3 8057816: 4b59 ldr r3, [pc, #356] ; (805797c ) 8057818: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805781c: 4619 mov r1, r3 805781e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057822: 009b lsls r3, r3, #2 8057824: 4a51 ldr r2, [pc, #324] ; (805796c ) 8057826: 441a add r2, r3 8057828: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805782c: 4855 ldr r0, [pc, #340] ; (8057984 ) 805782e: f072 fc61 bl 80ca0f4 8057832: e01d b.n 8057870 } else if(i == 3) 8057834: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057838: 2b03 cmp r3, #3 805783a: d119 bne.n 8057870 { OP4_PEAK_WR(0) = peakAVS[i]; 805783c: 4a52 ldr r2, [pc, #328] ; (8057988 ) 805783e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057842: 494a ldr r1, [pc, #296] ; (805796c ) 8057844: 009b lsls r3, r3, #2 8057846: 440b add r3, r1 8057848: 681b ldr r3, [r3, #0] 805784a: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805784c: 4b49 ldr r3, [pc, #292] ; (8057974 ) 805784e: 7b5b ldrb r3, [r3, #13] 8057850: b2db uxtb r3, r3 8057852: 461a mov r2, r3 8057854: 4b49 ldr r3, [pc, #292] ; (805797c ) 8057856: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805785a: 4619 mov r1, r3 805785c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057860: 009b lsls r3, r3, #2 8057862: 4a42 ldr r2, [pc, #264] ; (805796c ) 8057864: 441a add r2, r3 8057866: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805786a: 4847 ldr r0, [pc, #284] ; (8057988 ) 805786c: f072 fc42 bl 80ca0f4 } peakAVS[i] = ABS(peakAVS[i]); 8057870: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057874: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057878: 493c ldr r1, [pc, #240] ; (805796c ) 805787a: 0092 lsls r2, r2, #2 805787c: 440a add r2, r1 805787e: edd2 7a00 vldr s15, [r2] 8057882: eef5 7ac0 vcmpe.f32 s15, #0.0 8057886: eef1 fa10 vmrs APSR_nzcv, fpscr 805788a: dd07 ble.n 805789c 805788c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057890: 4936 ldr r1, [pc, #216] ; (805796c ) 8057892: 0092 lsls r2, r2, #2 8057894: 440a add r2, r1 8057896: edd2 7a00 vldr s15, [r2] 805789a: e008 b.n 80578ae 805789c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80578a0: 4932 ldr r1, [pc, #200] ; (805796c ) 80578a2: 0092 lsls r2, r2, #2 80578a4: 440a add r2, r1 80578a6: edd2 7a00 vldr s15, [r2] 80578aa: eef1 7a67 vneg.f32 s15, s15 80578ae: 4a2f ldr r2, [pc, #188] ; (805796c ) 80578b0: 009b lsls r3, r3, #2 80578b2: 4413 add r3, r2 80578b4: edc3 7a00 vstr s15, [r3] if(i == 0) 80578b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80578bc: 2b00 cmp r3, #0 80578be: d119 bne.n 80578f4 { OP1_RMS_WR(0) = rmsAVS[i]; 80578c0: 4a32 ldr r2, [pc, #200] ; (805798c ) 80578c2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80578c6: 4932 ldr r1, [pc, #200] ; (8057990 ) 80578c8: 009b lsls r3, r3, #2 80578ca: 440b add r3, r1 80578cc: 681b ldr r3, [r3, #0] 80578ce: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP1_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 80578d0: 4b28 ldr r3, [pc, #160] ; (8057974 ) 80578d2: 7b5b ldrb r3, [r3, #13] 80578d4: b2db uxtb r3, r3 80578d6: 461a mov r2, r3 80578d8: 4b28 ldr r3, [pc, #160] ; (805797c ) 80578da: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80578de: 4619 mov r1, r3 80578e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80578e4: 009b lsls r3, r3, #2 80578e6: 4a2a ldr r2, [pc, #168] ; (8057990 ) 80578e8: 4413 add r3, r2 80578ea: 461a mov r2, r3 80578ec: 4827 ldr r0, [pc, #156] ; (805798c ) 80578ee: f072 fbcb bl 80ca088 80578f2: e070 b.n 80579d6 } else if(i == 1) 80578f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80578f8: 2b01 cmp r3, #1 80578fa: d119 bne.n 8057930 { OP2_RMS_WR(0) = rmsAVS[i]; 80578fc: 4a25 ldr r2, [pc, #148] ; (8057994 ) 80578fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057902: 4923 ldr r1, [pc, #140] ; (8057990 ) 8057904: 009b lsls r3, r3, #2 8057906: 440b add r3, r1 8057908: 681b ldr r3, [r3, #0] 805790a: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP2_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805790c: 4b19 ldr r3, [pc, #100] ; (8057974 ) 805790e: 7b5b ldrb r3, [r3, #13] 8057910: b2db uxtb r3, r3 8057912: 461a mov r2, r3 8057914: 4b19 ldr r3, [pc, #100] ; (805797c ) 8057916: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805791a: 4619 mov r1, r3 805791c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057920: 009b lsls r3, r3, #2 8057922: 4a1b ldr r2, [pc, #108] ; (8057990 ) 8057924: 4413 add r3, r2 8057926: 461a mov r2, r3 8057928: 481a ldr r0, [pc, #104] ; (8057994 ) 805792a: f072 fbad bl 80ca088 805792e: e052 b.n 80579d6 } else if(i == 2) 8057930: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057934: 2b02 cmp r3, #2 8057936: d131 bne.n 805799c { OP3_RMS_WR(0) = rmsAVS[i]; 8057938: 4a17 ldr r2, [pc, #92] ; (8057998 ) 805793a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805793e: 4914 ldr r1, [pc, #80] ; (8057990 ) 8057940: 009b lsls r3, r3, #2 8057942: 440b add r3, r1 8057944: 681b ldr r3, [r3, #0] 8057946: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP3_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8057948: 4b0a ldr r3, [pc, #40] ; (8057974 ) 805794a: 7b5b ldrb r3, [r3, #13] 805794c: b2db uxtb r3, r3 805794e: 461a mov r2, r3 8057950: 4b0a ldr r3, [pc, #40] ; (805797c ) 8057952: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057956: 4619 mov r1, r3 8057958: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805795c: 009b lsls r3, r3, #2 805795e: 4a0c ldr r2, [pc, #48] ; (8057990 ) 8057960: 4413 add r3, r2 8057962: 461a mov r2, r3 8057964: 480c ldr r0, [pc, #48] ; (8057998 ) 8057966: f072 fb8f bl 80ca088 805796a: e034 b.n 80579d6 805796c: 20021cfc .word 0x20021cfc 8057970: 200268d8 .word 0x200268d8 8057974: 20023e60 .word 0x20023e60 8057978: 64050000 .word 0x64050000 805797c: 080eeb38 .word 0x080eeb38 8057980: 64051000 .word 0x64051000 8057984: 64052000 .word 0x64052000 8057988: 64053000 .word 0x64053000 805798c: 64050800 .word 0x64050800 8057990: 20021ce8 .word 0x20021ce8 8057994: 64051800 .word 0x64051800 8057998: 64052800 .word 0x64052800 } else if(i == 3) 805799c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80579a0: 2b03 cmp r3, #3 80579a2: d118 bne.n 80579d6 { OP4_RMS_WR(0) = rmsAVS[i]; 80579a4: 4ac2 ldr r2, [pc, #776] ; (8057cb0 ) 80579a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80579aa: 49c2 ldr r1, [pc, #776] ; (8057cb4 ) 80579ac: 009b lsls r3, r3, #2 80579ae: 440b add r3, r1 80579b0: 681b ldr r3, [r3, #0] 80579b2: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP4_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 80579b4: 4bc0 ldr r3, [pc, #768] ; (8057cb8 ) 80579b6: 7b5b ldrb r3, [r3, #13] 80579b8: b2db uxtb r3, r3 80579ba: 461a mov r2, r3 80579bc: 4bbf ldr r3, [pc, #764] ; (8057cbc ) 80579be: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80579c2: 4619 mov r1, r3 80579c4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80579c8: 009b lsls r3, r3, #2 80579ca: 4aba ldr r2, [pc, #744] ; (8057cb4 ) 80579cc: 4413 add r3, r2 80579ce: 461a mov r2, r3 80579d0: 48b7 ldr r0, [pc, #732] ; (8057cb0 ) 80579d2: f072 fb59 bl 80ca088 } rmsAVS[i] *= AVG[pardata.AVG]; 80579d6: 4bb8 ldr r3, [pc, #736] ; (8057cb8 ) 80579d8: 7b5b ldrb r3, [r3, #13] 80579da: b2db uxtb r3, r3 80579dc: 461a mov r2, r3 80579de: 4bb7 ldr r3, [pc, #732] ; (8057cbc ) 80579e0: f833 0012 ldrh.w r0, [r3, r2, lsl #1] 80579e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80579e8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80579ec: 49b1 ldr r1, [pc, #708] ; (8057cb4 ) 80579ee: 0092 lsls r2, r2, #2 80579f0: 440a add r2, r1 80579f2: ed92 7a00 vldr s14, [r2] 80579f6: ee07 0a90 vmov s15, r0 80579fa: eef8 7ae7 vcvt.f32.s32 s15, s15 80579fe: ee67 7a27 vmul.f32 s15, s14, s15 8057a02: 4aac ldr r2, [pc, #688] ; (8057cb4 ) 8057a04: 009b lsls r3, r3, #2 8057a06: 4413 add r3, r2 8057a08: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 8057a0c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a10: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057a14: 49a7 ldr r1, [pc, #668] ; (8057cb4 ) 8057a16: 0092 lsls r2, r2, #2 8057a18: 440a add r2, r1 8057a1a: edd2 6a00 vldr s13, [r2] 8057a1e: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8057a22: eec6 7a87 vdiv.f32 s15, s13, s14 8057a26: 4aa3 ldr r2, [pc, #652] ; (8057cb4 ) 8057a28: 009b lsls r3, r3, #2 8057a2a: 4413 add r3, r2 8057a2c: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &rmsAVS[i]); 8057a30: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a34: 4a9f ldr r2, [pc, #636] ; (8057cb4 ) 8057a36: 009b lsls r3, r3, #2 8057a38: 4413 add r3, r2 8057a3a: edd3 7a00 vldr s15, [r3] 8057a3e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a42: 009b lsls r3, r3, #2 8057a44: 4a9b ldr r2, [pc, #620] ; (8057cb4 ) 8057a46: 4413 add r3, r2 8057a48: 4618 mov r0, r3 8057a4a: eeb0 0a67 vmov.f32 s0, s15 8057a4e: f7fd ffcb bl 80559e8 operand[i] = peakAVS[i] / rmsAVS[i]; 8057a52: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a56: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057a5a: 4999 ldr r1, [pc, #612] ; (8057cc0 ) 8057a5c: 0092 lsls r2, r2, #2 8057a5e: 440a add r2, r1 8057a60: edd2 6a00 vldr s13, [r2] 8057a64: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057a68: 4992 ldr r1, [pc, #584] ; (8057cb4 ) 8057a6a: 0092 lsls r2, r2, #2 8057a6c: 440a add r2, r1 8057a6e: ed92 7a00 vldr s14, [r2] 8057a72: eec6 7a87 vdiv.f32 s15, s13, s14 8057a76: 4a93 ldr r2, [pc, #588] ; (8057cc4 ) 8057a78: 009b lsls r3, r3, #2 8057a7a: 4413 add r3, r2 8057a7c: edc3 7a00 vstr s15, [r3] //operand[i] = MedMeas(i, operand[i]); //skzDB[i] = 0.0f; peakAVS[i] = 0.0f; 8057a80: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a84: 4a8e ldr r2, [pc, #568] ; (8057cc0 ) 8057a86: 009b lsls r3, r3, #2 8057a88: 4413 add r3, r2 8057a8a: f04f 0200 mov.w r2, #0 8057a8e: 601a str r2, [r3, #0] break; 8057a90: e27d b.n 8057f8e case DIAGN_RMS: //rms if(i == 0) 8057a92: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057a96: 2b00 cmp r3, #0 8057a98: d119 bne.n 8057ace { OP1_RMS_WR(0) = rmsAVS[i]; 8057a9a: 4a8b ldr r2, [pc, #556] ; (8057cc8 ) 8057a9c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057aa0: 4984 ldr r1, [pc, #528] ; (8057cb4 ) 8057aa2: 009b lsls r3, r3, #2 8057aa4: 440b add r3, r1 8057aa6: 681b ldr r3, [r3, #0] 8057aa8: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP1_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8057aaa: 4b83 ldr r3, [pc, #524] ; (8057cb8 ) 8057aac: 7b5b ldrb r3, [r3, #13] 8057aae: b2db uxtb r3, r3 8057ab0: 461a mov r2, r3 8057ab2: 4b82 ldr r3, [pc, #520] ; (8057cbc ) 8057ab4: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057ab8: 4619 mov r1, r3 8057aba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057abe: 009b lsls r3, r3, #2 8057ac0: 4a7c ldr r2, [pc, #496] ; (8057cb4 ) 8057ac2: 4413 add r3, r2 8057ac4: 461a mov r2, r3 8057ac6: 4880 ldr r0, [pc, #512] ; (8057cc8 ) 8057ac8: f072 fade bl 80ca088 8057acc: e058 b.n 8057b80 } else if(i == 1) 8057ace: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057ad2: 2b01 cmp r3, #1 8057ad4: d119 bne.n 8057b0a { OP2_RMS_WR(0) = rmsAVS[i]; 8057ad6: 4a7d ldr r2, [pc, #500] ; (8057ccc ) 8057ad8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057adc: 4975 ldr r1, [pc, #468] ; (8057cb4 ) 8057ade: 009b lsls r3, r3, #2 8057ae0: 440b add r3, r1 8057ae2: 681b ldr r3, [r3, #0] 8057ae4: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP2_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8057ae6: 4b74 ldr r3, [pc, #464] ; (8057cb8 ) 8057ae8: 7b5b ldrb r3, [r3, #13] 8057aea: b2db uxtb r3, r3 8057aec: 461a mov r2, r3 8057aee: 4b73 ldr r3, [pc, #460] ; (8057cbc ) 8057af0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057af4: 4619 mov r1, r3 8057af6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057afa: 009b lsls r3, r3, #2 8057afc: 4a6d ldr r2, [pc, #436] ; (8057cb4 ) 8057afe: 4413 add r3, r2 8057b00: 461a mov r2, r3 8057b02: 4872 ldr r0, [pc, #456] ; (8057ccc ) 8057b04: f072 fac0 bl 80ca088 8057b08: e03a b.n 8057b80 } else if(i == 2) 8057b0a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057b0e: 2b02 cmp r3, #2 8057b10: d119 bne.n 8057b46 { OP3_RMS_WR(0) = rmsAVS[i]; 8057b12: 4a6f ldr r2, [pc, #444] ; (8057cd0 ) 8057b14: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057b18: 4966 ldr r1, [pc, #408] ; (8057cb4 ) 8057b1a: 009b lsls r3, r3, #2 8057b1c: 440b add r3, r1 8057b1e: 681b ldr r3, [r3, #0] 8057b20: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP3_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8057b22: 4b65 ldr r3, [pc, #404] ; (8057cb8 ) 8057b24: 7b5b ldrb r3, [r3, #13] 8057b26: b2db uxtb r3, r3 8057b28: 461a mov r2, r3 8057b2a: 4b64 ldr r3, [pc, #400] ; (8057cbc ) 8057b2c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057b30: 4619 mov r1, r3 8057b32: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057b36: 009b lsls r3, r3, #2 8057b38: 4a5e ldr r2, [pc, #376] ; (8057cb4 ) 8057b3a: 4413 add r3, r2 8057b3c: 461a mov r2, r3 8057b3e: 4864 ldr r0, [pc, #400] ; (8057cd0 ) 8057b40: f072 faa2 bl 80ca088 8057b44: e01c b.n 8057b80 } else if(i == 3) 8057b46: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057b4a: 2b03 cmp r3, #3 8057b4c: d118 bne.n 8057b80 { OP4_RMS_WR(0) = rmsAVS[i]; 8057b4e: 4a58 ldr r2, [pc, #352] ; (8057cb0 ) 8057b50: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057b54: 4957 ldr r1, [pc, #348] ; (8057cb4 ) 8057b56: 009b lsls r3, r3, #2 8057b58: 440b add r3, r1 8057b5a: 681b ldr r3, [r3, #0] 8057b5c: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &OP4_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 8057b5e: 4b56 ldr r3, [pc, #344] ; (8057cb8 ) 8057b60: 7b5b ldrb r3, [r3, #13] 8057b62: b2db uxtb r3, r3 8057b64: 461a mov r2, r3 8057b66: 4b55 ldr r3, [pc, #340] ; (8057cbc ) 8057b68: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057b6c: 4619 mov r1, r3 8057b6e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057b72: 009b lsls r3, r3, #2 8057b74: 4a4f ldr r2, [pc, #316] ; (8057cb4 ) 8057b76: 4413 add r3, r2 8057b78: 461a mov r2, r3 8057b7a: 484d ldr r0, [pc, #308] ; (8057cb0 ) 8057b7c: f072 fa84 bl 80ca088 } rmsAVS[i] *= (float32_t) AVG[pardata.AVG]; 8057b80: 4b4d ldr r3, [pc, #308] ; (8057cb8 ) 8057b82: 7b5b ldrb r3, [r3, #13] 8057b84: b2db uxtb r3, r3 8057b86: 461a mov r2, r3 8057b88: 4b4c ldr r3, [pc, #304] ; (8057cbc ) 8057b8a: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057b8e: ee07 3a90 vmov s15, r3 8057b92: eef8 7a67 vcvt.f32.u32 s15, s15 8057b96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057b9a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057b9e: 4945 ldr r1, [pc, #276] ; (8057cb4 ) 8057ba0: 0092 lsls r2, r2, #2 8057ba2: 440a add r2, r1 8057ba4: ed92 7a00 vldr s14, [r2] 8057ba8: ee67 7a27 vmul.f32 s15, s14, s15 8057bac: 4a41 ldr r2, [pc, #260] ; (8057cb4 ) 8057bae: 009b lsls r3, r3, #2 8057bb0: 4413 add r3, r2 8057bb2: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 8057bb6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057bba: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057bbe: 493d ldr r1, [pc, #244] ; (8057cb4 ) 8057bc0: 0092 lsls r2, r2, #2 8057bc2: 440a add r2, r1 8057bc4: edd2 6a00 vldr s13, [r2] 8057bc8: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8057bcc: eec6 7a87 vdiv.f32 s15, s13, s14 8057bd0: 4a38 ldr r2, [pc, #224] ; (8057cb4 ) 8057bd2: 009b lsls r3, r3, #2 8057bd4: 4413 add r3, r2 8057bd6: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &operand[i]); 8057bda: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057bde: 4a35 ldr r2, [pc, #212] ; (8057cb4 ) 8057be0: 009b lsls r3, r3, #2 8057be2: 4413 add r3, r2 8057be4: edd3 7a00 vldr s15, [r3] 8057be8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057bec: 009b lsls r3, r3, #2 8057bee: 4a35 ldr r2, [pc, #212] ; (8057cc4 ) 8057bf0: 4413 add r3, r2 8057bf2: 4618 mov r0, r3 8057bf4: eeb0 0a67 vmov.f32 s0, s15 8057bf8: f7fd fef6 bl 80559e8 //operand[i] = MedMeas(i, operand[i]); operand[i] /= pardata.IKK; 8057bfc: 4b2e ldr r3, [pc, #184] ; (8057cb8 ) 8057bfe: ed93 7a04 vldr s14, [r3, #16] 8057c02: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057c06: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057c0a: 492e ldr r1, [pc, #184] ; (8057cc4 ) 8057c0c: 0092 lsls r2, r2, #2 8057c0e: 440a add r2, r1 8057c10: edd2 6a00 vldr s13, [r2] 8057c14: eec6 7a87 vdiv.f32 s15, s13, s14 8057c18: 4a2a ldr r2, [pc, #168] ; (8057cc4 ) 8057c1a: 009b lsls r3, r3, #2 8057c1c: 4413 add r3, r2 8057c1e: edc3 7a00 vstr s15, [r3] //LinToLog(&skz[i], &skzDB[i]); break; 8057c22: e1b4 b.n 8057f8e case DIAGN_EXCESS: //excess if(i == 0) 8057c24: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057c28: 2b00 cmp r3, #0 8057c2a: d170 bne.n 8057d0e { OP1_PEAK_WR(0) = peakAVS[i]; 8057c2c: 4a29 ldr r2, [pc, #164] ; (8057cd4 ) 8057c2e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057c32: 4923 ldr r1, [pc, #140] ; (8057cc0 ) 8057c34: 009b lsls r3, r3, #2 8057c36: 440b add r3, r1 8057c38: 681b ldr r3, [r3, #0] 8057c3a: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8057c3c: 4b1e ldr r3, [pc, #120] ; (8057cb8 ) 8057c3e: 7b5b ldrb r3, [r3, #13] 8057c40: b2db uxtb r3, r3 8057c42: 461a mov r2, r3 8057c44: 4b1d ldr r3, [pc, #116] ; (8057cbc ) 8057c46: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057c4a: 4619 mov r1, r3 8057c4c: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8057c50: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8057c54: 481f ldr r0, [pc, #124] ; (8057cd4 ) 8057c56: f072 f9b1 bl 80c9fbc arm_max_f32((float32_t *) &OP1_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8057c5a: 4b17 ldr r3, [pc, #92] ; (8057cb8 ) 8057c5c: 7b5b ldrb r3, [r3, #13] 8057c5e: b2db uxtb r3, r3 8057c60: 461a mov r2, r3 8057c62: 4b16 ldr r3, [pc, #88] ; (8057cbc ) 8057c64: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057c68: 4618 mov r0, r3 8057c6a: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8057c6e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8057c72: 1d1a adds r2, r3, #4 8057c74: 460b mov r3, r1 8057c76: 4601 mov r1, r0 8057c78: 4816 ldr r0, [pc, #88] ; (8057cd4 ) 8057c7a: f072 fa3b bl 80ca0f4 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8057c7e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057c82: eef5 7ac0 vcmpe.f32 s15, #0.0 8057c86: eef1 fa10 vmrs APSR_nzcv, fpscr 8057c8a: dd02 ble.n 8057c92 8057c8c: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8057c90: e003 b.n 8057c9a 8057c92: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057c96: eeb1 7a67 vneg.f32 s14, s15 8057c9a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057c9e: eef5 7ac0 vcmpe.f32 s15, #0.0 8057ca2: eef1 fa10 vmrs APSR_nzcv, fpscr 8057ca6: dd17 ble.n 8057cd8 8057ca8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057cac: e018 b.n 8057ce0 8057cae: bf00 nop 8057cb0: 64053800 .word 0x64053800 8057cb4: 20021ce8 .word 0x20021ce8 8057cb8: 20023e60 .word 0x20023e60 8057cbc: 080eeb38 .word 0x080eeb38 8057cc0: 20021cfc .word 0x20021cfc 8057cc4: 200268d8 .word 0x200268d8 8057cc8: 64050800 .word 0x64050800 8057ccc: 64051800 .word 0x64051800 8057cd0: 64052800 .word 0x64052800 8057cd4: 64050000 .word 0x64050000 8057cd8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057cdc: eef1 7a67 vneg.f32 s15, s15 8057ce0: eeb4 7ae7 vcmpe.f32 s14, s15 8057ce4: eef1 fa10 vmrs APSR_nzcv, fpscr 8057ce8: dd08 ble.n 8057cfc 8057cea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057cee: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8057cf2: 4992 ldr r1, [pc, #584] ; (8057f3c ) 8057cf4: 009b lsls r3, r3, #2 8057cf6: 440b add r3, r1 8057cf8: 601a str r2, [r3, #0] 8057cfa: e133 b.n 8057f64 else peakAVS[i] = fn[1]; 8057cfc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057d00: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8057d04: 498d ldr r1, [pc, #564] ; (8057f3c ) 8057d06: 009b lsls r3, r3, #2 8057d08: 440b add r3, r1 8057d0a: 601a str r2, [r3, #0] 8057d0c: e12a b.n 8057f64 } else if(i == 1) 8057d0e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057d12: 2b01 cmp r3, #1 8057d14: d15b bne.n 8057dce { OP2_PEAK_WR(0) = peakAVS[i]; 8057d16: 4a8a ldr r2, [pc, #552] ; (8057f40 ) 8057d18: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057d1c: 4987 ldr r1, [pc, #540] ; (8057f3c ) 8057d1e: 009b lsls r3, r3, #2 8057d20: 440b add r3, r1 8057d22: 681b ldr r3, [r3, #0] 8057d24: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8057d26: 4b87 ldr r3, [pc, #540] ; (8057f44 ) 8057d28: 7b5b ldrb r3, [r3, #13] 8057d2a: b2db uxtb r3, r3 8057d2c: 461a mov r2, r3 8057d2e: 4b86 ldr r3, [pc, #536] ; (8057f48 ) 8057d30: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057d34: 4619 mov r1, r3 8057d36: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8057d3a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8057d3e: 4880 ldr r0, [pc, #512] ; (8057f40 ) 8057d40: f072 f93c bl 80c9fbc arm_max_f32((float32_t *) &OP2_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8057d44: 4b7f ldr r3, [pc, #508] ; (8057f44 ) 8057d46: 7b5b ldrb r3, [r3, #13] 8057d48: b2db uxtb r3, r3 8057d4a: 461a mov r2, r3 8057d4c: 4b7e ldr r3, [pc, #504] ; (8057f48 ) 8057d4e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057d52: 4618 mov r0, r3 8057d54: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8057d58: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8057d5c: 1d1a adds r2, r3, #4 8057d5e: 460b mov r3, r1 8057d60: 4601 mov r1, r0 8057d62: 4877 ldr r0, [pc, #476] ; (8057f40 ) 8057d64: f072 f9c6 bl 80ca0f4 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8057d68: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057d6c: eef5 7ac0 vcmpe.f32 s15, #0.0 8057d70: eef1 fa10 vmrs APSR_nzcv, fpscr 8057d74: dd02 ble.n 8057d7c 8057d76: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8057d7a: e003 b.n 8057d84 8057d7c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057d80: eeb1 7a67 vneg.f32 s14, s15 8057d84: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057d88: eef5 7ac0 vcmpe.f32 s15, #0.0 8057d8c: eef1 fa10 vmrs APSR_nzcv, fpscr 8057d90: dd02 ble.n 8057d98 8057d92: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057d96: e003 b.n 8057da0 8057d98: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057d9c: eef1 7a67 vneg.f32 s15, s15 8057da0: eeb4 7ae7 vcmpe.f32 s14, s15 8057da4: eef1 fa10 vmrs APSR_nzcv, fpscr 8057da8: dd08 ble.n 8057dbc 8057daa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057dae: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8057db2: 4962 ldr r1, [pc, #392] ; (8057f3c ) 8057db4: 009b lsls r3, r3, #2 8057db6: 440b add r3, r1 8057db8: 601a str r2, [r3, #0] 8057dba: e0d3 b.n 8057f64 else peakAVS[i] = fn[1]; 8057dbc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057dc0: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8057dc4: 495d ldr r1, [pc, #372] ; (8057f3c ) 8057dc6: 009b lsls r3, r3, #2 8057dc8: 440b add r3, r1 8057dca: 601a str r2, [r3, #0] 8057dcc: e0ca b.n 8057f64 } else if(i == 2) 8057dce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057dd2: 2b02 cmp r3, #2 8057dd4: d15b bne.n 8057e8e { OP3_PEAK_WR(0) = peakAVS[i]; 8057dd6: 4a5d ldr r2, [pc, #372] ; (8057f4c ) 8057dd8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057ddc: 4957 ldr r1, [pc, #348] ; (8057f3c ) 8057dde: 009b lsls r3, r3, #2 8057de0: 440b add r3, r1 8057de2: 681b ldr r3, [r3, #0] 8057de4: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8057de6: 4b57 ldr r3, [pc, #348] ; (8057f44 ) 8057de8: 7b5b ldrb r3, [r3, #13] 8057dea: b2db uxtb r3, r3 8057dec: 461a mov r2, r3 8057dee: 4b56 ldr r3, [pc, #344] ; (8057f48 ) 8057df0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057df4: 4619 mov r1, r3 8057df6: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8057dfa: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8057dfe: 4853 ldr r0, [pc, #332] ; (8057f4c ) 8057e00: f072 f8dc bl 80c9fbc arm_max_f32((float32_t *) &OP3_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8057e04: 4b4f ldr r3, [pc, #316] ; (8057f44 ) 8057e06: 7b5b ldrb r3, [r3, #13] 8057e08: b2db uxtb r3, r3 8057e0a: 461a mov r2, r3 8057e0c: 4b4e ldr r3, [pc, #312] ; (8057f48 ) 8057e0e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057e12: 4618 mov r0, r3 8057e14: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8057e18: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8057e1c: 1d1a adds r2, r3, #4 8057e1e: 460b mov r3, r1 8057e20: 4601 mov r1, r0 8057e22: 484a ldr r0, [pc, #296] ; (8057f4c ) 8057e24: f072 f966 bl 80ca0f4 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8057e28: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057e2c: eef5 7ac0 vcmpe.f32 s15, #0.0 8057e30: eef1 fa10 vmrs APSR_nzcv, fpscr 8057e34: dd02 ble.n 8057e3c 8057e36: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8057e3a: e003 b.n 8057e44 8057e3c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057e40: eeb1 7a67 vneg.f32 s14, s15 8057e44: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057e48: eef5 7ac0 vcmpe.f32 s15, #0.0 8057e4c: eef1 fa10 vmrs APSR_nzcv, fpscr 8057e50: dd02 ble.n 8057e58 8057e52: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057e56: e003 b.n 8057e60 8057e58: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057e5c: eef1 7a67 vneg.f32 s15, s15 8057e60: eeb4 7ae7 vcmpe.f32 s14, s15 8057e64: eef1 fa10 vmrs APSR_nzcv, fpscr 8057e68: dd08 ble.n 8057e7c 8057e6a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057e6e: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8057e72: 4932 ldr r1, [pc, #200] ; (8057f3c ) 8057e74: 009b lsls r3, r3, #2 8057e76: 440b add r3, r1 8057e78: 601a str r2, [r3, #0] 8057e7a: e073 b.n 8057f64 else peakAVS[i] = fn[1]; 8057e7c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057e80: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8057e84: 492d ldr r1, [pc, #180] ; (8057f3c ) 8057e86: 009b lsls r3, r3, #2 8057e88: 440b add r3, r1 8057e8a: 601a str r2, [r3, #0] 8057e8c: e06a b.n 8057f64 } else if(i == 3) 8057e8e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057e92: 2b03 cmp r3, #3 8057e94: d166 bne.n 8057f64 { OP4_PEAK_WR(0) = peakAVS[i]; 8057e96: 4a2e ldr r2, [pc, #184] ; (8057f50 ) 8057e98: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057e9c: 4927 ldr r1, [pc, #156] ; (8057f3c ) 8057e9e: 009b lsls r3, r3, #2 8057ea0: 440b add r3, r1 8057ea2: 681b ldr r3, [r3, #0] 8057ea4: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8057ea6: 4b27 ldr r3, [pc, #156] ; (8057f44 ) 8057ea8: 7b5b ldrb r3, [r3, #13] 8057eaa: b2db uxtb r3, r3 8057eac: 461a mov r2, r3 8057eae: 4b26 ldr r3, [pc, #152] ; (8057f48 ) 8057eb0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057eb4: 4619 mov r1, r3 8057eb6: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8057eba: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8057ebe: 4824 ldr r0, [pc, #144] ; (8057f50 ) 8057ec0: f072 f87c bl 80c9fbc arm_max_f32((float32_t *) &OP4_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8057ec4: 4b1f ldr r3, [pc, #124] ; (8057f44 ) 8057ec6: 7b5b ldrb r3, [r3, #13] 8057ec8: b2db uxtb r3, r3 8057eca: 461a mov r2, r3 8057ecc: 4b1e ldr r3, [pc, #120] ; (8057f48 ) 8057ece: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057ed2: 4618 mov r0, r3 8057ed4: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8057ed8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8057edc: 1d1a adds r2, r3, #4 8057ede: 460b mov r3, r1 8057ee0: 4601 mov r1, r0 8057ee2: 481b ldr r0, [pc, #108] ; (8057f50 ) 8057ee4: f072 f906 bl 80ca0f4 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8057ee8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057eec: eef5 7ac0 vcmpe.f32 s15, #0.0 8057ef0: eef1 fa10 vmrs APSR_nzcv, fpscr 8057ef4: dd02 ble.n 8057efc 8057ef6: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8057efa: e003 b.n 8057f04 8057efc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8057f00: eeb1 7a67 vneg.f32 s14, s15 8057f04: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057f08: eef5 7ac0 vcmpe.f32 s15, #0.0 8057f0c: eef1 fa10 vmrs APSR_nzcv, fpscr 8057f10: dd02 ble.n 8057f18 8057f12: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057f16: e003 b.n 8057f20 8057f18: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8057f1c: eef1 7a67 vneg.f32 s15, s15 8057f20: eeb4 7ae7 vcmpe.f32 s14, s15 8057f24: eef1 fa10 vmrs APSR_nzcv, fpscr 8057f28: dd14 ble.n 8057f54 8057f2a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057f2e: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8057f32: 4902 ldr r1, [pc, #8] ; (8057f3c ) 8057f34: 009b lsls r3, r3, #2 8057f36: 440b add r3, r1 8057f38: 601a str r2, [r3, #0] 8057f3a: e013 b.n 8057f64 8057f3c: 20021cfc .word 0x20021cfc 8057f40: 64051000 .word 0x64051000 8057f44: 20023e60 .word 0x20023e60 8057f48: 080eeb38 .word 0x080eeb38 8057f4c: 64052000 .word 0x64052000 8057f50: 64053000 .word 0x64053000 else peakAVS[i] = fn[1]; 8057f54: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057f58: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8057f5c: 49bc ldr r1, [pc, #752] ; (8058250 ) 8057f5e: 009b lsls r3, r3, #2 8057f60: 440b add r3, r1 8057f62: 601a str r2, [r3, #0] } operand[i] = peakAVS[i]; 8057f64: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057f68: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8057f6c: 49b8 ldr r1, [pc, #736] ; (8058250 ) 8057f6e: 0092 lsls r2, r2, #2 8057f70: 440a add r2, r1 8057f72: 6812 ldr r2, [r2, #0] 8057f74: 49b7 ldr r1, [pc, #732] ; (8058254 ) 8057f76: 009b lsls r3, r3, #2 8057f78: 440b add r3, r1 8057f7a: 601a str r2, [r3, #0] peakAVS[i] = 0.0f; 8057f7c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057f80: 4ab3 ldr r2, [pc, #716] ; (8058250 ) 8057f82: 009b lsls r3, r3, #2 8057f84: 4413 add r3, r2 8057f86: f04f 0200 mov.w r2, #0 8057f8a: 601a str r2, [r3, #0] break; 8057f8c: bf00 nop for(i = 0; i < NUM_OPERANDS; i++) 8057f8e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057f92: 3301 adds r3, #1 8057f94: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8057f98: 4baf ldr r3, [pc, #700] ; (8058258 ) 8057f9a: 781b ldrb r3, [r3, #0] 8057f9c: b2db uxtb r3, r3 8057f9e: 461a mov r2, r3 8057fa0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8057fa4: 429a cmp r2, r3 8057fa6: f63f aacc bhi.w 8057542 } } if(MeanCnt >= (uint32_t) (AVG[pardata.AVG] * 8u)) 8057faa: 4bac ldr r3, [pc, #688] ; (805825c ) 8057fac: 7b5b ldrb r3, [r3, #13] 8057fae: b2db uxtb r3, r3 8057fb0: 461a mov r2, r3 8057fb2: 4bab ldr r3, [pc, #684] ; (8058260 ) 8057fb4: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8057fb8: 00da lsls r2, r3, #3 8057fba: 4baa ldr r3, [pc, #680] ; (8058264 ) 8057fbc: 681b ldr r3, [r3, #0] 8057fbe: 429a cmp r2, r3 8057fc0: d816 bhi.n 8057ff0 { MeanCnt = 0; 8057fc2: 4ba8 ldr r3, [pc, #672] ; (8058264 ) 8057fc4: 2200 movs r2, #0 8057fc6: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 4); 8057fc8: 2104 movs r1, #4 8057fca: 48a7 ldr r0, [pc, #668] ; (8058268 ) 8057fcc: ed9f 0aa7 vldr s0, [pc, #668] ; 805826c 8057fd0: f071 feb4 bl 80c9d3c arm_fill_f32(0.0f, peakAVS, 4); 8057fd4: 2104 movs r1, #4 8057fd6: 489e ldr r0, [pc, #632] ; (8058250 ) 8057fd8: ed9f 0aa4 vldr s0, [pc, #656] ; 805826c 8057fdc: f071 feae bl 80c9d3c arm_fill_f32(0.0f, fval, 4); 8057fe0: f107 03fc add.w r3, r7, #252 ; 0xfc 8057fe4: 2104 movs r1, #4 8057fe6: 4618 mov r0, r3 8057fe8: ed9f 0aa0 vldr s0, [pc, #640] ; 805826c 8057fec: f071 fea6 bl 80c9d3c } ///////////////////////////////////////////////////////////////////////////////////// //** (op1 |& op2) |& (op3 |& op4) TODO DIAGN CALC memset(t, 0, sizeof(t)); 8057ff0: f507 73ee add.w r3, r7, #476 ; 0x1dc 8057ff4: 2204 movs r2, #4 8057ff6: 2100 movs r1, #0 8057ff8: 4618 mov r0, r3 8057ffa: f075 f841 bl 80cd080 memset(rez, 0, sizeof(rez)); 8057ffe: f507 73ea add.w r3, r7, #468 ; 0x1d4 8058002: 2204 movs r2, #4 8058004: 2100 movs r1, #0 8058006: 4618 mov r0, r3 8058008: f075 f83a bl 80cd080 zn[0] = pardata.DIAGN_OPER[CURR_POINT][0]; 805800c: 4b98 ldr r3, [pc, #608] ; (8058270 ) 805800e: 781b ldrb r3, [r3, #0] 8058010: b2db uxtb r3, r3 8058012: 4a92 ldr r2, [pc, #584] ; (805825c ) 8058014: 3386 adds r3, #134 ; 0x86 8058016: 009b lsls r3, r3, #2 8058018: 4413 add r3, r2 805801a: 791b ldrb r3, [r3, #4] 805801c: b2db uxtb r3, r3 805801e: f887 31d8 strb.w r3, [r7, #472] ; 0x1d8 zn[1] = pardata.DIAGN_OPER[CURR_POINT][1]; 8058022: 4b93 ldr r3, [pc, #588] ; (8058270 ) 8058024: 781b ldrb r3, [r3, #0] 8058026: b2db uxtb r3, r3 8058028: 4a8c ldr r2, [pc, #560] ; (805825c ) 805802a: 009b lsls r3, r3, #2 805802c: 4413 add r3, r2 805802e: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 8058032: b2db uxtb r3, r3 8058034: f887 31d9 strb.w r3, [r7, #473] ; 0x1d9 //zn[2] = pardata.DIAGN_OPER[CURR_POINT][1]; if(pardata.IIN == VOLTS) 8058038: 4b88 ldr r3, [pc, #544] ; (805825c ) 805803a: 799b ldrb r3, [r3, #6] 805803c: b2db uxtb r3, r3 805803e: 2b02 cmp r3, #2 8058040: d159 bne.n 80580f6 { // ïåðåâîäèì âñå âåëè÷èíû â ì for(k = 0; k < NUM_OPERANDS; k++) 8058042: 2300 movs r3, #0 8058044: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8058048: e04d b.n 80580e6 { if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_VEL) { 805804a: 4b89 ldr r3, [pc, #548] ; (8058270 ) 805804c: 781b ldrb r3, [r3, #0] 805804e: b2db uxtb r3, r3 8058050: 461a mov r2, r3 8058052: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058056: 4981 ldr r1, [pc, #516] ; (805825c ) 8058058: 0092 lsls r2, r2, #2 805805a: 440a add r2, r1 805805c: 4413 add r3, r2 805805e: f503 730f add.w r3, r3, #572 ; 0x23c 8058062: 781b ldrb r3, [r3, #0] 8058064: b2db uxtb r3, r3 8058066: f003 0307 and.w r3, r3, #7 805806a: 2b02 cmp r3, #2 805806c: d112 bne.n 8058094 operand[k] *= 0.001f; 805806e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058072: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8058076: 4977 ldr r1, [pc, #476] ; (8058254 ) 8058078: 0092 lsls r2, r2, #2 805807a: 440a add r2, r1 805807c: edd2 7a00 vldr s15, [r2] 8058080: ed9f 7a7c vldr s14, [pc, #496] ; 8058274 8058084: ee67 7a87 vmul.f32 s15, s15, s14 8058088: 4a72 ldr r2, [pc, #456] ; (8058254 ) 805808a: 009b lsls r3, r3, #2 805808c: 4413 add r3, r2 805808e: edc3 7a00 vstr s15, [r3] 8058092: e023 b.n 80580dc } else if((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) == DIAGN_DIS) { 8058094: 4b76 ldr r3, [pc, #472] ; (8058270 ) 8058096: 781b ldrb r3, [r3, #0] 8058098: b2db uxtb r3, r3 805809a: 461a mov r2, r3 805809c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80580a0: 496e ldr r1, [pc, #440] ; (805825c ) 80580a2: 0092 lsls r2, r2, #2 80580a4: 440a add r2, r1 80580a6: 4413 add r3, r2 80580a8: f503 730f add.w r3, r3, #572 ; 0x23c 80580ac: 781b ldrb r3, [r3, #0] 80580ae: b2db uxtb r3, r3 80580b0: f003 0307 and.w r3, r3, #7 80580b4: 2b04 cmp r3, #4 80580b6: d111 bne.n 80580dc operand[k] *= 0.000001f; 80580b8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80580bc: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 80580c0: 4964 ldr r1, [pc, #400] ; (8058254 ) 80580c2: 0092 lsls r2, r2, #2 80580c4: 440a add r2, r1 80580c6: edd2 7a00 vldr s15, [r2] 80580ca: ed9f 7a6b vldr s14, [pc, #428] ; 8058278 80580ce: ee67 7a87 vmul.f32 s15, s15, s14 80580d2: 4a60 ldr r2, [pc, #384] ; (8058254 ) 80580d4: 009b lsls r3, r3, #2 80580d6: 4413 add r3, r2 80580d8: edc3 7a00 vstr s15, [r3] for(k = 0; k < NUM_OPERANDS; k++) 80580dc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80580e0: 3301 adds r3, #1 80580e2: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 80580e6: 4b5c ldr r3, [pc, #368] ; (8058258 ) 80580e8: 781b ldrb r3, [r3, #0] 80580ea: b2db uxtb r3, r3 80580ec: 461a mov r2, r3 80580ee: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80580f2: 429a cmp r2, r3 80580f4: d8a9 bhi.n 805804a //======================================================== //WARNING ///////////////// // (*) |& Us3 if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 80580f6: 4b5e ldr r3, [pc, #376] ; (8058270 ) 80580f8: 781b ldrb r3, [r3, #0] 80580fa: b2db uxtb r3, r3 80580fc: 4a57 ldr r2, [pc, #348] ; (805825c ) 80580fe: 338e adds r3, #142 ; 0x8e 8058100: 009b lsls r3, r3, #2 8058102: 4413 add r3, r2 8058104: 791b ldrb r3, [r3, #4] 8058106: b2db uxtb r3, r3 8058108: f003 0307 and.w r3, r3, #7 805810c: 2b00 cmp r3, #0 805810e: d11d bne.n 805814c 8058110: 4b57 ldr r3, [pc, #348] ; (8058270 ) 8058112: 781b ldrb r3, [r3, #0] 8058114: b2db uxtb r3, r3 8058116: 4a51 ldr r2, [pc, #324] ; (805825c ) 8058118: 009b lsls r3, r3, #2 805811a: 4413 add r3, r2 805811c: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058120: b2db uxtb r3, r3 8058122: f003 0307 and.w r3, r3, #7 8058126: 2b00 cmp r3, #0 8058128: d110 bne.n 805814c 805812a: 4b51 ldr r3, [pc, #324] ; (8058270 ) 805812c: 781b ldrb r3, [r3, #0] 805812e: b2db uxtb r3, r3 8058130: 4a4a ldr r2, [pc, #296] ; (805825c ) 8058132: 009b lsls r3, r3, #2 8058134: 4413 add r3, r2 8058136: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805813a: b2db uxtb r3, r3 805813c: f003 0307 and.w r3, r3, #7 8058140: 2b00 cmp r3, #0 8058142: d103 bne.n 805814c { WARNING = false; 8058144: 4b4d ldr r3, [pc, #308] ; (805827c ) 8058146: 2200 movs r2, #0 8058148: 701a strb r2, [r3, #0] 805814a: e2d1 b.n 80586f0 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 805814c: 4b48 ldr r3, [pc, #288] ; (8058270 ) 805814e: 781b ldrb r3, [r3, #0] 8058150: b2db uxtb r3, r3 8058152: 4a42 ldr r2, [pc, #264] ; (805825c ) 8058154: 338e adds r3, #142 ; 0x8e 8058156: 009b lsls r3, r3, #2 8058158: 4413 add r3, r2 805815a: 791b ldrb r3, [r3, #4] 805815c: b2db uxtb r3, r3 805815e: f003 0307 and.w r3, r3, #7 8058162: 2b00 cmp r3, #0 8058164: d033 beq.n 80581ce 8058166: 4b42 ldr r3, [pc, #264] ; (8058270 ) 8058168: 781b ldrb r3, [r3, #0] 805816a: b2db uxtb r3, r3 805816c: 4a3b ldr r2, [pc, #236] ; (805825c ) 805816e: 009b lsls r3, r3, #2 8058170: 4413 add r3, r2 8058172: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058176: b2db uxtb r3, r3 8058178: f003 0307 and.w r3, r3, #7 805817c: 2b00 cmp r3, #0 805817e: d126 bne.n 80581ce 8058180: 4b3b ldr r3, [pc, #236] ; (8058270 ) 8058182: 781b ldrb r3, [r3, #0] 8058184: b2db uxtb r3, r3 8058186: 4a35 ldr r2, [pc, #212] ; (805825c ) 8058188: 009b lsls r3, r3, #2 805818a: 4413 add r3, r2 805818c: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058190: b2db uxtb r3, r3 8058192: f003 0307 and.w r3, r3, #7 8058196: 2b00 cmp r3, #0 8058198: d119 bne.n 80581ce { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 805819a: 4b2e ldr r3, [pc, #184] ; (8058254 ) 805819c: ed93 7a00 vldr s14, [r3] 80581a0: 4b33 ldr r3, [pc, #204] ; (8058270 ) 80581a2: 781b ldrb r3, [r3, #0] 80581a4: b2db uxtb r3, r3 80581a6: 4a2d ldr r2, [pc, #180] ; (805825c ) 80581a8: 011b lsls r3, r3, #4 80581aa: 4413 add r3, r2 80581ac: f503 7357 add.w r3, r3, #860 ; 0x35c 80581b0: edd3 7a00 vldr s15, [r3] 80581b4: eeb4 7ae7 vcmpe.f32 s14, s15 80581b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80581bc: db03 blt.n 80581c6 WARNING = true; 80581be: 4b2f ldr r3, [pc, #188] ; (805827c ) 80581c0: 2201 movs r2, #1 80581c2: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 80581c4: e294 b.n 80586f0 } else WARNING = false; 80581c6: 4b2d ldr r3, [pc, #180] ; (805827c ) 80581c8: 2200 movs r2, #0 80581ca: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 80581cc: e290 b.n 80586f0 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 80581ce: 4b28 ldr r3, [pc, #160] ; (8058270 ) 80581d0: 781b ldrb r3, [r3, #0] 80581d2: b2db uxtb r3, r3 80581d4: 4a21 ldr r2, [pc, #132] ; (805825c ) 80581d6: 338e adds r3, #142 ; 0x8e 80581d8: 009b lsls r3, r3, #2 80581da: 4413 add r3, r2 80581dc: 791b ldrb r3, [r3, #4] 80581de: b2db uxtb r3, r3 80581e0: f003 0307 and.w r3, r3, #7 80581e4: 2b00 cmp r3, #0 80581e6: d14b bne.n 8058280 80581e8: 4b21 ldr r3, [pc, #132] ; (8058270 ) 80581ea: 781b ldrb r3, [r3, #0] 80581ec: b2db uxtb r3, r3 80581ee: 4a1b ldr r2, [pc, #108] ; (805825c ) 80581f0: 009b lsls r3, r3, #2 80581f2: 4413 add r3, r2 80581f4: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80581f8: b2db uxtb r3, r3 80581fa: f003 0307 and.w r3, r3, #7 80581fe: 2b00 cmp r3, #0 8058200: d03e beq.n 8058280 8058202: 4b1b ldr r3, [pc, #108] ; (8058270 ) 8058204: 781b ldrb r3, [r3, #0] 8058206: b2db uxtb r3, r3 8058208: 4a14 ldr r2, [pc, #80] ; (805825c ) 805820a: 009b lsls r3, r3, #2 805820c: 4413 add r3, r2 805820e: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058212: b2db uxtb r3, r3 8058214: f003 0307 and.w r3, r3, #7 8058218: 2b00 cmp r3, #0 805821a: d131 bne.n 8058280 { if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 805821c: 4b0d ldr r3, [pc, #52] ; (8058254 ) 805821e: ed93 7a01 vldr s14, [r3, #4] 8058222: 4b13 ldr r3, [pc, #76] ; (8058270 ) 8058224: 781b ldrb r3, [r3, #0] 8058226: b2db uxtb r3, r3 8058228: 4a0c ldr r2, [pc, #48] ; (805825c ) 805822a: 011b lsls r3, r3, #4 805822c: 4413 add r3, r2 805822e: f503 7358 add.w r3, r3, #864 ; 0x360 8058232: edd3 7a00 vldr s15, [r3] 8058236: eeb4 7ae7 vcmpe.f32 s14, s15 805823a: eef1 fa10 vmrs APSR_nzcv, fpscr 805823e: db03 blt.n 8058248 WARNING = true; 8058240: 4b0e ldr r3, [pc, #56] ; (805827c ) 8058242: 2201 movs r2, #1 8058244: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 8058246: e253 b.n 80586f0 } else WARNING = false; 8058248: 4b0c ldr r3, [pc, #48] ; (805827c ) 805824a: 2200 movs r2, #0 805824c: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 805824e: e24f b.n 80586f0 8058250: 20021cfc .word 0x20021cfc 8058254: 200268d8 .word 0x200268d8 8058258: 20021012 .word 0x20021012 805825c: 20023e60 .word 0x20023e60 8058260: 080eeb38 .word 0x080eeb38 8058264: 20020db8 .word 0x20020db8 8058268: 20021ce8 .word 0x20021ce8 805826c: 00000000 .word 0x00000000 8058270: 20021011 .word 0x20021011 8058274: 3a83126f .word 0x3a83126f 8058278: 358637bd .word 0x358637bd 805827c: 20021014 .word 0x20021014 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 8058280: 4b91 ldr r3, [pc, #580] ; (80584c8 ) 8058282: 781b ldrb r3, [r3, #0] 8058284: b2db uxtb r3, r3 8058286: 4a91 ldr r2, [pc, #580] ; (80584cc ) 8058288: 338e adds r3, #142 ; 0x8e 805828a: 009b lsls r3, r3, #2 805828c: 4413 add r3, r2 805828e: 791b ldrb r3, [r3, #4] 8058290: b2db uxtb r3, r3 8058292: f003 0307 and.w r3, r3, #7 8058296: 2b00 cmp r3, #0 8058298: d063 beq.n 8058362 805829a: 4b8b ldr r3, [pc, #556] ; (80584c8 ) 805829c: 781b ldrb r3, [r3, #0] 805829e: b2db uxtb r3, r3 80582a0: 4a8a ldr r2, [pc, #552] ; (80584cc ) 80582a2: 009b lsls r3, r3, #2 80582a4: 4413 add r3, r2 80582a6: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80582aa: b2db uxtb r3, r3 80582ac: f003 0307 and.w r3, r3, #7 80582b0: 2b00 cmp r3, #0 80582b2: d056 beq.n 8058362 80582b4: 4b84 ldr r3, [pc, #528] ; (80584c8 ) 80582b6: 781b ldrb r3, [r3, #0] 80582b8: b2db uxtb r3, r3 80582ba: 4a84 ldr r2, [pc, #528] ; (80584cc ) 80582bc: 009b lsls r3, r3, #2 80582be: 4413 add r3, r2 80582c0: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 80582c4: b2db uxtb r3, r3 80582c6: f003 0307 and.w r3, r3, #7 80582ca: 2b00 cmp r3, #0 80582cc: d149 bne.n 8058362 { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 80582ce: 4b80 ldr r3, [pc, #512] ; (80584d0 ) 80582d0: ed93 7a00 vldr s14, [r3] 80582d4: 4b7c ldr r3, [pc, #496] ; (80584c8 ) 80582d6: 781b ldrb r3, [r3, #0] 80582d8: b2db uxtb r3, r3 80582da: 4a7c ldr r2, [pc, #496] ; (80584cc ) 80582dc: 011b lsls r3, r3, #4 80582de: 4413 add r3, r2 80582e0: f503 7357 add.w r3, r3, #860 ; 0x35c 80582e4: edd3 7a00 vldr s15, [r3] 80582e8: eeb4 7ae7 vcmpe.f32 s14, s15 80582ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80582f0: db02 blt.n 80582f8 t[Us1] = 1; 80582f2: 2301 movs r3, #1 80582f4: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 80582f8: 4b75 ldr r3, [pc, #468] ; (80584d0 ) 80582fa: ed93 7a01 vldr s14, [r3, #4] 80582fe: 4b72 ldr r3, [pc, #456] ; (80584c8 ) 8058300: 781b ldrb r3, [r3, #0] 8058302: b2db uxtb r3, r3 8058304: 4a71 ldr r2, [pc, #452] ; (80584cc ) 8058306: 011b lsls r3, r3, #4 8058308: 4413 add r3, r2 805830a: f503 7358 add.w r3, r3, #864 ; 0x360 805830e: edd3 7a00 vldr s15, [r3] 8058312: eeb4 7ae7 vcmpe.f32 s14, s15 8058316: eef1 fa10 vmrs APSR_nzcv, fpscr 805831a: db02 blt.n 8058322 t[Us2] = 1; 805831c: 2301 movs r3, #1 805831e: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(zn[0]) 8058322: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 8058326: 2b00 cmp r3, #0 8058328: d00d beq.n 8058346 WARNING = t[Us1] & t[Us2]; //and 805832a: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805832e: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8058332: 4013 ands r3, r2 8058334: b2db uxtb r3, r3 8058336: 2b00 cmp r3, #0 8058338: bf14 ite ne 805833a: 2301 movne r3, #1 805833c: 2300 moveq r3, #0 805833e: b2da uxtb r2, r3 8058340: 4b64 ldr r3, [pc, #400] ; (80584d4 ) 8058342: 701a strb r2, [r3, #0] if(zn[0]) 8058344: e1d4 b.n 80586f0 else WARNING = t[Us1] | t[Us2]; //or 8058346: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805834a: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 805834e: 4313 orrs r3, r2 8058350: b2db uxtb r3, r3 8058352: 2b00 cmp r3, #0 8058354: bf14 ite ne 8058356: 2301 movne r3, #1 8058358: 2300 moveq r3, #0 805835a: b2da uxtb r2, r3 805835c: 4b5d ldr r3, [pc, #372] ; (80584d4 ) 805835e: 701a strb r2, [r3, #0] if(zn[0]) 8058360: e1c6 b.n 80586f0 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 8058362: 4b59 ldr r3, [pc, #356] ; (80584c8 ) 8058364: 781b ldrb r3, [r3, #0] 8058366: b2db uxtb r3, r3 8058368: 4a58 ldr r2, [pc, #352] ; (80584cc ) 805836a: 338e adds r3, #142 ; 0x8e 805836c: 009b lsls r3, r3, #2 805836e: 4413 add r3, r2 8058370: 791b ldrb r3, [r3, #4] 8058372: b2db uxtb r3, r3 8058374: f003 0307 and.w r3, r3, #7 8058378: 2b00 cmp r3, #0 805837a: d133 bne.n 80583e4 805837c: 4b52 ldr r3, [pc, #328] ; (80584c8 ) 805837e: 781b ldrb r3, [r3, #0] 8058380: b2db uxtb r3, r3 8058382: 4a52 ldr r2, [pc, #328] ; (80584cc ) 8058384: 009b lsls r3, r3, #2 8058386: 4413 add r3, r2 8058388: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805838c: b2db uxtb r3, r3 805838e: f003 0307 and.w r3, r3, #7 8058392: 2b00 cmp r3, #0 8058394: d126 bne.n 80583e4 8058396: 4b4c ldr r3, [pc, #304] ; (80584c8 ) 8058398: 781b ldrb r3, [r3, #0] 805839a: b2db uxtb r3, r3 805839c: 4a4b ldr r2, [pc, #300] ; (80584cc ) 805839e: 009b lsls r3, r3, #2 80583a0: 4413 add r3, r2 80583a2: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 80583a6: b2db uxtb r3, r3 80583a8: f003 0307 and.w r3, r3, #7 80583ac: 2b00 cmp r3, #0 80583ae: d019 beq.n 80583e4 { if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 80583b0: 4b47 ldr r3, [pc, #284] ; (80584d0 ) 80583b2: ed93 7a02 vldr s14, [r3, #8] 80583b6: 4b44 ldr r3, [pc, #272] ; (80584c8 ) 80583b8: 781b ldrb r3, [r3, #0] 80583ba: b2db uxtb r3, r3 80583bc: 4a43 ldr r2, [pc, #268] ; (80584cc ) 80583be: 3336 adds r3, #54 ; 0x36 80583c0: 011b lsls r3, r3, #4 80583c2: 4413 add r3, r2 80583c4: 3304 adds r3, #4 80583c6: edd3 7a00 vldr s15, [r3] 80583ca: eeb4 7ae7 vcmpe.f32 s14, s15 80583ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80583d2: db03 blt.n 80583dc WARNING = true; 80583d4: 4b3f ldr r3, [pc, #252] ; (80584d4 ) 80583d6: 2201 movs r2, #1 80583d8: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 80583da: e189 b.n 80586f0 } else WARNING = false; 80583dc: 4b3d ldr r3, [pc, #244] ; (80584d4 ) 80583de: 2200 movs r2, #0 80583e0: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 80583e2: e185 b.n 80586f0 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 80583e4: 4b38 ldr r3, [pc, #224] ; (80584c8 ) 80583e6: 781b ldrb r3, [r3, #0] 80583e8: b2db uxtb r3, r3 80583ea: 4a38 ldr r2, [pc, #224] ; (80584cc ) 80583ec: 338e adds r3, #142 ; 0x8e 80583ee: 009b lsls r3, r3, #2 80583f0: 4413 add r3, r2 80583f2: 791b ldrb r3, [r3, #4] 80583f4: b2db uxtb r3, r3 80583f6: f003 0307 and.w r3, r3, #7 80583fa: 2b00 cmp r3, #0 80583fc: d06c beq.n 80584d8 80583fe: 4b32 ldr r3, [pc, #200] ; (80584c8 ) 8058400: 781b ldrb r3, [r3, #0] 8058402: b2db uxtb r3, r3 8058404: 4a31 ldr r2, [pc, #196] ; (80584cc ) 8058406: 009b lsls r3, r3, #2 8058408: 4413 add r3, r2 805840a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 805840e: b2db uxtb r3, r3 8058410: f003 0307 and.w r3, r3, #7 8058414: 2b00 cmp r3, #0 8058416: d15f bne.n 80584d8 8058418: 4b2b ldr r3, [pc, #172] ; (80584c8 ) 805841a: 781b ldrb r3, [r3, #0] 805841c: b2db uxtb r3, r3 805841e: 4a2b ldr r2, [pc, #172] ; (80584cc ) 8058420: 009b lsls r3, r3, #2 8058422: 4413 add r3, r2 8058424: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058428: b2db uxtb r3, r3 805842a: f003 0307 and.w r3, r3, #7 805842e: 2b00 cmp r3, #0 8058430: d052 beq.n 80584d8 { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 8058432: 4b27 ldr r3, [pc, #156] ; (80584d0 ) 8058434: ed93 7a00 vldr s14, [r3] 8058438: 4b23 ldr r3, [pc, #140] ; (80584c8 ) 805843a: 781b ldrb r3, [r3, #0] 805843c: b2db uxtb r3, r3 805843e: 4a23 ldr r2, [pc, #140] ; (80584cc ) 8058440: 011b lsls r3, r3, #4 8058442: 4413 add r3, r2 8058444: f503 7357 add.w r3, r3, #860 ; 0x35c 8058448: edd3 7a00 vldr s15, [r3] 805844c: eeb4 7ae7 vcmpe.f32 s14, s15 8058450: eef1 fa10 vmrs APSR_nzcv, fpscr 8058454: db02 blt.n 805845c t[Us1] = 1; 8058456: 2301 movs r3, #1 8058458: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 805845c: 4b1c ldr r3, [pc, #112] ; (80584d0 ) 805845e: ed93 7a02 vldr s14, [r3, #8] 8058462: 4b19 ldr r3, [pc, #100] ; (80584c8 ) 8058464: 781b ldrb r3, [r3, #0] 8058466: b2db uxtb r3, r3 8058468: 4a18 ldr r2, [pc, #96] ; (80584cc ) 805846a: 3336 adds r3, #54 ; 0x36 805846c: 011b lsls r3, r3, #4 805846e: 4413 add r3, r2 8058470: 3304 adds r3, #4 8058472: edd3 7a00 vldr s15, [r3] 8058476: eeb4 7ae7 vcmpe.f32 s14, s15 805847a: eef1 fa10 vmrs APSR_nzcv, fpscr 805847e: db02 blt.n 8058486 t[Us3] = 1; 8058480: 2301 movs r3, #1 8058482: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 8058486: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 805848a: 2b00 cmp r3, #0 805848c: d00d beq.n 80584aa WARNING = t[Us1] & t[Us3]; //and 805848e: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8058492: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058496: 4013 ands r3, r2 8058498: b2db uxtb r3, r3 805849a: 2b00 cmp r3, #0 805849c: bf14 ite ne 805849e: 2301 movne r3, #1 80584a0: 2300 moveq r3, #0 80584a2: b2da uxtb r2, r3 80584a4: 4b0b ldr r3, [pc, #44] ; (80584d4 ) 80584a6: 701a strb r2, [r3, #0] if(zn[1]) 80584a8: e122 b.n 80586f0 else WARNING = t[Us1] | t[Us3]; //or 80584aa: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 80584ae: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 80584b2: 4313 orrs r3, r2 80584b4: b2db uxtb r3, r3 80584b6: 2b00 cmp r3, #0 80584b8: bf14 ite ne 80584ba: 2301 movne r3, #1 80584bc: 2300 moveq r3, #0 80584be: b2da uxtb r2, r3 80584c0: 4b04 ldr r3, [pc, #16] ; (80584d4 ) 80584c2: 701a strb r2, [r3, #0] if(zn[1]) 80584c4: e114 b.n 80586f0 80584c6: bf00 nop 80584c8: 20021011 .word 0x20021011 80584cc: 20023e60 .word 0x20023e60 80584d0: 200268d8 .word 0x200268d8 80584d4: 20021014 .word 0x20021014 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 80584d8: 4ba2 ldr r3, [pc, #648] ; (8058764 ) 80584da: 781b ldrb r3, [r3, #0] 80584dc: b2db uxtb r3, r3 80584de: 4aa2 ldr r2, [pc, #648] ; (8058768 ) 80584e0: 338e adds r3, #142 ; 0x8e 80584e2: 009b lsls r3, r3, #2 80584e4: 4413 add r3, r2 80584e6: 791b ldrb r3, [r3, #4] 80584e8: b2db uxtb r3, r3 80584ea: f003 0307 and.w r3, r3, #7 80584ee: 2b00 cmp r3, #0 80584f0: d163 bne.n 80585ba 80584f2: 4b9c ldr r3, [pc, #624] ; (8058764 ) 80584f4: 781b ldrb r3, [r3, #0] 80584f6: b2db uxtb r3, r3 80584f8: 4a9b ldr r2, [pc, #620] ; (8058768 ) 80584fa: 009b lsls r3, r3, #2 80584fc: 4413 add r3, r2 80584fe: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058502: b2db uxtb r3, r3 8058504: f003 0307 and.w r3, r3, #7 8058508: 2b00 cmp r3, #0 805850a: d056 beq.n 80585ba 805850c: 4b95 ldr r3, [pc, #596] ; (8058764 ) 805850e: 781b ldrb r3, [r3, #0] 8058510: b2db uxtb r3, r3 8058512: 4a95 ldr r2, [pc, #596] ; (8058768 ) 8058514: 009b lsls r3, r3, #2 8058516: 4413 add r3, r2 8058518: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805851c: b2db uxtb r3, r3 805851e: f003 0307 and.w r3, r3, #7 8058522: 2b00 cmp r3, #0 8058524: d049 beq.n 80585ba { if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 8058526: 4b91 ldr r3, [pc, #580] ; (805876c ) 8058528: ed93 7a01 vldr s14, [r3, #4] 805852c: 4b8d ldr r3, [pc, #564] ; (8058764 ) 805852e: 781b ldrb r3, [r3, #0] 8058530: b2db uxtb r3, r3 8058532: 4a8d ldr r2, [pc, #564] ; (8058768 ) 8058534: 011b lsls r3, r3, #4 8058536: 4413 add r3, r2 8058538: f503 7358 add.w r3, r3, #864 ; 0x360 805853c: edd3 7a00 vldr s15, [r3] 8058540: eeb4 7ae7 vcmpe.f32 s14, s15 8058544: eef1 fa10 vmrs APSR_nzcv, fpscr 8058548: db02 blt.n 8058550 t[Us2] = 1; 805854a: 2301 movs r3, #1 805854c: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 8058550: 4b86 ldr r3, [pc, #536] ; (805876c ) 8058552: ed93 7a02 vldr s14, [r3, #8] 8058556: 4b83 ldr r3, [pc, #524] ; (8058764 ) 8058558: 781b ldrb r3, [r3, #0] 805855a: b2db uxtb r3, r3 805855c: 4a82 ldr r2, [pc, #520] ; (8058768 ) 805855e: 3336 adds r3, #54 ; 0x36 8058560: 011b lsls r3, r3, #4 8058562: 4413 add r3, r2 8058564: 3304 adds r3, #4 8058566: edd3 7a00 vldr s15, [r3] 805856a: eeb4 7ae7 vcmpe.f32 s14, s15 805856e: eef1 fa10 vmrs APSR_nzcv, fpscr 8058572: db02 blt.n 805857a t[Us3] = 1; 8058574: 2301 movs r3, #1 8058576: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 805857a: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 805857e: 2b00 cmp r3, #0 8058580: d00d beq.n 805859e WARNING = t[Us2] & t[Us3]; //and 8058582: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 8058586: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 805858a: 4013 ands r3, r2 805858c: b2db uxtb r3, r3 805858e: 2b00 cmp r3, #0 8058590: bf14 ite ne 8058592: 2301 movne r3, #1 8058594: 2300 moveq r3, #0 8058596: b2da uxtb r2, r3 8058598: 4b75 ldr r3, [pc, #468] ; (8058770 ) 805859a: 701a strb r2, [r3, #0] if(zn[1]) 805859c: e0a8 b.n 80586f0 else WARNING = t[Us2] | t[Us3]; //or 805859e: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 80585a2: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 80585a6: 4313 orrs r3, r2 80585a8: b2db uxtb r3, r3 80585aa: 2b00 cmp r3, #0 80585ac: bf14 ite ne 80585ae: 2301 movne r3, #1 80585b0: 2300 moveq r3, #0 80585b2: b2da uxtb r2, r3 80585b4: 4b6e ldr r3, [pc, #440] ; (8058770 ) 80585b6: 701a strb r2, [r3, #0] if(zn[1]) 80585b8: e09a b.n 80586f0 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 80585ba: 4b6a ldr r3, [pc, #424] ; (8058764 ) 80585bc: 781b ldrb r3, [r3, #0] 80585be: b2db uxtb r3, r3 80585c0: 4a69 ldr r2, [pc, #420] ; (8058768 ) 80585c2: 338e adds r3, #142 ; 0x8e 80585c4: 009b lsls r3, r3, #2 80585c6: 4413 add r3, r2 80585c8: 791b ldrb r3, [r3, #4] 80585ca: b2db uxtb r3, r3 80585cc: f003 0307 and.w r3, r3, #7 80585d0: 2b00 cmp r3, #0 80585d2: f000 808d beq.w 80586f0 80585d6: 4b63 ldr r3, [pc, #396] ; (8058764 ) 80585d8: 781b ldrb r3, [r3, #0] 80585da: b2db uxtb r3, r3 80585dc: 4a62 ldr r2, [pc, #392] ; (8058768 ) 80585de: 009b lsls r3, r3, #2 80585e0: 4413 add r3, r2 80585e2: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80585e6: b2db uxtb r3, r3 80585e8: f003 0307 and.w r3, r3, #7 80585ec: 2b00 cmp r3, #0 80585ee: d07f beq.n 80586f0 80585f0: 4b5c ldr r3, [pc, #368] ; (8058764 ) 80585f2: 781b ldrb r3, [r3, #0] 80585f4: b2db uxtb r3, r3 80585f6: 4a5c ldr r2, [pc, #368] ; (8058768 ) 80585f8: 009b lsls r3, r3, #2 80585fa: 4413 add r3, r2 80585fc: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058600: b2db uxtb r3, r3 8058602: f003 0307 and.w r3, r3, #7 8058606: 2b00 cmp r3, #0 8058608: d072 beq.n 80586f0 { if(operand[Us1] >= pardata.DIAGN_W[CURR_POINT][Us1]) { 805860a: 4b58 ldr r3, [pc, #352] ; (805876c ) 805860c: ed93 7a00 vldr s14, [r3] 8058610: 4b54 ldr r3, [pc, #336] ; (8058764 ) 8058612: 781b ldrb r3, [r3, #0] 8058614: b2db uxtb r3, r3 8058616: 4a54 ldr r2, [pc, #336] ; (8058768 ) 8058618: 011b lsls r3, r3, #4 805861a: 4413 add r3, r2 805861c: f503 7357 add.w r3, r3, #860 ; 0x35c 8058620: edd3 7a00 vldr s15, [r3] 8058624: eeb4 7ae7 vcmpe.f32 s14, s15 8058628: eef1 fa10 vmrs APSR_nzcv, fpscr 805862c: db02 blt.n 8058634 t[Us1] = 1; 805862e: 2301 movs r3, #1 8058630: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_W[CURR_POINT][Us2]) { 8058634: 4b4d ldr r3, [pc, #308] ; (805876c ) 8058636: ed93 7a01 vldr s14, [r3, #4] 805863a: 4b4a ldr r3, [pc, #296] ; (8058764 ) 805863c: 781b ldrb r3, [r3, #0] 805863e: b2db uxtb r3, r3 8058640: 4a49 ldr r2, [pc, #292] ; (8058768 ) 8058642: 011b lsls r3, r3, #4 8058644: 4413 add r3, r2 8058646: f503 7358 add.w r3, r3, #864 ; 0x360 805864a: edd3 7a00 vldr s15, [r3] 805864e: eeb4 7ae7 vcmpe.f32 s14, s15 8058652: eef1 fa10 vmrs APSR_nzcv, fpscr 8058656: db02 blt.n 805865e t[Us2] = 1; 8058658: 2301 movs r3, #1 805865a: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_W[CURR_POINT][Us3]) { 805865e: 4b43 ldr r3, [pc, #268] ; (805876c ) 8058660: ed93 7a02 vldr s14, [r3, #8] 8058664: 4b3f ldr r3, [pc, #252] ; (8058764 ) 8058666: 781b ldrb r3, [r3, #0] 8058668: b2db uxtb r3, r3 805866a: 4a3f ldr r2, [pc, #252] ; (8058768 ) 805866c: 3336 adds r3, #54 ; 0x36 805866e: 011b lsls r3, r3, #4 8058670: 4413 add r3, r2 8058672: 3304 adds r3, #4 8058674: edd3 7a00 vldr s15, [r3] 8058678: eeb4 7ae7 vcmpe.f32 s14, s15 805867c: eef1 fa10 vmrs APSR_nzcv, fpscr 8058680: db02 blt.n 8058688 t[Us3] = 1; 8058682: 2301 movs r3, #1 8058684: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[0]) 8058688: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 805868c: 2b00 cmp r3, #0 805868e: d008 beq.n 80586a2 rez[0] = t[Us1] & t[Us2]; //and 8058690: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8058694: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8058698: 4013 ands r3, r2 805869a: b2db uxtb r3, r3 805869c: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 80586a0: e007 b.n 80586b2 else rez[0] = t[Us1] | t[Us2]; //or 80586a2: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 80586a6: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 80586aa: 4313 orrs r3, r2 80586ac: b2db uxtb r3, r3 80586ae: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 if(zn[1]) 80586b2: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 80586b6: 2b00 cmp r3, #0 80586b8: d00d beq.n 80586d6 WARNING = rez[0] & t[Us3]; //and 80586ba: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 80586be: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 80586c2: 4013 ands r3, r2 80586c4: b2db uxtb r3, r3 80586c6: 2b00 cmp r3, #0 80586c8: bf14 ite ne 80586ca: 2301 movne r3, #1 80586cc: 2300 moveq r3, #0 80586ce: b2da uxtb r2, r3 80586d0: 4b27 ldr r3, [pc, #156] ; (8058770 ) 80586d2: 701a strb r2, [r3, #0] 80586d4: e00c b.n 80586f0 else WARNING = rez[0] | t[Us3]; //or 80586d6: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 80586da: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 80586de: 4313 orrs r3, r2 80586e0: b2db uxtb r3, r3 80586e2: 2b00 cmp r3, #0 80586e4: bf14 ite ne 80586e6: 2301 movne r3, #1 80586e8: 2300 moveq r3, #0 80586ea: b2da uxtb r2, r3 80586ec: 4b20 ldr r3, [pc, #128] ; (8058770 ) 80586ee: 701a strb r2, [r3, #0] //*************************************************************************** //*************************************************************************** //======================================================== //CRASH memset(t, 0, sizeof(t)); 80586f0: f507 73ee add.w r3, r7, #476 ; 0x1dc 80586f4: 2204 movs r2, #4 80586f6: 2100 movs r1, #0 80586f8: 4618 mov r0, r3 80586fa: f074 fcc1 bl 80cd080 memset(rez, 0, sizeof(rez)); 80586fe: f507 73ea add.w r3, r7, #468 ; 0x1d4 8058702: 2204 movs r2, #4 8058704: 2100 movs r1, #0 8058706: 4618 mov r0, r3 8058708: f074 fcba bl 80cd080 ///////////////// if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 805870c: 4b15 ldr r3, [pc, #84] ; (8058764 ) 805870e: 781b ldrb r3, [r3, #0] 8058710: b2db uxtb r3, r3 8058712: 4a15 ldr r2, [pc, #84] ; (8058768 ) 8058714: 338e adds r3, #142 ; 0x8e 8058716: 009b lsls r3, r3, #2 8058718: 4413 add r3, r2 805871a: 791b ldrb r3, [r3, #4] 805871c: b2db uxtb r3, r3 805871e: f003 0307 and.w r3, r3, #7 8058722: 2b00 cmp r3, #0 8058724: d128 bne.n 8058778 8058726: 4b0f ldr r3, [pc, #60] ; (8058764 ) 8058728: 781b ldrb r3, [r3, #0] 805872a: b2db uxtb r3, r3 805872c: 4a0e ldr r2, [pc, #56] ; (8058768 ) 805872e: 009b lsls r3, r3, #2 8058730: 4413 add r3, r2 8058732: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058736: b2db uxtb r3, r3 8058738: f003 0307 and.w r3, r3, #7 805873c: 2b00 cmp r3, #0 805873e: d11b bne.n 8058778 8058740: 4b08 ldr r3, [pc, #32] ; (8058764 ) 8058742: 781b ldrb r3, [r3, #0] 8058744: b2db uxtb r3, r3 8058746: 4a08 ldr r2, [pc, #32] ; (8058768 ) 8058748: 009b lsls r3, r3, #2 805874a: 4413 add r3, r2 805874c: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058750: b2db uxtb r3, r3 8058752: f003 0307 and.w r3, r3, #7 8058756: 2b00 cmp r3, #0 8058758: d10e bne.n 8058778 { ALARM = false; 805875a: 4b06 ldr r3, [pc, #24] ; (8058774 ) 805875c: 2200 movs r2, #0 805875e: 701a strb r2, [r3, #0] 8058760: e2cd b.n 8058cfe 8058762: bf00 nop 8058764: 20021011 .word 0x20021011 8058768: 20023e60 .word 0x20023e60 805876c: 200268d8 .word 0x200268d8 8058770: 20021014 .word 0x20021014 8058774: 20021015 .word 0x20021015 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 8058778: 4b99 ldr r3, [pc, #612] ; (80589e0 ) 805877a: 781b ldrb r3, [r3, #0] 805877c: b2db uxtb r3, r3 805877e: 4a99 ldr r2, [pc, #612] ; (80589e4 ) 8058780: 338e adds r3, #142 ; 0x8e 8058782: 009b lsls r3, r3, #2 8058784: 4413 add r3, r2 8058786: 791b ldrb r3, [r3, #4] 8058788: b2db uxtb r3, r3 805878a: f003 0307 and.w r3, r3, #7 805878e: 2b00 cmp r3, #0 8058790: d033 beq.n 80587fa 8058792: 4b93 ldr r3, [pc, #588] ; (80589e0 ) 8058794: 781b ldrb r3, [r3, #0] 8058796: b2db uxtb r3, r3 8058798: 4a92 ldr r2, [pc, #584] ; (80589e4 ) 805879a: 009b lsls r3, r3, #2 805879c: 4413 add r3, r2 805879e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80587a2: b2db uxtb r3, r3 80587a4: f003 0307 and.w r3, r3, #7 80587a8: 2b00 cmp r3, #0 80587aa: d126 bne.n 80587fa 80587ac: 4b8c ldr r3, [pc, #560] ; (80589e0 ) 80587ae: 781b ldrb r3, [r3, #0] 80587b0: b2db uxtb r3, r3 80587b2: 4a8c ldr r2, [pc, #560] ; (80589e4 ) 80587b4: 009b lsls r3, r3, #2 80587b6: 4413 add r3, r2 80587b8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 80587bc: b2db uxtb r3, r3 80587be: f003 0307 and.w r3, r3, #7 80587c2: 2b00 cmp r3, #0 80587c4: d119 bne.n 80587fa { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 80587c6: 4b88 ldr r3, [pc, #544] ; (80589e8 ) 80587c8: ed93 7a00 vldr s14, [r3] 80587cc: 4b84 ldr r3, [pc, #528] ; (80589e0 ) 80587ce: 781b ldrb r3, [r3, #0] 80587d0: b2db uxtb r3, r3 80587d2: 4a84 ldr r2, [pc, #528] ; (80589e4 ) 80587d4: 011b lsls r3, r3, #4 80587d6: 4413 add r3, r2 80587d8: f503 7377 add.w r3, r3, #988 ; 0x3dc 80587dc: edd3 7a00 vldr s15, [r3] 80587e0: eeb4 7ae7 vcmpe.f32 s14, s15 80587e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80587e8: db03 blt.n 80587f2 ALARM = true; 80587ea: 4b80 ldr r3, [pc, #512] ; (80589ec ) 80587ec: 2201 movs r2, #1 80587ee: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 80587f0: e285 b.n 8058cfe } else ALARM = false; 80587f2: 4b7e ldr r3, [pc, #504] ; (80589ec ) 80587f4: 2200 movs r2, #0 80587f6: 701a strb r2, [r3, #0] if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 80587f8: e281 b.n 8058cfe } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 80587fa: 4b79 ldr r3, [pc, #484] ; (80589e0 ) 80587fc: 781b ldrb r3, [r3, #0] 80587fe: b2db uxtb r3, r3 8058800: 4a78 ldr r2, [pc, #480] ; (80589e4 ) 8058802: 338e adds r3, #142 ; 0x8e 8058804: 009b lsls r3, r3, #2 8058806: 4413 add r3, r2 8058808: 791b ldrb r3, [r3, #4] 805880a: b2db uxtb r3, r3 805880c: f003 0307 and.w r3, r3, #7 8058810: 2b00 cmp r3, #0 8058812: d133 bne.n 805887c 8058814: 4b72 ldr r3, [pc, #456] ; (80589e0 ) 8058816: 781b ldrb r3, [r3, #0] 8058818: b2db uxtb r3, r3 805881a: 4a72 ldr r2, [pc, #456] ; (80589e4 ) 805881c: 009b lsls r3, r3, #2 805881e: 4413 add r3, r2 8058820: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058824: b2db uxtb r3, r3 8058826: f003 0307 and.w r3, r3, #7 805882a: 2b00 cmp r3, #0 805882c: d026 beq.n 805887c 805882e: 4b6c ldr r3, [pc, #432] ; (80589e0 ) 8058830: 781b ldrb r3, [r3, #0] 8058832: b2db uxtb r3, r3 8058834: 4a6b ldr r2, [pc, #428] ; (80589e4 ) 8058836: 009b lsls r3, r3, #2 8058838: 4413 add r3, r2 805883a: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 805883e: b2db uxtb r3, r3 8058840: f003 0307 and.w r3, r3, #7 8058844: 2b00 cmp r3, #0 8058846: d119 bne.n 805887c { if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 8058848: 4b67 ldr r3, [pc, #412] ; (80589e8 ) 805884a: ed93 7a01 vldr s14, [r3, #4] 805884e: 4b64 ldr r3, [pc, #400] ; (80589e0 ) 8058850: 781b ldrb r3, [r3, #0] 8058852: b2db uxtb r3, r3 8058854: 4a63 ldr r2, [pc, #396] ; (80589e4 ) 8058856: 011b lsls r3, r3, #4 8058858: 4413 add r3, r2 805885a: f503 7378 add.w r3, r3, #992 ; 0x3e0 805885e: edd3 7a00 vldr s15, [r3] 8058862: eeb4 7ae7 vcmpe.f32 s14, s15 8058866: eef1 fa10 vmrs APSR_nzcv, fpscr 805886a: db03 blt.n 8058874 ALARM = true; 805886c: 4b5f ldr r3, [pc, #380] ; (80589ec ) 805886e: 2201 movs r2, #1 8058870: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 8058872: e244 b.n 8058cfe } else ALARM = false; 8058874: 4b5d ldr r3, [pc, #372] ; (80589ec ) 8058876: 2200 movs r2, #0 8058878: 701a strb r2, [r3, #0] if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 805887a: e240 b.n 8058cfe } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == 0)) 805887c: 4b58 ldr r3, [pc, #352] ; (80589e0 ) 805887e: 781b ldrb r3, [r3, #0] 8058880: b2db uxtb r3, r3 8058882: 4a58 ldr r2, [pc, #352] ; (80589e4 ) 8058884: 338e adds r3, #142 ; 0x8e 8058886: 009b lsls r3, r3, #2 8058888: 4413 add r3, r2 805888a: 791b ldrb r3, [r3, #4] 805888c: b2db uxtb r3, r3 805888e: f003 0307 and.w r3, r3, #7 8058892: 2b00 cmp r3, #0 8058894: d063 beq.n 805895e 8058896: 4b52 ldr r3, [pc, #328] ; (80589e0 ) 8058898: 781b ldrb r3, [r3, #0] 805889a: b2db uxtb r3, r3 805889c: 4a51 ldr r2, [pc, #324] ; (80589e4 ) 805889e: 009b lsls r3, r3, #2 80588a0: 4413 add r3, r2 80588a2: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 80588a6: b2db uxtb r3, r3 80588a8: f003 0307 and.w r3, r3, #7 80588ac: 2b00 cmp r3, #0 80588ae: d056 beq.n 805895e 80588b0: 4b4b ldr r3, [pc, #300] ; (80589e0 ) 80588b2: 781b ldrb r3, [r3, #0] 80588b4: b2db uxtb r3, r3 80588b6: 4a4b ldr r2, [pc, #300] ; (80589e4 ) 80588b8: 009b lsls r3, r3, #2 80588ba: 4413 add r3, r2 80588bc: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 80588c0: b2db uxtb r3, r3 80588c2: f003 0307 and.w r3, r3, #7 80588c6: 2b00 cmp r3, #0 80588c8: d149 bne.n 805895e { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 80588ca: 4b47 ldr r3, [pc, #284] ; (80589e8 ) 80588cc: ed93 7a00 vldr s14, [r3] 80588d0: 4b43 ldr r3, [pc, #268] ; (80589e0 ) 80588d2: 781b ldrb r3, [r3, #0] 80588d4: b2db uxtb r3, r3 80588d6: 4a43 ldr r2, [pc, #268] ; (80589e4 ) 80588d8: 011b lsls r3, r3, #4 80588da: 4413 add r3, r2 80588dc: f503 7377 add.w r3, r3, #988 ; 0x3dc 80588e0: edd3 7a00 vldr s15, [r3] 80588e4: eeb4 7ae7 vcmpe.f32 s14, s15 80588e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80588ec: db02 blt.n 80588f4 t[Us1] = 1; 80588ee: 2301 movs r3, #1 80588f0: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 80588f4: 4b3c ldr r3, [pc, #240] ; (80589e8 ) 80588f6: ed93 7a01 vldr s14, [r3, #4] 80588fa: 4b39 ldr r3, [pc, #228] ; (80589e0 ) 80588fc: 781b ldrb r3, [r3, #0] 80588fe: b2db uxtb r3, r3 8058900: 4a38 ldr r2, [pc, #224] ; (80589e4 ) 8058902: 011b lsls r3, r3, #4 8058904: 4413 add r3, r2 8058906: f503 7378 add.w r3, r3, #992 ; 0x3e0 805890a: edd3 7a00 vldr s15, [r3] 805890e: eeb4 7ae7 vcmpe.f32 s14, s15 8058912: eef1 fa10 vmrs APSR_nzcv, fpscr 8058916: db02 blt.n 805891e t[Us2] = 1; 8058918: 2301 movs r3, #1 805891a: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(zn[0]) 805891e: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 8058922: 2b00 cmp r3, #0 8058924: d00d beq.n 8058942 ALARM = t[Us1] & t[Us2]; //and 8058926: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 805892a: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 805892e: 4013 ands r3, r2 8058930: b2db uxtb r3, r3 8058932: 2b00 cmp r3, #0 8058934: bf14 ite ne 8058936: 2301 movne r3, #1 8058938: 2300 moveq r3, #0 805893a: b2da uxtb r2, r3 805893c: 4b2b ldr r3, [pc, #172] ; (80589ec ) 805893e: 701a strb r2, [r3, #0] if(zn[0]) 8058940: e1dd b.n 8058cfe else ALARM = t[Us1] | t[Us2]; //or 8058942: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8058946: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 805894a: 4313 orrs r3, r2 805894c: b2db uxtb r3, r3 805894e: 2b00 cmp r3, #0 8058950: bf14 ite ne 8058952: 2301 movne r3, #1 8058954: 2300 moveq r3, #0 8058956: b2da uxtb r2, r3 8058958: 4b24 ldr r3, [pc, #144] ; (80589ec ) 805895a: 701a strb r2, [r3, #0] if(zn[0]) 805895c: e1cf b.n 8058cfe } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 805895e: 4b20 ldr r3, [pc, #128] ; (80589e0 ) 8058960: 781b ldrb r3, [r3, #0] 8058962: b2db uxtb r3, r3 8058964: 4a1f ldr r2, [pc, #124] ; (80589e4 ) 8058966: 338e adds r3, #142 ; 0x8e 8058968: 009b lsls r3, r3, #2 805896a: 4413 add r3, r2 805896c: 791b ldrb r3, [r3, #4] 805896e: b2db uxtb r3, r3 8058970: f003 0307 and.w r3, r3, #7 8058974: 2b00 cmp r3, #0 8058976: d13b bne.n 80589f0 8058978: 4b19 ldr r3, [pc, #100] ; (80589e0 ) 805897a: 781b ldrb r3, [r3, #0] 805897c: b2db uxtb r3, r3 805897e: 4a19 ldr r2, [pc, #100] ; (80589e4 ) 8058980: 009b lsls r3, r3, #2 8058982: 4413 add r3, r2 8058984: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058988: b2db uxtb r3, r3 805898a: f003 0307 and.w r3, r3, #7 805898e: 2b00 cmp r3, #0 8058990: d12e bne.n 80589f0 8058992: 4b13 ldr r3, [pc, #76] ; (80589e0 ) 8058994: 781b ldrb r3, [r3, #0] 8058996: b2db uxtb r3, r3 8058998: 4a12 ldr r2, [pc, #72] ; (80589e4 ) 805899a: 009b lsls r3, r3, #2 805899c: 4413 add r3, r2 805899e: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 80589a2: b2db uxtb r3, r3 80589a4: f003 0307 and.w r3, r3, #7 80589a8: 2b00 cmp r3, #0 80589aa: d021 beq.n 80589f0 { if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 80589ac: 4b0e ldr r3, [pc, #56] ; (80589e8 ) 80589ae: ed93 7a02 vldr s14, [r3, #8] 80589b2: 4b0b ldr r3, [pc, #44] ; (80589e0 ) 80589b4: 781b ldrb r3, [r3, #0] 80589b6: b2db uxtb r3, r3 80589b8: 4a0a ldr r2, [pc, #40] ; (80589e4 ) 80589ba: 333e adds r3, #62 ; 0x3e 80589bc: 011b lsls r3, r3, #4 80589be: 4413 add r3, r2 80589c0: 3304 adds r3, #4 80589c2: edd3 7a00 vldr s15, [r3] 80589c6: eeb4 7ae7 vcmpe.f32 s14, s15 80589ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80589ce: db03 blt.n 80589d8 ALARM = true; 80589d0: 4b06 ldr r3, [pc, #24] ; (80589ec ) 80589d2: 2201 movs r2, #1 80589d4: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 80589d6: e192 b.n 8058cfe } else ALARM = false; 80589d8: 4b04 ldr r3, [pc, #16] ; (80589ec ) 80589da: 2200 movs r2, #0 80589dc: 701a strb r2, [r3, #0] if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 80589de: e18e b.n 8058cfe 80589e0: 20021011 .word 0x20021011 80589e4: 20023e60 .word 0x20023e60 80589e8: 200268d8 .word 0x200268d8 80589ec: 20021015 .word 0x20021015 } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 80589f0: 4bb8 ldr r3, [pc, #736] ; (8058cd4 ) 80589f2: 781b ldrb r3, [r3, #0] 80589f4: b2db uxtb r3, r3 80589f6: 4ab8 ldr r2, [pc, #736] ; (8058cd8 ) 80589f8: 338e adds r3, #142 ; 0x8e 80589fa: 009b lsls r3, r3, #2 80589fc: 4413 add r3, r2 80589fe: 791b ldrb r3, [r3, #4] 8058a00: b2db uxtb r3, r3 8058a02: f003 0307 and.w r3, r3, #7 8058a06: 2b00 cmp r3, #0 8058a08: d063 beq.n 8058ad2 8058a0a: 4bb2 ldr r3, [pc, #712] ; (8058cd4 ) 8058a0c: 781b ldrb r3, [r3, #0] 8058a0e: b2db uxtb r3, r3 8058a10: 4ab1 ldr r2, [pc, #708] ; (8058cd8 ) 8058a12: 009b lsls r3, r3, #2 8058a14: 4413 add r3, r2 8058a16: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058a1a: b2db uxtb r3, r3 8058a1c: f003 0307 and.w r3, r3, #7 8058a20: 2b00 cmp r3, #0 8058a22: d156 bne.n 8058ad2 8058a24: 4bab ldr r3, [pc, #684] ; (8058cd4 ) 8058a26: 781b ldrb r3, [r3, #0] 8058a28: b2db uxtb r3, r3 8058a2a: 4aab ldr r2, [pc, #684] ; (8058cd8 ) 8058a2c: 009b lsls r3, r3, #2 8058a2e: 4413 add r3, r2 8058a30: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058a34: b2db uxtb r3, r3 8058a36: f003 0307 and.w r3, r3, #7 8058a3a: 2b00 cmp r3, #0 8058a3c: d049 beq.n 8058ad2 { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 8058a3e: 4ba7 ldr r3, [pc, #668] ; (8058cdc ) 8058a40: ed93 7a00 vldr s14, [r3] 8058a44: 4ba3 ldr r3, [pc, #652] ; (8058cd4 ) 8058a46: 781b ldrb r3, [r3, #0] 8058a48: b2db uxtb r3, r3 8058a4a: 4aa3 ldr r2, [pc, #652] ; (8058cd8 ) 8058a4c: 011b lsls r3, r3, #4 8058a4e: 4413 add r3, r2 8058a50: f503 7377 add.w r3, r3, #988 ; 0x3dc 8058a54: edd3 7a00 vldr s15, [r3] 8058a58: eeb4 7ae7 vcmpe.f32 s14, s15 8058a5c: eef1 fa10 vmrs APSR_nzcv, fpscr 8058a60: db02 blt.n 8058a68 t[Us1] = 1; 8058a62: 2301 movs r3, #1 8058a64: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 8058a68: 4b9c ldr r3, [pc, #624] ; (8058cdc ) 8058a6a: ed93 7a02 vldr s14, [r3, #8] 8058a6e: 4b99 ldr r3, [pc, #612] ; (8058cd4 ) 8058a70: 781b ldrb r3, [r3, #0] 8058a72: b2db uxtb r3, r3 8058a74: 4a98 ldr r2, [pc, #608] ; (8058cd8 ) 8058a76: 333e adds r3, #62 ; 0x3e 8058a78: 011b lsls r3, r3, #4 8058a7a: 4413 add r3, r2 8058a7c: 3304 adds r3, #4 8058a7e: edd3 7a00 vldr s15, [r3] 8058a82: eeb4 7ae7 vcmpe.f32 s14, s15 8058a86: eef1 fa10 vmrs APSR_nzcv, fpscr 8058a8a: db02 blt.n 8058a92 t[Us3] = 1; 8058a8c: 2301 movs r3, #1 8058a8e: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 8058a92: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 8058a96: 2b00 cmp r3, #0 8058a98: d00d beq.n 8058ab6 ALARM = t[Us1] & t[Us3]; //and 8058a9a: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8058a9e: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058aa2: 4013 ands r3, r2 8058aa4: b2db uxtb r3, r3 8058aa6: 2b00 cmp r3, #0 8058aa8: bf14 ite ne 8058aaa: 2301 movne r3, #1 8058aac: 2300 moveq r3, #0 8058aae: b2da uxtb r2, r3 8058ab0: 4b8b ldr r3, [pc, #556] ; (8058ce0 ) 8058ab2: 701a strb r2, [r3, #0] if(zn[1]) 8058ab4: e123 b.n 8058cfe else ALARM = t[Us1] | t[Us3]; //or 8058ab6: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8058aba: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058abe: 4313 orrs r3, r2 8058ac0: b2db uxtb r3, r3 8058ac2: 2b00 cmp r3, #0 8058ac4: bf14 ite ne 8058ac6: 2301 movne r3, #1 8058ac8: 2300 moveq r3, #0 8058aca: b2da uxtb r2, r3 8058acc: 4b84 ldr r3, [pc, #528] ; (8058ce0 ) 8058ace: 701a strb r2, [r3, #0] if(zn[1]) 8058ad0: e115 b.n 8058cfe } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == 0) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 8058ad2: 4b80 ldr r3, [pc, #512] ; (8058cd4 ) 8058ad4: 781b ldrb r3, [r3, #0] 8058ad6: b2db uxtb r3, r3 8058ad8: 4a7f ldr r2, [pc, #508] ; (8058cd8 ) 8058ada: 338e adds r3, #142 ; 0x8e 8058adc: 009b lsls r3, r3, #2 8058ade: 4413 add r3, r2 8058ae0: 791b ldrb r3, [r3, #4] 8058ae2: b2db uxtb r3, r3 8058ae4: f003 0307 and.w r3, r3, #7 8058ae8: 2b00 cmp r3, #0 8058aea: d163 bne.n 8058bb4 8058aec: 4b79 ldr r3, [pc, #484] ; (8058cd4 ) 8058aee: 781b ldrb r3, [r3, #0] 8058af0: b2db uxtb r3, r3 8058af2: 4a79 ldr r2, [pc, #484] ; (8058cd8 ) 8058af4: 009b lsls r3, r3, #2 8058af6: 4413 add r3, r2 8058af8: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058afc: b2db uxtb r3, r3 8058afe: f003 0307 and.w r3, r3, #7 8058b02: 2b00 cmp r3, #0 8058b04: d056 beq.n 8058bb4 8058b06: 4b73 ldr r3, [pc, #460] ; (8058cd4 ) 8058b08: 781b ldrb r3, [r3, #0] 8058b0a: b2db uxtb r3, r3 8058b0c: 4a72 ldr r2, [pc, #456] ; (8058cd8 ) 8058b0e: 009b lsls r3, r3, #2 8058b10: 4413 add r3, r2 8058b12: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058b16: b2db uxtb r3, r3 8058b18: f003 0307 and.w r3, r3, #7 8058b1c: 2b00 cmp r3, #0 8058b1e: d049 beq.n 8058bb4 { if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 8058b20: 4b6e ldr r3, [pc, #440] ; (8058cdc ) 8058b22: ed93 7a01 vldr s14, [r3, #4] 8058b26: 4b6b ldr r3, [pc, #428] ; (8058cd4 ) 8058b28: 781b ldrb r3, [r3, #0] 8058b2a: b2db uxtb r3, r3 8058b2c: 4a6a ldr r2, [pc, #424] ; (8058cd8 ) 8058b2e: 011b lsls r3, r3, #4 8058b30: 4413 add r3, r2 8058b32: f503 7378 add.w r3, r3, #992 ; 0x3e0 8058b36: edd3 7a00 vldr s15, [r3] 8058b3a: eeb4 7ae7 vcmpe.f32 s14, s15 8058b3e: eef1 fa10 vmrs APSR_nzcv, fpscr 8058b42: db02 blt.n 8058b4a t[Us2] = 1; 8058b44: 2301 movs r3, #1 8058b46: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 8058b4a: 4b64 ldr r3, [pc, #400] ; (8058cdc ) 8058b4c: ed93 7a02 vldr s14, [r3, #8] 8058b50: 4b60 ldr r3, [pc, #384] ; (8058cd4 ) 8058b52: 781b ldrb r3, [r3, #0] 8058b54: b2db uxtb r3, r3 8058b56: 4a60 ldr r2, [pc, #384] ; (8058cd8 ) 8058b58: 333e adds r3, #62 ; 0x3e 8058b5a: 011b lsls r3, r3, #4 8058b5c: 4413 add r3, r2 8058b5e: 3304 adds r3, #4 8058b60: edd3 7a00 vldr s15, [r3] 8058b64: eeb4 7ae7 vcmpe.f32 s14, s15 8058b68: eef1 fa10 vmrs APSR_nzcv, fpscr 8058b6c: db02 blt.n 8058b74 t[Us3] = 1; 8058b6e: 2301 movs r3, #1 8058b70: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[1]) 8058b74: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 8058b78: 2b00 cmp r3, #0 8058b7a: d00d beq.n 8058b98 ALARM = t[Us2] & t[Us3]; //and 8058b7c: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 8058b80: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058b84: 4013 ands r3, r2 8058b86: b2db uxtb r3, r3 8058b88: 2b00 cmp r3, #0 8058b8a: bf14 ite ne 8058b8c: 2301 movne r3, #1 8058b8e: 2300 moveq r3, #0 8058b90: b2da uxtb r2, r3 8058b92: 4b53 ldr r3, [pc, #332] ; (8058ce0 ) 8058b94: 701a strb r2, [r3, #0] if(zn[1]) 8058b96: e0b2 b.n 8058cfe else ALARM = t[Us2] | t[Us3]; //or 8058b98: f897 21dd ldrb.w r2, [r7, #477] ; 0x1dd 8058b9c: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058ba0: 4313 orrs r3, r2 8058ba2: b2db uxtb r3, r3 8058ba4: 2b00 cmp r3, #0 8058ba6: bf14 ite ne 8058ba8: 2301 movne r3, #1 8058baa: 2300 moveq r3, #0 8058bac: b2da uxtb r2, r3 8058bae: 4b4c ldr r3, [pc, #304] ; (8058ce0 ) 8058bb0: 701a strb r2, [r3, #0] if(zn[1]) 8058bb2: e0a4 b.n 8058cfe } else if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7)) && ((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7))) 8058bb4: 4b47 ldr r3, [pc, #284] ; (8058cd4 ) 8058bb6: 781b ldrb r3, [r3, #0] 8058bb8: b2db uxtb r3, r3 8058bba: 4a47 ldr r2, [pc, #284] ; (8058cd8 ) 8058bbc: 338e adds r3, #142 ; 0x8e 8058bbe: 009b lsls r3, r3, #2 8058bc0: 4413 add r3, r2 8058bc2: 791b ldrb r3, [r3, #4] 8058bc4: b2db uxtb r3, r3 8058bc6: f003 0307 and.w r3, r3, #7 8058bca: 2b00 cmp r3, #0 8058bcc: f000 8097 beq.w 8058cfe 8058bd0: 4b40 ldr r3, [pc, #256] ; (8058cd4 ) 8058bd2: 781b ldrb r3, [r3, #0] 8058bd4: b2db uxtb r3, r3 8058bd6: 4a40 ldr r2, [pc, #256] ; (8058cd8 ) 8058bd8: 009b lsls r3, r3, #2 8058bda: 4413 add r3, r2 8058bdc: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8058be0: b2db uxtb r3, r3 8058be2: f003 0307 and.w r3, r3, #7 8058be6: 2b00 cmp r3, #0 8058be8: f000 8089 beq.w 8058cfe 8058bec: 4b39 ldr r3, [pc, #228] ; (8058cd4 ) 8058bee: 781b ldrb r3, [r3, #0] 8058bf0: b2db uxtb r3, r3 8058bf2: 4a39 ldr r2, [pc, #228] ; (8058cd8 ) 8058bf4: 009b lsls r3, r3, #2 8058bf6: 4413 add r3, r2 8058bf8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 8058bfc: b2db uxtb r3, r3 8058bfe: f003 0307 and.w r3, r3, #7 8058c02: 2b00 cmp r3, #0 8058c04: d07b beq.n 8058cfe { if(operand[Us1] >= pardata.DIAGN_A[CURR_POINT][Us1]) { 8058c06: 4b35 ldr r3, [pc, #212] ; (8058cdc ) 8058c08: ed93 7a00 vldr s14, [r3] 8058c0c: 4b31 ldr r3, [pc, #196] ; (8058cd4 ) 8058c0e: 781b ldrb r3, [r3, #0] 8058c10: b2db uxtb r3, r3 8058c12: 4a31 ldr r2, [pc, #196] ; (8058cd8 ) 8058c14: 011b lsls r3, r3, #4 8058c16: 4413 add r3, r2 8058c18: f503 7377 add.w r3, r3, #988 ; 0x3dc 8058c1c: edd3 7a00 vldr s15, [r3] 8058c20: eeb4 7ae7 vcmpe.f32 s14, s15 8058c24: eef1 fa10 vmrs APSR_nzcv, fpscr 8058c28: db02 blt.n 8058c30 t[Us1] = 1; 8058c2a: 2301 movs r3, #1 8058c2c: f887 31dc strb.w r3, [r7, #476] ; 0x1dc } if(operand[Us2] >= pardata.DIAGN_A[CURR_POINT][Us2]) { 8058c30: 4b2a ldr r3, [pc, #168] ; (8058cdc ) 8058c32: ed93 7a01 vldr s14, [r3, #4] 8058c36: 4b27 ldr r3, [pc, #156] ; (8058cd4 ) 8058c38: 781b ldrb r3, [r3, #0] 8058c3a: b2db uxtb r3, r3 8058c3c: 4a26 ldr r2, [pc, #152] ; (8058cd8 ) 8058c3e: 011b lsls r3, r3, #4 8058c40: 4413 add r3, r2 8058c42: f503 7378 add.w r3, r3, #992 ; 0x3e0 8058c46: edd3 7a00 vldr s15, [r3] 8058c4a: eeb4 7ae7 vcmpe.f32 s14, s15 8058c4e: eef1 fa10 vmrs APSR_nzcv, fpscr 8058c52: db02 blt.n 8058c5a t[Us2] = 1; 8058c54: 2301 movs r3, #1 8058c56: f887 31dd strb.w r3, [r7, #477] ; 0x1dd } if(operand[Us3] >= pardata.DIAGN_A[CURR_POINT][Us3]) { 8058c5a: 4b20 ldr r3, [pc, #128] ; (8058cdc ) 8058c5c: ed93 7a02 vldr s14, [r3, #8] 8058c60: 4b1c ldr r3, [pc, #112] ; (8058cd4 ) 8058c62: 781b ldrb r3, [r3, #0] 8058c64: b2db uxtb r3, r3 8058c66: 4a1c ldr r2, [pc, #112] ; (8058cd8 ) 8058c68: 333e adds r3, #62 ; 0x3e 8058c6a: 011b lsls r3, r3, #4 8058c6c: 4413 add r3, r2 8058c6e: 3304 adds r3, #4 8058c70: edd3 7a00 vldr s15, [r3] 8058c74: eeb4 7ae7 vcmpe.f32 s14, s15 8058c78: eef1 fa10 vmrs APSR_nzcv, fpscr 8058c7c: db02 blt.n 8058c84 t[Us3] = 1; 8058c7e: 2301 movs r3, #1 8058c80: f887 31de strb.w r3, [r7, #478] ; 0x1de } if(zn[0]) 8058c84: f897 31d8 ldrb.w r3, [r7, #472] ; 0x1d8 8058c88: 2b00 cmp r3, #0 8058c8a: d008 beq.n 8058c9e rez[0] = t[Us1] & t[Us2]; //and 8058c8c: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8058c90: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8058c94: 4013 ands r3, r2 8058c96: b2db uxtb r3, r3 8058c98: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 8058c9c: e007 b.n 8058cae else rez[0] = t[Us1] | t[Us2]; //or 8058c9e: f897 21dc ldrb.w r2, [r7, #476] ; 0x1dc 8058ca2: f897 31dd ldrb.w r3, [r7, #477] ; 0x1dd 8058ca6: 4313 orrs r3, r2 8058ca8: b2db uxtb r3, r3 8058caa: f887 31d4 strb.w r3, [r7, #468] ; 0x1d4 if(zn[1]) 8058cae: f897 31d9 ldrb.w r3, [r7, #473] ; 0x1d9 8058cb2: 2b00 cmp r3, #0 8058cb4: d016 beq.n 8058ce4 ALARM = rez[0] & t[Us3]; //and 8058cb6: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 8058cba: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058cbe: 4013 ands r3, r2 8058cc0: b2db uxtb r3, r3 8058cc2: 2b00 cmp r3, #0 8058cc4: bf14 ite ne 8058cc6: 2301 movne r3, #1 8058cc8: 2300 moveq r3, #0 8058cca: b2da uxtb r2, r3 8058ccc: 4b04 ldr r3, [pc, #16] ; (8058ce0 ) 8058cce: 701a strb r2, [r3, #0] 8058cd0: e015 b.n 8058cfe 8058cd2: bf00 nop 8058cd4: 20021011 .word 0x20021011 8058cd8: 20023e60 .word 0x20023e60 8058cdc: 200268d8 .word 0x200268d8 8058ce0: 20021015 .word 0x20021015 else ALARM = rez[0] | t[Us3]; //or 8058ce4: f897 21d4 ldrb.w r2, [r7, #468] ; 0x1d4 8058ce8: f897 31de ldrb.w r3, [r7, #478] ; 0x1de 8058cec: 4313 orrs r3, r2 8058cee: b2db uxtb r3, r3 8058cf0: 2b00 cmp r3, #0 8058cf2: bf14 ite ne 8058cf4: 2301 movne r3, #1 8058cf6: 2300 moveq r3, #0 8058cf8: b2da uxtb r2, r3 8058cfa: 4bb1 ldr r3, [pc, #708] ; (8058fc0 ) 8058cfc: 701a strb r2, [r3, #0] } for(k = 0; k < NUM_OPERANDS; k++) 8058cfe: 2300 movs r3, #0 8058d00: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8058d04: e033 b.n 8058d6e { if((pardata.DIAGN_HP[CURR_POINT][k] < 2.0f) && ((pardata.DIAGN_MASK[CURR_POINT][k] & 0x7) > DIAGN_ACC)) 8058d06: 4baf ldr r3, [pc, #700] ; (8058fc4 ) 8058d08: 781b ldrb r3, [r3, #0] 8058d0a: b2db uxtb r3, r3 8058d0c: 461a mov r2, r3 8058d0e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058d12: 49ad ldr r1, [pc, #692] ; (8058fc8 ) 8058d14: 0092 lsls r2, r2, #2 8058d16: 4413 add r3, r2 8058d18: 3396 adds r3, #150 ; 0x96 8058d1a: 009b lsls r3, r3, #2 8058d1c: 440b add r3, r1 8058d1e: 3304 adds r3, #4 8058d20: edd3 7a00 vldr s15, [r3] 8058d24: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 8058d28: eef4 7ac7 vcmpe.f32 s15, s14 8058d2c: eef1 fa10 vmrs APSR_nzcv, fpscr 8058d30: d518 bpl.n 8058d64 8058d32: 4ba4 ldr r3, [pc, #656] ; (8058fc4 ) 8058d34: 781b ldrb r3, [r3, #0] 8058d36: b2db uxtb r3, r3 8058d38: 461a mov r2, r3 8058d3a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058d3e: 49a2 ldr r1, [pc, #648] ; (8058fc8 ) 8058d40: 0092 lsls r2, r2, #2 8058d42: 440a add r2, r1 8058d44: 4413 add r3, r2 8058d46: f503 730f add.w r3, r3, #572 ; 0x23c 8058d4a: 781b ldrb r3, [r3, #0] 8058d4c: b2db uxtb r3, r3 8058d4e: f003 0307 and.w r3, r3, #7 8058d52: 2b01 cmp r3, #1 8058d54: dd06 ble.n 8058d64 { operand[k] = -1.0f; 8058d56: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058d5a: 4a9c ldr r2, [pc, #624] ; (8058fcc ) 8058d5c: 009b lsls r3, r3, #2 8058d5e: 4413 add r3, r2 8058d60: 4a9b ldr r2, [pc, #620] ; (8058fd0 ) 8058d62: 601a str r2, [r3, #0] for(k = 0; k < NUM_OPERANDS; k++) 8058d64: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058d68: 3301 adds r3, #1 8058d6a: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 8058d6e: 4b99 ldr r3, [pc, #612] ; (8058fd4 ) 8058d70: 781b ldrb r3, [r3, #0] 8058d72: b2db uxtb r3, r3 8058d74: 461a mov r2, r3 8058d76: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8058d7a: 429a cmp r2, r3 8058d7c: d8c3 bhi.n 8058d06 if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8058d7e: e005 b.n 8058d8c } } } else { RepeatKm = true; 8058d80: 4b95 ldr r3, [pc, #596] ; (8058fd8 ) 8058d82: 2201 movs r2, #1 8058d84: 701a strb r2, [r3, #0] timeRelax = 48; 8058d86: 4b95 ldr r3, [pc, #596] ; (8058fdc ) 8058d88: 2230 movs r2, #48 ; 0x30 8058d8a: 601a str r2, [r3, #0] } tick = HAL_GetTick() - tick; 8058d8c: f05a fa70 bl 80b3270 8058d90: 4602 mov r2, r0 8058d92: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 8058d96: 1ad3 subs r3, r2, r3 8058d98: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 8058d9c: 4b90 ldr r3, [pc, #576] ; (8058fe0 ) 8058d9e: 681b ldr r3, [r3, #0] 8058da0: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 8058da4: 429a cmp r2, r3 8058da6: f24b 8196 bls.w 80640d6 { maxtick = tick; 8058daa: 4a8d ldr r2, [pc, #564] ; (8058fe0 ) 8058dac: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 8058db0: 6013 str r3, [r2, #0] if(maxtick > 24384000) 8058db2: 4b8b ldr r3, [pc, #556] ; (8058fe0 ) 8058db4: 681b ldr r3, [r3, #0] 8058db6: 4a8b ldr r2, [pc, #556] ; (8058fe4 ) 8058db8: 4293 cmp r3, r2 8058dba: f24b 818c bls.w 80640d6 { tick = 0; 8058dbe: 2300 movs r3, #0 8058dc0: f8c7 321c str.w r3, [r7, #540] ; 0x21c } } } break; 8058dc4: f00b b987 b.w 80640d6 case VIB: case FRAN: if(measuring) 8058dc8: 4b87 ldr r3, [pc, #540] ; (8058fe8 ) 8058dca: 781b ldrb r3, [r3, #0] 8058dcc: b2db uxtb r3, r3 8058dce: 2b00 cmp r3, #0 8058dd0: f00b 8183 beq.w 80640da { tick = DWT->CYCCNT; 8058dd4: 4b85 ldr r3, [pc, #532] ; (8058fec ) 8058dd6: 685b ldr r3, [r3, #4] 8058dd8: f8c7 321c str.w r3, [r7, #540] ; 0x21c GetData(); 8058ddc: f00b fc42 bl 8064664 j = 0; 8058de0: 2300 movs r3, #0 8058de2: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 8058de6: 4b78 ldr r3, [pc, #480] ; (8058fc8 ) 8058de8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8058dec: f003 0304 and.w r3, r3, #4 8058df0: 2b00 cmp r3, #0 8058df2: d005 beq.n 8058e00 CalculateGain(Ns); 8058df4: 4b7e ldr r3, [pc, #504] ; (8058ff0 ) 8058df6: 681b ldr r3, [r3, #0] 8058df8: 4618 mov r0, r3 8058dfa: f7fc fe17 bl 8055a2c 8058dfe: e02e b.n 8058e5e else { Stability = (Nr * 4) + 1; 8058e00: 4b7c ldr r3, [pc, #496] ; (8058ff4 ) 8058e02: 881b ldrh r3, [r3, #0] 8058e04: b29b uxth r3, r3 8058e06: 009b lsls r3, r3, #2 8058e08: 3301 adds r3, #1 8058e0a: 461a mov r2, r3 8058e0c: 4b7a ldr r3, [pc, #488] ; (8058ff8 ) 8058e0e: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 8058e10: 2300 movs r3, #0 8058e12: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058e16: e011 b.n 8058e3c { if(In16[i].lg > 0xE00000) 8058e18: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058e1c: 4a77 ldr r2, [pc, #476] ; (8058ffc ) 8058e1e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8058e22: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8058e26: d904 bls.n 8058e32 j++; 8058e28: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058e2c: 3301 adds r3, #1 8058e2e: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 8058e32: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058e36: 3301 adds r3, #1 8058e38: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058e3c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058e40: 4b6b ldr r3, [pc, #428] ; (8058ff0 ) 8058e42: 681b ldr r3, [r3, #0] 8058e44: 429a cmp r2, r3 8058e46: d3e7 bcc.n 8058e18 } if(j >= 2) 8058e48: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8058e4c: 2b01 cmp r3, #1 8058e4e: d903 bls.n 8058e58 OVERDRIVE = true; 8058e50: 4b6b ldr r3, [pc, #428] ; (8059000 ) 8058e52: 2201 movs r2, #1 8058e54: 701a strb r2, [r3, #0] 8058e56: e002 b.n 8058e5e else OVERDRIVE = false; 8058e58: 4b69 ldr r3, [pc, #420] ; (8059000 ) 8058e5a: 2200 movs r2, #0 8058e5c: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 8058e5e: 4b69 ldr r3, [pc, #420] ; (8059004 ) 8058e60: 781b ldrb r3, [r3, #0] 8058e62: b2db uxtb r3, r3 8058e64: 2b00 cmp r3, #0 8058e66: d02d beq.n 8058ec4 { Stability = 0; 8058e68: 4b63 ldr r3, [pc, #396] ; (8058ff8 ) 8058e6a: 2200 movs r2, #0 8058e6c: 601a str r2, [r3, #0] NeedFreq = false; 8058e6e: 4b66 ldr r3, [pc, #408] ; (8059008 ) 8058e70: 2200 movs r2, #0 8058e72: 701a strb r2, [r3, #0] AvgCnt = 0; 8058e74: 4b65 ldr r3, [pc, #404] ; (805900c ) 8058e76: 2200 movs r2, #0 8058e78: 601a str r2, [r3, #0] MeanCnt = 0; 8058e7a: 4b65 ldr r3, [pc, #404] ; (8059010 ) 8058e7c: 2200 movs r2, #0 8058e7e: 601a str r2, [r3, #0] CNT_MEAN_FREQ = 0; 8058e80: 4b64 ldr r3, [pc, #400] ; (8059014 ) 8058e82: 2200 movs r2, #0 8058e84: 601a str r2, [r3, #0] MEAN_FREQ = 0.0f; 8058e86: 4b64 ldr r3, [pc, #400] ; (8059018 ) 8058e88: f04f 0200 mov.w r2, #0 8058e8c: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 3); 8058e8e: 2103 movs r1, #3 8058e90: 4862 ldr r0, [pc, #392] ; (805901c ) 8058e92: ed9f 0a63 vldr s0, [pc, #396] ; 8059020 8058e96: f070 ff51 bl 80c9d3c arm_fill_f32(0.0f, peakAVS, 3); 8058e9a: 2103 movs r1, #3 8058e9c: 4861 ldr r0, [pc, #388] ; (8059024 ) 8058e9e: ed9f 0a60 vldr s0, [pc, #384] ; 8059020 8058ea2: f070 ff4b bl 80c9d3c arm_fill_f32(0.0f, &ACC_PEAK_WR(0), 512 * 6u); 8058ea6: f44f 6140 mov.w r1, #3072 ; 0xc00 8058eaa: 485f ldr r0, [pc, #380] ; (8059028 ) 8058eac: ed9f 0a5c vldr s0, [pc, #368] ; 8059020 8058eb0: f070 ff44 bl 80c9d3c NSamples = 0xffffffff; 8058eb4: 4b5d ldr r3, [pc, #372] ; (805902c ) 8058eb6: f04f 32ff mov.w r2, #4294967295 8058eba: 601a str r2, [r3, #0] timeRelax = 48; 8058ebc: 4b47 ldr r3, [pc, #284] ; (8058fdc ) 8058ebe: 2230 movs r2, #48 ; 0x30 8058ec0: 601a str r2, [r3, #0] 8058ec2: e00d b.n 8058ee0 } else { if(Stability <= (Nr * 4)) 8058ec4: 4b4b ldr r3, [pc, #300] ; (8058ff4 ) 8058ec6: 881b ldrh r3, [r3, #0] 8058ec8: b29b uxth r3, r3 8058eca: 009b lsls r3, r3, #2 8058ecc: 461a mov r2, r3 8058ece: 4b4a ldr r3, [pc, #296] ; (8058ff8 ) 8058ed0: 681b ldr r3, [r3, #0] 8058ed2: 429a cmp r2, r3 8058ed4: d304 bcc.n 8058ee0 Stability++; 8058ed6: 4b48 ldr r3, [pc, #288] ; (8058ff8 ) 8058ed8: 681b ldr r3, [r3, #0] 8058eda: 3301 adds r3, #1 8058edc: 4a46 ldr r2, [pc, #280] ; (8058ff8 ) 8058ede: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) // åñëè àâòîóñèëåíèå íîðì 8058ee0: 4b48 ldr r3, [pc, #288] ; (8059004 ) 8058ee2: 781b ldrb r3, [r3, #0] 8058ee4: b2db uxtb r3, r3 8058ee6: 2b00 cmp r3, #0 8058ee8: f041 8364 bne.w 805a5b4 8058eec: 4b41 ldr r3, [pc, #260] ; (8058ff4 ) 8058eee: 881b ldrh r3, [r3, #0] 8058ef0: b29b uxth r3, r3 8058ef2: 009b lsls r3, r3, #2 8058ef4: 461a mov r2, r3 8058ef6: 4b40 ldr r3, [pc, #256] ; (8058ff8 ) 8058ef8: 681b ldr r3, [r3, #0] 8058efa: 429a cmp r2, r3 8058efc: f081 835a bcs.w 805a5b4 { fNrm = 1.0f / (float32_t) (Ns >> 1); 8058f00: 4b3b ldr r3, [pc, #236] ; (8058ff0 ) 8058f02: 681b ldr r3, [r3, #0] 8058f04: 085b lsrs r3, r3, #1 8058f06: ee07 3a90 vmov s15, r3 8058f0a: eeb8 7a67 vcvt.f32.u32 s14, s15 8058f0e: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8058f12: eec6 7a87 vdiv.f32 s15, s13, s14 8058f16: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8058f1a: 4b45 ldr r3, [pc, #276] ; (8059030 ) 8058f1c: edd3 7a00 vldr s15, [r3] 8058f20: eeb7 7ae7 vcvt.f64.f32 d7, s15 8058f24: ed9f 6b24 vldr d6, [pc, #144] ; 8058fb8 8058f28: ee27 7b06 vmul.f64 d7, d7, d6 8058f2c: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 8058f30: 2300 movs r3, #0 8058f32: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058f36: e026 b.n 8058f86 { Buff64[i] = (float64_t) In16[i].lg; 8058f38: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058f3c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058f40: 492e ldr r1, [pc, #184] ; (8058ffc ) 8058f42: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8058f46: ee07 2a90 vmov s15, r2 8058f4a: eeb8 7b67 vcvt.f64.u32 d7, s15 8058f4e: 4a39 ldr r2, [pc, #228] ; (8059034 ) 8058f50: 00db lsls r3, r3, #3 8058f52: 4413 add r3, r2 8058f54: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 8058f58: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058f5c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058f60: 4934 ldr r1, [pc, #208] ; (8059034 ) 8058f62: 00d2 lsls r2, r2, #3 8058f64: 440a add r2, r1 8058f66: ed92 6b00 vldr d6, [r2] 8058f6a: ed97 7b82 vldr d7, [r7, #520] ; 0x208 8058f6e: ee26 7b07 vmul.f64 d7, d6, d7 8058f72: 4a30 ldr r2, [pc, #192] ; (8059034 ) 8058f74: 00db lsls r3, r3, #3 8058f76: 4413 add r3, r2 8058f78: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 8058f7c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8058f80: 3301 adds r3, #1 8058f82: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058f86: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8058f8a: 4b19 ldr r3, [pc, #100] ; (8058ff0 ) 8058f8c: 681b ldr r3, [r3, #0] 8058f8e: 429a cmp r2, r3 8058f90: d3d2 bcc.n 8058f38 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 8058f92: 4b17 ldr r3, [pc, #92] ; (8058ff0 ) 8058f94: 681b ldr r3, [r3, #0] 8058f96: 4a27 ldr r2, [pc, #156] ; (8059034 ) 8058f98: 4926 ldr r1, [pc, #152] ; (8059034 ) 8058f9a: 4827 ldr r0, [pc, #156] ; (8059038 ) 8058f9c: f071 f91e bl 80ca1dc /*******************************************************************************************************************************************/ /****************************************************** ACCELERATION *********************************************************************/ /*******************************************************************************************************************************************/ arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, &Buff64[8192], Ns); 8058fa0: 4b13 ldr r3, [pc, #76] ; (8058ff0 ) 8058fa2: 681b ldr r3, [r3, #0] 8058fa4: 4a25 ldr r2, [pc, #148] ; (805903c ) 8058fa6: 4923 ldr r1, [pc, #140] ; (8059034 ) 8058fa8: 4825 ldr r0, [pc, #148] ; (8059040 ) 8058faa: f071 f917 bl 80ca1dc for(i = 0; i < Ns; i++) { 8058fae: 2300 movs r3, #0 8058fb0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8058fb4: e05d b.n 8059072 8058fb6: bf00 nop 8058fb8: 18000018 .word 0x18000018 8058fbc: 3e980000 .word 0x3e980000 8058fc0: 20021015 .word 0x20021015 8058fc4: 20021011 .word 0x20021011 8058fc8: 20023e60 .word 0x20023e60 8058fcc: 200268d8 .word 0x200268d8 8058fd0: bf800000 .word 0xbf800000 8058fd4: 20021012 .word 0x20021012 8058fd8: 20020dac .word 0x20020dac 8058fdc: 20020d6c .word 0x20020d6c 8058fe0: 20021630 .word 0x20021630 8058fe4: 01741200 .word 0x01741200 8058fe8: 20020daf .word 0x20020daf 8058fec: e0001000 .word 0xe0001000 8058ff0: 20021cdc .word 0x20021cdc 8058ff4: 20021d20 .word 0x20021d20 8058ff8: 20020da8 .word 0x20020da8 8058ffc: 20058020 .word 0x20058020 8059000: 20021531 .word 0x20021531 8059004: 20020d7e .word 0x20020d7e 8059008: 20020d75 .word 0x20020d75 805900c: 20020d60 .word 0x20020d60 8059010: 20020db8 .word 0x20020db8 8059014: 20021620 .word 0x20021620 8059018: 2002161c .word 0x2002161c 805901c: 20021ce8 .word 0x20021ce8 8059020: 00000000 .word 0x00000000 8059024: 20021cfc .word 0x20021cfc 8059028: 64050000 .word 0x64050000 805902c: 20020d88 .word 0x20020d88 8059030: 20020080 .word 0x20020080 8059034: 20037ae0 .word 0x20037ae0 8059038: 20026564 .word 0x20026564 805903c: 20047ae0 .word 0x20047ae0 8059040: 20025f00 .word 0x20025f00 Out[i] = (float32_t) Buff64[i + 8192]; 8059044: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059048: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805904c: f502 5200 add.w r2, r2, #8192 ; 0x2000 8059050: 49b9 ldr r1, [pc, #740] ; (8059338 ) 8059052: 00d2 lsls r2, r2, #3 8059054: 440a add r2, r1 8059056: ed92 7b00 vldr d7, [r2] 805905a: eef7 7bc7 vcvt.f32.f64 s15, d7 805905e: 4ab7 ldr r2, [pc, #732] ; (805933c ) 8059060: 009b lsls r3, r3, #2 8059062: 4413 add r3, r2 8059064: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 8059068: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805906c: 3301 adds r3, #1 805906e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059072: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059076: 4bb2 ldr r3, [pc, #712] ; (8059340 ) 8059078: 681b ldr r3, [r3, #0] 805907a: 429a cmp r2, r3 805907c: d3e2 bcc.n 8059044 } if(pardata.SYG == FRAN) 805907e: 4bb1 ldr r3, [pc, #708] ; (8059344 ) 8059080: 781b ldrb r3, [r3, #0] 8059082: b2db uxtb r3, r3 8059084: 2b03 cmp r3, #3 8059086: d11a bne.n 80590be { memcpy((void *) &Freq_f32(AvgCnt * 8192u), (void *) Out, 32768); 8059088: 4baf ldr r3, [pc, #700] ; (8059348 ) 805908a: 681b ldr r3, [r3, #0] 805908c: 035b lsls r3, r3, #13 805908e: 009a lsls r2, r3, #2 8059090: 4bae ldr r3, [pc, #696] ; (805934c ) 8059092: 4413 add r3, r2 8059094: f44f 4200 mov.w r2, #32768 ; 0x8000 8059098: 49a8 ldr r1, [pc, #672] ; (805933c ) 805909a: 4618 mov r0, r3 805909c: f073 ffe5 bl 80cd06a AvgCnt++; 80590a0: 4ba9 ldr r3, [pc, #676] ; (8059348 ) 80590a2: 681b ldr r3, [r3, #0] 80590a4: 3301 adds r3, #1 80590a6: 4aa8 ldr r2, [pc, #672] ; (8059348 ) 80590a8: 6013 str r3, [r2, #0] if(AvgCnt >= NUM_SAMPLES) 80590aa: 4ba7 ldr r3, [pc, #668] ; (8059348 ) 80590ac: 681b ldr r3, [r3, #0] 80590ae: 2b0f cmp r3, #15 80590b0: d905 bls.n 80590be { AvgCnt = 0; 80590b2: 4ba5 ldr r3, [pc, #660] ; (8059348 ) 80590b4: 2200 movs r2, #0 80590b6: 601a str r2, [r3, #0] NeedFreq = true; 80590b8: 4ba5 ldr r3, [pc, #660] ; (8059350 ) 80590ba: 2201 movs r2, #1 80590bc: 701a strb r2, [r3, #0] } } switch(pardata.IVS[ACC]) 80590be: 4ba1 ldr r3, [pc, #644] ; (8059344 ) 80590c0: 789b ldrb r3, [r3, #2] 80590c2: b2db uxtb r3, r3 80590c4: 2b04 cmp r3, #4 80590c6: f200 80e7 bhi.w 8059298 80590ca: a201 add r2, pc, #4 ; (adr r2, 80590d0 ) 80590cc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80590d0: 080590e5 .word 0x080590e5 80590d4: 0805925d .word 0x0805925d 80590d8: 080590e5 .word 0x080590e5 80590dc: 080591c1 .word 0x080591c1 80590e0: 0805927f .word 0x0805927f { case PEAK: case PEAK_TO_PEAK: arm_min_f32(Out, Ns, &fn[0], &i); 80590e4: 4b96 ldr r3, [pc, #600] ; (8059340 ) 80590e6: 6819 ldr r1, [r3, #0] 80590e8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80590ec: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80590f0: 4892 ldr r0, [pc, #584] ; (805933c ) 80590f2: f070 ff63 bl 80c9fbc arm_max_f32(Out, Ns, &fn[1], &j); 80590f6: 4b92 ldr r3, [pc, #584] ; (8059340 ) 80590f8: 6819 ldr r1, [r3, #0] 80590fa: f507 70e6 add.w r0, r7, #460 ; 0x1cc 80590fe: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8059102: 1d1a adds r2, r3, #4 8059104: 4603 mov r3, r0 8059106: 488d ldr r0, [pc, #564] ; (805933c ) 8059108: f070 fff4 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805910c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059110: eef5 7ac0 vcmpe.f32 s15, #0.0 8059114: eef1 fa10 vmrs APSR_nzcv, fpscr 8059118: dd02 ble.n 8059120 805911a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805911e: e003 b.n 8059128 8059120: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059124: eef1 7a67 vneg.f32 s15, s15 8059128: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805912c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059130: eef5 7ac0 vcmpe.f32 s15, #0.0 8059134: eef1 fa10 vmrs APSR_nzcv, fpscr 8059138: dd02 ble.n 8059140 805913a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805913e: e003 b.n 8059148 8059140: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059144: eef1 7a67 vneg.f32 s15, s15 8059148: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 if(pardata.IVS[ACC] == PEAK) 805914c: 4b7d ldr r3, [pc, #500] ; (8059344 ) 805914e: 789b ldrb r3, [r3, #2] 8059150: b2db uxtb r3, r3 8059152: 2b00 cmp r3, #0 8059154: d109 bne.n 805916a arm_max_f32(fn, 2, &fval[ACC], &i); 8059156: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805915a: f107 02fc add.w r2, r7, #252 ; 0xfc 805915e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8059162: 2102 movs r1, #2 8059164: f070 ffc6 bl 80ca0f4 8059168: e021 b.n 80591ae else fval[ACC] = ABS(fn[0]) + ABS(fn[1]); 805916a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805916e: eef5 7ac0 vcmpe.f32 s15, #0.0 8059172: eef1 fa10 vmrs APSR_nzcv, fpscr 8059176: dd02 ble.n 805917e 8059178: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 805917c: e003 b.n 8059186 805917e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059182: eeb1 7a67 vneg.f32 s14, s15 8059186: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805918a: eef5 7ac0 vcmpe.f32 s15, #0.0 805918e: eef1 fa10 vmrs APSR_nzcv, fpscr 8059192: dd02 ble.n 805919a 8059194: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059198: e003 b.n 80591a2 805919a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805919e: eef1 7a67 vneg.f32 s15, s15 80591a2: ee77 7a27 vadd.f32 s15, s14, s15 80591a6: f107 03fc add.w r3, r7, #252 ; 0xfc 80591aa: edc3 7a00 vstr s15, [r3] arm_rms_f32(Out, Ns, &rms); 80591ae: 4b64 ldr r3, [pc, #400] ; (8059340 ) 80591b0: 681b ldr r3, [r3, #0] 80591b2: f507 7286 add.w r2, r7, #268 ; 0x10c 80591b6: 4619 mov r1, r3 80591b8: 4860 ldr r0, [pc, #384] ; (805933c ) 80591ba: f070 fe6d bl 80c9e98 break; 80591be: e06b b.n 8059298 case PEAK_FACTOR: arm_min_f32(Out, Ns, &fn[0], &i); 80591c0: 4b5f ldr r3, [pc, #380] ; (8059340 ) 80591c2: 6819 ldr r1, [r3, #0] 80591c4: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80591c8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80591cc: 485b ldr r0, [pc, #364] ; (805933c ) 80591ce: f070 fef5 bl 80c9fbc arm_max_f32(Out, Ns, &fn[1], &j); 80591d2: 4b5b ldr r3, [pc, #364] ; (8059340 ) 80591d4: 6819 ldr r1, [r3, #0] 80591d6: f507 70e6 add.w r0, r7, #460 ; 0x1cc 80591da: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80591de: 1d1a adds r2, r3, #4 80591e0: 4603 mov r3, r0 80591e2: 4856 ldr r0, [pc, #344] ; (805933c ) 80591e4: f070 ff86 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80591e8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80591ec: eef5 7ac0 vcmpe.f32 s15, #0.0 80591f0: eef1 fa10 vmrs APSR_nzcv, fpscr 80591f4: dd02 ble.n 80591fc 80591f6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80591fa: e003 b.n 8059204 80591fc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059200: eef1 7a67 vneg.f32 s15, s15 8059204: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8059208: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805920c: eef5 7ac0 vcmpe.f32 s15, #0.0 8059210: eef1 fa10 vmrs APSR_nzcv, fpscr 8059214: dd02 ble.n 805921c 8059216: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805921a: e003 b.n 8059224 805921c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059220: eef1 7a67 vneg.f32 s15, s15 8059224: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[ACC], &i); 8059228: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805922c: f107 02ec add.w r2, r7, #236 ; 0xec 8059230: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8059234: 2102 movs r1, #2 8059236: f070 ff5d bl 80ca0f4 //fpeak[ACC] /= pardata.IKK; arm_power_f32(Out, Ns, &fval[ACC]); 805923a: 4b41 ldr r3, [pc, #260] ; (8059340 ) 805923c: 681b ldr r3, [r3, #0] 805923e: f107 02fc add.w r2, r7, #252 ; 0xfc 8059242: 4619 mov r1, r3 8059244: 483d ldr r0, [pc, #244] ; (805933c ) 8059246: f070 fe7f bl 80c9f48 arm_rms_f32(Out, Ns, &rms); 805924a: 4b3d ldr r3, [pc, #244] ; (8059340 ) 805924c: 681b ldr r3, [r3, #0] 805924e: f507 7286 add.w r2, r7, #268 ; 0x10c 8059252: 4619 mov r1, r3 8059254: 4839 ldr r0, [pc, #228] ; (805933c ) 8059256: f070 fe1f bl 80c9e98 break; 805925a: e01d b.n 8059298 case RMS: arm_power_f32(Out, Ns, &fval[ACC]); 805925c: 4b38 ldr r3, [pc, #224] ; (8059340 ) 805925e: 681b ldr r3, [r3, #0] 8059260: f107 02fc add.w r2, r7, #252 ; 0xfc 8059264: 4619 mov r1, r3 8059266: 4835 ldr r0, [pc, #212] ; (805933c ) 8059268: f070 fe6e bl 80c9f48 arm_rms_f32(Out, Ns, &rms); 805926c: 4b34 ldr r3, [pc, #208] ; (8059340 ) 805926e: 681b ldr r3, [r3, #0] 8059270: f507 7286 add.w r2, r7, #268 ; 0x10c 8059274: 4619 mov r1, r3 8059276: 4831 ldr r0, [pc, #196] ; (805933c ) 8059278: f070 fe0e bl 80c9e98 break; 805927c: e00c b.n 8059298 case EXCESS: fval[ACC] = CalcExcess(Out, Ns); 805927e: 4b30 ldr r3, [pc, #192] ; (8059340 ) 8059280: 681b ldr r3, [r3, #0] 8059282: 4619 mov r1, r3 8059284: 482d ldr r0, [pc, #180] ; (805933c ) 8059286: f00d ff1b bl 80670c0 805928a: eef0 7a40 vmov.f32 s15, s0 805928e: f107 03fc add.w r3, r7, #252 ; 0xfc 8059292: edc3 7a00 vstr s15, [r3] break; 8059296: bf00 nop } /*******************************************************************************************************************************************/ /****************************************************** VELOCITY *************************************************************************/ /*******************************************************************************************************************************************/ arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, &Buff64[8192], Ns); 8059298: 4b29 ldr r3, [pc, #164] ; (8059340 ) 805929a: 681b ldr r3, [r3, #0] 805929c: 4a2d ldr r2, [pc, #180] ; (8059354 ) 805929e: 4926 ldr r1, [pc, #152] ; (8059338 ) 80592a0: 482d ldr r0, [pc, #180] ; (8059358 ) 80592a2: f070 ff9b bl 80ca1dc arm_biquad_cascade_df2T_f64(&S_HP_VEL, &Buff64[8192], &Buff64[8192], Ns); 80592a6: 4b26 ldr r3, [pc, #152] ; (8059340 ) 80592a8: 681b ldr r3, [r3, #0] 80592aa: 4a2a ldr r2, [pc, #168] ; (8059354 ) 80592ac: 4929 ldr r1, [pc, #164] ; (8059354 ) 80592ae: 482b ldr r0, [pc, #172] ; (805935c ) 80592b0: f070 ff94 bl 80ca1dc for(i = 0; i < Ns; i++) 80592b4: 2300 movs r3, #0 80592b6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80592ba: e016 b.n 80592ea Out[i] = (float32_t) Buff64[i + 8192]; 80592bc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80592c0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80592c4: f502 5200 add.w r2, r2, #8192 ; 0x2000 80592c8: 491b ldr r1, [pc, #108] ; (8059338 ) 80592ca: 00d2 lsls r2, r2, #3 80592cc: 440a add r2, r1 80592ce: ed92 7b00 vldr d7, [r2] 80592d2: eef7 7bc7 vcvt.f32.f64 s15, d7 80592d6: 4a19 ldr r2, [pc, #100] ; (805933c ) 80592d8: 009b lsls r3, r3, #2 80592da: 4413 add r3, r2 80592dc: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 80592e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80592e4: 3301 adds r3, #1 80592e6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80592ea: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80592ee: 4b14 ldr r3, [pc, #80] ; (8059340 ) 80592f0: 681b ldr r3, [r3, #0] 80592f2: 429a cmp r2, r3 80592f4: d3e2 bcc.n 80592bc fs = 249.135f; //311.0f; 80592f6: 4b1a ldr r3, [pc, #104] ; (8059360 ) 80592f8: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 80592fc: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8059300: 4b0f ldr r3, [pc, #60] ; (8059340 ) 8059302: 681b ldr r3, [r3, #0] 8059304: 461a mov r2, r3 8059306: 490d ldr r1, [pc, #52] ; (805933c ) 8059308: eeb0 0a67 vmov.f32 s0, s15 805930c: 480b ldr r0, [pc, #44] ; (805933c ) 805930e: f071 fa1b bl 80ca748 switch(pardata.IVS[VEL]) 8059312: 4b0c ldr r3, [pc, #48] ; (8059344 ) 8059314: 78db ldrb r3, [r3, #3] 8059316: b2db uxtb r3, r3 8059318: 2b04 cmp r3, #4 805931a: f200 80eb bhi.w 80594f4 805931e: a201 add r2, pc, #4 ; (adr r2, 8059324 ) 8059320: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8059324: 08059365 .word 0x08059365 8059328: 080594c7 .word 0x080594c7 805932c: 08059365 .word 0x08059365 8059330: 08059435 .word 0x08059435 8059334: 080594db .word 0x080594db 8059338: 20037ae0 .word 0x20037ae0 805933c: 20008000 .word 0x20008000 8059340: 20021cdc .word 0x20021cdc 8059344: 20023e60 .word 0x20023e60 8059348: 20020d60 .word 0x20020d60 805934c: 64080000 .word 0x64080000 8059350: 20020d75 .word 0x20020d75 8059354: 20047ae0 .word 0x20047ae0 8059358: 20026170 .word 0x20026170 805935c: 20025e78 .word 0x20025e78 8059360: 4379228f .word 0x4379228f { case PEAK: case PEAK_TO_PEAK: arm_min_f32(Out, Ns, &fn[0], &i); 8059364: 4bc0 ldr r3, [pc, #768] ; (8059668 ) 8059366: 6819 ldr r1, [r3, #0] 8059368: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805936c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059370: 48be ldr r0, [pc, #760] ; (805966c ) 8059372: f070 fe23 bl 80c9fbc arm_max_f32(Out, Ns, &fn[1], &j); 8059376: 4bbc ldr r3, [pc, #752] ; (8059668 ) 8059378: 6819 ldr r1, [r3, #0] 805937a: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805937e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8059382: 1d1a adds r2, r3, #4 8059384: 4603 mov r3, r0 8059386: 48b9 ldr r0, [pc, #740] ; (805966c ) 8059388: f070 feb4 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805938c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059390: eef5 7ac0 vcmpe.f32 s15, #0.0 8059394: eef1 fa10 vmrs APSR_nzcv, fpscr 8059398: dd02 ble.n 80593a0 805939a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805939e: e003 b.n 80593a8 80593a0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80593a4: eef1 7a67 vneg.f32 s15, s15 80593a8: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80593ac: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80593b0: eef5 7ac0 vcmpe.f32 s15, #0.0 80593b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80593b8: dd02 ble.n 80593c0 80593ba: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80593be: e003 b.n 80593c8 80593c0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80593c4: eef1 7a67 vneg.f32 s15, s15 80593c8: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 if(pardata.IVS[VEL] == PEAK) 80593cc: 4ba8 ldr r3, [pc, #672] ; (8059670 ) 80593ce: 78db ldrb r3, [r3, #3] 80593d0: b2db uxtb r3, r3 80593d2: 2b00 cmp r3, #0 80593d4: d10b bne.n 80593ee arm_max_f32(fn, 2, &fval[VEL], &i); 80593d6: f507 71e8 add.w r1, r7, #464 ; 0x1d0 80593da: f107 03fc add.w r3, r7, #252 ; 0xfc 80593de: 1d1a adds r2, r3, #4 80593e0: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80593e4: 460b mov r3, r1 80593e6: 2102 movs r1, #2 80593e8: f070 fe84 bl 80ca0f4 else fval[VEL] = ABS(fn[0]) + ABS(fn[1]); break; 80593ec: e082 b.n 80594f4 else fval[VEL] = ABS(fn[0]) + ABS(fn[1]); 80593ee: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80593f2: eef5 7ac0 vcmpe.f32 s15, #0.0 80593f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80593fa: dd02 ble.n 8059402 80593fc: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8059400: e003 b.n 805940a 8059402: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059406: eeb1 7a67 vneg.f32 s14, s15 805940a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805940e: eef5 7ac0 vcmpe.f32 s15, #0.0 8059412: eef1 fa10 vmrs APSR_nzcv, fpscr 8059416: dd02 ble.n 805941e 8059418: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805941c: e003 b.n 8059426 805941e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059422: eef1 7a67 vneg.f32 s15, s15 8059426: ee77 7a27 vadd.f32 s15, s14, s15 805942a: f107 03fc add.w r3, r7, #252 ; 0xfc 805942e: edc3 7a01 vstr s15, [r3, #4] break; 8059432: e05f b.n 80594f4 case PEAK_FACTOR: arm_min_f32(Out, Ns, &fn[0], &i); 8059434: 4b8c ldr r3, [pc, #560] ; (8059668 ) 8059436: 6819 ldr r1, [r3, #0] 8059438: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805943c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059440: 488a ldr r0, [pc, #552] ; (805966c ) 8059442: f070 fdbb bl 80c9fbc arm_max_f32(Out, Ns, &fn[1], &j); 8059446: 4b88 ldr r3, [pc, #544] ; (8059668 ) 8059448: 6819 ldr r1, [r3, #0] 805944a: f507 70e6 add.w r0, r7, #460 ; 0x1cc 805944e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8059452: 1d1a adds r2, r3, #4 8059454: 4603 mov r3, r0 8059456: 4885 ldr r0, [pc, #532] ; (805966c ) 8059458: f070 fe4c bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805945c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059460: eef5 7ac0 vcmpe.f32 s15, #0.0 8059464: eef1 fa10 vmrs APSR_nzcv, fpscr 8059468: dd02 ble.n 8059470 805946a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805946e: e003 b.n 8059478 8059470: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059474: eef1 7a67 vneg.f32 s15, s15 8059478: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805947c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059480: eef5 7ac0 vcmpe.f32 s15, #0.0 8059484: eef1 fa10 vmrs APSR_nzcv, fpscr 8059488: dd02 ble.n 8059490 805948a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805948e: e003 b.n 8059498 8059490: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059494: eef1 7a67 vneg.f32 s15, s15 8059498: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[VEL], &i); 805949c: f507 71e8 add.w r1, r7, #464 ; 0x1d0 80594a0: f107 03ec add.w r3, r7, #236 ; 0xec 80594a4: 1d1a adds r2, r3, #4 80594a6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80594aa: 460b mov r3, r1 80594ac: 2102 movs r1, #2 80594ae: f070 fe21 bl 80ca0f4 arm_power_f32(Out, Ns, &fval[VEL]); 80594b2: 4b6d ldr r3, [pc, #436] ; (8059668 ) 80594b4: 6819 ldr r1, [r3, #0] 80594b6: f107 03fc add.w r3, r7, #252 ; 0xfc 80594ba: 3304 adds r3, #4 80594bc: 461a mov r2, r3 80594be: 486b ldr r0, [pc, #428] ; (805966c ) 80594c0: f070 fd42 bl 80c9f48 break; 80594c4: e016 b.n 80594f4 case RMS: arm_power_f32(Out, Ns, &fval[VEL]); 80594c6: 4b68 ldr r3, [pc, #416] ; (8059668 ) 80594c8: 6819 ldr r1, [r3, #0] 80594ca: f107 03fc add.w r3, r7, #252 ; 0xfc 80594ce: 3304 adds r3, #4 80594d0: 461a mov r2, r3 80594d2: 4866 ldr r0, [pc, #408] ; (805966c ) 80594d4: f070 fd38 bl 80c9f48 break; 80594d8: e00c b.n 80594f4 case EXCESS: fval[VEL] = CalcExcess(Out, Ns); 80594da: 4b63 ldr r3, [pc, #396] ; (8059668 ) 80594dc: 681b ldr r3, [r3, #0] 80594de: 4619 mov r1, r3 80594e0: 4862 ldr r0, [pc, #392] ; (805966c ) 80594e2: f00d fded bl 80670c0 80594e6: eef0 7a40 vmov.f32 s15, s0 80594ea: f107 03fc add.w r3, r7, #252 ; 0xfc 80594ee: edc3 7a01 vstr s15, [r3, #4] break; 80594f2: bf00 nop } /*******************************************************************************************************************************************/ /****************************************************** DISPLACEMENT *********************************************************************/ /*******************************************************************************************************************************************/ arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, &Buff64[8192], Ns); 80594f4: 4b5c ldr r3, [pc, #368] ; (8059668 ) 80594f6: 681b ldr r3, [r3, #0] 80594f8: 4a5e ldr r2, [pc, #376] ; (8059674 ) 80594fa: 495f ldr r1, [pc, #380] ; (8059678 ) 80594fc: 485f ldr r0, [pc, #380] ; (805967c ) 80594fe: f070 fe6d bl 80ca1dc arm_biquad_cascade_df2T_f64(&S_HP_DIS, &Buff64[8192], &Buff64[8192], Ns); 8059502: 4b59 ldr r3, [pc, #356] ; (8059668 ) 8059504: 681b ldr r3, [r3, #0] 8059506: 4a5b ldr r2, [pc, #364] ; (8059674 ) 8059508: 495a ldr r1, [pc, #360] ; (8059674 ) 805950a: 485d ldr r0, [pc, #372] ; (8059680 ) 805950c: f070 fe66 bl 80ca1dc for(i = 0; i < Ns; i++) 8059510: 2300 movs r3, #0 8059512: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059516: e016 b.n 8059546 Out[i] = (float32_t) Buff64[i + 8192]; 8059518: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805951c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059520: f502 5200 add.w r2, r2, #8192 ; 0x2000 8059524: 4954 ldr r1, [pc, #336] ; (8059678 ) 8059526: 00d2 lsls r2, r2, #3 8059528: 440a add r2, r1 805952a: ed92 7b00 vldr d7, [r2] 805952e: eef7 7bc7 vcvt.f32.f64 s15, d7 8059532: 4a4e ldr r2, [pc, #312] ; (805966c ) 8059534: 009b lsls r3, r3, #2 8059536: 4413 add r3, r2 8059538: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 805953c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059540: 3301 adds r3, #1 8059542: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059546: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805954a: 4b47 ldr r3, [pc, #284] ; (8059668 ) 805954c: 681b ldr r3, [r3, #0] 805954e: 429a cmp r2, r3 8059550: d3e2 bcc.n 8059518 fs = 61400.171f; //96600.0f 8059552: 4b4c ldr r3, [pc, #304] ; (8059684 ) 8059554: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 arm_scale_f32(Out, fs, Out, Ns); 8059558: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805955c: 4b42 ldr r3, [pc, #264] ; (8059668 ) 805955e: 681b ldr r3, [r3, #0] 8059560: 461a mov r2, r3 8059562: 4942 ldr r1, [pc, #264] ; (805966c ) 8059564: eeb0 0a67 vmov.f32 s0, s15 8059568: 4840 ldr r0, [pc, #256] ; (805966c ) 805956a: f071 f8ed bl 80ca748 switch(pardata.IVS[DIS]) 805956e: 4b40 ldr r3, [pc, #256] ; (8059670 ) 8059570: 791b ldrb r3, [r3, #4] 8059572: b2db uxtb r3, r3 8059574: 2b04 cmp r3, #4 8059576: f200 80e8 bhi.w 805974a 805957a: a201 add r2, pc, #4 ; (adr r2, 8059580 ) 805957c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8059580: 08059595 .word 0x08059595 8059584: 0805971d .word 0x0805971d 8059588: 08059595 .word 0x08059595 805958c: 08059689 .word 0x08059689 8059590: 08059731 .word 0x08059731 { case PEAK: case PEAK_TO_PEAK: arm_min_f32(Out, Ns, &fn[0], &i); 8059594: 4b34 ldr r3, [pc, #208] ; (8059668 ) 8059596: 6819 ldr r1, [r3, #0] 8059598: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805959c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80595a0: 4832 ldr r0, [pc, #200] ; (805966c ) 80595a2: f070 fd0b bl 80c9fbc arm_max_f32(Out, Ns, &fn[1], &j); 80595a6: 4b30 ldr r3, [pc, #192] ; (8059668 ) 80595a8: 6819 ldr r1, [r3, #0] 80595aa: f507 70e6 add.w r0, r7, #460 ; 0x1cc 80595ae: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80595b2: 1d1a adds r2, r3, #4 80595b4: 4603 mov r3, r0 80595b6: 482d ldr r0, [pc, #180] ; (805966c ) 80595b8: f070 fd9c bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80595bc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80595c0: eef5 7ac0 vcmpe.f32 s15, #0.0 80595c4: eef1 fa10 vmrs APSR_nzcv, fpscr 80595c8: dd02 ble.n 80595d0 80595ca: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80595ce: e003 b.n 80595d8 80595d0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80595d4: eef1 7a67 vneg.f32 s15, s15 80595d8: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80595dc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80595e0: eef5 7ac0 vcmpe.f32 s15, #0.0 80595e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80595e8: dd02 ble.n 80595f0 80595ea: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80595ee: e003 b.n 80595f8 80595f0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80595f4: eef1 7a67 vneg.f32 s15, s15 80595f8: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 if(pardata.IVS[DIS] == PEAK) 80595fc: 4b1c ldr r3, [pc, #112] ; (8059670 ) 80595fe: 791b ldrb r3, [r3, #4] 8059600: b2db uxtb r3, r3 8059602: 2b00 cmp r3, #0 8059604: d10c bne.n 8059620 arm_max_f32(fn, 2, &fval[DIS], &i); 8059606: f507 71e8 add.w r1, r7, #464 ; 0x1d0 805960a: f107 03fc add.w r3, r7, #252 ; 0xfc 805960e: f103 0208 add.w r2, r3, #8 8059612: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8059616: 460b mov r3, r1 8059618: 2102 movs r1, #2 805961a: f070 fd6b bl 80ca0f4 else fval[DIS] = ABS(fn[0]) + ABS(fn[1]); break; 805961e: e094 b.n 805974a else fval[DIS] = ABS(fn[0]) + ABS(fn[1]); 8059620: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059624: eef5 7ac0 vcmpe.f32 s15, #0.0 8059628: eef1 fa10 vmrs APSR_nzcv, fpscr 805962c: dd02 ble.n 8059634 805962e: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8059632: e003 b.n 805963c 8059634: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059638: eeb1 7a67 vneg.f32 s14, s15 805963c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059640: eef5 7ac0 vcmpe.f32 s15, #0.0 8059644: eef1 fa10 vmrs APSR_nzcv, fpscr 8059648: dd02 ble.n 8059650 805964a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805964e: e003 b.n 8059658 8059650: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059654: eef1 7a67 vneg.f32 s15, s15 8059658: ee77 7a27 vadd.f32 s15, s14, s15 805965c: f107 03fc add.w r3, r7, #252 ; 0xfc 8059660: edc3 7a02 vstr s15, [r3, #8] break; 8059664: e071 b.n 805974a 8059666: bf00 nop 8059668: 20021cdc .word 0x20021cdc 805966c: 20008000 .word 0x20008000 8059670: 20023e60 .word 0x20023e60 8059674: 20047ae0 .word 0x20047ae0 8059678: 20037ae0 .word 0x20037ae0 805967c: 200278c4 .word 0x200278c4 8059680: 20027950 .word 0x20027950 8059684: 476fd82c .word 0x476fd82c case PEAK_FACTOR: arm_min_f32(Out, Ns, &fn[0], &i); 8059688: 4bc7 ldr r3, [pc, #796] ; (80599a8 ) 805968a: 6819 ldr r1, [r3, #0] 805968c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8059690: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059694: 48c5 ldr r0, [pc, #788] ; (80599ac ) 8059696: f070 fc91 bl 80c9fbc arm_max_f32(Out, Ns, &fn[1], &j); 805969a: 4bc3 ldr r3, [pc, #780] ; (80599a8 ) 805969c: 6819 ldr r1, [r3, #0] 805969e: f507 70e6 add.w r0, r7, #460 ; 0x1cc 80596a2: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80596a6: 1d1a adds r2, r3, #4 80596a8: 4603 mov r3, r0 80596aa: 48c0 ldr r0, [pc, #768] ; (80599ac ) 80596ac: f070 fd22 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80596b0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80596b4: eef5 7ac0 vcmpe.f32 s15, #0.0 80596b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80596bc: dd02 ble.n 80596c4 80596be: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80596c2: e003 b.n 80596cc 80596c4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80596c8: eef1 7a67 vneg.f32 s15, s15 80596cc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80596d0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80596d4: eef5 7ac0 vcmpe.f32 s15, #0.0 80596d8: eef1 fa10 vmrs APSR_nzcv, fpscr 80596dc: dd02 ble.n 80596e4 80596de: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80596e2: e003 b.n 80596ec 80596e4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80596e8: eef1 7a67 vneg.f32 s15, s15 80596ec: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fpeak[DIS], &i); 80596f0: f507 71e8 add.w r1, r7, #464 ; 0x1d0 80596f4: f107 03ec add.w r3, r7, #236 ; 0xec 80596f8: f103 0208 add.w r2, r3, #8 80596fc: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8059700: 460b mov r3, r1 8059702: 2102 movs r1, #2 8059704: f070 fcf6 bl 80ca0f4 arm_power_f32(Out, Ns, &fval[DIS]); 8059708: 4ba7 ldr r3, [pc, #668] ; (80599a8 ) 805970a: 6819 ldr r1, [r3, #0] 805970c: f107 03fc add.w r3, r7, #252 ; 0xfc 8059710: 3308 adds r3, #8 8059712: 461a mov r2, r3 8059714: 48a5 ldr r0, [pc, #660] ; (80599ac ) 8059716: f070 fc17 bl 80c9f48 break; 805971a: e016 b.n 805974a case RMS: arm_power_f32(Out, Ns, &fval[DIS]); 805971c: 4ba2 ldr r3, [pc, #648] ; (80599a8 ) 805971e: 6819 ldr r1, [r3, #0] 8059720: f107 03fc add.w r3, r7, #252 ; 0xfc 8059724: 3308 adds r3, #8 8059726: 461a mov r2, r3 8059728: 48a0 ldr r0, [pc, #640] ; (80599ac ) 805972a: f070 fc0d bl 80c9f48 break; 805972e: e00c b.n 805974a case EXCESS: fval[DIS] = CalcExcess(Out, Ns); 8059730: 4b9d ldr r3, [pc, #628] ; (80599a8 ) 8059732: 681b ldr r3, [r3, #0] 8059734: 4619 mov r1, r3 8059736: 489d ldr r0, [pc, #628] ; (80599ac ) 8059738: f00d fcc2 bl 80670c0 805973c: eef0 7a40 vmov.f32 s15, s0 8059740: f107 03fc add.w r3, r7, #252 ; 0xfc 8059744: edc3 7a02 vstr s15, [r3, #8] break; 8059748: bf00 nop } //***************************************************************************************************************************************** //***************************************************************************************************************************************** if(timeRelax) 805974a: 4b99 ldr r3, [pc, #612] ; (80599b0 ) 805974c: 681b ldr r3, [r3, #0] 805974e: 2b00 cmp r3, #0 8059750: d027 beq.n 80597a2 { timeRelax--; 8059752: 4b97 ldr r3, [pc, #604] ; (80599b0 ) 8059754: 681b ldr r3, [r3, #0] 8059756: 3b01 subs r3, #1 8059758: 4a95 ldr r2, [pc, #596] ; (80599b0 ) 805975a: 6013 str r3, [r2, #0] for(i = 0; i < 3; i++) 805975c: 2300 movs r3, #0 805975e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059762: e018 b.n 8059796 { skz[i] = -1.0f; 8059764: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059768: 4a92 ldr r2, [pc, #584] ; (80599b4 ) 805976a: 009b lsls r3, r3, #2 805976c: 4413 add r3, r2 805976e: 4a92 ldr r2, [pc, #584] ; (80599b8 ) 8059770: 601a str r2, [r3, #0] LinToLog(&skz[i], &skzDB[i]); 8059772: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059776: 009b lsls r3, r3, #2 8059778: 4a8e ldr r2, [pc, #568] ; (80599b4 ) 805977a: 1898 adds r0, r3, r2 805977c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059780: 009b lsls r3, r3, #2 8059782: 4a8e ldr r2, [pc, #568] ; (80599bc ) 8059784: 4413 add r3, r2 8059786: 4619 mov r1, r3 8059788: f00b fbaa bl 8064ee0 for(i = 0; i < 3; i++) 805978c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059790: 3301 adds r3, #1 8059792: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059796: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805979a: 2b02 cmp r3, #2 805979c: d9e2 bls.n 8059764 805979e: f000 bef0 b.w 805a582 } } else { for(i = 0; i < 3; i++) 80597a2: 2300 movs r3, #0 80597a4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80597a8: e0e2 b.n 8059970 { switch(pardata.IVS[i]) 80597aa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80597ae: 4a84 ldr r2, [pc, #528] ; (80599c0 ) 80597b0: 4413 add r3, r2 80597b2: 789b ldrb r3, [r3, #2] 80597b4: b2db uxtb r3, r3 80597b6: 2b04 cmp r3, #4 80597b8: f200 80d5 bhi.w 8059966 80597bc: a201 add r2, pc, #4 ; (adr r2, 80597c4 ) 80597be: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80597c2: bf00 nop 80597c4: 080597d9 .word 0x080597d9 80597c8: 08059935 .word 0x08059935 80597cc: 080597d9 .word 0x080597d9 80597d0: 080598c1 .word 0x080598c1 80597d4: 0805981f .word 0x0805981f { case PEAK: case PEAK_TO_PEAK: if(peakAVS[i] < fval[i]) { 80597d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80597dc: 4a79 ldr r2, [pc, #484] ; (80599c4 ) 80597de: 009b lsls r3, r3, #2 80597e0: 4413 add r3, r2 80597e2: ed93 7a00 vldr s14, [r3] 80597e6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80597ea: f107 02fc add.w r2, r7, #252 ; 0xfc 80597ee: 009b lsls r3, r3, #2 80597f0: 4413 add r3, r2 80597f2: edd3 7a00 vldr s15, [r3] 80597f6: eeb4 7ae7 vcmpe.f32 s14, s15 80597fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80597fe: d400 bmi.n 8059802 peakAVS[i] = fval[i]; } break; 8059800: e0b1 b.n 8059966 peakAVS[i] = fval[i]; 8059802: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059806: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805980a: f107 01fc add.w r1, r7, #252 ; 0xfc 805980e: 0092 lsls r2, r2, #2 8059810: 440a add r2, r1 8059812: 6812 ldr r2, [r2, #0] 8059814: 496b ldr r1, [pc, #428] ; (80599c4 ) 8059816: 009b lsls r3, r3, #2 8059818: 440b add r3, r1 805981a: 601a str r2, [r3, #0] break; 805981c: e0a3 b.n 8059966 case EXCESS: if(ABS(peakAVS[i]) < ABS(fval[i])) { 805981e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059822: 4a68 ldr r2, [pc, #416] ; (80599c4 ) 8059824: 009b lsls r3, r3, #2 8059826: 4413 add r3, r2 8059828: edd3 7a00 vldr s15, [r3] 805982c: eef5 7ac0 vcmpe.f32 s15, #0.0 8059830: eef1 fa10 vmrs APSR_nzcv, fpscr 8059834: dd07 ble.n 8059846 8059836: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805983a: 4a62 ldr r2, [pc, #392] ; (80599c4 ) 805983c: 009b lsls r3, r3, #2 805983e: 4413 add r3, r2 8059840: ed93 7a00 vldr s14, [r3] 8059844: e008 b.n 8059858 8059846: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805984a: 4a5e ldr r2, [pc, #376] ; (80599c4 ) 805984c: 009b lsls r3, r3, #2 805984e: 4413 add r3, r2 8059850: edd3 7a00 vldr s15, [r3] 8059854: eeb1 7a67 vneg.f32 s14, s15 8059858: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805985c: f107 02fc add.w r2, r7, #252 ; 0xfc 8059860: 009b lsls r3, r3, #2 8059862: 4413 add r3, r2 8059864: edd3 7a00 vldr s15, [r3] 8059868: eef5 7ac0 vcmpe.f32 s15, #0.0 805986c: eef1 fa10 vmrs APSR_nzcv, fpscr 8059870: dd08 ble.n 8059884 8059872: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059876: f107 02fc add.w r2, r7, #252 ; 0xfc 805987a: 009b lsls r3, r3, #2 805987c: 4413 add r3, r2 805987e: edd3 7a00 vldr s15, [r3] 8059882: e009 b.n 8059898 8059884: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059888: f107 02fc add.w r2, r7, #252 ; 0xfc 805988c: 009b lsls r3, r3, #2 805988e: 4413 add r3, r2 8059890: edd3 7a00 vldr s15, [r3] 8059894: eef1 7a67 vneg.f32 s15, s15 8059898: eeb4 7ae7 vcmpe.f32 s14, s15 805989c: eef1 fa10 vmrs APSR_nzcv, fpscr 80598a0: d400 bmi.n 80598a4 peakAVS[i] = fval[i]; } break; 80598a2: e060 b.n 8059966 peakAVS[i] = fval[i]; 80598a4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80598a8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80598ac: f107 01fc add.w r1, r7, #252 ; 0xfc 80598b0: 0092 lsls r2, r2, #2 80598b2: 440a add r2, r1 80598b4: 6812 ldr r2, [r2, #0] 80598b6: 4943 ldr r1, [pc, #268] ; (80599c4 ) 80598b8: 009b lsls r3, r3, #2 80598ba: 440b add r3, r1 80598bc: 601a str r2, [r3, #0] break; 80598be: e052 b.n 8059966 case PEAK_FACTOR: if(peakAVS[i] < fpeak[i]) { 80598c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80598c4: 4a3f ldr r2, [pc, #252] ; (80599c4 ) 80598c6: 009b lsls r3, r3, #2 80598c8: 4413 add r3, r2 80598ca: ed93 7a00 vldr s14, [r3] 80598ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80598d2: f107 02ec add.w r2, r7, #236 ; 0xec 80598d6: 009b lsls r3, r3, #2 80598d8: 4413 add r3, r2 80598da: edd3 7a00 vldr s15, [r3] 80598de: eeb4 7ae7 vcmpe.f32 s14, s15 80598e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80598e6: d50c bpl.n 8059902 peakAVS[i] = fpeak[i]; 80598e8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80598ec: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80598f0: f107 01ec add.w r1, r7, #236 ; 0xec 80598f4: 0092 lsls r2, r2, #2 80598f6: 440a add r2, r1 80598f8: 6812 ldr r2, [r2, #0] 80598fa: 4932 ldr r1, [pc, #200] ; (80599c4 ) 80598fc: 009b lsls r3, r3, #2 80598fe: 440b add r3, r1 8059900: 601a str r2, [r3, #0] } rmsAVS[i] += fval[i]; 8059902: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059906: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805990a: 492f ldr r1, [pc, #188] ; (80599c8 ) 805990c: 0092 lsls r2, r2, #2 805990e: 440a add r2, r1 8059910: ed92 7a00 vldr s14, [r2] 8059914: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059918: f107 01fc add.w r1, r7, #252 ; 0xfc 805991c: 0092 lsls r2, r2, #2 805991e: 440a add r2, r1 8059920: edd2 7a00 vldr s15, [r2] 8059924: ee77 7a27 vadd.f32 s15, s14, s15 8059928: 4a27 ldr r2, [pc, #156] ; (80599c8 ) 805992a: 009b lsls r3, r3, #2 805992c: 4413 add r3, r2 805992e: edc3 7a00 vstr s15, [r3] break; 8059932: e018 b.n 8059966 case RMS: rmsAVS[i] += fval[i]; 8059934: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059938: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805993c: 4922 ldr r1, [pc, #136] ; (80599c8 ) 805993e: 0092 lsls r2, r2, #2 8059940: 440a add r2, r1 8059942: ed92 7a00 vldr s14, [r2] 8059946: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805994a: f107 01fc add.w r1, r7, #252 ; 0xfc 805994e: 0092 lsls r2, r2, #2 8059950: 440a add r2, r1 8059952: edd2 7a00 vldr s15, [r2] 8059956: ee77 7a27 vadd.f32 s15, s14, s15 805995a: 4a1b ldr r2, [pc, #108] ; (80599c8 ) 805995c: 009b lsls r3, r3, #2 805995e: 4413 add r3, r2 8059960: edc3 7a00 vstr s15, [r3] break; 8059964: bf00 nop for(i = 0; i < 3; i++) 8059966: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805996a: 3301 adds r3, #1 805996c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059970: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059974: 2b02 cmp r3, #2 8059976: f67f af18 bls.w 80597aa } } MeanCnt++; 805997a: 4b14 ldr r3, [pc, #80] ; (80599cc ) 805997c: 681b ldr r3, [r3, #0] 805997e: 3301 adds r3, #1 8059980: 4a12 ldr r2, [pc, #72] ; (80599cc ) 8059982: 6013 str r3, [r2, #0] /////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////// BI-TECHNO ////////////////////////// if(!(MeanCnt % 8)) 8059984: 4b11 ldr r3, [pc, #68] ; (80599cc ) 8059986: 681b ldr r3, [r3, #0] 8059988: f003 0307 and.w r3, r3, #7 805998c: 2b00 cmp r3, #0 805998e: f040 85f8 bne.w 805a582 { for(j = AVG[pardata.AVG] - 1; j > 0; j--) 8059992: 4b0b ldr r3, [pc, #44] ; (80599c0 ) 8059994: 7b5b ldrb r3, [r3, #13] 8059996: b2db uxtb r3, r3 8059998: 461a mov r2, r3 805999a: 4b0d ldr r3, [pc, #52] ; (80599d0 ) 805999c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 80599a0: 3b01 subs r3, #1 80599a2: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 80599a6: e086 b.n 8059ab6 80599a8: 20021cdc .word 0x20021cdc 80599ac: 20008000 .word 0x20008000 80599b0: 20020d6c .word 0x20020d6c 80599b4: 20021540 .word 0x20021540 80599b8: bf800000 .word 0xbf800000 80599bc: 2002154c .word 0x2002154c 80599c0: 20023e60 .word 0x20023e60 80599c4: 20021cfc .word 0x20021cfc 80599c8: 20021ce8 .word 0x20021ce8 80599cc: 20020db8 .word 0x20020db8 80599d0: 080eeb38 .word 0x080eeb38 { fl = ACC_PEAK_RD(j - 1); 80599d4: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80599d8: 3b01 subs r3, #1 80599da: 009a lsls r2, r3, #2 80599dc: 4bb9 ldr r3, [pc, #740] ; (8059cc4 ) 80599de: 4413 add r3, r2 80599e0: 681b ldr r3, [r3, #0] 80599e2: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc ACC_PEAK_WR(j) = fl; 80599e6: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80599ea: 009a lsls r2, r3, #2 80599ec: 4bb5 ldr r3, [pc, #724] ; (8059cc4 ) 80599ee: 4413 add r3, r2 80599f0: 461a mov r2, r3 80599f2: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80599f6: 6013 str r3, [r2, #0] fl = ACC_RMS_RD(j - 1); 80599f8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80599fc: 3b01 subs r3, #1 80599fe: 009a lsls r2, r3, #2 8059a00: 4bb1 ldr r3, [pc, #708] ; (8059cc8 ) 8059a02: 4413 add r3, r2 8059a04: 681b ldr r3, [r3, #0] 8059a06: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc ACC_RMS_WR(j) = fl; 8059a0a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a0e: 009a lsls r2, r3, #2 8059a10: 4bad ldr r3, [pc, #692] ; (8059cc8 ) 8059a12: 4413 add r3, r2 8059a14: 461a mov r2, r3 8059a16: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8059a1a: 6013 str r3, [r2, #0] fl = VEL_PEAK_RD(j - 1); 8059a1c: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a20: 3b01 subs r3, #1 8059a22: 009a lsls r2, r3, #2 8059a24: 4ba9 ldr r3, [pc, #676] ; (8059ccc ) 8059a26: 4413 add r3, r2 8059a28: 681b ldr r3, [r3, #0] 8059a2a: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc VEL_PEAK_WR(j) = fl; 8059a2e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a32: 009a lsls r2, r3, #2 8059a34: 4ba5 ldr r3, [pc, #660] ; (8059ccc ) 8059a36: 4413 add r3, r2 8059a38: 461a mov r2, r3 8059a3a: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8059a3e: 6013 str r3, [r2, #0] fl = VEL_RMS_RD(j - 1); 8059a40: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a44: 3b01 subs r3, #1 8059a46: 009a lsls r2, r3, #2 8059a48: 4ba1 ldr r3, [pc, #644] ; (8059cd0 ) 8059a4a: 4413 add r3, r2 8059a4c: 681b ldr r3, [r3, #0] 8059a4e: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc VEL_RMS_WR(j) = fl; 8059a52: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a56: 009a lsls r2, r3, #2 8059a58: 4b9d ldr r3, [pc, #628] ; (8059cd0 ) 8059a5a: 4413 add r3, r2 8059a5c: 461a mov r2, r3 8059a5e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8059a62: 6013 str r3, [r2, #0] fl = DIS_PEAK_RD(j - 1); 8059a64: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a68: 3b01 subs r3, #1 8059a6a: 009a lsls r2, r3, #2 8059a6c: 4b99 ldr r3, [pc, #612] ; (8059cd4 ) 8059a6e: 4413 add r3, r2 8059a70: 681b ldr r3, [r3, #0] 8059a72: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc DIS_PEAK_WR(j) = fl; 8059a76: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a7a: 009a lsls r2, r3, #2 8059a7c: 4b95 ldr r3, [pc, #596] ; (8059cd4 ) 8059a7e: 4413 add r3, r2 8059a80: 461a mov r2, r3 8059a82: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8059a86: 6013 str r3, [r2, #0] fl = DIS_RMS_RD(j - 1); 8059a88: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a8c: 3b01 subs r3, #1 8059a8e: 009a lsls r2, r3, #2 8059a90: 4b91 ldr r3, [pc, #580] ; (8059cd8 ) 8059a92: 4413 add r3, r2 8059a94: 681b ldr r3, [r3, #0] 8059a96: f8c7 31bc str.w r3, [r7, #444] ; 0x1bc DIS_RMS_WR(j) = fl; 8059a9a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059a9e: 009a lsls r2, r3, #2 8059aa0: 4b8d ldr r3, [pc, #564] ; (8059cd8 ) 8059aa2: 4413 add r3, r2 8059aa4: 461a mov r2, r3 8059aa6: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8059aaa: 6013 str r3, [r2, #0] for(j = AVG[pardata.AVG] - 1; j > 0; j--) 8059aac: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059ab0: 3b01 subs r3, #1 8059ab2: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc 8059ab6: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8059aba: 2b00 cmp r3, #0 8059abc: d18a bne.n 80599d4 } fl = (float32_t) (AVG[pardata.AVG] * 8u) * 8192.0f; 8059abe: 4b87 ldr r3, [pc, #540] ; (8059cdc ) 8059ac0: 7b5b ldrb r3, [r3, #13] 8059ac2: b2db uxtb r3, r3 8059ac4: 461a mov r2, r3 8059ac6: 4b86 ldr r3, [pc, #536] ; (8059ce0 ) 8059ac8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059acc: 00db lsls r3, r3, #3 8059ace: ee07 3a90 vmov s15, r3 8059ad2: eef8 7a67 vcvt.f32.u32 s15, s15 8059ad6: ed9f 7a83 vldr s14, [pc, #524] ; 8059ce4 8059ada: ee67 7a87 vmul.f32 s15, s15, s14 8059ade: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc for(i = 0; i < 3; i++) 8059ae2: 2300 movs r3, #0 8059ae4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8059ae8: f000 bcaf b.w 805a44a { switch(pardata.IVS[i]) 8059aec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059af0: 4a7a ldr r2, [pc, #488] ; (8059cdc ) 8059af2: 4413 add r3, r2 8059af4: 789b ldrb r3, [r3, #2] 8059af6: b2db uxtb r3, r3 8059af8: 2b04 cmp r3, #4 8059afa: f200 84a1 bhi.w 805a440 8059afe: a201 add r2, pc, #4 ; (adr r2, 8059b04 ) 8059b00: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8059b04: 08059b19 .word 0x08059b19 8059b08: 0805a275 .word 0x0805a275 8059b0c: 08059b19 .word 0x08059b19 8059b10: 08059fa7 .word 0x08059fa7 8059b14: 08059cf5 .word 0x08059cf5 { case PEAK: case PEAK_TO_PEAK: if(i == ACC) 8059b18: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b1c: 2b00 cmp r3, #0 8059b1e: d11a bne.n 8059b56 { ACC_PEAK_WR(0) = peakAVS[i]; 8059b20: 4a68 ldr r2, [pc, #416] ; (8059cc4 ) 8059b22: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b26: 4970 ldr r1, [pc, #448] ; (8059ce8 ) 8059b28: 009b lsls r3, r3, #2 8059b2a: 440b add r3, r1 8059b2c: 681b ldr r3, [r3, #0] 8059b2e: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG],&peakAVS[i], &k); 8059b30: 4b6a ldr r3, [pc, #424] ; (8059cdc ) 8059b32: 7b5b ldrb r3, [r3, #13] 8059b34: b2db uxtb r3, r3 8059b36: 461a mov r2, r3 8059b38: 4b69 ldr r3, [pc, #420] ; (8059ce0 ) 8059b3a: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059b3e: 4619 mov r1, r3 8059b40: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b44: 009b lsls r3, r3, #2 8059b46: 4a68 ldr r2, [pc, #416] ; (8059ce8 ) 8059b48: 441a add r2, r3 8059b4a: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059b4e: 485d ldr r0, [pc, #372] ; (8059cc4 ) 8059b50: f070 fad0 bl 80ca0f4 8059b54: e03c b.n 8059bd0 } else if(i == VEL) 8059b56: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b5a: 2b01 cmp r3, #1 8059b5c: d11a bne.n 8059b94 { VEL_PEAK_WR(0) = peakAVS[i]; 8059b5e: 4a5b ldr r2, [pc, #364] ; (8059ccc ) 8059b60: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b64: 4960 ldr r1, [pc, #384] ; (8059ce8 ) 8059b66: 009b lsls r3, r3, #2 8059b68: 440b add r3, r1 8059b6a: 681b ldr r3, [r3, #0] 8059b6c: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8059b6e: 4b5b ldr r3, [pc, #364] ; (8059cdc ) 8059b70: 7b5b ldrb r3, [r3, #13] 8059b72: b2db uxtb r3, r3 8059b74: 461a mov r2, r3 8059b76: 4b5a ldr r3, [pc, #360] ; (8059ce0 ) 8059b78: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059b7c: 4619 mov r1, r3 8059b7e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b82: 009b lsls r3, r3, #2 8059b84: 4a58 ldr r2, [pc, #352] ; (8059ce8 ) 8059b86: 441a add r2, r3 8059b88: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059b8c: 484f ldr r0, [pc, #316] ; (8059ccc ) 8059b8e: f070 fab1 bl 80ca0f4 8059b92: e01d b.n 8059bd0 } else if(i == DIS) 8059b94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059b98: 2b02 cmp r3, #2 8059b9a: d119 bne.n 8059bd0 { DIS_PEAK_WR(0) = peakAVS[i]; 8059b9c: 4a4d ldr r2, [pc, #308] ; (8059cd4 ) 8059b9e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059ba2: 4951 ldr r1, [pc, #324] ; (8059ce8 ) 8059ba4: 009b lsls r3, r3, #2 8059ba6: 440b add r3, r1 8059ba8: 681b ldr r3, [r3, #0] 8059baa: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 8059bac: 4b4b ldr r3, [pc, #300] ; (8059cdc ) 8059bae: 7b5b ldrb r3, [r3, #13] 8059bb0: b2db uxtb r3, r3 8059bb2: 461a mov r2, r3 8059bb4: 4b4a ldr r3, [pc, #296] ; (8059ce0 ) 8059bb6: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059bba: 4619 mov r1, r3 8059bbc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059bc0: 009b lsls r3, r3, #2 8059bc2: 4a49 ldr r2, [pc, #292] ; (8059ce8 ) 8059bc4: 441a add r2, r3 8059bc6: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059bca: 4842 ldr r0, [pc, #264] ; (8059cd4 ) 8059bcc: f070 fa92 bl 80ca0f4 } peakAVS[i] = ABS(peakAVS[i]); 8059bd0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059bd4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059bd8: 4943 ldr r1, [pc, #268] ; (8059ce8 ) 8059bda: 0092 lsls r2, r2, #2 8059bdc: 440a add r2, r1 8059bde: edd2 7a00 vldr s15, [r2] 8059be2: eef5 7ac0 vcmpe.f32 s15, #0.0 8059be6: eef1 fa10 vmrs APSR_nzcv, fpscr 8059bea: dd07 ble.n 8059bfc 8059bec: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059bf0: 493d ldr r1, [pc, #244] ; (8059ce8 ) 8059bf2: 0092 lsls r2, r2, #2 8059bf4: 440a add r2, r1 8059bf6: edd2 7a00 vldr s15, [r2] 8059bfa: e008 b.n 8059c0e 8059bfc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059c00: 4939 ldr r1, [pc, #228] ; (8059ce8 ) 8059c02: 0092 lsls r2, r2, #2 8059c04: 440a add r2, r1 8059c06: edd2 7a00 vldr s15, [r2] 8059c0a: eef1 7a67 vneg.f32 s15, s15 8059c0e: 4a36 ldr r2, [pc, #216] ; (8059ce8 ) 8059c10: 009b lsls r3, r3, #2 8059c12: 4413 add r3, r2 8059c14: edc3 7a00 vstr s15, [r3] skz[i] = peakAVS[i]; 8059c18: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c1c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059c20: 4931 ldr r1, [pc, #196] ; (8059ce8 ) 8059c22: 0092 lsls r2, r2, #2 8059c24: 440a add r2, r1 8059c26: 6812 ldr r2, [r2, #0] 8059c28: 4930 ldr r1, [pc, #192] ; (8059cec ) 8059c2a: 009b lsls r3, r3, #2 8059c2c: 440b add r3, r1 8059c2e: 601a str r2, [r3, #0] skz[i] = MedMeas(i, skz[i]); 8059c30: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 8059c34: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c38: b2d9 uxtb r1, r3 8059c3a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c3e: 4a2b ldr r2, [pc, #172] ; (8059cec ) 8059c40: 009b lsls r3, r3, #2 8059c42: 4413 add r3, r2 8059c44: edd3 7a00 vldr s15, [r3] 8059c48: eeb0 0a67 vmov.f32 s0, s15 8059c4c: 4608 mov r0, r1 8059c4e: f00b f9d7 bl 8065000 8059c52: eef0 7a40 vmov.f32 s15, s0 8059c56: 4a25 ldr r2, [pc, #148] ; (8059cec ) 8059c58: 00a3 lsls r3, r4, #2 8059c5a: 4413 add r3, r2 8059c5c: edc3 7a00 vstr s15, [r3] if(pardata.IVS[i] != EXCESS) 8059c60: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c64: 4a1d ldr r2, [pc, #116] ; (8059cdc ) 8059c66: 4413 add r3, r2 8059c68: 789b ldrb r3, [r3, #2] 8059c6a: b2db uxtb r3, r3 8059c6c: 2b04 cmp r3, #4 8059c6e: d012 beq.n 8059c96 skz[i] /= pardata.IKK; 8059c70: 4b1a ldr r3, [pc, #104] ; (8059cdc ) 8059c72: ed93 7a04 vldr s14, [r3, #16] 8059c76: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c7a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059c7e: 491b ldr r1, [pc, #108] ; (8059cec ) 8059c80: 0092 lsls r2, r2, #2 8059c82: 440a add r2, r1 8059c84: edd2 6a00 vldr s13, [r2] 8059c88: eec6 7a87 vdiv.f32 s15, s13, s14 8059c8c: 4a17 ldr r2, [pc, #92] ; (8059cec ) 8059c8e: 009b lsls r3, r3, #2 8059c90: 4413 add r3, r2 8059c92: edc3 7a00 vstr s15, [r3] LinToLog(&skz[i], &skzDB[i]); 8059c96: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059c9a: 009b lsls r3, r3, #2 8059c9c: 4a13 ldr r2, [pc, #76] ; (8059cec ) 8059c9e: 1898 adds r0, r3, r2 8059ca0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059ca4: 009b lsls r3, r3, #2 8059ca6: 4a12 ldr r2, [pc, #72] ; (8059cf0 ) 8059ca8: 4413 add r3, r2 8059caa: 4619 mov r1, r3 8059cac: f00b f918 bl 8064ee0 peakAVS[i] = 0.0f; 8059cb0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059cb4: 4a0c ldr r2, [pc, #48] ; (8059ce8 ) 8059cb6: 009b lsls r3, r3, #2 8059cb8: 4413 add r3, r2 8059cba: f04f 0200 mov.w r2, #0 8059cbe: 601a str r2, [r3, #0] break; 8059cc0: e3be b.n 805a440 8059cc2: bf00 nop 8059cc4: 64050000 .word 0x64050000 8059cc8: 64050800 .word 0x64050800 8059ccc: 64051000 .word 0x64051000 8059cd0: 64051800 .word 0x64051800 8059cd4: 64052000 .word 0x64052000 8059cd8: 64052800 .word 0x64052800 8059cdc: 20023e60 .word 0x20023e60 8059ce0: 080eeb38 .word 0x080eeb38 8059ce4: 46000000 .word 0x46000000 8059ce8: 20021cfc .word 0x20021cfc 8059cec: 20021540 .word 0x20021540 8059cf0: 2002154c .word 0x2002154c case EXCESS: if(i == ACC) 8059cf4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059cf8: 2b00 cmp r3, #0 8059cfa: d15b bne.n 8059db4 { ACC_PEAK_WR(0) = peakAVS[i]; 8059cfc: 4ab9 ldr r2, [pc, #740] ; (8059fe4 ) 8059cfe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059d02: 49b9 ldr r1, [pc, #740] ; (8059fe8 ) 8059d04: 009b lsls r3, r3, #2 8059d06: 440b add r3, r1 8059d08: 681b ldr r3, [r3, #0] 8059d0a: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8059d0c: 4bb7 ldr r3, [pc, #732] ; (8059fec ) 8059d0e: 7b5b ldrb r3, [r3, #13] 8059d10: b2db uxtb r3, r3 8059d12: 461a mov r2, r3 8059d14: 4bb6 ldr r3, [pc, #728] ; (8059ff0 ) 8059d16: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059d1a: 4619 mov r1, r3 8059d1c: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059d20: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059d24: 48af ldr r0, [pc, #700] ; (8059fe4 ) 8059d26: f070 f949 bl 80c9fbc arm_max_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8059d2a: 4bb0 ldr r3, [pc, #704] ; (8059fec ) 8059d2c: 7b5b ldrb r3, [r3, #13] 8059d2e: b2db uxtb r3, r3 8059d30: 461a mov r2, r3 8059d32: 4baf ldr r3, [pc, #700] ; (8059ff0 ) 8059d34: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059d38: 4618 mov r0, r3 8059d3a: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8059d3e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8059d42: 1d1a adds r2, r3, #4 8059d44: 460b mov r3, r1 8059d46: 4601 mov r1, r0 8059d48: 48a6 ldr r0, [pc, #664] ; (8059fe4 ) 8059d4a: f070 f9d3 bl 80ca0f4 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8059d4e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059d52: eef5 7ac0 vcmpe.f32 s15, #0.0 8059d56: eef1 fa10 vmrs APSR_nzcv, fpscr 8059d5a: dd02 ble.n 8059d62 8059d5c: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8059d60: e003 b.n 8059d6a 8059d62: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059d66: eeb1 7a67 vneg.f32 s14, s15 8059d6a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059d6e: eef5 7ac0 vcmpe.f32 s15, #0.0 8059d72: eef1 fa10 vmrs APSR_nzcv, fpscr 8059d76: dd02 ble.n 8059d7e 8059d78: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059d7c: e003 b.n 8059d86 8059d7e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059d82: eef1 7a67 vneg.f32 s15, s15 8059d86: eeb4 7ae7 vcmpe.f32 s14, s15 8059d8a: eef1 fa10 vmrs APSR_nzcv, fpscr 8059d8e: dd08 ble.n 8059da2 8059d90: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059d94: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8059d98: 4993 ldr r1, [pc, #588] ; (8059fe8 ) 8059d9a: 009b lsls r3, r3, #2 8059d9c: 440b add r3, r1 8059d9e: 601a str r2, [r3, #0] 8059da0: e0c7 b.n 8059f32 else peakAVS[i] = fn[1]; 8059da2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059da6: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8059daa: 498f ldr r1, [pc, #572] ; (8059fe8 ) 8059dac: 009b lsls r3, r3, #2 8059dae: 440b add r3, r1 8059db0: 601a str r2, [r3, #0] 8059db2: e0be b.n 8059f32 } else if(i == VEL) 8059db4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059db8: 2b01 cmp r3, #1 8059dba: d15b bne.n 8059e74 { VEL_PEAK_WR(0) = peakAVS[i]; 8059dbc: 4a8d ldr r2, [pc, #564] ; (8059ff4 ) 8059dbe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059dc2: 4989 ldr r1, [pc, #548] ; (8059fe8 ) 8059dc4: 009b lsls r3, r3, #2 8059dc6: 440b add r3, r1 8059dc8: 681b ldr r3, [r3, #0] 8059dca: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8059dcc: 4b87 ldr r3, [pc, #540] ; (8059fec ) 8059dce: 7b5b ldrb r3, [r3, #13] 8059dd0: b2db uxtb r3, r3 8059dd2: 461a mov r2, r3 8059dd4: 4b86 ldr r3, [pc, #536] ; (8059ff0 ) 8059dd6: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059dda: 4619 mov r1, r3 8059ddc: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059de0: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059de4: 4883 ldr r0, [pc, #524] ; (8059ff4 ) 8059de6: f070 f8e9 bl 80c9fbc arm_max_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8059dea: 4b80 ldr r3, [pc, #512] ; (8059fec ) 8059dec: 7b5b ldrb r3, [r3, #13] 8059dee: b2db uxtb r3, r3 8059df0: 461a mov r2, r3 8059df2: 4b7f ldr r3, [pc, #508] ; (8059ff0 ) 8059df4: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059df8: 4618 mov r0, r3 8059dfa: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8059dfe: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8059e02: 1d1a adds r2, r3, #4 8059e04: 460b mov r3, r1 8059e06: 4601 mov r1, r0 8059e08: 487a ldr r0, [pc, #488] ; (8059ff4 ) 8059e0a: f070 f973 bl 80ca0f4 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8059e0e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059e12: eef5 7ac0 vcmpe.f32 s15, #0.0 8059e16: eef1 fa10 vmrs APSR_nzcv, fpscr 8059e1a: dd02 ble.n 8059e22 8059e1c: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8059e20: e003 b.n 8059e2a 8059e22: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059e26: eeb1 7a67 vneg.f32 s14, s15 8059e2a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059e2e: eef5 7ac0 vcmpe.f32 s15, #0.0 8059e32: eef1 fa10 vmrs APSR_nzcv, fpscr 8059e36: dd02 ble.n 8059e3e 8059e38: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059e3c: e003 b.n 8059e46 8059e3e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059e42: eef1 7a67 vneg.f32 s15, s15 8059e46: eeb4 7ae7 vcmpe.f32 s14, s15 8059e4a: eef1 fa10 vmrs APSR_nzcv, fpscr 8059e4e: dd08 ble.n 8059e62 8059e50: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059e54: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8059e58: 4963 ldr r1, [pc, #396] ; (8059fe8 ) 8059e5a: 009b lsls r3, r3, #2 8059e5c: 440b add r3, r1 8059e5e: 601a str r2, [r3, #0] 8059e60: e067 b.n 8059f32 else peakAVS[i] = fn[1]; 8059e62: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059e66: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8059e6a: 495f ldr r1, [pc, #380] ; (8059fe8 ) 8059e6c: 009b lsls r3, r3, #2 8059e6e: 440b add r3, r1 8059e70: 601a str r2, [r3, #0] 8059e72: e05e b.n 8059f32 } else if(i == DIS) 8059e74: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059e78: 2b02 cmp r3, #2 8059e7a: d15a bne.n 8059f32 { DIS_PEAK_WR(0) = peakAVS[i]; 8059e7c: 4a5e ldr r2, [pc, #376] ; (8059ff8 ) 8059e7e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059e82: 4959 ldr r1, [pc, #356] ; (8059fe8 ) 8059e84: 009b lsls r3, r3, #2 8059e86: 440b add r3, r1 8059e88: 681b ldr r3, [r3, #0] 8059e8a: 6013 str r3, [r2, #0] arm_min_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &fn[0], &k); 8059e8c: 4b57 ldr r3, [pc, #348] ; (8059fec ) 8059e8e: 7b5b ldrb r3, [r3, #13] 8059e90: b2db uxtb r3, r3 8059e92: 461a mov r2, r3 8059e94: 4b56 ldr r3, [pc, #344] ; (8059ff0 ) 8059e96: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059e9a: 4619 mov r1, r3 8059e9c: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059ea0: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8059ea4: 4854 ldr r0, [pc, #336] ; (8059ff8 ) 8059ea6: f070 f889 bl 80c9fbc arm_max_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &fn[1], &k); 8059eaa: 4b50 ldr r3, [pc, #320] ; (8059fec ) 8059eac: 7b5b ldrb r3, [r3, #13] 8059eae: b2db uxtb r3, r3 8059eb0: 461a mov r2, r3 8059eb2: 4b4f ldr r3, [pc, #316] ; (8059ff0 ) 8059eb4: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059eb8: 4618 mov r0, r3 8059eba: f507 71e4 add.w r1, r7, #456 ; 0x1c8 8059ebe: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8059ec2: 1d1a adds r2, r3, #4 8059ec4: 460b mov r3, r1 8059ec6: 4601 mov r1, r0 8059ec8: 484b ldr r0, [pc, #300] ; (8059ff8 ) 8059eca: f070 f913 bl 80ca0f4 if(ABS(fn[0]) > ABS(fn[1])) peakAVS[i] = fn[0]; 8059ece: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059ed2: eef5 7ac0 vcmpe.f32 s15, #0.0 8059ed6: eef1 fa10 vmrs APSR_nzcv, fpscr 8059eda: dd02 ble.n 8059ee2 8059edc: ed97 7a6c vldr s14, [r7, #432] ; 0x1b0 8059ee0: e003 b.n 8059eea 8059ee2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8059ee6: eeb1 7a67 vneg.f32 s14, s15 8059eea: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059eee: eef5 7ac0 vcmpe.f32 s15, #0.0 8059ef2: eef1 fa10 vmrs APSR_nzcv, fpscr 8059ef6: dd02 ble.n 8059efe 8059ef8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059efc: e003 b.n 8059f06 8059efe: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8059f02: eef1 7a67 vneg.f32 s15, s15 8059f06: eeb4 7ae7 vcmpe.f32 s14, s15 8059f0a: eef1 fa10 vmrs APSR_nzcv, fpscr 8059f0e: dd08 ble.n 8059f22 8059f10: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f14: f8d7 21b0 ldr.w r2, [r7, #432] ; 0x1b0 8059f18: 4933 ldr r1, [pc, #204] ; (8059fe8 ) 8059f1a: 009b lsls r3, r3, #2 8059f1c: 440b add r3, r1 8059f1e: 601a str r2, [r3, #0] 8059f20: e007 b.n 8059f32 else peakAVS[i] = fn[1]; 8059f22: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f26: f8d7 21b4 ldr.w r2, [r7, #436] ; 0x1b4 8059f2a: 492f ldr r1, [pc, #188] ; (8059fe8 ) 8059f2c: 009b lsls r3, r3, #2 8059f2e: 440b add r3, r1 8059f30: 601a str r2, [r3, #0] } skz[i] = peakAVS[i]; 8059f32: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f36: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8059f3a: 492b ldr r1, [pc, #172] ; (8059fe8 ) 8059f3c: 0092 lsls r2, r2, #2 8059f3e: 440a add r2, r1 8059f40: 6812 ldr r2, [r2, #0] 8059f42: 492e ldr r1, [pc, #184] ; (8059ffc ) 8059f44: 009b lsls r3, r3, #2 8059f46: 440b add r3, r1 8059f48: 601a str r2, [r3, #0] skz[i] = MedMeas(i, skz[i]); 8059f4a: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 8059f4e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f52: b2d9 uxtb r1, r3 8059f54: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f58: 4a28 ldr r2, [pc, #160] ; (8059ffc ) 8059f5a: 009b lsls r3, r3, #2 8059f5c: 4413 add r3, r2 8059f5e: edd3 7a00 vldr s15, [r3] 8059f62: eeb0 0a67 vmov.f32 s0, s15 8059f66: 4608 mov r0, r1 8059f68: f00b f84a bl 8065000 8059f6c: eef0 7a40 vmov.f32 s15, s0 8059f70: 4a22 ldr r2, [pc, #136] ; (8059ffc ) 8059f72: 00a3 lsls r3, r4, #2 8059f74: 4413 add r3, r2 8059f76: edc3 7a00 vstr s15, [r3] LinToLog(&skz[i], &skzDB[i]); 8059f7a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f7e: 009b lsls r3, r3, #2 8059f80: 4a1e ldr r2, [pc, #120] ; (8059ffc ) 8059f82: 1898 adds r0, r3, r2 8059f84: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f88: 009b lsls r3, r3, #2 8059f8a: 4a1d ldr r2, [pc, #116] ; (805a000 ) 8059f8c: 4413 add r3, r2 8059f8e: 4619 mov r1, r3 8059f90: f00a ffa6 bl 8064ee0 peakAVS[i] = 0.0f; 8059f94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059f98: 4a13 ldr r2, [pc, #76] ; (8059fe8 ) 8059f9a: 009b lsls r3, r3, #2 8059f9c: 4413 add r3, r2 8059f9e: f04f 0200 mov.w r2, #0 8059fa2: 601a str r2, [r3, #0] break; 8059fa4: e24c b.n 805a440 case PEAK_FACTOR: if(i == ACC) 8059fa6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059faa: 2b00 cmp r3, #0 8059fac: d12a bne.n 805a004 { ACC_PEAK_WR(0) = peakAVS[i]; 8059fae: 4a0d ldr r2, [pc, #52] ; (8059fe4 ) 8059fb0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059fb4: 490c ldr r1, [pc, #48] ; (8059fe8 ) 8059fb6: 009b lsls r3, r3, #2 8059fb8: 440b add r3, r1 8059fba: 681b ldr r3, [r3, #0] 8059fbc: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &ACC_PEAK_RD(0), AVG[pardata.AVG],&peakAVS[i], &k); 8059fbe: 4b0b ldr r3, [pc, #44] ; (8059fec ) 8059fc0: 7b5b ldrb r3, [r3, #13] 8059fc2: b2db uxtb r3, r3 8059fc4: 461a mov r2, r3 8059fc6: 4b0a ldr r3, [pc, #40] ; (8059ff0 ) 8059fc8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8059fcc: 4619 mov r1, r3 8059fce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8059fd2: 009b lsls r3, r3, #2 8059fd4: 4a04 ldr r2, [pc, #16] ; (8059fe8 ) 8059fd6: 441a add r2, r3 8059fd8: f507 73e4 add.w r3, r7, #456 ; 0x1c8 8059fdc: 4801 ldr r0, [pc, #4] ; (8059fe4 ) 8059fde: f070 f889 bl 80ca0f4 8059fe2: e04c b.n 805a07e 8059fe4: 64050000 .word 0x64050000 8059fe8: 20021cfc .word 0x20021cfc 8059fec: 20023e60 .word 0x20023e60 8059ff0: 080eeb38 .word 0x080eeb38 8059ff4: 64051000 .word 0x64051000 8059ff8: 64052000 .word 0x64052000 8059ffc: 20021540 .word 0x20021540 805a000: 2002154c .word 0x2002154c } else if(i == VEL) 805a004: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a008: 2b01 cmp r3, #1 805a00a: d11a bne.n 805a042 { VEL_PEAK_WR(0) = peakAVS[i]; 805a00c: 4ab7 ldr r2, [pc, #732] ; (805a2ec ) 805a00e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a012: 49b7 ldr r1, [pc, #732] ; (805a2f0 ) 805a014: 009b lsls r3, r3, #2 805a016: 440b add r3, r1 805a018: 681b ldr r3, [r3, #0] 805a01a: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &VEL_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805a01c: 4bb5 ldr r3, [pc, #724] ; (805a2f4 ) 805a01e: 7b5b ldrb r3, [r3, #13] 805a020: b2db uxtb r3, r3 805a022: 461a mov r2, r3 805a024: 4bb4 ldr r3, [pc, #720] ; (805a2f8 ) 805a026: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a02a: 4619 mov r1, r3 805a02c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a030: 009b lsls r3, r3, #2 805a032: 4aaf ldr r2, [pc, #700] ; (805a2f0 ) 805a034: 441a add r2, r3 805a036: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805a03a: 48ac ldr r0, [pc, #688] ; (805a2ec ) 805a03c: f070 f85a bl 80ca0f4 805a040: e01d b.n 805a07e } else if(i == DIS) 805a042: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a046: 2b02 cmp r3, #2 805a048: d119 bne.n 805a07e { DIS_PEAK_WR(0) = peakAVS[i]; 805a04a: 4aac ldr r2, [pc, #688] ; (805a2fc ) 805a04c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a050: 49a7 ldr r1, [pc, #668] ; (805a2f0 ) 805a052: 009b lsls r3, r3, #2 805a054: 440b add r3, r1 805a056: 681b ldr r3, [r3, #0] 805a058: 6013 str r3, [r2, #0] arm_max_f32((float32_t *) &DIS_PEAK_RD(0), AVG[pardata.AVG], &peakAVS[i], &k); 805a05a: 4ba6 ldr r3, [pc, #664] ; (805a2f4 ) 805a05c: 7b5b ldrb r3, [r3, #13] 805a05e: b2db uxtb r3, r3 805a060: 461a mov r2, r3 805a062: 4ba5 ldr r3, [pc, #660] ; (805a2f8 ) 805a064: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a068: 4619 mov r1, r3 805a06a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a06e: 009b lsls r3, r3, #2 805a070: 4a9f ldr r2, [pc, #636] ; (805a2f0 ) 805a072: 441a add r2, r3 805a074: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805a078: 48a0 ldr r0, [pc, #640] ; (805a2fc ) 805a07a: f070 f83b bl 80ca0f4 } peakAVS[i] = ABS(peakAVS[i]); 805a07e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a082: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a086: 499a ldr r1, [pc, #616] ; (805a2f0 ) 805a088: 0092 lsls r2, r2, #2 805a08a: 440a add r2, r1 805a08c: edd2 7a00 vldr s15, [r2] 805a090: eef5 7ac0 vcmpe.f32 s15, #0.0 805a094: eef1 fa10 vmrs APSR_nzcv, fpscr 805a098: dd07 ble.n 805a0aa 805a09a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a09e: 4994 ldr r1, [pc, #592] ; (805a2f0 ) 805a0a0: 0092 lsls r2, r2, #2 805a0a2: 440a add r2, r1 805a0a4: edd2 7a00 vldr s15, [r2] 805a0a8: e008 b.n 805a0bc 805a0aa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a0ae: 4990 ldr r1, [pc, #576] ; (805a2f0 ) 805a0b0: 0092 lsls r2, r2, #2 805a0b2: 440a add r2, r1 805a0b4: edd2 7a00 vldr s15, [r2] 805a0b8: eef1 7a67 vneg.f32 s15, s15 805a0bc: 4a8c ldr r2, [pc, #560] ; (805a2f0 ) 805a0be: 009b lsls r3, r3, #2 805a0c0: 4413 add r3, r2 805a0c2: edc3 7a00 vstr s15, [r3] if(i == ACC) 805a0c6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a0ca: 2b00 cmp r3, #0 805a0cc: d119 bne.n 805a102 { ACC_RMS_WR(0) = rmsAVS[i]; 805a0ce: 4a8c ldr r2, [pc, #560] ; (805a300 ) 805a0d0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a0d4: 498b ldr r1, [pc, #556] ; (805a304 ) 805a0d6: 009b lsls r3, r3, #2 805a0d8: 440b add r3, r1 805a0da: 681b ldr r3, [r3, #0] 805a0dc: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &ACC_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805a0de: 4b85 ldr r3, [pc, #532] ; (805a2f4 ) 805a0e0: 7b5b ldrb r3, [r3, #13] 805a0e2: b2db uxtb r3, r3 805a0e4: 461a mov r2, r3 805a0e6: 4b84 ldr r3, [pc, #528] ; (805a2f8 ) 805a0e8: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a0ec: 4619 mov r1, r3 805a0ee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a0f2: 009b lsls r3, r3, #2 805a0f4: 4a83 ldr r2, [pc, #524] ; (805a304 ) 805a0f6: 4413 add r3, r2 805a0f8: 461a mov r2, r3 805a0fa: 4881 ldr r0, [pc, #516] ; (805a300 ) 805a0fc: f06f ffc4 bl 80ca088 805a100: e03a b.n 805a178 } else if(i == VEL) 805a102: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a106: 2b01 cmp r3, #1 805a108: d119 bne.n 805a13e { VEL_RMS_WR(0) = rmsAVS[i]; 805a10a: 4a7f ldr r2, [pc, #508] ; (805a308 ) 805a10c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a110: 497c ldr r1, [pc, #496] ; (805a304 ) 805a112: 009b lsls r3, r3, #2 805a114: 440b add r3, r1 805a116: 681b ldr r3, [r3, #0] 805a118: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &VEL_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805a11a: 4b76 ldr r3, [pc, #472] ; (805a2f4 ) 805a11c: 7b5b ldrb r3, [r3, #13] 805a11e: b2db uxtb r3, r3 805a120: 461a mov r2, r3 805a122: 4b75 ldr r3, [pc, #468] ; (805a2f8 ) 805a124: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a128: 4619 mov r1, r3 805a12a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a12e: 009b lsls r3, r3, #2 805a130: 4a74 ldr r2, [pc, #464] ; (805a304 ) 805a132: 4413 add r3, r2 805a134: 461a mov r2, r3 805a136: 4874 ldr r0, [pc, #464] ; (805a308 ) 805a138: f06f ffa6 bl 80ca088 805a13c: e01c b.n 805a178 } else if(i == DIS) 805a13e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a142: 2b02 cmp r3, #2 805a144: d118 bne.n 805a178 { DIS_RMS_WR(0) = rmsAVS[i]; 805a146: 4a71 ldr r2, [pc, #452] ; (805a30c ) 805a148: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a14c: 496d ldr r1, [pc, #436] ; (805a304 ) 805a14e: 009b lsls r3, r3, #2 805a150: 440b add r3, r1 805a152: 681b ldr r3, [r3, #0] 805a154: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &DIS_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805a156: 4b67 ldr r3, [pc, #412] ; (805a2f4 ) 805a158: 7b5b ldrb r3, [r3, #13] 805a15a: b2db uxtb r3, r3 805a15c: 461a mov r2, r3 805a15e: 4b66 ldr r3, [pc, #408] ; (805a2f8 ) 805a160: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a164: 4619 mov r1, r3 805a166: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a16a: 009b lsls r3, r3, #2 805a16c: 4a65 ldr r2, [pc, #404] ; (805a304 ) 805a16e: 4413 add r3, r2 805a170: 461a mov r2, r3 805a172: 4866 ldr r0, [pc, #408] ; (805a30c ) 805a174: f06f ff88 bl 80ca088 } rmsAVS[i] *= AVG[pardata.AVG]; 805a178: 4b5e ldr r3, [pc, #376] ; (805a2f4 ) 805a17a: 7b5b ldrb r3, [r3, #13] 805a17c: b2db uxtb r3, r3 805a17e: 461a mov r2, r3 805a180: 4b5d ldr r3, [pc, #372] ; (805a2f8 ) 805a182: f833 0012 ldrh.w r0, [r3, r2, lsl #1] 805a186: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a18a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a18e: 495d ldr r1, [pc, #372] ; (805a304 ) 805a190: 0092 lsls r2, r2, #2 805a192: 440a add r2, r1 805a194: ed92 7a00 vldr s14, [r2] 805a198: ee07 0a90 vmov s15, r0 805a19c: eef8 7ae7 vcvt.f32.s32 s15, s15 805a1a0: ee67 7a27 vmul.f32 s15, s14, s15 805a1a4: 4a57 ldr r2, [pc, #348] ; (805a304 ) 805a1a6: 009b lsls r3, r3, #2 805a1a8: 4413 add r3, r2 805a1aa: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 805a1ae: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a1b2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a1b6: 4953 ldr r1, [pc, #332] ; (805a304 ) 805a1b8: 0092 lsls r2, r2, #2 805a1ba: 440a add r2, r1 805a1bc: edd2 6a00 vldr s13, [r2] 805a1c0: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805a1c4: eec6 7a87 vdiv.f32 s15, s13, s14 805a1c8: 4a4e ldr r2, [pc, #312] ; (805a304 ) 805a1ca: 009b lsls r3, r3, #2 805a1cc: 4413 add r3, r2 805a1ce: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &rmsAVS[i]); 805a1d2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a1d6: 4a4b ldr r2, [pc, #300] ; (805a304 ) 805a1d8: 009b lsls r3, r3, #2 805a1da: 4413 add r3, r2 805a1dc: edd3 7a00 vldr s15, [r3] 805a1e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a1e4: 009b lsls r3, r3, #2 805a1e6: 4a47 ldr r2, [pc, #284] ; (805a304 ) 805a1e8: 4413 add r3, r2 805a1ea: 4618 mov r0, r3 805a1ec: eeb0 0a67 vmov.f32 s0, s15 805a1f0: f7fb fbfa bl 80559e8 skz[i] = peakAVS[i] / rmsAVS[i]; 805a1f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a1f8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a1fc: 493c ldr r1, [pc, #240] ; (805a2f0 ) 805a1fe: 0092 lsls r2, r2, #2 805a200: 440a add r2, r1 805a202: edd2 6a00 vldr s13, [r2] 805a206: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a20a: 493e ldr r1, [pc, #248] ; (805a304 ) 805a20c: 0092 lsls r2, r2, #2 805a20e: 440a add r2, r1 805a210: ed92 7a00 vldr s14, [r2] 805a214: eec6 7a87 vdiv.f32 s15, s13, s14 805a218: 4a3d ldr r2, [pc, #244] ; (805a310 ) 805a21a: 009b lsls r3, r3, #2 805a21c: 4413 add r3, r2 805a21e: edc3 7a00 vstr s15, [r3] skz[i] = MedMeas(i, skz[i]); 805a222: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 805a226: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a22a: b2d9 uxtb r1, r3 805a22c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a230: 4a37 ldr r2, [pc, #220] ; (805a310 ) 805a232: 009b lsls r3, r3, #2 805a234: 4413 add r3, r2 805a236: edd3 7a00 vldr s15, [r3] 805a23a: eeb0 0a67 vmov.f32 s0, s15 805a23e: 4608 mov r0, r1 805a240: f00a fede bl 8065000 805a244: eef0 7a40 vmov.f32 s15, s0 805a248: 4a31 ldr r2, [pc, #196] ; (805a310 ) 805a24a: 00a3 lsls r3, r4, #2 805a24c: 4413 add r3, r2 805a24e: edc3 7a00 vstr s15, [r3] skzDB[i] = 0.0f; 805a252: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a256: 4a2f ldr r2, [pc, #188] ; (805a314 ) 805a258: 009b lsls r3, r3, #2 805a25a: 4413 add r3, r2 805a25c: f04f 0200 mov.w r2, #0 805a260: 601a str r2, [r3, #0] peakAVS[i] = 0.0f; 805a262: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a266: 4a22 ldr r2, [pc, #136] ; (805a2f0 ) 805a268: 009b lsls r3, r3, #2 805a26a: 4413 add r3, r2 805a26c: f04f 0200 mov.w r2, #0 805a270: 601a str r2, [r3, #0] break; 805a272: e0e5 b.n 805a440 case RMS: if(i == ACC) 805a274: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a278: 2b00 cmp r3, #0 805a27a: d119 bne.n 805a2b0 { ACC_RMS_WR(0) = rmsAVS[i]; 805a27c: 4a20 ldr r2, [pc, #128] ; (805a300 ) 805a27e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a282: 4920 ldr r1, [pc, #128] ; (805a304 ) 805a284: 009b lsls r3, r3, #2 805a286: 440b add r3, r1 805a288: 681b ldr r3, [r3, #0] 805a28a: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &ACC_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805a28c: 4b19 ldr r3, [pc, #100] ; (805a2f4 ) 805a28e: 7b5b ldrb r3, [r3, #13] 805a290: b2db uxtb r3, r3 805a292: 461a mov r2, r3 805a294: 4b18 ldr r3, [pc, #96] ; (805a2f8 ) 805a296: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a29a: 4619 mov r1, r3 805a29c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a2a0: 009b lsls r3, r3, #2 805a2a2: 4a18 ldr r2, [pc, #96] ; (805a304 ) 805a2a4: 4413 add r3, r2 805a2a6: 461a mov r2, r3 805a2a8: 4815 ldr r0, [pc, #84] ; (805a300 ) 805a2aa: f06f feed bl 80ca088 805a2ae: e050 b.n 805a352 } else if(i == VEL) 805a2b0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a2b4: 2b01 cmp r3, #1 805a2b6: d12f bne.n 805a318 { VEL_RMS_WR(0) = rmsAVS[i]; 805a2b8: 4a13 ldr r2, [pc, #76] ; (805a308 ) 805a2ba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a2be: 4911 ldr r1, [pc, #68] ; (805a304 ) 805a2c0: 009b lsls r3, r3, #2 805a2c2: 440b add r3, r1 805a2c4: 681b ldr r3, [r3, #0] 805a2c6: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &VEL_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805a2c8: 4b0a ldr r3, [pc, #40] ; (805a2f4 ) 805a2ca: 7b5b ldrb r3, [r3, #13] 805a2cc: b2db uxtb r3, r3 805a2ce: 461a mov r2, r3 805a2d0: 4b09 ldr r3, [pc, #36] ; (805a2f8 ) 805a2d2: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a2d6: 4619 mov r1, r3 805a2d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a2dc: 009b lsls r3, r3, #2 805a2de: 4a09 ldr r2, [pc, #36] ; (805a304 ) 805a2e0: 4413 add r3, r2 805a2e2: 461a mov r2, r3 805a2e4: 4808 ldr r0, [pc, #32] ; (805a308 ) 805a2e6: f06f fecf bl 80ca088 805a2ea: e032 b.n 805a352 805a2ec: 64051000 .word 0x64051000 805a2f0: 20021cfc .word 0x20021cfc 805a2f4: 20023e60 .word 0x20023e60 805a2f8: 080eeb38 .word 0x080eeb38 805a2fc: 64052000 .word 0x64052000 805a300: 64050800 .word 0x64050800 805a304: 20021ce8 .word 0x20021ce8 805a308: 64051800 .word 0x64051800 805a30c: 64052800 .word 0x64052800 805a310: 20021540 .word 0x20021540 805a314: 2002154c .word 0x2002154c } else if(i == DIS) 805a318: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a31c: 2b02 cmp r3, #2 805a31e: d118 bne.n 805a352 { DIS_RMS_WR(0) = rmsAVS[i]; 805a320: 4ac8 ldr r2, [pc, #800] ; (805a644 ) 805a322: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a326: 49c8 ldr r1, [pc, #800] ; (805a648 ) 805a328: 009b lsls r3, r3, #2 805a32a: 440b add r3, r1 805a32c: 681b ldr r3, [r3, #0] 805a32e: 6013 str r3, [r2, #0] arm_mean_f32((float32_t *) &DIS_RMS_RD(0), AVG[pardata.AVG], &rmsAVS[i]); 805a330: 4bc6 ldr r3, [pc, #792] ; (805a64c ) 805a332: 7b5b ldrb r3, [r3, #13] 805a334: b2db uxtb r3, r3 805a336: 461a mov r2, r3 805a338: 4bc5 ldr r3, [pc, #788] ; (805a650 ) 805a33a: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a33e: 4619 mov r1, r3 805a340: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a344: 009b lsls r3, r3, #2 805a346: 4ac0 ldr r2, [pc, #768] ; (805a648 ) 805a348: 4413 add r3, r2 805a34a: 461a mov r2, r3 805a34c: 48bd ldr r0, [pc, #756] ; (805a644 ) 805a34e: f06f fe9b bl 80ca088 } rmsAVS[i] *= (float32_t) AVG[pardata.AVG]; 805a352: 4bbe ldr r3, [pc, #760] ; (805a64c ) 805a354: 7b5b ldrb r3, [r3, #13] 805a356: b2db uxtb r3, r3 805a358: 461a mov r2, r3 805a35a: 4bbd ldr r3, [pc, #756] ; (805a650 ) 805a35c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a360: ee07 3a90 vmov s15, r3 805a364: eef8 7a67 vcvt.f32.u32 s15, s15 805a368: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a36c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a370: 49b5 ldr r1, [pc, #724] ; (805a648 ) 805a372: 0092 lsls r2, r2, #2 805a374: 440a add r2, r1 805a376: ed92 7a00 vldr s14, [r2] 805a37a: ee67 7a27 vmul.f32 s15, s14, s15 805a37e: 4ab2 ldr r2, [pc, #712] ; (805a648 ) 805a380: 009b lsls r3, r3, #2 805a382: 4413 add r3, r2 805a384: edc3 7a00 vstr s15, [r3] rmsAVS[i] /= fl; 805a388: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a38c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a390: 49ad ldr r1, [pc, #692] ; (805a648 ) 805a392: 0092 lsls r2, r2, #2 805a394: 440a add r2, r1 805a396: edd2 6a00 vldr s13, [r2] 805a39a: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805a39e: eec6 7a87 vdiv.f32 s15, s13, s14 805a3a2: 4aa9 ldr r2, [pc, #676] ; (805a648 ) 805a3a4: 009b lsls r3, r3, #2 805a3a6: 4413 add r3, r2 805a3a8: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rmsAVS[i], &skz[i]); 805a3ac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a3b0: 4aa5 ldr r2, [pc, #660] ; (805a648 ) 805a3b2: 009b lsls r3, r3, #2 805a3b4: 4413 add r3, r2 805a3b6: edd3 7a00 vldr s15, [r3] 805a3ba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a3be: 009b lsls r3, r3, #2 805a3c0: 4aa4 ldr r2, [pc, #656] ; (805a654 ) 805a3c2: 4413 add r3, r2 805a3c4: 4618 mov r0, r3 805a3c6: eeb0 0a67 vmov.f32 s0, s15 805a3ca: f7fb fb0d bl 80559e8 skz[i] = MedMeas(i, skz[i]); 805a3ce: f8d7 41d0 ldr.w r4, [r7, #464] ; 0x1d0 805a3d2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a3d6: b2d9 uxtb r1, r3 805a3d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a3dc: 4a9d ldr r2, [pc, #628] ; (805a654 ) 805a3de: 009b lsls r3, r3, #2 805a3e0: 4413 add r3, r2 805a3e2: edd3 7a00 vldr s15, [r3] 805a3e6: eeb0 0a67 vmov.f32 s0, s15 805a3ea: 4608 mov r0, r1 805a3ec: f00a fe08 bl 8065000 805a3f0: eef0 7a40 vmov.f32 s15, s0 805a3f4: 4a97 ldr r2, [pc, #604] ; (805a654 ) 805a3f6: 00a3 lsls r3, r4, #2 805a3f8: 4413 add r3, r2 805a3fa: edc3 7a00 vstr s15, [r3] skz[i] /= pardata.IKK; 805a3fe: 4b93 ldr r3, [pc, #588] ; (805a64c ) 805a400: ed93 7a04 vldr s14, [r3, #16] 805a404: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a408: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a40c: 4991 ldr r1, [pc, #580] ; (805a654 ) 805a40e: 0092 lsls r2, r2, #2 805a410: 440a add r2, r1 805a412: edd2 6a00 vldr s13, [r2] 805a416: eec6 7a87 vdiv.f32 s15, s13, s14 805a41a: 4a8e ldr r2, [pc, #568] ; (805a654 ) 805a41c: 009b lsls r3, r3, #2 805a41e: 4413 add r3, r2 805a420: edc3 7a00 vstr s15, [r3] LinToLog(&skz[i], &skzDB[i]); 805a424: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a428: 009b lsls r3, r3, #2 805a42a: 4a8a ldr r2, [pc, #552] ; (805a654 ) 805a42c: 1898 adds r0, r3, r2 805a42e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a432: 009b lsls r3, r3, #2 805a434: 4a88 ldr r2, [pc, #544] ; (805a658 ) 805a436: 4413 add r3, r2 805a438: 4619 mov r1, r3 805a43a: f00a fd51 bl 8064ee0 break; 805a43e: bf00 nop for(i = 0; i < 3; i++) 805a440: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a444: 3301 adds r3, #1 805a446: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a44a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a44e: 2b02 cmp r3, #2 805a450: f67f ab4c bls.w 8059aec } } if(MeanCnt >= (uint32_t) (AVG[pardata.AVG] * 8u)) 805a454: 4b7d ldr r3, [pc, #500] ; (805a64c ) 805a456: 7b5b ldrb r3, [r3, #13] 805a458: b2db uxtb r3, r3 805a45a: 461a mov r2, r3 805a45c: 4b7c ldr r3, [pc, #496] ; (805a650 ) 805a45e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a462: 00da lsls r2, r3, #3 805a464: 4b7d ldr r3, [pc, #500] ; (805a65c ) 805a466: 681b ldr r3, [r3, #0] 805a468: 429a cmp r2, r3 805a46a: d816 bhi.n 805a49a { MeanCnt = 0; 805a46c: 4b7b ldr r3, [pc, #492] ; (805a65c ) 805a46e: 2200 movs r2, #0 805a470: 601a str r2, [r3, #0] arm_fill_f32(0.0f, rmsAVS, 3); 805a472: 2103 movs r1, #3 805a474: 4874 ldr r0, [pc, #464] ; (805a648 ) 805a476: ed9f 0a7a vldr s0, [pc, #488] ; 805a660 805a47a: f06f fc5f bl 80c9d3c arm_fill_f32(0.0f, peakAVS, 3); 805a47e: 2103 movs r1, #3 805a480: 4878 ldr r0, [pc, #480] ; (805a664 ) 805a482: ed9f 0a77 vldr s0, [pc, #476] ; 805a660 805a486: f06f fc59 bl 80c9d3c arm_fill_f32(0.0f, fval, 3); 805a48a: f107 03fc add.w r3, r7, #252 ; 0xfc 805a48e: 2103 movs r1, #3 805a490: 4618 mov r0, r3 805a492: ed9f 0a73 vldr s0, [pc, #460] ; 805a660 805a496: f06f fc51 bl 80c9d3c } /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// if(pardata.IIN == VOLTS) 805a49a: 4b6c ldr r3, [pc, #432] ; (805a64c ) 805a49c: 799b ldrb r3, [r3, #6] 805a49e: b2db uxtb r3, r3 805a4a0: 2b02 cmp r3, #2 805a4a2: d16e bne.n 805a582 { // ïåðåâîäèì âñå âåëè÷èíû â ì for(k = 0; k <= DIS; k++) 805a4a4: 2300 movs r3, #0 805a4a6: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 805a4aa: e066 b.n 805a57a { if(k == ACC) 805a4ac: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a4b0: 2b00 cmp r3, #0 805a4b2: d110 bne.n 805a4d6 { LinToLog_mV(&skz[k], &skzDB[k], k); 805a4b4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a4b8: 009b lsls r3, r3, #2 805a4ba: 4a66 ldr r2, [pc, #408] ; (805a654 ) 805a4bc: 1898 adds r0, r3, r2 805a4be: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a4c2: 009b lsls r3, r3, #2 805a4c4: 4a64 ldr r2, [pc, #400] ; (805a658 ) 805a4c6: 4413 add r3, r2 805a4c8: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805a4cc: b2d2 uxtb r2, r2 805a4ce: 4619 mov r1, r3 805a4d0: f00a fd36 bl 8064f40 805a4d4: e04c b.n 805a570 } else if(k == VEL) 805a4d6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a4da: 2b01 cmp r3, #1 805a4dc: d122 bne.n 805a524 { skz[k] *= 0.001f; 805a4de: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a4e2: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805a4e6: 495b ldr r1, [pc, #364] ; (805a654 ) 805a4e8: 0092 lsls r2, r2, #2 805a4ea: 440a add r2, r1 805a4ec: edd2 7a00 vldr s15, [r2] 805a4f0: ed9f 7a5d vldr s14, [pc, #372] ; 805a668 805a4f4: ee67 7a87 vmul.f32 s15, s15, s14 805a4f8: 4a56 ldr r2, [pc, #344] ; (805a654 ) 805a4fa: 009b lsls r3, r3, #2 805a4fc: 4413 add r3, r2 805a4fe: edc3 7a00 vstr s15, [r3] LinToLog_mV(&skz[k], &skzDB[k], k); 805a502: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a506: 009b lsls r3, r3, #2 805a508: 4a52 ldr r2, [pc, #328] ; (805a654 ) 805a50a: 1898 adds r0, r3, r2 805a50c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a510: 009b lsls r3, r3, #2 805a512: 4a51 ldr r2, [pc, #324] ; (805a658 ) 805a514: 4413 add r3, r2 805a516: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805a51a: b2d2 uxtb r2, r2 805a51c: 4619 mov r1, r3 805a51e: f00a fd0f bl 8064f40 805a522: e025 b.n 805a570 } else if(k == DIS) 805a524: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a528: 2b02 cmp r3, #2 805a52a: d121 bne.n 805a570 { skz[k] *= 0.000001f; 805a52c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a530: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805a534: 4947 ldr r1, [pc, #284] ; (805a654 ) 805a536: 0092 lsls r2, r2, #2 805a538: 440a add r2, r1 805a53a: edd2 7a00 vldr s15, [r2] 805a53e: ed9f 7a4b vldr s14, [pc, #300] ; 805a66c 805a542: ee67 7a87 vmul.f32 s15, s15, s14 805a546: 4a43 ldr r2, [pc, #268] ; (805a654 ) 805a548: 009b lsls r3, r3, #2 805a54a: 4413 add r3, r2 805a54c: edc3 7a00 vstr s15, [r3] LinToLog_mV(&skz[k], &skzDB[k], k); 805a550: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a554: 009b lsls r3, r3, #2 805a556: 4a3f ldr r2, [pc, #252] ; (805a654 ) 805a558: 1898 adds r0, r3, r2 805a55a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a55e: 009b lsls r3, r3, #2 805a560: 4a3d ldr r2, [pc, #244] ; (805a658 ) 805a562: 4413 add r3, r2 805a564: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805a568: b2d2 uxtb r2, r2 805a56a: 4619 mov r1, r3 805a56c: f00a fce8 bl 8064f40 for(k = 0; k <= DIS; k++) 805a570: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a574: 3301 adds r3, #1 805a576: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 805a57a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805a57e: 2b02 cmp r3, #2 805a580: d994 bls.n 805a4ac /////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////// } ///////////////////////////////////////////////////////////////////////////////////// } if(pardata.HP < 2.0f) 805a582: 4b32 ldr r3, [pc, #200] ; (805a64c ) 805a584: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 805a588: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 805a58c: eef4 7ac7 vcmpe.f32 s15, s14 805a590: eef1 fa10 vmrs APSR_nzcv, fpscr 805a594: d514 bpl.n 805a5c0 { skz[VEL] = skzDB[VEL] = -1.0f; 805a596: 4b30 ldr r3, [pc, #192] ; (805a658 ) 805a598: 4a35 ldr r2, [pc, #212] ; (805a670 ) 805a59a: 605a str r2, [r3, #4] 805a59c: 4b2e ldr r3, [pc, #184] ; (805a658 ) 805a59e: 685b ldr r3, [r3, #4] 805a5a0: 4a2c ldr r2, [pc, #176] ; (805a654 ) 805a5a2: 6053 str r3, [r2, #4] skz[DIS] = skzDB[DIS] = -1.0f; 805a5a4: 4b2c ldr r3, [pc, #176] ; (805a658 ) 805a5a6: 4a32 ldr r2, [pc, #200] ; (805a670 ) 805a5a8: 609a str r2, [r3, #8] 805a5aa: 4b2b ldr r3, [pc, #172] ; (805a658 ) 805a5ac: 689b ldr r3, [r3, #8] 805a5ae: 4a29 ldr r2, [pc, #164] ; (805a654 ) 805a5b0: 6093 str r3, [r2, #8] if(pardata.HP < 2.0f) 805a5b2: e005 b.n 805a5c0 } } else { RepeatKm = true; 805a5b4: 4b2f ldr r3, [pc, #188] ; (805a674 ) 805a5b6: 2201 movs r2, #1 805a5b8: 701a strb r2, [r3, #0] timeRelax = 48; 805a5ba: 4b2f ldr r3, [pc, #188] ; (805a678 ) 805a5bc: 2230 movs r2, #48 ; 0x30 805a5be: 601a str r2, [r3, #0] } tick = DWT->CYCCNT - tick; 805a5c0: 4b2e ldr r3, [pc, #184] ; (805a67c ) 805a5c2: 685a ldr r2, [r3, #4] 805a5c4: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805a5c8: 1ad3 subs r3, r2, r3 805a5ca: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 805a5ce: 4b2c ldr r3, [pc, #176] ; (805a680 ) 805a5d0: 681b ldr r3, [r3, #0] 805a5d2: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 805a5d6: 429a cmp r2, r3 805a5d8: f249 857f bls.w 80640da { maxtick = tick; 805a5dc: 4a28 ldr r2, [pc, #160] ; (805a680 ) 805a5de: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805a5e2: 6013 str r3, [r2, #0] if(maxtick > 24384000) 805a5e4: 4b26 ldr r3, [pc, #152] ; (805a680 ) 805a5e6: 681b ldr r3, [r3, #0] 805a5e8: 4a26 ldr r2, [pc, #152] ; (805a684 ) 805a5ea: 4293 cmp r3, r2 805a5ec: f249 8575 bls.w 80640da { tick = 0; 805a5f0: 2300 movs r3, #0 805a5f2: f8c7 321c str.w r3, [r7, #540] ; 0x21c } } } break; 805a5f6: f009 bd70 b.w 80640da case ROLL: //TODO if(measuring) 805a5fa: 4b23 ldr r3, [pc, #140] ; (805a688 ) 805a5fc: 781b ldrb r3, [r3, #0] 805a5fe: b2db uxtb r3, r3 805a600: 2b00 cmp r3, #0 805a602: f009 856c beq.w 80640de { GetData(); 805a606: f00a f82d bl 8064664 j = 0; 805a60a: 2300 movs r3, #0 805a60c: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805a610: 4b0e ldr r3, [pc, #56] ; (805a64c ) 805a612: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805a616: f003 0304 and.w r3, r3, #4 805a61a: 2b00 cmp r3, #0 805a61c: d005 beq.n 805a62a CalculateGain(Ns); 805a61e: 4b1b ldr r3, [pc, #108] ; (805a68c ) 805a620: 681b ldr r3, [r3, #0] 805a622: 4618 mov r0, r3 805a624: f7fb fa02 bl 8055a2c 805a628: e059 b.n 805a6de else { Stability = (Nr * 4) + 1; 805a62a: 4b19 ldr r3, [pc, #100] ; (805a690 ) 805a62c: 881b ldrh r3, [r3, #0] 805a62e: b29b uxth r3, r3 805a630: 009b lsls r3, r3, #2 805a632: 3301 adds r3, #1 805a634: 461a mov r2, r3 805a636: 4b17 ldr r3, [pc, #92] ; (805a694 ) 805a638: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805a63a: 2300 movs r3, #0 805a63c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a640: e03c b.n 805a6bc 805a642: bf00 nop 805a644: 64052800 .word 0x64052800 805a648: 20021ce8 .word 0x20021ce8 805a64c: 20023e60 .word 0x20023e60 805a650: 080eeb38 .word 0x080eeb38 805a654: 20021540 .word 0x20021540 805a658: 2002154c .word 0x2002154c 805a65c: 20020db8 .word 0x20020db8 805a660: 00000000 .word 0x00000000 805a664: 20021cfc .word 0x20021cfc 805a668: 3a83126f .word 0x3a83126f 805a66c: 358637bd .word 0x358637bd 805a670: bf800000 .word 0xbf800000 805a674: 20020dac .word 0x20020dac 805a678: 20020d6c .word 0x20020d6c 805a67c: e0001000 .word 0xe0001000 805a680: 20021630 .word 0x20021630 805a684: 01741200 .word 0x01741200 805a688: 20020daf .word 0x20020daf 805a68c: 20021cdc .word 0x20021cdc 805a690: 20021d20 .word 0x20021d20 805a694: 20020da8 .word 0x20020da8 { if(In16[i].lg > 0xE00000) 805a698: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a69c: 4aa6 ldr r2, [pc, #664] ; (805a938 ) 805a69e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805a6a2: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805a6a6: d904 bls.n 805a6b2 j++; 805a6a8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a6ac: 3301 adds r3, #1 805a6ae: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805a6b2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a6b6: 3301 adds r3, #1 805a6b8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a6bc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a6c0: 4b9e ldr r3, [pc, #632] ; (805a93c ) 805a6c2: 681b ldr r3, [r3, #0] 805a6c4: 429a cmp r2, r3 805a6c6: d3e7 bcc.n 805a698 } if(j >= 2) 805a6c8: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805a6cc: 2b01 cmp r3, #1 805a6ce: d903 bls.n 805a6d8 OVERDRIVE = true; 805a6d0: 4b9b ldr r3, [pc, #620] ; (805a940 ) 805a6d2: 2201 movs r2, #1 805a6d4: 701a strb r2, [r3, #0] 805a6d6: e002 b.n 805a6de else OVERDRIVE = false; 805a6d8: 4b99 ldr r3, [pc, #612] ; (805a940 ) 805a6da: 2200 movs r2, #0 805a6dc: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805a6de: 4b99 ldr r3, [pc, #612] ; (805a944 ) 805a6e0: 781b ldrb r3, [r3, #0] 805a6e2: b2db uxtb r3, r3 805a6e4: 2b00 cmp r3, #0 805a6e6: d009 beq.n 805a6fc { Stability = 0; 805a6e8: 4b97 ldr r3, [pc, #604] ; (805a948 ) 805a6ea: 2200 movs r2, #0 805a6ec: 601a str r2, [r3, #0] MeanCnt = 0; 805a6ee: 4b97 ldr r3, [pc, #604] ; (805a94c ) 805a6f0: 2200 movs r2, #0 805a6f2: 601a str r2, [r3, #0] NSamples = 0; 805a6f4: 4b96 ldr r3, [pc, #600] ; (805a950 ) 805a6f6: 2200 movs r2, #0 805a6f8: 601a str r2, [r3, #0] 805a6fa: e00d b.n 805a718 } else { if(Stability <= (Nr * 4)) 805a6fc: 4b95 ldr r3, [pc, #596] ; (805a954 ) 805a6fe: 881b ldrh r3, [r3, #0] 805a700: b29b uxth r3, r3 805a702: 009b lsls r3, r3, #2 805a704: 461a mov r2, r3 805a706: 4b90 ldr r3, [pc, #576] ; (805a948 ) 805a708: 681b ldr r3, [r3, #0] 805a70a: 429a cmp r2, r3 805a70c: d304 bcc.n 805a718 Stability++; 805a70e: 4b8e ldr r3, [pc, #568] ; (805a948 ) 805a710: 681b ldr r3, [r3, #0] 805a712: 3301 adds r3, #1 805a714: 4a8c ldr r2, [pc, #560] ; (805a948 ) 805a716: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805a718: 4b8a ldr r3, [pc, #552] ; (805a944 ) 805a71a: 781b ldrb r3, [r3, #0] 805a71c: b2db uxtb r3, r3 805a71e: 2b00 cmp r3, #0 805a720: f041 87e7 bne.w 805c6f2 805a724: 4b8b ldr r3, [pc, #556] ; (805a954 ) 805a726: 881b ldrh r3, [r3, #0] 805a728: b29b uxth r3, r3 805a72a: 009b lsls r3, r3, #2 805a72c: 461a mov r2, r3 805a72e: 4b86 ldr r3, [pc, #536] ; (805a948 ) 805a730: 681b ldr r3, [r3, #0] 805a732: 429a cmp r2, r3 805a734: f081 87dd bcs.w 805c6f2 { if(NSamples < 20) 805a738: 4b85 ldr r3, [pc, #532] ; (805a950 ) 805a73a: 681b ldr r3, [r3, #0] 805a73c: 2b13 cmp r3, #19 805a73e: d804 bhi.n 805a74a { HAL_Delay(10); 805a740: 200a movs r0, #10 805a742: f058 fda1 bl 80b3288 if(NSamples < 20) 805a746: f001 bfd9 b.w 805c6fc } else { MeanCnt++; 805a74a: 4b80 ldr r3, [pc, #512] ; (805a94c ) 805a74c: 681b ldr r3, [r3, #0] 805a74e: 3301 adds r3, #1 805a750: 4a7e ldr r2, [pc, #504] ; (805a94c ) 805a752: 6013 str r3, [r2, #0] //************************************************************************************************************** fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805a754: 4b79 ldr r3, [pc, #484] ; (805a93c ) 805a756: 681b ldr r3, [r3, #0] 805a758: 085b lsrs r3, r3, #1 805a75a: ee07 3a90 vmov s15, r3 805a75e: eeb8 7a67 vcvt.f32.u32 s14, s15 805a762: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805a766: eec6 7a87 vdiv.f32 s15, s13, s14 805a76a: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805a76e: 4b7a ldr r3, [pc, #488] ; (805a958 ) 805a770: edd3 7a00 vldr s15, [r3] 805a774: eeb7 7ae7 vcvt.f64.f32 d7, s15 805a778: ed9f 6b6d vldr d6, [pc, #436] ; 805a930 805a77c: ee27 7b06 vmul.f64 d7, d7, d6 805a780: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805a784: 4b75 ldr r3, [pc, #468] ; (805a95c ) 805a786: edd3 7a04 vldr s15, [r3, #16] 805a78a: eeb7 6ae7 vcvt.f64.f32 d6, s15 805a78e: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805a792: ee85 7b06 vdiv.f64 d7, d5, d6 805a796: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805a79a: 2300 movs r3, #0 805a79c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a7a0: e026 b.n 805a7f0 { Buff64[i] = (float64_t) In16[i].lg; 805a7a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a7a6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a7aa: 4963 ldr r1, [pc, #396] ; (805a938 ) 805a7ac: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805a7b0: ee07 2a90 vmov s15, r2 805a7b4: eeb8 7b67 vcvt.f64.u32 d7, s15 805a7b8: 4a69 ldr r2, [pc, #420] ; (805a960 ) 805a7ba: 00db lsls r3, r3, #3 805a7bc: 4413 add r3, r2 805a7be: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805a7c2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a7c6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a7ca: 4965 ldr r1, [pc, #404] ; (805a960 ) 805a7cc: 00d2 lsls r2, r2, #3 805a7ce: 440a add r2, r1 805a7d0: ed92 6b00 vldr d6, [r2] 805a7d4: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805a7d8: ee26 7b07 vmul.f64 d7, d6, d7 805a7dc: 4a60 ldr r2, [pc, #384] ; (805a960 ) 805a7de: 00db lsls r3, r3, #3 805a7e0: 4413 add r3, r2 805a7e2: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805a7e6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a7ea: 3301 adds r3, #1 805a7ec: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a7f0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a7f4: 4b51 ldr r3, [pc, #324] ; (805a93c ) 805a7f6: 681b ldr r3, [r3, #0] 805a7f8: 429a cmp r2, r3 805a7fa: d3d2 bcc.n 805a7a2 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805a7fc: 4b4f ldr r3, [pc, #316] ; (805a93c ) 805a7fe: 681b ldr r3, [r3, #0] 805a800: 4a57 ldr r2, [pc, #348] ; (805a960 ) 805a802: 4957 ldr r1, [pc, #348] ; (805a960 ) 805a804: 4857 ldr r0, [pc, #348] ; (805a964 ) 805a806: f06f fce9 bl 80ca1dc arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805a80a: 4b4c ldr r3, [pc, #304] ; (805a93c ) 805a80c: 681b ldr r3, [r3, #0] 805a80e: 4a54 ldr r2, [pc, #336] ; (805a960 ) 805a810: 4953 ldr r1, [pc, #332] ; (805a960 ) 805a812: 4855 ldr r0, [pc, #340] ; (805a968 ) 805a814: f06f fce2 bl 80ca1dc for(i = 0; i < Ns; i++) { 805a818: 2300 movs r3, #0 805a81a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a81e: e014 b.n 805a84a Out[i] = (float32_t) Buff64[i]; 805a820: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a824: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a828: 494d ldr r1, [pc, #308] ; (805a960 ) 805a82a: 00d2 lsls r2, r2, #3 805a82c: 440a add r2, r1 805a82e: ed92 7b00 vldr d7, [r2] 805a832: eef7 7bc7 vcvt.f32.f64 s15, d7 805a836: 4a4d ldr r2, [pc, #308] ; (805a96c ) 805a838: 009b lsls r3, r3, #2 805a83a: 4413 add r3, r2 805a83c: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 805a840: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a844: 3301 adds r3, #1 805a846: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a84a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a84e: 4b3b ldr r3, [pc, #236] ; (805a93c ) 805a850: 681b ldr r3, [r3, #0] 805a852: 429a cmp r2, r3 805a854: d3e4 bcc.n 805a820 } WindowFunc(HANN, Ns); 805a856: 4b39 ldr r3, [pc, #228] ; (805a93c ) 805a858: 681b ldr r3, [r3, #0] 805a85a: b29b uxth r3, r3 805a85c: 4619 mov r1, r3 805a85e: 2001 movs r0, #1 805a860: f009 ff90 bl 8064784 initFFT(Out, In, Forward); 805a864: 2200 movs r2, #0 805a866: 4942 ldr r1, [pc, #264] ; (805a970 ) 805a868: 4840 ldr r0, [pc, #256] ; (805a96c ) 805a86a: f7fb fc5f bl 805612c In[0] = In[1] = 0.0f; 805a86e: 4b40 ldr r3, [pc, #256] ; (805a970 ) 805a870: f04f 0200 mov.w r2, #0 805a874: 605a str r2, [r3, #4] 805a876: 4b3e ldr r3, [pc, #248] ; (805a970 ) 805a878: 685b ldr r3, [r3, #4] 805a87a: 4a3d ldr r2, [pc, #244] ; (805a970 ) 805a87c: 6013 str r3, [r2, #0] arm_cmplx_mag_f32(In, Out, Ns); 805a87e: 4b2f ldr r3, [pc, #188] ; (805a93c ) 805a880: 681b ldr r3, [r3, #0] 805a882: 461a mov r2, r3 805a884: 4939 ldr r1, [pc, #228] ; (805a96c ) 805a886: 483a ldr r0, [pc, #232] ; (805a970 ) 805a888: f06f fe30 bl 80ca4ec arm_scale_f32(Out, fNrm, In, (Ns >> 1)); 805a88c: 4b2b ldr r3, [pc, #172] ; (805a93c ) 805a88e: 681b ldr r3, [r3, #0] 805a890: 085b lsrs r3, r3, #1 805a892: 461a mov r2, r3 805a894: 4936 ldr r1, [pc, #216] ; (805a970 ) 805a896: ed97 0a85 vldr s0, [r7, #532] ; 0x214 805a89a: 4834 ldr r0, [pc, #208] ; (805a96c ) 805a89c: f06f ff54 bl 80ca748 //************************************************************************************************************** if(AVG[pardata.AVG] > 1) 805a8a0: 4b2e ldr r3, [pc, #184] ; (805a95c ) 805a8a2: 7b5b ldrb r3, [r3, #13] 805a8a4: b2db uxtb r3, r3 805a8a6: 461a mov r2, r3 805a8a8: 4b32 ldr r3, [pc, #200] ; (805a974 ) 805a8aa: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a8ae: 2b01 cmp r3, #1 805a8b0: d92a bls.n 805a908 { if(MeanCnt == 1) 805a8b2: 4b26 ldr r3, [pc, #152] ; (805a94c ) 805a8b4: 681b ldr r3, [r3, #0] 805a8b6: 2b01 cmp r3, #1 805a8b8: d108 bne.n 805a8cc FastCopy16(IN_Reg, MEAN_Reg, _2Ns); 805a8ba: 4b20 ldr r3, [pc, #128] ; (805a93c ) 805a8bc: 681b ldr r3, [r3, #0] 805a8be: 005b lsls r3, r3, #1 805a8c0: 461a mov r2, r3 805a8c2: 2103 movs r1, #3 805a8c4: 2001 movs r0, #1 805a8c6: f009 fd57 bl 8064378 805a8ca: e01d b.n 805a908 else { scale = 1.0f / ((float32_t) MeanCnt); 805a8cc: 4b1f ldr r3, [pc, #124] ; (805a94c ) 805a8ce: 681b ldr r3, [r3, #0] 805a8d0: ee07 3a90 vmov s15, r3 805a8d4: eeb8 7a67 vcvt.f32.u32 s14, s15 805a8d8: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805a8dc: eec6 7a87 vdiv.f32 s15, s13, s14 805a8e0: edc7 7a86 vstr s15, [r7, #536] ; 0x218 ARM_ADD_F32(IN_Reg, MEAN_Reg, MEAN_Reg, _2Ns); 805a8e4: 4b15 ldr r3, [pc, #84] ; (805a93c ) 805a8e6: 681b ldr r3, [r3, #0] 805a8e8: 005b lsls r3, r3, #1 805a8ea: 2203 movs r2, #3 805a8ec: 2103 movs r1, #3 805a8ee: 2001 movs r0, #1 805a8f0: f009 fdce bl 8064490 ARM_SCALE_F32(MEAN_Reg, scale, IN_Reg, _2Ns); 805a8f4: 4b11 ldr r3, [pc, #68] ; (805a93c ) 805a8f6: 681b ldr r3, [r3, #0] 805a8f8: 005b lsls r3, r3, #1 805a8fa: 461a mov r2, r3 805a8fc: 2101 movs r1, #1 805a8fe: ed97 0a86 vldr s0, [r7, #536] ; 0x218 805a902: 2003 movs r0, #3 805a904: f009 fe4a bl 806459c } } if(MeanCnt == AVG[pardata.AVG]) 805a908: 4b14 ldr r3, [pc, #80] ; (805a95c ) 805a90a: 7b5b ldrb r3, [r3, #13] 805a90c: b2db uxtb r3, r3 805a90e: 461a mov r2, r3 805a910: 4b18 ldr r3, [pc, #96] ; (805a974 ) 805a912: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805a916: 461a mov r2, r3 805a918: 4b0c ldr r3, [pc, #48] ; (805a94c ) 805a91a: 681b ldr r3, [r3, #0] 805a91c: 429a cmp r2, r3 805a91e: f041 86ed bne.w 805c6fc { for(i = 0; i < (Ns >> 1); i++) 805a922: 2300 movs r3, #0 805a924: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a928: e05a b.n 805a9e0 805a92a: bf00 nop 805a92c: f3af 8000 nop.w 805a930: 18000018 .word 0x18000018 805a934: 3e980000 .word 0x3e980000 805a938: 20058020 .word 0x20058020 805a93c: 20021cdc .word 0x20021cdc 805a940: 20021531 .word 0x20021531 805a944: 20020d7e .word 0x20020d7e 805a948: 20020da8 .word 0x20020da8 805a94c: 20020db8 .word 0x20020db8 805a950: 20020d88 .word 0x20020d88 805a954: 20021d20 .word 0x20021d20 805a958: 20020080 .word 0x20020080 805a95c: 20023e60 .word 0x20023e60 805a960: 20037ae0 .word 0x20037ae0 805a964: 20026564 .word 0x20026564 805a968: 20025f00 .word 0x20025f00 805a96c: 20008000 .word 0x20008000 805a970: 200279c0 .word 0x200279c0 805a974: 080eeb38 .word 0x080eeb38 { In[i] *= 0.70710678f; 805a978: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a97c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a980: 49b5 ldr r1, [pc, #724] ; (805ac58 ) 805a982: 0092 lsls r2, r2, #2 805a984: 440a add r2, r1 805a986: edd2 7a00 vldr s15, [r2] 805a98a: ed9f 7ab4 vldr s14, [pc, #720] ; 805ac5c 805a98e: ee67 7a87 vmul.f32 s15, s15, s14 805a992: 4ab1 ldr r2, [pc, #708] ; (805ac58 ) 805a994: 009b lsls r3, r3, #2 805a996: 4413 add r3, r2 805a998: edc3 7a00 vstr s15, [r3] In[i] *= 2.0f; 805a99c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9a0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805a9a4: 49ac ldr r1, [pc, #688] ; (805ac58 ) 805a9a6: 0092 lsls r2, r2, #2 805a9a8: 440a add r2, r1 805a9aa: edd2 7a00 vldr s15, [r2] 805a9ae: ee77 7aa7 vadd.f32 s15, s15, s15 805a9b2: 4aa9 ldr r2, [pc, #676] ; (805ac58 ) 805a9b4: 009b lsls r3, r3, #2 805a9b6: 4413 add r3, r2 805a9b8: edc3 7a00 vstr s15, [r3] LinToLog(&In[i], &In[i]); 805a9bc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9c0: 009b lsls r3, r3, #2 805a9c2: 4aa5 ldr r2, [pc, #660] ; (805ac58 ) 805a9c4: 1898 adds r0, r3, r2 805a9c6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9ca: 009b lsls r3, r3, #2 805a9cc: 4aa2 ldr r2, [pc, #648] ; (805ac58 ) 805a9ce: 4413 add r3, r2 805a9d0: 4619 mov r1, r3 805a9d2: f00a fa85 bl 8064ee0 for(i = 0; i < (Ns >> 1); i++) 805a9d6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9da: 3301 adds r3, #1 805a9dc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805a9e0: 4b9f ldr r3, [pc, #636] ; (805ac60 ) 805a9e2: 681b ldr r3, [r3, #0] 805a9e4: 085a lsrs r2, r3, #1 805a9e6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805a9ea: 429a cmp r2, r3 805a9ec: d8c4 bhi.n 805a978 } FastCopy16(IN_Reg, SCR_Reg, Ns); 805a9ee: 4b9c ldr r3, [pc, #624] ; (805ac60 ) 805a9f0: 681b ldr r3, [r3, #0] 805a9f2: 461a mov r2, r3 805a9f4: 2104 movs r1, #4 805a9f6: 2001 movs r0, #1 805a9f8: f009 fcbe bl 8064378 READY_TO_SEE = true; 805a9fc: 4b99 ldr r3, [pc, #612] ; (805ac64 ) 805a9fe: 2201 movs r2, #1 805aa00: 701a strb r2, [r3, #0] //uint32_t smooth = 38; CALC_MEAN(38); 805aa02: 2026 movs r0, #38 ; 0x26 805aa04: f00c fa42 bl 8066e8c /////////////////////////////////////////////////////////////////////////////////////// ds = (pardata.D_OUTER + pardata.D_INNER) / 2.0f; 805aa08: 4b97 ldr r3, [pc, #604] ; (805ac68 ) 805aa0a: ed93 7a31 vldr s14, [r3, #196] ; 0xc4 805aa0e: 4b96 ldr r3, [pc, #600] ; (805ac68 ) 805aa10: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 805aa14: ee37 7a27 vadd.f32 s14, s14, s15 805aa18: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 805aa1c: eec7 7a26 vdiv.f32 s15, s14, s13 805aa20: edc7 7a81 vstr s15, [r7, #516] ; 0x204 fs = pardata.D_ANGLE; 805aa24: 4b90 ldr r3, [pc, #576] ; (805ac68 ) 805aa26: f8d3 30cc ldr.w r3, [r3, #204] ; 0xcc 805aa2a: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 fs *= 0.01745329251994329576923690768489f; // ïåðåâîä â ðàäèàíû 805aa2e: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805aa32: ed9f 7a8e vldr s14, [pc, #568] ; 805ac6c 805aa36: ee67 7a87 vmul.f32 s15, s15, s14 805aa3a: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 Fvr = pardata.D_RATE / 60.0f; 805aa3e: 4b8a ldr r3, [pc, #552] ; (805ac68 ) 805aa40: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 805aa44: ee07 3a90 vmov s15, r3 805aa48: eeb8 7a67 vcvt.f32.u32 s14, s15 805aa4c: eddf 6a88 vldr s13, [pc, #544] ; 805ac70 805aa50: eec7 7a26 vdiv.f32 s15, s14, s13 805aa54: 4b87 ldr r3, [pc, #540] ; (805ac74 ) 805aa56: edc3 7a00 vstr s15, [r3] Fc = 0.5f * Fvr * (1 - ((pardata.D_ROLL / ds) * arm_cos_f32(fs))); 805aa5a: 4b86 ldr r3, [pc, #536] ; (805ac74 ) 805aa5c: edd3 7a00 vldr s15, [r3] 805aa60: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805aa64: ee27 8a87 vmul.f32 s16, s15, s14 805aa68: 4b7f ldr r3, [pc, #508] ; (805ac68 ) 805aa6a: ed93 7a30 vldr s14, [r3, #192] ; 0xc0 805aa6e: edd7 7a81 vldr s15, [r7, #516] ; 0x204 805aa72: eec7 8a27 vdiv.f32 s17, s14, s15 805aa76: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805aa7a: eeb0 0a67 vmov.f32 s0, s15 805aa7e: f057 fd99 bl 80b25b4 805aa82: eef0 7a40 vmov.f32 s15, s0 805aa86: ee68 7aa7 vmul.f32 s15, s17, s15 805aa8a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 805aa8e: ee77 7a67 vsub.f32 s15, s14, s15 805aa92: ee68 7a27 vmul.f32 s15, s16, s15 805aa96: 4b78 ldr r3, [pc, #480] ; (805ac78 ) 805aa98: edc3 7a00 vstr s15, [r3] Fn = Fc * (float32_t) pardata.ROLL_COUNT; 805aa9c: 4b72 ldr r3, [pc, #456] ; (805ac68 ) 805aa9e: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 805aaa2: ee07 3a90 vmov s15, r3 805aaa6: eeb8 7a67 vcvt.f32.u32 s14, s15 805aaaa: 4b73 ldr r3, [pc, #460] ; (805ac78 ) 805aaac: edd3 7a00 vldr s15, [r3] 805aab0: ee67 7a27 vmul.f32 s15, s14, s15 805aab4: 4b71 ldr r3, [pc, #452] ; (805ac7c ) 805aab6: edc3 7a00 vstr s15, [r3] Fv = (Fvr - Fc) * (float32_t) pardata.ROLL_COUNT; 805aaba: 4b6e ldr r3, [pc, #440] ; (805ac74 ) 805aabc: ed93 7a00 vldr s14, [r3] 805aac0: 4b6d ldr r3, [pc, #436] ; (805ac78 ) 805aac2: edd3 7a00 vldr s15, [r3] 805aac6: ee37 7a67 vsub.f32 s14, s14, s15 805aaca: 4b67 ldr r3, [pc, #412] ; (805ac68 ) 805aacc: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 805aad0: ee07 3a90 vmov s15, r3 805aad4: eef8 7a67 vcvt.f32.u32 s15, s15 805aad8: ee67 7a27 vmul.f32 s15, s14, s15 805aadc: 4b68 ldr r3, [pc, #416] ; (805ac80 ) 805aade: edc3 7a00 vstr s15, [r3] Ftk = 0.5f * Fvr * (ds / pardata.D_ROLL) * (1 - (((pardata.D_ROLL * pardata.D_ROLL) / (ds * ds)) * (arm_cos_f32(fs) * arm_cos_f32(fs)))); 805aae2: 4b64 ldr r3, [pc, #400] ; (805ac74 ) 805aae4: edd3 7a00 vldr s15, [r3] 805aae8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805aaec: ee27 7a87 vmul.f32 s14, s15, s14 805aaf0: 4b5d ldr r3, [pc, #372] ; (805ac68 ) 805aaf2: edd3 6a30 vldr s13, [r3, #192] ; 0xc0 805aaf6: ed97 6a81 vldr s12, [r7, #516] ; 0x204 805aafa: eec6 7a26 vdiv.f32 s15, s12, s13 805aafe: ee27 8a27 vmul.f32 s16, s14, s15 805ab02: 4b59 ldr r3, [pc, #356] ; (805ac68 ) 805ab04: ed93 7a30 vldr s14, [r3, #192] ; 0xc0 805ab08: 4b57 ldr r3, [pc, #348] ; (805ac68 ) 805ab0a: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 805ab0e: ee27 7a27 vmul.f32 s14, s14, s15 805ab12: edd7 6a81 vldr s13, [r7, #516] ; 0x204 805ab16: edd7 7a81 vldr s15, [r7, #516] ; 0x204 805ab1a: ee66 7aa7 vmul.f32 s15, s13, s15 805ab1e: eec7 8a27 vdiv.f32 s17, s14, s15 805ab22: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805ab26: eeb0 0a67 vmov.f32 s0, s15 805ab2a: f057 fd43 bl 80b25b4 805ab2e: eeb0 9a40 vmov.f32 s18, s0 805ab32: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805ab36: eeb0 0a67 vmov.f32 s0, s15 805ab3a: f057 fd3b bl 80b25b4 805ab3e: eef0 7a40 vmov.f32 s15, s0 805ab42: ee69 7a27 vmul.f32 s15, s18, s15 805ab46: ee68 7aa7 vmul.f32 s15, s17, s15 805ab4a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 805ab4e: ee77 7a67 vsub.f32 s15, s14, s15 805ab52: ee68 7a27 vmul.f32 s15, s16, s15 805ab56: 4b4b ldr r3, [pc, #300] ; (805ac84 ) 805ab58: edc3 7a00 vstr s15, [r3] /////////////////////////////////////////////////////////////////////////////////////// memset((void *) Freq, false, sizeof(Freq)); 805ab5c: f44f 5280 mov.w r2, #4096 ; 0x1000 805ab60: 2100 movs r1, #0 805ab62: 4849 ldr r0, [pc, #292] ; (805ac88 ) 805ab64: f072 fa8c bl 80cd080 for(i = 0; i < NUM_DEFECTS; i++) 805ab68: 2300 movs r3, #0 805ab6a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ab6e: e009 b.n 805ab84 DEFECTS[i] = false; 805ab70: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab74: 4a45 ldr r2, [pc, #276] ; (805ac8c ) 805ab76: 2100 movs r1, #0 805ab78: 54d1 strb r1, [r2, r3] for(i = 0; i < NUM_DEFECTS; i++) 805ab7a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab7e: 3301 adds r3, #1 805ab80: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ab84: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab88: 2b0b cmp r3, #11 805ab8a: d9f1 bls.n 805ab70 for(i = 1; i < 4096; i++) 805ab8c: 2301 movs r3, #1 805ab8e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ab92: e033 b.n 805abfc { //if(Freq[i] == false) //{ //if((i == 1) || (i == 4095)) //{ df = (ScrA_f32(i) - CmplxA_f32(i)); 805ab94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ab98: 009a lsls r2, r3, #2 805ab9a: 4b3d ldr r3, [pc, #244] ; (805ac90 ) 805ab9c: 4413 add r3, r2 805ab9e: ed93 7a00 vldr s14, [r3] 805aba2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aba6: 009a lsls r2, r3, #2 805aba8: 4b3a ldr r3, [pc, #232] ; (805ac94 ) 805abaa: 4413 add r3, r2 805abac: edd3 7a00 vldr s15, [r3] 805abb0: ee77 7a67 vsub.f32 s15, s14, s15 805abb4: edc7 7a80 vstr s15, [r7, #512] ; 0x200 if(df > 0.0f) 805abb8: edd7 7a80 vldr s15, [r7, #512] ; 0x200 805abbc: eef5 7ac0 vcmpe.f32 s15, #0.0 805abc0: eef1 fa10 vmrs APSR_nzcv, fpscr 805abc4: dd15 ble.n 805abf2 { df += 0.5f; 805abc6: edd7 7a80 vldr s15, [r7, #512] ; 0x200 805abca: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805abce: ee77 7a87 vadd.f32 s15, s15, s14 805abd2: edc7 7a80 vstr s15, [r7, #512] ; 0x200 if((df >= ROLL_LEVEL)) { 805abd6: edd7 7a80 vldr s15, [r7, #512] ; 0x200 805abda: eeb1 7a08 vmov.f32 s14, #24 ; 0x40c00000 6.0 805abde: eef4 7ac7 vcmpe.f32 s15, s14 805abe2: eef1 fa10 vmrs APSR_nzcv, fpscr 805abe6: db04 blt.n 805abf2 Freq[i] = true; 805abe8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805abec: 4a26 ldr r2, [pc, #152] ; (805ac88 ) 805abee: 2101 movs r1, #1 805abf0: 54d1 strb r1, [r2, r3] for(i = 1; i < 4096; i++) 805abf2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805abf6: 3301 adds r3, #1 805abf8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805abfc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ac00: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 805ac04: d3c6 bcc.n 805ab94 uint32_t jj[3]; ///////////////////////////////////////////////////////////////////// //////////////////// Ãèåíèå âàëà //////////////////////////////////// memset((void *) limit, false, sizeof(limit)); 805ac06: f507 7394 add.w r3, r7, #296 ; 0x128 805ac0a: 220f movs r2, #15 805ac0c: 2100 movs r1, #0 805ac0e: 4618 mov r0, r3 805ac10: f072 fa36 bl 80cd080 memset((void *) limit_1, false, sizeof(limit_1)); 805ac14: f507 738c add.w r3, r7, #280 ; 0x118 805ac18: 220f movs r2, #15 805ac1a: 2100 movs r1, #0 805ac1c: 4618 mov r0, r3 805ac1e: f072 fa2f bl 80cd080 arm_fill_f32(0.0f, frq, 15); 805ac22: f507 73ba add.w r3, r7, #372 ; 0x174 805ac26: 210f movs r1, #15 805ac28: 4618 mov r0, r3 805ac2a: ed9f 0a1b vldr s0, [pc, #108] ; 805ac98 805ac2e: f06f f885 bl 80c9d3c arm_fill_f32(0.0f, frq_1, 15); 805ac32: f507 739c add.w r3, r7, #312 ; 0x138 805ac36: 210f movs r1, #15 805ac38: 4618 mov r0, r3 805ac3a: ed9f 0a17 vldr s0, [pc, #92] ; 805ac98 805ac3e: f06f f87d bl 80c9d3c k = 0; 805ac42: 2300 movs r3, #0 805ac44: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805ac48: 2300 movs r3, #0 805ac4a: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 7; i++) 805ac4e: 2300 movs r3, #0 805ac50: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ac54: e0a2 b.n 805ad9c 805ac56: bf00 nop 805ac58: 200279c0 .word 0x200279c0 805ac5c: 3f3504f3 .word 0x3f3504f3 805ac60: 20021cdc .word 0x20021cdc 805ac64: 20020d8e .word 0x20020d8e 805ac68: 20023e60 .word 0x20023e60 805ac6c: 3c8efa35 .word 0x3c8efa35 805ac70: 42700000 .word 0x42700000 805ac74: 20026d00 .word 0x20026d00 805ac78: 20068320 .word 0x20068320 805ac7c: 200267a8 .word 0x200267a8 805ac80: 200261c4 .word 0x200261c4 805ac84: 20037a40 .word 0x20037a40 805ac88: 20018000 .word 0x20018000 805ac8c: 20026f10 .word 0x20026f10 805ac90: 64080000 .word 0x64080000 805ac94: 64090000 .word 0x64090000 805ac98: 00000000 .word 0x00000000 { frq[i] = Fvr * (float32_t)(i + 1); 805ac9c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805aca0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805aca4: 3201 adds r2, #1 805aca6: ee07 2a90 vmov s15, r2 805acaa: eeb8 7a67 vcvt.f32.u32 s14, s15 805acae: 4ab3 ldr r2, [pc, #716] ; (805af7c ) 805acb0: edd2 7a00 vldr s15, [r2] 805acb4: ee67 7a27 vmul.f32 s15, s14, s15 805acb8: 009b lsls r3, r3, #2 805acba: f507 720a add.w r2, r7, #552 ; 0x228 805acbe: 4413 add r3, r2 805acc0: 3bb4 subs r3, #180 ; 0xb4 805acc2: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805acc6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805acca: 009b lsls r3, r3, #2 805accc: f507 720a add.w r2, r7, #552 ; 0x228 805acd0: 4413 add r3, r2 805acd2: 3bb4 subs r3, #180 ; 0xb4 805acd4: ed93 7a00 vldr s14, [r3] 805acd8: eddf 6aa9 vldr s13, [pc, #676] ; 805af80 805acdc: eec7 7a26 vdiv.f32 s15, s14, s13 805ace0: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805ace4: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ace8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805acec: ee77 7a87 vadd.f32 s15, s15, s14 805acf0: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805acf4: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805acf8: eefc 7ae7 vcvt.u32.f32 s15, s15 805acfc: ee17 2a90 vmov r2, s15 805ad00: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad04: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805ad06: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad0a: 685b ldr r3, [r3, #4] 805ad0c: 1e5a subs r2, r3, #1 805ad0e: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad12: 601a str r2, [r3, #0] 805ad14: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad18: 685b ldr r3, [r3, #4] 805ad1a: 2b01 cmp r3, #1 805ad1c: d805 bhi.n 805ad2a 805ad1e: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad22: 685a ldr r2, [r3, #4] 805ad24: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad28: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805ad2a: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad2e: 685b ldr r3, [r3, #4] 805ad30: 1c5a adds r2, r3, #1 805ad32: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad36: 609a str r2, [r3, #8] 805ad38: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad3c: 685b ldr r3, [r3, #4] 805ad3e: f640 72fe movw r2, #4094 ; 0xffe 805ad42: 4293 cmp r3, r2 805ad44: d905 bls.n 805ad52 805ad46: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad4a: 685a ldr r2, [r3, #4] 805ad4c: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad50: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805ad52: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad56: 685b ldr r3, [r3, #4] 805ad58: 4a8a ldr r2, [pc, #552] ; (805af84 ) 805ad5a: 5cd3 ldrb r3, [r2, r3] 805ad5c: 2b00 cmp r3, #0 805ad5e: d10d bne.n 805ad7c 805ad60: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad64: 681b ldr r3, [r3, #0] 805ad66: 4a87 ldr r2, [pc, #540] ; (805af84 ) 805ad68: 5cd3 ldrb r3, [r2, r3] 805ad6a: 2b00 cmp r3, #0 805ad6c: d106 bne.n 805ad7c 805ad6e: f107 03bc add.w r3, r7, #188 ; 0xbc 805ad72: 689b ldr r3, [r3, #8] 805ad74: 4a83 ldr r2, [pc, #524] ; (805af84 ) 805ad76: 5cd3 ldrb r3, [r2, r3] 805ad78: 2b00 cmp r3, #0 805ad7a: d00a beq.n 805ad92 { limit[i] = true; 805ad7c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ad80: f507 7294 add.w r2, r7, #296 ; 0x128 805ad84: 2101 movs r1, #1 805ad86: 54d1 strb r1, [r2, r3] k++; 805ad88: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805ad8c: 3301 adds r3, #1 805ad8e: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 7; i++) 805ad92: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ad96: 3301 adds r3, #1 805ad98: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ad9c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ada0: 2b06 cmp r3, #6 805ada2: f67f af7b bls.w 805ac9c } } if((k >= 2) && (limit[0])) 805ada6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805adaa: 2b01 cmp r3, #1 805adac: d916 bls.n 805addc 805adae: f507 7394 add.w r3, r7, #296 ; 0x128 805adb2: 781b ldrb r3, [r3, #0] 805adb4: 2b00 cmp r3, #0 805adb6: d011 beq.n 805addc { if((limit[1]) || (limit[2]) || (limit[3])) 805adb8: f507 7394 add.w r3, r7, #296 ; 0x128 805adbc: 785b ldrb r3, [r3, #1] 805adbe: 2b00 cmp r3, #0 805adc0: d109 bne.n 805add6 805adc2: f507 7394 add.w r3, r7, #296 ; 0x128 805adc6: 789b ldrb r3, [r3, #2] 805adc8: 2b00 cmp r3, #0 805adca: d104 bne.n 805add6 805adcc: f507 7394 add.w r3, r7, #296 ; 0x128 805add0: 78db ldrb r3, [r3, #3] 805add2: 2b00 cmp r3, #0 805add4: d002 beq.n 805addc { DEFECTS[BIENIE_VALA] = true; 805add6: 4b6c ldr r3, [pc, #432] ; (805af88 ) 805add8: 2201 movs r2, #1 805adda: 701a strb r2, [r3, #0] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãåîäíîðîäíûé ðàäèàëüíûé íàòÿã (ïåðåêîñ âíóòðåííåãî êîëüöà) //////////////////////////////////// memset((void *) limit, false, sizeof(limit)); 805addc: f507 7394 add.w r3, r7, #296 ; 0x128 805ade0: 220f movs r2, #15 805ade2: 2100 movs r1, #0 805ade4: 4618 mov r0, r3 805ade6: f072 f94b bl 80cd080 memset((void *) limit_1, false, sizeof(limit_1)); 805adea: f507 738c add.w r3, r7, #280 ; 0x118 805adee: 220f movs r2, #15 805adf0: 2100 movs r1, #0 805adf2: 4618 mov r0, r3 805adf4: f072 f944 bl 80cd080 arm_fill_f32(0.0f, frq, 15); 805adf8: f507 73ba add.w r3, r7, #372 ; 0x174 805adfc: 210f movs r1, #15 805adfe: 4618 mov r0, r3 805ae00: ed9f 0a62 vldr s0, [pc, #392] ; 805af8c 805ae04: f06e ff9a bl 80c9d3c arm_fill_f32(0.0f, frq_1, 15); 805ae08: f507 739c add.w r3, r7, #312 ; 0x138 805ae0c: 210f movs r1, #15 805ae0e: 4618 mov r0, r3 805ae10: ed9f 0a5e vldr s0, [pc, #376] ; 805af8c 805ae14: f06e ff92 bl 80c9d3c k = 0; 805ae18: 2300 movs r3, #0 805ae1a: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 11; i++) 805ae1e: 2300 movs r3, #0 805ae20: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ae24: e07f b.n 805af26 { frq[i] = Fvr * (float32_t)(i + 1); 805ae26: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ae2a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ae2e: 3201 adds r2, #1 805ae30: ee07 2a90 vmov s15, r2 805ae34: eeb8 7a67 vcvt.f32.u32 s14, s15 805ae38: 4a50 ldr r2, [pc, #320] ; (805af7c ) 805ae3a: edd2 7a00 vldr s15, [r2] 805ae3e: ee67 7a27 vmul.f32 s15, s14, s15 805ae42: 009b lsls r3, r3, #2 805ae44: f507 720a add.w r2, r7, #552 ; 0x228 805ae48: 4413 add r3, r2 805ae4a: 3bb4 subs r3, #180 ; 0xb4 805ae4c: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805ae50: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ae54: 009b lsls r3, r3, #2 805ae56: f507 720a add.w r2, r7, #552 ; 0x228 805ae5a: 4413 add r3, r2 805ae5c: 3bb4 subs r3, #180 ; 0xb4 805ae5e: ed93 7a00 vldr s14, [r3] 805ae62: eddf 6a47 vldr s13, [pc, #284] ; 805af80 805ae66: eec7 7a26 vdiv.f32 s15, s14, s13 805ae6a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805ae6e: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ae72: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805ae76: ee77 7a87 vadd.f32 s15, s15, s14 805ae7a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805ae7e: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ae82: eefc 7ae7 vcvt.u32.f32 s15, s15 805ae86: ee17 2a90 vmov r2, s15 805ae8a: f107 03bc add.w r3, r7, #188 ; 0xbc 805ae8e: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805ae90: f107 03bc add.w r3, r7, #188 ; 0xbc 805ae94: 685b ldr r3, [r3, #4] 805ae96: 1e5a subs r2, r3, #1 805ae98: f107 03bc add.w r3, r7, #188 ; 0xbc 805ae9c: 601a str r2, [r3, #0] 805ae9e: f107 03bc add.w r3, r7, #188 ; 0xbc 805aea2: 685b ldr r3, [r3, #4] 805aea4: 2b01 cmp r3, #1 805aea6: d805 bhi.n 805aeb4 805aea8: f107 03bc add.w r3, r7, #188 ; 0xbc 805aeac: 685a ldr r2, [r3, #4] 805aeae: f107 03bc add.w r3, r7, #188 ; 0xbc 805aeb2: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805aeb4: f107 03bc add.w r3, r7, #188 ; 0xbc 805aeb8: 685b ldr r3, [r3, #4] 805aeba: 1c5a adds r2, r3, #1 805aebc: f107 03bc add.w r3, r7, #188 ; 0xbc 805aec0: 609a str r2, [r3, #8] 805aec2: f107 03bc add.w r3, r7, #188 ; 0xbc 805aec6: 685b ldr r3, [r3, #4] 805aec8: f640 72fe movw r2, #4094 ; 0xffe 805aecc: 4293 cmp r3, r2 805aece: d905 bls.n 805aedc 805aed0: f107 03bc add.w r3, r7, #188 ; 0xbc 805aed4: 685a ldr r2, [r3, #4] 805aed6: f107 03bc add.w r3, r7, #188 ; 0xbc 805aeda: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805aedc: f107 03bc add.w r3, r7, #188 ; 0xbc 805aee0: 685b ldr r3, [r3, #4] 805aee2: 4a28 ldr r2, [pc, #160] ; (805af84 ) 805aee4: 5cd3 ldrb r3, [r2, r3] 805aee6: 2b00 cmp r3, #0 805aee8: d10d bne.n 805af06 805aeea: f107 03bc add.w r3, r7, #188 ; 0xbc 805aeee: 681b ldr r3, [r3, #0] 805aef0: 4a24 ldr r2, [pc, #144] ; (805af84 ) 805aef2: 5cd3 ldrb r3, [r2, r3] 805aef4: 2b00 cmp r3, #0 805aef6: d106 bne.n 805af06 805aef8: f107 03bc add.w r3, r7, #188 ; 0xbc 805aefc: 689b ldr r3, [r3, #8] 805aefe: 4a21 ldr r2, [pc, #132] ; (805af84 ) 805af00: 5cd3 ldrb r3, [r2, r3] 805af02: 2b00 cmp r3, #0 805af04: d00a beq.n 805af1c { limit[i] = true; 805af06: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805af0a: f507 7294 add.w r2, r7, #296 ; 0x128 805af0e: 2101 movs r1, #1 805af10: 54d1 strb r1, [r2, r3] k++; 805af12: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805af16: 3301 adds r3, #1 805af18: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 11; i++) 805af1c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805af20: 3301 adds r3, #1 805af22: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805af26: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805af2a: 2b0a cmp r3, #10 805af2c: f67f af7b bls.w 805ae26 } } if((!limit[0]) && (limit[1])) 805af30: f507 7394 add.w r3, r7, #296 ; 0x128 805af34: 781b ldrb r3, [r3, #0] 805af36: f083 0301 eor.w r3, r3, #1 805af3a: b2db uxtb r3, r3 805af3c: 2b00 cmp r3, #0 805af3e: d007 beq.n 805af50 805af40: f507 7394 add.w r3, r7, #296 ; 0x128 805af44: 785b ldrb r3, [r3, #1] 805af46: 2b00 cmp r3, #0 805af48: d002 beq.n 805af50 { DEFECTS[PEREKOS_VNUTRENNEGO_KOLCA] = true; 805af4a: 4b0f ldr r3, [pc, #60] ; (805af88 ) 805af4c: 2201 movs r2, #1 805af4e: 705a strb r2, [r3, #1] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãåðåêîñ íàðóæíîãî êîëüöà ///////////////////// memset((void *) limit, false, sizeof(limit)); 805af50: f507 7394 add.w r3, r7, #296 ; 0x128 805af54: 220f movs r2, #15 805af56: 2100 movs r1, #0 805af58: 4618 mov r0, r3 805af5a: f072 f891 bl 80cd080 arm_fill_f32(0.0f, frq, 15); 805af5e: f507 73ba add.w r3, r7, #372 ; 0x174 805af62: 210f movs r1, #15 805af64: 4618 mov r0, r3 805af66: ed9f 0a09 vldr s0, [pc, #36] ; 805af8c 805af6a: f06e fee7 bl 80c9d3c k = 0; 805af6e: 2300 movs r3, #0 805af70: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805af74: 2300 movs r3, #0 805af76: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805af7a: e089 b.n 805b090 805af7c: 20026d00 .word 0x20026d00 805af80: 3efa0000 .word 0x3efa0000 805af84: 20018000 .word 0x20018000 805af88: 20026f10 .word 0x20026f10 805af8c: 00000000 .word 0x00000000 { frq[i] = Fn * (float32_t)(i + 1); 805af90: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805af94: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805af98: 3201 adds r2, #1 805af9a: ee07 2a90 vmov s15, r2 805af9e: eeb8 7a67 vcvt.f32.u32 s14, s15 805afa2: 4a55 ldr r2, [pc, #340] ; (805b0f8 ) 805afa4: edd2 7a00 vldr s15, [r2] 805afa8: ee67 7a27 vmul.f32 s15, s14, s15 805afac: 009b lsls r3, r3, #2 805afae: f507 720a add.w r2, r7, #552 ; 0x228 805afb2: 4413 add r3, r2 805afb4: 3bb4 subs r3, #180 ; 0xb4 805afb6: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805afba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805afbe: 009b lsls r3, r3, #2 805afc0: f507 720a add.w r2, r7, #552 ; 0x228 805afc4: 4413 add r3, r2 805afc6: 3bb4 subs r3, #180 ; 0xb4 805afc8: ed93 7a00 vldr s14, [r3] 805afcc: eddf 6a4b vldr s13, [pc, #300] ; 805b0fc 805afd0: eec7 7a26 vdiv.f32 s15, s14, s13 805afd4: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805afd8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805afdc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805afe0: ee77 7a87 vadd.f32 s15, s15, s14 805afe4: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805afe8: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805afec: eefc 7ae7 vcvt.u32.f32 s15, s15 805aff0: ee17 2a90 vmov r2, s15 805aff4: f107 03bc add.w r3, r7, #188 ; 0xbc 805aff8: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805affa: f107 03bc add.w r3, r7, #188 ; 0xbc 805affe: 685b ldr r3, [r3, #4] 805b000: 1e5a subs r2, r3, #1 805b002: f107 03bc add.w r3, r7, #188 ; 0xbc 805b006: 601a str r2, [r3, #0] 805b008: f107 03bc add.w r3, r7, #188 ; 0xbc 805b00c: 685b ldr r3, [r3, #4] 805b00e: 2b01 cmp r3, #1 805b010: d805 bhi.n 805b01e 805b012: f107 03bc add.w r3, r7, #188 ; 0xbc 805b016: 685a ldr r2, [r3, #4] 805b018: f107 03bc add.w r3, r7, #188 ; 0xbc 805b01c: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805b01e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b022: 685b ldr r3, [r3, #4] 805b024: 1c5a adds r2, r3, #1 805b026: f107 03bc add.w r3, r7, #188 ; 0xbc 805b02a: 609a str r2, [r3, #8] 805b02c: f107 03bc add.w r3, r7, #188 ; 0xbc 805b030: 685b ldr r3, [r3, #4] 805b032: f640 72fe movw r2, #4094 ; 0xffe 805b036: 4293 cmp r3, r2 805b038: d905 bls.n 805b046 805b03a: f107 03bc add.w r3, r7, #188 ; 0xbc 805b03e: 685a ldr r2, [r3, #4] 805b040: f107 03bc add.w r3, r7, #188 ; 0xbc 805b044: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805b046: f107 03bc add.w r3, r7, #188 ; 0xbc 805b04a: 685b ldr r3, [r3, #4] 805b04c: 4a2c ldr r2, [pc, #176] ; (805b100 ) 805b04e: 5cd3 ldrb r3, [r2, r3] 805b050: 2b00 cmp r3, #0 805b052: d10d bne.n 805b070 805b054: f107 03bc add.w r3, r7, #188 ; 0xbc 805b058: 681b ldr r3, [r3, #0] 805b05a: 4a29 ldr r2, [pc, #164] ; (805b100 ) 805b05c: 5cd3 ldrb r3, [r2, r3] 805b05e: 2b00 cmp r3, #0 805b060: d106 bne.n 805b070 805b062: f107 03bc add.w r3, r7, #188 ; 0xbc 805b066: 689b ldr r3, [r3, #8] 805b068: 4a25 ldr r2, [pc, #148] ; (805b100 ) 805b06a: 5cd3 ldrb r3, [r2, r3] 805b06c: 2b00 cmp r3, #0 805b06e: d00a beq.n 805b086 { limit[i] = true; 805b070: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b074: f507 7294 add.w r2, r7, #296 ; 0x128 805b078: 2101 movs r1, #1 805b07a: 54d1 strb r1, [r2, r3] k++; 805b07c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b080: 3301 adds r3, #1 805b082: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805b086: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b08a: 3301 adds r3, #1 805b08c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b090: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b094: 2b03 cmp r3, #3 805b096: f67f af7b bls.w 805af90 } } if((!limit[0]) && (limit[1])) 805b09a: f507 7394 add.w r3, r7, #296 ; 0x128 805b09e: 781b ldrb r3, [r3, #0] 805b0a0: f083 0301 eor.w r3, r3, #1 805b0a4: b2db uxtb r3, r3 805b0a6: 2b00 cmp r3, #0 805b0a8: d007 beq.n 805b0ba 805b0aa: f507 7394 add.w r3, r7, #296 ; 0x128 805b0ae: 785b ldrb r3, [r3, #1] 805b0b0: 2b00 cmp r3, #0 805b0b2: d002 beq.n 805b0ba { DEFECTS[PEREKOS_NARUZHNOGO_KOLCA] = true; 805b0b4: 4b13 ldr r3, [pc, #76] ; (805b104 ) 805b0b6: 2201 movs r2, #1 805b0b8: 709a strb r2, [r3, #2] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Èçíîñ áåãîâîé äîðîæêè íàðóæíîãî êîëüöà ///////// memset((void *) limit, false, sizeof(limit)); 805b0ba: f507 7394 add.w r3, r7, #296 ; 0x128 805b0be: 220f movs r2, #15 805b0c0: 2100 movs r1, #0 805b0c2: 4618 mov r0, r3 805b0c4: f071 ffdc bl 80cd080 arm_fill_f32(0.0f, frq, 15); 805b0c8: f507 73ba add.w r3, r7, #372 ; 0x174 805b0cc: 210f movs r1, #15 805b0ce: 4618 mov r0, r3 805b0d0: ed9f 0a0d vldr s0, [pc, #52] ; 805b108 805b0d4: f06e fe32 bl 80c9d3c k = 0; 805b0d8: 2300 movs r3, #0 805b0da: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 uint16_t ix[15] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0}; 805b0de: f107 039c add.w r3, r7, #156 ; 0x9c 805b0e2: 4618 mov r0, r3 805b0e4: 231e movs r3, #30 805b0e6: 461a mov r2, r3 805b0e8: 2100 movs r1, #0 805b0ea: f071 ffc9 bl 80cd080 for(i = 0; i < 4; i++) 805b0ee: 2300 movs r3, #0 805b0f0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b0f4: e0da b.n 805b2ac 805b0f6: bf00 nop 805b0f8: 200267a8 .word 0x200267a8 805b0fc: 3efa0000 .word 0x3efa0000 805b100: 20018000 .word 0x20018000 805b104: 20026f10 .word 0x20026f10 805b108: 00000000 .word 0x00000000 { frq[i] = Fn * (float32_t)(i + 1); 805b10c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b110: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b114: 3201 adds r2, #1 805b116: ee07 2a90 vmov s15, r2 805b11a: eeb8 7a67 vcvt.f32.u32 s14, s15 805b11e: 4aad ldr r2, [pc, #692] ; (805b3d4 ) 805b120: edd2 7a00 vldr s15, [r2] 805b124: ee67 7a27 vmul.f32 s15, s14, s15 805b128: 009b lsls r3, r3, #2 805b12a: f507 720a add.w r2, r7, #552 ; 0x228 805b12e: 4413 add r3, r2 805b130: 3bb4 subs r3, #180 ; 0xb4 805b132: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805b136: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b13a: 009b lsls r3, r3, #2 805b13c: f507 720a add.w r2, r7, #552 ; 0x228 805b140: 4413 add r3, r2 805b142: 3bb4 subs r3, #180 ; 0xb4 805b144: ed93 7a00 vldr s14, [r3] 805b148: eddf 6aa3 vldr s13, [pc, #652] ; 805b3d8 805b14c: eec7 7a26 vdiv.f32 s15, s14, s13 805b150: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805b154: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b158: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805b15c: ee77 7a87 vadd.f32 s15, s15, s14 805b160: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805b164: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b168: eefc 7ae7 vcvt.u32.f32 s15, s15 805b16c: ee17 2a90 vmov r2, s15 805b170: f107 03bc add.w r3, r7, #188 ; 0xbc 805b174: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805b176: f107 03bc add.w r3, r7, #188 ; 0xbc 805b17a: 685b ldr r3, [r3, #4] 805b17c: 1e5a subs r2, r3, #1 805b17e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b182: 601a str r2, [r3, #0] 805b184: f107 03bc add.w r3, r7, #188 ; 0xbc 805b188: 685b ldr r3, [r3, #4] 805b18a: 2b01 cmp r3, #1 805b18c: d805 bhi.n 805b19a 805b18e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b192: 685a ldr r2, [r3, #4] 805b194: f107 03bc add.w r3, r7, #188 ; 0xbc 805b198: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805b19a: f107 03bc add.w r3, r7, #188 ; 0xbc 805b19e: 685b ldr r3, [r3, #4] 805b1a0: 1c5a adds r2, r3, #1 805b1a2: f107 03bc add.w r3, r7, #188 ; 0xbc 805b1a6: 609a str r2, [r3, #8] 805b1a8: f107 03bc add.w r3, r7, #188 ; 0xbc 805b1ac: 685b ldr r3, [r3, #4] 805b1ae: f640 72fe movw r2, #4094 ; 0xffe 805b1b2: 4293 cmp r3, r2 805b1b4: d905 bls.n 805b1c2 805b1b6: f107 03bc add.w r3, r7, #188 ; 0xbc 805b1ba: 685a ldr r2, [r3, #4] 805b1bc: f107 03bc add.w r3, r7, #188 ; 0xbc 805b1c0: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805b1c2: f107 03bc add.w r3, r7, #188 ; 0xbc 805b1c6: 685b ldr r3, [r3, #4] 805b1c8: 4a84 ldr r2, [pc, #528] ; (805b3dc ) 805b1ca: 5cd3 ldrb r3, [r2, r3] 805b1cc: 2b00 cmp r3, #0 805b1ce: d10d bne.n 805b1ec 805b1d0: f107 03bc add.w r3, r7, #188 ; 0xbc 805b1d4: 681b ldr r3, [r3, #0] 805b1d6: 4a81 ldr r2, [pc, #516] ; (805b3dc ) 805b1d8: 5cd3 ldrb r3, [r2, r3] 805b1da: 2b00 cmp r3, #0 805b1dc: d106 bne.n 805b1ec 805b1de: f107 03bc add.w r3, r7, #188 ; 0xbc 805b1e2: 689b ldr r3, [r3, #8] 805b1e4: 4a7d ldr r2, [pc, #500] ; (805b3dc ) 805b1e6: 5cd3 ldrb r3, [r2, r3] 805b1e8: 2b00 cmp r3, #0 805b1ea: d05a beq.n 805b2a2 { ix[i] = jj[1]; 805b1ec: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b1f0: f107 03bc add.w r3, r7, #188 ; 0xbc 805b1f4: 685b ldr r3, [r3, #4] 805b1f6: b299 uxth r1, r3 805b1f8: f107 039c add.w r3, r7, #156 ; 0x9c 805b1fc: f823 1012 strh.w r1, [r3, r2, lsl #1] if(ScrA_f32(ix[i]) < ScrA_f32(jj[0])) 805b200: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b204: f107 039c add.w r3, r7, #156 ; 0x9c 805b208: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b20c: 009b lsls r3, r3, #2 805b20e: 461a mov r2, r3 805b210: 4b73 ldr r3, [pc, #460] ; (805b3e0 ) 805b212: 4413 add r3, r2 805b214: ed93 7a00 vldr s14, [r3] 805b218: f107 03bc add.w r3, r7, #188 ; 0xbc 805b21c: 681b ldr r3, [r3, #0] 805b21e: 009a lsls r2, r3, #2 805b220: 4b6f ldr r3, [pc, #444] ; (805b3e0 ) 805b222: 4413 add r3, r2 805b224: edd3 7a00 vldr s15, [r3] 805b228: eeb4 7ae7 vcmpe.f32 s14, s15 805b22c: eef1 fa10 vmrs APSR_nzcv, fpscr 805b230: d509 bpl.n 805b246 ix[i] = jj[0]; 805b232: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b236: f107 03bc add.w r3, r7, #188 ; 0xbc 805b23a: 681b ldr r3, [r3, #0] 805b23c: b299 uxth r1, r3 805b23e: f107 039c add.w r3, r7, #156 ; 0x9c 805b242: f823 1012 strh.w r1, [r3, r2, lsl #1] if(ScrA_f32(ix[i]) < ScrA_f32(jj[2])) 805b246: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b24a: f107 039c add.w r3, r7, #156 ; 0x9c 805b24e: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805b252: 009b lsls r3, r3, #2 805b254: 461a mov r2, r3 805b256: 4b62 ldr r3, [pc, #392] ; (805b3e0 ) 805b258: 4413 add r3, r2 805b25a: ed93 7a00 vldr s14, [r3] 805b25e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b262: 689b ldr r3, [r3, #8] 805b264: 009a lsls r2, r3, #2 805b266: 4b5e ldr r3, [pc, #376] ; (805b3e0 ) 805b268: 4413 add r3, r2 805b26a: edd3 7a00 vldr s15, [r3] 805b26e: eeb4 7ae7 vcmpe.f32 s14, s15 805b272: eef1 fa10 vmrs APSR_nzcv, fpscr 805b276: d509 bpl.n 805b28c ix[i] = jj[2]; 805b278: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b27c: f107 03bc add.w r3, r7, #188 ; 0xbc 805b280: 689b ldr r3, [r3, #8] 805b282: b299 uxth r1, r3 805b284: f107 039c add.w r3, r7, #156 ; 0x9c 805b288: f823 1012 strh.w r1, [r3, r2, lsl #1] limit[i] = true; 805b28c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b290: f507 7294 add.w r2, r7, #296 ; 0x128 805b294: 2101 movs r1, #1 805b296: 54d1 strb r1, [r2, r3] k++; 805b298: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b29c: 3301 adds r3, #1 805b29e: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805b2a2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b2a6: 3301 adds r3, #1 805b2a8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b2ac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b2b0: 2b03 cmp r3, #3 805b2b2: f67f af2b bls.w 805b10c } } if((limit[0]) && (k >= 3)) 805b2b6: f507 7394 add.w r3, r7, #296 ; 0x128 805b2ba: 781b ldrb r3, [r3, #0] 805b2bc: 2b00 cmp r3, #0 805b2be: f000 80d6 beq.w 805b46e 805b2c2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b2c6: 2b02 cmp r3, #2 805b2c8: f240 80d1 bls.w 805b46e { if((limit[1]) && (limit[2])) 805b2cc: f507 7394 add.w r3, r7, #296 ; 0x128 805b2d0: 785b ldrb r3, [r3, #1] 805b2d2: 2b00 cmp r3, #0 805b2d4: d038 beq.n 805b348 805b2d6: f507 7394 add.w r3, r7, #296 ; 0x128 805b2da: 789b ldrb r3, [r3, #2] 805b2dc: 2b00 cmp r3, #0 805b2de: d033 beq.n 805b348 { if((ScrA_f32(ix[0]) > ScrA_f32(ix[1])) && (ScrA_f32(ix[1]) > ScrA_f32(ix[2]))) 805b2e0: f107 039c add.w r3, r7, #156 ; 0x9c 805b2e4: 881b ldrh r3, [r3, #0] 805b2e6: 009b lsls r3, r3, #2 805b2e8: 461a mov r2, r3 805b2ea: 4b3d ldr r3, [pc, #244] ; (805b3e0 ) 805b2ec: 4413 add r3, r2 805b2ee: ed93 7a00 vldr s14, [r3] 805b2f2: f107 039c add.w r3, r7, #156 ; 0x9c 805b2f6: 885b ldrh r3, [r3, #2] 805b2f8: 009b lsls r3, r3, #2 805b2fa: 461a mov r2, r3 805b2fc: 4b38 ldr r3, [pc, #224] ; (805b3e0 ) 805b2fe: 4413 add r3, r2 805b300: edd3 7a00 vldr s15, [r3] 805b304: eeb4 7ae7 vcmpe.f32 s14, s15 805b308: eef1 fa10 vmrs APSR_nzcv, fpscr 805b30c: f340 80af ble.w 805b46e 805b310: f107 039c add.w r3, r7, #156 ; 0x9c 805b314: 885b ldrh r3, [r3, #2] 805b316: 009b lsls r3, r3, #2 805b318: 461a mov r2, r3 805b31a: 4b31 ldr r3, [pc, #196] ; (805b3e0 ) 805b31c: 4413 add r3, r2 805b31e: ed93 7a00 vldr s14, [r3] 805b322: f107 039c add.w r3, r7, #156 ; 0x9c 805b326: 889b ldrh r3, [r3, #4] 805b328: 009b lsls r3, r3, #2 805b32a: 461a mov r2, r3 805b32c: 4b2c ldr r3, [pc, #176] ; (805b3e0 ) 805b32e: 4413 add r3, r2 805b330: edd3 7a00 vldr s15, [r3] 805b334: eeb4 7ae7 vcmpe.f32 s14, s15 805b338: eef1 fa10 vmrs APSR_nzcv, fpscr 805b33c: dc00 bgt.n 805b340 805b33e: e096 b.n 805b46e { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_NARUZHNOGO_KOLCA] = true; 805b340: 4b28 ldr r3, [pc, #160] ; (805b3e4 ) 805b342: 2201 movs r2, #1 805b344: 70da strb r2, [r3, #3] if((ScrA_f32(ix[0]) > ScrA_f32(ix[1])) && (ScrA_f32(ix[1]) > ScrA_f32(ix[2]))) 805b346: e092 b.n 805b46e } } else if((!limit[1]) && (limit[2]) && (limit[3])) 805b348: f507 7394 add.w r3, r7, #296 ; 0x128 805b34c: 785b ldrb r3, [r3, #1] 805b34e: f083 0301 eor.w r3, r3, #1 805b352: b2db uxtb r3, r3 805b354: 2b00 cmp r3, #0 805b356: d047 beq.n 805b3e8 805b358: f507 7394 add.w r3, r7, #296 ; 0x128 805b35c: 789b ldrb r3, [r3, #2] 805b35e: 2b00 cmp r3, #0 805b360: d042 beq.n 805b3e8 805b362: f507 7394 add.w r3, r7, #296 ; 0x128 805b366: 78db ldrb r3, [r3, #3] 805b368: 2b00 cmp r3, #0 805b36a: d03d beq.n 805b3e8 { if((ScrA_f32(ix[0]) > ScrA_f32(ix[2])) && (ScrA_f32(ix[2]) > ScrA_f32(ix[3]))) 805b36c: f107 039c add.w r3, r7, #156 ; 0x9c 805b370: 881b ldrh r3, [r3, #0] 805b372: 009b lsls r3, r3, #2 805b374: 461a mov r2, r3 805b376: 4b1a ldr r3, [pc, #104] ; (805b3e0 ) 805b378: 4413 add r3, r2 805b37a: ed93 7a00 vldr s14, [r3] 805b37e: f107 039c add.w r3, r7, #156 ; 0x9c 805b382: 889b ldrh r3, [r3, #4] 805b384: 009b lsls r3, r3, #2 805b386: 461a mov r2, r3 805b388: 4b15 ldr r3, [pc, #84] ; (805b3e0 ) 805b38a: 4413 add r3, r2 805b38c: edd3 7a00 vldr s15, [r3] 805b390: eeb4 7ae7 vcmpe.f32 s14, s15 805b394: eef1 fa10 vmrs APSR_nzcv, fpscr 805b398: dd69 ble.n 805b46e 805b39a: f107 039c add.w r3, r7, #156 ; 0x9c 805b39e: 889b ldrh r3, [r3, #4] 805b3a0: 009b lsls r3, r3, #2 805b3a2: 461a mov r2, r3 805b3a4: 4b0e ldr r3, [pc, #56] ; (805b3e0 ) 805b3a6: 4413 add r3, r2 805b3a8: ed93 7a00 vldr s14, [r3] 805b3ac: f107 039c add.w r3, r7, #156 ; 0x9c 805b3b0: 88db ldrh r3, [r3, #6] 805b3b2: 009b lsls r3, r3, #2 805b3b4: 461a mov r2, r3 805b3b6: 4b0a ldr r3, [pc, #40] ; (805b3e0 ) 805b3b8: 4413 add r3, r2 805b3ba: edd3 7a00 vldr s15, [r3] 805b3be: eeb4 7ae7 vcmpe.f32 s14, s15 805b3c2: eef1 fa10 vmrs APSR_nzcv, fpscr 805b3c6: dc00 bgt.n 805b3ca 805b3c8: e051 b.n 805b46e { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_NARUZHNOGO_KOLCA] = true; 805b3ca: 4b06 ldr r3, [pc, #24] ; (805b3e4 ) 805b3cc: 2201 movs r2, #1 805b3ce: 70da strb r2, [r3, #3] if((ScrA_f32(ix[0]) > ScrA_f32(ix[2])) && (ScrA_f32(ix[2]) > ScrA_f32(ix[3]))) 805b3d0: e04d b.n 805b46e 805b3d2: bf00 nop 805b3d4: 200267a8 .word 0x200267a8 805b3d8: 3efa0000 .word 0x3efa0000 805b3dc: 20018000 .word 0x20018000 805b3e0: 64080000 .word 0x64080000 805b3e4: 20026f10 .word 0x20026f10 } } else if((limit[1]) && (!limit[2]) && (limit[3])) 805b3e8: f507 7394 add.w r3, r7, #296 ; 0x128 805b3ec: 785b ldrb r3, [r3, #1] 805b3ee: 2b00 cmp r3, #0 805b3f0: d03d beq.n 805b46e 805b3f2: f507 7394 add.w r3, r7, #296 ; 0x128 805b3f6: 789b ldrb r3, [r3, #2] 805b3f8: f083 0301 eor.w r3, r3, #1 805b3fc: b2db uxtb r3, r3 805b3fe: 2b00 cmp r3, #0 805b400: d035 beq.n 805b46e 805b402: f507 7394 add.w r3, r7, #296 ; 0x128 805b406: 78db ldrb r3, [r3, #3] 805b408: 2b00 cmp r3, #0 805b40a: d030 beq.n 805b46e { if((ScrA_f32(ix[0]) > ScrA_f32(ix[1])) && (ScrA_f32(ix[1]) > ScrA_f32(ix[3]))) 805b40c: f107 039c add.w r3, r7, #156 ; 0x9c 805b410: 881b ldrh r3, [r3, #0] 805b412: 009b lsls r3, r3, #2 805b414: 461a mov r2, r3 805b416: 4bc4 ldr r3, [pc, #784] ; (805b728 ) 805b418: 4413 add r3, r2 805b41a: ed93 7a00 vldr s14, [r3] 805b41e: f107 039c add.w r3, r7, #156 ; 0x9c 805b422: 885b ldrh r3, [r3, #2] 805b424: 009b lsls r3, r3, #2 805b426: 461a mov r2, r3 805b428: 4bbf ldr r3, [pc, #764] ; (805b728 ) 805b42a: 4413 add r3, r2 805b42c: edd3 7a00 vldr s15, [r3] 805b430: eeb4 7ae7 vcmpe.f32 s14, s15 805b434: eef1 fa10 vmrs APSR_nzcv, fpscr 805b438: dd19 ble.n 805b46e 805b43a: f107 039c add.w r3, r7, #156 ; 0x9c 805b43e: 885b ldrh r3, [r3, #2] 805b440: 009b lsls r3, r3, #2 805b442: 461a mov r2, r3 805b444: 4bb8 ldr r3, [pc, #736] ; (805b728 ) 805b446: 4413 add r3, r2 805b448: ed93 7a00 vldr s14, [r3] 805b44c: f107 039c add.w r3, r7, #156 ; 0x9c 805b450: 88db ldrh r3, [r3, #6] 805b452: 009b lsls r3, r3, #2 805b454: 461a mov r2, r3 805b456: 4bb4 ldr r3, [pc, #720] ; (805b728 ) 805b458: 4413 add r3, r2 805b45a: edd3 7a00 vldr s15, [r3] 805b45e: eeb4 7ae7 vcmpe.f32 s14, s15 805b462: eef1 fa10 vmrs APSR_nzcv, fpscr 805b466: dd02 ble.n 805b46e { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_NARUZHNOGO_KOLCA] = true; 805b468: 4bb0 ldr r3, [pc, #704] ; (805b72c ) 805b46a: 2201 movs r2, #1 805b46c: 70da strb r2, [r3, #3] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Çàäèðû, òðåùèíû íà íàðóæíîì êîëüöå ///////////// memset((void *) limit, false, sizeof(limit)); 805b46e: f507 7394 add.w r3, r7, #296 ; 0x128 805b472: 220f movs r2, #15 805b474: 2100 movs r1, #0 805b476: 4618 mov r0, r3 805b478: f071 fe02 bl 80cd080 arm_fill_f32(0.0f, frq, 15); 805b47c: f507 73ba add.w r3, r7, #372 ; 0x174 805b480: 210f movs r1, #15 805b482: 4618 mov r0, r3 805b484: ed9f 0aaa vldr s0, [pc, #680] ; 805b730 805b488: f06e fc58 bl 80c9d3c k = 0; 805b48c: 2300 movs r3, #0 805b48e: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805b492: 2300 movs r3, #0 805b494: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b498: e07f b.n 805b59a { frq[i] = Fn * (float32_t)(i + 1); 805b49a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b49e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b4a2: 3201 adds r2, #1 805b4a4: ee07 2a90 vmov s15, r2 805b4a8: eeb8 7a67 vcvt.f32.u32 s14, s15 805b4ac: 4aa1 ldr r2, [pc, #644] ; (805b734 ) 805b4ae: edd2 7a00 vldr s15, [r2] 805b4b2: ee67 7a27 vmul.f32 s15, s14, s15 805b4b6: 009b lsls r3, r3, #2 805b4b8: f507 720a add.w r2, r7, #552 ; 0x228 805b4bc: 4413 add r3, r2 805b4be: 3bb4 subs r3, #180 ; 0xb4 805b4c0: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805b4c4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b4c8: 009b lsls r3, r3, #2 805b4ca: f507 720a add.w r2, r7, #552 ; 0x228 805b4ce: 4413 add r3, r2 805b4d0: 3bb4 subs r3, #180 ; 0xb4 805b4d2: ed93 7a00 vldr s14, [r3] 805b4d6: eddf 6a98 vldr s13, [pc, #608] ; 805b738 805b4da: eec7 7a26 vdiv.f32 s15, s14, s13 805b4de: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805b4e2: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b4e6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805b4ea: ee77 7a87 vadd.f32 s15, s15, s14 805b4ee: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805b4f2: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b4f6: eefc 7ae7 vcvt.u32.f32 s15, s15 805b4fa: ee17 2a90 vmov r2, s15 805b4fe: f107 03bc add.w r3, r7, #188 ; 0xbc 805b502: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805b504: f107 03bc add.w r3, r7, #188 ; 0xbc 805b508: 685b ldr r3, [r3, #4] 805b50a: 1e5a subs r2, r3, #1 805b50c: f107 03bc add.w r3, r7, #188 ; 0xbc 805b510: 601a str r2, [r3, #0] 805b512: f107 03bc add.w r3, r7, #188 ; 0xbc 805b516: 685b ldr r3, [r3, #4] 805b518: 2b01 cmp r3, #1 805b51a: d805 bhi.n 805b528 805b51c: f107 03bc add.w r3, r7, #188 ; 0xbc 805b520: 685a ldr r2, [r3, #4] 805b522: f107 03bc add.w r3, r7, #188 ; 0xbc 805b526: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805b528: f107 03bc add.w r3, r7, #188 ; 0xbc 805b52c: 685b ldr r3, [r3, #4] 805b52e: 1c5a adds r2, r3, #1 805b530: f107 03bc add.w r3, r7, #188 ; 0xbc 805b534: 609a str r2, [r3, #8] 805b536: f107 03bc add.w r3, r7, #188 ; 0xbc 805b53a: 685b ldr r3, [r3, #4] 805b53c: f640 72fe movw r2, #4094 ; 0xffe 805b540: 4293 cmp r3, r2 805b542: d905 bls.n 805b550 805b544: f107 03bc add.w r3, r7, #188 ; 0xbc 805b548: 685a ldr r2, [r3, #4] 805b54a: f107 03bc add.w r3, r7, #188 ; 0xbc 805b54e: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805b550: f107 03bc add.w r3, r7, #188 ; 0xbc 805b554: 685b ldr r3, [r3, #4] 805b556: 4a79 ldr r2, [pc, #484] ; (805b73c ) 805b558: 5cd3 ldrb r3, [r2, r3] 805b55a: 2b00 cmp r3, #0 805b55c: d10d bne.n 805b57a 805b55e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b562: 681b ldr r3, [r3, #0] 805b564: 4a75 ldr r2, [pc, #468] ; (805b73c ) 805b566: 5cd3 ldrb r3, [r2, r3] 805b568: 2b00 cmp r3, #0 805b56a: d106 bne.n 805b57a 805b56c: f107 03bc add.w r3, r7, #188 ; 0xbc 805b570: 689b ldr r3, [r3, #8] 805b572: 4a72 ldr r2, [pc, #456] ; (805b73c ) 805b574: 5cd3 ldrb r3, [r2, r3] 805b576: 2b00 cmp r3, #0 805b578: d00a beq.n 805b590 { limit[i] = true; 805b57a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b57e: f507 7294 add.w r2, r7, #296 ; 0x128 805b582: 2101 movs r1, #1 805b584: 54d1 strb r1, [r2, r3] k++; 805b586: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b58a: 3301 adds r3, #1 805b58c: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 4; i++) 805b590: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b594: 3301 adds r3, #1 805b596: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b59a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b59e: 2b03 cmp r3, #3 805b5a0: f67f af7b bls.w 805b49a } } if((k >= 2) && (limit[0]) && (limit[1])) 805b5a4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b5a8: 2b01 cmp r3, #1 805b5aa: d90c bls.n 805b5c6 805b5ac: f507 7394 add.w r3, r7, #296 ; 0x128 805b5b0: 781b ldrb r3, [r3, #0] 805b5b2: 2b00 cmp r3, #0 805b5b4: d007 beq.n 805b5c6 805b5b6: f507 7394 add.w r3, r7, #296 ; 0x128 805b5ba: 785b ldrb r3, [r3, #1] 805b5bc: 2b00 cmp r3, #0 805b5be: d002 beq.n 805b5c6 { DEFECTS[ZADIRI_TRESCHINI_NA_NARUZHNOM_KOLCE] = true; 805b5c0: 4b5a ldr r3, [pc, #360] ; (805b72c ) 805b5c2: 2201 movs r2, #1 805b5c4: 711a strb r2, [r3, #4] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Èçíîñ áåãîâîé äîðîæêè âíóòðåííåãî êîëüöà ////////// memset((void *) limit, false, sizeof(limit)); 805b5c6: f507 7394 add.w r3, r7, #296 ; 0x128 805b5ca: 220f movs r2, #15 805b5cc: 2100 movs r1, #0 805b5ce: 4618 mov r0, r3 805b5d0: f071 fd56 bl 80cd080 memset((void *) limit_1, false, sizeof(limit_1)); 805b5d4: f507 738c add.w r3, r7, #280 ; 0x118 805b5d8: 220f movs r2, #15 805b5da: 2100 movs r1, #0 805b5dc: 4618 mov r0, r3 805b5de: f071 fd4f bl 80cd080 arm_fill_f32(0.0f, frq, 15); 805b5e2: f507 73ba add.w r3, r7, #372 ; 0x174 805b5e6: 210f movs r1, #15 805b5e8: 4618 mov r0, r3 805b5ea: ed9f 0a51 vldr s0, [pc, #324] ; 805b730 805b5ee: f06e fba5 bl 80c9d3c arm_fill_f32(0.0f, frq_1, 15); 805b5f2: f507 739c add.w r3, r7, #312 ; 0x138 805b5f6: 210f movs r1, #15 805b5f8: 4618 mov r0, r3 805b5fa: ed9f 0a4d vldr s0, [pc, #308] ; 805b730 805b5fe: f06e fb9d bl 80c9d3c k = 0; 805b602: 2300 movs r3, #0 805b604: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805b608: 2300 movs r3, #0 805b60a: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 7; i++) 805b60e: 2300 movs r3, #0 805b610: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b614: e07f b.n 805b716 { frq[i] = Fvr * (float32_t)(i + 1); 805b616: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b61a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b61e: 3201 adds r2, #1 805b620: ee07 2a90 vmov s15, r2 805b624: eeb8 7a67 vcvt.f32.u32 s14, s15 805b628: 4a45 ldr r2, [pc, #276] ; (805b740 ) 805b62a: edd2 7a00 vldr s15, [r2] 805b62e: ee67 7a27 vmul.f32 s15, s14, s15 805b632: 009b lsls r3, r3, #2 805b634: f507 720a add.w r2, r7, #552 ; 0x228 805b638: 4413 add r3, r2 805b63a: 3bb4 subs r3, #180 ; 0xb4 805b63c: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125f; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805b640: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b644: 009b lsls r3, r3, #2 805b646: f507 720a add.w r2, r7, #552 ; 0x228 805b64a: 4413 add r3, r2 805b64c: 3bb4 subs r3, #180 ; 0xb4 805b64e: ed93 7a00 vldr s14, [r3] 805b652: eddf 6a39 vldr s13, [pc, #228] ; 805b738 805b656: eec7 7a26 vdiv.f32 s15, s14, s13 805b65a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805b65e: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b662: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805b666: ee77 7a87 vadd.f32 s15, s15, s14 805b66a: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805b66e: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b672: eefc 7ae7 vcvt.u32.f32 s15, s15 805b676: ee17 2a90 vmov r2, s15 805b67a: f107 03bc add.w r3, r7, #188 ; 0xbc 805b67e: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805b680: f107 03bc add.w r3, r7, #188 ; 0xbc 805b684: 685b ldr r3, [r3, #4] 805b686: 1e5a subs r2, r3, #1 805b688: f107 03bc add.w r3, r7, #188 ; 0xbc 805b68c: 601a str r2, [r3, #0] 805b68e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b692: 685b ldr r3, [r3, #4] 805b694: 2b01 cmp r3, #1 805b696: d805 bhi.n 805b6a4 805b698: f107 03bc add.w r3, r7, #188 ; 0xbc 805b69c: 685a ldr r2, [r3, #4] 805b69e: f107 03bc add.w r3, r7, #188 ; 0xbc 805b6a2: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805b6a4: f107 03bc add.w r3, r7, #188 ; 0xbc 805b6a8: 685b ldr r3, [r3, #4] 805b6aa: 1c5a adds r2, r3, #1 805b6ac: f107 03bc add.w r3, r7, #188 ; 0xbc 805b6b0: 609a str r2, [r3, #8] 805b6b2: f107 03bc add.w r3, r7, #188 ; 0xbc 805b6b6: 685b ldr r3, [r3, #4] 805b6b8: f640 72fe movw r2, #4094 ; 0xffe 805b6bc: 4293 cmp r3, r2 805b6be: d905 bls.n 805b6cc 805b6c0: f107 03bc add.w r3, r7, #188 ; 0xbc 805b6c4: 685a ldr r2, [r3, #4] 805b6c6: f107 03bc add.w r3, r7, #188 ; 0xbc 805b6ca: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805b6cc: f107 03bc add.w r3, r7, #188 ; 0xbc 805b6d0: 685b ldr r3, [r3, #4] 805b6d2: 4a1a ldr r2, [pc, #104] ; (805b73c ) 805b6d4: 5cd3 ldrb r3, [r2, r3] 805b6d6: 2b00 cmp r3, #0 805b6d8: d10d bne.n 805b6f6 805b6da: f107 03bc add.w r3, r7, #188 ; 0xbc 805b6de: 681b ldr r3, [r3, #0] 805b6e0: 4a16 ldr r2, [pc, #88] ; (805b73c ) 805b6e2: 5cd3 ldrb r3, [r2, r3] 805b6e4: 2b00 cmp r3, #0 805b6e6: d106 bne.n 805b6f6 805b6e8: f107 03bc add.w r3, r7, #188 ; 0xbc 805b6ec: 689b ldr r3, [r3, #8] 805b6ee: 4a13 ldr r2, [pc, #76] ; (805b73c ) 805b6f0: 5cd3 ldrb r3, [r2, r3] 805b6f2: 2b00 cmp r3, #0 805b6f4: d00a beq.n 805b70c { limit[i] = true; 805b6f6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b6fa: f507 7294 add.w r2, r7, #296 ; 0x128 805b6fe: 2101 movs r1, #1 805b700: 54d1 strb r1, [r2, r3] k++; 805b702: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b706: 3301 adds r3, #1 805b708: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 7; i++) 805b70c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b710: 3301 adds r3, #1 805b712: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b716: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b71a: 2b06 cmp r3, #6 805b71c: f67f af7b bls.w 805b616 } } for(i = 0; i < 3; i++) 805b720: 2300 movs r3, #0 805b722: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b726: e08d b.n 805b844 805b728: 64080000 .word 0x64080000 805b72c: 20026f10 .word 0x20026f10 805b730: 00000000 .word 0x00000000 805b734: 200267a8 .word 0x200267a8 805b738: 3efa0000 .word 0x3efa0000 805b73c: 20018000 .word 0x20018000 805b740: 20026d00 .word 0x20026d00 { frq_1[i] = Fv * (float32_t)(i + 1); 805b744: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b748: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b74c: 3201 adds r2, #1 805b74e: ee07 2a90 vmov s15, r2 805b752: eeb8 7a67 vcvt.f32.u32 s14, s15 805b756: 4aba ldr r2, [pc, #744] ; (805ba40 ) 805b758: edd2 7a00 vldr s15, [r2] 805b75c: ee67 7a27 vmul.f32 s15, s14, s15 805b760: 009b lsls r3, r3, #2 805b762: f507 720a add.w r2, r7, #552 ; 0x228 805b766: 4413 add r3, r2 805b768: 3bf0 subs r3, #240 ; 0xf0 805b76a: edc3 7a00 vstr s15, [r3] fl = frq_1[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805b76e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b772: 009b lsls r3, r3, #2 805b774: f507 720a add.w r2, r7, #552 ; 0x228 805b778: 4413 add r3, r2 805b77a: 3bf0 subs r3, #240 ; 0xf0 805b77c: ed93 7a00 vldr s14, [r3] 805b780: eddf 6ab0 vldr s13, [pc, #704] ; 805ba44 805b784: eec7 7a26 vdiv.f32 s15, s14, s13 805b788: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805b78c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b790: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805b794: ee77 7a87 vadd.f32 s15, s15, s14 805b798: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805b79c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b7a0: eefc 7ae7 vcvt.u32.f32 s15, s15 805b7a4: ee17 2a90 vmov r2, s15 805b7a8: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7ac: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805b7ae: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7b2: 685b ldr r3, [r3, #4] 805b7b4: 1e5a subs r2, r3, #1 805b7b6: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7ba: 601a str r2, [r3, #0] 805b7bc: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7c0: 685b ldr r3, [r3, #4] 805b7c2: 2b01 cmp r3, #1 805b7c4: d805 bhi.n 805b7d2 805b7c6: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7ca: 685a ldr r2, [r3, #4] 805b7cc: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7d0: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805b7d2: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7d6: 685b ldr r3, [r3, #4] 805b7d8: 1c5a adds r2, r3, #1 805b7da: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7de: 609a str r2, [r3, #8] 805b7e0: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7e4: 685b ldr r3, [r3, #4] 805b7e6: f640 72fe movw r2, #4094 ; 0xffe 805b7ea: 4293 cmp r3, r2 805b7ec: d905 bls.n 805b7fa 805b7ee: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7f2: 685a ldr r2, [r3, #4] 805b7f4: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7f8: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805b7fa: f107 03bc add.w r3, r7, #188 ; 0xbc 805b7fe: 685b ldr r3, [r3, #4] 805b800: 4a91 ldr r2, [pc, #580] ; (805ba48 ) 805b802: 5cd3 ldrb r3, [r2, r3] 805b804: 2b00 cmp r3, #0 805b806: d10d bne.n 805b824 805b808: f107 03bc add.w r3, r7, #188 ; 0xbc 805b80c: 681b ldr r3, [r3, #0] 805b80e: 4a8e ldr r2, [pc, #568] ; (805ba48 ) 805b810: 5cd3 ldrb r3, [r2, r3] 805b812: 2b00 cmp r3, #0 805b814: d106 bne.n 805b824 805b816: f107 03bc add.w r3, r7, #188 ; 0xbc 805b81a: 689b ldr r3, [r3, #8] 805b81c: 4a8a ldr r2, [pc, #552] ; (805ba48 ) 805b81e: 5cd3 ldrb r3, [r2, r3] 805b820: 2b00 cmp r3, #0 805b822: d00a beq.n 805b83a { limit_1[i] = true; 805b824: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b828: f507 728c add.w r2, r7, #280 ; 0x118 805b82c: 2101 movs r1, #1 805b82e: 54d1 strb r1, [r2, r3] l++; 805b830: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805b834: 3301 adds r3, #1 805b836: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 3; i++) 805b83a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b83e: 3301 adds r3, #1 805b840: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b844: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b848: 2b02 cmp r3, #2 805b84a: f67f af7b bls.w 805b744 } } if((k >= 3) && (limit[0])) 805b84e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b852: 2b02 cmp r3, #2 805b854: d943 bls.n 805b8de 805b856: f507 7394 add.w r3, r7, #296 ; 0x128 805b85a: 781b ldrb r3, [r3, #0] 805b85c: 2b00 cmp r3, #0 805b85e: d03e beq.n 805b8de { if((k >= 1) && (limit_1[0])) 805b860: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805b864: 2b00 cmp r3, #0 805b866: d03a beq.n 805b8de 805b868: f507 738c add.w r3, r7, #280 ; 0x118 805b86c: 781b ldrb r3, [r3, #0] 805b86e: 2b00 cmp r3, #0 805b870: d035 beq.n 805b8de { if((limit[1]) && (limit[2])) 805b872: f507 7394 add.w r3, r7, #296 ; 0x128 805b876: 785b ldrb r3, [r3, #1] 805b878: 2b00 cmp r3, #0 805b87a: d007 beq.n 805b88c 805b87c: f507 7394 add.w r3, r7, #296 ; 0x128 805b880: 789b ldrb r3, [r3, #2] 805b882: 2b00 cmp r3, #0 805b884: d002 beq.n 805b88c { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_VNUTRENNEGO_KOLCA]; 805b886: 4b71 ldr r3, [pc, #452] ; (805ba4c ) 805b888: 795b ldrb r3, [r3, #5] 805b88a: e028 b.n 805b8de } else if((!limit[1]) && (limit[2]) && (limit[3])) 805b88c: f507 7394 add.w r3, r7, #296 ; 0x128 805b890: 785b ldrb r3, [r3, #1] 805b892: f083 0301 eor.w r3, r3, #1 805b896: b2db uxtb r3, r3 805b898: 2b00 cmp r3, #0 805b89a: d00c beq.n 805b8b6 805b89c: f507 7394 add.w r3, r7, #296 ; 0x128 805b8a0: 789b ldrb r3, [r3, #2] 805b8a2: 2b00 cmp r3, #0 805b8a4: d007 beq.n 805b8b6 805b8a6: f507 7394 add.w r3, r7, #296 ; 0x128 805b8aa: 78db ldrb r3, [r3, #3] 805b8ac: 2b00 cmp r3, #0 805b8ae: d002 beq.n 805b8b6 { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_VNUTRENNEGO_KOLCA]; 805b8b0: 4b66 ldr r3, [pc, #408] ; (805ba4c ) 805b8b2: 795b ldrb r3, [r3, #5] 805b8b4: e013 b.n 805b8de } else if((limit[1]) && (!limit[2]) && (limit[3])) 805b8b6: f507 7394 add.w r3, r7, #296 ; 0x128 805b8ba: 785b ldrb r3, [r3, #1] 805b8bc: 2b00 cmp r3, #0 805b8be: d00e beq.n 805b8de 805b8c0: f507 7394 add.w r3, r7, #296 ; 0x128 805b8c4: 789b ldrb r3, [r3, #2] 805b8c6: f083 0301 eor.w r3, r3, #1 805b8ca: b2db uxtb r3, r3 805b8cc: 2b00 cmp r3, #0 805b8ce: d006 beq.n 805b8de 805b8d0: f507 7394 add.w r3, r7, #296 ; 0x128 805b8d4: 78db ldrb r3, [r3, #3] 805b8d6: 2b00 cmp r3, #0 805b8d8: d001 beq.n 805b8de { DEFECTS[IZNOS_BEGOVOY_DOROZHKI_VNUTRENNEGO_KOLCA]; 805b8da: 4b5c ldr r3, [pc, #368] ; (805ba4c ) 805b8dc: 795b ldrb r3, [r3, #5] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Çàäèðû (òðåùèíû) íà âíóòðåííåì êîëüöå ////////// memset((void *) limit, false, sizeof(limit)); 805b8de: f507 7394 add.w r3, r7, #296 ; 0x128 805b8e2: 220f movs r2, #15 805b8e4: 2100 movs r1, #0 805b8e6: 4618 mov r0, r3 805b8e8: f071 fbca bl 80cd080 memset((void *) limit_1, false, sizeof(limit_1)); 805b8ec: f507 738c add.w r3, r7, #280 ; 0x118 805b8f0: 220f movs r2, #15 805b8f2: 2100 movs r1, #0 805b8f4: 4618 mov r0, r3 805b8f6: f071 fbc3 bl 80cd080 arm_fill_f32(0.0f, frq, 15); 805b8fa: f507 73ba add.w r3, r7, #372 ; 0x174 805b8fe: 210f movs r1, #15 805b900: 4618 mov r0, r3 805b902: ed9f 0a53 vldr s0, [pc, #332] ; 805ba50 805b906: f06e fa19 bl 80c9d3c arm_fill_f32(0.0f, frq_1, 15); 805b90a: f507 739c add.w r3, r7, #312 ; 0x138 805b90e: 210f movs r1, #15 805b910: 4618 mov r0, r3 805b912: ed9f 0a4f vldr s0, [pc, #316] ; 805ba50 805b916: f06e fa11 bl 80c9d3c k = 0; 805b91a: 2300 movs r3, #0 805b91c: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805b920: 2300 movs r3, #0 805b922: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 7; i++) 805b926: 2300 movs r3, #0 805b928: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805b92c: e07f b.n 805ba2e { frq[i] = Fvr * (float32_t)(i + 1); 805b92e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b932: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805b936: 3201 adds r2, #1 805b938: ee07 2a90 vmov s15, r2 805b93c: eeb8 7a67 vcvt.f32.u32 s14, s15 805b940: 4a44 ldr r2, [pc, #272] ; (805ba54 ) 805b942: edd2 7a00 vldr s15, [r2] 805b946: ee67 7a27 vmul.f32 s15, s14, s15 805b94a: 009b lsls r3, r3, #2 805b94c: f507 720a add.w r2, r7, #552 ; 0x228 805b950: 4413 add r3, r2 805b952: 3bb4 subs r3, #180 ; 0xb4 805b954: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805b958: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805b95c: 009b lsls r3, r3, #2 805b95e: f507 720a add.w r2, r7, #552 ; 0x228 805b962: 4413 add r3, r2 805b964: 3bb4 subs r3, #180 ; 0xb4 805b966: ed93 7a00 vldr s14, [r3] 805b96a: eddf 6a36 vldr s13, [pc, #216] ; 805ba44 805b96e: eec7 7a26 vdiv.f32 s15, s14, s13 805b972: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805b976: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b97a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805b97e: ee77 7a87 vadd.f32 s15, s15, s14 805b982: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805b986: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805b98a: eefc 7ae7 vcvt.u32.f32 s15, s15 805b98e: ee17 2a90 vmov r2, s15 805b992: f107 03bc add.w r3, r7, #188 ; 0xbc 805b996: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805b998: f107 03bc add.w r3, r7, #188 ; 0xbc 805b99c: 685b ldr r3, [r3, #4] 805b99e: 1e5a subs r2, r3, #1 805b9a0: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9a4: 601a str r2, [r3, #0] 805b9a6: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9aa: 685b ldr r3, [r3, #4] 805b9ac: 2b01 cmp r3, #1 805b9ae: d805 bhi.n 805b9bc 805b9b0: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9b4: 685a ldr r2, [r3, #4] 805b9b6: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9ba: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805b9bc: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9c0: 685b ldr r3, [r3, #4] 805b9c2: 1c5a adds r2, r3, #1 805b9c4: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9c8: 609a str r2, [r3, #8] 805b9ca: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9ce: 685b ldr r3, [r3, #4] 805b9d0: f640 72fe movw r2, #4094 ; 0xffe 805b9d4: 4293 cmp r3, r2 805b9d6: d905 bls.n 805b9e4 805b9d8: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9dc: 685a ldr r2, [r3, #4] 805b9de: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9e2: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805b9e4: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9e8: 685b ldr r3, [r3, #4] 805b9ea: 4a17 ldr r2, [pc, #92] ; (805ba48 ) 805b9ec: 5cd3 ldrb r3, [r2, r3] 805b9ee: 2b00 cmp r3, #0 805b9f0: d10d bne.n 805ba0e 805b9f2: f107 03bc add.w r3, r7, #188 ; 0xbc 805b9f6: 681b ldr r3, [r3, #0] 805b9f8: 4a13 ldr r2, [pc, #76] ; (805ba48 ) 805b9fa: 5cd3 ldrb r3, [r2, r3] 805b9fc: 2b00 cmp r3, #0 805b9fe: d106 bne.n 805ba0e 805ba00: f107 03bc add.w r3, r7, #188 ; 0xbc 805ba04: 689b ldr r3, [r3, #8] 805ba06: 4a10 ldr r2, [pc, #64] ; (805ba48 ) 805ba08: 5cd3 ldrb r3, [r2, r3] 805ba0a: 2b00 cmp r3, #0 805ba0c: d00a beq.n 805ba24 { limit[i] = true; 805ba0e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba12: f507 7294 add.w r2, r7, #296 ; 0x128 805ba16: 2101 movs r1, #1 805ba18: 54d1 strb r1, [r2, r3] k++; 805ba1a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805ba1e: 3301 adds r3, #1 805ba20: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 7; i++) 805ba24: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba28: 3301 adds r3, #1 805ba2a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ba2e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba32: 2b06 cmp r3, #6 805ba34: f67f af7b bls.w 805b92e } } for(i = 0; i < 3; i++) 805ba38: 2300 movs r3, #0 805ba3a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ba3e: e08b b.n 805bb58 805ba40: 200261c4 .word 0x200261c4 805ba44: 3efa0000 .word 0x3efa0000 805ba48: 20018000 .word 0x20018000 805ba4c: 20026f10 .word 0x20026f10 805ba50: 00000000 .word 0x00000000 805ba54: 20026d00 .word 0x20026d00 { frq_1[i] = Fv * (float32_t)(i + 1); 805ba58: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba5c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ba60: 3201 adds r2, #1 805ba62: ee07 2a90 vmov s15, r2 805ba66: eeb8 7a67 vcvt.f32.u32 s14, s15 805ba6a: 4a9c ldr r2, [pc, #624] ; (805bcdc ) 805ba6c: edd2 7a00 vldr s15, [r2] 805ba70: ee67 7a27 vmul.f32 s15, s14, s15 805ba74: 009b lsls r3, r3, #2 805ba76: f507 720a add.w r2, r7, #552 ; 0x228 805ba7a: 4413 add r3, r2 805ba7c: 3bf0 subs r3, #240 ; 0xf0 805ba7e: edc3 7a00 vstr s15, [r3] fl = frq_1[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805ba82: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ba86: 009b lsls r3, r3, #2 805ba88: f507 720a add.w r2, r7, #552 ; 0x228 805ba8c: 4413 add r3, r2 805ba8e: 3bf0 subs r3, #240 ; 0xf0 805ba90: ed93 7a00 vldr s14, [r3] 805ba94: eddf 6a92 vldr s13, [pc, #584] ; 805bce0 805ba98: eec7 7a26 vdiv.f32 s15, s14, s13 805ba9c: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805baa0: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805baa4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805baa8: ee77 7a87 vadd.f32 s15, s15, s14 805baac: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805bab0: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bab4: eefc 7ae7 vcvt.u32.f32 s15, s15 805bab8: ee17 2a90 vmov r2, s15 805babc: f107 03bc add.w r3, r7, #188 ; 0xbc 805bac0: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805bac2: f107 03bc add.w r3, r7, #188 ; 0xbc 805bac6: 685b ldr r3, [r3, #4] 805bac8: 1e5a subs r2, r3, #1 805baca: f107 03bc add.w r3, r7, #188 ; 0xbc 805bace: 601a str r2, [r3, #0] 805bad0: f107 03bc add.w r3, r7, #188 ; 0xbc 805bad4: 685b ldr r3, [r3, #4] 805bad6: 2b01 cmp r3, #1 805bad8: d805 bhi.n 805bae6 805bada: f107 03bc add.w r3, r7, #188 ; 0xbc 805bade: 685a ldr r2, [r3, #4] 805bae0: f107 03bc add.w r3, r7, #188 ; 0xbc 805bae4: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805bae6: f107 03bc add.w r3, r7, #188 ; 0xbc 805baea: 685b ldr r3, [r3, #4] 805baec: 1c5a adds r2, r3, #1 805baee: f107 03bc add.w r3, r7, #188 ; 0xbc 805baf2: 609a str r2, [r3, #8] 805baf4: f107 03bc add.w r3, r7, #188 ; 0xbc 805baf8: 685b ldr r3, [r3, #4] 805bafa: f640 72fe movw r2, #4094 ; 0xffe 805bafe: 4293 cmp r3, r2 805bb00: d905 bls.n 805bb0e 805bb02: f107 03bc add.w r3, r7, #188 ; 0xbc 805bb06: 685a ldr r2, [r3, #4] 805bb08: f107 03bc add.w r3, r7, #188 ; 0xbc 805bb0c: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805bb0e: f107 03bc add.w r3, r7, #188 ; 0xbc 805bb12: 685b ldr r3, [r3, #4] 805bb14: 4a73 ldr r2, [pc, #460] ; (805bce4 ) 805bb16: 5cd3 ldrb r3, [r2, r3] 805bb18: 2b00 cmp r3, #0 805bb1a: d10d bne.n 805bb38 805bb1c: f107 03bc add.w r3, r7, #188 ; 0xbc 805bb20: 681b ldr r3, [r3, #0] 805bb22: 4a70 ldr r2, [pc, #448] ; (805bce4 ) 805bb24: 5cd3 ldrb r3, [r2, r3] 805bb26: 2b00 cmp r3, #0 805bb28: d106 bne.n 805bb38 805bb2a: f107 03bc add.w r3, r7, #188 ; 0xbc 805bb2e: 689b ldr r3, [r3, #8] 805bb30: 4a6c ldr r2, [pc, #432] ; (805bce4 ) 805bb32: 5cd3 ldrb r3, [r2, r3] 805bb34: 2b00 cmp r3, #0 805bb36: d00a beq.n 805bb4e { limit_1[i] = true; 805bb38: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb3c: f507 728c add.w r2, r7, #280 ; 0x118 805bb40: 2101 movs r1, #1 805bb42: 54d1 strb r1, [r2, r3] l++; 805bb44: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805bb48: 3301 adds r3, #1 805bb4a: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 3; i++) 805bb4e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb52: 3301 adds r3, #1 805bb54: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bb58: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bb5c: 2b02 cmp r3, #2 805bb5e: f67f af7b bls.w 805ba58 } } if((l >= 1) && (limit_1[0])) 805bb62: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805bb66: 2b00 cmp r3, #0 805bb68: d007 beq.n 805bb7a 805bb6a: f507 738c add.w r3, r7, #280 ; 0x118 805bb6e: 781b ldrb r3, [r3, #0] 805bb70: 2b00 cmp r3, #0 805bb72: d002 beq.n 805bb7a { DEFECTS[ZADIRI_TRESCHINI_NA_VNUTRENNEM_KOLCE] = true; 805bb74: 4b5c ldr r3, [pc, #368] ; (805bce8 ) 805bb76: 2201 movs r2, #1 805bb78: 719a strb r2, [r3, #6] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Èçíîñ òåë êà÷åíèÿ è ñåïàðàòîðà ///////////////// memset((void *) limit, false, sizeof(limit)); 805bb7a: f507 7394 add.w r3, r7, #296 ; 0x128 805bb7e: 220f movs r2, #15 805bb80: 2100 movs r1, #0 805bb82: 4618 mov r0, r3 805bb84: f071 fa7c bl 80cd080 memset((void *) limit_1, false, sizeof(limit_1)); 805bb88: f507 738c add.w r3, r7, #280 ; 0x118 805bb8c: 220f movs r2, #15 805bb8e: 2100 movs r1, #0 805bb90: 4618 mov r0, r3 805bb92: f071 fa75 bl 80cd080 arm_fill_f32(0.0f, frq, 15); 805bb96: f507 73ba add.w r3, r7, #372 ; 0x174 805bb9a: 210f movs r1, #15 805bb9c: 4618 mov r0, r3 805bb9e: ed9f 0a53 vldr s0, [pc, #332] ; 805bcec 805bba2: f06e f8cb bl 80c9d3c arm_fill_f32(0.0f, frq_1, 15); 805bba6: f507 739c add.w r3, r7, #312 ; 0x138 805bbaa: 210f movs r1, #15 805bbac: 4618 mov r0, r3 805bbae: ed9f 0a4f vldr s0, [pc, #316] ; 805bcec 805bbb2: f06e f8c3 bl 80c9d3c k = 0; 805bbb6: 2300 movs r3, #0 805bbb8: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805bbbc: 2300 movs r3, #0 805bbbe: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 8; i++) 805bbc2: 2300 movs r3, #0 805bbc4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bbc8: e07f b.n 805bcca { frq[i] = Fc * (float32_t)(i + 1); 805bbca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bbce: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bbd2: 3201 adds r2, #1 805bbd4: ee07 2a90 vmov s15, r2 805bbd8: eeb8 7a67 vcvt.f32.u32 s14, s15 805bbdc: 4a44 ldr r2, [pc, #272] ; (805bcf0 ) 805bbde: edd2 7a00 vldr s15, [r2] 805bbe2: ee67 7a27 vmul.f32 s15, s14, s15 805bbe6: 009b lsls r3, r3, #2 805bbe8: f507 720a add.w r2, r7, #552 ; 0x228 805bbec: 4413 add r3, r2 805bbee: 3bb4 subs r3, #180 ; 0xb4 805bbf0: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805bbf4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bbf8: 009b lsls r3, r3, #2 805bbfa: f507 720a add.w r2, r7, #552 ; 0x228 805bbfe: 4413 add r3, r2 805bc00: 3bb4 subs r3, #180 ; 0xb4 805bc02: ed93 7a00 vldr s14, [r3] 805bc06: eddf 6a36 vldr s13, [pc, #216] ; 805bce0 805bc0a: eec7 7a26 vdiv.f32 s15, s14, s13 805bc0e: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805bc12: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bc16: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805bc1a: ee77 7a87 vadd.f32 s15, s15, s14 805bc1e: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805bc22: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bc26: eefc 7ae7 vcvt.u32.f32 s15, s15 805bc2a: ee17 2a90 vmov r2, s15 805bc2e: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc32: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805bc34: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc38: 685b ldr r3, [r3, #4] 805bc3a: 1e5a subs r2, r3, #1 805bc3c: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc40: 601a str r2, [r3, #0] 805bc42: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc46: 685b ldr r3, [r3, #4] 805bc48: 2b01 cmp r3, #1 805bc4a: d805 bhi.n 805bc58 805bc4c: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc50: 685a ldr r2, [r3, #4] 805bc52: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc56: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805bc58: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc5c: 685b ldr r3, [r3, #4] 805bc5e: 1c5a adds r2, r3, #1 805bc60: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc64: 609a str r2, [r3, #8] 805bc66: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc6a: 685b ldr r3, [r3, #4] 805bc6c: f640 72fe movw r2, #4094 ; 0xffe 805bc70: 4293 cmp r3, r2 805bc72: d905 bls.n 805bc80 805bc74: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc78: 685a ldr r2, [r3, #4] 805bc7a: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc7e: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805bc80: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc84: 685b ldr r3, [r3, #4] 805bc86: 4a17 ldr r2, [pc, #92] ; (805bce4 ) 805bc88: 5cd3 ldrb r3, [r2, r3] 805bc8a: 2b00 cmp r3, #0 805bc8c: d10d bne.n 805bcaa 805bc8e: f107 03bc add.w r3, r7, #188 ; 0xbc 805bc92: 681b ldr r3, [r3, #0] 805bc94: 4a13 ldr r2, [pc, #76] ; (805bce4 ) 805bc96: 5cd3 ldrb r3, [r2, r3] 805bc98: 2b00 cmp r3, #0 805bc9a: d106 bne.n 805bcaa 805bc9c: f107 03bc add.w r3, r7, #188 ; 0xbc 805bca0: 689b ldr r3, [r3, #8] 805bca2: 4a10 ldr r2, [pc, #64] ; (805bce4 ) 805bca4: 5cd3 ldrb r3, [r2, r3] 805bca6: 2b00 cmp r3, #0 805bca8: d00a beq.n 805bcc0 { limit[i] = true; 805bcaa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bcae: f507 7294 add.w r2, r7, #296 ; 0x128 805bcb2: 2101 movs r1, #1 805bcb4: 54d1 strb r1, [r2, r3] k++; 805bcb6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bcba: 3301 adds r3, #1 805bcbc: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 8; i++) 805bcc0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bcc4: 3301 adds r3, #1 805bcc6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bcca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bcce: 2b07 cmp r3, #7 805bcd0: f67f af7b bls.w 805bbca } } for(i = 0; i < 8; i++) 805bcd4: 2300 movs r3, #0 805bcd6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bcda: e090 b.n 805bdfe 805bcdc: 200261c4 .word 0x200261c4 805bce0: 3efa0000 .word 0x3efa0000 805bce4: 20018000 .word 0x20018000 805bce8: 20026f10 .word 0x20026f10 805bcec: 00000000 .word 0x00000000 805bcf0: 20068320 .word 0x20068320 { frq_1[i] = (Fvr * (float32_t)(i + 1)) - Fc; 805bcf4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bcf8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bcfc: 3201 adds r2, #1 805bcfe: ee07 2a90 vmov s15, r2 805bd02: eeb8 7a67 vcvt.f32.u32 s14, s15 805bd06: 4ac5 ldr r2, [pc, #788] ; (805c01c ) 805bd08: edd2 7a00 vldr s15, [r2] 805bd0c: ee27 7a27 vmul.f32 s14, s14, s15 805bd10: 4ac3 ldr r2, [pc, #780] ; (805c020 ) 805bd12: edd2 7a00 vldr s15, [r2] 805bd16: ee77 7a67 vsub.f32 s15, s14, s15 805bd1a: 009b lsls r3, r3, #2 805bd1c: f507 720a add.w r2, r7, #552 ; 0x228 805bd20: 4413 add r3, r2 805bd22: 3bf0 subs r3, #240 ; 0xf0 805bd24: edc3 7a00 vstr s15, [r3] fl = frq_1[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805bd28: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bd2c: 009b lsls r3, r3, #2 805bd2e: f507 720a add.w r2, r7, #552 ; 0x228 805bd32: 4413 add r3, r2 805bd34: 3bf0 subs r3, #240 ; 0xf0 805bd36: ed93 7a00 vldr s14, [r3] 805bd3a: eddf 6aba vldr s13, [pc, #744] ; 805c024 805bd3e: eec7 7a26 vdiv.f32 s15, s14, s13 805bd42: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805bd46: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bd4a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805bd4e: ee77 7a87 vadd.f32 s15, s15, s14 805bd52: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805bd56: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805bd5a: eefc 7ae7 vcvt.u32.f32 s15, s15 805bd5e: ee17 2a90 vmov r2, s15 805bd62: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd66: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805bd68: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd6c: 685b ldr r3, [r3, #4] 805bd6e: 1e5a subs r2, r3, #1 805bd70: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd74: 601a str r2, [r3, #0] 805bd76: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd7a: 685b ldr r3, [r3, #4] 805bd7c: 2b01 cmp r3, #1 805bd7e: d805 bhi.n 805bd8c 805bd80: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd84: 685a ldr r2, [r3, #4] 805bd86: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd8a: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805bd8c: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd90: 685b ldr r3, [r3, #4] 805bd92: 1c5a adds r2, r3, #1 805bd94: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd98: 609a str r2, [r3, #8] 805bd9a: f107 03bc add.w r3, r7, #188 ; 0xbc 805bd9e: 685b ldr r3, [r3, #4] 805bda0: f640 72fe movw r2, #4094 ; 0xffe 805bda4: 4293 cmp r3, r2 805bda6: d905 bls.n 805bdb4 805bda8: f107 03bc add.w r3, r7, #188 ; 0xbc 805bdac: 685a ldr r2, [r3, #4] 805bdae: f107 03bc add.w r3, r7, #188 ; 0xbc 805bdb2: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805bdb4: f107 03bc add.w r3, r7, #188 ; 0xbc 805bdb8: 685b ldr r3, [r3, #4] 805bdba: 4a9b ldr r2, [pc, #620] ; (805c028 ) 805bdbc: 5cd3 ldrb r3, [r2, r3] 805bdbe: 2b00 cmp r3, #0 805bdc0: d10d bne.n 805bdde 805bdc2: f107 03bc add.w r3, r7, #188 ; 0xbc 805bdc6: 681b ldr r3, [r3, #0] 805bdc8: 4a97 ldr r2, [pc, #604] ; (805c028 ) 805bdca: 5cd3 ldrb r3, [r2, r3] 805bdcc: 2b00 cmp r3, #0 805bdce: d106 bne.n 805bdde 805bdd0: f107 03bc add.w r3, r7, #188 ; 0xbc 805bdd4: 689b ldr r3, [r3, #8] 805bdd6: 4a94 ldr r2, [pc, #592] ; (805c028 ) 805bdd8: 5cd3 ldrb r3, [r2, r3] 805bdda: 2b00 cmp r3, #0 805bddc: d00a beq.n 805bdf4 { limit_1[i] = true; 805bdde: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bde2: f507 728c add.w r2, r7, #280 ; 0x118 805bde6: 2101 movs r1, #1 805bde8: 54d1 strb r1, [r2, r3] l++; 805bdea: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805bdee: 3301 adds r3, #1 805bdf0: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 8; i++) 805bdf4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bdf8: 3301 adds r3, #1 805bdfa: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bdfe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805be02: 2b07 cmp r3, #7 805be04: f67f af76 bls.w 805bcf4 } } if((k >= 1) && ((limit[0]) || (limit[1]))) 805be08: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805be0c: 2b00 cmp r3, #0 805be0e: d00d beq.n 805be2c 805be10: f507 7394 add.w r3, r7, #296 ; 0x128 805be14: 781b ldrb r3, [r3, #0] 805be16: 2b00 cmp r3, #0 805be18: d104 bne.n 805be24 805be1a: f507 7394 add.w r3, r7, #296 ; 0x128 805be1e: 785b ldrb r3, [r3, #1] 805be20: 2b00 cmp r3, #0 805be22: d003 beq.n 805be2c { DEFECTS[IZNOS_TEL_KACHENIYA_I_SEPARATORA] = true; 805be24: 4b81 ldr r3, [pc, #516] ; (805c02c ) 805be26: 2201 movs r2, #1 805be28: 71da strb r2, [r3, #7] 805be2a: e010 b.n 805be4e } else if((l >= 1) && ((limit_1[0]) || (limit_1[1]))) 805be2c: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805be30: 2b00 cmp r3, #0 805be32: d00c beq.n 805be4e 805be34: f507 738c add.w r3, r7, #280 ; 0x118 805be38: 781b ldrb r3, [r3, #0] 805be3a: 2b00 cmp r3, #0 805be3c: d104 bne.n 805be48 805be3e: f507 738c add.w r3, r7, #280 ; 0x118 805be42: 785b ldrb r3, [r3, #1] 805be44: 2b00 cmp r3, #0 805be46: d002 beq.n 805be4e { DEFECTS[IZNOS_TEL_KACHENIYA_I_SEPARATORA] = true; 805be48: 4b78 ldr r3, [pc, #480] ; (805c02c ) 805be4a: 2201 movs r2, #1 805be4c: 71da strb r2, [r3, #7] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãàêîâèíû, ñêîëû íà òåëàõ êà÷åíèÿ /////////////// memset((void *) limit, false, sizeof(limit)); 805be4e: f507 7394 add.w r3, r7, #296 ; 0x128 805be52: 220f movs r2, #15 805be54: 2100 movs r1, #0 805be56: 4618 mov r0, r3 805be58: f071 f912 bl 80cd080 memset((void *) limit_1, false, sizeof(limit_1)); 805be5c: f507 738c add.w r3, r7, #280 ; 0x118 805be60: 220f movs r2, #15 805be62: 2100 movs r1, #0 805be64: 4618 mov r0, r3 805be66: f071 f90b bl 80cd080 arm_fill_f32(0.0f, frq, 15); 805be6a: f507 73ba add.w r3, r7, #372 ; 0x174 805be6e: 210f movs r1, #15 805be70: 4618 mov r0, r3 805be72: ed9f 0a6f vldr s0, [pc, #444] ; 805c030 805be76: f06d ff61 bl 80c9d3c arm_fill_f32(0.0f, frq_1, 15); 805be7a: f507 739c add.w r3, r7, #312 ; 0x138 805be7e: 210f movs r1, #15 805be80: 4618 mov r0, r3 805be82: ed9f 0a6b vldr s0, [pc, #428] ; 805c030 805be86: f06d ff59 bl 80c9d3c k = 0; 805be8a: 2300 movs r3, #0 805be8c: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805be90: 2300 movs r3, #0 805be92: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 6; i++) 805be96: 2300 movs r3, #0 805be98: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805be9c: e07f b.n 805bf9e { frq[i] = Ftk * (float32_t)(i + 1); 805be9e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bea2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805bea6: 3201 adds r2, #1 805bea8: ee07 2a90 vmov s15, r2 805beac: eeb8 7a67 vcvt.f32.u32 s14, s15 805beb0: 4a60 ldr r2, [pc, #384] ; (805c034 ) 805beb2: edd2 7a00 vldr s15, [r2] 805beb6: ee67 7a27 vmul.f32 s15, s14, s15 805beba: 009b lsls r3, r3, #2 805bebc: f507 720a add.w r2, r7, #552 ; 0x228 805bec0: 4413 add r3, r2 805bec2: 3bb4 subs r3, #180 ; 0xb4 805bec4: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805bec8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805becc: 009b lsls r3, r3, #2 805bece: f507 720a add.w r2, r7, #552 ; 0x228 805bed2: 4413 add r3, r2 805bed4: 3bb4 subs r3, #180 ; 0xb4 805bed6: ed93 7a00 vldr s14, [r3] 805beda: eddf 6a52 vldr s13, [pc, #328] ; 805c024 805bede: eec7 7a26 vdiv.f32 s15, s14, s13 805bee2: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805bee6: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805beea: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805beee: ee77 7a87 vadd.f32 s15, s15, s14 805bef2: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805bef6: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805befa: eefc 7ae7 vcvt.u32.f32 s15, s15 805befe: ee17 2a90 vmov r2, s15 805bf02: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf06: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805bf08: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf0c: 685b ldr r3, [r3, #4] 805bf0e: 1e5a subs r2, r3, #1 805bf10: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf14: 601a str r2, [r3, #0] 805bf16: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf1a: 685b ldr r3, [r3, #4] 805bf1c: 2b01 cmp r3, #1 805bf1e: d805 bhi.n 805bf2c 805bf20: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf24: 685a ldr r2, [r3, #4] 805bf26: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf2a: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805bf2c: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf30: 685b ldr r3, [r3, #4] 805bf32: 1c5a adds r2, r3, #1 805bf34: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf38: 609a str r2, [r3, #8] 805bf3a: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf3e: 685b ldr r3, [r3, #4] 805bf40: f640 72fe movw r2, #4094 ; 0xffe 805bf44: 4293 cmp r3, r2 805bf46: d905 bls.n 805bf54 805bf48: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf4c: 685a ldr r2, [r3, #4] 805bf4e: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf52: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805bf54: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf58: 685b ldr r3, [r3, #4] 805bf5a: 4a33 ldr r2, [pc, #204] ; (805c028 ) 805bf5c: 5cd3 ldrb r3, [r2, r3] 805bf5e: 2b00 cmp r3, #0 805bf60: d10d bne.n 805bf7e 805bf62: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf66: 681b ldr r3, [r3, #0] 805bf68: 4a2f ldr r2, [pc, #188] ; (805c028 ) 805bf6a: 5cd3 ldrb r3, [r2, r3] 805bf6c: 2b00 cmp r3, #0 805bf6e: d106 bne.n 805bf7e 805bf70: f107 03bc add.w r3, r7, #188 ; 0xbc 805bf74: 689b ldr r3, [r3, #8] 805bf76: 4a2c ldr r2, [pc, #176] ; (805c028 ) 805bf78: 5cd3 ldrb r3, [r2, r3] 805bf7a: 2b00 cmp r3, #0 805bf7c: d00a beq.n 805bf94 { limit[i] = true; 805bf7e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bf82: f507 7294 add.w r2, r7, #296 ; 0x128 805bf86: 2101 movs r1, #1 805bf88: 54d1 strb r1, [r2, r3] k++; 805bf8a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bf8e: 3301 adds r3, #1 805bf90: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 6; i++) 805bf94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bf98: 3301 adds r3, #1 805bf9a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805bf9e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805bfa2: 2b05 cmp r3, #5 805bfa4: f67f af7b bls.w 805be9e } } if((k >= 1) && ((limit[0]) || (limit[1]))) 805bfa8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805bfac: 2b00 cmp r3, #0 805bfae: d00c beq.n 805bfca 805bfb0: f507 7394 add.w r3, r7, #296 ; 0x128 805bfb4: 781b ldrb r3, [r3, #0] 805bfb6: 2b00 cmp r3, #0 805bfb8: d104 bne.n 805bfc4 805bfba: f507 7394 add.w r3, r7, #296 ; 0x128 805bfbe: 785b ldrb r3, [r3, #1] 805bfc0: 2b00 cmp r3, #0 805bfc2: d002 beq.n 805bfca { DEFECTS[RAKOVINI_SKOLI_NA_TELAH_KACHENIYA] = true; 805bfc4: 4b19 ldr r3, [pc, #100] ; (805c02c ) 805bfc6: 2201 movs r2, #1 805bfc8: 721a strb r2, [r3, #8] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Ãåóðàâíîâåøåííîñòü ðîòîðà ////////////////////// memset((void *) limit, false, sizeof(limit)); 805bfca: f507 7394 add.w r3, r7, #296 ; 0x128 805bfce: 220f movs r2, #15 805bfd0: 2100 movs r1, #0 805bfd2: 4618 mov r0, r3 805bfd4: f071 f854 bl 80cd080 memset((void *) limit_1, false, sizeof(limit_1)); 805bfd8: f507 738c add.w r3, r7, #280 ; 0x118 805bfdc: 220f movs r2, #15 805bfde: 2100 movs r1, #0 805bfe0: 4618 mov r0, r3 805bfe2: f071 f84d bl 80cd080 arm_fill_f32(0.0f, frq, 15); 805bfe6: f507 73ba add.w r3, r7, #372 ; 0x174 805bfea: 210f movs r1, #15 805bfec: 4618 mov r0, r3 805bfee: ed9f 0a10 vldr s0, [pc, #64] ; 805c030 805bff2: f06d fea3 bl 80c9d3c arm_fill_f32(0.0f, frq_1, 15); 805bff6: f507 739c add.w r3, r7, #312 ; 0x138 805bffa: 210f movs r1, #15 805bffc: 4618 mov r0, r3 805bffe: ed9f 0a0c vldr s0, [pc, #48] ; 805c030 805c002: f06d fe9b bl 80c9d3c k = 0; 805c006: 2300 movs r3, #0 805c008: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c00c: 2300 movs r3, #0 805c00e: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 15; i++) 805c012: 2300 movs r3, #0 805c014: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c018: e08e b.n 805c138 805c01a: bf00 nop 805c01c: 20026d00 .word 0x20026d00 805c020: 20068320 .word 0x20068320 805c024: 3efa0000 .word 0x3efa0000 805c028: 20018000 .word 0x20018000 805c02c: 20026f10 .word 0x20026f10 805c030: 00000000 .word 0x00000000 805c034: 20037a40 .word 0x20037a40 { frq[i] = Fvr * (float32_t)(i + 1); 805c038: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c03c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c040: 3201 adds r2, #1 805c042: ee07 2a90 vmov s15, r2 805c046: eeb8 7a67 vcvt.f32.u32 s14, s15 805c04a: 4a9c ldr r2, [pc, #624] ; (805c2bc ) 805c04c: edd2 7a00 vldr s15, [r2] 805c050: ee67 7a27 vmul.f32 s15, s14, s15 805c054: 009b lsls r3, r3, #2 805c056: f507 720a add.w r2, r7, #552 ; 0x228 805c05a: 4413 add r3, r2 805c05c: 3bb4 subs r3, #180 ; 0xb4 805c05e: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805c062: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c066: 009b lsls r3, r3, #2 805c068: f507 720a add.w r2, r7, #552 ; 0x228 805c06c: 4413 add r3, r2 805c06e: 3bb4 subs r3, #180 ; 0xb4 805c070: ed93 7a00 vldr s14, [r3] 805c074: eddf 6a92 vldr s13, [pc, #584] ; 805c2c0 805c078: eec7 7a26 vdiv.f32 s15, s14, s13 805c07c: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805c080: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c084: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c088: ee77 7a87 vadd.f32 s15, s15, s14 805c08c: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805c090: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c094: eefc 7ae7 vcvt.u32.f32 s15, s15 805c098: ee17 2a90 vmov r2, s15 805c09c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0a0: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805c0a2: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0a6: 685b ldr r3, [r3, #4] 805c0a8: 1e5a subs r2, r3, #1 805c0aa: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0ae: 601a str r2, [r3, #0] 805c0b0: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0b4: 685b ldr r3, [r3, #4] 805c0b6: 2b01 cmp r3, #1 805c0b8: d805 bhi.n 805c0c6 805c0ba: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0be: 685a ldr r2, [r3, #4] 805c0c0: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0c4: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805c0c6: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0ca: 685b ldr r3, [r3, #4] 805c0cc: 1c5a adds r2, r3, #1 805c0ce: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0d2: 609a str r2, [r3, #8] 805c0d4: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0d8: 685b ldr r3, [r3, #4] 805c0da: f640 72fe movw r2, #4094 ; 0xffe 805c0de: 4293 cmp r3, r2 805c0e0: d905 bls.n 805c0ee 805c0e2: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0e6: 685a ldr r2, [r3, #4] 805c0e8: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0ec: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805c0ee: f107 03bc add.w r3, r7, #188 ; 0xbc 805c0f2: 685b ldr r3, [r3, #4] 805c0f4: 4a73 ldr r2, [pc, #460] ; (805c2c4 ) 805c0f6: 5cd3 ldrb r3, [r2, r3] 805c0f8: 2b00 cmp r3, #0 805c0fa: d10d bne.n 805c118 805c0fc: f107 03bc add.w r3, r7, #188 ; 0xbc 805c100: 681b ldr r3, [r3, #0] 805c102: 4a70 ldr r2, [pc, #448] ; (805c2c4 ) 805c104: 5cd3 ldrb r3, [r2, r3] 805c106: 2b00 cmp r3, #0 805c108: d106 bne.n 805c118 805c10a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c10e: 689b ldr r3, [r3, #8] 805c110: 4a6c ldr r2, [pc, #432] ; (805c2c4 ) 805c112: 5cd3 ldrb r3, [r2, r3] 805c114: 2b00 cmp r3, #0 805c116: d00a beq.n 805c12e { limit[i] = true; 805c118: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c11c: f507 7294 add.w r2, r7, #296 ; 0x128 805c120: 2101 movs r1, #1 805c122: 54d1 strb r1, [r2, r3] k++; 805c124: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c128: 3301 adds r3, #1 805c12a: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 15; i++) 805c12e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c132: 3301 adds r3, #1 805c134: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c138: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c13c: 2b0e cmp r3, #14 805c13e: f67f af7b bls.w 805c038 } } if((k == 1) && ((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]]))) 805c142: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c146: 2b01 cmp r3, #1 805c148: d117 bne.n 805c17a 805c14a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c14e: 685b ldr r3, [r3, #4] 805c150: 4a5c ldr r2, [pc, #368] ; (805c2c4 ) 805c152: 5cd3 ldrb r3, [r2, r3] 805c154: 2b00 cmp r3, #0 805c156: d10d bne.n 805c174 805c158: f107 03bc add.w r3, r7, #188 ; 0xbc 805c15c: 681b ldr r3, [r3, #0] 805c15e: 4a59 ldr r2, [pc, #356] ; (805c2c4 ) 805c160: 5cd3 ldrb r3, [r2, r3] 805c162: 2b00 cmp r3, #0 805c164: d106 bne.n 805c174 805c166: f107 03bc add.w r3, r7, #188 ; 0xbc 805c16a: 689b ldr r3, [r3, #8] 805c16c: 4a55 ldr r2, [pc, #340] ; (805c2c4 ) 805c16e: 5cd3 ldrb r3, [r2, r3] 805c170: 2b00 cmp r3, #0 805c172: d002 beq.n 805c17a { DEFECTS[NEURAVNOVESHENNOST_ROTORA] = true; 805c174: 4b54 ldr r3, [pc, #336] ; (805c2c8 ) 805c176: 2201 movs r2, #1 805c178: 725a strb r2, [r3, #9] } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// //////////////////// Äåôåêòû óçëîâ êðåïëåíèÿ //////////////////////// memset((void *) limit, false, sizeof(limit)); 805c17a: f507 7394 add.w r3, r7, #296 ; 0x128 805c17e: 220f movs r2, #15 805c180: 2100 movs r1, #0 805c182: 4618 mov r0, r3 805c184: f070 ff7c bl 80cd080 memset((void *) limit_1, false, sizeof(limit_1)); 805c188: f507 738c add.w r3, r7, #280 ; 0x118 805c18c: 220f movs r2, #15 805c18e: 2100 movs r1, #0 805c190: 4618 mov r0, r3 805c192: f070 ff75 bl 80cd080 arm_fill_f32(0.0f, frq, 15); 805c196: f507 73ba add.w r3, r7, #372 ; 0x174 805c19a: 210f movs r1, #15 805c19c: 4618 mov r0, r3 805c19e: ed9f 0a4b vldr s0, [pc, #300] ; 805c2cc 805c1a2: f06d fdcb bl 80c9d3c arm_fill_f32(0.0f, frq_1, 15); 805c1a6: f507 739c add.w r3, r7, #312 ; 0x138 805c1aa: 210f movs r1, #15 805c1ac: 4618 mov r0, r3 805c1ae: ed9f 0a47 vldr s0, [pc, #284] ; 805c2cc 805c1b2: f06d fdc3 bl 80c9d3c k = 0; 805c1b6: 2300 movs r3, #0 805c1b8: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c1bc: 2300 movs r3, #0 805c1be: f8c7 3224 str.w r3, [r7, #548] ; 0x224 frq[0] = Fvr / 2; 805c1c2: 4b3e ldr r3, [pc, #248] ; (805c2bc ) 805c1c4: ed93 7a00 vldr s14, [r3] 805c1c8: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 805c1cc: eec7 7a26 vdiv.f32 s15, s14, s13 805c1d0: edc7 7a5d vstr s15, [r7, #372] ; 0x174 fl = frq[0] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805c1d4: ed97 7a5d vldr s14, [r7, #372] ; 0x174 805c1d8: eddf 6a39 vldr s13, [pc, #228] ; 805c2c0 805c1dc: eec7 7a26 vdiv.f32 s15, s14, s13 805c1e0: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805c1e4: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c1e8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c1ec: ee77 7a87 vadd.f32 s15, s15, s14 805c1f0: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc j = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805c1f4: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c1f8: eefc 7ae7 vcvt.u32.f32 s15, s15 805c1fc: ee17 3a90 vmov r3, s15 805c200: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc k = 1; 805c204: 2301 movs r3, #1 805c206: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 fs = ScrA_f32(1) - ScrA_f32(j); 805c20a: 4b31 ldr r3, [pc, #196] ; (805c2d0 ) 805c20c: ed93 7a00 vldr s14, [r3] 805c210: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805c214: 009a lsls r2, r3, #2 805c216: 4b2f ldr r3, [pc, #188] ; (805c2d4 ) 805c218: 4413 add r3, r2 805c21a: edd3 7a00 vldr s15, [r3] 805c21e: ee77 7a67 vsub.f32 s15, s14, s15 805c222: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(fs > 0) 805c226: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805c22a: eef5 7ac0 vcmpe.f32 s15, #0.0 805c22e: eef1 fa10 vmrs APSR_nzcv, fpscr 805c232: dd1b ble.n 805c26c { fs = fs / ((float32_t) j * 0.48828125f); 805c234: edd7 6a6e vldr s13, [r7, #440] ; 0x1b8 805c238: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805c23c: ee07 3a90 vmov s15, r3 805c240: eef8 7a67 vcvt.f32.u32 s15, s15 805c244: ed9f 7a1e vldr s14, [pc, #120] ; 805c2c0 805c248: ee27 7a87 vmul.f32 s14, s15, s14 805c24c: eec6 7a87 vdiv.f32 s15, s13, s14 805c250: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(fs > 2.0f) { 805c254: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805c258: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 805c25c: eef4 7ac7 vcmpe.f32 s15, s14 805c260: eef1 fa10 vmrs APSR_nzcv, fpscr 805c264: dd02 ble.n 805c26c DEFECTS[DEFECTI_UZLOV_KREPLENIYA] = true; 805c266: 4b18 ldr r3, [pc, #96] ; (805c2c8 ) 805c268: 2201 movs r2, #1 805c26a: 729a strb r2, [r3, #10] } } ///////////////////////////////////////////////////////////////////// ///////////////////////////////////////////////////////////////////// ////////////////////////// Ãåñîîñíîñòü ////////////////////////////// memset((void *) limit, false, sizeof(limit)); 805c26c: f507 7394 add.w r3, r7, #296 ; 0x128 805c270: 220f movs r2, #15 805c272: 2100 movs r1, #0 805c274: 4618 mov r0, r3 805c276: f070 ff03 bl 80cd080 memset((void *) limit_1, false, sizeof(limit_1)); 805c27a: f507 738c add.w r3, r7, #280 ; 0x118 805c27e: 220f movs r2, #15 805c280: 2100 movs r1, #0 805c282: 4618 mov r0, r3 805c284: f070 fefc bl 80cd080 arm_fill_f32(0.0f, frq, 15); 805c288: f507 73ba add.w r3, r7, #372 ; 0x174 805c28c: 210f movs r1, #15 805c28e: 4618 mov r0, r3 805c290: ed9f 0a0e vldr s0, [pc, #56] ; 805c2cc 805c294: f06d fd52 bl 80c9d3c arm_fill_f32(0.0f, frq_1, 15); 805c298: f507 739c add.w r3, r7, #312 ; 0x138 805c29c: 210f movs r1, #15 805c29e: 4618 mov r0, r3 805c2a0: ed9f 0a0a vldr s0, [pc, #40] ; 805c2cc 805c2a4: f06d fd4a bl 80c9d3c k = 0; 805c2a8: 2300 movs r3, #0 805c2aa: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c2ae: 2300 movs r3, #0 805c2b0: f8c7 3224 str.w r3, [r7, #548] ; 0x224 for(i = 0; i < 15; i++) 805c2b4: 2300 movs r3, #0 805c2b6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c2ba: e08d b.n 805c3d8 805c2bc: 20026d00 .word 0x20026d00 805c2c0: 3efa0000 .word 0x3efa0000 805c2c4: 20018000 .word 0x20018000 805c2c8: 20026f10 .word 0x20026f10 805c2cc: 00000000 .word 0x00000000 805c2d0: 64080004 .word 0x64080004 805c2d4: 64080000 .word 0x64080000 { frq[i] = Fvr * (float32_t)(i + 1); 805c2d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c2dc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c2e0: 3201 adds r2, #1 805c2e2: ee07 2a90 vmov s15, r2 805c2e6: eeb8 7a67 vcvt.f32.u32 s14, s15 805c2ea: 4a75 ldr r2, [pc, #468] ; (805c4c0 ) 805c2ec: edd2 7a00 vldr s15, [r2] 805c2f0: ee67 7a27 vmul.f32 s15, s14, s15 805c2f4: 009b lsls r3, r3, #2 805c2f6: f507 720a add.w r2, r7, #552 ; 0x228 805c2fa: 4413 add r3, r2 805c2fc: 3bb4 subs r3, #180 ; 0xb4 805c2fe: edc3 7a00 vstr s15, [r3] fl = frq[i] / 0.48828125; // íîìåð ãàðìîíèêè âåùåñòâåííûé 805c302: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c306: 009b lsls r3, r3, #2 805c308: f507 720a add.w r2, r7, #552 ; 0x228 805c30c: 4413 add r3, r2 805c30e: 3bb4 subs r3, #180 ; 0xb4 805c310: ed93 7a00 vldr s14, [r3] 805c314: eddf 6a6b vldr s13, [pc, #428] ; 805c4c4 805c318: eec7 7a26 vdiv.f32 s15, s14, s13 805c31c: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc fl += 0.5f; 805c320: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c324: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805c328: ee77 7a87 vadd.f32 s15, s15, s14 805c32c: edc7 7a6f vstr s15, [r7, #444] ; 0x1bc jj[1] = (uint32_t) fl; // íîìåð ãàðìîíèêè öåëûé 805c330: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805c334: eefc 7ae7 vcvt.u32.f32 s15, s15 805c338: ee17 2a90 vmov r2, s15 805c33c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c340: 605a str r2, [r3, #4] jj[0] = jj[1] - 1; if(jj[1] < 2) jj[0] = jj[1]; 805c342: f107 03bc add.w r3, r7, #188 ; 0xbc 805c346: 685b ldr r3, [r3, #4] 805c348: 1e5a subs r2, r3, #1 805c34a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c34e: 601a str r2, [r3, #0] 805c350: f107 03bc add.w r3, r7, #188 ; 0xbc 805c354: 685b ldr r3, [r3, #4] 805c356: 2b01 cmp r3, #1 805c358: d805 bhi.n 805c366 805c35a: f107 03bc add.w r3, r7, #188 ; 0xbc 805c35e: 685a ldr r2, [r3, #4] 805c360: f107 03bc add.w r3, r7, #188 ; 0xbc 805c364: 601a str r2, [r3, #0] jj[2] = jj[1] + 1; if(jj[1] > 4094) jj[2] = jj[1]; 805c366: f107 03bc add.w r3, r7, #188 ; 0xbc 805c36a: 685b ldr r3, [r3, #4] 805c36c: 1c5a adds r2, r3, #1 805c36e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c372: 609a str r2, [r3, #8] 805c374: f107 03bc add.w r3, r7, #188 ; 0xbc 805c378: 685b ldr r3, [r3, #4] 805c37a: f640 72fe movw r2, #4094 ; 0xffe 805c37e: 4293 cmp r3, r2 805c380: d905 bls.n 805c38e 805c382: f107 03bc add.w r3, r7, #188 ; 0xbc 805c386: 685a ldr r2, [r3, #4] 805c388: f107 03bc add.w r3, r7, #188 ; 0xbc 805c38c: 609a str r2, [r3, #8] if((Freq[jj[1]]) || (Freq[jj[0]]) || (Freq[jj[2]])) 805c38e: f107 03bc add.w r3, r7, #188 ; 0xbc 805c392: 685b ldr r3, [r3, #4] 805c394: 4a4c ldr r2, [pc, #304] ; (805c4c8 ) 805c396: 5cd3 ldrb r3, [r2, r3] 805c398: 2b00 cmp r3, #0 805c39a: d10d bne.n 805c3b8 805c39c: f107 03bc add.w r3, r7, #188 ; 0xbc 805c3a0: 681b ldr r3, [r3, #0] 805c3a2: 4a49 ldr r2, [pc, #292] ; (805c4c8 ) 805c3a4: 5cd3 ldrb r3, [r2, r3] 805c3a6: 2b00 cmp r3, #0 805c3a8: d106 bne.n 805c3b8 805c3aa: f107 03bc add.w r3, r7, #188 ; 0xbc 805c3ae: 689b ldr r3, [r3, #8] 805c3b0: 4a45 ldr r2, [pc, #276] ; (805c4c8 ) 805c3b2: 5cd3 ldrb r3, [r2, r3] 805c3b4: 2b00 cmp r3, #0 805c3b6: d00a beq.n 805c3ce { limit[i] = true; 805c3b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c3bc: f507 7294 add.w r2, r7, #296 ; 0x128 805c3c0: 2101 movs r1, #1 805c3c2: 54d1 strb r1, [r2, r3] k++; 805c3c4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c3c8: 3301 adds r3, #1 805c3ca: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 15; i++) 805c3ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c3d2: 3301 adds r3, #1 805c3d4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c3d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c3dc: 2b0e cmp r3, #14 805c3de: f67f af7b bls.w 805c2d8 } } if((k >= 8) && ((limit[0]) || (limit[1]))) 805c3e2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c3e6: 2b07 cmp r3, #7 805c3e8: d971 bls.n 805c4ce 805c3ea: f507 7394 add.w r3, r7, #296 ; 0x128 805c3ee: 781b ldrb r3, [r3, #0] 805c3f0: 2b00 cmp r3, #0 805c3f2: d104 bne.n 805c3fe 805c3f4: f507 7394 add.w r3, r7, #296 ; 0x128 805c3f8: 785b ldrb r3, [r3, #1] 805c3fa: 2b00 cmp r3, #0 805c3fc: d067 beq.n 805c4ce { k = 0; 805c3fe: 2300 movs r3, #0 805c400: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c404: 2300 movs r3, #0 805c406: f8c7 3224 str.w r3, [r7, #548] ; 0x224 if(limit[0]) 805c40a: f507 7394 add.w r3, r7, #296 ; 0x128 805c40e: 781b ldrb r3, [r3, #0] 805c410: 2b00 cmp r3, #0 805c412: d026 beq.n 805c462 { for(i = 0; i < 15; i++) 805c414: 2300 movs r3, #0 805c416: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c41a: e01d b.n 805c458 { if(limit[i]) 805c41c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c420: f507 7294 add.w r2, r7, #296 ; 0x128 805c424: 5cd3 ldrb r3, [r2, r3] 805c426: 2b00 cmp r3, #0 805c428: d008 beq.n 805c43c { k++; 805c42a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c42e: 3301 adds r3, #1 805c430: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c434: 2300 movs r3, #0 805c436: f8c7 3224 str.w r3, [r7, #548] ; 0x224 805c43a: e004 b.n 805c446 } else l++; 805c43c: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805c440: 3301 adds r3, #1 805c442: f8c7 3224 str.w r3, [r7, #548] ; 0x224 if(l >= 2) 805c446: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805c44a: 2b01 cmp r3, #1 805c44c: d835 bhi.n 805c4ba for(i = 0; i < 15; i++) 805c44e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c452: 3301 adds r3, #1 805c454: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c458: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c45c: 2b0e cmp r3, #14 805c45e: d9dd bls.n 805c41c 805c460: e035 b.n 805c4ce break; } } else if(limit[1]) 805c462: f507 7394 add.w r3, r7, #296 ; 0x128 805c466: 785b ldrb r3, [r3, #1] 805c468: 2b00 cmp r3, #0 805c46a: d030 beq.n 805c4ce { for(i = 1; i < 15; i++) 805c46c: 2301 movs r3, #1 805c46e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c472: e01d b.n 805c4b0 { if(limit[i]) 805c474: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c478: f507 7294 add.w r2, r7, #296 ; 0x128 805c47c: 5cd3 ldrb r3, [r2, r3] 805c47e: 2b00 cmp r3, #0 805c480: d008 beq.n 805c494 { k++; 805c482: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c486: 3301 adds r3, #1 805c488: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 l = 0; 805c48c: 2300 movs r3, #0 805c48e: f8c7 3224 str.w r3, [r7, #548] ; 0x224 805c492: e004 b.n 805c49e } else l++; 805c494: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805c498: 3301 adds r3, #1 805c49a: f8c7 3224 str.w r3, [r7, #548] ; 0x224 if(l >= 2) 805c49e: f8d7 3224 ldr.w r3, [r7, #548] ; 0x224 805c4a2: 2b01 cmp r3, #1 805c4a4: d812 bhi.n 805c4cc for(i = 1; i < 15; i++) 805c4a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c4aa: 3301 adds r3, #1 805c4ac: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c4b0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c4b4: 2b0e cmp r3, #14 805c4b6: d9dd bls.n 805c474 805c4b8: e009 b.n 805c4ce break; 805c4ba: bf00 nop 805c4bc: e007 b.n 805c4ce 805c4be: bf00 nop 805c4c0: 20026d00 .word 0x20026d00 805c4c4: 3efa0000 .word 0x3efa0000 805c4c8: 20018000 .word 0x20018000 break; 805c4cc: bf00 nop } } } if(k >= 8) 805c4ce: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805c4d2: 2b07 cmp r3, #7 805c4d4: d902 bls.n 805c4dc { DEFECTS[NESOOSNOST] = true; 805c4d6: 4b9f ldr r3, [pc, #636] ; (805c754 ) 805c4d8: 2201 movs r2, #1 805c4da: 72da strb r2, [r3, #11] } ///////////////////////////////////////////////////////////////////// MeanCnt = 0; 805c4dc: 4b9e ldr r3, [pc, #632] ; (805c758 ) 805c4de: 2200 movs r2, #0 805c4e0: 601a str r2, [r3, #0] NeedSTOP = true; 805c4e2: 4b9e ldr r3, [pc, #632] ; (805c75c ) 805c4e4: 2201 movs r2, #1 805c4e6: 701a strb r2, [r3, #0] SeeResults = true; 805c4e8: 4b9d ldr r3, [pc, #628] ; (805c760 ) 805c4ea: 2201 movs r2, #1 805c4ec: 701a strb r2, [r3, #0] //ViewLevel = 1; //*************************************************************// lvl_0 = 0; 805c4ee: 2300 movs r3, #0 805c4f0: f8c7 31fc str.w r3, [r7, #508] ; 0x1fc dX = Avg[1][5 * ViewLevel + pardata.LNE]; 805c4f4: 4b9b ldr r3, [pc, #620] ; (805c764 ) 805c4f6: 781b ldrb r3, [r3, #0] 805c4f8: b2db uxtb r3, r3 805c4fa: 461a mov r2, r3 805c4fc: 4613 mov r3, r2 805c4fe: 009b lsls r3, r3, #2 805c500: 4413 add r3, r2 805c502: 4a99 ldr r2, [pc, #612] ; (805c768 ) 805c504: 79d2 ldrb r2, [r2, #7] 805c506: b2d2 uxtb r2, r2 805c508: 4413 add r3, r2 805c50a: 4a98 ldr r2, [pc, #608] ; (805c76c ) 805c50c: 3323 adds r3, #35 ; 0x23 805c50e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 805c512: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa MaxLevel = 4; 805c516: 2304 movs r3, #4 805c518: f8a7 31f8 strh.w r3, [r7, #504] ; 0x1f8 if((ViewLevel < MaxLevel) && (dX > 1)) 805c51c: 4b91 ldr r3, [pc, #580] ; (805c764 ) 805c51e: 781b ldrb r3, [r3, #0] 805c520: b2db uxtb r3, r3 805c522: b29b uxth r3, r3 805c524: f8b7 21f8 ldrh.w r2, [r7, #504] ; 0x1f8 805c528: 429a cmp r2, r3 805c52a: f240 80de bls.w 805c6ea 805c52e: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c532: 2b01 cmp r3, #1 805c534: f240 80d9 bls.w 805c6ea { ViewLevel = 1; 805c538: 4b8a ldr r3, [pc, #552] ; (805c764 ) 805c53a: 2201 movs r2, #1 805c53c: 701a strb r2, [r3, #0] dX = Avg[1][5 * ViewLevel + pardata.LNE]; 805c53e: 4b89 ldr r3, [pc, #548] ; (805c764 ) 805c540: 781b ldrb r3, [r3, #0] 805c542: b2db uxtb r3, r3 805c544: 461a mov r2, r3 805c546: 4613 mov r3, r2 805c548: 009b lsls r3, r3, #2 805c54a: 4413 add r3, r2 805c54c: 4a86 ldr r2, [pc, #536] ; (805c768 ) 805c54e: 79d2 ldrb r2, [r2, #7] 805c550: b2d2 uxtb r2, r2 805c552: 4413 add r3, r2 805c554: 4a85 ldr r2, [pc, #532] ; (805c76c ) 805c556: 3323 adds r3, #35 ; 0x23 805c558: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 805c55c: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa X0 = Mpos - CURSOR * dX; 805c560: 4b83 ldr r3, [pc, #524] ; (805c770 ) 805c562: 881b ldrh r3, [r3, #0] 805c564: b29a uxth r2, r3 805c566: 4b83 ldr r3, [pc, #524] ; (805c774 ) 805c568: 681b ldr r3, [r3, #0] 805c56a: b29b uxth r3, r3 805c56c: f8b7 11fa ldrh.w r1, [r7, #506] ; 0x1fa 805c570: fb11 f303 smulbb r3, r1, r3 805c574: b29b uxth r3, r3 805c576: 1ad3 subs r3, r2, r3 805c578: b29a uxth r2, r3 805c57a: 4b7f ldr r3, [pc, #508] ; (805c778 ) 805c57c: 801a strh r2, [r3, #0] lX = X0; 805c57e: 4b7e ldr r3, [pc, #504] ; (805c778 ) 805c580: 881b ldrh r3, [r3, #0] 805c582: b29a uxth r2, r3 805c584: 4b7d ldr r3, [pc, #500] ; (805c77c ) 805c586: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 805c588: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c58c: 021b lsls r3, r3, #8 805c58e: b29a uxth r2, r3 805c590: 4b7a ldr r3, [pc, #488] ; (805c77c ) 805c592: 881b ldrh r3, [r3, #0] 805c594: b29b uxth r3, r3 805c596: 4413 add r3, r2 805c598: b29a uxth r2, r3 805c59a: 4b79 ldr r3, [pc, #484] ; (805c780 ) 805c59c: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 805c59e: 4b79 ldr r3, [pc, #484] ; (805c784 ) 805c5a0: 881b ldrh r3, [r3, #0] 805c5a2: b29b uxth r3, r3 805c5a4: 461a mov r2, r3 805c5a6: 4b75 ldr r3, [pc, #468] ; (805c77c ) 805c5a8: 881b ldrh r3, [r3, #0] 805c5aa: b29b uxth r3, r3 805c5ac: 1ad2 subs r2, r2, r3 805c5ae: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c5b2: fb92 f3f3 sdiv r3, r2, r3 805c5b6: 461a mov r2, r3 805c5b8: 4b6e ldr r3, [pc, #440] ; (805c774 ) 805c5ba: 601a str r2, [r3, #0] Mpos = lX + CURSOR * dX; 805c5bc: 4b6d ldr r3, [pc, #436] ; (805c774 ) 805c5be: 681b ldr r3, [r3, #0] 805c5c0: b29b uxth r3, r3 805c5c2: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 805c5c6: fb12 f303 smulbb r3, r2, r3 805c5ca: b29a uxth r2, r3 805c5cc: 4b6b ldr r3, [pc, #428] ; (805c77c ) 805c5ce: 881b ldrh r3, [r3, #0] 805c5d0: b29b uxth r3, r3 805c5d2: 4413 add r3, r2 805c5d4: b29a uxth r2, r3 805c5d6: 4b66 ldr r3, [pc, #408] ; (805c770 ) 805c5d8: 801a strh r2, [r3, #0] if((CURSOR < (256 >> 1)) && (X0 >= dX)) 805c5da: 4b66 ldr r3, [pc, #408] ; (805c774 ) 805c5dc: 681b ldr r3, [r3, #0] 805c5de: 2b7f cmp r3, #127 ; 0x7f 805c5e0: d83b bhi.n 805c65a 805c5e2: 4b65 ldr r3, [pc, #404] ; (805c778 ) 805c5e4: 881b ldrh r3, [r3, #0] 805c5e6: b29b uxth r3, r3 805c5e8: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 805c5ec: 429a cmp r2, r3 805c5ee: d834 bhi.n 805c65a { if(lX >= dX) 805c5f0: 4b62 ldr r3, [pc, #392] ; (805c77c ) 805c5f2: 881b ldrh r3, [r3, #0] 805c5f4: b29b uxth r3, r3 805c5f6: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 805c5fa: 429a cmp r2, r3 805c5fc: d875 bhi.n 805c6ea { CURSOR++; 805c5fe: 4b5d ldr r3, [pc, #372] ; (805c774 ) 805c600: 681b ldr r3, [r3, #0] 805c602: 3301 adds r3, #1 805c604: 4a5b ldr r2, [pc, #364] ; (805c774 ) 805c606: 6013 str r3, [r2, #0] X0 -= dX; 805c608: 4b5b ldr r3, [pc, #364] ; (805c778 ) 805c60a: 881b ldrh r3, [r3, #0] 805c60c: b29a uxth r2, r3 805c60e: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c612: 1ad3 subs r3, r2, r3 805c614: b29a uxth r2, r3 805c616: 4b58 ldr r3, [pc, #352] ; (805c778 ) 805c618: 801a strh r2, [r3, #0] lX = X0; 805c61a: 4b57 ldr r3, [pc, #348] ; (805c778 ) 805c61c: 881b ldrh r3, [r3, #0] 805c61e: b29a uxth r2, r3 805c620: 4b56 ldr r3, [pc, #344] ; (805c77c ) 805c622: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 805c624: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c628: 021b lsls r3, r3, #8 805c62a: b29a uxth r2, r3 805c62c: 4b53 ldr r3, [pc, #332] ; (805c77c ) 805c62e: 881b ldrh r3, [r3, #0] 805c630: b29b uxth r3, r3 805c632: 4413 add r3, r2 805c634: b29a uxth r2, r3 805c636: 4b52 ldr r3, [pc, #328] ; (805c780 ) 805c638: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 805c63a: 4b52 ldr r3, [pc, #328] ; (805c784 ) 805c63c: 881b ldrh r3, [r3, #0] 805c63e: b29b uxth r3, r3 805c640: 461a mov r2, r3 805c642: 4b4e ldr r3, [pc, #312] ; (805c77c ) 805c644: 881b ldrh r3, [r3, #0] 805c646: b29b uxth r3, r3 805c648: 1ad2 subs r2, r2, r3 805c64a: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c64e: fb92 f3f3 sdiv r3, r2, r3 805c652: 461a mov r2, r3 805c654: 4b47 ldr r3, [pc, #284] ; (805c774 ) 805c656: 601a str r2, [r3, #0] if(lX >= dX) 805c658: e047 b.n 805c6ea } } else if(CURSOR > (256 >> 1)) 805c65a: 4b46 ldr r3, [pc, #280] ; (805c774 ) 805c65c: 681b ldr r3, [r3, #0] 805c65e: 2b80 cmp r3, #128 ; 0x80 805c660: d943 bls.n 805c6ea { if((rX + dX) <= (256 * Avg[1][5 * lvl_0 + pardata.LNE])) 805c662: 4b47 ldr r3, [pc, #284] ; (805c780 ) 805c664: 881b ldrh r3, [r3, #0] 805c666: b29b uxth r3, r3 805c668: 461a mov r2, r3 805c66a: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c66e: 18d1 adds r1, r2, r3 805c670: f8d7 21fc ldr.w r2, [r7, #508] ; 0x1fc 805c674: 4613 mov r3, r2 805c676: 009b lsls r3, r3, #2 805c678: 4413 add r3, r2 805c67a: 4a3b ldr r2, [pc, #236] ; (805c768 ) 805c67c: 79d2 ldrb r2, [r2, #7] 805c67e: b2d2 uxtb r2, r2 805c680: 4413 add r3, r2 805c682: 4a3a ldr r2, [pc, #232] ; (805c76c ) 805c684: 3323 adds r3, #35 ; 0x23 805c686: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 805c68a: 021b lsls r3, r3, #8 805c68c: 4299 cmp r1, r3 805c68e: dc2c bgt.n 805c6ea { CURSOR--; 805c690: 4b38 ldr r3, [pc, #224] ; (805c774 ) 805c692: 681b ldr r3, [r3, #0] 805c694: 3b01 subs r3, #1 805c696: 4a37 ldr r2, [pc, #220] ; (805c774 ) 805c698: 6013 str r3, [r2, #0] X0 += dX; 805c69a: 4b37 ldr r3, [pc, #220] ; (805c778 ) 805c69c: 881b ldrh r3, [r3, #0] 805c69e: b29a uxth r2, r3 805c6a0: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c6a4: 4413 add r3, r2 805c6a6: b29a uxth r2, r3 805c6a8: 4b33 ldr r3, [pc, #204] ; (805c778 ) 805c6aa: 801a strh r2, [r3, #0] lX = X0; 805c6ac: 4b32 ldr r3, [pc, #200] ; (805c778 ) 805c6ae: 881b ldrh r3, [r3, #0] 805c6b0: b29a uxth r2, r3 805c6b2: 4b32 ldr r3, [pc, #200] ; (805c77c ) 805c6b4: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 805c6b6: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c6ba: 021b lsls r3, r3, #8 805c6bc: b29a uxth r2, r3 805c6be: 4b2f ldr r3, [pc, #188] ; (805c77c ) 805c6c0: 881b ldrh r3, [r3, #0] 805c6c2: b29b uxth r3, r3 805c6c4: 4413 add r3, r2 805c6c6: b29a uxth r2, r3 805c6c8: 4b2d ldr r3, [pc, #180] ; (805c780 ) 805c6ca: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 805c6cc: 4b2d ldr r3, [pc, #180] ; (805c784 ) 805c6ce: 881b ldrh r3, [r3, #0] 805c6d0: b29b uxth r3, r3 805c6d2: 461a mov r2, r3 805c6d4: 4b29 ldr r3, [pc, #164] ; (805c77c ) 805c6d6: 881b ldrh r3, [r3, #0] 805c6d8: b29b uxth r3, r3 805c6da: 1ad2 subs r2, r2, r3 805c6dc: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 805c6e0: fb92 f3f3 sdiv r3, r2, r3 805c6e4: 461a mov r2, r3 805c6e6: 4b23 ldr r3, [pc, #140] ; (805c774 ) 805c6e8: 601a str r2, [r3, #0] } } } AUTOZOOM = true; 805c6ea: 4b27 ldr r3, [pc, #156] ; (805c788 ) 805c6ec: 2201 movs r2, #1 805c6ee: 701a strb r2, [r3, #0] if(NSamples < 20) 805c6f0: e004 b.n 805c6fc } } } else { RepeatKm = true; 805c6f2: 4b26 ldr r3, [pc, #152] ; (805c78c ) 805c6f4: 2201 movs r2, #1 805c6f6: 701a strb r2, [r3, #0] } } break; 805c6f8: f007 bcf1 b.w 80640de if(NSamples < 20) 805c6fc: bf00 nop break; 805c6fe: f007 bcee b.w 80640de case UDAR: // if(measuring) 805c702: 4b23 ldr r3, [pc, #140] ; (805c790 ) 805c704: 781b ldrb r3, [r3, #0] 805c706: b2db uxtb r3, r3 805c708: 2b00 cmp r3, #0 805c70a: f007 84ea beq.w 80640e2 { tick = HAL_GetTick(); 805c70e: f056 fdaf bl 80b3270 805c712: f8c7 021c str.w r0, [r7, #540] ; 0x21c GetData(); 805c716: f007 ffa5 bl 8064664 READY = 0; 805c71a: 4b1e ldr r3, [pc, #120] ; (805c794 ) 805c71c: 2200 movs r2, #0 805c71e: 701a strb r2, [r3, #0] //tick = HAL_GetTick() - tick; //CalculateGain(Ns); if(AUTOKU) 805c720: 4b1d ldr r3, [pc, #116] ; (805c798 ) 805c722: 781b ldrb r3, [r3, #0] 805c724: b2db uxtb r3, r3 805c726: 2b00 cmp r3, #0 805c728: d005 beq.n 805c736 CalculateGain(Ns); 805c72a: 4b1c ldr r3, [pc, #112] ; (805c79c ) 805c72c: 681b ldr r3, [r3, #0] 805c72e: 4618 mov r0, r3 805c730: f7f9 f97c bl 8055a2c 805c734: e06e b.n 805c814 else { Stability = (Nr * 4) + 1; 805c736: 4b1a ldr r3, [pc, #104] ; (805c7a0 ) 805c738: 881b ldrh r3, [r3, #0] 805c73a: b29b uxth r3, r3 805c73c: 009b lsls r3, r3, #2 805c73e: 3301 adds r3, #1 805c740: 461a mov r2, r3 805c742: 4b18 ldr r3, [pc, #96] ; (805c7a4 ) 805c744: 601a str r2, [r3, #0] j = 0; 805c746: 2300 movs r3, #0 805c748: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < 8192; i++) 805c74c: 2300 movs r3, #0 805c74e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c752: e04f b.n 805c7f4 805c754: 20026f10 .word 0x20026f10 805c758: 20020db8 .word 0x20020db8 805c75c: 20020f7e .word 0x20020f7e 805c760: 20020d68 .word 0x20020d68 805c764: 20020f74 .word 0x20020f74 805c768: 20023e60 .word 0x20023e60 805c76c: 080eeaac .word 0x080eeaac 805c770: 20025d16 .word 0x20025d16 805c774: 2002006c .word 0x2002006c 805c778: 20025d1e .word 0x20025d1e 805c77c: 20025d1a .word 0x20025d1a 805c780: 20025d20 .word 0x20025d20 805c784: 20025d1c .word 0x20025d1c 805c788: 2002098c .word 0x2002098c 805c78c: 20020dac .word 0x20020dac 805c790: 20020daf .word 0x20020daf 805c794: 20020d7f .word 0x20020d7f 805c798: 20020029 .word 0x20020029 805c79c: 20021cdc .word 0x20021cdc 805c7a0: 20021d20 .word 0x20021d20 805c7a4: 20020da8 .word 0x20020da8 { if((In16[i].sh[0] & 0xfff) > 4050) { 805c7a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c7ac: 4ab6 ldr r2, [pc, #728] ; (805ca88 ) 805c7ae: f832 3023 ldrh.w r3, [r2, r3, lsl #2] 805c7b2: f3c3 030b ubfx r3, r3, #0, #12 805c7b6: f640 72d2 movw r2, #4050 ; 0xfd2 805c7ba: 4293 cmp r3, r2 805c7bc: dd04 ble.n 805c7c8 j++; 805c7be: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805c7c2: 3301 adds r3, #1 805c7c4: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc } if((In16[i].sh[1] & 0xfff) > 4050) { 805c7c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c7cc: 4aae ldr r2, [pc, #696] ; (805ca88 ) 805c7ce: 009b lsls r3, r3, #2 805c7d0: 4413 add r3, r2 805c7d2: 885b ldrh r3, [r3, #2] 805c7d4: f3c3 030b ubfx r3, r3, #0, #12 805c7d8: f640 72d2 movw r2, #4050 ; 0xfd2 805c7dc: 4293 cmp r3, r2 805c7de: dd04 ble.n 805c7ea j++; 805c7e0: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805c7e4: 3301 adds r3, #1 805c7e6: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < 8192; i++) 805c7ea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c7ee: 3301 adds r3, #1 805c7f0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c7f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c7f8: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 805c7fc: d3d4 bcc.n 805c7a8 } } if(j >= 2) 805c7fe: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805c802: 2b01 cmp r3, #1 805c804: d903 bls.n 805c80e OVERDRIVE = true; 805c806: 4ba1 ldr r3, [pc, #644] ; (805ca8c ) 805c808: 2201 movs r2, #1 805c80a: 701a strb r2, [r3, #0] 805c80c: e002 b.n 805c814 else OVERDRIVE = false; 805c80e: 4b9f ldr r3, [pc, #636] ; (805ca8c ) 805c810: 2200 movs r2, #0 805c812: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805c814: 4b9e ldr r3, [pc, #632] ; (805ca90 ) 805c816: 781b ldrb r3, [r3, #0] 805c818: b2db uxtb r3, r3 805c81a: 2b00 cmp r3, #0 805c81c: d040 beq.n 805c8a0 { if((!NSamples) || (NSamples == 0xffffffff)) 805c81e: 4b9d ldr r3, [pc, #628] ; (805ca94 ) 805c820: 681b ldr r3, [r3, #0] 805c822: 2b00 cmp r3, #0 805c824: d004 beq.n 805c830 805c826: 4b9b ldr r3, [pc, #620] ; (805ca94 ) 805c828: 681b ldr r3, [r3, #0] 805c82a: f1b3 3fff cmp.w r3, #4294967295 805c82e: d103 bne.n 805c838 Stability = 0; 805c830: 4b99 ldr r3, [pc, #612] ; (805ca98 ) 805c832: 2200 movs r2, #0 805c834: 601a str r2, [r3, #0] 805c836: e007 b.n 805c848 else Stability = (Nr * 4) + 1; 805c838: 4b98 ldr r3, [pc, #608] ; (805ca9c ) 805c83a: 881b ldrh r3, [r3, #0] 805c83c: b29b uxth r3, r3 805c83e: 009b lsls r3, r3, #2 805c840: 3301 adds r3, #1 805c842: 461a mov r2, r3 805c844: 4b94 ldr r3, [pc, #592] ; (805ca98 ) 805c846: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805c848: 4b92 ldr r3, [pc, #584] ; (805ca94 ) 805c84a: f04f 32ff mov.w r2, #4294967295 805c84e: 601a str r2, [r3, #0] MeanCnt = 0; 805c850: 4b93 ldr r3, [pc, #588] ; (805caa0 ) 805c852: 2200 movs r2, #0 805c854: 601a str r2, [r3, #0] skz[1] = 1231298379172381; 805c856: 4b93 ldr r3, [pc, #588] ; (805caa4 ) 805c858: 4a93 ldr r2, [pc, #588] ; (805caa8 ) 805c85a: 605a str r2, [r3, #4] skz[0] = 0; 805c85c: 4b91 ldr r3, [pc, #580] ; (805caa4 ) 805c85e: f04f 0200 mov.w r2, #0 805c862: 601a str r2, [r3, #0] MAXIMUM = 0; 805c864: 4b91 ldr r3, [pc, #580] ; (805caac ) 805c866: f04f 0200 mov.w r2, #0 805c86a: 601a str r2, [r3, #0] MINIMUM = 999999; 805c86c: 4b90 ldr r3, [pc, #576] ; (805cab0 ) 805c86e: 4a91 ldr r2, [pc, #580] ; (805cab4 ) 805c870: 601a str r2, [r3, #0] dBc = -100.0f; 805c872: 4b91 ldr r3, [pc, #580] ; (805cab8 ) 805c874: 4a91 ldr r2, [pc, #580] ; (805cabc ) 805c876: 601a str r2, [r3, #0] dBm = -100.0f; 805c878: 4b91 ldr r3, [pc, #580] ; (805cac0 ) 805c87a: 4a90 ldr r2, [pc, #576] ; (805cabc ) 805c87c: 601a str r2, [r3, #0] NSamples++; 805c87e: 4b85 ldr r3, [pc, #532] ; (805ca94 ) 805c880: 681b ldr r3, [r3, #0] 805c882: 3301 adds r3, #1 805c884: 4a83 ldr r2, [pc, #524] ; (805ca94 ) 805c886: 6013 str r3, [r2, #0] timeRelax = RELAX + 1; 805c888: 4b8e ldr r3, [pc, #568] ; (805cac4 ) 805c88a: 681b ldr r3, [r3, #0] 805c88c: 3301 adds r3, #1 805c88e: 4a8e ldr r2, [pc, #568] ; (805cac8 ) 805c890: 6013 str r3, [r2, #0] stage = 0; 805c892: 4b8e ldr r3, [pc, #568] ; (805cacc ) 805c894: 2200 movs r2, #0 805c896: 701a strb r2, [r3, #0] faseUdar = 0; 805c898: 4b8d ldr r3, [pc, #564] ; (805cad0 ) 805c89a: 2200 movs r2, #0 805c89c: 701a strb r2, [r3, #0] 805c89e: e00d b.n 805c8bc } else { if(Stability <= (Nr * 4)) 805c8a0: 4b7e ldr r3, [pc, #504] ; (805ca9c ) 805c8a2: 881b ldrh r3, [r3, #0] 805c8a4: b29b uxth r3, r3 805c8a6: 009b lsls r3, r3, #2 805c8a8: 461a mov r2, r3 805c8aa: 4b7b ldr r3, [pc, #492] ; (805ca98 ) 805c8ac: 681b ldr r3, [r3, #0] 805c8ae: 429a cmp r2, r3 805c8b0: d304 bcc.n 805c8bc Stability++; 805c8b2: 4b79 ldr r3, [pc, #484] ; (805ca98 ) 805c8b4: 681b ldr r3, [r3, #0] 805c8b6: 3301 adds r3, #1 805c8b8: 4a77 ldr r2, [pc, #476] ; (805ca98 ) 805c8ba: 6013 str r3, [r2, #0] if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 805c8bc: 4b74 ldr r3, [pc, #464] ; (805ca90 ) 805c8be: 781b ldrb r3, [r3, #0] 805c8c0: b2db uxtb r3, r3 805c8c2: 2b00 cmp r3, #0 805c8c4: f040 82b4 bne.w 805ce30 805c8c8: 4b74 ldr r3, [pc, #464] ; (805ca9c ) 805c8ca: 881b ldrh r3, [r3, #0] 805c8cc: b29b uxth r3, r3 805c8ce: 009b lsls r3, r3, #2 805c8d0: 461a mov r2, r3 805c8d2: 4b71 ldr r3, [pc, #452] ; (805ca98 ) 805c8d4: 681b ldr r3, [r3, #0] 805c8d6: 429a cmp r2, r3 805c8d8: f080 82aa bcs.w 805ce30 { sc = (2.85 / 4095.0) * (float64_t) CorrKk[ACC]; 805c8dc: 4b7d ldr r3, [pc, #500] ; (805cad4 ) 805c8de: edd3 7a00 vldr s15, [r3] 805c8e2: eeb7 7ae7 vcvt.f64.f32 d7, s15 805c8e6: ed9f 6b64 vldr d6, [pc, #400] ; 805ca78 805c8ea: ee27 7b06 vmul.f64 d7, d7, d6 805c8ee: ed87 7b82 vstr d7, [r7, #520] ; 0x208 i = 8192; 805c8f2: f44f 5300 mov.w r3, #8192 ; 0x2000 805c8f6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i > 0) 805c8fa: e038 b.n 805c96e { i--; 805c8fc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c900: 3b01 subs r3, #1 805c902: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 Buff64[(i << 1)] = (float64_t) (In16[i].sh[0] & 0xffc) * sc; 805c906: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c90a: 005a lsls r2, r3, #1 805c90c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c910: 495d ldr r1, [pc, #372] ; (805ca88 ) 805c912: f831 3023 ldrh.w r3, [r1, r3, lsl #2] 805c916: 4619 mov r1, r3 805c918: f640 73fc movw r3, #4092 ; 0xffc 805c91c: 400b ands r3, r1 805c91e: ee07 3a90 vmov s15, r3 805c922: eeb8 6be7 vcvt.f64.s32 d6, s15 805c926: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805c92a: ee26 7b07 vmul.f64 d7, d6, d7 805c92e: 496a ldr r1, [pc, #424] ; (805cad8 ) 805c930: 00d3 lsls r3, r2, #3 805c932: 440b add r3, r1 805c934: ed83 7b00 vstr d7, [r3] Buff64[(i << 1) + 1] = (float64_t) (In16[i].sh[1] & 0xffc) * sc; 805c938: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c93c: 005b lsls r3, r3, #1 805c93e: 1c5a adds r2, r3, #1 805c940: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c944: 4950 ldr r1, [pc, #320] ; (805ca88 ) 805c946: 009b lsls r3, r3, #2 805c948: 440b add r3, r1 805c94a: 885b ldrh r3, [r3, #2] 805c94c: 4619 mov r1, r3 805c94e: f640 73fc movw r3, #4092 ; 0xffc 805c952: 400b ands r3, r1 805c954: ee07 3a90 vmov s15, r3 805c958: eeb8 6be7 vcvt.f64.s32 d6, s15 805c95c: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805c960: ee26 7b07 vmul.f64 d7, d6, d7 805c964: 495c ldr r1, [pc, #368] ; (805cad8 ) 805c966: 00d3 lsls r3, r2, #3 805c968: 440b add r3, r1 805c96a: ed83 7b00 vstr d7, [r3] while(i > 0) 805c96e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c972: 2b00 cmp r3, #0 805c974: d1c2 bne.n 805c8fc } arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805c976: 4b59 ldr r3, [pc, #356] ; (805cadc ) 805c978: 681b ldr r3, [r3, #0] 805c97a: 4a57 ldr r2, [pc, #348] ; (805cad8 ) 805c97c: 4956 ldr r1, [pc, #344] ; (805cad8 ) 805c97e: 4858 ldr r0, [pc, #352] ; (805cae0 ) 805c980: f06d fc2c bl 80ca1dc for(i = 0; i < Ns; i++) 805c984: 2300 movs r3, #0 805c986: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c98a: e02d b.n 805c9e8 { Out[i] = (float32_t) (Buff64[i] - 0.12); 805c98c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c990: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c994: 4950 ldr r1, [pc, #320] ; (805cad8 ) 805c996: 00d2 lsls r2, r2, #3 805c998: 440a add r2, r1 805c99a: ed92 7b00 vldr d7, [r2] 805c99e: ed9f 6b38 vldr d6, [pc, #224] ; 805ca80 805c9a2: ee37 7b46 vsub.f64 d7, d7, d6 805c9a6: eef7 7bc7 vcvt.f32.f64 s15, d7 805c9aa: 4a4e ldr r2, [pc, #312] ; (805cae4 ) 805c9ac: 009b lsls r3, r3, #2 805c9ae: 4413 add r3, r2 805c9b0: edc3 7a00 vstr s15, [r3] if(Out[i] < 0.1f) 805c9b4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c9b8: 4a4a ldr r2, [pc, #296] ; (805cae4 ) 805c9ba: 009b lsls r3, r3, #2 805c9bc: 4413 add r3, r2 805c9be: edd3 7a00 vldr s15, [r3] 805c9c2: ed9f 7a49 vldr s14, [pc, #292] ; 805cae8 805c9c6: eef4 7ac7 vcmpe.f32 s15, s14 805c9ca: eef1 fa10 vmrs APSR_nzcv, fpscr 805c9ce: d506 bpl.n 805c9de Out[i] = 0.1f; 805c9d0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c9d4: 4a43 ldr r2, [pc, #268] ; (805cae4 ) 805c9d6: 009b lsls r3, r3, #2 805c9d8: 4413 add r3, r2 805c9da: 4a44 ldr r2, [pc, #272] ; (805caec ) 805c9dc: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805c9de: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805c9e2: 3301 adds r3, #1 805c9e4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805c9e8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805c9ec: 4b3b ldr r3, [pc, #236] ; (805cadc ) 805c9ee: 681b ldr r3, [r3, #0] 805c9f0: 429a cmp r2, r3 805c9f2: d3cb bcc.n 805c98c if(timeRelax > 1) 805c9f4: 4b34 ldr r3, [pc, #208] ; (805cac8 ) 805c9f6: 681b ldr r3, [r3, #0] 805c9f8: 2b01 cmp r3, #1 805c9fa: d904 bls.n 805ca06 timeRelax--; 805c9fc: 4b32 ldr r3, [pc, #200] ; (805cac8 ) 805c9fe: 681b ldr r3, [r3, #0] 805ca00: 3b01 subs r3, #1 805ca02: 4a31 ldr r2, [pc, #196] ; (805cac8 ) 805ca04: 6013 str r3, [r2, #0] switch(stage) 805ca06: 4b31 ldr r3, [pc, #196] ; (805cacc ) 805ca08: 781b ldrb r3, [r3, #0] 805ca0a: b2db uxtb r3, r3 805ca0c: 2b07 cmp r3, #7 805ca0e: f200 80ee bhi.w 805cbee 805ca12: a201 add r2, pc, #4 ; (adr r2, 805ca18 ) 805ca14: f852 f023 ldr.w pc, [r2, r3, lsl #2] 805ca18: 0805ca39 .word 0x0805ca39 805ca1c: 0805ca51 .word 0x0805ca51 805ca20: 0805caf5 .word 0x0805caf5 805ca24: 0805cb19 .word 0x0805cb19 805ca28: 0805cb41 .word 0x0805cb41 805ca2c: 0805cb65 .word 0x0805cb65 805ca30: 0805cb8d .word 0x0805cb8d 805ca34: 0805cbb7 .word 0x0805cbb7 { case 0: memcpy((void *) &Udar_f32(0), (void *) &Out[0], Ns * 4u); 805ca38: 4b28 ldr r3, [pc, #160] ; (805cadc ) 805ca3a: 681b ldr r3, [r3, #0] 805ca3c: 009b lsls r3, r3, #2 805ca3e: 461a mov r2, r3 805ca40: 4928 ldr r1, [pc, #160] ; (805cae4 ) 805ca42: 482b ldr r0, [pc, #172] ; (805caf0 ) 805ca44: f070 fb11 bl 80cd06a stage = 1; 805ca48: 4b20 ldr r3, [pc, #128] ; (805cacc ) 805ca4a: 2201 movs r2, #1 805ca4c: 701a strb r2, [r3, #0] break; 805ca4e: e0ce b.n 805cbee case 1: memcpy((void *) &Udar_f32(Ns), (void *) &Out[0], Ns * 4u); 805ca50: 4b22 ldr r3, [pc, #136] ; (805cadc ) 805ca52: 681b ldr r3, [r3, #0] 805ca54: 009a lsls r2, r3, #2 805ca56: 4b26 ldr r3, [pc, #152] ; (805caf0 ) 805ca58: 4413 add r3, r2 805ca5a: 4618 mov r0, r3 805ca5c: 4b1f ldr r3, [pc, #124] ; (805cadc ) 805ca5e: 681b ldr r3, [r3, #0] 805ca60: 009b lsls r3, r3, #2 805ca62: 461a mov r2, r3 805ca64: 491f ldr r1, [pc, #124] ; (805cae4 ) 805ca66: f070 fb00 bl 80cd06a stage = 2; 805ca6a: 4b18 ldr r3, [pc, #96] ; (805cacc ) 805ca6c: 2202 movs r2, #2 805ca6e: 701a strb r2, [r3, #0] break; 805ca70: e0bd b.n 805cbee 805ca72: bf00 nop 805ca74: f3af 8000 nop.w 805ca78: b067d34a .word 0xb067d34a 805ca7c: 3f46ce39 .word 0x3f46ce39 805ca80: eb851eb8 .word 0xeb851eb8 805ca84: 3fbeb851 .word 0x3fbeb851 805ca88: 20058020 .word 0x20058020 805ca8c: 20021531 .word 0x20021531 805ca90: 20020d7e .word 0x20020d7e 805ca94: 20020d88 .word 0x20020d88 805ca98: 20020da8 .word 0x20020da8 805ca9c: 20021d20 .word 0x20021d20 805caa0: 20020db8 .word 0x20020db8 805caa4: 20021540 .word 0x20021540 805caa8: 588bfb80 .word 0x588bfb80 805caac: 20021538 .word 0x20021538 805cab0: 2002153c .word 0x2002153c 805cab4: 497423f0 .word 0x497423f0 805cab8: 20020d9c .word 0x20020d9c 805cabc: c2c80000 .word 0xc2c80000 805cac0: 20020da0 .word 0x20020da0 805cac4: 20020d70 .word 0x20020d70 805cac8: 20020d6c .word 0x20020d6c 805cacc: 20021518 .word 0x20021518 805cad0: 20021624 .word 0x20021624 805cad4: 20020080 .word 0x20020080 805cad8: 20037ae0 .word 0x20037ae0 805cadc: 20021cdc .word 0x20021cdc 805cae0: 20025f00 .word 0x20025f00 805cae4: 20008000 .word 0x20008000 805cae8: 3dcccccd .word 0x3dcccccd 805caec: 3dcccccd .word 0x3dcccccd 805caf0: 640a0000 .word 0x640a0000 case 2: memcpy((void *) &Udar_f32(2u * Ns), (void *) &Out[0], Ns * 4u); 805caf4: 4bbe ldr r3, [pc, #760] ; (805cdf0 ) 805caf6: 681b ldr r3, [r3, #0] 805caf8: 005b lsls r3, r3, #1 805cafa: 009a lsls r2, r3, #2 805cafc: 4bbd ldr r3, [pc, #756] ; (805cdf4 ) 805cafe: 4413 add r3, r2 805cb00: 4618 mov r0, r3 805cb02: 4bbb ldr r3, [pc, #748] ; (805cdf0 ) 805cb04: 681b ldr r3, [r3, #0] 805cb06: 009b lsls r3, r3, #2 805cb08: 461a mov r2, r3 805cb0a: 49bb ldr r1, [pc, #748] ; (805cdf8 ) 805cb0c: f070 faad bl 80cd06a stage = 3; 805cb10: 4bba ldr r3, [pc, #744] ; (805cdfc ) 805cb12: 2203 movs r2, #3 805cb14: 701a strb r2, [r3, #0] break; 805cb16: e06a b.n 805cbee case 3: memcpy((void *) &Udar_f32(3u * Ns), (void *) &Out[0], Ns * 4u); 805cb18: 4bb5 ldr r3, [pc, #724] ; (805cdf0 ) 805cb1a: 681a ldr r2, [r3, #0] 805cb1c: 4613 mov r3, r2 805cb1e: 005b lsls r3, r3, #1 805cb20: 4413 add r3, r2 805cb22: 009a lsls r2, r3, #2 805cb24: 4bb3 ldr r3, [pc, #716] ; (805cdf4 ) 805cb26: 4413 add r3, r2 805cb28: 4618 mov r0, r3 805cb2a: 4bb1 ldr r3, [pc, #708] ; (805cdf0 ) 805cb2c: 681b ldr r3, [r3, #0] 805cb2e: 009b lsls r3, r3, #2 805cb30: 461a mov r2, r3 805cb32: 49b1 ldr r1, [pc, #708] ; (805cdf8 ) 805cb34: f070 fa99 bl 80cd06a stage = 4; 805cb38: 4bb0 ldr r3, [pc, #704] ; (805cdfc ) 805cb3a: 2204 movs r2, #4 805cb3c: 701a strb r2, [r3, #0] break; 805cb3e: e056 b.n 805cbee case 4: memcpy((void *) &Udar_f32(4u * Ns), (void *) &Out[0], Ns * 4u); 805cb40: 4bab ldr r3, [pc, #684] ; (805cdf0 ) 805cb42: 681b ldr r3, [r3, #0] 805cb44: 009b lsls r3, r3, #2 805cb46: 009a lsls r2, r3, #2 805cb48: 4baa ldr r3, [pc, #680] ; (805cdf4 ) 805cb4a: 4413 add r3, r2 805cb4c: 4618 mov r0, r3 805cb4e: 4ba8 ldr r3, [pc, #672] ; (805cdf0 ) 805cb50: 681b ldr r3, [r3, #0] 805cb52: 009b lsls r3, r3, #2 805cb54: 461a mov r2, r3 805cb56: 49a8 ldr r1, [pc, #672] ; (805cdf8 ) 805cb58: f070 fa87 bl 80cd06a stage = 5; 805cb5c: 4ba7 ldr r3, [pc, #668] ; (805cdfc ) 805cb5e: 2205 movs r2, #5 805cb60: 701a strb r2, [r3, #0] break; 805cb62: e044 b.n 805cbee case 5: memcpy((void *) &Udar_f32(5u * Ns), (void *) &Out[0], Ns * 4u); 805cb64: 4ba2 ldr r3, [pc, #648] ; (805cdf0 ) 805cb66: 681a ldr r2, [r3, #0] 805cb68: 4613 mov r3, r2 805cb6a: 009b lsls r3, r3, #2 805cb6c: 4413 add r3, r2 805cb6e: 009a lsls r2, r3, #2 805cb70: 4ba0 ldr r3, [pc, #640] ; (805cdf4 ) 805cb72: 4413 add r3, r2 805cb74: 4618 mov r0, r3 805cb76: 4b9e ldr r3, [pc, #632] ; (805cdf0 ) 805cb78: 681b ldr r3, [r3, #0] 805cb7a: 009b lsls r3, r3, #2 805cb7c: 461a mov r2, r3 805cb7e: 499e ldr r1, [pc, #632] ; (805cdf8 ) 805cb80: f070 fa73 bl 80cd06a stage = 6; 805cb84: 4b9d ldr r3, [pc, #628] ; (805cdfc ) 805cb86: 2206 movs r2, #6 805cb88: 701a strb r2, [r3, #0] break; 805cb8a: e030 b.n 805cbee case 6: memcpy((void *) &Udar_f32(6u * Ns), (void *) &Out[0], Ns * 4u); 805cb8c: 4b98 ldr r3, [pc, #608] ; (805cdf0 ) 805cb8e: 681a ldr r2, [r3, #0] 805cb90: 4613 mov r3, r2 805cb92: 005b lsls r3, r3, #1 805cb94: 4413 add r3, r2 805cb96: 005b lsls r3, r3, #1 805cb98: 009a lsls r2, r3, #2 805cb9a: 4b96 ldr r3, [pc, #600] ; (805cdf4 ) 805cb9c: 4413 add r3, r2 805cb9e: 4618 mov r0, r3 805cba0: 4b93 ldr r3, [pc, #588] ; (805cdf0 ) 805cba2: 681b ldr r3, [r3, #0] 805cba4: 009b lsls r3, r3, #2 805cba6: 461a mov r2, r3 805cba8: 4993 ldr r1, [pc, #588] ; (805cdf8 ) 805cbaa: f070 fa5e bl 80cd06a stage = 7; 805cbae: 4b93 ldr r3, [pc, #588] ; (805cdfc ) 805cbb0: 2207 movs r2, #7 805cbb2: 701a strb r2, [r3, #0] break; 805cbb4: e01b b.n 805cbee case 7: memcpy((void *) &Udar_f32(7u * Ns), (void *) &Out[0], Ns * 4u); 805cbb6: 4b8e ldr r3, [pc, #568] ; (805cdf0 ) 805cbb8: 681a ldr r2, [r3, #0] 805cbba: 4613 mov r3, r2 805cbbc: 00db lsls r3, r3, #3 805cbbe: 1a9b subs r3, r3, r2 805cbc0: 009a lsls r2, r3, #2 805cbc2: 4b8c ldr r3, [pc, #560] ; (805cdf4 ) 805cbc4: 4413 add r3, r2 805cbc6: 4618 mov r0, r3 805cbc8: 4b89 ldr r3, [pc, #548] ; (805cdf0 ) 805cbca: 681b ldr r3, [r3, #0] 805cbcc: 009b lsls r3, r3, #2 805cbce: 461a mov r2, r3 805cbd0: 4989 ldr r1, [pc, #548] ; (805cdf8 ) 805cbd2: f070 fa4a bl 80cd06a stage = 0; 805cbd6: 4b89 ldr r3, [pc, #548] ; (805cdfc ) 805cbd8: 2200 movs r2, #0 805cbda: 701a strb r2, [r3, #0] READY = 0; 805cbdc: 4b88 ldr r3, [pc, #544] ; (805ce00 ) 805cbde: 2200 movs r2, #0 805cbe0: 701a strb r2, [r3, #0] blockSize = Ns * 8u; 805cbe2: 4b83 ldr r3, [pc, #524] ; (805cdf0 ) 805cbe4: 681b ldr r3, [r3, #0] 805cbe6: 00db lsls r3, r3, #3 805cbe8: f8c7 3220 str.w r3, [r7, #544] ; 0x220 break; 805cbec: bf00 nop } if(READY) 805cbee: 4b84 ldr r3, [pc, #528] ; (805ce00 ) 805cbf0: 781b ldrb r3, [r3, #0] 805cbf2: b2db uxtb r3, r3 805cbf4: 2b00 cmp r3, #0 805cbf6: d002 beq.n 805cbfe { tick = 0; 805cbf8: 2300 movs r3, #0 805cbfa: f8c7 321c str.w r3, [r7, #540] ; 0x21c } if(stage) 805cbfe: 4b7f ldr r3, [pc, #508] ; (805cdfc ) 805cc00: 781b ldrb r3, [r3, #0] 805cc02: b2db uxtb r3, r3 805cc04: 2b00 cmp r3, #0 805cc06: d006 beq.n 805cc16 { Processing(); 805cc08: f007 fab4 bl 8064174 READY = 0; 805cc0c: 4b7c ldr r3, [pc, #496] ; (805ce00 ) 805cc0e: 2200 movs r2, #0 805cc10: 701a strb r2, [r3, #0] 805cc12: f007 ba78 b.w 8064106 } //dBm arm_max_f32(&Udar_f32(0), blockSize, (float32_t *) &fs, &k); 805cc16: f507 73e4 add.w r3, r7, #456 ; 0x1c8 805cc1a: f507 72dc add.w r2, r7, #440 ; 0x1b8 805cc1e: f8d7 1220 ldr.w r1, [r7, #544] ; 0x220 805cc22: 4874 ldr r0, [pc, #464] ; (805cdf4 ) 805cc24: f06d fa66 bl 80ca0f4 LinToLog_UDAR(&fs, (float32_t *) &fl); 805cc28: f507 72de add.w r2, r7, #444 ; 0x1bc 805cc2c: f507 73dc add.w r3, r7, #440 ; 0x1b8 805cc30: 4611 mov r1, r2 805cc32: 4618 mov r0, r3 805cc34: f008 f9b8 bl 8064fa8 if(fl > maxdBm) { 805cc38: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805cc3c: 4b71 ldr r3, [pc, #452] ; (805ce04 ) 805cc3e: edd3 7a00 vldr s15, [r3] 805cc42: eeb4 7ae7 vcmpe.f32 s14, s15 805cc46: eef1 fa10 vmrs APSR_nzcv, fpscr 805cc4a: dd03 ble.n 805cc54 maxdBm = fl; 805cc4c: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805cc50: 4a6c ldr r2, [pc, #432] ; (805ce04 ) 805cc52: 6013 str r3, [r2, #0] } //dBc arm_power_f32(&Udar_f32(0), blockSize, &fs); 805cc54: f507 73dc add.w r3, r7, #440 ; 0x1b8 805cc58: 461a mov r2, r3 805cc5a: f8d7 1220 ldr.w r1, [r7, #544] ; 0x220 805cc5e: 4865 ldr r0, [pc, #404] ; (805cdf4 ) 805cc60: f06d f972 bl 80c9f48 maxdBc += fs; 805cc64: 4b68 ldr r3, [pc, #416] ; (805ce08 ) 805cc66: ed93 7a00 vldr s14, [r3] 805cc6a: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805cc6e: ee77 7a27 vadd.f32 s15, s14, s15 805cc72: 4b65 ldr r3, [pc, #404] ; (805ce08 ) 805cc74: edc3 7a00 vstr s15, [r3] faseUdar++; 805cc78: 4b64 ldr r3, [pc, #400] ; (805ce0c ) 805cc7a: 781b ldrb r3, [r3, #0] 805cc7c: b2db uxtb r3, r3 805cc7e: 3301 adds r3, #1 805cc80: b2da uxtb r2, r3 805cc82: 4b62 ldr r3, [pc, #392] ; (805ce0c ) 805cc84: 701a strb r2, [r3, #0] if(faseUdar >= 4) // ðàç â 2 ñåêóíäû 805cc86: 4b61 ldr r3, [pc, #388] ; (805ce0c ) 805cc88: 781b ldrb r3, [r3, #0] 805cc8a: b2db uxtb r3, r3 805cc8c: 2b03 cmp r3, #3 805cc8e: d92d bls.n 805ccec { faseUdar = 0; 805cc90: 4b5e ldr r3, [pc, #376] ; (805ce0c ) 805cc92: 2200 movs r2, #0 805cc94: 701a strb r2, [r3, #0] dBm = maxdBm; 805cc96: 4b5b ldr r3, [pc, #364] ; (805ce04 ) 805cc98: 681b ldr r3, [r3, #0] 805cc9a: 4a5d ldr r2, [pc, #372] ; (805ce10 ) 805cc9c: 6013 str r3, [r2, #0] maxdBc /= 524288.0f; 805cc9e: 4b5a ldr r3, [pc, #360] ; (805ce08 ) 805cca0: ed93 7a00 vldr s14, [r3] 805cca4: eddf 6a5b vldr s13, [pc, #364] ; 805ce14 805cca8: eec7 7a26 vdiv.f32 s15, s14, s13 805ccac: 4b56 ldr r3, [pc, #344] ; (805ce08 ) 805ccae: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(maxdBc, & maxdBc); 805ccb2: 4b55 ldr r3, [pc, #340] ; (805ce08 ) 805ccb4: edd3 7a00 vldr s15, [r3] 805ccb8: 4853 ldr r0, [pc, #332] ; (805ce08 ) 805ccba: eeb0 0a67 vmov.f32 s0, s15 805ccbe: f7f8 fe93 bl 80559e8 maxdBc *= 1.414213562373f; 805ccc2: 4b51 ldr r3, [pc, #324] ; (805ce08 ) 805ccc4: edd3 7a00 vldr s15, [r3] 805ccc8: ed9f 7a53 vldr s14, [pc, #332] ; 805ce18 805cccc: ee67 7a87 vmul.f32 s15, s15, s14 805ccd0: 4b4d ldr r3, [pc, #308] ; (805ce08 ) 805ccd2: edc3 7a00 vstr s15, [r3] LinToLog_UDAR(&maxdBc, (float32_t *) &dBc); 805ccd6: 4951 ldr r1, [pc, #324] ; (805ce1c ) 805ccd8: 484b ldr r0, [pc, #300] ; (805ce08 ) 805ccda: f008 f965 bl 8064fa8 maxdBm = -100.0f; 805ccde: 4b49 ldr r3, [pc, #292] ; (805ce04 ) 805cce0: 4a4f ldr r2, [pc, #316] ; (805ce20 ) 805cce2: 601a str r2, [r3, #0] maxdBc = 0.0f; 805cce4: 4b48 ldr r3, [pc, #288] ; (805ce08 ) 805cce6: f04f 0200 mov.w r2, #0 805ccea: 601a str r2, [r3, #0] } if(timeRelax == 1) 805ccec: 4b4d ldr r3, [pc, #308] ; (805ce24 ) 805ccee: 681b ldr r3, [r3, #0] 805ccf0: 2b01 cmp r3, #1 805ccf2: d13d bne.n 805cd70 { NSamples++; 805ccf4: 4b4c ldr r3, [pc, #304] ; (805ce28 ) 805ccf6: 681b ldr r3, [r3, #0] 805ccf8: 3301 adds r3, #1 805ccfa: 4a4b ldr r2, [pc, #300] ; (805ce28 ) 805ccfc: 6013 str r3, [r2, #0] timeRelax = 0; 805ccfe: 4b49 ldr r3, [pc, #292] ; (805ce24 ) 805cd00: 2200 movs r2, #0 805cd02: 601a str r2, [r3, #0] k = blockSize / 256u; 805cd04: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 805cd08: 0a1b lsrs r3, r3, #8 805cd0a: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 256; i++) 805cd0e: 2300 movs r3, #0 805cd10: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cd14: e027 b.n 805cd66 { arm_max_f32(&Udar_f32(i * k), k, &fl, &j); 805cd16: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd1a: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805cd1e: fb02 f303 mul.w r3, r2, r3 805cd22: 009a lsls r2, r3, #2 805cd24: 4b33 ldr r3, [pc, #204] ; (805cdf4 ) 805cd26: 4413 add r3, r2 805cd28: 4618 mov r0, r3 805cd2a: f8d7 11c8 ldr.w r1, [r7, #456] ; 0x1c8 805cd2e: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805cd32: f507 72de add.w r2, r7, #444 ; 0x1bc 805cd36: f06d f9dd bl 80ca0f4 LinToLog_UDAR(&fl, &fl); 805cd3a: f507 72de add.w r2, r7, #444 ; 0x1bc 805cd3e: f507 73de add.w r3, r7, #444 ; 0x1bc 805cd42: 4611 mov r1, r2 805cd44: 4618 mov r0, r3 805cd46: f008 f92f bl 8064fa8 ScrA_f32(i) = fl; 805cd4a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd4e: 009a lsls r2, r3, #2 805cd50: 4b36 ldr r3, [pc, #216] ; (805ce2c ) 805cd52: 4413 add r3, r2 805cd54: 461a mov r2, r3 805cd56: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805cd5a: 6013 str r3, [r2, #0] for(i = 0; i < 256; i++) 805cd5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd60: 3301 adds r3, #1 805cd62: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cd66: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd6a: 2bff cmp r3, #255 ; 0xff 805cd6c: d9d3 bls.n 805cd16 if(timeRelax == 1) 805cd6e: e06b b.n 805ce48 } } else if(timeRelax == 0) 805cd70: 4b2c ldr r3, [pc, #176] ; (805ce24 ) 805cd72: 681b ldr r3, [r3, #0] 805cd74: 2b00 cmp r3, #0 805cd76: d167 bne.n 805ce48 { NSamples++; 805cd78: 4b2b ldr r3, [pc, #172] ; (805ce28 ) 805cd7a: 681b ldr r3, [r3, #0] 805cd7c: 3301 adds r3, #1 805cd7e: 4a2a ldr r2, [pc, #168] ; (805ce28 ) 805cd80: 6013 str r3, [r2, #0] k = blockSize / 256u; 805cd82: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 805cd86: 0a1b lsrs r3, r3, #8 805cd88: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 for(i = 0; i < 256; i++) 805cd8c: 2300 movs r3, #0 805cd8e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cd92: e027 b.n 805cde4 { arm_max_f32(&Udar_f32(i * k), k, &fl, &j); 805cd94: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cd98: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 805cd9c: fb02 f303 mul.w r3, r2, r3 805cda0: 009a lsls r2, r3, #2 805cda2: 4b14 ldr r3, [pc, #80] ; (805cdf4 ) 805cda4: 4413 add r3, r2 805cda6: 4618 mov r0, r3 805cda8: f8d7 11c8 ldr.w r1, [r7, #456] ; 0x1c8 805cdac: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805cdb0: f507 72de add.w r2, r7, #444 ; 0x1bc 805cdb4: f06d f99e bl 80ca0f4 LinToLog_UDAR(&fl, &fl); 805cdb8: f507 72de add.w r2, r7, #444 ; 0x1bc 805cdbc: f507 73de add.w r3, r7, #444 ; 0x1bc 805cdc0: 4611 mov r1, r2 805cdc2: 4618 mov r0, r3 805cdc4: f008 f8f0 bl 8064fa8 ScrA_f32(i) = fl; 805cdc8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cdcc: 009a lsls r2, r3, #2 805cdce: 4b17 ldr r3, [pc, #92] ; (805ce2c ) 805cdd0: 4413 add r3, r2 805cdd2: 461a mov r2, r3 805cdd4: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805cdd8: 6013 str r3, [r2, #0] for(i = 0; i < 256; i++) 805cdda: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cdde: 3301 adds r3, #1 805cde0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cde4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cde8: 2bff cmp r3, #255 ; 0xff 805cdea: d9d3 bls.n 805cd94 if(timeRelax == 1) 805cdec: e02c b.n 805ce48 805cdee: bf00 nop 805cdf0: 20021cdc .word 0x20021cdc 805cdf4: 640a0000 .word 0x640a0000 805cdf8: 20008000 .word 0x20008000 805cdfc: 20021518 .word 0x20021518 805ce00: 20020d7f .word 0x20020d7f 805ce04: 20057ec0 .word 0x20057ec0 805ce08: 20068560 .word 0x20068560 805ce0c: 20021624 .word 0x20021624 805ce10: 20020da0 .word 0x20020da0 805ce14: 49000000 .word 0x49000000 805ce18: 3fb504f3 .word 0x3fb504f3 805ce1c: 20020d9c .word 0x20020d9c 805ce20: c2c80000 .word 0xc2c80000 805ce24: 20020d6c .word 0x20020d6c 805ce28: 20020d88 .word 0x20020d88 805ce2c: 64080000 .word 0x64080000 } } } else { RepeatKm = true; 805ce30: 4baf ldr r3, [pc, #700] ; (805d0f0 ) 805ce32: 2201 movs r2, #1 805ce34: 701a strb r2, [r3, #0] timeRelax = RELAX + 1; 805ce36: 4baf ldr r3, [pc, #700] ; (805d0f4 ) 805ce38: 681b ldr r3, [r3, #0] 805ce3a: 3301 adds r3, #1 805ce3c: 4aae ldr r2, [pc, #696] ; (805d0f8 ) 805ce3e: 6013 str r3, [r2, #0] faseUdar = 0; 805ce40: 4bae ldr r3, [pc, #696] ; (805d0fc ) 805ce42: 2200 movs r2, #0 805ce44: 701a strb r2, [r3, #0] 805ce46: e000 b.n 805ce4a if(timeRelax == 1) 805ce48: bf00 nop } tick = HAL_GetTick() - tick; 805ce4a: f056 fa11 bl 80b3270 805ce4e: 4602 mov r2, r0 805ce50: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805ce54: 1ad3 subs r3, r2, r3 805ce56: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 805ce5a: 4ba9 ldr r3, [pc, #676] ; (805d100 ) 805ce5c: 681b ldr r3, [r3, #0] 805ce5e: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 805ce62: 429a cmp r2, r3 805ce64: d903 bls.n 805ce6e maxtick = tick; 805ce66: 4aa6 ldr r2, [pc, #664] ; (805d100 ) 805ce68: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 805ce6c: 6013 str r3, [r2, #0] if(READY) 805ce6e: 4ba5 ldr r3, [pc, #660] ; (805d104 ) 805ce70: 781b ldrb r3, [r3, #0] 805ce72: b2db uxtb r3, r3 805ce74: 2b00 cmp r3, #0 805ce76: f007 8134 beq.w 80640e2 { tick = 0; 805ce7a: 2300 movs r3, #0 805ce7c: f8c7 321c str.w r3, [r7, #540] ; 0x21c //*========================================================================================================================= //*========================================================================================================================= //*========================================================================================================================= } break; 805ce80: f007 b92f b.w 80640e2 case SPEC: if(measuring) 805ce84: 4ba0 ldr r3, [pc, #640] ; (805d108 ) 805ce86: 781b ldrb r3, [r3, #0] 805ce88: b2db uxtb r3, r3 805ce8a: 2b00 cmp r3, #0 805ce8c: f007 812b beq.w 80640e6 { GetData(); 805ce90: f007 fbe8 bl 8064664 j = 0; 805ce94: 2300 movs r3, #0 805ce96: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805ce9a: 4b9c ldr r3, [pc, #624] ; (805d10c ) 805ce9c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805cea0: f003 0304 and.w r3, r3, #4 805cea4: 2b00 cmp r3, #0 805cea6: d005 beq.n 805ceb4 CalculateGain(Ns); 805cea8: 4b99 ldr r3, [pc, #612] ; (805d110 ) 805ceaa: 681b ldr r3, [r3, #0] 805ceac: 4618 mov r0, r3 805ceae: f7f8 fdbd bl 8055a2c 805ceb2: e02e b.n 805cf12 else { Stability = (Nr * 4) + 1; 805ceb4: 4b97 ldr r3, [pc, #604] ; (805d114 ) 805ceb6: 881b ldrh r3, [r3, #0] 805ceb8: b29b uxth r3, r3 805ceba: 009b lsls r3, r3, #2 805cebc: 3301 adds r3, #1 805cebe: 461a mov r2, r3 805cec0: 4b95 ldr r3, [pc, #596] ; (805d118 ) 805cec2: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805cec4: 2300 movs r3, #0 805cec6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ceca: e011 b.n 805cef0 { if(In16[i].lg > 0xE00000) 805cecc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ced0: 4a92 ldr r2, [pc, #584] ; (805d11c ) 805ced2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805ced6: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805ceda: d904 bls.n 805cee6 j++; 805cedc: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805cee0: 3301 adds r3, #1 805cee2: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805cee6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ceea: 3301 adds r3, #1 805ceec: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cef0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cef4: 4b86 ldr r3, [pc, #536] ; (805d110 ) 805cef6: 681b ldr r3, [r3, #0] 805cef8: 429a cmp r2, r3 805cefa: d3e7 bcc.n 805cecc } if(j >= 2) 805cefc: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805cf00: 2b01 cmp r3, #1 805cf02: d903 bls.n 805cf0c OVERDRIVE = true; 805cf04: 4b86 ldr r3, [pc, #536] ; (805d120 ) 805cf06: 2201 movs r2, #1 805cf08: 701a strb r2, [r3, #0] 805cf0a: e002 b.n 805cf12 else OVERDRIVE = false; 805cf0c: 4b84 ldr r3, [pc, #528] ; (805d120 ) 805cf0e: 2200 movs r2, #0 805cf10: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805cf12: 4b84 ldr r3, [pc, #528] ; (805d124 ) 805cf14: 781b ldrb r3, [r3, #0] 805cf16: b2db uxtb r3, r3 805cf18: 2b00 cmp r3, #0 805cf1a: d00a beq.n 805cf32 { Stability = 0; 805cf1c: 4b7e ldr r3, [pc, #504] ; (805d118 ) 805cf1e: 2200 movs r2, #0 805cf20: 601a str r2, [r3, #0] MeanCnt = 0; 805cf22: 4b81 ldr r3, [pc, #516] ; (805d128 ) 805cf24: 2200 movs r2, #0 805cf26: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805cf28: 4b80 ldr r3, [pc, #512] ; (805d12c ) 805cf2a: f04f 32ff mov.w r2, #4294967295 805cf2e: 601a str r2, [r3, #0] 805cf30: e00d b.n 805cf4e } else { if(Stability <= (Nr * 4)) 805cf32: 4b78 ldr r3, [pc, #480] ; (805d114 ) 805cf34: 881b ldrh r3, [r3, #0] 805cf36: b29b uxth r3, r3 805cf38: 009b lsls r3, r3, #2 805cf3a: 461a mov r2, r3 805cf3c: 4b76 ldr r3, [pc, #472] ; (805d118 ) 805cf3e: 681b ldr r3, [r3, #0] 805cf40: 429a cmp r2, r3 805cf42: d304 bcc.n 805cf4e Stability++; 805cf44: 4b74 ldr r3, [pc, #464] ; (805d118 ) 805cf46: 681b ldr r3, [r3, #0] 805cf48: 3301 adds r3, #1 805cf4a: 4a73 ldr r2, [pc, #460] ; (805d118 ) 805cf4c: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805cf4e: 4b75 ldr r3, [pc, #468] ; (805d124 ) 805cf50: 781b ldrb r3, [r3, #0] 805cf52: b2db uxtb r3, r3 805cf54: 2b00 cmp r3, #0 805cf56: f040 81a9 bne.w 805d2ac 805cf5a: 4b6e ldr r3, [pc, #440] ; (805d114 ) 805cf5c: 881b ldrh r3, [r3, #0] 805cf5e: b29b uxth r3, r3 805cf60: 009b lsls r3, r3, #2 805cf62: 461a mov r2, r3 805cf64: 4b6c ldr r3, [pc, #432] ; (805d118 ) 805cf66: 681b ldr r3, [r3, #0] 805cf68: 429a cmp r2, r3 805cf6a: f080 819f bcs.w 805d2ac { MeanCnt++; 805cf6e: 4b6e ldr r3, [pc, #440] ; (805d128 ) 805cf70: 681b ldr r3, [r3, #0] 805cf72: 3301 adds r3, #1 805cf74: 4a6c ldr r2, [pc, #432] ; (805d128 ) 805cf76: 6013 str r3, [r2, #0] //************************************************************************************************************** fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805cf78: 4b65 ldr r3, [pc, #404] ; (805d110 ) 805cf7a: 681b ldr r3, [r3, #0] 805cf7c: 085b lsrs r3, r3, #1 805cf7e: ee07 3a90 vmov s15, r3 805cf82: eeb8 7a67 vcvt.f32.u32 s14, s15 805cf86: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805cf8a: eec6 7a87 vdiv.f32 s15, s13, s14 805cf8e: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805cf92: 4b67 ldr r3, [pc, #412] ; (805d130 ) 805cf94: edd3 7a00 vldr s15, [r3] 805cf98: eeb7 7ae7 vcvt.f64.f32 d7, s15 805cf9c: ed9f 6b52 vldr d6, [pc, #328] ; 805d0e8 805cfa0: ee27 7b06 vmul.f64 d7, d7, d6 805cfa4: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805cfa8: 4b58 ldr r3, [pc, #352] ; (805d10c ) 805cfaa: edd3 7a04 vldr s15, [r3, #16] 805cfae: eeb7 6ae7 vcvt.f64.f32 d6, s15 805cfb2: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805cfb6: ee85 7b06 vdiv.f64 d7, d5, d6 805cfba: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805cfbe: 2300 movs r3, #0 805cfc0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805cfc4: e026 b.n 805d014 { Buff64[i] = (float64_t) In16[i].lg; 805cfc6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cfca: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cfce: 4953 ldr r1, [pc, #332] ; (805d11c ) 805cfd0: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805cfd4: ee07 2a90 vmov s15, r2 805cfd8: eeb8 7b67 vcvt.f64.u32 d7, s15 805cfdc: 4a55 ldr r2, [pc, #340] ; (805d134 ) 805cfde: 00db lsls r3, r3, #3 805cfe0: 4413 add r3, r2 805cfe2: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805cfe6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805cfea: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805cfee: 4951 ldr r1, [pc, #324] ; (805d134 ) 805cff0: 00d2 lsls r2, r2, #3 805cff2: 440a add r2, r1 805cff4: ed92 6b00 vldr d6, [r2] 805cff8: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805cffc: ee26 7b07 vmul.f64 d7, d6, d7 805d000: 4a4c ldr r2, [pc, #304] ; (805d134 ) 805d002: 00db lsls r3, r3, #3 805d004: 4413 add r3, r2 805d006: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805d00a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d00e: 3301 adds r3, #1 805d010: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d014: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d018: 4b3d ldr r3, [pc, #244] ; (805d110 ) 805d01a: 681b ldr r3, [r3, #0] 805d01c: 429a cmp r2, r3 805d01e: d3d2 bcc.n 805cfc6 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805d020: 4b3b ldr r3, [pc, #236] ; (805d110 ) 805d022: 681b ldr r3, [r3, #0] 805d024: 4a43 ldr r2, [pc, #268] ; (805d134 ) 805d026: 4943 ldr r1, [pc, #268] ; (805d134 ) 805d028: 4843 ldr r0, [pc, #268] ; (805d138 ) 805d02a: f06d f8d7 bl 80ca1dc arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805d02e: 4b38 ldr r3, [pc, #224] ; (805d110 ) 805d030: 681b ldr r3, [r3, #0] 805d032: 4a40 ldr r2, [pc, #256] ; (805d134 ) 805d034: 493f ldr r1, [pc, #252] ; (805d134 ) 805d036: 4841 ldr r0, [pc, #260] ; (805d13c ) 805d038: f06d f8d0 bl 80ca1dc for(i = 0; i < Ns; i++) { 805d03c: 2300 movs r3, #0 805d03e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d042: e014 b.n 805d06e Out[i] = (float32_t) Buff64[i]; 805d044: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d048: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d04c: 4939 ldr r1, [pc, #228] ; (805d134 ) 805d04e: 00d2 lsls r2, r2, #3 805d050: 440a add r2, r1 805d052: ed92 7b00 vldr d7, [r2] 805d056: eef7 7bc7 vcvt.f32.f64 s15, d7 805d05a: 4a39 ldr r2, [pc, #228] ; (805d140 ) 805d05c: 009b lsls r3, r3, #2 805d05e: 4413 add r3, r2 805d060: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 805d064: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d068: 3301 adds r3, #1 805d06a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d06e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d072: 4b27 ldr r3, [pc, #156] ; (805d110 ) 805d074: 681b ldr r3, [r3, #0] 805d076: 429a cmp r2, r3 805d078: d3e4 bcc.n 805d044 WindowFunc(pardata.WIN, Ns); 805d07a: 4b24 ldr r3, [pc, #144] ; (805d10c ) 805d07c: 7a5b ldrb r3, [r3, #9] 805d07e: b2da uxtb r2, r3 805d080: 4b23 ldr r3, [pc, #140] ; (805d110 ) 805d082: 681b ldr r3, [r3, #0] 805d084: b29b uxth r3, r3 805d086: 4619 mov r1, r3 805d088: 4610 mov r0, r2 805d08a: f007 fb7b bl 8064784 initFFT(Out, In, Forward); 805d08e: 2200 movs r2, #0 805d090: 492c ldr r1, [pc, #176] ; (805d144 ) 805d092: 482b ldr r0, [pc, #172] ; (805d140 ) 805d094: f7f9 f84a bl 805612c arm_cmplx_mag_f32(In, Out, Ns); 805d098: 4b1d ldr r3, [pc, #116] ; (805d110 ) 805d09a: 681b ldr r3, [r3, #0] 805d09c: 461a mov r2, r3 805d09e: 4928 ldr r1, [pc, #160] ; (805d140 ) 805d0a0: 4828 ldr r0, [pc, #160] ; (805d144 ) 805d0a2: f06d fa23 bl 80ca4ec arm_scale_f32(Out, fNrm, In, (Ns >> 1)); 805d0a6: 4b1a ldr r3, [pc, #104] ; (805d110 ) 805d0a8: 681b ldr r3, [r3, #0] 805d0aa: 085b lsrs r3, r3, #1 805d0ac: 461a mov r2, r3 805d0ae: 4925 ldr r1, [pc, #148] ; (805d144 ) 805d0b0: ed97 0a85 vldr s0, [r7, #532] ; 0x214 805d0b4: 4822 ldr r0, [pc, #136] ; (805d140 ) 805d0b6: f06d fb47 bl 80ca748 //************************************************************************************************************** if(AVG[pardata.AVG] > 1) 805d0ba: 4b14 ldr r3, [pc, #80] ; (805d10c ) 805d0bc: 7b5b ldrb r3, [r3, #13] 805d0be: b2db uxtb r3, r3 805d0c0: 461a mov r2, r3 805d0c2: 4b21 ldr r3, [pc, #132] ; (805d148 ) 805d0c4: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805d0c8: 2b01 cmp r3, #1 805d0ca: d95d bls.n 805d188 { if(MeanCnt == 1) 805d0cc: 4b16 ldr r3, [pc, #88] ; (805d128 ) 805d0ce: 681b ldr r3, [r3, #0] 805d0d0: 2b01 cmp r3, #1 805d0d2: d13b bne.n 805d14c FastCopy16(IN_Reg, MEAN_Reg, _2Ns); 805d0d4: 4b0e ldr r3, [pc, #56] ; (805d110 ) 805d0d6: 681b ldr r3, [r3, #0] 805d0d8: 005b lsls r3, r3, #1 805d0da: 461a mov r2, r3 805d0dc: 2103 movs r1, #3 805d0de: 2001 movs r0, #1 805d0e0: f007 f94a bl 8064378 805d0e4: e050 b.n 805d188 805d0e6: bf00 nop 805d0e8: 18000018 .word 0x18000018 805d0ec: 3e980000 .word 0x3e980000 805d0f0: 20020dac .word 0x20020dac 805d0f4: 20020d70 .word 0x20020d70 805d0f8: 20020d6c .word 0x20020d6c 805d0fc: 20021624 .word 0x20021624 805d100: 20021630 .word 0x20021630 805d104: 20020d7f .word 0x20020d7f 805d108: 20020daf .word 0x20020daf 805d10c: 20023e60 .word 0x20023e60 805d110: 20021cdc .word 0x20021cdc 805d114: 20021d20 .word 0x20021d20 805d118: 20020da8 .word 0x20020da8 805d11c: 20058020 .word 0x20058020 805d120: 20021531 .word 0x20021531 805d124: 20020d7e .word 0x20020d7e 805d128: 20020db8 .word 0x20020db8 805d12c: 20020d88 .word 0x20020d88 805d130: 20020080 .word 0x20020080 805d134: 20037ae0 .word 0x20037ae0 805d138: 20026564 .word 0x20026564 805d13c: 20025f00 .word 0x20025f00 805d140: 20008000 .word 0x20008000 805d144: 200279c0 .word 0x200279c0 805d148: 080eeb38 .word 0x080eeb38 else { scale = 1.0f / ((float32_t) MeanCnt); 805d14c: 4bae ldr r3, [pc, #696] ; (805d408 ) 805d14e: 681b ldr r3, [r3, #0] 805d150: ee07 3a90 vmov s15, r3 805d154: eeb8 7a67 vcvt.f32.u32 s14, s15 805d158: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805d15c: eec6 7a87 vdiv.f32 s15, s13, s14 805d160: edc7 7a86 vstr s15, [r7, #536] ; 0x218 ARM_ADD_F32(IN_Reg, MEAN_Reg, MEAN_Reg, _2Ns); 805d164: 4ba9 ldr r3, [pc, #676] ; (805d40c ) 805d166: 681b ldr r3, [r3, #0] 805d168: 005b lsls r3, r3, #1 805d16a: 2203 movs r2, #3 805d16c: 2103 movs r1, #3 805d16e: 2001 movs r0, #1 805d170: f007 f98e bl 8064490 ARM_SCALE_F32(MEAN_Reg, scale, IN_Reg, _2Ns); 805d174: 4ba5 ldr r3, [pc, #660] ; (805d40c ) 805d176: 681b ldr r3, [r3, #0] 805d178: 005b lsls r3, r3, #1 805d17a: 461a mov r2, r3 805d17c: 2101 movs r1, #1 805d17e: ed97 0a86 vldr s0, [r7, #536] ; 0x218 805d182: 2003 movs r0, #3 805d184: f007 fa0a bl 806459c } } if(pardata.IPR > ACC) { 805d188: 4ba1 ldr r3, [pc, #644] ; (805d410 ) 805d18a: 785b ldrb r3, [r3, #1] 805d18c: b2db uxtb r3, r3 805d18e: 2b00 cmp r3, #0 805d190: d001 beq.n 805d196 INTEGR_NEW(); 805d192: f007 fdff bl 8064d94 } if(MeanCnt == AVG[pardata.AVG]) 805d196: 4b9e ldr r3, [pc, #632] ; (805d410 ) 805d198: 7b5b ldrb r3, [r3, #13] 805d19a: b2db uxtb r3, r3 805d19c: 461a mov r2, r3 805d19e: 4b9d ldr r3, [pc, #628] ; (805d414 ) 805d1a0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805d1a4: 461a mov r2, r3 805d1a6: 4b98 ldr r3, [pc, #608] ; (805d408 ) 805d1a8: 681b ldr r3, [r3, #0] 805d1aa: 429a cmp r2, r3 805d1ac: f040 8083 bne.w 805d2b6 { arm_power_f32(In, (Ns >> 1), &skz[pardata.IPR]); 805d1b0: 4b96 ldr r3, [pc, #600] ; (805d40c ) 805d1b2: 681b ldr r3, [r3, #0] 805d1b4: 0859 lsrs r1, r3, #1 805d1b6: 4b96 ldr r3, [pc, #600] ; (805d410 ) 805d1b8: 785b ldrb r3, [r3, #1] 805d1ba: b2db uxtb r3, r3 805d1bc: 009b lsls r3, r3, #2 805d1be: 4a96 ldr r2, [pc, #600] ; (805d418 ) 805d1c0: 4413 add r3, r2 805d1c2: 461a mov r2, r3 805d1c4: 4895 ldr r0, [pc, #596] ; (805d41c ) 805d1c6: f06c febf bl 80c9f48 skz[pardata.IPR] *= 0.5f; 805d1ca: 4b91 ldr r3, [pc, #580] ; (805d410 ) 805d1cc: 785b ldrb r3, [r3, #1] 805d1ce: b2db uxtb r3, r3 805d1d0: 4619 mov r1, r3 805d1d2: 4a91 ldr r2, [pc, #580] ; (805d418 ) 805d1d4: 009b lsls r3, r3, #2 805d1d6: 4413 add r3, r2 805d1d8: edd3 7a00 vldr s15, [r3] 805d1dc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805d1e0: ee67 7a87 vmul.f32 s15, s15, s14 805d1e4: 4a8c ldr r2, [pc, #560] ; (805d418 ) 805d1e6: 008b lsls r3, r1, #2 805d1e8: 4413 add r3, r2 805d1ea: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(skz[pardata.IPR], &skz[pardata.IPR]); 805d1ee: 4b88 ldr r3, [pc, #544] ; (805d410 ) 805d1f0: 785b ldrb r3, [r3, #1] 805d1f2: b2db uxtb r3, r3 805d1f4: 4a88 ldr r2, [pc, #544] ; (805d418 ) 805d1f6: 009b lsls r3, r3, #2 805d1f8: 4413 add r3, r2 805d1fa: edd3 7a00 vldr s15, [r3] 805d1fe: 4b84 ldr r3, [pc, #528] ; (805d410 ) 805d200: 785b ldrb r3, [r3, #1] 805d202: b2db uxtb r3, r3 805d204: 009b lsls r3, r3, #2 805d206: 4a84 ldr r2, [pc, #528] ; (805d418 ) 805d208: 4413 add r3, r2 805d20a: 4618 mov r0, r3 805d20c: eeb0 0a67 vmov.f32 s0, s15 805d210: f7f8 fbea bl 80559e8 if(pardata.WIN == HANN) { 805d214: 4b7e ldr r3, [pc, #504] ; (805d410 ) 805d216: 7a5b ldrb r3, [r3, #9] 805d218: b2db uxtb r3, r3 805d21a: 2b01 cmp r3, #1 805d21c: d111 bne.n 805d242 skz[pardata.IPR] *= 1.64f; 805d21e: 4b7c ldr r3, [pc, #496] ; (805d410 ) 805d220: 785b ldrb r3, [r3, #1] 805d222: b2db uxtb r3, r3 805d224: 4619 mov r1, r3 805d226: 4a7c ldr r2, [pc, #496] ; (805d418 ) 805d228: 009b lsls r3, r3, #2 805d22a: 4413 add r3, r2 805d22c: edd3 7a00 vldr s15, [r3] 805d230: ed9f 7a7b vldr s14, [pc, #492] ; 805d420 805d234: ee67 7a87 vmul.f32 s15, s15, s14 805d238: 4a77 ldr r2, [pc, #476] ; (805d418 ) 805d23a: 008b lsls r3, r1, #2 805d23c: 4413 add r3, r2 805d23e: edc3 7a00 vstr s15, [r3] } FastCopy16(IN_Reg, SCR_Reg, Ns); 805d242: 4b72 ldr r3, [pc, #456] ; (805d40c ) 805d244: 681b ldr r3, [r3, #0] 805d246: 461a mov r2, r3 805d248: 2104 movs r1, #4 805d24a: 2001 movs r0, #1 805d24c: f007 f894 bl 8064378 if(pardata.IIN != VOLTS) 805d250: 4b6f ldr r3, [pc, #444] ; (805d410 ) 805d252: 799b ldrb r3, [r3, #6] 805d254: b2db uxtb r3, r3 805d256: 2b02 cmp r3, #2 805d258: d00f beq.n 805d27a LinToLog(&skz[pardata.IPR], &skzDB[pardata.IPR]); 805d25a: 4b6d ldr r3, [pc, #436] ; (805d410 ) 805d25c: 785b ldrb r3, [r3, #1] 805d25e: b2db uxtb r3, r3 805d260: 009b lsls r3, r3, #2 805d262: 4a6d ldr r2, [pc, #436] ; (805d418 ) 805d264: 1898 adds r0, r3, r2 805d266: 4b6a ldr r3, [pc, #424] ; (805d410 ) 805d268: 785b ldrb r3, [r3, #1] 805d26a: b2db uxtb r3, r3 805d26c: 009b lsls r3, r3, #2 805d26e: 4a6d ldr r2, [pc, #436] ; (805d424 ) 805d270: 4413 add r3, r2 805d272: 4619 mov r1, r3 805d274: f007 fe34 bl 8064ee0 805d278: e011 b.n 805d29e else LinToLog_mV(&skz[pardata.IPR], &skzDB[pardata.IPR], pardata.IPR); 805d27a: 4b65 ldr r3, [pc, #404] ; (805d410 ) 805d27c: 785b ldrb r3, [r3, #1] 805d27e: b2db uxtb r3, r3 805d280: 009b lsls r3, r3, #2 805d282: 4a65 ldr r2, [pc, #404] ; (805d418 ) 805d284: 1898 adds r0, r3, r2 805d286: 4b62 ldr r3, [pc, #392] ; (805d410 ) 805d288: 785b ldrb r3, [r3, #1] 805d28a: b2db uxtb r3, r3 805d28c: 009b lsls r3, r3, #2 805d28e: 4a65 ldr r2, [pc, #404] ; (805d424 ) 805d290: 1899 adds r1, r3, r2 805d292: 4b5f ldr r3, [pc, #380] ; (805d410 ) 805d294: 785b ldrb r3, [r3, #1] 805d296: b2db uxtb r3, r3 805d298: 461a mov r2, r3 805d29a: f007 fe51 bl 8064f40 MeanCnt = 0; 805d29e: 4b5a ldr r3, [pc, #360] ; (805d408 ) 805d2a0: 2200 movs r2, #0 805d2a2: 601a str r2, [r3, #0] READY_TO_SEE = true; 805d2a4: 4b60 ldr r3, [pc, #384] ; (805d428 ) 805d2a6: 2201 movs r2, #1 805d2a8: 701a strb r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 805d2aa: e004 b.n 805d2b6 } } else { RepeatKm = true; 805d2ac: 4b5f ldr r3, [pc, #380] ; (805d42c ) 805d2ae: 2201 movs r2, #1 805d2b0: 701a strb r2, [r3, #0] } } break; 805d2b2: f006 bf18 b.w 80640e6 805d2b6: f006 bf16 b.w 80640e6 case SPEC_OGIB: if(measuring) 805d2ba: 4b5d ldr r3, [pc, #372] ; (805d430 ) 805d2bc: 781b ldrb r3, [r3, #0] 805d2be: b2db uxtb r3, r3 805d2c0: 2b00 cmp r3, #0 805d2c2: f006 8712 beq.w 80640ea { GetData(); 805d2c6: f007 f9cd bl 8064664 j = 0; 805d2ca: 2300 movs r3, #0 805d2cc: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805d2d0: 4b4f ldr r3, [pc, #316] ; (805d410 ) 805d2d2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805d2d6: f003 0304 and.w r3, r3, #4 805d2da: 2b00 cmp r3, #0 805d2dc: d005 beq.n 805d2ea CalculateGain(Ns); 805d2de: 4b4b ldr r3, [pc, #300] ; (805d40c ) 805d2e0: 681b ldr r3, [r3, #0] 805d2e2: 4618 mov r0, r3 805d2e4: f7f8 fba2 bl 8055a2c 805d2e8: e02e b.n 805d348 else { Stability = (Nr * 4) + 1; 805d2ea: 4b52 ldr r3, [pc, #328] ; (805d434 ) 805d2ec: 881b ldrh r3, [r3, #0] 805d2ee: b29b uxth r3, r3 805d2f0: 009b lsls r3, r3, #2 805d2f2: 3301 adds r3, #1 805d2f4: 461a mov r2, r3 805d2f6: 4b50 ldr r3, [pc, #320] ; (805d438 ) 805d2f8: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805d2fa: 2300 movs r3, #0 805d2fc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d300: e011 b.n 805d326 { if(In16[i].lg > 0xE00000) 805d302: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d306: 4a4d ldr r2, [pc, #308] ; (805d43c ) 805d308: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805d30c: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805d310: d904 bls.n 805d31c j++; 805d312: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805d316: 3301 adds r3, #1 805d318: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805d31c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d320: 3301 adds r3, #1 805d322: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d326: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d32a: 4b38 ldr r3, [pc, #224] ; (805d40c ) 805d32c: 681b ldr r3, [r3, #0] 805d32e: 429a cmp r2, r3 805d330: d3e7 bcc.n 805d302 } if(j >= 2) 805d332: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805d336: 2b01 cmp r3, #1 805d338: d903 bls.n 805d342 OVERDRIVE = true; 805d33a: 4b41 ldr r3, [pc, #260] ; (805d440 ) 805d33c: 2201 movs r2, #1 805d33e: 701a strb r2, [r3, #0] 805d340: e002 b.n 805d348 else OVERDRIVE = false; 805d342: 4b3f ldr r3, [pc, #252] ; (805d440 ) 805d344: 2200 movs r2, #0 805d346: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805d348: 4b3e ldr r3, [pc, #248] ; (805d444 ) 805d34a: 781b ldrb r3, [r3, #0] 805d34c: b2db uxtb r3, r3 805d34e: 2b00 cmp r3, #0 805d350: d00a beq.n 805d368 { Stability = 0; 805d352: 4b39 ldr r3, [pc, #228] ; (805d438 ) 805d354: 2200 movs r2, #0 805d356: 601a str r2, [r3, #0] MeanCnt = 0; 805d358: 4b2b ldr r3, [pc, #172] ; (805d408 ) 805d35a: 2200 movs r2, #0 805d35c: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805d35e: 4b3a ldr r3, [pc, #232] ; (805d448 ) 805d360: f04f 32ff mov.w r2, #4294967295 805d364: 601a str r2, [r3, #0] 805d366: e00d b.n 805d384 } else { if(Stability <= (Nr * 4)) 805d368: 4b32 ldr r3, [pc, #200] ; (805d434 ) 805d36a: 881b ldrh r3, [r3, #0] 805d36c: b29b uxth r3, r3 805d36e: 009b lsls r3, r3, #2 805d370: 461a mov r2, r3 805d372: 4b31 ldr r3, [pc, #196] ; (805d438 ) 805d374: 681b ldr r3, [r3, #0] 805d376: 429a cmp r2, r3 805d378: d304 bcc.n 805d384 Stability++; 805d37a: 4b2f ldr r3, [pc, #188] ; (805d438 ) 805d37c: 681b ldr r3, [r3, #0] 805d37e: 3301 adds r3, #1 805d380: 4a2d ldr r2, [pc, #180] ; (805d438 ) 805d382: 6013 str r3, [r2, #0] } if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) // åñëè àâòîóñèëåíèå íîðì 805d384: 4b2f ldr r3, [pc, #188] ; (805d444 ) 805d386: 781b ldrb r3, [r3, #0] 805d388: b2db uxtb r3, r3 805d38a: 2b00 cmp r3, #0 805d38c: f040 828e bne.w 805d8ac 805d390: 4b28 ldr r3, [pc, #160] ; (805d434 ) 805d392: 881b ldrh r3, [r3, #0] 805d394: b29b uxth r3, r3 805d396: 009b lsls r3, r3, #2 805d398: 461a mov r2, r3 805d39a: 4b27 ldr r3, [pc, #156] ; (805d438 ) 805d39c: 681b ldr r3, [r3, #0] 805d39e: 429a cmp r2, r3 805d3a0: f080 8284 bcs.w 805d8ac { MeanCnt++; 805d3a4: 4b18 ldr r3, [pc, #96] ; (805d408 ) 805d3a6: 681b ldr r3, [r3, #0] 805d3a8: 3301 adds r3, #1 805d3aa: 4a17 ldr r2, [pc, #92] ; (805d408 ) 805d3ac: 6013 str r3, [r2, #0] //************************************************************************************************************** fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805d3ae: 4b17 ldr r3, [pc, #92] ; (805d40c ) 805d3b0: 681b ldr r3, [r3, #0] 805d3b2: 085b lsrs r3, r3, #1 805d3b4: ee07 3a90 vmov s15, r3 805d3b8: eeb8 7a67 vcvt.f32.u32 s14, s15 805d3bc: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805d3c0: eec6 7a87 vdiv.f32 s15, s13, s14 805d3c4: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805d3c8: 4b20 ldr r3, [pc, #128] ; (805d44c ) 805d3ca: edd3 7a00 vldr s15, [r3] 805d3ce: eeb7 7ae7 vcvt.f64.f32 d7, s15 805d3d2: ed9f 6b0b vldr d6, [pc, #44] ; 805d400 805d3d6: ee27 7b06 vmul.f64 d7, d7, d6 805d3da: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805d3de: 4b0c ldr r3, [pc, #48] ; (805d410 ) 805d3e0: edd3 7a04 vldr s15, [r3, #16] 805d3e4: eeb7 6ae7 vcvt.f64.f32 d6, s15 805d3e8: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805d3ec: ee85 7b06 vdiv.f64 d7, d5, d6 805d3f0: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805d3f4: 2300 movs r3, #0 805d3f6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d3fa: e050 b.n 805d49e 805d3fc: f3af 8000 nop.w 805d400: 18000018 .word 0x18000018 805d404: 3e980000 .word 0x3e980000 805d408: 20020db8 .word 0x20020db8 805d40c: 20021cdc .word 0x20021cdc 805d410: 20023e60 .word 0x20023e60 805d414: 080eeb38 .word 0x080eeb38 805d418: 20021540 .word 0x20021540 805d41c: 200279c0 .word 0x200279c0 805d420: 3fd1eb85 .word 0x3fd1eb85 805d424: 2002154c .word 0x2002154c 805d428: 20020d8e .word 0x20020d8e 805d42c: 20020dac .word 0x20020dac 805d430: 20020daf .word 0x20020daf 805d434: 20021d20 .word 0x20021d20 805d438: 20020da8 .word 0x20020da8 805d43c: 20058020 .word 0x20058020 805d440: 20021531 .word 0x20021531 805d444: 20020d7e .word 0x20020d7e 805d448: 20020d88 .word 0x20020d88 805d44c: 20020080 .word 0x20020080 { Buff64[i] = (float64_t) In16[i].lg; 805d450: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d454: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d458: 49ad ldr r1, [pc, #692] ; (805d710 ) 805d45a: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805d45e: ee07 2a90 vmov s15, r2 805d462: eeb8 7b67 vcvt.f64.u32 d7, s15 805d466: 4aab ldr r2, [pc, #684] ; (805d714 ) 805d468: 00db lsls r3, r3, #3 805d46a: 4413 add r3, r2 805d46c: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805d470: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d474: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d478: 49a6 ldr r1, [pc, #664] ; (805d714 ) 805d47a: 00d2 lsls r2, r2, #3 805d47c: 440a add r2, r1 805d47e: ed92 6b00 vldr d6, [r2] 805d482: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805d486: ee26 7b07 vmul.f64 d7, d6, d7 805d48a: 4aa2 ldr r2, [pc, #648] ; (805d714 ) 805d48c: 00db lsls r3, r3, #3 805d48e: 4413 add r3, r2 805d490: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805d494: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d498: 3301 adds r3, #1 805d49a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d49e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d4a2: 4b9d ldr r3, [pc, #628] ; (805d718 ) 805d4a4: 681b ldr r3, [r3, #0] 805d4a6: 429a cmp r2, r3 805d4a8: d3d2 bcc.n 805d450 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805d4aa: 4b9b ldr r3, [pc, #620] ; (805d718 ) 805d4ac: 681b ldr r3, [r3, #0] 805d4ae: 4a99 ldr r2, [pc, #612] ; (805d714 ) 805d4b0: 4998 ldr r1, [pc, #608] ; (805d714 ) 805d4b2: 489a ldr r0, [pc, #616] ; (805d71c ) 805d4b4: f06c fe92 bl 80ca1dc arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805d4b8: 4b97 ldr r3, [pc, #604] ; (805d718 ) 805d4ba: 681b ldr r3, [r3, #0] 805d4bc: 4a95 ldr r2, [pc, #596] ; (805d714 ) 805d4be: 4995 ldr r1, [pc, #596] ; (805d714 ) 805d4c0: 4897 ldr r0, [pc, #604] ; (805d720 ) 805d4c2: f06c fe8b bl 80ca1dc for(i = 0; i < Ns; i++) { 805d4c6: 2300 movs r3, #0 805d4c8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d4cc: e014 b.n 805d4f8 Out[i] = (float32_t) Buff64[i]; 805d4ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d4d2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d4d6: 498f ldr r1, [pc, #572] ; (805d714 ) 805d4d8: 00d2 lsls r2, r2, #3 805d4da: 440a add r2, r1 805d4dc: ed92 7b00 vldr d7, [r2] 805d4e0: eef7 7bc7 vcvt.f32.f64 s15, d7 805d4e4: 4a8f ldr r2, [pc, #572] ; (805d724 ) 805d4e6: 009b lsls r3, r3, #2 805d4e8: 4413 add r3, r2 805d4ea: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) { 805d4ee: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d4f2: 3301 adds r3, #1 805d4f4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d4f8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d4fc: 4b86 ldr r3, [pc, #536] ; (805d718 ) 805d4fe: 681b ldr r3, [r3, #0] 805d500: 429a cmp r2, r3 805d502: d3e4 bcc.n 805d4ce } //************************************************ FastCopy16(OUT_Reg, CMPLX_A, _2Ns); 805d504: 4b84 ldr r3, [pc, #528] ; (805d718 ) 805d506: 681b ldr r3, [r3, #0] 805d508: 005b lsls r3, r3, #1 805d50a: 461a mov r2, r3 805d50c: 2105 movs r1, #5 805d50e: 2009 movs r0, #9 805d510: f006 ff32 bl 8064378 arm_fill_f32(0.0f, &Image(0), Ns); 805d514: 4b80 ldr r3, [pc, #512] ; (805d718 ) 805d516: 681b ldr r3, [r3, #0] 805d518: 4619 mov r1, r3 805d51a: 4883 ldr r0, [pc, #524] ; (805d728 ) 805d51c: ed9f 0a83 vldr s0, [pc, #524] ; 805d72c 805d520: f06c fc0c bl 80c9d3c MyFFT(Ns, 0); 805d524: 4b7c ldr r3, [pc, #496] ; (805d718 ) 805d526: 681b ldr r3, [r3, #0] 805d528: 2100 movs r1, #0 805d52a: 4618 mov r0, r3 805d52c: f009 fb04 bl 8066b38 for(i = Ns / 2; i < Ns; i++) 805d530: 4b79 ldr r3, [pc, #484] ; (805d718 ) 805d532: 681b ldr r3, [r3, #0] 805d534: 085b lsrs r3, r3, #1 805d536: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d53a: e016 b.n 805d56a { Real(i) = 0; 805d53c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d540: 009a lsls r2, r3, #2 805d542: 4b7b ldr r3, [pc, #492] ; (805d730 ) 805d544: 4413 add r3, r2 805d546: 461a mov r2, r3 805d548: f04f 0300 mov.w r3, #0 805d54c: 6013 str r3, [r2, #0] Image(i) = 0; 805d54e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d552: 009a lsls r2, r3, #2 805d554: 4b74 ldr r3, [pc, #464] ; (805d728 ) 805d556: 4413 add r3, r2 805d558: 461a mov r2, r3 805d55a: f04f 0300 mov.w r3, #0 805d55e: 6013 str r3, [r2, #0] for(i = Ns / 2; i < Ns; i++) 805d560: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d564: 3301 adds r3, #1 805d566: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d56a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d56e: 4b6a ldr r3, [pc, #424] ; (805d718 ) 805d570: 681b ldr r3, [r3, #0] 805d572: 429a cmp r2, r3 805d574: d3e2 bcc.n 805d53c } for(i = 0; i < Ns / 2; i++) 805d576: 2300 movs r3, #0 805d578: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d57c: e026 b.n 805d5cc { Real(i) = Real(i) * 2.0f; 805d57e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d582: 009a lsls r2, r3, #2 805d584: 4b6a ldr r3, [pc, #424] ; (805d730 ) 805d586: 4413 add r3, r2 805d588: 4619 mov r1, r3 805d58a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d58e: 009a lsls r2, r3, #2 805d590: 4b67 ldr r3, [pc, #412] ; (805d730 ) 805d592: 4413 add r3, r2 805d594: edd3 7a00 vldr s15, [r3] 805d598: ee77 7aa7 vadd.f32 s15, s15, s15 805d59c: edc1 7a00 vstr s15, [r1] Image(i) = Image(i) * 2.0f; 805d5a0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d5a4: 009a lsls r2, r3, #2 805d5a6: 4b60 ldr r3, [pc, #384] ; (805d728 ) 805d5a8: 4413 add r3, r2 805d5aa: 4619 mov r1, r3 805d5ac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d5b0: 009a lsls r2, r3, #2 805d5b2: 4b5d ldr r3, [pc, #372] ; (805d728 ) 805d5b4: 4413 add r3, r2 805d5b6: edd3 7a00 vldr s15, [r3] 805d5ba: ee77 7aa7 vadd.f32 s15, s15, s15 805d5be: edc1 7a00 vstr s15, [r1] for(i = 0; i < Ns / 2; i++) 805d5c2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d5c6: 3301 adds r3, #1 805d5c8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d5cc: 4b52 ldr r3, [pc, #328] ; (805d718 ) 805d5ce: 681b ldr r3, [r3, #0] 805d5d0: 085a lsrs r2, r3, #1 805d5d2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d5d6: 429a cmp r2, r3 805d5d8: d8d1 bhi.n 805d57e } MyFFT(Ns, -1); 805d5da: 4b4f ldr r3, [pc, #316] ; (805d718 ) 805d5dc: 681b ldr r3, [r3, #0] 805d5de: f04f 31ff mov.w r1, #4294967295 805d5e2: 4618 mov r0, r3 805d5e4: f009 faa8 bl 8066b38 for(i = 0; i < Ns; i++) 805d5e8: 2300 movs r3, #0 805d5ea: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d5ee: e03e b.n 805d66e { In[i] = (Out[i] * Out[i]) + (Image(i) * Image(i)); 805d5f0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d5f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d5f8: 494a ldr r1, [pc, #296] ; (805d724 ) 805d5fa: 009b lsls r3, r3, #2 805d5fc: 440b add r3, r1 805d5fe: ed93 7a00 vldr s14, [r3] 805d602: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d606: 4947 ldr r1, [pc, #284] ; (805d724 ) 805d608: 009b lsls r3, r3, #2 805d60a: 440b add r3, r1 805d60c: edd3 7a00 vldr s15, [r3] 805d610: ee27 7a27 vmul.f32 s14, s14, s15 805d614: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d618: 0099 lsls r1, r3, #2 805d61a: 4b43 ldr r3, [pc, #268] ; (805d728 ) 805d61c: 440b add r3, r1 805d61e: edd3 6a00 vldr s13, [r3] 805d622: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d626: 0099 lsls r1, r3, #2 805d628: 4b3f ldr r3, [pc, #252] ; (805d728 ) 805d62a: 440b add r3, r1 805d62c: edd3 7a00 vldr s15, [r3] 805d630: ee66 7aa7 vmul.f32 s15, s13, s15 805d634: ee77 7a27 vadd.f32 s15, s14, s15 805d638: 493e ldr r1, [pc, #248] ; (805d734 ) 805d63a: 0093 lsls r3, r2, #2 805d63c: 440b add r3, r1 805d63e: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(In[i], &Out[i]); 805d642: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d646: 4a3b ldr r2, [pc, #236] ; (805d734 ) 805d648: 009b lsls r3, r3, #2 805d64a: 4413 add r3, r2 805d64c: edd3 7a00 vldr s15, [r3] 805d650: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d654: 009b lsls r3, r3, #2 805d656: 4a33 ldr r2, [pc, #204] ; (805d724 ) 805d658: 4413 add r3, r2 805d65a: 4618 mov r0, r3 805d65c: eeb0 0a67 vmov.f32 s0, s15 805d660: f7f8 f9c2 bl 80559e8 for(i = 0; i < Ns; i++) 805d664: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d668: 3301 adds r3, #1 805d66a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d66e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d672: 4b29 ldr r3, [pc, #164] ; (805d718 ) 805d674: 681b ldr r3, [r3, #0] 805d676: 429a cmp r2, r3 805d678: d3ba bcc.n 805d5f0 } arm_mean_f32(Out, Ns, &fl); 805d67a: 4b27 ldr r3, [pc, #156] ; (805d718 ) 805d67c: 681b ldr r3, [r3, #0] 805d67e: f507 72de add.w r2, r7, #444 ; 0x1bc 805d682: 4619 mov r1, r3 805d684: 4827 ldr r0, [pc, #156] ; (805d724 ) 805d686: f06c fcff bl 80ca088 arm_offset_f32(Out, -fl, Out, Ns); 805d68a: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805d68e: eef1 7a67 vneg.f32 s15, s15 805d692: 4b21 ldr r3, [pc, #132] ; (805d718 ) 805d694: 681b ldr r3, [r3, #0] 805d696: 461a mov r2, r3 805d698: 4922 ldr r1, [pc, #136] ; (805d724 ) 805d69a: eeb0 0a67 vmov.f32 s0, s15 805d69e: 4821 ldr r0, [pc, #132] ; (805d724 ) 805d6a0: f06d f888 bl 80ca7b4 //*************************************************** WindowFunc(pardata.WIN, Ns); 805d6a4: 4b24 ldr r3, [pc, #144] ; (805d738 ) 805d6a6: 7a5b ldrb r3, [r3, #9] 805d6a8: b2da uxtb r2, r3 805d6aa: 4b1b ldr r3, [pc, #108] ; (805d718 ) 805d6ac: 681b ldr r3, [r3, #0] 805d6ae: b29b uxth r3, r3 805d6b0: 4619 mov r1, r3 805d6b2: 4610 mov r0, r2 805d6b4: f007 f866 bl 8064784 initFFT(Out, In, Forward); 805d6b8: 2200 movs r2, #0 805d6ba: 491e ldr r1, [pc, #120] ; (805d734 ) 805d6bc: 4819 ldr r0, [pc, #100] ; (805d724 ) 805d6be: f7f8 fd35 bl 805612c arm_cmplx_mag_f32(In, Out, Ns); 805d6c2: 4b15 ldr r3, [pc, #84] ; (805d718 ) 805d6c4: 681b ldr r3, [r3, #0] 805d6c6: 461a mov r2, r3 805d6c8: 4916 ldr r1, [pc, #88] ; (805d724 ) 805d6ca: 481a ldr r0, [pc, #104] ; (805d734 ) 805d6cc: f06c ff0e bl 80ca4ec arm_scale_f32(Out, fNrm, In, (Ns >> 1)); 805d6d0: 4b11 ldr r3, [pc, #68] ; (805d718 ) 805d6d2: 681b ldr r3, [r3, #0] 805d6d4: 085b lsrs r3, r3, #1 805d6d6: 461a mov r2, r3 805d6d8: 4916 ldr r1, [pc, #88] ; (805d734 ) 805d6da: ed97 0a85 vldr s0, [r7, #532] ; 0x214 805d6de: 4811 ldr r0, [pc, #68] ; (805d724 ) 805d6e0: f06d f832 bl 80ca748 if(AVG[pardata.AVG] > 1) 805d6e4: 4b14 ldr r3, [pc, #80] ; (805d738 ) 805d6e6: 7b5b ldrb r3, [r3, #13] 805d6e8: b2db uxtb r3, r3 805d6ea: 461a mov r2, r3 805d6ec: 4b13 ldr r3, [pc, #76] ; (805d73c ) 805d6ee: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805d6f2: 2b01 cmp r3, #1 805d6f4: d944 bls.n 805d780 { if(MeanCnt == 1) 805d6f6: 4b12 ldr r3, [pc, #72] ; (805d740 ) 805d6f8: 681b ldr r3, [r3, #0] 805d6fa: 2b01 cmp r3, #1 805d6fc: d122 bne.n 805d744 FastCopy16(IN_Reg, MEAN_Reg, _2Ns); 805d6fe: 4b06 ldr r3, [pc, #24] ; (805d718 ) 805d700: 681b ldr r3, [r3, #0] 805d702: 005b lsls r3, r3, #1 805d704: 461a mov r2, r3 805d706: 2103 movs r1, #3 805d708: 2001 movs r0, #1 805d70a: f006 fe35 bl 8064378 805d70e: e037 b.n 805d780 805d710: 20058020 .word 0x20058020 805d714: 20037ae0 .word 0x20037ae0 805d718: 20021cdc .word 0x20021cdc 805d71c: 20026564 .word 0x20026564 805d720: 20025f00 .word 0x20025f00 805d724: 20008000 .word 0x20008000 805d728: 64098000 .word 0x64098000 805d72c: 00000000 .word 0x00000000 805d730: 64090000 .word 0x64090000 805d734: 200279c0 .word 0x200279c0 805d738: 20023e60 .word 0x20023e60 805d73c: 080eeb38 .word 0x080eeb38 805d740: 20020db8 .word 0x20020db8 else { scale = 1.0f / ((float32_t) MeanCnt); 805d744: 4bb2 ldr r3, [pc, #712] ; (805da10 ) 805d746: 681b ldr r3, [r3, #0] 805d748: ee07 3a90 vmov s15, r3 805d74c: eeb8 7a67 vcvt.f32.u32 s14, s15 805d750: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805d754: eec6 7a87 vdiv.f32 s15, s13, s14 805d758: edc7 7a86 vstr s15, [r7, #536] ; 0x218 ARM_ADD_F32(IN_Reg, MEAN_Reg, MEAN_Reg, _2Ns); 805d75c: 4bad ldr r3, [pc, #692] ; (805da14 ) 805d75e: 681b ldr r3, [r3, #0] 805d760: 005b lsls r3, r3, #1 805d762: 2203 movs r2, #3 805d764: 2103 movs r1, #3 805d766: 2001 movs r0, #1 805d768: f006 fe92 bl 8064490 ARM_SCALE_F32(MEAN_Reg, scale, IN_Reg, _2Ns); 805d76c: 4ba9 ldr r3, [pc, #676] ; (805da14 ) 805d76e: 681b ldr r3, [r3, #0] 805d770: 005b lsls r3, r3, #1 805d772: 461a mov r2, r3 805d774: 2101 movs r1, #1 805d776: ed97 0a86 vldr s0, [r7, #536] ; 0x218 805d77a: 2003 movs r0, #3 805d77c: f006 ff0e bl 806459c } } if(pardata.IPR > ACC) { 805d780: 4ba5 ldr r3, [pc, #660] ; (805da18 ) 805d782: 785b ldrb r3, [r3, #1] 805d784: b2db uxtb r3, r3 805d786: 2b00 cmp r3, #0 805d788: d001 beq.n 805d78e INTEGR_NEW(); 805d78a: f007 fb03 bl 8064d94 } if(MeanCnt == AVG[pardata.AVG]) 805d78e: 4ba2 ldr r3, [pc, #648] ; (805da18 ) 805d790: 7b5b ldrb r3, [r3, #13] 805d792: b2db uxtb r3, r3 805d794: 461a mov r2, r3 805d796: 4ba1 ldr r3, [pc, #644] ; (805da1c ) 805d798: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805d79c: 461a mov r2, r3 805d79e: 4b9c ldr r3, [pc, #624] ; (805da10 ) 805d7a0: 681b ldr r3, [r3, #0] 805d7a2: 429a cmp r2, r3 805d7a4: f040 8087 bne.w 805d8b6 { In[0] = 0.0f; 805d7a8: 4b9d ldr r3, [pc, #628] ; (805da20 ) 805d7aa: f04f 0200 mov.w r2, #0 805d7ae: 601a str r2, [r3, #0] arm_power_f32(In, (Ns >> 1), &skz[pardata.IPR]); 805d7b0: 4b98 ldr r3, [pc, #608] ; (805da14 ) 805d7b2: 681b ldr r3, [r3, #0] 805d7b4: 0859 lsrs r1, r3, #1 805d7b6: 4b98 ldr r3, [pc, #608] ; (805da18 ) 805d7b8: 785b ldrb r3, [r3, #1] 805d7ba: b2db uxtb r3, r3 805d7bc: 009b lsls r3, r3, #2 805d7be: 4a99 ldr r2, [pc, #612] ; (805da24 ) 805d7c0: 4413 add r3, r2 805d7c2: 461a mov r2, r3 805d7c4: 4896 ldr r0, [pc, #600] ; (805da20 ) 805d7c6: f06c fbbf bl 80c9f48 skz[pardata.IPR] *= 0.5f; 805d7ca: 4b93 ldr r3, [pc, #588] ; (805da18 ) 805d7cc: 785b ldrb r3, [r3, #1] 805d7ce: b2db uxtb r3, r3 805d7d0: 4619 mov r1, r3 805d7d2: 4a94 ldr r2, [pc, #592] ; (805da24 ) 805d7d4: 009b lsls r3, r3, #2 805d7d6: 4413 add r3, r2 805d7d8: edd3 7a00 vldr s15, [r3] 805d7dc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 805d7e0: ee67 7a87 vmul.f32 s15, s15, s14 805d7e4: 4a8f ldr r2, [pc, #572] ; (805da24 ) 805d7e6: 008b lsls r3, r1, #2 805d7e8: 4413 add r3, r2 805d7ea: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(skz[pardata.IPR], &skz[pardata.IPR]); 805d7ee: 4b8a ldr r3, [pc, #552] ; (805da18 ) 805d7f0: 785b ldrb r3, [r3, #1] 805d7f2: b2db uxtb r3, r3 805d7f4: 4a8b ldr r2, [pc, #556] ; (805da24 ) 805d7f6: 009b lsls r3, r3, #2 805d7f8: 4413 add r3, r2 805d7fa: edd3 7a00 vldr s15, [r3] 805d7fe: 4b86 ldr r3, [pc, #536] ; (805da18 ) 805d800: 785b ldrb r3, [r3, #1] 805d802: b2db uxtb r3, r3 805d804: 009b lsls r3, r3, #2 805d806: 4a87 ldr r2, [pc, #540] ; (805da24 ) 805d808: 4413 add r3, r2 805d80a: 4618 mov r0, r3 805d80c: eeb0 0a67 vmov.f32 s0, s15 805d810: f7f8 f8ea bl 80559e8 if(pardata.WIN == HANN) { 805d814: 4b80 ldr r3, [pc, #512] ; (805da18 ) 805d816: 7a5b ldrb r3, [r3, #9] 805d818: b2db uxtb r3, r3 805d81a: 2b01 cmp r3, #1 805d81c: d111 bne.n 805d842 skz[pardata.IPR] *= 1.64f; 805d81e: 4b7e ldr r3, [pc, #504] ; (805da18 ) 805d820: 785b ldrb r3, [r3, #1] 805d822: b2db uxtb r3, r3 805d824: 4619 mov r1, r3 805d826: 4a7f ldr r2, [pc, #508] ; (805da24 ) 805d828: 009b lsls r3, r3, #2 805d82a: 4413 add r3, r2 805d82c: edd3 7a00 vldr s15, [r3] 805d830: ed9f 7a7d vldr s14, [pc, #500] ; 805da28 805d834: ee67 7a87 vmul.f32 s15, s15, s14 805d838: 4a7a ldr r2, [pc, #488] ; (805da24 ) 805d83a: 008b lsls r3, r1, #2 805d83c: 4413 add r3, r2 805d83e: edc3 7a00 vstr s15, [r3] } FastCopy16(IN_Reg, SCR_Reg, Ns); 805d842: 4b74 ldr r3, [pc, #464] ; (805da14 ) 805d844: 681b ldr r3, [r3, #0] 805d846: 461a mov r2, r3 805d848: 2104 movs r1, #4 805d84a: 2001 movs r0, #1 805d84c: f006 fd94 bl 8064378 if(pardata.IIN != VOLTS) 805d850: 4b71 ldr r3, [pc, #452] ; (805da18 ) 805d852: 799b ldrb r3, [r3, #6] 805d854: b2db uxtb r3, r3 805d856: 2b02 cmp r3, #2 805d858: d00f beq.n 805d87a LinToLog(&skz[pardata.IPR], &skzDB[pardata.IPR]); 805d85a: 4b6f ldr r3, [pc, #444] ; (805da18 ) 805d85c: 785b ldrb r3, [r3, #1] 805d85e: b2db uxtb r3, r3 805d860: 009b lsls r3, r3, #2 805d862: 4a70 ldr r2, [pc, #448] ; (805da24 ) 805d864: 1898 adds r0, r3, r2 805d866: 4b6c ldr r3, [pc, #432] ; (805da18 ) 805d868: 785b ldrb r3, [r3, #1] 805d86a: b2db uxtb r3, r3 805d86c: 009b lsls r3, r3, #2 805d86e: 4a6f ldr r2, [pc, #444] ; (805da2c ) 805d870: 4413 add r3, r2 805d872: 4619 mov r1, r3 805d874: f007 fb34 bl 8064ee0 805d878: e011 b.n 805d89e else LinToLog_mV(&skz[pardata.IPR], &skzDB[pardata.IPR], pardata.IPR); 805d87a: 4b67 ldr r3, [pc, #412] ; (805da18 ) 805d87c: 785b ldrb r3, [r3, #1] 805d87e: b2db uxtb r3, r3 805d880: 009b lsls r3, r3, #2 805d882: 4a68 ldr r2, [pc, #416] ; (805da24 ) 805d884: 1898 adds r0, r3, r2 805d886: 4b64 ldr r3, [pc, #400] ; (805da18 ) 805d888: 785b ldrb r3, [r3, #1] 805d88a: b2db uxtb r3, r3 805d88c: 009b lsls r3, r3, #2 805d88e: 4a67 ldr r2, [pc, #412] ; (805da2c ) 805d890: 1899 adds r1, r3, r2 805d892: 4b61 ldr r3, [pc, #388] ; (805da18 ) 805d894: 785b ldrb r3, [r3, #1] 805d896: b2db uxtb r3, r3 805d898: 461a mov r2, r3 805d89a: f007 fb51 bl 8064f40 MeanCnt = 0; 805d89e: 4b5c ldr r3, [pc, #368] ; (805da10 ) 805d8a0: 2200 movs r2, #0 805d8a2: 601a str r2, [r3, #0] READY_TO_SEE = true; 805d8a4: 4b62 ldr r3, [pc, #392] ; (805da30 ) 805d8a6: 2201 movs r2, #1 805d8a8: 701a strb r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 805d8aa: e004 b.n 805d8b6 } } else { RepeatKm = true; 805d8ac: 4b61 ldr r3, [pc, #388] ; (805da34 ) 805d8ae: 2201 movs r2, #1 805d8b0: 701a strb r2, [r3, #0] } } break; 805d8b2: f006 bc1a b.w 80640ea 805d8b6: f006 bc18 b.w 80640ea case SPEC_OKT: if(measuring) 805d8ba: 4b5f ldr r3, [pc, #380] ; (805da38 ) 805d8bc: 781b ldrb r3, [r3, #0] 805d8be: b2db uxtb r3, r3 805d8c0: 2b00 cmp r3, #0 805d8c2: f006 8414 beq.w 80640ee { GetData(); 805d8c6: f006 fecd bl 8064664 j = 0; 805d8ca: 2300 movs r3, #0 805d8cc: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805d8d0: 4b51 ldr r3, [pc, #324] ; (805da18 ) 805d8d2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805d8d6: f003 0304 and.w r3, r3, #4 805d8da: 2b00 cmp r3, #0 805d8dc: d005 beq.n 805d8ea CalculateGain(Ns); 805d8de: 4b4d ldr r3, [pc, #308] ; (805da14 ) 805d8e0: 681b ldr r3, [r3, #0] 805d8e2: 4618 mov r0, r3 805d8e4: f7f8 f8a2 bl 8055a2c 805d8e8: e02e b.n 805d948 else { Stability = (Nr * 4) + 1; 805d8ea: 4b54 ldr r3, [pc, #336] ; (805da3c ) 805d8ec: 881b ldrh r3, [r3, #0] 805d8ee: b29b uxth r3, r3 805d8f0: 009b lsls r3, r3, #2 805d8f2: 3301 adds r3, #1 805d8f4: 461a mov r2, r3 805d8f6: 4b52 ldr r3, [pc, #328] ; (805da40 ) 805d8f8: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805d8fa: 2300 movs r3, #0 805d8fc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d900: e011 b.n 805d926 { if(In16[i].lg > 0xE00000) 805d902: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d906: 4a4f ldr r2, [pc, #316] ; (805da44 ) 805d908: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805d90c: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805d910: d904 bls.n 805d91c j++; 805d912: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805d916: 3301 adds r3, #1 805d918: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805d91c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805d920: 3301 adds r3, #1 805d922: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805d926: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805d92a: 4b3a ldr r3, [pc, #232] ; (805da14 ) 805d92c: 681b ldr r3, [r3, #0] 805d92e: 429a cmp r2, r3 805d930: d3e7 bcc.n 805d902 } if(j >= 2) 805d932: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805d936: 2b01 cmp r3, #1 805d938: d903 bls.n 805d942 OVERDRIVE = true; 805d93a: 4b43 ldr r3, [pc, #268] ; (805da48 ) 805d93c: 2201 movs r2, #1 805d93e: 701a strb r2, [r3, #0] 805d940: e002 b.n 805d948 else OVERDRIVE = false; 805d942: 4b41 ldr r3, [pc, #260] ; (805da48 ) 805d944: 2200 movs r2, #0 805d946: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805d948: 4b40 ldr r3, [pc, #256] ; (805da4c ) 805d94a: 781b ldrb r3, [r3, #0] 805d94c: b2db uxtb r3, r3 805d94e: 2b00 cmp r3, #0 805d950: d00a beq.n 805d968 { Stability = 0; 805d952: 4b3b ldr r3, [pc, #236] ; (805da40 ) 805d954: 2200 movs r2, #0 805d956: 601a str r2, [r3, #0] MeanCnt = 0; 805d958: 4b2d ldr r3, [pc, #180] ; (805da10 ) 805d95a: 2200 movs r2, #0 805d95c: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805d95e: 4b3c ldr r3, [pc, #240] ; (805da50 ) 805d960: f04f 32ff mov.w r2, #4294967295 805d964: 601a str r2, [r3, #0] 805d966: e00d b.n 805d984 } else { if(Stability <= (Nr * 4)) 805d968: 4b34 ldr r3, [pc, #208] ; (805da3c ) 805d96a: 881b ldrh r3, [r3, #0] 805d96c: b29b uxth r3, r3 805d96e: 009b lsls r3, r3, #2 805d970: 461a mov r2, r3 805d972: 4b33 ldr r3, [pc, #204] ; (805da40 ) 805d974: 681b ldr r3, [r3, #0] 805d976: 429a cmp r2, r3 805d978: d304 bcc.n 805d984 Stability++; 805d97a: 4b31 ldr r3, [pc, #196] ; (805da40 ) 805d97c: 681b ldr r3, [r3, #0] 805d97e: 3301 adds r3, #1 805d980: 4a2f ldr r2, [pc, #188] ; (805da40 ) 805d982: 6013 str r3, [r2, #0] } float32_t Octaves[15]; if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805d984: 4b31 ldr r3, [pc, #196] ; (805da4c ) 805d986: 781b ldrb r3, [r3, #0] 805d988: b2db uxtb r3, r3 805d98a: 2b00 cmp r3, #0 805d98c: f041 835b bne.w 805f046 805d990: 4b2a ldr r3, [pc, #168] ; (805da3c ) 805d992: 881b ldrh r3, [r3, #0] 805d994: b29b uxth r3, r3 805d996: 009b lsls r3, r3, #2 805d998: 461a mov r2, r3 805d99a: 4b29 ldr r3, [pc, #164] ; (805da40 ) 805d99c: 681b ldr r3, [r3, #0] 805d99e: 429a cmp r2, r3 805d9a0: f081 8351 bcs.w 805f046 { uint64_t cntcnt = DWT->CYCCNT; 805d9a4: 4b2b ldr r3, [pc, #172] ; (805da54 ) 805d9a6: 685b ldr r3, [r3, #4] 805d9a8: f04f 0400 mov.w r4, #0 805d9ac: f507 72f8 add.w r2, r7, #496 ; 0x1f0 805d9b0: e882 0018 stmia.w r2, {r3, r4} fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805d9b4: 4b17 ldr r3, [pc, #92] ; (805da14 ) 805d9b6: 681b ldr r3, [r3, #0] 805d9b8: 085b lsrs r3, r3, #1 805d9ba: ee07 3a90 vmov s15, r3 805d9be: eeb8 7a67 vcvt.f32.u32 s14, s15 805d9c2: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805d9c6: eec6 7a87 vdiv.f32 s15, s13, s14 805d9ca: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805d9ce: 4b22 ldr r3, [pc, #136] ; (805da58 ) 805d9d0: edd3 7a00 vldr s15, [r3] 805d9d4: eeb7 7ae7 vcvt.f64.f32 d7, s15 805d9d8: ed9f 6b0b vldr d6, [pc, #44] ; 805da08 805d9dc: ee27 7b06 vmul.f64 d7, d7, d6 805d9e0: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805d9e4: 4b0c ldr r3, [pc, #48] ; (805da18 ) 805d9e6: edd3 7a04 vldr s15, [r3, #16] 805d9ea: eeb7 6ae7 vcvt.f64.f32 d6, s15 805d9ee: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805d9f2: ee85 7b06 vdiv.f64 d7, d5, d6 805d9f6: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805d9fa: 2300 movs r3, #0 805d9fc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805da00: e053 b.n 805daaa 805da02: bf00 nop 805da04: f3af 8000 nop.w 805da08: 18000018 .word 0x18000018 805da0c: 3e980000 .word 0x3e980000 805da10: 20020db8 .word 0x20020db8 805da14: 20021cdc .word 0x20021cdc 805da18: 20023e60 .word 0x20023e60 805da1c: 080eeb38 .word 0x080eeb38 805da20: 200279c0 .word 0x200279c0 805da24: 20021540 .word 0x20021540 805da28: 3fd1eb85 .word 0x3fd1eb85 805da2c: 2002154c .word 0x2002154c 805da30: 20020d8e .word 0x20020d8e 805da34: 20020dac .word 0x20020dac 805da38: 20020daf .word 0x20020daf 805da3c: 20021d20 .word 0x20021d20 805da40: 20020da8 .word 0x20020da8 805da44: 20058020 .word 0x20058020 805da48: 20021531 .word 0x20021531 805da4c: 20020d7e .word 0x20020d7e 805da50: 20020d88 .word 0x20020d88 805da54: e0001000 .word 0xe0001000 805da58: 20020080 .word 0x20020080 { Buff64[i] = (float64_t) In16[i].lg; 805da5c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805da60: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805da64: 49b8 ldr r1, [pc, #736] ; (805dd48 ) 805da66: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805da6a: ee07 2a90 vmov s15, r2 805da6e: eeb8 7b67 vcvt.f64.u32 d7, s15 805da72: 4ab6 ldr r2, [pc, #728] ; (805dd4c ) 805da74: 00db lsls r3, r3, #3 805da76: 4413 add r3, r2 805da78: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805da7c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805da80: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805da84: 49b1 ldr r1, [pc, #708] ; (805dd4c ) 805da86: 00d2 lsls r2, r2, #3 805da88: 440a add r2, r1 805da8a: ed92 6b00 vldr d6, [r2] 805da8e: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805da92: ee26 7b07 vmul.f64 d7, d6, d7 805da96: 4aad ldr r2, [pc, #692] ; (805dd4c ) 805da98: 00db lsls r3, r3, #3 805da9a: 4413 add r3, r2 805da9c: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805daa0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805daa4: 3301 adds r3, #1 805daa6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805daaa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805daae: 4ba8 ldr r3, [pc, #672] ; (805dd50 ) 805dab0: 681b ldr r3, [r3, #0] 805dab2: 429a cmp r2, r3 805dab4: d3d2 bcc.n 805da5c } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805dab6: 4ba6 ldr r3, [pc, #664] ; (805dd50 ) 805dab8: 681b ldr r3, [r3, #0] 805daba: 4aa4 ldr r2, [pc, #656] ; (805dd4c ) 805dabc: 49a3 ldr r1, [pc, #652] ; (805dd4c ) 805dabe: 48a5 ldr r0, [pc, #660] ; (805dd54 ) 805dac0: f06c fb8c bl 80ca1dc if(pardata.IPR == ACC) 805dac4: 4ba4 ldr r3, [pc, #656] ; (805dd58 ) 805dac6: 785b ldrb r3, [r3, #1] 805dac8: b2db uxtb r3, r3 805daca: 2b00 cmp r3, #0 805dacc: d107 bne.n 805dade { arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805dace: 4ba0 ldr r3, [pc, #640] ; (805dd50 ) 805dad0: 681b ldr r3, [r3, #0] 805dad2: 4a9e ldr r2, [pc, #632] ; (805dd4c ) 805dad4: 499d ldr r1, [pc, #628] ; (805dd4c ) 805dad6: 48a1 ldr r0, [pc, #644] ; (805dd5c ) 805dad8: f06c fb80 bl 80ca1dc 805dadc: e026 b.n 805db2c } else if(pardata.IPR == VEL) 805dade: 4b9e ldr r3, [pc, #632] ; (805dd58 ) 805dae0: 785b ldrb r3, [r3, #1] 805dae2: b2db uxtb r3, r3 805dae4: 2b01 cmp r3, #1 805dae6: d10e bne.n 805db06 { arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, Buff64, Ns); 805dae8: 4b99 ldr r3, [pc, #612] ; (805dd50 ) 805daea: 681b ldr r3, [r3, #0] 805daec: 4a97 ldr r2, [pc, #604] ; (805dd4c ) 805daee: 4997 ldr r1, [pc, #604] ; (805dd4c ) 805daf0: 489b ldr r0, [pc, #620] ; (805dd60 ) 805daf2: f06c fb73 bl 80ca1dc arm_biquad_cascade_df2T_f64(&S_HP_VEL, Buff64, Buff64, Ns); 805daf6: 4b96 ldr r3, [pc, #600] ; (805dd50 ) 805daf8: 681b ldr r3, [r3, #0] 805dafa: 4a94 ldr r2, [pc, #592] ; (805dd4c ) 805dafc: 4993 ldr r1, [pc, #588] ; (805dd4c ) 805dafe: 4899 ldr r0, [pc, #612] ; (805dd64 ) 805db00: f06c fb6c bl 80ca1dc 805db04: e012 b.n 805db2c } else if(pardata.IPR == DIS) 805db06: 4b94 ldr r3, [pc, #592] ; (805dd58 ) 805db08: 785b ldrb r3, [r3, #1] 805db0a: b2db uxtb r3, r3 805db0c: 2b02 cmp r3, #2 805db0e: d10d bne.n 805db2c { arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, Buff64, Ns); 805db10: 4b8f ldr r3, [pc, #572] ; (805dd50 ) 805db12: 681b ldr r3, [r3, #0] 805db14: 4a8d ldr r2, [pc, #564] ; (805dd4c ) 805db16: 498d ldr r1, [pc, #564] ; (805dd4c ) 805db18: 4893 ldr r0, [pc, #588] ; (805dd68 ) 805db1a: f06c fb5f bl 80ca1dc arm_biquad_cascade_df2T_f64(&S_HP_DIS, Buff64, Buff64, Ns); 805db1e: 4b8c ldr r3, [pc, #560] ; (805dd50 ) 805db20: 681b ldr r3, [r3, #0] 805db22: 4a8a ldr r2, [pc, #552] ; (805dd4c ) 805db24: 4989 ldr r1, [pc, #548] ; (805dd4c ) 805db26: 4891 ldr r0, [pc, #580] ; (805dd6c ) 805db28: f06c fb58 bl 80ca1dc } //** 8000 arm_biquad_cascade_df2T_f64(&S_IIR_8000Hz, &Buff64[0], &Buff64[Ns], 8192); 805db2c: 4b88 ldr r3, [pc, #544] ; (805dd50 ) 805db2e: 681b ldr r3, [r3, #0] 805db30: 00db lsls r3, r3, #3 805db32: 4a86 ldr r2, [pc, #536] ; (805dd4c ) 805db34: 441a add r2, r3 805db36: f44f 5300 mov.w r3, #8192 ; 0x2000 805db3a: 4984 ldr r1, [pc, #528] ; (805dd4c ) 805db3c: 488c ldr r0, [pc, #560] ; (805dd70 ) 805db3e: f06c fb4d bl 80ca1dc for(i = 0; i < 8192; i++) { 805db42: 2300 movs r3, #0 805db44: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805db48: e017 b.n 805db7a In[i] = (float32_t) Buff64[Ns + i]; 805db4a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805db4e: 4a80 ldr r2, [pc, #512] ; (805dd50 ) 805db50: 6811 ldr r1, [r2, #0] 805db52: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805db56: 440a add r2, r1 805db58: 497c ldr r1, [pc, #496] ; (805dd4c ) 805db5a: 00d2 lsls r2, r2, #3 805db5c: 440a add r2, r1 805db5e: ed92 7b00 vldr d7, [r2] 805db62: eef7 7bc7 vcvt.f32.f64 s15, d7 805db66: 4a83 ldr r2, [pc, #524] ; (805dd74 ) 805db68: 009b lsls r3, r3, #2 805db6a: 4413 add r3, r2 805db6c: edc3 7a00 vstr s15, [r3] for(i = 0; i < 8192; i++) { 805db70: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805db74: 3301 adds r3, #1 805db76: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805db7a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805db7e: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 805db82: d3e2 bcc.n 805db4a } if(pardata.IVS[pardata.IPR] == RMS) 805db84: 4b74 ldr r3, [pc, #464] ; (805dd58 ) 805db86: 785b ldrb r3, [r3, #1] 805db88: b2db uxtb r3, r3 805db8a: 461a mov r2, r3 805db8c: 4b72 ldr r3, [pc, #456] ; (805dd58 ) 805db8e: 4413 add r3, r2 805db90: 789b ldrb r3, [r3, #2] 805db92: b2db uxtb r3, r3 805db94: 2b01 cmp r3, #1 805db96: d108 bne.n 805dbaa arm_rms_f32(In, 8192, &Octaves[13]); 805db98: 463b mov r3, r7 805db9a: 3334 adds r3, #52 ; 0x34 805db9c: 461a mov r2, r3 805db9e: f44f 5100 mov.w r1, #8192 ; 0x2000 805dba2: 4874 ldr r0, [pc, #464] ; (805dd74 ) 805dba4: f06c f978 bl 80c9e98 805dba8: e03e b.n 805dc28 else { arm_min_f32(In, 8192, &fn[0], &i); 805dbaa: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805dbae: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805dbb2: f44f 5100 mov.w r1, #8192 ; 0x2000 805dbb6: 486f ldr r0, [pc, #444] ; (805dd74 ) 805dbb8: f06c fa00 bl 80c9fbc arm_max_f32(In, 8192, &fn[1], &j); 805dbbc: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805dbc0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805dbc4: 1d1a adds r2, r3, #4 805dbc6: 460b mov r3, r1 805dbc8: f44f 5100 mov.w r1, #8192 ; 0x2000 805dbcc: 4869 ldr r0, [pc, #420] ; (805dd74 ) 805dbce: f06c fa91 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805dbd2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dbd6: eef5 7ac0 vcmpe.f32 s15, #0.0 805dbda: eef1 fa10 vmrs APSR_nzcv, fpscr 805dbde: dd02 ble.n 805dbe6 805dbe0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dbe4: e003 b.n 805dbee 805dbe6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dbea: eef1 7a67 vneg.f32 s15, s15 805dbee: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805dbf2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dbf6: eef5 7ac0 vcmpe.f32 s15, #0.0 805dbfa: eef1 fa10 vmrs APSR_nzcv, fpscr 805dbfe: dd02 ble.n 805dc06 805dc00: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dc04: e003 b.n 805dc0e 805dc06: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dc0a: eef1 7a67 vneg.f32 s15, s15 805dc0e: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[13], &j); 805dc12: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805dc16: 463b mov r3, r7 805dc18: f103 0234 add.w r2, r3, #52 ; 0x34 805dc1c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805dc20: 460b mov r3, r1 805dc22: 2102 movs r1, #2 805dc24: f06c fa66 bl 80ca0f4 }*/ //** 4000 arm_biquad_cascade_df2T_f64(&S_LP_4000, &Buff64[0], &Buff64[0], 8192); 805dc28: f44f 5300 mov.w r3, #8192 ; 0x2000 805dc2c: 4a47 ldr r2, [pc, #284] ; (805dd4c ) 805dc2e: 4947 ldr r1, [pc, #284] ; (805dd4c ) 805dc30: 4851 ldr r0, [pc, #324] ; (805dd78 ) 805dc32: f06c fad3 bl 80ca1dc for(i = 0; i < 4096; i++) { 805dc36: 2300 movs r3, #0 805dc38: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dc3c: e012 b.n 805dc64 Buff64[i] = Buff64[i << 1]; 805dc3e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805dc42: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc46: 005b lsls r3, r3, #1 805dc48: 4940 ldr r1, [pc, #256] ; (805dd4c ) 805dc4a: 00db lsls r3, r3, #3 805dc4c: 440b add r3, r1 805dc4e: cb18 ldmia r3, {r3, r4} 805dc50: 493e ldr r1, [pc, #248] ; (805dd4c ) 805dc52: 00d2 lsls r2, r2, #3 805dc54: 440a add r2, r1 805dc56: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 4096; i++) { 805dc5a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc5e: 3301 adds r3, #1 805dc60: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dc64: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc68: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 805dc6c: d3e7 bcc.n 805dc3e } arm_biquad_cascade_df2T_f64(&S_IIR_4000Hz, &Buff64[0], &Buff64[Ns], 4096); 805dc6e: 4b38 ldr r3, [pc, #224] ; (805dd50 ) 805dc70: 681b ldr r3, [r3, #0] 805dc72: 00db lsls r3, r3, #3 805dc74: 4a35 ldr r2, [pc, #212] ; (805dd4c ) 805dc76: 441a add r2, r3 805dc78: f44f 5380 mov.w r3, #4096 ; 0x1000 805dc7c: 4933 ldr r1, [pc, #204] ; (805dd4c ) 805dc7e: 483f ldr r0, [pc, #252] ; (805dd7c ) 805dc80: f06c faac bl 80ca1dc for(i = 0; i < 4096; i++) { 805dc84: 2300 movs r3, #0 805dc86: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dc8a: e017 b.n 805dcbc In[i] = (float32_t) Buff64[Ns + i]; 805dc8c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dc90: 4a2f ldr r2, [pc, #188] ; (805dd50 ) 805dc92: 6811 ldr r1, [r2, #0] 805dc94: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805dc98: 440a add r2, r1 805dc9a: 492c ldr r1, [pc, #176] ; (805dd4c ) 805dc9c: 00d2 lsls r2, r2, #3 805dc9e: 440a add r2, r1 805dca0: ed92 7b00 vldr d7, [r2] 805dca4: eef7 7bc7 vcvt.f32.f64 s15, d7 805dca8: 4a32 ldr r2, [pc, #200] ; (805dd74 ) 805dcaa: 009b lsls r3, r3, #2 805dcac: 4413 add r3, r2 805dcae: edc3 7a00 vstr s15, [r3] for(i = 0; i < 4096; i++) { 805dcb2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dcb6: 3301 adds r3, #1 805dcb8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805dcbc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dcc0: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 805dcc4: d3e2 bcc.n 805dc8c } if(pardata.IVS[pardata.IPR] == RMS) 805dcc6: 4b24 ldr r3, [pc, #144] ; (805dd58 ) 805dcc8: 785b ldrb r3, [r3, #1] 805dcca: b2db uxtb r3, r3 805dccc: 461a mov r2, r3 805dcce: 4b22 ldr r3, [pc, #136] ; (805dd58 ) 805dcd0: 4413 add r3, r2 805dcd2: 789b ldrb r3, [r3, #2] 805dcd4: b2db uxtb r3, r3 805dcd6: 2b01 cmp r3, #1 805dcd8: d108 bne.n 805dcec arm_rms_f32(In, 4096, &Octaves[12]); 805dcda: 463b mov r3, r7 805dcdc: 3330 adds r3, #48 ; 0x30 805dcde: 461a mov r2, r3 805dce0: f44f 5180 mov.w r1, #4096 ; 0x1000 805dce4: 4823 ldr r0, [pc, #140] ; (805dd74 ) 805dce6: f06c f8d7 bl 80c9e98 805dcea: e05a b.n 805dda2 else { arm_min_f32(In, 4096, &fn[0], &i); 805dcec: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805dcf0: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805dcf4: f44f 5180 mov.w r1, #4096 ; 0x1000 805dcf8: 481e ldr r0, [pc, #120] ; (805dd74 ) 805dcfa: f06c f95f bl 80c9fbc arm_max_f32(In, 4096, &fn[1], &j); 805dcfe: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805dd02: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805dd06: 1d1a adds r2, r3, #4 805dd08: 460b mov r3, r1 805dd0a: f44f 5180 mov.w r1, #4096 ; 0x1000 805dd0e: 4819 ldr r0, [pc, #100] ; (805dd74 ) 805dd10: f06c f9f0 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805dd14: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dd18: eef5 7ac0 vcmpe.f32 s15, #0.0 805dd1c: eef1 fa10 vmrs APSR_nzcv, fpscr 805dd20: dd02 ble.n 805dd28 805dd22: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dd26: e003 b.n 805dd30 805dd28: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dd2c: eef1 7a67 vneg.f32 s15, s15 805dd30: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805dd34: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dd38: eef5 7ac0 vcmpe.f32 s15, #0.0 805dd3c: eef1 fa10 vmrs APSR_nzcv, fpscr 805dd40: dd1e ble.n 805dd80 805dd42: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dd46: e01f b.n 805dd88 805dd48: 20058020 .word 0x20058020 805dd4c: 20037ae0 .word 0x20037ae0 805dd50: 20021cdc .word 0x20021cdc 805dd54: 20026564 .word 0x20026564 805dd58: 20023e60 .word 0x20023e60 805dd5c: 20025f00 .word 0x20025f00 805dd60: 20026170 .word 0x20026170 805dd64: 20025e78 .word 0x20025e78 805dd68: 200278c4 .word 0x200278c4 805dd6c: 20027950 .word 0x20027950 805dd70: 20025dec .word 0x20025dec 805dd74: 200279c0 .word 0x200279c0 805dd78: 20026cd4 .word 0x20026cd4 805dd7c: 20057b90 .word 0x20057b90 805dd80: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dd84: eef1 7a67 vneg.f32 s15, s15 805dd88: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[12], &j); 805dd8c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805dd90: 463b mov r3, r7 805dd92: f103 0230 add.w r2, r3, #48 ; 0x30 805dd96: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805dd9a: 460b mov r3, r1 805dd9c: 2102 movs r1, #2 805dd9e: f06c f9a9 bl 80ca0f4 } //** 2000 arm_biquad_cascade_df2T_f64(&S_LP_2000, &Buff64[0], &Buff64[0], 4096); 805dda2: f44f 5380 mov.w r3, #4096 ; 0x1000 805dda6: 4ab9 ldr r2, [pc, #740] ; (805e08c ) 805dda8: 49b8 ldr r1, [pc, #736] ; (805e08c ) 805ddaa: 48b9 ldr r0, [pc, #740] ; (805e090 ) 805ddac: f06c fa16 bl 80ca1dc for(i = 0; i < 2048; i++) { 805ddb0: 2300 movs r3, #0 805ddb2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ddb6: e012 b.n 805ddde Buff64[i] = Buff64[i << 1]; 805ddb8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ddbc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ddc0: 005b lsls r3, r3, #1 805ddc2: 49b2 ldr r1, [pc, #712] ; (805e08c ) 805ddc4: 00db lsls r3, r3, #3 805ddc6: 440b add r3, r1 805ddc8: cb18 ldmia r3, {r3, r4} 805ddca: 49b0 ldr r1, [pc, #704] ; (805e08c ) 805ddcc: 00d2 lsls r2, r2, #3 805ddce: 440a add r2, r1 805ddd0: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 2048; i++) { 805ddd4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ddd8: 3301 adds r3, #1 805ddda: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ddde: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805dde2: f5b3 6f00 cmp.w r3, #2048 ; 0x800 805dde6: d3e7 bcc.n 805ddb8 } arm_biquad_cascade_df2T_f64(&S_IIR_2000Hz, &Buff64[0], &Buff64[Ns], 2048); 805dde8: 4baa ldr r3, [pc, #680] ; (805e094 ) 805ddea: 681b ldr r3, [r3, #0] 805ddec: 00db lsls r3, r3, #3 805ddee: 4aa7 ldr r2, [pc, #668] ; (805e08c ) 805ddf0: 441a add r2, r3 805ddf2: f44f 6300 mov.w r3, #2048 ; 0x800 805ddf6: 49a5 ldr r1, [pc, #660] ; (805e08c ) 805ddf8: 48a7 ldr r0, [pc, #668] ; (805e098 ) 805ddfa: f06c f9ef bl 80ca1dc for(i = 0; i < 2048; i++) { 805ddfe: 2300 movs r3, #0 805de00: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805de04: e017 b.n 805de36 In[i] = (float32_t) Buff64[Ns + i]; 805de06: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805de0a: 4aa2 ldr r2, [pc, #648] ; (805e094 ) 805de0c: 6811 ldr r1, [r2, #0] 805de0e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805de12: 440a add r2, r1 805de14: 499d ldr r1, [pc, #628] ; (805e08c ) 805de16: 00d2 lsls r2, r2, #3 805de18: 440a add r2, r1 805de1a: ed92 7b00 vldr d7, [r2] 805de1e: eef7 7bc7 vcvt.f32.f64 s15, d7 805de22: 4a9e ldr r2, [pc, #632] ; (805e09c ) 805de24: 009b lsls r3, r3, #2 805de26: 4413 add r3, r2 805de28: edc3 7a00 vstr s15, [r3] for(i = 0; i < 2048; i++) { 805de2c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805de30: 3301 adds r3, #1 805de32: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805de36: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805de3a: f5b3 6f00 cmp.w r3, #2048 ; 0x800 805de3e: d3e2 bcc.n 805de06 } if(pardata.IVS[pardata.IPR] == RMS) 805de40: 4b97 ldr r3, [pc, #604] ; (805e0a0 ) 805de42: 785b ldrb r3, [r3, #1] 805de44: b2db uxtb r3, r3 805de46: 461a mov r2, r3 805de48: 4b95 ldr r3, [pc, #596] ; (805e0a0 ) 805de4a: 4413 add r3, r2 805de4c: 789b ldrb r3, [r3, #2] 805de4e: b2db uxtb r3, r3 805de50: 2b01 cmp r3, #1 805de52: d108 bne.n 805de66 arm_rms_f32(In, 2048, &Octaves[11]); 805de54: 463b mov r3, r7 805de56: 332c adds r3, #44 ; 0x2c 805de58: 461a mov r2, r3 805de5a: f44f 6100 mov.w r1, #2048 ; 0x800 805de5e: 488f ldr r0, [pc, #572] ; (805e09c ) 805de60: f06c f81a bl 80c9e98 805de64: e03e b.n 805dee4 else { arm_min_f32(In, 2048, &fn[0], &i); 805de66: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805de6a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805de6e: f44f 6100 mov.w r1, #2048 ; 0x800 805de72: 488a ldr r0, [pc, #552] ; (805e09c ) 805de74: f06c f8a2 bl 80c9fbc arm_max_f32(In, 2048, &fn[1], &j); 805de78: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805de7c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805de80: 1d1a adds r2, r3, #4 805de82: 460b mov r3, r1 805de84: f44f 6100 mov.w r1, #2048 ; 0x800 805de88: 4884 ldr r0, [pc, #528] ; (805e09c ) 805de8a: f06c f933 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805de8e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805de92: eef5 7ac0 vcmpe.f32 s15, #0.0 805de96: eef1 fa10 vmrs APSR_nzcv, fpscr 805de9a: dd02 ble.n 805dea2 805de9c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dea0: e003 b.n 805deaa 805dea2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dea6: eef1 7a67 vneg.f32 s15, s15 805deaa: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805deae: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805deb2: eef5 7ac0 vcmpe.f32 s15, #0.0 805deb6: eef1 fa10 vmrs APSR_nzcv, fpscr 805deba: dd02 ble.n 805dec2 805debc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dec0: e003 b.n 805deca 805dec2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dec6: eef1 7a67 vneg.f32 s15, s15 805deca: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[11], &j); 805dece: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ded2: 463b mov r3, r7 805ded4: f103 022c add.w r2, r3, #44 ; 0x2c 805ded8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805dedc: 460b mov r3, r1 805dede: 2102 movs r1, #2 805dee0: f06c f908 bl 80ca0f4 } //** 1000 arm_biquad_cascade_df2T_f64(&S_LP_1000, &Buff64[0], &Buff64[0], 2048); 805dee4: f44f 6300 mov.w r3, #2048 ; 0x800 805dee8: 4a68 ldr r2, [pc, #416] ; (805e08c ) 805deea: 4968 ldr r1, [pc, #416] ; (805e08c ) 805deec: 486d ldr r0, [pc, #436] ; (805e0a4 ) 805deee: f06c f975 bl 80ca1dc for(i = 0; i < 1024; i++) { 805def2: 2300 movs r3, #0 805def4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805def8: e012 b.n 805df20 Buff64[i] = Buff64[i << 1]; 805defa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805defe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805df02: 005b lsls r3, r3, #1 805df04: 4961 ldr r1, [pc, #388] ; (805e08c ) 805df06: 00db lsls r3, r3, #3 805df08: 440b add r3, r1 805df0a: cb18 ldmia r3, {r3, r4} 805df0c: 495f ldr r1, [pc, #380] ; (805e08c ) 805df0e: 00d2 lsls r2, r2, #3 805df10: 440a add r2, r1 805df12: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 1024; i++) { 805df16: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805df1a: 3301 adds r3, #1 805df1c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805df20: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805df24: f5b3 6f80 cmp.w r3, #1024 ; 0x400 805df28: d3e7 bcc.n 805defa } arm_biquad_cascade_df2T_f64(&S_IIR_1000Hz, &Buff64[0], &Buff64[Ns], 1024); 805df2a: 4b5a ldr r3, [pc, #360] ; (805e094 ) 805df2c: 681b ldr r3, [r3, #0] 805df2e: 00db lsls r3, r3, #3 805df30: 4a56 ldr r2, [pc, #344] ; (805e08c ) 805df32: 441a add r2, r3 805df34: f44f 6380 mov.w r3, #1024 ; 0x400 805df38: 4954 ldr r1, [pc, #336] ; (805e08c ) 805df3a: 485b ldr r0, [pc, #364] ; (805e0a8 ) 805df3c: f06c f94e bl 80ca1dc for(i = 0; i < 1024; i++) { 805df40: 2300 movs r3, #0 805df42: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805df46: e017 b.n 805df78 In[i] = (float32_t) Buff64[Ns + i]; 805df48: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805df4c: 4a51 ldr r2, [pc, #324] ; (805e094 ) 805df4e: 6811 ldr r1, [r2, #0] 805df50: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805df54: 440a add r2, r1 805df56: 494d ldr r1, [pc, #308] ; (805e08c ) 805df58: 00d2 lsls r2, r2, #3 805df5a: 440a add r2, r1 805df5c: ed92 7b00 vldr d7, [r2] 805df60: eef7 7bc7 vcvt.f32.f64 s15, d7 805df64: 4a4d ldr r2, [pc, #308] ; (805e09c ) 805df66: 009b lsls r3, r3, #2 805df68: 4413 add r3, r2 805df6a: edc3 7a00 vstr s15, [r3] for(i = 0; i < 1024; i++) { 805df6e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805df72: 3301 adds r3, #1 805df74: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805df78: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805df7c: f5b3 6f80 cmp.w r3, #1024 ; 0x400 805df80: d3e2 bcc.n 805df48 } if(pardata.IVS[pardata.IPR] == RMS) 805df82: 4b47 ldr r3, [pc, #284] ; (805e0a0 ) 805df84: 785b ldrb r3, [r3, #1] 805df86: b2db uxtb r3, r3 805df88: 461a mov r2, r3 805df8a: 4b45 ldr r3, [pc, #276] ; (805e0a0 ) 805df8c: 4413 add r3, r2 805df8e: 789b ldrb r3, [r3, #2] 805df90: b2db uxtb r3, r3 805df92: 2b01 cmp r3, #1 805df94: d108 bne.n 805dfa8 arm_rms_f32(In, 1024, &Octaves[10]); 805df96: 463b mov r3, r7 805df98: 3328 adds r3, #40 ; 0x28 805df9a: 461a mov r2, r3 805df9c: f44f 6180 mov.w r1, #1024 ; 0x400 805dfa0: 483e ldr r0, [pc, #248] ; (805e09c ) 805dfa2: f06b ff79 bl 80c9e98 805dfa6: e03e b.n 805e026 else { arm_min_f32(In, 1024, &fn[0], &i); 805dfa8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805dfac: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805dfb0: f44f 6180 mov.w r1, #1024 ; 0x400 805dfb4: 4839 ldr r0, [pc, #228] ; (805e09c ) 805dfb6: f06c f801 bl 80c9fbc arm_max_f32(In, 1024, &fn[1], &j); 805dfba: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805dfbe: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805dfc2: 1d1a adds r2, r3, #4 805dfc4: 460b mov r3, r1 805dfc6: f44f 6180 mov.w r1, #1024 ; 0x400 805dfca: 4834 ldr r0, [pc, #208] ; (805e09c ) 805dfcc: f06c f892 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805dfd0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dfd4: eef5 7ac0 vcmpe.f32 s15, #0.0 805dfd8: eef1 fa10 vmrs APSR_nzcv, fpscr 805dfdc: dd02 ble.n 805dfe4 805dfde: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dfe2: e003 b.n 805dfec 805dfe4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805dfe8: eef1 7a67 vneg.f32 s15, s15 805dfec: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805dff0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805dff4: eef5 7ac0 vcmpe.f32 s15, #0.0 805dff8: eef1 fa10 vmrs APSR_nzcv, fpscr 805dffc: dd02 ble.n 805e004 805dffe: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e002: e003 b.n 805e00c 805e004: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e008: eef1 7a67 vneg.f32 s15, s15 805e00c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[10], &j); 805e010: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e014: 463b mov r3, r7 805e016: f103 0228 add.w r2, r3, #40 ; 0x28 805e01a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e01e: 460b mov r3, r1 805e020: 2102 movs r1, #2 805e022: f06c f867 bl 80ca0f4 } //** 500 arm_biquad_cascade_df2T_f64(&S_LP_500, &Buff64[0], &Buff64[0], 1024); 805e026: f44f 6380 mov.w r3, #1024 ; 0x400 805e02a: 4a18 ldr r2, [pc, #96] ; (805e08c ) 805e02c: 4917 ldr r1, [pc, #92] ; (805e08c ) 805e02e: 481f ldr r0, [pc, #124] ; (805e0ac ) 805e030: f06c f8d4 bl 80ca1dc for(i = 0; i < 512; i++) { 805e034: 2300 movs r3, #0 805e036: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e03a: e012 b.n 805e062 Buff64[i] = Buff64[i << 1]; 805e03c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e040: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e044: 005b lsls r3, r3, #1 805e046: 4911 ldr r1, [pc, #68] ; (805e08c ) 805e048: 00db lsls r3, r3, #3 805e04a: 440b add r3, r1 805e04c: cb18 ldmia r3, {r3, r4} 805e04e: 490f ldr r1, [pc, #60] ; (805e08c ) 805e050: 00d2 lsls r2, r2, #3 805e052: 440a add r2, r1 805e054: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 512; i++) { 805e058: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e05c: 3301 adds r3, #1 805e05e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e062: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e066: f5b3 7f00 cmp.w r3, #512 ; 0x200 805e06a: d3e7 bcc.n 805e03c } arm_biquad_cascade_df2T_f64(&S_IIR_500Hz, &Buff64[0], &Buff64[Ns], 512); 805e06c: 4b09 ldr r3, [pc, #36] ; (805e094 ) 805e06e: 681b ldr r3, [r3, #0] 805e070: 00db lsls r3, r3, #3 805e072: 4a06 ldr r2, [pc, #24] ; (805e08c ) 805e074: 441a add r2, r3 805e076: f44f 7300 mov.w r3, #512 ; 0x200 805e07a: 4904 ldr r1, [pc, #16] ; (805e08c ) 805e07c: 480c ldr r0, [pc, #48] ; (805e0b0 ) 805e07e: f06c f8ad bl 80ca1dc for(i = 0; i < 512; i++) { 805e082: 2300 movs r3, #0 805e084: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e088: e02c b.n 805e0e4 805e08a: bf00 nop 805e08c: 20037ae0 .word 0x20037ae0 805e090: 20027920 .word 0x20027920 805e094: 20021cdc .word 0x20021cdc 805e098: 20026ef8 .word 0x20026ef8 805e09c: 200279c0 .word 0x200279c0 805e0a0: 20023e60 .word 0x20023e60 805e0a4: 200682c4 .word 0x200682c4 805e0a8: 20026660 .word 0x20026660 805e0ac: 2002795c .word 0x2002795c 805e0b0: 20068020 .word 0x20068020 In[i] = (float32_t) Buff64[Ns + i]; 805e0b4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e0b8: 4aca ldr r2, [pc, #808] ; (805e3e4 ) 805e0ba: 6811 ldr r1, [r2, #0] 805e0bc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e0c0: 440a add r2, r1 805e0c2: 49c9 ldr r1, [pc, #804] ; (805e3e8 ) 805e0c4: 00d2 lsls r2, r2, #3 805e0c6: 440a add r2, r1 805e0c8: ed92 7b00 vldr d7, [r2] 805e0cc: eef7 7bc7 vcvt.f32.f64 s15, d7 805e0d0: 4ac6 ldr r2, [pc, #792] ; (805e3ec ) 805e0d2: 009b lsls r3, r3, #2 805e0d4: 4413 add r3, r2 805e0d6: edc3 7a00 vstr s15, [r3] for(i = 0; i < 512; i++) { 805e0da: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e0de: 3301 adds r3, #1 805e0e0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e0e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e0e8: f5b3 7f00 cmp.w r3, #512 ; 0x200 805e0ec: d3e2 bcc.n 805e0b4 } if(pardata.IVS[pardata.IPR] == RMS) 805e0ee: 4bc0 ldr r3, [pc, #768] ; (805e3f0 ) 805e0f0: 785b ldrb r3, [r3, #1] 805e0f2: b2db uxtb r3, r3 805e0f4: 461a mov r2, r3 805e0f6: 4bbe ldr r3, [pc, #760] ; (805e3f0 ) 805e0f8: 4413 add r3, r2 805e0fa: 789b ldrb r3, [r3, #2] 805e0fc: b2db uxtb r3, r3 805e0fe: 2b01 cmp r3, #1 805e100: d108 bne.n 805e114 arm_rms_f32(In, 512, &Octaves[9]); 805e102: 463b mov r3, r7 805e104: 3324 adds r3, #36 ; 0x24 805e106: 461a mov r2, r3 805e108: f44f 7100 mov.w r1, #512 ; 0x200 805e10c: 48b7 ldr r0, [pc, #732] ; (805e3ec ) 805e10e: f06b fec3 bl 80c9e98 805e112: e03e b.n 805e192 else { arm_min_f32(In, 512, &fn[0], &i); 805e114: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e118: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e11c: f44f 7100 mov.w r1, #512 ; 0x200 805e120: 48b2 ldr r0, [pc, #712] ; (805e3ec ) 805e122: f06b ff4b bl 80c9fbc arm_max_f32(In, 512, &fn[1], &j); 805e126: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e12a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e12e: 1d1a adds r2, r3, #4 805e130: 460b mov r3, r1 805e132: f44f 7100 mov.w r1, #512 ; 0x200 805e136: 48ad ldr r0, [pc, #692] ; (805e3ec ) 805e138: f06b ffdc bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e13c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e140: eef5 7ac0 vcmpe.f32 s15, #0.0 805e144: eef1 fa10 vmrs APSR_nzcv, fpscr 805e148: dd02 ble.n 805e150 805e14a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e14e: e003 b.n 805e158 805e150: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e154: eef1 7a67 vneg.f32 s15, s15 805e158: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e15c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e160: eef5 7ac0 vcmpe.f32 s15, #0.0 805e164: eef1 fa10 vmrs APSR_nzcv, fpscr 805e168: dd02 ble.n 805e170 805e16a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e16e: e003 b.n 805e178 805e170: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e174: eef1 7a67 vneg.f32 s15, s15 805e178: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[9], &j); 805e17c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e180: 463b mov r3, r7 805e182: f103 0224 add.w r2, r3, #36 ; 0x24 805e186: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e18a: 460b mov r3, r1 805e18c: 2102 movs r1, #2 805e18e: f06b ffb1 bl 80ca0f4 } //** 250 arm_biquad_cascade_df2T_f64(&S_LP_250, &Buff64[0], &Buff64[0], 512); 805e192: f44f 7300 mov.w r3, #512 ; 0x200 805e196: 4a94 ldr r2, [pc, #592] ; (805e3e8 ) 805e198: 4993 ldr r1, [pc, #588] ; (805e3e8 ) 805e19a: 4896 ldr r0, [pc, #600] ; (805e3f4 ) 805e19c: f06c f81e bl 80ca1dc for(i = 0; i < 256; i++) { 805e1a0: 2300 movs r3, #0 805e1a2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e1a6: e012 b.n 805e1ce Buff64[i] = Buff64[i << 1]; 805e1a8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e1ac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e1b0: 005b lsls r3, r3, #1 805e1b2: 498d ldr r1, [pc, #564] ; (805e3e8 ) 805e1b4: 00db lsls r3, r3, #3 805e1b6: 440b add r3, r1 805e1b8: cb18 ldmia r3, {r3, r4} 805e1ba: 498b ldr r1, [pc, #556] ; (805e3e8 ) 805e1bc: 00d2 lsls r2, r2, #3 805e1be: 440a add r2, r1 805e1c0: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 256; i++) { 805e1c4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e1c8: 3301 adds r3, #1 805e1ca: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e1ce: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e1d2: 2bff cmp r3, #255 ; 0xff 805e1d4: d9e8 bls.n 805e1a8 } arm_biquad_cascade_df2T_f64(&S_IIR_250Hz, &Buff64[0], &Buff64[Ns], 256); 805e1d6: 4b83 ldr r3, [pc, #524] ; (805e3e4 ) 805e1d8: 681b ldr r3, [r3, #0] 805e1da: 00db lsls r3, r3, #3 805e1dc: 4a82 ldr r2, [pc, #520] ; (805e3e8 ) 805e1de: 441a add r2, r3 805e1e0: f44f 7380 mov.w r3, #256 ; 0x100 805e1e4: 4980 ldr r1, [pc, #512] ; (805e3e8 ) 805e1e6: 4884 ldr r0, [pc, #528] ; (805e3f8 ) 805e1e8: f06b fff8 bl 80ca1dc for(i = 0; i < 256; i++) { 805e1ec: 2300 movs r3, #0 805e1ee: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e1f2: e017 b.n 805e224 In[i] = (float32_t) Buff64[Ns + i]; 805e1f4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e1f8: 4a7a ldr r2, [pc, #488] ; (805e3e4 ) 805e1fa: 6811 ldr r1, [r2, #0] 805e1fc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e200: 440a add r2, r1 805e202: 4979 ldr r1, [pc, #484] ; (805e3e8 ) 805e204: 00d2 lsls r2, r2, #3 805e206: 440a add r2, r1 805e208: ed92 7b00 vldr d7, [r2] 805e20c: eef7 7bc7 vcvt.f32.f64 s15, d7 805e210: 4a76 ldr r2, [pc, #472] ; (805e3ec ) 805e212: 009b lsls r3, r3, #2 805e214: 4413 add r3, r2 805e216: edc3 7a00 vstr s15, [r3] for(i = 0; i < 256; i++) { 805e21a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e21e: 3301 adds r3, #1 805e220: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e224: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e228: 2bff cmp r3, #255 ; 0xff 805e22a: d9e3 bls.n 805e1f4 } if(pardata.IVS[pardata.IPR] == RMS) 805e22c: 4b70 ldr r3, [pc, #448] ; (805e3f0 ) 805e22e: 785b ldrb r3, [r3, #1] 805e230: b2db uxtb r3, r3 805e232: 461a mov r2, r3 805e234: 4b6e ldr r3, [pc, #440] ; (805e3f0 ) 805e236: 4413 add r3, r2 805e238: 789b ldrb r3, [r3, #2] 805e23a: b2db uxtb r3, r3 805e23c: 2b01 cmp r3, #1 805e23e: d108 bne.n 805e252 arm_rms_f32(In, 256, &Octaves[8]); 805e240: 463b mov r3, r7 805e242: 3320 adds r3, #32 805e244: 461a mov r2, r3 805e246: f44f 7180 mov.w r1, #256 ; 0x100 805e24a: 4868 ldr r0, [pc, #416] ; (805e3ec ) 805e24c: f06b fe24 bl 80c9e98 805e250: e03e b.n 805e2d0 else { arm_min_f32(In, 256, &fn[0], &i); 805e252: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e256: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e25a: f44f 7180 mov.w r1, #256 ; 0x100 805e25e: 4863 ldr r0, [pc, #396] ; (805e3ec ) 805e260: f06b feac bl 80c9fbc arm_max_f32(In, 256, &fn[1], &j); 805e264: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e268: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e26c: 1d1a adds r2, r3, #4 805e26e: 460b mov r3, r1 805e270: f44f 7180 mov.w r1, #256 ; 0x100 805e274: 485d ldr r0, [pc, #372] ; (805e3ec ) 805e276: f06b ff3d bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e27a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e27e: eef5 7ac0 vcmpe.f32 s15, #0.0 805e282: eef1 fa10 vmrs APSR_nzcv, fpscr 805e286: dd02 ble.n 805e28e 805e288: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e28c: e003 b.n 805e296 805e28e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e292: eef1 7a67 vneg.f32 s15, s15 805e296: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e29a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e29e: eef5 7ac0 vcmpe.f32 s15, #0.0 805e2a2: eef1 fa10 vmrs APSR_nzcv, fpscr 805e2a6: dd02 ble.n 805e2ae 805e2a8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e2ac: e003 b.n 805e2b6 805e2ae: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e2b2: eef1 7a67 vneg.f32 s15, s15 805e2b6: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[8], &j); 805e2ba: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e2be: 463b mov r3, r7 805e2c0: f103 0220 add.w r2, r3, #32 805e2c4: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e2c8: 460b mov r3, r1 805e2ca: 2102 movs r1, #2 805e2cc: f06b ff12 bl 80ca0f4 } //** 125 arm_biquad_cascade_df2T_f64(&S_LP_125, &Buff64[0], &Buff64[0], 256); 805e2d0: f44f 7380 mov.w r3, #256 ; 0x100 805e2d4: 4a44 ldr r2, [pc, #272] ; (805e3e8 ) 805e2d6: 4944 ldr r1, [pc, #272] ; (805e3e8 ) 805e2d8: 4848 ldr r0, [pc, #288] ; (805e3fc ) 805e2da: f06b ff7f bl 80ca1dc for(i = 0; i < 128; i++) { 805e2de: 2300 movs r3, #0 805e2e0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e2e4: e012 b.n 805e30c Buff64[i] = Buff64[i << 1]; 805e2e6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e2ea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e2ee: 005b lsls r3, r3, #1 805e2f0: 493d ldr r1, [pc, #244] ; (805e3e8 ) 805e2f2: 00db lsls r3, r3, #3 805e2f4: 440b add r3, r1 805e2f6: cb18 ldmia r3, {r3, r4} 805e2f8: 493b ldr r1, [pc, #236] ; (805e3e8 ) 805e2fa: 00d2 lsls r2, r2, #3 805e2fc: 440a add r2, r1 805e2fe: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 128; i++) { 805e302: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e306: 3301 adds r3, #1 805e308: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e30c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e310: 2b7f cmp r3, #127 ; 0x7f 805e312: d9e8 bls.n 805e2e6 } arm_biquad_cascade_df2T_f64(&S_IIR_125Hz, &Buff64[0], &Buff64[Ns], 128); 805e314: 4b33 ldr r3, [pc, #204] ; (805e3e4 ) 805e316: 681b ldr r3, [r3, #0] 805e318: 00db lsls r3, r3, #3 805e31a: 4a33 ldr r2, [pc, #204] ; (805e3e8 ) 805e31c: 441a add r2, r3 805e31e: 2380 movs r3, #128 ; 0x80 805e320: 4931 ldr r1, [pc, #196] ; (805e3e8 ) 805e322: 4837 ldr r0, [pc, #220] ; (805e400 ) 805e324: f06b ff5a bl 80ca1dc for(i = 0; i < 128; i++) { 805e328: 2300 movs r3, #0 805e32a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e32e: e017 b.n 805e360 In[i] = (float32_t) Buff64[Ns + i]; 805e330: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e334: 4a2b ldr r2, [pc, #172] ; (805e3e4 ) 805e336: 6811 ldr r1, [r2, #0] 805e338: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e33c: 440a add r2, r1 805e33e: 492a ldr r1, [pc, #168] ; (805e3e8 ) 805e340: 00d2 lsls r2, r2, #3 805e342: 440a add r2, r1 805e344: ed92 7b00 vldr d7, [r2] 805e348: eef7 7bc7 vcvt.f32.f64 s15, d7 805e34c: 4a27 ldr r2, [pc, #156] ; (805e3ec ) 805e34e: 009b lsls r3, r3, #2 805e350: 4413 add r3, r2 805e352: edc3 7a00 vstr s15, [r3] for(i = 0; i < 128; i++) { 805e356: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e35a: 3301 adds r3, #1 805e35c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e360: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e364: 2b7f cmp r3, #127 ; 0x7f 805e366: d9e3 bls.n 805e330 } if(pardata.IVS[pardata.IPR] == RMS) 805e368: 4b21 ldr r3, [pc, #132] ; (805e3f0 ) 805e36a: 785b ldrb r3, [r3, #1] 805e36c: b2db uxtb r3, r3 805e36e: 461a mov r2, r3 805e370: 4b1f ldr r3, [pc, #124] ; (805e3f0 ) 805e372: 4413 add r3, r2 805e374: 789b ldrb r3, [r3, #2] 805e376: b2db uxtb r3, r3 805e378: 2b01 cmp r3, #1 805e37a: d107 bne.n 805e38c arm_rms_f32(In, 128, &Octaves[7]); 805e37c: 463b mov r3, r7 805e37e: 331c adds r3, #28 805e380: 461a mov r2, r3 805e382: 2180 movs r1, #128 ; 0x80 805e384: 4819 ldr r0, [pc, #100] ; (805e3ec ) 805e386: f06b fd87 bl 80c9e98 805e38a: e04c b.n 805e426 else { arm_min_f32(In, 128, &fn[0], &i); 805e38c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e390: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e394: 2180 movs r1, #128 ; 0x80 805e396: 4815 ldr r0, [pc, #84] ; (805e3ec ) 805e398: f06b fe10 bl 80c9fbc arm_max_f32(In, 128, &fn[1], &j); 805e39c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e3a0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e3a4: 1d1a adds r2, r3, #4 805e3a6: 460b mov r3, r1 805e3a8: 2180 movs r1, #128 ; 0x80 805e3aa: 4810 ldr r0, [pc, #64] ; (805e3ec ) 805e3ac: f06b fea2 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e3b0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e3b4: eef5 7ac0 vcmpe.f32 s15, #0.0 805e3b8: eef1 fa10 vmrs APSR_nzcv, fpscr 805e3bc: dd02 ble.n 805e3c4 805e3be: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e3c2: e003 b.n 805e3cc 805e3c4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e3c8: eef1 7a67 vneg.f32 s15, s15 805e3cc: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e3d0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e3d4: eef5 7ac0 vcmpe.f32 s15, #0.0 805e3d8: eef1 fa10 vmrs APSR_nzcv, fpscr 805e3dc: dd12 ble.n 805e404 805e3de: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e3e2: e013 b.n 805e40c 805e3e4: 20021cdc .word 0x20021cdc 805e3e8: 20037ae0 .word 0x20037ae0 805e3ec: 200279c0 .word 0x200279c0 805e3f0: 20023e60 .word 0x20023e60 805e3f4: 20068548 .word 0x20068548 805e3f8: 200268e8 .word 0x200268e8 805e3fc: 20026020 .word 0x20026020 805e400: 200266f0 .word 0x200266f0 805e404: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e408: eef1 7a67 vneg.f32 s15, s15 805e40c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[7], &j); 805e410: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e414: 463b mov r3, r7 805e416: f103 021c add.w r2, r3, #28 805e41a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e41e: 460b mov r3, r1 805e420: 2102 movs r1, #2 805e422: f06b fe67 bl 80ca0f4 } //** 63 arm_biquad_cascade_df2T_f64(&S_LP_63, &Buff64[0], &Buff64[0], 128); 805e426: 2380 movs r3, #128 ; 0x80 805e428: 4ac7 ldr r2, [pc, #796] ; (805e748 ) 805e42a: 49c7 ldr r1, [pc, #796] ; (805e748 ) 805e42c: 48c7 ldr r0, [pc, #796] ; (805e74c ) 805e42e: f06b fed5 bl 80ca1dc for(i = 0; i < 64; i++) { 805e432: 2300 movs r3, #0 805e434: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e438: e012 b.n 805e460 Buff64[i] = Buff64[i << 1]; 805e43a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e43e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e442: 005b lsls r3, r3, #1 805e444: 49c0 ldr r1, [pc, #768] ; (805e748 ) 805e446: 00db lsls r3, r3, #3 805e448: 440b add r3, r1 805e44a: cb18 ldmia r3, {r3, r4} 805e44c: 49be ldr r1, [pc, #760] ; (805e748 ) 805e44e: 00d2 lsls r2, r2, #3 805e450: 440a add r2, r1 805e452: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 64; i++) { 805e456: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e45a: 3301 adds r3, #1 805e45c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e460: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e464: 2b3f cmp r3, #63 ; 0x3f 805e466: d9e8 bls.n 805e43a } arm_biquad_cascade_df2T_f64(&S_IIR_63Hz, &Buff64[0], &Buff64[Ns], 64); 805e468: 4bb9 ldr r3, [pc, #740] ; (805e750 ) 805e46a: 681b ldr r3, [r3, #0] 805e46c: 00db lsls r3, r3, #3 805e46e: 4ab6 ldr r2, [pc, #728] ; (805e748 ) 805e470: 441a add r2, r3 805e472: 2340 movs r3, #64 ; 0x40 805e474: 49b4 ldr r1, [pc, #720] ; (805e748 ) 805e476: 48b7 ldr r0, [pc, #732] ; (805e754 ) 805e478: f06b feb0 bl 80ca1dc for(i = 0; i < 64; i++) { 805e47c: 2300 movs r3, #0 805e47e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e482: e017 b.n 805e4b4 In[i] = (float32_t) Buff64[Ns + i]; 805e484: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e488: 4ab1 ldr r2, [pc, #708] ; (805e750 ) 805e48a: 6811 ldr r1, [r2, #0] 805e48c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e490: 440a add r2, r1 805e492: 49ad ldr r1, [pc, #692] ; (805e748 ) 805e494: 00d2 lsls r2, r2, #3 805e496: 440a add r2, r1 805e498: ed92 7b00 vldr d7, [r2] 805e49c: eef7 7bc7 vcvt.f32.f64 s15, d7 805e4a0: 4aad ldr r2, [pc, #692] ; (805e758 ) 805e4a2: 009b lsls r3, r3, #2 805e4a4: 4413 add r3, r2 805e4a6: edc3 7a00 vstr s15, [r3] for(i = 0; i < 64; i++) { 805e4aa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e4ae: 3301 adds r3, #1 805e4b0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e4b4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e4b8: 2b3f cmp r3, #63 ; 0x3f 805e4ba: d9e3 bls.n 805e484 } if(pardata.IVS[pardata.IPR] == RMS) 805e4bc: 4ba7 ldr r3, [pc, #668] ; (805e75c ) 805e4be: 785b ldrb r3, [r3, #1] 805e4c0: b2db uxtb r3, r3 805e4c2: 461a mov r2, r3 805e4c4: 4ba5 ldr r3, [pc, #660] ; (805e75c ) 805e4c6: 4413 add r3, r2 805e4c8: 789b ldrb r3, [r3, #2] 805e4ca: b2db uxtb r3, r3 805e4cc: 2b01 cmp r3, #1 805e4ce: d107 bne.n 805e4e0 arm_rms_f32(In, 64, &Octaves[6]); 805e4d0: 463b mov r3, r7 805e4d2: 3318 adds r3, #24 805e4d4: 461a mov r2, r3 805e4d6: 2140 movs r1, #64 ; 0x40 805e4d8: 489f ldr r0, [pc, #636] ; (805e758 ) 805e4da: f06b fcdd bl 80c9e98 805e4de: e03c b.n 805e55a else { arm_min_f32(In, 64, &fn[0], &i); 805e4e0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e4e4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e4e8: 2140 movs r1, #64 ; 0x40 805e4ea: 489b ldr r0, [pc, #620] ; (805e758 ) 805e4ec: f06b fd66 bl 80c9fbc arm_max_f32(In, 64, &fn[1], &j); 805e4f0: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e4f4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e4f8: 1d1a adds r2, r3, #4 805e4fa: 460b mov r3, r1 805e4fc: 2140 movs r1, #64 ; 0x40 805e4fe: 4896 ldr r0, [pc, #600] ; (805e758 ) 805e500: f06b fdf8 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e504: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e508: eef5 7ac0 vcmpe.f32 s15, #0.0 805e50c: eef1 fa10 vmrs APSR_nzcv, fpscr 805e510: dd02 ble.n 805e518 805e512: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e516: e003 b.n 805e520 805e518: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e51c: eef1 7a67 vneg.f32 s15, s15 805e520: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e524: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e528: eef5 7ac0 vcmpe.f32 s15, #0.0 805e52c: eef1 fa10 vmrs APSR_nzcv, fpscr 805e530: dd02 ble.n 805e538 805e532: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e536: e003 b.n 805e540 805e538: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e53c: eef1 7a67 vneg.f32 s15, s15 805e540: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[6], &j); 805e544: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e548: 463b mov r3, r7 805e54a: f103 0218 add.w r2, r3, #24 805e54e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e552: 460b mov r3, r1 805e554: 2102 movs r1, #2 805e556: f06b fdcd bl 80ca0f4 } //** 31 arm_biquad_cascade_df2T_f64(&S_LP_32, &Buff64[0], &Buff64[0], 64); 805e55a: 2340 movs r3, #64 ; 0x40 805e55c: 4a7a ldr r2, [pc, #488] ; (805e748 ) 805e55e: 497a ldr r1, [pc, #488] ; (805e748 ) 805e560: 487f ldr r0, [pc, #508] ; (805e760 ) 805e562: f06b fe3b bl 80ca1dc for(i = 0; i < 32; i++) { 805e566: 2300 movs r3, #0 805e568: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e56c: e012 b.n 805e594 Buff64[i] = Buff64[i << 1]; 805e56e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e572: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e576: 005b lsls r3, r3, #1 805e578: 4973 ldr r1, [pc, #460] ; (805e748 ) 805e57a: 00db lsls r3, r3, #3 805e57c: 440b add r3, r1 805e57e: cb18 ldmia r3, {r3, r4} 805e580: 4971 ldr r1, [pc, #452] ; (805e748 ) 805e582: 00d2 lsls r2, r2, #3 805e584: 440a add r2, r1 805e586: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 32; i++) { 805e58a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e58e: 3301 adds r3, #1 805e590: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e594: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e598: 2b1f cmp r3, #31 805e59a: d9e8 bls.n 805e56e } arm_biquad_cascade_df2T_f64(&S_IIR_32Hz, &Buff64[0], &Buff64[Ns], 32); 805e59c: 4b6c ldr r3, [pc, #432] ; (805e750 ) 805e59e: 681b ldr r3, [r3, #0] 805e5a0: 00db lsls r3, r3, #3 805e5a2: 4a69 ldr r2, [pc, #420] ; (805e748 ) 805e5a4: 441a add r2, r3 805e5a6: 2320 movs r3, #32 805e5a8: 4967 ldr r1, [pc, #412] ; (805e748 ) 805e5aa: 486e ldr r0, [pc, #440] ; (805e764 ) 805e5ac: f06b fe16 bl 80ca1dc for(i = 0; i < 32; i++) { 805e5b0: 2300 movs r3, #0 805e5b2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e5b6: e017 b.n 805e5e8 In[i] = (float32_t) Buff64[Ns + i]; 805e5b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e5bc: 4a64 ldr r2, [pc, #400] ; (805e750 ) 805e5be: 6811 ldr r1, [r2, #0] 805e5c0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e5c4: 440a add r2, r1 805e5c6: 4960 ldr r1, [pc, #384] ; (805e748 ) 805e5c8: 00d2 lsls r2, r2, #3 805e5ca: 440a add r2, r1 805e5cc: ed92 7b00 vldr d7, [r2] 805e5d0: eef7 7bc7 vcvt.f32.f64 s15, d7 805e5d4: 4a60 ldr r2, [pc, #384] ; (805e758 ) 805e5d6: 009b lsls r3, r3, #2 805e5d8: 4413 add r3, r2 805e5da: edc3 7a00 vstr s15, [r3] for(i = 0; i < 32; i++) { 805e5de: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e5e2: 3301 adds r3, #1 805e5e4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e5e8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e5ec: 2b1f cmp r3, #31 805e5ee: d9e3 bls.n 805e5b8 } if(pardata.IVS[pardata.IPR] == RMS) 805e5f0: 4b5a ldr r3, [pc, #360] ; (805e75c ) 805e5f2: 785b ldrb r3, [r3, #1] 805e5f4: b2db uxtb r3, r3 805e5f6: 461a mov r2, r3 805e5f8: 4b58 ldr r3, [pc, #352] ; (805e75c ) 805e5fa: 4413 add r3, r2 805e5fc: 789b ldrb r3, [r3, #2] 805e5fe: b2db uxtb r3, r3 805e600: 2b01 cmp r3, #1 805e602: d107 bne.n 805e614 arm_rms_f32(In, 32, &Octaves[5]); 805e604: 463b mov r3, r7 805e606: 3314 adds r3, #20 805e608: 461a mov r2, r3 805e60a: 2120 movs r1, #32 805e60c: 4852 ldr r0, [pc, #328] ; (805e758 ) 805e60e: f06b fc43 bl 80c9e98 805e612: e03c b.n 805e68e else { arm_min_f32(In, 32, &fn[0], &i); 805e614: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e618: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e61c: 2120 movs r1, #32 805e61e: 484e ldr r0, [pc, #312] ; (805e758 ) 805e620: f06b fccc bl 80c9fbc arm_max_f32(In, 32, &fn[1], &j); 805e624: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e628: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e62c: 1d1a adds r2, r3, #4 805e62e: 460b mov r3, r1 805e630: 2120 movs r1, #32 805e632: 4849 ldr r0, [pc, #292] ; (805e758 ) 805e634: f06b fd5e bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e638: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e63c: eef5 7ac0 vcmpe.f32 s15, #0.0 805e640: eef1 fa10 vmrs APSR_nzcv, fpscr 805e644: dd02 ble.n 805e64c 805e646: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e64a: e003 b.n 805e654 805e64c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e650: eef1 7a67 vneg.f32 s15, s15 805e654: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e658: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e65c: eef5 7ac0 vcmpe.f32 s15, #0.0 805e660: eef1 fa10 vmrs APSR_nzcv, fpscr 805e664: dd02 ble.n 805e66c 805e666: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e66a: e003 b.n 805e674 805e66c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e670: eef1 7a67 vneg.f32 s15, s15 805e674: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[5], &j); 805e678: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e67c: 463b mov r3, r7 805e67e: f103 0214 add.w r2, r3, #20 805e682: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e686: 460b mov r3, r1 805e688: 2102 movs r1, #2 805e68a: f06b fd33 bl 80ca0f4 } //** 16 arm_biquad_cascade_df2T_f64(&S_LP_16, &Buff64[0], &Buff64[0], 32); 805e68e: 2320 movs r3, #32 805e690: 4a2d ldr r2, [pc, #180] ; (805e748 ) 805e692: 492d ldr r1, [pc, #180] ; (805e748 ) 805e694: 4834 ldr r0, [pc, #208] ; (805e768 ) 805e696: f06b fda1 bl 80ca1dc for(i = 0; i < 16; i++) { 805e69a: 2300 movs r3, #0 805e69c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e6a0: e012 b.n 805e6c8 Buff64[i] = Buff64[i << 1]; 805e6a2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e6a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e6aa: 005b lsls r3, r3, #1 805e6ac: 4926 ldr r1, [pc, #152] ; (805e748 ) 805e6ae: 00db lsls r3, r3, #3 805e6b0: 440b add r3, r1 805e6b2: cb18 ldmia r3, {r3, r4} 805e6b4: 4924 ldr r1, [pc, #144] ; (805e748 ) 805e6b6: 00d2 lsls r2, r2, #3 805e6b8: 440a add r2, r1 805e6ba: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 16; i++) { 805e6be: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e6c2: 3301 adds r3, #1 805e6c4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e6c8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e6cc: 2b0f cmp r3, #15 805e6ce: d9e8 bls.n 805e6a2 } arm_biquad_cascade_df2T_f64(&S_IIR_16Hz, &Buff64[0], &Buff64[Ns], 16); 805e6d0: 4b1f ldr r3, [pc, #124] ; (805e750 ) 805e6d2: 681b ldr r3, [r3, #0] 805e6d4: 00db lsls r3, r3, #3 805e6d6: 4a1c ldr r2, [pc, #112] ; (805e748 ) 805e6d8: 441a add r2, r3 805e6da: 2310 movs r3, #16 805e6dc: 491a ldr r1, [pc, #104] ; (805e748 ) 805e6de: 4823 ldr r0, [pc, #140] ; (805e76c ) 805e6e0: f06b fd7c bl 80ca1dc for(i = 0; i < 16; i++) { 805e6e4: 2300 movs r3, #0 805e6e6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e6ea: e017 b.n 805e71c In[i] = (float32_t) Buff64[Ns + i]; 805e6ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e6f0: 4a17 ldr r2, [pc, #92] ; (805e750 ) 805e6f2: 6811 ldr r1, [r2, #0] 805e6f4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e6f8: 440a add r2, r1 805e6fa: 4913 ldr r1, [pc, #76] ; (805e748 ) 805e6fc: 00d2 lsls r2, r2, #3 805e6fe: 440a add r2, r1 805e700: ed92 7b00 vldr d7, [r2] 805e704: eef7 7bc7 vcvt.f32.f64 s15, d7 805e708: 4a13 ldr r2, [pc, #76] ; (805e758 ) 805e70a: 009b lsls r3, r3, #2 805e70c: 4413 add r3, r2 805e70e: edc3 7a00 vstr s15, [r3] for(i = 0; i < 16; i++) { 805e712: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e716: 3301 adds r3, #1 805e718: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e71c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e720: 2b0f cmp r3, #15 805e722: d9e3 bls.n 805e6ec } if(pardata.IVS[pardata.IPR] == RMS) 805e724: 4b0d ldr r3, [pc, #52] ; (805e75c ) 805e726: 785b ldrb r3, [r3, #1] 805e728: b2db uxtb r3, r3 805e72a: 461a mov r2, r3 805e72c: 4b0b ldr r3, [pc, #44] ; (805e75c ) 805e72e: 4413 add r3, r2 805e730: 789b ldrb r3, [r3, #2] 805e732: b2db uxtb r3, r3 805e734: 2b01 cmp r3, #1 805e736: d11b bne.n 805e770 arm_rms_f32(In, 16, &Octaves[4]); 805e738: 463b mov r3, r7 805e73a: 3310 adds r3, #16 805e73c: 461a mov r2, r3 805e73e: 2110 movs r1, #16 805e740: 4805 ldr r0, [pc, #20] ; (805e758 ) 805e742: f06b fba9 bl 80c9e98 805e746: e050 b.n 805e7ea 805e748: 20037ae0 .word 0x20037ae0 805e74c: 20026330 .word 0x20026330 805e750: 20021cdc .word 0x20021cdc 805e754: 200683e8 .word 0x200683e8 805e758: 200279c0 .word 0x200279c0 805e75c: 20023e60 .word 0x20023e60 805e760: 200278b8 .word 0x200278b8 805e764: 200684f0 .word 0x200684f0 805e768: 20026a68 .word 0x20026a68 805e76c: 20026e88 .word 0x20026e88 else { arm_min_f32(In, 16, &fn[0], &i); 805e770: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e774: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e778: 2110 movs r1, #16 805e77a: 48c0 ldr r0, [pc, #768] ; (805ea7c ) 805e77c: f06b fc1e bl 80c9fbc arm_max_f32(In, 16, &fn[1], &j); 805e780: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e784: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e788: 1d1a adds r2, r3, #4 805e78a: 460b mov r3, r1 805e78c: 2110 movs r1, #16 805e78e: 48bb ldr r0, [pc, #748] ; (805ea7c ) 805e790: f06b fcb0 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e794: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e798: eef5 7ac0 vcmpe.f32 s15, #0.0 805e79c: eef1 fa10 vmrs APSR_nzcv, fpscr 805e7a0: dd02 ble.n 805e7a8 805e7a2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e7a6: e003 b.n 805e7b0 805e7a8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e7ac: eef1 7a67 vneg.f32 s15, s15 805e7b0: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e7b4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e7b8: eef5 7ac0 vcmpe.f32 s15, #0.0 805e7bc: eef1 fa10 vmrs APSR_nzcv, fpscr 805e7c0: dd02 ble.n 805e7c8 805e7c2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e7c6: e003 b.n 805e7d0 805e7c8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e7cc: eef1 7a67 vneg.f32 s15, s15 805e7d0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Octaves[4], &j); 805e7d4: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e7d8: 463b mov r3, r7 805e7da: f103 0210 add.w r2, r3, #16 805e7de: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e7e2: 460b mov r3, r1 805e7e4: 2102 movs r1, #2 805e7e6: f06b fc85 bl 80ca0f4 } cntOkt++; 805e7ea: 4ba5 ldr r3, [pc, #660] ; (805ea80 ) 805e7ec: 681b ldr r3, [r3, #0] 805e7ee: 3301 adds r3, #1 805e7f0: 4aa3 ldr r2, [pc, #652] ; (805ea80 ) 805e7f2: 6013 str r3, [r2, #0] //** 8 arm_biquad_cascade_df2T_f64(&S_LP_8, &Buff64[0], &Buff64[0], 16); 805e7f4: 2310 movs r3, #16 805e7f6: 4aa3 ldr r2, [pc, #652] ; (805ea84 ) 805e7f8: 49a2 ldr r1, [pc, #648] ; (805ea84 ) 805e7fa: 48a3 ldr r0, [pc, #652] ; (805ea88 ) 805e7fc: f06b fcee bl 80ca1dc for(i = 0; i < 8; i++) { 805e800: 2300 movs r3, #0 805e802: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e806: e012 b.n 805e82e Buff64[i] = Buff64[i << 1]; 805e808: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e80c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e810: 005b lsls r3, r3, #1 805e812: 499c ldr r1, [pc, #624] ; (805ea84 ) 805e814: 00db lsls r3, r3, #3 805e816: 440b add r3, r1 805e818: cb18 ldmia r3, {r3, r4} 805e81a: 499a ldr r1, [pc, #616] ; (805ea84 ) 805e81c: 00d2 lsls r2, r2, #3 805e81e: 440a add r2, r1 805e820: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 8; i++) { 805e824: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e828: 3301 adds r3, #1 805e82a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e82e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e832: 2b07 cmp r3, #7 805e834: d9e8 bls.n 805e808 } arm_biquad_cascade_df2T_f64(&S_IIR_8Hz, &Buff64[0], &Buff64[Ns], 8); 805e836: 4b95 ldr r3, [pc, #596] ; (805ea8c ) 805e838: 681b ldr r3, [r3, #0] 805e83a: 00db lsls r3, r3, #3 805e83c: 4a91 ldr r2, [pc, #580] ; (805ea84 ) 805e83e: 441a add r2, r3 805e840: 2308 movs r3, #8 805e842: 4990 ldr r1, [pc, #576] ; (805ea84 ) 805e844: 4892 ldr r0, [pc, #584] ; (805ea90 ) 805e846: f06b fcc9 bl 80ca1dc for(i = 0; i < 8; i++) { 805e84a: 2300 movs r3, #0 805e84c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e850: e017 b.n 805e882 In[i] = (float32_t) Buff64[Ns + i]; 805e852: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e856: 4a8d ldr r2, [pc, #564] ; (805ea8c ) 805e858: 6811 ldr r1, [r2, #0] 805e85a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e85e: 440a add r2, r1 805e860: 4988 ldr r1, [pc, #544] ; (805ea84 ) 805e862: 00d2 lsls r2, r2, #3 805e864: 440a add r2, r1 805e866: ed92 7b00 vldr d7, [r2] 805e86a: eef7 7bc7 vcvt.f32.f64 s15, d7 805e86e: 4a83 ldr r2, [pc, #524] ; (805ea7c ) 805e870: 009b lsls r3, r3, #2 805e872: 4413 add r3, r2 805e874: edc3 7a00 vstr s15, [r3] for(i = 0; i < 8; i++) { 805e878: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e87c: 3301 adds r3, #1 805e87e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e882: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e886: 2b07 cmp r3, #7 805e888: d9e3 bls.n 805e852 } if(pardata.IVS[pardata.IPR] == RMS) 805e88a: 4b82 ldr r3, [pc, #520] ; (805ea94 ) 805e88c: 785b ldrb r3, [r3, #1] 805e88e: b2db uxtb r3, r3 805e890: 461a mov r2, r3 805e892: 4b80 ldr r3, [pc, #512] ; (805ea94 ) 805e894: 4413 add r3, r2 805e896: 789b ldrb r3, [r3, #2] 805e898: b2db uxtb r3, r3 805e89a: 2b01 cmp r3, #1 805e89c: d111 bne.n 805e8c2 { arm_power_f32(In, 8, &fl); 805e89e: f507 73de add.w r3, r7, #444 ; 0x1bc 805e8a2: 461a mov r2, r3 805e8a4: 2108 movs r1, #8 805e8a6: 4875 ldr r0, [pc, #468] ; (805ea7c ) 805e8a8: f06b fb4e bl 80c9f48 rms8 += fl; 805e8ac: 4b7a ldr r3, [pc, #488] ; (805ea98 ) 805e8ae: ed93 7a00 vldr s14, [r3] 805e8b2: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805e8b6: ee77 7a27 vadd.f32 s15, s14, s15 805e8ba: 4b77 ldr r3, [pc, #476] ; (805ea98 ) 805e8bc: edc3 7a00 vstr s15, [r3] 805e8c0: e048 b.n 805e954 } else { arm_min_f32(In, 8, &fn[0], &i); 805e8c2: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805e8c6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805e8ca: 2108 movs r1, #8 805e8cc: 486b ldr r0, [pc, #428] ; (805ea7c ) 805e8ce: f06b fb75 bl 80c9fbc arm_max_f32(In, 8, &fn[1], &j); 805e8d2: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805e8d6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805e8da: 1d1a adds r2, r3, #4 805e8dc: 460b mov r3, r1 805e8de: 2108 movs r1, #8 805e8e0: 4866 ldr r0, [pc, #408] ; (805ea7c ) 805e8e2: f06b fc07 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805e8e6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e8ea: eef5 7ac0 vcmpe.f32 s15, #0.0 805e8ee: eef1 fa10 vmrs APSR_nzcv, fpscr 805e8f2: dd02 ble.n 805e8fa 805e8f4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e8f8: e003 b.n 805e902 805e8fa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805e8fe: eef1 7a67 vneg.f32 s15, s15 805e902: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805e906: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e90a: eef5 7ac0 vcmpe.f32 s15, #0.0 805e90e: eef1 fa10 vmrs APSR_nzcv, fpscr 805e912: dd02 ble.n 805e91a 805e914: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e918: e003 b.n 805e922 805e91a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805e91e: eef1 7a67 vneg.f32 s15, s15 805e922: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 805e926: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805e92a: f507 72de add.w r2, r7, #444 ; 0x1bc 805e92e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805e932: 2102 movs r1, #2 805e934: f06b fbde bl 80ca0f4 if(fl > rms8) 805e938: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805e93c: 4b56 ldr r3, [pc, #344] ; (805ea98 ) 805e93e: edd3 7a00 vldr s15, [r3] 805e942: eeb4 7ae7 vcmpe.f32 s14, s15 805e946: eef1 fa10 vmrs APSR_nzcv, fpscr 805e94a: dd03 ble.n 805e954 rms8 = fl; 805e94c: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805e950: 4a51 ldr r2, [pc, #324] ; (805ea98 ) 805e952: 6013 str r3, [r2, #0] } //** 4 arm_biquad_cascade_df2T_f64(&S_LP_4, &Buff64[0], &Buff64[0], 8); 805e954: 2308 movs r3, #8 805e956: 4a4b ldr r2, [pc, #300] ; (805ea84 ) 805e958: 494a ldr r1, [pc, #296] ; (805ea84 ) 805e95a: 4850 ldr r0, [pc, #320] ; (805ea9c ) 805e95c: f06b fc3e bl 80ca1dc for(i = 0; i < 4; i++) { 805e960: 2300 movs r3, #0 805e962: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e966: e012 b.n 805e98e Buff64[i] = Buff64[i << 1]; 805e968: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e96c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e970: 005b lsls r3, r3, #1 805e972: 4944 ldr r1, [pc, #272] ; (805ea84 ) 805e974: 00db lsls r3, r3, #3 805e976: 440b add r3, r1 805e978: cb18 ldmia r3, {r3, r4} 805e97a: 4942 ldr r1, [pc, #264] ; (805ea84 ) 805e97c: 00d2 lsls r2, r2, #3 805e97e: 440a add r2, r1 805e980: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 4; i++) { 805e984: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e988: 3301 adds r3, #1 805e98a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e98e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e992: 2b03 cmp r3, #3 805e994: d9e8 bls.n 805e968 } arm_biquad_cascade_df2T_f64(&S_IIR_4Hz, &Buff64[0], &Buff64[Ns], 4); 805e996: 4b3d ldr r3, [pc, #244] ; (805ea8c ) 805e998: 681b ldr r3, [r3, #0] 805e99a: 00db lsls r3, r3, #3 805e99c: 4a39 ldr r2, [pc, #228] ; (805ea84 ) 805e99e: 441a add r2, r3 805e9a0: 2304 movs r3, #4 805e9a2: 4938 ldr r1, [pc, #224] ; (805ea84 ) 805e9a4: 483e ldr r0, [pc, #248] ; (805eaa0 ) 805e9a6: f06b fc19 bl 80ca1dc for(i = 0; i < 4; i++) { 805e9aa: 2300 movs r3, #0 805e9ac: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e9b0: e017 b.n 805e9e2 In[i] = (float32_t) Buff64[Ns + i]; 805e9b2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e9b6: 4a35 ldr r2, [pc, #212] ; (805ea8c ) 805e9b8: 6811 ldr r1, [r2, #0] 805e9ba: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805e9be: 440a add r2, r1 805e9c0: 4930 ldr r1, [pc, #192] ; (805ea84 ) 805e9c2: 00d2 lsls r2, r2, #3 805e9c4: 440a add r2, r1 805e9c6: ed92 7b00 vldr d7, [r2] 805e9ca: eef7 7bc7 vcvt.f32.f64 s15, d7 805e9ce: 4a2b ldr r2, [pc, #172] ; (805ea7c ) 805e9d0: 009b lsls r3, r3, #2 805e9d2: 4413 add r3, r2 805e9d4: edc3 7a00 vstr s15, [r3] for(i = 0; i < 4; i++) { 805e9d8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e9dc: 3301 adds r3, #1 805e9de: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805e9e2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805e9e6: 2b03 cmp r3, #3 805e9e8: d9e3 bls.n 805e9b2 } if(pardata.IVS[pardata.IPR] == RMS) 805e9ea: 4b2a ldr r3, [pc, #168] ; (805ea94 ) 805e9ec: 785b ldrb r3, [r3, #1] 805e9ee: b2db uxtb r3, r3 805e9f0: 461a mov r2, r3 805e9f2: 4b28 ldr r3, [pc, #160] ; (805ea94 ) 805e9f4: 4413 add r3, r2 805e9f6: 789b ldrb r3, [r3, #2] 805e9f8: b2db uxtb r3, r3 805e9fa: 2b01 cmp r3, #1 805e9fc: d111 bne.n 805ea22 { arm_power_f32(In, 4, &fl); 805e9fe: f507 73de add.w r3, r7, #444 ; 0x1bc 805ea02: 461a mov r2, r3 805ea04: 2104 movs r1, #4 805ea06: 481d ldr r0, [pc, #116] ; (805ea7c ) 805ea08: f06b fa9e bl 80c9f48 rms4 += fl; 805ea0c: 4b25 ldr r3, [pc, #148] ; (805eaa4 ) 805ea0e: ed93 7a00 vldr s14, [r3] 805ea12: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ea16: ee77 7a27 vadd.f32 s15, s14, s15 805ea1a: 4b22 ldr r3, [pc, #136] ; (805eaa4 ) 805ea1c: edc3 7a00 vstr s15, [r3] 805ea20: e05f b.n 805eae2 } else { arm_min_f32(In, 4, &fn[0], &i); 805ea22: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ea26: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ea2a: 2104 movs r1, #4 805ea2c: 4813 ldr r0, [pc, #76] ; (805ea7c ) 805ea2e: f06b fac5 bl 80c9fbc arm_max_f32(In, 4, &fn[1], &j); 805ea32: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ea36: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ea3a: 1d1a adds r2, r3, #4 805ea3c: 460b mov r3, r1 805ea3e: 2104 movs r1, #4 805ea40: 480e ldr r0, [pc, #56] ; (805ea7c ) 805ea42: f06b fb57 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805ea46: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ea4a: eef5 7ac0 vcmpe.f32 s15, #0.0 805ea4e: eef1 fa10 vmrs APSR_nzcv, fpscr 805ea52: dd02 ble.n 805ea5a 805ea54: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ea58: e003 b.n 805ea62 805ea5a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ea5e: eef1 7a67 vneg.f32 s15, s15 805ea62: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ea66: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ea6a: eef5 7ac0 vcmpe.f32 s15, #0.0 805ea6e: eef1 fa10 vmrs APSR_nzcv, fpscr 805ea72: dd19 ble.n 805eaa8 805ea74: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ea78: e01a b.n 805eab0 805ea7a: bf00 nop 805ea7c: 200279c0 .word 0x200279c0 805ea80: 20020d90 .word 0x20020d90 805ea84: 20037ae0 .word 0x20037ae0 805ea88: 2002633c .word 0x2002633c 805ea8c: 20021cdc .word 0x20021cdc 805ea90: 20057f48 .word 0x20057f48 805ea94: 20023e60 .word 0x20023e60 805ea98: 20021cd0 .word 0x20021cd0 805ea9c: 20057ae0 .word 0x20057ae0 805eaa0: 200278d4 .word 0x200278d4 805eaa4: 20021d18 .word 0x20021d18 805eaa8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805eaac: eef1 7a67 vneg.f32 s15, s15 805eab0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 805eab4: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805eab8: f507 72de add.w r2, r7, #444 ; 0x1bc 805eabc: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805eac0: 2102 movs r1, #2 805eac2: f06b fb17 bl 80ca0f4 if(fl > rms4) 805eac6: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805eaca: 4ba7 ldr r3, [pc, #668] ; (805ed68 ) 805eacc: edd3 7a00 vldr s15, [r3] 805ead0: eeb4 7ae7 vcmpe.f32 s14, s15 805ead4: eef1 fa10 vmrs APSR_nzcv, fpscr 805ead8: dd03 ble.n 805eae2 rms4 = fl; 805eada: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805eade: 4aa2 ldr r2, [pc, #648] ; (805ed68 ) 805eae0: 6013 str r3, [r2, #0] } //** 2 arm_biquad_cascade_df2T_f64(&S_LP_2, &Buff64[0], &Buff64[0], 4); 805eae2: 2304 movs r3, #4 805eae4: 4aa1 ldr r2, [pc, #644] ; (805ed6c ) 805eae6: 49a1 ldr r1, [pc, #644] ; (805ed6c ) 805eae8: 48a1 ldr r0, [pc, #644] ; (805ed70 ) 805eaea: f06b fb77 bl 80ca1dc for(i = 0; i < 2; i++) { 805eaee: 2300 movs r3, #0 805eaf0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eaf4: e012 b.n 805eb1c Buff64[i] = Buff64[i << 1]; 805eaf6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805eafa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eafe: 005b lsls r3, r3, #1 805eb00: 499a ldr r1, [pc, #616] ; (805ed6c ) 805eb02: 00db lsls r3, r3, #3 805eb04: 440b add r3, r1 805eb06: cb18 ldmia r3, {r3, r4} 805eb08: 4998 ldr r1, [pc, #608] ; (805ed6c ) 805eb0a: 00d2 lsls r2, r2, #3 805eb0c: 440a add r2, r1 805eb0e: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 2; i++) { 805eb12: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eb16: 3301 adds r3, #1 805eb18: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eb1c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eb20: 2b01 cmp r3, #1 805eb22: d9e8 bls.n 805eaf6 } arm_biquad_cascade_df2T_f64(&S_IIR_2Hz, &Buff64[0], &Buff64[Ns], 2); 805eb24: 4b93 ldr r3, [pc, #588] ; (805ed74 ) 805eb26: 681b ldr r3, [r3, #0] 805eb28: 00db lsls r3, r3, #3 805eb2a: 4a90 ldr r2, [pc, #576] ; (805ed6c ) 805eb2c: 441a add r2, r3 805eb2e: 2302 movs r3, #2 805eb30: 498e ldr r1, [pc, #568] ; (805ed6c ) 805eb32: 4891 ldr r0, [pc, #580] ; (805ed78 ) 805eb34: f06b fb52 bl 80ca1dc for(i = 0; i < 2; i++) { 805eb38: 2300 movs r3, #0 805eb3a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eb3e: e017 b.n 805eb70 In[i] = (float32_t) Buff64[Ns + i]; 805eb40: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eb44: 4a8b ldr r2, [pc, #556] ; (805ed74 ) 805eb46: 6811 ldr r1, [r2, #0] 805eb48: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805eb4c: 440a add r2, r1 805eb4e: 4987 ldr r1, [pc, #540] ; (805ed6c ) 805eb50: 00d2 lsls r2, r2, #3 805eb52: 440a add r2, r1 805eb54: ed92 7b00 vldr d7, [r2] 805eb58: eef7 7bc7 vcvt.f32.f64 s15, d7 805eb5c: 4a87 ldr r2, [pc, #540] ; (805ed7c ) 805eb5e: 009b lsls r3, r3, #2 805eb60: 4413 add r3, r2 805eb62: edc3 7a00 vstr s15, [r3] for(i = 0; i < 2; i++) { 805eb66: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eb6a: 3301 adds r3, #1 805eb6c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805eb70: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eb74: 2b01 cmp r3, #1 805eb76: d9e3 bls.n 805eb40 } if(pardata.IVS[pardata.IPR] == RMS) 805eb78: 4b81 ldr r3, [pc, #516] ; (805ed80 ) 805eb7a: 785b ldrb r3, [r3, #1] 805eb7c: b2db uxtb r3, r3 805eb7e: 461a mov r2, r3 805eb80: 4b7f ldr r3, [pc, #508] ; (805ed80 ) 805eb82: 4413 add r3, r2 805eb84: 789b ldrb r3, [r3, #2] 805eb86: b2db uxtb r3, r3 805eb88: 2b01 cmp r3, #1 805eb8a: d111 bne.n 805ebb0 { arm_power_f32(In, 2, &fl); 805eb8c: f507 73de add.w r3, r7, #444 ; 0x1bc 805eb90: 461a mov r2, r3 805eb92: 2102 movs r1, #2 805eb94: 4879 ldr r0, [pc, #484] ; (805ed7c ) 805eb96: f06b f9d7 bl 80c9f48 rms2 += fl; 805eb9a: 4b7a ldr r3, [pc, #488] ; (805ed84 ) 805eb9c: ed93 7a00 vldr s14, [r3] 805eba0: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805eba4: ee77 7a27 vadd.f32 s15, s14, s15 805eba8: 4b76 ldr r3, [pc, #472] ; (805ed84 ) 805ebaa: edc3 7a00 vstr s15, [r3] 805ebae: e048 b.n 805ec42 } else { arm_min_f32(In, 2, &fn[0], &i); 805ebb0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ebb4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ebb8: 2102 movs r1, #2 805ebba: 4870 ldr r0, [pc, #448] ; (805ed7c ) 805ebbc: f06b f9fe bl 80c9fbc arm_max_f32(In, 2, &fn[1], &j); 805ebc0: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ebc4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ebc8: 1d1a adds r2, r3, #4 805ebca: 460b mov r3, r1 805ebcc: 2102 movs r1, #2 805ebce: 486b ldr r0, [pc, #428] ; (805ed7c ) 805ebd0: f06b fa90 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805ebd4: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ebd8: eef5 7ac0 vcmpe.f32 s15, #0.0 805ebdc: eef1 fa10 vmrs APSR_nzcv, fpscr 805ebe0: dd02 ble.n 805ebe8 805ebe2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ebe6: e003 b.n 805ebf0 805ebe8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ebec: eef1 7a67 vneg.f32 s15, s15 805ebf0: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ebf4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ebf8: eef5 7ac0 vcmpe.f32 s15, #0.0 805ebfc: eef1 fa10 vmrs APSR_nzcv, fpscr 805ec00: dd02 ble.n 805ec08 805ec02: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ec06: e003 b.n 805ec10 805ec08: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ec0c: eef1 7a67 vneg.f32 s15, s15 805ec10: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 805ec14: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805ec18: f507 72de add.w r2, r7, #444 ; 0x1bc 805ec1c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805ec20: 2102 movs r1, #2 805ec22: f06b fa67 bl 80ca0f4 if(fl > rms2) 805ec26: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805ec2a: 4b56 ldr r3, [pc, #344] ; (805ed84 ) 805ec2c: edd3 7a00 vldr s15, [r3] 805ec30: eeb4 7ae7 vcmpe.f32 s14, s15 805ec34: eef1 fa10 vmrs APSR_nzcv, fpscr 805ec38: dd03 ble.n 805ec42 rms2 = fl; 805ec3a: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805ec3e: 4a51 ldr r2, [pc, #324] ; (805ed84 ) 805ec40: 6013 str r3, [r2, #0] } //** 1 arm_biquad_cascade_df2T_f64(&S_LP_1, &Buff64[0], &Buff64[0], 2); 805ec42: 2302 movs r3, #2 805ec44: 4a49 ldr r2, [pc, #292] ; (805ed6c ) 805ec46: 4949 ldr r1, [pc, #292] ; (805ed6c ) 805ec48: 484f ldr r0, [pc, #316] ; (805ed88 ) 805ec4a: f06b fac7 bl 80ca1dc for(i = 0; i < 1; i++) { 805ec4e: 2300 movs r3, #0 805ec50: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ec54: e012 b.n 805ec7c Buff64[i] = Buff64[i << 1]; 805ec56: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ec5a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec5e: 005b lsls r3, r3, #1 805ec60: 4942 ldr r1, [pc, #264] ; (805ed6c ) 805ec62: 00db lsls r3, r3, #3 805ec64: 440b add r3, r1 805ec66: cb18 ldmia r3, {r3, r4} 805ec68: 4940 ldr r1, [pc, #256] ; (805ed6c ) 805ec6a: 00d2 lsls r2, r2, #3 805ec6c: 440a add r2, r1 805ec6e: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < 1; i++) { 805ec72: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec76: 3301 adds r3, #1 805ec78: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ec7c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ec80: 2b00 cmp r3, #0 805ec82: d0e8 beq.n 805ec56 } arm_biquad_cascade_df2T_f64(&S_IIR_1Hz, &Buff64[0], &Buff64[Ns], 1); 805ec84: 4b3b ldr r3, [pc, #236] ; (805ed74 ) 805ec86: 681b ldr r3, [r3, #0] 805ec88: 00db lsls r3, r3, #3 805ec8a: 4a38 ldr r2, [pc, #224] ; (805ed6c ) 805ec8c: 441a add r2, r3 805ec8e: 2301 movs r3, #1 805ec90: 4936 ldr r1, [pc, #216] ; (805ed6c ) 805ec92: 483e ldr r0, [pc, #248] ; (805ed8c ) 805ec94: f06b faa2 bl 80ca1dc for(i = 0; i < 1; i++) { 805ec98: 2300 movs r3, #0 805ec9a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ec9e: e017 b.n 805ecd0 In[i] = (float32_t) Buff64[Ns + i]; 805eca0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805eca4: 4a33 ldr r2, [pc, #204] ; (805ed74 ) 805eca6: 6811 ldr r1, [r2, #0] 805eca8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ecac: 440a add r2, r1 805ecae: 492f ldr r1, [pc, #188] ; (805ed6c ) 805ecb0: 00d2 lsls r2, r2, #3 805ecb2: 440a add r2, r1 805ecb4: ed92 7b00 vldr d7, [r2] 805ecb8: eef7 7bc7 vcvt.f32.f64 s15, d7 805ecbc: 4a2f ldr r2, [pc, #188] ; (805ed7c ) 805ecbe: 009b lsls r3, r3, #2 805ecc0: 4413 add r3, r2 805ecc2: edc3 7a00 vstr s15, [r3] for(i = 0; i < 1; i++) { 805ecc6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ecca: 3301 adds r3, #1 805eccc: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ecd0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ecd4: 2b00 cmp r3, #0 805ecd6: d0e3 beq.n 805eca0 } if(pardata.IVS[pardata.IPR] == RMS) 805ecd8: 4b29 ldr r3, [pc, #164] ; (805ed80 ) 805ecda: 785b ldrb r3, [r3, #1] 805ecdc: b2db uxtb r3, r3 805ecde: 461a mov r2, r3 805ece0: 4b27 ldr r3, [pc, #156] ; (805ed80 ) 805ece2: 4413 add r3, r2 805ece4: 789b ldrb r3, [r3, #2] 805ece6: b2db uxtb r3, r3 805ece8: 2b01 cmp r3, #1 805ecea: d111 bne.n 805ed10 { arm_power_f32(In, 1, &fl); 805ecec: f507 73de add.w r3, r7, #444 ; 0x1bc 805ecf0: 461a mov r2, r3 805ecf2: 2101 movs r1, #1 805ecf4: 4821 ldr r0, [pc, #132] ; (805ed7c ) 805ecf6: f06b f927 bl 80c9f48 rms1 += fl; 805ecfa: 4b25 ldr r3, [pc, #148] ; (805ed90 ) 805ecfc: ed93 7a00 vldr s14, [r3] 805ed00: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 805ed04: ee77 7a27 vadd.f32 s15, s14, s15 805ed08: 4b21 ldr r3, [pc, #132] ; (805ed90 ) 805ed0a: edc3 7a00 vstr s15, [r3] 805ed0e: e05e b.n 805edce } else { arm_min_f32(In, 1, &fn[0], &i); 805ed10: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ed14: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ed18: 2101 movs r1, #1 805ed1a: 4818 ldr r0, [pc, #96] ; (805ed7c ) 805ed1c: f06b f94e bl 80c9fbc arm_max_f32(In, 1, &fn[1], &j); 805ed20: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805ed24: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805ed28: 1d1a adds r2, r3, #4 805ed2a: 460b mov r3, r1 805ed2c: 2101 movs r1, #1 805ed2e: 4813 ldr r0, [pc, #76] ; (805ed7c ) 805ed30: f06b f9e0 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805ed34: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ed38: eef5 7ac0 vcmpe.f32 s15, #0.0 805ed3c: eef1 fa10 vmrs APSR_nzcv, fpscr 805ed40: dd02 ble.n 805ed48 805ed42: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ed46: e003 b.n 805ed50 805ed48: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ed4c: eef1 7a67 vneg.f32 s15, s15 805ed50: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ed54: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ed58: eef5 7ac0 vcmpe.f32 s15, #0.0 805ed5c: eef1 fa10 vmrs APSR_nzcv, fpscr 805ed60: dd18 ble.n 805ed94 805ed62: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ed66: e019 b.n 805ed9c 805ed68: 20021d18 .word 0x20021d18 805ed6c: 20037ae0 .word 0x20037ae0 805ed70: 20057cfc .word 0x20057cfc 805ed74: 20021cdc .word 0x20021cdc 805ed78: 20057fe4 .word 0x20057fe4 805ed7c: 200279c0 .word 0x200279c0 805ed80: 20023e60 .word 0x20023e60 805ed84: 20021cd8 .word 0x20021cd8 805ed88: 20026188 .word 0x20026188 805ed8c: 2002786c .word 0x2002786c 805ed90: 20021d10 .word 0x20021d10 805ed94: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ed98: eef1 7a67 vneg.f32 s15, s15 805ed9c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 805eda0: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805eda4: f507 72de add.w r2, r7, #444 ; 0x1bc 805eda8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805edac: 2102 movs r1, #2 805edae: f06b f9a1 bl 80ca0f4 if(fl > rms1) 805edb2: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 805edb6: 4bb8 ldr r3, [pc, #736] ; (805f098 ) 805edb8: edd3 7a00 vldr s15, [r3] 805edbc: eeb4 7ae7 vcmpe.f32 s14, s15 805edc0: eef1 fa10 vmrs APSR_nzcv, fpscr 805edc4: dd03 ble.n 805edce rms1 = fl; 805edc6: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 805edca: 4ab3 ldr r2, [pc, #716] ; (805f098 ) 805edcc: 6013 str r3, [r2, #0] if(cntOkt == 8) 805edce: 4bb3 ldr r3, [pc, #716] ; (805f09c ) 805edd0: 681b ldr r3, [r3, #0] 805edd2: 2b08 cmp r3, #8 805edd4: f040 811d bne.w 805f012 { MeanCnt++; 805edd8: 4bb1 ldr r3, [pc, #708] ; (805f0a0 ) 805edda: 681b ldr r3, [r3, #0] 805eddc: 3301 adds r3, #1 805edde: 4ab0 ldr r2, [pc, #704] ; (805f0a0 ) 805ede0: 6013 str r3, [r2, #0] cntOkt = 0; 805ede2: 4bae ldr r3, [pc, #696] ; (805f09c ) 805ede4: 2200 movs r2, #0 805ede6: 601a str r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 805ede8: 4bae ldr r3, [pc, #696] ; (805f0a4 ) 805edea: 7b5b ldrb r3, [r3, #13] 805edec: b2db uxtb r3, r3 805edee: 461a mov r2, r3 805edf0: 4bad ldr r3, [pc, #692] ; (805f0a8 ) 805edf2: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 805edf6: 461a mov r2, r3 805edf8: 4ba9 ldr r3, [pc, #676] ; (805f0a0 ) 805edfa: 681b ldr r3, [r3, #0] 805edfc: 429a cmp r2, r3 805edfe: f040 8108 bne.w 805f012 { if(pardata.IVS[ACC] == RMS) 805ee02: 4ba8 ldr r3, [pc, #672] ; (805f0a4 ) 805ee04: 789b ldrb r3, [r3, #2] 805ee06: b2db uxtb r3, r3 805ee08: 2b01 cmp r3, #1 805ee0a: d16f bne.n 805eeec { rms8 /= (64.0f * (float32_t) MeanCnt); 805ee0c: 4ba4 ldr r3, [pc, #656] ; (805f0a0 ) 805ee0e: 681b ldr r3, [r3, #0] 805ee10: ee07 3a90 vmov s15, r3 805ee14: eef8 7a67 vcvt.f32.u32 s15, s15 805ee18: ed9f 7aa4 vldr s14, [pc, #656] ; 805f0ac 805ee1c: ee27 7a87 vmul.f32 s14, s15, s14 805ee20: 4ba3 ldr r3, [pc, #652] ; (805f0b0 ) 805ee22: edd3 6a00 vldr s13, [r3] 805ee26: eec6 7a87 vdiv.f32 s15, s13, s14 805ee2a: 4ba1 ldr r3, [pc, #644] ; (805f0b0 ) 805ee2c: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms8, &Octaves[3]); 805ee30: 4b9f ldr r3, [pc, #636] ; (805f0b0 ) 805ee32: edd3 7a00 vldr s15, [r3] 805ee36: 463b mov r3, r7 805ee38: 330c adds r3, #12 805ee3a: 4618 mov r0, r3 805ee3c: eeb0 0a67 vmov.f32 s0, s15 805ee40: f7f6 fdd2 bl 80559e8 rms4 /= (32.0f * (float32_t) MeanCnt); 805ee44: 4b96 ldr r3, [pc, #600] ; (805f0a0 ) 805ee46: 681b ldr r3, [r3, #0] 805ee48: ee07 3a90 vmov s15, r3 805ee4c: eef8 7a67 vcvt.f32.u32 s15, s15 805ee50: ed9f 7a98 vldr s14, [pc, #608] ; 805f0b4 805ee54: ee27 7a87 vmul.f32 s14, s15, s14 805ee58: 4b97 ldr r3, [pc, #604] ; (805f0b8 ) 805ee5a: edd3 6a00 vldr s13, [r3] 805ee5e: eec6 7a87 vdiv.f32 s15, s13, s14 805ee62: 4b95 ldr r3, [pc, #596] ; (805f0b8 ) 805ee64: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms4, &Octaves[2]); 805ee68: 4b93 ldr r3, [pc, #588] ; (805f0b8 ) 805ee6a: edd3 7a00 vldr s15, [r3] 805ee6e: 463b mov r3, r7 805ee70: 3308 adds r3, #8 805ee72: 4618 mov r0, r3 805ee74: eeb0 0a67 vmov.f32 s0, s15 805ee78: f7f6 fdb6 bl 80559e8 rms2 /= (16.0f * (float32_t) MeanCnt); 805ee7c: 4b88 ldr r3, [pc, #544] ; (805f0a0 ) 805ee7e: 681b ldr r3, [r3, #0] 805ee80: ee07 3a90 vmov s15, r3 805ee84: eef8 7a67 vcvt.f32.u32 s15, s15 805ee88: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 805ee8c: ee27 7a87 vmul.f32 s14, s15, s14 805ee90: 4b8a ldr r3, [pc, #552] ; (805f0bc ) 805ee92: edd3 6a00 vldr s13, [r3] 805ee96: eec6 7a87 vdiv.f32 s15, s13, s14 805ee9a: 4b88 ldr r3, [pc, #544] ; (805f0bc ) 805ee9c: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms2, &Octaves[1]); 805eea0: 4b86 ldr r3, [pc, #536] ; (805f0bc ) 805eea2: edd3 7a00 vldr s15, [r3] 805eea6: 463b mov r3, r7 805eea8: 3304 adds r3, #4 805eeaa: 4618 mov r0, r3 805eeac: eeb0 0a67 vmov.f32 s0, s15 805eeb0: f7f6 fd9a bl 80559e8 rms1 /= (8.0f * (float32_t) MeanCnt); 805eeb4: 4b7a ldr r3, [pc, #488] ; (805f0a0 ) 805eeb6: 681b ldr r3, [r3, #0] 805eeb8: ee07 3a90 vmov s15, r3 805eebc: eef8 7a67 vcvt.f32.u32 s15, s15 805eec0: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 805eec4: ee27 7a87 vmul.f32 s14, s15, s14 805eec8: 4b73 ldr r3, [pc, #460] ; (805f098 ) 805eeca: edd3 6a00 vldr s13, [r3] 805eece: eec6 7a87 vdiv.f32 s15, s13, s14 805eed2: 4b71 ldr r3, [pc, #452] ; (805f098 ) 805eed4: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1, &Octaves[0]); 805eed8: 4b6f ldr r3, [pc, #444] ; (805f098 ) 805eeda: edd3 7a00 vldr s15, [r3] 805eede: 463b mov r3, r7 805eee0: 4618 mov r0, r3 805eee2: eeb0 0a67 vmov.f32 s0, s15 805eee6: f7f6 fd7f bl 80559e8 805eeea: e00f b.n 805ef0c } else { Octaves[3] = rms8; 805eeec: 4b70 ldr r3, [pc, #448] ; (805f0b0 ) 805eeee: 681a ldr r2, [r3, #0] 805eef0: 463b mov r3, r7 805eef2: 60da str r2, [r3, #12] Octaves[2] = rms4; 805eef4: 4b70 ldr r3, [pc, #448] ; (805f0b8 ) 805eef6: 681a ldr r2, [r3, #0] 805eef8: 463b mov r3, r7 805eefa: 609a str r2, [r3, #8] Octaves[1] = rms2; 805eefc: 4b6f ldr r3, [pc, #444] ; (805f0bc ) 805eefe: 681a ldr r2, [r3, #0] 805ef00: 463b mov r3, r7 805ef02: 605a str r2, [r3, #4] Octaves[0] = rms1; 805ef04: 4b64 ldr r3, [pc, #400] ; (805f098 ) 805ef06: 681a ldr r2, [r3, #0] 805ef08: 463b mov r3, r7 805ef0a: 601a str r2, [r3, #0] } fs = 1.0f; 805ef0c: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 805ef10: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 if(pardata.IPR == VEL) 805ef14: 4b63 ldr r3, [pc, #396] ; (805f0a4 ) 805ef16: 785b ldrb r3, [r3, #1] 805ef18: b2db uxtb r3, r3 805ef1a: 2b01 cmp r3, #1 805ef1c: d103 bne.n 805ef26 fs = 249.135f; 805ef1e: 4b68 ldr r3, [pc, #416] ; (805f0c0 ) 805ef20: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 805ef24: e007 b.n 805ef36 else if(pardata.IPR == DIS) 805ef26: 4b5f ldr r3, [pc, #380] ; (805f0a4 ) 805ef28: 785b ldrb r3, [r3, #1] 805ef2a: b2db uxtb r3, r3 805ef2c: 2b02 cmp r3, #2 805ef2e: d102 bne.n 805ef36 fs = 61400.171f; 805ef30: 4b64 ldr r3, [pc, #400] ; (805f0c4 ) 805ef32: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 for(i = 0; i < 15; i++) { 805ef36: 2300 movs r3, #0 805ef38: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ef3c: e016 b.n 805ef6c In[i] = Octaves[i] * fs; 805ef3e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ef42: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ef46: 4639 mov r1, r7 805ef48: 0092 lsls r2, r2, #2 805ef4a: 440a add r2, r1 805ef4c: ed92 7a00 vldr s14, [r2] 805ef50: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 805ef54: ee67 7a27 vmul.f32 s15, s14, s15 805ef58: 4a5b ldr r2, [pc, #364] ; (805f0c8 ) 805ef5a: 009b lsls r3, r3, #2 805ef5c: 4413 add r3, r2 805ef5e: edc3 7a00 vstr s15, [r3] for(i = 0; i < 15; i++) { 805ef62: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ef66: 3301 adds r3, #1 805ef68: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ef6c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ef70: 2b0e cmp r3, #14 805ef72: d9e4 bls.n 805ef3e } if(pardata.IPR > ACC) 805ef74: 4b4b ldr r3, [pc, #300] ; (805f0a4 ) 805ef76: 785b ldrb r3, [r3, #1] 805ef78: b2db uxtb r3, r3 805ef7a: 2b00 cmp r3, #0 805ef7c: d003 beq.n 805ef86 In[0] = 0.0f; 805ef7e: 4b52 ldr r3, [pc, #328] ; (805f0c8 ) 805ef80: f04f 0200 mov.w r2, #0 805ef84: 601a str r2, [r3, #0] rms0_8 = 0.0f; 805ef86: 4b51 ldr r3, [pc, #324] ; (805f0cc ) 805ef88: f04f 0200 mov.w r2, #0 805ef8c: 601a str r2, [r3, #0] rms1 = 0.0f; 805ef8e: 4b42 ldr r3, [pc, #264] ; (805f098 ) 805ef90: f04f 0200 mov.w r2, #0 805ef94: 601a str r2, [r3, #0] rms1_25 = 0.0f; 805ef96: 4b4e ldr r3, [pc, #312] ; (805f0d0 ) 805ef98: f04f 0200 mov.w r2, #0 805ef9c: 601a str r2, [r3, #0] rms1_6 = 0.0f; 805ef9e: 4b4d ldr r3, [pc, #308] ; (805f0d4 ) 805efa0: f04f 0200 mov.w r2, #0 805efa4: 601a str r2, [r3, #0] rms2 = 0.0f; 805efa6: 4b45 ldr r3, [pc, #276] ; (805f0bc ) 805efa8: f04f 0200 mov.w r2, #0 805efac: 601a str r2, [r3, #0] rms2_5 = 0.0f; 805efae: 4b4a ldr r3, [pc, #296] ; (805f0d8 ) 805efb0: f04f 0200 mov.w r2, #0 805efb4: 601a str r2, [r3, #0] rms3_15 = 0.0f; 805efb6: 4b49 ldr r3, [pc, #292] ; (805f0dc ) 805efb8: f04f 0200 mov.w r2, #0 805efbc: 601a str r2, [r3, #0] rms4 = 0.0f; 805efbe: 4b3e ldr r3, [pc, #248] ; (805f0b8 ) 805efc0: f04f 0200 mov.w r2, #0 805efc4: 601a str r2, [r3, #0] rms5 = 0.0f; 805efc6: 4b46 ldr r3, [pc, #280] ; (805f0e0 ) 805efc8: f04f 0200 mov.w r2, #0 805efcc: 601a str r2, [r3, #0] rms6_3 = 0.0f; 805efce: 4b45 ldr r3, [pc, #276] ; (805f0e4 ) 805efd0: f04f 0200 mov.w r2, #0 805efd4: 601a str r2, [r3, #0] rms8 = 0.0f; 805efd6: 4b36 ldr r3, [pc, #216] ; (805f0b0 ) 805efd8: f04f 0200 mov.w r2, #0 805efdc: 601a str r2, [r3, #0] rms10 = 0.0f; 805efde: 4b42 ldr r3, [pc, #264] ; (805f0e8 ) 805efe0: f04f 0200 mov.w r2, #0 805efe4: 601a str r2, [r3, #0] FastCopy16(IN_Reg, SCR_Reg, 30); 805efe6: 221e movs r2, #30 805efe8: 2104 movs r1, #4 805efea: 2001 movs r0, #1 805efec: f005 f9c4 bl 8064378 MeanCnt = 0; 805eff0: 4b2b ldr r3, [pc, #172] ; (805f0a0 ) 805eff2: 2200 movs r2, #0 805eff4: 601a str r2, [r3, #0] if(firstOkt) 805eff6: 4b3d ldr r3, [pc, #244] ; (805f0ec ) 805eff8: 781b ldrb r3, [r3, #0] 805effa: b2db uxtb r3, r3 805effc: 2b00 cmp r3, #0 805effe: d005 beq.n 805f00c { firstOkt = false; 805f000: 4b3a ldr r3, [pc, #232] ; (805f0ec ) 805f002: 2200 movs r2, #0 805f004: 701a strb r2, [r3, #0] AUTOZOOM = true; 805f006: 4b3a ldr r3, [pc, #232] ; (805f0f0 ) 805f008: 2201 movs r2, #1 805f00a: 701a strb r2, [r3, #0] } READY_TO_SEE = true; 805f00c: 4b39 ldr r3, [pc, #228] ; (805f0f4 ) 805f00e: 2201 movs r2, #1 805f010: 701a strb r2, [r3, #0] } } //**************************************************************************** cntcnt = DWT->CYCCNT - cntcnt; 805f012: 4b39 ldr r3, [pc, #228] ; (805f0f8 ) 805f014: 685b ldr r3, [r3, #4] 805f016: 4619 mov r1, r3 805f018: f04f 0200 mov.w r2, #0 805f01c: f507 73f8 add.w r3, r7, #496 ; 0x1f0 805f020: cb18 ldmia r3, {r3, r4} 805f022: 1acb subs r3, r1, r3 805f024: eb62 0404 sbc.w r4, r2, r4 805f028: f507 72f8 add.w r2, r7, #496 ; 0x1f0 805f02c: e882 0018 stmia.w r2, {r3, r4} cntcnt = 0; 805f030: f04f 0300 mov.w r3, #0 805f034: f04f 0400 mov.w r4, #0 805f038: f507 72f8 add.w r2, r7, #496 ; 0x1f0 805f03c: e882 0018 stmia.w r2, {r3, r4} { 805f040: bf00 nop else { RepeatKm = true; } } break; 805f042: f005 b854 b.w 80640ee RepeatKm = true; 805f046: 4b2d ldr r3, [pc, #180] ; (805f0fc ) 805f048: 2201 movs r2, #1 805f04a: 701a strb r2, [r3, #0] break; 805f04c: f005 b84f b.w 80640ee case SPEC_THIRD: if(measuring) 805f050: 4b2b ldr r3, [pc, #172] ; (805f100 ) 805f052: 781b ldrb r3, [r3, #0] 805f054: b2db uxtb r3, r3 805f056: 2b00 cmp r3, #0 805f058: f005 804b beq.w 80640f2 { GetData(); 805f05c: f005 fb02 bl 8064664 j = 0; 805f060: 2300 movs r3, #0 805f062: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(pardata.OPTIONS & 0x4) 805f066: 4b0f ldr r3, [pc, #60] ; (805f0a4 ) 805f068: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 805f06c: f003 0304 and.w r3, r3, #4 805f070: 2b00 cmp r3, #0 805f072: d005 beq.n 805f080 CalculateGain(Ns); 805f074: 4b23 ldr r3, [pc, #140] ; (805f104 ) 805f076: 681b ldr r3, [r3, #0] 805f078: 4618 mov r0, r3 805f07a: f7f6 fcd7 bl 8055a2c 805f07e: e06a b.n 805f156 else { Stability = (Nr * 4) + 1; 805f080: 4b21 ldr r3, [pc, #132] ; (805f108 ) 805f082: 881b ldrh r3, [r3, #0] 805f084: b29b uxth r3, r3 805f086: 009b lsls r3, r3, #2 805f088: 3301 adds r3, #1 805f08a: 461a mov r2, r3 805f08c: 4b1f ldr r3, [pc, #124] ; (805f10c ) 805f08e: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 805f090: 2300 movs r3, #0 805f092: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f096: e04d b.n 805f134 805f098: 20021d10 .word 0x20021d10 805f09c: 20020d90 .word 0x20020d90 805f0a0: 20020db8 .word 0x20020db8 805f0a4: 20023e60 .word 0x20023e60 805f0a8: 080eeb38 .word 0x080eeb38 805f0ac: 42800000 .word 0x42800000 805f0b0: 20021cd0 .word 0x20021cd0 805f0b4: 42000000 .word 0x42000000 805f0b8: 20021d18 .word 0x20021d18 805f0bc: 20021cd8 .word 0x20021cd8 805f0c0: 4379228f .word 0x4379228f 805f0c4: 476fd82c .word 0x476fd82c 805f0c8: 200279c0 .word 0x200279c0 805f0cc: 20021cd4 .word 0x20021cd4 805f0d0: 20021cc8 .word 0x20021cc8 805f0d4: 20021ccc .word 0x20021ccc 805f0d8: 20021cf8 .word 0x20021cf8 805f0dc: 20021d14 .word 0x20021d14 805f0e0: 20021ce4 .word 0x20021ce4 805f0e4: 20021ce0 .word 0x20021ce0 805f0e8: 20021d0c .word 0x20021d0c 805f0ec: 20020d94 .word 0x20020d94 805f0f0: 2002098c .word 0x2002098c 805f0f4: 20020d8e .word 0x20020d8e 805f0f8: e0001000 .word 0xe0001000 805f0fc: 20020dac .word 0x20020dac 805f100: 20020daf .word 0x20020daf 805f104: 20021cdc .word 0x20021cdc 805f108: 20021d20 .word 0x20021d20 805f10c: 20020da8 .word 0x20020da8 { if(In16[i].lg > 0xE00000) 805f110: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f114: 4ab2 ldr r2, [pc, #712] ; (805f3e0 ) 805f116: f852 3023 ldr.w r3, [r2, r3, lsl #2] 805f11a: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 805f11e: d904 bls.n 805f12a j++; 805f120: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805f124: 3301 adds r3, #1 805f126: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 805f12a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f12e: 3301 adds r3, #1 805f130: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f134: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f138: 4baa ldr r3, [pc, #680] ; (805f3e4 ) 805f13a: 681b ldr r3, [r3, #0] 805f13c: 429a cmp r2, r3 805f13e: d3e7 bcc.n 805f110 } if(j >= 2) 805f140: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 805f144: 2b01 cmp r3, #1 805f146: d903 bls.n 805f150 OVERDRIVE = true; 805f148: 4ba7 ldr r3, [pc, #668] ; (805f3e8 ) 805f14a: 2201 movs r2, #1 805f14c: 701a strb r2, [r3, #0] 805f14e: e002 b.n 805f156 else OVERDRIVE = false; 805f150: 4ba5 ldr r3, [pc, #660] ; (805f3e8 ) 805f152: 2200 movs r2, #0 805f154: 701a strb r2, [r3, #0] } if(Flag_Set_KU) 805f156: 4ba5 ldr r3, [pc, #660] ; (805f3ec ) 805f158: 781b ldrb r3, [r3, #0] 805f15a: b2db uxtb r3, r3 805f15c: 2b00 cmp r3, #0 805f15e: d00a beq.n 805f176 { Stability = 0; 805f160: 4ba3 ldr r3, [pc, #652] ; (805f3f0 ) 805f162: 2200 movs r2, #0 805f164: 601a str r2, [r3, #0] MeanCnt = 0; 805f166: 4ba3 ldr r3, [pc, #652] ; (805f3f4 ) 805f168: 2200 movs r2, #0 805f16a: 601a str r2, [r3, #0] NSamples = 0xffffffff; 805f16c: 4ba2 ldr r3, [pc, #648] ; (805f3f8 ) 805f16e: f04f 32ff mov.w r2, #4294967295 805f172: 601a str r2, [r3, #0] 805f174: e00d b.n 805f192 } else { if(Stability <= (Nr * 4)) 805f176: 4ba1 ldr r3, [pc, #644] ; (805f3fc ) 805f178: 881b ldrh r3, [r3, #0] 805f17a: b29b uxth r3, r3 805f17c: 009b lsls r3, r3, #2 805f17e: 461a mov r2, r3 805f180: 4b9b ldr r3, [pc, #620] ; (805f3f0 ) 805f182: 681b ldr r3, [r3, #0] 805f184: 429a cmp r2, r3 805f186: d304 bcc.n 805f192 Stability++; 805f188: 4b99 ldr r3, [pc, #612] ; (805f3f0 ) 805f18a: 681b ldr r3, [r3, #0] 805f18c: 3301 adds r3, #1 805f18e: 4a98 ldr r2, [pc, #608] ; (805f3f0 ) 805f190: 6013 str r3, [r2, #0] } float32_t Third[39]; if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) //åñëè àâòîóñèëåíèå íîðì 805f192: 4b96 ldr r3, [pc, #600] ; (805f3ec ) 805f194: 781b ldrb r3, [r3, #0] 805f196: b2db uxtb r3, r3 805f198: 2b00 cmp r3, #0 805f19a: f043 8336 bne.w 806280a 805f19e: 4b97 ldr r3, [pc, #604] ; (805f3fc ) 805f1a0: 881b ldrh r3, [r3, #0] 805f1a2: b29b uxth r3, r3 805f1a4: 009b lsls r3, r3, #2 805f1a6: 461a mov r2, r3 805f1a8: 4b91 ldr r3, [pc, #580] ; (805f3f0 ) 805f1aa: 681b ldr r3, [r3, #0] 805f1ac: 429a cmp r2, r3 805f1ae: f083 832c bcs.w 806280a { if(!cntOkt) 805f1b2: 4b93 ldr r3, [pc, #588] ; (805f400 ) 805f1b4: 681b ldr r3, [r3, #0] 805f1b6: 2b00 cmp r3, #0 805f1b8: d104 bne.n 805f1c4 { thrd = HAL_GetTick(); 805f1ba: f054 f859 bl 80b3270 805f1be: 4602 mov r2, r0 805f1c0: 4b90 ldr r3, [pc, #576] ; (805f404 ) 805f1c2: 601a str r2, [r3, #0] } uint64_t cntcnt = DWT->CYCCNT; 805f1c4: 4b90 ldr r3, [pc, #576] ; (805f408 ) 805f1c6: 685b ldr r3, [r3, #4] 805f1c8: f04f 0400 mov.w r4, #0 805f1cc: f507 72f4 add.w r2, r7, #488 ; 0x1e8 805f1d0: e882 0018 stmia.w r2, {r3, r4} fNrm = 1.0f / ((float32_t)(Ns >> 1)); 805f1d4: 4b83 ldr r3, [pc, #524] ; (805f3e4 ) 805f1d6: 681b ldr r3, [r3, #0] 805f1d8: 085b lsrs r3, r3, #1 805f1da: ee07 3a90 vmov s15, r3 805f1de: eeb8 7a67 vcvt.f32.u32 s14, s15 805f1e2: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 805f1e6: eec6 7a87 vdiv.f32 s15, s13, s14 805f1ea: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 805f1ee: 4b87 ldr r3, [pc, #540] ; (805f40c ) 805f1f0: edd3 7a00 vldr s15, [r3] 805f1f4: eeb7 7ae7 vcvt.f64.f32 d7, s15 805f1f8: ed9f 6b77 vldr d6, [pc, #476] ; 805f3d8 805f1fc: ee27 7b06 vmul.f64 d7, d7, d6 805f200: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 805f204: 4b82 ldr r3, [pc, #520] ; (805f410 ) 805f206: edd3 7a04 vldr s15, [r3, #16] 805f20a: eeb7 6ae7 vcvt.f64.f32 d6, s15 805f20e: ed97 5b82 vldr d5, [r7, #520] ; 0x208 805f212: ee85 7b06 vdiv.f64 d7, d5, d6 805f216: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 805f21a: 2300 movs r3, #0 805f21c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f220: e026 b.n 805f270 { Buff64[i] = (float64_t) In16[i].lg; 805f222: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f226: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f22a: 496d ldr r1, [pc, #436] ; (805f3e0 ) 805f22c: f851 2022 ldr.w r2, [r1, r2, lsl #2] 805f230: ee07 2a90 vmov s15, r2 805f234: eeb8 7b67 vcvt.f64.u32 d7, s15 805f238: 4a76 ldr r2, [pc, #472] ; (805f414 ) 805f23a: 00db lsls r3, r3, #3 805f23c: 4413 add r3, r2 805f23e: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 805f242: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f246: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f24a: 4972 ldr r1, [pc, #456] ; (805f414 ) 805f24c: 00d2 lsls r2, r2, #3 805f24e: 440a add r2, r1 805f250: ed92 6b00 vldr d6, [r2] 805f254: ed97 7b82 vldr d7, [r7, #520] ; 0x208 805f258: ee26 7b07 vmul.f64 d7, d6, d7 805f25c: 4a6d ldr r2, [pc, #436] ; (805f414 ) 805f25e: 00db lsls r3, r3, #3 805f260: 4413 add r3, r2 805f262: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 805f266: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f26a: 3301 adds r3, #1 805f26c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f270: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f274: 4b5b ldr r3, [pc, #364] ; (805f3e4 ) 805f276: 681b ldr r3, [r3, #0] 805f278: 429a cmp r2, r3 805f27a: d3d2 bcc.n 805f222 } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 805f27c: 4b59 ldr r3, [pc, #356] ; (805f3e4 ) 805f27e: 681b ldr r3, [r3, #0] 805f280: 4a64 ldr r2, [pc, #400] ; (805f414 ) 805f282: 4964 ldr r1, [pc, #400] ; (805f414 ) 805f284: 4864 ldr r0, [pc, #400] ; (805f418 ) 805f286: f06a ffa9 bl 80ca1dc if(pardata.IPR == ACC) 805f28a: 4b61 ldr r3, [pc, #388] ; (805f410 ) 805f28c: 785b ldrb r3, [r3, #1] 805f28e: b2db uxtb r3, r3 805f290: 2b00 cmp r3, #0 805f292: d107 bne.n 805f2a4 { arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 805f294: 4b53 ldr r3, [pc, #332] ; (805f3e4 ) 805f296: 681b ldr r3, [r3, #0] 805f298: 4a5e ldr r2, [pc, #376] ; (805f414 ) 805f29a: 495e ldr r1, [pc, #376] ; (805f414 ) 805f29c: 485f ldr r0, [pc, #380] ; (805f41c ) 805f29e: f06a ff9d bl 80ca1dc 805f2a2: e026 b.n 805f2f2 } else if(pardata.IPR == VEL) 805f2a4: 4b5a ldr r3, [pc, #360] ; (805f410 ) 805f2a6: 785b ldrb r3, [r3, #1] 805f2a8: b2db uxtb r3, r3 805f2aa: 2b01 cmp r3, #1 805f2ac: d10e bne.n 805f2cc { arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, Buff64, Ns); 805f2ae: 4b4d ldr r3, [pc, #308] ; (805f3e4 ) 805f2b0: 681b ldr r3, [r3, #0] 805f2b2: 4a58 ldr r2, [pc, #352] ; (805f414 ) 805f2b4: 4957 ldr r1, [pc, #348] ; (805f414 ) 805f2b6: 485a ldr r0, [pc, #360] ; (805f420 ) 805f2b8: f06a ff90 bl 80ca1dc arm_biquad_cascade_df2T_f64(&S_HP_VEL, Buff64, Buff64, Ns); 805f2bc: 4b49 ldr r3, [pc, #292] ; (805f3e4 ) 805f2be: 681b ldr r3, [r3, #0] 805f2c0: 4a54 ldr r2, [pc, #336] ; (805f414 ) 805f2c2: 4954 ldr r1, [pc, #336] ; (805f414 ) 805f2c4: 4857 ldr r0, [pc, #348] ; (805f424 ) 805f2c6: f06a ff89 bl 80ca1dc 805f2ca: e012 b.n 805f2f2 } else if(pardata.IPR == DIS) 805f2cc: 4b50 ldr r3, [pc, #320] ; (805f410 ) 805f2ce: 785b ldrb r3, [r3, #1] 805f2d0: b2db uxtb r3, r3 805f2d2: 2b02 cmp r3, #2 805f2d4: d10d bne.n 805f2f2 { arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, Buff64, Ns); 805f2d6: 4b43 ldr r3, [pc, #268] ; (805f3e4 ) 805f2d8: 681b ldr r3, [r3, #0] 805f2da: 4a4e ldr r2, [pc, #312] ; (805f414 ) 805f2dc: 494d ldr r1, [pc, #308] ; (805f414 ) 805f2de: 4852 ldr r0, [pc, #328] ; (805f428 ) 805f2e0: f06a ff7c bl 80ca1dc arm_biquad_cascade_df2T_f64(&S_HP_DIS, Buff64, Buff64, Ns); 805f2e4: 4b3f ldr r3, [pc, #252] ; (805f3e4 ) 805f2e6: 681b ldr r3, [r3, #0] 805f2e8: 4a4a ldr r2, [pc, #296] ; (805f414 ) 805f2ea: 494a ldr r1, [pc, #296] ; (805f414 ) 805f2ec: 484f ldr r0, [pc, #316] ; (805f42c ) 805f2ee: f06a ff75 bl 80ca1dc } k = 38; 805f2f2: 2326 movs r3, #38 ; 0x26 805f2f4: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 len = 8192; 805f2f8: f44f 5300 mov.w r3, #8192 ; 0x2000 805f2fc: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 arm_biquad_cascade_df2T_f64(&S_LP_4000, &Buff64[0], &Buff64[0], len); 805f300: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f304: 4a43 ldr r2, [pc, #268] ; (805f414 ) 805f306: 4943 ldr r1, [pc, #268] ; (805f414 ) 805f308: 4849 ldr r0, [pc, #292] ; (805f430 ) 805f30a: f06a ff67 bl 80ca1dc len >>= 1; 805f30e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f312: 085b lsrs r3, r3, #1 805f314: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 805f318: 2300 movs r3, #0 805f31a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f31e: e012 b.n 805f346 Buff64[i] = Buff64[i << 1]; 805f320: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f324: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f328: 005b lsls r3, r3, #1 805f32a: 493a ldr r1, [pc, #232] ; (805f414 ) 805f32c: 00db lsls r3, r3, #3 805f32e: 440b add r3, r1 805f330: cb18 ldmia r3, {r3, r4} 805f332: 4938 ldr r1, [pc, #224] ; (805f414 ) 805f334: 00d2 lsls r2, r2, #3 805f336: 440a add r2, r1 805f338: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 805f33c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f340: 3301 adds r3, #1 805f342: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f346: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f34a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f34e: 429a cmp r2, r3 805f350: d3e6 bcc.n 805f320 } //** 5000 arm_biquad_cascade_df2T_f64(&S_OKT_5000Hz, &Buff64[0], &Buff64[Ns], len); 805f352: 4b24 ldr r3, [pc, #144] ; (805f3e4 ) 805f354: 681b ldr r3, [r3, #0] 805f356: 00db lsls r3, r3, #3 805f358: 4a2e ldr r2, [pc, #184] ; (805f414 ) 805f35a: 441a add r2, r3 805f35c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f360: 492c ldr r1, [pc, #176] ; (805f414 ) 805f362: 4834 ldr r0, [pc, #208] ; (805f434 ) 805f364: f06a ff3a bl 80ca1dc for(i = 0; i < len; i++) { 805f368: 2300 movs r3, #0 805f36a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f36e: e017 b.n 805f3a0 In[i] = (float32_t) Buff64[Ns + i]; 805f370: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f374: 4a1b ldr r2, [pc, #108] ; (805f3e4 ) 805f376: 6811 ldr r1, [r2, #0] 805f378: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f37c: 440a add r2, r1 805f37e: 4925 ldr r1, [pc, #148] ; (805f414 ) 805f380: 00d2 lsls r2, r2, #3 805f382: 440a add r2, r1 805f384: ed92 7b00 vldr d7, [r2] 805f388: eef7 7bc7 vcvt.f32.f64 s15, d7 805f38c: 4a2a ldr r2, [pc, #168] ; (805f438 ) 805f38e: 009b lsls r3, r3, #2 805f390: 4413 add r3, r2 805f392: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805f396: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f39a: 3301 adds r3, #1 805f39c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f3a0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f3a4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f3a8: 429a cmp r2, r3 805f3aa: d3e1 bcc.n 805f370 } if(pardata.IVS[ACC] == RMS) 805f3ac: 4b18 ldr r3, [pc, #96] ; (805f410 ) 805f3ae: 789b ldrb r3, [r3, #2] 805f3b0: b2db uxtb r3, r3 805f3b2: 2b01 cmp r3, #1 805f3b4: d142 bne.n 805f43c arm_rms_f32(In, len, &Third[k--]); 805f3b6: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f3ba: 1e5a subs r2, r3, #1 805f3bc: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f3c0: 463a mov r2, r7 805f3c2: 009b lsls r3, r3, #2 805f3c4: 4413 add r3, r2 805f3c6: 461a mov r2, r3 805f3c8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f3cc: 481a ldr r0, [pc, #104] ; (805f438 ) 805f3ce: f06a fd63 bl 80c9e98 805f3d2: e076 b.n 805f4c2 805f3d4: f3af 8000 nop.w 805f3d8: 18000018 .word 0x18000018 805f3dc: 3e980000 .word 0x3e980000 805f3e0: 20058020 .word 0x20058020 805f3e4: 20021cdc .word 0x20021cdc 805f3e8: 20021531 .word 0x20021531 805f3ec: 20020d7e .word 0x20020d7e 805f3f0: 20020da8 .word 0x20020da8 805f3f4: 20020db8 .word 0x20020db8 805f3f8: 20020d88 .word 0x20020d88 805f3fc: 20021d20 .word 0x20021d20 805f400: 20020d90 .word 0x20020d90 805f404: 20021534 .word 0x20021534 805f408: e0001000 .word 0xe0001000 805f40c: 20020080 .word 0x20020080 805f410: 20023e60 .word 0x20023e60 805f414: 20037ae0 .word 0x20037ae0 805f418: 20026564 .word 0x20026564 805f41c: 20025f00 .word 0x20025f00 805f420: 20026170 .word 0x20026170 805f424: 20025e78 .word 0x20025e78 805f428: 200278c4 .word 0x200278c4 805f42c: 20027950 .word 0x20027950 805f430: 20026cd4 .word 0x20026cd4 805f434: 200683f4 .word 0x200683f4 805f438: 200279c0 .word 0x200279c0 else { arm_min_f32(In, len, &fn[0], &i); 805f43c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f440: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f444: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f448: 48be ldr r0, [pc, #760] ; (805f744 ) 805f44a: f06a fdb7 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 805f44e: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f452: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f456: 1d1a adds r2, r3, #4 805f458: 460b mov r3, r1 805f45a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f45e: 48b9 ldr r0, [pc, #740] ; (805f744 ) 805f460: f06a fe48 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f464: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f468: eef5 7ac0 vcmpe.f32 s15, #0.0 805f46c: eef1 fa10 vmrs APSR_nzcv, fpscr 805f470: dd02 ble.n 805f478 805f472: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f476: e003 b.n 805f480 805f478: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f47c: eef1 7a67 vneg.f32 s15, s15 805f480: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f484: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f488: eef5 7ac0 vcmpe.f32 s15, #0.0 805f48c: eef1 fa10 vmrs APSR_nzcv, fpscr 805f490: dd02 ble.n 805f498 805f492: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f496: e003 b.n 805f4a0 805f498: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f49c: eef1 7a67 vneg.f32 s15, s15 805f4a0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805f4a4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f4a8: 1e5a subs r2, r3, #1 805f4aa: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f4ae: 463a mov r2, r7 805f4b0: 009b lsls r3, r3, #2 805f4b2: 441a add r2, r3 805f4b4: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805f4b8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f4bc: 2102 movs r1, #2 805f4be: f06a fe19 bl 80ca0f4 } //** 4000 arm_biquad_cascade_df2T_f64(&S_OKT_4000Hz, &Buff64[0], &Buff64[Ns], len); 805f4c2: 4ba1 ldr r3, [pc, #644] ; (805f748 ) 805f4c4: 681b ldr r3, [r3, #0] 805f4c6: 00db lsls r3, r3, #3 805f4c8: 4aa0 ldr r2, [pc, #640] ; (805f74c ) 805f4ca: 441a add r2, r3 805f4cc: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f4d0: 499e ldr r1, [pc, #632] ; (805f74c ) 805f4d2: 489f ldr r0, [pc, #636] ; (805f750 ) 805f4d4: f06a fe82 bl 80ca1dc for(i = 0; i < len; i++) { 805f4d8: 2300 movs r3, #0 805f4da: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f4de: e017 b.n 805f510 In[i] = (float32_t) Buff64[Ns + i]; 805f4e0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f4e4: 4a98 ldr r2, [pc, #608] ; (805f748 ) 805f4e6: 6811 ldr r1, [r2, #0] 805f4e8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f4ec: 440a add r2, r1 805f4ee: 4997 ldr r1, [pc, #604] ; (805f74c ) 805f4f0: 00d2 lsls r2, r2, #3 805f4f2: 440a add r2, r1 805f4f4: ed92 7b00 vldr d7, [r2] 805f4f8: eef7 7bc7 vcvt.f32.f64 s15, d7 805f4fc: 4a91 ldr r2, [pc, #580] ; (805f744 ) 805f4fe: 009b lsls r3, r3, #2 805f500: 4413 add r3, r2 805f502: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805f506: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f50a: 3301 adds r3, #1 805f50c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f510: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f514: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f518: 429a cmp r2, r3 805f51a: d3e1 bcc.n 805f4e0 } if(pardata.IVS[ACC] == RMS) 805f51c: 4b8d ldr r3, [pc, #564] ; (805f754 ) 805f51e: 789b ldrb r3, [r3, #2] 805f520: b2db uxtb r3, r3 805f522: 2b01 cmp r3, #1 805f524: d10e bne.n 805f544 arm_rms_f32(In, len, &Third[k--]); 805f526: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f52a: 1e5a subs r2, r3, #1 805f52c: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f530: 463a mov r2, r7 805f532: 009b lsls r3, r3, #2 805f534: 4413 add r3, r2 805f536: 461a mov r2, r3 805f538: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f53c: 4881 ldr r0, [pc, #516] ; (805f744 ) 805f53e: f06a fcab bl 80c9e98 805f542: e042 b.n 805f5ca else { arm_min_f32(In, len, &fn[0], &i); 805f544: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f548: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f54c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f550: 487c ldr r0, [pc, #496] ; (805f744 ) 805f552: f06a fd33 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 805f556: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f55a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f55e: 1d1a adds r2, r3, #4 805f560: 460b mov r3, r1 805f562: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f566: 4877 ldr r0, [pc, #476] ; (805f744 ) 805f568: f06a fdc4 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f56c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f570: eef5 7ac0 vcmpe.f32 s15, #0.0 805f574: eef1 fa10 vmrs APSR_nzcv, fpscr 805f578: dd02 ble.n 805f580 805f57a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f57e: e003 b.n 805f588 805f580: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f584: eef1 7a67 vneg.f32 s15, s15 805f588: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f58c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f590: eef5 7ac0 vcmpe.f32 s15, #0.0 805f594: eef1 fa10 vmrs APSR_nzcv, fpscr 805f598: dd02 ble.n 805f5a0 805f59a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f59e: e003 b.n 805f5a8 805f5a0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f5a4: eef1 7a67 vneg.f32 s15, s15 805f5a8: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805f5ac: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f5b0: 1e5a subs r2, r3, #1 805f5b2: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f5b6: 463a mov r2, r7 805f5b8: 009b lsls r3, r3, #2 805f5ba: 441a add r2, r3 805f5bc: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805f5c0: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f5c4: 2102 movs r1, #2 805f5c6: f06a fd95 bl 80ca0f4 } //** 3150 arm_biquad_cascade_df2T_f64(&S_OKT_3150Hz, &Buff64[0], &Buff64[Ns], len); 805f5ca: 4b5f ldr r3, [pc, #380] ; (805f748 ) 805f5cc: 681b ldr r3, [r3, #0] 805f5ce: 00db lsls r3, r3, #3 805f5d0: 4a5e ldr r2, [pc, #376] ; (805f74c ) 805f5d2: 441a add r2, r3 805f5d4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f5d8: 495c ldr r1, [pc, #368] ; (805f74c ) 805f5da: 485f ldr r0, [pc, #380] ; (805f758 ) 805f5dc: f06a fdfe bl 80ca1dc for(i = 0; i < len; i++) { 805f5e0: 2300 movs r3, #0 805f5e2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f5e6: e017 b.n 805f618 In[i] = (float32_t) Buff64[Ns + i]; 805f5e8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f5ec: 4a56 ldr r2, [pc, #344] ; (805f748 ) 805f5ee: 6811 ldr r1, [r2, #0] 805f5f0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f5f4: 440a add r2, r1 805f5f6: 4955 ldr r1, [pc, #340] ; (805f74c ) 805f5f8: 00d2 lsls r2, r2, #3 805f5fa: 440a add r2, r1 805f5fc: ed92 7b00 vldr d7, [r2] 805f600: eef7 7bc7 vcvt.f32.f64 s15, d7 805f604: 4a4f ldr r2, [pc, #316] ; (805f744 ) 805f606: 009b lsls r3, r3, #2 805f608: 4413 add r3, r2 805f60a: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805f60e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f612: 3301 adds r3, #1 805f614: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f618: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f61c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f620: 429a cmp r2, r3 805f622: d3e1 bcc.n 805f5e8 } if(pardata.IVS[ACC] == RMS) 805f624: 4b4b ldr r3, [pc, #300] ; (805f754 ) 805f626: 789b ldrb r3, [r3, #2] 805f628: b2db uxtb r3, r3 805f62a: 2b01 cmp r3, #1 805f62c: d10e bne.n 805f64c arm_rms_f32(In, len, &Third[k--]); 805f62e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f632: 1e5a subs r2, r3, #1 805f634: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f638: 463a mov r2, r7 805f63a: 009b lsls r3, r3, #2 805f63c: 4413 add r3, r2 805f63e: 461a mov r2, r3 805f640: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f644: 483f ldr r0, [pc, #252] ; (805f744 ) 805f646: f06a fc27 bl 80c9e98 805f64a: e042 b.n 805f6d2 else { arm_min_f32(In, len, &fn[0], &i); 805f64c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f650: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f654: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f658: 483a ldr r0, [pc, #232] ; (805f744 ) 805f65a: f06a fcaf bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 805f65e: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f662: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f666: 1d1a adds r2, r3, #4 805f668: 460b mov r3, r1 805f66a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f66e: 4835 ldr r0, [pc, #212] ; (805f744 ) 805f670: f06a fd40 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f674: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f678: eef5 7ac0 vcmpe.f32 s15, #0.0 805f67c: eef1 fa10 vmrs APSR_nzcv, fpscr 805f680: dd02 ble.n 805f688 805f682: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f686: e003 b.n 805f690 805f688: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f68c: eef1 7a67 vneg.f32 s15, s15 805f690: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f694: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f698: eef5 7ac0 vcmpe.f32 s15, #0.0 805f69c: eef1 fa10 vmrs APSR_nzcv, fpscr 805f6a0: dd02 ble.n 805f6a8 805f6a2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f6a6: e003 b.n 805f6b0 805f6a8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f6ac: eef1 7a67 vneg.f32 s15, s15 805f6b0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805f6b4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f6b8: 1e5a subs r2, r3, #1 805f6ba: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f6be: 463a mov r2, r7 805f6c0: 009b lsls r3, r3, #2 805f6c2: 441a add r2, r3 805f6c4: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805f6c8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f6cc: 2102 movs r1, #2 805f6ce: f06a fd11 bl 80ca0f4 } arm_biquad_cascade_df2T_f64(&S_LP_2000, &Buff64[0], &Buff64[0], len); 805f6d2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f6d6: 4a1d ldr r2, [pc, #116] ; (805f74c ) 805f6d8: 491c ldr r1, [pc, #112] ; (805f74c ) 805f6da: 4820 ldr r0, [pc, #128] ; (805f75c ) 805f6dc: f06a fd7e bl 80ca1dc len >>= 1; 805f6e0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f6e4: 085b lsrs r3, r3, #1 805f6e6: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 805f6ea: 2300 movs r3, #0 805f6ec: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f6f0: e012 b.n 805f718 Buff64[i] = Buff64[i << 1]; 805f6f2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f6f6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f6fa: 005b lsls r3, r3, #1 805f6fc: 4913 ldr r1, [pc, #76] ; (805f74c ) 805f6fe: 00db lsls r3, r3, #3 805f700: 440b add r3, r1 805f702: cb18 ldmia r3, {r3, r4} 805f704: 4911 ldr r1, [pc, #68] ; (805f74c ) 805f706: 00d2 lsls r2, r2, #3 805f708: 440a add r2, r1 805f70a: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 805f70e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f712: 3301 adds r3, #1 805f714: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f718: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f71c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f720: 429a cmp r2, r3 805f722: d3e6 bcc.n 805f6f2 } //** 2500 arm_biquad_cascade_df2T_f64(&S_OKT_2500Hz, &Buff64[0], &Buff64[Ns], len); 805f724: 4b08 ldr r3, [pc, #32] ; (805f748 ) 805f726: 681b ldr r3, [r3, #0] 805f728: 00db lsls r3, r3, #3 805f72a: 4a08 ldr r2, [pc, #32] ; (805f74c ) 805f72c: 441a add r2, r3 805f72e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f732: 4906 ldr r1, [pc, #24] ; (805f74c ) 805f734: 480a ldr r0, [pc, #40] ; (805f760 ) 805f736: f06a fd51 bl 80ca1dc for(i = 0; i < len; i++) { 805f73a: 2300 movs r3, #0 805f73c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f740: e028 b.n 805f794 805f742: bf00 nop 805f744: 200279c0 .word 0x200279c0 805f748: 20021cdc .word 0x20021cdc 805f74c: 20037ae0 .word 0x20037ae0 805f750: 200682b8 .word 0x200682b8 805f754: 20023e60 .word 0x20023e60 805f758: 20025e84 .word 0x20025e84 805f75c: 20027920 .word 0x20027920 805f760: 20026738 .word 0x20026738 In[i] = (float32_t) Buff64[Ns + i]; 805f764: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f768: 4ac5 ldr r2, [pc, #788] ; (805fa80 ) 805f76a: 6811 ldr r1, [r2, #0] 805f76c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f770: 440a add r2, r1 805f772: 49c4 ldr r1, [pc, #784] ; (805fa84 ) 805f774: 00d2 lsls r2, r2, #3 805f776: 440a add r2, r1 805f778: ed92 7b00 vldr d7, [r2] 805f77c: eef7 7bc7 vcvt.f32.f64 s15, d7 805f780: 4ac1 ldr r2, [pc, #772] ; (805fa88 ) 805f782: 009b lsls r3, r3, #2 805f784: 4413 add r3, r2 805f786: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805f78a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f78e: 3301 adds r3, #1 805f790: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f794: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f798: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f79c: 429a cmp r2, r3 805f79e: d3e1 bcc.n 805f764 } if(pardata.IVS[ACC] == RMS) 805f7a0: 4bba ldr r3, [pc, #744] ; (805fa8c ) 805f7a2: 789b ldrb r3, [r3, #2] 805f7a4: b2db uxtb r3, r3 805f7a6: 2b01 cmp r3, #1 805f7a8: d10e bne.n 805f7c8 arm_rms_f32(In, len, &Third[k--]); 805f7aa: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f7ae: 1e5a subs r2, r3, #1 805f7b0: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f7b4: 463a mov r2, r7 805f7b6: 009b lsls r3, r3, #2 805f7b8: 4413 add r3, r2 805f7ba: 461a mov r2, r3 805f7bc: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f7c0: 48b1 ldr r0, [pc, #708] ; (805fa88 ) 805f7c2: f06a fb69 bl 80c9e98 805f7c6: e042 b.n 805f84e else { arm_min_f32(In, len, &fn[0], &i); 805f7c8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f7cc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f7d0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f7d4: 48ac ldr r0, [pc, #688] ; (805fa88 ) 805f7d6: f06a fbf1 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 805f7da: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f7de: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f7e2: 1d1a adds r2, r3, #4 805f7e4: 460b mov r3, r1 805f7e6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f7ea: 48a7 ldr r0, [pc, #668] ; (805fa88 ) 805f7ec: f06a fc82 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f7f0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f7f4: eef5 7ac0 vcmpe.f32 s15, #0.0 805f7f8: eef1 fa10 vmrs APSR_nzcv, fpscr 805f7fc: dd02 ble.n 805f804 805f7fe: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f802: e003 b.n 805f80c 805f804: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f808: eef1 7a67 vneg.f32 s15, s15 805f80c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f810: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f814: eef5 7ac0 vcmpe.f32 s15, #0.0 805f818: eef1 fa10 vmrs APSR_nzcv, fpscr 805f81c: dd02 ble.n 805f824 805f81e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f822: e003 b.n 805f82c 805f824: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f828: eef1 7a67 vneg.f32 s15, s15 805f82c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805f830: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f834: 1e5a subs r2, r3, #1 805f836: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f83a: 463a mov r2, r7 805f83c: 009b lsls r3, r3, #2 805f83e: 441a add r2, r3 805f840: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805f844: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f848: 2102 movs r1, #2 805f84a: f06a fc53 bl 80ca0f4 } //** 2000 arm_biquad_cascade_df2T_f64(&S_OKT_2000Hz, &Buff64[0], &Buff64[Ns], len); 805f84e: 4b8c ldr r3, [pc, #560] ; (805fa80 ) 805f850: 681b ldr r3, [r3, #0] 805f852: 00db lsls r3, r3, #3 805f854: 4a8b ldr r2, [pc, #556] ; (805fa84 ) 805f856: 441a add r2, r3 805f858: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f85c: 4989 ldr r1, [pc, #548] ; (805fa84 ) 805f85e: 488c ldr r0, [pc, #560] ; (805fa90 ) 805f860: f06a fcbc bl 80ca1dc for(i = 0; i < len; i++) { 805f864: 2300 movs r3, #0 805f866: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f86a: e017 b.n 805f89c In[i] = (float32_t) Buff64[Ns + i]; 805f86c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f870: 4a83 ldr r2, [pc, #524] ; (805fa80 ) 805f872: 6811 ldr r1, [r2, #0] 805f874: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f878: 440a add r2, r1 805f87a: 4982 ldr r1, [pc, #520] ; (805fa84 ) 805f87c: 00d2 lsls r2, r2, #3 805f87e: 440a add r2, r1 805f880: ed92 7b00 vldr d7, [r2] 805f884: eef7 7bc7 vcvt.f32.f64 s15, d7 805f888: 4a7f ldr r2, [pc, #508] ; (805fa88 ) 805f88a: 009b lsls r3, r3, #2 805f88c: 4413 add r3, r2 805f88e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805f892: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f896: 3301 adds r3, #1 805f898: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f89c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f8a0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f8a4: 429a cmp r2, r3 805f8a6: d3e1 bcc.n 805f86c } if(pardata.IVS[ACC] == RMS) 805f8a8: 4b78 ldr r3, [pc, #480] ; (805fa8c ) 805f8aa: 789b ldrb r3, [r3, #2] 805f8ac: b2db uxtb r3, r3 805f8ae: 2b01 cmp r3, #1 805f8b0: d10e bne.n 805f8d0 arm_rms_f32(In, len, &Third[k--]); 805f8b2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f8b6: 1e5a subs r2, r3, #1 805f8b8: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f8bc: 463a mov r2, r7 805f8be: 009b lsls r3, r3, #2 805f8c0: 4413 add r3, r2 805f8c2: 461a mov r2, r3 805f8c4: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f8c8: 486f ldr r0, [pc, #444] ; (805fa88 ) 805f8ca: f06a fae5 bl 80c9e98 805f8ce: e042 b.n 805f956 else { arm_min_f32(In, len, &fn[0], &i); 805f8d0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f8d4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f8d8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f8dc: 486a ldr r0, [pc, #424] ; (805fa88 ) 805f8de: f06a fb6d bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 805f8e2: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f8e6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f8ea: 1d1a adds r2, r3, #4 805f8ec: 460b mov r3, r1 805f8ee: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f8f2: 4865 ldr r0, [pc, #404] ; (805fa88 ) 805f8f4: f06a fbfe bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805f8f8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f8fc: eef5 7ac0 vcmpe.f32 s15, #0.0 805f900: eef1 fa10 vmrs APSR_nzcv, fpscr 805f904: dd02 ble.n 805f90c 805f906: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f90a: e003 b.n 805f914 805f90c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805f910: eef1 7a67 vneg.f32 s15, s15 805f914: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805f918: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f91c: eef5 7ac0 vcmpe.f32 s15, #0.0 805f920: eef1 fa10 vmrs APSR_nzcv, fpscr 805f924: dd02 ble.n 805f92c 805f926: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f92a: e003 b.n 805f934 805f92c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805f930: eef1 7a67 vneg.f32 s15, s15 805f934: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805f938: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f93c: 1e5a subs r2, r3, #1 805f93e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f942: 463a mov r2, r7 805f944: 009b lsls r3, r3, #2 805f946: 441a add r2, r3 805f948: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805f94c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805f950: 2102 movs r1, #2 805f952: f06a fbcf bl 80ca0f4 } //** 1600 arm_biquad_cascade_df2T_f64(&S_OKT_1600Hz, &Buff64[0], &Buff64[Ns], len); 805f956: 4b4a ldr r3, [pc, #296] ; (805fa80 ) 805f958: 681b ldr r3, [r3, #0] 805f95a: 00db lsls r3, r3, #3 805f95c: 4a49 ldr r2, [pc, #292] ; (805fa84 ) 805f95e: 441a add r2, r3 805f960: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f964: 4947 ldr r1, [pc, #284] ; (805fa84 ) 805f966: 484b ldr r0, [pc, #300] ; (805fa94 ) 805f968: f06a fc38 bl 80ca1dc for(i = 0; i < len; i++) { 805f96c: 2300 movs r3, #0 805f96e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f972: e017 b.n 805f9a4 In[i] = (float32_t) Buff64[Ns + i]; 805f974: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f978: 4a41 ldr r2, [pc, #260] ; (805fa80 ) 805f97a: 6811 ldr r1, [r2, #0] 805f97c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f980: 440a add r2, r1 805f982: 4940 ldr r1, [pc, #256] ; (805fa84 ) 805f984: 00d2 lsls r2, r2, #3 805f986: 440a add r2, r1 805f988: ed92 7b00 vldr d7, [r2] 805f98c: eef7 7bc7 vcvt.f32.f64 s15, d7 805f990: 4a3d ldr r2, [pc, #244] ; (805fa88 ) 805f992: 009b lsls r3, r3, #2 805f994: 4413 add r3, r2 805f996: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805f99a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805f99e: 3301 adds r3, #1 805f9a0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805f9a4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805f9a8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805f9ac: 429a cmp r2, r3 805f9ae: d3e1 bcc.n 805f974 } if(pardata.IVS[ACC] == RMS) 805f9b0: 4b36 ldr r3, [pc, #216] ; (805fa8c ) 805f9b2: 789b ldrb r3, [r3, #2] 805f9b4: b2db uxtb r3, r3 805f9b6: 2b01 cmp r3, #1 805f9b8: d10e bne.n 805f9d8 arm_rms_f32(In, len, &Third[k--]); 805f9ba: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805f9be: 1e5a subs r2, r3, #1 805f9c0: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805f9c4: 463a mov r2, r7 805f9c6: 009b lsls r3, r3, #2 805f9c8: 4413 add r3, r2 805f9ca: 461a mov r2, r3 805f9cc: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f9d0: 482d ldr r0, [pc, #180] ; (805fa88 ) 805f9d2: f06a fa61 bl 80c9e98 805f9d6: e042 b.n 805fa5e else { arm_min_f32(In, len, &fn[0], &i); 805f9d8: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805f9dc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805f9e0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f9e4: 4828 ldr r0, [pc, #160] ; (805fa88 ) 805f9e6: f06a fae9 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 805f9ea: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805f9ee: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805f9f2: 1d1a adds r2, r3, #4 805f9f4: 460b mov r3, r1 805f9f6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805f9fa: 4823 ldr r0, [pc, #140] ; (805fa88 ) 805f9fc: f06a fb7a bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fa00: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fa04: eef5 7ac0 vcmpe.f32 s15, #0.0 805fa08: eef1 fa10 vmrs APSR_nzcv, fpscr 805fa0c: dd02 ble.n 805fa14 805fa0e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fa12: e003 b.n 805fa1c 805fa14: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fa18: eef1 7a67 vneg.f32 s15, s15 805fa1c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fa20: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fa24: eef5 7ac0 vcmpe.f32 s15, #0.0 805fa28: eef1 fa10 vmrs APSR_nzcv, fpscr 805fa2c: dd02 ble.n 805fa34 805fa2e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fa32: e003 b.n 805fa3c 805fa34: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fa38: eef1 7a67 vneg.f32 s15, s15 805fa3c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805fa40: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fa44: 1e5a subs r2, r3, #1 805fa46: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fa4a: 463a mov r2, r7 805fa4c: 009b lsls r3, r3, #2 805fa4e: 441a add r2, r3 805fa50: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805fa54: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fa58: 2102 movs r1, #2 805fa5a: f06a fb4b bl 80ca0f4 } arm_biquad_cascade_df2T_f64(&S_LP_1000, &Buff64[0], &Buff64[0], len); 805fa5e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fa62: 4a08 ldr r2, [pc, #32] ; (805fa84 ) 805fa64: 4907 ldr r1, [pc, #28] ; (805fa84 ) 805fa66: 480c ldr r0, [pc, #48] ; (805fa98 ) 805fa68: f06a fbb8 bl 80ca1dc len >>= 1; 805fa6c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fa70: 085b lsrs r3, r3, #1 805fa72: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 805fa76: 2300 movs r3, #0 805fa78: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fa7c: e021 b.n 805fac2 805fa7e: bf00 nop 805fa80: 20021cdc .word 0x20021cdc 805fa84: 20037ae0 .word 0x20037ae0 805fa88: 200279c0 .word 0x200279c0 805fa8c: 20023e60 .word 0x20023e60 805fa90: 20026b7c .word 0x20026b7c 805fa94: 20027878 .word 0x20027878 805fa98: 200682c4 .word 0x200682c4 Buff64[i] = Buff64[i << 1]; 805fa9c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805faa0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805faa4: 005b lsls r3, r3, #1 805faa6: 49c5 ldr r1, [pc, #788] ; (805fdbc ) 805faa8: 00db lsls r3, r3, #3 805faaa: 440b add r3, r1 805faac: cb18 ldmia r3, {r3, r4} 805faae: 49c3 ldr r1, [pc, #780] ; (805fdbc ) 805fab0: 00d2 lsls r2, r2, #3 805fab2: 440a add r2, r1 805fab4: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 805fab8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fabc: 3301 adds r3, #1 805fabe: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fac2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fac6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805faca: 429a cmp r2, r3 805facc: d3e6 bcc.n 805fa9c } //** 1250 arm_biquad_cascade_df2T_f64(&S_OKT_1250Hz, &Buff64[0], &Buff64[Ns], len); 805face: 4bbc ldr r3, [pc, #752] ; (805fdc0 ) 805fad0: 681b ldr r3, [r3, #0] 805fad2: 00db lsls r3, r3, #3 805fad4: 4ab9 ldr r2, [pc, #740] ; (805fdbc ) 805fad6: 441a add r2, r3 805fad8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fadc: 49b7 ldr r1, [pc, #732] ; (805fdbc ) 805fade: 48b9 ldr r0, [pc, #740] ; (805fdc4 ) 805fae0: f06a fb7c bl 80ca1dc for(i = 0; i < len; i++) { 805fae4: 2300 movs r3, #0 805fae6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805faea: e017 b.n 805fb1c In[i] = (float32_t) Buff64[Ns + i]; 805faec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805faf0: 4ab3 ldr r2, [pc, #716] ; (805fdc0 ) 805faf2: 6811 ldr r1, [r2, #0] 805faf4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805faf8: 440a add r2, r1 805fafa: 49b0 ldr r1, [pc, #704] ; (805fdbc ) 805fafc: 00d2 lsls r2, r2, #3 805fafe: 440a add r2, r1 805fb00: ed92 7b00 vldr d7, [r2] 805fb04: eef7 7bc7 vcvt.f32.f64 s15, d7 805fb08: 4aaf ldr r2, [pc, #700] ; (805fdc8 ) 805fb0a: 009b lsls r3, r3, #2 805fb0c: 4413 add r3, r2 805fb0e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805fb12: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fb16: 3301 adds r3, #1 805fb18: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fb1c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fb20: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fb24: 429a cmp r2, r3 805fb26: d3e1 bcc.n 805faec } if(pardata.IVS[ACC] == RMS) 805fb28: 4ba8 ldr r3, [pc, #672] ; (805fdcc ) 805fb2a: 789b ldrb r3, [r3, #2] 805fb2c: b2db uxtb r3, r3 805fb2e: 2b01 cmp r3, #1 805fb30: d10e bne.n 805fb50 arm_rms_f32(In, len, &Third[k--]); 805fb32: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fb36: 1e5a subs r2, r3, #1 805fb38: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fb3c: 463a mov r2, r7 805fb3e: 009b lsls r3, r3, #2 805fb40: 4413 add r3, r2 805fb42: 461a mov r2, r3 805fb44: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fb48: 489f ldr r0, [pc, #636] ; (805fdc8 ) 805fb4a: f06a f9a5 bl 80c9e98 805fb4e: e042 b.n 805fbd6 else { arm_min_f32(In, len, &fn[0], &i); 805fb50: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805fb54: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fb58: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fb5c: 489a ldr r0, [pc, #616] ; (805fdc8 ) 805fb5e: f06a fa2d bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 805fb62: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fb66: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fb6a: 1d1a adds r2, r3, #4 805fb6c: 460b mov r3, r1 805fb6e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fb72: 4895 ldr r0, [pc, #596] ; (805fdc8 ) 805fb74: f06a fabe bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fb78: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fb7c: eef5 7ac0 vcmpe.f32 s15, #0.0 805fb80: eef1 fa10 vmrs APSR_nzcv, fpscr 805fb84: dd02 ble.n 805fb8c 805fb86: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fb8a: e003 b.n 805fb94 805fb8c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fb90: eef1 7a67 vneg.f32 s15, s15 805fb94: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fb98: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fb9c: eef5 7ac0 vcmpe.f32 s15, #0.0 805fba0: eef1 fa10 vmrs APSR_nzcv, fpscr 805fba4: dd02 ble.n 805fbac 805fba6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fbaa: e003 b.n 805fbb4 805fbac: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fbb0: eef1 7a67 vneg.f32 s15, s15 805fbb4: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805fbb8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fbbc: 1e5a subs r2, r3, #1 805fbbe: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fbc2: 463a mov r2, r7 805fbc4: 009b lsls r3, r3, #2 805fbc6: 441a add r2, r3 805fbc8: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805fbcc: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fbd0: 2102 movs r1, #2 805fbd2: f06a fa8f bl 80ca0f4 } //** 1000 arm_biquad_cascade_df2T_f64(&S_OKT_1000Hz, &Buff64[0], &Buff64[Ns], len); 805fbd6: 4b7a ldr r3, [pc, #488] ; (805fdc0 ) 805fbd8: 681b ldr r3, [r3, #0] 805fbda: 00db lsls r3, r3, #3 805fbdc: 4a77 ldr r2, [pc, #476] ; (805fdbc ) 805fbde: 441a add r2, r3 805fbe0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fbe4: 4975 ldr r1, [pc, #468] ; (805fdbc ) 805fbe6: 487a ldr r0, [pc, #488] ; (805fdd0 ) 805fbe8: f06a faf8 bl 80ca1dc for(i = 0; i < len; i++) { 805fbec: 2300 movs r3, #0 805fbee: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fbf2: e017 b.n 805fc24 In[i] = (float32_t) Buff64[Ns + i]; 805fbf4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fbf8: 4a71 ldr r2, [pc, #452] ; (805fdc0 ) 805fbfa: 6811 ldr r1, [r2, #0] 805fbfc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fc00: 440a add r2, r1 805fc02: 496e ldr r1, [pc, #440] ; (805fdbc ) 805fc04: 00d2 lsls r2, r2, #3 805fc06: 440a add r2, r1 805fc08: ed92 7b00 vldr d7, [r2] 805fc0c: eef7 7bc7 vcvt.f32.f64 s15, d7 805fc10: 4a6d ldr r2, [pc, #436] ; (805fdc8 ) 805fc12: 009b lsls r3, r3, #2 805fc14: 4413 add r3, r2 805fc16: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805fc1a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fc1e: 3301 adds r3, #1 805fc20: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fc24: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fc28: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fc2c: 429a cmp r2, r3 805fc2e: d3e1 bcc.n 805fbf4 } if(pardata.IVS[ACC] == RMS) 805fc30: 4b66 ldr r3, [pc, #408] ; (805fdcc ) 805fc32: 789b ldrb r3, [r3, #2] 805fc34: b2db uxtb r3, r3 805fc36: 2b01 cmp r3, #1 805fc38: d10e bne.n 805fc58 arm_rms_f32(In, len, &Third[k--]); 805fc3a: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fc3e: 1e5a subs r2, r3, #1 805fc40: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fc44: 463a mov r2, r7 805fc46: 009b lsls r3, r3, #2 805fc48: 4413 add r3, r2 805fc4a: 461a mov r2, r3 805fc4c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fc50: 485d ldr r0, [pc, #372] ; (805fdc8 ) 805fc52: f06a f921 bl 80c9e98 805fc56: e042 b.n 805fcde else { arm_min_f32(In, len, &fn[0], &i); 805fc58: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805fc5c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fc60: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fc64: 4858 ldr r0, [pc, #352] ; (805fdc8 ) 805fc66: f06a f9a9 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 805fc6a: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fc6e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fc72: 1d1a adds r2, r3, #4 805fc74: 460b mov r3, r1 805fc76: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fc7a: 4853 ldr r0, [pc, #332] ; (805fdc8 ) 805fc7c: f06a fa3a bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fc80: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fc84: eef5 7ac0 vcmpe.f32 s15, #0.0 805fc88: eef1 fa10 vmrs APSR_nzcv, fpscr 805fc8c: dd02 ble.n 805fc94 805fc8e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fc92: e003 b.n 805fc9c 805fc94: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fc98: eef1 7a67 vneg.f32 s15, s15 805fc9c: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fca0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fca4: eef5 7ac0 vcmpe.f32 s15, #0.0 805fca8: eef1 fa10 vmrs APSR_nzcv, fpscr 805fcac: dd02 ble.n 805fcb4 805fcae: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fcb2: e003 b.n 805fcbc 805fcb4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fcb8: eef1 7a67 vneg.f32 s15, s15 805fcbc: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805fcc0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fcc4: 1e5a subs r2, r3, #1 805fcc6: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fcca: 463a mov r2, r7 805fccc: 009b lsls r3, r3, #2 805fcce: 441a add r2, r3 805fcd0: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805fcd4: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fcd8: 2102 movs r1, #2 805fcda: f06a fa0b bl 80ca0f4 } //** 800 arm_biquad_cascade_df2T_f64(&S_OKT_800Hz, &Buff64[0], &Buff64[Ns], len); 805fcde: 4b38 ldr r3, [pc, #224] ; (805fdc0 ) 805fce0: 681b ldr r3, [r3, #0] 805fce2: 00db lsls r3, r3, #3 805fce4: 4a35 ldr r2, [pc, #212] ; (805fdbc ) 805fce6: 441a add r2, r3 805fce8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fcec: 4933 ldr r1, [pc, #204] ; (805fdbc ) 805fcee: 4839 ldr r0, [pc, #228] ; (805fdd4 ) 805fcf0: f06a fa74 bl 80ca1dc for(i = 0; i < len; i++) { 805fcf4: 2300 movs r3, #0 805fcf6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fcfa: e017 b.n 805fd2c In[i] = (float32_t) Buff64[Ns + i]; 805fcfc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fd00: 4a2f ldr r2, [pc, #188] ; (805fdc0 ) 805fd02: 6811 ldr r1, [r2, #0] 805fd04: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fd08: 440a add r2, r1 805fd0a: 492c ldr r1, [pc, #176] ; (805fdbc ) 805fd0c: 00d2 lsls r2, r2, #3 805fd0e: 440a add r2, r1 805fd10: ed92 7b00 vldr d7, [r2] 805fd14: eef7 7bc7 vcvt.f32.f64 s15, d7 805fd18: 4a2b ldr r2, [pc, #172] ; (805fdc8 ) 805fd1a: 009b lsls r3, r3, #2 805fd1c: 4413 add r3, r2 805fd1e: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805fd22: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fd26: 3301 adds r3, #1 805fd28: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fd2c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fd30: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fd34: 429a cmp r2, r3 805fd36: d3e1 bcc.n 805fcfc } if(pardata.IVS[ACC] == RMS) 805fd38: 4b24 ldr r3, [pc, #144] ; (805fdcc ) 805fd3a: 789b ldrb r3, [r3, #2] 805fd3c: b2db uxtb r3, r3 805fd3e: 2b01 cmp r3, #1 805fd40: d10e bne.n 805fd60 arm_rms_f32(In, len, &Third[k--]); 805fd42: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fd46: 1e5a subs r2, r3, #1 805fd48: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fd4c: 463a mov r2, r7 805fd4e: 009b lsls r3, r3, #2 805fd50: 4413 add r3, r2 805fd52: 461a mov r2, r3 805fd54: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fd58: 481b ldr r0, [pc, #108] ; (805fdc8 ) 805fd5a: f06a f89d bl 80c9e98 805fd5e: e050 b.n 805fe02 else { arm_min_f32(In, len, &fn[0], &i); 805fd60: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805fd64: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fd68: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fd6c: 4816 ldr r0, [pc, #88] ; (805fdc8 ) 805fd6e: f06a f925 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 805fd72: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fd76: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fd7a: 1d1a adds r2, r3, #4 805fd7c: 460b mov r3, r1 805fd7e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fd82: 4811 ldr r0, [pc, #68] ; (805fdc8 ) 805fd84: f06a f9b6 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fd88: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fd8c: eef5 7ac0 vcmpe.f32 s15, #0.0 805fd90: eef1 fa10 vmrs APSR_nzcv, fpscr 805fd94: dd02 ble.n 805fd9c 805fd96: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fd9a: e003 b.n 805fda4 805fd9c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805fda0: eef1 7a67 vneg.f32 s15, s15 805fda4: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805fda8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fdac: eef5 7ac0 vcmpe.f32 s15, #0.0 805fdb0: eef1 fa10 vmrs APSR_nzcv, fpscr 805fdb4: dd10 ble.n 805fdd8 805fdb6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fdba: e011 b.n 805fde0 805fdbc: 20037ae0 .word 0x20037ae0 805fdc0: 20021cdc .word 0x20021cdc 805fdc4: 20068410 .word 0x20068410 805fdc8: 200279c0 .word 0x200279c0 805fdcc: 20023e60 .word 0x20023e60 805fdd0: 200261b8 .word 0x200261b8 805fdd4: 20068450 .word 0x20068450 805fdd8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805fddc: eef1 7a67 vneg.f32 s15, s15 805fde0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805fde4: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805fde8: 1e5a subs r2, r3, #1 805fdea: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fdee: 463a mov r2, r7 805fdf0: 009b lsls r3, r3, #2 805fdf2: 441a add r2, r3 805fdf4: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805fdf8: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805fdfc: 2102 movs r1, #2 805fdfe: f06a f979 bl 80ca0f4 } arm_biquad_cascade_df2T_f64(&S_LP_500, &Buff64[0], &Buff64[0], len); 805fe02: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fe06: 4acf ldr r2, [pc, #828] ; (8060144 ) 805fe08: 49ce ldr r1, [pc, #824] ; (8060144 ) 805fe0a: 48cf ldr r0, [pc, #828] ; (8060148 ) 805fe0c: f06a f9e6 bl 80ca1dc len >>= 1; 805fe10: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fe14: 085b lsrs r3, r3, #1 805fe16: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 805fe1a: 2300 movs r3, #0 805fe1c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fe20: e012 b.n 805fe48 Buff64[i] = Buff64[i << 1]; 805fe22: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fe26: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fe2a: 005b lsls r3, r3, #1 805fe2c: 49c5 ldr r1, [pc, #788] ; (8060144 ) 805fe2e: 00db lsls r3, r3, #3 805fe30: 440b add r3, r1 805fe32: cb18 ldmia r3, {r3, r4} 805fe34: 49c3 ldr r1, [pc, #780] ; (8060144 ) 805fe36: 00d2 lsls r2, r2, #3 805fe38: 440a add r2, r1 805fe3a: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 805fe3e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fe42: 3301 adds r3, #1 805fe44: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fe48: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fe4c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fe50: 429a cmp r2, r3 805fe52: d3e6 bcc.n 805fe22 } //** 630 arm_biquad_cascade_df2T_f64(&S_OKT_630Hz, &Buff64[0], &Buff64[Ns], len); 805fe54: 4bbd ldr r3, [pc, #756] ; (806014c ) 805fe56: 681b ldr r3, [r3, #0] 805fe58: 00db lsls r3, r3, #3 805fe5a: 4aba ldr r2, [pc, #744] ; (8060144 ) 805fe5c: 441a add r2, r3 805fe5e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805fe62: 49b8 ldr r1, [pc, #736] ; (8060144 ) 805fe64: 48ba ldr r0, [pc, #744] ; (8060150 ) 805fe66: f06a f9b9 bl 80ca1dc for(i = 0; i < len; i++) { 805fe6a: 2300 movs r3, #0 805fe6c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fe70: e017 b.n 805fea2 In[i] = (float32_t) Buff64[Ns + i]; 805fe72: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fe76: 4ab5 ldr r2, [pc, #724] ; (806014c ) 805fe78: 6811 ldr r1, [r2, #0] 805fe7a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fe7e: 440a add r2, r1 805fe80: 49b0 ldr r1, [pc, #704] ; (8060144 ) 805fe82: 00d2 lsls r2, r2, #3 805fe84: 440a add r2, r1 805fe86: ed92 7b00 vldr d7, [r2] 805fe8a: eef7 7bc7 vcvt.f32.f64 s15, d7 805fe8e: 4ab1 ldr r2, [pc, #708] ; (8060154 ) 805fe90: 009b lsls r3, r3, #2 805fe92: 4413 add r3, r2 805fe94: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805fe98: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805fe9c: 3301 adds r3, #1 805fe9e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805fea2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805fea6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805feaa: 429a cmp r2, r3 805feac: d3e1 bcc.n 805fe72 } if(pardata.IVS[ACC] == RMS) 805feae: 4baa ldr r3, [pc, #680] ; (8060158 ) 805feb0: 789b ldrb r3, [r3, #2] 805feb2: b2db uxtb r3, r3 805feb4: 2b01 cmp r3, #1 805feb6: d10e bne.n 805fed6 arm_rms_f32(In, len, &Third[k--]); 805feb8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805febc: 1e5a subs r2, r3, #1 805febe: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805fec2: 463a mov r2, r7 805fec4: 009b lsls r3, r3, #2 805fec6: 4413 add r3, r2 805fec8: 461a mov r2, r3 805feca: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fece: 48a1 ldr r0, [pc, #644] ; (8060154 ) 805fed0: f069 ffe2 bl 80c9e98 805fed4: e042 b.n 805ff5c else { arm_min_f32(In, len, &fn[0], &i); 805fed6: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805feda: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805fede: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fee2: 489c ldr r0, [pc, #624] ; (8060154 ) 805fee4: f06a f86a bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 805fee8: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805feec: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fef0: 1d1a adds r2, r3, #4 805fef2: 460b mov r3, r1 805fef4: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805fef8: 4896 ldr r0, [pc, #600] ; (8060154 ) 805fefa: f06a f8fb bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 805fefe: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ff02: eef5 7ac0 vcmpe.f32 s15, #0.0 805ff06: eef1 fa10 vmrs APSR_nzcv, fpscr 805ff0a: dd02 ble.n 805ff12 805ff0c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ff10: e003 b.n 805ff1a 805ff12: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 805ff16: eef1 7a67 vneg.f32 s15, s15 805ff1a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 805ff1e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ff22: eef5 7ac0 vcmpe.f32 s15, #0.0 805ff26: eef1 fa10 vmrs APSR_nzcv, fpscr 805ff2a: dd02 ble.n 805ff32 805ff2c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ff30: e003 b.n 805ff3a 805ff32: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 805ff36: eef1 7a67 vneg.f32 s15, s15 805ff3a: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 805ff3e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805ff42: 1e5a subs r2, r3, #1 805ff44: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805ff48: 463a mov r2, r7 805ff4a: 009b lsls r3, r3, #2 805ff4c: 441a add r2, r3 805ff4e: f507 73e6 add.w r3, r7, #460 ; 0x1cc 805ff52: f507 70d8 add.w r0, r7, #432 ; 0x1b0 805ff56: 2102 movs r1, #2 805ff58: f06a f8cc bl 80ca0f4 } //** 500 arm_biquad_cascade_df2T_f64(&S_OKT_500Hz, &Buff64[0], &Buff64[Ns], len); 805ff5c: 4b7b ldr r3, [pc, #492] ; (806014c ) 805ff5e: 681b ldr r3, [r3, #0] 805ff60: 00db lsls r3, r3, #3 805ff62: 4a78 ldr r2, [pc, #480] ; (8060144 ) 805ff64: 441a add r2, r3 805ff66: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805ff6a: 4976 ldr r1, [pc, #472] ; (8060144 ) 805ff6c: 487b ldr r0, [pc, #492] ; (806015c ) 805ff6e: f06a f935 bl 80ca1dc for(i = 0; i < len; i++) { 805ff72: 2300 movs r3, #0 805ff74: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ff78: e017 b.n 805ffaa In[i] = (float32_t) Buff64[Ns + i]; 805ff7a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ff7e: 4a73 ldr r2, [pc, #460] ; (806014c ) 805ff80: 6811 ldr r1, [r2, #0] 805ff82: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ff86: 440a add r2, r1 805ff88: 496e ldr r1, [pc, #440] ; (8060144 ) 805ff8a: 00d2 lsls r2, r2, #3 805ff8c: 440a add r2, r1 805ff8e: ed92 7b00 vldr d7, [r2] 805ff92: eef7 7bc7 vcvt.f32.f64 s15, d7 805ff96: 4a6f ldr r2, [pc, #444] ; (8060154 ) 805ff98: 009b lsls r3, r3, #2 805ff9a: 4413 add r3, r2 805ff9c: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 805ffa0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 805ffa4: 3301 adds r3, #1 805ffa6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 805ffaa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 805ffae: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 805ffb2: 429a cmp r2, r3 805ffb4: d3e1 bcc.n 805ff7a } if(pardata.IVS[ACC] == RMS) 805ffb6: 4b68 ldr r3, [pc, #416] ; (8060158 ) 805ffb8: 789b ldrb r3, [r3, #2] 805ffba: b2db uxtb r3, r3 805ffbc: 2b01 cmp r3, #1 805ffbe: d10e bne.n 805ffde arm_rms_f32(In, len, &Third[k--]); 805ffc0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 805ffc4: 1e5a subs r2, r3, #1 805ffc6: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 805ffca: 463a mov r2, r7 805ffcc: 009b lsls r3, r3, #2 805ffce: 4413 add r3, r2 805ffd0: 461a mov r2, r3 805ffd2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805ffd6: 485f ldr r0, [pc, #380] ; (8060154 ) 805ffd8: f069 ff5e bl 80c9e98 805ffdc: e042 b.n 8060064 else { arm_min_f32(In, len, &fn[0], &i); 805ffde: f507 73e8 add.w r3, r7, #464 ; 0x1d0 805ffe2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 805ffe6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 805ffea: 485a ldr r0, [pc, #360] ; (8060154 ) 805ffec: f069 ffe6 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 805fff0: f507 71e6 add.w r1, r7, #460 ; 0x1cc 805fff4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 805fff8: 1d1a adds r2, r3, #4 805fffa: 460b mov r3, r1 805fffc: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060000: 4854 ldr r0, [pc, #336] ; (8060154 ) 8060002: f06a f877 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060006: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806000a: eef5 7ac0 vcmpe.f32 s15, #0.0 806000e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060012: dd02 ble.n 806001a 8060014: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060018: e003 b.n 8060022 806001a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806001e: eef1 7a67 vneg.f32 s15, s15 8060022: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060026: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806002a: eef5 7ac0 vcmpe.f32 s15, #0.0 806002e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060032: dd02 ble.n 806003a 8060034: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060038: e003 b.n 8060042 806003a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806003e: eef1 7a67 vneg.f32 s15, s15 8060042: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060046: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806004a: 1e5a subs r2, r3, #1 806004c: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060050: 463a mov r2, r7 8060052: 009b lsls r3, r3, #2 8060054: 441a add r2, r3 8060056: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806005a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806005e: 2102 movs r1, #2 8060060: f06a f848 bl 80ca0f4 } //** 400 arm_biquad_cascade_df2T_f64(&S_OKT_400Hz, &Buff64[0], &Buff64[Ns], len); 8060064: 4b39 ldr r3, [pc, #228] ; (806014c ) 8060066: 681b ldr r3, [r3, #0] 8060068: 00db lsls r3, r3, #3 806006a: 4a36 ldr r2, [pc, #216] ; (8060144 ) 806006c: 441a add r2, r3 806006e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060072: 4934 ldr r1, [pc, #208] ; (8060144 ) 8060074: 483a ldr r0, [pc, #232] ; (8060160 ) 8060076: f06a f8b1 bl 80ca1dc for(i = 0; i < len; i++) { 806007a: 2300 movs r3, #0 806007c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060080: e017 b.n 80600b2 In[i] = (float32_t) Buff64[Ns + i]; 8060082: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060086: 4a31 ldr r2, [pc, #196] ; (806014c ) 8060088: 6811 ldr r1, [r2, #0] 806008a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806008e: 440a add r2, r1 8060090: 492c ldr r1, [pc, #176] ; (8060144 ) 8060092: 00d2 lsls r2, r2, #3 8060094: 440a add r2, r1 8060096: ed92 7b00 vldr d7, [r2] 806009a: eef7 7bc7 vcvt.f32.f64 s15, d7 806009e: 4a2d ldr r2, [pc, #180] ; (8060154 ) 80600a0: 009b lsls r3, r3, #2 80600a2: 4413 add r3, r2 80600a4: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80600a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80600ac: 3301 adds r3, #1 80600ae: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80600b2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80600b6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80600ba: 429a cmp r2, r3 80600bc: d3e1 bcc.n 8060082 } if(pardata.IVS[ACC] == RMS) 80600be: 4b26 ldr r3, [pc, #152] ; (8060158 ) 80600c0: 789b ldrb r3, [r3, #2] 80600c2: b2db uxtb r3, r3 80600c4: 2b01 cmp r3, #1 80600c6: d10e bne.n 80600e6 arm_rms_f32(In, len, &Third[k--]); 80600c8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80600cc: 1e5a subs r2, r3, #1 80600ce: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80600d2: 463a mov r2, r7 80600d4: 009b lsls r3, r3, #2 80600d6: 4413 add r3, r2 80600d8: 461a mov r2, r3 80600da: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80600de: 481d ldr r0, [pc, #116] ; (8060154 ) 80600e0: f069 feda bl 80c9e98 80600e4: e053 b.n 806018e else { arm_min_f32(In, len, &fn[0], &i); 80600e6: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80600ea: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80600ee: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80600f2: 4818 ldr r0, [pc, #96] ; (8060154 ) 80600f4: f069 ff62 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 80600f8: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80600fc: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060100: 1d1a adds r2, r3, #4 8060102: 460b mov r3, r1 8060104: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060108: 4812 ldr r0, [pc, #72] ; (8060154 ) 806010a: f069 fff3 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806010e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060112: eef5 7ac0 vcmpe.f32 s15, #0.0 8060116: eef1 fa10 vmrs APSR_nzcv, fpscr 806011a: dd02 ble.n 8060122 806011c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060120: e003 b.n 806012a 8060122: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060126: eef1 7a67 vneg.f32 s15, s15 806012a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806012e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060132: eef5 7ac0 vcmpe.f32 s15, #0.0 8060136: eef1 fa10 vmrs APSR_nzcv, fpscr 806013a: dd13 ble.n 8060164 806013c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060140: e014 b.n 806016c 8060142: bf00 nop 8060144: 20037ae0 .word 0x20037ae0 8060148: 2002795c .word 0x2002795c 806014c: 20021cdc .word 0x20021cdc 8060150: 20025f90 .word 0x20025f90 8060154: 200279c0 .word 0x200279c0 8060158: 20023e60 .word 0x20023e60 806015c: 20057aec .word 0x20057aec 8060160: 20026044 .word 0x20026044 8060164: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060168: eef1 7a67 vneg.f32 s15, s15 806016c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060170: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060174: 1e5a subs r2, r3, #1 8060176: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806017a: 463a mov r2, r7 806017c: 009b lsls r3, r3, #2 806017e: 441a add r2, r3 8060180: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060184: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060188: 2102 movs r1, #2 806018a: f069 ffb3 bl 80ca0f4 } arm_biquad_cascade_df2T_f64(&S_LP_250, &Buff64[0], &Buff64[0], len); 806018e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060192: 4acf ldr r2, [pc, #828] ; (80604d0 ) 8060194: 49ce ldr r1, [pc, #824] ; (80604d0 ) 8060196: 48cf ldr r0, [pc, #828] ; (80604d4 ) 8060198: f06a f820 bl 80ca1dc len >>= 1; 806019c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80601a0: 085b lsrs r3, r3, #1 80601a2: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 80601a6: 2300 movs r3, #0 80601a8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80601ac: e012 b.n 80601d4 Buff64[i] = Buff64[i << 1]; 80601ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80601b2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80601b6: 005b lsls r3, r3, #1 80601b8: 49c5 ldr r1, [pc, #788] ; (80604d0 ) 80601ba: 00db lsls r3, r3, #3 80601bc: 440b add r3, r1 80601be: cb18 ldmia r3, {r3, r4} 80601c0: 49c3 ldr r1, [pc, #780] ; (80604d0 ) 80601c2: 00d2 lsls r2, r2, #3 80601c4: 440a add r2, r1 80601c6: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 80601ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80601ce: 3301 adds r3, #1 80601d0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80601d4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80601d8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80601dc: 429a cmp r2, r3 80601de: d3e6 bcc.n 80601ae } //** 315 arm_biquad_cascade_df2T_f64(&S_OKT_315Hz, &Buff64[0], &Buff64[Ns], len); 80601e0: 4bbd ldr r3, [pc, #756] ; (80604d8 ) 80601e2: 681b ldr r3, [r3, #0] 80601e4: 00db lsls r3, r3, #3 80601e6: 4aba ldr r2, [pc, #744] ; (80604d0 ) 80601e8: 441a add r2, r3 80601ea: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80601ee: 49b8 ldr r1, [pc, #736] ; (80604d0 ) 80601f0: 48ba ldr r0, [pc, #744] ; (80604dc ) 80601f2: f069 fff3 bl 80ca1dc for(i = 0; i < len; i++) { 80601f6: 2300 movs r3, #0 80601f8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80601fc: e017 b.n 806022e In[i] = (float32_t) Buff64[Ns + i]; 80601fe: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060202: 4ab5 ldr r2, [pc, #724] ; (80604d8 ) 8060204: 6811 ldr r1, [r2, #0] 8060206: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806020a: 440a add r2, r1 806020c: 49b0 ldr r1, [pc, #704] ; (80604d0 ) 806020e: 00d2 lsls r2, r2, #3 8060210: 440a add r2, r1 8060212: ed92 7b00 vldr d7, [r2] 8060216: eef7 7bc7 vcvt.f32.f64 s15, d7 806021a: 4ab1 ldr r2, [pc, #708] ; (80604e0 ) 806021c: 009b lsls r3, r3, #2 806021e: 4413 add r3, r2 8060220: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060224: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060228: 3301 adds r3, #1 806022a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806022e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060232: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060236: 429a cmp r2, r3 8060238: d3e1 bcc.n 80601fe } if(pardata.IVS[ACC] == RMS) 806023a: 4baa ldr r3, [pc, #680] ; (80604e4 ) 806023c: 789b ldrb r3, [r3, #2] 806023e: b2db uxtb r3, r3 8060240: 2b01 cmp r3, #1 8060242: d10e bne.n 8060262 arm_rms_f32(In, len, &Third[k--]); 8060244: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060248: 1e5a subs r2, r3, #1 806024a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806024e: 463a mov r2, r7 8060250: 009b lsls r3, r3, #2 8060252: 4413 add r3, r2 8060254: 461a mov r2, r3 8060256: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806025a: 48a1 ldr r0, [pc, #644] ; (80604e0 ) 806025c: f069 fe1c bl 80c9e98 8060260: e042 b.n 80602e8 else { arm_min_f32(In, len, &fn[0], &i); 8060262: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060266: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806026a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806026e: 489c ldr r0, [pc, #624] ; (80604e0 ) 8060270: f069 fea4 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8060274: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060278: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806027c: 1d1a adds r2, r3, #4 806027e: 460b mov r3, r1 8060280: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060284: 4896 ldr r0, [pc, #600] ; (80604e0 ) 8060286: f069 ff35 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806028a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806028e: eef5 7ac0 vcmpe.f32 s15, #0.0 8060292: eef1 fa10 vmrs APSR_nzcv, fpscr 8060296: dd02 ble.n 806029e 8060298: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806029c: e003 b.n 80602a6 806029e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80602a2: eef1 7a67 vneg.f32 s15, s15 80602a6: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80602aa: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80602ae: eef5 7ac0 vcmpe.f32 s15, #0.0 80602b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80602b6: dd02 ble.n 80602be 80602b8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80602bc: e003 b.n 80602c6 80602be: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80602c2: eef1 7a67 vneg.f32 s15, s15 80602c6: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80602ca: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80602ce: 1e5a subs r2, r3, #1 80602d0: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80602d4: 463a mov r2, r7 80602d6: 009b lsls r3, r3, #2 80602d8: 441a add r2, r3 80602da: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80602de: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80602e2: 2102 movs r1, #2 80602e4: f069 ff06 bl 80ca0f4 } //** 250 arm_biquad_cascade_df2T_f64(&S_OKT_250Hz, &Buff64[0], &Buff64[Ns], len); 80602e8: 4b7b ldr r3, [pc, #492] ; (80604d8 ) 80602ea: 681b ldr r3, [r3, #0] 80602ec: 00db lsls r3, r3, #3 80602ee: 4a78 ldr r2, [pc, #480] ; (80604d0 ) 80602f0: 441a add r2, r3 80602f2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80602f6: 4976 ldr r1, [pc, #472] ; (80604d0 ) 80602f8: 487b ldr r0, [pc, #492] ; (80604e8 ) 80602fa: f069 ff6f bl 80ca1dc for(i = 0; i < len; i++) { 80602fe: 2300 movs r3, #0 8060300: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060304: e017 b.n 8060336 In[i] = (float32_t) Buff64[Ns + i]; 8060306: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806030a: 4a73 ldr r2, [pc, #460] ; (80604d8 ) 806030c: 6811 ldr r1, [r2, #0] 806030e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060312: 440a add r2, r1 8060314: 496e ldr r1, [pc, #440] ; (80604d0 ) 8060316: 00d2 lsls r2, r2, #3 8060318: 440a add r2, r1 806031a: ed92 7b00 vldr d7, [r2] 806031e: eef7 7bc7 vcvt.f32.f64 s15, d7 8060322: 4a6f ldr r2, [pc, #444] ; (80604e0 ) 8060324: 009b lsls r3, r3, #2 8060326: 4413 add r3, r2 8060328: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806032c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060330: 3301 adds r3, #1 8060332: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060336: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806033a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806033e: 429a cmp r2, r3 8060340: d3e1 bcc.n 8060306 } if(pardata.IVS[ACC] == RMS) 8060342: 4b68 ldr r3, [pc, #416] ; (80604e4 ) 8060344: 789b ldrb r3, [r3, #2] 8060346: b2db uxtb r3, r3 8060348: 2b01 cmp r3, #1 806034a: d10e bne.n 806036a arm_rms_f32(In, len, &Third[k--]); 806034c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060350: 1e5a subs r2, r3, #1 8060352: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060356: 463a mov r2, r7 8060358: 009b lsls r3, r3, #2 806035a: 4413 add r3, r2 806035c: 461a mov r2, r3 806035e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060362: 485f ldr r0, [pc, #380] ; (80604e0 ) 8060364: f069 fd98 bl 80c9e98 8060368: e042 b.n 80603f0 else { arm_min_f32(In, len, &fn[0], &i); 806036a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806036e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060372: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060376: 485a ldr r0, [pc, #360] ; (80604e0 ) 8060378: f069 fe20 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 806037c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060380: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060384: 1d1a adds r2, r3, #4 8060386: 460b mov r3, r1 8060388: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806038c: 4854 ldr r0, [pc, #336] ; (80604e0 ) 806038e: f069 feb1 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060392: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060396: eef5 7ac0 vcmpe.f32 s15, #0.0 806039a: eef1 fa10 vmrs APSR_nzcv, fpscr 806039e: dd02 ble.n 80603a6 80603a0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80603a4: e003 b.n 80603ae 80603a6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80603aa: eef1 7a67 vneg.f32 s15, s15 80603ae: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80603b2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80603b6: eef5 7ac0 vcmpe.f32 s15, #0.0 80603ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80603be: dd02 ble.n 80603c6 80603c0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80603c4: e003 b.n 80603ce 80603c6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80603ca: eef1 7a67 vneg.f32 s15, s15 80603ce: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80603d2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80603d6: 1e5a subs r2, r3, #1 80603d8: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80603dc: 463a mov r2, r7 80603de: 009b lsls r3, r3, #2 80603e0: 441a add r2, r3 80603e2: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80603e6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80603ea: 2102 movs r1, #2 80603ec: f069 fe82 bl 80ca0f4 } //** 200 arm_biquad_cascade_df2T_f64(&S_OKT_200Hz, &Buff64[0], &Buff64[Ns], len); 80603f0: 4b39 ldr r3, [pc, #228] ; (80604d8 ) 80603f2: 681b ldr r3, [r3, #0] 80603f4: 00db lsls r3, r3, #3 80603f6: 4a36 ldr r2, [pc, #216] ; (80604d0 ) 80603f8: 441a add r2, r3 80603fa: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80603fe: 4934 ldr r1, [pc, #208] ; (80604d0 ) 8060400: 483a ldr r0, [pc, #232] ; (80604ec ) 8060402: f069 feeb bl 80ca1dc for(i = 0; i < len; i++) { 8060406: 2300 movs r3, #0 8060408: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806040c: e017 b.n 806043e In[i] = (float32_t) Buff64[Ns + i]; 806040e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060412: 4a31 ldr r2, [pc, #196] ; (80604d8 ) 8060414: 6811 ldr r1, [r2, #0] 8060416: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806041a: 440a add r2, r1 806041c: 492c ldr r1, [pc, #176] ; (80604d0 ) 806041e: 00d2 lsls r2, r2, #3 8060420: 440a add r2, r1 8060422: ed92 7b00 vldr d7, [r2] 8060426: eef7 7bc7 vcvt.f32.f64 s15, d7 806042a: 4a2d ldr r2, [pc, #180] ; (80604e0 ) 806042c: 009b lsls r3, r3, #2 806042e: 4413 add r3, r2 8060430: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060434: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060438: 3301 adds r3, #1 806043a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806043e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060442: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060446: 429a cmp r2, r3 8060448: d3e1 bcc.n 806040e } if(pardata.IVS[ACC] == RMS) 806044a: 4b26 ldr r3, [pc, #152] ; (80604e4 ) 806044c: 789b ldrb r3, [r3, #2] 806044e: b2db uxtb r3, r3 8060450: 2b01 cmp r3, #1 8060452: d10e bne.n 8060472 arm_rms_f32(In, len, &Third[k--]); 8060454: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060458: 1e5a subs r2, r3, #1 806045a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806045e: 463a mov r2, r7 8060460: 009b lsls r3, r3, #2 8060462: 4413 add r3, r2 8060464: 461a mov r2, r3 8060466: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806046a: 481d ldr r0, [pc, #116] ; (80604e0 ) 806046c: f069 fd14 bl 80c9e98 8060470: e053 b.n 806051a else { arm_min_f32(In, len, &fn[0], &i); 8060472: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060476: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806047a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806047e: 4818 ldr r0, [pc, #96] ; (80604e0 ) 8060480: f069 fd9c bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8060484: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060488: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806048c: 1d1a adds r2, r3, #4 806048e: 460b mov r3, r1 8060490: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060494: 4812 ldr r0, [pc, #72] ; (80604e0 ) 8060496: f069 fe2d bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806049a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806049e: eef5 7ac0 vcmpe.f32 s15, #0.0 80604a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80604a6: dd02 ble.n 80604ae 80604a8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80604ac: e003 b.n 80604b6 80604ae: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80604b2: eef1 7a67 vneg.f32 s15, s15 80604b6: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80604ba: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80604be: eef5 7ac0 vcmpe.f32 s15, #0.0 80604c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80604c6: dd13 ble.n 80604f0 80604c8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80604cc: e014 b.n 80604f8 80604ce: bf00 nop 80604d0: 20037ae0 .word 0x20037ae0 80604d4: 20068548 .word 0x20068548 80604d8: 20021cdc .word 0x20021cdc 80604dc: 20026414 .word 0x20026414 80604e0: 200279c0 .word 0x200279c0 80604e4: 20023e60 .word 0x20023e60 80604e8: 20068554 .word 0x20068554 80604ec: 20026590 .word 0x20026590 80604f0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80604f4: eef1 7a67 vneg.f32 s15, s15 80604f8: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80604fc: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060500: 1e5a subs r2, r3, #1 8060502: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060506: 463a mov r2, r7 8060508: 009b lsls r3, r3, #2 806050a: 441a add r2, r3 806050c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060510: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060514: 2102 movs r1, #2 8060516: f069 fded bl 80ca0f4 } arm_biquad_cascade_df2T_f64(&S_LP_125, &Buff64[0], &Buff64[0], len); 806051a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806051e: 4acf ldr r2, [pc, #828] ; (806085c ) 8060520: 49ce ldr r1, [pc, #824] ; (806085c ) 8060522: 48cf ldr r0, [pc, #828] ; (8060860 ) 8060524: f069 fe5a bl 80ca1dc len >>= 1; 8060528: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806052c: 085b lsrs r3, r3, #1 806052e: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8060532: 2300 movs r3, #0 8060534: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060538: e012 b.n 8060560 Buff64[i] = Buff64[i << 1]; 806053a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806053e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060542: 005b lsls r3, r3, #1 8060544: 49c5 ldr r1, [pc, #788] ; (806085c ) 8060546: 00db lsls r3, r3, #3 8060548: 440b add r3, r1 806054a: cb18 ldmia r3, {r3, r4} 806054c: 49c3 ldr r1, [pc, #780] ; (806085c ) 806054e: 00d2 lsls r2, r2, #3 8060550: 440a add r2, r1 8060552: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8060556: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806055a: 3301 adds r3, #1 806055c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060560: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060564: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060568: 429a cmp r2, r3 806056a: d3e6 bcc.n 806053a } //** 160 arm_biquad_cascade_df2T_f64(&S_OKT_160Hz, &Buff64[0], &Buff64[Ns], len); 806056c: 4bbd ldr r3, [pc, #756] ; (8060864 ) 806056e: 681b ldr r3, [r3, #0] 8060570: 00db lsls r3, r3, #3 8060572: 4aba ldr r2, [pc, #744] ; (806085c ) 8060574: 441a add r2, r3 8060576: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806057a: 49b8 ldr r1, [pc, #736] ; (806085c ) 806057c: 48ba ldr r0, [pc, #744] ; (8060868 ) 806057e: f069 fe2d bl 80ca1dc for(i = 0; i < len; i++) { 8060582: 2300 movs r3, #0 8060584: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060588: e017 b.n 80605ba In[i] = (float32_t) Buff64[Ns + i]; 806058a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806058e: 4ab5 ldr r2, [pc, #724] ; (8060864 ) 8060590: 6811 ldr r1, [r2, #0] 8060592: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060596: 440a add r2, r1 8060598: 49b0 ldr r1, [pc, #704] ; (806085c ) 806059a: 00d2 lsls r2, r2, #3 806059c: 440a add r2, r1 806059e: ed92 7b00 vldr d7, [r2] 80605a2: eef7 7bc7 vcvt.f32.f64 s15, d7 80605a6: 4ab1 ldr r2, [pc, #708] ; (806086c ) 80605a8: 009b lsls r3, r3, #2 80605aa: 4413 add r3, r2 80605ac: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80605b0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80605b4: 3301 adds r3, #1 80605b6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80605ba: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80605be: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80605c2: 429a cmp r2, r3 80605c4: d3e1 bcc.n 806058a } if(pardata.IVS[ACC] == RMS) 80605c6: 4baa ldr r3, [pc, #680] ; (8060870 ) 80605c8: 789b ldrb r3, [r3, #2] 80605ca: b2db uxtb r3, r3 80605cc: 2b01 cmp r3, #1 80605ce: d10e bne.n 80605ee arm_rms_f32(In, len, &Third[k--]); 80605d0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80605d4: 1e5a subs r2, r3, #1 80605d6: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80605da: 463a mov r2, r7 80605dc: 009b lsls r3, r3, #2 80605de: 4413 add r3, r2 80605e0: 461a mov r2, r3 80605e2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80605e6: 48a1 ldr r0, [pc, #644] ; (806086c ) 80605e8: f069 fc56 bl 80c9e98 80605ec: e042 b.n 8060674 else { arm_min_f32(In, len, &fn[0], &i); 80605ee: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80605f2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80605f6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80605fa: 489c ldr r0, [pc, #624] ; (806086c ) 80605fc: f069 fcde bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8060600: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060604: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060608: 1d1a adds r2, r3, #4 806060a: 460b mov r3, r1 806060c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060610: 4896 ldr r0, [pc, #600] ; (806086c ) 8060612: f069 fd6f bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060616: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806061a: eef5 7ac0 vcmpe.f32 s15, #0.0 806061e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060622: dd02 ble.n 806062a 8060624: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060628: e003 b.n 8060632 806062a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806062e: eef1 7a67 vneg.f32 s15, s15 8060632: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060636: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806063a: eef5 7ac0 vcmpe.f32 s15, #0.0 806063e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060642: dd02 ble.n 806064a 8060644: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060648: e003 b.n 8060652 806064a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806064e: eef1 7a67 vneg.f32 s15, s15 8060652: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060656: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806065a: 1e5a subs r2, r3, #1 806065c: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060660: 463a mov r2, r7 8060662: 009b lsls r3, r3, #2 8060664: 441a add r2, r3 8060666: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806066a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806066e: 2102 movs r1, #2 8060670: f069 fd40 bl 80ca0f4 } //** 125 arm_biquad_cascade_df2T_f64(&S_OKT_125Hz, &Buff64[0], &Buff64[Ns], len); 8060674: 4b7b ldr r3, [pc, #492] ; (8060864 ) 8060676: 681b ldr r3, [r3, #0] 8060678: 00db lsls r3, r3, #3 806067a: 4a78 ldr r2, [pc, #480] ; (806085c ) 806067c: 441a add r2, r3 806067e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060682: 4976 ldr r1, [pc, #472] ; (806085c ) 8060684: 487b ldr r0, [pc, #492] ; (8060874 ) 8060686: f069 fda9 bl 80ca1dc for(i = 0; i < len; i++) { 806068a: 2300 movs r3, #0 806068c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060690: e017 b.n 80606c2 In[i] = (float32_t) Buff64[Ns + i]; 8060692: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060696: 4a73 ldr r2, [pc, #460] ; (8060864 ) 8060698: 6811 ldr r1, [r2, #0] 806069a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806069e: 440a add r2, r1 80606a0: 496e ldr r1, [pc, #440] ; (806085c ) 80606a2: 00d2 lsls r2, r2, #3 80606a4: 440a add r2, r1 80606a6: ed92 7b00 vldr d7, [r2] 80606aa: eef7 7bc7 vcvt.f32.f64 s15, d7 80606ae: 4a6f ldr r2, [pc, #444] ; (806086c ) 80606b0: 009b lsls r3, r3, #2 80606b2: 4413 add r3, r2 80606b4: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80606b8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80606bc: 3301 adds r3, #1 80606be: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80606c2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80606c6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80606ca: 429a cmp r2, r3 80606cc: d3e1 bcc.n 8060692 } if(pardata.IVS[ACC] == RMS) 80606ce: 4b68 ldr r3, [pc, #416] ; (8060870 ) 80606d0: 789b ldrb r3, [r3, #2] 80606d2: b2db uxtb r3, r3 80606d4: 2b01 cmp r3, #1 80606d6: d10e bne.n 80606f6 arm_rms_f32(In, len, &Third[k--]); 80606d8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80606dc: 1e5a subs r2, r3, #1 80606de: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80606e2: 463a mov r2, r7 80606e4: 009b lsls r3, r3, #2 80606e6: 4413 add r3, r2 80606e8: 461a mov r2, r3 80606ea: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80606ee: 485f ldr r0, [pc, #380] ; (806086c ) 80606f0: f069 fbd2 bl 80c9e98 80606f4: e042 b.n 806077c else { arm_min_f32(In, len, &fn[0], &i); 80606f6: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80606fa: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80606fe: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060702: 485a ldr r0, [pc, #360] ; (806086c ) 8060704: f069 fc5a bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8060708: f507 71e6 add.w r1, r7, #460 ; 0x1cc 806070c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060710: 1d1a adds r2, r3, #4 8060712: 460b mov r3, r1 8060714: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060718: 4854 ldr r0, [pc, #336] ; (806086c ) 806071a: f069 fceb bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806071e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060722: eef5 7ac0 vcmpe.f32 s15, #0.0 8060726: eef1 fa10 vmrs APSR_nzcv, fpscr 806072a: dd02 ble.n 8060732 806072c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060730: e003 b.n 806073a 8060732: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060736: eef1 7a67 vneg.f32 s15, s15 806073a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806073e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060742: eef5 7ac0 vcmpe.f32 s15, #0.0 8060746: eef1 fa10 vmrs APSR_nzcv, fpscr 806074a: dd02 ble.n 8060752 806074c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060750: e003 b.n 806075a 8060752: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060756: eef1 7a67 vneg.f32 s15, s15 806075a: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806075e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060762: 1e5a subs r2, r3, #1 8060764: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060768: 463a mov r2, r7 806076a: 009b lsls r3, r3, #2 806076c: 441a add r2, r3 806076e: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060772: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060776: 2102 movs r1, #2 8060778: f069 fcbc bl 80ca0f4 } //** 100 arm_biquad_cascade_df2T_f64(&S_OKT_100Hz, &Buff64[0], &Buff64[Ns], len); 806077c: 4b39 ldr r3, [pc, #228] ; (8060864 ) 806077e: 681b ldr r3, [r3, #0] 8060780: 00db lsls r3, r3, #3 8060782: 4a36 ldr r2, [pc, #216] ; (806085c ) 8060784: 441a add r2, r3 8060786: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806078a: 4934 ldr r1, [pc, #208] ; (806085c ) 806078c: 483a ldr r0, [pc, #232] ; (8060878 ) 806078e: f069 fd25 bl 80ca1dc for(i = 0; i < len; i++) { 8060792: 2300 movs r3, #0 8060794: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060798: e017 b.n 80607ca In[i] = (float32_t) Buff64[Ns + i]; 806079a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806079e: 4a31 ldr r2, [pc, #196] ; (8060864 ) 80607a0: 6811 ldr r1, [r2, #0] 80607a2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80607a6: 440a add r2, r1 80607a8: 492c ldr r1, [pc, #176] ; (806085c ) 80607aa: 00d2 lsls r2, r2, #3 80607ac: 440a add r2, r1 80607ae: ed92 7b00 vldr d7, [r2] 80607b2: eef7 7bc7 vcvt.f32.f64 s15, d7 80607b6: 4a2d ldr r2, [pc, #180] ; (806086c ) 80607b8: 009b lsls r3, r3, #2 80607ba: 4413 add r3, r2 80607bc: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80607c0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80607c4: 3301 adds r3, #1 80607c6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80607ca: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80607ce: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80607d2: 429a cmp r2, r3 80607d4: d3e1 bcc.n 806079a } if(pardata.IVS[ACC] == RMS) 80607d6: 4b26 ldr r3, [pc, #152] ; (8060870 ) 80607d8: 789b ldrb r3, [r3, #2] 80607da: b2db uxtb r3, r3 80607dc: 2b01 cmp r3, #1 80607de: d10e bne.n 80607fe arm_rms_f32(In, len, &Third[k--]); 80607e0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80607e4: 1e5a subs r2, r3, #1 80607e6: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80607ea: 463a mov r2, r7 80607ec: 009b lsls r3, r3, #2 80607ee: 4413 add r3, r2 80607f0: 461a mov r2, r3 80607f2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80607f6: 481d ldr r0, [pc, #116] ; (806086c ) 80607f8: f069 fb4e bl 80c9e98 80607fc: e053 b.n 80608a6 else { arm_min_f32(In, len, &fn[0], &i); 80607fe: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060802: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060806: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806080a: 4818 ldr r0, [pc, #96] ; (806086c ) 806080c: f069 fbd6 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8060810: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060814: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060818: 1d1a adds r2, r3, #4 806081a: 460b mov r3, r1 806081c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060820: 4812 ldr r0, [pc, #72] ; (806086c ) 8060822: f069 fc67 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060826: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806082a: eef5 7ac0 vcmpe.f32 s15, #0.0 806082e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060832: dd02 ble.n 806083a 8060834: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060838: e003 b.n 8060842 806083a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806083e: eef1 7a67 vneg.f32 s15, s15 8060842: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060846: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806084a: eef5 7ac0 vcmpe.f32 s15, #0.0 806084e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060852: dd13 ble.n 806087c 8060854: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060858: e014 b.n 8060884 806085a: bf00 nop 806085c: 20037ae0 .word 0x20037ae0 8060860: 20026020 .word 0x20026020 8060864: 20021cdc .word 0x20021cdc 8060868: 2002602c .word 0x2002602c 806086c: 200279c0 .word 0x200279c0 8060870: 20023e60 .word 0x20023e60 8060874: 20057be8 .word 0x20057be8 8060878: 200277a0 .word 0x200277a0 806087c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060880: eef1 7a67 vneg.f32 s15, s15 8060884: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060888: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806088c: 1e5a subs r2, r3, #1 806088e: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060892: 463a mov r2, r7 8060894: 009b lsls r3, r3, #2 8060896: 441a add r2, r3 8060898: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806089c: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80608a0: 2102 movs r1, #2 80608a2: f069 fc27 bl 80ca0f4 arm_biquad_cascade_df2T_f64(&S_LP_63, &Buff64[0], &Buff64[0], len); 80608a6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80608aa: 4acf ldr r2, [pc, #828] ; (8060be8 ) 80608ac: 49ce ldr r1, [pc, #824] ; (8060be8 ) 80608ae: 48cf ldr r0, [pc, #828] ; (8060bec ) 80608b0: f069 fc94 bl 80ca1dc len >>= 1; 80608b4: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80608b8: 085b lsrs r3, r3, #1 80608ba: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 80608be: 2300 movs r3, #0 80608c0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80608c4: e012 b.n 80608ec Buff64[i] = Buff64[i << 1]; 80608c6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80608ca: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80608ce: 005b lsls r3, r3, #1 80608d0: 49c5 ldr r1, [pc, #788] ; (8060be8 ) 80608d2: 00db lsls r3, r3, #3 80608d4: 440b add r3, r1 80608d6: cb18 ldmia r3, {r3, r4} 80608d8: 49c3 ldr r1, [pc, #780] ; (8060be8 ) 80608da: 00d2 lsls r2, r2, #3 80608dc: 440a add r2, r1 80608de: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 80608e2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80608e6: 3301 adds r3, #1 80608e8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80608ec: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80608f0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80608f4: 429a cmp r2, r3 80608f6: d3e6 bcc.n 80608c6 } //** 80 arm_biquad_cascade_df2T_f64(&S_OKT_80Hz, &Buff64[0], &Buff64[Ns], len); 80608f8: 4bbd ldr r3, [pc, #756] ; (8060bf0 ) 80608fa: 681b ldr r3, [r3, #0] 80608fc: 00db lsls r3, r3, #3 80608fe: 4aba ldr r2, [pc, #744] ; (8060be8 ) 8060900: 441a add r2, r3 8060902: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060906: 49b8 ldr r1, [pc, #736] ; (8060be8 ) 8060908: 48ba ldr r0, [pc, #744] ; (8060bf4 ) 806090a: f069 fc67 bl 80ca1dc for(i = 0; i < len; i++) { 806090e: 2300 movs r3, #0 8060910: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060914: e017 b.n 8060946 In[i] = (float32_t) Buff64[Ns + i]; 8060916: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806091a: 4ab5 ldr r2, [pc, #724] ; (8060bf0 ) 806091c: 6811 ldr r1, [r2, #0] 806091e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060922: 440a add r2, r1 8060924: 49b0 ldr r1, [pc, #704] ; (8060be8 ) 8060926: 00d2 lsls r2, r2, #3 8060928: 440a add r2, r1 806092a: ed92 7b00 vldr d7, [r2] 806092e: eef7 7bc7 vcvt.f32.f64 s15, d7 8060932: 4ab1 ldr r2, [pc, #708] ; (8060bf8 ) 8060934: 009b lsls r3, r3, #2 8060936: 4413 add r3, r2 8060938: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806093c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060940: 3301 adds r3, #1 8060942: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060946: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806094a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806094e: 429a cmp r2, r3 8060950: d3e1 bcc.n 8060916 } if(pardata.IVS[ACC] == RMS) 8060952: 4baa ldr r3, [pc, #680] ; (8060bfc ) 8060954: 789b ldrb r3, [r3, #2] 8060956: b2db uxtb r3, r3 8060958: 2b01 cmp r3, #1 806095a: d10e bne.n 806097a arm_rms_f32(In, len, &Third[k--]); 806095c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060960: 1e5a subs r2, r3, #1 8060962: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060966: 463a mov r2, r7 8060968: 009b lsls r3, r3, #2 806096a: 4413 add r3, r2 806096c: 461a mov r2, r3 806096e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060972: 48a1 ldr r0, [pc, #644] ; (8060bf8 ) 8060974: f069 fa90 bl 80c9e98 8060978: e042 b.n 8060a00 else { arm_min_f32(In, len, &fn[0], &i); 806097a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806097e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060982: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060986: 489c ldr r0, [pc, #624] ; (8060bf8 ) 8060988: f069 fb18 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 806098c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060990: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060994: 1d1a adds r2, r3, #4 8060996: 460b mov r3, r1 8060998: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806099c: 4896 ldr r0, [pc, #600] ; (8060bf8 ) 806099e: f069 fba9 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80609a2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80609a6: eef5 7ac0 vcmpe.f32 s15, #0.0 80609aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80609ae: dd02 ble.n 80609b6 80609b0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80609b4: e003 b.n 80609be 80609b6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80609ba: eef1 7a67 vneg.f32 s15, s15 80609be: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80609c2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80609c6: eef5 7ac0 vcmpe.f32 s15, #0.0 80609ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80609ce: dd02 ble.n 80609d6 80609d0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80609d4: e003 b.n 80609de 80609d6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80609da: eef1 7a67 vneg.f32 s15, s15 80609de: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80609e2: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80609e6: 1e5a subs r2, r3, #1 80609e8: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 80609ec: 463a mov r2, r7 80609ee: 009b lsls r3, r3, #2 80609f0: 441a add r2, r3 80609f2: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80609f6: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80609fa: 2102 movs r1, #2 80609fc: f069 fb7a bl 80ca0f4 } //** 63 arm_biquad_cascade_df2T_f64(&S_OKT_63Hz, &Buff64[0], &Buff64[Ns], len); 8060a00: 4b7b ldr r3, [pc, #492] ; (8060bf0 ) 8060a02: 681b ldr r3, [r3, #0] 8060a04: 00db lsls r3, r3, #3 8060a06: 4a78 ldr r2, [pc, #480] ; (8060be8 ) 8060a08: 441a add r2, r3 8060a0a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060a0e: 4976 ldr r1, [pc, #472] ; (8060be8 ) 8060a10: 487b ldr r0, [pc, #492] ; (8060c00 ) 8060a12: f069 fbe3 bl 80ca1dc for(i = 0; i < len; i++) { 8060a16: 2300 movs r3, #0 8060a18: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060a1c: e017 b.n 8060a4e In[i] = (float32_t) Buff64[Ns + i]; 8060a1e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060a22: 4a73 ldr r2, [pc, #460] ; (8060bf0 ) 8060a24: 6811 ldr r1, [r2, #0] 8060a26: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060a2a: 440a add r2, r1 8060a2c: 496e ldr r1, [pc, #440] ; (8060be8 ) 8060a2e: 00d2 lsls r2, r2, #3 8060a30: 440a add r2, r1 8060a32: ed92 7b00 vldr d7, [r2] 8060a36: eef7 7bc7 vcvt.f32.f64 s15, d7 8060a3a: 4a6f ldr r2, [pc, #444] ; (8060bf8 ) 8060a3c: 009b lsls r3, r3, #2 8060a3e: 4413 add r3, r2 8060a40: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060a44: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060a48: 3301 adds r3, #1 8060a4a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060a4e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060a52: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060a56: 429a cmp r2, r3 8060a58: d3e1 bcc.n 8060a1e } if(pardata.IVS[ACC] == RMS) 8060a5a: 4b68 ldr r3, [pc, #416] ; (8060bfc ) 8060a5c: 789b ldrb r3, [r3, #2] 8060a5e: b2db uxtb r3, r3 8060a60: 2b01 cmp r3, #1 8060a62: d10e bne.n 8060a82 arm_rms_f32(In, len, &Third[k--]); 8060a64: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060a68: 1e5a subs r2, r3, #1 8060a6a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060a6e: 463a mov r2, r7 8060a70: 009b lsls r3, r3, #2 8060a72: 4413 add r3, r2 8060a74: 461a mov r2, r3 8060a76: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060a7a: 485f ldr r0, [pc, #380] ; (8060bf8 ) 8060a7c: f069 fa0c bl 80c9e98 8060a80: e042 b.n 8060b08 else { arm_min_f32(In, len, &fn[0], &i); 8060a82: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060a86: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060a8a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060a8e: 485a ldr r0, [pc, #360] ; (8060bf8 ) 8060a90: f069 fa94 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8060a94: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060a98: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060a9c: 1d1a adds r2, r3, #4 8060a9e: 460b mov r3, r1 8060aa0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060aa4: 4854 ldr r0, [pc, #336] ; (8060bf8 ) 8060aa6: f069 fb25 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060aaa: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060aae: eef5 7ac0 vcmpe.f32 s15, #0.0 8060ab2: eef1 fa10 vmrs APSR_nzcv, fpscr 8060ab6: dd02 ble.n 8060abe 8060ab8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060abc: e003 b.n 8060ac6 8060abe: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060ac2: eef1 7a67 vneg.f32 s15, s15 8060ac6: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060aca: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060ace: eef5 7ac0 vcmpe.f32 s15, #0.0 8060ad2: eef1 fa10 vmrs APSR_nzcv, fpscr 8060ad6: dd02 ble.n 8060ade 8060ad8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060adc: e003 b.n 8060ae6 8060ade: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060ae2: eef1 7a67 vneg.f32 s15, s15 8060ae6: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060aea: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060aee: 1e5a subs r2, r3, #1 8060af0: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060af4: 463a mov r2, r7 8060af6: 009b lsls r3, r3, #2 8060af8: 441a add r2, r3 8060afa: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060afe: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060b02: 2102 movs r1, #2 8060b04: f069 faf6 bl 80ca0f4 } //** 50 arm_biquad_cascade_df2T_f64(&S_OKT_50Hz, &Buff64[0], &Buff64[Ns], len); 8060b08: 4b39 ldr r3, [pc, #228] ; (8060bf0 ) 8060b0a: 681b ldr r3, [r3, #0] 8060b0c: 00db lsls r3, r3, #3 8060b0e: 4a36 ldr r2, [pc, #216] ; (8060be8 ) 8060b10: 441a add r2, r3 8060b12: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060b16: 4934 ldr r1, [pc, #208] ; (8060be8 ) 8060b18: 483a ldr r0, [pc, #232] ; (8060c04 ) 8060b1a: f069 fb5f bl 80ca1dc for(i = 0; i < len; i++) { 8060b1e: 2300 movs r3, #0 8060b20: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060b24: e017 b.n 8060b56 In[i] = (float32_t) Buff64[Ns + i]; 8060b26: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060b2a: 4a31 ldr r2, [pc, #196] ; (8060bf0 ) 8060b2c: 6811 ldr r1, [r2, #0] 8060b2e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060b32: 440a add r2, r1 8060b34: 492c ldr r1, [pc, #176] ; (8060be8 ) 8060b36: 00d2 lsls r2, r2, #3 8060b38: 440a add r2, r1 8060b3a: ed92 7b00 vldr d7, [r2] 8060b3e: eef7 7bc7 vcvt.f32.f64 s15, d7 8060b42: 4a2d ldr r2, [pc, #180] ; (8060bf8 ) 8060b44: 009b lsls r3, r3, #2 8060b46: 4413 add r3, r2 8060b48: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060b4c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060b50: 3301 adds r3, #1 8060b52: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060b56: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060b5a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060b5e: 429a cmp r2, r3 8060b60: d3e1 bcc.n 8060b26 } if(pardata.IVS[ACC] == RMS) 8060b62: 4b26 ldr r3, [pc, #152] ; (8060bfc ) 8060b64: 789b ldrb r3, [r3, #2] 8060b66: b2db uxtb r3, r3 8060b68: 2b01 cmp r3, #1 8060b6a: d10e bne.n 8060b8a arm_rms_f32(In, len, &Third[k--]); 8060b6c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060b70: 1e5a subs r2, r3, #1 8060b72: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060b76: 463a mov r2, r7 8060b78: 009b lsls r3, r3, #2 8060b7a: 4413 add r3, r2 8060b7c: 461a mov r2, r3 8060b7e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060b82: 481d ldr r0, [pc, #116] ; (8060bf8 ) 8060b84: f069 f988 bl 80c9e98 8060b88: e053 b.n 8060c32 else { arm_min_f32(In, len, &fn[0], &i); 8060b8a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060b8e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060b92: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060b96: 4818 ldr r0, [pc, #96] ; (8060bf8 ) 8060b98: f069 fa10 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8060b9c: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060ba0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060ba4: 1d1a adds r2, r3, #4 8060ba6: 460b mov r3, r1 8060ba8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060bac: 4812 ldr r0, [pc, #72] ; (8060bf8 ) 8060bae: f069 faa1 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060bb2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060bb6: eef5 7ac0 vcmpe.f32 s15, #0.0 8060bba: eef1 fa10 vmrs APSR_nzcv, fpscr 8060bbe: dd02 ble.n 8060bc6 8060bc0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060bc4: e003 b.n 8060bce 8060bc6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060bca: eef1 7a67 vneg.f32 s15, s15 8060bce: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060bd2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060bd6: eef5 7ac0 vcmpe.f32 s15, #0.0 8060bda: eef1 fa10 vmrs APSR_nzcv, fpscr 8060bde: dd13 ble.n 8060c08 8060be0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060be4: e014 b.n 8060c10 8060be6: bf00 nop 8060be8: 20037ae0 .word 0x20037ae0 8060bec: 20026330 .word 0x20026330 8060bf0: 20021cdc .word 0x20021cdc 8060bf4: 200267ac .word 0x200267ac 8060bf8: 200279c0 .word 0x200279c0 8060bfc: 20023e60 .word 0x20023e60 8060c00: 20057b44 .word 0x20057b44 8060c04: 20057d84 .word 0x20057d84 8060c08: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060c0c: eef1 7a67 vneg.f32 s15, s15 8060c10: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060c14: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060c18: 1e5a subs r2, r3, #1 8060c1a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060c1e: 463a mov r2, r7 8060c20: 009b lsls r3, r3, #2 8060c22: 441a add r2, r3 8060c24: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060c28: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060c2c: 2102 movs r1, #2 8060c2e: f069 fa61 bl 80ca0f4 } arm_biquad_cascade_df2T_f64(&S_LP_32, &Buff64[0], &Buff64[0], len); 8060c32: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060c36: 4acf ldr r2, [pc, #828] ; (8060f74 ) 8060c38: 49ce ldr r1, [pc, #824] ; (8060f74 ) 8060c3a: 48cf ldr r0, [pc, #828] ; (8060f78 ) 8060c3c: f069 face bl 80ca1dc len >>= 1; 8060c40: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060c44: 085b lsrs r3, r3, #1 8060c46: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8060c4a: 2300 movs r3, #0 8060c4c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060c50: e012 b.n 8060c78 Buff64[i] = Buff64[i << 1]; 8060c52: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060c56: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060c5a: 005b lsls r3, r3, #1 8060c5c: 49c5 ldr r1, [pc, #788] ; (8060f74 ) 8060c5e: 00db lsls r3, r3, #3 8060c60: 440b add r3, r1 8060c62: cb18 ldmia r3, {r3, r4} 8060c64: 49c3 ldr r1, [pc, #780] ; (8060f74 ) 8060c66: 00d2 lsls r2, r2, #3 8060c68: 440a add r2, r1 8060c6a: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8060c6e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060c72: 3301 adds r3, #1 8060c74: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060c78: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060c7c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060c80: 429a cmp r2, r3 8060c82: d3e6 bcc.n 8060c52 } //** 40 arm_biquad_cascade_df2T_f64(&S_OKT_40Hz, &Buff64[0], &Buff64[Ns], len); 8060c84: 4bbd ldr r3, [pc, #756] ; (8060f7c ) 8060c86: 681b ldr r3, [r3, #0] 8060c88: 00db lsls r3, r3, #3 8060c8a: 4aba ldr r2, [pc, #744] ; (8060f74 ) 8060c8c: 441a add r2, r3 8060c8e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060c92: 49b8 ldr r1, [pc, #736] ; (8060f74 ) 8060c94: 48ba ldr r0, [pc, #744] ; (8060f80 ) 8060c96: f069 faa1 bl 80ca1dc for(i = 0; i < len; i++) { 8060c9a: 2300 movs r3, #0 8060c9c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060ca0: e017 b.n 8060cd2 In[i] = (float32_t) Buff64[Ns + i]; 8060ca2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060ca6: 4ab5 ldr r2, [pc, #724] ; (8060f7c ) 8060ca8: 6811 ldr r1, [r2, #0] 8060caa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060cae: 440a add r2, r1 8060cb0: 49b0 ldr r1, [pc, #704] ; (8060f74 ) 8060cb2: 00d2 lsls r2, r2, #3 8060cb4: 440a add r2, r1 8060cb6: ed92 7b00 vldr d7, [r2] 8060cba: eef7 7bc7 vcvt.f32.f64 s15, d7 8060cbe: 4ab1 ldr r2, [pc, #708] ; (8060f84 ) 8060cc0: 009b lsls r3, r3, #2 8060cc2: 4413 add r3, r2 8060cc4: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060cc8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060ccc: 3301 adds r3, #1 8060cce: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060cd2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060cd6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060cda: 429a cmp r2, r3 8060cdc: d3e1 bcc.n 8060ca2 } if(pardata.IVS[ACC] == RMS) 8060cde: 4baa ldr r3, [pc, #680] ; (8060f88 ) 8060ce0: 789b ldrb r3, [r3, #2] 8060ce2: b2db uxtb r3, r3 8060ce4: 2b01 cmp r3, #1 8060ce6: d10e bne.n 8060d06 arm_rms_f32(In, len, &Third[k--]); 8060ce8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060cec: 1e5a subs r2, r3, #1 8060cee: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060cf2: 463a mov r2, r7 8060cf4: 009b lsls r3, r3, #2 8060cf6: 4413 add r3, r2 8060cf8: 461a mov r2, r3 8060cfa: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060cfe: 48a1 ldr r0, [pc, #644] ; (8060f84 ) 8060d00: f069 f8ca bl 80c9e98 8060d04: e042 b.n 8060d8c else { arm_min_f32(In, len, &fn[0], &i); 8060d06: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060d0a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060d0e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060d12: 489c ldr r0, [pc, #624] ; (8060f84 ) 8060d14: f069 f952 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8060d18: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060d1c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060d20: 1d1a adds r2, r3, #4 8060d22: 460b mov r3, r1 8060d24: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060d28: 4896 ldr r0, [pc, #600] ; (8060f84 ) 8060d2a: f069 f9e3 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060d2e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060d32: eef5 7ac0 vcmpe.f32 s15, #0.0 8060d36: eef1 fa10 vmrs APSR_nzcv, fpscr 8060d3a: dd02 ble.n 8060d42 8060d3c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060d40: e003 b.n 8060d4a 8060d42: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060d46: eef1 7a67 vneg.f32 s15, s15 8060d4a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060d4e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060d52: eef5 7ac0 vcmpe.f32 s15, #0.0 8060d56: eef1 fa10 vmrs APSR_nzcv, fpscr 8060d5a: dd02 ble.n 8060d62 8060d5c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060d60: e003 b.n 8060d6a 8060d62: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060d66: eef1 7a67 vneg.f32 s15, s15 8060d6a: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060d6e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060d72: 1e5a subs r2, r3, #1 8060d74: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060d78: 463a mov r2, r7 8060d7a: 009b lsls r3, r3, #2 8060d7c: 441a add r2, r3 8060d7e: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060d82: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060d86: 2102 movs r1, #2 8060d88: f069 f9b4 bl 80ca0f4 } //** 31 arm_biquad_cascade_df2T_f64(&S_OKT_32Hz, &Buff64[0], &Buff64[Ns], len); 8060d8c: 4b7b ldr r3, [pc, #492] ; (8060f7c ) 8060d8e: 681b ldr r3, [r3, #0] 8060d90: 00db lsls r3, r3, #3 8060d92: 4a78 ldr r2, [pc, #480] ; (8060f74 ) 8060d94: 441a add r2, r3 8060d96: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060d9a: 4976 ldr r1, [pc, #472] ; (8060f74 ) 8060d9c: 487b ldr r0, [pc, #492] ; (8060f8c ) 8060d9e: f069 fa1d bl 80ca1dc for(i = 0; i < len; i++) { 8060da2: 2300 movs r3, #0 8060da4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060da8: e017 b.n 8060dda In[i] = (float32_t) Buff64[Ns + i]; 8060daa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060dae: 4a73 ldr r2, [pc, #460] ; (8060f7c ) 8060db0: 6811 ldr r1, [r2, #0] 8060db2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060db6: 440a add r2, r1 8060db8: 496e ldr r1, [pc, #440] ; (8060f74 ) 8060dba: 00d2 lsls r2, r2, #3 8060dbc: 440a add r2, r1 8060dbe: ed92 7b00 vldr d7, [r2] 8060dc2: eef7 7bc7 vcvt.f32.f64 s15, d7 8060dc6: 4a6f ldr r2, [pc, #444] ; (8060f84 ) 8060dc8: 009b lsls r3, r3, #2 8060dca: 4413 add r3, r2 8060dcc: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060dd0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060dd4: 3301 adds r3, #1 8060dd6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060dda: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060dde: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060de2: 429a cmp r2, r3 8060de4: d3e1 bcc.n 8060daa } if(pardata.IVS[ACC] == RMS) 8060de6: 4b68 ldr r3, [pc, #416] ; (8060f88 ) 8060de8: 789b ldrb r3, [r3, #2] 8060dea: b2db uxtb r3, r3 8060dec: 2b01 cmp r3, #1 8060dee: d10e bne.n 8060e0e arm_rms_f32(In, len, &Third[k--]); 8060df0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060df4: 1e5a subs r2, r3, #1 8060df6: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060dfa: 463a mov r2, r7 8060dfc: 009b lsls r3, r3, #2 8060dfe: 4413 add r3, r2 8060e00: 461a mov r2, r3 8060e02: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060e06: 485f ldr r0, [pc, #380] ; (8060f84 ) 8060e08: f069 f846 bl 80c9e98 8060e0c: e042 b.n 8060e94 else { arm_min_f32(In, len, &fn[0], &i); 8060e0e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060e12: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060e16: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060e1a: 485a ldr r0, [pc, #360] ; (8060f84 ) 8060e1c: f069 f8ce bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8060e20: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060e24: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060e28: 1d1a adds r2, r3, #4 8060e2a: 460b mov r3, r1 8060e2c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060e30: 4854 ldr r0, [pc, #336] ; (8060f84 ) 8060e32: f069 f95f bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060e36: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060e3a: eef5 7ac0 vcmpe.f32 s15, #0.0 8060e3e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060e42: dd02 ble.n 8060e4a 8060e44: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060e48: e003 b.n 8060e52 8060e4a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060e4e: eef1 7a67 vneg.f32 s15, s15 8060e52: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060e56: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060e5a: eef5 7ac0 vcmpe.f32 s15, #0.0 8060e5e: eef1 fa10 vmrs APSR_nzcv, fpscr 8060e62: dd02 ble.n 8060e6a 8060e64: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060e68: e003 b.n 8060e72 8060e6a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060e6e: eef1 7a67 vneg.f32 s15, s15 8060e72: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060e76: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060e7a: 1e5a subs r2, r3, #1 8060e7c: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060e80: 463a mov r2, r7 8060e82: 009b lsls r3, r3, #2 8060e84: 441a add r2, r3 8060e86: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060e8a: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060e8e: 2102 movs r1, #2 8060e90: f069 f930 bl 80ca0f4 } //** 25 arm_biquad_cascade_df2T_f64(&S_OKT_25Hz, &Buff64[0], &Buff64[Ns], len); 8060e94: 4b39 ldr r3, [pc, #228] ; (8060f7c ) 8060e96: 681b ldr r3, [r3, #0] 8060e98: 00db lsls r3, r3, #3 8060e9a: 4a36 ldr r2, [pc, #216] ; (8060f74 ) 8060e9c: 441a add r2, r3 8060e9e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060ea2: 4934 ldr r1, [pc, #208] ; (8060f74 ) 8060ea4: 483a ldr r0, [pc, #232] ; (8060f90 ) 8060ea6: f069 f999 bl 80ca1dc for(i = 0; i < len; i++) { 8060eaa: 2300 movs r3, #0 8060eac: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060eb0: e017 b.n 8060ee2 In[i] = (float32_t) Buff64[Ns + i]; 8060eb2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060eb6: 4a31 ldr r2, [pc, #196] ; (8060f7c ) 8060eb8: 6811 ldr r1, [r2, #0] 8060eba: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060ebe: 440a add r2, r1 8060ec0: 492c ldr r1, [pc, #176] ; (8060f74 ) 8060ec2: 00d2 lsls r2, r2, #3 8060ec4: 440a add r2, r1 8060ec6: ed92 7b00 vldr d7, [r2] 8060eca: eef7 7bc7 vcvt.f32.f64 s15, d7 8060ece: 4a2d ldr r2, [pc, #180] ; (8060f84 ) 8060ed0: 009b lsls r3, r3, #2 8060ed2: 4413 add r3, r2 8060ed4: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8060ed8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060edc: 3301 adds r3, #1 8060ede: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060ee2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060ee6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060eea: 429a cmp r2, r3 8060eec: d3e1 bcc.n 8060eb2 } if(pardata.IVS[ACC] == RMS) 8060eee: 4b26 ldr r3, [pc, #152] ; (8060f88 ) 8060ef0: 789b ldrb r3, [r3, #2] 8060ef2: b2db uxtb r3, r3 8060ef4: 2b01 cmp r3, #1 8060ef6: d10e bne.n 8060f16 arm_rms_f32(In, len, &Third[k--]); 8060ef8: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060efc: 1e5a subs r2, r3, #1 8060efe: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060f02: 463a mov r2, r7 8060f04: 009b lsls r3, r3, #2 8060f06: 4413 add r3, r2 8060f08: 461a mov r2, r3 8060f0a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060f0e: 481d ldr r0, [pc, #116] ; (8060f84 ) 8060f10: f068 ffc2 bl 80c9e98 8060f14: e053 b.n 8060fbe else { arm_min_f32(In, len, &fn[0], &i); 8060f16: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8060f1a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8060f1e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060f22: 4818 ldr r0, [pc, #96] ; (8060f84 ) 8060f24: f069 f84a bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8060f28: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8060f2c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8060f30: 1d1a adds r2, r3, #4 8060f32: 460b mov r3, r1 8060f34: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8060f38: 4812 ldr r0, [pc, #72] ; (8060f84 ) 8060f3a: f069 f8db bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8060f3e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060f42: eef5 7ac0 vcmpe.f32 s15, #0.0 8060f46: eef1 fa10 vmrs APSR_nzcv, fpscr 8060f4a: dd02 ble.n 8060f52 8060f4c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060f50: e003 b.n 8060f5a 8060f52: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8060f56: eef1 7a67 vneg.f32 s15, s15 8060f5a: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8060f5e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060f62: eef5 7ac0 vcmpe.f32 s15, #0.0 8060f66: eef1 fa10 vmrs APSR_nzcv, fpscr 8060f6a: dd13 ble.n 8060f94 8060f6c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060f70: e014 b.n 8060f9c 8060f72: bf00 nop 8060f74: 20037ae0 .word 0x20037ae0 8060f78: 200278b8 .word 0x200278b8 8060f7c: 20021cdc .word 0x20021cdc 8060f80: 20026610 .word 0x20026610 8060f84: 200279c0 .word 0x200279c0 8060f88: 20023e60 .word 0x20023e60 8060f8c: 20057f54 .word 0x20057f54 8060f90: 20026da0 .word 0x20026da0 8060f94: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8060f98: eef1 7a67 vneg.f32 s15, s15 8060f9c: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8060fa0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8060fa4: 1e5a subs r2, r3, #1 8060fa6: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8060faa: 463a mov r2, r7 8060fac: 009b lsls r3, r3, #2 8060fae: 441a add r2, r3 8060fb0: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8060fb4: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8060fb8: 2102 movs r1, #2 8060fba: f069 f89b bl 80ca0f4 } arm_biquad_cascade_df2T_f64(&S_LP_16, &Buff64[0], &Buff64[0], len); 8060fbe: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060fc2: 4acf ldr r2, [pc, #828] ; (8061300 ) 8060fc4: 49ce ldr r1, [pc, #824] ; (8061300 ) 8060fc6: 48cf ldr r0, [pc, #828] ; (8061304 ) 8060fc8: f069 f908 bl 80ca1dc len >>= 1; 8060fcc: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8060fd0: 085b lsrs r3, r3, #1 8060fd2: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8060fd6: 2300 movs r3, #0 8060fd8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8060fdc: e012 b.n 8061004 Buff64[i] = Buff64[i << 1]; 8060fde: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8060fe2: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060fe6: 005b lsls r3, r3, #1 8060fe8: 49c5 ldr r1, [pc, #788] ; (8061300 ) 8060fea: 00db lsls r3, r3, #3 8060fec: 440b add r3, r1 8060fee: cb18 ldmia r3, {r3, r4} 8060ff0: 49c3 ldr r1, [pc, #780] ; (8061300 ) 8060ff2: 00d2 lsls r2, r2, #3 8060ff4: 440a add r2, r1 8060ff6: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8060ffa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8060ffe: 3301 adds r3, #1 8061000: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061004: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061008: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806100c: 429a cmp r2, r3 806100e: d3e6 bcc.n 8060fde } //** 20 arm_biquad_cascade_df2T_f64(&S_OKT_20Hz, &Buff64[0], &Buff64[Ns], len); 8061010: 4bbd ldr r3, [pc, #756] ; (8061308 ) 8061012: 681b ldr r3, [r3, #0] 8061014: 00db lsls r3, r3, #3 8061016: 4aba ldr r2, [pc, #744] ; (8061300 ) 8061018: 441a add r2, r3 806101a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806101e: 49b8 ldr r1, [pc, #736] ; (8061300 ) 8061020: 48ba ldr r0, [pc, #744] ; (806130c ) 8061022: f069 f8db bl 80ca1dc for(i = 0; i < len; i++) { 8061026: 2300 movs r3, #0 8061028: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806102c: e017 b.n 806105e In[i] = (float32_t) Buff64[Ns + i]; 806102e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061032: 4ab5 ldr r2, [pc, #724] ; (8061308 ) 8061034: 6811 ldr r1, [r2, #0] 8061036: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806103a: 440a add r2, r1 806103c: 49b0 ldr r1, [pc, #704] ; (8061300 ) 806103e: 00d2 lsls r2, r2, #3 8061040: 440a add r2, r1 8061042: ed92 7b00 vldr d7, [r2] 8061046: eef7 7bc7 vcvt.f32.f64 s15, d7 806104a: 4ab1 ldr r2, [pc, #708] ; (8061310 ) 806104c: 009b lsls r3, r3, #2 806104e: 4413 add r3, r2 8061050: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061054: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061058: 3301 adds r3, #1 806105a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806105e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061062: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061066: 429a cmp r2, r3 8061068: d3e1 bcc.n 806102e } if(pardata.IVS[ACC] == RMS) 806106a: 4baa ldr r3, [pc, #680] ; (8061314 ) 806106c: 789b ldrb r3, [r3, #2] 806106e: b2db uxtb r3, r3 8061070: 2b01 cmp r3, #1 8061072: d10e bne.n 8061092 arm_rms_f32(In, len, &Third[k--]); 8061074: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061078: 1e5a subs r2, r3, #1 806107a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806107e: 463a mov r2, r7 8061080: 009b lsls r3, r3, #2 8061082: 4413 add r3, r2 8061084: 461a mov r2, r3 8061086: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806108a: 48a1 ldr r0, [pc, #644] ; (8061310 ) 806108c: f068 ff04 bl 80c9e98 8061090: e042 b.n 8061118 else { arm_min_f32(In, len, &fn[0], &i); 8061092: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061096: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806109a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806109e: 489c ldr r0, [pc, #624] ; (8061310 ) 80610a0: f068 ff8c bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 80610a4: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80610a8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80610ac: 1d1a adds r2, r3, #4 80610ae: 460b mov r3, r1 80610b0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80610b4: 4896 ldr r0, [pc, #600] ; (8061310 ) 80610b6: f069 f81d bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80610ba: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80610be: eef5 7ac0 vcmpe.f32 s15, #0.0 80610c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80610c6: dd02 ble.n 80610ce 80610c8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80610cc: e003 b.n 80610d6 80610ce: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80610d2: eef1 7a67 vneg.f32 s15, s15 80610d6: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80610da: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80610de: eef5 7ac0 vcmpe.f32 s15, #0.0 80610e2: eef1 fa10 vmrs APSR_nzcv, fpscr 80610e6: dd02 ble.n 80610ee 80610e8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80610ec: e003 b.n 80610f6 80610ee: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80610f2: eef1 7a67 vneg.f32 s15, s15 80610f6: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 80610fa: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80610fe: 1e5a subs r2, r3, #1 8061100: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061104: 463a mov r2, r7 8061106: 009b lsls r3, r3, #2 8061108: 441a add r2, r3 806110a: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806110e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061112: 2102 movs r1, #2 8061114: f068 ffee bl 80ca0f4 } //** 16 arm_biquad_cascade_df2T_f64(&S_OKT_16Hz, &Buff64[0], &Buff64[Ns], len); 8061118: 4b7b ldr r3, [pc, #492] ; (8061308 ) 806111a: 681b ldr r3, [r3, #0] 806111c: 00db lsls r3, r3, #3 806111e: 4a78 ldr r2, [pc, #480] ; (8061300 ) 8061120: 441a add r2, r3 8061122: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061126: 4976 ldr r1, [pc, #472] ; (8061300 ) 8061128: 487b ldr r0, [pc, #492] ; (8061318 ) 806112a: f069 f857 bl 80ca1dc for(i = 0; i < len; i++) { 806112e: 2300 movs r3, #0 8061130: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061134: e017 b.n 8061166 In[i] = (float32_t) Buff64[Ns + i]; 8061136: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806113a: 4a73 ldr r2, [pc, #460] ; (8061308 ) 806113c: 6811 ldr r1, [r2, #0] 806113e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061142: 440a add r2, r1 8061144: 496e ldr r1, [pc, #440] ; (8061300 ) 8061146: 00d2 lsls r2, r2, #3 8061148: 440a add r2, r1 806114a: ed92 7b00 vldr d7, [r2] 806114e: eef7 7bc7 vcvt.f32.f64 s15, d7 8061152: 4a6f ldr r2, [pc, #444] ; (8061310 ) 8061154: 009b lsls r3, r3, #2 8061156: 4413 add r3, r2 8061158: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806115c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061160: 3301 adds r3, #1 8061162: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061166: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806116a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806116e: 429a cmp r2, r3 8061170: d3e1 bcc.n 8061136 } if(pardata.IVS[ACC] == RMS) 8061172: 4b68 ldr r3, [pc, #416] ; (8061314 ) 8061174: 789b ldrb r3, [r3, #2] 8061176: b2db uxtb r3, r3 8061178: 2b01 cmp r3, #1 806117a: d10e bne.n 806119a arm_rms_f32(In, len, &Third[k--]); 806117c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061180: 1e5a subs r2, r3, #1 8061182: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061186: 463a mov r2, r7 8061188: 009b lsls r3, r3, #2 806118a: 4413 add r3, r2 806118c: 461a mov r2, r3 806118e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061192: 485f ldr r0, [pc, #380] ; (8061310 ) 8061194: f068 fe80 bl 80c9e98 8061198: e042 b.n 8061220 else { arm_min_f32(In, len, &fn[0], &i); 806119a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806119e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80611a2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80611a6: 485a ldr r0, [pc, #360] ; (8061310 ) 80611a8: f068 ff08 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 80611ac: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80611b0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80611b4: 1d1a adds r2, r3, #4 80611b6: 460b mov r3, r1 80611b8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80611bc: 4854 ldr r0, [pc, #336] ; (8061310 ) 80611be: f068 ff99 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80611c2: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80611c6: eef5 7ac0 vcmpe.f32 s15, #0.0 80611ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80611ce: dd02 ble.n 80611d6 80611d0: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80611d4: e003 b.n 80611de 80611d6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80611da: eef1 7a67 vneg.f32 s15, s15 80611de: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80611e2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80611e6: eef5 7ac0 vcmpe.f32 s15, #0.0 80611ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80611ee: dd02 ble.n 80611f6 80611f0: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80611f4: e003 b.n 80611fe 80611f6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80611fa: eef1 7a67 vneg.f32 s15, s15 80611fe: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 8061202: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061206: 1e5a subs r2, r3, #1 8061208: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806120c: 463a mov r2, r7 806120e: 009b lsls r3, r3, #2 8061210: 441a add r2, r3 8061212: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061216: f507 70d8 add.w r0, r7, #432 ; 0x1b0 806121a: 2102 movs r1, #2 806121c: f068 ff6a bl 80ca0f4 } //** 12,5 arm_biquad_cascade_df2T_f64(&S_OKT_12_5Hz, &Buff64[0], &Buff64[Ns], len); 8061220: 4b39 ldr r3, [pc, #228] ; (8061308 ) 8061222: 681b ldr r3, [r3, #0] 8061224: 00db lsls r3, r3, #3 8061226: 4a36 ldr r2, [pc, #216] ; (8061300 ) 8061228: 441a add r2, r3 806122a: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806122e: 4934 ldr r1, [pc, #208] ; (8061300 ) 8061230: 483a ldr r0, [pc, #232] ; (806131c ) 8061232: f068 ffd3 bl 80ca1dc for(i = 0; i < len; i++) { 8061236: 2300 movs r3, #0 8061238: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806123c: e017 b.n 806126e In[i] = (float32_t) Buff64[Ns + i]; 806123e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061242: 4a31 ldr r2, [pc, #196] ; (8061308 ) 8061244: 6811 ldr r1, [r2, #0] 8061246: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806124a: 440a add r2, r1 806124c: 492c ldr r1, [pc, #176] ; (8061300 ) 806124e: 00d2 lsls r2, r2, #3 8061250: 440a add r2, r1 8061252: ed92 7b00 vldr d7, [r2] 8061256: eef7 7bc7 vcvt.f32.f64 s15, d7 806125a: 4a2d ldr r2, [pc, #180] ; (8061310 ) 806125c: 009b lsls r3, r3, #2 806125e: 4413 add r3, r2 8061260: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061264: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061268: 3301 adds r3, #1 806126a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806126e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061272: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061276: 429a cmp r2, r3 8061278: d3e1 bcc.n 806123e } if(pardata.IVS[ACC] == RMS) 806127a: 4b26 ldr r3, [pc, #152] ; (8061314 ) 806127c: 789b ldrb r3, [r3, #2] 806127e: b2db uxtb r3, r3 8061280: 2b01 cmp r3, #1 8061282: d10e bne.n 80612a2 arm_rms_f32(In, len, &Third[k--]); 8061284: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061288: 1e5a subs r2, r3, #1 806128a: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 806128e: 463a mov r2, r7 8061290: 009b lsls r3, r3, #2 8061292: 4413 add r3, r2 8061294: 461a mov r2, r3 8061296: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806129a: 481d ldr r0, [pc, #116] ; (8061310 ) 806129c: f068 fdfc bl 80c9e98 80612a0: e053 b.n 806134a else { arm_min_f32(In, len, &fn[0], &i); 80612a2: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80612a6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80612aa: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80612ae: 4818 ldr r0, [pc, #96] ; (8061310 ) 80612b0: f068 fe84 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 80612b4: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80612b8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80612bc: 1d1a adds r2, r3, #4 80612be: 460b mov r3, r1 80612c0: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80612c4: 4812 ldr r0, [pc, #72] ; (8061310 ) 80612c6: f068 ff15 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80612ca: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80612ce: eef5 7ac0 vcmpe.f32 s15, #0.0 80612d2: eef1 fa10 vmrs APSR_nzcv, fpscr 80612d6: dd02 ble.n 80612de 80612d8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80612dc: e003 b.n 80612e6 80612de: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80612e2: eef1 7a67 vneg.f32 s15, s15 80612e6: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80612ea: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80612ee: eef5 7ac0 vcmpe.f32 s15, #0.0 80612f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80612f6: dd13 ble.n 8061320 80612f8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80612fc: e014 b.n 8061328 80612fe: bf00 nop 8061300: 20037ae0 .word 0x20037ae0 8061304: 20026a68 .word 0x20026a68 8061308: 20021cdc .word 0x20021cdc 806130c: 20025fe0 .word 0x20025fe0 8061310: 200279c0 .word 0x200279c0 8061314: 20023e60 .word 0x20023e60 8061318: 20026bc8 .word 0x20026bc8 806131c: 20057b38 .word 0x20057b38 8061320: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061324: eef1 7a67 vneg.f32 s15, s15 8061328: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &Third[k--], &j); 806132c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8061330: 1e5a subs r2, r3, #1 8061332: f8c7 21c8 str.w r2, [r7, #456] ; 0x1c8 8061336: 463a mov r2, r7 8061338: 009b lsls r3, r3, #2 806133a: 441a add r2, r3 806133c: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061340: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061344: 2102 movs r1, #2 8061346: f068 fed5 bl 80ca0f4 } cntOkt++; 806134a: 4bc9 ldr r3, [pc, #804] ; (8061670 ) 806134c: 681b ldr r3, [r3, #0] 806134e: 3301 adds r3, #1 8061350: 4ac7 ldr r2, [pc, #796] ; (8061670 ) 8061352: 6013 str r3, [r2, #0] arm_biquad_cascade_df2T_f64(&S_LP_8, &Buff64[0], &Buff64[0], len); 8061354: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061358: 4ac6 ldr r2, [pc, #792] ; (8061674 ) 806135a: 49c6 ldr r1, [pc, #792] ; (8061674 ) 806135c: 48c6 ldr r0, [pc, #792] ; (8061678 ) 806135e: f068 ff3d bl 80ca1dc len >>= 1; 8061362: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061366: 085b lsrs r3, r3, #1 8061368: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 806136c: 2300 movs r3, #0 806136e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061372: e012 b.n 806139a Buff64[i] = Buff64[i << 1]; 8061374: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061378: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806137c: 005b lsls r3, r3, #1 806137e: 49bd ldr r1, [pc, #756] ; (8061674 ) 8061380: 00db lsls r3, r3, #3 8061382: 440b add r3, r1 8061384: cb18 ldmia r3, {r3, r4} 8061386: 49bb ldr r1, [pc, #748] ; (8061674 ) 8061388: 00d2 lsls r2, r2, #3 806138a: 440a add r2, r1 806138c: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061390: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061394: 3301 adds r3, #1 8061396: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806139a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806139e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80613a2: 429a cmp r2, r3 80613a4: d3e6 bcc.n 8061374 } //** 10 arm_biquad_cascade_df2T_f64(&S_OKT_10Hz, &Buff64[0], &Buff64[Ns], len); 80613a6: 4bb5 ldr r3, [pc, #724] ; (806167c ) 80613a8: 681b ldr r3, [r3, #0] 80613aa: 00db lsls r3, r3, #3 80613ac: 4ab1 ldr r2, [pc, #708] ; (8061674 ) 80613ae: 441a add r2, r3 80613b0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80613b4: 49af ldr r1, [pc, #700] ; (8061674 ) 80613b6: 48b2 ldr r0, [pc, #712] ; (8061680 ) 80613b8: f068 ff10 bl 80ca1dc for(i = 0; i < len; i++) { 80613bc: 2300 movs r3, #0 80613be: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80613c2: e017 b.n 80613f4 In[i] = (float32_t) Buff64[Ns + i]; 80613c4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80613c8: 4aac ldr r2, [pc, #688] ; (806167c ) 80613ca: 6811 ldr r1, [r2, #0] 80613cc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80613d0: 440a add r2, r1 80613d2: 49a8 ldr r1, [pc, #672] ; (8061674 ) 80613d4: 00d2 lsls r2, r2, #3 80613d6: 440a add r2, r1 80613d8: ed92 7b00 vldr d7, [r2] 80613dc: eef7 7bc7 vcvt.f32.f64 s15, d7 80613e0: 4aa8 ldr r2, [pc, #672] ; (8061684 ) 80613e2: 009b lsls r3, r3, #2 80613e4: 4413 add r3, r2 80613e6: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80613ea: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80613ee: 3301 adds r3, #1 80613f0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80613f4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80613f8: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80613fc: 429a cmp r2, r3 80613fe: d3e1 bcc.n 80613c4 } if(pardata.IVS[ACC] == RMS) 8061400: 4ba1 ldr r3, [pc, #644] ; (8061688 ) 8061402: 789b ldrb r3, [r3, #2] 8061404: b2db uxtb r3, r3 8061406: 2b01 cmp r3, #1 8061408: d112 bne.n 8061430 { arm_power_f32(In, len, &fl); 806140a: f507 73de add.w r3, r7, #444 ; 0x1bc 806140e: 461a mov r2, r3 8061410: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061414: 489b ldr r0, [pc, #620] ; (8061684 ) 8061416: f068 fd97 bl 80c9f48 rms10 += fl; 806141a: 4b9c ldr r3, [pc, #624] ; (806168c ) 806141c: ed93 7a00 vldr s14, [r3] 8061420: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061424: ee77 7a27 vadd.f32 s15, s14, s15 8061428: 4b98 ldr r3, [pc, #608] ; (806168c ) 806142a: edc3 7a00 vstr s15, [r3] 806142e: e04a b.n 80614c6 } else { arm_min_f32(In, len, &fn[0], &i); 8061430: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061434: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061438: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806143c: 4891 ldr r0, [pc, #580] ; (8061684 ) 806143e: f068 fdbd bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8061442: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061446: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806144a: 1d1a adds r2, r3, #4 806144c: 460b mov r3, r1 806144e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061452: 488c ldr r0, [pc, #560] ; (8061684 ) 8061454: f068 fe4e bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061458: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806145c: eef5 7ac0 vcmpe.f32 s15, #0.0 8061460: eef1 fa10 vmrs APSR_nzcv, fpscr 8061464: dd02 ble.n 806146c 8061466: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806146a: e003 b.n 8061474 806146c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061470: eef1 7a67 vneg.f32 s15, s15 8061474: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061478: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806147c: eef5 7ac0 vcmpe.f32 s15, #0.0 8061480: eef1 fa10 vmrs APSR_nzcv, fpscr 8061484: dd02 ble.n 806148c 8061486: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806148a: e003 b.n 8061494 806148c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061490: eef1 7a67 vneg.f32 s15, s15 8061494: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061498: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806149c: f507 72de add.w r2, r7, #444 ; 0x1bc 80614a0: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80614a4: 2102 movs r1, #2 80614a6: f068 fe25 bl 80ca0f4 if(fl > rms10) 80614aa: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 80614ae: 4b77 ldr r3, [pc, #476] ; (806168c ) 80614b0: edd3 7a00 vldr s15, [r3] 80614b4: eeb4 7ae7 vcmpe.f32 s14, s15 80614b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80614bc: dd03 ble.n 80614c6 rms10 = fl; 80614be: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80614c2: 4a72 ldr r2, [pc, #456] ; (806168c ) 80614c4: 6013 str r3, [r2, #0] } //** 8 arm_biquad_cascade_df2T_f64(&S_OKT_8Hz, &Buff64[0], &Buff64[Ns], len); 80614c6: 4b6d ldr r3, [pc, #436] ; (806167c ) 80614c8: 681b ldr r3, [r3, #0] 80614ca: 00db lsls r3, r3, #3 80614cc: 4a69 ldr r2, [pc, #420] ; (8061674 ) 80614ce: 441a add r2, r3 80614d0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80614d4: 4967 ldr r1, [pc, #412] ; (8061674 ) 80614d6: 486e ldr r0, [pc, #440] ; (8061690 ) 80614d8: f068 fe80 bl 80ca1dc for(i = 0; i < len; i++) { 80614dc: 2300 movs r3, #0 80614de: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80614e2: e017 b.n 8061514 In[i] = (float32_t) Buff64[Ns + i]; 80614e4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80614e8: 4a64 ldr r2, [pc, #400] ; (806167c ) 80614ea: 6811 ldr r1, [r2, #0] 80614ec: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80614f0: 440a add r2, r1 80614f2: 4960 ldr r1, [pc, #384] ; (8061674 ) 80614f4: 00d2 lsls r2, r2, #3 80614f6: 440a add r2, r1 80614f8: ed92 7b00 vldr d7, [r2] 80614fc: eef7 7bc7 vcvt.f32.f64 s15, d7 8061500: 4a60 ldr r2, [pc, #384] ; (8061684 ) 8061502: 009b lsls r3, r3, #2 8061504: 4413 add r3, r2 8061506: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806150a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806150e: 3301 adds r3, #1 8061510: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061514: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061518: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806151c: 429a cmp r2, r3 806151e: d3e1 bcc.n 80614e4 } if(pardata.IVS[ACC] == RMS) 8061520: 4b59 ldr r3, [pc, #356] ; (8061688 ) 8061522: 789b ldrb r3, [r3, #2] 8061524: b2db uxtb r3, r3 8061526: 2b01 cmp r3, #1 8061528: d112 bne.n 8061550 { arm_power_f32(In, len, &fl); 806152a: f507 73de add.w r3, r7, #444 ; 0x1bc 806152e: 461a mov r2, r3 8061530: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061534: 4853 ldr r0, [pc, #332] ; (8061684 ) 8061536: f068 fd07 bl 80c9f48 rms8 += fl; 806153a: 4b56 ldr r3, [pc, #344] ; (8061694 ) 806153c: ed93 7a00 vldr s14, [r3] 8061540: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061544: ee77 7a27 vadd.f32 s15, s14, s15 8061548: 4b52 ldr r3, [pc, #328] ; (8061694 ) 806154a: edc3 7a00 vstr s15, [r3] 806154e: e04a b.n 80615e6 } else { arm_min_f32(In, len, &fn[0], &i); 8061550: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061554: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061558: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806155c: 4849 ldr r0, [pc, #292] ; (8061684 ) 806155e: f068 fd2d bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8061562: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061566: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806156a: 1d1a adds r2, r3, #4 806156c: 460b mov r3, r1 806156e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061572: 4844 ldr r0, [pc, #272] ; (8061684 ) 8061574: f068 fdbe bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061578: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806157c: eef5 7ac0 vcmpe.f32 s15, #0.0 8061580: eef1 fa10 vmrs APSR_nzcv, fpscr 8061584: dd02 ble.n 806158c 8061586: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806158a: e003 b.n 8061594 806158c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061590: eef1 7a67 vneg.f32 s15, s15 8061594: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061598: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806159c: eef5 7ac0 vcmpe.f32 s15, #0.0 80615a0: eef1 fa10 vmrs APSR_nzcv, fpscr 80615a4: dd02 ble.n 80615ac 80615a6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80615aa: e003 b.n 80615b4 80615ac: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80615b0: eef1 7a67 vneg.f32 s15, s15 80615b4: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 80615b8: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80615bc: f507 72de add.w r2, r7, #444 ; 0x1bc 80615c0: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80615c4: 2102 movs r1, #2 80615c6: f068 fd95 bl 80ca0f4 if(fl > rms8) 80615ca: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 80615ce: 4b31 ldr r3, [pc, #196] ; (8061694 ) 80615d0: edd3 7a00 vldr s15, [r3] 80615d4: eeb4 7ae7 vcmpe.f32 s14, s15 80615d8: eef1 fa10 vmrs APSR_nzcv, fpscr 80615dc: dd03 ble.n 80615e6 rms8 = fl; 80615de: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80615e2: 4a2c ldr r2, [pc, #176] ; (8061694 ) 80615e4: 6013 str r3, [r2, #0] } //** 6,3 arm_biquad_cascade_df2T_f64(&S_OKT_6_3Hz, &Buff64[0], &Buff64[Ns], len); 80615e6: 4b25 ldr r3, [pc, #148] ; (806167c ) 80615e8: 681b ldr r3, [r3, #0] 80615ea: 00db lsls r3, r3, #3 80615ec: 4a21 ldr r2, [pc, #132] ; (8061674 ) 80615ee: 441a add r2, r3 80615f0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80615f4: 491f ldr r1, [pc, #124] ; (8061674 ) 80615f6: 4828 ldr r0, [pc, #160] ; (8061698 ) 80615f8: f068 fdf0 bl 80ca1dc for(i = 0; i < len; i++) { 80615fc: 2300 movs r3, #0 80615fe: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061602: e017 b.n 8061634 In[i] = (float32_t) Buff64[Ns + i]; 8061604: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061608: 4a1c ldr r2, [pc, #112] ; (806167c ) 806160a: 6811 ldr r1, [r2, #0] 806160c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061610: 440a add r2, r1 8061612: 4918 ldr r1, [pc, #96] ; (8061674 ) 8061614: 00d2 lsls r2, r2, #3 8061616: 440a add r2, r1 8061618: ed92 7b00 vldr d7, [r2] 806161c: eef7 7bc7 vcvt.f32.f64 s15, d7 8061620: 4a18 ldr r2, [pc, #96] ; (8061684 ) 8061622: 009b lsls r3, r3, #2 8061624: 4413 add r3, r2 8061626: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 806162a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806162e: 3301 adds r3, #1 8061630: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061634: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061638: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806163c: 429a cmp r2, r3 806163e: d3e1 bcc.n 8061604 } if(pardata.IVS[ACC] == RMS) 8061640: 4b11 ldr r3, [pc, #68] ; (8061688 ) 8061642: 789b ldrb r3, [r3, #2] 8061644: b2db uxtb r3, r3 8061646: 2b01 cmp r3, #1 8061648: d12a bne.n 80616a0 { arm_power_f32(In, len, &fl); 806164a: f507 73de add.w r3, r7, #444 ; 0x1bc 806164e: 461a mov r2, r3 8061650: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061654: 480b ldr r0, [pc, #44] ; (8061684 ) 8061656: f068 fc77 bl 80c9f48 rms6_3 += fl; 806165a: 4b10 ldr r3, [pc, #64] ; (806169c ) 806165c: ed93 7a00 vldr s14, [r3] 8061660: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061664: ee77 7a27 vadd.f32 s15, s14, s15 8061668: 4b0c ldr r3, [pc, #48] ; (806169c ) 806166a: edc3 7a00 vstr s15, [r3] 806166e: e062 b.n 8061736 8061670: 20020d90 .word 0x20020d90 8061674: 20037ae0 .word 0x20037ae0 8061678: 2002633c .word 0x2002633c 806167c: 20021cdc .word 0x20021cdc 8061680: 20068080 .word 0x20068080 8061684: 200279c0 .word 0x200279c0 8061688: 20023e60 .word 0x20023e60 806168c: 20021d0c .word 0x20021d0c 8061690: 20057cc4 .word 0x20057cc4 8061694: 20021cd0 .word 0x20021cd0 8061698: 20057e5c .word 0x20057e5c 806169c: 20021ce0 .word 0x20021ce0 } else { arm_min_f32(In, len, &fn[0], &i); 80616a0: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80616a4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80616a8: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80616ac: 48ce ldr r0, [pc, #824] ; (80619e8 ) 80616ae: f068 fc85 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 80616b2: f507 71e6 add.w r1, r7, #460 ; 0x1cc 80616b6: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80616ba: 1d1a adds r2, r3, #4 80616bc: 460b mov r3, r1 80616be: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80616c2: 48c9 ldr r0, [pc, #804] ; (80619e8 ) 80616c4: f068 fd16 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 80616c8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80616cc: eef5 7ac0 vcmpe.f32 s15, #0.0 80616d0: eef1 fa10 vmrs APSR_nzcv, fpscr 80616d4: dd02 ble.n 80616dc 80616d6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80616da: e003 b.n 80616e4 80616dc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 80616e0: eef1 7a67 vneg.f32 s15, s15 80616e4: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 80616e8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80616ec: eef5 7ac0 vcmpe.f32 s15, #0.0 80616f0: eef1 fa10 vmrs APSR_nzcv, fpscr 80616f4: dd02 ble.n 80616fc 80616f6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80616fa: e003 b.n 8061704 80616fc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061700: eef1 7a67 vneg.f32 s15, s15 8061704: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061708: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806170c: f507 72de add.w r2, r7, #444 ; 0x1bc 8061710: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061714: 2102 movs r1, #2 8061716: f068 fced bl 80ca0f4 if(fl > rms6_3) 806171a: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 806171e: 4bb3 ldr r3, [pc, #716] ; (80619ec ) 8061720: edd3 7a00 vldr s15, [r3] 8061724: eeb4 7ae7 vcmpe.f32 s14, s15 8061728: eef1 fa10 vmrs APSR_nzcv, fpscr 806172c: dd03 ble.n 8061736 rms6_3 = fl; 806172e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8061732: 4aae ldr r2, [pc, #696] ; (80619ec ) 8061734: 6013 str r3, [r2, #0] arm_biquad_cascade_df2T_f64(&S_LP_4, &Buff64[0], &Buff64[0], len); 8061736: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806173a: 4aad ldr r2, [pc, #692] ; (80619f0 ) 806173c: 49ac ldr r1, [pc, #688] ; (80619f0 ) 806173e: 48ad ldr r0, [pc, #692] ; (80619f4 ) 8061740: f068 fd4c bl 80ca1dc len >>= 1; 8061744: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061748: 085b lsrs r3, r3, #1 806174a: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 806174e: 2300 movs r3, #0 8061750: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061754: e012 b.n 806177c Buff64[i] = Buff64[i << 1]; 8061756: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806175a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806175e: 005b lsls r3, r3, #1 8061760: 49a3 ldr r1, [pc, #652] ; (80619f0 ) 8061762: 00db lsls r3, r3, #3 8061764: 440b add r3, r1 8061766: cb18 ldmia r3, {r3, r4} 8061768: 49a1 ldr r1, [pc, #644] ; (80619f0 ) 806176a: 00d2 lsls r2, r2, #3 806176c: 440a add r2, r1 806176e: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061772: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061776: 3301 adds r3, #1 8061778: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806177c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061780: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061784: 429a cmp r2, r3 8061786: d3e6 bcc.n 8061756 } //** 5 arm_biquad_cascade_df2T_f64(&S_OKT_5Hz, &Buff64[0], &Buff64[Ns], len); 8061788: 4b9b ldr r3, [pc, #620] ; (80619f8 ) 806178a: 681b ldr r3, [r3, #0] 806178c: 00db lsls r3, r3, #3 806178e: 4a98 ldr r2, [pc, #608] ; (80619f0 ) 8061790: 441a add r2, r3 8061792: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061796: 4996 ldr r1, [pc, #600] ; (80619f0 ) 8061798: 4898 ldr r0, [pc, #608] ; (80619fc ) 806179a: f068 fd1f bl 80ca1dc for(i = 0; i < len; i++) { 806179e: 2300 movs r3, #0 80617a0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80617a4: e017 b.n 80617d6 In[i] = (float32_t) Buff64[Ns + i]; 80617a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80617aa: 4a93 ldr r2, [pc, #588] ; (80619f8 ) 80617ac: 6811 ldr r1, [r2, #0] 80617ae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80617b2: 440a add r2, r1 80617b4: 498e ldr r1, [pc, #568] ; (80619f0 ) 80617b6: 00d2 lsls r2, r2, #3 80617b8: 440a add r2, r1 80617ba: ed92 7b00 vldr d7, [r2] 80617be: eef7 7bc7 vcvt.f32.f64 s15, d7 80617c2: 4a89 ldr r2, [pc, #548] ; (80619e8 ) 80617c4: 009b lsls r3, r3, #2 80617c6: 4413 add r3, r2 80617c8: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80617cc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80617d0: 3301 adds r3, #1 80617d2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80617d6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80617da: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80617de: 429a cmp r2, r3 80617e0: d3e1 bcc.n 80617a6 } if(pardata.IVS[ACC] == RMS) 80617e2: 4b87 ldr r3, [pc, #540] ; (8061a00 ) 80617e4: 789b ldrb r3, [r3, #2] 80617e6: b2db uxtb r3, r3 80617e8: 2b01 cmp r3, #1 80617ea: d112 bne.n 8061812 { arm_power_f32(In, len, &fl); 80617ec: f507 73de add.w r3, r7, #444 ; 0x1bc 80617f0: 461a mov r2, r3 80617f2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80617f6: 487c ldr r0, [pc, #496] ; (80619e8 ) 80617f8: f068 fba6 bl 80c9f48 rms5 += fl; 80617fc: 4b81 ldr r3, [pc, #516] ; (8061a04 ) 80617fe: ed93 7a00 vldr s14, [r3] 8061802: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061806: ee77 7a27 vadd.f32 s15, s14, s15 806180a: 4b7e ldr r3, [pc, #504] ; (8061a04 ) 806180c: edc3 7a00 vstr s15, [r3] 8061810: e04a b.n 80618a8 } else { arm_min_f32(In, len, &fn[0], &i); 8061812: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061816: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806181a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806181e: 4872 ldr r0, [pc, #456] ; (80619e8 ) 8061820: f068 fbcc bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8061824: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061828: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806182c: 1d1a adds r2, r3, #4 806182e: 460b mov r3, r1 8061830: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061834: 486c ldr r0, [pc, #432] ; (80619e8 ) 8061836: f068 fc5d bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806183a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806183e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061842: eef1 fa10 vmrs APSR_nzcv, fpscr 8061846: dd02 ble.n 806184e 8061848: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806184c: e003 b.n 8061856 806184e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061852: eef1 7a67 vneg.f32 s15, s15 8061856: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806185a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806185e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061862: eef1 fa10 vmrs APSR_nzcv, fpscr 8061866: dd02 ble.n 806186e 8061868: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806186c: e003 b.n 8061876 806186e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061872: eef1 7a67 vneg.f32 s15, s15 8061876: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 806187a: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806187e: f507 72de add.w r2, r7, #444 ; 0x1bc 8061882: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061886: 2102 movs r1, #2 8061888: f068 fc34 bl 80ca0f4 if(fl > rms5) 806188c: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8061890: 4b5c ldr r3, [pc, #368] ; (8061a04 ) 8061892: edd3 7a00 vldr s15, [r3] 8061896: eeb4 7ae7 vcmpe.f32 s14, s15 806189a: eef1 fa10 vmrs APSR_nzcv, fpscr 806189e: dd03 ble.n 80618a8 rms5 = fl; 80618a0: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80618a4: 4a57 ldr r2, [pc, #348] ; (8061a04 ) 80618a6: 6013 str r3, [r2, #0] } //** 4 arm_biquad_cascade_df2T_f64(&S_OKT_4Hz, &Buff64[0], &Buff64[Ns], len); 80618a8: 4b53 ldr r3, [pc, #332] ; (80619f8 ) 80618aa: 681b ldr r3, [r3, #0] 80618ac: 00db lsls r3, r3, #3 80618ae: 4a50 ldr r2, [pc, #320] ; (80619f0 ) 80618b0: 441a add r2, r3 80618b2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80618b6: 494e ldr r1, [pc, #312] ; (80619f0 ) 80618b8: 4853 ldr r0, [pc, #332] ; (8061a08 ) 80618ba: f068 fc8f bl 80ca1dc for(i = 0; i < len; i++) { 80618be: 2300 movs r3, #0 80618c0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80618c4: e017 b.n 80618f6 In[i] = (float32_t) Buff64[Ns + i]; 80618c6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80618ca: 4a4b ldr r2, [pc, #300] ; (80619f8 ) 80618cc: 6811 ldr r1, [r2, #0] 80618ce: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80618d2: 440a add r2, r1 80618d4: 4946 ldr r1, [pc, #280] ; (80619f0 ) 80618d6: 00d2 lsls r2, r2, #3 80618d8: 440a add r2, r1 80618da: ed92 7b00 vldr d7, [r2] 80618de: eef7 7bc7 vcvt.f32.f64 s15, d7 80618e2: 4a41 ldr r2, [pc, #260] ; (80619e8 ) 80618e4: 009b lsls r3, r3, #2 80618e6: 4413 add r3, r2 80618e8: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80618ec: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80618f0: 3301 adds r3, #1 80618f2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80618f6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80618fa: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80618fe: 429a cmp r2, r3 8061900: d3e1 bcc.n 80618c6 } if(pardata.IVS[ACC] == RMS) 8061902: 4b3f ldr r3, [pc, #252] ; (8061a00 ) 8061904: 789b ldrb r3, [r3, #2] 8061906: b2db uxtb r3, r3 8061908: 2b01 cmp r3, #1 806190a: d112 bne.n 8061932 { arm_power_f32(In, len, &fl); 806190c: f507 73de add.w r3, r7, #444 ; 0x1bc 8061910: 461a mov r2, r3 8061912: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061916: 4834 ldr r0, [pc, #208] ; (80619e8 ) 8061918: f068 fb16 bl 80c9f48 rms4 += fl; 806191c: 4b3b ldr r3, [pc, #236] ; (8061a0c ) 806191e: ed93 7a00 vldr s14, [r3] 8061922: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061926: ee77 7a27 vadd.f32 s15, s14, s15 806192a: 4b38 ldr r3, [pc, #224] ; (8061a0c ) 806192c: edc3 7a00 vstr s15, [r3] 8061930: e04a b.n 80619c8 } else { arm_min_f32(In, len, &fn[0], &i); 8061932: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061936: f507 72d8 add.w r2, r7, #432 ; 0x1b0 806193a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806193e: 482a ldr r0, [pc, #168] ; (80619e8 ) 8061940: f068 fb3c bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8061944: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061948: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806194c: 1d1a adds r2, r3, #4 806194e: 460b mov r3, r1 8061950: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061954: 4824 ldr r0, [pc, #144] ; (80619e8 ) 8061956: f068 fbcd bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 806195a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806195e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061962: eef1 fa10 vmrs APSR_nzcv, fpscr 8061966: dd02 ble.n 806196e 8061968: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806196c: e003 b.n 8061976 806196e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061972: eef1 7a67 vneg.f32 s15, s15 8061976: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 806197a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806197e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061982: eef1 fa10 vmrs APSR_nzcv, fpscr 8061986: dd02 ble.n 806198e 8061988: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806198c: e003 b.n 8061996 806198e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061992: eef1 7a67 vneg.f32 s15, s15 8061996: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 806199a: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806199e: f507 72de add.w r2, r7, #444 ; 0x1bc 80619a2: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80619a6: 2102 movs r1, #2 80619a8: f068 fba4 bl 80ca0f4 if(fl > rms4) 80619ac: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 80619b0: 4b16 ldr r3, [pc, #88] ; (8061a0c ) 80619b2: edd3 7a00 vldr s15, [r3] 80619b6: eeb4 7ae7 vcmpe.f32 s14, s15 80619ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80619be: dd03 ble.n 80619c8 rms4 = fl; 80619c0: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80619c4: 4a11 ldr r2, [pc, #68] ; (8061a0c ) 80619c6: 6013 str r3, [r2, #0] } //** 3,15 arm_biquad_cascade_df2T_f64(&S_OKT_3_15Hz, &Buff64[0], &Buff64[Ns], len); 80619c8: 4b0b ldr r3, [pc, #44] ; (80619f8 ) 80619ca: 681b ldr r3, [r3, #0] 80619cc: 00db lsls r3, r3, #3 80619ce: 4a08 ldr r2, [pc, #32] ; (80619f0 ) 80619d0: 441a add r2, r3 80619d2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80619d6: 4906 ldr r1, [pc, #24] ; (80619f0 ) 80619d8: 480d ldr r0, [pc, #52] ; (8061a10 ) 80619da: f068 fbff bl 80ca1dc for(i = 0; i < len; i++) { 80619de: 2300 movs r3, #0 80619e0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80619e4: e02e b.n 8061a44 80619e6: bf00 nop 80619e8: 200279c0 .word 0x200279c0 80619ec: 20021ce0 .word 0x20021ce0 80619f0: 20037ae0 .word 0x20037ae0 80619f4: 20057ae0 .word 0x20057ae0 80619f8: 20021cdc .word 0x20021cdc 80619fc: 20057cf0 .word 0x20057cf0 8061a00: 20023e60 .word 0x20023e60 8061a04: 20021ce4 .word 0x20021ce4 8061a08: 20026038 .word 0x20026038 8061a0c: 20021d18 .word 0x20021d18 8061a10: 20068404 .word 0x20068404 In[i] = (float32_t) Buff64[Ns + i]; 8061a14: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061a18: 4acd ldr r2, [pc, #820] ; (8061d50 ) 8061a1a: 6811 ldr r1, [r2, #0] 8061a1c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061a20: 440a add r2, r1 8061a22: 49cc ldr r1, [pc, #816] ; (8061d54 ) 8061a24: 00d2 lsls r2, r2, #3 8061a26: 440a add r2, r1 8061a28: ed92 7b00 vldr d7, [r2] 8061a2c: eef7 7bc7 vcvt.f32.f64 s15, d7 8061a30: 4ac9 ldr r2, [pc, #804] ; (8061d58 ) 8061a32: 009b lsls r3, r3, #2 8061a34: 4413 add r3, r2 8061a36: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061a3a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061a3e: 3301 adds r3, #1 8061a40: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061a44: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061a48: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061a4c: 429a cmp r2, r3 8061a4e: d3e1 bcc.n 8061a14 } if(pardata.IVS[ACC] == RMS) 8061a50: 4bc2 ldr r3, [pc, #776] ; (8061d5c ) 8061a52: 789b ldrb r3, [r3, #2] 8061a54: b2db uxtb r3, r3 8061a56: 2b01 cmp r3, #1 8061a58: d112 bne.n 8061a80 { arm_power_f32(In, len, &fl); 8061a5a: f507 73de add.w r3, r7, #444 ; 0x1bc 8061a5e: 461a mov r2, r3 8061a60: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061a64: 48bc ldr r0, [pc, #752] ; (8061d58 ) 8061a66: f068 fa6f bl 80c9f48 rms3_15 += fl; 8061a6a: 4bbd ldr r3, [pc, #756] ; (8061d60 ) 8061a6c: ed93 7a00 vldr s14, [r3] 8061a70: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061a74: ee77 7a27 vadd.f32 s15, s14, s15 8061a78: 4bb9 ldr r3, [pc, #740] ; (8061d60 ) 8061a7a: edc3 7a00 vstr s15, [r3] 8061a7e: e04a b.n 8061b16 } else { arm_min_f32(In, len, &fn[0], &i); 8061a80: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061a84: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061a88: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061a8c: 48b2 ldr r0, [pc, #712] ; (8061d58 ) 8061a8e: f068 fa95 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8061a92: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061a96: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061a9a: 1d1a adds r2, r3, #4 8061a9c: 460b mov r3, r1 8061a9e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061aa2: 48ad ldr r0, [pc, #692] ; (8061d58 ) 8061aa4: f068 fb26 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061aa8: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061aac: eef5 7ac0 vcmpe.f32 s15, #0.0 8061ab0: eef1 fa10 vmrs APSR_nzcv, fpscr 8061ab4: dd02 ble.n 8061abc 8061ab6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061aba: e003 b.n 8061ac4 8061abc: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061ac0: eef1 7a67 vneg.f32 s15, s15 8061ac4: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061ac8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061acc: eef5 7ac0 vcmpe.f32 s15, #0.0 8061ad0: eef1 fa10 vmrs APSR_nzcv, fpscr 8061ad4: dd02 ble.n 8061adc 8061ad6: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061ada: e003 b.n 8061ae4 8061adc: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061ae0: eef1 7a67 vneg.f32 s15, s15 8061ae4: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061ae8: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061aec: f507 72de add.w r2, r7, #444 ; 0x1bc 8061af0: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061af4: 2102 movs r1, #2 8061af6: f068 fafd bl 80ca0f4 if(fl > rms3_15) 8061afa: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8061afe: 4b98 ldr r3, [pc, #608] ; (8061d60 ) 8061b00: edd3 7a00 vldr s15, [r3] 8061b04: eeb4 7ae7 vcmpe.f32 s14, s15 8061b08: eef1 fa10 vmrs APSR_nzcv, fpscr 8061b0c: dd03 ble.n 8061b16 rms3_15 = fl; 8061b0e: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8061b12: 4a93 ldr r2, [pc, #588] ; (8061d60 ) 8061b14: 6013 str r3, [r2, #0] } arm_biquad_cascade_df2T_f64(&S_LP_2, &Buff64[0], &Buff64[0], len); 8061b16: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061b1a: 4a8e ldr r2, [pc, #568] ; (8061d54 ) 8061b1c: 498d ldr r1, [pc, #564] ; (8061d54 ) 8061b1e: 4891 ldr r0, [pc, #580] ; (8061d64 ) 8061b20: f068 fb5c bl 80ca1dc len >>= 1; 8061b24: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061b28: 085b lsrs r3, r3, #1 8061b2a: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8061b2e: 2300 movs r3, #0 8061b30: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061b34: e012 b.n 8061b5c Buff64[i] = Buff64[i << 1]; 8061b36: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061b3a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061b3e: 005b lsls r3, r3, #1 8061b40: 4984 ldr r1, [pc, #528] ; (8061d54 ) 8061b42: 00db lsls r3, r3, #3 8061b44: 440b add r3, r1 8061b46: cb18 ldmia r3, {r3, r4} 8061b48: 4982 ldr r1, [pc, #520] ; (8061d54 ) 8061b4a: 00d2 lsls r2, r2, #3 8061b4c: 440a add r2, r1 8061b4e: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061b52: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061b56: 3301 adds r3, #1 8061b58: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061b5c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061b60: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061b64: 429a cmp r2, r3 8061b66: d3e6 bcc.n 8061b36 } //** 2,5 arm_biquad_cascade_df2T_f64(&S_OKT_2_5Hz, &Buff64[0], &Buff64[Ns], len); 8061b68: 4b79 ldr r3, [pc, #484] ; (8061d50 ) 8061b6a: 681b ldr r3, [r3, #0] 8061b6c: 00db lsls r3, r3, #3 8061b6e: 4a79 ldr r2, [pc, #484] ; (8061d54 ) 8061b70: 441a add r2, r3 8061b72: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061b76: 4977 ldr r1, [pc, #476] ; (8061d54 ) 8061b78: 487b ldr r0, [pc, #492] ; (8061d68 ) 8061b7a: f068 fb2f bl 80ca1dc for(i = 0; i < len; i++) { 8061b7e: 2300 movs r3, #0 8061b80: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061b84: e017 b.n 8061bb6 In[i] = (float32_t) Buff64[Ns + i]; 8061b86: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061b8a: 4a71 ldr r2, [pc, #452] ; (8061d50 ) 8061b8c: 6811 ldr r1, [r2, #0] 8061b8e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061b92: 440a add r2, r1 8061b94: 496f ldr r1, [pc, #444] ; (8061d54 ) 8061b96: 00d2 lsls r2, r2, #3 8061b98: 440a add r2, r1 8061b9a: ed92 7b00 vldr d7, [r2] 8061b9e: eef7 7bc7 vcvt.f32.f64 s15, d7 8061ba2: 4a6d ldr r2, [pc, #436] ; (8061d58 ) 8061ba4: 009b lsls r3, r3, #2 8061ba6: 4413 add r3, r2 8061ba8: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061bac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061bb0: 3301 adds r3, #1 8061bb2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061bb6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061bba: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061bbe: 429a cmp r2, r3 8061bc0: d3e1 bcc.n 8061b86 } if(pardata.IVS[ACC] == RMS) 8061bc2: 4b66 ldr r3, [pc, #408] ; (8061d5c ) 8061bc4: 789b ldrb r3, [r3, #2] 8061bc6: b2db uxtb r3, r3 8061bc8: 2b01 cmp r3, #1 8061bca: d112 bne.n 8061bf2 { arm_power_f32(In, len, &fl); 8061bcc: f507 73de add.w r3, r7, #444 ; 0x1bc 8061bd0: 461a mov r2, r3 8061bd2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061bd6: 4860 ldr r0, [pc, #384] ; (8061d58 ) 8061bd8: f068 f9b6 bl 80c9f48 rms2_5 += fl; 8061bdc: 4b63 ldr r3, [pc, #396] ; (8061d6c ) 8061bde: ed93 7a00 vldr s14, [r3] 8061be2: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061be6: ee77 7a27 vadd.f32 s15, s14, s15 8061bea: 4b60 ldr r3, [pc, #384] ; (8061d6c ) 8061bec: edc3 7a00 vstr s15, [r3] 8061bf0: e04a b.n 8061c88 } else { arm_min_f32(In, len, &fn[0], &i); 8061bf2: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061bf6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061bfa: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061bfe: 4856 ldr r0, [pc, #344] ; (8061d58 ) 8061c00: f068 f9dc bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8061c04: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061c08: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061c0c: 1d1a adds r2, r3, #4 8061c0e: 460b mov r3, r1 8061c10: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061c14: 4850 ldr r0, [pc, #320] ; (8061d58 ) 8061c16: f068 fa6d bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061c1a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061c1e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061c22: eef1 fa10 vmrs APSR_nzcv, fpscr 8061c26: dd02 ble.n 8061c2e 8061c28: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061c2c: e003 b.n 8061c36 8061c2e: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061c32: eef1 7a67 vneg.f32 s15, s15 8061c36: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061c3a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061c3e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061c42: eef1 fa10 vmrs APSR_nzcv, fpscr 8061c46: dd02 ble.n 8061c4e 8061c48: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061c4c: e003 b.n 8061c56 8061c4e: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061c52: eef1 7a67 vneg.f32 s15, s15 8061c56: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061c5a: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061c5e: f507 72de add.w r2, r7, #444 ; 0x1bc 8061c62: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061c66: 2102 movs r1, #2 8061c68: f068 fa44 bl 80ca0f4 if(fl > rms2_5) 8061c6c: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8061c70: 4b3e ldr r3, [pc, #248] ; (8061d6c ) 8061c72: edd3 7a00 vldr s15, [r3] 8061c76: eeb4 7ae7 vcmpe.f32 s14, s15 8061c7a: eef1 fa10 vmrs APSR_nzcv, fpscr 8061c7e: dd03 ble.n 8061c88 rms2_5 = fl; 8061c80: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8061c84: 4a39 ldr r2, [pc, #228] ; (8061d6c ) 8061c86: 6013 str r3, [r2, #0] } //** 2 arm_biquad_cascade_df2T_f64(&S_OKT_2Hz, &Buff64[0], &Buff64[Ns], len); 8061c88: 4b31 ldr r3, [pc, #196] ; (8061d50 ) 8061c8a: 681b ldr r3, [r3, #0] 8061c8c: 00db lsls r3, r3, #3 8061c8e: 4a31 ldr r2, [pc, #196] ; (8061d54 ) 8061c90: 441a add r2, r3 8061c92: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061c96: 492f ldr r1, [pc, #188] ; (8061d54 ) 8061c98: 4835 ldr r0, [pc, #212] ; (8061d70 ) 8061c9a: f068 fa9f bl 80ca1dc for(i = 0; i < len; i++) { 8061c9e: 2300 movs r3, #0 8061ca0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061ca4: e017 b.n 8061cd6 In[i] = (float32_t) Buff64[Ns + i]; 8061ca6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061caa: 4a29 ldr r2, [pc, #164] ; (8061d50 ) 8061cac: 6811 ldr r1, [r2, #0] 8061cae: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061cb2: 440a add r2, r1 8061cb4: 4927 ldr r1, [pc, #156] ; (8061d54 ) 8061cb6: 00d2 lsls r2, r2, #3 8061cb8: 440a add r2, r1 8061cba: ed92 7b00 vldr d7, [r2] 8061cbe: eef7 7bc7 vcvt.f32.f64 s15, d7 8061cc2: 4a25 ldr r2, [pc, #148] ; (8061d58 ) 8061cc4: 009b lsls r3, r3, #2 8061cc6: 4413 add r3, r2 8061cc8: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061ccc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061cd0: 3301 adds r3, #1 8061cd2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061cd6: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061cda: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061cde: 429a cmp r2, r3 8061ce0: d3e1 bcc.n 8061ca6 } if(pardata.IVS[ACC] == RMS) 8061ce2: 4b1e ldr r3, [pc, #120] ; (8061d5c ) 8061ce4: 789b ldrb r3, [r3, #2] 8061ce6: b2db uxtb r3, r3 8061ce8: 2b01 cmp r3, #1 8061cea: d112 bne.n 8061d12 { arm_power_f32(In, len, &fl); 8061cec: f507 73de add.w r3, r7, #444 ; 0x1bc 8061cf0: 461a mov r2, r3 8061cf2: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061cf6: 4818 ldr r0, [pc, #96] ; (8061d58 ) 8061cf8: f068 f926 bl 80c9f48 rms2 += fl; 8061cfc: 4b1d ldr r3, [pc, #116] ; (8061d74 ) 8061cfe: ed93 7a00 vldr s14, [r3] 8061d02: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061d06: ee77 7a27 vadd.f32 s15, s14, s15 8061d0a: 4b1a ldr r3, [pc, #104] ; (8061d74 ) 8061d0c: edc3 7a00 vstr s15, [r3] 8061d10: e05f b.n 8061dd2 } else { arm_min_f32(In, len, &fn[0], &i); 8061d12: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061d16: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061d1a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061d1e: 480e ldr r0, [pc, #56] ; (8061d58 ) 8061d20: f068 f94c bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8061d24: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061d28: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061d2c: 1d1a adds r2, r3, #4 8061d2e: 460b mov r3, r1 8061d30: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061d34: 4808 ldr r0, [pc, #32] ; (8061d58 ) 8061d36: f068 f9dd bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061d3a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061d3e: eef5 7ac0 vcmpe.f32 s15, #0.0 8061d42: eef1 fa10 vmrs APSR_nzcv, fpscr 8061d46: dd17 ble.n 8061d78 8061d48: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061d4c: e018 b.n 8061d80 8061d4e: bf00 nop 8061d50: 20021cdc .word 0x20021cdc 8061d54: 20037ae0 .word 0x20037ae0 8061d58: 200279c0 .word 0x200279c0 8061d5c: 20023e60 .word 0x20023e60 8061d60: 20021d14 .word 0x20021d14 8061d64: 20057cfc .word 0x20057cfc 8061d68: 20057d78 .word 0x20057d78 8061d6c: 20021cf8 .word 0x20021cf8 8061d70: 20026408 .word 0x20026408 8061d74: 20021cd8 .word 0x20021cd8 8061d78: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061d7c: eef1 7a67 vneg.f32 s15, s15 8061d80: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061d84: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061d88: eef5 7ac0 vcmpe.f32 s15, #0.0 8061d8c: eef1 fa10 vmrs APSR_nzcv, fpscr 8061d90: dd02 ble.n 8061d98 8061d92: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061d96: e003 b.n 8061da0 8061d98: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061d9c: eef1 7a67 vneg.f32 s15, s15 8061da0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061da4: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061da8: f507 72de add.w r2, r7, #444 ; 0x1bc 8061dac: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061db0: 2102 movs r1, #2 8061db2: f068 f99f bl 80ca0f4 if(fl > rms2) 8061db6: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8061dba: 4bcd ldr r3, [pc, #820] ; (80620f0 ) 8061dbc: edd3 7a00 vldr s15, [r3] 8061dc0: eeb4 7ae7 vcmpe.f32 s14, s15 8061dc4: eef1 fa10 vmrs APSR_nzcv, fpscr 8061dc8: dd03 ble.n 8061dd2 rms2 = fl; 8061dca: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8061dce: 4ac8 ldr r2, [pc, #800] ; (80620f0 ) 8061dd0: 6013 str r3, [r2, #0] } //** 1,6 arm_biquad_cascade_df2T_f64(&S_OKT_1_6Hz, &Buff64[0], &Buff64[Ns], len); 8061dd2: 4bc8 ldr r3, [pc, #800] ; (80620f4 ) 8061dd4: 681b ldr r3, [r3, #0] 8061dd6: 00db lsls r3, r3, #3 8061dd8: 4ac7 ldr r2, [pc, #796] ; (80620f8 ) 8061dda: 441a add r2, r3 8061ddc: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061de0: 49c5 ldr r1, [pc, #788] ; (80620f8 ) 8061de2: 48c6 ldr r0, [pc, #792] ; (80620fc ) 8061de4: f068 f9fa bl 80ca1dc for(i = 0; i < len; i++) { 8061de8: 2300 movs r3, #0 8061dea: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061dee: e017 b.n 8061e20 In[i] = (float32_t) Buff64[Ns + i]; 8061df0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061df4: 4abf ldr r2, [pc, #764] ; (80620f4 ) 8061df6: 6811 ldr r1, [r2, #0] 8061df8: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061dfc: 440a add r2, r1 8061dfe: 49be ldr r1, [pc, #760] ; (80620f8 ) 8061e00: 00d2 lsls r2, r2, #3 8061e02: 440a add r2, r1 8061e04: ed92 7b00 vldr d7, [r2] 8061e08: eef7 7bc7 vcvt.f32.f64 s15, d7 8061e0c: 4abc ldr r2, [pc, #752] ; (8062100 ) 8061e0e: 009b lsls r3, r3, #2 8061e10: 4413 add r3, r2 8061e12: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061e16: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061e1a: 3301 adds r3, #1 8061e1c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061e20: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061e24: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061e28: 429a cmp r2, r3 8061e2a: d3e1 bcc.n 8061df0 } if(pardata.IVS[ACC] == RMS) 8061e2c: 4bb5 ldr r3, [pc, #724] ; (8062104 ) 8061e2e: 789b ldrb r3, [r3, #2] 8061e30: b2db uxtb r3, r3 8061e32: 2b01 cmp r3, #1 8061e34: d112 bne.n 8061e5c { arm_power_f32(In, len, &fl); 8061e36: f507 73de add.w r3, r7, #444 ; 0x1bc 8061e3a: 461a mov r2, r3 8061e3c: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061e40: 48af ldr r0, [pc, #700] ; (8062100 ) 8061e42: f068 f881 bl 80c9f48 rms1_6 += fl; 8061e46: 4bb0 ldr r3, [pc, #704] ; (8062108 ) 8061e48: ed93 7a00 vldr s14, [r3] 8061e4c: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061e50: ee77 7a27 vadd.f32 s15, s14, s15 8061e54: 4bac ldr r3, [pc, #688] ; (8062108 ) 8061e56: edc3 7a00 vstr s15, [r3] 8061e5a: e04a b.n 8061ef2 } else { arm_min_f32(In, len, &fn[0], &i); 8061e5c: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061e60: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061e64: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061e68: 48a5 ldr r0, [pc, #660] ; (8062100 ) 8061e6a: f068 f8a7 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8061e6e: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061e72: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061e76: 1d1a adds r2, r3, #4 8061e78: 460b mov r3, r1 8061e7a: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061e7e: 48a0 ldr r0, [pc, #640] ; (8062100 ) 8061e80: f068 f938 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061e84: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061e88: eef5 7ac0 vcmpe.f32 s15, #0.0 8061e8c: eef1 fa10 vmrs APSR_nzcv, fpscr 8061e90: dd02 ble.n 8061e98 8061e92: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061e96: e003 b.n 8061ea0 8061e98: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061e9c: eef1 7a67 vneg.f32 s15, s15 8061ea0: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8061ea4: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061ea8: eef5 7ac0 vcmpe.f32 s15, #0.0 8061eac: eef1 fa10 vmrs APSR_nzcv, fpscr 8061eb0: dd02 ble.n 8061eb8 8061eb2: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061eb6: e003 b.n 8061ec0 8061eb8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8061ebc: eef1 7a67 vneg.f32 s15, s15 8061ec0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8061ec4: f507 73e6 add.w r3, r7, #460 ; 0x1cc 8061ec8: f507 72de add.w r2, r7, #444 ; 0x1bc 8061ecc: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8061ed0: 2102 movs r1, #2 8061ed2: f068 f90f bl 80ca0f4 if(fl > rms1_6) 8061ed6: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 8061eda: 4b8b ldr r3, [pc, #556] ; (8062108 ) 8061edc: edd3 7a00 vldr s15, [r3] 8061ee0: eeb4 7ae7 vcmpe.f32 s14, s15 8061ee4: eef1 fa10 vmrs APSR_nzcv, fpscr 8061ee8: dd03 ble.n 8061ef2 rms1_6 = fl; 8061eea: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8061eee: 4a86 ldr r2, [pc, #536] ; (8062108 ) 8061ef0: 6013 str r3, [r2, #0] } arm_biquad_cascade_df2T_f64(&S_LP_1, &Buff64[0], &Buff64[0], len); 8061ef2: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061ef6: 4a80 ldr r2, [pc, #512] ; (80620f8 ) 8061ef8: 497f ldr r1, [pc, #508] ; (80620f8 ) 8061efa: 4884 ldr r0, [pc, #528] ; (806210c ) 8061efc: f068 f96e bl 80ca1dc len >>= 1; 8061f00: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061f04: 085b lsrs r3, r3, #1 8061f06: f8c7 31e4 str.w r3, [r7, #484] ; 0x1e4 for(i = 0; i < len; i++) { 8061f0a: 2300 movs r3, #0 8061f0c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061f10: e012 b.n 8061f38 Buff64[i] = Buff64[i << 1]; 8061f12: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061f16: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061f1a: 005b lsls r3, r3, #1 8061f1c: 4976 ldr r1, [pc, #472] ; (80620f8 ) 8061f1e: 00db lsls r3, r3, #3 8061f20: 440b add r3, r1 8061f22: cb18 ldmia r3, {r3, r4} 8061f24: 4974 ldr r1, [pc, #464] ; (80620f8 ) 8061f26: 00d2 lsls r2, r2, #3 8061f28: 440a add r2, r1 8061f2a: e882 0018 stmia.w r2, {r3, r4} for(i = 0; i < len; i++) { 8061f2e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061f32: 3301 adds r3, #1 8061f34: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061f38: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061f3c: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061f40: 429a cmp r2, r3 8061f42: d3e6 bcc.n 8061f12 } //** 1,25 arm_biquad_cascade_df2T_f64(&S_OKT_1_25Hz, &Buff64[0], &Buff64[Ns], len); 8061f44: 4b6b ldr r3, [pc, #428] ; (80620f4 ) 8061f46: 681b ldr r3, [r3, #0] 8061f48: 00db lsls r3, r3, #3 8061f4a: 4a6b ldr r2, [pc, #428] ; (80620f8 ) 8061f4c: 441a add r2, r3 8061f4e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061f52: 4969 ldr r1, [pc, #420] ; (80620f8 ) 8061f54: 486e ldr r0, [pc, #440] ; (8062110 ) 8061f56: f068 f941 bl 80ca1dc for(i = 0; i < len; i++) { 8061f5a: 2300 movs r3, #0 8061f5c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061f60: e017 b.n 8061f92 In[i] = (float32_t) Buff64[Ns + i]; 8061f62: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061f66: 4a63 ldr r2, [pc, #396] ; (80620f4 ) 8061f68: 6811 ldr r1, [r2, #0] 8061f6a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061f6e: 440a add r2, r1 8061f70: 4961 ldr r1, [pc, #388] ; (80620f8 ) 8061f72: 00d2 lsls r2, r2, #3 8061f74: 440a add r2, r1 8061f76: ed92 7b00 vldr d7, [r2] 8061f7a: eef7 7bc7 vcvt.f32.f64 s15, d7 8061f7e: 4a60 ldr r2, [pc, #384] ; (8062100 ) 8061f80: 009b lsls r3, r3, #2 8061f82: 4413 add r3, r2 8061f84: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 8061f88: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8061f8c: 3301 adds r3, #1 8061f8e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8061f92: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8061f96: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8061f9a: 429a cmp r2, r3 8061f9c: d3e1 bcc.n 8061f62 } if(pardata.IVS[ACC] == RMS) 8061f9e: 4b59 ldr r3, [pc, #356] ; (8062104 ) 8061fa0: 789b ldrb r3, [r3, #2] 8061fa2: b2db uxtb r3, r3 8061fa4: 2b01 cmp r3, #1 8061fa6: d112 bne.n 8061fce { arm_power_f32(In, len, &fl); 8061fa8: f507 73de add.w r3, r7, #444 ; 0x1bc 8061fac: 461a mov r2, r3 8061fae: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061fb2: 4853 ldr r0, [pc, #332] ; (8062100 ) 8061fb4: f067 ffc8 bl 80c9f48 rms1_25 += fl; 8061fb8: 4b56 ldr r3, [pc, #344] ; (8062114 ) 8061fba: ed93 7a00 vldr s14, [r3] 8061fbe: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8061fc2: ee77 7a27 vadd.f32 s15, s14, s15 8061fc6: 4b53 ldr r3, [pc, #332] ; (8062114 ) 8061fc8: edc3 7a00 vstr s15, [r3] 8061fcc: e04a b.n 8062064 } else { arm_min_f32(In, len, &fn[0], &i); 8061fce: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8061fd2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8061fd6: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061fda: 4849 ldr r0, [pc, #292] ; (8062100 ) 8061fdc: f067 ffee bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8061fe0: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8061fe4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8061fe8: 1d1a adds r2, r3, #4 8061fea: 460b mov r3, r1 8061fec: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8061ff0: 4843 ldr r0, [pc, #268] ; (8062100 ) 8061ff2: f068 f87f bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8061ff6: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8061ffa: eef5 7ac0 vcmpe.f32 s15, #0.0 8061ffe: eef1 fa10 vmrs APSR_nzcv, fpscr 8062002: dd02 ble.n 806200a 8062004: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062008: e003 b.n 8062012 806200a: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806200e: eef1 7a67 vneg.f32 s15, s15 8062012: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062016: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806201a: eef5 7ac0 vcmpe.f32 s15, #0.0 806201e: eef1 fa10 vmrs APSR_nzcv, fpscr 8062022: dd02 ble.n 806202a 8062024: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062028: e003 b.n 8062032 806202a: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806202e: eef1 7a67 vneg.f32 s15, s15 8062032: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062036: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806203a: f507 72de add.w r2, r7, #444 ; 0x1bc 806203e: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062042: 2102 movs r1, #2 8062044: f068 f856 bl 80ca0f4 if(fl > rms1_25) 8062048: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 806204c: 4b31 ldr r3, [pc, #196] ; (8062114 ) 806204e: edd3 7a00 vldr s15, [r3] 8062052: eeb4 7ae7 vcmpe.f32 s14, s15 8062056: eef1 fa10 vmrs APSR_nzcv, fpscr 806205a: dd03 ble.n 8062064 rms1_25 = fl; 806205c: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 8062060: 4a2c ldr r2, [pc, #176] ; (8062114 ) 8062062: 6013 str r3, [r2, #0] } //** 1 arm_biquad_cascade_df2T_f64(&S_OKT_1Hz, &Buff64[0], &Buff64[Ns], len); 8062064: 4b23 ldr r3, [pc, #140] ; (80620f4 ) 8062066: 681b ldr r3, [r3, #0] 8062068: 00db lsls r3, r3, #3 806206a: 4a23 ldr r2, [pc, #140] ; (80620f8 ) 806206c: 441a add r2, r3 806206e: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 8062072: 4921 ldr r1, [pc, #132] ; (80620f8 ) 8062074: 4828 ldr r0, [pc, #160] ; (8062118 ) 8062076: f068 f8b1 bl 80ca1dc for(i = 0; i < len; i++) { 806207a: 2300 movs r3, #0 806207c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062080: e017 b.n 80620b2 In[i] = (float32_t) Buff64[Ns + i]; 8062082: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062086: 4a1b ldr r2, [pc, #108] ; (80620f4 ) 8062088: 6811 ldr r1, [r2, #0] 806208a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806208e: 440a add r2, r1 8062090: 4919 ldr r1, [pc, #100] ; (80620f8 ) 8062092: 00d2 lsls r2, r2, #3 8062094: 440a add r2, r1 8062096: ed92 7b00 vldr d7, [r2] 806209a: eef7 7bc7 vcvt.f32.f64 s15, d7 806209e: 4a18 ldr r2, [pc, #96] ; (8062100 ) 80620a0: 009b lsls r3, r3, #2 80620a2: 4413 add r3, r2 80620a4: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80620a8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80620ac: 3301 adds r3, #1 80620ae: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80620b2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80620b6: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80620ba: 429a cmp r2, r3 80620bc: d3e1 bcc.n 8062082 } if(pardata.IVS[ACC] == RMS) 80620be: 4b11 ldr r3, [pc, #68] ; (8062104 ) 80620c0: 789b ldrb r3, [r3, #2] 80620c2: b2db uxtb r3, r3 80620c4: 2b01 cmp r3, #1 80620c6: d12b bne.n 8062120 { arm_power_f32(In, len, &fl); 80620c8: f507 73de add.w r3, r7, #444 ; 0x1bc 80620cc: 461a mov r2, r3 80620ce: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 80620d2: 480b ldr r0, [pc, #44] ; (8062100 ) 80620d4: f067 ff38 bl 80c9f48 rms1 += fl; 80620d8: 4b10 ldr r3, [pc, #64] ; (806211c ) 80620da: ed93 7a00 vldr s14, [r3] 80620de: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 80620e2: ee77 7a27 vadd.f32 s15, s14, s15 80620e6: 4b0d ldr r3, [pc, #52] ; (806211c ) 80620e8: edc3 7a00 vstr s15, [r3] 80620ec: e063 b.n 80621b6 80620ee: bf00 nop 80620f0: 20021cd8 .word 0x20021cd8 80620f4: 20021cdc .word 0x20021cdc 80620f8: 20037ae0 .word 0x20037ae0 80620fc: 20026808 .word 0x20026808 8062100: 200279c0 .word 0x200279c0 8062104: 20023e60 .word 0x20023e60 8062108: 20021ccc .word 0x20021ccc 806210c: 20026188 .word 0x20026188 8062110: 20026f04 .word 0x20026f04 8062114: 20021cc8 .word 0x20021cc8 8062118: 20057dc0 .word 0x20057dc0 806211c: 20021d10 .word 0x20021d10 } else { arm_min_f32(In, len, &fn[0], &i); 8062120: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062124: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062128: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806212c: 485b ldr r0, [pc, #364] ; (806229c ) 806212e: f067 ff45 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8062132: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062136: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806213a: 1d1a adds r2, r3, #4 806213c: 460b mov r3, r1 806213e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062142: 4856 ldr r0, [pc, #344] ; (806229c ) 8062144: f067 ffd6 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062148: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806214c: eef5 7ac0 vcmpe.f32 s15, #0.0 8062150: eef1 fa10 vmrs APSR_nzcv, fpscr 8062154: dd02 ble.n 806215c 8062156: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806215a: e003 b.n 8062164 806215c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062160: eef1 7a67 vneg.f32 s15, s15 8062164: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062168: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806216c: eef5 7ac0 vcmpe.f32 s15, #0.0 8062170: eef1 fa10 vmrs APSR_nzcv, fpscr 8062174: dd02 ble.n 806217c 8062176: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806217a: e003 b.n 8062184 806217c: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 8062180: eef1 7a67 vneg.f32 s15, s15 8062184: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 8062188: f507 73e6 add.w r3, r7, #460 ; 0x1cc 806218c: f507 72de add.w r2, r7, #444 ; 0x1bc 8062190: f507 70d8 add.w r0, r7, #432 ; 0x1b0 8062194: 2102 movs r1, #2 8062196: f067 ffad bl 80ca0f4 if(fl > rms1) 806219a: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 806219e: 4b40 ldr r3, [pc, #256] ; (80622a0 ) 80621a0: edd3 7a00 vldr s15, [r3] 80621a4: eeb4 7ae7 vcmpe.f32 s14, s15 80621a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80621ac: dd03 ble.n 80621b6 rms1 = fl; 80621ae: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80621b2: 4a3b ldr r2, [pc, #236] ; (80622a0 ) 80621b4: 6013 str r3, [r2, #0] } //** 0,8 arm_biquad_cascade_df2T_f64(&S_OKT_0_8Hz, &Buff64[0], &Buff64[Ns], len); 80621b6: 4b3b ldr r3, [pc, #236] ; (80622a4 ) 80621b8: 681b ldr r3, [r3, #0] 80621ba: 00db lsls r3, r3, #3 80621bc: 4a3a ldr r2, [pc, #232] ; (80622a8 ) 80621be: 441a add r2, r3 80621c0: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 80621c4: 4938 ldr r1, [pc, #224] ; (80622a8 ) 80621c6: 4839 ldr r0, [pc, #228] ; (80622ac ) 80621c8: f068 f808 bl 80ca1dc for(i = 0; i < len; i++) { 80621cc: 2300 movs r3, #0 80621ce: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80621d2: e017 b.n 8062204 In[i] = (float32_t) Buff64[Ns + i]; 80621d4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80621d8: 4a32 ldr r2, [pc, #200] ; (80622a4 ) 80621da: 6811 ldr r1, [r2, #0] 80621dc: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80621e0: 440a add r2, r1 80621e2: 4931 ldr r1, [pc, #196] ; (80622a8 ) 80621e4: 00d2 lsls r2, r2, #3 80621e6: 440a add r2, r1 80621e8: ed92 7b00 vldr d7, [r2] 80621ec: eef7 7bc7 vcvt.f32.f64 s15, d7 80621f0: 4a2a ldr r2, [pc, #168] ; (806229c ) 80621f2: 009b lsls r3, r3, #2 80621f4: 4413 add r3, r2 80621f6: edc3 7a00 vstr s15, [r3] for(i = 0; i < len; i++) { 80621fa: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80621fe: 3301 adds r3, #1 8062200: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062204: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062208: f8d7 31e4 ldr.w r3, [r7, #484] ; 0x1e4 806220c: 429a cmp r2, r3 806220e: d3e1 bcc.n 80621d4 } if(pardata.IVS[ACC] == RMS) 8062210: 4b27 ldr r3, [pc, #156] ; (80622b0 ) 8062212: 789b ldrb r3, [r3, #2] 8062214: b2db uxtb r3, r3 8062216: 2b01 cmp r3, #1 8062218: d112 bne.n 8062240 { arm_power_f32(In, len, &fl); 806221a: f507 73de add.w r3, r7, #444 ; 0x1bc 806221e: 461a mov r2, r3 8062220: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062224: 481d ldr r0, [pc, #116] ; (806229c ) 8062226: f067 fe8f bl 80c9f48 rms0_8 += fl; 806222a: 4b22 ldr r3, [pc, #136] ; (80622b4 ) 806222c: ed93 7a00 vldr s14, [r3] 8062230: edd7 7a6f vldr s15, [r7, #444] ; 0x1bc 8062234: ee77 7a27 vadd.f32 s15, s14, s15 8062238: 4b1e ldr r3, [pc, #120] ; (80622b4 ) 806223a: edc3 7a00 vstr s15, [r3] 806223e: e058 b.n 80622f2 } else { arm_min_f32(In, len, &fn[0], &i); 8062240: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8062244: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8062248: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 806224c: 4813 ldr r0, [pc, #76] ; (806229c ) 806224e: f067 feb5 bl 80c9fbc arm_max_f32(In, len, &fn[1], &j); 8062252: f507 71e6 add.w r1, r7, #460 ; 0x1cc 8062256: f507 73d8 add.w r3, r7, #432 ; 0x1b0 806225a: 1d1a adds r2, r3, #4 806225c: 460b mov r3, r1 806225e: f8d7 11e4 ldr.w r1, [r7, #484] ; 0x1e4 8062262: 480e ldr r0, [pc, #56] ; (806229c ) 8062264: f067 ff46 bl 80ca0f4 fn[0] = ABS(fn[0]); fn[1] = ABS(fn[1]); 8062268: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806226c: eef5 7ac0 vcmpe.f32 s15, #0.0 8062270: eef1 fa10 vmrs APSR_nzcv, fpscr 8062274: dd02 ble.n 806227c 8062276: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 806227a: e003 b.n 8062284 806227c: edd7 7a6c vldr s15, [r7, #432] ; 0x1b0 8062280: eef1 7a67 vneg.f32 s15, s15 8062284: edc7 7a6c vstr s15, [r7, #432] ; 0x1b0 8062288: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806228c: eef5 7ac0 vcmpe.f32 s15, #0.0 8062290: eef1 fa10 vmrs APSR_nzcv, fpscr 8062294: dd10 ble.n 80622b8 8062296: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 806229a: e011 b.n 80622c0 806229c: 200279c0 .word 0x200279c0 80622a0: 20021d10 .word 0x20021d10 80622a4: 20021cdc .word 0x20021cdc 80622a8: 20037ae0 .word 0x20037ae0 80622ac: 2002792c .word 0x2002792c 80622b0: 20023e60 .word 0x20023e60 80622b4: 20021cd4 .word 0x20021cd4 80622b8: edd7 7a6d vldr s15, [r7, #436] ; 0x1b4 80622bc: eef1 7a67 vneg.f32 s15, s15 80622c0: edc7 7a6d vstr s15, [r7, #436] ; 0x1b4 arm_max_f32(fn, 2, &fl, &j); 80622c4: f507 73e6 add.w r3, r7, #460 ; 0x1cc 80622c8: f507 72de add.w r2, r7, #444 ; 0x1bc 80622cc: f507 70d8 add.w r0, r7, #432 ; 0x1b0 80622d0: 2102 movs r1, #2 80622d2: f067 ff0f bl 80ca0f4 if(fl > rms0_8) 80622d6: ed97 7a6f vldr s14, [r7, #444] ; 0x1bc 80622da: 4bc9 ldr r3, [pc, #804] ; (8062600 ) 80622dc: edd3 7a00 vldr s15, [r3] 80622e0: eeb4 7ae7 vcmpe.f32 s14, s15 80622e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80622e8: dd03 ble.n 80622f2 rms0_8 = fl; 80622ea: f8d7 31bc ldr.w r3, [r7, #444] ; 0x1bc 80622ee: 4ac4 ldr r2, [pc, #784] ; (8062600 ) 80622f0: 6013 str r3, [r2, #0] } cntcnt = DWT->CYCCNT - cntcnt; 80622f2: 4bc4 ldr r3, [pc, #784] ; (8062604 ) 80622f4: 685b ldr r3, [r3, #4] 80622f6: 4619 mov r1, r3 80622f8: f04f 0200 mov.w r2, #0 80622fc: f507 73f4 add.w r3, r7, #488 ; 0x1e8 8062300: cb18 ldmia r3, {r3, r4} 8062302: 1acb subs r3, r1, r3 8062304: eb62 0404 sbc.w r4, r2, r4 8062308: f507 72f4 add.w r2, r7, #488 ; 0x1e8 806230c: e882 0018 stmia.w r2, {r3, r4} cntcnt = 0; 8062310: f04f 0300 mov.w r3, #0 8062314: f04f 0400 mov.w r4, #0 8062318: f507 72f4 add.w r2, r7, #488 ; 0x1e8 806231c: e882 0018 stmia.w r2, {r3, r4} if(cntOkt == 8) 8062320: 4bb9 ldr r3, [pc, #740] ; (8062608 ) 8062322: 681b ldr r3, [r3, #0] 8062324: 2b08 cmp r3, #8 8062326: f040 8256 bne.w 80627d6 { MeanCnt++; 806232a: 4bb8 ldr r3, [pc, #736] ; (806260c ) 806232c: 681b ldr r3, [r3, #0] 806232e: 3301 adds r3, #1 8062330: 4ab6 ldr r2, [pc, #728] ; (806260c ) 8062332: 6013 str r3, [r2, #0] cntOkt = 0; 8062334: 4bb4 ldr r3, [pc, #720] ; (8062608 ) 8062336: 2200 movs r2, #0 8062338: 601a str r2, [r3, #0] if(MeanCnt == AVG[pardata.AVG]) 806233a: 4bb5 ldr r3, [pc, #724] ; (8062610 ) 806233c: 7b5b ldrb r3, [r3, #13] 806233e: b2db uxtb r3, r3 8062340: 461a mov r2, r3 8062342: 4bb4 ldr r3, [pc, #720] ; (8062614 ) 8062344: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8062348: 461a mov r2, r3 806234a: 4bb0 ldr r3, [pc, #704] ; (806260c ) 806234c: 681b ldr r3, [r3, #0] 806234e: 429a cmp r2, r3 8062350: f040 8241 bne.w 80627d6 { if(pardata.IVS[ACC] == RMS) 8062354: 4bae ldr r3, [pc, #696] ; (8062610 ) 8062356: 789b ldrb r3, [r3, #2] 8062358: b2db uxtb r3, r3 806235a: 2b01 cmp r3, #1 806235c: f040 8176 bne.w 806264c { rms10 /= (64.0f * (float32_t) MeanCnt); 8062360: 4baa ldr r3, [pc, #680] ; (806260c ) 8062362: 681b ldr r3, [r3, #0] 8062364: ee07 3a90 vmov s15, r3 8062368: eef8 7a67 vcvt.f32.u32 s15, s15 806236c: ed9f 7aaa vldr s14, [pc, #680] ; 8062618 8062370: ee27 7a87 vmul.f32 s14, s15, s14 8062374: 4ba9 ldr r3, [pc, #676] ; (806261c ) 8062376: edd3 6a00 vldr s13, [r3] 806237a: eec6 7a87 vdiv.f32 s15, s13, s14 806237e: 4ba7 ldr r3, [pc, #668] ; (806261c ) 8062380: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms10, &Third[11]); 8062384: 4ba5 ldr r3, [pc, #660] ; (806261c ) 8062386: edd3 7a00 vldr s15, [r3] 806238a: 463b mov r3, r7 806238c: 332c adds r3, #44 ; 0x2c 806238e: 4618 mov r0, r3 8062390: eeb0 0a67 vmov.f32 s0, s15 8062394: f7f3 fb28 bl 80559e8 rms8 /= (64.0f * (float32_t) MeanCnt); 8062398: 4b9c ldr r3, [pc, #624] ; (806260c ) 806239a: 681b ldr r3, [r3, #0] 806239c: ee07 3a90 vmov s15, r3 80623a0: eef8 7a67 vcvt.f32.u32 s15, s15 80623a4: ed9f 7a9c vldr s14, [pc, #624] ; 8062618 80623a8: ee27 7a87 vmul.f32 s14, s15, s14 80623ac: 4b9c ldr r3, [pc, #624] ; (8062620 ) 80623ae: edd3 6a00 vldr s13, [r3] 80623b2: eec6 7a87 vdiv.f32 s15, s13, s14 80623b6: 4b9a ldr r3, [pc, #616] ; (8062620 ) 80623b8: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms8, &Third[10]); 80623bc: 4b98 ldr r3, [pc, #608] ; (8062620 ) 80623be: edd3 7a00 vldr s15, [r3] 80623c2: 463b mov r3, r7 80623c4: 3328 adds r3, #40 ; 0x28 80623c6: 4618 mov r0, r3 80623c8: eeb0 0a67 vmov.f32 s0, s15 80623cc: f7f3 fb0c bl 80559e8 rms6_3 /= (64.0f * (float32_t) MeanCnt); 80623d0: 4b8e ldr r3, [pc, #568] ; (806260c ) 80623d2: 681b ldr r3, [r3, #0] 80623d4: ee07 3a90 vmov s15, r3 80623d8: eef8 7a67 vcvt.f32.u32 s15, s15 80623dc: ed9f 7a8e vldr s14, [pc, #568] ; 8062618 80623e0: ee27 7a87 vmul.f32 s14, s15, s14 80623e4: 4b8f ldr r3, [pc, #572] ; (8062624 ) 80623e6: edd3 6a00 vldr s13, [r3] 80623ea: eec6 7a87 vdiv.f32 s15, s13, s14 80623ee: 4b8d ldr r3, [pc, #564] ; (8062624 ) 80623f0: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms6_3, &Third[9]); 80623f4: 4b8b ldr r3, [pc, #556] ; (8062624 ) 80623f6: edd3 7a00 vldr s15, [r3] 80623fa: 463b mov r3, r7 80623fc: 3324 adds r3, #36 ; 0x24 80623fe: 4618 mov r0, r3 8062400: eeb0 0a67 vmov.f32 s0, s15 8062404: f7f3 faf0 bl 80559e8 rms5 /= (32.0f * (float32_t) MeanCnt); 8062408: 4b80 ldr r3, [pc, #512] ; (806260c ) 806240a: 681b ldr r3, [r3, #0] 806240c: ee07 3a90 vmov s15, r3 8062410: eef8 7a67 vcvt.f32.u32 s15, s15 8062414: ed9f 7a84 vldr s14, [pc, #528] ; 8062628 8062418: ee27 7a87 vmul.f32 s14, s15, s14 806241c: 4b83 ldr r3, [pc, #524] ; (806262c ) 806241e: edd3 6a00 vldr s13, [r3] 8062422: eec6 7a87 vdiv.f32 s15, s13, s14 8062426: 4b81 ldr r3, [pc, #516] ; (806262c ) 8062428: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms5, &Third[8]); 806242c: 4b7f ldr r3, [pc, #508] ; (806262c ) 806242e: edd3 7a00 vldr s15, [r3] 8062432: 463b mov r3, r7 8062434: 3320 adds r3, #32 8062436: 4618 mov r0, r3 8062438: eeb0 0a67 vmov.f32 s0, s15 806243c: f7f3 fad4 bl 80559e8 rms4 /= (32.0f * (float32_t) MeanCnt); 8062440: 4b72 ldr r3, [pc, #456] ; (806260c ) 8062442: 681b ldr r3, [r3, #0] 8062444: ee07 3a90 vmov s15, r3 8062448: eef8 7a67 vcvt.f32.u32 s15, s15 806244c: ed9f 7a76 vldr s14, [pc, #472] ; 8062628 8062450: ee27 7a87 vmul.f32 s14, s15, s14 8062454: 4b76 ldr r3, [pc, #472] ; (8062630 ) 8062456: edd3 6a00 vldr s13, [r3] 806245a: eec6 7a87 vdiv.f32 s15, s13, s14 806245e: 4b74 ldr r3, [pc, #464] ; (8062630 ) 8062460: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms4, &Third[7]); 8062464: 4b72 ldr r3, [pc, #456] ; (8062630 ) 8062466: edd3 7a00 vldr s15, [r3] 806246a: 463b mov r3, r7 806246c: 331c adds r3, #28 806246e: 4618 mov r0, r3 8062470: eeb0 0a67 vmov.f32 s0, s15 8062474: f7f3 fab8 bl 80559e8 rms3_15 /= (32.0f * (float32_t) MeanCnt); 8062478: 4b64 ldr r3, [pc, #400] ; (806260c ) 806247a: 681b ldr r3, [r3, #0] 806247c: ee07 3a90 vmov s15, r3 8062480: eef8 7a67 vcvt.f32.u32 s15, s15 8062484: ed9f 7a68 vldr s14, [pc, #416] ; 8062628 8062488: ee27 7a87 vmul.f32 s14, s15, s14 806248c: 4b69 ldr r3, [pc, #420] ; (8062634 ) 806248e: edd3 6a00 vldr s13, [r3] 8062492: eec6 7a87 vdiv.f32 s15, s13, s14 8062496: 4b67 ldr r3, [pc, #412] ; (8062634 ) 8062498: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms3_15, &Third[6]); 806249c: 4b65 ldr r3, [pc, #404] ; (8062634 ) 806249e: edd3 7a00 vldr s15, [r3] 80624a2: 463b mov r3, r7 80624a4: 3318 adds r3, #24 80624a6: 4618 mov r0, r3 80624a8: eeb0 0a67 vmov.f32 s0, s15 80624ac: f7f3 fa9c bl 80559e8 rms2_5 /= (16.0f * (float32_t) MeanCnt); 80624b0: 4b56 ldr r3, [pc, #344] ; (806260c ) 80624b2: 681b ldr r3, [r3, #0] 80624b4: ee07 3a90 vmov s15, r3 80624b8: eef8 7a67 vcvt.f32.u32 s15, s15 80624bc: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 80624c0: ee27 7a87 vmul.f32 s14, s15, s14 80624c4: 4b5c ldr r3, [pc, #368] ; (8062638 ) 80624c6: edd3 6a00 vldr s13, [r3] 80624ca: eec6 7a87 vdiv.f32 s15, s13, s14 80624ce: 4b5a ldr r3, [pc, #360] ; (8062638 ) 80624d0: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms2_5, &Third[5]); 80624d4: 4b58 ldr r3, [pc, #352] ; (8062638 ) 80624d6: edd3 7a00 vldr s15, [r3] 80624da: 463b mov r3, r7 80624dc: 3314 adds r3, #20 80624de: 4618 mov r0, r3 80624e0: eeb0 0a67 vmov.f32 s0, s15 80624e4: f7f3 fa80 bl 80559e8 rms2 /= (16.0f * (float32_t) MeanCnt); 80624e8: 4b48 ldr r3, [pc, #288] ; (806260c ) 80624ea: 681b ldr r3, [r3, #0] 80624ec: ee07 3a90 vmov s15, r3 80624f0: eef8 7a67 vcvt.f32.u32 s15, s15 80624f4: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 80624f8: ee27 7a87 vmul.f32 s14, s15, s14 80624fc: 4b4f ldr r3, [pc, #316] ; (806263c ) 80624fe: edd3 6a00 vldr s13, [r3] 8062502: eec6 7a87 vdiv.f32 s15, s13, s14 8062506: 4b4d ldr r3, [pc, #308] ; (806263c ) 8062508: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms2, &Third[4]); 806250c: 4b4b ldr r3, [pc, #300] ; (806263c ) 806250e: edd3 7a00 vldr s15, [r3] 8062512: 463b mov r3, r7 8062514: 3310 adds r3, #16 8062516: 4618 mov r0, r3 8062518: eeb0 0a67 vmov.f32 s0, s15 806251c: f7f3 fa64 bl 80559e8 rms1_6 /= (16.0f * (float32_t) MeanCnt); 8062520: 4b3a ldr r3, [pc, #232] ; (806260c ) 8062522: 681b ldr r3, [r3, #0] 8062524: ee07 3a90 vmov s15, r3 8062528: eef8 7a67 vcvt.f32.u32 s15, s15 806252c: eeb3 7a00 vmov.f32 s14, #48 ; 0x41800000 16.0 8062530: ee27 7a87 vmul.f32 s14, s15, s14 8062534: 4b42 ldr r3, [pc, #264] ; (8062640 ) 8062536: edd3 6a00 vldr s13, [r3] 806253a: eec6 7a87 vdiv.f32 s15, s13, s14 806253e: 4b40 ldr r3, [pc, #256] ; (8062640 ) 8062540: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1_6, &Third[3]); 8062544: 4b3e ldr r3, [pc, #248] ; (8062640 ) 8062546: edd3 7a00 vldr s15, [r3] 806254a: 463b mov r3, r7 806254c: 330c adds r3, #12 806254e: 4618 mov r0, r3 8062550: eeb0 0a67 vmov.f32 s0, s15 8062554: f7f3 fa48 bl 80559e8 rms1_25 /= (8.0f * (float32_t) MeanCnt); 8062558: 4b2c ldr r3, [pc, #176] ; (806260c ) 806255a: 681b ldr r3, [r3, #0] 806255c: ee07 3a90 vmov s15, r3 8062560: eef8 7a67 vcvt.f32.u32 s15, s15 8062564: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 8062568: ee27 7a87 vmul.f32 s14, s15, s14 806256c: 4b35 ldr r3, [pc, #212] ; (8062644 ) 806256e: edd3 6a00 vldr s13, [r3] 8062572: eec6 7a87 vdiv.f32 s15, s13, s14 8062576: 4b33 ldr r3, [pc, #204] ; (8062644 ) 8062578: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1_25, &Third[2]); 806257c: 4b31 ldr r3, [pc, #196] ; (8062644 ) 806257e: edd3 7a00 vldr s15, [r3] 8062582: 463b mov r3, r7 8062584: 3308 adds r3, #8 8062586: 4618 mov r0, r3 8062588: eeb0 0a67 vmov.f32 s0, s15 806258c: f7f3 fa2c bl 80559e8 rms1 /= (8.0f * (float32_t) MeanCnt); 8062590: 4b1e ldr r3, [pc, #120] ; (806260c ) 8062592: 681b ldr r3, [r3, #0] 8062594: ee07 3a90 vmov s15, r3 8062598: eef8 7a67 vcvt.f32.u32 s15, s15 806259c: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 80625a0: ee27 7a87 vmul.f32 s14, s15, s14 80625a4: 4b28 ldr r3, [pc, #160] ; (8062648 ) 80625a6: edd3 6a00 vldr s13, [r3] 80625aa: eec6 7a87 vdiv.f32 s15, s13, s14 80625ae: 4b26 ldr r3, [pc, #152] ; (8062648 ) 80625b0: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms1, &Third[1]); 80625b4: 4b24 ldr r3, [pc, #144] ; (8062648 ) 80625b6: edd3 7a00 vldr s15, [r3] 80625ba: 463b mov r3, r7 80625bc: 3304 adds r3, #4 80625be: 4618 mov r0, r3 80625c0: eeb0 0a67 vmov.f32 s0, s15 80625c4: f7f3 fa10 bl 80559e8 rms0_8 /= (8.0f * (float32_t) MeanCnt); 80625c8: 4b10 ldr r3, [pc, #64] ; (806260c ) 80625ca: 681b ldr r3, [r3, #0] 80625cc: ee07 3a90 vmov s15, r3 80625d0: eef8 7a67 vcvt.f32.u32 s15, s15 80625d4: eeb2 7a00 vmov.f32 s14, #32 ; 0x41000000 8.0 80625d8: ee27 7a87 vmul.f32 s14, s15, s14 80625dc: 4b08 ldr r3, [pc, #32] ; (8062600 ) 80625de: edd3 6a00 vldr s13, [r3] 80625e2: eec6 7a87 vdiv.f32 s15, s13, s14 80625e6: 4b06 ldr r3, [pc, #24] ; (8062600 ) 80625e8: edc3 7a00 vstr s15, [r3] arm_sqrt_f32(rms0_8, &Third[0]); 80625ec: 4b04 ldr r3, [pc, #16] ; (8062600 ) 80625ee: edd3 7a00 vldr s15, [r3] 80625f2: 463b mov r3, r7 80625f4: 4618 mov r0, r3 80625f6: eeb0 0a67 vmov.f32 s0, s15 80625fa: f7f3 f9f5 bl 80559e8 80625fe: e055 b.n 80626ac 8062600: 20021cd4 .word 0x20021cd4 8062604: e0001000 .word 0xe0001000 8062608: 20020d90 .word 0x20020d90 806260c: 20020db8 .word 0x20020db8 8062610: 20023e60 .word 0x20023e60 8062614: 080eeb38 .word 0x080eeb38 8062618: 42800000 .word 0x42800000 806261c: 20021d0c .word 0x20021d0c 8062620: 20021cd0 .word 0x20021cd0 8062624: 20021ce0 .word 0x20021ce0 8062628: 42000000 .word 0x42000000 806262c: 20021ce4 .word 0x20021ce4 8062630: 20021d18 .word 0x20021d18 8062634: 20021d14 .word 0x20021d14 8062638: 20021cf8 .word 0x20021cf8 806263c: 20021cd8 .word 0x20021cd8 8062640: 20021ccc .word 0x20021ccc 8062644: 20021cc8 .word 0x20021cc8 8062648: 20021d10 .word 0x20021d10 } else { Third[11] = rms10; 806264c: 4baa ldr r3, [pc, #680] ; (80628f8 ) 806264e: 681a ldr r2, [r3, #0] 8062650: 463b mov r3, r7 8062652: 62da str r2, [r3, #44] ; 0x2c Third[10] = rms8; 8062654: 4ba9 ldr r3, [pc, #676] ; (80628fc ) 8062656: 681a ldr r2, [r3, #0] 8062658: 463b mov r3, r7 806265a: 629a str r2, [r3, #40] ; 0x28 Third[9] = rms6_3; 806265c: 4ba8 ldr r3, [pc, #672] ; (8062900 ) 806265e: 681a ldr r2, [r3, #0] 8062660: 463b mov r3, r7 8062662: 625a str r2, [r3, #36] ; 0x24 Third[8] = rms5; 8062664: 4ba7 ldr r3, [pc, #668] ; (8062904 ) 8062666: 681a ldr r2, [r3, #0] 8062668: 463b mov r3, r7 806266a: 621a str r2, [r3, #32] Third[7] = rms4; 806266c: 4ba6 ldr r3, [pc, #664] ; (8062908 ) 806266e: 681a ldr r2, [r3, #0] 8062670: 463b mov r3, r7 8062672: 61da str r2, [r3, #28] Third[6] = rms3_15; 8062674: 4ba5 ldr r3, [pc, #660] ; (806290c ) 8062676: 681a ldr r2, [r3, #0] 8062678: 463b mov r3, r7 806267a: 619a str r2, [r3, #24] Third[5] = rms2_5; 806267c: 4ba4 ldr r3, [pc, #656] ; (8062910 ) 806267e: 681a ldr r2, [r3, #0] 8062680: 463b mov r3, r7 8062682: 615a str r2, [r3, #20] Third[4] = rms2; 8062684: 4ba3 ldr r3, [pc, #652] ; (8062914 ) 8062686: 681a ldr r2, [r3, #0] 8062688: 463b mov r3, r7 806268a: 611a str r2, [r3, #16] Third[3] = rms1_6; 806268c: 4ba2 ldr r3, [pc, #648] ; (8062918 ) 806268e: 681a ldr r2, [r3, #0] 8062690: 463b mov r3, r7 8062692: 60da str r2, [r3, #12] Third[2] = rms1_25; 8062694: 4ba1 ldr r3, [pc, #644] ; (806291c ) 8062696: 681a ldr r2, [r3, #0] 8062698: 463b mov r3, r7 806269a: 609a str r2, [r3, #8] Third[1] = rms1; 806269c: 4ba0 ldr r3, [pc, #640] ; (8062920 ) 806269e: 681a ldr r2, [r3, #0] 80626a0: 463b mov r3, r7 80626a2: 605a str r2, [r3, #4] Third[0] = rms0_8; 80626a4: 4b9f ldr r3, [pc, #636] ; (8062924 ) 80626a6: 681a ldr r2, [r3, #0] 80626a8: 463b mov r3, r7 80626aa: 601a str r2, [r3, #0] } fs = 1.0f; 80626ac: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 80626b0: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 if(pardata.IPR == VEL) 80626b4: 4b9c ldr r3, [pc, #624] ; (8062928 ) 80626b6: 785b ldrb r3, [r3, #1] 80626b8: b2db uxtb r3, r3 80626ba: 2b01 cmp r3, #1 80626bc: d103 bne.n 80626c6 fs = 249.135f; 80626be: 4b9b ldr r3, [pc, #620] ; (806292c ) 80626c0: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 80626c4: e007 b.n 80626d6 else if(pardata.IPR == DIS) 80626c6: 4b98 ldr r3, [pc, #608] ; (8062928 ) 80626c8: 785b ldrb r3, [r3, #1] 80626ca: b2db uxtb r3, r3 80626cc: 2b02 cmp r3, #2 80626ce: d102 bne.n 80626d6 fs = 61400.171f; 80626d0: 4b97 ldr r3, [pc, #604] ; (8062930 ) 80626d2: f8c7 31b8 str.w r3, [r7, #440] ; 0x1b8 for(i = 0; i < 39; i++) { 80626d6: 2300 movs r3, #0 80626d8: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80626dc: e016 b.n 806270c In[i] = Third[i] * fs; 80626de: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80626e2: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80626e6: 4639 mov r1, r7 80626e8: 0092 lsls r2, r2, #2 80626ea: 440a add r2, r1 80626ec: ed92 7a00 vldr s14, [r2] 80626f0: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 80626f4: ee67 7a27 vmul.f32 s15, s14, s15 80626f8: 4a8e ldr r2, [pc, #568] ; (8062934 ) 80626fa: 009b lsls r3, r3, #2 80626fc: 4413 add r3, r2 80626fe: edc3 7a00 vstr s15, [r3] for(i = 0; i < 39; i++) { 8062702: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062706: 3301 adds r3, #1 8062708: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806270c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062710: 2b26 cmp r3, #38 ; 0x26 8062712: d9e4 bls.n 80626de } if(pardata.IPR > ACC) { 8062714: 4b84 ldr r3, [pc, #528] ; (8062928 ) 8062716: 785b ldrb r3, [r3, #1] 8062718: b2db uxtb r3, r3 806271a: 2b00 cmp r3, #0 806271c: d015 beq.n 806274a In[0] = In[1] = In[2] = In[3] = In[41] = 0.0f; 806271e: 4b85 ldr r3, [pc, #532] ; (8062934 ) 8062720: f04f 0200 mov.w r2, #0 8062724: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 8062728: 4b82 ldr r3, [pc, #520] ; (8062934 ) 806272a: f8d3 30a4 ldr.w r3, [r3, #164] ; 0xa4 806272e: 4a81 ldr r2, [pc, #516] ; (8062934 ) 8062730: 60d3 str r3, [r2, #12] 8062732: 4b80 ldr r3, [pc, #512] ; (8062934 ) 8062734: 68db ldr r3, [r3, #12] 8062736: 4a7f ldr r2, [pc, #508] ; (8062934 ) 8062738: 6093 str r3, [r2, #8] 806273a: 4b7e ldr r3, [pc, #504] ; (8062934 ) 806273c: 689b ldr r3, [r3, #8] 806273e: 4a7d ldr r2, [pc, #500] ; (8062934 ) 8062740: 6053 str r3, [r2, #4] 8062742: 4b7c ldr r3, [pc, #496] ; (8062934 ) 8062744: 685b ldr r3, [r3, #4] 8062746: 4a7b ldr r2, [pc, #492] ; (8062934 ) 8062748: 6013 str r3, [r2, #0] } rms0_8 = 0.0f; 806274a: 4b76 ldr r3, [pc, #472] ; (8062924 ) 806274c: f04f 0200 mov.w r2, #0 8062750: 601a str r2, [r3, #0] rms1 = 0.0f; 8062752: 4b73 ldr r3, [pc, #460] ; (8062920 ) 8062754: f04f 0200 mov.w r2, #0 8062758: 601a str r2, [r3, #0] rms1_25 = 0.0f; 806275a: 4b70 ldr r3, [pc, #448] ; (806291c ) 806275c: f04f 0200 mov.w r2, #0 8062760: 601a str r2, [r3, #0] rms1_6 = 0.0f; 8062762: 4b6d ldr r3, [pc, #436] ; (8062918 ) 8062764: f04f 0200 mov.w r2, #0 8062768: 601a str r2, [r3, #0] rms2 = 0.0f; 806276a: 4b6a ldr r3, [pc, #424] ; (8062914 ) 806276c: f04f 0200 mov.w r2, #0 8062770: 601a str r2, [r3, #0] rms2_5 = 0.0f; 8062772: 4b67 ldr r3, [pc, #412] ; (8062910 ) 8062774: f04f 0200 mov.w r2, #0 8062778: 601a str r2, [r3, #0] rms3_15 = 0.0f; 806277a: 4b64 ldr r3, [pc, #400] ; (806290c ) 806277c: f04f 0200 mov.w r2, #0 8062780: 601a str r2, [r3, #0] rms4 = 0.0f; 8062782: 4b61 ldr r3, [pc, #388] ; (8062908 ) 8062784: f04f 0200 mov.w r2, #0 8062788: 601a str r2, [r3, #0] rms5 = 0.0f; 806278a: 4b5e ldr r3, [pc, #376] ; (8062904 ) 806278c: f04f 0200 mov.w r2, #0 8062790: 601a str r2, [r3, #0] rms6_3 = 0.0f; 8062792: 4b5b ldr r3, [pc, #364] ; (8062900 ) 8062794: f04f 0200 mov.w r2, #0 8062798: 601a str r2, [r3, #0] rms8 = 0.0f; 806279a: 4b58 ldr r3, [pc, #352] ; (80628fc ) 806279c: f04f 0200 mov.w r2, #0 80627a0: 601a str r2, [r3, #0] rms10 = 0.0f; 80627a2: 4b55 ldr r3, [pc, #340] ; (80628f8 ) 80627a4: f04f 0200 mov.w r2, #0 80627a8: 601a str r2, [r3, #0] FastCopy16(IN_Reg, SCR_Reg, 84); 80627aa: 2254 movs r2, #84 ; 0x54 80627ac: 2104 movs r1, #4 80627ae: 2001 movs r0, #1 80627b0: f001 fde2 bl 8064378 if(firstOkt) 80627b4: 4b60 ldr r3, [pc, #384] ; (8062938 ) 80627b6: 781b ldrb r3, [r3, #0] 80627b8: b2db uxtb r3, r3 80627ba: 2b00 cmp r3, #0 80627bc: d005 beq.n 80627ca { firstOkt = false; 80627be: 4b5e ldr r3, [pc, #376] ; (8062938 ) 80627c0: 2200 movs r2, #0 80627c2: 701a strb r2, [r3, #0] AUTOZOOM = true; 80627c4: 4b5d ldr r3, [pc, #372] ; (806293c ) 80627c6: 2201 movs r2, #1 80627c8: 701a strb r2, [r3, #0] } READY_TO_SEE = true; 80627ca: 4b5d ldr r3, [pc, #372] ; (8062940 ) 80627cc: 2201 movs r2, #1 80627ce: 701a strb r2, [r3, #0] MeanCnt = 0; 80627d0: 4b5c ldr r3, [pc, #368] ; (8062944 ) 80627d2: 2200 movs r2, #0 80627d4: 601a str r2, [r3, #0] } } //**************************************************************************** cntcnt = DWT->CYCCNT - cntcnt; 80627d6: 4b5c ldr r3, [pc, #368] ; (8062948 ) 80627d8: 685b ldr r3, [r3, #4] 80627da: 4619 mov r1, r3 80627dc: f04f 0200 mov.w r2, #0 80627e0: f507 73f4 add.w r3, r7, #488 ; 0x1e8 80627e4: cb18 ldmia r3, {r3, r4} 80627e6: 1acb subs r3, r1, r3 80627e8: eb62 0404 sbc.w r4, r2, r4 80627ec: f507 72f4 add.w r2, r7, #488 ; 0x1e8 80627f0: e882 0018 stmia.w r2, {r3, r4} cntcnt = 0; 80627f4: f04f 0300 mov.w r3, #0 80627f8: f04f 0400 mov.w r4, #0 80627fc: f507 72f4 add.w r2, r7, #488 ; 0x1e8 8062800: e882 0018 stmia.w r2, {r3, r4} { 8062804: bf00 nop else { RepeatKm = true; } } break; 8062806: f001 bc74 b.w 80640f2 RepeatKm = true; 806280a: 4b50 ldr r3, [pc, #320] ; (806294c ) 806280c: 2201 movs r2, #1 806280e: 701a strb r2, [r3, #0] break; 8062810: f001 bc6f b.w 80640f2 case OSC: // TODO if(measuring) 8062814: 4b4e ldr r3, [pc, #312] ; (8062950 ) 8062816: 781b ldrb r3, [r3, #0] 8062818: b2db uxtb r3, r3 806281a: 2b00 cmp r3, #0 806281c: f001 846b beq.w 80640f6 { tick = DWT->CYCCNT; 8062820: 4b49 ldr r3, [pc, #292] ; (8062948 ) 8062822: 685b ldr r3, [r3, #4] 8062824: f8c7 321c str.w r3, [r7, #540] ; 0x21c GetData(); 8062828: f001 ff1c bl 8064664 j = 0; 806282c: 2300 movs r3, #0 806282e: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(Threshold) 8062832: 4b48 ldr r3, [pc, #288] ; (8062954 ) 8062834: 781b ldrb r3, [r3, #0] 8062836: b2db uxtb r3, r3 8062838: 2b00 cmp r3, #0 806283a: d00b beq.n 8062854 { Flag_Set_KU = 0; 806283c: 4b46 ldr r3, [pc, #280] ; (8062958 ) 806283e: 2200 movs r2, #0 8062840: 701a strb r2, [r3, #0] Stability = (Nr * 4) + 1; 8062842: 4b46 ldr r3, [pc, #280] ; (806295c ) 8062844: 881b ldrh r3, [r3, #0] 8062846: b29b uxth r3, r3 8062848: 009b lsls r3, r3, #2 806284a: 3301 adds r3, #1 806284c: 461a mov r2, r3 806284e: 4b44 ldr r3, [pc, #272] ; (8062960 ) 8062850: 601a str r2, [r3, #0] 8062852: e03e b.n 80628d2 } else { if(pardata.OPTIONS & 0x4) 8062854: 4b34 ldr r3, [pc, #208] ; (8062928 ) 8062856: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806285a: f003 0304 and.w r3, r3, #4 806285e: 2b00 cmp r3, #0 8062860: d005 beq.n 806286e CalculateGain(Ns); 8062862: 4b40 ldr r3, [pc, #256] ; (8062964 ) 8062864: 681b ldr r3, [r3, #0] 8062866: 4618 mov r0, r3 8062868: f7f3 f8e0 bl 8055a2c 806286c: e031 b.n 80628d2 else { Stability = (Nr * 4) + 1; 806286e: 4b3b ldr r3, [pc, #236] ; (806295c ) 8062870: 881b ldrh r3, [r3, #0] 8062872: b29b uxth r3, r3 8062874: 009b lsls r3, r3, #2 8062876: 3301 adds r3, #1 8062878: 461a mov r2, r3 806287a: 4b39 ldr r3, [pc, #228] ; (8062960 ) 806287c: 601a str r2, [r3, #0] j = 0; 806287e: 2300 movs r3, #0 8062880: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc /*if(pardata.IPR > ACC) blockSize = (Ns << 1); else blockSize = Ns;*/ for(i = 0; i < Ns; i++) 8062884: 2300 movs r3, #0 8062886: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806288a: e011 b.n 80628b0 { if(In16[i].lg > 0xE00000) 806288c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062890: 4a35 ldr r2, [pc, #212] ; (8062968 ) 8062892: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8062896: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 806289a: d904 bls.n 80628a6 j++; 806289c: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80628a0: 3301 adds r3, #1 80628a2: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 80628a6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80628aa: 3301 adds r3, #1 80628ac: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80628b0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80628b4: 4b2b ldr r3, [pc, #172] ; (8062964 ) 80628b6: 681b ldr r3, [r3, #0] 80628b8: 429a cmp r2, r3 80628ba: d3e7 bcc.n 806288c } if(j >= 2) 80628bc: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 80628c0: 2b01 cmp r3, #1 80628c2: d903 bls.n 80628cc OVERDRIVE = true; 80628c4: 4b29 ldr r3, [pc, #164] ; (806296c ) 80628c6: 2201 movs r2, #1 80628c8: 701a strb r2, [r3, #0] 80628ca: e002 b.n 80628d2 else OVERDRIVE = false; 80628cc: 4b27 ldr r3, [pc, #156] ; (806296c ) 80628ce: 2200 movs r2, #0 80628d0: 701a strb r2, [r3, #0] } } if(Flag_Set_KU) 80628d2: 4b21 ldr r3, [pc, #132] ; (8062958 ) 80628d4: 781b ldrb r3, [r3, #0] 80628d6: b2db uxtb r3, r3 80628d8: 2b00 cmp r3, #0 80628da: d04f beq.n 806297c { Stability = 0; 80628dc: 4b20 ldr r3, [pc, #128] ; (8062960 ) 80628de: 2200 movs r2, #0 80628e0: 601a str r2, [r3, #0] NSamples = 0xffffffff; 80628e2: 4b23 ldr r3, [pc, #140] ; (8062970 ) 80628e4: f04f 32ff mov.w r2, #4294967295 80628e8: 601a str r2, [r3, #0] timeRelax = RELAX + 1; 80628ea: 4b22 ldr r3, [pc, #136] ; (8062974 ) 80628ec: 681b ldr r3, [r3, #0] 80628ee: 3301 adds r3, #1 80628f0: 4a21 ldr r2, [pc, #132] ; (8062978 ) 80628f2: 6013 str r3, [r2, #0] 80628f4: e050 b.n 8062998 80628f6: bf00 nop 80628f8: 20021d0c .word 0x20021d0c 80628fc: 20021cd0 .word 0x20021cd0 8062900: 20021ce0 .word 0x20021ce0 8062904: 20021ce4 .word 0x20021ce4 8062908: 20021d18 .word 0x20021d18 806290c: 20021d14 .word 0x20021d14 8062910: 20021cf8 .word 0x20021cf8 8062914: 20021cd8 .word 0x20021cd8 8062918: 20021ccc .word 0x20021ccc 806291c: 20021cc8 .word 0x20021cc8 8062920: 20021d10 .word 0x20021d10 8062924: 20021cd4 .word 0x20021cd4 8062928: 20023e60 .word 0x20023e60 806292c: 4379228f .word 0x4379228f 8062930: 476fd82c .word 0x476fd82c 8062934: 200279c0 .word 0x200279c0 8062938: 20020d94 .word 0x20020d94 806293c: 2002098c .word 0x2002098c 8062940: 20020d8e .word 0x20020d8e 8062944: 20020db8 .word 0x20020db8 8062948: e0001000 .word 0xe0001000 806294c: 20020dac .word 0x20020dac 8062950: 20020daf .word 0x20020daf 8062954: 20020db1 .word 0x20020db1 8062958: 20020d7e .word 0x20020d7e 806295c: 20021d20 .word 0x20021d20 8062960: 20020da8 .word 0x20020da8 8062964: 20021cdc .word 0x20021cdc 8062968: 20058020 .word 0x20058020 806296c: 20021531 .word 0x20021531 8062970: 20020d88 .word 0x20020d88 8062974: 20020d70 .word 0x20020d70 8062978: 20020d6c .word 0x20020d6c len = strlen((void *) pBuff_u8); SendData(pBuff_u8, len + 1);*/ } else { if(Stability <= (Nr * 4)) 806297c: 4bbe ldr r3, [pc, #760] ; (8062c78 ) 806297e: 881b ldrh r3, [r3, #0] 8062980: b29b uxth r3, r3 8062982: 009b lsls r3, r3, #2 8062984: 461a mov r2, r3 8062986: 4bbd ldr r3, [pc, #756] ; (8062c7c ) 8062988: 681b ldr r3, [r3, #0] 806298a: 429a cmp r2, r3 806298c: d304 bcc.n 8062998 Stability++; 806298e: 4bbb ldr r3, [pc, #748] ; (8062c7c ) 8062990: 681b ldr r3, [r3, #0] 8062992: 3301 adds r3, #1 8062994: 4ab9 ldr r2, [pc, #740] ; (8062c7c ) 8062996: 6013 str r3, [r2, #0] /*strcpy((void *) pBuff_u8, "[WAIT]\r\n\0"); len = strlen((void *) pBuff_u8); SendData(pBuff_u8, len + 1);*/ } if((Flag_Set_KU == 0) && ((Threshold) || (Stability > (Nr * 4)))) 8062998: 4bb9 ldr r3, [pc, #740] ; (8062c80 ) 806299a: 781b ldrb r3, [r3, #0] 806299c: b2db uxtb r3, r3 806299e: 2b00 cmp r3, #0 80629a0: f041 8015 bne.w 80639ce 80629a4: 4bb7 ldr r3, [pc, #732] ; (8062c84 ) 80629a6: 781b ldrb r3, [r3, #0] 80629a8: b2db uxtb r3, r3 80629aa: 2b00 cmp r3, #0 80629ac: d109 bne.n 80629c2 80629ae: 4bb2 ldr r3, [pc, #712] ; (8062c78 ) 80629b0: 881b ldrh r3, [r3, #0] 80629b2: b29b uxth r3, r3 80629b4: 009b lsls r3, r3, #2 80629b6: 461a mov r2, r3 80629b8: 4bb0 ldr r3, [pc, #704] ; (8062c7c ) 80629ba: 681b ldr r3, [r3, #0] 80629bc: 429a cmp r2, r3 80629be: f081 8006 bcs.w 80639ce { if(pardata.IPR == ACC) 80629c2: 4bb1 ldr r3, [pc, #708] ; (8062c88 ) 80629c4: 785b ldrb r3, [r3, #1] 80629c6: b2db uxtb r3, r3 80629c8: 2b00 cmp r3, #0 80629ca: f040 8082 bne.w 8062ad2 { fNrm = 1.0f / (float32_t) (Ns >> 1); 80629ce: 4baf ldr r3, [pc, #700] ; (8062c8c ) 80629d0: 681b ldr r3, [r3, #0] 80629d2: 085b lsrs r3, r3, #1 80629d4: ee07 3a90 vmov s15, r3 80629d8: eeb8 7a67 vcvt.f32.u32 s14, s15 80629dc: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 80629e0: eec6 7a87 vdiv.f32 s15, s13, s14 80629e4: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 80629e8: 4ba9 ldr r3, [pc, #676] ; (8062c90 ) 80629ea: edd3 7a00 vldr s15, [r3] 80629ee: eeb7 7ae7 vcvt.f64.f32 d7, s15 80629f2: ed9f 6b9f vldr d6, [pc, #636] ; 8062c70 80629f6: ee27 7b06 vmul.f64 d7, d7, d6 80629fa: ed87 7b82 vstr d7, [r7, #520] ; 0x208 sc /= (float64_t) pardata.IKK; 80629fe: 4ba2 ldr r3, [pc, #648] ; (8062c88 ) 8062a00: edd3 7a04 vldr s15, [r3, #16] 8062a04: eeb7 6ae7 vcvt.f64.f32 d6, s15 8062a08: ed97 5b82 vldr d5, [r7, #520] ; 0x208 8062a0c: ee85 7b06 vdiv.f64 d7, d5, d6 8062a10: ed87 7b82 vstr d7, [r7, #520] ; 0x208 for(i = 0; i < Ns; i++) 8062a14: 2300 movs r3, #0 8062a16: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062a1a: e026 b.n 8062a6a { Buff64[i] = (float64_t) In16[i].lg; 8062a1c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062a20: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062a24: 499b ldr r1, [pc, #620] ; (8062c94 ) 8062a26: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8062a2a: ee07 2a90 vmov s15, r2 8062a2e: eeb8 7b67 vcvt.f64.u32 d7, s15 8062a32: 4a99 ldr r2, [pc, #612] ; (8062c98 ) 8062a34: 00db lsls r3, r3, #3 8062a36: 4413 add r3, r2 8062a38: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 8062a3c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062a40: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062a44: 4994 ldr r1, [pc, #592] ; (8062c98 ) 8062a46: 00d2 lsls r2, r2, #3 8062a48: 440a add r2, r1 8062a4a: ed92 6b00 vldr d6, [r2] 8062a4e: ed97 7b82 vldr d7, [r7, #520] ; 0x208 8062a52: ee26 7b07 vmul.f64 d7, d6, d7 8062a56: 4a90 ldr r2, [pc, #576] ; (8062c98 ) 8062a58: 00db lsls r3, r3, #3 8062a5a: 4413 add r3, r2 8062a5c: ed83 7b00 vstr d7, [r3] for(i = 0; i < Ns; i++) 8062a60: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062a64: 3301 adds r3, #1 8062a66: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062a6a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062a6e: 4b87 ldr r3, [pc, #540] ; (8062c8c ) 8062a70: 681b ldr r3, [r3, #0] 8062a72: 429a cmp r2, r3 8062a74: d3d2 bcc.n 8062a1c } arm_biquad_cascade_df2T_f64(&S_LP, Buff64, Buff64, Ns); 8062a76: 4b85 ldr r3, [pc, #532] ; (8062c8c ) 8062a78: 681b ldr r3, [r3, #0] 8062a7a: 4a87 ldr r2, [pc, #540] ; (8062c98 ) 8062a7c: 4986 ldr r1, [pc, #536] ; (8062c98 ) 8062a7e: 4887 ldr r0, [pc, #540] ; (8062c9c ) 8062a80: f067 fbac bl 80ca1dc arm_biquad_cascade_df2T_f64(&S_HP_ACC, Buff64, Buff64, Ns); 8062a84: 4b81 ldr r3, [pc, #516] ; (8062c8c ) 8062a86: 681b ldr r3, [r3, #0] 8062a88: 4a83 ldr r2, [pc, #524] ; (8062c98 ) 8062a8a: 4983 ldr r1, [pc, #524] ; (8062c98 ) 8062a8c: 4884 ldr r0, [pc, #528] ; (8062ca0 ) 8062a8e: f067 fba5 bl 80ca1dc for(i = 0; i < Ns; i++) 8062a92: 2300 movs r3, #0 8062a94: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062a98: e014 b.n 8062ac4 Out[i] = (float32_t) Buff64[i]; 8062a9a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062a9e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062aa2: 497d ldr r1, [pc, #500] ; (8062c98 ) 8062aa4: 00d2 lsls r2, r2, #3 8062aa6: 440a add r2, r1 8062aa8: ed92 7b00 vldr d7, [r2] 8062aac: eef7 7bc7 vcvt.f32.f64 s15, d7 8062ab0: 4a7c ldr r2, [pc, #496] ; (8062ca4 ) 8062ab2: 009b lsls r3, r3, #2 8062ab4: 4413 add r3, r2 8062ab6: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 8062aba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062abe: 3301 adds r3, #1 8062ac0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062ac4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062ac8: 4b70 ldr r3, [pc, #448] ; (8062c8c ) 8062aca: 681b ldr r3, [r3, #0] 8062acc: 429a cmp r2, r3 8062ace: d3e4 bcc.n 8062a9a 8062ad0: e087 b.n 8062be2 } else { fNrm = 1.0f / (float32_t) (Ns >> 1); 8062ad2: 4b6e ldr r3, [pc, #440] ; (8062c8c ) 8062ad4: 681b ldr r3, [r3, #0] 8062ad6: 085b lsrs r3, r3, #1 8062ad8: ee07 3a90 vmov s15, r3 8062adc: eeb8 7a67 vcvt.f32.u32 s14, s15 8062ae0: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8062ae4: eec6 7a87 vdiv.f32 s15, s13, s14 8062ae8: edc7 7a85 vstr s15, [r7, #532] ; 0x214 sc = (6.0 / 16777215.0) * (float64_t) CorrKk[ACC]; 8062aec: 4b68 ldr r3, [pc, #416] ; (8062c90 ) 8062aee: edd3 7a00 vldr s15, [r3] 8062af2: eeb7 7ae7 vcvt.f64.f32 d7, s15 8062af6: ed9f 6b5e vldr d6, [pc, #376] ; 8062c70 8062afa: ee27 7b06 vmul.f64 d7, d7, d6 8062afe: ed87 7b82 vstr d7, [r7, #520] ; 0x208 fs = _b24 * CorrKk[ACC]; 8062b02: 4b63 ldr r3, [pc, #396] ; (8062c90 ) 8062b04: edd3 7a00 vldr s15, [r3] 8062b08: ed9f 7a67 vldr s14, [pc, #412] ; 8062ca8 8062b0c: ee67 7a87 vmul.f32 s15, s15, s14 8062b10: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 for(i = 0; i < Ns; i++) 8062b14: 2300 movs r3, #0 8062b16: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062b1a: e049 b.n 8062bb0 { Buff64[i] = (float64_t) In16[i].lg; 8062b1c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062b20: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062b24: 495b ldr r1, [pc, #364] ; (8062c94 ) 8062b26: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8062b2a: ee07 2a90 vmov s15, r2 8062b2e: eeb8 7b67 vcvt.f64.u32 d7, s15 8062b32: 4a59 ldr r2, [pc, #356] ; (8062c98 ) 8062b34: 00db lsls r3, r3, #3 8062b36: 4413 add r3, r2 8062b38: ed83 7b00 vstr d7, [r3] Buff64[i] *= sc; 8062b3c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062b40: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062b44: 4954 ldr r1, [pc, #336] ; (8062c98 ) 8062b46: 00d2 lsls r2, r2, #3 8062b48: 440a add r2, r1 8062b4a: ed92 6b00 vldr d6, [r2] 8062b4e: ed97 7b82 vldr d7, [r7, #520] ; 0x208 8062b52: ee26 7b07 vmul.f64 d7, d6, d7 8062b56: 4a50 ldr r2, [pc, #320] ; (8062c98 ) 8062b58: 00db lsls r3, r3, #3 8062b5a: 4413 add r3, r2 8062b5c: ed83 7b00 vstr d7, [r3] In[i] = (float32_t) In16[i].lg; 8062b60: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062b64: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062b68: 494a ldr r1, [pc, #296] ; (8062c94 ) 8062b6a: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8062b6e: ee07 2a90 vmov s15, r2 8062b72: eef8 7a67 vcvt.f32.u32 s15, s15 8062b76: 4a4d ldr r2, [pc, #308] ; (8062cac ) 8062b78: 009b lsls r3, r3, #2 8062b7a: 4413 add r3, r2 8062b7c: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 8062b80: 4b4b ldr r3, [pc, #300] ; (8062cb0 ) 8062b82: edd3 7a00 vldr s15, [r3] 8062b86: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062b8a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062b8e: 4947 ldr r1, [pc, #284] ; (8062cac ) 8062b90: 0092 lsls r2, r2, #2 8062b92: 440a add r2, r1 8062b94: ed92 7a00 vldr s14, [r2] 8062b98: ee77 7a67 vsub.f32 s15, s14, s15 8062b9c: 4a43 ldr r2, [pc, #268] ; (8062cac ) 8062b9e: 009b lsls r3, r3, #2 8062ba0: 4413 add r3, r2 8062ba2: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 8062ba6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062baa: 3301 adds r3, #1 8062bac: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062bb0: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8062bb4: 4b35 ldr r3, [pc, #212] ; (8062c8c ) 8062bb6: 681b ldr r3, [r3, #0] 8062bb8: 429a cmp r2, r3 8062bba: d3af bcc.n 8062b1c } arm_scale_f32(In, fs, Out, Ns); 8062bbc: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8062bc0: 4b32 ldr r3, [pc, #200] ; (8062c8c ) 8062bc2: 681b ldr r3, [r3, #0] 8062bc4: 461a mov r2, r3 8062bc6: 4937 ldr r1, [pc, #220] ; (8062ca4 ) 8062bc8: eeb0 0a67 vmov.f32 s0, s15 8062bcc: 4837 ldr r0, [pc, #220] ; (8062cac ) 8062bce: f067 fdbb bl 80ca748 arm_rms_f32(Out, Ns, &rms); 8062bd2: 4b2e ldr r3, [pc, #184] ; (8062c8c ) 8062bd4: 681b ldr r3, [r3, #0] 8062bd6: f507 7286 add.w r2, r7, #268 ; 0x10c 8062bda: 4619 mov r1, r3 8062bdc: 4831 ldr r0, [pc, #196] ; (8062ca4 ) 8062bde: f067 f95b bl 80c9e98 } MeanCnt++; 8062be2: 4b34 ldr r3, [pc, #208] ; (8062cb4 ) 8062be4: 681b ldr r3, [r3, #0] 8062be6: 3301 adds r3, #1 8062be8: 4a32 ldr r2, [pc, #200] ; (8062cb4 ) 8062bea: 6013 str r3, [r2, #0] if(pardata.IPR == ACC) 8062bec: 4b26 ldr r3, [pc, #152] ; (8062c88 ) 8062bee: 785b ldrb r3, [r3, #1] 8062bf0: b2db uxtb r3, r3 8062bf2: 2b00 cmp r3, #0 8062bf4: f040 851d bne.w 8063632 { if(Threshold) 8062bf8: 4b22 ldr r3, [pc, #136] ; (8062c84 ) 8062bfa: 781b ldrb r3, [r3, #0] 8062bfc: b2db uxtb r3, r3 8062bfe: 2b00 cmp r3, #0 8062c00: f000 8498 beq.w 8063534 { if(timeRelax) 8062c04: 4b2c ldr r3, [pc, #176] ; (8062cb8 ) 8062c06: 681b ldr r3, [r3, #0] 8062c08: 2b00 cmp r3, #0 8062c0a: d01b beq.n 8062c44 { timeRelax--; 8062c0c: 4b2a ldr r3, [pc, #168] ; (8062cb8 ) 8062c0e: 681b ldr r3, [r3, #0] 8062c10: 3b01 subs r3, #1 8062c12: 4a29 ldr r2, [pc, #164] ; (8062cb8 ) 8062c14: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 8062c16: 4b1c ldr r3, [pc, #112] ; (8062c88 ) 8062c18: 785b ldrb r3, [r3, #1] 8062c1a: b2db uxtb r3, r3 8062c1c: 4618 mov r0, r3 8062c1e: 4b1a ldr r3, [pc, #104] ; (8062c88 ) 8062c20: 785b ldrb r3, [r3, #1] 8062c22: b2db uxtb r3, r3 8062c24: 4925 ldr r1, [pc, #148] ; (8062cbc ) 8062c26: 009a lsls r2, r3, #2 8062c28: 440a add r2, r1 8062c2a: f04f 0100 mov.w r1, #0 8062c2e: 6011 str r1, [r2, #0] 8062c30: 4a22 ldr r2, [pc, #136] ; (8062cbc ) 8062c32: 009b lsls r3, r3, #2 8062c34: 4413 add r3, r2 8062c36: 681a ldr r2, [r3, #0] 8062c38: 4921 ldr r1, [pc, #132] ; (8062cc0 ) 8062c3a: 0083 lsls r3, r0, #2 8062c3c: 440b add r3, r1 8062c3e: 601a str r2, [r3, #0] 8062c40: f000 be47 b.w 80638d2 } else { if(AutoStop == false) // åñëè ïðåâûøåíèÿ ïîðîãà íå áûëî 8062c44: 4b1f ldr r3, [pc, #124] ; (8062cc4 ) 8062c46: 781b ldrb r3, [r3, #0] 8062c48: b2db uxtb r3, r3 8062c4a: f083 0301 eor.w r3, r3, #1 8062c4e: b2db uxtb r3, r3 8062c50: 2b00 cmp r3, #0 8062c52: f000 8288 beq.w 8063166 { j = 0; 8062c56: 2300 movs r3, #0 8062c58: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc IndexAutoStop = 0xffffffff; 8062c5c: 4b1a ldr r3, [pc, #104] ; (8062cc8 ) 8062c5e: f04f 32ff mov.w r2, #4294967295 8062c62: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) 8062c64: 2300 movs r3, #0 8062c66: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8062c6a: e267 b.n 806313c 8062c6c: f3af 8000 nop.w 8062c70: 18000018 .word 0x18000018 8062c74: 3e980000 .word 0x3e980000 8062c78: 20021d20 .word 0x20021d20 8062c7c: 20020da8 .word 0x20020da8 8062c80: 20020d7e .word 0x20020d7e 8062c84: 20020db1 .word 0x20020db1 8062c88: 20023e60 .word 0x20023e60 8062c8c: 20021cdc .word 0x20021cdc 8062c90: 20020080 .word 0x20020080 8062c94: 20058020 .word 0x20058020 8062c98: 20037ae0 .word 0x20037ae0 8062c9c: 20026564 .word 0x20026564 8062ca0: 20025f00 .word 0x20025f00 8062ca4: 20008000 .word 0x20008000 8062ca8: 34400000 .word 0x34400000 8062cac: 200279c0 .word 0x200279c0 8062cb0: 200209cc .word 0x200209cc 8062cb4: 20020db8 .word 0x20020db8 8062cb8: 20020d6c .word 0x20020d6c 8062cbc: 2002154c .word 0x2002154c 8062cc0: 20021540 .word 0x20021540 8062cc4: 20021524 .word 0x20021524 8062cc8: 20021600 .word 0x20021600 { if(ABS(Out[i]) >= (pardata.THR_VAL - 0.05f)) 8062ccc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062cd0: 4a9c ldr r2, [pc, #624] ; (8062f44 ) 8062cd2: 009b lsls r3, r3, #2 8062cd4: 4413 add r3, r2 8062cd6: edd3 7a00 vldr s15, [r3] 8062cda: eef5 7ac0 vcmpe.f32 s15, #0.0 8062cde: eef1 fa10 vmrs APSR_nzcv, fpscr 8062ce2: dd07 ble.n 8062cf4 8062ce4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062ce8: 4a96 ldr r2, [pc, #600] ; (8062f44 ) 8062cea: 009b lsls r3, r3, #2 8062cec: 4413 add r3, r2 8062cee: edd3 7a00 vldr s15, [r3] 8062cf2: e008 b.n 8062d06 8062cf4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062cf8: 4a92 ldr r2, [pc, #584] ; (8062f44 ) 8062cfa: 009b lsls r3, r3, #2 8062cfc: 4413 add r3, r2 8062cfe: edd3 7a00 vldr s15, [r3] 8062d02: eef1 7a67 vneg.f32 s15, s15 8062d06: 4b90 ldr r3, [pc, #576] ; (8062f48 ) 8062d08: ed93 7a05 vldr s14, [r3, #20] 8062d0c: eddf 6a8f vldr s13, [pc, #572] ; 8062f4c 8062d10: ee37 7a66 vsub.f32 s14, s14, s13 8062d14: eef4 7ac7 vcmpe.f32 s15, s14 8062d18: eef1 fa10 vmrs APSR_nzcv, fpscr 8062d1c: f2c0 8206 blt.w 806312c { j++; 8062d20: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8062d24: 3301 adds r3, #1 8062d26: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(j >= 2) // åñëè ïðåâûøåíèå ïîðîãà áûëî ÈÑÒÈÃÃÃŽ 8062d2a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8062d2e: 2b01 cmp r3, #1 8062d30: f240 81ff bls.w 8063132 { IndexAutoStop = i - 1; 8062d34: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8062d38: 3b01 subs r3, #1 8062d3a: 4a85 ldr r2, [pc, #532] ; (8062f50 ) 8062d3c: 6013 str r3, [r2, #0] AutoStop = true; 8062d3e: 4b85 ldr r3, [pc, #532] ; (8062f54 ) 8062d40: 2201 movs r2, #1 8062d42: 701a strb r2, [r3, #0] if(IndexAutoStop <= (Ns >> 2)) // åñëè èíäåêñ ïîðîãà â âûáîðêå ìåíüøå èëè ðàâåí 1/4 Ns 8062d44: 4b84 ldr r3, [pc, #528] ; (8062f58 ) 8062d46: 681b ldr r3, [r3, #0] 8062d48: 089a lsrs r2, r3, #2 8062d4a: 4b81 ldr r3, [pc, #516] ; (8062f50 ) 8062d4c: 681b ldr r3, [r3, #0] 8062d4e: 429a cmp r2, r3 8062d50: f0c0 81e3 bcc.w 806311a { if(NSamples > 0) // åñëè ýòî íå ïåðâàÿ âûáîðêà 8062d54: 4b81 ldr r3, [pc, #516] ; (8062f5c ) 8062d56: 681b ldr r3, [r3, #0] 8062d58: 2b00 cmp r3, #0 8062d5a: d02f beq.n 8062dbc { k = IndexAutoStop + Ns; 8062d5c: 4b7c ldr r3, [pc, #496] ; (8062f50 ) 8062d5e: 681a ldr r2, [r3, #0] 8062d60: 4b7d ldr r3, [pc, #500] ; (8062f58 ) 8062d62: 681b ldr r3, [r3, #0] 8062d64: 4413 add r3, r2 8062d66: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 k -= (Ns >> 2); 8062d6a: 4b7b ldr r3, [pc, #492] ; (8062f58 ) 8062d6c: 681b ldr r3, [r3, #0] 8062d6e: 089b lsrs r3, r3, #2 8062d70: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8062d74: 1ad3 subs r3, r2, r3 8062d76: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 blockSize = Ns - k; 8062d7a: 4b77 ldr r3, [pc, #476] ; (8062f58 ) 8062d7c: 681a ldr r2, [r3, #0] 8062d7e: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062d82: 1ad3 subs r3, r2, r3 8062d84: f8c7 3220 str.w r3, [r7, #544] ; 0x220 DMA_MemToMem_HALFWORD((uint32_t) &ScrA_f32(k), (uint32_t) In, (blockSize << 1)); __DSB(); __ISB(); DMA_MemToMem_HALFWORD((uint32_t) Out, (uint32_t) &In[blockSize], (k << 1)); #else memcpy((void *) In, (void *) &ScrA_f32(k), (blockSize << 2)); 8062d88: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062d8c: 009a lsls r2, r3, #2 8062d8e: 4b74 ldr r3, [pc, #464] ; (8062f60 ) 8062d90: 4413 add r3, r2 8062d92: 4619 mov r1, r3 8062d94: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8062d98: 009b lsls r3, r3, #2 8062d9a: 461a mov r2, r3 8062d9c: 4871 ldr r0, [pc, #452] ; (8062f64 ) 8062d9e: f06a f964 bl 80cd06a memcpy((void *) &In[blockSize], (void *) Out, (k << 2)); 8062da2: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8062da6: 009b lsls r3, r3, #2 8062da8: 4a6e ldr r2, [pc, #440] ; (8062f64 ) 8062daa: 1898 adds r0, r3, r2 8062dac: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8062db0: 009b lsls r3, r3, #2 8062db2: 461a mov r2, r3 8062db4: 4963 ldr r1, [pc, #396] ; (8062f44 ) 8062db6: f06a f958 bl 80cd06a 8062dba: e007 b.n 8062dcc else // ýòî ïåðâàÿ âûáîðêà, ñðàçó ðèñóåì è îñòàíàâëèâàåì { #ifdef USE_DMA_MEMCPY DMA_MemToMem_HALFWORD((uint32_t) Out, (uint32_t) In, (Ns << 1)); #else memcpy((void *) In, (void *) Out, (Ns << 2)); 8062dbc: 4b66 ldr r3, [pc, #408] ; (8062f58 ) 8062dbe: 681b ldr r3, [r3, #0] 8062dc0: 009b lsls r3, r3, #2 8062dc2: 461a mov r2, r3 8062dc4: 495f ldr r1, [pc, #380] ; (8062f44 ) 8062dc6: 4867 ldr r0, [pc, #412] ; (8062f64 ) 8062dc8: f06a f94f bl 80cd06a #endif } NeedSTOP = true; 8062dcc: 4b66 ldr r3, [pc, #408] ; (8062f68 ) 8062dce: 2201 movs r2, #1 8062dd0: 701a strb r2, [r3, #0] arm_max_f32(In, Ns, &maxf, &imax); 8062dd2: 4b61 ldr r3, [pc, #388] ; (8062f58 ) 8062dd4: 6819 ldr r1, [r3, #0] 8062dd6: f507 73e0 add.w r3, r7, #448 ; 0x1c0 8062dda: f507 7288 add.w r2, r7, #272 ; 0x110 8062dde: 4861 ldr r0, [pc, #388] ; (8062f64 ) 8062de0: f067 f988 bl 80ca0f4 arm_min_f32(In, Ns, &minf, &imin); 8062de4: 4b5c ldr r3, [pc, #368] ; (8062f58 ) 8062de6: 6819 ldr r1, [r3, #0] 8062de8: f507 73e2 add.w r3, r7, #452 ; 0x1c4 8062dec: f507 728a add.w r2, r7, #276 ; 0x114 8062df0: 485c ldr r0, [pc, #368] ; (8062f64 ) 8062df2: f067 f8e3 bl 80c9fbc //*********************************************************************************************** if(ABS(minf) > ABS(maxf)) 8062df6: f507 738a add.w r3, r7, #276 ; 0x114 8062dfa: edd3 7a00 vldr s15, [r3] 8062dfe: eef5 7ac0 vcmpe.f32 s15, #0.0 8062e02: eef1 fa10 vmrs APSR_nzcv, fpscr 8062e06: dd04 ble.n 8062e12 8062e08: f507 738a add.w r3, r7, #276 ; 0x114 8062e0c: ed93 7a00 vldr s14, [r3] 8062e10: e005 b.n 8062e1e 8062e12: f507 738a add.w r3, r7, #276 ; 0x114 8062e16: edd3 7a00 vldr s15, [r3] 8062e1a: eeb1 7a67 vneg.f32 s14, s15 8062e1e: f507 7388 add.w r3, r7, #272 ; 0x110 8062e22: edd3 7a00 vldr s15, [r3] 8062e26: eef5 7ac0 vcmpe.f32 s15, #0.0 8062e2a: eef1 fa10 vmrs APSR_nzcv, fpscr 8062e2e: dd04 ble.n 8062e3a 8062e30: f507 7388 add.w r3, r7, #272 ; 0x110 8062e34: edd3 7a00 vldr s15, [r3] 8062e38: e005 b.n 8062e46 8062e3a: f507 7388 add.w r3, r7, #272 ; 0x110 8062e3e: edd3 7a00 vldr s15, [r3] 8062e42: eef1 7a67 vneg.f32 s15, s15 8062e46: eeb4 7ae7 vcmpe.f32 s14, s15 8062e4a: eef1 fa10 vmrs APSR_nzcv, fpscr 8062e4e: dd03 ble.n 8062e58 imax = imin; 8062e50: f8d7 31c4 ldr.w r3, [r7, #452] ; 0x1c4 8062e54: f8c7 31c0 str.w r3, [r7, #448] ; 0x1c0 while(ViewLevel > 0) 8062e58: e11c b.n 8063094 { lvl_0 = 0; 8062e5a: 2300 movs r3, #0 8062e5c: f8c7 31fc str.w r3, [r7, #508] ; 0x1fc MaxLevel = 6; 8062e60: 2306 movs r3, #6 8062e62: f8a7 31f8 strh.w r3, [r7, #504] ; 0x1f8 dXold = Avg[0][5 * ViewLevel + pardata.LNE]; 8062e66: 4b41 ldr r3, [pc, #260] ; (8062f6c ) 8062e68: 781b ldrb r3, [r3, #0] 8062e6a: b2db uxtb r3, r3 8062e6c: 461a mov r2, r3 8062e6e: 4613 mov r3, r2 8062e70: 009b lsls r3, r3, #2 8062e72: 4413 add r3, r2 8062e74: 4a34 ldr r2, [pc, #208] ; (8062f48 ) 8062e76: 79d2 ldrb r2, [r2, #7] 8062e78: b2d2 uxtb r2, r2 8062e7a: 4413 add r3, r2 8062e7c: 4a3c ldr r2, [pc, #240] ; (8062f70 ) 8062e7e: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8062e82: f8a7 31e2 strh.w r3, [r7, #482] ; 0x1e2 if(ViewLevel) 8062e86: 4b39 ldr r3, [pc, #228] ; (8062f6c ) 8062e88: 781b ldrb r3, [r3, #0] 8062e8a: b2db uxtb r3, r3 8062e8c: 2b00 cmp r3, #0 8062e8e: f000 8101 beq.w 8063094 { ViewLevel--; 8062e92: 4b36 ldr r3, [pc, #216] ; (8062f6c ) 8062e94: 781b ldrb r3, [r3, #0] 8062e96: b2db uxtb r3, r3 8062e98: 3b01 subs r3, #1 8062e9a: b2da uxtb r2, r3 8062e9c: 4b33 ldr r3, [pc, #204] ; (8062f6c ) 8062e9e: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 8062ea0: 4b32 ldr r3, [pc, #200] ; (8062f6c ) 8062ea2: 781b ldrb r3, [r3, #0] 8062ea4: b2db uxtb r3, r3 8062ea6: 461a mov r2, r3 8062ea8: 4613 mov r3, r2 8062eaa: 009b lsls r3, r3, #2 8062eac: 4413 add r3, r2 8062eae: 4a26 ldr r2, [pc, #152] ; (8062f48 ) 8062eb0: 79d2 ldrb r2, [r2, #7] 8062eb2: b2d2 uxtb r2, r2 8062eb4: 4413 add r3, r2 8062eb6: 4a2e ldr r2, [pc, #184] ; (8062f70 ) 8062eb8: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8062ebc: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa if(ViewLevel == 0) 8062ec0: 4b2a ldr r3, [pc, #168] ; (8062f6c ) 8062ec2: 781b ldrb r3, [r3, #0] 8062ec4: b2db uxtb r3, r3 8062ec6: 2b00 cmp r3, #0 8062ec8: d130 bne.n 8062f2c { X0 = lX = 0; 8062eca: 2100 movs r1, #0 8062ecc: 4b29 ldr r3, [pc, #164] ; (8062f74 ) 8062ece: 460a mov r2, r1 8062ed0: 801a strh r2, [r3, #0] 8062ed2: 4b29 ldr r3, [pc, #164] ; (8062f78 ) 8062ed4: 460a mov r2, r1 8062ed6: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 8062ed8: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8062edc: 021b lsls r3, r3, #8 8062ede: b29a uxth r2, r3 8062ee0: 4b24 ldr r3, [pc, #144] ; (8062f74 ) 8062ee2: 881b ldrh r3, [r3, #0] 8062ee4: b29b uxth r3, r3 8062ee6: 4413 add r3, r2 8062ee8: b29a uxth r2, r3 8062eea: 4b24 ldr r3, [pc, #144] ; (8062f7c ) 8062eec: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8062eee: 4b24 ldr r3, [pc, #144] ; (8062f80 ) 8062ef0: 881b ldrh r3, [r3, #0] 8062ef2: b29b uxth r3, r3 8062ef4: 461a mov r2, r3 8062ef6: 4b1f ldr r3, [pc, #124] ; (8062f74 ) 8062ef8: 881b ldrh r3, [r3, #0] 8062efa: b29b uxth r3, r3 8062efc: 1ad2 subs r2, r2, r3 8062efe: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8062f02: fb92 f3f3 sdiv r3, r2, r3 8062f06: 461a mov r2, r3 8062f08: 4b1e ldr r3, [pc, #120] ; (8062f84 ) 8062f0a: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8062f0c: 4b1d ldr r3, [pc, #116] ; (8062f84 ) 8062f0e: 681b ldr r3, [r3, #0] 8062f10: b29b uxth r3, r3 8062f12: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8062f16: fb12 f303 smulbb r3, r2, r3 8062f1a: b29a uxth r2, r3 8062f1c: 4b16 ldr r3, [pc, #88] ; (8062f78 ) 8062f1e: 881b ldrh r3, [r3, #0] 8062f20: b29b uxth r3, r3 8062f22: 4413 add r3, r2 8062f24: b29a uxth r2, r3 8062f26: 4b18 ldr r3, [pc, #96] ; (8062f88 ) 8062f28: 801a strh r2, [r3, #0] 8062f2a: e0b3 b.n 8063094 } else { if(CURSOR * dX > Mpos) 8062f2c: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8062f30: 4a14 ldr r2, [pc, #80] ; (8062f84 ) 8062f32: 6812 ldr r2, [r2, #0] 8062f34: fb02 f303 mul.w r3, r2, r3 8062f38: 4a13 ldr r2, [pc, #76] ; (8062f88 ) 8062f3a: 8812 ldrh r2, [r2, #0] 8062f3c: b292 uxth r2, r2 8062f3e: 4293 cmp r3, r2 8062f40: d943 bls.n 8062fca { while(CURSOR * dX > Mpos) 8062f42: e028 b.n 8062f96 8062f44: 20008000 .word 0x20008000 8062f48: 20023e60 .word 0x20023e60 8062f4c: 3d4ccccd .word 0x3d4ccccd 8062f50: 20021600 .word 0x20021600 8062f54: 20021524 .word 0x20021524 8062f58: 20021cdc .word 0x20021cdc 8062f5c: 20020d88 .word 0x20020d88 8062f60: 64080000 .word 0x64080000 8062f64: 200279c0 .word 0x200279c0 8062f68: 20020f7e .word 0x20020f7e 8062f6c: 20020f74 .word 0x20020f74 8062f70: 080eeaac .word 0x080eeaac 8062f74: 20025d1a .word 0x20025d1a 8062f78: 20025d1e .word 0x20025d1e 8062f7c: 20025d20 .word 0x20025d20 8062f80: 20025d1c .word 0x20025d1c 8062f84: 2002006c .word 0x2002006c 8062f88: 20025d16 .word 0x20025d16 CURSOR--; 8062f8c: 4baf ldr r3, [pc, #700] ; (806324c ) 8062f8e: 681b ldr r3, [r3, #0] 8062f90: 3b01 subs r3, #1 8062f92: 4aae ldr r2, [pc, #696] ; (806324c ) 8062f94: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 8062f96: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8062f9a: 4aac ldr r2, [pc, #688] ; (806324c ) 8062f9c: 6812 ldr r2, [r2, #0] 8062f9e: fb02 f303 mul.w r3, r2, r3 8062fa2: 4aab ldr r2, [pc, #684] ; (8063250 ) 8062fa4: 8812 ldrh r2, [r2, #0] 8062fa6: b292 uxth r2, r2 8062fa8: 4293 cmp r3, r2 8062faa: d8ef bhi.n 8062f8c Mpos = X0 + CURSOR * dX; 8062fac: 4ba7 ldr r3, [pc, #668] ; (806324c ) 8062fae: 681b ldr r3, [r3, #0] 8062fb0: b29b uxth r3, r3 8062fb2: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8062fb6: fb12 f303 smulbb r3, r2, r3 8062fba: b29a uxth r2, r3 8062fbc: 4ba5 ldr r3, [pc, #660] ; (8063254 ) 8062fbe: 881b ldrh r3, [r3, #0] 8062fc0: b29b uxth r3, r3 8062fc2: 4413 add r3, r2 8062fc4: b29a uxth r2, r3 8062fc6: 4ba2 ldr r3, [pc, #648] ; (8063250 ) 8062fc8: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 8062fca: 4ba1 ldr r3, [pc, #644] ; (8063250 ) 8062fcc: 881b ldrh r3, [r3, #0] 8062fce: b29b uxth r3, r3 8062fd0: 4619 mov r1, r3 8062fd2: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8062fd6: 4a9d ldr r2, [pc, #628] ; (806324c ) 8062fd8: 6812 ldr r2, [r2, #0] 8062fda: fb02 f303 mul.w r3, r2, r3 8062fde: 1acb subs r3, r1, r3 8062fe0: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 j = 256 * dX; 8062fe4: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8062fe8: 021b lsls r3, r3, #8 8062fea: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc k = 256 * Avg[0][5 * lvl_0 + pardata.LNE]; // 3200 8062fee: f8d7 21fc ldr.w r2, [r7, #508] ; 0x1fc 8062ff2: 4613 mov r3, r2 8062ff4: 009b lsls r3, r3, #2 8062ff6: 4413 add r3, r2 8062ff8: 4a97 ldr r2, [pc, #604] ; (8063258 ) 8062ffa: 79d2 ldrb r2, [r2, #7] 8062ffc: b2d2 uxtb r2, r2 8062ffe: 4413 add r3, r2 8063000: 4a96 ldr r2, [pc, #600] ; (806325c ) 8063002: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 8063006: 021b lsls r3, r3, #8 8063008: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 while(i + j > k) { 806300c: e006 b.n 806301c i -= dXold; 806300e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063012: f8b7 31e2 ldrh.w r3, [r7, #482] ; 0x1e2 8063016: 1ad3 subs r3, r2, r3 8063018: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i + j > k) { 806301c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063020: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063024: 441a add r2, r3 8063026: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806302a: 429a cmp r2, r3 806302c: d8ef bhi.n 806300e } X0 = (uint16_t) i; 806302e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063032: b29a uxth r2, r3 8063034: 4b87 ldr r3, [pc, #540] ; (8063254 ) 8063036: 801a strh r2, [r3, #0] lX = X0; 8063038: 4b86 ldr r3, [pc, #536] ; (8063254 ) 806303a: 881b ldrh r3, [r3, #0] 806303c: b29a uxth r2, r3 806303e: 4b88 ldr r3, [pc, #544] ; (8063260 ) 8063040: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 8063042: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063046: 021b lsls r3, r3, #8 8063048: b29a uxth r2, r3 806304a: 4b85 ldr r3, [pc, #532] ; (8063260 ) 806304c: 881b ldrh r3, [r3, #0] 806304e: b29b uxth r3, r3 8063050: 4413 add r3, r2 8063052: b29a uxth r2, r3 8063054: 4b83 ldr r3, [pc, #524] ; (8063264 ) 8063056: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8063058: 4b83 ldr r3, [pc, #524] ; (8063268 ) 806305a: 881b ldrh r3, [r3, #0] 806305c: b29b uxth r3, r3 806305e: 461a mov r2, r3 8063060: 4b7f ldr r3, [pc, #508] ; (8063260 ) 8063062: 881b ldrh r3, [r3, #0] 8063064: b29b uxth r3, r3 8063066: 1ad2 subs r2, r2, r3 8063068: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 806306c: fb92 f3f3 sdiv r3, r2, r3 8063070: 461a mov r2, r3 8063072: 4b76 ldr r3, [pc, #472] ; (806324c ) 8063074: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8063076: 4b75 ldr r3, [pc, #468] ; (806324c ) 8063078: 681b ldr r3, [r3, #0] 806307a: b29b uxth r3, r3 806307c: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8063080: fb12 f303 smulbb r3, r2, r3 8063084: b29a uxth r2, r3 8063086: 4b73 ldr r3, [pc, #460] ; (8063254 ) 8063088: 881b ldrh r3, [r3, #0] 806308a: b29b uxth r3, r3 806308c: 4413 add r3, r2 806308e: b29a uxth r2, r3 8063090: 4b6f ldr r3, [pc, #444] ; (8063250 ) 8063092: 801a strh r2, [r3, #0] while(ViewLevel > 0) 8063094: 4b75 ldr r3, [pc, #468] ; (806326c ) 8063096: 781b ldrb r3, [r3, #0] 8063098: b2db uxtb r3, r3 806309a: 2b00 cmp r3, #0 806309c: f47f aedd bne.w 8062e5a } } } dX = Avg[0][5 * ViewLevel + pardata.LNE]; 80630a0: 4b72 ldr r3, [pc, #456] ; (806326c ) 80630a2: 781b ldrb r3, [r3, #0] 80630a4: b2db uxtb r3, r3 80630a6: 461a mov r2, r3 80630a8: 4613 mov r3, r2 80630aa: 009b lsls r3, r3, #2 80630ac: 4413 add r3, r2 80630ae: 4a6a ldr r2, [pc, #424] ; (8063258 ) 80630b0: 79d2 ldrb r2, [r2, #7] 80630b2: b2d2 uxtb r2, r2 80630b4: 4413 add r3, r2 80630b6: 4a69 ldr r2, [pc, #420] ; (806325c ) 80630b8: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80630bc: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa fineMpos = imax; 80630c0: f8d7 31c0 ldr.w r3, [r7, #448] ; 0x1c0 80630c4: b29a uxth r2, r3 80630c6: 4b68 ldr r3, [pc, #416] ; (8063268 ) 80630c8: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 80630ca: 4b67 ldr r3, [pc, #412] ; (8063268 ) 80630cc: 881b ldrh r3, [r3, #0] 80630ce: b29b uxth r3, r3 80630d0: 461a mov r2, r3 80630d2: 4b63 ldr r3, [pc, #396] ; (8063260 ) 80630d4: 881b ldrh r3, [r3, #0] 80630d6: b29b uxth r3, r3 80630d8: 1ad2 subs r2, r2, r3 80630da: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 80630de: fb92 f3f3 sdiv r3, r2, r3 80630e2: 461a mov r2, r3 80630e4: 4b59 ldr r3, [pc, #356] ; (806324c ) 80630e6: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 80630e8: 4b58 ldr r3, [pc, #352] ; (806324c ) 80630ea: 681b ldr r3, [r3, #0] 80630ec: b29b uxth r3, r3 80630ee: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 80630f2: fb12 f303 smulbb r3, r2, r3 80630f6: b29a uxth r2, r3 80630f8: 4b56 ldr r3, [pc, #344] ; (8063254 ) 80630fa: 881b ldrh r3, [r3, #0] 80630fc: b29b uxth r3, r3 80630fe: 4413 add r3, r2 8063100: b29a uxth r2, r3 8063102: 4b53 ldr r3, [pc, #332] ; (8063250 ) 8063104: 801a strh r2, [r3, #0] AUTOZOOM = true; 8063106: 4b5a ldr r3, [pc, #360] ; (8063270 ) 8063108: 2201 movs r2, #1 806310a: 701a strb r2, [r3, #0] lastmenupos = StartStop; 806310c: 4b59 ldr r3, [pc, #356] ; (8063274 ) 806310e: 2200 movs r2, #0 8063110: 701a strb r2, [r3, #0] menupos = Cursor; 8063112: 4b59 ldr r3, [pc, #356] ; (8063278 ) 8063114: 2206 movs r2, #6 8063116: 701a strb r2, [r3, #0] #else memcpy((void *) In, (void *) Out, (Ns << 2)); #endif } break; 8063118: e017 b.n 806314a memcpy((void *) In, (void *) Out, (Ns << 2)); 806311a: 4b58 ldr r3, [pc, #352] ; (806327c ) 806311c: 681b ldr r3, [r3, #0] 806311e: 009b lsls r3, r3, #2 8063120: 461a mov r2, r3 8063122: 4957 ldr r1, [pc, #348] ; (8063280 ) 8063124: 4857 ldr r0, [pc, #348] ; (8063284 ) 8063126: f069 ffa0 bl 80cd06a break; 806312a: e00e b.n 806314a } } else { j = 0; 806312c: 2300 movs r3, #0 806312e: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < Ns; i++) 8063132: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063136: 3301 adds r3, #1 8063138: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806313c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063140: 4b4e ldr r3, [pc, #312] ; (806327c ) 8063142: 681b ldr r3, [r3, #0] 8063144: 429a cmp r2, r3 8063146: f4ff adc1 bcc.w 8062ccc } } if(j < 2) 806314a: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 806314e: 2b01 cmp r3, #1 8063150: f200 81db bhi.w 806350a { #ifdef USE_DMA_MEMCPY DMA_MemToMem_HALFWORD((uint32_t) Out, (uint32_t) In, (Ns << 1)); #else memcpy((void *) In, (void *) Out, (Ns << 2)); 8063154: 4b49 ldr r3, [pc, #292] ; (806327c ) 8063156: 681b ldr r3, [r3, #0] 8063158: 009b lsls r3, r3, #2 806315a: 461a mov r2, r3 806315c: 4948 ldr r1, [pc, #288] ; (8063280 ) 806315e: 4849 ldr r0, [pc, #292] ; (8063284 ) 8063160: f069 ff83 bl 80cd06a 8063164: e1d1 b.n 806350a #endif } } else // åñëè áûëî ïðåâûøåíèÿ ïîðîãà â ïðåäûäóùåé âûáîðêå { k = IndexAutoStop; 8063166: 4b48 ldr r3, [pc, #288] ; (8063288 ) 8063168: 681b ldr r3, [r3, #0] 806316a: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 k -= (Ns >> 2); 806316e: 4b43 ldr r3, [pc, #268] ; (806327c ) 8063170: 681b ldr r3, [r3, #0] 8063172: 089b lsrs r3, r3, #2 8063174: f8d7 21c8 ldr.w r2, [r7, #456] ; 0x1c8 8063178: 1ad3 subs r3, r2, r3 806317a: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 blockSize = Ns - k; 806317e: 4b3f ldr r3, [pc, #252] ; (806327c ) 8063180: 681a ldr r2, [r3, #0] 8063182: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8063186: 1ad3 subs r3, r2, r3 8063188: f8c7 3220 str.w r3, [r7, #544] ; 0x220 DMA_MemToMem_HALFWORD((uint32_t) &ScrA_f32(k), (uint32_t) In, (blockSize << 1)); __DSB(); __ISB(); DMA_MemToMem_HALFWORD((uint32_t) Out, (uint32_t) &In[blockSize], (k << 1)); #else memcpy((void *) In, (void *) &ScrA_f32(k), (blockSize << 2)); 806318c: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 8063190: 009a lsls r2, r3, #2 8063192: 4b3e ldr r3, [pc, #248] ; (806328c ) 8063194: 4413 add r3, r2 8063196: 4619 mov r1, r3 8063198: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 806319c: 009b lsls r3, r3, #2 806319e: 461a mov r2, r3 80631a0: 4838 ldr r0, [pc, #224] ; (8063284 ) 80631a2: f069 ff62 bl 80cd06a memcpy((void *) &In[blockSize], (void *) Out, (k << 2)); 80631a6: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 80631aa: 009b lsls r3, r3, #2 80631ac: 4a35 ldr r2, [pc, #212] ; (8063284 ) 80631ae: 1898 adds r0, r3, r2 80631b0: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 80631b4: 009b lsls r3, r3, #2 80631b6: 461a mov r2, r3 80631b8: 4931 ldr r1, [pc, #196] ; (8063280 ) 80631ba: f069 ff56 bl 80cd06a #endif NeedSTOP = true; 80631be: 4b34 ldr r3, [pc, #208] ; (8063290 ) 80631c0: 2201 movs r2, #1 80631c2: 701a strb r2, [r3, #0] arm_max_f32(In, Ns, &maxf, &imax); 80631c4: 4b2d ldr r3, [pc, #180] ; (806327c ) 80631c6: 6819 ldr r1, [r3, #0] 80631c8: f507 73e0 add.w r3, r7, #448 ; 0x1c0 80631cc: f507 7288 add.w r2, r7, #272 ; 0x110 80631d0: 482c ldr r0, [pc, #176] ; (8063284 ) 80631d2: f066 ff8f bl 80ca0f4 arm_min_f32(In, Ns, &minf, &imin); 80631d6: 4b29 ldr r3, [pc, #164] ; (806327c ) 80631d8: 6819 ldr r1, [r3, #0] 80631da: f507 73e2 add.w r3, r7, #452 ; 0x1c4 80631de: f507 728a add.w r2, r7, #276 ; 0x114 80631e2: 4828 ldr r0, [pc, #160] ; (8063284 ) 80631e4: f066 feea bl 80c9fbc //*********************************************************************************************** if(ABS(minf) > ABS(maxf)) 80631e8: f507 738a add.w r3, r7, #276 ; 0x114 80631ec: edd3 7a00 vldr s15, [r3] 80631f0: eef5 7ac0 vcmpe.f32 s15, #0.0 80631f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80631f8: dd04 ble.n 8063204 80631fa: f507 738a add.w r3, r7, #276 ; 0x114 80631fe: ed93 7a00 vldr s14, [r3] 8063202: e005 b.n 8063210 8063204: f507 738a add.w r3, r7, #276 ; 0x114 8063208: edd3 7a00 vldr s15, [r3] 806320c: eeb1 7a67 vneg.f32 s14, s15 8063210: f507 7388 add.w r3, r7, #272 ; 0x110 8063214: edd3 7a00 vldr s15, [r3] 8063218: eef5 7ac0 vcmpe.f32 s15, #0.0 806321c: eef1 fa10 vmrs APSR_nzcv, fpscr 8063220: dd04 ble.n 806322c 8063222: f507 7388 add.w r3, r7, #272 ; 0x110 8063226: edd3 7a00 vldr s15, [r3] 806322a: e005 b.n 8063238 806322c: f507 7388 add.w r3, r7, #272 ; 0x110 8063230: edd3 7a00 vldr s15, [r3] 8063234: eef1 7a67 vneg.f32 s15, s15 8063238: eeb4 7ae7 vcmpe.f32 s14, s15 806323c: eef1 fa10 vmrs APSR_nzcv, fpscr 8063240: dd03 ble.n 806324a imax = imin; 8063242: f8d7 31c4 ldr.w r3, [r7, #452] ; 0x1c4 8063246: f8c7 31c0 str.w r3, [r7, #448] ; 0x1c0 while(ViewLevel > 0) 806324a: e11c b.n 8063486 806324c: 2002006c .word 0x2002006c 8063250: 20025d16 .word 0x20025d16 8063254: 20025d1e .word 0x20025d1e 8063258: 20023e60 .word 0x20023e60 806325c: 080eeaac .word 0x080eeaac 8063260: 20025d1a .word 0x20025d1a 8063264: 20025d20 .word 0x20025d20 8063268: 20025d1c .word 0x20025d1c 806326c: 20020f74 .word 0x20020f74 8063270: 2002098c .word 0x2002098c 8063274: 20020071 .word 0x20020071 8063278: 20020070 .word 0x20020070 806327c: 20021cdc .word 0x20021cdc 8063280: 20008000 .word 0x20008000 8063284: 200279c0 .word 0x200279c0 8063288: 20021600 .word 0x20021600 806328c: 64080000 .word 0x64080000 8063290: 20020f7e .word 0x20020f7e { lvl_0 = 0; 8063294: 2300 movs r3, #0 8063296: f8c7 31fc str.w r3, [r7, #508] ; 0x1fc MaxLevel = 6; 806329a: 2306 movs r3, #6 806329c: f8a7 31f8 strh.w r3, [r7, #504] ; 0x1f8 dXold = Avg[0][5 * ViewLevel + pardata.LNE]; 80632a0: 4ba6 ldr r3, [pc, #664] ; (806353c ) 80632a2: 781b ldrb r3, [r3, #0] 80632a4: b2db uxtb r3, r3 80632a6: 461a mov r2, r3 80632a8: 4613 mov r3, r2 80632aa: 009b lsls r3, r3, #2 80632ac: 4413 add r3, r2 80632ae: 4aa4 ldr r2, [pc, #656] ; (8063540 ) 80632b0: 79d2 ldrb r2, [r2, #7] 80632b2: b2d2 uxtb r2, r2 80632b4: 4413 add r3, r2 80632b6: 4aa3 ldr r2, [pc, #652] ; (8063544 ) 80632b8: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80632bc: f8a7 31e2 strh.w r3, [r7, #482] ; 0x1e2 if(ViewLevel) 80632c0: 4b9e ldr r3, [pc, #632] ; (806353c ) 80632c2: 781b ldrb r3, [r3, #0] 80632c4: b2db uxtb r3, r3 80632c6: 2b00 cmp r3, #0 80632c8: f000 80dd beq.w 8063486 { ViewLevel--; 80632cc: 4b9b ldr r3, [pc, #620] ; (806353c ) 80632ce: 781b ldrb r3, [r3, #0] 80632d0: b2db uxtb r3, r3 80632d2: 3b01 subs r3, #1 80632d4: b2da uxtb r2, r3 80632d6: 4b99 ldr r3, [pc, #612] ; (806353c ) 80632d8: 701a strb r2, [r3, #0] dX = Avg[0][5 * ViewLevel + pardata.LNE]; 80632da: 4b98 ldr r3, [pc, #608] ; (806353c ) 80632dc: 781b ldrb r3, [r3, #0] 80632de: b2db uxtb r3, r3 80632e0: 461a mov r2, r3 80632e2: 4613 mov r3, r2 80632e4: 009b lsls r3, r3, #2 80632e6: 4413 add r3, r2 80632e8: 4a95 ldr r2, [pc, #596] ; (8063540 ) 80632ea: 79d2 ldrb r2, [r2, #7] 80632ec: b2d2 uxtb r2, r2 80632ee: 4413 add r3, r2 80632f0: 4a94 ldr r2, [pc, #592] ; (8063544 ) 80632f2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80632f6: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa if(ViewLevel == 0) 80632fa: 4b90 ldr r3, [pc, #576] ; (806353c ) 80632fc: 781b ldrb r3, [r3, #0] 80632fe: b2db uxtb r3, r3 8063300: 2b00 cmp r3, #0 8063302: d130 bne.n 8063366 { X0 = lX = 0; 8063304: 2100 movs r1, #0 8063306: 4b90 ldr r3, [pc, #576] ; (8063548 ) 8063308: 460a mov r2, r1 806330a: 801a strh r2, [r3, #0] 806330c: 4b8f ldr r3, [pc, #572] ; (806354c ) 806330e: 460a mov r2, r1 8063310: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 8063312: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063316: 021b lsls r3, r3, #8 8063318: b29a uxth r2, r3 806331a: 4b8b ldr r3, [pc, #556] ; (8063548 ) 806331c: 881b ldrh r3, [r3, #0] 806331e: b29b uxth r3, r3 8063320: 4413 add r3, r2 8063322: b29a uxth r2, r3 8063324: 4b8a ldr r3, [pc, #552] ; (8063550 ) 8063326: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 8063328: 4b8a ldr r3, [pc, #552] ; (8063554 ) 806332a: 881b ldrh r3, [r3, #0] 806332c: b29b uxth r3, r3 806332e: 461a mov r2, r3 8063330: 4b85 ldr r3, [pc, #532] ; (8063548 ) 8063332: 881b ldrh r3, [r3, #0] 8063334: b29b uxth r3, r3 8063336: 1ad2 subs r2, r2, r3 8063338: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 806333c: fb92 f3f3 sdiv r3, r2, r3 8063340: 461a mov r2, r3 8063342: 4b85 ldr r3, [pc, #532] ; (8063558 ) 8063344: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8063346: 4b84 ldr r3, [pc, #528] ; (8063558 ) 8063348: 681b ldr r3, [r3, #0] 806334a: b29b uxth r3, r3 806334c: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8063350: fb12 f303 smulbb r3, r2, r3 8063354: b29a uxth r2, r3 8063356: 4b7d ldr r3, [pc, #500] ; (806354c ) 8063358: 881b ldrh r3, [r3, #0] 806335a: b29b uxth r3, r3 806335c: 4413 add r3, r2 806335e: b29a uxth r2, r3 8063360: 4b7e ldr r3, [pc, #504] ; (806355c ) 8063362: 801a strh r2, [r3, #0] 8063364: e08f b.n 8063486 } else { if(CURSOR * dX > Mpos) 8063366: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 806336a: 4a7b ldr r2, [pc, #492] ; (8063558 ) 806336c: 6812 ldr r2, [r2, #0] 806336e: fb02 f303 mul.w r3, r2, r3 8063372: 4a7a ldr r2, [pc, #488] ; (806355c ) 8063374: 8812 ldrh r2, [r2, #0] 8063376: b292 uxth r2, r2 8063378: 4293 cmp r3, r2 806337a: d91f bls.n 80633bc { while(CURSOR * dX > Mpos) 806337c: e004 b.n 8063388 CURSOR--; 806337e: 4b76 ldr r3, [pc, #472] ; (8063558 ) 8063380: 681b ldr r3, [r3, #0] 8063382: 3b01 subs r3, #1 8063384: 4a74 ldr r2, [pc, #464] ; (8063558 ) 8063386: 6013 str r3, [r2, #0] while(CURSOR * dX > Mpos) 8063388: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 806338c: 4a72 ldr r2, [pc, #456] ; (8063558 ) 806338e: 6812 ldr r2, [r2, #0] 8063390: fb02 f303 mul.w r3, r2, r3 8063394: 4a71 ldr r2, [pc, #452] ; (806355c ) 8063396: 8812 ldrh r2, [r2, #0] 8063398: b292 uxth r2, r2 806339a: 4293 cmp r3, r2 806339c: d8ef bhi.n 806337e Mpos = X0 + CURSOR * dX; 806339e: 4b6e ldr r3, [pc, #440] ; (8063558 ) 80633a0: 681b ldr r3, [r3, #0] 80633a2: b29b uxth r3, r3 80633a4: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 80633a8: fb12 f303 smulbb r3, r2, r3 80633ac: b29a uxth r2, r3 80633ae: 4b67 ldr r3, [pc, #412] ; (806354c ) 80633b0: 881b ldrh r3, [r3, #0] 80633b2: b29b uxth r3, r3 80633b4: 4413 add r3, r2 80633b6: b29a uxth r2, r3 80633b8: 4b68 ldr r3, [pc, #416] ; (806355c ) 80633ba: 801a strh r2, [r3, #0] } i = Mpos - CURSOR * dX; 80633bc: 4b67 ldr r3, [pc, #412] ; (806355c ) 80633be: 881b ldrh r3, [r3, #0] 80633c0: b29b uxth r3, r3 80633c2: 4619 mov r1, r3 80633c4: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 80633c8: 4a63 ldr r2, [pc, #396] ; (8063558 ) 80633ca: 6812 ldr r2, [r2, #0] 80633cc: fb02 f303 mul.w r3, r2, r3 80633d0: 1acb subs r3, r1, r3 80633d2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 j = 256 * dX; 80633d6: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 80633da: 021b lsls r3, r3, #8 80633dc: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc k = 256 * Avg[0][5 * lvl_0 + pardata.LNE]; // 3200 80633e0: f8d7 21fc ldr.w r2, [r7, #508] ; 0x1fc 80633e4: 4613 mov r3, r2 80633e6: 009b lsls r3, r3, #2 80633e8: 4413 add r3, r2 80633ea: 4a55 ldr r2, [pc, #340] ; (8063540 ) 80633ec: 79d2 ldrb r2, [r2, #7] 80633ee: b2d2 uxtb r2, r2 80633f0: 4413 add r3, r2 80633f2: 4a54 ldr r2, [pc, #336] ; (8063544 ) 80633f4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80633f8: 021b lsls r3, r3, #8 80633fa: f8c7 31c8 str.w r3, [r7, #456] ; 0x1c8 while(i + j > k) { 80633fe: e006 b.n 806340e i -= dXold; 8063400: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063404: f8b7 31e2 ldrh.w r3, [r7, #482] ; 0x1e2 8063408: 1ad3 subs r3, r2, r3 806340a: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i + j > k) { 806340e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063412: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063416: 441a add r2, r3 8063418: f8d7 31c8 ldr.w r3, [r7, #456] ; 0x1c8 806341c: 429a cmp r2, r3 806341e: d8ef bhi.n 8063400 } X0 = (uint16_t) i; 8063420: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063424: b29a uxth r2, r3 8063426: 4b49 ldr r3, [pc, #292] ; (806354c ) 8063428: 801a strh r2, [r3, #0] lX = X0; 806342a: 4b48 ldr r3, [pc, #288] ; (806354c ) 806342c: 881b ldrh r3, [r3, #0] 806342e: b29a uxth r2, r3 8063430: 4b45 ldr r3, [pc, #276] ; (8063548 ) 8063432: 801a strh r2, [r3, #0] rX = lX + 256 * dX; 8063434: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 8063438: 021b lsls r3, r3, #8 806343a: b29a uxth r2, r3 806343c: 4b42 ldr r3, [pc, #264] ; (8063548 ) 806343e: 881b ldrh r3, [r3, #0] 8063440: b29b uxth r3, r3 8063442: 4413 add r3, r2 8063444: b29a uxth r2, r3 8063446: 4b42 ldr r3, [pc, #264] ; (8063550 ) 8063448: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 806344a: 4b42 ldr r3, [pc, #264] ; (8063554 ) 806344c: 881b ldrh r3, [r3, #0] 806344e: b29b uxth r3, r3 8063450: 461a mov r2, r3 8063452: 4b3d ldr r3, [pc, #244] ; (8063548 ) 8063454: 881b ldrh r3, [r3, #0] 8063456: b29b uxth r3, r3 8063458: 1ad2 subs r2, r2, r3 806345a: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 806345e: fb92 f3f3 sdiv r3, r2, r3 8063462: 461a mov r2, r3 8063464: 4b3c ldr r3, [pc, #240] ; (8063558 ) 8063466: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 8063468: 4b3b ldr r3, [pc, #236] ; (8063558 ) 806346a: 681b ldr r3, [r3, #0] 806346c: b29b uxth r3, r3 806346e: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 8063472: fb12 f303 smulbb r3, r2, r3 8063476: b29a uxth r2, r3 8063478: 4b34 ldr r3, [pc, #208] ; (806354c ) 806347a: 881b ldrh r3, [r3, #0] 806347c: b29b uxth r3, r3 806347e: 4413 add r3, r2 8063480: b29a uxth r2, r3 8063482: 4b36 ldr r3, [pc, #216] ; (806355c ) 8063484: 801a strh r2, [r3, #0] while(ViewLevel > 0) 8063486: 4b2d ldr r3, [pc, #180] ; (806353c ) 8063488: 781b ldrb r3, [r3, #0] 806348a: b2db uxtb r3, r3 806348c: 2b00 cmp r3, #0 806348e: f47f af01 bne.w 8063294 } } } dX = Avg[0][5 * ViewLevel + pardata.LNE]; 8063492: 4b2a ldr r3, [pc, #168] ; (806353c ) 8063494: 781b ldrb r3, [r3, #0] 8063496: b2db uxtb r3, r3 8063498: 461a mov r2, r3 806349a: 4613 mov r3, r2 806349c: 009b lsls r3, r3, #2 806349e: 4413 add r3, r2 80634a0: 4a27 ldr r2, [pc, #156] ; (8063540 ) 80634a2: 79d2 ldrb r2, [r2, #7] 80634a4: b2d2 uxtb r2, r2 80634a6: 4413 add r3, r2 80634a8: 4a26 ldr r2, [pc, #152] ; (8063544 ) 80634aa: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80634ae: f8a7 31fa strh.w r3, [r7, #506] ; 0x1fa fineMpos = imax; 80634b2: f8d7 31c0 ldr.w r3, [r7, #448] ; 0x1c0 80634b6: b29a uxth r2, r3 80634b8: 4b26 ldr r3, [pc, #152] ; (8063554 ) 80634ba: 801a strh r2, [r3, #0] CURSOR = (fineMpos - lX) / dX; 80634bc: 4b25 ldr r3, [pc, #148] ; (8063554 ) 80634be: 881b ldrh r3, [r3, #0] 80634c0: b29b uxth r3, r3 80634c2: 461a mov r2, r3 80634c4: 4b20 ldr r3, [pc, #128] ; (8063548 ) 80634c6: 881b ldrh r3, [r3, #0] 80634c8: b29b uxth r3, r3 80634ca: 1ad2 subs r2, r2, r3 80634cc: f8b7 31fa ldrh.w r3, [r7, #506] ; 0x1fa 80634d0: fb92 f3f3 sdiv r3, r2, r3 80634d4: 461a mov r2, r3 80634d6: 4b20 ldr r3, [pc, #128] ; (8063558 ) 80634d8: 601a str r2, [r3, #0] Mpos = X0 + CURSOR * dX; 80634da: 4b1f ldr r3, [pc, #124] ; (8063558 ) 80634dc: 681b ldr r3, [r3, #0] 80634de: b29b uxth r3, r3 80634e0: f8b7 21fa ldrh.w r2, [r7, #506] ; 0x1fa 80634e4: fb12 f303 smulbb r3, r2, r3 80634e8: b29a uxth r2, r3 80634ea: 4b18 ldr r3, [pc, #96] ; (806354c ) 80634ec: 881b ldrh r3, [r3, #0] 80634ee: b29b uxth r3, r3 80634f0: 4413 add r3, r2 80634f2: b29a uxth r2, r3 80634f4: 4b19 ldr r3, [pc, #100] ; (806355c ) 80634f6: 801a strh r2, [r3, #0] AUTOZOOM = true; 80634f8: 4b19 ldr r3, [pc, #100] ; (8063560 ) 80634fa: 2201 movs r2, #1 80634fc: 701a strb r2, [r3, #0] lastmenupos = StartStop; 80634fe: 4b19 ldr r3, [pc, #100] ; (8063564 ) 8063500: 2200 movs r2, #0 8063502: 701a strb r2, [r3, #0] menupos = Cursor; 8063504: 4b18 ldr r3, [pc, #96] ; (8063568 ) 8063506: 2206 movs r2, #6 8063508: 701a strb r2, [r3, #0] //*********************************************************************************************** } arm_rms_f32(In, Ns, &skz[pardata.IPR]); 806350a: 4b18 ldr r3, [pc, #96] ; (806356c ) 806350c: 6819 ldr r1, [r3, #0] 806350e: 4b0c ldr r3, [pc, #48] ; (8063540 ) 8063510: 785b ldrb r3, [r3, #1] 8063512: b2db uxtb r3, r3 8063514: 009b lsls r3, r3, #2 8063516: 4a16 ldr r2, [pc, #88] ; (8063570 ) 8063518: 4413 add r3, r2 806351a: 461a mov r2, r3 806351c: 4815 ldr r0, [pc, #84] ; (8063574 ) 806351e: f066 fcbb bl 80c9e98 FastCopy16(IN_Reg, SCR_Reg, _2Ns); 8063522: 4b12 ldr r3, [pc, #72] ; (806356c ) 8063524: 681b ldr r3, [r3, #0] 8063526: 005b lsls r3, r3, #1 8063528: 461a mov r2, r3 806352a: 2104 movs r1, #4 806352c: 2001 movs r0, #1 806352e: f000 ff23 bl 8064378 8063532: e1ce b.n 80638d2 } } else { // åñëè íåò ïîðîãà for(i = 0; i < Ns; i++) { 8063534: 2300 movs r3, #0 8063536: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806353a: e02e b.n 806359a 806353c: 20020f74 .word 0x20020f74 8063540: 20023e60 .word 0x20023e60 8063544: 080eeaac .word 0x080eeaac 8063548: 20025d1a .word 0x20025d1a 806354c: 20025d1e .word 0x20025d1e 8063550: 20025d20 .word 0x20025d20 8063554: 20025d1c .word 0x20025d1c 8063558: 2002006c .word 0x2002006c 806355c: 20025d16 .word 0x20025d16 8063560: 2002098c .word 0x2002098c 8063564: 20020071 .word 0x20020071 8063568: 20020070 .word 0x20020070 806356c: 20021cdc .word 0x20021cdc 8063570: 20021540 .word 0x20021540 8063574: 200279c0 .word 0x200279c0 In[i] = Out[i]; 8063578: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806357c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063580: 4985 ldr r1, [pc, #532] ; (8063798 ) 8063582: 0092 lsls r2, r2, #2 8063584: 440a add r2, r1 8063586: 6812 ldr r2, [r2, #0] 8063588: 4984 ldr r1, [pc, #528] ; (806379c ) 806358a: 009b lsls r3, r3, #2 806358c: 440b add r3, r1 806358e: 601a str r2, [r3, #0] for(i = 0; i < Ns; i++) { 8063590: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063594: 3301 adds r3, #1 8063596: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806359a: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806359e: 4b80 ldr r3, [pc, #512] ; (80637a0 ) 80635a0: 681b ldr r3, [r3, #0] 80635a2: 429a cmp r2, r3 80635a4: d3e8 bcc.n 8063578 } arm_rms_f32(In, Ns, &skz[pardata.IPR]); 80635a6: 4b7e ldr r3, [pc, #504] ; (80637a0 ) 80635a8: 6819 ldr r1, [r3, #0] 80635aa: 4b7e ldr r3, [pc, #504] ; (80637a4 ) 80635ac: 785b ldrb r3, [r3, #1] 80635ae: b2db uxtb r3, r3 80635b0: 009b lsls r3, r3, #2 80635b2: 4a7d ldr r2, [pc, #500] ; (80637a8 ) 80635b4: 4413 add r3, r2 80635b6: 461a mov r2, r3 80635b8: 4878 ldr r0, [pc, #480] ; (806379c ) 80635ba: f066 fc6d bl 80c9e98 if(timeRelax > 1) 80635be: 4b7b ldr r3, [pc, #492] ; (80637ac ) 80635c0: 681b ldr r3, [r3, #0] 80635c2: 2b01 cmp r3, #1 80635c4: d91a bls.n 80635fc { timeRelax--; 80635c6: 4b79 ldr r3, [pc, #484] ; (80637ac ) 80635c8: 681b ldr r3, [r3, #0] 80635ca: 3b01 subs r3, #1 80635cc: 4a77 ldr r2, [pc, #476] ; (80637ac ) 80635ce: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 80635d0: 4b74 ldr r3, [pc, #464] ; (80637a4 ) 80635d2: 785b ldrb r3, [r3, #1] 80635d4: b2db uxtb r3, r3 80635d6: 4618 mov r0, r3 80635d8: 4b72 ldr r3, [pc, #456] ; (80637a4 ) 80635da: 785b ldrb r3, [r3, #1] 80635dc: b2db uxtb r3, r3 80635de: 4974 ldr r1, [pc, #464] ; (80637b0 ) 80635e0: 009a lsls r2, r3, #2 80635e2: 440a add r2, r1 80635e4: f04f 0100 mov.w r1, #0 80635e8: 6011 str r1, [r2, #0] 80635ea: 4a71 ldr r2, [pc, #452] ; (80637b0 ) 80635ec: 009b lsls r3, r3, #2 80635ee: 4413 add r3, r2 80635f0: 681a ldr r2, [r3, #0] 80635f2: 496d ldr r1, [pc, #436] ; (80637a8 ) 80635f4: 0083 lsls r3, r0, #2 80635f6: 440b add r3, r1 80635f8: 601a str r2, [r3, #0] 80635fa: e16a b.n 80638d2 } else if(timeRelax == 1) 80635fc: 4b6b ldr r3, [pc, #428] ; (80637ac ) 80635fe: 681b ldr r3, [r3, #0] 8063600: 2b01 cmp r3, #1 8063602: d10d bne.n 8063620 { timeRelax--; 8063604: 4b69 ldr r3, [pc, #420] ; (80637ac ) 8063606: 681b ldr r3, [r3, #0] 8063608: 3b01 subs r3, #1 806360a: 4a68 ldr r2, [pc, #416] ; (80637ac ) 806360c: 6013 str r3, [r2, #0] FastCopy16(IN_Reg, SCR_Reg, _2Ns); 806360e: 4b64 ldr r3, [pc, #400] ; (80637a0 ) 8063610: 681b ldr r3, [r3, #0] 8063612: 005b lsls r3, r3, #1 8063614: 461a mov r2, r3 8063616: 2104 movs r1, #4 8063618: 2001 movs r0, #1 806361a: f000 fead bl 8064378 806361e: e158 b.n 80638d2 } else { FastCopy16(IN_Reg, SCR_Reg, _2Ns); 8063620: 4b5f ldr r3, [pc, #380] ; (80637a0 ) 8063622: 681b ldr r3, [r3, #0] 8063624: 005b lsls r3, r3, #1 8063626: 461a mov r2, r3 8063628: 2104 movs r1, #4 806362a: 2001 movs r0, #1 806362c: f000 fea4 bl 8064378 8063630: e14f b.n 80638d2 } } } else if(pardata.IPR == VEL) 8063632: 4b5c ldr r3, [pc, #368] ; (80637a4 ) 8063634: 785b ldrb r3, [r3, #1] 8063636: b2db uxtb r3, r3 8063638: 2b01 cmp r3, #1 806363a: f040 8094 bne.w 8063766 { arm_biquad_cascade_df2T_f64(&S_INT1, Buff64, Buff64, Ns); 806363e: 4b58 ldr r3, [pc, #352] ; (80637a0 ) 8063640: 681b ldr r3, [r3, #0] 8063642: 4a5c ldr r2, [pc, #368] ; (80637b4 ) 8063644: 495b ldr r1, [pc, #364] ; (80637b4 ) 8063646: 485c ldr r0, [pc, #368] ; (80637b8 ) 8063648: f066 fdc8 bl 80ca1dc arm_biquad_cascade_df2T_f64(&S_HP_VEL, Buff64, Buff64, Ns); 806364c: 4b54 ldr r3, [pc, #336] ; (80637a0 ) 806364e: 681b ldr r3, [r3, #0] 8063650: 4a58 ldr r2, [pc, #352] ; (80637b4 ) 8063652: 4958 ldr r1, [pc, #352] ; (80637b4 ) 8063654: 4859 ldr r0, [pc, #356] ; (80637bc ) 8063656: f066 fdc1 bl 80ca1dc for(i = 0; i < Ns; i++) 806365a: 2300 movs r3, #0 806365c: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063660: e014 b.n 806368c In[i] = (float32_t) Buff64[i]; 8063662: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063666: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 806366a: 4952 ldr r1, [pc, #328] ; (80637b4 ) 806366c: 00d2 lsls r2, r2, #3 806366e: 440a add r2, r1 8063670: ed92 7b00 vldr d7, [r2] 8063674: eef7 7bc7 vcvt.f32.f64 s15, d7 8063678: 4a48 ldr r2, [pc, #288] ; (806379c ) 806367a: 009b lsls r3, r3, #2 806367c: 4413 add r3, r2 806367e: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 8063682: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063686: 3301 adds r3, #1 8063688: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 806368c: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063690: 4b43 ldr r3, [pc, #268] ; (80637a0 ) 8063692: 681b ldr r3, [r3, #0] 8063694: 429a cmp r2, r3 8063696: d3e4 bcc.n 8063662 fs = 249.135f / pardata.IKK; 8063698: 4b42 ldr r3, [pc, #264] ; (80637a4 ) 806369a: ed93 7a04 vldr s14, [r3, #16] 806369e: eddf 6a48 vldr s13, [pc, #288] ; 80637c0 80636a2: eec6 7a87 vdiv.f32 s15, s13, s14 80636a6: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(pardata.IIN == VOLTS) { 80636aa: 4b3e ldr r3, [pc, #248] ; (80637a4 ) 80636ac: 799b ldrb r3, [r3, #6] 80636ae: b2db uxtb r3, r3 80636b0: 2b02 cmp r3, #2 80636b2: d107 bne.n 80636c4 fs *= 0.001f; 80636b4: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 80636b8: ed9f 7a42 vldr s14, [pc, #264] ; 80637c4 80636bc: ee67 7a87 vmul.f32 s15, s15, s14 80636c0: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 } arm_scale_f32(In, fs, In, Ns); 80636c4: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 80636c8: 4b35 ldr r3, [pc, #212] ; (80637a0 ) 80636ca: 681b ldr r3, [r3, #0] 80636cc: 461a mov r2, r3 80636ce: 4933 ldr r1, [pc, #204] ; (806379c ) 80636d0: eeb0 0a67 vmov.f32 s0, s15 80636d4: 4831 ldr r0, [pc, #196] ; (806379c ) 80636d6: f067 f837 bl 80ca748 arm_rms_f32(In, Ns, &skz[pardata.IPR]); 80636da: 4b31 ldr r3, [pc, #196] ; (80637a0 ) 80636dc: 6819 ldr r1, [r3, #0] 80636de: 4b31 ldr r3, [pc, #196] ; (80637a4 ) 80636e0: 785b ldrb r3, [r3, #1] 80636e2: b2db uxtb r3, r3 80636e4: 009b lsls r3, r3, #2 80636e6: 4a30 ldr r2, [pc, #192] ; (80637a8 ) 80636e8: 4413 add r3, r2 80636ea: 461a mov r2, r3 80636ec: 482b ldr r0, [pc, #172] ; (806379c ) 80636ee: f066 fbd3 bl 80c9e98 if(timeRelax > 1) 80636f2: 4b2e ldr r3, [pc, #184] ; (80637ac ) 80636f4: 681b ldr r3, [r3, #0] 80636f6: 2b01 cmp r3, #1 80636f8: d91a bls.n 8063730 { timeRelax--; 80636fa: 4b2c ldr r3, [pc, #176] ; (80637ac ) 80636fc: 681b ldr r3, [r3, #0] 80636fe: 3b01 subs r3, #1 8063700: 4a2a ldr r2, [pc, #168] ; (80637ac ) 8063702: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 8063704: 4b27 ldr r3, [pc, #156] ; (80637a4 ) 8063706: 785b ldrb r3, [r3, #1] 8063708: b2db uxtb r3, r3 806370a: 4618 mov r0, r3 806370c: 4b25 ldr r3, [pc, #148] ; (80637a4 ) 806370e: 785b ldrb r3, [r3, #1] 8063710: b2db uxtb r3, r3 8063712: 4927 ldr r1, [pc, #156] ; (80637b0 ) 8063714: 009a lsls r2, r3, #2 8063716: 440a add r2, r1 8063718: f04f 0100 mov.w r1, #0 806371c: 6011 str r1, [r2, #0] 806371e: 4a24 ldr r2, [pc, #144] ; (80637b0 ) 8063720: 009b lsls r3, r3, #2 8063722: 4413 add r3, r2 8063724: 681a ldr r2, [r3, #0] 8063726: 4920 ldr r1, [pc, #128] ; (80637a8 ) 8063728: 0083 lsls r3, r0, #2 806372a: 440b add r3, r1 806372c: 601a str r2, [r3, #0] 806372e: e0d0 b.n 80638d2 } else if(timeRelax == 1) 8063730: 4b1e ldr r3, [pc, #120] ; (80637ac ) 8063732: 681b ldr r3, [r3, #0] 8063734: 2b01 cmp r3, #1 8063736: d10d bne.n 8063754 { timeRelax--; 8063738: 4b1c ldr r3, [pc, #112] ; (80637ac ) 806373a: 681b ldr r3, [r3, #0] 806373c: 3b01 subs r3, #1 806373e: 4a1b ldr r2, [pc, #108] ; (80637ac ) 8063740: 6013 str r3, [r2, #0] FastCopy16(IN_Reg, SCR_Reg, _2Ns); 8063742: 4b17 ldr r3, [pc, #92] ; (80637a0 ) 8063744: 681b ldr r3, [r3, #0] 8063746: 005b lsls r3, r3, #1 8063748: 461a mov r2, r3 806374a: 2104 movs r1, #4 806374c: 2001 movs r0, #1 806374e: f000 fe13 bl 8064378 8063752: e0be b.n 80638d2 } else { FastCopy16(IN_Reg, SCR_Reg, _2Ns); 8063754: 4b12 ldr r3, [pc, #72] ; (80637a0 ) 8063756: 681b ldr r3, [r3, #0] 8063758: 005b lsls r3, r3, #1 806375a: 461a mov r2, r3 806375c: 2104 movs r1, #4 806375e: 2001 movs r0, #1 8063760: f000 fe0a bl 8064378 8063764: e0b5 b.n 80638d2 } } else if(pardata.IPR == DIS) 8063766: 4b0f ldr r3, [pc, #60] ; (80637a4 ) 8063768: 785b ldrb r3, [r3, #1] 806376a: b2db uxtb r3, r3 806376c: 2b02 cmp r3, #2 806376e: f040 80b0 bne.w 80638d2 { arm_biquad_cascade_df2T_f64(&S_INT2, Buff64, Buff64, Ns); 8063772: 4b0b ldr r3, [pc, #44] ; (80637a0 ) 8063774: 681b ldr r3, [r3, #0] 8063776: 4a0f ldr r2, [pc, #60] ; (80637b4 ) 8063778: 490e ldr r1, [pc, #56] ; (80637b4 ) 806377a: 4813 ldr r0, [pc, #76] ; (80637c8 ) 806377c: f066 fd2e bl 80ca1dc arm_biquad_cascade_df2T_f64(&S_HP_DIS, Buff64, Buff64, Ns); 8063780: 4b07 ldr r3, [pc, #28] ; (80637a0 ) 8063782: 681b ldr r3, [r3, #0] 8063784: 4a0b ldr r2, [pc, #44] ; (80637b4 ) 8063786: 490b ldr r1, [pc, #44] ; (80637b4 ) 8063788: 4810 ldr r0, [pc, #64] ; (80637cc ) 806378a: f066 fd27 bl 80ca1dc for(i = 0; i < Ns; i++) 806378e: 2300 movs r3, #0 8063790: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063794: e031 b.n 80637fa 8063796: bf00 nop 8063798: 20008000 .word 0x20008000 806379c: 200279c0 .word 0x200279c0 80637a0: 20021cdc .word 0x20021cdc 80637a4: 20023e60 .word 0x20023e60 80637a8: 20021540 .word 0x20021540 80637ac: 20020d6c .word 0x20020d6c 80637b0: 2002154c .word 0x2002154c 80637b4: 20037ae0 .word 0x20037ae0 80637b8: 20026170 .word 0x20026170 80637bc: 20025e78 .word 0x20025e78 80637c0: 4379228f .word 0x4379228f 80637c4: 3a83126f .word 0x3a83126f 80637c8: 200278c4 .word 0x200278c4 80637cc: 20027950 .word 0x20027950 In[i] = (float32_t) Buff64[i]; 80637d0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80637d4: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80637d8: 499c ldr r1, [pc, #624] ; (8063a4c ) 80637da: 00d2 lsls r2, r2, #3 80637dc: 440a add r2, r1 80637de: ed92 7b00 vldr d7, [r2] 80637e2: eef7 7bc7 vcvt.f32.f64 s15, d7 80637e6: 4a9a ldr r2, [pc, #616] ; (8063a50 ) 80637e8: 009b lsls r3, r3, #2 80637ea: 4413 add r3, r2 80637ec: edc3 7a00 vstr s15, [r3] for(i = 0; i < Ns; i++) 80637f0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 80637f4: 3301 adds r3, #1 80637f6: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 80637fa: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 80637fe: 4b95 ldr r3, [pc, #596] ; (8063a54 ) 8063800: 681b ldr r3, [r3, #0] 8063802: 429a cmp r2, r3 8063804: d3e4 bcc.n 80637d0 fs = 61400.171f / pardata.IKK; 8063806: 4b94 ldr r3, [pc, #592] ; (8063a58 ) 8063808: ed93 7a04 vldr s14, [r3, #16] 806380c: eddf 6a93 vldr s13, [pc, #588] ; 8063a5c 8063810: eec6 7a87 vdiv.f32 s15, s13, s14 8063814: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 if(pardata.IIN == VOLTS) { 8063818: 4b8f ldr r3, [pc, #572] ; (8063a58 ) 806381a: 799b ldrb r3, [r3, #6] 806381c: b2db uxtb r3, r3 806381e: 2b02 cmp r3, #2 8063820: d107 bne.n 8063832 fs *= 0.000001f; 8063822: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8063826: ed9f 7a8e vldr s14, [pc, #568] ; 8063a60 806382a: ee67 7a87 vmul.f32 s15, s15, s14 806382e: edc7 7a6e vstr s15, [r7, #440] ; 0x1b8 } arm_scale_f32(In, fs, In, Ns); 8063832: edd7 7a6e vldr s15, [r7, #440] ; 0x1b8 8063836: 4b87 ldr r3, [pc, #540] ; (8063a54 ) 8063838: 681b ldr r3, [r3, #0] 806383a: 461a mov r2, r3 806383c: 4984 ldr r1, [pc, #528] ; (8063a50 ) 806383e: eeb0 0a67 vmov.f32 s0, s15 8063842: 4883 ldr r0, [pc, #524] ; (8063a50 ) 8063844: f066 ff80 bl 80ca748 arm_rms_f32(In, Ns, &skz[pardata.IPR]); 8063848: 4b82 ldr r3, [pc, #520] ; (8063a54 ) 806384a: 6819 ldr r1, [r3, #0] 806384c: 4b82 ldr r3, [pc, #520] ; (8063a58 ) 806384e: 785b ldrb r3, [r3, #1] 8063850: b2db uxtb r3, r3 8063852: 009b lsls r3, r3, #2 8063854: 4a83 ldr r2, [pc, #524] ; (8063a64 ) 8063856: 4413 add r3, r2 8063858: 461a mov r2, r3 806385a: 487d ldr r0, [pc, #500] ; (8063a50 ) 806385c: f066 fb1c bl 80c9e98 if(timeRelax > 1) 8063860: 4b81 ldr r3, [pc, #516] ; (8063a68 ) 8063862: 681b ldr r3, [r3, #0] 8063864: 2b01 cmp r3, #1 8063866: d91a bls.n 806389e { timeRelax--; 8063868: 4b7f ldr r3, [pc, #508] ; (8063a68 ) 806386a: 681b ldr r3, [r3, #0] 806386c: 3b01 subs r3, #1 806386e: 4a7e ldr r2, [pc, #504] ; (8063a68 ) 8063870: 6013 str r3, [r2, #0] skz[pardata.IPR] = skzDB[pardata.IPR] = 0.0f; 8063872: 4b79 ldr r3, [pc, #484] ; (8063a58 ) 8063874: 785b ldrb r3, [r3, #1] 8063876: b2db uxtb r3, r3 8063878: 4618 mov r0, r3 806387a: 4b77 ldr r3, [pc, #476] ; (8063a58 ) 806387c: 785b ldrb r3, [r3, #1] 806387e: b2db uxtb r3, r3 8063880: 497a ldr r1, [pc, #488] ; (8063a6c ) 8063882: 009a lsls r2, r3, #2 8063884: 440a add r2, r1 8063886: f04f 0100 mov.w r1, #0 806388a: 6011 str r1, [r2, #0] 806388c: 4a77 ldr r2, [pc, #476] ; (8063a6c ) 806388e: 009b lsls r3, r3, #2 8063890: 4413 add r3, r2 8063892: 681a ldr r2, [r3, #0] 8063894: 4973 ldr r1, [pc, #460] ; (8063a64 ) 8063896: 0083 lsls r3, r0, #2 8063898: 440b add r3, r1 806389a: 601a str r2, [r3, #0] 806389c: e019 b.n 80638d2 } else if(timeRelax == 1) 806389e: 4b72 ldr r3, [pc, #456] ; (8063a68 ) 80638a0: 681b ldr r3, [r3, #0] 80638a2: 2b01 cmp r3, #1 80638a4: d10d bne.n 80638c2 { timeRelax--; 80638a6: 4b70 ldr r3, [pc, #448] ; (8063a68 ) 80638a8: 681b ldr r3, [r3, #0] 80638aa: 3b01 subs r3, #1 80638ac: 4a6e ldr r2, [pc, #440] ; (8063a68 ) 80638ae: 6013 str r3, [r2, #0] FastCopy16(IN_Reg, SCR_Reg, _2Ns); 80638b0: 4b68 ldr r3, [pc, #416] ; (8063a54 ) 80638b2: 681b ldr r3, [r3, #0] 80638b4: 005b lsls r3, r3, #1 80638b6: 461a mov r2, r3 80638b8: 2104 movs r1, #4 80638ba: 2001 movs r0, #1 80638bc: f000 fd5c bl 8064378 80638c0: e007 b.n 80638d2 } else { FastCopy16(IN_Reg, SCR_Reg, _2Ns); 80638c2: 4b64 ldr r3, [pc, #400] ; (8063a54 ) 80638c4: 681b ldr r3, [r3, #0] 80638c6: 005b lsls r3, r3, #1 80638c8: 461a mov r2, r3 80638ca: 2104 movs r1, #4 80638cc: 2001 movs r0, #1 80638ce: f000 fd53 bl 8064378 //=========================================================// //======================= SEND BT==========================// //=========================================================// if(GoSend) 80638d2: 4b67 ldr r3, [pc, #412] ; (8063a70 ) 80638d4: 781b ldrb r3, [r3, #0] 80638d6: b2db uxtb r3, r3 80638d8: 2b00 cmp r3, #0 80638da: d075 beq.n 80639c8 static uint32_t cn = 0; //memcpy(&Buff_u8(0), (void *) &In[0], Ns * 4u); tick = HAL_GetTick(); 80638dc: f04f fcc8 bl 80b3270 80638e0: f8c7 021c str.w r0, [r7, #540] ; 0x21c result = f_lseek (&F, f_size(&F)); 80638e4: 4b63 ldr r3, [pc, #396] ; (8063a74 ) 80638e6: e9d3 3404 ldrd r3, r4, [r3, #16] 80638ea: 461a mov r2, r3 80638ec: 4623 mov r3, r4 80638ee: 4861 ldr r0, [pc, #388] ; (8063a74 ) 80638f0: f063 f96a bl 80c6bc8 80638f4: 4603 mov r3, r0 80638f6: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if(result == FR_OK) 80638fa: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 80638fe: 2b00 cmp r3, #0 8063900: d13d bne.n 806397e { memcpy((void *) &SD_Buff[0].fl, (void *) &In[0], Ns * 4u); 8063902: 4b54 ldr r3, [pc, #336] ; (8063a54 ) 8063904: 681b ldr r3, [r3, #0] 8063906: 009b lsls r3, r3, #2 8063908: 461a mov r2, r3 806390a: 4951 ldr r1, [pc, #324] ; (8063a50 ) 806390c: 485a ldr r0, [pc, #360] ; (8063a78 ) 806390e: f069 fbac bl 80cd06a if(cn >= 163840) cn = 0;*/ //f_sync(&F); result = f_write(&F, (void *) &SD_Buff[0].fl, (Ns * 4u), (UINT *) &i); 8063912: 4b50 ldr r3, [pc, #320] ; (8063a54 ) 8063914: 681b ldr r3, [r3, #0] 8063916: 009a lsls r2, r3, #2 8063918: f507 73e8 add.w r3, r7, #464 ; 0x1d0 806391c: 4956 ldr r1, [pc, #344] ; (8063a78 ) 806391e: 4855 ldr r0, [pc, #340] ; (8063a74 ) 8063920: f062 fe8e bl 80c6640 8063924: 4603 mov r3, r0 8063926: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if(result != FR_OK) 806392a: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 806392e: 2b00 cmp r3, #0 8063930: d016 beq.n 8063960 { NeedSTOP = true; 8063932: 4b52 ldr r3, [pc, #328] ; (8063a7c ) 8063934: 2201 movs r2, #1 8063936: 701a strb r2, [r3, #0] GoSend = false; 8063938: 4b4d ldr r3, [pc, #308] ; (8063a70 ) 806393a: 2200 movs r2, #0 806393c: 701a strb r2, [r3, #0] pWrite = pRead = 0; 806393e: f04f 0300 mov.w r3, #0 8063942: f04f 0400 mov.w r4, #0 8063946: 4a4e ldr r2, [pc, #312] ; (8063a80 ) 8063948: e882 0018 stmia.w r2, {r3, r4} 806394c: 4a4d ldr r2, [pc, #308] ; (8063a84 ) 806394e: e882 0018 stmia.w r2, {r3, r4} SendBuf = 0; 8063952: 4b4d ldr r3, [pc, #308] ; (8063a88 ) 8063954: 2200 movs r2, #0 8063956: 601a str r2, [r3, #0] f_close(&F); 8063958: 4846 ldr r0, [pc, #280] ; (8063a74 ) 806395a: f063 f915 bl 80c6b88 806395e: e024 b.n 80639aa } else { pWrite += (Ns * 4u); 8063960: 4b3c ldr r3, [pc, #240] ; (8063a54 ) 8063962: 681b ldr r3, [r3, #0] 8063964: 009b lsls r3, r3, #2 8063966: 4619 mov r1, r3 8063968: f04f 0200 mov.w r2, #0 806396c: 4b45 ldr r3, [pc, #276] ; (8063a84 ) 806396e: cb18 ldmia r3, {r3, r4} 8063970: 185b adds r3, r3, r1 8063972: eb44 0402 adc.w r4, r4, r2 8063976: 4a43 ldr r2, [pc, #268] ; (8063a84 ) 8063978: e882 0018 stmia.w r2, {r3, r4} 806397c: e015 b.n 80639aa } } else { NeedSTOP = true; 806397e: 4b3f ldr r3, [pc, #252] ; (8063a7c ) 8063980: 2201 movs r2, #1 8063982: 701a strb r2, [r3, #0] GoSend = false; 8063984: 4b3a ldr r3, [pc, #232] ; (8063a70 ) 8063986: 2200 movs r2, #0 8063988: 701a strb r2, [r3, #0] pWrite = pRead = 0; 806398a: f04f 0300 mov.w r3, #0 806398e: f04f 0400 mov.w r4, #0 8063992: 4a3b ldr r2, [pc, #236] ; (8063a80 ) 8063994: e882 0018 stmia.w r2, {r3, r4} 8063998: 4a3a ldr r2, [pc, #232] ; (8063a84 ) 806399a: e882 0018 stmia.w r2, {r3, r4} SendBuf = 0; 806399e: 4b3a ldr r3, [pc, #232] ; (8063a88 ) 80639a0: 2200 movs r2, #0 80639a2: 601a str r2, [r3, #0] f_close(&F); 80639a4: 4833 ldr r0, [pc, #204] ; (8063a74 ) 80639a6: f063 f8ef bl 80c6b88 } tick = HAL_GetTick() - tick; 80639aa: f04f fc61 bl 80b3270 80639ae: 4602 mov r2, r0 80639b0: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 80639b4: 1ad3 subs r3, r2, r3 80639b6: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > 128) 80639ba: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 80639be: 2b80 cmp r3, #128 ; 0x80 80639c0: d902 bls.n 80639c8 { tick = 0; 80639c2: 2300 movs r3, #0 80639c4: f8c7 321c str.w r3, [r7, #540] ; 0x21c //*********************************************************// //*********************************************************// if(pardata.IPR > ACC) 80639c8: 4b23 ldr r3, [pc, #140] ; (8063a58 ) 80639ca: 785b ldrb r3, [r3, #1] 80639cc: e007 b.n 80639de }*/ } } else { RepeatKm = true; 80639ce: 4b2f ldr r3, [pc, #188] ; (8063a8c ) 80639d0: 2201 movs r2, #1 80639d2: 701a strb r2, [r3, #0] timeRelax = RELAX + 1; 80639d4: 4b2e ldr r3, [pc, #184] ; (8063a90 ) 80639d6: 681b ldr r3, [r3, #0] 80639d8: 3301 adds r3, #1 80639da: 4a23 ldr r2, [pc, #140] ; (8063a68 ) 80639dc: 6013 str r3, [r2, #0] tick = DWT->CYCCNT - tick; 80639de: 4b2d ldr r3, [pc, #180] ; (8063a94 ) 80639e0: 685a ldr r2, [r3, #4] 80639e2: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 80639e6: 1ad3 subs r3, r2, r3 80639e8: f8c7 321c str.w r3, [r7, #540] ; 0x21c if(tick > maxtick) 80639ec: 4b2a ldr r3, [pc, #168] ; (8063a98 ) 80639ee: 681b ldr r3, [r3, #0] 80639f0: f8d7 221c ldr.w r2, [r7, #540] ; 0x21c 80639f4: 429a cmp r2, r3 80639f6: f240 837e bls.w 80640f6 maxtick = tick; 80639fa: 4a27 ldr r2, [pc, #156] ; (8063a98 ) 80639fc: f8d7 321c ldr.w r3, [r7, #540] ; 0x21c 8063a00: 6013 str r3, [r2, #0] //*========================================================================================================================= //*========================================================================================================================= //*========================================================================================================================= } break; 8063a02: e378 b.n 80640f6 case WAVE: //TODO WAVE if(measuring) 8063a04: 4b25 ldr r3, [pc, #148] ; (8063a9c ) 8063a06: 781b ldrb r3, [r3, #0] 8063a08: b2db uxtb r3, r3 8063a0a: 2b00 cmp r3, #0 8063a0c: f000 8375 beq.w 80640fa { if(pardata.OPTIONS & BIT7) 8063a10: 4b11 ldr r3, [pc, #68] ; (8063a58 ) 8063a12: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8063a16: f003 0380 and.w r3, r3, #128 ; 0x80 8063a1a: 2b00 cmp r3, #0 8063a1c: f000 81a2 beq.w 8063d64 { /// TACHO if(menupos == CalculatingFreq) 8063a20: 4b1f ldr r3, [pc, #124] ; (8063aa0 ) 8063a22: 781b ldrb r3, [r3, #0] 8063a24: b2db uxtb r3, r3 8063a26: 2b04 cmp r3, #4 8063a28: f040 80c2 bne.w 8063bb0 { if(CALC_FREQ) 8063a2c: 4b1d ldr r3, [pc, #116] ; (8063aa4 ) 8063a2e: 781b ldrb r3, [r3, #0] 8063a30: b2db uxtb r3, r3 8063a32: 2b00 cmp r3, #0 8063a34: f000 8361 beq.w 80640fa { GetDataTacho(); 8063a38: f003 fb20 bl 806707c READY = 0; 8063a3c: 4b1a ldr r3, [pc, #104] ; (8063aa8 ) 8063a3e: 2200 movs r2, #0 8063a40: 701a strb r2, [r3, #0] i = 8192; 8063a42: f44f 5300 mov.w r3, #8192 ; 0x2000 8063a46: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 while(i > 0) 8063a4a: e060 b.n 8063b0e 8063a4c: 20037ae0 .word 0x20037ae0 8063a50: 200279c0 .word 0x200279c0 8063a54: 20021cdc .word 0x20021cdc 8063a58: 20023e60 .word 0x20023e60 8063a5c: 476fd82c .word 0x476fd82c 8063a60: 358637bd .word 0x358637bd 8063a64: 20021540 .word 0x20021540 8063a68: 20020d6c .word 0x20020d6c 8063a6c: 2002154c .word 0x2002154c 8063a70: 20020f5c .word 0x20020f5c 8063a74: 20022e20 .word 0x20022e20 8063a78: 20000000 .word 0x20000000 8063a7c: 20020f7e .word 0x20020f7e 8063a80: 20020f50 .word 0x20020f50 8063a84: 20020f48 .word 0x20020f48 8063a88: 20020f58 .word 0x20020f58 8063a8c: 20020dac .word 0x20020dac 8063a90: 20020d70 .word 0x20020d70 8063a94: e0001000 .word 0xe0001000 8063a98: 20021630 .word 0x20021630 8063a9c: 20020daf .word 0x20020daf 8063aa0: 20020070 .word 0x20020070 8063aa4: 20021010 .word 0x20021010 8063aa8: 20020d7f .word 0x20020d7f { i--; 8063aac: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063ab0: 3b01 subs r3, #1 8063ab2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 Buff64[(i << 1)] = (float64_t) (In16[i].sh[0] & 0xffc); 8063ab6: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063aba: 005a lsls r2, r3, #1 8063abc: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063ac0: 49ba ldr r1, [pc, #744] ; (8063dac ) 8063ac2: f831 3023 ldrh.w r3, [r1, r3, lsl #2] 8063ac6: 4619 mov r1, r3 8063ac8: f640 73fc movw r3, #4092 ; 0xffc 8063acc: 400b ands r3, r1 8063ace: ee07 3a90 vmov s15, r3 8063ad2: eeb8 7be7 vcvt.f64.s32 d7, s15 8063ad6: 49b6 ldr r1, [pc, #728] ; (8063db0 ) 8063ad8: 00d3 lsls r3, r2, #3 8063ada: 440b add r3, r1 8063adc: ed83 7b00 vstr d7, [r3] Buff64[(i << 1) + 1] = (float64_t) (In16[i].sh[1] & 0xffc); 8063ae0: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063ae4: 005b lsls r3, r3, #1 8063ae6: 1c5a adds r2, r3, #1 8063ae8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063aec: 49af ldr r1, [pc, #700] ; (8063dac ) 8063aee: 009b lsls r3, r3, #2 8063af0: 440b add r3, r1 8063af2: 885b ldrh r3, [r3, #2] 8063af4: 4619 mov r1, r3 8063af6: f640 73fc movw r3, #4092 ; 0xffc 8063afa: 400b ands r3, r1 8063afc: ee07 3a90 vmov s15, r3 8063b00: eeb8 7be7 vcvt.f64.s32 d7, s15 8063b04: 49aa ldr r1, [pc, #680] ; (8063db0 ) 8063b06: 00d3 lsls r3, r2, #3 8063b08: 440b add r3, r1 8063b0a: ed83 7b00 vstr d7, [r3] while(i > 0) 8063b0e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063b12: 2b00 cmp r3, #0 8063b14: d1ca bne.n 8063aac } arm_biquad_cascade_df2T_f64(&S_LP_TACHO, Buff64, Buff64, 16384); 8063b16: f44f 4380 mov.w r3, #16384 ; 0x4000 8063b1a: 4aa5 ldr r2, [pc, #660] ; (8063db0 ) 8063b1c: 49a4 ldr r1, [pc, #656] ; (8063db0 ) 8063b1e: 48a5 ldr r0, [pc, #660] ; (8063db4 ) 8063b20: f066 fb5c bl 80ca1dc arm_biquad_cascade_df2T_f64(&S_HP_TACHO, Buff64, Buff64, 16384); 8063b24: f44f 4380 mov.w r3, #16384 ; 0x4000 8063b28: 4aa1 ldr r2, [pc, #644] ; (8063db0 ) 8063b2a: 49a1 ldr r1, [pc, #644] ; (8063db0 ) 8063b2c: 48a2 ldr r0, [pc, #648] ; (8063db8 ) 8063b2e: f066 fb55 bl 80ca1dc for(i = 0; i < 16384; i++) { 8063b32: 2300 movs r3, #0 8063b34: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063b38: e014 b.n 8063b64 Out[i] = (float32_t) Buff64[i]; 8063b3a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063b3e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063b42: 499b ldr r1, [pc, #620] ; (8063db0 ) 8063b44: 00d2 lsls r2, r2, #3 8063b46: 440a add r2, r1 8063b48: ed92 7b00 vldr d7, [r2] 8063b4c: eef7 7bc7 vcvt.f32.f64 s15, d7 8063b50: 4a9a ldr r2, [pc, #616] ; (8063dbc ) 8063b52: 009b lsls r3, r3, #2 8063b54: 4413 add r3, r2 8063b56: edc3 7a00 vstr s15, [r3] for(i = 0; i < 16384; i++) { 8063b5a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063b5e: 3301 adds r3, #1 8063b60: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063b64: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063b68: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 8063b6c: d3e5 bcc.n 8063b3a } ///////////////////////////////////////////////////////////////////// memcpy((void *) &Freq_f32(stage * 16384u), (void *) Out, 65536); 8063b6e: 4b94 ldr r3, [pc, #592] ; (8063dc0 ) 8063b70: 781b ldrb r3, [r3, #0] 8063b72: b2db uxtb r3, r3 8063b74: 039b lsls r3, r3, #14 8063b76: 009a lsls r2, r3, #2 8063b78: 4b92 ldr r3, [pc, #584] ; (8063dc4 ) 8063b7a: 4413 add r3, r2 8063b7c: f44f 3280 mov.w r2, #65536 ; 0x10000 8063b80: 498e ldr r1, [pc, #568] ; (8063dbc ) 8063b82: 4618 mov r0, r3 8063b84: f069 fa71 bl 80cd06a stage++; 8063b88: 4b8d ldr r3, [pc, #564] ; (8063dc0 ) 8063b8a: 781b ldrb r3, [r3, #0] 8063b8c: b2db uxtb r3, r3 8063b8e: 3301 adds r3, #1 8063b90: b2da uxtb r2, r3 8063b92: 4b8b ldr r3, [pc, #556] ; (8063dc0 ) 8063b94: 701a strb r2, [r3, #0] if(stage >= 8) // >= 131072 meas 8063b96: 4b8a ldr r3, [pc, #552] ; (8063dc0 ) 8063b98: 781b ldrb r3, [r3, #0] 8063b9a: b2db uxtb r3, r3 8063b9c: 2b07 cmp r3, #7 8063b9e: f240 82ac bls.w 80640fa { stage = 0; 8063ba2: 4b87 ldr r3, [pc, #540] ; (8063dc0 ) 8063ba4: 2200 movs r2, #0 8063ba6: 701a strb r2, [r3, #0] NeedFreqTacho = true; 8063ba8: 4b87 ldr r3, [pc, #540] ; (8063dc8 ) 8063baa: 2201 movs r2, #1 8063bac: 701a strb r2, [r3, #0] } } } } } break; 8063bae: e2a4 b.n 80640fa blockSize = measlen; 8063bb0: 4b86 ldr r3, [pc, #536] ; (8063dcc ) 8063bb2: 881b ldrh r3, [r3, #0] 8063bb4: b29b uxth r3, r3 8063bb6: f8c7 3220 str.w r3, [r7, #544] ; 0x220 GetData(); 8063bba: f000 fd53 bl 8064664 j = 0; 8063bbe: 2300 movs r3, #0 8063bc0: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(menupos == GainSelecting) 8063bc4: 4b82 ldr r3, [pc, #520] ; (8063dd0 ) 8063bc6: 781b ldrb r3, [r3, #0] 8063bc8: b2db uxtb r3, r3 8063bca: 2b02 cmp r3, #2 8063bcc: d148 bne.n 8063c60 if(CalculateGain(Ns) == 0) 8063bce: 4b81 ldr r3, [pc, #516] ; (8063dd4 ) 8063bd0: 681b ldr r3, [r3, #0] 8063bd2: 4618 mov r0, r3 8063bd4: f7f1 ff2a bl 8055a2c 8063bd8: 4603 mov r3, r0 8063bda: 2b00 cmp r3, #0 8063bdc: f040 828d bne.w 80640fa if(Flag_Set_KU) 8063be0: 4b7d ldr r3, [pc, #500] ; (8063dd8 ) 8063be2: 781b ldrb r3, [r3, #0] 8063be4: b2db uxtb r3, r3 8063be6: 2b00 cmp r3, #0 8063be8: d01b beq.n 8063c22 SetKU(); 8063bea: f7bd fe43 bl 8021874 HAL_Delay(1000); 8063bee: f44f 707a mov.w r0, #1000 ; 0x3e8 8063bf2: f04f fb49 bl 80b3288 MeanCnt = 0; 8063bf6: 4b79 ldr r3, [pc, #484] ; (8063ddc ) 8063bf8: 2200 movs r2, #0 8063bfa: 601a str r2, [r3, #0] RepeatKm = true; 8063bfc: 4b78 ldr r3, [pc, #480] ; (8063de0 ) 8063bfe: 2201 movs r2, #1 8063c00: 701a strb r2, [r3, #0] FirstTime = true; 8063c02: 4b78 ldr r3, [pc, #480] ; (8063de4 ) 8063c04: 2201 movs r2, #1 8063c06: 701a strb r2, [r3, #0] FIRST = false; 8063c08: 4b77 ldr r3, [pc, #476] ; (8063de8 ) 8063c0a: 2200 movs r2, #0 8063c0c: 701a strb r2, [r3, #0] cntADC = 0; 8063c0e: 4b77 ldr r3, [pc, #476] ; (8063dec ) 8063c10: 2200 movs r2, #0 8063c12: 801a strh r2, [r3, #0] Flag_Set_KU = 0; 8063c14: 4b70 ldr r3, [pc, #448] ; (8063dd8 ) 8063c16: 2200 movs r2, #0 8063c18: 701a strb r2, [r3, #0] cntmeas = 0; 8063c1a: 4b75 ldr r3, [pc, #468] ; (8063df0 ) 8063c1c: 2200 movs r2, #0 8063c1e: 801a strh r2, [r3, #0] break; 8063c20: e26b b.n 80640fa menupos = ReadyRec; 8063c22: 4b6b ldr r3, [pc, #428] ; (8063dd0 ) 8063c24: 2203 movs r2, #3 8063c26: 701a strb r2, [r3, #0] Recording = false; 8063c28: 4b72 ldr r3, [pc, #456] ; (8063df4 ) 8063c2a: 2200 movs r2, #0 8063c2c: 701a strb r2, [r3, #0] RepeatKm = false; 8063c2e: 4b6c ldr r3, [pc, #432] ; (8063de0 ) 8063c30: 2200 movs r2, #0 8063c32: 701a strb r2, [r3, #0] FirstTime = false; 8063c34: 4b6b ldr r3, [pc, #428] ; (8063de4 ) 8063c36: 2200 movs r2, #0 8063c38: 701a strb r2, [r3, #0] cntADC = 0; 8063c3a: 4b6c ldr r3, [pc, #432] ; (8063dec ) 8063c3c: 2200 movs r2, #0 8063c3e: 801a strh r2, [r3, #0] cntmeas = 0; 8063c40: 4b6b ldr r3, [pc, #428] ; (8063df0 ) 8063c42: 2200 movs r2, #0 8063c44: 801a strh r2, [r3, #0] MultRec = _b24V * CorrKk[ACC] * 2; 8063c46: 4b6c ldr r3, [pc, #432] ; (8063df8 ) 8063c48: edd3 7a00 vldr s15, [r3] 8063c4c: ed9f 7a6b vldr s14, [pc, #428] ; 8063dfc 8063c50: ee67 7a87 vmul.f32 s15, s15, s14 8063c54: ee77 7aa7 vadd.f32 s15, s15, s15 8063c58: 4b69 ldr r3, [pc, #420] ; (8063e00 ) 8063c5a: edc3 7a00 vstr s15, [r3] break; 8063c5e: e24c b.n 80640fa if(Recording) 8063c60: 4b64 ldr r3, [pc, #400] ; (8063df4 ) 8063c62: 781b ldrb r3, [r3, #0] 8063c64: b2db uxtb r3, r3 8063c66: 2b00 cmp r3, #0 8063c68: f000 8247 beq.w 80640fa for(i = 0; i < blockSize; i++) 8063c6c: 2300 movs r3, #0 8063c6e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063c72: e034 b.n 8063cde In[i] = (float32_t) In16[i].lg; 8063c74: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063c78: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063c7c: 494b ldr r1, [pc, #300] ; (8063dac ) 8063c7e: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8063c82: ee07 2a90 vmov s15, r2 8063c86: eef8 7a67 vcvt.f32.u32 s15, s15 8063c8a: 4a5e ldr r2, [pc, #376] ; (8063e04 ) 8063c8c: 009b lsls r3, r3, #2 8063c8e: 4413 add r3, r2 8063c90: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 8063c94: 4b5c ldr r3, [pc, #368] ; (8063e08 ) 8063c96: edd3 7a00 vldr s15, [r3] 8063c9a: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063c9e: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063ca2: 4958 ldr r1, [pc, #352] ; (8063e04 ) 8063ca4: 0092 lsls r2, r2, #2 8063ca6: 440a add r2, r1 8063ca8: ed92 7a00 vldr s14, [r2] 8063cac: ee77 7a67 vsub.f32 s15, s14, s15 8063cb0: 4a54 ldr r2, [pc, #336] ; (8063e04 ) 8063cb2: 009b lsls r3, r3, #2 8063cb4: 4413 add r3, r2 8063cb6: edc3 7a00 vstr s15, [r3] if(In16[i].lg > 0xE00000) 8063cba: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063cbe: 4a3b ldr r2, [pc, #236] ; (8063dac ) 8063cc0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8063cc4: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8063cc8: d904 bls.n 8063cd4 j++; 8063cca: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063cce: 3301 adds r3, #1 8063cd0: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 8063cd4: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063cd8: 3301 adds r3, #1 8063cda: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063cde: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063ce2: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8063ce6: 429a cmp r2, r3 8063ce8: d3c4 bcc.n 8063c74 if(j >= 2) 8063cea: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063cee: 2b01 cmp r3, #1 8063cf0: d903 bls.n 8063cfa OVERDRIVE = true; 8063cf2: 4b46 ldr r3, [pc, #280] ; (8063e0c ) 8063cf4: 2201 movs r2, #1 8063cf6: 701a strb r2, [r3, #0] 8063cf8: e002 b.n 8063d00 else OVERDRIVE = false; 8063cfa: 4b44 ldr r3, [pc, #272] ; (8063e0c ) 8063cfc: 2200 movs r2, #0 8063cfe: 701a strb r2, [r3, #0] arm_scale_f32(In, MultRec, &SD_Buff[0].fl, blockSize); 8063d00: 4b3f ldr r3, [pc, #252] ; (8063e00 ) 8063d02: edd3 7a00 vldr s15, [r3] 8063d06: f8d7 2220 ldr.w r2, [r7, #544] ; 0x220 8063d0a: 4941 ldr r1, [pc, #260] ; (8063e10 ) 8063d0c: eeb0 0a67 vmov.f32 s0, s15 8063d10: 483c ldr r0, [pc, #240] ; (8063e04 ) 8063d12: f066 fd19 bl 80ca748 TimeRec += Ns; 8063d16: 4b2f ldr r3, [pc, #188] ; (8063dd4 ) 8063d18: 681a ldr r2, [r3, #0] 8063d1a: 4b3e ldr r3, [pc, #248] ; (8063e14 ) 8063d1c: 681b ldr r3, [r3, #0] 8063d1e: 4413 add r3, r2 8063d20: 4a3c ldr r2, [pc, #240] ; (8063e14 ) 8063d22: 6013 str r3, [r2, #0] result = f_write(&F, (uint32_t *) &SD_Buff[0].fl, (blockSize << 2), (UINT *) &i); 8063d24: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8063d28: 009a lsls r2, r3, #2 8063d2a: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8063d2e: 4938 ldr r1, [pc, #224] ; (8063e10 ) 8063d30: 4839 ldr r0, [pc, #228] ; (8063e18 ) 8063d32: f062 fc85 bl 80c6640 8063d36: 4603 mov r3, r0 8063d38: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if((result != FR_OK) || (TimeRec >= TIMEREC[5][pardata.TME])) { 8063d3c: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 8063d40: 2b00 cmp r3, #0 8063d42: d10b bne.n 8063d5c 8063d44: 4b35 ldr r3, [pc, #212] ; (8063e1c ) 8063d46: 7b9b ldrb r3, [r3, #14] 8063d48: b2db uxtb r3, r3 8063d4a: 4a35 ldr r2, [pc, #212] ; (8063e20 ) 8063d4c: 3337 adds r3, #55 ; 0x37 8063d4e: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8063d52: 4b30 ldr r3, [pc, #192] ; (8063e14 ) 8063d54: 681b ldr r3, [r3, #0] 8063d56: 429a cmp r2, r3 8063d58: f200 81cf bhi.w 80640fa NeedSTOP = true; 8063d5c: 4b31 ldr r3, [pc, #196] ; (8063e24 ) 8063d5e: 2201 movs r2, #1 8063d60: 701a strb r2, [r3, #0] break; 8063d62: e1ca b.n 80640fa blockSize = measlen; 8063d64: 4b19 ldr r3, [pc, #100] ; (8063dcc ) 8063d66: 881b ldrh r3, [r3, #0] 8063d68: b29b uxth r3, r3 8063d6a: f8c7 3220 str.w r3, [r7, #544] ; 0x220 GetData(); 8063d6e: f000 fc79 bl 8064664 j = 0; 8063d72: 2300 movs r3, #0 8063d74: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc if(Threshold) 8063d78: 4b2b ldr r3, [pc, #172] ; (8063e28 ) 8063d7a: 781b ldrb r3, [r3, #0] 8063d7c: b2db uxtb r3, r3 8063d7e: 2b00 cmp r3, #0 8063d80: f000 80da beq.w 8063f38 MultRec = _b24V * CorrKk[ACC] * 2; 8063d84: 4b1c ldr r3, [pc, #112] ; (8063df8 ) 8063d86: edd3 7a00 vldr s15, [r3] 8063d8a: ed9f 7a1c vldr s14, [pc, #112] ; 8063dfc 8063d8e: ee67 7a87 vmul.f32 s15, s15, s14 8063d92: ee77 7aa7 vadd.f32 s15, s15, s15 8063d96: 4b1a ldr r3, [pc, #104] ; (8063e00 ) 8063d98: edc3 7a00 vstr s15, [r3] j = 0; 8063d9c: 2300 movs r3, #0 8063d9e: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 8063da2: 2300 movs r3, #0 8063da4: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063da8: e075 b.n 8063e96 8063daa: bf00 nop 8063dac: 20058020 .word 0x20058020 8063db0: 20037ae0 .word 0x20037ae0 8063db4: 2006826c .word 0x2006826c 8063db8: 20057cb8 .word 0x20057cb8 8063dbc: 20008000 .word 0x20008000 8063dc0: 20021518 .word 0x20021518 8063dc4: 64080000 .word 0x64080000 8063dc8: 20020d76 .word 0x20020d76 8063dcc: 20020d8c .word 0x20020d8c 8063dd0: 20020070 .word 0x20020070 8063dd4: 20021cdc .word 0x20021cdc 8063dd8: 20020d7e .word 0x20020d7e 8063ddc: 20020db8 .word 0x20020db8 8063de0: 20020dac .word 0x20020dac 8063de4: 20020dae .word 0x20020dae 8063de8: 20020db2 .word 0x20020db2 8063dec: 20020d7c .word 0x20020d7c 8063df0: 20020d80 .word 0x20020d80 8063df4: 20020db0 .word 0x20020db0 8063df8: 20020080 .word 0x20020080 8063dfc: 2f449ba8 .word 0x2f449ba8 8063e00: 200261c8 .word 0x200261c8 8063e04: 200279c0 .word 0x200279c0 8063e08: 200209cc .word 0x200209cc 8063e0c: 20021531 .word 0x20021531 8063e10: 20000000 .word 0x20000000 8063e14: 20021684 .word 0x20021684 8063e18: 20022e20 .word 0x20022e20 8063e1c: 20023e60 .word 0x20023e60 8063e20: 080ee9a4 .word 0x080ee9a4 8063e24: 20020f7e .word 0x20020f7e 8063e28: 20020db1 .word 0x20020db1 In[i] = (float32_t) In16[i].lg; 8063e2c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063e30: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063e34: 49b7 ldr r1, [pc, #732] ; (8064114 ) 8063e36: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8063e3a: ee07 2a90 vmov s15, r2 8063e3e: eef8 7a67 vcvt.f32.u32 s15, s15 8063e42: 4ab5 ldr r2, [pc, #724] ; (8064118 ) 8063e44: 009b lsls r3, r3, #2 8063e46: 4413 add r3, r2 8063e48: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 8063e4c: 4bb3 ldr r3, [pc, #716] ; (806411c ) 8063e4e: edd3 7a00 vldr s15, [r3] 8063e52: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063e56: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063e5a: 49af ldr r1, [pc, #700] ; (8064118 ) 8063e5c: 0092 lsls r2, r2, #2 8063e5e: 440a add r2, r1 8063e60: ed92 7a00 vldr s14, [r2] 8063e64: ee77 7a67 vsub.f32 s15, s14, s15 8063e68: 4aab ldr r2, [pc, #684] ; (8064118 ) 8063e6a: 009b lsls r3, r3, #2 8063e6c: 4413 add r3, r2 8063e6e: edc3 7a00 vstr s15, [r3] if(In16[i].lg > 0xE00000) 8063e72: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063e76: 4aa7 ldr r2, [pc, #668] ; (8064114 ) 8063e78: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8063e7c: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 8063e80: d904 bls.n 8063e8c j++; 8063e82: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063e86: 3301 adds r3, #1 8063e88: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 8063e8c: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063e90: 3301 adds r3, #1 8063e92: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063e96: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063e9a: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8063e9e: 429a cmp r2, r3 8063ea0: d3c4 bcc.n 8063e2c if(j >= 2) 8063ea2: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8063ea6: 2b01 cmp r3, #1 8063ea8: d903 bls.n 8063eb2 OVERDRIVE = true; 8063eaa: 4b9d ldr r3, [pc, #628] ; (8064120 ) 8063eac: 2201 movs r2, #1 8063eae: 701a strb r2, [r3, #0] 8063eb0: e002 b.n 8063eb8 else OVERDRIVE = false; 8063eb2: 4b9b ldr r3, [pc, #620] ; (8064120 ) 8063eb4: 2200 movs r2, #0 8063eb6: 701a strb r2, [r3, #0] arm_scale_f32(In, MultRec, &SD_Buff[0].fl, blockSize); 8063eb8: 4b9a ldr r3, [pc, #616] ; (8064124 ) 8063eba: edd3 7a00 vldr s15, [r3] 8063ebe: f8d7 2220 ldr.w r2, [r7, #544] ; 0x220 8063ec2: 4999 ldr r1, [pc, #612] ; (8064128 ) 8063ec4: eeb0 0a67 vmov.f32 s0, s15 8063ec8: 4893 ldr r0, [pc, #588] ; (8064118 ) 8063eca: f066 fc3d bl 80ca748 if((pardata.IVS[ACC] & 0x3) != RMS) 8063ece: 4b97 ldr r3, [pc, #604] ; (806412c ) 8063ed0: 789b ldrb r3, [r3, #2] 8063ed2: b2db uxtb r3, r3 8063ed4: f003 0303 and.w r3, r3, #3 8063ed8: 2b01 cmp r3, #1 8063eda: f000 810e beq.w 80640fa if(Recording) 8063ede: 4b94 ldr r3, [pc, #592] ; (8064130 ) 8063ee0: 781b ldrb r3, [r3, #0] 8063ee2: b2db uxtb r3, r3 8063ee4: 2b00 cmp r3, #0 8063ee6: f000 8108 beq.w 80640fa TimeRec += Ns; 8063eea: 4b92 ldr r3, [pc, #584] ; (8064134 ) 8063eec: 681a ldr r2, [r3, #0] 8063eee: 4b92 ldr r3, [pc, #584] ; (8064138 ) 8063ef0: 681b ldr r3, [r3, #0] 8063ef2: 4413 add r3, r2 8063ef4: 4a90 ldr r2, [pc, #576] ; (8064138 ) 8063ef6: 6013 str r3, [r2, #0] result = f_write(&F, (void *) &SD_Buff[0].fl, (blockSize << 2), (UINT *) &i); 8063ef8: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 8063efc: 009a lsls r2, r3, #2 8063efe: f507 73e8 add.w r3, r7, #464 ; 0x1d0 8063f02: 4989 ldr r1, [pc, #548] ; (8064128 ) 8063f04: 488d ldr r0, [pc, #564] ; (806413c ) 8063f06: f062 fb9b bl 80c6640 8063f0a: 4603 mov r3, r0 8063f0c: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if((result != FR_OK) || (TimeRec >= TIMEREC[5][pardata.TME])) { 8063f10: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 8063f14: 2b00 cmp r3, #0 8063f16: d10b bne.n 8063f30 8063f18: 4b84 ldr r3, [pc, #528] ; (806412c ) 8063f1a: 7b9b ldrb r3, [r3, #14] 8063f1c: b2db uxtb r3, r3 8063f1e: 4a88 ldr r2, [pc, #544] ; (8064140 ) 8063f20: 3337 adds r3, #55 ; 0x37 8063f22: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8063f26: 4b84 ldr r3, [pc, #528] ; (8064138 ) 8063f28: 681b ldr r3, [r3, #0] 8063f2a: 429a cmp r2, r3 8063f2c: f200 80e5 bhi.w 80640fa NeedSTOP = true; 8063f30: 4b84 ldr r3, [pc, #528] ; (8064144 ) 8063f32: 2201 movs r2, #1 8063f34: 701a strb r2, [r3, #0] break; 8063f36: e0e0 b.n 80640fa if(menupos == GainSelecting) 8063f38: 4b83 ldr r3, [pc, #524] ; (8064148 ) 8063f3a: 781b ldrb r3, [r3, #0] 8063f3c: b2db uxtb r3, r3 8063f3e: 2b02 cmp r3, #2 8063f40: d148 bne.n 8063fd4 if(CalculateGain(Ns) == 0) 8063f42: 4b7c ldr r3, [pc, #496] ; (8064134 ) 8063f44: 681b ldr r3, [r3, #0] 8063f46: 4618 mov r0, r3 8063f48: f7f1 fd70 bl 8055a2c 8063f4c: 4603 mov r3, r0 8063f4e: 2b00 cmp r3, #0 8063f50: f040 80d3 bne.w 80640fa if(Flag_Set_KU) 8063f54: 4b7d ldr r3, [pc, #500] ; (806414c ) 8063f56: 781b ldrb r3, [r3, #0] 8063f58: b2db uxtb r3, r3 8063f5a: 2b00 cmp r3, #0 8063f5c: d01b beq.n 8063f96 SetKU(); 8063f5e: f7bd fc89 bl 8021874 HAL_Delay(1000); 8063f62: f44f 707a mov.w r0, #1000 ; 0x3e8 8063f66: f04f f98f bl 80b3288 MeanCnt = 0; 8063f6a: 4b79 ldr r3, [pc, #484] ; (8064150 ) 8063f6c: 2200 movs r2, #0 8063f6e: 601a str r2, [r3, #0] RepeatKm = true; 8063f70: 4b78 ldr r3, [pc, #480] ; (8064154 ) 8063f72: 2201 movs r2, #1 8063f74: 701a strb r2, [r3, #0] FirstTime = true; 8063f76: 4b78 ldr r3, [pc, #480] ; (8064158 ) 8063f78: 2201 movs r2, #1 8063f7a: 701a strb r2, [r3, #0] FIRST = false; 8063f7c: 4b77 ldr r3, [pc, #476] ; (806415c ) 8063f7e: 2200 movs r2, #0 8063f80: 701a strb r2, [r3, #0] cntADC = 0; 8063f82: 4b77 ldr r3, [pc, #476] ; (8064160 ) 8063f84: 2200 movs r2, #0 8063f86: 801a strh r2, [r3, #0] Flag_Set_KU = 0; 8063f88: 4b70 ldr r3, [pc, #448] ; (806414c ) 8063f8a: 2200 movs r2, #0 8063f8c: 701a strb r2, [r3, #0] cntmeas = 0; 8063f8e: 4b75 ldr r3, [pc, #468] ; (8064164 ) 8063f90: 2200 movs r2, #0 8063f92: 801a strh r2, [r3, #0] break; 8063f94: e0b1 b.n 80640fa menupos = ReadyRec; 8063f96: 4b6c ldr r3, [pc, #432] ; (8064148 ) 8063f98: 2203 movs r2, #3 8063f9a: 701a strb r2, [r3, #0] Recording = false; 8063f9c: 4b64 ldr r3, [pc, #400] ; (8064130 ) 8063f9e: 2200 movs r2, #0 8063fa0: 701a strb r2, [r3, #0] RepeatKm = false; 8063fa2: 4b6c ldr r3, [pc, #432] ; (8064154 ) 8063fa4: 2200 movs r2, #0 8063fa6: 701a strb r2, [r3, #0] FirstTime = false; 8063fa8: 4b6b ldr r3, [pc, #428] ; (8064158 ) 8063faa: 2200 movs r2, #0 8063fac: 701a strb r2, [r3, #0] cntADC = 0; 8063fae: 4b6c ldr r3, [pc, #432] ; (8064160 ) 8063fb0: 2200 movs r2, #0 8063fb2: 801a strh r2, [r3, #0] cntmeas = 0; 8063fb4: 4b6b ldr r3, [pc, #428] ; (8064164 ) 8063fb6: 2200 movs r2, #0 8063fb8: 801a strh r2, [r3, #0] MultRec = _b24V * CorrKk[ACC] * 2; 8063fba: 4b6b ldr r3, [pc, #428] ; (8064168 ) 8063fbc: edd3 7a00 vldr s15, [r3] 8063fc0: ed9f 7a6a vldr s14, [pc, #424] ; 806416c 8063fc4: ee67 7a87 vmul.f32 s15, s15, s14 8063fc8: ee77 7aa7 vadd.f32 s15, s15, s15 8063fcc: 4b55 ldr r3, [pc, #340] ; (8064124 ) 8063fce: edc3 7a00 vstr s15, [r3] break; 8063fd2: e092 b.n 80640fa if(Recording) 8063fd4: 4b56 ldr r3, [pc, #344] ; (8064130 ) 8063fd6: 781b ldrb r3, [r3, #0] 8063fd8: b2db uxtb r3, r3 8063fda: 2b00 cmp r3, #0 8063fdc: f000 808d beq.w 80640fa for(i = 0; i < blockSize; i++) 8063fe0: 2300 movs r3, #0 8063fe2: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8063fe6: e034 b.n 8064052 In[i] = (float32_t) In16[i].lg; 8063fe8: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8063fec: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8063ff0: 4948 ldr r1, [pc, #288] ; (8064114 ) 8063ff2: f851 2022 ldr.w r2, [r1, r2, lsl #2] 8063ff6: ee07 2a90 vmov s15, r2 8063ffa: eef8 7a67 vcvt.f32.u32 s15, s15 8063ffe: 4a46 ldr r2, [pc, #280] ; (8064118 ) 8064000: 009b lsls r3, r3, #2 8064002: 4413 add r3, r2 8064004: edc3 7a00 vstr s15, [r3] In[i] -= MEAN; 8064008: 4b44 ldr r3, [pc, #272] ; (806411c ) 806400a: edd3 7a00 vldr s15, [r3] 806400e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064012: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064016: 4940 ldr r1, [pc, #256] ; (8064118 ) 8064018: 0092 lsls r2, r2, #2 806401a: 440a add r2, r1 806401c: ed92 7a00 vldr s14, [r2] 8064020: ee77 7a67 vsub.f32 s15, s14, s15 8064024: 4a3c ldr r2, [pc, #240] ; (8064118 ) 8064026: 009b lsls r3, r3, #2 8064028: 4413 add r3, r2 806402a: edc3 7a00 vstr s15, [r3] if(In16[i].lg > 0xE00000) 806402e: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 8064032: 4a38 ldr r2, [pc, #224] ; (8064114 ) 8064034: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8064038: f5b3 0f60 cmp.w r3, #14680064 ; 0xe00000 806403c: d904 bls.n 8064048 j++; 806403e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064042: 3301 adds r3, #1 8064044: f8c7 31cc str.w r3, [r7, #460] ; 0x1cc for(i = 0; i < blockSize; i++) 8064048: f8d7 31d0 ldr.w r3, [r7, #464] ; 0x1d0 806404c: 3301 adds r3, #1 806404e: f8c7 31d0 str.w r3, [r7, #464] ; 0x1d0 8064052: f8d7 21d0 ldr.w r2, [r7, #464] ; 0x1d0 8064056: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 806405a: 429a cmp r2, r3 806405c: d3c4 bcc.n 8063fe8 if(j >= 2) 806405e: f8d7 31cc ldr.w r3, [r7, #460] ; 0x1cc 8064062: 2b01 cmp r3, #1 8064064: d903 bls.n 806406e OVERDRIVE = true; 8064066: 4b2e ldr r3, [pc, #184] ; (8064120 ) 8064068: 2201 movs r2, #1 806406a: 701a strb r2, [r3, #0] 806406c: e002 b.n 8064074 else OVERDRIVE = false; 806406e: 4b2c ldr r3, [pc, #176] ; (8064120 ) 8064070: 2200 movs r2, #0 8064072: 701a strb r2, [r3, #0] arm_scale_f32(In, MultRec, &SD_Buff[0].fl, blockSize); 8064074: 4b2b ldr r3, [pc, #172] ; (8064124 ) 8064076: edd3 7a00 vldr s15, [r3] 806407a: f8d7 2220 ldr.w r2, [r7, #544] ; 0x220 806407e: 492a ldr r1, [pc, #168] ; (8064128 ) 8064080: eeb0 0a67 vmov.f32 s0, s15 8064084: 4824 ldr r0, [pc, #144] ; (8064118 ) 8064086: f066 fb5f bl 80ca748 TimeRec += Ns; 806408a: 4b2a ldr r3, [pc, #168] ; (8064134 ) 806408c: 681a ldr r2, [r3, #0] 806408e: 4b2a ldr r3, [pc, #168] ; (8064138 ) 8064090: 681b ldr r3, [r3, #0] 8064092: 4413 add r3, r2 8064094: 4a28 ldr r2, [pc, #160] ; (8064138 ) 8064096: 6013 str r3, [r2, #0] result = f_write(&F, (uint32_t *) &SD_Buff[0].fl, (blockSize << 2), (UINT *) &i); 8064098: f8d7 3220 ldr.w r3, [r7, #544] ; 0x220 806409c: 009a lsls r2, r3, #2 806409e: f507 73e8 add.w r3, r7, #464 ; 0x1d0 80640a2: 4921 ldr r1, [pc, #132] ; (8064128 ) 80640a4: 4825 ldr r0, [pc, #148] ; (806413c ) 80640a6: f062 facb bl 80c6640 80640aa: 4603 mov r3, r0 80640ac: f887 31e1 strb.w r3, [r7, #481] ; 0x1e1 if((result != FR_OK) || (TimeRec >= TIMEREC[5][pardata.TME])) { 80640b0: f897 31e1 ldrb.w r3, [r7, #481] ; 0x1e1 80640b4: 2b00 cmp r3, #0 80640b6: d10a bne.n 80640ce 80640b8: 4b1c ldr r3, [pc, #112] ; (806412c ) 80640ba: 7b9b ldrb r3, [r3, #14] 80640bc: b2db uxtb r3, r3 80640be: 4a20 ldr r2, [pc, #128] ; (8064140 ) 80640c0: 3337 adds r3, #55 ; 0x37 80640c2: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80640c6: 4b1c ldr r3, [pc, #112] ; (8064138 ) 80640c8: 681b ldr r3, [r3, #0] 80640ca: 429a cmp r2, r3 80640cc: d815 bhi.n 80640fa NeedSTOP = true; 80640ce: 4b1d ldr r3, [pc, #116] ; (8064144 ) 80640d0: 2201 movs r2, #1 80640d2: 701a strb r2, [r3, #0] break; 80640d4: e011 b.n 80640fa break; 80640d6: bf00 nop 80640d8: e010 b.n 80640fc break; 80640da: bf00 nop 80640dc: e00e b.n 80640fc break; 80640de: bf00 nop 80640e0: e00c b.n 80640fc break; 80640e2: bf00 nop 80640e4: e00a b.n 80640fc break; 80640e6: bf00 nop 80640e8: e008 b.n 80640fc break; 80640ea: bf00 nop 80640ec: e006 b.n 80640fc break; 80640ee: bf00 nop 80640f0: e004 b.n 80640fc break; 80640f2: bf00 nop 80640f4: e002 b.n 80640fc break; 80640f6: bf00 nop 80640f8: e000 b.n 80640fc break; 80640fa: bf00 nop } } Processing(); 80640fc: f000 f83a bl 8064174 READY = DATA_FREE; 8064100: 4b1b ldr r3, [pc, #108] ; (8064170 ) 8064102: 2200 movs r2, #0 8064104: 701a strb r2, [r3, #0] /*if(Initialized) { BT_SendMeas(); }*/ } 8064106: f507 770b add.w r7, r7, #556 ; 0x22c 806410a: 46bd mov sp, r7 806410c: ecbd 8b04 vpop {d8-d9} 8064110: bd90 pop {r4, r7, pc} 8064112: bf00 nop 8064114: 20058020 .word 0x20058020 8064118: 200279c0 .word 0x200279c0 806411c: 200209cc .word 0x200209cc 8064120: 20021531 .word 0x20021531 8064124: 200261c8 .word 0x200261c8 8064128: 20000000 .word 0x20000000 806412c: 20023e60 .word 0x20023e60 8064130: 20020db0 .word 0x20020db0 8064134: 20021cdc .word 0x20021cdc 8064138: 20021684 .word 0x20021684 806413c: 20022e20 .word 0x20022e20 8064140: 080ee9a4 .word 0x080ee9a4 8064144: 20020f7e .word 0x20020f7e 8064148: 20020070 .word 0x20020070 806414c: 20020d7e .word 0x20020d7e 8064150: 20020db8 .word 0x20020db8 8064154: 20020dac .word 0x20020dac 8064158: 20020dae .word 0x20020dae 806415c: 20020db2 .word 0x20020db2 8064160: 20020d7c .word 0x20020d7c 8064164: 20020d80 .word 0x20020d80 8064168: 20020080 .word 0x20020080 806416c: 2f449ba8 .word 0x2f449ba8 8064170: 20020d7f .word 0x20020d7f 08064174 : void Processing(void) { 8064174: b580 push {r7, lr} 8064176: af00 add r7, sp, #0 if(pardata.SYG != WAVE) 8064178: 4b64 ldr r3, [pc, #400] ; (806430c ) 806417a: 781b ldrb r3, [r3, #0] 806417c: b2db uxtb r3, r3 806417e: 2b04 cmp r3, #4 8064180: f000 80b5 beq.w 80642ee { if(Flag_Set_KU) 8064184: 4b62 ldr r3, [pc, #392] ; (8064310 ) 8064186: 781b ldrb r3, [r3, #0] 8064188: b2db uxtb r3, r3 806418a: 2b00 cmp r3, #0 806418c: d04e beq.n 806422c { SetKU(); 806418e: f7bd fb71 bl 8021874 HAL_Delay(300); 8064192: f44f 7096 mov.w r0, #300 ; 0x12c 8064196: f04f f877 bl 80b3288 MeanCnt = 0; 806419a: 4b5e ldr r3, [pc, #376] ; (8064314 ) 806419c: 2200 movs r2, #0 806419e: 601a str r2, [r3, #0] RepeatKm = true; 80641a0: 4b5d ldr r3, [pc, #372] ; (8064318 ) 80641a2: 2201 movs r2, #1 80641a4: 701a strb r2, [r3, #0] FirstTime = true; 80641a6: 4b5d ldr r3, [pc, #372] ; (806431c ) 80641a8: 2201 movs r2, #1 80641aa: 701a strb r2, [r3, #0] //initFilters(); firstOkt = true; 80641ac: 4b5c ldr r3, [pc, #368] ; (8064320 ) 80641ae: 2201 movs r2, #1 80641b0: 701a strb r2, [r3, #0] cntOkt = 0; 80641b2: 4b5c ldr r3, [pc, #368] ; (8064324 ) 80641b4: 2200 movs r2, #0 80641b6: 601a str r2, [r3, #0] rms0_8 = 0.0f; 80641b8: 4b5b ldr r3, [pc, #364] ; (8064328 ) 80641ba: f04f 0200 mov.w r2, #0 80641be: 601a str r2, [r3, #0] rms1 = 0.0f; 80641c0: 4b5a ldr r3, [pc, #360] ; (806432c ) 80641c2: f04f 0200 mov.w r2, #0 80641c6: 601a str r2, [r3, #0] rms1_25 = 0.0f; 80641c8: 4b59 ldr r3, [pc, #356] ; (8064330 ) 80641ca: f04f 0200 mov.w r2, #0 80641ce: 601a str r2, [r3, #0] rms1_6 = 0.0f; 80641d0: 4b58 ldr r3, [pc, #352] ; (8064334 ) 80641d2: f04f 0200 mov.w r2, #0 80641d6: 601a str r2, [r3, #0] rms2 = 0.0f; 80641d8: 4b57 ldr r3, [pc, #348] ; (8064338 ) 80641da: f04f 0200 mov.w r2, #0 80641de: 601a str r2, [r3, #0] rms2_5 = 0.0f; 80641e0: 4b56 ldr r3, [pc, #344] ; (806433c ) 80641e2: f04f 0200 mov.w r2, #0 80641e6: 601a str r2, [r3, #0] rms3_15 = 0.0f; 80641e8: 4b55 ldr r3, [pc, #340] ; (8064340 ) 80641ea: f04f 0200 mov.w r2, #0 80641ee: 601a str r2, [r3, #0] rms4 = 0.0f; 80641f0: 4b54 ldr r3, [pc, #336] ; (8064344 ) 80641f2: f04f 0200 mov.w r2, #0 80641f6: 601a str r2, [r3, #0] rms5 = 0.0f; 80641f8: 4b53 ldr r3, [pc, #332] ; (8064348 ) 80641fa: f04f 0200 mov.w r2, #0 80641fe: 601a str r2, [r3, #0] rms6_3 = 0.0f; 8064200: 4b52 ldr r3, [pc, #328] ; (806434c ) 8064202: f04f 0200 mov.w r2, #0 8064206: 601a str r2, [r3, #0] rms8 = 0.0f; 8064208: 4b51 ldr r3, [pc, #324] ; (8064350 ) 806420a: f04f 0200 mov.w r2, #0 806420e: 601a str r2, [r3, #0] rms10 = 0.0f; 8064210: 4b50 ldr r3, [pc, #320] ; (8064354 ) 8064212: f04f 0200 mov.w r2, #0 8064216: 601a str r2, [r3, #0] cntADC = 0; 8064218: 4b4f ldr r3, [pc, #316] ; (8064358 ) 806421a: 2200 movs r2, #0 806421c: 801a strh r2, [r3, #0] cntmeas = 0; 806421e: 4b4f ldr r3, [pc, #316] ; (806435c ) 8064220: 2200 movs r2, #0 8064222: 801a strh r2, [r3, #0] Flag_Set_KU = 0; 8064224: 4b3a ldr r3, [pc, #232] ; (8064310 ) 8064226: 2200 movs r2, #0 8064228: 701a strb r2, [r3, #0] 806422a: e063 b.n 80642f4 } else { if(FirstTime) 806422c: 4b3b ldr r3, [pc, #236] ; (806431c ) 806422e: 781b ldrb r3, [r3, #0] 8064230: b2db uxtb r3, r3 8064232: 2b00 cmp r3, #0 8064234: d008 beq.n 8064248 { FirstTime = false; 8064236: 4b39 ldr r3, [pc, #228] ; (806431c ) 8064238: 2200 movs r2, #0 806423a: 701a strb r2, [r3, #0] cntADC = 0; 806423c: 4b46 ldr r3, [pc, #280] ; (8064358 ) 806423e: 2200 movs r2, #0 8064240: 801a strh r2, [r3, #0] cntmeas = 0; 8064242: 4b46 ldr r3, [pc, #280] ; (806435c ) 8064244: 2200 movs r2, #0 8064246: 801a strh r2, [r3, #0] } if(RepeatKm) 8064248: 4b33 ldr r3, [pc, #204] ; (8064318 ) 806424a: 781b ldrb r3, [r3, #0] 806424c: b2db uxtb r3, r3 806424e: 2b00 cmp r3, #0 8064250: d01c beq.n 806428c { RepeatKm = false; 8064252: 4b31 ldr r3, [pc, #196] ; (8064318 ) 8064254: 2200 movs r2, #0 8064256: 701a strb r2, [r3, #0] FIRST = false; 8064258: 4b41 ldr r3, [pc, #260] ; (8064360 ) 806425a: 2200 movs r2, #0 806425c: 701a strb r2, [r3, #0] if((pardata.SYG == OSC) || ((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == ROLL))) { 806425e: 4b2b ldr r3, [pc, #172] ; (806430c ) 8064260: 781b ldrb r3, [r3, #0] 8064262: b2db uxtb r3, r3 8064264: 2b02 cmp r3, #2 8064266: d00e beq.n 8064286 8064268: 4b28 ldr r3, [pc, #160] ; (806430c ) 806426a: 781b ldrb r3, [r3, #0] 806426c: b2db uxtb r3, r3 806426e: 2b01 cmp r3, #1 8064270: d009 beq.n 8064286 8064272: 4b26 ldr r3, [pc, #152] ; (806430c ) 8064274: 781b ldrb r3, [r3, #0] 8064276: b2db uxtb r3, r3 8064278: 2b05 cmp r3, #5 806427a: d004 beq.n 8064286 806427c: 4b23 ldr r3, [pc, #140] ; (806430c ) 806427e: 781b ldrb r3, [r3, #0] 8064280: b2db uxtb r3, r3 8064282: 2b08 cmp r3, #8 8064284: d102 bne.n 806428c AUTOZOOM = true; 8064286: 4b37 ldr r3, [pc, #220] ; (8064364 ) 8064288: 2201 movs r2, #1 806428a: 701a strb r2, [r3, #0] } } if(firstmeas) 806428c: 4b36 ldr r3, [pc, #216] ; (8064368 ) 806428e: 781b ldrb r3, [r3, #0] 8064290: b2db uxtb r3, r3 8064292: 2b00 cmp r3, #0 8064294: d020 beq.n 80642d8 { firstmeas = false; 8064296: 4b34 ldr r3, [pc, #208] ; (8064368 ) 8064298: 2200 movs r2, #0 806429a: 701a strb r2, [r3, #0] FIRST = false; 806429c: 4b30 ldr r3, [pc, #192] ; (8064360 ) 806429e: 2200 movs r2, #0 80642a0: 701a strb r2, [r3, #0] NSamples = 1; 80642a2: 4b32 ldr r3, [pc, #200] ; (806436c ) 80642a4: 2201 movs r2, #1 80642a6: 601a str r2, [r3, #0] if((pardata.SYG == OSC) || (pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == ROLL)) { 80642a8: 4b18 ldr r3, [pc, #96] ; (806430c ) 80642aa: 781b ldrb r3, [r3, #0] 80642ac: b2db uxtb r3, r3 80642ae: 2b02 cmp r3, #2 80642b0: d00e beq.n 80642d0 80642b2: 4b16 ldr r3, [pc, #88] ; (806430c ) 80642b4: 781b ldrb r3, [r3, #0] 80642b6: b2db uxtb r3, r3 80642b8: 2b01 cmp r3, #1 80642ba: d009 beq.n 80642d0 80642bc: 4b13 ldr r3, [pc, #76] ; (806430c ) 80642be: 781b ldrb r3, [r3, #0] 80642c0: b2db uxtb r3, r3 80642c2: 2b05 cmp r3, #5 80642c4: d004 beq.n 80642d0 80642c6: 4b11 ldr r3, [pc, #68] ; (806430c ) 80642c8: 781b ldrb r3, [r3, #0] 80642ca: b2db uxtb r3, r3 80642cc: 2b08 cmp r3, #8 80642ce: d111 bne.n 80642f4 AUTOZOOM = true; 80642d0: 4b24 ldr r3, [pc, #144] ; (8064364 ) 80642d2: 2201 movs r2, #1 80642d4: 701a strb r2, [r3, #0] 80642d6: e00d b.n 80642f4 } } else { if(measuring) { 80642d8: 4b25 ldr r3, [pc, #148] ; (8064370 ) 80642da: 781b ldrb r3, [r3, #0] 80642dc: b2db uxtb r3, r3 80642de: 2b00 cmp r3, #0 80642e0: d008 beq.n 80642f4 NSamples++; 80642e2: 4b22 ldr r3, [pc, #136] ; (806436c ) 80642e4: 681b ldr r3, [r3, #0] 80642e6: 3301 adds r3, #1 80642e8: 4a20 ldr r2, [pc, #128] ; (806436c ) 80642ea: 6013 str r3, [r2, #0] 80642ec: e002 b.n 80642f4 } } } else { Flag_Set_KU = 0; 80642ee: 4b08 ldr r3, [pc, #32] ; (8064310 ) 80642f0: 2200 movs r2, #0 80642f2: 701a strb r2, [r3, #0] } if(NeedSTOP) 80642f4: 4b1f ldr r3, [pc, #124] ; (8064374 ) 80642f6: 781b ldrb r3, [r3, #0] 80642f8: b2db uxtb r3, r3 80642fa: 2b00 cmp r3, #0 80642fc: d004 beq.n 8064308 { NeedSTOP = false; 80642fe: 4b1d ldr r3, [pc, #116] ; (8064374 ) 8064300: 2200 movs r2, #0 8064302: 701a strb r2, [r3, #0] StopMeas(); 8064304: f7bf fa4a bl 802379c } } 8064308: bf00 nop 806430a: bd80 pop {r7, pc} 806430c: 20023e60 .word 0x20023e60 8064310: 20020d7e .word 0x20020d7e 8064314: 20020db8 .word 0x20020db8 8064318: 20020dac .word 0x20020dac 806431c: 20020dae .word 0x20020dae 8064320: 20020d94 .word 0x20020d94 8064324: 20020d90 .word 0x20020d90 8064328: 20021cd4 .word 0x20021cd4 806432c: 20021d10 .word 0x20021d10 8064330: 20021cc8 .word 0x20021cc8 8064334: 20021ccc .word 0x20021ccc 8064338: 20021cd8 .word 0x20021cd8 806433c: 20021cf8 .word 0x20021cf8 8064340: 20021d14 .word 0x20021d14 8064344: 20021d18 .word 0x20021d18 8064348: 20021ce4 .word 0x20021ce4 806434c: 20021ce0 .word 0x20021ce0 8064350: 20021cd0 .word 0x20021cd0 8064354: 20021d0c .word 0x20021d0c 8064358: 20020d7c .word 0x20020d7c 806435c: 20020d80 .word 0x20020d80 8064360: 20020db2 .word 0x20020db2 8064364: 2002098c .word 0x2002098c 8064368: 20020dad .word 0x20020dad 806436c: 20020d88 .word 0x20020d88 8064370: 20020daf .word 0x20020daf 8064374: 20020f7e .word 0x20020f7e 08064378 : void FastCopy16(DMA_DataType Src, DMA_DataType Dst, uint32_t NumHalfWords) { 8064378: b580 push {r7, lr} 806437a: b084 sub sp, #16 806437c: af00 add r7, sp, #0 806437e: 4603 mov r3, r0 8064380: 603a str r2, [r7, #0] 8064382: 71fb strb r3, [r7, #7] 8064384: 460b mov r3, r1 8064386: 71bb strb r3, [r7, #6] uint32_t AddrSrc, AddrDst; if(Src == IN_Reg) 8064388: 79fb ldrb r3, [r7, #7] 806438a: 2b01 cmp r3, #1 806438c: d102 bne.n 8064394 AddrSrc = (uint32_t) In; 806438e: 4b39 ldr r3, [pc, #228] ; (8064474 ) 8064390: 60fb str r3, [r7, #12] 8064392: e02e b.n 80643f2 else if(Src == OUT_Reg) 8064394: 79fb ldrb r3, [r7, #7] 8064396: 2b09 cmp r3, #9 8064398: d102 bne.n 80643a0 AddrSrc = (uint32_t) Out; 806439a: 4b37 ldr r3, [pc, #220] ; (8064478 ) 806439c: 60fb str r3, [r7, #12] 806439e: e028 b.n 80643f2 else if(Src == IN16_Reg) 80643a0: 79fb ldrb r3, [r7, #7] 80643a2: 2b00 cmp r3, #0 80643a4: d102 bne.n 80643ac AddrSrc = (uint32_t) In16; 80643a6: 4b35 ldr r3, [pc, #212] ; (806447c ) 80643a8: 60fb str r3, [r7, #12] 80643aa: e022 b.n 80643f2 else if(Src == MEAN_Reg) 80643ac: 79fb ldrb r3, [r7, #7] 80643ae: 2b03 cmp r3, #3 80643b0: d102 bne.n 80643b8 AddrSrc = (uint32_t) pMeanA_u16; 80643b2: 4b33 ldr r3, [pc, #204] ; (8064480 ) 80643b4: 60fb str r3, [r7, #12] 80643b6: e01c b.n 80643f2 else if(Src == SCR_Reg) 80643b8: 79fb ldrb r3, [r7, #7] 80643ba: 2b04 cmp r3, #4 80643bc: d102 bne.n 80643c4 AddrSrc = (uint32_t) pScrA_u16; 80643be: 4b31 ldr r3, [pc, #196] ; (8064484 ) 80643c0: 60fb str r3, [r7, #12] 80643c2: e016 b.n 80643f2 else if(Src == CMPLX_A) 80643c4: 79fb ldrb r3, [r7, #7] 80643c6: 2b05 cmp r3, #5 80643c8: d102 bne.n 80643d0 AddrSrc = (uint32_t) pCmplxA_u16; 80643ca: 4b2f ldr r3, [pc, #188] ; (8064488 ) 80643cc: 60fb str r3, [r7, #12] 80643ce: e010 b.n 80643f2 else if(Src == CMPLX_V) 80643d0: 79fb ldrb r3, [r7, #7] 80643d2: 2b06 cmp r3, #6 80643d4: d102 bne.n 80643dc AddrSrc = (uint32_t) pCmplxA_u16; 80643d6: 4b2c ldr r3, [pc, #176] ; (8064488 ) 80643d8: 60fb str r3, [r7, #12] 80643da: e00a b.n 80643f2 else if(Src == CMPLX_S) 80643dc: 79fb ldrb r3, [r7, #7] 80643de: 2b07 cmp r3, #7 80643e0: d102 bne.n 80643e8 AddrSrc = (uint32_t) pCmplxA_u16; 80643e2: 4b29 ldr r3, [pc, #164] ; (8064488 ) 80643e4: 60fb str r3, [r7, #12] 80643e6: e004 b.n 80643f2 else if(Src == WAV_SECTOR) 80643e8: 79fb ldrb r3, [r7, #7] 80643ea: 2b08 cmp r3, #8 80643ec: d101 bne.n 80643f2 AddrSrc = (uint32_t) sector; 80643ee: 4b27 ldr r3, [pc, #156] ; (806448c ) 80643f0: 60fb str r3, [r7, #12] if(Dst == IN_Reg) 80643f2: 79bb ldrb r3, [r7, #6] 80643f4: 2b01 cmp r3, #1 80643f6: d102 bne.n 80643fe AddrDst = (uint32_t) In; 80643f8: 4b1e ldr r3, [pc, #120] ; (8064474 ) 80643fa: 60bb str r3, [r7, #8] 80643fc: e02e b.n 806445c else if(Dst == OUT_Reg) 80643fe: 79bb ldrb r3, [r7, #6] 8064400: 2b09 cmp r3, #9 8064402: d102 bne.n 806440a AddrDst = (uint32_t) Out; 8064404: 4b1c ldr r3, [pc, #112] ; (8064478 ) 8064406: 60bb str r3, [r7, #8] 8064408: e028 b.n 806445c else if(Dst == IN16_Reg) 806440a: 79bb ldrb r3, [r7, #6] 806440c: 2b00 cmp r3, #0 806440e: d102 bne.n 8064416 AddrDst = (uint32_t) In16; 8064410: 4b1a ldr r3, [pc, #104] ; (806447c ) 8064412: 60bb str r3, [r7, #8] 8064414: e022 b.n 806445c else if(Dst == MEAN_Reg) 8064416: 79bb ldrb r3, [r7, #6] 8064418: 2b03 cmp r3, #3 806441a: d102 bne.n 8064422 AddrDst = (uint32_t) pMeanA_u16; 806441c: 4b18 ldr r3, [pc, #96] ; (8064480 ) 806441e: 60bb str r3, [r7, #8] 8064420: e01c b.n 806445c else if(Dst == SCR_Reg) 8064422: 79bb ldrb r3, [r7, #6] 8064424: 2b04 cmp r3, #4 8064426: d102 bne.n 806442e AddrDst = (uint32_t) pScrA_u16; 8064428: 4b16 ldr r3, [pc, #88] ; (8064484 ) 806442a: 60bb str r3, [r7, #8] 806442c: e016 b.n 806445c else if(Dst == CMPLX_A) 806442e: 79bb ldrb r3, [r7, #6] 8064430: 2b05 cmp r3, #5 8064432: d102 bne.n 806443a AddrDst = (uint32_t) pCmplxA_u16; 8064434: 4b14 ldr r3, [pc, #80] ; (8064488 ) 8064436: 60bb str r3, [r7, #8] 8064438: e010 b.n 806445c else if(Dst == CMPLX_V) 806443a: 79bb ldrb r3, [r7, #6] 806443c: 2b06 cmp r3, #6 806443e: d102 bne.n 8064446 AddrDst = (uint32_t) pCmplxA_u16; 8064440: 4b11 ldr r3, [pc, #68] ; (8064488 ) 8064442: 60bb str r3, [r7, #8] 8064444: e00a b.n 806445c else if(Dst == CMPLX_S) 8064446: 79bb ldrb r3, [r7, #6] 8064448: 2b07 cmp r3, #7 806444a: d102 bne.n 8064452 AddrDst = (uint32_t) pCmplxA_u16; 806444c: 4b0e ldr r3, [pc, #56] ; (8064488 ) 806444e: 60bb str r3, [r7, #8] 8064450: e004 b.n 806445c else if(Dst == WAV_SECTOR) 8064452: 79bb ldrb r3, [r7, #6] 8064454: 2b08 cmp r3, #8 8064456: d101 bne.n 806445c AddrDst = (uint32_t) sector; 8064458: 4b0c ldr r3, [pc, #48] ; (806448c ) 806445a: 60bb str r3, [r7, #8] #ifdef USE_DMA_MEMCPY DMA_MemToMem_HALFWORD(AddrSrc, AddrDst, NumHalfWords); #else memcpy((void *) AddrDst, (void *) AddrSrc, (NumHalfWords << 1)); 806445c: 68b8 ldr r0, [r7, #8] 806445e: 68f9 ldr r1, [r7, #12] 8064460: 683b ldr r3, [r7, #0] 8064462: 005b lsls r3, r3, #1 8064464: 461a mov r2, r3 8064466: f068 fe00 bl 80cd06a #endif } 806446a: bf00 nop 806446c: 3710 adds r7, #16 806446e: 46bd mov sp, r7 8064470: bd80 pop {r7, pc} 8064472: bf00 nop 8064474: 200279c0 .word 0x200279c0 8064478: 20008000 .word 0x20008000 806447c: 20058020 .word 0x20058020 8064480: 640a0000 .word 0x640a0000 8064484: 64080000 .word 0x64080000 8064488: 64090000 .word 0x64090000 806448c: 2007c000 .word 0x2007c000 08064490 : void ARM_ADD_F32(DMA_DataType A, DMA_DataType B, DMA_DataType Dst, uint32_t BlockSize) { 8064490: b580 push {r7, lr} 8064492: b086 sub sp, #24 8064494: af00 add r7, sp, #0 8064496: 603b str r3, [r7, #0] 8064498: 4603 mov r3, r0 806449a: 71fb strb r3, [r7, #7] 806449c: 460b mov r3, r1 806449e: 71bb strb r3, [r7, #6] 80644a0: 4613 mov r3, r2 80644a2: 717b strb r3, [r7, #5] float32_t *AddrSrc1; float32_t *AddrSrc2; float32_t *AddrDst; if(A == IN_Reg) 80644a4: 79fb ldrb r3, [r7, #7] 80644a6: 2b01 cmp r3, #1 80644a8: d102 bne.n 80644b0 AddrSrc1 = In; 80644aa: 4b38 ldr r3, [pc, #224] ; (806458c ) 80644ac: 617b str r3, [r7, #20] 80644ae: e01c b.n 80644ea else if(A == MEAN_Reg) 80644b0: 79fb ldrb r3, [r7, #7] 80644b2: 2b03 cmp r3, #3 80644b4: d102 bne.n 80644bc AddrSrc1 = pMeanA_f32; 80644b6: 4b36 ldr r3, [pc, #216] ; (8064590 ) 80644b8: 617b str r3, [r7, #20] 80644ba: e016 b.n 80644ea else if(A == SCR_Reg) 80644bc: 79fb ldrb r3, [r7, #7] 80644be: 2b04 cmp r3, #4 80644c0: d102 bne.n 80644c8 AddrSrc1 = pScrA_f32; 80644c2: 4b34 ldr r3, [pc, #208] ; (8064594 ) 80644c4: 617b str r3, [r7, #20] 80644c6: e010 b.n 80644ea else if(A == CMPLX_A) 80644c8: 79fb ldrb r3, [r7, #7] 80644ca: 2b05 cmp r3, #5 80644cc: d102 bne.n 80644d4 AddrSrc1 = pCmplxA_f32; 80644ce: 4b32 ldr r3, [pc, #200] ; (8064598 ) 80644d0: 617b str r3, [r7, #20] 80644d2: e00a b.n 80644ea else if(A == CMPLX_V) 80644d4: 79fb ldrb r3, [r7, #7] 80644d6: 2b06 cmp r3, #6 80644d8: d102 bne.n 80644e0 AddrSrc1 = pCmplxA_f32; 80644da: 4b2f ldr r3, [pc, #188] ; (8064598 ) 80644dc: 617b str r3, [r7, #20] 80644de: e004 b.n 80644ea else if(A == CMPLX_S) 80644e0: 79fb ldrb r3, [r7, #7] 80644e2: 2b07 cmp r3, #7 80644e4: d101 bne.n 80644ea AddrSrc1 = pCmplxA_f32; 80644e6: 4b2c ldr r3, [pc, #176] ; (8064598 ) 80644e8: 617b str r3, [r7, #20] if(B == IN_Reg) 80644ea: 79bb ldrb r3, [r7, #6] 80644ec: 2b01 cmp r3, #1 80644ee: d102 bne.n 80644f6 AddrSrc2 = In; 80644f0: 4b26 ldr r3, [pc, #152] ; (806458c ) 80644f2: 613b str r3, [r7, #16] 80644f4: e01c b.n 8064530 else if(B == MEAN_Reg) 80644f6: 79bb ldrb r3, [r7, #6] 80644f8: 2b03 cmp r3, #3 80644fa: d102 bne.n 8064502 AddrSrc2 = pMeanA_f32; 80644fc: 4b24 ldr r3, [pc, #144] ; (8064590 ) 80644fe: 613b str r3, [r7, #16] 8064500: e016 b.n 8064530 else if(B == SCR_Reg) 8064502: 79bb ldrb r3, [r7, #6] 8064504: 2b04 cmp r3, #4 8064506: d102 bne.n 806450e AddrSrc2 = pScrA_f32; 8064508: 4b22 ldr r3, [pc, #136] ; (8064594 ) 806450a: 613b str r3, [r7, #16] 806450c: e010 b.n 8064530 else if(B == CMPLX_A) 806450e: 79bb ldrb r3, [r7, #6] 8064510: 2b05 cmp r3, #5 8064512: d102 bne.n 806451a AddrSrc2 = pCmplxA_f32; 8064514: 4b20 ldr r3, [pc, #128] ; (8064598 ) 8064516: 613b str r3, [r7, #16] 8064518: e00a b.n 8064530 else if(B == CMPLX_V) 806451a: 79bb ldrb r3, [r7, #6] 806451c: 2b06 cmp r3, #6 806451e: d102 bne.n 8064526 AddrSrc2 = pCmplxA_f32; 8064520: 4b1d ldr r3, [pc, #116] ; (8064598 ) 8064522: 613b str r3, [r7, #16] 8064524: e004 b.n 8064530 else if(B == CMPLX_S) 8064526: 79bb ldrb r3, [r7, #6] 8064528: 2b07 cmp r3, #7 806452a: d101 bne.n 8064530 AddrSrc2 = pCmplxA_f32; 806452c: 4b1a ldr r3, [pc, #104] ; (8064598 ) 806452e: 613b str r3, [r7, #16] if(Dst == IN_Reg) 8064530: 797b ldrb r3, [r7, #5] 8064532: 2b01 cmp r3, #1 8064534: d102 bne.n 806453c AddrDst = In; 8064536: 4b15 ldr r3, [pc, #84] ; (806458c ) 8064538: 60fb str r3, [r7, #12] 806453a: e01c b.n 8064576 else if(Dst == MEAN_Reg) 806453c: 797b ldrb r3, [r7, #5] 806453e: 2b03 cmp r3, #3 8064540: d102 bne.n 8064548 AddrDst = pMeanA_f32; 8064542: 4b13 ldr r3, [pc, #76] ; (8064590 ) 8064544: 60fb str r3, [r7, #12] 8064546: e016 b.n 8064576 else if(Dst == SCR_Reg) 8064548: 797b ldrb r3, [r7, #5] 806454a: 2b04 cmp r3, #4 806454c: d102 bne.n 8064554 AddrDst = pScrA_f32; 806454e: 4b11 ldr r3, [pc, #68] ; (8064594 ) 8064550: 60fb str r3, [r7, #12] 8064552: e010 b.n 8064576 else if(Dst == CMPLX_A) 8064554: 797b ldrb r3, [r7, #5] 8064556: 2b05 cmp r3, #5 8064558: d102 bne.n 8064560 AddrDst = pCmplxA_f32; 806455a: 4b0f ldr r3, [pc, #60] ; (8064598 ) 806455c: 60fb str r3, [r7, #12] 806455e: e00a b.n 8064576 else if(Dst == CMPLX_V) 8064560: 797b ldrb r3, [r7, #5] 8064562: 2b06 cmp r3, #6 8064564: d102 bne.n 806456c AddrDst = pCmplxA_f32; 8064566: 4b0c ldr r3, [pc, #48] ; (8064598 ) 8064568: 60fb str r3, [r7, #12] 806456a: e004 b.n 8064576 else if(Dst == CMPLX_S) 806456c: 797b ldrb r3, [r7, #5] 806456e: 2b07 cmp r3, #7 8064570: d101 bne.n 8064576 AddrDst = pCmplxA_f32; 8064572: 4b09 ldr r3, [pc, #36] ; (8064598 ) 8064574: 60fb str r3, [r7, #12] arm_add_f32(AddrSrc1, AddrSrc2, AddrDst, BlockSize); 8064576: 683b ldr r3, [r7, #0] 8064578: 68fa ldr r2, [r7, #12] 806457a: 6939 ldr r1, [r7, #16] 806457c: 6978 ldr r0, [r7, #20] 806457e: f066 f995 bl 80ca8ac } 8064582: bf00 nop 8064584: 3718 adds r7, #24 8064586: 46bd mov sp, r7 8064588: bd80 pop {r7, pc} 806458a: bf00 nop 806458c: 200279c0 .word 0x200279c0 8064590: 640a0000 .word 0x640a0000 8064594: 64080000 .word 0x64080000 8064598: 64090000 .word 0x64090000 0806459c : void ARM_SCALE_F32(DMA_DataType Src, float32_t Scale, DMA_DataType Dst, uint32_t BlockSize) { 806459c: b580 push {r7, lr} 806459e: b086 sub sp, #24 80645a0: af00 add r7, sp, #0 80645a2: 4603 mov r3, r0 80645a4: ed87 0a02 vstr s0, [r7, #8] 80645a8: 607a str r2, [r7, #4] 80645aa: 73fb strb r3, [r7, #15] 80645ac: 460b mov r3, r1 80645ae: 73bb strb r3, [r7, #14] float32_t *AddrSrc; float32_t *AddrDst; if(Src == IN_Reg) 80645b0: 7bfb ldrb r3, [r7, #15] 80645b2: 2b01 cmp r3, #1 80645b4: d102 bne.n 80645bc AddrSrc = In; 80645b6: 4b27 ldr r3, [pc, #156] ; (8064654 ) 80645b8: 617b str r3, [r7, #20] 80645ba: e01c b.n 80645f6 else if(Src == MEAN_Reg) 80645bc: 7bfb ldrb r3, [r7, #15] 80645be: 2b03 cmp r3, #3 80645c0: d102 bne.n 80645c8 AddrSrc = pMeanA_f32; 80645c2: 4b25 ldr r3, [pc, #148] ; (8064658 ) 80645c4: 617b str r3, [r7, #20] 80645c6: e016 b.n 80645f6 else if(Src == SCR_Reg) 80645c8: 7bfb ldrb r3, [r7, #15] 80645ca: 2b04 cmp r3, #4 80645cc: d102 bne.n 80645d4 AddrSrc = pScrA_f32; 80645ce: 4b23 ldr r3, [pc, #140] ; (806465c ) 80645d0: 617b str r3, [r7, #20] 80645d2: e010 b.n 80645f6 else if(Src == CMPLX_A) 80645d4: 7bfb ldrb r3, [r7, #15] 80645d6: 2b05 cmp r3, #5 80645d8: d102 bne.n 80645e0 AddrSrc = pCmplxA_f32; 80645da: 4b21 ldr r3, [pc, #132] ; (8064660 ) 80645dc: 617b str r3, [r7, #20] 80645de: e00a b.n 80645f6 else if(Src == CMPLX_V) 80645e0: 7bfb ldrb r3, [r7, #15] 80645e2: 2b06 cmp r3, #6 80645e4: d102 bne.n 80645ec AddrSrc = pCmplxA_f32; 80645e6: 4b1e ldr r3, [pc, #120] ; (8064660 ) 80645e8: 617b str r3, [r7, #20] 80645ea: e004 b.n 80645f6 else if(Src == CMPLX_S) 80645ec: 7bfb ldrb r3, [r7, #15] 80645ee: 2b07 cmp r3, #7 80645f0: d101 bne.n 80645f6 AddrSrc = pCmplxA_f32; 80645f2: 4b1b ldr r3, [pc, #108] ; (8064660 ) 80645f4: 617b str r3, [r7, #20] if(Dst == IN_Reg) 80645f6: 7bbb ldrb r3, [r7, #14] 80645f8: 2b01 cmp r3, #1 80645fa: d102 bne.n 8064602 AddrDst = In; 80645fc: 4b15 ldr r3, [pc, #84] ; (8064654 ) 80645fe: 613b str r3, [r7, #16] 8064600: e01c b.n 806463c else if(Dst == MEAN_Reg) 8064602: 7bbb ldrb r3, [r7, #14] 8064604: 2b03 cmp r3, #3 8064606: d102 bne.n 806460e AddrDst = pMeanA_f32; 8064608: 4b13 ldr r3, [pc, #76] ; (8064658 ) 806460a: 613b str r3, [r7, #16] 806460c: e016 b.n 806463c else if(Dst == SCR_Reg) 806460e: 7bbb ldrb r3, [r7, #14] 8064610: 2b04 cmp r3, #4 8064612: d102 bne.n 806461a AddrDst = pScrA_f32; 8064614: 4b11 ldr r3, [pc, #68] ; (806465c ) 8064616: 613b str r3, [r7, #16] 8064618: e010 b.n 806463c else if(Dst == CMPLX_A) 806461a: 7bbb ldrb r3, [r7, #14] 806461c: 2b05 cmp r3, #5 806461e: d102 bne.n 8064626 AddrDst = pCmplxA_f32; 8064620: 4b0f ldr r3, [pc, #60] ; (8064660 ) 8064622: 613b str r3, [r7, #16] 8064624: e00a b.n 806463c else if(Dst == CMPLX_V) 8064626: 7bbb ldrb r3, [r7, #14] 8064628: 2b06 cmp r3, #6 806462a: d102 bne.n 8064632 AddrDst = pCmplxA_f32; 806462c: 4b0c ldr r3, [pc, #48] ; (8064660 ) 806462e: 613b str r3, [r7, #16] 8064630: e004 b.n 806463c else if(Dst == CMPLX_S) 8064632: 7bbb ldrb r3, [r7, #14] 8064634: 2b07 cmp r3, #7 8064636: d101 bne.n 806463c AddrDst = pCmplxA_f32; 8064638: 4b09 ldr r3, [pc, #36] ; (8064660 ) 806463a: 613b str r3, [r7, #16] arm_scale_f32(AddrSrc, Scale, AddrDst, BlockSize); 806463c: 687a ldr r2, [r7, #4] 806463e: 6939 ldr r1, [r7, #16] 8064640: ed97 0a02 vldr s0, [r7, #8] 8064644: 6978 ldr r0, [r7, #20] 8064646: f066 f87f bl 80ca748 } 806464a: bf00 nop 806464c: 3718 adds r7, #24 806464e: 46bd mov sp, r7 8064650: bd80 pop {r7, pc} 8064652: bf00 nop 8064654: 200279c0 .word 0x200279c0 8064658: 640a0000 .word 0x640a0000 806465c: 64080000 .word 0x64080000 8064660: 64090000 .word 0x64090000 08064664 : void GetData(void) { 8064664: b580 push {r7, lr} 8064666: b082 sub sp, #8 8064668: af00 add r7, sp, #0 volatile uint16_t n; volatile uint16_t BlockSize; ADC_POINT = lastcntmeas; 806466a: 4b3b ldr r3, [pc, #236] ; (8064758 ) 806466c: 881b ldrh r3, [r3, #0] 806466e: b29a uxth r2, r3 8064670: 4b3a ldr r3, [pc, #232] ; (806475c ) 8064672: 801a strh r2, [r3, #0] TIMEOUT_OFF = min15; 8064674: 4b3a ldr r3, [pc, #232] ; (8064760 ) 8064676: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 806467a: 601a str r2, [r3, #0] TIMEOUT_OFF2 = sec10; 806467c: 4b39 ldr r3, [pc, #228] ; (8064764 ) 806467e: f44f 42a0 mov.w r2, #20480 ; 0x5000 8064682: 601a str r2, [r3, #0] if(pardata.SYG == UDAR) 8064684: 4b38 ldr r3, [pc, #224] ; (8064768 ) 8064686: 781b ldrb r3, [r3, #0] 8064688: b2db uxtb r3, r3 806468a: 2b09 cmp r3, #9 806468c: d112 bne.n 80646b4 { if(READY == 1) 806468e: 4b37 ldr r3, [pc, #220] ; (806476c ) 8064690: 781b ldrb r3, [r3, #0] 8064692: b2db uxtb r3, r3 8064694: 2b01 cmp r3, #1 8064696: d106 bne.n 80646a6 memcpy((void *) In16, (void *) &AdcBuff_16(0), 32768); 8064698: f44f 4200 mov.w r2, #32768 ; 0x8000 806469c: 4934 ldr r1, [pc, #208] ; (8064770 ) 806469e: 4835 ldr r0, [pc, #212] ; (8064774 ) 80646a0: f068 fce3 bl 80cd06a memcpy((void *) &In16[n].lg, (void *) &AdcBuff(0), (ADC_POINT << 2)); #endif /**/ } } } 80646a4: e053 b.n 806474e else memcpy((void *) In16, (void *) &AdcBuff_16(HALF_UDAR_BUFF), 32768); 80646a6: f44f 4200 mov.w r2, #32768 ; 0x8000 80646aa: 4933 ldr r1, [pc, #204] ; (8064778 ) 80646ac: 4831 ldr r0, [pc, #196] ; (8064774 ) 80646ae: f068 fcdc bl 80cd06a } 80646b2: e04c b.n 806474e if(pardata.SYG == WAVE) 80646b4: 4b2c ldr r3, [pc, #176] ; (8064768 ) 80646b6: 781b ldrb r3, [r3, #0] 80646b8: b2db uxtb r3, r3 80646ba: 2b04 cmp r3, #4 80646bc: d104 bne.n 80646c8 BlockSize = measlen; 80646be: 4b2f ldr r3, [pc, #188] ; (806477c ) 80646c0: 881b ldrh r3, [r3, #0] 80646c2: b29b uxth r3, r3 80646c4: 80bb strh r3, [r7, #4] 80646c6: e003 b.n 80646d0 BlockSize = Ns; 80646c8: 4b2d ldr r3, [pc, #180] ; (8064780 ) 80646ca: 681b ldr r3, [r3, #0] 80646cc: b29b uxth r3, r3 80646ce: 80bb strh r3, [r7, #4] if(ADC_POINT >= BlockSize) 80646d0: 4b22 ldr r3, [pc, #136] ; (806475c ) 80646d2: 881b ldrh r3, [r3, #0] 80646d4: b29a uxth r2, r3 80646d6: 88bb ldrh r3, [r7, #4] 80646d8: b29b uxth r3, r3 80646da: 429a cmp r2, r3 80646dc: d313 bcc.n 8064706 memcpy((void *) In16, (void *) &AdcBuff(ADC_POINT - BlockSize), (BlockSize << 2)); 80646de: 4b1f ldr r3, [pc, #124] ; (806475c ) 80646e0: 881b ldrh r3, [r3, #0] 80646e2: b29b uxth r3, r3 80646e4: 461a mov r2, r3 80646e6: 88bb ldrh r3, [r7, #4] 80646e8: b29b uxth r3, r3 80646ea: 1ad3 subs r3, r2, r3 80646ec: 009b lsls r3, r3, #2 80646ee: 461a mov r2, r3 80646f0: 4b1f ldr r3, [pc, #124] ; (8064770 ) 80646f2: 4413 add r3, r2 80646f4: 4619 mov r1, r3 80646f6: 88bb ldrh r3, [r7, #4] 80646f8: b29b uxth r3, r3 80646fa: 009b lsls r3, r3, #2 80646fc: 461a mov r2, r3 80646fe: 481d ldr r0, [pc, #116] ; (8064774 ) 8064700: f068 fcb3 bl 80cd06a } 8064704: e023 b.n 806474e n = (BlockSize - ADC_POINT); 8064706: 88bb ldrh r3, [r7, #4] 8064708: b29a uxth r2, r3 806470a: 4b14 ldr r3, [pc, #80] ; (806475c ) 806470c: 881b ldrh r3, [r3, #0] 806470e: b29b uxth r3, r3 8064710: 1ad3 subs r3, r2, r3 8064712: b29b uxth r3, r3 8064714: 80fb strh r3, [r7, #6] memcpy((void *) In16, (void *) &AdcBuff(SIZE_ADC_BUFF - n), (n << 2)); 8064716: 88fb ldrh r3, [r7, #6] 8064718: b29b uxth r3, r3 806471a: f5c3 4300 rsb r3, r3, #32768 ; 0x8000 806471e: 009a lsls r2, r3, #2 8064720: 4b13 ldr r3, [pc, #76] ; (8064770 ) 8064722: 4413 add r3, r2 8064724: 4619 mov r1, r3 8064726: 88fb ldrh r3, [r7, #6] 8064728: b29b uxth r3, r3 806472a: 009b lsls r3, r3, #2 806472c: 461a mov r2, r3 806472e: 4811 ldr r0, [pc, #68] ; (8064774 ) 8064730: f068 fc9b bl 80cd06a memcpy((void *) &In16[n].lg, (void *) &AdcBuff(0), (ADC_POINT << 2)); 8064734: 88fb ldrh r3, [r7, #6] 8064736: b29b uxth r3, r3 8064738: 009b lsls r3, r3, #2 806473a: 4a0e ldr r2, [pc, #56] ; (8064774 ) 806473c: 1898 adds r0, r3, r2 806473e: 4b07 ldr r3, [pc, #28] ; (806475c ) 8064740: 881b ldrh r3, [r3, #0] 8064742: b29b uxth r3, r3 8064744: 009b lsls r3, r3, #2 8064746: 461a mov r2, r3 8064748: 4909 ldr r1, [pc, #36] ; (8064770 ) 806474a: f068 fc8e bl 80cd06a } 806474e: bf00 nop 8064750: 3708 adds r7, #8 8064752: 46bd mov sp, r7 8064754: bd80 pop {r7, pc} 8064756: bf00 nop 8064758: 20020d84 .word 0x20020d84 806475c: 20021608 .word 0x20021608 8064760: 200209c0 .word 0x200209c0 8064764: 200209c4 .word 0x200209c4 8064768: 20023e60 .word 0x20023e60 806476c: 20020d7f .word 0x20020d7f 8064770: 64060000 .word 0x64060000 8064774: 20058020 .word 0x20058020 8064778: 64068000 .word 0x64068000 806477c: 20020d8c .word 0x20020d8c 8064780: 20021cdc .word 0x20021cdc 08064784 : void WindowFunc(uint8_t Window, uint16_t Samples) { 8064784: b580 push {r7, lr} 8064786: b08e sub sp, #56 ; 0x38 8064788: af00 add r7, sp, #0 806478a: 4603 mov r3, r0 806478c: 460a mov r2, r1 806478e: 71fb strb r3, [r7, #7] 8064790: 4613 mov r3, r2 8064792: 80bb strh r3, [r7, #4] uint16_t i; float32_t _Samples; float32_t a0,a1,a2,a3,a4, tmp0, tmp1, tmp2, tmp3; _Samples = 1/(float32_t)Samples; 8064794: 88bb ldrh r3, [r7, #4] 8064796: ee07 3a90 vmov s15, r3 806479a: eeb8 7a67 vcvt.f32.u32 s14, s15 806479e: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 80647a2: eec6 7a87 vdiv.f32 s15, s13, s14 80647a6: edc7 7a0c vstr s15, [r7, #48] ; 0x30 switch(Window) 80647aa: 79fb ldrb r3, [r7, #7] 80647ac: 3b01 subs r3, #1 80647ae: 2b04 cmp r3, #4 80647b0: f200 82d4 bhi.w 8064d5c 80647b4: a201 add r2, pc, #4 ; (adr r2, 80647bc ) 80647b6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80647ba: bf00 nop 80647bc: 080647d1 .word 0x080647d1 80647c0: 08064879 .word 0x08064879 80647c4: 0806499d .word 0x0806499d 80647c8: 08064b5d .word 0x08064b5d 80647cc: 08064c07 .word 0x08064c07 { case HANN: for(i = 0; i < Samples; i++) 80647d0: 2300 movs r3, #0 80647d2: 86fb strh r3, [r7, #54] ; 0x36 80647d4: e04b b.n 806486e { //*******Îêîííîå ïðåîáðàçîâàíèå Õàííà tmp0 = _2PI; tmp1 = (float32_t)i; 80647d6: 4bd7 ldr r3, [pc, #860] ; (8064b34 ) 80647d8: 613b str r3, [r7, #16] 80647da: 8efb ldrh r3, [r7, #54] ; 0x36 80647dc: ee07 3a90 vmov s15, r3 80647e0: eef8 7a67 vcvt.f32.u32 s15, s15 80647e4: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80647e8: f107 0210 add.w r2, r7, #16 80647ec: f107 010c add.w r1, r7, #12 80647f0: f107 0010 add.w r0, r7, #16 80647f4: 2301 movs r3, #1 80647f6: f066 f813 bl 80ca820 tmp1 = _Samples; 80647fa: 6b3b ldr r3, [r7, #48] ; 0x30 80647fc: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80647fe: f107 0210 add.w r2, r7, #16 8064802: f107 010c add.w r1, r7, #12 8064806: f107 0010 add.w r0, r7, #16 806480a: 2301 movs r3, #1 806480c: f066 f808 bl 80ca820 tmp0 = arm_cos_f32(tmp0); 8064810: edd7 7a04 vldr s15, [r7, #16] 8064814: eeb0 0a67 vmov.f32 s0, s15 8064818: f04d fecc bl 80b25b4 806481c: eef0 7a40 vmov.f32 s15, s0 8064820: edc7 7a04 vstr s15, [r7, #16] tmp1 = 0.5; 8064824: f04f 537c mov.w r3, #1056964608 ; 0x3f000000 8064828: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 806482a: f107 0210 add.w r2, r7, #16 806482e: f107 010c add.w r1, r7, #12 8064832: f107 0010 add.w r0, r7, #16 8064836: 2301 movs r3, #1 8064838: f065 fff2 bl 80ca820 arm_sub_f32(&tmp1, &tmp0, &tmp0, 1); 806483c: f107 0210 add.w r2, r7, #16 8064840: f107 0110 add.w r1, r7, #16 8064844: f107 000c add.w r0, r7, #12 8064848: 2301 movs r3, #1 806484a: f065 ff37 bl 80ca6bc arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 806484e: 8efb ldrh r3, [r7, #54] ; 0x36 8064850: 009b lsls r3, r3, #2 8064852: 4ab9 ldr r2, [pc, #740] ; (8064b38 ) 8064854: 1899 adds r1, r3, r2 8064856: 8efb ldrh r3, [r7, #54] ; 0x36 8064858: 009b lsls r3, r3, #2 806485a: 4ab7 ldr r2, [pc, #732] ; (8064b38 ) 806485c: 441a add r2, r3 806485e: f107 0010 add.w r0, r7, #16 8064862: 2301 movs r3, #1 8064864: f065 ffdc bl 80ca820 for(i = 0; i < Samples; i++) 8064868: 8efb ldrh r3, [r7, #54] ; 0x36 806486a: 3301 adds r3, #1 806486c: 86fb strh r3, [r7, #54] ; 0x36 806486e: 8efa ldrh r2, [r7, #54] ; 0x36 8064870: 88bb ldrh r3, [r7, #4] 8064872: 429a cmp r2, r3 8064874: d3af bcc.n 80647d6 } break; 8064876: e271 b.n 8064d5c case BLACK: for(i = 0; i < Samples; i++) 8064878: 2300 movs r3, #0 806487a: 86fb strh r3, [r7, #54] ; 0x36 806487c: e088 b.n 8064990 { a0 = 0.42; 806487e: 4baf ldr r3, [pc, #700] ; (8064b3c ) 8064880: 623b str r3, [r7, #32] tmp0 = _2PI; tmp1 = (float32_t)i; 8064882: 4bac ldr r3, [pc, #688] ; (8064b34 ) 8064884: 613b str r3, [r7, #16] 8064886: 8efb ldrh r3, [r7, #54] ; 0x36 8064888: ee07 3a90 vmov s15, r3 806488c: eef8 7a67 vcvt.f32.u32 s15, s15 8064890: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064894: f107 0210 add.w r2, r7, #16 8064898: f107 010c add.w r1, r7, #12 806489c: f107 0010 add.w r0, r7, #16 80648a0: 2301 movs r3, #1 80648a2: f065 ffbd bl 80ca820 tmp1 = _Samples; 80648a6: 6b3b ldr r3, [r7, #48] ; 0x30 80648a8: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80648aa: f107 0210 add.w r2, r7, #16 80648ae: f107 010c add.w r1, r7, #12 80648b2: f107 0010 add.w r0, r7, #16 80648b6: 2301 movs r3, #1 80648b8: f065 ffb2 bl 80ca820 tmp0 = arm_cos_f32(tmp0); 80648bc: edd7 7a04 vldr s15, [r7, #16] 80648c0: eeb0 0a67 vmov.f32 s0, s15 80648c4: f04d fe76 bl 80b25b4 80648c8: eef0 7a40 vmov.f32 s15, s0 80648cc: edc7 7a04 vstr s15, [r7, #16] a1 = 0.5; 80648d0: f04f 537c mov.w r3, #1056964608 ; 0x3f000000 80648d4: 61fb str r3, [r7, #28] arm_mult_f32(&a1, &tmp0, &a1, 1); 80648d6: f107 021c add.w r2, r7, #28 80648da: f107 0110 add.w r1, r7, #16 80648de: f107 001c add.w r0, r7, #28 80648e2: 2301 movs r3, #1 80648e4: f065 ff9c bl 80ca820 tmp0 = _4PI; tmp1 = (float32_t)i; 80648e8: 4b95 ldr r3, [pc, #596] ; (8064b40 ) 80648ea: 613b str r3, [r7, #16] 80648ec: 8efb ldrh r3, [r7, #54] ; 0x36 80648ee: ee07 3a90 vmov s15, r3 80648f2: eef8 7a67 vcvt.f32.u32 s15, s15 80648f6: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80648fa: f107 0210 add.w r2, r7, #16 80648fe: f107 010c add.w r1, r7, #12 8064902: f107 0010 add.w r0, r7, #16 8064906: 2301 movs r3, #1 8064908: f065 ff8a bl 80ca820 tmp1 = _Samples; 806490c: 6b3b ldr r3, [r7, #48] ; 0x30 806490e: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064910: f107 0210 add.w r2, r7, #16 8064914: f107 010c add.w r1, r7, #12 8064918: f107 0010 add.w r0, r7, #16 806491c: 2301 movs r3, #1 806491e: f065 ff7f bl 80ca820 tmp0 = arm_cos_f32(tmp0); 8064922: edd7 7a04 vldr s15, [r7, #16] 8064926: eeb0 0a67 vmov.f32 s0, s15 806492a: f04d fe43 bl 80b25b4 806492e: eef0 7a40 vmov.f32 s15, s0 8064932: edc7 7a04 vstr s15, [r7, #16] a2 = 0.08; 8064936: 4b83 ldr r3, [pc, #524] ; (8064b44 ) 8064938: 61bb str r3, [r7, #24] arm_mult_f32(&a2, &tmp0, &a2, 1); 806493a: f107 0218 add.w r2, r7, #24 806493e: f107 0110 add.w r1, r7, #16 8064942: f107 0018 add.w r0, r7, #24 8064946: 2301 movs r3, #1 8064948: f065 ff6a bl 80ca820 arm_sub_f32(&a0, &a1, &tmp0, 1); 806494c: f107 0210 add.w r2, r7, #16 8064950: f107 011c add.w r1, r7, #28 8064954: f107 0020 add.w r0, r7, #32 8064958: 2301 movs r3, #1 806495a: f065 feaf bl 80ca6bc arm_add_f32(&tmp0, &a2, &tmp0, 1); 806495e: f107 0210 add.w r2, r7, #16 8064962: f107 0118 add.w r1, r7, #24 8064966: f107 0010 add.w r0, r7, #16 806496a: 2301 movs r3, #1 806496c: f065 ff9e bl 80ca8ac arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 8064970: 8efb ldrh r3, [r7, #54] ; 0x36 8064972: 009b lsls r3, r3, #2 8064974: 4a70 ldr r2, [pc, #448] ; (8064b38 ) 8064976: 1899 adds r1, r3, r2 8064978: 8efb ldrh r3, [r7, #54] ; 0x36 806497a: 009b lsls r3, r3, #2 806497c: 4a6e ldr r2, [pc, #440] ; (8064b38 ) 806497e: 441a add r2, r3 8064980: f107 0010 add.w r0, r7, #16 8064984: 2301 movs r3, #1 8064986: f065 ff4b bl 80ca820 for(i = 0; i < Samples; i++) 806498a: 8efb ldrh r3, [r7, #54] ; 0x36 806498c: 3301 adds r3, #1 806498e: 86fb strh r3, [r7, #54] ; 0x36 8064990: 8efa ldrh r2, [r7, #54] ; 0x36 8064992: 88bb ldrh r3, [r7, #4] 8064994: 429a cmp r2, r3 8064996: f4ff af72 bcc.w 806487e } break; 806499a: e1df b.n 8064d5c case BLACK_NAT: for(i = 0; i < Samples; i++) 806499c: 2300 movs r3, #0 806499e: 86fb strh r3, [r7, #54] ; 0x36 80649a0: e0c2 b.n 8064b28 { a0 = 0.3635819; 80649a2: 4b69 ldr r3, [pc, #420] ; (8064b48 ) 80649a4: 623b str r3, [r7, #32] tmp0 = _2PI; tmp1 = (float32_t)i; 80649a6: 4b63 ldr r3, [pc, #396] ; (8064b34 ) 80649a8: 613b str r3, [r7, #16] 80649aa: 8efb ldrh r3, [r7, #54] ; 0x36 80649ac: ee07 3a90 vmov s15, r3 80649b0: eef8 7a67 vcvt.f32.u32 s15, s15 80649b4: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80649b8: f107 0210 add.w r2, r7, #16 80649bc: f107 010c add.w r1, r7, #12 80649c0: f107 0010 add.w r0, r7, #16 80649c4: 2301 movs r3, #1 80649c6: f065 ff2b bl 80ca820 tmp1 = _Samples; 80649ca: 6b3b ldr r3, [r7, #48] ; 0x30 80649cc: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 80649ce: f107 0210 add.w r2, r7, #16 80649d2: f107 010c add.w r1, r7, #12 80649d6: f107 0010 add.w r0, r7, #16 80649da: 2301 movs r3, #1 80649dc: f065 ff20 bl 80ca820 tmp0 = arm_cos_f32(tmp0); 80649e0: edd7 7a04 vldr s15, [r7, #16] 80649e4: eeb0 0a67 vmov.f32 s0, s15 80649e8: f04d fde4 bl 80b25b4 80649ec: eef0 7a40 vmov.f32 s15, s0 80649f0: edc7 7a04 vstr s15, [r7, #16] a1 = 0.4891775; 80649f4: 4b55 ldr r3, [pc, #340] ; (8064b4c ) 80649f6: 61fb str r3, [r7, #28] arm_mult_f32(&a1, &tmp0, &a1, 1); 80649f8: f107 021c add.w r2, r7, #28 80649fc: f107 0110 add.w r1, r7, #16 8064a00: f107 001c add.w r0, r7, #28 8064a04: 2301 movs r3, #1 8064a06: f065 ff0b bl 80ca820 tmp0 = _4PI; tmp1 = (float32_t)i; 8064a0a: 4b4d ldr r3, [pc, #308] ; (8064b40 ) 8064a0c: 613b str r3, [r7, #16] 8064a0e: 8efb ldrh r3, [r7, #54] ; 0x36 8064a10: ee07 3a90 vmov s15, r3 8064a14: eef8 7a67 vcvt.f32.u32 s15, s15 8064a18: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064a1c: f107 0210 add.w r2, r7, #16 8064a20: f107 010c add.w r1, r7, #12 8064a24: f107 0010 add.w r0, r7, #16 8064a28: 2301 movs r3, #1 8064a2a: f065 fef9 bl 80ca820 tmp1 = _Samples; 8064a2e: 6b3b ldr r3, [r7, #48] ; 0x30 8064a30: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064a32: f107 0210 add.w r2, r7, #16 8064a36: f107 010c add.w r1, r7, #12 8064a3a: f107 0010 add.w r0, r7, #16 8064a3e: 2301 movs r3, #1 8064a40: f065 feee bl 80ca820 tmp0 = arm_cos_f32(tmp0); 8064a44: edd7 7a04 vldr s15, [r7, #16] 8064a48: eeb0 0a67 vmov.f32 s0, s15 8064a4c: f04d fdb2 bl 80b25b4 8064a50: eef0 7a40 vmov.f32 s15, s0 8064a54: edc7 7a04 vstr s15, [r7, #16] a2 = 0.1365995; 8064a58: 4b3d ldr r3, [pc, #244] ; (8064b50 ) 8064a5a: 61bb str r3, [r7, #24] arm_mult_f32(&a2, &tmp0, &a2, 1); 8064a5c: f107 0218 add.w r2, r7, #24 8064a60: f107 0110 add.w r1, r7, #16 8064a64: f107 0018 add.w r0, r7, #24 8064a68: 2301 movs r3, #1 8064a6a: f065 fed9 bl 80ca820 tmp0 = _6PI; tmp1 = (float32_t)i; 8064a6e: 4b39 ldr r3, [pc, #228] ; (8064b54 ) 8064a70: 613b str r3, [r7, #16] 8064a72: 8efb ldrh r3, [r7, #54] ; 0x36 8064a74: ee07 3a90 vmov s15, r3 8064a78: eef8 7a67 vcvt.f32.u32 s15, s15 8064a7c: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064a80: f107 0210 add.w r2, r7, #16 8064a84: f107 010c add.w r1, r7, #12 8064a88: f107 0010 add.w r0, r7, #16 8064a8c: 2301 movs r3, #1 8064a8e: f065 fec7 bl 80ca820 tmp1 = _Samples; 8064a92: 6b3b ldr r3, [r7, #48] ; 0x30 8064a94: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064a96: f107 0210 add.w r2, r7, #16 8064a9a: f107 010c add.w r1, r7, #12 8064a9e: f107 0010 add.w r0, r7, #16 8064aa2: 2301 movs r3, #1 8064aa4: f065 febc bl 80ca820 tmp0 = arm_cos_f32(tmp0); 8064aa8: edd7 7a04 vldr s15, [r7, #16] 8064aac: eeb0 0a67 vmov.f32 s0, s15 8064ab0: f04d fd80 bl 80b25b4 8064ab4: eef0 7a40 vmov.f32 s15, s0 8064ab8: edc7 7a04 vstr s15, [r7, #16] a3 = 0.0106411; 8064abc: 4b26 ldr r3, [pc, #152] ; (8064b58 ) 8064abe: 617b str r3, [r7, #20] arm_mult_f32(&a3, &tmp0, &a3, 1); 8064ac0: f107 0214 add.w r2, r7, #20 8064ac4: f107 0110 add.w r1, r7, #16 8064ac8: f107 0014 add.w r0, r7, #20 8064acc: 2301 movs r3, #1 8064ace: f065 fea7 bl 80ca820 arm_sub_f32(&a0, &a1, &tmp0, 1); 8064ad2: f107 0210 add.w r2, r7, #16 8064ad6: f107 011c add.w r1, r7, #28 8064ada: f107 0020 add.w r0, r7, #32 8064ade: 2301 movs r3, #1 8064ae0: f065 fdec bl 80ca6bc arm_add_f32(&tmp0, &a2, &tmp0, 1); 8064ae4: f107 0210 add.w r2, r7, #16 8064ae8: f107 0118 add.w r1, r7, #24 8064aec: f107 0010 add.w r0, r7, #16 8064af0: 2301 movs r3, #1 8064af2: f065 fedb bl 80ca8ac arm_sub_f32(&tmp0, &a3, &tmp0, 1); 8064af6: f107 0210 add.w r2, r7, #16 8064afa: f107 0114 add.w r1, r7, #20 8064afe: f107 0010 add.w r0, r7, #16 8064b02: 2301 movs r3, #1 8064b04: f065 fdda bl 80ca6bc arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 8064b08: 8efb ldrh r3, [r7, #54] ; 0x36 8064b0a: 009b lsls r3, r3, #2 8064b0c: 4a0a ldr r2, [pc, #40] ; (8064b38 ) 8064b0e: 1899 adds r1, r3, r2 8064b10: 8efb ldrh r3, [r7, #54] ; 0x36 8064b12: 009b lsls r3, r3, #2 8064b14: 4a08 ldr r2, [pc, #32] ; (8064b38 ) 8064b16: 441a add r2, r3 8064b18: f107 0010 add.w r0, r7, #16 8064b1c: 2301 movs r3, #1 8064b1e: f065 fe7f bl 80ca820 for(i = 0; i < Samples; i++) 8064b22: 8efb ldrh r3, [r7, #54] ; 0x36 8064b24: 3301 adds r3, #1 8064b26: 86fb strh r3, [r7, #54] ; 0x36 8064b28: 8efa ldrh r2, [r7, #54] ; 0x36 8064b2a: 88bb ldrh r3, [r7, #4] 8064b2c: 429a cmp r2, r3 8064b2e: f4ff af38 bcc.w 80649a2 } break; 8064b32: e113 b.n 8064d5c 8064b34: 40c90fdb .word 0x40c90fdb 8064b38: 20008000 .word 0x20008000 8064b3c: 3ed70a3d .word 0x3ed70a3d 8064b40: 41490fdb .word 0x41490fdb 8064b44: 3da3d70a .word 0x3da3d70a 8064b48: 3eba2768 .word 0x3eba2768 8064b4c: 3efa7579 .word 0x3efa7579 8064b50: 3e0be0bd .word 0x3e0be0bd 8064b54: 4196cbe4 .word 0x4196cbe4 8064b58: 3c2e5802 .word 0x3c2e5802 case HAMMING: for(i = 0; i < Samples; i++) 8064b5c: 2300 movs r3, #0 8064b5e: 86fb strh r3, [r7, #54] ; 0x36 8064b60: e04c b.n 8064bfc { //*******Îêîííîå ïðåîáðàçîâàíèå Õàííà tmp0 = _2PI; tmp1 = (float32_t)i; 8064b62: 4b80 ldr r3, [pc, #512] ; (8064d64 ) 8064b64: 613b str r3, [r7, #16] 8064b66: 8efb ldrh r3, [r7, #54] ; 0x36 8064b68: ee07 3a90 vmov s15, r3 8064b6c: eef8 7a67 vcvt.f32.u32 s15, s15 8064b70: edc7 7a03 vstr s15, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064b74: f107 0210 add.w r2, r7, #16 8064b78: f107 010c add.w r1, r7, #12 8064b7c: f107 0010 add.w r0, r7, #16 8064b80: 2301 movs r3, #1 8064b82: f065 fe4d bl 80ca820 tmp1 = _Samples; 8064b86: 6b3b ldr r3, [r7, #48] ; 0x30 8064b88: 60fb str r3, [r7, #12] arm_mult_f32(&tmp0, &tmp1, &tmp0, 1); 8064b8a: f107 0210 add.w r2, r7, #16 8064b8e: f107 010c add.w r1, r7, #12 8064b92: f107 0010 add.w r0, r7, #16 8064b96: 2301 movs r3, #1 8064b98: f065 fe42 bl 80ca820 tmp0 = arm_cos_f32(tmp0); 8064b9c: edd7 7a04 vldr s15, [r7, #16] 8064ba0: eeb0 0a67 vmov.f32 s0, s15 8064ba4: f04d fd06 bl 80b25b4 8064ba8: eef0 7a40 vmov.f32 s15, s0 8064bac: edc7 7a04 vstr s15, [r7, #16] a1 = 0.46; 8064bb0: 4b6d ldr r3, [pc, #436] ; (8064d68 ) 8064bb2: 61fb str r3, [r7, #28] arm_mult_f32(&tmp0, &a1, &tmp0, 1); 8064bb4: f107 0210 add.w r2, r7, #16 8064bb8: f107 011c add.w r1, r7, #28 8064bbc: f107 0010 add.w r0, r7, #16 8064bc0: 2301 movs r3, #1 8064bc2: f065 fe2d bl 80ca820 a0 = 0.54; 8064bc6: 4b69 ldr r3, [pc, #420] ; (8064d6c ) 8064bc8: 623b str r3, [r7, #32] arm_sub_f32(&a0, &tmp0, &tmp0, 1); 8064bca: f107 0210 add.w r2, r7, #16 8064bce: f107 0110 add.w r1, r7, #16 8064bd2: f107 0020 add.w r0, r7, #32 8064bd6: 2301 movs r3, #1 8064bd8: f065 fd70 bl 80ca6bc arm_mult_f32(&tmp0, &Out[i], &Out[i], 1); 8064bdc: 8efb ldrh r3, [r7, #54] ; 0x36 8064bde: 009b lsls r3, r3, #2 8064be0: 4a63 ldr r2, [pc, #396] ; (8064d70 ) 8064be2: 1899 adds r1, r3, r2 8064be4: 8efb ldrh r3, [r7, #54] ; 0x36 8064be6: 009b lsls r3, r3, #2 8064be8: 4a61 ldr r2, [pc, #388] ; (8064d70 ) 8064bea: 441a add r2, r3 8064bec: f107 0010 add.w r0, r7, #16 8064bf0: 2301 movs r3, #1 8064bf2: f065 fe15 bl 80ca820 for(i = 0; i < Samples; i++) 8064bf6: 8efb ldrh r3, [r7, #54] ; 0x36 8064bf8: 3301 adds r3, #1 8064bfa: 86fb strh r3, [r7, #54] ; 0x36 8064bfc: 8efa ldrh r2, [r7, #54] ; 0x36 8064bfe: 88bb ldrh r3, [r7, #4] 8064c00: 429a cmp r2, r3 8064c02: d3ae bcc.n 8064b62 } break; 8064c04: e0aa b.n 8064d5c case FLAT_TOP: a0 = 1.0f; 8064c06: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8064c0a: 623b str r3, [r7, #32] a1 = 1.93f; 8064c0c: 4b59 ldr r3, [pc, #356] ; (8064d74 ) 8064c0e: 61fb str r3, [r7, #28] a2 = 1.29f; 8064c10: 4b59 ldr r3, [pc, #356] ; (8064d78 ) 8064c12: 61bb str r3, [r7, #24] a3 = 0.388f; 8064c14: 4b59 ldr r3, [pc, #356] ; (8064d7c ) 8064c16: 617b str r3, [r7, #20] a4 = 0.032f; 8064c18: 4b59 ldr r3, [pc, #356] ; (8064d80 ) 8064c1a: 62fb str r3, [r7, #44] ; 0x2c for(i = 0; i < Samples; i++) 8064c1c: 2300 movs r3, #0 8064c1e: 86fb strh r3, [r7, #54] ; 0x36 8064c20: e096 b.n 8064d50 { tmp0 = _2PI * (float32_t)i; 8064c22: 8efb ldrh r3, [r7, #54] ; 0x36 8064c24: ee07 3a90 vmov s15, r3 8064c28: eef8 7a67 vcvt.f32.u32 s15, s15 8064c2c: ed9f 7a55 vldr s14, [pc, #340] ; 8064d84 8064c30: ee67 7a87 vmul.f32 s15, s15, s14 8064c34: edc7 7a04 vstr s15, [r7, #16] tmp1 = _4PI * (float32_t)i; 8064c38: 8efb ldrh r3, [r7, #54] ; 0x36 8064c3a: ee07 3a90 vmov s15, r3 8064c3e: eef8 7a67 vcvt.f32.u32 s15, s15 8064c42: ed9f 7a51 vldr s14, [pc, #324] ; 8064d88 8064c46: ee67 7a87 vmul.f32 s15, s15, s14 8064c4a: edc7 7a03 vstr s15, [r7, #12] tmp2 = _6PI * (float32_t)i; 8064c4e: 8efb ldrh r3, [r7, #54] ; 0x36 8064c50: ee07 3a90 vmov s15, r3 8064c54: eef8 7a67 vcvt.f32.u32 s15, s15 8064c58: ed9f 7a4c vldr s14, [pc, #304] ; 8064d8c 8064c5c: ee67 7a87 vmul.f32 s15, s15, s14 8064c60: edc7 7a0a vstr s15, [r7, #40] ; 0x28 tmp3 = _8PI * (float32_t)i; 8064c64: 8efb ldrh r3, [r7, #54] ; 0x36 8064c66: ee07 3a90 vmov s15, r3 8064c6a: eef8 7a67 vcvt.f32.u32 s15, s15 8064c6e: ed9f 7a48 vldr s14, [pc, #288] ; 8064d90 8064c72: ee67 7a87 vmul.f32 s15, s15, s14 8064c76: edc7 7a09 vstr s15, [r7, #36] ; 0x24 tmp0 = a1 * arm_cos_f32(tmp0 * _Samples); 8064c7a: ed97 7a04 vldr s14, [r7, #16] 8064c7e: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8064c82: ee67 7a27 vmul.f32 s15, s14, s15 8064c86: eeb0 0a67 vmov.f32 s0, s15 8064c8a: f04d fc93 bl 80b25b4 8064c8e: eeb0 7a40 vmov.f32 s14, s0 8064c92: edd7 7a07 vldr s15, [r7, #28] 8064c96: ee67 7a27 vmul.f32 s15, s14, s15 8064c9a: edc7 7a04 vstr s15, [r7, #16] tmp1 = a2 * arm_cos_f32(tmp1 * _Samples); 8064c9e: ed97 7a03 vldr s14, [r7, #12] 8064ca2: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8064ca6: ee67 7a27 vmul.f32 s15, s14, s15 8064caa: eeb0 0a67 vmov.f32 s0, s15 8064cae: f04d fc81 bl 80b25b4 8064cb2: eeb0 7a40 vmov.f32 s14, s0 8064cb6: edd7 7a06 vldr s15, [r7, #24] 8064cba: ee67 7a27 vmul.f32 s15, s14, s15 8064cbe: edc7 7a03 vstr s15, [r7, #12] tmp2 = a3 * arm_cos_f32(tmp2 * _Samples); 8064cc2: ed97 7a0a vldr s14, [r7, #40] ; 0x28 8064cc6: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8064cca: ee67 7a27 vmul.f32 s15, s14, s15 8064cce: eeb0 0a67 vmov.f32 s0, s15 8064cd2: f04d fc6f bl 80b25b4 8064cd6: eeb0 7a40 vmov.f32 s14, s0 8064cda: edd7 7a05 vldr s15, [r7, #20] 8064cde: ee67 7a27 vmul.f32 s15, s14, s15 8064ce2: edc7 7a0a vstr s15, [r7, #40] ; 0x28 tmp3 = a4 * arm_cos_f32(tmp3 * _Samples); 8064ce6: ed97 7a09 vldr s14, [r7, #36] ; 0x24 8064cea: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8064cee: ee67 7a27 vmul.f32 s15, s14, s15 8064cf2: eeb0 0a67 vmov.f32 s0, s15 8064cf6: f04d fc5d bl 80b25b4 8064cfa: eeb0 7a40 vmov.f32 s14, s0 8064cfe: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 8064d02: ee67 7a27 vmul.f32 s15, s14, s15 8064d06: edc7 7a09 vstr s15, [r7, #36] ; 0x24 Out[i] = Out[i] * (a0 - tmp0 + tmp1 - tmp2 + tmp3); 8064d0a: 8efb ldrh r3, [r7, #54] ; 0x36 8064d0c: 8efa ldrh r2, [r7, #54] ; 0x36 8064d0e: 4918 ldr r1, [pc, #96] ; (8064d70 ) 8064d10: 0092 lsls r2, r2, #2 8064d12: 440a add r2, r1 8064d14: ed92 7a00 vldr s14, [r2] 8064d18: edd7 6a08 vldr s13, [r7, #32] 8064d1c: edd7 7a04 vldr s15, [r7, #16] 8064d20: ee76 6ae7 vsub.f32 s13, s13, s15 8064d24: edd7 7a03 vldr s15, [r7, #12] 8064d28: ee76 6aa7 vadd.f32 s13, s13, s15 8064d2c: edd7 7a0a vldr s15, [r7, #40] ; 0x28 8064d30: ee76 6ae7 vsub.f32 s13, s13, s15 8064d34: edd7 7a09 vldr s15, [r7, #36] ; 0x24 8064d38: ee76 7aa7 vadd.f32 s15, s13, s15 8064d3c: ee67 7a27 vmul.f32 s15, s14, s15 8064d40: 4a0b ldr r2, [pc, #44] ; (8064d70 ) 8064d42: 009b lsls r3, r3, #2 8064d44: 4413 add r3, r2 8064d46: edc3 7a00 vstr s15, [r3] for(i = 0; i < Samples; i++) 8064d4a: 8efb ldrh r3, [r7, #54] ; 0x36 8064d4c: 3301 adds r3, #1 8064d4e: 86fb strh r3, [r7, #54] ; 0x36 8064d50: 8efa ldrh r2, [r7, #54] ; 0x36 8064d52: 88bb ldrh r3, [r7, #4] 8064d54: 429a cmp r2, r3 8064d56: f4ff af64 bcc.w 8064c22 } break; 8064d5a: bf00 nop } } 8064d5c: bf00 nop 8064d5e: 3738 adds r7, #56 ; 0x38 8064d60: 46bd mov sp, r7 8064d62: bd80 pop {r7, pc} 8064d64: 40c90fdb .word 0x40c90fdb 8064d68: 3eeb851f .word 0x3eeb851f 8064d6c: 3f0a3d71 .word 0x3f0a3d71 8064d70: 20008000 .word 0x20008000 8064d74: 3ff70a3d .word 0x3ff70a3d 8064d78: 3fa51eb8 .word 0x3fa51eb8 8064d7c: 3ec6a7f0 .word 0x3ec6a7f0 8064d80: 3d03126f .word 0x3d03126f 8064d84: 40c90fdb .word 0x40c90fdb 8064d88: 41490fdb .word 0x41490fdb 8064d8c: 4196cbe4 .word 0x4196cbe4 8064d90: 41c90fdb .word 0x41c90fdb 08064d94 : void INTEGR_NEW(void) { 8064d94: b580 push {r7, lr} 8064d96: b084 sub sp, #16 8064d98: af00 add r7, sp, #0 uint32_t i, k; float32_t fl, fl1; k = (Ns >> 1); 8064d9a: 4b49 ldr r3, [pc, #292] ; (8064ec0 ) 8064d9c: 681b ldr r3, [r3, #0] 8064d9e: 085b lsrs r3, r3, #1 8064da0: 60bb str r3, [r7, #8] fl1 = (_2PI * Delta_SPC[pardata.FRQ][pardata.LNE]); 8064da2: 4b48 ldr r3, [pc, #288] ; (8064ec4 ) 8064da4: 7adb ldrb r3, [r3, #11] 8064da6: b2db uxtb r3, r3 8064da8: 4618 mov r0, r3 8064daa: 4b46 ldr r3, [pc, #280] ; (8064ec4 ) 8064dac: 79db ldrb r3, [r3, #7] 8064dae: b2db uxtb r3, r3 8064db0: 4619 mov r1, r3 8064db2: 4a45 ldr r2, [pc, #276] ; (8064ec8 ) 8064db4: 0083 lsls r3, r0, #2 8064db6: 440b add r3, r1 8064db8: 009b lsls r3, r3, #2 8064dba: 4413 add r3, r2 8064dbc: edd3 7a00 vldr s15, [r3] 8064dc0: ed9f 7a42 vldr s14, [pc, #264] ; 8064ecc 8064dc4: ee67 7a87 vmul.f32 s15, s15, s14 8064dc8: edc7 7a01 vstr s15, [r7, #4] //pDst[0] = pDst[1] = 0.0f; Out[0] = 0.0f; 8064dcc: 4b40 ldr r3, [pc, #256] ; (8064ed0 ) 8064dce: f04f 0200 mov.w r2, #0 8064dd2: 601a str r2, [r3, #0] for(i = 1; i < k; i++) 8064dd4: 2301 movs r3, #1 8064dd6: 60fb str r3, [r7, #12] 8064dd8: e063 b.n 8064ea2 { fl = (float32_t) i; 8064dda: 68fb ldr r3, [r7, #12] 8064ddc: ee07 3a90 vmov s15, r3 8064de0: eef8 7a67 vcvt.f32.u32 s15, s15 8064de4: edc7 7a00 vstr s15, [r7] fl *= fl1; 8064de8: ed97 7a00 vldr s14, [r7] 8064dec: edd7 7a01 vldr s15, [r7, #4] 8064df0: ee67 7a27 vmul.f32 s15, s14, s15 8064df4: edc7 7a00 vstr s15, [r7] if(pardata.IIN != VOLTS) 8064df8: 4b32 ldr r3, [pc, #200] ; (8064ec4 ) 8064dfa: 799b ldrb r3, [r3, #6] 8064dfc: b2db uxtb r3, r3 8064dfe: 2b02 cmp r3, #2 8064e00: d022 beq.n 8064e48 { if(pardata.IPR == VEL) 8064e02: 4b30 ldr r3, [pc, #192] ; (8064ec4 ) 8064e04: 785b ldrb r3, [r3, #1] 8064e06: b2db uxtb r3, r3 8064e08: 2b01 cmp r3, #1 8064e0a: d10c bne.n 8064e26 Out[i] = 1000.0f / fl; 8064e0c: eddf 6a31 vldr s13, [pc, #196] ; 8064ed4 8064e10: ed97 7a00 vldr s14, [r7] 8064e14: eec6 7a87 vdiv.f32 s15, s13, s14 8064e18: 4a2d ldr r2, [pc, #180] ; (8064ed0 ) 8064e1a: 68fb ldr r3, [r7, #12] 8064e1c: 009b lsls r3, r3, #2 8064e1e: 4413 add r3, r2 8064e20: edc3 7a00 vstr s15, [r3] 8064e24: e03a b.n 8064e9c else Out[i] = 1000000.0f / (fl * fl); 8064e26: ed97 7a00 vldr s14, [r7] 8064e2a: edd7 7a00 vldr s15, [r7] 8064e2e: ee27 7a27 vmul.f32 s14, s14, s15 8064e32: eddf 6a29 vldr s13, [pc, #164] ; 8064ed8 8064e36: eec6 7a87 vdiv.f32 s15, s13, s14 8064e3a: 4a25 ldr r2, [pc, #148] ; (8064ed0 ) 8064e3c: 68fb ldr r3, [r7, #12] 8064e3e: 009b lsls r3, r3, #2 8064e40: 4413 add r3, r2 8064e42: edc3 7a00 vstr s15, [r3] 8064e46: e029 b.n 8064e9c } else { if(pardata.IPR == VEL) 8064e48: 4b1e ldr r3, [pc, #120] ; (8064ec4 ) 8064e4a: 785b ldrb r3, [r3, #1] 8064e4c: b2db uxtb r3, r3 8064e4e: 2b01 cmp r3, #1 8064e50: d110 bne.n 8064e74 Out[i] /= fl; 8064e52: 4a1f ldr r2, [pc, #124] ; (8064ed0 ) 8064e54: 68fb ldr r3, [r7, #12] 8064e56: 009b lsls r3, r3, #2 8064e58: 4413 add r3, r2 8064e5a: edd3 6a00 vldr s13, [r3] 8064e5e: ed97 7a00 vldr s14, [r7] 8064e62: eec6 7a87 vdiv.f32 s15, s13, s14 8064e66: 4a1a ldr r2, [pc, #104] ; (8064ed0 ) 8064e68: 68fb ldr r3, [r7, #12] 8064e6a: 009b lsls r3, r3, #2 8064e6c: 4413 add r3, r2 8064e6e: edc3 7a00 vstr s15, [r3] 8064e72: e013 b.n 8064e9c else Out[i] /= (fl * fl); 8064e74: 4a16 ldr r2, [pc, #88] ; (8064ed0 ) 8064e76: 68fb ldr r3, [r7, #12] 8064e78: 009b lsls r3, r3, #2 8064e7a: 4413 add r3, r2 8064e7c: edd3 6a00 vldr s13, [r3] 8064e80: ed97 7a00 vldr s14, [r7] 8064e84: edd7 7a00 vldr s15, [r7] 8064e88: ee27 7a27 vmul.f32 s14, s14, s15 8064e8c: eec6 7a87 vdiv.f32 s15, s13, s14 8064e90: 4a0f ldr r2, [pc, #60] ; (8064ed0 ) 8064e92: 68fb ldr r3, [r7, #12] 8064e94: 009b lsls r3, r3, #2 8064e96: 4413 add r3, r2 8064e98: edc3 7a00 vstr s15, [r3] for(i = 1; i < k; i++) 8064e9c: 68fb ldr r3, [r7, #12] 8064e9e: 3301 adds r3, #1 8064ea0: 60fb str r3, [r7, #12] 8064ea2: 68fa ldr r2, [r7, #12] 8064ea4: 68bb ldr r3, [r7, #8] 8064ea6: 429a cmp r2, r3 8064ea8: d397 bcc.n 8064dda } } arm_mult_f32(Out, In, In, k); 8064eaa: 68bb ldr r3, [r7, #8] 8064eac: 4a0b ldr r2, [pc, #44] ; (8064edc ) 8064eae: 490b ldr r1, [pc, #44] ; (8064edc ) 8064eb0: 4807 ldr r0, [pc, #28] ; (8064ed0 ) 8064eb2: f065 fcb5 bl 80ca820 } 8064eb6: bf00 nop 8064eb8: 3710 adds r7, #16 8064eba: 46bd mov sp, r7 8064ebc: bd80 pop {r7, pc} 8064ebe: bf00 nop 8064ec0: 20021cdc .word 0x20021cdc 8064ec4: 20023e60 .word 0x20023e60 8064ec8: 080eeb50 .word 0x080eeb50 8064ecc: 40c90fdb .word 0x40c90fdb 8064ed0: 20008000 .word 0x20008000 8064ed4: 447a0000 .word 0x447a0000 8064ed8: 49742400 .word 0x49742400 8064edc: 200279c0 .word 0x200279c0 08064ee0 : } } void LinToLog(float32_t *pSrc, float32_t *pDst) { 8064ee0: b580 push {r7, lr} 8064ee2: b084 sub sp, #16 8064ee4: af00 add r7, sp, #0 8064ee6: 6078 str r0, [r7, #4] 8064ee8: 6039 str r1, [r7, #0] float32_t f = *pSrc; 8064eea: 687b ldr r3, [r7, #4] 8064eec: 681b ldr r3, [r3, #0] 8064eee: 60fb str r3, [r7, #12] if(f <= 0.000001f) { 8064ef0: edd7 7a03 vldr s15, [r7, #12] 8064ef4: ed9f 7a0f vldr s14, [pc, #60] ; 8064f34 8064ef8: eef4 7ac7 vcmpe.f32 s15, s14 8064efc: eef1 fa10 vmrs APSR_nzcv, fpscr 8064f00: d801 bhi.n 8064f06 f = 0.000001f; 8064f02: 4b0d ldr r3, [pc, #52] ; (8064f38 ) 8064f04: 60fb str r3, [r7, #12] } *pDst = 20 * log10f(f * 1000000); 8064f06: edd7 7a03 vldr s15, [r7, #12] 8064f0a: ed9f 7a0c vldr s14, [pc, #48] ; 8064f3c 8064f0e: ee67 7a87 vmul.f32 s15, s15, s14 8064f12: eeb0 0a67 vmov.f32 s0, s15 8064f16: f066 f941 bl 80cb19c 8064f1a: eeb0 7a40 vmov.f32 s14, s0 8064f1e: eef3 7a04 vmov.f32 s15, #52 ; 0x41a00000 20.0 8064f22: ee67 7a27 vmul.f32 s15, s14, s15 8064f26: 683b ldr r3, [r7, #0] 8064f28: edc3 7a00 vstr s15, [r3] } 8064f2c: bf00 nop 8064f2e: 3710 adds r7, #16 8064f30: 46bd mov sp, r7 8064f32: bd80 pop {r7, pc} 8064f34: 358637bd .word 0x358637bd 8064f38: 358637bd .word 0x358637bd 8064f3c: 49742400 .word 0x49742400 08064f40 : void LinToLog_mV(float32_t *pSrc, float32_t *pDst, uint8_t IPR) { 8064f40: b580 push {r7, lr} 8064f42: b086 sub sp, #24 8064f44: af00 add r7, sp, #0 8064f46: 60f8 str r0, [r7, #12] 8064f48: 60b9 str r1, [r7, #8] 8064f4a: 4613 mov r3, r2 8064f4c: 71fb strb r3, [r7, #7] float32_t f = *pSrc; 8064f4e: 68fb ldr r3, [r7, #12] 8064f50: 681b ldr r3, [r3, #0] 8064f52: 617b str r3, [r7, #20] f *= 1000.000f; //â ìê 8064f54: edd7 7a05 vldr s15, [r7, #20] 8064f58: ed9f 7a10 vldr s14, [pc, #64] ; 8064f9c 8064f5c: ee67 7a87 vmul.f32 s15, s15, s14 8064f60: edc7 7a05 vstr s15, [r7, #20] if(f <= 0.000001f) { 8064f64: edd7 7a05 vldr s15, [r7, #20] 8064f68: ed9f 7a0d vldr s14, [pc, #52] ; 8064fa0 8064f6c: eef4 7ac7 vcmpe.f32 s15, s14 8064f70: eef1 fa10 vmrs APSR_nzcv, fpscr 8064f74: d801 bhi.n 8064f7a f = 0.000001f; 8064f76: 4b0b ldr r3, [pc, #44] ; (8064fa4 ) 8064f78: 617b str r3, [r7, #20] } *pDst = 20 * log10f(f); 8064f7a: ed97 0a05 vldr s0, [r7, #20] 8064f7e: f066 f90d bl 80cb19c 8064f82: eeb0 7a40 vmov.f32 s14, s0 8064f86: eef3 7a04 vmov.f32 s15, #52 ; 0x41a00000 20.0 8064f8a: ee67 7a27 vmul.f32 s15, s14, s15 8064f8e: 68bb ldr r3, [r7, #8] 8064f90: edc3 7a00 vstr s15, [r3] } 8064f94: bf00 nop 8064f96: 3718 adds r7, #24 8064f98: 46bd mov sp, r7 8064f9a: bd80 pop {r7, pc} 8064f9c: 447a0000 .word 0x447a0000 8064fa0: 358637bd .word 0x358637bd 8064fa4: 358637bd .word 0x358637bd 08064fa8 : void LinToLog_UDAR(float32_t *pSrc, float32_t *pDst) { 8064fa8: b580 push {r7, lr} 8064faa: b084 sub sp, #16 8064fac: af00 add r7, sp, #0 8064fae: 6078 str r0, [r7, #4] 8064fb0: 6039 str r1, [r7, #0] float32_t f = *pSrc; 8064fb2: 687b ldr r3, [r7, #4] 8064fb4: 681b ldr r3, [r3, #0] 8064fb6: 60fb str r3, [r7, #12] if(f <= 0.1f) { 8064fb8: edd7 7a03 vldr s15, [r7, #12] 8064fbc: ed9f 7a0e vldr s14, [pc, #56] ; 8064ff8 8064fc0: eef4 7ac7 vcmpe.f32 s15, s14 8064fc4: eef1 fa10 vmrs APSR_nzcv, fpscr 8064fc8: d801 bhi.n 8064fce f = 0.1f; 8064fca: 4b0c ldr r3, [pc, #48] ; (8064ffc ) 8064fcc: 60fb str r3, [r7, #12] } *pDst = 20 * log10f(*pSrc); 8064fce: 687b ldr r3, [r7, #4] 8064fd0: edd3 7a00 vldr s15, [r3] 8064fd4: eeb0 0a67 vmov.f32 s0, s15 8064fd8: f066 f8e0 bl 80cb19c 8064fdc: eeb0 7a40 vmov.f32 s14, s0 8064fe0: eef3 7a04 vmov.f32 s15, #52 ; 0x41a00000 20.0 8064fe4: ee67 7a27 vmul.f32 s15, s14, s15 8064fe8: 683b ldr r3, [r7, #0] 8064fea: edc3 7a00 vstr s15, [r3] /*if(f <= 0.000001f) { f = 0.000001f; } *pDst = 20 * log10f(f * 1000000);*/ } 8064fee: bf00 nop 8064ff0: 3710 adds r7, #16 8064ff2: 46bd mov sp, r7 8064ff4: bd80 pop {r7, pc} 8064ff6: bf00 nop 8064ff8: 3dcccccd .word 0x3dcccccd 8064ffc: 3dcccccd .word 0x3dcccccd 08065000 : float32_t MedMeas(uint8_t AVS, float32_t InVal) { 8065000: b480 push {r7} 8065002: b08d sub sp, #52 ; 0x34 8065004: af00 add r7, sp, #0 8065006: 4603 mov r3, r0 8065008: ed87 0a00 vstr s0, [r7] 806500c: 71fb strb r3, [r7, #7] uint8_t k = 0; 806500e: 2300 movs r3, #0 8065010: f887 302f strb.w r3, [r7, #47] ; 0x2f uint32_t i = 0, j = 0; 8065014: 2300 movs r3, #0 8065016: 62bb str r3, [r7, #40] ; 0x28 8065018: 2300 movs r3, #0 806501a: 627b str r3, [r7, #36] ; 0x24 float32_t temp[N_MED_MEAS]; float32_t OutVal; if(pardata.OPTIONS & 0x00000001) 806501c: 4ba6 ldr r3, [pc, #664] ; (80652b8 ) 806501e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8065022: f003 0301 and.w r3, r3, #1 8065026: 2b00 cmp r3, #0 8065028: f000 813c beq.w 80652a4 { switch(AVS) 806502c: 79fb ldrb r3, [r7, #7] 806502e: 2b01 cmp r3, #1 8065030: d041 beq.n 80650b6 8065032: 2b02 cmp r3, #2 8065034: d07c beq.n 8065130 8065036: 2b00 cmp r3, #0 8065038: f040 80b7 bne.w 80651aa { case ACC: for(i = N_MED_MEAS - 1; i > 0; i--) 806503c: 2304 movs r3, #4 806503e: 62bb str r3, [r7, #40] ; 0x28 8065040: e00d b.n 806505e medA[i] = medA[i - 1]; 8065042: 6abb ldr r3, [r7, #40] ; 0x28 8065044: 3b01 subs r3, #1 8065046: 4a9d ldr r2, [pc, #628] ; (80652bc ) 8065048: 009b lsls r3, r3, #2 806504a: 4413 add r3, r2 806504c: 681a ldr r2, [r3, #0] 806504e: 499b ldr r1, [pc, #620] ; (80652bc ) 8065050: 6abb ldr r3, [r7, #40] ; 0x28 8065052: 009b lsls r3, r3, #2 8065054: 440b add r3, r1 8065056: 601a str r2, [r3, #0] for(i = N_MED_MEAS - 1; i > 0; i--) 8065058: 6abb ldr r3, [r7, #40] ; 0x28 806505a: 3b01 subs r3, #1 806505c: 62bb str r3, [r7, #40] ; 0x28 806505e: 6abb ldr r3, [r7, #40] ; 0x28 8065060: 2b00 cmp r3, #0 8065062: d1ee bne.n 8065042 medA[0] = InVal; 8065064: 4a95 ldr r2, [pc, #596] ; (80652bc ) 8065066: 683b ldr r3, [r7, #0] 8065068: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_MEAS; i++) 806506a: 2300 movs r3, #0 806506c: 62bb str r3, [r7, #40] ; 0x28 806506e: e00e b.n 806508e temp[i] = medA[i]; 8065070: 4a92 ldr r2, [pc, #584] ; (80652bc ) 8065072: 6abb ldr r3, [r7, #40] ; 0x28 8065074: 009b lsls r3, r3, #2 8065076: 4413 add r3, r2 8065078: 681a ldr r2, [r3, #0] 806507a: 6abb ldr r3, [r7, #40] ; 0x28 806507c: 009b lsls r3, r3, #2 806507e: f107 0130 add.w r1, r7, #48 ; 0x30 8065082: 440b add r3, r1 8065084: 3b24 subs r3, #36 ; 0x24 8065086: 601a str r2, [r3, #0] for(i = 0; i < N_MED_MEAS; i++) 8065088: 6abb ldr r3, [r7, #40] ; 0x28 806508a: 3301 adds r3, #1 806508c: 62bb str r3, [r7, #40] ; 0x28 806508e: 6abb ldr r3, [r7, #40] ; 0x28 8065090: 2b04 cmp r3, #4 8065092: d9ed bls.n 8065070 if(CounterA < N_MED_MEAS) 8065094: 4b8a ldr r3, [pc, #552] ; (80652c0 ) 8065096: 781b ldrb r3, [r3, #0] 8065098: b2db uxtb r3, r3 806509a: 2b04 cmp r3, #4 806509c: d806 bhi.n 80650ac CounterA++; 806509e: 4b88 ldr r3, [pc, #544] ; (80652c0 ) 80650a0: 781b ldrb r3, [r3, #0] 80650a2: b2db uxtb r3, r3 80650a4: 3301 adds r3, #1 80650a6: b2da uxtb r2, r3 80650a8: 4b85 ldr r3, [pc, #532] ; (80652c0 ) 80650aa: 701a strb r2, [r3, #0] k = CounterA; 80650ac: 4b84 ldr r3, [pc, #528] ; (80652c0 ) 80650ae: 781b ldrb r3, [r3, #0] 80650b0: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80650b4: e07b b.n 80651ae case VEL: for(i = N_MED_MEAS - 1; i > 0; i--) 80650b6: 2304 movs r3, #4 80650b8: 62bb str r3, [r7, #40] ; 0x28 80650ba: e00d b.n 80650d8 medV[i] = medV[i - 1]; 80650bc: 6abb ldr r3, [r7, #40] ; 0x28 80650be: 3b01 subs r3, #1 80650c0: 4a80 ldr r2, [pc, #512] ; (80652c4 ) 80650c2: 009b lsls r3, r3, #2 80650c4: 4413 add r3, r2 80650c6: 681a ldr r2, [r3, #0] 80650c8: 497e ldr r1, [pc, #504] ; (80652c4 ) 80650ca: 6abb ldr r3, [r7, #40] ; 0x28 80650cc: 009b lsls r3, r3, #2 80650ce: 440b add r3, r1 80650d0: 601a str r2, [r3, #0] for(i = N_MED_MEAS - 1; i > 0; i--) 80650d2: 6abb ldr r3, [r7, #40] ; 0x28 80650d4: 3b01 subs r3, #1 80650d6: 62bb str r3, [r7, #40] ; 0x28 80650d8: 6abb ldr r3, [r7, #40] ; 0x28 80650da: 2b00 cmp r3, #0 80650dc: d1ee bne.n 80650bc medV[0] = InVal; 80650de: 4a79 ldr r2, [pc, #484] ; (80652c4 ) 80650e0: 683b ldr r3, [r7, #0] 80650e2: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_MEAS; i++) 80650e4: 2300 movs r3, #0 80650e6: 62bb str r3, [r7, #40] ; 0x28 80650e8: e00e b.n 8065108 temp[i] = medV[i]; 80650ea: 4a76 ldr r2, [pc, #472] ; (80652c4 ) 80650ec: 6abb ldr r3, [r7, #40] ; 0x28 80650ee: 009b lsls r3, r3, #2 80650f0: 4413 add r3, r2 80650f2: 681a ldr r2, [r3, #0] 80650f4: 6abb ldr r3, [r7, #40] ; 0x28 80650f6: 009b lsls r3, r3, #2 80650f8: f107 0130 add.w r1, r7, #48 ; 0x30 80650fc: 440b add r3, r1 80650fe: 3b24 subs r3, #36 ; 0x24 8065100: 601a str r2, [r3, #0] for(i = 0; i < N_MED_MEAS; i++) 8065102: 6abb ldr r3, [r7, #40] ; 0x28 8065104: 3301 adds r3, #1 8065106: 62bb str r3, [r7, #40] ; 0x28 8065108: 6abb ldr r3, [r7, #40] ; 0x28 806510a: 2b04 cmp r3, #4 806510c: d9ed bls.n 80650ea if(CounterV < N_MED_MEAS) 806510e: 4b6e ldr r3, [pc, #440] ; (80652c8 ) 8065110: 781b ldrb r3, [r3, #0] 8065112: b2db uxtb r3, r3 8065114: 2b04 cmp r3, #4 8065116: d806 bhi.n 8065126 CounterV++; 8065118: 4b6b ldr r3, [pc, #428] ; (80652c8 ) 806511a: 781b ldrb r3, [r3, #0] 806511c: b2db uxtb r3, r3 806511e: 3301 adds r3, #1 8065120: b2da uxtb r2, r3 8065122: 4b69 ldr r3, [pc, #420] ; (80652c8 ) 8065124: 701a strb r2, [r3, #0] k = CounterV; 8065126: 4b68 ldr r3, [pc, #416] ; (80652c8 ) 8065128: 781b ldrb r3, [r3, #0] 806512a: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 806512e: e03e b.n 80651ae case DIS: for(i = N_MED_MEAS - 1; i > 0; i--) 8065130: 2304 movs r3, #4 8065132: 62bb str r3, [r7, #40] ; 0x28 8065134: e00d b.n 8065152 medS[i] = medS[i - 1]; 8065136: 6abb ldr r3, [r7, #40] ; 0x28 8065138: 3b01 subs r3, #1 806513a: 4a64 ldr r2, [pc, #400] ; (80652cc ) 806513c: 009b lsls r3, r3, #2 806513e: 4413 add r3, r2 8065140: 681a ldr r2, [r3, #0] 8065142: 4962 ldr r1, [pc, #392] ; (80652cc ) 8065144: 6abb ldr r3, [r7, #40] ; 0x28 8065146: 009b lsls r3, r3, #2 8065148: 440b add r3, r1 806514a: 601a str r2, [r3, #0] for(i = N_MED_MEAS - 1; i > 0; i--) 806514c: 6abb ldr r3, [r7, #40] ; 0x28 806514e: 3b01 subs r3, #1 8065150: 62bb str r3, [r7, #40] ; 0x28 8065152: 6abb ldr r3, [r7, #40] ; 0x28 8065154: 2b00 cmp r3, #0 8065156: d1ee bne.n 8065136 medS[0] = InVal; 8065158: 4a5c ldr r2, [pc, #368] ; (80652cc ) 806515a: 683b ldr r3, [r7, #0] 806515c: 6013 str r3, [r2, #0] for(i = 0; i < N_MED_MEAS; i++) 806515e: 2300 movs r3, #0 8065160: 62bb str r3, [r7, #40] ; 0x28 8065162: e00e b.n 8065182 temp[i] = medS[i]; 8065164: 4a59 ldr r2, [pc, #356] ; (80652cc ) 8065166: 6abb ldr r3, [r7, #40] ; 0x28 8065168: 009b lsls r3, r3, #2 806516a: 4413 add r3, r2 806516c: 681a ldr r2, [r3, #0] 806516e: 6abb ldr r3, [r7, #40] ; 0x28 8065170: 009b lsls r3, r3, #2 8065172: f107 0130 add.w r1, r7, #48 ; 0x30 8065176: 440b add r3, r1 8065178: 3b24 subs r3, #36 ; 0x24 806517a: 601a str r2, [r3, #0] for(i = 0; i < N_MED_MEAS; i++) 806517c: 6abb ldr r3, [r7, #40] ; 0x28 806517e: 3301 adds r3, #1 8065180: 62bb str r3, [r7, #40] ; 0x28 8065182: 6abb ldr r3, [r7, #40] ; 0x28 8065184: 2b04 cmp r3, #4 8065186: d9ed bls.n 8065164 if(CounterS < N_MED_MEAS) 8065188: 4b51 ldr r3, [pc, #324] ; (80652d0 ) 806518a: 781b ldrb r3, [r3, #0] 806518c: b2db uxtb r3, r3 806518e: 2b04 cmp r3, #4 8065190: d806 bhi.n 80651a0 CounterS++; 8065192: 4b4f ldr r3, [pc, #316] ; (80652d0 ) 8065194: 781b ldrb r3, [r3, #0] 8065196: b2db uxtb r3, r3 8065198: 3301 adds r3, #1 806519a: b2da uxtb r2, r3 806519c: 4b4c ldr r3, [pc, #304] ; (80652d0 ) 806519e: 701a strb r2, [r3, #0] k = CounterS; 80651a0: 4b4b ldr r3, [pc, #300] ; (80652d0 ) 80651a2: 781b ldrb r3, [r3, #0] 80651a4: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80651a8: e001 b.n 80651ae default: return InVal; 80651aa: 683b ldr r3, [r7, #0] 80651ac: e07b b.n 80652a6 break; } for(j = 0; j < k; j++) 80651ae: 2300 movs r3, #0 80651b0: 627b str r3, [r7, #36] ; 0x24 80651b2: e040 b.n 8065236 { for(i = j; i < k; i++) 80651b4: 6a7b ldr r3, [r7, #36] ; 0x24 80651b6: 62bb str r3, [r7, #40] ; 0x28 80651b8: e035 b.n 8065226 { if(temp[i] < temp[j]) 80651ba: 6abb ldr r3, [r7, #40] ; 0x28 80651bc: 009b lsls r3, r3, #2 80651be: f107 0230 add.w r2, r7, #48 ; 0x30 80651c2: 4413 add r3, r2 80651c4: 3b24 subs r3, #36 ; 0x24 80651c6: ed93 7a00 vldr s14, [r3] 80651ca: 6a7b ldr r3, [r7, #36] ; 0x24 80651cc: 009b lsls r3, r3, #2 80651ce: f107 0230 add.w r2, r7, #48 ; 0x30 80651d2: 4413 add r3, r2 80651d4: 3b24 subs r3, #36 ; 0x24 80651d6: edd3 7a00 vldr s15, [r3] 80651da: eeb4 7ae7 vcmpe.f32 s14, s15 80651de: eef1 fa10 vmrs APSR_nzcv, fpscr 80651e2: d51d bpl.n 8065220 { OutVal = temp[j]; 80651e4: 6a7b ldr r3, [r7, #36] ; 0x24 80651e6: 009b lsls r3, r3, #2 80651e8: f107 0230 add.w r2, r7, #48 ; 0x30 80651ec: 4413 add r3, r2 80651ee: 3b24 subs r3, #36 ; 0x24 80651f0: 681b ldr r3, [r3, #0] 80651f2: 623b str r3, [r7, #32] temp[j] = temp[i]; 80651f4: 6abb ldr r3, [r7, #40] ; 0x28 80651f6: 009b lsls r3, r3, #2 80651f8: f107 0230 add.w r2, r7, #48 ; 0x30 80651fc: 4413 add r3, r2 80651fe: 3b24 subs r3, #36 ; 0x24 8065200: 681a ldr r2, [r3, #0] 8065202: 6a7b ldr r3, [r7, #36] ; 0x24 8065204: 009b lsls r3, r3, #2 8065206: f107 0130 add.w r1, r7, #48 ; 0x30 806520a: 440b add r3, r1 806520c: 3b24 subs r3, #36 ; 0x24 806520e: 601a str r2, [r3, #0] temp[i] = OutVal; 8065210: 6abb ldr r3, [r7, #40] ; 0x28 8065212: 009b lsls r3, r3, #2 8065214: f107 0230 add.w r2, r7, #48 ; 0x30 8065218: 4413 add r3, r2 806521a: 3b24 subs r3, #36 ; 0x24 806521c: 6a3a ldr r2, [r7, #32] 806521e: 601a str r2, [r3, #0] for(i = j; i < k; i++) 8065220: 6abb ldr r3, [r7, #40] ; 0x28 8065222: 3301 adds r3, #1 8065224: 62bb str r3, [r7, #40] ; 0x28 8065226: f897 202f ldrb.w r2, [r7, #47] ; 0x2f 806522a: 6abb ldr r3, [r7, #40] ; 0x28 806522c: 429a cmp r2, r3 806522e: d8c4 bhi.n 80651ba for(j = 0; j < k; j++) 8065230: 6a7b ldr r3, [r7, #36] ; 0x24 8065232: 3301 adds r3, #1 8065234: 627b str r3, [r7, #36] ; 0x24 8065236: f897 202f ldrb.w r2, [r7, #47] ; 0x2f 806523a: 6a7b ldr r3, [r7, #36] ; 0x24 806523c: 429a cmp r2, r3 806523e: d8b9 bhi.n 80651b4 } } } i = (k >> 1); 8065240: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 8065244: 085b lsrs r3, r3, #1 8065246: b2db uxtb r3, r3 8065248: 62bb str r3, [r7, #40] ; 0x28 if((k & 0x1) || (i == 0)) 806524a: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 806524e: f003 0301 and.w r3, r3, #1 8065252: 2b00 cmp r3, #0 8065254: d102 bne.n 806525c 8065256: 6abb ldr r3, [r7, #40] ; 0x28 8065258: 2b00 cmp r3, #0 806525a: d108 bne.n 806526e OutVal = temp[i]; 806525c: 6abb ldr r3, [r7, #40] ; 0x28 806525e: 009b lsls r3, r3, #2 8065260: f107 0230 add.w r2, r7, #48 ; 0x30 8065264: 4413 add r3, r2 8065266: 3b24 subs r3, #36 ; 0x24 8065268: 681b ldr r3, [r3, #0] 806526a: 623b str r3, [r7, #32] 806526c: e018 b.n 80652a0 else OutVal = (temp[i] + temp[i - 1]) * 0.5f; 806526e: 6abb ldr r3, [r7, #40] ; 0x28 8065270: 009b lsls r3, r3, #2 8065272: f107 0230 add.w r2, r7, #48 ; 0x30 8065276: 4413 add r3, r2 8065278: 3b24 subs r3, #36 ; 0x24 806527a: ed93 7a00 vldr s14, [r3] 806527e: 6abb ldr r3, [r7, #40] ; 0x28 8065280: 3b01 subs r3, #1 8065282: 009b lsls r3, r3, #2 8065284: f107 0230 add.w r2, r7, #48 ; 0x30 8065288: 4413 add r3, r2 806528a: 3b24 subs r3, #36 ; 0x24 806528c: edd3 7a00 vldr s15, [r3] 8065290: ee77 7a27 vadd.f32 s15, s14, s15 8065294: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8065298: ee67 7a87 vmul.f32 s15, s15, s14 806529c: edc7 7a08 vstr s15, [r7, #32] return OutVal; 80652a0: 6a3b ldr r3, [r7, #32] 80652a2: e000 b.n 80652a6 } return InVal; 80652a4: 683b ldr r3, [r7, #0] 80652a6: ee07 3a90 vmov s15, r3 } 80652aa: eeb0 0a67 vmov.f32 s0, s15 80652ae: 3734 adds r7, #52 ; 0x34 80652b0: 46bd mov sp, r7 80652b2: f85d 7b04 ldr.w r7, [sp], #4 80652b6: 4770 bx lr 80652b8: 20023e60 .word 0x20023e60 80652bc: 20057e68 .word 0x20057e68 80652c0: 20021521 .word 0x20021521 80652c4: 20057fd0 .word 0x20057fd0 80652c8: 20021522 .word 0x20021522 80652cc: 20026550 .word 0x20026550 80652d0: 20021523 .word 0x20021523 80652d4: 00000000 .word 0x00000000 080652d8 : void initFilters(void) { 80652d8: b590 push {r4, r7, lr} 80652da: b083 sub sp, #12 80652dc: af00 add r7, sp, #0 //*************************************************************************************************************************** //arm_fir_init_f32(&FIR_X, NUM_TAPS, (float32_t *) &firCoeffs32[0], &firStateF32_X[0], BLOCK_SIZE); arm_biquad_cascade_df2T_init_f64(&S_IIR_1Hz, 4, (float64_t *) BAND_OKT, State_IIR_1Hz); 80652de: 4ba8 ldr r3, [pc, #672] ; (8065580 ) 80652e0: 4aa8 ldr r2, [pc, #672] ; (8065584 ) 80652e2: 2104 movs r1, #4 80652e4: 48a8 ldr r0, [pc, #672] ; (8065588 ) 80652e6: f064 ff6b bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_2Hz, 4, (float64_t *) BAND_OKT, State_IIR_2Hz); 80652ea: 4ba8 ldr r3, [pc, #672] ; (806558c ) 80652ec: 4aa5 ldr r2, [pc, #660] ; (8065584 ) 80652ee: 2104 movs r1, #4 80652f0: 48a7 ldr r0, [pc, #668] ; (8065590 ) 80652f2: f064 ff65 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_4Hz, 4, (float64_t *) BAND_OKT, State_IIR_4Hz); 80652f6: 4ba7 ldr r3, [pc, #668] ; (8065594 ) 80652f8: 4aa2 ldr r2, [pc, #648] ; (8065584 ) 80652fa: 2104 movs r1, #4 80652fc: 48a6 ldr r0, [pc, #664] ; (8065598 ) 80652fe: f064 ff5f bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_8Hz, 4, (float64_t *) BAND_OKT, State_IIR_8Hz); 8065302: 4ba6 ldr r3, [pc, #664] ; (806559c ) 8065304: 4a9f ldr r2, [pc, #636] ; (8065584 ) 8065306: 2104 movs r1, #4 8065308: 48a5 ldr r0, [pc, #660] ; (80655a0 ) 806530a: f064 ff59 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_16Hz, 4, (float64_t *) BAND_OKT, State_IIR_16Hz); 806530e: 4ba5 ldr r3, [pc, #660] ; (80655a4 ) 8065310: 4a9c ldr r2, [pc, #624] ; (8065584 ) 8065312: 2104 movs r1, #4 8065314: 48a4 ldr r0, [pc, #656] ; (80655a8 ) 8065316: f064 ff53 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_32Hz, 4, (float64_t *) BAND_OKT, State_IIR_32Hz); 806531a: 4ba4 ldr r3, [pc, #656] ; (80655ac ) 806531c: 4a99 ldr r2, [pc, #612] ; (8065584 ) 806531e: 2104 movs r1, #4 8065320: 48a3 ldr r0, [pc, #652] ; (80655b0 ) 8065322: f064 ff4d bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_63Hz, 4, (float64_t *) BAND_OKT, State_IIR_63Hz); 8065326: 4ba3 ldr r3, [pc, #652] ; (80655b4 ) 8065328: 4a96 ldr r2, [pc, #600] ; (8065584 ) 806532a: 2104 movs r1, #4 806532c: 48a2 ldr r0, [pc, #648] ; (80655b8 ) 806532e: f064 ff47 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_125Hz, 4, (float64_t *) BAND_OKT, State_IIR_125Hz); 8065332: 4ba2 ldr r3, [pc, #648] ; (80655bc ) 8065334: 4a93 ldr r2, [pc, #588] ; (8065584 ) 8065336: 2104 movs r1, #4 8065338: 48a1 ldr r0, [pc, #644] ; (80655c0 ) 806533a: f064 ff41 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_250Hz, 4, (float64_t *) BAND_OKT, State_IIR_250Hz); 806533e: 4ba1 ldr r3, [pc, #644] ; (80655c4 ) 8065340: 4a90 ldr r2, [pc, #576] ; (8065584 ) 8065342: 2104 movs r1, #4 8065344: 48a0 ldr r0, [pc, #640] ; (80655c8 ) 8065346: f064 ff3b bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_500Hz, 4, (float64_t *) BAND_OKT, State_IIR_500Hz); 806534a: 4ba0 ldr r3, [pc, #640] ; (80655cc ) 806534c: 4a8d ldr r2, [pc, #564] ; (8065584 ) 806534e: 2104 movs r1, #4 8065350: 489f ldr r0, [pc, #636] ; (80655d0 ) 8065352: f064 ff35 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_1000Hz, 4, (float64_t *) BAND_OKT, State_IIR_1000Hz); 8065356: 4b9f ldr r3, [pc, #636] ; (80655d4 ) 8065358: 4a8a ldr r2, [pc, #552] ; (8065584 ) 806535a: 2104 movs r1, #4 806535c: 489e ldr r0, [pc, #632] ; (80655d8 ) 806535e: f064 ff2f bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_2000Hz, 4, (float64_t *) BAND_OKT, State_IIR_2000Hz); 8065362: 4b9e ldr r3, [pc, #632] ; (80655dc ) 8065364: 4a87 ldr r2, [pc, #540] ; (8065584 ) 8065366: 2104 movs r1, #4 8065368: 489d ldr r0, [pc, #628] ; (80655e0 ) 806536a: f064 ff29 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_4000Hz, 4, (float64_t *) BAND_OKT, State_IIR_4000Hz); 806536e: 4b9d ldr r3, [pc, #628] ; (80655e4 ) 8065370: 4a84 ldr r2, [pc, #528] ; (8065584 ) 8065372: 2104 movs r1, #4 8065374: 489c ldr r0, [pc, #624] ; (80655e8 ) 8065376: f064 ff23 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_8000Hz, 4, (float64_t *) BAND_OKT, State_IIR_8000Hz); 806537a: 4b9c ldr r3, [pc, #624] ; (80655ec ) 806537c: 4a81 ldr r2, [pc, #516] ; (8065584 ) 806537e: 2104 movs r1, #4 8065380: 489b ldr r0, [pc, #620] ; (80655f0 ) 8065382: f064 ff1d bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_IIR_16000Hz, 4, (float64_t *) BAND_OKT, State_IIR_16000Hz); 8065386: 4b9b ldr r3, [pc, #620] ; (80655f4 ) 8065388: 4a7e ldr r2, [pc, #504] ; (8065584 ) 806538a: 2104 movs r1, #4 806538c: 489a ldr r0, [pc, #616] ; (80655f8 ) 806538e: f064 ff17 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_1, 4, (float64_t *) COEFF_LP_OKT, State_LP_1); 8065392: 4b9a ldr r3, [pc, #616] ; (80655fc ) 8065394: 4a9a ldr r2, [pc, #616] ; (8065600 ) 8065396: 2104 movs r1, #4 8065398: 489a ldr r0, [pc, #616] ; (8065604 ) 806539a: f064 ff11 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_2, 4, (float64_t *) COEFF_LP_OKT, State_LP_2); 806539e: 4b9a ldr r3, [pc, #616] ; (8065608 ) 80653a0: 4a97 ldr r2, [pc, #604] ; (8065600 ) 80653a2: 2104 movs r1, #4 80653a4: 4899 ldr r0, [pc, #612] ; (806560c ) 80653a6: f064 ff0b bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_4, 4, (float64_t *) COEFF_LP_OKT, State_LP_4); 80653aa: 4b99 ldr r3, [pc, #612] ; (8065610 ) 80653ac: 4a94 ldr r2, [pc, #592] ; (8065600 ) 80653ae: 2104 movs r1, #4 80653b0: 4898 ldr r0, [pc, #608] ; (8065614 ) 80653b2: f064 ff05 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_8, 4, (float64_t *) COEFF_LP_OKT, State_LP_8); 80653b6: 4b98 ldr r3, [pc, #608] ; (8065618 ) 80653b8: 4a91 ldr r2, [pc, #580] ; (8065600 ) 80653ba: 2104 movs r1, #4 80653bc: 4897 ldr r0, [pc, #604] ; (806561c ) 80653be: f064 feff bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_16, 4, (float64_t *) COEFF_LP_OKT, State_LP_16); 80653c2: 4b97 ldr r3, [pc, #604] ; (8065620 ) 80653c4: 4a8e ldr r2, [pc, #568] ; (8065600 ) 80653c6: 2104 movs r1, #4 80653c8: 4896 ldr r0, [pc, #600] ; (8065624 ) 80653ca: f064 fef9 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_32, 4, (float64_t *) COEFF_LP_OKT, State_LP_32); 80653ce: 4b96 ldr r3, [pc, #600] ; (8065628 ) 80653d0: 4a8b ldr r2, [pc, #556] ; (8065600 ) 80653d2: 2104 movs r1, #4 80653d4: 4895 ldr r0, [pc, #596] ; (806562c ) 80653d6: f064 fef3 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_63, 4, (float64_t *) COEFF_LP_OKT, State_LP_63); 80653da: 4b95 ldr r3, [pc, #596] ; (8065630 ) 80653dc: 4a88 ldr r2, [pc, #544] ; (8065600 ) 80653de: 2104 movs r1, #4 80653e0: 4894 ldr r0, [pc, #592] ; (8065634 ) 80653e2: f064 feed bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_125, 4, (float64_t *) COEFF_LP_OKT, State_LP_125); 80653e6: 4b94 ldr r3, [pc, #592] ; (8065638 ) 80653e8: 4a85 ldr r2, [pc, #532] ; (8065600 ) 80653ea: 2104 movs r1, #4 80653ec: 4893 ldr r0, [pc, #588] ; (806563c ) 80653ee: f064 fee7 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_250, 4, (float64_t *) COEFF_LP_OKT, State_LP_250); 80653f2: 4b93 ldr r3, [pc, #588] ; (8065640 ) 80653f4: 4a82 ldr r2, [pc, #520] ; (8065600 ) 80653f6: 2104 movs r1, #4 80653f8: 4892 ldr r0, [pc, #584] ; (8065644 ) 80653fa: f064 fee1 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_500, 4, (float64_t *) COEFF_LP_OKT, State_LP_500); 80653fe: 4b92 ldr r3, [pc, #584] ; (8065648 ) 8065400: 4a7f ldr r2, [pc, #508] ; (8065600 ) 8065402: 2104 movs r1, #4 8065404: 4891 ldr r0, [pc, #580] ; (806564c ) 8065406: f064 fedb bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_1000, 4, (float64_t *) COEFF_LP_OKT, State_LP_1000); 806540a: 4b91 ldr r3, [pc, #580] ; (8065650 ) 806540c: 4a7c ldr r2, [pc, #496] ; (8065600 ) 806540e: 2104 movs r1, #4 8065410: 4890 ldr r0, [pc, #576] ; (8065654 ) 8065412: f064 fed5 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_2000, 4, (float64_t *) COEFF_LP_OKT, State_LP_2000); 8065416: 4b90 ldr r3, [pc, #576] ; (8065658 ) 8065418: 4a79 ldr r2, [pc, #484] ; (8065600 ) 806541a: 2104 movs r1, #4 806541c: 488f ldr r0, [pc, #572] ; (806565c ) 806541e: f064 fecf bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_4000, 4, (float64_t *) COEFF_LP_OKT, State_LP_4000); 8065422: 4b8f ldr r3, [pc, #572] ; (8065660 ) 8065424: 4a76 ldr r2, [pc, #472] ; (8065600 ) 8065426: 2104 movs r1, #4 8065428: 488e ldr r0, [pc, #568] ; (8065664 ) 806542a: f064 fec9 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_8000, 4, (float64_t *) COEFF_LP_OKT, State_LP_8000); 806542e: 4b8e ldr r3, [pc, #568] ; (8065668 ) 8065430: 4a73 ldr r2, [pc, #460] ; (8065600 ) 8065432: 2104 movs r1, #4 8065434: 488d ldr r0, [pc, #564] ; (806566c ) 8065436: f064 fec3 bl 80ca1c0 //*************************************************************************************************************************** // THIRD //*************************************************************************************************************************** arm_biquad_cascade_df2T_init_f64(&S_OKT_10000Hz, 4, (float64_t *) BAND_5kHz, State_OKT_10000Hz); 806543a: 4b8d ldr r3, [pc, #564] ; (8065670 ) 806543c: 4a8d ldr r2, [pc, #564] ; (8065674 ) 806543e: 2104 movs r1, #4 8065440: 488d ldr r0, [pc, #564] ; (8065678 ) 8065442: f064 febd bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_8000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_8000Hz); 8065446: 4b8d ldr r3, [pc, #564] ; (806567c ) 8065448: 4a8d ldr r2, [pc, #564] ; (8065680 ) 806544a: 2104 movs r1, #4 806544c: 488d ldr r0, [pc, #564] ; (8065684 ) 806544e: f064 feb7 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_6300Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_6300Hz); 8065452: 4b8d ldr r3, [pc, #564] ; (8065688 ) 8065454: 4a8d ldr r2, [pc, #564] ; (806568c ) 8065456: 2104 movs r1, #4 8065458: 488d ldr r0, [pc, #564] ; (8065690 ) 806545a: f064 feb1 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_5000Hz, 4, (float64_t *) BAND_5kHz, State_OKT_5000Hz); 806545e: 4b8d ldr r3, [pc, #564] ; (8065694 ) 8065460: 4a84 ldr r2, [pc, #528] ; (8065674 ) 8065462: 2104 movs r1, #4 8065464: 488c ldr r0, [pc, #560] ; (8065698 ) 8065466: f064 feab bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_4000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_4000Hz); 806546a: 4b8c ldr r3, [pc, #560] ; (806569c ) 806546c: 4a84 ldr r2, [pc, #528] ; (8065680 ) 806546e: 2104 movs r1, #4 8065470: 488b ldr r0, [pc, #556] ; (80656a0 ) 8065472: f064 fea5 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_3150Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_3150Hz); 8065476: 4b8b ldr r3, [pc, #556] ; (80656a4 ) 8065478: 4a84 ldr r2, [pc, #528] ; (806568c ) 806547a: 2104 movs r1, #4 806547c: 488a ldr r0, [pc, #552] ; (80656a8 ) 806547e: f064 fe9f bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_2500Hz, 4, (float64_t *) BAND_5kHz, State_OKT_2500Hz); 8065482: 4b8a ldr r3, [pc, #552] ; (80656ac ) 8065484: 4a7b ldr r2, [pc, #492] ; (8065674 ) 8065486: 2104 movs r1, #4 8065488: 4889 ldr r0, [pc, #548] ; (80656b0 ) 806548a: f064 fe99 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_2000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_2000Hz); 806548e: 4b89 ldr r3, [pc, #548] ; (80656b4 ) 8065490: 4a7b ldr r2, [pc, #492] ; (8065680 ) 8065492: 2104 movs r1, #4 8065494: 4888 ldr r0, [pc, #544] ; (80656b8 ) 8065496: f064 fe93 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1600Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_1600Hz); 806549a: 4b88 ldr r3, [pc, #544] ; (80656bc ) 806549c: 4a7b ldr r2, [pc, #492] ; (806568c ) 806549e: 2104 movs r1, #4 80654a0: 4887 ldr r0, [pc, #540] ; (80656c0 ) 80654a2: f064 fe8d bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1250Hz, 4, (float64_t *) BAND_5kHz, State_OKT_1250Hz); 80654a6: 4b87 ldr r3, [pc, #540] ; (80656c4 ) 80654a8: 4a72 ldr r2, [pc, #456] ; (8065674 ) 80654aa: 2104 movs r1, #4 80654ac: 4886 ldr r0, [pc, #536] ; (80656c8 ) 80654ae: f064 fe87 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1000Hz, 4, (float64_t *) BAND_4kHz, State_OKT_1000Hz); 80654b2: 4b86 ldr r3, [pc, #536] ; (80656cc ) 80654b4: 4a72 ldr r2, [pc, #456] ; (8065680 ) 80654b6: 2104 movs r1, #4 80654b8: 4885 ldr r0, [pc, #532] ; (80656d0 ) 80654ba: f064 fe81 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_800Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_800Hz); 80654be: 4b85 ldr r3, [pc, #532] ; (80656d4 ) 80654c0: 4a72 ldr r2, [pc, #456] ; (806568c ) 80654c2: 2104 movs r1, #4 80654c4: 4884 ldr r0, [pc, #528] ; (80656d8 ) 80654c6: f064 fe7b bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_630Hz, 4, (float64_t *) BAND_5kHz, State_OKT_630Hz); 80654ca: 4b84 ldr r3, [pc, #528] ; (80656dc ) 80654cc: 4a69 ldr r2, [pc, #420] ; (8065674 ) 80654ce: 2104 movs r1, #4 80654d0: 4883 ldr r0, [pc, #524] ; (80656e0 ) 80654d2: f064 fe75 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_500Hz, 4, (float64_t *) BAND_4kHz, State_OKT_500Hz); 80654d6: 4b83 ldr r3, [pc, #524] ; (80656e4 ) 80654d8: 4a69 ldr r2, [pc, #420] ; (8065680 ) 80654da: 2104 movs r1, #4 80654dc: 4882 ldr r0, [pc, #520] ; (80656e8 ) 80654de: f064 fe6f bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_400Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_400Hz); 80654e2: 4b82 ldr r3, [pc, #520] ; (80656ec ) 80654e4: 4a69 ldr r2, [pc, #420] ; (806568c ) 80654e6: 2104 movs r1, #4 80654e8: 4881 ldr r0, [pc, #516] ; (80656f0 ) 80654ea: f064 fe69 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_315Hz, 4, (float64_t *) BAND_5kHz, State_OKT_315Hz); 80654ee: 4b81 ldr r3, [pc, #516] ; (80656f4 ) 80654f0: 4a60 ldr r2, [pc, #384] ; (8065674 ) 80654f2: 2104 movs r1, #4 80654f4: 4880 ldr r0, [pc, #512] ; (80656f8 ) 80654f6: f064 fe63 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_250Hz, 4, (float64_t *) BAND_4kHz, State_OKT_250Hz); 80654fa: 4b80 ldr r3, [pc, #512] ; (80656fc ) 80654fc: 4a60 ldr r2, [pc, #384] ; (8065680 ) 80654fe: 2104 movs r1, #4 8065500: 487f ldr r0, [pc, #508] ; (8065700 ) 8065502: f064 fe5d bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_200Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_200Hz); 8065506: 4b7f ldr r3, [pc, #508] ; (8065704 ) 8065508: 4a60 ldr r2, [pc, #384] ; (806568c ) 806550a: 2104 movs r1, #4 806550c: 487e ldr r0, [pc, #504] ; (8065708 ) 806550e: f064 fe57 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_160Hz, 4, (float64_t *) BAND_5kHz, State_OKT_160Hz); 8065512: 4b7e ldr r3, [pc, #504] ; (806570c ) 8065514: 4a57 ldr r2, [pc, #348] ; (8065674 ) 8065516: 2104 movs r1, #4 8065518: 487d ldr r0, [pc, #500] ; (8065710 ) 806551a: f064 fe51 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_125Hz, 4, (float64_t *) BAND_4kHz, State_OKT_125Hz); 806551e: 4b7d ldr r3, [pc, #500] ; (8065714 ) 8065520: 4a57 ldr r2, [pc, #348] ; (8065680 ) 8065522: 2104 movs r1, #4 8065524: 487c ldr r0, [pc, #496] ; (8065718 ) 8065526: f064 fe4b bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_100Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_100Hz); 806552a: 4b7c ldr r3, [pc, #496] ; (806571c ) 806552c: 4a57 ldr r2, [pc, #348] ; (806568c ) 806552e: 2104 movs r1, #4 8065530: 487b ldr r0, [pc, #492] ; (8065720 ) 8065532: f064 fe45 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_80Hz, 4, (float64_t *) BAND_5kHz, State_OKT_80Hz); 8065536: 4b7b ldr r3, [pc, #492] ; (8065724 ) 8065538: 4a4e ldr r2, [pc, #312] ; (8065674 ) 806553a: 2104 movs r1, #4 806553c: 487a ldr r0, [pc, #488] ; (8065728 ) 806553e: f064 fe3f bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_63Hz, 4, (float64_t *) BAND_4kHz, State_OKT_63Hz); 8065542: 4b7a ldr r3, [pc, #488] ; (806572c ) 8065544: 4a4e ldr r2, [pc, #312] ; (8065680 ) 8065546: 2104 movs r1, #4 8065548: 4879 ldr r0, [pc, #484] ; (8065730 ) 806554a: f064 fe39 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_50Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_50Hz); 806554e: 4b79 ldr r3, [pc, #484] ; (8065734 ) 8065550: 4a4e ldr r2, [pc, #312] ; (806568c ) 8065552: 2104 movs r1, #4 8065554: 4878 ldr r0, [pc, #480] ; (8065738 ) 8065556: f064 fe33 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_40Hz, 4, (float64_t *) BAND_5kHz, State_OKT_40Hz); 806555a: 4b78 ldr r3, [pc, #480] ; (806573c ) 806555c: 4a45 ldr r2, [pc, #276] ; (8065674 ) 806555e: 2104 movs r1, #4 8065560: 4877 ldr r0, [pc, #476] ; (8065740 ) 8065562: f064 fe2d bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_32Hz, 4, (float64_t *) BAND_4kHz, State_OKT_32Hz); 8065566: 4b77 ldr r3, [pc, #476] ; (8065744 ) 8065568: 4a45 ldr r2, [pc, #276] ; (8065680 ) 806556a: 2104 movs r1, #4 806556c: 4876 ldr r0, [pc, #472] ; (8065748 ) 806556e: f064 fe27 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_25Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_25Hz); 8065572: 4b76 ldr r3, [pc, #472] ; (806574c ) 8065574: 4a45 ldr r2, [pc, #276] ; (806568c ) 8065576: 2104 movs r1, #4 8065578: 4875 ldr r0, [pc, #468] ; (8065750 ) 806557a: f064 fe21 bl 80ca1c0 806557e: e0e9 b.n 8065754 8065580: 20026eb8 .word 0x20026eb8 8065584: 080eec90 .word 0x080eec90 8065588: 2002786c .word 0x2002786c 806558c: 20026d10 .word 0x20026d10 8065590: 20057fe4 .word 0x20057fe4 8065594: 20037a50 .word 0x20037a50 8065598: 200278d4 .word 0x200278d4 806559c: 20057b50 .word 0x20057b50 80655a0: 20057f48 .word 0x20057f48 80655a4: 20026db8 .word 0x20026db8 80655a8: 20026e88 .word 0x20026e88 80655ac: 20057c78 .word 0x20057c78 80655b0: 200684f0 .word 0x200684f0 80655b4: 200269a8 .word 0x200269a8 80655b8: 200683e8 .word 0x200683e8 80655bc: 20068460 .word 0x20068460 80655c0: 200266f0 .word 0x200266f0 80655c4: 200684b0 .word 0x200684b0 80655c8: 200268e8 .word 0x200268e8 80655cc: 20026df8 .word 0x20026df8 80655d0: 20068020 .word 0x20068020 80655d4: 20026818 .word 0x20026818 80655d8: 20026660 .word 0x20026660 80655dc: 20057bf8 .word 0x20057bf8 80655e0: 20026ef8 .word 0x20026ef8 80655e4: 20057f90 .word 0x20057f90 80655e8: 20057b90 .word 0x20057b90 80655ec: 20027820 .word 0x20027820 80655f0: 20025dec .word 0x20025dec 80655f4: 20027760 .word 0x20027760 80655f8: 20057b9c .word 0x20057b9c 80655fc: 20026250 .word 0x20026250 8065600: 080eebf0 .word 0x080eebf0 8065604: 20026188 .word 0x20026188 8065608: 20068130 .word 0x20068130 806560c: 20057cfc .word 0x20057cfc 8065610: 20026898 .word 0x20026898 8065614: 20057ae0 .word 0x20057ae0 8065618: 200269e8 .word 0x200269e8 806561c: 2002633c .word 0x2002633c 8065620: 20025fa0 .word 0x20025fa0 8065624: 20026a68 .word 0x20026a68 8065628: 20026af0 .word 0x20026af0 806562c: 200278b8 .word 0x200278b8 8065630: 20057c38 .word 0x20057c38 8065634: 20026330 .word 0x20026330 8065638: 20026858 .word 0x20026858 806563c: 20026020 .word 0x20026020 8065640: 20068508 .word 0x20068508 8065644: 20068548 .word 0x20068548 8065648: 200278e0 .word 0x200278e0 806564c: 2002795c .word 0x2002795c 8065650: 20025e90 .word 0x20025e90 8065654: 200682c4 .word 0x200682c4 8065658: 20057ec8 .word 0x20057ec8 806565c: 20027920 .word 0x20027920 8065660: 20068328 .word 0x20068328 8065664: 20026cd4 .word 0x20026cd4 8065668: 20057af8 .word 0x20057af8 806566c: 20068564 .word 0x20068564 8065670: 20026e48 .word 0x20026e48 8065674: 080eed30 .word 0x080eed30 8065678: 20057e40 .word 0x20057e40 806567c: 20026348 .word 0x20026348 8065680: 080eedd0 .word 0x080eedd0 8065684: 20057df0 .word 0x20057df0 8065688: 20026210 .word 0x20026210 806568c: 080eee70 .word 0x080eee70 8065690: 20027810 .word 0x20027810 8065694: 20057f08 .word 0x20057f08 8065698: 200683f4 .word 0x200683f4 806569c: 20026928 .word 0x20026928 80656a0: 200682b8 .word 0x200682b8 80656a4: 20068220 .word 0x20068220 80656a8: 20025e84 .word 0x20025e84 80656ac: 20026d60 .word 0x20026d60 80656b0: 20026738 .word 0x20026738 80656b4: 20026620 .word 0x20026620 80656b8: 20026b7c .word 0x20026b7c 80656bc: 20057e00 .word 0x20057e00 80656c0: 20027878 .word 0x20027878 80656c4: 20057d08 .word 0x20057d08 80656c8: 20068410 .word 0x20068410 80656cc: 20026420 .word 0x20026420 80656d0: 200261b8 .word 0x200261b8 80656d4: 20068278 .word 0x20068278 80656d8: 20068450 .word 0x20068450 80656dc: 200681b0 .word 0x200681b0 80656e0: 20025f90 .word 0x20025f90 80656e4: 20026c38 .word 0x20026c38 80656e8: 20057aec .word 0x20057aec 80656ec: 200682e0 .word 0x200682e0 80656f0: 20026044 .word 0x20026044 80656f4: 200262f0 .word 0x200262f0 80656f8: 20026414 .word 0x20026414 80656fc: 200261d0 .word 0x200261d0 8065700: 20068554 .word 0x20068554 8065704: 200265d0 .word 0x200265d0 8065708: 20026590 .word 0x20026590 806570c: 20025f10 .word 0x20025f10 8065710: 2002602c .word 0x2002602c 8065714: 20025e38 .word 0x20025e38 8065718: 20057be8 .word 0x20057be8 806571c: 200267c8 .word 0x200267c8 8065720: 200277a0 .word 0x200277a0 8065724: 20025df8 .word 0x20025df8 8065728: 200267ac .word 0x200267ac 806572c: 20057e80 .word 0x20057e80 8065730: 20057b44 .word 0x20057b44 8065734: 20026b88 .word 0x20026b88 8065738: 20057d84 .word 0x20057d84 806573c: 20026f20 .word 0x20026f20 8065740: 20026610 .word 0x20026610 8065744: 200683a8 .word 0x200683a8 8065748: 20057f54 .word 0x20057f54 806574c: 200266b0 .word 0x200266b0 8065750: 20026da0 .word 0x20026da0 arm_biquad_cascade_df2T_init_f64(&S_OKT_20Hz, 4, (float64_t *) BAND_5kHz, State_OKT_20Hz); 8065754: 4ba0 ldr r3, [pc, #640] ; (80659d8 ) 8065756: 4aa1 ldr r2, [pc, #644] ; (80659dc ) 8065758: 2104 movs r1, #4 806575a: 48a1 ldr r0, [pc, #644] ; (80659e0 ) 806575c: f064 fd30 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_16Hz, 4, (float64_t *) BAND_4kHz, State_OKT_16Hz); 8065760: 4ba0 ldr r3, [pc, #640] ; (80659e4 ) 8065762: 4aa1 ldr r2, [pc, #644] ; (80659e8 ) 8065764: 2104 movs r1, #4 8065766: 48a1 ldr r0, [pc, #644] ; (80659ec ) 8065768: f064 fd2a bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_12_5Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_12_5Hz); 806576c: 4ba0 ldr r3, [pc, #640] ; (80659f0 ) 806576e: 4aa1 ldr r2, [pc, #644] ; (80659f4 ) 8065770: 2104 movs r1, #4 8065772: 48a1 ldr r0, [pc, #644] ; (80659f8 ) 8065774: f064 fd24 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_10Hz, 4, (float64_t *) BAND_5kHz, State_OKT_10Hz); 8065778: 4ba0 ldr r3, [pc, #640] ; (80659fc ) 806577a: 4a98 ldr r2, [pc, #608] ; (80659dc ) 806577c: 2104 movs r1, #4 806577e: 48a0 ldr r0, [pc, #640] ; (8065a00 ) 8065780: f064 fd1e bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_8Hz, 4, (float64_t *) BAND_4kHz, State_OKT_8Hz); 8065784: 4b9f ldr r3, [pc, #636] ; (8065a04 ) 8065786: 4a98 ldr r2, [pc, #608] ; (80659e8 ) 8065788: 2104 movs r1, #4 806578a: 489f ldr r0, [pc, #636] ; (8065a08 ) 806578c: f064 fd18 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_6_3Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_6_3Hz); 8065790: 4b9e ldr r3, [pc, #632] ; (8065a0c ) 8065792: 4a98 ldr r2, [pc, #608] ; (80659f4 ) 8065794: 2104 movs r1, #4 8065796: 489e ldr r0, [pc, #632] ; (8065a10 ) 8065798: f064 fd12 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_5Hz, 4, (float64_t *) BAND_5kHz, State_OKT_5Hz); 806579c: 4b9d ldr r3, [pc, #628] ; (8065a14 ) 806579e: 4a8f ldr r2, [pc, #572] ; (80659dc ) 80657a0: 2104 movs r1, #4 80657a2: 489d ldr r0, [pc, #628] ; (8065a18 ) 80657a4: f064 fd0c bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_4Hz, 4, (float64_t *) BAND_4kHz, State_OKT_4Hz); 80657a8: 4b9c ldr r3, [pc, #624] ; (8065a1c ) 80657aa: 4a8f ldr r2, [pc, #572] ; (80659e8 ) 80657ac: 2104 movs r1, #4 80657ae: 489c ldr r0, [pc, #624] ; (8065a20 ) 80657b0: f064 fd06 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_3_15Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_3_15Hz); 80657b4: 4b9b ldr r3, [pc, #620] ; (8065a24 ) 80657b6: 4a8f ldr r2, [pc, #572] ; (80659f4 ) 80657b8: 2104 movs r1, #4 80657ba: 489b ldr r0, [pc, #620] ; (8065a28 ) 80657bc: f064 fd00 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_2_5Hz, 4, (float64_t *) BAND_5kHz, State_OKT_2_5Hz); 80657c0: 4b9a ldr r3, [pc, #616] ; (8065a2c ) 80657c2: 4a86 ldr r2, [pc, #536] ; (80659dc ) 80657c4: 2104 movs r1, #4 80657c6: 489a ldr r0, [pc, #616] ; (8065a30 ) 80657c8: f064 fcfa bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_2Hz, 4, (float64_t *) BAND_4kHz, State_OKT_2Hz); 80657cc: 4b99 ldr r3, [pc, #612] ; (8065a34 ) 80657ce: 4a86 ldr r2, [pc, #536] ; (80659e8 ) 80657d0: 2104 movs r1, #4 80657d2: 4899 ldr r0, [pc, #612] ; (8065a38 ) 80657d4: f064 fcf4 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1_6Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_1_6Hz); 80657d8: 4b98 ldr r3, [pc, #608] ; (8065a3c ) 80657da: 4a86 ldr r2, [pc, #536] ; (80659f4 ) 80657dc: 2104 movs r1, #4 80657de: 4898 ldr r0, [pc, #608] ; (8065a40 ) 80657e0: f064 fcee bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1_25Hz, 4, (float64_t *) BAND_5kHz, State_OKT_1_25Hz); 80657e4: 4b97 ldr r3, [pc, #604] ; (8065a44 ) 80657e6: 4a7d ldr r2, [pc, #500] ; (80659dc ) 80657e8: 2104 movs r1, #4 80657ea: 4897 ldr r0, [pc, #604] ; (8065a48 ) 80657ec: f064 fce8 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_1Hz, 4, (float64_t *) BAND_4kHz, State_OKT_1Hz); 80657f0: 4b96 ldr r3, [pc, #600] ; (8065a4c ) 80657f2: 4a7d ldr r2, [pc, #500] ; (80659e8 ) 80657f4: 2104 movs r1, #4 80657f6: 4896 ldr r0, [pc, #600] ; (8065a50 ) 80657f8: f064 fce2 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_OKT_0_8Hz, 4, (float64_t *) BAND_3_15kHz, State_OKT_0_8Hz); 80657fc: 4b95 ldr r3, [pc, #596] ; (8065a54 ) 80657fe: 4a7d ldr r2, [pc, #500] ; (80659f4 ) 8065800: 2104 movs r1, #4 8065802: 4895 ldr r0, [pc, #596] ; (8065a58 ) 8065804: f064 fcdc bl 80ca1c0 //todo if(pardata.SYG != UDAR) 8065808: 4b94 ldr r3, [pc, #592] ; (8065a5c ) 806580a: 781b ldrb r3, [r3, #0] 806580c: b2db uxtb r3, r3 806580e: 2b09 cmp r3, #9 8065810: d047 beq.n 80658a2 { initINT1_INT2(0.640); 8065812: ed9f 0b63 vldr d0, [pc, #396] ; 80659a0 8065816: f000 f937 bl 8065a88 initLP((float64_t) pardata.LP); 806581a: 4b90 ldr r3, [pc, #576] ; (8065a5c ) 806581c: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8065820: eeb7 7ae7 vcvt.f64.f32 d7, s15 8065824: eeb0 0b47 vmov.f64 d0, d7 8065828: f000 fbde bl 8065fe8 initHP((float64_t) pardata.HP); 806582c: 4b8b ldr r3, [pc, #556] ; (8065a5c ) 806582e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8065832: eeb7 7ae7 vcvt.f64.f32 d7, s15 8065836: eeb0 0b47 vmov.f64 d0, d7 806583a: f000 fa35 bl 8065ca8 for(i = 0; i < 4; i++) 806583e: 2300 movs r3, #0 8065840: 607b str r3, [r7, #4] 8065842: e02a b.n 806589a { initLP_1(i, (float64_t) pardata.DIAGN_LP[CURR_POINT][i]); 8065844: 4b86 ldr r3, [pc, #536] ; (8065a60 ) 8065846: 781b ldrb r3, [r3, #0] 8065848: b2db uxtb r3, r3 806584a: 4984 ldr r1, [pc, #528] ; (8065a5c ) 806584c: 009a lsls r2, r3, #2 806584e: 687b ldr r3, [r7, #4] 8065850: 4413 add r3, r2 8065852: 33b6 adds r3, #182 ; 0xb6 8065854: 009b lsls r3, r3, #2 8065856: 440b add r3, r1 8065858: 3304 adds r3, #4 806585a: edd3 7a00 vldr s15, [r3] 806585e: eeb7 7ae7 vcvt.f64.f32 d7, s15 8065862: eeb0 0b47 vmov.f64 d0, d7 8065866: 6878 ldr r0, [r7, #4] 8065868: f000 fd1a bl 80662a0 initHP_1(i, (float64_t) pardata.DIAGN_HP[CURR_POINT][i]); 806586c: 4b7c ldr r3, [pc, #496] ; (8065a60 ) 806586e: 781b ldrb r3, [r3, #0] 8065870: b2db uxtb r3, r3 8065872: 497a ldr r1, [pc, #488] ; (8065a5c ) 8065874: 009a lsls r2, r3, #2 8065876: 687b ldr r3, [r7, #4] 8065878: 4413 add r3, r2 806587a: 3396 adds r3, #150 ; 0x96 806587c: 009b lsls r3, r3, #2 806587e: 440b add r3, r1 8065880: 3304 adds r3, #4 8065882: edd3 7a00 vldr s15, [r3] 8065886: eeb7 7ae7 vcvt.f64.f32 d7, s15 806588a: eeb0 0b47 vmov.f64 d0, d7 806588e: 6878 ldr r0, [r7, #4] 8065890: f000 fac6 bl 8065e20 for(i = 0; i < 4; i++) 8065894: 687b ldr r3, [r7, #4] 8065896: 3301 adds r3, #1 8065898: 607b str r3, [r7, #4] 806589a: 687b ldr r3, [r7, #4] 806589c: 2b03 cmp r3, #3 806589e: d9d1 bls.n 8065844 80658a0: e06b b.n 806597a } } else { k = 0; 80658a2: 2300 movs r3, #0 80658a4: 603b str r3, [r7, #0] MY_COEFF_HP[k++] = 0.779283316385214975; //Fs=250000, Fc=11200 80658a6: 683b ldr r3, [r7, #0] 80658a8: 1c5a adds r2, r3, #1 80658aa: 603a str r2, [r7, #0] 80658ac: 4a6d ldr r2, [pc, #436] ; (8065a64 ) 80658ae: 00db lsls r3, r3, #3 80658b0: 441a add r2, r3 80658b2: a43d add r4, pc, #244 ; (adr r4, 80659a8 ) 80658b4: cc18 ldmia r4, {r3, r4} 80658b6: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -1.558566632770429950; 80658ba: 683b ldr r3, [r7, #0] 80658bc: 1c5a adds r2, r3, #1 80658be: 603a str r2, [r7, #0] 80658c0: 4a68 ldr r2, [pc, #416] ; (8065a64 ) 80658c2: 00db lsls r3, r3, #3 80658c4: 441a add r2, r3 80658c6: a43a add r4, pc, #232 ; (adr r4, 80659b0 ) 80658c8: cc18 ldmia r4, {r3, r4} 80658ca: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 0.779283316385214975; 80658ce: 683b ldr r3, [r7, #0] 80658d0: 1c5a adds r2, r3, #1 80658d2: 603a str r2, [r7, #0] 80658d4: 4a63 ldr r2, [pc, #396] ; (8065a64 ) 80658d6: 00db lsls r3, r3, #3 80658d8: 441a add r2, r3 80658da: a433 add r4, pc, #204 ; (adr r4, 80659a8 ) 80658dc: cc18 ldmia r4, {r3, r4} 80658de: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 1.526997415838100560; 80658e2: 683b ldr r3, [r7, #0] 80658e4: 1c5a adds r2, r3, #1 80658e6: 603a str r2, [r7, #0] 80658e8: 4a5e ldr r2, [pc, #376] ; (8065a64 ) 80658ea: 00db lsls r3, r3, #3 80658ec: 441a add r2, r3 80658ee: a432 add r4, pc, #200 ; (adr r4, 80659b8 ) 80658f0: cc18 ldmia r4, {r3, r4} 80658f2: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -0.590135849702759563; 80658f6: 683b ldr r3, [r7, #0] 80658f8: 1c5a adds r2, r3, #1 80658fa: 603a str r2, [r7, #0] 80658fc: 4a59 ldr r2, [pc, #356] ; (8065a64 ) 80658fe: 00db lsls r3, r3, #3 8065900: 441a add r2, r3 8065902: a42f add r4, pc, #188 ; (adr r4, 80659c0 ) 8065904: cc18 ldmia r4, {r3, r4} 8065906: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 0.885595948673332356; 806590a: 683b ldr r3, [r7, #0] 806590c: 1c5a adds r2, r3, #1 806590e: 603a str r2, [r7, #0] 8065910: 4a54 ldr r2, [pc, #336] ; (8065a64 ) 8065912: 00db lsls r3, r3, #3 8065914: 441a add r2, r3 8065916: a42c add r4, pc, #176 ; (adr r4, 80659c8 ) 8065918: cc18 ldmia r4, {r3, r4} 806591a: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -1.771191897346664710; 806591e: 683b ldr r3, [r7, #0] 8065920: 1c5a adds r2, r3, #1 8065922: 603a str r2, [r7, #0] 8065924: 4a4f ldr r2, [pc, #316] ; (8065a64 ) 8065926: 00db lsls r3, r3, #3 8065928: 441a add r2, r3 806592a: a429 add r4, pc, #164 ; (adr r4, 80659d0 ) 806592c: cc18 ldmia r4, {r3, r4} 806592e: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 0.885595948673332356; 8065932: 683b ldr r3, [r7, #0] 8065934: 1c5a adds r2, r3, #1 8065936: 603a str r2, [r7, #0] 8065938: 4a4a ldr r2, [pc, #296] ; (8065a64 ) 806593a: 00db lsls r3, r3, #3 806593c: 441a add r2, r3 806593e: a422 add r4, pc, #136 ; (adr r4, 80659c8 ) 8065940: cc18 ldmia r4, {r3, r4} 8065942: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = 1.526997415838100560; 8065946: 683b ldr r3, [r7, #0] 8065948: 1c5a adds r2, r3, #1 806594a: 603a str r2, [r7, #0] 806594c: 4a45 ldr r2, [pc, #276] ; (8065a64 ) 806594e: 00db lsls r3, r3, #3 8065950: 441a add r2, r3 8065952: a419 add r4, pc, #100 ; (adr r4, 80659b8 ) 8065954: cc18 ldmia r4, {r3, r4} 8065956: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -0.590135849702759563; 806595a: 683b ldr r3, [r7, #0] 806595c: 1c5a adds r2, r3, #1 806595e: 603a str r2, [r7, #0] 8065960: 4a40 ldr r2, [pc, #256] ; (8065a64 ) 8065962: 00db lsls r3, r3, #3 8065964: 441a add r2, r3 8065966: a416 add r4, pc, #88 ; (adr r4, 80659c0 ) 8065968: cc18 ldmia r4, {r3, r4} 806596a: e882 0018 stmia.w r2, {r3, r4} arm_biquad_cascade_df2T_init_f64(&S_HP_ACC, 2, (float64_t *) MY_COEFF_HP, State_HP_ACC); 806596e: 4b3e ldr r3, [pc, #248] ; (8065a68 ) 8065970: 4a3c ldr r2, [pc, #240] ; (8065a64 ) 8065972: 2102 movs r1, #2 8065974: 483d ldr r0, [pc, #244] ; (8065a6c ) 8065976: f064 fc23 bl 80ca1c0 } /// TACHO arm_biquad_cascade_df2T_init_f64(&S_HP_TACHO, 1, (float64_t *) COEFF_HP_TACHO, State_HP_TACHO); 806597a: 4b3d ldr r3, [pc, #244] ; (8065a70 ) 806597c: 4a3d ldr r2, [pc, #244] ; (8065a74 ) 806597e: 2101 movs r1, #1 8065980: 483d ldr r0, [pc, #244] ; (8065a78 ) 8065982: f064 fc1d bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_LP_TACHO, 2, (float64_t *) COEFF_LP_TACHO, State_LP_TACHO); 8065986: 4b3d ldr r3, [pc, #244] ; (8065a7c ) 8065988: 4a3d ldr r2, [pc, #244] ; (8065a80 ) 806598a: 2102 movs r1, #2 806598c: 483d ldr r0, [pc, #244] ; (8065a84 ) 806598e: f064 fc17 bl 80ca1c0 } 8065992: bf00 nop 8065994: 370c adds r7, #12 8065996: 46bd mov sp, r7 8065998: bd90 pop {r4, r7, pc} 806599a: bf00 nop 806599c: f3af 8000 nop.w 80659a0: 47ae147b .word 0x47ae147b 80659a4: 3fe47ae1 .word 0x3fe47ae1 80659a8: 90c62c65 .word 0x90c62c65 80659ac: 3fe8efe3 .word 0x3fe8efe3 80659b0: 90c62c65 .word 0x90c62c65 80659b4: bff8efe3 .word 0xbff8efe3 80659b8: d7a19e54 .word 0xd7a19e54 80659bc: 3ff86e94 .word 0x3ff86e94 80659c0: 93d574ee .word 0x93d574ee 80659c4: bfe2e264 .word 0xbfe2e264 80659c8: 50a0b4b1 .word 0x50a0b4b1 80659cc: 3fec56cd .word 0x3fec56cd 80659d0: 50a0b4b1 .word 0x50a0b4b1 80659d4: bffc56cd .word 0xbffc56cd 80659d8: 20026388 .word 0x20026388 80659dc: 080eed30 .word 0x080eed30 80659e0: 20025fe0 .word 0x20025fe0 80659e4: 20026510 .word 0x20026510 80659e8: 080eedd0 .word 0x080eedd0 80659ec: 20026bc8 .word 0x20026bc8 80659f0: 20026c78 .word 0x20026c78 80659f4: 080eee70 .word 0x080eee70 80659f8: 20057b38 .word 0x20057b38 80659fc: 200277d0 .word 0x200277d0 8065a00: 20068080 .word 0x20068080 8065a04: 20026b30 .word 0x20026b30 8065a08: 20057cc4 .word 0x20057cc4 8065a0c: 20027968 .word 0x20027968 8065a10: 20057e5c .word 0x20057e5c 8065a14: 20068170 .word 0x20068170 8065a18: 20057cf0 .word 0x20057cf0 8065a1c: 20068090 .word 0x20068090 8065a20: 20026038 .word 0x20026038 8065a24: 20026968 .word 0x20026968 8065a28: 20068404 .word 0x20068404 8065a2c: 20026ab0 .word 0x20026ab0 8065a30: 20057d78 .word 0x20057d78 8065a34: 20057ba8 .word 0x20057ba8 8065a38: 20026408 .word 0x20026408 8065a3c: 20026a28 .word 0x20026a28 8065a40: 20026808 .word 0x20026808 8065a44: 200680f0 .word 0x200680f0 8065a48: 20026f04 .word 0x20026f04 8065a4c: 20037a90 .word 0x20037a90 8065a50: 20057dc0 .word 0x20057dc0 8065a54: 20026670 .word 0x20026670 8065a58: 2002792c .word 0x2002792c 8065a5c: 20023e60 .word 0x20023e60 8065a60: 20021011 .word 0x20021011 8065a64: 20021018 .word 0x20021018 8065a68: 200680d0 .word 0x200680d0 8065a6c: 20025f00 .word 0x20025f00 8065a70: 20026580 .word 0x20026580 8065a74: 080ef0a0 .word 0x080ef0a0 8065a78: 20057cb8 .word 0x20057cb8 8065a7c: 20057dd0 .word 0x20057dd0 8065a80: 080ef0c8 .word 0x080ef0c8 8065a84: 2006826c .word 0x2006826c 08065a88 : //************************************************************************************************************************************************** //************************************************************************************************************************************************** //************************************************************************************************************************************************** void initINT1_INT2(float64_t Fc) { 8065a88: b590 push {r4, r7, lr} 8065a8a: f5ad 7d4f sub.w sp, sp, #828 ; 0x33c 8065a8e: af00 add r7, sp, #0 8065a90: ed87 0bca vstr d0, [r7, #808] ; 0x328 uint8_t k; arm_biquad_cascade_df2T_init_f64(&S_INT1, 1, (float64_t *) MY_COEFF[pardata.FRQ], State_INT1); 8065a94: 4b6c ldr r3, [pc, #432] ; (8065c48 ) 8065a96: 7adb ldrb r3, [r3, #11] 8065a98: b2db uxtb r3, r3 8065a9a: 461a mov r2, r3 8065a9c: 4613 mov r3, r2 8065a9e: 009b lsls r3, r3, #2 8065aa0: 4413 add r3, r2 8065aa2: 00db lsls r3, r3, #3 8065aa4: 4a69 ldr r2, [pc, #420] ; (8065c4c ) 8065aa6: 441a add r2, r3 8065aa8: 4b69 ldr r3, [pc, #420] ; (8065c50 ) 8065aaa: 2101 movs r1, #1 8065aac: 4869 ldr r0, [pc, #420] ; (8065c54 ) 8065aae: f064 fb87 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&D_INT1[0], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[0][0]); 8065ab2: 4b65 ldr r3, [pc, #404] ; (8065c48 ) 8065ab4: 7adb ldrb r3, [r3, #11] 8065ab6: b2db uxtb r3, r3 8065ab8: 461a mov r2, r3 8065aba: 4613 mov r3, r2 8065abc: 009b lsls r3, r3, #2 8065abe: 4413 add r3, r2 8065ac0: 00db lsls r3, r3, #3 8065ac2: 4a62 ldr r2, [pc, #392] ; (8065c4c ) 8065ac4: 441a add r2, r3 8065ac6: 4b64 ldr r3, [pc, #400] ; (8065c58 ) 8065ac8: 2101 movs r1, #1 8065aca: 4864 ldr r0, [pc, #400] ; (8065c5c ) 8065acc: f064 fb78 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&D_INT1[1], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[1][0]); 8065ad0: 4b5d ldr r3, [pc, #372] ; (8065c48 ) 8065ad2: 7adb ldrb r3, [r3, #11] 8065ad4: b2db uxtb r3, r3 8065ad6: 461a mov r2, r3 8065ad8: 4613 mov r3, r2 8065ada: 009b lsls r3, r3, #2 8065adc: 4413 add r3, r2 8065ade: 00db lsls r3, r3, #3 8065ae0: 4a5a ldr r2, [pc, #360] ; (8065c4c ) 8065ae2: 441a add r2, r3 8065ae4: 4b5e ldr r3, [pc, #376] ; (8065c60 ) 8065ae6: 2101 movs r1, #1 8065ae8: 485e ldr r0, [pc, #376] ; (8065c64 ) 8065aea: f064 fb69 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&D_INT1[2], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[2][0]); 8065aee: 4b56 ldr r3, [pc, #344] ; (8065c48 ) 8065af0: 7adb ldrb r3, [r3, #11] 8065af2: b2db uxtb r3, r3 8065af4: 461a mov r2, r3 8065af6: 4613 mov r3, r2 8065af8: 009b lsls r3, r3, #2 8065afa: 4413 add r3, r2 8065afc: 00db lsls r3, r3, #3 8065afe: 4a53 ldr r2, [pc, #332] ; (8065c4c ) 8065b00: 441a add r2, r3 8065b02: 4b59 ldr r3, [pc, #356] ; (8065c68 ) 8065b04: 2101 movs r1, #1 8065b06: 4859 ldr r0, [pc, #356] ; (8065c6c ) 8065b08: f064 fb5a bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&D_INT1[3], 1, (float64_t *) MY_COEFF[pardata.FRQ], &State_D_INT1[3][0]); 8065b0c: 4b4e ldr r3, [pc, #312] ; (8065c48 ) 8065b0e: 7adb ldrb r3, [r3, #11] 8065b10: b2db uxtb r3, r3 8065b12: 461a mov r2, r3 8065b14: 4613 mov r3, r2 8065b16: 009b lsls r3, r3, #2 8065b18: 4413 add r3, r2 8065b1a: 00db lsls r3, r3, #3 8065b1c: 4a4b ldr r2, [pc, #300] ; (8065c4c ) 8065b1e: 441a add r2, r3 8065b20: 4b53 ldr r3, [pc, #332] ; (8065c70 ) 8065b22: 2101 movs r1, #1 8065b24: 4853 ldr r0, [pc, #332] ; (8065c74 ) 8065b26: f064 fb4b bl 80ca1c0 k = 0; 8065b2a: 2300 movs r3, #0 8065b2c: f887 3337 strb.w r3, [r7, #823] ; 0x337 IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirLPF, 2, Fc, 0.1); 8065b30: 4c51 ldr r4, [pc, #324] ; (8065c78 ) 8065b32: 4638 mov r0, r7 8065b34: ed9f 2b40 vldr d2, [pc, #256] ; 8065c38 8065b38: ed97 1bca vldr d1, [r7, #808] ; 0x328 8065b3c: 2302 movs r3, #2 8065b3e: 2200 movs r2, #0 8065b40: ed9f 0b3f vldr d0, [pc, #252] ; 8065c40 8065b44: 2100 movs r1, #0 8065b46: f7c9 ffbb bl 802fac0 8065b4a: 463b mov r3, r7 8065b4c: 4620 mov r0, r4 8065b4e: 4619 mov r1, r3 8065b50: f44f 734a mov.w r3, #808 ; 0x328 8065b54: 461a mov r2, r3 8065b56: f067 fa88 bl 80cd06a MY_COEFF_INT2[k++] = IIR.b0[0]; 8065b5a: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065b5e: 1c5a adds r2, r3, #1 8065b60: f887 2337 strb.w r2, [r7, #823] ; 0x337 8065b64: 461a mov r2, r3 8065b66: 4b44 ldr r3, [pc, #272] ; (8065c78 ) 8065b68: e9d3 3464 ldrd r3, r4, [r3, #400] ; 0x190 8065b6c: 4943 ldr r1, [pc, #268] ; (8065c7c ) 8065b6e: 00d2 lsls r2, r2, #3 8065b70: 440a add r2, r1 8065b72: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_INT2[k++] = IIR.b1[0]; 8065b76: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065b7a: 1c5a adds r2, r3, #1 8065b7c: f887 2337 strb.w r2, [r7, #823] ; 0x337 8065b80: 461a mov r2, r3 8065b82: 4b3d ldr r3, [pc, #244] ; (8065c78 ) 8065b84: e9d3 3478 ldrd r3, r4, [r3, #480] ; 0x1e0 8065b88: 493c ldr r1, [pc, #240] ; (8065c7c ) 8065b8a: 00d2 lsls r2, r2, #3 8065b8c: 440a add r2, r1 8065b8e: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_INT2[k++] = IIR.b2[0]; 8065b92: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065b96: 1c5a adds r2, r3, #1 8065b98: f887 2337 strb.w r2, [r7, #823] ; 0x337 8065b9c: 461a mov r2, r3 8065b9e: 4b36 ldr r3, [pc, #216] ; (8065c78 ) 8065ba0: e9d3 348c ldrd r3, r4, [r3, #560] ; 0x230 8065ba4: 4935 ldr r1, [pc, #212] ; (8065c7c ) 8065ba6: 00d2 lsls r2, r2, #3 8065ba8: 440a add r2, r1 8065baa: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_INT2[k++] = -IIR.a1[0]; 8065bae: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065bb2: 1c5a adds r2, r3, #1 8065bb4: f887 2337 strb.w r2, [r7, #823] ; 0x337 8065bb8: 4619 mov r1, r3 8065bba: 4b2f ldr r3, [pc, #188] ; (8065c78 ) 8065bbc: ed93 7b14 vldr d7, [r3, #80] ; 0x50 8065bc0: eeb1 7b47 vneg.f64 d7, d7 8065bc4: 4a2d ldr r2, [pc, #180] ; (8065c7c ) 8065bc6: 00cb lsls r3, r1, #3 8065bc8: 4413 add r3, r2 8065bca: ed83 7b00 vstr d7, [r3] MY_COEFF_INT2[k++] = -IIR.a2[0]; 8065bce: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065bd2: 1c5a adds r2, r3, #1 8065bd4: f887 2337 strb.w r2, [r7, #823] ; 0x337 8065bd8: 4619 mov r1, r3 8065bda: 4b27 ldr r3, [pc, #156] ; (8065c78 ) 8065bdc: ed93 7b28 vldr d7, [r3, #160] ; 0xa0 8065be0: eeb1 7b47 vneg.f64 d7, d7 8065be4: 4a25 ldr r2, [pc, #148] ; (8065c7c ) 8065be6: 00cb lsls r3, r1, #3 8065be8: 4413 add r3, r2 8065bea: ed83 7b00 vstr d7, [r3] arm_biquad_cascade_df2T_init_f64(&S_INT2, 1, (float64_t *) MY_COEFF_INT2, State_INT2); 8065bee: 4b24 ldr r3, [pc, #144] ; (8065c80 ) 8065bf0: 4a22 ldr r2, [pc, #136] ; (8065c7c ) 8065bf2: 2101 movs r1, #1 8065bf4: 4823 ldr r0, [pc, #140] ; (8065c84 ) 8065bf6: f064 fae3 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&D_INT2[0], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[0][0]); 8065bfa: 4b23 ldr r3, [pc, #140] ; (8065c88 ) 8065bfc: 4a1f ldr r2, [pc, #124] ; (8065c7c ) 8065bfe: 2101 movs r1, #1 8065c00: 4822 ldr r0, [pc, #136] ; (8065c8c ) 8065c02: f064 fadd bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&D_INT2[1], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[1][0]); 8065c06: 4b22 ldr r3, [pc, #136] ; (8065c90 ) 8065c08: 4a1c ldr r2, [pc, #112] ; (8065c7c ) 8065c0a: 2101 movs r1, #1 8065c0c: 4821 ldr r0, [pc, #132] ; (8065c94 ) 8065c0e: f064 fad7 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&D_INT2[2], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[2][0]); 8065c12: 4b21 ldr r3, [pc, #132] ; (8065c98 ) 8065c14: 4a19 ldr r2, [pc, #100] ; (8065c7c ) 8065c16: 2101 movs r1, #1 8065c18: 4820 ldr r0, [pc, #128] ; (8065c9c ) 8065c1a: f064 fad1 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&D_INT2[3], 1, (float64_t *) MY_COEFF_INT2, &State_D_INT2[3][0]); 8065c1e: 4b20 ldr r3, [pc, #128] ; (8065ca0 ) 8065c20: 4a16 ldr r2, [pc, #88] ; (8065c7c ) 8065c22: 2101 movs r1, #1 8065c24: 481f ldr r0, [pc, #124] ; (8065ca4 ) 8065c26: f064 facb bl 80ca1c0 } 8065c2a: bf00 nop 8065c2c: f507 774f add.w r7, r7, #828 ; 0x33c 8065c30: 46bd mov sp, r7 8065c32: bd90 pop {r4, r7, pc} 8065c34: f3af 8000 nop.w 8065c38: 9999999a .word 0x9999999a 8065c3c: 3fb99999 .word 0x3fb99999 ... 8065c48: 20023e60 .word 0x20023e60 8065c4c: 080eef10 .word 0x080eef10 8065c50: 20068030 .word 0x20068030 8065c54: 20026170 .word 0x20026170 8065c58: 200263c8 .word 0x200263c8 8065c5c: 200268f4 .word 0x200268f4 8065c60: 200263d8 .word 0x200263d8 8065c64: 20026900 .word 0x20026900 8065c68: 200263e8 .word 0x200263e8 8065c6c: 2002690c .word 0x2002690c 8065c70: 200263f8 .word 0x200263f8 8065c74: 20026918 .word 0x20026918 8065c78: 20025918 .word 0x20025918 8065c7c: 20021108 .word 0x20021108 8065c80: 200267b8 .word 0x200267b8 8065c84: 200278c4 .word 0x200278c4 8065c88: 20025f50 .word 0x20025f50 8065c8c: 20057d90 .word 0x20057d90 8065c90: 20025f60 .word 0x20025f60 8065c94: 20057d9c .word 0x20057d9c 8065c98: 20025f70 .word 0x20025f70 8065c9c: 20057da8 .word 0x20057da8 8065ca0: 20025f80 .word 0x20025f80 8065ca4: 20057db4 .word 0x20057db4 08065ca8 : void initHP(float64_t Fc) { 8065ca8: b590 push {r4, r7, lr} 8065caa: f5ad 7d4f sub.w sp, sp, #828 ; 0x33c 8065cae: af00 add r7, sp, #0 8065cb0: ed87 0bca vstr d0, [r7, #808] ; 0x328 uint8_t i, k; k = 0; 8065cb4: 2300 movs r3, #0 8065cb6: f887 3336 strb.w r3, [r7, #822] ; 0x336 IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirHPF, 4, Fc, 0.1); 8065cba: 4c51 ldr r4, [pc, #324] ; (8065e00 ) 8065cbc: 4638 mov r0, r7 8065cbe: ed9f 2b4c vldr d2, [pc, #304] ; 8065df0 8065cc2: ed97 1bca vldr d1, [r7, #808] ; 0x328 8065cc6: 2304 movs r3, #4 8065cc8: 2201 movs r2, #1 8065cca: ed9f 0b4b vldr d0, [pc, #300] ; 8065df8 8065cce: 2100 movs r1, #0 8065cd0: f7c9 fef6 bl 802fac0 8065cd4: 463b mov r3, r7 8065cd6: 4620 mov r0, r4 8065cd8: 4619 mov r1, r3 8065cda: f44f 734a mov.w r3, #808 ; 0x328 8065cde: 461a mov r2, r3 8065ce0: f067 f9c3 bl 80cd06a for(i = 0; i < 2; i++) 8065ce4: 2300 movs r3, #0 8065ce6: f887 3337 strb.w r3, [r7, #823] ; 0x337 8065cea: e064 b.n 8065db6 { MY_COEFF_HP[k++] = IIR.b0[i]; 8065cec: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8065cf0: 1c5a adds r2, r3, #1 8065cf2: f887 2336 strb.w r2, [r7, #822] ; 0x336 8065cf6: 4618 mov r0, r3 8065cf8: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065cfc: 4a40 ldr r2, [pc, #256] ; (8065e00 ) 8065cfe: 3332 adds r3, #50 ; 0x32 8065d00: 00db lsls r3, r3, #3 8065d02: 4413 add r3, r2 8065d04: cb18 ldmia r3, {r3, r4} 8065d06: 493f ldr r1, [pc, #252] ; (8065e04 ) 8065d08: 00c2 lsls r2, r0, #3 8065d0a: 440a add r2, r1 8065d0c: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = IIR.b1[i]; 8065d10: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8065d14: 1c5a adds r2, r3, #1 8065d16: f887 2336 strb.w r2, [r7, #822] ; 0x336 8065d1a: 4618 mov r0, r3 8065d1c: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065d20: 4a37 ldr r2, [pc, #220] ; (8065e00 ) 8065d22: 333c adds r3, #60 ; 0x3c 8065d24: 00db lsls r3, r3, #3 8065d26: 4413 add r3, r2 8065d28: cb18 ldmia r3, {r3, r4} 8065d2a: 4936 ldr r1, [pc, #216] ; (8065e04 ) 8065d2c: 00c2 lsls r2, r0, #3 8065d2e: 440a add r2, r1 8065d30: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = IIR.b2[i]; 8065d34: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8065d38: 1c5a adds r2, r3, #1 8065d3a: f887 2336 strb.w r2, [r7, #822] ; 0x336 8065d3e: 4618 mov r0, r3 8065d40: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065d44: 4a2e ldr r2, [pc, #184] ; (8065e00 ) 8065d46: 3346 adds r3, #70 ; 0x46 8065d48: 00db lsls r3, r3, #3 8065d4a: 4413 add r3, r2 8065d4c: cb18 ldmia r3, {r3, r4} 8065d4e: 492d ldr r1, [pc, #180] ; (8065e04 ) 8065d50: 00c2 lsls r2, r0, #3 8065d52: 440a add r2, r1 8065d54: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_HP[k++] = -IIR.a1[i]; 8065d58: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8065d5c: 1c5a adds r2, r3, #1 8065d5e: f887 2336 strb.w r2, [r7, #822] ; 0x336 8065d62: 4619 mov r1, r3 8065d64: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065d68: 4a25 ldr r2, [pc, #148] ; (8065e00 ) 8065d6a: 330a adds r3, #10 8065d6c: 00db lsls r3, r3, #3 8065d6e: 4413 add r3, r2 8065d70: ed93 7b00 vldr d7, [r3] 8065d74: eeb1 7b47 vneg.f64 d7, d7 8065d78: 4a22 ldr r2, [pc, #136] ; (8065e04 ) 8065d7a: 00cb lsls r3, r1, #3 8065d7c: 4413 add r3, r2 8065d7e: ed83 7b00 vstr d7, [r3] MY_COEFF_HP[k++] = -IIR.a2[i]; 8065d82: f897 3336 ldrb.w r3, [r7, #822] ; 0x336 8065d86: 1c5a adds r2, r3, #1 8065d88: f887 2336 strb.w r2, [r7, #822] ; 0x336 8065d8c: 4619 mov r1, r3 8065d8e: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065d92: 4a1b ldr r2, [pc, #108] ; (8065e00 ) 8065d94: 3314 adds r3, #20 8065d96: 00db lsls r3, r3, #3 8065d98: 4413 add r3, r2 8065d9a: ed93 7b00 vldr d7, [r3] 8065d9e: eeb1 7b47 vneg.f64 d7, d7 8065da2: 4a18 ldr r2, [pc, #96] ; (8065e04 ) 8065da4: 00cb lsls r3, r1, #3 8065da6: 4413 add r3, r2 8065da8: ed83 7b00 vstr d7, [r3] for(i = 0; i < 2; i++) 8065dac: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065db0: 3301 adds r3, #1 8065db2: f887 3337 strb.w r3, [r7, #823] ; 0x337 8065db6: f897 3337 ldrb.w r3, [r7, #823] ; 0x337 8065dba: 2b01 cmp r3, #1 8065dbc: d996 bls.n 8065cec } arm_biquad_cascade_df2T_init_f64(&S_HP_ACC, 2, (float64_t *) MY_COEFF_HP, State_HP_ACC); 8065dbe: 4b12 ldr r3, [pc, #72] ; (8065e08 ) 8065dc0: 4a10 ldr r2, [pc, #64] ; (8065e04 ) 8065dc2: 2102 movs r1, #2 8065dc4: 4811 ldr r0, [pc, #68] ; (8065e0c ) 8065dc6: f064 f9fb bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_HP_VEL, 2, (float64_t *) MY_COEFF_HP, State_HP_VEL); 8065dca: 4b11 ldr r3, [pc, #68] ; (8065e10 ) 8065dcc: 4a0d ldr r2, [pc, #52] ; (8065e04 ) 8065dce: 2102 movs r1, #2 8065dd0: 4810 ldr r0, [pc, #64] ; (8065e14 ) 8065dd2: f064 f9f5 bl 80ca1c0 arm_biquad_cascade_df2T_init_f64(&S_HP_DIS, 2, (float64_t *) MY_COEFF_HP, State_HP_DIS); 8065dd6: 4b10 ldr r3, [pc, #64] ; (8065e18 ) 8065dd8: 4a0a ldr r2, [pc, #40] ; (8065e04 ) 8065dda: 2102 movs r1, #2 8065ddc: 480f ldr r0, [pc, #60] ; (8065e1c ) 8065dde: f064 f9ef bl 80ca1c0 } 8065de2: bf00 nop 8065de4: f507 774f add.w r7, r7, #828 ; 0x33c 8065de8: 46bd mov sp, r7 8065dea: bd90 pop {r4, r7, pc} 8065dec: f3af 8000 nop.w 8065df0: 9999999a .word 0x9999999a 8065df4: 3fb99999 .word 0x3fb99999 ... 8065e00: 20025918 .word 0x20025918 8065e04: 20021018 .word 0x20021018 8065e08: 200680d0 .word 0x200680d0 8065e0c: 20025f00 .word 0x20025f00 8065e10: 200277b0 .word 0x200277b0 8065e14: 20025e78 .word 0x20025e78 8065e18: 20026ce0 .word 0x20026ce0 8065e1c: 20027950 .word 0x20027950 08065e20 : void initHP_1(uint32_t n, float64_t Fc) { 8065e20: b5b0 push {r4, r5, r7, lr} 8065e22: f5ad 7d50 sub.w sp, sp, #832 ; 0x340 8065e26: af00 add r7, sp, #0 8065e28: f8c7 0334 str.w r0, [r7, #820] ; 0x334 8065e2c: ed87 0bca vstr d0, [r7, #808] ; 0x328 uint8_t i, k; k = 0; 8065e30: 2300 movs r3, #0 8065e32: f887 333e strb.w r3, [r7, #830] ; 0x33e IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirHPF, 4, Fc, 0.1); 8065e36: 4c68 ldr r4, [pc, #416] ; (8065fd8 ) 8065e38: 4638 mov r0, r7 8065e3a: ed9f 2b63 vldr d2, [pc, #396] ; 8065fc8 8065e3e: ed97 1bca vldr d1, [r7, #808] ; 0x328 8065e42: 2304 movs r3, #4 8065e44: 2201 movs r2, #1 8065e46: ed9f 0b62 vldr d0, [pc, #392] ; 8065fd0 8065e4a: 2100 movs r1, #0 8065e4c: f7c9 fe38 bl 802fac0 8065e50: 463b mov r3, r7 8065e52: 4620 mov r0, r4 8065e54: 4619 mov r1, r3 8065e56: f44f 734a mov.w r3, #808 ; 0x328 8065e5a: 461a mov r2, r3 8065e5c: f067 f905 bl 80cd06a for(i = 0; i < 2; i++) 8065e60: 2300 movs r3, #0 8065e62: f887 333f strb.w r3, [r7, #831] ; 0x33f 8065e66: e08a b.n 8065f7e { D_COEFF_HP[n][k++] = IIR.b0[i]; 8065e68: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8065e6c: 1c5a adds r2, r3, #1 8065e6e: f887 233e strb.w r2, [r7, #830] ; 0x33e 8065e72: 461d mov r5, r3 8065e74: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065e78: 4a57 ldr r2, [pc, #348] ; (8065fd8 ) 8065e7a: 3332 adds r3, #50 ; 0x32 8065e7c: 00db lsls r3, r3, #3 8065e7e: 4413 add r3, r2 8065e80: e893 0006 ldmia.w r3, {r1, r2} 8065e84: 4c55 ldr r4, [pc, #340] ; (8065fdc ) 8065e86: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8065e8a: 4603 mov r3, r0 8065e8c: 009b lsls r3, r3, #2 8065e8e: 4403 add r3, r0 8065e90: 005b lsls r3, r3, #1 8065e92: 442b add r3, r5 8065e94: 00db lsls r3, r3, #3 8065e96: 4423 add r3, r4 8065e98: e883 0006 stmia.w r3, {r1, r2} D_COEFF_HP[n][k++] = IIR.b1[i]; 8065e9c: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8065ea0: 1c5a adds r2, r3, #1 8065ea2: f887 233e strb.w r2, [r7, #830] ; 0x33e 8065ea6: 461d mov r5, r3 8065ea8: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065eac: 4a4a ldr r2, [pc, #296] ; (8065fd8 ) 8065eae: 333c adds r3, #60 ; 0x3c 8065eb0: 00db lsls r3, r3, #3 8065eb2: 4413 add r3, r2 8065eb4: e893 0006 ldmia.w r3, {r1, r2} 8065eb8: 4c48 ldr r4, [pc, #288] ; (8065fdc ) 8065eba: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8065ebe: 4603 mov r3, r0 8065ec0: 009b lsls r3, r3, #2 8065ec2: 4403 add r3, r0 8065ec4: 005b lsls r3, r3, #1 8065ec6: 442b add r3, r5 8065ec8: 00db lsls r3, r3, #3 8065eca: 4423 add r3, r4 8065ecc: e883 0006 stmia.w r3, {r1, r2} D_COEFF_HP[n][k++] = IIR.b2[i]; 8065ed0: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8065ed4: 1c5a adds r2, r3, #1 8065ed6: f887 233e strb.w r2, [r7, #830] ; 0x33e 8065eda: 461d mov r5, r3 8065edc: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065ee0: 4a3d ldr r2, [pc, #244] ; (8065fd8 ) 8065ee2: 3346 adds r3, #70 ; 0x46 8065ee4: 00db lsls r3, r3, #3 8065ee6: 4413 add r3, r2 8065ee8: e893 0006 ldmia.w r3, {r1, r2} 8065eec: 4c3b ldr r4, [pc, #236] ; (8065fdc ) 8065eee: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8065ef2: 4603 mov r3, r0 8065ef4: 009b lsls r3, r3, #2 8065ef6: 4403 add r3, r0 8065ef8: 005b lsls r3, r3, #1 8065efa: 442b add r3, r5 8065efc: 00db lsls r3, r3, #3 8065efe: 4423 add r3, r4 8065f00: e883 0006 stmia.w r3, {r1, r2} D_COEFF_HP[n][k++] = -IIR.a1[i]; 8065f04: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8065f08: 1c5a adds r2, r3, #1 8065f0a: f887 233e strb.w r2, [r7, #830] ; 0x33e 8065f0e: 4618 mov r0, r3 8065f10: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065f14: 4a30 ldr r2, [pc, #192] ; (8065fd8 ) 8065f16: 330a adds r3, #10 8065f18: 00db lsls r3, r3, #3 8065f1a: 4413 add r3, r2 8065f1c: ed93 7b00 vldr d7, [r3] 8065f20: eeb1 7b47 vneg.f64 d7, d7 8065f24: 492d ldr r1, [pc, #180] ; (8065fdc ) 8065f26: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8065f2a: 4613 mov r3, r2 8065f2c: 009b lsls r3, r3, #2 8065f2e: 4413 add r3, r2 8065f30: 005b lsls r3, r3, #1 8065f32: 4403 add r3, r0 8065f34: 00db lsls r3, r3, #3 8065f36: 440b add r3, r1 8065f38: ed83 7b00 vstr d7, [r3] D_COEFF_HP[n][k++] = -IIR.a2[i]; 8065f3c: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8065f40: 1c5a adds r2, r3, #1 8065f42: f887 233e strb.w r2, [r7, #830] ; 0x33e 8065f46: 4618 mov r0, r3 8065f48: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065f4c: 4a22 ldr r2, [pc, #136] ; (8065fd8 ) 8065f4e: 3314 adds r3, #20 8065f50: 00db lsls r3, r3, #3 8065f52: 4413 add r3, r2 8065f54: ed93 7b00 vldr d7, [r3] 8065f58: eeb1 7b47 vneg.f64 d7, d7 8065f5c: 491f ldr r1, [pc, #124] ; (8065fdc ) 8065f5e: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8065f62: 4613 mov r3, r2 8065f64: 009b lsls r3, r3, #2 8065f66: 4413 add r3, r2 8065f68: 005b lsls r3, r3, #1 8065f6a: 4403 add r3, r0 8065f6c: 00db lsls r3, r3, #3 8065f6e: 440b add r3, r1 8065f70: ed83 7b00 vstr d7, [r3] for(i = 0; i < 2; i++) 8065f74: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065f78: 3301 adds r3, #1 8065f7a: f887 333f strb.w r3, [r7, #831] ; 0x33f 8065f7e: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8065f82: 2b01 cmp r3, #1 8065f84: f67f af70 bls.w 8065e68 } arm_biquad_cascade_df2T_init_f64(&D_HP[n], 2, (float64_t *) &D_COEFF_HP[n][0], &State_D_HP[n][0]); 8065f88: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8065f8c: 4613 mov r3, r2 8065f8e: 005b lsls r3, r3, #1 8065f90: 4413 add r3, r2 8065f92: 009b lsls r3, r3, #2 8065f94: 4a12 ldr r2, [pc, #72] ; (8065fe0 ) 8065f96: 1898 adds r0, r3, r2 8065f98: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8065f9c: 4613 mov r3, r2 8065f9e: 009b lsls r3, r3, #2 8065fa0: 4413 add r3, r2 8065fa2: 011b lsls r3, r3, #4 8065fa4: 4a0d ldr r2, [pc, #52] ; (8065fdc ) 8065fa6: 1899 adds r1, r3, r2 8065fa8: f8d7 3334 ldr.w r3, [r7, #820] ; 0x334 8065fac: 015b lsls r3, r3, #5 8065fae: 4a0d ldr r2, [pc, #52] ; (8065fe4 ) 8065fb0: 4413 add r3, r2 8065fb2: 460a mov r2, r1 8065fb4: 2102 movs r1, #2 8065fb6: f064 f903 bl 80ca1c0 } 8065fba: bf00 nop 8065fbc: f507 7750 add.w r7, r7, #832 ; 0x340 8065fc0: 46bd mov sp, r7 8065fc2: bdb0 pop {r4, r5, r7, pc} 8065fc4: f3af 8000 nop.w 8065fc8: 9999999a .word 0x9999999a 8065fcc: 3fb99999 .word 0x3fb99999 ... 8065fd8: 20025918 .word 0x20025918 8065fdc: 20021158 .word 0x20021158 8065fe0: 20068368 .word 0x20068368 8065fe4: 20026460 .word 0x20026460 08065fe8 : void initLP(float64_t Fc) { 8065fe8: b590 push {r4, r7, lr} 8065fea: f5ad 7d51 sub.w sp, sp, #836 ; 0x344 8065fee: af00 add r7, sp, #0 8065ff0: ed87 0bca vstr d0, [r7, #808] ; 0x328 f = Fc; 8065ff4: e9d7 34ca ldrd r3, r4, [r7, #808] ; 0x328 8065ff8: e9c7 34cc strd r3, r4, [r7, #816] ; 0x330 if(((float64_t) Fs / Fc) < 25.0) { 8065ffc: 4ba0 ldr r3, [pc, #640] ; (8066280 ) 8065ffe: 681b ldr r3, [r3, #0] 8066000: ee07 3a90 vmov s15, r3 8066004: eeb8 5b67 vcvt.f64.u32 d5, s15 8066008: ed97 6bca vldr d6, [r7, #808] ; 0x328 806600c: ee85 7b06 vdiv.f64 d7, d5, d6 8066010: eeb3 6b09 vmov.f64 d6, #57 ; 0x41c80000 25.0 8066014: eeb4 7bc6 vcmpe.f64 d7, d6 8066018: eef1 fa10 vmrs APSR_nzcv, fpscr 806601c: f140 8095 bpl.w 806614a f = (an[pardata.FRQ][0] * Fc * Fc * Fc * Fc * Fc) + (an[pardata.FRQ][1] * Fc * Fc * Fc * Fc) + (an[pardata.FRQ][2] * Fc * Fc * Fc) + (an[pardata.FRQ][3] * Fc * Fc) + (an[pardata.FRQ][4] * Fc) + an[pardata.FRQ][5]; 8066020: 4b98 ldr r3, [pc, #608] ; (8066284 ) 8066022: 7adb ldrb r3, [r3, #11] 8066024: b2db uxtb r3, r3 8066026: 4619 mov r1, r3 8066028: 4a97 ldr r2, [pc, #604] ; (8066288 ) 806602a: 460b mov r3, r1 806602c: 005b lsls r3, r3, #1 806602e: 440b add r3, r1 8066030: 011b lsls r3, r3, #4 8066032: 4413 add r3, r2 8066034: ed93 6b00 vldr d6, [r3] 8066038: ed97 7bca vldr d7, [r7, #808] ; 0x328 806603c: ee26 6b07 vmul.f64 d6, d6, d7 8066040: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066044: ee26 6b07 vmul.f64 d6, d6, d7 8066048: ed97 7bca vldr d7, [r7, #808] ; 0x328 806604c: ee26 6b07 vmul.f64 d6, d6, d7 8066050: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066054: ee26 6b07 vmul.f64 d6, d6, d7 8066058: ed97 7bca vldr d7, [r7, #808] ; 0x328 806605c: ee26 6b07 vmul.f64 d6, d6, d7 8066060: 4b88 ldr r3, [pc, #544] ; (8066284 ) 8066062: 7adb ldrb r3, [r3, #11] 8066064: b2db uxtb r3, r3 8066066: 4619 mov r1, r3 8066068: 4a87 ldr r2, [pc, #540] ; (8066288 ) 806606a: 460b mov r3, r1 806606c: 005b lsls r3, r3, #1 806606e: 440b add r3, r1 8066070: 011b lsls r3, r3, #4 8066072: 4413 add r3, r2 8066074: 3308 adds r3, #8 8066076: ed93 5b00 vldr d5, [r3] 806607a: ed97 7bca vldr d7, [r7, #808] ; 0x328 806607e: ee25 5b07 vmul.f64 d5, d5, d7 8066082: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066086: ee25 5b07 vmul.f64 d5, d5, d7 806608a: ed97 7bca vldr d7, [r7, #808] ; 0x328 806608e: ee25 5b07 vmul.f64 d5, d5, d7 8066092: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066096: ee25 7b07 vmul.f64 d7, d5, d7 806609a: ee36 6b07 vadd.f64 d6, d6, d7 806609e: 4b79 ldr r3, [pc, #484] ; (8066284 ) 80660a0: 7adb ldrb r3, [r3, #11] 80660a2: b2db uxtb r3, r3 80660a4: 4619 mov r1, r3 80660a6: 4a78 ldr r2, [pc, #480] ; (8066288 ) 80660a8: 460b mov r3, r1 80660aa: 005b lsls r3, r3, #1 80660ac: 440b add r3, r1 80660ae: 011b lsls r3, r3, #4 80660b0: 4413 add r3, r2 80660b2: 3310 adds r3, #16 80660b4: ed93 5b00 vldr d5, [r3] 80660b8: ed97 7bca vldr d7, [r7, #808] ; 0x328 80660bc: ee25 5b07 vmul.f64 d5, d5, d7 80660c0: ed97 7bca vldr d7, [r7, #808] ; 0x328 80660c4: ee25 5b07 vmul.f64 d5, d5, d7 80660c8: ed97 7bca vldr d7, [r7, #808] ; 0x328 80660cc: ee25 7b07 vmul.f64 d7, d5, d7 80660d0: ee36 6b07 vadd.f64 d6, d6, d7 80660d4: 4b6b ldr r3, [pc, #428] ; (8066284 ) 80660d6: 7adb ldrb r3, [r3, #11] 80660d8: b2db uxtb r3, r3 80660da: 4619 mov r1, r3 80660dc: 4a6a ldr r2, [pc, #424] ; (8066288 ) 80660de: 460b mov r3, r1 80660e0: 005b lsls r3, r3, #1 80660e2: 440b add r3, r1 80660e4: 011b lsls r3, r3, #4 80660e6: 4413 add r3, r2 80660e8: 3318 adds r3, #24 80660ea: ed93 5b00 vldr d5, [r3] 80660ee: ed97 7bca vldr d7, [r7, #808] ; 0x328 80660f2: ee25 5b07 vmul.f64 d5, d5, d7 80660f6: ed97 7bca vldr d7, [r7, #808] ; 0x328 80660fa: ee25 7b07 vmul.f64 d7, d5, d7 80660fe: ee36 6b07 vadd.f64 d6, d6, d7 8066102: 4b60 ldr r3, [pc, #384] ; (8066284 ) 8066104: 7adb ldrb r3, [r3, #11] 8066106: b2db uxtb r3, r3 8066108: 4619 mov r1, r3 806610a: 4a5f ldr r2, [pc, #380] ; (8066288 ) 806610c: 460b mov r3, r1 806610e: 005b lsls r3, r3, #1 8066110: 440b add r3, r1 8066112: 011b lsls r3, r3, #4 8066114: 4413 add r3, r2 8066116: 3320 adds r3, #32 8066118: ed93 5b00 vldr d5, [r3] 806611c: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066120: ee25 7b07 vmul.f64 d7, d5, d7 8066124: ee36 6b07 vadd.f64 d6, d6, d7 8066128: 4b56 ldr r3, [pc, #344] ; (8066284 ) 806612a: 7adb ldrb r3, [r3, #11] 806612c: b2db uxtb r3, r3 806612e: 4619 mov r1, r3 8066130: 4a55 ldr r2, [pc, #340] ; (8066288 ) 8066132: 460b mov r3, r1 8066134: 005b lsls r3, r3, #1 8066136: 440b add r3, r1 8066138: 011b lsls r3, r3, #4 806613a: 4413 add r3, r2 806613c: 3328 adds r3, #40 ; 0x28 806613e: ed93 7b00 vldr d7, [r3] 8066142: ee36 7b07 vadd.f64 d7, d6, d7 8066146: ed87 7bcc vstr d7, [r7, #816] ; 0x330 } k = 0; 806614a: 2300 movs r3, #0 806614c: f887 333e strb.w r3, [r7, #830] ; 0x33e IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirLPF, 8, f, 0.1); 8066150: 4c4e ldr r4, [pc, #312] ; (806628c ) 8066152: 4638 mov r0, r7 8066154: ed9f 2b46 vldr d2, [pc, #280] ; 8066270 8066158: ed97 1bcc vldr d1, [r7, #816] ; 0x330 806615c: 2308 movs r3, #8 806615e: 2200 movs r2, #0 8066160: ed9f 0b45 vldr d0, [pc, #276] ; 8066278 8066164: 2100 movs r1, #0 8066166: f7c9 fcab bl 802fac0 806616a: 463b mov r3, r7 806616c: 4620 mov r0, r4 806616e: 4619 mov r1, r3 8066170: f44f 734a mov.w r3, #808 ; 0x328 8066174: 461a mov r2, r3 8066176: f066 ff78 bl 80cd06a for(i = 0; i < 4; i++) 806617a: 2300 movs r3, #0 806617c: f887 333f strb.w r3, [r7, #831] ; 0x33f 8066180: e064 b.n 806624c { MY_COEFF_LP[k++] = IIR.b0[i]; 8066182: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 8066186: 1c5a adds r2, r3, #1 8066188: f887 233e strb.w r2, [r7, #830] ; 0x33e 806618c: 4618 mov r0, r3 806618e: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8066192: 4a3e ldr r2, [pc, #248] ; (806628c ) 8066194: 3332 adds r3, #50 ; 0x32 8066196: 00db lsls r3, r3, #3 8066198: 4413 add r3, r2 806619a: cb18 ldmia r3, {r3, r4} 806619c: 493c ldr r1, [pc, #240] ; (8066290 ) 806619e: 00c2 lsls r2, r0, #3 80661a0: 440a add r2, r1 80661a2: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_LP[k++] = IIR.b1[i]; 80661a6: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 80661aa: 1c5a adds r2, r3, #1 80661ac: f887 233e strb.w r2, [r7, #830] ; 0x33e 80661b0: 4618 mov r0, r3 80661b2: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 80661b6: 4a35 ldr r2, [pc, #212] ; (806628c ) 80661b8: 333c adds r3, #60 ; 0x3c 80661ba: 00db lsls r3, r3, #3 80661bc: 4413 add r3, r2 80661be: cb18 ldmia r3, {r3, r4} 80661c0: 4933 ldr r1, [pc, #204] ; (8066290 ) 80661c2: 00c2 lsls r2, r0, #3 80661c4: 440a add r2, r1 80661c6: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_LP[k++] = IIR.b2[i]; 80661ca: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 80661ce: 1c5a adds r2, r3, #1 80661d0: f887 233e strb.w r2, [r7, #830] ; 0x33e 80661d4: 4618 mov r0, r3 80661d6: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 80661da: 4a2c ldr r2, [pc, #176] ; (806628c ) 80661dc: 3346 adds r3, #70 ; 0x46 80661de: 00db lsls r3, r3, #3 80661e0: 4413 add r3, r2 80661e2: cb18 ldmia r3, {r3, r4} 80661e4: 492a ldr r1, [pc, #168] ; (8066290 ) 80661e6: 00c2 lsls r2, r0, #3 80661e8: 440a add r2, r1 80661ea: e882 0018 stmia.w r2, {r3, r4} MY_COEFF_LP[k++] = -IIR.a1[i]; 80661ee: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 80661f2: 1c5a adds r2, r3, #1 80661f4: f887 233e strb.w r2, [r7, #830] ; 0x33e 80661f8: 4619 mov r1, r3 80661fa: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 80661fe: 4a23 ldr r2, [pc, #140] ; (806628c ) 8066200: 330a adds r3, #10 8066202: 00db lsls r3, r3, #3 8066204: 4413 add r3, r2 8066206: ed93 7b00 vldr d7, [r3] 806620a: eeb1 7b47 vneg.f64 d7, d7 806620e: 4a20 ldr r2, [pc, #128] ; (8066290 ) 8066210: 00cb lsls r3, r1, #3 8066212: 4413 add r3, r2 8066214: ed83 7b00 vstr d7, [r3] MY_COEFF_LP[k++] = -IIR.a2[i]; 8066218: f897 333e ldrb.w r3, [r7, #830] ; 0x33e 806621c: 1c5a adds r2, r3, #1 806621e: f887 233e strb.w r2, [r7, #830] ; 0x33e 8066222: 4619 mov r1, r3 8066224: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8066228: 4a18 ldr r2, [pc, #96] ; (806628c ) 806622a: 3314 adds r3, #20 806622c: 00db lsls r3, r3, #3 806622e: 4413 add r3, r2 8066230: ed93 7b00 vldr d7, [r3] 8066234: eeb1 7b47 vneg.f64 d7, d7 8066238: 4a15 ldr r2, [pc, #84] ; (8066290 ) 806623a: 00cb lsls r3, r1, #3 806623c: 4413 add r3, r2 806623e: ed83 7b00 vstr d7, [r3] for(i = 0; i < 4; i++) 8066242: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8066246: 3301 adds r3, #1 8066248: f887 333f strb.w r3, [r7, #831] ; 0x33f 806624c: f897 333f ldrb.w r3, [r7, #831] ; 0x33f 8066250: 2b03 cmp r3, #3 8066252: d996 bls.n 8066182 } arm_biquad_cascade_df2T_init_f64(&S_LP, 4, (float64_t *) MY_COEFF_LP, State_LP); 8066254: 4b0f ldr r3, [pc, #60] ; (8066294 ) 8066256: 4a0e ldr r2, [pc, #56] ; (8066290 ) 8066258: 2104 movs r1, #4 806625a: 480f ldr r0, [pc, #60] ; (8066298 ) 806625c: f063 ffb0 bl 80ca1c0 } 8066260: bf00 nop 8066262: f507 7751 add.w r7, r7, #836 ; 0x344 8066266: 46bd mov sp, r7 8066268: bd90 pop {r4, r7, pc} 806626a: bf00 nop 806626c: f3af 8000 nop.w 8066270: 9999999a .word 0x9999999a 8066274: 3fb99999 .word 0x3fb99999 ... 8066280: 20021d1c .word 0x20021d1c 8066284: 20023e60 .word 0x20023e60 8066288: 080ef118 .word 0x080ef118 806628c: 20025918 .word 0x20025918 8066290: 20021068 .word 0x20021068 8066294: 200379c0 .word 0x200379c0 8066298: 20026564 .word 0x20026564 806629c: 00000000 .word 0x00000000 080662a0 : void initLP_1(uint32_t n, float64_t Fc) { 80662a0: b5b0 push {r4, r5, r7, lr} 80662a2: f5ad 7d52 sub.w sp, sp, #840 ; 0x348 80662a6: af00 add r7, sp, #0 80662a8: f8c7 0334 str.w r0, [r7, #820] ; 0x334 80662ac: ed87 0bca vstr d0, [r7, #808] ; 0x328 f = Fc; 80662b0: e9d7 34ca ldrd r3, r4, [r7, #808] ; 0x328 80662b4: e9c7 34ce strd r3, r4, [r7, #824] ; 0x338 if(((float64_t) Fs / Fc) < 25.0) { 80662b8: 4bbd ldr r3, [pc, #756] ; (80665b0 ) 80662ba: 681b ldr r3, [r3, #0] 80662bc: ee07 3a90 vmov s15, r3 80662c0: eeb8 5b67 vcvt.f64.u32 d5, s15 80662c4: ed97 6bca vldr d6, [r7, #808] ; 0x328 80662c8: ee85 7b06 vdiv.f64 d7, d5, d6 80662cc: eeb3 6b09 vmov.f64 d6, #57 ; 0x41c80000 25.0 80662d0: eeb4 7bc6 vcmpe.f64 d7, d6 80662d4: eef1 fa10 vmrs APSR_nzcv, fpscr 80662d8: f140 8095 bpl.w 8066406 f = (an[pardata.FRQ][0] * Fc * Fc * Fc * Fc * Fc) + (an[pardata.FRQ][1] * Fc * Fc * Fc * Fc) + (an[pardata.FRQ][2] * Fc * Fc * Fc) + (an[pardata.FRQ][3] * Fc * Fc) + (an[pardata.FRQ][4] * Fc) + an[pardata.FRQ][5]; 80662dc: 4bb5 ldr r3, [pc, #724] ; (80665b4 ) 80662de: 7adb ldrb r3, [r3, #11] 80662e0: b2db uxtb r3, r3 80662e2: 4619 mov r1, r3 80662e4: 4ab4 ldr r2, [pc, #720] ; (80665b8 ) 80662e6: 460b mov r3, r1 80662e8: 005b lsls r3, r3, #1 80662ea: 440b add r3, r1 80662ec: 011b lsls r3, r3, #4 80662ee: 4413 add r3, r2 80662f0: ed93 6b00 vldr d6, [r3] 80662f4: ed97 7bca vldr d7, [r7, #808] ; 0x328 80662f8: ee26 6b07 vmul.f64 d6, d6, d7 80662fc: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066300: ee26 6b07 vmul.f64 d6, d6, d7 8066304: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066308: ee26 6b07 vmul.f64 d6, d6, d7 806630c: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066310: ee26 6b07 vmul.f64 d6, d6, d7 8066314: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066318: ee26 6b07 vmul.f64 d6, d6, d7 806631c: 4ba5 ldr r3, [pc, #660] ; (80665b4 ) 806631e: 7adb ldrb r3, [r3, #11] 8066320: b2db uxtb r3, r3 8066322: 4619 mov r1, r3 8066324: 4aa4 ldr r2, [pc, #656] ; (80665b8 ) 8066326: 460b mov r3, r1 8066328: 005b lsls r3, r3, #1 806632a: 440b add r3, r1 806632c: 011b lsls r3, r3, #4 806632e: 4413 add r3, r2 8066330: 3308 adds r3, #8 8066332: ed93 5b00 vldr d5, [r3] 8066336: ed97 7bca vldr d7, [r7, #808] ; 0x328 806633a: ee25 5b07 vmul.f64 d5, d5, d7 806633e: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066342: ee25 5b07 vmul.f64 d5, d5, d7 8066346: ed97 7bca vldr d7, [r7, #808] ; 0x328 806634a: ee25 5b07 vmul.f64 d5, d5, d7 806634e: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066352: ee25 7b07 vmul.f64 d7, d5, d7 8066356: ee36 6b07 vadd.f64 d6, d6, d7 806635a: 4b96 ldr r3, [pc, #600] ; (80665b4 ) 806635c: 7adb ldrb r3, [r3, #11] 806635e: b2db uxtb r3, r3 8066360: 4619 mov r1, r3 8066362: 4a95 ldr r2, [pc, #596] ; (80665b8 ) 8066364: 460b mov r3, r1 8066366: 005b lsls r3, r3, #1 8066368: 440b add r3, r1 806636a: 011b lsls r3, r3, #4 806636c: 4413 add r3, r2 806636e: 3310 adds r3, #16 8066370: ed93 5b00 vldr d5, [r3] 8066374: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066378: ee25 5b07 vmul.f64 d5, d5, d7 806637c: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066380: ee25 5b07 vmul.f64 d5, d5, d7 8066384: ed97 7bca vldr d7, [r7, #808] ; 0x328 8066388: ee25 7b07 vmul.f64 d7, d5, d7 806638c: ee36 6b07 vadd.f64 d6, d6, d7 8066390: 4b88 ldr r3, [pc, #544] ; (80665b4 ) 8066392: 7adb ldrb r3, [r3, #11] 8066394: b2db uxtb r3, r3 8066396: 4619 mov r1, r3 8066398: 4a87 ldr r2, [pc, #540] ; (80665b8 ) 806639a: 460b mov r3, r1 806639c: 005b lsls r3, r3, #1 806639e: 440b add r3, r1 80663a0: 011b lsls r3, r3, #4 80663a2: 4413 add r3, r2 80663a4: 3318 adds r3, #24 80663a6: ed93 5b00 vldr d5, [r3] 80663aa: ed97 7bca vldr d7, [r7, #808] ; 0x328 80663ae: ee25 5b07 vmul.f64 d5, d5, d7 80663b2: ed97 7bca vldr d7, [r7, #808] ; 0x328 80663b6: ee25 7b07 vmul.f64 d7, d5, d7 80663ba: ee36 6b07 vadd.f64 d6, d6, d7 80663be: 4b7d ldr r3, [pc, #500] ; (80665b4 ) 80663c0: 7adb ldrb r3, [r3, #11] 80663c2: b2db uxtb r3, r3 80663c4: 4619 mov r1, r3 80663c6: 4a7c ldr r2, [pc, #496] ; (80665b8 ) 80663c8: 460b mov r3, r1 80663ca: 005b lsls r3, r3, #1 80663cc: 440b add r3, r1 80663ce: 011b lsls r3, r3, #4 80663d0: 4413 add r3, r2 80663d2: 3320 adds r3, #32 80663d4: ed93 5b00 vldr d5, [r3] 80663d8: ed97 7bca vldr d7, [r7, #808] ; 0x328 80663dc: ee25 7b07 vmul.f64 d7, d5, d7 80663e0: ee36 6b07 vadd.f64 d6, d6, d7 80663e4: 4b73 ldr r3, [pc, #460] ; (80665b4 ) 80663e6: 7adb ldrb r3, [r3, #11] 80663e8: b2db uxtb r3, r3 80663ea: 4619 mov r1, r3 80663ec: 4a72 ldr r2, [pc, #456] ; (80665b8 ) 80663ee: 460b mov r3, r1 80663f0: 005b lsls r3, r3, #1 80663f2: 440b add r3, r1 80663f4: 011b lsls r3, r3, #4 80663f6: 4413 add r3, r2 80663f8: 3328 adds r3, #40 ; 0x28 80663fa: ed93 7b00 vldr d7, [r3] 80663fe: ee36 7b07 vadd.f64 d7, d6, d7 8066402: ed87 7bce vstr d7, [r7, #824] ; 0x338 } k = 0; 8066406: 2300 movs r3, #0 8066408: f887 3346 strb.w r3, [r7, #838] ; 0x346 IIR = CalcIIRFilterCoeff(ftBUTTERWORTH, 0, iirLPF, 8, f, 0.1); 806640c: 4c6b ldr r4, [pc, #428] ; (80665bc ) 806640e: 4638 mov r0, r7 8066410: ed9f 2b63 vldr d2, [pc, #396] ; 80665a0 8066414: ed97 1bce vldr d1, [r7, #824] ; 0x338 8066418: 2308 movs r3, #8 806641a: 2200 movs r2, #0 806641c: ed9f 0b62 vldr d0, [pc, #392] ; 80665a8 8066420: 2100 movs r1, #0 8066422: f7c9 fb4d bl 802fac0 8066426: 463b mov r3, r7 8066428: 4620 mov r0, r4 806642a: 4619 mov r1, r3 806642c: f44f 734a mov.w r3, #808 ; 0x328 8066430: 461a mov r2, r3 8066432: f066 fe1a bl 80cd06a for(i = 0; i < 4; i++) 8066436: 2300 movs r3, #0 8066438: f887 3347 strb.w r3, [r7, #839] ; 0x347 806643c: e08a b.n 8066554 { D_COEFF_LP[n][k++] = IIR.b0[i]; 806643e: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 8066442: 1c5a adds r2, r3, #1 8066444: f887 2346 strb.w r2, [r7, #838] ; 0x346 8066448: 461d mov r5, r3 806644a: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 806644e: 4a5b ldr r2, [pc, #364] ; (80665bc ) 8066450: 3332 adds r3, #50 ; 0x32 8066452: 00db lsls r3, r3, #3 8066454: 4413 add r3, r2 8066456: e893 0006 ldmia.w r3, {r1, r2} 806645a: 4c59 ldr r4, [pc, #356] ; (80665c0 ) 806645c: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8066460: 4603 mov r3, r0 8066462: 009b lsls r3, r3, #2 8066464: 4403 add r3, r0 8066466: 009b lsls r3, r3, #2 8066468: 442b add r3, r5 806646a: 00db lsls r3, r3, #3 806646c: 4423 add r3, r4 806646e: e883 0006 stmia.w r3, {r1, r2} D_COEFF_LP[n][k++] = IIR.b1[i]; 8066472: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 8066476: 1c5a adds r2, r3, #1 8066478: f887 2346 strb.w r2, [r7, #838] ; 0x346 806647c: 461d mov r5, r3 806647e: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8066482: 4a4e ldr r2, [pc, #312] ; (80665bc ) 8066484: 333c adds r3, #60 ; 0x3c 8066486: 00db lsls r3, r3, #3 8066488: 4413 add r3, r2 806648a: e893 0006 ldmia.w r3, {r1, r2} 806648e: 4c4c ldr r4, [pc, #304] ; (80665c0 ) 8066490: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 8066494: 4603 mov r3, r0 8066496: 009b lsls r3, r3, #2 8066498: 4403 add r3, r0 806649a: 009b lsls r3, r3, #2 806649c: 442b add r3, r5 806649e: 00db lsls r3, r3, #3 80664a0: 4423 add r3, r4 80664a2: e883 0006 stmia.w r3, {r1, r2} D_COEFF_LP[n][k++] = IIR.b2[i]; 80664a6: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 80664aa: 1c5a adds r2, r3, #1 80664ac: f887 2346 strb.w r2, [r7, #838] ; 0x346 80664b0: 461d mov r5, r3 80664b2: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 80664b6: 4a41 ldr r2, [pc, #260] ; (80665bc ) 80664b8: 3346 adds r3, #70 ; 0x46 80664ba: 00db lsls r3, r3, #3 80664bc: 4413 add r3, r2 80664be: e893 0006 ldmia.w r3, {r1, r2} 80664c2: 4c3f ldr r4, [pc, #252] ; (80665c0 ) 80664c4: f8d7 0334 ldr.w r0, [r7, #820] ; 0x334 80664c8: 4603 mov r3, r0 80664ca: 009b lsls r3, r3, #2 80664cc: 4403 add r3, r0 80664ce: 009b lsls r3, r3, #2 80664d0: 442b add r3, r5 80664d2: 00db lsls r3, r3, #3 80664d4: 4423 add r3, r4 80664d6: e883 0006 stmia.w r3, {r1, r2} D_COEFF_LP[n][k++] = -IIR.a1[i]; 80664da: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 80664de: 1c5a adds r2, r3, #1 80664e0: f887 2346 strb.w r2, [r7, #838] ; 0x346 80664e4: 4618 mov r0, r3 80664e6: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 80664ea: 4a34 ldr r2, [pc, #208] ; (80665bc ) 80664ec: 330a adds r3, #10 80664ee: 00db lsls r3, r3, #3 80664f0: 4413 add r3, r2 80664f2: ed93 7b00 vldr d7, [r3] 80664f6: eeb1 7b47 vneg.f64 d7, d7 80664fa: 4931 ldr r1, [pc, #196] ; (80665c0 ) 80664fc: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8066500: 4613 mov r3, r2 8066502: 009b lsls r3, r3, #2 8066504: 4413 add r3, r2 8066506: 009b lsls r3, r3, #2 8066508: 4403 add r3, r0 806650a: 00db lsls r3, r3, #3 806650c: 440b add r3, r1 806650e: ed83 7b00 vstr d7, [r3] D_COEFF_LP[n][k++] = -IIR.a2[i]; 8066512: f897 3346 ldrb.w r3, [r7, #838] ; 0x346 8066516: 1c5a adds r2, r3, #1 8066518: f887 2346 strb.w r2, [r7, #838] ; 0x346 806651c: 4618 mov r0, r3 806651e: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8066522: 4a26 ldr r2, [pc, #152] ; (80665bc ) 8066524: 3314 adds r3, #20 8066526: 00db lsls r3, r3, #3 8066528: 4413 add r3, r2 806652a: ed93 7b00 vldr d7, [r3] 806652e: eeb1 7b47 vneg.f64 d7, d7 8066532: 4923 ldr r1, [pc, #140] ; (80665c0 ) 8066534: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8066538: 4613 mov r3, r2 806653a: 009b lsls r3, r3, #2 806653c: 4413 add r3, r2 806653e: 009b lsls r3, r3, #2 8066540: 4403 add r3, r0 8066542: 00db lsls r3, r3, #3 8066544: 440b add r3, r1 8066546: ed83 7b00 vstr d7, [r3] for(i = 0; i < 4; i++) 806654a: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 806654e: 3301 adds r3, #1 8066550: f887 3347 strb.w r3, [r7, #839] ; 0x347 8066554: f897 3347 ldrb.w r3, [r7, #839] ; 0x347 8066558: 2b03 cmp r3, #3 806655a: f67f af70 bls.w 806643e } arm_biquad_cascade_df2T_init_f64(&D_LP[n], 4, (float64_t *) &D_COEFF_LP[n][0], &State_D_LP[n][0]); 806655e: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8066562: 4613 mov r3, r2 8066564: 005b lsls r3, r3, #1 8066566: 4413 add r3, r2 8066568: 009b lsls r3, r3, #2 806656a: 4a16 ldr r2, [pc, #88] ; (80665c4 ) 806656c: 1898 adds r0, r3, r2 806656e: f8d7 2334 ldr.w r2, [r7, #820] ; 0x334 8066572: 4613 mov r3, r2 8066574: 009b lsls r3, r3, #2 8066576: 4413 add r3, r2 8066578: 015b lsls r3, r3, #5 806657a: 4a11 ldr r2, [pc, #68] ; (80665c0 ) 806657c: 1899 adds r1, r3, r2 806657e: f8d7 3334 ldr.w r3, [r7, #820] ; 0x334 8066582: 019b lsls r3, r3, #6 8066584: 4a10 ldr r2, [pc, #64] ; (80665c8 ) 8066586: 4413 add r3, r2 8066588: 460a mov r2, r1 806658a: 2104 movs r1, #4 806658c: f063 fe18 bl 80ca1c0 } 8066590: bf00 nop 8066592: f507 7752 add.w r7, r7, #840 ; 0x348 8066596: 46bd mov sp, r7 8066598: bdb0 pop {r4, r5, r7, pc} 806659a: bf00 nop 806659c: f3af 8000 nop.w 80665a0: 9999999a .word 0x9999999a 80665a4: 3fb99999 .word 0x3fb99999 ... 80665b0: 20021d1c .word 0x20021d1c 80665b4: 20023e60 .word 0x20023e60 80665b8: 080ef2f8 .word 0x080ef2f8 80665bc: 20025918 .word 0x20025918 80665c0: 20021298 .word 0x20021298 80665c4: 2002629c .word 0x2002629c 80665c8: 20026050 .word 0x20026050 080665cc : void initMemCopy(void) { 80665cc: b580 push {r7, lr} 80665ce: af00 add r7, sp, #0 __HAL_DMA_DISABLE(&hdma_memtomem16); 80665d0: 4b20 ldr r3, [pc, #128] ; (8066654 ) 80665d2: 681b ldr r3, [r3, #0] 80665d4: 4a1f ldr r2, [pc, #124] ; (8066654 ) 80665d6: 6812 ldr r2, [r2, #0] 80665d8: 6812 ldr r2, [r2, #0] 80665da: f022 0201 bic.w r2, r2, #1 80665de: 601a str r2, [r3, #0] while(HAL_DMA_GetState(&hdma_memtomem16) == HAL_DMA_STATE_BUSY); 80665e0: bf00 nop 80665e2: 481c ldr r0, [pc, #112] ; (8066654 ) 80665e4: f04e f9e4 bl 80b49b0 80665e8: 4603 mov r3, r0 80665ea: 2b02 cmp r3, #2 80665ec: d0f9 beq.n 80665e2 hdma_memtomem16.Instance = DMA2_Stream0; 80665ee: 4b19 ldr r3, [pc, #100] ; (8066654 ) 80665f0: 4a19 ldr r2, [pc, #100] ; (8066658 ) 80665f2: 601a str r2, [r3, #0] hdma_memtomem16.Init.Channel = DMA_CHANNEL_0; 80665f4: 4b17 ldr r3, [pc, #92] ; (8066654 ) 80665f6: 2200 movs r2, #0 80665f8: 605a str r2, [r3, #4] hdma_memtomem16.Init.Direction = DMA_MEMORY_TO_MEMORY; 80665fa: 4b16 ldr r3, [pc, #88] ; (8066654 ) 80665fc: 2280 movs r2, #128 ; 0x80 80665fe: 609a str r2, [r3, #8] hdma_memtomem16.Init.PeriphInc = DMA_PINC_ENABLE; 8066600: 4b14 ldr r3, [pc, #80] ; (8066654 ) 8066602: f44f 7200 mov.w r2, #512 ; 0x200 8066606: 60da str r2, [r3, #12] hdma_memtomem16.Init.MemInc = DMA_MINC_ENABLE; 8066608: 4b12 ldr r3, [pc, #72] ; (8066654 ) 806660a: f44f 6280 mov.w r2, #1024 ; 0x400 806660e: 611a str r2, [r3, #16] hdma_memtomem16.Init.PeriphDataAlignment = DMA_PDATAALIGN_HALFWORD; //DMA_PDATAALIGN_HALFWORD; 8066610: 4b10 ldr r3, [pc, #64] ; (8066654 ) 8066612: f44f 6200 mov.w r2, #2048 ; 0x800 8066616: 615a str r2, [r3, #20] hdma_memtomem16.Init.MemDataAlignment = DMA_MDATAALIGN_HALFWORD; //DMA_MDATAALIGN_HALFWORD; 8066618: 4b0e ldr r3, [pc, #56] ; (8066654 ) 806661a: f44f 5200 mov.w r2, #8192 ; 0x2000 806661e: 619a str r2, [r3, #24] hdma_memtomem16.Init.Mode = DMA_NORMAL; 8066620: 4b0c ldr r3, [pc, #48] ; (8066654 ) 8066622: 2200 movs r2, #0 8066624: 61da str r2, [r3, #28] hdma_memtomem16.Init.Priority = DMA_PRIORITY_VERY_HIGH; 8066626: 4b0b ldr r3, [pc, #44] ; (8066654 ) 8066628: f44f 3240 mov.w r2, #196608 ; 0x30000 806662c: 621a str r2, [r3, #32] hdma_memtomem16.Init.FIFOMode = DMA_FIFOMODE_DISABLE; 806662e: 4b09 ldr r3, [pc, #36] ; (8066654 ) 8066630: 2200 movs r2, #0 8066632: 625a str r2, [r3, #36] ; 0x24 hdma_memtomem16.XferCpltCallback = MEMTOMEM_DMACopyTransferCplt; 8066634: 4b07 ldr r3, [pc, #28] ; (8066654 ) 8066636: 4a09 ldr r2, [pc, #36] ; (806665c ) 8066638: 63da str r2, [r3, #60] ; 0x3c if(HAL_DMA_Init(&hdma_memtomem16) != HAL_OK) { 806663a: 4806 ldr r0, [pc, #24] ; (8066654 ) 806663c: f04d fe30 bl 80b42a0 8066640: 4603 mov r3, r0 8066642: 2b00 cmp r3, #0 8066644: d001 beq.n 806664a Error_Handler(); 8066646: f7ee fbff bl 8054e48 } DMA_ACTIVE = 0; 806664a: 4b05 ldr r3, [pc, #20] ; (8066660 ) 806664c: 2200 movs r2, #0 806664e: 601a str r2, [r3, #0] } 8066650: bf00 nop 8066652: bd80 pop {r7, pc} 8066654: 20026bd4 .word 0x20026bd4 8066658: 40026410 .word 0x40026410 806665c: 08066665 .word 0x08066665 8066660: 2002151c .word 0x2002151c 08066664 : } } } static void MEMTOMEM_DMACopyTransferCplt(DMA_HandleTypeDef *hdma) { 8066664: b480 push {r7} 8066666: b083 sub sp, #12 8066668: af00 add r7, sp, #0 806666a: 6078 str r0, [r7, #4] DMA_ACTIVE = 0; 806666c: 4b04 ldr r3, [pc, #16] ; (8066680 ) 806666e: 2200 movs r2, #0 8066670: 601a str r2, [r3, #0] } 8066672: bf00 nop 8066674: 370c adds r7, #12 8066676: 46bd mov sp, r7 8066678: f85d 7b04 ldr.w r7, [sp], #4 806667c: 4770 bx lr 806667e: bf00 nop 8066680: 2002151c .word 0x2002151c 08066684 : uint32_t FsIndex(void) { 8066684: b480 push {r7} 8066686: af00 add r7, sp, #0 if(Fs == 125) 8066688: 4b28 ldr r3, [pc, #160] ; (806672c ) 806668a: 681b ldr r3, [r3, #0] 806668c: 2b7d cmp r3, #125 ; 0x7d 806668e: d101 bne.n 8066694 return 0; 8066690: 2300 movs r3, #0 8066692: e045 b.n 8066720 else if(Fs == 250) 8066694: 4b25 ldr r3, [pc, #148] ; (806672c ) 8066696: 681b ldr r3, [r3, #0] 8066698: 2bfa cmp r3, #250 ; 0xfa 806669a: d101 bne.n 80666a0 return 1; 806669c: 2301 movs r3, #1 806669e: e03f b.n 8066720 else if(Fs == 500) 80666a0: 4b22 ldr r3, [pc, #136] ; (806672c ) 80666a2: 681b ldr r3, [r3, #0] 80666a4: f5b3 7ffa cmp.w r3, #500 ; 0x1f4 80666a8: d101 bne.n 80666ae return 2; 80666aa: 2302 movs r3, #2 80666ac: e038 b.n 8066720 else if(Fs == 1000) 80666ae: 4b1f ldr r3, [pc, #124] ; (806672c ) 80666b0: 681b ldr r3, [r3, #0] 80666b2: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80666b6: d101 bne.n 80666bc return 3; 80666b8: 2303 movs r3, #3 80666ba: e031 b.n 8066720 else if(Fs == 2000) 80666bc: 4b1b ldr r3, [pc, #108] ; (806672c ) 80666be: 681b ldr r3, [r3, #0] 80666c0: f5b3 6ffa cmp.w r3, #2000 ; 0x7d0 80666c4: d101 bne.n 80666ca return 4; 80666c6: 2304 movs r3, #4 80666c8: e02a b.n 8066720 else if(Fs == 4000) 80666ca: 4b18 ldr r3, [pc, #96] ; (806672c ) 80666cc: 681b ldr r3, [r3, #0] 80666ce: f5b3 6f7a cmp.w r3, #4000 ; 0xfa0 80666d2: d101 bne.n 80666d8 return 5; 80666d4: 2305 movs r3, #5 80666d6: e023 b.n 8066720 else if(Fs == 8000) 80666d8: 4b14 ldr r3, [pc, #80] ; (806672c ) 80666da: 681b ldr r3, [r3, #0] 80666dc: f5b3 5ffa cmp.w r3, #8000 ; 0x1f40 80666e0: d101 bne.n 80666e6 return 6; 80666e2: 2306 movs r3, #6 80666e4: e01c b.n 8066720 else if(Fs == 16000) 80666e6: 4b11 ldr r3, [pc, #68] ; (806672c ) 80666e8: 681b ldr r3, [r3, #0] 80666ea: f5b3 5f7a cmp.w r3, #16000 ; 0x3e80 80666ee: d101 bne.n 80666f4 return 7; 80666f0: 2307 movs r3, #7 80666f2: e015 b.n 8066720 else if(Fs == 32000) 80666f4: 4b0d ldr r3, [pc, #52] ; (806672c ) 80666f6: 681b ldr r3, [r3, #0] 80666f8: f5b3 4ffa cmp.w r3, #32000 ; 0x7d00 80666fc: d101 bne.n 8066702 return 8; 80666fe: 2308 movs r3, #8 8066700: e00e b.n 8066720 else if(Fs == 64000) 8066702: 4b0a ldr r3, [pc, #40] ; (806672c ) 8066704: 681b ldr r3, [r3, #0] 8066706: f5b3 4f7a cmp.w r3, #64000 ; 0xfa00 806670a: d101 bne.n 8066710 return 9; 806670c: 2309 movs r3, #9 806670e: e007 b.n 8066720 else { pardata.FRQ = _64000Hz; 8066710: 4b07 ldr r3, [pc, #28] ; (8066730 ) 8066712: 2209 movs r2, #9 8066714: 72da strb r2, [r3, #11] Fs = 64000; 8066716: 4b05 ldr r3, [pc, #20] ; (806672c ) 8066718: f44f 427a mov.w r2, #64000 ; 0xfa00 806671c: 601a str r2, [r3, #0] return 9; 806671e: 2309 movs r3, #9 } } 8066720: 4618 mov r0, r3 8066722: 46bd mov sp, r7 8066724: f85d 7b04 ldr.w r7, [sp], #4 8066728: 4770 bx lr 806672a: bf00 nop 806672c: 20021d1c .word 0x20021d1c 8066730: 20023e60 .word 0x20023e60 8066734: 00000000 .word 0x00000000 08066738 : uint8_t * FloatToASCII(float32_t Val, int32_t RoundTo) { 8066738: b580 push {r7, lr} 806673a: b098 sub sp, #96 ; 0x60 806673c: af00 add r7, sp, #0 806673e: ed87 0a01 vstr s0, [r7, #4] 8066742: 6038 str r0, [r7, #0] uint8_t idx = 0; 8066744: 2300 movs r3, #0 8066746: f887 305f strb.w r3, [r7, #95] ; 0x5f int32_t i; float32_t value, F, I; uint32_t rnd = 0; 806674a: 2300 movs r3, #0 806674c: 653b str r3, [r7, #80] ; 0x50 uint32_t Tmp32 = 0; 806674e: 2300 movs r3, #0 8066750: 63fb str r3, [r7, #60] ; 0x3c uint32_t Int32 = 0; 8066752: 2300 movs r3, #0 8066754: 64fb str r3, [r7, #76] ; 0x4c uint32_t Frac32 = 0; 8066756: 2300 movs r3, #0 8066758: 64bb str r3, [r7, #72] ; 0x48 uint32_t _I32 = 0; 806675a: 2300 movs r3, #0 806675c: 63bb str r3, [r7, #56] ; 0x38 uint32_t _F32 = 0; 806675e: 2300 movs r3, #0 8066760: 637b str r3, [r7, #52] ; 0x34 uint32_t d = 0, dd = 0; 8066762: 2300 movs r3, #0 8066764: 647b str r3, [r7, #68] ; 0x44 8066766: 2300 movs r3, #0 8066768: 643b str r3, [r7, #64] ; 0x40 char tmparray[32]; volatile bool minus = false; 806676a: 2300 movs r3, #0 806676c: 72fb strb r3, [r7, #11] memset(tmparray, 0, 32); 806676e: f107 030c add.w r3, r7, #12 8066772: 2220 movs r2, #32 8066774: 2100 movs r1, #0 8066776: 4618 mov r0, r3 8066778: f066 fc82 bl 80cd080 memset(pString, 0, 16); 806677c: 2210 movs r2, #16 806677e: 2100 movs r1, #0 8066780: 48b7 ldr r0, [pc, #732] ; (8066a60 ) 8066782: f066 fc7d bl 80cd080 value = Val; 8066786: 687b ldr r3, [r7, #4] 8066788: 633b str r3, [r7, #48] ; 0x30 if(value < 0) 806678a: edd7 7a0c vldr s15, [r7, #48] ; 0x30 806678e: eef5 7ac0 vcmpe.f32 s15, #0.0 8066792: eef1 fa10 vmrs APSR_nzcv, fpscr 8066796: d501 bpl.n 806679c minus = true; 8066798: 2301 movs r3, #1 806679a: 72fb strb r3, [r7, #11] if((Val >= 99999999.9) || (Val <= -99999999.9)) 806679c: edd7 7a01 vldr s15, [r7, #4] 80667a0: eeb7 7ae7 vcvt.f64.f32 d7, s15 80667a4: ed9f 6baa vldr d6, [pc, #680] ; 8066a50 80667a8: eeb4 7bc6 vcmpe.f64 d7, d6 80667ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80667b0: da0a bge.n 80667c8 80667b2: edd7 7a01 vldr s15, [r7, #4] 80667b6: eeb7 7ae7 vcvt.f64.f32 d7, s15 80667ba: ed9f 6ba7 vldr d6, [pc, #668] ; 8066a58 80667be: eeb4 7bc6 vcmpe.f64 d7, d6 80667c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80667c6: d83c bhi.n 8066842 { if(Val < 0) 80667c8: edd7 7a01 vldr s15, [r7, #4] 80667cc: eef5 7ac0 vcmpe.f32 s15, #0.0 80667d0: eef1 fa10 vmrs APSR_nzcv, fpscr 80667d4: d51b bpl.n 806680e { pString[0] = '-'; 80667d6: 4ba2 ldr r3, [pc, #648] ; (8066a60 ) 80667d8: 222d movs r2, #45 ; 0x2d 80667da: 701a strb r2, [r3, #0] pString[1] = '9'; 80667dc: 4ba0 ldr r3, [pc, #640] ; (8066a60 ) 80667de: 2239 movs r2, #57 ; 0x39 80667e0: 705a strb r2, [r3, #1] pString[2] = '9'; 80667e2: 4b9f ldr r3, [pc, #636] ; (8066a60 ) 80667e4: 2239 movs r2, #57 ; 0x39 80667e6: 709a strb r2, [r3, #2] pString[3] = '9'; 80667e8: 4b9d ldr r3, [pc, #628] ; (8066a60 ) 80667ea: 2239 movs r2, #57 ; 0x39 80667ec: 70da strb r2, [r3, #3] pString[4] = '9'; 80667ee: 4b9c ldr r3, [pc, #624] ; (8066a60 ) 80667f0: 2239 movs r2, #57 ; 0x39 80667f2: 711a strb r2, [r3, #4] pString[5] = '9'; 80667f4: 4b9a ldr r3, [pc, #616] ; (8066a60 ) 80667f6: 2239 movs r2, #57 ; 0x39 80667f8: 715a strb r2, [r3, #5] pString[6] = '.'; 80667fa: 4b99 ldr r3, [pc, #612] ; (8066a60 ) 80667fc: 222e movs r2, #46 ; 0x2e 80667fe: 719a strb r2, [r3, #6] pString[7] = '9'; 8066800: 4b97 ldr r3, [pc, #604] ; (8066a60 ) 8066802: 2239 movs r2, #57 ; 0x39 8066804: 71da strb r2, [r3, #7] pString[8] = '\0'; 8066806: 4b96 ldr r3, [pc, #600] ; (8066a60 ) 8066808: 2200 movs r2, #0 806680a: 721a strb r2, [r3, #8] 806680c: e017 b.n 806683e } else { pString[0] = '9'; 806680e: 4b94 ldr r3, [pc, #592] ; (8066a60 ) 8066810: 2239 movs r2, #57 ; 0x39 8066812: 701a strb r2, [r3, #0] pString[1] = '9'; 8066814: 4b92 ldr r3, [pc, #584] ; (8066a60 ) 8066816: 2239 movs r2, #57 ; 0x39 8066818: 705a strb r2, [r3, #1] pString[2] = '9'; 806681a: 4b91 ldr r3, [pc, #580] ; (8066a60 ) 806681c: 2239 movs r2, #57 ; 0x39 806681e: 709a strb r2, [r3, #2] pString[3] = '9'; 8066820: 4b8f ldr r3, [pc, #572] ; (8066a60 ) 8066822: 2239 movs r2, #57 ; 0x39 8066824: 70da strb r2, [r3, #3] pString[4] = '9'; 8066826: 4b8e ldr r3, [pc, #568] ; (8066a60 ) 8066828: 2239 movs r2, #57 ; 0x39 806682a: 711a strb r2, [r3, #4] pString[5] = '.'; 806682c: 4b8c ldr r3, [pc, #560] ; (8066a60 ) 806682e: 222e movs r2, #46 ; 0x2e 8066830: 715a strb r2, [r3, #5] pString[6] = '9'; 8066832: 4b8b ldr r3, [pc, #556] ; (8066a60 ) 8066834: 2239 movs r2, #57 ; 0x39 8066836: 719a strb r2, [r3, #6] pString[7] = '\0'; 8066838: 4b89 ldr r3, [pc, #548] ; (8066a60 ) 806683a: 2200 movs r2, #0 806683c: 71da strb r2, [r3, #7] } return pString; 806683e: 4b88 ldr r3, [pc, #544] ; (8066a60 ) 8066840: e171 b.n 8066b26 } value = ABS(Val); 8066842: edd7 7a01 vldr s15, [r7, #4] 8066846: eef5 7ac0 vcmpe.f32 s15, #0.0 806684a: eef1 fa10 vmrs APSR_nzcv, fpscr 806684e: dd02 ble.n 8066856 8066850: edd7 7a01 vldr s15, [r7, #4] 8066854: e003 b.n 806685e 8066856: edd7 7a01 vldr s15, [r7, #4] 806685a: eef1 7a67 vneg.f32 s15, s15 806685e: edc7 7a0c vstr s15, [r7, #48] ; 0x30 rnd = ABS(RoundTo); 8066862: 683b ldr r3, [r7, #0] 8066864: 2b00 cmp r3, #0 8066866: bfb8 it lt 8066868: 425b neglt r3, r3 806686a: 653b str r3, [r7, #80] ; 0x50 if(RoundTo < 0) 806686c: 683b ldr r3, [r7, #0] 806686e: 2b00 cmp r3, #0 8066870: da47 bge.n 8066902 { F = modff(value, &I); 8066872: f107 032c add.w r3, r7, #44 ; 0x2c 8066876: 4618 mov r0, r3 8066878: ed97 0a0c vldr s0, [r7, #48] ; 0x30 806687c: f064 f9da bl 80cac34 8066880: ed87 0a15 vstr s0, [r7, #84] ; 0x54 while(rnd) 8066884: e00d b.n 80668a2 { F *= 10.0f; 8066886: edd7 7a15 vldr s15, [r7, #84] ; 0x54 806688a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806688e: ee67 7a87 vmul.f32 s15, s15, s14 8066892: edc7 7a15 vstr s15, [r7, #84] ; 0x54 rnd--; 8066896: 6d3b ldr r3, [r7, #80] ; 0x50 8066898: 3b01 subs r3, #1 806689a: 653b str r3, [r7, #80] ; 0x50 d++; 806689c: 6c7b ldr r3, [r7, #68] ; 0x44 806689e: 3301 adds r3, #1 80668a0: 647b str r3, [r7, #68] ; 0x44 while(rnd) 80668a2: 6d3b ldr r3, [r7, #80] ; 0x50 80668a4: 2b00 cmp r3, #0 80668a6: d1ee bne.n 8066886 } F = roundf(F); 80668a8: ed97 0a15 vldr s0, [r7, #84] ; 0x54 80668ac: f064 f9ea bl 80cac84 80668b0: ed87 0a15 vstr s0, [r7, #84] ; 0x54 dd = 1; 80668b4: 2301 movs r3, #1 80668b6: 643b str r3, [r7, #64] ; 0x40 for(i = 0; i < d; i++) 80668b8: 2300 movs r3, #0 80668ba: 65bb str r3, [r7, #88] ; 0x58 80668bc: e008 b.n 80668d0 dd *= 10; 80668be: 6c3a ldr r2, [r7, #64] ; 0x40 80668c0: 4613 mov r3, r2 80668c2: 009b lsls r3, r3, #2 80668c4: 4413 add r3, r2 80668c6: 005b lsls r3, r3, #1 80668c8: 643b str r3, [r7, #64] ; 0x40 for(i = 0; i < d; i++) 80668ca: 6dbb ldr r3, [r7, #88] ; 0x58 80668cc: 3301 adds r3, #1 80668ce: 65bb str r3, [r7, #88] ; 0x58 80668d0: 6dba ldr r2, [r7, #88] ; 0x58 80668d2: 6c7b ldr r3, [r7, #68] ; 0x44 80668d4: 429a cmp r2, r3 80668d6: d3f2 bcc.n 80668be if((uint32_t) F == dd) 80668d8: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80668dc: eefc 7ae7 vcvt.u32.f32 s15, s15 80668e0: ee17 2a90 vmov r2, s15 80668e4: 6c3b ldr r3, [r7, #64] ; 0x40 80668e6: 429a cmp r2, r3 80668e8: d116 bne.n 8066918 { F = 0; 80668ea: f04f 0300 mov.w r3, #0 80668ee: 657b str r3, [r7, #84] ; 0x54 I += 1; 80668f0: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 80668f4: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80668f8: ee77 7a87 vadd.f32 s15, s15, s14 80668fc: edc7 7a0b vstr s15, [r7, #44] ; 0x2c 8066900: e00a b.n 8066918 } } else { I = roundf(value); 8066902: ed97 0a0c vldr s0, [r7, #48] ; 0x30 8066906: f064 f9bd bl 80cac84 806690a: eef0 7a40 vmov.f32 s15, s0 806690e: edc7 7a0b vstr s15, [r7, #44] ; 0x2c F = 0.0f; 8066912: f04f 0300 mov.w r3, #0 8066916: 657b str r3, [r7, #84] ; 0x54 } Int32 = (uint32_t) I; 8066918: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 806691c: eefc 7ae7 vcvt.u32.f32 s15, s15 8066920: ee17 3a90 vmov r3, s15 8066924: 64fb str r3, [r7, #76] ; 0x4c Frac32 = (uint32_t) F; 8066926: edd7 7a15 vldr s15, [r7, #84] ; 0x54 806692a: eefc 7ae7 vcvt.u32.f32 s15, s15 806692e: ee17 3a90 vmov r3, s15 8066932: 64bb str r3, [r7, #72] ; 0x48 _I32 = Int32; 8066934: 6cfb ldr r3, [r7, #76] ; 0x4c 8066936: 63bb str r3, [r7, #56] ; 0x38 _F32 = Frac32; 8066938: 6cbb ldr r3, [r7, #72] ; 0x48 806693a: 637b str r3, [r7, #52] ; 0x34 idx = 0; 806693c: 2300 movs r3, #0 806693e: f887 305f strb.w r3, [r7, #95] ; 0x5f tmparray[idx++] = '\0'; 8066942: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8066946: 1c5a adds r2, r3, #1 8066948: f887 205f strb.w r2, [r7, #95] ; 0x5f 806694c: f107 0260 add.w r2, r7, #96 ; 0x60 8066950: 4413 add r3, r2 8066952: 2200 movs r2, #0 8066954: f803 2c54 strb.w r2, [r3, #-84] if((Int32 == 0) && (Frac32 == 0)) 8066958: 6cfb ldr r3, [r7, #76] ; 0x4c 806695a: 2b00 cmp r3, #0 806695c: d135 bne.n 80669ca 806695e: 6cbb ldr r3, [r7, #72] ; 0x48 8066960: 2b00 cmp r3, #0 8066962: d132 bne.n 80669ca { if(RoundTo < 0) 8066964: 683b ldr r3, [r7, #0] 8066966: 2b00 cmp r3, #0 8066968: da23 bge.n 80669b2 { for(i = 0; i < ABS(RoundTo); i++) 806696a: 2300 movs r3, #0 806696c: 65bb str r3, [r7, #88] ; 0x58 806696e: e00d b.n 806698c tmparray[idx++] = '0'; 8066970: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8066974: 1c5a adds r2, r3, #1 8066976: f887 205f strb.w r2, [r7, #95] ; 0x5f 806697a: f107 0260 add.w r2, r7, #96 ; 0x60 806697e: 4413 add r3, r2 8066980: 2230 movs r2, #48 ; 0x30 8066982: f803 2c54 strb.w r2, [r3, #-84] for(i = 0; i < ABS(RoundTo); i++) 8066986: 6dbb ldr r3, [r7, #88] ; 0x58 8066988: 3301 adds r3, #1 806698a: 65bb str r3, [r7, #88] ; 0x58 806698c: 683b ldr r3, [r7, #0] 806698e: ea83 72e3 eor.w r2, r3, r3, asr #31 8066992: eba2 72e3 sub.w r2, r2, r3, asr #31 8066996: 6dbb ldr r3, [r7, #88] ; 0x58 8066998: 429a cmp r2, r3 806699a: dce9 bgt.n 8066970 tmparray[idx++] = '.'; 806699c: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80669a0: 1c5a adds r2, r3, #1 80669a2: f887 205f strb.w r2, [r7, #95] ; 0x5f 80669a6: f107 0260 add.w r2, r7, #96 ; 0x60 80669aa: 4413 add r3, r2 80669ac: 222e movs r2, #46 ; 0x2e 80669ae: f803 2c54 strb.w r2, [r3, #-84] } tmparray[idx++] = '0'; 80669b2: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80669b6: 1c5a adds r2, r3, #1 80669b8: f887 205f strb.w r2, [r7, #95] ; 0x5f 80669bc: f107 0260 add.w r2, r7, #96 ; 0x60 80669c0: 4413 add r3, r2 80669c2: 2230 movs r2, #48 ; 0x30 80669c4: f803 2c54 strb.w r2, [r3, #-84] 80669c8: e092 b.n 8066af0 } else { if(RoundTo < 0) 80669ca: 683b ldr r3, [r7, #0] 80669cc: 2b00 cmp r3, #0 80669ce: da38 bge.n 8066a42 { for(i = 0; i < ABS(RoundTo); i++) 80669d0: 2300 movs r3, #0 80669d2: 65bb str r3, [r7, #88] ; 0x58 80669d4: e022 b.n 8066a1c { Tmp32 = Frac32; 80669d6: 6cbb ldr r3, [r7, #72] ; 0x48 80669d8: 63fb str r3, [r7, #60] ; 0x3c Frac32 /= 10; 80669da: 6cbb ldr r3, [r7, #72] ; 0x48 80669dc: 4a21 ldr r2, [pc, #132] ; (8066a64 ) 80669de: fba2 2303 umull r2, r3, r2, r3 80669e2: 08db lsrs r3, r3, #3 80669e4: 64bb str r3, [r7, #72] ; 0x48 Tmp32 = Tmp32 - Frac32 * 10; 80669e6: 6cba ldr r2, [r7, #72] ; 0x48 80669e8: 4613 mov r3, r2 80669ea: 009b lsls r3, r3, #2 80669ec: 4413 add r3, r2 80669ee: 005b lsls r3, r3, #1 80669f0: 461a mov r2, r3 80669f2: 6bfb ldr r3, [r7, #60] ; 0x3c 80669f4: 1a9b subs r3, r3, r2 80669f6: 63fb str r3, [r7, #60] ; 0x3c tmparray[idx++] = '0' + Tmp32; 80669f8: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80669fc: 1c5a adds r2, r3, #1 80669fe: f887 205f strb.w r2, [r7, #95] ; 0x5f 8066a02: 4619 mov r1, r3 8066a04: 6bfb ldr r3, [r7, #60] ; 0x3c 8066a06: b2db uxtb r3, r3 8066a08: 3330 adds r3, #48 ; 0x30 8066a0a: b2da uxtb r2, r3 8066a0c: f107 0360 add.w r3, r7, #96 ; 0x60 8066a10: 440b add r3, r1 8066a12: f803 2c54 strb.w r2, [r3, #-84] for(i = 0; i < ABS(RoundTo); i++) 8066a16: 6dbb ldr r3, [r7, #88] ; 0x58 8066a18: 3301 adds r3, #1 8066a1a: 65bb str r3, [r7, #88] ; 0x58 8066a1c: 683b ldr r3, [r7, #0] 8066a1e: ea83 72e3 eor.w r2, r3, r3, asr #31 8066a22: eba2 72e3 sub.w r2, r2, r3, asr #31 8066a26: 6dbb ldr r3, [r7, #88] ; 0x58 8066a28: 429a cmp r2, r3 8066a2a: dcd4 bgt.n 80669d6 } tmparray[idx++] = '.'; 8066a2c: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8066a30: 1c5a adds r2, r3, #1 8066a32: f887 205f strb.w r2, [r7, #95] ; 0x5f 8066a36: f107 0260 add.w r2, r7, #96 ; 0x60 8066a3a: 4413 add r3, r2 8066a3c: 222e movs r2, #46 ; 0x2e 8066a3e: f803 2c54 strb.w r2, [r3, #-84] } if(Int32 != 0) 8066a42: 6cfb ldr r3, [r7, #76] ; 0x4c 8066a44: 2b00 cmp r3, #0 8066a46: d033 beq.n 8066ab0 { while(Int32) 8066a48: e02e b.n 8066aa8 8066a4a: bf00 nop 8066a4c: f3af 8000 nop.w 8066a50: ff99999a .word 0xff99999a 8066a54: 4197d783 .word 0x4197d783 8066a58: ff99999a .word 0xff99999a 8066a5c: c197d783 .word 0xc197d783 8066a60: 20026cb8 .word 0x20026cb8 8066a64: cccccccd .word 0xcccccccd { Tmp32 = Int32; 8066a68: 6cfb ldr r3, [r7, #76] ; 0x4c 8066a6a: 63fb str r3, [r7, #60] ; 0x3c Int32 /= 10; 8066a6c: 6cfb ldr r3, [r7, #76] ; 0x4c 8066a6e: 4a30 ldr r2, [pc, #192] ; (8066b30 ) 8066a70: fba2 2303 umull r2, r3, r2, r3 8066a74: 08db lsrs r3, r3, #3 8066a76: 64fb str r3, [r7, #76] ; 0x4c Tmp32 = Tmp32 - Int32 * 10; 8066a78: 6cfa ldr r2, [r7, #76] ; 0x4c 8066a7a: 4613 mov r3, r2 8066a7c: 009b lsls r3, r3, #2 8066a7e: 4413 add r3, r2 8066a80: 005b lsls r3, r3, #1 8066a82: 461a mov r2, r3 8066a84: 6bfb ldr r3, [r7, #60] ; 0x3c 8066a86: 1a9b subs r3, r3, r2 8066a88: 63fb str r3, [r7, #60] ; 0x3c tmparray[idx++] = '0' + Tmp32; 8066a8a: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8066a8e: 1c5a adds r2, r3, #1 8066a90: f887 205f strb.w r2, [r7, #95] ; 0x5f 8066a94: 4619 mov r1, r3 8066a96: 6bfb ldr r3, [r7, #60] ; 0x3c 8066a98: b2db uxtb r3, r3 8066a9a: 3330 adds r3, #48 ; 0x30 8066a9c: b2da uxtb r2, r3 8066a9e: f107 0360 add.w r3, r7, #96 ; 0x60 8066aa2: 440b add r3, r1 8066aa4: f803 2c54 strb.w r2, [r3, #-84] while(Int32) 8066aa8: 6cfb ldr r3, [r7, #76] ; 0x4c 8066aaa: 2b00 cmp r3, #0 8066aac: d1dc bne.n 8066a68 8066aae: e00a b.n 8066ac6 } } else tmparray[idx++] = '0'; 8066ab0: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8066ab4: 1c5a adds r2, r3, #1 8066ab6: f887 205f strb.w r2, [r7, #95] ; 0x5f 8066aba: f107 0260 add.w r2, r7, #96 ; 0x60 8066abe: 4413 add r3, r2 8066ac0: 2230 movs r2, #48 ; 0x30 8066ac2: f803 2c54 strb.w r2, [r3, #-84] if(minus) 8066ac6: 7afb ldrb r3, [r7, #11] 8066ac8: b2db uxtb r3, r3 8066aca: 2b00 cmp r3, #0 8066acc: d010 beq.n 8066af0 { if((_I32 != 0) || (_F32 != 0)) 8066ace: 6bbb ldr r3, [r7, #56] ; 0x38 8066ad0: 2b00 cmp r3, #0 8066ad2: d102 bne.n 8066ada 8066ad4: 6b7b ldr r3, [r7, #52] ; 0x34 8066ad6: 2b00 cmp r3, #0 8066ad8: d00a beq.n 8066af0 tmparray[idx++] = '-'; 8066ada: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 8066ade: 1c5a adds r2, r3, #1 8066ae0: f887 205f strb.w r2, [r7, #95] ; 0x5f 8066ae4: f107 0260 add.w r2, r7, #96 ; 0x60 8066ae8: 4413 add r3, r2 8066aea: 222d movs r2, #45 ; 0x2d 8066aec: f803 2c54 strb.w r2, [r3, #-84] } } for(i = 0; i < idx; i++) 8066af0: 2300 movs r3, #0 8066af2: 65bb str r3, [r7, #88] ; 0x58 8066af4: e011 b.n 8066b1a pString[i] = tmparray[idx - i - 1]; 8066af6: f897 205f ldrb.w r2, [r7, #95] ; 0x5f 8066afa: 6dbb ldr r3, [r7, #88] ; 0x58 8066afc: 1ad3 subs r3, r2, r3 8066afe: 3b01 subs r3, #1 8066b00: f107 0260 add.w r2, r7, #96 ; 0x60 8066b04: 4413 add r3, r2 8066b06: f813 1c54 ldrb.w r1, [r3, #-84] 8066b0a: 4a0a ldr r2, [pc, #40] ; (8066b34 ) 8066b0c: 6dbb ldr r3, [r7, #88] ; 0x58 8066b0e: 4413 add r3, r2 8066b10: 460a mov r2, r1 8066b12: 701a strb r2, [r3, #0] for(i = 0; i < idx; i++) 8066b14: 6dbb ldr r3, [r7, #88] ; 0x58 8066b16: 3301 adds r3, #1 8066b18: 65bb str r3, [r7, #88] ; 0x58 8066b1a: f897 205f ldrb.w r2, [r7, #95] ; 0x5f 8066b1e: 6dbb ldr r3, [r7, #88] ; 0x58 8066b20: 429a cmp r2, r3 8066b22: dce8 bgt.n 8066af6 return pString; 8066b24: 4b03 ldr r3, [pc, #12] ; (8066b34 ) } 8066b26: 4618 mov r0, r3 8066b28: 3760 adds r7, #96 ; 0x60 8066b2a: 46bd mov sp, r7 8066b2c: bd80 pop {r7, pc} 8066b2e: bf00 nop 8066b30: cccccccd .word 0xcccccccd 8066b34: 20026cb8 .word 0x20026cb8 08066b38 : void MyFFT(uint32_t len, int32_t inverse) { 8066b38: b580 push {r7, lr} 8066b3a: b098 sub sp, #96 ; 0x60 8066b3c: af00 add r7, sp, #0 8066b3e: 6078 str r0, [r7, #4] 8066b40: 6039 str r1, [r7, #0] uint32_t n,l,e,f,i,j,o,o1,j1,i1,k; float32_t u,v,z,c,s,p,q,r,t,w,a; n = (uint32_t) (log2f((float32_t) len) + 0.5f); 8066b42: 687b ldr r3, [r7, #4] 8066b44: ee07 3a90 vmov s15, r3 8066b48: eef8 7a67 vcvt.f32.u32 s15, s15 8066b4c: eeb0 0a67 vmov.f32 s0, s15 8066b50: f064 f866 bl 80cac20 8066b54: eeb0 7a40 vmov.f32 s14, s0 8066b58: eef6 7a00 vmov.f32 s15, #96 ; 0x3f000000 0.5 8066b5c: ee77 7a27 vadd.f32 s15, s14, s15 8066b60: eefc 7ae7 vcvt.u32.f32 s15, s15 8066b64: ee17 3a90 vmov r3, s15 8066b68: 643b str r3, [r7, #64] ; 0x40 for(l = 1; l <= n; l++) 8066b6a: 2301 movs r3, #1 8066b6c: 65fb str r3, [r7, #92] ; 0x5c 8066b6e: e0ea b.n 8066d46 { u = 1.0f; 8066b70: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8066b74: 64fb str r3, [r7, #76] ; 0x4c v = 0.0f; 8066b76: f04f 0300 mov.w r3, #0 8066b7a: 64bb str r3, [r7, #72] ; 0x48 e = (1 << (n - l + 1)); 8066b7c: 6c3a ldr r2, [r7, #64] ; 0x40 8066b7e: 6dfb ldr r3, [r7, #92] ; 0x5c 8066b80: 1ad3 subs r3, r2, r3 8066b82: 3301 adds r3, #1 8066b84: 2201 movs r2, #1 8066b86: fa02 f303 lsl.w r3, r2, r3 8066b8a: 63fb str r3, [r7, #60] ; 0x3c f = (e >> 1); 8066b8c: 6bfb ldr r3, [r7, #60] ; 0x3c 8066b8e: 085b lsrs r3, r3, #1 8066b90: 63bb str r3, [r7, #56] ; 0x38 z = PI / f; 8066b92: 6bbb ldr r3, [r7, #56] ; 0x38 8066b94: ee07 3a90 vmov s15, r3 8066b98: eeb8 7a67 vcvt.f32.u32 s14, s15 8066b9c: eddf 6ab8 vldr s13, [pc, #736] ; 8066e80 8066ba0: eec6 7a87 vdiv.f32 s15, s13, s14 8066ba4: edc7 7a0d vstr s15, [r7, #52] ; 0x34 c = arm_cos_f32(z); 8066ba8: ed97 0a0d vldr s0, [r7, #52] ; 0x34 8066bac: f04b fd02 bl 80b25b4 8066bb0: ed87 0a0c vstr s0, [r7, #48] ; 0x30 s = arm_sin_f32(z); 8066bb4: ed97 0a0d vldr s0, [r7, #52] ; 0x34 8066bb8: f04c fa82 bl 80b30c0 8066bbc: ed87 0a11 vstr s0, [r7, #68] ; 0x44 if(inverse == 0) { 8066bc0: 683b ldr r3, [r7, #0] 8066bc2: 2b00 cmp r3, #0 8066bc4: d105 bne.n 8066bd2 s = -s; 8066bc6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8066bca: eef1 7a67 vneg.f32 s15, s15 8066bce: edc7 7a11 vstr s15, [r7, #68] ; 0x44 } for(j = 1; j <= f; j++) 8066bd2: 2301 movs r3, #1 8066bd4: 657b str r3, [r7, #84] ; 0x54 8066bd6: e0ae b.n 8066d36 { i = j; 8066bd8: 6d7b ldr r3, [r7, #84] ; 0x54 8066bda: 65bb str r3, [r7, #88] ; 0x58 while(i <= len) 8066bdc: e081 b.n 8066ce2 { o = i + f - 1; 8066bde: 6dba ldr r2, [r7, #88] ; 0x58 8066be0: 6bbb ldr r3, [r7, #56] ; 0x38 8066be2: 4413 add r3, r2 8066be4: 3b01 subs r3, #1 8066be6: 62fb str r3, [r7, #44] ; 0x2c o1 = i - 1; 8066be8: 6dbb ldr r3, [r7, #88] ; 0x58 8066bea: 3b01 subs r3, #1 8066bec: 62bb str r3, [r7, #40] ; 0x28 p = Real(o1) + Real(o); 8066bee: 6abb ldr r3, [r7, #40] ; 0x28 8066bf0: 009a lsls r2, r3, #2 8066bf2: 4ba4 ldr r3, [pc, #656] ; (8066e84 ) 8066bf4: 4413 add r3, r2 8066bf6: ed93 7a00 vldr s14, [r3] 8066bfa: 6afb ldr r3, [r7, #44] ; 0x2c 8066bfc: 009a lsls r2, r3, #2 8066bfe: 4ba1 ldr r3, [pc, #644] ; (8066e84 ) 8066c00: 4413 add r3, r2 8066c02: edd3 7a00 vldr s15, [r3] 8066c06: ee77 7a27 vadd.f32 s15, s14, s15 8066c0a: edc7 7a09 vstr s15, [r7, #36] ; 0x24 r = Real(o1) - Real(o); 8066c0e: 6abb ldr r3, [r7, #40] ; 0x28 8066c10: 009a lsls r2, r3, #2 8066c12: 4b9c ldr r3, [pc, #624] ; (8066e84 ) 8066c14: 4413 add r3, r2 8066c16: ed93 7a00 vldr s14, [r3] 8066c1a: 6afb ldr r3, [r7, #44] ; 0x2c 8066c1c: 009a lsls r2, r3, #2 8066c1e: 4b99 ldr r3, [pc, #612] ; (8066e84 ) 8066c20: 4413 add r3, r2 8066c22: edd3 7a00 vldr s15, [r3] 8066c26: ee77 7a67 vsub.f32 s15, s14, s15 8066c2a: edc7 7a08 vstr s15, [r7, #32] q = Image(o1) + Image(o); 8066c2e: 6abb ldr r3, [r7, #40] ; 0x28 8066c30: 009a lsls r2, r3, #2 8066c32: 4b95 ldr r3, [pc, #596] ; (8066e88 ) 8066c34: 4413 add r3, r2 8066c36: ed93 7a00 vldr s14, [r3] 8066c3a: 6afb ldr r3, [r7, #44] ; 0x2c 8066c3c: 009a lsls r2, r3, #2 8066c3e: 4b92 ldr r3, [pc, #584] ; (8066e88 ) 8066c40: 4413 add r3, r2 8066c42: edd3 7a00 vldr s15, [r3] 8066c46: ee77 7a27 vadd.f32 s15, s14, s15 8066c4a: edc7 7a07 vstr s15, [r7, #28] t = Image(o1) - Image(o); 8066c4e: 6abb ldr r3, [r7, #40] ; 0x28 8066c50: 009a lsls r2, r3, #2 8066c52: 4b8d ldr r3, [pc, #564] ; (8066e88 ) 8066c54: 4413 add r3, r2 8066c56: ed93 7a00 vldr s14, [r3] 8066c5a: 6afb ldr r3, [r7, #44] ; 0x2c 8066c5c: 009a lsls r2, r3, #2 8066c5e: 4b8a ldr r3, [pc, #552] ; (8066e88 ) 8066c60: 4413 add r3, r2 8066c62: edd3 7a00 vldr s15, [r3] 8066c66: ee77 7a67 vsub.f32 s15, s14, s15 8066c6a: edc7 7a06 vstr s15, [r7, #24] Real(o) = r * u - t * v; 8066c6e: 6afb ldr r3, [r7, #44] ; 0x2c 8066c70: 009a lsls r2, r3, #2 8066c72: 4b84 ldr r3, [pc, #528] ; (8066e84 ) 8066c74: 4413 add r3, r2 8066c76: ed97 7a08 vldr s14, [r7, #32] 8066c7a: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 8066c7e: ee27 7a27 vmul.f32 s14, s14, s15 8066c82: edd7 6a06 vldr s13, [r7, #24] 8066c86: edd7 7a12 vldr s15, [r7, #72] ; 0x48 8066c8a: ee66 7aa7 vmul.f32 s15, s13, s15 8066c8e: ee77 7a67 vsub.f32 s15, s14, s15 8066c92: edc3 7a00 vstr s15, [r3] Image(o) = t * u + r * v; 8066c96: 6afb ldr r3, [r7, #44] ; 0x2c 8066c98: 009a lsls r2, r3, #2 8066c9a: 4b7b ldr r3, [pc, #492] ; (8066e88 ) 8066c9c: 4413 add r3, r2 8066c9e: ed97 7a06 vldr s14, [r7, #24] 8066ca2: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 8066ca6: ee27 7a27 vmul.f32 s14, s14, s15 8066caa: edd7 6a08 vldr s13, [r7, #32] 8066cae: edd7 7a12 vldr s15, [r7, #72] ; 0x48 8066cb2: ee66 7aa7 vmul.f32 s15, s13, s15 8066cb6: ee77 7a27 vadd.f32 s15, s14, s15 8066cba: edc3 7a00 vstr s15, [r3] Real(o1) = p; 8066cbe: 6abb ldr r3, [r7, #40] ; 0x28 8066cc0: 009a lsls r2, r3, #2 8066cc2: 4b70 ldr r3, [pc, #448] ; (8066e84 ) 8066cc4: 4413 add r3, r2 8066cc6: 461a mov r2, r3 8066cc8: 6a7b ldr r3, [r7, #36] ; 0x24 8066cca: 6013 str r3, [r2, #0] Image(o1) = q; 8066ccc: 6abb ldr r3, [r7, #40] ; 0x28 8066cce: 009a lsls r2, r3, #2 8066cd0: 4b6d ldr r3, [pc, #436] ; (8066e88 ) 8066cd2: 4413 add r3, r2 8066cd4: 461a mov r2, r3 8066cd6: 69fb ldr r3, [r7, #28] 8066cd8: 6013 str r3, [r2, #0] i = i + e; 8066cda: 6dba ldr r2, [r7, #88] ; 0x58 8066cdc: 6bfb ldr r3, [r7, #60] ; 0x3c 8066cde: 4413 add r3, r2 8066ce0: 65bb str r3, [r7, #88] ; 0x58 while(i <= len) 8066ce2: 6dba ldr r2, [r7, #88] ; 0x58 8066ce4: 687b ldr r3, [r7, #4] 8066ce6: 429a cmp r2, r3 8066ce8: f67f af79 bls.w 8066bde } w = u * c - v * s; 8066cec: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 8066cf0: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8066cf4: ee27 7a27 vmul.f32 s14, s14, s15 8066cf8: edd7 6a12 vldr s13, [r7, #72] ; 0x48 8066cfc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8066d00: ee66 7aa7 vmul.f32 s15, s13, s15 8066d04: ee77 7a67 vsub.f32 s15, s14, s15 8066d08: edc7 7a05 vstr s15, [r7, #20] v = v * c + u * s; 8066d0c: ed97 7a12 vldr s14, [r7, #72] ; 0x48 8066d10: edd7 7a0c vldr s15, [r7, #48] ; 0x30 8066d14: ee27 7a27 vmul.f32 s14, s14, s15 8066d18: edd7 6a13 vldr s13, [r7, #76] ; 0x4c 8066d1c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8066d20: ee66 7aa7 vmul.f32 s15, s13, s15 8066d24: ee77 7a27 vadd.f32 s15, s14, s15 8066d28: edc7 7a12 vstr s15, [r7, #72] ; 0x48 u = w; 8066d2c: 697b ldr r3, [r7, #20] 8066d2e: 64fb str r3, [r7, #76] ; 0x4c for(j = 1; j <= f; j++) 8066d30: 6d7b ldr r3, [r7, #84] ; 0x54 8066d32: 3301 adds r3, #1 8066d34: 657b str r3, [r7, #84] ; 0x54 8066d36: 6d7a ldr r2, [r7, #84] ; 0x54 8066d38: 6bbb ldr r3, [r7, #56] ; 0x38 8066d3a: 429a cmp r2, r3 8066d3c: f67f af4c bls.w 8066bd8 for(l = 1; l <= n; l++) 8066d40: 6dfb ldr r3, [r7, #92] ; 0x5c 8066d42: 3301 adds r3, #1 8066d44: 65fb str r3, [r7, #92] ; 0x5c 8066d46: 6dfa ldr r2, [r7, #92] ; 0x5c 8066d48: 6c3b ldr r3, [r7, #64] ; 0x40 8066d4a: 429a cmp r2, r3 8066d4c: f67f af10 bls.w 8066b70 } } j = 1; 8066d50: 2301 movs r3, #1 8066d52: 657b str r3, [r7, #84] ; 0x54 for(i = 1; i < len; i++) 8066d54: 2301 movs r3, #1 8066d56: 65bb str r3, [r7, #88] ; 0x58 8066d58: e04f b.n 8066dfa { if(i < j) 8066d5a: 6dba ldr r2, [r7, #88] ; 0x58 8066d5c: 6d7b ldr r3, [r7, #84] ; 0x54 8066d5e: 429a cmp r2, r3 8066d60: d235 bcs.n 8066dce { j1 = j - 1; 8066d62: 6d7b ldr r3, [r7, #84] ; 0x54 8066d64: 3b01 subs r3, #1 8066d66: 613b str r3, [r7, #16] i1 = i - 1; 8066d68: 6dbb ldr r3, [r7, #88] ; 0x58 8066d6a: 3b01 subs r3, #1 8066d6c: 60fb str r3, [r7, #12] p = Real(j1); 8066d6e: 693b ldr r3, [r7, #16] 8066d70: 009a lsls r2, r3, #2 8066d72: 4b44 ldr r3, [pc, #272] ; (8066e84 ) 8066d74: 4413 add r3, r2 8066d76: 681b ldr r3, [r3, #0] 8066d78: 627b str r3, [r7, #36] ; 0x24 q = Image(j1); 8066d7a: 693b ldr r3, [r7, #16] 8066d7c: 009a lsls r2, r3, #2 8066d7e: 4b42 ldr r3, [pc, #264] ; (8066e88 ) 8066d80: 4413 add r3, r2 8066d82: 681b ldr r3, [r3, #0] 8066d84: 61fb str r3, [r7, #28] Real(j1) = Real(i1); 8066d86: 693b ldr r3, [r7, #16] 8066d88: 009a lsls r2, r3, #2 8066d8a: 4b3e ldr r3, [pc, #248] ; (8066e84 ) 8066d8c: 4413 add r3, r2 8066d8e: 4619 mov r1, r3 8066d90: 68fb ldr r3, [r7, #12] 8066d92: 009a lsls r2, r3, #2 8066d94: 4b3b ldr r3, [pc, #236] ; (8066e84 ) 8066d96: 4413 add r3, r2 8066d98: 681b ldr r3, [r3, #0] 8066d9a: 600b str r3, [r1, #0] Image(j1) = Image(i1); 8066d9c: 693b ldr r3, [r7, #16] 8066d9e: 009a lsls r2, r3, #2 8066da0: 4b39 ldr r3, [pc, #228] ; (8066e88 ) 8066da2: 4413 add r3, r2 8066da4: 4619 mov r1, r3 8066da6: 68fb ldr r3, [r7, #12] 8066da8: 009a lsls r2, r3, #2 8066daa: 4b37 ldr r3, [pc, #220] ; (8066e88 ) 8066dac: 4413 add r3, r2 8066dae: 681b ldr r3, [r3, #0] 8066db0: 600b str r3, [r1, #0] Real(i1) = p; 8066db2: 68fb ldr r3, [r7, #12] 8066db4: 009a lsls r2, r3, #2 8066db6: 4b33 ldr r3, [pc, #204] ; (8066e84 ) 8066db8: 4413 add r3, r2 8066dba: 461a mov r2, r3 8066dbc: 6a7b ldr r3, [r7, #36] ; 0x24 8066dbe: 6013 str r3, [r2, #0] Image(i1) = q; 8066dc0: 68fb ldr r3, [r7, #12] 8066dc2: 009a lsls r2, r3, #2 8066dc4: 4b30 ldr r3, [pc, #192] ; (8066e88 ) 8066dc6: 4413 add r3, r2 8066dc8: 461a mov r2, r3 8066dca: 69fb ldr r3, [r7, #28] 8066dcc: 6013 str r3, [r2, #0] } k = (len >> 1); 8066dce: 687b ldr r3, [r7, #4] 8066dd0: 085b lsrs r3, r3, #1 8066dd2: 653b str r3, [r7, #80] ; 0x50 while(k < j) 8066dd4: e006 b.n 8066de4 { j = j - k; 8066dd6: 6d7a ldr r2, [r7, #84] ; 0x54 8066dd8: 6d3b ldr r3, [r7, #80] ; 0x50 8066dda: 1ad3 subs r3, r2, r3 8066ddc: 657b str r3, [r7, #84] ; 0x54 k = (k >> 1); 8066dde: 6d3b ldr r3, [r7, #80] ; 0x50 8066de0: 085b lsrs r3, r3, #1 8066de2: 653b str r3, [r7, #80] ; 0x50 while(k < j) 8066de4: 6d3a ldr r2, [r7, #80] ; 0x50 8066de6: 6d7b ldr r3, [r7, #84] ; 0x54 8066de8: 429a cmp r2, r3 8066dea: d3f4 bcc.n 8066dd6 } j = j + k; 8066dec: 6d7a ldr r2, [r7, #84] ; 0x54 8066dee: 6d3b ldr r3, [r7, #80] ; 0x50 8066df0: 4413 add r3, r2 8066df2: 657b str r3, [r7, #84] ; 0x54 for(i = 1; i < len; i++) 8066df4: 6dbb ldr r3, [r7, #88] ; 0x58 8066df6: 3301 adds r3, #1 8066df8: 65bb str r3, [r7, #88] ; 0x58 8066dfa: 6dba ldr r2, [r7, #88] ; 0x58 8066dfc: 687b ldr r3, [r7, #4] 8066dfe: 429a cmp r2, r3 8066e00: d3ab bcc.n 8066d5a } if(inverse == 0) { 8066e02: 683b ldr r3, [r7, #0] 8066e04: 2b00 cmp r3, #0 8066e06: d037 beq.n 8066e78 return; } a = 1.0f / len; 8066e08: 687b ldr r3, [r7, #4] 8066e0a: ee07 3a90 vmov s15, r3 8066e0e: eeb8 7a67 vcvt.f32.u32 s14, s15 8066e12: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 8066e16: eec6 7a87 vdiv.f32 s15, s13, s14 8066e1a: edc7 7a02 vstr s15, [r7, #8] for(k = 0; k < len; k++) 8066e1e: 2300 movs r3, #0 8066e20: 653b str r3, [r7, #80] ; 0x50 8066e22: e024 b.n 8066e6e { Real(k) = Real(k) * a; 8066e24: 6d3b ldr r3, [r7, #80] ; 0x50 8066e26: 009a lsls r2, r3, #2 8066e28: 4b16 ldr r3, [pc, #88] ; (8066e84 ) 8066e2a: 4413 add r3, r2 8066e2c: 4619 mov r1, r3 8066e2e: 6d3b ldr r3, [r7, #80] ; 0x50 8066e30: 009a lsls r2, r3, #2 8066e32: 4b14 ldr r3, [pc, #80] ; (8066e84 ) 8066e34: 4413 add r3, r2 8066e36: ed93 7a00 vldr s14, [r3] 8066e3a: edd7 7a02 vldr s15, [r7, #8] 8066e3e: ee67 7a27 vmul.f32 s15, s14, s15 8066e42: edc1 7a00 vstr s15, [r1] Image(k) = Image(k) * a; 8066e46: 6d3b ldr r3, [r7, #80] ; 0x50 8066e48: 009a lsls r2, r3, #2 8066e4a: 4b0f ldr r3, [pc, #60] ; (8066e88 ) 8066e4c: 4413 add r3, r2 8066e4e: 4619 mov r1, r3 8066e50: 6d3b ldr r3, [r7, #80] ; 0x50 8066e52: 009a lsls r2, r3, #2 8066e54: 4b0c ldr r3, [pc, #48] ; (8066e88 ) 8066e56: 4413 add r3, r2 8066e58: ed93 7a00 vldr s14, [r3] 8066e5c: edd7 7a02 vldr s15, [r7, #8] 8066e60: ee67 7a27 vmul.f32 s15, s14, s15 8066e64: edc1 7a00 vstr s15, [r1] for(k = 0; k < len; k++) 8066e68: 6d3b ldr r3, [r7, #80] ; 0x50 8066e6a: 3301 adds r3, #1 8066e6c: 653b str r3, [r7, #80] ; 0x50 8066e6e: 6d3a ldr r2, [r7, #80] ; 0x50 8066e70: 687b ldr r3, [r7, #4] 8066e72: 429a cmp r2, r3 8066e74: d3d6 bcc.n 8066e24 8066e76: e000 b.n 8066e7a return; 8066e78: bf00 nop } } 8066e7a: 3760 adds r7, #96 ; 0x60 8066e7c: 46bd mov sp, r7 8066e7e: bd80 pop {r7, pc} 8066e80: 40490fdb .word 0x40490fdb 8066e84: 64090000 .word 0x64090000 8066e88: 64098000 .word 0x64098000 08066e8c : void CALC_MEAN(uint32_t smooth) { 8066e8c: b580 push {r7, lr} 8066e8e: b088 sub sp, #32 8066e90: af00 add r7, sp, #0 8066e92: 6078 str r0, [r7, #4] uint32_t sm = smooth + 1; 8066e94: 687b ldr r3, [r7, #4] 8066e96: 3301 adds r3, #1 8066e98: 613b str r3, [r7, #16] uint32_t i, j, k; float32_t fs; Out[0] = 0.0f; 8066e9a: 4b75 ldr r3, [pc, #468] ; (8067070 ) 8066e9c: f04f 0200 mov.w r2, #0 8066ea0: 601a str r2, [r3, #0] for(i = 1; i < 4096; i++) 8066ea2: 2301 movs r3, #1 8066ea4: 61fb str r3, [r7, #28] 8066ea6: e0d3 b.n 8067050 { fs = In[i]; 8066ea8: 4a72 ldr r2, [pc, #456] ; (8067074 ) 8066eaa: 69fb ldr r3, [r7, #28] 8066eac: 009b lsls r3, r3, #2 8066eae: 4413 add r3, r2 8066eb0: 681b ldr r3, [r3, #0] 8066eb2: 617b str r3, [r7, #20] if(i < sm) 8066eb4: 69fa ldr r2, [r7, #28] 8066eb6: 693b ldr r3, [r7, #16] 8066eb8: 429a cmp r2, r3 8066eba: d243 bcs.n 8066f44 { for(j = 1; j < sm; j++) { 8066ebc: 2301 movs r3, #1 8066ebe: 61bb str r3, [r7, #24] 8066ec0: e010 b.n 8066ee4 fs += In[i + j]; 8066ec2: 69fa ldr r2, [r7, #28] 8066ec4: 69bb ldr r3, [r7, #24] 8066ec6: 4413 add r3, r2 8066ec8: 4a6a ldr r2, [pc, #424] ; (8067074 ) 8066eca: 009b lsls r3, r3, #2 8066ecc: 4413 add r3, r2 8066ece: edd3 7a00 vldr s15, [r3] 8066ed2: ed97 7a05 vldr s14, [r7, #20] 8066ed6: ee77 7a27 vadd.f32 s15, s14, s15 8066eda: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) { 8066ede: 69bb ldr r3, [r7, #24] 8066ee0: 3301 adds r3, #1 8066ee2: 61bb str r3, [r7, #24] 8066ee4: 69ba ldr r2, [r7, #24] 8066ee6: 693b ldr r3, [r7, #16] 8066ee8: 429a cmp r2, r3 8066eea: d3ea bcc.n 8066ec2 } k = i; 8066eec: 69fb ldr r3, [r7, #28] 8066eee: 60fb str r3, [r7, #12] for(j = 1; j < k; j++) { 8066ef0: 2301 movs r3, #1 8066ef2: 61bb str r3, [r7, #24] 8066ef4: e010 b.n 8066f18 fs += In[i - j]; 8066ef6: 69fa ldr r2, [r7, #28] 8066ef8: 69bb ldr r3, [r7, #24] 8066efa: 1ad3 subs r3, r2, r3 8066efc: 4a5d ldr r2, [pc, #372] ; (8067074 ) 8066efe: 009b lsls r3, r3, #2 8066f00: 4413 add r3, r2 8066f02: edd3 7a00 vldr s15, [r3] 8066f06: ed97 7a05 vldr s14, [r7, #20] 8066f0a: ee77 7a27 vadd.f32 s15, s14, s15 8066f0e: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < k; j++) { 8066f12: 69bb ldr r3, [r7, #24] 8066f14: 3301 adds r3, #1 8066f16: 61bb str r3, [r7, #24] 8066f18: 69ba ldr r2, [r7, #24] 8066f1a: 68fb ldr r3, [r7, #12] 8066f1c: 429a cmp r2, r3 8066f1e: d3ea bcc.n 8066ef6 } Out[i] = fs / (float32_t) (smooth + k); 8066f20: 687a ldr r2, [r7, #4] 8066f22: 68fb ldr r3, [r7, #12] 8066f24: 4413 add r3, r2 8066f26: ee07 3a90 vmov s15, r3 8066f2a: eeb8 7a67 vcvt.f32.u32 s14, s15 8066f2e: edd7 6a05 vldr s13, [r7, #20] 8066f32: eec6 7a87 vdiv.f32 s15, s13, s14 8066f36: 4a4e ldr r2, [pc, #312] ; (8067070 ) 8066f38: 69fb ldr r3, [r7, #28] 8066f3a: 009b lsls r3, r3, #2 8066f3c: 4413 add r3, r2 8066f3e: edc3 7a00 vstr s15, [r3] 8066f42: e082 b.n 806704a } else if(i > 4096 - sm) 8066f44: 693b ldr r3, [r7, #16] 8066f46: f5c3 5280 rsb r2, r3, #4096 ; 0x1000 8066f4a: 69fb ldr r3, [r7, #28] 8066f4c: 429a cmp r2, r3 8066f4e: d245 bcs.n 8066fdc { for(j = 1; j < sm; j++) { 8066f50: 2301 movs r3, #1 8066f52: 61bb str r3, [r7, #24] 8066f54: e010 b.n 8066f78 fs += In[i - j]; 8066f56: 69fa ldr r2, [r7, #28] 8066f58: 69bb ldr r3, [r7, #24] 8066f5a: 1ad3 subs r3, r2, r3 8066f5c: 4a45 ldr r2, [pc, #276] ; (8067074 ) 8066f5e: 009b lsls r3, r3, #2 8066f60: 4413 add r3, r2 8066f62: edd3 7a00 vldr s15, [r3] 8066f66: ed97 7a05 vldr s14, [r7, #20] 8066f6a: ee77 7a27 vadd.f32 s15, s14, s15 8066f6e: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) { 8066f72: 69bb ldr r3, [r7, #24] 8066f74: 3301 adds r3, #1 8066f76: 61bb str r3, [r7, #24] 8066f78: 69ba ldr r2, [r7, #24] 8066f7a: 693b ldr r3, [r7, #16] 8066f7c: 429a cmp r2, r3 8066f7e: d3ea bcc.n 8066f56 } k = 4096 - i; 8066f80: 69fb ldr r3, [r7, #28] 8066f82: f5c3 5380 rsb r3, r3, #4096 ; 0x1000 8066f86: 60fb str r3, [r7, #12] for(j = 1; j < sm; j++) { 8066f88: 2301 movs r3, #1 8066f8a: 61bb str r3, [r7, #24] 8066f8c: e010 b.n 8066fb0 fs += In[i + j]; 8066f8e: 69fa ldr r2, [r7, #28] 8066f90: 69bb ldr r3, [r7, #24] 8066f92: 4413 add r3, r2 8066f94: 4a37 ldr r2, [pc, #220] ; (8067074 ) 8066f96: 009b lsls r3, r3, #2 8066f98: 4413 add r3, r2 8066f9a: edd3 7a00 vldr s15, [r3] 8066f9e: ed97 7a05 vldr s14, [r7, #20] 8066fa2: ee77 7a27 vadd.f32 s15, s14, s15 8066fa6: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) { 8066faa: 69bb ldr r3, [r7, #24] 8066fac: 3301 adds r3, #1 8066fae: 61bb str r3, [r7, #24] 8066fb0: 69ba ldr r2, [r7, #24] 8066fb2: 693b ldr r3, [r7, #16] 8066fb4: 429a cmp r2, r3 8066fb6: d3ea bcc.n 8066f8e } Out[i] = fs / (float32_t) (smooth + k); 8066fb8: 687a ldr r2, [r7, #4] 8066fba: 68fb ldr r3, [r7, #12] 8066fbc: 4413 add r3, r2 8066fbe: ee07 3a90 vmov s15, r3 8066fc2: eeb8 7a67 vcvt.f32.u32 s14, s15 8066fc6: edd7 6a05 vldr s13, [r7, #20] 8066fca: eec6 7a87 vdiv.f32 s15, s13, s14 8066fce: 4a28 ldr r2, [pc, #160] ; (8067070 ) 8066fd0: 69fb ldr r3, [r7, #28] 8066fd2: 009b lsls r3, r3, #2 8066fd4: 4413 add r3, r2 8066fd6: edc3 7a00 vstr s15, [r3] 8066fda: e036 b.n 806704a } else { for(j = 1; j < sm; j++) 8066fdc: 2301 movs r3, #1 8066fde: 61bb str r3, [r7, #24] 8066fe0: e01e b.n 8067020 { fs += In[i - j]; 8066fe2: 69fa ldr r2, [r7, #28] 8066fe4: 69bb ldr r3, [r7, #24] 8066fe6: 1ad3 subs r3, r2, r3 8066fe8: 4a22 ldr r2, [pc, #136] ; (8067074 ) 8066fea: 009b lsls r3, r3, #2 8066fec: 4413 add r3, r2 8066fee: edd3 7a00 vldr s15, [r3] 8066ff2: ed97 7a05 vldr s14, [r7, #20] 8066ff6: ee77 7a27 vadd.f32 s15, s14, s15 8066ffa: edc7 7a05 vstr s15, [r7, #20] fs += In[i + j]; 8066ffe: 69fa ldr r2, [r7, #28] 8067000: 69bb ldr r3, [r7, #24] 8067002: 4413 add r3, r2 8067004: 4a1b ldr r2, [pc, #108] ; (8067074 ) 8067006: 009b lsls r3, r3, #2 8067008: 4413 add r3, r2 806700a: edd3 7a00 vldr s15, [r3] 806700e: ed97 7a05 vldr s14, [r7, #20] 8067012: ee77 7a27 vadd.f32 s15, s14, s15 8067016: edc7 7a05 vstr s15, [r7, #20] for(j = 1; j < sm; j++) 806701a: 69bb ldr r3, [r7, #24] 806701c: 3301 adds r3, #1 806701e: 61bb str r3, [r7, #24] 8067020: 69ba ldr r2, [r7, #24] 8067022: 693b ldr r3, [r7, #16] 8067024: 429a cmp r2, r3 8067026: d3dc bcc.n 8066fe2 } Out[i] = fs / (float32_t) ((smooth << 1) + 1); 8067028: 687b ldr r3, [r7, #4] 806702a: 005b lsls r3, r3, #1 806702c: 3301 adds r3, #1 806702e: ee07 3a90 vmov s15, r3 8067032: eeb8 7a67 vcvt.f32.u32 s14, s15 8067036: edd7 6a05 vldr s13, [r7, #20] 806703a: eec6 7a87 vdiv.f32 s15, s13, s14 806703e: 4a0c ldr r2, [pc, #48] ; (8067070 ) 8067040: 69fb ldr r3, [r7, #28] 8067042: 009b lsls r3, r3, #2 8067044: 4413 add r3, r2 8067046: edc3 7a00 vstr s15, [r3] for(i = 1; i < 4096; i++) 806704a: 69fb ldr r3, [r7, #28] 806704c: 3301 adds r3, #1 806704e: 61fb str r3, [r7, #28] 8067050: 69fb ldr r3, [r7, #28] 8067052: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 8067056: f4ff af27 bcc.w 8066ea8 } } FastCopy16(OUT_Reg, CMPLX_A, Ns); // Ñðåäíÿÿ ëèíèÿ*/ 806705a: 4b07 ldr r3, [pc, #28] ; (8067078 ) 806705c: 681b ldr r3, [r3, #0] 806705e: 461a mov r2, r3 8067060: 2105 movs r1, #5 8067062: 2009 movs r0, #9 8067064: f7fd f988 bl 8064378 } 8067068: bf00 nop 806706a: 3720 adds r7, #32 806706c: 46bd mov sp, r7 806706e: bd80 pop {r7, pc} 8067070: 20008000 .word 0x20008000 8067074: 200279c0 .word 0x200279c0 8067078: 20021cdc .word 0x20021cdc 0806707c : //îðà void GetDataTacho(void) { 806707c: b580 push {r7, lr} 806707e: b082 sub sp, #8 8067080: af00 add r7, sp, #0 volatile uint16_t n; volatile uint16_t BlockSize; if(READY == 1) 8067082: 4b0b ldr r3, [pc, #44] ; (80670b0 ) 8067084: 781b ldrb r3, [r3, #0] 8067086: b2db uxtb r3, r3 8067088: 2b01 cmp r3, #1 806708a: d106 bne.n 806709a memcpy((void *) In16, (void *) &AdcBuff_16(0), 32768); 806708c: f44f 4200 mov.w r2, #32768 ; 0x8000 8067090: 4908 ldr r1, [pc, #32] ; (80670b4 ) 8067092: 4809 ldr r0, [pc, #36] ; (80670b8 ) 8067094: f065 ffe9 bl 80cd06a memcpy((void *) &BuffT_u16(0), (void *) &Tacho_u16(SIZE_ADC_BUFF - n), (n << 1)); memcpy((void *) &BuffT_u16(n), (void *) &Tacho_u16(0), (ADC_POINT << 1)); #endif }*/ } 8067098: e005 b.n 80670a6 else memcpy((void *) In16, (void *) &AdcBuff_16(HALF_UDAR_BUFF), 32768); 806709a: f44f 4200 mov.w r2, #32768 ; 0x8000 806709e: 4907 ldr r1, [pc, #28] ; (80670bc ) 80670a0: 4805 ldr r0, [pc, #20] ; (80670b8 ) 80670a2: f065 ffe2 bl 80cd06a } 80670a6: bf00 nop 80670a8: 3708 adds r7, #8 80670aa: 46bd mov sp, r7 80670ac: bd80 pop {r7, pc} 80670ae: bf00 nop 80670b0: 20020d7f .word 0x20020d7f 80670b4: 64060000 .word 0x64060000 80670b8: 20058020 .word 0x20058020 80670bc: 64068000 .word 0x64068000 080670c0 : float32_t CalcExcess(float32_t *data, uint32_t n) { 80670c0: b580 push {r7, lr} 80670c2: b08e sub sp, #56 ; 0x38 80670c4: af00 add r7, sp, #0 80670c6: 6078 str r0, [r7, #4] 80670c8: 6039 str r1, [r7, #0] uint32_t i, blkCnt; float32_t f1, f2, f3, f4; float32_t mean = 0; 80670ca: f04f 0300 mov.w r3, #0 80670ce: 60fb str r3, [r7, #12] float32_t var = 0; 80670d0: f04f 0300 mov.w r3, #0 80670d4: 60bb str r3, [r7, #8] float32_t div = 0; 80670d6: f04f 0300 mov.w r3, #0 80670da: 62fb str r3, [r7, #44] ; 0x2c float32_t k1 = 0, k2 = 0, sigma = 0; 80670dc: f04f 0300 mov.w r3, #0 80670e0: 62bb str r3, [r7, #40] ; 0x28 80670e2: f04f 0300 mov.w r3, #0 80670e6: 627b str r3, [r7, #36] ; 0x24 80670e8: f04f 0300 mov.w r3, #0 80670ec: 633b str r3, [r7, #48] ; 0x30 uint32_t tick = HAL_GetTick(); 80670ee: f04c f8bf bl 80b3270 80670f2: 6238 str r0, [r7, #32] if(n > 3) 80670f4: 683b ldr r3, [r7, #0] 80670f6: 2b03 cmp r3, #3 80670f8: f240 80ff bls.w 80672fa { arm_mean_f32(data, n, &mean); 80670fc: f107 030c add.w r3, r7, #12 8067100: 461a mov r2, r3 8067102: 6839 ldr r1, [r7, #0] 8067104: 6878 ldr r0, [r7, #4] 8067106: f062 ffbf bl 80ca088 arm_var_f32(data, n, &var); 806710a: f107 0308 add.w r3, r7, #8 806710e: 461a mov r2, r3 8067110: 6839 ldr r1, [r7, #0] 8067112: 6878 ldr r0, [r7, #4] 8067114: f062 fe60 bl 80c9dd8 k1 = (float32_t) (n * n - 1.0f) / (float32_t) ((n - 2.0f) * (n - 3.0f)); 8067118: 683b ldr r3, [r7, #0] 806711a: 683a ldr r2, [r7, #0] 806711c: fb02 f303 mul.w r3, r2, r3 8067120: ee07 3a90 vmov s15, r3 8067124: eef8 7a67 vcvt.f32.u32 s15, s15 8067128: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 806712c: ee77 6ac7 vsub.f32 s13, s15, s14 8067130: 683b ldr r3, [r7, #0] 8067132: ee07 3a90 vmov s15, r3 8067136: eef8 7a67 vcvt.f32.u32 s15, s15 806713a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 806713e: ee37 7ac7 vsub.f32 s14, s15, s14 8067142: 683b ldr r3, [r7, #0] 8067144: ee07 3a90 vmov s15, r3 8067148: eef8 7a67 vcvt.f32.u32 s15, s15 806714c: eeb0 6a08 vmov.f32 s12, #8 ; 0x40400000 3.0 8067150: ee77 7ac6 vsub.f32 s15, s15, s12 8067154: ee27 7a27 vmul.f32 s14, s14, s15 8067158: eec6 7a87 vdiv.f32 s15, s13, s14 806715c: edc7 7a0a vstr s15, [r7, #40] ; 0x28 k2 = (float32_t) (6.0f / ((float32_t) n + 1.0f)) - 3.0f; 8067160: 683b ldr r3, [r7, #0] 8067162: ee07 3a90 vmov s15, r3 8067166: eef8 7a67 vcvt.f32.u32 s15, s15 806716a: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 806716e: ee37 7a87 vadd.f32 s14, s15, s14 8067172: eef1 6a08 vmov.f32 s13, #24 ; 0x40c00000 6.0 8067176: eec6 7a87 vdiv.f32 s15, s13, s14 806717a: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 806717e: ee77 7ac7 vsub.f32 s15, s15, s14 8067182: edc7 7a09 vstr s15, [r7, #36] ; 0x24 blkCnt = n >> 2; 8067186: 683b ldr r3, [r7, #0] 8067188: 089b lsrs r3, r3, #2 806718a: 637b str r3, [r7, #52] ; 0x34 while(blkCnt > 0u) 806718c: e08a b.n 80672a4 { f1 = *data++; 806718e: 687b ldr r3, [r7, #4] 8067190: 1d1a adds r2, r3, #4 8067192: 607a str r2, [r7, #4] 8067194: 681b ldr r3, [r3, #0] 8067196: 61fb str r3, [r7, #28] f1 = (f1 - mean); 8067198: edd7 7a03 vldr s15, [r7, #12] 806719c: ed97 7a07 vldr s14, [r7, #28] 80671a0: ee77 7a67 vsub.f32 s15, s14, s15 80671a4: edc7 7a07 vstr s15, [r7, #28] f1 = f1 * f1 * f1 * f1; 80671a8: ed97 7a07 vldr s14, [r7, #28] 80671ac: edd7 7a07 vldr s15, [r7, #28] 80671b0: ee27 7a27 vmul.f32 s14, s14, s15 80671b4: edd7 7a07 vldr s15, [r7, #28] 80671b8: ee67 7a27 vmul.f32 s15, s14, s15 80671bc: ed97 7a07 vldr s14, [r7, #28] 80671c0: ee67 7a27 vmul.f32 s15, s14, s15 80671c4: edc7 7a07 vstr s15, [r7, #28] f2 = *data++; 80671c8: 687b ldr r3, [r7, #4] 80671ca: 1d1a adds r2, r3, #4 80671cc: 607a str r2, [r7, #4] 80671ce: 681b ldr r3, [r3, #0] 80671d0: 61bb str r3, [r7, #24] f2 = (f2 - mean); 80671d2: edd7 7a03 vldr s15, [r7, #12] 80671d6: ed97 7a06 vldr s14, [r7, #24] 80671da: ee77 7a67 vsub.f32 s15, s14, s15 80671de: edc7 7a06 vstr s15, [r7, #24] f2 = f2 * f2 * f2 * f2; 80671e2: ed97 7a06 vldr s14, [r7, #24] 80671e6: edd7 7a06 vldr s15, [r7, #24] 80671ea: ee27 7a27 vmul.f32 s14, s14, s15 80671ee: edd7 7a06 vldr s15, [r7, #24] 80671f2: ee67 7a27 vmul.f32 s15, s14, s15 80671f6: ed97 7a06 vldr s14, [r7, #24] 80671fa: ee67 7a27 vmul.f32 s15, s14, s15 80671fe: edc7 7a06 vstr s15, [r7, #24] f3 = *data++; 8067202: 687b ldr r3, [r7, #4] 8067204: 1d1a adds r2, r3, #4 8067206: 607a str r2, [r7, #4] 8067208: 681b ldr r3, [r3, #0] 806720a: 617b str r3, [r7, #20] f3 = (f3 - mean); 806720c: edd7 7a03 vldr s15, [r7, #12] 8067210: ed97 7a05 vldr s14, [r7, #20] 8067214: ee77 7a67 vsub.f32 s15, s14, s15 8067218: edc7 7a05 vstr s15, [r7, #20] f3 = f3 * f3 * f3 * f3; 806721c: ed97 7a05 vldr s14, [r7, #20] 8067220: edd7 7a05 vldr s15, [r7, #20] 8067224: ee27 7a27 vmul.f32 s14, s14, s15 8067228: edd7 7a05 vldr s15, [r7, #20] 806722c: ee67 7a27 vmul.f32 s15, s14, s15 8067230: ed97 7a05 vldr s14, [r7, #20] 8067234: ee67 7a27 vmul.f32 s15, s14, s15 8067238: edc7 7a05 vstr s15, [r7, #20] f4 = *data++; 806723c: 687b ldr r3, [r7, #4] 806723e: 1d1a adds r2, r3, #4 8067240: 607a str r2, [r7, #4] 8067242: 681b ldr r3, [r3, #0] 8067244: 613b str r3, [r7, #16] f4 = (f4 - mean); 8067246: edd7 7a03 vldr s15, [r7, #12] 806724a: ed97 7a04 vldr s14, [r7, #16] 806724e: ee77 7a67 vsub.f32 s15, s14, s15 8067252: edc7 7a04 vstr s15, [r7, #16] f4 = f4 * f4 * f4 * f4; 8067256: ed97 7a04 vldr s14, [r7, #16] 806725a: edd7 7a04 vldr s15, [r7, #16] 806725e: ee27 7a27 vmul.f32 s14, s14, s15 8067262: edd7 7a04 vldr s15, [r7, #16] 8067266: ee67 7a27 vmul.f32 s15, s14, s15 806726a: ed97 7a04 vldr s14, [r7, #16] 806726e: ee67 7a27 vmul.f32 s15, s14, s15 8067272: edc7 7a04 vstr s15, [r7, #16] sigma += (f1 + f2 + f3 + f4); 8067276: ed97 7a07 vldr s14, [r7, #28] 806727a: edd7 7a06 vldr s15, [r7, #24] 806727e: ee37 7a27 vadd.f32 s14, s14, s15 8067282: edd7 7a05 vldr s15, [r7, #20] 8067286: ee37 7a27 vadd.f32 s14, s14, s15 806728a: edd7 7a04 vldr s15, [r7, #16] 806728e: ee77 7a27 vadd.f32 s15, s14, s15 8067292: ed97 7a0c vldr s14, [r7, #48] ; 0x30 8067296: ee77 7a27 vadd.f32 s15, s14, s15 806729a: edc7 7a0c vstr s15, [r7, #48] ; 0x30 /* Decrement the loop counter */ blkCnt--; 806729e: 6b7b ldr r3, [r7, #52] ; 0x34 80672a0: 3b01 subs r3, #1 80672a2: 637b str r3, [r7, #52] ; 0x34 while(blkCnt > 0u) 80672a4: 6b7b ldr r3, [r7, #52] ; 0x34 80672a6: 2b00 cmp r3, #0 80672a8: f47f af71 bne.w 806718e } sigma /= (float32_t) n; 80672ac: 683b ldr r3, [r7, #0] 80672ae: ee07 3a90 vmov s15, r3 80672b2: eeb8 7a67 vcvt.f32.u32 s14, s15 80672b6: edd7 6a0c vldr s13, [r7, #48] ; 0x30 80672ba: eec6 7a87 vdiv.f32 s15, s13, s14 80672be: edc7 7a0c vstr s15, [r7, #48] ; 0x30 f1 = k1 * (sigma / (var * var)) + k2; 80672c2: ed97 7a02 vldr s14, [r7, #8] 80672c6: edd7 7a02 vldr s15, [r7, #8] 80672ca: ee67 7a27 vmul.f32 s15, s14, s15 80672ce: edd7 6a0c vldr s13, [r7, #48] ; 0x30 80672d2: ee86 7aa7 vdiv.f32 s14, s13, s15 80672d6: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80672da: ee27 7a27 vmul.f32 s14, s14, s15 80672de: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80672e2: ee77 7a27 vadd.f32 s15, s14, s15 80672e6: edc7 7a07 vstr s15, [r7, #28] tick = HAL_GetTick() - tick; 80672ea: f04b ffc1 bl 80b3270 80672ee: 4602 mov r2, r0 80672f0: 6a3b ldr r3, [r7, #32] 80672f2: 1ad3 subs r3, r2, r3 80672f4: 623b str r3, [r7, #32] return f1; 80672f6: 69fb ldr r3, [r7, #28] 80672f8: e001 b.n 80672fe } return 0; 80672fa: f04f 0300 mov.w r3, #0 80672fe: ee07 3a90 vmov s15, r3 } 8067302: eeb0 0a67 vmov.f32 s0, s15 8067306: 3738 adds r7, #56 ; 0x38 8067308: 46bd mov sp, r7 806730a: bd80 pop {r7, pc} 0806730c : 0xAA55, 0x55AA, 0xAA55, 0x55AA, 0xAA55, 0x55AA, 0xAA55, 0x55AA, 0xAA55}; volatile uint16_t RAMin[19]; void RAMTest(void) { 806730c: b580 push {r7, lr} 806730e: b084 sub sp, #16 8067310: af00 add r7, sp, #0 volatile uint32_t i, j, addr; uint8_t *p; memset((( uint8_t *) (((volatile uint32_t) 0x64000000))), 0, 0x000C0000); 8067312: f44f 2240 mov.w r2, #786432 ; 0xc0000 8067316: 2100 movs r1, #0 8067318: f04f 40c8 mov.w r0, #1677721600 ; 0x64000000 806731c: f065 feb0 bl 80cd080 for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 8067320: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 8067324: 60fb str r3, [r7, #12] 8067326: e007 b.n 8067338 { memcpy((void *)p, (void *)RAMDat, sizeof(RAMDat)); 8067328: 220c movs r2, #12 806732a: 4940 ldr r1, [pc, #256] ; (806742c ) 806732c: 68f8 ldr r0, [r7, #12] 806732e: f065 fe9c bl 80cd06a p += sizeof(RAMDat); 8067332: 68fb ldr r3, [r7, #12] 8067334: 330c adds r3, #12 8067336: 60fb str r3, [r7, #12] for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 8067338: 68fb ldr r3, [r7, #12] 806733a: 4a3d ldr r2, [pc, #244] ; (8067430 ) 806733c: 4293 cmp r3, r2 806733e: d9f3 bls.n 8067328 } for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 8067340: f04f 43c8 mov.w r3, #1677721600 ; 0x64000000 8067344: 60fb str r3, [r7, #12] 8067346: e00b b.n 8067360 { if(memcmp((void *)p, (void *)RAMDat, sizeof(RAMDat)) != 0) 8067348: 220c movs r2, #12 806734a: 4938 ldr r1, [pc, #224] ; (806742c ) 806734c: 68f8 ldr r0, [r7, #12] 806734e: f065 fe7d bl 80cd04c 8067352: 4603 mov r3, r0 8067354: 2b00 cmp r3, #0 8067356: d000 beq.n 806735a while(1); 8067358: e7fe b.n 8067358 p += sizeof(RAMDat); 806735a: 68fb ldr r3, [r7, #12] 806735c: 330c adds r3, #12 806735e: 60fb str r3, [r7, #12] for(p = (uint8_t *) SRAM_ADDR_OFFSET; p < (uint8_t *)0x640C0000; ) 8067360: 68fb ldr r3, [r7, #12] 8067362: 4a33 ldr r2, [pc, #204] ; (8067430 ) 8067364: 4293 cmp r3, r2 8067366: d9ef bls.n 8067348 } for(j = 0; j < 10000; j++) 8067368: 2300 movs r3, #0 806736a: 607b str r3, [r7, #4] 806736c: e052 b.n 8067414 { i = 0; addr = 0; 806736e: 2300 movs r3, #0 8067370: 60bb str r3, [r7, #8] 8067372: 2300 movs r3, #0 8067374: 603b str r3, [r7, #0] while(i < 19) 8067376: e01b b.n 80673b0 { if(!(i & 1)) 8067378: 68bb ldr r3, [r7, #8] 806737a: f003 0301 and.w r3, r3, #1 806737e: 2b00 cmp r3, #0 8067380: d105 bne.n 806738e addr = (addr << 1) | 0x1; 8067382: 683b ldr r3, [r7, #0] 8067384: 005b lsls r3, r3, #1 8067386: f043 0301 orr.w r3, r3, #1 806738a: 603b str r3, [r7, #0] 806738c: e002 b.n 8067394 else addr = (addr << 1); 806738e: 683b ldr r3, [r7, #0] 8067390: 005b lsls r3, r3, #1 8067392: 603b str r3, [r7, #0] RAM_WR32(addr) = RAMout[i]; 8067394: 683b ldr r3, [r7, #0] 8067396: 005b lsls r3, r3, #1 8067398: f103 43c8 add.w r3, r3, #1677721600 ; 0x64000000 806739c: 4619 mov r1, r3 806739e: 68bb ldr r3, [r7, #8] 80673a0: 4a24 ldr r2, [pc, #144] ; (8067434 ) 80673a2: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80673a6: b29b uxth r3, r3 80673a8: 600b str r3, [r1, #0] i++; 80673aa: 68bb ldr r3, [r7, #8] 80673ac: 3301 adds r3, #1 80673ae: 60bb str r3, [r7, #8] while(i < 19) 80673b0: 68bb ldr r3, [r7, #8] 80673b2: 2b12 cmp r3, #18 80673b4: d9e0 bls.n 8067378 } i = 0; addr = 0; 80673b6: 2300 movs r3, #0 80673b8: 60bb str r3, [r7, #8] 80673ba: 2300 movs r3, #0 80673bc: 603b str r3, [r7, #0] while(i < 19) 80673be: e01a b.n 80673f6 { if(!(i & 1)) 80673c0: 68bb ldr r3, [r7, #8] 80673c2: f003 0301 and.w r3, r3, #1 80673c6: 2b00 cmp r3, #0 80673c8: d105 bne.n 80673d6 addr = (addr << 1) | 0x1; 80673ca: 683b ldr r3, [r7, #0] 80673cc: 005b lsls r3, r3, #1 80673ce: f043 0301 orr.w r3, r3, #1 80673d2: 603b str r3, [r7, #0] 80673d4: e002 b.n 80673dc else addr = (addr << 1); 80673d6: 683b ldr r3, [r7, #0] 80673d8: 005b lsls r3, r3, #1 80673da: 603b str r3, [r7, #0] RAMin[i] = RAM_RD32(addr); 80673dc: 68bb ldr r3, [r7, #8] 80673de: 683a ldr r2, [r7, #0] 80673e0: 0052 lsls r2, r2, #1 80673e2: f102 42c8 add.w r2, r2, #1677721600 ; 0x64000000 80673e6: 6812 ldr r2, [r2, #0] 80673e8: b291 uxth r1, r2 80673ea: 4a13 ldr r2, [pc, #76] ; (8067438 ) 80673ec: f822 1013 strh.w r1, [r2, r3, lsl #1] i++; 80673f0: 68bb ldr r3, [r7, #8] 80673f2: 3301 adds r3, #1 80673f4: 60bb str r3, [r7, #8] while(i < 19) 80673f6: 68bb ldr r3, [r7, #8] 80673f8: 2b12 cmp r3, #18 80673fa: d9e1 bls.n 80673c0 } if(memcmp((void *)RAMout, (void *)RAMin, sizeof(RAMout)) != 0) 80673fc: 2226 movs r2, #38 ; 0x26 80673fe: 490e ldr r1, [pc, #56] ; (8067438 ) 8067400: 480c ldr r0, [pc, #48] ; (8067434 ) 8067402: f065 fe23 bl 80cd04c 8067406: 4603 mov r3, r0 8067408: 2b00 cmp r3, #0 806740a: d000 beq.n 806740e while(1); 806740c: e7fe b.n 806740c for(j = 0; j < 10000; j++) 806740e: 687b ldr r3, [r7, #4] 8067410: 3301 adds r3, #1 8067412: 607b str r3, [r7, #4] 8067414: 687b ldr r3, [r7, #4] 8067416: f242 720f movw r2, #9999 ; 0x270f 806741a: 4293 cmp r3, r2 806741c: d9a7 bls.n 806736e } i = 0; 806741e: 2300 movs r3, #0 8067420: 60bb str r3, [r7, #8] } 8067422: bf00 nop 8067424: 3710 adds r7, #16 8067426: 46bd mov sp, r7 8067428: bd80 pop {r7, pc} 806742a: bf00 nop 806742c: 20020098 .word 0x20020098 8067430: 640bffff .word 0x640bffff 8067434: 200200a4 .word 0x200200a4 8067438: 20068570 .word 0x20068570 0806743c : /* RTC init function */ void MX_RTC_Init(void) { 806743c: b580 push {r7, lr} 806743e: b08a sub sp, #40 ; 0x28 8067440: af00 add r7, sp, #0 //__HAL_RCC_LSE_CONFIG(RCC_LSE_ON); // while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET); __HAL_RCC_PWR_CLK_ENABLE(); 8067442: 4a40 ldr r2, [pc, #256] ; (8067544 ) 8067444: 4b3f ldr r3, [pc, #252] ; (8067544 ) 8067446: 6c1b ldr r3, [r3, #64] ; 0x40 8067448: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 806744c: 6413 str r3, [r2, #64] ; 0x40 806744e: 4b3d ldr r3, [pc, #244] ; (8067544 ) 8067450: 6c1b ldr r3, [r3, #64] ; 0x40 8067452: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 8067456: 60bb str r3, [r7, #8] 8067458: 68bb ldr r3, [r7, #8] __HAL_RCC_BKPSRAM_CLK_ENABLE(); 806745a: 4a3a ldr r2, [pc, #232] ; (8067544 ) 806745c: 4b39 ldr r3, [pc, #228] ; (8067544 ) 806745e: 6b1b ldr r3, [r3, #48] ; 0x30 8067460: f443 2380 orr.w r3, r3, #262144 ; 0x40000 8067464: 6313 str r3, [r2, #48] ; 0x30 8067466: 4b37 ldr r3, [pc, #220] ; (8067544 ) 8067468: 6b1b ldr r3, [r3, #48] ; 0x30 806746a: f403 2380 and.w r3, r3, #262144 ; 0x40000 806746e: 607b str r3, [r7, #4] 8067470: 687b ldr r3, [r7, #4] HAL_PWR_EnableBkUpAccess(); 8067472: f050 f9a3 bl 80b77bc hrtc.Instance = RTC; 8067476: 4b34 ldr r3, [pc, #208] ; (8067548 ) 8067478: 4a34 ldr r2, [pc, #208] ; (806754c ) 806747a: 601a str r2, [r3, #0] hrtc.Init.HourFormat = RTC_HOURFORMAT_24; 806747c: 4b32 ldr r3, [pc, #200] ; (8067548 ) 806747e: 2200 movs r2, #0 8067480: 605a str r2, [r3, #4] hrtc.Init.AsynchPrediv = RTC_ASYNCH_PREDIV; 8067482: 4b31 ldr r3, [pc, #196] ; (8067548 ) 8067484: 227f movs r2, #127 ; 0x7f 8067486: 609a str r2, [r3, #8] hrtc.Init.SynchPrediv = RTC_SYNCH_PREDIV; 8067488: 4b2f ldr r3, [pc, #188] ; (8067548 ) 806748a: 22ff movs r2, #255 ; 0xff 806748c: 60da str r2, [r3, #12] hrtc.Init.OutPut = RTC_OUTPUT_DISABLE; 806748e: 4b2e ldr r3, [pc, #184] ; (8067548 ) 8067490: 2200 movs r2, #0 8067492: 611a str r2, [r3, #16] hrtc.Init.OutPutPolarity = RTC_OUTPUT_POLARITY_HIGH; 8067494: 4b2c ldr r3, [pc, #176] ; (8067548 ) 8067496: 2200 movs r2, #0 8067498: 615a str r2, [r3, #20] hrtc.Init.OutPutType = RTC_OUTPUT_TYPE_OPENDRAIN; 806749a: 4b2b ldr r3, [pc, #172] ; (8067548 ) 806749c: 2200 movs r2, #0 806749e: 619a str r2, [r3, #24] if (HAL_RTC_Init(&hrtc) != HAL_OK) 80674a0: 4829 ldr r0, [pc, #164] ; (8067548 ) 80674a2: f051 fa6d bl 80b8980 80674a6: 4603 mov r3, r0 80674a8: 2b00 cmp r3, #0 80674aa: d001 beq.n 80674b0 { Error_Handler(); 80674ac: f7ed fccc bl 8054e48 } if(HAL_RTCEx_BKUPRead(&hrtc, RTC_BKP_DR1) == 0x3264) 80674b0: 2101 movs r1, #1 80674b2: 4825 ldr r0, [pc, #148] ; (8067548 ) 80674b4: f051 fdb4 bl 80b9020 80674b8: 4602 mov r2, r0 80674ba: f243 2364 movw r3, #12900 ; 0x3264 80674be: 429a cmp r2, r3 80674c0: d106 bne.n 80674d0 { __HAL_RCC_CLEAR_RESET_FLAGS(); 80674c2: 4a20 ldr r2, [pc, #128] ; (8067544 ) 80674c4: 4b1f ldr r3, [pc, #124] ; (8067544 ) 80674c6: 6f5b ldr r3, [r3, #116] ; 0x74 80674c8: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 80674cc: 6753 str r3, [r2, #116] ; 0x74 /*if (HAL_RTCEx_SetWakeUpTimer(&hrtc, 0x7ff, RTC_WAKEUPCLOCK_RTCCLK_DIV16) != HAL_OK) { _Error_Handler(__FILE__, __LINE__); }*/ } 80674ce: e034 b.n 806753a sTime.Hours = 0; 80674d0: 2300 movs r3, #0 80674d2: 743b strb r3, [r7, #16] sTime.Minutes = 0; 80674d4: 2300 movs r3, #0 80674d6: 747b strb r3, [r7, #17] sTime.Seconds = 0; 80674d8: 2300 movs r3, #0 80674da: 74bb strb r3, [r7, #18] sTime.DayLightSaving = RTC_DAYLIGHTSAVING_NONE; 80674dc: 2300 movs r3, #0 80674de: 623b str r3, [r7, #32] sTime.StoreOperation = RTC_STOREOPERATION_RESET; 80674e0: 2300 movs r3, #0 80674e2: 627b str r3, [r7, #36] ; 0x24 if (HAL_RTC_SetTime(&hrtc, &sTime, RTC_FORMAT_BIN) != HAL_OK) { 80674e4: f107 0310 add.w r3, r7, #16 80674e8: 2200 movs r2, #0 80674ea: 4619 mov r1, r3 80674ec: 4816 ldr r0, [pc, #88] ; (8067548 ) 80674ee: f051 fad9 bl 80b8aa4 80674f2: 4603 mov r3, r0 80674f4: 2b00 cmp r3, #0 80674f6: d001 beq.n 80674fc Error_Handler(); 80674f8: f7ed fca6 bl 8054e48 sDate.WeekDay = RTC_WEEKDAY_FRIDAY; 80674fc: 2305 movs r3, #5 80674fe: 733b strb r3, [r7, #12] sDate.Month = RTC_MONTH_JANUARY; 8067500: 2301 movs r3, #1 8067502: 737b strb r3, [r7, #13] sDate.Date = 1; 8067504: 2301 movs r3, #1 8067506: 73bb strb r3, [r7, #14] sDate.Year = 21; 8067508: 2315 movs r3, #21 806750a: 73fb strb r3, [r7, #15] if (HAL_RTC_SetDate(&hrtc, &sDate, RTC_FORMAT_BIN) != HAL_OK) { 806750c: f107 030c add.w r3, r7, #12 8067510: 2200 movs r2, #0 8067512: 4619 mov r1, r3 8067514: 480c ldr r0, [pc, #48] ; (8067548 ) 8067516: f051 fbe1 bl 80b8cdc 806751a: 4603 mov r3, r0 806751c: 2b00 cmp r3, #0 806751e: d001 beq.n 8067524 Error_Handler(); 8067520: f7ed fc92 bl 8054e48 HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR1, 0x3264); 8067524: f243 2264 movw r2, #12900 ; 0x3264 8067528: 2101 movs r1, #1 806752a: 4807 ldr r0, [pc, #28] ; (8067548 ) 806752c: f051 fd5e bl 80b8fec HAL_RTCEx_BKUPWrite(&hrtc, RTC_BKP_DR2, 0); 8067530: 2200 movs r2, #0 8067532: 2102 movs r1, #2 8067534: 4804 ldr r0, [pc, #16] ; (8067548 ) 8067536: f051 fd59 bl 80b8fec } 806753a: bf00 nop 806753c: 3728 adds r7, #40 ; 0x28 806753e: 46bd mov sp, r7 8067540: bd80 pop {r7, pc} 8067542: bf00 nop 8067544: 40023800 .word 0x40023800 8067548: 20068598 .word 0x20068598 806754c: 40002800 .word 0x40002800 08067550 : void HAL_RTC_MspInit(RTC_HandleTypeDef* rtcHandle) { 8067550: b480 push {r7} 8067552: b083 sub sp, #12 8067554: af00 add r7, sp, #0 8067556: 6078 str r0, [r7, #4] if(rtcHandle->Instance==RTC) 8067558: 687b ldr r3, [r7, #4] 806755a: 681b ldr r3, [r3, #0] 806755c: 4a07 ldr r2, [pc, #28] ; (806757c ) 806755e: 4293 cmp r3, r2 8067560: d105 bne.n 806756e { __HAL_RCC_RTC_ENABLE(); 8067562: 4a07 ldr r2, [pc, #28] ; (8067580 ) 8067564: 4b06 ldr r3, [pc, #24] ; (8067580 ) 8067566: 6f1b ldr r3, [r3, #112] ; 0x70 8067568: f443 4300 orr.w r3, r3, #32768 ; 0x8000 806756c: 6713 str r3, [r2, #112] ; 0x70 } } 806756e: bf00 nop 8067570: 370c adds r7, #12 8067572: 46bd mov sp, r7 8067574: f85d 7b04 ldr.w r7, [sp], #4 8067578: 4770 bx lr 806757a: bf00 nop 806757c: 40002800 .word 0x40002800 8067580: 40023800 .word 0x40023800 08067584 : void GetDateTimeFromUnix(TimeDate_TypeDef* data, uint32_t unix) { 8067584: b480 push {r7} 8067586: b083 sub sp, #12 8067588: af00 add r7, sp, #0 806758a: 6078 str r0, [r7, #4] 806758c: 6039 str r1, [r7, #0] data->Year = (unix >> 25) - 20; 806758e: 683b ldr r3, [r7, #0] 8067590: 0e5b lsrs r3, r3, #25 8067592: b2db uxtb r3, r3 8067594: 3b14 subs r3, #20 8067596: b2da uxtb r2, r3 8067598: 687b ldr r3, [r7, #4] 806759a: 709a strb r2, [r3, #2] data->Month = (unix >> 21) & 0xf; 806759c: 683b ldr r3, [r7, #0] 806759e: 0d5b lsrs r3, r3, #21 80675a0: b2db uxtb r3, r3 80675a2: f003 030f and.w r3, r3, #15 80675a6: b2da uxtb r2, r3 80675a8: 687b ldr r3, [r7, #4] 80675aa: 701a strb r2, [r3, #0] data->Date = (unix >> 16) & 0x1f; 80675ac: 683b ldr r3, [r7, #0] 80675ae: 0c1b lsrs r3, r3, #16 80675b0: b2db uxtb r3, r3 80675b2: f003 031f and.w r3, r3, #31 80675b6: b2da uxtb r2, r3 80675b8: 687b ldr r3, [r7, #4] 80675ba: 705a strb r2, [r3, #1] data->Hours = (unix >> 11) & 0x1f; 80675bc: 683b ldr r3, [r7, #0] 80675be: 0adb lsrs r3, r3, #11 80675c0: b2db uxtb r3, r3 80675c2: f003 031f and.w r3, r3, #31 80675c6: b2da uxtb r2, r3 80675c8: 687b ldr r3, [r7, #4] 80675ca: 70da strb r2, [r3, #3] data->Minutes = (unix >> 5) & 0x3f; 80675cc: 683b ldr r3, [r7, #0] 80675ce: 095b lsrs r3, r3, #5 80675d0: b2db uxtb r3, r3 80675d2: f003 033f and.w r3, r3, #63 ; 0x3f 80675d6: b2da uxtb r2, r3 80675d8: 687b ldr r3, [r7, #4] 80675da: 711a strb r2, [r3, #4] data->Seconds = ((unix << 1) & 0x3f) + 1; 80675dc: 683b ldr r3, [r7, #0] 80675de: b2db uxtb r3, r3 80675e0: 005b lsls r3, r3, #1 80675e2: b2db uxtb r3, r3 80675e4: f003 033f and.w r3, r3, #63 ; 0x3f 80675e8: b2db uxtb r3, r3 80675ea: 3301 adds r3, #1 80675ec: b2da uxtb r2, r3 80675ee: 687b ldr r3, [r7, #4] 80675f0: 715a strb r2, [r3, #5] } 80675f2: bf00 nop 80675f4: 370c adds r7, #12 80675f6: 46bd mov sp, r7 80675f8: f85d 7b04 ldr.w r7, [sp], #4 80675fc: 4770 bx lr ... 08067600 : | ((DWORD)Sec >> 1); /* Sec 0 */ } void ChangeTime(int8_t chHours, int8_t chMinutes) { 8067600: b580 push {r7, lr} 8067602: b082 sub sp, #8 8067604: af00 add r7, sp, #0 8067606: 4603 mov r3, r0 8067608: 460a mov r2, r1 806760a: 71fb strb r3, [r7, #7] 806760c: 4613 mov r3, r2 806760e: 71bb strb r3, [r7, #6] HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 8067610: 2200 movs r2, #0 8067612: 492e ldr r1, [pc, #184] ; (80676cc ) 8067614: 482e ldr r0, [pc, #184] ; (80676d0 ) 8067616: f051 fb03 bl 80b8c20 if(chHours == -1) 806761a: f997 3007 ldrsb.w r3, [r7, #7] 806761e: f1b3 3fff cmp.w r3, #4294967295 8067622: d10e bne.n 8067642 { if(RTC_TimeStruct.Hours > 0) 8067624: 4b29 ldr r3, [pc, #164] ; (80676cc ) 8067626: 781b ldrb r3, [r3, #0] 8067628: 2b00 cmp r3, #0 806762a: d006 beq.n 806763a RTC_TimeStruct.Hours--; 806762c: 4b27 ldr r3, [pc, #156] ; (80676cc ) 806762e: 781b ldrb r3, [r3, #0] 8067630: 3b01 subs r3, #1 8067632: b2da uxtb r2, r3 8067634: 4b25 ldr r3, [pc, #148] ; (80676cc ) 8067636: 701a strb r2, [r3, #0] 8067638: e03c b.n 80676b4 else RTC_TimeStruct.Hours = 23; 806763a: 4b24 ldr r3, [pc, #144] ; (80676cc ) 806763c: 2217 movs r2, #23 806763e: 701a strb r2, [r3, #0] 8067640: e038 b.n 80676b4 } else if(chHours == 1) 8067642: f997 3007 ldrsb.w r3, [r7, #7] 8067646: 2b01 cmp r3, #1 8067648: d10e bne.n 8067668 { if(RTC_TimeStruct.Hours < 23) 806764a: 4b20 ldr r3, [pc, #128] ; (80676cc ) 806764c: 781b ldrb r3, [r3, #0] 806764e: 2b16 cmp r3, #22 8067650: d806 bhi.n 8067660 RTC_TimeStruct.Hours++; 8067652: 4b1e ldr r3, [pc, #120] ; (80676cc ) 8067654: 781b ldrb r3, [r3, #0] 8067656: 3301 adds r3, #1 8067658: b2da uxtb r2, r3 806765a: 4b1c ldr r3, [pc, #112] ; (80676cc ) 806765c: 701a strb r2, [r3, #0] 806765e: e029 b.n 80676b4 else RTC_TimeStruct.Hours = 0; 8067660: 4b1a ldr r3, [pc, #104] ; (80676cc ) 8067662: 2200 movs r2, #0 8067664: 701a strb r2, [r3, #0] 8067666: e025 b.n 80676b4 } else if(chMinutes == -1) 8067668: f997 3006 ldrsb.w r3, [r7, #6] 806766c: f1b3 3fff cmp.w r3, #4294967295 8067670: d10e bne.n 8067690 { if(RTC_TimeStruct.Minutes > 0) 8067672: 4b16 ldr r3, [pc, #88] ; (80676cc ) 8067674: 785b ldrb r3, [r3, #1] 8067676: 2b00 cmp r3, #0 8067678: d006 beq.n 8067688 RTC_TimeStruct.Minutes--; 806767a: 4b14 ldr r3, [pc, #80] ; (80676cc ) 806767c: 785b ldrb r3, [r3, #1] 806767e: 3b01 subs r3, #1 8067680: b2da uxtb r2, r3 8067682: 4b12 ldr r3, [pc, #72] ; (80676cc ) 8067684: 705a strb r2, [r3, #1] 8067686: e015 b.n 80676b4 else RTC_TimeStruct.Minutes = 59; 8067688: 4b10 ldr r3, [pc, #64] ; (80676cc ) 806768a: 223b movs r2, #59 ; 0x3b 806768c: 705a strb r2, [r3, #1] 806768e: e011 b.n 80676b4 } else if(chMinutes == 1) 8067690: f997 3006 ldrsb.w r3, [r7, #6] 8067694: 2b01 cmp r3, #1 8067696: d10d bne.n 80676b4 { if(RTC_TimeStruct.Minutes < 59) 8067698: 4b0c ldr r3, [pc, #48] ; (80676cc ) 806769a: 785b ldrb r3, [r3, #1] 806769c: 2b3a cmp r3, #58 ; 0x3a 806769e: d806 bhi.n 80676ae RTC_TimeStruct.Minutes++; 80676a0: 4b0a ldr r3, [pc, #40] ; (80676cc ) 80676a2: 785b ldrb r3, [r3, #1] 80676a4: 3301 adds r3, #1 80676a6: b2da uxtb r2, r3 80676a8: 4b08 ldr r3, [pc, #32] ; (80676cc ) 80676aa: 705a strb r2, [r3, #1] 80676ac: e002 b.n 80676b4 else RTC_TimeStruct.Minutes = 0; 80676ae: 4b07 ldr r3, [pc, #28] ; (80676cc ) 80676b0: 2200 movs r2, #0 80676b2: 705a strb r2, [r3, #1] } RTC_TimeStruct.Seconds = 0; 80676b4: 4b05 ldr r3, [pc, #20] ; (80676cc ) 80676b6: 2200 movs r2, #0 80676b8: 709a strb r2, [r3, #2] HAL_RTC_SetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 80676ba: 2200 movs r2, #0 80676bc: 4903 ldr r1, [pc, #12] ; (80676cc ) 80676be: 4804 ldr r0, [pc, #16] ; (80676d0 ) 80676c0: f051 f9f0 bl 80b8aa4 } 80676c4: bf00 nop 80676c6: 3708 adds r7, #8 80676c8: 46bd mov sp, r7 80676ca: bd80 pop {r7, pc} 80676cc: 20025c68 .word 0x20025c68 80676d0: 20068598 .word 0x20068598 080676d4 : void ChangeDate(int8_t chDay, int8_t chMonth, int8_t chYear) { 80676d4: b580 push {r7, lr} 80676d6: b086 sub sp, #24 80676d8: af00 add r7, sp, #0 80676da: 4603 mov r3, r0 80676dc: 71fb strb r3, [r7, #7] 80676de: 460b mov r3, r1 80676e0: 71bb strb r3, [r7, #6] 80676e2: 4613 mov r3, r2 80676e4: 717b strb r3, [r7, #5] #define VISOKOSNIY (1) uint32_t j, k; HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 80676e6: 2200 movs r2, #0 80676e8: 49a1 ldr r1, [pc, #644] ; (8067970 ) 80676ea: 48a2 ldr r0, [pc, #648] ; (8067974 ) 80676ec: f051 fb9e bl 80b8e2c j = 0; 80676f0: 2300 movs r3, #0 80676f2: 617b str r3, [r7, #20] k = RTC_DateStruct.Year + 2000; 80676f4: 4b9e ldr r3, [pc, #632] ; (8067970 ) 80676f6: 78db ldrb r3, [r3, #3] 80676f8: f503 63fa add.w r3, r3, #2000 ; 0x7d0 80676fc: 613b str r3, [r7, #16] if(!(k % 4)) 80676fe: 693b ldr r3, [r7, #16] 8067700: f003 0303 and.w r3, r3, #3 8067704: 2b00 cmp r3, #0 8067706: d11b bne.n 8067740 { if(k % 100) j = VISOKOSNIY; 8067708: 693a ldr r2, [r7, #16] 806770a: 4b9b ldr r3, [pc, #620] ; (8067978 ) 806770c: fba3 1302 umull r1, r3, r3, r2 8067710: 095b lsrs r3, r3, #5 8067712: 2164 movs r1, #100 ; 0x64 8067714: fb01 f303 mul.w r3, r1, r3 8067718: 1ad3 subs r3, r2, r3 806771a: 2b00 cmp r3, #0 806771c: d002 beq.n 8067724 806771e: 2301 movs r3, #1 8067720: 617b str r3, [r7, #20] 8067722: e00d b.n 8067740 else if(!(k % 400)) j = VISOKOSNIY; 8067724: 693a ldr r2, [r7, #16] 8067726: 4b94 ldr r3, [pc, #592] ; (8067978 ) 8067728: fba3 1302 umull r1, r3, r3, r2 806772c: 09db lsrs r3, r3, #7 806772e: f44f 71c8 mov.w r1, #400 ; 0x190 8067732: fb01 f303 mul.w r3, r1, r3 8067736: 1ad3 subs r3, r2, r3 8067738: 2b00 cmp r3, #0 806773a: d101 bne.n 8067740 806773c: 2301 movs r3, #1 806773e: 617b str r3, [r7, #20] } if(chDay == -1) 8067740: f997 3007 ldrsb.w r3, [r7, #7] 8067744: f1b3 3fff cmp.w r3, #4294967295 8067748: d13d bne.n 80677c6 { if(RTC_DateStruct.Date > 1) 806774a: 4b89 ldr r3, [pc, #548] ; (8067970 ) 806774c: 789b ldrb r3, [r3, #2] 806774e: 2b01 cmp r3, #1 8067750: d906 bls.n 8067760 RTC_DateStruct.Date--; 8067752: 4b87 ldr r3, [pc, #540] ; (8067970 ) 8067754: 789b ldrb r3, [r3, #2] 8067756: 3b01 subs r3, #1 8067758: b2da uxtb r2, r3 806775a: 4b85 ldr r3, [pc, #532] ; (8067970 ) 806775c: 709a strb r2, [r3, #2] 806775e: e233 b.n 8067bc8 else { if(RTC_DateStruct.Month < 8) 8067760: 4b83 ldr r3, [pc, #524] ; (8067970 ) 8067762: 785b ldrb r3, [r3, #1] 8067764: 2b07 cmp r3, #7 8067766: d820 bhi.n 80677aa { if(RTC_DateStruct.Month & 0x1) 8067768: 4b81 ldr r3, [pc, #516] ; (8067970 ) 806776a: 785b ldrb r3, [r3, #1] 806776c: f003 0301 and.w r3, r3, #1 8067770: 2b00 cmp r3, #0 8067772: d003 beq.n 806777c RTC_DateStruct.Date = 31; 8067774: 4b7e ldr r3, [pc, #504] ; (8067970 ) 8067776: 221f movs r2, #31 8067778: 709a strb r2, [r3, #2] 806777a: e225 b.n 8067bc8 else { if(( j ) && (RTC_DateStruct.Month == 2)) 806777c: 697b ldr r3, [r7, #20] 806777e: 2b00 cmp r3, #0 8067780: d007 beq.n 8067792 8067782: 4b7b ldr r3, [pc, #492] ; (8067970 ) 8067784: 785b ldrb r3, [r3, #1] 8067786: 2b02 cmp r3, #2 8067788: d103 bne.n 8067792 RTC_DateStruct.Date = 29; 806778a: 4b79 ldr r3, [pc, #484] ; (8067970 ) 806778c: 221d movs r2, #29 806778e: 709a strb r2, [r3, #2] 8067790: e21a b.n 8067bc8 else { if(RTC_DateStruct.Month == 2) 8067792: 4b77 ldr r3, [pc, #476] ; (8067970 ) 8067794: 785b ldrb r3, [r3, #1] 8067796: 2b02 cmp r3, #2 8067798: d103 bne.n 80677a2 RTC_DateStruct.Date = 28; 806779a: 4b75 ldr r3, [pc, #468] ; (8067970 ) 806779c: 221c movs r2, #28 806779e: 709a strb r2, [r3, #2] 80677a0: e212 b.n 8067bc8 else RTC_DateStruct.Date = 30; 80677a2: 4b73 ldr r3, [pc, #460] ; (8067970 ) 80677a4: 221e movs r2, #30 80677a6: 709a strb r2, [r3, #2] 80677a8: e20e b.n 8067bc8 } } } else { if(RTC_DateStruct.Month & 0x1) 80677aa: 4b71 ldr r3, [pc, #452] ; (8067970 ) 80677ac: 785b ldrb r3, [r3, #1] 80677ae: f003 0301 and.w r3, r3, #1 80677b2: 2b00 cmp r3, #0 80677b4: d003 beq.n 80677be RTC_DateStruct.Date = 30; 80677b6: 4b6e ldr r3, [pc, #440] ; (8067970 ) 80677b8: 221e movs r2, #30 80677ba: 709a strb r2, [r3, #2] 80677bc: e204 b.n 8067bc8 else RTC_DateStruct.Date = 31; 80677be: 4b6c ldr r3, [pc, #432] ; (8067970 ) 80677c0: 221f movs r2, #31 80677c2: 709a strb r2, [r3, #2] 80677c4: e200 b.n 8067bc8 } } } else if(chDay == 1) 80677c6: f997 3007 ldrsb.w r3, [r7, #7] 80677ca: 2b01 cmp r3, #1 80677cc: d13c bne.n 8067848 { if(RTC_DateStruct.Month < 8) 80677ce: 4b68 ldr r3, [pc, #416] ; (8067970 ) 80677d0: 785b ldrb r3, [r3, #1] 80677d2: 2b07 cmp r3, #7 80677d4: d81c bhi.n 8067810 { if(RTC_DateStruct.Month & 0x1) 80677d6: 4b66 ldr r3, [pc, #408] ; (8067970 ) 80677d8: 785b ldrb r3, [r3, #1] 80677da: f003 0301 and.w r3, r3, #1 80677de: 2b00 cmp r3, #0 80677e0: d002 beq.n 80677e8 k = 31; 80677e2: 231f movs r3, #31 80677e4: 613b str r3, [r7, #16] 80677e6: e01e b.n 8067826 else { if(( j ) && (RTC_DateStruct.Month == 2)) 80677e8: 697b ldr r3, [r7, #20] 80677ea: 2b00 cmp r3, #0 80677ec: d006 beq.n 80677fc 80677ee: 4b60 ldr r3, [pc, #384] ; (8067970 ) 80677f0: 785b ldrb r3, [r3, #1] 80677f2: 2b02 cmp r3, #2 80677f4: d102 bne.n 80677fc k = 29; 80677f6: 231d movs r3, #29 80677f8: 613b str r3, [r7, #16] 80677fa: e014 b.n 8067826 else { if(RTC_DateStruct.Month == 2) 80677fc: 4b5c ldr r3, [pc, #368] ; (8067970 ) 80677fe: 785b ldrb r3, [r3, #1] 8067800: 2b02 cmp r3, #2 8067802: d102 bne.n 806780a k = 28; 8067804: 231c movs r3, #28 8067806: 613b str r3, [r7, #16] 8067808: e00d b.n 8067826 else k = 30; 806780a: 231e movs r3, #30 806780c: 613b str r3, [r7, #16] 806780e: e00a b.n 8067826 } } } else { if(RTC_DateStruct.Month & 0x1) 8067810: 4b57 ldr r3, [pc, #348] ; (8067970 ) 8067812: 785b ldrb r3, [r3, #1] 8067814: f003 0301 and.w r3, r3, #1 8067818: 2b00 cmp r3, #0 806781a: d002 beq.n 8067822 k = 30; 806781c: 231e movs r3, #30 806781e: 613b str r3, [r7, #16] 8067820: e001 b.n 8067826 else k = 31; 8067822: 231f movs r3, #31 8067824: 613b str r3, [r7, #16] } if(RTC_DateStruct.Date < k) 8067826: 4b52 ldr r3, [pc, #328] ; (8067970 ) 8067828: 789b ldrb r3, [r3, #2] 806782a: 461a mov r2, r3 806782c: 693b ldr r3, [r7, #16] 806782e: 429a cmp r2, r3 8067830: d206 bcs.n 8067840 RTC_DateStruct.Date++; 8067832: 4b4f ldr r3, [pc, #316] ; (8067970 ) 8067834: 789b ldrb r3, [r3, #2] 8067836: 3301 adds r3, #1 8067838: b2da uxtb r2, r3 806783a: 4b4d ldr r3, [pc, #308] ; (8067970 ) 806783c: 709a strb r2, [r3, #2] 806783e: e1c3 b.n 8067bc8 else RTC_DateStruct.Date = 1; 8067840: 4b4b ldr r3, [pc, #300] ; (8067970 ) 8067842: 2201 movs r2, #1 8067844: 709a strb r2, [r3, #2] 8067846: e1bf b.n 8067bc8 } else if(chMonth == -1) 8067848: f997 3006 ldrsb.w r3, [r7, #6] 806784c: f1b3 3fff cmp.w r3, #4294967295 8067850: d157 bne.n 8067902 { if(RTC_DateStruct.Month > 1) 8067852: 4b47 ldr r3, [pc, #284] ; (8067970 ) 8067854: 785b ldrb r3, [r3, #1] 8067856: 2b01 cmp r3, #1 8067858: d906 bls.n 8067868 RTC_DateStruct.Month--; 806785a: 4b45 ldr r3, [pc, #276] ; (8067970 ) 806785c: 785b ldrb r3, [r3, #1] 806785e: 3b01 subs r3, #1 8067860: b2da uxtb r2, r3 8067862: 4b43 ldr r3, [pc, #268] ; (8067970 ) 8067864: 705a strb r2, [r3, #1] 8067866: e002 b.n 806786e else RTC_DateStruct.Month = 12; 8067868: 4b41 ldr r3, [pc, #260] ; (8067970 ) 806786a: 220c movs r2, #12 806786c: 705a strb r2, [r3, #1] if(RTC_DateStruct.Month < 8) 806786e: 4b40 ldr r3, [pc, #256] ; (8067970 ) 8067870: 785b ldrb r3, [r3, #1] 8067872: 2b07 cmp r3, #7 8067874: d835 bhi.n 80678e2 { if(!(RTC_DateStruct.Month & 0x1)) 8067876: 4b3e ldr r3, [pc, #248] ; (8067970 ) 8067878: 785b ldrb r3, [r3, #1] 806787a: f003 0301 and.w r3, r3, #1 806787e: 2b00 cmp r3, #0 8067880: f040 81a2 bne.w 8067bc8 { if(j) 8067884: 697b ldr r3, [r7, #20] 8067886: 2b00 cmp r3, #0 8067888: d015 beq.n 80678b6 { if(RTC_DateStruct.Month == 2) 806788a: 4b39 ldr r3, [pc, #228] ; (8067970 ) 806788c: 785b ldrb r3, [r3, #1] 806788e: 2b02 cmp r3, #2 8067890: d108 bne.n 80678a4 { if(RTC_DateStruct.Date > 29) 8067892: 4b37 ldr r3, [pc, #220] ; (8067970 ) 8067894: 789b ldrb r3, [r3, #2] 8067896: 2b1d cmp r3, #29 8067898: f240 8196 bls.w 8067bc8 RTC_DateStruct.Date = 29; 806789c: 4b34 ldr r3, [pc, #208] ; (8067970 ) 806789e: 221d movs r2, #29 80678a0: 709a strb r2, [r3, #2] 80678a2: e191 b.n 8067bc8 } else { if(RTC_DateStruct.Date > 30) 80678a4: 4b32 ldr r3, [pc, #200] ; (8067970 ) 80678a6: 789b ldrb r3, [r3, #2] 80678a8: 2b1e cmp r3, #30 80678aa: f240 818d bls.w 8067bc8 RTC_DateStruct.Date = 30; 80678ae: 4b30 ldr r3, [pc, #192] ; (8067970 ) 80678b0: 221e movs r2, #30 80678b2: 709a strb r2, [r3, #2] 80678b4: e188 b.n 8067bc8 } } else { if(RTC_DateStruct.Month == 2) 80678b6: 4b2e ldr r3, [pc, #184] ; (8067970 ) 80678b8: 785b ldrb r3, [r3, #1] 80678ba: 2b02 cmp r3, #2 80678bc: d108 bne.n 80678d0 { if(RTC_DateStruct.Date > 28) 80678be: 4b2c ldr r3, [pc, #176] ; (8067970 ) 80678c0: 789b ldrb r3, [r3, #2] 80678c2: 2b1c cmp r3, #28 80678c4: f240 8180 bls.w 8067bc8 RTC_DateStruct.Date = 28; 80678c8: 4b29 ldr r3, [pc, #164] ; (8067970 ) 80678ca: 221c movs r2, #28 80678cc: 709a strb r2, [r3, #2] 80678ce: e17b b.n 8067bc8 } else { if(RTC_DateStruct.Date > 30) 80678d0: 4b27 ldr r3, [pc, #156] ; (8067970 ) 80678d2: 789b ldrb r3, [r3, #2] 80678d4: 2b1e cmp r3, #30 80678d6: f240 8177 bls.w 8067bc8 RTC_DateStruct.Date = 30; 80678da: 4b25 ldr r3, [pc, #148] ; (8067970 ) 80678dc: 221e movs r2, #30 80678de: 709a strb r2, [r3, #2] 80678e0: e172 b.n 8067bc8 } } } else { if(RTC_DateStruct.Month & 0x1) 80678e2: 4b23 ldr r3, [pc, #140] ; (8067970 ) 80678e4: 785b ldrb r3, [r3, #1] 80678e6: f003 0301 and.w r3, r3, #1 80678ea: 2b00 cmp r3, #0 80678ec: f000 816c beq.w 8067bc8 { if(RTC_DateStruct.Date > 30) 80678f0: 4b1f ldr r3, [pc, #124] ; (8067970 ) 80678f2: 789b ldrb r3, [r3, #2] 80678f4: 2b1e cmp r3, #30 80678f6: f240 8167 bls.w 8067bc8 RTC_DateStruct.Date = 30; 80678fa: 4b1d ldr r3, [pc, #116] ; (8067970 ) 80678fc: 221e movs r2, #30 80678fe: 709a strb r2, [r3, #2] 8067900: e162 b.n 8067bc8 } } } else if(chMonth == 1) 8067902: f997 3006 ldrsb.w r3, [r7, #6] 8067906: 2b01 cmp r3, #1 8067908: d15e bne.n 80679c8 { if(RTC_DateStruct.Month < 12) 806790a: 4b19 ldr r3, [pc, #100] ; (8067970 ) 806790c: 785b ldrb r3, [r3, #1] 806790e: 2b0b cmp r3, #11 8067910: d806 bhi.n 8067920 RTC_DateStruct.Month++; 8067912: 4b17 ldr r3, [pc, #92] ; (8067970 ) 8067914: 785b ldrb r3, [r3, #1] 8067916: 3301 adds r3, #1 8067918: b2da uxtb r2, r3 806791a: 4b15 ldr r3, [pc, #84] ; (8067970 ) 806791c: 705a strb r2, [r3, #1] 806791e: e002 b.n 8067926 else RTC_DateStruct.Month = 1; 8067920: 4b13 ldr r3, [pc, #76] ; (8067970 ) 8067922: 2201 movs r2, #1 8067924: 705a strb r2, [r3, #1] if(RTC_DateStruct.Month < 8) 8067926: 4b12 ldr r3, [pc, #72] ; (8067970 ) 8067928: 785b ldrb r3, [r3, #1] 806792a: 2b07 cmp r3, #7 806792c: d83c bhi.n 80679a8 { if(!(RTC_DateStruct.Month & 0x1)) 806792e: 4b10 ldr r3, [pc, #64] ; (8067970 ) 8067930: 785b ldrb r3, [r3, #1] 8067932: f003 0301 and.w r3, r3, #1 8067936: 2b00 cmp r3, #0 8067938: f040 8146 bne.w 8067bc8 { if(j) 806793c: 697b ldr r3, [r7, #20] 806793e: 2b00 cmp r3, #0 8067940: d01c beq.n 806797c { if(RTC_DateStruct.Month == 2) 8067942: 4b0b ldr r3, [pc, #44] ; (8067970 ) 8067944: 785b ldrb r3, [r3, #1] 8067946: 2b02 cmp r3, #2 8067948: d108 bne.n 806795c { if(RTC_DateStruct.Date > 29) 806794a: 4b09 ldr r3, [pc, #36] ; (8067970 ) 806794c: 789b ldrb r3, [r3, #2] 806794e: 2b1d cmp r3, #29 8067950: f240 813a bls.w 8067bc8 RTC_DateStruct.Date = 29; 8067954: 4b06 ldr r3, [pc, #24] ; (8067970 ) 8067956: 221d movs r2, #29 8067958: 709a strb r2, [r3, #2] 806795a: e135 b.n 8067bc8 } else { if(RTC_DateStruct.Date > 30) 806795c: 4b04 ldr r3, [pc, #16] ; (8067970 ) 806795e: 789b ldrb r3, [r3, #2] 8067960: 2b1e cmp r3, #30 8067962: f240 8131 bls.w 8067bc8 RTC_DateStruct.Date = 30; 8067966: 4b02 ldr r3, [pc, #8] ; (8067970 ) 8067968: 221e movs r2, #30 806796a: 709a strb r2, [r3, #2] 806796c: e12c b.n 8067bc8 806796e: bf00 nop 8067970: 20025cec .word 0x20025cec 8067974: 20068598 .word 0x20068598 8067978: 51eb851f .word 0x51eb851f } } else { if(RTC_DateStruct.Month == 2) 806797c: 4ba1 ldr r3, [pc, #644] ; (8067c04 ) 806797e: 785b ldrb r3, [r3, #1] 8067980: 2b02 cmp r3, #2 8067982: d108 bne.n 8067996 { if(RTC_DateStruct.Date > 28) 8067984: 4b9f ldr r3, [pc, #636] ; (8067c04 ) 8067986: 789b ldrb r3, [r3, #2] 8067988: 2b1c cmp r3, #28 806798a: f240 811d bls.w 8067bc8 RTC_DateStruct.Date = 28; 806798e: 4b9d ldr r3, [pc, #628] ; (8067c04 ) 8067990: 221c movs r2, #28 8067992: 709a strb r2, [r3, #2] 8067994: e118 b.n 8067bc8 } else { if(RTC_DateStruct.Date > 30) 8067996: 4b9b ldr r3, [pc, #620] ; (8067c04 ) 8067998: 789b ldrb r3, [r3, #2] 806799a: 2b1e cmp r3, #30 806799c: f240 8114 bls.w 8067bc8 RTC_DateStruct.Date = 30; 80679a0: 4b98 ldr r3, [pc, #608] ; (8067c04 ) 80679a2: 221e movs r2, #30 80679a4: 709a strb r2, [r3, #2] 80679a6: e10f b.n 8067bc8 } } } else { if(RTC_DateStruct.Month & 0x1) 80679a8: 4b96 ldr r3, [pc, #600] ; (8067c04 ) 80679aa: 785b ldrb r3, [r3, #1] 80679ac: f003 0301 and.w r3, r3, #1 80679b0: 2b00 cmp r3, #0 80679b2: f000 8109 beq.w 8067bc8 { if(RTC_DateStruct.Date > 30) 80679b6: 4b93 ldr r3, [pc, #588] ; (8067c04 ) 80679b8: 789b ldrb r3, [r3, #2] 80679ba: 2b1e cmp r3, #30 80679bc: f240 8104 bls.w 8067bc8 RTC_DateStruct.Date = 30; 80679c0: 4b90 ldr r3, [pc, #576] ; (8067c04 ) 80679c2: 221e movs r2, #30 80679c4: 709a strb r2, [r3, #2] 80679c6: e0ff b.n 8067bc8 } } } else if(chYear == -1) 80679c8: f997 3005 ldrsb.w r3, [r7, #5] 80679cc: f1b3 3fff cmp.w r3, #4294967295 80679d0: d17e bne.n 8067ad0 { if(RTC_DateStruct.Year > 1) 80679d2: 4b8c ldr r3, [pc, #560] ; (8067c04 ) 80679d4: 78db ldrb r3, [r3, #3] 80679d6: 2b01 cmp r3, #1 80679d8: d906 bls.n 80679e8 RTC_DateStruct.Year--; 80679da: 4b8a ldr r3, [pc, #552] ; (8067c04 ) 80679dc: 78db ldrb r3, [r3, #3] 80679de: 3b01 subs r3, #1 80679e0: b2da uxtb r2, r3 80679e2: 4b88 ldr r3, [pc, #544] ; (8067c04 ) 80679e4: 70da strb r2, [r3, #3] 80679e6: e002 b.n 80679ee else RTC_DateStruct.Year = 99; 80679e8: 4b86 ldr r3, [pc, #536] ; (8067c04 ) 80679ea: 2263 movs r2, #99 ; 0x63 80679ec: 70da strb r2, [r3, #3] j = 0; 80679ee: 2300 movs r3, #0 80679f0: 617b str r3, [r7, #20] k = RTC_DateStruct.Year + 2000; 80679f2: 4b84 ldr r3, [pc, #528] ; (8067c04 ) 80679f4: 78db ldrb r3, [r3, #3] 80679f6: f503 63fa add.w r3, r3, #2000 ; 0x7d0 80679fa: 613b str r3, [r7, #16] if(!(k % 4)) 80679fc: 693b ldr r3, [r7, #16] 80679fe: f003 0303 and.w r3, r3, #3 8067a02: 2b00 cmp r3, #0 8067a04: d11b bne.n 8067a3e { if(k % 100) j = 1; 8067a06: 693a ldr r2, [r7, #16] 8067a08: 4b7f ldr r3, [pc, #508] ; (8067c08 ) 8067a0a: fba3 1302 umull r1, r3, r3, r2 8067a0e: 095b lsrs r3, r3, #5 8067a10: 2164 movs r1, #100 ; 0x64 8067a12: fb01 f303 mul.w r3, r1, r3 8067a16: 1ad3 subs r3, r2, r3 8067a18: 2b00 cmp r3, #0 8067a1a: d002 beq.n 8067a22 8067a1c: 2301 movs r3, #1 8067a1e: 617b str r3, [r7, #20] 8067a20: e00d b.n 8067a3e else if(!(k % 400)) j = 1; 8067a22: 693a ldr r2, [r7, #16] 8067a24: 4b78 ldr r3, [pc, #480] ; (8067c08 ) 8067a26: fba3 1302 umull r1, r3, r3, r2 8067a2a: 09db lsrs r3, r3, #7 8067a2c: f44f 71c8 mov.w r1, #400 ; 0x190 8067a30: fb01 f303 mul.w r3, r1, r3 8067a34: 1ad3 subs r3, r2, r3 8067a36: 2b00 cmp r3, #0 8067a38: d101 bne.n 8067a3e 8067a3a: 2301 movs r3, #1 8067a3c: 617b str r3, [r7, #20] } if(RTC_DateStruct.Month < 8) 8067a3e: 4b71 ldr r3, [pc, #452] ; (8067c04 ) 8067a40: 785b ldrb r3, [r3, #1] 8067a42: 2b07 cmp r3, #7 8067a44: d835 bhi.n 8067ab2 { if(!(RTC_DateStruct.Month & 0x1)) 8067a46: 4b6f ldr r3, [pc, #444] ; (8067c04 ) 8067a48: 785b ldrb r3, [r3, #1] 8067a4a: f003 0301 and.w r3, r3, #1 8067a4e: 2b00 cmp r3, #0 8067a50: f040 80ba bne.w 8067bc8 { if(j) 8067a54: 697b ldr r3, [r7, #20] 8067a56: 2b00 cmp r3, #0 8067a58: d015 beq.n 8067a86 { if(RTC_DateStruct.Month == 2) 8067a5a: 4b6a ldr r3, [pc, #424] ; (8067c04 ) 8067a5c: 785b ldrb r3, [r3, #1] 8067a5e: 2b02 cmp r3, #2 8067a60: d108 bne.n 8067a74 { if(RTC_DateStruct.Date > 29) 8067a62: 4b68 ldr r3, [pc, #416] ; (8067c04 ) 8067a64: 789b ldrb r3, [r3, #2] 8067a66: 2b1d cmp r3, #29 8067a68: f240 80ae bls.w 8067bc8 RTC_DateStruct.Date = 29; 8067a6c: 4b65 ldr r3, [pc, #404] ; (8067c04 ) 8067a6e: 221d movs r2, #29 8067a70: 709a strb r2, [r3, #2] 8067a72: e0a9 b.n 8067bc8 } else { if(RTC_DateStruct.Date > 30) 8067a74: 4b63 ldr r3, [pc, #396] ; (8067c04 ) 8067a76: 789b ldrb r3, [r3, #2] 8067a78: 2b1e cmp r3, #30 8067a7a: f240 80a5 bls.w 8067bc8 RTC_DateStruct.Date = 30; 8067a7e: 4b61 ldr r3, [pc, #388] ; (8067c04 ) 8067a80: 221e movs r2, #30 8067a82: 709a strb r2, [r3, #2] 8067a84: e0a0 b.n 8067bc8 } } else { if(RTC_DateStruct.Month == 2) 8067a86: 4b5f ldr r3, [pc, #380] ; (8067c04 ) 8067a88: 785b ldrb r3, [r3, #1] 8067a8a: 2b02 cmp r3, #2 8067a8c: d108 bne.n 8067aa0 { if(RTC_DateStruct.Date > 28) 8067a8e: 4b5d ldr r3, [pc, #372] ; (8067c04 ) 8067a90: 789b ldrb r3, [r3, #2] 8067a92: 2b1c cmp r3, #28 8067a94: f240 8098 bls.w 8067bc8 RTC_DateStruct.Date = 28; 8067a98: 4b5a ldr r3, [pc, #360] ; (8067c04 ) 8067a9a: 221c movs r2, #28 8067a9c: 709a strb r2, [r3, #2] 8067a9e: e093 b.n 8067bc8 } else { if(RTC_DateStruct.Date > 30) 8067aa0: 4b58 ldr r3, [pc, #352] ; (8067c04 ) 8067aa2: 789b ldrb r3, [r3, #2] 8067aa4: 2b1e cmp r3, #30 8067aa6: f240 808f bls.w 8067bc8 RTC_DateStruct.Date = 30; 8067aaa: 4b56 ldr r3, [pc, #344] ; (8067c04 ) 8067aac: 221e movs r2, #30 8067aae: 709a strb r2, [r3, #2] 8067ab0: e08a b.n 8067bc8 } } } else { if(RTC_DateStruct.Month & 0x1) 8067ab2: 4b54 ldr r3, [pc, #336] ; (8067c04 ) 8067ab4: 785b ldrb r3, [r3, #1] 8067ab6: f003 0301 and.w r3, r3, #1 8067aba: 2b00 cmp r3, #0 8067abc: f000 8084 beq.w 8067bc8 { if(RTC_DateStruct.Date > 30) 8067ac0: 4b50 ldr r3, [pc, #320] ; (8067c04 ) 8067ac2: 789b ldrb r3, [r3, #2] 8067ac4: 2b1e cmp r3, #30 8067ac6: d97f bls.n 8067bc8 RTC_DateStruct.Date = 30; 8067ac8: 4b4e ldr r3, [pc, #312] ; (8067c04 ) 8067aca: 221e movs r2, #30 8067acc: 709a strb r2, [r3, #2] 8067ace: e07b b.n 8067bc8 } } } else if(chYear == 1) 8067ad0: f997 3005 ldrsb.w r3, [r7, #5] 8067ad4: 2b01 cmp r3, #1 8067ad6: d177 bne.n 8067bc8 { if(RTC_DateStruct.Year < 99) 8067ad8: 4b4a ldr r3, [pc, #296] ; (8067c04 ) 8067ada: 78db ldrb r3, [r3, #3] 8067adc: 2b62 cmp r3, #98 ; 0x62 8067ade: d806 bhi.n 8067aee RTC_DateStruct.Year++; 8067ae0: 4b48 ldr r3, [pc, #288] ; (8067c04 ) 8067ae2: 78db ldrb r3, [r3, #3] 8067ae4: 3301 adds r3, #1 8067ae6: b2da uxtb r2, r3 8067ae8: 4b46 ldr r3, [pc, #280] ; (8067c04 ) 8067aea: 70da strb r2, [r3, #3] 8067aec: e002 b.n 8067af4 else RTC_DateStruct.Year = 0; 8067aee: 4b45 ldr r3, [pc, #276] ; (8067c04 ) 8067af0: 2200 movs r2, #0 8067af2: 70da strb r2, [r3, #3] j = 0; 8067af4: 2300 movs r3, #0 8067af6: 617b str r3, [r7, #20] k = RTC_DateStruct.Year + 2000; 8067af8: 4b42 ldr r3, [pc, #264] ; (8067c04 ) 8067afa: 78db ldrb r3, [r3, #3] 8067afc: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8067b00: 613b str r3, [r7, #16] if(!(k % 4)) 8067b02: 693b ldr r3, [r7, #16] 8067b04: f003 0303 and.w r3, r3, #3 8067b08: 2b00 cmp r3, #0 8067b0a: d11b bne.n 8067b44 { if(k % 100) j = 1; 8067b0c: 693a ldr r2, [r7, #16] 8067b0e: 4b3e ldr r3, [pc, #248] ; (8067c08 ) 8067b10: fba3 1302 umull r1, r3, r3, r2 8067b14: 095b lsrs r3, r3, #5 8067b16: 2164 movs r1, #100 ; 0x64 8067b18: fb01 f303 mul.w r3, r1, r3 8067b1c: 1ad3 subs r3, r2, r3 8067b1e: 2b00 cmp r3, #0 8067b20: d002 beq.n 8067b28 8067b22: 2301 movs r3, #1 8067b24: 617b str r3, [r7, #20] 8067b26: e00d b.n 8067b44 else if(!(k % 400)) j = 1; 8067b28: 693a ldr r2, [r7, #16] 8067b2a: 4b37 ldr r3, [pc, #220] ; (8067c08 ) 8067b2c: fba3 1302 umull r1, r3, r3, r2 8067b30: 09db lsrs r3, r3, #7 8067b32: f44f 71c8 mov.w r1, #400 ; 0x190 8067b36: fb01 f303 mul.w r3, r1, r3 8067b3a: 1ad3 subs r3, r2, r3 8067b3c: 2b00 cmp r3, #0 8067b3e: d101 bne.n 8067b44 8067b40: 2301 movs r3, #1 8067b42: 617b str r3, [r7, #20] } if(RTC_DateStruct.Month < 8) 8067b44: 4b2f ldr r3, [pc, #188] ; (8067c04 ) 8067b46: 785b ldrb r3, [r3, #1] 8067b48: 2b07 cmp r3, #7 8067b4a: d830 bhi.n 8067bae { if(!(RTC_DateStruct.Month & 0x1)) 8067b4c: 4b2d ldr r3, [pc, #180] ; (8067c04 ) 8067b4e: 785b ldrb r3, [r3, #1] 8067b50: f003 0301 and.w r3, r3, #1 8067b54: 2b00 cmp r3, #0 8067b56: d137 bne.n 8067bc8 { if(j) 8067b58: 697b ldr r3, [r7, #20] 8067b5a: 2b00 cmp r3, #0 8067b5c: d013 beq.n 8067b86 { if(RTC_DateStruct.Month == 2) 8067b5e: 4b29 ldr r3, [pc, #164] ; (8067c04 ) 8067b60: 785b ldrb r3, [r3, #1] 8067b62: 2b02 cmp r3, #2 8067b64: d107 bne.n 8067b76 { if(RTC_DateStruct.Date > 29) 8067b66: 4b27 ldr r3, [pc, #156] ; (8067c04 ) 8067b68: 789b ldrb r3, [r3, #2] 8067b6a: 2b1d cmp r3, #29 8067b6c: d92c bls.n 8067bc8 RTC_DateStruct.Date = 29; 8067b6e: 4b25 ldr r3, [pc, #148] ; (8067c04 ) 8067b70: 221d movs r2, #29 8067b72: 709a strb r2, [r3, #2] 8067b74: e028 b.n 8067bc8 } else { if(RTC_DateStruct.Date > 30) 8067b76: 4b23 ldr r3, [pc, #140] ; (8067c04 ) 8067b78: 789b ldrb r3, [r3, #2] 8067b7a: 2b1e cmp r3, #30 8067b7c: d924 bls.n 8067bc8 RTC_DateStruct.Date = 30; 8067b7e: 4b21 ldr r3, [pc, #132] ; (8067c04 ) 8067b80: 221e movs r2, #30 8067b82: 709a strb r2, [r3, #2] 8067b84: e020 b.n 8067bc8 } } else { if(RTC_DateStruct.Month == 2) 8067b86: 4b1f ldr r3, [pc, #124] ; (8067c04 ) 8067b88: 785b ldrb r3, [r3, #1] 8067b8a: 2b02 cmp r3, #2 8067b8c: d107 bne.n 8067b9e { if(RTC_DateStruct.Date > 28) 8067b8e: 4b1d ldr r3, [pc, #116] ; (8067c04 ) 8067b90: 789b ldrb r3, [r3, #2] 8067b92: 2b1c cmp r3, #28 8067b94: d918 bls.n 8067bc8 RTC_DateStruct.Date = 28; 8067b96: 4b1b ldr r3, [pc, #108] ; (8067c04 ) 8067b98: 221c movs r2, #28 8067b9a: 709a strb r2, [r3, #2] 8067b9c: e014 b.n 8067bc8 } else { if(RTC_DateStruct.Date > 30) 8067b9e: 4b19 ldr r3, [pc, #100] ; (8067c04 ) 8067ba0: 789b ldrb r3, [r3, #2] 8067ba2: 2b1e cmp r3, #30 8067ba4: d910 bls.n 8067bc8 RTC_DateStruct.Date = 30; 8067ba6: 4b17 ldr r3, [pc, #92] ; (8067c04 ) 8067ba8: 221e movs r2, #30 8067baa: 709a strb r2, [r3, #2] 8067bac: e00c b.n 8067bc8 } } } else { if(RTC_DateStruct.Month & 0x1) 8067bae: 4b15 ldr r3, [pc, #84] ; (8067c04 ) 8067bb0: 785b ldrb r3, [r3, #1] 8067bb2: f003 0301 and.w r3, r3, #1 8067bb6: 2b00 cmp r3, #0 8067bb8: d006 beq.n 8067bc8 { if(RTC_DateStruct.Date > 30) 8067bba: 4b12 ldr r3, [pc, #72] ; (8067c04 ) 8067bbc: 789b ldrb r3, [r3, #2] 8067bbe: 2b1e cmp r3, #30 8067bc0: d902 bls.n 8067bc8 RTC_DateStruct.Date = 30; 8067bc2: 4b10 ldr r3, [pc, #64] ; (8067c04 ) 8067bc4: 221e movs r2, #30 8067bc6: 709a strb r2, [r3, #2] uint32_t d, i; //01.01.2000 - SATURDAY d = 0; 8067bc8: 2300 movs r3, #0 8067bca: 60fb str r3, [r7, #12] for(i = 0; i < RTC_DateStruct.Year; i++) 8067bcc: 2300 movs r3, #0 8067bce: 60bb str r3, [r7, #8] 8067bd0: e033 b.n 8067c3a { j = 0; 8067bd2: 2300 movs r3, #0 8067bd4: 617b str r3, [r7, #20] k = i + 2000; 8067bd6: 68bb ldr r3, [r7, #8] 8067bd8: f503 63fa add.w r3, r3, #2000 ; 0x7d0 8067bdc: 613b str r3, [r7, #16] if(!(k % 4)) 8067bde: 693b ldr r3, [r7, #16] 8067be0: f003 0303 and.w r3, r3, #3 8067be4: 2b00 cmp r3, #0 8067be6: d11f bne.n 8067c28 { if(k % 100) j = VISOKOSNIY; 8067be8: 693a ldr r2, [r7, #16] 8067bea: 4b07 ldr r3, [pc, #28] ; (8067c08 ) 8067bec: fba3 1302 umull r1, r3, r3, r2 8067bf0: 095b lsrs r3, r3, #5 8067bf2: 2164 movs r1, #100 ; 0x64 8067bf4: fb01 f303 mul.w r3, r1, r3 8067bf8: 1ad3 subs r3, r2, r3 8067bfa: 2b00 cmp r3, #0 8067bfc: d006 beq.n 8067c0c 8067bfe: 2301 movs r3, #1 8067c00: 617b str r3, [r7, #20] 8067c02: e011 b.n 8067c28 8067c04: 20025cec .word 0x20025cec 8067c08: 51eb851f .word 0x51eb851f else if(!(k % 400)) j = VISOKOSNIY; 8067c0c: 693a ldr r2, [r7, #16] 8067c0e: 4b4c ldr r3, [pc, #304] ; (8067d40 ) 8067c10: fba3 1302 umull r1, r3, r3, r2 8067c14: 09db lsrs r3, r3, #7 8067c16: f44f 71c8 mov.w r1, #400 ; 0x190 8067c1a: fb01 f303 mul.w r3, r1, r3 8067c1e: 1ad3 subs r3, r2, r3 8067c20: 2b00 cmp r3, #0 8067c22: d101 bne.n 8067c28 8067c24: 2301 movs r3, #1 8067c26: 617b str r3, [r7, #20] } d += (365 + j); 8067c28: 697a ldr r2, [r7, #20] 8067c2a: 68fb ldr r3, [r7, #12] 8067c2c: 4413 add r3, r2 8067c2e: f203 136d addw r3, r3, #365 ; 0x16d 8067c32: 60fb str r3, [r7, #12] for(i = 0; i < RTC_DateStruct.Year; i++) 8067c34: 68bb ldr r3, [r7, #8] 8067c36: 3301 adds r3, #1 8067c38: 60bb str r3, [r7, #8] 8067c3a: 4b42 ldr r3, [pc, #264] ; (8067d44 ) 8067c3c: 78db ldrb r3, [r3, #3] 8067c3e: 461a mov r2, r3 8067c40: 68bb ldr r3, [r7, #8] 8067c42: 429a cmp r2, r3 8067c44: d8c5 bhi.n 8067bd2 } k++; 8067c46: 693b ldr r3, [r7, #16] 8067c48: 3301 adds r3, #1 8067c4a: 613b str r3, [r7, #16] j = 0; 8067c4c: 2300 movs r3, #0 8067c4e: 617b str r3, [r7, #20] if(!(k % 4)) 8067c50: 693b ldr r3, [r7, #16] 8067c52: f003 0303 and.w r3, r3, #3 8067c56: 2b00 cmp r3, #0 8067c58: d11b bne.n 8067c92 { if(k % 100) j = VISOKOSNIY; 8067c5a: 693a ldr r2, [r7, #16] 8067c5c: 4b38 ldr r3, [pc, #224] ; (8067d40 ) 8067c5e: fba3 1302 umull r1, r3, r3, r2 8067c62: 095b lsrs r3, r3, #5 8067c64: 2164 movs r1, #100 ; 0x64 8067c66: fb01 f303 mul.w r3, r1, r3 8067c6a: 1ad3 subs r3, r2, r3 8067c6c: 2b00 cmp r3, #0 8067c6e: d002 beq.n 8067c76 8067c70: 2301 movs r3, #1 8067c72: 617b str r3, [r7, #20] 8067c74: e00d b.n 8067c92 else if(!(k % 400)) j = VISOKOSNIY; 8067c76: 693a ldr r2, [r7, #16] 8067c78: 4b31 ldr r3, [pc, #196] ; (8067d40 ) 8067c7a: fba3 1302 umull r1, r3, r3, r2 8067c7e: 09db lsrs r3, r3, #7 8067c80: f44f 71c8 mov.w r1, #400 ; 0x190 8067c84: fb01 f303 mul.w r3, r1, r3 8067c88: 1ad3 subs r3, r2, r3 8067c8a: 2b00 cmp r3, #0 8067c8c: d101 bne.n 8067c92 8067c8e: 2301 movs r3, #1 8067c90: 617b str r3, [r7, #20] } for(i = 1; i < RTC_DateStruct.Month; i++) 8067c92: 2301 movs r3, #1 8067c94: 60bb str r3, [r7, #8] 8067c96: e02c b.n 8067cf2 { if(i < RTC_MONTH_AUGUST) 8067c98: 68bb ldr r3, [r7, #8] 8067c9a: 2b07 cmp r3, #7 8067c9c: d81a bhi.n 8067cd4 { if(i & 1) 8067c9e: 68bb ldr r3, [r7, #8] 8067ca0: f003 0301 and.w r3, r3, #1 8067ca4: 2b00 cmp r3, #0 8067ca6: d003 beq.n 8067cb0 d += 31; 8067ca8: 68fb ldr r3, [r7, #12] 8067caa: 331f adds r3, #31 8067cac: 60fb str r3, [r7, #12] 8067cae: e01d b.n 8067cec else { if(i == RTC_MONTH_FEBRUARY) 8067cb0: 68bb ldr r3, [r7, #8] 8067cb2: 2b02 cmp r3, #2 8067cb4: d10a bne.n 8067ccc { if(j != VISOKOSNIY) 8067cb6: 697b ldr r3, [r7, #20] 8067cb8: 2b01 cmp r3, #1 8067cba: d003 beq.n 8067cc4 d += 28; 8067cbc: 68fb ldr r3, [r7, #12] 8067cbe: 331c adds r3, #28 8067cc0: 60fb str r3, [r7, #12] 8067cc2: e013 b.n 8067cec else d += 29; 8067cc4: 68fb ldr r3, [r7, #12] 8067cc6: 331d adds r3, #29 8067cc8: 60fb str r3, [r7, #12] 8067cca: e00f b.n 8067cec } else d += 30; 8067ccc: 68fb ldr r3, [r7, #12] 8067cce: 331e adds r3, #30 8067cd0: 60fb str r3, [r7, #12] 8067cd2: e00b b.n 8067cec } } else { if(i & 1) 8067cd4: 68bb ldr r3, [r7, #8] 8067cd6: f003 0301 and.w r3, r3, #1 8067cda: 2b00 cmp r3, #0 8067cdc: d003 beq.n 8067ce6 d += 30; 8067cde: 68fb ldr r3, [r7, #12] 8067ce0: 331e adds r3, #30 8067ce2: 60fb str r3, [r7, #12] 8067ce4: e002 b.n 8067cec else d += 31; 8067ce6: 68fb ldr r3, [r7, #12] 8067ce8: 331f adds r3, #31 8067cea: 60fb str r3, [r7, #12] for(i = 1; i < RTC_DateStruct.Month; i++) 8067cec: 68bb ldr r3, [r7, #8] 8067cee: 3301 adds r3, #1 8067cf0: 60bb str r3, [r7, #8] 8067cf2: 4b14 ldr r3, [pc, #80] ; (8067d44 ) 8067cf4: 785b ldrb r3, [r3, #1] 8067cf6: 461a mov r2, r3 8067cf8: 68bb ldr r3, [r7, #8] 8067cfa: 429a cmp r2, r3 8067cfc: d8cc bhi.n 8067c98 } } d += RTC_DateStruct.Date; 8067cfe: 4b11 ldr r3, [pc, #68] ; (8067d44 ) 8067d00: 789b ldrb r3, [r3, #2] 8067d02: 461a mov r2, r3 8067d04: 68fb ldr r3, [r7, #12] 8067d06: 4413 add r3, r2 8067d08: 60fb str r3, [r7, #12] d += (RTC_WEEKDAY_SATURDAY - 1); 8067d0a: 68fb ldr r3, [r7, #12] 8067d0c: 3305 adds r3, #5 8067d0e: 60fb str r3, [r7, #12] RTC_DateStruct.WeekDay = d % 7; 8067d10: 68fa ldr r2, [r7, #12] 8067d12: 4b0d ldr r3, [pc, #52] ; (8067d48 ) 8067d14: fba3 1302 umull r1, r3, r3, r2 8067d18: 1ad1 subs r1, r2, r3 8067d1a: 0849 lsrs r1, r1, #1 8067d1c: 440b add r3, r1 8067d1e: 0899 lsrs r1, r3, #2 8067d20: 460b mov r3, r1 8067d22: 00db lsls r3, r3, #3 8067d24: 1a5b subs r3, r3, r1 8067d26: 1ad1 subs r1, r2, r3 8067d28: b2ca uxtb r2, r1 8067d2a: 4b06 ldr r3, [pc, #24] ; (8067d44 ) 8067d2c: 701a strb r2, [r3, #0] HAL_RTC_SetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 8067d2e: 2200 movs r2, #0 8067d30: 4904 ldr r1, [pc, #16] ; (8067d44 ) 8067d32: 4806 ldr r0, [pc, #24] ; (8067d4c ) 8067d34: f050 ffd2 bl 80b8cdc } 8067d38: bf00 nop 8067d3a: 3718 adds r7, #24 8067d3c: 46bd mov sp, r7 8067d3e: bd80 pop {r7, pc} 8067d40: 51eb851f .word 0x51eb851f 8067d44: 20025cec .word 0x20025cec 8067d48: 24924925 .word 0x24924925 8067d4c: 20068598 .word 0x20068598 08067d50 : void EXTI_Config(void) { 8067d50: b580 push {r7, lr} 8067d52: b086 sub sp, #24 8067d54: af00 add r7, sp, #0 GPIO_InitTypeDef EXTILineStruct; __HAL_RCC_SYSCFG_CLK_ENABLE(); 8067d56: 4a1c ldr r2, [pc, #112] ; (8067dc8 ) 8067d58: 4b1b ldr r3, [pc, #108] ; (8067dc8 ) 8067d5a: 6c5b ldr r3, [r3, #68] ; 0x44 8067d5c: f443 4380 orr.w r3, r3, #16384 ; 0x4000 8067d60: 6453 str r3, [r2, #68] ; 0x44 8067d62: 4b19 ldr r3, [pc, #100] ; (8067dc8 ) 8067d64: 6c5b ldr r3, [r3, #68] ; 0x44 8067d66: f403 4380 and.w r3, r3, #16384 ; 0x4000 8067d6a: 603b str r3, [r7, #0] 8067d6c: 683b ldr r3, [r7, #0] EXTILineStruct.Pin = GPIO_PIN_2; 8067d6e: 2304 movs r3, #4 8067d70: 607b str r3, [r7, #4] EXTILineStruct.Mode = GPIO_MODE_IT_RISING; 8067d72: f44f 1388 mov.w r3, #1114112 ; 0x110000 8067d76: 60bb str r3, [r7, #8] EXTILineStruct.Pull = GPIO_NOPULL; 8067d78: 2300 movs r3, #0 8067d7a: 60fb str r3, [r7, #12] HAL_GPIO_Init(GPIOC, &EXTILineStruct); 8067d7c: 1d3b adds r3, r7, #4 8067d7e: 4619 mov r1, r3 8067d80: 4812 ldr r0, [pc, #72] ; (8067dcc ) 8067d82: f04d fc63 bl 80b564c HAL_NVIC_SetPriority(EXTI2_IRQn, 8, 0); 8067d86: 2200 movs r2, #0 8067d88: 2108 movs r1, #8 8067d8a: 2008 movs r0, #8 8067d8c: f04c f9c7 bl 80b411e HAL_NVIC_EnableIRQ(EXTI2_IRQn); 8067d90: 2008 movs r0, #8 8067d92: f04c f9e0 bl 80b4156 EXTILineStruct.Pin = RDYB_Pin; 8067d96: 2308 movs r3, #8 8067d98: 607b str r3, [r7, #4] EXTILineStruct.Mode = GPIO_MODE_IT_FALLING; 8067d9a: f44f 1304 mov.w r3, #2162688 ; 0x210000 8067d9e: 60bb str r3, [r7, #8] EXTILineStruct.Pull = GPIO_PULLUP; 8067da0: 2301 movs r3, #1 8067da2: 60fb str r3, [r7, #12] HAL_GPIO_Init(RDYB_GPIO_Port, &EXTILineStruct); 8067da4: 1d3b adds r3, r7, #4 8067da6: 4619 mov r1, r3 8067da8: 4809 ldr r0, [pc, #36] ; (8067dd0 ) 8067daa: f04d fc4f bl 80b564c HAL_NVIC_SetPriority(EXTI3_IRQn, 1, 0); 8067dae: 2200 movs r2, #0 8067db0: 2101 movs r1, #1 8067db2: 2009 movs r0, #9 8067db4: f04c f9b3 bl 80b411e HAL_NVIC_EnableIRQ(EXTI3_IRQn); 8067db8: 2009 movs r0, #9 8067dba: f04c f9cc bl 80b4156 } 8067dbe: bf00 nop 8067dc0: 3718 adds r7, #24 8067dc2: 46bd mov sp, r7 8067dc4: bd80 pop {r7, pc} 8067dc6: bf00 nop 8067dc8: 40023800 .word 0x40023800 8067dcc: 40020800 .word 0x40020800 8067dd0: 40020400 .word 0x40020400 08067dd4 : void HAL_GPIO_EXTI_Callback(uint16_t GPIO_Pin) { 8067dd4: b580 push {r7, lr} 8067dd6: b082 sub sp, #8 8067dd8: af00 add r7, sp, #0 8067dda: 4603 mov r3, r0 8067ddc: 80fb strh r3, [r7, #6] if(GPIO_Pin == GPIO_PIN_2) 8067dde: 88fb ldrh r3, [r7, #6] 8067de0: 2b04 cmp r3, #4 8067de2: d115 bne.n 8067e10 { __HAL_GPIO_EXTI_CLEAR_FLAG(GPIO_PIN_2); 8067de4: 4b0f ldr r3, [pc, #60] ; (8067e24 ) 8067de6: 2204 movs r2, #4 8067de8: 615a str r2, [r3, #20] if((RefreshScreen == false) && (screen == true)) 8067dea: 4b0f ldr r3, [pc, #60] ; (8067e28 ) 8067dec: 781b ldrb r3, [r3, #0] 8067dee: b2db uxtb r3, r3 8067df0: f083 0301 eor.w r3, r3, #1 8067df4: b2db uxtb r3, r3 8067df6: 2b00 cmp r3, #0 8067df8: d00f beq.n 8067e1a 8067dfa: 4b0c ldr r3, [pc, #48] ; (8067e2c ) 8067dfc: 781b ldrb r3, [r3, #0] 8067dfe: b2db uxtb r3, r3 8067e00: 2b00 cmp r3, #0 8067e02: d00a beq.n 8067e1a { screen = false; 8067e04: 4b09 ldr r3, [pc, #36] ; (8067e2c ) 8067e06: 2200 movs r2, #0 8067e08: 701a strb r2, [r3, #0] Display(); 8067e0a: f000 fa7d bl 8068308 else { __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); MAX11270_IRQ(); } } 8067e0e: e004 b.n 8067e1a __HAL_GPIO_EXTI_CLEAR_FLAG(RDYB_Pin); 8067e10: 4b04 ldr r3, [pc, #16] ; (8067e24 ) 8067e12: 2208 movs r2, #8 8067e14: 615a str r2, [r3, #20] MAX11270_IRQ(); 8067e16: f7ed f9d5 bl 80551c4 } 8067e1a: bf00 nop 8067e1c: 3708 adds r7, #8 8067e1e: 46bd mov sp, r7 8067e20: bd80 pop {r7, pc} 8067e22: bf00 nop 8067e24: 40013c00 .word 0x40013c00 8067e28: 20021000 .word 0x20021000 8067e2c: 200200ca .word 0x200200ca 08067e30 : void RedrawScreen(void) { 8067e30: b480 push {r7} 8067e32: af00 add r7, sp, #0 __HAL_GPIO_EXTI_GENERATE_SWIT(GPIO_PIN_2); 8067e34: 4a05 ldr r2, [pc, #20] ; (8067e4c ) 8067e36: 4b05 ldr r3, [pc, #20] ; (8067e4c ) 8067e38: 691b ldr r3, [r3, #16] 8067e3a: f043 0304 orr.w r3, r3, #4 8067e3e: 6113 str r3, [r2, #16] } 8067e40: bf00 nop 8067e42: 46bd mov sp, r7 8067e44: f85d 7b04 ldr.w r7, [sp], #4 8067e48: 4770 bx lr 8067e4a: bf00 nop 8067e4c: 40013c00 .word 0x40013c00 08067e50 : void Logo(void) { 8067e50: b580 push {r7, lr} 8067e52: b082 sub sp, #8 8067e54: af00 add r7, sp, #0 uint32_t i; uint32_t color = 0xFF212829;//0xFF0A0F1F; 8067e56: 4b6b ldr r3, [pc, #428] ; (8068004 ) 8067e58: 603b str r3, [r7, #0] #define LOGO_IMAGE DrawImage(&bmLogo_basic_1_RGB, 0, 62) #else #define LOGO_IMAGE DrawImage(&bmLOGO_Pantone_1, 0, 80);//, 0, 88); //DrawImage(&bmLogoRGB_A, 0, 88); //DrawImage(&bmbb1, 79, 0); #define LOGO_IMAGE_1 DrawImage(&bmLOGO_Pantone_1, 0, 80);//DrawImage(&bmLogoRGB_my, 0, 88); //DrawImage(&bmLogoRGB_A, 0, 88); //DrawImage(&bmbb2, 79, 0); #endif BSP_LCD_DisplayOn(); 8067e5a: f7eb fb45 bl 80534e8 HAL_NVIC_DisableIRQ(EXTI2_IRQn); 8067e5e: 2008 movs r0, #8 8067e60: f04c f987 bl 80b4172 //********************************************************* BSP_LCD_SetFont(&Font12); 8067e64: 4868 ldr r0, [pc, #416] ; (8068008 ) 8067e66: f7eb fcf9 bl 805385c for(i = 0; i < 3; i++) 8067e6a: 2300 movs r3, #0 8067e6c: 607b str r3, [r7, #4] 8067e6e: e032 b.n 8067ed6 { BSP_LCD_Clear(color); 8067e70: 6838 ldr r0, [r7, #0] 8067e72: f7eb fd11 bl 8053898 LOGO_IMAGE; 8067e76: 2250 movs r2, #80 ; 0x50 8067e78: 2100 movs r1, #0 8067e7a: 4864 ldr r0, [pc, #400] ; (806800c ) 8067e7c: f7ec fba6 bl 80545cc RefreshScreen = true; 8067e80: 4b63 ldr r3, [pc, #396] ; (8068010 ) 8067e82: 2201 movs r2, #1 8067e84: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8067e86: 2100 movs r1, #0 8067e88: 4862 ldr r0, [pc, #392] ; (8068014 ) 8067e8a: f04e f8a5 bl 80b5fd8 while(RefreshScreen); 8067e8e: bf00 nop 8067e90: 4b5f ldr r3, [pc, #380] ; (8068010 ) 8067e92: 781b ldrb r3, [r3, #0] 8067e94: b2db uxtb r3, r3 8067e96: 2b00 cmp r3, #0 8067e98: d1fa bne.n 8067e90 HAL_Delay(50); 8067e9a: 2032 movs r0, #50 ; 0x32 8067e9c: f04b f9f4 bl 80b3288 BSP_LCD_Clear(color); 8067ea0: 6838 ldr r0, [r7, #0] 8067ea2: f7eb fcf9 bl 8053898 LOGO_IMAGE_1; 8067ea6: 2250 movs r2, #80 ; 0x50 8067ea8: 2100 movs r1, #0 8067eaa: 4858 ldr r0, [pc, #352] ; (806800c ) 8067eac: f7ec fb8e bl 80545cc RefreshScreen = true; 8067eb0: 4b57 ldr r3, [pc, #348] ; (8068010 ) 8067eb2: 2201 movs r2, #1 8067eb4: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8067eb6: 2100 movs r1, #0 8067eb8: 4856 ldr r0, [pc, #344] ; (8068014 ) 8067eba: f04e f88d bl 80b5fd8 while(RefreshScreen); 8067ebe: bf00 nop 8067ec0: 4b53 ldr r3, [pc, #332] ; (8068010 ) 8067ec2: 781b ldrb r3, [r3, #0] 8067ec4: b2db uxtb r3, r3 8067ec6: 2b00 cmp r3, #0 8067ec8: d1fa bne.n 8067ec0 HAL_Delay(50); 8067eca: 2032 movs r0, #50 ; 0x32 8067ecc: f04b f9dc bl 80b3288 for(i = 0; i < 3; i++) 8067ed0: 687b ldr r3, [r7, #4] 8067ed2: 3301 adds r3, #1 8067ed4: 607b str r3, [r7, #4] 8067ed6: 687b ldr r3, [r7, #4] 8067ed8: 2b02 cmp r3, #2 8067eda: d9c9 bls.n 8067e70 } HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT_ON 8067edc: 2200 movs r2, #0 8067ede: f44f 7180 mov.w r1, #256 ; 0x100 8067ee2: 484d ldr r0, [pc, #308] ; (8068018 ) 8067ee4: f04d fe80 bl 80b5be8 //********************************************************* BSP_LCD_Clear(color); 8067ee8: 6838 ldr r0, [r7, #0] 8067eea: f7eb fcd5 bl 8053898 DrawImage(&bmLOGO_Pantone_1, 0, 80); 8067eee: 2250 movs r2, #80 ; 0x50 8067ef0: 2100 movs r1, #0 8067ef2: 4846 ldr r0, [pc, #280] ; (806800c ) 8067ef4: f7ec fb6a bl 80545cc RefreshScreen = true; 8067ef8: 4b45 ldr r3, [pc, #276] ; (8068010 ) 8067efa: 2201 movs r2, #1 8067efc: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8067efe: 2100 movs r1, #0 8067f00: 4844 ldr r0, [pc, #272] ; (8068014 ) 8067f02: f04e f869 bl 80b5fd8 while(RefreshScreen); 8067f06: bf00 nop 8067f08: 4b41 ldr r3, [pc, #260] ; (8068010 ) 8067f0a: 781b ldrb r3, [r3, #0] 8067f0c: b2db uxtb r3, r3 8067f0e: 2b00 cmp r3, #0 8067f10: d1fa bne.n 8067f08 HAL_Delay(50); 8067f12: 2032 movs r0, #50 ; 0x32 8067f14: f04b f9b8 bl 80b3288 BSP_LCD_Clear(color); 8067f18: 6838 ldr r0, [r7, #0] 8067f1a: f7eb fcbd bl 8053898 DrawImage(&bmLOGO_Pantone_1, 0, 80); 8067f1e: 2250 movs r2, #80 ; 0x50 8067f20: 2100 movs r1, #0 8067f22: 483a ldr r0, [pc, #232] ; (806800c ) 8067f24: f7ec fb52 bl 80545cc RefreshScreen = true; 8067f28: 4b39 ldr r3, [pc, #228] ; (8068010 ) 8067f2a: 2201 movs r2, #1 8067f2c: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8067f2e: 2100 movs r1, #0 8067f30: 4838 ldr r0, [pc, #224] ; (8068014 ) 8067f32: f04e f851 bl 80b5fd8 while(RefreshScreen); 8067f36: bf00 nop 8067f38: 4b35 ldr r3, [pc, #212] ; (8068010 ) 8067f3a: 781b ldrb r3, [r3, #0] 8067f3c: b2db uxtb r3, r3 8067f3e: 2b00 cmp r3, #0 8067f40: d1fa bne.n 8067f38 HAL_Delay(50); 8067f42: 2032 movs r0, #50 ; 0x32 8067f44: f04b f9a0 bl 80b3288 LCD_SetColors(0xFFFFFFFF, color); 8067f48: 6839 ldr r1, [r7, #0] 8067f4a: f04f 30ff mov.w r0, #4294967295 8067f4e: f7eb fc49 bl 80537e4 BSP_LCD_SetFont(&Font12); 8067f52: 482d ldr r0, [pc, #180] ; (8068008 ) 8067f54: f7eb fc82 bl 805385c #ifdef USE_BLUETOOTH if(pardata.LANG == RUS) BSP_LCD_DisplayStringAt(165, 209, "Âèáðîìåòð D141 BLE", CENTER_MODE); else BSP_LCD_DisplayStringAt(165, 209, "Vibrometer D141 BLE", CENTER_MODE); #else if(pardata.LANG == RUS) 8067f58: 4b30 ldr r3, [pc, #192] ; (806801c ) 8067f5a: 7b1b ldrb r3, [r3, #12] 8067f5c: b2db uxtb r3, r3 8067f5e: 2b00 cmp r3, #0 8067f60: d106 bne.n 8067f70 BSP_LCD_DisplayStringAt(165, 209, "Âèáðîìåòð D141", CENTER_MODE); 8067f62: 2301 movs r3, #1 8067f64: 4a2e ldr r2, [pc, #184] ; (8068020 ) 8067f66: 21d1 movs r1, #209 ; 0xd1 8067f68: 20a5 movs r0, #165 ; 0xa5 8067f6a: f7eb fd01 bl 8053970 8067f6e: e005 b.n 8067f7c else BSP_LCD_DisplayStringAt(165, 209, "Vibrometer D141", CENTER_MODE); 8067f70: 2301 movs r3, #1 8067f72: 4a2c ldr r2, [pc, #176] ; (8068024 ) 8067f74: 21d1 movs r1, #209 ; 0xd1 8067f76: 20a5 movs r0, #165 ; 0xa5 8067f78: f7eb fcfa bl 8053970 BSP_LCD_DisplayStringAt(165, 209, "Âèáðîìåòð D142", CENTER_MODE); else BSP_LCD_DisplayStringAt(165, 209, "Vibrometer D142", CENTER_MODE); #endif #endif LCD_SetColors(0xFFFFFFFF, color); 8067f7c: 6839 ldr r1, [r7, #0] 8067f7e: f04f 30ff mov.w r0, #4294967295 8067f82: f7eb fc2f bl 80537e4 BSP_LCD_SetFont(&Font12); 8067f86: 4820 ldr r0, [pc, #128] ; (8068008 ) 8067f88: f7eb fc68 bl 805385c BSP_LCD_DisplayStringAt(165, 221, (char *) _VERSION, CENTER_MODE); 8067f8c: 2301 movs r3, #1 8067f8e: 4a26 ldr r2, [pc, #152] ; (8068028 ) 8067f90: 21dd movs r1, #221 ; 0xdd 8067f92: 20a5 movs r0, #165 ; 0xa5 8067f94: f7eb fcec bl 8053970 BSP_LCD_DisplayStringAt(165, 4, (char *) _SERIAL_DRAW, CENTER_MODE); 8067f98: 2301 movs r3, #1 8067f9a: 4a24 ldr r2, [pc, #144] ; (806802c ) 8067f9c: 2104 movs r1, #4 8067f9e: 20a5 movs r0, #165 ; 0xa5 8067fa0: f7eb fce6 bl 8053970 if(CORRECTION == false) { 8067fa4: 4b22 ldr r3, [pc, #136] ; (8068030 ) 8067fa6: 781b ldrb r3, [r3, #0] 8067fa8: b2db uxtb r3, r3 8067faa: f083 0301 eor.w r3, r3, #1 8067fae: b2db uxtb r3, r3 8067fb0: 2b00 cmp r3, #0 8067fb2: d005 beq.n 8067fc0 BSP_LCD_DisplayStringAt(0, 4, ".", LEFT_MODE); 8067fb4: 2303 movs r3, #3 8067fb6: 4a1f ldr r2, [pc, #124] ; (8068034 ) 8067fb8: 2104 movs r1, #4 8067fba: 2000 movs r0, #0 8067fbc: f7eb fcd8 bl 8053970 } RefreshScreen = true; 8067fc0: 4b13 ldr r3, [pc, #76] ; (8068010 ) 8067fc2: 2201 movs r2, #1 8067fc4: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 8067fc6: 2100 movs r1, #0 8067fc8: 4812 ldr r0, [pc, #72] ; (8068014 ) 8067fca: f04e f805 bl 80b5fd8 while(RefreshScreen); 8067fce: bf00 nop 8067fd0: 4b0f ldr r3, [pc, #60] ; (8068010 ) 8067fd2: 781b ldrb r3, [r3, #0] 8067fd4: b2db uxtb r3, r3 8067fd6: 2b00 cmp r3, #0 8067fd8: d1fa bne.n 8067fd0 HAL_Delay(100); 8067fda: 2064 movs r0, #100 ; 0x64 8067fdc: f04b f954 bl 80b3288 //********************************************************* HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT_ON 8067fe0: 2200 movs r2, #0 8067fe2: f44f 7180 mov.w r1, #256 ; 0x100 8067fe6: 480c ldr r0, [pc, #48] ; (8068018 ) 8067fe8: f04d fdfe bl 80b5be8 HAL_Delay(1000); 8067fec: f44f 707a mov.w r0, #1000 ; 0x3e8 8067ff0: f04b f94a bl 80b3288 HAL_NVIC_EnableIRQ(EXTI2_IRQn); 8067ff4: 2008 movs r0, #8 8067ff6: f04c f8ae bl 80b4156 #endif } 8067ffa: bf00 nop 8067ffc: 3708 adds r7, #8 8067ffe: 46bd mov sp, r7 8068000: bd80 pop {r7, pc} 8068002: bf00 nop 8068004: ff212829 .word 0xff212829 8068008: 20020038 .word 0x20020038 806800c: 0813a974 .word 0x0813a974 8068010: 20021000 .word 0x20021000 8068014: 20025d28 .word 0x20025d28 8068018: 40020000 .word 0x40020000 806801c: 20023e60 .word 0x20023e60 8068020: 080cf800 .word 0x080cf800 8068024: 080cf810 .word 0x080cf810 8068028: 080ee918 .word 0x080ee918 806802c: 20020f1c .word 0x20020f1c 8068030: 20020f10 .word 0x20020f10 8068034: 080cf820 .word 0x080cf820 08068038 : void DrawTime(void) { 8068038: b580 push {r7, lr} 806803a: b08a sub sp, #40 ; 0x28 806803c: af00 add r7, sp, #0 char str[12]; __IO uint32_t dd, mm, yy, hr, mn, sec; HAL_RTC_GetTime(&hrtc, &RTC_TimeStruct, RTC_FORMAT_BIN); 806803e: 2200 movs r2, #0 8068040: 492d ldr r1, [pc, #180] ; (80680f8 ) 8068042: 482e ldr r0, [pc, #184] ; (80680fc ) 8068044: f050 fdec bl 80b8c20 HAL_RTC_GetDate(&hrtc, &RTC_DateStruct, RTC_FORMAT_BIN); 8068048: 2200 movs r2, #0 806804a: 492d ldr r1, [pc, #180] ; (8068100 ) 806804c: 482b ldr r0, [pc, #172] ; (80680fc ) 806804e: f050 feed bl 80b8e2c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068052: 492c ldr r1, [pc, #176] ; (8068104 ) 8068054: f04f 30ff mov.w r0, #4294967295 8068058: f7eb fbc4 bl 80537e4 BSP_LCD_SetFont(&Font12); 806805c: 482a ldr r0, [pc, #168] ; (8068108 ) 806805e: f7eb fbfd bl 805385c hr = RTC_TimeStruct.Hours; 8068062: 4b25 ldr r3, [pc, #148] ; (80680f8 ) 8068064: 781b ldrb r3, [r3, #0] 8068066: 60fb str r3, [r7, #12] mn = RTC_TimeStruct.Minutes; 8068068: 4b23 ldr r3, [pc, #140] ; (80680f8 ) 806806a: 785b ldrb r3, [r3, #1] 806806c: 60bb str r3, [r7, #8] memset(str, 0, sizeof(str)); 806806e: f107 031c add.w r3, r7, #28 8068072: 220c movs r2, #12 8068074: 2100 movs r1, #0 8068076: 4618 mov r0, r3 8068078: f065 f802 bl 80cd080 str[0] = (hr / 10) + 48; 806807c: 68fb ldr r3, [r7, #12] 806807e: 4a23 ldr r2, [pc, #140] ; (806810c ) 8068080: fba2 2303 umull r2, r3, r2, r3 8068084: 08db lsrs r3, r3, #3 8068086: b2db uxtb r3, r3 8068088: 3330 adds r3, #48 ; 0x30 806808a: b2db uxtb r3, r3 806808c: 773b strb r3, [r7, #28] str[1] = (hr % 10) + 48; 806808e: 68f9 ldr r1, [r7, #12] 8068090: 4b1e ldr r3, [pc, #120] ; (806810c ) 8068092: fba3 2301 umull r2, r3, r3, r1 8068096: 08da lsrs r2, r3, #3 8068098: 4613 mov r3, r2 806809a: 009b lsls r3, r3, #2 806809c: 4413 add r3, r2 806809e: 005b lsls r3, r3, #1 80680a0: 1aca subs r2, r1, r3 80680a2: b2d3 uxtb r3, r2 80680a4: 3330 adds r3, #48 ; 0x30 80680a6: b2db uxtb r3, r3 80680a8: 777b strb r3, [r7, #29] str[2] = ':'; 80680aa: 233a movs r3, #58 ; 0x3a 80680ac: 77bb strb r3, [r7, #30] str[3] = (mn / 10) + 48; 80680ae: 68bb ldr r3, [r7, #8] 80680b0: 4a16 ldr r2, [pc, #88] ; (806810c ) 80680b2: fba2 2303 umull r2, r3, r2, r3 80680b6: 08db lsrs r3, r3, #3 80680b8: b2db uxtb r3, r3 80680ba: 3330 adds r3, #48 ; 0x30 80680bc: b2db uxtb r3, r3 80680be: 77fb strb r3, [r7, #31] str[4] = (mn % 10) + 48; 80680c0: 68b9 ldr r1, [r7, #8] 80680c2: 4b12 ldr r3, [pc, #72] ; (806810c ) 80680c4: fba3 2301 umull r2, r3, r3, r1 80680c8: 08da lsrs r2, r3, #3 80680ca: 4613 mov r3, r2 80680cc: 009b lsls r3, r3, #2 80680ce: 4413 add r3, r2 80680d0: 005b lsls r3, r3, #1 80680d2: 1aca subs r2, r1, r3 80680d4: b2d3 uxtb r3, r2 80680d6: 3330 adds r3, #48 ; 0x30 80680d8: b2db uxtb r3, r3 80680da: f887 3020 strb.w r3, [r7, #32] BSP_LCD_DisplayStringAt(297, 18+4, str, CENTER_MODE); 80680de: f107 021c add.w r2, r7, #28 80680e2: 2301 movs r3, #1 80680e4: 2116 movs r1, #22 80680e6: f240 1029 movw r0, #297 ; 0x129 80680ea: f7eb fc41 bl 8053970 str[5] = ':'; str[6] = (sec / 10) + 48; str[7] = (sec % 10) + 48; BSP_LCD_DisplayStringAt(165, 18, str, CENTER_MODE);*/ } 80680ee: bf00 nop 80680f0: 3728 adds r7, #40 ; 0x28 80680f2: 46bd mov sp, r7 80680f4: bd80 pop {r7, pc} 80680f6: bf00 nop 80680f8: 20025c68 .word 0x20025c68 80680fc: 20068598 .word 0x20068598 8068100: 20025cec .word 0x20025cec 8068104: ff0a0f1f .word 0xff0a0f1f 8068108: 20020038 .word 0x20020038 806810c: cccccccd .word 0xcccccccd 08068110 : } } void DrawBat(void) { 8068110: b580 push {r7, lr} 8068112: b08e sub sp, #56 ; 0x38 8068114: af00 add r7, sp, #0 uint16_t x, y; static uint8_t ChrgState = 0; GUI_BITMAP img100, img75, img50, img25; if(menu == POWER_OFF) 8068116: 4b6d ldr r3, [pc, #436] ; (80682cc ) 8068118: 781b ldrb r3, [r3, #0] 806811a: b2db uxtb r3, r3 806811c: 2b43 cmp r3, #67 ; 0x43 806811e: d11b bne.n 8068158 { x = 136; 8068120: 2388 movs r3, #136 ; 0x88 8068122: 86fb strh r3, [r7, #54] ; 0x36 y = 61; 8068124: 233d movs r3, #61 ; 0x3d 8068126: 86bb strh r3, [r7, #52] ; 0x34 img100 = bmB100; 8068128: 4a69 ldr r2, [pc, #420] ; (80682d0 ) 806812a: f107 0328 add.w r3, r7, #40 ; 0x28 806812e: ca07 ldmia r2, {r0, r1, r2} 8068130: e883 0007 stmia.w r3, {r0, r1, r2} img75 = bmB75; 8068134: 4a67 ldr r2, [pc, #412] ; (80682d4 ) 8068136: f107 031c add.w r3, r7, #28 806813a: ca07 ldmia r2, {r0, r1, r2} 806813c: e883 0007 stmia.w r3, {r0, r1, r2} img50 = bmB50; 8068140: 4a65 ldr r2, [pc, #404] ; (80682d8 ) 8068142: f107 0310 add.w r3, r7, #16 8068146: ca07 ldmia r2, {r0, r1, r2} 8068148: e883 0007 stmia.w r3, {r0, r1, r2} img25 = bmB25; 806814c: 4a63 ldr r2, [pc, #396] ; (80682dc ) 806814e: 1d3b adds r3, r7, #4 8068150: ca07 ldmia r2, {r0, r1, r2} 8068152: e883 0007 stmia.w r3, {r0, r1, r2} 8068156: e01a b.n 806818e } else { x = 255;//235; 8068158: 23ff movs r3, #255 ; 0xff 806815a: 86fb strh r3, [r7, #54] ; 0x36 y = 0+4; 806815c: 2304 movs r3, #4 806815e: 86bb strh r3, [r7, #52] ; 0x34 img100 = bmBat100; 8068160: 4a5f ldr r2, [pc, #380] ; (80682e0 ) 8068162: f107 0328 add.w r3, r7, #40 ; 0x28 8068166: ca07 ldmia r2, {r0, r1, r2} 8068168: e883 0007 stmia.w r3, {r0, r1, r2} img75 = bmBat75; 806816c: 4a5d ldr r2, [pc, #372] ; (80682e4 ) 806816e: f107 031c add.w r3, r7, #28 8068172: ca07 ldmia r2, {r0, r1, r2} 8068174: e883 0007 stmia.w r3, {r0, r1, r2} img50 = bmBat50; 8068178: 4a5b ldr r2, [pc, #364] ; (80682e8 ) 806817a: f107 0310 add.w r3, r7, #16 806817e: ca07 ldmia r2, {r0, r1, r2} 8068180: e883 0007 stmia.w r3, {r0, r1, r2} img25 = bmBat25; 8068184: 4a59 ldr r2, [pc, #356] ; (80682ec ) 8068186: 1d3b adds r3, r7, #4 8068188: ca07 ldmia r2, {r0, r1, r2} 806818a: e883 0007 stmia.w r3, {r0, r1, r2} BSP_LCD_SetFont(&Font12); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); BSP_LCD_DisplayStringAt(100, 16, (char *) FloatToASCII(Vbat, -2), LEFT_MODE); }*/ if(ChargerIsConnect == false) 806818e: 4b58 ldr r3, [pc, #352] ; (80682f0 ) 8068190: 781b ldrb r3, [r3, #0] 8068192: b2db uxtb r3, r3 8068194: f083 0301 eor.w r3, r3, #1 8068198: b2db uxtb r3, r3 806819a: 2b00 cmp r3, #0 806819c: d041 beq.n 8068222 { if(!TIMEOUT_BAT) 806819e: 4b55 ldr r3, [pc, #340] ; (80682f4 ) 80681a0: 681b ldr r3, [r3, #0] 80681a2: 2b00 cmp r3, #0 80681a4: f040 808e bne.w 80682c4 { if((StateBattery == 0xf) || (StateBattery == 0x1f)) 80681a8: 4b53 ldr r3, [pc, #332] ; (80682f8 ) 80681aa: 781b ldrb r3, [r3, #0] 80681ac: b2db uxtb r3, r3 80681ae: 2b0f cmp r3, #15 80681b0: d004 beq.n 80681bc 80681b2: 4b51 ldr r3, [pc, #324] ; (80682f8 ) 80681b4: 781b ldrb r3, [r3, #0] 80681b6: b2db uxtb r3, r3 80681b8: 2b1f cmp r3, #31 80681ba: d107 bne.n 80681cc DrawImage(&img100, x, y); 80681bc: 8eba ldrh r2, [r7, #52] ; 0x34 80681be: 8ef9 ldrh r1, [r7, #54] ; 0x36 80681c0: f107 0328 add.w r3, r7, #40 ; 0x28 80681c4: 4618 mov r0, r3 80681c6: f7ec fa01 bl 80545cc else { DrawImage(&img100, x, y); // BATTERY FULLY CHARGED } } } 80681ca: e07b b.n 80682c4 if(StateBattery == 0x7) 80681cc: 4b4a ldr r3, [pc, #296] ; (80682f8 ) 80681ce: 781b ldrb r3, [r3, #0] 80681d0: b2db uxtb r3, r3 80681d2: 2b07 cmp r3, #7 80681d4: d107 bne.n 80681e6 DrawImage(&img75, x, y); 80681d6: 8eba ldrh r2, [r7, #52] ; 0x34 80681d8: 8ef9 ldrh r1, [r7, #54] ; 0x36 80681da: f107 031c add.w r3, r7, #28 80681de: 4618 mov r0, r3 80681e0: f7ec f9f4 bl 80545cc } 80681e4: e06e b.n 80682c4 if(StateBattery == 0x3) 80681e6: 4b44 ldr r3, [pc, #272] ; (80682f8 ) 80681e8: 781b ldrb r3, [r3, #0] 80681ea: b2db uxtb r3, r3 80681ec: 2b03 cmp r3, #3 80681ee: d107 bne.n 8068200 DrawImage(&img50, x, y); 80681f0: 8eba ldrh r2, [r7, #52] ; 0x34 80681f2: 8ef9 ldrh r1, [r7, #54] ; 0x36 80681f4: f107 0310 add.w r3, r7, #16 80681f8: 4618 mov r0, r3 80681fa: f7ec f9e7 bl 80545cc } 80681fe: e061 b.n 80682c4 if((StateBattery == 0x1) || (StateBattery == 0)) 8068200: 4b3d ldr r3, [pc, #244] ; (80682f8 ) 8068202: 781b ldrb r3, [r3, #0] 8068204: b2db uxtb r3, r3 8068206: 2b01 cmp r3, #1 8068208: d004 beq.n 8068214 806820a: 4b3b ldr r3, [pc, #236] ; (80682f8 ) 806820c: 781b ldrb r3, [r3, #0] 806820e: b2db uxtb r3, r3 8068210: 2b00 cmp r3, #0 8068212: d157 bne.n 80682c4 DrawImage(&img25, x, y); 8068214: 8eba ldrh r2, [r7, #52] ; 0x34 8068216: 8ef9 ldrh r1, [r7, #54] ; 0x36 8068218: 1d3b adds r3, r7, #4 806821a: 4618 mov r0, r3 806821c: f7ec f9d6 bl 80545cc } 8068220: e050 b.n 80682c4 if(StateBattery != 0x1f) 8068222: 4b35 ldr r3, [pc, #212] ; (80682f8 ) 8068224: 781b ldrb r3, [r3, #0] 8068226: b2db uxtb r3, r3 8068228: 2b1f cmp r3, #31 806822a: d044 beq.n 80682b6 if(cntBat) 806822c: 4b33 ldr r3, [pc, #204] ; (80682fc ) 806822e: 781b ldrb r3, [r3, #0] 8068230: b2db uxtb r3, r3 8068232: 2b00 cmp r3, #0 8068234: d010 beq.n 8068258 cntBat = 0; 8068236: 4b31 ldr r3, [pc, #196] ; (80682fc ) 8068238: 2200 movs r2, #0 806823a: 701a strb r2, [r3, #0] if(ChrgState < 3) 806823c: 4b30 ldr r3, [pc, #192] ; (8068300 ) 806823e: 781b ldrb r3, [r3, #0] 8068240: 2b02 cmp r3, #2 8068242: d806 bhi.n 8068252 ChrgState++; 8068244: 4b2e ldr r3, [pc, #184] ; (8068300 ) 8068246: 781b ldrb r3, [r3, #0] 8068248: 3301 adds r3, #1 806824a: b2da uxtb r2, r3 806824c: 4b2c ldr r3, [pc, #176] ; (8068300 ) 806824e: 701a strb r2, [r3, #0] 8068250: e002 b.n 8068258 else ChrgState = 0; 8068252: 4b2b ldr r3, [pc, #172] ; (8068300 ) 8068254: 2200 movs r2, #0 8068256: 701a strb r2, [r3, #0] if(ChrgState == 0) 8068258: 4b29 ldr r3, [pc, #164] ; (8068300 ) 806825a: 781b ldrb r3, [r3, #0] 806825c: 2b00 cmp r3, #0 806825e: d106 bne.n 806826e DrawImage(&img25, x, y); 8068260: 8eba ldrh r2, [r7, #52] ; 0x34 8068262: 8ef9 ldrh r1, [r7, #54] ; 0x36 8068264: 1d3b adds r3, r7, #4 8068266: 4618 mov r0, r3 8068268: f7ec f9b0 bl 80545cc } 806826c: e02a b.n 80682c4 if(ChrgState == 1) 806826e: 4b24 ldr r3, [pc, #144] ; (8068300 ) 8068270: 781b ldrb r3, [r3, #0] 8068272: 2b01 cmp r3, #1 8068274: d107 bne.n 8068286 DrawImage(&img50, x, y); 8068276: 8eba ldrh r2, [r7, #52] ; 0x34 8068278: 8ef9 ldrh r1, [r7, #54] ; 0x36 806827a: f107 0310 add.w r3, r7, #16 806827e: 4618 mov r0, r3 8068280: f7ec f9a4 bl 80545cc } 8068284: e01e b.n 80682c4 if(ChrgState == 2) 8068286: 4b1e ldr r3, [pc, #120] ; (8068300 ) 8068288: 781b ldrb r3, [r3, #0] 806828a: 2b02 cmp r3, #2 806828c: d107 bne.n 806829e DrawImage(&img75, x, y); 806828e: 8eba ldrh r2, [r7, #52] ; 0x34 8068290: 8ef9 ldrh r1, [r7, #54] ; 0x36 8068292: f107 031c add.w r3, r7, #28 8068296: 4618 mov r0, r3 8068298: f7ec f998 bl 80545cc } 806829c: e012 b.n 80682c4 if(ChrgState == 3) 806829e: 4b18 ldr r3, [pc, #96] ; (8068300 ) 80682a0: 781b ldrb r3, [r3, #0] 80682a2: 2b03 cmp r3, #3 80682a4: d10e bne.n 80682c4 DrawImage(&img100, x, y); 80682a6: 8eba ldrh r2, [r7, #52] ; 0x34 80682a8: 8ef9 ldrh r1, [r7, #54] ; 0x36 80682aa: f107 0328 add.w r3, r7, #40 ; 0x28 80682ae: 4618 mov r0, r3 80682b0: f7ec f98c bl 80545cc } 80682b4: e006 b.n 80682c4 DrawImage(&img100, x, y); // BATTERY FULLY CHARGED 80682b6: 8eba ldrh r2, [r7, #52] ; 0x34 80682b8: 8ef9 ldrh r1, [r7, #54] ; 0x36 80682ba: f107 0328 add.w r3, r7, #40 ; 0x28 80682be: 4618 mov r0, r3 80682c0: f7ec f984 bl 80545cc } 80682c4: bf00 nop 80682c6: 3738 adds r7, #56 ; 0x38 80682c8: 46bd mov sp, r7 80682ca: bd80 pop {r7, pc} 80682cc: 20020f78 .word 0x20020f78 80682d0: 08107208 .word 0x08107208 80682d4: 08111138 .word 0x08111138 80682d8: 0810dc28 .word 0x0810dc28 80682dc: 0810a718 .word 0x0810a718 80682e0: 08111eb8 .word 0x08111eb8 80682e4: 08112aac .word 0x08112aac 80682e8: 081126b0 .word 0x081126b0 80682ec: 081122b4 .word 0x081122b4 80682f0: 20021b22 .word 0x20021b22 80682f4: 200209c8 .word 0x200209c8 80682f8: 20020008 .word 0x20020008 80682fc: 2002168b .word 0x2002168b 8068300: 20021659 .word 0x20021659 8068304: 00000000 .word 0x00000000 08068308 : void Display(void) { 8068308: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 806830c: f2ad 4d74 subw sp, sp, #1140 ; 0x474 8068310: af00 add r7, sp, #0 volatile uint32_t i, j, k, l, r; volatile FSIZE_t Size; //volatile int32_t q; uint16_t xz; uint32_t nstr = 0, laststr = 0;; 8068312: 2300 movs r3, #0 8068314: f8c7 3444 str.w r3, [r7, #1092] ; 0x444 8068318: 2300 movs r3, #0 806831a: f8c7 3440 str.w r3, [r7, #1088] ; 0x440 char *p8; TimeDate_TypeDef FatTime; float32_t f, fs; uint32_t cl1, cl2; static uint32_t blink = 0; bool bl = false; 806831e: 2300 movs r3, #0 8068320: f887 3453 strb.w r3, [r7, #1107] ; 0x453 static uint32_t blk = 0; static uint8_t tt = 0; static uint32_t tme = 0; //todo bool bll = false; 8068324: 2300 movs r3, #0 8068326: f887 343f strb.w r3, [r7, #1087] ; 0x43f float32_t fmax, fmin; uint32_t old_DateTime; uint32_t lx, ly; uint32_t Year, Month, Day, Hour, Min, Sec; if((READY != DATA_FREE) && (menu == MAIN_UDAR)) 806832a: 4b8f ldr r3, [pc, #572] ; (8068568 ) 806832c: 781b ldrb r3, [r3, #0] 806832e: b2db uxtb r3, r3 8068330: 2b00 cmp r3, #0 8068332: d005 beq.n 8068340 8068334: 4b8d ldr r3, [pc, #564] ; (806856c ) 8068336: 781b ldrb r3, [r3, #0] 8068338: b2db uxtb r3, r3 806833a: 2b25 cmp r3, #37 ; 0x25 806833c: f02f 818a beq.w 8097654 return; blk++; 8068340: 4b8b ldr r3, [pc, #556] ; (8068570 ) 8068342: 681b ldr r3, [r3, #0] 8068344: 3301 adds r3, #1 8068346: 4a8a ldr r2, [pc, #552] ; (8068570 ) 8068348: 6013 str r3, [r2, #0] if(blk > 3) 806834a: 4b89 ldr r3, [pc, #548] ; (8068570 ) 806834c: 681b ldr r3, [r3, #0] 806834e: 2b03 cmp r3, #3 8068350: d905 bls.n 806835e { blk = 0; 8068352: 4b87 ldr r3, [pc, #540] ; (8068570 ) 8068354: 2200 movs r2, #0 8068356: 601a str r2, [r3, #0] bll = true; 8068358: 2301 movs r3, #1 806835a: f887 343f strb.w r3, [r7, #1087] ; 0x43f } blink++; 806835e: 4b85 ldr r3, [pc, #532] ; (8068574 ) 8068360: 681b ldr r3, [r3, #0] 8068362: 3301 adds r3, #1 8068364: 4a83 ldr r2, [pc, #524] ; (8068574 ) 8068366: 6013 str r3, [r2, #0] if(blink > 8) 8068368: 4b82 ldr r3, [pc, #520] ; (8068574 ) 806836a: 681b ldr r3, [r3, #0] 806836c: 2b08 cmp r3, #8 806836e: d905 bls.n 806837c { blink = 0; 8068370: 4b80 ldr r3, [pc, #512] ; (8068574 ) 8068372: 2200 movs r2, #0 8068374: 601a str r2, [r3, #0] bl = true; 8068376: 2301 movs r3, #1 8068378: f887 3453 strb.w r3, [r7, #1107] ; 0x453 } Redrawing = true; 806837c: 4b7e ldr r3, [pc, #504] ; (8068578 ) 806837e: 2201 movs r2, #1 8068380: 701a strb r2, [r3, #0] BSP_LCD_Clear(LCD_COLOR_CLEAR); 8068382: 487e ldr r0, [pc, #504] ; (806857c ) 8068384: f7eb fa88 bl 8053898 //*************************************************** ÎÒÐÈÑÎÂÊÀ ÑÒÐÎÊÈ ÑÒÀÒÓÑÀ (ÂÅÐÕ ÄÈÑÏËÅß Ñ ×ÀÑÀÌÈ È ÁÀÒÀÐÅÅÉ) **************************************************************// if(Initialized) 8068388: 4b7d ldr r3, [pc, #500] ; (8068580 ) 806838a: 781b ldrb r3, [r3, #0] 806838c: b2db uxtb r3, r3 806838e: 2b00 cmp r3, #0 8068390: d005 beq.n 806839e { DrawImage(&bmBLE, 308-16, 4); //todo 8068392: 2204 movs r2, #4 8068394: f44f 7192 mov.w r1, #292 ; 0x124 8068398: 487a ldr r0, [pc, #488] ; (8068584 ) 806839a: f7ec f917 bl 80545cc } DrawTime(); 806839e: f7ff fe4b bl 8068038 DrawBat(); 80683a2: f7ff feb5 bl 8068110 //DrawTemperature(); if(CardState & MSD_PRESENT) 80683a6: 4b78 ldr r3, [pc, #480] ; (8068588 ) 80683a8: 781b ldrb r3, [r3, #0] 80683aa: b2db uxtb r3, r3 80683ac: f003 0301 and.w r3, r3, #1 80683b0: 2b00 cmp r3, #0 80683b2: d014 beq.n 80683de { xz = 45; 80683b4: 232d movs r3, #45 ; 0x2d 80683b6: f8a7 346e strh.w r3, [r7, #1134] ; 0x46e DrawImage(&bmSD_Card, 5, 3+4); 80683ba: 2207 movs r2, #7 80683bc: 2105 movs r1, #5 80683be: 4873 ldr r0, [pc, #460] ; (806858c ) 80683c0: f7ec f904 bl 80545cc if((CardState == MSD_READY) && (menu != LINK_PC)) { 80683c4: 4b70 ldr r3, [pc, #448] ; (8068588 ) 80683c6: 781b ldrb r3, [r3, #0] 80683c8: b2db uxtb r3, r3 80683ca: 2b03 cmp r3, #3 80683cc: d10a bne.n 80683e4 80683ce: 4b67 ldr r3, [pc, #412] ; (806856c ) 80683d0: 781b ldrb r3, [r3, #0] 80683d2: b2db uxtb r3, r3 80683d4: 2b42 cmp r3, #66 ; 0x42 80683d6: d005 beq.n 80683e4 DrawSizeSD(); 80683d8: f045 fd08 bl 80addec 80683dc: e002 b.n 80683e4 } } else xz = 5; 80683de: 2305 movs r3, #5 80683e0: f8a7 346e strh.w r3, [r7, #1134] ; 0x46e if((menu == MAIN_ROLL) || (menu == PARAM_ROLL) || (menu == ROLL_RESULTS) || (menu == VIEW_PORTRET)) 80683e4: 4b61 ldr r3, [pc, #388] ; (806856c ) 80683e6: 781b ldrb r3, [r3, #0] 80683e8: b2db uxtb r3, r3 80683ea: 2b24 cmp r3, #36 ; 0x24 80683ec: d00e beq.n 806840c 80683ee: 4b5f ldr r3, [pc, #380] ; (806856c ) 80683f0: 781b ldrb r3, [r3, #0] 80683f2: b2db uxtb r3, r3 80683f4: 2b0d cmp r3, #13 80683f6: d009 beq.n 806840c 80683f8: 4b5c ldr r3, [pc, #368] ; (806856c ) 80683fa: 781b ldrb r3, [r3, #0] 80683fc: b2db uxtb r3, r3 80683fe: 2b27 cmp r3, #39 ; 0x27 8068400: d004 beq.n 806840c 8068402: 4b5a ldr r3, [pc, #360] ; (806856c ) 8068404: 781b ldrb r3, [r3, #0] 8068406: b2db uxtb r3, r3 8068408: 2b28 cmp r3, #40 ; 0x28 806840a: d107 bne.n 806841c { DrawImage(&bmBRNico, xz, 1+4); 806840c: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8068410: 2205 movs r2, #5 8068412: 4619 mov r1, r3 8068414: 485e ldr r0, [pc, #376] ; (8068590 ) 8068416: f7ec f8d9 bl 80545cc 806841a: e0dc b.n 80685d6 } else if((menu == MAIN) || (menu == MAIN_FRAN) || (menu == PARAM_VIB)) 806841c: 4b53 ldr r3, [pc, #332] ; (806856c ) 806841e: 781b ldrb r3, [r3, #0] 8068420: b2db uxtb r3, r3 8068422: 2b00 cmp r3, #0 8068424: d009 beq.n 806843a 8068426: 4b51 ldr r3, [pc, #324] ; (806856c ) 8068428: 781b ldrb r3, [r3, #0] 806842a: b2db uxtb r3, r3 806842c: 2b1f cmp r3, #31 806842e: d004 beq.n 806843a 8068430: 4b4e ldr r3, [pc, #312] ; (806856c ) 8068432: 781b ldrb r3, [r3, #0] 8068434: b2db uxtb r3, r3 8068436: 2b06 cmp r3, #6 8068438: d107 bne.n 806844a { DrawImage(&bmVIB, xz, 1+4); 806843a: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806843e: 2205 movs r2, #5 8068440: 4619 mov r1, r3 8068442: 4854 ldr r0, [pc, #336] ; (8068594 ) 8068444: f7ec f8c2 bl 80545cc 8068448: e0c5 b.n 80685d6 } else if((menu == MAIN_OSC) || (menu == PARAM_OSC)) 806844a: 4b48 ldr r3, [pc, #288] ; (806856c ) 806844c: 781b ldrb r3, [r3, #0] 806844e: b2db uxtb r3, r3 8068450: 2b1d cmp r3, #29 8068452: d004 beq.n 806845e 8068454: 4b45 ldr r3, [pc, #276] ; (806856c ) 8068456: 781b ldrb r3, [r3, #0] 8068458: b2db uxtb r3, r3 806845a: 2b08 cmp r3, #8 806845c: d107 bne.n 806846e { DrawImage(&bmOSC, xz, 1+4); 806845e: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8068462: 2205 movs r2, #5 8068464: 4619 mov r1, r3 8068466: 484c ldr r0, [pc, #304] ; (8068598 ) 8068468: f7ec f8b0 bl 80545cc 806846c: e0b3 b.n 80685d6 } else if(menu == PARAM_SPEC) 806846e: 4b3f ldr r3, [pc, #252] ; (806856c ) 8068470: 781b ldrb r3, [r3, #0] 8068472: b2db uxtb r3, r3 8068474: 2b07 cmp r3, #7 8068476: d131 bne.n 80684dc { switch(pardata.OPTIONS & maskFFT) 8068478: 4b48 ldr r3, [pc, #288] ; (806859c ) 806847a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 806847e: f003 0330 and.w r3, r3, #48 ; 0x30 8068482: 2b10 cmp r3, #16 8068484: d011 beq.n 80684aa 8068486: 2b10 cmp r3, #16 8068488: d802 bhi.n 8068490 806848a: 2b00 cmp r3, #0 806848c: d005 beq.n 806849a 806848e: e0a2 b.n 80685d6 8068490: 2b20 cmp r3, #32 8068492: d012 beq.n 80684ba 8068494: 2b30 cmp r3, #48 ; 0x30 8068496: d018 beq.n 80684ca 8068498: e09d b.n 80685d6 { case fft: DrawImage(&bmFFT, xz, 1+4); break; 806849a: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806849e: 2205 movs r2, #5 80684a0: 4619 mov r1, r3 80684a2: 483f ldr r0, [pc, #252] ; (80685a0 ) 80684a4: f7ec f892 bl 80545cc 80684a8: e095 b.n 80685d6 case env: DrawImage(&bmENV, xz, 1+4); break; 80684aa: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80684ae: 2205 movs r2, #5 80684b0: 4619 mov r1, r3 80684b2: 483c ldr r0, [pc, #240] ; (80685a4 ) 80684b4: f7ec f88a bl 80545cc 80684b8: e08d b.n 80685d6 case okt: DrawImage(&bmOKT, xz, 1+4); break; 80684ba: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80684be: 2205 movs r2, #5 80684c0: 4619 mov r1, r3 80684c2: 4839 ldr r0, [pc, #228] ; (80685a8 ) 80684c4: f7ec f882 bl 80545cc 80684c8: e085 b.n 80685d6 case third: DrawImage(&bmTHIRD, xz, 1+4); break; 80684ca: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80684ce: 2205 movs r2, #5 80684d0: 4619 mov r1, r3 80684d2: 4836 ldr r0, [pc, #216] ; (80685ac ) 80684d4: f7ec f87a bl 80545cc 80684d8: bf00 nop 80684da: e07c b.n 80685d6 } } else if(menu == MAIN_SPEC) 80684dc: 4b23 ldr r3, [pc, #140] ; (806856c ) 80684de: 781b ldrb r3, [r3, #0] 80684e0: b2db uxtb r3, r3 80684e2: 2b1c cmp r3, #28 80684e4: d107 bne.n 80684f6 { DrawImage(&bmFFT, xz, 1+4); 80684e6: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80684ea: 2205 movs r2, #5 80684ec: 4619 mov r1, r3 80684ee: 482c ldr r0, [pc, #176] ; (80685a0 ) 80684f0: f7ec f86c bl 80545cc 80684f4: e06f b.n 80685d6 } else if(menu == MAIN_SPEC_OGIB) 80684f6: 4b1d ldr r3, [pc, #116] ; (806856c ) 80684f8: 781b ldrb r3, [r3, #0] 80684fa: b2db uxtb r3, r3 80684fc: 2b21 cmp r3, #33 ; 0x21 80684fe: d107 bne.n 8068510 { DrawImage(&bmENV, xz, 1+4); 8068500: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8068504: 2205 movs r2, #5 8068506: 4619 mov r1, r3 8068508: 4826 ldr r0, [pc, #152] ; (80685a4 ) 806850a: f7ec f85f bl 80545cc 806850e: e062 b.n 80685d6 } else if(menu == MAIN_SPEC_OKT) 8068510: 4b16 ldr r3, [pc, #88] ; (806856c ) 8068512: 781b ldrb r3, [r3, #0] 8068514: b2db uxtb r3, r3 8068516: 2b22 cmp r3, #34 ; 0x22 8068518: d107 bne.n 806852a { DrawImage(&bmOKT, xz, 1+4); 806851a: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806851e: 2205 movs r2, #5 8068520: 4619 mov r1, r3 8068522: 4821 ldr r0, [pc, #132] ; (80685a8 ) 8068524: f7ec f852 bl 80545cc 8068528: e055 b.n 80685d6 } else if(menu == MAIN_SPEC_THIRD) 806852a: 4b10 ldr r3, [pc, #64] ; (806856c ) 806852c: 781b ldrb r3, [r3, #0] 806852e: b2db uxtb r3, r3 8068530: 2b23 cmp r3, #35 ; 0x23 8068532: d107 bne.n 8068544 { DrawImage(&bmTHIRD, xz, 1+4); 8068534: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 8068538: 2205 movs r2, #5 806853a: 4619 mov r1, r3 806853c: 481b ldr r0, [pc, #108] ; (80685ac ) 806853e: f7ec f845 bl 80545cc 8068542: e048 b.n 80685d6 } else if((menu == MAIN_WAVE) || (menu == PARAM_WAVE)) 8068544: 4b09 ldr r3, [pc, #36] ; (806856c ) 8068546: 781b ldrb r3, [r3, #0] 8068548: b2db uxtb r3, r3 806854a: 2b1e cmp r3, #30 806854c: d004 beq.n 8068558 806854e: 4b07 ldr r3, [pc, #28] ; (806856c ) 8068550: 781b ldrb r3, [r3, #0] 8068552: b2db uxtb r3, r3 8068554: 2b0a cmp r3, #10 8068556: d12d bne.n 80685b4 { DrawImage(&bmREC, xz, 1+4); 8068558: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 806855c: 2205 movs r2, #5 806855e: 4619 mov r1, r3 8068560: 4813 ldr r0, [pc, #76] ; (80685b0 ) 8068562: f7ec f833 bl 80545cc 8068566: e036 b.n 80685d6 8068568: 20020d7f .word 0x20020d7f 806856c: 20020f78 .word 0x20020f78 8068570: 2002165c .word 0x2002165c 8068574: 20021660 .word 0x20021660 8068578: 20021638 .word 0x20021638 806857c: ff0a0f1f .word 0xff0a0f1f 8068580: 20020f35 .word 0x20020f35 8068584: 08111490 .word 0x08111490 8068588: 2002164c .word 0x2002164c 806858c: 08147f14 .word 0x08147f14 8068590: 08111abc .word 0x08111abc 8068594: 0815d3fc .word 0x0815d3fc 8068598: 0813e45c .word 0x0813e45c 806859c: 20023e60 .word 0x20023e60 80685a0: 08113704 .word 0x08113704 80685a4: 081130d8 .word 0x081130d8 80685a8: 0813c7c0 .word 0x0813c7c0 80685ac: 08149bb0 .word 0x08149bb0 80685b0: 08144a74 .word 0x08144a74 } else if((menu == MAIN_DIAGN) || (menu == PARAM_DIAGN)) 80685b4: 4bcd ldr r3, [pc, #820] ; (80688ec ) 80685b6: 781b ldrb r3, [r3, #0] 80685b8: b2db uxtb r3, r3 80685ba: 2b26 cmp r3, #38 ; 0x26 80685bc: d004 beq.n 80685c8 80685be: 4bcb ldr r3, [pc, #812] ; (80688ec ) 80685c0: 781b ldrb r3, [r3, #0] 80685c2: b2db uxtb r3, r3 80685c4: 2b0f cmp r3, #15 80685c6: d106 bne.n 80685d6 { DrawImage(&bmVCTico, xz, 1+4); 80685c8: f8b7 346e ldrh.w r3, [r7, #1134] ; 0x46e 80685cc: 2205 movs r2, #5 80685ce: 4619 mov r1, r3 80685d0: 48c7 ldr r0, [pc, #796] ; (80688f0 ) 80685d2: f7eb fffb bl 80545cc } LCD_SetColors(LCD_COLOR_DARKCYAN, LCD_COLOR_BLACK); 80685d6: 49c7 ldr r1, [pc, #796] ; (80688f4 ) 80685d8: 48c7 ldr r0, [pc, #796] ; (80688f8 ) 80685da: f7eb f903 bl 80537e4 BSP_LCD_SetFont(&Font12); 80685de: 48c7 ldr r0, [pc, #796] ; (80688fc ) 80685e0: f7eb f93c bl 805385c if((menu == MAIN) || (menu >= MAIN_SPEC && menu <= MAIN_DIAGN)) 80685e4: 4bc1 ldr r3, [pc, #772] ; (80688ec ) 80685e6: 781b ldrb r3, [r3, #0] 80685e8: b2db uxtb r3, r3 80685ea: 2b00 cmp r3, #0 80685ec: d009 beq.n 8068602 80685ee: 4bbf ldr r3, [pc, #764] ; (80688ec ) 80685f0: 781b ldrb r3, [r3, #0] 80685f2: b2db uxtb r3, r3 80685f4: 2b1b cmp r3, #27 80685f6: d928 bls.n 806864a 80685f8: 4bbc ldr r3, [pc, #752] ; (80688ec ) 80685fa: 781b ldrb r3, [r3, #0] 80685fc: b2db uxtb r3, r3 80685fe: 2b26 cmp r3, #38 ; 0x26 8068600: d823 bhi.n 806864a { if((OVERDRIVE) && (bl) && (measuring)) 8068602: 4bbf ldr r3, [pc, #764] ; (8068900 ) 8068604: 781b ldrb r3, [r3, #0] 8068606: b2db uxtb r3, r3 8068608: 2b00 cmp r3, #0 806860a: d01e beq.n 806864a 806860c: f897 3453 ldrb.w r3, [r7, #1107] ; 0x453 8068610: 2b00 cmp r3, #0 8068612: d01a beq.n 806864a 8068614: 4bbb ldr r3, [pc, #748] ; (8068904 ) 8068616: 781b ldrb r3, [r3, #0] 8068618: b2db uxtb r3, r3 806861a: 2b00 cmp r3, #0 806861c: d015 beq.n 806864a { LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 806861e: 49b5 ldr r1, [pc, #724] ; (80688f4 ) 8068620: 48b9 ldr r0, [pc, #740] ; (8068908 ) 8068622: f7eb f8df bl 80537e4 if(pardata.LANG == RUS) 8068626: 4bb9 ldr r3, [pc, #740] ; (806890c ) 8068628: 7b1b ldrb r3, [r3, #12] 806862a: b2db uxtb r3, r3 806862c: 2b00 cmp r3, #0 806862e: d106 bne.n 806863e BSP_LCD_DisplayStringAt(165, 17+4, "ÏÅÐÅÃÐÓÇÊÀ", CENTER_MODE); 8068630: 2301 movs r3, #1 8068632: 4ab7 ldr r2, [pc, #732] ; (8068910 ) 8068634: 2115 movs r1, #21 8068636: 20a5 movs r0, #165 ; 0xa5 8068638: f7eb f99a bl 8053970 806863c: e005 b.n 806864a else BSP_LCD_DisplayStringAt(165, 17+4, "OVERLOAD", CENTER_MODE); 806863e: 2301 movs r3, #1 8068640: 4ab4 ldr r2, [pc, #720] ; (8068914 ) 8068642: 2115 movs r1, #21 8068644: 20a5 movs r0, #165 ; 0xa5 8068646: f7eb f993 bl 8053970 } } //==========================================================================================================================// //--------------------------------------------------------------------------------------------------------------------------// //==========================================================================================================================// switch(menu) 806864a: 4ba8 ldr r3, [pc, #672] ; (80688ec ) 806864c: 781b ldrb r3, [r3, #0] 806864e: b2db uxtb r3, r3 8068650: 2b48 cmp r3, #72 ; 0x48 8068652: f22e 87eb bhi.w 809762c 8068656: a201 add r2, pc, #4 ; (adr r2, 806865c ) 8068658: f852 f023 ldr.w pc, [r2, r3, lsl #2] 806865c: 08072135 .word 0x08072135 8068660: 08074a19 .word 0x08074a19 8068664: 0807584d .word 0x0807584d 8068668: 0809564f .word 0x0809564f 806866c: 08068781 .word 0x08068781 8068670: 0809762d .word 0x0809762d 8068674: 080795b1 .word 0x080795b1 8068678: 080829eb .word 0x080829eb 806867c: 0808c9f1 .word 0x0808c9f1 8068680: 0809762d .word 0x0809762d 8068684: 0808f4d9 .word 0x0808f4d9 8068688: 0809762d .word 0x0809762d 806868c: 0809762d .word 0x0809762d 8068690: 0807ea69 .word 0x0807ea69 8068694: 0807dcfd .word 0x0807dcfd 8068698: 08088a2f .word 0x08088a2f 806869c: 080896b5 .word 0x080896b5 80686a0: 08089b4b .word 0x08089b4b 80686a4: 0807609d .word 0x0807609d 80686a8: 0809762d .word 0x0809762d 80686ac: 08075713 .word 0x08075713 80686b0: 0809341f .word 0x0809341f 80686b4: 08093ba5 .word 0x08093ba5 80686b8: 08094275 .word 0x08094275 80686bc: 080786cd .word 0x080786cd 80686c0: 0809762d .word 0x0809762d 80686c4: 0809762d .word 0x0809762d 80686c8: 0809762d .word 0x0809762d 80686cc: 08072b51 .word 0x08072b51 80686d0: 08072f95 .word 0x08072f95 80686d4: 0807309f .word 0x0807309f 80686d8: 08072135 .word 0x08072135 80686dc: 080745b3 .word 0x080745b3 80686e0: 08072b51 .word 0x08072b51 80686e4: 08072ca9 .word 0x08072ca9 80686e8: 08072e3d .word 0x08072e3d 80686ec: 08072899 .word 0x08072899 80686f0: 08073cdd .word 0x08073cdd 80686f4: 08071b1b .word 0x08071b1b 80686f8: 08072a11 .word 0x08072a11 80686fc: 080729d7 .word 0x080729d7 8068700: 08092383 .word 0x08092383 8068704: 08092a6f .word 0x08092a6f 8068708: 08093219 .word 0x08093219 806870c: 08093219 .word 0x08093219 8068710: 08093219 .word 0x08093219 8068714: 0809762d .word 0x0809762d 8068718: 08093219 .word 0x08093219 806871c: 08093219 .word 0x08093219 8068720: 08093219 .word 0x08093219 8068724: 08093219 .word 0x08093219 8068728: 08093219 .word 0x08093219 806872c: 08095b69 .word 0x08095b69 8068730: 08095f33 .word 0x08095f33 8068734: 08096169 .word 0x08096169 8068738: 08096349 .word 0x08096349 806873c: 08096589 .word 0x08096589 8068740: 080967b9 .word 0x080967b9 8068744: 08096999 .word 0x08096999 8068748: 08096bd5 .word 0x08096bd5 806874c: 08096e05 .word 0x08096e05 8068750: 08096fe1 .word 0x08096fe1 8068754: 0809721b .word 0x0809721b 8068758: 08097301 .word 0x08097301 806875c: 080973e7 .word 0x080973e7 8068760: 0809751f .word 0x0809751f 8068764: 08097585 .word 0x08097585 8068768: 080975c5 .word 0x080975c5 806876c: 0809762d .word 0x0809762d 8068770: 0806a08f .word 0x0806a08f 8068774: 0806a08f .word 0x0806a08f 8068778: 0806a08f .word 0x0806a08f 806877c: 0806a01f .word 0x0806a01f { case ROUTE_MAP: LCD_SetColors(LCD_COLOR_DARKCYAN, LCD_COLOR_BLACK); 8068780: 495c ldr r1, [pc, #368] ; (80688f4 ) 8068782: 485d ldr r0, [pc, #372] ; (80688f8 ) 8068784: f7eb f82e bl 80537e4 BSP_LCD_SetFont(&Font12); 8068788: 485c ldr r0, [pc, #368] ; (80688fc ) 806878a: f7eb f867 bl 805385c BSP_LCD_DisplayStringAt(315, 42, RouteName, RIGHT_MODE); 806878e: 2302 movs r3, #2 8068790: 4a61 ldr r2, [pc, #388] ; (8068918 ) 8068792: 212a movs r1, #42 ; 0x2a 8068794: f240 103b movw r0, #315 ; 0x13b 8068798: f7eb f8ea bl 8053970 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); BSP_LCD_DisplayStringAt(5, 54, "[OK]", RIGHT_MODE); }*/ if(RoutePath[0]) 806879c: 4b5f ldr r3, [pc, #380] ; (806891c ) 806879e: 781b ldrb r3, [r3, #0] 80687a0: 2b00 cmp r3, #0 80687a2: f02e 8716 beq.w 80975d2 { k = 0; 80687a6: 2300 movs r3, #0 80687a8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 l = strlen(RoutePath); 80687ac: 485b ldr r0, [pc, #364] ; (806891c ) 80687ae: f7b7 fdb1 bl 8020314 80687b2: 4603 mov r3, r0 80687b4: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < l; i++) 80687b8: 2300 movs r3, #0 80687ba: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80687be: e183 b.n 8068ac8 { if(RoutePath[i] == ';') 80687c0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80687c4: 4a55 ldr r2, [pc, #340] ; (806891c ) 80687c6: 5cd3 ldrb r3, [r2, r3] 80687c8: 2b3b cmp r3, #59 ; 0x3b 80687ca: f040 80c8 bne.w 806895e { if(k == 0) 80687ce: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80687d2: 2b00 cmp r3, #0 80687d4: d10a bne.n 80687ec { k++; 80687d6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80687da: 3301 adds r3, #1 80687dc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 j = i + 1; 80687e0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80687e4: 3301 adds r3, #1 80687e6: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 80687ea: e168 b.n 8068abe } else if(k == 1) 80687ec: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80687f0: 2b01 cmp r3, #1 80687f2: f040 80a3 bne.w 806893c { memset(str, 0, sizeof(str)); 80687f6: f507 733b add.w r3, r7, #748 ; 0x2ec 80687fa: 223c movs r2, #60 ; 0x3c 80687fc: 2100 movs r1, #0 80687fe: 4618 mov r0, r3 8068800: f064 fc3e bl 80cd080 memset(str1, 0, sizeof(str1)); 8068804: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8068808: f44f 7280 mov.w r2, #256 ; 0x100 806880c: 2100 movs r1, #0 806880e: 4618 mov r0, r3 8068810: f064 fc36 bl 80cd080 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8068814: 4937 ldr r1, [pc, #220] ; (80688f4 ) 8068816: 4842 ldr r0, [pc, #264] ; (8068920 ) 8068818: f7ea ffe4 bl 80537e4 if(pardata.LANG == ENG) 806881c: 4b3b ldr r3, [pc, #236] ; (806890c ) 806881e: 7b1b ldrb r3, [r3, #12] 8068820: b2db uxtb r3, r3 8068822: 2b01 cmp r3, #1 8068824: d106 bne.n 8068834 strcpy(str, "POINT: '"); 8068826: f507 733b add.w r3, r7, #748 ; 0x2ec 806882a: 4a3e ldr r2, [pc, #248] ; (8068924 ) 806882c: ca07 ldmia r2, {r0, r1, r2} 806882e: c303 stmia r3!, {r0, r1} 8068830: 701a strb r2, [r3, #0] 8068832: e005 b.n 8068840 else strcpy(str, "ÒÎ×ÊÀ: '"); 8068834: f507 733b add.w r3, r7, #748 ; 0x2ec 8068838: 4a3b ldr r2, [pc, #236] ; (8068928 ) 806883a: ca07 ldmia r2, {r0, r1, r2} 806883c: c303 stmia r3!, {r0, r1} 806883e: 701a strb r2, [r3, #0] //memcpy(str1, RoutePath, i); //Txxxxx memcpy(str1, &RoutePath[j], i - j); //Txxxxx 8068840: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8068844: 4a35 ldr r2, [pc, #212] ; (806891c ) 8068846: 1899 adds r1, r3, r2 8068848: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806884c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8068850: 1ad2 subs r2, r2, r3 8068852: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8068856: 4618 mov r0, r3 8068858: f064 fc07 bl 80cd06a RoutePointID = atoi(&str1[1]); 806885c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8068860: 3301 adds r3, #1 8068862: 4618 mov r0, r3 8068864: f064 fb99 bl 80ccf9a 8068868: 4603 mov r3, r0 806886a: 461a mov r2, r3 806886c: 4b2f ldr r3, [pc, #188] ; (806892c ) 806886e: 601a str r2, [r3, #0] if(RouteMeas(RouteIndex)) 8068870: 4b2f ldr r3, [pc, #188] ; (8068930 ) 8068872: 681a ldr r2, [r3, #0] 8068874: 4b2f ldr r3, [pc, #188] ; (8068934 ) 8068876: 4413 add r3, r2 8068878: 781b ldrb r3, [r3, #0] 806887a: 2b00 cmp r3, #0 806887c: d005 beq.n 806888a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806887e: 491d ldr r1, [pc, #116] ; (80688f4 ) 8068880: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8068884: f7ea ffae bl 80537e4 8068888: e003 b.n 8068892 else LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806888a: 491a ldr r1, [pc, #104] ; (80688f4 ) 806888c: 4824 ldr r0, [pc, #144] ; (8068920 ) 806888e: f7ea ffa9 bl 80537e4 strcat(str, str1); 8068892: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8068896: f507 733b add.w r3, r7, #748 ; 0x2ec 806889a: 4611 mov r1, r2 806889c: 4618 mov r0, r3 806889e: f064 fcef bl 80cd280 strcat(str, "'"); 80688a2: f507 733b add.w r3, r7, #748 ; 0x2ec 80688a6: 4618 mov r0, r3 80688a8: f7b7 fd34 bl 8020314 80688ac: 4603 mov r3, r0 80688ae: 461a mov r2, r3 80688b0: f507 733b add.w r3, r7, #748 ; 0x2ec 80688b4: 4413 add r3, r2 80688b6: 4920 ldr r1, [pc, #128] ; (8068938 ) 80688b8: 461a mov r2, r3 80688ba: 460b mov r3, r1 80688bc: 881b ldrh r3, [r3, #0] 80688be: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(5, 42, str, LEFT_MODE); 80688c0: f507 723b add.w r2, r7, #748 ; 0x2ec 80688c4: 2303 movs r3, #3 80688c6: 212a movs r1, #42 ; 0x2a 80688c8: 2005 movs r0, #5 80688ca: f7eb f851 bl 8053970 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80688ce: 4909 ldr r1, [pc, #36] ; (80688f4 ) 80688d0: 4813 ldr r0, [pc, #76] ; (8068920 ) 80688d2: f7ea ff87 bl 80537e4 j = i + 1; 80688d6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80688da: 3301 adds r3, #1 80688dc: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc k++; 80688e0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80688e4: 3301 adds r3, #1 80688e6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80688ea: e0e8 b.n 8068abe 80688ec: 20020f78 .word 0x20020f78 80688f0: 0814a3c8 .word 0x0814a3c8 80688f4: ff0a0f1f .word 0xff0a0f1f 80688f8: ff008080 .word 0xff008080 80688fc: 20020038 .word 0x20020038 8068900: 20021531 .word 0x20021531 8068904: 20020daf .word 0x20020daf 8068908: ffff0000 .word 0xffff0000 806890c: 20023e60 .word 0x20023e60 8068910: 080cf824 .word 0x080cf824 8068914: 080cf830 .word 0x080cf830 8068918: 20022628 .word 0x20022628 806891c: 20022be0 .word 0x20022be0 8068920: ffd3d3d3 .word 0xffd3d3d3 8068924: 080cf83c .word 0x080cf83c 8068928: 080cf848 .word 0x080cf848 806892c: 20020034 .word 0x20020034 8068930: 20020f6c .word 0x20020f6c 8068934: 64100000 .word 0x64100000 8068938: 080cf854 .word 0x080cf854 } else { if(i != j) 806893c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8068940: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8068944: 429a cmp r2, r3 8068946: d004 beq.n 8068952 else memcpy(str, &RoutePath[j], i - j); strcat(str, "|"); BSP_LCD_DisplayStringAt(k*7 - 2, 60 + k*12, str, LEFT_MODE);*/ k++; 8068948: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806894c: 3301 adds r3, #1 806894e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 } j = i + 1; 8068952: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068956: 3301 adds r3, #1 8068958: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806895c: e0af b.n 8068abe } } else { if(i == (l - 1)) //åñëè äîøëè äî êîíöà òî ýòî êîììåíòàðèé (åñëè åñòü) 806895e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8068962: 1e5a subs r2, r3, #1 8068964: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068968: 429a cmp r2, r3 806896a: f040 80a8 bne.w 8068abe { if(RoutePath[i - 1] != ';') 806896e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068972: 3b01 subs r3, #1 8068974: 4a4b ldr r2, [pc, #300] ; (8068aa4 ) 8068976: 5cd3 ldrb r3, [r2, r3] 8068978: 2b3b cmp r3, #59 ; 0x3b 806897a: f000 80a0 beq.w 8068abe { memset(str, 0, sizeof(str)); 806897e: f507 733b add.w r3, r7, #748 ; 0x2ec 8068982: 223c movs r2, #60 ; 0x3c 8068984: 2100 movs r1, #0 8068986: 4618 mov r0, r3 8068988: f064 fb7a bl 80cd080 memset(str1, 0, sizeof(str1)); 806898c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8068990: f44f 7280 mov.w r2, #256 ; 0x100 8068994: 2100 movs r1, #0 8068996: 4618 mov r0, r3 8068998: f064 fb72 bl 80cd080 LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); BSP_LCD_DisplayStringAt(160, 60, str, CENTER_MODE);*/ // strcpy(str1, "'"); memcpy(&str1[0], &RoutePath[j], i - j + 1); 806899c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80689a0: 4a40 ldr r2, [pc, #256] ; (8068aa4 ) 80689a2: 1899 adds r1, r3, r2 80689a4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80689a8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80689ac: 1ad3 subs r3, r2, r3 80689ae: 1c5a adds r2, r3, #1 80689b0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80689b4: 4618 mov r0, r3 80689b6: f064 fb58 bl 80cd06a x = strlen(str1); 80689ba: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80689be: 4618 mov r0, r3 80689c0: f7b7 fca8 bl 8020314 80689c4: f8c7 0468 str.w r0, [r7, #1128] ; 0x468 LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 80689c8: 4937 ldr r1, [pc, #220] ; (8068aa8 ) 80689ca: 4838 ldr r0, [pc, #224] ; (8068aac ) 80689cc: f7ea ff0a bl 80537e4 if(x <= 40) 80689d0: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80689d4: 2b28 cmp r3, #40 ; 0x28 80689d6: d807 bhi.n 80689e8 { BSP_LCD_DisplayStringAt(4, 60, str1, LEFT_MODE); 80689d8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80689dc: 2303 movs r3, #3 80689de: 213c movs r1, #60 ; 0x3c 80689e0: 2004 movs r0, #4 80689e2: f7ea ffc5 bl 8053970 80689e6: e06a b.n 8068abe } else { // nstr = x / 40; // laststr = x % 40; if(x > 270) { 80689e8: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80689ec: f5b3 7f87 cmp.w r3, #270 ; 0x10e 80689f0: d903 bls.n 80689fa x = 270; 80689f2: f44f 7387 mov.w r3, #270 ; 0x10e 80689f6: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 } y = 0; 80689fa: 2300 movs r3, #0 80689fc: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 r = 0; 8068a00: 2300 movs r3, #0 8068a02: f8c7 33f0 str.w r3, [r7, #1008] ; 0x3f0 while(x > 0) 8068a06: e056 b.n 8068ab6 { memset(str, 0, sizeof(str)); 8068a08: f507 733b add.w r3, r7, #748 ; 0x2ec 8068a0c: 223c movs r2, #60 ; 0x3c 8068a0e: 2100 movs r1, #0 8068a10: 4618 mov r0, r3 8068a12: f064 fb35 bl 80cd080 if(x >= 45) 8068a16: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8068a1a: 2b2c cmp r3, #44 ; 0x2c 8068a1c: d910 bls.n 8068a40 { memcpy(str, &str1[r], 45); 8068a1e: f8d7 33f0 ldr.w r3, [r7, #1008] ; 0x3f0 8068a22: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8068a26: 18d1 adds r1, r2, r3 8068a28: f507 733b add.w r3, r7, #748 ; 0x2ec 8068a2c: 222d movs r2, #45 ; 0x2d 8068a2e: 4618 mov r0, r3 8068a30: f064 fb1b bl 80cd06a r += 45; 8068a34: f8d7 33f0 ldr.w r3, [r7, #1008] ; 0x3f0 8068a38: 332d adds r3, #45 ; 0x2d 8068a3a: f8c7 33f0 str.w r3, [r7, #1008] ; 0x3f0 8068a3e: e012 b.n 8068a66 } else { memcpy(str, &str1[r], x); 8068a40: f8d7 33f0 ldr.w r3, [r7, #1008] ; 0x3f0 8068a44: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8068a48: 18d1 adds r1, r2, r3 8068a4a: f507 733b add.w r3, r7, #748 ; 0x2ec 8068a4e: f8d7 2468 ldr.w r2, [r7, #1128] ; 0x468 8068a52: 4618 mov r0, r3 8068a54: f064 fb09 bl 80cd06a r += x; 8068a58: f8d7 23f0 ldr.w r2, [r7, #1008] ; 0x3f0 8068a5c: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8068a60: 4413 add r3, r2 8068a62: f8c7 33f0 str.w r3, [r7, #1008] ; 0x3f0 } BSP_LCD_DisplayStringAt(4, 60 + y*12, str, LEFT_MODE); 8068a66: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8068a6a: b29b uxth r3, r3 8068a6c: 461a mov r2, r3 8068a6e: 0052 lsls r2, r2, #1 8068a70: 4413 add r3, r2 8068a72: 009b lsls r3, r3, #2 8068a74: b29b uxth r3, r3 8068a76: 333c adds r3, #60 ; 0x3c 8068a78: b299 uxth r1, r3 8068a7a: f507 723b add.w r2, r7, #748 ; 0x2ec 8068a7e: 2303 movs r3, #3 8068a80: 2004 movs r0, #4 8068a82: f7ea ff75 bl 8053970 y++; 8068a86: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8068a8a: 3301 adds r3, #1 8068a8c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(x >= 45) x -= 45; 8068a90: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8068a94: 2b2c cmp r3, #44 ; 0x2c 8068a96: d90b bls.n 8068ab0 8068a98: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8068a9c: 3b2d subs r3, #45 ; 0x2d 8068a9e: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 8068aa2: e008 b.n 8068ab6 8068aa4: 20022be0 .word 0x20022be0 8068aa8: ff0a0f1f .word 0xff0a0f1f 8068aac: ffefcc95 .word 0xffefcc95 else x = 0; 8068ab0: 2300 movs r3, #0 8068ab2: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 while(x > 0) 8068ab6: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8068aba: 2b00 cmp r3, #0 8068abc: d1a4 bne.n 8068a08 for(i = 0; i < l; i++) 8068abe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068ac2: 3301 adds r3, #1 8068ac4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8068ac8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8068acc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8068ad0: 429a cmp r2, r3 8068ad2: f4ff ae75 bcc.w 80687c0 } } } LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8068ad6: 49d3 ldr r1, [pc, #844] ; (8068e24 ) 8068ad8: 48d3 ldr r0, [pc, #844] ; (8068e28 ) 8068ada: f7ea fe83 bl 80537e4 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄÛÄÓÙ."); LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄÓÞÙ.");*/ k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8068ade: 4bd3 ldr r3, [pc, #844] ; (8068e2c ) 8068ae0: edd3 7a06 vldr s15, [r3, #24] 8068ae4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8068ae8: ee67 7a87 vmul.f32 s15, s15, s14 8068aec: eefc 7ae7 vcvt.u32.f32 s15, s15 8068af0: ee17 3a90 vmov r3, s15 8068af4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 8068af8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8068afc: 095b lsrs r3, r3, #5 8068afe: 4acc ldr r2, [pc, #816] ; (8068e30 ) 8068b00: fba2 2303 umull r2, r3, r2, r3 8068b04: 09db lsrs r3, r3, #7 8068b06: b2db uxtb r3, r3 8068b08: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 8068b0c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8068b10: 0953 lsrs r3, r2, #5 8068b12: 49c7 ldr r1, [pc, #796] ; (8068e30 ) 8068b14: fba1 1303 umull r1, r3, r1, r3 8068b18: 09db lsrs r3, r3, #7 8068b1a: 49c6 ldr r1, [pc, #792] ; (8068e34 ) 8068b1c: fb01 f303 mul.w r3, r1, r3 8068b20: 1ad3 subs r3, r2, r3 8068b22: 4ac5 ldr r2, [pc, #788] ; (8068e38 ) 8068b24: fba2 2303 umull r2, r3, r2, r3 8068b28: 0b5b lsrs r3, r3, #13 8068b2a: b2db uxtb r3, r3 8068b2c: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 8068b30: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8068b34: 0953 lsrs r3, r2, #5 8068b36: 49be ldr r1, [pc, #760] ; (8068e30 ) 8068b38: fba1 1303 umull r1, r3, r1, r3 8068b3c: 09db lsrs r3, r3, #7 8068b3e: 49bd ldr r1, [pc, #756] ; (8068e34 ) 8068b40: fb01 f303 mul.w r3, r1, r3 8068b44: 1ad3 subs r3, r2, r3 8068b46: 4abc ldr r2, [pc, #752] ; (8068e38 ) 8068b48: fba2 1203 umull r1, r2, r2, r3 8068b4c: 0b52 lsrs r2, r2, #13 8068b4e: f242 7110 movw r1, #10000 ; 0x2710 8068b52: fb01 f202 mul.w r2, r1, r2 8068b56: 1a9a subs r2, r3, r2 8068b58: 4bb8 ldr r3, [pc, #736] ; (8068e3c ) 8068b5a: fba3 2302 umull r2, r3, r3, r2 8068b5e: 099b lsrs r3, r3, #6 8068b60: b2db uxtb r3, r3 8068b62: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8068b66: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8068b6a: 095a lsrs r2, r3, #5 8068b6c: 49b0 ldr r1, [pc, #704] ; (8068e30 ) 8068b6e: fba1 1202 umull r1, r2, r1, r2 8068b72: 09d2 lsrs r2, r2, #7 8068b74: 49af ldr r1, [pc, #700] ; (8068e34 ) 8068b76: fb01 f202 mul.w r2, r1, r2 8068b7a: 1a9a subs r2, r3, r2 8068b7c: 4bae ldr r3, [pc, #696] ; (8068e38 ) 8068b7e: fba3 1302 umull r1, r3, r3, r2 8068b82: 0b5b lsrs r3, r3, #13 8068b84: f242 7110 movw r1, #10000 ; 0x2710 8068b88: fb01 f303 mul.w r3, r1, r3 8068b8c: 1ad3 subs r3, r2, r3 8068b8e: 4aab ldr r2, [pc, #684] ; (8068e3c ) 8068b90: fba2 1203 umull r1, r2, r2, r3 8068b94: 0992 lsrs r2, r2, #6 8068b96: f44f 717a mov.w r1, #1000 ; 0x3e8 8068b9a: fb01 f202 mul.w r2, r1, r2 8068b9e: 1a9a subs r2, r3, r2 8068ba0: 4ba7 ldr r3, [pc, #668] ; (8068e40 ) 8068ba2: fba3 2302 umull r2, r3, r3, r2 8068ba6: 095b lsrs r3, r3, #5 8068ba8: b2db uxtb r3, r3 8068baa: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8068bae: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8068bb2: 0953 lsrs r3, r2, #5 8068bb4: 499e ldr r1, [pc, #632] ; (8068e30 ) 8068bb6: fba1 1303 umull r1, r3, r1, r3 8068bba: 09db lsrs r3, r3, #7 8068bbc: 499d ldr r1, [pc, #628] ; (8068e34 ) 8068bbe: fb01 f303 mul.w r3, r1, r3 8068bc2: 1ad3 subs r3, r2, r3 8068bc4: 4a9c ldr r2, [pc, #624] ; (8068e38 ) 8068bc6: fba2 1203 umull r1, r2, r2, r3 8068bca: 0b52 lsrs r2, r2, #13 8068bcc: f242 7110 movw r1, #10000 ; 0x2710 8068bd0: fb01 f202 mul.w r2, r1, r2 8068bd4: 1a9a subs r2, r3, r2 8068bd6: 4b99 ldr r3, [pc, #612] ; (8068e3c ) 8068bd8: fba3 1302 umull r1, r3, r3, r2 8068bdc: 099b lsrs r3, r3, #6 8068bde: f44f 717a mov.w r1, #1000 ; 0x3e8 8068be2: fb01 f303 mul.w r3, r1, r3 8068be6: 1ad3 subs r3, r2, r3 8068be8: 4a95 ldr r2, [pc, #596] ; (8068e40 ) 8068bea: fba2 1203 umull r1, r2, r2, r3 8068bee: 0952 lsrs r2, r2, #5 8068bf0: 2164 movs r1, #100 ; 0x64 8068bf2: fb01 f202 mul.w r2, r1, r2 8068bf6: 1a9a subs r2, r3, r2 8068bf8: 4b92 ldr r3, [pc, #584] ; (8068e44 ) 8068bfa: fba3 2302 umull r2, r3, r3, r2 8068bfe: 08db lsrs r3, r3, #3 8068c00: b2db uxtb r3, r3 8068c02: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8068c06: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8068c0a: 0953 lsrs r3, r2, #5 8068c0c: 4988 ldr r1, [pc, #544] ; (8068e30 ) 8068c0e: fba1 1303 umull r1, r3, r1, r3 8068c12: 09db lsrs r3, r3, #7 8068c14: 4987 ldr r1, [pc, #540] ; (8068e34 ) 8068c16: fb01 f303 mul.w r3, r1, r3 8068c1a: 1ad3 subs r3, r2, r3 8068c1c: 4a86 ldr r2, [pc, #536] ; (8068e38 ) 8068c1e: fba2 1203 umull r1, r2, r2, r3 8068c22: 0b52 lsrs r2, r2, #13 8068c24: f242 7110 movw r1, #10000 ; 0x2710 8068c28: fb01 f202 mul.w r2, r1, r2 8068c2c: 1a9a subs r2, r3, r2 8068c2e: 4b83 ldr r3, [pc, #524] ; (8068e3c ) 8068c30: fba3 1302 umull r1, r3, r3, r2 8068c34: 099b lsrs r3, r3, #6 8068c36: f44f 717a mov.w r1, #1000 ; 0x3e8 8068c3a: fb01 f303 mul.w r3, r1, r3 8068c3e: 1ad3 subs r3, r2, r3 8068c40: 4a7f ldr r2, [pc, #508] ; (8068e40 ) 8068c42: fba2 1203 umull r1, r2, r2, r3 8068c46: 0952 lsrs r2, r2, #5 8068c48: 2164 movs r1, #100 ; 0x64 8068c4a: fb01 f202 mul.w r2, r1, r2 8068c4e: 1a9a subs r2, r3, r2 8068c50: 4b7c ldr r3, [pc, #496] ; (8068e44 ) 8068c52: fba3 1302 umull r1, r3, r3, r2 8068c56: 08d9 lsrs r1, r3, #3 8068c58: 460b mov r3, r1 8068c5a: 009b lsls r3, r3, #2 8068c5c: 440b add r3, r1 8068c5e: 005b lsls r3, r3, #1 8068c60: 1ad1 subs r1, r2, r3 8068c62: b2cb uxtb r3, r1 8068c64: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 8068c68: 2300 movs r3, #0 8068c6a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strMax, 0, sizeof(strMax)); 8068c6e: f507 73c0 add.w r3, r7, #384 ; 0x180 8068c72: 220c movs r2, #12 8068c74: 2100 movs r1, #0 8068c76: 4618 mov r0, r3 8068c78: f064 fa02 bl 80cd080 if(idt2 != 0) 8068c7c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8068c80: b2db uxtb r3, r3 8068c82: 2b00 cmp r3, #0 8068c84: d00c beq.n 8068ca0 strMax[i++] = idt2 + 48; 8068c86: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068c8a: 1c5a adds r2, r3, #1 8068c8c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068c90: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 8068c94: b2d2 uxtb r2, r2 8068c96: 3230 adds r2, #48 ; 0x30 8068c98: b2d1 uxtb r1, r2 8068c9a: f507 72c0 add.w r2, r7, #384 ; 0x180 8068c9e: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 8068ca0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8068ca4: b2db uxtb r3, r3 8068ca6: 2b00 cmp r3, #0 8068ca8: d104 bne.n 8068cb4 8068caa: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8068cae: b2db uxtb r3, r3 8068cb0: 2b00 cmp r3, #0 8068cb2: d00c beq.n 8068cce strMax[i++] = iet2 + 48; 8068cb4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068cb8: 1c5a adds r2, r3, #1 8068cba: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068cbe: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 8068cc2: b2d2 uxtb r2, r2 8068cc4: 3230 adds r2, #48 ; 0x30 8068cc6: b2d1 uxtb r1, r2 8068cc8: f507 72c0 add.w r2, r7, #384 ; 0x180 8068ccc: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8068cce: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8068cd2: b2db uxtb r3, r3 8068cd4: 2b00 cmp r3, #0 8068cd6: d109 bne.n 8068cec 8068cd8: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8068cdc: b2db uxtb r3, r3 8068cde: 2b00 cmp r3, #0 8068ce0: d104 bne.n 8068cec 8068ce2: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8068ce6: b2db uxtb r3, r3 8068ce8: 2b00 cmp r3, #0 8068cea: d00c beq.n 8068d06 strMax[i++] = ies2 + 48; 8068cec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068cf0: 1c5a adds r2, r3, #1 8068cf2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068cf6: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 8068cfa: b2d2 uxtb r2, r2 8068cfc: 3230 adds r2, #48 ; 0x30 8068cfe: b2d1 uxtb r1, r2 8068d00: f507 72c0 add.w r2, r7, #384 ; 0x180 8068d04: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8068d06: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8068d0a: b2db uxtb r3, r3 8068d0c: 2b00 cmp r3, #0 8068d0e: d10e bne.n 8068d2e 8068d10: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8068d14: b2db uxtb r3, r3 8068d16: 2b00 cmp r3, #0 8068d18: d109 bne.n 8068d2e 8068d1a: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8068d1e: b2db uxtb r3, r3 8068d20: 2b00 cmp r3, #0 8068d22: d104 bne.n 8068d2e 8068d24: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8068d28: b2db uxtb r3, r3 8068d2a: 2b00 cmp r3, #0 8068d2c: d00c beq.n 8068d48 strMax[i++] = ied2 + 48; 8068d2e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068d32: 1c5a adds r2, r3, #1 8068d34: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068d38: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 8068d3c: b2d2 uxtb r2, r2 8068d3e: 3230 adds r2, #48 ; 0x30 8068d40: b2d1 uxtb r1, r2 8068d42: f507 72c0 add.w r2, r7, #384 ; 0x180 8068d46: 54d1 strb r1, [r2, r3] strMax[i++] = iee2 + 48; 8068d48: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068d4c: 1c5a adds r2, r3, #1 8068d4e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068d52: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 8068d56: b2d2 uxtb r2, r2 8068d58: 3230 adds r2, #48 ; 0x30 8068d5a: b2d1 uxtb r1, r2 8068d5c: f507 72c0 add.w r2, r7, #384 ; 0x180 8068d60: 54d1 strb r1, [r2, r3] strMax[i++] = '.'; 8068d62: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068d66: 1c5a adds r2, r3, #1 8068d68: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068d6c: f507 72c0 add.w r2, r7, #384 ; 0x180 8068d70: 212e movs r1, #46 ; 0x2e 8068d72: 54d1 strb r1, [r2, r3] strMax[i++] = ikd2 + 48; 8068d74: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8068d78: 1c5a adds r2, r3, #1 8068d7a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8068d7e: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 8068d82: b2d2 uxtb r2, r2 8068d84: 3230 adds r2, #48 ; 0x30 8068d86: b2d1 uxtb r1, r2 8068d88: f507 72c0 add.w r2, r7, #384 ; 0x180 8068d8c: 54d1 strb r1, [r2, r3] //**************************************************************** #ifndef USE_D101 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068d8e: 4925 ldr r1, [pc, #148] ; (8068e24 ) 8068d90: f04f 30ff mov.w r0, #4294967295 8068d94: f7ea fd26 bl 80537e4 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_PARAM_WAV[pardata.LANG][9]); //Òàõîìåòð 8068d98: 4b24 ldr r3, [pc, #144] ; (8068e2c ) 8068d9a: 7b1b ldrb r3, [r3, #12] 8068d9c: b2db uxtb r3, r3 8068d9e: 4619 mov r1, r3 8068da0: 4a29 ldr r2, [pc, #164] ; (8068e48 ) 8068da2: 460b mov r3, r1 8068da4: 009b lsls r3, r3, #2 8068da6: 440b add r3, r1 8068da8: 00db lsls r3, r3, #3 8068daa: 4413 add r3, r2 8068dac: 3324 adds r3, #36 ; 0x24 8068dae: 681b ldr r3, [r3, #0] 8068db0: 461a mov r2, r3 8068db2: 218a movs r1, #138 ; 0x8a 8068db4: 200a movs r0, #10 8068db6: f7eb fabd bl 8054334 #else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_PARAM_WAV[pardata.LANG][9]); //Òàõîìåòð #endif LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068dba: 491a ldr r1, [pc, #104] ; (8068e24 ) 8068dbc: f04f 30ff mov.w r0, #4294967295 8068dc0: f7ea fd10 bl 80537e4 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_WAV[pardata.LANG][4]); //Âðåìÿ çàïèñè 8068dc4: 4b19 ldr r3, [pc, #100] ; (8068e2c ) 8068dc6: 7b1b ldrb r3, [r3, #12] 8068dc8: b2db uxtb r3, r3 8068dca: 4619 mov r1, r3 8068dcc: 4a1e ldr r2, [pc, #120] ; (8068e48 ) 8068dce: 460b mov r3, r1 8068dd0: 009b lsls r3, r3, #2 8068dd2: 440b add r3, r1 8068dd4: 00db lsls r3, r3, #3 8068dd6: 4413 add r3, r2 8068dd8: 3310 adds r3, #16 8068dda: 681b ldr r3, [r3, #0] 8068ddc: 461a mov r2, r3 8068dde: 219a movs r1, #154 ; 0x9a 8068de0: 200a movs r0, #10 8068de2: f7eb faa7 bl 8054334 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV[pardata.LANG][5]); //Àâòîóñèëåíèå 8068de6: 4b11 ldr r3, [pc, #68] ; (8068e2c ) 8068de8: 7b1b ldrb r3, [r3, #12] 8068dea: b2db uxtb r3, r3 8068dec: 4619 mov r1, r3 8068dee: 4a16 ldr r2, [pc, #88] ; (8068e48 ) 8068df0: 460b mov r3, r1 8068df2: 009b lsls r3, r3, #2 8068df4: 440b add r3, r1 8068df6: 00db lsls r3, r3, #3 8068df8: 4413 add r3, r2 8068dfa: 3314 adds r3, #20 8068dfc: 681b ldr r3, [r3, #0] 8068dfe: 461a mov r2, r3 8068e00: 21aa movs r1, #170 ; 0xaa 8068e02: 200a movs r0, #10 8068e04: f7eb fa96 bl 8054334 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8068e08: 4b08 ldr r3, [pc, #32] ; (8068e2c ) 8068e0a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8068e0e: f003 0304 and.w r3, r3, #4 8068e12: 2b00 cmp r3, #0 8068e14: d11a bne.n 8068e4c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068e16: 4903 ldr r1, [pc, #12] ; (8068e24 ) 8068e18: f04f 30ff mov.w r0, #4294967295 8068e1c: f7ea fce2 bl 80537e4 8068e20: e018 b.n 8068e54 8068e22: bf00 nop 8068e24: ff0a0f1f .word 0xff0a0f1f 8068e28: ffd3d3d3 .word 0xffd3d3d3 8068e2c: 20023e60 .word 0x20023e60 8068e30: 0a7c5ac5 .word 0x0a7c5ac5 8068e34: 000186a0 .word 0x000186a0 8068e38: d1b71759 .word 0xd1b71759 8068e3c: 10624dd3 .word 0x10624dd3 8068e40: 51eb851f .word 0x51eb851f 8068e44: cccccccd .word 0xcccccccd 8068e48: 2002083c .word 0x2002083c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8068e4c: 49c0 ldr r1, [pc, #768] ; (8069150 ) 8068e4e: 48c1 ldr r0, [pc, #772] ; (8069154 ) 8068e50: f7ea fcc8 bl 80537e4 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_WAV[pardata.LANG][6]); //Ìax.àìïë.(ì/c^) 8068e54: 4bc0 ldr r3, [pc, #768] ; (8069158 ) 8068e56: 7b1b ldrb r3, [r3, #12] 8068e58: b2db uxtb r3, r3 8068e5a: 4619 mov r1, r3 8068e5c: 4abf ldr r2, [pc, #764] ; (806915c ) 8068e5e: 460b mov r3, r1 8068e60: 009b lsls r3, r3, #2 8068e62: 440b add r3, r1 8068e64: 00db lsls r3, r3, #3 8068e66: 4413 add r3, r2 8068e68: 3318 adds r3, #24 8068e6a: 681b ldr r3, [r3, #0] 8068e6c: 461a mov r2, r3 8068e6e: 21ba movs r1, #186 ; 0xba 8068e70: 200a movs r0, #10 8068e72: f7eb fa5f bl 8054334 switch(menupos) 8068e76: 4bba ldr r3, [pc, #744] ; (8069160 ) 8068e78: 781b ldrb r3, [r3, #0] 8068e7a: b2db uxtb r3, r3 8068e7c: 2b0e cmp r3, #14 8068e7e: f201 80a1 bhi.w 8069fc4 8068e82: a201 add r2, pc, #4 ; (adr r2, 8068e88 ) 8068e84: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8068e88: 08068f85 .word 0x08068f85 8068e8c: 08068ec5 .word 0x08068ec5 8068e90: 08069045 .word 0x08069045 8068e94: 08069b89 .word 0x08069b89 8068e98: 08069105 .word 0x08069105 8068e9c: 0806922f .word 0x0806922f 8068ea0: 080692fb .word 0x080692fb 8068ea4: 080693bd .word 0x080693bd 8068ea8: 080694fd .word 0x080694fd 8068eac: 08069665 .word 0x08069665 8068eb0: 080697a5 .word 0x080697a5 8068eb4: 0806990d .word 0x0806990d 8068eb8: 08069a4b .word 0x08069a4b 8068ebc: 08069e0f .word 0x08069e0f 8068ec0: 08069c93 .word 0x08069c93 { case GoMeas: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8068ec4: 49a2 ldr r1, [pc, #648] ; (8069150 ) 8068ec6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8068eca: f7ea fc8b bl 80537e4 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8068ece: 4aa5 ldr r2, [pc, #660] ; (8069164 ) 8068ed0: 21da movs r1, #218 ; 0xda 8068ed2: 20a0 movs r0, #160 ; 0xa0 8068ed4: f7eb fa46 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068ed8: 499d ldr r1, [pc, #628] ; (8069150 ) 8068eda: f04f 30ff mov.w r0, #4294967295 8068ede: f7ea fc81 bl 80537e4 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8068ee2: 4aa1 ldr r2, [pc, #644] ; (8069168 ) 8068ee4: 21da movs r1, #218 ; 0xda 8068ee6: 200a movs r0, #10 8068ee8: f7eb fa24 bl 8054334 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8068eec: 4a9f ldr r2, [pc, #636] ; (806916c ) 8068eee: 21da movs r1, #218 ; 0xda 8068ef0: f240 1035 movw r0, #309 ; 0x135 8068ef4: f7eb fa4e bl 8054394 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8068ef8: 4995 ldr r1, [pc, #596] ; (8069150 ) 8068efa: 489d ldr r0, [pc, #628] ; (8069170 ) 8068efc: f7ea fc72 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8068f00: 4b95 ldr r3, [pc, #596] ; (8069158 ) 8068f02: 7b1b ldrb r3, [r3, #12] 8068f04: b2db uxtb r3, r3 8068f06: 461a mov r2, r3 8068f08: 4b93 ldr r3, [pc, #588] ; (8069158 ) 8068f0a: 7b9b ldrb r3, [r3, #14] 8068f0c: b2db uxtb r3, r3 8068f0e: 4618 mov r0, r3 8068f10: 4998 ldr r1, [pc, #608] ; (8069174 ) 8068f12: 4613 mov r3, r2 8068f14: 009b lsls r3, r3, #2 8068f16: 4413 add r3, r2 8068f18: 005b lsls r3, r3, #1 8068f1a: 4413 add r3, r2 8068f1c: 4403 add r3, r0 8068f1e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8068f22: 461a mov r2, r3 8068f24: 219a movs r1, #154 ; 0x9a 8068f26: f44f 7082 mov.w r0, #260 ; 0x104 8068f2a: f7eb fa1b bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068f2e: 4988 ldr r1, [pc, #544] ; (8069150 ) 8068f30: f04f 30ff mov.w r0, #4294967295 8068f34: f7ea fc56 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8068f38: 230a movs r3, #10 8068f3a: 220a movs r2, #10 8068f3c: 218d movs r1, #141 ; 0x8d 8068f3e: 20ff movs r0, #255 ; 0xff 8068f40: f7eb f8de bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8068f44: 230a movs r3, #10 8068f46: 220a movs r2, #10 8068f48: 21ad movs r1, #173 ; 0xad 8068f4a: 20ff movs r0, #255 ; 0xff 8068f4c: f7eb f8d8 bl 8054100 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8068f50: 4b81 ldr r3, [pc, #516] ; (8069158 ) 8068f52: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8068f56: f003 0304 and.w r3, r3, #4 8068f5a: 2b00 cmp r3, #0 8068f5c: d104 bne.n 8068f68 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8068f5e: 497c ldr r1, [pc, #496] ; (8069150 ) 8068f60: 4883 ldr r0, [pc, #524] ; (8069170 ) 8068f62: f7ea fc3f bl 80537e4 8068f66: e003 b.n 8068f70 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8068f68: 4979 ldr r1, [pc, #484] ; (8069150 ) 8068f6a: 487a ldr r0, [pc, #488] ; (8069154 ) 8068f6c: f7ea fc3a bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 8068f70: f507 73c0 add.w r3, r7, #384 ; 0x180 8068f74: 461a mov r2, r3 8068f76: 21ba movs r1, #186 ; 0xba 8068f78: f44f 7082 mov.w r0, #260 ; 0x104 8068f7c: f7eb f9f2 bl 8054364 break; 8068f80: f001 b820 b.w 8069fc4 case PrevPoint: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8068f84: 4972 ldr r1, [pc, #456] ; (8069150 ) 8068f86: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8068f8a: f7ea fc2b bl 80537e4 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8068f8e: 4a76 ldr r2, [pc, #472] ; (8069168 ) 8068f90: 21da movs r1, #218 ; 0xda 8068f92: 200a movs r0, #10 8068f94: f7eb f9ce bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068f98: 496d ldr r1, [pc, #436] ; (8069150 ) 8068f9a: f04f 30ff mov.w r0, #4294967295 8068f9e: f7ea fc21 bl 80537e4 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8068fa2: 4a70 ldr r2, [pc, #448] ; (8069164 ) 8068fa4: 21da movs r1, #218 ; 0xda 8068fa6: 20a0 movs r0, #160 ; 0xa0 8068fa8: f7eb f9dc bl 8054364 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8068fac: 4a6f ldr r2, [pc, #444] ; (806916c ) 8068fae: 21da movs r1, #218 ; 0xda 8068fb0: f240 1035 movw r0, #309 ; 0x135 8068fb4: f7eb f9ee bl 8054394 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8068fb8: 4965 ldr r1, [pc, #404] ; (8069150 ) 8068fba: 486d ldr r0, [pc, #436] ; (8069170 ) 8068fbc: f7ea fc12 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8068fc0: 4b65 ldr r3, [pc, #404] ; (8069158 ) 8068fc2: 7b1b ldrb r3, [r3, #12] 8068fc4: b2db uxtb r3, r3 8068fc6: 461a mov r2, r3 8068fc8: 4b63 ldr r3, [pc, #396] ; (8069158 ) 8068fca: 7b9b ldrb r3, [r3, #14] 8068fcc: b2db uxtb r3, r3 8068fce: 4618 mov r0, r3 8068fd0: 4968 ldr r1, [pc, #416] ; (8069174 ) 8068fd2: 4613 mov r3, r2 8068fd4: 009b lsls r3, r3, #2 8068fd6: 4413 add r3, r2 8068fd8: 005b lsls r3, r3, #1 8068fda: 4413 add r3, r2 8068fdc: 4403 add r3, r0 8068fde: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8068fe2: 461a mov r2, r3 8068fe4: 219a movs r1, #154 ; 0x9a 8068fe6: f44f 7082 mov.w r0, #260 ; 0x104 8068fea: f7eb f9bb bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8068fee: 4958 ldr r1, [pc, #352] ; (8069150 ) 8068ff0: f04f 30ff mov.w r0, #4294967295 8068ff4: f7ea fbf6 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8068ff8: 230a movs r3, #10 8068ffa: 220a movs r2, #10 8068ffc: 218d movs r1, #141 ; 0x8d 8068ffe: 20ff movs r0, #255 ; 0xff 8069000: f7eb f87e bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069004: 230a movs r3, #10 8069006: 220a movs r2, #10 8069008: 21ad movs r1, #173 ; 0xad 806900a: 20ff movs r0, #255 ; 0xff 806900c: f7eb f878 bl 8054100 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8069010: 4b51 ldr r3, [pc, #324] ; (8069158 ) 8069012: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069016: f003 0304 and.w r3, r3, #4 806901a: 2b00 cmp r3, #0 806901c: d104 bne.n 8069028 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806901e: 494c ldr r1, [pc, #304] ; (8069150 ) 8069020: 4853 ldr r0, [pc, #332] ; (8069170 ) 8069022: f7ea fbdf bl 80537e4 8069026: e003 b.n 8069030 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8069028: 4949 ldr r1, [pc, #292] ; (8069150 ) 806902a: 484a ldr r0, [pc, #296] ; (8069154 ) 806902c: f7ea fbda bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 8069030: f507 73c0 add.w r3, r7, #384 ; 0x180 8069034: 461a mov r2, r3 8069036: 21ba movs r1, #186 ; 0xba 8069038: f44f 7082 mov.w r0, #260 ; 0x104 806903c: f7eb f992 bl 8054364 break; 8069040: f000 bfc0 b.w 8069fc4 case NextPoint: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069044: 4942 ldr r1, [pc, #264] ; (8069150 ) 8069046: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806904a: f7ea fbcb bl 80537e4 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806904e: 4a47 ldr r2, [pc, #284] ; (806916c ) 8069050: 21da movs r1, #218 ; 0xda 8069052: f240 1035 movw r0, #309 ; 0x135 8069056: f7eb f99d bl 8054394 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806905a: 493d ldr r1, [pc, #244] ; (8069150 ) 806905c: f04f 30ff mov.w r0, #4294967295 8069060: f7ea fbc0 bl 80537e4 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069064: 4a3f ldr r2, [pc, #252] ; (8069164 ) 8069066: 21da movs r1, #218 ; 0xda 8069068: 20a0 movs r0, #160 ; 0xa0 806906a: f7eb f97b bl 8054364 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806906e: 4a3e ldr r2, [pc, #248] ; (8069168 ) 8069070: 21da movs r1, #218 ; 0xda 8069072: 200a movs r0, #10 8069074: f7eb f95e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069078: 4935 ldr r1, [pc, #212] ; (8069150 ) 806907a: 483d ldr r0, [pc, #244] ; (8069170 ) 806907c: f7ea fbb2 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069080: 4b35 ldr r3, [pc, #212] ; (8069158 ) 8069082: 7b1b ldrb r3, [r3, #12] 8069084: b2db uxtb r3, r3 8069086: 461a mov r2, r3 8069088: 4b33 ldr r3, [pc, #204] ; (8069158 ) 806908a: 7b9b ldrb r3, [r3, #14] 806908c: b2db uxtb r3, r3 806908e: 4618 mov r0, r3 8069090: 4938 ldr r1, [pc, #224] ; (8069174 ) 8069092: 4613 mov r3, r2 8069094: 009b lsls r3, r3, #2 8069096: 4413 add r3, r2 8069098: 005b lsls r3, r3, #1 806909a: 4413 add r3, r2 806909c: 4403 add r3, r0 806909e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80690a2: 461a mov r2, r3 80690a4: 219a movs r1, #154 ; 0x9a 80690a6: f44f 7082 mov.w r0, #260 ; 0x104 80690aa: f7eb f95b bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80690ae: 4928 ldr r1, [pc, #160] ; (8069150 ) 80690b0: f04f 30ff mov.w r0, #4294967295 80690b4: f7ea fb96 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 80690b8: 230a movs r3, #10 80690ba: 220a movs r2, #10 80690bc: 218d movs r1, #141 ; 0x8d 80690be: 20ff movs r0, #255 ; 0xff 80690c0: f7eb f81e bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 80690c4: 230a movs r3, #10 80690c6: 220a movs r2, #10 80690c8: 21ad movs r1, #173 ; 0xad 80690ca: 20ff movs r0, #255 ; 0xff 80690cc: f7eb f818 bl 8054100 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80690d0: 4b21 ldr r3, [pc, #132] ; (8069158 ) 80690d2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80690d6: f003 0304 and.w r3, r3, #4 80690da: 2b00 cmp r3, #0 80690dc: d104 bne.n 80690e8 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80690de: 491c ldr r1, [pc, #112] ; (8069150 ) 80690e0: 4823 ldr r0, [pc, #140] ; (8069170 ) 80690e2: f7ea fb7f bl 80537e4 80690e6: e003 b.n 80690f0 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80690e8: 4919 ldr r1, [pc, #100] ; (8069150 ) 80690ea: 481a ldr r0, [pc, #104] ; (8069154 ) 80690ec: f7ea fb7a bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 80690f0: f507 73c0 add.w r3, r7, #384 ; 0x180 80690f4: 461a mov r2, r3 80690f6: 21ba movs r1, #186 ; 0xba 80690f8: f44f 7082 mov.w r0, #260 ; 0x104 80690fc: f7eb f932 bl 8054364 break; 8069100: f000 bf60 b.w 8069fc4 case RouteTime: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069104: 4912 ldr r1, [pc, #72] ; (8069150 ) 8069106: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806910a: f7ea fb6b bl 80537e4 if(focused) 806910e: 4b1a ldr r3, [pc, #104] ; (8069178 ) 8069110: 781b ldrb r3, [r3, #0] 8069112: b2db uxtb r3, r3 8069114: 2b00 cmp r3, #0 8069116: d033 beq.n 8069180 { if(blk) 8069118: 4b18 ldr r3, [pc, #96] ; (806917c ) 806911a: 681b ldr r3, [r3, #0] 806911c: 2b00 cmp r3, #0 806911e: d046 beq.n 80691ae LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069120: 4b0d ldr r3, [pc, #52] ; (8069158 ) 8069122: 7b1b ldrb r3, [r3, #12] 8069124: b2db uxtb r3, r3 8069126: 461a mov r2, r3 8069128: 4b0b ldr r3, [pc, #44] ; (8069158 ) 806912a: 7b9b ldrb r3, [r3, #14] 806912c: b2db uxtb r3, r3 806912e: 4618 mov r0, r3 8069130: 4910 ldr r1, [pc, #64] ; (8069174 ) 8069132: 4613 mov r3, r2 8069134: 009b lsls r3, r3, #2 8069136: 4413 add r3, r2 8069138: 005b lsls r3, r3, #1 806913a: 4413 add r3, r2 806913c: 4403 add r3, r0 806913e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069142: 461a mov r2, r3 8069144: 219a movs r1, #154 ; 0x9a 8069146: f44f 7082 mov.w r0, #260 ; 0x104 806914a: f7eb f90b bl 8054364 806914e: e02e b.n 80691ae 8069150: ff0a0f1f .word 0xff0a0f1f 8069154: ff808080 .word 0xff808080 8069158: 20023e60 .word 0x20023e60 806915c: 2002083c .word 0x2002083c 8069160: 20020070 .word 0x20020070 8069164: 080cf858 .word 0x080cf858 8069168: 080cf860 .word 0x080cf860 806916c: 080cf868 .word 0x080cf868 8069170: ffd8aa57 .word 0xffd8aa57 8069174: 20020334 .word 0x20020334 8069178: 20020f84 .word 0x20020f84 806917c: 2002165c .word 0x2002165c } else LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069180: 4b86 ldr r3, [pc, #536] ; (806939c ) 8069182: 7b1b ldrb r3, [r3, #12] 8069184: b2db uxtb r3, r3 8069186: 461a mov r2, r3 8069188: 4b84 ldr r3, [pc, #528] ; (806939c ) 806918a: 7b9b ldrb r3, [r3, #14] 806918c: b2db uxtb r3, r3 806918e: 4618 mov r0, r3 8069190: 4983 ldr r1, [pc, #524] ; (80693a0 ) 8069192: 4613 mov r3, r2 8069194: 009b lsls r3, r3, #2 8069196: 4413 add r3, r2 8069198: 005b lsls r3, r3, #1 806919a: 4413 add r3, r2 806919c: 4403 add r3, r0 806919e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80691a2: 461a mov r2, r3 80691a4: 219a movs r1, #154 ; 0x9a 80691a6: f44f 7082 mov.w r0, #260 ; 0x104 80691aa: f7eb f8db bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80691ae: 497d ldr r1, [pc, #500] ; (80693a4 ) 80691b0: f04f 30ff mov.w r0, #4294967295 80691b4: f7ea fb16 bl 80537e4 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 80691b8: 4a7b ldr r2, [pc, #492] ; (80693a8 ) 80691ba: 21da movs r1, #218 ; 0xda 80691bc: f240 1035 movw r0, #309 ; 0x135 80691c0: f7eb f8e8 bl 8054394 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 80691c4: 4a79 ldr r2, [pc, #484] ; (80693ac ) 80691c6: 21da movs r1, #218 ; 0xda 80691c8: 20a0 movs r0, #160 ; 0xa0 80691ca: f7eb f8cb bl 8054364 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 80691ce: 4a78 ldr r2, [pc, #480] ; (80693b0 ) 80691d0: 21da movs r1, #218 ; 0xda 80691d2: 200a movs r0, #10 80691d4: f7eb f8ae bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80691d8: 4972 ldr r1, [pc, #456] ; (80693a4 ) 80691da: f04f 30ff mov.w r0, #4294967295 80691de: f7ea fb01 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 80691e2: 230a movs r3, #10 80691e4: 220a movs r2, #10 80691e6: 218d movs r1, #141 ; 0x8d 80691e8: 20ff movs r0, #255 ; 0xff 80691ea: f7ea ff89 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 80691ee: 230a movs r3, #10 80691f0: 220a movs r2, #10 80691f2: 21ad movs r1, #173 ; 0xad 80691f4: 20ff movs r0, #255 ; 0xff 80691f6: f7ea ff83 bl 8054100 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80691fa: 4b68 ldr r3, [pc, #416] ; (806939c ) 80691fc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069200: f003 0304 and.w r3, r3, #4 8069204: 2b00 cmp r3, #0 8069206: d104 bne.n 8069212 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069208: 4966 ldr r1, [pc, #408] ; (80693a4 ) 806920a: 486a ldr r0, [pc, #424] ; (80693b4 ) 806920c: f7ea faea bl 80537e4 8069210: e003 b.n 806921a else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8069212: 4964 ldr r1, [pc, #400] ; (80693a4 ) 8069214: 4868 ldr r0, [pc, #416] ; (80693b8 ) 8069216: f7ea fae5 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 806921a: f507 73c0 add.w r3, r7, #384 ; 0x180 806921e: 461a mov r2, r3 8069220: 21ba movs r1, #186 ; 0xba 8069222: f44f 7082 mov.w r0, #260 ; 0x104 8069226: f7eb f89d bl 8054364 break; 806922a: f000 becb b.w 8069fc4 case RouteAutoKu: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806922e: 495d ldr r1, [pc, #372] ; (80693a4 ) 8069230: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069234: f7ea fad6 bl 80537e4 BSP_LCD_FillRect(253, CHECKBOX_LINE_10-2, 14, 14); 8069238: 230e movs r3, #14 806923a: 220e movs r2, #14 806923c: 21ab movs r1, #171 ; 0xab 806923e: 20fd movs r0, #253 ; 0xfd 8069240: f7ea ff5e bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069244: 4957 ldr r1, [pc, #348] ; (80693a4 ) 8069246: f04f 30ff mov.w r0, #4294967295 806924a: f7ea facb bl 80537e4 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806924e: 4a56 ldr r2, [pc, #344] ; (80693a8 ) 8069250: 21da movs r1, #218 ; 0xda 8069252: f240 1035 movw r0, #309 ; 0x135 8069256: f7eb f89d bl 8054394 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806925a: 4a54 ldr r2, [pc, #336] ; (80693ac ) 806925c: 21da movs r1, #218 ; 0xda 806925e: 20a0 movs r0, #160 ; 0xa0 8069260: f7eb f880 bl 8054364 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069264: 4a52 ldr r2, [pc, #328] ; (80693b0 ) 8069266: 21da movs r1, #218 ; 0xda 8069268: 200a movs r0, #10 806926a: f7eb f863 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806926e: 494d ldr r1, [pc, #308] ; (80693a4 ) 8069270: 4850 ldr r0, [pc, #320] ; (80693b4 ) 8069272: f7ea fab7 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069276: 4b49 ldr r3, [pc, #292] ; (806939c ) 8069278: 7b1b ldrb r3, [r3, #12] 806927a: b2db uxtb r3, r3 806927c: 461a mov r2, r3 806927e: 4b47 ldr r3, [pc, #284] ; (806939c ) 8069280: 7b9b ldrb r3, [r3, #14] 8069282: b2db uxtb r3, r3 8069284: 4618 mov r0, r3 8069286: 4946 ldr r1, [pc, #280] ; (80693a0 ) 8069288: 4613 mov r3, r2 806928a: 009b lsls r3, r3, #2 806928c: 4413 add r3, r2 806928e: 005b lsls r3, r3, #1 8069290: 4413 add r3, r2 8069292: 4403 add r3, r0 8069294: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069298: 461a mov r2, r3 806929a: 219a movs r1, #154 ; 0x9a 806929c: f44f 7082 mov.w r0, #260 ; 0x104 80692a0: f7eb f860 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80692a4: 493f ldr r1, [pc, #252] ; (80693a4 ) 80692a6: f04f 30ff mov.w r0, #4294967295 80692aa: f7ea fa9b bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 80692ae: 230a movs r3, #10 80692b0: 220a movs r2, #10 80692b2: 218d movs r1, #141 ; 0x8d 80692b4: 20ff movs r0, #255 ; 0xff 80692b6: f7ea ff23 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 80692ba: 230a movs r3, #10 80692bc: 220a movs r2, #10 80692be: 21ad movs r1, #173 ; 0xad 80692c0: 20ff movs r0, #255 ; 0xff 80692c2: f7ea ff1d bl 8054100 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80692c6: 4b35 ldr r3, [pc, #212] ; (806939c ) 80692c8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80692cc: f003 0304 and.w r3, r3, #4 80692d0: 2b00 cmp r3, #0 80692d2: d104 bne.n 80692de LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80692d4: 4933 ldr r1, [pc, #204] ; (80693a4 ) 80692d6: 4837 ldr r0, [pc, #220] ; (80693b4 ) 80692d8: f7ea fa84 bl 80537e4 80692dc: e003 b.n 80692e6 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80692de: 4931 ldr r1, [pc, #196] ; (80693a4 ) 80692e0: 4835 ldr r0, [pc, #212] ; (80693b8 ) 80692e2: f7ea fa7f bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 80692e6: f507 73c0 add.w r3, r7, #384 ; 0x180 80692ea: 461a mov r2, r3 80692ec: 21ba movs r1, #186 ; 0xba 80692ee: f44f 7082 mov.w r0, #260 ; 0x104 80692f2: f7eb f837 bl 8054364 break; 80692f6: f000 be65 b.w 8069fc4 case RouteMax_ALL: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80692fa: 492a ldr r1, [pc, #168] ; (80693a4 ) 80692fc: f04f 30ff mov.w r0, #4294967295 8069300: f7ea fa70 bl 80537e4 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069304: 4a28 ldr r2, [pc, #160] ; (80693a8 ) 8069306: 21da movs r1, #218 ; 0xda 8069308: f240 1035 movw r0, #309 ; 0x135 806930c: f7eb f842 bl 8054394 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069310: 4a26 ldr r2, [pc, #152] ; (80693ac ) 8069312: 21da movs r1, #218 ; 0xda 8069314: 20a0 movs r0, #160 ; 0xa0 8069316: f7eb f825 bl 8054364 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806931a: 4a25 ldr r2, [pc, #148] ; (80693b0 ) 806931c: 21da movs r1, #218 ; 0xda 806931e: 200a movs r0, #10 8069320: f7eb f808 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069324: 491f ldr r1, [pc, #124] ; (80693a4 ) 8069326: 4823 ldr r0, [pc, #140] ; (80693b4 ) 8069328: f7ea fa5c bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806932c: 4b1b ldr r3, [pc, #108] ; (806939c ) 806932e: 7b1b ldrb r3, [r3, #12] 8069330: b2db uxtb r3, r3 8069332: 461a mov r2, r3 8069334: 4b19 ldr r3, [pc, #100] ; (806939c ) 8069336: 7b9b ldrb r3, [r3, #14] 8069338: b2db uxtb r3, r3 806933a: 4618 mov r0, r3 806933c: 4918 ldr r1, [pc, #96] ; (80693a0 ) 806933e: 4613 mov r3, r2 8069340: 009b lsls r3, r3, #2 8069342: 4413 add r3, r2 8069344: 005b lsls r3, r3, #1 8069346: 4413 add r3, r2 8069348: 4403 add r3, r0 806934a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 806934e: 461a mov r2, r3 8069350: 219a movs r1, #154 ; 0x9a 8069352: f44f 7082 mov.w r0, #260 ; 0x104 8069356: f7eb f805 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806935a: 4912 ldr r1, [pc, #72] ; (80693a4 ) 806935c: f04f 30ff mov.w r0, #4294967295 8069360: f7ea fa40 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069364: 230a movs r3, #10 8069366: 220a movs r2, #10 8069368: 218d movs r1, #141 ; 0x8d 806936a: 20ff movs r0, #255 ; 0xff 806936c: f7ea fec8 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069370: 230a movs r3, #10 8069372: 220a movs r2, #10 8069374: 21ad movs r1, #173 ; 0xad 8069376: 20ff movs r0, #255 ; 0xff 8069378: f7ea fec2 bl 8054100 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806937c: 4909 ldr r1, [pc, #36] ; (80693a4 ) 806937e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069382: f7ea fa2f bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 8069386: f507 73c0 add.w r3, r7, #384 ; 0x180 806938a: 461a mov r2, r3 806938c: 21ba movs r1, #186 ; 0xba 806938e: f44f 7082 mov.w r0, #260 ; 0x104 8069392: f7ea ffe7 bl 8054364 break; 8069396: f000 be15 b.w 8069fc4 806939a: bf00 nop 806939c: 20023e60 .word 0x20023e60 80693a0: 20020334 .word 0x20020334 80693a4: ff0a0f1f .word 0xff0a0f1f 80693a8: 080cf868 .word 0x080cf868 80693ac: 080cf858 .word 0x080cf858 80693b0: 080cf860 .word 0x080cf860 80693b4: ffd8aa57 .word 0xffd8aa57 80693b8: ff808080 .word 0xff808080 case RouteMax_IDT: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80693bc: 499f ldr r1, [pc, #636] ; (806963c ) 80693be: f04f 30ff mov.w r0, #4294967295 80693c2: f7ea fa0f bl 80537e4 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 80693c6: 4a9e ldr r2, [pc, #632] ; (8069640 ) 80693c8: 21da movs r1, #218 ; 0xda 80693ca: f240 1035 movw r0, #309 ; 0x135 80693ce: f7ea ffe1 bl 8054394 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 80693d2: 4a9c ldr r2, [pc, #624] ; (8069644 ) 80693d4: 21da movs r1, #218 ; 0xda 80693d6: 20a0 movs r0, #160 ; 0xa0 80693d8: f7ea ffc4 bl 8054364 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 80693dc: 4a9a ldr r2, [pc, #616] ; (8069648 ) 80693de: 21da movs r1, #218 ; 0xda 80693e0: 200a movs r0, #10 80693e2: f7ea ffa7 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80693e6: 4995 ldr r1, [pc, #596] ; (806963c ) 80693e8: 4898 ldr r0, [pc, #608] ; (806964c ) 80693ea: f7ea f9fb bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 80693ee: 4b98 ldr r3, [pc, #608] ; (8069650 ) 80693f0: 7b1b ldrb r3, [r3, #12] 80693f2: b2db uxtb r3, r3 80693f4: 461a mov r2, r3 80693f6: 4b96 ldr r3, [pc, #600] ; (8069650 ) 80693f8: 7b9b ldrb r3, [r3, #14] 80693fa: b2db uxtb r3, r3 80693fc: 4618 mov r0, r3 80693fe: 4995 ldr r1, [pc, #596] ; (8069654 ) 8069400: 4613 mov r3, r2 8069402: 009b lsls r3, r3, #2 8069404: 4413 add r3, r2 8069406: 005b lsls r3, r3, #1 8069408: 4413 add r3, r2 806940a: 4403 add r3, r0 806940c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069410: 461a mov r2, r3 8069412: 219a movs r1, #154 ; 0x9a 8069414: f44f 7082 mov.w r0, #260 ; 0x104 8069418: f7ea ffa4 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806941c: 4987 ldr r1, [pc, #540] ; (806963c ) 806941e: f04f 30ff mov.w r0, #4294967295 8069422: f7ea f9df bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069426: 230a movs r3, #10 8069428: 220a movs r2, #10 806942a: 218d movs r1, #141 ; 0x8d 806942c: 20ff movs r0, #255 ; 0xff 806942e: f7ea fe67 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069432: 230a movs r3, #10 8069434: 220a movs r2, #10 8069436: 21ad movs r1, #173 ; 0xad 8069438: 20ff movs r0, #255 ; 0xff 806943a: f7ea fe61 bl 8054100 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806943e: 497f ldr r1, [pc, #508] ; (806963c ) 8069440: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069444: f7ea f9ce bl 80537e4 if(blk) 8069448: 4b83 ldr r3, [pc, #524] ; (8069658 ) 806944a: 681b ldr r3, [r3, #0] 806944c: 2b00 cmp r3, #0 806944e: d00b beq.n 8069468 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8069450: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8069454: b2db uxtb r3, r3 8069456: 461a mov r2, r3 8069458: 4b80 ldr r3, [pc, #512] ; (806965c ) 806945a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806945e: 461a mov r2, r3 8069460: 21ba movs r1, #186 ; 0xba 8069462: 20c6 movs r0, #198 ; 0xc6 8069464: f7ea ff66 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069468: 4974 ldr r1, [pc, #464] ; (806963c ) 806946a: 4878 ldr r0, [pc, #480] ; (806964c ) 806946c: f7ea f9ba bl 80537e4 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8069470: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8069474: b2db uxtb r3, r3 8069476: 461a mov r2, r3 8069478: 4b78 ldr r3, [pc, #480] ; (806965c ) 806947a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806947e: 461a mov r2, r3 8069480: 21ba movs r1, #186 ; 0xba 8069482: 20d6 movs r0, #214 ; 0xd6 8069484: f7ea ff56 bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8069488: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806948c: b2db uxtb r3, r3 806948e: 461a mov r2, r3 8069490: 4b72 ldr r3, [pc, #456] ; (806965c ) 8069492: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069496: 461a mov r2, r3 8069498: 21ba movs r1, #186 ; 0xba 806949a: 20e6 movs r0, #230 ; 0xe6 806949c: f7ea ff4a bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 80694a0: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80694a4: b2db uxtb r3, r3 80694a6: 461a mov r2, r3 80694a8: 4b6c ldr r3, [pc, #432] ; (806965c ) 80694aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80694ae: 461a mov r2, r3 80694b0: 21ba movs r1, #186 ; 0xba 80694b2: 20f6 movs r0, #246 ; 0xf6 80694b4: f7ea ff3e bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 80694b8: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80694bc: b2db uxtb r3, r3 80694be: 461a mov r2, r3 80694c0: 4b66 ldr r3, [pc, #408] ; (806965c ) 80694c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80694c6: 461a mov r2, r3 80694c8: 21ba movs r1, #186 ; 0xba 80694ca: f44f 7083 mov.w r0, #262 ; 0x106 80694ce: f7ea ff31 bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 80694d2: 4a63 ldr r2, [pc, #396] ; (8069660 ) 80694d4: 21ba movs r1, #186 ; 0xba 80694d6: f44f 708b mov.w r0, #278 ; 0x116 80694da: f7ea ff2b bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80694de: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80694e2: b2db uxtb r3, r3 80694e4: 461a mov r2, r3 80694e6: 4b5d ldr r3, [pc, #372] ; (806965c ) 80694e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80694ec: 461a mov r2, r3 80694ee: 21ba movs r1, #186 ; 0xba 80694f0: f44f 7093 mov.w r0, #294 ; 0x126 80694f4: f7ea ff1e bl 8054334 break; 80694f8: f000 bd64 b.w 8069fc4 case RouteMax_IET: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80694fc: 494f ldr r1, [pc, #316] ; (806963c ) 80694fe: f04f 30ff mov.w r0, #4294967295 8069502: f7ea f96f bl 80537e4 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069506: 4a4e ldr r2, [pc, #312] ; (8069640 ) 8069508: 21da movs r1, #218 ; 0xda 806950a: f240 1035 movw r0, #309 ; 0x135 806950e: f7ea ff41 bl 8054394 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069512: 4a4c ldr r2, [pc, #304] ; (8069644 ) 8069514: 21da movs r1, #218 ; 0xda 8069516: 20a0 movs r0, #160 ; 0xa0 8069518: f7ea ff24 bl 8054364 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806951c: 4a4a ldr r2, [pc, #296] ; (8069648 ) 806951e: 21da movs r1, #218 ; 0xda 8069520: 200a movs r0, #10 8069522: f7ea ff07 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069526: 4945 ldr r1, [pc, #276] ; (806963c ) 8069528: 4848 ldr r0, [pc, #288] ; (806964c ) 806952a: f7ea f95b bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806952e: 4b48 ldr r3, [pc, #288] ; (8069650 ) 8069530: 7b1b ldrb r3, [r3, #12] 8069532: b2db uxtb r3, r3 8069534: 461a mov r2, r3 8069536: 4b46 ldr r3, [pc, #280] ; (8069650 ) 8069538: 7b9b ldrb r3, [r3, #14] 806953a: b2db uxtb r3, r3 806953c: 4618 mov r0, r3 806953e: 4945 ldr r1, [pc, #276] ; (8069654 ) 8069540: 4613 mov r3, r2 8069542: 009b lsls r3, r3, #2 8069544: 4413 add r3, r2 8069546: 005b lsls r3, r3, #1 8069548: 4413 add r3, r2 806954a: 4403 add r3, r0 806954c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069550: 461a mov r2, r3 8069552: 219a movs r1, #154 ; 0x9a 8069554: f44f 7082 mov.w r0, #260 ; 0x104 8069558: f7ea ff04 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806955c: 4937 ldr r1, [pc, #220] ; (806963c ) 806955e: f04f 30ff mov.w r0, #4294967295 8069562: f7ea f93f bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069566: 230a movs r3, #10 8069568: 220a movs r2, #10 806956a: 218d movs r1, #141 ; 0x8d 806956c: 20ff movs r0, #255 ; 0xff 806956e: f7ea fdc7 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069572: 230a movs r3, #10 8069574: 220a movs r2, #10 8069576: 21ad movs r1, #173 ; 0xad 8069578: 20ff movs r0, #255 ; 0xff 806957a: f7ea fdc1 bl 8054100 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806957e: 492f ldr r1, [pc, #188] ; (806963c ) 8069580: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069584: f7ea f92e bl 80537e4 if(blk) 8069588: 4b33 ldr r3, [pc, #204] ; (8069658 ) 806958a: 681b ldr r3, [r3, #0] 806958c: 2b00 cmp r3, #0 806958e: d00b beq.n 80695a8 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8069590: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8069594: b2db uxtb r3, r3 8069596: 461a mov r2, r3 8069598: 4b30 ldr r3, [pc, #192] ; (806965c ) 806959a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806959e: 461a mov r2, r3 80695a0: 21ba movs r1, #186 ; 0xba 80695a2: 20d6 movs r0, #214 ; 0xd6 80695a4: f7ea fec6 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80695a8: 4924 ldr r1, [pc, #144] ; (806963c ) 80695aa: 4828 ldr r0, [pc, #160] ; (806964c ) 80695ac: f7ea f91a bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80695b0: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80695b4: b2db uxtb r3, r3 80695b6: 461a mov r2, r3 80695b8: 4b28 ldr r3, [pc, #160] ; (806965c ) 80695ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80695be: 461a mov r2, r3 80695c0: 21ba movs r1, #186 ; 0xba 80695c2: 20c6 movs r0, #198 ; 0xc6 80695c4: f7ea feb6 bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 80695c8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80695cc: b2db uxtb r3, r3 80695ce: 461a mov r2, r3 80695d0: 4b22 ldr r3, [pc, #136] ; (806965c ) 80695d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80695d6: 461a mov r2, r3 80695d8: 21ba movs r1, #186 ; 0xba 80695da: 20e6 movs r0, #230 ; 0xe6 80695dc: f7ea feaa bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 80695e0: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80695e4: b2db uxtb r3, r3 80695e6: 461a mov r2, r3 80695e8: 4b1c ldr r3, [pc, #112] ; (806965c ) 80695ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80695ee: 461a mov r2, r3 80695f0: 21ba movs r1, #186 ; 0xba 80695f2: 20f6 movs r0, #246 ; 0xf6 80695f4: f7ea fe9e bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 80695f8: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80695fc: b2db uxtb r3, r3 80695fe: 461a mov r2, r3 8069600: 4b16 ldr r3, [pc, #88] ; (806965c ) 8069602: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069606: 461a mov r2, r3 8069608: 21ba movs r1, #186 ; 0xba 806960a: f44f 7083 mov.w r0, #262 ; 0x106 806960e: f7ea fe91 bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 8069612: 4a13 ldr r2, [pc, #76] ; (8069660 ) 8069614: 21ba movs r1, #186 ; 0xba 8069616: f44f 708b mov.w r0, #278 ; 0x116 806961a: f7ea fe8b bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 806961e: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8069622: b2db uxtb r3, r3 8069624: 461a mov r2, r3 8069626: 4b0d ldr r3, [pc, #52] ; (806965c ) 8069628: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806962c: 461a mov r2, r3 806962e: 21ba movs r1, #186 ; 0xba 8069630: f44f 7093 mov.w r0, #294 ; 0x126 8069634: f7ea fe7e bl 8054334 break; 8069638: f000 bcc4 b.w 8069fc4 806963c: ff0a0f1f .word 0xff0a0f1f 8069640: 080cf868 .word 0x080cf868 8069644: 080cf858 .word 0x080cf858 8069648: 080cf860 .word 0x080cf860 806964c: ffd8aa57 .word 0xffd8aa57 8069650: 20023e60 .word 0x20023e60 8069654: 20020334 .word 0x20020334 8069658: 2002165c .word 0x2002165c 806965c: 20020964 .word 0x20020964 8069660: 080cf820 .word 0x080cf820 case RouteMax_IES: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069664: 499f ldr r1, [pc, #636] ; (80698e4 ) 8069666: f04f 30ff mov.w r0, #4294967295 806966a: f7ea f8bb bl 80537e4 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 806966e: 4a9e ldr r2, [pc, #632] ; (80698e8 ) 8069670: 21da movs r1, #218 ; 0xda 8069672: f240 1035 movw r0, #309 ; 0x135 8069676: f7ea fe8d bl 8054394 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 806967a: 4a9c ldr r2, [pc, #624] ; (80698ec ) 806967c: 21da movs r1, #218 ; 0xda 806967e: 20a0 movs r0, #160 ; 0xa0 8069680: f7ea fe70 bl 8054364 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069684: 4a9a ldr r2, [pc, #616] ; (80698f0 ) 8069686: 21da movs r1, #218 ; 0xda 8069688: 200a movs r0, #10 806968a: f7ea fe53 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 806968e: 4995 ldr r1, [pc, #596] ; (80698e4 ) 8069690: 4898 ldr r0, [pc, #608] ; (80698f4 ) 8069692: f7ea f8a7 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069696: 4b98 ldr r3, [pc, #608] ; (80698f8 ) 8069698: 7b1b ldrb r3, [r3, #12] 806969a: b2db uxtb r3, r3 806969c: 461a mov r2, r3 806969e: 4b96 ldr r3, [pc, #600] ; (80698f8 ) 80696a0: 7b9b ldrb r3, [r3, #14] 80696a2: b2db uxtb r3, r3 80696a4: 4618 mov r0, r3 80696a6: 4995 ldr r1, [pc, #596] ; (80698fc ) 80696a8: 4613 mov r3, r2 80696aa: 009b lsls r3, r3, #2 80696ac: 4413 add r3, r2 80696ae: 005b lsls r3, r3, #1 80696b0: 4413 add r3, r2 80696b2: 4403 add r3, r0 80696b4: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80696b8: 461a mov r2, r3 80696ba: 219a movs r1, #154 ; 0x9a 80696bc: f44f 7082 mov.w r0, #260 ; 0x104 80696c0: f7ea fe50 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80696c4: 4987 ldr r1, [pc, #540] ; (80698e4 ) 80696c6: f04f 30ff mov.w r0, #4294967295 80696ca: f7ea f88b bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 80696ce: 230a movs r3, #10 80696d0: 220a movs r2, #10 80696d2: 218d movs r1, #141 ; 0x8d 80696d4: 20ff movs r0, #255 ; 0xff 80696d6: f7ea fd13 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 80696da: 230a movs r3, #10 80696dc: 220a movs r2, #10 80696de: 21ad movs r1, #173 ; 0xad 80696e0: 20ff movs r0, #255 ; 0xff 80696e2: f7ea fd0d bl 8054100 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80696e6: 497f ldr r1, [pc, #508] ; (80698e4 ) 80696e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80696ec: f7ea f87a bl 80537e4 if(blk) 80696f0: 4b83 ldr r3, [pc, #524] ; (8069900 ) 80696f2: 681b ldr r3, [r3, #0] 80696f4: 2b00 cmp r3, #0 80696f6: d00b beq.n 8069710 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 80696f8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80696fc: b2db uxtb r3, r3 80696fe: 461a mov r2, r3 8069700: 4b80 ldr r3, [pc, #512] ; (8069904 ) 8069702: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069706: 461a mov r2, r3 8069708: 21ba movs r1, #186 ; 0xba 806970a: 20e6 movs r0, #230 ; 0xe6 806970c: f7ea fe12 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069710: 4974 ldr r1, [pc, #464] ; (80698e4 ) 8069712: 4878 ldr r0, [pc, #480] ; (80698f4 ) 8069714: f7ea f866 bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8069718: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806971c: b2db uxtb r3, r3 806971e: 461a mov r2, r3 8069720: 4b78 ldr r3, [pc, #480] ; (8069904 ) 8069722: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069726: 461a mov r2, r3 8069728: 21ba movs r1, #186 ; 0xba 806972a: 20c6 movs r0, #198 ; 0xc6 806972c: f7ea fe02 bl 8054334 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8069730: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8069734: b2db uxtb r3, r3 8069736: 461a mov r2, r3 8069738: 4b72 ldr r3, [pc, #456] ; (8069904 ) 806973a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806973e: 461a mov r2, r3 8069740: 21ba movs r1, #186 ; 0xba 8069742: 20d6 movs r0, #214 ; 0xd6 8069744: f7ea fdf6 bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8069748: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806974c: b2db uxtb r3, r3 806974e: 461a mov r2, r3 8069750: 4b6c ldr r3, [pc, #432] ; (8069904 ) 8069752: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069756: 461a mov r2, r3 8069758: 21ba movs r1, #186 ; 0xba 806975a: 20f6 movs r0, #246 ; 0xf6 806975c: f7ea fdea bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8069760: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8069764: b2db uxtb r3, r3 8069766: 461a mov r2, r3 8069768: 4b66 ldr r3, [pc, #408] ; (8069904 ) 806976a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806976e: 461a mov r2, r3 8069770: 21ba movs r1, #186 ; 0xba 8069772: f44f 7083 mov.w r0, #262 ; 0x106 8069776: f7ea fddd bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 806977a: 4a63 ldr r2, [pc, #396] ; (8069908 ) 806977c: 21ba movs r1, #186 ; 0xba 806977e: f44f 708b mov.w r0, #278 ; 0x116 8069782: f7ea fdd7 bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8069786: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 806978a: b2db uxtb r3, r3 806978c: 461a mov r2, r3 806978e: 4b5d ldr r3, [pc, #372] ; (8069904 ) 8069790: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069794: 461a mov r2, r3 8069796: 21ba movs r1, #186 ; 0xba 8069798: f44f 7093 mov.w r0, #294 ; 0x126 806979c: f7ea fdca bl 8054334 break; 80697a0: f000 bc10 b.w 8069fc4 case RouteMax_IED: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80697a4: 494f ldr r1, [pc, #316] ; (80698e4 ) 80697a6: f04f 30ff mov.w r0, #4294967295 80697aa: f7ea f81b bl 80537e4 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 80697ae: 4a4e ldr r2, [pc, #312] ; (80698e8 ) 80697b0: 21da movs r1, #218 ; 0xda 80697b2: f240 1035 movw r0, #309 ; 0x135 80697b6: f7ea fded bl 8054394 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 80697ba: 4a4c ldr r2, [pc, #304] ; (80698ec ) 80697bc: 21da movs r1, #218 ; 0xda 80697be: 20a0 movs r0, #160 ; 0xa0 80697c0: f7ea fdd0 bl 8054364 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 80697c4: 4a4a ldr r2, [pc, #296] ; (80698f0 ) 80697c6: 21da movs r1, #218 ; 0xda 80697c8: 200a movs r0, #10 80697ca: f7ea fdb3 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80697ce: 4945 ldr r1, [pc, #276] ; (80698e4 ) 80697d0: 4848 ldr r0, [pc, #288] ; (80698f4 ) 80697d2: f7ea f807 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 80697d6: 4b48 ldr r3, [pc, #288] ; (80698f8 ) 80697d8: 7b1b ldrb r3, [r3, #12] 80697da: b2db uxtb r3, r3 80697dc: 461a mov r2, r3 80697de: 4b46 ldr r3, [pc, #280] ; (80698f8 ) 80697e0: 7b9b ldrb r3, [r3, #14] 80697e2: b2db uxtb r3, r3 80697e4: 4618 mov r0, r3 80697e6: 4945 ldr r1, [pc, #276] ; (80698fc ) 80697e8: 4613 mov r3, r2 80697ea: 009b lsls r3, r3, #2 80697ec: 4413 add r3, r2 80697ee: 005b lsls r3, r3, #1 80697f0: 4413 add r3, r2 80697f2: 4403 add r3, r0 80697f4: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80697f8: 461a mov r2, r3 80697fa: 219a movs r1, #154 ; 0x9a 80697fc: f44f 7082 mov.w r0, #260 ; 0x104 8069800: f7ea fdb0 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069804: 4937 ldr r1, [pc, #220] ; (80698e4 ) 8069806: f04f 30ff mov.w r0, #4294967295 806980a: f7e9 ffeb bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 806980e: 230a movs r3, #10 8069810: 220a movs r2, #10 8069812: 218d movs r1, #141 ; 0x8d 8069814: 20ff movs r0, #255 ; 0xff 8069816: f7ea fc73 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 806981a: 230a movs r3, #10 806981c: 220a movs r2, #10 806981e: 21ad movs r1, #173 ; 0xad 8069820: 20ff movs r0, #255 ; 0xff 8069822: f7ea fc6d bl 8054100 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069826: 492f ldr r1, [pc, #188] ; (80698e4 ) 8069828: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806982c: f7e9 ffda bl 80537e4 if(blk) 8069830: 4b33 ldr r3, [pc, #204] ; (8069900 ) 8069832: 681b ldr r3, [r3, #0] 8069834: 2b00 cmp r3, #0 8069836: d00b beq.n 8069850 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8069838: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 806983c: b2db uxtb r3, r3 806983e: 461a mov r2, r3 8069840: 4b30 ldr r3, [pc, #192] ; (8069904 ) 8069842: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069846: 461a mov r2, r3 8069848: 21ba movs r1, #186 ; 0xba 806984a: 20f6 movs r0, #246 ; 0xf6 806984c: f7ea fd72 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069850: 4924 ldr r1, [pc, #144] ; (80698e4 ) 8069852: 4828 ldr r0, [pc, #160] ; (80698f4 ) 8069854: f7e9 ffc6 bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8069858: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 806985c: b2db uxtb r3, r3 806985e: 461a mov r2, r3 8069860: 4b28 ldr r3, [pc, #160] ; (8069904 ) 8069862: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069866: 461a mov r2, r3 8069868: 21ba movs r1, #186 ; 0xba 806986a: 20c6 movs r0, #198 ; 0xc6 806986c: f7ea fd62 bl 8054334 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8069870: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8069874: b2db uxtb r3, r3 8069876: 461a mov r2, r3 8069878: 4b22 ldr r3, [pc, #136] ; (8069904 ) 806987a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 806987e: 461a mov r2, r3 8069880: 21ba movs r1, #186 ; 0xba 8069882: 20d6 movs r0, #214 ; 0xd6 8069884: f7ea fd56 bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8069888: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 806988c: b2db uxtb r3, r3 806988e: 461a mov r2, r3 8069890: 4b1c ldr r3, [pc, #112] ; (8069904 ) 8069892: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069896: 461a mov r2, r3 8069898: 21ba movs r1, #186 ; 0xba 806989a: 20e6 movs r0, #230 ; 0xe6 806989c: f7ea fd4a bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 80698a0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80698a4: b2db uxtb r3, r3 80698a6: 461a mov r2, r3 80698a8: 4b16 ldr r3, [pc, #88] ; (8069904 ) 80698aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80698ae: 461a mov r2, r3 80698b0: 21ba movs r1, #186 ; 0xba 80698b2: f44f 7083 mov.w r0, #262 ; 0x106 80698b6: f7ea fd3d bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 80698ba: 4a13 ldr r2, [pc, #76] ; (8069908 ) 80698bc: 21ba movs r1, #186 ; 0xba 80698be: f44f 708b mov.w r0, #278 ; 0x116 80698c2: f7ea fd37 bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80698c6: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80698ca: b2db uxtb r3, r3 80698cc: 461a mov r2, r3 80698ce: 4b0d ldr r3, [pc, #52] ; (8069904 ) 80698d0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80698d4: 461a mov r2, r3 80698d6: 21ba movs r1, #186 ; 0xba 80698d8: f44f 7093 mov.w r0, #294 ; 0x126 80698dc: f7ea fd2a bl 8054334 break; 80698e0: e370 b.n 8069fc4 80698e2: bf00 nop 80698e4: ff0a0f1f .word 0xff0a0f1f 80698e8: 080cf868 .word 0x080cf868 80698ec: 080cf858 .word 0x080cf858 80698f0: 080cf860 .word 0x080cf860 80698f4: ffd8aa57 .word 0xffd8aa57 80698f8: 20023e60 .word 0x20023e60 80698fc: 20020334 .word 0x20020334 8069900: 2002165c .word 0x2002165c 8069904: 20020964 .word 0x20020964 8069908: 080cf820 .word 0x080cf820 case RouteMax_IEE: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806990c: 49d0 ldr r1, [pc, #832] ; (8069c50 ) 806990e: f04f 30ff mov.w r0, #4294967295 8069912: f7e9 ff67 bl 80537e4 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069916: 4acf ldr r2, [pc, #828] ; (8069c54 ) 8069918: 21da movs r1, #218 ; 0xda 806991a: f240 1035 movw r0, #309 ; 0x135 806991e: f7ea fd39 bl 8054394 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069922: 4acd ldr r2, [pc, #820] ; (8069c58 ) 8069924: 21da movs r1, #218 ; 0xda 8069926: 20a0 movs r0, #160 ; 0xa0 8069928: f7ea fd1c bl 8054364 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 806992c: 4acb ldr r2, [pc, #812] ; (8069c5c ) 806992e: 21da movs r1, #218 ; 0xda 8069930: 200a movs r0, #10 8069932: f7ea fcff bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069936: 49c6 ldr r1, [pc, #792] ; (8069c50 ) 8069938: 48c9 ldr r0, [pc, #804] ; (8069c60 ) 806993a: f7e9 ff53 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 806993e: 4bc9 ldr r3, [pc, #804] ; (8069c64 ) 8069940: 7b1b ldrb r3, [r3, #12] 8069942: b2db uxtb r3, r3 8069944: 461a mov r2, r3 8069946: 4bc7 ldr r3, [pc, #796] ; (8069c64 ) 8069948: 7b9b ldrb r3, [r3, #14] 806994a: b2db uxtb r3, r3 806994c: 4618 mov r0, r3 806994e: 49c6 ldr r1, [pc, #792] ; (8069c68 ) 8069950: 4613 mov r3, r2 8069952: 009b lsls r3, r3, #2 8069954: 4413 add r3, r2 8069956: 005b lsls r3, r3, #1 8069958: 4413 add r3, r2 806995a: 4403 add r3, r0 806995c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069960: 461a mov r2, r3 8069962: 219a movs r1, #154 ; 0x9a 8069964: f44f 7082 mov.w r0, #260 ; 0x104 8069968: f7ea fcfc bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806996c: 49b8 ldr r1, [pc, #736] ; (8069c50 ) 806996e: f04f 30ff mov.w r0, #4294967295 8069972: f7e9 ff37 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069976: 230a movs r3, #10 8069978: 220a movs r2, #10 806997a: 218d movs r1, #141 ; 0x8d 806997c: 20ff movs r0, #255 ; 0xff 806997e: f7ea fbbf bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069982: 230a movs r3, #10 8069984: 220a movs r2, #10 8069986: 21ad movs r1, #173 ; 0xad 8069988: 20ff movs r0, #255 ; 0xff 806998a: f7ea fbb9 bl 8054100 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806998e: 49b0 ldr r1, [pc, #704] ; (8069c50 ) 8069990: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069994: f7e9 ff26 bl 80537e4 if(blk) 8069998: 4bb4 ldr r3, [pc, #720] ; (8069c6c ) 806999a: 681b ldr r3, [r3, #0] 806999c: 2b00 cmp r3, #0 806999e: d00c beq.n 80699ba LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 80699a0: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80699a4: b2db uxtb r3, r3 80699a6: 461a mov r2, r3 80699a8: 4bb1 ldr r3, [pc, #708] ; (8069c70 ) 80699aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80699ae: 461a mov r2, r3 80699b0: 21ba movs r1, #186 ; 0xba 80699b2: f44f 7083 mov.w r0, #262 ; 0x106 80699b6: f7ea fcbd bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80699ba: 49a5 ldr r1, [pc, #660] ; (8069c50 ) 80699bc: 48a8 ldr r0, [pc, #672] ; (8069c60 ) 80699be: f7e9 ff11 bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80699c2: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80699c6: b2db uxtb r3, r3 80699c8: 461a mov r2, r3 80699ca: 4ba9 ldr r3, [pc, #676] ; (8069c70 ) 80699cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80699d0: 461a mov r2, r3 80699d2: 21ba movs r1, #186 ; 0xba 80699d4: 20c6 movs r0, #198 ; 0xc6 80699d6: f7ea fcad bl 8054334 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 80699da: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80699de: b2db uxtb r3, r3 80699e0: 461a mov r2, r3 80699e2: 4ba3 ldr r3, [pc, #652] ; (8069c70 ) 80699e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80699e8: 461a mov r2, r3 80699ea: 21ba movs r1, #186 ; 0xba 80699ec: 20d6 movs r0, #214 ; 0xd6 80699ee: f7ea fca1 bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 80699f2: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80699f6: b2db uxtb r3, r3 80699f8: 461a mov r2, r3 80699fa: 4b9d ldr r3, [pc, #628] ; (8069c70 ) 80699fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069a00: 461a mov r2, r3 8069a02: 21ba movs r1, #186 ; 0xba 8069a04: 20e6 movs r0, #230 ; 0xe6 8069a06: f7ea fc95 bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8069a0a: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8069a0e: b2db uxtb r3, r3 8069a10: 461a mov r2, r3 8069a12: 4b97 ldr r3, [pc, #604] ; (8069c70 ) 8069a14: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069a18: 461a mov r2, r3 8069a1a: 21ba movs r1, #186 ; 0xba 8069a1c: 20f6 movs r0, #246 ; 0xf6 8069a1e: f7ea fc89 bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 8069a22: 4a94 ldr r2, [pc, #592] ; (8069c74 ) 8069a24: 21ba movs r1, #186 ; 0xba 8069a26: f44f 708b mov.w r0, #278 ; 0x116 8069a2a: f7ea fc83 bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8069a2e: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8069a32: b2db uxtb r3, r3 8069a34: 461a mov r2, r3 8069a36: 4b8e ldr r3, [pc, #568] ; (8069c70 ) 8069a38: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069a3c: 461a mov r2, r3 8069a3e: 21ba movs r1, #186 ; 0xba 8069a40: f44f 7093 mov.w r0, #294 ; 0x126 8069a44: f7ea fc76 bl 8054334 break; 8069a48: e2bc b.n 8069fc4 case RouteMax_IKD: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069a4a: 4981 ldr r1, [pc, #516] ; (8069c50 ) 8069a4c: f04f 30ff mov.w r0, #4294967295 8069a50: f7e9 fec8 bl 80537e4 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069a54: 4a7f ldr r2, [pc, #508] ; (8069c54 ) 8069a56: 21da movs r1, #218 ; 0xda 8069a58: f240 1035 movw r0, #309 ; 0x135 8069a5c: f7ea fc9a bl 8054394 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069a60: 4a7d ldr r2, [pc, #500] ; (8069c58 ) 8069a62: 21da movs r1, #218 ; 0xda 8069a64: 20a0 movs r0, #160 ; 0xa0 8069a66: f7ea fc7d bl 8054364 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069a6a: 4a7c ldr r2, [pc, #496] ; (8069c5c ) 8069a6c: 21da movs r1, #218 ; 0xda 8069a6e: 200a movs r0, #10 8069a70: f7ea fc60 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069a74: 4976 ldr r1, [pc, #472] ; (8069c50 ) 8069a76: 487a ldr r0, [pc, #488] ; (8069c60 ) 8069a78: f7e9 feb4 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069a7c: 4b79 ldr r3, [pc, #484] ; (8069c64 ) 8069a7e: 7b1b ldrb r3, [r3, #12] 8069a80: b2db uxtb r3, r3 8069a82: 461a mov r2, r3 8069a84: 4b77 ldr r3, [pc, #476] ; (8069c64 ) 8069a86: 7b9b ldrb r3, [r3, #14] 8069a88: b2db uxtb r3, r3 8069a8a: 4618 mov r0, r3 8069a8c: 4976 ldr r1, [pc, #472] ; (8069c68 ) 8069a8e: 4613 mov r3, r2 8069a90: 009b lsls r3, r3, #2 8069a92: 4413 add r3, r2 8069a94: 005b lsls r3, r3, #1 8069a96: 4413 add r3, r2 8069a98: 4403 add r3, r0 8069a9a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069a9e: 461a mov r2, r3 8069aa0: 219a movs r1, #154 ; 0x9a 8069aa2: f44f 7082 mov.w r0, #260 ; 0x104 8069aa6: f7ea fc5d bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069aaa: 4969 ldr r1, [pc, #420] ; (8069c50 ) 8069aac: f04f 30ff mov.w r0, #4294967295 8069ab0: f7e9 fe98 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069ab4: 230a movs r3, #10 8069ab6: 220a movs r2, #10 8069ab8: 218d movs r1, #141 ; 0x8d 8069aba: 20ff movs r0, #255 ; 0xff 8069abc: f7ea fb20 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069ac0: 230a movs r3, #10 8069ac2: 220a movs r2, #10 8069ac4: 21ad movs r1, #173 ; 0xad 8069ac6: 20ff movs r0, #255 ; 0xff 8069ac8: f7ea fb1a bl 8054100 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069acc: 4960 ldr r1, [pc, #384] ; (8069c50 ) 8069ace: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069ad2: f7e9 fe87 bl 80537e4 if(blk) 8069ad6: 4b65 ldr r3, [pc, #404] ; (8069c6c ) 8069ad8: 681b ldr r3, [r3, #0] 8069ada: 2b00 cmp r3, #0 8069adc: d00c beq.n 8069af8 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8069ade: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8069ae2: b2db uxtb r3, r3 8069ae4: 461a mov r2, r3 8069ae6: 4b62 ldr r3, [pc, #392] ; (8069c70 ) 8069ae8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069aec: 461a mov r2, r3 8069aee: 21ba movs r1, #186 ; 0xba 8069af0: f44f 7093 mov.w r0, #294 ; 0x126 8069af4: f7ea fc1e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069af8: 4955 ldr r1, [pc, #340] ; (8069c50 ) 8069afa: 4859 ldr r0, [pc, #356] ; (8069c60 ) 8069afc: f7e9 fe72 bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8069b00: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8069b04: b2db uxtb r3, r3 8069b06: 461a mov r2, r3 8069b08: 4b59 ldr r3, [pc, #356] ; (8069c70 ) 8069b0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069b0e: 461a mov r2, r3 8069b10: 21ba movs r1, #186 ; 0xba 8069b12: 20c6 movs r0, #198 ; 0xc6 8069b14: f7ea fc0e bl 8054334 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8069b18: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8069b1c: b2db uxtb r3, r3 8069b1e: 461a mov r2, r3 8069b20: 4b53 ldr r3, [pc, #332] ; (8069c70 ) 8069b22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069b26: 461a mov r2, r3 8069b28: 21ba movs r1, #186 ; 0xba 8069b2a: 20d6 movs r0, #214 ; 0xd6 8069b2c: f7ea fc02 bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8069b30: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8069b34: b2db uxtb r3, r3 8069b36: 461a mov r2, r3 8069b38: 4b4d ldr r3, [pc, #308] ; (8069c70 ) 8069b3a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069b3e: 461a mov r2, r3 8069b40: 21ba movs r1, #186 ; 0xba 8069b42: 20e6 movs r0, #230 ; 0xe6 8069b44: f7ea fbf6 bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8069b48: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8069b4c: b2db uxtb r3, r3 8069b4e: 461a mov r2, r3 8069b50: 4b47 ldr r3, [pc, #284] ; (8069c70 ) 8069b52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069b56: 461a mov r2, r3 8069b58: 21ba movs r1, #186 ; 0xba 8069b5a: 20f6 movs r0, #246 ; 0xf6 8069b5c: f7ea fbea bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8069b60: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8069b64: b2db uxtb r3, r3 8069b66: 461a mov r2, r3 8069b68: 4b41 ldr r3, [pc, #260] ; (8069c70 ) 8069b6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8069b6e: 461a mov r2, r3 8069b70: 21ba movs r1, #186 ; 0xba 8069b72: f44f 7083 mov.w r0, #262 ; 0x106 8069b76: f7ea fbdd bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 8069b7a: 4a3e ldr r2, [pc, #248] ; (8069c74 ) 8069b7c: 21ba movs r1, #186 ; 0xba 8069b7e: f44f 708b mov.w r0, #278 ; 0x116 8069b82: f7ea fbd7 bl 8054334 break; 8069b86: e21d b.n 8069fc4 case RouteTacho: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069b88: 4931 ldr r1, [pc, #196] ; (8069c50 ) 8069b8a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069b8e: f7e9 fe29 bl 80537e4 BSP_LCD_FillRect(253, CHECKBOX_LINE_8-2, 14, 14); 8069b92: 230e movs r3, #14 8069b94: 220e movs r2, #14 8069b96: 218b movs r1, #139 ; 0x8b 8069b98: 20fd movs r0, #253 ; 0xfd 8069b9a: f7ea fab1 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069b9e: 492c ldr r1, [pc, #176] ; (8069c50 ) 8069ba0: f04f 30ff mov.w r0, #4294967295 8069ba4: f7e9 fe1e bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069ba8: 230a movs r3, #10 8069baa: 220a movs r2, #10 8069bac: 218d movs r1, #141 ; 0x8d 8069bae: 20ff movs r0, #255 ; 0xff 8069bb0: f7ea faa6 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069bb4: 4926 ldr r1, [pc, #152] ; (8069c50 ) 8069bb6: f04f 30ff mov.w r0, #4294967295 8069bba: f7e9 fe13 bl 80537e4 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069bbe: 4a25 ldr r2, [pc, #148] ; (8069c54 ) 8069bc0: 21da movs r1, #218 ; 0xda 8069bc2: f240 1035 movw r0, #309 ; 0x135 8069bc6: f7ea fbe5 bl 8054394 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069bca: 4a23 ldr r2, [pc, #140] ; (8069c58 ) 8069bcc: 21da movs r1, #218 ; 0xda 8069bce: 20a0 movs r0, #160 ; 0xa0 8069bd0: f7ea fbc8 bl 8054364 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069bd4: 4a21 ldr r2, [pc, #132] ; (8069c5c ) 8069bd6: 21da movs r1, #218 ; 0xda 8069bd8: 200a movs r0, #10 8069bda: f7ea fbab bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069bde: 491c ldr r1, [pc, #112] ; (8069c50 ) 8069be0: 481f ldr r0, [pc, #124] ; (8069c60 ) 8069be2: f7e9 fdff bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069be6: 4b1f ldr r3, [pc, #124] ; (8069c64 ) 8069be8: 7b1b ldrb r3, [r3, #12] 8069bea: b2db uxtb r3, r3 8069bec: 461a mov r2, r3 8069bee: 4b1d ldr r3, [pc, #116] ; (8069c64 ) 8069bf0: 7b9b ldrb r3, [r3, #14] 8069bf2: b2db uxtb r3, r3 8069bf4: 4618 mov r0, r3 8069bf6: 491c ldr r1, [pc, #112] ; (8069c68 ) 8069bf8: 4613 mov r3, r2 8069bfa: 009b lsls r3, r3, #2 8069bfc: 4413 add r3, r2 8069bfe: 005b lsls r3, r3, #1 8069c00: 4413 add r3, r2 8069c02: 4403 add r3, r0 8069c04: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069c08: 461a mov r2, r3 8069c0a: 219a movs r1, #154 ; 0x9a 8069c0c: f44f 7082 mov.w r0, #260 ; 0x104 8069c10: f7ea fba8 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069c14: 490e ldr r1, [pc, #56] ; (8069c50 ) 8069c16: f04f 30ff mov.w r0, #4294967295 8069c1a: f7e9 fde3 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069c1e: 230a movs r3, #10 8069c20: 220a movs r2, #10 8069c22: 218d movs r1, #141 ; 0x8d 8069c24: 20ff movs r0, #255 ; 0xff 8069c26: f7ea fa6b bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069c2a: 230a movs r3, #10 8069c2c: 220a movs r2, #10 8069c2e: 21ad movs r1, #173 ; 0xad 8069c30: 20ff movs r0, #255 ; 0xff 8069c32: f7ea fa65 bl 8054100 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8069c36: 4b0b ldr r3, [pc, #44] ; (8069c64 ) 8069c38: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069c3c: f003 0304 and.w r3, r3, #4 8069c40: 2b00 cmp r3, #0 8069c42: d119 bne.n 8069c78 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069c44: 4902 ldr r1, [pc, #8] ; (8069c50 ) 8069c46: 4806 ldr r0, [pc, #24] ; (8069c60 ) 8069c48: f7e9 fdcc bl 80537e4 8069c4c: e018 b.n 8069c80 8069c4e: bf00 nop 8069c50: ff0a0f1f .word 0xff0a0f1f 8069c54: 080cf868 .word 0x080cf868 8069c58: 080cf858 .word 0x080cf858 8069c5c: 080cf860 .word 0x080cf860 8069c60: ffd8aa57 .word 0xffd8aa57 8069c64: 20023e60 .word 0x20023e60 8069c68: 20020334 .word 0x20020334 8069c6c: 2002165c .word 0x2002165c 8069c70: 20020964 .word 0x20020964 8069c74: 080cf820 .word 0x080cf820 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8069c78: 498e ldr r1, [pc, #568] ; (8069eb4 ) 8069c7a: 488f ldr r0, [pc, #572] ; (8069eb8 ) 8069c7c: f7e9 fdb2 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 8069c80: f507 73c0 add.w r3, r7, #384 ; 0x180 8069c84: 461a mov r2, r3 8069c86: 21ba movs r1, #186 ; 0xba 8069c88: f44f 7082 mov.w r0, #260 ; 0x104 8069c8c: f7ea fb6a bl 8054364 break; 8069c90: e198 b.n 8069fc4 case RouteNullNo: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069c92: 4988 ldr r1, [pc, #544] ; (8069eb4 ) 8069c94: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069c98: f7e9 fda4 bl 80537e4 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069c9c: 4a87 ldr r2, [pc, #540] ; (8069ebc ) 8069c9e: 21da movs r1, #218 ; 0xda 8069ca0: f240 1035 movw r0, #309 ; 0x135 8069ca4: f7ea fb76 bl 8054394 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069ca8: 4982 ldr r1, [pc, #520] ; (8069eb4 ) 8069caa: f04f 30ff mov.w r0, #4294967295 8069cae: f7e9 fd99 bl 80537e4 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069cb2: 4a83 ldr r2, [pc, #524] ; (8069ec0 ) 8069cb4: 21da movs r1, #218 ; 0xda 8069cb6: 20a0 movs r0, #160 ; 0xa0 8069cb8: f7ea fb54 bl 8054364 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069cbc: 4a81 ldr r2, [pc, #516] ; (8069ec4 ) 8069cbe: 21da movs r1, #218 ; 0xda 8069cc0: 200a movs r0, #10 8069cc2: f7ea fb37 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069cc6: 497b ldr r1, [pc, #492] ; (8069eb4 ) 8069cc8: 487f ldr r0, [pc, #508] ; (8069ec8 ) 8069cca: f7e9 fd8b bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069cce: 4b7f ldr r3, [pc, #508] ; (8069ecc ) 8069cd0: 7b1b ldrb r3, [r3, #12] 8069cd2: b2db uxtb r3, r3 8069cd4: 461a mov r2, r3 8069cd6: 4b7d ldr r3, [pc, #500] ; (8069ecc ) 8069cd8: 7b9b ldrb r3, [r3, #14] 8069cda: b2db uxtb r3, r3 8069cdc: 4618 mov r0, r3 8069cde: 497c ldr r1, [pc, #496] ; (8069ed0 ) 8069ce0: 4613 mov r3, r2 8069ce2: 009b lsls r3, r3, #2 8069ce4: 4413 add r3, r2 8069ce6: 005b lsls r3, r3, #1 8069ce8: 4413 add r3, r2 8069cea: 4403 add r3, r0 8069cec: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069cf0: 461a mov r2, r3 8069cf2: 219a movs r1, #154 ; 0x9a 8069cf4: f44f 7082 mov.w r0, #260 ; 0x104 8069cf8: f7ea fb34 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069cfc: 496d ldr r1, [pc, #436] ; (8069eb4 ) 8069cfe: f04f 30ff mov.w r0, #4294967295 8069d02: f7e9 fd6f bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069d06: 230a movs r3, #10 8069d08: 220a movs r2, #10 8069d0a: 218d movs r1, #141 ; 0x8d 8069d0c: 20ff movs r0, #255 ; 0xff 8069d0e: f7ea f9f7 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069d12: 230a movs r3, #10 8069d14: 220a movs r2, #10 8069d16: 21ad movs r1, #173 ; 0xad 8069d18: 20ff movs r0, #255 ; 0xff 8069d1a: f7ea f9f1 bl 8054100 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8069d1e: 4b6b ldr r3, [pc, #428] ; (8069ecc ) 8069d20: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069d24: f003 0304 and.w r3, r3, #4 8069d28: 2b00 cmp r3, #0 8069d2a: d104 bne.n 8069d36 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069d2c: 4961 ldr r1, [pc, #388] ; (8069eb4 ) 8069d2e: 4866 ldr r0, [pc, #408] ; (8069ec8 ) 8069d30: f7e9 fd58 bl 80537e4 8069d34: e003 b.n 8069d3e else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8069d36: 495f ldr r1, [pc, #380] ; (8069eb4 ) 8069d38: 485f ldr r0, [pc, #380] ; (8069eb8 ) 8069d3a: f7e9 fd53 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 8069d3e: f507 73c0 add.w r3, r7, #384 ; 0x180 8069d42: 461a mov r2, r3 8069d44: 21ba movs r1, #186 ; 0xba 8069d46: f44f 7082 mov.w r0, #260 ; 0x104 8069d4a: f7ea fb0b bl 8054364 if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 8069d4e: 4b5f ldr r3, [pc, #380] ; (8069ecc ) 8069d50: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069d54: f003 0304 and.w r3, r3, #4 8069d58: 2b00 cmp r3, #0 8069d5a: d00a beq.n 8069d72 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8069d5c: 4955 ldr r1, [pc, #340] ; (8069eb4 ) 8069d5e: 485d ldr r0, [pc, #372] ; (8069ed4 ) 8069d60: f7e9 fd40 bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 8069d64: 2306 movs r3, #6 8069d66: 2206 movs r2, #6 8069d68: 21af movs r1, #175 ; 0xaf 8069d6a: f240 1001 movw r0, #257 ; 0x101 8069d6e: f7ea f9c7 bl 8054100 } if(pardata.OPTIONS & BIT7) 8069d72: 4b56 ldr r3, [pc, #344] ; (8069ecc ) 8069d74: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069d78: f003 0380 and.w r3, r3, #128 ; 0x80 8069d7c: 2b00 cmp r3, #0 8069d7e: d00a beq.n 8069d96 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8069d80: 494c ldr r1, [pc, #304] ; (8069eb4 ) 8069d82: 4854 ldr r0, [pc, #336] ; (8069ed4 ) 8069d84: f7e9 fd2e bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 8069d88: 2306 movs r3, #6 8069d8a: 2206 movs r2, #6 8069d8c: 218f movs r1, #143 ; 0x8f 8069d8e: f240 1001 movw r0, #257 ; 0x101 8069d92: f7ea f9b5 bl 8054100 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069d96: 4947 ldr r1, [pc, #284] ; (8069eb4 ) 8069d98: f04f 30ff mov.w r0, #4294967295 8069d9c: f7e9 fd22 bl 80537e4 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8069da0: 237c movs r3, #124 ; 0x7c 8069da2: 22f0 movs r2, #240 ; 0xf0 8069da4: 2148 movs r1, #72 ; 0x48 8069da6: 2028 movs r0, #40 ; 0x28 8069da8: f7ea f9aa bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8069dac: 4941 ldr r1, [pc, #260] ; (8069eb4 ) 8069dae: 4841 ldr r0, [pc, #260] ; (8069eb4 ) 8069db0: f7e9 fd18 bl 80537e4 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8069db4: 2378 movs r3, #120 ; 0x78 8069db6: 22ec movs r2, #236 ; 0xec 8069db8: 214a movs r1, #74 ; 0x4a 8069dba: 202a movs r0, #42 ; 0x2a 8069dbc: f7ea f9a0 bl 8054100 BSP_LCD_SetFont(&Font12); 8069dc0: 4845 ldr r0, [pc, #276] ; (8069ed8 ) 8069dc2: f7e9 fd4b bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069dc6: 493b ldr r1, [pc, #236] ; (8069eb4 ) 8069dc8: f04f 30ff mov.w r0, #4294967295 8069dcc: f7e9 fd0a bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå íà÷àòü ìàðøðóò", CENTER_MODE); 8069dd0: 2301 movs r3, #1 8069dd2: 4a42 ldr r2, [pc, #264] ; (8069edc ) 8069dd4: 217a movs r1, #122 ; 0x7a 8069dd6: 20a0 movs r0, #160 ; 0xa0 8069dd8: f7e9 fdca bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "çàíîâî?", CENTER_MODE); 8069ddc: 2301 movs r3, #1 8069dde: 4a40 ldr r2, [pc, #256] ; (8069ee0 ) 8069de0: 218a movs r1, #138 ; 0x8a 8069de2: 20a0 movs r0, #160 ; 0xa0 8069de4: f7e9 fdc4 bl 8053970 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8069de8: 2302 movs r3, #2 8069dea: 4a3e ldr r2, [pc, #248] ; (8069ee4 ) 8069dec: 21aa movs r1, #170 ; 0xaa 8069dee: f44f 7081 mov.w r0, #258 ; 0x102 8069df2: f7e9 fdbd bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069df6: 492f ldr r1, [pc, #188] ; (8069eb4 ) 8069df8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069dfc: f7e9 fcf2 bl 80537e4 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8069e00: 2303 movs r3, #3 8069e02: 4a39 ldr r2, [pc, #228] ; (8069ee8 ) 8069e04: 21aa movs r1, #170 ; 0xaa 8069e06: 203e movs r0, #62 ; 0x3e 8069e08: f7e9 fdb2 bl 8053970 break; 8069e0c: e0da b.n 8069fc4 case RouteNullYes: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069e0e: 4929 ldr r1, [pc, #164] ; (8069eb4 ) 8069e10: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069e14: f7e9 fce6 bl 80537e4 LCD_DisplayStringR(309, LCD_LINE_13, "ÑËÅÄ."); 8069e18: 4a28 ldr r2, [pc, #160] ; (8069ebc ) 8069e1a: 21da movs r1, #218 ; 0xda 8069e1c: f240 1035 movw r0, #309 ; 0x135 8069e20: f7ea fab8 bl 8054394 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069e24: 4923 ldr r1, [pc, #140] ; (8069eb4 ) 8069e26: f04f 30ff mov.w r0, #4294967295 8069e2a: f7e9 fcdb bl 80537e4 LCD_DisplayStringC(160, LCD_LINE_13, "ÇÀÏÓÑÊ"); //Çàïóñê; 8069e2e: 4a24 ldr r2, [pc, #144] ; (8069ec0 ) 8069e30: 21da movs r1, #218 ; 0xda 8069e32: 20a0 movs r0, #160 ; 0xa0 8069e34: f7ea fa96 bl 8054364 LCD_DisplayString(10, LCD_LINE_13, "ÏÐÅÄ."); 8069e38: 4a22 ldr r2, [pc, #136] ; (8069ec4 ) 8069e3a: 21da movs r1, #218 ; 0xda 8069e3c: 200a movs r0, #10 8069e3e: f7ea fa79 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069e42: 491c ldr r1, [pc, #112] ; (8069eb4 ) 8069e44: 4820 ldr r0, [pc, #128] ; (8069ec8 ) 8069e46: f7e9 fccd bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pTME[pardata.LANG][pardata.TME]); 8069e4a: 4b20 ldr r3, [pc, #128] ; (8069ecc ) 8069e4c: 7b1b ldrb r3, [r3, #12] 8069e4e: b2db uxtb r3, r3 8069e50: 461a mov r2, r3 8069e52: 4b1e ldr r3, [pc, #120] ; (8069ecc ) 8069e54: 7b9b ldrb r3, [r3, #14] 8069e56: b2db uxtb r3, r3 8069e58: 4618 mov r0, r3 8069e5a: 491d ldr r1, [pc, #116] ; (8069ed0 ) 8069e5c: 4613 mov r3, r2 8069e5e: 009b lsls r3, r3, #2 8069e60: 4413 add r3, r2 8069e62: 005b lsls r3, r3, #1 8069e64: 4413 add r3, r2 8069e66: 4403 add r3, r0 8069e68: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8069e6c: 461a mov r2, r3 8069e6e: 219a movs r1, #154 ; 0x9a 8069e70: f44f 7082 mov.w r0, #260 ; 0x104 8069e74: f7ea fa76 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069e78: 490e ldr r1, [pc, #56] ; (8069eb4 ) 8069e7a: f04f 30ff mov.w r0, #4294967295 8069e7e: f7e9 fcb1 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 8069e82: 230a movs r3, #10 8069e84: 220a movs r2, #10 8069e86: 218d movs r1, #141 ; 0x8d 8069e88: 20ff movs r0, #255 ; 0xff 8069e8a: f7ea f939 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 8069e8e: 230a movs r3, #10 8069e90: 220a movs r2, #10 8069e92: 21ad movs r1, #173 ; 0xad 8069e94: 20ff movs r0, #255 ; 0xff 8069e96: f7ea f933 bl 8054100 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8069e9a: 4b0c ldr r3, [pc, #48] ; (8069ecc ) 8069e9c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069ea0: f003 0304 and.w r3, r3, #4 8069ea4: 2b00 cmp r3, #0 8069ea6: d121 bne.n 8069eec LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8069ea8: 4902 ldr r1, [pc, #8] ; (8069eb4 ) 8069eaa: 4807 ldr r0, [pc, #28] ; (8069ec8 ) 8069eac: f7e9 fc9a bl 80537e4 8069eb0: e020 b.n 8069ef4 8069eb2: bf00 nop 8069eb4: ff0a0f1f .word 0xff0a0f1f 8069eb8: ff808080 .word 0xff808080 8069ebc: 080cf868 .word 0x080cf868 8069ec0: 080cf858 .word 0x080cf858 8069ec4: 080cf860 .word 0x080cf860 8069ec8: ffd8aa57 .word 0xffd8aa57 8069ecc: 20023e60 .word 0x20023e60 8069ed0: 20020334 .word 0x20020334 8069ed4: ff404040 .word 0xff404040 8069ed8: 20020038 .word 0x20020038 8069edc: 080cf870 .word 0x080cf870 8069ee0: 080cf888 .word 0x080cf888 8069ee4: 080cf890 .word 0x080cf890 8069ee8: 080ce6e0 .word 0x080ce6e0 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8069eec: 49cf ldr r1, [pc, #828] ; (806a22c ) 8069eee: 48d0 ldr r0, [pc, #832] ; (806a230 ) 8069ef0: f7e9 fc78 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, strMax); 8069ef4: f507 73c0 add.w r3, r7, #384 ; 0x180 8069ef8: 461a mov r2, r3 8069efa: 21ba movs r1, #186 ; 0xba 8069efc: f44f 7082 mov.w r0, #260 ; 0x104 8069f00: f7ea fa30 bl 8054364 if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 8069f04: 4bcb ldr r3, [pc, #812] ; (806a234 ) 8069f06: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069f0a: f003 0304 and.w r3, r3, #4 8069f0e: 2b00 cmp r3, #0 8069f10: d00a beq.n 8069f28 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8069f12: 49c6 ldr r1, [pc, #792] ; (806a22c ) 8069f14: 48c8 ldr r0, [pc, #800] ; (806a238 ) 8069f16: f7e9 fc65 bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 8069f1a: 2306 movs r3, #6 8069f1c: 2206 movs r2, #6 8069f1e: 21af movs r1, #175 ; 0xaf 8069f20: f240 1001 movw r0, #257 ; 0x101 8069f24: f7ea f8ec bl 8054100 } if(pardata.OPTIONS & BIT7) 8069f28: 4bc2 ldr r3, [pc, #776] ; (806a234 ) 8069f2a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069f2e: f003 0380 and.w r3, r3, #128 ; 0x80 8069f32: 2b00 cmp r3, #0 8069f34: d00a beq.n 8069f4c { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8069f36: 49bd ldr r1, [pc, #756] ; (806a22c ) 8069f38: 48bf ldr r0, [pc, #764] ; (806a238 ) 8069f3a: f7e9 fc53 bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 8069f3e: 2306 movs r3, #6 8069f40: 2206 movs r2, #6 8069f42: 218f movs r1, #143 ; 0x8f 8069f44: f240 1001 movw r0, #257 ; 0x101 8069f48: f7ea f8da bl 8054100 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069f4c: 49b7 ldr r1, [pc, #732] ; (806a22c ) 8069f4e: f04f 30ff mov.w r0, #4294967295 8069f52: f7e9 fc47 bl 80537e4 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8069f56: 237c movs r3, #124 ; 0x7c 8069f58: 22f0 movs r2, #240 ; 0xf0 8069f5a: 2148 movs r1, #72 ; 0x48 8069f5c: 2028 movs r0, #40 ; 0x28 8069f5e: f7ea f8cf bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8069f62: 49b2 ldr r1, [pc, #712] ; (806a22c ) 8069f64: 48b1 ldr r0, [pc, #708] ; (806a22c ) 8069f66: f7e9 fc3d bl 80537e4 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8069f6a: 2378 movs r3, #120 ; 0x78 8069f6c: 22ec movs r2, #236 ; 0xec 8069f6e: 214a movs r1, #74 ; 0x4a 8069f70: 202a movs r0, #42 ; 0x2a 8069f72: f7ea f8c5 bl 8054100 BSP_LCD_SetFont(&Font12); 8069f76: 48b1 ldr r0, [pc, #708] ; (806a23c ) 8069f78: f7e9 fc70 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8069f7c: 49ab ldr r1, [pc, #684] ; (806a22c ) 8069f7e: f04f 30ff mov.w r0, #4294967295 8069f82: f7e9 fc2f bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå íà÷àòü ìàðøðóò", CENTER_MODE); 8069f86: 2301 movs r3, #1 8069f88: 4aad ldr r2, [pc, #692] ; (806a240 ) 8069f8a: 217a movs r1, #122 ; 0x7a 8069f8c: 20a0 movs r0, #160 ; 0xa0 8069f8e: f7e9 fcef bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "çàíîâî?", CENTER_MODE); 8069f92: 2301 movs r3, #1 8069f94: 4aab ldr r2, [pc, #684] ; (806a244 ) 8069f96: 218a movs r1, #138 ; 0x8a 8069f98: 20a0 movs r0, #160 ; 0xa0 8069f9a: f7e9 fce9 bl 8053970 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8069f9e: 2303 movs r3, #3 8069fa0: 4aa9 ldr r2, [pc, #676] ; (806a248 ) 8069fa2: 21aa movs r1, #170 ; 0xaa 8069fa4: 203e movs r0, #62 ; 0x3e 8069fa6: f7e9 fce3 bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8069faa: 49a0 ldr r1, [pc, #640] ; (806a22c ) 8069fac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8069fb0: f7e9 fc18 bl 80537e4 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8069fb4: 2302 movs r3, #2 8069fb6: 4aa5 ldr r2, [pc, #660] ; (806a24c ) 8069fb8: 21aa movs r1, #170 ; 0xaa 8069fba: f44f 7081 mov.w r0, #258 ; 0x102 8069fbe: f7e9 fcd7 bl 8053970 break; 8069fc2: bf00 nop } if(menupos < RouteNullYes) 8069fc4: 4ba2 ldr r3, [pc, #648] ; (806a250 ) 8069fc6: 781b ldrb r3, [r3, #0] 8069fc8: b2db uxtb r3, r3 8069fca: 2b0c cmp r3, #12 8069fcc: f22d 8301 bhi.w 80975d2 { if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 8069fd0: 4b98 ldr r3, [pc, #608] ; (806a234 ) 8069fd2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069fd6: f003 0304 and.w r3, r3, #4 8069fda: 2b00 cmp r3, #0 8069fdc: d00a beq.n 8069ff4 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8069fde: 4993 ldr r1, [pc, #588] ; (806a22c ) 8069fe0: 4895 ldr r0, [pc, #596] ; (806a238 ) 8069fe2: f7e9 fbff bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 8069fe6: 2306 movs r3, #6 8069fe8: 2206 movs r2, #6 8069fea: 21af movs r1, #175 ; 0xaf 8069fec: f240 1001 movw r0, #257 ; 0x101 8069ff0: f7ea f886 bl 8054100 } if(pardata.OPTIONS & BIT7) 8069ff4: 4b8f ldr r3, [pc, #572] ; (806a234 ) 8069ff6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8069ffa: f003 0380 and.w r3, r3, #128 ; 0x80 8069ffe: 2b00 cmp r3, #0 806a000: f02d 82e7 beq.w 80975d2 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 806a004: 4989 ldr r1, [pc, #548] ; (806a22c ) 806a006: 488c ldr r0, [pc, #560] ; (806a238 ) 806a008: f7e9 fbec bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 806a00c: 2306 movs r3, #6 806a00e: 2206 movs r2, #6 806a010: 218f movs r1, #143 ; 0x8f 806a012: f240 1001 movw r0, #257 ; 0x101 806a016: f7ea f873 bl 8054100 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); BSP_LCD_DisplayStringAt(33, 60+48, "T1", LEFT_MODE);*/ //BSP_LCD_DisplayStringAt(160, 60+60, "'COMMENTARIY'", CENTER_MODE); break; 806a01a: f02d bada b.w 80975d2 case LOW_BAT: memset(str, 0, sizeof(str)); 806a01e: f507 733b add.w r3, r7, #748 ; 0x2ec 806a022: 223c movs r2, #60 ; 0x3c 806a024: 2100 movs r1, #0 806a026: 4618 mov r0, r3 806a028: f063 f82a bl 80cd080 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a02c: 497f ldr r1, [pc, #508] ; (806a22c ) 806a02e: f04f 30ff mov.w r0, #4294967295 806a032: f7e9 fbd7 bl 80537e4 BSP_LCD_SetFont(&Font12); 806a036: 4881 ldr r0, [pc, #516] ; (806a23c ) 806a038: f7e9 fc10 bl 805385c if(pardata.LANG == RUS) 806a03c: 4b7d ldr r3, [pc, #500] ; (806a234 ) 806a03e: 7b1b ldrb r3, [r3, #12] 806a040: b2db uxtb r3, r3 806a042: 2b00 cmp r3, #0 806a044: d10d bne.n 806a062 strcpy(str, "Áàòàðåÿ ðàçðÿæåíà!"); 806a046: f507 733b add.w r3, r7, #748 ; 0x2ec 806a04a: 4a82 ldr r2, [pc, #520] ; (806a254 ) 806a04c: 461c mov r4, r3 806a04e: 4615 mov r5, r2 806a050: cd0f ldmia r5!, {r0, r1, r2, r3} 806a052: c40f stmia r4!, {r0, r1, r2, r3} 806a054: 682b ldr r3, [r5, #0] 806a056: 461a mov r2, r3 806a058: 8022 strh r2, [r4, #0] 806a05a: 3402 adds r4, #2 806a05c: 0c1b lsrs r3, r3, #16 806a05e: 7023 strb r3, [r4, #0] 806a060: e00c b.n 806a07c else strcpy(str, "Low battery level!"); 806a062: f507 733b add.w r3, r7, #748 ; 0x2ec 806a066: 4a7c ldr r2, [pc, #496] ; (806a258 ) 806a068: 461c mov r4, r3 806a06a: 4615 mov r5, r2 806a06c: cd0f ldmia r5!, {r0, r1, r2, r3} 806a06e: c40f stmia r4!, {r0, r1, r2, r3} 806a070: 682b ldr r3, [r5, #0] 806a072: 461a mov r2, r3 806a074: 8022 strh r2, [r4, #0] 806a076: 3402 adds r4, #2 806a078: 0c1b lsrs r3, r3, #16 806a07a: 7023 strb r3, [r4, #0] BSP_LCD_DisplayStringAt(160, 115, str, CENTER_MODE); 806a07c: f507 723b add.w r2, r7, #748 ; 0x2ec 806a080: 2301 movs r3, #1 806a082: 2173 movs r1, #115 ; 0x73 806a084: 20a0 movs r0, #160 ; 0xa0 806a086: f7e9 fc73 bl 8053970 break; 806a08a: f02d bacf b.w 809762c case TREND_A: //TODO case TREND_V: case TREND_S: memset(str, 0, sizeof(str)); 806a08e: f507 733b add.w r3, r7, #748 ; 0x2ec 806a092: 223c movs r2, #60 ; 0x3c 806a094: 2100 movs r1, #0 806a096: 4618 mov r0, r3 806a098: f062 fff2 bl 80cd080 strcpy(str, MeasFileName); 806a09c: f507 733b add.w r3, r7, #748 ; 0x2ec 806a0a0: 496e ldr r1, [pc, #440] ; (806a25c ) 806a0a2: 4618 mov r0, r3 806a0a4: f063 f909 bl 80cd2ba l = strlen(str); 806a0a8: f507 733b add.w r3, r7, #748 ; 0x2ec 806a0ac: 4618 mov r0, r3 806a0ae: f7b6 f931 bl 8020314 806a0b2: 4603 mov r3, r0 806a0b4: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l - 4] = '\0'; 806a0b8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a0bc: 3b04 subs r3, #4 806a0be: f507 723b add.w r2, r7, #748 ; 0x2ec 806a0c2: 2100 movs r1, #0 806a0c4: 54d1 strb r1, [r2, r3] LCD_SetColors(LCD_COLOR_LIGHTGREEN, LCD_COLOR_BLACK); 806a0c6: 4959 ldr r1, [pc, #356] ; (806a22c ) 806a0c8: f06f 107f mvn.w r0, #8323199 ; 0x7f007f 806a0cc: f7e9 fb8a bl 80537e4 BSP_LCD_SetFont(&Font12); 806a0d0: 485a ldr r0, [pc, #360] ; (806a23c ) 806a0d2: f7e9 fbc3 bl 805385c BSP_LCD_DisplayStringAt(318, 35, str, RIGHT_MODE); 806a0d6: f507 723b add.w r2, r7, #748 ; 0x2ec 806a0da: 2302 movs r3, #2 806a0dc: 2123 movs r1, #35 ; 0x23 806a0de: f44f 709f mov.w r0, #318 ; 0x13e 806a0e2: f7e9 fc45 bl 8053970 if(NEWFILE) 806a0e6: 4b5e ldr r3, [pc, #376] ; (806a260 ) 806a0e8: 781b ldrb r3, [r3, #0] 806a0ea: b2db uxtb r3, r3 806a0ec: 2b00 cmp r3, #0 806a0ee: f000 80c5 beq.w 806a27c { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 806a0f2: 494e ldr r1, [pc, #312] ; (806a22c ) 806a0f4: 485b ldr r0, [pc, #364] ; (806a264 ) 806a0f6: f7e9 fb75 bl 80537e4 if(strlen(Comment)) 806a0fa: 4b5b ldr r3, [pc, #364] ; (806a268 ) 806a0fc: 781b ldrb r3, [r3, #0] 806a0fe: 2b00 cmp r3, #0 806a100: d025 beq.n 806a14e { BSP_LCD_SetFont(&Font12); 806a102: 484e ldr r0, [pc, #312] ; (806a23c ) 806a104: f7e9 fbaa bl 805385c memset(str, 0, sizeof(str)); 806a108: f507 733b add.w r3, r7, #748 ; 0x2ec 806a10c: 223c movs r2, #60 ; 0x3c 806a10e: 2100 movs r1, #0 806a110: 4618 mov r0, r3 806a112: f062 ffb5 bl 80cd080 str[0] = '"'; 806a116: f507 733b add.w r3, r7, #748 ; 0x2ec 806a11a: 2222 movs r2, #34 ; 0x22 806a11c: 701a strb r2, [r3, #0] strcat(str, Comment); 806a11e: f507 733b add.w r3, r7, #748 ; 0x2ec 806a122: 4951 ldr r1, [pc, #324] ; (806a268 ) 806a124: 4618 mov r0, r3 806a126: f063 f8ab bl 80cd280 str[strlen(str)] = '"'; 806a12a: f507 733b add.w r3, r7, #748 ; 0x2ec 806a12e: 4618 mov r0, r3 806a130: f7b6 f8f0 bl 8020314 806a134: 4602 mov r2, r0 806a136: f507 733b add.w r3, r7, #748 ; 0x2ec 806a13a: 2122 movs r1, #34 ; 0x22 806a13c: 5499 strb r1, [r3, r2] BSP_LCD_DisplayStringAt(189, 55, str, CENTER_MODE); 806a13e: f507 723b add.w r2, r7, #748 ; 0x2ec 806a142: 2301 movs r3, #1 806a144: 2137 movs r1, #55 ; 0x37 806a146: 20bd movs r0, #189 ; 0xbd 806a148: f7e9 fc12 bl 8053970 806a14c: e107 b.n 806a35e } else { memset(str, 0, sizeof(str)); 806a14e: f507 733b add.w r3, r7, #748 ; 0x2ec 806a152: 223c movs r2, #60 ; 0x3c 806a154: 2100 movs r1, #0 806a156: 4618 mov r0, r3 806a158: f062 ff92 bl 80cd080 str[0] = '"'; 806a15c: f507 733b add.w r3, r7, #748 ; 0x2ec 806a160: 2222 movs r2, #34 ; 0x22 806a162: 701a strb r2, [r3, #0] if(pardata.LANG == RUS) 806a164: 4b33 ldr r3, [pc, #204] ; (806a234 ) 806a166: 7b1b ldrb r3, [r3, #12] 806a168: b2db uxtb r3, r3 806a16a: 2b00 cmp r3, #0 806a16c: d111 bne.n 806a192 strcat(str, "ÒÎ×ÊÀ "); 806a16e: f507 733b add.w r3, r7, #748 ; 0x2ec 806a172: 4618 mov r0, r3 806a174: f7b6 f8ce bl 8020314 806a178: 4603 mov r3, r0 806a17a: 461a mov r2, r3 806a17c: f507 733b add.w r3, r7, #748 ; 0x2ec 806a180: 4413 add r3, r2 806a182: 4a3a ldr r2, [pc, #232] ; (806a26c ) 806a184: 6810 ldr r0, [r2, #0] 806a186: 6018 str r0, [r3, #0] 806a188: 8891 ldrh r1, [r2, #4] 806a18a: 7992 ldrb r2, [r2, #6] 806a18c: 8099 strh r1, [r3, #4] 806a18e: 719a strb r2, [r3, #6] 806a190: e010 b.n 806a1b4 else strcat(str, "POINT "); 806a192: f507 733b add.w r3, r7, #748 ; 0x2ec 806a196: 4618 mov r0, r3 806a198: f7b6 f8bc bl 8020314 806a19c: 4603 mov r3, r0 806a19e: 461a mov r2, r3 806a1a0: f507 733b add.w r3, r7, #748 ; 0x2ec 806a1a4: 4413 add r3, r2 806a1a6: 4a32 ldr r2, [pc, #200] ; (806a270 ) 806a1a8: 6810 ldr r0, [r2, #0] 806a1aa: 6018 str r0, [r3, #0] 806a1ac: 8891 ldrh r1, [r2, #4] 806a1ae: 7992 ldrb r2, [r2, #6] 806a1b0: 8099 strh r1, [r3, #4] 806a1b2: 719a strb r2, [r3, #6] l = strlen(str); 806a1b4: f507 733b add.w r3, r7, #748 ; 0x2ec 806a1b8: 4618 mov r0, r3 806a1ba: f7b6 f8ab bl 8020314 806a1be: 4603 mov r3, r0 806a1c0: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l] = ((NextIndexPoint + 1) / 10) + 48; 806a1c4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a1c8: 4a2a ldr r2, [pc, #168] ; (806a274 ) 806a1ca: 6812 ldr r2, [r2, #0] 806a1cc: 3201 adds r2, #1 806a1ce: 492a ldr r1, [pc, #168] ; (806a278 ) 806a1d0: fba1 1202 umull r1, r2, r1, r2 806a1d4: 08d2 lsrs r2, r2, #3 806a1d6: b2d2 uxtb r2, r2 806a1d8: 3230 adds r2, #48 ; 0x30 806a1da: b2d1 uxtb r1, r2 806a1dc: f507 723b add.w r2, r7, #748 ; 0x2ec 806a1e0: 54d1 strb r1, [r2, r3] str[l + 1] = ((NextIndexPoint + 1) % 10) + 48; 806a1e2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a1e6: 1c58 adds r0, r3, #1 806a1e8: 4b22 ldr r3, [pc, #136] ; (806a274 ) 806a1ea: 681b ldr r3, [r3, #0] 806a1ec: 1c59 adds r1, r3, #1 806a1ee: 4b22 ldr r3, [pc, #136] ; (806a278 ) 806a1f0: fba3 2301 umull r2, r3, r3, r1 806a1f4: 08da lsrs r2, r3, #3 806a1f6: 4613 mov r3, r2 806a1f8: 009b lsls r3, r3, #2 806a1fa: 4413 add r3, r2 806a1fc: 005b lsls r3, r3, #1 806a1fe: 1aca subs r2, r1, r3 806a200: b2d3 uxtb r3, r2 806a202: 3330 adds r3, #48 ; 0x30 806a204: b2da uxtb r2, r3 806a206: f507 733b add.w r3, r7, #748 ; 0x2ec 806a20a: 541a strb r2, [r3, r0] str[l + 2] = '"'; 806a20c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a210: 3302 adds r3, #2 806a212: f507 723b add.w r2, r7, #748 ; 0x2ec 806a216: 2122 movs r1, #34 ; 0x22 806a218: 54d1 strb r1, [r2, r3] BSP_LCD_DisplayStringAt(189, 55, str, CENTER_MODE); 806a21a: f507 723b add.w r2, r7, #748 ; 0x2ec 806a21e: 2301 movs r3, #1 806a220: 2137 movs r1, #55 ; 0x37 806a222: 20bd movs r0, #189 ; 0xbd 806a224: f7e9 fba4 bl 8053970 806a228: e099 b.n 806a35e 806a22a: bf00 nop 806a22c: ff0a0f1f .word 0xff0a0f1f 806a230: ff808080 .word 0xff808080 806a234: 20023e60 .word 0x20023e60 806a238: ff404040 .word 0xff404040 806a23c: 20020038 .word 0x20020038 806a240: 080cf870 .word 0x080cf870 806a244: 080cf888 .word 0x080cf888 806a248: 080ce6e0 .word 0x080ce6e0 806a24c: 080cf890 .word 0x080cf890 806a250: 20020070 .word 0x20020070 806a254: 080cf894 .word 0x080cf894 806a258: 080cf8a8 .word 0x080cf8a8 806a25c: 20020e58 .word 0x20020e58 806a260: 20020e14 .word 0x20020e14 806a264: ffefcc95 .word 0xffefcc95 806a268: 20022650 .word 0x20022650 806a26c: 080cf8bc .word 0x080cf8bc 806a270: 080cf8c4 .word 0x080cf8c4 806a274: 20021f9c .word 0x20021f9c 806a278: cccccccd .word 0xcccccccd } } else { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 806a27c: 49ba ldr r1, [pc, #744] ; (806a568 ) 806a27e: 48bb ldr r0, [pc, #748] ; (806a56c ) 806a280: f7e9 fab0 bl 80537e4 memset(str, 0, sizeof(str)); 806a284: f507 733b add.w r3, r7, #748 ; 0x2ec 806a288: 223c movs r2, #60 ; 0x3c 806a28a: 2100 movs r1, #0 806a28c: 4618 mov r0, r3 806a28e: f062 fef7 bl 80cd080 str[0] = '"'; 806a292: f507 733b add.w r3, r7, #748 ; 0x2ec 806a296: 2222 movs r2, #34 ; 0x22 806a298: 701a strb r2, [r3, #0] if(pardata.LANG == RUS) 806a29a: 4bb5 ldr r3, [pc, #724] ; (806a570 ) 806a29c: 7b1b ldrb r3, [r3, #12] 806a29e: b2db uxtb r3, r3 806a2a0: 2b00 cmp r3, #0 806a2a2: d111 bne.n 806a2c8 strcat(str, "ÒÎ×ÊÀ "); 806a2a4: f507 733b add.w r3, r7, #748 ; 0x2ec 806a2a8: 4618 mov r0, r3 806a2aa: f7b6 f833 bl 8020314 806a2ae: 4603 mov r3, r0 806a2b0: 461a mov r2, r3 806a2b2: f507 733b add.w r3, r7, #748 ; 0x2ec 806a2b6: 4413 add r3, r2 806a2b8: 4aae ldr r2, [pc, #696] ; (806a574 ) 806a2ba: 6810 ldr r0, [r2, #0] 806a2bc: 6018 str r0, [r3, #0] 806a2be: 8891 ldrh r1, [r2, #4] 806a2c0: 7992 ldrb r2, [r2, #6] 806a2c2: 8099 strh r1, [r3, #4] 806a2c4: 719a strb r2, [r3, #6] 806a2c6: e010 b.n 806a2ea else strcat(str, "POINT "); 806a2c8: f507 733b add.w r3, r7, #748 ; 0x2ec 806a2cc: 4618 mov r0, r3 806a2ce: f7b6 f821 bl 8020314 806a2d2: 4603 mov r3, r0 806a2d4: 461a mov r2, r3 806a2d6: f507 733b add.w r3, r7, #748 ; 0x2ec 806a2da: 4413 add r3, r2 806a2dc: 4aa6 ldr r2, [pc, #664] ; (806a578 ) 806a2de: 6810 ldr r0, [r2, #0] 806a2e0: 6018 str r0, [r3, #0] 806a2e2: 8891 ldrh r1, [r2, #4] 806a2e4: 7992 ldrb r2, [r2, #6] 806a2e6: 8099 strh r1, [r3, #4] 806a2e8: 719a strb r2, [r3, #6] l = strlen(str); 806a2ea: f507 733b add.w r3, r7, #748 ; 0x2ec 806a2ee: 4618 mov r0, r3 806a2f0: f7b6 f810 bl 8020314 806a2f4: 4603 mov r3, r0 806a2f6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l] = ((NextIndexPoint + 1) / 10) + 48; 806a2fa: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a2fe: 4a9f ldr r2, [pc, #636] ; (806a57c ) 806a300: 6812 ldr r2, [r2, #0] 806a302: 3201 adds r2, #1 806a304: 499e ldr r1, [pc, #632] ; (806a580 ) 806a306: fba1 1202 umull r1, r2, r1, r2 806a30a: 08d2 lsrs r2, r2, #3 806a30c: b2d2 uxtb r2, r2 806a30e: 3230 adds r2, #48 ; 0x30 806a310: b2d1 uxtb r1, r2 806a312: f507 723b add.w r2, r7, #748 ; 0x2ec 806a316: 54d1 strb r1, [r2, r3] str[l + 1] = ((NextIndexPoint + 1) % 10) + 48; 806a318: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a31c: 1c58 adds r0, r3, #1 806a31e: 4b97 ldr r3, [pc, #604] ; (806a57c ) 806a320: 681b ldr r3, [r3, #0] 806a322: 1c59 adds r1, r3, #1 806a324: 4b96 ldr r3, [pc, #600] ; (806a580 ) 806a326: fba3 2301 umull r2, r3, r3, r1 806a32a: 08da lsrs r2, r3, #3 806a32c: 4613 mov r3, r2 806a32e: 009b lsls r3, r3, #2 806a330: 4413 add r3, r2 806a332: 005b lsls r3, r3, #1 806a334: 1aca subs r2, r1, r3 806a336: b2d3 uxtb r3, r2 806a338: 3330 adds r3, #48 ; 0x30 806a33a: b2da uxtb r2, r3 806a33c: f507 733b add.w r3, r7, #748 ; 0x2ec 806a340: 541a strb r2, [r3, r0] str[l + 2] = '"'; 806a342: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a346: 3302 adds r3, #2 806a348: f507 723b add.w r2, r7, #748 ; 0x2ec 806a34c: 2122 movs r1, #34 ; 0x22 806a34e: 54d1 strb r1, [r2, r3] BSP_LCD_DisplayStringAt(189, 55, str, CENTER_MODE); 806a350: f507 723b add.w r2, r7, #748 ; 0x2ec 806a354: 2301 movs r3, #1 806a356: 2137 movs r1, #55 ; 0x37 806a358: 20bd movs r0, #189 ; 0xbd 806a35a: f7e9 fb09 bl 8053970 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a35e: 4982 ldr r1, [pc, #520] ; (806a568 ) 806a360: f04f 30ff mov.w r0, #4294967295 806a364: f7e9 fa3e bl 80537e4 DrawImage(&bmUPDN, 8, 205); 806a368: 22cd movs r2, #205 ; 0xcd 806a36a: 2108 movs r1, #8 806a36c: 4885 ldr r0, [pc, #532] ; (806a584 ) 806a36e: f7ea f92d bl 80545cc BSP_LCD_DisplayStringAt(25, 208, "AVS", LEFT_MODE); 806a372: 2303 movs r3, #3 806a374: 4a84 ldr r2, [pc, #528] ; (806a588 ) 806a376: 21d0 movs r1, #208 ; 0xd0 806a378: 2019 movs r0, #25 806a37a: f7e9 faf9 bl 8053970 DrawImage(&bmLTRT, 8, 223); 806a37e: 22df movs r2, #223 ; 0xdf 806a380: 2108 movs r1, #8 806a382: 4882 ldr r0, [pc, #520] ; (806a58c ) 806a384: f7ea f922 bl 80545cc if(pardata.LANG == RUS) 806a388: 4b79 ldr r3, [pc, #484] ; (806a570 ) 806a38a: 7b1b ldrb r3, [r3, #12] 806a38c: b2db uxtb r3, r3 806a38e: 2b00 cmp r3, #0 806a390: d106 bne.n 806a3a0 BSP_LCD_DisplayStringAt(25, 224, "Çíà÷", LEFT_MODE); 806a392: 2303 movs r3, #3 806a394: 4a7e ldr r2, [pc, #504] ; (806a590 ) 806a396: 21e0 movs r1, #224 ; 0xe0 806a398: 2019 movs r0, #25 806a39a: f7e9 fae9 bl 8053970 806a39e: e005 b.n 806a3ac else BSP_LCD_DisplayStringAt(25, 224, "Val", LEFT_MODE); 806a3a0: 2303 movs r3, #3 806a3a2: 4a7c ldr r2, [pc, #496] ; (806a594 ) 806a3a4: 21e0 movs r1, #224 ; 0xe0 806a3a6: 2019 movs r0, #25 806a3a8: f7e9 fae2 bl 8053970 LCD_SetColors(0xFF202020, LCD_COLOR_BLACK); 806a3ac: 496e ldr r1, [pc, #440] ; (806a568 ) 806a3ae: 487a ldr r0, [pc, #488] ; (806a598 ) 806a3b0: f7e9 fa18 bl 80537e4 BSP_LCD_DrawHLine(61, 67, 256); 806a3b4: f44f 7280 mov.w r2, #256 ; 0x100 806a3b8: 2143 movs r1, #67 ; 0x43 806a3ba: 203d movs r0, #61 ; 0x3d 806a3bc: f7e9 fb8c bl 8053ad8 BSP_LCD_DrawHLine(61, 92, 256); 806a3c0: f44f 7280 mov.w r2, #256 ; 0x100 806a3c4: 215c movs r1, #92 ; 0x5c 806a3c6: 203d movs r0, #61 ; 0x3d 806a3c8: f7e9 fb86 bl 8053ad8 for(i = 0; i < 4; i++) { 806a3cc: 2300 movs r3, #0 806a3ce: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a3d2: e010 b.n 806a3f6 BSP_LCD_DrawVLine(61 + (i << 6), 67, 148); 806a3d4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a3d8: b29b uxth r3, r3 806a3da: 019b lsls r3, r3, #6 806a3dc: b29b uxth r3, r3 806a3de: 333d adds r3, #61 ; 0x3d 806a3e0: b29b uxth r3, r3 806a3e2: 2294 movs r2, #148 ; 0x94 806a3e4: 2143 movs r1, #67 ; 0x43 806a3e6: 4618 mov r0, r3 806a3e8: f7e9 fbd4 bl 8053b94 for(i = 0; i < 4; i++) { 806a3ec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a3f0: 3301 adds r3, #1 806a3f2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a3f6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a3fa: 2b03 cmp r3, #3 806a3fc: d9ea bls.n 806a3d4 } for(i = 0; i < 5; i++) { 806a3fe: 2300 movs r3, #0 806a400: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a404: e018 b.n 806a438 BSP_LCD_DrawHLine(61, 117 + i*25, 256); 806a406: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a40a: b29b uxth r3, r3 806a40c: 461a mov r2, r3 806a40e: 0092 lsls r2, r2, #2 806a410: 4413 add r3, r2 806a412: 461a mov r2, r3 806a414: 0091 lsls r1, r2, #2 806a416: 461a mov r2, r3 806a418: 460b mov r3, r1 806a41a: 4413 add r3, r2 806a41c: b29b uxth r3, r3 806a41e: 3375 adds r3, #117 ; 0x75 806a420: b29b uxth r3, r3 806a422: f44f 7280 mov.w r2, #256 ; 0x100 806a426: 4619 mov r1, r3 806a428: 203d movs r0, #61 ; 0x3d 806a42a: f7e9 fb55 bl 8053ad8 for(i = 0; i < 5; i++) { 806a42e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a432: 3301 adds r3, #1 806a434: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a438: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a43c: 2b04 cmp r3, #4 806a43e: d9e2 bls.n 806a406 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a440: 4949 ldr r1, [pc, #292] ; (806a568 ) 806a442: f04f 30ff mov.w r0, #4294967295 806a446: f7e9 f9cd bl 80537e4 BSP_LCD_DrawVLine(60, 63-9, 155+9); 806a44a: 22a4 movs r2, #164 ; 0xa4 806a44c: 2136 movs r1, #54 ; 0x36 806a44e: 203c movs r0, #60 ; 0x3c 806a450: f7e9 fba0 bl 8053b94 BSP_LCD_DrawHLine(60, 218, 258); 806a454: f44f 7281 mov.w r2, #258 ; 0x102 806a458: 21da movs r1, #218 ; 0xda 806a45a: 203c movs r0, #60 ; 0x3c 806a45c: f7e9 fb3c bl 8053ad8 //BSP_LCD_DrawHLine(60, 63-9, 258); BSP_LCD_SetFont(&Font12); 806a460: 484e ldr r0, [pc, #312] ; (806a59c ) 806a462: f7e9 f9fb bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 806a466: 4940 ldr r1, [pc, #256] ; (806a568 ) 806a468: f04f 30ff mov.w r0, #4294967295 806a46c: f7e9 f9ba bl 80537e4 if(menu == TREND_A) 806a470: 4b4b ldr r3, [pc, #300] ; (806a5a0 ) 806a472: 781b ldrb r3, [r3, #0] 806a474: b2db uxtb r3, r3 806a476: 2b45 cmp r3, #69 ; 0x45 806a478: f040 8726 bne.w 806b2c8 { if(menupos == Trend_pk) 806a47c: 4b49 ldr r3, [pc, #292] ; (806a5a4 ) 806a47e: 781b ldrb r3, [r3, #0] 806a480: b2db uxtb r3, r3 806a482: 2b00 cmp r3, #0 806a484: f040 8174 bne.w 806a770 { if(pardata.LANG == RUS) 806a488: 4b39 ldr r3, [pc, #228] ; (806a570 ) 806a48a: 7b1b ldrb r3, [r3, #12] 806a48c: b2db uxtb r3, r3 806a48e: 2b00 cmp r3, #0 806a490: d106 bne.n 806a4a0 BSP_LCD_DisplayStringAt(8, 35, "A(ïèê),ì/ñ^", LEFT_MODE); 806a492: 2303 movs r3, #3 806a494: 4a44 ldr r2, [pc, #272] ; (806a5a8 ) 806a496: 2123 movs r1, #35 ; 0x23 806a498: 2008 movs r0, #8 806a49a: f7e9 fa69 bl 8053970 806a49e: e005 b.n 806a4ac else BSP_LCD_DisplayStringAt(8, 35, "A(peak),m/s^", LEFT_MODE); 806a4a0: 2303 movs r3, #3 806a4a2: 4a42 ldr r2, [pc, #264] ; (806a5ac ) 806a4a4: 2123 movs r1, #35 ; 0x23 806a4a6: 2008 movs r0, #8 806a4a8: f7e9 fa62 bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806a4ac: 2300 movs r3, #0 806a4ae: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806a4b2: 2300 movs r3, #0 806a4b4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a4b8: e042 b.n 806a540 { TrendData = TrendRAM(i); 806a4ba: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a4be: 4613 mov r3, r2 806a4c0: 009b lsls r3, r3, #2 806a4c2: 4413 add r3, r2 806a4c4: 009b lsls r3, r3, #2 806a4c6: 461a mov r2, r3 806a4c8: 4b39 ldr r3, [pc, #228] ; (806a5b0 ) 806a4ca: 4413 add r3, r2 806a4cc: 461a mov r2, r3 806a4ce: 4b39 ldr r3, [pc, #228] ; (806a5b4 ) 806a4d0: 461c mov r4, r3 806a4d2: 4615 mov r5, r2 806a4d4: cd0f ldmia r5!, {r0, r1, r2, r3} 806a4d6: c40f stmia r4!, {r0, r1, r2, r3} 806a4d8: 682b ldr r3, [r5, #0] 806a4da: 6023 str r3, [r4, #0] if((TrendData.Aivs == 'P') && (TrendData.Aval.fl != -1.0f)) 806a4dc: 4b35 ldr r3, [pc, #212] ; (806a5b4 ) 806a4de: 7c1b ldrb r3, [r3, #16] 806a4e0: b2db uxtb r3, r3 806a4e2: 2b50 cmp r3, #80 ; 0x50 806a4e4: d127 bne.n 806a536 806a4e6: 4b33 ldr r3, [pc, #204] ; (806a5b4 ) 806a4e8: edd3 7a00 vldr s15, [r3] 806a4ec: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806a4f0: eef4 7a47 vcmp.f32 s15, s14 806a4f4: eef1 fa10 vmrs APSR_nzcv, fpscr 806a4f8: d01d beq.n 806a536 { TrendRAM_TEMP(l) = TrendRAM(i); 806a4fa: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806a4fe: 4613 mov r3, r2 806a500: 009b lsls r3, r3, #2 806a502: 4413 add r3, r2 806a504: 009b lsls r3, r3, #2 806a506: 461a mov r2, r3 806a508: 4b2b ldr r3, [pc, #172] ; (806a5b8 ) 806a50a: 4413 add r3, r2 806a50c: 4619 mov r1, r3 806a50e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a512: 4613 mov r3, r2 806a514: 009b lsls r3, r3, #2 806a516: 4413 add r3, r2 806a518: 009b lsls r3, r3, #2 806a51a: 461a mov r2, r3 806a51c: 4b24 ldr r3, [pc, #144] ; (806a5b0 ) 806a51e: 4413 add r3, r2 806a520: 460c mov r4, r1 806a522: 461d mov r5, r3 806a524: cd0f ldmia r5!, {r0, r1, r2, r3} 806a526: c40f stmia r4!, {r0, r1, r2, r3} 806a528: 682b ldr r3, [r5, #0] 806a52a: 6023 str r3, [r4, #0] l++; 806a52c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a530: 3301 adds r3, #1 806a532: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806a536: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a53a: 3301 adds r3, #1 806a53c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a540: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a544: 4b1d ldr r3, [pc, #116] ; (806a5bc ) 806a546: 681b ldr r3, [r3, #0] 806a548: 429a cmp r2, r3 806a54a: d3b6 bcc.n 806a4ba } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806a54c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a550: 2b00 cmp r3, #0 806a552: f002 84d7 beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806a556: 2300 movs r3, #0 806a558: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806a55c: e0a3 b.n 806a6a6 { for(i = j; i < l; i++) 806a55e: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806a562: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a566: e093 b.n 806a690 806a568: ff0a0f1f .word 0xff0a0f1f 806a56c: ffefcc95 .word 0xffefcc95 806a570: 20023e60 .word 0x20023e60 806a574: 080cf8bc .word 0x080cf8bc 806a578: 080cf8c4 .word 0x080cf8c4 806a57c: 20021f9c .word 0x20021f9c 806a580: cccccccd .word 0xcccccccd 806a584: 08149d9c .word 0x08149d9c 806a588: 080cf8cc .word 0x080cf8cc 806a58c: 0813ab24 .word 0x0813ab24 806a590: 080cf8d0 .word 0x080cf8d0 806a594: 080cf8d8 .word 0x080cf8d8 806a598: ff202020 .word 0xff202020 806a59c: 20020038 .word 0x20020038 806a5a0: 20020f78 .word 0x20020f78 806a5a4: 20020070 .word 0x20020070 806a5a8: 080cf8dc .word 0x080cf8dc 806a5ac: 080cf8e8 .word 0x080cf8e8 806a5b0: 640a0000 .word 0x640a0000 806a5b4: 20021f88 .word 0x20021f88 806a5b8: 64090000 .word 0x64090000 806a5bc: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806a5c0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a5c4: 4613 mov r3, r2 806a5c6: 009b lsls r3, r3, #2 806a5c8: 4413 add r3, r2 806a5ca: 009b lsls r3, r3, #2 806a5cc: 461a mov r2, r3 806a5ce: 4ba3 ldr r3, [pc, #652] ; (806a85c ) 806a5d0: 4413 add r3, r2 806a5d2: 461a mov r2, r3 806a5d4: 4ba2 ldr r3, [pc, #648] ; (806a860 ) 806a5d6: 461c mov r4, r3 806a5d8: 4615 mov r5, r2 806a5da: cd0f ldmia r5!, {r0, r1, r2, r3} 806a5dc: c40f stmia r4!, {r0, r1, r2, r3} 806a5de: 682b ldr r3, [r5, #0] 806a5e0: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806a5e2: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a5e6: 4613 mov r3, r2 806a5e8: 009b lsls r3, r3, #2 806a5ea: 4413 add r3, r2 806a5ec: 009b lsls r3, r3, #2 806a5ee: 461a mov r2, r3 806a5f0: 4b9a ldr r3, [pc, #616] ; (806a85c ) 806a5f2: 4413 add r3, r2 806a5f4: 461a mov r2, r3 806a5f6: 4b9b ldr r3, [pc, #620] ; (806a864 ) 806a5f8: 461c mov r4, r3 806a5fa: 4615 mov r5, r2 806a5fc: cd0f ldmia r5!, {r0, r1, r2, r3} 806a5fe: c40f stmia r4!, {r0, r1, r2, r3} 806a600: 682b ldr r3, [r5, #0] 806a602: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806a604: 4b96 ldr r3, [pc, #600] ; (806a860 ) 806a606: 68da ldr r2, [r3, #12] 806a608: 4b96 ldr r3, [pc, #600] ; (806a864 ) 806a60a: 68db ldr r3, [r3, #12] 806a60c: 429a cmp r2, r3 806a60e: d23a bcs.n 806a686 { TrendData = TrendRAM_TEMP(j); 806a610: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a614: 4613 mov r3, r2 806a616: 009b lsls r3, r3, #2 806a618: 4413 add r3, r2 806a61a: 009b lsls r3, r3, #2 806a61c: 461a mov r2, r3 806a61e: 4b8f ldr r3, [pc, #572] ; (806a85c ) 806a620: 4413 add r3, r2 806a622: 461a mov r2, r3 806a624: 4b90 ldr r3, [pc, #576] ; (806a868 ) 806a626: 461c mov r4, r3 806a628: 4615 mov r5, r2 806a62a: cd0f ldmia r5!, {r0, r1, r2, r3} 806a62c: c40f stmia r4!, {r0, r1, r2, r3} 806a62e: 682b ldr r3, [r5, #0] 806a630: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806a632: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a636: 4613 mov r3, r2 806a638: 009b lsls r3, r3, #2 806a63a: 4413 add r3, r2 806a63c: 009b lsls r3, r3, #2 806a63e: 461a mov r2, r3 806a640: 4b86 ldr r3, [pc, #536] ; (806a85c ) 806a642: 4413 add r3, r2 806a644: 4619 mov r1, r3 806a646: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a64a: 4613 mov r3, r2 806a64c: 009b lsls r3, r3, #2 806a64e: 4413 add r3, r2 806a650: 009b lsls r3, r3, #2 806a652: 461a mov r2, r3 806a654: 4b81 ldr r3, [pc, #516] ; (806a85c ) 806a656: 4413 add r3, r2 806a658: 460c mov r4, r1 806a65a: 461d mov r5, r3 806a65c: cd0f ldmia r5!, {r0, r1, r2, r3} 806a65e: c40f stmia r4!, {r0, r1, r2, r3} 806a660: 682b ldr r3, [r5, #0] 806a662: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806a664: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a668: 4613 mov r3, r2 806a66a: 009b lsls r3, r3, #2 806a66c: 4413 add r3, r2 806a66e: 009b lsls r3, r3, #2 806a670: 461a mov r2, r3 806a672: 4b7a ldr r3, [pc, #488] ; (806a85c ) 806a674: 4413 add r3, r2 806a676: 461a mov r2, r3 806a678: 4b7b ldr r3, [pc, #492] ; (806a868 ) 806a67a: 4614 mov r4, r2 806a67c: 461d mov r5, r3 806a67e: cd0f ldmia r5!, {r0, r1, r2, r3} 806a680: c40f stmia r4!, {r0, r1, r2, r3} 806a682: 682b ldr r3, [r5, #0] 806a684: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806a686: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a68a: 3301 adds r3, #1 806a68c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a690: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a694: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a698: 429a cmp r2, r3 806a69a: d391 bcc.n 806a5c0 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806a69c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806a6a0: 3301 adds r3, #1 806a6a2: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806a6a6: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a6aa: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a6ae: 429a cmp r2, r3 806a6b0: f4ff af55 bcc.w 806a55e } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806a6b4: 4b6d ldr r3, [pc, #436] ; (806a86c ) 806a6b6: f207 424c addw r2, r7, #1100 ; 0x44c 806a6ba: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806a6bc: 4b6c ldr r3, [pc, #432] ; (806a870 ) 806a6be: f507 6289 add.w r2, r7, #1096 ; 0x448 806a6c2: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806a6c4: 2300 movs r3, #0 806a6c6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a6ca: e049 b.n 806a760 { TrendData = TrendRAM_TEMP(i); 806a6cc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a6d0: 4613 mov r3, r2 806a6d2: 009b lsls r3, r3, #2 806a6d4: 4413 add r3, r2 806a6d6: 009b lsls r3, r3, #2 806a6d8: 461a mov r2, r3 806a6da: 4b60 ldr r3, [pc, #384] ; (806a85c ) 806a6dc: 4413 add r3, r2 806a6de: 461a mov r2, r3 806a6e0: 4b61 ldr r3, [pc, #388] ; (806a868 ) 806a6e2: 461c mov r4, r3 806a6e4: 4615 mov r5, r2 806a6e6: cd0f ldmia r5!, {r0, r1, r2, r3} 806a6e8: c40f stmia r4!, {r0, r1, r2, r3} 806a6ea: 682b ldr r3, [r5, #0] 806a6ec: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806a6ee: 4b5e ldr r3, [pc, #376] ; (806a868 ) 806a6f0: ed93 7a00 vldr s14, [r3] 806a6f4: f207 434c addw r3, r7, #1100 ; 0x44c 806a6f8: edd3 7a00 vldr s15, [r3] 806a6fc: eeb4 7ae7 vcmpe.f32 s14, s15 806a700: eef1 fa10 vmrs APSR_nzcv, fpscr 806a704: dd04 ble.n 806a710 806a706: 4b58 ldr r3, [pc, #352] ; (806a868 ) 806a708: 681b ldr r3, [r3, #0] 806a70a: f207 424c addw r2, r7, #1100 ; 0x44c 806a70e: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806a710: 4b55 ldr r3, [pc, #340] ; (806a868 ) 806a712: ed93 7a00 vldr s14, [r3] 806a716: f507 6389 add.w r3, r7, #1096 ; 0x448 806a71a: edd3 7a00 vldr s15, [r3] 806a71e: eeb4 7ae7 vcmpe.f32 s14, s15 806a722: eef1 fa10 vmrs APSR_nzcv, fpscr 806a726: d504 bpl.n 806a732 806a728: 4b4f ldr r3, [pc, #316] ; (806a868 ) 806a72a: 681b ldr r3, [r3, #0] 806a72c: f507 6289 add.w r2, r7, #1096 ; 0x448 806a730: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806a732: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a736: 009a lsls r2, r3, #2 806a738: 4b4e ldr r3, [pc, #312] ; (806a874 ) 806a73a: 4413 add r3, r2 806a73c: 461a mov r2, r3 806a73e: 4b4a ldr r3, [pc, #296] ; (806a868 ) 806a740: 681b ldr r3, [r3, #0] 806a742: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806a744: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a748: 009a lsls r2, r3, #2 806a74a: 4b44 ldr r3, [pc, #272] ; (806a85c ) 806a74c: 4413 add r3, r2 806a74e: 461a mov r2, r3 806a750: 4b45 ldr r3, [pc, #276] ; (806a868 ) 806a752: 68db ldr r3, [r3, #12] 806a754: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806a756: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a75a: 3301 adds r3, #1 806a75c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a760: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a764: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a768: 429a cmp r2, r3 806a76a: d3af bcc.n 806a6cc 806a76c: f002 bbca b.w 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_rms) 806a770: 4b41 ldr r3, [pc, #260] ; (806a878 ) 806a772: 781b ldrb r3, [r3, #0] 806a774: b2db uxtb r3, r3 806a776: 2b01 cmp r3, #1 806a778: f040 8162 bne.w 806aa40 { if(pardata.LANG == RUS) 806a77c: 4b3f ldr r3, [pc, #252] ; (806a87c ) 806a77e: 7b1b ldrb r3, [r3, #12] 806a780: b2db uxtb r3, r3 806a782: 2b00 cmp r3, #0 806a784: d106 bne.n 806a794 BSP_LCD_DisplayStringAt(8, 35, "A(ñêç),ì/ñ^", LEFT_MODE); 806a786: 2303 movs r3, #3 806a788: 4a3d ldr r2, [pc, #244] ; (806a880 ) 806a78a: 2123 movs r1, #35 ; 0x23 806a78c: 2008 movs r0, #8 806a78e: f7e9 f8ef bl 8053970 806a792: e005 b.n 806a7a0 else BSP_LCD_DisplayStringAt(8, 35, "A(rms),m/s^", LEFT_MODE); 806a794: 2303 movs r3, #3 806a796: 4a3b ldr r2, [pc, #236] ; (806a884 ) 806a798: 2123 movs r1, #35 ; 0x23 806a79a: 2008 movs r0, #8 806a79c: f7e9 f8e8 bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806a7a0: 2300 movs r3, #0 806a7a2: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806a7a6: 2300 movs r3, #0 806a7a8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a7ac: e042 b.n 806a834 { TrendData = TrendRAM(i); 806a7ae: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a7b2: 4613 mov r3, r2 806a7b4: 009b lsls r3, r3, #2 806a7b6: 4413 add r3, r2 806a7b8: 009b lsls r3, r3, #2 806a7ba: 461a mov r2, r3 806a7bc: 4b32 ldr r3, [pc, #200] ; (806a888 ) 806a7be: 4413 add r3, r2 806a7c0: 461a mov r2, r3 806a7c2: 4b29 ldr r3, [pc, #164] ; (806a868 ) 806a7c4: 461c mov r4, r3 806a7c6: 4615 mov r5, r2 806a7c8: cd0f ldmia r5!, {r0, r1, r2, r3} 806a7ca: c40f stmia r4!, {r0, r1, r2, r3} 806a7cc: 682b ldr r3, [r5, #0] 806a7ce: 6023 str r3, [r4, #0] if((TrendData.Aivs == 'S') && (TrendData.Aval.fl != -1.0f)) 806a7d0: 4b25 ldr r3, [pc, #148] ; (806a868 ) 806a7d2: 7c1b ldrb r3, [r3, #16] 806a7d4: b2db uxtb r3, r3 806a7d6: 2b53 cmp r3, #83 ; 0x53 806a7d8: d127 bne.n 806a82a 806a7da: 4b23 ldr r3, [pc, #140] ; (806a868 ) 806a7dc: edd3 7a00 vldr s15, [r3] 806a7e0: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806a7e4: eef4 7a47 vcmp.f32 s15, s14 806a7e8: eef1 fa10 vmrs APSR_nzcv, fpscr 806a7ec: d01d beq.n 806a82a { TrendRAM_TEMP(l) = TrendRAM(i); 806a7ee: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806a7f2: 4613 mov r3, r2 806a7f4: 009b lsls r3, r3, #2 806a7f6: 4413 add r3, r2 806a7f8: 009b lsls r3, r3, #2 806a7fa: 461a mov r2, r3 806a7fc: 4b17 ldr r3, [pc, #92] ; (806a85c ) 806a7fe: 4413 add r3, r2 806a800: 4619 mov r1, r3 806a802: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a806: 4613 mov r3, r2 806a808: 009b lsls r3, r3, #2 806a80a: 4413 add r3, r2 806a80c: 009b lsls r3, r3, #2 806a80e: 461a mov r2, r3 806a810: 4b1d ldr r3, [pc, #116] ; (806a888 ) 806a812: 4413 add r3, r2 806a814: 460c mov r4, r1 806a816: 461d mov r5, r3 806a818: cd0f ldmia r5!, {r0, r1, r2, r3} 806a81a: c40f stmia r4!, {r0, r1, r2, r3} 806a81c: 682b ldr r3, [r5, #0] 806a81e: 6023 str r3, [r4, #0] l++; 806a820: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a824: 3301 adds r3, #1 806a826: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806a82a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a82e: 3301 adds r3, #1 806a830: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a834: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a838: 4b14 ldr r3, [pc, #80] ; (806a88c ) 806a83a: 681b ldr r3, [r3, #0] 806a83c: 429a cmp r2, r3 806a83e: d3b6 bcc.n 806a7ae } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806a840: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a844: 2b00 cmp r3, #0 806a846: f002 835d beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806a84a: 2300 movs r3, #0 806a84c: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806a850: e091 b.n 806a976 { for(i = j; i < l; i++) 806a852: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806a856: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a85a: e081 b.n 806a960 806a85c: 64090000 .word 0x64090000 806a860: 20022314 .word 0x20022314 806a864: 20022900 .word 0x20022900 806a868: 20021f88 .word 0x20021f88 806a86c: d01502f9 .word 0xd01502f9 806a870: 501502f9 .word 0x501502f9 806a874: 64080000 .word 0x64080000 806a878: 20020070 .word 0x20020070 806a87c: 20023e60 .word 0x20023e60 806a880: 080cf8f8 .word 0x080cf8f8 806a884: 080cf904 .word 0x080cf904 806a888: 640a0000 .word 0x640a0000 806a88c: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806a890: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a894: 4613 mov r3, r2 806a896: 009b lsls r3, r3, #2 806a898: 4413 add r3, r2 806a89a: 009b lsls r3, r3, #2 806a89c: 461a mov r2, r3 806a89e: 4ba3 ldr r3, [pc, #652] ; (806ab2c ) 806a8a0: 4413 add r3, r2 806a8a2: 461a mov r2, r3 806a8a4: 4ba2 ldr r3, [pc, #648] ; (806ab30 ) 806a8a6: 461c mov r4, r3 806a8a8: 4615 mov r5, r2 806a8aa: cd0f ldmia r5!, {r0, r1, r2, r3} 806a8ac: c40f stmia r4!, {r0, r1, r2, r3} 806a8ae: 682b ldr r3, [r5, #0] 806a8b0: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806a8b2: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a8b6: 4613 mov r3, r2 806a8b8: 009b lsls r3, r3, #2 806a8ba: 4413 add r3, r2 806a8bc: 009b lsls r3, r3, #2 806a8be: 461a mov r2, r3 806a8c0: 4b9a ldr r3, [pc, #616] ; (806ab2c ) 806a8c2: 4413 add r3, r2 806a8c4: 461a mov r2, r3 806a8c6: 4b9b ldr r3, [pc, #620] ; (806ab34 ) 806a8c8: 461c mov r4, r3 806a8ca: 4615 mov r5, r2 806a8cc: cd0f ldmia r5!, {r0, r1, r2, r3} 806a8ce: c40f stmia r4!, {r0, r1, r2, r3} 806a8d0: 682b ldr r3, [r5, #0] 806a8d2: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806a8d4: 4b96 ldr r3, [pc, #600] ; (806ab30 ) 806a8d6: 68da ldr r2, [r3, #12] 806a8d8: 4b96 ldr r3, [pc, #600] ; (806ab34 ) 806a8da: 68db ldr r3, [r3, #12] 806a8dc: 429a cmp r2, r3 806a8de: d23a bcs.n 806a956 { TrendData = TrendRAM_TEMP(j); 806a8e0: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a8e4: 4613 mov r3, r2 806a8e6: 009b lsls r3, r3, #2 806a8e8: 4413 add r3, r2 806a8ea: 009b lsls r3, r3, #2 806a8ec: 461a mov r2, r3 806a8ee: 4b8f ldr r3, [pc, #572] ; (806ab2c ) 806a8f0: 4413 add r3, r2 806a8f2: 461a mov r2, r3 806a8f4: 4b90 ldr r3, [pc, #576] ; (806ab38 ) 806a8f6: 461c mov r4, r3 806a8f8: 4615 mov r5, r2 806a8fa: cd0f ldmia r5!, {r0, r1, r2, r3} 806a8fc: c40f stmia r4!, {r0, r1, r2, r3} 806a8fe: 682b ldr r3, [r5, #0] 806a900: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806a902: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a906: 4613 mov r3, r2 806a908: 009b lsls r3, r3, #2 806a90a: 4413 add r3, r2 806a90c: 009b lsls r3, r3, #2 806a90e: 461a mov r2, r3 806a910: 4b86 ldr r3, [pc, #536] ; (806ab2c ) 806a912: 4413 add r3, r2 806a914: 4619 mov r1, r3 806a916: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a91a: 4613 mov r3, r2 806a91c: 009b lsls r3, r3, #2 806a91e: 4413 add r3, r2 806a920: 009b lsls r3, r3, #2 806a922: 461a mov r2, r3 806a924: 4b81 ldr r3, [pc, #516] ; (806ab2c ) 806a926: 4413 add r3, r2 806a928: 460c mov r4, r1 806a92a: 461d mov r5, r3 806a92c: cd0f ldmia r5!, {r0, r1, r2, r3} 806a92e: c40f stmia r4!, {r0, r1, r2, r3} 806a930: 682b ldr r3, [r5, #0] 806a932: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806a934: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a938: 4613 mov r3, r2 806a93a: 009b lsls r3, r3, #2 806a93c: 4413 add r3, r2 806a93e: 009b lsls r3, r3, #2 806a940: 461a mov r2, r3 806a942: 4b7a ldr r3, [pc, #488] ; (806ab2c ) 806a944: 4413 add r3, r2 806a946: 461a mov r2, r3 806a948: 4b7b ldr r3, [pc, #492] ; (806ab38 ) 806a94a: 4614 mov r4, r2 806a94c: 461d mov r5, r3 806a94e: cd0f ldmia r5!, {r0, r1, r2, r3} 806a950: c40f stmia r4!, {r0, r1, r2, r3} 806a952: 682b ldr r3, [r5, #0] 806a954: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806a956: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806a95a: 3301 adds r3, #1 806a95c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a960: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a964: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a968: 429a cmp r2, r3 806a96a: d391 bcc.n 806a890 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806a96c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806a970: 3301 adds r3, #1 806a972: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806a976: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806a97a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806a97e: 429a cmp r2, r3 806a980: f4ff af67 bcc.w 806a852 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806a984: 4b6d ldr r3, [pc, #436] ; (806ab3c ) 806a986: f207 424c addw r2, r7, #1100 ; 0x44c 806a98a: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806a98c: 4b6c ldr r3, [pc, #432] ; (806ab40 ) 806a98e: f507 6289 add.w r2, r7, #1096 ; 0x448 806a992: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806a994: 2300 movs r3, #0 806a996: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806a99a: e049 b.n 806aa30 { TrendData = TrendRAM_TEMP(i); 806a99c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806a9a0: 4613 mov r3, r2 806a9a2: 009b lsls r3, r3, #2 806a9a4: 4413 add r3, r2 806a9a6: 009b lsls r3, r3, #2 806a9a8: 461a mov r2, r3 806a9aa: 4b60 ldr r3, [pc, #384] ; (806ab2c ) 806a9ac: 4413 add r3, r2 806a9ae: 461a mov r2, r3 806a9b0: 4b61 ldr r3, [pc, #388] ; (806ab38 ) 806a9b2: 461c mov r4, r3 806a9b4: 4615 mov r5, r2 806a9b6: cd0f ldmia r5!, {r0, r1, r2, r3} 806a9b8: c40f stmia r4!, {r0, r1, r2, r3} 806a9ba: 682b ldr r3, [r5, #0] 806a9bc: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806a9be: 4b5e ldr r3, [pc, #376] ; (806ab38 ) 806a9c0: ed93 7a00 vldr s14, [r3] 806a9c4: f207 434c addw r3, r7, #1100 ; 0x44c 806a9c8: edd3 7a00 vldr s15, [r3] 806a9cc: eeb4 7ae7 vcmpe.f32 s14, s15 806a9d0: eef1 fa10 vmrs APSR_nzcv, fpscr 806a9d4: dd04 ble.n 806a9e0 806a9d6: 4b58 ldr r3, [pc, #352] ; (806ab38 ) 806a9d8: 681b ldr r3, [r3, #0] 806a9da: f207 424c addw r2, r7, #1100 ; 0x44c 806a9de: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806a9e0: 4b55 ldr r3, [pc, #340] ; (806ab38 ) 806a9e2: ed93 7a00 vldr s14, [r3] 806a9e6: f507 6389 add.w r3, r7, #1096 ; 0x448 806a9ea: edd3 7a00 vldr s15, [r3] 806a9ee: eeb4 7ae7 vcmpe.f32 s14, s15 806a9f2: eef1 fa10 vmrs APSR_nzcv, fpscr 806a9f6: d504 bpl.n 806aa02 806a9f8: 4b4f ldr r3, [pc, #316] ; (806ab38 ) 806a9fa: 681b ldr r3, [r3, #0] 806a9fc: f507 6289 add.w r2, r7, #1096 ; 0x448 806aa00: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806aa02: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806aa06: 009a lsls r2, r3, #2 806aa08: 4b4e ldr r3, [pc, #312] ; (806ab44 ) 806aa0a: 4413 add r3, r2 806aa0c: 461a mov r2, r3 806aa0e: 4b4a ldr r3, [pc, #296] ; (806ab38 ) 806aa10: 681b ldr r3, [r3, #0] 806aa12: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806aa14: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806aa18: 009a lsls r2, r3, #2 806aa1a: 4b44 ldr r3, [pc, #272] ; (806ab2c ) 806aa1c: 4413 add r3, r2 806aa1e: 461a mov r2, r3 806aa20: 4b45 ldr r3, [pc, #276] ; (806ab38 ) 806aa22: 68db ldr r3, [r3, #12] 806aa24: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806aa26: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806aa2a: 3301 adds r3, #1 806aa2c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806aa30: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806aa34: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806aa38: 429a cmp r2, r3 806aa3a: d3af bcc.n 806a99c 806aa3c: f002 ba62 b.w 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_pkpk) 806aa40: 4b41 ldr r3, [pc, #260] ; (806ab48 ) 806aa42: 781b ldrb r3, [r3, #0] 806aa44: b2db uxtb r3, r3 806aa46: 2b02 cmp r3, #2 806aa48: f040 8162 bne.w 806ad10 { if(pardata.LANG == RUS) 806aa4c: 4b3f ldr r3, [pc, #252] ; (806ab4c ) 806aa4e: 7b1b ldrb r3, [r3, #12] 806aa50: b2db uxtb r3, r3 806aa52: 2b00 cmp r3, #0 806aa54: d106 bne.n 806aa64 BSP_LCD_DisplayStringAt(8, 35, "A(ðàçìàõ),ì/ñ^", LEFT_MODE); 806aa56: 2303 movs r3, #3 806aa58: 4a3d ldr r2, [pc, #244] ; (806ab50 ) 806aa5a: 2123 movs r1, #35 ; 0x23 806aa5c: 2008 movs r0, #8 806aa5e: f7e8 ff87 bl 8053970 806aa62: e005 b.n 806aa70 else BSP_LCD_DisplayStringAt(8, 35, "A(peak-peak),m/s^", LEFT_MODE); 806aa64: 2303 movs r3, #3 806aa66: 4a3b ldr r2, [pc, #236] ; (806ab54 ) 806aa68: 2123 movs r1, #35 ; 0x23 806aa6a: 2008 movs r0, #8 806aa6c: f7e8 ff80 bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806aa70: 2300 movs r3, #0 806aa72: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806aa76: 2300 movs r3, #0 806aa78: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806aa7c: e042 b.n 806ab04 { TrendData = TrendRAM(i); 806aa7e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806aa82: 4613 mov r3, r2 806aa84: 009b lsls r3, r3, #2 806aa86: 4413 add r3, r2 806aa88: 009b lsls r3, r3, #2 806aa8a: 461a mov r2, r3 806aa8c: 4b32 ldr r3, [pc, #200] ; (806ab58 ) 806aa8e: 4413 add r3, r2 806aa90: 461a mov r2, r3 806aa92: 4b29 ldr r3, [pc, #164] ; (806ab38 ) 806aa94: 461c mov r4, r3 806aa96: 4615 mov r5, r2 806aa98: cd0f ldmia r5!, {r0, r1, r2, r3} 806aa9a: c40f stmia r4!, {r0, r1, r2, r3} 806aa9c: 682b ldr r3, [r5, #0] 806aa9e: 6023 str r3, [r4, #0] if((TrendData.Aivs == 'R') && (TrendData.Aval.fl != -1.0f)) 806aaa0: 4b25 ldr r3, [pc, #148] ; (806ab38 ) 806aaa2: 7c1b ldrb r3, [r3, #16] 806aaa4: b2db uxtb r3, r3 806aaa6: 2b52 cmp r3, #82 ; 0x52 806aaa8: d127 bne.n 806aafa 806aaaa: 4b23 ldr r3, [pc, #140] ; (806ab38 ) 806aaac: edd3 7a00 vldr s15, [r3] 806aab0: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806aab4: eef4 7a47 vcmp.f32 s15, s14 806aab8: eef1 fa10 vmrs APSR_nzcv, fpscr 806aabc: d01d beq.n 806aafa { TrendRAM_TEMP(l) = TrendRAM(i); 806aabe: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806aac2: 4613 mov r3, r2 806aac4: 009b lsls r3, r3, #2 806aac6: 4413 add r3, r2 806aac8: 009b lsls r3, r3, #2 806aaca: 461a mov r2, r3 806aacc: 4b17 ldr r3, [pc, #92] ; (806ab2c ) 806aace: 4413 add r3, r2 806aad0: 4619 mov r1, r3 806aad2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806aad6: 4613 mov r3, r2 806aad8: 009b lsls r3, r3, #2 806aada: 4413 add r3, r2 806aadc: 009b lsls r3, r3, #2 806aade: 461a mov r2, r3 806aae0: 4b1d ldr r3, [pc, #116] ; (806ab58 ) 806aae2: 4413 add r3, r2 806aae4: 460c mov r4, r1 806aae6: 461d mov r5, r3 806aae8: cd0f ldmia r5!, {r0, r1, r2, r3} 806aaea: c40f stmia r4!, {r0, r1, r2, r3} 806aaec: 682b ldr r3, [r5, #0] 806aaee: 6023 str r3, [r4, #0] l++; 806aaf0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806aaf4: 3301 adds r3, #1 806aaf6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806aafa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806aafe: 3301 adds r3, #1 806ab00: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ab04: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ab08: 4b14 ldr r3, [pc, #80] ; (806ab5c ) 806ab0a: 681b ldr r3, [r3, #0] 806ab0c: 429a cmp r2, r3 806ab0e: d3b6 bcc.n 806aa7e } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806ab10: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ab14: 2b00 cmp r3, #0 806ab16: f002 81f5 beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806ab1a: 2300 movs r3, #0 806ab1c: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ab20: e091 b.n 806ac46 { for(i = j; i < l; i++) 806ab22: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ab26: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ab2a: e081 b.n 806ac30 806ab2c: 64090000 .word 0x64090000 806ab30: 20022314 .word 0x20022314 806ab34: 20022900 .word 0x20022900 806ab38: 20021f88 .word 0x20021f88 806ab3c: d01502f9 .word 0xd01502f9 806ab40: 501502f9 .word 0x501502f9 806ab44: 64080000 .word 0x64080000 806ab48: 20020070 .word 0x20020070 806ab4c: 20023e60 .word 0x20023e60 806ab50: 080cf910 .word 0x080cf910 806ab54: 080cf920 .word 0x080cf920 806ab58: 640a0000 .word 0x640a0000 806ab5c: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806ab60: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ab64: 4613 mov r3, r2 806ab66: 009b lsls r3, r3, #2 806ab68: 4413 add r3, r2 806ab6a: 009b lsls r3, r3, #2 806ab6c: 461a mov r2, r3 806ab6e: 4ba6 ldr r3, [pc, #664] ; (806ae08 ) 806ab70: 4413 add r3, r2 806ab72: 461a mov r2, r3 806ab74: 4ba5 ldr r3, [pc, #660] ; (806ae0c ) 806ab76: 461c mov r4, r3 806ab78: 4615 mov r5, r2 806ab7a: cd0f ldmia r5!, {r0, r1, r2, r3} 806ab7c: c40f stmia r4!, {r0, r1, r2, r3} 806ab7e: 682b ldr r3, [r5, #0] 806ab80: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806ab82: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ab86: 4613 mov r3, r2 806ab88: 009b lsls r3, r3, #2 806ab8a: 4413 add r3, r2 806ab8c: 009b lsls r3, r3, #2 806ab8e: 461a mov r2, r3 806ab90: 4b9d ldr r3, [pc, #628] ; (806ae08 ) 806ab92: 4413 add r3, r2 806ab94: 461a mov r2, r3 806ab96: 4b9e ldr r3, [pc, #632] ; (806ae10 ) 806ab98: 461c mov r4, r3 806ab9a: 4615 mov r5, r2 806ab9c: cd0f ldmia r5!, {r0, r1, r2, r3} 806ab9e: c40f stmia r4!, {r0, r1, r2, r3} 806aba0: 682b ldr r3, [r5, #0] 806aba2: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806aba4: 4b99 ldr r3, [pc, #612] ; (806ae0c ) 806aba6: 68da ldr r2, [r3, #12] 806aba8: 4b99 ldr r3, [pc, #612] ; (806ae10 ) 806abaa: 68db ldr r3, [r3, #12] 806abac: 429a cmp r2, r3 806abae: d23a bcs.n 806ac26 { TrendData = TrendRAM_TEMP(j); 806abb0: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806abb4: 4613 mov r3, r2 806abb6: 009b lsls r3, r3, #2 806abb8: 4413 add r3, r2 806abba: 009b lsls r3, r3, #2 806abbc: 461a mov r2, r3 806abbe: 4b92 ldr r3, [pc, #584] ; (806ae08 ) 806abc0: 4413 add r3, r2 806abc2: 461a mov r2, r3 806abc4: 4b93 ldr r3, [pc, #588] ; (806ae14 ) 806abc6: 461c mov r4, r3 806abc8: 4615 mov r5, r2 806abca: cd0f ldmia r5!, {r0, r1, r2, r3} 806abcc: c40f stmia r4!, {r0, r1, r2, r3} 806abce: 682b ldr r3, [r5, #0] 806abd0: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806abd2: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806abd6: 4613 mov r3, r2 806abd8: 009b lsls r3, r3, #2 806abda: 4413 add r3, r2 806abdc: 009b lsls r3, r3, #2 806abde: 461a mov r2, r3 806abe0: 4b89 ldr r3, [pc, #548] ; (806ae08 ) 806abe2: 4413 add r3, r2 806abe4: 4619 mov r1, r3 806abe6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806abea: 4613 mov r3, r2 806abec: 009b lsls r3, r3, #2 806abee: 4413 add r3, r2 806abf0: 009b lsls r3, r3, #2 806abf2: 461a mov r2, r3 806abf4: 4b84 ldr r3, [pc, #528] ; (806ae08 ) 806abf6: 4413 add r3, r2 806abf8: 460c mov r4, r1 806abfa: 461d mov r5, r3 806abfc: cd0f ldmia r5!, {r0, r1, r2, r3} 806abfe: c40f stmia r4!, {r0, r1, r2, r3} 806ac00: 682b ldr r3, [r5, #0] 806ac02: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806ac04: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ac08: 4613 mov r3, r2 806ac0a: 009b lsls r3, r3, #2 806ac0c: 4413 add r3, r2 806ac0e: 009b lsls r3, r3, #2 806ac10: 461a mov r2, r3 806ac12: 4b7d ldr r3, [pc, #500] ; (806ae08 ) 806ac14: 4413 add r3, r2 806ac16: 461a mov r2, r3 806ac18: 4b7e ldr r3, [pc, #504] ; (806ae14 ) 806ac1a: 4614 mov r4, r2 806ac1c: 461d mov r5, r3 806ac1e: cd0f ldmia r5!, {r0, r1, r2, r3} 806ac20: c40f stmia r4!, {r0, r1, r2, r3} 806ac22: 682b ldr r3, [r5, #0] 806ac24: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806ac26: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ac2a: 3301 adds r3, #1 806ac2c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ac30: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ac34: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ac38: 429a cmp r2, r3 806ac3a: d391 bcc.n 806ab60 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806ac3c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ac40: 3301 adds r3, #1 806ac42: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ac46: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ac4a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ac4e: 429a cmp r2, r3 806ac50: f4ff af67 bcc.w 806ab22 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806ac54: 4b70 ldr r3, [pc, #448] ; (806ae18 ) 806ac56: f207 424c addw r2, r7, #1100 ; 0x44c 806ac5a: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806ac5c: 4b6f ldr r3, [pc, #444] ; (806ae1c ) 806ac5e: f507 6289 add.w r2, r7, #1096 ; 0x448 806ac62: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806ac64: 2300 movs r3, #0 806ac66: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ac6a: e049 b.n 806ad00 { TrendData = TrendRAM_TEMP(i); 806ac6c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ac70: 4613 mov r3, r2 806ac72: 009b lsls r3, r3, #2 806ac74: 4413 add r3, r2 806ac76: 009b lsls r3, r3, #2 806ac78: 461a mov r2, r3 806ac7a: 4b63 ldr r3, [pc, #396] ; (806ae08 ) 806ac7c: 4413 add r3, r2 806ac7e: 461a mov r2, r3 806ac80: 4b64 ldr r3, [pc, #400] ; (806ae14 ) 806ac82: 461c mov r4, r3 806ac84: 4615 mov r5, r2 806ac86: cd0f ldmia r5!, {r0, r1, r2, r3} 806ac88: c40f stmia r4!, {r0, r1, r2, r3} 806ac8a: 682b ldr r3, [r5, #0] 806ac8c: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806ac8e: 4b61 ldr r3, [pc, #388] ; (806ae14 ) 806ac90: ed93 7a00 vldr s14, [r3] 806ac94: f207 434c addw r3, r7, #1100 ; 0x44c 806ac98: edd3 7a00 vldr s15, [r3] 806ac9c: eeb4 7ae7 vcmpe.f32 s14, s15 806aca0: eef1 fa10 vmrs APSR_nzcv, fpscr 806aca4: dd04 ble.n 806acb0 806aca6: 4b5b ldr r3, [pc, #364] ; (806ae14 ) 806aca8: 681b ldr r3, [r3, #0] 806acaa: f207 424c addw r2, r7, #1100 ; 0x44c 806acae: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806acb0: 4b58 ldr r3, [pc, #352] ; (806ae14 ) 806acb2: ed93 7a00 vldr s14, [r3] 806acb6: f507 6389 add.w r3, r7, #1096 ; 0x448 806acba: edd3 7a00 vldr s15, [r3] 806acbe: eeb4 7ae7 vcmpe.f32 s14, s15 806acc2: eef1 fa10 vmrs APSR_nzcv, fpscr 806acc6: d504 bpl.n 806acd2 806acc8: 4b52 ldr r3, [pc, #328] ; (806ae14 ) 806acca: 681b ldr r3, [r3, #0] 806accc: f507 6289 add.w r2, r7, #1096 ; 0x448 806acd0: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806acd2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806acd6: 009a lsls r2, r3, #2 806acd8: 4b51 ldr r3, [pc, #324] ; (806ae20 ) 806acda: 4413 add r3, r2 806acdc: 461a mov r2, r3 806acde: 4b4d ldr r3, [pc, #308] ; (806ae14 ) 806ace0: 681b ldr r3, [r3, #0] 806ace2: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806ace4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ace8: 009a lsls r2, r3, #2 806acea: 4b47 ldr r3, [pc, #284] ; (806ae08 ) 806acec: 4413 add r3, r2 806acee: 461a mov r2, r3 806acf0: 4b48 ldr r3, [pc, #288] ; (806ae14 ) 806acf2: 68db ldr r3, [r3, #12] 806acf4: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806acf6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806acfa: 3301 adds r3, #1 806acfc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ad00: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ad04: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ad08: 429a cmp r2, r3 806ad0a: d3af bcc.n 806ac6c 806ad0c: f002 b8fa b.w 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_factor) 806ad10: 4b44 ldr r3, [pc, #272] ; (806ae24 ) 806ad12: 781b ldrb r3, [r3, #0] 806ad14: b2db uxtb r3, r3 806ad16: 2b03 cmp r3, #3 806ad18: f040 8168 bne.w 806afec { if(pardata.LANG == RUS) 806ad1c: 4b42 ldr r3, [pc, #264] ; (806ae28 ) 806ad1e: 7b1b ldrb r3, [r3, #12] 806ad20: b2db uxtb r3, r3 806ad22: 2b00 cmp r3, #0 806ad24: d106 bne.n 806ad34 BSP_LCD_DisplayStringAt(8, 35, "A(ïèê-ôàêòîð)", LEFT_MODE); 806ad26: 2303 movs r3, #3 806ad28: 4a40 ldr r2, [pc, #256] ; (806ae2c ) 806ad2a: 2123 movs r1, #35 ; 0x23 806ad2c: 2008 movs r0, #8 806ad2e: f7e8 fe1f bl 8053970 806ad32: e005 b.n 806ad40 else BSP_LCD_DisplayStringAt(8, 35, "A(peak-factor)", LEFT_MODE); 806ad34: 2303 movs r3, #3 806ad36: 4a3e ldr r2, [pc, #248] ; (806ae30 ) 806ad38: 2123 movs r1, #35 ; 0x23 806ad3a: 2008 movs r0, #8 806ad3c: f7e8 fe18 bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806ad40: 2300 movs r3, #0 806ad42: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806ad46: 2300 movs r3, #0 806ad48: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ad4c: e047 b.n 806adde { TrendData = TrendRAM(i); 806ad4e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ad52: 4613 mov r3, r2 806ad54: 009b lsls r3, r3, #2 806ad56: 4413 add r3, r2 806ad58: 009b lsls r3, r3, #2 806ad5a: 461a mov r2, r3 806ad5c: 4b35 ldr r3, [pc, #212] ; (806ae34 ) 806ad5e: 4413 add r3, r2 806ad60: 461a mov r2, r3 806ad62: 4b2c ldr r3, [pc, #176] ; (806ae14 ) 806ad64: 461c mov r4, r3 806ad66: 4615 mov r5, r2 806ad68: cd0f ldmia r5!, {r0, r1, r2, r3} 806ad6a: c40f stmia r4!, {r0, r1, r2, r3} 806ad6c: 682b ldr r3, [r5, #0] 806ad6e: 6023 str r3, [r4, #0] if(((TrendData.Aivs == 'Ô') || (TrendData.Aivs == 'F')) && (TrendData.Aval.fl != -1.0f)) 806ad70: 4b28 ldr r3, [pc, #160] ; (806ae14 ) 806ad72: 7c1b ldrb r3, [r3, #16] 806ad74: b2db uxtb r3, r3 806ad76: 2bd4 cmp r3, #212 ; 0xd4 806ad78: d004 beq.n 806ad84 806ad7a: 4b26 ldr r3, [pc, #152] ; (806ae14 ) 806ad7c: 7c1b ldrb r3, [r3, #16] 806ad7e: b2db uxtb r3, r3 806ad80: 2b46 cmp r3, #70 ; 0x46 806ad82: d127 bne.n 806add4 806ad84: 4b23 ldr r3, [pc, #140] ; (806ae14 ) 806ad86: edd3 7a00 vldr s15, [r3] 806ad8a: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806ad8e: eef4 7a47 vcmp.f32 s15, s14 806ad92: eef1 fa10 vmrs APSR_nzcv, fpscr 806ad96: d01d beq.n 806add4 { TrendRAM_TEMP(l) = TrendRAM(i); 806ad98: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806ad9c: 4613 mov r3, r2 806ad9e: 009b lsls r3, r3, #2 806ada0: 4413 add r3, r2 806ada2: 009b lsls r3, r3, #2 806ada4: 461a mov r2, r3 806ada6: 4b18 ldr r3, [pc, #96] ; (806ae08 ) 806ada8: 4413 add r3, r2 806adaa: 4619 mov r1, r3 806adac: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806adb0: 4613 mov r3, r2 806adb2: 009b lsls r3, r3, #2 806adb4: 4413 add r3, r2 806adb6: 009b lsls r3, r3, #2 806adb8: 461a mov r2, r3 806adba: 4b1e ldr r3, [pc, #120] ; (806ae34 ) 806adbc: 4413 add r3, r2 806adbe: 460c mov r4, r1 806adc0: 461d mov r5, r3 806adc2: cd0f ldmia r5!, {r0, r1, r2, r3} 806adc4: c40f stmia r4!, {r0, r1, r2, r3} 806adc6: 682b ldr r3, [r5, #0] 806adc8: 6023 str r3, [r4, #0] l++; 806adca: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806adce: 3301 adds r3, #1 806add0: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806add4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806add8: 3301 adds r3, #1 806adda: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806adde: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ade2: 4b15 ldr r3, [pc, #84] ; (806ae38 ) 806ade4: 681b ldr r3, [r3, #0] 806ade6: 429a cmp r2, r3 806ade8: d3b1 bcc.n 806ad4e } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806adea: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806adee: 2b00 cmp r3, #0 806adf0: f002 8088 beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806adf4: 2300 movs r3, #0 806adf6: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806adfa: e092 b.n 806af22 { for(i = j; i < l; i++) 806adfc: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ae00: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ae04: e082 b.n 806af0c 806ae06: bf00 nop 806ae08: 64090000 .word 0x64090000 806ae0c: 20022314 .word 0x20022314 806ae10: 20022900 .word 0x20022900 806ae14: 20021f88 .word 0x20021f88 806ae18: d01502f9 .word 0xd01502f9 806ae1c: 501502f9 .word 0x501502f9 806ae20: 64080000 .word 0x64080000 806ae24: 20020070 .word 0x20020070 806ae28: 20023e60 .word 0x20023e60 806ae2c: 080cf934 .word 0x080cf934 806ae30: 080cf944 .word 0x080cf944 806ae34: 640a0000 .word 0x640a0000 806ae38: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806ae3c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ae40: 4613 mov r3, r2 806ae42: 009b lsls r3, r3, #2 806ae44: 4413 add r3, r2 806ae46: 009b lsls r3, r3, #2 806ae48: 461a mov r2, r3 806ae4a: 4ba6 ldr r3, [pc, #664] ; (806b0e4 ) 806ae4c: 4413 add r3, r2 806ae4e: 461a mov r2, r3 806ae50: 4ba5 ldr r3, [pc, #660] ; (806b0e8 ) 806ae52: 461c mov r4, r3 806ae54: 4615 mov r5, r2 806ae56: cd0f ldmia r5!, {r0, r1, r2, r3} 806ae58: c40f stmia r4!, {r0, r1, r2, r3} 806ae5a: 682b ldr r3, [r5, #0] 806ae5c: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806ae5e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ae62: 4613 mov r3, r2 806ae64: 009b lsls r3, r3, #2 806ae66: 4413 add r3, r2 806ae68: 009b lsls r3, r3, #2 806ae6a: 461a mov r2, r3 806ae6c: 4b9d ldr r3, [pc, #628] ; (806b0e4 ) 806ae6e: 4413 add r3, r2 806ae70: 461a mov r2, r3 806ae72: 4b9e ldr r3, [pc, #632] ; (806b0ec ) 806ae74: 461c mov r4, r3 806ae76: 4615 mov r5, r2 806ae78: cd0f ldmia r5!, {r0, r1, r2, r3} 806ae7a: c40f stmia r4!, {r0, r1, r2, r3} 806ae7c: 682b ldr r3, [r5, #0] 806ae7e: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806ae80: 4b99 ldr r3, [pc, #612] ; (806b0e8 ) 806ae82: 68da ldr r2, [r3, #12] 806ae84: 4b99 ldr r3, [pc, #612] ; (806b0ec ) 806ae86: 68db ldr r3, [r3, #12] 806ae88: 429a cmp r2, r3 806ae8a: d23a bcs.n 806af02 { TrendData = TrendRAM_TEMP(j); 806ae8c: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ae90: 4613 mov r3, r2 806ae92: 009b lsls r3, r3, #2 806ae94: 4413 add r3, r2 806ae96: 009b lsls r3, r3, #2 806ae98: 461a mov r2, r3 806ae9a: 4b92 ldr r3, [pc, #584] ; (806b0e4 ) 806ae9c: 4413 add r3, r2 806ae9e: 461a mov r2, r3 806aea0: 4b93 ldr r3, [pc, #588] ; (806b0f0 ) 806aea2: 461c mov r4, r3 806aea4: 4615 mov r5, r2 806aea6: cd0f ldmia r5!, {r0, r1, r2, r3} 806aea8: c40f stmia r4!, {r0, r1, r2, r3} 806aeaa: 682b ldr r3, [r5, #0] 806aeac: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806aeae: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806aeb2: 4613 mov r3, r2 806aeb4: 009b lsls r3, r3, #2 806aeb6: 4413 add r3, r2 806aeb8: 009b lsls r3, r3, #2 806aeba: 461a mov r2, r3 806aebc: 4b89 ldr r3, [pc, #548] ; (806b0e4 ) 806aebe: 4413 add r3, r2 806aec0: 4619 mov r1, r3 806aec2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806aec6: 4613 mov r3, r2 806aec8: 009b lsls r3, r3, #2 806aeca: 4413 add r3, r2 806aecc: 009b lsls r3, r3, #2 806aece: 461a mov r2, r3 806aed0: 4b84 ldr r3, [pc, #528] ; (806b0e4 ) 806aed2: 4413 add r3, r2 806aed4: 460c mov r4, r1 806aed6: 461d mov r5, r3 806aed8: cd0f ldmia r5!, {r0, r1, r2, r3} 806aeda: c40f stmia r4!, {r0, r1, r2, r3} 806aedc: 682b ldr r3, [r5, #0] 806aede: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806aee0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806aee4: 4613 mov r3, r2 806aee6: 009b lsls r3, r3, #2 806aee8: 4413 add r3, r2 806aeea: 009b lsls r3, r3, #2 806aeec: 461a mov r2, r3 806aeee: 4b7d ldr r3, [pc, #500] ; (806b0e4 ) 806aef0: 4413 add r3, r2 806aef2: 461a mov r2, r3 806aef4: 4b7e ldr r3, [pc, #504] ; (806b0f0 ) 806aef6: 4614 mov r4, r2 806aef8: 461d mov r5, r3 806aefa: cd0f ldmia r5!, {r0, r1, r2, r3} 806aefc: c40f stmia r4!, {r0, r1, r2, r3} 806aefe: 682b ldr r3, [r5, #0] 806af00: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806af02: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806af06: 3301 adds r3, #1 806af08: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806af0c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806af10: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806af14: 429a cmp r2, r3 806af16: d391 bcc.n 806ae3c for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806af18: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806af1c: 3301 adds r3, #1 806af1e: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806af22: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806af26: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806af2a: 429a cmp r2, r3 806af2c: f4ff af66 bcc.w 806adfc } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806af30: 4b70 ldr r3, [pc, #448] ; (806b0f4 ) 806af32: f207 424c addw r2, r7, #1100 ; 0x44c 806af36: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806af38: 4b6f ldr r3, [pc, #444] ; (806b0f8 ) 806af3a: f507 6289 add.w r2, r7, #1096 ; 0x448 806af3e: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806af40: 2300 movs r3, #0 806af42: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806af46: e049 b.n 806afdc { TrendData = TrendRAM_TEMP(i); 806af48: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806af4c: 4613 mov r3, r2 806af4e: 009b lsls r3, r3, #2 806af50: 4413 add r3, r2 806af52: 009b lsls r3, r3, #2 806af54: 461a mov r2, r3 806af56: 4b63 ldr r3, [pc, #396] ; (806b0e4 ) 806af58: 4413 add r3, r2 806af5a: 461a mov r2, r3 806af5c: 4b64 ldr r3, [pc, #400] ; (806b0f0 ) 806af5e: 461c mov r4, r3 806af60: 4615 mov r5, r2 806af62: cd0f ldmia r5!, {r0, r1, r2, r3} 806af64: c40f stmia r4!, {r0, r1, r2, r3} 806af66: 682b ldr r3, [r5, #0] 806af68: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806af6a: 4b61 ldr r3, [pc, #388] ; (806b0f0 ) 806af6c: ed93 7a00 vldr s14, [r3] 806af70: f207 434c addw r3, r7, #1100 ; 0x44c 806af74: edd3 7a00 vldr s15, [r3] 806af78: eeb4 7ae7 vcmpe.f32 s14, s15 806af7c: eef1 fa10 vmrs APSR_nzcv, fpscr 806af80: dd04 ble.n 806af8c 806af82: 4b5b ldr r3, [pc, #364] ; (806b0f0 ) 806af84: 681b ldr r3, [r3, #0] 806af86: f207 424c addw r2, r7, #1100 ; 0x44c 806af8a: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806af8c: 4b58 ldr r3, [pc, #352] ; (806b0f0 ) 806af8e: ed93 7a00 vldr s14, [r3] 806af92: f507 6389 add.w r3, r7, #1096 ; 0x448 806af96: edd3 7a00 vldr s15, [r3] 806af9a: eeb4 7ae7 vcmpe.f32 s14, s15 806af9e: eef1 fa10 vmrs APSR_nzcv, fpscr 806afa2: d504 bpl.n 806afae 806afa4: 4b52 ldr r3, [pc, #328] ; (806b0f0 ) 806afa6: 681b ldr r3, [r3, #0] 806afa8: f507 6289 add.w r2, r7, #1096 ; 0x448 806afac: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806afae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806afb2: 009a lsls r2, r3, #2 806afb4: 4b51 ldr r3, [pc, #324] ; (806b0fc ) 806afb6: 4413 add r3, r2 806afb8: 461a mov r2, r3 806afba: 4b4d ldr r3, [pc, #308] ; (806b0f0 ) 806afbc: 681b ldr r3, [r3, #0] 806afbe: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806afc0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806afc4: 009a lsls r2, r3, #2 806afc6: 4b47 ldr r3, [pc, #284] ; (806b0e4 ) 806afc8: 4413 add r3, r2 806afca: 461a mov r2, r3 806afcc: 4b48 ldr r3, [pc, #288] ; (806b0f0 ) 806afce: 68db ldr r3, [r3, #12] 806afd0: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806afd2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806afd6: 3301 adds r3, #1 806afd8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806afdc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806afe0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806afe4: 429a cmp r2, r3 806afe6: d3af bcc.n 806af48 806afe8: f001 bf8c b.w 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_excess) 806afec: 4b44 ldr r3, [pc, #272] ; (806b100 ) 806afee: 781b ldrb r3, [r3, #0] 806aff0: b2db uxtb r3, r3 806aff2: 2b04 cmp r3, #4 806aff4: f041 8786 bne.w 806cf04 { if(pardata.LANG == RUS) 806aff8: 4b42 ldr r3, [pc, #264] ; (806b104 ) 806affa: 7b1b ldrb r3, [r3, #12] 806affc: b2db uxtb r3, r3 806affe: 2b00 cmp r3, #0 806b000: d106 bne.n 806b010 BSP_LCD_DisplayStringAt(8, 35, "A(ýêñöåññ)", LEFT_MODE); 806b002: 2303 movs r3, #3 806b004: 4a40 ldr r2, [pc, #256] ; (806b108 ) 806b006: 2123 movs r1, #35 ; 0x23 806b008: 2008 movs r0, #8 806b00a: f7e8 fcb1 bl 8053970 806b00e: e005 b.n 806b01c else BSP_LCD_DisplayStringAt(8, 35, "A(excess)", LEFT_MODE); 806b010: 2303 movs r3, #3 806b012: 4a3e ldr r2, [pc, #248] ; (806b10c ) 806b014: 2123 movs r1, #35 ; 0x23 806b016: 2008 movs r0, #8 806b018: f7e8 fcaa bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806b01c: 2300 movs r3, #0 806b01e: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b022: 2300 movs r3, #0 806b024: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b028: e047 b.n 806b0ba { TrendData = TrendRAM(i); 806b02a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b02e: 4613 mov r3, r2 806b030: 009b lsls r3, r3, #2 806b032: 4413 add r3, r2 806b034: 009b lsls r3, r3, #2 806b036: 461a mov r2, r3 806b038: 4b35 ldr r3, [pc, #212] ; (806b110 ) 806b03a: 4413 add r3, r2 806b03c: 461a mov r2, r3 806b03e: 4b2c ldr r3, [pc, #176] ; (806b0f0 ) 806b040: 461c mov r4, r3 806b042: 4615 mov r5, r2 806b044: cd0f ldmia r5!, {r0, r1, r2, r3} 806b046: c40f stmia r4!, {r0, r1, r2, r3} 806b048: 682b ldr r3, [r5, #0] 806b04a: 6023 str r3, [r4, #0] if(((TrendData.Aivs == 'Ý') || (TrendData.Aivs == 'E')) && (TrendData.Aval.fl != -1.0f)) 806b04c: 4b28 ldr r3, [pc, #160] ; (806b0f0 ) 806b04e: 7c1b ldrb r3, [r3, #16] 806b050: b2db uxtb r3, r3 806b052: 2bdd cmp r3, #221 ; 0xdd 806b054: d004 beq.n 806b060 806b056: 4b26 ldr r3, [pc, #152] ; (806b0f0 ) 806b058: 7c1b ldrb r3, [r3, #16] 806b05a: b2db uxtb r3, r3 806b05c: 2b45 cmp r3, #69 ; 0x45 806b05e: d127 bne.n 806b0b0 806b060: 4b23 ldr r3, [pc, #140] ; (806b0f0 ) 806b062: edd3 7a00 vldr s15, [r3] 806b066: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806b06a: eef4 7a47 vcmp.f32 s15, s14 806b06e: eef1 fa10 vmrs APSR_nzcv, fpscr 806b072: d01d beq.n 806b0b0 { TrendRAM_TEMP(l) = TrendRAM(i); 806b074: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806b078: 4613 mov r3, r2 806b07a: 009b lsls r3, r3, #2 806b07c: 4413 add r3, r2 806b07e: 009b lsls r3, r3, #2 806b080: 461a mov r2, r3 806b082: 4b18 ldr r3, [pc, #96] ; (806b0e4 ) 806b084: 4413 add r3, r2 806b086: 4619 mov r1, r3 806b088: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b08c: 4613 mov r3, r2 806b08e: 009b lsls r3, r3, #2 806b090: 4413 add r3, r2 806b092: 009b lsls r3, r3, #2 806b094: 461a mov r2, r3 806b096: 4b1e ldr r3, [pc, #120] ; (806b110 ) 806b098: 4413 add r3, r2 806b09a: 460c mov r4, r1 806b09c: 461d mov r5, r3 806b09e: cd0f ldmia r5!, {r0, r1, r2, r3} 806b0a0: c40f stmia r4!, {r0, r1, r2, r3} 806b0a2: 682b ldr r3, [r5, #0] 806b0a4: 6023 str r3, [r4, #0] l++; 806b0a6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b0aa: 3301 adds r3, #1 806b0ac: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b0b0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b0b4: 3301 adds r3, #1 806b0b6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b0ba: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b0be: 4b15 ldr r3, [pc, #84] ; (806b114 ) 806b0c0: 681b ldr r3, [r3, #0] 806b0c2: 429a cmp r2, r3 806b0c4: d3b1 bcc.n 806b02a } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806b0c6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b0ca: 2b00 cmp r3, #0 806b0cc: f001 871a beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b0d0: 2300 movs r3, #0 806b0d2: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b0d6: e092 b.n 806b1fe { for(i = j; i < l; i++) 806b0d8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b0dc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b0e0: e082 b.n 806b1e8 806b0e2: bf00 nop 806b0e4: 64090000 .word 0x64090000 806b0e8: 20022314 .word 0x20022314 806b0ec: 20022900 .word 0x20022900 806b0f0: 20021f88 .word 0x20021f88 806b0f4: d01502f9 .word 0xd01502f9 806b0f8: 501502f9 .word 0x501502f9 806b0fc: 64080000 .word 0x64080000 806b100: 20020070 .word 0x20020070 806b104: 20023e60 .word 0x20023e60 806b108: 080cf954 .word 0x080cf954 806b10c: 080cf960 .word 0x080cf960 806b110: 640a0000 .word 0x640a0000 806b114: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806b118: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b11c: 4613 mov r3, r2 806b11e: 009b lsls r3, r3, #2 806b120: 4413 add r3, r2 806b122: 009b lsls r3, r3, #2 806b124: 461a mov r2, r3 806b126: 4ba6 ldr r3, [pc, #664] ; (806b3c0 ) 806b128: 4413 add r3, r2 806b12a: 461a mov r2, r3 806b12c: 4ba5 ldr r3, [pc, #660] ; (806b3c4 ) 806b12e: 461c mov r4, r3 806b130: 4615 mov r5, r2 806b132: cd0f ldmia r5!, {r0, r1, r2, r3} 806b134: c40f stmia r4!, {r0, r1, r2, r3} 806b136: 682b ldr r3, [r5, #0] 806b138: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806b13a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b13e: 4613 mov r3, r2 806b140: 009b lsls r3, r3, #2 806b142: 4413 add r3, r2 806b144: 009b lsls r3, r3, #2 806b146: 461a mov r2, r3 806b148: 4b9d ldr r3, [pc, #628] ; (806b3c0 ) 806b14a: 4413 add r3, r2 806b14c: 461a mov r2, r3 806b14e: 4b9e ldr r3, [pc, #632] ; (806b3c8 ) 806b150: 461c mov r4, r3 806b152: 4615 mov r5, r2 806b154: cd0f ldmia r5!, {r0, r1, r2, r3} 806b156: c40f stmia r4!, {r0, r1, r2, r3} 806b158: 682b ldr r3, [r5, #0] 806b15a: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806b15c: 4b99 ldr r3, [pc, #612] ; (806b3c4 ) 806b15e: 68da ldr r2, [r3, #12] 806b160: 4b99 ldr r3, [pc, #612] ; (806b3c8 ) 806b162: 68db ldr r3, [r3, #12] 806b164: 429a cmp r2, r3 806b166: d23a bcs.n 806b1de { TrendData = TrendRAM_TEMP(j); 806b168: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b16c: 4613 mov r3, r2 806b16e: 009b lsls r3, r3, #2 806b170: 4413 add r3, r2 806b172: 009b lsls r3, r3, #2 806b174: 461a mov r2, r3 806b176: 4b92 ldr r3, [pc, #584] ; (806b3c0 ) 806b178: 4413 add r3, r2 806b17a: 461a mov r2, r3 806b17c: 4b93 ldr r3, [pc, #588] ; (806b3cc ) 806b17e: 461c mov r4, r3 806b180: 4615 mov r5, r2 806b182: cd0f ldmia r5!, {r0, r1, r2, r3} 806b184: c40f stmia r4!, {r0, r1, r2, r3} 806b186: 682b ldr r3, [r5, #0] 806b188: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806b18a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b18e: 4613 mov r3, r2 806b190: 009b lsls r3, r3, #2 806b192: 4413 add r3, r2 806b194: 009b lsls r3, r3, #2 806b196: 461a mov r2, r3 806b198: 4b89 ldr r3, [pc, #548] ; (806b3c0 ) 806b19a: 4413 add r3, r2 806b19c: 4619 mov r1, r3 806b19e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b1a2: 4613 mov r3, r2 806b1a4: 009b lsls r3, r3, #2 806b1a6: 4413 add r3, r2 806b1a8: 009b lsls r3, r3, #2 806b1aa: 461a mov r2, r3 806b1ac: 4b84 ldr r3, [pc, #528] ; (806b3c0 ) 806b1ae: 4413 add r3, r2 806b1b0: 460c mov r4, r1 806b1b2: 461d mov r5, r3 806b1b4: cd0f ldmia r5!, {r0, r1, r2, r3} 806b1b6: c40f stmia r4!, {r0, r1, r2, r3} 806b1b8: 682b ldr r3, [r5, #0] 806b1ba: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806b1bc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b1c0: 4613 mov r3, r2 806b1c2: 009b lsls r3, r3, #2 806b1c4: 4413 add r3, r2 806b1c6: 009b lsls r3, r3, #2 806b1c8: 461a mov r2, r3 806b1ca: 4b7d ldr r3, [pc, #500] ; (806b3c0 ) 806b1cc: 4413 add r3, r2 806b1ce: 461a mov r2, r3 806b1d0: 4b7e ldr r3, [pc, #504] ; (806b3cc ) 806b1d2: 4614 mov r4, r2 806b1d4: 461d mov r5, r3 806b1d6: cd0f ldmia r5!, {r0, r1, r2, r3} 806b1d8: c40f stmia r4!, {r0, r1, r2, r3} 806b1da: 682b ldr r3, [r5, #0] 806b1dc: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806b1de: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b1e2: 3301 adds r3, #1 806b1e4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b1e8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b1ec: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b1f0: 429a cmp r2, r3 806b1f2: d391 bcc.n 806b118 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b1f4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b1f8: 3301 adds r3, #1 806b1fa: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b1fe: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b202: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b206: 429a cmp r2, r3 806b208: f4ff af66 bcc.w 806b0d8 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806b20c: 4b70 ldr r3, [pc, #448] ; (806b3d0 ) 806b20e: f207 424c addw r2, r7, #1100 ; 0x44c 806b212: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806b214: 4b6f ldr r3, [pc, #444] ; (806b3d4 ) 806b216: f507 6289 add.w r2, r7, #1096 ; 0x448 806b21a: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b21c: 2300 movs r3, #0 806b21e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b222: e049 b.n 806b2b8 { TrendData = TrendRAM_TEMP(i); 806b224: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b228: 4613 mov r3, r2 806b22a: 009b lsls r3, r3, #2 806b22c: 4413 add r3, r2 806b22e: 009b lsls r3, r3, #2 806b230: 461a mov r2, r3 806b232: 4b63 ldr r3, [pc, #396] ; (806b3c0 ) 806b234: 4413 add r3, r2 806b236: 461a mov r2, r3 806b238: 4b64 ldr r3, [pc, #400] ; (806b3cc ) 806b23a: 461c mov r4, r3 806b23c: 4615 mov r5, r2 806b23e: cd0f ldmia r5!, {r0, r1, r2, r3} 806b240: c40f stmia r4!, {r0, r1, r2, r3} 806b242: 682b ldr r3, [r5, #0] 806b244: 6023 str r3, [r4, #0] if(TrendData.Aval.fl > fmax) fmax = TrendData.Aval.fl; 806b246: 4b61 ldr r3, [pc, #388] ; (806b3cc ) 806b248: ed93 7a00 vldr s14, [r3] 806b24c: f207 434c addw r3, r7, #1100 ; 0x44c 806b250: edd3 7a00 vldr s15, [r3] 806b254: eeb4 7ae7 vcmpe.f32 s14, s15 806b258: eef1 fa10 vmrs APSR_nzcv, fpscr 806b25c: dd04 ble.n 806b268 806b25e: 4b5b ldr r3, [pc, #364] ; (806b3cc ) 806b260: 681b ldr r3, [r3, #0] 806b262: f207 424c addw r2, r7, #1100 ; 0x44c 806b266: 6013 str r3, [r2, #0] if(TrendData.Aval.fl < fmin) fmin = TrendData.Aval.fl; 806b268: 4b58 ldr r3, [pc, #352] ; (806b3cc ) 806b26a: ed93 7a00 vldr s14, [r3] 806b26e: f507 6389 add.w r3, r7, #1096 ; 0x448 806b272: edd3 7a00 vldr s15, [r3] 806b276: eeb4 7ae7 vcmpe.f32 s14, s15 806b27a: eef1 fa10 vmrs APSR_nzcv, fpscr 806b27e: d504 bpl.n 806b28a 806b280: 4b52 ldr r3, [pc, #328] ; (806b3cc ) 806b282: 681b ldr r3, [r3, #0] 806b284: f507 6289 add.w r2, r7, #1096 ; 0x448 806b288: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Aval.fl; 806b28a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b28e: 009a lsls r2, r3, #2 806b290: 4b51 ldr r3, [pc, #324] ; (806b3d8 ) 806b292: 4413 add r3, r2 806b294: 461a mov r2, r3 806b296: 4b4d ldr r3, [pc, #308] ; (806b3cc ) 806b298: 681b ldr r3, [r3, #0] 806b29a: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806b29c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b2a0: 009a lsls r2, r3, #2 806b2a2: 4b47 ldr r3, [pc, #284] ; (806b3c0 ) 806b2a4: 4413 add r3, r2 806b2a6: 461a mov r2, r3 806b2a8: 4b48 ldr r3, [pc, #288] ; (806b3cc ) 806b2aa: 68db ldr r3, [r3, #12] 806b2ac: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b2ae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b2b2: 3301 adds r3, #1 806b2b4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b2b8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b2bc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b2c0: 429a cmp r2, r3 806b2c2: d3af bcc.n 806b224 806b2c4: f001 be1e b.w 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } } else if(menu == TREND_V) 806b2c8: 4b44 ldr r3, [pc, #272] ; (806b3dc ) 806b2ca: 781b ldrb r3, [r3, #0] 806b2cc: b2db uxtb r3, r3 806b2ce: 2b46 cmp r3, #70 ; 0x46 806b2d0: f040 870a bne.w 806c0e8 { if(menupos == Trend_pk) 806b2d4: 4b42 ldr r3, [pc, #264] ; (806b3e0 ) 806b2d6: 781b ldrb r3, [r3, #0] 806b2d8: b2db uxtb r3, r3 806b2da: 2b00 cmp r3, #0 806b2dc: f040 8164 bne.w 806b5a8 { if(pardata.LANG == RUS) 806b2e0: 4b40 ldr r3, [pc, #256] ; (806b3e4 ) 806b2e2: 7b1b ldrb r3, [r3, #12] 806b2e4: b2db uxtb r3, r3 806b2e6: 2b00 cmp r3, #0 806b2e8: d106 bne.n 806b2f8 BSP_LCD_DisplayStringAt(8, 35, "V(ïèê),ìì/ñ", LEFT_MODE); 806b2ea: 2303 movs r3, #3 806b2ec: 4a3e ldr r2, [pc, #248] ; (806b3e8 ) 806b2ee: 2123 movs r1, #35 ; 0x23 806b2f0: 2008 movs r0, #8 806b2f2: f7e8 fb3d bl 8053970 806b2f6: e005 b.n 806b304 else BSP_LCD_DisplayStringAt(8, 35, "V(peak),mm/s", LEFT_MODE); 806b2f8: 2303 movs r3, #3 806b2fa: 4a3c ldr r2, [pc, #240] ; (806b3ec ) 806b2fc: 2123 movs r1, #35 ; 0x23 806b2fe: 2008 movs r0, #8 806b300: f7e8 fb36 bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806b304: 2300 movs r3, #0 806b306: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b30a: 2300 movs r3, #0 806b30c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b310: e042 b.n 806b398 { TrendData = TrendRAM(i); 806b312: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b316: 4613 mov r3, r2 806b318: 009b lsls r3, r3, #2 806b31a: 4413 add r3, r2 806b31c: 009b lsls r3, r3, #2 806b31e: 461a mov r2, r3 806b320: 4b33 ldr r3, [pc, #204] ; (806b3f0 ) 806b322: 4413 add r3, r2 806b324: 461a mov r2, r3 806b326: 4b29 ldr r3, [pc, #164] ; (806b3cc ) 806b328: 461c mov r4, r3 806b32a: 4615 mov r5, r2 806b32c: cd0f ldmia r5!, {r0, r1, r2, r3} 806b32e: c40f stmia r4!, {r0, r1, r2, r3} 806b330: 682b ldr r3, [r5, #0] 806b332: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'P') && (TrendData.Vval.fl != -1.0f)) 806b334: 4b25 ldr r3, [pc, #148] ; (806b3cc ) 806b336: 7c5b ldrb r3, [r3, #17] 806b338: b2db uxtb r3, r3 806b33a: 2b50 cmp r3, #80 ; 0x50 806b33c: d127 bne.n 806b38e 806b33e: 4b23 ldr r3, [pc, #140] ; (806b3cc ) 806b340: edd3 7a01 vldr s15, [r3, #4] 806b344: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806b348: eef4 7a47 vcmp.f32 s15, s14 806b34c: eef1 fa10 vmrs APSR_nzcv, fpscr 806b350: d01d beq.n 806b38e { TrendRAM_TEMP(l) = TrendRAM(i); 806b352: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806b356: 4613 mov r3, r2 806b358: 009b lsls r3, r3, #2 806b35a: 4413 add r3, r2 806b35c: 009b lsls r3, r3, #2 806b35e: 461a mov r2, r3 806b360: 4b17 ldr r3, [pc, #92] ; (806b3c0 ) 806b362: 4413 add r3, r2 806b364: 4619 mov r1, r3 806b366: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b36a: 4613 mov r3, r2 806b36c: 009b lsls r3, r3, #2 806b36e: 4413 add r3, r2 806b370: 009b lsls r3, r3, #2 806b372: 461a mov r2, r3 806b374: 4b1e ldr r3, [pc, #120] ; (806b3f0 ) 806b376: 4413 add r3, r2 806b378: 460c mov r4, r1 806b37a: 461d mov r5, r3 806b37c: cd0f ldmia r5!, {r0, r1, r2, r3} 806b37e: c40f stmia r4!, {r0, r1, r2, r3} 806b380: 682b ldr r3, [r5, #0] 806b382: 6023 str r3, [r4, #0] l++; 806b384: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b388: 3301 adds r3, #1 806b38a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b38e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b392: 3301 adds r3, #1 806b394: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b398: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b39c: 4b15 ldr r3, [pc, #84] ; (806b3f4 ) 806b39e: 681b ldr r3, [r3, #0] 806b3a0: 429a cmp r2, r3 806b3a2: d3b6 bcc.n 806b312 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806b3a4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b3a8: 2b00 cmp r3, #0 806b3aa: f001 85ab beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b3ae: 2300 movs r3, #0 806b3b0: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b3b4: e093 b.n 806b4de { for(i = j; i < l; i++) 806b3b6: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b3ba: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b3be: e083 b.n 806b4c8 806b3c0: 64090000 .word 0x64090000 806b3c4: 20022314 .word 0x20022314 806b3c8: 20022900 .word 0x20022900 806b3cc: 20021f88 .word 0x20021f88 806b3d0: d01502f9 .word 0xd01502f9 806b3d4: 501502f9 .word 0x501502f9 806b3d8: 64080000 .word 0x64080000 806b3dc: 20020f78 .word 0x20020f78 806b3e0: 20020070 .word 0x20020070 806b3e4: 20023e60 .word 0x20023e60 806b3e8: 080cf96c .word 0x080cf96c 806b3ec: 080cf978 .word 0x080cf978 806b3f0: 640a0000 .word 0x640a0000 806b3f4: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806b3f8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b3fc: 4613 mov r3, r2 806b3fe: 009b lsls r3, r3, #2 806b400: 4413 add r3, r2 806b402: 009b lsls r3, r3, #2 806b404: 461a mov r2, r3 806b406: 4ba3 ldr r3, [pc, #652] ; (806b694 ) 806b408: 4413 add r3, r2 806b40a: 461a mov r2, r3 806b40c: 4ba2 ldr r3, [pc, #648] ; (806b698 ) 806b40e: 461c mov r4, r3 806b410: 4615 mov r5, r2 806b412: cd0f ldmia r5!, {r0, r1, r2, r3} 806b414: c40f stmia r4!, {r0, r1, r2, r3} 806b416: 682b ldr r3, [r5, #0] 806b418: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806b41a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b41e: 4613 mov r3, r2 806b420: 009b lsls r3, r3, #2 806b422: 4413 add r3, r2 806b424: 009b lsls r3, r3, #2 806b426: 461a mov r2, r3 806b428: 4b9a ldr r3, [pc, #616] ; (806b694 ) 806b42a: 4413 add r3, r2 806b42c: 461a mov r2, r3 806b42e: 4b9b ldr r3, [pc, #620] ; (806b69c ) 806b430: 461c mov r4, r3 806b432: 4615 mov r5, r2 806b434: cd0f ldmia r5!, {r0, r1, r2, r3} 806b436: c40f stmia r4!, {r0, r1, r2, r3} 806b438: 682b ldr r3, [r5, #0] 806b43a: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806b43c: 4b96 ldr r3, [pc, #600] ; (806b698 ) 806b43e: 68da ldr r2, [r3, #12] 806b440: 4b96 ldr r3, [pc, #600] ; (806b69c ) 806b442: 68db ldr r3, [r3, #12] 806b444: 429a cmp r2, r3 806b446: d23a bcs.n 806b4be { TrendData = TrendRAM_TEMP(j); 806b448: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b44c: 4613 mov r3, r2 806b44e: 009b lsls r3, r3, #2 806b450: 4413 add r3, r2 806b452: 009b lsls r3, r3, #2 806b454: 461a mov r2, r3 806b456: 4b8f ldr r3, [pc, #572] ; (806b694 ) 806b458: 4413 add r3, r2 806b45a: 461a mov r2, r3 806b45c: 4b90 ldr r3, [pc, #576] ; (806b6a0 ) 806b45e: 461c mov r4, r3 806b460: 4615 mov r5, r2 806b462: cd0f ldmia r5!, {r0, r1, r2, r3} 806b464: c40f stmia r4!, {r0, r1, r2, r3} 806b466: 682b ldr r3, [r5, #0] 806b468: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806b46a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b46e: 4613 mov r3, r2 806b470: 009b lsls r3, r3, #2 806b472: 4413 add r3, r2 806b474: 009b lsls r3, r3, #2 806b476: 461a mov r2, r3 806b478: 4b86 ldr r3, [pc, #536] ; (806b694 ) 806b47a: 4413 add r3, r2 806b47c: 4619 mov r1, r3 806b47e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b482: 4613 mov r3, r2 806b484: 009b lsls r3, r3, #2 806b486: 4413 add r3, r2 806b488: 009b lsls r3, r3, #2 806b48a: 461a mov r2, r3 806b48c: 4b81 ldr r3, [pc, #516] ; (806b694 ) 806b48e: 4413 add r3, r2 806b490: 460c mov r4, r1 806b492: 461d mov r5, r3 806b494: cd0f ldmia r5!, {r0, r1, r2, r3} 806b496: c40f stmia r4!, {r0, r1, r2, r3} 806b498: 682b ldr r3, [r5, #0] 806b49a: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806b49c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b4a0: 4613 mov r3, r2 806b4a2: 009b lsls r3, r3, #2 806b4a4: 4413 add r3, r2 806b4a6: 009b lsls r3, r3, #2 806b4a8: 461a mov r2, r3 806b4aa: 4b7a ldr r3, [pc, #488] ; (806b694 ) 806b4ac: 4413 add r3, r2 806b4ae: 461a mov r2, r3 806b4b0: 4b7b ldr r3, [pc, #492] ; (806b6a0 ) 806b4b2: 4614 mov r4, r2 806b4b4: 461d mov r5, r3 806b4b6: cd0f ldmia r5!, {r0, r1, r2, r3} 806b4b8: c40f stmia r4!, {r0, r1, r2, r3} 806b4ba: 682b ldr r3, [r5, #0] 806b4bc: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806b4be: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b4c2: 3301 adds r3, #1 806b4c4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b4c8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b4cc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b4d0: 429a cmp r2, r3 806b4d2: d391 bcc.n 806b3f8 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b4d4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b4d8: 3301 adds r3, #1 806b4da: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b4de: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b4e2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b4e6: 429a cmp r2, r3 806b4e8: f4ff af65 bcc.w 806b3b6 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806b4ec: 4b6d ldr r3, [pc, #436] ; (806b6a4 ) 806b4ee: f207 424c addw r2, r7, #1100 ; 0x44c 806b4f2: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806b4f4: 4b6c ldr r3, [pc, #432] ; (806b6a8 ) 806b4f6: f507 6289 add.w r2, r7, #1096 ; 0x448 806b4fa: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b4fc: 2300 movs r3, #0 806b4fe: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b502: e049 b.n 806b598 { TrendData = TrendRAM_TEMP(i); 806b504: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b508: 4613 mov r3, r2 806b50a: 009b lsls r3, r3, #2 806b50c: 4413 add r3, r2 806b50e: 009b lsls r3, r3, #2 806b510: 461a mov r2, r3 806b512: 4b60 ldr r3, [pc, #384] ; (806b694 ) 806b514: 4413 add r3, r2 806b516: 461a mov r2, r3 806b518: 4b61 ldr r3, [pc, #388] ; (806b6a0 ) 806b51a: 461c mov r4, r3 806b51c: 4615 mov r5, r2 806b51e: cd0f ldmia r5!, {r0, r1, r2, r3} 806b520: c40f stmia r4!, {r0, r1, r2, r3} 806b522: 682b ldr r3, [r5, #0] 806b524: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806b526: 4b5e ldr r3, [pc, #376] ; (806b6a0 ) 806b528: ed93 7a01 vldr s14, [r3, #4] 806b52c: f207 434c addw r3, r7, #1100 ; 0x44c 806b530: edd3 7a00 vldr s15, [r3] 806b534: eeb4 7ae7 vcmpe.f32 s14, s15 806b538: eef1 fa10 vmrs APSR_nzcv, fpscr 806b53c: dd04 ble.n 806b548 806b53e: 4b58 ldr r3, [pc, #352] ; (806b6a0 ) 806b540: 685b ldr r3, [r3, #4] 806b542: f207 424c addw r2, r7, #1100 ; 0x44c 806b546: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806b548: 4b55 ldr r3, [pc, #340] ; (806b6a0 ) 806b54a: ed93 7a01 vldr s14, [r3, #4] 806b54e: f507 6389 add.w r3, r7, #1096 ; 0x448 806b552: edd3 7a00 vldr s15, [r3] 806b556: eeb4 7ae7 vcmpe.f32 s14, s15 806b55a: eef1 fa10 vmrs APSR_nzcv, fpscr 806b55e: d504 bpl.n 806b56a 806b560: 4b4f ldr r3, [pc, #316] ; (806b6a0 ) 806b562: 685b ldr r3, [r3, #4] 806b564: f507 6289 add.w r2, r7, #1096 ; 0x448 806b568: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806b56a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b56e: 009a lsls r2, r3, #2 806b570: 4b4e ldr r3, [pc, #312] ; (806b6ac ) 806b572: 4413 add r3, r2 806b574: 461a mov r2, r3 806b576: 4b4a ldr r3, [pc, #296] ; (806b6a0 ) 806b578: 685b ldr r3, [r3, #4] 806b57a: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806b57c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b580: 009a lsls r2, r3, #2 806b582: 4b44 ldr r3, [pc, #272] ; (806b694 ) 806b584: 4413 add r3, r2 806b586: 461a mov r2, r3 806b588: 4b45 ldr r3, [pc, #276] ; (806b6a0 ) 806b58a: 68db ldr r3, [r3, #12] 806b58c: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b58e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b592: 3301 adds r3, #1 806b594: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b598: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b59c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b5a0: 429a cmp r2, r3 806b5a2: d3af bcc.n 806b504 806b5a4: f001 bcae b.w 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_rms) 806b5a8: 4b41 ldr r3, [pc, #260] ; (806b6b0 ) 806b5aa: 781b ldrb r3, [r3, #0] 806b5ac: b2db uxtb r3, r3 806b5ae: 2b01 cmp r3, #1 806b5b0: f040 8162 bne.w 806b878 { if(pardata.LANG == RUS) 806b5b4: 4b3f ldr r3, [pc, #252] ; (806b6b4 ) 806b5b6: 7b1b ldrb r3, [r3, #12] 806b5b8: b2db uxtb r3, r3 806b5ba: 2b00 cmp r3, #0 806b5bc: d106 bne.n 806b5cc BSP_LCD_DisplayStringAt(8, 35, "V(ñêç),ìì/ñ", LEFT_MODE); 806b5be: 2303 movs r3, #3 806b5c0: 4a3d ldr r2, [pc, #244] ; (806b6b8 ) 806b5c2: 2123 movs r1, #35 ; 0x23 806b5c4: 2008 movs r0, #8 806b5c6: f7e8 f9d3 bl 8053970 806b5ca: e005 b.n 806b5d8 else BSP_LCD_DisplayStringAt(8, 35, "V(rms),mm/s", LEFT_MODE); 806b5cc: 2303 movs r3, #3 806b5ce: 4a3b ldr r2, [pc, #236] ; (806b6bc ) 806b5d0: 2123 movs r1, #35 ; 0x23 806b5d2: 2008 movs r0, #8 806b5d4: f7e8 f9cc bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806b5d8: 2300 movs r3, #0 806b5da: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b5de: 2300 movs r3, #0 806b5e0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b5e4: e042 b.n 806b66c { TrendData = TrendRAM(i); 806b5e6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b5ea: 4613 mov r3, r2 806b5ec: 009b lsls r3, r3, #2 806b5ee: 4413 add r3, r2 806b5f0: 009b lsls r3, r3, #2 806b5f2: 461a mov r2, r3 806b5f4: 4b32 ldr r3, [pc, #200] ; (806b6c0 ) 806b5f6: 4413 add r3, r2 806b5f8: 461a mov r2, r3 806b5fa: 4b29 ldr r3, [pc, #164] ; (806b6a0 ) 806b5fc: 461c mov r4, r3 806b5fe: 4615 mov r5, r2 806b600: cd0f ldmia r5!, {r0, r1, r2, r3} 806b602: c40f stmia r4!, {r0, r1, r2, r3} 806b604: 682b ldr r3, [r5, #0] 806b606: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'S') && (TrendData.Vval.fl != -1.0f)) 806b608: 4b25 ldr r3, [pc, #148] ; (806b6a0 ) 806b60a: 7c5b ldrb r3, [r3, #17] 806b60c: b2db uxtb r3, r3 806b60e: 2b53 cmp r3, #83 ; 0x53 806b610: d127 bne.n 806b662 806b612: 4b23 ldr r3, [pc, #140] ; (806b6a0 ) 806b614: edd3 7a01 vldr s15, [r3, #4] 806b618: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806b61c: eef4 7a47 vcmp.f32 s15, s14 806b620: eef1 fa10 vmrs APSR_nzcv, fpscr 806b624: d01d beq.n 806b662 { TrendRAM_TEMP(l) = TrendRAM(i); 806b626: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806b62a: 4613 mov r3, r2 806b62c: 009b lsls r3, r3, #2 806b62e: 4413 add r3, r2 806b630: 009b lsls r3, r3, #2 806b632: 461a mov r2, r3 806b634: 4b17 ldr r3, [pc, #92] ; (806b694 ) 806b636: 4413 add r3, r2 806b638: 4619 mov r1, r3 806b63a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b63e: 4613 mov r3, r2 806b640: 009b lsls r3, r3, #2 806b642: 4413 add r3, r2 806b644: 009b lsls r3, r3, #2 806b646: 461a mov r2, r3 806b648: 4b1d ldr r3, [pc, #116] ; (806b6c0 ) 806b64a: 4413 add r3, r2 806b64c: 460c mov r4, r1 806b64e: 461d mov r5, r3 806b650: cd0f ldmia r5!, {r0, r1, r2, r3} 806b652: c40f stmia r4!, {r0, r1, r2, r3} 806b654: 682b ldr r3, [r5, #0] 806b656: 6023 str r3, [r4, #0] l++; 806b658: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b65c: 3301 adds r3, #1 806b65e: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b662: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b666: 3301 adds r3, #1 806b668: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b66c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b670: 4b14 ldr r3, [pc, #80] ; (806b6c4 ) 806b672: 681b ldr r3, [r3, #0] 806b674: 429a cmp r2, r3 806b676: d3b6 bcc.n 806b5e6 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806b678: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b67c: 2b00 cmp r3, #0 806b67e: f001 8441 beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b682: 2300 movs r3, #0 806b684: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b688: e091 b.n 806b7ae { for(i = j; i < l; i++) 806b68a: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b68e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b692: e081 b.n 806b798 806b694: 64090000 .word 0x64090000 806b698: 20022314 .word 0x20022314 806b69c: 20022900 .word 0x20022900 806b6a0: 20021f88 .word 0x20021f88 806b6a4: d01502f9 .word 0xd01502f9 806b6a8: 501502f9 .word 0x501502f9 806b6ac: 64080000 .word 0x64080000 806b6b0: 20020070 .word 0x20020070 806b6b4: 20023e60 .word 0x20023e60 806b6b8: 080cf988 .word 0x080cf988 806b6bc: 080cf994 .word 0x080cf994 806b6c0: 640a0000 .word 0x640a0000 806b6c4: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806b6c8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b6cc: 4613 mov r3, r2 806b6ce: 009b lsls r3, r3, #2 806b6d0: 4413 add r3, r2 806b6d2: 009b lsls r3, r3, #2 806b6d4: 461a mov r2, r3 806b6d6: 4ba3 ldr r3, [pc, #652] ; (806b964 ) 806b6d8: 4413 add r3, r2 806b6da: 461a mov r2, r3 806b6dc: 4ba2 ldr r3, [pc, #648] ; (806b968 ) 806b6de: 461c mov r4, r3 806b6e0: 4615 mov r5, r2 806b6e2: cd0f ldmia r5!, {r0, r1, r2, r3} 806b6e4: c40f stmia r4!, {r0, r1, r2, r3} 806b6e6: 682b ldr r3, [r5, #0] 806b6e8: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806b6ea: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b6ee: 4613 mov r3, r2 806b6f0: 009b lsls r3, r3, #2 806b6f2: 4413 add r3, r2 806b6f4: 009b lsls r3, r3, #2 806b6f6: 461a mov r2, r3 806b6f8: 4b9a ldr r3, [pc, #616] ; (806b964 ) 806b6fa: 4413 add r3, r2 806b6fc: 461a mov r2, r3 806b6fe: 4b9b ldr r3, [pc, #620] ; (806b96c ) 806b700: 461c mov r4, r3 806b702: 4615 mov r5, r2 806b704: cd0f ldmia r5!, {r0, r1, r2, r3} 806b706: c40f stmia r4!, {r0, r1, r2, r3} 806b708: 682b ldr r3, [r5, #0] 806b70a: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806b70c: 4b96 ldr r3, [pc, #600] ; (806b968 ) 806b70e: 68da ldr r2, [r3, #12] 806b710: 4b96 ldr r3, [pc, #600] ; (806b96c ) 806b712: 68db ldr r3, [r3, #12] 806b714: 429a cmp r2, r3 806b716: d23a bcs.n 806b78e { TrendData = TrendRAM_TEMP(j); 806b718: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b71c: 4613 mov r3, r2 806b71e: 009b lsls r3, r3, #2 806b720: 4413 add r3, r2 806b722: 009b lsls r3, r3, #2 806b724: 461a mov r2, r3 806b726: 4b8f ldr r3, [pc, #572] ; (806b964 ) 806b728: 4413 add r3, r2 806b72a: 461a mov r2, r3 806b72c: 4b90 ldr r3, [pc, #576] ; (806b970 ) 806b72e: 461c mov r4, r3 806b730: 4615 mov r5, r2 806b732: cd0f ldmia r5!, {r0, r1, r2, r3} 806b734: c40f stmia r4!, {r0, r1, r2, r3} 806b736: 682b ldr r3, [r5, #0] 806b738: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806b73a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b73e: 4613 mov r3, r2 806b740: 009b lsls r3, r3, #2 806b742: 4413 add r3, r2 806b744: 009b lsls r3, r3, #2 806b746: 461a mov r2, r3 806b748: 4b86 ldr r3, [pc, #536] ; (806b964 ) 806b74a: 4413 add r3, r2 806b74c: 4619 mov r1, r3 806b74e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b752: 4613 mov r3, r2 806b754: 009b lsls r3, r3, #2 806b756: 4413 add r3, r2 806b758: 009b lsls r3, r3, #2 806b75a: 461a mov r2, r3 806b75c: 4b81 ldr r3, [pc, #516] ; (806b964 ) 806b75e: 4413 add r3, r2 806b760: 460c mov r4, r1 806b762: 461d mov r5, r3 806b764: cd0f ldmia r5!, {r0, r1, r2, r3} 806b766: c40f stmia r4!, {r0, r1, r2, r3} 806b768: 682b ldr r3, [r5, #0] 806b76a: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806b76c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b770: 4613 mov r3, r2 806b772: 009b lsls r3, r3, #2 806b774: 4413 add r3, r2 806b776: 009b lsls r3, r3, #2 806b778: 461a mov r2, r3 806b77a: 4b7a ldr r3, [pc, #488] ; (806b964 ) 806b77c: 4413 add r3, r2 806b77e: 461a mov r2, r3 806b780: 4b7b ldr r3, [pc, #492] ; (806b970 ) 806b782: 4614 mov r4, r2 806b784: 461d mov r5, r3 806b786: cd0f ldmia r5!, {r0, r1, r2, r3} 806b788: c40f stmia r4!, {r0, r1, r2, r3} 806b78a: 682b ldr r3, [r5, #0] 806b78c: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806b78e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b792: 3301 adds r3, #1 806b794: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b798: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b79c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b7a0: 429a cmp r2, r3 806b7a2: d391 bcc.n 806b6c8 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b7a4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b7a8: 3301 adds r3, #1 806b7aa: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b7ae: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b7b2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b7b6: 429a cmp r2, r3 806b7b8: f4ff af67 bcc.w 806b68a } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806b7bc: 4b6d ldr r3, [pc, #436] ; (806b974 ) 806b7be: f207 424c addw r2, r7, #1100 ; 0x44c 806b7c2: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806b7c4: 4b6c ldr r3, [pc, #432] ; (806b978 ) 806b7c6: f507 6289 add.w r2, r7, #1096 ; 0x448 806b7ca: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b7cc: 2300 movs r3, #0 806b7ce: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b7d2: e049 b.n 806b868 { TrendData = TrendRAM_TEMP(i); 806b7d4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b7d8: 4613 mov r3, r2 806b7da: 009b lsls r3, r3, #2 806b7dc: 4413 add r3, r2 806b7de: 009b lsls r3, r3, #2 806b7e0: 461a mov r2, r3 806b7e2: 4b60 ldr r3, [pc, #384] ; (806b964 ) 806b7e4: 4413 add r3, r2 806b7e6: 461a mov r2, r3 806b7e8: 4b61 ldr r3, [pc, #388] ; (806b970 ) 806b7ea: 461c mov r4, r3 806b7ec: 4615 mov r5, r2 806b7ee: cd0f ldmia r5!, {r0, r1, r2, r3} 806b7f0: c40f stmia r4!, {r0, r1, r2, r3} 806b7f2: 682b ldr r3, [r5, #0] 806b7f4: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806b7f6: 4b5e ldr r3, [pc, #376] ; (806b970 ) 806b7f8: ed93 7a01 vldr s14, [r3, #4] 806b7fc: f207 434c addw r3, r7, #1100 ; 0x44c 806b800: edd3 7a00 vldr s15, [r3] 806b804: eeb4 7ae7 vcmpe.f32 s14, s15 806b808: eef1 fa10 vmrs APSR_nzcv, fpscr 806b80c: dd04 ble.n 806b818 806b80e: 4b58 ldr r3, [pc, #352] ; (806b970 ) 806b810: 685b ldr r3, [r3, #4] 806b812: f207 424c addw r2, r7, #1100 ; 0x44c 806b816: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806b818: 4b55 ldr r3, [pc, #340] ; (806b970 ) 806b81a: ed93 7a01 vldr s14, [r3, #4] 806b81e: f507 6389 add.w r3, r7, #1096 ; 0x448 806b822: edd3 7a00 vldr s15, [r3] 806b826: eeb4 7ae7 vcmpe.f32 s14, s15 806b82a: eef1 fa10 vmrs APSR_nzcv, fpscr 806b82e: d504 bpl.n 806b83a 806b830: 4b4f ldr r3, [pc, #316] ; (806b970 ) 806b832: 685b ldr r3, [r3, #4] 806b834: f507 6289 add.w r2, r7, #1096 ; 0x448 806b838: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806b83a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b83e: 009a lsls r2, r3, #2 806b840: 4b4e ldr r3, [pc, #312] ; (806b97c ) 806b842: 4413 add r3, r2 806b844: 461a mov r2, r3 806b846: 4b4a ldr r3, [pc, #296] ; (806b970 ) 806b848: 685b ldr r3, [r3, #4] 806b84a: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806b84c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b850: 009a lsls r2, r3, #2 806b852: 4b44 ldr r3, [pc, #272] ; (806b964 ) 806b854: 4413 add r3, r2 806b856: 461a mov r2, r3 806b858: 4b45 ldr r3, [pc, #276] ; (806b970 ) 806b85a: 68db ldr r3, [r3, #12] 806b85c: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806b85e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b862: 3301 adds r3, #1 806b864: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b868: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b86c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b870: 429a cmp r2, r3 806b872: d3af bcc.n 806b7d4 806b874: f001 bb46 b.w 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_pkpk) 806b878: 4b41 ldr r3, [pc, #260] ; (806b980 ) 806b87a: 781b ldrb r3, [r3, #0] 806b87c: b2db uxtb r3, r3 806b87e: 2b02 cmp r3, #2 806b880: f040 8162 bne.w 806bb48 { if(pardata.LANG == RUS) 806b884: 4b3f ldr r3, [pc, #252] ; (806b984 ) 806b886: 7b1b ldrb r3, [r3, #12] 806b888: b2db uxtb r3, r3 806b88a: 2b00 cmp r3, #0 806b88c: d106 bne.n 806b89c BSP_LCD_DisplayStringAt(8, 35, "V(ðàçìàõ),ìì/ñ", LEFT_MODE); 806b88e: 2303 movs r3, #3 806b890: 4a3d ldr r2, [pc, #244] ; (806b988 ) 806b892: 2123 movs r1, #35 ; 0x23 806b894: 2008 movs r0, #8 806b896: f7e8 f86b bl 8053970 806b89a: e005 b.n 806b8a8 else BSP_LCD_DisplayStringAt(8, 35, "V(peak-peak),mm/s", LEFT_MODE); 806b89c: 2303 movs r3, #3 806b89e: 4a3b ldr r2, [pc, #236] ; (806b98c ) 806b8a0: 2123 movs r1, #35 ; 0x23 806b8a2: 2008 movs r0, #8 806b8a4: f7e8 f864 bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806b8a8: 2300 movs r3, #0 806b8aa: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b8ae: 2300 movs r3, #0 806b8b0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b8b4: e042 b.n 806b93c { TrendData = TrendRAM(i); 806b8b6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b8ba: 4613 mov r3, r2 806b8bc: 009b lsls r3, r3, #2 806b8be: 4413 add r3, r2 806b8c0: 009b lsls r3, r3, #2 806b8c2: 461a mov r2, r3 806b8c4: 4b32 ldr r3, [pc, #200] ; (806b990 ) 806b8c6: 4413 add r3, r2 806b8c8: 461a mov r2, r3 806b8ca: 4b29 ldr r3, [pc, #164] ; (806b970 ) 806b8cc: 461c mov r4, r3 806b8ce: 4615 mov r5, r2 806b8d0: cd0f ldmia r5!, {r0, r1, r2, r3} 806b8d2: c40f stmia r4!, {r0, r1, r2, r3} 806b8d4: 682b ldr r3, [r5, #0] 806b8d6: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'R') && (TrendData.Vval.fl != -1.0f)) 806b8d8: 4b25 ldr r3, [pc, #148] ; (806b970 ) 806b8da: 7c5b ldrb r3, [r3, #17] 806b8dc: b2db uxtb r3, r3 806b8de: 2b52 cmp r3, #82 ; 0x52 806b8e0: d127 bne.n 806b932 806b8e2: 4b23 ldr r3, [pc, #140] ; (806b970 ) 806b8e4: edd3 7a01 vldr s15, [r3, #4] 806b8e8: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806b8ec: eef4 7a47 vcmp.f32 s15, s14 806b8f0: eef1 fa10 vmrs APSR_nzcv, fpscr 806b8f4: d01d beq.n 806b932 { TrendRAM_TEMP(l) = TrendRAM(i); 806b8f6: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806b8fa: 4613 mov r3, r2 806b8fc: 009b lsls r3, r3, #2 806b8fe: 4413 add r3, r2 806b900: 009b lsls r3, r3, #2 806b902: 461a mov r2, r3 806b904: 4b17 ldr r3, [pc, #92] ; (806b964 ) 806b906: 4413 add r3, r2 806b908: 4619 mov r1, r3 806b90a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b90e: 4613 mov r3, r2 806b910: 009b lsls r3, r3, #2 806b912: 4413 add r3, r2 806b914: 009b lsls r3, r3, #2 806b916: 461a mov r2, r3 806b918: 4b1d ldr r3, [pc, #116] ; (806b990 ) 806b91a: 4413 add r3, r2 806b91c: 460c mov r4, r1 806b91e: 461d mov r5, r3 806b920: cd0f ldmia r5!, {r0, r1, r2, r3} 806b922: c40f stmia r4!, {r0, r1, r2, r3} 806b924: 682b ldr r3, [r5, #0] 806b926: 6023 str r3, [r4, #0] l++; 806b928: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b92c: 3301 adds r3, #1 806b92e: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806b932: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806b936: 3301 adds r3, #1 806b938: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b93c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b940: 4b14 ldr r3, [pc, #80] ; (806b994 ) 806b942: 681b ldr r3, [r3, #0] 806b944: 429a cmp r2, r3 806b946: d3b6 bcc.n 806b8b6 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806b948: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806b94c: 2b00 cmp r3, #0 806b94e: f001 82d9 beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806b952: 2300 movs r3, #0 806b954: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806b958: e091 b.n 806ba7e { for(i = j; i < l; i++) 806b95a: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806b95e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806b962: e081 b.n 806ba68 806b964: 64090000 .word 0x64090000 806b968: 20022314 .word 0x20022314 806b96c: 20022900 .word 0x20022900 806b970: 20021f88 .word 0x20021f88 806b974: d01502f9 .word 0xd01502f9 806b978: 501502f9 .word 0x501502f9 806b97c: 64080000 .word 0x64080000 806b980: 20020070 .word 0x20020070 806b984: 20023e60 .word 0x20023e60 806b988: 080cf9a0 .word 0x080cf9a0 806b98c: 080cf9b0 .word 0x080cf9b0 806b990: 640a0000 .word 0x640a0000 806b994: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806b998: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806b99c: 4613 mov r3, r2 806b99e: 009b lsls r3, r3, #2 806b9a0: 4413 add r3, r2 806b9a2: 009b lsls r3, r3, #2 806b9a4: 461a mov r2, r3 806b9a6: 4ba3 ldr r3, [pc, #652] ; (806bc34 ) 806b9a8: 4413 add r3, r2 806b9aa: 461a mov r2, r3 806b9ac: 4ba2 ldr r3, [pc, #648] ; (806bc38 ) 806b9ae: 461c mov r4, r3 806b9b0: 4615 mov r5, r2 806b9b2: cd0f ldmia r5!, {r0, r1, r2, r3} 806b9b4: c40f stmia r4!, {r0, r1, r2, r3} 806b9b6: 682b ldr r3, [r5, #0] 806b9b8: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806b9ba: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b9be: 4613 mov r3, r2 806b9c0: 009b lsls r3, r3, #2 806b9c2: 4413 add r3, r2 806b9c4: 009b lsls r3, r3, #2 806b9c6: 461a mov r2, r3 806b9c8: 4b9a ldr r3, [pc, #616] ; (806bc34 ) 806b9ca: 4413 add r3, r2 806b9cc: 461a mov r2, r3 806b9ce: 4b9b ldr r3, [pc, #620] ; (806bc3c ) 806b9d0: 461c mov r4, r3 806b9d2: 4615 mov r5, r2 806b9d4: cd0f ldmia r5!, {r0, r1, r2, r3} 806b9d6: c40f stmia r4!, {r0, r1, r2, r3} 806b9d8: 682b ldr r3, [r5, #0] 806b9da: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806b9dc: 4b96 ldr r3, [pc, #600] ; (806bc38 ) 806b9de: 68da ldr r2, [r3, #12] 806b9e0: 4b96 ldr r3, [pc, #600] ; (806bc3c ) 806b9e2: 68db ldr r3, [r3, #12] 806b9e4: 429a cmp r2, r3 806b9e6: d23a bcs.n 806ba5e { TrendData = TrendRAM_TEMP(j); 806b9e8: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806b9ec: 4613 mov r3, r2 806b9ee: 009b lsls r3, r3, #2 806b9f0: 4413 add r3, r2 806b9f2: 009b lsls r3, r3, #2 806b9f4: 461a mov r2, r3 806b9f6: 4b8f ldr r3, [pc, #572] ; (806bc34 ) 806b9f8: 4413 add r3, r2 806b9fa: 461a mov r2, r3 806b9fc: 4b90 ldr r3, [pc, #576] ; (806bc40 ) 806b9fe: 461c mov r4, r3 806ba00: 4615 mov r5, r2 806ba02: cd0f ldmia r5!, {r0, r1, r2, r3} 806ba04: c40f stmia r4!, {r0, r1, r2, r3} 806ba06: 682b ldr r3, [r5, #0] 806ba08: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806ba0a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ba0e: 4613 mov r3, r2 806ba10: 009b lsls r3, r3, #2 806ba12: 4413 add r3, r2 806ba14: 009b lsls r3, r3, #2 806ba16: 461a mov r2, r3 806ba18: 4b86 ldr r3, [pc, #536] ; (806bc34 ) 806ba1a: 4413 add r3, r2 806ba1c: 4619 mov r1, r3 806ba1e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ba22: 4613 mov r3, r2 806ba24: 009b lsls r3, r3, #2 806ba26: 4413 add r3, r2 806ba28: 009b lsls r3, r3, #2 806ba2a: 461a mov r2, r3 806ba2c: 4b81 ldr r3, [pc, #516] ; (806bc34 ) 806ba2e: 4413 add r3, r2 806ba30: 460c mov r4, r1 806ba32: 461d mov r5, r3 806ba34: cd0f ldmia r5!, {r0, r1, r2, r3} 806ba36: c40f stmia r4!, {r0, r1, r2, r3} 806ba38: 682b ldr r3, [r5, #0] 806ba3a: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806ba3c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ba40: 4613 mov r3, r2 806ba42: 009b lsls r3, r3, #2 806ba44: 4413 add r3, r2 806ba46: 009b lsls r3, r3, #2 806ba48: 461a mov r2, r3 806ba4a: 4b7a ldr r3, [pc, #488] ; (806bc34 ) 806ba4c: 4413 add r3, r2 806ba4e: 461a mov r2, r3 806ba50: 4b7b ldr r3, [pc, #492] ; (806bc40 ) 806ba52: 4614 mov r4, r2 806ba54: 461d mov r5, r3 806ba56: cd0f ldmia r5!, {r0, r1, r2, r3} 806ba58: c40f stmia r4!, {r0, r1, r2, r3} 806ba5a: 682b ldr r3, [r5, #0] 806ba5c: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806ba5e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ba62: 3301 adds r3, #1 806ba64: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ba68: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ba6c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ba70: 429a cmp r2, r3 806ba72: d391 bcc.n 806b998 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806ba74: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ba78: 3301 adds r3, #1 806ba7a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ba7e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ba82: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ba86: 429a cmp r2, r3 806ba88: f4ff af67 bcc.w 806b95a } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806ba8c: 4b6d ldr r3, [pc, #436] ; (806bc44 ) 806ba8e: f207 424c addw r2, r7, #1100 ; 0x44c 806ba92: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806ba94: 4b6c ldr r3, [pc, #432] ; (806bc48 ) 806ba96: f507 6289 add.w r2, r7, #1096 ; 0x448 806ba9a: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806ba9c: 2300 movs r3, #0 806ba9e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806baa2: e049 b.n 806bb38 { TrendData = TrendRAM_TEMP(i); 806baa4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806baa8: 4613 mov r3, r2 806baaa: 009b lsls r3, r3, #2 806baac: 4413 add r3, r2 806baae: 009b lsls r3, r3, #2 806bab0: 461a mov r2, r3 806bab2: 4b60 ldr r3, [pc, #384] ; (806bc34 ) 806bab4: 4413 add r3, r2 806bab6: 461a mov r2, r3 806bab8: 4b61 ldr r3, [pc, #388] ; (806bc40 ) 806baba: 461c mov r4, r3 806babc: 4615 mov r5, r2 806babe: cd0f ldmia r5!, {r0, r1, r2, r3} 806bac0: c40f stmia r4!, {r0, r1, r2, r3} 806bac2: 682b ldr r3, [r5, #0] 806bac4: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806bac6: 4b5e ldr r3, [pc, #376] ; (806bc40 ) 806bac8: ed93 7a01 vldr s14, [r3, #4] 806bacc: f207 434c addw r3, r7, #1100 ; 0x44c 806bad0: edd3 7a00 vldr s15, [r3] 806bad4: eeb4 7ae7 vcmpe.f32 s14, s15 806bad8: eef1 fa10 vmrs APSR_nzcv, fpscr 806badc: dd04 ble.n 806bae8 806bade: 4b58 ldr r3, [pc, #352] ; (806bc40 ) 806bae0: 685b ldr r3, [r3, #4] 806bae2: f207 424c addw r2, r7, #1100 ; 0x44c 806bae6: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806bae8: 4b55 ldr r3, [pc, #340] ; (806bc40 ) 806baea: ed93 7a01 vldr s14, [r3, #4] 806baee: f507 6389 add.w r3, r7, #1096 ; 0x448 806baf2: edd3 7a00 vldr s15, [r3] 806baf6: eeb4 7ae7 vcmpe.f32 s14, s15 806bafa: eef1 fa10 vmrs APSR_nzcv, fpscr 806bafe: d504 bpl.n 806bb0a 806bb00: 4b4f ldr r3, [pc, #316] ; (806bc40 ) 806bb02: 685b ldr r3, [r3, #4] 806bb04: f507 6289 add.w r2, r7, #1096 ; 0x448 806bb08: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806bb0a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bb0e: 009a lsls r2, r3, #2 806bb10: 4b4e ldr r3, [pc, #312] ; (806bc4c ) 806bb12: 4413 add r3, r2 806bb14: 461a mov r2, r3 806bb16: 4b4a ldr r3, [pc, #296] ; (806bc40 ) 806bb18: 685b ldr r3, [r3, #4] 806bb1a: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806bb1c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bb20: 009a lsls r2, r3, #2 806bb22: 4b44 ldr r3, [pc, #272] ; (806bc34 ) 806bb24: 4413 add r3, r2 806bb26: 461a mov r2, r3 806bb28: 4b45 ldr r3, [pc, #276] ; (806bc40 ) 806bb2a: 68db ldr r3, [r3, #12] 806bb2c: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806bb2e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bb32: 3301 adds r3, #1 806bb34: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bb38: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bb3c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bb40: 429a cmp r2, r3 806bb42: d3af bcc.n 806baa4 806bb44: f001 b9de b.w 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_factor) 806bb48: 4b41 ldr r3, [pc, #260] ; (806bc50 ) 806bb4a: 781b ldrb r3, [r3, #0] 806bb4c: b2db uxtb r3, r3 806bb4e: 2b03 cmp r3, #3 806bb50: f040 8162 bne.w 806be18 { if(pardata.LANG == RUS) 806bb54: 4b3f ldr r3, [pc, #252] ; (806bc54 ) 806bb56: 7b1b ldrb r3, [r3, #12] 806bb58: b2db uxtb r3, r3 806bb5a: 2b00 cmp r3, #0 806bb5c: d106 bne.n 806bb6c BSP_LCD_DisplayStringAt(8, 35, "V(ïèê-ôàêòîð)", LEFT_MODE); 806bb5e: 2303 movs r3, #3 806bb60: 4a3d ldr r2, [pc, #244] ; (806bc58 ) 806bb62: 2123 movs r1, #35 ; 0x23 806bb64: 2008 movs r0, #8 806bb66: f7e7 ff03 bl 8053970 806bb6a: e005 b.n 806bb78 else BSP_LCD_DisplayStringAt(8, 35, "V(peak-factor)", LEFT_MODE); 806bb6c: 2303 movs r3, #3 806bb6e: 4a3b ldr r2, [pc, #236] ; (806bc5c ) 806bb70: 2123 movs r1, #35 ; 0x23 806bb72: 2008 movs r0, #8 806bb74: f7e7 fefc bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806bb78: 2300 movs r3, #0 806bb7a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806bb7e: 2300 movs r3, #0 806bb80: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bb84: e042 b.n 806bc0c { TrendData = TrendRAM(i); 806bb86: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bb8a: 4613 mov r3, r2 806bb8c: 009b lsls r3, r3, #2 806bb8e: 4413 add r3, r2 806bb90: 009b lsls r3, r3, #2 806bb92: 461a mov r2, r3 806bb94: 4b32 ldr r3, [pc, #200] ; (806bc60 ) 806bb96: 4413 add r3, r2 806bb98: 461a mov r2, r3 806bb9a: 4b29 ldr r3, [pc, #164] ; (806bc40 ) 806bb9c: 461c mov r4, r3 806bb9e: 4615 mov r5, r2 806bba0: cd0f ldmia r5!, {r0, r1, r2, r3} 806bba2: c40f stmia r4!, {r0, r1, r2, r3} 806bba4: 682b ldr r3, [r5, #0] 806bba6: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'F') && (TrendData.Vval.fl != -1.0f)) 806bba8: 4b25 ldr r3, [pc, #148] ; (806bc40 ) 806bbaa: 7c5b ldrb r3, [r3, #17] 806bbac: b2db uxtb r3, r3 806bbae: 2b46 cmp r3, #70 ; 0x46 806bbb0: d127 bne.n 806bc02 806bbb2: 4b23 ldr r3, [pc, #140] ; (806bc40 ) 806bbb4: edd3 7a01 vldr s15, [r3, #4] 806bbb8: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806bbbc: eef4 7a47 vcmp.f32 s15, s14 806bbc0: eef1 fa10 vmrs APSR_nzcv, fpscr 806bbc4: d01d beq.n 806bc02 { TrendRAM_TEMP(l) = TrendRAM(i); 806bbc6: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806bbca: 4613 mov r3, r2 806bbcc: 009b lsls r3, r3, #2 806bbce: 4413 add r3, r2 806bbd0: 009b lsls r3, r3, #2 806bbd2: 461a mov r2, r3 806bbd4: 4b17 ldr r3, [pc, #92] ; (806bc34 ) 806bbd6: 4413 add r3, r2 806bbd8: 4619 mov r1, r3 806bbda: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bbde: 4613 mov r3, r2 806bbe0: 009b lsls r3, r3, #2 806bbe2: 4413 add r3, r2 806bbe4: 009b lsls r3, r3, #2 806bbe6: 461a mov r2, r3 806bbe8: 4b1d ldr r3, [pc, #116] ; (806bc60 ) 806bbea: 4413 add r3, r2 806bbec: 460c mov r4, r1 806bbee: 461d mov r5, r3 806bbf0: cd0f ldmia r5!, {r0, r1, r2, r3} 806bbf2: c40f stmia r4!, {r0, r1, r2, r3} 806bbf4: 682b ldr r3, [r5, #0] 806bbf6: 6023 str r3, [r4, #0] l++; 806bbf8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bbfc: 3301 adds r3, #1 806bbfe: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806bc02: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bc06: 3301 adds r3, #1 806bc08: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bc0c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bc10: 4b14 ldr r3, [pc, #80] ; (806bc64 ) 806bc12: 681b ldr r3, [r3, #0] 806bc14: 429a cmp r2, r3 806bc16: d3b6 bcc.n 806bb86 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806bc18: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bc1c: 2b00 cmp r3, #0 806bc1e: f001 8171 beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806bc22: 2300 movs r3, #0 806bc24: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806bc28: e091 b.n 806bd4e { for(i = j; i < l; i++) 806bc2a: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806bc2e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bc32: e081 b.n 806bd38 806bc34: 64090000 .word 0x64090000 806bc38: 20022314 .word 0x20022314 806bc3c: 20022900 .word 0x20022900 806bc40: 20021f88 .word 0x20021f88 806bc44: d01502f9 .word 0xd01502f9 806bc48: 501502f9 .word 0x501502f9 806bc4c: 64080000 .word 0x64080000 806bc50: 20020070 .word 0x20020070 806bc54: 20023e60 .word 0x20023e60 806bc58: 080cf9c4 .word 0x080cf9c4 806bc5c: 080cf9d4 .word 0x080cf9d4 806bc60: 640a0000 .word 0x640a0000 806bc64: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806bc68: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bc6c: 4613 mov r3, r2 806bc6e: 009b lsls r3, r3, #2 806bc70: 4413 add r3, r2 806bc72: 009b lsls r3, r3, #2 806bc74: 461a mov r2, r3 806bc76: 4ba3 ldr r3, [pc, #652] ; (806bf04 ) 806bc78: 4413 add r3, r2 806bc7a: 461a mov r2, r3 806bc7c: 4ba2 ldr r3, [pc, #648] ; (806bf08 ) 806bc7e: 461c mov r4, r3 806bc80: 4615 mov r5, r2 806bc82: cd0f ldmia r5!, {r0, r1, r2, r3} 806bc84: c40f stmia r4!, {r0, r1, r2, r3} 806bc86: 682b ldr r3, [r5, #0] 806bc88: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806bc8a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bc8e: 4613 mov r3, r2 806bc90: 009b lsls r3, r3, #2 806bc92: 4413 add r3, r2 806bc94: 009b lsls r3, r3, #2 806bc96: 461a mov r2, r3 806bc98: 4b9a ldr r3, [pc, #616] ; (806bf04 ) 806bc9a: 4413 add r3, r2 806bc9c: 461a mov r2, r3 806bc9e: 4b9b ldr r3, [pc, #620] ; (806bf0c ) 806bca0: 461c mov r4, r3 806bca2: 4615 mov r5, r2 806bca4: cd0f ldmia r5!, {r0, r1, r2, r3} 806bca6: c40f stmia r4!, {r0, r1, r2, r3} 806bca8: 682b ldr r3, [r5, #0] 806bcaa: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806bcac: 4b96 ldr r3, [pc, #600] ; (806bf08 ) 806bcae: 68da ldr r2, [r3, #12] 806bcb0: 4b96 ldr r3, [pc, #600] ; (806bf0c ) 806bcb2: 68db ldr r3, [r3, #12] 806bcb4: 429a cmp r2, r3 806bcb6: d23a bcs.n 806bd2e { TrendData = TrendRAM_TEMP(j); 806bcb8: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bcbc: 4613 mov r3, r2 806bcbe: 009b lsls r3, r3, #2 806bcc0: 4413 add r3, r2 806bcc2: 009b lsls r3, r3, #2 806bcc4: 461a mov r2, r3 806bcc6: 4b8f ldr r3, [pc, #572] ; (806bf04 ) 806bcc8: 4413 add r3, r2 806bcca: 461a mov r2, r3 806bccc: 4b90 ldr r3, [pc, #576] ; (806bf10 ) 806bcce: 461c mov r4, r3 806bcd0: 4615 mov r5, r2 806bcd2: cd0f ldmia r5!, {r0, r1, r2, r3} 806bcd4: c40f stmia r4!, {r0, r1, r2, r3} 806bcd6: 682b ldr r3, [r5, #0] 806bcd8: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806bcda: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bcde: 4613 mov r3, r2 806bce0: 009b lsls r3, r3, #2 806bce2: 4413 add r3, r2 806bce4: 009b lsls r3, r3, #2 806bce6: 461a mov r2, r3 806bce8: 4b86 ldr r3, [pc, #536] ; (806bf04 ) 806bcea: 4413 add r3, r2 806bcec: 4619 mov r1, r3 806bcee: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bcf2: 4613 mov r3, r2 806bcf4: 009b lsls r3, r3, #2 806bcf6: 4413 add r3, r2 806bcf8: 009b lsls r3, r3, #2 806bcfa: 461a mov r2, r3 806bcfc: 4b81 ldr r3, [pc, #516] ; (806bf04 ) 806bcfe: 4413 add r3, r2 806bd00: 460c mov r4, r1 806bd02: 461d mov r5, r3 806bd04: cd0f ldmia r5!, {r0, r1, r2, r3} 806bd06: c40f stmia r4!, {r0, r1, r2, r3} 806bd08: 682b ldr r3, [r5, #0] 806bd0a: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806bd0c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bd10: 4613 mov r3, r2 806bd12: 009b lsls r3, r3, #2 806bd14: 4413 add r3, r2 806bd16: 009b lsls r3, r3, #2 806bd18: 461a mov r2, r3 806bd1a: 4b7a ldr r3, [pc, #488] ; (806bf04 ) 806bd1c: 4413 add r3, r2 806bd1e: 461a mov r2, r3 806bd20: 4b7b ldr r3, [pc, #492] ; (806bf10 ) 806bd22: 4614 mov r4, r2 806bd24: 461d mov r5, r3 806bd26: cd0f ldmia r5!, {r0, r1, r2, r3} 806bd28: c40f stmia r4!, {r0, r1, r2, r3} 806bd2a: 682b ldr r3, [r5, #0] 806bd2c: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806bd2e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bd32: 3301 adds r3, #1 806bd34: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bd38: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bd3c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bd40: 429a cmp r2, r3 806bd42: d391 bcc.n 806bc68 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806bd44: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806bd48: 3301 adds r3, #1 806bd4a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806bd4e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bd52: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806bd56: 429a cmp r2, r3 806bd58: f4ff af67 bcc.w 806bc2a } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806bd5c: 4b6d ldr r3, [pc, #436] ; (806bf14 ) 806bd5e: f207 424c addw r2, r7, #1100 ; 0x44c 806bd62: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806bd64: 4b6c ldr r3, [pc, #432] ; (806bf18 ) 806bd66: f507 6289 add.w r2, r7, #1096 ; 0x448 806bd6a: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806bd6c: 2300 movs r3, #0 806bd6e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bd72: e049 b.n 806be08 { TrendData = TrendRAM_TEMP(i); 806bd74: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bd78: 4613 mov r3, r2 806bd7a: 009b lsls r3, r3, #2 806bd7c: 4413 add r3, r2 806bd7e: 009b lsls r3, r3, #2 806bd80: 461a mov r2, r3 806bd82: 4b60 ldr r3, [pc, #384] ; (806bf04 ) 806bd84: 4413 add r3, r2 806bd86: 461a mov r2, r3 806bd88: 4b61 ldr r3, [pc, #388] ; (806bf10 ) 806bd8a: 461c mov r4, r3 806bd8c: 4615 mov r5, r2 806bd8e: cd0f ldmia r5!, {r0, r1, r2, r3} 806bd90: c40f stmia r4!, {r0, r1, r2, r3} 806bd92: 682b ldr r3, [r5, #0] 806bd94: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806bd96: 4b5e ldr r3, [pc, #376] ; (806bf10 ) 806bd98: ed93 7a01 vldr s14, [r3, #4] 806bd9c: f207 434c addw r3, r7, #1100 ; 0x44c 806bda0: edd3 7a00 vldr s15, [r3] 806bda4: eeb4 7ae7 vcmpe.f32 s14, s15 806bda8: eef1 fa10 vmrs APSR_nzcv, fpscr 806bdac: dd04 ble.n 806bdb8 806bdae: 4b58 ldr r3, [pc, #352] ; (806bf10 ) 806bdb0: 685b ldr r3, [r3, #4] 806bdb2: f207 424c addw r2, r7, #1100 ; 0x44c 806bdb6: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806bdb8: 4b55 ldr r3, [pc, #340] ; (806bf10 ) 806bdba: ed93 7a01 vldr s14, [r3, #4] 806bdbe: f507 6389 add.w r3, r7, #1096 ; 0x448 806bdc2: edd3 7a00 vldr s15, [r3] 806bdc6: eeb4 7ae7 vcmpe.f32 s14, s15 806bdca: eef1 fa10 vmrs APSR_nzcv, fpscr 806bdce: d504 bpl.n 806bdda 806bdd0: 4b4f ldr r3, [pc, #316] ; (806bf10 ) 806bdd2: 685b ldr r3, [r3, #4] 806bdd4: f507 6289 add.w r2, r7, #1096 ; 0x448 806bdd8: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806bdda: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bdde: 009a lsls r2, r3, #2 806bde0: 4b4e ldr r3, [pc, #312] ; (806bf1c ) 806bde2: 4413 add r3, r2 806bde4: 461a mov r2, r3 806bde6: 4b4a ldr r3, [pc, #296] ; (806bf10 ) 806bde8: 685b ldr r3, [r3, #4] 806bdea: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806bdec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bdf0: 009a lsls r2, r3, #2 806bdf2: 4b44 ldr r3, [pc, #272] ; (806bf04 ) 806bdf4: 4413 add r3, r2 806bdf6: 461a mov r2, r3 806bdf8: 4b45 ldr r3, [pc, #276] ; (806bf10 ) 806bdfa: 68db ldr r3, [r3, #12] 806bdfc: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806bdfe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806be02: 3301 adds r3, #1 806be04: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806be08: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806be0c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806be10: 429a cmp r2, r3 806be12: d3af bcc.n 806bd74 806be14: f001 b876 b.w 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_excess) 806be18: 4b41 ldr r3, [pc, #260] ; (806bf20 ) 806be1a: 781b ldrb r3, [r3, #0] 806be1c: b2db uxtb r3, r3 806be1e: 2b04 cmp r3, #4 806be20: f041 8070 bne.w 806cf04 { if(pardata.LANG == RUS) 806be24: 4b3f ldr r3, [pc, #252] ; (806bf24 ) 806be26: 7b1b ldrb r3, [r3, #12] 806be28: b2db uxtb r3, r3 806be2a: 2b00 cmp r3, #0 806be2c: d106 bne.n 806be3c BSP_LCD_DisplayStringAt(8, 35, "V(ýêñöåññ)", LEFT_MODE); 806be2e: 2303 movs r3, #3 806be30: 4a3d ldr r2, [pc, #244] ; (806bf28 ) 806be32: 2123 movs r1, #35 ; 0x23 806be34: 2008 movs r0, #8 806be36: f7e7 fd9b bl 8053970 806be3a: e005 b.n 806be48 else BSP_LCD_DisplayStringAt(8, 35, "V(excess)", LEFT_MODE); 806be3c: 2303 movs r3, #3 806be3e: 4a3b ldr r2, [pc, #236] ; (806bf2c ) 806be40: 2123 movs r1, #35 ; 0x23 806be42: 2008 movs r0, #8 806be44: f7e7 fd94 bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806be48: 2300 movs r3, #0 806be4a: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806be4e: 2300 movs r3, #0 806be50: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806be54: e042 b.n 806bedc { TrendData = TrendRAM(i); 806be56: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806be5a: 4613 mov r3, r2 806be5c: 009b lsls r3, r3, #2 806be5e: 4413 add r3, r2 806be60: 009b lsls r3, r3, #2 806be62: 461a mov r2, r3 806be64: 4b32 ldr r3, [pc, #200] ; (806bf30 ) 806be66: 4413 add r3, r2 806be68: 461a mov r2, r3 806be6a: 4b29 ldr r3, [pc, #164] ; (806bf10 ) 806be6c: 461c mov r4, r3 806be6e: 4615 mov r5, r2 806be70: cd0f ldmia r5!, {r0, r1, r2, r3} 806be72: c40f stmia r4!, {r0, r1, r2, r3} 806be74: 682b ldr r3, [r5, #0] 806be76: 6023 str r3, [r4, #0] if((TrendData.Vivs == 'E') && (TrendData.Vval.fl != -1.0f)) 806be78: 4b25 ldr r3, [pc, #148] ; (806bf10 ) 806be7a: 7c5b ldrb r3, [r3, #17] 806be7c: b2db uxtb r3, r3 806be7e: 2b45 cmp r3, #69 ; 0x45 806be80: d127 bne.n 806bed2 806be82: 4b23 ldr r3, [pc, #140] ; (806bf10 ) 806be84: edd3 7a01 vldr s15, [r3, #4] 806be88: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806be8c: eef4 7a47 vcmp.f32 s15, s14 806be90: eef1 fa10 vmrs APSR_nzcv, fpscr 806be94: d01d beq.n 806bed2 { TrendRAM_TEMP(l) = TrendRAM(i); 806be96: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806be9a: 4613 mov r3, r2 806be9c: 009b lsls r3, r3, #2 806be9e: 4413 add r3, r2 806bea0: 009b lsls r3, r3, #2 806bea2: 461a mov r2, r3 806bea4: 4b17 ldr r3, [pc, #92] ; (806bf04 ) 806bea6: 4413 add r3, r2 806bea8: 4619 mov r1, r3 806beaa: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806beae: 4613 mov r3, r2 806beb0: 009b lsls r3, r3, #2 806beb2: 4413 add r3, r2 806beb4: 009b lsls r3, r3, #2 806beb6: 461a mov r2, r3 806beb8: 4b1d ldr r3, [pc, #116] ; (806bf30 ) 806beba: 4413 add r3, r2 806bebc: 460c mov r4, r1 806bebe: 461d mov r5, r3 806bec0: cd0f ldmia r5!, {r0, r1, r2, r3} 806bec2: c40f stmia r4!, {r0, r1, r2, r3} 806bec4: 682b ldr r3, [r5, #0] 806bec6: 6023 str r3, [r4, #0] l++; 806bec8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806becc: 3301 adds r3, #1 806bece: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806bed2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806bed6: 3301 adds r3, #1 806bed8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bedc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bee0: 4b14 ldr r3, [pc, #80] ; (806bf34 ) 806bee2: 681b ldr r3, [r3, #0] 806bee4: 429a cmp r2, r3 806bee6: d3b6 bcc.n 806be56 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806bee8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806beec: 2b00 cmp r3, #0 806beee: f001 8009 beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806bef2: 2300 movs r3, #0 806bef4: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806bef8: e091 b.n 806c01e { for(i = j; i < l; i++) 806befa: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806befe: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806bf02: e081 b.n 806c008 806bf04: 64090000 .word 0x64090000 806bf08: 20022314 .word 0x20022314 806bf0c: 20022900 .word 0x20022900 806bf10: 20021f88 .word 0x20021f88 806bf14: d01502f9 .word 0xd01502f9 806bf18: 501502f9 .word 0x501502f9 806bf1c: 64080000 .word 0x64080000 806bf20: 20020070 .word 0x20020070 806bf24: 20023e60 .word 0x20023e60 806bf28: 080cf9e4 .word 0x080cf9e4 806bf2c: 080cf9f0 .word 0x080cf9f0 806bf30: 640a0000 .word 0x640a0000 806bf34: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806bf38: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bf3c: 4613 mov r3, r2 806bf3e: 009b lsls r3, r3, #2 806bf40: 4413 add r3, r2 806bf42: 009b lsls r3, r3, #2 806bf44: 461a mov r2, r3 806bf46: 4ba6 ldr r3, [pc, #664] ; (806c1e0 ) 806bf48: 4413 add r3, r2 806bf4a: 461a mov r2, r3 806bf4c: 4ba5 ldr r3, [pc, #660] ; (806c1e4 ) 806bf4e: 461c mov r4, r3 806bf50: 4615 mov r5, r2 806bf52: cd0f ldmia r5!, {r0, r1, r2, r3} 806bf54: c40f stmia r4!, {r0, r1, r2, r3} 806bf56: 682b ldr r3, [r5, #0] 806bf58: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806bf5a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bf5e: 4613 mov r3, r2 806bf60: 009b lsls r3, r3, #2 806bf62: 4413 add r3, r2 806bf64: 009b lsls r3, r3, #2 806bf66: 461a mov r2, r3 806bf68: 4b9d ldr r3, [pc, #628] ; (806c1e0 ) 806bf6a: 4413 add r3, r2 806bf6c: 461a mov r2, r3 806bf6e: 4b9e ldr r3, [pc, #632] ; (806c1e8 ) 806bf70: 461c mov r4, r3 806bf72: 4615 mov r5, r2 806bf74: cd0f ldmia r5!, {r0, r1, r2, r3} 806bf76: c40f stmia r4!, {r0, r1, r2, r3} 806bf78: 682b ldr r3, [r5, #0] 806bf7a: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806bf7c: 4b99 ldr r3, [pc, #612] ; (806c1e4 ) 806bf7e: 68da ldr r2, [r3, #12] 806bf80: 4b99 ldr r3, [pc, #612] ; (806c1e8 ) 806bf82: 68db ldr r3, [r3, #12] 806bf84: 429a cmp r2, r3 806bf86: d23a bcs.n 806bffe { TrendData = TrendRAM_TEMP(j); 806bf88: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bf8c: 4613 mov r3, r2 806bf8e: 009b lsls r3, r3, #2 806bf90: 4413 add r3, r2 806bf92: 009b lsls r3, r3, #2 806bf94: 461a mov r2, r3 806bf96: 4b92 ldr r3, [pc, #584] ; (806c1e0 ) 806bf98: 4413 add r3, r2 806bf9a: 461a mov r2, r3 806bf9c: 4b93 ldr r3, [pc, #588] ; (806c1ec ) 806bf9e: 461c mov r4, r3 806bfa0: 4615 mov r5, r2 806bfa2: cd0f ldmia r5!, {r0, r1, r2, r3} 806bfa4: c40f stmia r4!, {r0, r1, r2, r3} 806bfa6: 682b ldr r3, [r5, #0] 806bfa8: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806bfaa: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806bfae: 4613 mov r3, r2 806bfb0: 009b lsls r3, r3, #2 806bfb2: 4413 add r3, r2 806bfb4: 009b lsls r3, r3, #2 806bfb6: 461a mov r2, r3 806bfb8: 4b89 ldr r3, [pc, #548] ; (806c1e0 ) 806bfba: 4413 add r3, r2 806bfbc: 4619 mov r1, r3 806bfbe: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bfc2: 4613 mov r3, r2 806bfc4: 009b lsls r3, r3, #2 806bfc6: 4413 add r3, r2 806bfc8: 009b lsls r3, r3, #2 806bfca: 461a mov r2, r3 806bfcc: 4b84 ldr r3, [pc, #528] ; (806c1e0 ) 806bfce: 4413 add r3, r2 806bfd0: 460c mov r4, r1 806bfd2: 461d mov r5, r3 806bfd4: cd0f ldmia r5!, {r0, r1, r2, r3} 806bfd6: c40f stmia r4!, {r0, r1, r2, r3} 806bfd8: 682b ldr r3, [r5, #0] 806bfda: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806bfdc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806bfe0: 4613 mov r3, r2 806bfe2: 009b lsls r3, r3, #2 806bfe4: 4413 add r3, r2 806bfe6: 009b lsls r3, r3, #2 806bfe8: 461a mov r2, r3 806bfea: 4b7d ldr r3, [pc, #500] ; (806c1e0 ) 806bfec: 4413 add r3, r2 806bfee: 461a mov r2, r3 806bff0: 4b7e ldr r3, [pc, #504] ; (806c1ec ) 806bff2: 4614 mov r4, r2 806bff4: 461d mov r5, r3 806bff6: cd0f ldmia r5!, {r0, r1, r2, r3} 806bff8: c40f stmia r4!, {r0, r1, r2, r3} 806bffa: 682b ldr r3, [r5, #0] 806bffc: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806bffe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c002: 3301 adds r3, #1 806c004: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c008: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c00c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c010: 429a cmp r2, r3 806c012: d391 bcc.n 806bf38 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c014: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c018: 3301 adds r3, #1 806c01a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c01e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c022: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c026: 429a cmp r2, r3 806c028: f4ff af67 bcc.w 806befa } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c02c: 4b70 ldr r3, [pc, #448] ; (806c1f0 ) 806c02e: f207 424c addw r2, r7, #1100 ; 0x44c 806c032: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c034: 4b6f ldr r3, [pc, #444] ; (806c1f4 ) 806c036: f507 6289 add.w r2, r7, #1096 ; 0x448 806c03a: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c03c: 2300 movs r3, #0 806c03e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c042: e049 b.n 806c0d8 { TrendData = TrendRAM_TEMP(i); 806c044: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c048: 4613 mov r3, r2 806c04a: 009b lsls r3, r3, #2 806c04c: 4413 add r3, r2 806c04e: 009b lsls r3, r3, #2 806c050: 461a mov r2, r3 806c052: 4b63 ldr r3, [pc, #396] ; (806c1e0 ) 806c054: 4413 add r3, r2 806c056: 461a mov r2, r3 806c058: 4b64 ldr r3, [pc, #400] ; (806c1ec ) 806c05a: 461c mov r4, r3 806c05c: 4615 mov r5, r2 806c05e: cd0f ldmia r5!, {r0, r1, r2, r3} 806c060: c40f stmia r4!, {r0, r1, r2, r3} 806c062: 682b ldr r3, [r5, #0] 806c064: 6023 str r3, [r4, #0] if(TrendData.Vval.fl > fmax) fmax = TrendData.Vval.fl; 806c066: 4b61 ldr r3, [pc, #388] ; (806c1ec ) 806c068: ed93 7a01 vldr s14, [r3, #4] 806c06c: f207 434c addw r3, r7, #1100 ; 0x44c 806c070: edd3 7a00 vldr s15, [r3] 806c074: eeb4 7ae7 vcmpe.f32 s14, s15 806c078: eef1 fa10 vmrs APSR_nzcv, fpscr 806c07c: dd04 ble.n 806c088 806c07e: 4b5b ldr r3, [pc, #364] ; (806c1ec ) 806c080: 685b ldr r3, [r3, #4] 806c082: f207 424c addw r2, r7, #1100 ; 0x44c 806c086: 6013 str r3, [r2, #0] if(TrendData.Vval.fl < fmin) fmin = TrendData.Vval.fl; 806c088: 4b58 ldr r3, [pc, #352] ; (806c1ec ) 806c08a: ed93 7a01 vldr s14, [r3, #4] 806c08e: f507 6389 add.w r3, r7, #1096 ; 0x448 806c092: edd3 7a00 vldr s15, [r3] 806c096: eeb4 7ae7 vcmpe.f32 s14, s15 806c09a: eef1 fa10 vmrs APSR_nzcv, fpscr 806c09e: d504 bpl.n 806c0aa 806c0a0: 4b52 ldr r3, [pc, #328] ; (806c1ec ) 806c0a2: 685b ldr r3, [r3, #4] 806c0a4: f507 6289 add.w r2, r7, #1096 ; 0x448 806c0a8: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Vval.fl; 806c0aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c0ae: 009a lsls r2, r3, #2 806c0b0: 4b51 ldr r3, [pc, #324] ; (806c1f8 ) 806c0b2: 4413 add r3, r2 806c0b4: 461a mov r2, r3 806c0b6: 4b4d ldr r3, [pc, #308] ; (806c1ec ) 806c0b8: 685b ldr r3, [r3, #4] 806c0ba: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c0bc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c0c0: 009a lsls r2, r3, #2 806c0c2: 4b47 ldr r3, [pc, #284] ; (806c1e0 ) 806c0c4: 4413 add r3, r2 806c0c6: 461a mov r2, r3 806c0c8: 4b48 ldr r3, [pc, #288] ; (806c1ec ) 806c0ca: 68db ldr r3, [r3, #12] 806c0cc: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c0ce: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c0d2: 3301 adds r3, #1 806c0d4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c0d8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c0dc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c0e0: 429a cmp r2, r3 806c0e2: d3af bcc.n 806c044 806c0e4: f000 bf0e b.w 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } } else if(menu == TREND_S) 806c0e8: 4b44 ldr r3, [pc, #272] ; (806c1fc ) 806c0ea: 781b ldrb r3, [r3, #0] 806c0ec: b2db uxtb r3, r3 806c0ee: 2b47 cmp r3, #71 ; 0x47 806c0f0: f040 8708 bne.w 806cf04 { if(menupos == Trend_pk) 806c0f4: 4b42 ldr r3, [pc, #264] ; (806c200 ) 806c0f6: 781b ldrb r3, [r3, #0] 806c0f8: b2db uxtb r3, r3 806c0fa: 2b00 cmp r3, #0 806c0fc: f040 8164 bne.w 806c3c8 { if(pardata.LANG == RUS) 806c100: 4b40 ldr r3, [pc, #256] ; (806c204 ) 806c102: 7b1b ldrb r3, [r3, #12] 806c104: b2db uxtb r3, r3 806c106: 2b00 cmp r3, #0 806c108: d106 bne.n 806c118 BSP_LCD_DisplayStringAt(8, 35, "S(ïèê),ìêì", LEFT_MODE); 806c10a: 2303 movs r3, #3 806c10c: 4a3e ldr r2, [pc, #248] ; (806c208 ) 806c10e: 2123 movs r1, #35 ; 0x23 806c110: 2008 movs r0, #8 806c112: f7e7 fc2d bl 8053970 806c116: e005 b.n 806c124 else BSP_LCD_DisplayStringAt(8, 35, "S(peak),um", LEFT_MODE); 806c118: 2303 movs r3, #3 806c11a: 4a3c ldr r2, [pc, #240] ; (806c20c ) 806c11c: 2123 movs r1, #35 ; 0x23 806c11e: 2008 movs r0, #8 806c120: f7e7 fc26 bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c124: 2300 movs r3, #0 806c126: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c12a: 2300 movs r3, #0 806c12c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c130: e042 b.n 806c1b8 { TrendData = TrendRAM(i); 806c132: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c136: 4613 mov r3, r2 806c138: 009b lsls r3, r3, #2 806c13a: 4413 add r3, r2 806c13c: 009b lsls r3, r3, #2 806c13e: 461a mov r2, r3 806c140: 4b33 ldr r3, [pc, #204] ; (806c210 ) 806c142: 4413 add r3, r2 806c144: 461a mov r2, r3 806c146: 4b29 ldr r3, [pc, #164] ; (806c1ec ) 806c148: 461c mov r4, r3 806c14a: 4615 mov r5, r2 806c14c: cd0f ldmia r5!, {r0, r1, r2, r3} 806c14e: c40f stmia r4!, {r0, r1, r2, r3} 806c150: 682b ldr r3, [r5, #0] 806c152: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'P') && (TrendData.Sval.fl != -1.0f)) 806c154: 4b25 ldr r3, [pc, #148] ; (806c1ec ) 806c156: 7c9b ldrb r3, [r3, #18] 806c158: b2db uxtb r3, r3 806c15a: 2b50 cmp r3, #80 ; 0x50 806c15c: d127 bne.n 806c1ae 806c15e: 4b23 ldr r3, [pc, #140] ; (806c1ec ) 806c160: edd3 7a02 vldr s15, [r3, #8] 806c164: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c168: eef4 7a47 vcmp.f32 s15, s14 806c16c: eef1 fa10 vmrs APSR_nzcv, fpscr 806c170: d01d beq.n 806c1ae { TrendRAM_TEMP(l) = TrendRAM(i); 806c172: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c176: 4613 mov r3, r2 806c178: 009b lsls r3, r3, #2 806c17a: 4413 add r3, r2 806c17c: 009b lsls r3, r3, #2 806c17e: 461a mov r2, r3 806c180: 4b17 ldr r3, [pc, #92] ; (806c1e0 ) 806c182: 4413 add r3, r2 806c184: 4619 mov r1, r3 806c186: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c18a: 4613 mov r3, r2 806c18c: 009b lsls r3, r3, #2 806c18e: 4413 add r3, r2 806c190: 009b lsls r3, r3, #2 806c192: 461a mov r2, r3 806c194: 4b1e ldr r3, [pc, #120] ; (806c210 ) 806c196: 4413 add r3, r2 806c198: 460c mov r4, r1 806c19a: 461d mov r5, r3 806c19c: cd0f ldmia r5!, {r0, r1, r2, r3} 806c19e: c40f stmia r4!, {r0, r1, r2, r3} 806c1a0: 682b ldr r3, [r5, #0] 806c1a2: 6023 str r3, [r4, #0] l++; 806c1a4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c1a8: 3301 adds r3, #1 806c1aa: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c1ae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c1b2: 3301 adds r3, #1 806c1b4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c1b8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c1bc: 4b15 ldr r3, [pc, #84] ; (806c214 ) 806c1be: 681b ldr r3, [r3, #0] 806c1c0: 429a cmp r2, r3 806c1c2: d3b6 bcc.n 806c132 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c1c4: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c1c8: 2b00 cmp r3, #0 806c1ca: f000 869b beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c1ce: 2300 movs r3, #0 806c1d0: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c1d4: e093 b.n 806c2fe { for(i = j; i < l; i++) 806c1d6: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c1da: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c1de: e083 b.n 806c2e8 806c1e0: 64090000 .word 0x64090000 806c1e4: 20022314 .word 0x20022314 806c1e8: 20022900 .word 0x20022900 806c1ec: 20021f88 .word 0x20021f88 806c1f0: d01502f9 .word 0xd01502f9 806c1f4: 501502f9 .word 0x501502f9 806c1f8: 64080000 .word 0x64080000 806c1fc: 20020f78 .word 0x20020f78 806c200: 20020070 .word 0x20020070 806c204: 20023e60 .word 0x20023e60 806c208: 080cf9fc .word 0x080cf9fc 806c20c: 080cfa08 .word 0x080cfa08 806c210: 640a0000 .word 0x640a0000 806c214: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806c218: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c21c: 4613 mov r3, r2 806c21e: 009b lsls r3, r3, #2 806c220: 4413 add r3, r2 806c222: 009b lsls r3, r3, #2 806c224: 461a mov r2, r3 806c226: 4ba3 ldr r3, [pc, #652] ; (806c4b4 ) 806c228: 4413 add r3, r2 806c22a: 461a mov r2, r3 806c22c: 4ba2 ldr r3, [pc, #648] ; (806c4b8 ) 806c22e: 461c mov r4, r3 806c230: 4615 mov r5, r2 806c232: cd0f ldmia r5!, {r0, r1, r2, r3} 806c234: c40f stmia r4!, {r0, r1, r2, r3} 806c236: 682b ldr r3, [r5, #0] 806c238: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c23a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c23e: 4613 mov r3, r2 806c240: 009b lsls r3, r3, #2 806c242: 4413 add r3, r2 806c244: 009b lsls r3, r3, #2 806c246: 461a mov r2, r3 806c248: 4b9a ldr r3, [pc, #616] ; (806c4b4 ) 806c24a: 4413 add r3, r2 806c24c: 461a mov r2, r3 806c24e: 4b9b ldr r3, [pc, #620] ; (806c4bc ) 806c250: 461c mov r4, r3 806c252: 4615 mov r5, r2 806c254: cd0f ldmia r5!, {r0, r1, r2, r3} 806c256: c40f stmia r4!, {r0, r1, r2, r3} 806c258: 682b ldr r3, [r5, #0] 806c25a: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806c25c: 4b96 ldr r3, [pc, #600] ; (806c4b8 ) 806c25e: 68da ldr r2, [r3, #12] 806c260: 4b96 ldr r3, [pc, #600] ; (806c4bc ) 806c262: 68db ldr r3, [r3, #12] 806c264: 429a cmp r2, r3 806c266: d23a bcs.n 806c2de { TrendData = TrendRAM_TEMP(j); 806c268: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c26c: 4613 mov r3, r2 806c26e: 009b lsls r3, r3, #2 806c270: 4413 add r3, r2 806c272: 009b lsls r3, r3, #2 806c274: 461a mov r2, r3 806c276: 4b8f ldr r3, [pc, #572] ; (806c4b4 ) 806c278: 4413 add r3, r2 806c27a: 461a mov r2, r3 806c27c: 4b90 ldr r3, [pc, #576] ; (806c4c0 ) 806c27e: 461c mov r4, r3 806c280: 4615 mov r5, r2 806c282: cd0f ldmia r5!, {r0, r1, r2, r3} 806c284: c40f stmia r4!, {r0, r1, r2, r3} 806c286: 682b ldr r3, [r5, #0] 806c288: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c28a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c28e: 4613 mov r3, r2 806c290: 009b lsls r3, r3, #2 806c292: 4413 add r3, r2 806c294: 009b lsls r3, r3, #2 806c296: 461a mov r2, r3 806c298: 4b86 ldr r3, [pc, #536] ; (806c4b4 ) 806c29a: 4413 add r3, r2 806c29c: 4619 mov r1, r3 806c29e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c2a2: 4613 mov r3, r2 806c2a4: 009b lsls r3, r3, #2 806c2a6: 4413 add r3, r2 806c2a8: 009b lsls r3, r3, #2 806c2aa: 461a mov r2, r3 806c2ac: 4b81 ldr r3, [pc, #516] ; (806c4b4 ) 806c2ae: 4413 add r3, r2 806c2b0: 460c mov r4, r1 806c2b2: 461d mov r5, r3 806c2b4: cd0f ldmia r5!, {r0, r1, r2, r3} 806c2b6: c40f stmia r4!, {r0, r1, r2, r3} 806c2b8: 682b ldr r3, [r5, #0] 806c2ba: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c2bc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c2c0: 4613 mov r3, r2 806c2c2: 009b lsls r3, r3, #2 806c2c4: 4413 add r3, r2 806c2c6: 009b lsls r3, r3, #2 806c2c8: 461a mov r2, r3 806c2ca: 4b7a ldr r3, [pc, #488] ; (806c4b4 ) 806c2cc: 4413 add r3, r2 806c2ce: 461a mov r2, r3 806c2d0: 4b7b ldr r3, [pc, #492] ; (806c4c0 ) 806c2d2: 4614 mov r4, r2 806c2d4: 461d mov r5, r3 806c2d6: cd0f ldmia r5!, {r0, r1, r2, r3} 806c2d8: c40f stmia r4!, {r0, r1, r2, r3} 806c2da: 682b ldr r3, [r5, #0] 806c2dc: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806c2de: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c2e2: 3301 adds r3, #1 806c2e4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c2e8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c2ec: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c2f0: 429a cmp r2, r3 806c2f2: d391 bcc.n 806c218 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c2f4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c2f8: 3301 adds r3, #1 806c2fa: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c2fe: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c302: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c306: 429a cmp r2, r3 806c308: f4ff af65 bcc.w 806c1d6 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c30c: 4b6d ldr r3, [pc, #436] ; (806c4c4 ) 806c30e: f207 424c addw r2, r7, #1100 ; 0x44c 806c312: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c314: 4b6c ldr r3, [pc, #432] ; (806c4c8 ) 806c316: f507 6289 add.w r2, r7, #1096 ; 0x448 806c31a: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c31c: 2300 movs r3, #0 806c31e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c322: e049 b.n 806c3b8 { TrendData = TrendRAM_TEMP(i); 806c324: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c328: 4613 mov r3, r2 806c32a: 009b lsls r3, r3, #2 806c32c: 4413 add r3, r2 806c32e: 009b lsls r3, r3, #2 806c330: 461a mov r2, r3 806c332: 4b60 ldr r3, [pc, #384] ; (806c4b4 ) 806c334: 4413 add r3, r2 806c336: 461a mov r2, r3 806c338: 4b61 ldr r3, [pc, #388] ; (806c4c0 ) 806c33a: 461c mov r4, r3 806c33c: 4615 mov r5, r2 806c33e: cd0f ldmia r5!, {r0, r1, r2, r3} 806c340: c40f stmia r4!, {r0, r1, r2, r3} 806c342: 682b ldr r3, [r5, #0] 806c344: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806c346: 4b5e ldr r3, [pc, #376] ; (806c4c0 ) 806c348: ed93 7a02 vldr s14, [r3, #8] 806c34c: f207 434c addw r3, r7, #1100 ; 0x44c 806c350: edd3 7a00 vldr s15, [r3] 806c354: eeb4 7ae7 vcmpe.f32 s14, s15 806c358: eef1 fa10 vmrs APSR_nzcv, fpscr 806c35c: dd04 ble.n 806c368 806c35e: 4b58 ldr r3, [pc, #352] ; (806c4c0 ) 806c360: 689b ldr r3, [r3, #8] 806c362: f207 424c addw r2, r7, #1100 ; 0x44c 806c366: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806c368: 4b55 ldr r3, [pc, #340] ; (806c4c0 ) 806c36a: ed93 7a02 vldr s14, [r3, #8] 806c36e: f507 6389 add.w r3, r7, #1096 ; 0x448 806c372: edd3 7a00 vldr s15, [r3] 806c376: eeb4 7ae7 vcmpe.f32 s14, s15 806c37a: eef1 fa10 vmrs APSR_nzcv, fpscr 806c37e: d504 bpl.n 806c38a 806c380: 4b4f ldr r3, [pc, #316] ; (806c4c0 ) 806c382: 689b ldr r3, [r3, #8] 806c384: f507 6289 add.w r2, r7, #1096 ; 0x448 806c388: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806c38a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c38e: 009a lsls r2, r3, #2 806c390: 4b4e ldr r3, [pc, #312] ; (806c4cc ) 806c392: 4413 add r3, r2 806c394: 461a mov r2, r3 806c396: 4b4a ldr r3, [pc, #296] ; (806c4c0 ) 806c398: 689b ldr r3, [r3, #8] 806c39a: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c39c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c3a0: 009a lsls r2, r3, #2 806c3a2: 4b44 ldr r3, [pc, #272] ; (806c4b4 ) 806c3a4: 4413 add r3, r2 806c3a6: 461a mov r2, r3 806c3a8: 4b45 ldr r3, [pc, #276] ; (806c4c0 ) 806c3aa: 68db ldr r3, [r3, #12] 806c3ac: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c3ae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c3b2: 3301 adds r3, #1 806c3b4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c3b8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c3bc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c3c0: 429a cmp r2, r3 806c3c2: d3af bcc.n 806c324 806c3c4: f000 bd9e b.w 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_rms) 806c3c8: 4b41 ldr r3, [pc, #260] ; (806c4d0 ) 806c3ca: 781b ldrb r3, [r3, #0] 806c3cc: b2db uxtb r3, r3 806c3ce: 2b01 cmp r3, #1 806c3d0: f040 8162 bne.w 806c698 { if(pardata.LANG == RUS) 806c3d4: 4b3f ldr r3, [pc, #252] ; (806c4d4 ) 806c3d6: 7b1b ldrb r3, [r3, #12] 806c3d8: b2db uxtb r3, r3 806c3da: 2b00 cmp r3, #0 806c3dc: d106 bne.n 806c3ec BSP_LCD_DisplayStringAt(8, 35, "S(ñêç),ìêì", LEFT_MODE); 806c3de: 2303 movs r3, #3 806c3e0: 4a3d ldr r2, [pc, #244] ; (806c4d8 ) 806c3e2: 2123 movs r1, #35 ; 0x23 806c3e4: 2008 movs r0, #8 806c3e6: f7e7 fac3 bl 8053970 806c3ea: e005 b.n 806c3f8 else BSP_LCD_DisplayStringAt(8, 35, "S(rms),um", LEFT_MODE); 806c3ec: 2303 movs r3, #3 806c3ee: 4a3b ldr r2, [pc, #236] ; (806c4dc ) 806c3f0: 2123 movs r1, #35 ; 0x23 806c3f2: 2008 movs r0, #8 806c3f4: f7e7 fabc bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c3f8: 2300 movs r3, #0 806c3fa: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c3fe: 2300 movs r3, #0 806c400: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c404: e042 b.n 806c48c { TrendData = TrendRAM(i); 806c406: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c40a: 4613 mov r3, r2 806c40c: 009b lsls r3, r3, #2 806c40e: 4413 add r3, r2 806c410: 009b lsls r3, r3, #2 806c412: 461a mov r2, r3 806c414: 4b32 ldr r3, [pc, #200] ; (806c4e0 ) 806c416: 4413 add r3, r2 806c418: 461a mov r2, r3 806c41a: 4b29 ldr r3, [pc, #164] ; (806c4c0 ) 806c41c: 461c mov r4, r3 806c41e: 4615 mov r5, r2 806c420: cd0f ldmia r5!, {r0, r1, r2, r3} 806c422: c40f stmia r4!, {r0, r1, r2, r3} 806c424: 682b ldr r3, [r5, #0] 806c426: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'S') && (TrendData.Sval.fl != -1.0f)) 806c428: 4b25 ldr r3, [pc, #148] ; (806c4c0 ) 806c42a: 7c9b ldrb r3, [r3, #18] 806c42c: b2db uxtb r3, r3 806c42e: 2b53 cmp r3, #83 ; 0x53 806c430: d127 bne.n 806c482 806c432: 4b23 ldr r3, [pc, #140] ; (806c4c0 ) 806c434: edd3 7a02 vldr s15, [r3, #8] 806c438: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c43c: eef4 7a47 vcmp.f32 s15, s14 806c440: eef1 fa10 vmrs APSR_nzcv, fpscr 806c444: d01d beq.n 806c482 { TrendRAM_TEMP(l) = TrendRAM(i); 806c446: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c44a: 4613 mov r3, r2 806c44c: 009b lsls r3, r3, #2 806c44e: 4413 add r3, r2 806c450: 009b lsls r3, r3, #2 806c452: 461a mov r2, r3 806c454: 4b17 ldr r3, [pc, #92] ; (806c4b4 ) 806c456: 4413 add r3, r2 806c458: 4619 mov r1, r3 806c45a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c45e: 4613 mov r3, r2 806c460: 009b lsls r3, r3, #2 806c462: 4413 add r3, r2 806c464: 009b lsls r3, r3, #2 806c466: 461a mov r2, r3 806c468: 4b1d ldr r3, [pc, #116] ; (806c4e0 ) 806c46a: 4413 add r3, r2 806c46c: 460c mov r4, r1 806c46e: 461d mov r5, r3 806c470: cd0f ldmia r5!, {r0, r1, r2, r3} 806c472: c40f stmia r4!, {r0, r1, r2, r3} 806c474: 682b ldr r3, [r5, #0] 806c476: 6023 str r3, [r4, #0] l++; 806c478: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c47c: 3301 adds r3, #1 806c47e: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c482: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c486: 3301 adds r3, #1 806c488: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c48c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c490: 4b14 ldr r3, [pc, #80] ; (806c4e4 ) 806c492: 681b ldr r3, [r3, #0] 806c494: 429a cmp r2, r3 806c496: d3b6 bcc.n 806c406 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c498: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c49c: 2b00 cmp r3, #0 806c49e: f000 8531 beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c4a2: 2300 movs r3, #0 806c4a4: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c4a8: e091 b.n 806c5ce { for(i = j; i < l; i++) 806c4aa: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c4ae: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c4b2: e081 b.n 806c5b8 806c4b4: 64090000 .word 0x64090000 806c4b8: 20022314 .word 0x20022314 806c4bc: 20022900 .word 0x20022900 806c4c0: 20021f88 .word 0x20021f88 806c4c4: d01502f9 .word 0xd01502f9 806c4c8: 501502f9 .word 0x501502f9 806c4cc: 64080000 .word 0x64080000 806c4d0: 20020070 .word 0x20020070 806c4d4: 20023e60 .word 0x20023e60 806c4d8: 080cfa14 .word 0x080cfa14 806c4dc: 080cfa20 .word 0x080cfa20 806c4e0: 640a0000 .word 0x640a0000 806c4e4: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806c4e8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c4ec: 4613 mov r3, r2 806c4ee: 009b lsls r3, r3, #2 806c4f0: 4413 add r3, r2 806c4f2: 009b lsls r3, r3, #2 806c4f4: 461a mov r2, r3 806c4f6: 4ba3 ldr r3, [pc, #652] ; (806c784 ) 806c4f8: 4413 add r3, r2 806c4fa: 461a mov r2, r3 806c4fc: 4ba2 ldr r3, [pc, #648] ; (806c788 ) 806c4fe: 461c mov r4, r3 806c500: 4615 mov r5, r2 806c502: cd0f ldmia r5!, {r0, r1, r2, r3} 806c504: c40f stmia r4!, {r0, r1, r2, r3} 806c506: 682b ldr r3, [r5, #0] 806c508: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c50a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c50e: 4613 mov r3, r2 806c510: 009b lsls r3, r3, #2 806c512: 4413 add r3, r2 806c514: 009b lsls r3, r3, #2 806c516: 461a mov r2, r3 806c518: 4b9a ldr r3, [pc, #616] ; (806c784 ) 806c51a: 4413 add r3, r2 806c51c: 461a mov r2, r3 806c51e: 4b9b ldr r3, [pc, #620] ; (806c78c ) 806c520: 461c mov r4, r3 806c522: 4615 mov r5, r2 806c524: cd0f ldmia r5!, {r0, r1, r2, r3} 806c526: c40f stmia r4!, {r0, r1, r2, r3} 806c528: 682b ldr r3, [r5, #0] 806c52a: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806c52c: 4b96 ldr r3, [pc, #600] ; (806c788 ) 806c52e: 68da ldr r2, [r3, #12] 806c530: 4b96 ldr r3, [pc, #600] ; (806c78c ) 806c532: 68db ldr r3, [r3, #12] 806c534: 429a cmp r2, r3 806c536: d23a bcs.n 806c5ae { TrendData = TrendRAM_TEMP(j); 806c538: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c53c: 4613 mov r3, r2 806c53e: 009b lsls r3, r3, #2 806c540: 4413 add r3, r2 806c542: 009b lsls r3, r3, #2 806c544: 461a mov r2, r3 806c546: 4b8f ldr r3, [pc, #572] ; (806c784 ) 806c548: 4413 add r3, r2 806c54a: 461a mov r2, r3 806c54c: 4b90 ldr r3, [pc, #576] ; (806c790 ) 806c54e: 461c mov r4, r3 806c550: 4615 mov r5, r2 806c552: cd0f ldmia r5!, {r0, r1, r2, r3} 806c554: c40f stmia r4!, {r0, r1, r2, r3} 806c556: 682b ldr r3, [r5, #0] 806c558: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c55a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c55e: 4613 mov r3, r2 806c560: 009b lsls r3, r3, #2 806c562: 4413 add r3, r2 806c564: 009b lsls r3, r3, #2 806c566: 461a mov r2, r3 806c568: 4b86 ldr r3, [pc, #536] ; (806c784 ) 806c56a: 4413 add r3, r2 806c56c: 4619 mov r1, r3 806c56e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c572: 4613 mov r3, r2 806c574: 009b lsls r3, r3, #2 806c576: 4413 add r3, r2 806c578: 009b lsls r3, r3, #2 806c57a: 461a mov r2, r3 806c57c: 4b81 ldr r3, [pc, #516] ; (806c784 ) 806c57e: 4413 add r3, r2 806c580: 460c mov r4, r1 806c582: 461d mov r5, r3 806c584: cd0f ldmia r5!, {r0, r1, r2, r3} 806c586: c40f stmia r4!, {r0, r1, r2, r3} 806c588: 682b ldr r3, [r5, #0] 806c58a: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c58c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c590: 4613 mov r3, r2 806c592: 009b lsls r3, r3, #2 806c594: 4413 add r3, r2 806c596: 009b lsls r3, r3, #2 806c598: 461a mov r2, r3 806c59a: 4b7a ldr r3, [pc, #488] ; (806c784 ) 806c59c: 4413 add r3, r2 806c59e: 461a mov r2, r3 806c5a0: 4b7b ldr r3, [pc, #492] ; (806c790 ) 806c5a2: 4614 mov r4, r2 806c5a4: 461d mov r5, r3 806c5a6: cd0f ldmia r5!, {r0, r1, r2, r3} 806c5a8: c40f stmia r4!, {r0, r1, r2, r3} 806c5aa: 682b ldr r3, [r5, #0] 806c5ac: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806c5ae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c5b2: 3301 adds r3, #1 806c5b4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c5b8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c5bc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c5c0: 429a cmp r2, r3 806c5c2: d391 bcc.n 806c4e8 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c5c4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c5c8: 3301 adds r3, #1 806c5ca: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c5ce: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c5d2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c5d6: 429a cmp r2, r3 806c5d8: f4ff af67 bcc.w 806c4aa } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c5dc: 4b6d ldr r3, [pc, #436] ; (806c794 ) 806c5de: f207 424c addw r2, r7, #1100 ; 0x44c 806c5e2: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c5e4: 4b6c ldr r3, [pc, #432] ; (806c798 ) 806c5e6: f507 6289 add.w r2, r7, #1096 ; 0x448 806c5ea: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c5ec: 2300 movs r3, #0 806c5ee: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c5f2: e049 b.n 806c688 { TrendData = TrendRAM_TEMP(i); 806c5f4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c5f8: 4613 mov r3, r2 806c5fa: 009b lsls r3, r3, #2 806c5fc: 4413 add r3, r2 806c5fe: 009b lsls r3, r3, #2 806c600: 461a mov r2, r3 806c602: 4b60 ldr r3, [pc, #384] ; (806c784 ) 806c604: 4413 add r3, r2 806c606: 461a mov r2, r3 806c608: 4b61 ldr r3, [pc, #388] ; (806c790 ) 806c60a: 461c mov r4, r3 806c60c: 4615 mov r5, r2 806c60e: cd0f ldmia r5!, {r0, r1, r2, r3} 806c610: c40f stmia r4!, {r0, r1, r2, r3} 806c612: 682b ldr r3, [r5, #0] 806c614: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806c616: 4b5e ldr r3, [pc, #376] ; (806c790 ) 806c618: ed93 7a02 vldr s14, [r3, #8] 806c61c: f207 434c addw r3, r7, #1100 ; 0x44c 806c620: edd3 7a00 vldr s15, [r3] 806c624: eeb4 7ae7 vcmpe.f32 s14, s15 806c628: eef1 fa10 vmrs APSR_nzcv, fpscr 806c62c: dd04 ble.n 806c638 806c62e: 4b58 ldr r3, [pc, #352] ; (806c790 ) 806c630: 689b ldr r3, [r3, #8] 806c632: f207 424c addw r2, r7, #1100 ; 0x44c 806c636: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806c638: 4b55 ldr r3, [pc, #340] ; (806c790 ) 806c63a: ed93 7a02 vldr s14, [r3, #8] 806c63e: f507 6389 add.w r3, r7, #1096 ; 0x448 806c642: edd3 7a00 vldr s15, [r3] 806c646: eeb4 7ae7 vcmpe.f32 s14, s15 806c64a: eef1 fa10 vmrs APSR_nzcv, fpscr 806c64e: d504 bpl.n 806c65a 806c650: 4b4f ldr r3, [pc, #316] ; (806c790 ) 806c652: 689b ldr r3, [r3, #8] 806c654: f507 6289 add.w r2, r7, #1096 ; 0x448 806c658: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806c65a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c65e: 009a lsls r2, r3, #2 806c660: 4b4e ldr r3, [pc, #312] ; (806c79c ) 806c662: 4413 add r3, r2 806c664: 461a mov r2, r3 806c666: 4b4a ldr r3, [pc, #296] ; (806c790 ) 806c668: 689b ldr r3, [r3, #8] 806c66a: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c66c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c670: 009a lsls r2, r3, #2 806c672: 4b44 ldr r3, [pc, #272] ; (806c784 ) 806c674: 4413 add r3, r2 806c676: 461a mov r2, r3 806c678: 4b45 ldr r3, [pc, #276] ; (806c790 ) 806c67a: 68db ldr r3, [r3, #12] 806c67c: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c67e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c682: 3301 adds r3, #1 806c684: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c688: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c68c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c690: 429a cmp r2, r3 806c692: d3af bcc.n 806c5f4 806c694: f000 bc36 b.w 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_pkpk) 806c698: 4b41 ldr r3, [pc, #260] ; (806c7a0 ) 806c69a: 781b ldrb r3, [r3, #0] 806c69c: b2db uxtb r3, r3 806c69e: 2b02 cmp r3, #2 806c6a0: f040 8161 bne.w 806c966 { if(pardata.LANG == RUS) 806c6a4: 4b3f ldr r3, [pc, #252] ; (806c7a4 ) 806c6a6: 7b1b ldrb r3, [r3, #12] 806c6a8: b2db uxtb r3, r3 806c6aa: 2b00 cmp r3, #0 806c6ac: d106 bne.n 806c6bc BSP_LCD_DisplayStringAt(8, 35, "S(ðàçìàõ),ìêì", LEFT_MODE); 806c6ae: 2303 movs r3, #3 806c6b0: 4a3d ldr r2, [pc, #244] ; (806c7a8 ) 806c6b2: 2123 movs r1, #35 ; 0x23 806c6b4: 2008 movs r0, #8 806c6b6: f7e7 f95b bl 8053970 806c6ba: e005 b.n 806c6c8 else BSP_LCD_DisplayStringAt(8, 35, "S(peak-peak),um", LEFT_MODE); 806c6bc: 2303 movs r3, #3 806c6be: 4a3b ldr r2, [pc, #236] ; (806c7ac ) 806c6c0: 2123 movs r1, #35 ; 0x23 806c6c2: 2008 movs r0, #8 806c6c4: f7e7 f954 bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c6c8: 2300 movs r3, #0 806c6ca: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c6ce: 2300 movs r3, #0 806c6d0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c6d4: e042 b.n 806c75c { TrendData = TrendRAM(i); 806c6d6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c6da: 4613 mov r3, r2 806c6dc: 009b lsls r3, r3, #2 806c6de: 4413 add r3, r2 806c6e0: 009b lsls r3, r3, #2 806c6e2: 461a mov r2, r3 806c6e4: 4b32 ldr r3, [pc, #200] ; (806c7b0 ) 806c6e6: 4413 add r3, r2 806c6e8: 461a mov r2, r3 806c6ea: 4b29 ldr r3, [pc, #164] ; (806c790 ) 806c6ec: 461c mov r4, r3 806c6ee: 4615 mov r5, r2 806c6f0: cd0f ldmia r5!, {r0, r1, r2, r3} 806c6f2: c40f stmia r4!, {r0, r1, r2, r3} 806c6f4: 682b ldr r3, [r5, #0] 806c6f6: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'R') && (TrendData.Sval.fl != -1.0f)) 806c6f8: 4b25 ldr r3, [pc, #148] ; (806c790 ) 806c6fa: 7c9b ldrb r3, [r3, #18] 806c6fc: b2db uxtb r3, r3 806c6fe: 2b52 cmp r3, #82 ; 0x52 806c700: d127 bne.n 806c752 806c702: 4b23 ldr r3, [pc, #140] ; (806c790 ) 806c704: edd3 7a02 vldr s15, [r3, #8] 806c708: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c70c: eef4 7a47 vcmp.f32 s15, s14 806c710: eef1 fa10 vmrs APSR_nzcv, fpscr 806c714: d01d beq.n 806c752 { TrendRAM_TEMP(l) = TrendRAM(i); 806c716: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c71a: 4613 mov r3, r2 806c71c: 009b lsls r3, r3, #2 806c71e: 4413 add r3, r2 806c720: 009b lsls r3, r3, #2 806c722: 461a mov r2, r3 806c724: 4b17 ldr r3, [pc, #92] ; (806c784 ) 806c726: 4413 add r3, r2 806c728: 4619 mov r1, r3 806c72a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c72e: 4613 mov r3, r2 806c730: 009b lsls r3, r3, #2 806c732: 4413 add r3, r2 806c734: 009b lsls r3, r3, #2 806c736: 461a mov r2, r3 806c738: 4b1d ldr r3, [pc, #116] ; (806c7b0 ) 806c73a: 4413 add r3, r2 806c73c: 460c mov r4, r1 806c73e: 461d mov r5, r3 806c740: cd0f ldmia r5!, {r0, r1, r2, r3} 806c742: c40f stmia r4!, {r0, r1, r2, r3} 806c744: 682b ldr r3, [r5, #0] 806c746: 6023 str r3, [r4, #0] l++; 806c748: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c74c: 3301 adds r3, #1 806c74e: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c752: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c756: 3301 adds r3, #1 806c758: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c75c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c760: 4b14 ldr r3, [pc, #80] ; (806c7b4 ) 806c762: 681b ldr r3, [r3, #0] 806c764: 429a cmp r2, r3 806c766: d3b6 bcc.n 806c6d6 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806c768: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c76c: 2b00 cmp r3, #0 806c76e: f000 83c9 beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c772: 2300 movs r3, #0 806c774: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c778: e091 b.n 806c89e { for(i = j; i < l; i++) 806c77a: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c77e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c782: e081 b.n 806c888 806c784: 64090000 .word 0x64090000 806c788: 20022314 .word 0x20022314 806c78c: 20022900 .word 0x20022900 806c790: 20021f88 .word 0x20021f88 806c794: d01502f9 .word 0xd01502f9 806c798: 501502f9 .word 0x501502f9 806c79c: 64080000 .word 0x64080000 806c7a0: 20020070 .word 0x20020070 806c7a4: 20023e60 .word 0x20023e60 806c7a8: 080cfa2c .word 0x080cfa2c 806c7ac: 080cfa3c .word 0x080cfa3c 806c7b0: 640a0000 .word 0x640a0000 806c7b4: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806c7b8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c7bc: 4613 mov r3, r2 806c7be: 009b lsls r3, r3, #2 806c7c0: 4413 add r3, r2 806c7c2: 009b lsls r3, r3, #2 806c7c4: 461a mov r2, r3 806c7c6: 4ba3 ldr r3, [pc, #652] ; (806ca54 ) 806c7c8: 4413 add r3, r2 806c7ca: 461a mov r2, r3 806c7cc: 4ba2 ldr r3, [pc, #648] ; (806ca58 ) 806c7ce: 461c mov r4, r3 806c7d0: 4615 mov r5, r2 806c7d2: cd0f ldmia r5!, {r0, r1, r2, r3} 806c7d4: c40f stmia r4!, {r0, r1, r2, r3} 806c7d6: 682b ldr r3, [r5, #0] 806c7d8: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806c7da: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c7de: 4613 mov r3, r2 806c7e0: 009b lsls r3, r3, #2 806c7e2: 4413 add r3, r2 806c7e4: 009b lsls r3, r3, #2 806c7e6: 461a mov r2, r3 806c7e8: 4b9a ldr r3, [pc, #616] ; (806ca54 ) 806c7ea: 4413 add r3, r2 806c7ec: 461a mov r2, r3 806c7ee: 4b9b ldr r3, [pc, #620] ; (806ca5c ) 806c7f0: 461c mov r4, r3 806c7f2: 4615 mov r5, r2 806c7f4: cd0f ldmia r5!, {r0, r1, r2, r3} 806c7f6: c40f stmia r4!, {r0, r1, r2, r3} 806c7f8: 682b ldr r3, [r5, #0] 806c7fa: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806c7fc: 4b96 ldr r3, [pc, #600] ; (806ca58 ) 806c7fe: 68da ldr r2, [r3, #12] 806c800: 4b96 ldr r3, [pc, #600] ; (806ca5c ) 806c802: 68db ldr r3, [r3, #12] 806c804: 429a cmp r2, r3 806c806: d23a bcs.n 806c87e { TrendData = TrendRAM_TEMP(j); 806c808: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c80c: 4613 mov r3, r2 806c80e: 009b lsls r3, r3, #2 806c810: 4413 add r3, r2 806c812: 009b lsls r3, r3, #2 806c814: 461a mov r2, r3 806c816: 4b8f ldr r3, [pc, #572] ; (806ca54 ) 806c818: 4413 add r3, r2 806c81a: 461a mov r2, r3 806c81c: 4b90 ldr r3, [pc, #576] ; (806ca60 ) 806c81e: 461c mov r4, r3 806c820: 4615 mov r5, r2 806c822: cd0f ldmia r5!, {r0, r1, r2, r3} 806c824: c40f stmia r4!, {r0, r1, r2, r3} 806c826: 682b ldr r3, [r5, #0] 806c828: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806c82a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c82e: 4613 mov r3, r2 806c830: 009b lsls r3, r3, #2 806c832: 4413 add r3, r2 806c834: 009b lsls r3, r3, #2 806c836: 461a mov r2, r3 806c838: 4b86 ldr r3, [pc, #536] ; (806ca54 ) 806c83a: 4413 add r3, r2 806c83c: 4619 mov r1, r3 806c83e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c842: 4613 mov r3, r2 806c844: 009b lsls r3, r3, #2 806c846: 4413 add r3, r2 806c848: 009b lsls r3, r3, #2 806c84a: 461a mov r2, r3 806c84c: 4b81 ldr r3, [pc, #516] ; (806ca54 ) 806c84e: 4413 add r3, r2 806c850: 460c mov r4, r1 806c852: 461d mov r5, r3 806c854: cd0f ldmia r5!, {r0, r1, r2, r3} 806c856: c40f stmia r4!, {r0, r1, r2, r3} 806c858: 682b ldr r3, [r5, #0] 806c85a: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806c85c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c860: 4613 mov r3, r2 806c862: 009b lsls r3, r3, #2 806c864: 4413 add r3, r2 806c866: 009b lsls r3, r3, #2 806c868: 461a mov r2, r3 806c86a: 4b7a ldr r3, [pc, #488] ; (806ca54 ) 806c86c: 4413 add r3, r2 806c86e: 461a mov r2, r3 806c870: 4b7b ldr r3, [pc, #492] ; (806ca60 ) 806c872: 4614 mov r4, r2 806c874: 461d mov r5, r3 806c876: cd0f ldmia r5!, {r0, r1, r2, r3} 806c878: c40f stmia r4!, {r0, r1, r2, r3} 806c87a: 682b ldr r3, [r5, #0] 806c87c: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806c87e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c882: 3301 adds r3, #1 806c884: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c888: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c88c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c890: 429a cmp r2, r3 806c892: d391 bcc.n 806c7b8 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806c894: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806c898: 3301 adds r3, #1 806c89a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806c89e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806c8a2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c8a6: 429a cmp r2, r3 806c8a8: f4ff af67 bcc.w 806c77a } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806c8ac: 4b6d ldr r3, [pc, #436] ; (806ca64 ) 806c8ae: f207 424c addw r2, r7, #1100 ; 0x44c 806c8b2: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806c8b4: 4b6c ldr r3, [pc, #432] ; (806ca68 ) 806c8b6: f507 6289 add.w r2, r7, #1096 ; 0x448 806c8ba: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c8bc: 2300 movs r3, #0 806c8be: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c8c2: e049 b.n 806c958 { TrendData = TrendRAM_TEMP(i); 806c8c4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c8c8: 4613 mov r3, r2 806c8ca: 009b lsls r3, r3, #2 806c8cc: 4413 add r3, r2 806c8ce: 009b lsls r3, r3, #2 806c8d0: 461a mov r2, r3 806c8d2: 4b60 ldr r3, [pc, #384] ; (806ca54 ) 806c8d4: 4413 add r3, r2 806c8d6: 461a mov r2, r3 806c8d8: 4b61 ldr r3, [pc, #388] ; (806ca60 ) 806c8da: 461c mov r4, r3 806c8dc: 4615 mov r5, r2 806c8de: cd0f ldmia r5!, {r0, r1, r2, r3} 806c8e0: c40f stmia r4!, {r0, r1, r2, r3} 806c8e2: 682b ldr r3, [r5, #0] 806c8e4: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806c8e6: 4b5e ldr r3, [pc, #376] ; (806ca60 ) 806c8e8: ed93 7a02 vldr s14, [r3, #8] 806c8ec: f207 434c addw r3, r7, #1100 ; 0x44c 806c8f0: edd3 7a00 vldr s15, [r3] 806c8f4: eeb4 7ae7 vcmpe.f32 s14, s15 806c8f8: eef1 fa10 vmrs APSR_nzcv, fpscr 806c8fc: dd04 ble.n 806c908 806c8fe: 4b58 ldr r3, [pc, #352] ; (806ca60 ) 806c900: 689b ldr r3, [r3, #8] 806c902: f207 424c addw r2, r7, #1100 ; 0x44c 806c906: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806c908: 4b55 ldr r3, [pc, #340] ; (806ca60 ) 806c90a: ed93 7a02 vldr s14, [r3, #8] 806c90e: f507 6389 add.w r3, r7, #1096 ; 0x448 806c912: edd3 7a00 vldr s15, [r3] 806c916: eeb4 7ae7 vcmpe.f32 s14, s15 806c91a: eef1 fa10 vmrs APSR_nzcv, fpscr 806c91e: d504 bpl.n 806c92a 806c920: 4b4f ldr r3, [pc, #316] ; (806ca60 ) 806c922: 689b ldr r3, [r3, #8] 806c924: f507 6289 add.w r2, r7, #1096 ; 0x448 806c928: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806c92a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c92e: 009a lsls r2, r3, #2 806c930: 4b4e ldr r3, [pc, #312] ; (806ca6c ) 806c932: 4413 add r3, r2 806c934: 461a mov r2, r3 806c936: 4b4a ldr r3, [pc, #296] ; (806ca60 ) 806c938: 689b ldr r3, [r3, #8] 806c93a: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806c93c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c940: 009a lsls r2, r3, #2 806c942: 4b44 ldr r3, [pc, #272] ; (806ca54 ) 806c944: 4413 add r3, r2 806c946: 461a mov r2, r3 806c948: 4b45 ldr r3, [pc, #276] ; (806ca60 ) 806c94a: 68db ldr r3, [r3, #12] 806c94c: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806c94e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806c952: 3301 adds r3, #1 806c954: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c958: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c95c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806c960: 429a cmp r2, r3 806c962: d3af bcc.n 806c8c4 806c964: e2ce b.n 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_factor) 806c966: 4b42 ldr r3, [pc, #264] ; (806ca70 ) 806c968: 781b ldrb r3, [r3, #0] 806c96a: b2db uxtb r3, r3 806c96c: 2b03 cmp r3, #3 806c96e: f040 8162 bne.w 806cc36 { if(pardata.LANG == RUS) 806c972: 4b40 ldr r3, [pc, #256] ; (806ca74 ) 806c974: 7b1b ldrb r3, [r3, #12] 806c976: b2db uxtb r3, r3 806c978: 2b00 cmp r3, #0 806c97a: d106 bne.n 806c98a BSP_LCD_DisplayStringAt(8, 35, "S(ïèê-ôàêòîð)", LEFT_MODE); 806c97c: 2303 movs r3, #3 806c97e: 4a3e ldr r2, [pc, #248] ; (806ca78 ) 806c980: 2123 movs r1, #35 ; 0x23 806c982: 2008 movs r0, #8 806c984: f7e6 fff4 bl 8053970 806c988: e005 b.n 806c996 else BSP_LCD_DisplayStringAt(8, 35, "S(peak-factor)", LEFT_MODE); 806c98a: 2303 movs r3, #3 806c98c: 4a3b ldr r2, [pc, #236] ; (806ca7c ) 806c98e: 2123 movs r1, #35 ; 0x23 806c990: 2008 movs r0, #8 806c992: f7e6 ffed bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806c996: 2300 movs r3, #0 806c998: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806c99c: 2300 movs r3, #0 806c99e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806c9a2: e042 b.n 806ca2a { TrendData = TrendRAM(i); 806c9a4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c9a8: 4613 mov r3, r2 806c9aa: 009b lsls r3, r3, #2 806c9ac: 4413 add r3, r2 806c9ae: 009b lsls r3, r3, #2 806c9b0: 461a mov r2, r3 806c9b2: 4b33 ldr r3, [pc, #204] ; (806ca80 ) 806c9b4: 4413 add r3, r2 806c9b6: 461a mov r2, r3 806c9b8: 4b29 ldr r3, [pc, #164] ; (806ca60 ) 806c9ba: 461c mov r4, r3 806c9bc: 4615 mov r5, r2 806c9be: cd0f ldmia r5!, {r0, r1, r2, r3} 806c9c0: c40f stmia r4!, {r0, r1, r2, r3} 806c9c2: 682b ldr r3, [r5, #0] 806c9c4: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'F') && (TrendData.Sval.fl != -1.0f)) 806c9c6: 4b26 ldr r3, [pc, #152] ; (806ca60 ) 806c9c8: 7c9b ldrb r3, [r3, #18] 806c9ca: b2db uxtb r3, r3 806c9cc: 2b46 cmp r3, #70 ; 0x46 806c9ce: d127 bne.n 806ca20 806c9d0: 4b23 ldr r3, [pc, #140] ; (806ca60 ) 806c9d2: edd3 7a02 vldr s15, [r3, #8] 806c9d6: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806c9da: eef4 7a47 vcmp.f32 s15, s14 806c9de: eef1 fa10 vmrs APSR_nzcv, fpscr 806c9e2: d01d beq.n 806ca20 { TrendRAM_TEMP(l) = TrendRAM(i); 806c9e4: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806c9e8: 4613 mov r3, r2 806c9ea: 009b lsls r3, r3, #2 806c9ec: 4413 add r3, r2 806c9ee: 009b lsls r3, r3, #2 806c9f0: 461a mov r2, r3 806c9f2: 4b18 ldr r3, [pc, #96] ; (806ca54 ) 806c9f4: 4413 add r3, r2 806c9f6: 4619 mov r1, r3 806c9f8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806c9fc: 4613 mov r3, r2 806c9fe: 009b lsls r3, r3, #2 806ca00: 4413 add r3, r2 806ca02: 009b lsls r3, r3, #2 806ca04: 461a mov r2, r3 806ca06: 4b1e ldr r3, [pc, #120] ; (806ca80 ) 806ca08: 4413 add r3, r2 806ca0a: 460c mov r4, r1 806ca0c: 461d mov r5, r3 806ca0e: cd0f ldmia r5!, {r0, r1, r2, r3} 806ca10: c40f stmia r4!, {r0, r1, r2, r3} 806ca12: 682b ldr r3, [r5, #0] 806ca14: 6023 str r3, [r4, #0] l++; 806ca16: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ca1a: 3301 adds r3, #1 806ca1c: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806ca20: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ca24: 3301 adds r3, #1 806ca26: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ca2a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ca2e: 4b15 ldr r3, [pc, #84] ; (806ca84 ) 806ca30: 681b ldr r3, [r3, #0] 806ca32: 429a cmp r2, r3 806ca34: d3b6 bcc.n 806c9a4 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806ca36: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ca3a: 2b00 cmp r3, #0 806ca3c: f000 8262 beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806ca40: 2300 movs r3, #0 806ca42: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ca46: e092 b.n 806cb6e { for(i = j; i < l; i++) 806ca48: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ca4c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ca50: e082 b.n 806cb58 806ca52: bf00 nop 806ca54: 64090000 .word 0x64090000 806ca58: 20022314 .word 0x20022314 806ca5c: 20022900 .word 0x20022900 806ca60: 20021f88 .word 0x20021f88 806ca64: d01502f9 .word 0xd01502f9 806ca68: 501502f9 .word 0x501502f9 806ca6c: 64080000 .word 0x64080000 806ca70: 20020070 .word 0x20020070 806ca74: 20023e60 .word 0x20023e60 806ca78: 080cfa4c .word 0x080cfa4c 806ca7c: 080cfa5c .word 0x080cfa5c 806ca80: 640a0000 .word 0x640a0000 806ca84: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806ca88: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ca8c: 4613 mov r3, r2 806ca8e: 009b lsls r3, r3, #2 806ca90: 4413 add r3, r2 806ca92: 009b lsls r3, r3, #2 806ca94: 461a mov r2, r3 806ca96: 4ba3 ldr r3, [pc, #652] ; (806cd24 ) 806ca98: 4413 add r3, r2 806ca9a: 461a mov r2, r3 806ca9c: 4ba2 ldr r3, [pc, #648] ; (806cd28 ) 806ca9e: 461c mov r4, r3 806caa0: 4615 mov r5, r2 806caa2: cd0f ldmia r5!, {r0, r1, r2, r3} 806caa4: c40f stmia r4!, {r0, r1, r2, r3} 806caa6: 682b ldr r3, [r5, #0] 806caa8: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806caaa: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806caae: 4613 mov r3, r2 806cab0: 009b lsls r3, r3, #2 806cab2: 4413 add r3, r2 806cab4: 009b lsls r3, r3, #2 806cab6: 461a mov r2, r3 806cab8: 4b9a ldr r3, [pc, #616] ; (806cd24 ) 806caba: 4413 add r3, r2 806cabc: 461a mov r2, r3 806cabe: 4b9b ldr r3, [pc, #620] ; (806cd2c ) 806cac0: 461c mov r4, r3 806cac2: 4615 mov r5, r2 806cac4: cd0f ldmia r5!, {r0, r1, r2, r3} 806cac6: c40f stmia r4!, {r0, r1, r2, r3} 806cac8: 682b ldr r3, [r5, #0] 806caca: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806cacc: 4b96 ldr r3, [pc, #600] ; (806cd28 ) 806cace: 68da ldr r2, [r3, #12] 806cad0: 4b96 ldr r3, [pc, #600] ; (806cd2c ) 806cad2: 68db ldr r3, [r3, #12] 806cad4: 429a cmp r2, r3 806cad6: d23a bcs.n 806cb4e { TrendData = TrendRAM_TEMP(j); 806cad8: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cadc: 4613 mov r3, r2 806cade: 009b lsls r3, r3, #2 806cae0: 4413 add r3, r2 806cae2: 009b lsls r3, r3, #2 806cae4: 461a mov r2, r3 806cae6: 4b8f ldr r3, [pc, #572] ; (806cd24 ) 806cae8: 4413 add r3, r2 806caea: 461a mov r2, r3 806caec: 4b90 ldr r3, [pc, #576] ; (806cd30 ) 806caee: 461c mov r4, r3 806caf0: 4615 mov r5, r2 806caf2: cd0f ldmia r5!, {r0, r1, r2, r3} 806caf4: c40f stmia r4!, {r0, r1, r2, r3} 806caf6: 682b ldr r3, [r5, #0] 806caf8: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806cafa: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cafe: 4613 mov r3, r2 806cb00: 009b lsls r3, r3, #2 806cb02: 4413 add r3, r2 806cb04: 009b lsls r3, r3, #2 806cb06: 461a mov r2, r3 806cb08: 4b86 ldr r3, [pc, #536] ; (806cd24 ) 806cb0a: 4413 add r3, r2 806cb0c: 4619 mov r1, r3 806cb0e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cb12: 4613 mov r3, r2 806cb14: 009b lsls r3, r3, #2 806cb16: 4413 add r3, r2 806cb18: 009b lsls r3, r3, #2 806cb1a: 461a mov r2, r3 806cb1c: 4b81 ldr r3, [pc, #516] ; (806cd24 ) 806cb1e: 4413 add r3, r2 806cb20: 460c mov r4, r1 806cb22: 461d mov r5, r3 806cb24: cd0f ldmia r5!, {r0, r1, r2, r3} 806cb26: c40f stmia r4!, {r0, r1, r2, r3} 806cb28: 682b ldr r3, [r5, #0] 806cb2a: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806cb2c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cb30: 4613 mov r3, r2 806cb32: 009b lsls r3, r3, #2 806cb34: 4413 add r3, r2 806cb36: 009b lsls r3, r3, #2 806cb38: 461a mov r2, r3 806cb3a: 4b7a ldr r3, [pc, #488] ; (806cd24 ) 806cb3c: 4413 add r3, r2 806cb3e: 461a mov r2, r3 806cb40: 4b7b ldr r3, [pc, #492] ; (806cd30 ) 806cb42: 4614 mov r4, r2 806cb44: 461d mov r5, r3 806cb46: cd0f ldmia r5!, {r0, r1, r2, r3} 806cb48: c40f stmia r4!, {r0, r1, r2, r3} 806cb4a: 682b ldr r3, [r5, #0] 806cb4c: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806cb4e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cb52: 3301 adds r3, #1 806cb54: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cb58: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cb5c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cb60: 429a cmp r2, r3 806cb62: d391 bcc.n 806ca88 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806cb64: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806cb68: 3301 adds r3, #1 806cb6a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806cb6e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cb72: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cb76: 429a cmp r2, r3 806cb78: f4ff af66 bcc.w 806ca48 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806cb7c: 4b6d ldr r3, [pc, #436] ; (806cd34 ) 806cb7e: f207 424c addw r2, r7, #1100 ; 0x44c 806cb82: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806cb84: 4b6c ldr r3, [pc, #432] ; (806cd38 ) 806cb86: f507 6289 add.w r2, r7, #1096 ; 0x448 806cb8a: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806cb8c: 2300 movs r3, #0 806cb8e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cb92: e049 b.n 806cc28 { TrendData = TrendRAM_TEMP(i); 806cb94: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cb98: 4613 mov r3, r2 806cb9a: 009b lsls r3, r3, #2 806cb9c: 4413 add r3, r2 806cb9e: 009b lsls r3, r3, #2 806cba0: 461a mov r2, r3 806cba2: 4b60 ldr r3, [pc, #384] ; (806cd24 ) 806cba4: 4413 add r3, r2 806cba6: 461a mov r2, r3 806cba8: 4b61 ldr r3, [pc, #388] ; (806cd30 ) 806cbaa: 461c mov r4, r3 806cbac: 4615 mov r5, r2 806cbae: cd0f ldmia r5!, {r0, r1, r2, r3} 806cbb0: c40f stmia r4!, {r0, r1, r2, r3} 806cbb2: 682b ldr r3, [r5, #0] 806cbb4: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806cbb6: 4b5e ldr r3, [pc, #376] ; (806cd30 ) 806cbb8: ed93 7a02 vldr s14, [r3, #8] 806cbbc: f207 434c addw r3, r7, #1100 ; 0x44c 806cbc0: edd3 7a00 vldr s15, [r3] 806cbc4: eeb4 7ae7 vcmpe.f32 s14, s15 806cbc8: eef1 fa10 vmrs APSR_nzcv, fpscr 806cbcc: dd04 ble.n 806cbd8 806cbce: 4b58 ldr r3, [pc, #352] ; (806cd30 ) 806cbd0: 689b ldr r3, [r3, #8] 806cbd2: f207 424c addw r2, r7, #1100 ; 0x44c 806cbd6: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806cbd8: 4b55 ldr r3, [pc, #340] ; (806cd30 ) 806cbda: ed93 7a02 vldr s14, [r3, #8] 806cbde: f507 6389 add.w r3, r7, #1096 ; 0x448 806cbe2: edd3 7a00 vldr s15, [r3] 806cbe6: eeb4 7ae7 vcmpe.f32 s14, s15 806cbea: eef1 fa10 vmrs APSR_nzcv, fpscr 806cbee: d504 bpl.n 806cbfa 806cbf0: 4b4f ldr r3, [pc, #316] ; (806cd30 ) 806cbf2: 689b ldr r3, [r3, #8] 806cbf4: f507 6289 add.w r2, r7, #1096 ; 0x448 806cbf8: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806cbfa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cbfe: 009a lsls r2, r3, #2 806cc00: 4b4e ldr r3, [pc, #312] ; (806cd3c ) 806cc02: 4413 add r3, r2 806cc04: 461a mov r2, r3 806cc06: 4b4a ldr r3, [pc, #296] ; (806cd30 ) 806cc08: 689b ldr r3, [r3, #8] 806cc0a: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806cc0c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cc10: 009a lsls r2, r3, #2 806cc12: 4b44 ldr r3, [pc, #272] ; (806cd24 ) 806cc14: 4413 add r3, r2 806cc16: 461a mov r2, r3 806cc18: 4b45 ldr r3, [pc, #276] ; (806cd30 ) 806cc1a: 68db ldr r3, [r3, #12] 806cc1c: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806cc1e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cc22: 3301 adds r3, #1 806cc24: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cc28: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cc2c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cc30: 429a cmp r2, r3 806cc32: d3af bcc.n 806cb94 806cc34: e166 b.n 806cf04 } } // end if(l) òå åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì } else if(menupos == Trend_excess) 806cc36: 4b42 ldr r3, [pc, #264] ; (806cd40 ) 806cc38: 781b ldrb r3, [r3, #0] 806cc3a: b2db uxtb r3, r3 806cc3c: 2b04 cmp r3, #4 806cc3e: f040 8161 bne.w 806cf04 { if(pardata.LANG == RUS) 806cc42: 4b40 ldr r3, [pc, #256] ; (806cd44 ) 806cc44: 7b1b ldrb r3, [r3, #12] 806cc46: b2db uxtb r3, r3 806cc48: 2b00 cmp r3, #0 806cc4a: d106 bne.n 806cc5a BSP_LCD_DisplayStringAt(8, 35, "S(ýêñöåññ)", LEFT_MODE); 806cc4c: 2303 movs r3, #3 806cc4e: 4a3e ldr r2, [pc, #248] ; (806cd48 ) 806cc50: 2123 movs r1, #35 ; 0x23 806cc52: 2008 movs r0, #8 806cc54: f7e6 fe8c bl 8053970 806cc58: e005 b.n 806cc66 else BSP_LCD_DisplayStringAt(8, 35, "S(excess)", LEFT_MODE); 806cc5a: 2303 movs r3, #3 806cc5c: 4a3b ldr r2, [pc, #236] ; (806cd4c ) 806cc5e: 2123 movs r1, #35 ; 0x23 806cc60: 2008 movs r0, #8 806cc62: f7e6 fe85 bl 8053970 // Ñ÷èòàåì êîë-âî èçìåðåíèé ñ òàêèì äåòåêòîðîì è ïåðåíîñèì â TrendRAM_TEMP() l = 0; 806cc66: 2300 movs r3, #0 806cc68: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806cc6c: 2300 movs r3, #0 806cc6e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cc72: e042 b.n 806ccfa { TrendData = TrendRAM(i); 806cc74: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cc78: 4613 mov r3, r2 806cc7a: 009b lsls r3, r3, #2 806cc7c: 4413 add r3, r2 806cc7e: 009b lsls r3, r3, #2 806cc80: 461a mov r2, r3 806cc82: 4b33 ldr r3, [pc, #204] ; (806cd50 ) 806cc84: 4413 add r3, r2 806cc86: 461a mov r2, r3 806cc88: 4b29 ldr r3, [pc, #164] ; (806cd30 ) 806cc8a: 461c mov r4, r3 806cc8c: 4615 mov r5, r2 806cc8e: cd0f ldmia r5!, {r0, r1, r2, r3} 806cc90: c40f stmia r4!, {r0, r1, r2, r3} 806cc92: 682b ldr r3, [r5, #0] 806cc94: 6023 str r3, [r4, #0] if((TrendData.Sivs == 'E') && (TrendData.Sval.fl != -1.0f)) 806cc96: 4b26 ldr r3, [pc, #152] ; (806cd30 ) 806cc98: 7c9b ldrb r3, [r3, #18] 806cc9a: b2db uxtb r3, r3 806cc9c: 2b45 cmp r3, #69 ; 0x45 806cc9e: d127 bne.n 806ccf0 806cca0: 4b23 ldr r3, [pc, #140] ; (806cd30 ) 806cca2: edd3 7a02 vldr s15, [r3, #8] 806cca6: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 806ccaa: eef4 7a47 vcmp.f32 s15, s14 806ccae: eef1 fa10 vmrs APSR_nzcv, fpscr 806ccb2: d01d beq.n 806ccf0 { TrendRAM_TEMP(l) = TrendRAM(i); 806ccb4: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 806ccb8: 4613 mov r3, r2 806ccba: 009b lsls r3, r3, #2 806ccbc: 4413 add r3, r2 806ccbe: 009b lsls r3, r3, #2 806ccc0: 461a mov r2, r3 806ccc2: 4b18 ldr r3, [pc, #96] ; (806cd24 ) 806ccc4: 4413 add r3, r2 806ccc6: 4619 mov r1, r3 806ccc8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cccc: 4613 mov r3, r2 806ccce: 009b lsls r3, r3, #2 806ccd0: 4413 add r3, r2 806ccd2: 009b lsls r3, r3, #2 806ccd4: 461a mov r2, r3 806ccd6: 4b1e ldr r3, [pc, #120] ; (806cd50 ) 806ccd8: 4413 add r3, r2 806ccda: 460c mov r4, r1 806ccdc: 461d mov r5, r3 806ccde: cd0f ldmia r5!, {r0, r1, r2, r3} 806cce0: c40f stmia r4!, {r0, r1, r2, r3} 806cce2: 682b ldr r3, [r5, #0] 806cce4: 6023 str r3, [r4, #0] l++; 806cce6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ccea: 3301 adds r3, #1 806ccec: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 for(i = 0; i < NumTrendMeas; i++) 806ccf0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ccf4: 3301 adds r3, #1 806ccf6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ccfa: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ccfe: 4b15 ldr r3, [pc, #84] ; (806cd54 ) 806cd00: 681b ldr r3, [r3, #0] 806cd02: 429a cmp r2, r3 806cd04: d3b6 bcc.n 806cc74 } } /////////////////////////////////////////////////////////////////////////// if(l) // Åñëè èìåþòñÿ çàïèñè ñ òàêèì äåòåêòîðîì 806cd06: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cd0a: 2b00 cmp r3, #0 806cd0c: f000 80fa beq.w 806cf04 { for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806cd10: 2300 movs r3, #0 806cd12: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806cd16: e092 b.n 806ce3e { for(i = j; i < l; i++) 806cd18: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806cd1c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cd20: e082 b.n 806ce28 806cd22: bf00 nop 806cd24: 64090000 .word 0x64090000 806cd28: 20022314 .word 0x20022314 806cd2c: 20022900 .word 0x20022900 806cd30: 20021f88 .word 0x20021f88 806cd34: d01502f9 .word 0xd01502f9 806cd38: 501502f9 .word 0x501502f9 806cd3c: 64080000 .word 0x64080000 806cd40: 20020070 .word 0x20020070 806cd44: 20023e60 .word 0x20023e60 806cd48: 080cfa6c .word 0x080cfa6c 806cd4c: 080cfa78 .word 0x080cfa78 806cd50: 640a0000 .word 0x640a0000 806cd54: 20020e10 .word 0x20020e10 { TrendData1 = TrendRAM_TEMP(i); 806cd58: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cd5c: 4613 mov r3, r2 806cd5e: 009b lsls r3, r3, #2 806cd60: 4413 add r3, r2 806cd62: 009b lsls r3, r3, #2 806cd64: 461a mov r2, r3 806cd66: 4bb4 ldr r3, [pc, #720] ; (806d038 ) 806cd68: 4413 add r3, r2 806cd6a: 461a mov r2, r3 806cd6c: 4bb3 ldr r3, [pc, #716] ; (806d03c ) 806cd6e: 461c mov r4, r3 806cd70: 4615 mov r5, r2 806cd72: cd0f ldmia r5!, {r0, r1, r2, r3} 806cd74: c40f stmia r4!, {r0, r1, r2, r3} 806cd76: 682b ldr r3, [r5, #0] 806cd78: 6023 str r3, [r4, #0] TrendData2 = TrendRAM_TEMP(j); 806cd7a: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cd7e: 4613 mov r3, r2 806cd80: 009b lsls r3, r3, #2 806cd82: 4413 add r3, r2 806cd84: 009b lsls r3, r3, #2 806cd86: 461a mov r2, r3 806cd88: 4bab ldr r3, [pc, #684] ; (806d038 ) 806cd8a: 4413 add r3, r2 806cd8c: 461a mov r2, r3 806cd8e: 4bac ldr r3, [pc, #688] ; (806d040 ) 806cd90: 461c mov r4, r3 806cd92: 4615 mov r5, r2 806cd94: cd0f ldmia r5!, {r0, r1, r2, r3} 806cd96: c40f stmia r4!, {r0, r1, r2, r3} 806cd98: 682b ldr r3, [r5, #0] 806cd9a: 6023 str r3, [r4, #0] if(TrendData1.DateTime < TrendData2.DateTime) 806cd9c: 4ba7 ldr r3, [pc, #668] ; (806d03c ) 806cd9e: 68da ldr r2, [r3, #12] 806cda0: 4ba7 ldr r3, [pc, #668] ; (806d040 ) 806cda2: 68db ldr r3, [r3, #12] 806cda4: 429a cmp r2, r3 806cda6: d23a bcs.n 806ce1e { TrendData = TrendRAM_TEMP(j); 806cda8: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cdac: 4613 mov r3, r2 806cdae: 009b lsls r3, r3, #2 806cdb0: 4413 add r3, r2 806cdb2: 009b lsls r3, r3, #2 806cdb4: 461a mov r2, r3 806cdb6: 4ba0 ldr r3, [pc, #640] ; (806d038 ) 806cdb8: 4413 add r3, r2 806cdba: 461a mov r2, r3 806cdbc: 4ba1 ldr r3, [pc, #644] ; (806d044 ) 806cdbe: 461c mov r4, r3 806cdc0: 4615 mov r5, r2 806cdc2: cd0f ldmia r5!, {r0, r1, r2, r3} 806cdc4: c40f stmia r4!, {r0, r1, r2, r3} 806cdc6: 682b ldr r3, [r5, #0] 806cdc8: 6023 str r3, [r4, #0] TrendRAM_TEMP(j) = TrendRAM_TEMP(i); 806cdca: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806cdce: 4613 mov r3, r2 806cdd0: 009b lsls r3, r3, #2 806cdd2: 4413 add r3, r2 806cdd4: 009b lsls r3, r3, #2 806cdd6: 461a mov r2, r3 806cdd8: 4b97 ldr r3, [pc, #604] ; (806d038 ) 806cdda: 4413 add r3, r2 806cddc: 4619 mov r1, r3 806cdde: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cde2: 4613 mov r3, r2 806cde4: 009b lsls r3, r3, #2 806cde6: 4413 add r3, r2 806cde8: 009b lsls r3, r3, #2 806cdea: 461a mov r2, r3 806cdec: 4b92 ldr r3, [pc, #584] ; (806d038 ) 806cdee: 4413 add r3, r2 806cdf0: 460c mov r4, r1 806cdf2: 461d mov r5, r3 806cdf4: cd0f ldmia r5!, {r0, r1, r2, r3} 806cdf6: c40f stmia r4!, {r0, r1, r2, r3} 806cdf8: 682b ldr r3, [r5, #0] 806cdfa: 6023 str r3, [r4, #0] TrendRAM_TEMP(i) = TrendData; 806cdfc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ce00: 4613 mov r3, r2 806ce02: 009b lsls r3, r3, #2 806ce04: 4413 add r3, r2 806ce06: 009b lsls r3, r3, #2 806ce08: 461a mov r2, r3 806ce0a: 4b8b ldr r3, [pc, #556] ; (806d038 ) 806ce0c: 4413 add r3, r2 806ce0e: 461a mov r2, r3 806ce10: 4b8c ldr r3, [pc, #560] ; (806d044 ) 806ce12: 4614 mov r4, r2 806ce14: 461d mov r5, r3 806ce16: cd0f ldmia r5!, {r0, r1, r2, r3} 806ce18: c40f stmia r4!, {r0, r1, r2, r3} 806ce1a: 682b ldr r3, [r5, #0] 806ce1c: 6023 str r3, [r4, #0] for(i = j; i < l; i++) 806ce1e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806ce22: 3301 adds r3, #1 806ce24: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ce28: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ce2c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ce30: 429a cmp r2, r3 806ce32: d391 bcc.n 806cd58 for(j = 0; j < l; j++) // Ðàñêëàäûâàåì ïî âîçðàñòàíèþ äàòû 806ce34: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 806ce38: 3301 adds r3, #1 806ce3a: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 806ce3e: f8d7 23fc ldr.w r2, [r7, #1020] ; 0x3fc 806ce42: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ce46: 429a cmp r2, r3 806ce48: f4ff af66 bcc.w 806cd18 } } } // Èùåì ìàêñèìóì è ìèíèìóì ïî îñè Y fmax = -10000000000.0f; 806ce4c: 4b7e ldr r3, [pc, #504] ; (806d048 ) 806ce4e: f207 424c addw r2, r7, #1100 ; 0x44c 806ce52: 6013 str r3, [r2, #0] fmin = 10000000000.0f; 806ce54: 4b7d ldr r3, [pc, #500] ; (806d04c ) 806ce56: f507 6289 add.w r2, r7, #1096 ; 0x448 806ce5a: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806ce5c: 2300 movs r3, #0 806ce5e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806ce62: e049 b.n 806cef8 { TrendData = TrendRAM_TEMP(i); 806ce64: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806ce68: 4613 mov r3, r2 806ce6a: 009b lsls r3, r3, #2 806ce6c: 4413 add r3, r2 806ce6e: 009b lsls r3, r3, #2 806ce70: 461a mov r2, r3 806ce72: 4b71 ldr r3, [pc, #452] ; (806d038 ) 806ce74: 4413 add r3, r2 806ce76: 461a mov r2, r3 806ce78: 4b72 ldr r3, [pc, #456] ; (806d044 ) 806ce7a: 461c mov r4, r3 806ce7c: 4615 mov r5, r2 806ce7e: cd0f ldmia r5!, {r0, r1, r2, r3} 806ce80: c40f stmia r4!, {r0, r1, r2, r3} 806ce82: 682b ldr r3, [r5, #0] 806ce84: 6023 str r3, [r4, #0] if(TrendData.Sval.fl > fmax) fmax = TrendData.Sval.fl; 806ce86: 4b6f ldr r3, [pc, #444] ; (806d044 ) 806ce88: ed93 7a02 vldr s14, [r3, #8] 806ce8c: f207 434c addw r3, r7, #1100 ; 0x44c 806ce90: edd3 7a00 vldr s15, [r3] 806ce94: eeb4 7ae7 vcmpe.f32 s14, s15 806ce98: eef1 fa10 vmrs APSR_nzcv, fpscr 806ce9c: dd04 ble.n 806cea8 806ce9e: 4b69 ldr r3, [pc, #420] ; (806d044 ) 806cea0: 689b ldr r3, [r3, #8] 806cea2: f207 424c addw r2, r7, #1100 ; 0x44c 806cea6: 6013 str r3, [r2, #0] if(TrendData.Sval.fl < fmin) fmin = TrendData.Sval.fl; 806cea8: 4b66 ldr r3, [pc, #408] ; (806d044 ) 806ceaa: ed93 7a02 vldr s14, [r3, #8] 806ceae: f507 6389 add.w r3, r7, #1096 ; 0x448 806ceb2: edd3 7a00 vldr s15, [r3] 806ceb6: eeb4 7ae7 vcmpe.f32 s14, s15 806ceba: eef1 fa10 vmrs APSR_nzcv, fpscr 806cebe: d504 bpl.n 806ceca 806cec0: 4b60 ldr r3, [pc, #384] ; (806d044 ) 806cec2: 689b ldr r3, [r3, #8] 806cec4: f507 6289 add.w r2, r7, #1096 ; 0x448 806cec8: 6013 str r3, [r2, #0] ScrA_f32(i) = TrendData.Sval.fl; 806ceca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cece: 009a lsls r2, r3, #2 806ced0: 4b5f ldr r3, [pc, #380] ; (806d050 ) 806ced2: 4413 add r3, r2 806ced4: 461a mov r2, r3 806ced6: 4b5b ldr r3, [pc, #364] ; (806d044 ) 806ced8: 689b ldr r3, [r3, #8] 806ceda: 6013 str r3, [r2, #0] CmplxA_u32(i) = TrendData.DateTime; 806cedc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cee0: 009a lsls r2, r3, #2 806cee2: 4b55 ldr r3, [pc, #340] ; (806d038 ) 806cee4: 4413 add r3, r2 806cee6: 461a mov r2, r3 806cee8: 4b56 ldr r3, [pc, #344] ; (806d044 ) 806ceea: 68db ldr r3, [r3, #12] 806ceec: 6013 str r3, [r2, #0] for(i = 0; i < l; i++) 806ceee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806cef2: 3301 adds r3, #1 806cef4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806cef8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806cefc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cf00: 429a cmp r2, r3 806cf02: d3af bcc.n 806ce64 } //////////////////////////////////////////////////////////////////////// /////////////////////////// ÐÈÑÓÅÌ ÒÐÅÍÄ /////////////////////////////// if(menupos == Trend_excess) 806cf04: 4b53 ldr r3, [pc, #332] ; (806d054 ) 806cf06: 781b ldrb r3, [r3, #0] 806cf08: b2db uxtb r3, r3 806cf0a: 2b04 cmp r3, #4 806cf0c: f041 83ba bne.w 806e684 { if(l) 806cf10: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806cf14: 2b00 cmp r3, #0 806cf16: f02a 835e beq.w 80975d6 { y0 = 217; 806cf1a: 23d9 movs r3, #217 ; 0xd9 806cf1c: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = 192; 806cf20: 23c0 movs r3, #192 ; 0xc0 806cf22: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a y2 = 167; 806cf26: 23a7 movs r3, #167 ; 0xa7 806cf28: f8a7 3438 strh.w r3, [r7, #1080] ; 0x438 y3 = 142; 806cf2c: 238e movs r3, #142 ; 0x8e 806cf2e: f8a7 3436 strh.w r3, [r7, #1078] ; 0x436 y4 = 117; 806cf32: 2375 movs r3, #117 ; 0x75 806cf34: f8a7 3434 strh.w r3, [r7, #1076] ; 0x434 y5 = 92; 806cf38: 235c movs r3, #92 ; 0x5c 806cf3a: f8a7 3432 strh.w r3, [r7, #1074] ; 0x432 y6 = 67; 806cf3e: 2343 movs r3, #67 ; 0x43 806cf40: f8a7 3430 strh.w r3, [r7, #1072] ; 0x430 BSP_LCD_SetFont(&Font8); 806cf44: 4844 ldr r0, [pc, #272] ; (806d058 ) 806cf46: f7e6 fc89 bl 805385c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806cf4a: 4944 ldr r1, [pc, #272] ; (806d05c ) 806cf4c: 4844 ldr r0, [pc, #272] ; (806d060 ) 806cf4e: f7e6 fc49 bl 80537e4 if(fmax <= 15.0f) 806cf52: f207 434c addw r3, r7, #1100 ; 0x44c 806cf56: edd3 7a00 vldr s15, [r3] 806cf5a: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 806cf5e: eef4 7ac7 vcmpe.f32 s15, s14 806cf62: eef1 fa10 vmrs APSR_nzcv, fpscr 806cf66: d82d bhi.n 806cfc4 { BSP_LCD_DisplayStringAt(59, y5 - 2, "15", RIGHT_MODE); 806cf68: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806cf6c: 3b02 subs r3, #2 806cf6e: b299 uxth r1, r3 806cf70: 2302 movs r3, #2 806cf72: 4a3c ldr r2, [pc, #240] ; (806d064 ) 806cf74: 203b movs r0, #59 ; 0x3b 806cf76: f7e6 fcfb bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "10", RIGHT_MODE); 806cf7a: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806cf7e: 3b02 subs r3, #2 806cf80: b299 uxth r1, r3 806cf82: 2302 movs r3, #2 806cf84: 4a38 ldr r2, [pc, #224] ; (806d068 ) 806cf86: 203b movs r0, #59 ; 0x3b 806cf88: f7e6 fcf2 bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "5", RIGHT_MODE); 806cf8c: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806cf90: 3b02 subs r3, #2 806cf92: b299 uxth r1, r3 806cf94: 2302 movs r3, #2 806cf96: 4a35 ldr r2, [pc, #212] ; (806d06c ) 806cf98: 203b movs r0, #59 ; 0x3b 806cf9a: f7e6 fce9 bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806cf9e: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806cfa2: 3b02 subs r3, #2 806cfa4: b299 uxth r1, r3 806cfa6: 2302 movs r3, #2 806cfa8: 4a31 ldr r2, [pc, #196] ; (806d070 ) 806cfaa: 203b movs r0, #59 ; 0x3b 806cfac: f7e6 fce0 bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806cfb0: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806cfb4: 3b02 subs r3, #2 806cfb6: b299 uxth r1, r3 806cfb8: 2302 movs r3, #2 806cfba: 4a2e ldr r2, [pc, #184] ; (806d074 ) 806cfbc: 203b movs r0, #59 ; 0x3b 806cfbe: f7e6 fcd7 bl 8053970 806cfc2: e0d2 b.n 806d16a } else if(fmax <= 100.0f) 806cfc4: f207 434c addw r3, r7, #1100 ; 0x44c 806cfc8: edd3 7a00 vldr s15, [r3] 806cfcc: ed9f 7a2a vldr s14, [pc, #168] ; 806d078 806cfd0: eef4 7ac7 vcmpe.f32 s15, s14 806cfd4: eef1 fa10 vmrs APSR_nzcv, fpscr 806cfd8: d856 bhi.n 806d088 { BSP_LCD_DisplayStringAt(59, y5 - 2, "100", RIGHT_MODE); 806cfda: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806cfde: 3b02 subs r3, #2 806cfe0: b299 uxth r1, r3 806cfe2: 2302 movs r3, #2 806cfe4: 4a25 ldr r2, [pc, #148] ; (806d07c ) 806cfe6: 203b movs r0, #59 ; 0x3b 806cfe8: f7e6 fcc2 bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "50", RIGHT_MODE); 806cfec: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806cff0: 3b02 subs r3, #2 806cff2: b299 uxth r1, r3 806cff4: 2302 movs r3, #2 806cff6: 4a22 ldr r2, [pc, #136] ; (806d080 ) 806cff8: 203b movs r0, #59 ; 0x3b 806cffa: f7e6 fcb9 bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "10", RIGHT_MODE); 806cffe: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806d002: 3b02 subs r3, #2 806d004: b299 uxth r1, r3 806d006: 2302 movs r3, #2 806d008: 4a17 ldr r2, [pc, #92] ; (806d068 ) 806d00a: 203b movs r0, #59 ; 0x3b 806d00c: f7e6 fcb0 bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806d010: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806d014: 3b02 subs r3, #2 806d016: b299 uxth r1, r3 806d018: 2302 movs r3, #2 806d01a: 4a15 ldr r2, [pc, #84] ; (806d070 ) 806d01c: 203b movs r0, #59 ; 0x3b 806d01e: f7e6 fca7 bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806d022: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806d026: 3b02 subs r3, #2 806d028: b299 uxth r1, r3 806d02a: 2302 movs r3, #2 806d02c: 4a11 ldr r2, [pc, #68] ; (806d074 ) 806d02e: 203b movs r0, #59 ; 0x3b 806d030: f7e6 fc9e bl 8053970 806d034: e099 b.n 806d16a 806d036: bf00 nop 806d038: 64090000 .word 0x64090000 806d03c: 20022314 .word 0x20022314 806d040: 20022900 .word 0x20022900 806d044: 20021f88 .word 0x20021f88 806d048: d01502f9 .word 0xd01502f9 806d04c: 501502f9 .word 0x501502f9 806d050: 64080000 .word 0x64080000 806d054: 20020070 .word 0x20020070 806d058: 20020060 .word 0x20020060 806d05c: ff0a0f1f .word 0xff0a0f1f 806d060: ffd3d3d3 .word 0xffd3d3d3 806d064: 080cfa84 .word 0x080cfa84 806d068: 080cfa88 .word 0x080cfa88 806d06c: 080cf7f0 .word 0x080cf7f0 806d070: 080cf7e8 .word 0x080cf7e8 806d074: 080cfa8c .word 0x080cfa8c 806d078: 42c80000 .word 0x42c80000 806d07c: 080cfa90 .word 0x080cfa90 806d080: 080cfa94 .word 0x080cfa94 806d084: 447a0000 .word 0x447a0000 } else if(fmax <= 1000.0f) 806d088: f207 434c addw r3, r7, #1100 ; 0x44c 806d08c: edd3 7a00 vldr s15, [r3] 806d090: ed1f 7a04 vldr s14, [pc, #-16] ; 806d084 806d094: eef4 7ac7 vcmpe.f32 s15, s14 806d098: eef1 fa10 vmrs APSR_nzcv, fpscr 806d09c: d82d bhi.n 806d0fa { BSP_LCD_DisplayStringAt(59, y5 - 2, "1000", RIGHT_MODE); 806d09e: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806d0a2: 3b02 subs r3, #2 806d0a4: b299 uxth r1, r3 806d0a6: 2302 movs r3, #2 806d0a8: 4ab7 ldr r2, [pc, #732] ; (806d388 ) 806d0aa: 203b movs r0, #59 ; 0x3b 806d0ac: f7e6 fc60 bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "500", RIGHT_MODE); 806d0b0: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806d0b4: 3b02 subs r3, #2 806d0b6: b299 uxth r1, r3 806d0b8: 2302 movs r3, #2 806d0ba: 4ab4 ldr r2, [pc, #720] ; (806d38c ) 806d0bc: 203b movs r0, #59 ; 0x3b 806d0be: f7e6 fc57 bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 806d0c2: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806d0c6: 3b02 subs r3, #2 806d0c8: b299 uxth r1, r3 806d0ca: 2302 movs r3, #2 806d0cc: 4ab0 ldr r2, [pc, #704] ; (806d390 ) 806d0ce: 203b movs r0, #59 ; 0x3b 806d0d0: f7e6 fc4e bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806d0d4: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806d0d8: 3b02 subs r3, #2 806d0da: b299 uxth r1, r3 806d0dc: 2302 movs r3, #2 806d0de: 4aad ldr r2, [pc, #692] ; (806d394 ) 806d0e0: 203b movs r0, #59 ; 0x3b 806d0e2: f7e6 fc45 bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806d0e6: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806d0ea: 3b02 subs r3, #2 806d0ec: b299 uxth r1, r3 806d0ee: 2302 movs r3, #2 806d0f0: 4aa9 ldr r2, [pc, #676] ; (806d398 ) 806d0f2: 203b movs r0, #59 ; 0x3b 806d0f4: f7e6 fc3c bl 8053970 806d0f8: e037 b.n 806d16a } else if(fmax <= 10000.0f) 806d0fa: f207 434c addw r3, r7, #1100 ; 0x44c 806d0fe: edd3 7a00 vldr s15, [r3] 806d102: ed9f 7aa6 vldr s14, [pc, #664] ; 806d39c 806d106: eef4 7ac7 vcmpe.f32 s15, s14 806d10a: eef1 fa10 vmrs APSR_nzcv, fpscr 806d10e: d82c bhi.n 806d16a { BSP_LCD_DisplayStringAt(59, y5 - 2, "10000", RIGHT_MODE); 806d110: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806d114: 3b02 subs r3, #2 806d116: b299 uxth r1, r3 806d118: 2302 movs r3, #2 806d11a: 4aa1 ldr r2, [pc, #644] ; (806d3a0 ) 806d11c: 203b movs r0, #59 ; 0x3b 806d11e: f7e6 fc27 bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "5000", RIGHT_MODE); 806d122: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806d126: 3b02 subs r3, #2 806d128: b299 uxth r1, r3 806d12a: 2302 movs r3, #2 806d12c: 4a9d ldr r2, [pc, #628] ; (806d3a4 ) 806d12e: 203b movs r0, #59 ; 0x3b 806d130: f7e6 fc1e bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "1000", RIGHT_MODE); 806d134: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806d138: 3b02 subs r3, #2 806d13a: b299 uxth r1, r3 806d13c: 2302 movs r3, #2 806d13e: 4a92 ldr r2, [pc, #584] ; (806d388 ) 806d140: 203b movs r0, #59 ; 0x3b 806d142: f7e6 fc15 bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "0", RIGHT_MODE); 806d146: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806d14a: 3b02 subs r3, #2 806d14c: b299 uxth r1, r3 806d14e: 2302 movs r3, #2 806d150: 4a90 ldr r2, [pc, #576] ; (806d394 ) 806d152: 203b movs r0, #59 ; 0x3b 806d154: f7e6 fc0c bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "-5", RIGHT_MODE); 806d158: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806d15c: 3b02 subs r3, #2 806d15e: b299 uxth r1, r3 806d160: 2302 movs r3, #2 806d162: 4a8d ldr r2, [pc, #564] ; (806d398 ) 806d164: 203b movs r0, #59 ; 0x3b 806d166: f7e6 fc03 bl 8053970 } if(l == 1) 806d16a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d16e: 2b01 cmp r3, #1 806d170: f040 811e bne.w 806d3b0 { k = CmplxA_u32(0); 806d174: 4b8c ldr r3, [pc, #560] ; (806d3a8 ) 806d176: 681b ldr r3, [r3, #0] 806d178: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806d17c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d180: 0e5b lsrs r3, r3, #25 806d182: 3b14 subs r3, #20 806d184: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806d188: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d18c: 0d5b lsrs r3, r3, #21 806d18e: f003 030f and.w r3, r3, #15 806d192: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806d196: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d19a: 0c1b lsrs r3, r3, #16 806d19c: f003 031f and.w r3, r3, #31 806d1a0: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806d1a4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d1a8: 0adb lsrs r3, r3, #11 806d1aa: f003 031f and.w r3, r3, #31 806d1ae: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806d1b2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d1b6: 095b lsrs r3, r3, #5 806d1b8: f003 033f and.w r3, r3, #63 ; 0x3f 806d1bc: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806d1c0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d1c4: 005b lsls r3, r3, #1 806d1c6: f003 031f and.w r3, r3, #31 806d1ca: 3301 adds r3, #1 806d1cc: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806d1d0: f507 733b add.w r3, r7, #748 ; 0x2ec 806d1d4: 223c movs r2, #60 ; 0x3c 806d1d6: 2100 movs r1, #0 806d1d8: 4618 mov r0, r3 806d1da: f05f ff51 bl 80cd080 str[0] = (Day / 10) + 48; 806d1de: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806d1e2: 4a72 ldr r2, [pc, #456] ; (806d3ac ) 806d1e4: fba2 2303 umull r2, r3, r2, r3 806d1e8: 08db lsrs r3, r3, #3 806d1ea: b2db uxtb r3, r3 806d1ec: 3330 adds r3, #48 ; 0x30 806d1ee: b2da uxtb r2, r3 806d1f0: f507 733b add.w r3, r7, #748 ; 0x2ec 806d1f4: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806d1f6: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806d1fa: 4b6c ldr r3, [pc, #432] ; (806d3ac ) 806d1fc: fba3 2301 umull r2, r3, r3, r1 806d200: 08da lsrs r2, r3, #3 806d202: 4613 mov r3, r2 806d204: 009b lsls r3, r3, #2 806d206: 4413 add r3, r2 806d208: 005b lsls r3, r3, #1 806d20a: 1aca subs r2, r1, r3 806d20c: b2d3 uxtb r3, r2 806d20e: 3330 adds r3, #48 ; 0x30 806d210: b2da uxtb r2, r3 806d212: f507 733b add.w r3, r7, #748 ; 0x2ec 806d216: 705a strb r2, [r3, #1] str[2] = '.'; 806d218: f507 733b add.w r3, r7, #748 ; 0x2ec 806d21c: 222e movs r2, #46 ; 0x2e 806d21e: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806d220: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806d224: 4a61 ldr r2, [pc, #388] ; (806d3ac ) 806d226: fba2 2303 umull r2, r3, r2, r3 806d22a: 08db lsrs r3, r3, #3 806d22c: b2db uxtb r3, r3 806d22e: 3330 adds r3, #48 ; 0x30 806d230: b2da uxtb r2, r3 806d232: f507 733b add.w r3, r7, #748 ; 0x2ec 806d236: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806d238: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806d23c: 4b5b ldr r3, [pc, #364] ; (806d3ac ) 806d23e: fba3 2301 umull r2, r3, r3, r1 806d242: 08da lsrs r2, r3, #3 806d244: 4613 mov r3, r2 806d246: 009b lsls r3, r3, #2 806d248: 4413 add r3, r2 806d24a: 005b lsls r3, r3, #1 806d24c: 1aca subs r2, r1, r3 806d24e: b2d3 uxtb r3, r2 806d250: 3330 adds r3, #48 ; 0x30 806d252: b2da uxtb r2, r3 806d254: f507 733b add.w r3, r7, #748 ; 0x2ec 806d258: 711a strb r2, [r3, #4] str[5] = '.'; 806d25a: f507 733b add.w r3, r7, #748 ; 0x2ec 806d25e: 222e movs r2, #46 ; 0x2e 806d260: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806d262: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806d266: 4a51 ldr r2, [pc, #324] ; (806d3ac ) 806d268: fba2 2303 umull r2, r3, r2, r3 806d26c: 08db lsrs r3, r3, #3 806d26e: b2db uxtb r3, r3 806d270: 3330 adds r3, #48 ; 0x30 806d272: b2da uxtb r2, r3 806d274: f507 733b add.w r3, r7, #748 ; 0x2ec 806d278: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806d27a: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806d27e: 4b4b ldr r3, [pc, #300] ; (806d3ac ) 806d280: fba3 2301 umull r2, r3, r3, r1 806d284: 08da lsrs r2, r3, #3 806d286: 4613 mov r3, r2 806d288: 009b lsls r3, r3, #2 806d28a: 4413 add r3, r2 806d28c: 005b lsls r3, r3, #1 806d28e: 1aca subs r2, r1, r3 806d290: b2d3 uxtb r3, r2 806d292: 3330 adds r3, #48 ; 0x30 806d294: b2da uxtb r2, r3 806d296: f507 733b add.w r3, r7, #748 ; 0x2ec 806d29a: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 806d29c: f507 723b add.w r2, r7, #748 ; 0x2ec 806d2a0: 2301 movs r3, #1 806d2a2: 21dc movs r1, #220 ; 0xdc 806d2a4: 20be movs r0, #190 ; 0xbe 806d2a6: f7e6 fb63 bl 8053970 memset(str, 0, sizeof(str)); 806d2aa: f507 733b add.w r3, r7, #748 ; 0x2ec 806d2ae: 223c movs r2, #60 ; 0x3c 806d2b0: 2100 movs r1, #0 806d2b2: 4618 mov r0, r3 806d2b4: f05f fee4 bl 80cd080 str[0] = (Hour / 10) + 48; 806d2b8: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806d2bc: 4a3b ldr r2, [pc, #236] ; (806d3ac ) 806d2be: fba2 2303 umull r2, r3, r2, r3 806d2c2: 08db lsrs r3, r3, #3 806d2c4: b2db uxtb r3, r3 806d2c6: 3330 adds r3, #48 ; 0x30 806d2c8: b2da uxtb r2, r3 806d2ca: f507 733b add.w r3, r7, #748 ; 0x2ec 806d2ce: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806d2d0: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806d2d4: 4b35 ldr r3, [pc, #212] ; (806d3ac ) 806d2d6: fba3 2301 umull r2, r3, r3, r1 806d2da: 08da lsrs r2, r3, #3 806d2dc: 4613 mov r3, r2 806d2de: 009b lsls r3, r3, #2 806d2e0: 4413 add r3, r2 806d2e2: 005b lsls r3, r3, #1 806d2e4: 1aca subs r2, r1, r3 806d2e6: b2d3 uxtb r3, r2 806d2e8: 3330 adds r3, #48 ; 0x30 806d2ea: b2da uxtb r2, r3 806d2ec: f507 733b add.w r3, r7, #748 ; 0x2ec 806d2f0: 705a strb r2, [r3, #1] str[2] = ':'; 806d2f2: f507 733b add.w r3, r7, #748 ; 0x2ec 806d2f6: 223a movs r2, #58 ; 0x3a 806d2f8: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806d2fa: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806d2fe: 4a2b ldr r2, [pc, #172] ; (806d3ac ) 806d300: fba2 2303 umull r2, r3, r2, r3 806d304: 08db lsrs r3, r3, #3 806d306: b2db uxtb r3, r3 806d308: 3330 adds r3, #48 ; 0x30 806d30a: b2da uxtb r2, r3 806d30c: f507 733b add.w r3, r7, #748 ; 0x2ec 806d310: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806d312: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806d316: 4b25 ldr r3, [pc, #148] ; (806d3ac ) 806d318: fba3 2301 umull r2, r3, r3, r1 806d31c: 08da lsrs r2, r3, #3 806d31e: 4613 mov r3, r2 806d320: 009b lsls r3, r3, #2 806d322: 4413 add r3, r2 806d324: 005b lsls r3, r3, #1 806d326: 1aca subs r2, r1, r3 806d328: b2d3 uxtb r3, r2 806d32a: 3330 adds r3, #48 ; 0x30 806d32c: b2da uxtb r2, r3 806d32e: f507 733b add.w r3, r7, #748 ; 0x2ec 806d332: 711a strb r2, [r3, #4] str[5] = ':'; 806d334: f507 733b add.w r3, r7, #748 ; 0x2ec 806d338: 223a movs r2, #58 ; 0x3a 806d33a: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806d33c: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806d340: 4a1a ldr r2, [pc, #104] ; (806d3ac ) 806d342: fba2 2303 umull r2, r3, r2, r3 806d346: 08db lsrs r3, r3, #3 806d348: b2db uxtb r3, r3 806d34a: 3330 adds r3, #48 ; 0x30 806d34c: b2da uxtb r2, r3 806d34e: f507 733b add.w r3, r7, #748 ; 0x2ec 806d352: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806d354: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806d358: 4b14 ldr r3, [pc, #80] ; (806d3ac ) 806d35a: fba3 2301 umull r2, r3, r3, r1 806d35e: 08da lsrs r2, r3, #3 806d360: 4613 mov r3, r2 806d362: 009b lsls r3, r3, #2 806d364: 4413 add r3, r2 806d366: 005b lsls r3, r3, #1 806d368: 1aca subs r2, r1, r3 806d36a: b2d3 uxtb r3, r2 806d36c: 3330 adds r3, #48 ; 0x30 806d36e: b2da uxtb r2, r3 806d370: f507 733b add.w r3, r7, #748 ; 0x2ec 806d374: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 806d376: f507 723b add.w r2, r7, #748 ; 0x2ec 806d37a: 2301 movs r3, #1 806d37c: 21e4 movs r1, #228 ; 0xe4 806d37e: 20be movs r0, #190 ; 0xbe 806d380: f7e6 faf6 bl 8053970 806d384: f000 bd7b b.w 806de7e 806d388: 080cfa98 .word 0x080cfa98 806d38c: 080cfaa0 .word 0x080cfaa0 806d390: 080cfa90 .word 0x080cfa90 806d394: 080cf7e8 .word 0x080cf7e8 806d398: 080cfa8c .word 0x080cfa8c 806d39c: 461c4000 .word 0x461c4000 806d3a0: 080cfaa4 .word 0x080cfaa4 806d3a4: 080cfaac .word 0x080cfaac 806d3a8: 64090000 .word 0x64090000 806d3ac: cccccccd .word 0xcccccccd } else if(l == 2) 806d3b0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806d3b4: 2b02 cmp r3, #2 806d3b6: f040 821d bne.w 806d7f4 { k = CmplxA_u32(0); 806d3ba: 4bde ldr r3, [pc, #888] ; (806d734 ) 806d3bc: 681b ldr r3, [r3, #0] 806d3be: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806d3c2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d3c6: 0e5b lsrs r3, r3, #25 806d3c8: 3b14 subs r3, #20 806d3ca: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806d3ce: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d3d2: 0d5b lsrs r3, r3, #21 806d3d4: f003 030f and.w r3, r3, #15 806d3d8: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806d3dc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d3e0: 0c1b lsrs r3, r3, #16 806d3e2: f003 031f and.w r3, r3, #31 806d3e6: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806d3ea: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d3ee: 0adb lsrs r3, r3, #11 806d3f0: f003 031f and.w r3, r3, #31 806d3f4: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806d3f8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d3fc: 095b lsrs r3, r3, #5 806d3fe: f003 033f and.w r3, r3, #63 ; 0x3f 806d402: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806d406: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d40a: 005b lsls r3, r3, #1 806d40c: f003 031f and.w r3, r3, #31 806d410: 3301 adds r3, #1 806d412: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806d416: f507 733b add.w r3, r7, #748 ; 0x2ec 806d41a: 223c movs r2, #60 ; 0x3c 806d41c: 2100 movs r1, #0 806d41e: 4618 mov r0, r3 806d420: f05f fe2e bl 80cd080 str[0] = (Day / 10) + 48; 806d424: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806d428: 4ac3 ldr r2, [pc, #780] ; (806d738 ) 806d42a: fba2 2303 umull r2, r3, r2, r3 806d42e: 08db lsrs r3, r3, #3 806d430: b2db uxtb r3, r3 806d432: 3330 adds r3, #48 ; 0x30 806d434: b2da uxtb r2, r3 806d436: f507 733b add.w r3, r7, #748 ; 0x2ec 806d43a: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806d43c: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806d440: 4bbd ldr r3, [pc, #756] ; (806d738 ) 806d442: fba3 2301 umull r2, r3, r3, r1 806d446: 08da lsrs r2, r3, #3 806d448: 4613 mov r3, r2 806d44a: 009b lsls r3, r3, #2 806d44c: 4413 add r3, r2 806d44e: 005b lsls r3, r3, #1 806d450: 1aca subs r2, r1, r3 806d452: b2d3 uxtb r3, r2 806d454: 3330 adds r3, #48 ; 0x30 806d456: b2da uxtb r2, r3 806d458: f507 733b add.w r3, r7, #748 ; 0x2ec 806d45c: 705a strb r2, [r3, #1] str[2] = '.'; 806d45e: f507 733b add.w r3, r7, #748 ; 0x2ec 806d462: 222e movs r2, #46 ; 0x2e 806d464: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806d466: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806d46a: 4ab3 ldr r2, [pc, #716] ; (806d738 ) 806d46c: fba2 2303 umull r2, r3, r2, r3 806d470: 08db lsrs r3, r3, #3 806d472: b2db uxtb r3, r3 806d474: 3330 adds r3, #48 ; 0x30 806d476: b2da uxtb r2, r3 806d478: f507 733b add.w r3, r7, #748 ; 0x2ec 806d47c: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806d47e: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806d482: 4bad ldr r3, [pc, #692] ; (806d738 ) 806d484: fba3 2301 umull r2, r3, r3, r1 806d488: 08da lsrs r2, r3, #3 806d48a: 4613 mov r3, r2 806d48c: 009b lsls r3, r3, #2 806d48e: 4413 add r3, r2 806d490: 005b lsls r3, r3, #1 806d492: 1aca subs r2, r1, r3 806d494: b2d3 uxtb r3, r2 806d496: 3330 adds r3, #48 ; 0x30 806d498: b2da uxtb r2, r3 806d49a: f507 733b add.w r3, r7, #748 ; 0x2ec 806d49e: 711a strb r2, [r3, #4] str[5] = '.'; 806d4a0: f507 733b add.w r3, r7, #748 ; 0x2ec 806d4a4: 222e movs r2, #46 ; 0x2e 806d4a6: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806d4a8: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806d4ac: 4aa2 ldr r2, [pc, #648] ; (806d738 ) 806d4ae: fba2 2303 umull r2, r3, r2, r3 806d4b2: 08db lsrs r3, r3, #3 806d4b4: b2db uxtb r3, r3 806d4b6: 3330 adds r3, #48 ; 0x30 806d4b8: b2da uxtb r2, r3 806d4ba: f507 733b add.w r3, r7, #748 ; 0x2ec 806d4be: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806d4c0: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806d4c4: 4b9c ldr r3, [pc, #624] ; (806d738 ) 806d4c6: fba3 2301 umull r2, r3, r3, r1 806d4ca: 08da lsrs r2, r3, #3 806d4cc: 4613 mov r3, r2 806d4ce: 009b lsls r3, r3, #2 806d4d0: 4413 add r3, r2 806d4d2: 005b lsls r3, r3, #1 806d4d4: 1aca subs r2, r1, r3 806d4d6: b2d3 uxtb r3, r2 806d4d8: 3330 adds r3, #48 ; 0x30 806d4da: b2da uxtb r2, r3 806d4dc: f507 733b add.w r3, r7, #748 ; 0x2ec 806d4e0: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806d4e2: f507 723b add.w r2, r7, #748 ; 0x2ec 806d4e6: 2301 movs r3, #1 806d4e8: 21dc movs r1, #220 ; 0xdc 806d4ea: 2050 movs r0, #80 ; 0x50 806d4ec: f7e6 fa40 bl 8053970 memset(str, 0, sizeof(str)); 806d4f0: f507 733b add.w r3, r7, #748 ; 0x2ec 806d4f4: 223c movs r2, #60 ; 0x3c 806d4f6: 2100 movs r1, #0 806d4f8: 4618 mov r0, r3 806d4fa: f05f fdc1 bl 80cd080 str[0] = (Hour / 10) + 48; 806d4fe: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806d502: 4a8d ldr r2, [pc, #564] ; (806d738 ) 806d504: fba2 2303 umull r2, r3, r2, r3 806d508: 08db lsrs r3, r3, #3 806d50a: b2db uxtb r3, r3 806d50c: 3330 adds r3, #48 ; 0x30 806d50e: b2da uxtb r2, r3 806d510: f507 733b add.w r3, r7, #748 ; 0x2ec 806d514: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806d516: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806d51a: 4b87 ldr r3, [pc, #540] ; (806d738 ) 806d51c: fba3 2301 umull r2, r3, r3, r1 806d520: 08da lsrs r2, r3, #3 806d522: 4613 mov r3, r2 806d524: 009b lsls r3, r3, #2 806d526: 4413 add r3, r2 806d528: 005b lsls r3, r3, #1 806d52a: 1aca subs r2, r1, r3 806d52c: b2d3 uxtb r3, r2 806d52e: 3330 adds r3, #48 ; 0x30 806d530: b2da uxtb r2, r3 806d532: f507 733b add.w r3, r7, #748 ; 0x2ec 806d536: 705a strb r2, [r3, #1] str[2] = ':'; 806d538: f507 733b add.w r3, r7, #748 ; 0x2ec 806d53c: 223a movs r2, #58 ; 0x3a 806d53e: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806d540: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806d544: 4a7c ldr r2, [pc, #496] ; (806d738 ) 806d546: fba2 2303 umull r2, r3, r2, r3 806d54a: 08db lsrs r3, r3, #3 806d54c: b2db uxtb r3, r3 806d54e: 3330 adds r3, #48 ; 0x30 806d550: b2da uxtb r2, r3 806d552: f507 733b add.w r3, r7, #748 ; 0x2ec 806d556: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806d558: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806d55c: 4b76 ldr r3, [pc, #472] ; (806d738 ) 806d55e: fba3 2301 umull r2, r3, r3, r1 806d562: 08da lsrs r2, r3, #3 806d564: 4613 mov r3, r2 806d566: 009b lsls r3, r3, #2 806d568: 4413 add r3, r2 806d56a: 005b lsls r3, r3, #1 806d56c: 1aca subs r2, r1, r3 806d56e: b2d3 uxtb r3, r2 806d570: 3330 adds r3, #48 ; 0x30 806d572: b2da uxtb r2, r3 806d574: f507 733b add.w r3, r7, #748 ; 0x2ec 806d578: 711a strb r2, [r3, #4] str[5] = ':'; 806d57a: f507 733b add.w r3, r7, #748 ; 0x2ec 806d57e: 223a movs r2, #58 ; 0x3a 806d580: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806d582: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806d586: 4a6c ldr r2, [pc, #432] ; (806d738 ) 806d588: fba2 2303 umull r2, r3, r2, r3 806d58c: 08db lsrs r3, r3, #3 806d58e: b2db uxtb r3, r3 806d590: 3330 adds r3, #48 ; 0x30 806d592: b2da uxtb r2, r3 806d594: f507 733b add.w r3, r7, #748 ; 0x2ec 806d598: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806d59a: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806d59e: 4b66 ldr r3, [pc, #408] ; (806d738 ) 806d5a0: fba3 2301 umull r2, r3, r3, r1 806d5a4: 08da lsrs r2, r3, #3 806d5a6: 4613 mov r3, r2 806d5a8: 009b lsls r3, r3, #2 806d5aa: 4413 add r3, r2 806d5ac: 005b lsls r3, r3, #1 806d5ae: 1aca subs r2, r1, r3 806d5b0: b2d3 uxtb r3, r2 806d5b2: 3330 adds r3, #48 ; 0x30 806d5b4: b2da uxtb r2, r3 806d5b6: f507 733b add.w r3, r7, #748 ; 0x2ec 806d5ba: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 806d5bc: f507 723b add.w r2, r7, #748 ; 0x2ec 806d5c0: 2301 movs r3, #1 806d5c2: 21e4 movs r1, #228 ; 0xe4 806d5c4: 2050 movs r0, #80 ; 0x50 806d5c6: f7e6 f9d3 bl 8053970 k = CmplxA_u32(1); 806d5ca: 4b5c ldr r3, [pc, #368] ; (806d73c ) 806d5cc: 681b ldr r3, [r3, #0] 806d5ce: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806d5d2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d5d6: 0e5b lsrs r3, r3, #25 806d5d8: 3b14 subs r3, #20 806d5da: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806d5de: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d5e2: 0d5b lsrs r3, r3, #21 806d5e4: f003 030f and.w r3, r3, #15 806d5e8: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806d5ec: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d5f0: 0c1b lsrs r3, r3, #16 806d5f2: f003 031f and.w r3, r3, #31 806d5f6: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806d5fa: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d5fe: 0adb lsrs r3, r3, #11 806d600: f003 031f and.w r3, r3, #31 806d604: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806d608: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d60c: 095b lsrs r3, r3, #5 806d60e: f003 033f and.w r3, r3, #63 ; 0x3f 806d612: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806d616: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d61a: 005b lsls r3, r3, #1 806d61c: f003 031f and.w r3, r3, #31 806d620: 3301 adds r3, #1 806d622: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806d626: f507 733b add.w r3, r7, #748 ; 0x2ec 806d62a: 223c movs r2, #60 ; 0x3c 806d62c: 2100 movs r1, #0 806d62e: 4618 mov r0, r3 806d630: f05f fd26 bl 80cd080 str[0] = (Day / 10) + 48; 806d634: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806d638: 4a3f ldr r2, [pc, #252] ; (806d738 ) 806d63a: fba2 2303 umull r2, r3, r2, r3 806d63e: 08db lsrs r3, r3, #3 806d640: b2db uxtb r3, r3 806d642: 3330 adds r3, #48 ; 0x30 806d644: b2da uxtb r2, r3 806d646: f507 733b add.w r3, r7, #748 ; 0x2ec 806d64a: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806d64c: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806d650: 4b39 ldr r3, [pc, #228] ; (806d738 ) 806d652: fba3 2301 umull r2, r3, r3, r1 806d656: 08da lsrs r2, r3, #3 806d658: 4613 mov r3, r2 806d65a: 009b lsls r3, r3, #2 806d65c: 4413 add r3, r2 806d65e: 005b lsls r3, r3, #1 806d660: 1aca subs r2, r1, r3 806d662: b2d3 uxtb r3, r2 806d664: 3330 adds r3, #48 ; 0x30 806d666: b2da uxtb r2, r3 806d668: f507 733b add.w r3, r7, #748 ; 0x2ec 806d66c: 705a strb r2, [r3, #1] str[2] = '.'; 806d66e: f507 733b add.w r3, r7, #748 ; 0x2ec 806d672: 222e movs r2, #46 ; 0x2e 806d674: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806d676: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806d67a: 4a2f ldr r2, [pc, #188] ; (806d738 ) 806d67c: fba2 2303 umull r2, r3, r2, r3 806d680: 08db lsrs r3, r3, #3 806d682: b2db uxtb r3, r3 806d684: 3330 adds r3, #48 ; 0x30 806d686: b2da uxtb r2, r3 806d688: f507 733b add.w r3, r7, #748 ; 0x2ec 806d68c: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806d68e: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806d692: 4b29 ldr r3, [pc, #164] ; (806d738 ) 806d694: fba3 2301 umull r2, r3, r3, r1 806d698: 08da lsrs r2, r3, #3 806d69a: 4613 mov r3, r2 806d69c: 009b lsls r3, r3, #2 806d69e: 4413 add r3, r2 806d6a0: 005b lsls r3, r3, #1 806d6a2: 1aca subs r2, r1, r3 806d6a4: b2d3 uxtb r3, r2 806d6a6: 3330 adds r3, #48 ; 0x30 806d6a8: b2da uxtb r2, r3 806d6aa: f507 733b add.w r3, r7, #748 ; 0x2ec 806d6ae: 711a strb r2, [r3, #4] str[5] = '.'; 806d6b0: f507 733b add.w r3, r7, #748 ; 0x2ec 806d6b4: 222e movs r2, #46 ; 0x2e 806d6b6: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806d6b8: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806d6bc: 4a1e ldr r2, [pc, #120] ; (806d738 ) 806d6be: fba2 2303 umull r2, r3, r2, r3 806d6c2: 08db lsrs r3, r3, #3 806d6c4: b2db uxtb r3, r3 806d6c6: 3330 adds r3, #48 ; 0x30 806d6c8: b2da uxtb r2, r3 806d6ca: f507 733b add.w r3, r7, #748 ; 0x2ec 806d6ce: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806d6d0: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806d6d4: 4b18 ldr r3, [pc, #96] ; (806d738 ) 806d6d6: fba3 2301 umull r2, r3, r3, r1 806d6da: 08da lsrs r2, r3, #3 806d6dc: 4613 mov r3, r2 806d6de: 009b lsls r3, r3, #2 806d6e0: 4413 add r3, r2 806d6e2: 005b lsls r3, r3, #1 806d6e4: 1aca subs r2, r1, r3 806d6e6: b2d3 uxtb r3, r2 806d6e8: 3330 adds r3, #48 ; 0x30 806d6ea: b2da uxtb r2, r3 806d6ec: f507 733b add.w r3, r7, #748 ; 0x2ec 806d6f0: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 806d6f2: f507 723b add.w r2, r7, #748 ; 0x2ec 806d6f6: 2301 movs r3, #1 806d6f8: 21dc movs r1, #220 ; 0xdc 806d6fa: f44f 7095 mov.w r0, #298 ; 0x12a 806d6fe: f7e6 f937 bl 8053970 memset(str, 0, sizeof(str)); 806d702: f507 733b add.w r3, r7, #748 ; 0x2ec 806d706: 223c movs r2, #60 ; 0x3c 806d708: 2100 movs r1, #0 806d70a: 4618 mov r0, r3 806d70c: f05f fcb8 bl 80cd080 str[0] = (Hour / 10) + 48; 806d710: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806d714: 4a08 ldr r2, [pc, #32] ; (806d738 ) 806d716: fba2 2303 umull r2, r3, r2, r3 806d71a: 08db lsrs r3, r3, #3 806d71c: b2db uxtb r3, r3 806d71e: 3330 adds r3, #48 ; 0x30 806d720: b2da uxtb r2, r3 806d722: f507 733b add.w r3, r7, #748 ; 0x2ec 806d726: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806d728: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806d72c: 4b02 ldr r3, [pc, #8] ; (806d738 ) 806d72e: fba3 2301 umull r2, r3, r3, r1 806d732: e005 b.n 806d740 806d734: 64090000 .word 0x64090000 806d738: cccccccd .word 0xcccccccd 806d73c: 64090004 .word 0x64090004 806d740: 08da lsrs r2, r3, #3 806d742: 4613 mov r3, r2 806d744: 009b lsls r3, r3, #2 806d746: 4413 add r3, r2 806d748: 005b lsls r3, r3, #1 806d74a: 1aca subs r2, r1, r3 806d74c: b2d3 uxtb r3, r2 806d74e: 3330 adds r3, #48 ; 0x30 806d750: b2da uxtb r2, r3 806d752: f507 733b add.w r3, r7, #748 ; 0x2ec 806d756: 705a strb r2, [r3, #1] str[2] = ':'; 806d758: f507 733b add.w r3, r7, #748 ; 0x2ec 806d75c: 223a movs r2, #58 ; 0x3a 806d75e: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806d760: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806d764: 4a22 ldr r2, [pc, #136] ; (806d7f0 ) 806d766: fba2 2303 umull r2, r3, r2, r3 806d76a: 08db lsrs r3, r3, #3 806d76c: b2db uxtb r3, r3 806d76e: 3330 adds r3, #48 ; 0x30 806d770: b2da uxtb r2, r3 806d772: f507 733b add.w r3, r7, #748 ; 0x2ec 806d776: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806d778: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806d77c: 4b1c ldr r3, [pc, #112] ; (806d7f0 ) 806d77e: fba3 2301 umull r2, r3, r3, r1 806d782: 08da lsrs r2, r3, #3 806d784: 4613 mov r3, r2 806d786: 009b lsls r3, r3, #2 806d788: 4413 add r3, r2 806d78a: 005b lsls r3, r3, #1 806d78c: 1aca subs r2, r1, r3 806d78e: b2d3 uxtb r3, r2 806d790: 3330 adds r3, #48 ; 0x30 806d792: b2da uxtb r2, r3 806d794: f507 733b add.w r3, r7, #748 ; 0x2ec 806d798: 711a strb r2, [r3, #4] str[5] = ':'; 806d79a: f507 733b add.w r3, r7, #748 ; 0x2ec 806d79e: 223a movs r2, #58 ; 0x3a 806d7a0: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806d7a2: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806d7a6: 4a12 ldr r2, [pc, #72] ; (806d7f0 ) 806d7a8: fba2 2303 umull r2, r3, r2, r3 806d7ac: 08db lsrs r3, r3, #3 806d7ae: b2db uxtb r3, r3 806d7b0: 3330 adds r3, #48 ; 0x30 806d7b2: b2da uxtb r2, r3 806d7b4: f507 733b add.w r3, r7, #748 ; 0x2ec 806d7b8: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806d7ba: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806d7be: 4b0c ldr r3, [pc, #48] ; (806d7f0 ) 806d7c0: fba3 2301 umull r2, r3, r3, r1 806d7c4: 08da lsrs r2, r3, #3 806d7c6: 4613 mov r3, r2 806d7c8: 009b lsls r3, r3, #2 806d7ca: 4413 add r3, r2 806d7cc: 005b lsls r3, r3, #1 806d7ce: 1aca subs r2, r1, r3 806d7d0: b2d3 uxtb r3, r2 806d7d2: 3330 adds r3, #48 ; 0x30 806d7d4: b2da uxtb r2, r3 806d7d6: f507 733b add.w r3, r7, #748 ; 0x2ec 806d7da: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 806d7dc: f507 723b add.w r2, r7, #748 ; 0x2ec 806d7e0: 2301 movs r3, #1 806d7e2: 21e4 movs r1, #228 ; 0xe4 806d7e4: f44f 7095 mov.w r0, #298 ; 0x12a 806d7e8: f7e6 f8c2 bl 8053970 806d7ec: e347 b.n 806de7e 806d7ee: bf00 nop 806d7f0: cccccccd .word 0xcccccccd } else { k = CmplxA_u32(0); 806d7f4: 4be0 ldr r3, [pc, #896] ; (806db78 ) 806d7f6: 681b ldr r3, [r3, #0] 806d7f8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806d7fc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d800: 0e5b lsrs r3, r3, #25 806d802: 3b14 subs r3, #20 806d804: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806d808: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d80c: 0d5b lsrs r3, r3, #21 806d80e: f003 030f and.w r3, r3, #15 806d812: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806d816: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d81a: 0c1b lsrs r3, r3, #16 806d81c: f003 031f and.w r3, r3, #31 806d820: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806d824: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d828: 0adb lsrs r3, r3, #11 806d82a: f003 031f and.w r3, r3, #31 806d82e: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806d832: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d836: 095b lsrs r3, r3, #5 806d838: f003 033f and.w r3, r3, #63 ; 0x3f 806d83c: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806d840: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806d844: 005b lsls r3, r3, #1 806d846: f003 031f and.w r3, r3, #31 806d84a: 3301 adds r3, #1 806d84c: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806d850: f507 733b add.w r3, r7, #748 ; 0x2ec 806d854: 223c movs r2, #60 ; 0x3c 806d856: 2100 movs r1, #0 806d858: 4618 mov r0, r3 806d85a: f05f fc11 bl 80cd080 str[0] = (Day / 10) + 48; 806d85e: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806d862: 4ac6 ldr r2, [pc, #792] ; (806db7c ) 806d864: fba2 2303 umull r2, r3, r2, r3 806d868: 08db lsrs r3, r3, #3 806d86a: b2db uxtb r3, r3 806d86c: 3330 adds r3, #48 ; 0x30 806d86e: b2da uxtb r2, r3 806d870: f507 733b add.w r3, r7, #748 ; 0x2ec 806d874: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806d876: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806d87a: 4bc0 ldr r3, [pc, #768] ; (806db7c ) 806d87c: fba3 2301 umull r2, r3, r3, r1 806d880: 08da lsrs r2, r3, #3 806d882: 4613 mov r3, r2 806d884: 009b lsls r3, r3, #2 806d886: 4413 add r3, r2 806d888: 005b lsls r3, r3, #1 806d88a: 1aca subs r2, r1, r3 806d88c: b2d3 uxtb r3, r2 806d88e: 3330 adds r3, #48 ; 0x30 806d890: b2da uxtb r2, r3 806d892: f507 733b add.w r3, r7, #748 ; 0x2ec 806d896: 705a strb r2, [r3, #1] str[2] = '.'; 806d898: f507 733b add.w r3, r7, #748 ; 0x2ec 806d89c: 222e movs r2, #46 ; 0x2e 806d89e: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806d8a0: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806d8a4: 4ab5 ldr r2, [pc, #724] ; (806db7c ) 806d8a6: fba2 2303 umull r2, r3, r2, r3 806d8aa: 08db lsrs r3, r3, #3 806d8ac: b2db uxtb r3, r3 806d8ae: 3330 adds r3, #48 ; 0x30 806d8b0: b2da uxtb r2, r3 806d8b2: f507 733b add.w r3, r7, #748 ; 0x2ec 806d8b6: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806d8b8: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806d8bc: 4baf ldr r3, [pc, #700] ; (806db7c ) 806d8be: fba3 2301 umull r2, r3, r3, r1 806d8c2: 08da lsrs r2, r3, #3 806d8c4: 4613 mov r3, r2 806d8c6: 009b lsls r3, r3, #2 806d8c8: 4413 add r3, r2 806d8ca: 005b lsls r3, r3, #1 806d8cc: 1aca subs r2, r1, r3 806d8ce: b2d3 uxtb r3, r2 806d8d0: 3330 adds r3, #48 ; 0x30 806d8d2: b2da uxtb r2, r3 806d8d4: f507 733b add.w r3, r7, #748 ; 0x2ec 806d8d8: 711a strb r2, [r3, #4] str[5] = '.'; 806d8da: f507 733b add.w r3, r7, #748 ; 0x2ec 806d8de: 222e movs r2, #46 ; 0x2e 806d8e0: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806d8e2: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806d8e6: 4aa5 ldr r2, [pc, #660] ; (806db7c ) 806d8e8: fba2 2303 umull r2, r3, r2, r3 806d8ec: 08db lsrs r3, r3, #3 806d8ee: b2db uxtb r3, r3 806d8f0: 3330 adds r3, #48 ; 0x30 806d8f2: b2da uxtb r2, r3 806d8f4: f507 733b add.w r3, r7, #748 ; 0x2ec 806d8f8: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806d8fa: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806d8fe: 4b9f ldr r3, [pc, #636] ; (806db7c ) 806d900: fba3 2301 umull r2, r3, r3, r1 806d904: 08da lsrs r2, r3, #3 806d906: 4613 mov r3, r2 806d908: 009b lsls r3, r3, #2 806d90a: 4413 add r3, r2 806d90c: 005b lsls r3, r3, #1 806d90e: 1aca subs r2, r1, r3 806d910: b2d3 uxtb r3, r2 806d912: 3330 adds r3, #48 ; 0x30 806d914: b2da uxtb r2, r3 806d916: f507 733b add.w r3, r7, #748 ; 0x2ec 806d91a: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806d91c: f507 723b add.w r2, r7, #748 ; 0x2ec 806d920: 2301 movs r3, #1 806d922: 21dc movs r1, #220 ; 0xdc 806d924: 2050 movs r0, #80 ; 0x50 806d926: f7e6 f823 bl 8053970 memset(str, 0, sizeof(str)); 806d92a: f507 733b add.w r3, r7, #748 ; 0x2ec 806d92e: 223c movs r2, #60 ; 0x3c 806d930: 2100 movs r1, #0 806d932: 4618 mov r0, r3 806d934: f05f fba4 bl 80cd080 str[0] = (Hour / 10) + 48; 806d938: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806d93c: 4a8f ldr r2, [pc, #572] ; (806db7c ) 806d93e: fba2 2303 umull r2, r3, r2, r3 806d942: 08db lsrs r3, r3, #3 806d944: b2db uxtb r3, r3 806d946: 3330 adds r3, #48 ; 0x30 806d948: b2da uxtb r2, r3 806d94a: f507 733b add.w r3, r7, #748 ; 0x2ec 806d94e: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806d950: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806d954: 4b89 ldr r3, [pc, #548] ; (806db7c ) 806d956: fba3 2301 umull r2, r3, r3, r1 806d95a: 08da lsrs r2, r3, #3 806d95c: 4613 mov r3, r2 806d95e: 009b lsls r3, r3, #2 806d960: 4413 add r3, r2 806d962: 005b lsls r3, r3, #1 806d964: 1aca subs r2, r1, r3 806d966: b2d3 uxtb r3, r2 806d968: 3330 adds r3, #48 ; 0x30 806d96a: b2da uxtb r2, r3 806d96c: f507 733b add.w r3, r7, #748 ; 0x2ec 806d970: 705a strb r2, [r3, #1] str[2] = ':'; 806d972: f507 733b add.w r3, r7, #748 ; 0x2ec 806d976: 223a movs r2, #58 ; 0x3a 806d978: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806d97a: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806d97e: 4a7f ldr r2, [pc, #508] ; (806db7c ) 806d980: fba2 2303 umull r2, r3, r2, r3 806d984: 08db lsrs r3, r3, #3 806d986: b2db uxtb r3, r3 806d988: 3330 adds r3, #48 ; 0x30 806d98a: b2da uxtb r2, r3 806d98c: f507 733b add.w r3, r7, #748 ; 0x2ec 806d990: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806d992: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806d996: 4b79 ldr r3, [pc, #484] ; (806db7c ) 806d998: fba3 2301 umull r2, r3, r3, r1 806d99c: 08da lsrs r2, r3, #3 806d99e: 4613 mov r3, r2 806d9a0: 009b lsls r3, r3, #2 806d9a2: 4413 add r3, r2 806d9a4: 005b lsls r3, r3, #1 806d9a6: 1aca subs r2, r1, r3 806d9a8: b2d3 uxtb r3, r2 806d9aa: 3330 adds r3, #48 ; 0x30 806d9ac: b2da uxtb r2, r3 806d9ae: f507 733b add.w r3, r7, #748 ; 0x2ec 806d9b2: 711a strb r2, [r3, #4] str[5] = ':'; 806d9b4: f507 733b add.w r3, r7, #748 ; 0x2ec 806d9b8: 223a movs r2, #58 ; 0x3a 806d9ba: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806d9bc: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806d9c0: 4a6e ldr r2, [pc, #440] ; (806db7c ) 806d9c2: fba2 2303 umull r2, r3, r2, r3 806d9c6: 08db lsrs r3, r3, #3 806d9c8: b2db uxtb r3, r3 806d9ca: 3330 adds r3, #48 ; 0x30 806d9cc: b2da uxtb r2, r3 806d9ce: f507 733b add.w r3, r7, #748 ; 0x2ec 806d9d2: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806d9d4: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806d9d8: 4b68 ldr r3, [pc, #416] ; (806db7c ) 806d9da: fba3 2301 umull r2, r3, r3, r1 806d9de: 08da lsrs r2, r3, #3 806d9e0: 4613 mov r3, r2 806d9e2: 009b lsls r3, r3, #2 806d9e4: 4413 add r3, r2 806d9e6: 005b lsls r3, r3, #1 806d9e8: 1aca subs r2, r1, r3 806d9ea: b2d3 uxtb r3, r2 806d9ec: 3330 adds r3, #48 ; 0x30 806d9ee: b2da uxtb r2, r3 806d9f0: f507 733b add.w r3, r7, #748 ; 0x2ec 806d9f4: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 806d9f6: f507 723b add.w r2, r7, #748 ; 0x2ec 806d9fa: 2301 movs r3, #1 806d9fc: 21e4 movs r1, #228 ; 0xe4 806d9fe: 2050 movs r0, #80 ; 0x50 806da00: f7e5 ffb6 bl 8053970 f = (float32_t) l / 2; 806da04: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806da08: ee07 3a90 vmov s15, r3 806da0c: eeb8 7a67 vcvt.f32.u32 s14, s15 806da10: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 806da14: eec7 7a26 vdiv.f32 s15, s14, s13 806da18: f507 638b add.w r3, r7, #1112 ; 0x458 806da1c: edc3 7a00 vstr s15, [r3] i = (uint32_t) (f + 0.5f); 806da20: f507 638b add.w r3, r7, #1112 ; 0x458 806da24: edd3 7a00 vldr s15, [r3] 806da28: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806da2c: ee77 7a87 vadd.f32 s15, s15, s14 806da30: eefc 7ae7 vcvt.u32.f32 s15, s15 806da34: ee17 3a90 vmov r3, s15 806da38: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 k = CmplxA_u32(i); 806da3c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806da40: 009a lsls r2, r3, #2 806da42: 4b4d ldr r3, [pc, #308] ; (806db78 ) 806da44: 4413 add r3, r2 806da46: 681b ldr r3, [r3, #0] 806da48: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806da4c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806da50: 0e5b lsrs r3, r3, #25 806da52: 3b14 subs r3, #20 806da54: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806da58: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806da5c: 0d5b lsrs r3, r3, #21 806da5e: f003 030f and.w r3, r3, #15 806da62: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806da66: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806da6a: 0c1b lsrs r3, r3, #16 806da6c: f003 031f and.w r3, r3, #31 806da70: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806da74: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806da78: 0adb lsrs r3, r3, #11 806da7a: f003 031f and.w r3, r3, #31 806da7e: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806da82: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806da86: 095b lsrs r3, r3, #5 806da88: f003 033f and.w r3, r3, #63 ; 0x3f 806da8c: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806da90: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806da94: 005b lsls r3, r3, #1 806da96: f003 031f and.w r3, r3, #31 806da9a: 3301 adds r3, #1 806da9c: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806daa0: f507 733b add.w r3, r7, #748 ; 0x2ec 806daa4: 223c movs r2, #60 ; 0x3c 806daa6: 2100 movs r1, #0 806daa8: 4618 mov r0, r3 806daaa: f05f fae9 bl 80cd080 str[0] = (Day / 10) + 48; 806daae: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806dab2: 4a32 ldr r2, [pc, #200] ; (806db7c ) 806dab4: fba2 2303 umull r2, r3, r2, r3 806dab8: 08db lsrs r3, r3, #3 806daba: b2db uxtb r3, r3 806dabc: 3330 adds r3, #48 ; 0x30 806dabe: b2da uxtb r2, r3 806dac0: f507 733b add.w r3, r7, #748 ; 0x2ec 806dac4: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806dac6: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806daca: 4b2c ldr r3, [pc, #176] ; (806db7c ) 806dacc: fba3 2301 umull r2, r3, r3, r1 806dad0: 08da lsrs r2, r3, #3 806dad2: 4613 mov r3, r2 806dad4: 009b lsls r3, r3, #2 806dad6: 4413 add r3, r2 806dad8: 005b lsls r3, r3, #1 806dada: 1aca subs r2, r1, r3 806dadc: b2d3 uxtb r3, r2 806dade: 3330 adds r3, #48 ; 0x30 806dae0: b2da uxtb r2, r3 806dae2: f507 733b add.w r3, r7, #748 ; 0x2ec 806dae6: 705a strb r2, [r3, #1] str[2] = '.'; 806dae8: f507 733b add.w r3, r7, #748 ; 0x2ec 806daec: 222e movs r2, #46 ; 0x2e 806daee: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806daf0: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806daf4: 4a21 ldr r2, [pc, #132] ; (806db7c ) 806daf6: fba2 2303 umull r2, r3, r2, r3 806dafa: 08db lsrs r3, r3, #3 806dafc: b2db uxtb r3, r3 806dafe: 3330 adds r3, #48 ; 0x30 806db00: b2da uxtb r2, r3 806db02: f507 733b add.w r3, r7, #748 ; 0x2ec 806db06: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806db08: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806db0c: 4b1b ldr r3, [pc, #108] ; (806db7c ) 806db0e: fba3 2301 umull r2, r3, r3, r1 806db12: 08da lsrs r2, r3, #3 806db14: 4613 mov r3, r2 806db16: 009b lsls r3, r3, #2 806db18: 4413 add r3, r2 806db1a: 005b lsls r3, r3, #1 806db1c: 1aca subs r2, r1, r3 806db1e: b2d3 uxtb r3, r2 806db20: 3330 adds r3, #48 ; 0x30 806db22: b2da uxtb r2, r3 806db24: f507 733b add.w r3, r7, #748 ; 0x2ec 806db28: 711a strb r2, [r3, #4] str[5] = '.'; 806db2a: f507 733b add.w r3, r7, #748 ; 0x2ec 806db2e: 222e movs r2, #46 ; 0x2e 806db30: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806db32: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806db36: 4a11 ldr r2, [pc, #68] ; (806db7c ) 806db38: fba2 2303 umull r2, r3, r2, r3 806db3c: 08db lsrs r3, r3, #3 806db3e: b2db uxtb r3, r3 806db40: 3330 adds r3, #48 ; 0x30 806db42: b2da uxtb r2, r3 806db44: f507 733b add.w r3, r7, #748 ; 0x2ec 806db48: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806db4a: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806db4e: 4b0b ldr r3, [pc, #44] ; (806db7c ) 806db50: fba3 2301 umull r2, r3, r3, r1 806db54: 08da lsrs r2, r3, #3 806db56: 4613 mov r3, r2 806db58: 009b lsls r3, r3, #2 806db5a: 4413 add r3, r2 806db5c: 005b lsls r3, r3, #1 806db5e: 1aca subs r2, r1, r3 806db60: b2d3 uxtb r3, r2 806db62: 3330 adds r3, #48 ; 0x30 806db64: b2da uxtb r2, r3 806db66: f507 733b add.w r3, r7, #748 ; 0x2ec 806db6a: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 806db6c: f507 723b add.w r2, r7, #748 ; 0x2ec 806db70: 2301 movs r3, #1 806db72: 21dc movs r1, #220 ; 0xdc 806db74: e004 b.n 806db80 806db76: bf00 nop 806db78: 64090000 .word 0x64090000 806db7c: cccccccd .word 0xcccccccd 806db80: 20be movs r0, #190 ; 0xbe 806db82: f7e5 fef5 bl 8053970 memset(str, 0, sizeof(str)); 806db86: f507 733b add.w r3, r7, #748 ; 0x2ec 806db8a: 223c movs r2, #60 ; 0x3c 806db8c: 2100 movs r1, #0 806db8e: 4618 mov r0, r3 806db90: f05f fa76 bl 80cd080 str[0] = (Hour / 10) + 48; 806db94: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806db98: 4abd ldr r2, [pc, #756] ; (806de90 ) 806db9a: fba2 2303 umull r2, r3, r2, r3 806db9e: 08db lsrs r3, r3, #3 806dba0: b2db uxtb r3, r3 806dba2: 3330 adds r3, #48 ; 0x30 806dba4: b2da uxtb r2, r3 806dba6: f507 733b add.w r3, r7, #748 ; 0x2ec 806dbaa: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806dbac: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806dbb0: 4bb7 ldr r3, [pc, #732] ; (806de90 ) 806dbb2: fba3 2301 umull r2, r3, r3, r1 806dbb6: 08da lsrs r2, r3, #3 806dbb8: 4613 mov r3, r2 806dbba: 009b lsls r3, r3, #2 806dbbc: 4413 add r3, r2 806dbbe: 005b lsls r3, r3, #1 806dbc0: 1aca subs r2, r1, r3 806dbc2: b2d3 uxtb r3, r2 806dbc4: 3330 adds r3, #48 ; 0x30 806dbc6: b2da uxtb r2, r3 806dbc8: f507 733b add.w r3, r7, #748 ; 0x2ec 806dbcc: 705a strb r2, [r3, #1] str[2] = ':'; 806dbce: f507 733b add.w r3, r7, #748 ; 0x2ec 806dbd2: 223a movs r2, #58 ; 0x3a 806dbd4: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806dbd6: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806dbda: 4aad ldr r2, [pc, #692] ; (806de90 ) 806dbdc: fba2 2303 umull r2, r3, r2, r3 806dbe0: 08db lsrs r3, r3, #3 806dbe2: b2db uxtb r3, r3 806dbe4: 3330 adds r3, #48 ; 0x30 806dbe6: b2da uxtb r2, r3 806dbe8: f507 733b add.w r3, r7, #748 ; 0x2ec 806dbec: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806dbee: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806dbf2: 4ba7 ldr r3, [pc, #668] ; (806de90 ) 806dbf4: fba3 2301 umull r2, r3, r3, r1 806dbf8: 08da lsrs r2, r3, #3 806dbfa: 4613 mov r3, r2 806dbfc: 009b lsls r3, r3, #2 806dbfe: 4413 add r3, r2 806dc00: 005b lsls r3, r3, #1 806dc02: 1aca subs r2, r1, r3 806dc04: b2d3 uxtb r3, r2 806dc06: 3330 adds r3, #48 ; 0x30 806dc08: b2da uxtb r2, r3 806dc0a: f507 733b add.w r3, r7, #748 ; 0x2ec 806dc0e: 711a strb r2, [r3, #4] str[5] = ':'; 806dc10: f507 733b add.w r3, r7, #748 ; 0x2ec 806dc14: 223a movs r2, #58 ; 0x3a 806dc16: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806dc18: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806dc1c: 4a9c ldr r2, [pc, #624] ; (806de90 ) 806dc1e: fba2 2303 umull r2, r3, r2, r3 806dc22: 08db lsrs r3, r3, #3 806dc24: b2db uxtb r3, r3 806dc26: 3330 adds r3, #48 ; 0x30 806dc28: b2da uxtb r2, r3 806dc2a: f507 733b add.w r3, r7, #748 ; 0x2ec 806dc2e: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806dc30: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806dc34: 4b96 ldr r3, [pc, #600] ; (806de90 ) 806dc36: fba3 2301 umull r2, r3, r3, r1 806dc3a: 08da lsrs r2, r3, #3 806dc3c: 4613 mov r3, r2 806dc3e: 009b lsls r3, r3, #2 806dc40: 4413 add r3, r2 806dc42: 005b lsls r3, r3, #1 806dc44: 1aca subs r2, r1, r3 806dc46: b2d3 uxtb r3, r2 806dc48: 3330 adds r3, #48 ; 0x30 806dc4a: b2da uxtb r2, r3 806dc4c: f507 733b add.w r3, r7, #748 ; 0x2ec 806dc50: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 806dc52: f507 723b add.w r2, r7, #748 ; 0x2ec 806dc56: 2301 movs r3, #1 806dc58: 21e4 movs r1, #228 ; 0xe4 806dc5a: 20be movs r0, #190 ; 0xbe 806dc5c: f7e5 fe88 bl 8053970 k = CmplxA_u32(l - 1); 806dc60: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806dc64: 3b01 subs r3, #1 806dc66: 009a lsls r2, r3, #2 806dc68: 4b8a ldr r3, [pc, #552] ; (806de94 ) 806dc6a: 4413 add r3, r2 806dc6c: 681b ldr r3, [r3, #0] 806dc6e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806dc72: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806dc76: 0e5b lsrs r3, r3, #25 806dc78: 3b14 subs r3, #20 806dc7a: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806dc7e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806dc82: 0d5b lsrs r3, r3, #21 806dc84: f003 030f and.w r3, r3, #15 806dc88: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806dc8c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806dc90: 0c1b lsrs r3, r3, #16 806dc92: f003 031f and.w r3, r3, #31 806dc96: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806dc9a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806dc9e: 0adb lsrs r3, r3, #11 806dca0: f003 031f and.w r3, r3, #31 806dca4: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806dca8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806dcac: 095b lsrs r3, r3, #5 806dcae: f003 033f and.w r3, r3, #63 ; 0x3f 806dcb2: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806dcb6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806dcba: 005b lsls r3, r3, #1 806dcbc: f003 031f and.w r3, r3, #31 806dcc0: 3301 adds r3, #1 806dcc2: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806dcc6: f507 733b add.w r3, r7, #748 ; 0x2ec 806dcca: 223c movs r2, #60 ; 0x3c 806dccc: 2100 movs r1, #0 806dcce: 4618 mov r0, r3 806dcd0: f05f f9d6 bl 80cd080 str[0] = (Day / 10) + 48; 806dcd4: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806dcd8: 4a6d ldr r2, [pc, #436] ; (806de90 ) 806dcda: fba2 2303 umull r2, r3, r2, r3 806dcde: 08db lsrs r3, r3, #3 806dce0: b2db uxtb r3, r3 806dce2: 3330 adds r3, #48 ; 0x30 806dce4: b2da uxtb r2, r3 806dce6: f507 733b add.w r3, r7, #748 ; 0x2ec 806dcea: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806dcec: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806dcf0: 4b67 ldr r3, [pc, #412] ; (806de90 ) 806dcf2: fba3 2301 umull r2, r3, r3, r1 806dcf6: 08da lsrs r2, r3, #3 806dcf8: 4613 mov r3, r2 806dcfa: 009b lsls r3, r3, #2 806dcfc: 4413 add r3, r2 806dcfe: 005b lsls r3, r3, #1 806dd00: 1aca subs r2, r1, r3 806dd02: b2d3 uxtb r3, r2 806dd04: 3330 adds r3, #48 ; 0x30 806dd06: b2da uxtb r2, r3 806dd08: f507 733b add.w r3, r7, #748 ; 0x2ec 806dd0c: 705a strb r2, [r3, #1] str[2] = '.'; 806dd0e: f507 733b add.w r3, r7, #748 ; 0x2ec 806dd12: 222e movs r2, #46 ; 0x2e 806dd14: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806dd16: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806dd1a: 4a5d ldr r2, [pc, #372] ; (806de90 ) 806dd1c: fba2 2303 umull r2, r3, r2, r3 806dd20: 08db lsrs r3, r3, #3 806dd22: b2db uxtb r3, r3 806dd24: 3330 adds r3, #48 ; 0x30 806dd26: b2da uxtb r2, r3 806dd28: f507 733b add.w r3, r7, #748 ; 0x2ec 806dd2c: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806dd2e: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806dd32: 4b57 ldr r3, [pc, #348] ; (806de90 ) 806dd34: fba3 2301 umull r2, r3, r3, r1 806dd38: 08da lsrs r2, r3, #3 806dd3a: 4613 mov r3, r2 806dd3c: 009b lsls r3, r3, #2 806dd3e: 4413 add r3, r2 806dd40: 005b lsls r3, r3, #1 806dd42: 1aca subs r2, r1, r3 806dd44: b2d3 uxtb r3, r2 806dd46: 3330 adds r3, #48 ; 0x30 806dd48: b2da uxtb r2, r3 806dd4a: f507 733b add.w r3, r7, #748 ; 0x2ec 806dd4e: 711a strb r2, [r3, #4] str[5] = '.'; 806dd50: f507 733b add.w r3, r7, #748 ; 0x2ec 806dd54: 222e movs r2, #46 ; 0x2e 806dd56: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806dd58: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806dd5c: 4a4c ldr r2, [pc, #304] ; (806de90 ) 806dd5e: fba2 2303 umull r2, r3, r2, r3 806dd62: 08db lsrs r3, r3, #3 806dd64: b2db uxtb r3, r3 806dd66: 3330 adds r3, #48 ; 0x30 806dd68: b2da uxtb r2, r3 806dd6a: f507 733b add.w r3, r7, #748 ; 0x2ec 806dd6e: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806dd70: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806dd74: 4b46 ldr r3, [pc, #280] ; (806de90 ) 806dd76: fba3 2301 umull r2, r3, r3, r1 806dd7a: 08da lsrs r2, r3, #3 806dd7c: 4613 mov r3, r2 806dd7e: 009b lsls r3, r3, #2 806dd80: 4413 add r3, r2 806dd82: 005b lsls r3, r3, #1 806dd84: 1aca subs r2, r1, r3 806dd86: b2d3 uxtb r3, r2 806dd88: 3330 adds r3, #48 ; 0x30 806dd8a: b2da uxtb r2, r3 806dd8c: f507 733b add.w r3, r7, #748 ; 0x2ec 806dd90: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 806dd92: f507 723b add.w r2, r7, #748 ; 0x2ec 806dd96: 2301 movs r3, #1 806dd98: 21dc movs r1, #220 ; 0xdc 806dd9a: f44f 7095 mov.w r0, #298 ; 0x12a 806dd9e: f7e5 fde7 bl 8053970 memset(str, 0, sizeof(str)); 806dda2: f507 733b add.w r3, r7, #748 ; 0x2ec 806dda6: 223c movs r2, #60 ; 0x3c 806dda8: 2100 movs r1, #0 806ddaa: 4618 mov r0, r3 806ddac: f05f f968 bl 80cd080 str[0] = (Hour / 10) + 48; 806ddb0: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806ddb4: 4a36 ldr r2, [pc, #216] ; (806de90 ) 806ddb6: fba2 2303 umull r2, r3, r2, r3 806ddba: 08db lsrs r3, r3, #3 806ddbc: b2db uxtb r3, r3 806ddbe: 3330 adds r3, #48 ; 0x30 806ddc0: b2da uxtb r2, r3 806ddc2: f507 733b add.w r3, r7, #748 ; 0x2ec 806ddc6: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806ddc8: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806ddcc: 4b30 ldr r3, [pc, #192] ; (806de90 ) 806ddce: fba3 2301 umull r2, r3, r3, r1 806ddd2: 08da lsrs r2, r3, #3 806ddd4: 4613 mov r3, r2 806ddd6: 009b lsls r3, r3, #2 806ddd8: 4413 add r3, r2 806ddda: 005b lsls r3, r3, #1 806dddc: 1aca subs r2, r1, r3 806ddde: b2d3 uxtb r3, r2 806dde0: 3330 adds r3, #48 ; 0x30 806dde2: b2da uxtb r2, r3 806dde4: f507 733b add.w r3, r7, #748 ; 0x2ec 806dde8: 705a strb r2, [r3, #1] str[2] = ':'; 806ddea: f507 733b add.w r3, r7, #748 ; 0x2ec 806ddee: 223a movs r2, #58 ; 0x3a 806ddf0: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806ddf2: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806ddf6: 4a26 ldr r2, [pc, #152] ; (806de90 ) 806ddf8: fba2 2303 umull r2, r3, r2, r3 806ddfc: 08db lsrs r3, r3, #3 806ddfe: b2db uxtb r3, r3 806de00: 3330 adds r3, #48 ; 0x30 806de02: b2da uxtb r2, r3 806de04: f507 733b add.w r3, r7, #748 ; 0x2ec 806de08: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806de0a: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806de0e: 4b20 ldr r3, [pc, #128] ; (806de90 ) 806de10: fba3 2301 umull r2, r3, r3, r1 806de14: 08da lsrs r2, r3, #3 806de16: 4613 mov r3, r2 806de18: 009b lsls r3, r3, #2 806de1a: 4413 add r3, r2 806de1c: 005b lsls r3, r3, #1 806de1e: 1aca subs r2, r1, r3 806de20: b2d3 uxtb r3, r2 806de22: 3330 adds r3, #48 ; 0x30 806de24: b2da uxtb r2, r3 806de26: f507 733b add.w r3, r7, #748 ; 0x2ec 806de2a: 711a strb r2, [r3, #4] str[5] = ':'; 806de2c: f507 733b add.w r3, r7, #748 ; 0x2ec 806de30: 223a movs r2, #58 ; 0x3a 806de32: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806de34: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806de38: 4a15 ldr r2, [pc, #84] ; (806de90 ) 806de3a: fba2 2303 umull r2, r3, r2, r3 806de3e: 08db lsrs r3, r3, #3 806de40: b2db uxtb r3, r3 806de42: 3330 adds r3, #48 ; 0x30 806de44: b2da uxtb r2, r3 806de46: f507 733b add.w r3, r7, #748 ; 0x2ec 806de4a: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806de4c: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806de50: 4b0f ldr r3, [pc, #60] ; (806de90 ) 806de52: fba3 2301 umull r2, r3, r3, r1 806de56: 08da lsrs r2, r3, #3 806de58: 4613 mov r3, r2 806de5a: 009b lsls r3, r3, #2 806de5c: 4413 add r3, r2 806de5e: 005b lsls r3, r3, #1 806de60: 1aca subs r2, r1, r3 806de62: b2d3 uxtb r3, r2 806de64: 3330 adds r3, #48 ; 0x30 806de66: b2da uxtb r2, r3 806de68: f507 733b add.w r3, r7, #748 ; 0x2ec 806de6c: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 806de6e: f507 723b add.w r2, r7, #748 ; 0x2ec 806de72: 2301 movs r3, #1 806de74: 21e4 movs r1, #228 ; 0xe4 806de76: f44f 7095 mov.w r0, #298 ; 0x12a 806de7a: f7e5 fd79 bl 8053970 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806de7e: 4906 ldr r1, [pc, #24] ; (806de98 ) 806de80: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806de84: f7e5 fcae bl 80537e4 for(i = 0; i < l; i++) 806de88: 2300 movs r3, #0 806de8a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806de8e: e3f0 b.n 806e672 806de90: cccccccd .word 0xcccccccd 806de94: 64090000 .word 0x64090000 806de98: ff0a0f1f .word 0xff0a0f1f { f = ScrA_f32(i); 806de9c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806dea0: 009a lsls r2, r3, #2 806dea2: 4bd8 ldr r3, [pc, #864] ; (806e204 ) 806dea4: 4413 add r3, r2 806dea6: 681b ldr r3, [r3, #0] 806dea8: f507 628b add.w r2, r7, #1112 ; 0x458 806deac: 6013 str r3, [r2, #0] if(fmax <= 15.0f) ///////// 806deae: f207 434c addw r3, r7, #1100 ; 0x44c 806deb2: edd3 7a00 vldr s15, [r3] 806deb6: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 806deba: eef4 7ac7 vcmpe.f32 s15, s14 806debe: eef1 fa10 vmrs APSR_nzcv, fpscr 806dec2: f200 80c9 bhi.w 806e058 { if(f < 0.0f) 806dec6: f507 638b add.w r3, r7, #1112 ; 0x458 806deca: edd3 7a00 vldr s15, [r3] 806dece: eef5 7ac0 vcmpe.f32 s15, #0.0 806ded2: eef1 fa10 vmrs APSR_nzcv, fpscr 806ded6: d521 bpl.n 806df1c { f = (25 * f / 5.0f) + 0.5f; 806ded8: f507 638b add.w r3, r7, #1112 ; 0x458 806dedc: edd3 7a00 vldr s15, [r3] 806dee0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806dee4: ee27 7a87 vmul.f32 s14, s15, s14 806dee8: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806deec: eec7 7a26 vdiv.f32 s15, s14, s13 806def0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806def4: ee77 7a87 vadd.f32 s15, s15, s14 806def8: f507 638b add.w r3, r7, #1112 ; 0x458 806defc: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806df00: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806df04: f507 628b add.w r2, r7, #1112 ; 0x458 806df08: edd2 7a00 vldr s15, [r2] 806df0c: eefd 7ae7 vcvt.s32.f32 s15, s15 806df10: ee17 2a90 vmov r2, s15 806df14: 1a9b subs r3, r3, r2 806df16: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806df1a: e331 b.n 806e580 } else if(f == 0.0f) 806df1c: f507 638b add.w r3, r7, #1112 ; 0x458 806df20: edd3 7a00 vldr s15, [r3] 806df24: eef5 7a40 vcmp.f32 s15, #0.0 806df28: eef1 fa10 vmrs APSR_nzcv, fpscr 806df2c: d104 bne.n 806df38 { y = y2; 806df2e: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806df32: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806df36: e323 b.n 806e580 } else if(f <= 5.0f) 806df38: f507 638b add.w r3, r7, #1112 ; 0x458 806df3c: edd3 7a00 vldr s15, [r3] 806df40: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 806df44: eef4 7ac7 vcmpe.f32 s15, s14 806df48: eef1 fa10 vmrs APSR_nzcv, fpscr 806df4c: d821 bhi.n 806df92 { f = (25 * f / 5.0f) + 0.5f; 806df4e: f507 638b add.w r3, r7, #1112 ; 0x458 806df52: edd3 7a00 vldr s15, [r3] 806df56: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806df5a: ee27 7a87 vmul.f32 s14, s15, s14 806df5e: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806df62: eec7 7a26 vdiv.f32 s15, s14, s13 806df66: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806df6a: ee77 7a87 vadd.f32 s15, s15, s14 806df6e: f507 638b add.w r3, r7, #1112 ; 0x458 806df72: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806df76: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806df7a: f507 628b add.w r2, r7, #1112 ; 0x458 806df7e: edd2 7a00 vldr s15, [r2] 806df82: eefd 7ae7 vcvt.s32.f32 s15, s15 806df86: ee17 2a90 vmov r2, s15 806df8a: 1a9b subs r3, r3, r2 806df8c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806df90: e2f6 b.n 806e580 } else if(f <= 10.0f) 806df92: f507 638b add.w r3, r7, #1112 ; 0x458 806df96: edd3 7a00 vldr s15, [r3] 806df9a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806df9e: eef4 7ac7 vcmpe.f32 s15, s14 806dfa2: eef1 fa10 vmrs APSR_nzcv, fpscr 806dfa6: d825 bhi.n 806dff4 { f = (25 * (f - 5.0f) / 5.0f) + 0.5f; 806dfa8: f507 638b add.w r3, r7, #1112 ; 0x458 806dfac: edd3 7a00 vldr s15, [r3] 806dfb0: eeb1 7a04 vmov.f32 s14, #20 ; 0x40a00000 5.0 806dfb4: ee77 7ac7 vsub.f32 s15, s15, s14 806dfb8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806dfbc: ee27 7a87 vmul.f32 s14, s15, s14 806dfc0: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806dfc4: eec7 7a26 vdiv.f32 s15, s14, s13 806dfc8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806dfcc: ee77 7a87 vadd.f32 s15, s15, s14 806dfd0: f507 638b add.w r3, r7, #1112 ; 0x458 806dfd4: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806dfd8: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806dfdc: f507 628b add.w r2, r7, #1112 ; 0x458 806dfe0: edd2 7a00 vldr s15, [r2] 806dfe4: eefd 7ae7 vcvt.s32.f32 s15, s15 806dfe8: ee17 2a90 vmov r2, s15 806dfec: 1a9b subs r3, r3, r2 806dfee: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806dff2: e2c5 b.n 806e580 } else if(f <= 15.0f) 806dff4: f507 638b add.w r3, r7, #1112 ; 0x458 806dff8: edd3 7a00 vldr s15, [r3] 806dffc: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 806e000: eef4 7ac7 vcmpe.f32 s15, s14 806e004: eef1 fa10 vmrs APSR_nzcv, fpscr 806e008: f200 82ba bhi.w 806e580 { f = (25 * (f - 10.0f) / 5.0f) + 0.5f; 806e00c: f507 638b add.w r3, r7, #1112 ; 0x458 806e010: edd3 7a00 vldr s15, [r3] 806e014: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806e018: ee77 7ac7 vsub.f32 s15, s15, s14 806e01c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e020: ee27 7a87 vmul.f32 s14, s15, s14 806e024: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806e028: eec7 7a26 vdiv.f32 s15, s14, s13 806e02c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e030: ee77 7a87 vadd.f32 s15, s15, s14 806e034: f507 638b add.w r3, r7, #1112 ; 0x458 806e038: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806e03c: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e040: f507 628b add.w r2, r7, #1112 ; 0x458 806e044: edd2 7a00 vldr s15, [r2] 806e048: eefd 7ae7 vcvt.s32.f32 s15, s15 806e04c: ee17 2a90 vmov r2, s15 806e050: 1a9b subs r3, r3, r2 806e052: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e056: e293 b.n 806e580 } } else if(fmax <= 100.0f) ///////// 806e058: f207 434c addw r3, r7, #1100 ; 0x44c 806e05c: edd3 7a00 vldr s15, [r3] 806e060: ed9f 7a6b vldr s14, [pc, #428] ; 806e210 806e064: eef4 7ac7 vcmpe.f32 s15, s14 806e068: eef1 fa10 vmrs APSR_nzcv, fpscr 806e06c: f200 80e0 bhi.w 806e230 { if(f < 0.0f) 806e070: f507 638b add.w r3, r7, #1112 ; 0x458 806e074: edd3 7a00 vldr s15, [r3] 806e078: eef5 7ac0 vcmpe.f32 s15, #0.0 806e07c: eef1 fa10 vmrs APSR_nzcv, fpscr 806e080: d521 bpl.n 806e0c6 { f = (25 * f / 5.0f) + 0.5f; 806e082: f507 638b add.w r3, r7, #1112 ; 0x458 806e086: edd3 7a00 vldr s15, [r3] 806e08a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e08e: ee27 7a87 vmul.f32 s14, s15, s14 806e092: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806e096: eec7 7a26 vdiv.f32 s15, s14, s13 806e09a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e09e: ee77 7a87 vadd.f32 s15, s15, s14 806e0a2: f507 638b add.w r3, r7, #1112 ; 0x458 806e0a6: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806e0aa: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e0ae: f507 628b add.w r2, r7, #1112 ; 0x458 806e0b2: edd2 7a00 vldr s15, [r2] 806e0b6: eefd 7ae7 vcvt.s32.f32 s15, s15 806e0ba: ee17 2a90 vmov r2, s15 806e0be: 1a9b subs r3, r3, r2 806e0c0: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e0c4: e25c b.n 806e580 } else if(f == 0.0f) 806e0c6: f507 638b add.w r3, r7, #1112 ; 0x458 806e0ca: edd3 7a00 vldr s15, [r3] 806e0ce: eef5 7a40 vcmp.f32 s15, #0.0 806e0d2: eef1 fa10 vmrs APSR_nzcv, fpscr 806e0d6: d104 bne.n 806e0e2 { y = y2; 806e0d8: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e0dc: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e0e0: e24e b.n 806e580 } else if(f <= 10.0f) 806e0e2: f507 638b add.w r3, r7, #1112 ; 0x458 806e0e6: edd3 7a00 vldr s15, [r3] 806e0ea: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806e0ee: eef4 7ac7 vcmpe.f32 s15, s14 806e0f2: eef1 fa10 vmrs APSR_nzcv, fpscr 806e0f6: d821 bhi.n 806e13c { f = (25 * f / 10.0f) + 0.5f; 806e0f8: f507 638b add.w r3, r7, #1112 ; 0x458 806e0fc: edd3 7a00 vldr s15, [r3] 806e100: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e104: ee27 7a87 vmul.f32 s14, s15, s14 806e108: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 806e10c: eec7 7a26 vdiv.f32 s15, s14, s13 806e110: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e114: ee77 7a87 vadd.f32 s15, s15, s14 806e118: f507 638b add.w r3, r7, #1112 ; 0x458 806e11c: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806e120: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e124: f507 628b add.w r2, r7, #1112 ; 0x458 806e128: edd2 7a00 vldr s15, [r2] 806e12c: eefd 7ae7 vcvt.s32.f32 s15, s15 806e130: ee17 2a90 vmov r2, s15 806e134: 1a9b subs r3, r3, r2 806e136: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e13a: e221 b.n 806e580 } else if(f <= 50.0f) 806e13c: f507 638b add.w r3, r7, #1112 ; 0x458 806e140: edd3 7a00 vldr s15, [r3] 806e144: ed9f 7a30 vldr s14, [pc, #192] ; 806e208 806e148: eef4 7ac7 vcmpe.f32 s15, s14 806e14c: eef1 fa10 vmrs APSR_nzcv, fpscr 806e150: d825 bhi.n 806e19e { f = (25 * (f - 10.0f) / (50.0f - 10.0f)) + 0.5f; 806e152: f507 638b add.w r3, r7, #1112 ; 0x458 806e156: edd3 7a00 vldr s15, [r3] 806e15a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806e15e: ee77 7ac7 vsub.f32 s15, s15, s14 806e162: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e166: ee27 7a87 vmul.f32 s14, s15, s14 806e16a: eddf 6a28 vldr s13, [pc, #160] ; 806e20c 806e16e: eec7 7a26 vdiv.f32 s15, s14, s13 806e172: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e176: ee77 7a87 vadd.f32 s15, s15, s14 806e17a: f507 638b add.w r3, r7, #1112 ; 0x458 806e17e: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806e182: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e186: f507 628b add.w r2, r7, #1112 ; 0x458 806e18a: edd2 7a00 vldr s15, [r2] 806e18e: eefd 7ae7 vcvt.s32.f32 s15, s15 806e192: ee17 2a90 vmov r2, s15 806e196: 1a9b subs r3, r3, r2 806e198: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e19c: e1f0 b.n 806e580 } else if(f <= 100.0f) 806e19e: f507 638b add.w r3, r7, #1112 ; 0x458 806e1a2: edd3 7a00 vldr s15, [r3] 806e1a6: ed9f 7a1a vldr s14, [pc, #104] ; 806e210 806e1aa: eef4 7ac7 vcmpe.f32 s15, s14 806e1ae: eef1 fa10 vmrs APSR_nzcv, fpscr 806e1b2: f200 81e5 bhi.w 806e580 { f = (25 * (f - 50.0f) / (100.0f - 50.0f)) + 0.5f; 806e1b6: f507 638b add.w r3, r7, #1112 ; 0x458 806e1ba: edd3 7a00 vldr s15, [r3] 806e1be: ed9f 7a12 vldr s14, [pc, #72] ; 806e208 806e1c2: ee77 7ac7 vsub.f32 s15, s15, s14 806e1c6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e1ca: ee27 7a87 vmul.f32 s14, s15, s14 806e1ce: eddf 6a0e vldr s13, [pc, #56] ; 806e208 806e1d2: eec7 7a26 vdiv.f32 s15, s14, s13 806e1d6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e1da: ee77 7a87 vadd.f32 s15, s15, s14 806e1de: f507 638b add.w r3, r7, #1112 ; 0x458 806e1e2: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806e1e6: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e1ea: f507 628b add.w r2, r7, #1112 ; 0x458 806e1ee: edd2 7a00 vldr s15, [r2] 806e1f2: eefd 7ae7 vcvt.s32.f32 s15, s15 806e1f6: ee17 2a90 vmov r2, s15 806e1fa: 1a9b subs r3, r3, r2 806e1fc: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e200: e1be b.n 806e580 806e202: bf00 nop 806e204: 64080000 .word 0x64080000 806e208: 42480000 .word 0x42480000 806e20c: 42200000 .word 0x42200000 806e210: 42c80000 .word 0x42c80000 806e214: 43c80000 .word 0x43c80000 806e218: 43fa0000 .word 0x43fa0000 806e21c: 447a0000 .word 0x447a0000 806e220: 457a0000 .word 0x457a0000 806e224: 461c4000 .word 0x461c4000 806e228: 459c4000 .word 0x459c4000 806e22c: 43800000 .word 0x43800000 } } else if(fmax <= 1000.0f) ///////// 806e230: f207 434c addw r3, r7, #1100 ; 0x44c 806e234: edd3 7a00 vldr s15, [r3] 806e238: ed1f 7a08 vldr s14, [pc, #-32] ; 806e21c 806e23c: eef4 7ac7 vcmpe.f32 s15, s14 806e240: eef1 fa10 vmrs APSR_nzcv, fpscr 806e244: f200 80c9 bhi.w 806e3da { if(f < 0.0f) 806e248: f507 638b add.w r3, r7, #1112 ; 0x458 806e24c: edd3 7a00 vldr s15, [r3] 806e250: eef5 7ac0 vcmpe.f32 s15, #0.0 806e254: eef1 fa10 vmrs APSR_nzcv, fpscr 806e258: d521 bpl.n 806e29e { f = (25 * f / 5.0f) + 0.5f; 806e25a: f507 638b add.w r3, r7, #1112 ; 0x458 806e25e: edd3 7a00 vldr s15, [r3] 806e262: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e266: ee27 7a87 vmul.f32 s14, s15, s14 806e26a: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806e26e: eec7 7a26 vdiv.f32 s15, s14, s13 806e272: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e276: ee77 7a87 vadd.f32 s15, s15, s14 806e27a: f507 638b add.w r3, r7, #1112 ; 0x458 806e27e: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806e282: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e286: f507 628b add.w r2, r7, #1112 ; 0x458 806e28a: edd2 7a00 vldr s15, [r2] 806e28e: eefd 7ae7 vcvt.s32.f32 s15, s15 806e292: ee17 2a90 vmov r2, s15 806e296: 1a9b subs r3, r3, r2 806e298: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e29c: e170 b.n 806e580 } else if(f == 0.0f) 806e29e: f507 638b add.w r3, r7, #1112 ; 0x458 806e2a2: edd3 7a00 vldr s15, [r3] 806e2a6: eef5 7a40 vcmp.f32 s15, #0.0 806e2aa: eef1 fa10 vmrs APSR_nzcv, fpscr 806e2ae: d104 bne.n 806e2ba { y = y2; 806e2b0: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e2b4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e2b8: e162 b.n 806e580 } else if(f <= 100.0f) 806e2ba: f507 638b add.w r3, r7, #1112 ; 0x458 806e2be: edd3 7a00 vldr s15, [r3] 806e2c2: ed1f 7a2d vldr s14, [pc, #-180] ; 806e210 806e2c6: eef4 7ac7 vcmpe.f32 s15, s14 806e2ca: eef1 fa10 vmrs APSR_nzcv, fpscr 806e2ce: d821 bhi.n 806e314 { f = (25 * f / 100.0f) + 0.5f; 806e2d0: f507 638b add.w r3, r7, #1112 ; 0x458 806e2d4: edd3 7a00 vldr s15, [r3] 806e2d8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e2dc: ee27 7a87 vmul.f32 s14, s15, s14 806e2e0: ed5f 6a35 vldr s13, [pc, #-212] ; 806e210 806e2e4: eec7 7a26 vdiv.f32 s15, s14, s13 806e2e8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e2ec: ee77 7a87 vadd.f32 s15, s15, s14 806e2f0: f507 638b add.w r3, r7, #1112 ; 0x458 806e2f4: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806e2f8: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e2fc: f507 628b add.w r2, r7, #1112 ; 0x458 806e300: edd2 7a00 vldr s15, [r2] 806e304: eefd 7ae7 vcvt.s32.f32 s15, s15 806e308: ee17 2a90 vmov r2, s15 806e30c: 1a9b subs r3, r3, r2 806e30e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e312: e135 b.n 806e580 } else if(f <= 500.0f) 806e314: f507 638b add.w r3, r7, #1112 ; 0x458 806e318: edd3 7a00 vldr s15, [r3] 806e31c: ed1f 7a42 vldr s14, [pc, #-264] ; 806e218 806e320: eef4 7ac7 vcmpe.f32 s15, s14 806e324: eef1 fa10 vmrs APSR_nzcv, fpscr 806e328: d825 bhi.n 806e376 { f = (25 * (f - 100.0f) / (500.0f - 100.0f)) + 0.5f; 806e32a: f507 638b add.w r3, r7, #1112 ; 0x458 806e32e: edd3 7a00 vldr s15, [r3] 806e332: ed1f 7a49 vldr s14, [pc, #-292] ; 806e210 806e336: ee77 7ac7 vsub.f32 s15, s15, s14 806e33a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e33e: ee27 7a87 vmul.f32 s14, s15, s14 806e342: ed5f 6a4c vldr s13, [pc, #-304] ; 806e214 806e346: eec7 7a26 vdiv.f32 s15, s14, s13 806e34a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e34e: ee77 7a87 vadd.f32 s15, s15, s14 806e352: f507 638b add.w r3, r7, #1112 ; 0x458 806e356: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806e35a: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e35e: f507 628b add.w r2, r7, #1112 ; 0x458 806e362: edd2 7a00 vldr s15, [r2] 806e366: eefd 7ae7 vcvt.s32.f32 s15, s15 806e36a: ee17 2a90 vmov r2, s15 806e36e: 1a9b subs r3, r3, r2 806e370: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e374: e104 b.n 806e580 } else if(f <= 1000.0f) 806e376: f507 638b add.w r3, r7, #1112 ; 0x458 806e37a: edd3 7a00 vldr s15, [r3] 806e37e: ed1f 7a59 vldr s14, [pc, #-356] ; 806e21c 806e382: eef4 7ac7 vcmpe.f32 s15, s14 806e386: eef1 fa10 vmrs APSR_nzcv, fpscr 806e38a: f200 80f9 bhi.w 806e580 { f = (25 * (f - 500.0f) / (1000.0f - 500.0f)) + 0.5f; 806e38e: f507 638b add.w r3, r7, #1112 ; 0x458 806e392: edd3 7a00 vldr s15, [r3] 806e396: ed1f 7a60 vldr s14, [pc, #-384] ; 806e218 806e39a: ee77 7ac7 vsub.f32 s15, s15, s14 806e39e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e3a2: ee27 7a87 vmul.f32 s14, s15, s14 806e3a6: ed5f 6a64 vldr s13, [pc, #-400] ; 806e218 806e3aa: eec7 7a26 vdiv.f32 s15, s14, s13 806e3ae: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e3b2: ee77 7a87 vadd.f32 s15, s15, s14 806e3b6: f507 638b add.w r3, r7, #1112 ; 0x458 806e3ba: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806e3be: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e3c2: f507 628b add.w r2, r7, #1112 ; 0x458 806e3c6: edd2 7a00 vldr s15, [r2] 806e3ca: eefd 7ae7 vcvt.s32.f32 s15, s15 806e3ce: ee17 2a90 vmov r2, s15 806e3d2: 1a9b subs r3, r3, r2 806e3d4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e3d8: e0d2 b.n 806e580 } } else if(fmax <= 10000.0f) ///////// 806e3da: f207 434c addw r3, r7, #1100 ; 0x44c 806e3de: edd3 7a00 vldr s15, [r3] 806e3e2: ed1f 7a70 vldr s14, [pc, #-448] ; 806e224 806e3e6: eef4 7ac7 vcmpe.f32 s15, s14 806e3ea: eef1 fa10 vmrs APSR_nzcv, fpscr 806e3ee: f200 80c7 bhi.w 806e580 { if(f < 0.0f) 806e3f2: f507 638b add.w r3, r7, #1112 ; 0x458 806e3f6: edd3 7a00 vldr s15, [r3] 806e3fa: eef5 7ac0 vcmpe.f32 s15, #0.0 806e3fe: eef1 fa10 vmrs APSR_nzcv, fpscr 806e402: d521 bpl.n 806e448 { f = (25 * f / 5.0f) + 0.5f; 806e404: f507 638b add.w r3, r7, #1112 ; 0x458 806e408: edd3 7a00 vldr s15, [r3] 806e40c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e410: ee27 7a87 vmul.f32 s14, s15, s14 806e414: eef1 6a04 vmov.f32 s13, #20 ; 0x40a00000 5.0 806e418: eec7 7a26 vdiv.f32 s15, s14, s13 806e41c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e420: ee77 7a87 vadd.f32 s15, s15, s14 806e424: f507 638b add.w r3, r7, #1112 ; 0x458 806e428: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806e42c: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e430: f507 628b add.w r2, r7, #1112 ; 0x458 806e434: edd2 7a00 vldr s15, [r2] 806e438: eefd 7ae7 vcvt.s32.f32 s15, s15 806e43c: ee17 2a90 vmov r2, s15 806e440: 1a9b subs r3, r3, r2 806e442: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e446: e09b b.n 806e580 } else if(f == 0.0f) 806e448: f507 638b add.w r3, r7, #1112 ; 0x458 806e44c: edd3 7a00 vldr s15, [r3] 806e450: eef5 7a40 vcmp.f32 s15, #0.0 806e454: eef1 fa10 vmrs APSR_nzcv, fpscr 806e458: d104 bne.n 806e464 { y = y2; 806e45a: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e45e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e462: e08d b.n 806e580 } else if(f <= 1000.0f) 806e464: f507 638b add.w r3, r7, #1112 ; 0x458 806e468: edd3 7a00 vldr s15, [r3] 806e46c: ed1f 7a95 vldr s14, [pc, #-596] ; 806e21c 806e470: eef4 7ac7 vcmpe.f32 s15, s14 806e474: eef1 fa10 vmrs APSR_nzcv, fpscr 806e478: d821 bhi.n 806e4be { f = (25 * f / 1000.0f) + 0.5f; 806e47a: f507 638b add.w r3, r7, #1112 ; 0x458 806e47e: edd3 7a00 vldr s15, [r3] 806e482: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e486: ee27 7a87 vmul.f32 s14, s15, s14 806e48a: ed5f 6a9c vldr s13, [pc, #-624] ; 806e21c 806e48e: eec7 7a26 vdiv.f32 s15, s14, s13 806e492: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e496: ee77 7a87 vadd.f32 s15, s15, s14 806e49a: f507 638b add.w r3, r7, #1112 ; 0x458 806e49e: edc3 7a00 vstr s15, [r3] y = y2 - (int32_t) f; 806e4a2: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e4a6: f507 628b add.w r2, r7, #1112 ; 0x458 806e4aa: edd2 7a00 vldr s15, [r2] 806e4ae: eefd 7ae7 vcvt.s32.f32 s15, s15 806e4b2: ee17 2a90 vmov r2, s15 806e4b6: 1a9b subs r3, r3, r2 806e4b8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e4bc: e060 b.n 806e580 } else if(f <= 5000.0f) 806e4be: f507 638b add.w r3, r7, #1112 ; 0x458 806e4c2: edd3 7a00 vldr s15, [r3] 806e4c6: ed1f 7aa8 vldr s14, [pc, #-672] ; 806e228 806e4ca: eef4 7ac7 vcmpe.f32 s15, s14 806e4ce: eef1 fa10 vmrs APSR_nzcv, fpscr 806e4d2: d825 bhi.n 806e520 { f = (25 * (f - 1000.0f) / (5000.0f - 1000.0f)) + 0.5f; 806e4d4: f507 638b add.w r3, r7, #1112 ; 0x458 806e4d8: edd3 7a00 vldr s15, [r3] 806e4dc: ed1f 7ab1 vldr s14, [pc, #-708] ; 806e21c 806e4e0: ee77 7ac7 vsub.f32 s15, s15, s14 806e4e4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e4e8: ee27 7a87 vmul.f32 s14, s15, s14 806e4ec: ed5f 6ab4 vldr s13, [pc, #-720] ; 806e220 806e4f0: eec7 7a26 vdiv.f32 s15, s14, s13 806e4f4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e4f8: ee77 7a87 vadd.f32 s15, s15, s14 806e4fc: f507 638b add.w r3, r7, #1112 ; 0x458 806e500: edc3 7a00 vstr s15, [r3] y = y3 - (int32_t) f; 806e504: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e508: f507 628b add.w r2, r7, #1112 ; 0x458 806e50c: edd2 7a00 vldr s15, [r2] 806e510: eefd 7ae7 vcvt.s32.f32 s15, s15 806e514: ee17 2a90 vmov r2, s15 806e518: 1a9b subs r3, r3, r2 806e51a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806e51e: e02f b.n 806e580 } else if(f <= 10000.0f) 806e520: f507 638b add.w r3, r7, #1112 ; 0x458 806e524: edd3 7a00 vldr s15, [r3] 806e528: ed1f 7ac2 vldr s14, [pc, #-776] ; 806e224 806e52c: eef4 7ac7 vcmpe.f32 s15, s14 806e530: eef1 fa10 vmrs APSR_nzcv, fpscr 806e534: d824 bhi.n 806e580 { f = (25 * (f - 5000.0f) / (10000.0f - 5000.0f)) + 0.5f; 806e536: f507 638b add.w r3, r7, #1112 ; 0x458 806e53a: edd3 7a00 vldr s15, [r3] 806e53e: ed1f 7ac6 vldr s14, [pc, #-792] ; 806e228 806e542: ee77 7ac7 vsub.f32 s15, s15, s14 806e546: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806e54a: ee27 7a87 vmul.f32 s14, s15, s14 806e54e: ed5f 6aca vldr s13, [pc, #-808] ; 806e228 806e552: eec7 7a26 vdiv.f32 s15, s14, s13 806e556: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e55a: ee77 7a87 vadd.f32 s15, s15, s14 806e55e: f507 638b add.w r3, r7, #1112 ; 0x458 806e562: edc3 7a00 vstr s15, [r3] y = y4 - (int32_t) f; 806e566: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e56a: f507 628b add.w r2, r7, #1112 ; 0x458 806e56e: edd2 7a00 vldr s15, [r2] 806e572: eefd 7ae7 vcvt.s32.f32 s15, s15 806e576: ee17 2a90 vmov r2, s15 806e57a: 1a9b subs r3, r3, r2 806e57c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 } } if(l == 1) 806e580: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e584: 2b01 cmp r3, #1 806e586: d119 bne.n 806e5bc { x = 256; 806e588: f44f 7380 mov.w r3, #256 ; 0x100 806e58c: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 oldx = 0; 806e590: 2300 movs r3, #0 806e592: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 BSP_LCD_DrawLine(62 + oldx, y, 62 + x, y); 806e596: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 806e59a: b29b uxth r3, r3 806e59c: 333e adds r3, #62 ; 0x3e 806e59e: b298 uxth r0, r3 806e5a0: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806e5a4: b299 uxth r1, r3 806e5a6: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806e5aa: b29b uxth r3, r3 806e5ac: 333e adds r3, #62 ; 0x3e 806e5ae: b29a uxth r2, r3 806e5b0: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806e5b4: b29b uxth r3, r3 806e5b6: f7e5 fb4f bl 8053c58 806e5ba: e055 b.n 806e668 } else { fs = 256.0f / (float32_t) (l - 1); 806e5bc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e5c0: 3b01 subs r3, #1 806e5c2: ee07 3a90 vmov s15, r3 806e5c6: eeb8 7a67 vcvt.f32.u32 s14, s15 806e5ca: ed5f 6ae8 vldr s13, [pc, #-928] ; 806e22c 806e5ce: eec6 7a87 vdiv.f32 s15, s13, s14 806e5d2: f207 4314 addw r3, r7, #1044 ; 0x414 806e5d6: edc3 7a00 vstr s15, [r3] x = (uint32_t) ((fs * (float32_t) i) + 0.5f); 806e5da: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e5de: ee07 3a90 vmov s15, r3 806e5e2: eeb8 7a67 vcvt.f32.u32 s14, s15 806e5e6: f207 4314 addw r3, r7, #1044 ; 0x414 806e5ea: edd3 7a00 vldr s15, [r3] 806e5ee: ee67 7a27 vmul.f32 s15, s14, s15 806e5f2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806e5f6: ee77 7a87 vadd.f32 s15, s15, s14 806e5fa: eefc 7ae7 vcvt.u32.f32 s15, s15 806e5fe: ee17 3a90 vmov r3, s15 806e602: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 if(i == 0) 806e606: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e60a: 2b00 cmp r3, #0 806e60c: d112 bne.n 806e634 BSP_LCD_DrawLine(62 + x, y, 62 + x, y); 806e60e: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806e612: b29b uxth r3, r3 806e614: 333e adds r3, #62 ; 0x3e 806e616: b298 uxth r0, r3 806e618: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806e61c: b299 uxth r1, r3 806e61e: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806e622: b29b uxth r3, r3 806e624: 333e adds r3, #62 ; 0x3e 806e626: b29a uxth r2, r3 806e628: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806e62c: b29b uxth r3, r3 806e62e: f7e5 fb13 bl 8053c58 806e632: e011 b.n 806e658 else BSP_LCD_DrawLine(62 + oldx, oldy, 62 + x, y); 806e634: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 806e638: b29b uxth r3, r3 806e63a: 333e adds r3, #62 ; 0x3e 806e63c: b298 uxth r0, r3 806e63e: f8d7 345c ldr.w r3, [r7, #1116] ; 0x45c 806e642: b299 uxth r1, r3 806e644: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806e648: b29b uxth r3, r3 806e64a: 333e adds r3, #62 ; 0x3e 806e64c: b29a uxth r2, r3 806e64e: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806e652: b29b uxth r3, r3 806e654: f7e5 fb00 bl 8053c58 oldx = x; 806e658: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806e65c: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 oldy = y; 806e660: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806e664: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < l; i++) 806e668: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806e66c: 3301 adds r3, #1 806e66e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806e672: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806e676: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e67a: 429a cmp r2, r3 806e67c: f4ff ac0e bcc.w 806de9c oldy = y; } } } } break; 806e680: f028 bfa9 b.w 80975d6 if(menupos == Trend_factor) 806e684: 4b68 ldr r3, [pc, #416] ; (806e828 ) 806e686: 781b ldrb r3, [r3, #0] 806e688: b2db uxtb r3, r3 806e68a: 2b03 cmp r3, #3 806e68c: f041 8288 bne.w 806fba0 if(l) 806e690: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e694: 2b00 cmp r3, #0 806e696: f028 879e beq.w 80975d6 y0 = 217; 806e69a: 23d9 movs r3, #217 ; 0xd9 806e69c: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = 192; 806e6a0: 23c0 movs r3, #192 ; 0xc0 806e6a2: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a y2 = 167; 806e6a6: 23a7 movs r3, #167 ; 0xa7 806e6a8: f8a7 3438 strh.w r3, [r7, #1080] ; 0x438 y3 = 142; 806e6ac: 238e movs r3, #142 ; 0x8e 806e6ae: f8a7 3436 strh.w r3, [r7, #1078] ; 0x436 y4 = 117; 806e6b2: 2375 movs r3, #117 ; 0x75 806e6b4: f8a7 3434 strh.w r3, [r7, #1076] ; 0x434 y5 = 92; 806e6b8: 235c movs r3, #92 ; 0x5c 806e6ba: f8a7 3432 strh.w r3, [r7, #1074] ; 0x432 y6 = 67; 806e6be: 2343 movs r3, #67 ; 0x43 806e6c0: f8a7 3430 strh.w r3, [r7, #1072] ; 0x430 BSP_LCD_SetFont(&Font8); 806e6c4: 4859 ldr r0, [pc, #356] ; (806e82c ) 806e6c6: f7e5 f8c9 bl 805385c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806e6ca: 4959 ldr r1, [pc, #356] ; (806e830 ) 806e6cc: 4859 ldr r0, [pc, #356] ; (806e834 ) 806e6ce: f7e5 f889 bl 80537e4 if(fmax <= 10.0f) 806e6d2: f207 434c addw r3, r7, #1100 ; 0x44c 806e6d6: edd3 7a00 vldr s15, [r3] 806e6da: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806e6de: eef4 7ac7 vcmpe.f32 s15, s14 806e6e2: eef1 fa10 vmrs APSR_nzcv, fpscr 806e6e6: d82d bhi.n 806e744 BSP_LCD_DisplayStringAt(59, y5 - 2, "10", RIGHT_MODE); 806e6e8: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806e6ec: 3b02 subs r3, #2 806e6ee: b299 uxth r1, r3 806e6f0: 2302 movs r3, #2 806e6f2: 4a51 ldr r2, [pc, #324] ; (806e838 ) 806e6f4: 203b movs r0, #59 ; 0x3b 806e6f6: f7e5 f93b bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "7.75", RIGHT_MODE); 806e6fa: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e6fe: 3b02 subs r3, #2 806e700: b299 uxth r1, r3 806e702: 2302 movs r3, #2 806e704: 4a4d ldr r2, [pc, #308] ; (806e83c ) 806e706: 203b movs r0, #59 ; 0x3b 806e708: f7e5 f932 bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "5.5", RIGHT_MODE); 806e70c: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e710: 3b02 subs r3, #2 806e712: b299 uxth r1, r3 806e714: 2302 movs r3, #2 806e716: 4a4a ldr r2, [pc, #296] ; (806e840 ) 806e718: 203b movs r0, #59 ; 0x3b 806e71a: f7e5 f929 bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "3.25", RIGHT_MODE); 806e71e: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e722: 3b02 subs r3, #2 806e724: b299 uxth r1, r3 806e726: 2302 movs r3, #2 806e728: 4a46 ldr r2, [pc, #280] ; (806e844 ) 806e72a: 203b movs r0, #59 ; 0x3b 806e72c: f7e5 f920 bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 806e730: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806e734: 3b02 subs r3, #2 806e736: b299 uxth r1, r3 806e738: 2302 movs r3, #2 806e73a: 4a43 ldr r2, [pc, #268] ; (806e848 ) 806e73c: 203b movs r0, #59 ; 0x3b 806e73e: f7e5 f917 bl 8053970 806e742: e0cb b.n 806e8dc if(fmax <= 100.0f) 806e744: f207 434c addw r3, r7, #1100 ; 0x44c 806e748: edd3 7a00 vldr s15, [r3] 806e74c: ed9f 7a3f vldr s14, [pc, #252] ; 806e84c 806e750: eef4 7ac7 vcmpe.f32 s15, s14 806e754: eef1 fa10 vmrs APSR_nzcv, fpscr 806e758: d82d bhi.n 806e7b6 BSP_LCD_DisplayStringAt(59, y5 - 2, "100", RIGHT_MODE); 806e75a: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806e75e: 3b02 subs r3, #2 806e760: b299 uxth r1, r3 806e762: 2302 movs r3, #2 806e764: 4a3a ldr r2, [pc, #232] ; (806e850 ) 806e766: 203b movs r0, #59 ; 0x3b 806e768: f7e5 f902 bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "50", RIGHT_MODE); 806e76c: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e770: 3b02 subs r3, #2 806e772: b299 uxth r1, r3 806e774: 2302 movs r3, #2 806e776: 4a37 ldr r2, [pc, #220] ; (806e854 ) 806e778: 203b movs r0, #59 ; 0x3b 806e77a: f7e5 f8f9 bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "10", RIGHT_MODE); 806e77e: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e782: 3b02 subs r3, #2 806e784: b299 uxth r1, r3 806e786: 2302 movs r3, #2 806e788: 4a2b ldr r2, [pc, #172] ; (806e838 ) 806e78a: 203b movs r0, #59 ; 0x3b 806e78c: f7e5 f8f0 bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "5", RIGHT_MODE); 806e790: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e794: 3b02 subs r3, #2 806e796: b299 uxth r1, r3 806e798: 2302 movs r3, #2 806e79a: 4a2f ldr r2, [pc, #188] ; (806e858 ) 806e79c: 203b movs r0, #59 ; 0x3b 806e79e: f7e5 f8e7 bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 806e7a2: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806e7a6: 3b02 subs r3, #2 806e7a8: b299 uxth r1, r3 806e7aa: 2302 movs r3, #2 806e7ac: 4a26 ldr r2, [pc, #152] ; (806e848 ) 806e7ae: 203b movs r0, #59 ; 0x3b 806e7b0: f7e5 f8de bl 8053970 806e7b4: e092 b.n 806e8dc if(fmax <= 1000.0f) 806e7b6: f207 434c addw r3, r7, #1100 ; 0x44c 806e7ba: edd3 7a00 vldr s15, [r3] 806e7be: ed9f 7a27 vldr s14, [pc, #156] ; 806e85c 806e7c2: eef4 7ac7 vcmpe.f32 s15, s14 806e7c6: eef1 fa10 vmrs APSR_nzcv, fpscr 806e7ca: d84f bhi.n 806e86c BSP_LCD_DisplayStringAt(59, y5 - 2, "1000", RIGHT_MODE); 806e7cc: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806e7d0: 3b02 subs r3, #2 806e7d2: b299 uxth r1, r3 806e7d4: 2302 movs r3, #2 806e7d6: 4a22 ldr r2, [pc, #136] ; (806e860 ) 806e7d8: 203b movs r0, #59 ; 0x3b 806e7da: f7e5 f8c9 bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "500", RIGHT_MODE); 806e7de: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e7e2: 3b02 subs r3, #2 806e7e4: b299 uxth r1, r3 806e7e6: 2302 movs r3, #2 806e7e8: 4a1e ldr r2, [pc, #120] ; (806e864 ) 806e7ea: 203b movs r0, #59 ; 0x3b 806e7ec: f7e5 f8c0 bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 806e7f0: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e7f4: 3b02 subs r3, #2 806e7f6: b299 uxth r1, r3 806e7f8: 2302 movs r3, #2 806e7fa: 4a15 ldr r2, [pc, #84] ; (806e850 ) 806e7fc: 203b movs r0, #59 ; 0x3b 806e7fe: f7e5 f8b7 bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "50", RIGHT_MODE); 806e802: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e806: 3b02 subs r3, #2 806e808: b299 uxth r1, r3 806e80a: 2302 movs r3, #2 806e80c: 4a11 ldr r2, [pc, #68] ; (806e854 ) 806e80e: 203b movs r0, #59 ; 0x3b 806e810: f7e5 f8ae bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "10", RIGHT_MODE); 806e814: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806e818: 3b02 subs r3, #2 806e81a: b299 uxth r1, r3 806e81c: 2302 movs r3, #2 806e81e: 4a06 ldr r2, [pc, #24] ; (806e838 ) 806e820: 203b movs r0, #59 ; 0x3b 806e822: f7e5 f8a5 bl 8053970 806e826: e059 b.n 806e8dc 806e828: 20020070 .word 0x20020070 806e82c: 20020060 .word 0x20020060 806e830: ff0a0f1f .word 0xff0a0f1f 806e834: ffd3d3d3 .word 0xffd3d3d3 806e838: 080cfa88 .word 0x080cfa88 806e83c: 080cfab4 .word 0x080cfab4 806e840: 080cfabc .word 0x080cfabc 806e844: 080cfac0 .word 0x080cfac0 806e848: 080ce88c .word 0x080ce88c 806e84c: 42c80000 .word 0x42c80000 806e850: 080cfa90 .word 0x080cfa90 806e854: 080cfa94 .word 0x080cfa94 806e858: 080cf7f0 .word 0x080cf7f0 806e85c: 447a0000 .word 0x447a0000 806e860: 080cfa98 .word 0x080cfa98 806e864: 080cfaa0 .word 0x080cfaa0 806e868: 461c4000 .word 0x461c4000 if(fmax <= 10000.0f) 806e86c: f207 434c addw r3, r7, #1100 ; 0x44c 806e870: edd3 7a00 vldr s15, [r3] 806e874: ed1f 7a04 vldr s14, [pc, #-16] ; 806e868 806e878: eef4 7ac7 vcmpe.f32 s15, s14 806e87c: eef1 fa10 vmrs APSR_nzcv, fpscr 806e880: d82c bhi.n 806e8dc BSP_LCD_DisplayStringAt(59, y5 - 2, "10000", RIGHT_MODE); 806e882: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806e886: 3b02 subs r3, #2 806e888: b299 uxth r1, r3 806e88a: 2302 movs r3, #2 806e88c: 4a9b ldr r2, [pc, #620] ; (806eafc ) 806e88e: 203b movs r0, #59 ; 0x3b 806e890: f7e5 f86e bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "1000", RIGHT_MODE); 806e894: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806e898: 3b02 subs r3, #2 806e89a: b299 uxth r1, r3 806e89c: 2302 movs r3, #2 806e89e: 4a98 ldr r2, [pc, #608] ; (806eb00 ) 806e8a0: 203b movs r0, #59 ; 0x3b 806e8a2: f7e5 f865 bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 806e8a6: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806e8aa: 3b02 subs r3, #2 806e8ac: b299 uxth r1, r3 806e8ae: 2302 movs r3, #2 806e8b0: 4a94 ldr r2, [pc, #592] ; (806eb04 ) 806e8b2: 203b movs r0, #59 ; 0x3b 806e8b4: f7e5 f85c bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "10", RIGHT_MODE); 806e8b8: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806e8bc: 3b02 subs r3, #2 806e8be: b299 uxth r1, r3 806e8c0: 2302 movs r3, #2 806e8c2: 4a91 ldr r2, [pc, #580] ; (806eb08 ) 806e8c4: 203b movs r0, #59 ; 0x3b 806e8c6: f7e5 f853 bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 806e8ca: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806e8ce: 3b02 subs r3, #2 806e8d0: b299 uxth r1, r3 806e8d2: 2302 movs r3, #2 806e8d4: 4a8d ldr r2, [pc, #564] ; (806eb0c ) 806e8d6: 203b movs r0, #59 ; 0x3b 806e8d8: f7e5 f84a bl 8053970 if(l == 1) 806e8dc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806e8e0: 2b01 cmp r3, #1 806e8e2: f040 8119 bne.w 806eb18 k = CmplxA_u32(0); 806e8e6: 4b8a ldr r3, [pc, #552] ; (806eb10 ) 806e8e8: 681b ldr r3, [r3, #0] 806e8ea: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806e8ee: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e8f2: 0e5b lsrs r3, r3, #25 806e8f4: 3b14 subs r3, #20 806e8f6: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806e8fa: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e8fe: 0d5b lsrs r3, r3, #21 806e900: f003 030f and.w r3, r3, #15 806e904: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806e908: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e90c: 0c1b lsrs r3, r3, #16 806e90e: f003 031f and.w r3, r3, #31 806e912: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806e916: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e91a: 0adb lsrs r3, r3, #11 806e91c: f003 031f and.w r3, r3, #31 806e920: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806e924: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e928: 095b lsrs r3, r3, #5 806e92a: f003 033f and.w r3, r3, #63 ; 0x3f 806e92e: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806e932: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806e936: 005b lsls r3, r3, #1 806e938: f003 031f and.w r3, r3, #31 806e93c: 3301 adds r3, #1 806e93e: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806e942: f507 733b add.w r3, r7, #748 ; 0x2ec 806e946: 223c movs r2, #60 ; 0x3c 806e948: 2100 movs r1, #0 806e94a: 4618 mov r0, r3 806e94c: f05e fb98 bl 80cd080 str[0] = (Day / 10) + 48; 806e950: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806e954: 4a6f ldr r2, [pc, #444] ; (806eb14 ) 806e956: fba2 2303 umull r2, r3, r2, r3 806e95a: 08db lsrs r3, r3, #3 806e95c: b2db uxtb r3, r3 806e95e: 3330 adds r3, #48 ; 0x30 806e960: b2da uxtb r2, r3 806e962: f507 733b add.w r3, r7, #748 ; 0x2ec 806e966: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806e968: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806e96c: 4b69 ldr r3, [pc, #420] ; (806eb14 ) 806e96e: fba3 2301 umull r2, r3, r3, r1 806e972: 08da lsrs r2, r3, #3 806e974: 4613 mov r3, r2 806e976: 009b lsls r3, r3, #2 806e978: 4413 add r3, r2 806e97a: 005b lsls r3, r3, #1 806e97c: 1aca subs r2, r1, r3 806e97e: b2d3 uxtb r3, r2 806e980: 3330 adds r3, #48 ; 0x30 806e982: b2da uxtb r2, r3 806e984: f507 733b add.w r3, r7, #748 ; 0x2ec 806e988: 705a strb r2, [r3, #1] str[2] = '.'; 806e98a: f507 733b add.w r3, r7, #748 ; 0x2ec 806e98e: 222e movs r2, #46 ; 0x2e 806e990: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806e992: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806e996: 4a5f ldr r2, [pc, #380] ; (806eb14 ) 806e998: fba2 2303 umull r2, r3, r2, r3 806e99c: 08db lsrs r3, r3, #3 806e99e: b2db uxtb r3, r3 806e9a0: 3330 adds r3, #48 ; 0x30 806e9a2: b2da uxtb r2, r3 806e9a4: f507 733b add.w r3, r7, #748 ; 0x2ec 806e9a8: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806e9aa: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806e9ae: 4b59 ldr r3, [pc, #356] ; (806eb14 ) 806e9b0: fba3 2301 umull r2, r3, r3, r1 806e9b4: 08da lsrs r2, r3, #3 806e9b6: 4613 mov r3, r2 806e9b8: 009b lsls r3, r3, #2 806e9ba: 4413 add r3, r2 806e9bc: 005b lsls r3, r3, #1 806e9be: 1aca subs r2, r1, r3 806e9c0: b2d3 uxtb r3, r2 806e9c2: 3330 adds r3, #48 ; 0x30 806e9c4: b2da uxtb r2, r3 806e9c6: f507 733b add.w r3, r7, #748 ; 0x2ec 806e9ca: 711a strb r2, [r3, #4] str[5] = '.'; 806e9cc: f507 733b add.w r3, r7, #748 ; 0x2ec 806e9d0: 222e movs r2, #46 ; 0x2e 806e9d2: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806e9d4: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806e9d8: 4a4e ldr r2, [pc, #312] ; (806eb14 ) 806e9da: fba2 2303 umull r2, r3, r2, r3 806e9de: 08db lsrs r3, r3, #3 806e9e0: b2db uxtb r3, r3 806e9e2: 3330 adds r3, #48 ; 0x30 806e9e4: b2da uxtb r2, r3 806e9e6: f507 733b add.w r3, r7, #748 ; 0x2ec 806e9ea: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806e9ec: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806e9f0: 4b48 ldr r3, [pc, #288] ; (806eb14 ) 806e9f2: fba3 2301 umull r2, r3, r3, r1 806e9f6: 08da lsrs r2, r3, #3 806e9f8: 4613 mov r3, r2 806e9fa: 009b lsls r3, r3, #2 806e9fc: 4413 add r3, r2 806e9fe: 005b lsls r3, r3, #1 806ea00: 1aca subs r2, r1, r3 806ea02: b2d3 uxtb r3, r2 806ea04: 3330 adds r3, #48 ; 0x30 806ea06: b2da uxtb r2, r3 806ea08: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea0c: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 806ea0e: f507 723b add.w r2, r7, #748 ; 0x2ec 806ea12: 2301 movs r3, #1 806ea14: 21dc movs r1, #220 ; 0xdc 806ea16: 20be movs r0, #190 ; 0xbe 806ea18: f7e4 ffaa bl 8053970 memset(str, 0, sizeof(str)); 806ea1c: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea20: 223c movs r2, #60 ; 0x3c 806ea22: 2100 movs r1, #0 806ea24: 4618 mov r0, r3 806ea26: f05e fb2b bl 80cd080 str[0] = (Hour / 10) + 48; 806ea2a: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806ea2e: 4a39 ldr r2, [pc, #228] ; (806eb14 ) 806ea30: fba2 2303 umull r2, r3, r2, r3 806ea34: 08db lsrs r3, r3, #3 806ea36: b2db uxtb r3, r3 806ea38: 3330 adds r3, #48 ; 0x30 806ea3a: b2da uxtb r2, r3 806ea3c: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea40: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806ea42: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806ea46: 4b33 ldr r3, [pc, #204] ; (806eb14 ) 806ea48: fba3 2301 umull r2, r3, r3, r1 806ea4c: 08da lsrs r2, r3, #3 806ea4e: 4613 mov r3, r2 806ea50: 009b lsls r3, r3, #2 806ea52: 4413 add r3, r2 806ea54: 005b lsls r3, r3, #1 806ea56: 1aca subs r2, r1, r3 806ea58: b2d3 uxtb r3, r2 806ea5a: 3330 adds r3, #48 ; 0x30 806ea5c: b2da uxtb r2, r3 806ea5e: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea62: 705a strb r2, [r3, #1] str[2] = ':'; 806ea64: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea68: 223a movs r2, #58 ; 0x3a 806ea6a: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806ea6c: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806ea70: 4a28 ldr r2, [pc, #160] ; (806eb14 ) 806ea72: fba2 2303 umull r2, r3, r2, r3 806ea76: 08db lsrs r3, r3, #3 806ea78: b2db uxtb r3, r3 806ea7a: 3330 adds r3, #48 ; 0x30 806ea7c: b2da uxtb r2, r3 806ea7e: f507 733b add.w r3, r7, #748 ; 0x2ec 806ea82: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806ea84: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806ea88: 4b22 ldr r3, [pc, #136] ; (806eb14 ) 806ea8a: fba3 2301 umull r2, r3, r3, r1 806ea8e: 08da lsrs r2, r3, #3 806ea90: 4613 mov r3, r2 806ea92: 009b lsls r3, r3, #2 806ea94: 4413 add r3, r2 806ea96: 005b lsls r3, r3, #1 806ea98: 1aca subs r2, r1, r3 806ea9a: b2d3 uxtb r3, r2 806ea9c: 3330 adds r3, #48 ; 0x30 806ea9e: b2da uxtb r2, r3 806eaa0: f507 733b add.w r3, r7, #748 ; 0x2ec 806eaa4: 711a strb r2, [r3, #4] str[5] = ':'; 806eaa6: f507 733b add.w r3, r7, #748 ; 0x2ec 806eaaa: 223a movs r2, #58 ; 0x3a 806eaac: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806eaae: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806eab2: 4a18 ldr r2, [pc, #96] ; (806eb14 ) 806eab4: fba2 2303 umull r2, r3, r2, r3 806eab8: 08db lsrs r3, r3, #3 806eaba: b2db uxtb r3, r3 806eabc: 3330 adds r3, #48 ; 0x30 806eabe: b2da uxtb r2, r3 806eac0: f507 733b add.w r3, r7, #748 ; 0x2ec 806eac4: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806eac6: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806eaca: 4b12 ldr r3, [pc, #72] ; (806eb14 ) 806eacc: fba3 2301 umull r2, r3, r3, r1 806ead0: 08da lsrs r2, r3, #3 806ead2: 4613 mov r3, r2 806ead4: 009b lsls r3, r3, #2 806ead6: 4413 add r3, r2 806ead8: 005b lsls r3, r3, #1 806eada: 1aca subs r2, r1, r3 806eadc: b2d3 uxtb r3, r2 806eade: 3330 adds r3, #48 ; 0x30 806eae0: b2da uxtb r2, r3 806eae2: f507 733b add.w r3, r7, #748 ; 0x2ec 806eae6: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 806eae8: f507 723b add.w r2, r7, #748 ; 0x2ec 806eaec: 2301 movs r3, #1 806eaee: 21e4 movs r1, #228 ; 0xe4 806eaf0: 20be movs r0, #190 ; 0xbe 806eaf2: f7e4 ff3d bl 8053970 806eaf6: f000 bd76 b.w 806f5e6 806eafa: bf00 nop 806eafc: 080cfaa4 .word 0x080cfaa4 806eb00: 080cfa98 .word 0x080cfa98 806eb04: 080cfa90 .word 0x080cfa90 806eb08: 080cfa88 .word 0x080cfa88 806eb0c: 080ce88c .word 0x080ce88c 806eb10: 64090000 .word 0x64090000 806eb14: cccccccd .word 0xcccccccd if(l == 2) 806eb18: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806eb1c: 2b02 cmp r3, #2 806eb1e: f040 821d bne.w 806ef5c k = CmplxA_u32(0); 806eb22: 4bde ldr r3, [pc, #888] ; (806ee9c ) 806eb24: 681b ldr r3, [r3, #0] 806eb26: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806eb2a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eb2e: 0e5b lsrs r3, r3, #25 806eb30: 3b14 subs r3, #20 806eb32: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806eb36: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eb3a: 0d5b lsrs r3, r3, #21 806eb3c: f003 030f and.w r3, r3, #15 806eb40: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806eb44: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eb48: 0c1b lsrs r3, r3, #16 806eb4a: f003 031f and.w r3, r3, #31 806eb4e: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806eb52: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eb56: 0adb lsrs r3, r3, #11 806eb58: f003 031f and.w r3, r3, #31 806eb5c: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806eb60: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eb64: 095b lsrs r3, r3, #5 806eb66: f003 033f and.w r3, r3, #63 ; 0x3f 806eb6a: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806eb6e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806eb72: 005b lsls r3, r3, #1 806eb74: f003 031f and.w r3, r3, #31 806eb78: 3301 adds r3, #1 806eb7a: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806eb7e: f507 733b add.w r3, r7, #748 ; 0x2ec 806eb82: 223c movs r2, #60 ; 0x3c 806eb84: 2100 movs r1, #0 806eb86: 4618 mov r0, r3 806eb88: f05e fa7a bl 80cd080 str[0] = (Day / 10) + 48; 806eb8c: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806eb90: 4ac3 ldr r2, [pc, #780] ; (806eea0 ) 806eb92: fba2 2303 umull r2, r3, r2, r3 806eb96: 08db lsrs r3, r3, #3 806eb98: b2db uxtb r3, r3 806eb9a: 3330 adds r3, #48 ; 0x30 806eb9c: b2da uxtb r2, r3 806eb9e: f507 733b add.w r3, r7, #748 ; 0x2ec 806eba2: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806eba4: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806eba8: 4bbd ldr r3, [pc, #756] ; (806eea0 ) 806ebaa: fba3 2301 umull r2, r3, r3, r1 806ebae: 08da lsrs r2, r3, #3 806ebb0: 4613 mov r3, r2 806ebb2: 009b lsls r3, r3, #2 806ebb4: 4413 add r3, r2 806ebb6: 005b lsls r3, r3, #1 806ebb8: 1aca subs r2, r1, r3 806ebba: b2d3 uxtb r3, r2 806ebbc: 3330 adds r3, #48 ; 0x30 806ebbe: b2da uxtb r2, r3 806ebc0: f507 733b add.w r3, r7, #748 ; 0x2ec 806ebc4: 705a strb r2, [r3, #1] str[2] = '.'; 806ebc6: f507 733b add.w r3, r7, #748 ; 0x2ec 806ebca: 222e movs r2, #46 ; 0x2e 806ebcc: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806ebce: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806ebd2: 4ab3 ldr r2, [pc, #716] ; (806eea0 ) 806ebd4: fba2 2303 umull r2, r3, r2, r3 806ebd8: 08db lsrs r3, r3, #3 806ebda: b2db uxtb r3, r3 806ebdc: 3330 adds r3, #48 ; 0x30 806ebde: b2da uxtb r2, r3 806ebe0: f507 733b add.w r3, r7, #748 ; 0x2ec 806ebe4: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806ebe6: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806ebea: 4bad ldr r3, [pc, #692] ; (806eea0 ) 806ebec: fba3 2301 umull r2, r3, r3, r1 806ebf0: 08da lsrs r2, r3, #3 806ebf2: 4613 mov r3, r2 806ebf4: 009b lsls r3, r3, #2 806ebf6: 4413 add r3, r2 806ebf8: 005b lsls r3, r3, #1 806ebfa: 1aca subs r2, r1, r3 806ebfc: b2d3 uxtb r3, r2 806ebfe: 3330 adds r3, #48 ; 0x30 806ec00: b2da uxtb r2, r3 806ec02: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec06: 711a strb r2, [r3, #4] str[5] = '.'; 806ec08: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec0c: 222e movs r2, #46 ; 0x2e 806ec0e: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806ec10: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806ec14: 4aa2 ldr r2, [pc, #648] ; (806eea0 ) 806ec16: fba2 2303 umull r2, r3, r2, r3 806ec1a: 08db lsrs r3, r3, #3 806ec1c: b2db uxtb r3, r3 806ec1e: 3330 adds r3, #48 ; 0x30 806ec20: b2da uxtb r2, r3 806ec22: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec26: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806ec28: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806ec2c: 4b9c ldr r3, [pc, #624] ; (806eea0 ) 806ec2e: fba3 2301 umull r2, r3, r3, r1 806ec32: 08da lsrs r2, r3, #3 806ec34: 4613 mov r3, r2 806ec36: 009b lsls r3, r3, #2 806ec38: 4413 add r3, r2 806ec3a: 005b lsls r3, r3, #1 806ec3c: 1aca subs r2, r1, r3 806ec3e: b2d3 uxtb r3, r2 806ec40: 3330 adds r3, #48 ; 0x30 806ec42: b2da uxtb r2, r3 806ec44: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec48: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806ec4a: f507 723b add.w r2, r7, #748 ; 0x2ec 806ec4e: 2301 movs r3, #1 806ec50: 21dc movs r1, #220 ; 0xdc 806ec52: 2050 movs r0, #80 ; 0x50 806ec54: f7e4 fe8c bl 8053970 memset(str, 0, sizeof(str)); 806ec58: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec5c: 223c movs r2, #60 ; 0x3c 806ec5e: 2100 movs r1, #0 806ec60: 4618 mov r0, r3 806ec62: f05e fa0d bl 80cd080 str[0] = (Hour / 10) + 48; 806ec66: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806ec6a: 4a8d ldr r2, [pc, #564] ; (806eea0 ) 806ec6c: fba2 2303 umull r2, r3, r2, r3 806ec70: 08db lsrs r3, r3, #3 806ec72: b2db uxtb r3, r3 806ec74: 3330 adds r3, #48 ; 0x30 806ec76: b2da uxtb r2, r3 806ec78: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec7c: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806ec7e: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806ec82: 4b87 ldr r3, [pc, #540] ; (806eea0 ) 806ec84: fba3 2301 umull r2, r3, r3, r1 806ec88: 08da lsrs r2, r3, #3 806ec8a: 4613 mov r3, r2 806ec8c: 009b lsls r3, r3, #2 806ec8e: 4413 add r3, r2 806ec90: 005b lsls r3, r3, #1 806ec92: 1aca subs r2, r1, r3 806ec94: b2d3 uxtb r3, r2 806ec96: 3330 adds r3, #48 ; 0x30 806ec98: b2da uxtb r2, r3 806ec9a: f507 733b add.w r3, r7, #748 ; 0x2ec 806ec9e: 705a strb r2, [r3, #1] str[2] = ':'; 806eca0: f507 733b add.w r3, r7, #748 ; 0x2ec 806eca4: 223a movs r2, #58 ; 0x3a 806eca6: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806eca8: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806ecac: 4a7c ldr r2, [pc, #496] ; (806eea0 ) 806ecae: fba2 2303 umull r2, r3, r2, r3 806ecb2: 08db lsrs r3, r3, #3 806ecb4: b2db uxtb r3, r3 806ecb6: 3330 adds r3, #48 ; 0x30 806ecb8: b2da uxtb r2, r3 806ecba: f507 733b add.w r3, r7, #748 ; 0x2ec 806ecbe: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806ecc0: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806ecc4: 4b76 ldr r3, [pc, #472] ; (806eea0 ) 806ecc6: fba3 2301 umull r2, r3, r3, r1 806ecca: 08da lsrs r2, r3, #3 806eccc: 4613 mov r3, r2 806ecce: 009b lsls r3, r3, #2 806ecd0: 4413 add r3, r2 806ecd2: 005b lsls r3, r3, #1 806ecd4: 1aca subs r2, r1, r3 806ecd6: b2d3 uxtb r3, r2 806ecd8: 3330 adds r3, #48 ; 0x30 806ecda: b2da uxtb r2, r3 806ecdc: f507 733b add.w r3, r7, #748 ; 0x2ec 806ece0: 711a strb r2, [r3, #4] str[5] = ':'; 806ece2: f507 733b add.w r3, r7, #748 ; 0x2ec 806ece6: 223a movs r2, #58 ; 0x3a 806ece8: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806ecea: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806ecee: 4a6c ldr r2, [pc, #432] ; (806eea0 ) 806ecf0: fba2 2303 umull r2, r3, r2, r3 806ecf4: 08db lsrs r3, r3, #3 806ecf6: b2db uxtb r3, r3 806ecf8: 3330 adds r3, #48 ; 0x30 806ecfa: b2da uxtb r2, r3 806ecfc: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed00: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806ed02: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806ed06: 4b66 ldr r3, [pc, #408] ; (806eea0 ) 806ed08: fba3 2301 umull r2, r3, r3, r1 806ed0c: 08da lsrs r2, r3, #3 806ed0e: 4613 mov r3, r2 806ed10: 009b lsls r3, r3, #2 806ed12: 4413 add r3, r2 806ed14: 005b lsls r3, r3, #1 806ed16: 1aca subs r2, r1, r3 806ed18: b2d3 uxtb r3, r2 806ed1a: 3330 adds r3, #48 ; 0x30 806ed1c: b2da uxtb r2, r3 806ed1e: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed22: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 806ed24: f507 723b add.w r2, r7, #748 ; 0x2ec 806ed28: 2301 movs r3, #1 806ed2a: 21e4 movs r1, #228 ; 0xe4 806ed2c: 2050 movs r0, #80 ; 0x50 806ed2e: f7e4 fe1f bl 8053970 k = CmplxA_u32(1); 806ed32: 4b5c ldr r3, [pc, #368] ; (806eea4 ) 806ed34: 681b ldr r3, [r3, #0] 806ed36: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806ed3a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ed3e: 0e5b lsrs r3, r3, #25 806ed40: 3b14 subs r3, #20 806ed42: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806ed46: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ed4a: 0d5b lsrs r3, r3, #21 806ed4c: f003 030f and.w r3, r3, #15 806ed50: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806ed54: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ed58: 0c1b lsrs r3, r3, #16 806ed5a: f003 031f and.w r3, r3, #31 806ed5e: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806ed62: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ed66: 0adb lsrs r3, r3, #11 806ed68: f003 031f and.w r3, r3, #31 806ed6c: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806ed70: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ed74: 095b lsrs r3, r3, #5 806ed76: f003 033f and.w r3, r3, #63 ; 0x3f 806ed7a: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806ed7e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ed82: 005b lsls r3, r3, #1 806ed84: f003 031f and.w r3, r3, #31 806ed88: 3301 adds r3, #1 806ed8a: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806ed8e: f507 733b add.w r3, r7, #748 ; 0x2ec 806ed92: 223c movs r2, #60 ; 0x3c 806ed94: 2100 movs r1, #0 806ed96: 4618 mov r0, r3 806ed98: f05e f972 bl 80cd080 str[0] = (Day / 10) + 48; 806ed9c: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806eda0: 4a3f ldr r2, [pc, #252] ; (806eea0 ) 806eda2: fba2 2303 umull r2, r3, r2, r3 806eda6: 08db lsrs r3, r3, #3 806eda8: b2db uxtb r3, r3 806edaa: 3330 adds r3, #48 ; 0x30 806edac: b2da uxtb r2, r3 806edae: f507 733b add.w r3, r7, #748 ; 0x2ec 806edb2: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806edb4: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806edb8: 4b39 ldr r3, [pc, #228] ; (806eea0 ) 806edba: fba3 2301 umull r2, r3, r3, r1 806edbe: 08da lsrs r2, r3, #3 806edc0: 4613 mov r3, r2 806edc2: 009b lsls r3, r3, #2 806edc4: 4413 add r3, r2 806edc6: 005b lsls r3, r3, #1 806edc8: 1aca subs r2, r1, r3 806edca: b2d3 uxtb r3, r2 806edcc: 3330 adds r3, #48 ; 0x30 806edce: b2da uxtb r2, r3 806edd0: f507 733b add.w r3, r7, #748 ; 0x2ec 806edd4: 705a strb r2, [r3, #1] str[2] = '.'; 806edd6: f507 733b add.w r3, r7, #748 ; 0x2ec 806edda: 222e movs r2, #46 ; 0x2e 806eddc: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806edde: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806ede2: 4a2f ldr r2, [pc, #188] ; (806eea0 ) 806ede4: fba2 2303 umull r2, r3, r2, r3 806ede8: 08db lsrs r3, r3, #3 806edea: b2db uxtb r3, r3 806edec: 3330 adds r3, #48 ; 0x30 806edee: b2da uxtb r2, r3 806edf0: f507 733b add.w r3, r7, #748 ; 0x2ec 806edf4: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806edf6: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806edfa: 4b29 ldr r3, [pc, #164] ; (806eea0 ) 806edfc: fba3 2301 umull r2, r3, r3, r1 806ee00: 08da lsrs r2, r3, #3 806ee02: 4613 mov r3, r2 806ee04: 009b lsls r3, r3, #2 806ee06: 4413 add r3, r2 806ee08: 005b lsls r3, r3, #1 806ee0a: 1aca subs r2, r1, r3 806ee0c: b2d3 uxtb r3, r2 806ee0e: 3330 adds r3, #48 ; 0x30 806ee10: b2da uxtb r2, r3 806ee12: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee16: 711a strb r2, [r3, #4] str[5] = '.'; 806ee18: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee1c: 222e movs r2, #46 ; 0x2e 806ee1e: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806ee20: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806ee24: 4a1e ldr r2, [pc, #120] ; (806eea0 ) 806ee26: fba2 2303 umull r2, r3, r2, r3 806ee2a: 08db lsrs r3, r3, #3 806ee2c: b2db uxtb r3, r3 806ee2e: 3330 adds r3, #48 ; 0x30 806ee30: b2da uxtb r2, r3 806ee32: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee36: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806ee38: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806ee3c: 4b18 ldr r3, [pc, #96] ; (806eea0 ) 806ee3e: fba3 2301 umull r2, r3, r3, r1 806ee42: 08da lsrs r2, r3, #3 806ee44: 4613 mov r3, r2 806ee46: 009b lsls r3, r3, #2 806ee48: 4413 add r3, r2 806ee4a: 005b lsls r3, r3, #1 806ee4c: 1aca subs r2, r1, r3 806ee4e: b2d3 uxtb r3, r2 806ee50: 3330 adds r3, #48 ; 0x30 806ee52: b2da uxtb r2, r3 806ee54: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee58: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 806ee5a: f507 723b add.w r2, r7, #748 ; 0x2ec 806ee5e: 2301 movs r3, #1 806ee60: 21dc movs r1, #220 ; 0xdc 806ee62: f44f 7095 mov.w r0, #298 ; 0x12a 806ee66: f7e4 fd83 bl 8053970 memset(str, 0, sizeof(str)); 806ee6a: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee6e: 223c movs r2, #60 ; 0x3c 806ee70: 2100 movs r1, #0 806ee72: 4618 mov r0, r3 806ee74: f05e f904 bl 80cd080 str[0] = (Hour / 10) + 48; 806ee78: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806ee7c: 4a08 ldr r2, [pc, #32] ; (806eea0 ) 806ee7e: fba2 2303 umull r2, r3, r2, r3 806ee82: 08db lsrs r3, r3, #3 806ee84: b2db uxtb r3, r3 806ee86: 3330 adds r3, #48 ; 0x30 806ee88: b2da uxtb r2, r3 806ee8a: f507 733b add.w r3, r7, #748 ; 0x2ec 806ee8e: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806ee90: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806ee94: 4b02 ldr r3, [pc, #8] ; (806eea0 ) 806ee96: fba3 2301 umull r2, r3, r3, r1 806ee9a: e005 b.n 806eea8 806ee9c: 64090000 .word 0x64090000 806eea0: cccccccd .word 0xcccccccd 806eea4: 64090004 .word 0x64090004 806eea8: 08da lsrs r2, r3, #3 806eeaa: 4613 mov r3, r2 806eeac: 009b lsls r3, r3, #2 806eeae: 4413 add r3, r2 806eeb0: 005b lsls r3, r3, #1 806eeb2: 1aca subs r2, r1, r3 806eeb4: b2d3 uxtb r3, r2 806eeb6: 3330 adds r3, #48 ; 0x30 806eeb8: b2da uxtb r2, r3 806eeba: f507 733b add.w r3, r7, #748 ; 0x2ec 806eebe: 705a strb r2, [r3, #1] str[2] = ':'; 806eec0: f507 733b add.w r3, r7, #748 ; 0x2ec 806eec4: 223a movs r2, #58 ; 0x3a 806eec6: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806eec8: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806eecc: 4a22 ldr r2, [pc, #136] ; (806ef58 ) 806eece: fba2 2303 umull r2, r3, r2, r3 806eed2: 08db lsrs r3, r3, #3 806eed4: b2db uxtb r3, r3 806eed6: 3330 adds r3, #48 ; 0x30 806eed8: b2da uxtb r2, r3 806eeda: f507 733b add.w r3, r7, #748 ; 0x2ec 806eede: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806eee0: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806eee4: 4b1c ldr r3, [pc, #112] ; (806ef58 ) 806eee6: fba3 2301 umull r2, r3, r3, r1 806eeea: 08da lsrs r2, r3, #3 806eeec: 4613 mov r3, r2 806eeee: 009b lsls r3, r3, #2 806eef0: 4413 add r3, r2 806eef2: 005b lsls r3, r3, #1 806eef4: 1aca subs r2, r1, r3 806eef6: b2d3 uxtb r3, r2 806eef8: 3330 adds r3, #48 ; 0x30 806eefa: b2da uxtb r2, r3 806eefc: f507 733b add.w r3, r7, #748 ; 0x2ec 806ef00: 711a strb r2, [r3, #4] str[5] = ':'; 806ef02: f507 733b add.w r3, r7, #748 ; 0x2ec 806ef06: 223a movs r2, #58 ; 0x3a 806ef08: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806ef0a: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806ef0e: 4a12 ldr r2, [pc, #72] ; (806ef58 ) 806ef10: fba2 2303 umull r2, r3, r2, r3 806ef14: 08db lsrs r3, r3, #3 806ef16: b2db uxtb r3, r3 806ef18: 3330 adds r3, #48 ; 0x30 806ef1a: b2da uxtb r2, r3 806ef1c: f507 733b add.w r3, r7, #748 ; 0x2ec 806ef20: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806ef22: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806ef26: 4b0c ldr r3, [pc, #48] ; (806ef58 ) 806ef28: fba3 2301 umull r2, r3, r3, r1 806ef2c: 08da lsrs r2, r3, #3 806ef2e: 4613 mov r3, r2 806ef30: 009b lsls r3, r3, #2 806ef32: 4413 add r3, r2 806ef34: 005b lsls r3, r3, #1 806ef36: 1aca subs r2, r1, r3 806ef38: b2d3 uxtb r3, r2 806ef3a: 3330 adds r3, #48 ; 0x30 806ef3c: b2da uxtb r2, r3 806ef3e: f507 733b add.w r3, r7, #748 ; 0x2ec 806ef42: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 806ef44: f507 723b add.w r2, r7, #748 ; 0x2ec 806ef48: 2301 movs r3, #1 806ef4a: 21e4 movs r1, #228 ; 0xe4 806ef4c: f44f 7095 mov.w r0, #298 ; 0x12a 806ef50: f7e4 fd0e bl 8053970 806ef54: e347 b.n 806f5e6 806ef56: bf00 nop 806ef58: cccccccd .word 0xcccccccd k = CmplxA_u32(0); 806ef5c: 4be0 ldr r3, [pc, #896] ; (806f2e0 ) 806ef5e: 681b ldr r3, [r3, #0] 806ef60: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806ef64: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef68: 0e5b lsrs r3, r3, #25 806ef6a: 3b14 subs r3, #20 806ef6c: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806ef70: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef74: 0d5b lsrs r3, r3, #21 806ef76: f003 030f and.w r3, r3, #15 806ef7a: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806ef7e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef82: 0c1b lsrs r3, r3, #16 806ef84: f003 031f and.w r3, r3, #31 806ef88: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806ef8c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef90: 0adb lsrs r3, r3, #11 806ef92: f003 031f and.w r3, r3, #31 806ef96: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806ef9a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ef9e: 095b lsrs r3, r3, #5 806efa0: f003 033f and.w r3, r3, #63 ; 0x3f 806efa4: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806efa8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806efac: 005b lsls r3, r3, #1 806efae: f003 031f and.w r3, r3, #31 806efb2: 3301 adds r3, #1 806efb4: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806efb8: f507 733b add.w r3, r7, #748 ; 0x2ec 806efbc: 223c movs r2, #60 ; 0x3c 806efbe: 2100 movs r1, #0 806efc0: 4618 mov r0, r3 806efc2: f05e f85d bl 80cd080 str[0] = (Day / 10) + 48; 806efc6: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806efca: 4ac6 ldr r2, [pc, #792] ; (806f2e4 ) 806efcc: fba2 2303 umull r2, r3, r2, r3 806efd0: 08db lsrs r3, r3, #3 806efd2: b2db uxtb r3, r3 806efd4: 3330 adds r3, #48 ; 0x30 806efd6: b2da uxtb r2, r3 806efd8: f507 733b add.w r3, r7, #748 ; 0x2ec 806efdc: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806efde: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806efe2: 4bc0 ldr r3, [pc, #768] ; (806f2e4 ) 806efe4: fba3 2301 umull r2, r3, r3, r1 806efe8: 08da lsrs r2, r3, #3 806efea: 4613 mov r3, r2 806efec: 009b lsls r3, r3, #2 806efee: 4413 add r3, r2 806eff0: 005b lsls r3, r3, #1 806eff2: 1aca subs r2, r1, r3 806eff4: b2d3 uxtb r3, r2 806eff6: 3330 adds r3, #48 ; 0x30 806eff8: b2da uxtb r2, r3 806effa: f507 733b add.w r3, r7, #748 ; 0x2ec 806effe: 705a strb r2, [r3, #1] str[2] = '.'; 806f000: f507 733b add.w r3, r7, #748 ; 0x2ec 806f004: 222e movs r2, #46 ; 0x2e 806f006: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806f008: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806f00c: 4ab5 ldr r2, [pc, #724] ; (806f2e4 ) 806f00e: fba2 2303 umull r2, r3, r2, r3 806f012: 08db lsrs r3, r3, #3 806f014: b2db uxtb r3, r3 806f016: 3330 adds r3, #48 ; 0x30 806f018: b2da uxtb r2, r3 806f01a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f01e: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806f020: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806f024: 4baf ldr r3, [pc, #700] ; (806f2e4 ) 806f026: fba3 2301 umull r2, r3, r3, r1 806f02a: 08da lsrs r2, r3, #3 806f02c: 4613 mov r3, r2 806f02e: 009b lsls r3, r3, #2 806f030: 4413 add r3, r2 806f032: 005b lsls r3, r3, #1 806f034: 1aca subs r2, r1, r3 806f036: b2d3 uxtb r3, r2 806f038: 3330 adds r3, #48 ; 0x30 806f03a: b2da uxtb r2, r3 806f03c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f040: 711a strb r2, [r3, #4] str[5] = '.'; 806f042: f507 733b add.w r3, r7, #748 ; 0x2ec 806f046: 222e movs r2, #46 ; 0x2e 806f048: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806f04a: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806f04e: 4aa5 ldr r2, [pc, #660] ; (806f2e4 ) 806f050: fba2 2303 umull r2, r3, r2, r3 806f054: 08db lsrs r3, r3, #3 806f056: b2db uxtb r3, r3 806f058: 3330 adds r3, #48 ; 0x30 806f05a: b2da uxtb r2, r3 806f05c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f060: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806f062: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806f066: 4b9f ldr r3, [pc, #636] ; (806f2e4 ) 806f068: fba3 2301 umull r2, r3, r3, r1 806f06c: 08da lsrs r2, r3, #3 806f06e: 4613 mov r3, r2 806f070: 009b lsls r3, r3, #2 806f072: 4413 add r3, r2 806f074: 005b lsls r3, r3, #1 806f076: 1aca subs r2, r1, r3 806f078: b2d3 uxtb r3, r2 806f07a: 3330 adds r3, #48 ; 0x30 806f07c: b2da uxtb r2, r3 806f07e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f082: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 806f084: f507 723b add.w r2, r7, #748 ; 0x2ec 806f088: 2301 movs r3, #1 806f08a: 21dc movs r1, #220 ; 0xdc 806f08c: 2050 movs r0, #80 ; 0x50 806f08e: f7e4 fc6f bl 8053970 memset(str, 0, sizeof(str)); 806f092: f507 733b add.w r3, r7, #748 ; 0x2ec 806f096: 223c movs r2, #60 ; 0x3c 806f098: 2100 movs r1, #0 806f09a: 4618 mov r0, r3 806f09c: f05d fff0 bl 80cd080 str[0] = (Hour / 10) + 48; 806f0a0: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806f0a4: 4a8f ldr r2, [pc, #572] ; (806f2e4 ) 806f0a6: fba2 2303 umull r2, r3, r2, r3 806f0aa: 08db lsrs r3, r3, #3 806f0ac: b2db uxtb r3, r3 806f0ae: 3330 adds r3, #48 ; 0x30 806f0b0: b2da uxtb r2, r3 806f0b2: f507 733b add.w r3, r7, #748 ; 0x2ec 806f0b6: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806f0b8: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806f0bc: 4b89 ldr r3, [pc, #548] ; (806f2e4 ) 806f0be: fba3 2301 umull r2, r3, r3, r1 806f0c2: 08da lsrs r2, r3, #3 806f0c4: 4613 mov r3, r2 806f0c6: 009b lsls r3, r3, #2 806f0c8: 4413 add r3, r2 806f0ca: 005b lsls r3, r3, #1 806f0cc: 1aca subs r2, r1, r3 806f0ce: b2d3 uxtb r3, r2 806f0d0: 3330 adds r3, #48 ; 0x30 806f0d2: b2da uxtb r2, r3 806f0d4: f507 733b add.w r3, r7, #748 ; 0x2ec 806f0d8: 705a strb r2, [r3, #1] str[2] = ':'; 806f0da: f507 733b add.w r3, r7, #748 ; 0x2ec 806f0de: 223a movs r2, #58 ; 0x3a 806f0e0: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806f0e2: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806f0e6: 4a7f ldr r2, [pc, #508] ; (806f2e4 ) 806f0e8: fba2 2303 umull r2, r3, r2, r3 806f0ec: 08db lsrs r3, r3, #3 806f0ee: b2db uxtb r3, r3 806f0f0: 3330 adds r3, #48 ; 0x30 806f0f2: b2da uxtb r2, r3 806f0f4: f507 733b add.w r3, r7, #748 ; 0x2ec 806f0f8: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806f0fa: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806f0fe: 4b79 ldr r3, [pc, #484] ; (806f2e4 ) 806f100: fba3 2301 umull r2, r3, r3, r1 806f104: 08da lsrs r2, r3, #3 806f106: 4613 mov r3, r2 806f108: 009b lsls r3, r3, #2 806f10a: 4413 add r3, r2 806f10c: 005b lsls r3, r3, #1 806f10e: 1aca subs r2, r1, r3 806f110: b2d3 uxtb r3, r2 806f112: 3330 adds r3, #48 ; 0x30 806f114: b2da uxtb r2, r3 806f116: f507 733b add.w r3, r7, #748 ; 0x2ec 806f11a: 711a strb r2, [r3, #4] str[5] = ':'; 806f11c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f120: 223a movs r2, #58 ; 0x3a 806f122: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806f124: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806f128: 4a6e ldr r2, [pc, #440] ; (806f2e4 ) 806f12a: fba2 2303 umull r2, r3, r2, r3 806f12e: 08db lsrs r3, r3, #3 806f130: b2db uxtb r3, r3 806f132: 3330 adds r3, #48 ; 0x30 806f134: b2da uxtb r2, r3 806f136: f507 733b add.w r3, r7, #748 ; 0x2ec 806f13a: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806f13c: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806f140: 4b68 ldr r3, [pc, #416] ; (806f2e4 ) 806f142: fba3 2301 umull r2, r3, r3, r1 806f146: 08da lsrs r2, r3, #3 806f148: 4613 mov r3, r2 806f14a: 009b lsls r3, r3, #2 806f14c: 4413 add r3, r2 806f14e: 005b lsls r3, r3, #1 806f150: 1aca subs r2, r1, r3 806f152: b2d3 uxtb r3, r2 806f154: 3330 adds r3, #48 ; 0x30 806f156: b2da uxtb r2, r3 806f158: f507 733b add.w r3, r7, #748 ; 0x2ec 806f15c: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 806f15e: f507 723b add.w r2, r7, #748 ; 0x2ec 806f162: 2301 movs r3, #1 806f164: 21e4 movs r1, #228 ; 0xe4 806f166: 2050 movs r0, #80 ; 0x50 806f168: f7e4 fc02 bl 8053970 f = (float32_t) l / 2; 806f16c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806f170: ee07 3a90 vmov s15, r3 806f174: eeb8 7a67 vcvt.f32.u32 s14, s15 806f178: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 806f17c: eec7 7a26 vdiv.f32 s15, s14, s13 806f180: f507 638b add.w r3, r7, #1112 ; 0x458 806f184: edc3 7a00 vstr s15, [r3] i = (uint32_t) (f + 0.5f); 806f188: f507 638b add.w r3, r7, #1112 ; 0x458 806f18c: edd3 7a00 vldr s15, [r3] 806f190: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f194: ee77 7a87 vadd.f32 s15, s15, s14 806f198: eefc 7ae7 vcvt.u32.f32 s15, s15 806f19c: ee17 3a90 vmov r3, s15 806f1a0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 k = CmplxA_u32(i); 806f1a4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806f1a8: 009a lsls r2, r3, #2 806f1aa: 4b4d ldr r3, [pc, #308] ; (806f2e0 ) 806f1ac: 4413 add r3, r2 806f1ae: 681b ldr r3, [r3, #0] 806f1b0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806f1b4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f1b8: 0e5b lsrs r3, r3, #25 806f1ba: 3b14 subs r3, #20 806f1bc: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806f1c0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f1c4: 0d5b lsrs r3, r3, #21 806f1c6: f003 030f and.w r3, r3, #15 806f1ca: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806f1ce: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f1d2: 0c1b lsrs r3, r3, #16 806f1d4: f003 031f and.w r3, r3, #31 806f1d8: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806f1dc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f1e0: 0adb lsrs r3, r3, #11 806f1e2: f003 031f and.w r3, r3, #31 806f1e6: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806f1ea: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f1ee: 095b lsrs r3, r3, #5 806f1f0: f003 033f and.w r3, r3, #63 ; 0x3f 806f1f4: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806f1f8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f1fc: 005b lsls r3, r3, #1 806f1fe: f003 031f and.w r3, r3, #31 806f202: 3301 adds r3, #1 806f204: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806f208: f507 733b add.w r3, r7, #748 ; 0x2ec 806f20c: 223c movs r2, #60 ; 0x3c 806f20e: 2100 movs r1, #0 806f210: 4618 mov r0, r3 806f212: f05d ff35 bl 80cd080 str[0] = (Day / 10) + 48; 806f216: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806f21a: 4a32 ldr r2, [pc, #200] ; (806f2e4 ) 806f21c: fba2 2303 umull r2, r3, r2, r3 806f220: 08db lsrs r3, r3, #3 806f222: b2db uxtb r3, r3 806f224: 3330 adds r3, #48 ; 0x30 806f226: b2da uxtb r2, r3 806f228: f507 733b add.w r3, r7, #748 ; 0x2ec 806f22c: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806f22e: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806f232: 4b2c ldr r3, [pc, #176] ; (806f2e4 ) 806f234: fba3 2301 umull r2, r3, r3, r1 806f238: 08da lsrs r2, r3, #3 806f23a: 4613 mov r3, r2 806f23c: 009b lsls r3, r3, #2 806f23e: 4413 add r3, r2 806f240: 005b lsls r3, r3, #1 806f242: 1aca subs r2, r1, r3 806f244: b2d3 uxtb r3, r2 806f246: 3330 adds r3, #48 ; 0x30 806f248: b2da uxtb r2, r3 806f24a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f24e: 705a strb r2, [r3, #1] str[2] = '.'; 806f250: f507 733b add.w r3, r7, #748 ; 0x2ec 806f254: 222e movs r2, #46 ; 0x2e 806f256: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806f258: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806f25c: 4a21 ldr r2, [pc, #132] ; (806f2e4 ) 806f25e: fba2 2303 umull r2, r3, r2, r3 806f262: 08db lsrs r3, r3, #3 806f264: b2db uxtb r3, r3 806f266: 3330 adds r3, #48 ; 0x30 806f268: b2da uxtb r2, r3 806f26a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f26e: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806f270: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806f274: 4b1b ldr r3, [pc, #108] ; (806f2e4 ) 806f276: fba3 2301 umull r2, r3, r3, r1 806f27a: 08da lsrs r2, r3, #3 806f27c: 4613 mov r3, r2 806f27e: 009b lsls r3, r3, #2 806f280: 4413 add r3, r2 806f282: 005b lsls r3, r3, #1 806f284: 1aca subs r2, r1, r3 806f286: b2d3 uxtb r3, r2 806f288: 3330 adds r3, #48 ; 0x30 806f28a: b2da uxtb r2, r3 806f28c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f290: 711a strb r2, [r3, #4] str[5] = '.'; 806f292: f507 733b add.w r3, r7, #748 ; 0x2ec 806f296: 222e movs r2, #46 ; 0x2e 806f298: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806f29a: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806f29e: 4a11 ldr r2, [pc, #68] ; (806f2e4 ) 806f2a0: fba2 2303 umull r2, r3, r2, r3 806f2a4: 08db lsrs r3, r3, #3 806f2a6: b2db uxtb r3, r3 806f2a8: 3330 adds r3, #48 ; 0x30 806f2aa: b2da uxtb r2, r3 806f2ac: f507 733b add.w r3, r7, #748 ; 0x2ec 806f2b0: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806f2b2: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806f2b6: 4b0b ldr r3, [pc, #44] ; (806f2e4 ) 806f2b8: fba3 2301 umull r2, r3, r3, r1 806f2bc: 08da lsrs r2, r3, #3 806f2be: 4613 mov r3, r2 806f2c0: 009b lsls r3, r3, #2 806f2c2: 4413 add r3, r2 806f2c4: 005b lsls r3, r3, #1 806f2c6: 1aca subs r2, r1, r3 806f2c8: b2d3 uxtb r3, r2 806f2ca: 3330 adds r3, #48 ; 0x30 806f2cc: b2da uxtb r2, r3 806f2ce: f507 733b add.w r3, r7, #748 ; 0x2ec 806f2d2: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 806f2d4: f507 723b add.w r2, r7, #748 ; 0x2ec 806f2d8: 2301 movs r3, #1 806f2da: 21dc movs r1, #220 ; 0xdc 806f2dc: e004 b.n 806f2e8 806f2de: bf00 nop 806f2e0: 64090000 .word 0x64090000 806f2e4: cccccccd .word 0xcccccccd 806f2e8: 20be movs r0, #190 ; 0xbe 806f2ea: f7e4 fb41 bl 8053970 memset(str, 0, sizeof(str)); 806f2ee: f507 733b add.w r3, r7, #748 ; 0x2ec 806f2f2: 223c movs r2, #60 ; 0x3c 806f2f4: 2100 movs r1, #0 806f2f6: 4618 mov r0, r3 806f2f8: f05d fec2 bl 80cd080 str[0] = (Hour / 10) + 48; 806f2fc: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806f300: 4ad8 ldr r2, [pc, #864] ; (806f664 ) 806f302: fba2 2303 umull r2, r3, r2, r3 806f306: 08db lsrs r3, r3, #3 806f308: b2db uxtb r3, r3 806f30a: 3330 adds r3, #48 ; 0x30 806f30c: b2da uxtb r2, r3 806f30e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f312: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806f314: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806f318: 4bd2 ldr r3, [pc, #840] ; (806f664 ) 806f31a: fba3 2301 umull r2, r3, r3, r1 806f31e: 08da lsrs r2, r3, #3 806f320: 4613 mov r3, r2 806f322: 009b lsls r3, r3, #2 806f324: 4413 add r3, r2 806f326: 005b lsls r3, r3, #1 806f328: 1aca subs r2, r1, r3 806f32a: b2d3 uxtb r3, r2 806f32c: 3330 adds r3, #48 ; 0x30 806f32e: b2da uxtb r2, r3 806f330: f507 733b add.w r3, r7, #748 ; 0x2ec 806f334: 705a strb r2, [r3, #1] str[2] = ':'; 806f336: f507 733b add.w r3, r7, #748 ; 0x2ec 806f33a: 223a movs r2, #58 ; 0x3a 806f33c: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806f33e: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806f342: 4ac8 ldr r2, [pc, #800] ; (806f664 ) 806f344: fba2 2303 umull r2, r3, r2, r3 806f348: 08db lsrs r3, r3, #3 806f34a: b2db uxtb r3, r3 806f34c: 3330 adds r3, #48 ; 0x30 806f34e: b2da uxtb r2, r3 806f350: f507 733b add.w r3, r7, #748 ; 0x2ec 806f354: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806f356: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806f35a: 4bc2 ldr r3, [pc, #776] ; (806f664 ) 806f35c: fba3 2301 umull r2, r3, r3, r1 806f360: 08da lsrs r2, r3, #3 806f362: 4613 mov r3, r2 806f364: 009b lsls r3, r3, #2 806f366: 4413 add r3, r2 806f368: 005b lsls r3, r3, #1 806f36a: 1aca subs r2, r1, r3 806f36c: b2d3 uxtb r3, r2 806f36e: 3330 adds r3, #48 ; 0x30 806f370: b2da uxtb r2, r3 806f372: f507 733b add.w r3, r7, #748 ; 0x2ec 806f376: 711a strb r2, [r3, #4] str[5] = ':'; 806f378: f507 733b add.w r3, r7, #748 ; 0x2ec 806f37c: 223a movs r2, #58 ; 0x3a 806f37e: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806f380: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806f384: 4ab7 ldr r2, [pc, #732] ; (806f664 ) 806f386: fba2 2303 umull r2, r3, r2, r3 806f38a: 08db lsrs r3, r3, #3 806f38c: b2db uxtb r3, r3 806f38e: 3330 adds r3, #48 ; 0x30 806f390: b2da uxtb r2, r3 806f392: f507 733b add.w r3, r7, #748 ; 0x2ec 806f396: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806f398: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806f39c: 4bb1 ldr r3, [pc, #708] ; (806f664 ) 806f39e: fba3 2301 umull r2, r3, r3, r1 806f3a2: 08da lsrs r2, r3, #3 806f3a4: 4613 mov r3, r2 806f3a6: 009b lsls r3, r3, #2 806f3a8: 4413 add r3, r2 806f3aa: 005b lsls r3, r3, #1 806f3ac: 1aca subs r2, r1, r3 806f3ae: b2d3 uxtb r3, r2 806f3b0: 3330 adds r3, #48 ; 0x30 806f3b2: b2da uxtb r2, r3 806f3b4: f507 733b add.w r3, r7, #748 ; 0x2ec 806f3b8: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 806f3ba: f507 723b add.w r2, r7, #748 ; 0x2ec 806f3be: 2301 movs r3, #1 806f3c0: 21e4 movs r1, #228 ; 0xe4 806f3c2: 20be movs r0, #190 ; 0xbe 806f3c4: f7e4 fad4 bl 8053970 k = CmplxA_u32(l - 1); 806f3c8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806f3cc: 3b01 subs r3, #1 806f3ce: 009a lsls r2, r3, #2 806f3d0: 4ba5 ldr r3, [pc, #660] ; (806f668 ) 806f3d2: 4413 add r3, r2 806f3d4: 681b ldr r3, [r3, #0] 806f3d6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806f3da: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f3de: 0e5b lsrs r3, r3, #25 806f3e0: 3b14 subs r3, #20 806f3e2: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806f3e6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f3ea: 0d5b lsrs r3, r3, #21 806f3ec: f003 030f and.w r3, r3, #15 806f3f0: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806f3f4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f3f8: 0c1b lsrs r3, r3, #16 806f3fa: f003 031f and.w r3, r3, #31 806f3fe: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806f402: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f406: 0adb lsrs r3, r3, #11 806f408: f003 031f and.w r3, r3, #31 806f40c: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806f410: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f414: 095b lsrs r3, r3, #5 806f416: f003 033f and.w r3, r3, #63 ; 0x3f 806f41a: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806f41e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806f422: 005b lsls r3, r3, #1 806f424: f003 031f and.w r3, r3, #31 806f428: 3301 adds r3, #1 806f42a: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806f42e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f432: 223c movs r2, #60 ; 0x3c 806f434: 2100 movs r1, #0 806f436: 4618 mov r0, r3 806f438: f05d fe22 bl 80cd080 str[0] = (Day / 10) + 48; 806f43c: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806f440: 4a88 ldr r2, [pc, #544] ; (806f664 ) 806f442: fba2 2303 umull r2, r3, r2, r3 806f446: 08db lsrs r3, r3, #3 806f448: b2db uxtb r3, r3 806f44a: 3330 adds r3, #48 ; 0x30 806f44c: b2da uxtb r2, r3 806f44e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f452: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806f454: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806f458: 4b82 ldr r3, [pc, #520] ; (806f664 ) 806f45a: fba3 2301 umull r2, r3, r3, r1 806f45e: 08da lsrs r2, r3, #3 806f460: 4613 mov r3, r2 806f462: 009b lsls r3, r3, #2 806f464: 4413 add r3, r2 806f466: 005b lsls r3, r3, #1 806f468: 1aca subs r2, r1, r3 806f46a: b2d3 uxtb r3, r2 806f46c: 3330 adds r3, #48 ; 0x30 806f46e: b2da uxtb r2, r3 806f470: f507 733b add.w r3, r7, #748 ; 0x2ec 806f474: 705a strb r2, [r3, #1] str[2] = '.'; 806f476: f507 733b add.w r3, r7, #748 ; 0x2ec 806f47a: 222e movs r2, #46 ; 0x2e 806f47c: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 806f47e: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 806f482: 4a78 ldr r2, [pc, #480] ; (806f664 ) 806f484: fba2 2303 umull r2, r3, r2, r3 806f488: 08db lsrs r3, r3, #3 806f48a: b2db uxtb r3, r3 806f48c: 3330 adds r3, #48 ; 0x30 806f48e: b2da uxtb r2, r3 806f490: f507 733b add.w r3, r7, #748 ; 0x2ec 806f494: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 806f496: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 806f49a: 4b72 ldr r3, [pc, #456] ; (806f664 ) 806f49c: fba3 2301 umull r2, r3, r3, r1 806f4a0: 08da lsrs r2, r3, #3 806f4a2: 4613 mov r3, r2 806f4a4: 009b lsls r3, r3, #2 806f4a6: 4413 add r3, r2 806f4a8: 005b lsls r3, r3, #1 806f4aa: 1aca subs r2, r1, r3 806f4ac: b2d3 uxtb r3, r2 806f4ae: 3330 adds r3, #48 ; 0x30 806f4b0: b2da uxtb r2, r3 806f4b2: f507 733b add.w r3, r7, #748 ; 0x2ec 806f4b6: 711a strb r2, [r3, #4] str[5] = '.'; 806f4b8: f507 733b add.w r3, r7, #748 ; 0x2ec 806f4bc: 222e movs r2, #46 ; 0x2e 806f4be: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 806f4c0: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 806f4c4: 4a67 ldr r2, [pc, #412] ; (806f664 ) 806f4c6: fba2 2303 umull r2, r3, r2, r3 806f4ca: 08db lsrs r3, r3, #3 806f4cc: b2db uxtb r3, r3 806f4ce: 3330 adds r3, #48 ; 0x30 806f4d0: b2da uxtb r2, r3 806f4d2: f507 733b add.w r3, r7, #748 ; 0x2ec 806f4d6: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 806f4d8: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 806f4dc: 4b61 ldr r3, [pc, #388] ; (806f664 ) 806f4de: fba3 2301 umull r2, r3, r3, r1 806f4e2: 08da lsrs r2, r3, #3 806f4e4: 4613 mov r3, r2 806f4e6: 009b lsls r3, r3, #2 806f4e8: 4413 add r3, r2 806f4ea: 005b lsls r3, r3, #1 806f4ec: 1aca subs r2, r1, r3 806f4ee: b2d3 uxtb r3, r2 806f4f0: 3330 adds r3, #48 ; 0x30 806f4f2: b2da uxtb r2, r3 806f4f4: f507 733b add.w r3, r7, #748 ; 0x2ec 806f4f8: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 806f4fa: f507 723b add.w r2, r7, #748 ; 0x2ec 806f4fe: 2301 movs r3, #1 806f500: 21dc movs r1, #220 ; 0xdc 806f502: f44f 7095 mov.w r0, #298 ; 0x12a 806f506: f7e4 fa33 bl 8053970 memset(str, 0, sizeof(str)); 806f50a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f50e: 223c movs r2, #60 ; 0x3c 806f510: 2100 movs r1, #0 806f512: 4618 mov r0, r3 806f514: f05d fdb4 bl 80cd080 str[0] = (Hour / 10) + 48; 806f518: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 806f51c: 4a51 ldr r2, [pc, #324] ; (806f664 ) 806f51e: fba2 2303 umull r2, r3, r2, r3 806f522: 08db lsrs r3, r3, #3 806f524: b2db uxtb r3, r3 806f526: 3330 adds r3, #48 ; 0x30 806f528: b2da uxtb r2, r3 806f52a: f507 733b add.w r3, r7, #748 ; 0x2ec 806f52e: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 806f530: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 806f534: 4b4b ldr r3, [pc, #300] ; (806f664 ) 806f536: fba3 2301 umull r2, r3, r3, r1 806f53a: 08da lsrs r2, r3, #3 806f53c: 4613 mov r3, r2 806f53e: 009b lsls r3, r3, #2 806f540: 4413 add r3, r2 806f542: 005b lsls r3, r3, #1 806f544: 1aca subs r2, r1, r3 806f546: b2d3 uxtb r3, r2 806f548: 3330 adds r3, #48 ; 0x30 806f54a: b2da uxtb r2, r3 806f54c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f550: 705a strb r2, [r3, #1] str[2] = ':'; 806f552: f507 733b add.w r3, r7, #748 ; 0x2ec 806f556: 223a movs r2, #58 ; 0x3a 806f558: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 806f55a: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 806f55e: 4a41 ldr r2, [pc, #260] ; (806f664 ) 806f560: fba2 2303 umull r2, r3, r2, r3 806f564: 08db lsrs r3, r3, #3 806f566: b2db uxtb r3, r3 806f568: 3330 adds r3, #48 ; 0x30 806f56a: b2da uxtb r2, r3 806f56c: f507 733b add.w r3, r7, #748 ; 0x2ec 806f570: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 806f572: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 806f576: 4b3b ldr r3, [pc, #236] ; (806f664 ) 806f578: fba3 2301 umull r2, r3, r3, r1 806f57c: 08da lsrs r2, r3, #3 806f57e: 4613 mov r3, r2 806f580: 009b lsls r3, r3, #2 806f582: 4413 add r3, r2 806f584: 005b lsls r3, r3, #1 806f586: 1aca subs r2, r1, r3 806f588: b2d3 uxtb r3, r2 806f58a: 3330 adds r3, #48 ; 0x30 806f58c: b2da uxtb r2, r3 806f58e: f507 733b add.w r3, r7, #748 ; 0x2ec 806f592: 711a strb r2, [r3, #4] str[5] = ':'; 806f594: f507 733b add.w r3, r7, #748 ; 0x2ec 806f598: 223a movs r2, #58 ; 0x3a 806f59a: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 806f59c: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 806f5a0: 4a30 ldr r2, [pc, #192] ; (806f664 ) 806f5a2: fba2 2303 umull r2, r3, r2, r3 806f5a6: 08db lsrs r3, r3, #3 806f5a8: b2db uxtb r3, r3 806f5aa: 3330 adds r3, #48 ; 0x30 806f5ac: b2da uxtb r2, r3 806f5ae: f507 733b add.w r3, r7, #748 ; 0x2ec 806f5b2: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 806f5b4: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 806f5b8: 4b2a ldr r3, [pc, #168] ; (806f664 ) 806f5ba: fba3 2301 umull r2, r3, r3, r1 806f5be: 08da lsrs r2, r3, #3 806f5c0: 4613 mov r3, r2 806f5c2: 009b lsls r3, r3, #2 806f5c4: 4413 add r3, r2 806f5c6: 005b lsls r3, r3, #1 806f5c8: 1aca subs r2, r1, r3 806f5ca: b2d3 uxtb r3, r2 806f5cc: 3330 adds r3, #48 ; 0x30 806f5ce: b2da uxtb r2, r3 806f5d0: f507 733b add.w r3, r7, #748 ; 0x2ec 806f5d4: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 806f5d6: f507 723b add.w r2, r7, #748 ; 0x2ec 806f5da: 2301 movs r3, #1 806f5dc: 21e4 movs r1, #228 ; 0xe4 806f5de: f44f 7095 mov.w r0, #298 ; 0x12a 806f5e2: f7e4 f9c5 bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 806f5e6: 4921 ldr r1, [pc, #132] ; (806f66c ) 806f5e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 806f5ec: f7e4 f8fa bl 80537e4 for(i = 0; i < l; i++) 806f5f0: 2300 movs r3, #0 806f5f2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806f5f6: e2ca b.n 806fb8e f = ScrA_f32(i); 806f5f8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806f5fc: 009a lsls r2, r3, #2 806f5fe: 4b1c ldr r3, [pc, #112] ; (806f670 ) 806f600: 4413 add r3, r2 806f602: 681b ldr r3, [r3, #0] 806f604: f507 628b add.w r2, r7, #1112 ; 0x458 806f608: 6013 str r3, [r2, #0] if(fmax <= 10.0f) ///////// 806f60a: f207 434c addw r3, r7, #1100 ; 0x44c 806f60e: edd3 7a00 vldr s15, [r3] 806f612: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806f616: eef4 7ac7 vcmpe.f32 s15, s14 806f61a: eef1 fa10 vmrs APSR_nzcv, fpscr 806f61e: d831 bhi.n 806f684 f = (100 * f / 10.0f) + 0.5f; 806f620: f507 638b add.w r3, r7, #1112 ; 0x458 806f624: edd3 7a00 vldr s15, [r3] 806f628: ed9f 7a13 vldr s14, [pc, #76] ; 806f678 806f62c: ee27 7a87 vmul.f32 s14, s15, s14 806f630: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 806f634: eec7 7a26 vdiv.f32 s15, s14, s13 806f638: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f63c: ee77 7a87 vadd.f32 s15, s15, s14 806f640: f507 638b add.w r3, r7, #1112 ; 0x458 806f644: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 806f648: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806f64c: f507 628b add.w r2, r7, #1112 ; 0x458 806f650: edd2 7a00 vldr s15, [r2] 806f654: eefc 7ae7 vcvt.u32.f32 s15, s15 806f658: ee17 2a90 vmov r2, s15 806f65c: 1a9b subs r3, r3, r2 806f65e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f662: e21b b.n 806fa9c 806f664: cccccccd .word 0xcccccccd 806f668: 64090000 .word 0x64090000 806f66c: ff0a0f1f .word 0xff0a0f1f 806f670: 64080000 .word 0x64080000 806f674: 42480000 .word 0x42480000 806f678: 42c80000 .word 0x42c80000 806f67c: 447a0000 .word 0x447a0000 806f680: 461c4000 .word 0x461c4000 if(fmax <= 100.0f) ///////// 806f684: f207 434c addw r3, r7, #1100 ; 0x44c 806f688: edd3 7a00 vldr s15, [r3] 806f68c: ed1f 7a06 vldr s14, [pc, #-24] ; 806f678 806f690: eef4 7ac7 vcmpe.f32 s15, s14 806f694: eef1 fa10 vmrs APSR_nzcv, fpscr 806f698: f200 8084 bhi.w 806f7a4 if(f <= 1.0f) 806f69c: f507 638b add.w r3, r7, #1112 ; 0x458 806f6a0: edd3 7a00 vldr s15, [r3] 806f6a4: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 806f6a8: eef4 7ac7 vcmpe.f32 s15, s14 806f6ac: eef1 fa10 vmrs APSR_nzcv, fpscr 806f6b0: d81d bhi.n 806f6ee f = (25 * f / 1.0f) + 0.5f; 806f6b2: f507 638b add.w r3, r7, #1112 ; 0x458 806f6b6: edd3 7a00 vldr s15, [r3] 806f6ba: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f6be: ee67 7a87 vmul.f32 s15, s15, s14 806f6c2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f6c6: ee77 7a87 vadd.f32 s15, s15, s14 806f6ca: f507 638b add.w r3, r7, #1112 ; 0x458 806f6ce: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 806f6d2: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 806f6d6: f507 628b add.w r2, r7, #1112 ; 0x458 806f6da: edd2 7a00 vldr s15, [r2] 806f6de: eefc 7ae7 vcvt.u32.f32 s15, s15 806f6e2: ee17 2a90 vmov r2, s15 806f6e6: 1a9b subs r3, r3, r2 806f6e8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f6ec: e1d6 b.n 806fa9c if(f <= 10.0f) 806f6ee: f507 638b add.w r3, r7, #1112 ; 0x458 806f6f2: edd3 7a00 vldr s15, [r3] 806f6f6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806f6fa: eef4 7ac7 vcmpe.f32 s15, s14 806f6fe: eef1 fa10 vmrs APSR_nzcv, fpscr 806f702: d821 bhi.n 806f748 f = (50 * f / 10.0f) + 0.5f; 806f704: f507 638b add.w r3, r7, #1112 ; 0x458 806f708: edd3 7a00 vldr s15, [r3] 806f70c: ed1f 7a27 vldr s14, [pc, #-156] ; 806f674 806f710: ee27 7a87 vmul.f32 s14, s15, s14 806f714: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 806f718: eec7 7a26 vdiv.f32 s15, s14, s13 806f71c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f720: ee77 7a87 vadd.f32 s15, s15, s14 806f724: f507 638b add.w r3, r7, #1112 ; 0x458 806f728: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 806f72c: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806f730: f507 628b add.w r2, r7, #1112 ; 0x458 806f734: edd2 7a00 vldr s15, [r2] 806f738: eefc 7ae7 vcvt.u32.f32 s15, s15 806f73c: ee17 2a90 vmov r2, s15 806f740: 1a9b subs r3, r3, r2 806f742: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f746: e1a9 b.n 806fa9c if(f <= 100.0f) 806f748: f507 638b add.w r3, r7, #1112 ; 0x458 806f74c: edd3 7a00 vldr s15, [r3] 806f750: ed1f 7a37 vldr s14, [pc, #-220] ; 806f678 806f754: eef4 7ac7 vcmpe.f32 s15, s14 806f758: eef1 fa10 vmrs APSR_nzcv, fpscr 806f75c: f200 819e bhi.w 806fa9c f = (50 * f / 100.0f) + 0.5f; 806f760: f507 638b add.w r3, r7, #1112 ; 0x458 806f764: edd3 7a00 vldr s15, [r3] 806f768: ed1f 7a3e vldr s14, [pc, #-248] ; 806f674 806f76c: ee27 7a87 vmul.f32 s14, s15, s14 806f770: ed5f 6a3f vldr s13, [pc, #-252] ; 806f678 806f774: eec7 7a26 vdiv.f32 s15, s14, s13 806f778: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f77c: ee77 7a87 vadd.f32 s15, s15, s14 806f780: f507 638b add.w r3, r7, #1112 ; 0x458 806f784: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 806f788: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806f78c: f507 628b add.w r2, r7, #1112 ; 0x458 806f790: edd2 7a00 vldr s15, [r2] 806f794: eefc 7ae7 vcvt.u32.f32 s15, s15 806f798: ee17 2a90 vmov r2, s15 806f79c: 1a9b subs r3, r3, r2 806f79e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f7a2: e17b b.n 806fa9c if(fmax <= 1000.0f) ///////// 806f7a4: f207 434c addw r3, r7, #1100 ; 0x44c 806f7a8: edd3 7a00 vldr s15, [r3] 806f7ac: ed1f 7a4d vldr s14, [pc, #-308] ; 806f67c 806f7b0: eef4 7ac7 vcmpe.f32 s15, s14 806f7b4: eef1 fa10 vmrs APSR_nzcv, fpscr 806f7b8: f200 8088 bhi.w 806f8cc if(f <= 10.0f) 806f7bc: f507 638b add.w r3, r7, #1112 ; 0x458 806f7c0: edd3 7a00 vldr s15, [r3] 806f7c4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806f7c8: eef4 7ac7 vcmpe.f32 s15, s14 806f7cc: eef1 fa10 vmrs APSR_nzcv, fpscr 806f7d0: d821 bhi.n 806f816 f = (25 * f / 10.0f) + 0.5f; 806f7d2: f507 638b add.w r3, r7, #1112 ; 0x458 806f7d6: edd3 7a00 vldr s15, [r3] 806f7da: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f7de: ee27 7a87 vmul.f32 s14, s15, s14 806f7e2: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 806f7e6: eec7 7a26 vdiv.f32 s15, s14, s13 806f7ea: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f7ee: ee77 7a87 vadd.f32 s15, s15, s14 806f7f2: f507 638b add.w r3, r7, #1112 ; 0x458 806f7f6: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 806f7fa: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 806f7fe: f507 628b add.w r2, r7, #1112 ; 0x458 806f802: edd2 7a00 vldr s15, [r2] 806f806: eefc 7ae7 vcvt.u32.f32 s15, s15 806f80a: ee17 2a90 vmov r2, s15 806f80e: 1a9b subs r3, r3, r2 806f810: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f814: e142 b.n 806fa9c if(f <= 100.0f) 806f816: f507 638b add.w r3, r7, #1112 ; 0x458 806f81a: edd3 7a00 vldr s15, [r3] 806f81e: ed1f 7a6a vldr s14, [pc, #-424] ; 806f678 806f822: eef4 7ac7 vcmpe.f32 s15, s14 806f826: eef1 fa10 vmrs APSR_nzcv, fpscr 806f82a: d821 bhi.n 806f870 f = (50 * f / 100.0f) + 0.5f; 806f82c: f507 638b add.w r3, r7, #1112 ; 0x458 806f830: edd3 7a00 vldr s15, [r3] 806f834: ed1f 7a71 vldr s14, [pc, #-452] ; 806f674 806f838: ee27 7a87 vmul.f32 s14, s15, s14 806f83c: ed5f 6a72 vldr s13, [pc, #-456] ; 806f678 806f840: eec7 7a26 vdiv.f32 s15, s14, s13 806f844: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f848: ee77 7a87 vadd.f32 s15, s15, s14 806f84c: f507 638b add.w r3, r7, #1112 ; 0x458 806f850: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 806f854: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806f858: f507 628b add.w r2, r7, #1112 ; 0x458 806f85c: edd2 7a00 vldr s15, [r2] 806f860: eefc 7ae7 vcvt.u32.f32 s15, s15 806f864: ee17 2a90 vmov r2, s15 806f868: 1a9b subs r3, r3, r2 806f86a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f86e: e115 b.n 806fa9c if(f <= 1000.0f) 806f870: f507 638b add.w r3, r7, #1112 ; 0x458 806f874: edd3 7a00 vldr s15, [r3] 806f878: ed1f 7a80 vldr s14, [pc, #-512] ; 806f67c 806f87c: eef4 7ac7 vcmpe.f32 s15, s14 806f880: eef1 fa10 vmrs APSR_nzcv, fpscr 806f884: f200 810a bhi.w 806fa9c f = (50 * f / 1000.0f) + 0.5f; 806f888: f507 638b add.w r3, r7, #1112 ; 0x458 806f88c: edd3 7a00 vldr s15, [r3] 806f890: ed1f 7a88 vldr s14, [pc, #-544] ; 806f674 806f894: ee27 7a87 vmul.f32 s14, s15, s14 806f898: ed5f 6a88 vldr s13, [pc, #-544] ; 806f67c 806f89c: eec7 7a26 vdiv.f32 s15, s14, s13 806f8a0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f8a4: ee77 7a87 vadd.f32 s15, s15, s14 806f8a8: f507 638b add.w r3, r7, #1112 ; 0x458 806f8ac: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 806f8b0: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806f8b4: f507 628b add.w r2, r7, #1112 ; 0x458 806f8b8: edd2 7a00 vldr s15, [r2] 806f8bc: eefc 7ae7 vcvt.u32.f32 s15, s15 806f8c0: ee17 2a90 vmov r2, s15 806f8c4: 1a9b subs r3, r3, r2 806f8c6: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f8ca: e0e7 b.n 806fa9c if(fmax <= 10000.0f) ///////// 806f8cc: f207 434c addw r3, r7, #1100 ; 0x44c 806f8d0: edd3 7a00 vldr s15, [r3] 806f8d4: ed1f 7a96 vldr s14, [pc, #-600] ; 806f680 806f8d8: eef4 7ac7 vcmpe.f32 s15, s14 806f8dc: eef1 fa10 vmrs APSR_nzcv, fpscr 806f8e0: f200 80dc bhi.w 806fa9c if(f <= 1.0f) 806f8e4: f507 638b add.w r3, r7, #1112 ; 0x458 806f8e8: edd3 7a00 vldr s15, [r3] 806f8ec: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 806f8f0: eef4 7ac7 vcmpe.f32 s15, s14 806f8f4: eef1 fa10 vmrs APSR_nzcv, fpscr 806f8f8: d81d bhi.n 806f936 f = (25 * f / 1.0f) + 0.5f; 806f8fa: f507 638b add.w r3, r7, #1112 ; 0x458 806f8fe: edd3 7a00 vldr s15, [r3] 806f902: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f906: ee67 7a87 vmul.f32 s15, s15, s14 806f90a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f90e: ee77 7a87 vadd.f32 s15, s15, s14 806f912: f507 638b add.w r3, r7, #1112 ; 0x458 806f916: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 806f91a: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 806f91e: f507 628b add.w r2, r7, #1112 ; 0x458 806f922: edd2 7a00 vldr s15, [r2] 806f926: eefc 7ae7 vcvt.u32.f32 s15, s15 806f92a: ee17 2a90 vmov r2, s15 806f92e: 1a9b subs r3, r3, r2 806f930: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f934: e0b2 b.n 806fa9c if(f <= 10.0f) 806f936: f507 638b add.w r3, r7, #1112 ; 0x458 806f93a: edd3 7a00 vldr s15, [r3] 806f93e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 806f942: eef4 7ac7 vcmpe.f32 s15, s14 806f946: eef1 fa10 vmrs APSR_nzcv, fpscr 806f94a: d821 bhi.n 806f990 f = (25 * f / 10.0f) + 0.5f; 806f94c: f507 638b add.w r3, r7, #1112 ; 0x458 806f950: edd3 7a00 vldr s15, [r3] 806f954: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f958: ee27 7a87 vmul.f32 s14, s15, s14 806f95c: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 806f960: eec7 7a26 vdiv.f32 s15, s14, s13 806f964: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f968: ee77 7a87 vadd.f32 s15, s15, s14 806f96c: f507 638b add.w r3, r7, #1112 ; 0x458 806f970: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 806f974: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806f978: f507 628b add.w r2, r7, #1112 ; 0x458 806f97c: edd2 7a00 vldr s15, [r2] 806f980: eefc 7ae7 vcvt.u32.f32 s15, s15 806f984: ee17 2a90 vmov r2, s15 806f988: 1a9b subs r3, r3, r2 806f98a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f98e: e085 b.n 806fa9c if(f <= 100.0f) 806f990: f507 638b add.w r3, r7, #1112 ; 0x458 806f994: edd3 7a00 vldr s15, [r3] 806f998: ed1f 7ac9 vldr s14, [pc, #-804] ; 806f678 806f99c: eef4 7ac7 vcmpe.f32 s15, s14 806f9a0: eef1 fa10 vmrs APSR_nzcv, fpscr 806f9a4: d821 bhi.n 806f9ea f = (25 * f / 100.0f) + 0.5f; 806f9a6: f507 638b add.w r3, r7, #1112 ; 0x458 806f9aa: edd3 7a00 vldr s15, [r3] 806f9ae: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806f9b2: ee27 7a87 vmul.f32 s14, s15, s14 806f9b6: ed5f 6ad0 vldr s13, [pc, #-832] ; 806f678 806f9ba: eec7 7a26 vdiv.f32 s15, s14, s13 806f9be: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806f9c2: ee77 7a87 vadd.f32 s15, s15, s14 806f9c6: f507 638b add.w r3, r7, #1112 ; 0x458 806f9ca: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 806f9ce: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806f9d2: f507 628b add.w r2, r7, #1112 ; 0x458 806f9d6: edd2 7a00 vldr s15, [r2] 806f9da: eefc 7ae7 vcvt.u32.f32 s15, s15 806f9de: ee17 2a90 vmov r2, s15 806f9e2: 1a9b subs r3, r3, r2 806f9e4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806f9e8: e058 b.n 806fa9c if(f <= 1000.0f) 806f9ea: f507 638b add.w r3, r7, #1112 ; 0x458 806f9ee: edd3 7a00 vldr s15, [r3] 806f9f2: ed1f 7ade vldr s14, [pc, #-888] ; 806f67c 806f9f6: eef4 7ac7 vcmpe.f32 s15, s14 806f9fa: eef1 fa10 vmrs APSR_nzcv, fpscr 806f9fe: d821 bhi.n 806fa44 f = (25 * f / 1000.0f) + 0.5f; 806fa00: f507 638b add.w r3, r7, #1112 ; 0x458 806fa04: edd3 7a00 vldr s15, [r3] 806fa08: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fa0c: ee27 7a87 vmul.f32 s14, s15, s14 806fa10: ed5f 6ae6 vldr s13, [pc, #-920] ; 806f67c 806fa14: eec7 7a26 vdiv.f32 s15, s14, s13 806fa18: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fa1c: ee77 7a87 vadd.f32 s15, s15, s14 806fa20: f507 638b add.w r3, r7, #1112 ; 0x458 806fa24: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 806fa28: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fa2c: f507 628b add.w r2, r7, #1112 ; 0x458 806fa30: edd2 7a00 vldr s15, [r2] 806fa34: eefc 7ae7 vcvt.u32.f32 s15, s15 806fa38: ee17 2a90 vmov r2, s15 806fa3c: 1a9b subs r3, r3, r2 806fa3e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 806fa42: e02b b.n 806fa9c if(f <= 10000.0f) 806fa44: f507 638b add.w r3, r7, #1112 ; 0x458 806fa48: edd3 7a00 vldr s15, [r3] 806fa4c: ed1f 7af4 vldr s14, [pc, #-976] ; 806f680 806fa50: eef4 7ac7 vcmpe.f32 s15, s14 806fa54: eef1 fa10 vmrs APSR_nzcv, fpscr 806fa58: d820 bhi.n 806fa9c f = (25 * f / 10000.0f) + 0.5f; 806fa5a: f507 638b add.w r3, r7, #1112 ; 0x458 806fa5e: edd3 7a00 vldr s15, [r3] 806fa62: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 806fa66: ee27 7a87 vmul.f32 s14, s15, s14 806fa6a: eddf 6ac1 vldr s13, [pc, #772] ; 806fd70 806fa6e: eec7 7a26 vdiv.f32 s15, s14, s13 806fa72: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fa76: ee77 7a87 vadd.f32 s15, s15, s14 806fa7a: f507 638b add.w r3, r7, #1112 ; 0x458 806fa7e: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 806fa82: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fa86: f507 628b add.w r2, r7, #1112 ; 0x458 806fa8a: edd2 7a00 vldr s15, [r2] 806fa8e: eefc 7ae7 vcvt.u32.f32 s15, s15 806fa92: ee17 2a90 vmov r2, s15 806fa96: 1a9b subs r3, r3, r2 806fa98: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(l == 1) 806fa9c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806faa0: 2b01 cmp r3, #1 806faa2: d119 bne.n 806fad8 x = 256; 806faa4: f44f 7380 mov.w r3, #256 ; 0x100 806faa8: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 oldx = 0; 806faac: 2300 movs r3, #0 806faae: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 BSP_LCD_DrawLine(62 + oldx, y, 62 + x, y); 806fab2: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 806fab6: b29b uxth r3, r3 806fab8: 333e adds r3, #62 ; 0x3e 806faba: b298 uxth r0, r3 806fabc: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806fac0: b299 uxth r1, r3 806fac2: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806fac6: b29b uxth r3, r3 806fac8: 333e adds r3, #62 ; 0x3e 806faca: b29a uxth r2, r3 806facc: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806fad0: b29b uxth r3, r3 806fad2: f7e4 f8c1 bl 8053c58 806fad6: e055 b.n 806fb84 fs = 256.0f / (float32_t) (l - 1); 806fad8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806fadc: 3b01 subs r3, #1 806fade: ee07 3a90 vmov s15, r3 806fae2: eeb8 7a67 vcvt.f32.u32 s14, s15 806fae6: eddf 6aa3 vldr s13, [pc, #652] ; 806fd74 806faea: eec6 7a87 vdiv.f32 s15, s13, s14 806faee: f207 4314 addw r3, r7, #1044 ; 0x414 806faf2: edc3 7a00 vstr s15, [r3] x = (uint32_t) ((fs * (float32_t) i) + 0.5f); 806faf6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806fafa: ee07 3a90 vmov s15, r3 806fafe: eeb8 7a67 vcvt.f32.u32 s14, s15 806fb02: f207 4314 addw r3, r7, #1044 ; 0x414 806fb06: edd3 7a00 vldr s15, [r3] 806fb0a: ee67 7a27 vmul.f32 s15, s14, s15 806fb0e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 806fb12: ee77 7a87 vadd.f32 s15, s15, s14 806fb16: eefc 7ae7 vcvt.u32.f32 s15, s15 806fb1a: ee17 3a90 vmov r3, s15 806fb1e: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 if(i == 0) 806fb22: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806fb26: 2b00 cmp r3, #0 806fb28: d112 bne.n 806fb50 BSP_LCD_DrawLine(62 + x, y, 62 + x, y); 806fb2a: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806fb2e: b29b uxth r3, r3 806fb30: 333e adds r3, #62 ; 0x3e 806fb32: b298 uxth r0, r3 806fb34: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806fb38: b299 uxth r1, r3 806fb3a: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806fb3e: b29b uxth r3, r3 806fb40: 333e adds r3, #62 ; 0x3e 806fb42: b29a uxth r2, r3 806fb44: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806fb48: b29b uxth r3, r3 806fb4a: f7e4 f885 bl 8053c58 806fb4e: e011 b.n 806fb74 else BSP_LCD_DrawLine(62 + oldx, oldy, 62 + x, y); 806fb50: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 806fb54: b29b uxth r3, r3 806fb56: 333e adds r3, #62 ; 0x3e 806fb58: b298 uxth r0, r3 806fb5a: f8d7 345c ldr.w r3, [r7, #1116] ; 0x45c 806fb5e: b299 uxth r1, r3 806fb60: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806fb64: b29b uxth r3, r3 806fb66: 333e adds r3, #62 ; 0x3e 806fb68: b29a uxth r2, r3 806fb6a: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806fb6e: b29b uxth r3, r3 806fb70: f7e4 f872 bl 8053c58 oldx = x; 806fb74: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 806fb78: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 oldy = y; 806fb7c: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 806fb80: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < l; i++) 806fb84: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 806fb88: 3301 adds r3, #1 806fb8a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 806fb8e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 806fb92: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806fb96: 429a cmp r2, r3 806fb98: f4ff ad2e bcc.w 806f5f8 break; 806fb9c: f027 bd1b b.w 80975d6 if(l) 806fba0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806fba4: 2b00 cmp r3, #0 806fba6: f027 8516 beq.w 80975d6 y0 = 217; 806fbaa: 23d9 movs r3, #217 ; 0xd9 806fbac: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = 192; 806fbb0: 23c0 movs r3, #192 ; 0xc0 806fbb2: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a y2 = 167; 806fbb6: 23a7 movs r3, #167 ; 0xa7 806fbb8: f8a7 3438 strh.w r3, [r7, #1080] ; 0x438 y3 = 142; 806fbbc: 238e movs r3, #142 ; 0x8e 806fbbe: f8a7 3436 strh.w r3, [r7, #1078] ; 0x436 y4 = 117; 806fbc2: 2375 movs r3, #117 ; 0x75 806fbc4: f8a7 3434 strh.w r3, [r7, #1076] ; 0x434 y5 = 92; 806fbc8: 235c movs r3, #92 ; 0x5c 806fbca: f8a7 3432 strh.w r3, [r7, #1074] ; 0x432 y6 = 67; 806fbce: 2343 movs r3, #67 ; 0x43 806fbd0: f8a7 3430 strh.w r3, [r7, #1072] ; 0x430 BSP_LCD_SetFont(&Font8); 806fbd4: 4868 ldr r0, [pc, #416] ; (806fd78 ) 806fbd6: f7e3 fe41 bl 805385c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 806fbda: 4968 ldr r1, [pc, #416] ; (806fd7c ) 806fbdc: 4868 ldr r0, [pc, #416] ; (806fd80 ) 806fbde: f7e3 fe01 bl 80537e4 if(fmax <= 100.0f) 806fbe2: f207 434c addw r3, r7, #1100 ; 0x44c 806fbe6: edd3 7a00 vldr s15, [r3] 806fbea: ed9f 7a66 vldr s14, [pc, #408] ; 806fd84 806fbee: eef4 7ac7 vcmpe.f32 s15, s14 806fbf2: eef1 fa10 vmrs APSR_nzcv, fpscr 806fbf6: d836 bhi.n 806fc66 BSP_LCD_DisplayStringAt(59, y6 - 2, "100", RIGHT_MODE); 806fbf8: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 806fbfc: 3b02 subs r3, #2 806fbfe: b299 uxth r1, r3 806fc00: 2302 movs r3, #2 806fc02: 4a61 ldr r2, [pc, #388] ; (806fd88 ) 806fc04: 203b movs r0, #59 ; 0x3b 806fc06: f7e3 feb3 bl 8053970 BSP_LCD_DisplayStringAt(59, y5 - 2, "10", RIGHT_MODE); 806fc0a: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806fc0e: 3b02 subs r3, #2 806fc10: b299 uxth r1, r3 806fc12: 2302 movs r3, #2 806fc14: 4a5d ldr r2, [pc, #372] ; (806fd8c ) 806fc16: 203b movs r0, #59 ; 0x3b 806fc18: f7e3 feaa bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "1", RIGHT_MODE); 806fc1c: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fc20: 3b02 subs r3, #2 806fc22: b299 uxth r1, r3 806fc24: 2302 movs r3, #2 806fc26: 4a5a ldr r2, [pc, #360] ; (806fd90 ) 806fc28: 203b movs r0, #59 ; 0x3b 806fc2a: f7e3 fea1 bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "0.1", RIGHT_MODE); 806fc2e: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fc32: 3b02 subs r3, #2 806fc34: b299 uxth r1, r3 806fc36: 2302 movs r3, #2 806fc38: 4a56 ldr r2, [pc, #344] ; (806fd94 ) 806fc3a: 203b movs r0, #59 ; 0x3b 806fc3c: f7e3 fe98 bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "0.01", RIGHT_MODE); 806fc40: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fc44: 3b02 subs r3, #2 806fc46: b299 uxth r1, r3 806fc48: 2302 movs r3, #2 806fc4a: 4a53 ldr r2, [pc, #332] ; (806fd98 ) 806fc4c: 203b movs r0, #59 ; 0x3b 806fc4e: f7e3 fe8f bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "0.001", RIGHT_MODE); 806fc52: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806fc56: 3b02 subs r3, #2 806fc58: b299 uxth r1, r3 806fc5a: 2302 movs r3, #2 806fc5c: 4a4f ldr r2, [pc, #316] ; (806fd9c ) 806fc5e: 203b movs r0, #59 ; 0x3b 806fc60: f7e3 fe86 bl 8053970 806fc64: e17b b.n 806ff5e if(fmax <= 1000.0f) 806fc66: f207 434c addw r3, r7, #1100 ; 0x44c 806fc6a: edd3 7a00 vldr s15, [r3] 806fc6e: ed9f 7a4c vldr s14, [pc, #304] ; 806fda0 806fc72: eef4 7ac7 vcmpe.f32 s15, s14 806fc76: eef1 fa10 vmrs APSR_nzcv, fpscr 806fc7a: d836 bhi.n 806fcea BSP_LCD_DisplayStringAt(59, y6 - 2, "1000", RIGHT_MODE); 806fc7c: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 806fc80: 3b02 subs r3, #2 806fc82: b299 uxth r1, r3 806fc84: 2302 movs r3, #2 806fc86: 4a47 ldr r2, [pc, #284] ; (806fda4 ) 806fc88: 203b movs r0, #59 ; 0x3b 806fc8a: f7e3 fe71 bl 8053970 BSP_LCD_DisplayStringAt(59, y5 - 2, "100", RIGHT_MODE); 806fc8e: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806fc92: 3b02 subs r3, #2 806fc94: b299 uxth r1, r3 806fc96: 2302 movs r3, #2 806fc98: 4a3b ldr r2, [pc, #236] ; (806fd88 ) 806fc9a: 203b movs r0, #59 ; 0x3b 806fc9c: f7e3 fe68 bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "10", RIGHT_MODE); 806fca0: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fca4: 3b02 subs r3, #2 806fca6: b299 uxth r1, r3 806fca8: 2302 movs r3, #2 806fcaa: 4a38 ldr r2, [pc, #224] ; (806fd8c ) 806fcac: 203b movs r0, #59 ; 0x3b 806fcae: f7e3 fe5f bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "1", RIGHT_MODE); 806fcb2: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fcb6: 3b02 subs r3, #2 806fcb8: b299 uxth r1, r3 806fcba: 2302 movs r3, #2 806fcbc: 4a34 ldr r2, [pc, #208] ; (806fd90 ) 806fcbe: 203b movs r0, #59 ; 0x3b 806fcc0: f7e3 fe56 bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "0.1", RIGHT_MODE); 806fcc4: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fcc8: 3b02 subs r3, #2 806fcca: b299 uxth r1, r3 806fccc: 2302 movs r3, #2 806fcce: 4a31 ldr r2, [pc, #196] ; (806fd94 ) 806fcd0: 203b movs r0, #59 ; 0x3b 806fcd2: f7e3 fe4d bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "0.01", RIGHT_MODE); 806fcd6: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806fcda: 3b02 subs r3, #2 806fcdc: b299 uxth r1, r3 806fcde: 2302 movs r3, #2 806fce0: 4a2d ldr r2, [pc, #180] ; (806fd98 ) 806fce2: 203b movs r0, #59 ; 0x3b 806fce4: f7e3 fe44 bl 8053970 806fce8: e139 b.n 806ff5e if(fmax <= 10000.0f) 806fcea: f207 434c addw r3, r7, #1100 ; 0x44c 806fcee: edd3 7a00 vldr s15, [r3] 806fcf2: ed9f 7a1f vldr s14, [pc, #124] ; 806fd70 806fcf6: eef4 7ac7 vcmpe.f32 s15, s14 806fcfa: eef1 fa10 vmrs APSR_nzcv, fpscr 806fcfe: d857 bhi.n 806fdb0 BSP_LCD_DisplayStringAt(59, y6 - 2, "10000", RIGHT_MODE); 806fd00: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 806fd04: 3b02 subs r3, #2 806fd06: b299 uxth r1, r3 806fd08: 2302 movs r3, #2 806fd0a: 4a27 ldr r2, [pc, #156] ; (806fda8 ) 806fd0c: 203b movs r0, #59 ; 0x3b 806fd0e: f7e3 fe2f bl 8053970 BSP_LCD_DisplayStringAt(59, y5 - 2, "1000", RIGHT_MODE); 806fd12: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806fd16: 3b02 subs r3, #2 806fd18: b299 uxth r1, r3 806fd1a: 2302 movs r3, #2 806fd1c: 4a21 ldr r2, [pc, #132] ; (806fda4 ) 806fd1e: 203b movs r0, #59 ; 0x3b 806fd20: f7e3 fe26 bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "100", RIGHT_MODE); 806fd24: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fd28: 3b02 subs r3, #2 806fd2a: b299 uxth r1, r3 806fd2c: 2302 movs r3, #2 806fd2e: 4a16 ldr r2, [pc, #88] ; (806fd88 ) 806fd30: 203b movs r0, #59 ; 0x3b 806fd32: f7e3 fe1d bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "10", RIGHT_MODE); 806fd36: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fd3a: 3b02 subs r3, #2 806fd3c: b299 uxth r1, r3 806fd3e: 2302 movs r3, #2 806fd40: 4a12 ldr r2, [pc, #72] ; (806fd8c ) 806fd42: 203b movs r0, #59 ; 0x3b 806fd44: f7e3 fe14 bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "1", RIGHT_MODE); 806fd48: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fd4c: 3b02 subs r3, #2 806fd4e: b299 uxth r1, r3 806fd50: 2302 movs r3, #2 806fd52: 4a0f ldr r2, [pc, #60] ; (806fd90 ) 806fd54: 203b movs r0, #59 ; 0x3b 806fd56: f7e3 fe0b bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "0.1", RIGHT_MODE); 806fd5a: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806fd5e: 3b02 subs r3, #2 806fd60: b299 uxth r1, r3 806fd62: 2302 movs r3, #2 806fd64: 4a0b ldr r2, [pc, #44] ; (806fd94 ) 806fd66: 203b movs r0, #59 ; 0x3b 806fd68: f7e3 fe02 bl 8053970 806fd6c: e0f7 b.n 806ff5e 806fd6e: bf00 nop 806fd70: 461c4000 .word 0x461c4000 806fd74: 43800000 .word 0x43800000 806fd78: 20020060 .word 0x20020060 806fd7c: ff0a0f1f .word 0xff0a0f1f 806fd80: ffd3d3d3 .word 0xffd3d3d3 806fd84: 42c80000 .word 0x42c80000 806fd88: 080cfa90 .word 0x080cfa90 806fd8c: 080cfa88 .word 0x080cfa88 806fd90: 080ce88c .word 0x080ce88c 806fd94: 080cfac8 .word 0x080cfac8 806fd98: 080cfacc .word 0x080cfacc 806fd9c: 080cfad4 .word 0x080cfad4 806fda0: 447a0000 .word 0x447a0000 806fda4: 080cfa98 .word 0x080cfa98 806fda8: 080cfaa4 .word 0x080cfaa4 806fdac: 47c35000 .word 0x47c35000 if(fmax <= 100000.0f) 806fdb0: f207 434c addw r3, r7, #1100 ; 0x44c 806fdb4: edd3 7a00 vldr s15, [r3] 806fdb8: ed1f 7a04 vldr s14, [pc, #-16] ; 806fdac 806fdbc: eef4 7ac7 vcmpe.f32 s15, s14 806fdc0: eef1 fa10 vmrs APSR_nzcv, fpscr 806fdc4: d836 bhi.n 806fe34 BSP_LCD_DisplayStringAt(59, y6 - 2, "100000", RIGHT_MODE); 806fdc6: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 806fdca: 3b02 subs r3, #2 806fdcc: b299 uxth r1, r3 806fdce: 2302 movs r3, #2 806fdd0: 4a39 ldr r2, [pc, #228] ; (806feb8 ) 806fdd2: 203b movs r0, #59 ; 0x3b 806fdd4: f7e3 fdcc bl 8053970 BSP_LCD_DisplayStringAt(59, y5 - 2, "10000", RIGHT_MODE); 806fdd8: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806fddc: 3b02 subs r3, #2 806fdde: b299 uxth r1, r3 806fde0: 2302 movs r3, #2 806fde2: 4a36 ldr r2, [pc, #216] ; (806febc ) 806fde4: 203b movs r0, #59 ; 0x3b 806fde6: f7e3 fdc3 bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "1000", RIGHT_MODE); 806fdea: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fdee: 3b02 subs r3, #2 806fdf0: b299 uxth r1, r3 806fdf2: 2302 movs r3, #2 806fdf4: 4a32 ldr r2, [pc, #200] ; (806fec0 ) 806fdf6: 203b movs r0, #59 ; 0x3b 806fdf8: f7e3 fdba bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "100", RIGHT_MODE); 806fdfc: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fe00: 3b02 subs r3, #2 806fe02: b299 uxth r1, r3 806fe04: 2302 movs r3, #2 806fe06: 4a2f ldr r2, [pc, #188] ; (806fec4 ) 806fe08: 203b movs r0, #59 ; 0x3b 806fe0a: f7e3 fdb1 bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "10", RIGHT_MODE); 806fe0e: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fe12: 3b02 subs r3, #2 806fe14: b299 uxth r1, r3 806fe16: 2302 movs r3, #2 806fe18: 4a2b ldr r2, [pc, #172] ; (806fec8 ) 806fe1a: 203b movs r0, #59 ; 0x3b 806fe1c: f7e3 fda8 bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "1", RIGHT_MODE); 806fe20: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806fe24: 3b02 subs r3, #2 806fe26: b299 uxth r1, r3 806fe28: 2302 movs r3, #2 806fe2a: 4a28 ldr r2, [pc, #160] ; (806fecc ) 806fe2c: 203b movs r0, #59 ; 0x3b 806fe2e: f7e3 fd9f bl 8053970 806fe32: e094 b.n 806ff5e if(fmax <= 1000000.0f) 806fe34: f207 434c addw r3, r7, #1100 ; 0x44c 806fe38: edd3 7a00 vldr s15, [r3] 806fe3c: ed9f 7a24 vldr s14, [pc, #144] ; 806fed0 806fe40: eef4 7ac7 vcmpe.f32 s15, s14 806fe44: eef1 fa10 vmrs APSR_nzcv, fpscr 806fe48: d848 bhi.n 806fedc BSP_LCD_DisplayStringAt(59, y6 - 2, "1000000", RIGHT_MODE); 806fe4a: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 806fe4e: 3b02 subs r3, #2 806fe50: b299 uxth r1, r3 806fe52: 2302 movs r3, #2 806fe54: 4a1f ldr r2, [pc, #124] ; (806fed4 ) 806fe56: 203b movs r0, #59 ; 0x3b 806fe58: f7e3 fd8a bl 8053970 BSP_LCD_DisplayStringAt(59, y5 - 2, "100000", RIGHT_MODE); 806fe5c: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806fe60: 3b02 subs r3, #2 806fe62: b299 uxth r1, r3 806fe64: 2302 movs r3, #2 806fe66: 4a14 ldr r2, [pc, #80] ; (806feb8 ) 806fe68: 203b movs r0, #59 ; 0x3b 806fe6a: f7e3 fd81 bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "10000", RIGHT_MODE); 806fe6e: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806fe72: 3b02 subs r3, #2 806fe74: b299 uxth r1, r3 806fe76: 2302 movs r3, #2 806fe78: 4a10 ldr r2, [pc, #64] ; (806febc ) 806fe7a: 203b movs r0, #59 ; 0x3b 806fe7c: f7e3 fd78 bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "1000", RIGHT_MODE); 806fe80: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806fe84: 3b02 subs r3, #2 806fe86: b299 uxth r1, r3 806fe88: 2302 movs r3, #2 806fe8a: 4a0d ldr r2, [pc, #52] ; (806fec0 ) 806fe8c: 203b movs r0, #59 ; 0x3b 806fe8e: f7e3 fd6f bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "100", RIGHT_MODE); 806fe92: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806fe96: 3b02 subs r3, #2 806fe98: b299 uxth r1, r3 806fe9a: 2302 movs r3, #2 806fe9c: 4a09 ldr r2, [pc, #36] ; (806fec4 ) 806fe9e: 203b movs r0, #59 ; 0x3b 806fea0: f7e3 fd66 bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "10", RIGHT_MODE); 806fea4: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806fea8: 3b02 subs r3, #2 806feaa: b299 uxth r1, r3 806feac: 2302 movs r3, #2 806feae: 4a06 ldr r2, [pc, #24] ; (806fec8 ) 806feb0: 203b movs r0, #59 ; 0x3b 806feb2: f7e3 fd5d bl 8053970 806feb6: e052 b.n 806ff5e 806feb8: 080cfadc .word 0x080cfadc 806febc: 080cfaa4 .word 0x080cfaa4 806fec0: 080cfa98 .word 0x080cfa98 806fec4: 080cfa90 .word 0x080cfa90 806fec8: 080cfa88 .word 0x080cfa88 806fecc: 080ce88c .word 0x080ce88c 806fed0: 49742400 .word 0x49742400 806fed4: 080cfae4 .word 0x080cfae4 806fed8: 4b189680 .word 0x4b189680 if(fmax <= 10000000.0f) 806fedc: f207 434c addw r3, r7, #1100 ; 0x44c 806fee0: edd3 7a00 vldr s15, [r3] 806fee4: ed1f 7a04 vldr s14, [pc, #-16] ; 806fed8 806fee8: eef4 7ac7 vcmpe.f32 s15, s14 806feec: eef1 fa10 vmrs APSR_nzcv, fpscr 806fef0: d835 bhi.n 806ff5e BSP_LCD_DisplayStringAt(59, y6 - 2, "10000000", RIGHT_MODE); 806fef2: f8b7 3430 ldrh.w r3, [r7, #1072] ; 0x430 806fef6: 3b02 subs r3, #2 806fef8: b299 uxth r1, r3 806fefa: 2302 movs r3, #2 806fefc: 4a9f ldr r2, [pc, #636] ; (807017c ) 806fefe: 203b movs r0, #59 ; 0x3b 806ff00: f7e3 fd36 bl 8053970 BSP_LCD_DisplayStringAt(59, y5 - 2, "1000000", RIGHT_MODE); 806ff04: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 806ff08: 3b02 subs r3, #2 806ff0a: b299 uxth r1, r3 806ff0c: 2302 movs r3, #2 806ff0e: 4a9c ldr r2, [pc, #624] ; (8070180 ) 806ff10: 203b movs r0, #59 ; 0x3b 806ff12: f7e3 fd2d bl 8053970 BSP_LCD_DisplayStringAt(59, y4 - 2, "100000", RIGHT_MODE); 806ff16: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 806ff1a: 3b02 subs r3, #2 806ff1c: b299 uxth r1, r3 806ff1e: 2302 movs r3, #2 806ff20: 4a98 ldr r2, [pc, #608] ; (8070184 ) 806ff22: 203b movs r0, #59 ; 0x3b 806ff24: f7e3 fd24 bl 8053970 BSP_LCD_DisplayStringAt(59, y3 - 2, "10000", RIGHT_MODE); 806ff28: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 806ff2c: 3b02 subs r3, #2 806ff2e: b299 uxth r1, r3 806ff30: 2302 movs r3, #2 806ff32: 4a95 ldr r2, [pc, #596] ; (8070188 ) 806ff34: 203b movs r0, #59 ; 0x3b 806ff36: f7e3 fd1b bl 8053970 BSP_LCD_DisplayStringAt(59, y2 - 2, "1000", RIGHT_MODE); 806ff3a: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 806ff3e: 3b02 subs r3, #2 806ff40: b299 uxth r1, r3 806ff42: 2302 movs r3, #2 806ff44: 4a91 ldr r2, [pc, #580] ; (807018c ) 806ff46: 203b movs r0, #59 ; 0x3b 806ff48: f7e3 fd12 bl 8053970 BSP_LCD_DisplayStringAt(59, y1 - 2, "100", RIGHT_MODE); 806ff4c: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 806ff50: 3b02 subs r3, #2 806ff52: b299 uxth r1, r3 806ff54: 2302 movs r3, #2 806ff56: 4a8e ldr r2, [pc, #568] ; (8070190 ) 806ff58: 203b movs r0, #59 ; 0x3b 806ff5a: f7e3 fd09 bl 8053970 if(l == 1) 806ff5e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 806ff62: 2b01 cmp r3, #1 806ff64: f040 811a bne.w 807019c k = CmplxA_u32(0); 806ff68: 4b8a ldr r3, [pc, #552] ; (8070194 ) 806ff6a: 681b ldr r3, [r3, #0] 806ff6c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 806ff70: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ff74: 0e5b lsrs r3, r3, #25 806ff76: 3b14 subs r3, #20 806ff78: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 806ff7c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ff80: 0d5b lsrs r3, r3, #21 806ff82: f003 030f and.w r3, r3, #15 806ff86: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 806ff8a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ff8e: 0c1b lsrs r3, r3, #16 806ff90: f003 031f and.w r3, r3, #31 806ff94: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 806ff98: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ff9c: 0adb lsrs r3, r3, #11 806ff9e: f003 031f and.w r3, r3, #31 806ffa2: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 806ffa6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ffaa: 095b lsrs r3, r3, #5 806ffac: f003 033f and.w r3, r3, #63 ; 0x3f 806ffb0: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 806ffb4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 806ffb8: 005b lsls r3, r3, #1 806ffba: f003 031f and.w r3, r3, #31 806ffbe: 3301 adds r3, #1 806ffc0: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 806ffc4: f507 733b add.w r3, r7, #748 ; 0x2ec 806ffc8: 223c movs r2, #60 ; 0x3c 806ffca: 2100 movs r1, #0 806ffcc: 4618 mov r0, r3 806ffce: f05d f857 bl 80cd080 str[0] = (Day / 10) + 48; 806ffd2: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 806ffd6: 4a70 ldr r2, [pc, #448] ; (8070198 ) 806ffd8: fba2 2303 umull r2, r3, r2, r3 806ffdc: 08db lsrs r3, r3, #3 806ffde: b2db uxtb r3, r3 806ffe0: 3330 adds r3, #48 ; 0x30 806ffe2: b2da uxtb r2, r3 806ffe4: f507 733b add.w r3, r7, #748 ; 0x2ec 806ffe8: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 806ffea: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 806ffee: 4b6a ldr r3, [pc, #424] ; (8070198 ) 806fff0: fba3 2301 umull r2, r3, r3, r1 806fff4: 08da lsrs r2, r3, #3 806fff6: 4613 mov r3, r2 806fff8: 009b lsls r3, r3, #2 806fffa: 4413 add r3, r2 806fffc: 005b lsls r3, r3, #1 806fffe: 1aca subs r2, r1, r3 8070000: b2d3 uxtb r3, r2 8070002: 3330 adds r3, #48 ; 0x30 8070004: b2da uxtb r2, r3 8070006: f507 733b add.w r3, r7, #748 ; 0x2ec 807000a: 705a strb r2, [r3, #1] str[2] = '.'; 807000c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070010: 222e movs r2, #46 ; 0x2e 8070012: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8070014: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8070018: 4a5f ldr r2, [pc, #380] ; (8070198 ) 807001a: fba2 2303 umull r2, r3, r2, r3 807001e: 08db lsrs r3, r3, #3 8070020: b2db uxtb r3, r3 8070022: 3330 adds r3, #48 ; 0x30 8070024: b2da uxtb r2, r3 8070026: f507 733b add.w r3, r7, #748 ; 0x2ec 807002a: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 807002c: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8070030: 4b59 ldr r3, [pc, #356] ; (8070198 ) 8070032: fba3 2301 umull r2, r3, r3, r1 8070036: 08da lsrs r2, r3, #3 8070038: 4613 mov r3, r2 807003a: 009b lsls r3, r3, #2 807003c: 4413 add r3, r2 807003e: 005b lsls r3, r3, #1 8070040: 1aca subs r2, r1, r3 8070042: b2d3 uxtb r3, r2 8070044: 3330 adds r3, #48 ; 0x30 8070046: b2da uxtb r2, r3 8070048: f507 733b add.w r3, r7, #748 ; 0x2ec 807004c: 711a strb r2, [r3, #4] str[5] = '.'; 807004e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070052: 222e movs r2, #46 ; 0x2e 8070054: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8070056: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 807005a: 4a4f ldr r2, [pc, #316] ; (8070198 ) 807005c: fba2 2303 umull r2, r3, r2, r3 8070060: 08db lsrs r3, r3, #3 8070062: b2db uxtb r3, r3 8070064: 3330 adds r3, #48 ; 0x30 8070066: b2da uxtb r2, r3 8070068: f507 733b add.w r3, r7, #748 ; 0x2ec 807006c: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 807006e: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8070072: 4b49 ldr r3, [pc, #292] ; (8070198 ) 8070074: fba3 2301 umull r2, r3, r3, r1 8070078: 08da lsrs r2, r3, #3 807007a: 4613 mov r3, r2 807007c: 009b lsls r3, r3, #2 807007e: 4413 add r3, r2 8070080: 005b lsls r3, r3, #1 8070082: 1aca subs r2, r1, r3 8070084: b2d3 uxtb r3, r2 8070086: 3330 adds r3, #48 ; 0x30 8070088: b2da uxtb r2, r3 807008a: f507 733b add.w r3, r7, #748 ; 0x2ec 807008e: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 8070090: f507 723b add.w r2, r7, #748 ; 0x2ec 8070094: 2301 movs r3, #1 8070096: 21dc movs r1, #220 ; 0xdc 8070098: 20be movs r0, #190 ; 0xbe 807009a: f7e3 fc69 bl 8053970 memset(str, 0, sizeof(str)); 807009e: f507 733b add.w r3, r7, #748 ; 0x2ec 80700a2: 223c movs r2, #60 ; 0x3c 80700a4: 2100 movs r1, #0 80700a6: 4618 mov r0, r3 80700a8: f05c ffea bl 80cd080 str[0] = (Hour / 10) + 48; 80700ac: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 80700b0: 4a39 ldr r2, [pc, #228] ; (8070198 ) 80700b2: fba2 2303 umull r2, r3, r2, r3 80700b6: 08db lsrs r3, r3, #3 80700b8: b2db uxtb r3, r3 80700ba: 3330 adds r3, #48 ; 0x30 80700bc: b2da uxtb r2, r3 80700be: f507 733b add.w r3, r7, #748 ; 0x2ec 80700c2: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 80700c4: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 80700c8: 4b33 ldr r3, [pc, #204] ; (8070198 ) 80700ca: fba3 2301 umull r2, r3, r3, r1 80700ce: 08da lsrs r2, r3, #3 80700d0: 4613 mov r3, r2 80700d2: 009b lsls r3, r3, #2 80700d4: 4413 add r3, r2 80700d6: 005b lsls r3, r3, #1 80700d8: 1aca subs r2, r1, r3 80700da: b2d3 uxtb r3, r2 80700dc: 3330 adds r3, #48 ; 0x30 80700de: b2da uxtb r2, r3 80700e0: f507 733b add.w r3, r7, #748 ; 0x2ec 80700e4: 705a strb r2, [r3, #1] str[2] = ':'; 80700e6: f507 733b add.w r3, r7, #748 ; 0x2ec 80700ea: 223a movs r2, #58 ; 0x3a 80700ec: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 80700ee: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 80700f2: 4a29 ldr r2, [pc, #164] ; (8070198 ) 80700f4: fba2 2303 umull r2, r3, r2, r3 80700f8: 08db lsrs r3, r3, #3 80700fa: b2db uxtb r3, r3 80700fc: 3330 adds r3, #48 ; 0x30 80700fe: b2da uxtb r2, r3 8070100: f507 733b add.w r3, r7, #748 ; 0x2ec 8070104: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8070106: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 807010a: 4b23 ldr r3, [pc, #140] ; (8070198 ) 807010c: fba3 2301 umull r2, r3, r3, r1 8070110: 08da lsrs r2, r3, #3 8070112: 4613 mov r3, r2 8070114: 009b lsls r3, r3, #2 8070116: 4413 add r3, r2 8070118: 005b lsls r3, r3, #1 807011a: 1aca subs r2, r1, r3 807011c: b2d3 uxtb r3, r2 807011e: 3330 adds r3, #48 ; 0x30 8070120: b2da uxtb r2, r3 8070122: f507 733b add.w r3, r7, #748 ; 0x2ec 8070126: 711a strb r2, [r3, #4] str[5] = ':'; 8070128: f507 733b add.w r3, r7, #748 ; 0x2ec 807012c: 223a movs r2, #58 ; 0x3a 807012e: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8070130: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8070134: 4a18 ldr r2, [pc, #96] ; (8070198 ) 8070136: fba2 2303 umull r2, r3, r2, r3 807013a: 08db lsrs r3, r3, #3 807013c: b2db uxtb r3, r3 807013e: 3330 adds r3, #48 ; 0x30 8070140: b2da uxtb r2, r3 8070142: f507 733b add.w r3, r7, #748 ; 0x2ec 8070146: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8070148: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 807014c: 4b12 ldr r3, [pc, #72] ; (8070198 ) 807014e: fba3 2301 umull r2, r3, r3, r1 8070152: 08da lsrs r2, r3, #3 8070154: 4613 mov r3, r2 8070156: 009b lsls r3, r3, #2 8070158: 4413 add r3, r2 807015a: 005b lsls r3, r3, #1 807015c: 1aca subs r2, r1, r3 807015e: b2d3 uxtb r3, r2 8070160: 3330 adds r3, #48 ; 0x30 8070162: b2da uxtb r2, r3 8070164: f507 733b add.w r3, r7, #748 ; 0x2ec 8070168: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 807016a: f507 723b add.w r2, r7, #748 ; 0x2ec 807016e: 2301 movs r3, #1 8070170: 21e4 movs r1, #228 ; 0xe4 8070172: 20be movs r0, #190 ; 0xbe 8070174: f7e3 fbfc bl 8053970 8070178: f000 bd77 b.w 8070c6a 807017c: 080cfaec .word 0x080cfaec 8070180: 080cfae4 .word 0x080cfae4 8070184: 080cfadc .word 0x080cfadc 8070188: 080cfaa4 .word 0x080cfaa4 807018c: 080cfa98 .word 0x080cfa98 8070190: 080cfa90 .word 0x080cfa90 8070194: 64090000 .word 0x64090000 8070198: cccccccd .word 0xcccccccd if(l == 2) 807019c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80701a0: 2b02 cmp r3, #2 80701a2: f040 821d bne.w 80705e0 k = CmplxA_u32(0); 80701a6: 4bde ldr r3, [pc, #888] ; (8070520 ) 80701a8: 681b ldr r3, [r3, #0] 80701aa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 80701ae: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80701b2: 0e5b lsrs r3, r3, #25 80701b4: 3b14 subs r3, #20 80701b6: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 80701ba: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80701be: 0d5b lsrs r3, r3, #21 80701c0: f003 030f and.w r3, r3, #15 80701c4: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 80701c8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80701cc: 0c1b lsrs r3, r3, #16 80701ce: f003 031f and.w r3, r3, #31 80701d2: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 80701d6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80701da: 0adb lsrs r3, r3, #11 80701dc: f003 031f and.w r3, r3, #31 80701e0: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 80701e4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80701e8: 095b lsrs r3, r3, #5 80701ea: f003 033f and.w r3, r3, #63 ; 0x3f 80701ee: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 80701f2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80701f6: 005b lsls r3, r3, #1 80701f8: f003 031f and.w r3, r3, #31 80701fc: 3301 adds r3, #1 80701fe: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8070202: f507 733b add.w r3, r7, #748 ; 0x2ec 8070206: 223c movs r2, #60 ; 0x3c 8070208: 2100 movs r1, #0 807020a: 4618 mov r0, r3 807020c: f05c ff38 bl 80cd080 str[0] = (Day / 10) + 48; 8070210: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8070214: 4ac3 ldr r2, [pc, #780] ; (8070524 ) 8070216: fba2 2303 umull r2, r3, r2, r3 807021a: 08db lsrs r3, r3, #3 807021c: b2db uxtb r3, r3 807021e: 3330 adds r3, #48 ; 0x30 8070220: b2da uxtb r2, r3 8070222: f507 733b add.w r3, r7, #748 ; 0x2ec 8070226: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8070228: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 807022c: 4bbd ldr r3, [pc, #756] ; (8070524 ) 807022e: fba3 2301 umull r2, r3, r3, r1 8070232: 08da lsrs r2, r3, #3 8070234: 4613 mov r3, r2 8070236: 009b lsls r3, r3, #2 8070238: 4413 add r3, r2 807023a: 005b lsls r3, r3, #1 807023c: 1aca subs r2, r1, r3 807023e: b2d3 uxtb r3, r2 8070240: 3330 adds r3, #48 ; 0x30 8070242: b2da uxtb r2, r3 8070244: f507 733b add.w r3, r7, #748 ; 0x2ec 8070248: 705a strb r2, [r3, #1] str[2] = '.'; 807024a: f507 733b add.w r3, r7, #748 ; 0x2ec 807024e: 222e movs r2, #46 ; 0x2e 8070250: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8070252: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8070256: 4ab3 ldr r2, [pc, #716] ; (8070524 ) 8070258: fba2 2303 umull r2, r3, r2, r3 807025c: 08db lsrs r3, r3, #3 807025e: b2db uxtb r3, r3 8070260: 3330 adds r3, #48 ; 0x30 8070262: b2da uxtb r2, r3 8070264: f507 733b add.w r3, r7, #748 ; 0x2ec 8070268: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 807026a: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 807026e: 4bad ldr r3, [pc, #692] ; (8070524 ) 8070270: fba3 2301 umull r2, r3, r3, r1 8070274: 08da lsrs r2, r3, #3 8070276: 4613 mov r3, r2 8070278: 009b lsls r3, r3, #2 807027a: 4413 add r3, r2 807027c: 005b lsls r3, r3, #1 807027e: 1aca subs r2, r1, r3 8070280: b2d3 uxtb r3, r2 8070282: 3330 adds r3, #48 ; 0x30 8070284: b2da uxtb r2, r3 8070286: f507 733b add.w r3, r7, #748 ; 0x2ec 807028a: 711a strb r2, [r3, #4] str[5] = '.'; 807028c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070290: 222e movs r2, #46 ; 0x2e 8070292: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8070294: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8070298: 4aa2 ldr r2, [pc, #648] ; (8070524 ) 807029a: fba2 2303 umull r2, r3, r2, r3 807029e: 08db lsrs r3, r3, #3 80702a0: b2db uxtb r3, r3 80702a2: 3330 adds r3, #48 ; 0x30 80702a4: b2da uxtb r2, r3 80702a6: f507 733b add.w r3, r7, #748 ; 0x2ec 80702aa: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 80702ac: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 80702b0: 4b9c ldr r3, [pc, #624] ; (8070524 ) 80702b2: fba3 2301 umull r2, r3, r3, r1 80702b6: 08da lsrs r2, r3, #3 80702b8: 4613 mov r3, r2 80702ba: 009b lsls r3, r3, #2 80702bc: 4413 add r3, r2 80702be: 005b lsls r3, r3, #1 80702c0: 1aca subs r2, r1, r3 80702c2: b2d3 uxtb r3, r2 80702c4: 3330 adds r3, #48 ; 0x30 80702c6: b2da uxtb r2, r3 80702c8: f507 733b add.w r3, r7, #748 ; 0x2ec 80702cc: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 80702ce: f507 723b add.w r2, r7, #748 ; 0x2ec 80702d2: 2301 movs r3, #1 80702d4: 21dc movs r1, #220 ; 0xdc 80702d6: 2050 movs r0, #80 ; 0x50 80702d8: f7e3 fb4a bl 8053970 memset(str, 0, sizeof(str)); 80702dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80702e0: 223c movs r2, #60 ; 0x3c 80702e2: 2100 movs r1, #0 80702e4: 4618 mov r0, r3 80702e6: f05c fecb bl 80cd080 str[0] = (Hour / 10) + 48; 80702ea: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 80702ee: 4a8d ldr r2, [pc, #564] ; (8070524 ) 80702f0: fba2 2303 umull r2, r3, r2, r3 80702f4: 08db lsrs r3, r3, #3 80702f6: b2db uxtb r3, r3 80702f8: 3330 adds r3, #48 ; 0x30 80702fa: b2da uxtb r2, r3 80702fc: f507 733b add.w r3, r7, #748 ; 0x2ec 8070300: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8070302: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070306: 4b87 ldr r3, [pc, #540] ; (8070524 ) 8070308: fba3 2301 umull r2, r3, r3, r1 807030c: 08da lsrs r2, r3, #3 807030e: 4613 mov r3, r2 8070310: 009b lsls r3, r3, #2 8070312: 4413 add r3, r2 8070314: 005b lsls r3, r3, #1 8070316: 1aca subs r2, r1, r3 8070318: b2d3 uxtb r3, r2 807031a: 3330 adds r3, #48 ; 0x30 807031c: b2da uxtb r2, r3 807031e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070322: 705a strb r2, [r3, #1] str[2] = ':'; 8070324: f507 733b add.w r3, r7, #748 ; 0x2ec 8070328: 223a movs r2, #58 ; 0x3a 807032a: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 807032c: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8070330: 4a7c ldr r2, [pc, #496] ; (8070524 ) 8070332: fba2 2303 umull r2, r3, r2, r3 8070336: 08db lsrs r3, r3, #3 8070338: b2db uxtb r3, r3 807033a: 3330 adds r3, #48 ; 0x30 807033c: b2da uxtb r2, r3 807033e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070342: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8070344: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8070348: 4b76 ldr r3, [pc, #472] ; (8070524 ) 807034a: fba3 2301 umull r2, r3, r3, r1 807034e: 08da lsrs r2, r3, #3 8070350: 4613 mov r3, r2 8070352: 009b lsls r3, r3, #2 8070354: 4413 add r3, r2 8070356: 005b lsls r3, r3, #1 8070358: 1aca subs r2, r1, r3 807035a: b2d3 uxtb r3, r2 807035c: 3330 adds r3, #48 ; 0x30 807035e: b2da uxtb r2, r3 8070360: f507 733b add.w r3, r7, #748 ; 0x2ec 8070364: 711a strb r2, [r3, #4] str[5] = ':'; 8070366: f507 733b add.w r3, r7, #748 ; 0x2ec 807036a: 223a movs r2, #58 ; 0x3a 807036c: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 807036e: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8070372: 4a6c ldr r2, [pc, #432] ; (8070524 ) 8070374: fba2 2303 umull r2, r3, r2, r3 8070378: 08db lsrs r3, r3, #3 807037a: b2db uxtb r3, r3 807037c: 3330 adds r3, #48 ; 0x30 807037e: b2da uxtb r2, r3 8070380: f507 733b add.w r3, r7, #748 ; 0x2ec 8070384: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8070386: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 807038a: 4b66 ldr r3, [pc, #408] ; (8070524 ) 807038c: fba3 2301 umull r2, r3, r3, r1 8070390: 08da lsrs r2, r3, #3 8070392: 4613 mov r3, r2 8070394: 009b lsls r3, r3, #2 8070396: 4413 add r3, r2 8070398: 005b lsls r3, r3, #1 807039a: 1aca subs r2, r1, r3 807039c: b2d3 uxtb r3, r2 807039e: 3330 adds r3, #48 ; 0x30 80703a0: b2da uxtb r2, r3 80703a2: f507 733b add.w r3, r7, #748 ; 0x2ec 80703a6: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 80703a8: f507 723b add.w r2, r7, #748 ; 0x2ec 80703ac: 2301 movs r3, #1 80703ae: 21e4 movs r1, #228 ; 0xe4 80703b0: 2050 movs r0, #80 ; 0x50 80703b2: f7e3 fadd bl 8053970 k = CmplxA_u32(1); 80703b6: 4b5c ldr r3, [pc, #368] ; (8070528 ) 80703b8: 681b ldr r3, [r3, #0] 80703ba: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 80703be: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80703c2: 0e5b lsrs r3, r3, #25 80703c4: 3b14 subs r3, #20 80703c6: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 80703ca: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80703ce: 0d5b lsrs r3, r3, #21 80703d0: f003 030f and.w r3, r3, #15 80703d4: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 80703d8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80703dc: 0c1b lsrs r3, r3, #16 80703de: f003 031f and.w r3, r3, #31 80703e2: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 80703e6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80703ea: 0adb lsrs r3, r3, #11 80703ec: f003 031f and.w r3, r3, #31 80703f0: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 80703f4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80703f8: 095b lsrs r3, r3, #5 80703fa: f003 033f and.w r3, r3, #63 ; 0x3f 80703fe: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8070402: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070406: 005b lsls r3, r3, #1 8070408: f003 031f and.w r3, r3, #31 807040c: 3301 adds r3, #1 807040e: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8070412: f507 733b add.w r3, r7, #748 ; 0x2ec 8070416: 223c movs r2, #60 ; 0x3c 8070418: 2100 movs r1, #0 807041a: 4618 mov r0, r3 807041c: f05c fe30 bl 80cd080 str[0] = (Day / 10) + 48; 8070420: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8070424: 4a3f ldr r2, [pc, #252] ; (8070524 ) 8070426: fba2 2303 umull r2, r3, r2, r3 807042a: 08db lsrs r3, r3, #3 807042c: b2db uxtb r3, r3 807042e: 3330 adds r3, #48 ; 0x30 8070430: b2da uxtb r2, r3 8070432: f507 733b add.w r3, r7, #748 ; 0x2ec 8070436: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8070438: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 807043c: 4b39 ldr r3, [pc, #228] ; (8070524 ) 807043e: fba3 2301 umull r2, r3, r3, r1 8070442: 08da lsrs r2, r3, #3 8070444: 4613 mov r3, r2 8070446: 009b lsls r3, r3, #2 8070448: 4413 add r3, r2 807044a: 005b lsls r3, r3, #1 807044c: 1aca subs r2, r1, r3 807044e: b2d3 uxtb r3, r2 8070450: 3330 adds r3, #48 ; 0x30 8070452: b2da uxtb r2, r3 8070454: f507 733b add.w r3, r7, #748 ; 0x2ec 8070458: 705a strb r2, [r3, #1] str[2] = '.'; 807045a: f507 733b add.w r3, r7, #748 ; 0x2ec 807045e: 222e movs r2, #46 ; 0x2e 8070460: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8070462: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8070466: 4a2f ldr r2, [pc, #188] ; (8070524 ) 8070468: fba2 2303 umull r2, r3, r2, r3 807046c: 08db lsrs r3, r3, #3 807046e: b2db uxtb r3, r3 8070470: 3330 adds r3, #48 ; 0x30 8070472: b2da uxtb r2, r3 8070474: f507 733b add.w r3, r7, #748 ; 0x2ec 8070478: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 807047a: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 807047e: 4b29 ldr r3, [pc, #164] ; (8070524 ) 8070480: fba3 2301 umull r2, r3, r3, r1 8070484: 08da lsrs r2, r3, #3 8070486: 4613 mov r3, r2 8070488: 009b lsls r3, r3, #2 807048a: 4413 add r3, r2 807048c: 005b lsls r3, r3, #1 807048e: 1aca subs r2, r1, r3 8070490: b2d3 uxtb r3, r2 8070492: 3330 adds r3, #48 ; 0x30 8070494: b2da uxtb r2, r3 8070496: f507 733b add.w r3, r7, #748 ; 0x2ec 807049a: 711a strb r2, [r3, #4] str[5] = '.'; 807049c: f507 733b add.w r3, r7, #748 ; 0x2ec 80704a0: 222e movs r2, #46 ; 0x2e 80704a2: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 80704a4: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 80704a8: 4a1e ldr r2, [pc, #120] ; (8070524 ) 80704aa: fba2 2303 umull r2, r3, r2, r3 80704ae: 08db lsrs r3, r3, #3 80704b0: b2db uxtb r3, r3 80704b2: 3330 adds r3, #48 ; 0x30 80704b4: b2da uxtb r2, r3 80704b6: f507 733b add.w r3, r7, #748 ; 0x2ec 80704ba: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 80704bc: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 80704c0: 4b18 ldr r3, [pc, #96] ; (8070524 ) 80704c2: fba3 2301 umull r2, r3, r3, r1 80704c6: 08da lsrs r2, r3, #3 80704c8: 4613 mov r3, r2 80704ca: 009b lsls r3, r3, #2 80704cc: 4413 add r3, r2 80704ce: 005b lsls r3, r3, #1 80704d0: 1aca subs r2, r1, r3 80704d2: b2d3 uxtb r3, r2 80704d4: 3330 adds r3, #48 ; 0x30 80704d6: b2da uxtb r2, r3 80704d8: f507 733b add.w r3, r7, #748 ; 0x2ec 80704dc: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 80704de: f507 723b add.w r2, r7, #748 ; 0x2ec 80704e2: 2301 movs r3, #1 80704e4: 21dc movs r1, #220 ; 0xdc 80704e6: f44f 7095 mov.w r0, #298 ; 0x12a 80704ea: f7e3 fa41 bl 8053970 memset(str, 0, sizeof(str)); 80704ee: f507 733b add.w r3, r7, #748 ; 0x2ec 80704f2: 223c movs r2, #60 ; 0x3c 80704f4: 2100 movs r1, #0 80704f6: 4618 mov r0, r3 80704f8: f05c fdc2 bl 80cd080 str[0] = (Hour / 10) + 48; 80704fc: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8070500: 4a08 ldr r2, [pc, #32] ; (8070524 ) 8070502: fba2 2303 umull r2, r3, r2, r3 8070506: 08db lsrs r3, r3, #3 8070508: b2db uxtb r3, r3 807050a: 3330 adds r3, #48 ; 0x30 807050c: b2da uxtb r2, r3 807050e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070512: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8070514: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070518: 4b02 ldr r3, [pc, #8] ; (8070524 ) 807051a: fba3 2301 umull r2, r3, r3, r1 807051e: e005 b.n 807052c 8070520: 64090000 .word 0x64090000 8070524: cccccccd .word 0xcccccccd 8070528: 64090004 .word 0x64090004 807052c: 08da lsrs r2, r3, #3 807052e: 4613 mov r3, r2 8070530: 009b lsls r3, r3, #2 8070532: 4413 add r3, r2 8070534: 005b lsls r3, r3, #1 8070536: 1aca subs r2, r1, r3 8070538: b2d3 uxtb r3, r2 807053a: 3330 adds r3, #48 ; 0x30 807053c: b2da uxtb r2, r3 807053e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070542: 705a strb r2, [r3, #1] str[2] = ':'; 8070544: f507 733b add.w r3, r7, #748 ; 0x2ec 8070548: 223a movs r2, #58 ; 0x3a 807054a: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 807054c: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8070550: 4a22 ldr r2, [pc, #136] ; (80705dc ) 8070552: fba2 2303 umull r2, r3, r2, r3 8070556: 08db lsrs r3, r3, #3 8070558: b2db uxtb r3, r3 807055a: 3330 adds r3, #48 ; 0x30 807055c: b2da uxtb r2, r3 807055e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070562: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8070564: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8070568: 4b1c ldr r3, [pc, #112] ; (80705dc ) 807056a: fba3 2301 umull r2, r3, r3, r1 807056e: 08da lsrs r2, r3, #3 8070570: 4613 mov r3, r2 8070572: 009b lsls r3, r3, #2 8070574: 4413 add r3, r2 8070576: 005b lsls r3, r3, #1 8070578: 1aca subs r2, r1, r3 807057a: b2d3 uxtb r3, r2 807057c: 3330 adds r3, #48 ; 0x30 807057e: b2da uxtb r2, r3 8070580: f507 733b add.w r3, r7, #748 ; 0x2ec 8070584: 711a strb r2, [r3, #4] str[5] = ':'; 8070586: f507 733b add.w r3, r7, #748 ; 0x2ec 807058a: 223a movs r2, #58 ; 0x3a 807058c: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 807058e: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8070592: 4a12 ldr r2, [pc, #72] ; (80705dc ) 8070594: fba2 2303 umull r2, r3, r2, r3 8070598: 08db lsrs r3, r3, #3 807059a: b2db uxtb r3, r3 807059c: 3330 adds r3, #48 ; 0x30 807059e: b2da uxtb r2, r3 80705a0: f507 733b add.w r3, r7, #748 ; 0x2ec 80705a4: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 80705a6: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 80705aa: 4b0c ldr r3, [pc, #48] ; (80705dc ) 80705ac: fba3 2301 umull r2, r3, r3, r1 80705b0: 08da lsrs r2, r3, #3 80705b2: 4613 mov r3, r2 80705b4: 009b lsls r3, r3, #2 80705b6: 4413 add r3, r2 80705b8: 005b lsls r3, r3, #1 80705ba: 1aca subs r2, r1, r3 80705bc: b2d3 uxtb r3, r2 80705be: 3330 adds r3, #48 ; 0x30 80705c0: b2da uxtb r2, r3 80705c2: f507 733b add.w r3, r7, #748 ; 0x2ec 80705c6: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 80705c8: f507 723b add.w r2, r7, #748 ; 0x2ec 80705cc: 2301 movs r3, #1 80705ce: 21e4 movs r1, #228 ; 0xe4 80705d0: f44f 7095 mov.w r0, #298 ; 0x12a 80705d4: f7e3 f9cc bl 8053970 80705d8: e347 b.n 8070c6a 80705da: bf00 nop 80705dc: cccccccd .word 0xcccccccd k = CmplxA_u32(0); 80705e0: 4be0 ldr r3, [pc, #896] ; (8070964 ) 80705e2: 681b ldr r3, [r3, #0] 80705e4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 80705e8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80705ec: 0e5b lsrs r3, r3, #25 80705ee: 3b14 subs r3, #20 80705f0: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 80705f4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80705f8: 0d5b lsrs r3, r3, #21 80705fa: f003 030f and.w r3, r3, #15 80705fe: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8070602: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070606: 0c1b lsrs r3, r3, #16 8070608: f003 031f and.w r3, r3, #31 807060c: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8070610: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070614: 0adb lsrs r3, r3, #11 8070616: f003 031f and.w r3, r3, #31 807061a: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 807061e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070622: 095b lsrs r3, r3, #5 8070624: f003 033f and.w r3, r3, #63 ; 0x3f 8070628: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 807062c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070630: 005b lsls r3, r3, #1 8070632: f003 031f and.w r3, r3, #31 8070636: 3301 adds r3, #1 8070638: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 807063c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070640: 223c movs r2, #60 ; 0x3c 8070642: 2100 movs r1, #0 8070644: 4618 mov r0, r3 8070646: f05c fd1b bl 80cd080 str[0] = (Day / 10) + 48; 807064a: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 807064e: 4ac6 ldr r2, [pc, #792] ; (8070968 ) 8070650: fba2 2303 umull r2, r3, r2, r3 8070654: 08db lsrs r3, r3, #3 8070656: b2db uxtb r3, r3 8070658: 3330 adds r3, #48 ; 0x30 807065a: b2da uxtb r2, r3 807065c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070660: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8070662: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8070666: 4bc0 ldr r3, [pc, #768] ; (8070968 ) 8070668: fba3 2301 umull r2, r3, r3, r1 807066c: 08da lsrs r2, r3, #3 807066e: 4613 mov r3, r2 8070670: 009b lsls r3, r3, #2 8070672: 4413 add r3, r2 8070674: 005b lsls r3, r3, #1 8070676: 1aca subs r2, r1, r3 8070678: b2d3 uxtb r3, r2 807067a: 3330 adds r3, #48 ; 0x30 807067c: b2da uxtb r2, r3 807067e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070682: 705a strb r2, [r3, #1] str[2] = '.'; 8070684: f507 733b add.w r3, r7, #748 ; 0x2ec 8070688: 222e movs r2, #46 ; 0x2e 807068a: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 807068c: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8070690: 4ab5 ldr r2, [pc, #724] ; (8070968 ) 8070692: fba2 2303 umull r2, r3, r2, r3 8070696: 08db lsrs r3, r3, #3 8070698: b2db uxtb r3, r3 807069a: 3330 adds r3, #48 ; 0x30 807069c: b2da uxtb r2, r3 807069e: f507 733b add.w r3, r7, #748 ; 0x2ec 80706a2: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 80706a4: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 80706a8: 4baf ldr r3, [pc, #700] ; (8070968 ) 80706aa: fba3 2301 umull r2, r3, r3, r1 80706ae: 08da lsrs r2, r3, #3 80706b0: 4613 mov r3, r2 80706b2: 009b lsls r3, r3, #2 80706b4: 4413 add r3, r2 80706b6: 005b lsls r3, r3, #1 80706b8: 1aca subs r2, r1, r3 80706ba: b2d3 uxtb r3, r2 80706bc: 3330 adds r3, #48 ; 0x30 80706be: b2da uxtb r2, r3 80706c0: f507 733b add.w r3, r7, #748 ; 0x2ec 80706c4: 711a strb r2, [r3, #4] str[5] = '.'; 80706c6: f507 733b add.w r3, r7, #748 ; 0x2ec 80706ca: 222e movs r2, #46 ; 0x2e 80706cc: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 80706ce: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 80706d2: 4aa5 ldr r2, [pc, #660] ; (8070968 ) 80706d4: fba2 2303 umull r2, r3, r2, r3 80706d8: 08db lsrs r3, r3, #3 80706da: b2db uxtb r3, r3 80706dc: 3330 adds r3, #48 ; 0x30 80706de: b2da uxtb r2, r3 80706e0: f507 733b add.w r3, r7, #748 ; 0x2ec 80706e4: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 80706e6: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 80706ea: 4b9f ldr r3, [pc, #636] ; (8070968 ) 80706ec: fba3 2301 umull r2, r3, r3, r1 80706f0: 08da lsrs r2, r3, #3 80706f2: 4613 mov r3, r2 80706f4: 009b lsls r3, r3, #2 80706f6: 4413 add r3, r2 80706f8: 005b lsls r3, r3, #1 80706fa: 1aca subs r2, r1, r3 80706fc: b2d3 uxtb r3, r2 80706fe: 3330 adds r3, #48 ; 0x30 8070700: b2da uxtb r2, r3 8070702: f507 733b add.w r3, r7, #748 ; 0x2ec 8070706: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 220, str, CENTER_MODE); 8070708: f507 723b add.w r2, r7, #748 ; 0x2ec 807070c: 2301 movs r3, #1 807070e: 21dc movs r1, #220 ; 0xdc 8070710: 2050 movs r0, #80 ; 0x50 8070712: f7e3 f92d bl 8053970 memset(str, 0, sizeof(str)); 8070716: f507 733b add.w r3, r7, #748 ; 0x2ec 807071a: 223c movs r2, #60 ; 0x3c 807071c: 2100 movs r1, #0 807071e: 4618 mov r0, r3 8070720: f05c fcae bl 80cd080 str[0] = (Hour / 10) + 48; 8070724: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8070728: 4a8f ldr r2, [pc, #572] ; (8070968 ) 807072a: fba2 2303 umull r2, r3, r2, r3 807072e: 08db lsrs r3, r3, #3 8070730: b2db uxtb r3, r3 8070732: 3330 adds r3, #48 ; 0x30 8070734: b2da uxtb r2, r3 8070736: f507 733b add.w r3, r7, #748 ; 0x2ec 807073a: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 807073c: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070740: 4b89 ldr r3, [pc, #548] ; (8070968 ) 8070742: fba3 2301 umull r2, r3, r3, r1 8070746: 08da lsrs r2, r3, #3 8070748: 4613 mov r3, r2 807074a: 009b lsls r3, r3, #2 807074c: 4413 add r3, r2 807074e: 005b lsls r3, r3, #1 8070750: 1aca subs r2, r1, r3 8070752: b2d3 uxtb r3, r2 8070754: 3330 adds r3, #48 ; 0x30 8070756: b2da uxtb r2, r3 8070758: f507 733b add.w r3, r7, #748 ; 0x2ec 807075c: 705a strb r2, [r3, #1] str[2] = ':'; 807075e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070762: 223a movs r2, #58 ; 0x3a 8070764: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8070766: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 807076a: 4a7f ldr r2, [pc, #508] ; (8070968 ) 807076c: fba2 2303 umull r2, r3, r2, r3 8070770: 08db lsrs r3, r3, #3 8070772: b2db uxtb r3, r3 8070774: 3330 adds r3, #48 ; 0x30 8070776: b2da uxtb r2, r3 8070778: f507 733b add.w r3, r7, #748 ; 0x2ec 807077c: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 807077e: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8070782: 4b79 ldr r3, [pc, #484] ; (8070968 ) 8070784: fba3 2301 umull r2, r3, r3, r1 8070788: 08da lsrs r2, r3, #3 807078a: 4613 mov r3, r2 807078c: 009b lsls r3, r3, #2 807078e: 4413 add r3, r2 8070790: 005b lsls r3, r3, #1 8070792: 1aca subs r2, r1, r3 8070794: b2d3 uxtb r3, r2 8070796: 3330 adds r3, #48 ; 0x30 8070798: b2da uxtb r2, r3 807079a: f507 733b add.w r3, r7, #748 ; 0x2ec 807079e: 711a strb r2, [r3, #4] str[5] = ':'; 80707a0: f507 733b add.w r3, r7, #748 ; 0x2ec 80707a4: 223a movs r2, #58 ; 0x3a 80707a6: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 80707a8: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 80707ac: 4a6e ldr r2, [pc, #440] ; (8070968 ) 80707ae: fba2 2303 umull r2, r3, r2, r3 80707b2: 08db lsrs r3, r3, #3 80707b4: b2db uxtb r3, r3 80707b6: 3330 adds r3, #48 ; 0x30 80707b8: b2da uxtb r2, r3 80707ba: f507 733b add.w r3, r7, #748 ; 0x2ec 80707be: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 80707c0: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 80707c4: 4b68 ldr r3, [pc, #416] ; (8070968 ) 80707c6: fba3 2301 umull r2, r3, r3, r1 80707ca: 08da lsrs r2, r3, #3 80707cc: 4613 mov r3, r2 80707ce: 009b lsls r3, r3, #2 80707d0: 4413 add r3, r2 80707d2: 005b lsls r3, r3, #1 80707d4: 1aca subs r2, r1, r3 80707d6: b2d3 uxtb r3, r2 80707d8: 3330 adds r3, #48 ; 0x30 80707da: b2da uxtb r2, r3 80707dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80707e0: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(80, 228, str, CENTER_MODE); 80707e2: f507 723b add.w r2, r7, #748 ; 0x2ec 80707e6: 2301 movs r3, #1 80707e8: 21e4 movs r1, #228 ; 0xe4 80707ea: 2050 movs r0, #80 ; 0x50 80707ec: f7e3 f8c0 bl 8053970 f = (float32_t) l / 2; 80707f0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80707f4: ee07 3a90 vmov s15, r3 80707f8: eeb8 7a67 vcvt.f32.u32 s14, s15 80707fc: eef0 6a00 vmov.f32 s13, #0 ; 0x40000000 2.0 8070800: eec7 7a26 vdiv.f32 s15, s14, s13 8070804: f507 638b add.w r3, r7, #1112 ; 0x458 8070808: edc3 7a00 vstr s15, [r3] i = (uint32_t) (f + 0.5f); 807080c: f507 638b add.w r3, r7, #1112 ; 0x458 8070810: edd3 7a00 vldr s15, [r3] 8070814: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070818: ee77 7a87 vadd.f32 s15, s15, s14 807081c: eefc 7ae7 vcvt.u32.f32 s15, s15 8070820: ee17 3a90 vmov r3, s15 8070824: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 k = CmplxA_u32(i); 8070828: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807082c: 009a lsls r2, r3, #2 807082e: 4b4d ldr r3, [pc, #308] ; (8070964 ) 8070830: 4413 add r3, r2 8070832: 681b ldr r3, [r3, #0] 8070834: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8070838: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807083c: 0e5b lsrs r3, r3, #25 807083e: 3b14 subs r3, #20 8070840: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8070844: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070848: 0d5b lsrs r3, r3, #21 807084a: f003 030f and.w r3, r3, #15 807084e: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8070852: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070856: 0c1b lsrs r3, r3, #16 8070858: f003 031f and.w r3, r3, #31 807085c: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8070860: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070864: 0adb lsrs r3, r3, #11 8070866: f003 031f and.w r3, r3, #31 807086a: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 807086e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070872: 095b lsrs r3, r3, #5 8070874: f003 033f and.w r3, r3, #63 ; 0x3f 8070878: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 807087c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070880: 005b lsls r3, r3, #1 8070882: f003 031f and.w r3, r3, #31 8070886: 3301 adds r3, #1 8070888: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 807088c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070890: 223c movs r2, #60 ; 0x3c 8070892: 2100 movs r1, #0 8070894: 4618 mov r0, r3 8070896: f05c fbf3 bl 80cd080 str[0] = (Day / 10) + 48; 807089a: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 807089e: 4a32 ldr r2, [pc, #200] ; (8070968 ) 80708a0: fba2 2303 umull r2, r3, r2, r3 80708a4: 08db lsrs r3, r3, #3 80708a6: b2db uxtb r3, r3 80708a8: 3330 adds r3, #48 ; 0x30 80708aa: b2da uxtb r2, r3 80708ac: f507 733b add.w r3, r7, #748 ; 0x2ec 80708b0: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 80708b2: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 80708b6: 4b2c ldr r3, [pc, #176] ; (8070968 ) 80708b8: fba3 2301 umull r2, r3, r3, r1 80708bc: 08da lsrs r2, r3, #3 80708be: 4613 mov r3, r2 80708c0: 009b lsls r3, r3, #2 80708c2: 4413 add r3, r2 80708c4: 005b lsls r3, r3, #1 80708c6: 1aca subs r2, r1, r3 80708c8: b2d3 uxtb r3, r2 80708ca: 3330 adds r3, #48 ; 0x30 80708cc: b2da uxtb r2, r3 80708ce: f507 733b add.w r3, r7, #748 ; 0x2ec 80708d2: 705a strb r2, [r3, #1] str[2] = '.'; 80708d4: f507 733b add.w r3, r7, #748 ; 0x2ec 80708d8: 222e movs r2, #46 ; 0x2e 80708da: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 80708dc: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 80708e0: 4a21 ldr r2, [pc, #132] ; (8070968 ) 80708e2: fba2 2303 umull r2, r3, r2, r3 80708e6: 08db lsrs r3, r3, #3 80708e8: b2db uxtb r3, r3 80708ea: 3330 adds r3, #48 ; 0x30 80708ec: b2da uxtb r2, r3 80708ee: f507 733b add.w r3, r7, #748 ; 0x2ec 80708f2: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 80708f4: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 80708f8: 4b1b ldr r3, [pc, #108] ; (8070968 ) 80708fa: fba3 2301 umull r2, r3, r3, r1 80708fe: 08da lsrs r2, r3, #3 8070900: 4613 mov r3, r2 8070902: 009b lsls r3, r3, #2 8070904: 4413 add r3, r2 8070906: 005b lsls r3, r3, #1 8070908: 1aca subs r2, r1, r3 807090a: b2d3 uxtb r3, r2 807090c: 3330 adds r3, #48 ; 0x30 807090e: b2da uxtb r2, r3 8070910: f507 733b add.w r3, r7, #748 ; 0x2ec 8070914: 711a strb r2, [r3, #4] str[5] = '.'; 8070916: f507 733b add.w r3, r7, #748 ; 0x2ec 807091a: 222e movs r2, #46 ; 0x2e 807091c: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 807091e: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8070922: 4a11 ldr r2, [pc, #68] ; (8070968 ) 8070924: fba2 2303 umull r2, r3, r2, r3 8070928: 08db lsrs r3, r3, #3 807092a: b2db uxtb r3, r3 807092c: 3330 adds r3, #48 ; 0x30 807092e: b2da uxtb r2, r3 8070930: f507 733b add.w r3, r7, #748 ; 0x2ec 8070934: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8070936: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 807093a: 4b0b ldr r3, [pc, #44] ; (8070968 ) 807093c: fba3 2301 umull r2, r3, r3, r1 8070940: 08da lsrs r2, r3, #3 8070942: 4613 mov r3, r2 8070944: 009b lsls r3, r3, #2 8070946: 4413 add r3, r2 8070948: 005b lsls r3, r3, #1 807094a: 1aca subs r2, r1, r3 807094c: b2d3 uxtb r3, r2 807094e: 3330 adds r3, #48 ; 0x30 8070950: b2da uxtb r2, r3 8070952: f507 733b add.w r3, r7, #748 ; 0x2ec 8070956: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 220, str, CENTER_MODE); 8070958: f507 723b add.w r2, r7, #748 ; 0x2ec 807095c: 2301 movs r3, #1 807095e: 21dc movs r1, #220 ; 0xdc 8070960: e004 b.n 807096c 8070962: bf00 nop 8070964: 64090000 .word 0x64090000 8070968: cccccccd .word 0xcccccccd 807096c: 20be movs r0, #190 ; 0xbe 807096e: f7e2 ffff bl 8053970 memset(str, 0, sizeof(str)); 8070972: f507 733b add.w r3, r7, #748 ; 0x2ec 8070976: 223c movs r2, #60 ; 0x3c 8070978: 2100 movs r1, #0 807097a: 4618 mov r0, r3 807097c: f05c fb80 bl 80cd080 str[0] = (Hour / 10) + 48; 8070980: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8070984: 4abe ldr r2, [pc, #760] ; (8070c80 ) 8070986: fba2 2303 umull r2, r3, r2, r3 807098a: 08db lsrs r3, r3, #3 807098c: b2db uxtb r3, r3 807098e: 3330 adds r3, #48 ; 0x30 8070990: b2da uxtb r2, r3 8070992: f507 733b add.w r3, r7, #748 ; 0x2ec 8070996: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8070998: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 807099c: 4bb8 ldr r3, [pc, #736] ; (8070c80 ) 807099e: fba3 2301 umull r2, r3, r3, r1 80709a2: 08da lsrs r2, r3, #3 80709a4: 4613 mov r3, r2 80709a6: 009b lsls r3, r3, #2 80709a8: 4413 add r3, r2 80709aa: 005b lsls r3, r3, #1 80709ac: 1aca subs r2, r1, r3 80709ae: b2d3 uxtb r3, r2 80709b0: 3330 adds r3, #48 ; 0x30 80709b2: b2da uxtb r2, r3 80709b4: f507 733b add.w r3, r7, #748 ; 0x2ec 80709b8: 705a strb r2, [r3, #1] str[2] = ':'; 80709ba: f507 733b add.w r3, r7, #748 ; 0x2ec 80709be: 223a movs r2, #58 ; 0x3a 80709c0: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 80709c2: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 80709c6: 4aae ldr r2, [pc, #696] ; (8070c80 ) 80709c8: fba2 2303 umull r2, r3, r2, r3 80709cc: 08db lsrs r3, r3, #3 80709ce: b2db uxtb r3, r3 80709d0: 3330 adds r3, #48 ; 0x30 80709d2: b2da uxtb r2, r3 80709d4: f507 733b add.w r3, r7, #748 ; 0x2ec 80709d8: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 80709da: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 80709de: 4ba8 ldr r3, [pc, #672] ; (8070c80 ) 80709e0: fba3 2301 umull r2, r3, r3, r1 80709e4: 08da lsrs r2, r3, #3 80709e6: 4613 mov r3, r2 80709e8: 009b lsls r3, r3, #2 80709ea: 4413 add r3, r2 80709ec: 005b lsls r3, r3, #1 80709ee: 1aca subs r2, r1, r3 80709f0: b2d3 uxtb r3, r2 80709f2: 3330 adds r3, #48 ; 0x30 80709f4: b2da uxtb r2, r3 80709f6: f507 733b add.w r3, r7, #748 ; 0x2ec 80709fa: 711a strb r2, [r3, #4] str[5] = ':'; 80709fc: f507 733b add.w r3, r7, #748 ; 0x2ec 8070a00: 223a movs r2, #58 ; 0x3a 8070a02: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8070a04: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8070a08: 4a9d ldr r2, [pc, #628] ; (8070c80 ) 8070a0a: fba2 2303 umull r2, r3, r2, r3 8070a0e: 08db lsrs r3, r3, #3 8070a10: b2db uxtb r3, r3 8070a12: 3330 adds r3, #48 ; 0x30 8070a14: b2da uxtb r2, r3 8070a16: f507 733b add.w r3, r7, #748 ; 0x2ec 8070a1a: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8070a1c: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8070a20: 4b97 ldr r3, [pc, #604] ; (8070c80 ) 8070a22: fba3 2301 umull r2, r3, r3, r1 8070a26: 08da lsrs r2, r3, #3 8070a28: 4613 mov r3, r2 8070a2a: 009b lsls r3, r3, #2 8070a2c: 4413 add r3, r2 8070a2e: 005b lsls r3, r3, #1 8070a30: 1aca subs r2, r1, r3 8070a32: b2d3 uxtb r3, r2 8070a34: 3330 adds r3, #48 ; 0x30 8070a36: b2da uxtb r2, r3 8070a38: f507 733b add.w r3, r7, #748 ; 0x2ec 8070a3c: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(190, 228, str, CENTER_MODE); 8070a3e: f507 723b add.w r2, r7, #748 ; 0x2ec 8070a42: 2301 movs r3, #1 8070a44: 21e4 movs r1, #228 ; 0xe4 8070a46: 20be movs r0, #190 ; 0xbe 8070a48: f7e2 ff92 bl 8053970 k = CmplxA_u32(l - 1); 8070a4c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8070a50: 3b01 subs r3, #1 8070a52: 009a lsls r2, r3, #2 8070a54: 4b8b ldr r3, [pc, #556] ; (8070c84 ) 8070a56: 4413 add r3, r2 8070a58: 681b ldr r3, [r3, #0] 8070a5a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Year = (k >> 25) - 20; 8070a5e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a62: 0e5b lsrs r3, r3, #25 8070a64: 3b14 subs r3, #20 8070a66: f8c7 342c str.w r3, [r7, #1068] ; 0x42c Month = (k >> 21) & 0xf; 8070a6a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a6e: 0d5b lsrs r3, r3, #21 8070a70: f003 030f and.w r3, r3, #15 8070a74: f8c7 3428 str.w r3, [r7, #1064] ; 0x428 Day = (k >> 16) & 0x1f; 8070a78: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a7c: 0c1b lsrs r3, r3, #16 8070a7e: f003 031f and.w r3, r3, #31 8070a82: f8c7 3424 str.w r3, [r7, #1060] ; 0x424 Hour = (k >> 11) & 0x1f; 8070a86: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a8a: 0adb lsrs r3, r3, #11 8070a8c: f003 031f and.w r3, r3, #31 8070a90: f8c7 3420 str.w r3, [r7, #1056] ; 0x420 Min = (k >> 5) & 0x3f; 8070a94: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070a98: 095b lsrs r3, r3, #5 8070a9a: f003 033f and.w r3, r3, #63 ; 0x3f 8070a9e: f8c7 341c str.w r3, [r7, #1052] ; 0x41c Sec = ((k << 1) & 0x1f) + 1; 8070aa2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8070aa6: 005b lsls r3, r3, #1 8070aa8: f003 031f and.w r3, r3, #31 8070aac: 3301 adds r3, #1 8070aae: f8c7 3418 str.w r3, [r7, #1048] ; 0x418 memset(str, 0, sizeof(str)); 8070ab2: f507 733b add.w r3, r7, #748 ; 0x2ec 8070ab6: 223c movs r2, #60 ; 0x3c 8070ab8: 2100 movs r1, #0 8070aba: 4618 mov r0, r3 8070abc: f05c fae0 bl 80cd080 str[0] = (Day / 10) + 48; 8070ac0: f8d7 3424 ldr.w r3, [r7, #1060] ; 0x424 8070ac4: 4a6e ldr r2, [pc, #440] ; (8070c80 ) 8070ac6: fba2 2303 umull r2, r3, r2, r3 8070aca: 08db lsrs r3, r3, #3 8070acc: b2db uxtb r3, r3 8070ace: 3330 adds r3, #48 ; 0x30 8070ad0: b2da uxtb r2, r3 8070ad2: f507 733b add.w r3, r7, #748 ; 0x2ec 8070ad6: 701a strb r2, [r3, #0] str[1] = (Day % 10) + 48; 8070ad8: f8d7 1424 ldr.w r1, [r7, #1060] ; 0x424 8070adc: 4b68 ldr r3, [pc, #416] ; (8070c80 ) 8070ade: fba3 2301 umull r2, r3, r3, r1 8070ae2: 08da lsrs r2, r3, #3 8070ae4: 4613 mov r3, r2 8070ae6: 009b lsls r3, r3, #2 8070ae8: 4413 add r3, r2 8070aea: 005b lsls r3, r3, #1 8070aec: 1aca subs r2, r1, r3 8070aee: b2d3 uxtb r3, r2 8070af0: 3330 adds r3, #48 ; 0x30 8070af2: b2da uxtb r2, r3 8070af4: f507 733b add.w r3, r7, #748 ; 0x2ec 8070af8: 705a strb r2, [r3, #1] str[2] = '.'; 8070afa: f507 733b add.w r3, r7, #748 ; 0x2ec 8070afe: 222e movs r2, #46 ; 0x2e 8070b00: 709a strb r2, [r3, #2] str[3] = (Month / 10) + 48; 8070b02: f8d7 3428 ldr.w r3, [r7, #1064] ; 0x428 8070b06: 4a5e ldr r2, [pc, #376] ; (8070c80 ) 8070b08: fba2 2303 umull r2, r3, r2, r3 8070b0c: 08db lsrs r3, r3, #3 8070b0e: b2db uxtb r3, r3 8070b10: 3330 adds r3, #48 ; 0x30 8070b12: b2da uxtb r2, r3 8070b14: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b18: 70da strb r2, [r3, #3] str[4] = (Month % 10) + 48; 8070b1a: f8d7 1428 ldr.w r1, [r7, #1064] ; 0x428 8070b1e: 4b58 ldr r3, [pc, #352] ; (8070c80 ) 8070b20: fba3 2301 umull r2, r3, r3, r1 8070b24: 08da lsrs r2, r3, #3 8070b26: 4613 mov r3, r2 8070b28: 009b lsls r3, r3, #2 8070b2a: 4413 add r3, r2 8070b2c: 005b lsls r3, r3, #1 8070b2e: 1aca subs r2, r1, r3 8070b30: b2d3 uxtb r3, r2 8070b32: 3330 adds r3, #48 ; 0x30 8070b34: b2da uxtb r2, r3 8070b36: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b3a: 711a strb r2, [r3, #4] str[5] = '.'; 8070b3c: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b40: 222e movs r2, #46 ; 0x2e 8070b42: 715a strb r2, [r3, #5] str[6] = (Year / 10) + 48; 8070b44: f8d7 342c ldr.w r3, [r7, #1068] ; 0x42c 8070b48: 4a4d ldr r2, [pc, #308] ; (8070c80 ) 8070b4a: fba2 2303 umull r2, r3, r2, r3 8070b4e: 08db lsrs r3, r3, #3 8070b50: b2db uxtb r3, r3 8070b52: 3330 adds r3, #48 ; 0x30 8070b54: b2da uxtb r2, r3 8070b56: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b5a: 719a strb r2, [r3, #6] str[7] = (Year % 10) + 48; 8070b5c: f8d7 142c ldr.w r1, [r7, #1068] ; 0x42c 8070b60: 4b47 ldr r3, [pc, #284] ; (8070c80 ) 8070b62: fba3 2301 umull r2, r3, r3, r1 8070b66: 08da lsrs r2, r3, #3 8070b68: 4613 mov r3, r2 8070b6a: 009b lsls r3, r3, #2 8070b6c: 4413 add r3, r2 8070b6e: 005b lsls r3, r3, #1 8070b70: 1aca subs r2, r1, r3 8070b72: b2d3 uxtb r3, r2 8070b74: 3330 adds r3, #48 ; 0x30 8070b76: b2da uxtb r2, r3 8070b78: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b7c: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 220, str, CENTER_MODE); 8070b7e: f507 723b add.w r2, r7, #748 ; 0x2ec 8070b82: 2301 movs r3, #1 8070b84: 21dc movs r1, #220 ; 0xdc 8070b86: f44f 7095 mov.w r0, #298 ; 0x12a 8070b8a: f7e2 fef1 bl 8053970 memset(str, 0, sizeof(str)); 8070b8e: f507 733b add.w r3, r7, #748 ; 0x2ec 8070b92: 223c movs r2, #60 ; 0x3c 8070b94: 2100 movs r1, #0 8070b96: 4618 mov r0, r3 8070b98: f05c fa72 bl 80cd080 str[0] = (Hour / 10) + 48; 8070b9c: f8d7 3420 ldr.w r3, [r7, #1056] ; 0x420 8070ba0: 4a37 ldr r2, [pc, #220] ; (8070c80 ) 8070ba2: fba2 2303 umull r2, r3, r2, r3 8070ba6: 08db lsrs r3, r3, #3 8070ba8: b2db uxtb r3, r3 8070baa: 3330 adds r3, #48 ; 0x30 8070bac: b2da uxtb r2, r3 8070bae: f507 733b add.w r3, r7, #748 ; 0x2ec 8070bb2: 701a strb r2, [r3, #0] str[1] = (Hour % 10) + 48; 8070bb4: f8d7 1420 ldr.w r1, [r7, #1056] ; 0x420 8070bb8: 4b31 ldr r3, [pc, #196] ; (8070c80 ) 8070bba: fba3 2301 umull r2, r3, r3, r1 8070bbe: 08da lsrs r2, r3, #3 8070bc0: 4613 mov r3, r2 8070bc2: 009b lsls r3, r3, #2 8070bc4: 4413 add r3, r2 8070bc6: 005b lsls r3, r3, #1 8070bc8: 1aca subs r2, r1, r3 8070bca: b2d3 uxtb r3, r2 8070bcc: 3330 adds r3, #48 ; 0x30 8070bce: b2da uxtb r2, r3 8070bd0: f507 733b add.w r3, r7, #748 ; 0x2ec 8070bd4: 705a strb r2, [r3, #1] str[2] = ':'; 8070bd6: f507 733b add.w r3, r7, #748 ; 0x2ec 8070bda: 223a movs r2, #58 ; 0x3a 8070bdc: 709a strb r2, [r3, #2] str[3] = (Min / 10) + 48; 8070bde: f8d7 341c ldr.w r3, [r7, #1052] ; 0x41c 8070be2: 4a27 ldr r2, [pc, #156] ; (8070c80 ) 8070be4: fba2 2303 umull r2, r3, r2, r3 8070be8: 08db lsrs r3, r3, #3 8070bea: b2db uxtb r3, r3 8070bec: 3330 adds r3, #48 ; 0x30 8070bee: b2da uxtb r2, r3 8070bf0: f507 733b add.w r3, r7, #748 ; 0x2ec 8070bf4: 70da strb r2, [r3, #3] str[4] = (Min % 10) + 48; 8070bf6: f8d7 141c ldr.w r1, [r7, #1052] ; 0x41c 8070bfa: 4b21 ldr r3, [pc, #132] ; (8070c80 ) 8070bfc: fba3 2301 umull r2, r3, r3, r1 8070c00: 08da lsrs r2, r3, #3 8070c02: 4613 mov r3, r2 8070c04: 009b lsls r3, r3, #2 8070c06: 4413 add r3, r2 8070c08: 005b lsls r3, r3, #1 8070c0a: 1aca subs r2, r1, r3 8070c0c: b2d3 uxtb r3, r2 8070c0e: 3330 adds r3, #48 ; 0x30 8070c10: b2da uxtb r2, r3 8070c12: f507 733b add.w r3, r7, #748 ; 0x2ec 8070c16: 711a strb r2, [r3, #4] str[5] = ':'; 8070c18: f507 733b add.w r3, r7, #748 ; 0x2ec 8070c1c: 223a movs r2, #58 ; 0x3a 8070c1e: 715a strb r2, [r3, #5] str[6] = (Sec / 10) + 48; 8070c20: f8d7 3418 ldr.w r3, [r7, #1048] ; 0x418 8070c24: 4a16 ldr r2, [pc, #88] ; (8070c80 ) 8070c26: fba2 2303 umull r2, r3, r2, r3 8070c2a: 08db lsrs r3, r3, #3 8070c2c: b2db uxtb r3, r3 8070c2e: 3330 adds r3, #48 ; 0x30 8070c30: b2da uxtb r2, r3 8070c32: f507 733b add.w r3, r7, #748 ; 0x2ec 8070c36: 719a strb r2, [r3, #6] str[7] = (Sec % 10) + 48; 8070c38: f8d7 1418 ldr.w r1, [r7, #1048] ; 0x418 8070c3c: 4b10 ldr r3, [pc, #64] ; (8070c80 ) 8070c3e: fba3 2301 umull r2, r3, r3, r1 8070c42: 08da lsrs r2, r3, #3 8070c44: 4613 mov r3, r2 8070c46: 009b lsls r3, r3, #2 8070c48: 4413 add r3, r2 8070c4a: 005b lsls r3, r3, #1 8070c4c: 1aca subs r2, r1, r3 8070c4e: b2d3 uxtb r3, r2 8070c50: 3330 adds r3, #48 ; 0x30 8070c52: b2da uxtb r2, r3 8070c54: f507 733b add.w r3, r7, #748 ; 0x2ec 8070c58: 71da strb r2, [r3, #7] BSP_LCD_DisplayStringAt(298, 228, str, CENTER_MODE); 8070c5a: f507 723b add.w r2, r7, #748 ; 0x2ec 8070c5e: 2301 movs r3, #1 8070c60: 21e4 movs r1, #228 ; 0xe4 8070c62: f44f 7095 mov.w r0, #298 ; 0x12a 8070c66: f7e2 fe83 bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8070c6a: 4907 ldr r1, [pc, #28] ; (8070c88 ) 8070c6c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8070c70: f7e2 fdb8 bl 80537e4 for(i = 0; i < l; i++) 8070c74: 2300 movs r3, #0 8070c76: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8070c7a: f000 bf45 b.w 8071b08 8070c7e: bf00 nop 8070c80: cccccccd .word 0xcccccccd 8070c84: 64090000 .word 0x64090000 8070c88: ff0a0f1f .word 0xff0a0f1f f = ScrA_f32(i); 8070c8c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8070c90: 009a lsls r2, r3, #2 8070c92: 4bf1 ldr r3, [pc, #964] ; (8071058 ) 8070c94: 4413 add r3, r2 8070c96: 681b ldr r3, [r3, #0] 8070c98: f507 628b add.w r2, r7, #1112 ; 0x458 8070c9c: 6013 str r3, [r2, #0] if(fmax <= 100.0f) ///////// 8070c9e: f207 434c addw r3, r7, #1100 ; 0x44c 8070ca2: edd3 7a00 vldr s15, [r3] 8070ca6: ed9f 7af3 vldr s14, [pc, #972] ; 8071074 8070caa: eef4 7ac7 vcmpe.f32 s15, s14 8070cae: eef1 fa10 vmrs APSR_nzcv, fpscr 8070cb2: f200 8111 bhi.w 8070ed8 if(f <= 0.001f) 8070cb6: f507 638b add.w r3, r7, #1112 ; 0x458 8070cba: edd3 7a00 vldr s15, [r3] 8070cbe: ed9f 7ae7 vldr s14, [pc, #924] ; 807105c 8070cc2: eef4 7ac7 vcmpe.f32 s15, s14 8070cc6: eef1 fa10 vmrs APSR_nzcv, fpscr 8070cca: d822 bhi.n 8070d12 f = (25 * f / 0.001f) + 0.5f; 8070ccc: f507 638b add.w r3, r7, #1112 ; 0x458 8070cd0: edd3 7a00 vldr s15, [r3] 8070cd4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070cd8: ee27 7a87 vmul.f32 s14, s15, s14 8070cdc: eddf 6adf vldr s13, [pc, #892] ; 807105c 8070ce0: eec7 7a26 vdiv.f32 s15, s14, s13 8070ce4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070ce8: ee77 7a87 vadd.f32 s15, s15, s14 8070cec: f507 638b add.w r3, r7, #1112 ; 0x458 8070cf0: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8070cf4: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8070cf8: f507 628b add.w r2, r7, #1112 ; 0x458 8070cfc: edd2 7a00 vldr s15, [r2] 8070d00: eefc 7ae7 vcvt.u32.f32 s15, s15 8070d04: ee17 2a90 vmov r2, s15 8070d08: 1a9b subs r3, r3, r2 8070d0a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070d0e: f000 be82 b.w 8071a16 if(f <= 0.01f) 8070d12: f507 638b add.w r3, r7, #1112 ; 0x458 8070d16: edd3 7a00 vldr s15, [r3] 8070d1a: ed9f 7ad1 vldr s14, [pc, #836] ; 8071060 8070d1e: eef4 7ac7 vcmpe.f32 s15, s14 8070d22: eef1 fa10 vmrs APSR_nzcv, fpscr 8070d26: d822 bhi.n 8070d6e f = (25 * f / 0.01f) + 0.5f; 8070d28: f507 638b add.w r3, r7, #1112 ; 0x458 8070d2c: edd3 7a00 vldr s15, [r3] 8070d30: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070d34: ee27 7a87 vmul.f32 s14, s15, s14 8070d38: eddf 6ac9 vldr s13, [pc, #804] ; 8071060 8070d3c: eec7 7a26 vdiv.f32 s15, s14, s13 8070d40: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070d44: ee77 7a87 vadd.f32 s15, s15, s14 8070d48: f507 638b add.w r3, r7, #1112 ; 0x458 8070d4c: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8070d50: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070d54: f507 628b add.w r2, r7, #1112 ; 0x458 8070d58: edd2 7a00 vldr s15, [r2] 8070d5c: eefc 7ae7 vcvt.u32.f32 s15, s15 8070d60: ee17 2a90 vmov r2, s15 8070d64: 1a9b subs r3, r3, r2 8070d66: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070d6a: f000 be54 b.w 8071a16 if(f <= 0.1f) 8070d6e: f507 638b add.w r3, r7, #1112 ; 0x458 8070d72: edd3 7a00 vldr s15, [r3] 8070d76: ed9f 7abb vldr s14, [pc, #748] ; 8071064 8070d7a: eef4 7ac7 vcmpe.f32 s15, s14 8070d7e: eef1 fa10 vmrs APSR_nzcv, fpscr 8070d82: d822 bhi.n 8070dca f = (25 * f / 0.1f) + 0.5f; 8070d84: f507 638b add.w r3, r7, #1112 ; 0x458 8070d88: edd3 7a00 vldr s15, [r3] 8070d8c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070d90: ee27 7a87 vmul.f32 s14, s15, s14 8070d94: eddf 6ab3 vldr s13, [pc, #716] ; 8071064 8070d98: eec7 7a26 vdiv.f32 s15, s14, s13 8070d9c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070da0: ee77 7a87 vadd.f32 s15, s15, s14 8070da4: f507 638b add.w r3, r7, #1112 ; 0x458 8070da8: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8070dac: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8070db0: f507 628b add.w r2, r7, #1112 ; 0x458 8070db4: edd2 7a00 vldr s15, [r2] 8070db8: eefc 7ae7 vcvt.u32.f32 s15, s15 8070dbc: ee17 2a90 vmov r2, s15 8070dc0: 1a9b subs r3, r3, r2 8070dc2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070dc6: f000 be26 b.w 8071a16 if(f <= 1.0f) 8070dca: f507 638b add.w r3, r7, #1112 ; 0x458 8070dce: edd3 7a00 vldr s15, [r3] 8070dd2: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8070dd6: eef4 7ac7 vcmpe.f32 s15, s14 8070dda: eef1 fa10 vmrs APSR_nzcv, fpscr 8070dde: d81e bhi.n 8070e1e f = (25 * f / 1.0f) + 0.5f; 8070de0: f507 638b add.w r3, r7, #1112 ; 0x458 8070de4: edd3 7a00 vldr s15, [r3] 8070de8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070dec: ee67 7a87 vmul.f32 s15, s15, s14 8070df0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070df4: ee77 7a87 vadd.f32 s15, s15, s14 8070df8: f507 638b add.w r3, r7, #1112 ; 0x458 8070dfc: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8070e00: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8070e04: f507 628b add.w r2, r7, #1112 ; 0x458 8070e08: edd2 7a00 vldr s15, [r2] 8070e0c: eefc 7ae7 vcvt.u32.f32 s15, s15 8070e10: ee17 2a90 vmov r2, s15 8070e14: 1a9b subs r3, r3, r2 8070e16: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070e1a: f000 bdfc b.w 8071a16 if(f <= 10.0f) 8070e1e: f507 638b add.w r3, r7, #1112 ; 0x458 8070e22: edd3 7a00 vldr s15, [r3] 8070e26: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8070e2a: eef4 7ac7 vcmpe.f32 s15, s14 8070e2e: eef1 fa10 vmrs APSR_nzcv, fpscr 8070e32: d822 bhi.n 8070e7a f = (25 * f / 10.0f) + 0.5f; 8070e34: f507 638b add.w r3, r7, #1112 ; 0x458 8070e38: edd3 7a00 vldr s15, [r3] 8070e3c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070e40: ee27 7a87 vmul.f32 s14, s15, s14 8070e44: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8070e48: eec7 7a26 vdiv.f32 s15, s14, s13 8070e4c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070e50: ee77 7a87 vadd.f32 s15, s15, s14 8070e54: f507 638b add.w r3, r7, #1112 ; 0x458 8070e58: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 8070e5c: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8070e60: f507 628b add.w r2, r7, #1112 ; 0x458 8070e64: edd2 7a00 vldr s15, [r2] 8070e68: eefc 7ae7 vcvt.u32.f32 s15, s15 8070e6c: ee17 2a90 vmov r2, s15 8070e70: 1a9b subs r3, r3, r2 8070e72: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070e76: f000 bdce b.w 8071a16 if(f <= 100.0f) 8070e7a: f507 638b add.w r3, r7, #1112 ; 0x458 8070e7e: edd3 7a00 vldr s15, [r3] 8070e82: ed9f 7a7c vldr s14, [pc, #496] ; 8071074 8070e86: eef4 7ac7 vcmpe.f32 s15, s14 8070e8a: eef1 fa10 vmrs APSR_nzcv, fpscr 8070e8e: f200 85c2 bhi.w 8071a16 f = (25 * f / 100.0f) + 0.5f; 8070e92: f507 638b add.w r3, r7, #1112 ; 0x458 8070e96: edd3 7a00 vldr s15, [r3] 8070e9a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070e9e: ee27 7a87 vmul.f32 s14, s15, s14 8070ea2: eddf 6a74 vldr s13, [pc, #464] ; 8071074 8070ea6: eec7 7a26 vdiv.f32 s15, s14, s13 8070eaa: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070eae: ee77 7a87 vadd.f32 s15, s15, s14 8070eb2: f507 638b add.w r3, r7, #1112 ; 0x458 8070eb6: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8070eba: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8070ebe: f507 628b add.w r2, r7, #1112 ; 0x458 8070ec2: edd2 7a00 vldr s15, [r2] 8070ec6: eefc 7ae7 vcvt.u32.f32 s15, s15 8070eca: ee17 2a90 vmov r2, s15 8070ece: 1a9b subs r3, r3, r2 8070ed0: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070ed4: f000 bd9f b.w 8071a16 if(fmax <= 1000.0f) ///////// 8070ed8: f207 434c addw r3, r7, #1100 ; 0x44c 8070edc: edd3 7a00 vldr s15, [r3] 8070ee0: ed9f 7a61 vldr s14, [pc, #388] ; 8071068 8070ee4: eef4 7ac7 vcmpe.f32 s15, s14 8070ee8: eef1 fa10 vmrs APSR_nzcv, fpscr 8070eec: f200 8121 bhi.w 8071132 if(f <= 0.01f) 8070ef0: f507 638b add.w r3, r7, #1112 ; 0x458 8070ef4: edd3 7a00 vldr s15, [r3] 8070ef8: ed9f 7a59 vldr s14, [pc, #356] ; 8071060 8070efc: eef4 7ac7 vcmpe.f32 s15, s14 8070f00: eef1 fa10 vmrs APSR_nzcv, fpscr 8070f04: d822 bhi.n 8070f4c f = (25 * f / 0.01f) + 0.5f; 8070f06: f507 638b add.w r3, r7, #1112 ; 0x458 8070f0a: edd3 7a00 vldr s15, [r3] 8070f0e: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070f12: ee27 7a87 vmul.f32 s14, s15, s14 8070f16: eddf 6a52 vldr s13, [pc, #328] ; 8071060 8070f1a: eec7 7a26 vdiv.f32 s15, s14, s13 8070f1e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070f22: ee77 7a87 vadd.f32 s15, s15, s14 8070f26: f507 638b add.w r3, r7, #1112 ; 0x458 8070f2a: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8070f2e: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8070f32: f507 628b add.w r2, r7, #1112 ; 0x458 8070f36: edd2 7a00 vldr s15, [r2] 8070f3a: eefc 7ae7 vcvt.u32.f32 s15, s15 8070f3e: ee17 2a90 vmov r2, s15 8070f42: 1a9b subs r3, r3, r2 8070f44: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070f48: f000 bd65 b.w 8071a16 if(f <= 0.1f) 8070f4c: f507 638b add.w r3, r7, #1112 ; 0x458 8070f50: edd3 7a00 vldr s15, [r3] 8070f54: ed9f 7a43 vldr s14, [pc, #268] ; 8071064 8070f58: eef4 7ac7 vcmpe.f32 s15, s14 8070f5c: eef1 fa10 vmrs APSR_nzcv, fpscr 8070f60: d822 bhi.n 8070fa8 f = (25 * f / 0.1f) + 0.5f; 8070f62: f507 638b add.w r3, r7, #1112 ; 0x458 8070f66: edd3 7a00 vldr s15, [r3] 8070f6a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070f6e: ee27 7a87 vmul.f32 s14, s15, s14 8070f72: eddf 6a3c vldr s13, [pc, #240] ; 8071064 8070f76: eec7 7a26 vdiv.f32 s15, s14, s13 8070f7a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070f7e: ee77 7a87 vadd.f32 s15, s15, s14 8070f82: f507 638b add.w r3, r7, #1112 ; 0x458 8070f86: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8070f8a: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8070f8e: f507 628b add.w r2, r7, #1112 ; 0x458 8070f92: edd2 7a00 vldr s15, [r2] 8070f96: eefc 7ae7 vcvt.u32.f32 s15, s15 8070f9a: ee17 2a90 vmov r2, s15 8070f9e: 1a9b subs r3, r3, r2 8070fa0: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070fa4: f000 bd37 b.w 8071a16 if(f <= 1.0f) 8070fa8: f507 638b add.w r3, r7, #1112 ; 0x458 8070fac: edd3 7a00 vldr s15, [r3] 8070fb0: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8070fb4: eef4 7ac7 vcmpe.f32 s15, s14 8070fb8: eef1 fa10 vmrs APSR_nzcv, fpscr 8070fbc: d81e bhi.n 8070ffc f = (25 * f / 1.0f) + 0.5f; 8070fbe: f507 638b add.w r3, r7, #1112 ; 0x458 8070fc2: edd3 7a00 vldr s15, [r3] 8070fc6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8070fca: ee67 7a87 vmul.f32 s15, s15, s14 8070fce: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8070fd2: ee77 7a87 vadd.f32 s15, s15, s14 8070fd6: f507 638b add.w r3, r7, #1112 ; 0x458 8070fda: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8070fde: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 8070fe2: f507 628b add.w r2, r7, #1112 ; 0x458 8070fe6: edd2 7a00 vldr s15, [r2] 8070fea: eefc 7ae7 vcvt.u32.f32 s15, s15 8070fee: ee17 2a90 vmov r2, s15 8070ff2: 1a9b subs r3, r3, r2 8070ff4: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8070ff8: f000 bd0d b.w 8071a16 if(f <= 10.0f) 8070ffc: f507 638b add.w r3, r7, #1112 ; 0x458 8071000: edd3 7a00 vldr s15, [r3] 8071004: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8071008: eef4 7ac7 vcmpe.f32 s15, s14 807100c: eef1 fa10 vmrs APSR_nzcv, fpscr 8071010: d832 bhi.n 8071078 f = (25 * f / 10.0f) + 0.5f; 8071012: f507 638b add.w r3, r7, #1112 ; 0x458 8071016: edd3 7a00 vldr s15, [r3] 807101a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807101e: ee27 7a87 vmul.f32 s14, s15, s14 8071022: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8071026: eec7 7a26 vdiv.f32 s15, s14, s13 807102a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807102e: ee77 7a87 vadd.f32 s15, s15, s14 8071032: f507 638b add.w r3, r7, #1112 ; 0x458 8071036: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 807103a: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 807103e: f507 628b add.w r2, r7, #1112 ; 0x458 8071042: edd2 7a00 vldr s15, [r2] 8071046: eefc 7ae7 vcvt.u32.f32 s15, s15 807104a: ee17 2a90 vmov r2, s15 807104e: 1a9b subs r3, r3, r2 8071050: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071054: f000 bcdf b.w 8071a16 8071058: 64080000 .word 0x64080000 807105c: 3a83126f .word 0x3a83126f 8071060: 3c23d70a .word 0x3c23d70a 8071064: 3dcccccd .word 0x3dcccccd 8071068: 447a0000 .word 0x447a0000 807106c: 461c4000 .word 0x461c4000 8071070: 47c35000 .word 0x47c35000 8071074: 42c80000 .word 0x42c80000 if(f <= 100.0f) 8071078: f507 638b add.w r3, r7, #1112 ; 0x458 807107c: edd3 7a00 vldr s15, [r3] 8071080: ed1f 7a04 vldr s14, [pc, #-16] ; 8071074 8071084: eef4 7ac7 vcmpe.f32 s15, s14 8071088: eef1 fa10 vmrs APSR_nzcv, fpscr 807108c: d822 bhi.n 80710d4 f = (25 * f / 100.0f) + 0.5f; 807108e: f507 638b add.w r3, r7, #1112 ; 0x458 8071092: edd3 7a00 vldr s15, [r3] 8071096: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807109a: ee27 7a87 vmul.f32 s14, s15, s14 807109e: ed5f 6a0b vldr s13, [pc, #-44] ; 8071074 80710a2: eec7 7a26 vdiv.f32 s15, s14, s13 80710a6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80710aa: ee77 7a87 vadd.f32 s15, s15, s14 80710ae: f507 638b add.w r3, r7, #1112 ; 0x458 80710b2: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 80710b6: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 80710ba: f507 628b add.w r2, r7, #1112 ; 0x458 80710be: edd2 7a00 vldr s15, [r2] 80710c2: eefc 7ae7 vcvt.u32.f32 s15, s15 80710c6: ee17 2a90 vmov r2, s15 80710ca: 1a9b subs r3, r3, r2 80710cc: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80710d0: f000 bca1 b.w 8071a16 if(f <= 1000.0f) 80710d4: f507 638b add.w r3, r7, #1112 ; 0x458 80710d8: edd3 7a00 vldr s15, [r3] 80710dc: ed1f 7a1e vldr s14, [pc, #-120] ; 8071068 80710e0: eef4 7ac7 vcmpe.f32 s15, s14 80710e4: eef1 fa10 vmrs APSR_nzcv, fpscr 80710e8: f200 8495 bhi.w 8071a16 f = (25 * f / 1000.0f) + 0.5f; 80710ec: f507 638b add.w r3, r7, #1112 ; 0x458 80710f0: edd3 7a00 vldr s15, [r3] 80710f4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80710f8: ee27 7a87 vmul.f32 s14, s15, s14 80710fc: ed5f 6a26 vldr s13, [pc, #-152] ; 8071068 8071100: eec7 7a26 vdiv.f32 s15, s14, s13 8071104: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071108: ee77 7a87 vadd.f32 s15, s15, s14 807110c: f507 638b add.w r3, r7, #1112 ; 0x458 8071110: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8071114: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8071118: f507 628b add.w r2, r7, #1112 ; 0x458 807111c: edd2 7a00 vldr s15, [r2] 8071120: eefc 7ae7 vcvt.u32.f32 s15, s15 8071124: ee17 2a90 vmov r2, s15 8071128: 1a9b subs r3, r3, r2 807112a: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807112e: f000 bc72 b.w 8071a16 if(fmax <= 10000.0f) ///////// 8071132: f207 434c addw r3, r7, #1100 ; 0x44c 8071136: edd3 7a00 vldr s15, [r3] 807113a: ed1f 7a34 vldr s14, [pc, #-208] ; 807106c 807113e: eef4 7ac7 vcmpe.f32 s15, s14 8071142: eef1 fa10 vmrs APSR_nzcv, fpscr 8071146: f200 810d bhi.w 8071364 if(f <= 0.1f) 807114a: f507 638b add.w r3, r7, #1112 ; 0x458 807114e: edd3 7a00 vldr s15, [r3] 8071152: ed1f 7a3c vldr s14, [pc, #-240] ; 8071064 8071156: eef4 7ac7 vcmpe.f32 s15, s14 807115a: eef1 fa10 vmrs APSR_nzcv, fpscr 807115e: d822 bhi.n 80711a6 f = (25 * f / 0.1f) + 0.5f; 8071160: f507 638b add.w r3, r7, #1112 ; 0x458 8071164: edd3 7a00 vldr s15, [r3] 8071168: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807116c: ee27 7a87 vmul.f32 s14, s15, s14 8071170: ed5f 6a44 vldr s13, [pc, #-272] ; 8071064 8071174: eec7 7a26 vdiv.f32 s15, s14, s13 8071178: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807117c: ee77 7a87 vadd.f32 s15, s15, s14 8071180: f507 638b add.w r3, r7, #1112 ; 0x458 8071184: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 8071188: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 807118c: f507 628b add.w r2, r7, #1112 ; 0x458 8071190: edd2 7a00 vldr s15, [r2] 8071194: eefc 7ae7 vcvt.u32.f32 s15, s15 8071198: ee17 2a90 vmov r2, s15 807119c: 1a9b subs r3, r3, r2 807119e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80711a2: f000 bc38 b.w 8071a16 if(f <= 1.0f) 80711a6: f507 638b add.w r3, r7, #1112 ; 0x458 80711aa: edd3 7a00 vldr s15, [r3] 80711ae: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80711b2: eef4 7ac7 vcmpe.f32 s15, s14 80711b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80711ba: d81e bhi.n 80711fa f = (25 * f / 1.0f) + 0.5f; 80711bc: f507 638b add.w r3, r7, #1112 ; 0x458 80711c0: edd3 7a00 vldr s15, [r3] 80711c4: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80711c8: ee67 7a87 vmul.f32 s15, s15, s14 80711cc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80711d0: ee77 7a87 vadd.f32 s15, s15, s14 80711d4: f507 638b add.w r3, r7, #1112 ; 0x458 80711d8: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 80711dc: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80711e0: f507 628b add.w r2, r7, #1112 ; 0x458 80711e4: edd2 7a00 vldr s15, [r2] 80711e8: eefc 7ae7 vcvt.u32.f32 s15, s15 80711ec: ee17 2a90 vmov r2, s15 80711f0: 1a9b subs r3, r3, r2 80711f2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80711f6: f000 bc0e b.w 8071a16 if(f <= 10.0f) 80711fa: f507 638b add.w r3, r7, #1112 ; 0x458 80711fe: edd3 7a00 vldr s15, [r3] 8071202: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8071206: eef4 7ac7 vcmpe.f32 s15, s14 807120a: eef1 fa10 vmrs APSR_nzcv, fpscr 807120e: d821 bhi.n 8071254 f = (25 * f / 10.0f) + 0.5f; 8071210: f507 638b add.w r3, r7, #1112 ; 0x458 8071214: edd3 7a00 vldr s15, [r3] 8071218: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807121c: ee27 7a87 vmul.f32 s14, s15, s14 8071220: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 8071224: eec7 7a26 vdiv.f32 s15, s14, s13 8071228: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807122c: ee77 7a87 vadd.f32 s15, s15, s14 8071230: f507 638b add.w r3, r7, #1112 ; 0x458 8071234: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8071238: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 807123c: f507 628b add.w r2, r7, #1112 ; 0x458 8071240: edd2 7a00 vldr s15, [r2] 8071244: eefc 7ae7 vcvt.u32.f32 s15, s15 8071248: ee17 2a90 vmov r2, s15 807124c: 1a9b subs r3, r3, r2 807124e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071252: e3e0 b.n 8071a16 if(f <= 100.0f) 8071254: f507 638b add.w r3, r7, #1112 ; 0x458 8071258: edd3 7a00 vldr s15, [r3] 807125c: ed1f 7a7b vldr s14, [pc, #-492] ; 8071074 8071260: eef4 7ac7 vcmpe.f32 s15, s14 8071264: eef1 fa10 vmrs APSR_nzcv, fpscr 8071268: d821 bhi.n 80712ae f = (25 * f / 100.0f) + 0.5f; 807126a: f507 638b add.w r3, r7, #1112 ; 0x458 807126e: edd3 7a00 vldr s15, [r3] 8071272: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071276: ee27 7a87 vmul.f32 s14, s15, s14 807127a: ed5f 6a82 vldr s13, [pc, #-520] ; 8071074 807127e: eec7 7a26 vdiv.f32 s15, s14, s13 8071282: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071286: ee77 7a87 vadd.f32 s15, s15, s14 807128a: f507 638b add.w r3, r7, #1112 ; 0x458 807128e: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8071292: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 8071296: f507 628b add.w r2, r7, #1112 ; 0x458 807129a: edd2 7a00 vldr s15, [r2] 807129e: eefc 7ae7 vcvt.u32.f32 s15, s15 80712a2: ee17 2a90 vmov r2, s15 80712a6: 1a9b subs r3, r3, r2 80712a8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80712ac: e3b3 b.n 8071a16 if(f <= 1000.0f) 80712ae: f507 638b add.w r3, r7, #1112 ; 0x458 80712b2: edd3 7a00 vldr s15, [r3] 80712b6: ed1f 7a94 vldr s14, [pc, #-592] ; 8071068 80712ba: eef4 7ac7 vcmpe.f32 s15, s14 80712be: eef1 fa10 vmrs APSR_nzcv, fpscr 80712c2: d821 bhi.n 8071308 f = (25 * f / 1000.0f) + 0.5f; 80712c4: f507 638b add.w r3, r7, #1112 ; 0x458 80712c8: edd3 7a00 vldr s15, [r3] 80712cc: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80712d0: ee27 7a87 vmul.f32 s14, s15, s14 80712d4: ed5f 6a9c vldr s13, [pc, #-624] ; 8071068 80712d8: eec7 7a26 vdiv.f32 s15, s14, s13 80712dc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80712e0: ee77 7a87 vadd.f32 s15, s15, s14 80712e4: f507 638b add.w r3, r7, #1112 ; 0x458 80712e8: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 80712ec: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 80712f0: f507 628b add.w r2, r7, #1112 ; 0x458 80712f4: edd2 7a00 vldr s15, [r2] 80712f8: eefc 7ae7 vcvt.u32.f32 s15, s15 80712fc: ee17 2a90 vmov r2, s15 8071300: 1a9b subs r3, r3, r2 8071302: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071306: e386 b.n 8071a16 if(f <= 10000.0f) 8071308: f507 638b add.w r3, r7, #1112 ; 0x458 807130c: edd3 7a00 vldr s15, [r3] 8071310: ed1f 7aaa vldr s14, [pc, #-680] ; 807106c 8071314: eef4 7ac7 vcmpe.f32 s15, s14 8071318: eef1 fa10 vmrs APSR_nzcv, fpscr 807131c: f200 837b bhi.w 8071a16 f = (25 * f / 10000.0f) + 0.5f; 8071320: f507 638b add.w r3, r7, #1112 ; 0x458 8071324: edd3 7a00 vldr s15, [r3] 8071328: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807132c: ee27 7a87 vmul.f32 s14, s15, s14 8071330: ed5f 6ab2 vldr s13, [pc, #-712] ; 807106c 8071334: eec7 7a26 vdiv.f32 s15, s14, s13 8071338: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807133c: ee77 7a87 vadd.f32 s15, s15, s14 8071340: f507 638b add.w r3, r7, #1112 ; 0x458 8071344: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8071348: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 807134c: f507 628b add.w r2, r7, #1112 ; 0x458 8071350: edd2 7a00 vldr s15, [r2] 8071354: eefc 7ae7 vcvt.u32.f32 s15, s15 8071358: ee17 2a90 vmov r2, s15 807135c: 1a9b subs r3, r3, r2 807135e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071362: e358 b.n 8071a16 if(fmax <= 100000.0f) ///////// 8071364: f207 434c addw r3, r7, #1100 ; 0x44c 8071368: edd3 7a00 vldr s15, [r3] 807136c: ed1f 7ac0 vldr s14, [pc, #-768] ; 8071070 8071370: eef4 7ac7 vcmpe.f32 s15, s14 8071374: eef1 fa10 vmrs APSR_nzcv, fpscr 8071378: f200 810b bhi.w 8071592 if(f <= 1.0f) 807137c: f507 638b add.w r3, r7, #1112 ; 0x458 8071380: edd3 7a00 vldr s15, [r3] 8071384: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8071388: eef4 7ac7 vcmpe.f32 s15, s14 807138c: eef1 fa10 vmrs APSR_nzcv, fpscr 8071390: d81d bhi.n 80713ce f = (25 * f / 1.0f) + 0.5f; 8071392: f507 638b add.w r3, r7, #1112 ; 0x458 8071396: edd3 7a00 vldr s15, [r3] 807139a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807139e: ee67 7a87 vmul.f32 s15, s15, s14 80713a2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80713a6: ee77 7a87 vadd.f32 s15, s15, s14 80713aa: f507 638b add.w r3, r7, #1112 ; 0x458 80713ae: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 80713b2: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80713b6: f507 628b add.w r2, r7, #1112 ; 0x458 80713ba: edd2 7a00 vldr s15, [r2] 80713be: eefc 7ae7 vcvt.u32.f32 s15, s15 80713c2: ee17 2a90 vmov r2, s15 80713c6: 1a9b subs r3, r3, r2 80713c8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80713cc: e323 b.n 8071a16 if(f <= 10.0f) 80713ce: f507 638b add.w r3, r7, #1112 ; 0x458 80713d2: edd3 7a00 vldr s15, [r3] 80713d6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80713da: eef4 7ac7 vcmpe.f32 s15, s14 80713de: eef1 fa10 vmrs APSR_nzcv, fpscr 80713e2: d821 bhi.n 8071428 f = (25 * f / 10.0f) + 0.5f; 80713e4: f507 638b add.w r3, r7, #1112 ; 0x458 80713e8: edd3 7a00 vldr s15, [r3] 80713ec: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80713f0: ee27 7a87 vmul.f32 s14, s15, s14 80713f4: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80713f8: eec7 7a26 vdiv.f32 s15, s14, s13 80713fc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071400: ee77 7a87 vadd.f32 s15, s15, s14 8071404: f507 638b add.w r3, r7, #1112 ; 0x458 8071408: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 807140c: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8071410: f507 628b add.w r2, r7, #1112 ; 0x458 8071414: edd2 7a00 vldr s15, [r2] 8071418: eefc 7ae7 vcvt.u32.f32 s15, s15 807141c: ee17 2a90 vmov r2, s15 8071420: 1a9b subs r3, r3, r2 8071422: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071426: e2f6 b.n 8071a16 if(f <= 100.0f) 8071428: f507 638b add.w r3, r7, #1112 ; 0x458 807142c: edd3 7a00 vldr s15, [r3] 8071430: ed1f 7af0 vldr s14, [pc, #-960] ; 8071074 8071434: eef4 7ac7 vcmpe.f32 s15, s14 8071438: eef1 fa10 vmrs APSR_nzcv, fpscr 807143c: d821 bhi.n 8071482 f = (25 * f / 100.0f) + 0.5f; 807143e: f507 638b add.w r3, r7, #1112 ; 0x458 8071442: edd3 7a00 vldr s15, [r3] 8071446: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807144a: ee27 7a87 vmul.f32 s14, s15, s14 807144e: eddf 6ade vldr s13, [pc, #888] ; 80717c8 8071452: eec7 7a26 vdiv.f32 s15, s14, s13 8071456: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807145a: ee77 7a87 vadd.f32 s15, s15, s14 807145e: f507 638b add.w r3, r7, #1112 ; 0x458 8071462: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 8071466: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 807146a: f507 628b add.w r2, r7, #1112 ; 0x458 807146e: edd2 7a00 vldr s15, [r2] 8071472: eefc 7ae7 vcvt.u32.f32 s15, s15 8071476: ee17 2a90 vmov r2, s15 807147a: 1a9b subs r3, r3, r2 807147c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071480: e2c9 b.n 8071a16 if(f <= 1000.0f) 8071482: f507 638b add.w r3, r7, #1112 ; 0x458 8071486: edd3 7a00 vldr s15, [r3] 807148a: ed9f 7ad0 vldr s14, [pc, #832] ; 80717cc 807148e: eef4 7ac7 vcmpe.f32 s15, s14 8071492: eef1 fa10 vmrs APSR_nzcv, fpscr 8071496: d821 bhi.n 80714dc f = (25 * f / 1000.0f) + 0.5f; 8071498: f507 638b add.w r3, r7, #1112 ; 0x458 807149c: edd3 7a00 vldr s15, [r3] 80714a0: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80714a4: ee27 7a87 vmul.f32 s14, s15, s14 80714a8: eddf 6ac8 vldr s13, [pc, #800] ; 80717cc 80714ac: eec7 7a26 vdiv.f32 s15, s14, s13 80714b0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80714b4: ee77 7a87 vadd.f32 s15, s15, s14 80714b8: f507 638b add.w r3, r7, #1112 ; 0x458 80714bc: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 80714c0: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 80714c4: f507 628b add.w r2, r7, #1112 ; 0x458 80714c8: edd2 7a00 vldr s15, [r2] 80714cc: eefc 7ae7 vcvt.u32.f32 s15, s15 80714d0: ee17 2a90 vmov r2, s15 80714d4: 1a9b subs r3, r3, r2 80714d6: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80714da: e29c b.n 8071a16 if(f <= 10000.0f) 80714dc: f507 638b add.w r3, r7, #1112 ; 0x458 80714e0: edd3 7a00 vldr s15, [r3] 80714e4: ed9f 7aba vldr s14, [pc, #744] ; 80717d0 80714e8: eef4 7ac7 vcmpe.f32 s15, s14 80714ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80714f0: d821 bhi.n 8071536 f = (25 * f / 10000.0f) + 0.5f; 80714f2: f507 638b add.w r3, r7, #1112 ; 0x458 80714f6: edd3 7a00 vldr s15, [r3] 80714fa: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80714fe: ee27 7a87 vmul.f32 s14, s15, s14 8071502: eddf 6ab3 vldr s13, [pc, #716] ; 80717d0 8071506: eec7 7a26 vdiv.f32 s15, s14, s13 807150a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807150e: ee77 7a87 vadd.f32 s15, s15, s14 8071512: f507 638b add.w r3, r7, #1112 ; 0x458 8071516: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 807151a: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 807151e: f507 628b add.w r2, r7, #1112 ; 0x458 8071522: edd2 7a00 vldr s15, [r2] 8071526: eefc 7ae7 vcvt.u32.f32 s15, s15 807152a: ee17 2a90 vmov r2, s15 807152e: 1a9b subs r3, r3, r2 8071530: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071534: e26f b.n 8071a16 if(f <= 100000.0f) 8071536: f507 638b add.w r3, r7, #1112 ; 0x458 807153a: edd3 7a00 vldr s15, [r3] 807153e: ed9f 7aa5 vldr s14, [pc, #660] ; 80717d4 8071542: eef4 7ac7 vcmpe.f32 s15, s14 8071546: eef1 fa10 vmrs APSR_nzcv, fpscr 807154a: f200 8264 bhi.w 8071a16 f = (25 * f / 100000.0f) + 0.5f; 807154e: f507 638b add.w r3, r7, #1112 ; 0x458 8071552: edd3 7a00 vldr s15, [r3] 8071556: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807155a: ee27 7a87 vmul.f32 s14, s15, s14 807155e: eddf 6a9d vldr s13, [pc, #628] ; 80717d4 8071562: eec7 7a26 vdiv.f32 s15, s14, s13 8071566: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807156a: ee77 7a87 vadd.f32 s15, s15, s14 807156e: f507 638b add.w r3, r7, #1112 ; 0x458 8071572: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 8071576: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 807157a: f507 628b add.w r2, r7, #1112 ; 0x458 807157e: edd2 7a00 vldr s15, [r2] 8071582: eefc 7ae7 vcvt.u32.f32 s15, s15 8071586: ee17 2a90 vmov r2, s15 807158a: 1a9b subs r3, r3, r2 807158c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071590: e241 b.n 8071a16 if(fmax <= 1000000.0f) 8071592: f207 434c addw r3, r7, #1100 ; 0x44c 8071596: edd3 7a00 vldr s15, [r3] 807159a: ed9f 7a8f vldr s14, [pc, #572] ; 80717d8 807159e: eef4 7ac7 vcmpe.f32 s15, s14 80715a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80715a6: f200 811d bhi.w 80717e4 if(f <= 10.0f) 80715aa: f507 638b add.w r3, r7, #1112 ; 0x458 80715ae: edd3 7a00 vldr s15, [r3] 80715b2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80715b6: eef4 7ac7 vcmpe.f32 s15, s14 80715ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80715be: d821 bhi.n 8071604 f = (25 * f / 10.0f) + 0.5f; 80715c0: f507 638b add.w r3, r7, #1112 ; 0x458 80715c4: edd3 7a00 vldr s15, [r3] 80715c8: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80715cc: ee27 7a87 vmul.f32 s14, s15, s14 80715d0: eef2 6a04 vmov.f32 s13, #36 ; 0x41200000 10.0 80715d4: eec7 7a26 vdiv.f32 s15, s14, s13 80715d8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80715dc: ee77 7a87 vadd.f32 s15, s15, s14 80715e0: f507 638b add.w r3, r7, #1112 ; 0x458 80715e4: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 80715e8: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80715ec: f507 628b add.w r2, r7, #1112 ; 0x458 80715f0: edd2 7a00 vldr s15, [r2] 80715f4: eefc 7ae7 vcvt.u32.f32 s15, s15 80715f8: ee17 2a90 vmov r2, s15 80715fc: 1a9b subs r3, r3, r2 80715fe: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071602: e208 b.n 8071a16 if(f <= 100.0f) 8071604: f507 638b add.w r3, r7, #1112 ; 0x458 8071608: edd3 7a00 vldr s15, [r3] 807160c: ed9f 7a6e vldr s14, [pc, #440] ; 80717c8 8071610: eef4 7ac7 vcmpe.f32 s15, s14 8071614: eef1 fa10 vmrs APSR_nzcv, fpscr 8071618: d821 bhi.n 807165e f = (25 * f / 100.0f) + 0.5f; 807161a: f507 638b add.w r3, r7, #1112 ; 0x458 807161e: edd3 7a00 vldr s15, [r3] 8071622: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071626: ee27 7a87 vmul.f32 s14, s15, s14 807162a: eddf 6a67 vldr s13, [pc, #412] ; 80717c8 807162e: eec7 7a26 vdiv.f32 s15, s14, s13 8071632: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071636: ee77 7a87 vadd.f32 s15, s15, s14 807163a: f507 638b add.w r3, r7, #1112 ; 0x458 807163e: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8071642: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8071646: f507 628b add.w r2, r7, #1112 ; 0x458 807164a: edd2 7a00 vldr s15, [r2] 807164e: eefc 7ae7 vcvt.u32.f32 s15, s15 8071652: ee17 2a90 vmov r2, s15 8071656: 1a9b subs r3, r3, r2 8071658: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807165c: e1db b.n 8071a16 if(f <= 1000.0f) 807165e: f507 638b add.w r3, r7, #1112 ; 0x458 8071662: edd3 7a00 vldr s15, [r3] 8071666: ed9f 7a59 vldr s14, [pc, #356] ; 80717cc 807166a: eef4 7ac7 vcmpe.f32 s15, s14 807166e: eef1 fa10 vmrs APSR_nzcv, fpscr 8071672: d821 bhi.n 80716b8 f = (25 * f / 1000.0f) + 0.5f; 8071674: f507 638b add.w r3, r7, #1112 ; 0x458 8071678: edd3 7a00 vldr s15, [r3] 807167c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071680: ee27 7a87 vmul.f32 s14, s15, s14 8071684: eddf 6a51 vldr s13, [pc, #324] ; 80717cc 8071688: eec7 7a26 vdiv.f32 s15, s14, s13 807168c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071690: ee77 7a87 vadd.f32 s15, s15, s14 8071694: f507 638b add.w r3, r7, #1112 ; 0x458 8071698: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 807169c: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 80716a0: f507 628b add.w r2, r7, #1112 ; 0x458 80716a4: edd2 7a00 vldr s15, [r2] 80716a8: eefc 7ae7 vcvt.u32.f32 s15, s15 80716ac: ee17 2a90 vmov r2, s15 80716b0: 1a9b subs r3, r3, r2 80716b2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80716b6: e1ae b.n 8071a16 if(f <= 10000.0f) 80716b8: f507 638b add.w r3, r7, #1112 ; 0x458 80716bc: edd3 7a00 vldr s15, [r3] 80716c0: ed9f 7a43 vldr s14, [pc, #268] ; 80717d0 80716c4: eef4 7ac7 vcmpe.f32 s15, s14 80716c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80716cc: d821 bhi.n 8071712 f = (25 * f / 10000.0f) + 0.5f; 80716ce: f507 638b add.w r3, r7, #1112 ; 0x458 80716d2: edd3 7a00 vldr s15, [r3] 80716d6: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80716da: ee27 7a87 vmul.f32 s14, s15, s14 80716de: eddf 6a3c vldr s13, [pc, #240] ; 80717d0 80716e2: eec7 7a26 vdiv.f32 s15, s14, s13 80716e6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80716ea: ee77 7a87 vadd.f32 s15, s15, s14 80716ee: f507 638b add.w r3, r7, #1112 ; 0x458 80716f2: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 80716f6: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 80716fa: f507 628b add.w r2, r7, #1112 ; 0x458 80716fe: edd2 7a00 vldr s15, [r2] 8071702: eefc 7ae7 vcvt.u32.f32 s15, s15 8071706: ee17 2a90 vmov r2, s15 807170a: 1a9b subs r3, r3, r2 807170c: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071710: e181 b.n 8071a16 if(f <= 100000.0f) 8071712: f507 638b add.w r3, r7, #1112 ; 0x458 8071716: edd3 7a00 vldr s15, [r3] 807171a: ed9f 7a2e vldr s14, [pc, #184] ; 80717d4 807171e: eef4 7ac7 vcmpe.f32 s15, s14 8071722: eef1 fa10 vmrs APSR_nzcv, fpscr 8071726: d821 bhi.n 807176c f = (25 * f / 100000.0f) + 0.5f; 8071728: f507 638b add.w r3, r7, #1112 ; 0x458 807172c: edd3 7a00 vldr s15, [r3] 8071730: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071734: ee27 7a87 vmul.f32 s14, s15, s14 8071738: eddf 6a26 vldr s13, [pc, #152] ; 80717d4 807173c: eec7 7a26 vdiv.f32 s15, s14, s13 8071740: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071744: ee77 7a87 vadd.f32 s15, s15, s14 8071748: f507 638b add.w r3, r7, #1112 ; 0x458 807174c: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 8071750: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 8071754: f507 628b add.w r2, r7, #1112 ; 0x458 8071758: edd2 7a00 vldr s15, [r2] 807175c: eefc 7ae7 vcvt.u32.f32 s15, s15 8071760: ee17 2a90 vmov r2, s15 8071764: 1a9b subs r3, r3, r2 8071766: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807176a: e154 b.n 8071a16 if(f <= 1000000.0f) 807176c: f507 638b add.w r3, r7, #1112 ; 0x458 8071770: edd3 7a00 vldr s15, [r3] 8071774: ed9f 7a18 vldr s14, [pc, #96] ; 80717d8 8071778: eef4 7ac7 vcmpe.f32 s15, s14 807177c: eef1 fa10 vmrs APSR_nzcv, fpscr 8071780: f200 8149 bhi.w 8071a16 f = (25 * f / 1000000.0f) + 0.5f; 8071784: f507 638b add.w r3, r7, #1112 ; 0x458 8071788: edd3 7a00 vldr s15, [r3] 807178c: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071790: ee27 7a87 vmul.f32 s14, s15, s14 8071794: eddf 6a10 vldr s13, [pc, #64] ; 80717d8 8071798: eec7 7a26 vdiv.f32 s15, s14, s13 807179c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80717a0: ee77 7a87 vadd.f32 s15, s15, s14 80717a4: f507 638b add.w r3, r7, #1112 ; 0x458 80717a8: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 80717ac: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 80717b0: f507 628b add.w r2, r7, #1112 ; 0x458 80717b4: edd2 7a00 vldr s15, [r2] 80717b8: eefc 7ae7 vcvt.u32.f32 s15, s15 80717bc: ee17 2a90 vmov r2, s15 80717c0: 1a9b subs r3, r3, r2 80717c2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80717c6: e126 b.n 8071a16 80717c8: 42c80000 .word 0x42c80000 80717cc: 447a0000 .word 0x447a0000 80717d0: 461c4000 .word 0x461c4000 80717d4: 47c35000 .word 0x47c35000 80717d8: 49742400 .word 0x49742400 80717dc: 4b189680 .word 0x4b189680 80717e0: 43800000 .word 0x43800000 if(fmax <= 10000000.0f) 80717e4: f207 434c addw r3, r7, #1100 ; 0x44c 80717e8: edd3 7a00 vldr s15, [r3] 80717ec: ed1f 7a05 vldr s14, [pc, #-20] ; 80717dc 80717f0: eef4 7ac7 vcmpe.f32 s15, s14 80717f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80717f8: f200 810d bhi.w 8071a16 if(f <= 100.0f) 80717fc: f507 638b add.w r3, r7, #1112 ; 0x458 8071800: edd3 7a00 vldr s15, [r3] 8071804: ed1f 7a10 vldr s14, [pc, #-64] ; 80717c8 8071808: eef4 7ac7 vcmpe.f32 s15, s14 807180c: eef1 fa10 vmrs APSR_nzcv, fpscr 8071810: d821 bhi.n 8071856 f = (25 * f / 100.0f) + 0.5f; 8071812: f507 638b add.w r3, r7, #1112 ; 0x458 8071816: edd3 7a00 vldr s15, [r3] 807181a: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807181e: ee27 7a87 vmul.f32 s14, s15, s14 8071822: ed5f 6a17 vldr s13, [pc, #-92] ; 80717c8 8071826: eec7 7a26 vdiv.f32 s15, s14, s13 807182a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807182e: ee77 7a87 vadd.f32 s15, s15, s14 8071832: f507 638b add.w r3, r7, #1112 ; 0x458 8071836: edc3 7a00 vstr s15, [r3] y = y0 - (uint32_t) f; 807183a: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 807183e: f507 628b add.w r2, r7, #1112 ; 0x458 8071842: edd2 7a00 vldr s15, [r2] 8071846: eefc 7ae7 vcvt.u32.f32 s15, s15 807184a: ee17 2a90 vmov r2, s15 807184e: 1a9b subs r3, r3, r2 8071850: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071854: e0df b.n 8071a16 if(f <= 1000.0f) 8071856: f507 638b add.w r3, r7, #1112 ; 0x458 807185a: edd3 7a00 vldr s15, [r3] 807185e: ed1f 7a25 vldr s14, [pc, #-148] ; 80717cc 8071862: eef4 7ac7 vcmpe.f32 s15, s14 8071866: eef1 fa10 vmrs APSR_nzcv, fpscr 807186a: d821 bhi.n 80718b0 f = (25 * f / 1000.0f) + 0.5f; 807186c: f507 638b add.w r3, r7, #1112 ; 0x458 8071870: edd3 7a00 vldr s15, [r3] 8071874: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071878: ee27 7a87 vmul.f32 s14, s15, s14 807187c: ed5f 6a2d vldr s13, [pc, #-180] ; 80717cc 8071880: eec7 7a26 vdiv.f32 s15, s14, s13 8071884: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071888: ee77 7a87 vadd.f32 s15, s15, s14 807188c: f507 638b add.w r3, r7, #1112 ; 0x458 8071890: edc3 7a00 vstr s15, [r3] y = y1 - (uint32_t) f; 8071894: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8071898: f507 628b add.w r2, r7, #1112 ; 0x458 807189c: edd2 7a00 vldr s15, [r2] 80718a0: eefc 7ae7 vcvt.u32.f32 s15, s15 80718a4: ee17 2a90 vmov r2, s15 80718a8: 1a9b subs r3, r3, r2 80718aa: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80718ae: e0b2 b.n 8071a16 if(f <= 10000.0f) 80718b0: f507 638b add.w r3, r7, #1112 ; 0x458 80718b4: edd3 7a00 vldr s15, [r3] 80718b8: ed1f 7a3b vldr s14, [pc, #-236] ; 80717d0 80718bc: eef4 7ac7 vcmpe.f32 s15, s14 80718c0: eef1 fa10 vmrs APSR_nzcv, fpscr 80718c4: d821 bhi.n 807190a f = (25 * f / 10000.0f) + 0.5f; 80718c6: f507 638b add.w r3, r7, #1112 ; 0x458 80718ca: edd3 7a00 vldr s15, [r3] 80718ce: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80718d2: ee27 7a87 vmul.f32 s14, s15, s14 80718d6: ed5f 6a42 vldr s13, [pc, #-264] ; 80717d0 80718da: eec7 7a26 vdiv.f32 s15, s14, s13 80718de: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80718e2: ee77 7a87 vadd.f32 s15, s15, s14 80718e6: f507 638b add.w r3, r7, #1112 ; 0x458 80718ea: edc3 7a00 vstr s15, [r3] y = y2 - (uint32_t) f; 80718ee: f8b7 3438 ldrh.w r3, [r7, #1080] ; 0x438 80718f2: f507 628b add.w r2, r7, #1112 ; 0x458 80718f6: edd2 7a00 vldr s15, [r2] 80718fa: eefc 7ae7 vcvt.u32.f32 s15, s15 80718fe: ee17 2a90 vmov r2, s15 8071902: 1a9b subs r3, r3, r2 8071904: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071908: e085 b.n 8071a16 if(f <= 100000.0f) 807190a: f507 638b add.w r3, r7, #1112 ; 0x458 807190e: edd3 7a00 vldr s15, [r3] 8071912: ed1f 7a50 vldr s14, [pc, #-320] ; 80717d4 8071916: eef4 7ac7 vcmpe.f32 s15, s14 807191a: eef1 fa10 vmrs APSR_nzcv, fpscr 807191e: d821 bhi.n 8071964 f = (25 * f / 100000.0f) + 0.5f; 8071920: f507 638b add.w r3, r7, #1112 ; 0x458 8071924: edd3 7a00 vldr s15, [r3] 8071928: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 807192c: ee27 7a87 vmul.f32 s14, s15, s14 8071930: ed5f 6a58 vldr s13, [pc, #-352] ; 80717d4 8071934: eec7 7a26 vdiv.f32 s15, s14, s13 8071938: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807193c: ee77 7a87 vadd.f32 s15, s15, s14 8071940: f507 638b add.w r3, r7, #1112 ; 0x458 8071944: edc3 7a00 vstr s15, [r3] y = y3 - (uint32_t) f; 8071948: f8b7 3436 ldrh.w r3, [r7, #1078] ; 0x436 807194c: f507 628b add.w r2, r7, #1112 ; 0x458 8071950: edd2 7a00 vldr s15, [r2] 8071954: eefc 7ae7 vcvt.u32.f32 s15, s15 8071958: ee17 2a90 vmov r2, s15 807195c: 1a9b subs r3, r3, r2 807195e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8071962: e058 b.n 8071a16 if(f <= 1000000.0f) 8071964: f507 638b add.w r3, r7, #1112 ; 0x458 8071968: edd3 7a00 vldr s15, [r3] 807196c: ed1f 7a66 vldr s14, [pc, #-408] ; 80717d8 8071970: eef4 7ac7 vcmpe.f32 s15, s14 8071974: eef1 fa10 vmrs APSR_nzcv, fpscr 8071978: d821 bhi.n 80719be f = (25 * f / 1000000.0f) + 0.5f; 807197a: f507 638b add.w r3, r7, #1112 ; 0x458 807197e: edd3 7a00 vldr s15, [r3] 8071982: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 8071986: ee27 7a87 vmul.f32 s14, s15, s14 807198a: ed5f 6a6d vldr s13, [pc, #-436] ; 80717d8 807198e: eec7 7a26 vdiv.f32 s15, s14, s13 8071992: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071996: ee77 7a87 vadd.f32 s15, s15, s14 807199a: f507 638b add.w r3, r7, #1112 ; 0x458 807199e: edc3 7a00 vstr s15, [r3] y = y4 - (uint32_t) f; 80719a2: f8b7 3434 ldrh.w r3, [r7, #1076] ; 0x434 80719a6: f507 628b add.w r2, r7, #1112 ; 0x458 80719aa: edd2 7a00 vldr s15, [r2] 80719ae: eefc 7ae7 vcvt.u32.f32 s15, s15 80719b2: ee17 2a90 vmov r2, s15 80719b6: 1a9b subs r3, r3, r2 80719b8: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80719bc: e02b b.n 8071a16 if(f <= 10000000.0f) 80719be: f507 638b add.w r3, r7, #1112 ; 0x458 80719c2: edd3 7a00 vldr s15, [r3] 80719c6: ed1f 7a7b vldr s14, [pc, #-492] ; 80717dc 80719ca: eef4 7ac7 vcmpe.f32 s15, s14 80719ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80719d2: d820 bhi.n 8071a16 f = (25 * f / 10000000.0f) + 0.5f; 80719d4: f507 638b add.w r3, r7, #1112 ; 0x458 80719d8: edd3 7a00 vldr s15, [r3] 80719dc: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80719e0: ee27 7a87 vmul.f32 s14, s15, s14 80719e4: ed5f 6a83 vldr s13, [pc, #-524] ; 80717dc 80719e8: eec7 7a26 vdiv.f32 s15, s14, s13 80719ec: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80719f0: ee77 7a87 vadd.f32 s15, s15, s14 80719f4: f507 638b add.w r3, r7, #1112 ; 0x458 80719f8: edc3 7a00 vstr s15, [r3] y = y5 - (uint32_t) f; 80719fc: f8b7 3432 ldrh.w r3, [r7, #1074] ; 0x432 8071a00: f507 628b add.w r2, r7, #1112 ; 0x458 8071a04: edd2 7a00 vldr s15, [r2] 8071a08: eefc 7ae7 vcvt.u32.f32 s15, s15 8071a0c: ee17 2a90 vmov r2, s15 8071a10: 1a9b subs r3, r3, r2 8071a12: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(l == 1) 8071a16: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8071a1a: 2b01 cmp r3, #1 8071a1c: d119 bne.n 8071a52 x = 256; 8071a1e: f44f 7380 mov.w r3, #256 ; 0x100 8071a22: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 oldx = 0; 8071a26: 2300 movs r3, #0 8071a28: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 BSP_LCD_DrawLine(62 + oldx, y, 62 + x, y); 8071a2c: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 8071a30: b29b uxth r3, r3 8071a32: 333e adds r3, #62 ; 0x3e 8071a34: b298 uxth r0, r3 8071a36: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071a3a: b299 uxth r1, r3 8071a3c: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8071a40: b29b uxth r3, r3 8071a42: 333e adds r3, #62 ; 0x3e 8071a44: b29a uxth r2, r3 8071a46: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071a4a: b29b uxth r3, r3 8071a4c: f7e2 f904 bl 8053c58 8071a50: e055 b.n 8071afe fs = 256.0f / (float32_t) (l - 1); 8071a52: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8071a56: 3b01 subs r3, #1 8071a58: ee07 3a90 vmov s15, r3 8071a5c: eeb8 7a67 vcvt.f32.u32 s14, s15 8071a60: ed5f 6aa1 vldr s13, [pc, #-644] ; 80717e0 8071a64: eec6 7a87 vdiv.f32 s15, s13, s14 8071a68: f207 4314 addw r3, r7, #1044 ; 0x414 8071a6c: edc3 7a00 vstr s15, [r3] x = (uint32_t) ((fs * (float32_t) i) + 0.5f); 8071a70: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8071a74: ee07 3a90 vmov s15, r3 8071a78: eeb8 7a67 vcvt.f32.u32 s14, s15 8071a7c: f207 4314 addw r3, r7, #1044 ; 0x414 8071a80: edd3 7a00 vldr s15, [r3] 8071a84: ee67 7a27 vmul.f32 s15, s14, s15 8071a88: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8071a8c: ee77 7a87 vadd.f32 s15, s15, s14 8071a90: eefc 7ae7 vcvt.u32.f32 s15, s15 8071a94: ee17 3a90 vmov r3, s15 8071a98: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 if(i == 0) 8071a9c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8071aa0: 2b00 cmp r3, #0 8071aa2: d112 bne.n 8071aca BSP_LCD_DrawLine(62 + x, y, 62 + x, y); 8071aa4: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8071aa8: b29b uxth r3, r3 8071aaa: 333e adds r3, #62 ; 0x3e 8071aac: b298 uxth r0, r3 8071aae: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071ab2: b299 uxth r1, r3 8071ab4: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8071ab8: b29b uxth r3, r3 8071aba: 333e adds r3, #62 ; 0x3e 8071abc: b29a uxth r2, r3 8071abe: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071ac2: b29b uxth r3, r3 8071ac4: f7e2 f8c8 bl 8053c58 8071ac8: e011 b.n 8071aee else BSP_LCD_DrawLine(62 + oldx, oldy, 62 + x, y); 8071aca: f8d7 3460 ldr.w r3, [r7, #1120] ; 0x460 8071ace: b29b uxth r3, r3 8071ad0: 333e adds r3, #62 ; 0x3e 8071ad2: b298 uxth r0, r3 8071ad4: f8d7 345c ldr.w r3, [r7, #1116] ; 0x45c 8071ad8: b299 uxth r1, r3 8071ada: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8071ade: b29b uxth r3, r3 8071ae0: 333e adds r3, #62 ; 0x3e 8071ae2: b29a uxth r2, r3 8071ae4: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071ae8: b29b uxth r3, r3 8071aea: f7e2 f8b5 bl 8053c58 oldx = x; 8071aee: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8071af2: f8c7 3460 str.w r3, [r7, #1120] ; 0x460 oldy = y; 8071af6: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8071afa: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < l; i++) 8071afe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8071b02: 3301 adds r3, #1 8071b04: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8071b08: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8071b0c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8071b10: 429a cmp r2, r3 8071b12: f4ff a8bb bcc.w 8070c8c break; 8071b16: f025 bd5e b.w 80975d6 case MAIN_DIAGN: //TODO switch(menupos) 8071b1a: 4ba9 ldr r3, [pc, #676] ; (8071dc0 ) 8071b1c: 781b ldrb r3, [r3, #0] 8071b1e: b2db uxtb r3, r3 8071b20: 2b04 cmp r3, #4 8071b22: f200 8123 bhi.w 8071d6c 8071b26: a201 add r2, pc, #4 ; (adr r2, 8071b2c ) 8071b28: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8071b2c: 08071b41 .word 0x08071b41 8071b30: 08071d6d .word 0x08071d6d 8071b34: 08071bed .word 0x08071bed 8071b38: 08071c6d .word 0x08071c6d 8071b3c: 08071ced .word 0x08071ced { case StartStop: if(pardata.LANG == RUS) 8071b40: 4ba0 ldr r3, [pc, #640] ; (8071dc4 ) 8071b42: 7b1b ldrb r3, [r3, #12] 8071b44: b2db uxtb r3, r3 8071b46: 2b00 cmp r3, #0 8071b48: d125 bne.n 8071b96 { DrawImage(&bmVIB_POINT, 88, 211); 8071b4a: 22d3 movs r2, #211 ; 0xd3 8071b4c: 2158 movs r1, #88 ; 0x58 8071b4e: 489e ldr r0, [pc, #632] ; (8071dc8 ) 8071b50: f7e2 fd3c bl 80545cc DrawImage(&bmVIB_MEAS, 168, 211); 8071b54: 22d3 movs r2, #211 ; 0xd3 8071b56: 21a8 movs r1, #168 ; 0xa8 8071b58: 489c ldr r0, [pc, #624] ; (8071dcc ) 8071b5a: f7e2 fd37 bl 80545cc if(NeedSTOP) 8071b5e: 4b9c ldr r3, [pc, #624] ; (8071dd0 ) 8071b60: 781b ldrb r3, [r3, #0] 8071b62: b2db uxtb r3, r3 8071b64: 2b00 cmp r3, #0 8071b66: d005 beq.n 8071b74 DrawImage(&bmVIB_PLAY_LIGHT, 8, 211); 8071b68: 22d3 movs r2, #211 ; 0xd3 8071b6a: 2108 movs r1, #8 8071b6c: 4899 ldr r0, [pc, #612] ; (8071dd4 ) 8071b6e: f7e2 fd2d bl 80545cc 8071b72: e035 b.n 8071be0 else { if(measuring) 8071b74: 4b98 ldr r3, [pc, #608] ; (8071dd8 ) 8071b76: 781b ldrb r3, [r3, #0] 8071b78: b2db uxtb r3, r3 8071b7a: 2b00 cmp r3, #0 8071b7c: d005 beq.n 8071b8a DrawImage(&bmVIB_STOP_LIGHT, 8, 211); 8071b7e: 22d3 movs r2, #211 ; 0xd3 8071b80: 2108 movs r1, #8 8071b82: 4896 ldr r0, [pc, #600] ; (8071ddc ) 8071b84: f7e2 fd22 bl 80545cc 8071b88: e02a b.n 8071be0 else DrawImage(&bmVIB_PLAY_LIGHT, 8, 211); 8071b8a: 22d3 movs r2, #211 ; 0xd3 8071b8c: 2108 movs r1, #8 8071b8e: 4891 ldr r0, [pc, #580] ; (8071dd4 ) 8071b90: f7e2 fd1c bl 80545cc 8071b94: e024 b.n 8071be0 } } else { DrawImage(&bmVIB_POINT_ENG, 88, 211); 8071b96: 22d3 movs r2, #211 ; 0xd3 8071b98: 2158 movs r1, #88 ; 0x58 8071b9a: 4891 ldr r0, [pc, #580] ; (8071de0 ) 8071b9c: f7e2 fd16 bl 80545cc DrawImage(&bmVIB_MEAS_ENG, 168, 211); 8071ba0: 22d3 movs r2, #211 ; 0xd3 8071ba2: 21a8 movs r1, #168 ; 0xa8 8071ba4: 488f ldr r0, [pc, #572] ; (8071de4 ) 8071ba6: f7e2 fd11 bl 80545cc if(NeedSTOP) 8071baa: 4b89 ldr r3, [pc, #548] ; (8071dd0 ) 8071bac: 781b ldrb r3, [r3, #0] 8071bae: b2db uxtb r3, r3 8071bb0: 2b00 cmp r3, #0 8071bb2: d005 beq.n 8071bc0 DrawImage(&bmVIB_PLAY_LIGHT_ENG, 8, 211); 8071bb4: 22d3 movs r2, #211 ; 0xd3 8071bb6: 2108 movs r1, #8 8071bb8: 488b ldr r0, [pc, #556] ; (8071de8 ) 8071bba: f7e2 fd07 bl 80545cc 8071bbe: e00f b.n 8071be0 else { if(measuring) 8071bc0: 4b85 ldr r3, [pc, #532] ; (8071dd8 ) 8071bc2: 781b ldrb r3, [r3, #0] 8071bc4: b2db uxtb r3, r3 8071bc6: 2b00 cmp r3, #0 8071bc8: d005 beq.n 8071bd6 DrawImage(&bmVIB_STOP_LIGHT_ENG, 8, 211); 8071bca: 22d3 movs r2, #211 ; 0xd3 8071bcc: 2108 movs r1, #8 8071bce: 4887 ldr r0, [pc, #540] ; (8071dec ) 8071bd0: f7e2 fcfc bl 80545cc 8071bd4: e004 b.n 8071be0 else DrawImage(&bmVIB_PLAY_LIGHT_ENG, 8, 211); 8071bd6: 22d3 movs r2, #211 ; 0xd3 8071bd8: 2108 movs r1, #8 8071bda: 4883 ldr r0, [pc, #524] ; (8071de8 ) 8071bdc: f7e2 fcf6 bl 80545cc } } DrawImage(&bmVIB_SAVE, 248, 211); 8071be0: 22d3 movs r2, #211 ; 0xd3 8071be2: 21f8 movs r1, #248 ; 0xf8 8071be4: 4882 ldr r0, [pc, #520] ; (8071df0 ) 8071be6: f7e2 fcf1 bl 80545cc break; 8071bea: e0bf b.n 8071d6c case Record: if(pardata.LANG == RUS) 8071bec: 4b75 ldr r3, [pc, #468] ; (8071dc4 ) 8071bee: 7b1b ldrb r3, [r3, #12] 8071bf0: b2db uxtb r3, r3 8071bf2: 2b00 cmp r3, #0 8071bf4: d11a bne.n 8071c2c { DrawImage(&bmVIB_POINT, 88, 211); 8071bf6: 22d3 movs r2, #211 ; 0xd3 8071bf8: 2158 movs r1, #88 ; 0x58 8071bfa: 4873 ldr r0, [pc, #460] ; (8071dc8 ) 8071bfc: f7e2 fce6 bl 80545cc DrawImage(&bmVIB_MEAS, 168, 211); 8071c00: 22d3 movs r2, #211 ; 0xd3 8071c02: 21a8 movs r1, #168 ; 0xa8 8071c04: 4871 ldr r0, [pc, #452] ; (8071dcc ) 8071c06: f7e2 fce1 bl 80545cc if(measuring) 8071c0a: 4b73 ldr r3, [pc, #460] ; (8071dd8 ) 8071c0c: 781b ldrb r3, [r3, #0] 8071c0e: b2db uxtb r3, r3 8071c10: 2b00 cmp r3, #0 8071c12: d005 beq.n 8071c20 DrawImage(&bmVIB_STOP, 8, 211); 8071c14: 22d3 movs r2, #211 ; 0xd3 8071c16: 2108 movs r1, #8 8071c18: 4876 ldr r0, [pc, #472] ; (8071df4 ) 8071c1a: f7e2 fcd7 bl 80545cc 8071c1e: e01f b.n 8071c60 else DrawImage(&bmVIB_PLAY, 8, 211); 8071c20: 22d3 movs r2, #211 ; 0xd3 8071c22: 2108 movs r1, #8 8071c24: 4874 ldr r0, [pc, #464] ; (8071df8 ) 8071c26: f7e2 fcd1 bl 80545cc 8071c2a: e019 b.n 8071c60 } else { DrawImage(&bmVIB_POINT_ENG, 88, 211); 8071c2c: 22d3 movs r2, #211 ; 0xd3 8071c2e: 2158 movs r1, #88 ; 0x58 8071c30: 486b ldr r0, [pc, #428] ; (8071de0 ) 8071c32: f7e2 fccb bl 80545cc DrawImage(&bmVIB_MEAS_ENG, 168, 211); 8071c36: 22d3 movs r2, #211 ; 0xd3 8071c38: 21a8 movs r1, #168 ; 0xa8 8071c3a: 486a ldr r0, [pc, #424] ; (8071de4 ) 8071c3c: f7e2 fcc6 bl 80545cc if(measuring) 8071c40: 4b65 ldr r3, [pc, #404] ; (8071dd8 ) 8071c42: 781b ldrb r3, [r3, #0] 8071c44: b2db uxtb r3, r3 8071c46: 2b00 cmp r3, #0 8071c48: d005 beq.n 8071c56 DrawImage(&bmVIB_STOP_ENG, 8, 211); 8071c4a: 22d3 movs r2, #211 ; 0xd3 8071c4c: 2108 movs r1, #8 8071c4e: 486b ldr r0, [pc, #428] ; (8071dfc ) 8071c50: f7e2 fcbc bl 80545cc 8071c54: e004 b.n 8071c60 else DrawImage(&bmVIB_PLAY_ENG, 8, 211); 8071c56: 22d3 movs r2, #211 ; 0xd3 8071c58: 2108 movs r1, #8 8071c5a: 4869 ldr r0, [pc, #420] ; (8071e00 ) 8071c5c: f7e2 fcb6 bl 80545cc } DrawImage(&bmVIB_SAVE_LIGHT, 248, 211); 8071c60: 22d3 movs r2, #211 ; 0xd3 8071c62: 21f8 movs r1, #248 ; 0xf8 8071c64: 4867 ldr r0, [pc, #412] ; (8071e04 ) 8071c66: f7e2 fcb1 bl 80545cc break; 8071c6a: e07f b.n 8071d6c case MyPoint: if(pardata.LANG == RUS) 8071c6c: 4b55 ldr r3, [pc, #340] ; (8071dc4 ) 8071c6e: 7b1b ldrb r3, [r3, #12] 8071c70: b2db uxtb r3, r3 8071c72: 2b00 cmp r3, #0 8071c74: d11a bne.n 8071cac { DrawImage(&bmVIB_POINT_LIGHT, 88, 211); 8071c76: 22d3 movs r2, #211 ; 0xd3 8071c78: 2158 movs r1, #88 ; 0x58 8071c7a: 4863 ldr r0, [pc, #396] ; (8071e08 ) 8071c7c: f7e2 fca6 bl 80545cc DrawImage(&bmVIB_MEAS, 168, 211); 8071c80: 22d3 movs r2, #211 ; 0xd3 8071c82: 21a8 movs r1, #168 ; 0xa8 8071c84: 4851 ldr r0, [pc, #324] ; (8071dcc ) 8071c86: f7e2 fca1 bl 80545cc if(measuring) 8071c8a: 4b53 ldr r3, [pc, #332] ; (8071dd8 ) 8071c8c: 781b ldrb r3, [r3, #0] 8071c8e: b2db uxtb r3, r3 8071c90: 2b00 cmp r3, #0 8071c92: d005 beq.n 8071ca0 DrawImage(&bmVIB_STOP, 8, 211); 8071c94: 22d3 movs r2, #211 ; 0xd3 8071c96: 2108 movs r1, #8 8071c98: 4856 ldr r0, [pc, #344] ; (8071df4 ) 8071c9a: f7e2 fc97 bl 80545cc 8071c9e: e01f b.n 8071ce0 else DrawImage(&bmVIB_PLAY, 8, 211); 8071ca0: 22d3 movs r2, #211 ; 0xd3 8071ca2: 2108 movs r1, #8 8071ca4: 4854 ldr r0, [pc, #336] ; (8071df8 ) 8071ca6: f7e2 fc91 bl 80545cc 8071caa: e019 b.n 8071ce0 } else { DrawImage(&bmVIB_POINT_LIGHT_ENG, 88, 211); 8071cac: 22d3 movs r2, #211 ; 0xd3 8071cae: 2158 movs r1, #88 ; 0x58 8071cb0: 4856 ldr r0, [pc, #344] ; (8071e0c ) 8071cb2: f7e2 fc8b bl 80545cc DrawImage(&bmVIB_MEAS_ENG, 168, 211); 8071cb6: 22d3 movs r2, #211 ; 0xd3 8071cb8: 21a8 movs r1, #168 ; 0xa8 8071cba: 484a ldr r0, [pc, #296] ; (8071de4 ) 8071cbc: f7e2 fc86 bl 80545cc if(measuring) 8071cc0: 4b45 ldr r3, [pc, #276] ; (8071dd8 ) 8071cc2: 781b ldrb r3, [r3, #0] 8071cc4: b2db uxtb r3, r3 8071cc6: 2b00 cmp r3, #0 8071cc8: d005 beq.n 8071cd6 DrawImage(&bmVIB_STOP_ENG, 8, 211); 8071cca: 22d3 movs r2, #211 ; 0xd3 8071ccc: 2108 movs r1, #8 8071cce: 484b ldr r0, [pc, #300] ; (8071dfc ) 8071cd0: f7e2 fc7c bl 80545cc 8071cd4: e004 b.n 8071ce0 else DrawImage(&bmVIB_PLAY_ENG, 8, 211); 8071cd6: 22d3 movs r2, #211 ; 0xd3 8071cd8: 2108 movs r1, #8 8071cda: 4849 ldr r0, [pc, #292] ; (8071e00 ) 8071cdc: f7e2 fc76 bl 80545cc } DrawImage(&bmVIB_SAVE, 248, 211); 8071ce0: 22d3 movs r2, #211 ; 0xd3 8071ce2: 21f8 movs r1, #248 ; 0xf8 8071ce4: 4842 ldr r0, [pc, #264] ; (8071df0 ) 8071ce6: f7e2 fc71 bl 80545cc break; 8071cea: e03f b.n 8071d6c case MyMeasure: if(pardata.LANG == RUS) 8071cec: 4b35 ldr r3, [pc, #212] ; (8071dc4 ) 8071cee: 7b1b ldrb r3, [r3, #12] 8071cf0: b2db uxtb r3, r3 8071cf2: 2b00 cmp r3, #0 8071cf4: d11a bne.n 8071d2c { DrawImage(&bmVIB_POINT, 88, 211); 8071cf6: 22d3 movs r2, #211 ; 0xd3 8071cf8: 2158 movs r1, #88 ; 0x58 8071cfa: 4833 ldr r0, [pc, #204] ; (8071dc8 ) 8071cfc: f7e2 fc66 bl 80545cc DrawImage(&bmVIB_MEAS_LIGHT, 168, 211); 8071d00: 22d3 movs r2, #211 ; 0xd3 8071d02: 21a8 movs r1, #168 ; 0xa8 8071d04: 4842 ldr r0, [pc, #264] ; (8071e10 ) 8071d06: f7e2 fc61 bl 80545cc if(measuring) 8071d0a: 4b33 ldr r3, [pc, #204] ; (8071dd8 ) 8071d0c: 781b ldrb r3, [r3, #0] 8071d0e: b2db uxtb r3, r3 8071d10: 2b00 cmp r3, #0 8071d12: d005 beq.n 8071d20 DrawImage(&bmVIB_STOP, 8, 211); 8071d14: 22d3 movs r2, #211 ; 0xd3 8071d16: 2108 movs r1, #8 8071d18: 4836 ldr r0, [pc, #216] ; (8071df4 ) 8071d1a: f7e2 fc57 bl 80545cc 8071d1e: e01f b.n 8071d60 else DrawImage(&bmVIB_PLAY, 8, 211); 8071d20: 22d3 movs r2, #211 ; 0xd3 8071d22: 2108 movs r1, #8 8071d24: 4834 ldr r0, [pc, #208] ; (8071df8 ) 8071d26: f7e2 fc51 bl 80545cc 8071d2a: e019 b.n 8071d60 } else { DrawImage(&bmVIB_POINT_ENG, 88, 211); 8071d2c: 22d3 movs r2, #211 ; 0xd3 8071d2e: 2158 movs r1, #88 ; 0x58 8071d30: 482b ldr r0, [pc, #172] ; (8071de0 ) 8071d32: f7e2 fc4b bl 80545cc DrawImage(&bmVIB_MEAS_LIGHT_ENG, 168, 211); 8071d36: 22d3 movs r2, #211 ; 0xd3 8071d38: 21a8 movs r1, #168 ; 0xa8 8071d3a: 4836 ldr r0, [pc, #216] ; (8071e14 ) 8071d3c: f7e2 fc46 bl 80545cc if(measuring) 8071d40: 4b25 ldr r3, [pc, #148] ; (8071dd8 ) 8071d42: 781b ldrb r3, [r3, #0] 8071d44: b2db uxtb r3, r3 8071d46: 2b00 cmp r3, #0 8071d48: d005 beq.n 8071d56 DrawImage(&bmVIB_STOP_ENG, 8, 211); 8071d4a: 22d3 movs r2, #211 ; 0xd3 8071d4c: 2108 movs r1, #8 8071d4e: 482b ldr r0, [pc, #172] ; (8071dfc ) 8071d50: f7e2 fc3c bl 80545cc 8071d54: e004 b.n 8071d60 else DrawImage(&bmVIB_PLAY_ENG, 8, 211); 8071d56: 22d3 movs r2, #211 ; 0xd3 8071d58: 2108 movs r1, #8 8071d5a: 4829 ldr r0, [pc, #164] ; (8071e00 ) 8071d5c: f7e2 fc36 bl 80545cc } DrawImage(&bmVIB_SAVE, 248, 211); 8071d60: 22d3 movs r2, #211 ; 0xd3 8071d62: 21f8 movs r1, #248 ; 0xf8 8071d64: 4822 ldr r0, [pc, #136] ; (8071df0 ) 8071d66: f7e2 fc31 bl 80545cc break; 8071d6a: bf00 nop } BSP_LCD_SetFont(&Font15); 8071d6c: 482a ldr r0, [pc, #168] ; (8071e18 ) 8071d6e: f7e1 fd75 bl 805385c if(strcmp(DiagFileName, "") != 0) 8071d72: 4b2a ldr r3, [pc, #168] ; (8071e1c ) 8071d74: 781b ldrb r3, [r3, #0] 8071d76: 2b00 cmp r3, #0 8071d78: f000 8185 beq.w 8072086 { BSP_LCD_SetFont(&Font12); 8071d7c: 4828 ldr r0, [pc, #160] ; (8071e20 ) 8071d7e: f7e1 fd6d bl 805385c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8071d82: 4928 ldr r1, [pc, #160] ; (8071e24 ) 8071d84: 4828 ldr r0, [pc, #160] ; (8071e28 ) 8071d86: f7e1 fd2d bl 80537e4 if(pardata.LANG == RUS) 8071d8a: 4b0e ldr r3, [pc, #56] ; (8071dc4 ) 8071d8c: 7b1b ldrb r3, [r3, #12] 8071d8e: b2db uxtb r3, r3 8071d90: 2b00 cmp r3, #0 8071d92: d153 bne.n 8071e3c { BSP_LCD_DisplayStringAt(4, 35, "ÔÀÉË:", LEFT_MODE); 8071d94: 2303 movs r3, #3 8071d96: 4a25 ldr r2, [pc, #148] ; (8071e2c ) 8071d98: 2123 movs r1, #35 ; 0x23 8071d9a: 2004 movs r0, #4 8071d9c: f7e1 fde8 bl 8053970 if((NEWFILE) && (strlen(Comment))) 8071da0: 4b23 ldr r3, [pc, #140] ; (8071e30 ) 8071da2: 781b ldrb r3, [r3, #0] 8071da4: b2db uxtb r3, r3 8071da6: 2b00 cmp r3, #0 8071da8: d05d beq.n 8071e66 8071daa: 4b22 ldr r3, [pc, #136] ; (8071e34 ) 8071dac: 781b ldrb r3, [r3, #0] 8071dae: 2b00 cmp r3, #0 8071db0: d059 beq.n 8071e66 BSP_LCD_DisplayStringAt(4, 49, "ÒÎ×ÊÀ:", LEFT_MODE); 8071db2: 2303 movs r3, #3 8071db4: 4a20 ldr r2, [pc, #128] ; (8071e38 ) 8071db6: 2131 movs r1, #49 ; 0x31 8071db8: 2004 movs r0, #4 8071dba: f7e1 fdd9 bl 8053970 8071dbe: e052 b.n 8071e66 8071dc0: 20020070 .word 0x20020070 8071dc4: 20023e60 .word 0x20023e60 8071dc8: 081553e4 .word 0x081553e4 8071dcc: 0814e784 .word 0x0814e784 8071dd0: 20020f7e .word 0x20020f7e 8071dd4: 081538cc .word 0x081538cc 8071dd8: 20020daf .word 0x20020daf 8071ddc: 0815c044 .word 0x0815c044 8071de0: 08156170 .word 0x08156170 8071de4: 0814f510 .word 0x0814f510 8071de8: 08154658 .word 0x08154658 8071dec: 0815cdd0 .word 0x0815cdd0 8071df0: 08158a14 .word 0x08158a14 8071df4: 0815a52c .word 0x0815a52c 8071df8: 08151db4 .word 0x08151db4 8071dfc: 0815b2b8 .word 0x0815b2b8 8071e00: 08152b40 .word 0x08152b40 8071e04: 081597a0 .word 0x081597a0 8071e08: 08156efc .word 0x08156efc 8071e0c: 08157c88 .word 0x08157c88 8071e10: 0815029c .word 0x0815029c 8071e14: 08151028 .word 0x08151028 8071e18: 20020040 .word 0x20020040 8071e1c: 20020e7c .word 0x20020e7c 8071e20: 20020038 .word 0x20020038 8071e24: ff0a0f1f .word 0xff0a0f1f 8071e28: ff808080 .word 0xff808080 8071e2c: 080cfaf8 .word 0x080cfaf8 8071e30: 20020e14 .word 0x20020e14 8071e34: 20022650 .word 0x20022650 8071e38: 080cfb00 .word 0x080cfb00 } else { BSP_LCD_DisplayStringAt(4, 35, "FILE:", LEFT_MODE); 8071e3c: 2303 movs r3, #3 8071e3e: 4ac9 ldr r2, [pc, #804] ; (8072164 ) 8071e40: 2123 movs r1, #35 ; 0x23 8071e42: 2004 movs r0, #4 8071e44: f7e1 fd94 bl 8053970 if((NEWFILE) && (strlen(Comment))) 8071e48: 4bc7 ldr r3, [pc, #796] ; (8072168 ) 8071e4a: 781b ldrb r3, [r3, #0] 8071e4c: b2db uxtb r3, r3 8071e4e: 2b00 cmp r3, #0 8071e50: d009 beq.n 8071e66 8071e52: 4bc6 ldr r3, [pc, #792] ; (807216c ) 8071e54: 781b ldrb r3, [r3, #0] 8071e56: 2b00 cmp r3, #0 8071e58: d005 beq.n 8071e66 BSP_LCD_DisplayStringAt(4, 49, "POINT:", LEFT_MODE); 8071e5a: 2303 movs r3, #3 8071e5c: 4ac4 ldr r2, [pc, #784] ; (8072170 ) 8071e5e: 2131 movs r1, #49 ; 0x31 8071e60: 2004 movs r0, #4 8071e62: f7e1 fd85 bl 8053970 } memset(str, 0, sizeof(str)); 8071e66: f507 733b add.w r3, r7, #748 ; 0x2ec 8071e6a: 223c movs r2, #60 ; 0x3c 8071e6c: 2100 movs r1, #0 8071e6e: 4618 mov r0, r3 8071e70: f05b f906 bl 80cd080 strcpy(str, DiagFileName); 8071e74: f507 733b add.w r3, r7, #748 ; 0x2ec 8071e78: 49be ldr r1, [pc, #760] ; (8072174 ) 8071e7a: 4618 mov r0, r3 8071e7c: f05b fa1d bl 80cd2ba l = strlen(str); 8071e80: f507 733b add.w r3, r7, #748 ; 0x2ec 8071e84: 4618 mov r0, r3 8071e86: f7ae fa45 bl 8020314 8071e8a: 4603 mov r3, r0 8071e8c: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l - 4] = '\0'; 8071e90: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8071e94: 3b04 subs r3, #4 8071e96: f507 723b add.w r2, r7, #748 ; 0x2ec 8071e9a: 2100 movs r1, #0 8071e9c: 54d1 strb r1, [r2, r3] BSP_LCD_SetFont(&Font12); 8071e9e: 48b6 ldr r0, [pc, #728] ; (8072178 ) 8071ea0: f7e1 fcdc bl 805385c LCD_SetColors(LCD_COLOR_LIGHTGREEN, LCD_COLOR_BLACK); 8071ea4: 49b5 ldr r1, [pc, #724] ; (807217c ) 8071ea6: f06f 107f mvn.w r0, #8323199 ; 0x7f007f 8071eaa: f7e1 fc9b bl 80537e4 BSP_LCD_DisplayStringAt(46, 35, str, LEFT_MODE); 8071eae: f507 723b add.w r2, r7, #748 ; 0x2ec 8071eb2: 2303 movs r3, #3 8071eb4: 2123 movs r1, #35 ; 0x23 8071eb6: 202e movs r0, #46 ; 0x2e 8071eb8: f7e1 fd5a bl 8053970 if((NEWFILE) && (strlen(Comment))) 8071ebc: 4baa ldr r3, [pc, #680] ; (8072168 ) 8071ebe: 781b ldrb r3, [r3, #0] 8071ec0: b2db uxtb r3, r3 8071ec2: 2b00 cmp r3, #0 8071ec4: d02c beq.n 8071f20 8071ec6: 4ba9 ldr r3, [pc, #676] ; (807216c ) 8071ec8: 781b ldrb r3, [r3, #0] 8071eca: 2b00 cmp r3, #0 8071ecc: d028 beq.n 8071f20 { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 8071ece: 49ab ldr r1, [pc, #684] ; (807217c ) 8071ed0: 48ab ldr r0, [pc, #684] ; (8072180 ) 8071ed2: f7e1 fc87 bl 80537e4 BSP_LCD_SetFont(&Font12); 8071ed6: 48a8 ldr r0, [pc, #672] ; (8072178 ) 8071ed8: f7e1 fcc0 bl 805385c memset(str, 0, sizeof(str)); 8071edc: f507 733b add.w r3, r7, #748 ; 0x2ec 8071ee0: 223c movs r2, #60 ; 0x3c 8071ee2: 2100 movs r1, #0 8071ee4: 4618 mov r0, r3 8071ee6: f05b f8cb bl 80cd080 str[0] = '"'; 8071eea: f507 733b add.w r3, r7, #748 ; 0x2ec 8071eee: 2222 movs r2, #34 ; 0x22 8071ef0: 701a strb r2, [r3, #0] strcat(str, Comment); 8071ef2: f507 733b add.w r3, r7, #748 ; 0x2ec 8071ef6: 499d ldr r1, [pc, #628] ; (807216c ) 8071ef8: 4618 mov r0, r3 8071efa: f05b f9c1 bl 80cd280 str[strlen(str)] = '"'; 8071efe: f507 733b add.w r3, r7, #748 ; 0x2ec 8071f02: 4618 mov r0, r3 8071f04: f7ae fa06 bl 8020314 8071f08: 4602 mov r2, r0 8071f0a: f507 733b add.w r3, r7, #748 ; 0x2ec 8071f0e: 2122 movs r1, #34 ; 0x22 8071f10: 5499 strb r1, [r3, r2] BSP_LCD_DisplayStringAt(46, 49, str, LEFT_MODE); 8071f12: f507 723b add.w r2, r7, #748 ; 0x2ec 8071f16: 2303 movs r3, #3 8071f18: 2131 movs r1, #49 ; 0x31 8071f1a: 202e movs r0, #46 ; 0x2e 8071f1c: f7e1 fd28 bl 8053970 } BSP_LCD_SetFont(&Font15); 8071f20: 4898 ldr r0, [pc, #608] ; (8072184 ) 8071f22: f7e1 fc9b bl 805385c memset(str, 0, sizeof(str)); 8071f26: f507 733b add.w r3, r7, #748 ; 0x2ec 8071f2a: 223c movs r2, #60 ; 0x3c 8071f2c: 2100 movs r1, #0 8071f2e: 4618 mov r0, r3 8071f30: f05b f8a6 bl 80cd080 str[0] = ((NextIndexPoint + 1) / 100) + 48; 8071f34: 4b94 ldr r3, [pc, #592] ; (8072188 ) 8071f36: 681b ldr r3, [r3, #0] 8071f38: 3301 adds r3, #1 8071f3a: 4a94 ldr r2, [pc, #592] ; (807218c ) 8071f3c: fba2 2303 umull r2, r3, r2, r3 8071f40: 095b lsrs r3, r3, #5 8071f42: b2db uxtb r3, r3 8071f44: 3330 adds r3, #48 ; 0x30 8071f46: b2da uxtb r2, r3 8071f48: f507 733b add.w r3, r7, #748 ; 0x2ec 8071f4c: 701a strb r2, [r3, #0] str[1] = ((NextIndexPoint + 1) % 100 / 10) + 48; 8071f4e: 4b8e ldr r3, [pc, #568] ; (8072188 ) 8071f50: 681b ldr r3, [r3, #0] 8071f52: 1c5a adds r2, r3, #1 8071f54: 4b8d ldr r3, [pc, #564] ; (807218c ) 8071f56: fba3 1302 umull r1, r3, r3, r2 8071f5a: 095b lsrs r3, r3, #5 8071f5c: 2164 movs r1, #100 ; 0x64 8071f5e: fb01 f303 mul.w r3, r1, r3 8071f62: 1ad3 subs r3, r2, r3 8071f64: 4a8a ldr r2, [pc, #552] ; (8072190 ) 8071f66: fba2 2303 umull r2, r3, r2, r3 8071f6a: 08db lsrs r3, r3, #3 8071f6c: b2db uxtb r3, r3 8071f6e: 3330 adds r3, #48 ; 0x30 8071f70: b2da uxtb r2, r3 8071f72: f507 733b add.w r3, r7, #748 ; 0x2ec 8071f76: 705a strb r2, [r3, #1] str[2] = ((NextIndexPoint + 1) % 100 % 10) + 48; 8071f78: 4b83 ldr r3, [pc, #524] ; (8072188 ) 8071f7a: 681b ldr r3, [r3, #0] 8071f7c: 3301 adds r3, #1 8071f7e: 4a83 ldr r2, [pc, #524] ; (807218c ) 8071f80: fba2 1203 umull r1, r2, r2, r3 8071f84: 0952 lsrs r2, r2, #5 8071f86: 2164 movs r1, #100 ; 0x64 8071f88: fb01 f202 mul.w r2, r1, r2 8071f8c: 1a9a subs r2, r3, r2 8071f8e: 4b80 ldr r3, [pc, #512] ; (8072190 ) 8071f90: fba3 1302 umull r1, r3, r3, r2 8071f94: 08d9 lsrs r1, r3, #3 8071f96: 460b mov r3, r1 8071f98: 009b lsls r3, r3, #2 8071f9a: 440b add r3, r1 8071f9c: 005b lsls r3, r3, #1 8071f9e: 1ad1 subs r1, r2, r3 8071fa0: b2cb uxtb r3, r1 8071fa2: 3330 adds r3, #48 ; 0x30 8071fa4: b2da uxtb r2, r3 8071fa6: f507 733b add.w r3, r7, #748 ; 0x2ec 8071faa: 709a strb r2, [r3, #2] if(menupos == MyPoint) 8071fac: 4b79 ldr r3, [pc, #484] ; (8072194 ) 8071fae: 781b ldrb r3, [r3, #0] 8071fb0: b2db uxtb r3, r3 8071fb2: 2b03 cmp r3, #3 8071fb4: d104 bne.n 8071fc0 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8071fb6: 4971 ldr r1, [pc, #452] ; (807217c ) 8071fb8: 4877 ldr r0, [pc, #476] ; (8072198 ) 8071fba: f7e1 fc13 bl 80537e4 8071fbe: e004 b.n 8071fca else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8071fc0: 496e ldr r1, [pc, #440] ; (807217c ) 8071fc2: f04f 30ff mov.w r0, #4294967295 8071fc6: f7e1 fc0d bl 80537e4 BSP_LCD_DisplayStringAt(168-29, 218, str, RIGHT_MODE); 8071fca: f507 723b add.w r2, r7, #748 ; 0x2ec 8071fce: 2302 movs r3, #2 8071fd0: 21da movs r1, #218 ; 0xda 8071fd2: 208b movs r0, #139 ; 0x8b 8071fd4: f7e1 fccc bl 8053970 memset(str, 0, sizeof(str)); 8071fd8: f507 733b add.w r3, r7, #748 ; 0x2ec 8071fdc: 223c movs r2, #60 ; 0x3c 8071fde: 2100 movs r1, #0 8071fe0: 4618 mov r0, r3 8071fe2: f05b f84d bl 80cd080 str[0] = (NextIndexMeas / 100) + 48; 8071fe6: 4b6d ldr r3, [pc, #436] ; (807219c ) 8071fe8: 681b ldr r3, [r3, #0] 8071fea: 4a68 ldr r2, [pc, #416] ; (807218c ) 8071fec: fba2 2303 umull r2, r3, r2, r3 8071ff0: 095b lsrs r3, r3, #5 8071ff2: b2db uxtb r3, r3 8071ff4: 3330 adds r3, #48 ; 0x30 8071ff6: b2da uxtb r2, r3 8071ff8: f507 733b add.w r3, r7, #748 ; 0x2ec 8071ffc: 701a strb r2, [r3, #0] str[1] = (NextIndexMeas % 100 / 10) + 48; 8071ffe: 4b67 ldr r3, [pc, #412] ; (807219c ) 8072000: 681a ldr r2, [r3, #0] 8072002: 4b62 ldr r3, [pc, #392] ; (807218c ) 8072004: fba3 1302 umull r1, r3, r3, r2 8072008: 095b lsrs r3, r3, #5 807200a: 2164 movs r1, #100 ; 0x64 807200c: fb01 f303 mul.w r3, r1, r3 8072010: 1ad3 subs r3, r2, r3 8072012: 4a5f ldr r2, [pc, #380] ; (8072190 ) 8072014: fba2 2303 umull r2, r3, r2, r3 8072018: 08db lsrs r3, r3, #3 807201a: b2db uxtb r3, r3 807201c: 3330 adds r3, #48 ; 0x30 807201e: b2da uxtb r2, r3 8072020: f507 733b add.w r3, r7, #748 ; 0x2ec 8072024: 705a strb r2, [r3, #1] str[2] = (NextIndexMeas % 100 % 10) + 48; 8072026: 4b5d ldr r3, [pc, #372] ; (807219c ) 8072028: 681b ldr r3, [r3, #0] 807202a: 4a58 ldr r2, [pc, #352] ; (807218c ) 807202c: fba2 1203 umull r1, r2, r2, r3 8072030: 0952 lsrs r2, r2, #5 8072032: 2164 movs r1, #100 ; 0x64 8072034: fb01 f202 mul.w r2, r1, r2 8072038: 1a9a subs r2, r3, r2 807203a: 4b55 ldr r3, [pc, #340] ; (8072190 ) 807203c: fba3 1302 umull r1, r3, r3, r2 8072040: 08d9 lsrs r1, r3, #3 8072042: 460b mov r3, r1 8072044: 009b lsls r3, r3, #2 8072046: 440b add r3, r1 8072048: 005b lsls r3, r3, #1 807204a: 1ad1 subs r1, r2, r3 807204c: b2cb uxtb r3, r1 807204e: 3330 adds r3, #48 ; 0x30 8072050: b2da uxtb r2, r3 8072052: f507 733b add.w r3, r7, #748 ; 0x2ec 8072056: 709a strb r2, [r3, #2] if(menupos == MyMeasure) 8072058: 4b4e ldr r3, [pc, #312] ; (8072194 ) 807205a: 781b ldrb r3, [r3, #0] 807205c: b2db uxtb r3, r3 807205e: 2b04 cmp r3, #4 8072060: d104 bne.n 807206c LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8072062: 4946 ldr r1, [pc, #280] ; (807217c ) 8072064: 484c ldr r0, [pc, #304] ; (8072198 ) 8072066: f7e1 fbbd bl 80537e4 807206a: e004 b.n 8072076 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807206c: 4943 ldr r1, [pc, #268] ; (807217c ) 807206e: f04f 30ff mov.w r0, #4294967295 8072072: f7e1 fbb7 bl 80537e4 BSP_LCD_DisplayStringAt(248-29, 218, str, RIGHT_MODE); 8072076: f507 723b add.w r2, r7, #748 ; 0x2ec 807207a: 2302 movs r3, #2 807207c: 21da movs r1, #218 ; 0xda 807207e: 20db movs r0, #219 ; 0xdb 8072080: f7e1 fc76 bl 8053970 8072084: e029 b.n 80720da } else { if(menupos == MyPoint) 8072086: 4b43 ldr r3, [pc, #268] ; (8072194 ) 8072088: 781b ldrb r3, [r3, #0] 807208a: b2db uxtb r3, r3 807208c: 2b03 cmp r3, #3 807208e: d104 bne.n 807209a LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8072090: 493a ldr r1, [pc, #232] ; (807217c ) 8072092: 4841 ldr r0, [pc, #260] ; (8072198 ) 8072094: f7e1 fba6 bl 80537e4 8072098: e004 b.n 80720a4 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807209a: 4938 ldr r1, [pc, #224] ; (807217c ) 807209c: f04f 30ff mov.w r0, #4294967295 80720a0: f7e1 fba0 bl 80537e4 BSP_LCD_DisplayStringAt(168-29, 218, "---", RIGHT_MODE); 80720a4: 2302 movs r3, #2 80720a6: 4a3e ldr r2, [pc, #248] ; (80721a0 ) 80720a8: 21da movs r1, #218 ; 0xda 80720aa: 208b movs r0, #139 ; 0x8b 80720ac: f7e1 fc60 bl 8053970 if(menupos == MyMeasure) 80720b0: 4b38 ldr r3, [pc, #224] ; (8072194 ) 80720b2: 781b ldrb r3, [r3, #0] 80720b4: b2db uxtb r3, r3 80720b6: 2b04 cmp r3, #4 80720b8: d104 bne.n 80720c4 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80720ba: 4930 ldr r1, [pc, #192] ; (807217c ) 80720bc: 4836 ldr r0, [pc, #216] ; (8072198 ) 80720be: f7e1 fb91 bl 80537e4 80720c2: e004 b.n 80720ce else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80720c4: 492d ldr r1, [pc, #180] ; (807217c ) 80720c6: f04f 30ff mov.w r0, #4294967295 80720ca: f7e1 fb8b bl 80537e4 BSP_LCD_DisplayStringAt(248-29, 218, "---", RIGHT_MODE); 80720ce: 2302 movs r3, #2 80720d0: 4a33 ldr r2, [pc, #204] ; (80721a0 ) 80720d2: 21da movs r1, #218 ; 0xda 80720d4: 20db movs r0, #219 ; 0xdb 80720d6: f7e1 fc4b bl 8053970 //****************************************************** BSP_LCD_SetFont(&Font12); 80720da: 4827 ldr r0, [pc, #156] ; (8072178 ) 80720dc: f7e1 fbbe bl 805385c //LEGEND LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80720e0: 4926 ldr r1, [pc, #152] ; (807217c ) 80720e2: 4830 ldr r0, [pc, #192] ; (80721a4 ) 80720e4: f7e1 fb7e bl 80537e4 BSP_LCD_DrawLine(9, 124, 9 + 229, 124); 80720e8: 237c movs r3, #124 ; 0x7c 80720ea: 22ee movs r2, #238 ; 0xee 80720ec: 217c movs r1, #124 ; 0x7c 80720ee: 2009 movs r0, #9 80720f0: f7e1 fdb2 bl 8053c58 BSP_LCD_DrawLine(9, 160, 9 + 229, 160); 80720f4: 23a0 movs r3, #160 ; 0xa0 80720f6: 22ee movs r2, #238 ; 0xee 80720f8: 21a0 movs r1, #160 ; 0xa0 80720fa: 2009 movs r0, #9 80720fc: f7e1 fdac bl 8053c58 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8072100: 491e ldr r1, [pc, #120] ; (807217c ) 8072102: 4829 ldr r0, [pc, #164] ; (80721a8 ) 8072104: f7e1 fb6e bl 80537e4 BSP_LCD_DisplayStringAt(12, 101, "1", LEFT_MODE); 8072108: 2303 movs r3, #3 807210a: 4a28 ldr r2, [pc, #160] ; (80721ac ) 807210c: 2165 movs r1, #101 ; 0x65 807210e: 200c movs r0, #12 8072110: f7e1 fc2e bl 8053970 BSP_LCD_DisplayStringAt(12, 137, "2", LEFT_MODE); 8072114: 2303 movs r3, #3 8072116: 4a26 ldr r2, [pc, #152] ; (80721b0 ) 8072118: 2189 movs r1, #137 ; 0x89 807211a: 200c movs r0, #12 807211c: f7e1 fc28 bl 8053970 BSP_LCD_DisplayStringAt(12, 173, "3", LEFT_MODE); 8072120: 2303 movs r3, #3 8072122: 4a24 ldr r2, [pc, #144] ; (80721b4 ) 8072124: 21ad movs r1, #173 ; 0xad 8072126: 200c movs r0, #12 8072128: f7e1 fc22 bl 8053970 RedrawNums(); 807212c: f026 fb76 bl 809881c break; 8072130: f025 ba7c b.w 809762c case MAIN: case MAIN_FRAN: switch(menupos) 8072134: 4b17 ldr r3, [pc, #92] ; (8072194 ) 8072136: 781b ldrb r3, [r3, #0] 8072138: b2db uxtb r3, r3 807213a: 2b06 cmp r3, #6 807213c: f200 81fa bhi.w 8072534 8072140: a201 add r2, pc, #4 ; (adr r2, 8072148 ) 8072142: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8072146: bf00 nop 8072148: 080721b9 .word 0x080721b9 807214c: 08072535 .word 0x08072535 8072150: 0807227b .word 0x0807227b 8072154: 08072311 .word 0x08072311 8072158: 080723a7 .word 0x080723a7 807215c: 08072535 .word 0x08072535 8072160: 0807243d .word 0x0807243d 8072164: 080cfb08 .word 0x080cfb08 8072168: 20020e14 .word 0x20020e14 807216c: 20022650 .word 0x20022650 8072170: 080cfb10 .word 0x080cfb10 8072174: 20020e7c .word 0x20020e7c 8072178: 20020038 .word 0x20020038 807217c: ff0a0f1f .word 0xff0a0f1f 8072180: ffefcc95 .word 0xffefcc95 8072184: 20020040 .word 0x20020040 8072188: 20021f9c .word 0x20021f9c 807218c: 51eb851f .word 0x51eb851f 8072190: cccccccd .word 0xcccccccd 8072194: 20020070 .word 0x20020070 8072198: ff29eb19 .word 0xff29eb19 807219c: 20022310 .word 0x20022310 80721a0: 080cfb18 .word 0x080cfb18 80721a4: ff404040 .word 0xff404040 80721a8: ffd3d3d3 .word 0xffd3d3d3 80721ac: 080ce88c .word 0x080ce88c 80721b0: 080ce890 .word 0x080ce890 80721b4: 080cf7ec .word 0x080cf7ec { case StartStop: if(pardata.LANG == RUS) 80721b8: 4bb3 ldr r3, [pc, #716] ; (8072488 ) 80721ba: 7b1b ldrb r3, [r3, #12] 80721bc: b2db uxtb r3, r3 80721be: 2b00 cmp r3, #0 80721c0: d12a bne.n 8072218 { DrawImage(&bmVIB_LOG, 64, 211); 80721c2: 22d3 movs r2, #211 ; 0xd3 80721c4: 2140 movs r1, #64 ; 0x40 80721c6: 48b1 ldr r0, [pc, #708] ; (807248c ) 80721c8: f7e2 fa00 bl 80545cc DrawImage(&bmVIB_POINT, 128, 211); 80721cc: 22d3 movs r2, #211 ; 0xd3 80721ce: 2180 movs r1, #128 ; 0x80 80721d0: 48af ldr r0, [pc, #700] ; (8072490 ) 80721d2: f7e2 f9fb bl 80545cc DrawImage(&bmVIB_MEAS, 192, 211); 80721d6: 22d3 movs r2, #211 ; 0xd3 80721d8: 21c0 movs r1, #192 ; 0xc0 80721da: 48ae ldr r0, [pc, #696] ; (8072494 ) 80721dc: f7e2 f9f6 bl 80545cc if(NeedSTOP) 80721e0: 4bad ldr r3, [pc, #692] ; (8072498 ) 80721e2: 781b ldrb r3, [r3, #0] 80721e4: b2db uxtb r3, r3 80721e6: 2b00 cmp r3, #0 80721e8: d005 beq.n 80721f6 DrawImage(&bmVIB_PLAY_LIGHT, 0, 211); 80721ea: 22d3 movs r2, #211 ; 0xd3 80721ec: 2100 movs r1, #0 80721ee: 48ab ldr r0, [pc, #684] ; (807249c ) 80721f0: f7e2 f9ec bl 80545cc 80721f4: e03a b.n 807226c else { if(measuring) 80721f6: 4baa ldr r3, [pc, #680] ; (80724a0 ) 80721f8: 781b ldrb r3, [r3, #0] 80721fa: b2db uxtb r3, r3 80721fc: 2b00 cmp r3, #0 80721fe: d005 beq.n 807220c DrawImage(&bmVIB_STOP_LIGHT, 0, 211); 8072200: 22d3 movs r2, #211 ; 0xd3 8072202: 2100 movs r1, #0 8072204: 48a7 ldr r0, [pc, #668] ; (80724a4 ) 8072206: f7e2 f9e1 bl 80545cc 807220a: e02f b.n 807226c else DrawImage(&bmVIB_PLAY_LIGHT, 0, 211); 807220c: 22d3 movs r2, #211 ; 0xd3 807220e: 2100 movs r1, #0 8072210: 48a2 ldr r0, [pc, #648] ; (807249c ) 8072212: f7e2 f9db bl 80545cc 8072216: e029 b.n 807226c } } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 8072218: 22d3 movs r2, #211 ; 0xd3 807221a: 2140 movs r1, #64 ; 0x40 807221c: 48a2 ldr r0, [pc, #648] ; (80724a8 ) 807221e: f7e2 f9d5 bl 80545cc DrawImage(&bmVIB_POINT_ENG, 128, 211); 8072222: 22d3 movs r2, #211 ; 0xd3 8072224: 2180 movs r1, #128 ; 0x80 8072226: 48a1 ldr r0, [pc, #644] ; (80724ac ) 8072228: f7e2 f9d0 bl 80545cc DrawImage(&bmVIB_MEAS_ENG, 192, 211); 807222c: 22d3 movs r2, #211 ; 0xd3 807222e: 21c0 movs r1, #192 ; 0xc0 8072230: 489f ldr r0, [pc, #636] ; (80724b0 ) 8072232: f7e2 f9cb bl 80545cc if(NeedSTOP) 8072236: 4b98 ldr r3, [pc, #608] ; (8072498 ) 8072238: 781b ldrb r3, [r3, #0] 807223a: b2db uxtb r3, r3 807223c: 2b00 cmp r3, #0 807223e: d005 beq.n 807224c DrawImage(&bmVIB_PLAY_LIGHT_ENG, 0, 211); 8072240: 22d3 movs r2, #211 ; 0xd3 8072242: 2100 movs r1, #0 8072244: 489b ldr r0, [pc, #620] ; (80724b4 ) 8072246: f7e2 f9c1 bl 80545cc 807224a: e00f b.n 807226c else { if(measuring) 807224c: 4b94 ldr r3, [pc, #592] ; (80724a0 ) 807224e: 781b ldrb r3, [r3, #0] 8072250: b2db uxtb r3, r3 8072252: 2b00 cmp r3, #0 8072254: d005 beq.n 8072262 DrawImage(&bmVIB_STOP_LIGHT_ENG, 0, 211); 8072256: 22d3 movs r2, #211 ; 0xd3 8072258: 2100 movs r1, #0 807225a: 4897 ldr r0, [pc, #604] ; (80724b8 ) 807225c: f7e2 f9b6 bl 80545cc 8072260: e004 b.n 807226c else DrawImage(&bmVIB_PLAY_LIGHT_ENG, 0, 211); 8072262: 22d3 movs r2, #211 ; 0xd3 8072264: 2100 movs r1, #0 8072266: 4893 ldr r0, [pc, #588] ; (80724b4 ) 8072268: f7e2 f9b0 bl 80545cc } } DrawImage(&bmVIB_SAVE, 256, 211); 807226c: 22d3 movs r2, #211 ; 0xd3 807226e: f44f 7180 mov.w r1, #256 ; 0x100 8072272: 4892 ldr r0, [pc, #584] ; (80724bc ) 8072274: f7e2 f9aa bl 80545cc break; 8072278: e15c b.n 8072534 case Record: if(pardata.LANG == RUS) 807227a: 4b83 ldr r3, [pc, #524] ; (8072488 ) 807227c: 7b1b ldrb r3, [r3, #12] 807227e: b2db uxtb r3, r3 8072280: 2b00 cmp r3, #0 8072282: d11f bne.n 80722c4 { DrawImage(&bmVIB_LOG, 64, 211); 8072284: 22d3 movs r2, #211 ; 0xd3 8072286: 2140 movs r1, #64 ; 0x40 8072288: 4880 ldr r0, [pc, #512] ; (807248c ) 807228a: f7e2 f99f bl 80545cc DrawImage(&bmVIB_POINT, 128, 211); 807228e: 22d3 movs r2, #211 ; 0xd3 8072290: 2180 movs r1, #128 ; 0x80 8072292: 487f ldr r0, [pc, #508] ; (8072490 ) 8072294: f7e2 f99a bl 80545cc DrawImage(&bmVIB_MEAS, 192, 211); 8072298: 22d3 movs r2, #211 ; 0xd3 807229a: 21c0 movs r1, #192 ; 0xc0 807229c: 487d ldr r0, [pc, #500] ; (8072494 ) 807229e: f7e2 f995 bl 80545cc if(measuring) 80722a2: 4b7f ldr r3, [pc, #508] ; (80724a0 ) 80722a4: 781b ldrb r3, [r3, #0] 80722a6: b2db uxtb r3, r3 80722a8: 2b00 cmp r3, #0 80722aa: d005 beq.n 80722b8 DrawImage(&bmVIB_STOP, 0, 211); 80722ac: 22d3 movs r2, #211 ; 0xd3 80722ae: 2100 movs r1, #0 80722b0: 4883 ldr r0, [pc, #524] ; (80724c0 ) 80722b2: f7e2 f98b bl 80545cc 80722b6: e024 b.n 8072302 else DrawImage(&bmVIB_PLAY, 0, 211); 80722b8: 22d3 movs r2, #211 ; 0xd3 80722ba: 2100 movs r1, #0 80722bc: 4881 ldr r0, [pc, #516] ; (80724c4 ) 80722be: f7e2 f985 bl 80545cc 80722c2: e01e b.n 8072302 } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 80722c4: 22d3 movs r2, #211 ; 0xd3 80722c6: 2140 movs r1, #64 ; 0x40 80722c8: 4877 ldr r0, [pc, #476] ; (80724a8 ) 80722ca: f7e2 f97f bl 80545cc DrawImage(&bmVIB_POINT_ENG, 128, 211); 80722ce: 22d3 movs r2, #211 ; 0xd3 80722d0: 2180 movs r1, #128 ; 0x80 80722d2: 4876 ldr r0, [pc, #472] ; (80724ac ) 80722d4: f7e2 f97a bl 80545cc DrawImage(&bmVIB_MEAS_ENG, 192, 211); 80722d8: 22d3 movs r2, #211 ; 0xd3 80722da: 21c0 movs r1, #192 ; 0xc0 80722dc: 4874 ldr r0, [pc, #464] ; (80724b0 ) 80722de: f7e2 f975 bl 80545cc if(measuring) 80722e2: 4b6f ldr r3, [pc, #444] ; (80724a0 ) 80722e4: 781b ldrb r3, [r3, #0] 80722e6: b2db uxtb r3, r3 80722e8: 2b00 cmp r3, #0 80722ea: d005 beq.n 80722f8 DrawImage(&bmVIB_STOP_ENG, 0, 211); 80722ec: 22d3 movs r2, #211 ; 0xd3 80722ee: 2100 movs r1, #0 80722f0: 4875 ldr r0, [pc, #468] ; (80724c8 ) 80722f2: f7e2 f96b bl 80545cc 80722f6: e004 b.n 8072302 else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 80722f8: 22d3 movs r2, #211 ; 0xd3 80722fa: 2100 movs r1, #0 80722fc: 4873 ldr r0, [pc, #460] ; (80724cc ) 80722fe: f7e2 f965 bl 80545cc } DrawImage(&bmVIB_SAVE_LIGHT, 256, 211); 8072302: 22d3 movs r2, #211 ; 0xd3 8072304: f44f 7180 mov.w r1, #256 ; 0x100 8072308: 4871 ldr r0, [pc, #452] ; (80724d0 ) 807230a: f7e2 f95f bl 80545cc break; 807230e: e111 b.n 8072534 case MyPoint: if(pardata.LANG == RUS) 8072310: 4b5d ldr r3, [pc, #372] ; (8072488 ) 8072312: 7b1b ldrb r3, [r3, #12] 8072314: b2db uxtb r3, r3 8072316: 2b00 cmp r3, #0 8072318: d11f bne.n 807235a { DrawImage(&bmVIB_LOG, 64, 211); 807231a: 22d3 movs r2, #211 ; 0xd3 807231c: 2140 movs r1, #64 ; 0x40 807231e: 485b ldr r0, [pc, #364] ; (807248c ) 8072320: f7e2 f954 bl 80545cc DrawImage(&bmVIB_POINT_LIGHT, 128, 211); 8072324: 22d3 movs r2, #211 ; 0xd3 8072326: 2180 movs r1, #128 ; 0x80 8072328: 486a ldr r0, [pc, #424] ; (80724d4 ) 807232a: f7e2 f94f bl 80545cc DrawImage(&bmVIB_MEAS, 192, 211); 807232e: 22d3 movs r2, #211 ; 0xd3 8072330: 21c0 movs r1, #192 ; 0xc0 8072332: 4858 ldr r0, [pc, #352] ; (8072494 ) 8072334: f7e2 f94a bl 80545cc if(measuring) 8072338: 4b59 ldr r3, [pc, #356] ; (80724a0 ) 807233a: 781b ldrb r3, [r3, #0] 807233c: b2db uxtb r3, r3 807233e: 2b00 cmp r3, #0 8072340: d005 beq.n 807234e DrawImage(&bmVIB_STOP, 0, 211); 8072342: 22d3 movs r2, #211 ; 0xd3 8072344: 2100 movs r1, #0 8072346: 485e ldr r0, [pc, #376] ; (80724c0 ) 8072348: f7e2 f940 bl 80545cc 807234c: e024 b.n 8072398 else DrawImage(&bmVIB_PLAY, 0, 211); 807234e: 22d3 movs r2, #211 ; 0xd3 8072350: 2100 movs r1, #0 8072352: 485c ldr r0, [pc, #368] ; (80724c4 ) 8072354: f7e2 f93a bl 80545cc 8072358: e01e b.n 8072398 } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 807235a: 22d3 movs r2, #211 ; 0xd3 807235c: 2140 movs r1, #64 ; 0x40 807235e: 4852 ldr r0, [pc, #328] ; (80724a8 ) 8072360: f7e2 f934 bl 80545cc DrawImage(&bmVIB_POINT_LIGHT_ENG, 128, 211); 8072364: 22d3 movs r2, #211 ; 0xd3 8072366: 2180 movs r1, #128 ; 0x80 8072368: 485b ldr r0, [pc, #364] ; (80724d8 ) 807236a: f7e2 f92f bl 80545cc DrawImage(&bmVIB_MEAS_ENG, 192, 211); 807236e: 22d3 movs r2, #211 ; 0xd3 8072370: 21c0 movs r1, #192 ; 0xc0 8072372: 484f ldr r0, [pc, #316] ; (80724b0 ) 8072374: f7e2 f92a bl 80545cc if(measuring) 8072378: 4b49 ldr r3, [pc, #292] ; (80724a0 ) 807237a: 781b ldrb r3, [r3, #0] 807237c: b2db uxtb r3, r3 807237e: 2b00 cmp r3, #0 8072380: d005 beq.n 807238e DrawImage(&bmVIB_STOP_ENG, 0, 211); 8072382: 22d3 movs r2, #211 ; 0xd3 8072384: 2100 movs r1, #0 8072386: 4850 ldr r0, [pc, #320] ; (80724c8 ) 8072388: f7e2 f920 bl 80545cc 807238c: e004 b.n 8072398 else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 807238e: 22d3 movs r2, #211 ; 0xd3 8072390: 2100 movs r1, #0 8072392: 484e ldr r0, [pc, #312] ; (80724cc ) 8072394: f7e2 f91a bl 80545cc } DrawImage(&bmVIB_SAVE, 256, 211); 8072398: 22d3 movs r2, #211 ; 0xd3 807239a: f44f 7180 mov.w r1, #256 ; 0x100 807239e: 4847 ldr r0, [pc, #284] ; (80724bc ) 80723a0: f7e2 f914 bl 80545cc break; 80723a4: e0c6 b.n 8072534 case MyMeasure: if(pardata.LANG == RUS) 80723a6: 4b38 ldr r3, [pc, #224] ; (8072488 ) 80723a8: 7b1b ldrb r3, [r3, #12] 80723aa: b2db uxtb r3, r3 80723ac: 2b00 cmp r3, #0 80723ae: d11f bne.n 80723f0 { DrawImage(&bmVIB_LOG, 64, 211); 80723b0: 22d3 movs r2, #211 ; 0xd3 80723b2: 2140 movs r1, #64 ; 0x40 80723b4: 4835 ldr r0, [pc, #212] ; (807248c ) 80723b6: f7e2 f909 bl 80545cc DrawImage(&bmVIB_POINT, 128, 211); 80723ba: 22d3 movs r2, #211 ; 0xd3 80723bc: 2180 movs r1, #128 ; 0x80 80723be: 4834 ldr r0, [pc, #208] ; (8072490 ) 80723c0: f7e2 f904 bl 80545cc DrawImage(&bmVIB_MEAS_LIGHT, 192, 211); 80723c4: 22d3 movs r2, #211 ; 0xd3 80723c6: 21c0 movs r1, #192 ; 0xc0 80723c8: 4844 ldr r0, [pc, #272] ; (80724dc ) 80723ca: f7e2 f8ff bl 80545cc if(measuring) 80723ce: 4b34 ldr r3, [pc, #208] ; (80724a0 ) 80723d0: 781b ldrb r3, [r3, #0] 80723d2: b2db uxtb r3, r3 80723d4: 2b00 cmp r3, #0 80723d6: d005 beq.n 80723e4 DrawImage(&bmVIB_STOP, 0, 211); 80723d8: 22d3 movs r2, #211 ; 0xd3 80723da: 2100 movs r1, #0 80723dc: 4838 ldr r0, [pc, #224] ; (80724c0 ) 80723de: f7e2 f8f5 bl 80545cc 80723e2: e024 b.n 807242e else DrawImage(&bmVIB_PLAY, 0, 211); 80723e4: 22d3 movs r2, #211 ; 0xd3 80723e6: 2100 movs r1, #0 80723e8: 4836 ldr r0, [pc, #216] ; (80724c4 ) 80723ea: f7e2 f8ef bl 80545cc 80723ee: e01e b.n 807242e } else { DrawImage(&bmVIB_LOG_ENG, 64, 211); 80723f0: 22d3 movs r2, #211 ; 0xd3 80723f2: 2140 movs r1, #64 ; 0x40 80723f4: 482c ldr r0, [pc, #176] ; (80724a8 ) 80723f6: f7e2 f8e9 bl 80545cc DrawImage(&bmVIB_POINT_ENG, 128, 211); 80723fa: 22d3 movs r2, #211 ; 0xd3 80723fc: 2180 movs r1, #128 ; 0x80 80723fe: 482b ldr r0, [pc, #172] ; (80724ac ) 8072400: f7e2 f8e4 bl 80545cc DrawImage(&bmVIB_MEAS_LIGHT_ENG, 192, 211); 8072404: 22d3 movs r2, #211 ; 0xd3 8072406: 21c0 movs r1, #192 ; 0xc0 8072408: 4835 ldr r0, [pc, #212] ; (80724e0 ) 807240a: f7e2 f8df bl 80545cc if(measuring) 807240e: 4b24 ldr r3, [pc, #144] ; (80724a0 ) 8072410: 781b ldrb r3, [r3, #0] 8072412: b2db uxtb r3, r3 8072414: 2b00 cmp r3, #0 8072416: d005 beq.n 8072424 DrawImage(&bmVIB_STOP_ENG, 0, 211); 8072418: 22d3 movs r2, #211 ; 0xd3 807241a: 2100 movs r1, #0 807241c: 482a ldr r0, [pc, #168] ; (80724c8 ) 807241e: f7e2 f8d5 bl 80545cc 8072422: e004 b.n 807242e else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 8072424: 22d3 movs r2, #211 ; 0xd3 8072426: 2100 movs r1, #0 8072428: 4828 ldr r0, [pc, #160] ; (80724cc ) 807242a: f7e2 f8cf bl 80545cc } DrawImage(&bmVIB_SAVE, 256, 211); 807242e: 22d3 movs r2, #211 ; 0xd3 8072430: f44f 7180 mov.w r1, #256 ; 0x100 8072434: 4821 ldr r0, [pc, #132] ; (80724bc ) 8072436: f7e2 f8c9 bl 80545cc break; 807243a: e07b b.n 8072534 case MyLinLog: if(pardata.LANG == RUS) 807243c: 4b12 ldr r3, [pc, #72] ; (8072488 ) 807243e: 7b1b ldrb r3, [r3, #12] 8072440: b2db uxtb r3, r3 8072442: 2b00 cmp r3, #0 8072444: d150 bne.n 80724e8 { DrawImage(&bmVIB_LOG_LIGHT, 64, 211); 8072446: 22d3 movs r2, #211 ; 0xd3 8072448: 2140 movs r1, #64 ; 0x40 807244a: 4826 ldr r0, [pc, #152] ; (80724e4 ) 807244c: f7e2 f8be bl 80545cc DrawImage(&bmVIB_POINT, 128, 211); 8072450: 22d3 movs r2, #211 ; 0xd3 8072452: 2180 movs r1, #128 ; 0x80 8072454: 480e ldr r0, [pc, #56] ; (8072490 ) 8072456: f7e2 f8b9 bl 80545cc DrawImage(&bmVIB_MEAS, 192, 211); 807245a: 22d3 movs r2, #211 ; 0xd3 807245c: 21c0 movs r1, #192 ; 0xc0 807245e: 480d ldr r0, [pc, #52] ; (8072494 ) 8072460: f7e2 f8b4 bl 80545cc if(measuring) 8072464: 4b0e ldr r3, [pc, #56] ; (80724a0 ) 8072466: 781b ldrb r3, [r3, #0] 8072468: b2db uxtb r3, r3 807246a: 2b00 cmp r3, #0 807246c: d005 beq.n 807247a DrawImage(&bmVIB_STOP, 0, 211); 807246e: 22d3 movs r2, #211 ; 0xd3 8072470: 2100 movs r1, #0 8072472: 4813 ldr r0, [pc, #76] ; (80724c0 ) 8072474: f7e2 f8aa bl 80545cc 8072478: e055 b.n 8072526 else DrawImage(&bmVIB_PLAY, 0, 211); 807247a: 22d3 movs r2, #211 ; 0xd3 807247c: 2100 movs r1, #0 807247e: 4811 ldr r0, [pc, #68] ; (80724c4 ) 8072480: f7e2 f8a4 bl 80545cc 8072484: e04f b.n 8072526 8072486: bf00 nop 8072488: 20023e60 .word 0x20023e60 807248c: 0814b154 .word 0x0814b154 8072490: 081553e4 .word 0x081553e4 8072494: 0814e784 .word 0x0814e784 8072498: 20020f7e .word 0x20020f7e 807249c: 081538cc .word 0x081538cc 80724a0: 20020daf .word 0x20020daf 80724a4: 0815c044 .word 0x0815c044 80724a8: 0814bee0 .word 0x0814bee0 80724ac: 08156170 .word 0x08156170 80724b0: 0814f510 .word 0x0814f510 80724b4: 08154658 .word 0x08154658 80724b8: 0815cdd0 .word 0x0815cdd0 80724bc: 08158a14 .word 0x08158a14 80724c0: 0815a52c .word 0x0815a52c 80724c4: 08151db4 .word 0x08151db4 80724c8: 0815b2b8 .word 0x0815b2b8 80724cc: 08152b40 .word 0x08152b40 80724d0: 081597a0 .word 0x081597a0 80724d4: 08156efc .word 0x08156efc 80724d8: 08157c88 .word 0x08157c88 80724dc: 0815029c .word 0x0815029c 80724e0: 08151028 .word 0x08151028 80724e4: 0814cc6c .word 0x0814cc6c } else { DrawImage(&bmVIB_LOG_LIGHT_ENG, 64, 211); 80724e8: 22d3 movs r2, #211 ; 0xd3 80724ea: 2140 movs r1, #64 ; 0x40 80724ec: 48be ldr r0, [pc, #760] ; (80727e8 ) 80724ee: f7e2 f86d bl 80545cc DrawImage(&bmVIB_POINT_ENG, 128, 211); 80724f2: 22d3 movs r2, #211 ; 0xd3 80724f4: 2180 movs r1, #128 ; 0x80 80724f6: 48bd ldr r0, [pc, #756] ; (80727ec ) 80724f8: f7e2 f868 bl 80545cc DrawImage(&bmVIB_MEAS_ENG, 192, 211); 80724fc: 22d3 movs r2, #211 ; 0xd3 80724fe: 21c0 movs r1, #192 ; 0xc0 8072500: 48bb ldr r0, [pc, #748] ; (80727f0 ) 8072502: f7e2 f863 bl 80545cc if(measuring) 8072506: 4bbb ldr r3, [pc, #748] ; (80727f4 ) 8072508: 781b ldrb r3, [r3, #0] 807250a: b2db uxtb r3, r3 807250c: 2b00 cmp r3, #0 807250e: d005 beq.n 807251c DrawImage(&bmVIB_STOP_ENG, 0, 211); 8072510: 22d3 movs r2, #211 ; 0xd3 8072512: 2100 movs r1, #0 8072514: 48b8 ldr r0, [pc, #736] ; (80727f8 ) 8072516: f7e2 f859 bl 80545cc 807251a: e004 b.n 8072526 else DrawImage(&bmVIB_PLAY_ENG, 0, 211); 807251c: 22d3 movs r2, #211 ; 0xd3 807251e: 2100 movs r1, #0 8072520: 48b6 ldr r0, [pc, #728] ; (80727fc ) 8072522: f7e2 f853 bl 80545cc } DrawImage(&bmVIB_SAVE, 256, 211); 8072526: 22d3 movs r2, #211 ; 0xd3 8072528: f44f 7180 mov.w r1, #256 ; 0x100 807252c: 48b4 ldr r0, [pc, #720] ; (8072800 ) 807252e: f7e2 f84d bl 80545cc break; 8072532: bf00 nop } BSP_LCD_SetFont(&Font15); 8072534: 48b3 ldr r0, [pc, #716] ; (8072804 ) 8072536: f7e1 f991 bl 805385c if(strcmp(MeasFileName, "") != 0) 807253a: 4bb3 ldr r3, [pc, #716] ; (8072808 ) 807253c: 781b ldrb r3, [r3, #0] 807253e: 2b00 cmp r3, #0 8072540: f000 8147 beq.w 80727d2 { BSP_LCD_SetFont(&Font12); 8072544: 48b1 ldr r0, [pc, #708] ; (807280c ) 8072546: f7e1 f989 bl 805385c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807254a: 49b1 ldr r1, [pc, #708] ; (8072810 ) 807254c: 48b1 ldr r0, [pc, #708] ; (8072814 ) 807254e: f7e1 f949 bl 80537e4 if(pardata.LANG == RUS) 8072552: 4bb1 ldr r3, [pc, #708] ; (8072818 ) 8072554: 7b1b ldrb r3, [r3, #12] 8072556: b2db uxtb r3, r3 8072558: 2b00 cmp r3, #0 807255a: d115 bne.n 8072588 { BSP_LCD_DisplayStringAt(4, 35, "ÔÀÉË:", LEFT_MODE); 807255c: 2303 movs r3, #3 807255e: 4aaf ldr r2, [pc, #700] ; (807281c ) 8072560: 2123 movs r1, #35 ; 0x23 8072562: 2004 movs r0, #4 8072564: f7e1 fa04 bl 8053970 if((NEWFILE) && (strlen(Comment))) 8072568: 4bad ldr r3, [pc, #692] ; (8072820 ) 807256a: 781b ldrb r3, [r3, #0] 807256c: b2db uxtb r3, r3 807256e: 2b00 cmp r3, #0 8072570: d01f beq.n 80725b2 8072572: 4bac ldr r3, [pc, #688] ; (8072824 ) 8072574: 781b ldrb r3, [r3, #0] 8072576: 2b00 cmp r3, #0 8072578: d01b beq.n 80725b2 BSP_LCD_DisplayStringAt(4, 49, "ÒÎ×ÊÀ:", LEFT_MODE); 807257a: 2303 movs r3, #3 807257c: 4aaa ldr r2, [pc, #680] ; (8072828 ) 807257e: 2131 movs r1, #49 ; 0x31 8072580: 2004 movs r0, #4 8072582: f7e1 f9f5 bl 8053970 8072586: e014 b.n 80725b2 } else { BSP_LCD_DisplayStringAt(4, 35, "FILE:", LEFT_MODE); 8072588: 2303 movs r3, #3 807258a: 4aa8 ldr r2, [pc, #672] ; (807282c ) 807258c: 2123 movs r1, #35 ; 0x23 807258e: 2004 movs r0, #4 8072590: f7e1 f9ee bl 8053970 if((NEWFILE) && (strlen(Comment))) 8072594: 4ba2 ldr r3, [pc, #648] ; (8072820 ) 8072596: 781b ldrb r3, [r3, #0] 8072598: b2db uxtb r3, r3 807259a: 2b00 cmp r3, #0 807259c: d009 beq.n 80725b2 807259e: 4ba1 ldr r3, [pc, #644] ; (8072824 ) 80725a0: 781b ldrb r3, [r3, #0] 80725a2: 2b00 cmp r3, #0 80725a4: d005 beq.n 80725b2 BSP_LCD_DisplayStringAt(4, 49, "POINT:", LEFT_MODE); 80725a6: 2303 movs r3, #3 80725a8: 4aa1 ldr r2, [pc, #644] ; (8072830 ) 80725aa: 2131 movs r1, #49 ; 0x31 80725ac: 2004 movs r0, #4 80725ae: f7e1 f9df bl 8053970 } memset(str, 0, sizeof(str)); 80725b2: f507 733b add.w r3, r7, #748 ; 0x2ec 80725b6: 223c movs r2, #60 ; 0x3c 80725b8: 2100 movs r1, #0 80725ba: 4618 mov r0, r3 80725bc: f05a fd60 bl 80cd080 strcpy(str, MeasFileName); 80725c0: f507 733b add.w r3, r7, #748 ; 0x2ec 80725c4: 4990 ldr r1, [pc, #576] ; (8072808 ) 80725c6: 4618 mov r0, r3 80725c8: f05a fe77 bl 80cd2ba l = strlen(str); 80725cc: f507 733b add.w r3, r7, #748 ; 0x2ec 80725d0: 4618 mov r0, r3 80725d2: f7ad fe9f bl 8020314 80725d6: 4603 mov r3, r0 80725d8: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l - 4] = '\0'; 80725dc: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80725e0: 3b04 subs r3, #4 80725e2: f507 723b add.w r2, r7, #748 ; 0x2ec 80725e6: 2100 movs r1, #0 80725e8: 54d1 strb r1, [r2, r3] BSP_LCD_SetFont(&Font12); 80725ea: 4888 ldr r0, [pc, #544] ; (807280c ) 80725ec: f7e1 f936 bl 805385c LCD_SetColors(LCD_COLOR_LIGHTGREEN, LCD_COLOR_BLACK); 80725f0: 4987 ldr r1, [pc, #540] ; (8072810 ) 80725f2: f06f 107f mvn.w r0, #8323199 ; 0x7f007f 80725f6: f7e1 f8f5 bl 80537e4 BSP_LCD_DisplayStringAt(46, 35, str, LEFT_MODE); 80725fa: f507 723b add.w r2, r7, #748 ; 0x2ec 80725fe: 2303 movs r3, #3 8072600: 2123 movs r1, #35 ; 0x23 8072602: 202e movs r0, #46 ; 0x2e 8072604: f7e1 f9b4 bl 8053970 if((NEWFILE) && (strlen(Comment))) 8072608: 4b85 ldr r3, [pc, #532] ; (8072820 ) 807260a: 781b ldrb r3, [r3, #0] 807260c: b2db uxtb r3, r3 807260e: 2b00 cmp r3, #0 8072610: d02c beq.n 807266c 8072612: 4b84 ldr r3, [pc, #528] ; (8072824 ) 8072614: 781b ldrb r3, [r3, #0] 8072616: 2b00 cmp r3, #0 8072618: d028 beq.n 807266c { LCD_SetColors(0xFFEFCC95, LCD_COLOR_BLACK); 807261a: 497d ldr r1, [pc, #500] ; (8072810 ) 807261c: 4885 ldr r0, [pc, #532] ; (8072834 ) 807261e: f7e1 f8e1 bl 80537e4 BSP_LCD_SetFont(&Font12); 8072622: 487a ldr r0, [pc, #488] ; (807280c ) 8072624: f7e1 f91a bl 805385c memset(str, 0, sizeof(str)); 8072628: f507 733b add.w r3, r7, #748 ; 0x2ec 807262c: 223c movs r2, #60 ; 0x3c 807262e: 2100 movs r1, #0 8072630: 4618 mov r0, r3 8072632: f05a fd25 bl 80cd080 str[0] = '"'; 8072636: f507 733b add.w r3, r7, #748 ; 0x2ec 807263a: 2222 movs r2, #34 ; 0x22 807263c: 701a strb r2, [r3, #0] strcat(str, Comment); 807263e: f507 733b add.w r3, r7, #748 ; 0x2ec 8072642: 4978 ldr r1, [pc, #480] ; (8072824 ) 8072644: 4618 mov r0, r3 8072646: f05a fe1b bl 80cd280 str[strlen(str)] = '"'; 807264a: f507 733b add.w r3, r7, #748 ; 0x2ec 807264e: 4618 mov r0, r3 8072650: f7ad fe60 bl 8020314 8072654: 4602 mov r2, r0 8072656: f507 733b add.w r3, r7, #748 ; 0x2ec 807265a: 2122 movs r1, #34 ; 0x22 807265c: 5499 strb r1, [r3, r2] BSP_LCD_DisplayStringAt(46, 49, str, LEFT_MODE); 807265e: f507 723b add.w r2, r7, #748 ; 0x2ec 8072662: 2303 movs r3, #3 8072664: 2131 movs r1, #49 ; 0x31 8072666: 202e movs r0, #46 ; 0x2e 8072668: f7e1 f982 bl 8053970 } BSP_LCD_SetFont(&Font15); 807266c: 4865 ldr r0, [pc, #404] ; (8072804 ) 807266e: f7e1 f8f5 bl 805385c memset(str, 0, sizeof(str)); 8072672: f507 733b add.w r3, r7, #748 ; 0x2ec 8072676: 223c movs r2, #60 ; 0x3c 8072678: 2100 movs r1, #0 807267a: 4618 mov r0, r3 807267c: f05a fd00 bl 80cd080 str[0] = ((NextIndexPoint + 1) / 100) + 48; 8072680: 4b6d ldr r3, [pc, #436] ; (8072838 ) 8072682: 681b ldr r3, [r3, #0] 8072684: 3301 adds r3, #1 8072686: 4a6d ldr r2, [pc, #436] ; (807283c ) 8072688: fba2 2303 umull r2, r3, r2, r3 807268c: 095b lsrs r3, r3, #5 807268e: b2db uxtb r3, r3 8072690: 3330 adds r3, #48 ; 0x30 8072692: b2da uxtb r2, r3 8072694: f507 733b add.w r3, r7, #748 ; 0x2ec 8072698: 701a strb r2, [r3, #0] str[1] = ((NextIndexPoint + 1) % 100 / 10) + 48; 807269a: 4b67 ldr r3, [pc, #412] ; (8072838 ) 807269c: 681b ldr r3, [r3, #0] 807269e: 1c5a adds r2, r3, #1 80726a0: 4b66 ldr r3, [pc, #408] ; (807283c ) 80726a2: fba3 1302 umull r1, r3, r3, r2 80726a6: 095b lsrs r3, r3, #5 80726a8: 2164 movs r1, #100 ; 0x64 80726aa: fb01 f303 mul.w r3, r1, r3 80726ae: 1ad3 subs r3, r2, r3 80726b0: 4a63 ldr r2, [pc, #396] ; (8072840 ) 80726b2: fba2 2303 umull r2, r3, r2, r3 80726b6: 08db lsrs r3, r3, #3 80726b8: b2db uxtb r3, r3 80726ba: 3330 adds r3, #48 ; 0x30 80726bc: b2da uxtb r2, r3 80726be: f507 733b add.w r3, r7, #748 ; 0x2ec 80726c2: 705a strb r2, [r3, #1] str[2] = ((NextIndexPoint + 1) % 100 % 10) + 48; 80726c4: 4b5c ldr r3, [pc, #368] ; (8072838 ) 80726c6: 681b ldr r3, [r3, #0] 80726c8: 3301 adds r3, #1 80726ca: 4a5c ldr r2, [pc, #368] ; (807283c ) 80726cc: fba2 1203 umull r1, r2, r2, r3 80726d0: 0952 lsrs r2, r2, #5 80726d2: 2164 movs r1, #100 ; 0x64 80726d4: fb01 f202 mul.w r2, r1, r2 80726d8: 1a9a subs r2, r3, r2 80726da: 4b59 ldr r3, [pc, #356] ; (8072840 ) 80726dc: fba3 1302 umull r1, r3, r3, r2 80726e0: 08d9 lsrs r1, r3, #3 80726e2: 460b mov r3, r1 80726e4: 009b lsls r3, r3, #2 80726e6: 440b add r3, r1 80726e8: 005b lsls r3, r3, #1 80726ea: 1ad1 subs r1, r2, r3 80726ec: b2cb uxtb r3, r1 80726ee: 3330 adds r3, #48 ; 0x30 80726f0: b2da uxtb r2, r3 80726f2: f507 733b add.w r3, r7, #748 ; 0x2ec 80726f6: 709a strb r2, [r3, #2] if(menupos == MyPoint) 80726f8: 4b52 ldr r3, [pc, #328] ; (8072844 ) 80726fa: 781b ldrb r3, [r3, #0] 80726fc: b2db uxtb r3, r3 80726fe: 2b03 cmp r3, #3 8072700: d104 bne.n 807270c LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8072702: 4943 ldr r1, [pc, #268] ; (8072810 ) 8072704: 4850 ldr r0, [pc, #320] ; (8072848 ) 8072706: f7e1 f86d bl 80537e4 807270a: e004 b.n 8072716 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807270c: 4940 ldr r1, [pc, #256] ; (8072810 ) 807270e: f04f 30ff mov.w r0, #4294967295 8072712: f7e1 f867 bl 80537e4 BSP_LCD_DisplayStringAt(192-13, 218, str, RIGHT_MODE); 8072716: f507 723b add.w r2, r7, #748 ; 0x2ec 807271a: 2302 movs r3, #2 807271c: 21da movs r1, #218 ; 0xda 807271e: 20b3 movs r0, #179 ; 0xb3 8072720: f7e1 f926 bl 8053970 memset(str, 0, sizeof(str)); 8072724: f507 733b add.w r3, r7, #748 ; 0x2ec 8072728: 223c movs r2, #60 ; 0x3c 807272a: 2100 movs r1, #0 807272c: 4618 mov r0, r3 807272e: f05a fca7 bl 80cd080 str[0] = (NextIndexMeas / 100) + 48; 8072732: 4b46 ldr r3, [pc, #280] ; (807284c ) 8072734: 681b ldr r3, [r3, #0] 8072736: 4a41 ldr r2, [pc, #260] ; (807283c ) 8072738: fba2 2303 umull r2, r3, r2, r3 807273c: 095b lsrs r3, r3, #5 807273e: b2db uxtb r3, r3 8072740: 3330 adds r3, #48 ; 0x30 8072742: b2da uxtb r2, r3 8072744: f507 733b add.w r3, r7, #748 ; 0x2ec 8072748: 701a strb r2, [r3, #0] str[1] = (NextIndexMeas % 100 / 10) + 48; 807274a: 4b40 ldr r3, [pc, #256] ; (807284c ) 807274c: 681a ldr r2, [r3, #0] 807274e: 4b3b ldr r3, [pc, #236] ; (807283c ) 8072750: fba3 1302 umull r1, r3, r3, r2 8072754: 095b lsrs r3, r3, #5 8072756: 2164 movs r1, #100 ; 0x64 8072758: fb01 f303 mul.w r3, r1, r3 807275c: 1ad3 subs r3, r2, r3 807275e: 4a38 ldr r2, [pc, #224] ; (8072840 ) 8072760: fba2 2303 umull r2, r3, r2, r3 8072764: 08db lsrs r3, r3, #3 8072766: b2db uxtb r3, r3 8072768: 3330 adds r3, #48 ; 0x30 807276a: b2da uxtb r2, r3 807276c: f507 733b add.w r3, r7, #748 ; 0x2ec 8072770: 705a strb r2, [r3, #1] str[2] = (NextIndexMeas % 100 % 10) + 48; 8072772: 4b36 ldr r3, [pc, #216] ; (807284c ) 8072774: 681b ldr r3, [r3, #0] 8072776: 4a31 ldr r2, [pc, #196] ; (807283c ) 8072778: fba2 1203 umull r1, r2, r2, r3 807277c: 0952 lsrs r2, r2, #5 807277e: 2164 movs r1, #100 ; 0x64 8072780: fb01 f202 mul.w r2, r1, r2 8072784: 1a9a subs r2, r3, r2 8072786: 4b2e ldr r3, [pc, #184] ; (8072840 ) 8072788: fba3 1302 umull r1, r3, r3, r2 807278c: 08d9 lsrs r1, r3, #3 807278e: 460b mov r3, r1 8072790: 009b lsls r3, r3, #2 8072792: 440b add r3, r1 8072794: 005b lsls r3, r3, #1 8072796: 1ad1 subs r1, r2, r3 8072798: b2cb uxtb r3, r1 807279a: 3330 adds r3, #48 ; 0x30 807279c: b2da uxtb r2, r3 807279e: f507 733b add.w r3, r7, #748 ; 0x2ec 80727a2: 709a strb r2, [r3, #2] if(menupos == MyMeasure) 80727a4: 4b27 ldr r3, [pc, #156] ; (8072844 ) 80727a6: 781b ldrb r3, [r3, #0] 80727a8: b2db uxtb r3, r3 80727aa: 2b04 cmp r3, #4 80727ac: d104 bne.n 80727b8 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80727ae: 4918 ldr r1, [pc, #96] ; (8072810 ) 80727b0: 4825 ldr r0, [pc, #148] ; (8072848 ) 80727b2: f7e1 f817 bl 80537e4 80727b6: e004 b.n 80727c2 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80727b8: 4915 ldr r1, [pc, #84] ; (8072810 ) 80727ba: f04f 30ff mov.w r0, #4294967295 80727be: f7e1 f811 bl 80537e4 BSP_LCD_DisplayStringAt(256-13, 218, str, RIGHT_MODE); 80727c2: f507 723b add.w r2, r7, #748 ; 0x2ec 80727c6: 2302 movs r3, #2 80727c8: 21da movs r1, #218 ; 0xda 80727ca: 20f3 movs r0, #243 ; 0xf3 80727cc: f7e1 f8d0 bl 8053970 80727d0: e05e b.n 8072890 } else { if(menupos == MyPoint) 80727d2: 4b1c ldr r3, [pc, #112] ; (8072844 ) 80727d4: 781b ldrb r3, [r3, #0] 80727d6: b2db uxtb r3, r3 80727d8: 2b03 cmp r3, #3 80727da: d139 bne.n 8072850 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80727dc: 490c ldr r1, [pc, #48] ; (8072810 ) 80727de: 481a ldr r0, [pc, #104] ; (8072848 ) 80727e0: f7e1 f800 bl 80537e4 80727e4: e039 b.n 807285a 80727e6: bf00 nop 80727e8: 0814d9f8 .word 0x0814d9f8 80727ec: 08156170 .word 0x08156170 80727f0: 0814f510 .word 0x0814f510 80727f4: 20020daf .word 0x20020daf 80727f8: 0815b2b8 .word 0x0815b2b8 80727fc: 08152b40 .word 0x08152b40 8072800: 08158a14 .word 0x08158a14 8072804: 20020040 .word 0x20020040 8072808: 20020e58 .word 0x20020e58 807280c: 20020038 .word 0x20020038 8072810: ff0a0f1f .word 0xff0a0f1f 8072814: ff808080 .word 0xff808080 8072818: 20023e60 .word 0x20023e60 807281c: 080cfaf8 .word 0x080cfaf8 8072820: 20020e14 .word 0x20020e14 8072824: 20022650 .word 0x20022650 8072828: 080cfb00 .word 0x080cfb00 807282c: 080cfb08 .word 0x080cfb08 8072830: 080cfb10 .word 0x080cfb10 8072834: ffefcc95 .word 0xffefcc95 8072838: 20021f9c .word 0x20021f9c 807283c: 51eb851f .word 0x51eb851f 8072840: cccccccd .word 0xcccccccd 8072844: 20020070 .word 0x20020070 8072848: ff29eb19 .word 0xff29eb19 807284c: 20022310 .word 0x20022310 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072850: 49ab ldr r1, [pc, #684] ; (8072b00 ) 8072852: f04f 30ff mov.w r0, #4294967295 8072856: f7e0 ffc5 bl 80537e4 BSP_LCD_DisplayStringAt(192-13, 218, "---", RIGHT_MODE); 807285a: 2302 movs r3, #2 807285c: 4aa9 ldr r2, [pc, #676] ; (8072b04 ) 807285e: 21da movs r1, #218 ; 0xda 8072860: 20b3 movs r0, #179 ; 0xb3 8072862: f7e1 f885 bl 8053970 if(menupos == MyMeasure) 8072866: 4ba8 ldr r3, [pc, #672] ; (8072b08 ) 8072868: 781b ldrb r3, [r3, #0] 807286a: b2db uxtb r3, r3 807286c: 2b04 cmp r3, #4 807286e: d104 bne.n 807287a LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8072870: 49a3 ldr r1, [pc, #652] ; (8072b00 ) 8072872: 48a6 ldr r0, [pc, #664] ; (8072b0c ) 8072874: f7e0 ffb6 bl 80537e4 8072878: e004 b.n 8072884 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807287a: 49a1 ldr r1, [pc, #644] ; (8072b00 ) 807287c: f04f 30ff mov.w r0, #4294967295 8072880: f7e0 ffb0 bl 80537e4 BSP_LCD_DisplayStringAt(256-13, 218, "---", RIGHT_MODE); 8072884: 2302 movs r3, #2 8072886: 4a9f ldr r2, [pc, #636] ; (8072b04 ) 8072888: 21da movs r1, #218 ; 0xda 807288a: 20f3 movs r0, #243 ; 0xf3 807288c: f7e1 f870 bl 8053970 } //******************************************************************************************** //******************************************************************************************** RedrawNums(); 8072890: f025 ffc4 bl 809881c //******************************************************************************************** //******************************************************************************************** break; 8072894: f024 beca b.w 809762c case MAIN_ROLL: DrawLegend(); 8072898: f03a fd66 bl 80ad368 DrawButtons(menupos); 807289c: 4b9a ldr r3, [pc, #616] ; (8072b08 ) 807289e: 781b ldrb r3, [r3, #0] 80728a0: b2db uxtb r3, r3 80728a2: 4618 mov r0, r3 80728a4: f03a f81e bl 80ac8e4 if(Stability > (Nr * 4)) 80728a8: 4b99 ldr r3, [pc, #612] ; (8072b10 ) 80728aa: 881b ldrh r3, [r3, #0] 80728ac: b29b uxth r3, r3 80728ae: 009b lsls r3, r3, #2 80728b0: 461a mov r2, r3 80728b2: 4b98 ldr r3, [pc, #608] ; (8072b14 ) 80728b4: 681b ldr r3, [r3, #0] 80728b6: 429a cmp r2, r3 80728b8: d20a bcs.n 80728d0 { DrawGraph(); 80728ba: f033 fbf5 bl 80a60a8 if(SeeResults) 80728be: 4b96 ldr r3, [pc, #600] ; (8072b18 ) 80728c0: 781b ldrb r3, [r3, #0] 80728c2: b2db uxtb r3, r3 80728c4: 2b00 cmp r3, #0 80728c6: d001 beq.n 80728cc DrawCursorData(); 80728c8: f031 f906 bl 80a3ad8 DrawScaleValue(); 80728cc: f039 faec bl 80abea8 } DrawAVS(); 80728d0: f03a ffa8 bl 80ad824 if(measuring) 80728d4: 4b91 ldr r3, [pc, #580] ; (8072b1c ) 80728d6: 781b ldrb r3, [r3, #0] 80728d8: b2db uxtb r3, r3 80728da: 2b00 cmp r3, #0 80728dc: f024 867d beq.w 80975da { if((Flag_Set_KU == 0) && (Stability > (Nr * 4)) && (NSamples >= 20)) 80728e0: 4b8f ldr r3, [pc, #572] ; (8072b20 ) 80728e2: 781b ldrb r3, [r3, #0] 80728e4: b2db uxtb r3, r3 80728e6: 2b00 cmp r3, #0 80728e8: f064 8677 bne.w 80975da 80728ec: 4b88 ldr r3, [pc, #544] ; (8072b10 ) 80728ee: 881b ldrh r3, [r3, #0] 80728f0: b29b uxth r3, r3 80728f2: 009b lsls r3, r3, #2 80728f4: 461a mov r2, r3 80728f6: 4b87 ldr r3, [pc, #540] ; (8072b14 ) 80728f8: 681b ldr r3, [r3, #0] 80728fa: 429a cmp r2, r3 80728fc: f0a4 866d bcs.w 80975da 8072900: 4b88 ldr r3, [pc, #544] ; (8072b24 ) 8072902: 681b ldr r3, [r3, #0] 8072904: 2b13 cmp r3, #19 8072906: f264 8668 bls.w 80975da { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807290a: 497d ldr r1, [pc, #500] ; (8072b00 ) 807290c: f04f 30ff mov.w r0, #4294967295 8072910: f7e0 ff68 bl 80537e4 BSP_LCD_FillRect(126, 137, 127, 8); 8072914: 2308 movs r3, #8 8072916: 227f movs r2, #127 ; 0x7f 8072918: 2189 movs r1, #137 ; 0x89 807291a: 207e movs r0, #126 ; 0x7e 807291c: f7e1 fbf0 bl 8054100 f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8072920: 4b81 ldr r3, [pc, #516] ; (8072b28 ) 8072922: 681b ldr r3, [r3, #0] 8072924: ee07 3a90 vmov s15, r3 8072928: eef8 6a67 vcvt.f32.u32 s13, s15 807292c: 4b7f ldr r3, [pc, #508] ; (8072b2c ) 807292e: 7b5b ldrb r3, [r3, #13] 8072930: b2db uxtb r3, r3 8072932: 461a mov r2, r3 8072934: 4b7e ldr r3, [pc, #504] ; (8072b30 ) 8072936: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 807293a: ee07 3a90 vmov s15, r3 807293e: eeb8 7a67 vcvt.f32.u32 s14, s15 8072942: eec6 7a87 vdiv.f32 s15, s13, s14 8072946: f507 638b add.w r3, r7, #1112 ; 0x458 807294a: edc3 7a00 vstr s15, [r3] f *= 125.0f; 807294e: f507 638b add.w r3, r7, #1112 ; 0x458 8072952: edd3 7a00 vldr s15, [r3] 8072956: ed9f 7a77 vldr s14, [pc, #476] ; 8072b34 807295a: ee67 7a87 vmul.f32 s15, s15, s14 807295e: f507 638b add.w r3, r7, #1112 ; 0x458 8072962: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8072966: f507 638b add.w r3, r7, #1112 ; 0x458 807296a: edd3 7a00 vldr s15, [r3] 807296e: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8072972: eef4 7ac7 vcmpe.f32 s15, s14 8072976: eef1 fa10 vmrs APSR_nzcv, fpscr 807297a: d504 bpl.n 8072986 807297c: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8072980: f507 628b add.w r2, r7, #1112 ; 0x458 8072984: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 8072986: f507 638b add.w r3, r7, #1112 ; 0x458 807298a: edd3 7a00 vldr s15, [r3] 807298e: ed9f 7a69 vldr s14, [pc, #420] ; 8072b34 8072992: eef4 7ac7 vcmpe.f32 s15, s14 8072996: eef1 fa10 vmrs APSR_nzcv, fpscr 807299a: dd03 ble.n 80729a4 807299c: 4b66 ldr r3, [pc, #408] ; (8072b38 ) 807299e: f507 628b add.w r2, r7, #1112 ; 0x458 80729a2: 6013 str r3, [r2, #0] ww = (uint16_t) f; 80729a4: f507 638b add.w r3, r7, #1112 ; 0x458 80729a8: edd3 7a00 vldr s15, [r3] 80729ac: eefc 7ae7 vcvt.u32.f32 s15, s15 80729b0: edc7 7a01 vstr s15, [r7, #4] 80729b4: 88bb ldrh r3, [r7, #4] 80729b6: f8a7 3412 strh.w r3, [r7, #1042] ; 0x412 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80729ba: 4951 ldr r1, [pc, #324] ; (8072b00 ) 80729bc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80729c0: f7e0 ff10 bl 80537e4 BSP_LCD_FillRect(127, 138, ww, 6); 80729c4: f8b7 2412 ldrh.w r2, [r7, #1042] ; 0x412 80729c8: 2306 movs r3, #6 80729ca: 218a movs r1, #138 ; 0x8a 80729cc: 207f movs r0, #127 ; 0x7f 80729ce: f7e1 fb97 bl 8054100 } } break; 80729d2: f024 be02 b.w 80975da case VIEW_PORTRET: DrawLegend(); 80729d6: f03a fcc7 bl 80ad368 DrawButtons(menupos); 80729da: 4b4b ldr r3, [pc, #300] ; (8072b08 ) 80729dc: 781b ldrb r3, [r3, #0] 80729de: b2db uxtb r3, r3 80729e0: 4618 mov r0, r3 80729e2: f039 ff7f bl 80ac8e4 BSP_LCD_SetFont(&Font12); 80729e6: 4855 ldr r0, [pc, #340] ; (8072b3c ) 80729e8: f7e0 ff38 bl 805385c if(SeeResults) 80729ec: 4b4a ldr r3, [pc, #296] ; (8072b18 ) 80729ee: 781b ldrb r3, [r3, #0] 80729f0: b2db uxtb r3, r3 80729f2: 2b00 cmp r3, #0 80729f4: d003 beq.n 80729fe { DrawGraph(); 80729f6: f033 fb57 bl 80a60a8 DrawCursorData(); 80729fa: f031 f86d bl 80a3ad8 } DrawScaleValue(); 80729fe: f039 fa53 bl 80abea8 DrawAVS(); 8072a02: f03a ff0f bl 80ad824 BSP_LCD_SetFont(&Font12); 8072a06: 484d ldr r0, [pc, #308] ; (8072b3c ) 8072a08: f7e0 ff28 bl 805385c break; 8072a0c: f024 be0e b.w 809762c * 10) Íåóðàâíîâåøåííîñòü ðîòîðà * 11) Äåôåêòû óçëîâ êðåïëåíèÿ * 12) Íåñîîñíîñòü */ DrawLegend(); 8072a10: f03a fcaa bl 80ad368 DrawButtons(Results); 8072a14: 2008 movs r0, #8 8072a16: f039 ff65 bl 80ac8e4 DrawGraph(); 8072a1a: f033 fb45 bl 80a60a8 DrawCursorData(); 8072a1e: f031 f85b bl 80a3ad8 DrawScaleValue(); 8072a22: f039 fa41 bl 80abea8 DrawAVS(); 8072a26: f03a fefd bl 80ad824 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072a2a: 4935 ldr r1, [pc, #212] ; (8072b00 ) 8072a2c: f04f 30ff mov.w r0, #4294967295 8072a30: f7e0 fed8 bl 80537e4 BSP_LCD_FillRect(25+10, 41+10, 267, 154); 8072a34: 239a movs r3, #154 ; 0x9a 8072a36: f240 120b movw r2, #267 ; 0x10b 8072a3a: 2133 movs r1, #51 ; 0x33 8072a3c: 2023 movs r0, #35 ; 0x23 8072a3e: f7e1 fb5f bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8072a42: 492f ldr r1, [pc, #188] ; (8072b00 ) 8072a44: 482e ldr r0, [pc, #184] ; (8072b00 ) 8072a46: f7e0 fecd bl 80537e4 BSP_LCD_FillRect(27+10, 43+10, 263, 150); 8072a4a: 2396 movs r3, #150 ; 0x96 8072a4c: f240 1207 movw r2, #263 ; 0x107 8072a50: 2135 movs r1, #53 ; 0x35 8072a52: 2025 movs r0, #37 ; 0x25 8072a54: f7e1 fb54 bl 8054100 BSP_LCD_SetFont(&Font12); 8072a58: 4838 ldr r0, [pc, #224] ; (8072b3c ) 8072a5a: f7e0 feff bl 805385c for(i = 0; i < NUM_DEFECTS; i++) 8072a5e: 2300 movs r3, #0 8072a60: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8072a64: e045 b.n 8072af2 { if(i == menupos) 8072a66: 4b28 ldr r3, [pc, #160] ; (8072b08 ) 8072a68: 781b ldrb r3, [r3, #0] 8072a6a: b2db uxtb r3, r3 8072a6c: 461a mov r2, r3 8072a6e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8072a72: 429a cmp r2, r3 8072a74: d103 bne.n 8072a7e j = 0xFF9DAD8E; 8072a76: 4b32 ldr r3, [pc, #200] ; (8072b40 ) 8072a78: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 8072a7c: e002 b.n 8072a84 else j = LCD_COLOR_CLEAR; 8072a7e: 4b20 ldr r3, [pc, #128] ; (8072b00 ) 8072a80: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc if(DEFECTS[i]) 8072a84: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8072a88: 4a2e ldr r2, [pc, #184] ; (8072b44 ) 8072a8a: 5cd3 ldrb r3, [r2, r3] 8072a8c: b2db uxtb r3, r3 8072a8e: 2b00 cmp r3, #0 8072a90: d006 beq.n 8072aa0 LCD_SetColors(0xFFF42817, j); 8072a92: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8072a96: 4619 mov r1, r3 8072a98: 482b ldr r0, [pc, #172] ; (8072b48 ) 8072a9a: f7e0 fea3 bl 80537e4 8072a9e: e006 b.n 8072aae else LCD_SetColors(LCD_COLOR_WHITE, j); 8072aa0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8072aa4: 4619 mov r1, r3 8072aa6: f04f 30ff mov.w r0, #4294967295 8072aaa: f7e0 fe9b bl 80537e4 BSP_LCD_DisplayStringAt(34+10, 46+10 + 12*i, (char *) DEFECTS_STRING[pardata.LANG][i], LEFT_MODE); 8072aae: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8072ab2: b29b uxth r3, r3 8072ab4: 461a mov r2, r3 8072ab6: 0052 lsls r2, r2, #1 8072ab8: 4413 add r3, r2 8072aba: 009b lsls r3, r3, #2 8072abc: b29b uxth r3, r3 8072abe: 3338 adds r3, #56 ; 0x38 8072ac0: b29c uxth r4, r3 8072ac2: 4b1a ldr r3, [pc, #104] ; (8072b2c ) 8072ac4: 7b1b ldrb r3, [r3, #12] 8072ac6: b2db uxtb r3, r3 8072ac8: 4618 mov r0, r3 8072aca: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8072ace: 491f ldr r1, [pc, #124] ; (8072b4c ) 8072ad0: 4603 mov r3, r0 8072ad2: 005b lsls r3, r3, #1 8072ad4: 4403 add r3, r0 8072ad6: 009b lsls r3, r3, #2 8072ad8: 4413 add r3, r2 8072ada: f851 2023 ldr.w r2, [r1, r3, lsl #2] 8072ade: 2303 movs r3, #3 8072ae0: 4621 mov r1, r4 8072ae2: 202c movs r0, #44 ; 0x2c 8072ae4: f7e0 ff44 bl 8053970 for(i = 0; i < NUM_DEFECTS; i++) 8072ae8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8072aec: 3301 adds r3, #1 8072aee: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8072af2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8072af6: 2b0b cmp r3, #11 8072af8: d9b5 bls.n 8072a66 } break; 8072afa: f024 bd97 b.w 809762c 8072afe: bf00 nop 8072b00: ff0a0f1f .word 0xff0a0f1f 8072b04: 080cfb18 .word 0x080cfb18 8072b08: 20020070 .word 0x20020070 8072b0c: ff29eb19 .word 0xff29eb19 8072b10: 20021d20 .word 0x20021d20 8072b14: 20020da8 .word 0x20020da8 8072b18: 20020d68 .word 0x20020d68 8072b1c: 20020daf .word 0x20020daf 8072b20: 20020d7e .word 0x20020d7e 8072b24: 20020d88 .word 0x20020d88 8072b28: 20020db8 .word 0x20020db8 8072b2c: 20023e60 .word 0x20023e60 8072b30: 080ef660 .word 0x080ef660 8072b34: 42fa0000 .word 0x42fa0000 8072b38: 42fa0000 .word 0x42fa0000 8072b3c: 20020038 .word 0x20020038 8072b40: ff9dad8e .word 0xff9dad8e 8072b44: 20026f10 .word 0x20026f10 8072b48: fff42817 .word 0xfff42817 8072b4c: 2002061c .word 0x2002061c case MAIN_SPEC: case MAIN_SPEC_OGIB: ////////////////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8072b50: f03a fc0a bl 80ad368 DrawButtons(menupos); 8072b54: 4baa ldr r3, [pc, #680] ; (8072e00 ) 8072b56: 781b ldrb r3, [r3, #0] 8072b58: b2db uxtb r3, r3 8072b5a: 4618 mov r0, r3 8072b5c: f039 fec2 bl 80ac8e4 if(Stability > (Nr * 4)) 8072b60: 4ba8 ldr r3, [pc, #672] ; (8072e04 ) 8072b62: 881b ldrh r3, [r3, #0] 8072b64: b29b uxth r3, r3 8072b66: 009b lsls r3, r3, #2 8072b68: 461a mov r2, r3 8072b6a: 4ba7 ldr r3, [pc, #668] ; (8072e08 ) 8072b6c: 681b ldr r3, [r3, #0] 8072b6e: 429a cmp r2, r3 8072b70: d20a bcs.n 8072b88 { DrawGraph(); 8072b72: f033 fa99 bl 80a60a8 if(READY_TO_SEE) 8072b76: 4ba5 ldr r3, [pc, #660] ; (8072e0c ) 8072b78: 781b ldrb r3, [r3, #0] 8072b7a: b2db uxtb r3, r3 8072b7c: 2b00 cmp r3, #0 8072b7e: d001 beq.n 8072b84 DrawCursorData(); 8072b80: f030 ffaa bl 80a3ad8 DrawScaleValue(); 8072b84: f039 f990 bl 80abea8 } if((measuring) && (!READY_TO_SEE)) 8072b88: 4ba1 ldr r3, [pc, #644] ; (8072e10 ) 8072b8a: 781b ldrb r3, [r3, #0] 8072b8c: b2db uxtb r3, r3 8072b8e: 2b00 cmp r3, #0 8072b90: f000 8086 beq.w 8072ca0 8072b94: 4b9d ldr r3, [pc, #628] ; (8072e0c ) 8072b96: 781b ldrb r3, [r3, #0] 8072b98: b2db uxtb r3, r3 8072b9a: f083 0301 eor.w r3, r3, #1 8072b9e: b2db uxtb r3, r3 8072ba0: 2b00 cmp r3, #0 8072ba2: d07d beq.n 8072ca0 { if(MeanCnt < AVG[pardata.AVG]) 8072ba4: 4b9b ldr r3, [pc, #620] ; (8072e14 ) 8072ba6: 7b5b ldrb r3, [r3, #13] 8072ba8: b2db uxtb r3, r3 8072baa: 461a mov r2, r3 8072bac: 4b9a ldr r3, [pc, #616] ; (8072e18 ) 8072bae: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8072bb2: 461a mov r2, r3 8072bb4: 4b99 ldr r3, [pc, #612] ; (8072e1c ) 8072bb6: 681b ldr r3, [r3, #0] 8072bb8: 429a cmp r2, r3 8072bba: d971 bls.n 8072ca0 { if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8072bbc: 4b98 ldr r3, [pc, #608] ; (8072e20 ) 8072bbe: 781b ldrb r3, [r3, #0] 8072bc0: b2db uxtb r3, r3 8072bc2: 2b00 cmp r3, #0 8072bc4: d16c bne.n 8072ca0 8072bc6: 4b8f ldr r3, [pc, #572] ; (8072e04 ) 8072bc8: 881b ldrh r3, [r3, #0] 8072bca: b29b uxth r3, r3 8072bcc: 009b lsls r3, r3, #2 8072bce: 461a mov r2, r3 8072bd0: 4b8d ldr r3, [pc, #564] ; (8072e08 ) 8072bd2: 681b ldr r3, [r3, #0] 8072bd4: 429a cmp r2, r3 8072bd6: d263 bcs.n 8072ca0 { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072bd8: 4992 ldr r1, [pc, #584] ; (8072e24 ) 8072bda: f04f 30ff mov.w r0, #4294967295 8072bde: f7e0 fe01 bl 80537e4 BSP_LCD_FillRect(126, 137, 127, 8); 8072be2: 2308 movs r3, #8 8072be4: 227f movs r2, #127 ; 0x7f 8072be6: 2189 movs r1, #137 ; 0x89 8072be8: 207e movs r0, #126 ; 0x7e 8072bea: f7e1 fa89 bl 8054100 f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8072bee: 4b8b ldr r3, [pc, #556] ; (8072e1c ) 8072bf0: 681b ldr r3, [r3, #0] 8072bf2: ee07 3a90 vmov s15, r3 8072bf6: eef8 6a67 vcvt.f32.u32 s13, s15 8072bfa: 4b86 ldr r3, [pc, #536] ; (8072e14 ) 8072bfc: 7b5b ldrb r3, [r3, #13] 8072bfe: b2db uxtb r3, r3 8072c00: 461a mov r2, r3 8072c02: 4b85 ldr r3, [pc, #532] ; (8072e18 ) 8072c04: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8072c08: ee07 3a90 vmov s15, r3 8072c0c: eeb8 7a67 vcvt.f32.u32 s14, s15 8072c10: eec6 7a87 vdiv.f32 s15, s13, s14 8072c14: f507 638b add.w r3, r7, #1112 ; 0x458 8072c18: edc3 7a00 vstr s15, [r3] f *= 125.0f; 8072c1c: f507 638b add.w r3, r7, #1112 ; 0x458 8072c20: edd3 7a00 vldr s15, [r3] 8072c24: ed9f 7a80 vldr s14, [pc, #512] ; 8072e28 8072c28: ee67 7a87 vmul.f32 s15, s15, s14 8072c2c: f507 638b add.w r3, r7, #1112 ; 0x458 8072c30: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8072c34: f507 638b add.w r3, r7, #1112 ; 0x458 8072c38: edd3 7a00 vldr s15, [r3] 8072c3c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8072c40: eef4 7ac7 vcmpe.f32 s15, s14 8072c44: eef1 fa10 vmrs APSR_nzcv, fpscr 8072c48: d504 bpl.n 8072c54 8072c4a: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8072c4e: f507 628b add.w r2, r7, #1112 ; 0x458 8072c52: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 8072c54: f507 638b add.w r3, r7, #1112 ; 0x458 8072c58: edd3 7a00 vldr s15, [r3] 8072c5c: ed9f 7a72 vldr s14, [pc, #456] ; 8072e28 8072c60: eef4 7ac7 vcmpe.f32 s15, s14 8072c64: eef1 fa10 vmrs APSR_nzcv, fpscr 8072c68: dd03 ble.n 8072c72 8072c6a: 4b70 ldr r3, [pc, #448] ; (8072e2c ) 8072c6c: f507 628b add.w r2, r7, #1112 ; 0x458 8072c70: 6013 str r3, [r2, #0] ww = (uint16_t) f; 8072c72: f507 638b add.w r3, r7, #1112 ; 0x458 8072c76: edd3 7a00 vldr s15, [r3] 8072c7a: eefc 7ae7 vcvt.u32.f32 s15, s15 8072c7e: edc7 7a01 vstr s15, [r7, #4] 8072c82: 88bb ldrh r3, [r7, #4] 8072c84: f8a7 3410 strh.w r3, [r7, #1040] ; 0x410 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8072c88: 4966 ldr r1, [pc, #408] ; (8072e24 ) 8072c8a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8072c8e: f7e0 fda9 bl 80537e4 BSP_LCD_FillRect(127, 138, ww, 6); 8072c92: f8b7 2410 ldrh.w r2, [r7, #1040] ; 0x410 8072c96: 2306 movs r3, #6 8072c98: 218a movs r1, #138 ; 0x8a 8072c9a: 207f movs r0, #127 ; 0x7f 8072c9c: f7e1 fa30 bl 8054100 BSP_LCD_DisplayStringAt(3, 46, "CK3,", LEFT_MODE); else BSP_LCD_DisplayStringAt(3, 46, "RMS,", LEFT_MODE); DrawRMS(); }*/ DrawAVS(); 8072ca0: f03a fdc0 bl 80ad824 break; 8072ca4: f024 bcc2 b.w 809762c case MAIN_SPEC_OKT: //TODO ////////////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8072ca8: f03a fb5e bl 80ad368 DrawButtons(menupos); 8072cac: 4b54 ldr r3, [pc, #336] ; (8072e00 ) 8072cae: 781b ldrb r3, [r3, #0] 8072cb0: b2db uxtb r3, r3 8072cb2: 4618 mov r0, r3 8072cb4: f039 fe16 bl 80ac8e4 if(Stability > (Nr * 4)) 8072cb8: 4b52 ldr r3, [pc, #328] ; (8072e04 ) 8072cba: 881b ldrh r3, [r3, #0] 8072cbc: b29b uxth r3, r3 8072cbe: 009b lsls r3, r3, #2 8072cc0: 461a mov r2, r3 8072cc2: 4b51 ldr r3, [pc, #324] ; (8072e08 ) 8072cc4: 681b ldr r3, [r3, #0] 8072cc6: 429a cmp r2, r3 8072cc8: d20d bcs.n 8072ce6 { DrawGraph(); 8072cca: f033 f9ed bl 80a60a8 if(!firstOkt) 8072cce: 4b58 ldr r3, [pc, #352] ; (8072e30 ) 8072cd0: 781b ldrb r3, [r3, #0] 8072cd2: b2db uxtb r3, r3 8072cd4: f083 0301 eor.w r3, r3, #1 8072cd8: b2db uxtb r3, r3 8072cda: 2b00 cmp r3, #0 8072cdc: d001 beq.n 8072ce2 DrawCursorData(); 8072cde: f030 fefb bl 80a3ad8 DrawScaleValue(); 8072ce2: f039 f8e1 bl 80abea8 } ////////////////////////////////////////////////////////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 8072ce6: 4853 ldr r0, [pc, #332] ; (8072e34 ) 8072ce8: f7e0 fdb8 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072cec: 494d ldr r1, [pc, #308] ; (8072e24 ) 8072cee: f04f 30ff mov.w r0, #4294967295 8072cf2: f7e0 fd77 bl 80537e4 /*if(pardata.LANG == RUS) BSP_LCD_DisplayStringAt(3, 46, "CK3,", LEFT_MODE); else BSP_LCD_DisplayStringAt(3, 46, "RMS,", LEFT_MODE);*/ if((measuring) && (firstOkt) && (NSamples != 0xffffffff)) 8072cf6: 4b46 ldr r3, [pc, #280] ; (8072e10 ) 8072cf8: 781b ldrb r3, [r3, #0] 8072cfa: b2db uxtb r3, r3 8072cfc: 2b00 cmp r3, #0 8072cfe: d07b beq.n 8072df8 8072d00: 4b4b ldr r3, [pc, #300] ; (8072e30 ) 8072d02: 781b ldrb r3, [r3, #0] 8072d04: b2db uxtb r3, r3 8072d06: 2b00 cmp r3, #0 8072d08: d076 beq.n 8072df8 8072d0a: 4b4b ldr r3, [pc, #300] ; (8072e38 ) 8072d0c: 681b ldr r3, [r3, #0] 8072d0e: f1b3 3fff cmp.w r3, #4294967295 8072d12: d071 beq.n 8072df8 { if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8072d14: 4b42 ldr r3, [pc, #264] ; (8072e20 ) 8072d16: 781b ldrb r3, [r3, #0] 8072d18: b2db uxtb r3, r3 8072d1a: 2b00 cmp r3, #0 8072d1c: d16c bne.n 8072df8 8072d1e: 4b39 ldr r3, [pc, #228] ; (8072e04 ) 8072d20: 881b ldrh r3, [r3, #0] 8072d22: b29b uxth r3, r3 8072d24: 009b lsls r3, r3, #2 8072d26: 461a mov r2, r3 8072d28: 4b37 ldr r3, [pc, #220] ; (8072e08 ) 8072d2a: 681b ldr r3, [r3, #0] 8072d2c: 429a cmp r2, r3 8072d2e: d263 bcs.n 8072df8 { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072d30: 493c ldr r1, [pc, #240] ; (8072e24 ) 8072d32: f04f 30ff mov.w r0, #4294967295 8072d36: f7e0 fd55 bl 80537e4 BSP_LCD_FillRect(126, 137, 127, 8); 8072d3a: 2308 movs r3, #8 8072d3c: 227f movs r2, #127 ; 0x7f 8072d3e: 2189 movs r1, #137 ; 0x89 8072d40: 207e movs r0, #126 ; 0x7e 8072d42: f7e1 f9dd bl 8054100 f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8072d46: 4b35 ldr r3, [pc, #212] ; (8072e1c ) 8072d48: 681b ldr r3, [r3, #0] 8072d4a: ee07 3a90 vmov s15, r3 8072d4e: eef8 6a67 vcvt.f32.u32 s13, s15 8072d52: 4b30 ldr r3, [pc, #192] ; (8072e14 ) 8072d54: 7b5b ldrb r3, [r3, #13] 8072d56: b2db uxtb r3, r3 8072d58: 461a mov r2, r3 8072d5a: 4b2f ldr r3, [pc, #188] ; (8072e18 ) 8072d5c: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8072d60: ee07 3a90 vmov s15, r3 8072d64: eeb8 7a67 vcvt.f32.u32 s14, s15 8072d68: eec6 7a87 vdiv.f32 s15, s13, s14 8072d6c: f507 638b add.w r3, r7, #1112 ; 0x458 8072d70: edc3 7a00 vstr s15, [r3] f *= 125.0f; 8072d74: f507 638b add.w r3, r7, #1112 ; 0x458 8072d78: edd3 7a00 vldr s15, [r3] 8072d7c: ed9f 7a2a vldr s14, [pc, #168] ; 8072e28 8072d80: ee67 7a87 vmul.f32 s15, s15, s14 8072d84: f507 638b add.w r3, r7, #1112 ; 0x458 8072d88: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8072d8c: f507 638b add.w r3, r7, #1112 ; 0x458 8072d90: edd3 7a00 vldr s15, [r3] 8072d94: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8072d98: eef4 7ac7 vcmpe.f32 s15, s14 8072d9c: eef1 fa10 vmrs APSR_nzcv, fpscr 8072da0: d504 bpl.n 8072dac 8072da2: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8072da6: f507 628b add.w r2, r7, #1112 ; 0x458 8072daa: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 8072dac: f507 638b add.w r3, r7, #1112 ; 0x458 8072db0: edd3 7a00 vldr s15, [r3] 8072db4: ed9f 7a1c vldr s14, [pc, #112] ; 8072e28 8072db8: eef4 7ac7 vcmpe.f32 s15, s14 8072dbc: eef1 fa10 vmrs APSR_nzcv, fpscr 8072dc0: dd03 ble.n 8072dca 8072dc2: 4b1a ldr r3, [pc, #104] ; (8072e2c ) 8072dc4: f507 628b add.w r2, r7, #1112 ; 0x458 8072dc8: 6013 str r3, [r2, #0] ww = (uint16_t) f; 8072dca: f507 638b add.w r3, r7, #1112 ; 0x458 8072dce: edd3 7a00 vldr s15, [r3] 8072dd2: eefc 7ae7 vcvt.u32.f32 s15, s15 8072dd6: edc7 7a01 vstr s15, [r7, #4] 8072dda: 88bb ldrh r3, [r7, #4] 8072ddc: f8a7 340e strh.w r3, [r7, #1038] ; 0x40e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8072de0: 4910 ldr r1, [pc, #64] ; (8072e24 ) 8072de2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8072de6: f7e0 fcfd bl 80537e4 BSP_LCD_FillRect(127, 138, ww, 6); 8072dea: f8b7 240e ldrh.w r2, [r7, #1038] ; 0x40e 8072dee: 2306 movs r3, #6 8072df0: 218a movs r1, #138 ; 0x8a 8072df2: 207f movs r0, #127 ; 0x7f 8072df4: f7e1 f984 bl 8054100 } } //DrawRMS(); DrawAVS(); 8072df8: f03a fd14 bl 80ad824 break; 8072dfc: f024 bc16 b.w 809762c 8072e00: 20020070 .word 0x20020070 8072e04: 20021d20 .word 0x20021d20 8072e08: 20020da8 .word 0x20020da8 8072e0c: 20020d8e .word 0x20020d8e 8072e10: 20020daf .word 0x20020daf 8072e14: 20023e60 .word 0x20023e60 8072e18: 080ef660 .word 0x080ef660 8072e1c: 20020db8 .word 0x20020db8 8072e20: 20020d7e .word 0x20020d7e 8072e24: ff0a0f1f .word 0xff0a0f1f 8072e28: 42fa0000 .word 0x42fa0000 8072e2c: 42fa0000 .word 0x42fa0000 8072e30: 20020d94 .word 0x20020d94 8072e34: 20020038 .word 0x20020038 8072e38: 20020d88 .word 0x20020d88 case MAIN_SPEC_THIRD: //TODO ////////////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8072e3c: f03a fa94 bl 80ad368 DrawButtons(menupos); 8072e40: 4bbd ldr r3, [pc, #756] ; (8073138 ) 8072e42: 781b ldrb r3, [r3, #0] 8072e44: b2db uxtb r3, r3 8072e46: 4618 mov r0, r3 8072e48: f039 fd4c bl 80ac8e4 if(Stability > (Nr * 4)) 8072e4c: 4bbb ldr r3, [pc, #748] ; (807313c ) 8072e4e: 881b ldrh r3, [r3, #0] 8072e50: b29b uxth r3, r3 8072e52: 009b lsls r3, r3, #2 8072e54: 461a mov r2, r3 8072e56: 4bba ldr r3, [pc, #744] ; (8073140 ) 8072e58: 681b ldr r3, [r3, #0] 8072e5a: 429a cmp r2, r3 8072e5c: d20d bcs.n 8072e7a { DrawGraph(); 8072e5e: f033 f923 bl 80a60a8 if(!firstOkt) 8072e62: 4bb8 ldr r3, [pc, #736] ; (8073144 ) 8072e64: 781b ldrb r3, [r3, #0] 8072e66: b2db uxtb r3, r3 8072e68: f083 0301 eor.w r3, r3, #1 8072e6c: b2db uxtb r3, r3 8072e6e: 2b00 cmp r3, #0 8072e70: d001 beq.n 8072e76 DrawCursorData(); 8072e72: f030 fe31 bl 80a3ad8 DrawScaleValue(); 8072e76: f039 f817 bl 80abea8 } ////////////////////////////////////////////////////////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 8072e7a: 48b3 ldr r0, [pc, #716] ; (8073148 ) 8072e7c: f7e0 fcee bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072e80: 49b2 ldr r1, [pc, #712] ; (807314c ) 8072e82: f04f 30ff mov.w r0, #4294967295 8072e86: f7e0 fcad bl 80537e4 /*if(pardata.LANG == RUS) BSP_LCD_DisplayStringAt(3, 46, "CK3,", LEFT_MODE); else BSP_LCD_DisplayStringAt(3, 46, "RMS,", LEFT_MODE);*/ if((measuring) && (firstOkt) && (NSamples != 0xffffffff)) 8072e8a: 4bb1 ldr r3, [pc, #708] ; (8073150 ) 8072e8c: 781b ldrb r3, [r3, #0] 8072e8e: b2db uxtb r3, r3 8072e90: 2b00 cmp r3, #0 8072e92: d07b beq.n 8072f8c 8072e94: 4bab ldr r3, [pc, #684] ; (8073144 ) 8072e96: 781b ldrb r3, [r3, #0] 8072e98: b2db uxtb r3, r3 8072e9a: 2b00 cmp r3, #0 8072e9c: d076 beq.n 8072f8c 8072e9e: 4bad ldr r3, [pc, #692] ; (8073154 ) 8072ea0: 681b ldr r3, [r3, #0] 8072ea2: f1b3 3fff cmp.w r3, #4294967295 8072ea6: d071 beq.n 8072f8c { if((Flag_Set_KU == 0) && (Stability > (Nr * 4))) 8072ea8: 4bab ldr r3, [pc, #684] ; (8073158 ) 8072eaa: 781b ldrb r3, [r3, #0] 8072eac: b2db uxtb r3, r3 8072eae: 2b00 cmp r3, #0 8072eb0: d16c bne.n 8072f8c 8072eb2: 4ba2 ldr r3, [pc, #648] ; (807313c ) 8072eb4: 881b ldrh r3, [r3, #0] 8072eb6: b29b uxth r3, r3 8072eb8: 009b lsls r3, r3, #2 8072eba: 461a mov r2, r3 8072ebc: 4ba0 ldr r3, [pc, #640] ; (8073140 ) 8072ebe: 681b ldr r3, [r3, #0] 8072ec0: 429a cmp r2, r3 8072ec2: d263 bcs.n 8072f8c { uint16_t ww; LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8072ec4: 49a1 ldr r1, [pc, #644] ; (807314c ) 8072ec6: f04f 30ff mov.w r0, #4294967295 8072eca: f7e0 fc8b bl 80537e4 BSP_LCD_FillRect(126, 137, 127, 8); 8072ece: 2308 movs r3, #8 8072ed0: 227f movs r2, #127 ; 0x7f 8072ed2: 2189 movs r1, #137 ; 0x89 8072ed4: 207e movs r0, #126 ; 0x7e 8072ed6: f7e1 f913 bl 8054100 f = (float32_t) MeanCnt / (float32_t) AVG[pardata.AVG]; 8072eda: 4ba0 ldr r3, [pc, #640] ; (807315c ) 8072edc: 681b ldr r3, [r3, #0] 8072ede: ee07 3a90 vmov s15, r3 8072ee2: eef8 6a67 vcvt.f32.u32 s13, s15 8072ee6: 4b9e ldr r3, [pc, #632] ; (8073160 ) 8072ee8: 7b5b ldrb r3, [r3, #13] 8072eea: b2db uxtb r3, r3 8072eec: 461a mov r2, r3 8072eee: 4b9d ldr r3, [pc, #628] ; (8073164 ) 8072ef0: f833 3012 ldrh.w r3, [r3, r2, lsl #1] 8072ef4: ee07 3a90 vmov s15, r3 8072ef8: eeb8 7a67 vcvt.f32.u32 s14, s15 8072efc: eec6 7a87 vdiv.f32 s15, s13, s14 8072f00: f507 638b add.w r3, r7, #1112 ; 0x458 8072f04: edc3 7a00 vstr s15, [r3] f *= 125.0f; 8072f08: f507 638b add.w r3, r7, #1112 ; 0x458 8072f0c: edd3 7a00 vldr s15, [r3] 8072f10: ed9f 7a95 vldr s14, [pc, #596] ; 8073168 8072f14: ee67 7a87 vmul.f32 s15, s15, s14 8072f18: f507 638b add.w r3, r7, #1112 ; 0x458 8072f1c: edc3 7a00 vstr s15, [r3] if(f < 1.0f) f = 1.0f; 8072f20: f507 638b add.w r3, r7, #1112 ; 0x458 8072f24: edd3 7a00 vldr s15, [r3] 8072f28: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 8072f2c: eef4 7ac7 vcmpe.f32 s15, s14 8072f30: eef1 fa10 vmrs APSR_nzcv, fpscr 8072f34: d504 bpl.n 8072f40 8072f36: f04f 537e mov.w r3, #1065353216 ; 0x3f800000 8072f3a: f507 628b add.w r2, r7, #1112 ; 0x458 8072f3e: 6013 str r3, [r2, #0] if(f > 125.0f) f = 125.0f; 8072f40: f507 638b add.w r3, r7, #1112 ; 0x458 8072f44: edd3 7a00 vldr s15, [r3] 8072f48: ed9f 7a87 vldr s14, [pc, #540] ; 8073168 8072f4c: eef4 7ac7 vcmpe.f32 s15, s14 8072f50: eef1 fa10 vmrs APSR_nzcv, fpscr 8072f54: dd03 ble.n 8072f5e 8072f56: 4b85 ldr r3, [pc, #532] ; (807316c ) 8072f58: f507 628b add.w r2, r7, #1112 ; 0x458 8072f5c: 6013 str r3, [r2, #0] ww = (uint16_t) f; 8072f5e: f507 638b add.w r3, r7, #1112 ; 0x458 8072f62: edd3 7a00 vldr s15, [r3] 8072f66: eefc 7ae7 vcvt.u32.f32 s15, s15 8072f6a: edc7 7a01 vstr s15, [r7, #4] 8072f6e: 88bb ldrh r3, [r7, #4] 8072f70: f8a7 340c strh.w r3, [r7, #1036] ; 0x40c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8072f74: 4975 ldr r1, [pc, #468] ; (807314c ) 8072f76: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8072f7a: f7e0 fc33 bl 80537e4 BSP_LCD_FillRect(127, 138, ww, 6); 8072f7e: f8b7 240c ldrh.w r2, [r7, #1036] ; 0x40c 8072f82: 2306 movs r3, #6 8072f84: 218a movs r1, #138 ; 0x8a 8072f86: 207f movs r0, #127 ; 0x7f 8072f88: f7e1 f8ba bl 8054100 } } //DrawRMS(); DrawAVS(); 8072f8c: f03a fc4a bl 80ad824 break; 8072f90: f024 bb4c b.w 809762c case MAIN_OSC: // /////////////////////////////////////////////////////////////////////////////////// DrawLegend(); 8072f94: f03a f9e8 bl 80ad368 DrawButtons(menupos); 8072f98: 4b67 ldr r3, [pc, #412] ; (8073138 ) 8072f9a: 781b ldrb r3, [r3, #0] 8072f9c: b2db uxtb r3, r3 8072f9e: 4618 mov r0, r3 8072fa0: f039 fca0 bl 80ac8e4 if((Threshold) || (Stability > (Nr * 4))) 8072fa4: 4b72 ldr r3, [pc, #456] ; (8073170 ) 8072fa6: 781b ldrb r3, [r3, #0] 8072fa8: b2db uxtb r3, r3 8072faa: 2b00 cmp r3, #0 8072fac: d108 bne.n 8072fc0 8072fae: 4b63 ldr r3, [pc, #396] ; (807313c ) 8072fb0: 881b ldrh r3, [r3, #0] 8072fb2: b29b uxth r3, r3 8072fb4: 009b lsls r3, r3, #2 8072fb6: 461a mov r2, r3 8072fb8: 4b61 ldr r3, [pc, #388] ; (8073140 ) 8072fba: 681b ldr r3, [r3, #0] 8072fbc: 429a cmp r2, r3 8072fbe: d21e bcs.n 8072ffe { if((pardata.IPR == ACC) || ((pardata.IPR > ACC) && (skz[pardata.IPR] != -1.0f))) 8072fc0: 4b67 ldr r3, [pc, #412] ; (8073160 ) 8072fc2: 785b ldrb r3, [r3, #1] 8072fc4: b2db uxtb r3, r3 8072fc6: 2b00 cmp r3, #0 8072fc8: d013 beq.n 8072ff2 8072fca: 4b65 ldr r3, [pc, #404] ; (8073160 ) 8072fcc: 785b ldrb r3, [r3, #1] 8072fce: b2db uxtb r3, r3 8072fd0: 2b00 cmp r3, #0 8072fd2: d014 beq.n 8072ffe 8072fd4: 4b62 ldr r3, [pc, #392] ; (8073160 ) 8072fd6: 785b ldrb r3, [r3, #1] 8072fd8: b2db uxtb r3, r3 8072fda: 4a66 ldr r2, [pc, #408] ; (8073174 ) 8072fdc: 009b lsls r3, r3, #2 8072fde: 4413 add r3, r2 8072fe0: edd3 7a00 vldr s15, [r3] 8072fe4: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 8072fe8: eef4 7a47 vcmp.f32 s15, s14 8072fec: eef1 fa10 vmrs APSR_nzcv, fpscr 8072ff0: d005 beq.n 8072ffe { DrawGraph(); 8072ff2: f033 f859 bl 80a60a8 DrawCursorData(); 8072ff6: f030 fd6f bl 80a3ad8 DrawScaleValue(); 8072ffa: f038 ff55 bl 80abea8 } } /////////////////////////////////////////////////////////////////////////////////// BSP_LCD_SetFont(&Font12); 8072ffe: 4852 ldr r0, [pc, #328] ; (8073148 ) 8073000: f7e0 fc2c bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073004: 4951 ldr r1, [pc, #324] ; (807314c ) 8073006: f04f 30ff mov.w r0, #4294967295 807300a: f7e0 fbeb bl 80537e4 if(pardata.LANG == RUS) 807300e: 4b54 ldr r3, [pc, #336] ; (8073160 ) 8073010: 7b1b ldrb r3, [r3, #12] 8073012: b2db uxtb r3, r3 8073014: 2b00 cmp r3, #0 8073016: d106 bne.n 8073026 BSP_LCD_DisplayStringAt(3, 46, "CK3,", LEFT_MODE); 8073018: 2303 movs r3, #3 807301a: 4a57 ldr r2, [pc, #348] ; (8073178 ) 807301c: 212e movs r1, #46 ; 0x2e 807301e: 2003 movs r0, #3 8073020: f7e0 fca6 bl 8053970 8073024: e005 b.n 8073032 else BSP_LCD_DisplayStringAt(3, 46, "RMS,", LEFT_MODE); 8073026: 2303 movs r3, #3 8073028: 4a54 ldr r2, [pc, #336] ; (807317c ) 807302a: 212e movs r1, #46 ; 0x2e 807302c: 2003 movs r0, #3 807302e: f7e0 fc9f bl 8053970 if((pardata.IPR == ACC) || ((pardata.IPR > ACC) && (skz[pardata.IPR] != -1.0f))) { 8073032: 4b4b ldr r3, [pc, #300] ; (8073160 ) 8073034: 785b ldrb r3, [r3, #1] 8073036: b2db uxtb r3, r3 8073038: 2b00 cmp r3, #0 807303a: d013 beq.n 8073064 807303c: 4b48 ldr r3, [pc, #288] ; (8073160 ) 807303e: 785b ldrb r3, [r3, #1] 8073040: b2db uxtb r3, r3 8073042: 2b00 cmp r3, #0 8073044: d011 beq.n 807306a 8073046: 4b46 ldr r3, [pc, #280] ; (8073160 ) 8073048: 785b ldrb r3, [r3, #1] 807304a: b2db uxtb r3, r3 807304c: 4a49 ldr r2, [pc, #292] ; (8073174 ) 807304e: 009b lsls r3, r3, #2 8073050: 4413 add r3, r2 8073052: edd3 7a00 vldr s15, [r3] 8073056: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 807305a: eef4 7a47 vcmp.f32 s15, s14 807305e: eef1 fa10 vmrs APSR_nzcv, fpscr 8073062: d002 beq.n 807306a DrawRMS(); 8073064: f03a f9d2 bl 80ad40c 8073068: e015 b.n 8073096 } else { LCD_SetColors(LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 807306a: 4938 ldr r1, [pc, #224] ; (807314c ) 807306c: 4844 ldr r0, [pc, #272] ; (8073180 ) 807306e: f7e0 fbb9 bl 80537e4 if(pardata.LANG == RUS) 8073072: 4b3b ldr r3, [pc, #236] ; (8073160 ) 8073074: 7b1b ldrb r3, [r3, #12] 8073076: b2db uxtb r3, r3 8073078: 2b00 cmp r3, #0 807307a: d106 bne.n 807308a BSP_LCD_DisplayStringAt(185, 123, "ÍÅÒ ÄÀÍÍÛÕ", CENTER_MODE); 807307c: 2301 movs r3, #1 807307e: 4a41 ldr r2, [pc, #260] ; (8073184 ) 8073080: 217b movs r1, #123 ; 0x7b 8073082: 20b9 movs r0, #185 ; 0xb9 8073084: f7e0 fc74 bl 8053970 8073088: e005 b.n 8073096 else BSP_LCD_DisplayStringAt(185, 123, "NO DATA", CENTER_MODE); 807308a: 2301 movs r3, #1 807308c: 4a3e ldr r2, [pc, #248] ; (8073188 ) 807308e: 217b movs r1, #123 ; 0x7b 8073090: 20b9 movs r0, #185 ; 0xb9 8073092: f7e0 fc6d bl 8053970 } DrawAVS(); 8073096: f03a fbc5 bl 80ad824 break; 807309a: f024 bac7 b.w 809762c case MAIN_WAVE: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807309e: 492b ldr r1, [pc, #172] ; (807314c ) 80730a0: 483a ldr r0, [pc, #232] ; (807318c ) 80730a2: f7e0 fb9f bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 80730a6: 23c9 movs r3, #201 ; 0xc9 80730a8: f44f 729d mov.w r2, #314 ; 0x13a 80730ac: 2123 movs r1, #35 ; 0x23 80730ae: 2002 movs r0, #2 80730b0: f7e0 fe9e bl 8053df0 BSP_LCD_SetFont(&Font12); 80730b4: 4824 ldr r0, [pc, #144] ; (8073148 ) 80730b6: f7e0 fbd1 bl 805385c if(CardState == MSD_NOCARD) 80730ba: 4b35 ldr r3, [pc, #212] ; (8073190 ) 80730bc: 781b ldrb r3, [r3, #0] 80730be: b2db uxtb r3, r3 80730c0: 2b00 cmp r3, #0 80730c2: d11d bne.n 8073100 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80730c4: 4921 ldr r1, [pc, #132] ; (807314c ) 80730c6: f04f 30ff mov.w r0, #4294967295 80730ca: f7e0 fb8b bl 80537e4 if(pardata.LANG == RUS) 80730ce: 4b24 ldr r3, [pc, #144] ; (8073160 ) 80730d0: 7b1b ldrb r3, [r3, #12] 80730d2: b2db uxtb r3, r3 80730d4: 2b00 cmp r3, #0 80730d6: d10c bne.n 80730f2 { BSP_LCD_DisplayStringAt(165, 120, "Çàïèñü âðåìåííîãî ñèãíàëà íåâîçìîæíà!", CENTER_MODE); 80730d8: 2301 movs r3, #1 80730da: 4a2e ldr r2, [pc, #184] ; (8073194 ) 80730dc: 2178 movs r1, #120 ; 0x78 80730de: 20a5 movs r0, #165 ; 0xa5 80730e0: f7e0 fc46 bl 8053970 BSP_LCD_DisplayStringAt(165, 135, "Îòñóòñòâóåò êàðòà ïàìÿòè!", CENTER_MODE); 80730e4: 2301 movs r3, #1 80730e6: 4a2c ldr r2, [pc, #176] ; (8073198 ) 80730e8: 2187 movs r1, #135 ; 0x87 80730ea: 20a5 movs r0, #165 ; 0xa5 80730ec: f7e0 fc40 bl 8053970 80730f0: e103 b.n 80732fa } else { BSP_LCD_DisplayStringAt(165, 120, "Drive is not present!", CENTER_MODE); 80730f2: 2301 movs r3, #1 80730f4: 4a29 ldr r2, [pc, #164] ; (807319c ) 80730f6: 2178 movs r1, #120 ; 0x78 80730f8: 20a5 movs r0, #165 ; 0xa5 80730fa: f7e0 fc39 bl 8053970 80730fe: e0fc b.n 80732fa } } else if(CardState == MSD_PRESENT) 8073100: 4b23 ldr r3, [pc, #140] ; (8073190 ) 8073102: 781b ldrb r3, [r3, #0] 8073104: b2db uxtb r3, r3 8073106: 2b01 cmp r3, #1 8073108: d153 bne.n 80731b2 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807310a: 4910 ldr r1, [pc, #64] ; (807314c ) 807310c: f04f 30ff mov.w r0, #4294967295 8073110: f7e0 fb68 bl 80537e4 if(pardata.LANG == RUS) 8073114: 4b12 ldr r3, [pc, #72] ; (8073160 ) 8073116: 7b1b ldrb r3, [r3, #12] 8073118: b2db uxtb r3, r3 807311a: 2b00 cmp r3, #0 807311c: d142 bne.n 80731a4 { BSP_LCD_DisplayStringAt(165, 120, "Çàïèñü âðåìåííîãî ñèãíàëà íåâîçìîæíà!", CENTER_MODE); 807311e: 2301 movs r3, #1 8073120: 4a1c ldr r2, [pc, #112] ; (8073194 ) 8073122: 2178 movs r1, #120 ; 0x78 8073124: 20a5 movs r0, #165 ; 0xa5 8073126: f7e0 fc23 bl 8053970 BSP_LCD_DisplayStringAt(165, 135, "Îòñóòñòâóåò ôàéëîâàÿ ñèñòåìà!", CENTER_MODE); 807312a: 2301 movs r3, #1 807312c: 4a1c ldr r2, [pc, #112] ; (80731a0 ) 807312e: 2187 movs r1, #135 ; 0x87 8073130: 20a5 movs r0, #165 ; 0xa5 8073132: f7e0 fc1d bl 8053970 8073136: e0e0 b.n 80732fa 8073138: 20020070 .word 0x20020070 807313c: 20021d20 .word 0x20021d20 8073140: 20020da8 .word 0x20020da8 8073144: 20020d94 .word 0x20020d94 8073148: 20020038 .word 0x20020038 807314c: ff0a0f1f .word 0xff0a0f1f 8073150: 20020daf .word 0x20020daf 8073154: 20020d88 .word 0x20020d88 8073158: 20020d7e .word 0x20020d7e 807315c: 20020db8 .word 0x20020db8 8073160: 20023e60 .word 0x20023e60 8073164: 080ef660 .word 0x080ef660 8073168: 42fa0000 .word 0x42fa0000 807316c: 42fa0000 .word 0x42fa0000 8073170: 20020db1 .word 0x20020db1 8073174: 20021540 .word 0x20021540 8073178: 080cfb1c .word 0x080cfb1c 807317c: 080cfb24 .word 0x080cfb24 8073180: ff808000 .word 0xff808000 8073184: 080cfb2c .word 0x080cfb2c 8073188: 080cfb38 .word 0x080cfb38 807318c: ffd3d3d3 .word 0xffd3d3d3 8073190: 2002164c .word 0x2002164c 8073194: 080cfb40 .word 0x080cfb40 8073198: 080cfb68 .word 0x080cfb68 807319c: 080cfb84 .word 0x080cfb84 80731a0: 080cfb9c .word 0x080cfb9c } else { BSP_LCD_DisplayStringAt(165, 120, "File system is not found!", CENTER_MODE); 80731a4: 2301 movs r3, #1 80731a6: 4a70 ldr r2, [pc, #448] ; (8073368 ) 80731a8: 2178 movs r1, #120 ; 0x78 80731aa: 20a5 movs r0, #165 ; 0xa5 80731ac: f7e0 fbe0 bl 8053970 80731b0: e0a3 b.n 80732fa } } else if(CardState == MSD_READY) 80731b2: 4b6e ldr r3, [pc, #440] ; (807336c ) 80731b4: 781b ldrb r3, [r3, #0] 80731b6: b2db uxtb r3, r3 80731b8: 2b03 cmp r3, #3 80731ba: f040 809e bne.w 80732fa { if(IS_ROUTE == false) 80731be: 4b6c ldr r3, [pc, #432] ; (8073370 ) 80731c0: 781b ldrb r3, [r3, #0] 80731c2: b2db uxtb r3, r3 80731c4: f083 0301 eor.w r3, r3, #1 80731c8: b2db uxtb r3, r3 80731ca: 2b00 cmp r3, #0 80731cc: d009 beq.n 80731e2 strcpy(str1, "//Records/"); 80731ce: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80731d2: 4a68 ldr r2, [pc, #416] ; (8073374 ) 80731d4: ca07 ldmia r2, {r0, r1, r2} 80731d6: c303 stmia r3!, {r0, r1} 80731d8: 801a strh r2, [r3, #0] 80731da: 3302 adds r3, #2 80731dc: 0c12 lsrs r2, r2, #16 80731de: 701a strb r2, [r3, #0] 80731e0: e025 b.n 807322e else { strcpy(str1, "../POINT "); 80731e2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80731e6: 4a64 ldr r2, [pc, #400] ; (8073378 ) 80731e8: ca07 ldmia r2, {r0, r1, r2} 80731ea: c303 stmia r3!, {r0, r1} 80731ec: 801a strh r2, [r3, #0] itoa(RoutePointID, &str1[strlen(str1)], 10); 80731ee: 4b63 ldr r3, [pc, #396] ; (807337c ) 80731f0: 681b ldr r3, [r3, #0] 80731f2: 461c mov r4, r3 80731f4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80731f8: 4618 mov r0, r3 80731fa: f7ad f88b bl 8020314 80731fe: 4602 mov r2, r0 8073200: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8073204: 4413 add r3, r2 8073206: 220a movs r2, #10 8073208: 4619 mov r1, r3 807320a: 4620 mov r0, r4 807320c: f059 ff0c bl 80cd028 strcat(str1, "/"); 8073210: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8073214: 4618 mov r0, r3 8073216: f7ad f87d bl 8020314 807321a: 4603 mov r3, r0 807321c: 461a mov r2, r3 807321e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8073222: 4413 add r3, r2 8073224: 4956 ldr r1, [pc, #344] ; (8073380 ) 8073226: 461a mov r2, r3 8073228: 460b mov r3, r1 807322a: 881b ldrh r3, [r3, #0] 807322c: 8013 strh r3, [r2, #0] } if(strlen(WavFileName) > 0) 807322e: 4b55 ldr r3, [pc, #340] ; (8073384 ) 8073230: 781b ldrb r3, [r3, #0] 8073232: 2b00 cmp r3, #0 8073234: d048 beq.n 80732c8 { strcat(str1, WavFileName); 8073236: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807323a: 4952 ldr r1, [pc, #328] ; (8073384 ) 807323c: 4618 mov r0, r3 807323e: f05a f81f bl 80cd280 k = strcspn(str1, "\t\n."); 8073242: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8073246: 4950 ldr r1, [pc, #320] ; (8073388 ) 8073248: 4618 mov r0, r3 807324a: f05a f83e bl 80cd2ca 807324e: 4603 mov r3, r0 8073250: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 str1[k] = '\0'; 8073254: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8073258: f507 72f6 add.w r2, r7, #492 ; 0x1ec 807325c: 2100 movs r1, #0 807325e: 54d1 strb r1, [r2, r3] strcat(str1, "/"); 8073260: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8073264: 4618 mov r0, r3 8073266: f7ad f855 bl 8020314 807326a: 4603 mov r3, r0 807326c: 461a mov r2, r3 807326e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8073272: 4413 add r3, r2 8073274: 4942 ldr r1, [pc, #264] ; (8073380 ) 8073276: 461a mov r2, r3 8073278: 460b mov r3, r1 807327a: 881b ldrh r3, [r3, #0] 807327c: 8013 strh r3, [r2, #0] if(Recording) 807327e: 4b43 ldr r3, [pc, #268] ; (807338c ) 8073280: 781b ldrb r3, [r3, #0] 8073282: b2db uxtb r3, r3 8073284: 2b00 cmp r3, #0 8073286: d005 beq.n 8073294 strcat(str1, RecordingName); 8073288: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807328c: 4940 ldr r1, [pc, #256] ; (8073390 ) 807328e: 4618 mov r0, r3 8073290: f059 fff6 bl 80cd280 k = strlen(str1); 8073294: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8073298: 4618 mov r0, r3 807329a: f7ad f83b bl 8020314 807329e: 4603 mov r3, r0 80732a0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > 31) 80732a4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80732a8: 2b1f cmp r3, #31 80732aa: d918 bls.n 80732de { str1[k - 1] = '~'; 80732ac: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80732b0: 3b01 subs r3, #1 80732b2: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80732b6: 217e movs r1, #126 ; 0x7e 80732b8: 54d1 strb r1, [r2, r3] str1[k] = '\0'; 80732ba: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80732be: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80732c2: 2100 movs r1, #0 80732c4: 54d1 strb r1, [r2, r3] 80732c6: e00a b.n 80732de } } else { if(Recording) 80732c8: 4b30 ldr r3, [pc, #192] ; (807338c ) 80732ca: 781b ldrb r3, [r3, #0] 80732cc: b2db uxtb r3, r3 80732ce: 2b00 cmp r3, #0 80732d0: d005 beq.n 80732de strcat(str1, RecordingName); 80732d2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80732d6: 492e ldr r1, [pc, #184] ; (8073390 ) 80732d8: 4618 mov r0, r3 80732da: f059 ffd1 bl 80cd280 } LCD_SetColors(LCD_COLOR_MYBROWN, LCD_COLOR_BLACK); 80732de: 492d ldr r1, [pc, #180] ; (8073394 ) 80732e0: 482d ldr r0, [pc, #180] ; (8073398 ) 80732e2: f7e0 fa7f bl 80537e4 BSP_LCD_SetFont(&Font12); 80732e6: 482d ldr r0, [pc, #180] ; (807339c ) 80732e8: f7e0 fab8 bl 805385c BSP_LCD_DisplayStringAt(165, 40, str1, CENTER_MODE); 80732ec: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80732f0: 2301 movs r3, #1 80732f2: 2128 movs r1, #40 ; 0x28 80732f4: 20a5 movs r0, #165 ; 0xa5 80732f6: f7e0 fb3b bl 8053970 if(Threshold) 80732fa: 4b29 ldr r3, [pc, #164] ; (80733a0 ) 80732fc: 781b ldrb r3, [r3, #0] 80732fe: b2db uxtb r3, r3 8073300: 2b00 cmp r3, #0 8073302: f000 8176 beq.w 80735f2 { BSP_LCD_SetFont(&Font12); 8073306: 4825 ldr r0, [pc, #148] ; (807339c ) 8073308: f7e0 faa8 bl 805385c if(measuring) 807330c: 4b25 ldr r3, [pc, #148] ; (80733a4 ) 807330e: 781b ldrb r3, [r3, #0] 8073310: b2db uxtb r3, r3 8073312: 2b00 cmp r3, #0 8073314: f000 8144 beq.w 80735a0 { if(Recording == false) 8073318: 4b1c ldr r3, [pc, #112] ; (807338c ) 807331a: 781b ldrb r3, [r3, #0] 807331c: b2db uxtb r3, r3 807331e: f083 0301 eor.w r3, r3, #1 8073322: b2db uxtb r3, r3 8073324: 2b00 cmp r3, #0 8073326: d045 beq.n 80733b4 { if(CardState == MSD_READY) 8073328: 4b10 ldr r3, [pc, #64] ; (807336c ) 807332a: 781b ldrb r3, [r3, #0] 807332c: b2db uxtb r3, r3 807332e: 2b03 cmp r3, #3 8073330: f064 8155 bne.w 80975de { LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8073334: 4917 ldr r1, [pc, #92] ; (8073394 ) 8073336: f06f 00ff mvn.w r0, #255 ; 0xff 807333a: f7e0 fa53 bl 80537e4 if(pardata.LANG == RUS) 807333e: 4b1a ldr r3, [pc, #104] ; (80733a8 ) 8073340: 7b1b ldrb r3, [r3, #12] 8073342: b2db uxtb r3, r3 8073344: 2b00 cmp r3, #0 8073346: d107 bne.n 8073358 { BSP_LCD_DisplayStringAt(165, 120, "Îæèäàíèå ïîðîãà ñðàáàòûâàíèÿ...", CENTER_MODE); 8073348: 2301 movs r3, #1 807334a: 4a18 ldr r2, [pc, #96] ; (80733ac ) 807334c: 2178 movs r1, #120 ; 0x78 807334e: 20a5 movs r0, #165 ; 0xa5 8073350: f7e0 fb0e bl 8053970 BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); } break; } } break; 8073354: f024 b943 b.w 80975de BSP_LCD_DisplayStringAt(165, 120, "Waiting for trigger threshold...", CENTER_MODE); 8073358: 2301 movs r3, #1 807335a: 4a15 ldr r2, [pc, #84] ; (80733b0 ) 807335c: 2178 movs r1, #120 ; 0x78 807335e: 20a5 movs r0, #165 ; 0xa5 8073360: f7e0 fb06 bl 8053970 break; 8073364: f024 b93b b.w 80975de 8073368: 080cfbbc .word 0x080cfbbc 807336c: 2002164c .word 0x2002164c 8073370: 20020db3 .word 0x20020db3 8073374: 080cfbd8 .word 0x080cfbd8 8073378: 080cfbe4 .word 0x080cfbe4 807337c: 20020034 .word 0x20020034 8073380: 080cfbf0 .word 0x080cfbf0 8073384: 20020e34 .word 0x20020e34 8073388: 080cfbf4 .word 0x080cfbf4 807338c: 20020db0 .word 0x20020db0 8073390: 20022328 .word 0x20022328 8073394: ff0a0f1f .word 0xff0a0f1f 8073398: ffd3b36e .word 0xffd3b36e 807339c: 20020038 .word 0x20020038 80733a0: 20020db1 .word 0x20020db1 80733a4: 20020daf .word 0x20020daf 80733a8: 20023e60 .word 0x20023e60 80733ac: 080cfbf8 .word 0x080cfbf8 80733b0: 080cfc18 .word 0x080cfc18 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80733b4: 49b2 ldr r1, [pc, #712] ; (8073680 ) 80733b6: f04f 30ff mov.w r0, #4294967295 80733ba: f7e0 fa13 bl 80537e4 BSP_LCD_SetFont(&Font12); 80733be: 48b1 ldr r0, [pc, #708] ; (8073684 ) 80733c0: f7e0 fa4c bl 805385c k = TimeRec; 80733c4: 4bb0 ldr r3, [pc, #704] ; (8073688 ) 80733c6: 681b ldr r3, [r3, #0] 80733c8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > TIMEREC[5][pardata.TME]) 80733cc: 4baf ldr r3, [pc, #700] ; (807368c ) 80733ce: 7b9b ldrb r3, [r3, #14] 80733d0: b2db uxtb r3, r3 80733d2: 4aaf ldr r2, [pc, #700] ; (8073690 ) 80733d4: 3337 adds r3, #55 ; 0x37 80733d6: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80733da: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80733de: 429a cmp r2, r3 80733e0: d208 bcs.n 80733f4 k = TIMEREC[5][pardata.TME]; 80733e2: 4baa ldr r3, [pc, #680] ; (807368c ) 80733e4: 7b9b ldrb r3, [r3, #14] 80733e6: b2db uxtb r3, r3 80733e8: 4aa9 ldr r2, [pc, #676] ; (8073690 ) 80733ea: 3337 adds r3, #55 ; 0x37 80733ec: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80733f0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Hours = ((k / Fs) / 60) / 60; 80733f4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80733f8: 4ba6 ldr r3, [pc, #664] ; (8073694 ) 80733fa: 681b ldr r3, [r3, #0] 80733fc: fbb2 f3f3 udiv r3, r2, r3 8073400: 4aa5 ldr r2, [pc, #660] ; (8073698 ) 8073402: fba2 2303 umull r2, r3, r2, r3 8073406: 0adb lsrs r3, r3, #11 8073408: 4aa4 ldr r2, [pc, #656] ; (807369c ) 807340a: 6013 str r3, [r2, #0] Minutes = ((k / Fs) / 60) % 60; 807340c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8073410: 4ba0 ldr r3, [pc, #640] ; (8073694 ) 8073412: 681b ldr r3, [r3, #0] 8073414: fbb2 f3f3 udiv r3, r2, r3 8073418: 4aa1 ldr r2, [pc, #644] ; (80736a0 ) 807341a: fba2 2303 umull r2, r3, r2, r3 807341e: 0959 lsrs r1, r3, #5 8073420: 4b9f ldr r3, [pc, #636] ; (80736a0 ) 8073422: fba3 2301 umull r2, r3, r3, r1 8073426: 095a lsrs r2, r3, #5 8073428: 4613 mov r3, r2 807342a: 011b lsls r3, r3, #4 807342c: 1a9b subs r3, r3, r2 807342e: 009b lsls r3, r3, #2 8073430: 1aca subs r2, r1, r3 8073432: 4b9c ldr r3, [pc, #624] ; (80736a4 ) 8073434: 601a str r2, [r3, #0] Seconds = (k / Fs) % 60; 8073436: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807343a: 4b96 ldr r3, [pc, #600] ; (8073694 ) 807343c: 681b ldr r3, [r3, #0] 807343e: fbb2 f1f3 udiv r1, r2, r3 8073442: 4b97 ldr r3, [pc, #604] ; (80736a0 ) 8073444: fba3 2301 umull r2, r3, r3, r1 8073448: 095a lsrs r2, r3, #5 807344a: 4613 mov r3, r2 807344c: 011b lsls r3, r3, #4 807344e: 1a9b subs r3, r3, r2 8073450: 009b lsls r3, r3, #2 8073452: 1aca subs r2, r1, r3 8073454: 4b94 ldr r3, [pc, #592] ; (80736a8 ) 8073456: 601a str r2, [r3, #0] str[0] = (Hours / 10) + 48; 8073458: 4b90 ldr r3, [pc, #576] ; (807369c ) 807345a: 681b ldr r3, [r3, #0] 807345c: 4a93 ldr r2, [pc, #588] ; (80736ac ) 807345e: fba2 2303 umull r2, r3, r2, r3 8073462: 08db lsrs r3, r3, #3 8073464: b2db uxtb r3, r3 8073466: 3330 adds r3, #48 ; 0x30 8073468: b2da uxtb r2, r3 807346a: f507 733b add.w r3, r7, #748 ; 0x2ec 807346e: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8073470: 4b8a ldr r3, [pc, #552] ; (807369c ) 8073472: 6819 ldr r1, [r3, #0] 8073474: 4b8d ldr r3, [pc, #564] ; (80736ac ) 8073476: fba3 2301 umull r2, r3, r3, r1 807347a: 08da lsrs r2, r3, #3 807347c: 4613 mov r3, r2 807347e: 009b lsls r3, r3, #2 8073480: 4413 add r3, r2 8073482: 005b lsls r3, r3, #1 8073484: 1aca subs r2, r1, r3 8073486: b2d3 uxtb r3, r2 8073488: 3330 adds r3, #48 ; 0x30 807348a: b2da uxtb r2, r3 807348c: f507 733b add.w r3, r7, #748 ; 0x2ec 8073490: 705a strb r2, [r3, #1] str[2] = ':'; 8073492: f507 733b add.w r3, r7, #748 ; 0x2ec 8073496: 223a movs r2, #58 ; 0x3a 8073498: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 807349a: 4b82 ldr r3, [pc, #520] ; (80736a4 ) 807349c: 681b ldr r3, [r3, #0] 807349e: 4a83 ldr r2, [pc, #524] ; (80736ac ) 80734a0: fba2 2303 umull r2, r3, r2, r3 80734a4: 08db lsrs r3, r3, #3 80734a6: b2db uxtb r3, r3 80734a8: 3330 adds r3, #48 ; 0x30 80734aa: b2da uxtb r2, r3 80734ac: f507 733b add.w r3, r7, #748 ; 0x2ec 80734b0: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 80734b2: 4b7c ldr r3, [pc, #496] ; (80736a4 ) 80734b4: 6819 ldr r1, [r3, #0] 80734b6: 4b7d ldr r3, [pc, #500] ; (80736ac ) 80734b8: fba3 2301 umull r2, r3, r3, r1 80734bc: 08da lsrs r2, r3, #3 80734be: 4613 mov r3, r2 80734c0: 009b lsls r3, r3, #2 80734c2: 4413 add r3, r2 80734c4: 005b lsls r3, r3, #1 80734c6: 1aca subs r2, r1, r3 80734c8: b2d3 uxtb r3, r2 80734ca: 3330 adds r3, #48 ; 0x30 80734cc: b2da uxtb r2, r3 80734ce: f507 733b add.w r3, r7, #748 ; 0x2ec 80734d2: 711a strb r2, [r3, #4] str[5] = ':'; 80734d4: f507 733b add.w r3, r7, #748 ; 0x2ec 80734d8: 223a movs r2, #58 ; 0x3a 80734da: 715a strb r2, [r3, #5] str[6] = (Seconds / 10) + 48; 80734dc: 4b72 ldr r3, [pc, #456] ; (80736a8 ) 80734de: 681b ldr r3, [r3, #0] 80734e0: 4a72 ldr r2, [pc, #456] ; (80736ac ) 80734e2: fba2 2303 umull r2, r3, r2, r3 80734e6: 08db lsrs r3, r3, #3 80734e8: b2db uxtb r3, r3 80734ea: 3330 adds r3, #48 ; 0x30 80734ec: b2da uxtb r2, r3 80734ee: f507 733b add.w r3, r7, #748 ; 0x2ec 80734f2: 719a strb r2, [r3, #6] str[7] = (Seconds % 10) + 48; 80734f4: 4b6c ldr r3, [pc, #432] ; (80736a8 ) 80734f6: 6819 ldr r1, [r3, #0] 80734f8: 4b6c ldr r3, [pc, #432] ; (80736ac ) 80734fa: fba3 2301 umull r2, r3, r3, r1 80734fe: 08da lsrs r2, r3, #3 8073500: 4613 mov r3, r2 8073502: 009b lsls r3, r3, #2 8073504: 4413 add r3, r2 8073506: 005b lsls r3, r3, #1 8073508: 1aca subs r2, r1, r3 807350a: b2d3 uxtb r3, r2 807350c: 3330 adds r3, #48 ; 0x30 807350e: b2da uxtb r2, r3 8073510: f507 733b add.w r3, r7, #748 ; 0x2ec 8073514: 71da strb r2, [r3, #7] str[8] = '\0'; 8073516: f507 733b add.w r3, r7, #748 ; 0x2ec 807351a: 2200 movs r2, #0 807351c: 721a strb r2, [r3, #8] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807351e: 4958 ldr r1, [pc, #352] ; (8073680 ) 8073520: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8073524: f7e0 f95e bl 80537e4 BSP_LCD_SetFont(&Font20); 8073528: 4861 ldr r0, [pc, #388] ; (80736b0 ) 807352a: f7e0 f997 bl 805385c BSP_LCD_DisplayStringAt(165, 120, str, CENTER_MODE); 807352e: f507 723b add.w r2, r7, #748 ; 0x2ec 8073532: 2301 movs r3, #1 8073534: 2178 movs r1, #120 ; 0x78 8073536: 20a5 movs r0, #165 ; 0xa5 8073538: f7e0 fa1a bl 8053970 if(old_second != Seconds) 807353c: 4b5d ldr r3, [pc, #372] ; (80736b4 ) 807353e: 681a ldr r2, [r3, #0] 8073540: 4b59 ldr r3, [pc, #356] ; (80736a8 ) 8073542: 681b ldr r3, [r3, #0] 8073544: 429a cmp r2, r3 8073546: d004 beq.n 8073552 DrawImage(&bmREC1, 151, 145); 8073548: 2291 movs r2, #145 ; 0x91 807354a: 2197 movs r1, #151 ; 0x97 807354c: 485a ldr r0, [pc, #360] ; (80736b8 ) 807354e: f7e1 f83d bl 80545cc old_second = Seconds; 8073552: 4b55 ldr r3, [pc, #340] ; (80736a8 ) 8073554: 681b ldr r3, [r3, #0] 8073556: 4a57 ldr r2, [pc, #348] ; (80736b4 ) 8073558: 6013 str r3, [r2, #0] BSP_LCD_SetFont(&Font12); 807355a: 484a ldr r0, [pc, #296] ; (8073684 ) 807355c: f7e0 f97e bl 805385c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8073560: 4947 ldr r1, [pc, #284] ; (8073680 ) 8073562: f06f 00ff mvn.w r0, #255 ; 0xff 8073566: f7e0 f93d bl 80537e4 if(pardata.LANG == RUS) 807356a: 4b48 ldr r3, [pc, #288] ; (807368c ) 807356c: 7b1b ldrb r3, [r3, #12] 807356e: b2db uxtb r3, r3 8073570: 2b00 cmp r3, #0 8073572: d10d bne.n 8073590 BSP_LCD_DisplayStringAt(165, 205, "×òîáû îñòàíîâèòü çàïèñü", CENTER_MODE); 8073574: 2301 movs r3, #1 8073576: 4a51 ldr r2, [pc, #324] ; (80736bc ) 8073578: 21cd movs r1, #205 ; 0xcd 807357a: 20a5 movs r0, #165 ; 0xa5 807357c: f7e0 f9f8 bl 8053970 BSP_LCD_DisplayStringAt(165, 220, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 8073580: 2301 movs r3, #1 8073582: 4a4f ldr r2, [pc, #316] ; (80736c0 ) 8073584: 21dc movs r1, #220 ; 0xdc 8073586: 20a5 movs r0, #165 ; 0xa5 8073588: f7e0 f9f2 bl 8053970 break; 807358c: f024 b827 b.w 80975de BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); 8073590: 2301 movs r3, #1 8073592: 4a4c ldr r2, [pc, #304] ; (80736c4 ) 8073594: 21dc movs r1, #220 ; 0xdc 8073596: 20a5 movs r0, #165 ; 0xa5 8073598: f7e0 f9ea bl 8053970 break; 807359c: f024 b81f b.w 80975de BSP_LCD_SetFont(&Font12); 80735a0: 4838 ldr r0, [pc, #224] ; (8073684 ) 80735a2: f7e0 f95b bl 805385c if(CardState == MSD_READY) 80735a6: 4b48 ldr r3, [pc, #288] ; (80736c8 ) 80735a8: 781b ldrb r3, [r3, #0] 80735aa: b2db uxtb r3, r3 80735ac: 2b03 cmp r3, #3 80735ae: f064 8016 bne.w 80975de LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80735b2: 4933 ldr r1, [pc, #204] ; (8073680 ) 80735b4: f06f 00ff mvn.w r0, #255 ; 0xff 80735b8: f7e0 f914 bl 80537e4 if(pardata.LANG == RUS) 80735bc: 4b33 ldr r3, [pc, #204] ; (807368c ) 80735be: 7b1b ldrb r3, [r3, #12] 80735c0: b2db uxtb r3, r3 80735c2: 2b00 cmp r3, #0 80735c4: d10d bne.n 80735e2 BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 80735c6: 2301 movs r3, #1 80735c8: 4a40 ldr r2, [pc, #256] ; (80736cc ) 80735ca: 2178 movs r1, #120 ; 0x78 80735cc: 20a5 movs r0, #165 ; 0xa5 80735ce: f7e0 f9cf bl 8053970 BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 80735d2: 2301 movs r3, #1 80735d4: 4a3a ldr r2, [pc, #232] ; (80736c0 ) 80735d6: 2187 movs r1, #135 ; 0x87 80735d8: 20a5 movs r0, #165 ; 0xa5 80735da: f7e0 f9c9 bl 8053970 break; 80735de: f023 bffe b.w 80975de BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 80735e2: 2301 movs r3, #1 80735e4: 4a3a ldr r2, [pc, #232] ; (80736d0 ) 80735e6: 2178 movs r1, #120 ; 0x78 80735e8: 20a5 movs r0, #165 ; 0xa5 80735ea: f7e0 f9c1 bl 8053970 break; 80735ee: f023 bff6 b.w 80975de switch(menupos) 80735f2: 4b38 ldr r3, [pc, #224] ; (80736d4 ) 80735f4: 781b ldrb r3, [r3, #0] 80735f6: b2db uxtb r3, r3 80735f8: 2b04 cmp r3, #4 80735fa: f223 87f0 bhi.w 80975de 80735fe: a201 add r2, pc, #4 ; (adr r2, 8073604 ) 8073600: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8073604: 0807395b .word 0x0807395b 8073608: 08073619 .word 0x08073619 807360c: 08073a21 .word 0x08073a21 8073610: 08073a7b .word 0x08073a7b 8073614: 080738cd .word 0x080738cd if(oldmenupos == ReadyRec) 8073618: 4b2f ldr r3, [pc, #188] ; (80736d8 ) 807361a: 781b ldrb r3, [r3, #0] 807361c: b2db uxtb r3, r3 807361e: 2b03 cmp r3, #3 8073620: f040 834d bne.w 8073cbe if(Recording == false) 8073624: 4b2d ldr r3, [pc, #180] ; (80736dc ) 8073626: 781b ldrb r3, [r3, #0] 8073628: b2db uxtb r3, r3 807362a: f083 0301 eor.w r3, r3, #1 807362e: b2db uxtb r3, r3 8073630: 2b00 cmp r3, #0 8073632: d057 beq.n 80736e4 if(CardState == MSD_READY) 8073634: 4b24 ldr r3, [pc, #144] ; (80736c8 ) 8073636: 781b ldrb r3, [r3, #0] 8073638: b2db uxtb r3, r3 807363a: 2b03 cmp r3, #3 807363c: f040 833f bne.w 8073cbe BSP_LCD_SetFont(&Font12); 8073640: 4810 ldr r0, [pc, #64] ; (8073684 ) 8073642: f7e0 f90b bl 805385c LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8073646: 490e ldr r1, [pc, #56] ; (8073680 ) 8073648: 4825 ldr r0, [pc, #148] ; (80736e0 ) 807364a: f7e0 f8cb bl 80537e4 if(pardata.LANG == RUS) 807364e: 4b0f ldr r3, [pc, #60] ; (807368c ) 8073650: 7b1b ldrb r3, [r3, #12] 8073652: b2db uxtb r3, r3 8073654: 2b00 cmp r3, #0 8073656: d10c bne.n 8073672 BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 8073658: 2301 movs r3, #1 807365a: 4a1c ldr r2, [pc, #112] ; (80736cc ) 807365c: 2178 movs r1, #120 ; 0x78 807365e: 20a5 movs r0, #165 ; 0xa5 8073660: f7e0 f986 bl 8053970 BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 8073664: 2301 movs r3, #1 8073666: 4a16 ldr r2, [pc, #88] ; (80736c0 ) 8073668: 2187 movs r1, #135 ; 0x87 807366a: 20a5 movs r0, #165 ; 0xa5 807366c: f7e0 f980 bl 8053970 break; 8073670: e325 b.n 8073cbe BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 8073672: 2301 movs r3, #1 8073674: 4a16 ldr r2, [pc, #88] ; (80736d0 ) 8073676: 2178 movs r1, #120 ; 0x78 8073678: 20a5 movs r0, #165 ; 0xa5 807367a: f7e0 f979 bl 8053970 break; 807367e: e31e b.n 8073cbe 8073680: ff0a0f1f .word 0xff0a0f1f 8073684: 20020038 .word 0x20020038 8073688: 20021684 .word 0x20021684 807368c: 20023e60 .word 0x20023e60 8073690: 080ef4f8 .word 0x080ef4f8 8073694: 20021d1c .word 0x20021d1c 8073698: 91a2b3c5 .word 0x91a2b3c5 807369c: 2002163c .word 0x2002163c 80736a0: 88888889 .word 0x88888889 80736a4: 20021640 .word 0x20021640 80736a8: 20021644 .word 0x20021644 80736ac: cccccccd .word 0xcccccccd 80736b0: 20020050 .word 0x20020050 80736b4: 20021664 .word 0x20021664 80736b8: 08144448 .word 0x08144448 80736bc: 080cfc3c .word 0x080cfc3c 80736c0: 080cfc54 .word 0x080cfc54 80736c4: 080cfc6c .word 0x080cfc6c 80736c8: 2002164c .word 0x2002164c 80736cc: 080cfc8c .word 0x080cfc8c 80736d0: 080cfca0 .word 0x080cfca0 80736d4: 20020070 .word 0x20020070 80736d8: 20020f7a .word 0x20020f7a 80736dc: 20020db0 .word 0x20020db0 80736e0: ff29eb19 .word 0xff29eb19 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80736e4: 49b6 ldr r1, [pc, #728] ; (80739c0 ) 80736e6: f04f 30ff mov.w r0, #4294967295 80736ea: f7e0 f87b bl 80537e4 BSP_LCD_SetFont(&Font12); 80736ee: 48b5 ldr r0, [pc, #724] ; (80739c4 ) 80736f0: f7e0 f8b4 bl 805385c k = TimeRec; 80736f4: 4bb4 ldr r3, [pc, #720] ; (80739c8 ) 80736f6: 681b ldr r3, [r3, #0] 80736f8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > TIMEREC[5][pardata.TME]) 80736fc: 4bb3 ldr r3, [pc, #716] ; (80739cc ) 80736fe: 7b9b ldrb r3, [r3, #14] 8073700: b2db uxtb r3, r3 8073702: 4ab3 ldr r2, [pc, #716] ; (80739d0 ) 8073704: 3337 adds r3, #55 ; 0x37 8073706: f852 2023 ldr.w r2, [r2, r3, lsl #2] 807370a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807370e: 429a cmp r2, r3 8073710: d208 bcs.n 8073724 k = TIMEREC[5][pardata.TME]; 8073712: 4bae ldr r3, [pc, #696] ; (80739cc ) 8073714: 7b9b ldrb r3, [r3, #14] 8073716: b2db uxtb r3, r3 8073718: 4aad ldr r2, [pc, #692] ; (80739d0 ) 807371a: 3337 adds r3, #55 ; 0x37 807371c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8073720: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Hours = ((k / Fs) / 60) / 60; 8073724: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8073728: 4baa ldr r3, [pc, #680] ; (80739d4 ) 807372a: 681b ldr r3, [r3, #0] 807372c: fbb2 f3f3 udiv r3, r2, r3 8073730: 4aa9 ldr r2, [pc, #676] ; (80739d8 ) 8073732: fba2 2303 umull r2, r3, r2, r3 8073736: 0adb lsrs r3, r3, #11 8073738: 4aa8 ldr r2, [pc, #672] ; (80739dc ) 807373a: 6013 str r3, [r2, #0] Minutes = ((k / Fs) / 60) % 60; 807373c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8073740: 4ba4 ldr r3, [pc, #656] ; (80739d4 ) 8073742: 681b ldr r3, [r3, #0] 8073744: fbb2 f3f3 udiv r3, r2, r3 8073748: 4aa5 ldr r2, [pc, #660] ; (80739e0 ) 807374a: fba2 2303 umull r2, r3, r2, r3 807374e: 0959 lsrs r1, r3, #5 8073750: 4ba3 ldr r3, [pc, #652] ; (80739e0 ) 8073752: fba3 2301 umull r2, r3, r3, r1 8073756: 095a lsrs r2, r3, #5 8073758: 4613 mov r3, r2 807375a: 011b lsls r3, r3, #4 807375c: 1a9b subs r3, r3, r2 807375e: 009b lsls r3, r3, #2 8073760: 1aca subs r2, r1, r3 8073762: 4ba0 ldr r3, [pc, #640] ; (80739e4 ) 8073764: 601a str r2, [r3, #0] Seconds = (k / Fs) % 60; 8073766: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807376a: 4b9a ldr r3, [pc, #616] ; (80739d4 ) 807376c: 681b ldr r3, [r3, #0] 807376e: fbb2 f1f3 udiv r1, r2, r3 8073772: 4b9b ldr r3, [pc, #620] ; (80739e0 ) 8073774: fba3 2301 umull r2, r3, r3, r1 8073778: 095a lsrs r2, r3, #5 807377a: 4613 mov r3, r2 807377c: 011b lsls r3, r3, #4 807377e: 1a9b subs r3, r3, r2 8073780: 009b lsls r3, r3, #2 8073782: 1aca subs r2, r1, r3 8073784: 4b98 ldr r3, [pc, #608] ; (80739e8 ) 8073786: 601a str r2, [r3, #0] str[0] = (Hours / 10) + 48; 8073788: 4b94 ldr r3, [pc, #592] ; (80739dc ) 807378a: 681b ldr r3, [r3, #0] 807378c: 4a97 ldr r2, [pc, #604] ; (80739ec ) 807378e: fba2 2303 umull r2, r3, r2, r3 8073792: 08db lsrs r3, r3, #3 8073794: b2db uxtb r3, r3 8073796: 3330 adds r3, #48 ; 0x30 8073798: b2da uxtb r2, r3 807379a: f507 733b add.w r3, r7, #748 ; 0x2ec 807379e: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 80737a0: 4b8e ldr r3, [pc, #568] ; (80739dc ) 80737a2: 6819 ldr r1, [r3, #0] 80737a4: 4b91 ldr r3, [pc, #580] ; (80739ec ) 80737a6: fba3 2301 umull r2, r3, r3, r1 80737aa: 08da lsrs r2, r3, #3 80737ac: 4613 mov r3, r2 80737ae: 009b lsls r3, r3, #2 80737b0: 4413 add r3, r2 80737b2: 005b lsls r3, r3, #1 80737b4: 1aca subs r2, r1, r3 80737b6: b2d3 uxtb r3, r2 80737b8: 3330 adds r3, #48 ; 0x30 80737ba: b2da uxtb r2, r3 80737bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80737c0: 705a strb r2, [r3, #1] str[2] = ':'; 80737c2: f507 733b add.w r3, r7, #748 ; 0x2ec 80737c6: 223a movs r2, #58 ; 0x3a 80737c8: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 80737ca: 4b86 ldr r3, [pc, #536] ; (80739e4 ) 80737cc: 681b ldr r3, [r3, #0] 80737ce: 4a87 ldr r2, [pc, #540] ; (80739ec ) 80737d0: fba2 2303 umull r2, r3, r2, r3 80737d4: 08db lsrs r3, r3, #3 80737d6: b2db uxtb r3, r3 80737d8: 3330 adds r3, #48 ; 0x30 80737da: b2da uxtb r2, r3 80737dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80737e0: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 80737e2: 4b80 ldr r3, [pc, #512] ; (80739e4 ) 80737e4: 6819 ldr r1, [r3, #0] 80737e6: 4b81 ldr r3, [pc, #516] ; (80739ec ) 80737e8: fba3 2301 umull r2, r3, r3, r1 80737ec: 08da lsrs r2, r3, #3 80737ee: 4613 mov r3, r2 80737f0: 009b lsls r3, r3, #2 80737f2: 4413 add r3, r2 80737f4: 005b lsls r3, r3, #1 80737f6: 1aca subs r2, r1, r3 80737f8: b2d3 uxtb r3, r2 80737fa: 3330 adds r3, #48 ; 0x30 80737fc: b2da uxtb r2, r3 80737fe: f507 733b add.w r3, r7, #748 ; 0x2ec 8073802: 711a strb r2, [r3, #4] str[5] = ':'; 8073804: f507 733b add.w r3, r7, #748 ; 0x2ec 8073808: 223a movs r2, #58 ; 0x3a 807380a: 715a strb r2, [r3, #5] str[6] = (Seconds / 10) + 48; 807380c: 4b76 ldr r3, [pc, #472] ; (80739e8 ) 807380e: 681b ldr r3, [r3, #0] 8073810: 4a76 ldr r2, [pc, #472] ; (80739ec ) 8073812: fba2 2303 umull r2, r3, r2, r3 8073816: 08db lsrs r3, r3, #3 8073818: b2db uxtb r3, r3 807381a: 3330 adds r3, #48 ; 0x30 807381c: b2da uxtb r2, r3 807381e: f507 733b add.w r3, r7, #748 ; 0x2ec 8073822: 719a strb r2, [r3, #6] str[7] = (Seconds % 10) + 48; 8073824: 4b70 ldr r3, [pc, #448] ; (80739e8 ) 8073826: 6819 ldr r1, [r3, #0] 8073828: 4b70 ldr r3, [pc, #448] ; (80739ec ) 807382a: fba3 2301 umull r2, r3, r3, r1 807382e: 08da lsrs r2, r3, #3 8073830: 4613 mov r3, r2 8073832: 009b lsls r3, r3, #2 8073834: 4413 add r3, r2 8073836: 005b lsls r3, r3, #1 8073838: 1aca subs r2, r1, r3 807383a: b2d3 uxtb r3, r2 807383c: 3330 adds r3, #48 ; 0x30 807383e: b2da uxtb r2, r3 8073840: f507 733b add.w r3, r7, #748 ; 0x2ec 8073844: 71da strb r2, [r3, #7] str[8] = '\0'; 8073846: f507 733b add.w r3, r7, #748 ; 0x2ec 807384a: 2200 movs r2, #0 807384c: 721a strb r2, [r3, #8] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807384e: 495c ldr r1, [pc, #368] ; (80739c0 ) 8073850: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8073854: f7df ffc6 bl 80537e4 BSP_LCD_SetFont(&Font20); 8073858: 4865 ldr r0, [pc, #404] ; (80739f0 ) 807385a: f7df ffff bl 805385c BSP_LCD_DisplayStringAt(165, 120, str, CENTER_MODE); 807385e: f507 723b add.w r2, r7, #748 ; 0x2ec 8073862: 2301 movs r3, #1 8073864: 2178 movs r1, #120 ; 0x78 8073866: 20a5 movs r0, #165 ; 0xa5 8073868: f7e0 f882 bl 8053970 if(old_second != Seconds) 807386c: 4b61 ldr r3, [pc, #388] ; (80739f4 ) 807386e: 681a ldr r2, [r3, #0] 8073870: 4b5d ldr r3, [pc, #372] ; (80739e8 ) 8073872: 681b ldr r3, [r3, #0] 8073874: 429a cmp r2, r3 8073876: d004 beq.n 8073882 DrawImage(&bmREC1, 151, 145); 8073878: 2291 movs r2, #145 ; 0x91 807387a: 2197 movs r1, #151 ; 0x97 807387c: 485e ldr r0, [pc, #376] ; (80739f8 ) 807387e: f7e0 fea5 bl 80545cc old_second = Seconds; 8073882: 4b59 ldr r3, [pc, #356] ; (80739e8 ) 8073884: 681b ldr r3, [r3, #0] 8073886: 4a5b ldr r2, [pc, #364] ; (80739f4 ) 8073888: 6013 str r3, [r2, #0] BSP_LCD_SetFont(&Font12); 807388a: 484e ldr r0, [pc, #312] ; (80739c4 ) 807388c: f7df ffe6 bl 805385c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8073890: 494b ldr r1, [pc, #300] ; (80739c0 ) 8073892: f06f 00ff mvn.w r0, #255 ; 0xff 8073896: f7df ffa5 bl 80537e4 if(pardata.LANG == RUS) 807389a: 4b4c ldr r3, [pc, #304] ; (80739cc ) 807389c: 7b1b ldrb r3, [r3, #12] 807389e: b2db uxtb r3, r3 80738a0: 2b00 cmp r3, #0 80738a2: d10c bne.n 80738be BSP_LCD_DisplayStringAt(165, 205, "×òîáû îñòàíîâèòü çàïèñü", CENTER_MODE); 80738a4: 2301 movs r3, #1 80738a6: 4a55 ldr r2, [pc, #340] ; (80739fc ) 80738a8: 21cd movs r1, #205 ; 0xcd 80738aa: 20a5 movs r0, #165 ; 0xa5 80738ac: f7e0 f860 bl 8053970 BSP_LCD_DisplayStringAt(165, 220, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 80738b0: 2301 movs r3, #1 80738b2: 4a53 ldr r2, [pc, #332] ; (8073a00 ) 80738b4: 21dc movs r1, #220 ; 0xdc 80738b6: 20a5 movs r0, #165 ; 0xa5 80738b8: f7e0 f85a bl 8053970 break; 80738bc: e1ff b.n 8073cbe BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); 80738be: 2301 movs r3, #1 80738c0: 4a50 ldr r2, [pc, #320] ; (8073a04 ) 80738c2: 21dc movs r1, #220 ; 0xdc 80738c4: 20a5 movs r0, #165 ; 0xa5 80738c6: f7e0 f853 bl 8053970 break; 80738ca: e1f8 b.n 8073cbe BSP_LCD_SetFont(&Font12); 80738cc: 483d ldr r0, [pc, #244] ; (80739c4 ) 80738ce: f7df ffc5 bl 805385c if(CardState == MSD_READY) 80738d2: 4b4d ldr r3, [pc, #308] ; (8073a08 ) 80738d4: 781b ldrb r3, [r3, #0] 80738d6: b2db uxtb r3, r3 80738d8: 2b03 cmp r3, #3 80738da: f040 81f3 bne.w 8073cc4 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80738de: 4b3b ldr r3, [pc, #236] ; (80739cc ) 80738e0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80738e4: f003 0304 and.w r3, r3, #4 80738e8: 2b00 cmp r3, #0 80738ea: d104 bne.n 80738f6 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 80738ec: 4934 ldr r1, [pc, #208] ; (80739c0 ) 80738ee: 4847 ldr r0, [pc, #284] ; (8073a0c ) 80738f0: f7df ff78 bl 80537e4 80738f4: e004 b.n 8073900 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80738f6: 4932 ldr r1, [pc, #200] ; (80739c0 ) 80738f8: f06f 00ff mvn.w r0, #255 ; 0xff 80738fc: f7df ff72 bl 80537e4 if(pardata.LANG == RUS) 8073900: 4b32 ldr r3, [pc, #200] ; (80739cc ) 8073902: 7b1b ldrb r3, [r3, #12] 8073904: b2db uxtb r3, r3 8073906: 2b00 cmp r3, #0 8073908: d120 bne.n 807394c BSP_LCD_DisplayStringAt(165, 120, "f= Ãö", CENTER_MODE); 807390a: 2301 movs r3, #1 807390c: 4a40 ldr r2, [pc, #256] ; (8073a10 ) 807390e: 2178 movs r1, #120 ; 0x78 8073910: 20a5 movs r0, #165 ; 0xa5 8073912: f7e0 f82d bl 8053970 if(FreqFran) 8073916: 4b3f ldr r3, [pc, #252] ; (8073a14 ) 8073918: edd3 7a00 vldr s15, [r3] 807391c: eef5 7a40 vcmp.f32 s15, #0.0 8073920: eef1 fa10 vmrs APSR_nzcv, fpscr 8073924: d00f beq.n 8073946 BSP_LCD_DisplayStringAt(170, 120, (char *) FloatToASCII(FreqFran, -3), CENTER_MODE); 8073926: 4b3b ldr r3, [pc, #236] ; (8073a14 ) 8073928: edd3 7a00 vldr s15, [r3] 807392c: f06f 0002 mvn.w r0, #2 8073930: eeb0 0a67 vmov.f32 s0, s15 8073934: f7f2 ff00 bl 8066738 8073938: 4602 mov r2, r0 807393a: 2301 movs r3, #1 807393c: 2178 movs r1, #120 ; 0x78 807393e: 20aa movs r0, #170 ; 0xaa 8073940: f7e0 f816 bl 8053970 break; 8073944: e1be b.n 8073cc4 DrawSpinner(); 8073946: f024 f9c7 bl 8097cd8 break; 807394a: e1bb b.n 8073cc4 BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 807394c: 2301 movs r3, #1 807394e: 4a32 ldr r2, [pc, #200] ; (8073a18 ) 8073950: 2178 movs r1, #120 ; 0x78 8073952: 20a5 movs r0, #165 ; 0xa5 8073954: f7e0 f80c bl 8053970 break; 8073958: e1b4 b.n 8073cc4 BSP_LCD_SetFont(&Font12); 807395a: 481a ldr r0, [pc, #104] ; (80739c4 ) 807395c: f7df ff7e bl 805385c if(CardState == MSD_READY) 8073960: 4b29 ldr r3, [pc, #164] ; (8073a08 ) 8073962: 781b ldrb r3, [r3, #0] 8073964: b2db uxtb r3, r3 8073966: 2b03 cmp r3, #3 8073968: f040 81af bne.w 8073cca if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 807396c: 4b17 ldr r3, [pc, #92] ; (80739cc ) 807396e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8073972: f003 0304 and.w r3, r3, #4 8073976: 2b00 cmp r3, #0 8073978: d104 bne.n 8073984 LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 807397a: 4911 ldr r1, [pc, #68] ; (80739c0 ) 807397c: 4823 ldr r0, [pc, #140] ; (8073a0c ) 807397e: f7df ff31 bl 80537e4 8073982: e004 b.n 807398e else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8073984: 490e ldr r1, [pc, #56] ; (80739c0 ) 8073986: f06f 00ff mvn.w r0, #255 ; 0xff 807398a: f7df ff2b bl 80537e4 if(pardata.LANG == RUS) 807398e: 4b0f ldr r3, [pc, #60] ; (80739cc ) 8073990: 7b1b ldrb r3, [r3, #12] 8073992: b2db uxtb r3, r3 8073994: 2b00 cmp r3, #0 8073996: d10c bne.n 80739b2 BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 8073998: 2301 movs r3, #1 807399a: 4a20 ldr r2, [pc, #128] ; (8073a1c ) 807399c: 2178 movs r1, #120 ; 0x78 807399e: 20a5 movs r0, #165 ; 0xa5 80739a0: f7df ffe6 bl 8053970 BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 80739a4: 2301 movs r3, #1 80739a6: 4a16 ldr r2, [pc, #88] ; (8073a00 ) 80739a8: 2187 movs r1, #135 ; 0x87 80739aa: 20a5 movs r0, #165 ; 0xa5 80739ac: f7df ffe0 bl 8053970 break; 80739b0: e18b b.n 8073cca BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 80739b2: 2301 movs r3, #1 80739b4: 4a18 ldr r2, [pc, #96] ; (8073a18 ) 80739b6: 2178 movs r1, #120 ; 0x78 80739b8: 20a5 movs r0, #165 ; 0xa5 80739ba: f7df ffd9 bl 8053970 break; 80739be: e184 b.n 8073cca 80739c0: ff0a0f1f .word 0xff0a0f1f 80739c4: 20020038 .word 0x20020038 80739c8: 20021684 .word 0x20021684 80739cc: 20023e60 .word 0x20023e60 80739d0: 080ef4f8 .word 0x080ef4f8 80739d4: 20021d1c .word 0x20021d1c 80739d8: 91a2b3c5 .word 0x91a2b3c5 80739dc: 2002163c .word 0x2002163c 80739e0: 88888889 .word 0x88888889 80739e4: 20021640 .word 0x20021640 80739e8: 20021644 .word 0x20021644 80739ec: cccccccd .word 0xcccccccd 80739f0: 20020050 .word 0x20020050 80739f4: 20021664 .word 0x20021664 80739f8: 08144448 .word 0x08144448 80739fc: 080cfc3c .word 0x080cfc3c 8073a00: 080cfc54 .word 0x080cfc54 8073a04: 080cfc6c .word 0x080cfc6c 8073a08: 2002164c .word 0x2002164c 8073a0c: ff29eb19 .word 0xff29eb19 8073a10: 080cfcc4 .word 0x080cfcc4 8073a14: 20021564 .word 0x20021564 8073a18: 080cfca0 .word 0x080cfca0 8073a1c: 080cfc8c .word 0x080cfc8c if(CardState == MSD_READY) 8073a20: 4bb2 ldr r3, [pc, #712] ; (8073cec ) 8073a22: 781b ldrb r3, [r3, #0] 8073a24: b2db uxtb r3, r3 8073a26: 2b03 cmp r3, #3 8073a28: f040 8152 bne.w 8073cd0 BSP_LCD_SetFont(&Font12); 8073a2c: 48b0 ldr r0, [pc, #704] ; (8073cf0 ) 8073a2e: f7df ff15 bl 805385c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8073a32: 49b0 ldr r1, [pc, #704] ; (8073cf4 ) 8073a34: f06f 00ff mvn.w r0, #255 ; 0xff 8073a38: f7df fed4 bl 80537e4 if(pardata.LANG == RUS) 8073a3c: 4bae ldr r3, [pc, #696] ; (8073cf8 ) 8073a3e: 7b1b ldrb r3, [r3, #12] 8073a40: b2db uxtb r3, r3 8073a42: 2b00 cmp r3, #0 8073a44: d10c bne.n 8073a60 BSP_LCD_DisplayStringAt(165, 120, "Àâòîìàòè÷åñêèé ïîäáîð êîýôôèöèåíòà", CENTER_MODE); 8073a46: 2301 movs r3, #1 8073a48: 4aac ldr r2, [pc, #688] ; (8073cfc ) 8073a4a: 2178 movs r1, #120 ; 0x78 8073a4c: 20a5 movs r0, #165 ; 0xa5 8073a4e: f7df ff8f bl 8053970 BSP_LCD_DisplayStringAt(165, 135, "óñèëåíèÿ. Æäèòå...", CENTER_MODE); 8073a52: 2301 movs r3, #1 8073a54: 4aaa ldr r2, [pc, #680] ; (8073d00 ) 8073a56: 2187 movs r1, #135 ; 0x87 8073a58: 20a5 movs r0, #165 ; 0xa5 8073a5a: f7df ff89 bl 8053970 break; 8073a5e: e137 b.n 8073cd0 BSP_LCD_DisplayStringAt(165, 120, "Automatic gain selection.", CENTER_MODE); 8073a60: 2301 movs r3, #1 8073a62: 4aa8 ldr r2, [pc, #672] ; (8073d04 ) 8073a64: 2178 movs r1, #120 ; 0x78 8073a66: 20a5 movs r0, #165 ; 0xa5 8073a68: f7df ff82 bl 8053970 BSP_LCD_DisplayStringAt(165, 135, "Please wait...", CENTER_MODE); 8073a6c: 2301 movs r3, #1 8073a6e: 4aa6 ldr r2, [pc, #664] ; (8073d08 ) 8073a70: 2187 movs r1, #135 ; 0x87 8073a72: 20a5 movs r0, #165 ; 0xa5 8073a74: f7df ff7c bl 8053970 break; 8073a78: e12a b.n 8073cd0 if(Recording == false) 8073a7a: 4ba4 ldr r3, [pc, #656] ; (8073d0c ) 8073a7c: 781b ldrb r3, [r3, #0] 8073a7e: b2db uxtb r3, r3 8073a80: f083 0301 eor.w r3, r3, #1 8073a84: b2db uxtb r3, r3 8073a86: 2b00 cmp r3, #0 8073a88: d025 beq.n 8073ad6 if(CardState == MSD_READY) 8073a8a: 4b98 ldr r3, [pc, #608] ; (8073cec ) 8073a8c: 781b ldrb r3, [r3, #0] 8073a8e: b2db uxtb r3, r3 8073a90: 2b03 cmp r3, #3 8073a92: f040 8120 bne.w 8073cd6 BSP_LCD_SetFont(&Font12); 8073a96: 4896 ldr r0, [pc, #600] ; (8073cf0 ) 8073a98: f7df fee0 bl 805385c LCD_SetColors(LCD_COLOR_VIBGREEN, LCD_COLOR_BLACK); 8073a9c: 4995 ldr r1, [pc, #596] ; (8073cf4 ) 8073a9e: 489c ldr r0, [pc, #624] ; (8073d10 ) 8073aa0: f7df fea0 bl 80537e4 if(pardata.LANG == RUS) 8073aa4: 4b94 ldr r3, [pc, #592] ; (8073cf8 ) 8073aa6: 7b1b ldrb r3, [r3, #12] 8073aa8: b2db uxtb r3, r3 8073aaa: 2b00 cmp r3, #0 8073aac: d10c bne.n 8073ac8 BSP_LCD_DisplayStringAt(165, 120, "×òîáû íà÷àòü çàïèñü", CENTER_MODE); 8073aae: 2301 movs r3, #1 8073ab0: 4a98 ldr r2, [pc, #608] ; (8073d14 ) 8073ab2: 2178 movs r1, #120 ; 0x78 8073ab4: 20a5 movs r0, #165 ; 0xa5 8073ab6: f7df ff5b bl 8053970 BSP_LCD_DisplayStringAt(165, 135, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 8073aba: 2301 movs r3, #1 8073abc: 4a96 ldr r2, [pc, #600] ; (8073d18 ) 8073abe: 2187 movs r1, #135 ; 0x87 8073ac0: 20a5 movs r0, #165 ; 0xa5 8073ac2: f7df ff55 bl 8053970 break; 8073ac6: e106 b.n 8073cd6 BSP_LCD_DisplayStringAt(165, 120, "To start recording click [OK]...", CENTER_MODE); 8073ac8: 2301 movs r3, #1 8073aca: 4a94 ldr r2, [pc, #592] ; (8073d1c ) 8073acc: 2178 movs r1, #120 ; 0x78 8073ace: 20a5 movs r0, #165 ; 0xa5 8073ad0: f7df ff4e bl 8053970 break; 8073ad4: e0ff b.n 8073cd6 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073ad6: 4987 ldr r1, [pc, #540] ; (8073cf4 ) 8073ad8: f04f 30ff mov.w r0, #4294967295 8073adc: f7df fe82 bl 80537e4 BSP_LCD_SetFont(&Font12); 8073ae0: 4883 ldr r0, [pc, #524] ; (8073cf0 ) 8073ae2: f7df febb bl 805385c k = TimeRec; 8073ae6: 4b8e ldr r3, [pc, #568] ; (8073d20 ) 8073ae8: 681b ldr r3, [r3, #0] 8073aea: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(k > TIMEREC[5][pardata.TME]) 8073aee: 4b82 ldr r3, [pc, #520] ; (8073cf8 ) 8073af0: 7b9b ldrb r3, [r3, #14] 8073af2: b2db uxtb r3, r3 8073af4: 4a8b ldr r2, [pc, #556] ; (8073d24 ) 8073af6: 3337 adds r3, #55 ; 0x37 8073af8: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8073afc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8073b00: 429a cmp r2, r3 8073b02: d208 bcs.n 8073b16 k = TIMEREC[5][pardata.TME]; 8073b04: 4b7c ldr r3, [pc, #496] ; (8073cf8 ) 8073b06: 7b9b ldrb r3, [r3, #14] 8073b08: b2db uxtb r3, r3 8073b0a: 4a86 ldr r2, [pc, #536] ; (8073d24 ) 8073b0c: 3337 adds r3, #55 ; 0x37 8073b0e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8073b12: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Hours = ((k / Fs) / 60) / 60; 8073b16: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8073b1a: 4b83 ldr r3, [pc, #524] ; (8073d28 ) 8073b1c: 681b ldr r3, [r3, #0] 8073b1e: fbb2 f3f3 udiv r3, r2, r3 8073b22: 4a82 ldr r2, [pc, #520] ; (8073d2c ) 8073b24: fba2 2303 umull r2, r3, r2, r3 8073b28: 0adb lsrs r3, r3, #11 8073b2a: 4a81 ldr r2, [pc, #516] ; (8073d30 ) 8073b2c: 6013 str r3, [r2, #0] Minutes = ((k / Fs) / 60) % 60; 8073b2e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8073b32: 4b7d ldr r3, [pc, #500] ; (8073d28 ) 8073b34: 681b ldr r3, [r3, #0] 8073b36: fbb2 f3f3 udiv r3, r2, r3 8073b3a: 4a7e ldr r2, [pc, #504] ; (8073d34 ) 8073b3c: fba2 2303 umull r2, r3, r2, r3 8073b40: 0959 lsrs r1, r3, #5 8073b42: 4b7c ldr r3, [pc, #496] ; (8073d34 ) 8073b44: fba3 2301 umull r2, r3, r3, r1 8073b48: 095a lsrs r2, r3, #5 8073b4a: 4613 mov r3, r2 8073b4c: 011b lsls r3, r3, #4 8073b4e: 1a9b subs r3, r3, r2 8073b50: 009b lsls r3, r3, #2 8073b52: 1aca subs r2, r1, r3 8073b54: 4b78 ldr r3, [pc, #480] ; (8073d38 ) 8073b56: 601a str r2, [r3, #0] Seconds = (k / Fs) % 60; 8073b58: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8073b5c: 4b72 ldr r3, [pc, #456] ; (8073d28 ) 8073b5e: 681b ldr r3, [r3, #0] 8073b60: fbb2 f1f3 udiv r1, r2, r3 8073b64: 4b73 ldr r3, [pc, #460] ; (8073d34 ) 8073b66: fba3 2301 umull r2, r3, r3, r1 8073b6a: 095a lsrs r2, r3, #5 8073b6c: 4613 mov r3, r2 8073b6e: 011b lsls r3, r3, #4 8073b70: 1a9b subs r3, r3, r2 8073b72: 009b lsls r3, r3, #2 8073b74: 1aca subs r2, r1, r3 8073b76: 4b71 ldr r3, [pc, #452] ; (8073d3c ) 8073b78: 601a str r2, [r3, #0] str[0] = (Hours / 10) + 48; 8073b7a: 4b6d ldr r3, [pc, #436] ; (8073d30 ) 8073b7c: 681b ldr r3, [r3, #0] 8073b7e: 4a70 ldr r2, [pc, #448] ; (8073d40 ) 8073b80: fba2 2303 umull r2, r3, r2, r3 8073b84: 08db lsrs r3, r3, #3 8073b86: b2db uxtb r3, r3 8073b88: 3330 adds r3, #48 ; 0x30 8073b8a: b2da uxtb r2, r3 8073b8c: f507 733b add.w r3, r7, #748 ; 0x2ec 8073b90: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8073b92: 4b67 ldr r3, [pc, #412] ; (8073d30 ) 8073b94: 6819 ldr r1, [r3, #0] 8073b96: 4b6a ldr r3, [pc, #424] ; (8073d40 ) 8073b98: fba3 2301 umull r2, r3, r3, r1 8073b9c: 08da lsrs r2, r3, #3 8073b9e: 4613 mov r3, r2 8073ba0: 009b lsls r3, r3, #2 8073ba2: 4413 add r3, r2 8073ba4: 005b lsls r3, r3, #1 8073ba6: 1aca subs r2, r1, r3 8073ba8: b2d3 uxtb r3, r2 8073baa: 3330 adds r3, #48 ; 0x30 8073bac: b2da uxtb r2, r3 8073bae: f507 733b add.w r3, r7, #748 ; 0x2ec 8073bb2: 705a strb r2, [r3, #1] str[2] = ':'; 8073bb4: f507 733b add.w r3, r7, #748 ; 0x2ec 8073bb8: 223a movs r2, #58 ; 0x3a 8073bba: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8073bbc: 4b5e ldr r3, [pc, #376] ; (8073d38 ) 8073bbe: 681b ldr r3, [r3, #0] 8073bc0: 4a5f ldr r2, [pc, #380] ; (8073d40 ) 8073bc2: fba2 2303 umull r2, r3, r2, r3 8073bc6: 08db lsrs r3, r3, #3 8073bc8: b2db uxtb r3, r3 8073bca: 3330 adds r3, #48 ; 0x30 8073bcc: b2da uxtb r2, r3 8073bce: f507 733b add.w r3, r7, #748 ; 0x2ec 8073bd2: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8073bd4: 4b58 ldr r3, [pc, #352] ; (8073d38 ) 8073bd6: 6819 ldr r1, [r3, #0] 8073bd8: 4b59 ldr r3, [pc, #356] ; (8073d40 ) 8073bda: fba3 2301 umull r2, r3, r3, r1 8073bde: 08da lsrs r2, r3, #3 8073be0: 4613 mov r3, r2 8073be2: 009b lsls r3, r3, #2 8073be4: 4413 add r3, r2 8073be6: 005b lsls r3, r3, #1 8073be8: 1aca subs r2, r1, r3 8073bea: b2d3 uxtb r3, r2 8073bec: 3330 adds r3, #48 ; 0x30 8073bee: b2da uxtb r2, r3 8073bf0: f507 733b add.w r3, r7, #748 ; 0x2ec 8073bf4: 711a strb r2, [r3, #4] str[5] = ':'; 8073bf6: f507 733b add.w r3, r7, #748 ; 0x2ec 8073bfa: 223a movs r2, #58 ; 0x3a 8073bfc: 715a strb r2, [r3, #5] str[6] = (Seconds / 10) + 48; 8073bfe: 4b4f ldr r3, [pc, #316] ; (8073d3c ) 8073c00: 681b ldr r3, [r3, #0] 8073c02: 4a4f ldr r2, [pc, #316] ; (8073d40 ) 8073c04: fba2 2303 umull r2, r3, r2, r3 8073c08: 08db lsrs r3, r3, #3 8073c0a: b2db uxtb r3, r3 8073c0c: 3330 adds r3, #48 ; 0x30 8073c0e: b2da uxtb r2, r3 8073c10: f507 733b add.w r3, r7, #748 ; 0x2ec 8073c14: 719a strb r2, [r3, #6] str[7] = (Seconds % 10) + 48; 8073c16: 4b49 ldr r3, [pc, #292] ; (8073d3c ) 8073c18: 6819 ldr r1, [r3, #0] 8073c1a: 4b49 ldr r3, [pc, #292] ; (8073d40 ) 8073c1c: fba3 2301 umull r2, r3, r3, r1 8073c20: 08da lsrs r2, r3, #3 8073c22: 4613 mov r3, r2 8073c24: 009b lsls r3, r3, #2 8073c26: 4413 add r3, r2 8073c28: 005b lsls r3, r3, #1 8073c2a: 1aca subs r2, r1, r3 8073c2c: b2d3 uxtb r3, r2 8073c2e: 3330 adds r3, #48 ; 0x30 8073c30: b2da uxtb r2, r3 8073c32: f507 733b add.w r3, r7, #748 ; 0x2ec 8073c36: 71da strb r2, [r3, #7] str[8] = '\0'; 8073c38: f507 733b add.w r3, r7, #748 ; 0x2ec 8073c3c: 2200 movs r2, #0 8073c3e: 721a strb r2, [r3, #8] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8073c40: 492c ldr r1, [pc, #176] ; (8073cf4 ) 8073c42: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8073c46: f7df fdcd bl 80537e4 BSP_LCD_SetFont(&Font20); 8073c4a: 483e ldr r0, [pc, #248] ; (8073d44 ) 8073c4c: f7df fe06 bl 805385c BSP_LCD_DisplayStringAt(165, 120, str, CENTER_MODE); 8073c50: f507 723b add.w r2, r7, #748 ; 0x2ec 8073c54: 2301 movs r3, #1 8073c56: 2178 movs r1, #120 ; 0x78 8073c58: 20a5 movs r0, #165 ; 0xa5 8073c5a: f7df fe89 bl 8053970 if(old_second != Seconds) 8073c5e: 4b3a ldr r3, [pc, #232] ; (8073d48 ) 8073c60: 681a ldr r2, [r3, #0] 8073c62: 4b36 ldr r3, [pc, #216] ; (8073d3c ) 8073c64: 681b ldr r3, [r3, #0] 8073c66: 429a cmp r2, r3 8073c68: d004 beq.n 8073c74 DrawImage(&bmREC1, 151, 145); 8073c6a: 2291 movs r2, #145 ; 0x91 8073c6c: 2197 movs r1, #151 ; 0x97 8073c6e: 4837 ldr r0, [pc, #220] ; (8073d4c ) 8073c70: f7e0 fcac bl 80545cc old_second = Seconds; 8073c74: 4b31 ldr r3, [pc, #196] ; (8073d3c ) 8073c76: 681b ldr r3, [r3, #0] 8073c78: 4a33 ldr r2, [pc, #204] ; (8073d48 ) 8073c7a: 6013 str r3, [r2, #0] BSP_LCD_SetFont(&Font12); 8073c7c: 481c ldr r0, [pc, #112] ; (8073cf0 ) 8073c7e: f7df fded bl 805385c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8073c82: 491c ldr r1, [pc, #112] ; (8073cf4 ) 8073c84: f06f 00ff mvn.w r0, #255 ; 0xff 8073c88: f7df fdac bl 80537e4 if(pardata.LANG == RUS) 8073c8c: 4b1a ldr r3, [pc, #104] ; (8073cf8 ) 8073c8e: 7b1b ldrb r3, [r3, #12] 8073c90: b2db uxtb r3, r3 8073c92: 2b00 cmp r3, #0 8073c94: d10c bne.n 8073cb0 BSP_LCD_DisplayStringAt(165, 205, "×òîáû îñòàíîâèòü çàïèñü", CENTER_MODE); 8073c96: 2301 movs r3, #1 8073c98: 4a2d ldr r2, [pc, #180] ; (8073d50 ) 8073c9a: 21cd movs r1, #205 ; 0xcd 8073c9c: 20a5 movs r0, #165 ; 0xa5 8073c9e: f7df fe67 bl 8053970 BSP_LCD_DisplayStringAt(165, 220, "íàæìèòå êíîïêó [OK]...", CENTER_MODE); 8073ca2: 2301 movs r3, #1 8073ca4: 4a1c ldr r2, [pc, #112] ; (8073d18 ) 8073ca6: 21dc movs r1, #220 ; 0xdc 8073ca8: 20a5 movs r0, #165 ; 0xa5 8073caa: f7df fe61 bl 8053970 break; 8073cae: e012 b.n 8073cd6 BSP_LCD_DisplayStringAt(165, 220, "To stop recording click [OK]...", CENTER_MODE); 8073cb0: 2301 movs r3, #1 8073cb2: 4a28 ldr r2, [pc, #160] ; (8073d54 ) 8073cb4: 21dc movs r1, #220 ; 0xdc 8073cb6: 20a5 movs r0, #165 ; 0xa5 8073cb8: f7df fe5a bl 8053970 break; 8073cbc: e00b b.n 8073cd6 break; 8073cbe: bf00 nop 8073cc0: f023 bc8d b.w 80975de break; 8073cc4: bf00 nop 8073cc6: f023 bc8a b.w 80975de break; 8073cca: bf00 nop 8073ccc: f023 bc87 b.w 80975de break; 8073cd0: bf00 nop 8073cd2: f023 bc84 b.w 80975de break; 8073cd6: bf00 nop break; 8073cd8: f023 bc81 b.w 80975de * */ u_y[0] = 203; 8073cdc: 23cb movs r3, #203 ; 0xcb 8073cde: f887 3404 strb.w r3, [r7, #1028] ; 0x404 for(i = 1; i < sizeof(u_y); i++) { 8073ce2: 2301 movs r3, #1 8073ce4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073ce8: e04e b.n 8073d88 8073cea: bf00 nop 8073cec: 2002164c .word 0x2002164c 8073cf0: 20020038 .word 0x20020038 8073cf4: ff0a0f1f .word 0xff0a0f1f 8073cf8: 20023e60 .word 0x20023e60 8073cfc: 080cfcd4 .word 0x080cfcd4 8073d00: 080cfcf8 .word 0x080cfcf8 8073d04: 080cfd0c .word 0x080cfd0c 8073d08: 080cfd28 .word 0x080cfd28 8073d0c: 20020db0 .word 0x20020db0 8073d10: ff29eb19 .word 0xff29eb19 8073d14: 080cfc8c .word 0x080cfc8c 8073d18: 080cfc54 .word 0x080cfc54 8073d1c: 080cfca0 .word 0x080cfca0 8073d20: 20021684 .word 0x20021684 8073d24: 080ef4f8 .word 0x080ef4f8 8073d28: 20021d1c .word 0x20021d1c 8073d2c: 91a2b3c5 .word 0x91a2b3c5 8073d30: 2002163c .word 0x2002163c 8073d34: 88888889 .word 0x88888889 8073d38: 20021640 .word 0x20021640 8073d3c: 20021644 .word 0x20021644 8073d40: cccccccd .word 0xcccccccd 8073d44: 20020050 .word 0x20020050 8073d48: 20021664 .word 0x20021664 8073d4c: 08144448 .word 0x08144448 8073d50: 080cfc3c .word 0x080cfc3c 8073d54: 080cfc6c .word 0x080cfc6c u_y[i] = u_y[0] - i * 24; 8073d58: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073d5c: f897 1404 ldrb.w r1, [r7, #1028] ; 0x404 8073d60: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8073d64: b2d2 uxtb r2, r2 8073d66: 4610 mov r0, r2 8073d68: 0040 lsls r0, r0, #1 8073d6a: 4402 add r2, r0 8073d6c: 00d2 lsls r2, r2, #3 8073d6e: b2d2 uxtb r2, r2 8073d70: 1a8a subs r2, r1, r2 8073d72: b2d2 uxtb r2, r2 8073d74: f507 618e add.w r1, r7, #1136 ; 0x470 8073d78: 440b add r3, r1 8073d7a: f803 2c6c strb.w r2, [r3, #-108] for(i = 1; i < sizeof(u_y); i++) { 8073d7e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073d82: 3301 adds r3, #1 8073d84: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073d88: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073d8c: 2b06 cmp r3, #6 8073d8e: d9e3 bls.n 8073d58 BSP_LCD_DisplayStringAt(29, u_y[i] - 2, (char *) FloatToASCII(Pfy[i], -1), RIGHT_MODE);*/ BSP_LCD_SetFont(&Font12); 8073d90: 48cd ldr r0, [pc, #820] ; (80740c8 ) 8073d92: f7df fd63 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073d96: 49cd ldr r1, [pc, #820] ; (80740cc ) 8073d98: f04f 30ff mov.w r0, #4294967295 8073d9c: f7df fd22 bl 80537e4 else if(menupos == StartStop) {*/ //DrawImage(&bmLEFT_1, 9, 214); //DrawImage(&bmMINUS_1, 71, 214); DrawImage(&bmPLAY_1_LIGHT, 133, 214); 8073da0: 22d6 movs r2, #214 ; 0xd6 8073da2: 2185 movs r1, #133 ; 0x85 8073da4: 48ca ldr r0, [pc, #808] ; (80740d0 ) 8073da6: f7e0 fc11 bl 80545cc if(measuring) 8073daa: 4bca ldr r3, [pc, #808] ; (80740d4 ) 8073dac: 781b ldrb r3, [r3, #0] 8073dae: b2db uxtb r3, r3 8073db0: 2b00 cmp r3, #0 8073db2: d00c beq.n 8073dce BSP_LCD_DisplayStringAt(133 + 27, 221, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 8073db4: 4bc8 ldr r3, [pc, #800] ; (80740d8 ) 8073db6: 7b1b ldrb r3, [r3, #12] 8073db8: b2db uxtb r3, r3 8073dba: 4ac8 ldr r2, [pc, #800] ; (80740dc ) 8073dbc: 00db lsls r3, r3, #3 8073dbe: 4413 add r3, r2 8073dc0: 685a ldr r2, [r3, #4] 8073dc2: 2301 movs r3, #1 8073dc4: 21dd movs r1, #221 ; 0xdd 8073dc6: 20a0 movs r0, #160 ; 0xa0 8073dc8: f7df fdd2 bl 8053970 8073dcc: e00b b.n 8073de6 else BSP_LCD_DisplayStringAt(133 + 27, 221, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 8073dce: 4bc2 ldr r3, [pc, #776] ; (80740d8 ) 8073dd0: 7b1b ldrb r3, [r3, #12] 8073dd2: b2db uxtb r3, r3 8073dd4: 461a mov r2, r3 8073dd6: 4bc1 ldr r3, [pc, #772] ; (80740dc ) 8073dd8: f853 2032 ldr.w r2, [r3, r2, lsl #3] 8073ddc: 2301 movs r3, #1 8073dde: 21dd movs r1, #221 ; 0xdd 8073de0: 20a0 movs r0, #160 ; 0xa0 8073de2: f7df fdc5 bl 8053970 DrawImage(&bmPLUS_1, 195, 214); DrawImage(&bmRIGHT_1, 257, 214); }*/ LCD_SetColors(0xFF000000, 0xFF000000); 8073de6: f04f 417f mov.w r1, #4278190080 ; 0xff000000 8073dea: f04f 407f mov.w r0, #4278190080 ; 0xff000000 8073dee: f7df fcf9 bl 80537e4 BSP_LCD_FillRect(32, 35, 256, 178); 8073df2: 23b2 movs r3, #178 ; 0xb2 8073df4: f44f 7280 mov.w r2, #256 ; 0x100 8073df8: 2123 movs r1, #35 ; 0x23 8073dfa: 2020 movs r0, #32 8073dfc: f7e0 f980 bl 8054100 LCD_SetColors(0xFF131313, LCD_COLOR_BLACK); 8073e00: 49b2 ldr r1, [pc, #712] ; (80740cc ) 8073e02: 48b7 ldr r0, [pc, #732] ; (80740e0 ) 8073e04: f7df fcee bl 80537e4 for(i = 0; i < 4; i++) { 8073e08: 2300 movs r3, #0 8073e0a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073e0e: e010 b.n 8073e32 BSP_LCD_DrawVLine(32 + (i << 6), 35, 168); 8073e10: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073e14: b29b uxth r3, r3 8073e16: 019b lsls r3, r3, #6 8073e18: b29b uxth r3, r3 8073e1a: 3320 adds r3, #32 8073e1c: b29b uxth r3, r3 8073e1e: 22a8 movs r2, #168 ; 0xa8 8073e20: 2123 movs r1, #35 ; 0x23 8073e22: 4618 mov r0, r3 8073e24: f7df feb6 bl 8053b94 for(i = 0; i < 4; i++) { 8073e28: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073e2c: 3301 adds r3, #1 8073e2e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073e32: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073e36: 2b03 cmp r3, #3 8073e38: d9ea bls.n 8073e10 } for(i = 0; i < 8; i++) { 8073e3a: 2300 movs r3, #0 8073e3c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073e40: e014 b.n 8073e6c BSP_LCD_DrawHLine(32, 35 + i*24, 256); 8073e42: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073e46: b29b uxth r3, r3 8073e48: 461a mov r2, r3 8073e4a: 0052 lsls r2, r2, #1 8073e4c: 4413 add r3, r2 8073e4e: 00db lsls r3, r3, #3 8073e50: b29b uxth r3, r3 8073e52: 3323 adds r3, #35 ; 0x23 8073e54: b29b uxth r3, r3 8073e56: f44f 7280 mov.w r2, #256 ; 0x100 8073e5a: 4619 mov r1, r3 8073e5c: 2020 movs r0, #32 8073e5e: f7df fe3b bl 8053ad8 for(i = 0; i < 8; i++) { 8073e62: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073e66: 3301 adds r3, #1 8073e68: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073e6c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073e70: 2b07 cmp r3, #7 8073e72: d9e6 bls.n 8073e42 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073e74: 4995 ldr r1, [pc, #596] ; (80740cc ) 8073e76: f04f 30ff mov.w r0, #4294967295 8073e7a: f7df fcb3 bl 80537e4 BSP_LCD_DrawVLine(31, 34, 179); 8073e7e: 22b3 movs r2, #179 ; 0xb3 8073e80: 2122 movs r1, #34 ; 0x22 8073e82: 201f movs r0, #31 8073e84: f7df fe86 bl 8053b94 BSP_LCD_DrawVLine(288, 34, 179); 8073e88: 22b3 movs r2, #179 ; 0xb3 8073e8a: 2122 movs r1, #34 ; 0x22 8073e8c: f44f 7090 mov.w r0, #288 ; 0x120 8073e90: f7df fe80 bl 8053b94 BSP_LCD_DrawHLine(31, 34, 258); 8073e94: f44f 7281 mov.w r2, #258 ; 0x102 8073e98: 2122 movs r1, #34 ; 0x22 8073e9a: 201f movs r0, #31 8073e9c: f7df fe1c bl 8053ad8 BSP_LCD_DrawHLine(31, 213, 258); 8073ea0: f44f 7281 mov.w r2, #258 ; 0x102 8073ea4: 21d5 movs r1, #213 ; 0xd5 8073ea6: 201f movs r0, #31 8073ea8: f7df fe16 bl 8053ad8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073eac: 4987 ldr r1, [pc, #540] ; (80740cc ) 8073eae: f04f 30ff mov.w r0, #4294967295 8073eb2: f7df fc97 bl 80537e4 BSP_LCD_SetFont(&Font12); 8073eb6: 4884 ldr r0, [pc, #528] ; (80740c8 ) 8073eb8: f7df fcd0 bl 805385c BSP_LCD_DisplayStringAt(256, 36, "dBm=", RIGHT_MODE); 8073ebc: 2302 movs r3, #2 8073ebe: 4a89 ldr r2, [pc, #548] ; (80740e4 ) 8073ec0: 2124 movs r1, #36 ; 0x24 8073ec2: f44f 7080 mov.w r0, #256 ; 0x100 8073ec6: f7df fd53 bl 8053970 BSP_LCD_DisplayStringAt(256, 48, "dBi=", RIGHT_MODE); 8073eca: 2302 movs r3, #2 8073ecc: 4a86 ldr r2, [pc, #536] ; (80740e8 ) 8073ece: 2130 movs r1, #48 ; 0x30 8073ed0: f44f 7080 mov.w r0, #256 ; 0x100 8073ed4: f7df fd4c bl 8053970 BSP_LCD_DisplayStringAt(256, 60, "dBc=", RIGHT_MODE); 8073ed8: 2302 movs r3, #2 8073eda: 4a84 ldr r2, [pc, #528] ; (80740ec ) 8073edc: 213c movs r1, #60 ; 0x3c 8073ede: f44f 7080 mov.w r0, #256 ; 0x100 8073ee2: f7df fd45 bl 8053970 BSP_LCD_DisplayStringAt( 30, 37, "dBsv", RIGHT_MODE); 8073ee6: 2302 movs r3, #2 8073ee8: 4a81 ldr r2, [pc, #516] ; (80740f0 ) 8073eea: 2125 movs r1, #37 ; 0x25 8073eec: 201e movs r0, #30 8073eee: f7df fd3f bl 8053970 if((Stability > (Nr * 4)) && (!timeRelax)) 8073ef2: 4b80 ldr r3, [pc, #512] ; (80740f4 ) 8073ef4: 881b ldrh r3, [r3, #0] 8073ef6: b29b uxth r3, r3 8073ef8: 009b lsls r3, r3, #2 8073efa: 461a mov r2, r3 8073efc: 4b7e ldr r3, [pc, #504] ; (80740f8 ) 8073efe: 681b ldr r3, [r3, #0] 8073f00: 429a cmp r2, r3 8073f02: f080 8303 bcs.w 807450c 8073f06: 4b7d ldr r3, [pc, #500] ; (80740fc ) 8073f08: 681b ldr r3, [r3, #0] 8073f0a: 2b00 cmp r3, #0 8073f0c: f040 82fe bne.w 807450c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8073f10: 496e ldr r1, [pc, #440] ; (80740cc ) 8073f12: f04f 30ff mov.w r0, #4294967295 8073f16: f7df fc65 bl 80537e4 Pfy[0] = -20.0; 8073f1a: 4b79 ldr r3, [pc, #484] ; (8074100 ) 8073f1c: 4a79 ldr r2, [pc, #484] ; (8074104 ) 8073f1e: 601a str r2, [r3, #0] Pfy[1] = 0.0; 8073f20: 4b77 ldr r3, [pc, #476] ; (8074100 ) 8073f22: f04f 0200 mov.w r2, #0 8073f26: 605a str r2, [r3, #4] Pfy[2] = 20.0; 8073f28: 4b75 ldr r3, [pc, #468] ; (8074100 ) 8073f2a: 4a77 ldr r2, [pc, #476] ; (8074108 ) 8073f2c: 609a str r2, [r3, #8] Pfy[3] = 40.0; 8073f2e: 4b74 ldr r3, [pc, #464] ; (8074100 ) 8073f30: 4a76 ldr r2, [pc, #472] ; (807410c ) 8073f32: 60da str r2, [r3, #12] Pfy[4] = 60.0; 8073f34: 4b72 ldr r3, [pc, #456] ; (8074100 ) 8073f36: 4a76 ldr r2, [pc, #472] ; (8074110 ) 8073f38: 611a str r2, [r3, #16] Pfy[5] = 80.0; 8073f3a: 4b71 ldr r3, [pc, #452] ; (8074100 ) 8073f3c: 4a75 ldr r2, [pc, #468] ; (8074114 ) 8073f3e: 615a str r2, [r3, #20] Pfy[6] = 100.0; 8073f40: 4b6f ldr r3, [pc, #444] ; (8074100 ) 8073f42: 4a75 ldr r2, [pc, #468] ; (8074118 ) 8073f44: 619a str r2, [r3, #24] BSP_LCD_SetFont(&Font8); 8073f46: 4875 ldr r0, [pc, #468] ; (807411c ) 8073f48: f7df fc88 bl 805385c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8073f4c: 495f ldr r1, [pc, #380] ; (80740cc ) 8073f4e: 4874 ldr r0, [pc, #464] ; (8074120 ) 8073f50: f7df fc48 bl 80537e4 for(i = 0; i < 7; i++) 8073f54: 2300 movs r3, #0 8073f56: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073f5a: e021 b.n 8073fa0 BSP_LCD_DisplayStringAt(29, u_y[i] - 2, (char *) FloatToASCII(Pfy[i], -1), RIGHT_MODE); 8073f5c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073f60: f507 628e add.w r2, r7, #1136 ; 0x470 8073f64: 4413 add r3, r2 8073f66: f813 3c6c ldrb.w r3, [r3, #-108] 8073f6a: b29b uxth r3, r3 8073f6c: 3b02 subs r3, #2 8073f6e: b29c uxth r4, r3 8073f70: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073f74: 4a62 ldr r2, [pc, #392] ; (8074100 ) 8073f76: 009b lsls r3, r3, #2 8073f78: 4413 add r3, r2 8073f7a: edd3 7a00 vldr s15, [r3] 8073f7e: f04f 30ff mov.w r0, #4294967295 8073f82: eeb0 0a67 vmov.f32 s0, s15 8073f86: f7f2 fbd7 bl 8066738 8073f8a: 4602 mov r2, r0 8073f8c: 2302 movs r3, #2 8073f8e: 4621 mov r1, r4 8073f90: 201d movs r0, #29 8073f92: f7df fced bl 8053970 for(i = 0; i < 7; i++) 8073f96: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073f9a: 3301 adds r3, #1 8073f9c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073fa0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073fa4: 2b06 cmp r3, #6 8073fa6: d9d9 bls.n 8073f5c LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 8073fa8: 4948 ldr r1, [pc, #288] ; (80740cc ) 8073faa: 485e ldr r0, [pc, #376] ; (8074124 ) 8073fac: f7df fc1a bl 80537e4 for(i = 0; i < 256; i++) 8073fb0: 2300 movs r3, #0 8073fb2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8073fb6: e1d0 b.n 807435a { f = ScrA_f32(i); 8073fb8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8073fbc: 009a lsls r2, r3, #2 8073fbe: 4b5a ldr r3, [pc, #360] ; (8074128 ) 8073fc0: 4413 add r3, r2 8073fc2: 681b ldr r3, [r3, #0] 8073fc4: f507 628b add.w r2, r7, #1112 ; 0x458 8073fc8: 6013 str r3, [r2, #0] if(f < -20.0f) 8073fca: f507 638b add.w r3, r7, #1112 ; 0x458 8073fce: edd3 7a00 vldr s15, [r3] 8073fd2: eebb 7a04 vmov.f32 s14, #180 ; 0xc1a00000 -20.0 8073fd6: eef4 7ac7 vcmpe.f32 s15, s14 8073fda: eef1 fa10 vmrs APSR_nzcv, fpscr 8073fde: d503 bpl.n 8073fe8 f = -20.0f; 8073fe0: 4b48 ldr r3, [pc, #288] ; (8074104 ) 8073fe2: f507 628b add.w r2, r7, #1112 ; 0x458 8073fe6: 6013 str r3, [r2, #0] if(f > 100.0f) 8073fe8: f507 638b add.w r3, r7, #1112 ; 0x458 8073fec: edd3 7a00 vldr s15, [r3] 8073ff0: ed9f 7a4e vldr s14, [pc, #312] ; 807412c 8073ff4: eef4 7ac7 vcmpe.f32 s15, s14 8073ff8: eef1 fa10 vmrs APSR_nzcv, fpscr 8073ffc: dd03 ble.n 8074006 f = 100.0f; 8073ffe: 4b46 ldr r3, [pc, #280] ; (8074118 ) 8074000: f507 628b add.w r2, r7, #1112 ; 0x458 8074004: 6013 str r3, [r2, #0] if(f < 0.0f) 8074006: f507 638b add.w r3, r7, #1112 ; 0x458 807400a: edd3 7a00 vldr s15, [r3] 807400e: eef5 7ac0 vcmpe.f32 s15, #0.0 8074012: eef1 fa10 vmrs APSR_nzcv, fpscr 8074016: d537 bpl.n 8074088 { f = (24 - (24 * f / Pfy[0])) + 0.5f; 8074018: f507 638b add.w r3, r7, #1112 ; 0x458 807401c: edd3 7a00 vldr s15, [r3] 8074020: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8074024: ee67 6a87 vmul.f32 s13, s15, s14 8074028: 4b35 ldr r3, [pc, #212] ; (8074100 ) 807402a: ed93 7a00 vldr s14, [r3] 807402e: eec6 7a87 vdiv.f32 s15, s13, s14 8074032: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8074036: ee77 7a67 vsub.f32 s15, s14, s15 807403a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807403e: ee77 7a87 vadd.f32 s15, s15, s14 8074042: f507 638b add.w r3, r7, #1112 ; 0x458 8074046: edc3 7a00 vstr s15, [r3] y = u_y[0] - (uint32_t) f; 807404a: f897 3404 ldrb.w r3, [r7, #1028] ; 0x404 807404e: f507 628b add.w r2, r7, #1112 ; 0x458 8074052: edd2 7a00 vldr s15, [r2] 8074056: eefc 7ae7 vcvt.u32.f32 s15, s15 807405a: ee17 2a90 vmov r2, s15 807405e: 1a9b subs r3, r3, r2 8074060: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(f <= Pfy[0])// <= -20 8074064: 4b26 ldr r3, [pc, #152] ; (8074100 ) 8074066: ed93 7a00 vldr s14, [r3] 807406a: f507 638b add.w r3, r7, #1112 ; 0x458 807406e: edd3 7a00 vldr s15, [r3] 8074072: eeb4 7ae7 vcmpe.f32 s14, s15 8074076: eef1 fa10 vmrs APSR_nzcv, fpscr 807407a: f2c0 8155 blt.w 8074328 y = u_y[0]; 807407e: f897 3404 ldrb.w r3, [r7, #1028] ; 0x404 8074082: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8074086: e14f b.n 8074328 } else if(f == 0.0f) 8074088: f507 638b add.w r3, r7, #1112 ; 0x458 807408c: edd3 7a00 vldr s15, [r3] 8074090: eef5 7a40 vcmp.f32 s15, #0.0 8074094: eef1 fa10 vmrs APSR_nzcv, fpscr 8074098: d104 bne.n 80740a4 { y = u_y[1]; 807409a: f897 3405 ldrb.w r3, [r7, #1029] ; 0x405 807409e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80740a2: e141 b.n 8074328 } else if(f >= Pfy[6]) // >= 100 80740a4: 4b16 ldr r3, [pc, #88] ; (8074100 ) 80740a6: ed93 7a06 vldr s14, [r3, #24] 80740aa: f507 638b add.w r3, r7, #1112 ; 0x458 80740ae: edd3 7a00 vldr s15, [r3] 80740b2: eeb4 7ae7 vcmpe.f32 s14, s15 80740b6: eef1 fa10 vmrs APSR_nzcv, fpscr 80740ba: d839 bhi.n 8074130 { y = u_y[6]; 80740bc: f897 340a ldrb.w r3, [r7, #1034] ; 0x40a 80740c0: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80740c4: e130 b.n 8074328 80740c6: bf00 nop 80740c8: 20020038 .word 0x20020038 80740cc: ff0a0f1f .word 0xff0a0f1f 80740d0: 081427ac .word 0x081427ac 80740d4: 20020daf .word 0x20020daf 80740d8: 20023e60 .word 0x20023e60 80740dc: 200201cc .word 0x200201cc 80740e0: ff131313 .word 0xff131313 80740e4: 080cfd38 .word 0x080cfd38 80740e8: 080cfd40 .word 0x080cfd40 80740ec: 080cfd48 .word 0x080cfd48 80740f0: 080cfd50 .word 0x080cfd50 80740f4: 20021d20 .word 0x20021d20 80740f8: 20020da8 .word 0x20020da8 80740fc: 20020d6c .word 0x20020d6c 8074100: 200685c8 .word 0x200685c8 8074104: c1a00000 .word 0xc1a00000 8074108: 41a00000 .word 0x41a00000 807410c: 42200000 .word 0x42200000 8074110: 42700000 .word 0x42700000 8074114: 42a00000 .word 0x42a00000 8074118: 42c80000 .word 0x42c80000 807411c: 20020060 .word 0x20020060 8074120: ff808080 .word 0xff808080 8074124: ff26a01f .word 0xff26a01f 8074128: 64080000 .word 0x64080000 807412c: 42c80000 .word 0x42c80000 } else if(f <= Pfy[2]) // <= 20 8074130: 4bd8 ldr r3, [pc, #864] ; (8074494 ) 8074132: ed93 7a02 vldr s14, [r3, #8] 8074136: f507 638b add.w r3, r7, #1112 ; 0x458 807413a: edd3 7a00 vldr s15, [r3] 807413e: eeb4 7ae7 vcmpe.f32 s14, s15 8074142: eef1 fa10 vmrs APSR_nzcv, fpscr 8074146: db21 blt.n 807418c { f = (24 * f / 20.0f) + 0.5f; 8074148: f507 638b add.w r3, r7, #1112 ; 0x458 807414c: edd3 7a00 vldr s15, [r3] 8074150: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8074154: ee27 7a87 vmul.f32 s14, s15, s14 8074158: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 807415c: eec7 7a26 vdiv.f32 s15, s14, s13 8074160: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8074164: ee77 7a87 vadd.f32 s15, s15, s14 8074168: f507 638b add.w r3, r7, #1112 ; 0x458 807416c: edc3 7a00 vstr s15, [r3] y = u_y[1] - (uint32_t) f; 8074170: f897 3405 ldrb.w r3, [r7, #1029] ; 0x405 8074174: f507 628b add.w r2, r7, #1112 ; 0x458 8074178: edd2 7a00 vldr s15, [r2] 807417c: eefc 7ae7 vcvt.u32.f32 s15, s15 8074180: ee17 2a90 vmov r2, s15 8074184: 1a9b subs r3, r3, r2 8074186: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 807418a: e0cd b.n 8074328 } else if(f <= Pfy[3]) // <= 40 807418c: 4bc1 ldr r3, [pc, #772] ; (8074494 ) 807418e: ed93 7a03 vldr s14, [r3, #12] 8074192: f507 638b add.w r3, r7, #1112 ; 0x458 8074196: edd3 7a00 vldr s15, [r3] 807419a: eeb4 7ae7 vcmpe.f32 s14, s15 807419e: eef1 fa10 vmrs APSR_nzcv, fpscr 80741a2: db25 blt.n 80741f0 { f = (24 * ((f - 20.0f) / 20.0f)) + 0.5f; 80741a4: f507 638b add.w r3, r7, #1112 ; 0x458 80741a8: edd3 7a00 vldr s15, [r3] 80741ac: eeb3 7a04 vmov.f32 s14, #52 ; 0x41a00000 20.0 80741b0: ee37 7ac7 vsub.f32 s14, s15, s14 80741b4: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 80741b8: eec7 7a26 vdiv.f32 s15, s14, s13 80741bc: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 80741c0: ee67 7a87 vmul.f32 s15, s15, s14 80741c4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80741c8: ee77 7a87 vadd.f32 s15, s15, s14 80741cc: f507 638b add.w r3, r7, #1112 ; 0x458 80741d0: edc3 7a00 vstr s15, [r3] y = u_y[2] - (uint32_t) f; 80741d4: f897 3406 ldrb.w r3, [r7, #1030] ; 0x406 80741d8: f507 628b add.w r2, r7, #1112 ; 0x458 80741dc: edd2 7a00 vldr s15, [r2] 80741e0: eefc 7ae7 vcvt.u32.f32 s15, s15 80741e4: ee17 2a90 vmov r2, s15 80741e8: 1a9b subs r3, r3, r2 80741ea: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80741ee: e09b b.n 8074328 } else if(f <= Pfy[4]) // <= 60 80741f0: 4ba8 ldr r3, [pc, #672] ; (8074494 ) 80741f2: ed93 7a04 vldr s14, [r3, #16] 80741f6: f507 638b add.w r3, r7, #1112 ; 0x458 80741fa: edd3 7a00 vldr s15, [r3] 80741fe: eeb4 7ae7 vcmpe.f32 s14, s15 8074202: eef1 fa10 vmrs APSR_nzcv, fpscr 8074206: db25 blt.n 8074254 { f = (24 * ((f - 40.0f) / 20.0f)) + 0.5f; 8074208: f507 638b add.w r3, r7, #1112 ; 0x458 807420c: edd3 7a00 vldr s15, [r3] 8074210: ed9f 7aa1 vldr s14, [pc, #644] ; 8074498 8074214: ee37 7ac7 vsub.f32 s14, s15, s14 8074218: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 807421c: eec7 7a26 vdiv.f32 s15, s14, s13 8074220: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8074224: ee67 7a87 vmul.f32 s15, s15, s14 8074228: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 807422c: ee77 7a87 vadd.f32 s15, s15, s14 8074230: f507 638b add.w r3, r7, #1112 ; 0x458 8074234: edc3 7a00 vstr s15, [r3] y = u_y[3] - (uint32_t) f; 8074238: f897 3407 ldrb.w r3, [r7, #1031] ; 0x407 807423c: f507 628b add.w r2, r7, #1112 ; 0x458 8074240: edd2 7a00 vldr s15, [r2] 8074244: eefc 7ae7 vcvt.u32.f32 s15, s15 8074248: ee17 2a90 vmov r2, s15 807424c: 1a9b subs r3, r3, r2 807424e: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 8074252: e069 b.n 8074328 } else if(f <= Pfy[5]) // <= 80 8074254: 4b8f ldr r3, [pc, #572] ; (8074494 ) 8074256: ed93 7a05 vldr s14, [r3, #20] 807425a: f507 638b add.w r3, r7, #1112 ; 0x458 807425e: edd3 7a00 vldr s15, [r3] 8074262: eeb4 7ae7 vcmpe.f32 s14, s15 8074266: eef1 fa10 vmrs APSR_nzcv, fpscr 807426a: db25 blt.n 80742b8 { f = (24 * ((f - 60.0f) / 20.0f)) + 0.5f; 807426c: f507 638b add.w r3, r7, #1112 ; 0x458 8074270: edd3 7a00 vldr s15, [r3] 8074274: ed9f 7a89 vldr s14, [pc, #548] ; 807449c 8074278: ee37 7ac7 vsub.f32 s14, s15, s14 807427c: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 8074280: eec7 7a26 vdiv.f32 s15, s14, s13 8074284: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 8074288: ee67 7a87 vmul.f32 s15, s15, s14 807428c: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 8074290: ee77 7a87 vadd.f32 s15, s15, s14 8074294: f507 638b add.w r3, r7, #1112 ; 0x458 8074298: edc3 7a00 vstr s15, [r3] y = u_y[4] - (uint32_t) f; 807429c: f897 3408 ldrb.w r3, [r7, #1032] ; 0x408 80742a0: f507 628b add.w r2, r7, #1112 ; 0x458 80742a4: edd2 7a00 vldr s15, [r2] 80742a8: eefc 7ae7 vcvt.u32.f32 s15, s15 80742ac: ee17 2a90 vmov r2, s15 80742b0: 1a9b subs r3, r3, r2 80742b2: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 80742b6: e037 b.n 8074328 } else if(f <= Pfy[6]) // <= 100 80742b8: 4b76 ldr r3, [pc, #472] ; (8074494 ) 80742ba: ed93 7a06 vldr s14, [r3, #24] 80742be: f507 638b add.w r3, r7, #1112 ; 0x458 80742c2: edd3 7a00 vldr s15, [r3] 80742c6: eeb4 7ae7 vcmpe.f32 s14, s15 80742ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80742ce: db2b blt.n 8074328 { f = (24 * ((f - 80.0f) / 20.0f)) + 0.5f; 80742d0: f507 638b add.w r3, r7, #1112 ; 0x458 80742d4: edd3 7a00 vldr s15, [r3] 80742d8: ed9f 7a71 vldr s14, [pc, #452] ; 80744a0 80742dc: ee37 7ac7 vsub.f32 s14, s15, s14 80742e0: eef3 6a04 vmov.f32 s13, #52 ; 0x41a00000 20.0 80742e4: eec7 7a26 vdiv.f32 s15, s14, s13 80742e8: eeb3 7a08 vmov.f32 s14, #56 ; 0x41c00000 24.0 80742ec: ee67 7a87 vmul.f32 s15, s15, s14 80742f0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80742f4: ee77 7a87 vadd.f32 s15, s15, s14 80742f8: f507 638b add.w r3, r7, #1112 ; 0x458 80742fc: edc3 7a00 vstr s15, [r3] y = u_y[5] - (uint32_t) f; 8074300: f897 3409 ldrb.w r3, [r7, #1033] ; 0x409 8074304: f507 628b add.w r2, r7, #1112 ; 0x458 8074308: edd2 7a00 vldr s15, [r2] 807430c: eefc 7ae7 vcvt.u32.f32 s15, s15 8074310: ee17 2a90 vmov r2, s15 8074314: 1a9b subs r3, r3, r2 8074316: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 if(y > 24) y = 24; 807431a: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 807431e: 2b18 cmp r3, #24 8074320: d902 bls.n 8074328 8074322: 2318 movs r3, #24 8074324: f8c7 3464 str.w r3, [r7, #1124] ; 0x464 } BSP_LCD_DrawLine(32 + i, y, 32 + i, 203); 8074328: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807432c: b29b uxth r3, r3 807432e: 3320 adds r3, #32 8074330: b298 uxth r0, r3 8074332: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 8074336: b299 uxth r1, r3 8074338: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807433c: b29b uxth r3, r3 807433e: 3320 adds r3, #32 8074340: b29a uxth r2, r3 8074342: 23cb movs r3, #203 ; 0xcb 8074344: f7df fc88 bl 8053c58 oldy = y; 8074348: f8d7 3464 ldr.w r3, [r7, #1124] ; 0x464 807434c: f8c7 345c str.w r3, [r7, #1116] ; 0x45c for(i = 0; i < 256; i++) 8074350: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8074354: 3301 adds r3, #1 8074356: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 807435a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807435e: 2bff cmp r3, #255 ; 0xff 8074360: f67f ae2a bls.w 8073fb8 } BSP_LCD_SetFont(&Font12); 8074364: 484f ldr r0, [pc, #316] ; (80744a4 ) 8074366: f7df fa79 bl 805385c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807436a: 494f ldr r1, [pc, #316] ; (80744a8 ) 807436c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074370: f7df fa38 bl 80537e4 if(dBm != -100.0f) 8074374: 4b4d ldr r3, [pc, #308] ; (80744ac ) 8074376: edd3 7a00 vldr s15, [r3] 807437a: ed9f 7a4d vldr s14, [pc, #308] ; 80744b0 807437e: eef4 7a47 vcmp.f32 s15, s14 8074382: eef1 fa10 vmrs APSR_nzcv, fpscr 8074386: f000 80e2 beq.w 807454e { BSP_LCD_DisplayStringAt(286, 36, (char *) FloatToASCII(dBm, 0), RIGHT_MODE); 807438a: 4b48 ldr r3, [pc, #288] ; (80744ac ) 807438c: edd3 7a00 vldr s15, [r3] 8074390: 2000 movs r0, #0 8074392: eeb0 0a67 vmov.f32 s0, s15 8074396: f7f2 f9cf bl 8066738 807439a: 4602 mov r2, r0 807439c: 2302 movs r3, #2 807439e: 2124 movs r1, #36 ; 0x24 80743a0: f44f 708f mov.w r0, #286 ; 0x11e 80743a4: f7df fae4 bl 8053970 BSP_LCD_DisplayStringAt(286, 48, (char *) FloatToASCII(dBi, 0), RIGHT_MODE); 80743a8: 4b42 ldr r3, [pc, #264] ; (80744b4 ) 80743aa: edd3 7a00 vldr s15, [r3] 80743ae: 2000 movs r0, #0 80743b0: eeb0 0a67 vmov.f32 s0, s15 80743b4: f7f2 f9c0 bl 8066738 80743b8: 4602 mov r2, r0 80743ba: 2302 movs r3, #2 80743bc: 2130 movs r1, #48 ; 0x30 80743be: f44f 708f mov.w r0, #286 ; 0x11e 80743c2: f7df fad5 bl 8053970 BSP_LCD_DisplayStringAt(286, 60, (char *) FloatToASCII(dBc, 0), RIGHT_MODE); 80743c6: 4b3c ldr r3, [pc, #240] ; (80744b8 ) 80743c8: edd3 7a00 vldr s15, [r3] 80743cc: 2000 movs r0, #0 80743ce: eeb0 0a67 vmov.f32 s0, s15 80743d2: f7f2 f9b1 bl 8066738 80743d6: 4602 mov r2, r0 80743d8: 2302 movs r3, #2 80743da: 213c movs r1, #60 ; 0x3c 80743dc: f44f 708f mov.w r0, #286 ; 0x11e 80743e0: f7df fac6 bl 8053970 // BSP_LCD_DisplayStringAt(286, 72, (char *) FloatToASCII(MAXIMUM, 0), RIGHT_MODE); // BSP_LCD_DisplayStringAt(286, 84, (char *) FloatToASCII(MINIMUM, 0), RIGHT_MODE); ///////////////// dBN //////////////////////////////////////////////// if(dBm <= 0.0f) 80743e4: 4b31 ldr r3, [pc, #196] ; (80744ac ) 80743e6: edd3 7a00 vldr s15, [r3] 80743ea: eef5 7ac0 vcmpe.f32 s15, #0.0 80743ee: eef1 fa10 vmrs APSR_nzcv, fpscr 80743f2: d822 bhi.n 807443a { LCD_SetColors(MY_LCD_COLOR_DARKRED, LCD_COLOR_BLACK); 80743f4: 492c ldr r1, [pc, #176] ; (80744a8 ) 80743f6: 4831 ldr r0, [pc, #196] ; (80744bc ) 80743f8: f7df f9f4 bl 80537e4 BSP_LCD_FillRect(293, 35, 14, 59); 80743fc: 233b movs r3, #59 ; 0x3b 80743fe: 220e movs r2, #14 8074400: 2123 movs r1, #35 ; 0x23 8074402: f240 1025 movw r0, #293 ; 0x125 8074406: f7df fe7b bl 8054100 LCD_SetColors(MY_LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 807440a: 4927 ldr r1, [pc, #156] ; (80744a8 ) 807440c: 482c ldr r0, [pc, #176] ; (80744c0 ) 807440e: f7df f9e9 bl 80537e4 BSP_LCD_FillRect(293, 35 + 59, 14, 59); 8074412: 233b movs r3, #59 ; 0x3b 8074414: 220e movs r2, #14 8074416: 215e movs r1, #94 ; 0x5e 8074418: f240 1025 movw r0, #293 ; 0x125 807441c: f7df fe70 bl 8054100 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074420: 4921 ldr r1, [pc, #132] ; (80744a8 ) 8074422: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074426: f7df f9dd bl 80537e4 BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 807442a: 233b movs r3, #59 ; 0x3b 807442c: 220e movs r2, #14 807442e: 2199 movs r1, #153 ; 0x99 8074430: f240 1025 movw r0, #293 ; 0x125 8074434: f7df fe64 bl 8054100 if(dBm != -100.0f) 8074438: e089 b.n 807454e } else if(dBm <= 15.0f) 807443a: 4b1c ldr r3, [pc, #112] ; (80744ac ) 807443c: edd3 7a00 vldr s15, [r3] 8074440: eeb2 7a0e vmov.f32 s14, #46 ; 0x41700000 15.0 8074444: eef4 7ac7 vcmpe.f32 s15, s14 8074448: eef1 fa10 vmrs APSR_nzcv, fpscr 807444c: d83c bhi.n 80744c8 { LCD_SetColors(MY_LCD_COLOR_DARKRED, LCD_COLOR_BLACK); 807444e: 4916 ldr r1, [pc, #88] ; (80744a8 ) 8074450: 481a ldr r0, [pc, #104] ; (80744bc ) 8074452: f7df f9c7 bl 80537e4 BSP_LCD_FillRect(293, 35, 14, 59); 8074456: 233b movs r3, #59 ; 0x3b 8074458: 220e movs r2, #14 807445a: 2123 movs r1, #35 ; 0x23 807445c: f240 1025 movw r0, #293 ; 0x125 8074460: f7df fe4e bl 8054100 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8074464: 4910 ldr r1, [pc, #64] ; (80744a8 ) 8074466: f06f 00ff mvn.w r0, #255 ; 0xff 807446a: f7df f9bb bl 80537e4 BSP_LCD_FillRect(293, 35 + 59, 14, 59); 807446e: 233b movs r3, #59 ; 0x3b 8074470: 220e movs r2, #14 8074472: 215e movs r1, #94 ; 0x5e 8074474: f240 1025 movw r0, #293 ; 0x125 8074478: f7df fe42 bl 8054100 LCD_SetColors(MY_LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 807447c: 490a ldr r1, [pc, #40] ; (80744a8 ) 807447e: 4811 ldr r0, [pc, #68] ; (80744c4 ) 8074480: f7df f9b0 bl 80537e4 BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 8074484: 233b movs r3, #59 ; 0x3b 8074486: 220e movs r2, #14 8074488: 2199 movs r1, #153 ; 0x99 807448a: f240 1025 movw r0, #293 ; 0x125 807448e: f7df fe37 bl 8054100 if(dBm != -100.0f) 8074492: e05c b.n 807454e 8074494: 200685c8 .word 0x200685c8 8074498: 42200000 .word 0x42200000 807449c: 42700000 .word 0x42700000 80744a0: 42a00000 .word 0x42a00000 80744a4: 20020038 .word 0x20020038 80744a8: ff0a0f1f .word 0xff0a0f1f 80744ac: 20020da0 .word 0x20020da0 80744b0: c2c80000 .word 0xc2c80000 80744b4: 20020d98 .word 0x20020d98 80744b8: 20020d9c .word 0x20020d9c 80744bc: ff400000 .word 0xff400000 80744c0: ff404000 .word 0xff404000 80744c4: ff004000 .word 0xff004000 } else { LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80744c8: 49c5 ldr r1, [pc, #788] ; (80747e0 ) 80744ca: 48c6 ldr r0, [pc, #792] ; (80747e4 ) 80744cc: f7df f98a bl 80537e4 BSP_LCD_FillRect(293, 35, 14, 59); 80744d0: 233b movs r3, #59 ; 0x3b 80744d2: 220e movs r2, #14 80744d4: 2123 movs r1, #35 ; 0x23 80744d6: f240 1025 movw r0, #293 ; 0x125 80744da: f7df fe11 bl 8054100 LCD_SetColors(MY_LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 80744de: 49c0 ldr r1, [pc, #768] ; (80747e0 ) 80744e0: 48c1 ldr r0, [pc, #772] ; (80747e8 ) 80744e2: f7df f97f bl 80537e4 BSP_LCD_FillRect(293, 35 + 59, 14, 59); 80744e6: 233b movs r3, #59 ; 0x3b 80744e8: 220e movs r2, #14 80744ea: 215e movs r1, #94 ; 0x5e 80744ec: f240 1025 movw r0, #293 ; 0x125 80744f0: f7df fe06 bl 8054100 LCD_SetColors(MY_LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80744f4: 49ba ldr r1, [pc, #744] ; (80747e0 ) 80744f6: 48bd ldr r0, [pc, #756] ; (80747ec ) 80744f8: f7df f974 bl 80537e4 BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 80744fc: 233b movs r3, #59 ; 0x3b 80744fe: 220e movs r2, #14 8074500: 2199 movs r1, #153 ; 0x99 8074502: f240 1025 movw r0, #293 ; 0x125 8074506: f7df fdfb bl 8054100 if(dBm != -100.0f) 807450a: e020 b.n 807454e } } else { LCD_SetColors(MY_LCD_COLOR_DARKRED, LCD_COLOR_BLACK); 807450c: 49b4 ldr r1, [pc, #720] ; (80747e0 ) 807450e: 48b8 ldr r0, [pc, #736] ; (80747f0 ) 8074510: f7df f968 bl 80537e4 BSP_LCD_FillRect(293, 35, 14, 59); 8074514: 233b movs r3, #59 ; 0x3b 8074516: 220e movs r2, #14 8074518: 2123 movs r1, #35 ; 0x23 807451a: f240 1025 movw r0, #293 ; 0x125 807451e: f7df fdef bl 8054100 LCD_SetColors(MY_LCD_COLOR_DARKYELLOW, LCD_COLOR_BLACK); 8074522: 49af ldr r1, [pc, #700] ; (80747e0 ) 8074524: 48b0 ldr r0, [pc, #704] ; (80747e8 ) 8074526: f7df f95d bl 80537e4 BSP_LCD_FillRect(293, 35 + 59, 14, 59); 807452a: 233b movs r3, #59 ; 0x3b 807452c: 220e movs r2, #14 807452e: 215e movs r1, #94 ; 0x5e 8074530: f240 1025 movw r0, #293 ; 0x125 8074534: f7df fde4 bl 8054100 LCD_SetColors(MY_LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 8074538: 49a9 ldr r1, [pc, #676] ; (80747e0 ) 807453a: 48ac ldr r0, [pc, #688] ; (80747ec ) 807453c: f7df f952 bl 80537e4 BSP_LCD_FillRect(293, 35 + 59 + 59, 14, 59); 8074540: 233b movs r3, #59 ; 0x3b 8074542: 220e movs r2, #14 8074544: 2199 movs r1, #153 ; 0x99 8074546: f240 1025 movw r0, #293 ; 0x125 807454a: f7df fdd9 bl 8054100 } BSP_LCD_SetFont(&Font12); 807454e: 48a9 ldr r0, [pc, #676] ; (80747f4 ) 8074550: f7df f984 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074554: 49a2 ldr r1, [pc, #648] ; (80747e0 ) 8074556: f04f 30ff mov.w r0, #4294967295 807455a: f7df f943 bl 80537e4 BSP_LCD_DisplayStringAt(160, 37, (char *) pKU_UDAR[pardata.IKU], CENTER_MODE); 807455e: 4ba6 ldr r3, [pc, #664] ; (80747f8 ) 8074560: 7a1b ldrb r3, [r3, #8] 8074562: b2db uxtb r3, r3 8074564: 461a mov r2, r3 8074566: 4ba5 ldr r3, [pc, #660] ; (80747fc ) 8074568: f853 2022 ldr.w r2, [r3, r2, lsl #2] 807456c: 2301 movs r3, #1 807456e: 2125 movs r1, #37 ; 0x25 8074570: 20a0 movs r0, #160 ; 0xa0 8074572: f7df f9fd bl 8053970 if(AUTOKU) 8074576: 4ba2 ldr r3, [pc, #648] ; (8074800 ) 8074578: 781b ldrb r3, [r3, #0] 807457a: b2db uxtb r3, r3 807457c: 2b00 cmp r3, #0 807457e: d00b beq.n 8074598 { LCD_SetColors(LCD_COLOR_LIGHTRED, LCD_COLOR_BLACK); 8074580: 4997 ldr r1, [pc, #604] ; (80747e0 ) 8074582: 48a0 ldr r0, [pc, #640] ; (8074804 ) 8074584: f7df f92e bl 80537e4 BSP_LCD_DisplayStringAt(40, 37, "AUTO", LEFT_MODE); 8074588: 2303 movs r3, #3 807458a: 4a9f ldr r2, [pc, #636] ; (8074808 ) 807458c: 2125 movs r1, #37 ; 0x25 807458e: 2028 movs r0, #40 ; 0x28 8074590: f7df f9ee bl 8053970 } } }*/ break; 8074594: f023 b84a b.w 809762c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074598: 4991 ldr r1, [pc, #580] ; (80747e0 ) 807459a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807459e: f7df f921 bl 80537e4 BSP_LCD_DisplayStringAt(40, 37, "MANUAL", LEFT_MODE); 80745a2: 2303 movs r3, #3 80745a4: 4a99 ldr r2, [pc, #612] ; (807480c ) 80745a6: 2125 movs r1, #37 ; 0x25 80745a8: 2028 movs r0, #40 ; 0x28 80745aa: f7df f9e1 bl 8053970 break; 80745ae: f023 b83d b.w 809762c case MAIN_SYGNAL: DrawLegend(); 80745b2: f038 fed9 bl 80ad368 LCD_SetColors(LCD_COLOR_MYBROWN, LCD_COLOR_BLACK); 80745b6: 498a ldr r1, [pc, #552] ; (80747e0 ) 80745b8: 4895 ldr r0, [pc, #596] ; (8074810 ) 80745ba: f7df f913 bl 80537e4 memset(str, 0, sizeof(str)); 80745be: f507 733b add.w r3, r7, #748 ; 0x2ec 80745c2: 223c movs r2, #60 ; 0x3c 80745c4: 2100 movs r1, #0 80745c6: 4618 mov r0, r3 80745c8: f058 fd5a bl 80cd080 str[0] = '"'; 80745cc: f507 733b add.w r3, r7, #748 ; 0x2ec 80745d0: 2222 movs r2, #34 ; 0x22 80745d2: 701a strb r2, [r3, #0] strcat(str, FileName); 80745d4: f507 733b add.w r3, r7, #748 ; 0x2ec 80745d8: 498e ldr r1, [pc, #568] ; (8074814 ) 80745da: 4618 mov r0, r3 80745dc: f058 fe50 bl 80cd280 l = strlen(str); 80745e0: f507 733b add.w r3, r7, #748 ; 0x2ec 80745e4: 4618 mov r0, r3 80745e6: f7ab fe95 bl 8020314 80745ea: 4603 mov r3, r0 80745ec: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l] = '"'; 80745f0: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80745f4: f507 723b add.w r2, r7, #748 ; 0x2ec 80745f8: 2122 movs r1, #34 ; 0x22 80745fa: 54d1 strb r1, [r2, r3] BSP_LCD_DisplayStringAt(3, 30, str, LEFT_MODE); 80745fc: f507 723b add.w r2, r7, #748 ; 0x2ec 8074600: 2303 movs r3, #3 8074602: 211e movs r1, #30 8074604: 2003 movs r0, #3 8074606: f7df f9b3 bl 8053970 switch(menupos) 807460a: 4b83 ldr r3, [pc, #524] ; (8074818 ) 807460c: 781b ldrb r3, [r3, #0] 807460e: b2db uxtb r3, r3 8074610: 2b07 cmp r3, #7 8074612: f200 81e4 bhi.w 80749de 8074616: a201 add r2, pc, #4 ; (adr r2, 807461c ) 8074618: f852 f023 ldr.w pc, [r2, r3, lsl #2] 807461c: 08074883 .word 0x08074883 8074620: 080749df .word 0x080749df 8074624: 0807463d .word 0x0807463d 8074628: 080746b1 .word 0x080746b1 807462c: 08074725 .word 0x08074725 8074630: 08074799 .word 0x08074799 8074634: 0807496b .word 0x0807496b 8074638: 080748f7 .word 0x080748f7 { case ImageLeft: DrawImage(&bmSTOP41, 3, 108-26); 807463c: 2252 movs r2, #82 ; 0x52 807463e: 2103 movs r1, #3 8074640: 4876 ldr r0, [pc, #472] ; (807481c ) 8074642: f7df ffc3 bl 80545cc DrawImage(&bmLEFT_1_LIGHT, 3, 108); 8074646: 226c movs r2, #108 ; 0x6c 8074648: 2103 movs r1, #3 807464a: 4875 ldr r0, [pc, #468] ; (8074820 ) 807464c: f7df ffbe bl 80545cc DrawImage(&bmRIGHT_1, 3, 108+26); 8074650: 2286 movs r2, #134 ; 0x86 8074652: 2103 movs r1, #3 8074654: 4873 ldr r0, [pc, #460] ; (8074824 ) 8074656: f7df ffb9 bl 80545cc DrawImage(&bmPLUS_1, 3, 108+52); 807465a: 22a0 movs r2, #160 ; 0xa0 807465c: 2103 movs r1, #3 807465e: 4872 ldr r0, [pc, #456] ; (8074828 ) 8074660: f7df ffb4 bl 80545cc DrawImage(&bmMINUS_1, 3, 108+78); 8074664: 22ba movs r2, #186 ; 0xba 8074666: 2103 movs r1, #3 8074668: 4870 ldr r0, [pc, #448] ; (807482c ) 807466a: f7df ffaf bl 80545cc if(PlayingState.State == PLAYING) 807466e: 4b70 ldr r3, [pc, #448] ; (8074830 ) 8074670: 6a5b ldr r3, [r3, #36] ; 0x24 8074672: 2b01 cmp r3, #1 8074674: d105 bne.n 8074682 DrawImage(&bmPAUSE41, 3, 108+104); 8074676: 22d4 movs r2, #212 ; 0xd4 8074678: 2103 movs r1, #3 807467a: 486e ldr r0, [pc, #440] ; (8074834 ) 807467c: f7df ffa6 bl 80545cc 8074680: e004 b.n 807468c else DrawImage(&bmPLAY41, 3, 108+104); 8074682: 22d4 movs r2, #212 ; 0xd4 8074684: 2103 movs r1, #3 8074686: 486c ldr r0, [pc, #432] ; (8074838 ) 8074688: f7df ffa0 bl 80545cc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807468c: 4954 ldr r1, [pc, #336] ; (80747e0 ) 807468e: 486b ldr r0, [pc, #428] ; (807483c ) 8074690: f7df f8a8 bl 80537e4 x = 62 + CURSOR; 8074694: 4b6a ldr r3, [pc, #424] ; (8074840 ) 8074696: 681b ldr r3, [r3, #0] 8074698: 333e adds r3, #62 ; 0x3e 807469a: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 807469e: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80746a2: b29b uxth r3, r3 80746a4: 22bf movs r2, #191 ; 0xbf 80746a6: 212c movs r1, #44 ; 0x2c 80746a8: 4618 mov r0, r3 80746aa: f7df fa73 bl 8053b94 break; 80746ae: e196 b.n 80749de case ZoomIn: DrawImage(&bmSTOP41, 3, 108-26); 80746b0: 2252 movs r2, #82 ; 0x52 80746b2: 2103 movs r1, #3 80746b4: 4859 ldr r0, [pc, #356] ; (807481c ) 80746b6: f7df ff89 bl 80545cc DrawImage(&bmLEFT_1, 3, 108); 80746ba: 226c movs r2, #108 ; 0x6c 80746bc: 2103 movs r1, #3 80746be: 4861 ldr r0, [pc, #388] ; (8074844 ) 80746c0: f7df ff84 bl 80545cc DrawImage(&bmRIGHT_1, 3, 108+26); 80746c4: 2286 movs r2, #134 ; 0x86 80746c6: 2103 movs r1, #3 80746c8: 4856 ldr r0, [pc, #344] ; (8074824 ) 80746ca: f7df ff7f bl 80545cc DrawImage(&bmPLUS_1_LIGHT, 3, 108+52); 80746ce: 22a0 movs r2, #160 ; 0xa0 80746d0: 2103 movs r1, #3 80746d2: 485d ldr r0, [pc, #372] ; (8074848 ) 80746d4: f7df ff7a bl 80545cc DrawImage(&bmMINUS_1, 3, 108+78); 80746d8: 22ba movs r2, #186 ; 0xba 80746da: 2103 movs r1, #3 80746dc: 4853 ldr r0, [pc, #332] ; (807482c ) 80746de: f7df ff75 bl 80545cc if(PlayingState.State == PLAYING) 80746e2: 4b53 ldr r3, [pc, #332] ; (8074830 ) 80746e4: 6a5b ldr r3, [r3, #36] ; 0x24 80746e6: 2b01 cmp r3, #1 80746e8: d105 bne.n 80746f6 DrawImage(&bmPAUSE41, 3, 108+104); 80746ea: 22d4 movs r2, #212 ; 0xd4 80746ec: 2103 movs r1, #3 80746ee: 4851 ldr r0, [pc, #324] ; (8074834 ) 80746f0: f7df ff6c bl 80545cc 80746f4: e004 b.n 8074700 else DrawImage(&bmPLAY41, 3, 108+104); 80746f6: 22d4 movs r2, #212 ; 0xd4 80746f8: 2103 movs r1, #3 80746fa: 484f ldr r0, [pc, #316] ; (8074838 ) 80746fc: f7df ff66 bl 80545cc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8074700: 4937 ldr r1, [pc, #220] ; (80747e0 ) 8074702: 484e ldr r0, [pc, #312] ; (807483c ) 8074704: f7df f86e bl 80537e4 x = 62 + CURSOR; 8074708: 4b4d ldr r3, [pc, #308] ; (8074840 ) 807470a: 681b ldr r3, [r3, #0] 807470c: 333e adds r3, #62 ; 0x3e 807470e: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8074712: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8074716: b29b uxth r3, r3 8074718: 22bf movs r2, #191 ; 0xbf 807471a: 212c movs r1, #44 ; 0x2c 807471c: 4618 mov r0, r3 807471e: f7df fa39 bl 8053b94 break; 8074722: e15c b.n 80749de case ZoomOut: DrawImage(&bmSTOP41, 3, 108-26); 8074724: 2252 movs r2, #82 ; 0x52 8074726: 2103 movs r1, #3 8074728: 483c ldr r0, [pc, #240] ; (807481c ) 807472a: f7df ff4f bl 80545cc DrawImage(&bmLEFT_1, 3, 108); 807472e: 226c movs r2, #108 ; 0x6c 8074730: 2103 movs r1, #3 8074732: 4844 ldr r0, [pc, #272] ; (8074844 ) 8074734: f7df ff4a bl 80545cc DrawImage(&bmRIGHT_1, 3, 108+26); 8074738: 2286 movs r2, #134 ; 0x86 807473a: 2103 movs r1, #3 807473c: 4839 ldr r0, [pc, #228] ; (8074824 ) 807473e: f7df ff45 bl 80545cc DrawImage(&bmPLUS_1, 3, 108+52); 8074742: 22a0 movs r2, #160 ; 0xa0 8074744: 2103 movs r1, #3 8074746: 4838 ldr r0, [pc, #224] ; (8074828 ) 8074748: f7df ff40 bl 80545cc DrawImage(&bmMINUS_1_LIGHT, 3, 108+78); 807474c: 22ba movs r2, #186 ; 0xba 807474e: 2103 movs r1, #3 8074750: 483e ldr r0, [pc, #248] ; (807484c ) 8074752: f7df ff3b bl 80545cc if(PlayingState.State == PLAYING) 8074756: 4b36 ldr r3, [pc, #216] ; (8074830 ) 8074758: 6a5b ldr r3, [r3, #36] ; 0x24 807475a: 2b01 cmp r3, #1 807475c: d105 bne.n 807476a DrawImage(&bmPAUSE41, 3, 108+104); 807475e: 22d4 movs r2, #212 ; 0xd4 8074760: 2103 movs r1, #3 8074762: 4834 ldr r0, [pc, #208] ; (8074834 ) 8074764: f7df ff32 bl 80545cc 8074768: e004 b.n 8074774 else DrawImage(&bmPLAY41, 3, 108+104); 807476a: 22d4 movs r2, #212 ; 0xd4 807476c: 2103 movs r1, #3 807476e: 4832 ldr r0, [pc, #200] ; (8074838 ) 8074770: f7df ff2c bl 80545cc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8074774: 491a ldr r1, [pc, #104] ; (80747e0 ) 8074776: 4831 ldr r0, [pc, #196] ; (807483c ) 8074778: f7df f834 bl 80537e4 x = 62 + CURSOR; 807477c: 4b30 ldr r3, [pc, #192] ; (8074840 ) 807477e: 681b ldr r3, [r3, #0] 8074780: 333e adds r3, #62 ; 0x3e 8074782: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8074786: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 807478a: b29b uxth r3, r3 807478c: 22bf movs r2, #191 ; 0xbf 807478e: 212c movs r1, #44 ; 0x2c 8074790: 4618 mov r0, r3 8074792: f7df f9ff bl 8053b94 break; 8074796: e122 b.n 80749de case ImageRight: DrawImage(&bmSTOP41, 3, 108-26); 8074798: 2252 movs r2, #82 ; 0x52 807479a: 2103 movs r1, #3 807479c: 481f ldr r0, [pc, #124] ; (807481c ) 807479e: f7df ff15 bl 80545cc DrawImage(&bmLEFT_1, 3, 108); 80747a2: 226c movs r2, #108 ; 0x6c 80747a4: 2103 movs r1, #3 80747a6: 4827 ldr r0, [pc, #156] ; (8074844 ) 80747a8: f7df ff10 bl 80545cc DrawImage(&bmRIGHT_1_LIGHT, 3, 108+26); 80747ac: 2286 movs r2, #134 ; 0x86 80747ae: 2103 movs r1, #3 80747b0: 4827 ldr r0, [pc, #156] ; (8074850 ) 80747b2: f7df ff0b bl 80545cc DrawImage(&bmPLUS_1, 3, 108+52); 80747b6: 22a0 movs r2, #160 ; 0xa0 80747b8: 2103 movs r1, #3 80747ba: 481b ldr r0, [pc, #108] ; (8074828 ) 80747bc: f7df ff06 bl 80545cc DrawImage(&bmMINUS_1, 3, 108+78); 80747c0: 22ba movs r2, #186 ; 0xba 80747c2: 2103 movs r1, #3 80747c4: 4819 ldr r0, [pc, #100] ; (807482c ) 80747c6: f7df ff01 bl 80545cc if(PlayingState.State == PLAYING) 80747ca: 4b19 ldr r3, [pc, #100] ; (8074830 ) 80747cc: 6a5b ldr r3, [r3, #36] ; 0x24 80747ce: 2b01 cmp r3, #1 80747d0: d140 bne.n 8074854 DrawImage(&bmPAUSE41, 3, 108+104); 80747d2: 22d4 movs r2, #212 ; 0xd4 80747d4: 2103 movs r1, #3 80747d6: 4817 ldr r0, [pc, #92] ; (8074834 ) 80747d8: f7df fef8 bl 80545cc 80747dc: e03f b.n 807485e 80747de: bf00 nop 80747e0: ff0a0f1f .word 0xff0a0f1f 80747e4: ffff0000 .word 0xffff0000 80747e8: ff404000 .word 0xff404000 80747ec: ff004000 .word 0xff004000 80747f0: ff400000 .word 0xff400000 80747f4: 20020038 .word 0x20020038 80747f8: 20023e60 .word 0x20023e60 80747fc: 200201dc .word 0x200201dc 8074800: 20020029 .word 0x20020029 8074804: ffff8080 .word 0xffff8080 8074808: 080cfd58 .word 0x080cfd58 807480c: 080cfd60 .word 0x080cfd60 8074810: ffd3b36e .word 0xffd3b36e 8074814: 20022bb8 .word 0x20022bb8 8074818: 20020070 .word 0x20020070 807481c: 08148a4c .word 0x08148a4c 8074820: 08114d74 .word 0x08114d74 8074824: 08146c1c .word 0x08146c1c 8074828: 081432e4 .word 0x081432e4 807482c: 0813b65c .word 0x0813b65c 8074830: 200228d8 .word 0x200228d8 8074834: 0813ef94 .word 0x0813ef94 8074838: 08140604 .word 0x08140604 807483c: ff808080 .word 0xff808080 8074840: 2002006c .word 0x2002006c 8074844: 0811423c .word 0x0811423c 8074848: 08143e1c .word 0x08143e1c 807484c: 0813c194 .word 0x0813c194 8074850: 08147754 .word 0x08147754 else DrawImage(&bmPLAY41, 3, 108+104); 8074854: 22d4 movs r2, #212 ; 0xd4 8074856: 2103 movs r1, #3 8074858: 48bd ldr r0, [pc, #756] ; (8074b50 ) 807485a: f7df feb7 bl 80545cc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807485e: 49bd ldr r1, [pc, #756] ; (8074b54 ) 8074860: 48bd ldr r0, [pc, #756] ; (8074b58 ) 8074862: f7de ffbf bl 80537e4 x = 62 + CURSOR; 8074866: 4bbd ldr r3, [pc, #756] ; (8074b5c ) 8074868: 681b ldr r3, [r3, #0] 807486a: 333e adds r3, #62 ; 0x3e 807486c: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8074870: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 8074874: b29b uxth r3, r3 8074876: 22bf movs r2, #191 ; 0xbf 8074878: 212c movs r1, #44 ; 0x2c 807487a: 4618 mov r0, r3 807487c: f7df f98a bl 8053b94 break; 8074880: e0ad b.n 80749de case StartStop: DrawImage(&bmSTOP41, 3, 108-26); 8074882: 2252 movs r2, #82 ; 0x52 8074884: 2103 movs r1, #3 8074886: 48b6 ldr r0, [pc, #728] ; (8074b60 ) 8074888: f7df fea0 bl 80545cc DrawImage(&bmLEFT_1, 3, 108); 807488c: 226c movs r2, #108 ; 0x6c 807488e: 2103 movs r1, #3 8074890: 48b4 ldr r0, [pc, #720] ; (8074b64 ) 8074892: f7df fe9b bl 80545cc DrawImage(&bmRIGHT_1, 3, 108+26); 8074896: 2286 movs r2, #134 ; 0x86 8074898: 2103 movs r1, #3 807489a: 48b3 ldr r0, [pc, #716] ; (8074b68 ) 807489c: f7df fe96 bl 80545cc DrawImage(&bmPLUS_1, 3, 108+52); 80748a0: 22a0 movs r2, #160 ; 0xa0 80748a2: 2103 movs r1, #3 80748a4: 48b1 ldr r0, [pc, #708] ; (8074b6c ) 80748a6: f7df fe91 bl 80545cc DrawImage(&bmMINUS_1, 3, 108+78); 80748aa: 22ba movs r2, #186 ; 0xba 80748ac: 2103 movs r1, #3 80748ae: 48b0 ldr r0, [pc, #704] ; (8074b70 ) 80748b0: f7df fe8c bl 80545cc if(PlayingState.State == PLAYING) 80748b4: 4baf ldr r3, [pc, #700] ; (8074b74 ) 80748b6: 6a5b ldr r3, [r3, #36] ; 0x24 80748b8: 2b01 cmp r3, #1 80748ba: d105 bne.n 80748c8 DrawImage(&bmPAUSE41_LIGHT, 3, 108+104); 80748bc: 22d4 movs r2, #212 ; 0xd4 80748be: 2103 movs r1, #3 80748c0: 48ad ldr r0, [pc, #692] ; (8074b78 ) 80748c2: f7df fe83 bl 80545cc 80748c6: e004 b.n 80748d2 else DrawImage(&bmPLAY41_LIGHT, 3, 108+104); 80748c8: 22d4 movs r2, #212 ; 0xd4 80748ca: 2103 movs r1, #3 80748cc: 48ab ldr r0, [pc, #684] ; (8074b7c ) 80748ce: f7df fe7d bl 80545cc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80748d2: 49a0 ldr r1, [pc, #640] ; (8074b54 ) 80748d4: 48a0 ldr r0, [pc, #640] ; (8074b58 ) 80748d6: f7de ff85 bl 80537e4 x = 62 + CURSOR; 80748da: 4ba0 ldr r3, [pc, #640] ; (8074b5c ) 80748dc: 681b ldr r3, [r3, #0] 80748de: 333e adds r3, #62 ; 0x3e 80748e0: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 80748e4: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80748e8: b29b uxth r3, r3 80748ea: 22bf movs r2, #191 ; 0xbf 80748ec: 212c movs r1, #44 ; 0x2c 80748ee: 4618 mov r0, r3 80748f0: f7df f950 bl 8053b94 break; 80748f4: e073 b.n 80749de case Stop: DrawImage(&bmSTOP41_LIGHT, 3, 108-26); 80748f6: 2252 movs r2, #82 ; 0x52 80748f8: 2103 movs r1, #3 80748fa: 48a1 ldr r0, [pc, #644] ; (8074b80 ) 80748fc: f7df fe66 bl 80545cc DrawImage(&bmLEFT_1, 3, 108); 8074900: 226c movs r2, #108 ; 0x6c 8074902: 2103 movs r1, #3 8074904: 4897 ldr r0, [pc, #604] ; (8074b64 ) 8074906: f7df fe61 bl 80545cc DrawImage(&bmRIGHT_1, 3, 108+26); 807490a: 2286 movs r2, #134 ; 0x86 807490c: 2103 movs r1, #3 807490e: 4896 ldr r0, [pc, #600] ; (8074b68 ) 8074910: f7df fe5c bl 80545cc DrawImage(&bmPLUS_1, 3, 108+52); 8074914: 22a0 movs r2, #160 ; 0xa0 8074916: 2103 movs r1, #3 8074918: 4894 ldr r0, [pc, #592] ; (8074b6c ) 807491a: f7df fe57 bl 80545cc DrawImage(&bmMINUS_1, 3, 108+78); 807491e: 22ba movs r2, #186 ; 0xba 8074920: 2103 movs r1, #3 8074922: 4893 ldr r0, [pc, #588] ; (8074b70 ) 8074924: f7df fe52 bl 80545cc if(PlayingState.State == PLAYING) 8074928: 4b92 ldr r3, [pc, #584] ; (8074b74 ) 807492a: 6a5b ldr r3, [r3, #36] ; 0x24 807492c: 2b01 cmp r3, #1 807492e: d105 bne.n 807493c DrawImage(&bmPAUSE41, 3, 108+104); 8074930: 22d4 movs r2, #212 ; 0xd4 8074932: 2103 movs r1, #3 8074934: 4893 ldr r0, [pc, #588] ; (8074b84 ) 8074936: f7df fe49 bl 80545cc 807493a: e004 b.n 8074946 else DrawImage(&bmPLAY41, 3, 108+104); 807493c: 22d4 movs r2, #212 ; 0xd4 807493e: 2103 movs r1, #3 8074940: 4883 ldr r0, [pc, #524] ; (8074b50 ) 8074942: f7df fe43 bl 80545cc LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8074946: 4983 ldr r1, [pc, #524] ; (8074b54 ) 8074948: 4883 ldr r0, [pc, #524] ; (8074b58 ) 807494a: f7de ff4b bl 80537e4 x = 62 + CURSOR; 807494e: 4b83 ldr r3, [pc, #524] ; (8074b5c ) 8074950: 681b ldr r3, [r3, #0] 8074952: 333e adds r3, #62 ; 0x3e 8074954: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 8074958: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 807495c: b29b uxth r3, r3 807495e: 22bf movs r2, #191 ; 0xbf 8074960: 212c movs r1, #44 ; 0x2c 8074962: 4618 mov r0, r3 8074964: f7df f916 bl 8053b94 break; 8074968: e039 b.n 80749de case Cursor: DrawImage(&bmSTOP41, 3, 108-26); 807496a: 2252 movs r2, #82 ; 0x52 807496c: 2103 movs r1, #3 807496e: 487c ldr r0, [pc, #496] ; (8074b60 ) 8074970: f7df fe2c bl 80545cc DrawImage(&bmLEFT_1, 3, 108); 8074974: 226c movs r2, #108 ; 0x6c 8074976: 2103 movs r1, #3 8074978: 487a ldr r0, [pc, #488] ; (8074b64 ) 807497a: f7df fe27 bl 80545cc DrawImage(&bmRIGHT_1, 3, 108+26); 807497e: 2286 movs r2, #134 ; 0x86 8074980: 2103 movs r1, #3 8074982: 4879 ldr r0, [pc, #484] ; (8074b68 ) 8074984: f7df fe22 bl 80545cc DrawImage(&bmPLUS_1, 3, 108+52); 8074988: 22a0 movs r2, #160 ; 0xa0 807498a: 2103 movs r1, #3 807498c: 4877 ldr r0, [pc, #476] ; (8074b6c ) 807498e: f7df fe1d bl 80545cc DrawImage(&bmMINUS_1, 3, 108+78); 8074992: 22ba movs r2, #186 ; 0xba 8074994: 2103 movs r1, #3 8074996: 4876 ldr r0, [pc, #472] ; (8074b70 ) 8074998: f7df fe18 bl 80545cc if(PlayingState.State == PLAYING) 807499c: 4b75 ldr r3, [pc, #468] ; (8074b74 ) 807499e: 6a5b ldr r3, [r3, #36] ; 0x24 80749a0: 2b01 cmp r3, #1 80749a2: d105 bne.n 80749b0 DrawImage(&bmPAUSE41, 3, 108+104); 80749a4: 22d4 movs r2, #212 ; 0xd4 80749a6: 2103 movs r1, #3 80749a8: 4876 ldr r0, [pc, #472] ; (8074b84 ) 80749aa: f7df fe0f bl 80545cc 80749ae: e004 b.n 80749ba else DrawImage(&bmPLAY41, 3, 108+104); 80749b0: 22d4 movs r2, #212 ; 0xd4 80749b2: 2103 movs r1, #3 80749b4: 4866 ldr r0, [pc, #408] ; (8074b50 ) 80749b6: f7df fe09 bl 80545cc LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80749ba: 4966 ldr r1, [pc, #408] ; (8074b54 ) 80749bc: 4872 ldr r0, [pc, #456] ; (8074b88 ) 80749be: f7de ff11 bl 80537e4 x = 62 + CURSOR; 80749c2: 4b66 ldr r3, [pc, #408] ; (8074b5c ) 80749c4: 681b ldr r3, [r3, #0] 80749c6: 333e adds r3, #62 ; 0x3e 80749c8: f8c7 3468 str.w r3, [r7, #1128] ; 0x468 BSP_LCD_DrawVLine(x, 44, 191); 80749cc: f8d7 3468 ldr.w r3, [r7, #1128] ; 0x468 80749d0: b29b uxth r3, r3 80749d2: 22bf movs r2, #191 ; 0xbf 80749d4: 212c movs r1, #44 ; 0x2c 80749d6: 4618 mov r0, r3 80749d8: f7df f8dc bl 8053b94 break; 80749dc: bf00 nop } //************************* if(PlayingState.State == PLAYING) { 80749de: 4b65 ldr r3, [pc, #404] ; (8074b74 ) 80749e0: 6a5b ldr r3, [r3, #36] ; 0x24 80749e2: 2b01 cmp r3, #1 80749e4: d101 bne.n 80749ea SeekFileGTR(); 80749e6: f7b4 fa9b bl 8028f20 } //************************* DrawGraph(); 80749ea: f031 fb5d bl 80a60a8 DrawCursorData(); 80749ee: f02f f873 bl 80a3ad8 DrawScaleValue(); 80749f2: f037 fa59 bl 80abea8 BSP_LCD_SetFont(&Font24); 80749f6: 4865 ldr r0, [pc, #404] ; (8074b8c ) 80749f8: f7de ff30 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 80749fc: f04f 417f mov.w r1, #4278190080 ; 0xff000000 8074a00: f04f 30ff mov.w r0, #4294967295 8074a04: f7de feee bl 80537e4 BSP_LCD_DisplayStringAt(66, 45, "A", LEFT_MODE); 8074a08: 2303 movs r3, #3 8074a0a: 4a61 ldr r2, [pc, #388] ; (8074b90 ) 8074a0c: 212d movs r1, #45 ; 0x2d 8074a0e: 2042 movs r0, #66 ; 0x42 8074a10: f7de ffae bl 8053970 break; 8074a14: f022 be0a b.w 809762c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); if(pardata.LANG == RUS) LCD_DisplayString(7, LCD_LINE_2, "..|Ãëàâíîå ìåíþ"); else LCD_DisplayString(7, LCD_LINE_2, "..|Main menu");*/ LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8074a18: 494e ldr r1, [pc, #312] ; (8074b54 ) 8074a1a: 485e ldr r0, [pc, #376] ; (8074b94 ) 8074a1c: f7de fee2 bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 8074a20: 23c9 movs r3, #201 ; 0xc9 8074a22: f44f 729d mov.w r2, #314 ; 0x13a 8074a26: 2123 movs r1, #35 ; 0x23 8074a28: 2002 movs r0, #2 8074a2a: f7df f9e1 bl 8053df0 if(menupos == Mode) 8074a2e: 4b5a ldr r3, [pc, #360] ; (8074b98 ) 8074a30: 781b ldrb r3, [r3, #0] 8074a32: b2db uxtb r3, r3 8074a34: 2b01 cmp r3, #1 8074a36: d140 bne.n 8074aba { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074a38: 4946 ldr r1, [pc, #280] ; (8074b54 ) 8074a3a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074a3e: f7de fed1 bl 80537e4 if(pardata.LANG == RUS) 8074a42: 4b56 ldr r3, [pc, #344] ; (8074b9c ) 8074a44: 7b1b ldrb r3, [r3, #12] 8074a46: b2db uxtb r3, r3 8074a48: 2b00 cmp r3, #0 8074a4a: d105 bne.n 8074a58 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8074a4c: 4a54 ldr r2, [pc, #336] ; (8074ba0 ) 8074a4e: 215a movs r1, #90 ; 0x5a 8074a50: 200a movs r0, #10 8074a52: f7df fc6f bl 8054334 8074a56: e004 b.n 8074a62 else LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8074a58: 4a52 ldr r2, [pc, #328] ; (8074ba4 ) 8074a5a: 215a movs r1, #90 ; 0x5a 8074a5c: 200a movs r0, #10 8074a5e: f7df fc69 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074a62: 493c ldr r1, [pc, #240] ; (8074b54 ) 8074a64: f04f 30ff mov.w r0, #4294967295 8074a68: f7de febc bl 80537e4 if(pardata.LANG == RUS) 8074a6c: 4b4b ldr r3, [pc, #300] ; (8074b9c ) 8074a6e: 7b1b ldrb r3, [r3, #12] 8074a70: b2db uxtb r3, r3 8074a72: 2b00 cmp r3, #0 8074a74: d110 bne.n 8074a98 { LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8074a76: 4a4c ldr r2, [pc, #304] ; (8074ba8 ) 8074a78: 216a movs r1, #106 ; 0x6a 8074a7a: 200a movs r0, #10 8074a7c: f7df fc5a bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8074a80: 4a4a ldr r2, [pc, #296] ; (8074bac ) 8074a82: 217a movs r1, #122 ; 0x7a 8074a84: 200a movs r0, #10 8074a86: f7df fc55 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8074a8a: 4a49 ldr r2, [pc, #292] ; (8074bb0 ) 8074a8c: 218a movs r1, #138 ; 0x8a 8074a8e: 200a movs r0, #10 8074a90: f7df fc50 bl 8054334 } } } } break; 8074a94: f022 bda5 b.w 80975e2 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8074a98: 4a46 ldr r2, [pc, #280] ; (8074bb4 ) 8074a9a: 216a movs r1, #106 ; 0x6a 8074a9c: 200a movs r0, #10 8074a9e: f7df fc49 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8074aa2: 4a45 ldr r2, [pc, #276] ; (8074bb8 ) 8074aa4: 217a movs r1, #122 ; 0x7a 8074aa6: 200a movs r0, #10 8074aa8: f7df fc44 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8074aac: 4a43 ldr r2, [pc, #268] ; (8074bbc ) 8074aae: 218a movs r1, #138 ; 0x8a 8074ab0: 200a movs r0, #10 8074ab2: f7df fc3f bl 8054334 break; 8074ab6: f022 bd94 b.w 80975e2 if(menupos == Settings) 8074aba: 4b37 ldr r3, [pc, #220] ; (8074b98 ) 8074abc: 781b ldrb r3, [r3, #0] 8074abe: b2db uxtb r3, r3 8074ac0: 2b02 cmp r3, #2 8074ac2: d17d bne.n 8074bc0 if(pardata.LANG == RUS) 8074ac4: 4b35 ldr r3, [pc, #212] ; (8074b9c ) 8074ac6: 7b1b ldrb r3, [r3, #12] 8074ac8: b2db uxtb r3, r3 8074aca: 2b00 cmp r3, #0 8074acc: d11f bne.n 8074b0e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074ace: 4921 ldr r1, [pc, #132] ; (8074b54 ) 8074ad0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074ad4: f7de fe86 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8074ad8: 4a33 ldr r2, [pc, #204] ; (8074ba8 ) 8074ada: 216a movs r1, #106 ; 0x6a 8074adc: 200a movs r0, #10 8074ade: f7df fc29 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074ae2: 491c ldr r1, [pc, #112] ; (8074b54 ) 8074ae4: f04f 30ff mov.w r0, #4294967295 8074ae8: f7de fe7c bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8074aec: 4a2c ldr r2, [pc, #176] ; (8074ba0 ) 8074aee: 215a movs r1, #90 ; 0x5a 8074af0: 200a movs r0, #10 8074af2: f7df fc1f bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8074af6: 4a2d ldr r2, [pc, #180] ; (8074bac ) 8074af8: 217a movs r1, #122 ; 0x7a 8074afa: 200a movs r0, #10 8074afc: f7df fc1a bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8074b00: 4a2b ldr r2, [pc, #172] ; (8074bb0 ) 8074b02: 218a movs r1, #138 ; 0x8a 8074b04: 200a movs r0, #10 8074b06: f7df fc15 bl 8054334 break; 8074b0a: f022 bd6a b.w 80975e2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074b0e: 4911 ldr r1, [pc, #68] ; (8074b54 ) 8074b10: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074b14: f7de fe66 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8074b18: 4a26 ldr r2, [pc, #152] ; (8074bb4 ) 8074b1a: 216a movs r1, #106 ; 0x6a 8074b1c: 200a movs r0, #10 8074b1e: f7df fc09 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074b22: 490c ldr r1, [pc, #48] ; (8074b54 ) 8074b24: f04f 30ff mov.w r0, #4294967295 8074b28: f7de fe5c bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8074b2c: 4a1d ldr r2, [pc, #116] ; (8074ba4 ) 8074b2e: 215a movs r1, #90 ; 0x5a 8074b30: 200a movs r0, #10 8074b32: f7df fbff bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8074b36: 4a20 ldr r2, [pc, #128] ; (8074bb8 ) 8074b38: 217a movs r1, #122 ; 0x7a 8074b3a: 200a movs r0, #10 8074b3c: f7df fbfa bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8074b40: 4a1e ldr r2, [pc, #120] ; (8074bbc ) 8074b42: 218a movs r1, #138 ; 0x8a 8074b44: 200a movs r0, #10 8074b46: f7df fbf5 bl 8054334 break; 8074b4a: f022 bd4a b.w 80975e2 8074b4e: bf00 nop 8074b50: 08140604 .word 0x08140604 8074b54: ff0a0f1f .word 0xff0a0f1f 8074b58: ff808080 .word 0xff808080 8074b5c: 2002006c .word 0x2002006c 8074b60: 08148a4c .word 0x08148a4c 8074b64: 0811423c .word 0x0811423c 8074b68: 08146c1c .word 0x08146c1c 8074b6c: 081432e4 .word 0x081432e4 8074b70: 0813b65c .word 0x0813b65c 8074b74: 200228d8 .word 0x200228d8 8074b78: 0813facc .word 0x0813facc 8074b7c: 0814113c .word 0x0814113c 8074b80: 08149584 .word 0x08149584 8074b84: 0813ef94 .word 0x0813ef94 8074b88: ffff0000 .word 0xffff0000 8074b8c: 20020058 .word 0x20020058 8074b90: 080ce6d4 .word 0x080ce6d4 8074b94: ffd3d3d3 .word 0xffd3d3d3 8074b98: 20020070 .word 0x20020070 8074b9c: 20023e60 .word 0x20023e60 8074ba0: 080cfd68 .word 0x080cfd68 8074ba4: 080cfd7c .word 0x080cfd7c 8074ba8: 080cfd90 .word 0x080cfd90 8074bac: 080cfd9c .word 0x080cfd9c 8074bb0: 080cfda4 .word 0x080cfda4 8074bb4: 080cfdb0 .word 0x080cfdb0 8074bb8: 080cfdb8 .word 0x080cfdb8 8074bbc: 080cfdc0 .word 0x080cfdc0 if(menupos == PlayFiles) 8074bc0: 4bc2 ldr r3, [pc, #776] ; (8074ecc ) 8074bc2: 781b ldrb r3, [r3, #0] 8074bc4: b2db uxtb r3, r3 8074bc6: 2b03 cmp r3, #3 8074bc8: d144 bne.n 8074c54 if(pardata.LANG == RUS) 8074bca: 4bc1 ldr r3, [pc, #772] ; (8074ed0 ) 8074bcc: 7b1b ldrb r3, [r3, #12] 8074bce: b2db uxtb r3, r3 8074bd0: 2b00 cmp r3, #0 8074bd2: d11f bne.n 8074c14 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074bd4: 49bf ldr r1, [pc, #764] ; (8074ed4 ) 8074bd6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074bda: f7de fe03 bl 80537e4 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8074bde: 4abe ldr r2, [pc, #760] ; (8074ed8 ) 8074be0: 217a movs r1, #122 ; 0x7a 8074be2: 200a movs r0, #10 8074be4: f7df fba6 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074be8: 49ba ldr r1, [pc, #744] ; (8074ed4 ) 8074bea: f04f 30ff mov.w r0, #4294967295 8074bee: f7de fdf9 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8074bf2: 4aba ldr r2, [pc, #744] ; (8074edc ) 8074bf4: 215a movs r1, #90 ; 0x5a 8074bf6: 200a movs r0, #10 8074bf8: f7df fb9c bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8074bfc: 4ab8 ldr r2, [pc, #736] ; (8074ee0 ) 8074bfe: 216a movs r1, #106 ; 0x6a 8074c00: 200a movs r0, #10 8074c02: f7df fb97 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8074c06: 4ab7 ldr r2, [pc, #732] ; (8074ee4 ) 8074c08: 218a movs r1, #138 ; 0x8a 8074c0a: 200a movs r0, #10 8074c0c: f7df fb92 bl 8054334 break; 8074c10: f022 bce7 b.w 80975e2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074c14: 49af ldr r1, [pc, #700] ; (8074ed4 ) 8074c16: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074c1a: f7de fde3 bl 80537e4 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8074c1e: 4ab2 ldr r2, [pc, #712] ; (8074ee8 ) 8074c20: 217a movs r1, #122 ; 0x7a 8074c22: 200a movs r0, #10 8074c24: f7df fb86 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074c28: 49aa ldr r1, [pc, #680] ; (8074ed4 ) 8074c2a: f04f 30ff mov.w r0, #4294967295 8074c2e: f7de fdd9 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8074c32: 4aae ldr r2, [pc, #696] ; (8074eec ) 8074c34: 215a movs r1, #90 ; 0x5a 8074c36: 200a movs r0, #10 8074c38: f7df fb7c bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8074c3c: 4aac ldr r2, [pc, #688] ; (8074ef0 ) 8074c3e: 216a movs r1, #106 ; 0x6a 8074c40: 200a movs r0, #10 8074c42: f7df fb77 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8074c46: 4aab ldr r2, [pc, #684] ; (8074ef4 ) 8074c48: 218a movs r1, #138 ; 0x8a 8074c4a: 200a movs r0, #10 8074c4c: f7df fb72 bl 8054334 break; 8074c50: f022 bcc7 b.w 80975e2 if(menupos == Route) 8074c54: 4b9d ldr r3, [pc, #628] ; (8074ecc ) 8074c56: 781b ldrb r3, [r3, #0] 8074c58: b2db uxtb r3, r3 8074c5a: 2b04 cmp r3, #4 8074c5c: d144 bne.n 8074ce8 if(pardata.LANG == RUS) 8074c5e: 4b9c ldr r3, [pc, #624] ; (8074ed0 ) 8074c60: 7b1b ldrb r3, [r3, #12] 8074c62: b2db uxtb r3, r3 8074c64: 2b00 cmp r3, #0 8074c66: d11f bne.n 8074ca8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074c68: 499a ldr r1, [pc, #616] ; (8074ed4 ) 8074c6a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074c6e: f7de fdb9 bl 80537e4 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8074c72: 4a9c ldr r2, [pc, #624] ; (8074ee4 ) 8074c74: 218a movs r1, #138 ; 0x8a 8074c76: 200a movs r0, #10 8074c78: f7df fb5c bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074c7c: 4995 ldr r1, [pc, #596] ; (8074ed4 ) 8074c7e: f04f 30ff mov.w r0, #4294967295 8074c82: f7de fdaf bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8074c86: 4a95 ldr r2, [pc, #596] ; (8074edc ) 8074c88: 215a movs r1, #90 ; 0x5a 8074c8a: 200a movs r0, #10 8074c8c: f7df fb52 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8074c90: 4a93 ldr r2, [pc, #588] ; (8074ee0 ) 8074c92: 216a movs r1, #106 ; 0x6a 8074c94: 200a movs r0, #10 8074c96: f7df fb4d bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8074c9a: 4a8f ldr r2, [pc, #572] ; (8074ed8 ) 8074c9c: 217a movs r1, #122 ; 0x7a 8074c9e: 200a movs r0, #10 8074ca0: f7df fb48 bl 8054334 break; 8074ca4: f022 bc9d b.w 80975e2 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074ca8: 498a ldr r1, [pc, #552] ; (8074ed4 ) 8074caa: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074cae: f7de fd99 bl 80537e4 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8074cb2: 4a90 ldr r2, [pc, #576] ; (8074ef4 ) 8074cb4: 218a movs r1, #138 ; 0x8a 8074cb6: 200a movs r0, #10 8074cb8: f7df fb3c bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074cbc: 4985 ldr r1, [pc, #532] ; (8074ed4 ) 8074cbe: f04f 30ff mov.w r0, #4294967295 8074cc2: f7de fd8f bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8074cc6: 4a89 ldr r2, [pc, #548] ; (8074eec ) 8074cc8: 215a movs r1, #90 ; 0x5a 8074cca: 200a movs r0, #10 8074ccc: f7df fb32 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8074cd0: 4a87 ldr r2, [pc, #540] ; (8074ef0 ) 8074cd2: 216a movs r1, #106 ; 0x6a 8074cd4: 200a movs r0, #10 8074cd6: f7df fb2d bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8074cda: 4a83 ldr r2, [pc, #524] ; (8074ee8 ) 8074cdc: 217a movs r1, #122 ; 0x7a 8074cde: 200a movs r0, #10 8074ce0: f7df fb28 bl 8054334 break; 8074ce4: f022 bc7d b.w 80975e2 if(menupos == AskRouteNo) 8074ce8: 4b78 ldr r3, [pc, #480] ; (8074ecc ) 8074cea: 781b ldrb r3, [r3, #0] 8074cec: b2db uxtb r3, r3 8074cee: 2b09 cmp r3, #9 8074cf0: f040 8114 bne.w 8074f1c if(pardata.LANG == RUS) 8074cf4: 4b76 ldr r3, [pc, #472] ; (8074ed0 ) 8074cf6: 7b1b ldrb r3, [r3, #12] 8074cf8: b2db uxtb r3, r3 8074cfa: 2b00 cmp r3, #0 8074cfc: d172 bne.n 8074de4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074cfe: 4975 ldr r1, [pc, #468] ; (8074ed4 ) 8074d00: f04f 30ff mov.w r0, #4294967295 8074d04: f7de fd6e bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8074d08: 4a74 ldr r2, [pc, #464] ; (8074edc ) 8074d0a: 215a movs r1, #90 ; 0x5a 8074d0c: 200a movs r0, #10 8074d0e: f7df fb11 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8074d12: 4a73 ldr r2, [pc, #460] ; (8074ee0 ) 8074d14: 216a movs r1, #106 ; 0x6a 8074d16: 200a movs r0, #10 8074d18: f7df fb0c bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8074d1c: 4a6e ldr r2, [pc, #440] ; (8074ed8 ) 8074d1e: 217a movs r1, #122 ; 0x7a 8074d20: 200a movs r0, #10 8074d22: f7df fb07 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8074d26: 4a6f ldr r2, [pc, #444] ; (8074ee4 ) 8074d28: 218a movs r1, #138 ; 0x8a 8074d2a: 200a movs r0, #10 8074d2c: f7df fb02 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074d30: 4968 ldr r1, [pc, #416] ; (8074ed4 ) 8074d32: f04f 30ff mov.w r0, #4294967295 8074d36: f7de fd55 bl 80537e4 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8074d3a: 237c movs r3, #124 ; 0x7c 8074d3c: 22f0 movs r2, #240 ; 0xf0 8074d3e: 2148 movs r1, #72 ; 0x48 8074d40: 2028 movs r0, #40 ; 0x28 8074d42: f7df f9dd bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8074d46: 4963 ldr r1, [pc, #396] ; (8074ed4 ) 8074d48: 4862 ldr r0, [pc, #392] ; (8074ed4 ) 8074d4a: f7de fd4b bl 80537e4 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8074d4e: 2378 movs r3, #120 ; 0x78 8074d50: 22ec movs r2, #236 ; 0xec 8074d52: 214a movs r1, #74 ; 0x4a 8074d54: 202a movs r0, #42 ; 0x2a 8074d56: f7df f9d3 bl 8054100 BSP_LCD_SetFont(&Font12); 8074d5a: 4867 ldr r0, [pc, #412] ; (8074ef8 ) 8074d5c: f7de fd7e bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074d60: 495c ldr r1, [pc, #368] ; (8074ed4 ) 8074d62: f04f 30ff mov.w r0, #4294967295 8074d66: f7de fd3d bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå ïðîäîëæèòü ìàðøðóò", CENTER_MODE); 8074d6a: 2301 movs r3, #1 8074d6c: 4a63 ldr r2, [pc, #396] ; (8074efc ) 8074d6e: 217a movs r1, #122 ; 0x7a 8074d70: 20a0 movs r0, #160 ; 0xa0 8074d72: f7de fdfd bl 8053970 memset(str2, 0, sizeof(str2)); 8074d76: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074d7a: 223c movs r2, #60 ; 0x3c 8074d7c: 2100 movs r1, #0 8074d7e: 4618 mov r0, r3 8074d80: f058 f97e bl 80cd080 strcpy(str2, (void *) &pardata.ROUTE_NAME); 8074d84: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074d88: 495d ldr r1, [pc, #372] ; (8074f00 ) 8074d8a: 4618 mov r0, r3 8074d8c: f058 fa95 bl 80cd2ba strcat(str2, "?"); 8074d90: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074d94: 4618 mov r0, r3 8074d96: f7ab fabd bl 8020314 8074d9a: 4603 mov r3, r0 8074d9c: 461a mov r2, r3 8074d9e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074da2: 4413 add r3, r2 8074da4: 4957 ldr r1, [pc, #348] ; (8074f04 ) 8074da6: 461a mov r2, r3 8074da8: 460b mov r3, r1 8074daa: 881b ldrh r3, [r3, #0] 8074dac: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 8074dae: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8074db2: 2301 movs r3, #1 8074db4: 218a movs r1, #138 ; 0x8a 8074db6: 20a0 movs r0, #160 ; 0xa0 8074db8: f7de fdda bl 8053970 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8074dbc: 2302 movs r3, #2 8074dbe: 4a52 ldr r2, [pc, #328] ; (8074f08 ) 8074dc0: 21aa movs r1, #170 ; 0xaa 8074dc2: f44f 7081 mov.w r0, #258 ; 0x102 8074dc6: f7de fdd3 bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074dca: 4942 ldr r1, [pc, #264] ; (8074ed4 ) 8074dcc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074dd0: f7de fd08 bl 80537e4 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8074dd4: 2303 movs r3, #3 8074dd6: 4a4d ldr r2, [pc, #308] ; (8074f0c ) 8074dd8: 21aa movs r1, #170 ; 0xaa 8074dda: 203e movs r0, #62 ; 0x3e 8074ddc: f7de fdc8 bl 8053970 break; 8074de0: f022 bbff b.w 80975e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074de4: 493b ldr r1, [pc, #236] ; (8074ed4 ) 8074de6: f04f 30ff mov.w r0, #4294967295 8074dea: f7de fcfb bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8074dee: 4a3f ldr r2, [pc, #252] ; (8074eec ) 8074df0: 215a movs r1, #90 ; 0x5a 8074df2: 200a movs r0, #10 8074df4: f7df fa9e bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8074df8: 4a3d ldr r2, [pc, #244] ; (8074ef0 ) 8074dfa: 216a movs r1, #106 ; 0x6a 8074dfc: 200a movs r0, #10 8074dfe: f7df fa99 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8074e02: 4a39 ldr r2, [pc, #228] ; (8074ee8 ) 8074e04: 217a movs r1, #122 ; 0x7a 8074e06: 200a movs r0, #10 8074e08: f7df fa94 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8074e0c: 4a39 ldr r2, [pc, #228] ; (8074ef4 ) 8074e0e: 218a movs r1, #138 ; 0x8a 8074e10: 200a movs r0, #10 8074e12: f7df fa8f bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074e16: 492f ldr r1, [pc, #188] ; (8074ed4 ) 8074e18: f04f 30ff mov.w r0, #4294967295 8074e1c: f7de fce2 bl 80537e4 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8074e20: 237c movs r3, #124 ; 0x7c 8074e22: 22f0 movs r2, #240 ; 0xf0 8074e24: 2148 movs r1, #72 ; 0x48 8074e26: 2028 movs r0, #40 ; 0x28 8074e28: f7df f96a bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8074e2c: 4929 ldr r1, [pc, #164] ; (8074ed4 ) 8074e2e: 4829 ldr r0, [pc, #164] ; (8074ed4 ) 8074e30: f7de fcd8 bl 80537e4 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8074e34: 2378 movs r3, #120 ; 0x78 8074e36: 22ec movs r2, #236 ; 0xec 8074e38: 214a movs r1, #74 ; 0x4a 8074e3a: 202a movs r0, #42 ; 0x2a 8074e3c: f7df f960 bl 8054100 BSP_LCD_SetFont(&Font12); 8074e40: 482d ldr r0, [pc, #180] ; (8074ef8 ) 8074e42: f7de fd0b bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074e46: 4923 ldr r1, [pc, #140] ; (8074ed4 ) 8074e48: f04f 30ff mov.w r0, #4294967295 8074e4c: f7de fcca bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Continue the route", CENTER_MODE); 8074e50: 2301 movs r3, #1 8074e52: 4a2f ldr r2, [pc, #188] ; (8074f10 ) 8074e54: 217a movs r1, #122 ; 0x7a 8074e56: 20a0 movs r0, #160 ; 0xa0 8074e58: f7de fd8a bl 8053970 memset(str2, 0, sizeof(str2)); 8074e5c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074e60: 223c movs r2, #60 ; 0x3c 8074e62: 2100 movs r1, #0 8074e64: 4618 mov r0, r3 8074e66: f058 f90b bl 80cd080 strcpy(str2, (void *) &pardata.ROUTE_NAME); 8074e6a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074e6e: 4924 ldr r1, [pc, #144] ; (8074f00 ) 8074e70: 4618 mov r0, r3 8074e72: f058 fa22 bl 80cd2ba strcat(str2, "?"); 8074e76: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074e7a: 4618 mov r0, r3 8074e7c: f7ab fa4a bl 8020314 8074e80: 4603 mov r3, r0 8074e82: 461a mov r2, r3 8074e84: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074e88: 4413 add r3, r2 8074e8a: 491e ldr r1, [pc, #120] ; (8074f04 ) 8074e8c: 461a mov r2, r3 8074e8e: 460b mov r3, r1 8074e90: 881b ldrh r3, [r3, #0] 8074e92: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 8074e94: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8074e98: 2301 movs r3, #1 8074e9a: 218a movs r1, #138 ; 0x8a 8074e9c: 20a0 movs r0, #160 ; 0xa0 8074e9e: f7de fd67 bl 8053970 BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 8074ea2: 2302 movs r3, #2 8074ea4: 4a1b ldr r2, [pc, #108] ; (8074f14 ) 8074ea6: 21aa movs r1, #170 ; 0xaa 8074ea8: f44f 7081 mov.w r0, #258 ; 0x102 8074eac: f7de fd60 bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074eb0: 4908 ldr r1, [pc, #32] ; (8074ed4 ) 8074eb2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8074eb6: f7de fc95 bl 80537e4 BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 8074eba: 2303 movs r3, #3 8074ebc: 4a16 ldr r2, [pc, #88] ; (8074f18 ) 8074ebe: 21aa movs r1, #170 ; 0xaa 8074ec0: 203e movs r0, #62 ; 0x3e 8074ec2: f7de fd55 bl 8053970 break; 8074ec6: f022 bb8c b.w 80975e2 8074eca: bf00 nop 8074ecc: 20020070 .word 0x20020070 8074ed0: 20023e60 .word 0x20023e60 8074ed4: ff0a0f1f .word 0xff0a0f1f 8074ed8: 080cfd9c .word 0x080cfd9c 8074edc: 080cfd68 .word 0x080cfd68 8074ee0: 080cfd90 .word 0x080cfd90 8074ee4: 080cfda4 .word 0x080cfda4 8074ee8: 080cfdb8 .word 0x080cfdb8 8074eec: 080cfd7c .word 0x080cfd7c 8074ef0: 080cfdb0 .word 0x080cfdb0 8074ef4: 080cfdc0 .word 0x080cfdc0 8074ef8: 20020038 .word 0x20020038 8074efc: 080cfdc8 .word 0x080cfdc8 8074f00: 200242e4 .word 0x200242e4 8074f04: 080cfde4 .word 0x080cfde4 8074f08: 080cf890 .word 0x080cf890 8074f0c: 080ce6e0 .word 0x080ce6e0 8074f10: 080cfde8 .word 0x080cfde8 8074f14: 080cfdfc .word 0x080cfdfc 8074f18: 080cfe00 .word 0x080cfe00 if(menupos == AskRouteYes) 8074f1c: 4bac ldr r3, [pc, #688] ; (80751d0 ) 8074f1e: 781b ldrb r3, [r3, #0] 8074f20: b2db uxtb r3, r3 8074f22: 2b0a cmp r3, #10 8074f24: f040 80eb bne.w 80750fe if(pardata.LANG == RUS) 8074f28: 4baa ldr r3, [pc, #680] ; (80751d4 ) 8074f2a: 7b1b ldrb r3, [r3, #12] 8074f2c: b2db uxtb r3, r3 8074f2e: 2b00 cmp r3, #0 8074f30: d172 bne.n 8075018 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074f32: 49a9 ldr r1, [pc, #676] ; (80751d8 ) 8074f34: f04f 30ff mov.w r0, #4294967295 8074f38: f7de fc54 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8074f3c: 4aa7 ldr r2, [pc, #668] ; (80751dc ) 8074f3e: 215a movs r1, #90 ; 0x5a 8074f40: 200a movs r0, #10 8074f42: f7df f9f7 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8074f46: 4aa6 ldr r2, [pc, #664] ; (80751e0 ) 8074f48: 216a movs r1, #106 ; 0x6a 8074f4a: 200a movs r0, #10 8074f4c: f7df f9f2 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8074f50: 4aa4 ldr r2, [pc, #656] ; (80751e4 ) 8074f52: 217a movs r1, #122 ; 0x7a 8074f54: 200a movs r0, #10 8074f56: f7df f9ed bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8074f5a: 4aa3 ldr r2, [pc, #652] ; (80751e8 ) 8074f5c: 218a movs r1, #138 ; 0x8a 8074f5e: 200a movs r0, #10 8074f60: f7df f9e8 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074f64: 499c ldr r1, [pc, #624] ; (80751d8 ) 8074f66: f04f 30ff mov.w r0, #4294967295 8074f6a: f7de fc3b bl 80537e4 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8074f6e: 237c movs r3, #124 ; 0x7c 8074f70: 22f0 movs r2, #240 ; 0xf0 8074f72: 2148 movs r1, #72 ; 0x48 8074f74: 2028 movs r0, #40 ; 0x28 8074f76: f7df f8c3 bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8074f7a: 4997 ldr r1, [pc, #604] ; (80751d8 ) 8074f7c: 4896 ldr r0, [pc, #600] ; (80751d8 ) 8074f7e: f7de fc31 bl 80537e4 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8074f82: 2378 movs r3, #120 ; 0x78 8074f84: 22ec movs r2, #236 ; 0xec 8074f86: 214a movs r1, #74 ; 0x4a 8074f88: 202a movs r0, #42 ; 0x2a 8074f8a: f7df f8b9 bl 8054100 BSP_LCD_SetFont(&Font12); 8074f8e: 4897 ldr r0, [pc, #604] ; (80751ec ) 8074f90: f7de fc64 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8074f94: 4990 ldr r1, [pc, #576] ; (80751d8 ) 8074f96: f04f 30ff mov.w r0, #4294967295 8074f9a: f7de fc23 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Õîòèòå ïðîäîëæèòü ìàðøðóò", CENTER_MODE); 8074f9e: 2301 movs r3, #1 8074fa0: 4a93 ldr r2, [pc, #588] ; (80751f0 ) 8074fa2: 217a movs r1, #122 ; 0x7a 8074fa4: 20a0 movs r0, #160 ; 0xa0 8074fa6: f7de fce3 bl 8053970 memset(str2, 0, sizeof(str2)); 8074faa: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074fae: 223c movs r2, #60 ; 0x3c 8074fb0: 2100 movs r1, #0 8074fb2: 4618 mov r0, r3 8074fb4: f058 f864 bl 80cd080 strcpy(str2, (void *) &pardata.ROUTE_NAME); 8074fb8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074fbc: 498d ldr r1, [pc, #564] ; (80751f4 ) 8074fbe: 4618 mov r0, r3 8074fc0: f058 f97b bl 80cd2ba strcat(str2, "?"); 8074fc4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074fc8: 4618 mov r0, r3 8074fca: f7ab f9a3 bl 8020314 8074fce: 4603 mov r3, r0 8074fd0: 461a mov r2, r3 8074fd2: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8074fd6: 4413 add r3, r2 8074fd8: 4987 ldr r1, [pc, #540] ; (80751f8 ) 8074fda: 461a mov r2, r3 8074fdc: 460b mov r3, r1 8074fde: 881b ldrh r3, [r3, #0] 8074fe0: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 8074fe2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8074fe6: 2301 movs r3, #1 8074fe8: 218a movs r1, #138 ; 0x8a 8074fea: 20a0 movs r0, #160 ; 0xa0 8074fec: f7de fcc0 bl 8053970 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 8074ff0: 2303 movs r3, #3 8074ff2: 4a82 ldr r2, [pc, #520] ; (80751fc ) 8074ff4: 21aa movs r1, #170 ; 0xaa 8074ff6: 203e movs r0, #62 ; 0x3e 8074ff8: f7de fcba bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8074ffc: 4976 ldr r1, [pc, #472] ; (80751d8 ) 8074ffe: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075002: f7de fbef bl 80537e4 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 8075006: 2302 movs r3, #2 8075008: 4a7d ldr r2, [pc, #500] ; (8075200 ) 807500a: 21aa movs r1, #170 ; 0xaa 807500c: f44f 7081 mov.w r0, #258 ; 0x102 8075010: f7de fcae bl 8053970 break; 8075014: f022 bae5 b.w 80975e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075018: 496f ldr r1, [pc, #444] ; (80751d8 ) 807501a: f04f 30ff mov.w r0, #4294967295 807501e: f7de fbe1 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8075022: 4a78 ldr r2, [pc, #480] ; (8075204 ) 8075024: 215a movs r1, #90 ; 0x5a 8075026: 200a movs r0, #10 8075028: f7df f984 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 807502c: 4a76 ldr r2, [pc, #472] ; (8075208 ) 807502e: 216a movs r1, #106 ; 0x6a 8075030: 200a movs r0, #10 8075032: f7df f97f bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8075036: 4a75 ldr r2, [pc, #468] ; (807520c ) 8075038: 217a movs r1, #122 ; 0x7a 807503a: 200a movs r0, #10 807503c: f7df f97a bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8075040: 4a73 ldr r2, [pc, #460] ; (8075210 ) 8075042: 218a movs r1, #138 ; 0x8a 8075044: 200a movs r0, #10 8075046: f7df f975 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807504a: 4963 ldr r1, [pc, #396] ; (80751d8 ) 807504c: f04f 30ff mov.w r0, #4294967295 8075050: f7de fbc8 bl 80537e4 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8075054: 237c movs r3, #124 ; 0x7c 8075056: 22f0 movs r2, #240 ; 0xf0 8075058: 2148 movs r1, #72 ; 0x48 807505a: 2028 movs r0, #40 ; 0x28 807505c: f7df f850 bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8075060: 495d ldr r1, [pc, #372] ; (80751d8 ) 8075062: 485d ldr r0, [pc, #372] ; (80751d8 ) 8075064: f7de fbbe bl 80537e4 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8075068: 2378 movs r3, #120 ; 0x78 807506a: 22ec movs r2, #236 ; 0xec 807506c: 214a movs r1, #74 ; 0x4a 807506e: 202a movs r0, #42 ; 0x2a 8075070: f7df f846 bl 8054100 BSP_LCD_SetFont(&Font12); 8075074: 485d ldr r0, [pc, #372] ; (80751ec ) 8075076: f7de fbf1 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807507a: 4957 ldr r1, [pc, #348] ; (80751d8 ) 807507c: f04f 30ff mov.w r0, #4294967295 8075080: f7de fbb0 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Continue the route", CENTER_MODE); 8075084: 2301 movs r3, #1 8075086: 4a63 ldr r2, [pc, #396] ; (8075214 ) 8075088: 217a movs r1, #122 ; 0x7a 807508a: 20a0 movs r0, #160 ; 0xa0 807508c: f7de fc70 bl 8053970 memset(str2, 0, sizeof(str2)); 8075090: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8075094: 223c movs r2, #60 ; 0x3c 8075096: 2100 movs r1, #0 8075098: 4618 mov r0, r3 807509a: f057 fff1 bl 80cd080 strcpy(str2, (void *) &pardata.ROUTE_NAME); 807509e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80750a2: 4954 ldr r1, [pc, #336] ; (80751f4 ) 80750a4: 4618 mov r0, r3 80750a6: f058 f908 bl 80cd2ba strcat(str2, "?"); 80750aa: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80750ae: 4618 mov r0, r3 80750b0: f7ab f930 bl 8020314 80750b4: 4603 mov r3, r0 80750b6: 461a mov r2, r3 80750b8: f507 73d8 add.w r3, r7, #432 ; 0x1b0 80750bc: 4413 add r3, r2 80750be: 494e ldr r1, [pc, #312] ; (80751f8 ) 80750c0: 461a mov r2, r3 80750c2: 460b mov r3, r1 80750c4: 881b ldrh r3, [r3, #0] 80750c6: 8013 strh r3, [r2, #0] BSP_LCD_DisplayStringAt(160, LCD_LINE_8, str2, CENTER_MODE); 80750c8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80750cc: 2301 movs r3, #1 80750ce: 218a movs r1, #138 ; 0x8a 80750d0: 20a0 movs r0, #160 ; 0xa0 80750d2: f7de fc4d bl 8053970 BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 80750d6: 2303 movs r3, #3 80750d8: 4a4f ldr r2, [pc, #316] ; (8075218 ) 80750da: 21aa movs r1, #170 ; 0xaa 80750dc: 203e movs r0, #62 ; 0x3e 80750de: f7de fc47 bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80750e2: 493d ldr r1, [pc, #244] ; (80751d8 ) 80750e4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80750e8: f7de fb7c bl 80537e4 BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 80750ec: 2302 movs r3, #2 80750ee: 4a4b ldr r2, [pc, #300] ; (807521c ) 80750f0: 21aa movs r1, #170 ; 0xaa 80750f2: f44f 7081 mov.w r0, #258 ; 0x102 80750f6: f7de fc3b bl 8053970 break; 80750fa: f022 ba72 b.w 80975e2 if(menupos == AskFormatNo) 80750fe: 4b34 ldr r3, [pc, #208] ; (80751d0 ) 8075100: 781b ldrb r3, [r3, #0] 8075102: b2db uxtb r3, r3 8075104: 2b05 cmp r3, #5 8075106: f040 80ed bne.w 80752e4 if(pardata.LANG == RUS) 807510a: 4b32 ldr r3, [pc, #200] ; (80751d4 ) 807510c: 7b1b ldrb r3, [r3, #12] 807510e: b2db uxtb r3, r3 8075110: 2b00 cmp r3, #0 8075112: f040 808b bne.w 807522c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075116: 4930 ldr r1, [pc, #192] ; (80751d8 ) 8075118: f04f 30ff mov.w r0, #4294967295 807511c: f7de fb62 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8075120: 4a2e ldr r2, [pc, #184] ; (80751dc ) 8075122: 215a movs r1, #90 ; 0x5a 8075124: 200a movs r0, #10 8075126: f7df f905 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 807512a: 4a2d ldr r2, [pc, #180] ; (80751e0 ) 807512c: 216a movs r1, #106 ; 0x6a 807512e: 200a movs r0, #10 8075130: f7df f900 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8075134: 4a2b ldr r2, [pc, #172] ; (80751e4 ) 8075136: 217a movs r1, #122 ; 0x7a 8075138: 200a movs r0, #10 807513a: f7df f8fb bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 807513e: 4a2a ldr r2, [pc, #168] ; (80751e8 ) 8075140: 218a movs r1, #138 ; 0x8a 8075142: 200a movs r0, #10 8075144: f7df f8f6 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075148: 4923 ldr r1, [pc, #140] ; (80751d8 ) 807514a: f04f 30ff mov.w r0, #4294967295 807514e: f7de fb49 bl 80537e4 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8075152: 237c movs r3, #124 ; 0x7c 8075154: 22f0 movs r2, #240 ; 0xf0 8075156: 2148 movs r1, #72 ; 0x48 8075158: 2028 movs r0, #40 ; 0x28 807515a: f7de ffd1 bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 807515e: 491e ldr r1, [pc, #120] ; (80751d8 ) 8075160: 481d ldr r0, [pc, #116] ; (80751d8 ) 8075162: f7de fb3f bl 80537e4 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8075166: 2378 movs r3, #120 ; 0x78 8075168: 22ec movs r2, #236 ; 0xec 807516a: 214a movs r1, #74 ; 0x4a 807516c: 202a movs r0, #42 ; 0x2a 807516e: f7de ffc7 bl 8054100 BSP_LCD_SetFont(&Font12); 8075172: 481e ldr r0, [pc, #120] ; (80751ec ) 8075174: f7de fb72 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075178: 4917 ldr r1, [pc, #92] ; (80751d8 ) 807517a: f04f 30ff mov.w r0, #4294967295 807517e: f7de fb31 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "Êàðòà íåèñïðàâíà èëè îòñóòñòâóåò", CENTER_MODE); 8075182: 2301 movs r3, #1 8075184: 4a26 ldr r2, [pc, #152] ; (8075220 ) 8075186: 216a movs r1, #106 ; 0x6a 8075188: 20a0 movs r0, #160 ; 0xa0 807518a: f7de fbf1 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "ôàéëîâàÿ ñèñòåìà.", CENTER_MODE); 807518e: 2301 movs r3, #1 8075190: 4a24 ldr r2, [pc, #144] ; (8075224 ) 8075192: 217a movs r1, #122 ; 0x7a 8075194: 20a0 movs r0, #160 ; 0xa0 8075196: f7de fbeb bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Ôîðìàòèðîâàòü êàðòó?", CENTER_MODE); 807519a: 2301 movs r3, #1 807519c: 4a22 ldr r2, [pc, #136] ; (8075228 ) 807519e: 218a movs r1, #138 ; 0x8a 80751a0: 20a0 movs r0, #160 ; 0xa0 80751a2: f7de fbe5 bl 8053970 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 80751a6: 2302 movs r3, #2 80751a8: 4a15 ldr r2, [pc, #84] ; (8075200 ) 80751aa: 21aa movs r1, #170 ; 0xaa 80751ac: f44f 7081 mov.w r0, #258 ; 0x102 80751b0: f7de fbde bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80751b4: 4908 ldr r1, [pc, #32] ; (80751d8 ) 80751b6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80751ba: f7de fb13 bl 80537e4 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 80751be: 2303 movs r3, #3 80751c0: 4a0e ldr r2, [pc, #56] ; (80751fc ) 80751c2: 21aa movs r1, #170 ; 0xaa 80751c4: 203e movs r0, #62 ; 0x3e 80751c6: f7de fbd3 bl 8053970 break; 80751ca: f022 ba0a b.w 80975e2 80751ce: bf00 nop 80751d0: 20020070 .word 0x20020070 80751d4: 20023e60 .word 0x20023e60 80751d8: ff0a0f1f .word 0xff0a0f1f 80751dc: 080cfd68 .word 0x080cfd68 80751e0: 080cfd90 .word 0x080cfd90 80751e4: 080cfd9c .word 0x080cfd9c 80751e8: 080cfda4 .word 0x080cfda4 80751ec: 20020038 .word 0x20020038 80751f0: 080cfdc8 .word 0x080cfdc8 80751f4: 200242e4 .word 0x200242e4 80751f8: 080cfde4 .word 0x080cfde4 80751fc: 080ce6e0 .word 0x080ce6e0 8075200: 080cf890 .word 0x080cf890 8075204: 080cfd7c .word 0x080cfd7c 8075208: 080cfdb0 .word 0x080cfdb0 807520c: 080cfdb8 .word 0x080cfdb8 8075210: 080cfdc0 .word 0x080cfdc0 8075214: 080cfde8 .word 0x080cfde8 8075218: 080cfe00 .word 0x080cfe00 807521c: 080cfdfc .word 0x080cfdfc 8075220: 080cfe04 .word 0x080cfe04 8075224: 080cfe28 .word 0x080cfe28 8075228: 080cfe3c .word 0x080cfe3c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807522c: 49cc ldr r1, [pc, #816] ; (8075560 ) 807522e: f04f 30ff mov.w r0, #4294967295 8075232: f7de fad7 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8075236: 4acb ldr r2, [pc, #812] ; (8075564 ) 8075238: 215a movs r1, #90 ; 0x5a 807523a: 200a movs r0, #10 807523c: f7df f87a bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 8075240: 4ac9 ldr r2, [pc, #804] ; (8075568 ) 8075242: 216a movs r1, #106 ; 0x6a 8075244: 200a movs r0, #10 8075246: f7df f875 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Files"); 807524a: 4ac8 ldr r2, [pc, #800] ; (807556c ) 807524c: 217a movs r1, #122 ; 0x7a 807524e: 200a movs r0, #10 8075250: f7df f870 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8075254: 4ac6 ldr r2, [pc, #792] ; (8075570 ) 8075256: 218a movs r1, #138 ; 0x8a 8075258: 200a movs r0, #10 807525a: f7df f86b bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807525e: 49c0 ldr r1, [pc, #768] ; (8075560 ) 8075260: f04f 30ff mov.w r0, #4294967295 8075264: f7de fabe bl 80537e4 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8075268: 237c movs r3, #124 ; 0x7c 807526a: 22f0 movs r2, #240 ; 0xf0 807526c: 2148 movs r1, #72 ; 0x48 807526e: 2028 movs r0, #40 ; 0x28 8075270: f7de ff46 bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8075274: 49ba ldr r1, [pc, #744] ; (8075560 ) 8075276: 48ba ldr r0, [pc, #744] ; (8075560 ) 8075278: f7de fab4 bl 80537e4 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 807527c: 2378 movs r3, #120 ; 0x78 807527e: 22ec movs r2, #236 ; 0xec 8075280: 214a movs r1, #74 ; 0x4a 8075282: 202a movs r0, #42 ; 0x2a 8075284: f7de ff3c bl 8054100 BSP_LCD_SetFont(&Font12); 8075288: 48ba ldr r0, [pc, #744] ; (8075574 ) 807528a: f7de fae7 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807528e: 49b4 ldr r1, [pc, #720] ; (8075560 ) 8075290: f04f 30ff mov.w r0, #4294967295 8075294: f7de faa6 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "The card is faulty or the", CENTER_MODE); 8075298: 2301 movs r3, #1 807529a: 4ab7 ldr r2, [pc, #732] ; (8075578 ) 807529c: 216a movs r1, #106 ; 0x6a 807529e: 20a0 movs r0, #160 ; 0xa0 80752a0: f7de fb66 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "file system is missing.", CENTER_MODE); 80752a4: 2301 movs r3, #1 80752a6: 4ab5 ldr r2, [pc, #724] ; (807557c ) 80752a8: 217a movs r1, #122 ; 0x7a 80752aa: 20a0 movs r0, #160 ; 0xa0 80752ac: f7de fb60 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Format the card?", CENTER_MODE); 80752b0: 2301 movs r3, #1 80752b2: 4ab3 ldr r2, [pc, #716] ; (8075580 ) 80752b4: 218a movs r1, #138 ; 0x8a 80752b6: 20a0 movs r0, #160 ; 0xa0 80752b8: f7de fb5a bl 8053970 BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 80752bc: 2302 movs r3, #2 80752be: 4ab1 ldr r2, [pc, #708] ; (8075584 ) 80752c0: 21aa movs r1, #170 ; 0xaa 80752c2: f44f 7081 mov.w r0, #258 ; 0x102 80752c6: f7de fb53 bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80752ca: 49a5 ldr r1, [pc, #660] ; (8075560 ) 80752cc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80752d0: f7de fa88 bl 80537e4 BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 80752d4: 2303 movs r3, #3 80752d6: 4aac ldr r2, [pc, #688] ; (8075588 ) 80752d8: 21aa movs r1, #170 ; 0xaa 80752da: 203e movs r0, #62 ; 0x3e 80752dc: f7de fb48 bl 8053970 break; 80752e0: f022 b97f b.w 80975e2 if(menupos == AskFormatYes) 80752e4: 4ba9 ldr r3, [pc, #676] ; (807558c ) 80752e6: 781b ldrb r3, [r3, #0] 80752e8: b2db uxtb r3, r3 80752ea: 2b06 cmp r3, #6 80752ec: f040 80bd bne.w 807546a if(pardata.LANG == RUS) 80752f0: 4ba7 ldr r3, [pc, #668] ; (8075590 ) 80752f2: 7b1b ldrb r3, [r3, #12] 80752f4: b2db uxtb r3, r3 80752f6: 2b00 cmp r3, #0 80752f8: d15b bne.n 80753b2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80752fa: 4999 ldr r1, [pc, #612] ; (8075560 ) 80752fc: f04f 30ff mov.w r0, #4294967295 8075300: f7de fa70 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 8075304: 4aa3 ldr r2, [pc, #652] ; (8075594 ) 8075306: 215a movs r1, #90 ; 0x5a 8075308: 200a movs r0, #10 807530a: f7df f813 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 807530e: 4aa2 ldr r2, [pc, #648] ; (8075598 ) 8075310: 216a movs r1, #106 ; 0x6a 8075312: 200a movs r0, #10 8075314: f7df f80e bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 8075318: 4aa0 ldr r2, [pc, #640] ; (807559c ) 807531a: 217a movs r1, #122 ; 0x7a 807531c: 200a movs r0, #10 807531e: f7df f809 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 8075322: 4a9f ldr r2, [pc, #636] ; (80755a0 ) 8075324: 218a movs r1, #138 ; 0x8a 8075326: 200a movs r0, #10 8075328: f7df f804 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807532c: 498c ldr r1, [pc, #560] ; (8075560 ) 807532e: f04f 30ff mov.w r0, #4294967295 8075332: f7de fa57 bl 80537e4 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8075336: 237c movs r3, #124 ; 0x7c 8075338: 22f0 movs r2, #240 ; 0xf0 807533a: 2148 movs r1, #72 ; 0x48 807533c: 2028 movs r0, #40 ; 0x28 807533e: f7de fedf bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8075342: 4987 ldr r1, [pc, #540] ; (8075560 ) 8075344: 4886 ldr r0, [pc, #536] ; (8075560 ) 8075346: f7de fa4d bl 80537e4 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 807534a: 2378 movs r3, #120 ; 0x78 807534c: 22ec movs r2, #236 ; 0xec 807534e: 214a movs r1, #74 ; 0x4a 8075350: 202a movs r0, #42 ; 0x2a 8075352: f7de fed5 bl 8054100 BSP_LCD_SetFont(&Font12); 8075356: 4887 ldr r0, [pc, #540] ; (8075574 ) 8075358: f7de fa80 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807535c: 4980 ldr r1, [pc, #512] ; (8075560 ) 807535e: f04f 30ff mov.w r0, #4294967295 8075362: f7de fa3f bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "Êàðòà íåèñïðàâíà èëè îòñóòñòâóåò", CENTER_MODE); 8075366: 2301 movs r3, #1 8075368: 4a8e ldr r2, [pc, #568] ; (80755a4 ) 807536a: 216a movs r1, #106 ; 0x6a 807536c: 20a0 movs r0, #160 ; 0xa0 807536e: f7de faff bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "ôàéëîâàÿ ñèñòåìà.", CENTER_MODE); 8075372: 2301 movs r3, #1 8075374: 4a8c ldr r2, [pc, #560] ; (80755a8 ) 8075376: 217a movs r1, #122 ; 0x7a 8075378: 20a0 movs r0, #160 ; 0xa0 807537a: f7de faf9 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Ôîðìàòèðîâàòü êàðòó?", CENTER_MODE); 807537e: 2301 movs r3, #1 8075380: 4a8a ldr r2, [pc, #552] ; (80755ac ) 8075382: 218a movs r1, #138 ; 0x8a 8075384: 20a0 movs r0, #160 ; 0xa0 8075386: f7de faf3 bl 8053970 BSP_LCD_DisplayStringAt(62, 170, "Íåò", LEFT_MODE); 807538a: 2303 movs r3, #3 807538c: 4a88 ldr r2, [pc, #544] ; (80755b0 ) 807538e: 21aa movs r1, #170 ; 0xaa 8075390: 203e movs r0, #62 ; 0x3e 8075392: f7de faed bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075396: 4972 ldr r1, [pc, #456] ; (8075560 ) 8075398: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807539c: f7de fa22 bl 80537e4 BSP_LCD_DisplayStringAt(258, 170, "Äà", RIGHT_MODE); 80753a0: 2302 movs r3, #2 80753a2: 4a84 ldr r2, [pc, #528] ; (80755b4 ) 80753a4: 21aa movs r1, #170 ; 0xaa 80753a6: f44f 7081 mov.w r0, #258 ; 0x102 80753aa: f7de fae1 bl 8053970 break; 80753ae: f022 b918 b.w 80975e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80753b2: 496b ldr r1, [pc, #428] ; (8075560 ) 80753b4: f04f 30ff mov.w r0, #4294967295 80753b8: f7de fa14 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 80753bc: 4a69 ldr r2, [pc, #420] ; (8075564 ) 80753be: 215a movs r1, #90 ; 0x5a 80753c0: 200a movs r0, #10 80753c2: f7de ffb7 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 80753c6: 4a68 ldr r2, [pc, #416] ; (8075568 ) 80753c8: 216a movs r1, #106 ; 0x6a 80753ca: 200a movs r0, #10 80753cc: f7de ffb2 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Files"); 80753d0: 4a66 ldr r2, [pc, #408] ; (807556c ) 80753d2: 217a movs r1, #122 ; 0x7a 80753d4: 200a movs r0, #10 80753d6: f7de ffad bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 80753da: 4a65 ldr r2, [pc, #404] ; (8075570 ) 80753dc: 218a movs r1, #138 ; 0x8a 80753de: 200a movs r0, #10 80753e0: f7de ffa8 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80753e4: 495e ldr r1, [pc, #376] ; (8075560 ) 80753e6: f04f 30ff mov.w r0, #4294967295 80753ea: f7de f9fb bl 80537e4 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 80753ee: 237c movs r3, #124 ; 0x7c 80753f0: 22f0 movs r2, #240 ; 0xf0 80753f2: 2148 movs r1, #72 ; 0x48 80753f4: 2028 movs r0, #40 ; 0x28 80753f6: f7de fe83 bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80753fa: 4959 ldr r1, [pc, #356] ; (8075560 ) 80753fc: 4858 ldr r0, [pc, #352] ; (8075560 ) 80753fe: f7de f9f1 bl 80537e4 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 8075402: 2378 movs r3, #120 ; 0x78 8075404: 22ec movs r2, #236 ; 0xec 8075406: 214a movs r1, #74 ; 0x4a 8075408: 202a movs r0, #42 ; 0x2a 807540a: f7de fe79 bl 8054100 BSP_LCD_SetFont(&Font12); 807540e: 4859 ldr r0, [pc, #356] ; (8075574 ) 8075410: f7de fa24 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075414: 4952 ldr r1, [pc, #328] ; (8075560 ) 8075416: f04f 30ff mov.w r0, #4294967295 807541a: f7de f9e3 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_6, "The card is faulty or the", CENTER_MODE); 807541e: 2301 movs r3, #1 8075420: 4a55 ldr r2, [pc, #340] ; (8075578 ) 8075422: 216a movs r1, #106 ; 0x6a 8075424: 20a0 movs r0, #160 ; 0xa0 8075426: f7de faa3 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "file system is missing.", CENTER_MODE); 807542a: 2301 movs r3, #1 807542c: 4a53 ldr r2, [pc, #332] ; (807557c ) 807542e: 217a movs r1, #122 ; 0x7a 8075430: 20a0 movs r0, #160 ; 0xa0 8075432: f7de fa9d bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Format the card?", CENTER_MODE); 8075436: 2301 movs r3, #1 8075438: 4a51 ldr r2, [pc, #324] ; (8075580 ) 807543a: 218a movs r1, #138 ; 0x8a 807543c: 20a0 movs r0, #160 ; 0xa0 807543e: f7de fa97 bl 8053970 BSP_LCD_DisplayStringAt(62, 170, "No", LEFT_MODE); 8075442: 2303 movs r3, #3 8075444: 4a50 ldr r2, [pc, #320] ; (8075588 ) 8075446: 21aa movs r1, #170 ; 0xaa 8075448: 203e movs r0, #62 ; 0x3e 807544a: f7de fa91 bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807544e: 4944 ldr r1, [pc, #272] ; (8075560 ) 8075450: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075454: f7de f9c6 bl 80537e4 BSP_LCD_DisplayStringAt(258, 170, "Yes", RIGHT_MODE); 8075458: 2302 movs r3, #2 807545a: 4a4a ldr r2, [pc, #296] ; (8075584 ) 807545c: 21aa movs r1, #170 ; 0xaa 807545e: f44f 7081 mov.w r0, #258 ; 0x102 8075462: f7de fa85 bl 8053970 break; 8075466: f022 b8bc b.w 80975e2 if(menupos == AskFormatResult) 807546a: 4b48 ldr r3, [pc, #288] ; (807558c ) 807546c: 781b ldrb r3, [r3, #0] 807546e: b2db uxtb r3, r3 8075470: 2b08 cmp r3, #8 8075472: f062 80b6 bne.w 80975e2 if(pardata.LANG == RUS) 8075476: 4b46 ldr r3, [pc, #280] ; (8075590 ) 8075478: 7b1b ldrb r3, [r3, #12] 807547a: b2db uxtb r3, r3 807547c: 2b00 cmp r3, #0 807547e: f040 80c4 bne.w 807560a LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075482: 4937 ldr r1, [pc, #220] ; (8075560 ) 8075484: f04f 30ff mov.w r0, #4294967295 8075488: f7de f9ac bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Âèðòóàëüíûå ïðèáîðû"); 807548c: 4a41 ldr r2, [pc, #260] ; (8075594 ) 807548e: 215a movs r1, #90 ; 0x5a 8075490: 200a movs r0, #10 8075492: f7de ff4f bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Íàñòðîéêè"); 8075496: 4a40 ldr r2, [pc, #256] ; (8075598 ) 8075498: 216a movs r1, #106 ; 0x6a 807549a: 200a movs r0, #10 807549c: f7de ff4a bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Ôàéëû"); 80754a0: 4a3e ldr r2, [pc, #248] ; (807559c ) 80754a2: 217a movs r1, #122 ; 0x7a 80754a4: 200a movs r0, #10 80754a6: f7de ff45 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Ìàðøðóòû"); 80754aa: 4a3d ldr r2, [pc, #244] ; (80755a0 ) 80754ac: 218a movs r1, #138 ; 0x8a 80754ae: 200a movs r0, #10 80754b0: f7de ff40 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80754b4: 492a ldr r1, [pc, #168] ; (8075560 ) 80754b6: f04f 30ff mov.w r0, #4294967295 80754ba: f7de f993 bl 80537e4 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 80754be: 237c movs r3, #124 ; 0x7c 80754c0: 22f0 movs r2, #240 ; 0xf0 80754c2: 2148 movs r1, #72 ; 0x48 80754c4: 2028 movs r0, #40 ; 0x28 80754c6: f7de fe1b bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80754ca: 4925 ldr r1, [pc, #148] ; (8075560 ) 80754cc: 4824 ldr r0, [pc, #144] ; (8075560 ) 80754ce: f7de f989 bl 80537e4 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 80754d2: 2378 movs r3, #120 ; 0x78 80754d4: 22ec movs r2, #236 ; 0xec 80754d6: 214a movs r1, #74 ; 0x4a 80754d8: 202a movs r0, #42 ; 0x2a 80754da: f7de fe11 bl 8054100 if(NeedFormat) 80754de: 4b36 ldr r3, [pc, #216] ; (80755b8 ) 80754e0: 781b ldrb r3, [r3, #0] 80754e2: b2db uxtb r3, r3 80754e4: 2b00 cmp r3, #0 80754e6: d015 beq.n 8075514 BSP_LCD_SetFont(&Font12); 80754e8: 4822 ldr r0, [pc, #136] ; (8075574 ) 80754ea: f7de f9b7 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80754ee: 491c ldr r1, [pc, #112] ; (8075560 ) 80754f0: f04f 30ff mov.w r0, #4294967295 80754f4: f7de f976 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå,", CENTER_MODE); 80754f8: 2301 movs r3, #1 80754fa: 4a30 ldr r2, [pc, #192] ; (80755bc ) 80754fc: 217a movs r1, #122 ; 0x7a 80754fe: 20a0 movs r0, #160 ; 0xa0 8075500: f7de fa36 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Æäèòå...", CENTER_MODE); 8075504: 2301 movs r3, #1 8075506: 4a2e ldr r2, [pc, #184] ; (80755c0 ) 8075508: 218a movs r1, #138 ; 0x8a 807550a: 20a0 movs r0, #160 ; 0xa0 807550c: f7de fa30 bl 8053970 break; 8075510: f022 b867 b.w 80975e2 if(FormatStatus == AP_OK) 8075514: 4b2b ldr r3, [pc, #172] ; (80755c4 ) 8075516: 781b ldrb r3, [r3, #0] 8075518: b2db uxtb r3, r3 807551a: 2b00 cmp r3, #0 807551c: d15a bne.n 80755d4 BSP_LCD_SetFont(&Font12); 807551e: 4815 ldr r0, [pc, #84] ; (8075574 ) 8075520: f7de f99c bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075524: 490e ldr r1, [pc, #56] ; (8075560 ) 8075526: f04f 30ff mov.w r0, #4294967295 807552a: f7de f95b bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå", CENTER_MODE); 807552e: 2301 movs r3, #1 8075530: 4a25 ldr r2, [pc, #148] ; (80755c8 ) 8075532: 217a movs r1, #122 ; 0x7a 8075534: 20a0 movs r0, #160 ; 0xa0 8075536: f7de fa1b bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "çàâåðøåíî óñïåøíî!", CENTER_MODE); 807553a: 2301 movs r3, #1 807553c: 4a23 ldr r2, [pc, #140] ; (80755cc ) 807553e: 218a movs r1, #138 ; 0x8a 8075540: 20a0 movs r0, #160 ; 0xa0 8075542: f7de fa15 bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075546: 4906 ldr r1, [pc, #24] ; (8075560 ) 8075548: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807554c: f7de f94a bl 80537e4 BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 8075550: 2301 movs r3, #1 8075552: 4a1f ldr r2, [pc, #124] ; (80755d0 ) 8075554: 21aa movs r1, #170 ; 0xaa 8075556: 20a0 movs r0, #160 ; 0xa0 8075558: f7de fa0a bl 8053970 break; 807555c: f022 b841 b.w 80975e2 8075560: ff0a0f1f .word 0xff0a0f1f 8075564: 080cfd7c .word 0x080cfd7c 8075568: 080cfdb0 .word 0x080cfdb0 807556c: 080cfdb8 .word 0x080cfdb8 8075570: 080cfdc0 .word 0x080cfdc0 8075574: 20020038 .word 0x20020038 8075578: 080cfe54 .word 0x080cfe54 807557c: 080cfe70 .word 0x080cfe70 8075580: 080cfe88 .word 0x080cfe88 8075584: 080cfdfc .word 0x080cfdfc 8075588: 080cfe00 .word 0x080cfe00 807558c: 20020070 .word 0x20020070 8075590: 20023e60 .word 0x20023e60 8075594: 080cfd68 .word 0x080cfd68 8075598: 080cfd90 .word 0x080cfd90 807559c: 080cfd9c .word 0x080cfd9c 80755a0: 080cfda4 .word 0x080cfda4 80755a4: 080cfe04 .word 0x080cfe04 80755a8: 080cfe28 .word 0x080cfe28 80755ac: 080cfe3c .word 0x080cfe3c 80755b0: 080ce6e0 .word 0x080ce6e0 80755b4: 080cf890 .word 0x080cf890 80755b8: 20020ddd .word 0x20020ddd 80755bc: 080cfe9c .word 0x080cfe9c 80755c0: 080cfeac .word 0x080cfeac 80755c4: 20020dd1 .word 0x20020dd1 80755c8: 080cfeb8 .word 0x080cfeb8 80755cc: 080cfec8 .word 0x080cfec8 80755d0: 080cfedc .word 0x080cfedc BSP_LCD_SetFont(&Font12); 80755d4: 4887 ldr r0, [pc, #540] ; (80757f4 ) 80755d6: f7de f941 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80755da: 4987 ldr r1, [pc, #540] ; (80757f8 ) 80755dc: f04f 30ff mov.w r0, #4294967295 80755e0: f7de f900 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Îøèáêà ôîðìàòèðîâàíèÿ...", CENTER_MODE); 80755e4: 2301 movs r3, #1 80755e6: 4a85 ldr r2, [pc, #532] ; (80757fc ) 80755e8: 218a movs r1, #138 ; 0x8a 80755ea: 20a0 movs r0, #160 ; 0xa0 80755ec: f7de f9c0 bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80755f0: 4981 ldr r1, [pc, #516] ; (80757f8 ) 80755f2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80755f6: f7de f8f5 bl 80537e4 BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 80755fa: 2301 movs r3, #1 80755fc: 4a80 ldr r2, [pc, #512] ; (8075800 ) 80755fe: 21aa movs r1, #170 ; 0xaa 8075600: 20a0 movs r0, #160 ; 0xa0 8075602: f7de f9b5 bl 8053970 break; 8075606: f021 bfec b.w 80975e2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807560a: 497b ldr r1, [pc, #492] ; (80757f8 ) 807560c: f04f 30ff mov.w r0, #4294967295 8075610: f7de f8e8 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Virtual instruments"); 8075614: 4a7b ldr r2, [pc, #492] ; (8075804 ) 8075616: 215a movs r1, #90 ; 0x5a 8075618: 200a movs r0, #10 807561a: f7de fe8b bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Setup"); 807561e: 4a7a ldr r2, [pc, #488] ; (8075808 ) 8075620: 216a movs r1, #106 ; 0x6a 8075622: 200a movs r0, #10 8075624: f7de fe86 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Files"); 8075628: 4a78 ldr r2, [pc, #480] ; (807580c ) 807562a: 217a movs r1, #122 ; 0x7a 807562c: 200a movs r0, #10 807562e: f7de fe81 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Routes"); 8075632: 4a77 ldr r2, [pc, #476] ; (8075810 ) 8075634: 218a movs r1, #138 ; 0x8a 8075636: 200a movs r0, #10 8075638: f7de fe7c bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807563c: 496e ldr r1, [pc, #440] ; (80757f8 ) 807563e: f04f 30ff mov.w r0, #4294967295 8075642: f7de f8cf bl 80537e4 BSP_LCD_FillRect(60-20, 72, 200+40, 124); 8075646: 237c movs r3, #124 ; 0x7c 8075648: 22f0 movs r2, #240 ; 0xf0 807564a: 2148 movs r1, #72 ; 0x48 807564c: 2028 movs r0, #40 ; 0x28 807564e: f7de fd57 bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8075652: 4969 ldr r1, [pc, #420] ; (80757f8 ) 8075654: 4868 ldr r0, [pc, #416] ; (80757f8 ) 8075656: f7de f8c5 bl 80537e4 BSP_LCD_FillRect(62-20, 74, 196+40, 120); 807565a: 2378 movs r3, #120 ; 0x78 807565c: 22ec movs r2, #236 ; 0xec 807565e: 214a movs r1, #74 ; 0x4a 8075660: 202a movs r0, #42 ; 0x2a 8075662: f7de fd4d bl 8054100 if(NeedFormat) 8075666: 4b6b ldr r3, [pc, #428] ; (8075814 ) 8075668: 781b ldrb r3, [r3, #0] 807566a: b2db uxtb r3, r3 807566c: 2b00 cmp r3, #0 807566e: d015 beq.n 807569c BSP_LCD_SetFont(&Font12); 8075670: 4860 ldr r0, [pc, #384] ; (80757f4 ) 8075672: f7de f8f3 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075676: 4960 ldr r1, [pc, #384] ; (80757f8 ) 8075678: f04f 30ff mov.w r0, #4294967295 807567c: f7de f8b2 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Formatting...", CENTER_MODE); 8075680: 2301 movs r3, #1 8075682: 4a65 ldr r2, [pc, #404] ; (8075818 ) 8075684: 217a movs r1, #122 ; 0x7a 8075686: 20a0 movs r0, #160 ; 0xa0 8075688: f7de f972 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Pleae, wait...", CENTER_MODE); 807568c: 2301 movs r3, #1 807568e: 4a63 ldr r2, [pc, #396] ; (807581c ) 8075690: 218a movs r1, #138 ; 0x8a 8075692: 20a0 movs r0, #160 ; 0xa0 8075694: f7de f96c bl 8053970 break; 8075698: f021 bfa3 b.w 80975e2 if(FormatStatus == AP_OK) 807569c: 4b60 ldr r3, [pc, #384] ; (8075820 ) 807569e: 781b ldrb r3, [r3, #0] 80756a0: b2db uxtb r3, r3 80756a2: 2b00 cmp r3, #0 80756a4: d11a bne.n 80756dc BSP_LCD_SetFont(&Font12); 80756a6: 4853 ldr r0, [pc, #332] ; (80757f4 ) 80756a8: f7de f8d8 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80756ac: 4952 ldr r1, [pc, #328] ; (80757f8 ) 80756ae: f04f 30ff mov.w r0, #4294967295 80756b2: f7de f897 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Formatting successful!", CENTER_MODE); 80756b6: 2301 movs r3, #1 80756b8: 4a5a ldr r2, [pc, #360] ; (8075824 ) 80756ba: 218a movs r1, #138 ; 0x8a 80756bc: 20a0 movs r0, #160 ; 0xa0 80756be: f7de f957 bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80756c2: 494d ldr r1, [pc, #308] ; (80757f8 ) 80756c4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80756c8: f7de f88c bl 80537e4 BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 80756cc: 2301 movs r3, #1 80756ce: 4a4c ldr r2, [pc, #304] ; (8075800 ) 80756d0: 21aa movs r1, #170 ; 0xaa 80756d2: 20a0 movs r0, #160 ; 0xa0 80756d4: f7de f94c bl 8053970 break; 80756d8: f021 bf83 b.w 80975e2 BSP_LCD_SetFont(&Font12); 80756dc: 4845 ldr r0, [pc, #276] ; (80757f4 ) 80756de: f7de f8bd bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80756e2: 4945 ldr r1, [pc, #276] ; (80757f8 ) 80756e4: f04f 30ff mov.w r0, #4294967295 80756e8: f7de f87c bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "A format error...", CENTER_MODE); 80756ec: 2301 movs r3, #1 80756ee: 4a4e ldr r2, [pc, #312] ; (8075828 ) 80756f0: 218a movs r1, #138 ; 0x8a 80756f2: 20a0 movs r0, #160 ; 0xa0 80756f4: f7de f93c bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80756f8: 493f ldr r1, [pc, #252] ; (80757f8 ) 80756fa: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80756fe: f7de f871 bl 80537e4 BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 8075702: 2301 movs r3, #1 8075704: 4a3e ldr r2, [pc, #248] ; (8075800 ) 8075706: 21aa movs r1, #170 ; 0xaa 8075708: 20a0 movs r0, #160 ; 0xa0 807570a: f7de f931 bl 8053970 break; 807570e: f021 bf68 b.w 80975e2 case ARCHIVE: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8075712: 4939 ldr r1, [pc, #228] ; (80757f8 ) 8075714: 4845 ldr r0, [pc, #276] ; (807582c ) 8075716: f7de f865 bl 80537e4 BSP_LCD_DrawHLine(7, 52, 308); 807571a: f44f 729a mov.w r2, #308 ; 0x134 807571e: 2134 movs r1, #52 ; 0x34 8075720: 2007 movs r0, #7 8075722: f7de f9d9 bl 8053ad8 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8075726: 4934 ldr r1, [pc, #208] ; (80757f8 ) 8075728: 4841 ldr r0, [pc, #260] ; (8075830 ) 807572a: f7de f85b bl 80537e4 if(pardata.LANG == RUS) 807572e: 4b41 ldr r3, [pc, #260] ; (8075834 ) 8075730: 7b1b ldrb r3, [r3, #12] 8075732: b2db uxtb r3, r3 8075734: 2b00 cmp r3, #0 8075736: d105 bne.n 8075744 LCD_DisplayString(7, LCD_LINE_2, "..|Âîñïðîèçâåäåíèå ñèãíàëîâ"); 8075738: 4a3f ldr r2, [pc, #252] ; (8075838 ) 807573a: 2127 movs r1, #39 ; 0x27 807573c: 2007 movs r0, #7 807573e: f7de fdf9 bl 8054334 8075742: e004 b.n 807574e else LCD_DisplayString(7, LCD_LINE_2, "..|Playing signals"); 8075744: 4a3d ldr r2, [pc, #244] ; (807583c ) 8075746: 2127 movs r1, #39 ; 0x27 8075748: 2007 movs r0, #7 807574a: f7de fdf3 bl 8054334 if(menupos == ArchiveFran) 807574e: 4b3c ldr r3, [pc, #240] ; (8075840 ) 8075750: 781b ldrb r3, [r3, #0] 8075752: b2db uxtb r3, r3 8075754: 2b01 cmp r3, #1 8075756: d123 bne.n 80757a0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8075758: 493a ldr r1, [pc, #232] ; (8075844 ) 807575a: f04f 30ff mov.w r0, #4294967295 807575e: f7de f841 bl 80537e4 LCD_DisplayString(12, LCD_LINE_5, (char *) TEXT_ARCHIVE[pardata.LANG][0]); 8075762: 4b34 ldr r3, [pc, #208] ; (8075834 ) 8075764: 7b1b ldrb r3, [r3, #12] 8075766: b2db uxtb r3, r3 8075768: 461a mov r2, r3 807576a: 4b37 ldr r3, [pc, #220] ; (8075848 ) 807576c: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8075770: 461a mov r2, r3 8075772: 215a movs r1, #90 ; 0x5a 8075774: 200c movs r0, #12 8075776: f7de fddd bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807577a: 491f ldr r1, [pc, #124] ; (80757f8 ) 807577c: f04f 30ff mov.w r0, #4294967295 8075780: f7de f830 bl 80537e4 LCD_DisplayString(12, LCD_LINE_6, (char *) TEXT_ARCHIVE[pardata.LANG][1]); 8075784: 4b2b ldr r3, [pc, #172] ; (8075834 ) 8075786: 7b1b ldrb r3, [r3, #12] 8075788: b2db uxtb r3, r3 807578a: 4a2f ldr r2, [pc, #188] ; (8075848 ) 807578c: 00db lsls r3, r3, #3 807578e: 4413 add r3, r2 8075790: 685b ldr r3, [r3, #4] 8075792: 461a mov r2, r3 8075794: 216a movs r1, #106 ; 0x6a 8075796: 200c movs r0, #12 8075798: f7de fdcc bl 8054334 LCD_DisplayString(12, LCD_LINE_6, (char *) TEXT_ARCHIVE[pardata.LANG][1]); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayString(12, LCD_LINE_5, (char *) TEXT_ARCHIVE[pardata.LANG][0]); } break; 807579c: f021 bf23 b.w 80975e6 if(menupos == ArchiveWave) 80757a0: 4b27 ldr r3, [pc, #156] ; (8075840 ) 80757a2: 781b ldrb r3, [r3, #0] 80757a4: b2db uxtb r3, r3 80757a6: 2b02 cmp r3, #2 80757a8: f061 871d bne.w 80975e6 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80757ac: 4925 ldr r1, [pc, #148] ; (8075844 ) 80757ae: f04f 30ff mov.w r0, #4294967295 80757b2: f7de f817 bl 80537e4 LCD_DisplayString(12, LCD_LINE_6, (char *) TEXT_ARCHIVE[pardata.LANG][1]); 80757b6: 4b1f ldr r3, [pc, #124] ; (8075834 ) 80757b8: 7b1b ldrb r3, [r3, #12] 80757ba: b2db uxtb r3, r3 80757bc: 4a22 ldr r2, [pc, #136] ; (8075848 ) 80757be: 00db lsls r3, r3, #3 80757c0: 4413 add r3, r2 80757c2: 685b ldr r3, [r3, #4] 80757c4: 461a mov r2, r3 80757c6: 216a movs r1, #106 ; 0x6a 80757c8: 200c movs r0, #12 80757ca: f7de fdb3 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80757ce: 490a ldr r1, [pc, #40] ; (80757f8 ) 80757d0: f04f 30ff mov.w r0, #4294967295 80757d4: f7de f806 bl 80537e4 LCD_DisplayString(12, LCD_LINE_5, (char *) TEXT_ARCHIVE[pardata.LANG][0]); 80757d8: 4b16 ldr r3, [pc, #88] ; (8075834 ) 80757da: 7b1b ldrb r3, [r3, #12] 80757dc: b2db uxtb r3, r3 80757de: 461a mov r2, r3 80757e0: 4b19 ldr r3, [pc, #100] ; (8075848 ) 80757e2: f853 3032 ldr.w r3, [r3, r2, lsl #3] 80757e6: 461a mov r2, r3 80757e8: 215a movs r1, #90 ; 0x5a 80757ea: 200c movs r0, #12 80757ec: f7de fda2 bl 8054334 break; 80757f0: f021 bef9 b.w 80975e6 80757f4: 20020038 .word 0x20020038 80757f8: ff0a0f1f .word 0xff0a0f1f 80757fc: 080cfee0 .word 0x080cfee0 8075800: 080cfedc .word 0x080cfedc 8075804: 080cfd7c .word 0x080cfd7c 8075808: 080cfdb0 .word 0x080cfdb0 807580c: 080cfdb8 .word 0x080cfdb8 8075810: 080cfdc0 .word 0x080cfdc0 8075814: 20020ddd .word 0x20020ddd 8075818: 080cfefc .word 0x080cfefc 807581c: 080cff0c .word 0x080cff0c 8075820: 20020dd1 .word 0x20020dd1 8075824: 080cff1c .word 0x080cff1c 8075828: 080cff34 .word 0x080cff34 807582c: ffd3d3d3 .word 0xffd3d3d3 8075830: ff808080 .word 0xff808080 8075834: 20023e60 .word 0x20023e60 8075838: 080cff48 .word 0x080cff48 807583c: 080cff64 .word 0x080cff64 8075840: 20020070 .word 0x20020070 8075844: ff606060 .word 0xff606060 8075848: 20020954 .word 0x20020954 case MEAS_MODE: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807584c: 498c ldr r1, [pc, #560] ; (8075a80 ) 807584e: 488d ldr r0, [pc, #564] ; (8075a84 ) 8075850: f7dd ffc8 bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 8075854: 23c9 movs r3, #201 ; 0xc9 8075856: f44f 729d mov.w r2, #314 ; 0x13a 807585a: 2123 movs r1, #35 ; 0x23 807585c: 2002 movs r0, #2 807585e: f7de fac7 bl 8053df0 #ifdef USE_ROLL if(menupos == Vibrometer) 8075862: 4b89 ldr r3, [pc, #548] ; (8075a88 ) 8075864: 781b ldrb r3, [r3, #0] 8075866: b2db uxtb r3, r3 8075868: 2b01 cmp r3, #1 807586a: f040 8081 bne.w 8075970 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807586e: 4984 ldr r1, [pc, #528] ; (8075a80 ) 8075870: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075874: f7dd ffb6 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8075878: 4b84 ldr r3, [pc, #528] ; (8075a8c ) 807587a: 7b1b ldrb r3, [r3, #12] 807587c: b2db uxtb r3, r3 807587e: 4619 mov r1, r3 8075880: 4a83 ldr r2, [pc, #524] ; (8075a90 ) 8075882: 460b mov r3, r1 8075884: 009b lsls r3, r3, #2 8075886: 440b add r3, r1 8075888: 00db lsls r3, r3, #3 807588a: 4413 add r3, r2 807588c: 681b ldr r3, [r3, #0] 807588e: 461a mov r2, r3 8075890: 214a movs r1, #74 ; 0x4a 8075892: 200a movs r0, #10 8075894: f7de fd4e bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075898: 4979 ldr r1, [pc, #484] ; (8075a80 ) 807589a: f04f 30ff mov.w r0, #4294967295 807589e: f7dd ffa1 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 80758a2: 4b7a ldr r3, [pc, #488] ; (8075a8c ) 80758a4: 7b1b ldrb r3, [r3, #12] 80758a6: b2db uxtb r3, r3 80758a8: 4619 mov r1, r3 80758aa: 4a79 ldr r2, [pc, #484] ; (8075a90 ) 80758ac: 460b mov r3, r1 80758ae: 009b lsls r3, r3, #2 80758b0: 440b add r3, r1 80758b2: 00db lsls r3, r3, #3 80758b4: 4413 add r3, r2 80758b6: 3304 adds r3, #4 80758b8: 681b ldr r3, [r3, #0] 80758ba: 461a mov r2, r3 80758bc: 215a movs r1, #90 ; 0x5a 80758be: 200a movs r0, #10 80758c0: f7de fd38 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 80758c4: 4b71 ldr r3, [pc, #452] ; (8075a8c ) 80758c6: 7b1b ldrb r3, [r3, #12] 80758c8: b2db uxtb r3, r3 80758ca: 4619 mov r1, r3 80758cc: 4a70 ldr r2, [pc, #448] ; (8075a90 ) 80758ce: 460b mov r3, r1 80758d0: 009b lsls r3, r3, #2 80758d2: 440b add r3, r1 80758d4: 00db lsls r3, r3, #3 80758d6: 4413 add r3, r2 80758d8: 3308 adds r3, #8 80758da: 681b ldr r3, [r3, #0] 80758dc: 461a mov r2, r3 80758de: 216a movs r1, #106 ; 0x6a 80758e0: 200a movs r0, #10 80758e2: f7de fd27 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 80758e6: 4b69 ldr r3, [pc, #420] ; (8075a8c ) 80758e8: 7b1b ldrb r3, [r3, #12] 80758ea: b2db uxtb r3, r3 80758ec: 4619 mov r1, r3 80758ee: 4a68 ldr r2, [pc, #416] ; (8075a90 ) 80758f0: 460b mov r3, r1 80758f2: 009b lsls r3, r3, #2 80758f4: 440b add r3, r1 80758f6: 00db lsls r3, r3, #3 80758f8: 4413 add r3, r2 80758fa: 330c adds r3, #12 80758fc: 681b ldr r3, [r3, #0] 80758fe: 461a mov r2, r3 8075900: 217a movs r1, #122 ; 0x7a 8075902: 200a movs r0, #10 8075904: f7de fd16 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8075908: 4b60 ldr r3, [pc, #384] ; (8075a8c ) 807590a: 7b1b ldrb r3, [r3, #12] 807590c: b2db uxtb r3, r3 807590e: 4619 mov r1, r3 8075910: 4a5f ldr r2, [pc, #380] ; (8075a90 ) 8075912: 460b mov r3, r1 8075914: 009b lsls r3, r3, #2 8075916: 440b add r3, r1 8075918: 00db lsls r3, r3, #3 807591a: 4413 add r3, r2 807591c: 3310 adds r3, #16 807591e: 681b ldr r3, [r3, #0] 8075920: 461a mov r2, r3 8075922: 218a movs r1, #138 ; 0x8a 8075924: 200a movs r0, #10 8075926: f7de fd05 bl 8054334 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 807592a: 4b58 ldr r3, [pc, #352] ; (8075a8c ) 807592c: 7b1b ldrb r3, [r3, #12] 807592e: b2db uxtb r3, r3 8075930: 4619 mov r1, r3 8075932: 4a57 ldr r2, [pc, #348] ; (8075a90 ) 8075934: 460b mov r3, r1 8075936: 009b lsls r3, r3, #2 8075938: 440b add r3, r1 807593a: 00db lsls r3, r3, #3 807593c: 4413 add r3, r2 807593e: 3320 adds r3, #32 8075940: 681b ldr r3, [r3, #0] 8075942: 461a mov r2, r3 8075944: 219a movs r1, #154 ; 0x9a 8075946: 200a movs r0, #10 8075948: f7de fcf4 bl 8054334 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 807594c: 4b4f ldr r3, [pc, #316] ; (8075a8c ) 807594e: 7b1b ldrb r3, [r3, #12] 8075950: b2db uxtb r3, r3 8075952: 4619 mov r1, r3 8075954: 4a4e ldr r2, [pc, #312] ; (8075a90 ) 8075956: 460b mov r3, r1 8075958: 009b lsls r3, r3, #2 807595a: 440b add r3, r1 807595c: 00db lsls r3, r3, #3 807595e: 4413 add r3, r2 8075960: 3324 adds r3, #36 ; 0x24 8075962: 681b ldr r3, [r3, #0] 8075964: 461a mov r2, r3 8075966: 21aa movs r1, #170 ; 0xaa 8075968: 200a movs r0, #10 807596a: f7de fce3 bl 8054334 807596e: e33b b.n 8075fe8 } else if(menupos == Osc) 8075970: 4b45 ldr r3, [pc, #276] ; (8075a88 ) 8075972: 781b ldrb r3, [r3, #0] 8075974: b2db uxtb r3, r3 8075976: 2b02 cmp r3, #2 8075978: f040 808c bne.w 8075a94 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807597c: 4940 ldr r1, [pc, #256] ; (8075a80 ) 807597e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075982: f7dd ff2f bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8075986: 4b41 ldr r3, [pc, #260] ; (8075a8c ) 8075988: 7b1b ldrb r3, [r3, #12] 807598a: b2db uxtb r3, r3 807598c: 4619 mov r1, r3 807598e: 4a40 ldr r2, [pc, #256] ; (8075a90 ) 8075990: 460b mov r3, r1 8075992: 009b lsls r3, r3, #2 8075994: 440b add r3, r1 8075996: 00db lsls r3, r3, #3 8075998: 4413 add r3, r2 807599a: 3304 adds r3, #4 807599c: 681b ldr r3, [r3, #0] 807599e: 461a mov r2, r3 80759a0: 215a movs r1, #90 ; 0x5a 80759a2: 200a movs r0, #10 80759a4: f7de fcc6 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80759a8: 4935 ldr r1, [pc, #212] ; (8075a80 ) 80759aa: f04f 30ff mov.w r0, #4294967295 80759ae: f7dd ff19 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 80759b2: 4b36 ldr r3, [pc, #216] ; (8075a8c ) 80759b4: 7b1b ldrb r3, [r3, #12] 80759b6: b2db uxtb r3, r3 80759b8: 4619 mov r1, r3 80759ba: 4a35 ldr r2, [pc, #212] ; (8075a90 ) 80759bc: 460b mov r3, r1 80759be: 009b lsls r3, r3, #2 80759c0: 440b add r3, r1 80759c2: 00db lsls r3, r3, #3 80759c4: 4413 add r3, r2 80759c6: 681b ldr r3, [r3, #0] 80759c8: 461a mov r2, r3 80759ca: 214a movs r1, #74 ; 0x4a 80759cc: 200a movs r0, #10 80759ce: f7de fcb1 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 80759d2: 4b2e ldr r3, [pc, #184] ; (8075a8c ) 80759d4: 7b1b ldrb r3, [r3, #12] 80759d6: b2db uxtb r3, r3 80759d8: 4619 mov r1, r3 80759da: 4a2d ldr r2, [pc, #180] ; (8075a90 ) 80759dc: 460b mov r3, r1 80759de: 009b lsls r3, r3, #2 80759e0: 440b add r3, r1 80759e2: 00db lsls r3, r3, #3 80759e4: 4413 add r3, r2 80759e6: 3308 adds r3, #8 80759e8: 681b ldr r3, [r3, #0] 80759ea: 461a mov r2, r3 80759ec: 216a movs r1, #106 ; 0x6a 80759ee: 200a movs r0, #10 80759f0: f7de fca0 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 80759f4: 4b25 ldr r3, [pc, #148] ; (8075a8c ) 80759f6: 7b1b ldrb r3, [r3, #12] 80759f8: b2db uxtb r3, r3 80759fa: 4619 mov r1, r3 80759fc: 4a24 ldr r2, [pc, #144] ; (8075a90 ) 80759fe: 460b mov r3, r1 8075a00: 009b lsls r3, r3, #2 8075a02: 440b add r3, r1 8075a04: 00db lsls r3, r3, #3 8075a06: 4413 add r3, r2 8075a08: 330c adds r3, #12 8075a0a: 681b ldr r3, [r3, #0] 8075a0c: 461a mov r2, r3 8075a0e: 217a movs r1, #122 ; 0x7a 8075a10: 200a movs r0, #10 8075a12: f7de fc8f bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8075a16: 4b1d ldr r3, [pc, #116] ; (8075a8c ) 8075a18: 7b1b ldrb r3, [r3, #12] 8075a1a: b2db uxtb r3, r3 8075a1c: 4619 mov r1, r3 8075a1e: 4a1c ldr r2, [pc, #112] ; (8075a90 ) 8075a20: 460b mov r3, r1 8075a22: 009b lsls r3, r3, #2 8075a24: 440b add r3, r1 8075a26: 00db lsls r3, r3, #3 8075a28: 4413 add r3, r2 8075a2a: 3310 adds r3, #16 8075a2c: 681b ldr r3, [r3, #0] 8075a2e: 461a mov r2, r3 8075a30: 218a movs r1, #138 ; 0x8a 8075a32: 200a movs r0, #10 8075a34: f7de fc7e bl 8054334 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8075a38: 4b14 ldr r3, [pc, #80] ; (8075a8c ) 8075a3a: 7b1b ldrb r3, [r3, #12] 8075a3c: b2db uxtb r3, r3 8075a3e: 4619 mov r1, r3 8075a40: 4a13 ldr r2, [pc, #76] ; (8075a90 ) 8075a42: 460b mov r3, r1 8075a44: 009b lsls r3, r3, #2 8075a46: 440b add r3, r1 8075a48: 00db lsls r3, r3, #3 8075a4a: 4413 add r3, r2 8075a4c: 3320 adds r3, #32 8075a4e: 681b ldr r3, [r3, #0] 8075a50: 461a mov r2, r3 8075a52: 219a movs r1, #154 ; 0x9a 8075a54: 200a movs r0, #10 8075a56: f7de fc6d bl 8054334 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8075a5a: 4b0c ldr r3, [pc, #48] ; (8075a8c ) 8075a5c: 7b1b ldrb r3, [r3, #12] 8075a5e: b2db uxtb r3, r3 8075a60: 4619 mov r1, r3 8075a62: 4a0b ldr r2, [pc, #44] ; (8075a90 ) 8075a64: 460b mov r3, r1 8075a66: 009b lsls r3, r3, #2 8075a68: 440b add r3, r1 8075a6a: 00db lsls r3, r3, #3 8075a6c: 4413 add r3, r2 8075a6e: 3324 adds r3, #36 ; 0x24 8075a70: 681b ldr r3, [r3, #0] 8075a72: 461a mov r2, r3 8075a74: 21aa movs r1, #170 ; 0xaa 8075a76: 200a movs r0, #10 8075a78: f7de fc5c bl 8054334 8075a7c: e2b4 b.n 8075fe8 8075a7e: bf00 nop 8075a80: ff0a0f1f .word 0xff0a0f1f 8075a84: ffd3d3d3 .word 0xffd3d3d3 8075a88: 20020070 .word 0x20020070 8075a8c: 20023e60 .word 0x20023e60 8075a90: 200208dc .word 0x200208dc } else if(menupos == FFT) 8075a94: 4bca ldr r3, [pc, #808] ; (8075dc0 ) 8075a96: 781b ldrb r3, [r3, #0] 8075a98: b2db uxtb r3, r3 8075a9a: 2b03 cmp r3, #3 8075a9c: f040 8081 bne.w 8075ba2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075aa0: 49c8 ldr r1, [pc, #800] ; (8075dc4 ) 8075aa2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075aa6: f7dd fe9d bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8075aaa: 4bc7 ldr r3, [pc, #796] ; (8075dc8 ) 8075aac: 7b1b ldrb r3, [r3, #12] 8075aae: b2db uxtb r3, r3 8075ab0: 4619 mov r1, r3 8075ab2: 4ac6 ldr r2, [pc, #792] ; (8075dcc ) 8075ab4: 460b mov r3, r1 8075ab6: 009b lsls r3, r3, #2 8075ab8: 440b add r3, r1 8075aba: 00db lsls r3, r3, #3 8075abc: 4413 add r3, r2 8075abe: 3308 adds r3, #8 8075ac0: 681b ldr r3, [r3, #0] 8075ac2: 461a mov r2, r3 8075ac4: 216a movs r1, #106 ; 0x6a 8075ac6: 200a movs r0, #10 8075ac8: f7de fc34 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075acc: 49bd ldr r1, [pc, #756] ; (8075dc4 ) 8075ace: f04f 30ff mov.w r0, #4294967295 8075ad2: f7dd fe87 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8075ad6: 4bbc ldr r3, [pc, #752] ; (8075dc8 ) 8075ad8: 7b1b ldrb r3, [r3, #12] 8075ada: b2db uxtb r3, r3 8075adc: 4619 mov r1, r3 8075ade: 4abb ldr r2, [pc, #748] ; (8075dcc ) 8075ae0: 460b mov r3, r1 8075ae2: 009b lsls r3, r3, #2 8075ae4: 440b add r3, r1 8075ae6: 00db lsls r3, r3, #3 8075ae8: 4413 add r3, r2 8075aea: 681b ldr r3, [r3, #0] 8075aec: 461a mov r2, r3 8075aee: 214a movs r1, #74 ; 0x4a 8075af0: 200a movs r0, #10 8075af2: f7de fc1f bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8075af6: 4bb4 ldr r3, [pc, #720] ; (8075dc8 ) 8075af8: 7b1b ldrb r3, [r3, #12] 8075afa: b2db uxtb r3, r3 8075afc: 4619 mov r1, r3 8075afe: 4ab3 ldr r2, [pc, #716] ; (8075dcc ) 8075b00: 460b mov r3, r1 8075b02: 009b lsls r3, r3, #2 8075b04: 440b add r3, r1 8075b06: 00db lsls r3, r3, #3 8075b08: 4413 add r3, r2 8075b0a: 3304 adds r3, #4 8075b0c: 681b ldr r3, [r3, #0] 8075b0e: 461a mov r2, r3 8075b10: 215a movs r1, #90 ; 0x5a 8075b12: 200a movs r0, #10 8075b14: f7de fc0e bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8075b18: 4bab ldr r3, [pc, #684] ; (8075dc8 ) 8075b1a: 7b1b ldrb r3, [r3, #12] 8075b1c: b2db uxtb r3, r3 8075b1e: 4619 mov r1, r3 8075b20: 4aaa ldr r2, [pc, #680] ; (8075dcc ) 8075b22: 460b mov r3, r1 8075b24: 009b lsls r3, r3, #2 8075b26: 440b add r3, r1 8075b28: 00db lsls r3, r3, #3 8075b2a: 4413 add r3, r2 8075b2c: 330c adds r3, #12 8075b2e: 681b ldr r3, [r3, #0] 8075b30: 461a mov r2, r3 8075b32: 217a movs r1, #122 ; 0x7a 8075b34: 200a movs r0, #10 8075b36: f7de fbfd bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8075b3a: 4ba3 ldr r3, [pc, #652] ; (8075dc8 ) 8075b3c: 7b1b ldrb r3, [r3, #12] 8075b3e: b2db uxtb r3, r3 8075b40: 4619 mov r1, r3 8075b42: 4aa2 ldr r2, [pc, #648] ; (8075dcc ) 8075b44: 460b mov r3, r1 8075b46: 009b lsls r3, r3, #2 8075b48: 440b add r3, r1 8075b4a: 00db lsls r3, r3, #3 8075b4c: 4413 add r3, r2 8075b4e: 3310 adds r3, #16 8075b50: 681b ldr r3, [r3, #0] 8075b52: 461a mov r2, r3 8075b54: 218a movs r1, #138 ; 0x8a 8075b56: 200a movs r0, #10 8075b58: f7de fbec bl 8054334 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8075b5c: 4b9a ldr r3, [pc, #616] ; (8075dc8 ) 8075b5e: 7b1b ldrb r3, [r3, #12] 8075b60: b2db uxtb r3, r3 8075b62: 4619 mov r1, r3 8075b64: 4a99 ldr r2, [pc, #612] ; (8075dcc ) 8075b66: 460b mov r3, r1 8075b68: 009b lsls r3, r3, #2 8075b6a: 440b add r3, r1 8075b6c: 00db lsls r3, r3, #3 8075b6e: 4413 add r3, r2 8075b70: 3320 adds r3, #32 8075b72: 681b ldr r3, [r3, #0] 8075b74: 461a mov r2, r3 8075b76: 219a movs r1, #154 ; 0x9a 8075b78: 200a movs r0, #10 8075b7a: f7de fbdb bl 8054334 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8075b7e: 4b92 ldr r3, [pc, #584] ; (8075dc8 ) 8075b80: 7b1b ldrb r3, [r3, #12] 8075b82: b2db uxtb r3, r3 8075b84: 4619 mov r1, r3 8075b86: 4a91 ldr r2, [pc, #580] ; (8075dcc ) 8075b88: 460b mov r3, r1 8075b8a: 009b lsls r3, r3, #2 8075b8c: 440b add r3, r1 8075b8e: 00db lsls r3, r3, #3 8075b90: 4413 add r3, r2 8075b92: 3324 adds r3, #36 ; 0x24 8075b94: 681b ldr r3, [r3, #0] 8075b96: 461a mov r2, r3 8075b98: 21aa movs r1, #170 ; 0xaa 8075b9a: 200a movs r0, #10 8075b9c: f7de fbca bl 8054334 8075ba0: e222 b.n 8075fe8 } else if(menupos == Wave) 8075ba2: 4b87 ldr r3, [pc, #540] ; (8075dc0 ) 8075ba4: 781b ldrb r3, [r3, #0] 8075ba6: b2db uxtb r3, r3 8075ba8: 2b04 cmp r3, #4 8075baa: f040 8081 bne.w 8075cb0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075bae: 4985 ldr r1, [pc, #532] ; (8075dc4 ) 8075bb0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075bb4: f7dd fe16 bl 80537e4 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8075bb8: 4b83 ldr r3, [pc, #524] ; (8075dc8 ) 8075bba: 7b1b ldrb r3, [r3, #12] 8075bbc: b2db uxtb r3, r3 8075bbe: 4619 mov r1, r3 8075bc0: 4a82 ldr r2, [pc, #520] ; (8075dcc ) 8075bc2: 460b mov r3, r1 8075bc4: 009b lsls r3, r3, #2 8075bc6: 440b add r3, r1 8075bc8: 00db lsls r3, r3, #3 8075bca: 4413 add r3, r2 8075bcc: 330c adds r3, #12 8075bce: 681b ldr r3, [r3, #0] 8075bd0: 461a mov r2, r3 8075bd2: 217a movs r1, #122 ; 0x7a 8075bd4: 200a movs r0, #10 8075bd6: f7de fbad bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075bda: 497a ldr r1, [pc, #488] ; (8075dc4 ) 8075bdc: f04f 30ff mov.w r0, #4294967295 8075be0: f7dd fe00 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8075be4: 4b78 ldr r3, [pc, #480] ; (8075dc8 ) 8075be6: 7b1b ldrb r3, [r3, #12] 8075be8: b2db uxtb r3, r3 8075bea: 4619 mov r1, r3 8075bec: 4a77 ldr r2, [pc, #476] ; (8075dcc ) 8075bee: 460b mov r3, r1 8075bf0: 009b lsls r3, r3, #2 8075bf2: 440b add r3, r1 8075bf4: 00db lsls r3, r3, #3 8075bf6: 4413 add r3, r2 8075bf8: 681b ldr r3, [r3, #0] 8075bfa: 461a mov r2, r3 8075bfc: 214a movs r1, #74 ; 0x4a 8075bfe: 200a movs r0, #10 8075c00: f7de fb98 bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8075c04: 4b70 ldr r3, [pc, #448] ; (8075dc8 ) 8075c06: 7b1b ldrb r3, [r3, #12] 8075c08: b2db uxtb r3, r3 8075c0a: 4619 mov r1, r3 8075c0c: 4a6f ldr r2, [pc, #444] ; (8075dcc ) 8075c0e: 460b mov r3, r1 8075c10: 009b lsls r3, r3, #2 8075c12: 440b add r3, r1 8075c14: 00db lsls r3, r3, #3 8075c16: 4413 add r3, r2 8075c18: 3304 adds r3, #4 8075c1a: 681b ldr r3, [r3, #0] 8075c1c: 461a mov r2, r3 8075c1e: 215a movs r1, #90 ; 0x5a 8075c20: 200a movs r0, #10 8075c22: f7de fb87 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8075c26: 4b68 ldr r3, [pc, #416] ; (8075dc8 ) 8075c28: 7b1b ldrb r3, [r3, #12] 8075c2a: b2db uxtb r3, r3 8075c2c: 4619 mov r1, r3 8075c2e: 4a67 ldr r2, [pc, #412] ; (8075dcc ) 8075c30: 460b mov r3, r1 8075c32: 009b lsls r3, r3, #2 8075c34: 440b add r3, r1 8075c36: 00db lsls r3, r3, #3 8075c38: 4413 add r3, r2 8075c3a: 3308 adds r3, #8 8075c3c: 681b ldr r3, [r3, #0] 8075c3e: 461a mov r2, r3 8075c40: 216a movs r1, #106 ; 0x6a 8075c42: 200a movs r0, #10 8075c44: f7de fb76 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8075c48: 4b5f ldr r3, [pc, #380] ; (8075dc8 ) 8075c4a: 7b1b ldrb r3, [r3, #12] 8075c4c: b2db uxtb r3, r3 8075c4e: 4619 mov r1, r3 8075c50: 4a5e ldr r2, [pc, #376] ; (8075dcc ) 8075c52: 460b mov r3, r1 8075c54: 009b lsls r3, r3, #2 8075c56: 440b add r3, r1 8075c58: 00db lsls r3, r3, #3 8075c5a: 4413 add r3, r2 8075c5c: 3310 adds r3, #16 8075c5e: 681b ldr r3, [r3, #0] 8075c60: 461a mov r2, r3 8075c62: 218a movs r1, #138 ; 0x8a 8075c64: 200a movs r0, #10 8075c66: f7de fb65 bl 8054334 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8075c6a: 4b57 ldr r3, [pc, #348] ; (8075dc8 ) 8075c6c: 7b1b ldrb r3, [r3, #12] 8075c6e: b2db uxtb r3, r3 8075c70: 4619 mov r1, r3 8075c72: 4a56 ldr r2, [pc, #344] ; (8075dcc ) 8075c74: 460b mov r3, r1 8075c76: 009b lsls r3, r3, #2 8075c78: 440b add r3, r1 8075c7a: 00db lsls r3, r3, #3 8075c7c: 4413 add r3, r2 8075c7e: 3320 adds r3, #32 8075c80: 681b ldr r3, [r3, #0] 8075c82: 461a mov r2, r3 8075c84: 219a movs r1, #154 ; 0x9a 8075c86: 200a movs r0, #10 8075c88: f7de fb54 bl 8054334 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8075c8c: 4b4e ldr r3, [pc, #312] ; (8075dc8 ) 8075c8e: 7b1b ldrb r3, [r3, #12] 8075c90: b2db uxtb r3, r3 8075c92: 4619 mov r1, r3 8075c94: 4a4d ldr r2, [pc, #308] ; (8075dcc ) 8075c96: 460b mov r3, r1 8075c98: 009b lsls r3, r3, #2 8075c9a: 440b add r3, r1 8075c9c: 00db lsls r3, r3, #3 8075c9e: 4413 add r3, r2 8075ca0: 3324 adds r3, #36 ; 0x24 8075ca2: 681b ldr r3, [r3, #0] 8075ca4: 461a mov r2, r3 8075ca6: 21aa movs r1, #170 ; 0xaa 8075ca8: 200a movs r0, #10 8075caa: f7de fb43 bl 8054334 8075cae: e19b b.n 8075fe8 } else if(menupos == Diagn) 8075cb0: 4b43 ldr r3, [pc, #268] ; (8075dc0 ) 8075cb2: 781b ldrb r3, [r3, #0] 8075cb4: b2db uxtb r3, r3 8075cb6: 2b05 cmp r3, #5 8075cb8: f040 808a bne.w 8075dd0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075cbc: 4941 ldr r1, [pc, #260] ; (8075dc4 ) 8075cbe: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075cc2: f7dd fd8f bl 80537e4 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8075cc6: 4b40 ldr r3, [pc, #256] ; (8075dc8 ) 8075cc8: 7b1b ldrb r3, [r3, #12] 8075cca: b2db uxtb r3, r3 8075ccc: 4619 mov r1, r3 8075cce: 4a3f ldr r2, [pc, #252] ; (8075dcc ) 8075cd0: 460b mov r3, r1 8075cd2: 009b lsls r3, r3, #2 8075cd4: 440b add r3, r1 8075cd6: 00db lsls r3, r3, #3 8075cd8: 4413 add r3, r2 8075cda: 3310 adds r3, #16 8075cdc: 681b ldr r3, [r3, #0] 8075cde: 461a mov r2, r3 8075ce0: 218a movs r1, #138 ; 0x8a 8075ce2: 200a movs r0, #10 8075ce4: f7de fb26 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075ce8: 4936 ldr r1, [pc, #216] ; (8075dc4 ) 8075cea: f04f 30ff mov.w r0, #4294967295 8075cee: f7dd fd79 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8075cf2: 4b35 ldr r3, [pc, #212] ; (8075dc8 ) 8075cf4: 7b1b ldrb r3, [r3, #12] 8075cf6: b2db uxtb r3, r3 8075cf8: 4619 mov r1, r3 8075cfa: 4a34 ldr r2, [pc, #208] ; (8075dcc ) 8075cfc: 460b mov r3, r1 8075cfe: 009b lsls r3, r3, #2 8075d00: 440b add r3, r1 8075d02: 00db lsls r3, r3, #3 8075d04: 4413 add r3, r2 8075d06: 681b ldr r3, [r3, #0] 8075d08: 461a mov r2, r3 8075d0a: 214a movs r1, #74 ; 0x4a 8075d0c: 200a movs r0, #10 8075d0e: f7de fb11 bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8075d12: 4b2d ldr r3, [pc, #180] ; (8075dc8 ) 8075d14: 7b1b ldrb r3, [r3, #12] 8075d16: b2db uxtb r3, r3 8075d18: 4619 mov r1, r3 8075d1a: 4a2c ldr r2, [pc, #176] ; (8075dcc ) 8075d1c: 460b mov r3, r1 8075d1e: 009b lsls r3, r3, #2 8075d20: 440b add r3, r1 8075d22: 00db lsls r3, r3, #3 8075d24: 4413 add r3, r2 8075d26: 3304 adds r3, #4 8075d28: 681b ldr r3, [r3, #0] 8075d2a: 461a mov r2, r3 8075d2c: 215a movs r1, #90 ; 0x5a 8075d2e: 200a movs r0, #10 8075d30: f7de fb00 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8075d34: 4b24 ldr r3, [pc, #144] ; (8075dc8 ) 8075d36: 7b1b ldrb r3, [r3, #12] 8075d38: b2db uxtb r3, r3 8075d3a: 4619 mov r1, r3 8075d3c: 4a23 ldr r2, [pc, #140] ; (8075dcc ) 8075d3e: 460b mov r3, r1 8075d40: 009b lsls r3, r3, #2 8075d42: 440b add r3, r1 8075d44: 00db lsls r3, r3, #3 8075d46: 4413 add r3, r2 8075d48: 3308 adds r3, #8 8075d4a: 681b ldr r3, [r3, #0] 8075d4c: 461a mov r2, r3 8075d4e: 216a movs r1, #106 ; 0x6a 8075d50: 200a movs r0, #10 8075d52: f7de faef bl 8054334 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8075d56: 4b1c ldr r3, [pc, #112] ; (8075dc8 ) 8075d58: 7b1b ldrb r3, [r3, #12] 8075d5a: b2db uxtb r3, r3 8075d5c: 4619 mov r1, r3 8075d5e: 4a1b ldr r2, [pc, #108] ; (8075dcc ) 8075d60: 460b mov r3, r1 8075d62: 009b lsls r3, r3, #2 8075d64: 440b add r3, r1 8075d66: 00db lsls r3, r3, #3 8075d68: 4413 add r3, r2 8075d6a: 3324 adds r3, #36 ; 0x24 8075d6c: 681b ldr r3, [r3, #0] 8075d6e: 461a mov r2, r3 8075d70: 21aa movs r1, #170 ; 0xaa 8075d72: 200a movs r0, #10 8075d74: f7de fade bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8075d78: 4b13 ldr r3, [pc, #76] ; (8075dc8 ) 8075d7a: 7b1b ldrb r3, [r3, #12] 8075d7c: b2db uxtb r3, r3 8075d7e: 4619 mov r1, r3 8075d80: 4a12 ldr r2, [pc, #72] ; (8075dcc ) 8075d82: 460b mov r3, r1 8075d84: 009b lsls r3, r3, #2 8075d86: 440b add r3, r1 8075d88: 00db lsls r3, r3, #3 8075d8a: 4413 add r3, r2 8075d8c: 330c adds r3, #12 8075d8e: 681b ldr r3, [r3, #0] 8075d90: 461a mov r2, r3 8075d92: 217a movs r1, #122 ; 0x7a 8075d94: 200a movs r0, #10 8075d96: f7de facd bl 8054334 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8075d9a: 4b0b ldr r3, [pc, #44] ; (8075dc8 ) 8075d9c: 7b1b ldrb r3, [r3, #12] 8075d9e: b2db uxtb r3, r3 8075da0: 4619 mov r1, r3 8075da2: 4a0a ldr r2, [pc, #40] ; (8075dcc ) 8075da4: 460b mov r3, r1 8075da6: 009b lsls r3, r3, #2 8075da8: 440b add r3, r1 8075daa: 00db lsls r3, r3, #3 8075dac: 4413 add r3, r2 8075dae: 3320 adds r3, #32 8075db0: 681b ldr r3, [r3, #0] 8075db2: 461a mov r2, r3 8075db4: 219a movs r1, #154 ; 0x9a 8075db6: 200a movs r0, #10 8075db8: f7de fabc bl 8054334 8075dbc: e114 b.n 8075fe8 8075dbe: bf00 nop 8075dc0: 20020070 .word 0x20020070 8075dc4: ff0a0f1f .word 0xff0a0f1f 8075dc8: 20023e60 .word 0x20023e60 8075dcc: 200208dc .word 0x200208dc } else if(menupos == Roll) 8075dd0: 4bad ldr r3, [pc, #692] ; (8076088 ) 8075dd2: 781b ldrb r3, [r3, #0] 8075dd4: b2db uxtb r3, r3 8075dd6: 2b06 cmp r3, #6 8075dd8: f040 8081 bne.w 8075ede { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075ddc: 49ab ldr r1, [pc, #684] ; (807608c ) 8075dde: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075de2: f7dd fcff bl 80537e4 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8075de6: 4baa ldr r3, [pc, #680] ; (8076090 ) 8075de8: 7b1b ldrb r3, [r3, #12] 8075dea: b2db uxtb r3, r3 8075dec: 4619 mov r1, r3 8075dee: 4aa9 ldr r2, [pc, #676] ; (8076094 ) 8075df0: 460b mov r3, r1 8075df2: 009b lsls r3, r3, #2 8075df4: 440b add r3, r1 8075df6: 00db lsls r3, r3, #3 8075df8: 4413 add r3, r2 8075dfa: 3320 adds r3, #32 8075dfc: 681b ldr r3, [r3, #0] 8075dfe: 461a mov r2, r3 8075e00: 219a movs r1, #154 ; 0x9a 8075e02: 200a movs r0, #10 8075e04: f7de fa96 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075e08: 49a0 ldr r1, [pc, #640] ; (807608c ) 8075e0a: f04f 30ff mov.w r0, #4294967295 8075e0e: f7dd fce9 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8075e12: 4b9f ldr r3, [pc, #636] ; (8076090 ) 8075e14: 7b1b ldrb r3, [r3, #12] 8075e16: b2db uxtb r3, r3 8075e18: 4619 mov r1, r3 8075e1a: 4a9e ldr r2, [pc, #632] ; (8076094 ) 8075e1c: 460b mov r3, r1 8075e1e: 009b lsls r3, r3, #2 8075e20: 440b add r3, r1 8075e22: 00db lsls r3, r3, #3 8075e24: 4413 add r3, r2 8075e26: 681b ldr r3, [r3, #0] 8075e28: 461a mov r2, r3 8075e2a: 214a movs r1, #74 ; 0x4a 8075e2c: 200a movs r0, #10 8075e2e: f7de fa81 bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8075e32: 4b97 ldr r3, [pc, #604] ; (8076090 ) 8075e34: 7b1b ldrb r3, [r3, #12] 8075e36: b2db uxtb r3, r3 8075e38: 4619 mov r1, r3 8075e3a: 4a96 ldr r2, [pc, #600] ; (8076094 ) 8075e3c: 460b mov r3, r1 8075e3e: 009b lsls r3, r3, #2 8075e40: 440b add r3, r1 8075e42: 00db lsls r3, r3, #3 8075e44: 4413 add r3, r2 8075e46: 3304 adds r3, #4 8075e48: 681b ldr r3, [r3, #0] 8075e4a: 461a mov r2, r3 8075e4c: 215a movs r1, #90 ; 0x5a 8075e4e: 200a movs r0, #10 8075e50: f7de fa70 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8075e54: 4b8e ldr r3, [pc, #568] ; (8076090 ) 8075e56: 7b1b ldrb r3, [r3, #12] 8075e58: b2db uxtb r3, r3 8075e5a: 4619 mov r1, r3 8075e5c: 4a8d ldr r2, [pc, #564] ; (8076094 ) 8075e5e: 460b mov r3, r1 8075e60: 009b lsls r3, r3, #2 8075e62: 440b add r3, r1 8075e64: 00db lsls r3, r3, #3 8075e66: 4413 add r3, r2 8075e68: 3308 adds r3, #8 8075e6a: 681b ldr r3, [r3, #0] 8075e6c: 461a mov r2, r3 8075e6e: 216a movs r1, #106 ; 0x6a 8075e70: 200a movs r0, #10 8075e72: f7de fa5f bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8075e76: 4b86 ldr r3, [pc, #536] ; (8076090 ) 8075e78: 7b1b ldrb r3, [r3, #12] 8075e7a: b2db uxtb r3, r3 8075e7c: 4619 mov r1, r3 8075e7e: 4a85 ldr r2, [pc, #532] ; (8076094 ) 8075e80: 460b mov r3, r1 8075e82: 009b lsls r3, r3, #2 8075e84: 440b add r3, r1 8075e86: 00db lsls r3, r3, #3 8075e88: 4413 add r3, r2 8075e8a: 3310 adds r3, #16 8075e8c: 681b ldr r3, [r3, #0] 8075e8e: 461a mov r2, r3 8075e90: 218a movs r1, #138 ; 0x8a 8075e92: 200a movs r0, #10 8075e94: f7de fa4e bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8075e98: 4b7d ldr r3, [pc, #500] ; (8076090 ) 8075e9a: 7b1b ldrb r3, [r3, #12] 8075e9c: b2db uxtb r3, r3 8075e9e: 4619 mov r1, r3 8075ea0: 4a7c ldr r2, [pc, #496] ; (8076094 ) 8075ea2: 460b mov r3, r1 8075ea4: 009b lsls r3, r3, #2 8075ea6: 440b add r3, r1 8075ea8: 00db lsls r3, r3, #3 8075eaa: 4413 add r3, r2 8075eac: 330c adds r3, #12 8075eae: 681b ldr r3, [r3, #0] 8075eb0: 461a mov r2, r3 8075eb2: 217a movs r1, #122 ; 0x7a 8075eb4: 200a movs r0, #10 8075eb6: f7de fa3d bl 8054334 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8075eba: 4b75 ldr r3, [pc, #468] ; (8076090 ) 8075ebc: 7b1b ldrb r3, [r3, #12] 8075ebe: b2db uxtb r3, r3 8075ec0: 4619 mov r1, r3 8075ec2: 4a74 ldr r2, [pc, #464] ; (8076094 ) 8075ec4: 460b mov r3, r1 8075ec6: 009b lsls r3, r3, #2 8075ec8: 440b add r3, r1 8075eca: 00db lsls r3, r3, #3 8075ecc: 4413 add r3, r2 8075ece: 3324 adds r3, #36 ; 0x24 8075ed0: 681b ldr r3, [r3, #0] 8075ed2: 461a mov r2, r3 8075ed4: 21aa movs r1, #170 ; 0xaa 8075ed6: 200a movs r0, #10 8075ed8: f7de fa2c bl 8054334 8075edc: e084 b.n 8075fe8 } else if(menupos == Udar) 8075ede: 4b6a ldr r3, [pc, #424] ; (8076088 ) 8075ee0: 781b ldrb r3, [r3, #0] 8075ee2: b2db uxtb r3, r3 8075ee4: 2b07 cmp r3, #7 8075ee6: d17f bne.n 8075fe8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8075ee8: 4968 ldr r1, [pc, #416] ; (807608c ) 8075eea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8075eee: f7dd fc79 bl 80537e4 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8075ef2: 4b67 ldr r3, [pc, #412] ; (8076090 ) 8075ef4: 7b1b ldrb r3, [r3, #12] 8075ef6: b2db uxtb r3, r3 8075ef8: 4619 mov r1, r3 8075efa: 4a66 ldr r2, [pc, #408] ; (8076094 ) 8075efc: 460b mov r3, r1 8075efe: 009b lsls r3, r3, #2 8075f00: 440b add r3, r1 8075f02: 00db lsls r3, r3, #3 8075f04: 4413 add r3, r2 8075f06: 3324 adds r3, #36 ; 0x24 8075f08: 681b ldr r3, [r3, #0] 8075f0a: 461a mov r2, r3 8075f0c: 21aa movs r1, #170 ; 0xaa 8075f0e: 200a movs r0, #10 8075f10: f7de fa10 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8075f14: 495d ldr r1, [pc, #372] ; (807608c ) 8075f16: f04f 30ff mov.w r0, #4294967295 8075f1a: f7dd fc63 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_MEAS_MODE[pardata.LANG][0]); //Vibr 8075f1e: 4b5c ldr r3, [pc, #368] ; (8076090 ) 8075f20: 7b1b ldrb r3, [r3, #12] 8075f22: b2db uxtb r3, r3 8075f24: 4619 mov r1, r3 8075f26: 4a5b ldr r2, [pc, #364] ; (8076094 ) 8075f28: 460b mov r3, r1 8075f2a: 009b lsls r3, r3, #2 8075f2c: 440b add r3, r1 8075f2e: 00db lsls r3, r3, #3 8075f30: 4413 add r3, r2 8075f32: 681b ldr r3, [r3, #0] 8075f34: 461a mov r2, r3 8075f36: 214a movs r1, #74 ; 0x4a 8075f38: 200a movs r0, #10 8075f3a: f7de f9fb bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_MEAS_MODE[pardata.LANG][1]); //Osc 8075f3e: 4b54 ldr r3, [pc, #336] ; (8076090 ) 8075f40: 7b1b ldrb r3, [r3, #12] 8075f42: b2db uxtb r3, r3 8075f44: 4619 mov r1, r3 8075f46: 4a53 ldr r2, [pc, #332] ; (8076094 ) 8075f48: 460b mov r3, r1 8075f4a: 009b lsls r3, r3, #2 8075f4c: 440b add r3, r1 8075f4e: 00db lsls r3, r3, #3 8075f50: 4413 add r3, r2 8075f52: 3304 adds r3, #4 8075f54: 681b ldr r3, [r3, #0] 8075f56: 461a mov r2, r3 8075f58: 215a movs r1, #90 ; 0x5a 8075f5a: 200a movs r0, #10 8075f5c: f7de f9ea bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr 8075f60: 4b4b ldr r3, [pc, #300] ; (8076090 ) 8075f62: 7b1b ldrb r3, [r3, #12] 8075f64: b2db uxtb r3, r3 8075f66: 4619 mov r1, r3 8075f68: 4a4a ldr r2, [pc, #296] ; (8076094 ) 8075f6a: 460b mov r3, r1 8075f6c: 009b lsls r3, r3, #2 8075f6e: 440b add r3, r1 8075f70: 00db lsls r3, r3, #3 8075f72: 4413 add r3, r2 8075f74: 3308 adds r3, #8 8075f76: 681b ldr r3, [r3, #0] 8075f78: 461a mov r2, r3 8075f7a: 216a movs r1, #106 ; 0x6a 8075f7c: 200a movs r0, #10 8075f7e: f7de f9d9 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 8075f82: 4b43 ldr r3, [pc, #268] ; (8076090 ) 8075f84: 7b1b ldrb r3, [r3, #12] 8075f86: b2db uxtb r3, r3 8075f88: 4619 mov r1, r3 8075f8a: 4a42 ldr r2, [pc, #264] ; (8076094 ) 8075f8c: 460b mov r3, r1 8075f8e: 009b lsls r3, r3, #2 8075f90: 440b add r3, r1 8075f92: 00db lsls r3, r3, #3 8075f94: 4413 add r3, r2 8075f96: 3310 adds r3, #16 8075f98: 681b ldr r3, [r3, #0] 8075f9a: 461a mov r2, r3 8075f9c: 218a movs r1, #138 ; 0x8a 8075f9e: 200a movs r0, #10 8075fa0: f7de f9c8 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8075fa4: 4b3a ldr r3, [pc, #232] ; (8076090 ) 8075fa6: 7b1b ldrb r3, [r3, #12] 8075fa8: b2db uxtb r3, r3 8075faa: 4619 mov r1, r3 8075fac: 4a39 ldr r2, [pc, #228] ; (8076094 ) 8075fae: 460b mov r3, r1 8075fb0: 009b lsls r3, r3, #2 8075fb2: 440b add r3, r1 8075fb4: 00db lsls r3, r3, #3 8075fb6: 4413 add r3, r2 8075fb8: 330c adds r3, #12 8075fba: 681b ldr r3, [r3, #0] 8075fbc: 461a mov r2, r3 8075fbe: 217a movs r1, #122 ; 0x7a 8075fc0: 200a movs r0, #10 8075fc2: f7de f9b7 bl 8054334 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8075fc6: 4b32 ldr r3, [pc, #200] ; (8076090 ) 8075fc8: 7b1b ldrb r3, [r3, #12] 8075fca: b2db uxtb r3, r3 8075fcc: 4619 mov r1, r3 8075fce: 4a31 ldr r2, [pc, #196] ; (8076094 ) 8075fd0: 460b mov r3, r1 8075fd2: 009b lsls r3, r3, #2 8075fd4: 440b add r3, r1 8075fd6: 00db lsls r3, r3, #3 8075fd8: 4413 add r3, r2 8075fda: 3320 adds r3, #32 8075fdc: 681b ldr r3, [r3, #0] 8075fde: 461a mov r2, r3 8075fe0: 219a movs r1, #154 ; 0x9a 8075fe2: 200a movs r0, #10 8075fe4: f7de f9a6 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_MEAS_MODE[pardata.LANG][2]); //Spectr LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record } #endif #endif if(pardata.IIN == VOLTS) 8075fe8: 4b29 ldr r3, [pc, #164] ; (8076090 ) 8075fea: 799b ldrb r3, [r3, #6] 8075fec: b2db uxtb r3, r3 8075fee: 2b02 cmp r3, #2 8075ff0: f061 82fb bne.w 80975ea { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8075ff4: 4925 ldr r1, [pc, #148] ; (807608c ) 8075ff6: 4828 ldr r0, [pc, #160] ; (8076098 ) 8075ff8: f7dd fbf4 bl 80537e4 #ifdef USE_ROLL LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_MEAS_MODE[pardata.LANG][3]); //Record 8075ffc: 4b24 ldr r3, [pc, #144] ; (8076090 ) 8075ffe: 7b1b ldrb r3, [r3, #12] 8076000: b2db uxtb r3, r3 8076002: 4619 mov r1, r3 8076004: 4a23 ldr r2, [pc, #140] ; (8076094 ) 8076006: 460b mov r3, r1 8076008: 009b lsls r3, r3, #2 807600a: 440b add r3, r1 807600c: 00db lsls r3, r3, #3 807600e: 4413 add r3, r2 8076010: 330c adds r3, #12 8076012: 681b ldr r3, [r3, #0] 8076014: 461a mov r2, r3 8076016: 217a movs r1, #122 ; 0x7a 8076018: 200a movs r0, #10 807601a: f7de f98b bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_MEAS_MODE[pardata.LANG][4]); //Diagn 807601e: 4b1c ldr r3, [pc, #112] ; (8076090 ) 8076020: 7b1b ldrb r3, [r3, #12] 8076022: b2db uxtb r3, r3 8076024: 4619 mov r1, r3 8076026: 4a1b ldr r2, [pc, #108] ; (8076094 ) 8076028: 460b mov r3, r1 807602a: 009b lsls r3, r3, #2 807602c: 440b add r3, r1 807602e: 00db lsls r3, r3, #3 8076030: 4413 add r3, r2 8076032: 3310 adds r3, #16 8076034: 681b ldr r3, [r3, #0] 8076036: 461a mov r2, r3 8076038: 218a movs r1, #138 ; 0x8a 807603a: 200a movs r0, #10 807603c: f7de f97a bl 8054334 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_MEAS_MODE[pardata.LANG][8]); //Roll 8076040: 4b13 ldr r3, [pc, #76] ; (8076090 ) 8076042: 7b1b ldrb r3, [r3, #12] 8076044: b2db uxtb r3, r3 8076046: 4619 mov r1, r3 8076048: 4a12 ldr r2, [pc, #72] ; (8076094 ) 807604a: 460b mov r3, r1 807604c: 009b lsls r3, r3, #2 807604e: 440b add r3, r1 8076050: 00db lsls r3, r3, #3 8076052: 4413 add r3, r2 8076054: 3320 adds r3, #32 8076056: 681b ldr r3, [r3, #0] 8076058: 461a mov r2, r3 807605a: 219a movs r1, #154 ; 0x9a 807605c: 200a movs r0, #10 807605e: f7de f969 bl 8054334 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_MEAS_MODE[pardata.LANG][9]);//Udar 8076062: 4b0b ldr r3, [pc, #44] ; (8076090 ) 8076064: 7b1b ldrb r3, [r3, #12] 8076066: b2db uxtb r3, r3 8076068: 4619 mov r1, r3 807606a: 4a0a ldr r2, [pc, #40] ; (8076094 ) 807606c: 460b mov r3, r1 807606e: 009b lsls r3, r3, #2 8076070: 440b add r3, r1 8076072: 00db lsls r3, r3, #3 8076074: 4413 add r3, r2 8076076: 3324 adds r3, #36 ; 0x24 8076078: 681b ldr r3, [r3, #0] 807607a: 461a mov r2, r3 807607c: 21aa movs r1, #170 ; 0xaa 807607e: 200a movs r0, #10 8076080: f7de f958 bl 8054334 break; 8076084: f021 bab1 b.w 80975ea 8076088: 20020070 .word 0x20020070 807608c: ff0a0f1f .word 0xff0a0f1f 8076090: 20023e60 .word 0x20023e60 8076094: 200208dc .word 0x200208dc 8076098: ff808080 .word 0xff808080 case SETTINGS: //todo LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807609c: 4984 ldr r1, [pc, #528] ; (80762b0 ) 807609e: 4885 ldr r0, [pc, #532] ; (80762b4 ) 80760a0: f7dd fba0 bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 80760a4: 23c9 movs r3, #201 ; 0xc9 80760a6: f44f 729d mov.w r2, #314 ; 0x13a 80760aa: 2123 movs r1, #35 ; 0x23 80760ac: 2002 movs r0, #2 80760ae: f7dd fe9f bl 8053df0 k = (uint32_t) (pardata.IKK * 1000.0f); 80760b2: 4b81 ldr r3, [pc, #516] ; (80762b8 ) 80760b4: edd3 7a04 vldr s15, [r3, #16] 80760b8: ed9f 7a80 vldr s14, [pc, #512] ; 80762bc 80760bc: ee67 7a87 vmul.f32 s15, s15, s14 80760c0: eefc 7ae7 vcvt.u32.f32 s15, s15 80760c4: ee17 3a90 vmov r3, s15 80760c8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 ies = k / 100000; 80760cc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80760d0: 095b lsrs r3, r3, #5 80760d2: 4a7b ldr r2, [pc, #492] ; (80762c0 ) 80760d4: fba2 2303 umull r2, r3, r2, r3 80760d8: 09db lsrs r3, r3, #7 80760da: b2db uxtb r3, r3 80760dc: f887 33e5 strb.w r3, [r7, #997] ; 0x3e5 ied = k % 100000 / 10000; 80760e0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80760e4: 0953 lsrs r3, r2, #5 80760e6: 4976 ldr r1, [pc, #472] ; (80762c0 ) 80760e8: fba1 1303 umull r1, r3, r1, r3 80760ec: 09db lsrs r3, r3, #7 80760ee: 4975 ldr r1, [pc, #468] ; (80762c4 ) 80760f0: fb01 f303 mul.w r3, r1, r3 80760f4: 1ad3 subs r3, r2, r3 80760f6: 4a74 ldr r2, [pc, #464] ; (80762c8 ) 80760f8: fba2 2303 umull r2, r3, r2, r3 80760fc: 0b5b lsrs r3, r3, #13 80760fe: b2db uxtb r3, r3 8076100: f887 33e4 strb.w r3, [r7, #996] ; 0x3e4 iee = k % 100000 % 10000 / 1000; 8076104: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8076108: 0953 lsrs r3, r2, #5 807610a: 496d ldr r1, [pc, #436] ; (80762c0 ) 807610c: fba1 1303 umull r1, r3, r1, r3 8076110: 09db lsrs r3, r3, #7 8076112: 496c ldr r1, [pc, #432] ; (80762c4 ) 8076114: fb01 f303 mul.w r3, r1, r3 8076118: 1ad3 subs r3, r2, r3 807611a: 4a6b ldr r2, [pc, #428] ; (80762c8 ) 807611c: fba2 1203 umull r1, r2, r2, r3 8076120: 0b52 lsrs r2, r2, #13 8076122: f242 7110 movw r1, #10000 ; 0x2710 8076126: fb01 f202 mul.w r2, r1, r2 807612a: 1a9a subs r2, r3, r2 807612c: 4b67 ldr r3, [pc, #412] ; (80762cc ) 807612e: fba3 2302 umull r2, r3, r3, r2 8076132: 099b lsrs r3, r3, #6 8076134: b2db uxtb r3, r3 8076136: f887 33e3 strb.w r3, [r7, #995] ; 0x3e3 ikd = k % 100000 % 10000 % 1000 / 100; 807613a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807613e: 095a lsrs r2, r3, #5 8076140: 495f ldr r1, [pc, #380] ; (80762c0 ) 8076142: fba1 1202 umull r1, r2, r1, r2 8076146: 09d2 lsrs r2, r2, #7 8076148: 495e ldr r1, [pc, #376] ; (80762c4 ) 807614a: fb01 f202 mul.w r2, r1, r2 807614e: 1a9a subs r2, r3, r2 8076150: 4b5d ldr r3, [pc, #372] ; (80762c8 ) 8076152: fba3 1302 umull r1, r3, r3, r2 8076156: 0b5b lsrs r3, r3, #13 8076158: f242 7110 movw r1, #10000 ; 0x2710 807615c: fb01 f303 mul.w r3, r1, r3 8076160: 1ad3 subs r3, r2, r3 8076162: 4a5a ldr r2, [pc, #360] ; (80762cc ) 8076164: fba2 1203 umull r1, r2, r2, r3 8076168: 0992 lsrs r2, r2, #6 807616a: f44f 717a mov.w r1, #1000 ; 0x3e8 807616e: fb01 f202 mul.w r2, r1, r2 8076172: 1a9a subs r2, r3, r2 8076174: 4b56 ldr r3, [pc, #344] ; (80762d0 ) 8076176: fba3 2302 umull r2, r3, r3, r2 807617a: 095b lsrs r3, r3, #5 807617c: b2db uxtb r3, r3 807617e: f887 33e2 strb.w r3, [r7, #994] ; 0x3e2 iks = k % 100000 % 10000 % 1000 % 100 / 10; 8076182: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8076186: 0953 lsrs r3, r2, #5 8076188: 494d ldr r1, [pc, #308] ; (80762c0 ) 807618a: fba1 1303 umull r1, r3, r1, r3 807618e: 09db lsrs r3, r3, #7 8076190: 494c ldr r1, [pc, #304] ; (80762c4 ) 8076192: fb01 f303 mul.w r3, r1, r3 8076196: 1ad3 subs r3, r2, r3 8076198: 4a4b ldr r2, [pc, #300] ; (80762c8 ) 807619a: fba2 1203 umull r1, r2, r2, r3 807619e: 0b52 lsrs r2, r2, #13 80761a0: f242 7110 movw r1, #10000 ; 0x2710 80761a4: fb01 f202 mul.w r2, r1, r2 80761a8: 1a9a subs r2, r3, r2 80761aa: 4b48 ldr r3, [pc, #288] ; (80762cc ) 80761ac: fba3 1302 umull r1, r3, r3, r2 80761b0: 099b lsrs r3, r3, #6 80761b2: f44f 717a mov.w r1, #1000 ; 0x3e8 80761b6: fb01 f303 mul.w r3, r1, r3 80761ba: 1ad3 subs r3, r2, r3 80761bc: 4a44 ldr r2, [pc, #272] ; (80762d0 ) 80761be: fba2 1203 umull r1, r2, r2, r3 80761c2: 0952 lsrs r2, r2, #5 80761c4: 2164 movs r1, #100 ; 0x64 80761c6: fb01 f202 mul.w r2, r1, r2 80761ca: 1a9a subs r2, r3, r2 80761cc: 4b41 ldr r3, [pc, #260] ; (80762d4 ) 80761ce: fba3 2302 umull r2, r3, r3, r2 80761d2: 08db lsrs r3, r3, #3 80761d4: b2db uxtb r3, r3 80761d6: f887 33e1 strb.w r3, [r7, #993] ; 0x3e1 ikt = k % 100000 % 10000 % 1000 % 100 % 10; 80761da: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80761de: 0953 lsrs r3, r2, #5 80761e0: 4937 ldr r1, [pc, #220] ; (80762c0 ) 80761e2: fba1 1303 umull r1, r3, r1, r3 80761e6: 09db lsrs r3, r3, #7 80761e8: 4936 ldr r1, [pc, #216] ; (80762c4 ) 80761ea: fb01 f303 mul.w r3, r1, r3 80761ee: 1ad3 subs r3, r2, r3 80761f0: 4a35 ldr r2, [pc, #212] ; (80762c8 ) 80761f2: fba2 1203 umull r1, r2, r2, r3 80761f6: 0b52 lsrs r2, r2, #13 80761f8: f242 7110 movw r1, #10000 ; 0x2710 80761fc: fb01 f202 mul.w r2, r1, r2 8076200: 1a9a subs r2, r3, r2 8076202: 4b32 ldr r3, [pc, #200] ; (80762cc ) 8076204: fba3 1302 umull r1, r3, r3, r2 8076208: 099b lsrs r3, r3, #6 807620a: f44f 717a mov.w r1, #1000 ; 0x3e8 807620e: fb01 f303 mul.w r3, r1, r3 8076212: 1ad3 subs r3, r2, r3 8076214: 4a2e ldr r2, [pc, #184] ; (80762d0 ) 8076216: fba2 1203 umull r1, r2, r2, r3 807621a: 0952 lsrs r2, r2, #5 807621c: 2164 movs r1, #100 ; 0x64 807621e: fb01 f202 mul.w r2, r1, r2 8076222: 1a9a subs r2, r3, r2 8076224: 4b2b ldr r3, [pc, #172] ; (80762d4 ) 8076226: fba3 1302 umull r1, r3, r3, r2 807622a: 08d9 lsrs r1, r3, #3 807622c: 460b mov r3, r1 807622e: 009b lsls r3, r3, #2 8076230: 440b add r3, r1 8076232: 005b lsls r3, r3, #1 8076234: 1ad1 subs r1, r2, r3 8076236: b2cb uxtb r3, r1 8076238: f887 33e0 strb.w r3, [r7, #992] ; 0x3e0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807623c: 491c ldr r1, [pc, #112] ; (80762b0 ) 807623e: f04f 30ff mov.w r0, #4294967295 8076242: f7dd facf bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_SensType[pardata.LANG]); 8076246: 4b1c ldr r3, [pc, #112] ; (80762b8 ) 8076248: 7b1b ldrb r3, [r3, #12] 807624a: b2db uxtb r3, r3 807624c: 461a mov r2, r3 807624e: 4b22 ldr r3, [pc, #136] ; (80762d8 ) 8076250: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8076254: 461a mov r2, r3 8076256: 214a movs r1, #74 ; 0x4a 8076258: 200a movs r0, #10 807625a: f7de f86b bl 8054334 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); //173 #endif if(menupos == Type) 807625e: 4b1f ldr r3, [pc, #124] ; (80762dc ) 8076260: 781b ldrb r3, [r3, #0] 8076262: b2db uxtb r3, r3 8076264: 2b01 cmp r3, #1 8076266: f040 8139 bne.w 80764dc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807626a: 4911 ldr r1, [pc, #68] ; (80762b0 ) 807626c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076270: f7dd fab8 bl 80537e4 if(focused) 8076274: 4b1a ldr r3, [pc, #104] ; (80762e0 ) 8076276: 781b ldrb r3, [r3, #0] 8076278: b2db uxtb r3, r3 807627a: 2b00 cmp r3, #0 807627c: d036 beq.n 80762ec { if(blk) 807627e: 4b19 ldr r3, [pc, #100] ; (80762e4 ) 8076280: 681b ldr r3, [r3, #0] 8076282: 2b00 cmp r3, #0 8076284: d046 beq.n 8076314 LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8076286: 4b0c ldr r3, [pc, #48] ; (80762b8 ) 8076288: 7b1b ldrb r3, [r3, #12] 807628a: b2db uxtb r3, r3 807628c: 4619 mov r1, r3 807628e: 4b0a ldr r3, [pc, #40] ; (80762b8 ) 8076290: 799b ldrb r3, [r3, #6] 8076292: b2db uxtb r3, r3 8076294: 4618 mov r0, r3 8076296: 4a14 ldr r2, [pc, #80] ; (80762e8 ) 8076298: 460b mov r3, r1 807629a: 005b lsls r3, r3, #1 807629c: 440b add r3, r1 807629e: 4403 add r3, r0 80762a0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80762a4: 461a mov r2, r3 80762a6: 214a movs r1, #74 ; 0x4a 80762a8: 20ff movs r0, #255 ; 0xff 80762aa: f7de f85b bl 8054364 80762ae: e031 b.n 8076314 80762b0: ff0a0f1f .word 0xff0a0f1f 80762b4: ffd3d3d3 .word 0xffd3d3d3 80762b8: 20023e60 .word 0x20023e60 80762bc: 447a0000 .word 0x447a0000 80762c0: 0a7c5ac5 .word 0x0a7c5ac5 80762c4: 000186a0 .word 0x000186a0 80762c8: d1b71759 .word 0xd1b71759 80762cc: 10624dd3 .word 0x10624dd3 80762d0: 51eb851f .word 0x51eb851f 80762d4: cccccccd .word 0xcccccccd 80762d8: 200205cc .word 0x200205cc 80762dc: 20020070 .word 0x20020070 80762e0: 20020f84 .word 0x20020f84 80762e4: 2002165c .word 0x2002165c 80762e8: 2002014c .word 0x2002014c } else LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80762ec: 4b74 ldr r3, [pc, #464] ; (80764c0 ) 80762ee: 7b1b ldrb r3, [r3, #12] 80762f0: b2db uxtb r3, r3 80762f2: 4619 mov r1, r3 80762f4: 4b72 ldr r3, [pc, #456] ; (80764c0 ) 80762f6: 799b ldrb r3, [r3, #6] 80762f8: b2db uxtb r3, r3 80762fa: 4618 mov r0, r3 80762fc: 4a71 ldr r2, [pc, #452] ; (80764c4 ) 80762fe: 460b mov r3, r1 8076300: 005b lsls r3, r3, #1 8076302: 440b add r3, r1 8076304: 4403 add r3, r0 8076306: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807630a: 461a mov r2, r3 807630c: 214a movs r1, #74 ; 0x4a 807630e: 20ff movs r0, #255 ; 0xff 8076310: f7de f828 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076314: 496c ldr r1, [pc, #432] ; (80764c8 ) 8076316: f04f 30ff mov.w r0, #4294967295 807631a: f7dd fa63 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); 807631e: 4b68 ldr r3, [pc, #416] ; (80764c0 ) 8076320: 7b1b ldrb r3, [r3, #12] 8076322: b2db uxtb r3, r3 8076324: 4619 mov r1, r3 8076326: 4b66 ldr r3, [pc, #408] ; (80764c0 ) 8076328: 799b ldrb r3, [r3, #6] 807632a: b2db uxtb r3, r3 807632c: 4618 mov r0, r3 807632e: 4a67 ldr r2, [pc, #412] ; (80764cc ) 8076330: 460b mov r3, r1 8076332: 005b lsls r3, r3, #1 8076334: 440b add r3, r1 8076336: 4403 add r3, r0 8076338: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807633c: 461a mov r2, r3 807633e: 215a movs r1, #90 ; 0x5a 8076340: 200a movs r0, #10 8076342: f7dd fff7 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8076346: 4b5e ldr r3, [pc, #376] ; (80764c0 ) 8076348: 7b1b ldrb r3, [r3, #12] 807634a: b2db uxtb r3, r3 807634c: 4619 mov r1, r3 807634e: 4a60 ldr r2, [pc, #384] ; (80764d0 ) 8076350: 460b mov r3, r1 8076352: 009b lsls r3, r3, #2 8076354: 440b add r3, r1 8076356: 009b lsls r3, r3, #2 8076358: 4413 add r3, r2 807635a: 3308 adds r3, #8 807635c: 681b ldr r3, [r3, #0] 807635e: 461a mov r2, r3 8076360: 216a movs r1, #106 ; 0x6a 8076362: 200a movs r0, #10 8076364: f7dd ffe6 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8076368: 4b55 ldr r3, [pc, #340] ; (80764c0 ) 807636a: 7b1b ldrb r3, [r3, #12] 807636c: b2db uxtb r3, r3 807636e: 4619 mov r1, r3 8076370: 4a57 ldr r2, [pc, #348] ; (80764d0 ) 8076372: 460b mov r3, r1 8076374: 009b lsls r3, r3, #2 8076376: 440b add r3, r1 8076378: 009b lsls r3, r3, #2 807637a: 4413 add r3, r2 807637c: 3304 adds r3, #4 807637e: 681b ldr r3, [r3, #0] 8076380: 461a mov r2, r3 8076382: 217a movs r1, #122 ; 0x7a 8076384: 200a movs r0, #10 8076386: f7dd ffd5 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807638a: 4b4d ldr r3, [pc, #308] ; (80764c0 ) 807638c: 7b1b ldrb r3, [r3, #12] 807638e: b2db uxtb r3, r3 8076390: 4619 mov r1, r3 8076392: 4a4f ldr r2, [pc, #316] ; (80764d0 ) 8076394: 460b mov r3, r1 8076396: 009b lsls r3, r3, #2 8076398: 440b add r3, r1 807639a: 009b lsls r3, r3, #2 807639c: 4413 add r3, r2 807639e: 330c adds r3, #12 80763a0: 681b ldr r3, [r3, #0] 80763a2: 461a mov r2, r3 80763a4: 218a movs r1, #138 ; 0x8a 80763a6: 200a movs r0, #10 80763a8: f7dd ffc4 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80763ac: 4946 ldr r1, [pc, #280] ; (80764c8 ) 80763ae: 4849 ldr r0, [pc, #292] ; (80764d4 ) 80763b0: f7dd fa18 bl 80537e4 LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 80763b4: 4b42 ldr r3, [pc, #264] ; (80764c0 ) 80763b6: 7b1b ldrb r3, [r3, #12] 80763b8: b2db uxtb r3, r3 80763ba: 461a mov r2, r3 80763bc: 4b46 ldr r3, [pc, #280] ; (80764d8 ) 80763be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80763c2: 461a mov r2, r3 80763c4: 216a movs r1, #106 ; 0x6a 80763c6: 20ff movs r0, #255 ; 0xff 80763c8: f7dd ffcc bl 8054364 memset(str, 0, sizeof(str)); 80763cc: f507 733b add.w r3, r7, #748 ; 0x2ec 80763d0: 223c movs r2, #60 ; 0x3c 80763d2: 2100 movs r1, #0 80763d4: 4618 mov r0, r3 80763d6: f056 fe53 bl 80cd080 i = 0; 80763da: 2300 movs r3, #0 80763dc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80763e0: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80763e4: b2db uxtb r3, r3 80763e6: 2b00 cmp r3, #0 80763e8: d00c beq.n 8076404 str[i++] = ies + 48; 80763ea: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80763ee: 1c5a adds r2, r3, #1 80763f0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80763f4: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 80763f8: b2d2 uxtb r2, r2 80763fa: 3230 adds r2, #48 ; 0x30 80763fc: b2d1 uxtb r1, r2 80763fe: f507 723b add.w r2, r7, #748 ; 0x2ec 8076402: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8076404: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8076408: b2db uxtb r3, r3 807640a: 2b00 cmp r3, #0 807640c: d104 bne.n 8076418 807640e: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8076412: b2db uxtb r3, r3 8076414: 2b00 cmp r3, #0 8076416: d00c beq.n 8076432 str[i++] = ied + 48; 8076418: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807641c: 1c5a adds r2, r3, #1 807641e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076422: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8076426: b2d2 uxtb r2, r2 8076428: 3230 adds r2, #48 ; 0x30 807642a: b2d1 uxtb r1, r2 807642c: f507 723b add.w r2, r7, #748 ; 0x2ec 8076430: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8076432: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076436: 1c5a adds r2, r3, #1 8076438: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807643c: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8076440: b2d2 uxtb r2, r2 8076442: 3230 adds r2, #48 ; 0x30 8076444: b2d1 uxtb r1, r2 8076446: f507 723b add.w r2, r7, #748 ; 0x2ec 807644a: 54d1 strb r1, [r2, r3] str[i++] = '.'; 807644c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076450: 1c5a adds r2, r3, #1 8076452: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076456: f507 723b add.w r2, r7, #748 ; 0x2ec 807645a: 212e movs r1, #46 ; 0x2e 807645c: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 807645e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076462: 1c5a adds r2, r3, #1 8076464: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076468: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 807646c: b2d2 uxtb r2, r2 807646e: 3230 adds r2, #48 ; 0x30 8076470: b2d1 uxtb r1, r2 8076472: f507 723b add.w r2, r7, #748 ; 0x2ec 8076476: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8076478: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807647c: 1c5a adds r2, r3, #1 807647e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076482: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8076486: b2d2 uxtb r2, r2 8076488: 3230 adds r2, #48 ; 0x30 807648a: b2d1 uxtb r1, r2 807648c: f507 723b add.w r2, r7, #748 ; 0x2ec 8076490: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8076492: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076496: 1c5a adds r2, r3, #1 8076498: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807649c: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80764a0: b2d2 uxtb r2, r2 80764a2: 3230 adds r2, #48 ; 0x30 80764a4: b2d1 uxtb r1, r2 80764a6: f507 723b add.w r2, r7, #748 ; 0x2ec 80764aa: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 80764ac: f507 733b add.w r3, r7, #748 ; 0x2ec 80764b0: 461a mov r2, r3 80764b2: 215a movs r1, #90 ; 0x5a 80764b4: 20ff movs r0, #255 ; 0xff 80764b6: f7dd ff55 bl 8054364 80764ba: f002 b8da b.w 8078672 80764be: bf00 nop 80764c0: 20023e60 .word 0x20023e60 80764c4: 2002014c .word 0x2002014c 80764c8: ff0a0f1f .word 0xff0a0f1f 80764cc: 200205d4 .word 0x200205d4 80764d0: 2002067c .word 0x2002067c 80764d4: ffd8aa57 .word 0xffd8aa57 80764d8: 200205bc .word 0x200205bc } else if(menupos == Bluetooth) 80764dc: 4b79 ldr r3, [pc, #484] ; (80766c4 ) 80764de: 781b ldrb r3, [r3, #0] 80764e0: b2db uxtb r3, r3 80764e2: 2b06 cmp r3, #6 80764e4: f040 80fe bne.w 80766e4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80764e8: 4977 ldr r1, [pc, #476] ; (80766c8 ) 80764ea: f04f 30ff mov.w r0, #4294967295 80764ee: f7dd f979 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); 80764f2: 4b76 ldr r3, [pc, #472] ; (80766cc ) 80764f4: 7b1b ldrb r3, [r3, #12] 80764f6: b2db uxtb r3, r3 80764f8: 4619 mov r1, r3 80764fa: 4b74 ldr r3, [pc, #464] ; (80766cc ) 80764fc: 799b ldrb r3, [r3, #6] 80764fe: b2db uxtb r3, r3 8076500: 4618 mov r0, r3 8076502: 4a73 ldr r2, [pc, #460] ; (80766d0 ) 8076504: 460b mov r3, r1 8076506: 005b lsls r3, r3, #1 8076508: 440b add r3, r1 807650a: 4403 add r3, r0 807650c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076510: 461a mov r2, r3 8076512: 215a movs r1, #90 ; 0x5a 8076514: 200a movs r0, #10 8076516: f7dd ff0d bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 807651a: 4b6c ldr r3, [pc, #432] ; (80766cc ) 807651c: 7b1b ldrb r3, [r3, #12] 807651e: b2db uxtb r3, r3 8076520: 4619 mov r1, r3 8076522: 4a6c ldr r2, [pc, #432] ; (80766d4 ) 8076524: 460b mov r3, r1 8076526: 009b lsls r3, r3, #2 8076528: 440b add r3, r1 807652a: 009b lsls r3, r3, #2 807652c: 4413 add r3, r2 807652e: 3308 adds r3, #8 8076530: 681b ldr r3, [r3, #0] 8076532: 461a mov r2, r3 8076534: 216a movs r1, #106 ; 0x6a 8076536: 200a movs r0, #10 8076538: f7dd fefc bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 807653c: 4b63 ldr r3, [pc, #396] ; (80766cc ) 807653e: 7b1b ldrb r3, [r3, #12] 8076540: b2db uxtb r3, r3 8076542: 4619 mov r1, r3 8076544: 4a63 ldr r2, [pc, #396] ; (80766d4 ) 8076546: 460b mov r3, r1 8076548: 009b lsls r3, r3, #2 807654a: 440b add r3, r1 807654c: 009b lsls r3, r3, #2 807654e: 4413 add r3, r2 8076550: 3304 adds r3, #4 8076552: 681b ldr r3, [r3, #0] 8076554: 461a mov r2, r3 8076556: 217a movs r1, #122 ; 0x7a 8076558: 200a movs r0, #10 807655a: f7dd feeb bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807655e: 4b5b ldr r3, [pc, #364] ; (80766cc ) 8076560: 7b1b ldrb r3, [r3, #12] 8076562: b2db uxtb r3, r3 8076564: 4619 mov r1, r3 8076566: 4a5b ldr r2, [pc, #364] ; (80766d4 ) 8076568: 460b mov r3, r1 807656a: 009b lsls r3, r3, #2 807656c: 440b add r3, r1 807656e: 009b lsls r3, r3, #2 8076570: 4413 add r3, r2 8076572: 330c adds r3, #12 8076574: 681b ldr r3, [r3, #0] 8076576: 461a mov r2, r3 8076578: 218a movs r1, #138 ; 0x8a 807657a: 200a movs r0, #10 807657c: f7dd feda bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076580: 4951 ldr r1, [pc, #324] ; (80766c8 ) 8076582: 4855 ldr r0, [pc, #340] ; (80766d8 ) 8076584: f7dd f92e bl 80537e4 LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8076588: 4b50 ldr r3, [pc, #320] ; (80766cc ) 807658a: 7b1b ldrb r3, [r3, #12] 807658c: b2db uxtb r3, r3 807658e: 461a mov r2, r3 8076590: 4b52 ldr r3, [pc, #328] ; (80766dc ) 8076592: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8076596: 461a mov r2, r3 8076598: 216a movs r1, #106 ; 0x6a 807659a: 20ff movs r0, #255 ; 0xff 807659c: f7dd fee2 bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80765a0: 4b4a ldr r3, [pc, #296] ; (80766cc ) 80765a2: 7b1b ldrb r3, [r3, #12] 80765a4: b2db uxtb r3, r3 80765a6: 4619 mov r1, r3 80765a8: 4b48 ldr r3, [pc, #288] ; (80766cc ) 80765aa: 799b ldrb r3, [r3, #6] 80765ac: b2db uxtb r3, r3 80765ae: 4618 mov r0, r3 80765b0: 4a4b ldr r2, [pc, #300] ; (80766e0 ) 80765b2: 460b mov r3, r1 80765b4: 005b lsls r3, r3, #1 80765b6: 440b add r3, r1 80765b8: 4403 add r3, r0 80765ba: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80765be: 461a mov r2, r3 80765c0: 214a movs r1, #74 ; 0x4a 80765c2: 20ff movs r0, #255 ; 0xff 80765c4: f7dd fece bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80765c8: 493f ldr r1, [pc, #252] ; (80766c8 ) 80765ca: 4843 ldr r0, [pc, #268] ; (80766d8 ) 80765cc: f7dd f90a bl 80537e4 memset(str, 0, sizeof(str)); 80765d0: f507 733b add.w r3, r7, #748 ; 0x2ec 80765d4: 223c movs r2, #60 ; 0x3c 80765d6: 2100 movs r1, #0 80765d8: 4618 mov r0, r3 80765da: f056 fd51 bl 80cd080 i = 0; 80765de: 2300 movs r3, #0 80765e0: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80765e4: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80765e8: b2db uxtb r3, r3 80765ea: 2b00 cmp r3, #0 80765ec: d00c beq.n 8076608 str[i++] = ies + 48; 80765ee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80765f2: 1c5a adds r2, r3, #1 80765f4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80765f8: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 80765fc: b2d2 uxtb r2, r2 80765fe: 3230 adds r2, #48 ; 0x30 8076600: b2d1 uxtb r1, r2 8076602: f507 723b add.w r2, r7, #748 ; 0x2ec 8076606: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8076608: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807660c: b2db uxtb r3, r3 807660e: 2b00 cmp r3, #0 8076610: d104 bne.n 807661c 8076612: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8076616: b2db uxtb r3, r3 8076618: 2b00 cmp r3, #0 807661a: d00c beq.n 8076636 str[i++] = ied + 48; 807661c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076620: 1c5a adds r2, r3, #1 8076622: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076626: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 807662a: b2d2 uxtb r2, r2 807662c: 3230 adds r2, #48 ; 0x30 807662e: b2d1 uxtb r1, r2 8076630: f507 723b add.w r2, r7, #748 ; 0x2ec 8076634: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8076636: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807663a: 1c5a adds r2, r3, #1 807663c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076640: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8076644: b2d2 uxtb r2, r2 8076646: 3230 adds r2, #48 ; 0x30 8076648: b2d1 uxtb r1, r2 807664a: f507 723b add.w r2, r7, #748 ; 0x2ec 807664e: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8076650: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076654: 1c5a adds r2, r3, #1 8076656: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807665a: f507 723b add.w r2, r7, #748 ; 0x2ec 807665e: 212e movs r1, #46 ; 0x2e 8076660: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8076662: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076666: 1c5a adds r2, r3, #1 8076668: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807666c: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8076670: b2d2 uxtb r2, r2 8076672: 3230 adds r2, #48 ; 0x30 8076674: b2d1 uxtb r1, r2 8076676: f507 723b add.w r2, r7, #748 ; 0x2ec 807667a: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 807667c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076680: 1c5a adds r2, r3, #1 8076682: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076686: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 807668a: b2d2 uxtb r2, r2 807668c: 3230 adds r2, #48 ; 0x30 807668e: b2d1 uxtb r1, r2 8076690: f507 723b add.w r2, r7, #748 ; 0x2ec 8076694: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8076696: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807669a: 1c5a adds r2, r3, #1 807669c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80766a0: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80766a4: b2d2 uxtb r2, r2 80766a6: 3230 adds r2, #48 ; 0x30 80766a8: b2d1 uxtb r1, r2 80766aa: f507 723b add.w r2, r7, #748 ; 0x2ec 80766ae: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 80766b0: f507 733b add.w r3, r7, #748 ; 0x2ec 80766b4: 461a mov r2, r3 80766b6: 215a movs r1, #90 ; 0x5a 80766b8: 20ff movs r0, #255 ; 0xff 80766ba: f7dd fe53 bl 8054364 80766be: f001 bfd8 b.w 8078672 80766c2: bf00 nop 80766c4: 20020070 .word 0x20020070 80766c8: ff0a0f1f .word 0xff0a0f1f 80766cc: 20023e60 .word 0x20023e60 80766d0: 200205d4 .word 0x200205d4 80766d4: 2002067c .word 0x2002067c 80766d8: ffd8aa57 .word 0xffd8aa57 80766dc: 200205bc .word 0x200205bc 80766e0: 2002014c .word 0x2002014c } else if(menupos == Sens) 80766e4: 4b7b ldr r3, [pc, #492] ; (80768d4 ) 80766e6: 781b ldrb r3, [r3, #0] 80766e8: b2db uxtb r3, r3 80766ea: 2b02 cmp r3, #2 80766ec: f040 8102 bne.w 80768f4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80766f0: 4979 ldr r1, [pc, #484] ; (80768d8 ) 80766f2: f04f 30ff mov.w r0, #4294967295 80766f6: f7dd f875 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80766fa: 4b78 ldr r3, [pc, #480] ; (80768dc ) 80766fc: 7b1b ldrb r3, [r3, #12] 80766fe: b2db uxtb r3, r3 8076700: 4619 mov r1, r3 8076702: 4b76 ldr r3, [pc, #472] ; (80768dc ) 8076704: 799b ldrb r3, [r3, #6] 8076706: b2db uxtb r3, r3 8076708: 4618 mov r0, r3 807670a: 4a75 ldr r2, [pc, #468] ; (80768e0 ) 807670c: 460b mov r3, r1 807670e: 005b lsls r3, r3, #1 8076710: 440b add r3, r1 8076712: 4403 add r3, r0 8076714: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076718: 461a mov r2, r3 807671a: 215a movs r1, #90 ; 0x5a 807671c: 200a movs r0, #10 807671e: f7dd fe09 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8076722: 4b6e ldr r3, [pc, #440] ; (80768dc ) 8076724: 7b1b ldrb r3, [r3, #12] 8076726: b2db uxtb r3, r3 8076728: 4619 mov r1, r3 807672a: 4a6e ldr r2, [pc, #440] ; (80768e4 ) 807672c: 460b mov r3, r1 807672e: 009b lsls r3, r3, #2 8076730: 440b add r3, r1 8076732: 009b lsls r3, r3, #2 8076734: 4413 add r3, r2 8076736: 3304 adds r3, #4 8076738: 681b ldr r3, [r3, #0] 807673a: 461a mov r2, r3 807673c: 217a movs r1, #122 ; 0x7a 807673e: 200a movs r0, #10 8076740: f7dd fdf8 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8076744: 4b65 ldr r3, [pc, #404] ; (80768dc ) 8076746: 7b1b ldrb r3, [r3, #12] 8076748: b2db uxtb r3, r3 807674a: 4619 mov r1, r3 807674c: 4a65 ldr r2, [pc, #404] ; (80768e4 ) 807674e: 460b mov r3, r1 8076750: 009b lsls r3, r3, #2 8076752: 440b add r3, r1 8076754: 009b lsls r3, r3, #2 8076756: 4413 add r3, r2 8076758: 3308 adds r3, #8 807675a: 681b ldr r3, [r3, #0] 807675c: 461a mov r2, r3 807675e: 216a movs r1, #106 ; 0x6a 8076760: 200a movs r0, #10 8076762: f7dd fde7 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8076766: 4b5d ldr r3, [pc, #372] ; (80768dc ) 8076768: 7b1b ldrb r3, [r3, #12] 807676a: b2db uxtb r3, r3 807676c: 4619 mov r1, r3 807676e: 4a5d ldr r2, [pc, #372] ; (80768e4 ) 8076770: 460b mov r3, r1 8076772: 009b lsls r3, r3, #2 8076774: 440b add r3, r1 8076776: 009b lsls r3, r3, #2 8076778: 4413 add r3, r2 807677a: 330c adds r3, #12 807677c: 681b ldr r3, [r3, #0] 807677e: 461a mov r2, r3 8076780: 218a movs r1, #138 ; 0x8a 8076782: 200a movs r0, #10 8076784: f7dd fdd6 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076788: 4953 ldr r1, [pc, #332] ; (80768d8 ) 807678a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807678e: f7dd f829 bl 80537e4 memset(str, 0, sizeof(str)); 8076792: f507 733b add.w r3, r7, #748 ; 0x2ec 8076796: 223c movs r2, #60 ; 0x3c 8076798: 2100 movs r1, #0 807679a: 4618 mov r0, r3 807679c: f056 fc70 bl 80cd080 i = 0; 80767a0: 2300 movs r3, #0 80767a2: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80767a6: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80767aa: b2db uxtb r3, r3 80767ac: 2b00 cmp r3, #0 80767ae: d00c beq.n 80767ca str[i++] = ies + 48; 80767b0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80767b4: 1c5a adds r2, r3, #1 80767b6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80767ba: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 80767be: b2d2 uxtb r2, r2 80767c0: 3230 adds r2, #48 ; 0x30 80767c2: b2d1 uxtb r1, r2 80767c4: f507 723b add.w r2, r7, #748 ; 0x2ec 80767c8: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 80767ca: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80767ce: b2db uxtb r3, r3 80767d0: 2b00 cmp r3, #0 80767d2: d104 bne.n 80767de 80767d4: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80767d8: b2db uxtb r3, r3 80767da: 2b00 cmp r3, #0 80767dc: d00c beq.n 80767f8 str[i++] = ied + 48; 80767de: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80767e2: 1c5a adds r2, r3, #1 80767e4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80767e8: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 80767ec: b2d2 uxtb r2, r2 80767ee: 3230 adds r2, #48 ; 0x30 80767f0: b2d1 uxtb r1, r2 80767f2: f507 723b add.w r2, r7, #748 ; 0x2ec 80767f6: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 80767f8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80767fc: 1c5a adds r2, r3, #1 80767fe: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076802: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8076806: b2d2 uxtb r2, r2 8076808: 3230 adds r2, #48 ; 0x30 807680a: b2d1 uxtb r1, r2 807680c: f507 723b add.w r2, r7, #748 ; 0x2ec 8076810: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8076812: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076816: 1c5a adds r2, r3, #1 8076818: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807681c: f507 723b add.w r2, r7, #748 ; 0x2ec 8076820: 212e movs r1, #46 ; 0x2e 8076822: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8076824: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076828: 1c5a adds r2, r3, #1 807682a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807682e: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8076832: b2d2 uxtb r2, r2 8076834: 3230 adds r2, #48 ; 0x30 8076836: b2d1 uxtb r1, r2 8076838: f507 723b add.w r2, r7, #748 ; 0x2ec 807683c: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 807683e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076842: 1c5a adds r2, r3, #1 8076844: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076848: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 807684c: b2d2 uxtb r2, r2 807684e: 3230 adds r2, #48 ; 0x30 8076850: b2d1 uxtb r1, r2 8076852: f507 723b add.w r2, r7, #748 ; 0x2ec 8076856: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8076858: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807685c: 1c5a adds r2, r3, #1 807685e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076862: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8076866: b2d2 uxtb r2, r2 8076868: 3230 adds r2, #48 ; 0x30 807686a: b2d1 uxtb r1, r2 807686c: f507 723b add.w r2, r7, #748 ; 0x2ec 8076870: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8076872: f507 733b add.w r3, r7, #748 ; 0x2ec 8076876: 461a mov r2, r3 8076878: 215a movs r1, #90 ; 0x5a 807687a: 20ff movs r0, #255 ; 0xff 807687c: f7dd fd72 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076880: 4915 ldr r1, [pc, #84] ; (80768d8 ) 8076882: 4819 ldr r0, [pc, #100] ; (80768e8 ) 8076884: f7dc ffae bl 80537e4 LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8076888: 4b14 ldr r3, [pc, #80] ; (80768dc ) 807688a: 7b1b ldrb r3, [r3, #12] 807688c: b2db uxtb r3, r3 807688e: 461a mov r2, r3 8076890: 4b16 ldr r3, [pc, #88] ; (80768ec ) 8076892: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8076896: 461a mov r2, r3 8076898: 216a movs r1, #106 ; 0x6a 807689a: 20ff movs r0, #255 ; 0xff 807689c: f7dd fd62 bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80768a0: 4b0e ldr r3, [pc, #56] ; (80768dc ) 80768a2: 7b1b ldrb r3, [r3, #12] 80768a4: b2db uxtb r3, r3 80768a6: 4619 mov r1, r3 80768a8: 4b0c ldr r3, [pc, #48] ; (80768dc ) 80768aa: 799b ldrb r3, [r3, #6] 80768ac: b2db uxtb r3, r3 80768ae: 4618 mov r0, r3 80768b0: 4a0f ldr r2, [pc, #60] ; (80768f0 ) 80768b2: 460b mov r3, r1 80768b4: 005b lsls r3, r3, #1 80768b6: 440b add r3, r1 80768b8: 4403 add r3, r0 80768ba: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80768be: 461a mov r2, r3 80768c0: 214a movs r1, #74 ; 0x4a 80768c2: 20ff movs r0, #255 ; 0xff 80768c4: f7dd fd4e bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80768c8: 4903 ldr r1, [pc, #12] ; (80768d8 ) 80768ca: 4807 ldr r0, [pc, #28] ; (80768e8 ) 80768cc: f7dc ff8a bl 80537e4 80768d0: f001 becf b.w 8078672 80768d4: 20020070 .word 0x20020070 80768d8: ff0a0f1f .word 0xff0a0f1f 80768dc: 20023e60 .word 0x20023e60 80768e0: 200205d4 .word 0x200205d4 80768e4: 2002067c .word 0x2002067c 80768e8: ffd8aa57 .word 0xffd8aa57 80768ec: 200205bc .word 0x200205bc 80768f0: 2002014c .word 0x2002014c } else if(menupos == DateTime) 80768f4: 4bb2 ldr r3, [pc, #712] ; (8076bc0 ) 80768f6: 781b ldrb r3, [r3, #0] 80768f8: b2db uxtb r3, r3 80768fa: 2b04 cmp r3, #4 80768fc: f040 80f2 bne.w 8076ae4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076900: 49b0 ldr r1, [pc, #704] ; (8076bc4 ) 8076902: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076906: f7dc ff6d bl 80537e4 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 807690a: 4baf ldr r3, [pc, #700] ; (8076bc8 ) 807690c: 7b1b ldrb r3, [r3, #12] 807690e: b2db uxtb r3, r3 8076910: 4619 mov r1, r3 8076912: 4aae ldr r2, [pc, #696] ; (8076bcc ) 8076914: 460b mov r3, r1 8076916: 009b lsls r3, r3, #2 8076918: 440b add r3, r1 807691a: 009b lsls r3, r3, #2 807691c: 4413 add r3, r2 807691e: 3304 adds r3, #4 8076920: 681b ldr r3, [r3, #0] 8076922: 461a mov r2, r3 8076924: 217a movs r1, #122 ; 0x7a 8076926: 200a movs r0, #10 8076928: f7dd fd04 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807692c: 49a5 ldr r1, [pc, #660] ; (8076bc4 ) 807692e: f04f 30ff mov.w r0, #4294967295 8076932: f7dc ff57 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8076936: 4ba4 ldr r3, [pc, #656] ; (8076bc8 ) 8076938: 7b1b ldrb r3, [r3, #12] 807693a: b2db uxtb r3, r3 807693c: 4619 mov r1, r3 807693e: 4ba2 ldr r3, [pc, #648] ; (8076bc8 ) 8076940: 799b ldrb r3, [r3, #6] 8076942: b2db uxtb r3, r3 8076944: 4618 mov r0, r3 8076946: 4aa2 ldr r2, [pc, #648] ; (8076bd0 ) 8076948: 460b mov r3, r1 807694a: 005b lsls r3, r3, #1 807694c: 440b add r3, r1 807694e: 4403 add r3, r0 8076950: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076954: 461a mov r2, r3 8076956: 215a movs r1, #90 ; 0x5a 8076958: 200a movs r0, #10 807695a: f7dd fceb bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 807695e: 4b9a ldr r3, [pc, #616] ; (8076bc8 ) 8076960: 7b1b ldrb r3, [r3, #12] 8076962: b2db uxtb r3, r3 8076964: 4619 mov r1, r3 8076966: 4a99 ldr r2, [pc, #612] ; (8076bcc ) 8076968: 460b mov r3, r1 807696a: 009b lsls r3, r3, #2 807696c: 440b add r3, r1 807696e: 009b lsls r3, r3, #2 8076970: 4413 add r3, r2 8076972: 3308 adds r3, #8 8076974: 681b ldr r3, [r3, #0] 8076976: 461a mov r2, r3 8076978: 216a movs r1, #106 ; 0x6a 807697a: 200a movs r0, #10 807697c: f7dd fcda bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8076980: 4b91 ldr r3, [pc, #580] ; (8076bc8 ) 8076982: 7b1b ldrb r3, [r3, #12] 8076984: b2db uxtb r3, r3 8076986: 4619 mov r1, r3 8076988: 4a90 ldr r2, [pc, #576] ; (8076bcc ) 807698a: 460b mov r3, r1 807698c: 009b lsls r3, r3, #2 807698e: 440b add r3, r1 8076990: 009b lsls r3, r3, #2 8076992: 4413 add r3, r2 8076994: 330c adds r3, #12 8076996: 681b ldr r3, [r3, #0] 8076998: 461a mov r2, r3 807699a: 218a movs r1, #138 ; 0x8a 807699c: 200a movs r0, #10 807699e: f7dd fcc9 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80769a2: 4988 ldr r1, [pc, #544] ; (8076bc4 ) 80769a4: 488b ldr r0, [pc, #556] ; (8076bd4 ) 80769a6: f7dc ff1d bl 80537e4 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 80769aa: 4b87 ldr r3, [pc, #540] ; (8076bc8 ) 80769ac: 7b1b ldrb r3, [r3, #12] 80769ae: b2db uxtb r3, r3 80769b0: 461a mov r2, r3 80769b2: 4b89 ldr r3, [pc, #548] ; (8076bd8 ) 80769b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80769b8: 461a mov r2, r3 80769ba: 216a movs r1, #106 ; 0x6a 80769bc: 20ff movs r0, #255 ; 0xff 80769be: f7dd fcd1 bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80769c2: 4b81 ldr r3, [pc, #516] ; (8076bc8 ) 80769c4: 7b1b ldrb r3, [r3, #12] 80769c6: b2db uxtb r3, r3 80769c8: 4619 mov r1, r3 80769ca: 4b7f ldr r3, [pc, #508] ; (8076bc8 ) 80769cc: 799b ldrb r3, [r3, #6] 80769ce: b2db uxtb r3, r3 80769d0: 4618 mov r0, r3 80769d2: 4a82 ldr r2, [pc, #520] ; (8076bdc ) 80769d4: 460b mov r3, r1 80769d6: 005b lsls r3, r3, #1 80769d8: 440b add r3, r1 80769da: 4403 add r3, r0 80769dc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80769e0: 461a mov r2, r3 80769e2: 214a movs r1, #74 ; 0x4a 80769e4: 20ff movs r0, #255 ; 0xff 80769e6: f7dd fcbd bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80769ea: 4976 ldr r1, [pc, #472] ; (8076bc4 ) 80769ec: 4879 ldr r0, [pc, #484] ; (8076bd4 ) 80769ee: f7dc fef9 bl 80537e4 memset(str, 0, sizeof(str)); 80769f2: f507 733b add.w r3, r7, #748 ; 0x2ec 80769f6: 223c movs r2, #60 ; 0x3c 80769f8: 2100 movs r1, #0 80769fa: 4618 mov r0, r3 80769fc: f056 fb40 bl 80cd080 i = 0; 8076a00: 2300 movs r3, #0 8076a02: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8076a06: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8076a0a: b2db uxtb r3, r3 8076a0c: 2b00 cmp r3, #0 8076a0e: d00c beq.n 8076a2a str[i++] = ies + 48; 8076a10: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076a14: 1c5a adds r2, r3, #1 8076a16: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076a1a: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8076a1e: b2d2 uxtb r2, r2 8076a20: 3230 adds r2, #48 ; 0x30 8076a22: b2d1 uxtb r1, r2 8076a24: f507 723b add.w r2, r7, #748 ; 0x2ec 8076a28: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8076a2a: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8076a2e: b2db uxtb r3, r3 8076a30: 2b00 cmp r3, #0 8076a32: d104 bne.n 8076a3e 8076a34: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8076a38: b2db uxtb r3, r3 8076a3a: 2b00 cmp r3, #0 8076a3c: d00c beq.n 8076a58 str[i++] = ied + 48; 8076a3e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076a42: 1c5a adds r2, r3, #1 8076a44: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076a48: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8076a4c: b2d2 uxtb r2, r2 8076a4e: 3230 adds r2, #48 ; 0x30 8076a50: b2d1 uxtb r1, r2 8076a52: f507 723b add.w r2, r7, #748 ; 0x2ec 8076a56: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8076a58: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076a5c: 1c5a adds r2, r3, #1 8076a5e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076a62: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8076a66: b2d2 uxtb r2, r2 8076a68: 3230 adds r2, #48 ; 0x30 8076a6a: b2d1 uxtb r1, r2 8076a6c: f507 723b add.w r2, r7, #748 ; 0x2ec 8076a70: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8076a72: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076a76: 1c5a adds r2, r3, #1 8076a78: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076a7c: f507 723b add.w r2, r7, #748 ; 0x2ec 8076a80: 212e movs r1, #46 ; 0x2e 8076a82: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8076a84: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076a88: 1c5a adds r2, r3, #1 8076a8a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076a8e: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8076a92: b2d2 uxtb r2, r2 8076a94: 3230 adds r2, #48 ; 0x30 8076a96: b2d1 uxtb r1, r2 8076a98: f507 723b add.w r2, r7, #748 ; 0x2ec 8076a9c: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8076a9e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076aa2: 1c5a adds r2, r3, #1 8076aa4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076aa8: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8076aac: b2d2 uxtb r2, r2 8076aae: 3230 adds r2, #48 ; 0x30 8076ab0: b2d1 uxtb r1, r2 8076ab2: f507 723b add.w r2, r7, #748 ; 0x2ec 8076ab6: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8076ab8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076abc: 1c5a adds r2, r3, #1 8076abe: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076ac2: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8076ac6: b2d2 uxtb r2, r2 8076ac8: 3230 adds r2, #48 ; 0x30 8076aca: b2d1 uxtb r1, r2 8076acc: f507 723b add.w r2, r7, #748 ; 0x2ec 8076ad0: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8076ad2: f507 733b add.w r3, r7, #748 ; 0x2ec 8076ad6: 461a mov r2, r3 8076ad8: 215a movs r1, #90 ; 0x5a 8076ada: 20ff movs r0, #255 ; 0xff 8076adc: f7dd fc42 bl 8054364 8076ae0: f001 bdc7 b.w 8078672 } else if(menupos == Lang) 8076ae4: 4b36 ldr r3, [pc, #216] ; (8076bc0 ) 8076ae6: 781b ldrb r3, [r3, #0] 8076ae8: b2db uxtb r3, r3 8076aea: 2b03 cmp r3, #3 8076aec: f040 8119 bne.w 8076d22 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076af0: 4934 ldr r1, [pc, #208] ; (8076bc4 ) 8076af2: f04f 30ff mov.w r0, #4294967295 8076af6: f7dc fe75 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8076afa: 4b33 ldr r3, [pc, #204] ; (8076bc8 ) 8076afc: 7b1b ldrb r3, [r3, #12] 8076afe: b2db uxtb r3, r3 8076b00: 4619 mov r1, r3 8076b02: 4b31 ldr r3, [pc, #196] ; (8076bc8 ) 8076b04: 799b ldrb r3, [r3, #6] 8076b06: b2db uxtb r3, r3 8076b08: 4618 mov r0, r3 8076b0a: 4a31 ldr r2, [pc, #196] ; (8076bd0 ) 8076b0c: 460b mov r3, r1 8076b0e: 005b lsls r3, r3, #1 8076b10: 440b add r3, r1 8076b12: 4403 add r3, r0 8076b14: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076b18: 461a mov r2, r3 8076b1a: 215a movs r1, #90 ; 0x5a 8076b1c: 200a movs r0, #10 8076b1e: f7dd fc09 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8076b22: 4b29 ldr r3, [pc, #164] ; (8076bc8 ) 8076b24: 7b1b ldrb r3, [r3, #12] 8076b26: b2db uxtb r3, r3 8076b28: 4619 mov r1, r3 8076b2a: 4a28 ldr r2, [pc, #160] ; (8076bcc ) 8076b2c: 460b mov r3, r1 8076b2e: 009b lsls r3, r3, #2 8076b30: 440b add r3, r1 8076b32: 009b lsls r3, r3, #2 8076b34: 4413 add r3, r2 8076b36: 3304 adds r3, #4 8076b38: 681b ldr r3, [r3, #0] 8076b3a: 461a mov r2, r3 8076b3c: 217a movs r1, #122 ; 0x7a 8076b3e: 200a movs r0, #10 8076b40: f7dd fbf8 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8076b44: 4b20 ldr r3, [pc, #128] ; (8076bc8 ) 8076b46: 7b1b ldrb r3, [r3, #12] 8076b48: b2db uxtb r3, r3 8076b4a: 4619 mov r1, r3 8076b4c: 4a1f ldr r2, [pc, #124] ; (8076bcc ) 8076b4e: 460b mov r3, r1 8076b50: 009b lsls r3, r3, #2 8076b52: 440b add r3, r1 8076b54: 009b lsls r3, r3, #2 8076b56: 4413 add r3, r2 8076b58: 3308 adds r3, #8 8076b5a: 681b ldr r3, [r3, #0] 8076b5c: 461a mov r2, r3 8076b5e: 216a movs r1, #106 ; 0x6a 8076b60: 200a movs r0, #10 8076b62: f7dd fbe7 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8076b66: 4b18 ldr r3, [pc, #96] ; (8076bc8 ) 8076b68: 7b1b ldrb r3, [r3, #12] 8076b6a: b2db uxtb r3, r3 8076b6c: 4619 mov r1, r3 8076b6e: 4a17 ldr r2, [pc, #92] ; (8076bcc ) 8076b70: 460b mov r3, r1 8076b72: 009b lsls r3, r3, #2 8076b74: 440b add r3, r1 8076b76: 009b lsls r3, r3, #2 8076b78: 4413 add r3, r2 8076b7a: 330c adds r3, #12 8076b7c: 681b ldr r3, [r3, #0] 8076b7e: 461a mov r2, r3 8076b80: 218a movs r1, #138 ; 0x8a 8076b82: 200a movs r0, #10 8076b84: f7dd fbd6 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076b88: 490e ldr r1, [pc, #56] ; (8076bc4 ) 8076b8a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076b8e: f7dc fe29 bl 80537e4 if(focused) 8076b92: 4b13 ldr r3, [pc, #76] ; (8076be0 ) 8076b94: 781b ldrb r3, [r3, #0] 8076b96: b2db uxtb r3, r3 8076b98: 2b00 cmp r3, #0 8076b9a: d025 beq.n 8076be8 { if(blk) 8076b9c: 4b11 ldr r3, [pc, #68] ; (8076be4 ) 8076b9e: 681b ldr r3, [r3, #0] 8076ba0: 2b00 cmp r3, #0 8076ba2: d02d beq.n 8076c00 LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8076ba4: 4b08 ldr r3, [pc, #32] ; (8076bc8 ) 8076ba6: 7b1b ldrb r3, [r3, #12] 8076ba8: b2db uxtb r3, r3 8076baa: 461a mov r2, r3 8076bac: 4b0a ldr r3, [pc, #40] ; (8076bd8 ) 8076bae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8076bb2: 461a mov r2, r3 8076bb4: 216a movs r1, #106 ; 0x6a 8076bb6: 20ff movs r0, #255 ; 0xff 8076bb8: f7dd fbd4 bl 8054364 8076bbc: e020 b.n 8076c00 8076bbe: bf00 nop 8076bc0: 20020070 .word 0x20020070 8076bc4: ff0a0f1f .word 0xff0a0f1f 8076bc8: 20023e60 .word 0x20023e60 8076bcc: 2002067c .word 0x2002067c 8076bd0: 200205d4 .word 0x200205d4 8076bd4: ffd8aa57 .word 0xffd8aa57 8076bd8: 200205bc .word 0x200205bc 8076bdc: 2002014c .word 0x2002014c 8076be0: 20020f84 .word 0x20020f84 8076be4: 2002165c .word 0x2002165c } else LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8076be8: 4bca ldr r3, [pc, #808] ; (8076f14 ) 8076bea: 7b1b ldrb r3, [r3, #12] 8076bec: b2db uxtb r3, r3 8076bee: 461a mov r2, r3 8076bf0: 4bc9 ldr r3, [pc, #804] ; (8076f18 ) 8076bf2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8076bf6: 461a mov r2, r3 8076bf8: 216a movs r1, #106 ; 0x6a 8076bfa: 20ff movs r0, #255 ; 0xff 8076bfc: f7dd fbb2 bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8076c00: 4bc4 ldr r3, [pc, #784] ; (8076f14 ) 8076c02: 7b1b ldrb r3, [r3, #12] 8076c04: b2db uxtb r3, r3 8076c06: 4619 mov r1, r3 8076c08: 4bc2 ldr r3, [pc, #776] ; (8076f14 ) 8076c0a: 799b ldrb r3, [r3, #6] 8076c0c: b2db uxtb r3, r3 8076c0e: 4618 mov r0, r3 8076c10: 4ac2 ldr r2, [pc, #776] ; (8076f1c ) 8076c12: 460b mov r3, r1 8076c14: 005b lsls r3, r3, #1 8076c16: 440b add r3, r1 8076c18: 4403 add r3, r0 8076c1a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076c1e: 461a mov r2, r3 8076c20: 214a movs r1, #74 ; 0x4a 8076c22: 20ff movs r0, #255 ; 0xff 8076c24: f7dd fb9e bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076c28: 49bd ldr r1, [pc, #756] ; (8076f20 ) 8076c2a: 48be ldr r0, [pc, #760] ; (8076f24 ) 8076c2c: f7dc fdda bl 80537e4 memset(str, 0, sizeof(str)); 8076c30: f507 733b add.w r3, r7, #748 ; 0x2ec 8076c34: 223c movs r2, #60 ; 0x3c 8076c36: 2100 movs r1, #0 8076c38: 4618 mov r0, r3 8076c3a: f056 fa21 bl 80cd080 i = 0; 8076c3e: 2300 movs r3, #0 8076c40: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8076c44: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8076c48: b2db uxtb r3, r3 8076c4a: 2b00 cmp r3, #0 8076c4c: d00c beq.n 8076c68 str[i++] = ies + 48; 8076c4e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076c52: 1c5a adds r2, r3, #1 8076c54: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076c58: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8076c5c: b2d2 uxtb r2, r2 8076c5e: 3230 adds r2, #48 ; 0x30 8076c60: b2d1 uxtb r1, r2 8076c62: f507 723b add.w r2, r7, #748 ; 0x2ec 8076c66: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8076c68: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8076c6c: b2db uxtb r3, r3 8076c6e: 2b00 cmp r3, #0 8076c70: d104 bne.n 8076c7c 8076c72: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8076c76: b2db uxtb r3, r3 8076c78: 2b00 cmp r3, #0 8076c7a: d00c beq.n 8076c96 str[i++] = ied + 48; 8076c7c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076c80: 1c5a adds r2, r3, #1 8076c82: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076c86: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8076c8a: b2d2 uxtb r2, r2 8076c8c: 3230 adds r2, #48 ; 0x30 8076c8e: b2d1 uxtb r1, r2 8076c90: f507 723b add.w r2, r7, #748 ; 0x2ec 8076c94: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8076c96: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076c9a: 1c5a adds r2, r3, #1 8076c9c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076ca0: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8076ca4: b2d2 uxtb r2, r2 8076ca6: 3230 adds r2, #48 ; 0x30 8076ca8: b2d1 uxtb r1, r2 8076caa: f507 723b add.w r2, r7, #748 ; 0x2ec 8076cae: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8076cb0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076cb4: 1c5a adds r2, r3, #1 8076cb6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076cba: f507 723b add.w r2, r7, #748 ; 0x2ec 8076cbe: 212e movs r1, #46 ; 0x2e 8076cc0: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8076cc2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076cc6: 1c5a adds r2, r3, #1 8076cc8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076ccc: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8076cd0: b2d2 uxtb r2, r2 8076cd2: 3230 adds r2, #48 ; 0x30 8076cd4: b2d1 uxtb r1, r2 8076cd6: f507 723b add.w r2, r7, #748 ; 0x2ec 8076cda: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8076cdc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076ce0: 1c5a adds r2, r3, #1 8076ce2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076ce6: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8076cea: b2d2 uxtb r2, r2 8076cec: 3230 adds r2, #48 ; 0x30 8076cee: b2d1 uxtb r1, r2 8076cf0: f507 723b add.w r2, r7, #748 ; 0x2ec 8076cf4: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8076cf6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076cfa: 1c5a adds r2, r3, #1 8076cfc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076d00: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8076d04: b2d2 uxtb r2, r2 8076d06: 3230 adds r2, #48 ; 0x30 8076d08: b2d1 uxtb r1, r2 8076d0a: f507 723b add.w r2, r7, #748 ; 0x2ec 8076d0e: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8076d10: f507 733b add.w r3, r7, #748 ; 0x2ec 8076d14: 461a mov r2, r3 8076d16: 215a movs r1, #90 ; 0x5a 8076d18: 20ff movs r0, #255 ; 0xff 8076d1a: f7dd fb23 bl 8054364 8076d1e: f001 bca8 b.w 8078672 } else if(menupos == FormatDisk) 8076d22: 4b81 ldr r3, [pc, #516] ; (8076f28 ) 8076d24: 781b ldrb r3, [r3, #0] 8076d26: b2db uxtb r3, r3 8076d28: 2b05 cmp r3, #5 8076d2a: f040 8103 bne.w 8076f34 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8076d2e: 497c ldr r1, [pc, #496] ; (8076f20 ) 8076d30: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8076d34: f7dc fd56 bl 80537e4 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8076d38: 4b76 ldr r3, [pc, #472] ; (8076f14 ) 8076d3a: 7b1b ldrb r3, [r3, #12] 8076d3c: b2db uxtb r3, r3 8076d3e: 4619 mov r1, r3 8076d40: 4a7a ldr r2, [pc, #488] ; (8076f2c ) 8076d42: 460b mov r3, r1 8076d44: 009b lsls r3, r3, #2 8076d46: 440b add r3, r1 8076d48: 009b lsls r3, r3, #2 8076d4a: 4413 add r3, r2 8076d4c: 330c adds r3, #12 8076d4e: 681b ldr r3, [r3, #0] 8076d50: 461a mov r2, r3 8076d52: 218a movs r1, #138 ; 0x8a 8076d54: 200a movs r0, #10 8076d56: f7dd faed bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076d5a: 4971 ldr r1, [pc, #452] ; (8076f20 ) 8076d5c: f04f 30ff mov.w r0, #4294967295 8076d60: f7dc fd40 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8076d64: 4b6b ldr r3, [pc, #428] ; (8076f14 ) 8076d66: 7b1b ldrb r3, [r3, #12] 8076d68: b2db uxtb r3, r3 8076d6a: 4619 mov r1, r3 8076d6c: 4b69 ldr r3, [pc, #420] ; (8076f14 ) 8076d6e: 799b ldrb r3, [r3, #6] 8076d70: b2db uxtb r3, r3 8076d72: 4618 mov r0, r3 8076d74: 4a6e ldr r2, [pc, #440] ; (8076f30 ) 8076d76: 460b mov r3, r1 8076d78: 005b lsls r3, r3, #1 8076d7a: 440b add r3, r1 8076d7c: 4403 add r3, r0 8076d7e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076d82: 461a mov r2, r3 8076d84: 215a movs r1, #90 ; 0x5a 8076d86: 200a movs r0, #10 8076d88: f7dd fad4 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8076d8c: 4b61 ldr r3, [pc, #388] ; (8076f14 ) 8076d8e: 7b1b ldrb r3, [r3, #12] 8076d90: b2db uxtb r3, r3 8076d92: 4619 mov r1, r3 8076d94: 4a65 ldr r2, [pc, #404] ; (8076f2c ) 8076d96: 460b mov r3, r1 8076d98: 009b lsls r3, r3, #2 8076d9a: 440b add r3, r1 8076d9c: 009b lsls r3, r3, #2 8076d9e: 4413 add r3, r2 8076da0: 3304 adds r3, #4 8076da2: 681b ldr r3, [r3, #0] 8076da4: 461a mov r2, r3 8076da6: 217a movs r1, #122 ; 0x7a 8076da8: 200a movs r0, #10 8076daa: f7dd fac3 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8076dae: 4b59 ldr r3, [pc, #356] ; (8076f14 ) 8076db0: 7b1b ldrb r3, [r3, #12] 8076db2: b2db uxtb r3, r3 8076db4: 4619 mov r1, r3 8076db6: 4a5d ldr r2, [pc, #372] ; (8076f2c ) 8076db8: 460b mov r3, r1 8076dba: 009b lsls r3, r3, #2 8076dbc: 440b add r3, r1 8076dbe: 009b lsls r3, r3, #2 8076dc0: 4413 add r3, r2 8076dc2: 3308 adds r3, #8 8076dc4: 681b ldr r3, [r3, #0] 8076dc6: 461a mov r2, r3 8076dc8: 216a movs r1, #106 ; 0x6a 8076dca: 200a movs r0, #10 8076dcc: f7dd fab2 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076dd0: 4953 ldr r1, [pc, #332] ; (8076f20 ) 8076dd2: 4854 ldr r0, [pc, #336] ; (8076f24 ) 8076dd4: f7dc fd06 bl 80537e4 LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8076dd8: 4b4e ldr r3, [pc, #312] ; (8076f14 ) 8076dda: 7b1b ldrb r3, [r3, #12] 8076ddc: b2db uxtb r3, r3 8076dde: 461a mov r2, r3 8076de0: 4b4d ldr r3, [pc, #308] ; (8076f18 ) 8076de2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8076de6: 461a mov r2, r3 8076de8: 216a movs r1, #106 ; 0x6a 8076dea: 20ff movs r0, #255 ; 0xff 8076dec: f7dd faba bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8076df0: 4b48 ldr r3, [pc, #288] ; (8076f14 ) 8076df2: 7b1b ldrb r3, [r3, #12] 8076df4: b2db uxtb r3, r3 8076df6: 4619 mov r1, r3 8076df8: 4b46 ldr r3, [pc, #280] ; (8076f14 ) 8076dfa: 799b ldrb r3, [r3, #6] 8076dfc: b2db uxtb r3, r3 8076dfe: 4618 mov r0, r3 8076e00: 4a46 ldr r2, [pc, #280] ; (8076f1c ) 8076e02: 460b mov r3, r1 8076e04: 005b lsls r3, r3, #1 8076e06: 440b add r3, r1 8076e08: 4403 add r3, r0 8076e0a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076e0e: 461a mov r2, r3 8076e10: 214a movs r1, #74 ; 0x4a 8076e12: 20ff movs r0, #255 ; 0xff 8076e14: f7dd faa6 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076e18: 4941 ldr r1, [pc, #260] ; (8076f20 ) 8076e1a: 4842 ldr r0, [pc, #264] ; (8076f24 ) 8076e1c: f7dc fce2 bl 80537e4 memset(str, 0, sizeof(str)); 8076e20: f507 733b add.w r3, r7, #748 ; 0x2ec 8076e24: 223c movs r2, #60 ; 0x3c 8076e26: 2100 movs r1, #0 8076e28: 4618 mov r0, r3 8076e2a: f056 f929 bl 80cd080 i = 0; 8076e2e: 2300 movs r3, #0 8076e30: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8076e34: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8076e38: b2db uxtb r3, r3 8076e3a: 2b00 cmp r3, #0 8076e3c: d00c beq.n 8076e58 str[i++] = ies + 48; 8076e3e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076e42: 1c5a adds r2, r3, #1 8076e44: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076e48: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8076e4c: b2d2 uxtb r2, r2 8076e4e: 3230 adds r2, #48 ; 0x30 8076e50: b2d1 uxtb r1, r2 8076e52: f507 723b add.w r2, r7, #748 ; 0x2ec 8076e56: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8076e58: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8076e5c: b2db uxtb r3, r3 8076e5e: 2b00 cmp r3, #0 8076e60: d104 bne.n 8076e6c 8076e62: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8076e66: b2db uxtb r3, r3 8076e68: 2b00 cmp r3, #0 8076e6a: d00c beq.n 8076e86 str[i++] = ied + 48; 8076e6c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076e70: 1c5a adds r2, r3, #1 8076e72: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076e76: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8076e7a: b2d2 uxtb r2, r2 8076e7c: 3230 adds r2, #48 ; 0x30 8076e7e: b2d1 uxtb r1, r2 8076e80: f507 723b add.w r2, r7, #748 ; 0x2ec 8076e84: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8076e86: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076e8a: 1c5a adds r2, r3, #1 8076e8c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076e90: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8076e94: b2d2 uxtb r2, r2 8076e96: 3230 adds r2, #48 ; 0x30 8076e98: b2d1 uxtb r1, r2 8076e9a: f507 723b add.w r2, r7, #748 ; 0x2ec 8076e9e: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8076ea0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076ea4: 1c5a adds r2, r3, #1 8076ea6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076eaa: f507 723b add.w r2, r7, #748 ; 0x2ec 8076eae: 212e movs r1, #46 ; 0x2e 8076eb0: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 8076eb2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076eb6: 1c5a adds r2, r3, #1 8076eb8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076ebc: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 8076ec0: b2d2 uxtb r2, r2 8076ec2: 3230 adds r2, #48 ; 0x30 8076ec4: b2d1 uxtb r1, r2 8076ec6: f507 723b add.w r2, r7, #748 ; 0x2ec 8076eca: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8076ecc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076ed0: 1c5a adds r2, r3, #1 8076ed2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076ed6: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8076eda: b2d2 uxtb r2, r2 8076edc: 3230 adds r2, #48 ; 0x30 8076ede: b2d1 uxtb r1, r2 8076ee0: f507 723b add.w r2, r7, #748 ; 0x2ec 8076ee4: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8076ee6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8076eea: 1c5a adds r2, r3, #1 8076eec: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8076ef0: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8076ef4: b2d2 uxtb r2, r2 8076ef6: 3230 adds r2, #48 ; 0x30 8076ef8: b2d1 uxtb r1, r2 8076efa: f507 723b add.w r2, r7, #748 ; 0x2ec 8076efe: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8076f00: f507 733b add.w r3, r7, #748 ; 0x2ec 8076f04: 461a mov r2, r3 8076f06: 215a movs r1, #90 ; 0x5a 8076f08: 20ff movs r0, #255 ; 0xff 8076f0a: f7dd fa2b bl 8054364 8076f0e: f001 bbb0 b.w 8078672 8076f12: bf00 nop 8076f14: 20023e60 .word 0x20023e60 8076f18: 200205bc .word 0x200205bc 8076f1c: 2002014c .word 0x2002014c 8076f20: ff0a0f1f .word 0xff0a0f1f 8076f24: ffd8aa57 .word 0xffd8aa57 8076f28: 20020070 .word 0x20020070 8076f2c: 2002067c .word 0x2002067c 8076f30: 200205d4 .word 0x200205d4 } else if(menupos == FormatDiskNo) 8076f34: 4bab ldr r3, [pc, #684] ; (80771e4 ) 8076f36: 781b ldrb r3, [r3, #0] 8076f38: b2db uxtb r3, r3 8076f3a: 2b07 cmp r3, #7 8076f3c: f040 8176 bne.w 807722c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8076f40: 49a9 ldr r1, [pc, #676] ; (80771e8 ) 8076f42: f04f 30ff mov.w r0, #4294967295 8076f46: f7dc fc4d bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8076f4a: 4ba8 ldr r3, [pc, #672] ; (80771ec ) 8076f4c: 7b1b ldrb r3, [r3, #12] 8076f4e: b2db uxtb r3, r3 8076f50: 4619 mov r1, r3 8076f52: 4ba6 ldr r3, [pc, #664] ; (80771ec ) 8076f54: 799b ldrb r3, [r3, #6] 8076f56: b2db uxtb r3, r3 8076f58: 4618 mov r0, r3 8076f5a: 4aa5 ldr r2, [pc, #660] ; (80771f0 ) 8076f5c: 460b mov r3, r1 8076f5e: 005b lsls r3, r3, #1 8076f60: 440b add r3, r1 8076f62: 4403 add r3, r0 8076f64: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8076f68: 461a mov r2, r3 8076f6a: 215a movs r1, #90 ; 0x5a 8076f6c: 200a movs r0, #10 8076f6e: f7dd f9e1 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8076f72: 4b9e ldr r3, [pc, #632] ; (80771ec ) 8076f74: 7b1b ldrb r3, [r3, #12] 8076f76: b2db uxtb r3, r3 8076f78: 4619 mov r1, r3 8076f7a: 4a9e ldr r2, [pc, #632] ; (80771f4 ) 8076f7c: 460b mov r3, r1 8076f7e: 009b lsls r3, r3, #2 8076f80: 440b add r3, r1 8076f82: 009b lsls r3, r3, #2 8076f84: 4413 add r3, r2 8076f86: 3304 adds r3, #4 8076f88: 681b ldr r3, [r3, #0] 8076f8a: 461a mov r2, r3 8076f8c: 217a movs r1, #122 ; 0x7a 8076f8e: 200a movs r0, #10 8076f90: f7dd f9d0 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8076f94: 4b95 ldr r3, [pc, #596] ; (80771ec ) 8076f96: 7b1b ldrb r3, [r3, #12] 8076f98: b2db uxtb r3, r3 8076f9a: 4619 mov r1, r3 8076f9c: 4a95 ldr r2, [pc, #596] ; (80771f4 ) 8076f9e: 460b mov r3, r1 8076fa0: 009b lsls r3, r3, #2 8076fa2: 440b add r3, r1 8076fa4: 009b lsls r3, r3, #2 8076fa6: 4413 add r3, r2 8076fa8: 3308 adds r3, #8 8076faa: 681b ldr r3, [r3, #0] 8076fac: 461a mov r2, r3 8076fae: 216a movs r1, #106 ; 0x6a 8076fb0: 200a movs r0, #10 8076fb2: f7dd f9bf bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8076fb6: 4b8d ldr r3, [pc, #564] ; (80771ec ) 8076fb8: 7b1b ldrb r3, [r3, #12] 8076fba: b2db uxtb r3, r3 8076fbc: 4619 mov r1, r3 8076fbe: 4a8d ldr r2, [pc, #564] ; (80771f4 ) 8076fc0: 460b mov r3, r1 8076fc2: 009b lsls r3, r3, #2 8076fc4: 440b add r3, r1 8076fc6: 009b lsls r3, r3, #2 8076fc8: 4413 add r3, r2 8076fca: 330c adds r3, #12 8076fcc: 681b ldr r3, [r3, #0] 8076fce: 461a mov r2, r3 8076fd0: 218a movs r1, #138 ; 0x8a 8076fd2: 200a movs r0, #10 8076fd4: f7dd f9ae bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8076fd8: 4983 ldr r1, [pc, #524] ; (80771e8 ) 8076fda: 4887 ldr r0, [pc, #540] ; (80771f8 ) 8076fdc: f7dc fc02 bl 80537e4 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8076fe0: 4b82 ldr r3, [pc, #520] ; (80771ec ) 8076fe2: 7b1b ldrb r3, [r3, #12] 8076fe4: b2db uxtb r3, r3 8076fe6: 461a mov r2, r3 8076fe8: 4b84 ldr r3, [pc, #528] ; (80771fc ) 8076fea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8076fee: 461a mov r2, r3 8076ff0: 216a movs r1, #106 ; 0x6a 8076ff2: 20ff movs r0, #255 ; 0xff 8076ff4: f7dd f9b6 bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8076ff8: 4b7c ldr r3, [pc, #496] ; (80771ec ) 8076ffa: 7b1b ldrb r3, [r3, #12] 8076ffc: b2db uxtb r3, r3 8076ffe: 4619 mov r1, r3 8077000: 4b7a ldr r3, [pc, #488] ; (80771ec ) 8077002: 799b ldrb r3, [r3, #6] 8077004: b2db uxtb r3, r3 8077006: 4618 mov r0, r3 8077008: 4a7d ldr r2, [pc, #500] ; (8077200 ) 807700a: 460b mov r3, r1 807700c: 005b lsls r3, r3, #1 807700e: 440b add r3, r1 8077010: 4403 add r3, r0 8077012: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077016: 461a mov r2, r3 8077018: 214a movs r1, #74 ; 0x4a 807701a: 20ff movs r0, #255 ; 0xff 807701c: f7dd f9a2 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077020: 4971 ldr r1, [pc, #452] ; (80771e8 ) 8077022: 4875 ldr r0, [pc, #468] ; (80771f8 ) 8077024: f7dc fbde bl 80537e4 memset(str, 0, sizeof(str)); 8077028: f507 733b add.w r3, r7, #748 ; 0x2ec 807702c: 223c movs r2, #60 ; 0x3c 807702e: 2100 movs r1, #0 8077030: 4618 mov r0, r3 8077032: f056 f825 bl 80cd080 i = 0; 8077036: 2300 movs r3, #0 8077038: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 807703c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077040: b2db uxtb r3, r3 8077042: 2b00 cmp r3, #0 8077044: d00c beq.n 8077060 str[i++] = ies + 48; 8077046: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807704a: 1c5a adds r2, r3, #1 807704c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077050: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8077054: b2d2 uxtb r2, r2 8077056: 3230 adds r2, #48 ; 0x30 8077058: b2d1 uxtb r1, r2 807705a: f507 723b add.w r2, r7, #748 ; 0x2ec 807705e: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8077060: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077064: b2db uxtb r3, r3 8077066: 2b00 cmp r3, #0 8077068: d104 bne.n 8077074 807706a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807706e: b2db uxtb r3, r3 8077070: 2b00 cmp r3, #0 8077072: d00c beq.n 807708e str[i++] = ied + 48; 8077074: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077078: 1c5a adds r2, r3, #1 807707a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807707e: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8077082: b2d2 uxtb r2, r2 8077084: 3230 adds r2, #48 ; 0x30 8077086: b2d1 uxtb r1, r2 8077088: f507 723b add.w r2, r7, #748 ; 0x2ec 807708c: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 807708e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077092: 1c5a adds r2, r3, #1 8077094: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077098: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 807709c: b2d2 uxtb r2, r2 807709e: 3230 adds r2, #48 ; 0x30 80770a0: b2d1 uxtb r1, r2 80770a2: f507 723b add.w r2, r7, #748 ; 0x2ec 80770a6: 54d1 strb r1, [r2, r3] str[i++] = '.'; 80770a8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80770ac: 1c5a adds r2, r3, #1 80770ae: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80770b2: f507 723b add.w r2, r7, #748 ; 0x2ec 80770b6: 212e movs r1, #46 ; 0x2e 80770b8: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 80770ba: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80770be: 1c5a adds r2, r3, #1 80770c0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80770c4: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 80770c8: b2d2 uxtb r2, r2 80770ca: 3230 adds r2, #48 ; 0x30 80770cc: b2d1 uxtb r1, r2 80770ce: f507 723b add.w r2, r7, #748 ; 0x2ec 80770d2: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 80770d4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80770d8: 1c5a adds r2, r3, #1 80770da: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80770de: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 80770e2: b2d2 uxtb r2, r2 80770e4: 3230 adds r2, #48 ; 0x30 80770e6: b2d1 uxtb r1, r2 80770e8: f507 723b add.w r2, r7, #748 ; 0x2ec 80770ec: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 80770ee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80770f2: 1c5a adds r2, r3, #1 80770f4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80770f8: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80770fc: b2d2 uxtb r2, r2 80770fe: 3230 adds r2, #48 ; 0x30 8077100: b2d1 uxtb r1, r2 8077102: f507 723b add.w r2, r7, #748 ; 0x2ec 8077106: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8077108: f507 733b add.w r3, r7, #748 ; 0x2ec 807710c: 461a mov r2, r3 807710e: 215a movs r1, #90 ; 0x5a 8077110: 20ff movs r0, #255 ; 0xff 8077112: f7dd f927 bl 8054364 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8077116: 4934 ldr r1, [pc, #208] ; (80771e8 ) 8077118: 483a ldr r0, [pc, #232] ; (8077204 ) 807711a: f7dc fb63 bl 80537e4 BSP_LCD_FillRect(60, 73, 200, 124); 807711e: 237c movs r3, #124 ; 0x7c 8077120: 22c8 movs r2, #200 ; 0xc8 8077122: 2149 movs r1, #73 ; 0x49 8077124: 203c movs r0, #60 ; 0x3c 8077126: f7dc ffeb bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 807712a: 492f ldr r1, [pc, #188] ; (80771e8 ) 807712c: 482e ldr r0, [pc, #184] ; (80771e8 ) 807712e: f7dc fb59 bl 80537e4 BSP_LCD_FillRect(62, 75, 196, 120); 8077132: 2378 movs r3, #120 ; 0x78 8077134: 22c4 movs r2, #196 ; 0xc4 8077136: 214b movs r1, #75 ; 0x4b 8077138: 203e movs r0, #62 ; 0x3e 807713a: f7dc ffe1 bl 8054100 if(pardata.LANG == RUS) 807713e: 4b2b ldr r3, [pc, #172] ; (80771ec ) 8077140: 7b1b ldrb r3, [r3, #12] 8077142: b2db uxtb r3, r3 8077144: 2b00 cmp r3, #0 8077146: d126 bne.n 8077196 { BSP_LCD_SetFont(&Font12); 8077148: 482f ldr r0, [pc, #188] ; (8077208 ) 807714a: f7dc fb87 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807714e: 4926 ldr r1, [pc, #152] ; (80771e8 ) 8077150: f04f 30ff mov.w r0, #4294967295 8077154: f7dc fb46 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Êàðòà ïàìÿòè áóäåò", CENTER_MODE); 8077158: 2301 movs r3, #1 807715a: 4a2c ldr r2, [pc, #176] ; (807720c ) 807715c: 217a movs r1, #122 ; 0x7a 807715e: 20a0 movs r0, #160 ; 0xa0 8077160: f7dc fc06 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "î÷èùåíà. Ïðîäîëæèòü?", CENTER_MODE); 8077164: 2301 movs r3, #1 8077166: 4a2a ldr r2, [pc, #168] ; (8077210 ) 8077168: 218a movs r1, #138 ; 0x8a 807716a: 20a0 movs r0, #160 ; 0xa0 807716c: f7dc fc00 bl 8053970 BSP_LCD_DisplayStringAt(258-20, 170, "Äà", RIGHT_MODE); 8077170: 2302 movs r3, #2 8077172: 4a28 ldr r2, [pc, #160] ; (8077214 ) 8077174: 21aa movs r1, #170 ; 0xaa 8077176: 20ee movs r0, #238 ; 0xee 8077178: f7dc fbfa bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807717c: 491a ldr r1, [pc, #104] ; (80771e8 ) 807717e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077182: f7dc fb2f bl 80537e4 BSP_LCD_DisplayStringAt(62+20, 170, "Íåò", LEFT_MODE); 8077186: 2303 movs r3, #3 8077188: 4a23 ldr r2, [pc, #140] ; (8077218 ) 807718a: 21aa movs r1, #170 ; 0xaa 807718c: 2052 movs r0, #82 ; 0x52 807718e: f7dc fbef bl 8053970 8077192: f001 ba6e b.w 8078672 } else { BSP_LCD_SetFont(&Font12); 8077196: 481c ldr r0, [pc, #112] ; (8077208 ) 8077198: f7dc fb60 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807719c: 4912 ldr r1, [pc, #72] ; (80771e8 ) 807719e: f04f 30ff mov.w r0, #4294967295 80771a2: f7dc fb1f bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "The memory card will", CENTER_MODE); 80771a6: 2301 movs r3, #1 80771a8: 4a1c ldr r2, [pc, #112] ; (807721c ) 80771aa: 217a movs r1, #122 ; 0x7a 80771ac: 20a0 movs r0, #160 ; 0xa0 80771ae: f7dc fbdf bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "be cleared. Continue?", CENTER_MODE); 80771b2: 2301 movs r3, #1 80771b4: 4a1a ldr r2, [pc, #104] ; (8077220 ) 80771b6: 218a movs r1, #138 ; 0x8a 80771b8: 20a0 movs r0, #160 ; 0xa0 80771ba: f7dc fbd9 bl 8053970 BSP_LCD_DisplayStringAt(258-20, 170, "Yes", RIGHT_MODE); 80771be: 2302 movs r3, #2 80771c0: 4a18 ldr r2, [pc, #96] ; (8077224 ) 80771c2: 21aa movs r1, #170 ; 0xaa 80771c4: 20ee movs r0, #238 ; 0xee 80771c6: f7dc fbd3 bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80771ca: 4907 ldr r1, [pc, #28] ; (80771e8 ) 80771cc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80771d0: f7dc fb08 bl 80537e4 BSP_LCD_DisplayStringAt(62+20, 170, "No", LEFT_MODE); 80771d4: 2303 movs r3, #3 80771d6: 4a14 ldr r2, [pc, #80] ; (8077228 ) 80771d8: 21aa movs r1, #170 ; 0xaa 80771da: 2052 movs r0, #82 ; 0x52 80771dc: f7dc fbc8 bl 8053970 80771e0: f001 ba47 b.w 8078672 80771e4: 20020070 .word 0x20020070 80771e8: ff0a0f1f .word 0xff0a0f1f 80771ec: 20023e60 .word 0x20023e60 80771f0: 200205d4 .word 0x200205d4 80771f4: 2002067c .word 0x2002067c 80771f8: ffd8aa57 .word 0xffd8aa57 80771fc: 200205bc .word 0x200205bc 8077200: 2002014c .word 0x2002014c 8077204: ffd3d3d3 .word 0xffd3d3d3 8077208: 20020038 .word 0x20020038 807720c: 080cff78 .word 0x080cff78 8077210: 080cff8c .word 0x080cff8c 8077214: 080cf890 .word 0x080cf890 8077218: 080ce6e0 .word 0x080ce6e0 807721c: 080cffa4 .word 0x080cffa4 8077220: 080cffbc .word 0x080cffbc 8077224: 080cfdfc .word 0x080cfdfc 8077228: 080cfe00 .word 0x080cfe00 } } else if(menupos == FormatDiskYes) 807722c: 4bab ldr r3, [pc, #684] ; (80774dc ) 807722e: 781b ldrb r3, [r3, #0] 8077230: b2db uxtb r3, r3 8077232: 2b08 cmp r3, #8 8077234: f040 8176 bne.w 8077524 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077238: 49a9 ldr r1, [pc, #676] ; (80774e0 ) 807723a: f04f 30ff mov.w r0, #4294967295 807723e: f7dc fad1 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8077242: 4ba8 ldr r3, [pc, #672] ; (80774e4 ) 8077244: 7b1b ldrb r3, [r3, #12] 8077246: b2db uxtb r3, r3 8077248: 4619 mov r1, r3 807724a: 4ba6 ldr r3, [pc, #664] ; (80774e4 ) 807724c: 799b ldrb r3, [r3, #6] 807724e: b2db uxtb r3, r3 8077250: 4618 mov r0, r3 8077252: 4aa5 ldr r2, [pc, #660] ; (80774e8 ) 8077254: 460b mov r3, r1 8077256: 005b lsls r3, r3, #1 8077258: 440b add r3, r1 807725a: 4403 add r3, r0 807725c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077260: 461a mov r2, r3 8077262: 215a movs r1, #90 ; 0x5a 8077264: 200a movs r0, #10 8077266: f7dd f865 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 807726a: 4b9e ldr r3, [pc, #632] ; (80774e4 ) 807726c: 7b1b ldrb r3, [r3, #12] 807726e: b2db uxtb r3, r3 8077270: 4619 mov r1, r3 8077272: 4a9e ldr r2, [pc, #632] ; (80774ec ) 8077274: 460b mov r3, r1 8077276: 009b lsls r3, r3, #2 8077278: 440b add r3, r1 807727a: 009b lsls r3, r3, #2 807727c: 4413 add r3, r2 807727e: 3304 adds r3, #4 8077280: 681b ldr r3, [r3, #0] 8077282: 461a mov r2, r3 8077284: 217a movs r1, #122 ; 0x7a 8077286: 200a movs r0, #10 8077288: f7dd f854 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 807728c: 4b95 ldr r3, [pc, #596] ; (80774e4 ) 807728e: 7b1b ldrb r3, [r3, #12] 8077290: b2db uxtb r3, r3 8077292: 4619 mov r1, r3 8077294: 4a95 ldr r2, [pc, #596] ; (80774ec ) 8077296: 460b mov r3, r1 8077298: 009b lsls r3, r3, #2 807729a: 440b add r3, r1 807729c: 009b lsls r3, r3, #2 807729e: 4413 add r3, r2 80772a0: 3308 adds r3, #8 80772a2: 681b ldr r3, [r3, #0] 80772a4: 461a mov r2, r3 80772a6: 216a movs r1, #106 ; 0x6a 80772a8: 200a movs r0, #10 80772aa: f7dd f843 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 80772ae: 4b8d ldr r3, [pc, #564] ; (80774e4 ) 80772b0: 7b1b ldrb r3, [r3, #12] 80772b2: b2db uxtb r3, r3 80772b4: 4619 mov r1, r3 80772b6: 4a8d ldr r2, [pc, #564] ; (80774ec ) 80772b8: 460b mov r3, r1 80772ba: 009b lsls r3, r3, #2 80772bc: 440b add r3, r1 80772be: 009b lsls r3, r3, #2 80772c0: 4413 add r3, r2 80772c2: 330c adds r3, #12 80772c4: 681b ldr r3, [r3, #0] 80772c6: 461a mov r2, r3 80772c8: 218a movs r1, #138 ; 0x8a 80772ca: 200a movs r0, #10 80772cc: f7dd f832 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80772d0: 4983 ldr r1, [pc, #524] ; (80774e0 ) 80772d2: 4887 ldr r0, [pc, #540] ; (80774f0 ) 80772d4: f7dc fa86 bl 80537e4 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 80772d8: 4b82 ldr r3, [pc, #520] ; (80774e4 ) 80772da: 7b1b ldrb r3, [r3, #12] 80772dc: b2db uxtb r3, r3 80772de: 461a mov r2, r3 80772e0: 4b84 ldr r3, [pc, #528] ; (80774f4 ) 80772e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80772e6: 461a mov r2, r3 80772e8: 216a movs r1, #106 ; 0x6a 80772ea: 20ff movs r0, #255 ; 0xff 80772ec: f7dd f83a bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80772f0: 4b7c ldr r3, [pc, #496] ; (80774e4 ) 80772f2: 7b1b ldrb r3, [r3, #12] 80772f4: b2db uxtb r3, r3 80772f6: 4619 mov r1, r3 80772f8: 4b7a ldr r3, [pc, #488] ; (80774e4 ) 80772fa: 799b ldrb r3, [r3, #6] 80772fc: b2db uxtb r3, r3 80772fe: 4618 mov r0, r3 8077300: 4a7d ldr r2, [pc, #500] ; (80774f8 ) 8077302: 460b mov r3, r1 8077304: 005b lsls r3, r3, #1 8077306: 440b add r3, r1 8077308: 4403 add r3, r0 807730a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807730e: 461a mov r2, r3 8077310: 214a movs r1, #74 ; 0x4a 8077312: 20ff movs r0, #255 ; 0xff 8077314: f7dd f826 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077318: 4971 ldr r1, [pc, #452] ; (80774e0 ) 807731a: 4875 ldr r0, [pc, #468] ; (80774f0 ) 807731c: f7dc fa62 bl 80537e4 memset(str, 0, sizeof(str)); 8077320: f507 733b add.w r3, r7, #748 ; 0x2ec 8077324: 223c movs r2, #60 ; 0x3c 8077326: 2100 movs r1, #0 8077328: 4618 mov r0, r3 807732a: f055 fea9 bl 80cd080 i = 0; 807732e: 2300 movs r3, #0 8077330: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 8077334: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077338: b2db uxtb r3, r3 807733a: 2b00 cmp r3, #0 807733c: d00c beq.n 8077358 str[i++] = ies + 48; 807733e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077342: 1c5a adds r2, r3, #1 8077344: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077348: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 807734c: b2d2 uxtb r2, r2 807734e: 3230 adds r2, #48 ; 0x30 8077350: b2d1 uxtb r1, r2 8077352: f507 723b add.w r2, r7, #748 ; 0x2ec 8077356: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8077358: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807735c: b2db uxtb r3, r3 807735e: 2b00 cmp r3, #0 8077360: d104 bne.n 807736c 8077362: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8077366: b2db uxtb r3, r3 8077368: 2b00 cmp r3, #0 807736a: d00c beq.n 8077386 str[i++] = ied + 48; 807736c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077370: 1c5a adds r2, r3, #1 8077372: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077376: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 807737a: b2d2 uxtb r2, r2 807737c: 3230 adds r2, #48 ; 0x30 807737e: b2d1 uxtb r1, r2 8077380: f507 723b add.w r2, r7, #748 ; 0x2ec 8077384: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8077386: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807738a: 1c5a adds r2, r3, #1 807738c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077390: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8077394: b2d2 uxtb r2, r2 8077396: 3230 adds r2, #48 ; 0x30 8077398: b2d1 uxtb r1, r2 807739a: f507 723b add.w r2, r7, #748 ; 0x2ec 807739e: 54d1 strb r1, [r2, r3] str[i++] = '.'; 80773a0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80773a4: 1c5a adds r2, r3, #1 80773a6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80773aa: f507 723b add.w r2, r7, #748 ; 0x2ec 80773ae: 212e movs r1, #46 ; 0x2e 80773b0: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 80773b2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80773b6: 1c5a adds r2, r3, #1 80773b8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80773bc: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 80773c0: b2d2 uxtb r2, r2 80773c2: 3230 adds r2, #48 ; 0x30 80773c4: b2d1 uxtb r1, r2 80773c6: f507 723b add.w r2, r7, #748 ; 0x2ec 80773ca: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 80773cc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80773d0: 1c5a adds r2, r3, #1 80773d2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80773d6: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 80773da: b2d2 uxtb r2, r2 80773dc: 3230 adds r2, #48 ; 0x30 80773de: b2d1 uxtb r1, r2 80773e0: f507 723b add.w r2, r7, #748 ; 0x2ec 80773e4: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 80773e6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80773ea: 1c5a adds r2, r3, #1 80773ec: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80773f0: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80773f4: b2d2 uxtb r2, r2 80773f6: 3230 adds r2, #48 ; 0x30 80773f8: b2d1 uxtb r1, r2 80773fa: f507 723b add.w r2, r7, #748 ; 0x2ec 80773fe: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 8077400: f507 733b add.w r3, r7, #748 ; 0x2ec 8077404: 461a mov r2, r3 8077406: 215a movs r1, #90 ; 0x5a 8077408: 20ff movs r0, #255 ; 0xff 807740a: f7dc ffab bl 8054364 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807740e: 4934 ldr r1, [pc, #208] ; (80774e0 ) 8077410: 483a ldr r0, [pc, #232] ; (80774fc ) 8077412: f7dc f9e7 bl 80537e4 BSP_LCD_FillRect(60, 73, 200, 124); 8077416: 237c movs r3, #124 ; 0x7c 8077418: 22c8 movs r2, #200 ; 0xc8 807741a: 2149 movs r1, #73 ; 0x49 807741c: 203c movs r0, #60 ; 0x3c 807741e: f7dc fe6f bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8077422: 492f ldr r1, [pc, #188] ; (80774e0 ) 8077424: 482e ldr r0, [pc, #184] ; (80774e0 ) 8077426: f7dc f9dd bl 80537e4 BSP_LCD_FillRect(62, 75, 196, 120); 807742a: 2378 movs r3, #120 ; 0x78 807742c: 22c4 movs r2, #196 ; 0xc4 807742e: 214b movs r1, #75 ; 0x4b 8077430: 203e movs r0, #62 ; 0x3e 8077432: f7dc fe65 bl 8054100 if(pardata.LANG == RUS) 8077436: 4b2b ldr r3, [pc, #172] ; (80774e4 ) 8077438: 7b1b ldrb r3, [r3, #12] 807743a: b2db uxtb r3, r3 807743c: 2b00 cmp r3, #0 807743e: d126 bne.n 807748e { BSP_LCD_SetFont(&Font12); 8077440: 482f ldr r0, [pc, #188] ; (8077500 ) 8077442: f7dc fa0b bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077446: 4926 ldr r1, [pc, #152] ; (80774e0 ) 8077448: f04f 30ff mov.w r0, #4294967295 807744c: f7dc f9ca bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Êàðòà ïàìÿòè áóäåò", CENTER_MODE); 8077450: 2301 movs r3, #1 8077452: 4a2c ldr r2, [pc, #176] ; (8077504 ) 8077454: 217a movs r1, #122 ; 0x7a 8077456: 20a0 movs r0, #160 ; 0xa0 8077458: f7dc fa8a bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "î÷èùåíà. Ïðîäîëæèòü?", CENTER_MODE); 807745c: 2301 movs r3, #1 807745e: 4a2a ldr r2, [pc, #168] ; (8077508 ) 8077460: 218a movs r1, #138 ; 0x8a 8077462: 20a0 movs r0, #160 ; 0xa0 8077464: f7dc fa84 bl 8053970 BSP_LCD_DisplayStringAt(62+20, 170, "Íåò", LEFT_MODE); 8077468: 2303 movs r3, #3 807746a: 4a28 ldr r2, [pc, #160] ; (807750c ) 807746c: 21aa movs r1, #170 ; 0xaa 807746e: 2052 movs r0, #82 ; 0x52 8077470: f7dc fa7e bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077474: 491a ldr r1, [pc, #104] ; (80774e0 ) 8077476: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807747a: f7dc f9b3 bl 80537e4 BSP_LCD_DisplayStringAt(258-20, 170, "Äà", RIGHT_MODE); 807747e: 2302 movs r3, #2 8077480: 4a23 ldr r2, [pc, #140] ; (8077510 ) 8077482: 21aa movs r1, #170 ; 0xaa 8077484: 20ee movs r0, #238 ; 0xee 8077486: f7dc fa73 bl 8053970 807748a: f001 b8f2 b.w 8078672 } else { BSP_LCD_SetFont(&Font12); 807748e: 481c ldr r0, [pc, #112] ; (8077500 ) 8077490: f7dc f9e4 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077494: 4912 ldr r1, [pc, #72] ; (80774e0 ) 8077496: f04f 30ff mov.w r0, #4294967295 807749a: f7dc f9a3 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "The memory card will", CENTER_MODE); 807749e: 2301 movs r3, #1 80774a0: 4a1c ldr r2, [pc, #112] ; (8077514 ) 80774a2: 217a movs r1, #122 ; 0x7a 80774a4: 20a0 movs r0, #160 ; 0xa0 80774a6: f7dc fa63 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "be cleared. Continue?", CENTER_MODE); 80774aa: 2301 movs r3, #1 80774ac: 4a1a ldr r2, [pc, #104] ; (8077518 ) 80774ae: 218a movs r1, #138 ; 0x8a 80774b0: 20a0 movs r0, #160 ; 0xa0 80774b2: f7dc fa5d bl 8053970 BSP_LCD_DisplayStringAt(62+20, 170, "No", LEFT_MODE); 80774b6: 2303 movs r3, #3 80774b8: 4a18 ldr r2, [pc, #96] ; (807751c ) 80774ba: 21aa movs r1, #170 ; 0xaa 80774bc: 2052 movs r0, #82 ; 0x52 80774be: f7dc fa57 bl 8053970 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80774c2: 4907 ldr r1, [pc, #28] ; (80774e0 ) 80774c4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80774c8: f7dc f98c bl 80537e4 BSP_LCD_DisplayStringAt(258-20, 170, "Yes", RIGHT_MODE); 80774cc: 2302 movs r3, #2 80774ce: 4a14 ldr r2, [pc, #80] ; (8077520 ) 80774d0: 21aa movs r1, #170 ; 0xaa 80774d2: 20ee movs r0, #238 ; 0xee 80774d4: f7dc fa4c bl 8053970 80774d8: f001 b8cb b.w 8078672 80774dc: 20020070 .word 0x20020070 80774e0: ff0a0f1f .word 0xff0a0f1f 80774e4: 20023e60 .word 0x20023e60 80774e8: 200205d4 .word 0x200205d4 80774ec: 2002067c .word 0x2002067c 80774f0: ffd8aa57 .word 0xffd8aa57 80774f4: 200205bc .word 0x200205bc 80774f8: 2002014c .word 0x2002014c 80774fc: ffd3d3d3 .word 0xffd3d3d3 8077500: 20020038 .word 0x20020038 8077504: 080cff78 .word 0x080cff78 8077508: 080cff8c .word 0x080cff8c 807750c: 080ce6e0 .word 0x080ce6e0 8077510: 080cf890 .word 0x080cf890 8077514: 080cffa4 .word 0x080cffa4 8077518: 080cffbc .word 0x080cffbc 807751c: 080cfe00 .word 0x080cfe00 8077520: 080cfdfc .word 0x080cfdfc } } else if(menupos == FormatDiskProcessing) 8077524: 4b9a ldr r3, [pc, #616] ; (8077790 ) 8077526: 781b ldrb r3, [r3, #0] 8077528: b2db uxtb r3, r3 807752a: 2b0a cmp r3, #10 807752c: f040 814c bne.w 80777c8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077530: 4998 ldr r1, [pc, #608] ; (8077794 ) 8077532: f04f 30ff mov.w r0, #4294967295 8077536: f7dc f955 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 807753a: 4b97 ldr r3, [pc, #604] ; (8077798 ) 807753c: 7b1b ldrb r3, [r3, #12] 807753e: b2db uxtb r3, r3 8077540: 4619 mov r1, r3 8077542: 4b95 ldr r3, [pc, #596] ; (8077798 ) 8077544: 799b ldrb r3, [r3, #6] 8077546: b2db uxtb r3, r3 8077548: 4618 mov r0, r3 807754a: 4a94 ldr r2, [pc, #592] ; (807779c ) 807754c: 460b mov r3, r1 807754e: 005b lsls r3, r3, #1 8077550: 440b add r3, r1 8077552: 4403 add r3, r0 8077554: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077558: 461a mov r2, r3 807755a: 215a movs r1, #90 ; 0x5a 807755c: 200a movs r0, #10 807755e: f7dc fee9 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8077562: 4b8d ldr r3, [pc, #564] ; (8077798 ) 8077564: 7b1b ldrb r3, [r3, #12] 8077566: b2db uxtb r3, r3 8077568: 4619 mov r1, r3 807756a: 4a8d ldr r2, [pc, #564] ; (80777a0 ) 807756c: 460b mov r3, r1 807756e: 009b lsls r3, r3, #2 8077570: 440b add r3, r1 8077572: 009b lsls r3, r3, #2 8077574: 4413 add r3, r2 8077576: 3304 adds r3, #4 8077578: 681b ldr r3, [r3, #0] 807757a: 461a mov r2, r3 807757c: 217a movs r1, #122 ; 0x7a 807757e: 200a movs r0, #10 8077580: f7dc fed8 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8077584: 4b84 ldr r3, [pc, #528] ; (8077798 ) 8077586: 7b1b ldrb r3, [r3, #12] 8077588: b2db uxtb r3, r3 807758a: 4619 mov r1, r3 807758c: 4a84 ldr r2, [pc, #528] ; (80777a0 ) 807758e: 460b mov r3, r1 8077590: 009b lsls r3, r3, #2 8077592: 440b add r3, r1 8077594: 009b lsls r3, r3, #2 8077596: 4413 add r3, r2 8077598: 3308 adds r3, #8 807759a: 681b ldr r3, [r3, #0] 807759c: 461a mov r2, r3 807759e: 216a movs r1, #106 ; 0x6a 80775a0: 200a movs r0, #10 80775a2: f7dc fec7 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 80775a6: 4b7c ldr r3, [pc, #496] ; (8077798 ) 80775a8: 7b1b ldrb r3, [r3, #12] 80775aa: b2db uxtb r3, r3 80775ac: 4619 mov r1, r3 80775ae: 4a7c ldr r2, [pc, #496] ; (80777a0 ) 80775b0: 460b mov r3, r1 80775b2: 009b lsls r3, r3, #2 80775b4: 440b add r3, r1 80775b6: 009b lsls r3, r3, #2 80775b8: 4413 add r3, r2 80775ba: 330c adds r3, #12 80775bc: 681b ldr r3, [r3, #0] 80775be: 461a mov r2, r3 80775c0: 218a movs r1, #138 ; 0x8a 80775c2: 200a movs r0, #10 80775c4: f7dc feb6 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80775c8: 4972 ldr r1, [pc, #456] ; (8077794 ) 80775ca: 4876 ldr r0, [pc, #472] ; (80777a4 ) 80775cc: f7dc f90a bl 80537e4 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 80775d0: 4b71 ldr r3, [pc, #452] ; (8077798 ) 80775d2: 7b1b ldrb r3, [r3, #12] 80775d4: b2db uxtb r3, r3 80775d6: 461a mov r2, r3 80775d8: 4b73 ldr r3, [pc, #460] ; (80777a8 ) 80775da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80775de: 461a mov r2, r3 80775e0: 216a movs r1, #106 ; 0x6a 80775e2: 20ff movs r0, #255 ; 0xff 80775e4: f7dc febe bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80775e8: 4b6b ldr r3, [pc, #428] ; (8077798 ) 80775ea: 7b1b ldrb r3, [r3, #12] 80775ec: b2db uxtb r3, r3 80775ee: 4619 mov r1, r3 80775f0: 4b69 ldr r3, [pc, #420] ; (8077798 ) 80775f2: 799b ldrb r3, [r3, #6] 80775f4: b2db uxtb r3, r3 80775f6: 4618 mov r0, r3 80775f8: 4a6c ldr r2, [pc, #432] ; (80777ac ) 80775fa: 460b mov r3, r1 80775fc: 005b lsls r3, r3, #1 80775fe: 440b add r3, r1 8077600: 4403 add r3, r0 8077602: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077606: 461a mov r2, r3 8077608: 214a movs r1, #74 ; 0x4a 807760a: 20ff movs r0, #255 ; 0xff 807760c: f7dc feaa bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077610: 4960 ldr r1, [pc, #384] ; (8077794 ) 8077612: 4864 ldr r0, [pc, #400] ; (80777a4 ) 8077614: f7dc f8e6 bl 80537e4 memset(str, 0, sizeof(str)); 8077618: f507 733b add.w r3, r7, #748 ; 0x2ec 807761c: 223c movs r2, #60 ; 0x3c 807761e: 2100 movs r1, #0 8077620: 4618 mov r0, r3 8077622: f055 fd2d bl 80cd080 i = 0; 8077626: 2300 movs r3, #0 8077628: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 807762c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077630: b2db uxtb r3, r3 8077632: 2b00 cmp r3, #0 8077634: d00c beq.n 8077650 str[i++] = ies + 48; 8077636: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807763a: 1c5a adds r2, r3, #1 807763c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077640: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 8077644: b2d2 uxtb r2, r2 8077646: 3230 adds r2, #48 ; 0x30 8077648: b2d1 uxtb r1, r2 807764a: f507 723b add.w r2, r7, #748 ; 0x2ec 807764e: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 8077650: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077654: b2db uxtb r3, r3 8077656: 2b00 cmp r3, #0 8077658: d104 bne.n 8077664 807765a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807765e: b2db uxtb r3, r3 8077660: 2b00 cmp r3, #0 8077662: d00c beq.n 807767e str[i++] = ied + 48; 8077664: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077668: 1c5a adds r2, r3, #1 807766a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807766e: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8077672: b2d2 uxtb r2, r2 8077674: 3230 adds r2, #48 ; 0x30 8077676: b2d1 uxtb r1, r2 8077678: f507 723b add.w r2, r7, #748 ; 0x2ec 807767c: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 807767e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077682: 1c5a adds r2, r3, #1 8077684: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077688: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 807768c: b2d2 uxtb r2, r2 807768e: 3230 adds r2, #48 ; 0x30 8077690: b2d1 uxtb r1, r2 8077692: f507 723b add.w r2, r7, #748 ; 0x2ec 8077696: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8077698: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807769c: 1c5a adds r2, r3, #1 807769e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80776a2: f507 723b add.w r2, r7, #748 ; 0x2ec 80776a6: 212e movs r1, #46 ; 0x2e 80776a8: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 80776aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80776ae: 1c5a adds r2, r3, #1 80776b0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80776b4: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 80776b8: b2d2 uxtb r2, r2 80776ba: 3230 adds r2, #48 ; 0x30 80776bc: b2d1 uxtb r1, r2 80776be: f507 723b add.w r2, r7, #748 ; 0x2ec 80776c2: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 80776c4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80776c8: 1c5a adds r2, r3, #1 80776ca: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80776ce: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 80776d2: b2d2 uxtb r2, r2 80776d4: 3230 adds r2, #48 ; 0x30 80776d6: b2d1 uxtb r1, r2 80776d8: f507 723b add.w r2, r7, #748 ; 0x2ec 80776dc: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 80776de: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80776e2: 1c5a adds r2, r3, #1 80776e4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80776e8: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 80776ec: b2d2 uxtb r2, r2 80776ee: 3230 adds r2, #48 ; 0x30 80776f0: b2d1 uxtb r1, r2 80776f2: f507 723b add.w r2, r7, #748 ; 0x2ec 80776f6: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 80776f8: f507 733b add.w r3, r7, #748 ; 0x2ec 80776fc: 461a mov r2, r3 80776fe: 215a movs r1, #90 ; 0x5a 8077700: 20ff movs r0, #255 ; 0xff 8077702: f7dc fe2f bl 8054364 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8077706: 4923 ldr r1, [pc, #140] ; (8077794 ) 8077708: 4829 ldr r0, [pc, #164] ; (80777b0 ) 807770a: f7dc f86b bl 80537e4 BSP_LCD_FillRect(60, 73, 200, 124); 807770e: 237c movs r3, #124 ; 0x7c 8077710: 22c8 movs r2, #200 ; 0xc8 8077712: 2149 movs r1, #73 ; 0x49 8077714: 203c movs r0, #60 ; 0x3c 8077716: f7dc fcf3 bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 807771a: 491e ldr r1, [pc, #120] ; (8077794 ) 807771c: 481d ldr r0, [pc, #116] ; (8077794 ) 807771e: f7dc f861 bl 80537e4 BSP_LCD_FillRect(62, 75, 196, 120); 8077722: 2378 movs r3, #120 ; 0x78 8077724: 22c4 movs r2, #196 ; 0xc4 8077726: 214b movs r1, #75 ; 0x4b 8077728: 203e movs r0, #62 ; 0x3e 807772a: f7dc fce9 bl 8054100 if(pardata.LANG == RUS) 807772e: 4b1a ldr r3, [pc, #104] ; (8077798 ) 8077730: 7b1b ldrb r3, [r3, #12] 8077732: b2db uxtb r3, r3 8077734: 2b00 cmp r3, #0 8077736: d115 bne.n 8077764 { BSP_LCD_SetFont(&Font12); 8077738: 481e ldr r0, [pc, #120] ; (80777b4 ) 807773a: f7dc f88f bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807773e: 4915 ldr r1, [pc, #84] ; (8077794 ) 8077740: f04f 30ff mov.w r0, #4294967295 8077744: f7dc f84e bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå äèñêà.", CENTER_MODE); 8077748: 2301 movs r3, #1 807774a: 4a1b ldr r2, [pc, #108] ; (80777b8 ) 807774c: 217a movs r1, #122 ; 0x7a 807774e: 20a0 movs r0, #160 ; 0xa0 8077750: f7dc f90e bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Æäèòå...", CENTER_MODE); 8077754: 2301 movs r3, #1 8077756: 4a19 ldr r2, [pc, #100] ; (80777bc ) 8077758: 218a movs r1, #138 ; 0x8a 807775a: 20a0 movs r0, #160 ; 0xa0 807775c: f7dc f908 bl 8053970 8077760: f000 bf87 b.w 8078672 } else { BSP_LCD_SetFont(&Font12); 8077764: 4813 ldr r0, [pc, #76] ; (80777b4 ) 8077766: f7dc f879 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807776a: 490a ldr r1, [pc, #40] ; (8077794 ) 807776c: f04f 30ff mov.w r0, #4294967295 8077770: f7dc f838 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Formatting the drive.", CENTER_MODE); 8077774: 2301 movs r3, #1 8077776: 4a12 ldr r2, [pc, #72] ; (80777c0 ) 8077778: 217a movs r1, #122 ; 0x7a 807777a: 20a0 movs r0, #160 ; 0xa0 807777c: f7dc f8f8 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Please, wait...", CENTER_MODE); 8077780: 2301 movs r3, #1 8077782: 4a10 ldr r2, [pc, #64] ; (80777c4 ) 8077784: 218a movs r1, #138 ; 0x8a 8077786: 20a0 movs r0, #160 ; 0xa0 8077788: f7dc f8f2 bl 8053970 807778c: f000 bf71 b.w 8078672 8077790: 20020070 .word 0x20020070 8077794: ff0a0f1f .word 0xff0a0f1f 8077798: 20023e60 .word 0x20023e60 807779c: 200205d4 .word 0x200205d4 80777a0: 2002067c .word 0x2002067c 80777a4: ffd8aa57 .word 0xffd8aa57 80777a8: 200205bc .word 0x200205bc 80777ac: 2002014c .word 0x2002014c 80777b0: ffd3d3d3 .word 0xffd3d3d3 80777b4: 20020038 .word 0x20020038 80777b8: 080cffd4 .word 0x080cffd4 80777bc: 080cfeac .word 0x080cfeac 80777c0: 080cffec .word 0x080cffec 80777c4: 080d0004 .word 0x080d0004 } } else if(menupos == FormatDiskResult) 80777c8: 4bc3 ldr r3, [pc, #780] ; (8077ad8 ) 80777ca: 781b ldrb r3, [r3, #0] 80777cc: b2db uxtb r3, r3 80777ce: 2b09 cmp r3, #9 80777d0: f040 81ca bne.w 8077b68 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80777d4: 49c1 ldr r1, [pc, #772] ; (8077adc ) 80777d6: f04f 30ff mov.w r0, #4294967295 80777da: f7dc f803 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80777de: 4bc0 ldr r3, [pc, #768] ; (8077ae0 ) 80777e0: 7b1b ldrb r3, [r3, #12] 80777e2: b2db uxtb r3, r3 80777e4: 4619 mov r1, r3 80777e6: 4bbe ldr r3, [pc, #760] ; (8077ae0 ) 80777e8: 799b ldrb r3, [r3, #6] 80777ea: b2db uxtb r3, r3 80777ec: 4618 mov r0, r3 80777ee: 4abd ldr r2, [pc, #756] ; (8077ae4 ) 80777f0: 460b mov r3, r1 80777f2: 005b lsls r3, r3, #1 80777f4: 440b add r3, r1 80777f6: 4403 add r3, r0 80777f8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80777fc: 461a mov r2, r3 80777fe: 215a movs r1, #90 ; 0x5a 8077800: 200a movs r0, #10 8077802: f7dc fd97 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8077806: 4bb6 ldr r3, [pc, #728] ; (8077ae0 ) 8077808: 7b1b ldrb r3, [r3, #12] 807780a: b2db uxtb r3, r3 807780c: 4619 mov r1, r3 807780e: 4ab6 ldr r2, [pc, #728] ; (8077ae8 ) 8077810: 460b mov r3, r1 8077812: 009b lsls r3, r3, #2 8077814: 440b add r3, r1 8077816: 009b lsls r3, r3, #2 8077818: 4413 add r3, r2 807781a: 3304 adds r3, #4 807781c: 681b ldr r3, [r3, #0] 807781e: 461a mov r2, r3 8077820: 217a movs r1, #122 ; 0x7a 8077822: 200a movs r0, #10 8077824: f7dc fd86 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8077828: 4bad ldr r3, [pc, #692] ; (8077ae0 ) 807782a: 7b1b ldrb r3, [r3, #12] 807782c: b2db uxtb r3, r3 807782e: 4619 mov r1, r3 8077830: 4aad ldr r2, [pc, #692] ; (8077ae8 ) 8077832: 460b mov r3, r1 8077834: 009b lsls r3, r3, #2 8077836: 440b add r3, r1 8077838: 009b lsls r3, r3, #2 807783a: 4413 add r3, r2 807783c: 3308 adds r3, #8 807783e: 681b ldr r3, [r3, #0] 8077840: 461a mov r2, r3 8077842: 216a movs r1, #106 ; 0x6a 8077844: 200a movs r0, #10 8077846: f7dc fd75 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807784a: 4ba5 ldr r3, [pc, #660] ; (8077ae0 ) 807784c: 7b1b ldrb r3, [r3, #12] 807784e: b2db uxtb r3, r3 8077850: 4619 mov r1, r3 8077852: 4aa5 ldr r2, [pc, #660] ; (8077ae8 ) 8077854: 460b mov r3, r1 8077856: 009b lsls r3, r3, #2 8077858: 440b add r3, r1 807785a: 009b lsls r3, r3, #2 807785c: 4413 add r3, r2 807785e: 330c adds r3, #12 8077860: 681b ldr r3, [r3, #0] 8077862: 461a mov r2, r3 8077864: 218a movs r1, #138 ; 0x8a 8077866: 200a movs r0, #10 8077868: f7dc fd64 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807786c: 499b ldr r1, [pc, #620] ; (8077adc ) 807786e: 489f ldr r0, [pc, #636] ; (8077aec ) 8077870: f7db ffb8 bl 80537e4 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077874: 4b9a ldr r3, [pc, #616] ; (8077ae0 ) 8077876: 7b1b ldrb r3, [r3, #12] 8077878: b2db uxtb r3, r3 807787a: 461a mov r2, r3 807787c: 4b9c ldr r3, [pc, #624] ; (8077af0 ) 807787e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077882: 461a mov r2, r3 8077884: 216a movs r1, #106 ; 0x6a 8077886: 20ff movs r0, #255 ; 0xff 8077888: f7dc fd6c bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 807788c: 4b94 ldr r3, [pc, #592] ; (8077ae0 ) 807788e: 7b1b ldrb r3, [r3, #12] 8077890: b2db uxtb r3, r3 8077892: 4619 mov r1, r3 8077894: 4b92 ldr r3, [pc, #584] ; (8077ae0 ) 8077896: 799b ldrb r3, [r3, #6] 8077898: b2db uxtb r3, r3 807789a: 4618 mov r0, r3 807789c: 4a95 ldr r2, [pc, #596] ; (8077af4 ) 807789e: 460b mov r3, r1 80778a0: 005b lsls r3, r3, #1 80778a2: 440b add r3, r1 80778a4: 4403 add r3, r0 80778a6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80778aa: 461a mov r2, r3 80778ac: 214a movs r1, #74 ; 0x4a 80778ae: 20ff movs r0, #255 ; 0xff 80778b0: f7dc fd58 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80778b4: 4989 ldr r1, [pc, #548] ; (8077adc ) 80778b6: 488d ldr r0, [pc, #564] ; (8077aec ) 80778b8: f7db ff94 bl 80537e4 memset(str, 0, sizeof(str)); 80778bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80778c0: 223c movs r2, #60 ; 0x3c 80778c2: 2100 movs r1, #0 80778c4: 4618 mov r0, r3 80778c6: f055 fbdb bl 80cd080 i = 0; 80778ca: 2300 movs r3, #0 80778cc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 if(ies != 0) 80778d0: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80778d4: b2db uxtb r3, r3 80778d6: 2b00 cmp r3, #0 80778d8: d00c beq.n 80778f4 str[i++] = ies + 48; 80778da: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80778de: 1c5a adds r2, r3, #1 80778e0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80778e4: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 80778e8: b2d2 uxtb r2, r2 80778ea: 3230 adds r2, #48 ; 0x30 80778ec: b2d1 uxtb r1, r2 80778ee: f507 723b add.w r2, r7, #748 ; 0x2ec 80778f2: 54d1 strb r1, [r2, r3] if((ies != 0) || (ied != 0)) 80778f4: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80778f8: b2db uxtb r3, r3 80778fa: 2b00 cmp r3, #0 80778fc: d104 bne.n 8077908 80778fe: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8077902: b2db uxtb r3, r3 8077904: 2b00 cmp r3, #0 8077906: d00c beq.n 8077922 str[i++] = ied + 48; 8077908: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807790c: 1c5a adds r2, r3, #1 807790e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077912: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 8077916: b2d2 uxtb r2, r2 8077918: 3230 adds r2, #48 ; 0x30 807791a: b2d1 uxtb r1, r2 807791c: f507 723b add.w r2, r7, #748 ; 0x2ec 8077920: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 8077922: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077926: 1c5a adds r2, r3, #1 8077928: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807792c: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 8077930: b2d2 uxtb r2, r2 8077932: 3230 adds r2, #48 ; 0x30 8077934: b2d1 uxtb r1, r2 8077936: f507 723b add.w r2, r7, #748 ; 0x2ec 807793a: 54d1 strb r1, [r2, r3] str[i++] = '.'; 807793c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077940: 1c5a adds r2, r3, #1 8077942: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077946: f507 723b add.w r2, r7, #748 ; 0x2ec 807794a: 212e movs r1, #46 ; 0x2e 807794c: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 807794e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077952: 1c5a adds r2, r3, #1 8077954: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077958: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 807795c: b2d2 uxtb r2, r2 807795e: 3230 adds r2, #48 ; 0x30 8077960: b2d1 uxtb r1, r2 8077962: f507 723b add.w r2, r7, #748 ; 0x2ec 8077966: 54d1 strb r1, [r2, r3] str[i++] = iks + 48; 8077968: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807796c: 1c5a adds r2, r3, #1 807796e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8077972: f897 23e1 ldrb.w r2, [r7, #993] ; 0x3e1 8077976: b2d2 uxtb r2, r2 8077978: 3230 adds r2, #48 ; 0x30 807797a: b2d1 uxtb r1, r2 807797c: f507 723b add.w r2, r7, #748 ; 0x2ec 8077980: 54d1 strb r1, [r2, r3] str[i++] = ikt + 48; 8077982: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8077986: 1c5a adds r2, r3, #1 8077988: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807798c: f897 23e0 ldrb.w r2, [r7, #992] ; 0x3e0 8077990: b2d2 uxtb r2, r2 8077992: 3230 adds r2, #48 ; 0x30 8077994: b2d1 uxtb r1, r2 8077996: f507 723b add.w r2, r7, #748 ; 0x2ec 807799a: 54d1 strb r1, [r2, r3] LCD_DisplayStringC(255, LCD_LINE_5, str); 807799c: f507 733b add.w r3, r7, #748 ; 0x2ec 80779a0: 461a mov r2, r3 80779a2: 215a movs r1, #90 ; 0x5a 80779a4: 20ff movs r0, #255 ; 0xff 80779a6: f7dc fcdd bl 8054364 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80779aa: 494c ldr r1, [pc, #304] ; (8077adc ) 80779ac: 4852 ldr r0, [pc, #328] ; (8077af8 ) 80779ae: f7db ff19 bl 80537e4 BSP_LCD_FillRect(60, 73, 200, 124); 80779b2: 237c movs r3, #124 ; 0x7c 80779b4: 22c8 movs r2, #200 ; 0xc8 80779b6: 2149 movs r1, #73 ; 0x49 80779b8: 203c movs r0, #60 ; 0x3c 80779ba: f7dc fba1 bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80779be: 4947 ldr r1, [pc, #284] ; (8077adc ) 80779c0: 4846 ldr r0, [pc, #280] ; (8077adc ) 80779c2: f7db ff0f bl 80537e4 BSP_LCD_FillRect(61, 74, 198, 122); 80779c6: 237a movs r3, #122 ; 0x7a 80779c8: 22c6 movs r2, #198 ; 0xc6 80779ca: 214a movs r1, #74 ; 0x4a 80779cc: 203d movs r0, #61 ; 0x3d 80779ce: f7dc fb97 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80779d2: 4942 ldr r1, [pc, #264] ; (8077adc ) 80779d4: f04f 30ff mov.w r0, #4294967295 80779d8: f7db ff04 bl 80537e4 if(NeedFormat) 80779dc: 4b47 ldr r3, [pc, #284] ; (8077afc ) 80779de: 781b ldrb r3, [r3, #0] 80779e0: b2db uxtb r3, r3 80779e2: 2b00 cmp r3, #0 80779e4: d030 beq.n 8077a48 { if(pardata.LANG == RUS) 80779e6: 4b3e ldr r3, [pc, #248] ; (8077ae0 ) 80779e8: 7b1b ldrb r3, [r3, #12] 80779ea: b2db uxtb r3, r3 80779ec: 2b00 cmp r3, #0 80779ee: d115 bne.n 8077a1c { BSP_LCD_SetFont(&Font12); 80779f0: 4843 ldr r0, [pc, #268] ; (8077b00 ) 80779f2: f7db ff33 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80779f6: 4939 ldr r1, [pc, #228] ; (8077adc ) 80779f8: f04f 30ff mov.w r0, #4294967295 80779fc: f7db fef2 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå äèñêà.", CENTER_MODE); 8077a00: 2301 movs r3, #1 8077a02: 4a40 ldr r2, [pc, #256] ; (8077b04 ) 8077a04: 217a movs r1, #122 ; 0x7a 8077a06: 20a0 movs r0, #160 ; 0xa0 8077a08: f7db ffb2 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Æäèòå...", CENTER_MODE); 8077a0c: 2301 movs r3, #1 8077a0e: 4a3e ldr r2, [pc, #248] ; (8077b08 ) 8077a10: 218a movs r1, #138 ; 0x8a 8077a12: 20a0 movs r0, #160 ; 0xa0 8077a14: f7db ffac bl 8053970 8077a18: f000 be2b b.w 8078672 } else { BSP_LCD_SetFont(&Font12); 8077a1c: 4838 ldr r0, [pc, #224] ; (8077b00 ) 8077a1e: f7db ff1d bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077a22: 492e ldr r1, [pc, #184] ; (8077adc ) 8077a24: f04f 30ff mov.w r0, #4294967295 8077a28: f7db fedc bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Formatting the drive.", CENTER_MODE); 8077a2c: 2301 movs r3, #1 8077a2e: 4a37 ldr r2, [pc, #220] ; (8077b0c ) 8077a30: 217a movs r1, #122 ; 0x7a 8077a32: 20a0 movs r0, #160 ; 0xa0 8077a34: f7db ff9c bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Please, wait...", CENTER_MODE); 8077a38: 2301 movs r3, #1 8077a3a: 4a35 ldr r2, [pc, #212] ; (8077b10 ) 8077a3c: 218a movs r1, #138 ; 0x8a 8077a3e: 20a0 movs r0, #160 ; 0xa0 8077a40: f7db ff96 bl 8053970 8077a44: f000 be15 b.w 8078672 } } else { if(FormatStatus == AP_OK) 8077a48: 4b32 ldr r3, [pc, #200] ; (8077b14 ) 8077a4a: 781b ldrb r3, [r3, #0] 8077a4c: b2db uxtb r3, r3 8077a4e: 2b00 cmp r3, #0 8077a50: d128 bne.n 8077aa4 { if(pardata.LANG == RUS) 8077a52: 4b23 ldr r3, [pc, #140] ; (8077ae0 ) 8077a54: 7b1b ldrb r3, [r3, #12] 8077a56: b2db uxtb r3, r3 8077a58: 2b00 cmp r3, #0 8077a5a: d114 bne.n 8077a86 { BSP_LCD_SetFont(&Font12); 8077a5c: 4828 ldr r0, [pc, #160] ; (8077b00 ) 8077a5e: f7db fefd bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077a62: 491e ldr r1, [pc, #120] ; (8077adc ) 8077a64: f04f 30ff mov.w r0, #4294967295 8077a68: f7db febc bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôîðìàòèðîâàíèå çàâåðøåíî", CENTER_MODE); 8077a6c: 2301 movs r3, #1 8077a6e: 4a2a ldr r2, [pc, #168] ; (8077b18 ) 8077a70: 217a movs r1, #122 ; 0x7a 8077a72: 20a0 movs r0, #160 ; 0xa0 8077a74: f7db ff7c bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "óñïåøíî!", CENTER_MODE); 8077a78: 2301 movs r3, #1 8077a7a: 4a28 ldr r2, [pc, #160] ; (8077b1c ) 8077a7c: 218a movs r1, #138 ; 0x8a 8077a7e: 20a0 movs r0, #160 ; 0xa0 8077a80: f7db ff76 bl 8053970 8077a84: e060 b.n 8077b48 } else { BSP_LCD_SetFont(&Font12); 8077a86: 481e ldr r0, [pc, #120] ; (8077b00 ) 8077a88: f7db fee8 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077a8c: 4913 ldr r1, [pc, #76] ; (8077adc ) 8077a8e: f04f 30ff mov.w r0, #4294967295 8077a92: f7db fea7 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Formatting successful!", CENTER_MODE); 8077a96: 2301 movs r3, #1 8077a98: 4a21 ldr r2, [pc, #132] ; (8077b20 ) 8077a9a: 218a movs r1, #138 ; 0x8a 8077a9c: 20a0 movs r0, #160 ; 0xa0 8077a9e: f7db ff67 bl 8053970 8077aa2: e051 b.n 8077b48 } } else { if(pardata.LANG == RUS) 8077aa4: 4b0e ldr r3, [pc, #56] ; (8077ae0 ) 8077aa6: 7b1b ldrb r3, [r3, #12] 8077aa8: b2db uxtb r3, r3 8077aaa: 2b00 cmp r3, #0 8077aac: d13e bne.n 8077b2c { BSP_LCD_SetFont(&Font12); 8077aae: 4814 ldr r0, [pc, #80] ; (8077b00 ) 8077ab0: f7db fed4 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077ab4: 4909 ldr r1, [pc, #36] ; (8077adc ) 8077ab6: f04f 30ff mov.w r0, #4294967295 8077aba: f7db fe93 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8077abe: 2301 movs r3, #1 8077ac0: 4a18 ldr r2, [pc, #96] ; (8077b24 ) 8077ac2: 217a movs r1, #122 ; 0x7a 8077ac4: 20a0 movs r0, #160 ; 0xa0 8077ac6: f7db ff53 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "ôîðìàòèðîâàíèÿ...", CENTER_MODE); 8077aca: 2301 movs r3, #1 8077acc: 4a16 ldr r2, [pc, #88] ; (8077b28 ) 8077ace: 218a movs r1, #138 ; 0x8a 8077ad0: 20a0 movs r0, #160 ; 0xa0 8077ad2: f7db ff4d bl 8053970 8077ad6: e037 b.n 8077b48 8077ad8: 20020070 .word 0x20020070 8077adc: ff0a0f1f .word 0xff0a0f1f 8077ae0: 20023e60 .word 0x20023e60 8077ae4: 200205d4 .word 0x200205d4 8077ae8: 2002067c .word 0x2002067c 8077aec: ffd8aa57 .word 0xffd8aa57 8077af0: 200205bc .word 0x200205bc 8077af4: 2002014c .word 0x2002014c 8077af8: ffd3d3d3 .word 0xffd3d3d3 8077afc: 20020ddd .word 0x20020ddd 8077b00: 20020038 .word 0x20020038 8077b04: 080cffd4 .word 0x080cffd4 8077b08: 080cfeac .word 0x080cfeac 8077b0c: 080cffec .word 0x080cffec 8077b10: 080d0004 .word 0x080d0004 8077b14: 20020dd1 .word 0x20020dd1 8077b18: 080d0014 .word 0x080d0014 8077b1c: 080d0030 .word 0x080d0030 8077b20: 080cff1c .word 0x080cff1c 8077b24: 080d003c .word 0x080d003c 8077b28: 080d0050 .word 0x080d0050 } else { BSP_LCD_SetFont(&Font12); 8077b2c: 487b ldr r0, [pc, #492] ; (8077d1c ) 8077b2e: f7db fe95 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077b32: 497b ldr r1, [pc, #492] ; (8077d20 ) 8077b34: f04f 30ff mov.w r0, #4294967295 8077b38: f7db fe54 bl 80537e4 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Format error...", CENTER_MODE); 8077b3c: 2301 movs r3, #1 8077b3e: 4a79 ldr r2, [pc, #484] ; (8077d24 ) 8077b40: 218a movs r1, #138 ; 0x8a 8077b42: 20a0 movs r0, #160 ; 0xa0 8077b44: f7db ff14 bl 8053970 } } BSP_LCD_SetFont(&Font12); 8077b48: 4874 ldr r0, [pc, #464] ; (8077d1c ) 8077b4a: f7db fe87 bl 805385c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077b4e: 4974 ldr r1, [pc, #464] ; (8077d20 ) 8077b50: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077b54: f7db fe46 bl 80537e4 BSP_LCD_DisplayStringAt(160, 170, "Ok", CENTER_MODE); 8077b58: 2301 movs r3, #1 8077b5a: 4a73 ldr r2, [pc, #460] ; (8077d28 ) 8077b5c: 21aa movs r1, #170 ; 0xaa 8077b5e: 20a0 movs r0, #160 ; 0xa0 8077b60: f7db ff06 bl 8053970 8077b64: f000 bd85 b.w 8078672 } } else if(menupos == Ies) 8077b68: 4b70 ldr r3, [pc, #448] ; (8077d2c ) 8077b6a: 781b ldrb r3, [r3, #0] 8077b6c: b2db uxtb r3, r3 8077b6e: 2b0c cmp r3, #12 8077b70: f040 80f0 bne.w 8077d54 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077b74: 496a ldr r1, [pc, #424] ; (8077d20 ) 8077b76: f04f 30ff mov.w r0, #4294967295 8077b7a: f7db fe33 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8077b7e: 4b6c ldr r3, [pc, #432] ; (8077d30 ) 8077b80: 7b1b ldrb r3, [r3, #12] 8077b82: b2db uxtb r3, r3 8077b84: 4619 mov r1, r3 8077b86: 4b6a ldr r3, [pc, #424] ; (8077d30 ) 8077b88: 799b ldrb r3, [r3, #6] 8077b8a: b2db uxtb r3, r3 8077b8c: 4618 mov r0, r3 8077b8e: 4a69 ldr r2, [pc, #420] ; (8077d34 ) 8077b90: 460b mov r3, r1 8077b92: 005b lsls r3, r3, #1 8077b94: 440b add r3, r1 8077b96: 4403 add r3, r0 8077b98: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077b9c: 461a mov r2, r3 8077b9e: 215a movs r1, #90 ; 0x5a 8077ba0: 200a movs r0, #10 8077ba2: f7dc fbc7 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8077ba6: 4b62 ldr r3, [pc, #392] ; (8077d30 ) 8077ba8: 7b1b ldrb r3, [r3, #12] 8077baa: b2db uxtb r3, r3 8077bac: 4619 mov r1, r3 8077bae: 4a62 ldr r2, [pc, #392] ; (8077d38 ) 8077bb0: 460b mov r3, r1 8077bb2: 009b lsls r3, r3, #2 8077bb4: 440b add r3, r1 8077bb6: 009b lsls r3, r3, #2 8077bb8: 4413 add r3, r2 8077bba: 3304 adds r3, #4 8077bbc: 681b ldr r3, [r3, #0] 8077bbe: 461a mov r2, r3 8077bc0: 217a movs r1, #122 ; 0x7a 8077bc2: 200a movs r0, #10 8077bc4: f7dc fbb6 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8077bc8: 4b59 ldr r3, [pc, #356] ; (8077d30 ) 8077bca: 7b1b ldrb r3, [r3, #12] 8077bcc: b2db uxtb r3, r3 8077bce: 4619 mov r1, r3 8077bd0: 4a59 ldr r2, [pc, #356] ; (8077d38 ) 8077bd2: 460b mov r3, r1 8077bd4: 009b lsls r3, r3, #2 8077bd6: 440b add r3, r1 8077bd8: 009b lsls r3, r3, #2 8077bda: 4413 add r3, r2 8077bdc: 3308 adds r3, #8 8077bde: 681b ldr r3, [r3, #0] 8077be0: 461a mov r2, r3 8077be2: 216a movs r1, #106 ; 0x6a 8077be4: 200a movs r0, #10 8077be6: f7dc fba5 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8077bea: 4b51 ldr r3, [pc, #324] ; (8077d30 ) 8077bec: 7b1b ldrb r3, [r3, #12] 8077bee: b2db uxtb r3, r3 8077bf0: 4619 mov r1, r3 8077bf2: 4a51 ldr r2, [pc, #324] ; (8077d38 ) 8077bf4: 460b mov r3, r1 8077bf6: 009b lsls r3, r3, #2 8077bf8: 440b add r3, r1 8077bfa: 009b lsls r3, r3, #2 8077bfc: 4413 add r3, r2 8077bfe: 330c adds r3, #12 8077c00: 681b ldr r3, [r3, #0] 8077c02: 461a mov r2, r3 8077c04: 218a movs r1, #138 ; 0x8a 8077c06: 200a movs r0, #10 8077c08: f7dc fb94 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077c0c: 4944 ldr r1, [pc, #272] ; (8077d20 ) 8077c0e: 484b ldr r0, [pc, #300] ; (8077d3c ) 8077c10: f7db fde8 bl 80537e4 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077c14: 4b46 ldr r3, [pc, #280] ; (8077d30 ) 8077c16: 7b1b ldrb r3, [r3, #12] 8077c18: b2db uxtb r3, r3 8077c1a: 461a mov r2, r3 8077c1c: 4b48 ldr r3, [pc, #288] ; (8077d40 ) 8077c1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077c22: 461a mov r2, r3 8077c24: 216a movs r1, #106 ; 0x6a 8077c26: 20ff movs r0, #255 ; 0xff 8077c28: f7dc fb9c bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077c2c: 4b40 ldr r3, [pc, #256] ; (8077d30 ) 8077c2e: 7b1b ldrb r3, [r3, #12] 8077c30: b2db uxtb r3, r3 8077c32: 4619 mov r1, r3 8077c34: 4b3e ldr r3, [pc, #248] ; (8077d30 ) 8077c36: 799b ldrb r3, [r3, #6] 8077c38: b2db uxtb r3, r3 8077c3a: 4618 mov r0, r3 8077c3c: 4a41 ldr r2, [pc, #260] ; (8077d44 ) 8077c3e: 460b mov r3, r1 8077c40: 005b lsls r3, r3, #1 8077c42: 440b add r3, r1 8077c44: 4403 add r3, r0 8077c46: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077c4a: 461a mov r2, r3 8077c4c: 214a movs r1, #74 ; 0x4a 8077c4e: 20ff movs r0, #255 ; 0xff 8077c50: f7dc fb88 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077c54: 4932 ldr r1, [pc, #200] ; (8077d20 ) 8077c56: 4839 ldr r0, [pc, #228] ; (8077d3c ) 8077c58: f7db fdc4 bl 80537e4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077c5c: 4930 ldr r1, [pc, #192] ; (8077d20 ) 8077c5e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077c62: f7db fdbf bl 80537e4 if(blk) 8077c66: 4b38 ldr r3, [pc, #224] ; (8077d48 ) 8077c68: 681b ldr r3, [r3, #0] 8077c6a: 2b00 cmp r3, #0 8077c6c: d00b beq.n 8077c86 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8077c6e: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077c72: b2db uxtb r3, r3 8077c74: 461a mov r2, r3 8077c76: 4b35 ldr r3, [pc, #212] ; (8077d4c ) 8077c78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077c7c: 461a mov r2, r3 8077c7e: 215a movs r1, #90 ; 0x5a 8077c80: 20c6 movs r0, #198 ; 0xc6 8077c82: f7dc fb57 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077c86: 4926 ldr r1, [pc, #152] ; (8077d20 ) 8077c88: 482c ldr r0, [pc, #176] ; (8077d3c ) 8077c8a: f7db fdab bl 80537e4 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8077c8e: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8077c92: b2db uxtb r3, r3 8077c94: 461a mov r2, r3 8077c96: 4b2d ldr r3, [pc, #180] ; (8077d4c ) 8077c98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077c9c: 461a mov r2, r3 8077c9e: 215a movs r1, #90 ; 0x5a 8077ca0: 20d6 movs r0, #214 ; 0xd6 8077ca2: f7dc fb47 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8077ca6: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8077caa: b2db uxtb r3, r3 8077cac: 461a mov r2, r3 8077cae: 4b27 ldr r3, [pc, #156] ; (8077d4c ) 8077cb0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077cb4: 461a mov r2, r3 8077cb6: 215a movs r1, #90 ; 0x5a 8077cb8: 20e6 movs r0, #230 ; 0xe6 8077cba: f7dc fb3b bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 8077cbe: 4a24 ldr r2, [pc, #144] ; (8077d50 ) 8077cc0: 215a movs r1, #90 ; 0x5a 8077cc2: 20f6 movs r0, #246 ; 0xf6 8077cc4: f7dc fb36 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8077cc8: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8077ccc: b2db uxtb r3, r3 8077cce: 461a mov r2, r3 8077cd0: 4b1e ldr r3, [pc, #120] ; (8077d4c ) 8077cd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077cd6: 461a mov r2, r3 8077cd8: 215a movs r1, #90 ; 0x5a 8077cda: f44f 7083 mov.w r0, #262 ; 0x106 8077cde: f7dc fb29 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8077ce2: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8077ce6: b2db uxtb r3, r3 8077ce8: 461a mov r2, r3 8077cea: 4b18 ldr r3, [pc, #96] ; (8077d4c ) 8077cec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077cf0: 461a mov r2, r3 8077cf2: 215a movs r1, #90 ; 0x5a 8077cf4: f44f 708b mov.w r0, #278 ; 0x116 8077cf8: f7dc fb1c bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8077cfc: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8077d00: b2db uxtb r3, r3 8077d02: 461a mov r2, r3 8077d04: 4b11 ldr r3, [pc, #68] ; (8077d4c ) 8077d06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077d0a: 461a mov r2, r3 8077d0c: 215a movs r1, #90 ; 0x5a 8077d0e: f44f 7093 mov.w r0, #294 ; 0x126 8077d12: f7dc fb0f bl 8054334 8077d16: f000 bcac b.w 8078672 8077d1a: bf00 nop 8077d1c: 20020038 .word 0x20020038 8077d20: ff0a0f1f .word 0xff0a0f1f 8077d24: 080d0064 .word 0x080d0064 8077d28: 080cfedc .word 0x080cfedc 8077d2c: 20020070 .word 0x20020070 8077d30: 20023e60 .word 0x20023e60 8077d34: 200205d4 .word 0x200205d4 8077d38: 2002067c .word 0x2002067c 8077d3c: ffd8aa57 .word 0xffd8aa57 8077d40: 200205bc .word 0x200205bc 8077d44: 2002014c .word 0x2002014c 8077d48: 2002165c .word 0x2002165c 8077d4c: 20020964 .word 0x20020964 8077d50: 080cf820 .word 0x080cf820 } else if(menupos == Ied) 8077d54: 4b6b ldr r3, [pc, #428] ; (8077f04 ) 8077d56: 781b ldrb r3, [r3, #0] 8077d58: b2db uxtb r3, r3 8077d5a: 2b0d cmp r3, #13 8077d5c: f040 80e8 bne.w 8077f30 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077d60: 4969 ldr r1, [pc, #420] ; (8077f08 ) 8077d62: f04f 30ff mov.w r0, #4294967295 8077d66: f7db fd3d bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8077d6a: 4b68 ldr r3, [pc, #416] ; (8077f0c ) 8077d6c: 7b1b ldrb r3, [r3, #12] 8077d6e: b2db uxtb r3, r3 8077d70: 4619 mov r1, r3 8077d72: 4b66 ldr r3, [pc, #408] ; (8077f0c ) 8077d74: 799b ldrb r3, [r3, #6] 8077d76: b2db uxtb r3, r3 8077d78: 4618 mov r0, r3 8077d7a: 4a65 ldr r2, [pc, #404] ; (8077f10 ) 8077d7c: 460b mov r3, r1 8077d7e: 005b lsls r3, r3, #1 8077d80: 440b add r3, r1 8077d82: 4403 add r3, r0 8077d84: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077d88: 461a mov r2, r3 8077d8a: 215a movs r1, #90 ; 0x5a 8077d8c: 200a movs r0, #10 8077d8e: f7dc fad1 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8077d92: 4b5e ldr r3, [pc, #376] ; (8077f0c ) 8077d94: 7b1b ldrb r3, [r3, #12] 8077d96: b2db uxtb r3, r3 8077d98: 4619 mov r1, r3 8077d9a: 4a5e ldr r2, [pc, #376] ; (8077f14 ) 8077d9c: 460b mov r3, r1 8077d9e: 009b lsls r3, r3, #2 8077da0: 440b add r3, r1 8077da2: 009b lsls r3, r3, #2 8077da4: 4413 add r3, r2 8077da6: 3304 adds r3, #4 8077da8: 681b ldr r3, [r3, #0] 8077daa: 461a mov r2, r3 8077dac: 217a movs r1, #122 ; 0x7a 8077dae: 200a movs r0, #10 8077db0: f7dc fac0 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8077db4: 4b55 ldr r3, [pc, #340] ; (8077f0c ) 8077db6: 7b1b ldrb r3, [r3, #12] 8077db8: b2db uxtb r3, r3 8077dba: 4619 mov r1, r3 8077dbc: 4a55 ldr r2, [pc, #340] ; (8077f14 ) 8077dbe: 460b mov r3, r1 8077dc0: 009b lsls r3, r3, #2 8077dc2: 440b add r3, r1 8077dc4: 009b lsls r3, r3, #2 8077dc6: 4413 add r3, r2 8077dc8: 3308 adds r3, #8 8077dca: 681b ldr r3, [r3, #0] 8077dcc: 461a mov r2, r3 8077dce: 216a movs r1, #106 ; 0x6a 8077dd0: 200a movs r0, #10 8077dd2: f7dc faaf bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8077dd6: 4b4d ldr r3, [pc, #308] ; (8077f0c ) 8077dd8: 7b1b ldrb r3, [r3, #12] 8077dda: b2db uxtb r3, r3 8077ddc: 4619 mov r1, r3 8077dde: 4a4d ldr r2, [pc, #308] ; (8077f14 ) 8077de0: 460b mov r3, r1 8077de2: 009b lsls r3, r3, #2 8077de4: 440b add r3, r1 8077de6: 009b lsls r3, r3, #2 8077de8: 4413 add r3, r2 8077dea: 330c adds r3, #12 8077dec: 681b ldr r3, [r3, #0] 8077dee: 461a mov r2, r3 8077df0: 218a movs r1, #138 ; 0x8a 8077df2: 200a movs r0, #10 8077df4: f7dc fa9e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077df8: 4943 ldr r1, [pc, #268] ; (8077f08 ) 8077dfa: 4847 ldr r0, [pc, #284] ; (8077f18 ) 8077dfc: f7db fcf2 bl 80537e4 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077e00: 4b42 ldr r3, [pc, #264] ; (8077f0c ) 8077e02: 7b1b ldrb r3, [r3, #12] 8077e04: b2db uxtb r3, r3 8077e06: 461a mov r2, r3 8077e08: 4b44 ldr r3, [pc, #272] ; (8077f1c ) 8077e0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077e0e: 461a mov r2, r3 8077e10: 216a movs r1, #106 ; 0x6a 8077e12: 20ff movs r0, #255 ; 0xff 8077e14: f7dc faa6 bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077e18: 4b3c ldr r3, [pc, #240] ; (8077f0c ) 8077e1a: 7b1b ldrb r3, [r3, #12] 8077e1c: b2db uxtb r3, r3 8077e1e: 4619 mov r1, r3 8077e20: 4b3a ldr r3, [pc, #232] ; (8077f0c ) 8077e22: 799b ldrb r3, [r3, #6] 8077e24: b2db uxtb r3, r3 8077e26: 4618 mov r0, r3 8077e28: 4a3d ldr r2, [pc, #244] ; (8077f20 ) 8077e2a: 460b mov r3, r1 8077e2c: 005b lsls r3, r3, #1 8077e2e: 440b add r3, r1 8077e30: 4403 add r3, r0 8077e32: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077e36: 461a mov r2, r3 8077e38: 214a movs r1, #74 ; 0x4a 8077e3a: 20ff movs r0, #255 ; 0xff 8077e3c: f7dc fa92 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077e40: 4931 ldr r1, [pc, #196] ; (8077f08 ) 8077e42: 4835 ldr r0, [pc, #212] ; (8077f18 ) 8077e44: f7db fcce bl 80537e4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8077e48: 492f ldr r1, [pc, #188] ; (8077f08 ) 8077e4a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8077e4e: f7db fcc9 bl 80537e4 if(blk) 8077e52: 4b34 ldr r3, [pc, #208] ; (8077f24 ) 8077e54: 681b ldr r3, [r3, #0] 8077e56: 2b00 cmp r3, #0 8077e58: d00b beq.n 8077e72 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8077e5a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8077e5e: b2db uxtb r3, r3 8077e60: 461a mov r2, r3 8077e62: 4b31 ldr r3, [pc, #196] ; (8077f28 ) 8077e64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077e68: 461a mov r2, r3 8077e6a: 215a movs r1, #90 ; 0x5a 8077e6c: 20d6 movs r0, #214 ; 0xd6 8077e6e: f7dc fa61 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077e72: 4925 ldr r1, [pc, #148] ; (8077f08 ) 8077e74: 4828 ldr r0, [pc, #160] ; (8077f18 ) 8077e76: f7db fcb5 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8077e7a: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8077e7e: b2db uxtb r3, r3 8077e80: 461a mov r2, r3 8077e82: 4b29 ldr r3, [pc, #164] ; (8077f28 ) 8077e84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077e88: 461a mov r2, r3 8077e8a: 215a movs r1, #90 ; 0x5a 8077e8c: 20c6 movs r0, #198 ; 0xc6 8077e8e: f7dc fa51 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8077e92: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8077e96: b2db uxtb r3, r3 8077e98: 461a mov r2, r3 8077e9a: 4b23 ldr r3, [pc, #140] ; (8077f28 ) 8077e9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077ea0: 461a mov r2, r3 8077ea2: 215a movs r1, #90 ; 0x5a 8077ea4: 20e6 movs r0, #230 ; 0xe6 8077ea6: f7dc fa45 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 8077eaa: 4a20 ldr r2, [pc, #128] ; (8077f2c ) 8077eac: 215a movs r1, #90 ; 0x5a 8077eae: 20f6 movs r0, #246 ; 0xf6 8077eb0: f7dc fa40 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8077eb4: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8077eb8: b2db uxtb r3, r3 8077eba: 461a mov r2, r3 8077ebc: 4b1a ldr r3, [pc, #104] ; (8077f28 ) 8077ebe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077ec2: 461a mov r2, r3 8077ec4: 215a movs r1, #90 ; 0x5a 8077ec6: f44f 7083 mov.w r0, #262 ; 0x106 8077eca: f7dc fa33 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8077ece: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 8077ed2: b2db uxtb r3, r3 8077ed4: 461a mov r2, r3 8077ed6: 4b14 ldr r3, [pc, #80] ; (8077f28 ) 8077ed8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077edc: 461a mov r2, r3 8077ede: 215a movs r1, #90 ; 0x5a 8077ee0: f44f 708b mov.w r0, #278 ; 0x116 8077ee4: f7dc fa26 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 8077ee8: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8077eec: b2db uxtb r3, r3 8077eee: 461a mov r2, r3 8077ef0: 4b0d ldr r3, [pc, #52] ; (8077f28 ) 8077ef2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077ef6: 461a mov r2, r3 8077ef8: 215a movs r1, #90 ; 0x5a 8077efa: f44f 7093 mov.w r0, #294 ; 0x126 8077efe: f7dc fa19 bl 8054334 8077f02: e3b6 b.n 8078672 8077f04: 20020070 .word 0x20020070 8077f08: ff0a0f1f .word 0xff0a0f1f 8077f0c: 20023e60 .word 0x20023e60 8077f10: 200205d4 .word 0x200205d4 8077f14: 2002067c .word 0x2002067c 8077f18: ffd8aa57 .word 0xffd8aa57 8077f1c: 200205bc .word 0x200205bc 8077f20: 2002014c .word 0x2002014c 8077f24: 2002165c .word 0x2002165c 8077f28: 20020964 .word 0x20020964 8077f2c: 080cf820 .word 0x080cf820 } else if(menupos == Iee) 8077f30: 4b6b ldr r3, [pc, #428] ; (80780e0 ) 8077f32: 781b ldrb r3, [r3, #0] 8077f34: b2db uxtb r3, r3 8077f36: 2b0e cmp r3, #14 8077f38: f040 80e8 bne.w 807810c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8077f3c: 4969 ldr r1, [pc, #420] ; (80780e4 ) 8077f3e: f04f 30ff mov.w r0, #4294967295 8077f42: f7db fc4f bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8077f46: 4b68 ldr r3, [pc, #416] ; (80780e8 ) 8077f48: 7b1b ldrb r3, [r3, #12] 8077f4a: b2db uxtb r3, r3 8077f4c: 4619 mov r1, r3 8077f4e: 4b66 ldr r3, [pc, #408] ; (80780e8 ) 8077f50: 799b ldrb r3, [r3, #6] 8077f52: b2db uxtb r3, r3 8077f54: 4618 mov r0, r3 8077f56: 4a65 ldr r2, [pc, #404] ; (80780ec ) 8077f58: 460b mov r3, r1 8077f5a: 005b lsls r3, r3, #1 8077f5c: 440b add r3, r1 8077f5e: 4403 add r3, r0 8077f60: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8077f64: 461a mov r2, r3 8077f66: 215a movs r1, #90 ; 0x5a 8077f68: 200a movs r0, #10 8077f6a: f7dc f9e3 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8077f6e: 4b5e ldr r3, [pc, #376] ; (80780e8 ) 8077f70: 7b1b ldrb r3, [r3, #12] 8077f72: b2db uxtb r3, r3 8077f74: 4619 mov r1, r3 8077f76: 4a5e ldr r2, [pc, #376] ; (80780f0 ) 8077f78: 460b mov r3, r1 8077f7a: 009b lsls r3, r3, #2 8077f7c: 440b add r3, r1 8077f7e: 009b lsls r3, r3, #2 8077f80: 4413 add r3, r2 8077f82: 3304 adds r3, #4 8077f84: 681b ldr r3, [r3, #0] 8077f86: 461a mov r2, r3 8077f88: 217a movs r1, #122 ; 0x7a 8077f8a: 200a movs r0, #10 8077f8c: f7dc f9d2 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8077f90: 4b55 ldr r3, [pc, #340] ; (80780e8 ) 8077f92: 7b1b ldrb r3, [r3, #12] 8077f94: b2db uxtb r3, r3 8077f96: 4619 mov r1, r3 8077f98: 4a55 ldr r2, [pc, #340] ; (80780f0 ) 8077f9a: 460b mov r3, r1 8077f9c: 009b lsls r3, r3, #2 8077f9e: 440b add r3, r1 8077fa0: 009b lsls r3, r3, #2 8077fa2: 4413 add r3, r2 8077fa4: 3308 adds r3, #8 8077fa6: 681b ldr r3, [r3, #0] 8077fa8: 461a mov r2, r3 8077faa: 216a movs r1, #106 ; 0x6a 8077fac: 200a movs r0, #10 8077fae: f7dc f9c1 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8077fb2: 4b4d ldr r3, [pc, #308] ; (80780e8 ) 8077fb4: 7b1b ldrb r3, [r3, #12] 8077fb6: b2db uxtb r3, r3 8077fb8: 4619 mov r1, r3 8077fba: 4a4d ldr r2, [pc, #308] ; (80780f0 ) 8077fbc: 460b mov r3, r1 8077fbe: 009b lsls r3, r3, #2 8077fc0: 440b add r3, r1 8077fc2: 009b lsls r3, r3, #2 8077fc4: 4413 add r3, r2 8077fc6: 330c adds r3, #12 8077fc8: 681b ldr r3, [r3, #0] 8077fca: 461a mov r2, r3 8077fcc: 218a movs r1, #138 ; 0x8a 8077fce: 200a movs r0, #10 8077fd0: f7dc f9b0 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8077fd4: 4943 ldr r1, [pc, #268] ; (80780e4 ) 8077fd6: 4847 ldr r0, [pc, #284] ; (80780f4 ) 8077fd8: f7db fc04 bl 80537e4 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8077fdc: 4b42 ldr r3, [pc, #264] ; (80780e8 ) 8077fde: 7b1b ldrb r3, [r3, #12] 8077fe0: b2db uxtb r3, r3 8077fe2: 461a mov r2, r3 8077fe4: 4b44 ldr r3, [pc, #272] ; (80780f8 ) 8077fe6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8077fea: 461a mov r2, r3 8077fec: 216a movs r1, #106 ; 0x6a 8077fee: 20ff movs r0, #255 ; 0xff 8077ff0: f7dc f9b8 bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8077ff4: 4b3c ldr r3, [pc, #240] ; (80780e8 ) 8077ff6: 7b1b ldrb r3, [r3, #12] 8077ff8: b2db uxtb r3, r3 8077ffa: 4619 mov r1, r3 8077ffc: 4b3a ldr r3, [pc, #232] ; (80780e8 ) 8077ffe: 799b ldrb r3, [r3, #6] 8078000: b2db uxtb r3, r3 8078002: 4618 mov r0, r3 8078004: 4a3d ldr r2, [pc, #244] ; (80780fc ) 8078006: 460b mov r3, r1 8078008: 005b lsls r3, r3, #1 807800a: 440b add r3, r1 807800c: 4403 add r3, r0 807800e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078012: 461a mov r2, r3 8078014: 214a movs r1, #74 ; 0x4a 8078016: 20ff movs r0, #255 ; 0xff 8078018: f7dc f9a4 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807801c: 4931 ldr r1, [pc, #196] ; (80780e4 ) 807801e: 4835 ldr r0, [pc, #212] ; (80780f4 ) 8078020: f7db fbe0 bl 80537e4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078024: 492f ldr r1, [pc, #188] ; (80780e4 ) 8078026: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807802a: f7db fbdb bl 80537e4 if(blk) 807802e: 4b34 ldr r3, [pc, #208] ; (8078100 ) 8078030: 681b ldr r3, [r3, #0] 8078032: 2b00 cmp r3, #0 8078034: d00b beq.n 807804e LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8078036: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 807803a: b2db uxtb r3, r3 807803c: 461a mov r2, r3 807803e: 4b31 ldr r3, [pc, #196] ; (8078104 ) 8078040: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078044: 461a mov r2, r3 8078046: 215a movs r1, #90 ; 0x5a 8078048: 20e6 movs r0, #230 ; 0xe6 807804a: f7dc f973 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807804e: 4925 ldr r1, [pc, #148] ; (80780e4 ) 8078050: 4828 ldr r0, [pc, #160] ; (80780f4 ) 8078052: f7db fbc7 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8078056: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 807805a: b2db uxtb r3, r3 807805c: 461a mov r2, r3 807805e: 4b29 ldr r3, [pc, #164] ; (8078104 ) 8078060: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078064: 461a mov r2, r3 8078066: 215a movs r1, #90 ; 0x5a 8078068: 20c6 movs r0, #198 ; 0xc6 807806a: f7dc f963 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 807806e: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8078072: b2db uxtb r3, r3 8078074: 461a mov r2, r3 8078076: 4b23 ldr r3, [pc, #140] ; (8078104 ) 8078078: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807807c: 461a mov r2, r3 807807e: 215a movs r1, #90 ; 0x5a 8078080: 20d6 movs r0, #214 ; 0xd6 8078082: f7dc f957 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 8078086: 4a20 ldr r2, [pc, #128] ; (8078108 ) 8078088: 215a movs r1, #90 ; 0x5a 807808a: 20f6 movs r0, #246 ; 0xf6 807808c: f7dc f952 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8078090: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8078094: b2db uxtb r3, r3 8078096: 461a mov r2, r3 8078098: 4b1a ldr r3, [pc, #104] ; (8078104 ) 807809a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807809e: 461a mov r2, r3 80780a0: 215a movs r1, #90 ; 0x5a 80780a2: f44f 7083 mov.w r0, #262 ; 0x106 80780a6: f7dc f945 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 80780aa: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 80780ae: b2db uxtb r3, r3 80780b0: 461a mov r2, r3 80780b2: 4b14 ldr r3, [pc, #80] ; (8078104 ) 80780b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80780b8: 461a mov r2, r3 80780ba: 215a movs r1, #90 ; 0x5a 80780bc: f44f 708b mov.w r0, #278 ; 0x116 80780c0: f7dc f938 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 80780c4: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 80780c8: b2db uxtb r3, r3 80780ca: 461a mov r2, r3 80780cc: 4b0d ldr r3, [pc, #52] ; (8078104 ) 80780ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80780d2: 461a mov r2, r3 80780d4: 215a movs r1, #90 ; 0x5a 80780d6: f44f 7093 mov.w r0, #294 ; 0x126 80780da: f7dc f92b bl 8054334 80780de: e2c8 b.n 8078672 80780e0: 20020070 .word 0x20020070 80780e4: ff0a0f1f .word 0xff0a0f1f 80780e8: 20023e60 .word 0x20023e60 80780ec: 200205d4 .word 0x200205d4 80780f0: 2002067c .word 0x2002067c 80780f4: ffd8aa57 .word 0xffd8aa57 80780f8: 200205bc .word 0x200205bc 80780fc: 2002014c .word 0x2002014c 8078100: 2002165c .word 0x2002165c 8078104: 20020964 .word 0x20020964 8078108: 080cf820 .word 0x080cf820 } else if(menupos == Ikd) 807810c: 4b6b ldr r3, [pc, #428] ; (80782bc ) 807810e: 781b ldrb r3, [r3, #0] 8078110: b2db uxtb r3, r3 8078112: 2b0f cmp r3, #15 8078114: f040 80e8 bne.w 80782e8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078118: 4969 ldr r1, [pc, #420] ; (80782c0 ) 807811a: f04f 30ff mov.w r0, #4294967295 807811e: f7db fb61 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 8078122: 4b68 ldr r3, [pc, #416] ; (80782c4 ) 8078124: 7b1b ldrb r3, [r3, #12] 8078126: b2db uxtb r3, r3 8078128: 4619 mov r1, r3 807812a: 4b66 ldr r3, [pc, #408] ; (80782c4 ) 807812c: 799b ldrb r3, [r3, #6] 807812e: b2db uxtb r3, r3 8078130: 4618 mov r0, r3 8078132: 4a65 ldr r2, [pc, #404] ; (80782c8 ) 8078134: 460b mov r3, r1 8078136: 005b lsls r3, r3, #1 8078138: 440b add r3, r1 807813a: 4403 add r3, r0 807813c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8078140: 461a mov r2, r3 8078142: 215a movs r1, #90 ; 0x5a 8078144: 200a movs r0, #10 8078146: f7dc f8f5 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 807814a: 4b5e ldr r3, [pc, #376] ; (80782c4 ) 807814c: 7b1b ldrb r3, [r3, #12] 807814e: b2db uxtb r3, r3 8078150: 4619 mov r1, r3 8078152: 4a5e ldr r2, [pc, #376] ; (80782cc ) 8078154: 460b mov r3, r1 8078156: 009b lsls r3, r3, #2 8078158: 440b add r3, r1 807815a: 009b lsls r3, r3, #2 807815c: 4413 add r3, r2 807815e: 3304 adds r3, #4 8078160: 681b ldr r3, [r3, #0] 8078162: 461a mov r2, r3 8078164: 217a movs r1, #122 ; 0x7a 8078166: 200a movs r0, #10 8078168: f7dc f8e4 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 807816c: 4b55 ldr r3, [pc, #340] ; (80782c4 ) 807816e: 7b1b ldrb r3, [r3, #12] 8078170: b2db uxtb r3, r3 8078172: 4619 mov r1, r3 8078174: 4a55 ldr r2, [pc, #340] ; (80782cc ) 8078176: 460b mov r3, r1 8078178: 009b lsls r3, r3, #2 807817a: 440b add r3, r1 807817c: 009b lsls r3, r3, #2 807817e: 4413 add r3, r2 8078180: 3308 adds r3, #8 8078182: 681b ldr r3, [r3, #0] 8078184: 461a mov r2, r3 8078186: 216a movs r1, #106 ; 0x6a 8078188: 200a movs r0, #10 807818a: f7dc f8d3 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807818e: 4b4d ldr r3, [pc, #308] ; (80782c4 ) 8078190: 7b1b ldrb r3, [r3, #12] 8078192: b2db uxtb r3, r3 8078194: 4619 mov r1, r3 8078196: 4a4d ldr r2, [pc, #308] ; (80782cc ) 8078198: 460b mov r3, r1 807819a: 009b lsls r3, r3, #2 807819c: 440b add r3, r1 807819e: 009b lsls r3, r3, #2 80781a0: 4413 add r3, r2 80781a2: 330c adds r3, #12 80781a4: 681b ldr r3, [r3, #0] 80781a6: 461a mov r2, r3 80781a8: 218a movs r1, #138 ; 0x8a 80781aa: 200a movs r0, #10 80781ac: f7dc f8c2 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80781b0: 4943 ldr r1, [pc, #268] ; (80782c0 ) 80781b2: 4847 ldr r0, [pc, #284] ; (80782d0 ) 80781b4: f7db fb16 bl 80537e4 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 80781b8: 4b42 ldr r3, [pc, #264] ; (80782c4 ) 80781ba: 7b1b ldrb r3, [r3, #12] 80781bc: b2db uxtb r3, r3 80781be: 461a mov r2, r3 80781c0: 4b44 ldr r3, [pc, #272] ; (80782d4 ) 80781c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80781c6: 461a mov r2, r3 80781c8: 216a movs r1, #106 ; 0x6a 80781ca: 20ff movs r0, #255 ; 0xff 80781cc: f7dc f8ca bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80781d0: 4b3c ldr r3, [pc, #240] ; (80782c4 ) 80781d2: 7b1b ldrb r3, [r3, #12] 80781d4: b2db uxtb r3, r3 80781d6: 4619 mov r1, r3 80781d8: 4b3a ldr r3, [pc, #232] ; (80782c4 ) 80781da: 799b ldrb r3, [r3, #6] 80781dc: b2db uxtb r3, r3 80781de: 4618 mov r0, r3 80781e0: 4a3d ldr r2, [pc, #244] ; (80782d8 ) 80781e2: 460b mov r3, r1 80781e4: 005b lsls r3, r3, #1 80781e6: 440b add r3, r1 80781e8: 4403 add r3, r0 80781ea: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80781ee: 461a mov r2, r3 80781f0: 214a movs r1, #74 ; 0x4a 80781f2: 20ff movs r0, #255 ; 0xff 80781f4: f7dc f8b6 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80781f8: 4931 ldr r1, [pc, #196] ; (80782c0 ) 80781fa: 4835 ldr r0, [pc, #212] ; (80782d0 ) 80781fc: f7db faf2 bl 80537e4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078200: 492f ldr r1, [pc, #188] ; (80782c0 ) 8078202: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078206: f7db faed bl 80537e4 if(blk) 807820a: 4b34 ldr r3, [pc, #208] ; (80782dc ) 807820c: 681b ldr r3, [r3, #0] 807820e: 2b00 cmp r3, #0 8078210: d00c beq.n 807822c LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8078212: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8078216: b2db uxtb r3, r3 8078218: 461a mov r2, r3 807821a: 4b31 ldr r3, [pc, #196] ; (80782e0 ) 807821c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078220: 461a mov r2, r3 8078222: 215a movs r1, #90 ; 0x5a 8078224: f44f 7083 mov.w r0, #262 ; 0x106 8078228: f7dc f884 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807822c: 4924 ldr r1, [pc, #144] ; (80782c0 ) 807822e: 4828 ldr r0, [pc, #160] ; (80782d0 ) 8078230: f7db fad8 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8078234: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078238: b2db uxtb r3, r3 807823a: 461a mov r2, r3 807823c: 4b28 ldr r3, [pc, #160] ; (80782e0 ) 807823e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078242: 461a mov r2, r3 8078244: 215a movs r1, #90 ; 0x5a 8078246: 20c6 movs r0, #198 ; 0xc6 8078248: f7dc f874 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 807824c: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8078250: b2db uxtb r3, r3 8078252: 461a mov r2, r3 8078254: 4b22 ldr r3, [pc, #136] ; (80782e0 ) 8078256: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807825a: 461a mov r2, r3 807825c: 215a movs r1, #90 ; 0x5a 807825e: 20d6 movs r0, #214 ; 0xd6 8078260: f7dc f868 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8078264: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8078268: b2db uxtb r3, r3 807826a: 461a mov r2, r3 807826c: 4b1c ldr r3, [pc, #112] ; (80782e0 ) 807826e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078272: 461a mov r2, r3 8078274: 215a movs r1, #90 ; 0x5a 8078276: 20e6 movs r0, #230 ; 0xe6 8078278: f7dc f85c bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 807827c: 4a19 ldr r2, [pc, #100] ; (80782e4 ) 807827e: 215a movs r1, #90 ; 0x5a 8078280: 20f6 movs r0, #246 ; 0xf6 8078282: f7dc f857 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8078286: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 807828a: b2db uxtb r3, r3 807828c: 461a mov r2, r3 807828e: 4b14 ldr r3, [pc, #80] ; (80782e0 ) 8078290: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078294: 461a mov r2, r3 8078296: 215a movs r1, #90 ; 0x5a 8078298: f44f 708b mov.w r0, #278 ; 0x116 807829c: f7dc f84a bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 80782a0: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 80782a4: b2db uxtb r3, r3 80782a6: 461a mov r2, r3 80782a8: 4b0d ldr r3, [pc, #52] ; (80782e0 ) 80782aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80782ae: 461a mov r2, r3 80782b0: 215a movs r1, #90 ; 0x5a 80782b2: f44f 7093 mov.w r0, #294 ; 0x126 80782b6: f7dc f83d bl 8054334 80782ba: e1da b.n 8078672 80782bc: 20020070 .word 0x20020070 80782c0: ff0a0f1f .word 0xff0a0f1f 80782c4: 20023e60 .word 0x20023e60 80782c8: 200205d4 .word 0x200205d4 80782cc: 2002067c .word 0x2002067c 80782d0: ffd8aa57 .word 0xffd8aa57 80782d4: 200205bc .word 0x200205bc 80782d8: 2002014c .word 0x2002014c 80782dc: 2002165c .word 0x2002165c 80782e0: 20020964 .word 0x20020964 80782e4: 080cf820 .word 0x080cf820 } else if(menupos == Iks) 80782e8: 4b6b ldr r3, [pc, #428] ; (8078498 ) 80782ea: 781b ldrb r3, [r3, #0] 80782ec: b2db uxtb r3, r3 80782ee: 2b10 cmp r3, #16 80782f0: f040 80e8 bne.w 80784c4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80782f4: 4969 ldr r1, [pc, #420] ; (807849c ) 80782f6: f04f 30ff mov.w r0, #4294967295 80782fa: f7db fa73 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80782fe: 4b68 ldr r3, [pc, #416] ; (80784a0 ) 8078300: 7b1b ldrb r3, [r3, #12] 8078302: b2db uxtb r3, r3 8078304: 4619 mov r1, r3 8078306: 4b66 ldr r3, [pc, #408] ; (80784a0 ) 8078308: 799b ldrb r3, [r3, #6] 807830a: b2db uxtb r3, r3 807830c: 4618 mov r0, r3 807830e: 4a65 ldr r2, [pc, #404] ; (80784a4 ) 8078310: 460b mov r3, r1 8078312: 005b lsls r3, r3, #1 8078314: 440b add r3, r1 8078316: 4403 add r3, r0 8078318: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807831c: 461a mov r2, r3 807831e: 215a movs r1, #90 ; 0x5a 8078320: 200a movs r0, #10 8078322: f7dc f807 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8078326: 4b5e ldr r3, [pc, #376] ; (80784a0 ) 8078328: 7b1b ldrb r3, [r3, #12] 807832a: b2db uxtb r3, r3 807832c: 4619 mov r1, r3 807832e: 4a5e ldr r2, [pc, #376] ; (80784a8 ) 8078330: 460b mov r3, r1 8078332: 009b lsls r3, r3, #2 8078334: 440b add r3, r1 8078336: 009b lsls r3, r3, #2 8078338: 4413 add r3, r2 807833a: 3304 adds r3, #4 807833c: 681b ldr r3, [r3, #0] 807833e: 461a mov r2, r3 8078340: 217a movs r1, #122 ; 0x7a 8078342: 200a movs r0, #10 8078344: f7db fff6 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8078348: 4b55 ldr r3, [pc, #340] ; (80784a0 ) 807834a: 7b1b ldrb r3, [r3, #12] 807834c: b2db uxtb r3, r3 807834e: 4619 mov r1, r3 8078350: 4a55 ldr r2, [pc, #340] ; (80784a8 ) 8078352: 460b mov r3, r1 8078354: 009b lsls r3, r3, #2 8078356: 440b add r3, r1 8078358: 009b lsls r3, r3, #2 807835a: 4413 add r3, r2 807835c: 3308 adds r3, #8 807835e: 681b ldr r3, [r3, #0] 8078360: 461a mov r2, r3 8078362: 216a movs r1, #106 ; 0x6a 8078364: 200a movs r0, #10 8078366: f7db ffe5 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 807836a: 4b4d ldr r3, [pc, #308] ; (80784a0 ) 807836c: 7b1b ldrb r3, [r3, #12] 807836e: b2db uxtb r3, r3 8078370: 4619 mov r1, r3 8078372: 4a4d ldr r2, [pc, #308] ; (80784a8 ) 8078374: 460b mov r3, r1 8078376: 009b lsls r3, r3, #2 8078378: 440b add r3, r1 807837a: 009b lsls r3, r3, #2 807837c: 4413 add r3, r2 807837e: 330c adds r3, #12 8078380: 681b ldr r3, [r3, #0] 8078382: 461a mov r2, r3 8078384: 218a movs r1, #138 ; 0x8a 8078386: 200a movs r0, #10 8078388: f7db ffd4 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807838c: 4943 ldr r1, [pc, #268] ; (807849c ) 807838e: 4847 ldr r0, [pc, #284] ; (80784ac ) 8078390: f7db fa28 bl 80537e4 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078394: 4b42 ldr r3, [pc, #264] ; (80784a0 ) 8078396: 7b1b ldrb r3, [r3, #12] 8078398: b2db uxtb r3, r3 807839a: 461a mov r2, r3 807839c: 4b44 ldr r3, [pc, #272] ; (80784b0 ) 807839e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80783a2: 461a mov r2, r3 80783a4: 216a movs r1, #106 ; 0x6a 80783a6: 20ff movs r0, #255 ; 0xff 80783a8: f7db ffdc bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 80783ac: 4b3c ldr r3, [pc, #240] ; (80784a0 ) 80783ae: 7b1b ldrb r3, [r3, #12] 80783b0: b2db uxtb r3, r3 80783b2: 4619 mov r1, r3 80783b4: 4b3a ldr r3, [pc, #232] ; (80784a0 ) 80783b6: 799b ldrb r3, [r3, #6] 80783b8: b2db uxtb r3, r3 80783ba: 4618 mov r0, r3 80783bc: 4a3d ldr r2, [pc, #244] ; (80784b4 ) 80783be: 460b mov r3, r1 80783c0: 005b lsls r3, r3, #1 80783c2: 440b add r3, r1 80783c4: 4403 add r3, r0 80783c6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80783ca: 461a mov r2, r3 80783cc: 214a movs r1, #74 ; 0x4a 80783ce: 20ff movs r0, #255 ; 0xff 80783d0: f7db ffc8 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80783d4: 4931 ldr r1, [pc, #196] ; (807849c ) 80783d6: 4835 ldr r0, [pc, #212] ; (80784ac ) 80783d8: f7db fa04 bl 80537e4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80783dc: 492f ldr r1, [pc, #188] ; (807849c ) 80783de: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80783e2: f7db f9ff bl 80537e4 if(blk) 80783e6: 4b34 ldr r3, [pc, #208] ; (80784b8 ) 80783e8: 681b ldr r3, [r3, #0] 80783ea: 2b00 cmp r3, #0 80783ec: d00c beq.n 8078408 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 80783ee: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 80783f2: b2db uxtb r3, r3 80783f4: 461a mov r2, r3 80783f6: 4b31 ldr r3, [pc, #196] ; (80784bc ) 80783f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80783fc: 461a mov r2, r3 80783fe: 215a movs r1, #90 ; 0x5a 8078400: f44f 708b mov.w r0, #278 ; 0x116 8078404: f7db ff96 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078408: 4924 ldr r1, [pc, #144] ; (807849c ) 807840a: 4828 ldr r0, [pc, #160] ; (80784ac ) 807840c: f7db f9ea bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 8078410: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8078414: b2db uxtb r3, r3 8078416: 461a mov r2, r3 8078418: 4b28 ldr r3, [pc, #160] ; (80784bc ) 807841a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807841e: 461a mov r2, r3 8078420: 215a movs r1, #90 ; 0x5a 8078422: 20c6 movs r0, #198 ; 0xc6 8078424: f7db ff86 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8078428: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 807842c: b2db uxtb r3, r3 807842e: 461a mov r2, r3 8078430: 4b22 ldr r3, [pc, #136] ; (80784bc ) 8078432: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078436: 461a mov r2, r3 8078438: 215a movs r1, #90 ; 0x5a 807843a: 20d6 movs r0, #214 ; 0xd6 807843c: f7db ff7a bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 8078440: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8078444: b2db uxtb r3, r3 8078446: 461a mov r2, r3 8078448: 4b1c ldr r3, [pc, #112] ; (80784bc ) 807844a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807844e: 461a mov r2, r3 8078450: 215a movs r1, #90 ; 0x5a 8078452: 20e6 movs r0, #230 ; 0xe6 8078454: f7db ff6e bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 8078458: 4a19 ldr r2, [pc, #100] ; (80784c0 ) 807845a: 215a movs r1, #90 ; 0x5a 807845c: 20f6 movs r0, #246 ; 0xf6 807845e: f7db ff69 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 8078462: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8078466: b2db uxtb r3, r3 8078468: 461a mov r2, r3 807846a: 4b14 ldr r3, [pc, #80] ; (80784bc ) 807846c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078470: 461a mov r2, r3 8078472: 215a movs r1, #90 ; 0x5a 8078474: f44f 7083 mov.w r0, #262 ; 0x106 8078478: f7db ff5c bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 807847c: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 8078480: b2db uxtb r3, r3 8078482: 461a mov r2, r3 8078484: 4b0d ldr r3, [pc, #52] ; (80784bc ) 8078486: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807848a: 461a mov r2, r3 807848c: 215a movs r1, #90 ; 0x5a 807848e: f44f 7093 mov.w r0, #294 ; 0x126 8078492: f7db ff4f bl 8054334 8078496: e0ec b.n 8078672 8078498: 20020070 .word 0x20020070 807849c: ff0a0f1f .word 0xff0a0f1f 80784a0: 20023e60 .word 0x20023e60 80784a4: 200205d4 .word 0x200205d4 80784a8: 2002067c .word 0x2002067c 80784ac: ffd8aa57 .word 0xffd8aa57 80784b0: 200205bc .word 0x200205bc 80784b4: 2002014c .word 0x2002014c 80784b8: 2002165c .word 0x2002165c 80784bc: 20020964 .word 0x20020964 80784c0: 080cf820 .word 0x080cf820 } else if(menupos == Ikt) 80784c4: 4b75 ldr r3, [pc, #468] ; (807869c ) 80784c6: 781b ldrb r3, [r3, #0] 80784c8: b2db uxtb r3, r3 80784ca: 2b11 cmp r3, #17 80784cc: f040 80d1 bne.w 8078672 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80784d0: 4973 ldr r1, [pc, #460] ; (80786a0 ) 80784d2: f04f 30ff mov.w r0, #4294967295 80784d6: f7db f985 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_Kpr[pardata.LANG][pardata.IIN]); //"Êïð,ìÂ/ì/ñ^" 80784da: 4b72 ldr r3, [pc, #456] ; (80786a4 ) 80784dc: 7b1b ldrb r3, [r3, #12] 80784de: b2db uxtb r3, r3 80784e0: 4619 mov r1, r3 80784e2: 4b70 ldr r3, [pc, #448] ; (80786a4 ) 80784e4: 799b ldrb r3, [r3, #6] 80784e6: b2db uxtb r3, r3 80784e8: 4618 mov r0, r3 80784ea: 4a6f ldr r2, [pc, #444] ; (80786a8 ) 80784ec: 460b mov r3, r1 80784ee: 005b lsls r3, r3, #1 80784f0: 440b add r3, r1 80784f2: 4403 add r3, r0 80784f4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80784f8: 461a mov r2, r3 80784fa: 215a movs r1, #90 ; 0x5a 80784fc: 200a movs r0, #10 80784fe: f7db ff19 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_OPTIONS[pardata.LANG][1]);//"Äàòà è âðåìÿ" 8078502: 4b68 ldr r3, [pc, #416] ; (80786a4 ) 8078504: 7b1b ldrb r3, [r3, #12] 8078506: b2db uxtb r3, r3 8078508: 4619 mov r1, r3 807850a: 4a68 ldr r2, [pc, #416] ; (80786ac ) 807850c: 460b mov r3, r1 807850e: 009b lsls r3, r3, #2 8078510: 440b add r3, r1 8078512: 009b lsls r3, r3, #2 8078514: 4413 add r3, r2 8078516: 3304 adds r3, #4 8078518: 681b ldr r3, [r3, #0] 807851a: 461a mov r2, r3 807851c: 217a movs r1, #122 ; 0x7a 807851e: 200a movs r0, #10 8078520: f7db ff08 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_OPTIONS[pardata.LANG][2]);//"ßçûê" 8078524: 4b5f ldr r3, [pc, #380] ; (80786a4 ) 8078526: 7b1b ldrb r3, [r3, #12] 8078528: b2db uxtb r3, r3 807852a: 4619 mov r1, r3 807852c: 4a5f ldr r2, [pc, #380] ; (80786ac ) 807852e: 460b mov r3, r1 8078530: 009b lsls r3, r3, #2 8078532: 440b add r3, r1 8078534: 009b lsls r3, r3, #2 8078536: 4413 add r3, r2 8078538: 3308 adds r3, #8 807853a: 681b ldr r3, [r3, #0] 807853c: 461a mov r2, r3 807853e: 216a movs r1, #106 ; 0x6a 8078540: 200a movs r0, #10 8078542: f7db fef7 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_OPTIONS[pardata.LANG][3]);//"Ôîðìàòèðîâàíèå äèñêà" 8078546: 4b57 ldr r3, [pc, #348] ; (80786a4 ) 8078548: 7b1b ldrb r3, [r3, #12] 807854a: b2db uxtb r3, r3 807854c: 4619 mov r1, r3 807854e: 4a57 ldr r2, [pc, #348] ; (80786ac ) 8078550: 460b mov r3, r1 8078552: 009b lsls r3, r3, #2 8078554: 440b add r3, r1 8078556: 009b lsls r3, r3, #2 8078558: 4413 add r3, r2 807855a: 330c adds r3, #12 807855c: 681b ldr r3, [r3, #0] 807855e: 461a mov r2, r3 8078560: 218a movs r1, #138 ; 0x8a 8078562: 200a movs r0, #10 8078564: f7db fee6 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078568: 494d ldr r1, [pc, #308] ; (80786a0 ) 807856a: 4851 ldr r0, [pc, #324] ; (80786b0 ) 807856c: f7db f93a bl 80537e4 //LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); LCD_DisplayStringC(255, LCD_LINE_6, (char *) pLANG[pardata.LANG]); 8078570: 4b4c ldr r3, [pc, #304] ; (80786a4 ) 8078572: 7b1b ldrb r3, [r3, #12] 8078574: b2db uxtb r3, r3 8078576: 461a mov r2, r3 8078578: 4b4e ldr r3, [pc, #312] ; (80786b4 ) 807857a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807857e: 461a mov r2, r3 8078580: 216a movs r1, #106 ; 0x6a 8078582: 20ff movs r0, #255 ; 0xff 8078584: f7db feee bl 8054364 #if (defined(USE_D101) || defined(USE_D102)) LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); #endif LCD_DisplayStringC(255, LCD_LINE_4, (char *) pIIN[pardata.LANG][pardata.IIN]); 8078588: 4b46 ldr r3, [pc, #280] ; (80786a4 ) 807858a: 7b1b ldrb r3, [r3, #12] 807858c: b2db uxtb r3, r3 807858e: 4619 mov r1, r3 8078590: 4b44 ldr r3, [pc, #272] ; (80786a4 ) 8078592: 799b ldrb r3, [r3, #6] 8078594: b2db uxtb r3, r3 8078596: 4618 mov r0, r3 8078598: 4a47 ldr r2, [pc, #284] ; (80786b8 ) 807859a: 460b mov r3, r1 807859c: 005b lsls r3, r3, #1 807859e: 440b add r3, r1 80785a0: 4403 add r3, r0 80785a2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80785a6: 461a mov r2, r3 80785a8: 214a movs r1, #74 ; 0x4a 80785aa: 20ff movs r0, #255 ; 0xff 80785ac: f7db feda bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80785b0: 493b ldr r1, [pc, #236] ; (80786a0 ) 80785b2: 483f ldr r0, [pc, #252] ; (80786b0 ) 80785b4: f7db f916 bl 80537e4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80785b8: 4939 ldr r1, [pc, #228] ; (80786a0 ) 80785ba: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80785be: f7db f911 bl 80537e4 if(blk) 80785c2: 4b3e ldr r3, [pc, #248] ; (80786bc ) 80785c4: 681b ldr r3, [r3, #0] 80785c6: 2b00 cmp r3, #0 80785c8: d00c beq.n 80785e4 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikt]); 80785ca: f897 33e0 ldrb.w r3, [r7, #992] ; 0x3e0 80785ce: b2db uxtb r3, r3 80785d0: 461a mov r2, r3 80785d2: 4b3b ldr r3, [pc, #236] ; (80786c0 ) 80785d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80785d8: 461a mov r2, r3 80785da: 215a movs r1, #90 ; 0x5a 80785dc: f44f 7093 mov.w r0, #294 ; 0x126 80785e0: f7db fea8 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80785e4: 492e ldr r1, [pc, #184] ; (80786a0 ) 80785e6: 4832 ldr r0, [pc, #200] ; (80786b0 ) 80785e8: f7db f8fc bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[ies]); 80785ec: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 80785f0: b2db uxtb r3, r3 80785f2: 461a mov r2, r3 80785f4: 4b32 ldr r3, [pc, #200] ; (80786c0 ) 80785f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80785fa: 461a mov r2, r3 80785fc: 215a movs r1, #90 ; 0x5a 80785fe: 20c6 movs r0, #198 ; 0xc6 8078600: f7db fe98 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ied]); 8078604: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8078608: b2db uxtb r3, r3 807860a: 461a mov r2, r3 807860c: 4b2c ldr r3, [pc, #176] ; (80786c0 ) 807860e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078612: 461a mov r2, r3 8078614: 215a movs r1, #90 ; 0x5a 8078616: 20d6 movs r0, #214 ; 0xd6 8078618: f7db fe8c bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iee]); 807861c: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8078620: b2db uxtb r3, r3 8078622: 461a mov r2, r3 8078624: 4b26 ldr r3, [pc, #152] ; (80786c0 ) 8078626: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807862a: 461a mov r2, r3 807862c: 215a movs r1, #90 ; 0x5a 807862e: 20e6 movs r0, #230 ; 0xe6 8078630: f7db fe80 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 8078634: 4a23 ldr r2, [pc, #140] ; (80786c4 ) 8078636: 215a movs r1, #90 ; 0x5a 8078638: 20f6 movs r0, #246 ; 0xf6 807863a: f7db fe7b bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ikd]); 807863e: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8078642: b2db uxtb r3, r3 8078644: 461a mov r2, r3 8078646: 4b1e ldr r3, [pc, #120] ; (80786c0 ) 8078648: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807864c: 461a mov r2, r3 807864e: 215a movs r1, #90 ; 0x5a 8078650: f44f 7083 mov.w r0, #262 ; 0x106 8078654: f7db fe6e bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[iks]); 8078658: f897 33e1 ldrb.w r3, [r7, #993] ; 0x3e1 807865c: b2db uxtb r3, r3 807865e: 461a mov r2, r3 8078660: 4b17 ldr r3, [pc, #92] ; (80786c0 ) 8078662: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8078666: 461a mov r2, r3 8078668: 215a movs r1, #90 ; 0x5a 807866a: f44f 708b mov.w r0, #278 ; 0x116 807866e: f7db fe61 bl 8054334 } if(pardata.OPTIONS & BIT6) // Åñëè àâòîóñèëåíèå 8078672: 4b0c ldr r3, [pc, #48] ; (80786a4 ) 8078674: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8078678: f003 0340 and.w r3, r3, #64 ; 0x40 807867c: 2b00 cmp r3, #0 807867e: f01e 87b6 beq.w 80975ee { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8078682: 4907 ldr r1, [pc, #28] ; (80786a0 ) 8078684: 4810 ldr r0, [pc, #64] ; (80786c8 ) 8078686: f7db f8ad bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_9+2, 6, 6); 807868a: 2306 movs r3, #6 807868c: 2206 movs r2, #6 807868e: 219f movs r1, #159 ; 0x9f 8078690: f240 1001 movw r0, #257 ; 0x101 8078694: f7db fd34 bl 8054100 } break; 8078698: f01e bfa9 b.w 80975ee 807869c: 20020070 .word 0x20020070 80786a0: ff0a0f1f .word 0xff0a0f1f 80786a4: 20023e60 .word 0x20023e60 80786a8: 200205d4 .word 0x200205d4 80786ac: 2002067c .word 0x2002067c 80786b0: ffd8aa57 .word 0xffd8aa57 80786b4: 200205bc .word 0x200205bc 80786b8: 2002014c .word 0x2002014c 80786bc: 2002165c .word 0x2002165c 80786c0: 20020964 .word 0x20020964 80786c4: 080cf820 .word 0x080cf820 80786c8: ff404040 .word 0xff404040 case DATETIME: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80786cc: 4983 ldr r1, [pc, #524] ; (80788dc ) 80786ce: 4884 ldr r0, [pc, #528] ; (80788e0 ) 80786d0: f7db f888 bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 80786d4: 23c9 movs r3, #201 ; 0xc9 80786d6: f44f 729d mov.w r2, #314 ; 0x13a 80786da: 2123 movs r1, #35 ; 0x23 80786dc: 2002 movs r0, #2 80786de: f7db fb87 bl 8053df0 Hours = RTC_TimeStruct.Hours; 80786e2: 4b80 ldr r3, [pc, #512] ; (80788e4 ) 80786e4: 781b ldrb r3, [r3, #0] 80786e6: 461a mov r2, r3 80786e8: 4b7f ldr r3, [pc, #508] ; (80788e8 ) 80786ea: 601a str r2, [r3, #0] Minutes = RTC_TimeStruct.Minutes; 80786ec: 4b7d ldr r3, [pc, #500] ; (80788e4 ) 80786ee: 785b ldrb r3, [r3, #1] 80786f0: 461a mov r2, r3 80786f2: 4b7e ldr r3, [pc, #504] ; (80788ec ) 80786f4: 601a str r2, [r3, #0] i = RTC_DateStruct.Date; 80786f6: 4b7e ldr r3, [pc, #504] ; (80788f0 ) 80786f8: 789b ldrb r3, [r3, #2] 80786fa: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 j = RTC_DateStruct.Month; 80786fe: 4b7c ldr r3, [pc, #496] ; (80788f0 ) 8078700: 785b ldrb r3, [r3, #1] 8078702: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc k = RTC_DateStruct.Year; 8078706: 4b7a ldr r3, [pc, #488] ; (80788f0 ) 8078708: 78db ldrb r3, [r3, #3] 807870a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(menupos == DateAll) 807870e: 4b79 ldr r3, [pc, #484] ; (80788f4 ) 8078710: 781b ldrb r3, [r3, #0] 8078712: b2db uxtb r3, r3 8078714: 2b01 cmp r3, #1 8078716: f040 80f7 bne.w 8078908 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807871a: 4970 ldr r1, [pc, #448] ; (80788dc ) 807871c: f04f 30ff mov.w r0, #4294967295 8078720: f7db f860 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]);//"Äàòà(ÄÄ.ÌÌ.ÃÃ)" 8078724: 4b74 ldr r3, [pc, #464] ; (80788f8 ) 8078726: 7b1b ldrb r3, [r3, #12] 8078728: b2db uxtb r3, r3 807872a: 461a mov r2, r3 807872c: 4b73 ldr r3, [pc, #460] ; (80788fc ) 807872e: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8078732: 461a mov r2, r3 8078734: 214a movs r1, #74 ; 0x4a 8078736: 200a movs r0, #10 8078738: f7db fdfc bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]);//"Âðåìÿ(××:ÌÌ)" 807873c: 4b6e ldr r3, [pc, #440] ; (80788f8 ) 807873e: 7b1b ldrb r3, [r3, #12] 8078740: b2db uxtb r3, r3 8078742: 4a6e ldr r2, [pc, #440] ; (80788fc ) 8078744: 00db lsls r3, r3, #3 8078746: 4413 add r3, r2 8078748: 685b ldr r3, [r3, #4] 807874a: 461a mov r2, r3 807874c: 215a movs r1, #90 ; 0x5a 807874e: 200a movs r0, #10 8078750: f7db fdf0 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078754: 4961 ldr r1, [pc, #388] ; (80788dc ) 8078756: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807875a: f7db f843 bl 80537e4 memset(str, 0, sizeof(str)); 807875e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078762: 223c movs r2, #60 ; 0x3c 8078764: 2100 movs r1, #0 8078766: 4618 mov r0, r3 8078768: f054 fc8a bl 80cd080 str[0] = (i / 10) + 48; 807876c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078770: 4a63 ldr r2, [pc, #396] ; (8078900 ) 8078772: fba2 2303 umull r2, r3, r2, r3 8078776: 08db lsrs r3, r3, #3 8078778: b2db uxtb r3, r3 807877a: 3330 adds r3, #48 ; 0x30 807877c: b2da uxtb r2, r3 807877e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078782: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8078784: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8078788: 4b5d ldr r3, [pc, #372] ; (8078900 ) 807878a: fba3 2301 umull r2, r3, r3, r1 807878e: 08da lsrs r2, r3, #3 8078790: 4613 mov r3, r2 8078792: 009b lsls r3, r3, #2 8078794: 4413 add r3, r2 8078796: 005b lsls r3, r3, #1 8078798: 1aca subs r2, r1, r3 807879a: b2d3 uxtb r3, r2 807879c: 3330 adds r3, #48 ; 0x30 807879e: b2da uxtb r2, r3 80787a0: f507 733b add.w r3, r7, #748 ; 0x2ec 80787a4: 705a strb r2, [r3, #1] str[2] = '.'; 80787a6: f507 733b add.w r3, r7, #748 ; 0x2ec 80787aa: 222e movs r2, #46 ; 0x2e 80787ac: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 80787ae: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80787b2: 4a53 ldr r2, [pc, #332] ; (8078900 ) 80787b4: fba2 2303 umull r2, r3, r2, r3 80787b8: 08db lsrs r3, r3, #3 80787ba: b2db uxtb r3, r3 80787bc: 3330 adds r3, #48 ; 0x30 80787be: b2da uxtb r2, r3 80787c0: f507 733b add.w r3, r7, #748 ; 0x2ec 80787c4: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 80787c6: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 80787ca: 4b4d ldr r3, [pc, #308] ; (8078900 ) 80787cc: fba3 2301 umull r2, r3, r3, r1 80787d0: 08da lsrs r2, r3, #3 80787d2: 4613 mov r3, r2 80787d4: 009b lsls r3, r3, #2 80787d6: 4413 add r3, r2 80787d8: 005b lsls r3, r3, #1 80787da: 1aca subs r2, r1, r3 80787dc: b2d3 uxtb r3, r2 80787de: 3330 adds r3, #48 ; 0x30 80787e0: b2da uxtb r2, r3 80787e2: f507 733b add.w r3, r7, #748 ; 0x2ec 80787e6: 711a strb r2, [r3, #4] str[5] = '.'; 80787e8: f507 733b add.w r3, r7, #748 ; 0x2ec 80787ec: 222e movs r2, #46 ; 0x2e 80787ee: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 80787f0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80787f4: 4a42 ldr r2, [pc, #264] ; (8078900 ) 80787f6: fba2 2303 umull r2, r3, r2, r3 80787fa: 08db lsrs r3, r3, #3 80787fc: b2db uxtb r3, r3 80787fe: 3330 adds r3, #48 ; 0x30 8078800: b2da uxtb r2, r3 8078802: f507 733b add.w r3, r7, #748 ; 0x2ec 8078806: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 8078808: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 807880c: 4b3c ldr r3, [pc, #240] ; (8078900 ) 807880e: fba3 2301 umull r2, r3, r3, r1 8078812: 08da lsrs r2, r3, #3 8078814: 4613 mov r3, r2 8078816: 009b lsls r3, r3, #2 8078818: 4413 add r3, r2 807881a: 005b lsls r3, r3, #1 807881c: 1aca subs r2, r1, r3 807881e: b2d3 uxtb r3, r2 8078820: 3330 adds r3, #48 ; 0x30 8078822: b2da uxtb r2, r3 8078824: f507 733b add.w r3, r7, #748 ; 0x2ec 8078828: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 807882a: f507 733b add.w r3, r7, #748 ; 0x2ec 807882e: 461a mov r2, r3 8078830: 214a movs r1, #74 ; 0x4a 8078832: 20cb movs r0, #203 ; 0xcb 8078834: f7db fd7e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078838: 4928 ldr r1, [pc, #160] ; (80788dc ) 807883a: 4832 ldr r0, [pc, #200] ; (8078904 ) 807883c: f7da ffd2 bl 80537e4 memset(str, 0, sizeof(str)); 8078840: f507 733b add.w r3, r7, #748 ; 0x2ec 8078844: 223c movs r2, #60 ; 0x3c 8078846: 2100 movs r1, #0 8078848: 4618 mov r0, r3 807884a: f054 fc19 bl 80cd080 str[0] = (Hours / 10) + 48; 807884e: 4b26 ldr r3, [pc, #152] ; (80788e8 ) 8078850: 681b ldr r3, [r3, #0] 8078852: 4a2b ldr r2, [pc, #172] ; (8078900 ) 8078854: fba2 2303 umull r2, r3, r2, r3 8078858: 08db lsrs r3, r3, #3 807885a: b2db uxtb r3, r3 807885c: 3330 adds r3, #48 ; 0x30 807885e: b2da uxtb r2, r3 8078860: f507 733b add.w r3, r7, #748 ; 0x2ec 8078864: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8078866: 4b20 ldr r3, [pc, #128] ; (80788e8 ) 8078868: 6819 ldr r1, [r3, #0] 807886a: 4b25 ldr r3, [pc, #148] ; (8078900 ) 807886c: fba3 2301 umull r2, r3, r3, r1 8078870: 08da lsrs r2, r3, #3 8078872: 4613 mov r3, r2 8078874: 009b lsls r3, r3, #2 8078876: 4413 add r3, r2 8078878: 005b lsls r3, r3, #1 807887a: 1aca subs r2, r1, r3 807887c: b2d3 uxtb r3, r2 807887e: 3330 adds r3, #48 ; 0x30 8078880: b2da uxtb r2, r3 8078882: f507 733b add.w r3, r7, #748 ; 0x2ec 8078886: 705a strb r2, [r3, #1] str[2] = ':'; 8078888: f507 733b add.w r3, r7, #748 ; 0x2ec 807888c: 223a movs r2, #58 ; 0x3a 807888e: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8078890: 4b16 ldr r3, [pc, #88] ; (80788ec ) 8078892: 681b ldr r3, [r3, #0] 8078894: 4a1a ldr r2, [pc, #104] ; (8078900 ) 8078896: fba2 2303 umull r2, r3, r2, r3 807889a: 08db lsrs r3, r3, #3 807889c: b2db uxtb r3, r3 807889e: 3330 adds r3, #48 ; 0x30 80788a0: b2da uxtb r2, r3 80788a2: f507 733b add.w r3, r7, #748 ; 0x2ec 80788a6: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 80788a8: 4b10 ldr r3, [pc, #64] ; (80788ec ) 80788aa: 6819 ldr r1, [r3, #0] 80788ac: 4b14 ldr r3, [pc, #80] ; (8078900 ) 80788ae: fba3 2301 umull r2, r3, r3, r1 80788b2: 08da lsrs r2, r3, #3 80788b4: 4613 mov r3, r2 80788b6: 009b lsls r3, r3, #2 80788b8: 4413 add r3, r2 80788ba: 005b lsls r3, r3, #1 80788bc: 1aca subs r2, r1, r3 80788be: b2d3 uxtb r3, r2 80788c0: 3330 adds r3, #48 ; 0x30 80788c2: b2da uxtb r2, r3 80788c4: f507 733b add.w r3, r7, #748 ; 0x2ec 80788c8: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 80788ca: f507 733b add.w r3, r7, #748 ; 0x2ec 80788ce: 461a mov r2, r3 80788d0: 215a movs r1, #90 ; 0x5a 80788d2: 20df movs r0, #223 ; 0xdf 80788d4: f7db fd2e bl 8054334 str[0] = (Minutes / 10) + 48; str[1] = (Minutes % 10) + 48; if(blk) LCD_DisplayString(223 + 33, LCD_LINE_5, str); } break; 80788d8: f01e be8b b.w 80975f2 80788dc: ff0a0f1f .word 0xff0a0f1f 80788e0: ffd3d3d3 .word 0xffd3d3d3 80788e4: 20025c68 .word 0x20025c68 80788e8: 2002163c .word 0x2002163c 80788ec: 20021640 .word 0x20021640 80788f0: 20025cec .word 0x20025cec 80788f4: 20020070 .word 0x20020070 80788f8: 20023e60 .word 0x20023e60 80788fc: 200206a4 .word 0x200206a4 8078900: cccccccd .word 0xcccccccd 8078904: ffd8aa57 .word 0xffd8aa57 if(menupos == TimeAll) 8078908: 4b73 ldr r3, [pc, #460] ; (8078ad8 ) 807890a: 781b ldrb r3, [r3, #0] 807890c: b2db uxtb r3, r3 807890e: 2b02 cmp r3, #2 8078910: f040 80f2 bne.w 8078af8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078914: 4971 ldr r1, [pc, #452] ; (8078adc ) 8078916: f04f 30ff mov.w r0, #4294967295 807891a: f7da ff63 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]);//"Äàòà(ÄÄ.ÌÌ.ÃÃ)" 807891e: 4b70 ldr r3, [pc, #448] ; (8078ae0 ) 8078920: 7b1b ldrb r3, [r3, #12] 8078922: b2db uxtb r3, r3 8078924: 461a mov r2, r3 8078926: 4b6f ldr r3, [pc, #444] ; (8078ae4 ) 8078928: f853 3032 ldr.w r3, [r3, r2, lsl #3] 807892c: 461a mov r2, r3 807892e: 214a movs r1, #74 ; 0x4a 8078930: 200a movs r0, #10 8078932: f7db fcff bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]);//"Âðåìÿ(××:ÌÌ)" 8078936: 4b6a ldr r3, [pc, #424] ; (8078ae0 ) 8078938: 7b1b ldrb r3, [r3, #12] 807893a: b2db uxtb r3, r3 807893c: 4a69 ldr r2, [pc, #420] ; (8078ae4 ) 807893e: 00db lsls r3, r3, #3 8078940: 4413 add r3, r2 8078942: 685b ldr r3, [r3, #4] 8078944: 461a mov r2, r3 8078946: 215a movs r1, #90 ; 0x5a 8078948: 200a movs r0, #10 807894a: f7db fcf3 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807894e: 4963 ldr r1, [pc, #396] ; (8078adc ) 8078950: 4865 ldr r0, [pc, #404] ; (8078ae8 ) 8078952: f7da ff47 bl 80537e4 memset(str, 0, sizeof(str)); 8078956: f507 733b add.w r3, r7, #748 ; 0x2ec 807895a: 223c movs r2, #60 ; 0x3c 807895c: 2100 movs r1, #0 807895e: 4618 mov r0, r3 8078960: f054 fb8e bl 80cd080 str[0] = (i / 10) + 48; 8078964: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078968: 4a60 ldr r2, [pc, #384] ; (8078aec ) 807896a: fba2 2303 umull r2, r3, r2, r3 807896e: 08db lsrs r3, r3, #3 8078970: b2db uxtb r3, r3 8078972: 3330 adds r3, #48 ; 0x30 8078974: b2da uxtb r2, r3 8078976: f507 733b add.w r3, r7, #748 ; 0x2ec 807897a: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 807897c: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8078980: 4b5a ldr r3, [pc, #360] ; (8078aec ) 8078982: fba3 2301 umull r2, r3, r3, r1 8078986: 08da lsrs r2, r3, #3 8078988: 4613 mov r3, r2 807898a: 009b lsls r3, r3, #2 807898c: 4413 add r3, r2 807898e: 005b lsls r3, r3, #1 8078990: 1aca subs r2, r1, r3 8078992: b2d3 uxtb r3, r2 8078994: 3330 adds r3, #48 ; 0x30 8078996: b2da uxtb r2, r3 8078998: f507 733b add.w r3, r7, #748 ; 0x2ec 807899c: 705a strb r2, [r3, #1] str[2] = '.'; 807899e: f507 733b add.w r3, r7, #748 ; 0x2ec 80789a2: 222e movs r2, #46 ; 0x2e 80789a4: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 80789a6: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 80789aa: 4a50 ldr r2, [pc, #320] ; (8078aec ) 80789ac: fba2 2303 umull r2, r3, r2, r3 80789b0: 08db lsrs r3, r3, #3 80789b2: b2db uxtb r3, r3 80789b4: 3330 adds r3, #48 ; 0x30 80789b6: b2da uxtb r2, r3 80789b8: f507 733b add.w r3, r7, #748 ; 0x2ec 80789bc: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 80789be: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 80789c2: 4b4a ldr r3, [pc, #296] ; (8078aec ) 80789c4: fba3 2301 umull r2, r3, r3, r1 80789c8: 08da lsrs r2, r3, #3 80789ca: 4613 mov r3, r2 80789cc: 009b lsls r3, r3, #2 80789ce: 4413 add r3, r2 80789d0: 005b lsls r3, r3, #1 80789d2: 1aca subs r2, r1, r3 80789d4: b2d3 uxtb r3, r2 80789d6: 3330 adds r3, #48 ; 0x30 80789d8: b2da uxtb r2, r3 80789da: f507 733b add.w r3, r7, #748 ; 0x2ec 80789de: 711a strb r2, [r3, #4] str[5] = '.'; 80789e0: f507 733b add.w r3, r7, #748 ; 0x2ec 80789e4: 222e movs r2, #46 ; 0x2e 80789e6: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 80789e8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80789ec: 4a3f ldr r2, [pc, #252] ; (8078aec ) 80789ee: fba2 2303 umull r2, r3, r2, r3 80789f2: 08db lsrs r3, r3, #3 80789f4: b2db uxtb r3, r3 80789f6: 3330 adds r3, #48 ; 0x30 80789f8: b2da uxtb r2, r3 80789fa: f507 733b add.w r3, r7, #748 ; 0x2ec 80789fe: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 8078a00: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8078a04: 4b39 ldr r3, [pc, #228] ; (8078aec ) 8078a06: fba3 2301 umull r2, r3, r3, r1 8078a0a: 08da lsrs r2, r3, #3 8078a0c: 4613 mov r3, r2 8078a0e: 009b lsls r3, r3, #2 8078a10: 4413 add r3, r2 8078a12: 005b lsls r3, r3, #1 8078a14: 1aca subs r2, r1, r3 8078a16: b2d3 uxtb r3, r2 8078a18: 3330 adds r3, #48 ; 0x30 8078a1a: b2da uxtb r2, r3 8078a1c: f507 733b add.w r3, r7, #748 ; 0x2ec 8078a20: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 8078a22: f507 733b add.w r3, r7, #748 ; 0x2ec 8078a26: 461a mov r2, r3 8078a28: 214a movs r1, #74 ; 0x4a 8078a2a: 20cb movs r0, #203 ; 0xcb 8078a2c: f7db fc82 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078a30: 492a ldr r1, [pc, #168] ; (8078adc ) 8078a32: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078a36: f7da fed5 bl 80537e4 memset(str, 0, sizeof(str)); 8078a3a: f507 733b add.w r3, r7, #748 ; 0x2ec 8078a3e: 223c movs r2, #60 ; 0x3c 8078a40: 2100 movs r1, #0 8078a42: 4618 mov r0, r3 8078a44: f054 fb1c bl 80cd080 str[0] = (Hours / 10) + 48; 8078a48: 4b29 ldr r3, [pc, #164] ; (8078af0 ) 8078a4a: 681b ldr r3, [r3, #0] 8078a4c: 4a27 ldr r2, [pc, #156] ; (8078aec ) 8078a4e: fba2 2303 umull r2, r3, r2, r3 8078a52: 08db lsrs r3, r3, #3 8078a54: b2db uxtb r3, r3 8078a56: 3330 adds r3, #48 ; 0x30 8078a58: b2da uxtb r2, r3 8078a5a: f507 733b add.w r3, r7, #748 ; 0x2ec 8078a5e: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8078a60: 4b23 ldr r3, [pc, #140] ; (8078af0 ) 8078a62: 6819 ldr r1, [r3, #0] 8078a64: 4b21 ldr r3, [pc, #132] ; (8078aec ) 8078a66: fba3 2301 umull r2, r3, r3, r1 8078a6a: 08da lsrs r2, r3, #3 8078a6c: 4613 mov r3, r2 8078a6e: 009b lsls r3, r3, #2 8078a70: 4413 add r3, r2 8078a72: 005b lsls r3, r3, #1 8078a74: 1aca subs r2, r1, r3 8078a76: b2d3 uxtb r3, r2 8078a78: 3330 adds r3, #48 ; 0x30 8078a7a: b2da uxtb r2, r3 8078a7c: f507 733b add.w r3, r7, #748 ; 0x2ec 8078a80: 705a strb r2, [r3, #1] str[2] = ':'; 8078a82: f507 733b add.w r3, r7, #748 ; 0x2ec 8078a86: 223a movs r2, #58 ; 0x3a 8078a88: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8078a8a: 4b1a ldr r3, [pc, #104] ; (8078af4 ) 8078a8c: 681b ldr r3, [r3, #0] 8078a8e: 4a17 ldr r2, [pc, #92] ; (8078aec ) 8078a90: fba2 2303 umull r2, r3, r2, r3 8078a94: 08db lsrs r3, r3, #3 8078a96: b2db uxtb r3, r3 8078a98: 3330 adds r3, #48 ; 0x30 8078a9a: b2da uxtb r2, r3 8078a9c: f507 733b add.w r3, r7, #748 ; 0x2ec 8078aa0: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8078aa2: 4b14 ldr r3, [pc, #80] ; (8078af4 ) 8078aa4: 6819 ldr r1, [r3, #0] 8078aa6: 4b11 ldr r3, [pc, #68] ; (8078aec ) 8078aa8: fba3 2301 umull r2, r3, r3, r1 8078aac: 08da lsrs r2, r3, #3 8078aae: 4613 mov r3, r2 8078ab0: 009b lsls r3, r3, #2 8078ab2: 4413 add r3, r2 8078ab4: 005b lsls r3, r3, #1 8078ab6: 1aca subs r2, r1, r3 8078ab8: b2d3 uxtb r3, r2 8078aba: 3330 adds r3, #48 ; 0x30 8078abc: b2da uxtb r2, r3 8078abe: f507 733b add.w r3, r7, #748 ; 0x2ec 8078ac2: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 8078ac4: f507 733b add.w r3, r7, #748 ; 0x2ec 8078ac8: 461a mov r2, r3 8078aca: 215a movs r1, #90 ; 0x5a 8078acc: 20df movs r0, #223 ; 0xdf 8078ace: f7db fc31 bl 8054334 break; 8078ad2: f01e bd8e b.w 80975f2 8078ad6: bf00 nop 8078ad8: 20020070 .word 0x20020070 8078adc: ff0a0f1f .word 0xff0a0f1f 8078ae0: 20023e60 .word 0x20023e60 8078ae4: 200206a4 .word 0x200206a4 8078ae8: ffd8aa57 .word 0xffd8aa57 8078aec: cccccccd .word 0xcccccccd 8078af0: 2002163c .word 0x2002163c 8078af4: 20021640 .word 0x20021640 if(menupos == DateD) 8078af8: 4b7c ldr r3, [pc, #496] ; (8078cec ) 8078afa: 781b ldrb r3, [r3, #0] 8078afc: b2db uxtb r3, r3 8078afe: 2b03 cmp r3, #3 8078b00: f040 8106 bne.w 8078d10 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078b04: 497a ldr r1, [pc, #488] ; (8078cf0 ) 8078b06: f04f 30ff mov.w r0, #4294967295 8078b0a: f7da fe6b bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 8078b0e: 4b79 ldr r3, [pc, #484] ; (8078cf4 ) 8078b10: 7b1b ldrb r3, [r3, #12] 8078b12: b2db uxtb r3, r3 8078b14: 461a mov r2, r3 8078b16: 4b78 ldr r3, [pc, #480] ; (8078cf8 ) 8078b18: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8078b1c: 461a mov r2, r3 8078b1e: 214a movs r1, #74 ; 0x4a 8078b20: 200a movs r0, #10 8078b22: f7db fc07 bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 8078b26: 4b73 ldr r3, [pc, #460] ; (8078cf4 ) 8078b28: 7b1b ldrb r3, [r3, #12] 8078b2a: b2db uxtb r3, r3 8078b2c: 4a72 ldr r2, [pc, #456] ; (8078cf8 ) 8078b2e: 00db lsls r3, r3, #3 8078b30: 4413 add r3, r2 8078b32: 685b ldr r3, [r3, #4] 8078b34: 461a mov r2, r3 8078b36: 215a movs r1, #90 ; 0x5a 8078b38: 200a movs r0, #10 8078b3a: f7db fbfb bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078b3e: 496c ldr r1, [pc, #432] ; (8078cf0 ) 8078b40: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078b44: f7da fe4e bl 80537e4 memset(str, 0, sizeof(str)); 8078b48: f507 733b add.w r3, r7, #748 ; 0x2ec 8078b4c: 223c movs r2, #60 ; 0x3c 8078b4e: 2100 movs r1, #0 8078b50: 4618 mov r0, r3 8078b52: f054 fa95 bl 80cd080 str[0] = (i / 10) + 48; 8078b56: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078b5a: 4a68 ldr r2, [pc, #416] ; (8078cfc ) 8078b5c: fba2 2303 umull r2, r3, r2, r3 8078b60: 08db lsrs r3, r3, #3 8078b62: b2db uxtb r3, r3 8078b64: 3330 adds r3, #48 ; 0x30 8078b66: b2da uxtb r2, r3 8078b68: f507 733b add.w r3, r7, #748 ; 0x2ec 8078b6c: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8078b6e: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8078b72: 4b62 ldr r3, [pc, #392] ; (8078cfc ) 8078b74: fba3 2301 umull r2, r3, r3, r1 8078b78: 08da lsrs r2, r3, #3 8078b7a: 4613 mov r3, r2 8078b7c: 009b lsls r3, r3, #2 8078b7e: 4413 add r3, r2 8078b80: 005b lsls r3, r3, #1 8078b82: 1aca subs r2, r1, r3 8078b84: b2d3 uxtb r3, r2 8078b86: 3330 adds r3, #48 ; 0x30 8078b88: b2da uxtb r2, r3 8078b8a: f507 733b add.w r3, r7, #748 ; 0x2ec 8078b8e: 705a strb r2, [r3, #1] if(blk) 8078b90: 4b5b ldr r3, [pc, #364] ; (8078d00 ) 8078b92: 681b ldr r3, [r3, #0] 8078b94: 2b00 cmp r3, #0 8078b96: d006 beq.n 8078ba6 LCD_DisplayString(203, LCD_LINE_4, str); 8078b98: f507 733b add.w r3, r7, #748 ; 0x2ec 8078b9c: 461a mov r2, r3 8078b9e: 214a movs r1, #74 ; 0x4a 8078ba0: 20cb movs r0, #203 ; 0xcb 8078ba2: f7db fbc7 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078ba6: 4952 ldr r1, [pc, #328] ; (8078cf0 ) 8078ba8: 4856 ldr r0, [pc, #344] ; (8078d04 ) 8078baa: f7da fe1b bl 80537e4 memset(str, 0, sizeof(str)); 8078bae: f507 733b add.w r3, r7, #748 ; 0x2ec 8078bb2: 223c movs r2, #60 ; 0x3c 8078bb4: 2100 movs r1, #0 8078bb6: 4618 mov r0, r3 8078bb8: f054 fa62 bl 80cd080 str[0] = '.'; 8078bbc: f507 733b add.w r3, r7, #748 ; 0x2ec 8078bc0: 222e movs r2, #46 ; 0x2e 8078bc2: 701a strb r2, [r3, #0] str[1] = (j / 10) + 48; 8078bc4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8078bc8: 4a4c ldr r2, [pc, #304] ; (8078cfc ) 8078bca: fba2 2303 umull r2, r3, r2, r3 8078bce: 08db lsrs r3, r3, #3 8078bd0: b2db uxtb r3, r3 8078bd2: 3330 adds r3, #48 ; 0x30 8078bd4: b2da uxtb r2, r3 8078bd6: f507 733b add.w r3, r7, #748 ; 0x2ec 8078bda: 705a strb r2, [r3, #1] str[2] = (j % 10) + 48; 8078bdc: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 8078be0: 4b46 ldr r3, [pc, #280] ; (8078cfc ) 8078be2: fba3 2301 umull r2, r3, r3, r1 8078be6: 08da lsrs r2, r3, #3 8078be8: 4613 mov r3, r2 8078bea: 009b lsls r3, r3, #2 8078bec: 4413 add r3, r2 8078bee: 005b lsls r3, r3, #1 8078bf0: 1aca subs r2, r1, r3 8078bf2: b2d3 uxtb r3, r2 8078bf4: 3330 adds r3, #48 ; 0x30 8078bf6: b2da uxtb r2, r3 8078bf8: f507 733b add.w r3, r7, #748 ; 0x2ec 8078bfc: 709a strb r2, [r3, #2] str[3] = '.'; 8078bfe: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c02: 222e movs r2, #46 ; 0x2e 8078c04: 70da strb r2, [r3, #3] str[4] = (k / 10) + 48; 8078c06: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8078c0a: 4a3c ldr r2, [pc, #240] ; (8078cfc ) 8078c0c: fba2 2303 umull r2, r3, r2, r3 8078c10: 08db lsrs r3, r3, #3 8078c12: b2db uxtb r3, r3 8078c14: 3330 adds r3, #48 ; 0x30 8078c16: b2da uxtb r2, r3 8078c18: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c1c: 711a strb r2, [r3, #4] str[5] = (k % 10) + 48; 8078c1e: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8078c22: 4b36 ldr r3, [pc, #216] ; (8078cfc ) 8078c24: fba3 2301 umull r2, r3, r3, r1 8078c28: 08da lsrs r2, r3, #3 8078c2a: 4613 mov r3, r2 8078c2c: 009b lsls r3, r3, #2 8078c2e: 4413 add r3, r2 8078c30: 005b lsls r3, r3, #1 8078c32: 1aca subs r2, r1, r3 8078c34: b2d3 uxtb r3, r2 8078c36: 3330 adds r3, #48 ; 0x30 8078c38: b2da uxtb r2, r3 8078c3a: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c3e: 715a strb r2, [r3, #5] LCD_DisplayString(203 + 22, LCD_LINE_4, str); 8078c40: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c44: 461a mov r2, r3 8078c46: 214a movs r1, #74 ; 0x4a 8078c48: 20e1 movs r0, #225 ; 0xe1 8078c4a: f7db fb73 bl 8054334 memset(str, 0, sizeof(str)); 8078c4e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c52: 223c movs r2, #60 ; 0x3c 8078c54: 2100 movs r1, #0 8078c56: 4618 mov r0, r3 8078c58: f054 fa12 bl 80cd080 str[0] = (Hours / 10) + 48; 8078c5c: 4b2a ldr r3, [pc, #168] ; (8078d08 ) 8078c5e: 681b ldr r3, [r3, #0] 8078c60: 4a26 ldr r2, [pc, #152] ; (8078cfc ) 8078c62: fba2 2303 umull r2, r3, r2, r3 8078c66: 08db lsrs r3, r3, #3 8078c68: b2db uxtb r3, r3 8078c6a: 3330 adds r3, #48 ; 0x30 8078c6c: b2da uxtb r2, r3 8078c6e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c72: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8078c74: 4b24 ldr r3, [pc, #144] ; (8078d08 ) 8078c76: 6819 ldr r1, [r3, #0] 8078c78: 4b20 ldr r3, [pc, #128] ; (8078cfc ) 8078c7a: fba3 2301 umull r2, r3, r3, r1 8078c7e: 08da lsrs r2, r3, #3 8078c80: 4613 mov r3, r2 8078c82: 009b lsls r3, r3, #2 8078c84: 4413 add r3, r2 8078c86: 005b lsls r3, r3, #1 8078c88: 1aca subs r2, r1, r3 8078c8a: b2d3 uxtb r3, r2 8078c8c: 3330 adds r3, #48 ; 0x30 8078c8e: b2da uxtb r2, r3 8078c90: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c94: 705a strb r2, [r3, #1] str[2] = ':'; 8078c96: f507 733b add.w r3, r7, #748 ; 0x2ec 8078c9a: 223a movs r2, #58 ; 0x3a 8078c9c: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8078c9e: 4b1b ldr r3, [pc, #108] ; (8078d0c ) 8078ca0: 681b ldr r3, [r3, #0] 8078ca2: 4a16 ldr r2, [pc, #88] ; (8078cfc ) 8078ca4: fba2 2303 umull r2, r3, r2, r3 8078ca8: 08db lsrs r3, r3, #3 8078caa: b2db uxtb r3, r3 8078cac: 3330 adds r3, #48 ; 0x30 8078cae: b2da uxtb r2, r3 8078cb0: f507 733b add.w r3, r7, #748 ; 0x2ec 8078cb4: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8078cb6: 4b15 ldr r3, [pc, #84] ; (8078d0c ) 8078cb8: 6819 ldr r1, [r3, #0] 8078cba: 4b10 ldr r3, [pc, #64] ; (8078cfc ) 8078cbc: fba3 2301 umull r2, r3, r3, r1 8078cc0: 08da lsrs r2, r3, #3 8078cc2: 4613 mov r3, r2 8078cc4: 009b lsls r3, r3, #2 8078cc6: 4413 add r3, r2 8078cc8: 005b lsls r3, r3, #1 8078cca: 1aca subs r2, r1, r3 8078ccc: b2d3 uxtb r3, r2 8078cce: 3330 adds r3, #48 ; 0x30 8078cd0: b2da uxtb r2, r3 8078cd2: f507 733b add.w r3, r7, #748 ; 0x2ec 8078cd6: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 8078cd8: f507 733b add.w r3, r7, #748 ; 0x2ec 8078cdc: 461a mov r2, r3 8078cde: 215a movs r1, #90 ; 0x5a 8078ce0: 20df movs r0, #223 ; 0xdf 8078ce2: f7db fb27 bl 8054334 break; 8078ce6: f01e bc84 b.w 80975f2 8078cea: bf00 nop 8078cec: 20020070 .word 0x20020070 8078cf0: ff0a0f1f .word 0xff0a0f1f 8078cf4: 20023e60 .word 0x20023e60 8078cf8: 200206a4 .word 0x200206a4 8078cfc: cccccccd .word 0xcccccccd 8078d00: 2002165c .word 0x2002165c 8078d04: ffd8aa57 .word 0xffd8aa57 8078d08: 2002163c .word 0x2002163c 8078d0c: 20021640 .word 0x20021640 if(menupos == DateM) 8078d10: 4b85 ldr r3, [pc, #532] ; (8078f28 ) 8078d12: 781b ldrb r3, [r3, #0] 8078d14: b2db uxtb r3, r3 8078d16: 2b04 cmp r3, #4 8078d18: f040 8118 bne.w 8078f4c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078d1c: 4983 ldr r1, [pc, #524] ; (8078f2c ) 8078d1e: f04f 30ff mov.w r0, #4294967295 8078d22: f7da fd5f bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 8078d26: 4b82 ldr r3, [pc, #520] ; (8078f30 ) 8078d28: 7b1b ldrb r3, [r3, #12] 8078d2a: b2db uxtb r3, r3 8078d2c: 461a mov r2, r3 8078d2e: 4b81 ldr r3, [pc, #516] ; (8078f34 ) 8078d30: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8078d34: 461a mov r2, r3 8078d36: 214a movs r1, #74 ; 0x4a 8078d38: 200a movs r0, #10 8078d3a: f7db fafb bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 8078d3e: 4b7c ldr r3, [pc, #496] ; (8078f30 ) 8078d40: 7b1b ldrb r3, [r3, #12] 8078d42: b2db uxtb r3, r3 8078d44: 4a7b ldr r2, [pc, #492] ; (8078f34 ) 8078d46: 00db lsls r3, r3, #3 8078d48: 4413 add r3, r2 8078d4a: 685b ldr r3, [r3, #4] 8078d4c: 461a mov r2, r3 8078d4e: 215a movs r1, #90 ; 0x5a 8078d50: 200a movs r0, #10 8078d52: f7db faef bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078d56: 4975 ldr r1, [pc, #468] ; (8078f2c ) 8078d58: 4877 ldr r0, [pc, #476] ; (8078f38 ) 8078d5a: f7da fd43 bl 80537e4 memset(str, 0, sizeof(str)); 8078d5e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078d62: 223c movs r2, #60 ; 0x3c 8078d64: 2100 movs r1, #0 8078d66: 4618 mov r0, r3 8078d68: f054 f98a bl 80cd080 str[0] = (i / 10) + 48; 8078d6c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078d70: 4a72 ldr r2, [pc, #456] ; (8078f3c ) 8078d72: fba2 2303 umull r2, r3, r2, r3 8078d76: 08db lsrs r3, r3, #3 8078d78: b2db uxtb r3, r3 8078d7a: 3330 adds r3, #48 ; 0x30 8078d7c: b2da uxtb r2, r3 8078d7e: f507 733b add.w r3, r7, #748 ; 0x2ec 8078d82: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8078d84: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8078d88: 4b6c ldr r3, [pc, #432] ; (8078f3c ) 8078d8a: fba3 2301 umull r2, r3, r3, r1 8078d8e: 08da lsrs r2, r3, #3 8078d90: 4613 mov r3, r2 8078d92: 009b lsls r3, r3, #2 8078d94: 4413 add r3, r2 8078d96: 005b lsls r3, r3, #1 8078d98: 1aca subs r2, r1, r3 8078d9a: b2d3 uxtb r3, r2 8078d9c: 3330 adds r3, #48 ; 0x30 8078d9e: b2da uxtb r2, r3 8078da0: f507 733b add.w r3, r7, #748 ; 0x2ec 8078da4: 705a strb r2, [r3, #1] str[2] = '.'; 8078da6: f507 733b add.w r3, r7, #748 ; 0x2ec 8078daa: 222e movs r2, #46 ; 0x2e 8078dac: 709a strb r2, [r3, #2] LCD_DisplayString(203, LCD_LINE_4, str); 8078dae: f507 733b add.w r3, r7, #748 ; 0x2ec 8078db2: 461a mov r2, r3 8078db4: 214a movs r1, #74 ; 0x4a 8078db6: 20cb movs r0, #203 ; 0xcb 8078db8: f7db fabc bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8078dbc: 495b ldr r1, [pc, #364] ; (8078f2c ) 8078dbe: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8078dc2: f7da fd0f bl 80537e4 memset(str, 0, sizeof(str)); 8078dc6: f507 733b add.w r3, r7, #748 ; 0x2ec 8078dca: 223c movs r2, #60 ; 0x3c 8078dcc: 2100 movs r1, #0 8078dce: 4618 mov r0, r3 8078dd0: f054 f956 bl 80cd080 str[0] = (j / 10) + 48; 8078dd4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8078dd8: 4a58 ldr r2, [pc, #352] ; (8078f3c ) 8078dda: fba2 2303 umull r2, r3, r2, r3 8078dde: 08db lsrs r3, r3, #3 8078de0: b2db uxtb r3, r3 8078de2: 3330 adds r3, #48 ; 0x30 8078de4: b2da uxtb r2, r3 8078de6: f507 733b add.w r3, r7, #748 ; 0x2ec 8078dea: 701a strb r2, [r3, #0] str[1] = (j % 10) + 48; 8078dec: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 8078df0: 4b52 ldr r3, [pc, #328] ; (8078f3c ) 8078df2: fba3 2301 umull r2, r3, r3, r1 8078df6: 08da lsrs r2, r3, #3 8078df8: 4613 mov r3, r2 8078dfa: 009b lsls r3, r3, #2 8078dfc: 4413 add r3, r2 8078dfe: 005b lsls r3, r3, #1 8078e00: 1aca subs r2, r1, r3 8078e02: b2d3 uxtb r3, r2 8078e04: 3330 adds r3, #48 ; 0x30 8078e06: b2da uxtb r2, r3 8078e08: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e0c: 705a strb r2, [r3, #1] if(blk) 8078e0e: 4b4c ldr r3, [pc, #304] ; (8078f40 ) 8078e10: 681b ldr r3, [r3, #0] 8078e12: 2b00 cmp r3, #0 8078e14: d006 beq.n 8078e24 LCD_DisplayString(203 + 33, LCD_LINE_4, str); 8078e16: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e1a: 461a mov r2, r3 8078e1c: 214a movs r1, #74 ; 0x4a 8078e1e: 20ec movs r0, #236 ; 0xec 8078e20: f7db fa88 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078e24: 4941 ldr r1, [pc, #260] ; (8078f2c ) 8078e26: 4844 ldr r0, [pc, #272] ; (8078f38 ) 8078e28: f7da fcdc bl 80537e4 memset(str, 0, sizeof(str)); 8078e2c: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e30: 223c movs r2, #60 ; 0x3c 8078e32: 2100 movs r1, #0 8078e34: 4618 mov r0, r3 8078e36: f054 f923 bl 80cd080 str[0] = '.'; 8078e3a: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e3e: 222e movs r2, #46 ; 0x2e 8078e40: 701a strb r2, [r3, #0] str[1] = (k / 10) + 48; 8078e42: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8078e46: 4a3d ldr r2, [pc, #244] ; (8078f3c ) 8078e48: fba2 2303 umull r2, r3, r2, r3 8078e4c: 08db lsrs r3, r3, #3 8078e4e: b2db uxtb r3, r3 8078e50: 3330 adds r3, #48 ; 0x30 8078e52: b2da uxtb r2, r3 8078e54: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e58: 705a strb r2, [r3, #1] str[2] = (k % 10) + 48; 8078e5a: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8078e5e: 4b37 ldr r3, [pc, #220] ; (8078f3c ) 8078e60: fba3 2301 umull r2, r3, r3, r1 8078e64: 08da lsrs r2, r3, #3 8078e66: 4613 mov r3, r2 8078e68: 009b lsls r3, r3, #2 8078e6a: 4413 add r3, r2 8078e6c: 005b lsls r3, r3, #1 8078e6e: 1aca subs r2, r1, r3 8078e70: b2d3 uxtb r3, r2 8078e72: 3330 adds r3, #48 ; 0x30 8078e74: b2da uxtb r2, r3 8078e76: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e7a: 709a strb r2, [r3, #2] LCD_DisplayString(203 + 55, LCD_LINE_4, str); 8078e7c: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e80: 461a mov r2, r3 8078e82: 214a movs r1, #74 ; 0x4a 8078e84: f44f 7081 mov.w r0, #258 ; 0x102 8078e88: f7db fa54 bl 8054334 memset(str, 0, sizeof(str)); 8078e8c: f507 733b add.w r3, r7, #748 ; 0x2ec 8078e90: 223c movs r2, #60 ; 0x3c 8078e92: 2100 movs r1, #0 8078e94: 4618 mov r0, r3 8078e96: f054 f8f3 bl 80cd080 str[0] = (Hours / 10) + 48; 8078e9a: 4b2a ldr r3, [pc, #168] ; (8078f44 ) 8078e9c: 681b ldr r3, [r3, #0] 8078e9e: 4a27 ldr r2, [pc, #156] ; (8078f3c ) 8078ea0: fba2 2303 umull r2, r3, r2, r3 8078ea4: 08db lsrs r3, r3, #3 8078ea6: b2db uxtb r3, r3 8078ea8: 3330 adds r3, #48 ; 0x30 8078eaa: b2da uxtb r2, r3 8078eac: f507 733b add.w r3, r7, #748 ; 0x2ec 8078eb0: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 8078eb2: 4b24 ldr r3, [pc, #144] ; (8078f44 ) 8078eb4: 6819 ldr r1, [r3, #0] 8078eb6: 4b21 ldr r3, [pc, #132] ; (8078f3c ) 8078eb8: fba3 2301 umull r2, r3, r3, r1 8078ebc: 08da lsrs r2, r3, #3 8078ebe: 4613 mov r3, r2 8078ec0: 009b lsls r3, r3, #2 8078ec2: 4413 add r3, r2 8078ec4: 005b lsls r3, r3, #1 8078ec6: 1aca subs r2, r1, r3 8078ec8: b2d3 uxtb r3, r2 8078eca: 3330 adds r3, #48 ; 0x30 8078ecc: b2da uxtb r2, r3 8078ece: f507 733b add.w r3, r7, #748 ; 0x2ec 8078ed2: 705a strb r2, [r3, #1] str[2] = ':'; 8078ed4: f507 733b add.w r3, r7, #748 ; 0x2ec 8078ed8: 223a movs r2, #58 ; 0x3a 8078eda: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 8078edc: 4b1a ldr r3, [pc, #104] ; (8078f48 ) 8078ede: 681b ldr r3, [r3, #0] 8078ee0: 4a16 ldr r2, [pc, #88] ; (8078f3c ) 8078ee2: fba2 2303 umull r2, r3, r2, r3 8078ee6: 08db lsrs r3, r3, #3 8078ee8: b2db uxtb r3, r3 8078eea: 3330 adds r3, #48 ; 0x30 8078eec: b2da uxtb r2, r3 8078eee: f507 733b add.w r3, r7, #748 ; 0x2ec 8078ef2: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8078ef4: 4b14 ldr r3, [pc, #80] ; (8078f48 ) 8078ef6: 6819 ldr r1, [r3, #0] 8078ef8: 4b10 ldr r3, [pc, #64] ; (8078f3c ) 8078efa: fba3 2301 umull r2, r3, r3, r1 8078efe: 08da lsrs r2, r3, #3 8078f00: 4613 mov r3, r2 8078f02: 009b lsls r3, r3, #2 8078f04: 4413 add r3, r2 8078f06: 005b lsls r3, r3, #1 8078f08: 1aca subs r2, r1, r3 8078f0a: b2d3 uxtb r3, r2 8078f0c: 3330 adds r3, #48 ; 0x30 8078f0e: b2da uxtb r2, r3 8078f10: f507 733b add.w r3, r7, #748 ; 0x2ec 8078f14: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 8078f16: f507 733b add.w r3, r7, #748 ; 0x2ec 8078f1a: 461a mov r2, r3 8078f1c: 215a movs r1, #90 ; 0x5a 8078f1e: 20df movs r0, #223 ; 0xdf 8078f20: f7db fa08 bl 8054334 break; 8078f24: f01e bb65 b.w 80975f2 8078f28: 20020070 .word 0x20020070 8078f2c: ff0a0f1f .word 0xff0a0f1f 8078f30: 20023e60 .word 0x20023e60 8078f34: 200206a4 .word 0x200206a4 8078f38: ffd8aa57 .word 0xffd8aa57 8078f3c: cccccccd .word 0xcccccccd 8078f40: 2002165c .word 0x2002165c 8078f44: 2002163c .word 0x2002163c 8078f48: 20021640 .word 0x20021640 if(menupos == DateY) 8078f4c: 4b7e ldr r3, [pc, #504] ; (8079148 ) 8078f4e: 781b ldrb r3, [r3, #0] 8078f50: b2db uxtb r3, r3 8078f52: 2b05 cmp r3, #5 8078f54: f040 810a bne.w 807916c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8078f58: 497c ldr r1, [pc, #496] ; (807914c ) 8078f5a: f04f 30ff mov.w r0, #4294967295 8078f5e: f7da fc41 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 8078f62: 4b7b ldr r3, [pc, #492] ; (8079150 ) 8078f64: 7b1b ldrb r3, [r3, #12] 8078f66: b2db uxtb r3, r3 8078f68: 461a mov r2, r3 8078f6a: 4b7a ldr r3, [pc, #488] ; (8079154 ) 8078f6c: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8078f70: 461a mov r2, r3 8078f72: 214a movs r1, #74 ; 0x4a 8078f74: 200a movs r0, #10 8078f76: f7db f9dd bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 8078f7a: 4b75 ldr r3, [pc, #468] ; (8079150 ) 8078f7c: 7b1b ldrb r3, [r3, #12] 8078f7e: b2db uxtb r3, r3 8078f80: 4a74 ldr r2, [pc, #464] ; (8079154 ) 8078f82: 00db lsls r3, r3, #3 8078f84: 4413 add r3, r2 8078f86: 685b ldr r3, [r3, #4] 8078f88: 461a mov r2, r3 8078f8a: 215a movs r1, #90 ; 0x5a 8078f8c: 200a movs r0, #10 8078f8e: f7db f9d1 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8078f92: 496e ldr r1, [pc, #440] ; (807914c ) 8078f94: 4870 ldr r0, [pc, #448] ; (8079158 ) 8078f96: f7da fc25 bl 80537e4 memset(str, 0, sizeof(str)); 8078f9a: f507 733b add.w r3, r7, #748 ; 0x2ec 8078f9e: 223c movs r2, #60 ; 0x3c 8078fa0: 2100 movs r1, #0 8078fa2: 4618 mov r0, r3 8078fa4: f054 f86c bl 80cd080 str[0] = (i / 10) + 48; 8078fa8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8078fac: 4a6b ldr r2, [pc, #428] ; (807915c ) 8078fae: fba2 2303 umull r2, r3, r2, r3 8078fb2: 08db lsrs r3, r3, #3 8078fb4: b2db uxtb r3, r3 8078fb6: 3330 adds r3, #48 ; 0x30 8078fb8: b2da uxtb r2, r3 8078fba: f507 733b add.w r3, r7, #748 ; 0x2ec 8078fbe: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8078fc0: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8078fc4: 4b65 ldr r3, [pc, #404] ; (807915c ) 8078fc6: fba3 2301 umull r2, r3, r3, r1 8078fca: 08da lsrs r2, r3, #3 8078fcc: 4613 mov r3, r2 8078fce: 009b lsls r3, r3, #2 8078fd0: 4413 add r3, r2 8078fd2: 005b lsls r3, r3, #1 8078fd4: 1aca subs r2, r1, r3 8078fd6: b2d3 uxtb r3, r2 8078fd8: 3330 adds r3, #48 ; 0x30 8078fda: b2da uxtb r2, r3 8078fdc: f507 733b add.w r3, r7, #748 ; 0x2ec 8078fe0: 705a strb r2, [r3, #1] str[2] = '.'; 8078fe2: f507 733b add.w r3, r7, #748 ; 0x2ec 8078fe6: 222e movs r2, #46 ; 0x2e 8078fe8: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 8078fea: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8078fee: 4a5b ldr r2, [pc, #364] ; (807915c ) 8078ff0: fba2 2303 umull r2, r3, r2, r3 8078ff4: 08db lsrs r3, r3, #3 8078ff6: b2db uxtb r3, r3 8078ff8: 3330 adds r3, #48 ; 0x30 8078ffa: b2da uxtb r2, r3 8078ffc: f507 733b add.w r3, r7, #748 ; 0x2ec 8079000: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 8079002: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 8079006: 4b55 ldr r3, [pc, #340] ; (807915c ) 8079008: fba3 2301 umull r2, r3, r3, r1 807900c: 08da lsrs r2, r3, #3 807900e: 4613 mov r3, r2 8079010: 009b lsls r3, r3, #2 8079012: 4413 add r3, r2 8079014: 005b lsls r3, r3, #1 8079016: 1aca subs r2, r1, r3 8079018: b2d3 uxtb r3, r2 807901a: 3330 adds r3, #48 ; 0x30 807901c: b2da uxtb r2, r3 807901e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079022: 711a strb r2, [r3, #4] str[5] = '.'; 8079024: f507 733b add.w r3, r7, #748 ; 0x2ec 8079028: 222e movs r2, #46 ; 0x2e 807902a: 715a strb r2, [r3, #5] LCD_DisplayString(203, LCD_LINE_4, str); 807902c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079030: 461a mov r2, r3 8079032: 214a movs r1, #74 ; 0x4a 8079034: 20cb movs r0, #203 ; 0xcb 8079036: f7db f97d bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807903a: 4944 ldr r1, [pc, #272] ; (807914c ) 807903c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8079040: f7da fbd0 bl 80537e4 memset(str, 0, sizeof(str)); 8079044: f507 733b add.w r3, r7, #748 ; 0x2ec 8079048: 223c movs r2, #60 ; 0x3c 807904a: 2100 movs r1, #0 807904c: 4618 mov r0, r3 807904e: f054 f817 bl 80cd080 str[0] = (k / 10) + 48; 8079052: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079056: 4a41 ldr r2, [pc, #260] ; (807915c ) 8079058: fba2 2303 umull r2, r3, r2, r3 807905c: 08db lsrs r3, r3, #3 807905e: b2db uxtb r3, r3 8079060: 3330 adds r3, #48 ; 0x30 8079062: b2da uxtb r2, r3 8079064: f507 733b add.w r3, r7, #748 ; 0x2ec 8079068: 701a strb r2, [r3, #0] str[1] = (k % 10) + 48; 807906a: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 807906e: 4b3b ldr r3, [pc, #236] ; (807915c ) 8079070: fba3 2301 umull r2, r3, r3, r1 8079074: 08da lsrs r2, r3, #3 8079076: 4613 mov r3, r2 8079078: 009b lsls r3, r3, #2 807907a: 4413 add r3, r2 807907c: 005b lsls r3, r3, #1 807907e: 1aca subs r2, r1, r3 8079080: b2d3 uxtb r3, r2 8079082: 3330 adds r3, #48 ; 0x30 8079084: b2da uxtb r2, r3 8079086: f507 733b add.w r3, r7, #748 ; 0x2ec 807908a: 705a strb r2, [r3, #1] if(blk) 807908c: 4b34 ldr r3, [pc, #208] ; (8079160 ) 807908e: 681b ldr r3, [r3, #0] 8079090: 2b00 cmp r3, #0 8079092: d007 beq.n 80790a4 LCD_DisplayString(203 + 66, LCD_LINE_4, str); 8079094: f507 733b add.w r3, r7, #748 ; 0x2ec 8079098: 461a mov r2, r3 807909a: 214a movs r1, #74 ; 0x4a 807909c: f240 100d movw r0, #269 ; 0x10d 80790a0: f7db f948 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80790a4: 4929 ldr r1, [pc, #164] ; (807914c ) 80790a6: 482c ldr r0, [pc, #176] ; (8079158 ) 80790a8: f7da fb9c bl 80537e4 memset(str, 0, sizeof(str)); 80790ac: f507 733b add.w r3, r7, #748 ; 0x2ec 80790b0: 223c movs r2, #60 ; 0x3c 80790b2: 2100 movs r1, #0 80790b4: 4618 mov r0, r3 80790b6: f053 ffe3 bl 80cd080 str[0] = (Hours / 10) + 48; 80790ba: 4b2a ldr r3, [pc, #168] ; (8079164 ) 80790bc: 681b ldr r3, [r3, #0] 80790be: 4a27 ldr r2, [pc, #156] ; (807915c ) 80790c0: fba2 2303 umull r2, r3, r2, r3 80790c4: 08db lsrs r3, r3, #3 80790c6: b2db uxtb r3, r3 80790c8: 3330 adds r3, #48 ; 0x30 80790ca: b2da uxtb r2, r3 80790cc: f507 733b add.w r3, r7, #748 ; 0x2ec 80790d0: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 80790d2: 4b24 ldr r3, [pc, #144] ; (8079164 ) 80790d4: 6819 ldr r1, [r3, #0] 80790d6: 4b21 ldr r3, [pc, #132] ; (807915c ) 80790d8: fba3 2301 umull r2, r3, r3, r1 80790dc: 08da lsrs r2, r3, #3 80790de: 4613 mov r3, r2 80790e0: 009b lsls r3, r3, #2 80790e2: 4413 add r3, r2 80790e4: 005b lsls r3, r3, #1 80790e6: 1aca subs r2, r1, r3 80790e8: b2d3 uxtb r3, r2 80790ea: 3330 adds r3, #48 ; 0x30 80790ec: b2da uxtb r2, r3 80790ee: f507 733b add.w r3, r7, #748 ; 0x2ec 80790f2: 705a strb r2, [r3, #1] str[2] = ':'; 80790f4: f507 733b add.w r3, r7, #748 ; 0x2ec 80790f8: 223a movs r2, #58 ; 0x3a 80790fa: 709a strb r2, [r3, #2] str[3] = (Minutes / 10) + 48; 80790fc: 4b1a ldr r3, [pc, #104] ; (8079168 ) 80790fe: 681b ldr r3, [r3, #0] 8079100: 4a16 ldr r2, [pc, #88] ; (807915c ) 8079102: fba2 2303 umull r2, r3, r2, r3 8079106: 08db lsrs r3, r3, #3 8079108: b2db uxtb r3, r3 807910a: 3330 adds r3, #48 ; 0x30 807910c: b2da uxtb r2, r3 807910e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079112: 70da strb r2, [r3, #3] str[4] = (Minutes % 10) + 48; 8079114: 4b14 ldr r3, [pc, #80] ; (8079168 ) 8079116: 6819 ldr r1, [r3, #0] 8079118: 4b10 ldr r3, [pc, #64] ; (807915c ) 807911a: fba3 2301 umull r2, r3, r3, r1 807911e: 08da lsrs r2, r3, #3 8079120: 4613 mov r3, r2 8079122: 009b lsls r3, r3, #2 8079124: 4413 add r3, r2 8079126: 005b lsls r3, r3, #1 8079128: 1aca subs r2, r1, r3 807912a: b2d3 uxtb r3, r2 807912c: 3330 adds r3, #48 ; 0x30 807912e: b2da uxtb r2, r3 8079130: f507 733b add.w r3, r7, #748 ; 0x2ec 8079134: 711a strb r2, [r3, #4] LCD_DisplayString(223, LCD_LINE_5, str); 8079136: f507 733b add.w r3, r7, #748 ; 0x2ec 807913a: 461a mov r2, r3 807913c: 215a movs r1, #90 ; 0x5a 807913e: 20df movs r0, #223 ; 0xdf 8079140: f7db f8f8 bl 8054334 break; 8079144: f01e ba55 b.w 80975f2 8079148: 20020070 .word 0x20020070 807914c: ff0a0f1f .word 0xff0a0f1f 8079150: 20023e60 .word 0x20023e60 8079154: 200206a4 .word 0x200206a4 8079158: ffd8aa57 .word 0xffd8aa57 807915c: cccccccd .word 0xcccccccd 8079160: 2002165c .word 0x2002165c 8079164: 2002163c .word 0x2002163c 8079168: 20021640 .word 0x20021640 if(menupos == TimeH) 807916c: 4b7e ldr r3, [pc, #504] ; (8079368 ) 807916e: 781b ldrb r3, [r3, #0] 8079170: b2db uxtb r3, r3 8079172: 2b06 cmp r3, #6 8079174: f040 810a bne.w 807938c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079178: 497c ldr r1, [pc, #496] ; (807936c ) 807917a: f04f 30ff mov.w r0, #4294967295 807917e: f7da fb31 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 8079182: 4b7b ldr r3, [pc, #492] ; (8079370 ) 8079184: 7b1b ldrb r3, [r3, #12] 8079186: b2db uxtb r3, r3 8079188: 461a mov r2, r3 807918a: 4b7a ldr r3, [pc, #488] ; (8079374 ) 807918c: f853 3032 ldr.w r3, [r3, r2, lsl #3] 8079190: 461a mov r2, r3 8079192: 214a movs r1, #74 ; 0x4a 8079194: 200a movs r0, #10 8079196: f7db f8cd bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 807919a: 4b75 ldr r3, [pc, #468] ; (8079370 ) 807919c: 7b1b ldrb r3, [r3, #12] 807919e: b2db uxtb r3, r3 80791a0: 4a74 ldr r2, [pc, #464] ; (8079374 ) 80791a2: 00db lsls r3, r3, #3 80791a4: 4413 add r3, r2 80791a6: 685b ldr r3, [r3, #4] 80791a8: 461a mov r2, r3 80791aa: 215a movs r1, #90 ; 0x5a 80791ac: 200a movs r0, #10 80791ae: f7db f8c1 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80791b2: 496e ldr r1, [pc, #440] ; (807936c ) 80791b4: 4870 ldr r0, [pc, #448] ; (8079378 ) 80791b6: f7da fb15 bl 80537e4 memset(str, 0, sizeof(str)); 80791ba: f507 733b add.w r3, r7, #748 ; 0x2ec 80791be: 223c movs r2, #60 ; 0x3c 80791c0: 2100 movs r1, #0 80791c2: 4618 mov r0, r3 80791c4: f053 ff5c bl 80cd080 str[0] = (i / 10) + 48; 80791c8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80791cc: 4a6b ldr r2, [pc, #428] ; (807937c ) 80791ce: fba2 2303 umull r2, r3, r2, r3 80791d2: 08db lsrs r3, r3, #3 80791d4: b2db uxtb r3, r3 80791d6: 3330 adds r3, #48 ; 0x30 80791d8: b2da uxtb r2, r3 80791da: f507 733b add.w r3, r7, #748 ; 0x2ec 80791de: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 80791e0: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 80791e4: 4b65 ldr r3, [pc, #404] ; (807937c ) 80791e6: fba3 2301 umull r2, r3, r3, r1 80791ea: 08da lsrs r2, r3, #3 80791ec: 4613 mov r3, r2 80791ee: 009b lsls r3, r3, #2 80791f0: 4413 add r3, r2 80791f2: 005b lsls r3, r3, #1 80791f4: 1aca subs r2, r1, r3 80791f6: b2d3 uxtb r3, r2 80791f8: 3330 adds r3, #48 ; 0x30 80791fa: b2da uxtb r2, r3 80791fc: f507 733b add.w r3, r7, #748 ; 0x2ec 8079200: 705a strb r2, [r3, #1] str[2] = '.'; 8079202: f507 733b add.w r3, r7, #748 ; 0x2ec 8079206: 222e movs r2, #46 ; 0x2e 8079208: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 807920a: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 807920e: 4a5b ldr r2, [pc, #364] ; (807937c ) 8079210: fba2 2303 umull r2, r3, r2, r3 8079214: 08db lsrs r3, r3, #3 8079216: b2db uxtb r3, r3 8079218: 3330 adds r3, #48 ; 0x30 807921a: b2da uxtb r2, r3 807921c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079220: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 8079222: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 8079226: 4b55 ldr r3, [pc, #340] ; (807937c ) 8079228: fba3 2301 umull r2, r3, r3, r1 807922c: 08da lsrs r2, r3, #3 807922e: 4613 mov r3, r2 8079230: 009b lsls r3, r3, #2 8079232: 4413 add r3, r2 8079234: 005b lsls r3, r3, #1 8079236: 1aca subs r2, r1, r3 8079238: b2d3 uxtb r3, r2 807923a: 3330 adds r3, #48 ; 0x30 807923c: b2da uxtb r2, r3 807923e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079242: 711a strb r2, [r3, #4] str[5] = '.'; 8079244: f507 733b add.w r3, r7, #748 ; 0x2ec 8079248: 222e movs r2, #46 ; 0x2e 807924a: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 807924c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079250: 4a4a ldr r2, [pc, #296] ; (807937c ) 8079252: fba2 2303 umull r2, r3, r2, r3 8079256: 08db lsrs r3, r3, #3 8079258: b2db uxtb r3, r3 807925a: 3330 adds r3, #48 ; 0x30 807925c: b2da uxtb r2, r3 807925e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079262: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 8079264: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8079268: 4b44 ldr r3, [pc, #272] ; (807937c ) 807926a: fba3 2301 umull r2, r3, r3, r1 807926e: 08da lsrs r2, r3, #3 8079270: 4613 mov r3, r2 8079272: 009b lsls r3, r3, #2 8079274: 4413 add r3, r2 8079276: 005b lsls r3, r3, #1 8079278: 1aca subs r2, r1, r3 807927a: b2d3 uxtb r3, r2 807927c: 3330 adds r3, #48 ; 0x30 807927e: b2da uxtb r2, r3 8079280: f507 733b add.w r3, r7, #748 ; 0x2ec 8079284: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 8079286: f507 733b add.w r3, r7, #748 ; 0x2ec 807928a: 461a mov r2, r3 807928c: 214a movs r1, #74 ; 0x4a 807928e: 20cb movs r0, #203 ; 0xcb 8079290: f7db f850 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8079294: 4935 ldr r1, [pc, #212] ; (807936c ) 8079296: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807929a: f7da faa3 bl 80537e4 memset(str, 0, sizeof(str)); 807929e: f507 733b add.w r3, r7, #748 ; 0x2ec 80792a2: 223c movs r2, #60 ; 0x3c 80792a4: 2100 movs r1, #0 80792a6: 4618 mov r0, r3 80792a8: f053 feea bl 80cd080 str[0] = (Hours / 10) + 48; 80792ac: 4b34 ldr r3, [pc, #208] ; (8079380 ) 80792ae: 681b ldr r3, [r3, #0] 80792b0: 4a32 ldr r2, [pc, #200] ; (807937c ) 80792b2: fba2 2303 umull r2, r3, r2, r3 80792b6: 08db lsrs r3, r3, #3 80792b8: b2db uxtb r3, r3 80792ba: 3330 adds r3, #48 ; 0x30 80792bc: b2da uxtb r2, r3 80792be: f507 733b add.w r3, r7, #748 ; 0x2ec 80792c2: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 80792c4: 4b2e ldr r3, [pc, #184] ; (8079380 ) 80792c6: 6819 ldr r1, [r3, #0] 80792c8: 4b2c ldr r3, [pc, #176] ; (807937c ) 80792ca: fba3 2301 umull r2, r3, r3, r1 80792ce: 08da lsrs r2, r3, #3 80792d0: 4613 mov r3, r2 80792d2: 009b lsls r3, r3, #2 80792d4: 4413 add r3, r2 80792d6: 005b lsls r3, r3, #1 80792d8: 1aca subs r2, r1, r3 80792da: b2d3 uxtb r3, r2 80792dc: 3330 adds r3, #48 ; 0x30 80792de: b2da uxtb r2, r3 80792e0: f507 733b add.w r3, r7, #748 ; 0x2ec 80792e4: 705a strb r2, [r3, #1] if(blk) 80792e6: 4b27 ldr r3, [pc, #156] ; (8079384 ) 80792e8: 681b ldr r3, [r3, #0] 80792ea: 2b00 cmp r3, #0 80792ec: d006 beq.n 80792fc LCD_DisplayString(223, LCD_LINE_5, str); 80792ee: f507 733b add.w r3, r7, #748 ; 0x2ec 80792f2: 461a mov r2, r3 80792f4: 215a movs r1, #90 ; 0x5a 80792f6: 20df movs r0, #223 ; 0xdf 80792f8: f7db f81c bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80792fc: 491b ldr r1, [pc, #108] ; (807936c ) 80792fe: 481e ldr r0, [pc, #120] ; (8079378 ) 8079300: f7da fa70 bl 80537e4 memset(str, 0, sizeof(str)); 8079304: f507 733b add.w r3, r7, #748 ; 0x2ec 8079308: 223c movs r2, #60 ; 0x3c 807930a: 2100 movs r1, #0 807930c: 4618 mov r0, r3 807930e: f053 feb7 bl 80cd080 str[0] = ':'; 8079312: f507 733b add.w r3, r7, #748 ; 0x2ec 8079316: 223a movs r2, #58 ; 0x3a 8079318: 701a strb r2, [r3, #0] str[1] = (Minutes / 10) + 48; 807931a: 4b1b ldr r3, [pc, #108] ; (8079388 ) 807931c: 681b ldr r3, [r3, #0] 807931e: 4a17 ldr r2, [pc, #92] ; (807937c ) 8079320: fba2 2303 umull r2, r3, r2, r3 8079324: 08db lsrs r3, r3, #3 8079326: b2db uxtb r3, r3 8079328: 3330 adds r3, #48 ; 0x30 807932a: b2da uxtb r2, r3 807932c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079330: 705a strb r2, [r3, #1] str[2] = (Minutes % 10) + 48; 8079332: 4b15 ldr r3, [pc, #84] ; (8079388 ) 8079334: 6819 ldr r1, [r3, #0] 8079336: 4b11 ldr r3, [pc, #68] ; (807937c ) 8079338: fba3 2301 umull r2, r3, r3, r1 807933c: 08da lsrs r2, r3, #3 807933e: 4613 mov r3, r2 8079340: 009b lsls r3, r3, #2 8079342: 4413 add r3, r2 8079344: 005b lsls r3, r3, #1 8079346: 1aca subs r2, r1, r3 8079348: b2d3 uxtb r3, r2 807934a: 3330 adds r3, #48 ; 0x30 807934c: b2da uxtb r2, r3 807934e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079352: 709a strb r2, [r3, #2] LCD_DisplayString(223 + 22, LCD_LINE_5, str); 8079354: f507 733b add.w r3, r7, #748 ; 0x2ec 8079358: 461a mov r2, r3 807935a: 215a movs r1, #90 ; 0x5a 807935c: 20f5 movs r0, #245 ; 0xf5 807935e: f7da ffe9 bl 8054334 break; 8079362: f01e b946 b.w 80975f2 8079366: bf00 nop 8079368: 20020070 .word 0x20020070 807936c: ff0a0f1f .word 0xff0a0f1f 8079370: 20023e60 .word 0x20023e60 8079374: 200206a4 .word 0x200206a4 8079378: ffd8aa57 .word 0xffd8aa57 807937c: cccccccd .word 0xcccccccd 8079380: 2002163c .word 0x2002163c 8079384: 2002165c .word 0x2002165c 8079388: 20021640 .word 0x20021640 if(menupos == TimeM) 807938c: 4b7f ldr r3, [pc, #508] ; (807958c ) 807938e: 781b ldrb r3, [r3, #0] 8079390: b2db uxtb r3, r3 8079392: 2b07 cmp r3, #7 8079394: f05e 812d bne.w 80975f2 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079398: 497d ldr r1, [pc, #500] ; (8079590 ) 807939a: f04f 30ff mov.w r0, #4294967295 807939e: f7da fa21 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_DATETIME[pardata.LANG][0]/*"Äàòà(ÄÄ.ÌÌ.ÃÃ)"*/); 80793a2: 4b7c ldr r3, [pc, #496] ; (8079594 ) 80793a4: 7b1b ldrb r3, [r3, #12] 80793a6: b2db uxtb r3, r3 80793a8: 461a mov r2, r3 80793aa: 4b7b ldr r3, [pc, #492] ; (8079598 ) 80793ac: f853 3032 ldr.w r3, [r3, r2, lsl #3] 80793b0: 461a mov r2, r3 80793b2: 214a movs r1, #74 ; 0x4a 80793b4: 200a movs r0, #10 80793b6: f7da ffbd bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_DATETIME[pardata.LANG][1]/*"Âðåìÿ(××:ÌÌ)"*/); 80793ba: 4b76 ldr r3, [pc, #472] ; (8079594 ) 80793bc: 7b1b ldrb r3, [r3, #12] 80793be: b2db uxtb r3, r3 80793c0: 4a75 ldr r2, [pc, #468] ; (8079598 ) 80793c2: 00db lsls r3, r3, #3 80793c4: 4413 add r3, r2 80793c6: 685b ldr r3, [r3, #4] 80793c8: 461a mov r2, r3 80793ca: 215a movs r1, #90 ; 0x5a 80793cc: 200a movs r0, #10 80793ce: f7da ffb1 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80793d2: 496f ldr r1, [pc, #444] ; (8079590 ) 80793d4: 4871 ldr r0, [pc, #452] ; (807959c ) 80793d6: f7da fa05 bl 80537e4 memset(str, 0, sizeof(str)); 80793da: f507 733b add.w r3, r7, #748 ; 0x2ec 80793de: 223c movs r2, #60 ; 0x3c 80793e0: 2100 movs r1, #0 80793e2: 4618 mov r0, r3 80793e4: f053 fe4c bl 80cd080 str[0] = (i / 10) + 48; 80793e8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80793ec: 4a6c ldr r2, [pc, #432] ; (80795a0 ) 80793ee: fba2 2303 umull r2, r3, r2, r3 80793f2: 08db lsrs r3, r3, #3 80793f4: b2db uxtb r3, r3 80793f6: 3330 adds r3, #48 ; 0x30 80793f8: b2da uxtb r2, r3 80793fa: f507 733b add.w r3, r7, #748 ; 0x2ec 80793fe: 701a strb r2, [r3, #0] str[1] = (i % 10) + 48; 8079400: f8d7 1400 ldr.w r1, [r7, #1024] ; 0x400 8079404: 4b66 ldr r3, [pc, #408] ; (80795a0 ) 8079406: fba3 2301 umull r2, r3, r3, r1 807940a: 08da lsrs r2, r3, #3 807940c: 4613 mov r3, r2 807940e: 009b lsls r3, r3, #2 8079410: 4413 add r3, r2 8079412: 005b lsls r3, r3, #1 8079414: 1aca subs r2, r1, r3 8079416: b2d3 uxtb r3, r2 8079418: 3330 adds r3, #48 ; 0x30 807941a: b2da uxtb r2, r3 807941c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079420: 705a strb r2, [r3, #1] str[2] = '.'; 8079422: f507 733b add.w r3, r7, #748 ; 0x2ec 8079426: 222e movs r2, #46 ; 0x2e 8079428: 709a strb r2, [r3, #2] str[3] = (j / 10) + 48; 807942a: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 807942e: 4a5c ldr r2, [pc, #368] ; (80795a0 ) 8079430: fba2 2303 umull r2, r3, r2, r3 8079434: 08db lsrs r3, r3, #3 8079436: b2db uxtb r3, r3 8079438: 3330 adds r3, #48 ; 0x30 807943a: b2da uxtb r2, r3 807943c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079440: 70da strb r2, [r3, #3] str[4] = (j % 10) + 48; 8079442: f8d7 13fc ldr.w r1, [r7, #1020] ; 0x3fc 8079446: 4b56 ldr r3, [pc, #344] ; (80795a0 ) 8079448: fba3 2301 umull r2, r3, r3, r1 807944c: 08da lsrs r2, r3, #3 807944e: 4613 mov r3, r2 8079450: 009b lsls r3, r3, #2 8079452: 4413 add r3, r2 8079454: 005b lsls r3, r3, #1 8079456: 1aca subs r2, r1, r3 8079458: b2d3 uxtb r3, r2 807945a: 3330 adds r3, #48 ; 0x30 807945c: b2da uxtb r2, r3 807945e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079462: 711a strb r2, [r3, #4] str[5] = '.'; 8079464: f507 733b add.w r3, r7, #748 ; 0x2ec 8079468: 222e movs r2, #46 ; 0x2e 807946a: 715a strb r2, [r3, #5] str[6] = (k / 10) + 48; 807946c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079470: 4a4b ldr r2, [pc, #300] ; (80795a0 ) 8079472: fba2 2303 umull r2, r3, r2, r3 8079476: 08db lsrs r3, r3, #3 8079478: b2db uxtb r3, r3 807947a: 3330 adds r3, #48 ; 0x30 807947c: b2da uxtb r2, r3 807947e: f507 733b add.w r3, r7, #748 ; 0x2ec 8079482: 719a strb r2, [r3, #6] str[7] = (k % 10) + 48; 8079484: f8d7 13f8 ldr.w r1, [r7, #1016] ; 0x3f8 8079488: 4b45 ldr r3, [pc, #276] ; (80795a0 ) 807948a: fba3 2301 umull r2, r3, r3, r1 807948e: 08da lsrs r2, r3, #3 8079490: 4613 mov r3, r2 8079492: 009b lsls r3, r3, #2 8079494: 4413 add r3, r2 8079496: 005b lsls r3, r3, #1 8079498: 1aca subs r2, r1, r3 807949a: b2d3 uxtb r3, r2 807949c: 3330 adds r3, #48 ; 0x30 807949e: b2da uxtb r2, r3 80794a0: f507 733b add.w r3, r7, #748 ; 0x2ec 80794a4: 71da strb r2, [r3, #7] LCD_DisplayString(203, LCD_LINE_4, str); 80794a6: f507 733b add.w r3, r7, #748 ; 0x2ec 80794aa: 461a mov r2, r3 80794ac: 214a movs r1, #74 ; 0x4a 80794ae: 20cb movs r0, #203 ; 0xcb 80794b0: f7da ff40 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80794b4: 4936 ldr r1, [pc, #216] ; (8079590 ) 80794b6: 4839 ldr r0, [pc, #228] ; (807959c ) 80794b8: f7da f994 bl 80537e4 memset(str, 0, sizeof(str)); 80794bc: f507 733b add.w r3, r7, #748 ; 0x2ec 80794c0: 223c movs r2, #60 ; 0x3c 80794c2: 2100 movs r1, #0 80794c4: 4618 mov r0, r3 80794c6: f053 fddb bl 80cd080 str[0] = (Hours / 10) + 48; 80794ca: 4b36 ldr r3, [pc, #216] ; (80795a4 ) 80794cc: 681b ldr r3, [r3, #0] 80794ce: 4a34 ldr r2, [pc, #208] ; (80795a0 ) 80794d0: fba2 2303 umull r2, r3, r2, r3 80794d4: 08db lsrs r3, r3, #3 80794d6: b2db uxtb r3, r3 80794d8: 3330 adds r3, #48 ; 0x30 80794da: b2da uxtb r2, r3 80794dc: f507 733b add.w r3, r7, #748 ; 0x2ec 80794e0: 701a strb r2, [r3, #0] str[1] = (Hours % 10) + 48; 80794e2: 4b30 ldr r3, [pc, #192] ; (80795a4 ) 80794e4: 6819 ldr r1, [r3, #0] 80794e6: 4b2e ldr r3, [pc, #184] ; (80795a0 ) 80794e8: fba3 2301 umull r2, r3, r3, r1 80794ec: 08da lsrs r2, r3, #3 80794ee: 4613 mov r3, r2 80794f0: 009b lsls r3, r3, #2 80794f2: 4413 add r3, r2 80794f4: 005b lsls r3, r3, #1 80794f6: 1aca subs r2, r1, r3 80794f8: b2d3 uxtb r3, r2 80794fa: 3330 adds r3, #48 ; 0x30 80794fc: b2da uxtb r2, r3 80794fe: f507 733b add.w r3, r7, #748 ; 0x2ec 8079502: 705a strb r2, [r3, #1] str[2] = ':'; 8079504: f507 733b add.w r3, r7, #748 ; 0x2ec 8079508: 223a movs r2, #58 ; 0x3a 807950a: 709a strb r2, [r3, #2] LCD_DisplayString(223, LCD_LINE_5, str); 807950c: f507 733b add.w r3, r7, #748 ; 0x2ec 8079510: 461a mov r2, r3 8079512: 215a movs r1, #90 ; 0x5a 8079514: 20df movs r0, #223 ; 0xdf 8079516: f7da ff0d bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807951a: 491d ldr r1, [pc, #116] ; (8079590 ) 807951c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8079520: f7da f960 bl 80537e4 memset(str, 0, sizeof(str)); 8079524: f507 733b add.w r3, r7, #748 ; 0x2ec 8079528: 223c movs r2, #60 ; 0x3c 807952a: 2100 movs r1, #0 807952c: 4618 mov r0, r3 807952e: f053 fda7 bl 80cd080 str[0] = (Minutes / 10) + 48; 8079532: 4b1d ldr r3, [pc, #116] ; (80795a8 ) 8079534: 681b ldr r3, [r3, #0] 8079536: 4a1a ldr r2, [pc, #104] ; (80795a0 ) 8079538: fba2 2303 umull r2, r3, r2, r3 807953c: 08db lsrs r3, r3, #3 807953e: b2db uxtb r3, r3 8079540: 3330 adds r3, #48 ; 0x30 8079542: b2da uxtb r2, r3 8079544: f507 733b add.w r3, r7, #748 ; 0x2ec 8079548: 701a strb r2, [r3, #0] str[1] = (Minutes % 10) + 48; 807954a: 4b17 ldr r3, [pc, #92] ; (80795a8 ) 807954c: 6819 ldr r1, [r3, #0] 807954e: 4b14 ldr r3, [pc, #80] ; (80795a0 ) 8079550: fba3 2301 umull r2, r3, r3, r1 8079554: 08da lsrs r2, r3, #3 8079556: 4613 mov r3, r2 8079558: 009b lsls r3, r3, #2 807955a: 4413 add r3, r2 807955c: 005b lsls r3, r3, #1 807955e: 1aca subs r2, r1, r3 8079560: b2d3 uxtb r3, r2 8079562: 3330 adds r3, #48 ; 0x30 8079564: b2da uxtb r2, r3 8079566: f507 733b add.w r3, r7, #748 ; 0x2ec 807956a: 705a strb r2, [r3, #1] if(blk) 807956c: 4b0f ldr r3, [pc, #60] ; (80795ac ) 807956e: 681b ldr r3, [r3, #0] 8079570: 2b00 cmp r3, #0 8079572: f01e 803e beq.w 80975f2 LCD_DisplayString(223 + 33, LCD_LINE_5, str); 8079576: f507 733b add.w r3, r7, #748 ; 0x2ec 807957a: 461a mov r2, r3 807957c: 215a movs r1, #90 ; 0x5a 807957e: f44f 7080 mov.w r0, #256 ; 0x100 8079582: f7da fed7 bl 8054334 break; 8079586: f01e b834 b.w 80975f2 807958a: bf00 nop 807958c: 20020070 .word 0x20020070 8079590: ff0a0f1f .word 0xff0a0f1f 8079594: 20023e60 .word 0x20023e60 8079598: 200206a4 .word 0x200206a4 807959c: ffd8aa57 .word 0xffd8aa57 80795a0: cccccccd .word 0xcccccccd 80795a4: 2002163c .word 0x2002163c 80795a8: 20021640 .word 0x20021640 80795ac: 2002165c .word 0x2002165c case PARAM_VIB: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80795b0: 49d5 ldr r1, [pc, #852] ; (8079908 ) 80795b2: 48d6 ldr r0, [pc, #856] ; (807990c ) 80795b4: f7da f916 bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 80795b8: 23c9 movs r3, #201 ; 0xc9 80795ba: f44f 729d mov.w r2, #314 ; 0x13a 80795be: 2123 movs r1, #35 ; 0x23 80795c0: 2002 movs r0, #2 80795c2: f7da fc15 bl 8053df0 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 80795c6: 4bd2 ldr r3, [pc, #840] ; (8079910 ) 80795c8: edd3 7a06 vldr s15, [r3, #24] 80795cc: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80795d0: ee67 7a87 vmul.f32 s15, s15, s14 80795d4: eefc 7ae7 vcvt.u32.f32 s15, s15 80795d8: ee17 3a90 vmov r3, s15 80795dc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 80795e0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80795e4: 095b lsrs r3, r3, #5 80795e6: 4acb ldr r2, [pc, #812] ; (8079914 ) 80795e8: fba2 2303 umull r2, r3, r2, r3 80795ec: 09db lsrs r3, r3, #7 80795ee: b2db uxtb r3, r3 80795f0: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 80795f4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80795f8: 0953 lsrs r3, r2, #5 80795fa: 49c6 ldr r1, [pc, #792] ; (8079914 ) 80795fc: fba1 1303 umull r1, r3, r1, r3 8079600: 09db lsrs r3, r3, #7 8079602: 49c5 ldr r1, [pc, #788] ; (8079918 ) 8079604: fb01 f303 mul.w r3, r1, r3 8079608: 1ad3 subs r3, r2, r3 807960a: 4ac4 ldr r2, [pc, #784] ; (807991c ) 807960c: fba2 2303 umull r2, r3, r2, r3 8079610: 0b5b lsrs r3, r3, #13 8079612: b2db uxtb r3, r3 8079614: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 8079618: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807961c: 0953 lsrs r3, r2, #5 807961e: 49bd ldr r1, [pc, #756] ; (8079914 ) 8079620: fba1 1303 umull r1, r3, r1, r3 8079624: 09db lsrs r3, r3, #7 8079626: 49bc ldr r1, [pc, #752] ; (8079918 ) 8079628: fb01 f303 mul.w r3, r1, r3 807962c: 1ad3 subs r3, r2, r3 807962e: 4abb ldr r2, [pc, #748] ; (807991c ) 8079630: fba2 1203 umull r1, r2, r2, r3 8079634: 0b52 lsrs r2, r2, #13 8079636: f242 7110 movw r1, #10000 ; 0x2710 807963a: fb01 f202 mul.w r2, r1, r2 807963e: 1a9a subs r2, r3, r2 8079640: 4bb7 ldr r3, [pc, #732] ; (8079920 ) 8079642: fba3 2302 umull r2, r3, r3, r2 8079646: 099b lsrs r3, r3, #6 8079648: b2db uxtb r3, r3 807964a: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 807964e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079652: 095a lsrs r2, r3, #5 8079654: 49af ldr r1, [pc, #700] ; (8079914 ) 8079656: fba1 1202 umull r1, r2, r1, r2 807965a: 09d2 lsrs r2, r2, #7 807965c: 49ae ldr r1, [pc, #696] ; (8079918 ) 807965e: fb01 f202 mul.w r2, r1, r2 8079662: 1a9a subs r2, r3, r2 8079664: 4bad ldr r3, [pc, #692] ; (807991c ) 8079666: fba3 1302 umull r1, r3, r3, r2 807966a: 0b5b lsrs r3, r3, #13 807966c: f242 7110 movw r1, #10000 ; 0x2710 8079670: fb01 f303 mul.w r3, r1, r3 8079674: 1ad3 subs r3, r2, r3 8079676: 4aaa ldr r2, [pc, #680] ; (8079920 ) 8079678: fba2 1203 umull r1, r2, r2, r3 807967c: 0992 lsrs r2, r2, #6 807967e: f44f 717a mov.w r1, #1000 ; 0x3e8 8079682: fb01 f202 mul.w r2, r1, r2 8079686: 1a9a subs r2, r3, r2 8079688: 4ba6 ldr r3, [pc, #664] ; (8079924 ) 807968a: fba3 2302 umull r2, r3, r3, r2 807968e: 095b lsrs r3, r3, #5 8079690: b2db uxtb r3, r3 8079692: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8079696: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807969a: 0953 lsrs r3, r2, #5 807969c: 499d ldr r1, [pc, #628] ; (8079914 ) 807969e: fba1 1303 umull r1, r3, r1, r3 80796a2: 09db lsrs r3, r3, #7 80796a4: 499c ldr r1, [pc, #624] ; (8079918 ) 80796a6: fb01 f303 mul.w r3, r1, r3 80796aa: 1ad3 subs r3, r2, r3 80796ac: 4a9b ldr r2, [pc, #620] ; (807991c ) 80796ae: fba2 1203 umull r1, r2, r2, r3 80796b2: 0b52 lsrs r2, r2, #13 80796b4: f242 7110 movw r1, #10000 ; 0x2710 80796b8: fb01 f202 mul.w r2, r1, r2 80796bc: 1a9a subs r2, r3, r2 80796be: 4b98 ldr r3, [pc, #608] ; (8079920 ) 80796c0: fba3 1302 umull r1, r3, r3, r2 80796c4: 099b lsrs r3, r3, #6 80796c6: f44f 717a mov.w r1, #1000 ; 0x3e8 80796ca: fb01 f303 mul.w r3, r1, r3 80796ce: 1ad3 subs r3, r2, r3 80796d0: 4a94 ldr r2, [pc, #592] ; (8079924 ) 80796d2: fba2 1203 umull r1, r2, r2, r3 80796d6: 0952 lsrs r2, r2, #5 80796d8: 2164 movs r1, #100 ; 0x64 80796da: fb01 f202 mul.w r2, r1, r2 80796de: 1a9a subs r2, r3, r2 80796e0: 4b91 ldr r3, [pc, #580] ; (8079928 ) 80796e2: fba3 2302 umull r2, r3, r3, r2 80796e6: 08db lsrs r3, r3, #3 80796e8: b2db uxtb r3, r3 80796ea: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80796ee: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80796f2: 0953 lsrs r3, r2, #5 80796f4: 4987 ldr r1, [pc, #540] ; (8079914 ) 80796f6: fba1 1303 umull r1, r3, r1, r3 80796fa: 09db lsrs r3, r3, #7 80796fc: 4986 ldr r1, [pc, #536] ; (8079918 ) 80796fe: fb01 f303 mul.w r3, r1, r3 8079702: 1ad3 subs r3, r2, r3 8079704: 4a85 ldr r2, [pc, #532] ; (807991c ) 8079706: fba2 1203 umull r1, r2, r2, r3 807970a: 0b52 lsrs r2, r2, #13 807970c: f242 7110 movw r1, #10000 ; 0x2710 8079710: fb01 f202 mul.w r2, r1, r2 8079714: 1a9a subs r2, r3, r2 8079716: 4b82 ldr r3, [pc, #520] ; (8079920 ) 8079718: fba3 1302 umull r1, r3, r3, r2 807971c: 099b lsrs r3, r3, #6 807971e: f44f 717a mov.w r1, #1000 ; 0x3e8 8079722: fb01 f303 mul.w r3, r1, r3 8079726: 1ad3 subs r3, r2, r3 8079728: 4a7e ldr r2, [pc, #504] ; (8079924 ) 807972a: fba2 1203 umull r1, r2, r2, r3 807972e: 0952 lsrs r2, r2, #5 8079730: 2164 movs r1, #100 ; 0x64 8079732: fb01 f202 mul.w r2, r1, r2 8079736: 1a9a subs r2, r3, r2 8079738: 4b7b ldr r3, [pc, #492] ; (8079928 ) 807973a: fba3 1302 umull r1, r3, r3, r2 807973e: 08d9 lsrs r1, r3, #3 8079740: 460b mov r3, r1 8079742: 009b lsls r3, r3, #2 8079744: 440b add r3, r1 8079746: 005b lsls r3, r3, #1 8079748: 1ad1 subs r1, r2, r3 807974a: b2cb uxtb r3, r1 807974c: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 8079750: 2300 movs r3, #0 8079752: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 8079756: f507 733b add.w r3, r7, #748 ; 0x2ec 807975a: 223c movs r2, #60 ; 0x3c 807975c: 2100 movs r1, #0 807975e: 4618 mov r0, r3 8079760: f053 fc8e bl 80cd080 if(idt2 != 0) 8079764: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8079768: b2db uxtb r3, r3 807976a: 2b00 cmp r3, #0 807976c: d00c beq.n 8079788 str[i++] = idt2 + 48; 807976e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079772: 1c5a adds r2, r3, #1 8079774: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079778: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 807977c: b2d2 uxtb r2, r2 807977e: 3230 adds r2, #48 ; 0x30 8079780: b2d1 uxtb r1, r2 8079782: f507 723b add.w r2, r7, #748 ; 0x2ec 8079786: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 8079788: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807978c: b2db uxtb r3, r3 807978e: 2b00 cmp r3, #0 8079790: d104 bne.n 807979c 8079792: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8079796: b2db uxtb r3, r3 8079798: 2b00 cmp r3, #0 807979a: d00c beq.n 80797b6 str[i++] = iet2 + 48; 807979c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80797a0: 1c5a adds r2, r3, #1 80797a2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80797a6: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 80797aa: b2d2 uxtb r2, r2 80797ac: 3230 adds r2, #48 ; 0x30 80797ae: b2d1 uxtb r1, r2 80797b0: f507 723b add.w r2, r7, #748 ; 0x2ec 80797b4: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 80797b6: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80797ba: b2db uxtb r3, r3 80797bc: 2b00 cmp r3, #0 80797be: d109 bne.n 80797d4 80797c0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80797c4: b2db uxtb r3, r3 80797c6: 2b00 cmp r3, #0 80797c8: d104 bne.n 80797d4 80797ca: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80797ce: b2db uxtb r3, r3 80797d0: 2b00 cmp r3, #0 80797d2: d00c beq.n 80797ee str[i++] = ies2 + 48; 80797d4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80797d8: 1c5a adds r2, r3, #1 80797da: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80797de: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 80797e2: b2d2 uxtb r2, r2 80797e4: 3230 adds r2, #48 ; 0x30 80797e6: b2d1 uxtb r1, r2 80797e8: f507 723b add.w r2, r7, #748 ; 0x2ec 80797ec: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 80797ee: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80797f2: b2db uxtb r3, r3 80797f4: 2b00 cmp r3, #0 80797f6: d10e bne.n 8079816 80797f8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80797fc: b2db uxtb r3, r3 80797fe: 2b00 cmp r3, #0 8079800: d109 bne.n 8079816 8079802: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8079806: b2db uxtb r3, r3 8079808: 2b00 cmp r3, #0 807980a: d104 bne.n 8079816 807980c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8079810: b2db uxtb r3, r3 8079812: 2b00 cmp r3, #0 8079814: d00c beq.n 8079830 str[i++] = ied2 + 48; 8079816: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807981a: 1c5a adds r2, r3, #1 807981c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079820: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 8079824: b2d2 uxtb r2, r2 8079826: 3230 adds r2, #48 ; 0x30 8079828: b2d1 uxtb r1, r2 807982a: f507 723b add.w r2, r7, #748 ; 0x2ec 807982e: 54d1 strb r1, [r2, r3] str[i++] = iee2 + 48; 8079830: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079834: 1c5a adds r2, r3, #1 8079836: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807983a: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 807983e: b2d2 uxtb r2, r2 8079840: 3230 adds r2, #48 ; 0x30 8079842: b2d1 uxtb r1, r2 8079844: f507 723b add.w r2, r7, #748 ; 0x2ec 8079848: 54d1 strb r1, [r2, r3] str[i++] = '.'; 807984a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807984e: 1c5a adds r2, r3, #1 8079850: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079854: f507 723b add.w r2, r7, #748 ; 0x2ec 8079858: 212e movs r1, #46 ; 0x2e 807985a: 54d1 strb r1, [r2, r3] str[i++] = ikd2 + 48; 807985c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079860: 1c5a adds r2, r3, #1 8079862: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079866: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 807986a: b2d2 uxtb r2, r2 807986c: 3230 adds r2, #48 ; 0x30 807986e: b2d1 uxtb r1, r2 8079870: f507 723b add.w r2, r7, #748 ; 0x2ec 8079874: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.HP * 10.0f); 8079876: 4b26 ldr r3, [pc, #152] ; (8079910 ) 8079878: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807987c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8079880: ee67 7a87 vmul.f32 s15, s15, s14 8079884: eefc 7ae7 vcvt.u32.f32 s15, s15 8079888: ee17 3a90 vmov r3, s15 807988c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 8079890: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079894: 095b lsrs r3, r3, #5 8079896: 4a1f ldr r2, [pc, #124] ; (8079914 ) 8079898: fba2 2303 umull r2, r3, r2, r3 807989c: 09db lsrs r3, r3, #7 807989e: b2db uxtb r3, r3 80798a0: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 80798a4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80798a8: 0953 lsrs r3, r2, #5 80798aa: 491a ldr r1, [pc, #104] ; (8079914 ) 80798ac: fba1 1303 umull r1, r3, r1, r3 80798b0: 09db lsrs r3, r3, #7 80798b2: 4919 ldr r1, [pc, #100] ; (8079918 ) 80798b4: fb01 f303 mul.w r3, r1, r3 80798b8: 1ad3 subs r3, r2, r3 80798ba: 4a18 ldr r2, [pc, #96] ; (807991c ) 80798bc: fba2 2303 umull r2, r3, r2, r3 80798c0: 0b5b lsrs r3, r3, #13 80798c2: b2db uxtb r3, r3 80798c4: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 80798c8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80798cc: 0953 lsrs r3, r2, #5 80798ce: 4911 ldr r1, [pc, #68] ; (8079914 ) 80798d0: fba1 1303 umull r1, r3, r1, r3 80798d4: 09db lsrs r3, r3, #7 80798d6: 4910 ldr r1, [pc, #64] ; (8079918 ) 80798d8: fb01 f303 mul.w r3, r1, r3 80798dc: 1ad3 subs r3, r2, r3 80798de: 4a0f ldr r2, [pc, #60] ; (807991c ) 80798e0: fba2 1203 umull r1, r2, r2, r3 80798e4: 0b52 lsrs r2, r2, #13 80798e6: f242 7110 movw r1, #10000 ; 0x2710 80798ea: fb01 f202 mul.w r2, r1, r2 80798ee: 1a9a subs r2, r3, r2 80798f0: 4b0b ldr r3, [pc, #44] ; (8079920 ) 80798f2: fba3 2302 umull r2, r3, r3, r2 80798f6: 099b lsrs r3, r3, #6 80798f8: b2db uxtb r3, r3 80798fa: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 80798fe: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079902: 095a lsrs r2, r3, #5 8079904: e012 b.n 807992c 8079906: bf00 nop 8079908: ff0a0f1f .word 0xff0a0f1f 807990c: ffd3d3d3 .word 0xffd3d3d3 8079910: 20023e60 .word 0x20023e60 8079914: 0a7c5ac5 .word 0x0a7c5ac5 8079918: 000186a0 .word 0x000186a0 807991c: d1b71759 .word 0xd1b71759 8079920: 10624dd3 .word 0x10624dd3 8079924: 51eb851f .word 0x51eb851f 8079928: cccccccd .word 0xcccccccd 807992c: 49d6 ldr r1, [pc, #856] ; (8079c88 ) 807992e: fba1 1202 umull r1, r2, r1, r2 8079932: 09d2 lsrs r2, r2, #7 8079934: 49d5 ldr r1, [pc, #852] ; (8079c8c ) 8079936: fb01 f202 mul.w r2, r1, r2 807993a: 1a9a subs r2, r3, r2 807993c: 4bd4 ldr r3, [pc, #848] ; (8079c90 ) 807993e: fba3 1302 umull r1, r3, r3, r2 8079942: 0b5b lsrs r3, r3, #13 8079944: f242 7110 movw r1, #10000 ; 0x2710 8079948: fb01 f303 mul.w r3, r1, r3 807994c: 1ad3 subs r3, r2, r3 807994e: 4ad1 ldr r2, [pc, #836] ; (8079c94 ) 8079950: fba2 1203 umull r1, r2, r2, r3 8079954: 0992 lsrs r2, r2, #6 8079956: f44f 717a mov.w r1, #1000 ; 0x3e8 807995a: fb01 f202 mul.w r2, r1, r2 807995e: 1a9a subs r2, r3, r2 8079960: 4bcd ldr r3, [pc, #820] ; (8079c98 ) 8079962: fba3 2302 umull r2, r3, r3, r2 8079966: 095b lsrs r3, r3, #5 8079968: b2db uxtb r3, r3 807996a: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 807996e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8079972: 0953 lsrs r3, r2, #5 8079974: 49c4 ldr r1, [pc, #784] ; (8079c88 ) 8079976: fba1 1303 umull r1, r3, r1, r3 807997a: 09db lsrs r3, r3, #7 807997c: 49c3 ldr r1, [pc, #780] ; (8079c8c ) 807997e: fb01 f303 mul.w r3, r1, r3 8079982: 1ad3 subs r3, r2, r3 8079984: 4ac2 ldr r2, [pc, #776] ; (8079c90 ) 8079986: fba2 1203 umull r1, r2, r2, r3 807998a: 0b52 lsrs r2, r2, #13 807998c: f242 7110 movw r1, #10000 ; 0x2710 8079990: fb01 f202 mul.w r2, r1, r2 8079994: 1a9a subs r2, r3, r2 8079996: 4bbf ldr r3, [pc, #764] ; (8079c94 ) 8079998: fba3 1302 umull r1, r3, r3, r2 807999c: 099b lsrs r3, r3, #6 807999e: f44f 717a mov.w r1, #1000 ; 0x3e8 80799a2: fb01 f303 mul.w r3, r1, r3 80799a6: 1ad3 subs r3, r2, r3 80799a8: 4abb ldr r2, [pc, #748] ; (8079c98 ) 80799aa: fba2 1203 umull r1, r2, r2, r3 80799ae: 0952 lsrs r2, r2, #5 80799b0: 2164 movs r1, #100 ; 0x64 80799b2: fb01 f202 mul.w r2, r1, r2 80799b6: 1a9a subs r2, r3, r2 80799b8: 4bb8 ldr r3, [pc, #736] ; (8079c9c ) 80799ba: fba3 2302 umull r2, r3, r3, r2 80799be: 08db lsrs r3, r3, #3 80799c0: b2db uxtb r3, r3 80799c2: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 80799c6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80799ca: 0953 lsrs r3, r2, #5 80799cc: 49ae ldr r1, [pc, #696] ; (8079c88 ) 80799ce: fba1 1303 umull r1, r3, r1, r3 80799d2: 09db lsrs r3, r3, #7 80799d4: 49ad ldr r1, [pc, #692] ; (8079c8c ) 80799d6: fb01 f303 mul.w r3, r1, r3 80799da: 1ad3 subs r3, r2, r3 80799dc: 4aac ldr r2, [pc, #688] ; (8079c90 ) 80799de: fba2 1203 umull r1, r2, r2, r3 80799e2: 0b52 lsrs r2, r2, #13 80799e4: f242 7110 movw r1, #10000 ; 0x2710 80799e8: fb01 f202 mul.w r2, r1, r2 80799ec: 1a9a subs r2, r3, r2 80799ee: 4ba9 ldr r3, [pc, #676] ; (8079c94 ) 80799f0: fba3 1302 umull r1, r3, r3, r2 80799f4: 099b lsrs r3, r3, #6 80799f6: f44f 717a mov.w r1, #1000 ; 0x3e8 80799fa: fb01 f303 mul.w r3, r1, r3 80799fe: 1ad3 subs r3, r2, r3 8079a00: 4aa5 ldr r2, [pc, #660] ; (8079c98 ) 8079a02: fba2 1203 umull r1, r2, r2, r3 8079a06: 0952 lsrs r2, r2, #5 8079a08: 2164 movs r1, #100 ; 0x64 8079a0a: fb01 f202 mul.w r2, r1, r2 8079a0e: 1a9a subs r2, r3, r2 8079a10: 4ba2 ldr r3, [pc, #648] ; (8079c9c ) 8079a12: fba3 1302 umull r1, r3, r3, r2 8079a16: 08d9 lsrs r1, r3, #3 8079a18: 460b mov r3, r1 8079a1a: 009b lsls r3, r3, #2 8079a1c: 440b add r3, r1 8079a1e: 005b lsls r3, r3, #1 8079a20: 1ad1 subs r1, r2, r3 8079a22: b2cb uxtb r3, r1 8079a24: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 8079a28: 2300 movs r3, #0 8079a2a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 8079a2e: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8079a32: 220c movs r2, #12 8079a34: 2100 movs r1, #0 8079a36: 4618 mov r0, r3 8079a38: f053 fb22 bl 80cd080 if(idtHP != 0) 8079a3c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8079a40: b2db uxtb r3, r3 8079a42: 2b00 cmp r3, #0 8079a44: d00c beq.n 8079a60 strHP[i++] = idtHP + 48; 8079a46: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079a4a: 1c5a adds r2, r3, #1 8079a4c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079a50: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 8079a54: b2d2 uxtb r2, r2 8079a56: 3230 adds r2, #48 ; 0x30 8079a58: b2d1 uxtb r1, r2 8079a5a: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079a5e: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 8079a60: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8079a64: b2db uxtb r3, r3 8079a66: 2b00 cmp r3, #0 8079a68: d104 bne.n 8079a74 8079a6a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8079a6e: b2db uxtb r3, r3 8079a70: 2b00 cmp r3, #0 8079a72: d00c beq.n 8079a8e strHP[i++] = ietHP + 48; 8079a74: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079a78: 1c5a adds r2, r3, #1 8079a7a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079a7e: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 8079a82: b2d2 uxtb r2, r2 8079a84: 3230 adds r2, #48 ; 0x30 8079a86: b2d1 uxtb r1, r2 8079a88: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079a8c: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8079a8e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8079a92: b2db uxtb r3, r3 8079a94: 2b00 cmp r3, #0 8079a96: d109 bne.n 8079aac 8079a98: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8079a9c: b2db uxtb r3, r3 8079a9e: 2b00 cmp r3, #0 8079aa0: d104 bne.n 8079aac 8079aa2: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8079aa6: b2db uxtb r3, r3 8079aa8: 2b00 cmp r3, #0 8079aaa: d00c beq.n 8079ac6 strHP[i++] = iesHP + 48; 8079aac: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079ab0: 1c5a adds r2, r3, #1 8079ab2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079ab6: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 8079aba: b2d2 uxtb r2, r2 8079abc: 3230 adds r2, #48 ; 0x30 8079abe: b2d1 uxtb r1, r2 8079ac0: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079ac4: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8079ac6: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8079aca: b2db uxtb r3, r3 8079acc: 2b00 cmp r3, #0 8079ace: d10e bne.n 8079aee 8079ad0: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8079ad4: b2db uxtb r3, r3 8079ad6: 2b00 cmp r3, #0 8079ad8: d109 bne.n 8079aee 8079ada: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8079ade: b2db uxtb r3, r3 8079ae0: 2b00 cmp r3, #0 8079ae2: d104 bne.n 8079aee 8079ae4: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8079ae8: b2db uxtb r3, r3 8079aea: 2b00 cmp r3, #0 8079aec: d00c beq.n 8079b08 strHP[i++] = iedHP + 48; 8079aee: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079af2: 1c5a adds r2, r3, #1 8079af4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079af8: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 8079afc: b2d2 uxtb r2, r2 8079afe: 3230 adds r2, #48 ; 0x30 8079b00: b2d1 uxtb r1, r2 8079b02: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079b06: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 8079b08: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079b0c: 1c5a adds r2, r3, #1 8079b0e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079b12: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 8079b16: b2d2 uxtb r2, r2 8079b18: 3230 adds r2, #48 ; 0x30 8079b1a: b2d1 uxtb r1, r2 8079b1c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079b20: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 8079b22: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079b26: 1c5a adds r2, r3, #1 8079b28: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079b2c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079b30: 212e movs r1, #46 ; 0x2e 8079b32: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 8079b34: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079b38: 1c5a adds r2, r3, #1 8079b3a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079b3e: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 8079b42: b2d2 uxtb r2, r2 8079b44: 3230 adds r2, #48 ; 0x30 8079b46: b2d1 uxtb r1, r2 8079b48: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8079b4c: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.LP * 10.0f); 8079b4e: 4b54 ldr r3, [pc, #336] ; (8079ca0 ) 8079b50: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 8079b54: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8079b58: ee67 7a87 vmul.f32 s15, s15, s14 8079b5c: eefc 7ae7 vcvt.u32.f32 s15, s15 8079b60: ee17 3a90 vmov r3, s15 8079b64: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 8079b68: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079b6c: 095b lsrs r3, r3, #5 8079b6e: 4a46 ldr r2, [pc, #280] ; (8079c88 ) 8079b70: fba2 2303 umull r2, r3, r2, r3 8079b74: 09db lsrs r3, r3, #7 8079b76: b2db uxtb r3, r3 8079b78: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 8079b7c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8079b80: 0953 lsrs r3, r2, #5 8079b82: 4941 ldr r1, [pc, #260] ; (8079c88 ) 8079b84: fba1 1303 umull r1, r3, r1, r3 8079b88: 09db lsrs r3, r3, #7 8079b8a: 4940 ldr r1, [pc, #256] ; (8079c8c ) 8079b8c: fb01 f303 mul.w r3, r1, r3 8079b90: 1ad3 subs r3, r2, r3 8079b92: 4a3f ldr r2, [pc, #252] ; (8079c90 ) 8079b94: fba2 2303 umull r2, r3, r2, r3 8079b98: 0b5b lsrs r3, r3, #13 8079b9a: b2db uxtb r3, r3 8079b9c: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 8079ba0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8079ba4: 0953 lsrs r3, r2, #5 8079ba6: 4938 ldr r1, [pc, #224] ; (8079c88 ) 8079ba8: fba1 1303 umull r1, r3, r1, r3 8079bac: 09db lsrs r3, r3, #7 8079bae: 4937 ldr r1, [pc, #220] ; (8079c8c ) 8079bb0: fb01 f303 mul.w r3, r1, r3 8079bb4: 1ad3 subs r3, r2, r3 8079bb6: 4a36 ldr r2, [pc, #216] ; (8079c90 ) 8079bb8: fba2 1203 umull r1, r2, r2, r3 8079bbc: 0b52 lsrs r2, r2, #13 8079bbe: f242 7110 movw r1, #10000 ; 0x2710 8079bc2: fb01 f202 mul.w r2, r1, r2 8079bc6: 1a9a subs r2, r3, r2 8079bc8: 4b32 ldr r3, [pc, #200] ; (8079c94 ) 8079bca: fba3 2302 umull r2, r3, r3, r2 8079bce: 099b lsrs r3, r3, #6 8079bd0: b2db uxtb r3, r3 8079bd2: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8079bd6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8079bda: 095a lsrs r2, r3, #5 8079bdc: 492a ldr r1, [pc, #168] ; (8079c88 ) 8079bde: fba1 1202 umull r1, r2, r1, r2 8079be2: 09d2 lsrs r2, r2, #7 8079be4: 4929 ldr r1, [pc, #164] ; (8079c8c ) 8079be6: fb01 f202 mul.w r2, r1, r2 8079bea: 1a9a subs r2, r3, r2 8079bec: 4b28 ldr r3, [pc, #160] ; (8079c90 ) 8079bee: fba3 1302 umull r1, r3, r3, r2 8079bf2: 0b5b lsrs r3, r3, #13 8079bf4: f242 7110 movw r1, #10000 ; 0x2710 8079bf8: fb01 f303 mul.w r3, r1, r3 8079bfc: 1ad3 subs r3, r2, r3 8079bfe: 4a25 ldr r2, [pc, #148] ; (8079c94 ) 8079c00: fba2 1203 umull r1, r2, r2, r3 8079c04: 0992 lsrs r2, r2, #6 8079c06: f44f 717a mov.w r1, #1000 ; 0x3e8 8079c0a: fb01 f202 mul.w r2, r1, r2 8079c0e: 1a9a subs r2, r3, r2 8079c10: 4b21 ldr r3, [pc, #132] ; (8079c98 ) 8079c12: fba3 2302 umull r2, r3, r3, r2 8079c16: 095b lsrs r3, r3, #5 8079c18: b2db uxtb r3, r3 8079c1a: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8079c1e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8079c22: 0953 lsrs r3, r2, #5 8079c24: 4918 ldr r1, [pc, #96] ; (8079c88 ) 8079c26: fba1 1303 umull r1, r3, r1, r3 8079c2a: 09db lsrs r3, r3, #7 8079c2c: 4917 ldr r1, [pc, #92] ; (8079c8c ) 8079c2e: fb01 f303 mul.w r3, r1, r3 8079c32: 1ad3 subs r3, r2, r3 8079c34: 4a16 ldr r2, [pc, #88] ; (8079c90 ) 8079c36: fba2 1203 umull r1, r2, r2, r3 8079c3a: 0b52 lsrs r2, r2, #13 8079c3c: f242 7110 movw r1, #10000 ; 0x2710 8079c40: fb01 f202 mul.w r2, r1, r2 8079c44: 1a9a subs r2, r3, r2 8079c46: 4b13 ldr r3, [pc, #76] ; (8079c94 ) 8079c48: fba3 1302 umull r1, r3, r3, r2 8079c4c: 099b lsrs r3, r3, #6 8079c4e: f44f 717a mov.w r1, #1000 ; 0x3e8 8079c52: fb01 f303 mul.w r3, r1, r3 8079c56: 1ad3 subs r3, r2, r3 8079c58: 4a0f ldr r2, [pc, #60] ; (8079c98 ) 8079c5a: fba2 1203 umull r1, r2, r2, r3 8079c5e: 0952 lsrs r2, r2, #5 8079c60: 2164 movs r1, #100 ; 0x64 8079c62: fb01 f202 mul.w r2, r1, r2 8079c66: 1a9a subs r2, r3, r2 8079c68: 4b0c ldr r3, [pc, #48] ; (8079c9c ) 8079c6a: fba3 2302 umull r2, r3, r3, r2 8079c6e: 08db lsrs r3, r3, #3 8079c70: b2db uxtb r3, r3 8079c72: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8079c76: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8079c7a: 0953 lsrs r3, r2, #5 8079c7c: 4902 ldr r1, [pc, #8] ; (8079c88 ) 8079c7e: fba1 1303 umull r1, r3, r1, r3 8079c82: 09db lsrs r3, r3, #7 8079c84: e00e b.n 8079ca4 8079c86: bf00 nop 8079c88: 0a7c5ac5 .word 0x0a7c5ac5 8079c8c: 000186a0 .word 0x000186a0 8079c90: d1b71759 .word 0xd1b71759 8079c94: 10624dd3 .word 0x10624dd3 8079c98: 51eb851f .word 0x51eb851f 8079c9c: cccccccd .word 0xcccccccd 8079ca0: 20023e60 .word 0x20023e60 8079ca4: 497e ldr r1, [pc, #504] ; (8079ea0 ) 8079ca6: fb01 f303 mul.w r3, r1, r3 8079caa: 1ad3 subs r3, r2, r3 8079cac: 4a7d ldr r2, [pc, #500] ; (8079ea4 ) 8079cae: fba2 1203 umull r1, r2, r2, r3 8079cb2: 0b52 lsrs r2, r2, #13 8079cb4: f242 7110 movw r1, #10000 ; 0x2710 8079cb8: fb01 f202 mul.w r2, r1, r2 8079cbc: 1a9a subs r2, r3, r2 8079cbe: 4b7a ldr r3, [pc, #488] ; (8079ea8 ) 8079cc0: fba3 1302 umull r1, r3, r3, r2 8079cc4: 099b lsrs r3, r3, #6 8079cc6: f44f 717a mov.w r1, #1000 ; 0x3e8 8079cca: fb01 f303 mul.w r3, r1, r3 8079cce: 1ad3 subs r3, r2, r3 8079cd0: 4a76 ldr r2, [pc, #472] ; (8079eac ) 8079cd2: fba2 1203 umull r1, r2, r2, r3 8079cd6: 0952 lsrs r2, r2, #5 8079cd8: 2164 movs r1, #100 ; 0x64 8079cda: fb01 f202 mul.w r2, r1, r2 8079cde: 1a9a subs r2, r3, r2 8079ce0: 4b73 ldr r3, [pc, #460] ; (8079eb0 ) 8079ce2: fba3 1302 umull r1, r3, r3, r2 8079ce6: 08d9 lsrs r1, r3, #3 8079ce8: 460b mov r3, r1 8079cea: 009b lsls r3, r3, #2 8079cec: 440b add r3, r1 8079cee: 005b lsls r3, r3, #1 8079cf0: 1ad1 subs r1, r2, r3 8079cf2: b2cb uxtb r3, r1 8079cf4: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 8079cf8: 2300 movs r3, #0 8079cfa: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 8079cfe: f507 73cc add.w r3, r7, #408 ; 0x198 8079d02: 220c movs r2, #12 8079d04: 2100 movs r1, #0 8079d06: 4618 mov r0, r3 8079d08: f053 f9ba bl 80cd080 if(idtLP != 0) 8079d0c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8079d10: b2db uxtb r3, r3 8079d12: 2b00 cmp r3, #0 8079d14: d00c beq.n 8079d30 strLP[i++] = idtLP + 48; 8079d16: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079d1a: 1c5a adds r2, r3, #1 8079d1c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079d20: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 8079d24: b2d2 uxtb r2, r2 8079d26: 3230 adds r2, #48 ; 0x30 8079d28: b2d1 uxtb r1, r2 8079d2a: f507 72cc add.w r2, r7, #408 ; 0x198 8079d2e: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 8079d30: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8079d34: b2db uxtb r3, r3 8079d36: 2b00 cmp r3, #0 8079d38: d104 bne.n 8079d44 8079d3a: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8079d3e: b2db uxtb r3, r3 8079d40: 2b00 cmp r3, #0 8079d42: d00c beq.n 8079d5e strLP[i++] = ietLP + 48; 8079d44: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079d48: 1c5a adds r2, r3, #1 8079d4a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079d4e: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 8079d52: b2d2 uxtb r2, r2 8079d54: 3230 adds r2, #48 ; 0x30 8079d56: b2d1 uxtb r1, r2 8079d58: f507 72cc add.w r2, r7, #408 ; 0x198 8079d5c: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 8079d5e: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8079d62: b2db uxtb r3, r3 8079d64: 2b00 cmp r3, #0 8079d66: d109 bne.n 8079d7c 8079d68: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8079d6c: b2db uxtb r3, r3 8079d6e: 2b00 cmp r3, #0 8079d70: d104 bne.n 8079d7c 8079d72: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8079d76: b2db uxtb r3, r3 8079d78: 2b00 cmp r3, #0 8079d7a: d00c beq.n 8079d96 strLP[i++] = iesLP + 48; 8079d7c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079d80: 1c5a adds r2, r3, #1 8079d82: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079d86: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 8079d8a: b2d2 uxtb r2, r2 8079d8c: 3230 adds r2, #48 ; 0x30 8079d8e: b2d1 uxtb r1, r2 8079d90: f507 72cc add.w r2, r7, #408 ; 0x198 8079d94: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 8079d96: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8079d9a: b2db uxtb r3, r3 8079d9c: 2b00 cmp r3, #0 8079d9e: d10e bne.n 8079dbe 8079da0: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8079da4: b2db uxtb r3, r3 8079da6: 2b00 cmp r3, #0 8079da8: d109 bne.n 8079dbe 8079daa: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8079dae: b2db uxtb r3, r3 8079db0: 2b00 cmp r3, #0 8079db2: d104 bne.n 8079dbe 8079db4: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8079db8: b2db uxtb r3, r3 8079dba: 2b00 cmp r3, #0 8079dbc: d00c beq.n 8079dd8 strLP[i++] = iedLP + 48; 8079dbe: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079dc2: 1c5a adds r2, r3, #1 8079dc4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079dc8: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 8079dcc: b2d2 uxtb r2, r2 8079dce: 3230 adds r2, #48 ; 0x30 8079dd0: b2d1 uxtb r1, r2 8079dd2: f507 72cc add.w r2, r7, #408 ; 0x198 8079dd6: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 8079dd8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079ddc: 1c5a adds r2, r3, #1 8079dde: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079de2: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 8079de6: b2d2 uxtb r2, r2 8079de8: 3230 adds r2, #48 ; 0x30 8079dea: b2d1 uxtb r1, r2 8079dec: f507 72cc add.w r2, r7, #408 ; 0x198 8079df0: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 8079df2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079df6: 1c5a adds r2, r3, #1 8079df8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079dfc: f507 72cc add.w r2, r7, #408 ; 0x198 8079e00: 212e movs r1, #46 ; 0x2e 8079e02: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 8079e04: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8079e08: 1c5a adds r2, r3, #1 8079e0a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8079e0e: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 8079e12: b2d2 uxtb r2, r2 8079e14: 3230 adds r2, #48 ; 0x30 8079e16: b2d1 uxtb r1, r2 8079e18: f507 72cc add.w r2, r7, #408 ; 0x198 8079e1c: 54d1 strb r1, [r2, r3] //**************************************************************** l = strlen(MeasFileName); 8079e1e: 4825 ldr r0, [pc, #148] ; (8079eb4 ) 8079e20: f7a6 fa78 bl 8020314 8079e24: 4603 mov r3, r0 8079e26: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 8079e2a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8079e2e: 2b09 cmp r3, #9 8079e30: d806 bhi.n 8079e40 { strcpy(str1, MeasFileName); 8079e32: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8079e36: 491f ldr r1, [pc, #124] ; (8079eb4 ) 8079e38: 4618 mov r0, r3 8079e3a: f053 fa3e bl 80cd2ba 8079e3e: e070 b.n 8079f22 } else { memset(str1, 0x20, sizeof(str1)); 8079e40: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8079e44: f44f 7280 mov.w r2, #256 ; 0x100 8079e48: 2120 movs r1, #32 8079e4a: 4618 mov r0, r3 8079e4c: f053 f918 bl 80cd080 if(tme <= l) 8079e50: 4b19 ldr r3, [pc, #100] ; (8079eb8 ) 8079e52: 681a ldr r2, [r3, #0] 8079e54: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8079e58: 429a cmp r2, r3 8079e5a: d82f bhi.n 8079ebc { if(l - tme >= 9) 8079e5c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8079e60: 4b15 ldr r3, [pc, #84] ; (8079eb8 ) 8079e62: 681b ldr r3, [r3, #0] 8079e64: 1ad3 subs r3, r2, r3 8079e66: 2b08 cmp r3, #8 8079e68: d90a bls.n 8079e80 memcpy(str1, &MeasFileName[tme], 9); 8079e6a: 4b13 ldr r3, [pc, #76] ; (8079eb8 ) 8079e6c: 681b ldr r3, [r3, #0] 8079e6e: 4a11 ldr r2, [pc, #68] ; (8079eb4 ) 8079e70: 1899 adds r1, r3, r2 8079e72: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8079e76: 2209 movs r2, #9 8079e78: 4618 mov r0, r3 8079e7a: f053 f8f6 bl 80cd06a 8079e7e: e02f b.n 8079ee0 else memcpy(str1, &MeasFileName[tme], l - tme); 8079e80: 4b0d ldr r3, [pc, #52] ; (8079eb8 ) 8079e82: 681b ldr r3, [r3, #0] 8079e84: 4a0b ldr r2, [pc, #44] ; (8079eb4 ) 8079e86: 1899 adds r1, r3, r2 8079e88: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8079e8c: 4b0a ldr r3, [pc, #40] ; (8079eb8 ) 8079e8e: 681b ldr r3, [r3, #0] 8079e90: 1ad2 subs r2, r2, r3 8079e92: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8079e96: 4618 mov r0, r3 8079e98: f053 f8e7 bl 80cd06a 8079e9c: e020 b.n 8079ee0 8079e9e: bf00 nop 8079ea0: 000186a0 .word 0x000186a0 8079ea4: d1b71759 .word 0xd1b71759 8079ea8: 10624dd3 .word 0x10624dd3 8079eac: 51eb851f .word 0x51eb851f 8079eb0: cccccccd .word 0xcccccccd 8079eb4: 20020e58 .word 0x20020e58 8079eb8: 20021668 .word 0x20021668 } else { memcpy(&str1[9 - (tme - l)], MeasFileName, tme - l); 8079ebc: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8079ec0: 4b97 ldr r3, [pc, #604] ; (807a120 ) 8079ec2: 681b ldr r3, [r3, #0] 8079ec4: 1ad3 subs r3, r2, r3 8079ec6: 3309 adds r3, #9 8079ec8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8079ecc: 18d0 adds r0, r2, r3 8079ece: 4b94 ldr r3, [pc, #592] ; (807a120 ) 8079ed0: 681a ldr r2, [r3, #0] 8079ed2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8079ed6: 1ad3 subs r3, r2, r3 8079ed8: 461a mov r2, r3 8079eda: 4992 ldr r1, [pc, #584] ; (807a124 ) 8079edc: f053 f8c5 bl 80cd06a } str1[10] = '\0'; 8079ee0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8079ee4: 2200 movs r2, #0 8079ee6: 729a strb r2, [r3, #10] tt++; 8079ee8: 4b8f ldr r3, [pc, #572] ; (807a128 ) 8079eea: 781b ldrb r3, [r3, #0] 8079eec: 3301 adds r3, #1 8079eee: b2da uxtb r2, r3 8079ef0: 4b8d ldr r3, [pc, #564] ; (807a128 ) 8079ef2: 701a strb r2, [r3, #0] if(tt >= 4) 8079ef4: 4b8c ldr r3, [pc, #560] ; (807a128 ) 8079ef6: 781b ldrb r3, [r3, #0] 8079ef8: 2b03 cmp r3, #3 8079efa: d912 bls.n 8079f22 { tt = 0; 8079efc: 4b8a ldr r3, [pc, #552] ; (807a128 ) 8079efe: 2200 movs r2, #0 8079f00: 701a strb r2, [r3, #0] tme++; 8079f02: 4b87 ldr r3, [pc, #540] ; (807a120 ) 8079f04: 681b ldr r3, [r3, #0] 8079f06: 3301 adds r3, #1 8079f08: 4a85 ldr r2, [pc, #532] ; (807a120 ) 8079f0a: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 8079f0c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8079f10: 4b83 ldr r3, [pc, #524] ; (807a120 ) 8079f12: 681b ldr r3, [r3, #0] 8079f14: 1ad3 subs r3, r2, r3 8079f16: f113 0f09 cmn.w r3, #9 8079f1a: d102 bne.n 8079f22 { tme = 0; 8079f1c: 4b80 ldr r3, [pc, #512] ; (807a120 ) 8079f1e: 2200 movs r2, #0 8079f20: 601a str r2, [r3, #0] } //**************************************************************** LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8079f22: 4982 ldr r1, [pc, #520] ; (807a12c ) 8079f24: f04f 30ff mov.w r0, #4294967295 8079f28: f7d9 fc5c bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_PARAM_VIB[pardata.LANG][0]); //"ÔÂ×" 8079f2c: 4b80 ldr r3, [pc, #512] ; (807a130 ) 8079f2e: 7b1b ldrb r3, [r3, #12] 8079f30: b2db uxtb r3, r3 8079f32: 4619 mov r1, r3 8079f34: 4a7f ldr r2, [pc, #508] ; (807a134 ) 8079f36: 232c movs r3, #44 ; 0x2c 8079f38: fb03 f301 mul.w r3, r3, r1 8079f3c: 4413 add r3, r2 8079f3e: 681b ldr r3, [r3, #0] 8079f40: 461a mov r2, r3 8079f42: 213a movs r1, #58 ; 0x3a 8079f44: 200a movs r0, #10 8079f46: f7da f9f5 bl 8054334 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_PARAM_VIB[pardata.LANG][1]); //"ÔÍ×" 8079f4a: 4b79 ldr r3, [pc, #484] ; (807a130 ) 8079f4c: 7b1b ldrb r3, [r3, #12] 8079f4e: b2db uxtb r3, r3 8079f50: 4619 mov r1, r3 8079f52: 4a78 ldr r2, [pc, #480] ; (807a134 ) 8079f54: 232c movs r3, #44 ; 0x2c 8079f56: fb03 f301 mul.w r3, r3, r1 8079f5a: 4413 add r3, r2 8079f5c: 3304 adds r3, #4 8079f5e: 681b ldr r3, [r3, #0] 8079f60: 461a mov r2, r3 8079f62: 214a movs r1, #74 ; 0x4a 8079f64: 200a movs r0, #10 8079f66: f7da f9e5 bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_PARAM_VIB[pardata.LANG][2]); //"Çíà÷åíèå Óñêîð-èÿ" 8079f6a: 4b71 ldr r3, [pc, #452] ; (807a130 ) 8079f6c: 7b1b ldrb r3, [r3, #12] 8079f6e: b2db uxtb r3, r3 8079f70: 4619 mov r1, r3 8079f72: 4a70 ldr r2, [pc, #448] ; (807a134 ) 8079f74: 232c movs r3, #44 ; 0x2c 8079f76: fb03 f301 mul.w r3, r3, r1 8079f7a: 4413 add r3, r2 8079f7c: 3308 adds r3, #8 8079f7e: 681b ldr r3, [r3, #0] 8079f80: 461a mov r2, r3 8079f82: 215a movs r1, #90 ; 0x5a 8079f84: 200a movs r0, #10 8079f86: f7da f9d5 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_PARAM_VIB[pardata.LANG][5]); //"Óñðåäíåíèå" 8079f8a: 4b69 ldr r3, [pc, #420] ; (807a130 ) 8079f8c: 7b1b ldrb r3, [r3, #12] 8079f8e: b2db uxtb r3, r3 8079f90: 4619 mov r1, r3 8079f92: 4a68 ldr r2, [pc, #416] ; (807a134 ) 8079f94: 232c movs r3, #44 ; 0x2c 8079f96: fb03 f301 mul.w r3, r3, r1 8079f9a: 4413 add r3, r2 8079f9c: 3314 adds r3, #20 8079f9e: 681b ldr r3, [r3, #0] 8079fa0: 461a mov r2, r3 8079fa2: 218a movs r1, #138 ; 0x8a 8079fa4: 200a movs r0, #10 8079fa6: f7da f9c5 bl 8054334 LCD_DisplayString(10, LCD_LINE_9, (char *)TEXT_PARAM_VIB[pardata.LANG][6]); //"Ìåäèàíà" 8079faa: 4b61 ldr r3, [pc, #388] ; (807a130 ) 8079fac: 7b1b ldrb r3, [r3, #12] 8079fae: b2db uxtb r3, r3 8079fb0: 4619 mov r1, r3 8079fb2: 4a60 ldr r2, [pc, #384] ; (807a134 ) 8079fb4: 232c movs r3, #44 ; 0x2c 8079fb6: fb03 f301 mul.w r3, r3, r1 8079fba: 4413 add r3, r2 8079fbc: 3318 adds r3, #24 8079fbe: 681b ldr r3, [r3, #0] 8079fc0: 461a mov r2, r3 8079fc2: 219a movs r1, #154 ; 0x9a 8079fc4: 200a movs r0, #10 8079fc6: f7da f9b5 bl 8054334 LCD_DisplayString(10, LCD_LINE_10, (char *)TEXT_PARAM_VIB[pardata.LANG][7]); //"×àñòîòà êîëåáàíèé" 8079fca: 4b59 ldr r3, [pc, #356] ; (807a130 ) 8079fcc: 7b1b ldrb r3, [r3, #12] 8079fce: b2db uxtb r3, r3 8079fd0: 4619 mov r1, r3 8079fd2: 4a58 ldr r2, [pc, #352] ; (807a134 ) 8079fd4: 232c movs r3, #44 ; 0x2c 8079fd6: fb03 f301 mul.w r3, r3, r1 8079fda: 4413 add r3, r2 8079fdc: 331c adds r3, #28 8079fde: 681b ldr r3, [r3, #0] 8079fe0: 461a mov r2, r3 8079fe2: 21aa movs r1, #170 ; 0xaa 8079fe4: 200a movs r0, #10 8079fe6: f7da f9a5 bl 8054334 LCD_DisplayString(10, LCD_LINE_11, (char *)TEXT_PARAM_VIB[pardata.LANG][8]); //"Àâòîóñèëåíèå" 8079fea: 4b51 ldr r3, [pc, #324] ; (807a130 ) 8079fec: 7b1b ldrb r3, [r3, #12] 8079fee: b2db uxtb r3, r3 8079ff0: 4619 mov r1, r3 8079ff2: 4a50 ldr r2, [pc, #320] ; (807a134 ) 8079ff4: 232c movs r3, #44 ; 0x2c 8079ff6: fb03 f301 mul.w r3, r3, r1 8079ffa: 4413 add r3, r2 8079ffc: 3320 adds r3, #32 8079ffe: 681b ldr r3, [r3, #0] 807a000: 461a mov r2, r3 807a002: 21ba movs r1, #186 ; 0xba 807a004: 200a movs r0, #10 807a006: f7da f995 bl 8054334 LCD_DisplayString(10, LCD_LINE_13, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 807a00a: 4b49 ldr r3, [pc, #292] ; (807a130 ) 807a00c: 7b1b ldrb r3, [r3, #12] 807a00e: b2db uxtb r3, r3 807a010: 4619 mov r1, r3 807a012: 4a48 ldr r2, [pc, #288] ; (807a134 ) 807a014: 232c movs r3, #44 ; 0x2c 807a016: fb03 f301 mul.w r3, r3, r1 807a01a: 4413 add r3, r2 807a01c: 3328 adds r3, #40 ; 0x28 807a01e: 681b ldr r3, [r3, #0] 807a020: 461a mov r2, r3 807a022: 21da movs r1, #218 ; 0xda 807a024: 200a movs r0, #10 807a026: f7da f985 bl 8054334 if(menupos == Ok) 807a02a: 4b43 ldr r3, [pc, #268] ; (807a138 ) 807a02c: 781b ldrb r3, [r3, #0] 807a02e: b2db uxtb r3, r3 807a030: 2b00 cmp r3, #0 807a032: f040 81b9 bne.w 807a3a8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807a036: 493d ldr r1, [pc, #244] ; (807a12c ) 807a038: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a03c: f7d9 fbd2 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807a040: 4b3b ldr r3, [pc, #236] ; (807a130 ) 807a042: 7b1b ldrb r3, [r3, #12] 807a044: b2db uxtb r3, r3 807a046: 461a mov r2, r3 807a048: 4b3c ldr r3, [pc, #240] ; (807a13c ) 807a04a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a04e: 461a mov r2, r3 807a050: 2127 movs r1, #39 ; 0x27 807a052: 200a movs r0, #10 807a054: f7da f96e bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a058: 4934 ldr r1, [pc, #208] ; (807a12c ) 807a05a: f04f 30ff mov.w r0, #4294967295 807a05e: f7d9 fbc1 bl 80537e4 if(pardata.HP >= 2.0f) 807a062: 4b33 ldr r3, [pc, #204] ; (807a130 ) 807a064: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807a068: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807a06c: eef4 7ac7 vcmpe.f32 s15, s14 807a070: eef1 fa10 vmrs APSR_nzcv, fpscr 807a074: db68 blt.n 807a148 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a076: 492d ldr r1, [pc, #180] ; (807a12c ) 807a078: f04f 30ff mov.w r0, #4294967295 807a07c: f7d9 fbb2 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807a080: 4b2b ldr r3, [pc, #172] ; (807a130 ) 807a082: 7b1b ldrb r3, [r3, #12] 807a084: b2db uxtb r3, r3 807a086: 4619 mov r1, r3 807a088: 4a2a ldr r2, [pc, #168] ; (807a134 ) 807a08a: 232c movs r3, #44 ; 0x2c 807a08c: fb03 f301 mul.w r3, r3, r1 807a090: 4413 add r3, r2 807a092: 330c adds r3, #12 807a094: 681b ldr r3, [r3, #0] 807a096: 461a mov r2, r3 807a098: 216a movs r1, #106 ; 0x6a 807a09a: 200a movs r0, #10 807a09c: f7da f94a bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807a0a0: 4b23 ldr r3, [pc, #140] ; (807a130 ) 807a0a2: 7b1b ldrb r3, [r3, #12] 807a0a4: b2db uxtb r3, r3 807a0a6: 4619 mov r1, r3 807a0a8: 4a22 ldr r2, [pc, #136] ; (807a134 ) 807a0aa: 232c movs r3, #44 ; 0x2c 807a0ac: fb03 f301 mul.w r3, r3, r1 807a0b0: 4413 add r3, r2 807a0b2: 3310 adds r3, #16 807a0b4: 681b ldr r3, [r3, #0] 807a0b6: 461a mov r2, r3 807a0b8: 217a movs r1, #122 ; 0x7a 807a0ba: 200a movs r0, #10 807a0bc: f7da f93a bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a0c0: 491a ldr r1, [pc, #104] ; (807a12c ) 807a0c2: 481f ldr r0, [pc, #124] ; (807a140 ) 807a0c4: f7d9 fb8e bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807a0c8: 4b19 ldr r3, [pc, #100] ; (807a130 ) 807a0ca: 7b1b ldrb r3, [r3, #12] 807a0cc: b2db uxtb r3, r3 807a0ce: 4619 mov r1, r3 807a0d0: 4b17 ldr r3, [pc, #92] ; (807a130 ) 807a0d2: 78db ldrb r3, [r3, #3] 807a0d4: b2db uxtb r3, r3 807a0d6: 4618 mov r0, r3 807a0d8: 4a1a ldr r2, [pc, #104] ; (807a144 ) 807a0da: 460b mov r3, r1 807a0dc: 009b lsls r3, r3, #2 807a0de: 440b add r3, r1 807a0e0: 4403 add r3, r0 807a0e2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a0e6: 461a mov r2, r3 807a0e8: 216a movs r1, #106 ; 0x6a 807a0ea: f44f 7082 mov.w r0, #260 ; 0x104 807a0ee: f7da f939 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807a0f2: 4b0f ldr r3, [pc, #60] ; (807a130 ) 807a0f4: 7b1b ldrb r3, [r3, #12] 807a0f6: b2db uxtb r3, r3 807a0f8: 4619 mov r1, r3 807a0fa: 4b0d ldr r3, [pc, #52] ; (807a130 ) 807a0fc: 791b ldrb r3, [r3, #4] 807a0fe: b2db uxtb r3, r3 807a100: 4618 mov r0, r3 807a102: 4a10 ldr r2, [pc, #64] ; (807a144 ) 807a104: 460b mov r3, r1 807a106: 009b lsls r3, r3, #2 807a108: 440b add r3, r1 807a10a: 4403 add r3, r0 807a10c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a110: 461a mov r2, r3 807a112: 217a movs r1, #122 ; 0x7a 807a114: f44f 7082 mov.w r0, #260 ; 0x104 807a118: f7da f924 bl 8054364 807a11c: e062 b.n 807a1e4 807a11e: bf00 nop 807a120: 20021668 .word 0x20021668 807a124: 20020e58 .word 0x20020e58 807a128: 2002166c .word 0x2002166c 807a12c: ff0a0f1f .word 0xff0a0f1f 807a130: 20023e60 .word 0x20023e60 807a134: 200206b4 .word 0x200206b4 807a138: 20020070 .word 0x20020070 807a13c: 200205c4 .word 0x200205c4 807a140: ffd8aa57 .word 0xffd8aa57 807a144: 200202bc .word 0x200202bc } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807a148: 498f ldr r1, [pc, #572] ; (807a388 ) 807a14a: 4890 ldr r0, [pc, #576] ; (807a38c ) 807a14c: f7d9 fb4a bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807a150: 4b8f ldr r3, [pc, #572] ; (807a390 ) 807a152: 7b1b ldrb r3, [r3, #12] 807a154: b2db uxtb r3, r3 807a156: 4619 mov r1, r3 807a158: 4a8e ldr r2, [pc, #568] ; (807a394 ) 807a15a: 232c movs r3, #44 ; 0x2c 807a15c: fb03 f301 mul.w r3, r3, r1 807a160: 4413 add r3, r2 807a162: 330c adds r3, #12 807a164: 681b ldr r3, [r3, #0] 807a166: 461a mov r2, r3 807a168: 216a movs r1, #106 ; 0x6a 807a16a: 200a movs r0, #10 807a16c: f7da f8e2 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807a170: 4b87 ldr r3, [pc, #540] ; (807a390 ) 807a172: 7b1b ldrb r3, [r3, #12] 807a174: b2db uxtb r3, r3 807a176: 4619 mov r1, r3 807a178: 4a86 ldr r2, [pc, #536] ; (807a394 ) 807a17a: 232c movs r3, #44 ; 0x2c 807a17c: fb03 f301 mul.w r3, r3, r1 807a180: 4413 add r3, r2 807a182: 3310 adds r3, #16 807a184: 681b ldr r3, [r3, #0] 807a186: 461a mov r2, r3 807a188: 217a movs r1, #122 ; 0x7a 807a18a: 200a movs r0, #10 807a18c: f7da f8d2 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807a190: 4b7f ldr r3, [pc, #508] ; (807a390 ) 807a192: 7b1b ldrb r3, [r3, #12] 807a194: b2db uxtb r3, r3 807a196: 4619 mov r1, r3 807a198: 4b7d ldr r3, [pc, #500] ; (807a390 ) 807a19a: 78db ldrb r3, [r3, #3] 807a19c: b2db uxtb r3, r3 807a19e: 4618 mov r0, r3 807a1a0: 4a7d ldr r2, [pc, #500] ; (807a398 ) 807a1a2: 460b mov r3, r1 807a1a4: 009b lsls r3, r3, #2 807a1a6: 440b add r3, r1 807a1a8: 4403 add r3, r0 807a1aa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a1ae: 461a mov r2, r3 807a1b0: 216a movs r1, #106 ; 0x6a 807a1b2: f44f 7082 mov.w r0, #260 ; 0x104 807a1b6: f7da f8d5 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807a1ba: 4b75 ldr r3, [pc, #468] ; (807a390 ) 807a1bc: 7b1b ldrb r3, [r3, #12] 807a1be: b2db uxtb r3, r3 807a1c0: 4619 mov r1, r3 807a1c2: 4b73 ldr r3, [pc, #460] ; (807a390 ) 807a1c4: 791b ldrb r3, [r3, #4] 807a1c6: b2db uxtb r3, r3 807a1c8: 4618 mov r0, r3 807a1ca: 4a73 ldr r2, [pc, #460] ; (807a398 ) 807a1cc: 460b mov r3, r1 807a1ce: 009b lsls r3, r3, #2 807a1d0: 440b add r3, r1 807a1d2: 4403 add r3, r0 807a1d4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a1d8: 461a mov r2, r3 807a1da: 217a movs r1, #122 ; 0x7a 807a1dc: f44f 7082 mov.w r0, #260 ; 0x104 807a1e0: f7da f8c0 bl 8054364 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a1e4: 4968 ldr r1, [pc, #416] ; (807a388 ) 807a1e6: 486d ldr r0, [pc, #436] ; (807a39c ) 807a1e8: f7d9 fafc bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807a1ec: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807a1f0: 461a mov r2, r3 807a1f2: 213a movs r1, #58 ; 0x3a 807a1f4: f44f 7082 mov.w r0, #260 ; 0x104 807a1f8: f7da f8b4 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807a1fc: f507 73cc add.w r3, r7, #408 ; 0x198 807a200: 461a mov r2, r3 807a202: 214a movs r1, #74 ; 0x4a 807a204: f44f 7082 mov.w r0, #260 ; 0x104 807a208: f7da f8ac bl 8054364 //LCD_DisplayStringC(260, LCD_LINE_4, (char *) pBAND[pardata.LANG][pardata.IFN]); LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807a20c: 4b60 ldr r3, [pc, #384] ; (807a390 ) 807a20e: 7b1b ldrb r3, [r3, #12] 807a210: b2db uxtb r3, r3 807a212: 4619 mov r1, r3 807a214: 4b5e ldr r3, [pc, #376] ; (807a390 ) 807a216: 789b ldrb r3, [r3, #2] 807a218: b2db uxtb r3, r3 807a21a: 4618 mov r0, r3 807a21c: 4a5e ldr r2, [pc, #376] ; (807a398 ) 807a21e: 460b mov r3, r1 807a220: 009b lsls r3, r3, #2 807a222: 440b add r3, r1 807a224: 4403 add r3, r0 807a226: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a22a: 461a mov r2, r3 807a22c: 215a movs r1, #90 ; 0x5a 807a22e: f44f 7082 mov.w r0, #260 ; 0x104 807a232: f7da f897 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807a236: 4b56 ldr r3, [pc, #344] ; (807a390 ) 807a238: 7b1b ldrb r3, [r3, #12] 807a23a: b2db uxtb r3, r3 807a23c: 4619 mov r1, r3 807a23e: 4b54 ldr r3, [pc, #336] ; (807a390 ) 807a240: 7b5b ldrb r3, [r3, #13] 807a242: b2db uxtb r3, r3 807a244: 4618 mov r0, r3 807a246: 4a56 ldr r2, [pc, #344] ; (807a3a0 ) 807a248: 460b mov r3, r1 807a24a: 009b lsls r3, r3, #2 807a24c: 440b add r3, r1 807a24e: 005b lsls r3, r3, #1 807a250: 4403 add r3, r0 807a252: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a256: 461a mov r2, r3 807a258: 218a movs r1, #138 ; 0x8a 807a25a: f44f 7082 mov.w r0, #260 ; 0x104 807a25e: f7da f881 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807a262: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807a266: 461a mov r2, r3 807a268: 21da movs r1, #218 ; 0xda 807a26a: f44f 7082 mov.w r0, #260 ; 0x104 807a26e: f7da f879 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a272: 4945 ldr r1, [pc, #276] ; (807a388 ) 807a274: f04f 30ff mov.w r0, #4294967295 807a278: f7d9 fab4 bl 80537e4 BSP_LCD_FillRect(255, 157, 10, 10); 807a27c: 230a movs r3, #10 807a27e: 220a movs r2, #10 807a280: 219d movs r1, #157 ; 0x9d 807a282: 20ff movs r0, #255 ; 0xff 807a284: f7d9 ff3c bl 8054100 BSP_LCD_FillRect(255, 173, 10, 10); 807a288: 230a movs r3, #10 807a28a: 220a movs r2, #10 807a28c: 21ad movs r1, #173 ; 0xad 807a28e: 20ff movs r0, #255 ; 0xff 807a290: f7d9 ff36 bl 8054100 BSP_LCD_FillRect(255, 189, 10, 10); 807a294: 230a movs r3, #10 807a296: 220a movs r2, #10 807a298: 21bd movs r1, #189 ; 0xbd 807a29a: 20ff movs r0, #255 ; 0xff 807a29c: f7d9 ff30 bl 8054100 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807a2a0: 4b3b ldr r3, [pc, #236] ; (807a390 ) 807a2a2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807a2a6: f003 0304 and.w r3, r3, #4 807a2aa: 2b00 cmp r3, #0 807a2ac: d033 beq.n 807a316 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807a2ae: 4936 ldr r1, [pc, #216] ; (807a388 ) 807a2b0: 4836 ldr r0, [pc, #216] ; (807a38c ) 807a2b2: f7d9 fa97 bl 80537e4 if(pardata.IIN != VOLTS) 807a2b6: 4b36 ldr r3, [pc, #216] ; (807a390 ) 807a2b8: 799b ldrb r3, [r3, #6] 807a2ba: b2db uxtb r3, r3 807a2bc: 2b02 cmp r3, #2 807a2be: d010 beq.n 807a2e2 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a2c0: 4b33 ldr r3, [pc, #204] ; (807a390 ) 807a2c2: 7b1b ldrb r3, [r3, #12] 807a2c4: b2db uxtb r3, r3 807a2c6: 4619 mov r1, r3 807a2c8: 4a32 ldr r2, [pc, #200] ; (807a394 ) 807a2ca: 232c movs r3, #44 ; 0x2c 807a2cc: fb03 f301 mul.w r3, r3, r1 807a2d0: 4413 add r3, r2 807a2d2: 3324 adds r3, #36 ; 0x24 807a2d4: 681b ldr r3, [r3, #0] 807a2d6: 461a mov r2, r3 807a2d8: 21ca movs r1, #202 ; 0xca 807a2da: 200a movs r0, #10 807a2dc: f7da f82a bl 8054334 807a2e0: e00f b.n 807a302 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a2e2: 4b2b ldr r3, [pc, #172] ; (807a390 ) 807a2e4: 7b1b ldrb r3, [r3, #12] 807a2e6: b2db uxtb r3, r3 807a2e8: 4619 mov r1, r3 807a2ea: 4a2e ldr r2, [pc, #184] ; (807a3a4 ) 807a2ec: 232c movs r3, #44 ; 0x2c 807a2ee: fb03 f301 mul.w r3, r3, r1 807a2f2: 4413 add r3, r2 807a2f4: 3324 adds r3, #36 ; 0x24 807a2f6: 681b ldr r3, [r3, #0] 807a2f8: 461a mov r2, r3 807a2fa: 21ca movs r1, #202 ; 0xca 807a2fc: 200a movs r0, #10 807a2fe: f7da f819 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807a302: f507 733b add.w r3, r7, #748 ; 0x2ec 807a306: 461a mov r2, r3 807a308: 21ca movs r1, #202 ; 0xca 807a30a: f44f 7082 mov.w r0, #260 ; 0x104 807a30e: f7da f829 bl 8054364 807a312: f003 bca9 b.w 807dc68 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a316: 491c ldr r1, [pc, #112] ; (807a388 ) 807a318: f04f 30ff mov.w r0, #4294967295 807a31c: f7d9 fa62 bl 80537e4 if(pardata.IIN != VOLTS) 807a320: 4b1b ldr r3, [pc, #108] ; (807a390 ) 807a322: 799b ldrb r3, [r3, #6] 807a324: b2db uxtb r3, r3 807a326: 2b02 cmp r3, #2 807a328: d010 beq.n 807a34c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a32a: 4b19 ldr r3, [pc, #100] ; (807a390 ) 807a32c: 7b1b ldrb r3, [r3, #12] 807a32e: b2db uxtb r3, r3 807a330: 4619 mov r1, r3 807a332: 4a18 ldr r2, [pc, #96] ; (807a394 ) 807a334: 232c movs r3, #44 ; 0x2c 807a336: fb03 f301 mul.w r3, r3, r1 807a33a: 4413 add r3, r2 807a33c: 3324 adds r3, #36 ; 0x24 807a33e: 681b ldr r3, [r3, #0] 807a340: 461a mov r2, r3 807a342: 21ca movs r1, #202 ; 0xca 807a344: 200a movs r0, #10 807a346: f7d9 fff5 bl 8054334 807a34a: e00f b.n 807a36c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a34c: 4b10 ldr r3, [pc, #64] ; (807a390 ) 807a34e: 7b1b ldrb r3, [r3, #12] 807a350: b2db uxtb r3, r3 807a352: 4619 mov r1, r3 807a354: 4a13 ldr r2, [pc, #76] ; (807a3a4 ) 807a356: 232c movs r3, #44 ; 0x2c 807a358: fb03 f301 mul.w r3, r3, r1 807a35c: 4413 add r3, r2 807a35e: 3324 adds r3, #36 ; 0x24 807a360: 681b ldr r3, [r3, #0] 807a362: 461a mov r2, r3 807a364: 21ca movs r1, #202 ; 0xca 807a366: 200a movs r0, #10 807a368: f7d9 ffe4 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a36c: 4906 ldr r1, [pc, #24] ; (807a388 ) 807a36e: 480b ldr r0, [pc, #44] ; (807a39c ) 807a370: f7d9 fa38 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807a374: f507 733b add.w r3, r7, #748 ; 0x2ec 807a378: 461a mov r2, r3 807a37a: 21ca movs r1, #202 ; 0xca 807a37c: f44f 7082 mov.w r0, #260 ; 0x104 807a380: f7d9 fff0 bl 8054364 807a384: f003 bc70 b.w 807dc68 807a388: ff0a0f1f .word 0xff0a0f1f 807a38c: ff808080 .word 0xff808080 807a390: 20023e60 .word 0x20023e60 807a394: 200206b4 .word 0x200206b4 807a398: 200202bc .word 0x200202bc 807a39c: ffd8aa57 .word 0xffd8aa57 807a3a0: 2002024c .word 0x2002024c 807a3a4: 2002070c .word 0x2002070c } } else if(menupos == FilterHP) // filter 807a3a8: 4bcc ldr r3, [pc, #816] ; (807a6dc ) 807a3aa: 781b ldrb r3, [r3, #0] 807a3ac: b2db uxtb r3, r3 807a3ae: 2b17 cmp r3, #23 807a3b0: f040 81a8 bne.w 807a704 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a3b4: 49ca ldr r1, [pc, #808] ; (807a6e0 ) 807a3b6: f04f 30ff mov.w r0, #4294967295 807a3ba: f7d9 fa13 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807a3be: 4bc9 ldr r3, [pc, #804] ; (807a6e4 ) 807a3c0: 7b1b ldrb r3, [r3, #12] 807a3c2: b2db uxtb r3, r3 807a3c4: 461a mov r2, r3 807a3c6: 4bc8 ldr r3, [pc, #800] ; (807a6e8 ) 807a3c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a3cc: 461a mov r2, r3 807a3ce: 2127 movs r1, #39 ; 0x27 807a3d0: 200a movs r0, #10 807a3d2: f7d9 ffaf bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807a3d6: 49c2 ldr r1, [pc, #776] ; (807a6e0 ) 807a3d8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a3dc: f7d9 fa02 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807a3e0: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807a3e4: 461a mov r2, r3 807a3e6: 213a movs r1, #58 ; 0x3a 807a3e8: f44f 7082 mov.w r0, #260 ; 0x104 807a3ec: f7d9 ffba bl 8054364 if(pardata.HP >= 2.0f) 807a3f0: 4bbc ldr r3, [pc, #752] ; (807a6e4 ) 807a3f2: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807a3f6: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807a3fa: eef4 7ac7 vcmpe.f32 s15, s14 807a3fe: eef1 fa10 vmrs APSR_nzcv, fpscr 807a402: db53 blt.n 807a4ac { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a404: 49b6 ldr r1, [pc, #728] ; (807a6e0 ) 807a406: f04f 30ff mov.w r0, #4294967295 807a40a: f7d9 f9eb bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807a40e: 4bb5 ldr r3, [pc, #724] ; (807a6e4 ) 807a410: 7b1b ldrb r3, [r3, #12] 807a412: b2db uxtb r3, r3 807a414: 4619 mov r1, r3 807a416: 4ab5 ldr r2, [pc, #724] ; (807a6ec ) 807a418: 232c movs r3, #44 ; 0x2c 807a41a: fb03 f301 mul.w r3, r3, r1 807a41e: 4413 add r3, r2 807a420: 330c adds r3, #12 807a422: 681b ldr r3, [r3, #0] 807a424: 461a mov r2, r3 807a426: 216a movs r1, #106 ; 0x6a 807a428: 200a movs r0, #10 807a42a: f7d9 ff83 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807a42e: 4bad ldr r3, [pc, #692] ; (807a6e4 ) 807a430: 7b1b ldrb r3, [r3, #12] 807a432: b2db uxtb r3, r3 807a434: 4619 mov r1, r3 807a436: 4aad ldr r2, [pc, #692] ; (807a6ec ) 807a438: 232c movs r3, #44 ; 0x2c 807a43a: fb03 f301 mul.w r3, r3, r1 807a43e: 4413 add r3, r2 807a440: 3310 adds r3, #16 807a442: 681b ldr r3, [r3, #0] 807a444: 461a mov r2, r3 807a446: 217a movs r1, #122 ; 0x7a 807a448: 200a movs r0, #10 807a44a: f7d9 ff73 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a44e: 49a4 ldr r1, [pc, #656] ; (807a6e0 ) 807a450: 48a7 ldr r0, [pc, #668] ; (807a6f0 ) 807a452: f7d9 f9c7 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807a456: 4ba3 ldr r3, [pc, #652] ; (807a6e4 ) 807a458: 7b1b ldrb r3, [r3, #12] 807a45a: b2db uxtb r3, r3 807a45c: 4619 mov r1, r3 807a45e: 4ba1 ldr r3, [pc, #644] ; (807a6e4 ) 807a460: 78db ldrb r3, [r3, #3] 807a462: b2db uxtb r3, r3 807a464: 4618 mov r0, r3 807a466: 4aa3 ldr r2, [pc, #652] ; (807a6f4 ) 807a468: 460b mov r3, r1 807a46a: 009b lsls r3, r3, #2 807a46c: 440b add r3, r1 807a46e: 4403 add r3, r0 807a470: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a474: 461a mov r2, r3 807a476: 216a movs r1, #106 ; 0x6a 807a478: f44f 7082 mov.w r0, #260 ; 0x104 807a47c: f7d9 ff72 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807a480: 4b98 ldr r3, [pc, #608] ; (807a6e4 ) 807a482: 7b1b ldrb r3, [r3, #12] 807a484: b2db uxtb r3, r3 807a486: 4619 mov r1, r3 807a488: 4b96 ldr r3, [pc, #600] ; (807a6e4 ) 807a48a: 791b ldrb r3, [r3, #4] 807a48c: b2db uxtb r3, r3 807a48e: 4618 mov r0, r3 807a490: 4a98 ldr r2, [pc, #608] ; (807a6f4 ) 807a492: 460b mov r3, r1 807a494: 009b lsls r3, r3, #2 807a496: 440b add r3, r1 807a498: 4403 add r3, r0 807a49a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a49e: 461a mov r2, r3 807a4a0: 217a movs r1, #122 ; 0x7a 807a4a2: f44f 7082 mov.w r0, #260 ; 0x104 807a4a6: f7d9 ff5d bl 8054364 807a4aa: e04d b.n 807a548 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807a4ac: 498c ldr r1, [pc, #560] ; (807a6e0 ) 807a4ae: 4892 ldr r0, [pc, #584] ; (807a6f8 ) 807a4b0: f7d9 f998 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807a4b4: 4b8b ldr r3, [pc, #556] ; (807a6e4 ) 807a4b6: 7b1b ldrb r3, [r3, #12] 807a4b8: b2db uxtb r3, r3 807a4ba: 4619 mov r1, r3 807a4bc: 4a8b ldr r2, [pc, #556] ; (807a6ec ) 807a4be: 232c movs r3, #44 ; 0x2c 807a4c0: fb03 f301 mul.w r3, r3, r1 807a4c4: 4413 add r3, r2 807a4c6: 330c adds r3, #12 807a4c8: 681b ldr r3, [r3, #0] 807a4ca: 461a mov r2, r3 807a4cc: 216a movs r1, #106 ; 0x6a 807a4ce: 200a movs r0, #10 807a4d0: f7d9 ff30 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807a4d4: 4b83 ldr r3, [pc, #524] ; (807a6e4 ) 807a4d6: 7b1b ldrb r3, [r3, #12] 807a4d8: b2db uxtb r3, r3 807a4da: 4619 mov r1, r3 807a4dc: 4a83 ldr r2, [pc, #524] ; (807a6ec ) 807a4de: 232c movs r3, #44 ; 0x2c 807a4e0: fb03 f301 mul.w r3, r3, r1 807a4e4: 4413 add r3, r2 807a4e6: 3310 adds r3, #16 807a4e8: 681b ldr r3, [r3, #0] 807a4ea: 461a mov r2, r3 807a4ec: 217a movs r1, #122 ; 0x7a 807a4ee: 200a movs r0, #10 807a4f0: f7d9 ff20 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807a4f4: 4b7b ldr r3, [pc, #492] ; (807a6e4 ) 807a4f6: 7b1b ldrb r3, [r3, #12] 807a4f8: b2db uxtb r3, r3 807a4fa: 4619 mov r1, r3 807a4fc: 4b79 ldr r3, [pc, #484] ; (807a6e4 ) 807a4fe: 78db ldrb r3, [r3, #3] 807a500: b2db uxtb r3, r3 807a502: 4618 mov r0, r3 807a504: 4a7b ldr r2, [pc, #492] ; (807a6f4 ) 807a506: 460b mov r3, r1 807a508: 009b lsls r3, r3, #2 807a50a: 440b add r3, r1 807a50c: 4403 add r3, r0 807a50e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a512: 461a mov r2, r3 807a514: 216a movs r1, #106 ; 0x6a 807a516: f44f 7082 mov.w r0, #260 ; 0x104 807a51a: f7d9 ff23 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807a51e: 4b71 ldr r3, [pc, #452] ; (807a6e4 ) 807a520: 7b1b ldrb r3, [r3, #12] 807a522: b2db uxtb r3, r3 807a524: 4619 mov r1, r3 807a526: 4b6f ldr r3, [pc, #444] ; (807a6e4 ) 807a528: 791b ldrb r3, [r3, #4] 807a52a: b2db uxtb r3, r3 807a52c: 4618 mov r0, r3 807a52e: 4a71 ldr r2, [pc, #452] ; (807a6f4 ) 807a530: 460b mov r3, r1 807a532: 009b lsls r3, r3, #2 807a534: 440b add r3, r1 807a536: 4403 add r3, r0 807a538: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a53c: 461a mov r2, r3 807a53e: 217a movs r1, #122 ; 0x7a 807a540: f44f 7082 mov.w r0, #260 ; 0x104 807a544: f7d9 ff0e bl 8054364 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a548: 4965 ldr r1, [pc, #404] ; (807a6e0 ) 807a54a: 4869 ldr r0, [pc, #420] ; (807a6f0 ) 807a54c: f7d9 f94a bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807a550: f507 73cc add.w r3, r7, #408 ; 0x198 807a554: 461a mov r2, r3 807a556: 214a movs r1, #74 ; 0x4a 807a558: f44f 7082 mov.w r0, #260 ; 0x104 807a55c: f7d9 ff02 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807a560: 4b60 ldr r3, [pc, #384] ; (807a6e4 ) 807a562: 7b1b ldrb r3, [r3, #12] 807a564: b2db uxtb r3, r3 807a566: 4619 mov r1, r3 807a568: 4b5e ldr r3, [pc, #376] ; (807a6e4 ) 807a56a: 789b ldrb r3, [r3, #2] 807a56c: b2db uxtb r3, r3 807a56e: 4618 mov r0, r3 807a570: 4a60 ldr r2, [pc, #384] ; (807a6f4 ) 807a572: 460b mov r3, r1 807a574: 009b lsls r3, r3, #2 807a576: 440b add r3, r1 807a578: 4403 add r3, r0 807a57a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a57e: 461a mov r2, r3 807a580: 215a movs r1, #90 ; 0x5a 807a582: f44f 7082 mov.w r0, #260 ; 0x104 807a586: f7d9 feed bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807a58a: 4b56 ldr r3, [pc, #344] ; (807a6e4 ) 807a58c: 7b1b ldrb r3, [r3, #12] 807a58e: b2db uxtb r3, r3 807a590: 4619 mov r1, r3 807a592: 4b54 ldr r3, [pc, #336] ; (807a6e4 ) 807a594: 7b5b ldrb r3, [r3, #13] 807a596: b2db uxtb r3, r3 807a598: 4618 mov r0, r3 807a59a: 4a58 ldr r2, [pc, #352] ; (807a6fc ) 807a59c: 460b mov r3, r1 807a59e: 009b lsls r3, r3, #2 807a5a0: 440b add r3, r1 807a5a2: 005b lsls r3, r3, #1 807a5a4: 4403 add r3, r0 807a5a6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a5aa: 461a mov r2, r3 807a5ac: 218a movs r1, #138 ; 0x8a 807a5ae: f44f 7082 mov.w r0, #260 ; 0x104 807a5b2: f7d9 fed7 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807a5b6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807a5ba: 461a mov r2, r3 807a5bc: 21da movs r1, #218 ; 0xda 807a5be: f44f 7082 mov.w r0, #260 ; 0x104 807a5c2: f7d9 fecf bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a5c6: 4946 ldr r1, [pc, #280] ; (807a6e0 ) 807a5c8: f04f 30ff mov.w r0, #4294967295 807a5cc: f7d9 f90a bl 80537e4 BSP_LCD_FillRect(255, 157, 10, 10); 807a5d0: 230a movs r3, #10 807a5d2: 220a movs r2, #10 807a5d4: 219d movs r1, #157 ; 0x9d 807a5d6: 20ff movs r0, #255 ; 0xff 807a5d8: f7d9 fd92 bl 8054100 BSP_LCD_FillRect(255, 173, 10, 10); 807a5dc: 230a movs r3, #10 807a5de: 220a movs r2, #10 807a5e0: 21ad movs r1, #173 ; 0xad 807a5e2: 20ff movs r0, #255 ; 0xff 807a5e4: f7d9 fd8c bl 8054100 BSP_LCD_FillRect(255, 189, 10, 10); 807a5e8: 230a movs r3, #10 807a5ea: 220a movs r2, #10 807a5ec: 21bd movs r1, #189 ; 0xbd 807a5ee: 20ff movs r0, #255 ; 0xff 807a5f0: f7d9 fd86 bl 8054100 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807a5f4: 4b3b ldr r3, [pc, #236] ; (807a6e4 ) 807a5f6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807a5fa: f003 0304 and.w r3, r3, #4 807a5fe: 2b00 cmp r3, #0 807a600: d033 beq.n 807a66a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807a602: 4937 ldr r1, [pc, #220] ; (807a6e0 ) 807a604: 483c ldr r0, [pc, #240] ; (807a6f8 ) 807a606: f7d9 f8ed bl 80537e4 if(pardata.IIN != VOLTS) 807a60a: 4b36 ldr r3, [pc, #216] ; (807a6e4 ) 807a60c: 799b ldrb r3, [r3, #6] 807a60e: b2db uxtb r3, r3 807a610: 2b02 cmp r3, #2 807a612: d010 beq.n 807a636 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a614: 4b33 ldr r3, [pc, #204] ; (807a6e4 ) 807a616: 7b1b ldrb r3, [r3, #12] 807a618: b2db uxtb r3, r3 807a61a: 4619 mov r1, r3 807a61c: 4a33 ldr r2, [pc, #204] ; (807a6ec ) 807a61e: 232c movs r3, #44 ; 0x2c 807a620: fb03 f301 mul.w r3, r3, r1 807a624: 4413 add r3, r2 807a626: 3324 adds r3, #36 ; 0x24 807a628: 681b ldr r3, [r3, #0] 807a62a: 461a mov r2, r3 807a62c: 21ca movs r1, #202 ; 0xca 807a62e: 200a movs r0, #10 807a630: f7d9 fe80 bl 8054334 807a634: e00f b.n 807a656 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a636: 4b2b ldr r3, [pc, #172] ; (807a6e4 ) 807a638: 7b1b ldrb r3, [r3, #12] 807a63a: b2db uxtb r3, r3 807a63c: 4619 mov r1, r3 807a63e: 4a30 ldr r2, [pc, #192] ; (807a700 ) 807a640: 232c movs r3, #44 ; 0x2c 807a642: fb03 f301 mul.w r3, r3, r1 807a646: 4413 add r3, r2 807a648: 3324 adds r3, #36 ; 0x24 807a64a: 681b ldr r3, [r3, #0] 807a64c: 461a mov r2, r3 807a64e: 21ca movs r1, #202 ; 0xca 807a650: 200a movs r0, #10 807a652: f7d9 fe6f bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807a656: f507 733b add.w r3, r7, #748 ; 0x2ec 807a65a: 461a mov r2, r3 807a65c: 21ca movs r1, #202 ; 0xca 807a65e: f44f 7082 mov.w r0, #260 ; 0x104 807a662: f7d9 fe7f bl 8054364 807a666: f003 baff b.w 807dc68 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a66a: 491d ldr r1, [pc, #116] ; (807a6e0 ) 807a66c: f04f 30ff mov.w r0, #4294967295 807a670: f7d9 f8b8 bl 80537e4 if(pardata.IIN != VOLTS) 807a674: 4b1b ldr r3, [pc, #108] ; (807a6e4 ) 807a676: 799b ldrb r3, [r3, #6] 807a678: b2db uxtb r3, r3 807a67a: 2b02 cmp r3, #2 807a67c: d010 beq.n 807a6a0 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a67e: 4b19 ldr r3, [pc, #100] ; (807a6e4 ) 807a680: 7b1b ldrb r3, [r3, #12] 807a682: b2db uxtb r3, r3 807a684: 4619 mov r1, r3 807a686: 4a19 ldr r2, [pc, #100] ; (807a6ec ) 807a688: 232c movs r3, #44 ; 0x2c 807a68a: fb03 f301 mul.w r3, r3, r1 807a68e: 4413 add r3, r2 807a690: 3324 adds r3, #36 ; 0x24 807a692: 681b ldr r3, [r3, #0] 807a694: 461a mov r2, r3 807a696: 21ca movs r1, #202 ; 0xca 807a698: 200a movs r0, #10 807a69a: f7d9 fe4b bl 8054334 807a69e: e00f b.n 807a6c0 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a6a0: 4b10 ldr r3, [pc, #64] ; (807a6e4 ) 807a6a2: 7b1b ldrb r3, [r3, #12] 807a6a4: b2db uxtb r3, r3 807a6a6: 4619 mov r1, r3 807a6a8: 4a15 ldr r2, [pc, #84] ; (807a700 ) 807a6aa: 232c movs r3, #44 ; 0x2c 807a6ac: fb03 f301 mul.w r3, r3, r1 807a6b0: 4413 add r3, r2 807a6b2: 3324 adds r3, #36 ; 0x24 807a6b4: 681b ldr r3, [r3, #0] 807a6b6: 461a mov r2, r3 807a6b8: 21ca movs r1, #202 ; 0xca 807a6ba: 200a movs r0, #10 807a6bc: f7d9 fe3a bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a6c0: 4907 ldr r1, [pc, #28] ; (807a6e0 ) 807a6c2: 480b ldr r0, [pc, #44] ; (807a6f0 ) 807a6c4: f7d9 f88e bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807a6c8: f507 733b add.w r3, r7, #748 ; 0x2ec 807a6cc: 461a mov r2, r3 807a6ce: 21ca movs r1, #202 ; 0xca 807a6d0: f44f 7082 mov.w r0, #260 ; 0x104 807a6d4: f7d9 fe46 bl 8054364 807a6d8: f003 bac6 b.w 807dc68 807a6dc: 20020070 .word 0x20020070 807a6e0: ff0a0f1f .word 0xff0a0f1f 807a6e4: 20023e60 .word 0x20023e60 807a6e8: 200205c4 .word 0x200205c4 807a6ec: 200206b4 .word 0x200206b4 807a6f0: ffd8aa57 .word 0xffd8aa57 807a6f4: 200202bc .word 0x200202bc 807a6f8: ff808080 .word 0xff808080 807a6fc: 2002024c .word 0x2002024c 807a700: 2002070c .word 0x2002070c } } else if(menupos == FilterLP) // filter 807a704: 4bcc ldr r3, [pc, #816] ; (807aa38 ) 807a706: 781b ldrb r3, [r3, #0] 807a708: b2db uxtb r3, r3 807a70a: 2b18 cmp r3, #24 807a70c: f040 81a8 bne.w 807aa60 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a710: 49ca ldr r1, [pc, #808] ; (807aa3c ) 807a712: f04f 30ff mov.w r0, #4294967295 807a716: f7d9 f865 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807a71a: 4bc9 ldr r3, [pc, #804] ; (807aa40 ) 807a71c: 7b1b ldrb r3, [r3, #12] 807a71e: b2db uxtb r3, r3 807a720: 461a mov r2, r3 807a722: 4bc8 ldr r3, [pc, #800] ; (807aa44 ) 807a724: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807a728: 461a mov r2, r3 807a72a: 2127 movs r1, #39 ; 0x27 807a72c: 200a movs r0, #10 807a72e: f7d9 fe01 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807a732: 49c2 ldr r1, [pc, #776] ; (807aa3c ) 807a734: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807a738: f7d9 f854 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807a73c: f507 73cc add.w r3, r7, #408 ; 0x198 807a740: 461a mov r2, r3 807a742: 214a movs r1, #74 ; 0x4a 807a744: f44f 7082 mov.w r0, #260 ; 0x104 807a748: f7d9 fe0c bl 8054364 if(pardata.HP >= 2.0f) 807a74c: 4bbc ldr r3, [pc, #752] ; (807aa40 ) 807a74e: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807a752: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807a756: eef4 7ac7 vcmpe.f32 s15, s14 807a75a: eef1 fa10 vmrs APSR_nzcv, fpscr 807a75e: db53 blt.n 807a808 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a760: 49b6 ldr r1, [pc, #728] ; (807aa3c ) 807a762: f04f 30ff mov.w r0, #4294967295 807a766: f7d9 f83d bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807a76a: 4bb5 ldr r3, [pc, #724] ; (807aa40 ) 807a76c: 7b1b ldrb r3, [r3, #12] 807a76e: b2db uxtb r3, r3 807a770: 4619 mov r1, r3 807a772: 4ab5 ldr r2, [pc, #724] ; (807aa48 ) 807a774: 232c movs r3, #44 ; 0x2c 807a776: fb03 f301 mul.w r3, r3, r1 807a77a: 4413 add r3, r2 807a77c: 330c adds r3, #12 807a77e: 681b ldr r3, [r3, #0] 807a780: 461a mov r2, r3 807a782: 216a movs r1, #106 ; 0x6a 807a784: 200a movs r0, #10 807a786: f7d9 fdd5 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807a78a: 4bad ldr r3, [pc, #692] ; (807aa40 ) 807a78c: 7b1b ldrb r3, [r3, #12] 807a78e: b2db uxtb r3, r3 807a790: 4619 mov r1, r3 807a792: 4aad ldr r2, [pc, #692] ; (807aa48 ) 807a794: 232c movs r3, #44 ; 0x2c 807a796: fb03 f301 mul.w r3, r3, r1 807a79a: 4413 add r3, r2 807a79c: 3310 adds r3, #16 807a79e: 681b ldr r3, [r3, #0] 807a7a0: 461a mov r2, r3 807a7a2: 217a movs r1, #122 ; 0x7a 807a7a4: 200a movs r0, #10 807a7a6: f7d9 fdc5 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a7aa: 49a4 ldr r1, [pc, #656] ; (807aa3c ) 807a7ac: 48a7 ldr r0, [pc, #668] ; (807aa4c ) 807a7ae: f7d9 f819 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807a7b2: 4ba3 ldr r3, [pc, #652] ; (807aa40 ) 807a7b4: 7b1b ldrb r3, [r3, #12] 807a7b6: b2db uxtb r3, r3 807a7b8: 4619 mov r1, r3 807a7ba: 4ba1 ldr r3, [pc, #644] ; (807aa40 ) 807a7bc: 78db ldrb r3, [r3, #3] 807a7be: b2db uxtb r3, r3 807a7c0: 4618 mov r0, r3 807a7c2: 4aa3 ldr r2, [pc, #652] ; (807aa50 ) 807a7c4: 460b mov r3, r1 807a7c6: 009b lsls r3, r3, #2 807a7c8: 440b add r3, r1 807a7ca: 4403 add r3, r0 807a7cc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a7d0: 461a mov r2, r3 807a7d2: 216a movs r1, #106 ; 0x6a 807a7d4: f44f 7082 mov.w r0, #260 ; 0x104 807a7d8: f7d9 fdc4 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807a7dc: 4b98 ldr r3, [pc, #608] ; (807aa40 ) 807a7de: 7b1b ldrb r3, [r3, #12] 807a7e0: b2db uxtb r3, r3 807a7e2: 4619 mov r1, r3 807a7e4: 4b96 ldr r3, [pc, #600] ; (807aa40 ) 807a7e6: 791b ldrb r3, [r3, #4] 807a7e8: b2db uxtb r3, r3 807a7ea: 4618 mov r0, r3 807a7ec: 4a98 ldr r2, [pc, #608] ; (807aa50 ) 807a7ee: 460b mov r3, r1 807a7f0: 009b lsls r3, r3, #2 807a7f2: 440b add r3, r1 807a7f4: 4403 add r3, r0 807a7f6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a7fa: 461a mov r2, r3 807a7fc: 217a movs r1, #122 ; 0x7a 807a7fe: f44f 7082 mov.w r0, #260 ; 0x104 807a802: f7d9 fdaf bl 8054364 807a806: e04d b.n 807a8a4 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807a808: 498c ldr r1, [pc, #560] ; (807aa3c ) 807a80a: 4892 ldr r0, [pc, #584] ; (807aa54 ) 807a80c: f7d8 ffea bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807a810: 4b8b ldr r3, [pc, #556] ; (807aa40 ) 807a812: 7b1b ldrb r3, [r3, #12] 807a814: b2db uxtb r3, r3 807a816: 4619 mov r1, r3 807a818: 4a8b ldr r2, [pc, #556] ; (807aa48 ) 807a81a: 232c movs r3, #44 ; 0x2c 807a81c: fb03 f301 mul.w r3, r3, r1 807a820: 4413 add r3, r2 807a822: 330c adds r3, #12 807a824: 681b ldr r3, [r3, #0] 807a826: 461a mov r2, r3 807a828: 216a movs r1, #106 ; 0x6a 807a82a: 200a movs r0, #10 807a82c: f7d9 fd82 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807a830: 4b83 ldr r3, [pc, #524] ; (807aa40 ) 807a832: 7b1b ldrb r3, [r3, #12] 807a834: b2db uxtb r3, r3 807a836: 4619 mov r1, r3 807a838: 4a83 ldr r2, [pc, #524] ; (807aa48 ) 807a83a: 232c movs r3, #44 ; 0x2c 807a83c: fb03 f301 mul.w r3, r3, r1 807a840: 4413 add r3, r2 807a842: 3310 adds r3, #16 807a844: 681b ldr r3, [r3, #0] 807a846: 461a mov r2, r3 807a848: 217a movs r1, #122 ; 0x7a 807a84a: 200a movs r0, #10 807a84c: f7d9 fd72 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807a850: 4b7b ldr r3, [pc, #492] ; (807aa40 ) 807a852: 7b1b ldrb r3, [r3, #12] 807a854: b2db uxtb r3, r3 807a856: 4619 mov r1, r3 807a858: 4b79 ldr r3, [pc, #484] ; (807aa40 ) 807a85a: 78db ldrb r3, [r3, #3] 807a85c: b2db uxtb r3, r3 807a85e: 4618 mov r0, r3 807a860: 4a7b ldr r2, [pc, #492] ; (807aa50 ) 807a862: 460b mov r3, r1 807a864: 009b lsls r3, r3, #2 807a866: 440b add r3, r1 807a868: 4403 add r3, r0 807a86a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a86e: 461a mov r2, r3 807a870: 216a movs r1, #106 ; 0x6a 807a872: f44f 7082 mov.w r0, #260 ; 0x104 807a876: f7d9 fd75 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807a87a: 4b71 ldr r3, [pc, #452] ; (807aa40 ) 807a87c: 7b1b ldrb r3, [r3, #12] 807a87e: b2db uxtb r3, r3 807a880: 4619 mov r1, r3 807a882: 4b6f ldr r3, [pc, #444] ; (807aa40 ) 807a884: 791b ldrb r3, [r3, #4] 807a886: b2db uxtb r3, r3 807a888: 4618 mov r0, r3 807a88a: 4a71 ldr r2, [pc, #452] ; (807aa50 ) 807a88c: 460b mov r3, r1 807a88e: 009b lsls r3, r3, #2 807a890: 440b add r3, r1 807a892: 4403 add r3, r0 807a894: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a898: 461a mov r2, r3 807a89a: 217a movs r1, #122 ; 0x7a 807a89c: f44f 7082 mov.w r0, #260 ; 0x104 807a8a0: f7d9 fd60 bl 8054364 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807a8a4: 4965 ldr r1, [pc, #404] ; (807aa3c ) 807a8a6: 4869 ldr r0, [pc, #420] ; (807aa4c ) 807a8a8: f7d8 ff9c bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807a8ac: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807a8b0: 461a mov r2, r3 807a8b2: 213a movs r1, #58 ; 0x3a 807a8b4: f44f 7082 mov.w r0, #260 ; 0x104 807a8b8: f7d9 fd54 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807a8bc: 4b60 ldr r3, [pc, #384] ; (807aa40 ) 807a8be: 7b1b ldrb r3, [r3, #12] 807a8c0: b2db uxtb r3, r3 807a8c2: 4619 mov r1, r3 807a8c4: 4b5e ldr r3, [pc, #376] ; (807aa40 ) 807a8c6: 789b ldrb r3, [r3, #2] 807a8c8: b2db uxtb r3, r3 807a8ca: 4618 mov r0, r3 807a8cc: 4a60 ldr r2, [pc, #384] ; (807aa50 ) 807a8ce: 460b mov r3, r1 807a8d0: 009b lsls r3, r3, #2 807a8d2: 440b add r3, r1 807a8d4: 4403 add r3, r0 807a8d6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a8da: 461a mov r2, r3 807a8dc: 215a movs r1, #90 ; 0x5a 807a8de: f44f 7082 mov.w r0, #260 ; 0x104 807a8e2: f7d9 fd3f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807a8e6: 4b56 ldr r3, [pc, #344] ; (807aa40 ) 807a8e8: 7b1b ldrb r3, [r3, #12] 807a8ea: b2db uxtb r3, r3 807a8ec: 4619 mov r1, r3 807a8ee: 4b54 ldr r3, [pc, #336] ; (807aa40 ) 807a8f0: 7b5b ldrb r3, [r3, #13] 807a8f2: b2db uxtb r3, r3 807a8f4: 4618 mov r0, r3 807a8f6: 4a58 ldr r2, [pc, #352] ; (807aa58 ) 807a8f8: 460b mov r3, r1 807a8fa: 009b lsls r3, r3, #2 807a8fc: 440b add r3, r1 807a8fe: 005b lsls r3, r3, #1 807a900: 4403 add r3, r0 807a902: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807a906: 461a mov r2, r3 807a908: 218a movs r1, #138 ; 0x8a 807a90a: f44f 7082 mov.w r0, #260 ; 0x104 807a90e: f7d9 fd29 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807a912: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807a916: 461a mov r2, r3 807a918: 21da movs r1, #218 ; 0xda 807a91a: f44f 7082 mov.w r0, #260 ; 0x104 807a91e: f7d9 fd21 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a922: 4946 ldr r1, [pc, #280] ; (807aa3c ) 807a924: f04f 30ff mov.w r0, #4294967295 807a928: f7d8 ff5c bl 80537e4 BSP_LCD_FillRect(255, 157, 10, 10); 807a92c: 230a movs r3, #10 807a92e: 220a movs r2, #10 807a930: 219d movs r1, #157 ; 0x9d 807a932: 20ff movs r0, #255 ; 0xff 807a934: f7d9 fbe4 bl 8054100 BSP_LCD_FillRect(255, 173, 10, 10); 807a938: 230a movs r3, #10 807a93a: 220a movs r2, #10 807a93c: 21ad movs r1, #173 ; 0xad 807a93e: 20ff movs r0, #255 ; 0xff 807a940: f7d9 fbde bl 8054100 BSP_LCD_FillRect(255, 189, 10, 10); 807a944: 230a movs r3, #10 807a946: 220a movs r2, #10 807a948: 21bd movs r1, #189 ; 0xbd 807a94a: 20ff movs r0, #255 ; 0xff 807a94c: f7d9 fbd8 bl 8054100 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807a950: 4b3b ldr r3, [pc, #236] ; (807aa40 ) 807a952: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807a956: f003 0304 and.w r3, r3, #4 807a95a: 2b00 cmp r3, #0 807a95c: d033 beq.n 807a9c6 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807a95e: 4937 ldr r1, [pc, #220] ; (807aa3c ) 807a960: 483c ldr r0, [pc, #240] ; (807aa54 ) 807a962: f7d8 ff3f bl 80537e4 if(pardata.IIN != VOLTS) 807a966: 4b36 ldr r3, [pc, #216] ; (807aa40 ) 807a968: 799b ldrb r3, [r3, #6] 807a96a: b2db uxtb r3, r3 807a96c: 2b02 cmp r3, #2 807a96e: d010 beq.n 807a992 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a970: 4b33 ldr r3, [pc, #204] ; (807aa40 ) 807a972: 7b1b ldrb r3, [r3, #12] 807a974: b2db uxtb r3, r3 807a976: 4619 mov r1, r3 807a978: 4a33 ldr r2, [pc, #204] ; (807aa48 ) 807a97a: 232c movs r3, #44 ; 0x2c 807a97c: fb03 f301 mul.w r3, r3, r1 807a980: 4413 add r3, r2 807a982: 3324 adds r3, #36 ; 0x24 807a984: 681b ldr r3, [r3, #0] 807a986: 461a mov r2, r3 807a988: 21ca movs r1, #202 ; 0xca 807a98a: 200a movs r0, #10 807a98c: f7d9 fcd2 bl 8054334 807a990: e00f b.n 807a9b2 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a992: 4b2b ldr r3, [pc, #172] ; (807aa40 ) 807a994: 7b1b ldrb r3, [r3, #12] 807a996: b2db uxtb r3, r3 807a998: 4619 mov r1, r3 807a99a: 4a30 ldr r2, [pc, #192] ; (807aa5c ) 807a99c: 232c movs r3, #44 ; 0x2c 807a99e: fb03 f301 mul.w r3, r3, r1 807a9a2: 4413 add r3, r2 807a9a4: 3324 adds r3, #36 ; 0x24 807a9a6: 681b ldr r3, [r3, #0] 807a9a8: 461a mov r2, r3 807a9aa: 21ca movs r1, #202 ; 0xca 807a9ac: 200a movs r0, #10 807a9ae: f7d9 fcc1 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807a9b2: f507 733b add.w r3, r7, #748 ; 0x2ec 807a9b6: 461a mov r2, r3 807a9b8: 21ca movs r1, #202 ; 0xca 807a9ba: f44f 7082 mov.w r0, #260 ; 0x104 807a9be: f7d9 fcd1 bl 8054364 807a9c2: f003 b951 b.w 807dc68 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807a9c6: 491d ldr r1, [pc, #116] ; (807aa3c ) 807a9c8: f04f 30ff mov.w r0, #4294967295 807a9cc: f7d8 ff0a bl 80537e4 if(pardata.IIN != VOLTS) 807a9d0: 4b1b ldr r3, [pc, #108] ; (807aa40 ) 807a9d2: 799b ldrb r3, [r3, #6] 807a9d4: b2db uxtb r3, r3 807a9d6: 2b02 cmp r3, #2 807a9d8: d010 beq.n 807a9fc LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a9da: 4b19 ldr r3, [pc, #100] ; (807aa40 ) 807a9dc: 7b1b ldrb r3, [r3, #12] 807a9de: b2db uxtb r3, r3 807a9e0: 4619 mov r1, r3 807a9e2: 4a19 ldr r2, [pc, #100] ; (807aa48 ) 807a9e4: 232c movs r3, #44 ; 0x2c 807a9e6: fb03 f301 mul.w r3, r3, r1 807a9ea: 4413 add r3, r2 807a9ec: 3324 adds r3, #36 ; 0x24 807a9ee: 681b ldr r3, [r3, #0] 807a9f0: 461a mov r2, r3 807a9f2: 21ca movs r1, #202 ; 0xca 807a9f4: 200a movs r0, #10 807a9f6: f7d9 fc9d bl 8054334 807a9fa: e00f b.n 807aa1c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807a9fc: 4b10 ldr r3, [pc, #64] ; (807aa40 ) 807a9fe: 7b1b ldrb r3, [r3, #12] 807aa00: b2db uxtb r3, r3 807aa02: 4619 mov r1, r3 807aa04: 4a15 ldr r2, [pc, #84] ; (807aa5c ) 807aa06: 232c movs r3, #44 ; 0x2c 807aa08: fb03 f301 mul.w r3, r3, r1 807aa0c: 4413 add r3, r2 807aa0e: 3324 adds r3, #36 ; 0x24 807aa10: 681b ldr r3, [r3, #0] 807aa12: 461a mov r2, r3 807aa14: 21ca movs r1, #202 ; 0xca 807aa16: 200a movs r0, #10 807aa18: f7d9 fc8c bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807aa1c: 4907 ldr r1, [pc, #28] ; (807aa3c ) 807aa1e: 480b ldr r0, [pc, #44] ; (807aa4c ) 807aa20: f7d8 fee0 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807aa24: f507 733b add.w r3, r7, #748 ; 0x2ec 807aa28: 461a mov r2, r3 807aa2a: 21ca movs r1, #202 ; 0xca 807aa2c: f44f 7082 mov.w r0, #260 ; 0x104 807aa30: f7d9 fc98 bl 8054364 807aa34: f003 b918 b.w 807dc68 807aa38: 20020070 .word 0x20020070 807aa3c: ff0a0f1f .word 0xff0a0f1f 807aa40: 20023e60 .word 0x20023e60 807aa44: 200205c4 .word 0x200205c4 807aa48: 200206b4 .word 0x200206b4 807aa4c: ffd8aa57 .word 0xffd8aa57 807aa50: 200202bc .word 0x200202bc 807aa54: ff808080 .word 0xff808080 807aa58: 2002024c .word 0x2002024c 807aa5c: 2002070c .word 0x2002070c } } else if(menupos == ValueA) 807aa60: 4bbf ldr r3, [pc, #764] ; (807ad60 ) 807aa62: 781b ldrb r3, [r3, #0] 807aa64: b2db uxtb r3, r3 807aa66: 2b02 cmp r3, #2 807aa68: f040 81cb bne.w 807ae02 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807aa6c: 49bd ldr r1, [pc, #756] ; (807ad64 ) 807aa6e: f04f 30ff mov.w r0, #4294967295 807aa72: f7d8 feb7 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807aa76: 4bbc ldr r3, [pc, #752] ; (807ad68 ) 807aa78: 7b1b ldrb r3, [r3, #12] 807aa7a: b2db uxtb r3, r3 807aa7c: 461a mov r2, r3 807aa7e: 4bbb ldr r3, [pc, #748] ; (807ad6c ) 807aa80: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807aa84: 461a mov r2, r3 807aa86: 2127 movs r1, #39 ; 0x27 807aa88: 200a movs r0, #10 807aa8a: f7d9 fc53 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807aa8e: 49b5 ldr r1, [pc, #724] ; (807ad64 ) 807aa90: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807aa94: f7d8 fea6 bl 80537e4 if(focused) 807aa98: 4bb5 ldr r3, [pc, #724] ; (807ad70 ) 807aa9a: 781b ldrb r3, [r3, #0] 807aa9c: b2db uxtb r3, r3 807aa9e: 2b00 cmp r3, #0 807aaa0: d019 beq.n 807aad6 { if(blk) 807aaa2: 4bb4 ldr r3, [pc, #720] ; (807ad74 ) 807aaa4: 681b ldr r3, [r3, #0] 807aaa6: 2b00 cmp r3, #0 807aaa8: d02a beq.n 807ab00 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807aaaa: 4baf ldr r3, [pc, #700] ; (807ad68 ) 807aaac: 7b1b ldrb r3, [r3, #12] 807aaae: b2db uxtb r3, r3 807aab0: 4619 mov r1, r3 807aab2: 4bad ldr r3, [pc, #692] ; (807ad68 ) 807aab4: 789b ldrb r3, [r3, #2] 807aab6: b2db uxtb r3, r3 807aab8: 4618 mov r0, r3 807aaba: 4aaf ldr r2, [pc, #700] ; (807ad78 ) 807aabc: 460b mov r3, r1 807aabe: 009b lsls r3, r3, #2 807aac0: 440b add r3, r1 807aac2: 4403 add r3, r0 807aac4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807aac8: 461a mov r2, r3 807aaca: 215a movs r1, #90 ; 0x5a 807aacc: f44f 7082 mov.w r0, #260 ; 0x104 807aad0: f7d9 fc48 bl 8054364 807aad4: e014 b.n 807ab00 } else LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807aad6: 4ba4 ldr r3, [pc, #656] ; (807ad68 ) 807aad8: 7b1b ldrb r3, [r3, #12] 807aada: b2db uxtb r3, r3 807aadc: 4619 mov r1, r3 807aade: 4ba2 ldr r3, [pc, #648] ; (807ad68 ) 807aae0: 789b ldrb r3, [r3, #2] 807aae2: b2db uxtb r3, r3 807aae4: 4618 mov r0, r3 807aae6: 4aa4 ldr r2, [pc, #656] ; (807ad78 ) 807aae8: 460b mov r3, r1 807aaea: 009b lsls r3, r3, #2 807aaec: 440b add r3, r1 807aaee: 4403 add r3, r0 807aaf0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807aaf4: 461a mov r2, r3 807aaf6: 215a movs r1, #90 ; 0x5a 807aaf8: f44f 7082 mov.w r0, #260 ; 0x104 807aafc: f7d9 fc32 bl 8054364 if(pardata.HP >= 2.0f) 807ab00: 4b99 ldr r3, [pc, #612] ; (807ad68 ) 807ab02: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807ab06: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807ab0a: eef4 7ac7 vcmpe.f32 s15, s14 807ab0e: eef1 fa10 vmrs APSR_nzcv, fpscr 807ab12: db53 blt.n 807abbc { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ab14: 4993 ldr r1, [pc, #588] ; (807ad64 ) 807ab16: f04f 30ff mov.w r0, #4294967295 807ab1a: f7d8 fe63 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807ab1e: 4b92 ldr r3, [pc, #584] ; (807ad68 ) 807ab20: 7b1b ldrb r3, [r3, #12] 807ab22: b2db uxtb r3, r3 807ab24: 4619 mov r1, r3 807ab26: 4a95 ldr r2, [pc, #596] ; (807ad7c ) 807ab28: 232c movs r3, #44 ; 0x2c 807ab2a: fb03 f301 mul.w r3, r3, r1 807ab2e: 4413 add r3, r2 807ab30: 330c adds r3, #12 807ab32: 681b ldr r3, [r3, #0] 807ab34: 461a mov r2, r3 807ab36: 216a movs r1, #106 ; 0x6a 807ab38: 200a movs r0, #10 807ab3a: f7d9 fbfb bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807ab3e: 4b8a ldr r3, [pc, #552] ; (807ad68 ) 807ab40: 7b1b ldrb r3, [r3, #12] 807ab42: b2db uxtb r3, r3 807ab44: 4619 mov r1, r3 807ab46: 4a8d ldr r2, [pc, #564] ; (807ad7c ) 807ab48: 232c movs r3, #44 ; 0x2c 807ab4a: fb03 f301 mul.w r3, r3, r1 807ab4e: 4413 add r3, r2 807ab50: 3310 adds r3, #16 807ab52: 681b ldr r3, [r3, #0] 807ab54: 461a mov r2, r3 807ab56: 217a movs r1, #122 ; 0x7a 807ab58: 200a movs r0, #10 807ab5a: f7d9 fbeb bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ab5e: 4981 ldr r1, [pc, #516] ; (807ad64 ) 807ab60: 4887 ldr r0, [pc, #540] ; (807ad80 ) 807ab62: f7d8 fe3f bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807ab66: 4b80 ldr r3, [pc, #512] ; (807ad68 ) 807ab68: 7b1b ldrb r3, [r3, #12] 807ab6a: b2db uxtb r3, r3 807ab6c: 4619 mov r1, r3 807ab6e: 4b7e ldr r3, [pc, #504] ; (807ad68 ) 807ab70: 78db ldrb r3, [r3, #3] 807ab72: b2db uxtb r3, r3 807ab74: 4618 mov r0, r3 807ab76: 4a80 ldr r2, [pc, #512] ; (807ad78 ) 807ab78: 460b mov r3, r1 807ab7a: 009b lsls r3, r3, #2 807ab7c: 440b add r3, r1 807ab7e: 4403 add r3, r0 807ab80: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ab84: 461a mov r2, r3 807ab86: 216a movs r1, #106 ; 0x6a 807ab88: f44f 7082 mov.w r0, #260 ; 0x104 807ab8c: f7d9 fbea bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807ab90: 4b75 ldr r3, [pc, #468] ; (807ad68 ) 807ab92: 7b1b ldrb r3, [r3, #12] 807ab94: b2db uxtb r3, r3 807ab96: 4619 mov r1, r3 807ab98: 4b73 ldr r3, [pc, #460] ; (807ad68 ) 807ab9a: 791b ldrb r3, [r3, #4] 807ab9c: b2db uxtb r3, r3 807ab9e: 4618 mov r0, r3 807aba0: 4a75 ldr r2, [pc, #468] ; (807ad78 ) 807aba2: 460b mov r3, r1 807aba4: 009b lsls r3, r3, #2 807aba6: 440b add r3, r1 807aba8: 4403 add r3, r0 807abaa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807abae: 461a mov r2, r3 807abb0: 217a movs r1, #122 ; 0x7a 807abb2: f44f 7082 mov.w r0, #260 ; 0x104 807abb6: f7d9 fbd5 bl 8054364 807abba: e04d b.n 807ac58 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807abbc: 4969 ldr r1, [pc, #420] ; (807ad64 ) 807abbe: 4871 ldr r0, [pc, #452] ; (807ad84 ) 807abc0: f7d8 fe10 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807abc4: 4b68 ldr r3, [pc, #416] ; (807ad68 ) 807abc6: 7b1b ldrb r3, [r3, #12] 807abc8: b2db uxtb r3, r3 807abca: 4619 mov r1, r3 807abcc: 4a6b ldr r2, [pc, #428] ; (807ad7c ) 807abce: 232c movs r3, #44 ; 0x2c 807abd0: fb03 f301 mul.w r3, r3, r1 807abd4: 4413 add r3, r2 807abd6: 330c adds r3, #12 807abd8: 681b ldr r3, [r3, #0] 807abda: 461a mov r2, r3 807abdc: 216a movs r1, #106 ; 0x6a 807abde: 200a movs r0, #10 807abe0: f7d9 fba8 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807abe4: 4b60 ldr r3, [pc, #384] ; (807ad68 ) 807abe6: 7b1b ldrb r3, [r3, #12] 807abe8: b2db uxtb r3, r3 807abea: 4619 mov r1, r3 807abec: 4a63 ldr r2, [pc, #396] ; (807ad7c ) 807abee: 232c movs r3, #44 ; 0x2c 807abf0: fb03 f301 mul.w r3, r3, r1 807abf4: 4413 add r3, r2 807abf6: 3310 adds r3, #16 807abf8: 681b ldr r3, [r3, #0] 807abfa: 461a mov r2, r3 807abfc: 217a movs r1, #122 ; 0x7a 807abfe: 200a movs r0, #10 807ac00: f7d9 fb98 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807ac04: 4b58 ldr r3, [pc, #352] ; (807ad68 ) 807ac06: 7b1b ldrb r3, [r3, #12] 807ac08: b2db uxtb r3, r3 807ac0a: 4619 mov r1, r3 807ac0c: 4b56 ldr r3, [pc, #344] ; (807ad68 ) 807ac0e: 78db ldrb r3, [r3, #3] 807ac10: b2db uxtb r3, r3 807ac12: 4618 mov r0, r3 807ac14: 4a58 ldr r2, [pc, #352] ; (807ad78 ) 807ac16: 460b mov r3, r1 807ac18: 009b lsls r3, r3, #2 807ac1a: 440b add r3, r1 807ac1c: 4403 add r3, r0 807ac1e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ac22: 461a mov r2, r3 807ac24: 216a movs r1, #106 ; 0x6a 807ac26: f44f 7082 mov.w r0, #260 ; 0x104 807ac2a: f7d9 fb9b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807ac2e: 4b4e ldr r3, [pc, #312] ; (807ad68 ) 807ac30: 7b1b ldrb r3, [r3, #12] 807ac32: b2db uxtb r3, r3 807ac34: 4619 mov r1, r3 807ac36: 4b4c ldr r3, [pc, #304] ; (807ad68 ) 807ac38: 791b ldrb r3, [r3, #4] 807ac3a: b2db uxtb r3, r3 807ac3c: 4618 mov r0, r3 807ac3e: 4a4e ldr r2, [pc, #312] ; (807ad78 ) 807ac40: 460b mov r3, r1 807ac42: 009b lsls r3, r3, #2 807ac44: 440b add r3, r1 807ac46: 4403 add r3, r0 807ac48: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ac4c: 461a mov r2, r3 807ac4e: 217a movs r1, #122 ; 0x7a 807ac50: f44f 7082 mov.w r0, #260 ; 0x104 807ac54: f7d9 fb86 bl 8054364 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ac58: 4942 ldr r1, [pc, #264] ; (807ad64 ) 807ac5a: 4849 ldr r0, [pc, #292] ; (807ad80 ) 807ac5c: f7d8 fdc2 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807ac60: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807ac64: 461a mov r2, r3 807ac66: 213a movs r1, #58 ; 0x3a 807ac68: f44f 7082 mov.w r0, #260 ; 0x104 807ac6c: f7d9 fb7a bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807ac70: f507 73cc add.w r3, r7, #408 ; 0x198 807ac74: 461a mov r2, r3 807ac76: 214a movs r1, #74 ; 0x4a 807ac78: f44f 7082 mov.w r0, #260 ; 0x104 807ac7c: f7d9 fb72 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807ac80: 4b39 ldr r3, [pc, #228] ; (807ad68 ) 807ac82: 7b1b ldrb r3, [r3, #12] 807ac84: b2db uxtb r3, r3 807ac86: 4619 mov r1, r3 807ac88: 4b37 ldr r3, [pc, #220] ; (807ad68 ) 807ac8a: 7b5b ldrb r3, [r3, #13] 807ac8c: b2db uxtb r3, r3 807ac8e: 4618 mov r0, r3 807ac90: 4a3d ldr r2, [pc, #244] ; (807ad88 ) 807ac92: 460b mov r3, r1 807ac94: 009b lsls r3, r3, #2 807ac96: 440b add r3, r1 807ac98: 005b lsls r3, r3, #1 807ac9a: 4403 add r3, r0 807ac9c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807aca0: 461a mov r2, r3 807aca2: 218a movs r1, #138 ; 0x8a 807aca4: f44f 7082 mov.w r0, #260 ; 0x104 807aca8: f7d9 fb5c bl 8054364 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807acac: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807acb0: 461a mov r2, r3 807acb2: 21da movs r1, #218 ; 0xda 807acb4: f44f 7082 mov.w r0, #260 ; 0x104 807acb8: f7d9 fb54 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807acbc: 4929 ldr r1, [pc, #164] ; (807ad64 ) 807acbe: f04f 30ff mov.w r0, #4294967295 807acc2: f7d8 fd8f bl 80537e4 BSP_LCD_FillRect(255, 157, 10, 10); 807acc6: 230a movs r3, #10 807acc8: 220a movs r2, #10 807acca: 219d movs r1, #157 ; 0x9d 807accc: 20ff movs r0, #255 ; 0xff 807acce: f7d9 fa17 bl 8054100 BSP_LCD_FillRect(255, 173, 10, 10); 807acd2: 230a movs r3, #10 807acd4: 220a movs r2, #10 807acd6: 21ad movs r1, #173 ; 0xad 807acd8: 20ff movs r0, #255 ; 0xff 807acda: f7d9 fa11 bl 8054100 BSP_LCD_FillRect(255, 189, 10, 10); 807acde: 230a movs r3, #10 807ace0: 220a movs r2, #10 807ace2: 21bd movs r1, #189 ; 0xbd 807ace4: 20ff movs r0, #255 ; 0xff 807ace6: f7d9 fa0b bl 8054100 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807acea: 4b1f ldr r3, [pc, #124] ; (807ad68 ) 807acec: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807acf0: f003 0304 and.w r3, r3, #4 807acf4: 2b00 cmp r3, #0 807acf6: d04b beq.n 807ad90 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807acf8: 491a ldr r1, [pc, #104] ; (807ad64 ) 807acfa: 4822 ldr r0, [pc, #136] ; (807ad84 ) 807acfc: f7d8 fd72 bl 80537e4 if(pardata.IIN != VOLTS) 807ad00: 4b19 ldr r3, [pc, #100] ; (807ad68 ) 807ad02: 799b ldrb r3, [r3, #6] 807ad04: b2db uxtb r3, r3 807ad06: 2b02 cmp r3, #2 807ad08: d010 beq.n 807ad2c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ad0a: 4b17 ldr r3, [pc, #92] ; (807ad68 ) 807ad0c: 7b1b ldrb r3, [r3, #12] 807ad0e: b2db uxtb r3, r3 807ad10: 4619 mov r1, r3 807ad12: 4a1a ldr r2, [pc, #104] ; (807ad7c ) 807ad14: 232c movs r3, #44 ; 0x2c 807ad16: fb03 f301 mul.w r3, r3, r1 807ad1a: 4413 add r3, r2 807ad1c: 3324 adds r3, #36 ; 0x24 807ad1e: 681b ldr r3, [r3, #0] 807ad20: 461a mov r2, r3 807ad22: 21ca movs r1, #202 ; 0xca 807ad24: 200a movs r0, #10 807ad26: f7d9 fb05 bl 8054334 807ad2a: e00f b.n 807ad4c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ad2c: 4b0e ldr r3, [pc, #56] ; (807ad68 ) 807ad2e: 7b1b ldrb r3, [r3, #12] 807ad30: b2db uxtb r3, r3 807ad32: 4619 mov r1, r3 807ad34: 4a15 ldr r2, [pc, #84] ; (807ad8c ) 807ad36: 232c movs r3, #44 ; 0x2c 807ad38: fb03 f301 mul.w r3, r3, r1 807ad3c: 4413 add r3, r2 807ad3e: 3324 adds r3, #36 ; 0x24 807ad40: 681b ldr r3, [r3, #0] 807ad42: 461a mov r2, r3 807ad44: 21ca movs r1, #202 ; 0xca 807ad46: 200a movs r0, #10 807ad48: f7d9 faf4 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807ad4c: f507 733b add.w r3, r7, #748 ; 0x2ec 807ad50: 461a mov r2, r3 807ad52: 21ca movs r1, #202 ; 0xca 807ad54: f44f 7082 mov.w r0, #260 ; 0x104 807ad58: f7d9 fb04 bl 8054364 807ad5c: f002 bf84 b.w 807dc68 807ad60: 20020070 .word 0x20020070 807ad64: ff0a0f1f .word 0xff0a0f1f 807ad68: 20023e60 .word 0x20023e60 807ad6c: 200205c4 .word 0x200205c4 807ad70: 20020f84 .word 0x20020f84 807ad74: 2002165c .word 0x2002165c 807ad78: 200202bc .word 0x200202bc 807ad7c: 200206b4 .word 0x200206b4 807ad80: ffd8aa57 .word 0xffd8aa57 807ad84: ff808080 .word 0xff808080 807ad88: 2002024c .word 0x2002024c 807ad8c: 2002070c .word 0x2002070c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ad90: 49c7 ldr r1, [pc, #796] ; (807b0b0 ) 807ad92: f04f 30ff mov.w r0, #4294967295 807ad96: f7d8 fd25 bl 80537e4 if(pardata.IIN != VOLTS) 807ad9a: 4bc6 ldr r3, [pc, #792] ; (807b0b4 ) 807ad9c: 799b ldrb r3, [r3, #6] 807ad9e: b2db uxtb r3, r3 807ada0: 2b02 cmp r3, #2 807ada2: d010 beq.n 807adc6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ada4: 4bc3 ldr r3, [pc, #780] ; (807b0b4 ) 807ada6: 7b1b ldrb r3, [r3, #12] 807ada8: b2db uxtb r3, r3 807adaa: 4619 mov r1, r3 807adac: 4ac2 ldr r2, [pc, #776] ; (807b0b8 ) 807adae: 232c movs r3, #44 ; 0x2c 807adb0: fb03 f301 mul.w r3, r3, r1 807adb4: 4413 add r3, r2 807adb6: 3324 adds r3, #36 ; 0x24 807adb8: 681b ldr r3, [r3, #0] 807adba: 461a mov r2, r3 807adbc: 21ca movs r1, #202 ; 0xca 807adbe: 200a movs r0, #10 807adc0: f7d9 fab8 bl 8054334 807adc4: e00f b.n 807ade6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807adc6: 4bbb ldr r3, [pc, #748] ; (807b0b4 ) 807adc8: 7b1b ldrb r3, [r3, #12] 807adca: b2db uxtb r3, r3 807adcc: 4619 mov r1, r3 807adce: 4abb ldr r2, [pc, #748] ; (807b0bc ) 807add0: 232c movs r3, #44 ; 0x2c 807add2: fb03 f301 mul.w r3, r3, r1 807add6: 4413 add r3, r2 807add8: 3324 adds r3, #36 ; 0x24 807adda: 681b ldr r3, [r3, #0] 807addc: 461a mov r2, r3 807adde: 21ca movs r1, #202 ; 0xca 807ade0: 200a movs r0, #10 807ade2: f7d9 faa7 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ade6: 49b2 ldr r1, [pc, #712] ; (807b0b0 ) 807ade8: 48b5 ldr r0, [pc, #724] ; (807b0c0 ) 807adea: f7d8 fcfb bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807adee: f507 733b add.w r3, r7, #748 ; 0x2ec 807adf2: 461a mov r2, r3 807adf4: 21ca movs r1, #202 ; 0xca 807adf6: f44f 7082 mov.w r0, #260 ; 0x104 807adfa: f7d9 fab3 bl 8054364 807adfe: f002 bf33 b.w 807dc68 } } else if(menupos == ValueV) 807ae02: 4bb0 ldr r3, [pc, #704] ; (807b0c4 ) 807ae04: 781b ldrb r3, [r3, #0] 807ae06: b2db uxtb r3, r3 807ae08: 2b03 cmp r3, #3 807ae0a: f040 8169 bne.w 807b0e0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ae0e: 49a8 ldr r1, [pc, #672] ; (807b0b0 ) 807ae10: f04f 30ff mov.w r0, #4294967295 807ae14: f7d8 fce6 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807ae18: 4ba6 ldr r3, [pc, #664] ; (807b0b4 ) 807ae1a: 7b1b ldrb r3, [r3, #12] 807ae1c: b2db uxtb r3, r3 807ae1e: 461a mov r2, r3 807ae20: 4ba9 ldr r3, [pc, #676] ; (807b0c8 ) 807ae22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ae26: 461a mov r2, r3 807ae28: 2127 movs r1, #39 ; 0x27 807ae2a: 200a movs r0, #10 807ae2c: f7d9 fa82 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807ae30: 4ba0 ldr r3, [pc, #640] ; (807b0b4 ) 807ae32: 7b1b ldrb r3, [r3, #12] 807ae34: b2db uxtb r3, r3 807ae36: 4619 mov r1, r3 807ae38: 4a9f ldr r2, [pc, #636] ; (807b0b8 ) 807ae3a: 232c movs r3, #44 ; 0x2c 807ae3c: fb03 f301 mul.w r3, r3, r1 807ae40: 4413 add r3, r2 807ae42: 330c adds r3, #12 807ae44: 681b ldr r3, [r3, #0] 807ae46: 461a mov r2, r3 807ae48: 216a movs r1, #106 ; 0x6a 807ae4a: 200a movs r0, #10 807ae4c: f7d9 fa72 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807ae50: 4b98 ldr r3, [pc, #608] ; (807b0b4 ) 807ae52: 7b1b ldrb r3, [r3, #12] 807ae54: b2db uxtb r3, r3 807ae56: 4619 mov r1, r3 807ae58: 4a97 ldr r2, [pc, #604] ; (807b0b8 ) 807ae5a: 232c movs r3, #44 ; 0x2c 807ae5c: fb03 f301 mul.w r3, r3, r1 807ae60: 4413 add r3, r2 807ae62: 3310 adds r3, #16 807ae64: 681b ldr r3, [r3, #0] 807ae66: 461a mov r2, r3 807ae68: 217a movs r1, #122 ; 0x7a 807ae6a: 200a movs r0, #10 807ae6c: f7d9 fa62 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807ae70: 498f ldr r1, [pc, #572] ; (807b0b0 ) 807ae72: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ae76: f7d8 fcb5 bl 80537e4 if(focused) 807ae7a: 4b94 ldr r3, [pc, #592] ; (807b0cc ) 807ae7c: 781b ldrb r3, [r3, #0] 807ae7e: b2db uxtb r3, r3 807ae80: 2b00 cmp r3, #0 807ae82: d019 beq.n 807aeb8 { if(blk) 807ae84: 4b92 ldr r3, [pc, #584] ; (807b0d0 ) 807ae86: 681b ldr r3, [r3, #0] 807ae88: 2b00 cmp r3, #0 807ae8a: d02a beq.n 807aee2 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807ae8c: 4b89 ldr r3, [pc, #548] ; (807b0b4 ) 807ae8e: 7b1b ldrb r3, [r3, #12] 807ae90: b2db uxtb r3, r3 807ae92: 4619 mov r1, r3 807ae94: 4b87 ldr r3, [pc, #540] ; (807b0b4 ) 807ae96: 78db ldrb r3, [r3, #3] 807ae98: b2db uxtb r3, r3 807ae9a: 4618 mov r0, r3 807ae9c: 4a8d ldr r2, [pc, #564] ; (807b0d4 ) 807ae9e: 460b mov r3, r1 807aea0: 009b lsls r3, r3, #2 807aea2: 440b add r3, r1 807aea4: 4403 add r3, r0 807aea6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807aeaa: 461a mov r2, r3 807aeac: 216a movs r1, #106 ; 0x6a 807aeae: f44f 7082 mov.w r0, #260 ; 0x104 807aeb2: f7d9 fa57 bl 8054364 807aeb6: e014 b.n 807aee2 } else LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807aeb8: 4b7e ldr r3, [pc, #504] ; (807b0b4 ) 807aeba: 7b1b ldrb r3, [r3, #12] 807aebc: b2db uxtb r3, r3 807aebe: 4619 mov r1, r3 807aec0: 4b7c ldr r3, [pc, #496] ; (807b0b4 ) 807aec2: 78db ldrb r3, [r3, #3] 807aec4: b2db uxtb r3, r3 807aec6: 4618 mov r0, r3 807aec8: 4a82 ldr r2, [pc, #520] ; (807b0d4 ) 807aeca: 460b mov r3, r1 807aecc: 009b lsls r3, r3, #2 807aece: 440b add r3, r1 807aed0: 4403 add r3, r0 807aed2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807aed6: 461a mov r2, r3 807aed8: 216a movs r1, #106 ; 0x6a 807aeda: f44f 7082 mov.w r0, #260 ; 0x104 807aede: f7d9 fa41 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807aee2: 4973 ldr r1, [pc, #460] ; (807b0b0 ) 807aee4: 4876 ldr r0, [pc, #472] ; (807b0c0 ) 807aee6: f7d8 fc7d bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807aeea: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807aeee: 461a mov r2, r3 807aef0: 213a movs r1, #58 ; 0x3a 807aef2: f44f 7082 mov.w r0, #260 ; 0x104 807aef6: f7d9 fa35 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807aefa: f507 73cc add.w r3, r7, #408 ; 0x198 807aefe: 461a mov r2, r3 807af00: 214a movs r1, #74 ; 0x4a 807af02: f44f 7082 mov.w r0, #260 ; 0x104 807af06: f7d9 fa2d bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807af0a: 4b6a ldr r3, [pc, #424] ; (807b0b4 ) 807af0c: 7b1b ldrb r3, [r3, #12] 807af0e: b2db uxtb r3, r3 807af10: 4619 mov r1, r3 807af12: 4b68 ldr r3, [pc, #416] ; (807b0b4 ) 807af14: 789b ldrb r3, [r3, #2] 807af16: b2db uxtb r3, r3 807af18: 4618 mov r0, r3 807af1a: 4a6e ldr r2, [pc, #440] ; (807b0d4 ) 807af1c: 460b mov r3, r1 807af1e: 009b lsls r3, r3, #2 807af20: 440b add r3, r1 807af22: 4403 add r3, r0 807af24: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807af28: 461a mov r2, r3 807af2a: 215a movs r1, #90 ; 0x5a 807af2c: f44f 7082 mov.w r0, #260 ; 0x104 807af30: f7d9 fa18 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807af34: 4b5f ldr r3, [pc, #380] ; (807b0b4 ) 807af36: 7b1b ldrb r3, [r3, #12] 807af38: b2db uxtb r3, r3 807af3a: 4619 mov r1, r3 807af3c: 4b5d ldr r3, [pc, #372] ; (807b0b4 ) 807af3e: 791b ldrb r3, [r3, #4] 807af40: b2db uxtb r3, r3 807af42: 4618 mov r0, r3 807af44: 4a63 ldr r2, [pc, #396] ; (807b0d4 ) 807af46: 460b mov r3, r1 807af48: 009b lsls r3, r3, #2 807af4a: 440b add r3, r1 807af4c: 4403 add r3, r0 807af4e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807af52: 461a mov r2, r3 807af54: 217a movs r1, #122 ; 0x7a 807af56: f44f 7082 mov.w r0, #260 ; 0x104 807af5a: f7d9 fa03 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807af5e: 4b55 ldr r3, [pc, #340] ; (807b0b4 ) 807af60: 7b1b ldrb r3, [r3, #12] 807af62: b2db uxtb r3, r3 807af64: 4619 mov r1, r3 807af66: 4b53 ldr r3, [pc, #332] ; (807b0b4 ) 807af68: 7b5b ldrb r3, [r3, #13] 807af6a: b2db uxtb r3, r3 807af6c: 4618 mov r0, r3 807af6e: 4a5a ldr r2, [pc, #360] ; (807b0d8 ) 807af70: 460b mov r3, r1 807af72: 009b lsls r3, r3, #2 807af74: 440b add r3, r1 807af76: 005b lsls r3, r3, #1 807af78: 4403 add r3, r0 807af7a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807af7e: 461a mov r2, r3 807af80: 218a movs r1, #138 ; 0x8a 807af82: f44f 7082 mov.w r0, #260 ; 0x104 807af86: f7d9 f9ed bl 8054364 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807af8a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807af8e: 461a mov r2, r3 807af90: 21da movs r1, #218 ; 0xda 807af92: f44f 7082 mov.w r0, #260 ; 0x104 807af96: f7d9 f9e5 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807af9a: 4945 ldr r1, [pc, #276] ; (807b0b0 ) 807af9c: f04f 30ff mov.w r0, #4294967295 807afa0: f7d8 fc20 bl 80537e4 BSP_LCD_FillRect(255, 157, 10, 10); 807afa4: 230a movs r3, #10 807afa6: 220a movs r2, #10 807afa8: 219d movs r1, #157 ; 0x9d 807afaa: 20ff movs r0, #255 ; 0xff 807afac: f7d9 f8a8 bl 8054100 BSP_LCD_FillRect(255, 173, 10, 10); 807afb0: 230a movs r3, #10 807afb2: 220a movs r2, #10 807afb4: 21ad movs r1, #173 ; 0xad 807afb6: 20ff movs r0, #255 ; 0xff 807afb8: f7d9 f8a2 bl 8054100 BSP_LCD_FillRect(255, 189, 10, 10); 807afbc: 230a movs r3, #10 807afbe: 220a movs r2, #10 807afc0: 21bd movs r1, #189 ; 0xbd 807afc2: 20ff movs r0, #255 ; 0xff 807afc4: f7d9 f89c bl 8054100 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807afc8: 4b3a ldr r3, [pc, #232] ; (807b0b4 ) 807afca: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807afce: f003 0304 and.w r3, r3, #4 807afd2: 2b00 cmp r3, #0 807afd4: d033 beq.n 807b03e { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807afd6: 4936 ldr r1, [pc, #216] ; (807b0b0 ) 807afd8: 4840 ldr r0, [pc, #256] ; (807b0dc ) 807afda: f7d8 fc03 bl 80537e4 if(pardata.IIN != VOLTS) 807afde: 4b35 ldr r3, [pc, #212] ; (807b0b4 ) 807afe0: 799b ldrb r3, [r3, #6] 807afe2: b2db uxtb r3, r3 807afe4: 2b02 cmp r3, #2 807afe6: d010 beq.n 807b00a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807afe8: 4b32 ldr r3, [pc, #200] ; (807b0b4 ) 807afea: 7b1b ldrb r3, [r3, #12] 807afec: b2db uxtb r3, r3 807afee: 4619 mov r1, r3 807aff0: 4a31 ldr r2, [pc, #196] ; (807b0b8 ) 807aff2: 232c movs r3, #44 ; 0x2c 807aff4: fb03 f301 mul.w r3, r3, r1 807aff8: 4413 add r3, r2 807affa: 3324 adds r3, #36 ; 0x24 807affc: 681b ldr r3, [r3, #0] 807affe: 461a mov r2, r3 807b000: 21ca movs r1, #202 ; 0xca 807b002: 200a movs r0, #10 807b004: f7d9 f996 bl 8054334 807b008: e00f b.n 807b02a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b00a: 4b2a ldr r3, [pc, #168] ; (807b0b4 ) 807b00c: 7b1b ldrb r3, [r3, #12] 807b00e: b2db uxtb r3, r3 807b010: 4619 mov r1, r3 807b012: 4a2a ldr r2, [pc, #168] ; (807b0bc ) 807b014: 232c movs r3, #44 ; 0x2c 807b016: fb03 f301 mul.w r3, r3, r1 807b01a: 4413 add r3, r2 807b01c: 3324 adds r3, #36 ; 0x24 807b01e: 681b ldr r3, [r3, #0] 807b020: 461a mov r2, r3 807b022: 21ca movs r1, #202 ; 0xca 807b024: 200a movs r0, #10 807b026: f7d9 f985 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807b02a: f507 733b add.w r3, r7, #748 ; 0x2ec 807b02e: 461a mov r2, r3 807b030: 21ca movs r1, #202 ; 0xca 807b032: f44f 7082 mov.w r0, #260 ; 0x104 807b036: f7d9 f995 bl 8054364 807b03a: f002 be15 b.w 807dc68 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b03e: 491c ldr r1, [pc, #112] ; (807b0b0 ) 807b040: f04f 30ff mov.w r0, #4294967295 807b044: f7d8 fbce bl 80537e4 if(pardata.IIN != VOLTS) 807b048: 4b1a ldr r3, [pc, #104] ; (807b0b4 ) 807b04a: 799b ldrb r3, [r3, #6] 807b04c: b2db uxtb r3, r3 807b04e: 2b02 cmp r3, #2 807b050: d010 beq.n 807b074 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b052: 4b18 ldr r3, [pc, #96] ; (807b0b4 ) 807b054: 7b1b ldrb r3, [r3, #12] 807b056: b2db uxtb r3, r3 807b058: 4619 mov r1, r3 807b05a: 4a17 ldr r2, [pc, #92] ; (807b0b8 ) 807b05c: 232c movs r3, #44 ; 0x2c 807b05e: fb03 f301 mul.w r3, r3, r1 807b062: 4413 add r3, r2 807b064: 3324 adds r3, #36 ; 0x24 807b066: 681b ldr r3, [r3, #0] 807b068: 461a mov r2, r3 807b06a: 21ca movs r1, #202 ; 0xca 807b06c: 200a movs r0, #10 807b06e: f7d9 f961 bl 8054334 807b072: e00f b.n 807b094 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b074: 4b0f ldr r3, [pc, #60] ; (807b0b4 ) 807b076: 7b1b ldrb r3, [r3, #12] 807b078: b2db uxtb r3, r3 807b07a: 4619 mov r1, r3 807b07c: 4a0f ldr r2, [pc, #60] ; (807b0bc ) 807b07e: 232c movs r3, #44 ; 0x2c 807b080: fb03 f301 mul.w r3, r3, r1 807b084: 4413 add r3, r2 807b086: 3324 adds r3, #36 ; 0x24 807b088: 681b ldr r3, [r3, #0] 807b08a: 461a mov r2, r3 807b08c: 21ca movs r1, #202 ; 0xca 807b08e: 200a movs r0, #10 807b090: f7d9 f950 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b094: 4906 ldr r1, [pc, #24] ; (807b0b0 ) 807b096: 480a ldr r0, [pc, #40] ; (807b0c0 ) 807b098: f7d8 fba4 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807b09c: f507 733b add.w r3, r7, #748 ; 0x2ec 807b0a0: 461a mov r2, r3 807b0a2: 21ca movs r1, #202 ; 0xca 807b0a4: f44f 7082 mov.w r0, #260 ; 0x104 807b0a8: f7d9 f95c bl 8054364 807b0ac: f002 bddc b.w 807dc68 807b0b0: ff0a0f1f .word 0xff0a0f1f 807b0b4: 20023e60 .word 0x20023e60 807b0b8: 200206b4 .word 0x200206b4 807b0bc: 2002070c .word 0x2002070c 807b0c0: ffd8aa57 .word 0xffd8aa57 807b0c4: 20020070 .word 0x20020070 807b0c8: 200205c4 .word 0x200205c4 807b0cc: 20020f84 .word 0x20020f84 807b0d0: 2002165c .word 0x2002165c 807b0d4: 200202bc .word 0x200202bc 807b0d8: 2002024c .word 0x2002024c 807b0dc: ff808080 .word 0xff808080 } } else if(menupos == ValueS) 807b0e0: 4bc9 ldr r3, [pc, #804] ; (807b408 ) 807b0e2: 781b ldrb r3, [r3, #0] 807b0e4: b2db uxtb r3, r3 807b0e6: 2b04 cmp r3, #4 807b0e8: f040 8151 bne.w 807b38e { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b0ec: 49c7 ldr r1, [pc, #796] ; (807b40c ) 807b0ee: f04f 30ff mov.w r0, #4294967295 807b0f2: f7d8 fb77 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807b0f6: 4bc6 ldr r3, [pc, #792] ; (807b410 ) 807b0f8: 7b1b ldrb r3, [r3, #12] 807b0fa: b2db uxtb r3, r3 807b0fc: 461a mov r2, r3 807b0fe: 4bc5 ldr r3, [pc, #788] ; (807b414 ) 807b100: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807b104: 461a mov r2, r3 807b106: 2127 movs r1, #39 ; 0x27 807b108: 200a movs r0, #10 807b10a: f7d9 f913 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b10e: 4bc0 ldr r3, [pc, #768] ; (807b410 ) 807b110: 7b1b ldrb r3, [r3, #12] 807b112: b2db uxtb r3, r3 807b114: 4619 mov r1, r3 807b116: 4ac0 ldr r2, [pc, #768] ; (807b418 ) 807b118: 232c movs r3, #44 ; 0x2c 807b11a: fb03 f301 mul.w r3, r3, r1 807b11e: 4413 add r3, r2 807b120: 330c adds r3, #12 807b122: 681b ldr r3, [r3, #0] 807b124: 461a mov r2, r3 807b126: 216a movs r1, #106 ; 0x6a 807b128: 200a movs r0, #10 807b12a: f7d9 f903 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b12e: 4bb8 ldr r3, [pc, #736] ; (807b410 ) 807b130: 7b1b ldrb r3, [r3, #12] 807b132: b2db uxtb r3, r3 807b134: 4619 mov r1, r3 807b136: 4ab8 ldr r2, [pc, #736] ; (807b418 ) 807b138: 232c movs r3, #44 ; 0x2c 807b13a: fb03 f301 mul.w r3, r3, r1 807b13e: 4413 add r3, r2 807b140: 3310 adds r3, #16 807b142: 681b ldr r3, [r3, #0] 807b144: 461a mov r2, r3 807b146: 217a movs r1, #122 ; 0x7a 807b148: 200a movs r0, #10 807b14a: f7d9 f8f3 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807b14e: 49af ldr r1, [pc, #700] ; (807b40c ) 807b150: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807b154: f7d8 fb46 bl 80537e4 if(focused) 807b158: 4bb0 ldr r3, [pc, #704] ; (807b41c ) 807b15a: 781b ldrb r3, [r3, #0] 807b15c: b2db uxtb r3, r3 807b15e: 2b00 cmp r3, #0 807b160: d019 beq.n 807b196 { if(blk) 807b162: 4baf ldr r3, [pc, #700] ; (807b420 ) 807b164: 681b ldr r3, [r3, #0] 807b166: 2b00 cmp r3, #0 807b168: d02a beq.n 807b1c0 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b16a: 4ba9 ldr r3, [pc, #676] ; (807b410 ) 807b16c: 7b1b ldrb r3, [r3, #12] 807b16e: b2db uxtb r3, r3 807b170: 4619 mov r1, r3 807b172: 4ba7 ldr r3, [pc, #668] ; (807b410 ) 807b174: 791b ldrb r3, [r3, #4] 807b176: b2db uxtb r3, r3 807b178: 4618 mov r0, r3 807b17a: 4aaa ldr r2, [pc, #680] ; (807b424 ) 807b17c: 460b mov r3, r1 807b17e: 009b lsls r3, r3, #2 807b180: 440b add r3, r1 807b182: 4403 add r3, r0 807b184: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b188: 461a mov r2, r3 807b18a: 217a movs r1, #122 ; 0x7a 807b18c: f44f 7082 mov.w r0, #260 ; 0x104 807b190: f7d9 f8e8 bl 8054364 807b194: e014 b.n 807b1c0 } else LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b196: 4b9e ldr r3, [pc, #632] ; (807b410 ) 807b198: 7b1b ldrb r3, [r3, #12] 807b19a: b2db uxtb r3, r3 807b19c: 4619 mov r1, r3 807b19e: 4b9c ldr r3, [pc, #624] ; (807b410 ) 807b1a0: 791b ldrb r3, [r3, #4] 807b1a2: b2db uxtb r3, r3 807b1a4: 4618 mov r0, r3 807b1a6: 4a9f ldr r2, [pc, #636] ; (807b424 ) 807b1a8: 460b mov r3, r1 807b1aa: 009b lsls r3, r3, #2 807b1ac: 440b add r3, r1 807b1ae: 4403 add r3, r0 807b1b0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b1b4: 461a mov r2, r3 807b1b6: 217a movs r1, #122 ; 0x7a 807b1b8: f44f 7082 mov.w r0, #260 ; 0x104 807b1bc: f7d9 f8d2 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b1c0: 4992 ldr r1, [pc, #584] ; (807b40c ) 807b1c2: 4899 ldr r0, [pc, #612] ; (807b428 ) 807b1c4: f7d8 fb0e bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807b1c8: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807b1cc: 461a mov r2, r3 807b1ce: 213a movs r1, #58 ; 0x3a 807b1d0: f44f 7082 mov.w r0, #260 ; 0x104 807b1d4: f7d9 f8c6 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807b1d8: f507 73cc add.w r3, r7, #408 ; 0x198 807b1dc: 461a mov r2, r3 807b1de: 214a movs r1, #74 ; 0x4a 807b1e0: f44f 7082 mov.w r0, #260 ; 0x104 807b1e4: f7d9 f8be bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807b1e8: 4b89 ldr r3, [pc, #548] ; (807b410 ) 807b1ea: 7b1b ldrb r3, [r3, #12] 807b1ec: b2db uxtb r3, r3 807b1ee: 4619 mov r1, r3 807b1f0: 4b87 ldr r3, [pc, #540] ; (807b410 ) 807b1f2: 789b ldrb r3, [r3, #2] 807b1f4: b2db uxtb r3, r3 807b1f6: 4618 mov r0, r3 807b1f8: 4a8a ldr r2, [pc, #552] ; (807b424 ) 807b1fa: 460b mov r3, r1 807b1fc: 009b lsls r3, r3, #2 807b1fe: 440b add r3, r1 807b200: 4403 add r3, r0 807b202: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b206: 461a mov r2, r3 807b208: 215a movs r1, #90 ; 0x5a 807b20a: f44f 7082 mov.w r0, #260 ; 0x104 807b20e: f7d9 f8a9 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b212: 4b7f ldr r3, [pc, #508] ; (807b410 ) 807b214: 7b1b ldrb r3, [r3, #12] 807b216: b2db uxtb r3, r3 807b218: 4619 mov r1, r3 807b21a: 4b7d ldr r3, [pc, #500] ; (807b410 ) 807b21c: 78db ldrb r3, [r3, #3] 807b21e: b2db uxtb r3, r3 807b220: 4618 mov r0, r3 807b222: 4a80 ldr r2, [pc, #512] ; (807b424 ) 807b224: 460b mov r3, r1 807b226: 009b lsls r3, r3, #2 807b228: 440b add r3, r1 807b22a: 4403 add r3, r0 807b22c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b230: 461a mov r2, r3 807b232: 216a movs r1, #106 ; 0x6a 807b234: f44f 7082 mov.w r0, #260 ; 0x104 807b238: f7d9 f894 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807b23c: 4b74 ldr r3, [pc, #464] ; (807b410 ) 807b23e: 7b1b ldrb r3, [r3, #12] 807b240: b2db uxtb r3, r3 807b242: 4619 mov r1, r3 807b244: 4b72 ldr r3, [pc, #456] ; (807b410 ) 807b246: 7b5b ldrb r3, [r3, #13] 807b248: b2db uxtb r3, r3 807b24a: 4618 mov r0, r3 807b24c: 4a77 ldr r2, [pc, #476] ; (807b42c ) 807b24e: 460b mov r3, r1 807b250: 009b lsls r3, r3, #2 807b252: 440b add r3, r1 807b254: 005b lsls r3, r3, #1 807b256: 4403 add r3, r0 807b258: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b25c: 461a mov r2, r3 807b25e: 218a movs r1, #138 ; 0x8a 807b260: f44f 7082 mov.w r0, #260 ; 0x104 807b264: f7d9 f87e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807b268: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807b26c: 461a mov r2, r3 807b26e: 21da movs r1, #218 ; 0xda 807b270: f44f 7082 mov.w r0, #260 ; 0x104 807b274: f7d9 f876 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b278: 4964 ldr r1, [pc, #400] ; (807b40c ) 807b27a: f04f 30ff mov.w r0, #4294967295 807b27e: f7d8 fab1 bl 80537e4 BSP_LCD_FillRect(255, 157, 10, 10); 807b282: 230a movs r3, #10 807b284: 220a movs r2, #10 807b286: 219d movs r1, #157 ; 0x9d 807b288: 20ff movs r0, #255 ; 0xff 807b28a: f7d8 ff39 bl 8054100 BSP_LCD_FillRect(255, 173, 10, 10); 807b28e: 230a movs r3, #10 807b290: 220a movs r2, #10 807b292: 21ad movs r1, #173 ; 0xad 807b294: 20ff movs r0, #255 ; 0xff 807b296: f7d8 ff33 bl 8054100 BSP_LCD_FillRect(255, 189, 10, 10); 807b29a: 230a movs r3, #10 807b29c: 220a movs r2, #10 807b29e: 21bd movs r1, #189 ; 0xbd 807b2a0: 20ff movs r0, #255 ; 0xff 807b2a2: f7d8 ff2d bl 8054100 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807b2a6: 4b5a ldr r3, [pc, #360] ; (807b410 ) 807b2a8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807b2ac: f003 0304 and.w r3, r3, #4 807b2b0: 2b00 cmp r3, #0 807b2b2: d033 beq.n 807b31c { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b2b4: 4955 ldr r1, [pc, #340] ; (807b40c ) 807b2b6: 485e ldr r0, [pc, #376] ; (807b430 ) 807b2b8: f7d8 fa94 bl 80537e4 if(pardata.IIN != VOLTS) 807b2bc: 4b54 ldr r3, [pc, #336] ; (807b410 ) 807b2be: 799b ldrb r3, [r3, #6] 807b2c0: b2db uxtb r3, r3 807b2c2: 2b02 cmp r3, #2 807b2c4: d010 beq.n 807b2e8 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b2c6: 4b52 ldr r3, [pc, #328] ; (807b410 ) 807b2c8: 7b1b ldrb r3, [r3, #12] 807b2ca: b2db uxtb r3, r3 807b2cc: 4619 mov r1, r3 807b2ce: 4a52 ldr r2, [pc, #328] ; (807b418 ) 807b2d0: 232c movs r3, #44 ; 0x2c 807b2d2: fb03 f301 mul.w r3, r3, r1 807b2d6: 4413 add r3, r2 807b2d8: 3324 adds r3, #36 ; 0x24 807b2da: 681b ldr r3, [r3, #0] 807b2dc: 461a mov r2, r3 807b2de: 21ca movs r1, #202 ; 0xca 807b2e0: 200a movs r0, #10 807b2e2: f7d9 f827 bl 8054334 807b2e6: e00f b.n 807b308 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b2e8: 4b49 ldr r3, [pc, #292] ; (807b410 ) 807b2ea: 7b1b ldrb r3, [r3, #12] 807b2ec: b2db uxtb r3, r3 807b2ee: 4619 mov r1, r3 807b2f0: 4a50 ldr r2, [pc, #320] ; (807b434 ) 807b2f2: 232c movs r3, #44 ; 0x2c 807b2f4: fb03 f301 mul.w r3, r3, r1 807b2f8: 4413 add r3, r2 807b2fa: 3324 adds r3, #36 ; 0x24 807b2fc: 681b ldr r3, [r3, #0] 807b2fe: 461a mov r2, r3 807b300: 21ca movs r1, #202 ; 0xca 807b302: 200a movs r0, #10 807b304: f7d9 f816 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807b308: f507 733b add.w r3, r7, #748 ; 0x2ec 807b30c: 461a mov r2, r3 807b30e: 21ca movs r1, #202 ; 0xca 807b310: f44f 7082 mov.w r0, #260 ; 0x104 807b314: f7d9 f826 bl 8054364 807b318: f002 bca6 b.w 807dc68 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b31c: 493b ldr r1, [pc, #236] ; (807b40c ) 807b31e: f04f 30ff mov.w r0, #4294967295 807b322: f7d8 fa5f bl 80537e4 if(pardata.IIN != VOLTS) 807b326: 4b3a ldr r3, [pc, #232] ; (807b410 ) 807b328: 799b ldrb r3, [r3, #6] 807b32a: b2db uxtb r3, r3 807b32c: 2b02 cmp r3, #2 807b32e: d010 beq.n 807b352 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b330: 4b37 ldr r3, [pc, #220] ; (807b410 ) 807b332: 7b1b ldrb r3, [r3, #12] 807b334: b2db uxtb r3, r3 807b336: 4619 mov r1, r3 807b338: 4a37 ldr r2, [pc, #220] ; (807b418 ) 807b33a: 232c movs r3, #44 ; 0x2c 807b33c: fb03 f301 mul.w r3, r3, r1 807b340: 4413 add r3, r2 807b342: 3324 adds r3, #36 ; 0x24 807b344: 681b ldr r3, [r3, #0] 807b346: 461a mov r2, r3 807b348: 21ca movs r1, #202 ; 0xca 807b34a: 200a movs r0, #10 807b34c: f7d8 fff2 bl 8054334 807b350: e00f b.n 807b372 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b352: 4b2f ldr r3, [pc, #188] ; (807b410 ) 807b354: 7b1b ldrb r3, [r3, #12] 807b356: b2db uxtb r3, r3 807b358: 4619 mov r1, r3 807b35a: 4a36 ldr r2, [pc, #216] ; (807b434 ) 807b35c: 232c movs r3, #44 ; 0x2c 807b35e: fb03 f301 mul.w r3, r3, r1 807b362: 4413 add r3, r2 807b364: 3324 adds r3, #36 ; 0x24 807b366: 681b ldr r3, [r3, #0] 807b368: 461a mov r2, r3 807b36a: 21ca movs r1, #202 ; 0xca 807b36c: 200a movs r0, #10 807b36e: f7d8 ffe1 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b372: 4926 ldr r1, [pc, #152] ; (807b40c ) 807b374: 482c ldr r0, [pc, #176] ; (807b428 ) 807b376: f7d8 fa35 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807b37a: f507 733b add.w r3, r7, #748 ; 0x2ec 807b37e: 461a mov r2, r3 807b380: 21ca movs r1, #202 ; 0xca 807b382: f44f 7082 mov.w r0, #260 ; 0x104 807b386: f7d8 ffed bl 8054364 807b38a: f002 bc6d b.w 807dc68 } } else if(menupos == Average) 807b38e: 4b1e ldr r3, [pc, #120] ; (807b408 ) 807b390: 781b ldrb r3, [r3, #0] 807b392: b2db uxtb r3, r3 807b394: 2b05 cmp r3, #5 807b396: f040 81dd bne.w 807b754 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b39a: 491c ldr r1, [pc, #112] ; (807b40c ) 807b39c: f04f 30ff mov.w r0, #4294967295 807b3a0: f7d8 fa20 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807b3a4: 4b1a ldr r3, [pc, #104] ; (807b410 ) 807b3a6: 7b1b ldrb r3, [r3, #12] 807b3a8: b2db uxtb r3, r3 807b3aa: 461a mov r2, r3 807b3ac: 4b19 ldr r3, [pc, #100] ; (807b414 ) 807b3ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807b3b2: 461a mov r2, r3 807b3b4: 2127 movs r1, #39 ; 0x27 807b3b6: 200a movs r0, #10 807b3b8: f7d8 ffbc bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807b3bc: 4913 ldr r1, [pc, #76] ; (807b40c ) 807b3be: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807b3c2: f7d8 fa0f bl 80537e4 if(focused) 807b3c6: 4b15 ldr r3, [pc, #84] ; (807b41c ) 807b3c8: 781b ldrb r3, [r3, #0] 807b3ca: b2db uxtb r3, r3 807b3cc: 2b00 cmp r3, #0 807b3ce: d033 beq.n 807b438 { if(blk) 807b3d0: 4b13 ldr r3, [pc, #76] ; (807b420 ) 807b3d2: 681b ldr r3, [r3, #0] 807b3d4: 2b00 cmp r3, #0 807b3d6: d045 beq.n 807b464 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807b3d8: 4b0d ldr r3, [pc, #52] ; (807b410 ) 807b3da: 7b1b ldrb r3, [r3, #12] 807b3dc: b2db uxtb r3, r3 807b3de: 4619 mov r1, r3 807b3e0: 4b0b ldr r3, [pc, #44] ; (807b410 ) 807b3e2: 7b5b ldrb r3, [r3, #13] 807b3e4: b2db uxtb r3, r3 807b3e6: 4618 mov r0, r3 807b3e8: 4a10 ldr r2, [pc, #64] ; (807b42c ) 807b3ea: 460b mov r3, r1 807b3ec: 009b lsls r3, r3, #2 807b3ee: 440b add r3, r1 807b3f0: 005b lsls r3, r3, #1 807b3f2: 4403 add r3, r0 807b3f4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b3f8: 461a mov r2, r3 807b3fa: 218a movs r1, #138 ; 0x8a 807b3fc: f44f 7082 mov.w r0, #260 ; 0x104 807b400: f7d8 ffb0 bl 8054364 807b404: e02e b.n 807b464 807b406: bf00 nop 807b408: 20020070 .word 0x20020070 807b40c: ff0a0f1f .word 0xff0a0f1f 807b410: 20023e60 .word 0x20023e60 807b414: 200205c4 .word 0x200205c4 807b418: 200206b4 .word 0x200206b4 807b41c: 20020f84 .word 0x20020f84 807b420: 2002165c .word 0x2002165c 807b424: 200202bc .word 0x200202bc 807b428: ffd8aa57 .word 0xffd8aa57 807b42c: 2002024c .word 0x2002024c 807b430: ff808080 .word 0xff808080 807b434: 2002070c .word 0x2002070c } else LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807b438: 4bbe ldr r3, [pc, #760] ; (807b734 ) 807b43a: 7b1b ldrb r3, [r3, #12] 807b43c: b2db uxtb r3, r3 807b43e: 4619 mov r1, r3 807b440: 4bbc ldr r3, [pc, #752] ; (807b734 ) 807b442: 7b5b ldrb r3, [r3, #13] 807b444: b2db uxtb r3, r3 807b446: 4618 mov r0, r3 807b448: 4abb ldr r2, [pc, #748] ; (807b738 ) 807b44a: 460b mov r3, r1 807b44c: 009b lsls r3, r3, #2 807b44e: 440b add r3, r1 807b450: 005b lsls r3, r3, #1 807b452: 4403 add r3, r0 807b454: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b458: 461a mov r2, r3 807b45a: 218a movs r1, #138 ; 0x8a 807b45c: f44f 7082 mov.w r0, #260 ; 0x104 807b460: f7d8 ff80 bl 8054364 if(pardata.HP >= 2.0f) 807b464: 4bb3 ldr r3, [pc, #716] ; (807b734 ) 807b466: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807b46a: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807b46e: eef4 7ac7 vcmpe.f32 s15, s14 807b472: eef1 fa10 vmrs APSR_nzcv, fpscr 807b476: db53 blt.n 807b520 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b478: 49b0 ldr r1, [pc, #704] ; (807b73c ) 807b47a: f04f 30ff mov.w r0, #4294967295 807b47e: f7d8 f9b1 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b482: 4bac ldr r3, [pc, #688] ; (807b734 ) 807b484: 7b1b ldrb r3, [r3, #12] 807b486: b2db uxtb r3, r3 807b488: 4619 mov r1, r3 807b48a: 4aad ldr r2, [pc, #692] ; (807b740 ) 807b48c: 232c movs r3, #44 ; 0x2c 807b48e: fb03 f301 mul.w r3, r3, r1 807b492: 4413 add r3, r2 807b494: 330c adds r3, #12 807b496: 681b ldr r3, [r3, #0] 807b498: 461a mov r2, r3 807b49a: 216a movs r1, #106 ; 0x6a 807b49c: 200a movs r0, #10 807b49e: f7d8 ff49 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b4a2: 4ba4 ldr r3, [pc, #656] ; (807b734 ) 807b4a4: 7b1b ldrb r3, [r3, #12] 807b4a6: b2db uxtb r3, r3 807b4a8: 4619 mov r1, r3 807b4aa: 4aa5 ldr r2, [pc, #660] ; (807b740 ) 807b4ac: 232c movs r3, #44 ; 0x2c 807b4ae: fb03 f301 mul.w r3, r3, r1 807b4b2: 4413 add r3, r2 807b4b4: 3310 adds r3, #16 807b4b6: 681b ldr r3, [r3, #0] 807b4b8: 461a mov r2, r3 807b4ba: 217a movs r1, #122 ; 0x7a 807b4bc: 200a movs r0, #10 807b4be: f7d8 ff39 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b4c2: 499e ldr r1, [pc, #632] ; (807b73c ) 807b4c4: 489f ldr r0, [pc, #636] ; (807b744 ) 807b4c6: f7d8 f98d bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b4ca: 4b9a ldr r3, [pc, #616] ; (807b734 ) 807b4cc: 7b1b ldrb r3, [r3, #12] 807b4ce: b2db uxtb r3, r3 807b4d0: 4619 mov r1, r3 807b4d2: 4b98 ldr r3, [pc, #608] ; (807b734 ) 807b4d4: 78db ldrb r3, [r3, #3] 807b4d6: b2db uxtb r3, r3 807b4d8: 4618 mov r0, r3 807b4da: 4a9b ldr r2, [pc, #620] ; (807b748 ) 807b4dc: 460b mov r3, r1 807b4de: 009b lsls r3, r3, #2 807b4e0: 440b add r3, r1 807b4e2: 4403 add r3, r0 807b4e4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b4e8: 461a mov r2, r3 807b4ea: 216a movs r1, #106 ; 0x6a 807b4ec: f44f 7082 mov.w r0, #260 ; 0x104 807b4f0: f7d8 ff38 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b4f4: 4b8f ldr r3, [pc, #572] ; (807b734 ) 807b4f6: 7b1b ldrb r3, [r3, #12] 807b4f8: b2db uxtb r3, r3 807b4fa: 4619 mov r1, r3 807b4fc: 4b8d ldr r3, [pc, #564] ; (807b734 ) 807b4fe: 791b ldrb r3, [r3, #4] 807b500: b2db uxtb r3, r3 807b502: 4618 mov r0, r3 807b504: 4a90 ldr r2, [pc, #576] ; (807b748 ) 807b506: 460b mov r3, r1 807b508: 009b lsls r3, r3, #2 807b50a: 440b add r3, r1 807b50c: 4403 add r3, r0 807b50e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b512: 461a mov r2, r3 807b514: 217a movs r1, #122 ; 0x7a 807b516: f44f 7082 mov.w r0, #260 ; 0x104 807b51a: f7d8 ff23 bl 8054364 807b51e: e04d b.n 807b5bc } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b520: 4986 ldr r1, [pc, #536] ; (807b73c ) 807b522: 488a ldr r0, [pc, #552] ; (807b74c ) 807b524: f7d8 f95e bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b528: 4b82 ldr r3, [pc, #520] ; (807b734 ) 807b52a: 7b1b ldrb r3, [r3, #12] 807b52c: b2db uxtb r3, r3 807b52e: 4619 mov r1, r3 807b530: 4a83 ldr r2, [pc, #524] ; (807b740 ) 807b532: 232c movs r3, #44 ; 0x2c 807b534: fb03 f301 mul.w r3, r3, r1 807b538: 4413 add r3, r2 807b53a: 330c adds r3, #12 807b53c: 681b ldr r3, [r3, #0] 807b53e: 461a mov r2, r3 807b540: 216a movs r1, #106 ; 0x6a 807b542: 200a movs r0, #10 807b544: f7d8 fef6 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b548: 4b7a ldr r3, [pc, #488] ; (807b734 ) 807b54a: 7b1b ldrb r3, [r3, #12] 807b54c: b2db uxtb r3, r3 807b54e: 4619 mov r1, r3 807b550: 4a7b ldr r2, [pc, #492] ; (807b740 ) 807b552: 232c movs r3, #44 ; 0x2c 807b554: fb03 f301 mul.w r3, r3, r1 807b558: 4413 add r3, r2 807b55a: 3310 adds r3, #16 807b55c: 681b ldr r3, [r3, #0] 807b55e: 461a mov r2, r3 807b560: 217a movs r1, #122 ; 0x7a 807b562: 200a movs r0, #10 807b564: f7d8 fee6 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b568: 4b72 ldr r3, [pc, #456] ; (807b734 ) 807b56a: 7b1b ldrb r3, [r3, #12] 807b56c: b2db uxtb r3, r3 807b56e: 4619 mov r1, r3 807b570: 4b70 ldr r3, [pc, #448] ; (807b734 ) 807b572: 78db ldrb r3, [r3, #3] 807b574: b2db uxtb r3, r3 807b576: 4618 mov r0, r3 807b578: 4a73 ldr r2, [pc, #460] ; (807b748 ) 807b57a: 460b mov r3, r1 807b57c: 009b lsls r3, r3, #2 807b57e: 440b add r3, r1 807b580: 4403 add r3, r0 807b582: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b586: 461a mov r2, r3 807b588: 216a movs r1, #106 ; 0x6a 807b58a: f44f 7082 mov.w r0, #260 ; 0x104 807b58e: f7d8 fee9 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b592: 4b68 ldr r3, [pc, #416] ; (807b734 ) 807b594: 7b1b ldrb r3, [r3, #12] 807b596: b2db uxtb r3, r3 807b598: 4619 mov r1, r3 807b59a: 4b66 ldr r3, [pc, #408] ; (807b734 ) 807b59c: 791b ldrb r3, [r3, #4] 807b59e: b2db uxtb r3, r3 807b5a0: 4618 mov r0, r3 807b5a2: 4a69 ldr r2, [pc, #420] ; (807b748 ) 807b5a4: 460b mov r3, r1 807b5a6: 009b lsls r3, r3, #2 807b5a8: 440b add r3, r1 807b5aa: 4403 add r3, r0 807b5ac: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b5b0: 461a mov r2, r3 807b5b2: 217a movs r1, #122 ; 0x7a 807b5b4: f44f 7082 mov.w r0, #260 ; 0x104 807b5b8: f7d8 fed4 bl 8054364 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b5bc: 495f ldr r1, [pc, #380] ; (807b73c ) 807b5be: 4861 ldr r0, [pc, #388] ; (807b744 ) 807b5c0: f7d8 f910 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807b5c4: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807b5c8: 461a mov r2, r3 807b5ca: 213a movs r1, #58 ; 0x3a 807b5cc: f44f 7082 mov.w r0, #260 ; 0x104 807b5d0: f7d8 fec8 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807b5d4: f507 73cc add.w r3, r7, #408 ; 0x198 807b5d8: 461a mov r2, r3 807b5da: 214a movs r1, #74 ; 0x4a 807b5dc: f44f 7082 mov.w r0, #260 ; 0x104 807b5e0: f7d8 fec0 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807b5e4: 4b53 ldr r3, [pc, #332] ; (807b734 ) 807b5e6: 7b1b ldrb r3, [r3, #12] 807b5e8: b2db uxtb r3, r3 807b5ea: 4619 mov r1, r3 807b5ec: 4b51 ldr r3, [pc, #324] ; (807b734 ) 807b5ee: 789b ldrb r3, [r3, #2] 807b5f0: b2db uxtb r3, r3 807b5f2: 4618 mov r0, r3 807b5f4: 4a54 ldr r2, [pc, #336] ; (807b748 ) 807b5f6: 460b mov r3, r1 807b5f8: 009b lsls r3, r3, #2 807b5fa: 440b add r3, r1 807b5fc: 4403 add r3, r0 807b5fe: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b602: 461a mov r2, r3 807b604: 215a movs r1, #90 ; 0x5a 807b606: f44f 7082 mov.w r0, #260 ; 0x104 807b60a: f7d8 feab bl 8054364 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807b60e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807b612: 461a mov r2, r3 807b614: 21da movs r1, #218 ; 0xda 807b616: f44f 7082 mov.w r0, #260 ; 0x104 807b61a: f7d8 fea3 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b61e: 4947 ldr r1, [pc, #284] ; (807b73c ) 807b620: f04f 30ff mov.w r0, #4294967295 807b624: f7d8 f8de bl 80537e4 BSP_LCD_FillRect(255, 157, 10, 10); 807b628: 230a movs r3, #10 807b62a: 220a movs r2, #10 807b62c: 219d movs r1, #157 ; 0x9d 807b62e: 20ff movs r0, #255 ; 0xff 807b630: f7d8 fd66 bl 8054100 BSP_LCD_FillRect(255, 173, 10, 10); 807b634: 230a movs r3, #10 807b636: 220a movs r2, #10 807b638: 21ad movs r1, #173 ; 0xad 807b63a: 20ff movs r0, #255 ; 0xff 807b63c: f7d8 fd60 bl 8054100 BSP_LCD_FillRect(255, 189, 10, 10); 807b640: 230a movs r3, #10 807b642: 220a movs r2, #10 807b644: 21bd movs r1, #189 ; 0xbd 807b646: 20ff movs r0, #255 ; 0xff 807b648: f7d8 fd5a bl 8054100 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807b64c: 4b39 ldr r3, [pc, #228] ; (807b734 ) 807b64e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807b652: f003 0304 and.w r3, r3, #4 807b656: 2b00 cmp r3, #0 807b658: d033 beq.n 807b6c2 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b65a: 4938 ldr r1, [pc, #224] ; (807b73c ) 807b65c: 483b ldr r0, [pc, #236] ; (807b74c ) 807b65e: f7d8 f8c1 bl 80537e4 if(pardata.IIN != VOLTS) 807b662: 4b34 ldr r3, [pc, #208] ; (807b734 ) 807b664: 799b ldrb r3, [r3, #6] 807b666: b2db uxtb r3, r3 807b668: 2b02 cmp r3, #2 807b66a: d010 beq.n 807b68e LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b66c: 4b31 ldr r3, [pc, #196] ; (807b734 ) 807b66e: 7b1b ldrb r3, [r3, #12] 807b670: b2db uxtb r3, r3 807b672: 4619 mov r1, r3 807b674: 4a32 ldr r2, [pc, #200] ; (807b740 ) 807b676: 232c movs r3, #44 ; 0x2c 807b678: fb03 f301 mul.w r3, r3, r1 807b67c: 4413 add r3, r2 807b67e: 3324 adds r3, #36 ; 0x24 807b680: 681b ldr r3, [r3, #0] 807b682: 461a mov r2, r3 807b684: 21ca movs r1, #202 ; 0xca 807b686: 200a movs r0, #10 807b688: f7d8 fe54 bl 8054334 807b68c: e00f b.n 807b6ae else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b68e: 4b29 ldr r3, [pc, #164] ; (807b734 ) 807b690: 7b1b ldrb r3, [r3, #12] 807b692: b2db uxtb r3, r3 807b694: 4619 mov r1, r3 807b696: 4a2e ldr r2, [pc, #184] ; (807b750 ) 807b698: 232c movs r3, #44 ; 0x2c 807b69a: fb03 f301 mul.w r3, r3, r1 807b69e: 4413 add r3, r2 807b6a0: 3324 adds r3, #36 ; 0x24 807b6a2: 681b ldr r3, [r3, #0] 807b6a4: 461a mov r2, r3 807b6a6: 21ca movs r1, #202 ; 0xca 807b6a8: 200a movs r0, #10 807b6aa: f7d8 fe43 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807b6ae: f507 733b add.w r3, r7, #748 ; 0x2ec 807b6b2: 461a mov r2, r3 807b6b4: 21ca movs r1, #202 ; 0xca 807b6b6: f44f 7082 mov.w r0, #260 ; 0x104 807b6ba: f7d8 fe53 bl 8054364 807b6be: f002 bad3 b.w 807dc68 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b6c2: 491e ldr r1, [pc, #120] ; (807b73c ) 807b6c4: f04f 30ff mov.w r0, #4294967295 807b6c8: f7d8 f88c bl 80537e4 if(pardata.IIN != VOLTS) 807b6cc: 4b19 ldr r3, [pc, #100] ; (807b734 ) 807b6ce: 799b ldrb r3, [r3, #6] 807b6d0: b2db uxtb r3, r3 807b6d2: 2b02 cmp r3, #2 807b6d4: d010 beq.n 807b6f8 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b6d6: 4b17 ldr r3, [pc, #92] ; (807b734 ) 807b6d8: 7b1b ldrb r3, [r3, #12] 807b6da: b2db uxtb r3, r3 807b6dc: 4619 mov r1, r3 807b6de: 4a18 ldr r2, [pc, #96] ; (807b740 ) 807b6e0: 232c movs r3, #44 ; 0x2c 807b6e2: fb03 f301 mul.w r3, r3, r1 807b6e6: 4413 add r3, r2 807b6e8: 3324 adds r3, #36 ; 0x24 807b6ea: 681b ldr r3, [r3, #0] 807b6ec: 461a mov r2, r3 807b6ee: 21ca movs r1, #202 ; 0xca 807b6f0: 200a movs r0, #10 807b6f2: f7d8 fe1f bl 8054334 807b6f6: e00f b.n 807b718 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b6f8: 4b0e ldr r3, [pc, #56] ; (807b734 ) 807b6fa: 7b1b ldrb r3, [r3, #12] 807b6fc: b2db uxtb r3, r3 807b6fe: 4619 mov r1, r3 807b700: 4a13 ldr r2, [pc, #76] ; (807b750 ) 807b702: 232c movs r3, #44 ; 0x2c 807b704: fb03 f301 mul.w r3, r3, r1 807b708: 4413 add r3, r2 807b70a: 3324 adds r3, #36 ; 0x24 807b70c: 681b ldr r3, [r3, #0] 807b70e: 461a mov r2, r3 807b710: 21ca movs r1, #202 ; 0xca 807b712: 200a movs r0, #10 807b714: f7d8 fe0e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b718: 4908 ldr r1, [pc, #32] ; (807b73c ) 807b71a: 480a ldr r0, [pc, #40] ; (807b744 ) 807b71c: f7d8 f862 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807b720: f507 733b add.w r3, r7, #748 ; 0x2ec 807b724: 461a mov r2, r3 807b726: 21ca movs r1, #202 ; 0xca 807b728: f44f 7082 mov.w r0, #260 ; 0x104 807b72c: f7d8 fe1a bl 8054364 807b730: f002 ba9a b.w 807dc68 807b734: 20023e60 .word 0x20023e60 807b738: 2002024c .word 0x2002024c 807b73c: ff0a0f1f .word 0xff0a0f1f 807b740: 200206b4 .word 0x200206b4 807b744: ffd8aa57 .word 0xffd8aa57 807b748: 200202bc .word 0x200202bc 807b74c: ff808080 .word 0xff808080 807b750: 2002070c .word 0x2002070c } } else if(menupos == Mediana) 807b754: 4bc0 ldr r3, [pc, #768] ; (807ba58 ) 807b756: 781b ldrb r3, [r3, #0] 807b758: b2db uxtb r3, r3 807b75a: 2b06 cmp r3, #6 807b75c: f040 81ae bne.w 807babc { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b760: 49be ldr r1, [pc, #760] ; (807ba5c ) 807b762: f04f 30ff mov.w r0, #4294967295 807b766: f7d8 f83d bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807b76a: 4bbd ldr r3, [pc, #756] ; (807ba60 ) 807b76c: 7b1b ldrb r3, [r3, #12] 807b76e: b2db uxtb r3, r3 807b770: 461a mov r2, r3 807b772: 4bbc ldr r3, [pc, #752] ; (807ba64 ) 807b774: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807b778: 461a mov r2, r3 807b77a: 2127 movs r1, #39 ; 0x27 807b77c: 200a movs r0, #10 807b77e: f7d8 fdd9 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807b782: 49b6 ldr r1, [pc, #728] ; (807ba5c ) 807b784: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807b788: f7d8 f82c bl 80537e4 BSP_LCD_FillRect(253, 155, 14, 14); 807b78c: 230e movs r3, #14 807b78e: 220e movs r2, #14 807b790: 219b movs r1, #155 ; 0x9b 807b792: 20fd movs r0, #253 ; 0xfd 807b794: f7d8 fcb4 bl 8054100 if(pardata.HP >= 2.0f) 807b798: 4bb1 ldr r3, [pc, #708] ; (807ba60 ) 807b79a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807b79e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807b7a2: eef4 7ac7 vcmpe.f32 s15, s14 807b7a6: eef1 fa10 vmrs APSR_nzcv, fpscr 807b7aa: db53 blt.n 807b854 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b7ac: 49ab ldr r1, [pc, #684] ; (807ba5c ) 807b7ae: f04f 30ff mov.w r0, #4294967295 807b7b2: f7d8 f817 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b7b6: 4baa ldr r3, [pc, #680] ; (807ba60 ) 807b7b8: 7b1b ldrb r3, [r3, #12] 807b7ba: b2db uxtb r3, r3 807b7bc: 4619 mov r1, r3 807b7be: 4aaa ldr r2, [pc, #680] ; (807ba68 ) 807b7c0: 232c movs r3, #44 ; 0x2c 807b7c2: fb03 f301 mul.w r3, r3, r1 807b7c6: 4413 add r3, r2 807b7c8: 330c adds r3, #12 807b7ca: 681b ldr r3, [r3, #0] 807b7cc: 461a mov r2, r3 807b7ce: 216a movs r1, #106 ; 0x6a 807b7d0: 200a movs r0, #10 807b7d2: f7d8 fdaf bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b7d6: 4ba2 ldr r3, [pc, #648] ; (807ba60 ) 807b7d8: 7b1b ldrb r3, [r3, #12] 807b7da: b2db uxtb r3, r3 807b7dc: 4619 mov r1, r3 807b7de: 4aa2 ldr r2, [pc, #648] ; (807ba68 ) 807b7e0: 232c movs r3, #44 ; 0x2c 807b7e2: fb03 f301 mul.w r3, r3, r1 807b7e6: 4413 add r3, r2 807b7e8: 3310 adds r3, #16 807b7ea: 681b ldr r3, [r3, #0] 807b7ec: 461a mov r2, r3 807b7ee: 217a movs r1, #122 ; 0x7a 807b7f0: 200a movs r0, #10 807b7f2: f7d8 fd9f bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b7f6: 4999 ldr r1, [pc, #612] ; (807ba5c ) 807b7f8: 489c ldr r0, [pc, #624] ; (807ba6c ) 807b7fa: f7d7 fff3 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b7fe: 4b98 ldr r3, [pc, #608] ; (807ba60 ) 807b800: 7b1b ldrb r3, [r3, #12] 807b802: b2db uxtb r3, r3 807b804: 4619 mov r1, r3 807b806: 4b96 ldr r3, [pc, #600] ; (807ba60 ) 807b808: 78db ldrb r3, [r3, #3] 807b80a: b2db uxtb r3, r3 807b80c: 4618 mov r0, r3 807b80e: 4a98 ldr r2, [pc, #608] ; (807ba70 ) 807b810: 460b mov r3, r1 807b812: 009b lsls r3, r3, #2 807b814: 440b add r3, r1 807b816: 4403 add r3, r0 807b818: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b81c: 461a mov r2, r3 807b81e: 216a movs r1, #106 ; 0x6a 807b820: f44f 7082 mov.w r0, #260 ; 0x104 807b824: f7d8 fd9e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b828: 4b8d ldr r3, [pc, #564] ; (807ba60 ) 807b82a: 7b1b ldrb r3, [r3, #12] 807b82c: b2db uxtb r3, r3 807b82e: 4619 mov r1, r3 807b830: 4b8b ldr r3, [pc, #556] ; (807ba60 ) 807b832: 791b ldrb r3, [r3, #4] 807b834: b2db uxtb r3, r3 807b836: 4618 mov r0, r3 807b838: 4a8d ldr r2, [pc, #564] ; (807ba70 ) 807b83a: 460b mov r3, r1 807b83c: 009b lsls r3, r3, #2 807b83e: 440b add r3, r1 807b840: 4403 add r3, r0 807b842: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b846: 461a mov r2, r3 807b848: 217a movs r1, #122 ; 0x7a 807b84a: f44f 7082 mov.w r0, #260 ; 0x104 807b84e: f7d8 fd89 bl 8054364 807b852: e04d b.n 807b8f0 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b854: 4981 ldr r1, [pc, #516] ; (807ba5c ) 807b856: 4887 ldr r0, [pc, #540] ; (807ba74 ) 807b858: f7d7 ffc4 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807b85c: 4b80 ldr r3, [pc, #512] ; (807ba60 ) 807b85e: 7b1b ldrb r3, [r3, #12] 807b860: b2db uxtb r3, r3 807b862: 4619 mov r1, r3 807b864: 4a80 ldr r2, [pc, #512] ; (807ba68 ) 807b866: 232c movs r3, #44 ; 0x2c 807b868: fb03 f301 mul.w r3, r3, r1 807b86c: 4413 add r3, r2 807b86e: 330c adds r3, #12 807b870: 681b ldr r3, [r3, #0] 807b872: 461a mov r2, r3 807b874: 216a movs r1, #106 ; 0x6a 807b876: 200a movs r0, #10 807b878: f7d8 fd5c bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807b87c: 4b78 ldr r3, [pc, #480] ; (807ba60 ) 807b87e: 7b1b ldrb r3, [r3, #12] 807b880: b2db uxtb r3, r3 807b882: 4619 mov r1, r3 807b884: 4a78 ldr r2, [pc, #480] ; (807ba68 ) 807b886: 232c movs r3, #44 ; 0x2c 807b888: fb03 f301 mul.w r3, r3, r1 807b88c: 4413 add r3, r2 807b88e: 3310 adds r3, #16 807b890: 681b ldr r3, [r3, #0] 807b892: 461a mov r2, r3 807b894: 217a movs r1, #122 ; 0x7a 807b896: 200a movs r0, #10 807b898: f7d8 fd4c bl 8054334 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807b89c: 4b70 ldr r3, [pc, #448] ; (807ba60 ) 807b89e: 7b1b ldrb r3, [r3, #12] 807b8a0: b2db uxtb r3, r3 807b8a2: 4619 mov r1, r3 807b8a4: 4b6e ldr r3, [pc, #440] ; (807ba60 ) 807b8a6: 78db ldrb r3, [r3, #3] 807b8a8: b2db uxtb r3, r3 807b8aa: 4618 mov r0, r3 807b8ac: 4a70 ldr r2, [pc, #448] ; (807ba70 ) 807b8ae: 460b mov r3, r1 807b8b0: 009b lsls r3, r3, #2 807b8b2: 440b add r3, r1 807b8b4: 4403 add r3, r0 807b8b6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b8ba: 461a mov r2, r3 807b8bc: 216a movs r1, #106 ; 0x6a 807b8be: f44f 7082 mov.w r0, #260 ; 0x104 807b8c2: f7d8 fd4f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807b8c6: 4b66 ldr r3, [pc, #408] ; (807ba60 ) 807b8c8: 7b1b ldrb r3, [r3, #12] 807b8ca: b2db uxtb r3, r3 807b8cc: 4619 mov r1, r3 807b8ce: 4b64 ldr r3, [pc, #400] ; (807ba60 ) 807b8d0: 791b ldrb r3, [r3, #4] 807b8d2: b2db uxtb r3, r3 807b8d4: 4618 mov r0, r3 807b8d6: 4a66 ldr r2, [pc, #408] ; (807ba70 ) 807b8d8: 460b mov r3, r1 807b8da: 009b lsls r3, r3, #2 807b8dc: 440b add r3, r1 807b8de: 4403 add r3, r0 807b8e0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b8e4: 461a mov r2, r3 807b8e6: 217a movs r1, #122 ; 0x7a 807b8e8: f44f 7082 mov.w r0, #260 ; 0x104 807b8ec: f7d8 fd3a bl 8054364 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807b8f0: 495a ldr r1, [pc, #360] ; (807ba5c ) 807b8f2: 485e ldr r0, [pc, #376] ; (807ba6c ) 807b8f4: f7d7 ff76 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807b8f8: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807b8fc: 461a mov r2, r3 807b8fe: 213a movs r1, #58 ; 0x3a 807b900: f44f 7082 mov.w r0, #260 ; 0x104 807b904: f7d8 fd2e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807b908: f507 73cc add.w r3, r7, #408 ; 0x198 807b90c: 461a mov r2, r3 807b90e: 214a movs r1, #74 ; 0x4a 807b910: f44f 7082 mov.w r0, #260 ; 0x104 807b914: f7d8 fd26 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807b918: 4b51 ldr r3, [pc, #324] ; (807ba60 ) 807b91a: 7b1b ldrb r3, [r3, #12] 807b91c: b2db uxtb r3, r3 807b91e: 4619 mov r1, r3 807b920: 4b4f ldr r3, [pc, #316] ; (807ba60 ) 807b922: 789b ldrb r3, [r3, #2] 807b924: b2db uxtb r3, r3 807b926: 4618 mov r0, r3 807b928: 4a51 ldr r2, [pc, #324] ; (807ba70 ) 807b92a: 460b mov r3, r1 807b92c: 009b lsls r3, r3, #2 807b92e: 440b add r3, r1 807b930: 4403 add r3, r0 807b932: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b936: 461a mov r2, r3 807b938: 215a movs r1, #90 ; 0x5a 807b93a: f44f 7082 mov.w r0, #260 ; 0x104 807b93e: f7d8 fd11 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807b942: 4b47 ldr r3, [pc, #284] ; (807ba60 ) 807b944: 7b1b ldrb r3, [r3, #12] 807b946: b2db uxtb r3, r3 807b948: 4619 mov r1, r3 807b94a: 4b45 ldr r3, [pc, #276] ; (807ba60 ) 807b94c: 7b5b ldrb r3, [r3, #13] 807b94e: b2db uxtb r3, r3 807b950: 4618 mov r0, r3 807b952: 4a49 ldr r2, [pc, #292] ; (807ba78 ) 807b954: 460b mov r3, r1 807b956: 009b lsls r3, r3, #2 807b958: 440b add r3, r1 807b95a: 005b lsls r3, r3, #1 807b95c: 4403 add r3, r0 807b95e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807b962: 461a mov r2, r3 807b964: 218a movs r1, #138 ; 0x8a 807b966: f44f 7082 mov.w r0, #260 ; 0x104 807b96a: f7d8 fcfb bl 8054364 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807b96e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807b972: 461a mov r2, r3 807b974: 21da movs r1, #218 ; 0xda 807b976: f44f 7082 mov.w r0, #260 ; 0x104 807b97a: f7d8 fcf3 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807b97e: 4937 ldr r1, [pc, #220] ; (807ba5c ) 807b980: f04f 30ff mov.w r0, #4294967295 807b984: f7d7 ff2e bl 80537e4 BSP_LCD_FillRect(255, 157, 10, 10); 807b988: 230a movs r3, #10 807b98a: 220a movs r2, #10 807b98c: 219d movs r1, #157 ; 0x9d 807b98e: 20ff movs r0, #255 ; 0xff 807b990: f7d8 fbb6 bl 8054100 BSP_LCD_FillRect(255, 173, 10, 10); 807b994: 230a movs r3, #10 807b996: 220a movs r2, #10 807b998: 21ad movs r1, #173 ; 0xad 807b99a: 20ff movs r0, #255 ; 0xff 807b99c: f7d8 fbb0 bl 8054100 BSP_LCD_FillRect(255, 189, 10, 10); 807b9a0: 230a movs r3, #10 807b9a2: 220a movs r2, #10 807b9a4: 21bd movs r1, #189 ; 0xbd 807b9a6: 20ff movs r0, #255 ; 0xff 807b9a8: f7d8 fbaa bl 8054100 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807b9ac: 4b2c ldr r3, [pc, #176] ; (807ba60 ) 807b9ae: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807b9b2: f003 0304 and.w r3, r3, #4 807b9b6: 2b00 cmp r3, #0 807b9b8: d033 beq.n 807ba22 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807b9ba: 4928 ldr r1, [pc, #160] ; (807ba5c ) 807b9bc: 482d ldr r0, [pc, #180] ; (807ba74 ) 807b9be: f7d7 ff11 bl 80537e4 if(pardata.IIN != VOLTS) 807b9c2: 4b27 ldr r3, [pc, #156] ; (807ba60 ) 807b9c4: 799b ldrb r3, [r3, #6] 807b9c6: b2db uxtb r3, r3 807b9c8: 2b02 cmp r3, #2 807b9ca: d010 beq.n 807b9ee LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b9cc: 4b24 ldr r3, [pc, #144] ; (807ba60 ) 807b9ce: 7b1b ldrb r3, [r3, #12] 807b9d0: b2db uxtb r3, r3 807b9d2: 4619 mov r1, r3 807b9d4: 4a24 ldr r2, [pc, #144] ; (807ba68 ) 807b9d6: 232c movs r3, #44 ; 0x2c 807b9d8: fb03 f301 mul.w r3, r3, r1 807b9dc: 4413 add r3, r2 807b9de: 3324 adds r3, #36 ; 0x24 807b9e0: 681b ldr r3, [r3, #0] 807b9e2: 461a mov r2, r3 807b9e4: 21ca movs r1, #202 ; 0xca 807b9e6: 200a movs r0, #10 807b9e8: f7d8 fca4 bl 8054334 807b9ec: e00f b.n 807ba0e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807b9ee: 4b1c ldr r3, [pc, #112] ; (807ba60 ) 807b9f0: 7b1b ldrb r3, [r3, #12] 807b9f2: b2db uxtb r3, r3 807b9f4: 4619 mov r1, r3 807b9f6: 4a21 ldr r2, [pc, #132] ; (807ba7c ) 807b9f8: 232c movs r3, #44 ; 0x2c 807b9fa: fb03 f301 mul.w r3, r3, r1 807b9fe: 4413 add r3, r2 807ba00: 3324 adds r3, #36 ; 0x24 807ba02: 681b ldr r3, [r3, #0] 807ba04: 461a mov r2, r3 807ba06: 21ca movs r1, #202 ; 0xca 807ba08: 200a movs r0, #10 807ba0a: f7d8 fc93 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807ba0e: f507 733b add.w r3, r7, #748 ; 0x2ec 807ba12: 461a mov r2, r3 807ba14: 21ca movs r1, #202 ; 0xca 807ba16: f44f 7082 mov.w r0, #260 ; 0x104 807ba1a: f7d8 fca3 bl 8054364 807ba1e: f002 b923 b.w 807dc68 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ba22: 490e ldr r1, [pc, #56] ; (807ba5c ) 807ba24: f04f 30ff mov.w r0, #4294967295 807ba28: f7d7 fedc bl 80537e4 if(pardata.IIN != VOLTS) 807ba2c: 4b0c ldr r3, [pc, #48] ; (807ba60 ) 807ba2e: 799b ldrb r3, [r3, #6] 807ba30: b2db uxtb r3, r3 807ba32: 2b02 cmp r3, #2 807ba34: d024 beq.n 807ba80 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ba36: 4b0a ldr r3, [pc, #40] ; (807ba60 ) 807ba38: 7b1b ldrb r3, [r3, #12] 807ba3a: b2db uxtb r3, r3 807ba3c: 4619 mov r1, r3 807ba3e: 4a0a ldr r2, [pc, #40] ; (807ba68 ) 807ba40: 232c movs r3, #44 ; 0x2c 807ba42: fb03 f301 mul.w r3, r3, r1 807ba46: 4413 add r3, r2 807ba48: 3324 adds r3, #36 ; 0x24 807ba4a: 681b ldr r3, [r3, #0] 807ba4c: 461a mov r2, r3 807ba4e: 21ca movs r1, #202 ; 0xca 807ba50: 200a movs r0, #10 807ba52: f7d8 fc6f bl 8054334 807ba56: e023 b.n 807baa0 807ba58: 20020070 .word 0x20020070 807ba5c: ff0a0f1f .word 0xff0a0f1f 807ba60: 20023e60 .word 0x20023e60 807ba64: 200205c4 .word 0x200205c4 807ba68: 200206b4 .word 0x200206b4 807ba6c: ffd8aa57 .word 0xffd8aa57 807ba70: 200202bc .word 0x200202bc 807ba74: ff808080 .word 0xff808080 807ba78: 2002024c .word 0x2002024c 807ba7c: 2002070c .word 0x2002070c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ba80: 4bc2 ldr r3, [pc, #776] ; (807bd8c ) 807ba82: 7b1b ldrb r3, [r3, #12] 807ba84: b2db uxtb r3, r3 807ba86: 4619 mov r1, r3 807ba88: 4ac1 ldr r2, [pc, #772] ; (807bd90 ) 807ba8a: 232c movs r3, #44 ; 0x2c 807ba8c: fb03 f301 mul.w r3, r3, r1 807ba90: 4413 add r3, r2 807ba92: 3324 adds r3, #36 ; 0x24 807ba94: 681b ldr r3, [r3, #0] 807ba96: 461a mov r2, r3 807ba98: 21ca movs r1, #202 ; 0xca 807ba9a: 200a movs r0, #10 807ba9c: f7d8 fc4a bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807baa0: 49bc ldr r1, [pc, #752] ; (807bd94 ) 807baa2: 48bd ldr r0, [pc, #756] ; (807bd98 ) 807baa4: f7d7 fe9e bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807baa8: f507 733b add.w r3, r7, #748 ; 0x2ec 807baac: 461a mov r2, r3 807baae: 21ca movs r1, #202 ; 0xca 807bab0: f44f 7082 mov.w r0, #260 ; 0x104 807bab4: f7d8 fc56 bl 8054364 807bab8: f002 b8d6 b.w 807dc68 } } else if(menupos == ViewFreq) 807babc: 4bb7 ldr r3, [pc, #732] ; (807bd9c ) 807babe: 781b ldrb r3, [r3, #0] 807bac0: b2db uxtb r3, r3 807bac2: 2b07 cmp r3, #7 807bac4: f040 81af bne.w 807be26 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bac8: 49b2 ldr r1, [pc, #712] ; (807bd94 ) 807baca: f04f 30ff mov.w r0, #4294967295 807bace: f7d7 fe89 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807bad2: 4bae ldr r3, [pc, #696] ; (807bd8c ) 807bad4: 7b1b ldrb r3, [r3, #12] 807bad6: b2db uxtb r3, r3 807bad8: 461a mov r2, r3 807bada: 4bb1 ldr r3, [pc, #708] ; (807bda0 ) 807badc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807bae0: 461a mov r2, r3 807bae2: 2127 movs r1, #39 ; 0x27 807bae4: 200a movs r0, #10 807bae6: f7d8 fc25 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807baea: 49aa ldr r1, [pc, #680] ; (807bd94 ) 807baec: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807baf0: f7d7 fe78 bl 80537e4 BSP_LCD_FillRect(253, 171, 14, 14); 807baf4: 230e movs r3, #14 807baf6: 220e movs r2, #14 807baf8: 21ab movs r1, #171 ; 0xab 807bafa: 20fd movs r0, #253 ; 0xfd 807bafc: f7d8 fb00 bl 8054100 if(pardata.HP >= 2.0f) 807bb00: 4ba2 ldr r3, [pc, #648] ; (807bd8c ) 807bb02: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807bb06: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807bb0a: eef4 7ac7 vcmpe.f32 s15, s14 807bb0e: eef1 fa10 vmrs APSR_nzcv, fpscr 807bb12: db53 blt.n 807bbbc { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bb14: 499f ldr r1, [pc, #636] ; (807bd94 ) 807bb16: f04f 30ff mov.w r0, #4294967295 807bb1a: f7d7 fe63 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807bb1e: 4b9b ldr r3, [pc, #620] ; (807bd8c ) 807bb20: 7b1b ldrb r3, [r3, #12] 807bb22: b2db uxtb r3, r3 807bb24: 4619 mov r1, r3 807bb26: 4a9f ldr r2, [pc, #636] ; (807bda4 ) 807bb28: 232c movs r3, #44 ; 0x2c 807bb2a: fb03 f301 mul.w r3, r3, r1 807bb2e: 4413 add r3, r2 807bb30: 330c adds r3, #12 807bb32: 681b ldr r3, [r3, #0] 807bb34: 461a mov r2, r3 807bb36: 216a movs r1, #106 ; 0x6a 807bb38: 200a movs r0, #10 807bb3a: f7d8 fbfb bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807bb3e: 4b93 ldr r3, [pc, #588] ; (807bd8c ) 807bb40: 7b1b ldrb r3, [r3, #12] 807bb42: b2db uxtb r3, r3 807bb44: 4619 mov r1, r3 807bb46: 4a97 ldr r2, [pc, #604] ; (807bda4 ) 807bb48: 232c movs r3, #44 ; 0x2c 807bb4a: fb03 f301 mul.w r3, r3, r1 807bb4e: 4413 add r3, r2 807bb50: 3310 adds r3, #16 807bb52: 681b ldr r3, [r3, #0] 807bb54: 461a mov r2, r3 807bb56: 217a movs r1, #122 ; 0x7a 807bb58: 200a movs r0, #10 807bb5a: f7d8 fbeb bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bb5e: 498d ldr r1, [pc, #564] ; (807bd94 ) 807bb60: 488d ldr r0, [pc, #564] ; (807bd98 ) 807bb62: f7d7 fe3f bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807bb66: 4b89 ldr r3, [pc, #548] ; (807bd8c ) 807bb68: 7b1b ldrb r3, [r3, #12] 807bb6a: b2db uxtb r3, r3 807bb6c: 4619 mov r1, r3 807bb6e: 4b87 ldr r3, [pc, #540] ; (807bd8c ) 807bb70: 78db ldrb r3, [r3, #3] 807bb72: b2db uxtb r3, r3 807bb74: 4618 mov r0, r3 807bb76: 4a8c ldr r2, [pc, #560] ; (807bda8 ) 807bb78: 460b mov r3, r1 807bb7a: 009b lsls r3, r3, #2 807bb7c: 440b add r3, r1 807bb7e: 4403 add r3, r0 807bb80: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bb84: 461a mov r2, r3 807bb86: 216a movs r1, #106 ; 0x6a 807bb88: f44f 7082 mov.w r0, #260 ; 0x104 807bb8c: f7d8 fbea bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807bb90: 4b7e ldr r3, [pc, #504] ; (807bd8c ) 807bb92: 7b1b ldrb r3, [r3, #12] 807bb94: b2db uxtb r3, r3 807bb96: 4619 mov r1, r3 807bb98: 4b7c ldr r3, [pc, #496] ; (807bd8c ) 807bb9a: 791b ldrb r3, [r3, #4] 807bb9c: b2db uxtb r3, r3 807bb9e: 4618 mov r0, r3 807bba0: 4a81 ldr r2, [pc, #516] ; (807bda8 ) 807bba2: 460b mov r3, r1 807bba4: 009b lsls r3, r3, #2 807bba6: 440b add r3, r1 807bba8: 4403 add r3, r0 807bbaa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bbae: 461a mov r2, r3 807bbb0: 217a movs r1, #122 ; 0x7a 807bbb2: f44f 7082 mov.w r0, #260 ; 0x104 807bbb6: f7d8 fbd5 bl 8054364 807bbba: e04d b.n 807bc58 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807bbbc: 4975 ldr r1, [pc, #468] ; (807bd94 ) 807bbbe: 487b ldr r0, [pc, #492] ; (807bdac ) 807bbc0: f7d7 fe10 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807bbc4: 4b71 ldr r3, [pc, #452] ; (807bd8c ) 807bbc6: 7b1b ldrb r3, [r3, #12] 807bbc8: b2db uxtb r3, r3 807bbca: 4619 mov r1, r3 807bbcc: 4a75 ldr r2, [pc, #468] ; (807bda4 ) 807bbce: 232c movs r3, #44 ; 0x2c 807bbd0: fb03 f301 mul.w r3, r3, r1 807bbd4: 4413 add r3, r2 807bbd6: 330c adds r3, #12 807bbd8: 681b ldr r3, [r3, #0] 807bbda: 461a mov r2, r3 807bbdc: 216a movs r1, #106 ; 0x6a 807bbde: 200a movs r0, #10 807bbe0: f7d8 fba8 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807bbe4: 4b69 ldr r3, [pc, #420] ; (807bd8c ) 807bbe6: 7b1b ldrb r3, [r3, #12] 807bbe8: b2db uxtb r3, r3 807bbea: 4619 mov r1, r3 807bbec: 4a6d ldr r2, [pc, #436] ; (807bda4 ) 807bbee: 232c movs r3, #44 ; 0x2c 807bbf0: fb03 f301 mul.w r3, r3, r1 807bbf4: 4413 add r3, r2 807bbf6: 3310 adds r3, #16 807bbf8: 681b ldr r3, [r3, #0] 807bbfa: 461a mov r2, r3 807bbfc: 217a movs r1, #122 ; 0x7a 807bbfe: 200a movs r0, #10 807bc00: f7d8 fb98 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807bc04: 4b61 ldr r3, [pc, #388] ; (807bd8c ) 807bc06: 7b1b ldrb r3, [r3, #12] 807bc08: b2db uxtb r3, r3 807bc0a: 4619 mov r1, r3 807bc0c: 4b5f ldr r3, [pc, #380] ; (807bd8c ) 807bc0e: 78db ldrb r3, [r3, #3] 807bc10: b2db uxtb r3, r3 807bc12: 4618 mov r0, r3 807bc14: 4a64 ldr r2, [pc, #400] ; (807bda8 ) 807bc16: 460b mov r3, r1 807bc18: 009b lsls r3, r3, #2 807bc1a: 440b add r3, r1 807bc1c: 4403 add r3, r0 807bc1e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bc22: 461a mov r2, r3 807bc24: 216a movs r1, #106 ; 0x6a 807bc26: f44f 7082 mov.w r0, #260 ; 0x104 807bc2a: f7d8 fb9b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807bc2e: 4b57 ldr r3, [pc, #348] ; (807bd8c ) 807bc30: 7b1b ldrb r3, [r3, #12] 807bc32: b2db uxtb r3, r3 807bc34: 4619 mov r1, r3 807bc36: 4b55 ldr r3, [pc, #340] ; (807bd8c ) 807bc38: 791b ldrb r3, [r3, #4] 807bc3a: b2db uxtb r3, r3 807bc3c: 4618 mov r0, r3 807bc3e: 4a5a ldr r2, [pc, #360] ; (807bda8 ) 807bc40: 460b mov r3, r1 807bc42: 009b lsls r3, r3, #2 807bc44: 440b add r3, r1 807bc46: 4403 add r3, r0 807bc48: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bc4c: 461a mov r2, r3 807bc4e: 217a movs r1, #122 ; 0x7a 807bc50: f44f 7082 mov.w r0, #260 ; 0x104 807bc54: f7d8 fb86 bl 8054364 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bc58: 494e ldr r1, [pc, #312] ; (807bd94 ) 807bc5a: 484f ldr r0, [pc, #316] ; (807bd98 ) 807bc5c: f7d7 fdc2 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807bc60: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807bc64: 461a mov r2, r3 807bc66: 213a movs r1, #58 ; 0x3a 807bc68: f44f 7082 mov.w r0, #260 ; 0x104 807bc6c: f7d8 fb7a bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807bc70: f507 73cc add.w r3, r7, #408 ; 0x198 807bc74: 461a mov r2, r3 807bc76: 214a movs r1, #74 ; 0x4a 807bc78: f44f 7082 mov.w r0, #260 ; 0x104 807bc7c: f7d8 fb72 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807bc80: 4b42 ldr r3, [pc, #264] ; (807bd8c ) 807bc82: 7b1b ldrb r3, [r3, #12] 807bc84: b2db uxtb r3, r3 807bc86: 4619 mov r1, r3 807bc88: 4b40 ldr r3, [pc, #256] ; (807bd8c ) 807bc8a: 789b ldrb r3, [r3, #2] 807bc8c: b2db uxtb r3, r3 807bc8e: 4618 mov r0, r3 807bc90: 4a45 ldr r2, [pc, #276] ; (807bda8 ) 807bc92: 460b mov r3, r1 807bc94: 009b lsls r3, r3, #2 807bc96: 440b add r3, r1 807bc98: 4403 add r3, r0 807bc9a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bc9e: 461a mov r2, r3 807bca0: 215a movs r1, #90 ; 0x5a 807bca2: f44f 7082 mov.w r0, #260 ; 0x104 807bca6: f7d8 fb5d bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807bcaa: 4b38 ldr r3, [pc, #224] ; (807bd8c ) 807bcac: 7b1b ldrb r3, [r3, #12] 807bcae: b2db uxtb r3, r3 807bcb0: 4619 mov r1, r3 807bcb2: 4b36 ldr r3, [pc, #216] ; (807bd8c ) 807bcb4: 7b5b ldrb r3, [r3, #13] 807bcb6: b2db uxtb r3, r3 807bcb8: 4618 mov r0, r3 807bcba: 4a3d ldr r2, [pc, #244] ; (807bdb0 ) 807bcbc: 460b mov r3, r1 807bcbe: 009b lsls r3, r3, #2 807bcc0: 440b add r3, r1 807bcc2: 005b lsls r3, r3, #1 807bcc4: 4403 add r3, r0 807bcc6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bcca: 461a mov r2, r3 807bccc: 218a movs r1, #138 ; 0x8a 807bcce: f44f 7082 mov.w r0, #260 ; 0x104 807bcd2: f7d8 fb47 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807bcd6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807bcda: 461a mov r2, r3 807bcdc: 21da movs r1, #218 ; 0xda 807bcde: f44f 7082 mov.w r0, #260 ; 0x104 807bce2: f7d8 fb3f bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bce6: 492b ldr r1, [pc, #172] ; (807bd94 ) 807bce8: f04f 30ff mov.w r0, #4294967295 807bcec: f7d7 fd7a bl 80537e4 BSP_LCD_FillRect(255, 157, 10, 10); 807bcf0: 230a movs r3, #10 807bcf2: 220a movs r2, #10 807bcf4: 219d movs r1, #157 ; 0x9d 807bcf6: 20ff movs r0, #255 ; 0xff 807bcf8: f7d8 fa02 bl 8054100 BSP_LCD_FillRect(255, 173, 10, 10); 807bcfc: 230a movs r3, #10 807bcfe: 220a movs r2, #10 807bd00: 21ad movs r1, #173 ; 0xad 807bd02: 20ff movs r0, #255 ; 0xff 807bd04: f7d8 f9fc bl 8054100 BSP_LCD_FillRect(255, 189, 10, 10); 807bd08: 230a movs r3, #10 807bd0a: 220a movs r2, #10 807bd0c: 21bd movs r1, #189 ; 0xbd 807bd0e: 20ff movs r0, #255 ; 0xff 807bd10: f7d8 f9f6 bl 8054100 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807bd14: 4b1d ldr r3, [pc, #116] ; (807bd8c ) 807bd16: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807bd1a: f003 0304 and.w r3, r3, #4 807bd1e: 2b00 cmp r3, #0 807bd20: d048 beq.n 807bdb4 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807bd22: 491c ldr r1, [pc, #112] ; (807bd94 ) 807bd24: 4821 ldr r0, [pc, #132] ; (807bdac ) 807bd26: f7d7 fd5d bl 80537e4 if(pardata.IIN != VOLTS) 807bd2a: 4b18 ldr r3, [pc, #96] ; (807bd8c ) 807bd2c: 799b ldrb r3, [r3, #6] 807bd2e: b2db uxtb r3, r3 807bd30: 2b02 cmp r3, #2 807bd32: d010 beq.n 807bd56 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bd34: 4b15 ldr r3, [pc, #84] ; (807bd8c ) 807bd36: 7b1b ldrb r3, [r3, #12] 807bd38: b2db uxtb r3, r3 807bd3a: 4619 mov r1, r3 807bd3c: 4a19 ldr r2, [pc, #100] ; (807bda4 ) 807bd3e: 232c movs r3, #44 ; 0x2c 807bd40: fb03 f301 mul.w r3, r3, r1 807bd44: 4413 add r3, r2 807bd46: 3324 adds r3, #36 ; 0x24 807bd48: 681b ldr r3, [r3, #0] 807bd4a: 461a mov r2, r3 807bd4c: 21ca movs r1, #202 ; 0xca 807bd4e: 200a movs r0, #10 807bd50: f7d8 faf0 bl 8054334 807bd54: e00f b.n 807bd76 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bd56: 4b0d ldr r3, [pc, #52] ; (807bd8c ) 807bd58: 7b1b ldrb r3, [r3, #12] 807bd5a: b2db uxtb r3, r3 807bd5c: 4619 mov r1, r3 807bd5e: 4a0c ldr r2, [pc, #48] ; (807bd90 ) 807bd60: 232c movs r3, #44 ; 0x2c 807bd62: fb03 f301 mul.w r3, r3, r1 807bd66: 4413 add r3, r2 807bd68: 3324 adds r3, #36 ; 0x24 807bd6a: 681b ldr r3, [r3, #0] 807bd6c: 461a mov r2, r3 807bd6e: 21ca movs r1, #202 ; 0xca 807bd70: 200a movs r0, #10 807bd72: f7d8 fadf bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807bd76: f507 733b add.w r3, r7, #748 ; 0x2ec 807bd7a: 461a mov r2, r3 807bd7c: 21ca movs r1, #202 ; 0xca 807bd7e: f44f 7082 mov.w r0, #260 ; 0x104 807bd82: f7d8 faef bl 8054364 807bd86: f001 bf6f b.w 807dc68 807bd8a: bf00 nop 807bd8c: 20023e60 .word 0x20023e60 807bd90: 2002070c .word 0x2002070c 807bd94: ff0a0f1f .word 0xff0a0f1f 807bd98: ffd8aa57 .word 0xffd8aa57 807bd9c: 20020070 .word 0x20020070 807bda0: 200205c4 .word 0x200205c4 807bda4: 200206b4 .word 0x200206b4 807bda8: 200202bc .word 0x200202bc 807bdac: ff808080 .word 0xff808080 807bdb0: 2002024c .word 0x2002024c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807bdb4: 49c2 ldr r1, [pc, #776] ; (807c0c0 ) 807bdb6: f04f 30ff mov.w r0, #4294967295 807bdba: f7d7 fd13 bl 80537e4 if(pardata.IIN != VOLTS) 807bdbe: 4bc1 ldr r3, [pc, #772] ; (807c0c4 ) 807bdc0: 799b ldrb r3, [r3, #6] 807bdc2: b2db uxtb r3, r3 807bdc4: 2b02 cmp r3, #2 807bdc6: d010 beq.n 807bdea LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bdc8: 4bbe ldr r3, [pc, #760] ; (807c0c4 ) 807bdca: 7b1b ldrb r3, [r3, #12] 807bdcc: b2db uxtb r3, r3 807bdce: 4619 mov r1, r3 807bdd0: 4abd ldr r2, [pc, #756] ; (807c0c8 ) 807bdd2: 232c movs r3, #44 ; 0x2c 807bdd4: fb03 f301 mul.w r3, r3, r1 807bdd8: 4413 add r3, r2 807bdda: 3324 adds r3, #36 ; 0x24 807bddc: 681b ldr r3, [r3, #0] 807bdde: 461a mov r2, r3 807bde0: 21ca movs r1, #202 ; 0xca 807bde2: 200a movs r0, #10 807bde4: f7d8 faa6 bl 8054334 807bde8: e00f b.n 807be0a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807bdea: 4bb6 ldr r3, [pc, #728] ; (807c0c4 ) 807bdec: 7b1b ldrb r3, [r3, #12] 807bdee: b2db uxtb r3, r3 807bdf0: 4619 mov r1, r3 807bdf2: 4ab6 ldr r2, [pc, #728] ; (807c0cc ) 807bdf4: 232c movs r3, #44 ; 0x2c 807bdf6: fb03 f301 mul.w r3, r3, r1 807bdfa: 4413 add r3, r2 807bdfc: 3324 adds r3, #36 ; 0x24 807bdfe: 681b ldr r3, [r3, #0] 807be00: 461a mov r2, r3 807be02: 21ca movs r1, #202 ; 0xca 807be04: 200a movs r0, #10 807be06: f7d8 fa95 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807be0a: 49ad ldr r1, [pc, #692] ; (807c0c0 ) 807be0c: 48b0 ldr r0, [pc, #704] ; (807c0d0 ) 807be0e: f7d7 fce9 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807be12: f507 733b add.w r3, r7, #748 ; 0x2ec 807be16: 461a mov r2, r3 807be18: 21ca movs r1, #202 ; 0xca 807be1a: f44f 7082 mov.w r0, #260 ; 0x104 807be1e: f7d8 faa1 bl 8054364 807be22: f001 bf21 b.w 807dc68 } } else if(menupos == VibAutoKu) 807be26: 4bab ldr r3, [pc, #684] ; (807c0d4 ) 807be28: 781b ldrb r3, [r3, #0] 807be2a: b2db uxtb r3, r3 807be2c: 2b08 cmp r3, #8 807be2e: f040 81ae bne.w 807c18e { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807be32: 49a3 ldr r1, [pc, #652] ; (807c0c0 ) 807be34: f04f 30ff mov.w r0, #4294967295 807be38: f7d7 fcd4 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807be3c: 4ba1 ldr r3, [pc, #644] ; (807c0c4 ) 807be3e: 7b1b ldrb r3, [r3, #12] 807be40: b2db uxtb r3, r3 807be42: 461a mov r2, r3 807be44: 4ba4 ldr r3, [pc, #656] ; (807c0d8 ) 807be46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807be4a: 461a mov r2, r3 807be4c: 2127 movs r1, #39 ; 0x27 807be4e: 200a movs r0, #10 807be50: f7d8 fa70 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807be54: 499a ldr r1, [pc, #616] ; (807c0c0 ) 807be56: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807be5a: f7d7 fcc3 bl 80537e4 BSP_LCD_FillRect(253, 187, 14, 14); 807be5e: 230e movs r3, #14 807be60: 220e movs r2, #14 807be62: 21bb movs r1, #187 ; 0xbb 807be64: 20fd movs r0, #253 ; 0xfd 807be66: f7d8 f94b bl 8054100 if(pardata.HP >= 2.0f) 807be6a: 4b96 ldr r3, [pc, #600] ; (807c0c4 ) 807be6c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807be70: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807be74: eef4 7ac7 vcmpe.f32 s15, s14 807be78: eef1 fa10 vmrs APSR_nzcv, fpscr 807be7c: db53 blt.n 807bf26 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807be7e: 4990 ldr r1, [pc, #576] ; (807c0c0 ) 807be80: f04f 30ff mov.w r0, #4294967295 807be84: f7d7 fcae bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807be88: 4b8e ldr r3, [pc, #568] ; (807c0c4 ) 807be8a: 7b1b ldrb r3, [r3, #12] 807be8c: b2db uxtb r3, r3 807be8e: 4619 mov r1, r3 807be90: 4a8d ldr r2, [pc, #564] ; (807c0c8 ) 807be92: 232c movs r3, #44 ; 0x2c 807be94: fb03 f301 mul.w r3, r3, r1 807be98: 4413 add r3, r2 807be9a: 330c adds r3, #12 807be9c: 681b ldr r3, [r3, #0] 807be9e: 461a mov r2, r3 807bea0: 216a movs r1, #106 ; 0x6a 807bea2: 200a movs r0, #10 807bea4: f7d8 fa46 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807bea8: 4b86 ldr r3, [pc, #536] ; (807c0c4 ) 807beaa: 7b1b ldrb r3, [r3, #12] 807beac: b2db uxtb r3, r3 807beae: 4619 mov r1, r3 807beb0: 4a85 ldr r2, [pc, #532] ; (807c0c8 ) 807beb2: 232c movs r3, #44 ; 0x2c 807beb4: fb03 f301 mul.w r3, r3, r1 807beb8: 4413 add r3, r2 807beba: 3310 adds r3, #16 807bebc: 681b ldr r3, [r3, #0] 807bebe: 461a mov r2, r3 807bec0: 217a movs r1, #122 ; 0x7a 807bec2: 200a movs r0, #10 807bec4: f7d8 fa36 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bec8: 497d ldr r1, [pc, #500] ; (807c0c0 ) 807beca: 4881 ldr r0, [pc, #516] ; (807c0d0 ) 807becc: f7d7 fc8a bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807bed0: 4b7c ldr r3, [pc, #496] ; (807c0c4 ) 807bed2: 7b1b ldrb r3, [r3, #12] 807bed4: b2db uxtb r3, r3 807bed6: 4619 mov r1, r3 807bed8: 4b7a ldr r3, [pc, #488] ; (807c0c4 ) 807beda: 78db ldrb r3, [r3, #3] 807bedc: b2db uxtb r3, r3 807bede: 4618 mov r0, r3 807bee0: 4a7e ldr r2, [pc, #504] ; (807c0dc ) 807bee2: 460b mov r3, r1 807bee4: 009b lsls r3, r3, #2 807bee6: 440b add r3, r1 807bee8: 4403 add r3, r0 807beea: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807beee: 461a mov r2, r3 807bef0: 216a movs r1, #106 ; 0x6a 807bef2: f44f 7082 mov.w r0, #260 ; 0x104 807bef6: f7d8 fa35 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807befa: 4b72 ldr r3, [pc, #456] ; (807c0c4 ) 807befc: 7b1b ldrb r3, [r3, #12] 807befe: b2db uxtb r3, r3 807bf00: 4619 mov r1, r3 807bf02: 4b70 ldr r3, [pc, #448] ; (807c0c4 ) 807bf04: 791b ldrb r3, [r3, #4] 807bf06: b2db uxtb r3, r3 807bf08: 4618 mov r0, r3 807bf0a: 4a74 ldr r2, [pc, #464] ; (807c0dc ) 807bf0c: 460b mov r3, r1 807bf0e: 009b lsls r3, r3, #2 807bf10: 440b add r3, r1 807bf12: 4403 add r3, r0 807bf14: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bf18: 461a mov r2, r3 807bf1a: 217a movs r1, #122 ; 0x7a 807bf1c: f44f 7082 mov.w r0, #260 ; 0x104 807bf20: f7d8 fa20 bl 8054364 807bf24: e04d b.n 807bfc2 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807bf26: 4966 ldr r1, [pc, #408] ; (807c0c0 ) 807bf28: 486d ldr r0, [pc, #436] ; (807c0e0 ) 807bf2a: f7d7 fc5b bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807bf2e: 4b65 ldr r3, [pc, #404] ; (807c0c4 ) 807bf30: 7b1b ldrb r3, [r3, #12] 807bf32: b2db uxtb r3, r3 807bf34: 4619 mov r1, r3 807bf36: 4a64 ldr r2, [pc, #400] ; (807c0c8 ) 807bf38: 232c movs r3, #44 ; 0x2c 807bf3a: fb03 f301 mul.w r3, r3, r1 807bf3e: 4413 add r3, r2 807bf40: 330c adds r3, #12 807bf42: 681b ldr r3, [r3, #0] 807bf44: 461a mov r2, r3 807bf46: 216a movs r1, #106 ; 0x6a 807bf48: 200a movs r0, #10 807bf4a: f7d8 f9f3 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807bf4e: 4b5d ldr r3, [pc, #372] ; (807c0c4 ) 807bf50: 7b1b ldrb r3, [r3, #12] 807bf52: b2db uxtb r3, r3 807bf54: 4619 mov r1, r3 807bf56: 4a5c ldr r2, [pc, #368] ; (807c0c8 ) 807bf58: 232c movs r3, #44 ; 0x2c 807bf5a: fb03 f301 mul.w r3, r3, r1 807bf5e: 4413 add r3, r2 807bf60: 3310 adds r3, #16 807bf62: 681b ldr r3, [r3, #0] 807bf64: 461a mov r2, r3 807bf66: 217a movs r1, #122 ; 0x7a 807bf68: 200a movs r0, #10 807bf6a: f7d8 f9e3 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807bf6e: 4b55 ldr r3, [pc, #340] ; (807c0c4 ) 807bf70: 7b1b ldrb r3, [r3, #12] 807bf72: b2db uxtb r3, r3 807bf74: 4619 mov r1, r3 807bf76: 4b53 ldr r3, [pc, #332] ; (807c0c4 ) 807bf78: 78db ldrb r3, [r3, #3] 807bf7a: b2db uxtb r3, r3 807bf7c: 4618 mov r0, r3 807bf7e: 4a57 ldr r2, [pc, #348] ; (807c0dc ) 807bf80: 460b mov r3, r1 807bf82: 009b lsls r3, r3, #2 807bf84: 440b add r3, r1 807bf86: 4403 add r3, r0 807bf88: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bf8c: 461a mov r2, r3 807bf8e: 216a movs r1, #106 ; 0x6a 807bf90: f44f 7082 mov.w r0, #260 ; 0x104 807bf94: f7d8 f9e6 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807bf98: 4b4a ldr r3, [pc, #296] ; (807c0c4 ) 807bf9a: 7b1b ldrb r3, [r3, #12] 807bf9c: b2db uxtb r3, r3 807bf9e: 4619 mov r1, r3 807bfa0: 4b48 ldr r3, [pc, #288] ; (807c0c4 ) 807bfa2: 791b ldrb r3, [r3, #4] 807bfa4: b2db uxtb r3, r3 807bfa6: 4618 mov r0, r3 807bfa8: 4a4c ldr r2, [pc, #304] ; (807c0dc ) 807bfaa: 460b mov r3, r1 807bfac: 009b lsls r3, r3, #2 807bfae: 440b add r3, r1 807bfb0: 4403 add r3, r0 807bfb2: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807bfb6: 461a mov r2, r3 807bfb8: 217a movs r1, #122 ; 0x7a 807bfba: f44f 7082 mov.w r0, #260 ; 0x104 807bfbe: f7d8 f9d1 bl 8054364 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807bfc2: 493f ldr r1, [pc, #252] ; (807c0c0 ) 807bfc4: 4842 ldr r0, [pc, #264] ; (807c0d0 ) 807bfc6: f7d7 fc0d bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807bfca: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807bfce: 461a mov r2, r3 807bfd0: 213a movs r1, #58 ; 0x3a 807bfd2: f44f 7082 mov.w r0, #260 ; 0x104 807bfd6: f7d8 f9c5 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807bfda: f507 73cc add.w r3, r7, #408 ; 0x198 807bfde: 461a mov r2, r3 807bfe0: 214a movs r1, #74 ; 0x4a 807bfe2: f44f 7082 mov.w r0, #260 ; 0x104 807bfe6: f7d8 f9bd bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807bfea: 4b36 ldr r3, [pc, #216] ; (807c0c4 ) 807bfec: 7b1b ldrb r3, [r3, #12] 807bfee: b2db uxtb r3, r3 807bff0: 4619 mov r1, r3 807bff2: 4b34 ldr r3, [pc, #208] ; (807c0c4 ) 807bff4: 789b ldrb r3, [r3, #2] 807bff6: b2db uxtb r3, r3 807bff8: 4618 mov r0, r3 807bffa: 4a38 ldr r2, [pc, #224] ; (807c0dc ) 807bffc: 460b mov r3, r1 807bffe: 009b lsls r3, r3, #2 807c000: 440b add r3, r1 807c002: 4403 add r3, r0 807c004: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c008: 461a mov r2, r3 807c00a: 215a movs r1, #90 ; 0x5a 807c00c: f44f 7082 mov.w r0, #260 ; 0x104 807c010: f7d8 f9a8 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807c014: 4b2b ldr r3, [pc, #172] ; (807c0c4 ) 807c016: 7b1b ldrb r3, [r3, #12] 807c018: b2db uxtb r3, r3 807c01a: 4619 mov r1, r3 807c01c: 4b29 ldr r3, [pc, #164] ; (807c0c4 ) 807c01e: 7b5b ldrb r3, [r3, #13] 807c020: b2db uxtb r3, r3 807c022: 4618 mov r0, r3 807c024: 4a2f ldr r2, [pc, #188] ; (807c0e4 ) 807c026: 460b mov r3, r1 807c028: 009b lsls r3, r3, #2 807c02a: 440b add r3, r1 807c02c: 005b lsls r3, r3, #1 807c02e: 4403 add r3, r0 807c030: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c034: 461a mov r2, r3 807c036: 218a movs r1, #138 ; 0x8a 807c038: f44f 7082 mov.w r0, #260 ; 0x104 807c03c: f7d8 f992 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807c040: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807c044: 461a mov r2, r3 807c046: 21da movs r1, #218 ; 0xda 807c048: f44f 7082 mov.w r0, #260 ; 0x104 807c04c: f7d8 f98a bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c050: 491b ldr r1, [pc, #108] ; (807c0c0 ) 807c052: f04f 30ff mov.w r0, #4294967295 807c056: f7d7 fbc5 bl 80537e4 BSP_LCD_FillRect(255, 157, 10, 10); 807c05a: 230a movs r3, #10 807c05c: 220a movs r2, #10 807c05e: 219d movs r1, #157 ; 0x9d 807c060: 20ff movs r0, #255 ; 0xff 807c062: f7d8 f84d bl 8054100 BSP_LCD_FillRect(255, 173, 10, 10); 807c066: 230a movs r3, #10 807c068: 220a movs r2, #10 807c06a: 21ad movs r1, #173 ; 0xad 807c06c: 20ff movs r0, #255 ; 0xff 807c06e: f7d8 f847 bl 8054100 BSP_LCD_FillRect(255, 189, 10, 10); 807c072: 230a movs r3, #10 807c074: 220a movs r2, #10 807c076: 21bd movs r1, #189 ; 0xbd 807c078: 20ff movs r0, #255 ; 0xff 807c07a: f7d8 f841 bl 8054100 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807c07e: 4b11 ldr r3, [pc, #68] ; (807c0c4 ) 807c080: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807c084: f003 0304 and.w r3, r3, #4 807c088: 2b00 cmp r3, #0 807c08a: d047 beq.n 807c11c { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c08c: 490c ldr r1, [pc, #48] ; (807c0c0 ) 807c08e: 4814 ldr r0, [pc, #80] ; (807c0e0 ) 807c090: f7d7 fba8 bl 80537e4 if(pardata.IIN != VOLTS) 807c094: 4b0b ldr r3, [pc, #44] ; (807c0c4 ) 807c096: 799b ldrb r3, [r3, #6] 807c098: b2db uxtb r3, r3 807c09a: 2b02 cmp r3, #2 807c09c: d024 beq.n 807c0e8 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c09e: 4b09 ldr r3, [pc, #36] ; (807c0c4 ) 807c0a0: 7b1b ldrb r3, [r3, #12] 807c0a2: b2db uxtb r3, r3 807c0a4: 4619 mov r1, r3 807c0a6: 4a08 ldr r2, [pc, #32] ; (807c0c8 ) 807c0a8: 232c movs r3, #44 ; 0x2c 807c0aa: fb03 f301 mul.w r3, r3, r1 807c0ae: 4413 add r3, r2 807c0b0: 3324 adds r3, #36 ; 0x24 807c0b2: 681b ldr r3, [r3, #0] 807c0b4: 461a mov r2, r3 807c0b6: 21ca movs r1, #202 ; 0xca 807c0b8: 200a movs r0, #10 807c0ba: f7d8 f93b bl 8054334 807c0be: e023 b.n 807c108 807c0c0: ff0a0f1f .word 0xff0a0f1f 807c0c4: 20023e60 .word 0x20023e60 807c0c8: 200206b4 .word 0x200206b4 807c0cc: 2002070c .word 0x2002070c 807c0d0: ffd8aa57 .word 0xffd8aa57 807c0d4: 20020070 .word 0x20020070 807c0d8: 200205c4 .word 0x200205c4 807c0dc: 200202bc .word 0x200202bc 807c0e0: ff808080 .word 0xff808080 807c0e4: 2002024c .word 0x2002024c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c0e8: 4b74 ldr r3, [pc, #464] ; (807c2bc ) 807c0ea: 7b1b ldrb r3, [r3, #12] 807c0ec: b2db uxtb r3, r3 807c0ee: 4619 mov r1, r3 807c0f0: 4a73 ldr r2, [pc, #460] ; (807c2c0 ) 807c0f2: 232c movs r3, #44 ; 0x2c 807c0f4: fb03 f301 mul.w r3, r3, r1 807c0f8: 4413 add r3, r2 807c0fa: 3324 adds r3, #36 ; 0x24 807c0fc: 681b ldr r3, [r3, #0] 807c0fe: 461a mov r2, r3 807c100: 21ca movs r1, #202 ; 0xca 807c102: 200a movs r0, #10 807c104: f7d8 f916 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807c108: f507 733b add.w r3, r7, #748 ; 0x2ec 807c10c: 461a mov r2, r3 807c10e: 21ca movs r1, #202 ; 0xca 807c110: f44f 7082 mov.w r0, #260 ; 0x104 807c114: f7d8 f926 bl 8054364 807c118: f001 bda6 b.w 807dc68 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c11c: 4969 ldr r1, [pc, #420] ; (807c2c4 ) 807c11e: f04f 30ff mov.w r0, #4294967295 807c122: f7d7 fb5f bl 80537e4 if(pardata.IIN != VOLTS) 807c126: 4b65 ldr r3, [pc, #404] ; (807c2bc ) 807c128: 799b ldrb r3, [r3, #6] 807c12a: b2db uxtb r3, r3 807c12c: 2b02 cmp r3, #2 807c12e: d010 beq.n 807c152 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c130: 4b62 ldr r3, [pc, #392] ; (807c2bc ) 807c132: 7b1b ldrb r3, [r3, #12] 807c134: b2db uxtb r3, r3 807c136: 4619 mov r1, r3 807c138: 4a63 ldr r2, [pc, #396] ; (807c2c8 ) 807c13a: 232c movs r3, #44 ; 0x2c 807c13c: fb03 f301 mul.w r3, r3, r1 807c140: 4413 add r3, r2 807c142: 3324 adds r3, #36 ; 0x24 807c144: 681b ldr r3, [r3, #0] 807c146: 461a mov r2, r3 807c148: 21ca movs r1, #202 ; 0xca 807c14a: 200a movs r0, #10 807c14c: f7d8 f8f2 bl 8054334 807c150: e00f b.n 807c172 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c152: 4b5a ldr r3, [pc, #360] ; (807c2bc ) 807c154: 7b1b ldrb r3, [r3, #12] 807c156: b2db uxtb r3, r3 807c158: 4619 mov r1, r3 807c15a: 4a59 ldr r2, [pc, #356] ; (807c2c0 ) 807c15c: 232c movs r3, #44 ; 0x2c 807c15e: fb03 f301 mul.w r3, r3, r1 807c162: 4413 add r3, r2 807c164: 3324 adds r3, #36 ; 0x24 807c166: 681b ldr r3, [r3, #0] 807c168: 461a mov r2, r3 807c16a: 21ca movs r1, #202 ; 0xca 807c16c: 200a movs r0, #10 807c16e: f7d8 f8e1 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c172: 4954 ldr r1, [pc, #336] ; (807c2c4 ) 807c174: 4855 ldr r0, [pc, #340] ; (807c2cc ) 807c176: f7d7 fb35 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807c17a: f507 733b add.w r3, r7, #748 ; 0x2ec 807c17e: 461a mov r2, r3 807c180: 21ca movs r1, #202 ; 0xca 807c182: f44f 7082 mov.w r0, #260 ; 0x104 807c186: f7d8 f8ed bl 8054364 807c18a: f001 bd6d b.w 807dc68 } } else if(menupos == SaveToFile) 807c18e: 4b50 ldr r3, [pc, #320] ; (807c2d0 ) 807c190: 781b ldrb r3, [r3, #0] 807c192: b2db uxtb r3, r3 807c194: 2b0a cmp r3, #10 807c196: f040 81bb bne.w 807c510 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c19a: 494a ldr r1, [pc, #296] ; (807c2c4 ) 807c19c: f04f 30ff mov.w r0, #4294967295 807c1a0: f7d7 fb20 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807c1a4: 4b45 ldr r3, [pc, #276] ; (807c2bc ) 807c1a6: 7b1b ldrb r3, [r3, #12] 807c1a8: b2db uxtb r3, r3 807c1aa: 461a mov r2, r3 807c1ac: 4b49 ldr r3, [pc, #292] ; (807c2d4 ) 807c1ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807c1b2: 461a mov r2, r3 807c1b4: 2127 movs r1, #39 ; 0x27 807c1b6: 200a movs r0, #10 807c1b8: f7d8 f8bc bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807c1bc: 4941 ldr r1, [pc, #260] ; (807c2c4 ) 807c1be: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807c1c2: f7d7 fb0f bl 80537e4 if(strlen(MeasFileName)) 807c1c6: 4b44 ldr r3, [pc, #272] ; (807c2d8 ) 807c1c8: 781b ldrb r3, [r3, #0] 807c1ca: 2b00 cmp r3, #0 807c1cc: d008 beq.n 807c1e0 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807c1ce: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807c1d2: 461a mov r2, r3 807c1d4: 21da movs r1, #218 ; 0xda 807c1d6: f44f 7082 mov.w r0, #260 ; 0x104 807c1da: f7d8 f8c3 bl 8054364 807c1de: e00f b.n 807c200 else LCD_DisplayString(10, LCD_LINE_13, (char *)TEXT_PARAM_VIB[pardata.LANG][10]);//"Çàïèñü â ôàéë" 807c1e0: 4b36 ldr r3, [pc, #216] ; (807c2bc ) 807c1e2: 7b1b ldrb r3, [r3, #12] 807c1e4: b2db uxtb r3, r3 807c1e6: 4619 mov r1, r3 807c1e8: 4a37 ldr r2, [pc, #220] ; (807c2c8 ) 807c1ea: 232c movs r3, #44 ; 0x2c 807c1ec: fb03 f301 mul.w r3, r3, r1 807c1f0: 4413 add r3, r2 807c1f2: 3328 adds r3, #40 ; 0x28 807c1f4: 681b ldr r3, [r3, #0] 807c1f6: 461a mov r2, r3 807c1f8: 21da movs r1, #218 ; 0xda 807c1fa: 200a movs r0, #10 807c1fc: f7d8 f89a bl 8054334 if(pardata.HP >= 2.0f) 807c200: 4b2e ldr r3, [pc, #184] ; (807c2bc ) 807c202: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807c206: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807c20a: eef4 7ac7 vcmpe.f32 s15, s14 807c20e: eef1 fa10 vmrs APSR_nzcv, fpscr 807c212: db65 blt.n 807c2e0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c214: 492b ldr r1, [pc, #172] ; (807c2c4 ) 807c216: f04f 30ff mov.w r0, #4294967295 807c21a: f7d7 fae3 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c21e: 4b27 ldr r3, [pc, #156] ; (807c2bc ) 807c220: 7b1b ldrb r3, [r3, #12] 807c222: b2db uxtb r3, r3 807c224: 4619 mov r1, r3 807c226: 4a28 ldr r2, [pc, #160] ; (807c2c8 ) 807c228: 232c movs r3, #44 ; 0x2c 807c22a: fb03 f301 mul.w r3, r3, r1 807c22e: 4413 add r3, r2 807c230: 330c adds r3, #12 807c232: 681b ldr r3, [r3, #0] 807c234: 461a mov r2, r3 807c236: 216a movs r1, #106 ; 0x6a 807c238: 200a movs r0, #10 807c23a: f7d8 f87b bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c23e: 4b1f ldr r3, [pc, #124] ; (807c2bc ) 807c240: 7b1b ldrb r3, [r3, #12] 807c242: b2db uxtb r3, r3 807c244: 4619 mov r1, r3 807c246: 4a20 ldr r2, [pc, #128] ; (807c2c8 ) 807c248: 232c movs r3, #44 ; 0x2c 807c24a: fb03 f301 mul.w r3, r3, r1 807c24e: 4413 add r3, r2 807c250: 3310 adds r3, #16 807c252: 681b ldr r3, [r3, #0] 807c254: 461a mov r2, r3 807c256: 217a movs r1, #122 ; 0x7a 807c258: 200a movs r0, #10 807c25a: f7d8 f86b bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c25e: 4919 ldr r1, [pc, #100] ; (807c2c4 ) 807c260: 481a ldr r0, [pc, #104] ; (807c2cc ) 807c262: f7d7 fabf bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c266: 4b15 ldr r3, [pc, #84] ; (807c2bc ) 807c268: 7b1b ldrb r3, [r3, #12] 807c26a: b2db uxtb r3, r3 807c26c: 4619 mov r1, r3 807c26e: 4b13 ldr r3, [pc, #76] ; (807c2bc ) 807c270: 78db ldrb r3, [r3, #3] 807c272: b2db uxtb r3, r3 807c274: 4618 mov r0, r3 807c276: 4a19 ldr r2, [pc, #100] ; (807c2dc ) 807c278: 460b mov r3, r1 807c27a: 009b lsls r3, r3, #2 807c27c: 440b add r3, r1 807c27e: 4403 add r3, r0 807c280: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c284: 461a mov r2, r3 807c286: 216a movs r1, #106 ; 0x6a 807c288: f44f 7082 mov.w r0, #260 ; 0x104 807c28c: f7d8 f86a bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c290: 4b0a ldr r3, [pc, #40] ; (807c2bc ) 807c292: 7b1b ldrb r3, [r3, #12] 807c294: b2db uxtb r3, r3 807c296: 4619 mov r1, r3 807c298: 4b08 ldr r3, [pc, #32] ; (807c2bc ) 807c29a: 791b ldrb r3, [r3, #4] 807c29c: b2db uxtb r3, r3 807c29e: 4618 mov r0, r3 807c2a0: 4a0e ldr r2, [pc, #56] ; (807c2dc ) 807c2a2: 460b mov r3, r1 807c2a4: 009b lsls r3, r3, #2 807c2a6: 440b add r3, r1 807c2a8: 4403 add r3, r0 807c2aa: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c2ae: 461a mov r2, r3 807c2b0: 217a movs r1, #122 ; 0x7a 807c2b2: f44f 7082 mov.w r0, #260 ; 0x104 807c2b6: f7d8 f855 bl 8054364 807c2ba: e05f b.n 807c37c 807c2bc: 20023e60 .word 0x20023e60 807c2c0: 2002070c .word 0x2002070c 807c2c4: ff0a0f1f .word 0xff0a0f1f 807c2c8: 200206b4 .word 0x200206b4 807c2cc: ffd8aa57 .word 0xffd8aa57 807c2d0: 20020070 .word 0x20020070 807c2d4: 200205c4 .word 0x200205c4 807c2d8: 20020e58 .word 0x20020e58 807c2dc: 200202bc .word 0x200202bc } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c2e0: 49c6 ldr r1, [pc, #792] ; (807c5fc ) 807c2e2: 48c7 ldr r0, [pc, #796] ; (807c600 ) 807c2e4: f7d7 fa7e bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c2e8: 4bc6 ldr r3, [pc, #792] ; (807c604 ) 807c2ea: 7b1b ldrb r3, [r3, #12] 807c2ec: b2db uxtb r3, r3 807c2ee: 4619 mov r1, r3 807c2f0: 4ac5 ldr r2, [pc, #788] ; (807c608 ) 807c2f2: 232c movs r3, #44 ; 0x2c 807c2f4: fb03 f301 mul.w r3, r3, r1 807c2f8: 4413 add r3, r2 807c2fa: 330c adds r3, #12 807c2fc: 681b ldr r3, [r3, #0] 807c2fe: 461a mov r2, r3 807c300: 216a movs r1, #106 ; 0x6a 807c302: 200a movs r0, #10 807c304: f7d8 f816 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c308: 4bbe ldr r3, [pc, #760] ; (807c604 ) 807c30a: 7b1b ldrb r3, [r3, #12] 807c30c: b2db uxtb r3, r3 807c30e: 4619 mov r1, r3 807c310: 4abd ldr r2, [pc, #756] ; (807c608 ) 807c312: 232c movs r3, #44 ; 0x2c 807c314: fb03 f301 mul.w r3, r3, r1 807c318: 4413 add r3, r2 807c31a: 3310 adds r3, #16 807c31c: 681b ldr r3, [r3, #0] 807c31e: 461a mov r2, r3 807c320: 217a movs r1, #122 ; 0x7a 807c322: 200a movs r0, #10 807c324: f7d8 f806 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c328: 4bb6 ldr r3, [pc, #728] ; (807c604 ) 807c32a: 7b1b ldrb r3, [r3, #12] 807c32c: b2db uxtb r3, r3 807c32e: 4619 mov r1, r3 807c330: 4bb4 ldr r3, [pc, #720] ; (807c604 ) 807c332: 78db ldrb r3, [r3, #3] 807c334: b2db uxtb r3, r3 807c336: 4618 mov r0, r3 807c338: 4ab4 ldr r2, [pc, #720] ; (807c60c ) 807c33a: 460b mov r3, r1 807c33c: 009b lsls r3, r3, #2 807c33e: 440b add r3, r1 807c340: 4403 add r3, r0 807c342: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c346: 461a mov r2, r3 807c348: 216a movs r1, #106 ; 0x6a 807c34a: f44f 7082 mov.w r0, #260 ; 0x104 807c34e: f7d8 f809 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c352: 4bac ldr r3, [pc, #688] ; (807c604 ) 807c354: 7b1b ldrb r3, [r3, #12] 807c356: b2db uxtb r3, r3 807c358: 4619 mov r1, r3 807c35a: 4baa ldr r3, [pc, #680] ; (807c604 ) 807c35c: 791b ldrb r3, [r3, #4] 807c35e: b2db uxtb r3, r3 807c360: 4618 mov r0, r3 807c362: 4aaa ldr r2, [pc, #680] ; (807c60c ) 807c364: 460b mov r3, r1 807c366: 009b lsls r3, r3, #2 807c368: 440b add r3, r1 807c36a: 4403 add r3, r0 807c36c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c370: 461a mov r2, r3 807c372: 217a movs r1, #122 ; 0x7a 807c374: f44f 7082 mov.w r0, #260 ; 0x104 807c378: f7d7 fff4 bl 8054364 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c37c: 499f ldr r1, [pc, #636] ; (807c5fc ) 807c37e: 48a4 ldr r0, [pc, #656] ; (807c610 ) 807c380: f7d7 fa30 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807c384: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807c388: 461a mov r2, r3 807c38a: 213a movs r1, #58 ; 0x3a 807c38c: f44f 7082 mov.w r0, #260 ; 0x104 807c390: f7d7 ffe8 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807c394: f507 73cc add.w r3, r7, #408 ; 0x198 807c398: 461a mov r2, r3 807c39a: 214a movs r1, #74 ; 0x4a 807c39c: f44f 7082 mov.w r0, #260 ; 0x104 807c3a0: f7d7 ffe0 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807c3a4: 4b97 ldr r3, [pc, #604] ; (807c604 ) 807c3a6: 7b1b ldrb r3, [r3, #12] 807c3a8: b2db uxtb r3, r3 807c3aa: 4619 mov r1, r3 807c3ac: 4b95 ldr r3, [pc, #596] ; (807c604 ) 807c3ae: 789b ldrb r3, [r3, #2] 807c3b0: b2db uxtb r3, r3 807c3b2: 4618 mov r0, r3 807c3b4: 4a95 ldr r2, [pc, #596] ; (807c60c ) 807c3b6: 460b mov r3, r1 807c3b8: 009b lsls r3, r3, #2 807c3ba: 440b add r3, r1 807c3bc: 4403 add r3, r0 807c3be: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c3c2: 461a mov r2, r3 807c3c4: 215a movs r1, #90 ; 0x5a 807c3c6: f44f 7082 mov.w r0, #260 ; 0x104 807c3ca: f7d7 ffcb bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807c3ce: 4b8d ldr r3, [pc, #564] ; (807c604 ) 807c3d0: 7b1b ldrb r3, [r3, #12] 807c3d2: b2db uxtb r3, r3 807c3d4: 4619 mov r1, r3 807c3d6: 4b8b ldr r3, [pc, #556] ; (807c604 ) 807c3d8: 7b5b ldrb r3, [r3, #13] 807c3da: b2db uxtb r3, r3 807c3dc: 4618 mov r0, r3 807c3de: 4a8d ldr r2, [pc, #564] ; (807c614 ) 807c3e0: 460b mov r3, r1 807c3e2: 009b lsls r3, r3, #2 807c3e4: 440b add r3, r1 807c3e6: 005b lsls r3, r3, #1 807c3e8: 4403 add r3, r0 807c3ea: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c3ee: 461a mov r2, r3 807c3f0: 218a movs r1, #138 ; 0x8a 807c3f2: f44f 7082 mov.w r0, #260 ; 0x104 807c3f6: f7d7 ffb5 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c3fa: 4980 ldr r1, [pc, #512] ; (807c5fc ) 807c3fc: f04f 30ff mov.w r0, #4294967295 807c400: f7d7 f9f0 bl 80537e4 BSP_LCD_FillRect(255, 157, 10, 10); 807c404: 230a movs r3, #10 807c406: 220a movs r2, #10 807c408: 219d movs r1, #157 ; 0x9d 807c40a: 20ff movs r0, #255 ; 0xff 807c40c: f7d7 fe78 bl 8054100 BSP_LCD_FillRect(255, 173, 10, 10); 807c410: 230a movs r3, #10 807c412: 220a movs r2, #10 807c414: 21ad movs r1, #173 ; 0xad 807c416: 20ff movs r0, #255 ; 0xff 807c418: f7d7 fe72 bl 8054100 BSP_LCD_FillRect(255, 189, 10, 10); 807c41c: 230a movs r3, #10 807c41e: 220a movs r2, #10 807c420: 21bd movs r1, #189 ; 0xbd 807c422: 20ff movs r0, #255 ; 0xff 807c424: f7d7 fe6c bl 8054100 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807c428: 4b76 ldr r3, [pc, #472] ; (807c604 ) 807c42a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807c42e: f003 0304 and.w r3, r3, #4 807c432: 2b00 cmp r3, #0 807c434: d033 beq.n 807c49e { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c436: 4971 ldr r1, [pc, #452] ; (807c5fc ) 807c438: 4871 ldr r0, [pc, #452] ; (807c600 ) 807c43a: f7d7 f9d3 bl 80537e4 if(pardata.IIN != VOLTS) 807c43e: 4b71 ldr r3, [pc, #452] ; (807c604 ) 807c440: 799b ldrb r3, [r3, #6] 807c442: b2db uxtb r3, r3 807c444: 2b02 cmp r3, #2 807c446: d010 beq.n 807c46a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c448: 4b6e ldr r3, [pc, #440] ; (807c604 ) 807c44a: 7b1b ldrb r3, [r3, #12] 807c44c: b2db uxtb r3, r3 807c44e: 4619 mov r1, r3 807c450: 4a6d ldr r2, [pc, #436] ; (807c608 ) 807c452: 232c movs r3, #44 ; 0x2c 807c454: fb03 f301 mul.w r3, r3, r1 807c458: 4413 add r3, r2 807c45a: 3324 adds r3, #36 ; 0x24 807c45c: 681b ldr r3, [r3, #0] 807c45e: 461a mov r2, r3 807c460: 21ca movs r1, #202 ; 0xca 807c462: 200a movs r0, #10 807c464: f7d7 ff66 bl 8054334 807c468: e00f b.n 807c48a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c46a: 4b66 ldr r3, [pc, #408] ; (807c604 ) 807c46c: 7b1b ldrb r3, [r3, #12] 807c46e: b2db uxtb r3, r3 807c470: 4619 mov r1, r3 807c472: 4a69 ldr r2, [pc, #420] ; (807c618 ) 807c474: 232c movs r3, #44 ; 0x2c 807c476: fb03 f301 mul.w r3, r3, r1 807c47a: 4413 add r3, r2 807c47c: 3324 adds r3, #36 ; 0x24 807c47e: 681b ldr r3, [r3, #0] 807c480: 461a mov r2, r3 807c482: 21ca movs r1, #202 ; 0xca 807c484: 200a movs r0, #10 807c486: f7d7 ff55 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807c48a: f507 733b add.w r3, r7, #748 ; 0x2ec 807c48e: 461a mov r2, r3 807c490: 21ca movs r1, #202 ; 0xca 807c492: f44f 7082 mov.w r0, #260 ; 0x104 807c496: f7d7 ff65 bl 8054364 807c49a: f001 bbe5 b.w 807dc68 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c49e: 4957 ldr r1, [pc, #348] ; (807c5fc ) 807c4a0: f04f 30ff mov.w r0, #4294967295 807c4a4: f7d7 f99e bl 80537e4 if(pardata.IIN != VOLTS) 807c4a8: 4b56 ldr r3, [pc, #344] ; (807c604 ) 807c4aa: 799b ldrb r3, [r3, #6] 807c4ac: b2db uxtb r3, r3 807c4ae: 2b02 cmp r3, #2 807c4b0: d010 beq.n 807c4d4 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c4b2: 4b54 ldr r3, [pc, #336] ; (807c604 ) 807c4b4: 7b1b ldrb r3, [r3, #12] 807c4b6: b2db uxtb r3, r3 807c4b8: 4619 mov r1, r3 807c4ba: 4a53 ldr r2, [pc, #332] ; (807c608 ) 807c4bc: 232c movs r3, #44 ; 0x2c 807c4be: fb03 f301 mul.w r3, r3, r1 807c4c2: 4413 add r3, r2 807c4c4: 3324 adds r3, #36 ; 0x24 807c4c6: 681b ldr r3, [r3, #0] 807c4c8: 461a mov r2, r3 807c4ca: 21ca movs r1, #202 ; 0xca 807c4cc: 200a movs r0, #10 807c4ce: f7d7 ff31 bl 8054334 807c4d2: e00f b.n 807c4f4 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c4d4: 4b4b ldr r3, [pc, #300] ; (807c604 ) 807c4d6: 7b1b ldrb r3, [r3, #12] 807c4d8: b2db uxtb r3, r3 807c4da: 4619 mov r1, r3 807c4dc: 4a4e ldr r2, [pc, #312] ; (807c618 ) 807c4de: 232c movs r3, #44 ; 0x2c 807c4e0: fb03 f301 mul.w r3, r3, r1 807c4e4: 4413 add r3, r2 807c4e6: 3324 adds r3, #36 ; 0x24 807c4e8: 681b ldr r3, [r3, #0] 807c4ea: 461a mov r2, r3 807c4ec: 21ca movs r1, #202 ; 0xca 807c4ee: 200a movs r0, #10 807c4f0: f7d7 ff20 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c4f4: 4941 ldr r1, [pc, #260] ; (807c5fc ) 807c4f6: 4846 ldr r0, [pc, #280] ; (807c610 ) 807c4f8: f7d7 f974 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807c4fc: f507 733b add.w r3, r7, #748 ; 0x2ec 807c500: 461a mov r2, r3 807c502: 21ca movs r1, #202 ; 0xca 807c504: f44f 7082 mov.w r0, #260 ; 0x104 807c508: f7d7 ff2c bl 8054364 807c50c: f001 bbac b.w 807dc68 } } else if(menupos == VibMax_ALL) 807c510: 4b42 ldr r3, [pc, #264] ; (807c61c ) 807c512: 781b ldrb r3, [r3, #0] 807c514: b2db uxtb r3, r3 807c516: 2b09 cmp r3, #9 807c518: f040 81a5 bne.w 807c866 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c51c: 4937 ldr r1, [pc, #220] ; (807c5fc ) 807c51e: f04f 30ff mov.w r0, #4294967295 807c522: f7d7 f95f bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807c526: 4b37 ldr r3, [pc, #220] ; (807c604 ) 807c528: 7b1b ldrb r3, [r3, #12] 807c52a: b2db uxtb r3, r3 807c52c: 461a mov r2, r3 807c52e: 4b3c ldr r3, [pc, #240] ; (807c620 ) 807c530: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807c534: 461a mov r2, r3 807c536: 2127 movs r1, #39 ; 0x27 807c538: 200a movs r0, #10 807c53a: f7d7 fefb bl 8054334 if(pardata.HP >= 2.0f) 807c53e: 4b31 ldr r3, [pc, #196] ; (807c604 ) 807c540: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807c544: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807c548: eef4 7ac7 vcmpe.f32 s15, s14 807c54c: eef1 fa10 vmrs APSR_nzcv, fpscr 807c550: db68 blt.n 807c624 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c552: 492a ldr r1, [pc, #168] ; (807c5fc ) 807c554: f04f 30ff mov.w r0, #4294967295 807c558: f7d7 f944 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c55c: 4b29 ldr r3, [pc, #164] ; (807c604 ) 807c55e: 7b1b ldrb r3, [r3, #12] 807c560: b2db uxtb r3, r3 807c562: 4619 mov r1, r3 807c564: 4a28 ldr r2, [pc, #160] ; (807c608 ) 807c566: 232c movs r3, #44 ; 0x2c 807c568: fb03 f301 mul.w r3, r3, r1 807c56c: 4413 add r3, r2 807c56e: 330c adds r3, #12 807c570: 681b ldr r3, [r3, #0] 807c572: 461a mov r2, r3 807c574: 216a movs r1, #106 ; 0x6a 807c576: 200a movs r0, #10 807c578: f7d7 fedc bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c57c: 4b21 ldr r3, [pc, #132] ; (807c604 ) 807c57e: 7b1b ldrb r3, [r3, #12] 807c580: b2db uxtb r3, r3 807c582: 4619 mov r1, r3 807c584: 4a20 ldr r2, [pc, #128] ; (807c608 ) 807c586: 232c movs r3, #44 ; 0x2c 807c588: fb03 f301 mul.w r3, r3, r1 807c58c: 4413 add r3, r2 807c58e: 3310 adds r3, #16 807c590: 681b ldr r3, [r3, #0] 807c592: 461a mov r2, r3 807c594: 217a movs r1, #122 ; 0x7a 807c596: 200a movs r0, #10 807c598: f7d7 fecc bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c59c: 4917 ldr r1, [pc, #92] ; (807c5fc ) 807c59e: 481c ldr r0, [pc, #112] ; (807c610 ) 807c5a0: f7d7 f920 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c5a4: 4b17 ldr r3, [pc, #92] ; (807c604 ) 807c5a6: 7b1b ldrb r3, [r3, #12] 807c5a8: b2db uxtb r3, r3 807c5aa: 4619 mov r1, r3 807c5ac: 4b15 ldr r3, [pc, #84] ; (807c604 ) 807c5ae: 78db ldrb r3, [r3, #3] 807c5b0: b2db uxtb r3, r3 807c5b2: 4618 mov r0, r3 807c5b4: 4a15 ldr r2, [pc, #84] ; (807c60c ) 807c5b6: 460b mov r3, r1 807c5b8: 009b lsls r3, r3, #2 807c5ba: 440b add r3, r1 807c5bc: 4403 add r3, r0 807c5be: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c5c2: 461a mov r2, r3 807c5c4: 216a movs r1, #106 ; 0x6a 807c5c6: f44f 7082 mov.w r0, #260 ; 0x104 807c5ca: f7d7 fecb bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c5ce: 4b0d ldr r3, [pc, #52] ; (807c604 ) 807c5d0: 7b1b ldrb r3, [r3, #12] 807c5d2: b2db uxtb r3, r3 807c5d4: 4619 mov r1, r3 807c5d6: 4b0b ldr r3, [pc, #44] ; (807c604 ) 807c5d8: 791b ldrb r3, [r3, #4] 807c5da: b2db uxtb r3, r3 807c5dc: 4618 mov r0, r3 807c5de: 4a0b ldr r2, [pc, #44] ; (807c60c ) 807c5e0: 460b mov r3, r1 807c5e2: 009b lsls r3, r3, #2 807c5e4: 440b add r3, r1 807c5e6: 4403 add r3, r0 807c5e8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c5ec: 461a mov r2, r3 807c5ee: 217a movs r1, #122 ; 0x7a 807c5f0: f44f 7082 mov.w r0, #260 ; 0x104 807c5f4: f7d7 feb6 bl 8054364 807c5f8: e062 b.n 807c6c0 807c5fa: bf00 nop 807c5fc: ff0a0f1f .word 0xff0a0f1f 807c600: ff808080 .word 0xff808080 807c604: 20023e60 .word 0x20023e60 807c608: 200206b4 .word 0x200206b4 807c60c: 200202bc .word 0x200202bc 807c610: ffd8aa57 .word 0xffd8aa57 807c614: 2002024c .word 0x2002024c 807c618: 2002070c .word 0x2002070c 807c61c: 20020070 .word 0x20020070 807c620: 200205c4 .word 0x200205c4 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c624: 49c7 ldr r1, [pc, #796] ; (807c944 ) 807c626: 48c8 ldr r0, [pc, #800] ; (807c948 ) 807c628: f7d7 f8dc bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c62c: 4bc7 ldr r3, [pc, #796] ; (807c94c ) 807c62e: 7b1b ldrb r3, [r3, #12] 807c630: b2db uxtb r3, r3 807c632: 4619 mov r1, r3 807c634: 4ac6 ldr r2, [pc, #792] ; (807c950 ) 807c636: 232c movs r3, #44 ; 0x2c 807c638: fb03 f301 mul.w r3, r3, r1 807c63c: 4413 add r3, r2 807c63e: 330c adds r3, #12 807c640: 681b ldr r3, [r3, #0] 807c642: 461a mov r2, r3 807c644: 216a movs r1, #106 ; 0x6a 807c646: 200a movs r0, #10 807c648: f7d7 fe74 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c64c: 4bbf ldr r3, [pc, #764] ; (807c94c ) 807c64e: 7b1b ldrb r3, [r3, #12] 807c650: b2db uxtb r3, r3 807c652: 4619 mov r1, r3 807c654: 4abe ldr r2, [pc, #760] ; (807c950 ) 807c656: 232c movs r3, #44 ; 0x2c 807c658: fb03 f301 mul.w r3, r3, r1 807c65c: 4413 add r3, r2 807c65e: 3310 adds r3, #16 807c660: 681b ldr r3, [r3, #0] 807c662: 461a mov r2, r3 807c664: 217a movs r1, #122 ; 0x7a 807c666: 200a movs r0, #10 807c668: f7d7 fe64 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c66c: 4bb7 ldr r3, [pc, #732] ; (807c94c ) 807c66e: 7b1b ldrb r3, [r3, #12] 807c670: b2db uxtb r3, r3 807c672: 4619 mov r1, r3 807c674: 4bb5 ldr r3, [pc, #724] ; (807c94c ) 807c676: 78db ldrb r3, [r3, #3] 807c678: b2db uxtb r3, r3 807c67a: 4618 mov r0, r3 807c67c: 4ab5 ldr r2, [pc, #724] ; (807c954 ) 807c67e: 460b mov r3, r1 807c680: 009b lsls r3, r3, #2 807c682: 440b add r3, r1 807c684: 4403 add r3, r0 807c686: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c68a: 461a mov r2, r3 807c68c: 216a movs r1, #106 ; 0x6a 807c68e: f44f 7082 mov.w r0, #260 ; 0x104 807c692: f7d7 fe67 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c696: 4bad ldr r3, [pc, #692] ; (807c94c ) 807c698: 7b1b ldrb r3, [r3, #12] 807c69a: b2db uxtb r3, r3 807c69c: 4619 mov r1, r3 807c69e: 4bab ldr r3, [pc, #684] ; (807c94c ) 807c6a0: 791b ldrb r3, [r3, #4] 807c6a2: b2db uxtb r3, r3 807c6a4: 4618 mov r0, r3 807c6a6: 4aab ldr r2, [pc, #684] ; (807c954 ) 807c6a8: 460b mov r3, r1 807c6aa: 009b lsls r3, r3, #2 807c6ac: 440b add r3, r1 807c6ae: 4403 add r3, r0 807c6b0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c6b4: 461a mov r2, r3 807c6b6: 217a movs r1, #122 ; 0x7a 807c6b8: f44f 7082 mov.w r0, #260 ; 0x104 807c6bc: f7d7 fe52 bl 8054364 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c6c0: 49a0 ldr r1, [pc, #640] ; (807c944 ) 807c6c2: 48a5 ldr r0, [pc, #660] ; (807c958 ) 807c6c4: f7d7 f88e bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807c6c8: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807c6cc: 461a mov r2, r3 807c6ce: 213a movs r1, #58 ; 0x3a 807c6d0: f44f 7082 mov.w r0, #260 ; 0x104 807c6d4: f7d7 fe46 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807c6d8: f507 73cc add.w r3, r7, #408 ; 0x198 807c6dc: 461a mov r2, r3 807c6de: 214a movs r1, #74 ; 0x4a 807c6e0: f44f 7082 mov.w r0, #260 ; 0x104 807c6e4: f7d7 fe3e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807c6e8: 4b98 ldr r3, [pc, #608] ; (807c94c ) 807c6ea: 7b1b ldrb r3, [r3, #12] 807c6ec: b2db uxtb r3, r3 807c6ee: 4619 mov r1, r3 807c6f0: 4b96 ldr r3, [pc, #600] ; (807c94c ) 807c6f2: 789b ldrb r3, [r3, #2] 807c6f4: b2db uxtb r3, r3 807c6f6: 4618 mov r0, r3 807c6f8: 4a96 ldr r2, [pc, #600] ; (807c954 ) 807c6fa: 460b mov r3, r1 807c6fc: 009b lsls r3, r3, #2 807c6fe: 440b add r3, r1 807c700: 4403 add r3, r0 807c702: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c706: 461a mov r2, r3 807c708: 215a movs r1, #90 ; 0x5a 807c70a: f44f 7082 mov.w r0, #260 ; 0x104 807c70e: f7d7 fe29 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807c712: 4b8e ldr r3, [pc, #568] ; (807c94c ) 807c714: 7b1b ldrb r3, [r3, #12] 807c716: b2db uxtb r3, r3 807c718: 4619 mov r1, r3 807c71a: 4b8c ldr r3, [pc, #560] ; (807c94c ) 807c71c: 7b5b ldrb r3, [r3, #13] 807c71e: b2db uxtb r3, r3 807c720: 4618 mov r0, r3 807c722: 4a8e ldr r2, [pc, #568] ; (807c95c ) 807c724: 460b mov r3, r1 807c726: 009b lsls r3, r3, #2 807c728: 440b add r3, r1 807c72a: 005b lsls r3, r3, #1 807c72c: 4403 add r3, r0 807c72e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c732: 461a mov r2, r3 807c734: 218a movs r1, #138 ; 0x8a 807c736: f44f 7082 mov.w r0, #260 ; 0x104 807c73a: f7d7 fe13 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807c73e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807c742: 461a mov r2, r3 807c744: 21da movs r1, #218 ; 0xda 807c746: f44f 7082 mov.w r0, #260 ; 0x104 807c74a: f7d7 fe0b bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c74e: 497d ldr r1, [pc, #500] ; (807c944 ) 807c750: f04f 30ff mov.w r0, #4294967295 807c754: f7d7 f846 bl 80537e4 BSP_LCD_FillRect(255, 157, 10, 10); 807c758: 230a movs r3, #10 807c75a: 220a movs r2, #10 807c75c: 219d movs r1, #157 ; 0x9d 807c75e: 20ff movs r0, #255 ; 0xff 807c760: f7d7 fcce bl 8054100 BSP_LCD_FillRect(255, 173, 10, 10); 807c764: 230a movs r3, #10 807c766: 220a movs r2, #10 807c768: 21ad movs r1, #173 ; 0xad 807c76a: 20ff movs r0, #255 ; 0xff 807c76c: f7d7 fcc8 bl 8054100 BSP_LCD_FillRect(255, 189, 10, 10); 807c770: 230a movs r3, #10 807c772: 220a movs r2, #10 807c774: 21bd movs r1, #189 ; 0xbd 807c776: 20ff movs r0, #255 ; 0xff 807c778: f7d7 fcc2 bl 8054100 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807c77c: 4b73 ldr r3, [pc, #460] ; (807c94c ) 807c77e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807c782: f003 0304 and.w r3, r3, #4 807c786: 2b00 cmp r3, #0 807c788: d033 beq.n 807c7f2 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c78a: 496e ldr r1, [pc, #440] ; (807c944 ) 807c78c: 486e ldr r0, [pc, #440] ; (807c948 ) 807c78e: f7d7 f829 bl 80537e4 if(pardata.IIN != VOLTS) 807c792: 4b6e ldr r3, [pc, #440] ; (807c94c ) 807c794: 799b ldrb r3, [r3, #6] 807c796: b2db uxtb r3, r3 807c798: 2b02 cmp r3, #2 807c79a: d010 beq.n 807c7be LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c79c: 4b6b ldr r3, [pc, #428] ; (807c94c ) 807c79e: 7b1b ldrb r3, [r3, #12] 807c7a0: b2db uxtb r3, r3 807c7a2: 4619 mov r1, r3 807c7a4: 4a6a ldr r2, [pc, #424] ; (807c950 ) 807c7a6: 232c movs r3, #44 ; 0x2c 807c7a8: fb03 f301 mul.w r3, r3, r1 807c7ac: 4413 add r3, r2 807c7ae: 3324 adds r3, #36 ; 0x24 807c7b0: 681b ldr r3, [r3, #0] 807c7b2: 461a mov r2, r3 807c7b4: 21ca movs r1, #202 ; 0xca 807c7b6: 200a movs r0, #10 807c7b8: f7d7 fdbc bl 8054334 807c7bc: e00f b.n 807c7de else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c7be: 4b63 ldr r3, [pc, #396] ; (807c94c ) 807c7c0: 7b1b ldrb r3, [r3, #12] 807c7c2: b2db uxtb r3, r3 807c7c4: 4619 mov r1, r3 807c7c6: 4a66 ldr r2, [pc, #408] ; (807c960 ) 807c7c8: 232c movs r3, #44 ; 0x2c 807c7ca: fb03 f301 mul.w r3, r3, r1 807c7ce: 4413 add r3, r2 807c7d0: 3324 adds r3, #36 ; 0x24 807c7d2: 681b ldr r3, [r3, #0] 807c7d4: 461a mov r2, r3 807c7d6: 21ca movs r1, #202 ; 0xca 807c7d8: 200a movs r0, #10 807c7da: f7d7 fdab bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807c7de: f507 733b add.w r3, r7, #748 ; 0x2ec 807c7e2: 461a mov r2, r3 807c7e4: 21ca movs r1, #202 ; 0xca 807c7e6: f44f 7082 mov.w r0, #260 ; 0x104 807c7ea: f7d7 fdbb bl 8054364 807c7ee: f001 ba3b b.w 807dc68 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c7f2: 4954 ldr r1, [pc, #336] ; (807c944 ) 807c7f4: f04f 30ff mov.w r0, #4294967295 807c7f8: f7d6 fff4 bl 80537e4 if(pardata.IIN != VOLTS) 807c7fc: 4b53 ldr r3, [pc, #332] ; (807c94c ) 807c7fe: 799b ldrb r3, [r3, #6] 807c800: b2db uxtb r3, r3 807c802: 2b02 cmp r3, #2 807c804: d010 beq.n 807c828 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c806: 4b51 ldr r3, [pc, #324] ; (807c94c ) 807c808: 7b1b ldrb r3, [r3, #12] 807c80a: b2db uxtb r3, r3 807c80c: 4619 mov r1, r3 807c80e: 4a50 ldr r2, [pc, #320] ; (807c950 ) 807c810: 232c movs r3, #44 ; 0x2c 807c812: fb03 f301 mul.w r3, r3, r1 807c816: 4413 add r3, r2 807c818: 3324 adds r3, #36 ; 0x24 807c81a: 681b ldr r3, [r3, #0] 807c81c: 461a mov r2, r3 807c81e: 21ca movs r1, #202 ; 0xca 807c820: 200a movs r0, #10 807c822: f7d7 fd87 bl 8054334 807c826: e00f b.n 807c848 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807c828: 4b48 ldr r3, [pc, #288] ; (807c94c ) 807c82a: 7b1b ldrb r3, [r3, #12] 807c82c: b2db uxtb r3, r3 807c82e: 4619 mov r1, r3 807c830: 4a4b ldr r2, [pc, #300] ; (807c960 ) 807c832: 232c movs r3, #44 ; 0x2c 807c834: fb03 f301 mul.w r3, r3, r1 807c838: 4413 add r3, r2 807c83a: 3324 adds r3, #36 ; 0x24 807c83c: 681b ldr r3, [r3, #0] 807c83e: 461a mov r2, r3 807c840: 21ca movs r1, #202 ; 0xca 807c842: 200a movs r0, #10 807c844: f7d7 fd76 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807c848: 493e ldr r1, [pc, #248] ; (807c944 ) 807c84a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807c84e: f7d6 ffc9 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807c852: f507 733b add.w r3, r7, #748 ; 0x2ec 807c856: 461a mov r2, r3 807c858: 21ca movs r1, #202 ; 0xca 807c85a: f44f 7082 mov.w r0, #260 ; 0x104 807c85e: f7d7 fd81 bl 8054364 807c862: f001 ba01 b.w 807dc68 } } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c866: 4937 ldr r1, [pc, #220] ; (807c944 ) 807c868: f04f 30ff mov.w r0, #4294967295 807c86c: f7d6 ffba bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807c870: 4b36 ldr r3, [pc, #216] ; (807c94c ) 807c872: 7b1b ldrb r3, [r3, #12] 807c874: b2db uxtb r3, r3 807c876: 461a mov r2, r3 807c878: 4b3a ldr r3, [pc, #232] ; (807c964 ) 807c87a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807c87e: 461a mov r2, r3 807c880: 2127 movs r1, #39 ; 0x27 807c882: 200a movs r0, #10 807c884: f7d7 fd56 bl 8054334 if(pardata.HP >= 2.0f) 807c888: 4b30 ldr r3, [pc, #192] ; (807c94c ) 807c88a: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 807c88e: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 807c892: eef4 7ac7 vcmpe.f32 s15, s14 807c896: eef1 fa10 vmrs APSR_nzcv, fpscr 807c89a: db65 blt.n 807c968 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807c89c: 4929 ldr r1, [pc, #164] ; (807c944 ) 807c89e: f04f 30ff mov.w r0, #4294967295 807c8a2: f7d6 ff9f bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c8a6: 4b29 ldr r3, [pc, #164] ; (807c94c ) 807c8a8: 7b1b ldrb r3, [r3, #12] 807c8aa: b2db uxtb r3, r3 807c8ac: 4619 mov r1, r3 807c8ae: 4a28 ldr r2, [pc, #160] ; (807c950 ) 807c8b0: 232c movs r3, #44 ; 0x2c 807c8b2: fb03 f301 mul.w r3, r3, r1 807c8b6: 4413 add r3, r2 807c8b8: 330c adds r3, #12 807c8ba: 681b ldr r3, [r3, #0] 807c8bc: 461a mov r2, r3 807c8be: 216a movs r1, #106 ; 0x6a 807c8c0: 200a movs r0, #10 807c8c2: f7d7 fd37 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c8c6: 4b21 ldr r3, [pc, #132] ; (807c94c ) 807c8c8: 7b1b ldrb r3, [r3, #12] 807c8ca: b2db uxtb r3, r3 807c8cc: 4619 mov r1, r3 807c8ce: 4a20 ldr r2, [pc, #128] ; (807c950 ) 807c8d0: 232c movs r3, #44 ; 0x2c 807c8d2: fb03 f301 mul.w r3, r3, r1 807c8d6: 4413 add r3, r2 807c8d8: 3310 adds r3, #16 807c8da: 681b ldr r3, [r3, #0] 807c8dc: 461a mov r2, r3 807c8de: 217a movs r1, #122 ; 0x7a 807c8e0: 200a movs r0, #10 807c8e2: f7d7 fd27 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807c8e6: 4917 ldr r1, [pc, #92] ; (807c944 ) 807c8e8: 481b ldr r0, [pc, #108] ; (807c958 ) 807c8ea: f7d6 ff7b bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c8ee: 4b17 ldr r3, [pc, #92] ; (807c94c ) 807c8f0: 7b1b ldrb r3, [r3, #12] 807c8f2: b2db uxtb r3, r3 807c8f4: 4619 mov r1, r3 807c8f6: 4b15 ldr r3, [pc, #84] ; (807c94c ) 807c8f8: 78db ldrb r3, [r3, #3] 807c8fa: b2db uxtb r3, r3 807c8fc: 4618 mov r0, r3 807c8fe: 4a15 ldr r2, [pc, #84] ; (807c954 ) 807c900: 460b mov r3, r1 807c902: 009b lsls r3, r3, #2 807c904: 440b add r3, r1 807c906: 4403 add r3, r0 807c908: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c90c: 461a mov r2, r3 807c90e: 216a movs r1, #106 ; 0x6a 807c910: f44f 7082 mov.w r0, #260 ; 0x104 807c914: f7d7 fd26 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c918: 4b0c ldr r3, [pc, #48] ; (807c94c ) 807c91a: 7b1b ldrb r3, [r3, #12] 807c91c: b2db uxtb r3, r3 807c91e: 4619 mov r1, r3 807c920: 4b0a ldr r3, [pc, #40] ; (807c94c ) 807c922: 791b ldrb r3, [r3, #4] 807c924: b2db uxtb r3, r3 807c926: 4618 mov r0, r3 807c928: 4a0a ldr r2, [pc, #40] ; (807c954 ) 807c92a: 460b mov r3, r1 807c92c: 009b lsls r3, r3, #2 807c92e: 440b add r3, r1 807c930: 4403 add r3, r0 807c932: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c936: 461a mov r2, r3 807c938: 217a movs r1, #122 ; 0x7a 807c93a: f44f 7082 mov.w r0, #260 ; 0x104 807c93e: f7d7 fd11 bl 8054364 807c942: e05f b.n 807ca04 807c944: ff0a0f1f .word 0xff0a0f1f 807c948: ff808080 .word 0xff808080 807c94c: 20023e60 .word 0x20023e60 807c950: 200206b4 .word 0x200206b4 807c954: 200202bc .word 0x200202bc 807c958: ffd8aa57 .word 0xffd8aa57 807c95c: 2002024c .word 0x2002024c 807c960: 2002070c .word 0x2002070c 807c964: 200205c4 .word 0x200205c4 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807c968: 49bb ldr r1, [pc, #748] ; (807cc58 ) 807c96a: 48bc ldr r0, [pc, #752] ; (807cc5c ) 807c96c: f7d6 ff3a bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_VIB[pardata.LANG][3]);//"Çíà÷åíèå Ñêîðîñòè" 807c970: 4bbb ldr r3, [pc, #748] ; (807cc60 ) 807c972: 7b1b ldrb r3, [r3, #12] 807c974: b2db uxtb r3, r3 807c976: 4619 mov r1, r3 807c978: 4aba ldr r2, [pc, #744] ; (807cc64 ) 807c97a: 232c movs r3, #44 ; 0x2c 807c97c: fb03 f301 mul.w r3, r3, r1 807c980: 4413 add r3, r2 807c982: 330c adds r3, #12 807c984: 681b ldr r3, [r3, #0] 807c986: 461a mov r2, r3 807c988: 216a movs r1, #106 ; 0x6a 807c98a: 200a movs r0, #10 807c98c: f7d7 fcd2 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][4]);//"Çíà÷åíèå Ïåðåìåù" 807c990: 4bb3 ldr r3, [pc, #716] ; (807cc60 ) 807c992: 7b1b ldrb r3, [r3, #12] 807c994: b2db uxtb r3, r3 807c996: 4619 mov r1, r3 807c998: 4ab2 ldr r2, [pc, #712] ; (807cc64 ) 807c99a: 232c movs r3, #44 ; 0x2c 807c99c: fb03 f301 mul.w r3, r3, r1 807c9a0: 4413 add r3, r2 807c9a2: 3310 adds r3, #16 807c9a4: 681b ldr r3, [r3, #0] 807c9a6: 461a mov r2, r3 807c9a8: 217a movs r1, #122 ; 0x7a 807c9aa: 200a movs r0, #10 807c9ac: f7d7 fcc2 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][pardata.IVS[VEL]]); 807c9b0: 4bab ldr r3, [pc, #684] ; (807cc60 ) 807c9b2: 7b1b ldrb r3, [r3, #12] 807c9b4: b2db uxtb r3, r3 807c9b6: 4619 mov r1, r3 807c9b8: 4ba9 ldr r3, [pc, #676] ; (807cc60 ) 807c9ba: 78db ldrb r3, [r3, #3] 807c9bc: b2db uxtb r3, r3 807c9be: 4618 mov r0, r3 807c9c0: 4aa9 ldr r2, [pc, #676] ; (807cc68 ) 807c9c2: 460b mov r3, r1 807c9c4: 009b lsls r3, r3, #2 807c9c6: 440b add r3, r1 807c9c8: 4403 add r3, r0 807c9ca: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c9ce: 461a mov r2, r3 807c9d0: 216a movs r1, #106 ; 0x6a 807c9d2: f44f 7082 mov.w r0, #260 ; 0x104 807c9d6: f7d7 fcc5 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pIVS[pardata.LANG][pardata.IVS[DIS]]); 807c9da: 4ba1 ldr r3, [pc, #644] ; (807cc60 ) 807c9dc: 7b1b ldrb r3, [r3, #12] 807c9de: b2db uxtb r3, r3 807c9e0: 4619 mov r1, r3 807c9e2: 4b9f ldr r3, [pc, #636] ; (807cc60 ) 807c9e4: 791b ldrb r3, [r3, #4] 807c9e6: b2db uxtb r3, r3 807c9e8: 4618 mov r0, r3 807c9ea: 4a9f ldr r2, [pc, #636] ; (807cc68 ) 807c9ec: 460b mov r3, r1 807c9ee: 009b lsls r3, r3, #2 807c9f0: 440b add r3, r1 807c9f2: 4403 add r3, r0 807c9f4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807c9f8: 461a mov r2, r3 807c9fa: 217a movs r1, #122 ; 0x7a 807c9fc: f44f 7082 mov.w r0, #260 ; 0x104 807ca00: f7d7 fcb0 bl 8054364 } LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ca04: 4994 ldr r1, [pc, #592] ; (807cc58 ) 807ca06: 4899 ldr r0, [pc, #612] ; (807cc6c ) 807ca08: f7d6 feec bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIVS[pardata.LANG][pardata.IVS[ACC]]); 807ca0c: 4b94 ldr r3, [pc, #592] ; (807cc60 ) 807ca0e: 7b1b ldrb r3, [r3, #12] 807ca10: b2db uxtb r3, r3 807ca12: 4619 mov r1, r3 807ca14: 4b92 ldr r3, [pc, #584] ; (807cc60 ) 807ca16: 789b ldrb r3, [r3, #2] 807ca18: b2db uxtb r3, r3 807ca1a: 4618 mov r0, r3 807ca1c: 4a92 ldr r2, [pc, #584] ; (807cc68 ) 807ca1e: 460b mov r3, r1 807ca20: 009b lsls r3, r3, #2 807ca22: 440b add r3, r1 807ca24: 4403 add r3, r0 807ca26: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ca2a: 461a mov r2, r3 807ca2c: 215a movs r1, #90 ; 0x5a 807ca2e: f44f 7082 mov.w r0, #260 ; 0x104 807ca32: f7d7 fc97 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 807ca36: 4b8a ldr r3, [pc, #552] ; (807cc60 ) 807ca38: 7b1b ldrb r3, [r3, #12] 807ca3a: b2db uxtb r3, r3 807ca3c: 4619 mov r1, r3 807ca3e: 4b88 ldr r3, [pc, #544] ; (807cc60 ) 807ca40: 7b5b ldrb r3, [r3, #13] 807ca42: b2db uxtb r3, r3 807ca44: 4618 mov r0, r3 807ca46: 4a8a ldr r2, [pc, #552] ; (807cc70 ) 807ca48: 460b mov r3, r1 807ca4a: 009b lsls r3, r3, #2 807ca4c: 440b add r3, r1 807ca4e: 005b lsls r3, r3, #1 807ca50: 4403 add r3, r0 807ca52: f852 3023 ldr.w r3, [r2, r3, lsl #2] 807ca56: 461a mov r2, r3 807ca58: 218a movs r1, #138 ; 0x8a 807ca5a: f44f 7082 mov.w r0, #260 ; 0x104 807ca5e: f7d7 fc81 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_13, str1); 807ca62: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807ca66: 461a mov r2, r3 807ca68: 21da movs r1, #218 ; 0xda 807ca6a: f44f 7082 mov.w r0, #260 ; 0x104 807ca6e: f7d7 fc79 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ca72: 4979 ldr r1, [pc, #484] ; (807cc58 ) 807ca74: f04f 30ff mov.w r0, #4294967295 807ca78: f7d6 feb4 bl 80537e4 BSP_LCD_FillRect(255, 157, 10, 10); 807ca7c: 230a movs r3, #10 807ca7e: 220a movs r2, #10 807ca80: 219d movs r1, #157 ; 0x9d 807ca82: 20ff movs r0, #255 ; 0xff 807ca84: f7d7 fb3c bl 8054100 BSP_LCD_FillRect(255, 173, 10, 10); 807ca88: 230a movs r3, #10 807ca8a: 220a movs r2, #10 807ca8c: 21ad movs r1, #173 ; 0xad 807ca8e: 20ff movs r0, #255 ; 0xff 807ca90: f7d7 fb36 bl 8054100 BSP_LCD_FillRect(255, 189, 10, 10); 807ca94: 230a movs r3, #10 807ca96: 220a movs r2, #10 807ca98: 21bd movs r1, #189 ; 0xbd 807ca9a: 20ff movs r0, #255 ; 0xff 807ca9c: f7d7 fb30 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" }*/ if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 807caa0: 4b74 ldr r3, [pc, #464] ; (807cc74 ) 807caa2: 781b ldrb r3, [r3, #0] 807caa4: b2db uxtb r3, r3 807caa6: 2b18 cmp r3, #24 807caa8: f240 8083 bls.w 807cbb2 807caac: 4b71 ldr r3, [pc, #452] ; (807cc74 ) 807caae: 781b ldrb r3, [r3, #0] 807cab0: b2db uxtb r3, r3 807cab2: 2b1e cmp r3, #30 807cab4: d87d bhi.n 807cbb2 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cab6: 4968 ldr r1, [pc, #416] ; (807cc58 ) 807cab8: 486c ldr r0, [pc, #432] ; (807cc6c ) 807caba: f7d6 fe93 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807cabe: f507 73cc add.w r3, r7, #408 ; 0x198 807cac2: 461a mov r2, r3 807cac4: 214a movs r1, #74 ; 0x4a 807cac6: f44f 7082 mov.w r0, #260 ; 0x104 807caca: f7d7 fc4b bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807cace: 4b64 ldr r3, [pc, #400] ; (807cc60 ) 807cad0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807cad4: f003 0304 and.w r3, r3, #4 807cad8: 2b00 cmp r3, #0 807cada: d032 beq.n 807cb42 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807cadc: 495e ldr r1, [pc, #376] ; (807cc58 ) 807cade: 485f ldr r0, [pc, #380] ; (807cc5c ) 807cae0: f7d6 fe80 bl 80537e4 if(pardata.IIN != VOLTS) 807cae4: 4b5e ldr r3, [pc, #376] ; (807cc60 ) 807cae6: 799b ldrb r3, [r3, #6] 807cae8: b2db uxtb r3, r3 807caea: 2b02 cmp r3, #2 807caec: d010 beq.n 807cb10 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807caee: 4b5c ldr r3, [pc, #368] ; (807cc60 ) 807caf0: 7b1b ldrb r3, [r3, #12] 807caf2: b2db uxtb r3, r3 807caf4: 4619 mov r1, r3 807caf6: 4a5b ldr r2, [pc, #364] ; (807cc64 ) 807caf8: 232c movs r3, #44 ; 0x2c 807cafa: fb03 f301 mul.w r3, r3, r1 807cafe: 4413 add r3, r2 807cb00: 3324 adds r3, #36 ; 0x24 807cb02: 681b ldr r3, [r3, #0] 807cb04: 461a mov r2, r3 807cb06: 21ca movs r1, #202 ; 0xca 807cb08: 200a movs r0, #10 807cb0a: f7d7 fc13 bl 8054334 807cb0e: e00f b.n 807cb30 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cb10: 4b53 ldr r3, [pc, #332] ; (807cc60 ) 807cb12: 7b1b ldrb r3, [r3, #12] 807cb14: b2db uxtb r3, r3 807cb16: 4619 mov r1, r3 807cb18: 4a57 ldr r2, [pc, #348] ; (807cc78 ) 807cb1a: 232c movs r3, #44 ; 0x2c 807cb1c: fb03 f301 mul.w r3, r3, r1 807cb20: 4413 add r3, r2 807cb22: 3324 adds r3, #36 ; 0x24 807cb24: 681b ldr r3, [r3, #0] 807cb26: 461a mov r2, r3 807cb28: 21ca movs r1, #202 ; 0xca 807cb2a: 200a movs r0, #10 807cb2c: f7d7 fc02 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807cb30: f507 733b add.w r3, r7, #748 ; 0x2ec 807cb34: 461a mov r2, r3 807cb36: 21ca movs r1, #202 ; 0xca 807cb38: f44f 7082 mov.w r0, #260 ; 0x104 807cb3c: f7d7 fc12 bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807cb40: e157 b.n 807cdf2 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807cb42: 4945 ldr r1, [pc, #276] ; (807cc58 ) 807cb44: f04f 30ff mov.w r0, #4294967295 807cb48: f7d6 fe4c bl 80537e4 if(pardata.IIN != VOLTS) 807cb4c: 4b44 ldr r3, [pc, #272] ; (807cc60 ) 807cb4e: 799b ldrb r3, [r3, #6] 807cb50: b2db uxtb r3, r3 807cb52: 2b02 cmp r3, #2 807cb54: d010 beq.n 807cb78 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cb56: 4b42 ldr r3, [pc, #264] ; (807cc60 ) 807cb58: 7b1b ldrb r3, [r3, #12] 807cb5a: b2db uxtb r3, r3 807cb5c: 4619 mov r1, r3 807cb5e: 4a41 ldr r2, [pc, #260] ; (807cc64 ) 807cb60: 232c movs r3, #44 ; 0x2c 807cb62: fb03 f301 mul.w r3, r3, r1 807cb66: 4413 add r3, r2 807cb68: 3324 adds r3, #36 ; 0x24 807cb6a: 681b ldr r3, [r3, #0] 807cb6c: 461a mov r2, r3 807cb6e: 21ca movs r1, #202 ; 0xca 807cb70: 200a movs r0, #10 807cb72: f7d7 fbdf bl 8054334 807cb76: e00f b.n 807cb98 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cb78: 4b39 ldr r3, [pc, #228] ; (807cc60 ) 807cb7a: 7b1b ldrb r3, [r3, #12] 807cb7c: b2db uxtb r3, r3 807cb7e: 4619 mov r1, r3 807cb80: 4a3d ldr r2, [pc, #244] ; (807cc78 ) 807cb82: 232c movs r3, #44 ; 0x2c 807cb84: fb03 f301 mul.w r3, r3, r1 807cb88: 4413 add r3, r2 807cb8a: 3324 adds r3, #36 ; 0x24 807cb8c: 681b ldr r3, [r3, #0] 807cb8e: 461a mov r2, r3 807cb90: 21ca movs r1, #202 ; 0xca 807cb92: 200a movs r0, #10 807cb94: f7d7 fbce bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cb98: 492f ldr r1, [pc, #188] ; (807cc58 ) 807cb9a: 4834 ldr r0, [pc, #208] ; (807cc6c ) 807cb9c: f7d6 fe22 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807cba0: f507 733b add.w r3, r7, #748 ; 0x2ec 807cba4: 461a mov r2, r3 807cba6: 21ca movs r1, #202 ; 0xca 807cba8: f44f 7082 mov.w r0, #260 ; 0x104 807cbac: f7d7 fbda bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807cbb0: e11f b.n 807cdf2 } } else if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 807cbb2: 4b30 ldr r3, [pc, #192] ; (807cc74 ) 807cbb4: 781b ldrb r3, [r3, #0] 807cbb6: b2db uxtb r3, r3 807cbb8: 2b1e cmp r3, #30 807cbba: f240 8097 bls.w 807ccec 807cbbe: 4b2d ldr r3, [pc, #180] ; (807cc74 ) 807cbc0: 781b ldrb r3, [r3, #0] 807cbc2: b2db uxtb r3, r3 807cbc4: 2b24 cmp r3, #36 ; 0x24 807cbc6: f200 8091 bhi.w 807ccec { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cbca: 4923 ldr r1, [pc, #140] ; (807cc58 ) 807cbcc: 4827 ldr r0, [pc, #156] ; (807cc6c ) 807cbce: f7d6 fe09 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807cbd2: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807cbd6: 461a mov r2, r3 807cbd8: 213a movs r1, #58 ; 0x3a 807cbda: f44f 7082 mov.w r0, #260 ; 0x104 807cbde: f7d7 fbc1 bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807cbe2: 4b1f ldr r3, [pc, #124] ; (807cc60 ) 807cbe4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807cbe8: f003 0304 and.w r3, r3, #4 807cbec: 2b00 cmp r3, #0 807cbee: d045 beq.n 807cc7c { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807cbf0: 4919 ldr r1, [pc, #100] ; (807cc58 ) 807cbf2: 481a ldr r0, [pc, #104] ; (807cc5c ) 807cbf4: f7d6 fdf6 bl 80537e4 if(pardata.IIN != VOLTS) 807cbf8: 4b19 ldr r3, [pc, #100] ; (807cc60 ) 807cbfa: 799b ldrb r3, [r3, #6] 807cbfc: b2db uxtb r3, r3 807cbfe: 2b02 cmp r3, #2 807cc00: d010 beq.n 807cc24 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cc02: 4b17 ldr r3, [pc, #92] ; (807cc60 ) 807cc04: 7b1b ldrb r3, [r3, #12] 807cc06: b2db uxtb r3, r3 807cc08: 4619 mov r1, r3 807cc0a: 4a16 ldr r2, [pc, #88] ; (807cc64 ) 807cc0c: 232c movs r3, #44 ; 0x2c 807cc0e: fb03 f301 mul.w r3, r3, r1 807cc12: 4413 add r3, r2 807cc14: 3324 adds r3, #36 ; 0x24 807cc16: 681b ldr r3, [r3, #0] 807cc18: 461a mov r2, r3 807cc1a: 21ca movs r1, #202 ; 0xca 807cc1c: 200a movs r0, #10 807cc1e: f7d7 fb89 bl 8054334 807cc22: e00f b.n 807cc44 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cc24: 4b0e ldr r3, [pc, #56] ; (807cc60 ) 807cc26: 7b1b ldrb r3, [r3, #12] 807cc28: b2db uxtb r3, r3 807cc2a: 4619 mov r1, r3 807cc2c: 4a12 ldr r2, [pc, #72] ; (807cc78 ) 807cc2e: 232c movs r3, #44 ; 0x2c 807cc30: fb03 f301 mul.w r3, r3, r1 807cc34: 4413 add r3, r2 807cc36: 3324 adds r3, #36 ; 0x24 807cc38: 681b ldr r3, [r3, #0] 807cc3a: 461a mov r2, r3 807cc3c: 21ca movs r1, #202 ; 0xca 807cc3e: 200a movs r0, #10 807cc40: f7d7 fb78 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807cc44: f507 733b add.w r3, r7, #748 ; 0x2ec 807cc48: 461a mov r2, r3 807cc4a: 21ca movs r1, #202 ; 0xca 807cc4c: f44f 7082 mov.w r0, #260 ; 0x104 807cc50: f7d7 fb88 bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807cc54: e0cd b.n 807cdf2 807cc56: bf00 nop 807cc58: ff0a0f1f .word 0xff0a0f1f 807cc5c: ff808080 .word 0xff808080 807cc60: 20023e60 .word 0x20023e60 807cc64: 200206b4 .word 0x200206b4 807cc68: 200202bc .word 0x200202bc 807cc6c: ffd8aa57 .word 0xffd8aa57 807cc70: 2002024c .word 0x2002024c 807cc74: 20020070 .word 0x20020070 807cc78: 2002070c .word 0x2002070c } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807cc7c: 49c0 ldr r1, [pc, #768] ; (807cf80 ) 807cc7e: f04f 30ff mov.w r0, #4294967295 807cc82: f7d6 fdaf bl 80537e4 if(pardata.IIN != VOLTS) 807cc86: 4bbf ldr r3, [pc, #764] ; (807cf84 ) 807cc88: 799b ldrb r3, [r3, #6] 807cc8a: b2db uxtb r3, r3 807cc8c: 2b02 cmp r3, #2 807cc8e: d010 beq.n 807ccb2 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cc90: 4bbc ldr r3, [pc, #752] ; (807cf84 ) 807cc92: 7b1b ldrb r3, [r3, #12] 807cc94: b2db uxtb r3, r3 807cc96: 4619 mov r1, r3 807cc98: 4abb ldr r2, [pc, #748] ; (807cf88 ) 807cc9a: 232c movs r3, #44 ; 0x2c 807cc9c: fb03 f301 mul.w r3, r3, r1 807cca0: 4413 add r3, r2 807cca2: 3324 adds r3, #36 ; 0x24 807cca4: 681b ldr r3, [r3, #0] 807cca6: 461a mov r2, r3 807cca8: 21ca movs r1, #202 ; 0xca 807ccaa: 200a movs r0, #10 807ccac: f7d7 fb42 bl 8054334 807ccb0: e00f b.n 807ccd2 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807ccb2: 4bb4 ldr r3, [pc, #720] ; (807cf84 ) 807ccb4: 7b1b ldrb r3, [r3, #12] 807ccb6: b2db uxtb r3, r3 807ccb8: 4619 mov r1, r3 807ccba: 4ab4 ldr r2, [pc, #720] ; (807cf8c ) 807ccbc: 232c movs r3, #44 ; 0x2c 807ccbe: fb03 f301 mul.w r3, r3, r1 807ccc2: 4413 add r3, r2 807ccc4: 3324 adds r3, #36 ; 0x24 807ccc6: 681b ldr r3, [r3, #0] 807ccc8: 461a mov r2, r3 807ccca: 21ca movs r1, #202 ; 0xca 807cccc: 200a movs r0, #10 807ccce: f7d7 fb31 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ccd2: 49ab ldr r1, [pc, #684] ; (807cf80 ) 807ccd4: 48ae ldr r0, [pc, #696] ; (807cf90 ) 807ccd6: f7d6 fd85 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 807ccda: f507 733b add.w r3, r7, #748 ; 0x2ec 807ccde: 461a mov r2, r3 807cce0: 21ca movs r1, #202 ; 0xca 807cce2: f44f 7082 mov.w r0, #260 ; 0x104 807cce6: f7d7 fb3d bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807ccea: e082 b.n 807cdf2 } } else if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 807ccec: 4ba9 ldr r3, [pc, #676] ; (807cf94 ) 807ccee: 781b ldrb r3, [r3, #0] 807ccf0: b2db uxtb r3, r3 807ccf2: 2b0a cmp r3, #10 807ccf4: d97d bls.n 807cdf2 807ccf6: 4ba7 ldr r3, [pc, #668] ; (807cf94 ) 807ccf8: 781b ldrb r3, [r3, #0] 807ccfa: b2db uxtb r3, r3 807ccfc: 2b10 cmp r3, #16 807ccfe: d878 bhi.n 807cdf2 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cd00: 499f ldr r1, [pc, #636] ; (807cf80 ) 807cd02: 48a3 ldr r0, [pc, #652] ; (807cf90 ) 807cd04: f7d6 fd6e bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 807cd08: f507 73d2 add.w r3, r7, #420 ; 0x1a4 807cd0c: 461a mov r2, r3 807cd0e: 213a movs r1, #58 ; 0x3a 807cd10: f44f 7082 mov.w r0, #260 ; 0x104 807cd14: f7d7 fb26 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 807cd18: f507 73cc add.w r3, r7, #408 ; 0x198 807cd1c: 461a mov r2, r3 807cd1e: 214a movs r1, #74 ; 0x4a 807cd20: f44f 7082 mov.w r0, #260 ; 0x104 807cd24: f7d7 fb1e bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807cd28: 4b96 ldr r3, [pc, #600] ; (807cf84 ) 807cd2a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807cd2e: f003 0304 and.w r3, r3, #4 807cd32: 2b00 cmp r3, #0 807cd34: d032 beq.n 807cd9c { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807cd36: 4992 ldr r1, [pc, #584] ; (807cf80 ) 807cd38: 4897 ldr r0, [pc, #604] ; (807cf98 ) 807cd3a: f7d6 fd53 bl 80537e4 if(pardata.IIN != VOLTS) 807cd3e: 4b91 ldr r3, [pc, #580] ; (807cf84 ) 807cd40: 799b ldrb r3, [r3, #6] 807cd42: b2db uxtb r3, r3 807cd44: 2b02 cmp r3, #2 807cd46: d010 beq.n 807cd6a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cd48: 4b8e ldr r3, [pc, #568] ; (807cf84 ) 807cd4a: 7b1b ldrb r3, [r3, #12] 807cd4c: b2db uxtb r3, r3 807cd4e: 4619 mov r1, r3 807cd50: 4a8d ldr r2, [pc, #564] ; (807cf88 ) 807cd52: 232c movs r3, #44 ; 0x2c 807cd54: fb03 f301 mul.w r3, r3, r1 807cd58: 4413 add r3, r2 807cd5a: 3324 adds r3, #36 ; 0x24 807cd5c: 681b ldr r3, [r3, #0] 807cd5e: 461a mov r2, r3 807cd60: 21ca movs r1, #202 ; 0xca 807cd62: 200a movs r0, #10 807cd64: f7d7 fae6 bl 8054334 807cd68: e00f b.n 807cd8a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cd6a: 4b86 ldr r3, [pc, #536] ; (807cf84 ) 807cd6c: 7b1b ldrb r3, [r3, #12] 807cd6e: b2db uxtb r3, r3 807cd70: 4619 mov r1, r3 807cd72: 4a86 ldr r2, [pc, #536] ; (807cf8c ) 807cd74: 232c movs r3, #44 ; 0x2c 807cd76: fb03 f301 mul.w r3, r3, r1 807cd7a: 4413 add r3, r2 807cd7c: 3324 adds r3, #36 ; 0x24 807cd7e: 681b ldr r3, [r3, #0] 807cd80: 461a mov r2, r3 807cd82: 21ca movs r1, #202 ; 0xca 807cd84: 200a movs r0, #10 807cd86: f7d7 fad5 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 807cd8a: f507 733b add.w r3, r7, #748 ; 0x2ec 807cd8e: 461a mov r2, r3 807cd90: 21ca movs r1, #202 ; 0xca 807cd92: f44f 7082 mov.w r0, #260 ; 0x104 807cd96: f7d7 fae5 bl 8054364 807cd9a: e02a b.n 807cdf2 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807cd9c: 4978 ldr r1, [pc, #480] ; (807cf80 ) 807cd9e: f04f 30ff mov.w r0, #4294967295 807cda2: f7d6 fd1f bl 80537e4 if(pardata.IIN != VOLTS) 807cda6: 4b77 ldr r3, [pc, #476] ; (807cf84 ) 807cda8: 799b ldrb r3, [r3, #6] 807cdaa: b2db uxtb r3, r3 807cdac: 2b02 cmp r3, #2 807cdae: d010 beq.n 807cdd2 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cdb0: 4b74 ldr r3, [pc, #464] ; (807cf84 ) 807cdb2: 7b1b ldrb r3, [r3, #12] 807cdb4: b2db uxtb r3, r3 807cdb6: 4619 mov r1, r3 807cdb8: 4a73 ldr r2, [pc, #460] ; (807cf88 ) 807cdba: 232c movs r3, #44 ; 0x2c 807cdbc: fb03 f301 mul.w r3, r3, r1 807cdc0: 4413 add r3, r2 807cdc2: 3324 adds r3, #36 ; 0x24 807cdc4: 681b ldr r3, [r3, #0] 807cdc6: 461a mov r2, r3 807cdc8: 21ca movs r1, #202 ; 0xca 807cdca: 200a movs r0, #10 807cdcc: f7d7 fab2 bl 8054334 807cdd0: e00f b.n 807cdf2 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 807cdd2: 4b6c ldr r3, [pc, #432] ; (807cf84 ) 807cdd4: 7b1b ldrb r3, [r3, #12] 807cdd6: b2db uxtb r3, r3 807cdd8: 4619 mov r1, r3 807cdda: 4a6c ldr r2, [pc, #432] ; (807cf8c ) 807cddc: 232c movs r3, #44 ; 0x2c 807cdde: fb03 f301 mul.w r3, r3, r1 807cde2: 4413 add r3, r2 807cde4: 3324 adds r3, #36 ; 0x24 807cde6: 681b ldr r3, [r3, #0] 807cde8: 461a mov r2, r3 807cdea: 21ca movs r1, #202 ; 0xca 807cdec: 200a movs r0, #10 807cdee: f7d7 faa1 bl 8054334 } if(menupos == FilterHP_IDT) 807cdf2: 4b68 ldr r3, [pc, #416] ; (807cf94 ) 807cdf4: 781b ldrb r3, [r3, #0] 807cdf6: b2db uxtb r3, r3 807cdf8: 2b19 cmp r3, #25 807cdfa: d15d bne.n 807ceb8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807cdfc: 4960 ldr r1, [pc, #384] ; (807cf80 ) 807cdfe: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807ce02: f7d6 fcef bl 80537e4 if(blk) 807ce06: 4b65 ldr r3, [pc, #404] ; (807cf9c ) 807ce08: 681b ldr r3, [r3, #0] 807ce0a: 2b00 cmp r3, #0 807ce0c: d00b beq.n 807ce26 LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807ce0e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807ce12: b2db uxtb r3, r3 807ce14: 461a mov r2, r3 807ce16: 4b62 ldr r3, [pc, #392] ; (807cfa0 ) 807ce18: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ce1c: 461a mov r2, r3 807ce1e: 213a movs r1, #58 ; 0x3a 807ce20: 20c6 movs r0, #198 ; 0xc6 807ce22: f7d7 fa87 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ce26: 4956 ldr r1, [pc, #344] ; (807cf80 ) 807ce28: 4859 ldr r0, [pc, #356] ; (807cf90 ) 807ce2a: f7d6 fcdb bl 80537e4 LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807ce2e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807ce32: b2db uxtb r3, r3 807ce34: 461a mov r2, r3 807ce36: 4b5a ldr r3, [pc, #360] ; (807cfa0 ) 807ce38: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ce3c: 461a mov r2, r3 807ce3e: 213a movs r1, #58 ; 0x3a 807ce40: 20d6 movs r0, #214 ; 0xd6 807ce42: f7d7 fa77 bl 8054334 LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807ce46: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807ce4a: b2db uxtb r3, r3 807ce4c: 461a mov r2, r3 807ce4e: 4b54 ldr r3, [pc, #336] ; (807cfa0 ) 807ce50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ce54: 461a mov r2, r3 807ce56: 213a movs r1, #58 ; 0x3a 807ce58: 20e6 movs r0, #230 ; 0xe6 807ce5a: f7d7 fa6b bl 8054334 LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807ce5e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807ce62: b2db uxtb r3, r3 807ce64: 461a mov r2, r3 807ce66: 4b4e ldr r3, [pc, #312] ; (807cfa0 ) 807ce68: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ce6c: 461a mov r2, r3 807ce6e: 213a movs r1, #58 ; 0x3a 807ce70: 20f6 movs r0, #246 ; 0xf6 807ce72: f7d7 fa5f bl 8054334 LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807ce76: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807ce7a: b2db uxtb r3, r3 807ce7c: 461a mov r2, r3 807ce7e: 4b48 ldr r3, [pc, #288] ; (807cfa0 ) 807ce80: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ce84: 461a mov r2, r3 807ce86: 213a movs r1, #58 ; 0x3a 807ce88: f44f 7083 mov.w r0, #262 ; 0x106 807ce8c: f7d7 fa52 bl 8054334 LCD_DisplayString(278, LCD_LINE_3, "."); 807ce90: 4a44 ldr r2, [pc, #272] ; (807cfa4 ) 807ce92: 213a movs r1, #58 ; 0x3a 807ce94: f44f 708b mov.w r0, #278 ; 0x116 807ce98: f7d7 fa4c bl 8054334 LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807ce9c: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807cea0: b2db uxtb r3, r3 807cea2: 461a mov r2, r3 807cea4: 4b3e ldr r3, [pc, #248] ; (807cfa0 ) 807cea6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ceaa: 461a mov r2, r3 807ceac: 213a movs r1, #58 ; 0x3a 807ceae: f44f 7093 mov.w r0, #294 ; 0x126 807ceb2: f7d7 fa3f bl 8054334 807ceb6: e20f b.n 807d2d8 } else if(menupos == FilterHP_IET) 807ceb8: 4b36 ldr r3, [pc, #216] ; (807cf94 ) 807ceba: 781b ldrb r3, [r3, #0] 807cebc: b2db uxtb r3, r3 807cebe: 2b1a cmp r3, #26 807cec0: d172 bne.n 807cfa8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807cec2: 492f ldr r1, [pc, #188] ; (807cf80 ) 807cec4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807cec8: f7d6 fc8c bl 80537e4 if(blk) 807cecc: 4b33 ldr r3, [pc, #204] ; (807cf9c ) 807cece: 681b ldr r3, [r3, #0] 807ced0: 2b00 cmp r3, #0 807ced2: d00b beq.n 807ceec LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807ced4: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807ced8: b2db uxtb r3, r3 807ceda: 461a mov r2, r3 807cedc: 4b30 ldr r3, [pc, #192] ; (807cfa0 ) 807cede: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cee2: 461a mov r2, r3 807cee4: 213a movs r1, #58 ; 0x3a 807cee6: 20d6 movs r0, #214 ; 0xd6 807cee8: f7d7 fa24 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807ceec: 4924 ldr r1, [pc, #144] ; (807cf80 ) 807ceee: 4828 ldr r0, [pc, #160] ; (807cf90 ) 807cef0: f7d6 fc78 bl 80537e4 LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807cef4: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807cef8: b2db uxtb r3, r3 807cefa: 461a mov r2, r3 807cefc: 4b28 ldr r3, [pc, #160] ; (807cfa0 ) 807cefe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cf02: 461a mov r2, r3 807cf04: 213a movs r1, #58 ; 0x3a 807cf06: 20c6 movs r0, #198 ; 0xc6 807cf08: f7d7 fa14 bl 8054334 LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807cf0c: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807cf10: b2db uxtb r3, r3 807cf12: 461a mov r2, r3 807cf14: 4b22 ldr r3, [pc, #136] ; (807cfa0 ) 807cf16: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cf1a: 461a mov r2, r3 807cf1c: 213a movs r1, #58 ; 0x3a 807cf1e: 20e6 movs r0, #230 ; 0xe6 807cf20: f7d7 fa08 bl 8054334 LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807cf24: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807cf28: b2db uxtb r3, r3 807cf2a: 461a mov r2, r3 807cf2c: 4b1c ldr r3, [pc, #112] ; (807cfa0 ) 807cf2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cf32: 461a mov r2, r3 807cf34: 213a movs r1, #58 ; 0x3a 807cf36: 20f6 movs r0, #246 ; 0xf6 807cf38: f7d7 f9fc bl 8054334 LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807cf3c: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807cf40: b2db uxtb r3, r3 807cf42: 461a mov r2, r3 807cf44: 4b16 ldr r3, [pc, #88] ; (807cfa0 ) 807cf46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cf4a: 461a mov r2, r3 807cf4c: 213a movs r1, #58 ; 0x3a 807cf4e: f44f 7083 mov.w r0, #262 ; 0x106 807cf52: f7d7 f9ef bl 8054334 LCD_DisplayString(278, LCD_LINE_3, "."); 807cf56: 4a13 ldr r2, [pc, #76] ; (807cfa4 ) 807cf58: 213a movs r1, #58 ; 0x3a 807cf5a: f44f 708b mov.w r0, #278 ; 0x116 807cf5e: f7d7 f9e9 bl 8054334 LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807cf62: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807cf66: b2db uxtb r3, r3 807cf68: 461a mov r2, r3 807cf6a: 4b0d ldr r3, [pc, #52] ; (807cfa0 ) 807cf6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cf70: 461a mov r2, r3 807cf72: 213a movs r1, #58 ; 0x3a 807cf74: f44f 7093 mov.w r0, #294 ; 0x126 807cf78: f7d7 f9dc bl 8054334 807cf7c: e1ac b.n 807d2d8 807cf7e: bf00 nop 807cf80: ff0a0f1f .word 0xff0a0f1f 807cf84: 20023e60 .word 0x20023e60 807cf88: 200206b4 .word 0x200206b4 807cf8c: 2002070c .word 0x2002070c 807cf90: ffd8aa57 .word 0xffd8aa57 807cf94: 20020070 .word 0x20020070 807cf98: ff808080 .word 0xff808080 807cf9c: 2002165c .word 0x2002165c 807cfa0: 20020964 .word 0x20020964 807cfa4: 080cf820 .word 0x080cf820 } else if(menupos == FilterHP_IES) 807cfa8: 4b94 ldr r3, [pc, #592] ; (807d1fc ) 807cfaa: 781b ldrb r3, [r3, #0] 807cfac: b2db uxtb r3, r3 807cfae: 2b1b cmp r3, #27 807cfb0: d15d bne.n 807d06e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807cfb2: 4993 ldr r1, [pc, #588] ; (807d200 ) 807cfb4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807cfb8: f7d6 fc14 bl 80537e4 if(blk) 807cfbc: 4b91 ldr r3, [pc, #580] ; (807d204 ) 807cfbe: 681b ldr r3, [r3, #0] 807cfc0: 2b00 cmp r3, #0 807cfc2: d00b beq.n 807cfdc LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807cfc4: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807cfc8: b2db uxtb r3, r3 807cfca: 461a mov r2, r3 807cfcc: 4b8e ldr r3, [pc, #568] ; (807d208 ) 807cfce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cfd2: 461a mov r2, r3 807cfd4: 213a movs r1, #58 ; 0x3a 807cfd6: 20e6 movs r0, #230 ; 0xe6 807cfd8: f7d7 f9ac bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807cfdc: 4988 ldr r1, [pc, #544] ; (807d200 ) 807cfde: 488b ldr r0, [pc, #556] ; (807d20c ) 807cfe0: f7d6 fc00 bl 80537e4 LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807cfe4: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807cfe8: b2db uxtb r3, r3 807cfea: 461a mov r2, r3 807cfec: 4b86 ldr r3, [pc, #536] ; (807d208 ) 807cfee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807cff2: 461a mov r2, r3 807cff4: 213a movs r1, #58 ; 0x3a 807cff6: 20c6 movs r0, #198 ; 0xc6 807cff8: f7d7 f99c bl 8054334 LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807cffc: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807d000: b2db uxtb r3, r3 807d002: 461a mov r2, r3 807d004: 4b80 ldr r3, [pc, #512] ; (807d208 ) 807d006: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d00a: 461a mov r2, r3 807d00c: 213a movs r1, #58 ; 0x3a 807d00e: 20d6 movs r0, #214 ; 0xd6 807d010: f7d7 f990 bl 8054334 LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807d014: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807d018: b2db uxtb r3, r3 807d01a: 461a mov r2, r3 807d01c: 4b7a ldr r3, [pc, #488] ; (807d208 ) 807d01e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d022: 461a mov r2, r3 807d024: 213a movs r1, #58 ; 0x3a 807d026: 20f6 movs r0, #246 ; 0xf6 807d028: f7d7 f984 bl 8054334 LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807d02c: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807d030: b2db uxtb r3, r3 807d032: 461a mov r2, r3 807d034: 4b74 ldr r3, [pc, #464] ; (807d208 ) 807d036: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d03a: 461a mov r2, r3 807d03c: 213a movs r1, #58 ; 0x3a 807d03e: f44f 7083 mov.w r0, #262 ; 0x106 807d042: f7d7 f977 bl 8054334 LCD_DisplayString(278, LCD_LINE_3, "."); 807d046: 4a72 ldr r2, [pc, #456] ; (807d210 ) 807d048: 213a movs r1, #58 ; 0x3a 807d04a: f44f 708b mov.w r0, #278 ; 0x116 807d04e: f7d7 f971 bl 8054334 LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807d052: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807d056: b2db uxtb r3, r3 807d058: 461a mov r2, r3 807d05a: 4b6b ldr r3, [pc, #428] ; (807d208 ) 807d05c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d060: 461a mov r2, r3 807d062: 213a movs r1, #58 ; 0x3a 807d064: f44f 7093 mov.w r0, #294 ; 0x126 807d068: f7d7 f964 bl 8054334 807d06c: e134 b.n 807d2d8 } else if(menupos == FilterHP_IED) 807d06e: 4b63 ldr r3, [pc, #396] ; (807d1fc ) 807d070: 781b ldrb r3, [r3, #0] 807d072: b2db uxtb r3, r3 807d074: 2b1c cmp r3, #28 807d076: d15d bne.n 807d134 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d078: 4961 ldr r1, [pc, #388] ; (807d200 ) 807d07a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d07e: f7d6 fbb1 bl 80537e4 if(blk) 807d082: 4b60 ldr r3, [pc, #384] ; (807d204 ) 807d084: 681b ldr r3, [r3, #0] 807d086: 2b00 cmp r3, #0 807d088: d00b beq.n 807d0a2 LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807d08a: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807d08e: b2db uxtb r3, r3 807d090: 461a mov r2, r3 807d092: 4b5d ldr r3, [pc, #372] ; (807d208 ) 807d094: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d098: 461a mov r2, r3 807d09a: 213a movs r1, #58 ; 0x3a 807d09c: 20f6 movs r0, #246 ; 0xf6 807d09e: f7d7 f949 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d0a2: 4957 ldr r1, [pc, #348] ; (807d200 ) 807d0a4: 4859 ldr r0, [pc, #356] ; (807d20c ) 807d0a6: f7d6 fb9d bl 80537e4 LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807d0aa: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807d0ae: b2db uxtb r3, r3 807d0b0: 461a mov r2, r3 807d0b2: 4b55 ldr r3, [pc, #340] ; (807d208 ) 807d0b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d0b8: 461a mov r2, r3 807d0ba: 213a movs r1, #58 ; 0x3a 807d0bc: 20c6 movs r0, #198 ; 0xc6 807d0be: f7d7 f939 bl 8054334 LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807d0c2: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807d0c6: b2db uxtb r3, r3 807d0c8: 461a mov r2, r3 807d0ca: 4b4f ldr r3, [pc, #316] ; (807d208 ) 807d0cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d0d0: 461a mov r2, r3 807d0d2: 213a movs r1, #58 ; 0x3a 807d0d4: 20d6 movs r0, #214 ; 0xd6 807d0d6: f7d7 f92d bl 8054334 LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807d0da: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807d0de: b2db uxtb r3, r3 807d0e0: 461a mov r2, r3 807d0e2: 4b49 ldr r3, [pc, #292] ; (807d208 ) 807d0e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d0e8: 461a mov r2, r3 807d0ea: 213a movs r1, #58 ; 0x3a 807d0ec: 20e6 movs r0, #230 ; 0xe6 807d0ee: f7d7 f921 bl 8054334 LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807d0f2: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807d0f6: b2db uxtb r3, r3 807d0f8: 461a mov r2, r3 807d0fa: 4b43 ldr r3, [pc, #268] ; (807d208 ) 807d0fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d100: 461a mov r2, r3 807d102: 213a movs r1, #58 ; 0x3a 807d104: f44f 7083 mov.w r0, #262 ; 0x106 807d108: f7d7 f914 bl 8054334 LCD_DisplayString(278, LCD_LINE_3, "."); 807d10c: 4a40 ldr r2, [pc, #256] ; (807d210 ) 807d10e: 213a movs r1, #58 ; 0x3a 807d110: f44f 708b mov.w r0, #278 ; 0x116 807d114: f7d7 f90e bl 8054334 LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807d118: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807d11c: b2db uxtb r3, r3 807d11e: 461a mov r2, r3 807d120: 4b39 ldr r3, [pc, #228] ; (807d208 ) 807d122: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d126: 461a mov r2, r3 807d128: 213a movs r1, #58 ; 0x3a 807d12a: f44f 7093 mov.w r0, #294 ; 0x126 807d12e: f7d7 f901 bl 8054334 807d132: e0d1 b.n 807d2d8 } else if(menupos == FilterHP_IEE) 807d134: 4b31 ldr r3, [pc, #196] ; (807d1fc ) 807d136: 781b ldrb r3, [r3, #0] 807d138: b2db uxtb r3, r3 807d13a: 2b1d cmp r3, #29 807d13c: d16a bne.n 807d214 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d13e: 4930 ldr r1, [pc, #192] ; (807d200 ) 807d140: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d144: f7d6 fb4e bl 80537e4 if(blk) 807d148: 4b2e ldr r3, [pc, #184] ; (807d204 ) 807d14a: 681b ldr r3, [r3, #0] 807d14c: 2b00 cmp r3, #0 807d14e: d00c beq.n 807d16a LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807d150: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807d154: b2db uxtb r3, r3 807d156: 461a mov r2, r3 807d158: 4b2b ldr r3, [pc, #172] ; (807d208 ) 807d15a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d15e: 461a mov r2, r3 807d160: 213a movs r1, #58 ; 0x3a 807d162: f44f 7083 mov.w r0, #262 ; 0x106 807d166: f7d7 f8e5 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d16a: 4925 ldr r1, [pc, #148] ; (807d200 ) 807d16c: 4827 ldr r0, [pc, #156] ; (807d20c ) 807d16e: f7d6 fb39 bl 80537e4 LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807d172: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807d176: b2db uxtb r3, r3 807d178: 461a mov r2, r3 807d17a: 4b23 ldr r3, [pc, #140] ; (807d208 ) 807d17c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d180: 461a mov r2, r3 807d182: 213a movs r1, #58 ; 0x3a 807d184: 20c6 movs r0, #198 ; 0xc6 807d186: f7d7 f8d5 bl 8054334 LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807d18a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807d18e: b2db uxtb r3, r3 807d190: 461a mov r2, r3 807d192: 4b1d ldr r3, [pc, #116] ; (807d208 ) 807d194: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d198: 461a mov r2, r3 807d19a: 213a movs r1, #58 ; 0x3a 807d19c: 20d6 movs r0, #214 ; 0xd6 807d19e: f7d7 f8c9 bl 8054334 LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807d1a2: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807d1a6: b2db uxtb r3, r3 807d1a8: 461a mov r2, r3 807d1aa: 4b17 ldr r3, [pc, #92] ; (807d208 ) 807d1ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d1b0: 461a mov r2, r3 807d1b2: 213a movs r1, #58 ; 0x3a 807d1b4: 20e6 movs r0, #230 ; 0xe6 807d1b6: f7d7 f8bd bl 8054334 LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807d1ba: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807d1be: b2db uxtb r3, r3 807d1c0: 461a mov r2, r3 807d1c2: 4b11 ldr r3, [pc, #68] ; (807d208 ) 807d1c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d1c8: 461a mov r2, r3 807d1ca: 213a movs r1, #58 ; 0x3a 807d1cc: 20f6 movs r0, #246 ; 0xf6 807d1ce: f7d7 f8b1 bl 8054334 LCD_DisplayString(278, LCD_LINE_3, "."); 807d1d2: 4a0f ldr r2, [pc, #60] ; (807d210 ) 807d1d4: 213a movs r1, #58 ; 0x3a 807d1d6: f44f 708b mov.w r0, #278 ; 0x116 807d1da: f7d7 f8ab bl 8054334 LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807d1de: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807d1e2: b2db uxtb r3, r3 807d1e4: 461a mov r2, r3 807d1e6: 4b08 ldr r3, [pc, #32] ; (807d208 ) 807d1e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d1ec: 461a mov r2, r3 807d1ee: 213a movs r1, #58 ; 0x3a 807d1f0: f44f 7093 mov.w r0, #294 ; 0x126 807d1f4: f7d7 f89e bl 8054334 807d1f8: e06e b.n 807d2d8 807d1fa: bf00 nop 807d1fc: 20020070 .word 0x20020070 807d200: ff0a0f1f .word 0xff0a0f1f 807d204: 2002165c .word 0x2002165c 807d208: 20020964 .word 0x20020964 807d20c: ffd8aa57 .word 0xffd8aa57 807d210: 080cf820 .word 0x080cf820 } else if(menupos == FilterHP_IKD) 807d214: 4bc5 ldr r3, [pc, #788] ; (807d52c ) 807d216: 781b ldrb r3, [r3, #0] 807d218: b2db uxtb r3, r3 807d21a: 2b1e cmp r3, #30 807d21c: d15c bne.n 807d2d8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d21e: 49c4 ldr r1, [pc, #784] ; (807d530 ) 807d220: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d224: f7d6 fade bl 80537e4 if(blk) 807d228: 4bc2 ldr r3, [pc, #776] ; (807d534 ) 807d22a: 681b ldr r3, [r3, #0] 807d22c: 2b00 cmp r3, #0 807d22e: d00c beq.n 807d24a LCD_DisplayString(294, LCD_LINE_3, (char *) pNUMS[ikdHP]); 807d230: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 807d234: b2db uxtb r3, r3 807d236: 461a mov r2, r3 807d238: 4bbf ldr r3, [pc, #764] ; (807d538 ) 807d23a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d23e: 461a mov r2, r3 807d240: 213a movs r1, #58 ; 0x3a 807d242: f44f 7093 mov.w r0, #294 ; 0x126 807d246: f7d7 f875 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d24a: 49b9 ldr r1, [pc, #740] ; (807d530 ) 807d24c: 48bb ldr r0, [pc, #748] ; (807d53c ) 807d24e: f7d6 fac9 bl 80537e4 LCD_DisplayString(198, LCD_LINE_3, (char *) pNUMS[idtHP]); 807d252: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 807d256: b2db uxtb r3, r3 807d258: 461a mov r2, r3 807d25a: 4bb7 ldr r3, [pc, #732] ; (807d538 ) 807d25c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d260: 461a mov r2, r3 807d262: 213a movs r1, #58 ; 0x3a 807d264: 20c6 movs r0, #198 ; 0xc6 807d266: f7d7 f865 bl 8054334 LCD_DisplayString(214, LCD_LINE_3, (char *) pNUMS[ietHP]); 807d26a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 807d26e: b2db uxtb r3, r3 807d270: 461a mov r2, r3 807d272: 4bb1 ldr r3, [pc, #708] ; (807d538 ) 807d274: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d278: 461a mov r2, r3 807d27a: 213a movs r1, #58 ; 0x3a 807d27c: 20d6 movs r0, #214 ; 0xd6 807d27e: f7d7 f859 bl 8054334 LCD_DisplayString(230, LCD_LINE_3, (char *) pNUMS[iesHP]); 807d282: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 807d286: b2db uxtb r3, r3 807d288: 461a mov r2, r3 807d28a: 4bab ldr r3, [pc, #684] ; (807d538 ) 807d28c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d290: 461a mov r2, r3 807d292: 213a movs r1, #58 ; 0x3a 807d294: 20e6 movs r0, #230 ; 0xe6 807d296: f7d7 f84d bl 8054334 LCD_DisplayString(246, LCD_LINE_3, (char *) pNUMS[iedHP]); 807d29a: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 807d29e: b2db uxtb r3, r3 807d2a0: 461a mov r2, r3 807d2a2: 4ba5 ldr r3, [pc, #660] ; (807d538 ) 807d2a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d2a8: 461a mov r2, r3 807d2aa: 213a movs r1, #58 ; 0x3a 807d2ac: 20f6 movs r0, #246 ; 0xf6 807d2ae: f7d7 f841 bl 8054334 LCD_DisplayString(262, LCD_LINE_3, (char *) pNUMS[ieeHP]); 807d2b2: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 807d2b6: b2db uxtb r3, r3 807d2b8: 461a mov r2, r3 807d2ba: 4b9f ldr r3, [pc, #636] ; (807d538 ) 807d2bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d2c0: 461a mov r2, r3 807d2c2: 213a movs r1, #58 ; 0x3a 807d2c4: f44f 7083 mov.w r0, #262 ; 0x106 807d2c8: f7d7 f834 bl 8054334 LCD_DisplayString(278, LCD_LINE_3, "."); 807d2cc: 4a9c ldr r2, [pc, #624] ; (807d540 ) 807d2ce: 213a movs r1, #58 ; 0x3a 807d2d0: f44f 708b mov.w r0, #278 ; 0x116 807d2d4: f7d7 f82e bl 8054334 if(menupos == FilterLP_IDT) 807d2d8: 4b94 ldr r3, [pc, #592] ; (807d52c ) 807d2da: 781b ldrb r3, [r3, #0] 807d2dc: b2db uxtb r3, r3 807d2de: 2b1f cmp r3, #31 807d2e0: d15d bne.n 807d39e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d2e2: 4993 ldr r1, [pc, #588] ; (807d530 ) 807d2e4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d2e8: f7d6 fa7c bl 80537e4 if(blk) 807d2ec: 4b91 ldr r3, [pc, #580] ; (807d534 ) 807d2ee: 681b ldr r3, [r3, #0] 807d2f0: 2b00 cmp r3, #0 807d2f2: d00b beq.n 807d30c LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807d2f4: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807d2f8: b2db uxtb r3, r3 807d2fa: 461a mov r2, r3 807d2fc: 4b8e ldr r3, [pc, #568] ; (807d538 ) 807d2fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d302: 461a mov r2, r3 807d304: 214a movs r1, #74 ; 0x4a 807d306: 20c6 movs r0, #198 ; 0xc6 807d308: f7d7 f814 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d30c: 4988 ldr r1, [pc, #544] ; (807d530 ) 807d30e: 488b ldr r0, [pc, #556] ; (807d53c ) 807d310: f7d6 fa68 bl 80537e4 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807d314: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807d318: b2db uxtb r3, r3 807d31a: 461a mov r2, r3 807d31c: 4b86 ldr r3, [pc, #536] ; (807d538 ) 807d31e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d322: 461a mov r2, r3 807d324: 214a movs r1, #74 ; 0x4a 807d326: 20d6 movs r0, #214 ; 0xd6 807d328: f7d7 f804 bl 8054334 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807d32c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807d330: b2db uxtb r3, r3 807d332: 461a mov r2, r3 807d334: 4b80 ldr r3, [pc, #512] ; (807d538 ) 807d336: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d33a: 461a mov r2, r3 807d33c: 214a movs r1, #74 ; 0x4a 807d33e: 20e6 movs r0, #230 ; 0xe6 807d340: f7d6 fff8 bl 8054334 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807d344: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807d348: b2db uxtb r3, r3 807d34a: 461a mov r2, r3 807d34c: 4b7a ldr r3, [pc, #488] ; (807d538 ) 807d34e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d352: 461a mov r2, r3 807d354: 214a movs r1, #74 ; 0x4a 807d356: 20f6 movs r0, #246 ; 0xf6 807d358: f7d6 ffec bl 8054334 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807d35c: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807d360: b2db uxtb r3, r3 807d362: 461a mov r2, r3 807d364: 4b74 ldr r3, [pc, #464] ; (807d538 ) 807d366: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d36a: 461a mov r2, r3 807d36c: 214a movs r1, #74 ; 0x4a 807d36e: f44f 7083 mov.w r0, #262 ; 0x106 807d372: f7d6 ffdf bl 8054334 LCD_DisplayString(278, LCD_LINE_4, "."); 807d376: 4a72 ldr r2, [pc, #456] ; (807d540 ) 807d378: 214a movs r1, #74 ; 0x4a 807d37a: f44f 708b mov.w r0, #278 ; 0x116 807d37e: f7d6 ffd9 bl 8054334 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807d382: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807d386: b2db uxtb r3, r3 807d388: 461a mov r2, r3 807d38a: 4b6b ldr r3, [pc, #428] ; (807d538 ) 807d38c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d390: 461a mov r2, r3 807d392: 214a movs r1, #74 ; 0x4a 807d394: f44f 7093 mov.w r0, #294 ; 0x126 807d398: f7d6 ffcc bl 8054334 807d39c: e1fa b.n 807d794 } else if(menupos == FilterLP_IET) 807d39e: 4b63 ldr r3, [pc, #396] ; (807d52c ) 807d3a0: 781b ldrb r3, [r3, #0] 807d3a2: b2db uxtb r3, r3 807d3a4: 2b20 cmp r3, #32 807d3a6: d15d bne.n 807d464 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d3a8: 4961 ldr r1, [pc, #388] ; (807d530 ) 807d3aa: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d3ae: f7d6 fa19 bl 80537e4 if(blk) 807d3b2: 4b60 ldr r3, [pc, #384] ; (807d534 ) 807d3b4: 681b ldr r3, [r3, #0] 807d3b6: 2b00 cmp r3, #0 807d3b8: d00b beq.n 807d3d2 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807d3ba: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807d3be: b2db uxtb r3, r3 807d3c0: 461a mov r2, r3 807d3c2: 4b5d ldr r3, [pc, #372] ; (807d538 ) 807d3c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d3c8: 461a mov r2, r3 807d3ca: 214a movs r1, #74 ; 0x4a 807d3cc: 20d6 movs r0, #214 ; 0xd6 807d3ce: f7d6 ffb1 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d3d2: 4957 ldr r1, [pc, #348] ; (807d530 ) 807d3d4: 4859 ldr r0, [pc, #356] ; (807d53c ) 807d3d6: f7d6 fa05 bl 80537e4 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807d3da: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807d3de: b2db uxtb r3, r3 807d3e0: 461a mov r2, r3 807d3e2: 4b55 ldr r3, [pc, #340] ; (807d538 ) 807d3e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d3e8: 461a mov r2, r3 807d3ea: 214a movs r1, #74 ; 0x4a 807d3ec: 20c6 movs r0, #198 ; 0xc6 807d3ee: f7d6 ffa1 bl 8054334 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807d3f2: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807d3f6: b2db uxtb r3, r3 807d3f8: 461a mov r2, r3 807d3fa: 4b4f ldr r3, [pc, #316] ; (807d538 ) 807d3fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d400: 461a mov r2, r3 807d402: 214a movs r1, #74 ; 0x4a 807d404: 20e6 movs r0, #230 ; 0xe6 807d406: f7d6 ff95 bl 8054334 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807d40a: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807d40e: b2db uxtb r3, r3 807d410: 461a mov r2, r3 807d412: 4b49 ldr r3, [pc, #292] ; (807d538 ) 807d414: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d418: 461a mov r2, r3 807d41a: 214a movs r1, #74 ; 0x4a 807d41c: 20f6 movs r0, #246 ; 0xf6 807d41e: f7d6 ff89 bl 8054334 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807d422: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807d426: b2db uxtb r3, r3 807d428: 461a mov r2, r3 807d42a: 4b43 ldr r3, [pc, #268] ; (807d538 ) 807d42c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d430: 461a mov r2, r3 807d432: 214a movs r1, #74 ; 0x4a 807d434: f44f 7083 mov.w r0, #262 ; 0x106 807d438: f7d6 ff7c bl 8054334 LCD_DisplayString(278, LCD_LINE_4, "."); 807d43c: 4a40 ldr r2, [pc, #256] ; (807d540 ) 807d43e: 214a movs r1, #74 ; 0x4a 807d440: f44f 708b mov.w r0, #278 ; 0x116 807d444: f7d6 ff76 bl 8054334 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807d448: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807d44c: b2db uxtb r3, r3 807d44e: 461a mov r2, r3 807d450: 4b39 ldr r3, [pc, #228] ; (807d538 ) 807d452: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d456: 461a mov r2, r3 807d458: 214a movs r1, #74 ; 0x4a 807d45a: f44f 7093 mov.w r0, #294 ; 0x126 807d45e: f7d6 ff69 bl 8054334 807d462: e197 b.n 807d794 } else if(menupos == FilterLP_IES) 807d464: 4b31 ldr r3, [pc, #196] ; (807d52c ) 807d466: 781b ldrb r3, [r3, #0] 807d468: b2db uxtb r3, r3 807d46a: 2b21 cmp r3, #33 ; 0x21 807d46c: d16a bne.n 807d544 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d46e: 4930 ldr r1, [pc, #192] ; (807d530 ) 807d470: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d474: f7d6 f9b6 bl 80537e4 if(blk) 807d478: 4b2e ldr r3, [pc, #184] ; (807d534 ) 807d47a: 681b ldr r3, [r3, #0] 807d47c: 2b00 cmp r3, #0 807d47e: d00b beq.n 807d498 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807d480: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807d484: b2db uxtb r3, r3 807d486: 461a mov r2, r3 807d488: 4b2b ldr r3, [pc, #172] ; (807d538 ) 807d48a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d48e: 461a mov r2, r3 807d490: 214a movs r1, #74 ; 0x4a 807d492: 20e6 movs r0, #230 ; 0xe6 807d494: f7d6 ff4e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d498: 4925 ldr r1, [pc, #148] ; (807d530 ) 807d49a: 4828 ldr r0, [pc, #160] ; (807d53c ) 807d49c: f7d6 f9a2 bl 80537e4 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807d4a0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807d4a4: b2db uxtb r3, r3 807d4a6: 461a mov r2, r3 807d4a8: 4b23 ldr r3, [pc, #140] ; (807d538 ) 807d4aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d4ae: 461a mov r2, r3 807d4b0: 214a movs r1, #74 ; 0x4a 807d4b2: 20c6 movs r0, #198 ; 0xc6 807d4b4: f7d6 ff3e bl 8054334 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807d4b8: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807d4bc: b2db uxtb r3, r3 807d4be: 461a mov r2, r3 807d4c0: 4b1d ldr r3, [pc, #116] ; (807d538 ) 807d4c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d4c6: 461a mov r2, r3 807d4c8: 214a movs r1, #74 ; 0x4a 807d4ca: 20d6 movs r0, #214 ; 0xd6 807d4cc: f7d6 ff32 bl 8054334 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807d4d0: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807d4d4: b2db uxtb r3, r3 807d4d6: 461a mov r2, r3 807d4d8: 4b17 ldr r3, [pc, #92] ; (807d538 ) 807d4da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d4de: 461a mov r2, r3 807d4e0: 214a movs r1, #74 ; 0x4a 807d4e2: 20f6 movs r0, #246 ; 0xf6 807d4e4: f7d6 ff26 bl 8054334 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807d4e8: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807d4ec: b2db uxtb r3, r3 807d4ee: 461a mov r2, r3 807d4f0: 4b11 ldr r3, [pc, #68] ; (807d538 ) 807d4f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d4f6: 461a mov r2, r3 807d4f8: 214a movs r1, #74 ; 0x4a 807d4fa: f44f 7083 mov.w r0, #262 ; 0x106 807d4fe: f7d6 ff19 bl 8054334 LCD_DisplayString(278, LCD_LINE_4, "."); 807d502: 4a0f ldr r2, [pc, #60] ; (807d540 ) 807d504: 214a movs r1, #74 ; 0x4a 807d506: f44f 708b mov.w r0, #278 ; 0x116 807d50a: f7d6 ff13 bl 8054334 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807d50e: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807d512: b2db uxtb r3, r3 807d514: 461a mov r2, r3 807d516: 4b08 ldr r3, [pc, #32] ; (807d538 ) 807d518: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d51c: 461a mov r2, r3 807d51e: 214a movs r1, #74 ; 0x4a 807d520: f44f 7093 mov.w r0, #294 ; 0x126 807d524: f7d6 ff06 bl 8054334 807d528: e134 b.n 807d794 807d52a: bf00 nop 807d52c: 20020070 .word 0x20020070 807d530: ff0a0f1f .word 0xff0a0f1f 807d534: 2002165c .word 0x2002165c 807d538: 20020964 .word 0x20020964 807d53c: ffd8aa57 .word 0xffd8aa57 807d540: 080cf820 .word 0x080cf820 } else if(menupos == FilterLP_IED) 807d544: 4bc5 ldr r3, [pc, #788] ; (807d85c ) 807d546: 781b ldrb r3, [r3, #0] 807d548: b2db uxtb r3, r3 807d54a: 2b22 cmp r3, #34 ; 0x22 807d54c: d15d bne.n 807d60a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d54e: 49c4 ldr r1, [pc, #784] ; (807d860 ) 807d550: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d554: f7d6 f946 bl 80537e4 if(blk) 807d558: 4bc2 ldr r3, [pc, #776] ; (807d864 ) 807d55a: 681b ldr r3, [r3, #0] 807d55c: 2b00 cmp r3, #0 807d55e: d00b beq.n 807d578 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807d560: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807d564: b2db uxtb r3, r3 807d566: 461a mov r2, r3 807d568: 4bbf ldr r3, [pc, #764] ; (807d868 ) 807d56a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d56e: 461a mov r2, r3 807d570: 214a movs r1, #74 ; 0x4a 807d572: 20f6 movs r0, #246 ; 0xf6 807d574: f7d6 fede bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d578: 49b9 ldr r1, [pc, #740] ; (807d860 ) 807d57a: 48bc ldr r0, [pc, #752] ; (807d86c ) 807d57c: f7d6 f932 bl 80537e4 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807d580: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807d584: b2db uxtb r3, r3 807d586: 461a mov r2, r3 807d588: 4bb7 ldr r3, [pc, #732] ; (807d868 ) 807d58a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d58e: 461a mov r2, r3 807d590: 214a movs r1, #74 ; 0x4a 807d592: 20c6 movs r0, #198 ; 0xc6 807d594: f7d6 fece bl 8054334 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807d598: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807d59c: b2db uxtb r3, r3 807d59e: 461a mov r2, r3 807d5a0: 4bb1 ldr r3, [pc, #708] ; (807d868 ) 807d5a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d5a6: 461a mov r2, r3 807d5a8: 214a movs r1, #74 ; 0x4a 807d5aa: 20d6 movs r0, #214 ; 0xd6 807d5ac: f7d6 fec2 bl 8054334 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807d5b0: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807d5b4: b2db uxtb r3, r3 807d5b6: 461a mov r2, r3 807d5b8: 4bab ldr r3, [pc, #684] ; (807d868 ) 807d5ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d5be: 461a mov r2, r3 807d5c0: 214a movs r1, #74 ; 0x4a 807d5c2: 20e6 movs r0, #230 ; 0xe6 807d5c4: f7d6 feb6 bl 8054334 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807d5c8: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807d5cc: b2db uxtb r3, r3 807d5ce: 461a mov r2, r3 807d5d0: 4ba5 ldr r3, [pc, #660] ; (807d868 ) 807d5d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d5d6: 461a mov r2, r3 807d5d8: 214a movs r1, #74 ; 0x4a 807d5da: f44f 7083 mov.w r0, #262 ; 0x106 807d5de: f7d6 fea9 bl 8054334 LCD_DisplayString(278, LCD_LINE_4, "."); 807d5e2: 4aa3 ldr r2, [pc, #652] ; (807d870 ) 807d5e4: 214a movs r1, #74 ; 0x4a 807d5e6: f44f 708b mov.w r0, #278 ; 0x116 807d5ea: f7d6 fea3 bl 8054334 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807d5ee: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807d5f2: b2db uxtb r3, r3 807d5f4: 461a mov r2, r3 807d5f6: 4b9c ldr r3, [pc, #624] ; (807d868 ) 807d5f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d5fc: 461a mov r2, r3 807d5fe: 214a movs r1, #74 ; 0x4a 807d600: f44f 7093 mov.w r0, #294 ; 0x126 807d604: f7d6 fe96 bl 8054334 807d608: e0c4 b.n 807d794 } else if(menupos == FilterLP_IEE) 807d60a: 4b94 ldr r3, [pc, #592] ; (807d85c ) 807d60c: 781b ldrb r3, [r3, #0] 807d60e: b2db uxtb r3, r3 807d610: 2b23 cmp r3, #35 ; 0x23 807d612: d15d bne.n 807d6d0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d614: 4992 ldr r1, [pc, #584] ; (807d860 ) 807d616: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d61a: f7d6 f8e3 bl 80537e4 if(blk) 807d61e: 4b91 ldr r3, [pc, #580] ; (807d864 ) 807d620: 681b ldr r3, [r3, #0] 807d622: 2b00 cmp r3, #0 807d624: d00c beq.n 807d640 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807d626: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807d62a: b2db uxtb r3, r3 807d62c: 461a mov r2, r3 807d62e: 4b8e ldr r3, [pc, #568] ; (807d868 ) 807d630: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d634: 461a mov r2, r3 807d636: 214a movs r1, #74 ; 0x4a 807d638: f44f 7083 mov.w r0, #262 ; 0x106 807d63c: f7d6 fe7a bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d640: 4987 ldr r1, [pc, #540] ; (807d860 ) 807d642: 488a ldr r0, [pc, #552] ; (807d86c ) 807d644: f7d6 f8ce bl 80537e4 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807d648: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807d64c: b2db uxtb r3, r3 807d64e: 461a mov r2, r3 807d650: 4b85 ldr r3, [pc, #532] ; (807d868 ) 807d652: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d656: 461a mov r2, r3 807d658: 214a movs r1, #74 ; 0x4a 807d65a: 20c6 movs r0, #198 ; 0xc6 807d65c: f7d6 fe6a bl 8054334 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807d660: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807d664: b2db uxtb r3, r3 807d666: 461a mov r2, r3 807d668: 4b7f ldr r3, [pc, #508] ; (807d868 ) 807d66a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d66e: 461a mov r2, r3 807d670: 214a movs r1, #74 ; 0x4a 807d672: 20d6 movs r0, #214 ; 0xd6 807d674: f7d6 fe5e bl 8054334 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807d678: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807d67c: b2db uxtb r3, r3 807d67e: 461a mov r2, r3 807d680: 4b79 ldr r3, [pc, #484] ; (807d868 ) 807d682: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d686: 461a mov r2, r3 807d688: 214a movs r1, #74 ; 0x4a 807d68a: 20e6 movs r0, #230 ; 0xe6 807d68c: f7d6 fe52 bl 8054334 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807d690: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807d694: b2db uxtb r3, r3 807d696: 461a mov r2, r3 807d698: 4b73 ldr r3, [pc, #460] ; (807d868 ) 807d69a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d69e: 461a mov r2, r3 807d6a0: 214a movs r1, #74 ; 0x4a 807d6a2: 20f6 movs r0, #246 ; 0xf6 807d6a4: f7d6 fe46 bl 8054334 LCD_DisplayString(278, LCD_LINE_4, "."); 807d6a8: 4a71 ldr r2, [pc, #452] ; (807d870 ) 807d6aa: 214a movs r1, #74 ; 0x4a 807d6ac: f44f 708b mov.w r0, #278 ; 0x116 807d6b0: f7d6 fe40 bl 8054334 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807d6b4: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807d6b8: b2db uxtb r3, r3 807d6ba: 461a mov r2, r3 807d6bc: 4b6a ldr r3, [pc, #424] ; (807d868 ) 807d6be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d6c2: 461a mov r2, r3 807d6c4: 214a movs r1, #74 ; 0x4a 807d6c6: f44f 7093 mov.w r0, #294 ; 0x126 807d6ca: f7d6 fe33 bl 8054334 807d6ce: e061 b.n 807d794 } else if(menupos == FilterLP_IKD) 807d6d0: 4b62 ldr r3, [pc, #392] ; (807d85c ) 807d6d2: 781b ldrb r3, [r3, #0] 807d6d4: b2db uxtb r3, r3 807d6d6: 2b24 cmp r3, #36 ; 0x24 807d6d8: d15c bne.n 807d794 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d6da: 4961 ldr r1, [pc, #388] ; (807d860 ) 807d6dc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d6e0: f7d6 f880 bl 80537e4 if(blk) 807d6e4: 4b5f ldr r3, [pc, #380] ; (807d864 ) 807d6e6: 681b ldr r3, [r3, #0] 807d6e8: 2b00 cmp r3, #0 807d6ea: d00c beq.n 807d706 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdLP]); 807d6ec: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 807d6f0: b2db uxtb r3, r3 807d6f2: 461a mov r2, r3 807d6f4: 4b5c ldr r3, [pc, #368] ; (807d868 ) 807d6f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d6fa: 461a mov r2, r3 807d6fc: 214a movs r1, #74 ; 0x4a 807d6fe: f44f 7093 mov.w r0, #294 ; 0x126 807d702: f7d6 fe17 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d706: 4956 ldr r1, [pc, #344] ; (807d860 ) 807d708: 4858 ldr r0, [pc, #352] ; (807d86c ) 807d70a: f7d6 f86b bl 80537e4 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtLP]); 807d70e: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 807d712: b2db uxtb r3, r3 807d714: 461a mov r2, r3 807d716: 4b54 ldr r3, [pc, #336] ; (807d868 ) 807d718: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d71c: 461a mov r2, r3 807d71e: 214a movs r1, #74 ; 0x4a 807d720: 20c6 movs r0, #198 ; 0xc6 807d722: f7d6 fe07 bl 8054334 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietLP]); 807d726: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 807d72a: b2db uxtb r3, r3 807d72c: 461a mov r2, r3 807d72e: 4b4e ldr r3, [pc, #312] ; (807d868 ) 807d730: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d734: 461a mov r2, r3 807d736: 214a movs r1, #74 ; 0x4a 807d738: 20d6 movs r0, #214 ; 0xd6 807d73a: f7d6 fdfb bl 8054334 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesLP]); 807d73e: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 807d742: b2db uxtb r3, r3 807d744: 461a mov r2, r3 807d746: 4b48 ldr r3, [pc, #288] ; (807d868 ) 807d748: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d74c: 461a mov r2, r3 807d74e: 214a movs r1, #74 ; 0x4a 807d750: 20e6 movs r0, #230 ; 0xe6 807d752: f7d6 fdef bl 8054334 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedLP]); 807d756: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 807d75a: b2db uxtb r3, r3 807d75c: 461a mov r2, r3 807d75e: 4b42 ldr r3, [pc, #264] ; (807d868 ) 807d760: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d764: 461a mov r2, r3 807d766: 214a movs r1, #74 ; 0x4a 807d768: 20f6 movs r0, #246 ; 0xf6 807d76a: f7d6 fde3 bl 8054334 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeLP]); 807d76e: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 807d772: b2db uxtb r3, r3 807d774: 461a mov r2, r3 807d776: 4b3c ldr r3, [pc, #240] ; (807d868 ) 807d778: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d77c: 461a mov r2, r3 807d77e: 214a movs r1, #74 ; 0x4a 807d780: f44f 7083 mov.w r0, #262 ; 0x106 807d784: f7d6 fdd6 bl 8054334 LCD_DisplayString(278, LCD_LINE_4, "."); 807d788: 4a39 ldr r2, [pc, #228] ; (807d870 ) 807d78a: 214a movs r1, #74 ; 0x4a 807d78c: f44f 708b mov.w r0, #278 ; 0x116 807d790: f7d6 fdd0 bl 8054334 if(menupos == VibMax_IDT) 807d794: 4b31 ldr r3, [pc, #196] ; (807d85c ) 807d796: 781b ldrb r3, [r3, #0] 807d798: b2db uxtb r3, r3 807d79a: 2b0b cmp r3, #11 807d79c: d16a bne.n 807d874 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d79e: 4930 ldr r1, [pc, #192] ; (807d860 ) 807d7a0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d7a4: f7d6 f81e bl 80537e4 if(blk) 807d7a8: 4b2e ldr r3, [pc, #184] ; (807d864 ) 807d7aa: 681b ldr r3, [r3, #0] 807d7ac: 2b00 cmp r3, #0 807d7ae: d00b beq.n 807d7c8 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807d7b0: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807d7b4: b2db uxtb r3, r3 807d7b6: 461a mov r2, r3 807d7b8: 4b2b ldr r3, [pc, #172] ; (807d868 ) 807d7ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d7be: 461a mov r2, r3 807d7c0: 21ca movs r1, #202 ; 0xca 807d7c2: 20c6 movs r0, #198 ; 0xc6 807d7c4: f7d6 fdb6 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d7c8: 4925 ldr r1, [pc, #148] ; (807d860 ) 807d7ca: 4828 ldr r0, [pc, #160] ; (807d86c ) 807d7cc: f7d6 f80a bl 80537e4 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807d7d0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807d7d4: b2db uxtb r3, r3 807d7d6: 461a mov r2, r3 807d7d8: 4b23 ldr r3, [pc, #140] ; (807d868 ) 807d7da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d7de: 461a mov r2, r3 807d7e0: 21ca movs r1, #202 ; 0xca 807d7e2: 20d6 movs r0, #214 ; 0xd6 807d7e4: f7d6 fda6 bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807d7e8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807d7ec: b2db uxtb r3, r3 807d7ee: 461a mov r2, r3 807d7f0: 4b1d ldr r3, [pc, #116] ; (807d868 ) 807d7f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d7f6: 461a mov r2, r3 807d7f8: 21ca movs r1, #202 ; 0xca 807d7fa: 20e6 movs r0, #230 ; 0xe6 807d7fc: f7d6 fd9a bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807d800: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807d804: b2db uxtb r3, r3 807d806: 461a mov r2, r3 807d808: 4b17 ldr r3, [pc, #92] ; (807d868 ) 807d80a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d80e: 461a mov r2, r3 807d810: 21ca movs r1, #202 ; 0xca 807d812: 20f6 movs r0, #246 ; 0xf6 807d814: f7d6 fd8e bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807d818: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807d81c: b2db uxtb r3, r3 807d81e: 461a mov r2, r3 807d820: 4b11 ldr r3, [pc, #68] ; (807d868 ) 807d822: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d826: 461a mov r2, r3 807d828: 21ca movs r1, #202 ; 0xca 807d82a: f44f 7083 mov.w r0, #262 ; 0x106 807d82e: f7d6 fd81 bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 807d832: 4a0f ldr r2, [pc, #60] ; (807d870 ) 807d834: 21ca movs r1, #202 ; 0xca 807d836: f44f 708b mov.w r0, #278 ; 0x116 807d83a: f7d6 fd7b bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807d83e: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807d842: b2db uxtb r3, r3 807d844: 461a mov r2, r3 807d846: 4b08 ldr r3, [pc, #32] ; (807d868 ) 807d848: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d84c: 461a mov r2, r3 807d84e: 21ca movs r1, #202 ; 0xca 807d850: f44f 7093 mov.w r0, #294 ; 0x126 807d854: f7d6 fd6e bl 8054334 807d858: e206 b.n 807dc68 807d85a: bf00 nop 807d85c: 20020070 .word 0x20020070 807d860: ff0a0f1f .word 0xff0a0f1f 807d864: 2002165c .word 0x2002165c 807d868: 20020964 .word 0x20020964 807d86c: ffd8aa57 .word 0xffd8aa57 807d870: 080cf820 .word 0x080cf820 } else if(menupos == VibMax_IET) 807d874: 4bc5 ldr r3, [pc, #788] ; (807db8c ) 807d876: 781b ldrb r3, [r3, #0] 807d878: b2db uxtb r3, r3 807d87a: 2b0c cmp r3, #12 807d87c: d15d bne.n 807d93a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d87e: 49c4 ldr r1, [pc, #784] ; (807db90 ) 807d880: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d884: f7d5 ffae bl 80537e4 if(blk) 807d888: 4bc2 ldr r3, [pc, #776] ; (807db94 ) 807d88a: 681b ldr r3, [r3, #0] 807d88c: 2b00 cmp r3, #0 807d88e: d00b beq.n 807d8a8 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807d890: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807d894: b2db uxtb r3, r3 807d896: 461a mov r2, r3 807d898: 4bbf ldr r3, [pc, #764] ; (807db98 ) 807d89a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d89e: 461a mov r2, r3 807d8a0: 21ca movs r1, #202 ; 0xca 807d8a2: 20d6 movs r0, #214 ; 0xd6 807d8a4: f7d6 fd46 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d8a8: 49b9 ldr r1, [pc, #740] ; (807db90 ) 807d8aa: 48bc ldr r0, [pc, #752] ; (807db9c ) 807d8ac: f7d5 ff9a bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807d8b0: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807d8b4: b2db uxtb r3, r3 807d8b6: 461a mov r2, r3 807d8b8: 4bb7 ldr r3, [pc, #732] ; (807db98 ) 807d8ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d8be: 461a mov r2, r3 807d8c0: 21ca movs r1, #202 ; 0xca 807d8c2: 20c6 movs r0, #198 ; 0xc6 807d8c4: f7d6 fd36 bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807d8c8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807d8cc: b2db uxtb r3, r3 807d8ce: 461a mov r2, r3 807d8d0: 4bb1 ldr r3, [pc, #708] ; (807db98 ) 807d8d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d8d6: 461a mov r2, r3 807d8d8: 21ca movs r1, #202 ; 0xca 807d8da: 20e6 movs r0, #230 ; 0xe6 807d8dc: f7d6 fd2a bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807d8e0: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807d8e4: b2db uxtb r3, r3 807d8e6: 461a mov r2, r3 807d8e8: 4bab ldr r3, [pc, #684] ; (807db98 ) 807d8ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d8ee: 461a mov r2, r3 807d8f0: 21ca movs r1, #202 ; 0xca 807d8f2: 20f6 movs r0, #246 ; 0xf6 807d8f4: f7d6 fd1e bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807d8f8: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807d8fc: b2db uxtb r3, r3 807d8fe: 461a mov r2, r3 807d900: 4ba5 ldr r3, [pc, #660] ; (807db98 ) 807d902: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d906: 461a mov r2, r3 807d908: 21ca movs r1, #202 ; 0xca 807d90a: f44f 7083 mov.w r0, #262 ; 0x106 807d90e: f7d6 fd11 bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 807d912: 4aa3 ldr r2, [pc, #652] ; (807dba0 ) 807d914: 21ca movs r1, #202 ; 0xca 807d916: f44f 708b mov.w r0, #278 ; 0x116 807d91a: f7d6 fd0b bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807d91e: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807d922: b2db uxtb r3, r3 807d924: 461a mov r2, r3 807d926: 4b9c ldr r3, [pc, #624] ; (807db98 ) 807d928: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d92c: 461a mov r2, r3 807d92e: 21ca movs r1, #202 ; 0xca 807d930: f44f 7093 mov.w r0, #294 ; 0x126 807d934: f7d6 fcfe bl 8054334 807d938: e196 b.n 807dc68 } else if(menupos == VibMax_IES) 807d93a: 4b94 ldr r3, [pc, #592] ; (807db8c ) 807d93c: 781b ldrb r3, [r3, #0] 807d93e: b2db uxtb r3, r3 807d940: 2b0d cmp r3, #13 807d942: d15d bne.n 807da00 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807d944: 4992 ldr r1, [pc, #584] ; (807db90 ) 807d946: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807d94a: f7d5 ff4b bl 80537e4 if(blk) 807d94e: 4b91 ldr r3, [pc, #580] ; (807db94 ) 807d950: 681b ldr r3, [r3, #0] 807d952: 2b00 cmp r3, #0 807d954: d00b beq.n 807d96e LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807d956: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807d95a: b2db uxtb r3, r3 807d95c: 461a mov r2, r3 807d95e: 4b8e ldr r3, [pc, #568] ; (807db98 ) 807d960: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d964: 461a mov r2, r3 807d966: 21ca movs r1, #202 ; 0xca 807d968: 20e6 movs r0, #230 ; 0xe6 807d96a: f7d6 fce3 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807d96e: 4988 ldr r1, [pc, #544] ; (807db90 ) 807d970: 488a ldr r0, [pc, #552] ; (807db9c ) 807d972: f7d5 ff37 bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807d976: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807d97a: b2db uxtb r3, r3 807d97c: 461a mov r2, r3 807d97e: 4b86 ldr r3, [pc, #536] ; (807db98 ) 807d980: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d984: 461a mov r2, r3 807d986: 21ca movs r1, #202 ; 0xca 807d988: 20c6 movs r0, #198 ; 0xc6 807d98a: f7d6 fcd3 bl 8054334 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807d98e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807d992: b2db uxtb r3, r3 807d994: 461a mov r2, r3 807d996: 4b80 ldr r3, [pc, #512] ; (807db98 ) 807d998: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d99c: 461a mov r2, r3 807d99e: 21ca movs r1, #202 ; 0xca 807d9a0: 20d6 movs r0, #214 ; 0xd6 807d9a2: f7d6 fcc7 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807d9a6: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807d9aa: b2db uxtb r3, r3 807d9ac: 461a mov r2, r3 807d9ae: 4b7a ldr r3, [pc, #488] ; (807db98 ) 807d9b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d9b4: 461a mov r2, r3 807d9b6: 21ca movs r1, #202 ; 0xca 807d9b8: 20f6 movs r0, #246 ; 0xf6 807d9ba: f7d6 fcbb bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807d9be: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807d9c2: b2db uxtb r3, r3 807d9c4: 461a mov r2, r3 807d9c6: 4b74 ldr r3, [pc, #464] ; (807db98 ) 807d9c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d9cc: 461a mov r2, r3 807d9ce: 21ca movs r1, #202 ; 0xca 807d9d0: f44f 7083 mov.w r0, #262 ; 0x106 807d9d4: f7d6 fcae bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 807d9d8: 4a71 ldr r2, [pc, #452] ; (807dba0 ) 807d9da: 21ca movs r1, #202 ; 0xca 807d9dc: f44f 708b mov.w r0, #278 ; 0x116 807d9e0: f7d6 fca8 bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807d9e4: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807d9e8: b2db uxtb r3, r3 807d9ea: 461a mov r2, r3 807d9ec: 4b6a ldr r3, [pc, #424] ; (807db98 ) 807d9ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807d9f2: 461a mov r2, r3 807d9f4: 21ca movs r1, #202 ; 0xca 807d9f6: f44f 7093 mov.w r0, #294 ; 0x126 807d9fa: f7d6 fc9b bl 8054334 807d9fe: e133 b.n 807dc68 } else if(menupos == VibMax_IED) 807da00: 4b62 ldr r3, [pc, #392] ; (807db8c ) 807da02: 781b ldrb r3, [r3, #0] 807da04: b2db uxtb r3, r3 807da06: 2b0e cmp r3, #14 807da08: d15d bne.n 807dac6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807da0a: 4961 ldr r1, [pc, #388] ; (807db90 ) 807da0c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807da10: f7d5 fee8 bl 80537e4 if(blk) 807da14: 4b5f ldr r3, [pc, #380] ; (807db94 ) 807da16: 681b ldr r3, [r3, #0] 807da18: 2b00 cmp r3, #0 807da1a: d00b beq.n 807da34 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807da1c: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807da20: b2db uxtb r3, r3 807da22: 461a mov r2, r3 807da24: 4b5c ldr r3, [pc, #368] ; (807db98 ) 807da26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807da2a: 461a mov r2, r3 807da2c: 21ca movs r1, #202 ; 0xca 807da2e: 20f6 movs r0, #246 ; 0xf6 807da30: f7d6 fc80 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807da34: 4956 ldr r1, [pc, #344] ; (807db90 ) 807da36: 4859 ldr r0, [pc, #356] ; (807db9c ) 807da38: f7d5 fed4 bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807da3c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807da40: b2db uxtb r3, r3 807da42: 461a mov r2, r3 807da44: 4b54 ldr r3, [pc, #336] ; (807db98 ) 807da46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807da4a: 461a mov r2, r3 807da4c: 21ca movs r1, #202 ; 0xca 807da4e: 20c6 movs r0, #198 ; 0xc6 807da50: f7d6 fc70 bl 8054334 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807da54: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807da58: b2db uxtb r3, r3 807da5a: 461a mov r2, r3 807da5c: 4b4e ldr r3, [pc, #312] ; (807db98 ) 807da5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807da62: 461a mov r2, r3 807da64: 21ca movs r1, #202 ; 0xca 807da66: 20d6 movs r0, #214 ; 0xd6 807da68: f7d6 fc64 bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807da6c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807da70: b2db uxtb r3, r3 807da72: 461a mov r2, r3 807da74: 4b48 ldr r3, [pc, #288] ; (807db98 ) 807da76: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807da7a: 461a mov r2, r3 807da7c: 21ca movs r1, #202 ; 0xca 807da7e: 20e6 movs r0, #230 ; 0xe6 807da80: f7d6 fc58 bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807da84: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807da88: b2db uxtb r3, r3 807da8a: 461a mov r2, r3 807da8c: 4b42 ldr r3, [pc, #264] ; (807db98 ) 807da8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807da92: 461a mov r2, r3 807da94: 21ca movs r1, #202 ; 0xca 807da96: f44f 7083 mov.w r0, #262 ; 0x106 807da9a: f7d6 fc4b bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 807da9e: 4a40 ldr r2, [pc, #256] ; (807dba0 ) 807daa0: 21ca movs r1, #202 ; 0xca 807daa2: f44f 708b mov.w r0, #278 ; 0x116 807daa6: f7d6 fc45 bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807daaa: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807daae: b2db uxtb r3, r3 807dab0: 461a mov r2, r3 807dab2: 4b39 ldr r3, [pc, #228] ; (807db98 ) 807dab4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dab8: 461a mov r2, r3 807daba: 21ca movs r1, #202 ; 0xca 807dabc: f44f 7093 mov.w r0, #294 ; 0x126 807dac0: f7d6 fc38 bl 8054334 807dac4: e0d0 b.n 807dc68 } else if(menupos == VibMax_IEE) 807dac6: 4b31 ldr r3, [pc, #196] ; (807db8c ) 807dac8: 781b ldrb r3, [r3, #0] 807daca: b2db uxtb r3, r3 807dacc: 2b0f cmp r3, #15 807dace: d169 bne.n 807dba4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807dad0: 492f ldr r1, [pc, #188] ; (807db90 ) 807dad2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807dad6: f7d5 fe85 bl 80537e4 if(blk) 807dada: 4b2e ldr r3, [pc, #184] ; (807db94 ) 807dadc: 681b ldr r3, [r3, #0] 807dade: 2b00 cmp r3, #0 807dae0: d00c beq.n 807dafc LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807dae2: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807dae6: b2db uxtb r3, r3 807dae8: 461a mov r2, r3 807daea: 4b2b ldr r3, [pc, #172] ; (807db98 ) 807daec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807daf0: 461a mov r2, r3 807daf2: 21ca movs r1, #202 ; 0xca 807daf4: f44f 7083 mov.w r0, #262 ; 0x106 807daf8: f7d6 fc1c bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807dafc: 4924 ldr r1, [pc, #144] ; (807db90 ) 807dafe: 4827 ldr r0, [pc, #156] ; (807db9c ) 807db00: f7d5 fe70 bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807db04: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807db08: b2db uxtb r3, r3 807db0a: 461a mov r2, r3 807db0c: 4b22 ldr r3, [pc, #136] ; (807db98 ) 807db0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807db12: 461a mov r2, r3 807db14: 21ca movs r1, #202 ; 0xca 807db16: 20c6 movs r0, #198 ; 0xc6 807db18: f7d6 fc0c bl 8054334 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807db1c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807db20: b2db uxtb r3, r3 807db22: 461a mov r2, r3 807db24: 4b1c ldr r3, [pc, #112] ; (807db98 ) 807db26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807db2a: 461a mov r2, r3 807db2c: 21ca movs r1, #202 ; 0xca 807db2e: 20d6 movs r0, #214 ; 0xd6 807db30: f7d6 fc00 bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807db34: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807db38: b2db uxtb r3, r3 807db3a: 461a mov r2, r3 807db3c: 4b16 ldr r3, [pc, #88] ; (807db98 ) 807db3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807db42: 461a mov r2, r3 807db44: 21ca movs r1, #202 ; 0xca 807db46: 20e6 movs r0, #230 ; 0xe6 807db48: f7d6 fbf4 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807db4c: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807db50: b2db uxtb r3, r3 807db52: 461a mov r2, r3 807db54: 4b10 ldr r3, [pc, #64] ; (807db98 ) 807db56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807db5a: 461a mov r2, r3 807db5c: 21ca movs r1, #202 ; 0xca 807db5e: 20f6 movs r0, #246 ; 0xf6 807db60: f7d6 fbe8 bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 807db64: 4a0e ldr r2, [pc, #56] ; (807dba0 ) 807db66: 21ca movs r1, #202 ; 0xca 807db68: f44f 708b mov.w r0, #278 ; 0x116 807db6c: f7d6 fbe2 bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807db70: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807db74: b2db uxtb r3, r3 807db76: 461a mov r2, r3 807db78: 4b07 ldr r3, [pc, #28] ; (807db98 ) 807db7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807db7e: 461a mov r2, r3 807db80: 21ca movs r1, #202 ; 0xca 807db82: f44f 7093 mov.w r0, #294 ; 0x126 807db86: f7d6 fbd5 bl 8054334 807db8a: e06d b.n 807dc68 807db8c: 20020070 .word 0x20020070 807db90: ff0a0f1f .word 0xff0a0f1f 807db94: 2002165c .word 0x2002165c 807db98: 20020964 .word 0x20020964 807db9c: ffd8aa57 .word 0xffd8aa57 807dba0: 080cf820 .word 0x080cf820 } else if(menupos == VibMax_IKD) 807dba4: 4b4d ldr r3, [pc, #308] ; (807dcdc ) 807dba6: 781b ldrb r3, [r3, #0] 807dba8: b2db uxtb r3, r3 807dbaa: 2b10 cmp r3, #16 807dbac: d15c bne.n 807dc68 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807dbae: 494c ldr r1, [pc, #304] ; (807dce0 ) 807dbb0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807dbb4: f7d5 fe16 bl 80537e4 if(blk) 807dbb8: 4b4a ldr r3, [pc, #296] ; (807dce4 ) 807dbba: 681b ldr r3, [r3, #0] 807dbbc: 2b00 cmp r3, #0 807dbbe: d00c beq.n 807dbda LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 807dbc0: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 807dbc4: b2db uxtb r3, r3 807dbc6: 461a mov r2, r3 807dbc8: 4b47 ldr r3, [pc, #284] ; (807dce8 ) 807dbca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dbce: 461a mov r2, r3 807dbd0: 21ca movs r1, #202 ; 0xca 807dbd2: f44f 7093 mov.w r0, #294 ; 0x126 807dbd6: f7d6 fbad bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807dbda: 4941 ldr r1, [pc, #260] ; (807dce0 ) 807dbdc: 4843 ldr r0, [pc, #268] ; (807dcec ) 807dbde: f7d5 fe01 bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 807dbe2: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807dbe6: b2db uxtb r3, r3 807dbe8: 461a mov r2, r3 807dbea: 4b3f ldr r3, [pc, #252] ; (807dce8 ) 807dbec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dbf0: 461a mov r2, r3 807dbf2: 21ca movs r1, #202 ; 0xca 807dbf4: 20c6 movs r0, #198 ; 0xc6 807dbf6: f7d6 fb9d bl 8054334 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 807dbfa: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807dbfe: b2db uxtb r3, r3 807dc00: 461a mov r2, r3 807dc02: 4b39 ldr r3, [pc, #228] ; (807dce8 ) 807dc04: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dc08: 461a mov r2, r3 807dc0a: 21ca movs r1, #202 ; 0xca 807dc0c: 20d6 movs r0, #214 ; 0xd6 807dc0e: f7d6 fb91 bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 807dc12: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807dc16: b2db uxtb r3, r3 807dc18: 461a mov r2, r3 807dc1a: 4b33 ldr r3, [pc, #204] ; (807dce8 ) 807dc1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dc20: 461a mov r2, r3 807dc22: 21ca movs r1, #202 ; 0xca 807dc24: 20e6 movs r0, #230 ; 0xe6 807dc26: f7d6 fb85 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 807dc2a: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807dc2e: b2db uxtb r3, r3 807dc30: 461a mov r2, r3 807dc32: 4b2d ldr r3, [pc, #180] ; (807dce8 ) 807dc34: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dc38: 461a mov r2, r3 807dc3a: 21ca movs r1, #202 ; 0xca 807dc3c: 20f6 movs r0, #246 ; 0xf6 807dc3e: f7d6 fb79 bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 807dc42: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 807dc46: b2db uxtb r3, r3 807dc48: 461a mov r2, r3 807dc4a: 4b27 ldr r3, [pc, #156] ; (807dce8 ) 807dc4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807dc50: 461a mov r2, r3 807dc52: 21ca movs r1, #202 ; 0xca 807dc54: f44f 7083 mov.w r0, #262 ; 0x106 807dc58: f7d6 fb6c bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 807dc5c: 4a24 ldr r2, [pc, #144] ; (807dcf0 ) 807dc5e: 21ca movs r1, #202 ; 0xca 807dc60: f44f 708b mov.w r0, #278 ; 0x116 807dc64: f7d6 fb66 bl 8054334 } } if(pardata.OPTIONS & BIT0) // Åñëè Ìåäèàíà âêë 807dc68: 4b22 ldr r3, [pc, #136] ; (807dcf4 ) 807dc6a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807dc6e: f003 0301 and.w r3, r3, #1 807dc72: 2b00 cmp r3, #0 807dc74: d00a beq.n 807dc8c { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807dc76: 491a ldr r1, [pc, #104] ; (807dce0 ) 807dc78: 481f ldr r0, [pc, #124] ; (807dcf8 ) 807dc7a: f7d5 fdb3 bl 80537e4 BSP_LCD_FillRect(257, 159, 6, 6); 807dc7e: 2306 movs r3, #6 807dc80: 2206 movs r2, #6 807dc82: 219f movs r1, #159 ; 0x9f 807dc84: f240 1001 movw r0, #257 ; 0x101 807dc88: f7d6 fa3a bl 8054100 /*BSP_LCD_DrawLine(257, 177, 260, 182); BSP_LCD_DrawLine(256, 177, 259, 182); BSP_LCD_DrawLine(260, 182, 264, 174); BSP_LCD_DrawLine(259, 182, 263, 174);*/ } if(pardata.OPTIONS & BIT2) // Åñëè àâòîóñèëåíèå 807dc8c: 4b19 ldr r3, [pc, #100] ; (807dcf4 ) 807dc8e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807dc92: f003 0304 and.w r3, r3, #4 807dc96: 2b00 cmp r3, #0 807dc98: d00a beq.n 807dcb0 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807dc9a: 4911 ldr r1, [pc, #68] ; (807dce0 ) 807dc9c: 4816 ldr r0, [pc, #88] ; (807dcf8 ) 807dc9e: f7d5 fda1 bl 80537e4 BSP_LCD_FillRect(257, 191, 6, 6); 807dca2: 2306 movs r3, #6 807dca4: 2206 movs r2, #6 807dca6: 21bf movs r1, #191 ; 0xbf 807dca8: f240 1001 movw r0, #257 ; 0x101 807dcac: f7d6 fa28 bl 8054100 /*BSP_LCD_DrawLine(257, 177, 260, 182); BSP_LCD_DrawLine(256, 177, 259, 182); BSP_LCD_DrawLine(260, 182, 264, 174); BSP_LCD_DrawLine(259, 182, 263, 174);*/ } if(pardata.OPTIONS & BIT3) // Åñëè îòîáðàæàòü ÷àñòîòó 807dcb0: 4b10 ldr r3, [pc, #64] ; (807dcf4 ) 807dcb2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807dcb6: f003 0308 and.w r3, r3, #8 807dcba: 2b00 cmp r3, #0 807dcbc: f019 849b beq.w 80975f6 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 807dcc0: 4907 ldr r1, [pc, #28] ; (807dce0 ) 807dcc2: 480d ldr r0, [pc, #52] ; (807dcf8 ) 807dcc4: f7d5 fd8e bl 80537e4 BSP_LCD_FillRect(257, 175, 6, 6); 807dcc8: 2306 movs r3, #6 807dcca: 2206 movs r2, #6 807dccc: 21af movs r1, #175 ; 0xaf 807dcce: f240 1001 movw r0, #257 ; 0x101 807dcd2: f7d6 fa15 bl 8054100 BSP_LCD_DrawLine(256, 177, 259, 182); BSP_LCD_DrawLine(260, 182, 264, 174); BSP_LCD_DrawLine(259, 182, 263, 174);*/ } break; 807dcd6: f019 bc8e b.w 80975f6 807dcda: bf00 nop 807dcdc: 20020070 .word 0x20020070 807dce0: ff0a0f1f .word 0xff0a0f1f 807dce4: 2002165c .word 0x2002165c 807dce8: 20020964 .word 0x20020964 807dcec: ffd8aa57 .word 0xffd8aa57 807dcf0: 080cf820 .word 0x080cf820 807dcf4: 20023e60 .word 0x20023e60 807dcf8: ff404040 .word 0xff404040 case PARAM_UDAR: //TODO PARAM UDAR LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807dcfc: 49d2 ldr r1, [pc, #840] ; (807e048 ) 807dcfe: 48d3 ldr r0, [pc, #844] ; (807e04c ) 807dd00: f7d5 fd70 bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 807dd04: 23c9 movs r3, #201 ; 0xc9 807dd06: f44f 729d mov.w r2, #314 ; 0x13a 807dd0a: 2123 movs r1, #35 ; 0x23 807dd0c: 2002 movs r0, #2 807dd0e: f7d6 f86f bl 8053df0 str[i++] = ied2 + 48; str[i++] = iee2 + 48; str[i++] = '.'; str[i++] = ikd2 + 48;*/ ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_INNER * 1000.0f); 807dd12: 4bcf ldr r3, [pc, #828] ; (807e050 ) 807dd14: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 807dd18: ed9f 7ace vldr s14, [pc, #824] ; 807e054 807dd1c: ee67 7a87 vmul.f32 s15, s15, s14 807dd20: eefc 7ae7 vcvt.u32.f32 s15, s15 807dd24: ee17 3a90 vmov r3, s15 807dd28: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 inner_ies = k / 100000; 807dd2c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807dd30: 095b lsrs r3, r3, #5 807dd32: 4ac9 ldr r2, [pc, #804] ; (807e058 ) 807dd34: fba2 2303 umull r2, r3, r2, r3 807dd38: 09db lsrs r3, r3, #7 807dd3a: b2db uxtb r3, r3 807dd3c: f887 33a3 strb.w r3, [r7, #931] ; 0x3a3 inner_ied = k % 100000 / 10000; 807dd40: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807dd44: 0953 lsrs r3, r2, #5 807dd46: 49c4 ldr r1, [pc, #784] ; (807e058 ) 807dd48: fba1 1303 umull r1, r3, r1, r3 807dd4c: 09db lsrs r3, r3, #7 807dd4e: 49c3 ldr r1, [pc, #780] ; (807e05c ) 807dd50: fb01 f303 mul.w r3, r1, r3 807dd54: 1ad3 subs r3, r2, r3 807dd56: 4ac2 ldr r2, [pc, #776] ; (807e060 ) 807dd58: fba2 2303 umull r2, r3, r2, r3 807dd5c: 0b5b lsrs r3, r3, #13 807dd5e: b2db uxtb r3, r3 807dd60: f887 33a2 strb.w r3, [r7, #930] ; 0x3a2 inner_iee = k % 100000 % 10000 / 1000; 807dd64: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807dd68: 0953 lsrs r3, r2, #5 807dd6a: 49bb ldr r1, [pc, #748] ; (807e058 ) 807dd6c: fba1 1303 umull r1, r3, r1, r3 807dd70: 09db lsrs r3, r3, #7 807dd72: 49ba ldr r1, [pc, #744] ; (807e05c ) 807dd74: fb01 f303 mul.w r3, r1, r3 807dd78: 1ad3 subs r3, r2, r3 807dd7a: 4ab9 ldr r2, [pc, #740] ; (807e060 ) 807dd7c: fba2 1203 umull r1, r2, r2, r3 807dd80: 0b52 lsrs r2, r2, #13 807dd82: f242 7110 movw r1, #10000 ; 0x2710 807dd86: fb01 f202 mul.w r2, r1, r2 807dd8a: 1a9a subs r2, r3, r2 807dd8c: 4bb5 ldr r3, [pc, #724] ; (807e064 ) 807dd8e: fba3 2302 umull r2, r3, r3, r2 807dd92: 099b lsrs r3, r3, #6 807dd94: b2db uxtb r3, r3 807dd96: f887 33a1 strb.w r3, [r7, #929] ; 0x3a1 inner_ikd = k % 100000 % 10000 % 1000 / 100; 807dd9a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807dd9e: 095a lsrs r2, r3, #5 807dda0: 49ad ldr r1, [pc, #692] ; (807e058 ) 807dda2: fba1 1202 umull r1, r2, r1, r2 807dda6: 09d2 lsrs r2, r2, #7 807dda8: 49ac ldr r1, [pc, #688] ; (807e05c ) 807ddaa: fb01 f202 mul.w r2, r1, r2 807ddae: 1a9a subs r2, r3, r2 807ddb0: 4bab ldr r3, [pc, #684] ; (807e060 ) 807ddb2: fba3 1302 umull r1, r3, r3, r2 807ddb6: 0b5b lsrs r3, r3, #13 807ddb8: f242 7110 movw r1, #10000 ; 0x2710 807ddbc: fb01 f303 mul.w r3, r1, r3 807ddc0: 1ad3 subs r3, r2, r3 807ddc2: 4aa8 ldr r2, [pc, #672] ; (807e064 ) 807ddc4: fba2 1203 umull r1, r2, r2, r3 807ddc8: 0992 lsrs r2, r2, #6 807ddca: f44f 717a mov.w r1, #1000 ; 0x3e8 807ddce: fb01 f202 mul.w r2, r1, r2 807ddd2: 1a9a subs r2, r3, r2 807ddd4: 4ba4 ldr r3, [pc, #656] ; (807e068 ) 807ddd6: fba3 2302 umull r2, r3, r3, r2 807ddda: 095b lsrs r3, r3, #5 807dddc: b2db uxtb r3, r3 807ddde: f887 33a0 strb.w r3, [r7, #928] ; 0x3a0 inner_iks = k % 100000 % 10000 % 1000 % 100 / 10; 807dde2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807dde6: 0953 lsrs r3, r2, #5 807dde8: 499b ldr r1, [pc, #620] ; (807e058 ) 807ddea: fba1 1303 umull r1, r3, r1, r3 807ddee: 09db lsrs r3, r3, #7 807ddf0: 499a ldr r1, [pc, #616] ; (807e05c ) 807ddf2: fb01 f303 mul.w r3, r1, r3 807ddf6: 1ad3 subs r3, r2, r3 807ddf8: 4a99 ldr r2, [pc, #612] ; (807e060 ) 807ddfa: fba2 1203 umull r1, r2, r2, r3 807ddfe: 0b52 lsrs r2, r2, #13 807de00: f242 7110 movw r1, #10000 ; 0x2710 807de04: fb01 f202 mul.w r2, r1, r2 807de08: 1a9a subs r2, r3, r2 807de0a: 4b96 ldr r3, [pc, #600] ; (807e064 ) 807de0c: fba3 1302 umull r1, r3, r3, r2 807de10: 099b lsrs r3, r3, #6 807de12: f44f 717a mov.w r1, #1000 ; 0x3e8 807de16: fb01 f303 mul.w r3, r1, r3 807de1a: 1ad3 subs r3, r2, r3 807de1c: 4a92 ldr r2, [pc, #584] ; (807e068 ) 807de1e: fba2 1203 umull r1, r2, r2, r3 807de22: 0952 lsrs r2, r2, #5 807de24: 2164 movs r1, #100 ; 0x64 807de26: fb01 f202 mul.w r2, r1, r2 807de2a: 1a9a subs r2, r3, r2 807de2c: 4b8f ldr r3, [pc, #572] ; (807e06c ) 807de2e: fba3 2302 umull r2, r3, r3, r2 807de32: 08db lsrs r3, r3, #3 807de34: b2db uxtb r3, r3 807de36: f887 339f strb.w r3, [r7, #927] ; 0x39f inner_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807de3a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807de3e: 0953 lsrs r3, r2, #5 807de40: 4985 ldr r1, [pc, #532] ; (807e058 ) 807de42: fba1 1303 umull r1, r3, r1, r3 807de46: 09db lsrs r3, r3, #7 807de48: 4984 ldr r1, [pc, #528] ; (807e05c ) 807de4a: fb01 f303 mul.w r3, r1, r3 807de4e: 1ad3 subs r3, r2, r3 807de50: 4a83 ldr r2, [pc, #524] ; (807e060 ) 807de52: fba2 1203 umull r1, r2, r2, r3 807de56: 0b52 lsrs r2, r2, #13 807de58: f242 7110 movw r1, #10000 ; 0x2710 807de5c: fb01 f202 mul.w r2, r1, r2 807de60: 1a9a subs r2, r3, r2 807de62: 4b80 ldr r3, [pc, #512] ; (807e064 ) 807de64: fba3 1302 umull r1, r3, r3, r2 807de68: 099b lsrs r3, r3, #6 807de6a: f44f 717a mov.w r1, #1000 ; 0x3e8 807de6e: fb01 f303 mul.w r3, r1, r3 807de72: 1ad3 subs r3, r2, r3 807de74: 4a7c ldr r2, [pc, #496] ; (807e068 ) 807de76: fba2 1203 umull r1, r2, r2, r3 807de7a: 0952 lsrs r2, r2, #5 807de7c: 2164 movs r1, #100 ; 0x64 807de7e: fb01 f202 mul.w r2, r1, r2 807de82: 1a9a subs r2, r3, r2 807de84: 4b79 ldr r3, [pc, #484] ; (807e06c ) 807de86: fba3 1302 umull r1, r3, r3, r2 807de8a: 08d9 lsrs r1, r3, #3 807de8c: 460b mov r3, r1 807de8e: 009b lsls r3, r3, #2 807de90: 440b add r3, r1 807de92: 005b lsls r3, r3, #1 807de94: 1ad1 subs r1, r2, r3 807de96: b2cb uxtb r3, r1 807de98: f887 339e strb.w r3, [r7, #926] ; 0x39e i = 0; 807de9c: 2300 movs r3, #0 807de9e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_inner, 0, sizeof(str_inner)); 807dea2: f507 7354 add.w r3, r7, #848 ; 0x350 807dea6: 2214 movs r2, #20 807dea8: 2100 movs r1, #0 807deaa: 4618 mov r0, r3 807deac: f04f f8e8 bl 80cd080 if(inner_ies != 0) 807deb0: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807deb4: b2db uxtb r3, r3 807deb6: 2b00 cmp r3, #0 807deb8: d00c beq.n 807ded4 str_inner[i++] = inner_ies + 48; 807deba: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807debe: 1c5a adds r2, r3, #1 807dec0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807dec4: f897 23a3 ldrb.w r2, [r7, #931] ; 0x3a3 807dec8: b2d2 uxtb r2, r2 807deca: 3230 adds r2, #48 ; 0x30 807decc: b2d1 uxtb r1, r2 807dece: f507 7254 add.w r2, r7, #848 ; 0x350 807ded2: 54d1 strb r1, [r2, r3] if((inner_ies != 0) || (inner_ied != 0)) 807ded4: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807ded8: b2db uxtb r3, r3 807deda: 2b00 cmp r3, #0 807dedc: d104 bne.n 807dee8 807dede: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807dee2: b2db uxtb r3, r3 807dee4: 2b00 cmp r3, #0 807dee6: d00c beq.n 807df02 str_inner[i++] = inner_ied + 48; 807dee8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807deec: 1c5a adds r2, r3, #1 807deee: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807def2: f897 23a2 ldrb.w r2, [r7, #930] ; 0x3a2 807def6: b2d2 uxtb r2, r2 807def8: 3230 adds r2, #48 ; 0x30 807defa: b2d1 uxtb r1, r2 807defc: f507 7254 add.w r2, r7, #848 ; 0x350 807df00: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iee + 48; 807df02: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807df06: 1c5a adds r2, r3, #1 807df08: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807df0c: f897 23a1 ldrb.w r2, [r7, #929] ; 0x3a1 807df10: b2d2 uxtb r2, r2 807df12: 3230 adds r2, #48 ; 0x30 807df14: b2d1 uxtb r1, r2 807df16: f507 7254 add.w r2, r7, #848 ; 0x350 807df1a: 54d1 strb r1, [r2, r3] str_inner[i++] = '.'; 807df1c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807df20: 1c5a adds r2, r3, #1 807df22: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807df26: f507 7254 add.w r2, r7, #848 ; 0x350 807df2a: 212e movs r1, #46 ; 0x2e 807df2c: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikd + 48; 807df2e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807df32: 1c5a adds r2, r3, #1 807df34: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807df38: f897 23a0 ldrb.w r2, [r7, #928] ; 0x3a0 807df3c: b2d2 uxtb r2, r2 807df3e: 3230 adds r2, #48 ; 0x30 807df40: b2d1 uxtb r1, r2 807df42: f507 7254 add.w r2, r7, #848 ; 0x350 807df46: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iks + 48; 807df48: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807df4c: 1c5a adds r2, r3, #1 807df4e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807df52: f897 239f ldrb.w r2, [r7, #927] ; 0x39f 807df56: b2d2 uxtb r2, r2 807df58: 3230 adds r2, #48 ; 0x30 807df5a: b2d1 uxtb r1, r2 807df5c: f507 7254 add.w r2, r7, #848 ; 0x350 807df60: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikt + 48; 807df62: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807df66: 1c5a adds r2, r3, #1 807df68: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807df6c: f897 239e ldrb.w r2, [r7, #926] ; 0x39e 807df70: b2d2 uxtb r2, r2 807df72: 3230 adds r2, #48 ; 0x30 807df74: b2d1 uxtb r1, r2 807df76: f507 7254 add.w r2, r7, #848 ; 0x350 807df7a: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = pardata.D_RATE; 807df7c: 4b34 ldr r3, [pc, #208] ; (807e050 ) 807df7e: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 807df82: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 rate_iet = k / 1000; 807df86: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807df8a: 4a36 ldr r2, [pc, #216] ; (807e064 ) 807df8c: fba2 2303 umull r2, r3, r2, r3 807df90: 099b lsrs r3, r3, #6 807df92: b2db uxtb r3, r3 807df94: f887 3394 strb.w r3, [r7, #916] ; 0x394 rate_ies = k % 1000 / 100; 807df98: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807df9c: 4b31 ldr r3, [pc, #196] ; (807e064 ) 807df9e: fba3 1302 umull r1, r3, r3, r2 807dfa2: 099b lsrs r3, r3, #6 807dfa4: f44f 717a mov.w r1, #1000 ; 0x3e8 807dfa8: fb01 f303 mul.w r3, r1, r3 807dfac: 1ad3 subs r3, r2, r3 807dfae: 4a2e ldr r2, [pc, #184] ; (807e068 ) 807dfb0: fba2 2303 umull r2, r3, r2, r3 807dfb4: 095b lsrs r3, r3, #5 807dfb6: b2db uxtb r3, r3 807dfb8: f887 3393 strb.w r3, [r7, #915] ; 0x393 rate_ied = k % 1000 % 100 / 10; 807dfbc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807dfc0: 4b28 ldr r3, [pc, #160] ; (807e064 ) 807dfc2: fba3 1302 umull r1, r3, r3, r2 807dfc6: 099b lsrs r3, r3, #6 807dfc8: f44f 717a mov.w r1, #1000 ; 0x3e8 807dfcc: fb01 f303 mul.w r3, r1, r3 807dfd0: 1ad3 subs r3, r2, r3 807dfd2: 4a25 ldr r2, [pc, #148] ; (807e068 ) 807dfd4: fba2 1203 umull r1, r2, r2, r3 807dfd8: 0952 lsrs r2, r2, #5 807dfda: 2164 movs r1, #100 ; 0x64 807dfdc: fb01 f202 mul.w r2, r1, r2 807dfe0: 1a9a subs r2, r3, r2 807dfe2: 4b22 ldr r3, [pc, #136] ; (807e06c ) 807dfe4: fba3 2302 umull r2, r3, r3, r2 807dfe8: 08db lsrs r3, r3, #3 807dfea: b2db uxtb r3, r3 807dfec: f887 3392 strb.w r3, [r7, #914] ; 0x392 rate_iee = k % 1000 % 100 % 10; 807dff0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807dff4: 4b1b ldr r3, [pc, #108] ; (807e064 ) 807dff6: fba3 1302 umull r1, r3, r3, r2 807dffa: 099b lsrs r3, r3, #6 807dffc: f44f 717a mov.w r1, #1000 ; 0x3e8 807e000: fb01 f303 mul.w r3, r1, r3 807e004: 1ad3 subs r3, r2, r3 807e006: 4a18 ldr r2, [pc, #96] ; (807e068 ) 807e008: fba2 1203 umull r1, r2, r2, r3 807e00c: 0952 lsrs r2, r2, #5 807e00e: 2164 movs r1, #100 ; 0x64 807e010: fb01 f202 mul.w r2, r1, r2 807e014: 1a9a subs r2, r3, r2 807e016: 4b15 ldr r3, [pc, #84] ; (807e06c ) 807e018: fba3 1302 umull r1, r3, r3, r2 807e01c: 08d9 lsrs r1, r3, #3 807e01e: 460b mov r3, r1 807e020: 009b lsls r3, r3, #2 807e022: 440b add r3, r1 807e024: 005b lsls r3, r3, #1 807e026: 1ad1 subs r1, r2, r3 807e028: b2cb uxtb r3, r1 807e02a: f887 3391 strb.w r3, [r7, #913] ; 0x391 memset(str_rate, 0, sizeof(str_rate)); 807e02e: f507 734a add.w r3, r7, #808 ; 0x328 807e032: 2214 movs r2, #20 807e034: 2100 movs r1, #0 807e036: 4618 mov r0, r3 807e038: f04f f822 bl 80cd080 if(k >= 1000) 807e03c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807e040: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 807e044: d335 bcc.n 807e0b2 807e046: e013 b.n 807e070 807e048: ff0a0f1f .word 0xff0a0f1f 807e04c: ffd3d3d3 .word 0xffd3d3d3 807e050: 20023e60 .word 0x20023e60 807e054: 447a0000 .word 0x447a0000 807e058: 0a7c5ac5 .word 0x0a7c5ac5 807e05c: 000186a0 .word 0x000186a0 807e060: d1b71759 .word 0xd1b71759 807e064: 10624dd3 .word 0x10624dd3 807e068: 51eb851f .word 0x51eb851f 807e06c: cccccccd .word 0xcccccccd { str_rate[0] = rate_iet + 48; 807e070: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807e074: b2db uxtb r3, r3 807e076: 3330 adds r3, #48 ; 0x30 807e078: b2da uxtb r2, r3 807e07a: f507 734a add.w r3, r7, #808 ; 0x328 807e07e: 701a strb r2, [r3, #0] str_rate[1] = rate_ies + 48; 807e080: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807e084: b2db uxtb r3, r3 807e086: 3330 adds r3, #48 ; 0x30 807e088: b2da uxtb r2, r3 807e08a: f507 734a add.w r3, r7, #808 ; 0x328 807e08e: 705a strb r2, [r3, #1] str_rate[2] = rate_ied + 48; 807e090: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e094: b2db uxtb r3, r3 807e096: 3330 adds r3, #48 ; 0x30 807e098: b2da uxtb r2, r3 807e09a: f507 734a add.w r3, r7, #808 ; 0x328 807e09e: 709a strb r2, [r3, #2] str_rate[3] = rate_iee + 48; 807e0a0: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e0a4: b2db uxtb r3, r3 807e0a6: 3330 adds r3, #48 ; 0x30 807e0a8: b2da uxtb r2, r3 807e0aa: f507 734a add.w r3, r7, #808 ; 0x328 807e0ae: 70da strb r2, [r3, #3] 807e0b0: e039 b.n 807e126 } else if(k >= 100) 807e0b2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807e0b6: 2b63 cmp r3, #99 ; 0x63 807e0b8: d918 bls.n 807e0ec { str_rate[0] = rate_ies + 48; 807e0ba: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807e0be: b2db uxtb r3, r3 807e0c0: 3330 adds r3, #48 ; 0x30 807e0c2: b2da uxtb r2, r3 807e0c4: f507 734a add.w r3, r7, #808 ; 0x328 807e0c8: 701a strb r2, [r3, #0] str_rate[1] = rate_ied + 48; 807e0ca: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e0ce: b2db uxtb r3, r3 807e0d0: 3330 adds r3, #48 ; 0x30 807e0d2: b2da uxtb r2, r3 807e0d4: f507 734a add.w r3, r7, #808 ; 0x328 807e0d8: 705a strb r2, [r3, #1] str_rate[2] = rate_iee + 48; 807e0da: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e0de: b2db uxtb r3, r3 807e0e0: 3330 adds r3, #48 ; 0x30 807e0e2: b2da uxtb r2, r3 807e0e4: f507 734a add.w r3, r7, #808 ; 0x328 807e0e8: 709a strb r2, [r3, #2] 807e0ea: e01c b.n 807e126 } else if(k >= 10) 807e0ec: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807e0f0: 2b09 cmp r3, #9 807e0f2: d910 bls.n 807e116 { str_rate[0] = rate_ied + 48; 807e0f4: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e0f8: b2db uxtb r3, r3 807e0fa: 3330 adds r3, #48 ; 0x30 807e0fc: b2da uxtb r2, r3 807e0fe: f507 734a add.w r3, r7, #808 ; 0x328 807e102: 701a strb r2, [r3, #0] str_rate[1] = rate_iee + 48; 807e104: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e108: b2db uxtb r3, r3 807e10a: 3330 adds r3, #48 ; 0x30 807e10c: b2da uxtb r2, r3 807e10e: f507 734a add.w r3, r7, #808 ; 0x328 807e112: 705a strb r2, [r3, #1] 807e114: e007 b.n 807e126 } else str_rate[0] = rate_iee + 48; 807e116: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e11a: b2db uxtb r3, r3 807e11c: 3330 adds r3, #48 ; 0x30 807e11e: b2da uxtb r2, r3 807e120: f507 734a add.w r3, r7, #808 ; 0x328 807e124: 701a strb r2, [r3, #0] //////////////////////////////////////////////////////////// LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e126: 49c2 ldr r1, [pc, #776] ; (807e430 ) 807e128: f04f 30ff mov.w r0, #4294967295 807e12c: f7d5 fb5a bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_PARAM_UDAR[pardata.LANG][3]); //"×àñòîòà âðàù.(îá/ìèí)" 807e130: 4bc0 ldr r3, [pc, #768] ; (807e434 ) 807e132: 7b1b ldrb r3, [r3, #12] 807e134: b2db uxtb r3, r3 807e136: 4619 mov r1, r3 807e138: 4abf ldr r2, [pc, #764] ; (807e438 ) 807e13a: 460b mov r3, r1 807e13c: 00db lsls r3, r3, #3 807e13e: 440b add r3, r1 807e140: 009b lsls r3, r3, #2 807e142: 4413 add r3, r2 807e144: 330c adds r3, #12 807e146: 681b ldr r3, [r3, #0] 807e148: 461a mov r2, r3 807e14a: 214a movs r1, #74 ; 0x4a 807e14c: 200a movs r0, #10 807e14e: f7d6 f8f1 bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_PARAM_UDAR[pardata.LANG][4]); //"Âíóòð.d (ìì)" 807e152: 4bb8 ldr r3, [pc, #736] ; (807e434 ) 807e154: 7b1b ldrb r3, [r3, #12] 807e156: b2db uxtb r3, r3 807e158: 4619 mov r1, r3 807e15a: 4ab7 ldr r2, [pc, #732] ; (807e438 ) 807e15c: 460b mov r3, r1 807e15e: 00db lsls r3, r3, #3 807e160: 440b add r3, r1 807e162: 009b lsls r3, r3, #2 807e164: 4413 add r3, r2 807e166: 3310 adds r3, #16 807e168: 681b ldr r3, [r3, #0] 807e16a: 461a mov r2, r3 807e16c: 215a movs r1, #90 ; 0x5a 807e16e: 200a movs r0, #10 807e170: f7d6 f8e0 bl 8054334 if(menupos == Ok) 807e174: 4bb1 ldr r3, [pc, #708] ; (807e43c ) 807e176: 781b ldrb r3, [r3, #0] 807e178: b2db uxtb r3, r3 807e17a: 2b00 cmp r3, #0 807e17c: d126 bne.n 807e1cc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e17e: 49ac ldr r1, [pc, #688] ; (807e430 ) 807e180: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e184: f7d5 fb2e bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807e188: 4baa ldr r3, [pc, #680] ; (807e434 ) 807e18a: 7b1b ldrb r3, [r3, #12] 807e18c: b2db uxtb r3, r3 807e18e: 461a mov r2, r3 807e190: 4bab ldr r3, [pc, #684] ; (807e440 ) 807e192: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e196: 461a mov r2, r3 807e198: 213a movs r1, #58 ; 0x3a 807e19a: 200a movs r0, #10 807e19c: f7d6 f8ca bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e1a0: 49a3 ldr r1, [pc, #652] ; (807e430 ) 807e1a2: 48a8 ldr r0, [pc, #672] ; (807e444 ) 807e1a4: f7d5 fb1e bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807e1a8: f507 734a add.w r3, r7, #808 ; 0x328 807e1ac: 461a mov r2, r3 807e1ae: 214a movs r1, #74 ; 0x4a 807e1b0: f44f 7082 mov.w r0, #260 ; 0x104 807e1b4: f7d6 f8d6 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807e1b8: f507 7354 add.w r3, r7, #848 ; 0x350 807e1bc: 461a mov r2, r3 807e1be: 215a movs r1, #90 ; 0x5a 807e1c0: f44f 7082 mov.w r0, #260 ; 0x104 807e1c4: f7d6 f8ce bl 8054364 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); } } } break; 807e1c8: f019 ba17 b.w 80975fa if(menupos == UdarRate) 807e1cc: 4b9b ldr r3, [pc, #620] ; (807e43c ) 807e1ce: 781b ldrb r3, [r3, #0] 807e1d0: b2db uxtb r3, r3 807e1d2: 2b01 cmp r3, #1 807e1d4: d12b bne.n 807e22e LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e1d6: 4996 ldr r1, [pc, #600] ; (807e430 ) 807e1d8: f04f 30ff mov.w r0, #4294967295 807e1dc: f7d5 fb02 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807e1e0: 4b94 ldr r3, [pc, #592] ; (807e434 ) 807e1e2: 7b1b ldrb r3, [r3, #12] 807e1e4: b2db uxtb r3, r3 807e1e6: 461a mov r2, r3 807e1e8: 4b95 ldr r3, [pc, #596] ; (807e440 ) 807e1ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e1ee: 461a mov r2, r3 807e1f0: 213a movs r1, #58 ; 0x3a 807e1f2: 200a movs r0, #10 807e1f4: f7d6 f89e bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e1f8: 498d ldr r1, [pc, #564] ; (807e430 ) 807e1fa: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e1fe: f7d5 faf1 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807e202: f507 734a add.w r3, r7, #808 ; 0x328 807e206: 461a mov r2, r3 807e208: 214a movs r1, #74 ; 0x4a 807e20a: f44f 7082 mov.w r0, #260 ; 0x104 807e20e: f7d6 f8a9 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e212: 4987 ldr r1, [pc, #540] ; (807e430 ) 807e214: 488b ldr r0, [pc, #556] ; (807e444 ) 807e216: f7d5 fae5 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807e21a: f507 7354 add.w r3, r7, #848 ; 0x350 807e21e: 461a mov r2, r3 807e220: 215a movs r1, #90 ; 0x5a 807e222: f44f 7082 mov.w r0, #260 ; 0x104 807e226: f7d6 f89d bl 8054364 break; 807e22a: f019 b9e6 b.w 80975fa if(menupos == UdarInner) 807e22e: 4b83 ldr r3, [pc, #524] ; (807e43c ) 807e230: 781b ldrb r3, [r3, #0] 807e232: b2db uxtb r3, r3 807e234: 2b02 cmp r3, #2 807e236: d12b bne.n 807e290 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e238: 497d ldr r1, [pc, #500] ; (807e430 ) 807e23a: f04f 30ff mov.w r0, #4294967295 807e23e: f7d5 fad1 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807e242: 4b7c ldr r3, [pc, #496] ; (807e434 ) 807e244: 7b1b ldrb r3, [r3, #12] 807e246: b2db uxtb r3, r3 807e248: 461a mov r2, r3 807e24a: 4b7d ldr r3, [pc, #500] ; (807e440 ) 807e24c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e250: 461a mov r2, r3 807e252: 213a movs r1, #58 ; 0x3a 807e254: 200a movs r0, #10 807e256: f7d6 f86d bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e25a: 4975 ldr r1, [pc, #468] ; (807e430 ) 807e25c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e260: f7d5 fac0 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807e264: f507 7354 add.w r3, r7, #848 ; 0x350 807e268: 461a mov r2, r3 807e26a: 215a movs r1, #90 ; 0x5a 807e26c: f44f 7082 mov.w r0, #260 ; 0x104 807e270: f7d6 f878 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e274: 496e ldr r1, [pc, #440] ; (807e430 ) 807e276: 4873 ldr r0, [pc, #460] ; (807e444 ) 807e278: f7d5 fab4 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807e27c: f507 734a add.w r3, r7, #808 ; 0x328 807e280: 461a mov r2, r3 807e282: 214a movs r1, #74 ; 0x4a 807e284: f44f 7082 mov.w r0, #260 ; 0x104 807e288: f7d6 f86c bl 8054364 break; 807e28c: f019 b9b5 b.w 80975fa LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807e290: 4967 ldr r1, [pc, #412] ; (807e430 ) 807e292: f04f 30ff mov.w r0, #4294967295 807e296: f7d5 faa5 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807e29a: 4b66 ldr r3, [pc, #408] ; (807e434 ) 807e29c: 7b1b ldrb r3, [r3, #12] 807e29e: b2db uxtb r3, r3 807e2a0: 461a mov r2, r3 807e2a2: 4b67 ldr r3, [pc, #412] ; (807e440 ) 807e2a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e2a8: 461a mov r2, r3 807e2aa: 213a movs r1, #58 ; 0x3a 807e2ac: 200a movs r0, #10 807e2ae: f7d6 f841 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e2b2: 495f ldr r1, [pc, #380] ; (807e430 ) 807e2b4: 4863 ldr r0, [pc, #396] ; (807e444 ) 807e2b6: f7d5 fa95 bl 80537e4 if((menupos < UdarRate_IET) || (menupos > UdarRate_IEE)) 807e2ba: 4b60 ldr r3, [pc, #384] ; (807e43c ) 807e2bc: 781b ldrb r3, [r3, #0] 807e2be: b2db uxtb r3, r3 807e2c0: 2b02 cmp r3, #2 807e2c2: d904 bls.n 807e2ce 807e2c4: 4b5d ldr r3, [pc, #372] ; (807e43c ) 807e2c6: 781b ldrb r3, [r3, #0] 807e2c8: b2db uxtb r3, r3 807e2ca: 2b06 cmp r3, #6 807e2cc: d907 bls.n 807e2de LCD_DisplayStringC(260, LCD_LINE_4, str_rate); 807e2ce: f507 734a add.w r3, r7, #808 ; 0x328 807e2d2: 461a mov r2, r3 807e2d4: 214a movs r1, #74 ; 0x4a 807e2d6: f44f 7082 mov.w r0, #260 ; 0x104 807e2da: f7d6 f843 bl 8054364 if((menupos < UdarInner_IES) || (menupos > UdarInner_IKT)) 807e2de: 4b57 ldr r3, [pc, #348] ; (807e43c ) 807e2e0: 781b ldrb r3, [r3, #0] 807e2e2: b2db uxtb r3, r3 807e2e4: 2b06 cmp r3, #6 807e2e6: d904 bls.n 807e2f2 807e2e8: 4b54 ldr r3, [pc, #336] ; (807e43c ) 807e2ea: 781b ldrb r3, [r3, #0] 807e2ec: b2db uxtb r3, r3 807e2ee: 2b0c cmp r3, #12 807e2f0: d907 bls.n 807e302 LCD_DisplayStringC(260, LCD_LINE_5, str_inner); 807e2f2: f507 7354 add.w r3, r7, #848 ; 0x350 807e2f6: 461a mov r2, r3 807e2f8: 215a movs r1, #90 ; 0x5a 807e2fa: f44f 7082 mov.w r0, #260 ; 0x104 807e2fe: f7d6 f831 bl 8054364 if((menupos >= UdarRate_IET) && (menupos <= UdarRate_IEE)) 807e302: 4b4e ldr r3, [pc, #312] ; (807e43c ) 807e304: 781b ldrb r3, [r3, #0] 807e306: b2db uxtb r3, r3 807e308: 2b02 cmp r3, #2 807e30a: f240 812c bls.w 807e566 807e30e: 4b4b ldr r3, [pc, #300] ; (807e43c ) 807e310: 781b ldrb r3, [r3, #0] 807e312: b2db uxtb r3, r3 807e314: 2b06 cmp r3, #6 807e316: f200 8126 bhi.w 807e566 if(menupos == UdarRate_IET) 807e31a: 4b48 ldr r3, [pc, #288] ; (807e43c ) 807e31c: 781b ldrb r3, [r3, #0] 807e31e: b2db uxtb r3, r3 807e320: 2b03 cmp r3, #3 807e322: d13f bne.n 807e3a4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e324: 4942 ldr r1, [pc, #264] ; (807e430 ) 807e326: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e32a: f7d5 fa5b bl 80537e4 if(blk) 807e32e: 4b46 ldr r3, [pc, #280] ; (807e448 ) 807e330: 681b ldr r3, [r3, #0] 807e332: 2b00 cmp r3, #0 807e334: d00b beq.n 807e34e LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807e336: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807e33a: b2db uxtb r3, r3 807e33c: 461a mov r2, r3 807e33e: 4b43 ldr r3, [pc, #268] ; (807e44c ) 807e340: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e344: 461a mov r2, r3 807e346: 214a movs r1, #74 ; 0x4a 807e348: 20e6 movs r0, #230 ; 0xe6 807e34a: f7d5 fff3 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e34e: 4938 ldr r1, [pc, #224] ; (807e430 ) 807e350: 483c ldr r0, [pc, #240] ; (807e444 ) 807e352: f7d5 fa47 bl 80537e4 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807e356: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807e35a: b2db uxtb r3, r3 807e35c: 461a mov r2, r3 807e35e: 4b3b ldr r3, [pc, #236] ; (807e44c ) 807e360: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e364: 461a mov r2, r3 807e366: 214a movs r1, #74 ; 0x4a 807e368: 20f6 movs r0, #246 ; 0xf6 807e36a: f7d5 ffe3 bl 8054334 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807e36e: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e372: b2db uxtb r3, r3 807e374: 461a mov r2, r3 807e376: 4b35 ldr r3, [pc, #212] ; (807e44c ) 807e378: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e37c: 461a mov r2, r3 807e37e: 214a movs r1, #74 ; 0x4a 807e380: f44f 7083 mov.w r0, #262 ; 0x106 807e384: f7d5 ffd6 bl 8054334 LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 807e388: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e38c: b2db uxtb r3, r3 807e38e: 461a mov r2, r3 807e390: 4b2e ldr r3, [pc, #184] ; (807e44c ) 807e392: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e396: 461a mov r2, r3 807e398: 214a movs r1, #74 ; 0x4a 807e39a: f44f 708b mov.w r0, #278 ; 0x116 807e39e: f7d5 ffc9 bl 8054334 if(menupos == UdarRate_IET) 807e3a2: e352 b.n 807ea4a if(menupos == UdarRate_IES) 807e3a4: 4b25 ldr r3, [pc, #148] ; (807e43c ) 807e3a6: 781b ldrb r3, [r3, #0] 807e3a8: b2db uxtb r3, r3 807e3aa: 2b04 cmp r3, #4 807e3ac: d150 bne.n 807e450 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e3ae: 4920 ldr r1, [pc, #128] ; (807e430 ) 807e3b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e3b4: f7d5 fa16 bl 80537e4 if(blk) 807e3b8: 4b23 ldr r3, [pc, #140] ; (807e448 ) 807e3ba: 681b ldr r3, [r3, #0] 807e3bc: 2b00 cmp r3, #0 807e3be: d00b beq.n 807e3d8 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807e3c0: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807e3c4: b2db uxtb r3, r3 807e3c6: 461a mov r2, r3 807e3c8: 4b20 ldr r3, [pc, #128] ; (807e44c ) 807e3ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e3ce: 461a mov r2, r3 807e3d0: 214a movs r1, #74 ; 0x4a 807e3d2: 20f6 movs r0, #246 ; 0xf6 807e3d4: f7d5 ffae bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e3d8: 4915 ldr r1, [pc, #84] ; (807e430 ) 807e3da: 481a ldr r0, [pc, #104] ; (807e444 ) 807e3dc: f7d5 fa02 bl 80537e4 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807e3e0: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807e3e4: b2db uxtb r3, r3 807e3e6: 461a mov r2, r3 807e3e8: 4b18 ldr r3, [pc, #96] ; (807e44c ) 807e3ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e3ee: 461a mov r2, r3 807e3f0: 214a movs r1, #74 ; 0x4a 807e3f2: 20e6 movs r0, #230 ; 0xe6 807e3f4: f7d5 ff9e bl 8054334 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807e3f8: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e3fc: b2db uxtb r3, r3 807e3fe: 461a mov r2, r3 807e400: 4b12 ldr r3, [pc, #72] ; (807e44c ) 807e402: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e406: 461a mov r2, r3 807e408: 214a movs r1, #74 ; 0x4a 807e40a: f44f 7083 mov.w r0, #262 ; 0x106 807e40e: f7d5 ff91 bl 8054334 LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 807e412: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e416: b2db uxtb r3, r3 807e418: 461a mov r2, r3 807e41a: 4b0c ldr r3, [pc, #48] ; (807e44c ) 807e41c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e420: 461a mov r2, r3 807e422: 214a movs r1, #74 ; 0x4a 807e424: f44f 708b mov.w r0, #278 ; 0x116 807e428: f7d5 ff84 bl 8054334 if(menupos == UdarRate_IET) 807e42c: e30d b.n 807ea4a 807e42e: bf00 nop 807e430: ff0a0f1f .word 0xff0a0f1f 807e434: 20023e60 .word 0x20023e60 807e438: 200207f4 .word 0x200207f4 807e43c: 20020070 .word 0x20020070 807e440: 200205c4 .word 0x200205c4 807e444: ffd8aa57 .word 0xffd8aa57 807e448: 2002165c .word 0x2002165c 807e44c: 20020964 .word 0x20020964 if(menupos == UdarRate_IED) 807e450: 4baf ldr r3, [pc, #700] ; (807e710 ) 807e452: 781b ldrb r3, [r3, #0] 807e454: b2db uxtb r3, r3 807e456: 2b05 cmp r3, #5 807e458: d13f bne.n 807e4da LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e45a: 49ae ldr r1, [pc, #696] ; (807e714 ) 807e45c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e460: f7d5 f9c0 bl 80537e4 if(blk) 807e464: 4bac ldr r3, [pc, #688] ; (807e718 ) 807e466: 681b ldr r3, [r3, #0] 807e468: 2b00 cmp r3, #0 807e46a: d00c beq.n 807e486 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807e46c: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e470: b2db uxtb r3, r3 807e472: 461a mov r2, r3 807e474: 4ba9 ldr r3, [pc, #676] ; (807e71c ) 807e476: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e47a: 461a mov r2, r3 807e47c: 214a movs r1, #74 ; 0x4a 807e47e: f44f 7083 mov.w r0, #262 ; 0x106 807e482: f7d5 ff57 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e486: 49a3 ldr r1, [pc, #652] ; (807e714 ) 807e488: 48a5 ldr r0, [pc, #660] ; (807e720 ) 807e48a: f7d5 f9ab bl 80537e4 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807e48e: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807e492: b2db uxtb r3, r3 807e494: 461a mov r2, r3 807e496: 4ba1 ldr r3, [pc, #644] ; (807e71c ) 807e498: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e49c: 461a mov r2, r3 807e49e: 214a movs r1, #74 ; 0x4a 807e4a0: 20e6 movs r0, #230 ; 0xe6 807e4a2: f7d5 ff47 bl 8054334 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807e4a6: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807e4aa: b2db uxtb r3, r3 807e4ac: 461a mov r2, r3 807e4ae: 4b9b ldr r3, [pc, #620] ; (807e71c ) 807e4b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e4b4: 461a mov r2, r3 807e4b6: 214a movs r1, #74 ; 0x4a 807e4b8: 20f6 movs r0, #246 ; 0xf6 807e4ba: f7d5 ff3b bl 8054334 LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 807e4be: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e4c2: b2db uxtb r3, r3 807e4c4: 461a mov r2, r3 807e4c6: 4b95 ldr r3, [pc, #596] ; (807e71c ) 807e4c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e4cc: 461a mov r2, r3 807e4ce: 214a movs r1, #74 ; 0x4a 807e4d0: f44f 708b mov.w r0, #278 ; 0x116 807e4d4: f7d5 ff2e bl 8054334 if(menupos == UdarRate_IET) 807e4d8: e2b7 b.n 807ea4a if(menupos == UdarRate_IEE) 807e4da: 4b8d ldr r3, [pc, #564] ; (807e710 ) 807e4dc: 781b ldrb r3, [r3, #0] 807e4de: b2db uxtb r3, r3 807e4e0: 2b06 cmp r3, #6 807e4e2: f040 82b2 bne.w 807ea4a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e4e6: 498b ldr r1, [pc, #556] ; (807e714 ) 807e4e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e4ec: f7d5 f97a bl 80537e4 if(blk) 807e4f0: 4b89 ldr r3, [pc, #548] ; (807e718 ) 807e4f2: 681b ldr r3, [r3, #0] 807e4f4: 2b00 cmp r3, #0 807e4f6: d00c beq.n 807e512 LCD_DisplayString(278, LCD_LINE_4, (char *) pNUMS[rate_iee]); 807e4f8: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807e4fc: b2db uxtb r3, r3 807e4fe: 461a mov r2, r3 807e500: 4b86 ldr r3, [pc, #536] ; (807e71c ) 807e502: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e506: 461a mov r2, r3 807e508: 214a movs r1, #74 ; 0x4a 807e50a: f44f 708b mov.w r0, #278 ; 0x116 807e50e: f7d5 ff11 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e512: 4980 ldr r1, [pc, #512] ; (807e714 ) 807e514: 4882 ldr r0, [pc, #520] ; (807e720 ) 807e516: f7d5 f965 bl 80537e4 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[rate_iet]); 807e51a: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807e51e: b2db uxtb r3, r3 807e520: 461a mov r2, r3 807e522: 4b7e ldr r3, [pc, #504] ; (807e71c ) 807e524: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e528: 461a mov r2, r3 807e52a: 214a movs r1, #74 ; 0x4a 807e52c: 20e6 movs r0, #230 ; 0xe6 807e52e: f7d5 ff01 bl 8054334 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[rate_ies]); 807e532: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807e536: b2db uxtb r3, r3 807e538: 461a mov r2, r3 807e53a: 4b78 ldr r3, [pc, #480] ; (807e71c ) 807e53c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e540: 461a mov r2, r3 807e542: 214a movs r1, #74 ; 0x4a 807e544: 20f6 movs r0, #246 ; 0xf6 807e546: f7d5 fef5 bl 8054334 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[rate_ied]); 807e54a: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807e54e: b2db uxtb r3, r3 807e550: 461a mov r2, r3 807e552: 4b72 ldr r3, [pc, #456] ; (807e71c ) 807e554: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e558: 461a mov r2, r3 807e55a: 214a movs r1, #74 ; 0x4a 807e55c: f44f 7083 mov.w r0, #262 ; 0x106 807e560: f7d5 fee8 bl 8054334 if(menupos == UdarRate_IET) 807e564: e271 b.n 807ea4a if((menupos >= UdarInner_IES) && (menupos <= UdarInner_IKT)) 807e566: 4b6a ldr r3, [pc, #424] ; (807e710 ) 807e568: 781b ldrb r3, [r3, #0] 807e56a: b2db uxtb r3, r3 807e56c: 2b06 cmp r3, #6 807e56e: f259 8044 bls.w 80975fa 807e572: 4b67 ldr r3, [pc, #412] ; (807e710 ) 807e574: 781b ldrb r3, [r3, #0] 807e576: b2db uxtb r3, r3 807e578: 2b0c cmp r3, #12 807e57a: f219 803e bhi.w 80975fa if(menupos == UdarInner_IES) 807e57e: 4b64 ldr r3, [pc, #400] ; (807e710 ) 807e580: 781b ldrb r3, [r3, #0] 807e582: b2db uxtb r3, r3 807e584: 2b07 cmp r3, #7 807e586: d15e bne.n 807e646 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e588: 4962 ldr r1, [pc, #392] ; (807e714 ) 807e58a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e58e: f7d5 f929 bl 80537e4 if(blk) 807e592: 4b61 ldr r3, [pc, #388] ; (807e718 ) 807e594: 681b ldr r3, [r3, #0] 807e596: 2b00 cmp r3, #0 807e598: d00b beq.n 807e5b2 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807e59a: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807e59e: b2db uxtb r3, r3 807e5a0: 461a mov r2, r3 807e5a2: 4b5e ldr r3, [pc, #376] ; (807e71c ) 807e5a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e5a8: 461a mov r2, r3 807e5aa: 215a movs r1, #90 ; 0x5a 807e5ac: 20c6 movs r0, #198 ; 0xc6 807e5ae: f7d5 fec1 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e5b2: 4958 ldr r1, [pc, #352] ; (807e714 ) 807e5b4: 485a ldr r0, [pc, #360] ; (807e720 ) 807e5b6: f7d5 f915 bl 80537e4 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807e5ba: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807e5be: b2db uxtb r3, r3 807e5c0: 461a mov r2, r3 807e5c2: 4b56 ldr r3, [pc, #344] ; (807e71c ) 807e5c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e5c8: 461a mov r2, r3 807e5ca: 215a movs r1, #90 ; 0x5a 807e5cc: 20d6 movs r0, #214 ; 0xd6 807e5ce: f7d5 feb1 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807e5d2: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807e5d6: b2db uxtb r3, r3 807e5d8: 461a mov r2, r3 807e5da: 4b50 ldr r3, [pc, #320] ; (807e71c ) 807e5dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e5e0: 461a mov r2, r3 807e5e2: 215a movs r1, #90 ; 0x5a 807e5e4: 20e6 movs r0, #230 ; 0xe6 807e5e6: f7d5 fea5 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 807e5ea: 4a4e ldr r2, [pc, #312] ; (807e724 ) 807e5ec: 215a movs r1, #90 ; 0x5a 807e5ee: 20f6 movs r0, #246 ; 0xf6 807e5f0: f7d5 fea0 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807e5f4: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807e5f8: b2db uxtb r3, r3 807e5fa: 461a mov r2, r3 807e5fc: 4b47 ldr r3, [pc, #284] ; (807e71c ) 807e5fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e602: 461a mov r2, r3 807e604: 215a movs r1, #90 ; 0x5a 807e606: f44f 7083 mov.w r0, #262 ; 0x106 807e60a: f7d5 fe93 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807e60e: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807e612: b2db uxtb r3, r3 807e614: 461a mov r2, r3 807e616: 4b41 ldr r3, [pc, #260] ; (807e71c ) 807e618: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e61c: 461a mov r2, r3 807e61e: 215a movs r1, #90 ; 0x5a 807e620: f44f 708b mov.w r0, #278 ; 0x116 807e624: f7d5 fe86 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807e628: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807e62c: b2db uxtb r3, r3 807e62e: 461a mov r2, r3 807e630: 4b3a ldr r3, [pc, #232] ; (807e71c ) 807e632: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e636: 461a mov r2, r3 807e638: 215a movs r1, #90 ; 0x5a 807e63a: f44f 7093 mov.w r0, #294 ; 0x126 807e63e: f7d5 fe79 bl 8054334 break; 807e642: f018 bfda b.w 80975fa if(menupos == UdarInner_IED) 807e646: 4b32 ldr r3, [pc, #200] ; (807e710 ) 807e648: 781b ldrb r3, [r3, #0] 807e64a: b2db uxtb r3, r3 807e64c: 2b08 cmp r3, #8 807e64e: d16b bne.n 807e728 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e650: 4930 ldr r1, [pc, #192] ; (807e714 ) 807e652: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e656: f7d5 f8c5 bl 80537e4 if(blk) 807e65a: 4b2f ldr r3, [pc, #188] ; (807e718 ) 807e65c: 681b ldr r3, [r3, #0] 807e65e: 2b00 cmp r3, #0 807e660: d00b beq.n 807e67a LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807e662: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807e666: b2db uxtb r3, r3 807e668: 461a mov r2, r3 807e66a: 4b2c ldr r3, [pc, #176] ; (807e71c ) 807e66c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e670: 461a mov r2, r3 807e672: 215a movs r1, #90 ; 0x5a 807e674: 20d6 movs r0, #214 ; 0xd6 807e676: f7d5 fe5d bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e67a: 4926 ldr r1, [pc, #152] ; (807e714 ) 807e67c: 4828 ldr r0, [pc, #160] ; (807e720 ) 807e67e: f7d5 f8b1 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807e682: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807e686: b2db uxtb r3, r3 807e688: 461a mov r2, r3 807e68a: 4b24 ldr r3, [pc, #144] ; (807e71c ) 807e68c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e690: 461a mov r2, r3 807e692: 215a movs r1, #90 ; 0x5a 807e694: 20c6 movs r0, #198 ; 0xc6 807e696: f7d5 fe4d bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807e69a: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807e69e: b2db uxtb r3, r3 807e6a0: 461a mov r2, r3 807e6a2: 4b1e ldr r3, [pc, #120] ; (807e71c ) 807e6a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e6a8: 461a mov r2, r3 807e6aa: 215a movs r1, #90 ; 0x5a 807e6ac: 20e6 movs r0, #230 ; 0xe6 807e6ae: f7d5 fe41 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 807e6b2: 4a1c ldr r2, [pc, #112] ; (807e724 ) 807e6b4: 215a movs r1, #90 ; 0x5a 807e6b6: 20f6 movs r0, #246 ; 0xf6 807e6b8: f7d5 fe3c bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807e6bc: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807e6c0: b2db uxtb r3, r3 807e6c2: 461a mov r2, r3 807e6c4: 4b15 ldr r3, [pc, #84] ; (807e71c ) 807e6c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e6ca: 461a mov r2, r3 807e6cc: 215a movs r1, #90 ; 0x5a 807e6ce: f44f 7083 mov.w r0, #262 ; 0x106 807e6d2: f7d5 fe2f bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807e6d6: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807e6da: b2db uxtb r3, r3 807e6dc: 461a mov r2, r3 807e6de: 4b0f ldr r3, [pc, #60] ; (807e71c ) 807e6e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e6e4: 461a mov r2, r3 807e6e6: 215a movs r1, #90 ; 0x5a 807e6e8: f44f 708b mov.w r0, #278 ; 0x116 807e6ec: f7d5 fe22 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807e6f0: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807e6f4: b2db uxtb r3, r3 807e6f6: 461a mov r2, r3 807e6f8: 4b08 ldr r3, [pc, #32] ; (807e71c ) 807e6fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e6fe: 461a mov r2, r3 807e700: 215a movs r1, #90 ; 0x5a 807e702: f44f 7093 mov.w r0, #294 ; 0x126 807e706: f7d5 fe15 bl 8054334 break; 807e70a: f018 bf76 b.w 80975fa 807e70e: bf00 nop 807e710: 20020070 .word 0x20020070 807e714: ff0a0f1f .word 0xff0a0f1f 807e718: 2002165c .word 0x2002165c 807e71c: 20020964 .word 0x20020964 807e720: ffd8aa57 .word 0xffd8aa57 807e724: 080cf820 .word 0x080cf820 if(menupos == UdarInner_IEE) 807e728: 4bc9 ldr r3, [pc, #804] ; (807ea50 ) 807e72a: 781b ldrb r3, [r3, #0] 807e72c: b2db uxtb r3, r3 807e72e: 2b09 cmp r3, #9 807e730: d15e bne.n 807e7f0 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e732: 49c8 ldr r1, [pc, #800] ; (807ea54 ) 807e734: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e738: f7d5 f854 bl 80537e4 if(blk) 807e73c: 4bc6 ldr r3, [pc, #792] ; (807ea58 ) 807e73e: 681b ldr r3, [r3, #0] 807e740: 2b00 cmp r3, #0 807e742: d00b beq.n 807e75c LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807e744: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807e748: b2db uxtb r3, r3 807e74a: 461a mov r2, r3 807e74c: 4bc3 ldr r3, [pc, #780] ; (807ea5c ) 807e74e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e752: 461a mov r2, r3 807e754: 215a movs r1, #90 ; 0x5a 807e756: 20e6 movs r0, #230 ; 0xe6 807e758: f7d5 fdec bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e75c: 49bd ldr r1, [pc, #756] ; (807ea54 ) 807e75e: 48c0 ldr r0, [pc, #768] ; (807ea60 ) 807e760: f7d5 f840 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807e764: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807e768: b2db uxtb r3, r3 807e76a: 461a mov r2, r3 807e76c: 4bbb ldr r3, [pc, #748] ; (807ea5c ) 807e76e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e772: 461a mov r2, r3 807e774: 215a movs r1, #90 ; 0x5a 807e776: 20c6 movs r0, #198 ; 0xc6 807e778: f7d5 fddc bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807e77c: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807e780: b2db uxtb r3, r3 807e782: 461a mov r2, r3 807e784: 4bb5 ldr r3, [pc, #724] ; (807ea5c ) 807e786: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e78a: 461a mov r2, r3 807e78c: 215a movs r1, #90 ; 0x5a 807e78e: 20d6 movs r0, #214 ; 0xd6 807e790: f7d5 fdd0 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 807e794: 4ab3 ldr r2, [pc, #716] ; (807ea64 ) 807e796: 215a movs r1, #90 ; 0x5a 807e798: 20f6 movs r0, #246 ; 0xf6 807e79a: f7d5 fdcb bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807e79e: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807e7a2: b2db uxtb r3, r3 807e7a4: 461a mov r2, r3 807e7a6: 4bad ldr r3, [pc, #692] ; (807ea5c ) 807e7a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e7ac: 461a mov r2, r3 807e7ae: 215a movs r1, #90 ; 0x5a 807e7b0: f44f 7083 mov.w r0, #262 ; 0x106 807e7b4: f7d5 fdbe bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807e7b8: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807e7bc: b2db uxtb r3, r3 807e7be: 461a mov r2, r3 807e7c0: 4ba6 ldr r3, [pc, #664] ; (807ea5c ) 807e7c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e7c6: 461a mov r2, r3 807e7c8: 215a movs r1, #90 ; 0x5a 807e7ca: f44f 708b mov.w r0, #278 ; 0x116 807e7ce: f7d5 fdb1 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807e7d2: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807e7d6: b2db uxtb r3, r3 807e7d8: 461a mov r2, r3 807e7da: 4ba0 ldr r3, [pc, #640] ; (807ea5c ) 807e7dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e7e0: 461a mov r2, r3 807e7e2: 215a movs r1, #90 ; 0x5a 807e7e4: f44f 7093 mov.w r0, #294 ; 0x126 807e7e8: f7d5 fda4 bl 8054334 break; 807e7ec: f018 bf05 b.w 80975fa if(menupos == UdarInner_IKD) 807e7f0: 4b97 ldr r3, [pc, #604] ; (807ea50 ) 807e7f2: 781b ldrb r3, [r3, #0] 807e7f4: b2db uxtb r3, r3 807e7f6: 2b0a cmp r3, #10 807e7f8: d15e bne.n 807e8b8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e7fa: 4996 ldr r1, [pc, #600] ; (807ea54 ) 807e7fc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e800: f7d4 fff0 bl 80537e4 if(blk) 807e804: 4b94 ldr r3, [pc, #592] ; (807ea58 ) 807e806: 681b ldr r3, [r3, #0] 807e808: 2b00 cmp r3, #0 807e80a: d00c beq.n 807e826 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807e80c: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807e810: b2db uxtb r3, r3 807e812: 461a mov r2, r3 807e814: 4b91 ldr r3, [pc, #580] ; (807ea5c ) 807e816: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e81a: 461a mov r2, r3 807e81c: 215a movs r1, #90 ; 0x5a 807e81e: f44f 7083 mov.w r0, #262 ; 0x106 807e822: f7d5 fd87 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e826: 498b ldr r1, [pc, #556] ; (807ea54 ) 807e828: 488d ldr r0, [pc, #564] ; (807ea60 ) 807e82a: f7d4 ffdb bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807e82e: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807e832: b2db uxtb r3, r3 807e834: 461a mov r2, r3 807e836: 4b89 ldr r3, [pc, #548] ; (807ea5c ) 807e838: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e83c: 461a mov r2, r3 807e83e: 215a movs r1, #90 ; 0x5a 807e840: 20c6 movs r0, #198 ; 0xc6 807e842: f7d5 fd77 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807e846: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807e84a: b2db uxtb r3, r3 807e84c: 461a mov r2, r3 807e84e: 4b83 ldr r3, [pc, #524] ; (807ea5c ) 807e850: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e854: 461a mov r2, r3 807e856: 215a movs r1, #90 ; 0x5a 807e858: 20d6 movs r0, #214 ; 0xd6 807e85a: f7d5 fd6b bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807e85e: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807e862: b2db uxtb r3, r3 807e864: 461a mov r2, r3 807e866: 4b7d ldr r3, [pc, #500] ; (807ea5c ) 807e868: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e86c: 461a mov r2, r3 807e86e: 215a movs r1, #90 ; 0x5a 807e870: 20e6 movs r0, #230 ; 0xe6 807e872: f7d5 fd5f bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 807e876: 4a7b ldr r2, [pc, #492] ; (807ea64 ) 807e878: 215a movs r1, #90 ; 0x5a 807e87a: 20f6 movs r0, #246 ; 0xf6 807e87c: f7d5 fd5a bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807e880: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807e884: b2db uxtb r3, r3 807e886: 461a mov r2, r3 807e888: 4b74 ldr r3, [pc, #464] ; (807ea5c ) 807e88a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e88e: 461a mov r2, r3 807e890: 215a movs r1, #90 ; 0x5a 807e892: f44f 708b mov.w r0, #278 ; 0x116 807e896: f7d5 fd4d bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807e89a: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807e89e: b2db uxtb r3, r3 807e8a0: 461a mov r2, r3 807e8a2: 4b6e ldr r3, [pc, #440] ; (807ea5c ) 807e8a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e8a8: 461a mov r2, r3 807e8aa: 215a movs r1, #90 ; 0x5a 807e8ac: f44f 7093 mov.w r0, #294 ; 0x126 807e8b0: f7d5 fd40 bl 8054334 break; 807e8b4: f018 bea1 b.w 80975fa if(menupos == UdarInner_IKS) 807e8b8: 4b65 ldr r3, [pc, #404] ; (807ea50 ) 807e8ba: 781b ldrb r3, [r3, #0] 807e8bc: b2db uxtb r3, r3 807e8be: 2b0b cmp r3, #11 807e8c0: d15e bne.n 807e980 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e8c2: 4964 ldr r1, [pc, #400] ; (807ea54 ) 807e8c4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e8c8: f7d4 ff8c bl 80537e4 if(blk) 807e8cc: 4b62 ldr r3, [pc, #392] ; (807ea58 ) 807e8ce: 681b ldr r3, [r3, #0] 807e8d0: 2b00 cmp r3, #0 807e8d2: d00c beq.n 807e8ee LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807e8d4: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807e8d8: b2db uxtb r3, r3 807e8da: 461a mov r2, r3 807e8dc: 4b5f ldr r3, [pc, #380] ; (807ea5c ) 807e8de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e8e2: 461a mov r2, r3 807e8e4: 215a movs r1, #90 ; 0x5a 807e8e6: f44f 708b mov.w r0, #278 ; 0x116 807e8ea: f7d5 fd23 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e8ee: 4959 ldr r1, [pc, #356] ; (807ea54 ) 807e8f0: 485b ldr r0, [pc, #364] ; (807ea60 ) 807e8f2: f7d4 ff77 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807e8f6: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807e8fa: b2db uxtb r3, r3 807e8fc: 461a mov r2, r3 807e8fe: 4b57 ldr r3, [pc, #348] ; (807ea5c ) 807e900: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e904: 461a mov r2, r3 807e906: 215a movs r1, #90 ; 0x5a 807e908: 20c6 movs r0, #198 ; 0xc6 807e90a: f7d5 fd13 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807e90e: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807e912: b2db uxtb r3, r3 807e914: 461a mov r2, r3 807e916: 4b51 ldr r3, [pc, #324] ; (807ea5c ) 807e918: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e91c: 461a mov r2, r3 807e91e: 215a movs r1, #90 ; 0x5a 807e920: 20d6 movs r0, #214 ; 0xd6 807e922: f7d5 fd07 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807e926: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807e92a: b2db uxtb r3, r3 807e92c: 461a mov r2, r3 807e92e: 4b4b ldr r3, [pc, #300] ; (807ea5c ) 807e930: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e934: 461a mov r2, r3 807e936: 215a movs r1, #90 ; 0x5a 807e938: 20e6 movs r0, #230 ; 0xe6 807e93a: f7d5 fcfb bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 807e93e: 4a49 ldr r2, [pc, #292] ; (807ea64 ) 807e940: 215a movs r1, #90 ; 0x5a 807e942: 20f6 movs r0, #246 ; 0xf6 807e944: f7d5 fcf6 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807e948: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807e94c: b2db uxtb r3, r3 807e94e: 461a mov r2, r3 807e950: 4b42 ldr r3, [pc, #264] ; (807ea5c ) 807e952: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e956: 461a mov r2, r3 807e958: 215a movs r1, #90 ; 0x5a 807e95a: f44f 7083 mov.w r0, #262 ; 0x106 807e95e: f7d5 fce9 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807e962: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807e966: b2db uxtb r3, r3 807e968: 461a mov r2, r3 807e96a: 4b3c ldr r3, [pc, #240] ; (807ea5c ) 807e96c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e970: 461a mov r2, r3 807e972: 215a movs r1, #90 ; 0x5a 807e974: f44f 7093 mov.w r0, #294 ; 0x126 807e978: f7d5 fcdc bl 8054334 break; 807e97c: f018 be3d b.w 80975fa if(menupos == UdarInner_IKT) 807e980: 4b33 ldr r3, [pc, #204] ; (807ea50 ) 807e982: 781b ldrb r3, [r3, #0] 807e984: b2db uxtb r3, r3 807e986: 2b0c cmp r3, #12 807e988: f058 8637 bne.w 80975fa LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807e98c: 4931 ldr r1, [pc, #196] ; (807ea54 ) 807e98e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807e992: f7d4 ff27 bl 80537e4 if(blk) 807e996: 4b30 ldr r3, [pc, #192] ; (807ea58 ) 807e998: 681b ldr r3, [r3, #0] 807e99a: 2b00 cmp r3, #0 807e99c: d00c beq.n 807e9b8 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[inner_ikt]); 807e99e: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 807e9a2: b2db uxtb r3, r3 807e9a4: 461a mov r2, r3 807e9a6: 4b2d ldr r3, [pc, #180] ; (807ea5c ) 807e9a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e9ac: 461a mov r2, r3 807e9ae: 215a movs r1, #90 ; 0x5a 807e9b0: f44f 7093 mov.w r0, #294 ; 0x126 807e9b4: f7d5 fcbe bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807e9b8: 4926 ldr r1, [pc, #152] ; (807ea54 ) 807e9ba: 4829 ldr r0, [pc, #164] ; (807ea60 ) 807e9bc: f7d4 ff12 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[inner_ies]); 807e9c0: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807e9c4: b2db uxtb r3, r3 807e9c6: 461a mov r2, r3 807e9c8: 4b24 ldr r3, [pc, #144] ; (807ea5c ) 807e9ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e9ce: 461a mov r2, r3 807e9d0: 215a movs r1, #90 ; 0x5a 807e9d2: 20c6 movs r0, #198 ; 0xc6 807e9d4: f7d5 fcae bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[inner_ied]); 807e9d8: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807e9dc: b2db uxtb r3, r3 807e9de: 461a mov r2, r3 807e9e0: 4b1e ldr r3, [pc, #120] ; (807ea5c ) 807e9e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e9e6: 461a mov r2, r3 807e9e8: 215a movs r1, #90 ; 0x5a 807e9ea: 20d6 movs r0, #214 ; 0xd6 807e9ec: f7d5 fca2 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[inner_iee]); 807e9f0: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 807e9f4: b2db uxtb r3, r3 807e9f6: 461a mov r2, r3 807e9f8: 4b18 ldr r3, [pc, #96] ; (807ea5c ) 807e9fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807e9fe: 461a mov r2, r3 807ea00: 215a movs r1, #90 ; 0x5a 807ea02: 20e6 movs r0, #230 ; 0xe6 807ea04: f7d5 fc96 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 807ea08: 4a16 ldr r2, [pc, #88] ; (807ea64 ) 807ea0a: 215a movs r1, #90 ; 0x5a 807ea0c: 20f6 movs r0, #246 ; 0xf6 807ea0e: f7d5 fc91 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[inner_ikd]); 807ea12: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 807ea16: b2db uxtb r3, r3 807ea18: 461a mov r2, r3 807ea1a: 4b10 ldr r3, [pc, #64] ; (807ea5c ) 807ea1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ea20: 461a mov r2, r3 807ea22: 215a movs r1, #90 ; 0x5a 807ea24: f44f 7083 mov.w r0, #262 ; 0x106 807ea28: f7d5 fc84 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[inner_iks]); 807ea2c: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 807ea30: b2db uxtb r3, r3 807ea32: 461a mov r2, r3 807ea34: 4b09 ldr r3, [pc, #36] ; (807ea5c ) 807ea36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807ea3a: 461a mov r2, r3 807ea3c: 215a movs r1, #90 ; 0x5a 807ea3e: f44f 708b mov.w r0, #278 ; 0x116 807ea42: f7d5 fc77 bl 8054334 break; 807ea46: f018 bdd8 b.w 80975fa if(menupos == UdarRate_IET) 807ea4a: bf00 nop break; 807ea4c: f018 bdd5 b.w 80975fa 807ea50: 20020070 .word 0x20020070 807ea54: ff0a0f1f .word 0xff0a0f1f 807ea58: 2002165c .word 0x2002165c 807ea5c: 20020964 .word 0x20020964 807ea60: ffd8aa57 .word 0xffd8aa57 807ea64: 080cf820 .word 0x080cf820 case PARAM_ROLL: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 807ea68: 49d5 ldr r1, [pc, #852] ; (807edc0 ) 807ea6a: 48d6 ldr r0, [pc, #856] ; (807edc4 ) 807ea6c: f7d4 feba bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 807ea70: 23c9 movs r3, #201 ; 0xc9 807ea72: f44f 729d mov.w r2, #314 ; 0x13a 807ea76: 2123 movs r1, #35 ; 0x23 807ea78: 2002 movs r0, #2 807ea7a: f7d5 f9b9 bl 8053df0 ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.MAX_VAL * 10.0f); 807ea7e: 4bd2 ldr r3, [pc, #840] ; (807edc8 ) 807ea80: edd3 7a06 vldr s15, [r3, #24] 807ea84: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 807ea88: ee67 7a87 vmul.f32 s15, s15, s14 807ea8c: eefc 7ae7 vcvt.u32.f32 s15, s15 807ea90: ee17 3a90 vmov r3, s15 807ea94: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 807ea98: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807ea9c: 095b lsrs r3, r3, #5 807ea9e: 4acb ldr r2, [pc, #812] ; (807edcc ) 807eaa0: fba2 2303 umull r2, r3, r2, r3 807eaa4: 09db lsrs r3, r3, #7 807eaa6: b2db uxtb r3, r3 807eaa8: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 807eaac: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807eab0: 0953 lsrs r3, r2, #5 807eab2: 49c6 ldr r1, [pc, #792] ; (807edcc ) 807eab4: fba1 1303 umull r1, r3, r1, r3 807eab8: 09db lsrs r3, r3, #7 807eaba: 49c5 ldr r1, [pc, #788] ; (807edd0 ) 807eabc: fb01 f303 mul.w r3, r1, r3 807eac0: 1ad3 subs r3, r2, r3 807eac2: 4ac4 ldr r2, [pc, #784] ; (807edd4 ) 807eac4: fba2 2303 umull r2, r3, r2, r3 807eac8: 0b5b lsrs r3, r3, #13 807eaca: b2db uxtb r3, r3 807eacc: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 807ead0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ead4: 0953 lsrs r3, r2, #5 807ead6: 49bd ldr r1, [pc, #756] ; (807edcc ) 807ead8: fba1 1303 umull r1, r3, r1, r3 807eadc: 09db lsrs r3, r3, #7 807eade: 49bc ldr r1, [pc, #752] ; (807edd0 ) 807eae0: fb01 f303 mul.w r3, r1, r3 807eae4: 1ad3 subs r3, r2, r3 807eae6: 4abb ldr r2, [pc, #748] ; (807edd4 ) 807eae8: fba2 1203 umull r1, r2, r2, r3 807eaec: 0b52 lsrs r2, r2, #13 807eaee: f242 7110 movw r1, #10000 ; 0x2710 807eaf2: fb01 f202 mul.w r2, r1, r2 807eaf6: 1a9a subs r2, r3, r2 807eaf8: 4bb7 ldr r3, [pc, #732] ; (807edd8 ) 807eafa: fba3 2302 umull r2, r3, r3, r2 807eafe: 099b lsrs r3, r3, #6 807eb00: b2db uxtb r3, r3 807eb02: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 807eb06: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807eb0a: 095a lsrs r2, r3, #5 807eb0c: 49af ldr r1, [pc, #700] ; (807edcc ) 807eb0e: fba1 1202 umull r1, r2, r1, r2 807eb12: 09d2 lsrs r2, r2, #7 807eb14: 49ae ldr r1, [pc, #696] ; (807edd0 ) 807eb16: fb01 f202 mul.w r2, r1, r2 807eb1a: 1a9a subs r2, r3, r2 807eb1c: 4bad ldr r3, [pc, #692] ; (807edd4 ) 807eb1e: fba3 1302 umull r1, r3, r3, r2 807eb22: 0b5b lsrs r3, r3, #13 807eb24: f242 7110 movw r1, #10000 ; 0x2710 807eb28: fb01 f303 mul.w r3, r1, r3 807eb2c: 1ad3 subs r3, r2, r3 807eb2e: 4aaa ldr r2, [pc, #680] ; (807edd8 ) 807eb30: fba2 1203 umull r1, r2, r2, r3 807eb34: 0992 lsrs r2, r2, #6 807eb36: f44f 717a mov.w r1, #1000 ; 0x3e8 807eb3a: fb01 f202 mul.w r2, r1, r2 807eb3e: 1a9a subs r2, r3, r2 807eb40: 4ba6 ldr r3, [pc, #664] ; (807eddc ) 807eb42: fba3 2302 umull r2, r3, r3, r2 807eb46: 095b lsrs r3, r3, #5 807eb48: b2db uxtb r3, r3 807eb4a: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 807eb4e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807eb52: 0953 lsrs r3, r2, #5 807eb54: 499d ldr r1, [pc, #628] ; (807edcc ) 807eb56: fba1 1303 umull r1, r3, r1, r3 807eb5a: 09db lsrs r3, r3, #7 807eb5c: 499c ldr r1, [pc, #624] ; (807edd0 ) 807eb5e: fb01 f303 mul.w r3, r1, r3 807eb62: 1ad3 subs r3, r2, r3 807eb64: 4a9b ldr r2, [pc, #620] ; (807edd4 ) 807eb66: fba2 1203 umull r1, r2, r2, r3 807eb6a: 0b52 lsrs r2, r2, #13 807eb6c: f242 7110 movw r1, #10000 ; 0x2710 807eb70: fb01 f202 mul.w r2, r1, r2 807eb74: 1a9a subs r2, r3, r2 807eb76: 4b98 ldr r3, [pc, #608] ; (807edd8 ) 807eb78: fba3 1302 umull r1, r3, r3, r2 807eb7c: 099b lsrs r3, r3, #6 807eb7e: f44f 717a mov.w r1, #1000 ; 0x3e8 807eb82: fb01 f303 mul.w r3, r1, r3 807eb86: 1ad3 subs r3, r2, r3 807eb88: 4a94 ldr r2, [pc, #592] ; (807eddc ) 807eb8a: fba2 1203 umull r1, r2, r2, r3 807eb8e: 0952 lsrs r2, r2, #5 807eb90: 2164 movs r1, #100 ; 0x64 807eb92: fb01 f202 mul.w r2, r1, r2 807eb96: 1a9a subs r2, r3, r2 807eb98: 4b91 ldr r3, [pc, #580] ; (807ede0 ) 807eb9a: fba3 2302 umull r2, r3, r3, r2 807eb9e: 08db lsrs r3, r3, #3 807eba0: b2db uxtb r3, r3 807eba2: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 807eba6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ebaa: 0953 lsrs r3, r2, #5 807ebac: 4987 ldr r1, [pc, #540] ; (807edcc ) 807ebae: fba1 1303 umull r1, r3, r1, r3 807ebb2: 09db lsrs r3, r3, #7 807ebb4: 4986 ldr r1, [pc, #536] ; (807edd0 ) 807ebb6: fb01 f303 mul.w r3, r1, r3 807ebba: 1ad3 subs r3, r2, r3 807ebbc: 4a85 ldr r2, [pc, #532] ; (807edd4 ) 807ebbe: fba2 1203 umull r1, r2, r2, r3 807ebc2: 0b52 lsrs r2, r2, #13 807ebc4: f242 7110 movw r1, #10000 ; 0x2710 807ebc8: fb01 f202 mul.w r2, r1, r2 807ebcc: 1a9a subs r2, r3, r2 807ebce: 4b82 ldr r3, [pc, #520] ; (807edd8 ) 807ebd0: fba3 1302 umull r1, r3, r3, r2 807ebd4: 099b lsrs r3, r3, #6 807ebd6: f44f 717a mov.w r1, #1000 ; 0x3e8 807ebda: fb01 f303 mul.w r3, r1, r3 807ebde: 1ad3 subs r3, r2, r3 807ebe0: 4a7e ldr r2, [pc, #504] ; (807eddc ) 807ebe2: fba2 1203 umull r1, r2, r2, r3 807ebe6: 0952 lsrs r2, r2, #5 807ebe8: 2164 movs r1, #100 ; 0x64 807ebea: fb01 f202 mul.w r2, r1, r2 807ebee: 1a9a subs r2, r3, r2 807ebf0: 4b7b ldr r3, [pc, #492] ; (807ede0 ) 807ebf2: fba3 1302 umull r1, r3, r3, r2 807ebf6: 08d9 lsrs r1, r3, #3 807ebf8: 460b mov r3, r1 807ebfa: 009b lsls r3, r3, #2 807ebfc: 440b add r3, r1 807ebfe: 005b lsls r3, r3, #1 807ec00: 1ad1 subs r1, r2, r3 807ec02: b2cb uxtb r3, r1 807ec04: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 807ec08: 2300 movs r3, #0 807ec0a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 807ec0e: f507 733b add.w r3, r7, #748 ; 0x2ec 807ec12: 223c movs r2, #60 ; 0x3c 807ec14: 2100 movs r1, #0 807ec16: 4618 mov r0, r3 807ec18: f04e fa32 bl 80cd080 if(idt2 != 0) 807ec1c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807ec20: b2db uxtb r3, r3 807ec22: 2b00 cmp r3, #0 807ec24: d00c beq.n 807ec40 str[i++] = idt2 + 48; 807ec26: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ec2a: 1c5a adds r2, r3, #1 807ec2c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ec30: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 807ec34: b2d2 uxtb r2, r2 807ec36: 3230 adds r2, #48 ; 0x30 807ec38: b2d1 uxtb r1, r2 807ec3a: f507 723b add.w r2, r7, #748 ; 0x2ec 807ec3e: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 807ec40: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807ec44: b2db uxtb r3, r3 807ec46: 2b00 cmp r3, #0 807ec48: d104 bne.n 807ec54 807ec4a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807ec4e: b2db uxtb r3, r3 807ec50: 2b00 cmp r3, #0 807ec52: d00c beq.n 807ec6e str[i++] = iet2 + 48; 807ec54: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ec58: 1c5a adds r2, r3, #1 807ec5a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ec5e: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 807ec62: b2d2 uxtb r2, r2 807ec64: 3230 adds r2, #48 ; 0x30 807ec66: b2d1 uxtb r1, r2 807ec68: f507 723b add.w r2, r7, #748 ; 0x2ec 807ec6c: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 807ec6e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807ec72: b2db uxtb r3, r3 807ec74: 2b00 cmp r3, #0 807ec76: d109 bne.n 807ec8c 807ec78: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807ec7c: b2db uxtb r3, r3 807ec7e: 2b00 cmp r3, #0 807ec80: d104 bne.n 807ec8c 807ec82: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807ec86: b2db uxtb r3, r3 807ec88: 2b00 cmp r3, #0 807ec8a: d00c beq.n 807eca6 str[i++] = ies2 + 48; 807ec8c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ec90: 1c5a adds r2, r3, #1 807ec92: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ec96: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 807ec9a: b2d2 uxtb r2, r2 807ec9c: 3230 adds r2, #48 ; 0x30 807ec9e: b2d1 uxtb r1, r2 807eca0: f507 723b add.w r2, r7, #748 ; 0x2ec 807eca4: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 807eca6: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 807ecaa: b2db uxtb r3, r3 807ecac: 2b00 cmp r3, #0 807ecae: d10e bne.n 807ecce 807ecb0: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 807ecb4: b2db uxtb r3, r3 807ecb6: 2b00 cmp r3, #0 807ecb8: d109 bne.n 807ecce 807ecba: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 807ecbe: b2db uxtb r3, r3 807ecc0: 2b00 cmp r3, #0 807ecc2: d104 bne.n 807ecce 807ecc4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 807ecc8: b2db uxtb r3, r3 807ecca: 2b00 cmp r3, #0 807eccc: d00c beq.n 807ece8 str[i++] = ied2 + 48; 807ecce: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ecd2: 1c5a adds r2, r3, #1 807ecd4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ecd8: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 807ecdc: b2d2 uxtb r2, r2 807ecde: 3230 adds r2, #48 ; 0x30 807ece0: b2d1 uxtb r1, r2 807ece2: f507 723b add.w r2, r7, #748 ; 0x2ec 807ece6: 54d1 strb r1, [r2, r3] str[i++] = iee2 + 48; 807ece8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ecec: 1c5a adds r2, r3, #1 807ecee: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ecf2: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 807ecf6: b2d2 uxtb r2, r2 807ecf8: 3230 adds r2, #48 ; 0x30 807ecfa: b2d1 uxtb r1, r2 807ecfc: f507 723b add.w r2, r7, #748 ; 0x2ec 807ed00: 54d1 strb r1, [r2, r3] str[i++] = '.'; 807ed02: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ed06: 1c5a adds r2, r3, #1 807ed08: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ed0c: f507 723b add.w r2, r7, #748 ; 0x2ec 807ed10: 212e movs r1, #46 ; 0x2e 807ed12: 54d1 strb r1, [r2, r3] str[i++] = ikd2 + 48; 807ed14: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ed18: 1c5a adds r2, r3, #1 807ed1a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ed1e: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 807ed22: b2d2 uxtb r2, r2 807ed24: 3230 adds r2, #48 ; 0x30 807ed26: b2d1 uxtb r1, r2 807ed28: f507 723b add.w r2, r7, #748 ; 0x2ec 807ed2c: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_ROLL * 1000.0f); 807ed2e: 4b26 ldr r3, [pc, #152] ; (807edc8 ) 807ed30: edd3 7a30 vldr s15, [r3, #192] ; 0xc0 807ed34: ed9f 7a2b vldr s14, [pc, #172] ; 807ede4 807ed38: ee67 7a87 vmul.f32 s15, s15, s14 807ed3c: eefc 7ae7 vcvt.u32.f32 s15, s15 807ed40: ee17 3a90 vmov r3, s15 807ed44: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 roll_ies = k / 100000; 807ed48: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807ed4c: 095b lsrs r3, r3, #5 807ed4e: 4a1f ldr r2, [pc, #124] ; (807edcc ) 807ed50: fba2 2303 umull r2, r3, r2, r3 807ed54: 09db lsrs r3, r3, #7 807ed56: b2db uxtb r3, r3 807ed58: f887 33b3 strb.w r3, [r7, #947] ; 0x3b3 roll_ied = k % 100000 / 10000; 807ed5c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ed60: 0953 lsrs r3, r2, #5 807ed62: 491a ldr r1, [pc, #104] ; (807edcc ) 807ed64: fba1 1303 umull r1, r3, r1, r3 807ed68: 09db lsrs r3, r3, #7 807ed6a: 4919 ldr r1, [pc, #100] ; (807edd0 ) 807ed6c: fb01 f303 mul.w r3, r1, r3 807ed70: 1ad3 subs r3, r2, r3 807ed72: 4a18 ldr r2, [pc, #96] ; (807edd4 ) 807ed74: fba2 2303 umull r2, r3, r2, r3 807ed78: 0b5b lsrs r3, r3, #13 807ed7a: b2db uxtb r3, r3 807ed7c: f887 33b2 strb.w r3, [r7, #946] ; 0x3b2 roll_iee = k % 100000 % 10000 / 1000; 807ed80: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ed84: 0953 lsrs r3, r2, #5 807ed86: 4911 ldr r1, [pc, #68] ; (807edcc ) 807ed88: fba1 1303 umull r1, r3, r1, r3 807ed8c: 09db lsrs r3, r3, #7 807ed8e: 4910 ldr r1, [pc, #64] ; (807edd0 ) 807ed90: fb01 f303 mul.w r3, r1, r3 807ed94: 1ad3 subs r3, r2, r3 807ed96: 4a0f ldr r2, [pc, #60] ; (807edd4 ) 807ed98: fba2 1203 umull r1, r2, r2, r3 807ed9c: 0b52 lsrs r2, r2, #13 807ed9e: f242 7110 movw r1, #10000 ; 0x2710 807eda2: fb01 f202 mul.w r2, r1, r2 807eda6: 1a9a subs r2, r3, r2 807eda8: 4b0b ldr r3, [pc, #44] ; (807edd8 ) 807edaa: fba3 2302 umull r2, r3, r3, r2 807edae: 099b lsrs r3, r3, #6 807edb0: b2db uxtb r3, r3 807edb2: f887 33b1 strb.w r3, [r7, #945] ; 0x3b1 roll_ikd = k % 100000 % 10000 % 1000 / 100; 807edb6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807edba: 095a lsrs r2, r3, #5 807edbc: e014 b.n 807ede8 807edbe: bf00 nop 807edc0: ff0a0f1f .word 0xff0a0f1f 807edc4: ffd3d3d3 .word 0xffd3d3d3 807edc8: 20023e60 .word 0x20023e60 807edcc: 0a7c5ac5 .word 0x0a7c5ac5 807edd0: 000186a0 .word 0x000186a0 807edd4: d1b71759 .word 0xd1b71759 807edd8: 10624dd3 .word 0x10624dd3 807eddc: 51eb851f .word 0x51eb851f 807ede0: cccccccd .word 0xcccccccd 807ede4: 447a0000 .word 0x447a0000 807ede8: 49da ldr r1, [pc, #872] ; (807f154 ) 807edea: fba1 1202 umull r1, r2, r1, r2 807edee: 09d2 lsrs r2, r2, #7 807edf0: 49d9 ldr r1, [pc, #868] ; (807f158 ) 807edf2: fb01 f202 mul.w r2, r1, r2 807edf6: 1a9a subs r2, r3, r2 807edf8: 4bd8 ldr r3, [pc, #864] ; (807f15c ) 807edfa: fba3 1302 umull r1, r3, r3, r2 807edfe: 0b5b lsrs r3, r3, #13 807ee00: f242 7110 movw r1, #10000 ; 0x2710 807ee04: fb01 f303 mul.w r3, r1, r3 807ee08: 1ad3 subs r3, r2, r3 807ee0a: 4ad5 ldr r2, [pc, #852] ; (807f160 ) 807ee0c: fba2 1203 umull r1, r2, r2, r3 807ee10: 0992 lsrs r2, r2, #6 807ee12: f44f 717a mov.w r1, #1000 ; 0x3e8 807ee16: fb01 f202 mul.w r2, r1, r2 807ee1a: 1a9a subs r2, r3, r2 807ee1c: 4bd1 ldr r3, [pc, #836] ; (807f164 ) 807ee1e: fba3 2302 umull r2, r3, r3, r2 807ee22: 095b lsrs r3, r3, #5 807ee24: b2db uxtb r3, r3 807ee26: f887 33b0 strb.w r3, [r7, #944] ; 0x3b0 roll_iks = k % 100000 % 10000 % 1000 % 100 / 10; 807ee2a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ee2e: 0953 lsrs r3, r2, #5 807ee30: 49c8 ldr r1, [pc, #800] ; (807f154 ) 807ee32: fba1 1303 umull r1, r3, r1, r3 807ee36: 09db lsrs r3, r3, #7 807ee38: 49c7 ldr r1, [pc, #796] ; (807f158 ) 807ee3a: fb01 f303 mul.w r3, r1, r3 807ee3e: 1ad3 subs r3, r2, r3 807ee40: 4ac6 ldr r2, [pc, #792] ; (807f15c ) 807ee42: fba2 1203 umull r1, r2, r2, r3 807ee46: 0b52 lsrs r2, r2, #13 807ee48: f242 7110 movw r1, #10000 ; 0x2710 807ee4c: fb01 f202 mul.w r2, r1, r2 807ee50: 1a9a subs r2, r3, r2 807ee52: 4bc3 ldr r3, [pc, #780] ; (807f160 ) 807ee54: fba3 1302 umull r1, r3, r3, r2 807ee58: 099b lsrs r3, r3, #6 807ee5a: f44f 717a mov.w r1, #1000 ; 0x3e8 807ee5e: fb01 f303 mul.w r3, r1, r3 807ee62: 1ad3 subs r3, r2, r3 807ee64: 4abf ldr r2, [pc, #764] ; (807f164 ) 807ee66: fba2 1203 umull r1, r2, r2, r3 807ee6a: 0952 lsrs r2, r2, #5 807ee6c: 2164 movs r1, #100 ; 0x64 807ee6e: fb01 f202 mul.w r2, r1, r2 807ee72: 1a9a subs r2, r3, r2 807ee74: 4bbc ldr r3, [pc, #752] ; (807f168 ) 807ee76: fba3 2302 umull r2, r3, r3, r2 807ee7a: 08db lsrs r3, r3, #3 807ee7c: b2db uxtb r3, r3 807ee7e: f887 33af strb.w r3, [r7, #943] ; 0x3af roll_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807ee82: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807ee86: 0953 lsrs r3, r2, #5 807ee88: 49b2 ldr r1, [pc, #712] ; (807f154 ) 807ee8a: fba1 1303 umull r1, r3, r1, r3 807ee8e: 09db lsrs r3, r3, #7 807ee90: 49b1 ldr r1, [pc, #708] ; (807f158 ) 807ee92: fb01 f303 mul.w r3, r1, r3 807ee96: 1ad3 subs r3, r2, r3 807ee98: 4ab0 ldr r2, [pc, #704] ; (807f15c ) 807ee9a: fba2 1203 umull r1, r2, r2, r3 807ee9e: 0b52 lsrs r2, r2, #13 807eea0: f242 7110 movw r1, #10000 ; 0x2710 807eea4: fb01 f202 mul.w r2, r1, r2 807eea8: 1a9a subs r2, r3, r2 807eeaa: 4bad ldr r3, [pc, #692] ; (807f160 ) 807eeac: fba3 1302 umull r1, r3, r3, r2 807eeb0: 099b lsrs r3, r3, #6 807eeb2: f44f 717a mov.w r1, #1000 ; 0x3e8 807eeb6: fb01 f303 mul.w r3, r1, r3 807eeba: 1ad3 subs r3, r2, r3 807eebc: 4aa9 ldr r2, [pc, #676] ; (807f164 ) 807eebe: fba2 1203 umull r1, r2, r2, r3 807eec2: 0952 lsrs r2, r2, #5 807eec4: 2164 movs r1, #100 ; 0x64 807eec6: fb01 f202 mul.w r2, r1, r2 807eeca: 1a9a subs r2, r3, r2 807eecc: 4ba6 ldr r3, [pc, #664] ; (807f168 ) 807eece: fba3 1302 umull r1, r3, r3, r2 807eed2: 08d9 lsrs r1, r3, #3 807eed4: 460b mov r3, r1 807eed6: 009b lsls r3, r3, #2 807eed8: 440b add r3, r1 807eeda: 005b lsls r3, r3, #1 807eedc: 1ad1 subs r1, r2, r3 807eede: b2cb uxtb r3, r1 807eee0: f887 33ae strb.w r3, [r7, #942] ; 0x3ae i = 0; 807eee4: 2300 movs r3, #0 807eee6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_roll, 0, sizeof(str_roll)); 807eeea: f507 735e add.w r3, r7, #888 ; 0x378 807eeee: 2214 movs r2, #20 807eef0: 2100 movs r1, #0 807eef2: 4618 mov r0, r3 807eef4: f04e f8c4 bl 80cd080 if(roll_ies != 0) 807eef8: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 807eefc: b2db uxtb r3, r3 807eefe: 2b00 cmp r3, #0 807ef00: d00e beq.n 807ef20 str_roll[i++] = roll_ies + 48; 807ef02: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef06: 1c5a adds r2, r3, #1 807ef08: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef0c: f897 23b3 ldrb.w r2, [r7, #947] ; 0x3b3 807ef10: b2d2 uxtb r2, r2 807ef12: 3230 adds r2, #48 ; 0x30 807ef14: b2d2 uxtb r2, r2 807ef16: f507 618e add.w r1, r7, #1136 ; 0x470 807ef1a: 440b add r3, r1 807ef1c: f803 2cf8 strb.w r2, [r3, #-248] if((roll_ies != 0) || (roll_ied != 0)) 807ef20: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 807ef24: b2db uxtb r3, r3 807ef26: 2b00 cmp r3, #0 807ef28: d104 bne.n 807ef34 807ef2a: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 807ef2e: b2db uxtb r3, r3 807ef30: 2b00 cmp r3, #0 807ef32: d00e beq.n 807ef52 str_roll[i++] = roll_ied + 48; 807ef34: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef38: 1c5a adds r2, r3, #1 807ef3a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef3e: f897 23b2 ldrb.w r2, [r7, #946] ; 0x3b2 807ef42: b2d2 uxtb r2, r2 807ef44: 3230 adds r2, #48 ; 0x30 807ef46: b2d2 uxtb r2, r2 807ef48: f507 618e add.w r1, r7, #1136 ; 0x470 807ef4c: 440b add r3, r1 807ef4e: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_iee + 48; 807ef52: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef56: 1c5a adds r2, r3, #1 807ef58: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef5c: f897 23b1 ldrb.w r2, [r7, #945] ; 0x3b1 807ef60: b2d2 uxtb r2, r2 807ef62: 3230 adds r2, #48 ; 0x30 807ef64: b2d2 uxtb r2, r2 807ef66: f507 618e add.w r1, r7, #1136 ; 0x470 807ef6a: 440b add r3, r1 807ef6c: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = '.'; 807ef70: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef74: 1c5a adds r2, r3, #1 807ef76: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef7a: f507 628e add.w r2, r7, #1136 ; 0x470 807ef7e: 4413 add r3, r2 807ef80: 222e movs r2, #46 ; 0x2e 807ef82: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_ikd + 48; 807ef86: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807ef8a: 1c5a adds r2, r3, #1 807ef8c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807ef90: f897 23b0 ldrb.w r2, [r7, #944] ; 0x3b0 807ef94: b2d2 uxtb r2, r2 807ef96: 3230 adds r2, #48 ; 0x30 807ef98: b2d2 uxtb r2, r2 807ef9a: f507 618e add.w r1, r7, #1136 ; 0x470 807ef9e: 440b add r3, r1 807efa0: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_iks + 48; 807efa4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807efa8: 1c5a adds r2, r3, #1 807efaa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807efae: f897 23af ldrb.w r2, [r7, #943] ; 0x3af 807efb2: b2d2 uxtb r2, r2 807efb4: 3230 adds r2, #48 ; 0x30 807efb6: b2d2 uxtb r2, r2 807efb8: f507 618e add.w r1, r7, #1136 ; 0x470 807efbc: 440b add r3, r1 807efbe: f803 2cf8 strb.w r2, [r3, #-248] str_roll[i++] = roll_ikt + 48; 807efc2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807efc6: 1c5a adds r2, r3, #1 807efc8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807efcc: f897 23ae ldrb.w r2, [r7, #942] ; 0x3ae 807efd0: b2d2 uxtb r2, r2 807efd2: 3230 adds r2, #48 ; 0x30 807efd4: b2d2 uxtb r2, r2 807efd6: f507 618e add.w r1, r7, #1136 ; 0x470 807efda: 440b add r3, r1 807efdc: f803 2cf8 strb.w r2, [r3, #-248] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_OUTER * 1000.0f); 807efe0: 4b62 ldr r3, [pc, #392] ; (807f16c ) 807efe2: edd3 7a31 vldr s15, [r3, #196] ; 0xc4 807efe6: ed9f 7a62 vldr s14, [pc, #392] ; 807f170 807efea: ee67 7a87 vmul.f32 s15, s15, s14 807efee: eefc 7ae7 vcvt.u32.f32 s15, s15 807eff2: ee17 3a90 vmov r3, s15 807eff6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 outer_ies = k / 100000; 807effa: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807effe: 095b lsrs r3, r3, #5 807f000: 4a54 ldr r2, [pc, #336] ; (807f154 ) 807f002: fba2 2303 umull r2, r3, r2, r3 807f006: 09db lsrs r3, r3, #7 807f008: b2db uxtb r3, r3 807f00a: f887 33ab strb.w r3, [r7, #939] ; 0x3ab outer_ied = k % 100000 / 10000; 807f00e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f012: 0953 lsrs r3, r2, #5 807f014: 494f ldr r1, [pc, #316] ; (807f154 ) 807f016: fba1 1303 umull r1, r3, r1, r3 807f01a: 09db lsrs r3, r3, #7 807f01c: 494e ldr r1, [pc, #312] ; (807f158 ) 807f01e: fb01 f303 mul.w r3, r1, r3 807f022: 1ad3 subs r3, r2, r3 807f024: 4a4d ldr r2, [pc, #308] ; (807f15c ) 807f026: fba2 2303 umull r2, r3, r2, r3 807f02a: 0b5b lsrs r3, r3, #13 807f02c: b2db uxtb r3, r3 807f02e: f887 33aa strb.w r3, [r7, #938] ; 0x3aa outer_iee = k % 100000 % 10000 / 1000; 807f032: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f036: 0953 lsrs r3, r2, #5 807f038: 4946 ldr r1, [pc, #280] ; (807f154 ) 807f03a: fba1 1303 umull r1, r3, r1, r3 807f03e: 09db lsrs r3, r3, #7 807f040: 4945 ldr r1, [pc, #276] ; (807f158 ) 807f042: fb01 f303 mul.w r3, r1, r3 807f046: 1ad3 subs r3, r2, r3 807f048: 4a44 ldr r2, [pc, #272] ; (807f15c ) 807f04a: fba2 1203 umull r1, r2, r2, r3 807f04e: 0b52 lsrs r2, r2, #13 807f050: f242 7110 movw r1, #10000 ; 0x2710 807f054: fb01 f202 mul.w r2, r1, r2 807f058: 1a9a subs r2, r3, r2 807f05a: 4b41 ldr r3, [pc, #260] ; (807f160 ) 807f05c: fba3 2302 umull r2, r3, r3, r2 807f060: 099b lsrs r3, r3, #6 807f062: b2db uxtb r3, r3 807f064: f887 33a9 strb.w r3, [r7, #937] ; 0x3a9 outer_ikd = k % 100000 % 10000 % 1000 / 100; 807f068: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f06c: 095a lsrs r2, r3, #5 807f06e: 4939 ldr r1, [pc, #228] ; (807f154 ) 807f070: fba1 1202 umull r1, r2, r1, r2 807f074: 09d2 lsrs r2, r2, #7 807f076: 4938 ldr r1, [pc, #224] ; (807f158 ) 807f078: fb01 f202 mul.w r2, r1, r2 807f07c: 1a9a subs r2, r3, r2 807f07e: 4b37 ldr r3, [pc, #220] ; (807f15c ) 807f080: fba3 1302 umull r1, r3, r3, r2 807f084: 0b5b lsrs r3, r3, #13 807f086: f242 7110 movw r1, #10000 ; 0x2710 807f08a: fb01 f303 mul.w r3, r1, r3 807f08e: 1ad3 subs r3, r2, r3 807f090: 4a33 ldr r2, [pc, #204] ; (807f160 ) 807f092: fba2 1203 umull r1, r2, r2, r3 807f096: 0992 lsrs r2, r2, #6 807f098: f44f 717a mov.w r1, #1000 ; 0x3e8 807f09c: fb01 f202 mul.w r2, r1, r2 807f0a0: 1a9a subs r2, r3, r2 807f0a2: 4b30 ldr r3, [pc, #192] ; (807f164 ) 807f0a4: fba3 2302 umull r2, r3, r3, r2 807f0a8: 095b lsrs r3, r3, #5 807f0aa: b2db uxtb r3, r3 807f0ac: f887 33a8 strb.w r3, [r7, #936] ; 0x3a8 outer_iks = k % 100000 % 10000 % 1000 % 100 / 10; 807f0b0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f0b4: 0953 lsrs r3, r2, #5 807f0b6: 4927 ldr r1, [pc, #156] ; (807f154 ) 807f0b8: fba1 1303 umull r1, r3, r1, r3 807f0bc: 09db lsrs r3, r3, #7 807f0be: 4926 ldr r1, [pc, #152] ; (807f158 ) 807f0c0: fb01 f303 mul.w r3, r1, r3 807f0c4: 1ad3 subs r3, r2, r3 807f0c6: 4a25 ldr r2, [pc, #148] ; (807f15c ) 807f0c8: fba2 1203 umull r1, r2, r2, r3 807f0cc: 0b52 lsrs r2, r2, #13 807f0ce: f242 7110 movw r1, #10000 ; 0x2710 807f0d2: fb01 f202 mul.w r2, r1, r2 807f0d6: 1a9a subs r2, r3, r2 807f0d8: 4b21 ldr r3, [pc, #132] ; (807f160 ) 807f0da: fba3 1302 umull r1, r3, r3, r2 807f0de: 099b lsrs r3, r3, #6 807f0e0: f44f 717a mov.w r1, #1000 ; 0x3e8 807f0e4: fb01 f303 mul.w r3, r1, r3 807f0e8: 1ad3 subs r3, r2, r3 807f0ea: 4a1e ldr r2, [pc, #120] ; (807f164 ) 807f0ec: fba2 1203 umull r1, r2, r2, r3 807f0f0: 0952 lsrs r2, r2, #5 807f0f2: 2164 movs r1, #100 ; 0x64 807f0f4: fb01 f202 mul.w r2, r1, r2 807f0f8: 1a9a subs r2, r3, r2 807f0fa: 4b1b ldr r3, [pc, #108] ; (807f168 ) 807f0fc: fba3 2302 umull r2, r3, r3, r2 807f100: 08db lsrs r3, r3, #3 807f102: b2db uxtb r3, r3 807f104: f887 33a7 strb.w r3, [r7, #935] ; 0x3a7 outer_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807f108: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f10c: 0953 lsrs r3, r2, #5 807f10e: 4911 ldr r1, [pc, #68] ; (807f154 ) 807f110: fba1 1303 umull r1, r3, r1, r3 807f114: 09db lsrs r3, r3, #7 807f116: 4910 ldr r1, [pc, #64] ; (807f158 ) 807f118: fb01 f303 mul.w r3, r1, r3 807f11c: 1ad3 subs r3, r2, r3 807f11e: 4a0f ldr r2, [pc, #60] ; (807f15c ) 807f120: fba2 1203 umull r1, r2, r2, r3 807f124: 0b52 lsrs r2, r2, #13 807f126: f242 7110 movw r1, #10000 ; 0x2710 807f12a: fb01 f202 mul.w r2, r1, r2 807f12e: 1a9a subs r2, r3, r2 807f130: 4b0b ldr r3, [pc, #44] ; (807f160 ) 807f132: fba3 1302 umull r1, r3, r3, r2 807f136: 099b lsrs r3, r3, #6 807f138: f44f 717a mov.w r1, #1000 ; 0x3e8 807f13c: fb01 f303 mul.w r3, r1, r3 807f140: 1ad3 subs r3, r2, r3 807f142: 4a08 ldr r2, [pc, #32] ; (807f164 ) 807f144: fba2 1203 umull r1, r2, r2, r3 807f148: 0952 lsrs r2, r2, #5 807f14a: 2164 movs r1, #100 ; 0x64 807f14c: fb01 f202 mul.w r2, r1, r2 807f150: 1a9a subs r2, r3, r2 807f152: e00f b.n 807f174 807f154: 0a7c5ac5 .word 0x0a7c5ac5 807f158: 000186a0 .word 0x000186a0 807f15c: d1b71759 .word 0xd1b71759 807f160: 10624dd3 .word 0x10624dd3 807f164: 51eb851f .word 0x51eb851f 807f168: cccccccd .word 0xcccccccd 807f16c: 20023e60 .word 0x20023e60 807f170: 447a0000 .word 0x447a0000 807f174: 4bb3 ldr r3, [pc, #716] ; (807f444 ) 807f176: fba3 1302 umull r1, r3, r3, r2 807f17a: 08d9 lsrs r1, r3, #3 807f17c: 460b mov r3, r1 807f17e: 009b lsls r3, r3, #2 807f180: 440b add r3, r1 807f182: 005b lsls r3, r3, #1 807f184: 1ad1 subs r1, r2, r3 807f186: b2cb uxtb r3, r1 807f188: f887 33a6 strb.w r3, [r7, #934] ; 0x3a6 i = 0; 807f18c: 2300 movs r3, #0 807f18e: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_outer, 0, sizeof(str_outer)); 807f192: f507 7359 add.w r3, r7, #868 ; 0x364 807f196: 2214 movs r2, #20 807f198: 2100 movs r1, #0 807f19a: 4618 mov r0, r3 807f19c: f04d ff70 bl 80cd080 if(outer_ies != 0) 807f1a0: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 807f1a4: b2db uxtb r3, r3 807f1a6: 2b00 cmp r3, #0 807f1a8: d00c beq.n 807f1c4 str_outer[i++] = outer_ies + 48; 807f1aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f1ae: 1c5a adds r2, r3, #1 807f1b0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f1b4: f897 23ab ldrb.w r2, [r7, #939] ; 0x3ab 807f1b8: b2d2 uxtb r2, r2 807f1ba: 3230 adds r2, #48 ; 0x30 807f1bc: b2d1 uxtb r1, r2 807f1be: f507 7259 add.w r2, r7, #868 ; 0x364 807f1c2: 54d1 strb r1, [r2, r3] if((outer_ies != 0) || (outer_ied != 0)) 807f1c4: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 807f1c8: b2db uxtb r3, r3 807f1ca: 2b00 cmp r3, #0 807f1cc: d104 bne.n 807f1d8 807f1ce: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 807f1d2: b2db uxtb r3, r3 807f1d4: 2b00 cmp r3, #0 807f1d6: d00c beq.n 807f1f2 str_outer[i++] = outer_ied + 48; 807f1d8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f1dc: 1c5a adds r2, r3, #1 807f1de: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f1e2: f897 23aa ldrb.w r2, [r7, #938] ; 0x3aa 807f1e6: b2d2 uxtb r2, r2 807f1e8: 3230 adds r2, #48 ; 0x30 807f1ea: b2d1 uxtb r1, r2 807f1ec: f507 7259 add.w r2, r7, #868 ; 0x364 807f1f0: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_iee + 48; 807f1f2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f1f6: 1c5a adds r2, r3, #1 807f1f8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f1fc: f897 23a9 ldrb.w r2, [r7, #937] ; 0x3a9 807f200: b2d2 uxtb r2, r2 807f202: 3230 adds r2, #48 ; 0x30 807f204: b2d1 uxtb r1, r2 807f206: f507 7259 add.w r2, r7, #868 ; 0x364 807f20a: 54d1 strb r1, [r2, r3] str_outer[i++] = '.'; 807f20c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f210: 1c5a adds r2, r3, #1 807f212: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f216: f507 7259 add.w r2, r7, #868 ; 0x364 807f21a: 212e movs r1, #46 ; 0x2e 807f21c: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_ikd + 48; 807f21e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f222: 1c5a adds r2, r3, #1 807f224: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f228: f897 23a8 ldrb.w r2, [r7, #936] ; 0x3a8 807f22c: b2d2 uxtb r2, r2 807f22e: 3230 adds r2, #48 ; 0x30 807f230: b2d1 uxtb r1, r2 807f232: f507 7259 add.w r2, r7, #868 ; 0x364 807f236: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_iks + 48; 807f238: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f23c: 1c5a adds r2, r3, #1 807f23e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f242: f897 23a7 ldrb.w r2, [r7, #935] ; 0x3a7 807f246: b2d2 uxtb r2, r2 807f248: 3230 adds r2, #48 ; 0x30 807f24a: b2d1 uxtb r1, r2 807f24c: f507 7259 add.w r2, r7, #868 ; 0x364 807f250: 54d1 strb r1, [r2, r3] str_outer[i++] = outer_ikt + 48; 807f252: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f256: 1c5a adds r2, r3, #1 807f258: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f25c: f897 23a6 ldrb.w r2, [r7, #934] ; 0x3a6 807f260: b2d2 uxtb r2, r2 807f262: 3230 adds r2, #48 ; 0x30 807f264: b2d1 uxtb r1, r2 807f266: f507 7259 add.w r2, r7, #868 ; 0x364 807f26a: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_INNER * 1000.0f); 807f26c: 4b76 ldr r3, [pc, #472] ; (807f448 ) 807f26e: edd3 7a32 vldr s15, [r3, #200] ; 0xc8 807f272: ed9f 7a76 vldr s14, [pc, #472] ; 807f44c 807f276: ee67 7a87 vmul.f32 s15, s15, s14 807f27a: eefc 7ae7 vcvt.u32.f32 s15, s15 807f27e: ee17 3a90 vmov r3, s15 807f282: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 inner_ies = k / 100000; 807f286: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f28a: 095b lsrs r3, r3, #5 807f28c: 4a70 ldr r2, [pc, #448] ; (807f450 ) 807f28e: fba2 2303 umull r2, r3, r2, r3 807f292: 09db lsrs r3, r3, #7 807f294: b2db uxtb r3, r3 807f296: f887 33a3 strb.w r3, [r7, #931] ; 0x3a3 inner_ied = k % 100000 / 10000; 807f29a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f29e: 0953 lsrs r3, r2, #5 807f2a0: 496b ldr r1, [pc, #428] ; (807f450 ) 807f2a2: fba1 1303 umull r1, r3, r1, r3 807f2a6: 09db lsrs r3, r3, #7 807f2a8: 496a ldr r1, [pc, #424] ; (807f454 ) 807f2aa: fb01 f303 mul.w r3, r1, r3 807f2ae: 1ad3 subs r3, r2, r3 807f2b0: 4a69 ldr r2, [pc, #420] ; (807f458 ) 807f2b2: fba2 2303 umull r2, r3, r2, r3 807f2b6: 0b5b lsrs r3, r3, #13 807f2b8: b2db uxtb r3, r3 807f2ba: f887 33a2 strb.w r3, [r7, #930] ; 0x3a2 inner_iee = k % 100000 % 10000 / 1000; 807f2be: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f2c2: 0953 lsrs r3, r2, #5 807f2c4: 4962 ldr r1, [pc, #392] ; (807f450 ) 807f2c6: fba1 1303 umull r1, r3, r1, r3 807f2ca: 09db lsrs r3, r3, #7 807f2cc: 4961 ldr r1, [pc, #388] ; (807f454 ) 807f2ce: fb01 f303 mul.w r3, r1, r3 807f2d2: 1ad3 subs r3, r2, r3 807f2d4: 4a60 ldr r2, [pc, #384] ; (807f458 ) 807f2d6: fba2 1203 umull r1, r2, r2, r3 807f2da: 0b52 lsrs r2, r2, #13 807f2dc: f242 7110 movw r1, #10000 ; 0x2710 807f2e0: fb01 f202 mul.w r2, r1, r2 807f2e4: 1a9a subs r2, r3, r2 807f2e6: 4b5d ldr r3, [pc, #372] ; (807f45c ) 807f2e8: fba3 2302 umull r2, r3, r3, r2 807f2ec: 099b lsrs r3, r3, #6 807f2ee: b2db uxtb r3, r3 807f2f0: f887 33a1 strb.w r3, [r7, #929] ; 0x3a1 inner_ikd = k % 100000 % 10000 % 1000 / 100; 807f2f4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f2f8: 095a lsrs r2, r3, #5 807f2fa: 4955 ldr r1, [pc, #340] ; (807f450 ) 807f2fc: fba1 1202 umull r1, r2, r1, r2 807f300: 09d2 lsrs r2, r2, #7 807f302: 4954 ldr r1, [pc, #336] ; (807f454 ) 807f304: fb01 f202 mul.w r2, r1, r2 807f308: 1a9a subs r2, r3, r2 807f30a: 4b53 ldr r3, [pc, #332] ; (807f458 ) 807f30c: fba3 1302 umull r1, r3, r3, r2 807f310: 0b5b lsrs r3, r3, #13 807f312: f242 7110 movw r1, #10000 ; 0x2710 807f316: fb01 f303 mul.w r3, r1, r3 807f31a: 1ad3 subs r3, r2, r3 807f31c: 4a4f ldr r2, [pc, #316] ; (807f45c ) 807f31e: fba2 1203 umull r1, r2, r2, r3 807f322: 0992 lsrs r2, r2, #6 807f324: f44f 717a mov.w r1, #1000 ; 0x3e8 807f328: fb01 f202 mul.w r2, r1, r2 807f32c: 1a9a subs r2, r3, r2 807f32e: 4b4c ldr r3, [pc, #304] ; (807f460 ) 807f330: fba3 2302 umull r2, r3, r3, r2 807f334: 095b lsrs r3, r3, #5 807f336: b2db uxtb r3, r3 807f338: f887 33a0 strb.w r3, [r7, #928] ; 0x3a0 inner_iks = k % 100000 % 10000 % 1000 % 100 / 10; 807f33c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f340: 0953 lsrs r3, r2, #5 807f342: 4943 ldr r1, [pc, #268] ; (807f450 ) 807f344: fba1 1303 umull r1, r3, r1, r3 807f348: 09db lsrs r3, r3, #7 807f34a: 4942 ldr r1, [pc, #264] ; (807f454 ) 807f34c: fb01 f303 mul.w r3, r1, r3 807f350: 1ad3 subs r3, r2, r3 807f352: 4a41 ldr r2, [pc, #260] ; (807f458 ) 807f354: fba2 1203 umull r1, r2, r2, r3 807f358: 0b52 lsrs r2, r2, #13 807f35a: f242 7110 movw r1, #10000 ; 0x2710 807f35e: fb01 f202 mul.w r2, r1, r2 807f362: 1a9a subs r2, r3, r2 807f364: 4b3d ldr r3, [pc, #244] ; (807f45c ) 807f366: fba3 1302 umull r1, r3, r3, r2 807f36a: 099b lsrs r3, r3, #6 807f36c: f44f 717a mov.w r1, #1000 ; 0x3e8 807f370: fb01 f303 mul.w r3, r1, r3 807f374: 1ad3 subs r3, r2, r3 807f376: 4a3a ldr r2, [pc, #232] ; (807f460 ) 807f378: fba2 1203 umull r1, r2, r2, r3 807f37c: 0952 lsrs r2, r2, #5 807f37e: 2164 movs r1, #100 ; 0x64 807f380: fb01 f202 mul.w r2, r1, r2 807f384: 1a9a subs r2, r3, r2 807f386: 4b2f ldr r3, [pc, #188] ; (807f444 ) 807f388: fba3 2302 umull r2, r3, r3, r2 807f38c: 08db lsrs r3, r3, #3 807f38e: b2db uxtb r3, r3 807f390: f887 339f strb.w r3, [r7, #927] ; 0x39f inner_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807f394: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f398: 0953 lsrs r3, r2, #5 807f39a: 492d ldr r1, [pc, #180] ; (807f450 ) 807f39c: fba1 1303 umull r1, r3, r1, r3 807f3a0: 09db lsrs r3, r3, #7 807f3a2: 492c ldr r1, [pc, #176] ; (807f454 ) 807f3a4: fb01 f303 mul.w r3, r1, r3 807f3a8: 1ad3 subs r3, r2, r3 807f3aa: 4a2b ldr r2, [pc, #172] ; (807f458 ) 807f3ac: fba2 1203 umull r1, r2, r2, r3 807f3b0: 0b52 lsrs r2, r2, #13 807f3b2: f242 7110 movw r1, #10000 ; 0x2710 807f3b6: fb01 f202 mul.w r2, r1, r2 807f3ba: 1a9a subs r2, r3, r2 807f3bc: 4b27 ldr r3, [pc, #156] ; (807f45c ) 807f3be: fba3 1302 umull r1, r3, r3, r2 807f3c2: 099b lsrs r3, r3, #6 807f3c4: f44f 717a mov.w r1, #1000 ; 0x3e8 807f3c8: fb01 f303 mul.w r3, r1, r3 807f3cc: 1ad3 subs r3, r2, r3 807f3ce: 4a24 ldr r2, [pc, #144] ; (807f460 ) 807f3d0: fba2 1203 umull r1, r2, r2, r3 807f3d4: 0952 lsrs r2, r2, #5 807f3d6: 2164 movs r1, #100 ; 0x64 807f3d8: fb01 f202 mul.w r2, r1, r2 807f3dc: 1a9a subs r2, r3, r2 807f3de: 4b19 ldr r3, [pc, #100] ; (807f444 ) 807f3e0: fba3 1302 umull r1, r3, r3, r2 807f3e4: 08d9 lsrs r1, r3, #3 807f3e6: 460b mov r3, r1 807f3e8: 009b lsls r3, r3, #2 807f3ea: 440b add r3, r1 807f3ec: 005b lsls r3, r3, #1 807f3ee: 1ad1 subs r1, r2, r3 807f3f0: b2cb uxtb r3, r1 807f3f2: f887 339e strb.w r3, [r7, #926] ; 0x39e i = 0; 807f3f6: 2300 movs r3, #0 807f3f8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_inner, 0, sizeof(str_inner)); 807f3fc: f507 7354 add.w r3, r7, #848 ; 0x350 807f400: 2214 movs r2, #20 807f402: 2100 movs r1, #0 807f404: 4618 mov r0, r3 807f406: f04d fe3b bl 80cd080 if(inner_ies != 0) 807f40a: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807f40e: b2db uxtb r3, r3 807f410: 2b00 cmp r3, #0 807f412: d00c beq.n 807f42e str_inner[i++] = inner_ies + 48; 807f414: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f418: 1c5a adds r2, r3, #1 807f41a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f41e: f897 23a3 ldrb.w r2, [r7, #931] ; 0x3a3 807f422: b2d2 uxtb r2, r2 807f424: 3230 adds r2, #48 ; 0x30 807f426: b2d1 uxtb r1, r2 807f428: f507 7254 add.w r2, r7, #848 ; 0x350 807f42c: 54d1 strb r1, [r2, r3] if((inner_ies != 0) || (inner_ied != 0)) 807f42e: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 807f432: b2db uxtb r3, r3 807f434: 2b00 cmp r3, #0 807f436: d115 bne.n 807f464 807f438: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 807f43c: b2db uxtb r3, r3 807f43e: 2b00 cmp r3, #0 807f440: d01d beq.n 807f47e 807f442: e00f b.n 807f464 807f444: cccccccd .word 0xcccccccd 807f448: 20023e60 .word 0x20023e60 807f44c: 447a0000 .word 0x447a0000 807f450: 0a7c5ac5 .word 0x0a7c5ac5 807f454: 000186a0 .word 0x000186a0 807f458: d1b71759 .word 0xd1b71759 807f45c: 10624dd3 .word 0x10624dd3 807f460: 51eb851f .word 0x51eb851f str_inner[i++] = inner_ied + 48; 807f464: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f468: 1c5a adds r2, r3, #1 807f46a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f46e: f897 23a2 ldrb.w r2, [r7, #930] ; 0x3a2 807f472: b2d2 uxtb r2, r2 807f474: 3230 adds r2, #48 ; 0x30 807f476: b2d1 uxtb r1, r2 807f478: f507 7254 add.w r2, r7, #848 ; 0x350 807f47c: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iee + 48; 807f47e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f482: 1c5a adds r2, r3, #1 807f484: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f488: f897 23a1 ldrb.w r2, [r7, #929] ; 0x3a1 807f48c: b2d2 uxtb r2, r2 807f48e: 3230 adds r2, #48 ; 0x30 807f490: b2d1 uxtb r1, r2 807f492: f507 7254 add.w r2, r7, #848 ; 0x350 807f496: 54d1 strb r1, [r2, r3] str_inner[i++] = '.'; 807f498: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f49c: 1c5a adds r2, r3, #1 807f49e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f4a2: f507 7254 add.w r2, r7, #848 ; 0x350 807f4a6: 212e movs r1, #46 ; 0x2e 807f4a8: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikd + 48; 807f4aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f4ae: 1c5a adds r2, r3, #1 807f4b0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f4b4: f897 23a0 ldrb.w r2, [r7, #928] ; 0x3a0 807f4b8: b2d2 uxtb r2, r2 807f4ba: 3230 adds r2, #48 ; 0x30 807f4bc: b2d1 uxtb r1, r2 807f4be: f507 7254 add.w r2, r7, #848 ; 0x350 807f4c2: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_iks + 48; 807f4c4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f4c8: 1c5a adds r2, r3, #1 807f4ca: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f4ce: f897 239f ldrb.w r2, [r7, #927] ; 0x39f 807f4d2: b2d2 uxtb r2, r2 807f4d4: 3230 adds r2, #48 ; 0x30 807f4d6: b2d1 uxtb r1, r2 807f4d8: f507 7254 add.w r2, r7, #848 ; 0x350 807f4dc: 54d1 strb r1, [r2, r3] str_inner[i++] = inner_ikt + 48; 807f4de: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f4e2: 1c5a adds r2, r3, #1 807f4e4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f4e8: f897 239e ldrb.w r2, [r7, #926] ; 0x39e 807f4ec: b2d2 uxtb r2, r2 807f4ee: 3230 adds r2, #48 ; 0x30 807f4f0: b2d1 uxtb r1, r2 807f4f2: f507 7254 add.w r2, r7, #848 ; 0x350 807f4f6: 54d1 strb r1, [r2, r3] ////////////////////////////////////////////////////////////////// k = (uint32_t) (pardata.D_ANGLE * 1000.0f); 807f4f8: 4bcd ldr r3, [pc, #820] ; (807f830 ) 807f4fa: edd3 7a33 vldr s15, [r3, #204] ; 0xcc 807f4fe: ed9f 7acd vldr s14, [pc, #820] ; 807f834 807f502: ee67 7a87 vmul.f32 s15, s15, s14 807f506: eefc 7ae7 vcvt.u32.f32 s15, s15 807f50a: ee17 3a90 vmov r3, s15 807f50e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 angle_ies = k / 100000; 807f512: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f516: 095b lsrs r3, r3, #5 807f518: 4ac7 ldr r2, [pc, #796] ; (807f838 ) 807f51a: fba2 2303 umull r2, r3, r2, r3 807f51e: 09db lsrs r3, r3, #7 807f520: b2db uxtb r3, r3 807f522: f887 339b strb.w r3, [r7, #923] ; 0x39b angle_ied = k % 100000 / 10000; 807f526: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f52a: 0953 lsrs r3, r2, #5 807f52c: 49c2 ldr r1, [pc, #776] ; (807f838 ) 807f52e: fba1 1303 umull r1, r3, r1, r3 807f532: 09db lsrs r3, r3, #7 807f534: 49c1 ldr r1, [pc, #772] ; (807f83c ) 807f536: fb01 f303 mul.w r3, r1, r3 807f53a: 1ad3 subs r3, r2, r3 807f53c: 4ac0 ldr r2, [pc, #768] ; (807f840 ) 807f53e: fba2 2303 umull r2, r3, r2, r3 807f542: 0b5b lsrs r3, r3, #13 807f544: b2db uxtb r3, r3 807f546: f887 339a strb.w r3, [r7, #922] ; 0x39a angle_iee = k % 100000 % 10000 / 1000; 807f54a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f54e: 0953 lsrs r3, r2, #5 807f550: 49b9 ldr r1, [pc, #740] ; (807f838 ) 807f552: fba1 1303 umull r1, r3, r1, r3 807f556: 09db lsrs r3, r3, #7 807f558: 49b8 ldr r1, [pc, #736] ; (807f83c ) 807f55a: fb01 f303 mul.w r3, r1, r3 807f55e: 1ad3 subs r3, r2, r3 807f560: 4ab7 ldr r2, [pc, #732] ; (807f840 ) 807f562: fba2 1203 umull r1, r2, r2, r3 807f566: 0b52 lsrs r2, r2, #13 807f568: f242 7110 movw r1, #10000 ; 0x2710 807f56c: fb01 f202 mul.w r2, r1, r2 807f570: 1a9a subs r2, r3, r2 807f572: 4bb4 ldr r3, [pc, #720] ; (807f844 ) 807f574: fba3 2302 umull r2, r3, r3, r2 807f578: 099b lsrs r3, r3, #6 807f57a: b2db uxtb r3, r3 807f57c: f887 3399 strb.w r3, [r7, #921] ; 0x399 angle_ikd = k % 100000 % 10000 % 1000 / 100; 807f580: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f584: 095a lsrs r2, r3, #5 807f586: 49ac ldr r1, [pc, #688] ; (807f838 ) 807f588: fba1 1202 umull r1, r2, r1, r2 807f58c: 09d2 lsrs r2, r2, #7 807f58e: 49ab ldr r1, [pc, #684] ; (807f83c ) 807f590: fb01 f202 mul.w r2, r1, r2 807f594: 1a9a subs r2, r3, r2 807f596: 4baa ldr r3, [pc, #680] ; (807f840 ) 807f598: fba3 1302 umull r1, r3, r3, r2 807f59c: 0b5b lsrs r3, r3, #13 807f59e: f242 7110 movw r1, #10000 ; 0x2710 807f5a2: fb01 f303 mul.w r3, r1, r3 807f5a6: 1ad3 subs r3, r2, r3 807f5a8: 4aa6 ldr r2, [pc, #664] ; (807f844 ) 807f5aa: fba2 1203 umull r1, r2, r2, r3 807f5ae: 0992 lsrs r2, r2, #6 807f5b0: f44f 717a mov.w r1, #1000 ; 0x3e8 807f5b4: fb01 f202 mul.w r2, r1, r2 807f5b8: 1a9a subs r2, r3, r2 807f5ba: 4ba3 ldr r3, [pc, #652] ; (807f848 ) 807f5bc: fba3 2302 umull r2, r3, r3, r2 807f5c0: 095b lsrs r3, r3, #5 807f5c2: b2db uxtb r3, r3 807f5c4: f887 3398 strb.w r3, [r7, #920] ; 0x398 angle_iks = k % 100000 % 10000 % 1000 % 100 / 10; 807f5c8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f5cc: 0953 lsrs r3, r2, #5 807f5ce: 499a ldr r1, [pc, #616] ; (807f838 ) 807f5d0: fba1 1303 umull r1, r3, r1, r3 807f5d4: 09db lsrs r3, r3, #7 807f5d6: 4999 ldr r1, [pc, #612] ; (807f83c ) 807f5d8: fb01 f303 mul.w r3, r1, r3 807f5dc: 1ad3 subs r3, r2, r3 807f5de: 4a98 ldr r2, [pc, #608] ; (807f840 ) 807f5e0: fba2 1203 umull r1, r2, r2, r3 807f5e4: 0b52 lsrs r2, r2, #13 807f5e6: f242 7110 movw r1, #10000 ; 0x2710 807f5ea: fb01 f202 mul.w r2, r1, r2 807f5ee: 1a9a subs r2, r3, r2 807f5f0: 4b94 ldr r3, [pc, #592] ; (807f844 ) 807f5f2: fba3 1302 umull r1, r3, r3, r2 807f5f6: 099b lsrs r3, r3, #6 807f5f8: f44f 717a mov.w r1, #1000 ; 0x3e8 807f5fc: fb01 f303 mul.w r3, r1, r3 807f600: 1ad3 subs r3, r2, r3 807f602: 4a91 ldr r2, [pc, #580] ; (807f848 ) 807f604: fba2 1203 umull r1, r2, r2, r3 807f608: 0952 lsrs r2, r2, #5 807f60a: 2164 movs r1, #100 ; 0x64 807f60c: fb01 f202 mul.w r2, r1, r2 807f610: 1a9a subs r2, r3, r2 807f612: 4b8e ldr r3, [pc, #568] ; (807f84c ) 807f614: fba3 2302 umull r2, r3, r3, r2 807f618: 08db lsrs r3, r3, #3 807f61a: b2db uxtb r3, r3 807f61c: f887 3397 strb.w r3, [r7, #919] ; 0x397 angle_ikt = k % 100000 % 10000 % 1000 % 100 % 10; 807f620: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f624: 0953 lsrs r3, r2, #5 807f626: 4984 ldr r1, [pc, #528] ; (807f838 ) 807f628: fba1 1303 umull r1, r3, r1, r3 807f62c: 09db lsrs r3, r3, #7 807f62e: 4983 ldr r1, [pc, #524] ; (807f83c ) 807f630: fb01 f303 mul.w r3, r1, r3 807f634: 1ad3 subs r3, r2, r3 807f636: 4a82 ldr r2, [pc, #520] ; (807f840 ) 807f638: fba2 1203 umull r1, r2, r2, r3 807f63c: 0b52 lsrs r2, r2, #13 807f63e: f242 7110 movw r1, #10000 ; 0x2710 807f642: fb01 f202 mul.w r2, r1, r2 807f646: 1a9a subs r2, r3, r2 807f648: 4b7e ldr r3, [pc, #504] ; (807f844 ) 807f64a: fba3 1302 umull r1, r3, r3, r2 807f64e: 099b lsrs r3, r3, #6 807f650: f44f 717a mov.w r1, #1000 ; 0x3e8 807f654: fb01 f303 mul.w r3, r1, r3 807f658: 1ad3 subs r3, r2, r3 807f65a: 4a7b ldr r2, [pc, #492] ; (807f848 ) 807f65c: fba2 1203 umull r1, r2, r2, r3 807f660: 0952 lsrs r2, r2, #5 807f662: 2164 movs r1, #100 ; 0x64 807f664: fb01 f202 mul.w r2, r1, r2 807f668: 1a9a subs r2, r3, r2 807f66a: 4b78 ldr r3, [pc, #480] ; (807f84c ) 807f66c: fba3 1302 umull r1, r3, r3, r2 807f670: 08d9 lsrs r1, r3, #3 807f672: 460b mov r3, r1 807f674: 009b lsls r3, r3, #2 807f676: 440b add r3, r1 807f678: 005b lsls r3, r3, #1 807f67a: 1ad1 subs r1, r2, r3 807f67c: b2cb uxtb r3, r1 807f67e: f887 3396 strb.w r3, [r7, #918] ; 0x396 i = 0; 807f682: 2300 movs r3, #0 807f684: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_angle, 0, sizeof(str_angle)); 807f688: f507 734f add.w r3, r7, #828 ; 0x33c 807f68c: 2214 movs r2, #20 807f68e: 2100 movs r1, #0 807f690: 4618 mov r0, r3 807f692: f04d fcf5 bl 80cd080 if(angle_ies != 0) 807f696: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 807f69a: b2db uxtb r3, r3 807f69c: 2b00 cmp r3, #0 807f69e: d00c beq.n 807f6ba str_angle[i++] = angle_ies + 48; 807f6a0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f6a4: 1c5a adds r2, r3, #1 807f6a6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f6aa: f897 239b ldrb.w r2, [r7, #923] ; 0x39b 807f6ae: b2d2 uxtb r2, r2 807f6b0: 3230 adds r2, #48 ; 0x30 807f6b2: b2d1 uxtb r1, r2 807f6b4: f507 724f add.w r2, r7, #828 ; 0x33c 807f6b8: 54d1 strb r1, [r2, r3] if((angle_ies != 0) || (angle_ied != 0)) 807f6ba: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 807f6be: b2db uxtb r3, r3 807f6c0: 2b00 cmp r3, #0 807f6c2: d104 bne.n 807f6ce 807f6c4: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 807f6c8: b2db uxtb r3, r3 807f6ca: 2b00 cmp r3, #0 807f6cc: d00c beq.n 807f6e8 str_angle[i++] = angle_ied + 48; 807f6ce: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f6d2: 1c5a adds r2, r3, #1 807f6d4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f6d8: f897 239a ldrb.w r2, [r7, #922] ; 0x39a 807f6dc: b2d2 uxtb r2, r2 807f6de: 3230 adds r2, #48 ; 0x30 807f6e0: b2d1 uxtb r1, r2 807f6e2: f507 724f add.w r2, r7, #828 ; 0x33c 807f6e6: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_iee + 48; 807f6e8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f6ec: 1c5a adds r2, r3, #1 807f6ee: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f6f2: f897 2399 ldrb.w r2, [r7, #921] ; 0x399 807f6f6: b2d2 uxtb r2, r2 807f6f8: 3230 adds r2, #48 ; 0x30 807f6fa: b2d1 uxtb r1, r2 807f6fc: f507 724f add.w r2, r7, #828 ; 0x33c 807f700: 54d1 strb r1, [r2, r3] str_angle[i++] = '.'; 807f702: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f706: 1c5a adds r2, r3, #1 807f708: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f70c: f507 724f add.w r2, r7, #828 ; 0x33c 807f710: 212e movs r1, #46 ; 0x2e 807f712: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_ikd + 48; 807f714: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f718: 1c5a adds r2, r3, #1 807f71a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f71e: f897 2398 ldrb.w r2, [r7, #920] ; 0x398 807f722: b2d2 uxtb r2, r2 807f724: 3230 adds r2, #48 ; 0x30 807f726: b2d1 uxtb r1, r2 807f728: f507 724f add.w r2, r7, #828 ; 0x33c 807f72c: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_iks + 48; 807f72e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f732: 1c5a adds r2, r3, #1 807f734: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f738: f897 2397 ldrb.w r2, [r7, #919] ; 0x397 807f73c: b2d2 uxtb r2, r2 807f73e: 3230 adds r2, #48 ; 0x30 807f740: b2d1 uxtb r1, r2 807f742: f507 724f add.w r2, r7, #828 ; 0x33c 807f746: 54d1 strb r1, [r2, r3] str_angle[i++] = angle_ikt + 48; 807f748: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 807f74c: 1c5a adds r2, r3, #1 807f74e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 807f752: f897 2396 ldrb.w r2, [r7, #918] ; 0x396 807f756: b2d2 uxtb r2, r2 807f758: 3230 adds r2, #48 ; 0x30 807f75a: b2d1 uxtb r1, r2 807f75c: f507 724f add.w r2, r7, #828 ; 0x33c 807f760: 54d1 strb r1, [r2, r3] ///////////////////////////////////////////////////////////// k = pardata.D_RATE; 807f762: 4b33 ldr r3, [pc, #204] ; (807f830 ) 807f764: f8d3 30d0 ldr.w r3, [r3, #208] ; 0xd0 807f768: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 rate_iet = k / 1000; 807f76c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f770: 4a34 ldr r2, [pc, #208] ; (807f844 ) 807f772: fba2 2303 umull r2, r3, r2, r3 807f776: 099b lsrs r3, r3, #6 807f778: b2db uxtb r3, r3 807f77a: f887 3394 strb.w r3, [r7, #916] ; 0x394 rate_ies = k % 1000 / 100; 807f77e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f782: 4b30 ldr r3, [pc, #192] ; (807f844 ) 807f784: fba3 1302 umull r1, r3, r3, r2 807f788: 099b lsrs r3, r3, #6 807f78a: f44f 717a mov.w r1, #1000 ; 0x3e8 807f78e: fb01 f303 mul.w r3, r1, r3 807f792: 1ad3 subs r3, r2, r3 807f794: 4a2c ldr r2, [pc, #176] ; (807f848 ) 807f796: fba2 2303 umull r2, r3, r2, r3 807f79a: 095b lsrs r3, r3, #5 807f79c: b2db uxtb r3, r3 807f79e: f887 3393 strb.w r3, [r7, #915] ; 0x393 rate_ied = k % 1000 % 100 / 10; 807f7a2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f7a6: 4b27 ldr r3, [pc, #156] ; (807f844 ) 807f7a8: fba3 1302 umull r1, r3, r3, r2 807f7ac: 099b lsrs r3, r3, #6 807f7ae: f44f 717a mov.w r1, #1000 ; 0x3e8 807f7b2: fb01 f303 mul.w r3, r1, r3 807f7b6: 1ad3 subs r3, r2, r3 807f7b8: 4a23 ldr r2, [pc, #140] ; (807f848 ) 807f7ba: fba2 1203 umull r1, r2, r2, r3 807f7be: 0952 lsrs r2, r2, #5 807f7c0: 2164 movs r1, #100 ; 0x64 807f7c2: fb01 f202 mul.w r2, r1, r2 807f7c6: 1a9a subs r2, r3, r2 807f7c8: 4b20 ldr r3, [pc, #128] ; (807f84c ) 807f7ca: fba3 2302 umull r2, r3, r3, r2 807f7ce: 08db lsrs r3, r3, #3 807f7d0: b2db uxtb r3, r3 807f7d2: f887 3392 strb.w r3, [r7, #914] ; 0x392 rate_iee = k % 1000 % 100 % 10; 807f7d6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 807f7da: 4b1a ldr r3, [pc, #104] ; (807f844 ) 807f7dc: fba3 1302 umull r1, r3, r3, r2 807f7e0: 099b lsrs r3, r3, #6 807f7e2: f44f 717a mov.w r1, #1000 ; 0x3e8 807f7e6: fb01 f303 mul.w r3, r1, r3 807f7ea: 1ad3 subs r3, r2, r3 807f7ec: 4a16 ldr r2, [pc, #88] ; (807f848 ) 807f7ee: fba2 1203 umull r1, r2, r2, r3 807f7f2: 0952 lsrs r2, r2, #5 807f7f4: 2164 movs r1, #100 ; 0x64 807f7f6: fb01 f202 mul.w r2, r1, r2 807f7fa: 1a9a subs r2, r3, r2 807f7fc: 4b13 ldr r3, [pc, #76] ; (807f84c ) 807f7fe: fba3 1302 umull r1, r3, r3, r2 807f802: 08d9 lsrs r1, r3, #3 807f804: 460b mov r3, r1 807f806: 009b lsls r3, r3, #2 807f808: 440b add r3, r1 807f80a: 005b lsls r3, r3, #1 807f80c: 1ad1 subs r1, r2, r3 807f80e: b2cb uxtb r3, r1 807f810: f887 3391 strb.w r3, [r7, #913] ; 0x391 memset(str_rate, 0, sizeof(str_rate)); 807f814: f507 734a add.w r3, r7, #808 ; 0x328 807f818: 2214 movs r2, #20 807f81a: 2100 movs r1, #0 807f81c: 4618 mov r0, r3 807f81e: f04d fc2f bl 80cd080 if(k >= 1000) 807f822: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f826: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 807f82a: d332 bcc.n 807f892 807f82c: e010 b.n 807f850 807f82e: bf00 nop 807f830: 20023e60 .word 0x20023e60 807f834: 447a0000 .word 0x447a0000 807f838: 0a7c5ac5 .word 0x0a7c5ac5 807f83c: 000186a0 .word 0x000186a0 807f840: d1b71759 .word 0xd1b71759 807f844: 10624dd3 .word 0x10624dd3 807f848: 51eb851f .word 0x51eb851f 807f84c: cccccccd .word 0xcccccccd { str_rate[0] = rate_iet + 48; 807f850: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 807f854: b2db uxtb r3, r3 807f856: 3330 adds r3, #48 ; 0x30 807f858: b2da uxtb r2, r3 807f85a: f507 734a add.w r3, r7, #808 ; 0x328 807f85e: 701a strb r2, [r3, #0] str_rate[1] = rate_ies + 48; 807f860: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807f864: b2db uxtb r3, r3 807f866: 3330 adds r3, #48 ; 0x30 807f868: b2da uxtb r2, r3 807f86a: f507 734a add.w r3, r7, #808 ; 0x328 807f86e: 705a strb r2, [r3, #1] str_rate[2] = rate_ied + 48; 807f870: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807f874: b2db uxtb r3, r3 807f876: 3330 adds r3, #48 ; 0x30 807f878: b2da uxtb r2, r3 807f87a: f507 734a add.w r3, r7, #808 ; 0x328 807f87e: 709a strb r2, [r3, #2] str_rate[3] = rate_iee + 48; 807f880: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f884: b2db uxtb r3, r3 807f886: 3330 adds r3, #48 ; 0x30 807f888: b2da uxtb r2, r3 807f88a: f507 734a add.w r3, r7, #808 ; 0x328 807f88e: 70da strb r2, [r3, #3] 807f890: e039 b.n 807f906 } else if(k >= 100) 807f892: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f896: 2b63 cmp r3, #99 ; 0x63 807f898: d918 bls.n 807f8cc { str_rate[0] = rate_ies + 48; 807f89a: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 807f89e: b2db uxtb r3, r3 807f8a0: 3330 adds r3, #48 ; 0x30 807f8a2: b2da uxtb r2, r3 807f8a4: f507 734a add.w r3, r7, #808 ; 0x328 807f8a8: 701a strb r2, [r3, #0] str_rate[1] = rate_ied + 48; 807f8aa: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807f8ae: b2db uxtb r3, r3 807f8b0: 3330 adds r3, #48 ; 0x30 807f8b2: b2da uxtb r2, r3 807f8b4: f507 734a add.w r3, r7, #808 ; 0x328 807f8b8: 705a strb r2, [r3, #1] str_rate[2] = rate_iee + 48; 807f8ba: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f8be: b2db uxtb r3, r3 807f8c0: 3330 adds r3, #48 ; 0x30 807f8c2: b2da uxtb r2, r3 807f8c4: f507 734a add.w r3, r7, #808 ; 0x328 807f8c8: 709a strb r2, [r3, #2] 807f8ca: e01c b.n 807f906 } else if(k >= 10) 807f8cc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 807f8d0: 2b09 cmp r3, #9 807f8d2: d910 bls.n 807f8f6 { str_rate[0] = rate_ied + 48; 807f8d4: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 807f8d8: b2db uxtb r3, r3 807f8da: 3330 adds r3, #48 ; 0x30 807f8dc: b2da uxtb r2, r3 807f8de: f507 734a add.w r3, r7, #808 ; 0x328 807f8e2: 701a strb r2, [r3, #0] str_rate[1] = rate_iee + 48; 807f8e4: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f8e8: b2db uxtb r3, r3 807f8ea: 3330 adds r3, #48 ; 0x30 807f8ec: b2da uxtb r2, r3 807f8ee: f507 734a add.w r3, r7, #808 ; 0x328 807f8f2: 705a strb r2, [r3, #1] 807f8f4: e007 b.n 807f906 } else str_rate[0] = rate_iee + 48; 807f8f6: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 807f8fa: b2db uxtb r3, r3 807f8fc: 3330 adds r3, #48 ; 0x30 807f8fe: b2da uxtb r2, r3 807f900: f507 734a add.w r3, r7, #808 ; 0x328 807f904: 701a strb r2, [r3, #0] //////////////////////////////////////////////////////////// memset(str1, 0, sizeof(str1)); 807f906: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807f90a: f44f 7280 mov.w r2, #256 ; 0x100 807f90e: 2100 movs r1, #0 807f910: 4618 mov r0, r3 807f912: f04d fbb5 bl 80cd080 if(pardata.ROLL_COUNT < 10) 807f916: 4bc3 ldr r3, [pc, #780] ; (807fc24 ) 807f918: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 807f91c: 2b09 cmp r3, #9 807f91e: d809 bhi.n 807f934 str1[0] = (char) pardata.ROLL_COUNT + 48; 807f920: 4bc0 ldr r3, [pc, #768] ; (807fc24 ) 807f922: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 807f926: b2db uxtb r3, r3 807f928: 3330 adds r3, #48 ; 0x30 807f92a: b2da uxtb r2, r3 807f92c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807f930: 701a strb r2, [r3, #0] 807f932: e01e b.n 807f972 else { str1[0] = (char) ((pardata.ROLL_COUNT / 10) + 48); 807f934: 4bbb ldr r3, [pc, #748] ; (807fc24 ) 807f936: f8d3 30bc ldr.w r3, [r3, #188] ; 0xbc 807f93a: 4abb ldr r2, [pc, #748] ; (807fc28 ) 807f93c: fba2 2303 umull r2, r3, r2, r3 807f940: 08db lsrs r3, r3, #3 807f942: b2db uxtb r3, r3 807f944: 3330 adds r3, #48 ; 0x30 807f946: b2da uxtb r2, r3 807f948: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807f94c: 701a strb r2, [r3, #0] str1[1] = (char) ((pardata.ROLL_COUNT % 10) + 48); 807f94e: 4bb5 ldr r3, [pc, #724] ; (807fc24 ) 807f950: f8d3 10bc ldr.w r1, [r3, #188] ; 0xbc 807f954: 4bb4 ldr r3, [pc, #720] ; (807fc28 ) 807f956: fba3 2301 umull r2, r3, r3, r1 807f95a: 08da lsrs r2, r3, #3 807f95c: 4613 mov r3, r2 807f95e: 009b lsls r3, r3, #2 807f960: 4413 add r3, r2 807f962: 005b lsls r3, r3, #1 807f964: 1aca subs r2, r1, r3 807f966: b2d3 uxtb r3, r2 807f968: 3330 adds r3, #48 ; 0x30 807f96a: b2da uxtb r2, r3 807f96c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807f970: 705a strb r2, [r3, #1] } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807f972: 49ae ldr r1, [pc, #696] ; (807fc2c ) 807f974: f04f 30ff mov.w r0, #4294967295 807f978: f7d3 ff34 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, (char *)TEXT_PARAM_ROLL[pardata.LANG][0]); //"Êîë-âî òåë êà÷åíèÿ" 807f97c: 4ba9 ldr r3, [pc, #676] ; (807fc24 ) 807f97e: 7b1b ldrb r3, [r3, #12] 807f980: b2db uxtb r3, r3 807f982: 4619 mov r1, r3 807f984: 4aaa ldr r2, [pc, #680] ; (807fc30 ) 807f986: 460b mov r3, r1 807f988: 00db lsls r3, r3, #3 807f98a: 440b add r3, r1 807f98c: 009b lsls r3, r3, #2 807f98e: 4413 add r3, r2 807f990: 681b ldr r3, [r3, #0] 807f992: 461a mov r2, r3 807f994: 214a movs r1, #74 ; 0x4a 807f996: 200a movs r0, #10 807f998: f7d4 fccc bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *)TEXT_PARAM_ROLL[pardata.LANG][1]); //"d òåë êà÷åíèÿ (ìì)" 807f99c: 4ba1 ldr r3, [pc, #644] ; (807fc24 ) 807f99e: 7b1b ldrb r3, [r3, #12] 807f9a0: b2db uxtb r3, r3 807f9a2: 4619 mov r1, r3 807f9a4: 4aa2 ldr r2, [pc, #648] ; (807fc30 ) 807f9a6: 460b mov r3, r1 807f9a8: 00db lsls r3, r3, #3 807f9aa: 440b add r3, r1 807f9ac: 009b lsls r3, r3, #2 807f9ae: 4413 add r3, r2 807f9b0: 3304 adds r3, #4 807f9b2: 681b ldr r3, [r3, #0] 807f9b4: 461a mov r2, r3 807f9b6: 215a movs r1, #90 ; 0x5a 807f9b8: 200a movs r0, #10 807f9ba: f7d4 fcbb bl 8054334 LCD_DisplayString(10, LCD_LINE_6, (char *)TEXT_PARAM_ROLL[pardata.LANG][2]); //"Âíåø.d (ìì)" 807f9be: 4b99 ldr r3, [pc, #612] ; (807fc24 ) 807f9c0: 7b1b ldrb r3, [r3, #12] 807f9c2: b2db uxtb r3, r3 807f9c4: 4619 mov r1, r3 807f9c6: 4a9a ldr r2, [pc, #616] ; (807fc30 ) 807f9c8: 460b mov r3, r1 807f9ca: 00db lsls r3, r3, #3 807f9cc: 440b add r3, r1 807f9ce: 009b lsls r3, r3, #2 807f9d0: 4413 add r3, r2 807f9d2: 3308 adds r3, #8 807f9d4: 681b ldr r3, [r3, #0] 807f9d6: 461a mov r2, r3 807f9d8: 216a movs r1, #106 ; 0x6a 807f9da: 200a movs r0, #10 807f9dc: f7d4 fcaa bl 8054334 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_ROLL[pardata.LANG][3]); //"Âíóòð.d (ìì)" 807f9e0: 4b90 ldr r3, [pc, #576] ; (807fc24 ) 807f9e2: 7b1b ldrb r3, [r3, #12] 807f9e4: b2db uxtb r3, r3 807f9e6: 4619 mov r1, r3 807f9e8: 4a91 ldr r2, [pc, #580] ; (807fc30 ) 807f9ea: 460b mov r3, r1 807f9ec: 00db lsls r3, r3, #3 807f9ee: 440b add r3, r1 807f9f0: 009b lsls r3, r3, #2 807f9f2: 4413 add r3, r2 807f9f4: 330c adds r3, #12 807f9f6: 681b ldr r3, [r3, #0] 807f9f8: 461a mov r2, r3 807f9fa: 217a movs r1, #122 ; 0x7a 807f9fc: 200a movs r0, #10 807f9fe: f7d4 fc99 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, (char *)TEXT_PARAM_ROLL[pardata.LANG][4]); //"Óãîë óñòàíîâ.(ãðàä)" 807fa02: 4b88 ldr r3, [pc, #544] ; (807fc24 ) 807fa04: 7b1b ldrb r3, [r3, #12] 807fa06: b2db uxtb r3, r3 807fa08: 4619 mov r1, r3 807fa0a: 4a89 ldr r2, [pc, #548] ; (807fc30 ) 807fa0c: 460b mov r3, r1 807fa0e: 00db lsls r3, r3, #3 807fa10: 440b add r3, r1 807fa12: 009b lsls r3, r3, #2 807fa14: 4413 add r3, r2 807fa16: 3310 adds r3, #16 807fa18: 681b ldr r3, [r3, #0] 807fa1a: 461a mov r2, r3 807fa1c: 218a movs r1, #138 ; 0x8a 807fa1e: 200a movs r0, #10 807fa20: f7d4 fc88 bl 8054334 LCD_DisplayString(10, LCD_LINE_9, (char *)TEXT_PARAM_ROLL[pardata.LANG][5]); //"Óñðåäíåíèå(êîë-âî)" 807fa24: 4b7f ldr r3, [pc, #508] ; (807fc24 ) 807fa26: 7b1b ldrb r3, [r3, #12] 807fa28: b2db uxtb r3, r3 807fa2a: 4619 mov r1, r3 807fa2c: 4a80 ldr r2, [pc, #512] ; (807fc30 ) 807fa2e: 460b mov r3, r1 807fa30: 00db lsls r3, r3, #3 807fa32: 440b add r3, r1 807fa34: 009b lsls r3, r3, #2 807fa36: 4413 add r3, r2 807fa38: 3314 adds r3, #20 807fa3a: 681b ldr r3, [r3, #0] 807fa3c: 461a mov r2, r3 807fa3e: 219a movs r1, #154 ; 0x9a 807fa40: 200a movs r0, #10 807fa42: f7d4 fc77 bl 8054334 LCD_DisplayString(10, LCD_LINE_10, (char *)TEXT_PARAM_ROLL[pardata.LANG][6]); //"Àâòîóñèëåíèå" 807fa46: 4b77 ldr r3, [pc, #476] ; (807fc24 ) 807fa48: 7b1b ldrb r3, [r3, #12] 807fa4a: b2db uxtb r3, r3 807fa4c: 4619 mov r1, r3 807fa4e: 4a78 ldr r2, [pc, #480] ; (807fc30 ) 807fa50: 460b mov r3, r1 807fa52: 00db lsls r3, r3, #3 807fa54: 440b add r3, r1 807fa56: 009b lsls r3, r3, #2 807fa58: 4413 add r3, r2 807fa5a: 3318 adds r3, #24 807fa5c: 681b ldr r3, [r3, #0] 807fa5e: 461a mov r2, r3 807fa60: 21aa movs r1, #170 ; 0xaa 807fa62: 200a movs r0, #10 807fa64: f7d4 fc66 bl 8054334 LCD_DisplayString(10, LCD_LINE_12, (char *)TEXT_PARAM_ROLL[pardata.LANG][8]); //"×àñòîòà âðàù.(îá/ìèí)" 807fa68: 4b6e ldr r3, [pc, #440] ; (807fc24 ) 807fa6a: 7b1b ldrb r3, [r3, #12] 807fa6c: b2db uxtb r3, r3 807fa6e: 4619 mov r1, r3 807fa70: 4a6f ldr r2, [pc, #444] ; (807fc30 ) 807fa72: 460b mov r3, r1 807fa74: 00db lsls r3, r3, #3 807fa76: 440b add r3, r1 807fa78: 009b lsls r3, r3, #2 807fa7a: 4413 add r3, r2 807fa7c: 3320 adds r3, #32 807fa7e: 681b ldr r3, [r3, #0] 807fa80: 461a mov r2, r3 807fa82: 21ca movs r1, #202 ; 0xca 807fa84: 200a movs r0, #10 807fa86: f7d4 fc55 bl 8054334 if(menupos == RollAutoKu) 807fa8a: 4b6a ldr r3, [pc, #424] ; (807fc34 ) 807fa8c: 781b ldrb r3, [r3, #0] 807fa8e: b2db uxtb r3, r3 807fa90: 2b07 cmp r3, #7 807fa92: d10a bne.n 807faaa { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807fa94: 4965 ldr r1, [pc, #404] ; (807fc2c ) 807fa96: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807fa9a: f7d3 fea3 bl 80537e4 BSP_LCD_FillRect(253, 171, 14, 14); 807fa9e: 230e movs r3, #14 807faa0: 220e movs r2, #14 807faa2: 21ab movs r1, #171 ; 0xab 807faa4: 20fd movs r0, #253 ; 0xfd 807faa6: f7d4 fb2b bl 8054100 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807faaa: 4960 ldr r1, [pc, #384] ; (807fc2c ) 807faac: f04f 30ff mov.w r0, #4294967295 807fab0: f7d3 fe98 bl 80537e4 BSP_LCD_FillRect(255, 173, 10, 10); 807fab4: 230a movs r3, #10 807fab6: 220a movs r2, #10 807fab8: 21ad movs r1, #173 ; 0xad 807faba: 20ff movs r0, #255 ; 0xff 807fabc: f7d4 fb20 bl 8054100 if(menupos == Ok) 807fac0: 4b5c ldr r3, [pc, #368] ; (807fc34 ) 807fac2: 781b ldrb r3, [r3, #0] 807fac4: b2db uxtb r3, r3 807fac6: 2b00 cmp r3, #0 807fac8: f040 80df bne.w 807fc8a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807facc: 4957 ldr r1, [pc, #348] ; (807fc2c ) 807face: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807fad2: f7d3 fe87 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807fad6: 4b53 ldr r3, [pc, #332] ; (807fc24 ) 807fad8: 7b1b ldrb r3, [r3, #12] 807fada: b2db uxtb r3, r3 807fadc: 461a mov r2, r3 807fade: 4b56 ldr r3, [pc, #344] ; (807fc38 ) 807fae0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fae4: 461a mov r2, r3 807fae6: 213a movs r1, #58 ; 0x3a 807fae8: 200a movs r0, #10 807faea: f7d4 fc23 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807faee: 494f ldr r1, [pc, #316] ; (807fc2c ) 807faf0: 4852 ldr r0, [pc, #328] ; (807fc3c ) 807faf2: f7d3 fe77 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 807faf6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807fafa: 461a mov r2, r3 807fafc: 214a movs r1, #74 ; 0x4a 807fafe: f44f 7082 mov.w r0, #260 ; 0x104 807fb02: f7d4 fc2f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 807fb06: f507 735e add.w r3, r7, #888 ; 0x378 807fb0a: 461a mov r2, r3 807fb0c: 215a movs r1, #90 ; 0x5a 807fb0e: f44f 7082 mov.w r0, #260 ; 0x104 807fb12: f7d4 fc27 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 807fb16: f507 7359 add.w r3, r7, #868 ; 0x364 807fb1a: 461a mov r2, r3 807fb1c: 216a movs r1, #106 ; 0x6a 807fb1e: f44f 7082 mov.w r0, #260 ; 0x104 807fb22: f7d4 fc1f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 807fb26: f507 7354 add.w r3, r7, #848 ; 0x350 807fb2a: 461a mov r2, r3 807fb2c: 217a movs r1, #122 ; 0x7a 807fb2e: f44f 7082 mov.w r0, #260 ; 0x104 807fb32: f7d4 fc17 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 807fb36: f507 734f add.w r3, r7, #828 ; 0x33c 807fb3a: 461a mov r2, r3 807fb3c: 218a movs r1, #138 ; 0x8a 807fb3e: f44f 7082 mov.w r0, #260 ; 0x104 807fb42: f7d4 fc0f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 807fb46: 4b37 ldr r3, [pc, #220] ; (807fc24 ) 807fb48: 7b5b ldrb r3, [r3, #13] 807fb4a: b2db uxtb r3, r3 807fb4c: 461a mov r2, r3 807fb4e: 4b3c ldr r3, [pc, #240] ; (807fc40 ) 807fb50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fb54: 461a mov r2, r3 807fb56: 219a movs r1, #154 ; 0x9a 807fb58: f44f 7082 mov.w r0, #260 ; 0x104 807fb5c: f7d4 fc02 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 807fb60: f507 734a add.w r3, r7, #808 ; 0x328 807fb64: 461a mov r2, r3 807fb66: 21ca movs r1, #202 ; 0xca 807fb68: f44f 7082 mov.w r0, #260 ; 0x104 807fb6c: f7d4 fbfa bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807fb70: 4b2c ldr r3, [pc, #176] ; (807fc24 ) 807fb72: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807fb76: f003 0304 and.w r3, r3, #4 807fb7a: 2b00 cmp r3, #0 807fb7c: d035 beq.n 807fbea { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807fb7e: 492b ldr r1, [pc, #172] ; (807fc2c ) 807fb80: 4830 ldr r0, [pc, #192] ; (807fc44 ) 807fb82: f7d3 fe2f bl 80537e4 if(pardata.IIN != VOLTS) 807fb86: 4b27 ldr r3, [pc, #156] ; (807fc24 ) 807fb88: 799b ldrb r3, [r3, #6] 807fb8a: b2db uxtb r3, r3 807fb8c: 2b02 cmp r3, #2 807fb8e: d011 beq.n 807fbb4 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 807fb90: 4b24 ldr r3, [pc, #144] ; (807fc24 ) 807fb92: 7b1b ldrb r3, [r3, #12] 807fb94: b2db uxtb r3, r3 807fb96: 4619 mov r1, r3 807fb98: 4a25 ldr r2, [pc, #148] ; (807fc30 ) 807fb9a: 460b mov r3, r1 807fb9c: 00db lsls r3, r3, #3 807fb9e: 440b add r3, r1 807fba0: 009b lsls r3, r3, #2 807fba2: 4413 add r3, r2 807fba4: 331c adds r3, #28 807fba6: 681b ldr r3, [r3, #0] 807fba8: 461a mov r2, r3 807fbaa: 21ba movs r1, #186 ; 0xba 807fbac: 200a movs r0, #10 807fbae: f7d4 fbc1 bl 8054334 807fbb2: e010 b.n 807fbd6 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 807fbb4: 4b1b ldr r3, [pc, #108] ; (807fc24 ) 807fbb6: 7b1b ldrb r3, [r3, #12] 807fbb8: b2db uxtb r3, r3 807fbba: 4619 mov r1, r3 807fbbc: 4a22 ldr r2, [pc, #136] ; (807fc48 ) 807fbbe: 460b mov r3, r1 807fbc0: 00db lsls r3, r3, #3 807fbc2: 440b add r3, r1 807fbc4: 009b lsls r3, r3, #2 807fbc6: 4413 add r3, r2 807fbc8: 331c adds r3, #28 807fbca: 681b ldr r3, [r3, #0] 807fbcc: 461a mov r2, r3 807fbce: 21ba movs r1, #186 ; 0xba 807fbd0: 200a movs r0, #10 807fbd2: f7d4 fbaf bl 8054334 LCD_DisplayStringC(260, LCD_LINE_11, str); 807fbd6: f507 733b add.w r3, r7, #748 ; 0x2ec 807fbda: 461a mov r2, r3 807fbdc: 21ba movs r1, #186 ; 0xba 807fbde: f44f 7082 mov.w r0, #260 ; 0x104 807fbe2: f7d4 fbbf bl 8054364 807fbe6: f002 beeb b.w 80829c0 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807fbea: 4910 ldr r1, [pc, #64] ; (807fc2c ) 807fbec: f04f 30ff mov.w r0, #4294967295 807fbf0: f7d3 fdf8 bl 80537e4 if(pardata.IIN != VOLTS) 807fbf4: 4b0b ldr r3, [pc, #44] ; (807fc24 ) 807fbf6: 799b ldrb r3, [r3, #6] 807fbf8: b2db uxtb r3, r3 807fbfa: 2b02 cmp r3, #2 807fbfc: d026 beq.n 807fc4c LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 807fbfe: 4b09 ldr r3, [pc, #36] ; (807fc24 ) 807fc00: 7b1b ldrb r3, [r3, #12] 807fc02: b2db uxtb r3, r3 807fc04: 4619 mov r1, r3 807fc06: 4a0a ldr r2, [pc, #40] ; (807fc30 ) 807fc08: 460b mov r3, r1 807fc0a: 00db lsls r3, r3, #3 807fc0c: 440b add r3, r1 807fc0e: 009b lsls r3, r3, #2 807fc10: 4413 add r3, r2 807fc12: 331c adds r3, #28 807fc14: 681b ldr r3, [r3, #0] 807fc16: 461a mov r2, r3 807fc18: 21ba movs r1, #186 ; 0xba 807fc1a: 200a movs r0, #10 807fc1c: f7d4 fb8a bl 8054334 807fc20: e025 b.n 807fc6e 807fc22: bf00 nop 807fc24: 20023e60 .word 0x20023e60 807fc28: cccccccd .word 0xcccccccd 807fc2c: ff0a0f1f .word 0xff0a0f1f 807fc30: 20020764 .word 0x20020764 807fc34: 20020070 .word 0x20020070 807fc38: 200205c4 .word 0x200205c4 807fc3c: ffd8aa57 .word 0xffd8aa57 807fc40: 20020224 .word 0x20020224 807fc44: ff808080 .word 0xff808080 807fc48: 200207ac .word 0x200207ac else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 807fc4c: 4bcf ldr r3, [pc, #828] ; (807ff8c ) 807fc4e: 7b1b ldrb r3, [r3, #12] 807fc50: b2db uxtb r3, r3 807fc52: 4619 mov r1, r3 807fc54: 4ace ldr r2, [pc, #824] ; (807ff90 ) 807fc56: 460b mov r3, r1 807fc58: 00db lsls r3, r3, #3 807fc5a: 440b add r3, r1 807fc5c: 009b lsls r3, r3, #2 807fc5e: 4413 add r3, r2 807fc60: 331c adds r3, #28 807fc62: 681b ldr r3, [r3, #0] 807fc64: 461a mov r2, r3 807fc66: 21ba movs r1, #186 ; 0xba 807fc68: 200a movs r0, #10 807fc6a: f7d4 fb63 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807fc6e: 49c9 ldr r1, [pc, #804] ; (807ff94 ) 807fc70: 48c9 ldr r0, [pc, #804] ; (807ff98 ) 807fc72: f7d3 fdb7 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, str); 807fc76: f507 733b add.w r3, r7, #748 ; 0x2ec 807fc7a: 461a mov r2, r3 807fc7c: 21ba movs r1, #186 ; 0xba 807fc7e: f44f 7082 mov.w r0, #260 ; 0x104 807fc82: f7d4 fb6f bl 8054364 807fc86: f002 be9b b.w 80829c0 } } else if(menupos == RollCount) 807fc8a: 4bc4 ldr r3, [pc, #784] ; (807ff9c ) 807fc8c: 781b ldrb r3, [r3, #0] 807fc8e: b2db uxtb r3, r3 807fc90: 2b01 cmp r3, #1 807fc92: f040 80e1 bne.w 807fe58 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807fc96: 49bf ldr r1, [pc, #764] ; (807ff94 ) 807fc98: f04f 30ff mov.w r0, #4294967295 807fc9c: f7d3 fda2 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807fca0: 4bba ldr r3, [pc, #744] ; (807ff8c ) 807fca2: 7b1b ldrb r3, [r3, #12] 807fca4: b2db uxtb r3, r3 807fca6: 461a mov r2, r3 807fca8: 4bbd ldr r3, [pc, #756] ; (807ffa0 ) 807fcaa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fcae: 461a mov r2, r3 807fcb0: 213a movs r1, #58 ; 0x3a 807fcb2: 200a movs r0, #10 807fcb4: f7d4 fb3e bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807fcb8: 49b6 ldr r1, [pc, #728] ; (807ff94 ) 807fcba: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807fcbe: f7d3 fd91 bl 80537e4 if(focused) 807fcc2: 4bb8 ldr r3, [pc, #736] ; (807ffa4 ) 807fcc4: 781b ldrb r3, [r3, #0] 807fcc6: b2db uxtb r3, r3 807fcc8: 2b00 cmp r3, #0 807fcca: d00c beq.n 807fce6 { if(blk) 807fccc: 4bb6 ldr r3, [pc, #728] ; (807ffa8 ) 807fcce: 681b ldr r3, [r3, #0] 807fcd0: 2b00 cmp r3, #0 807fcd2: d010 beq.n 807fcf6 LCD_DisplayStringC(260, LCD_LINE_4, str1); 807fcd4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807fcd8: 461a mov r2, r3 807fcda: 214a movs r1, #74 ; 0x4a 807fcdc: f44f 7082 mov.w r0, #260 ; 0x104 807fce0: f7d4 fb40 bl 8054364 807fce4: e007 b.n 807fcf6 } else LCD_DisplayStringC(260, LCD_LINE_4, str1); 807fce6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807fcea: 461a mov r2, r3 807fcec: 214a movs r1, #74 ; 0x4a 807fcee: f44f 7082 mov.w r0, #260 ; 0x104 807fcf2: f7d4 fb37 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807fcf6: 49a7 ldr r1, [pc, #668] ; (807ff94 ) 807fcf8: 48a7 ldr r0, [pc, #668] ; (807ff98 ) 807fcfa: f7d3 fd73 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 807fcfe: f507 735e add.w r3, r7, #888 ; 0x378 807fd02: 461a mov r2, r3 807fd04: 215a movs r1, #90 ; 0x5a 807fd06: f44f 7082 mov.w r0, #260 ; 0x104 807fd0a: f7d4 fb2b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 807fd0e: f507 7359 add.w r3, r7, #868 ; 0x364 807fd12: 461a mov r2, r3 807fd14: 216a movs r1, #106 ; 0x6a 807fd16: f44f 7082 mov.w r0, #260 ; 0x104 807fd1a: f7d4 fb23 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 807fd1e: f507 7354 add.w r3, r7, #848 ; 0x350 807fd22: 461a mov r2, r3 807fd24: 217a movs r1, #122 ; 0x7a 807fd26: f44f 7082 mov.w r0, #260 ; 0x104 807fd2a: f7d4 fb1b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 807fd2e: f507 734f add.w r3, r7, #828 ; 0x33c 807fd32: 461a mov r2, r3 807fd34: 218a movs r1, #138 ; 0x8a 807fd36: f44f 7082 mov.w r0, #260 ; 0x104 807fd3a: f7d4 fb13 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 807fd3e: 4b93 ldr r3, [pc, #588] ; (807ff8c ) 807fd40: 7b5b ldrb r3, [r3, #13] 807fd42: b2db uxtb r3, r3 807fd44: 461a mov r2, r3 807fd46: 4b99 ldr r3, [pc, #612] ; (807ffac ) 807fd48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fd4c: 461a mov r2, r3 807fd4e: 219a movs r1, #154 ; 0x9a 807fd50: f44f 7082 mov.w r0, #260 ; 0x104 807fd54: f7d4 fb06 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 807fd58: f507 734a add.w r3, r7, #808 ; 0x328 807fd5c: 461a mov r2, r3 807fd5e: 21ca movs r1, #202 ; 0xca 807fd60: f44f 7082 mov.w r0, #260 ; 0x104 807fd64: f7d4 fafe bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807fd68: 4b88 ldr r3, [pc, #544] ; (807ff8c ) 807fd6a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807fd6e: f003 0304 and.w r3, r3, #4 807fd72: 2b00 cmp r3, #0 807fd74: d035 beq.n 807fde2 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807fd76: 4987 ldr r1, [pc, #540] ; (807ff94 ) 807fd78: 488d ldr r0, [pc, #564] ; (807ffb0 ) 807fd7a: f7d3 fd33 bl 80537e4 if(pardata.IIN != VOLTS) 807fd7e: 4b83 ldr r3, [pc, #524] ; (807ff8c ) 807fd80: 799b ldrb r3, [r3, #6] 807fd82: b2db uxtb r3, r3 807fd84: 2b02 cmp r3, #2 807fd86: d011 beq.n 807fdac LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 807fd88: 4b80 ldr r3, [pc, #512] ; (807ff8c ) 807fd8a: 7b1b ldrb r3, [r3, #12] 807fd8c: b2db uxtb r3, r3 807fd8e: 4619 mov r1, r3 807fd90: 4a88 ldr r2, [pc, #544] ; (807ffb4 ) 807fd92: 460b mov r3, r1 807fd94: 00db lsls r3, r3, #3 807fd96: 440b add r3, r1 807fd98: 009b lsls r3, r3, #2 807fd9a: 4413 add r3, r2 807fd9c: 331c adds r3, #28 807fd9e: 681b ldr r3, [r3, #0] 807fda0: 461a mov r2, r3 807fda2: 21ba movs r1, #186 ; 0xba 807fda4: 200a movs r0, #10 807fda6: f7d4 fac5 bl 8054334 807fdaa: e010 b.n 807fdce else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 807fdac: 4b77 ldr r3, [pc, #476] ; (807ff8c ) 807fdae: 7b1b ldrb r3, [r3, #12] 807fdb0: b2db uxtb r3, r3 807fdb2: 4619 mov r1, r3 807fdb4: 4a76 ldr r2, [pc, #472] ; (807ff90 ) 807fdb6: 460b mov r3, r1 807fdb8: 00db lsls r3, r3, #3 807fdba: 440b add r3, r1 807fdbc: 009b lsls r3, r3, #2 807fdbe: 4413 add r3, r2 807fdc0: 331c adds r3, #28 807fdc2: 681b ldr r3, [r3, #0] 807fdc4: 461a mov r2, r3 807fdc6: 21ba movs r1, #186 ; 0xba 807fdc8: 200a movs r0, #10 807fdca: f7d4 fab3 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_11, str); 807fdce: f507 733b add.w r3, r7, #748 ; 0x2ec 807fdd2: 461a mov r2, r3 807fdd4: 21ba movs r1, #186 ; 0xba 807fdd6: f44f 7082 mov.w r0, #260 ; 0x104 807fdda: f7d4 fac3 bl 8054364 807fdde: f002 bdef b.w 80829c0 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807fde2: 496c ldr r1, [pc, #432] ; (807ff94 ) 807fde4: f04f 30ff mov.w r0, #4294967295 807fde8: f7d3 fcfc bl 80537e4 if(pardata.IIN != VOLTS) 807fdec: 4b67 ldr r3, [pc, #412] ; (807ff8c ) 807fdee: 799b ldrb r3, [r3, #6] 807fdf0: b2db uxtb r3, r3 807fdf2: 2b02 cmp r3, #2 807fdf4: d011 beq.n 807fe1a LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 807fdf6: 4b65 ldr r3, [pc, #404] ; (807ff8c ) 807fdf8: 7b1b ldrb r3, [r3, #12] 807fdfa: b2db uxtb r3, r3 807fdfc: 4619 mov r1, r3 807fdfe: 4a6d ldr r2, [pc, #436] ; (807ffb4 ) 807fe00: 460b mov r3, r1 807fe02: 00db lsls r3, r3, #3 807fe04: 440b add r3, r1 807fe06: 009b lsls r3, r3, #2 807fe08: 4413 add r3, r2 807fe0a: 331c adds r3, #28 807fe0c: 681b ldr r3, [r3, #0] 807fe0e: 461a mov r2, r3 807fe10: 21ba movs r1, #186 ; 0xba 807fe12: 200a movs r0, #10 807fe14: f7d4 fa8e bl 8054334 807fe18: e010 b.n 807fe3c else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 807fe1a: 4b5c ldr r3, [pc, #368] ; (807ff8c ) 807fe1c: 7b1b ldrb r3, [r3, #12] 807fe1e: b2db uxtb r3, r3 807fe20: 4619 mov r1, r3 807fe22: 4a5b ldr r2, [pc, #364] ; (807ff90 ) 807fe24: 460b mov r3, r1 807fe26: 00db lsls r3, r3, #3 807fe28: 440b add r3, r1 807fe2a: 009b lsls r3, r3, #2 807fe2c: 4413 add r3, r2 807fe2e: 331c adds r3, #28 807fe30: 681b ldr r3, [r3, #0] 807fe32: 461a mov r2, r3 807fe34: 21ba movs r1, #186 ; 0xba 807fe36: 200a movs r0, #10 807fe38: f7d4 fa7c bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807fe3c: 4955 ldr r1, [pc, #340] ; (807ff94 ) 807fe3e: 4856 ldr r0, [pc, #344] ; (807ff98 ) 807fe40: f7d3 fcd0 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, str); 807fe44: f507 733b add.w r3, r7, #748 ; 0x2ec 807fe48: 461a mov r2, r3 807fe4a: 21ba movs r1, #186 ; 0xba 807fe4c: f44f 7082 mov.w r0, #260 ; 0x104 807fe50: f7d4 fa88 bl 8054364 807fe54: f002 bdb4 b.w 80829c0 } } else if(menupos == D_Roll) 807fe58: 4b50 ldr r3, [pc, #320] ; (807ff9c ) 807fe5a: 781b ldrb r3, [r3, #0] 807fe5c: b2db uxtb r3, r3 807fe5e: 2b02 cmp r3, #2 807fe60: f040 80e5 bne.w 808002e { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807fe64: 494b ldr r1, [pc, #300] ; (807ff94 ) 807fe66: f04f 30ff mov.w r0, #4294967295 807fe6a: f7d3 fcbb bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 807fe6e: 4b47 ldr r3, [pc, #284] ; (807ff8c ) 807fe70: 7b1b ldrb r3, [r3, #12] 807fe72: b2db uxtb r3, r3 807fe74: 461a mov r2, r3 807fe76: 4b4a ldr r3, [pc, #296] ; (807ffa0 ) 807fe78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fe7c: 461a mov r2, r3 807fe7e: 213a movs r1, #58 ; 0x3a 807fe80: 200a movs r0, #10 807fe82: f7d4 fa57 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 807fe86: 4943 ldr r1, [pc, #268] ; (807ff94 ) 807fe88: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 807fe8c: f7d3 fcaa bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 807fe90: f507 735e add.w r3, r7, #888 ; 0x378 807fe94: 461a mov r2, r3 807fe96: 215a movs r1, #90 ; 0x5a 807fe98: f44f 7082 mov.w r0, #260 ; 0x104 807fe9c: f7d4 fa62 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 807fea0: 493c ldr r1, [pc, #240] ; (807ff94 ) 807fea2: 483d ldr r0, [pc, #244] ; (807ff98 ) 807fea4: f7d3 fc9e bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 807fea8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 807feac: 461a mov r2, r3 807feae: 214a movs r1, #74 ; 0x4a 807feb0: f44f 7082 mov.w r0, #260 ; 0x104 807feb4: f7d4 fa56 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 807feb8: f507 7359 add.w r3, r7, #868 ; 0x364 807febc: 461a mov r2, r3 807febe: 216a movs r1, #106 ; 0x6a 807fec0: f44f 7082 mov.w r0, #260 ; 0x104 807fec4: f7d4 fa4e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 807fec8: f507 7354 add.w r3, r7, #848 ; 0x350 807fecc: 461a mov r2, r3 807fece: 217a movs r1, #122 ; 0x7a 807fed0: f44f 7082 mov.w r0, #260 ; 0x104 807fed4: f7d4 fa46 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 807fed8: f507 734f add.w r3, r7, #828 ; 0x33c 807fedc: 461a mov r2, r3 807fede: 218a movs r1, #138 ; 0x8a 807fee0: f44f 7082 mov.w r0, #260 ; 0x104 807fee4: f7d4 fa3e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 807fee8: 4b28 ldr r3, [pc, #160] ; (807ff8c ) 807feea: 7b5b ldrb r3, [r3, #13] 807feec: b2db uxtb r3, r3 807feee: 461a mov r2, r3 807fef0: 4b2e ldr r3, [pc, #184] ; (807ffac ) 807fef2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 807fef6: 461a mov r2, r3 807fef8: 219a movs r1, #154 ; 0x9a 807fefa: f44f 7082 mov.w r0, #260 ; 0x104 807fefe: f7d4 fa31 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 807ff02: f507 734a add.w r3, r7, #808 ; 0x328 807ff06: 461a mov r2, r3 807ff08: 21ca movs r1, #202 ; 0xca 807ff0a: f44f 7082 mov.w r0, #260 ; 0x104 807ff0e: f7d4 fa29 bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 807ff12: 4b1e ldr r3, [pc, #120] ; (807ff8c ) 807ff14: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 807ff18: f003 0304 and.w r3, r3, #4 807ff1c: 2b00 cmp r3, #0 807ff1e: d04b beq.n 807ffb8 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 807ff20: 491c ldr r1, [pc, #112] ; (807ff94 ) 807ff22: 4823 ldr r0, [pc, #140] ; (807ffb0 ) 807ff24: f7d3 fc5e bl 80537e4 if(pardata.IIN != VOLTS) 807ff28: 4b18 ldr r3, [pc, #96] ; (807ff8c ) 807ff2a: 799b ldrb r3, [r3, #6] 807ff2c: b2db uxtb r3, r3 807ff2e: 2b02 cmp r3, #2 807ff30: d011 beq.n 807ff56 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 807ff32: 4b16 ldr r3, [pc, #88] ; (807ff8c ) 807ff34: 7b1b ldrb r3, [r3, #12] 807ff36: b2db uxtb r3, r3 807ff38: 4619 mov r1, r3 807ff3a: 4a1e ldr r2, [pc, #120] ; (807ffb4 ) 807ff3c: 460b mov r3, r1 807ff3e: 00db lsls r3, r3, #3 807ff40: 440b add r3, r1 807ff42: 009b lsls r3, r3, #2 807ff44: 4413 add r3, r2 807ff46: 331c adds r3, #28 807ff48: 681b ldr r3, [r3, #0] 807ff4a: 461a mov r2, r3 807ff4c: 21ba movs r1, #186 ; 0xba 807ff4e: 200a movs r0, #10 807ff50: f7d4 f9f0 bl 8054334 807ff54: e010 b.n 807ff78 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 807ff56: 4b0d ldr r3, [pc, #52] ; (807ff8c ) 807ff58: 7b1b ldrb r3, [r3, #12] 807ff5a: b2db uxtb r3, r3 807ff5c: 4619 mov r1, r3 807ff5e: 4a0c ldr r2, [pc, #48] ; (807ff90 ) 807ff60: 460b mov r3, r1 807ff62: 00db lsls r3, r3, #3 807ff64: 440b add r3, r1 807ff66: 009b lsls r3, r3, #2 807ff68: 4413 add r3, r2 807ff6a: 331c adds r3, #28 807ff6c: 681b ldr r3, [r3, #0] 807ff6e: 461a mov r2, r3 807ff70: 21ba movs r1, #186 ; 0xba 807ff72: 200a movs r0, #10 807ff74: f7d4 f9de bl 8054334 LCD_DisplayStringC(260, LCD_LINE_11, str); 807ff78: f507 733b add.w r3, r7, #748 ; 0x2ec 807ff7c: 461a mov r2, r3 807ff7e: 21ba movs r1, #186 ; 0xba 807ff80: f44f 7082 mov.w r0, #260 ; 0x104 807ff84: f7d4 f9ee bl 8054364 807ff88: f002 bd1a b.w 80829c0 807ff8c: 20023e60 .word 0x20023e60 807ff90: 200207ac .word 0x200207ac 807ff94: ff0a0f1f .word 0xff0a0f1f 807ff98: ffd8aa57 .word 0xffd8aa57 807ff9c: 20020070 .word 0x20020070 807ffa0: 200205c4 .word 0x200205c4 807ffa4: 20020f84 .word 0x20020f84 807ffa8: 2002165c .word 0x2002165c 807ffac: 20020224 .word 0x20020224 807ffb0: ff808080 .word 0xff808080 807ffb4: 20020764 .word 0x20020764 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 807ffb8: 49c7 ldr r1, [pc, #796] ; (80802d8 ) 807ffba: f04f 30ff mov.w r0, #4294967295 807ffbe: f7d3 fc11 bl 80537e4 if(pardata.IIN != VOLTS) 807ffc2: 4bc6 ldr r3, [pc, #792] ; (80802dc ) 807ffc4: 799b ldrb r3, [r3, #6] 807ffc6: b2db uxtb r3, r3 807ffc8: 2b02 cmp r3, #2 807ffca: d011 beq.n 807fff0 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 807ffcc: 4bc3 ldr r3, [pc, #780] ; (80802dc ) 807ffce: 7b1b ldrb r3, [r3, #12] 807ffd0: b2db uxtb r3, r3 807ffd2: 4619 mov r1, r3 807ffd4: 4ac2 ldr r2, [pc, #776] ; (80802e0 ) 807ffd6: 460b mov r3, r1 807ffd8: 00db lsls r3, r3, #3 807ffda: 440b add r3, r1 807ffdc: 009b lsls r3, r3, #2 807ffde: 4413 add r3, r2 807ffe0: 331c adds r3, #28 807ffe2: 681b ldr r3, [r3, #0] 807ffe4: 461a mov r2, r3 807ffe6: 21ba movs r1, #186 ; 0xba 807ffe8: 200a movs r0, #10 807ffea: f7d4 f9a3 bl 8054334 807ffee: e010 b.n 8080012 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 807fff0: 4bba ldr r3, [pc, #744] ; (80802dc ) 807fff2: 7b1b ldrb r3, [r3, #12] 807fff4: b2db uxtb r3, r3 807fff6: 4619 mov r1, r3 807fff8: 4aba ldr r2, [pc, #744] ; (80802e4 ) 807fffa: 460b mov r3, r1 807fffc: 00db lsls r3, r3, #3 807fffe: 440b add r3, r1 8080000: 009b lsls r3, r3, #2 8080002: 4413 add r3, r2 8080004: 331c adds r3, #28 8080006: 681b ldr r3, [r3, #0] 8080008: 461a mov r2, r3 808000a: 21ba movs r1, #186 ; 0xba 808000c: 200a movs r0, #10 808000e: f7d4 f991 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080012: 49b1 ldr r1, [pc, #708] ; (80802d8 ) 8080014: 48b4 ldr r0, [pc, #720] ; (80802e8 ) 8080016: f7d3 fbe5 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, str); 808001a: f507 733b add.w r3, r7, #748 ; 0x2ec 808001e: 461a mov r2, r3 8080020: 21ba movs r1, #186 ; 0xba 8080022: f44f 7082 mov.w r0, #260 ; 0x104 8080026: f7d4 f99d bl 8054364 808002a: f002 bcc9 b.w 80829c0 } } else if(menupos == D_Outer) 808002e: 4baf ldr r3, [pc, #700] ; (80802ec ) 8080030: 781b ldrb r3, [r3, #0] 8080032: b2db uxtb r3, r3 8080034: 2b03 cmp r3, #3 8080036: f040 80cf bne.w 80801d8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808003a: 49a7 ldr r1, [pc, #668] ; (80802d8 ) 808003c: f04f 30ff mov.w r0, #4294967295 8080040: f7d3 fbd0 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8080044: 4ba5 ldr r3, [pc, #660] ; (80802dc ) 8080046: 7b1b ldrb r3, [r3, #12] 8080048: b2db uxtb r3, r3 808004a: 461a mov r2, r3 808004c: 4ba8 ldr r3, [pc, #672] ; (80802f0 ) 808004e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080052: 461a mov r2, r3 8080054: 213a movs r1, #58 ; 0x3a 8080056: 200a movs r0, #10 8080058: f7d4 f96c bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808005c: 499e ldr r1, [pc, #632] ; (80802d8 ) 808005e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080062: f7d3 fbbf bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080066: f507 7359 add.w r3, r7, #868 ; 0x364 808006a: 461a mov r2, r3 808006c: 216a movs r1, #106 ; 0x6a 808006e: f44f 7082 mov.w r0, #260 ; 0x104 8080072: f7d4 f977 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080076: 4998 ldr r1, [pc, #608] ; (80802d8 ) 8080078: 489b ldr r0, [pc, #620] ; (80802e8 ) 808007a: f7d3 fbb3 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 808007e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080082: 461a mov r2, r3 8080084: 214a movs r1, #74 ; 0x4a 8080086: f44f 7082 mov.w r0, #260 ; 0x104 808008a: f7d4 f96b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 808008e: f507 735e add.w r3, r7, #888 ; 0x378 8080092: 461a mov r2, r3 8080094: 215a movs r1, #90 ; 0x5a 8080096: f44f 7082 mov.w r0, #260 ; 0x104 808009a: f7d4 f963 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 808009e: f507 7354 add.w r3, r7, #848 ; 0x350 80800a2: 461a mov r2, r3 80800a4: 217a movs r1, #122 ; 0x7a 80800a6: f44f 7082 mov.w r0, #260 ; 0x104 80800aa: f7d4 f95b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 80800ae: f507 734f add.w r3, r7, #828 ; 0x33c 80800b2: 461a mov r2, r3 80800b4: 218a movs r1, #138 ; 0x8a 80800b6: f44f 7082 mov.w r0, #260 ; 0x104 80800ba: f7d4 f953 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80800be: 4b87 ldr r3, [pc, #540] ; (80802dc ) 80800c0: 7b5b ldrb r3, [r3, #13] 80800c2: b2db uxtb r3, r3 80800c4: 461a mov r2, r3 80800c6: 4b8b ldr r3, [pc, #556] ; (80802f4 ) 80800c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80800cc: 461a mov r2, r3 80800ce: 219a movs r1, #154 ; 0x9a 80800d0: f44f 7082 mov.w r0, #260 ; 0x104 80800d4: f7d4 f946 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 80800d8: f507 734a add.w r3, r7, #808 ; 0x328 80800dc: 461a mov r2, r3 80800de: 21ca movs r1, #202 ; 0xca 80800e0: f44f 7082 mov.w r0, #260 ; 0x104 80800e4: f7d4 f93e bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 80800e8: 4b7c ldr r3, [pc, #496] ; (80802dc ) 80800ea: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80800ee: f003 0304 and.w r3, r3, #4 80800f2: 2b00 cmp r3, #0 80800f4: d035 beq.n 8080162 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80800f6: 4978 ldr r1, [pc, #480] ; (80802d8 ) 80800f8: 487f ldr r0, [pc, #508] ; (80802f8 ) 80800fa: f7d3 fb73 bl 80537e4 if(pardata.IIN != VOLTS) 80800fe: 4b77 ldr r3, [pc, #476] ; (80802dc ) 8080100: 799b ldrb r3, [r3, #6] 8080102: b2db uxtb r3, r3 8080104: 2b02 cmp r3, #2 8080106: d011 beq.n 808012c LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080108: 4b74 ldr r3, [pc, #464] ; (80802dc ) 808010a: 7b1b ldrb r3, [r3, #12] 808010c: b2db uxtb r3, r3 808010e: 4619 mov r1, r3 8080110: 4a73 ldr r2, [pc, #460] ; (80802e0 ) 8080112: 460b mov r3, r1 8080114: 00db lsls r3, r3, #3 8080116: 440b add r3, r1 8080118: 009b lsls r3, r3, #2 808011a: 4413 add r3, r2 808011c: 331c adds r3, #28 808011e: 681b ldr r3, [r3, #0] 8080120: 461a mov r2, r3 8080122: 21ba movs r1, #186 ; 0xba 8080124: 200a movs r0, #10 8080126: f7d4 f905 bl 8054334 808012a: e010 b.n 808014e else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 808012c: 4b6b ldr r3, [pc, #428] ; (80802dc ) 808012e: 7b1b ldrb r3, [r3, #12] 8080130: b2db uxtb r3, r3 8080132: 4619 mov r1, r3 8080134: 4a6b ldr r2, [pc, #428] ; (80802e4 ) 8080136: 460b mov r3, r1 8080138: 00db lsls r3, r3, #3 808013a: 440b add r3, r1 808013c: 009b lsls r3, r3, #2 808013e: 4413 add r3, r2 8080140: 331c adds r3, #28 8080142: 681b ldr r3, [r3, #0] 8080144: 461a mov r2, r3 8080146: 21ba movs r1, #186 ; 0xba 8080148: 200a movs r0, #10 808014a: f7d4 f8f3 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_11, str); 808014e: f507 733b add.w r3, r7, #748 ; 0x2ec 8080152: 461a mov r2, r3 8080154: 21ba movs r1, #186 ; 0xba 8080156: f44f 7082 mov.w r0, #260 ; 0x104 808015a: f7d4 f903 bl 8054364 808015e: f002 bc2f b.w 80829c0 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080162: 495d ldr r1, [pc, #372] ; (80802d8 ) 8080164: f04f 30ff mov.w r0, #4294967295 8080168: f7d3 fb3c bl 80537e4 if(pardata.IIN != VOLTS) 808016c: 4b5b ldr r3, [pc, #364] ; (80802dc ) 808016e: 799b ldrb r3, [r3, #6] 8080170: b2db uxtb r3, r3 8080172: 2b02 cmp r3, #2 8080174: d011 beq.n 808019a LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080176: 4b59 ldr r3, [pc, #356] ; (80802dc ) 8080178: 7b1b ldrb r3, [r3, #12] 808017a: b2db uxtb r3, r3 808017c: 4619 mov r1, r3 808017e: 4a58 ldr r2, [pc, #352] ; (80802e0 ) 8080180: 460b mov r3, r1 8080182: 00db lsls r3, r3, #3 8080184: 440b add r3, r1 8080186: 009b lsls r3, r3, #2 8080188: 4413 add r3, r2 808018a: 331c adds r3, #28 808018c: 681b ldr r3, [r3, #0] 808018e: 461a mov r2, r3 8080190: 21ba movs r1, #186 ; 0xba 8080192: 200a movs r0, #10 8080194: f7d4 f8ce bl 8054334 8080198: e010 b.n 80801bc else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 808019a: 4b50 ldr r3, [pc, #320] ; (80802dc ) 808019c: 7b1b ldrb r3, [r3, #12] 808019e: b2db uxtb r3, r3 80801a0: 4619 mov r1, r3 80801a2: 4a50 ldr r2, [pc, #320] ; (80802e4 ) 80801a4: 460b mov r3, r1 80801a6: 00db lsls r3, r3, #3 80801a8: 440b add r3, r1 80801aa: 009b lsls r3, r3, #2 80801ac: 4413 add r3, r2 80801ae: 331c adds r3, #28 80801b0: 681b ldr r3, [r3, #0] 80801b2: 461a mov r2, r3 80801b4: 21ba movs r1, #186 ; 0xba 80801b6: 200a movs r0, #10 80801b8: f7d4 f8bc bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80801bc: 4946 ldr r1, [pc, #280] ; (80802d8 ) 80801be: 484a ldr r0, [pc, #296] ; (80802e8 ) 80801c0: f7d3 fb10 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, str); 80801c4: f507 733b add.w r3, r7, #748 ; 0x2ec 80801c8: 461a mov r2, r3 80801ca: 21ba movs r1, #186 ; 0xba 80801cc: f44f 7082 mov.w r0, #260 ; 0x104 80801d0: f7d4 f8c8 bl 8054364 80801d4: f002 bbf4 b.w 80829c0 } } else if(menupos == D_Inner) 80801d8: 4b44 ldr r3, [pc, #272] ; (80802ec ) 80801da: 781b ldrb r3, [r3, #0] 80801dc: b2db uxtb r3, r3 80801de: 2b04 cmp r3, #4 80801e0: f040 80e2 bne.w 80803a8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80801e4: 493c ldr r1, [pc, #240] ; (80802d8 ) 80801e6: f04f 30ff mov.w r0, #4294967295 80801ea: f7d3 fafb bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 80801ee: 4b3b ldr r3, [pc, #236] ; (80802dc ) 80801f0: 7b1b ldrb r3, [r3, #12] 80801f2: b2db uxtb r3, r3 80801f4: 461a mov r2, r3 80801f6: 4b3e ldr r3, [pc, #248] ; (80802f0 ) 80801f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80801fc: 461a mov r2, r3 80801fe: 213a movs r1, #58 ; 0x3a 8080200: 200a movs r0, #10 8080202: f7d4 f897 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080206: 4934 ldr r1, [pc, #208] ; (80802d8 ) 8080208: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808020c: f7d3 faea bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8080210: f507 7354 add.w r3, r7, #848 ; 0x350 8080214: 461a mov r2, r3 8080216: 217a movs r1, #122 ; 0x7a 8080218: f44f 7082 mov.w r0, #260 ; 0x104 808021c: f7d4 f8a2 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080220: 492d ldr r1, [pc, #180] ; (80802d8 ) 8080222: 4831 ldr r0, [pc, #196] ; (80802e8 ) 8080224: f7d3 fade bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 8080228: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808022c: 461a mov r2, r3 808022e: 214a movs r1, #74 ; 0x4a 8080230: f44f 7082 mov.w r0, #260 ; 0x104 8080234: f7d4 f896 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080238: f507 735e add.w r3, r7, #888 ; 0x378 808023c: 461a mov r2, r3 808023e: 215a movs r1, #90 ; 0x5a 8080240: f44f 7082 mov.w r0, #260 ; 0x104 8080244: f7d4 f88e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080248: f507 7359 add.w r3, r7, #868 ; 0x364 808024c: 461a mov r2, r3 808024e: 216a movs r1, #106 ; 0x6a 8080250: f44f 7082 mov.w r0, #260 ; 0x104 8080254: f7d4 f886 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8080258: f507 734f add.w r3, r7, #828 ; 0x33c 808025c: 461a mov r2, r3 808025e: 218a movs r1, #138 ; 0x8a 8080260: f44f 7082 mov.w r0, #260 ; 0x104 8080264: f7d4 f87e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8080268: 4b1c ldr r3, [pc, #112] ; (80802dc ) 808026a: 7b5b ldrb r3, [r3, #13] 808026c: b2db uxtb r3, r3 808026e: 461a mov r2, r3 8080270: 4b20 ldr r3, [pc, #128] ; (80802f4 ) 8080272: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080276: 461a mov r2, r3 8080278: 219a movs r1, #154 ; 0x9a 808027a: f44f 7082 mov.w r0, #260 ; 0x104 808027e: f7d4 f871 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8080282: f507 734a add.w r3, r7, #808 ; 0x328 8080286: 461a mov r2, r3 8080288: 21ca movs r1, #202 ; 0xca 808028a: f44f 7082 mov.w r0, #260 ; 0x104 808028e: f7d4 f869 bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8080292: 4b12 ldr r3, [pc, #72] ; (80802dc ) 8080294: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8080298: f003 0304 and.w r3, r3, #4 808029c: 2b00 cmp r3, #0 808029e: d048 beq.n 8080332 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80802a0: 490d ldr r1, [pc, #52] ; (80802d8 ) 80802a2: 4815 ldr r0, [pc, #84] ; (80802f8 ) 80802a4: f7d3 fa9e bl 80537e4 if(pardata.IIN != VOLTS) 80802a8: 4b0c ldr r3, [pc, #48] ; (80802dc ) 80802aa: 799b ldrb r3, [r3, #6] 80802ac: b2db uxtb r3, r3 80802ae: 2b02 cmp r3, #2 80802b0: d024 beq.n 80802fc LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80802b2: 4b0a ldr r3, [pc, #40] ; (80802dc ) 80802b4: 7b1b ldrb r3, [r3, #12] 80802b6: b2db uxtb r3, r3 80802b8: 4619 mov r1, r3 80802ba: 4a09 ldr r2, [pc, #36] ; (80802e0 ) 80802bc: 460b mov r3, r1 80802be: 00db lsls r3, r3, #3 80802c0: 440b add r3, r1 80802c2: 009b lsls r3, r3, #2 80802c4: 4413 add r3, r2 80802c6: 331c adds r3, #28 80802c8: 681b ldr r3, [r3, #0] 80802ca: 461a mov r2, r3 80802cc: 21ba movs r1, #186 ; 0xba 80802ce: 200a movs r0, #10 80802d0: f7d4 f830 bl 8054334 80802d4: e023 b.n 808031e 80802d6: bf00 nop 80802d8: ff0a0f1f .word 0xff0a0f1f 80802dc: 20023e60 .word 0x20023e60 80802e0: 20020764 .word 0x20020764 80802e4: 200207ac .word 0x200207ac 80802e8: ffd8aa57 .word 0xffd8aa57 80802ec: 20020070 .word 0x20020070 80802f0: 200205c4 .word 0x200205c4 80802f4: 20020224 .word 0x20020224 80802f8: ff808080 .word 0xff808080 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80802fc: 4bae ldr r3, [pc, #696] ; (80805b8 ) 80802fe: 7b1b ldrb r3, [r3, #12] 8080300: b2db uxtb r3, r3 8080302: 4619 mov r1, r3 8080304: 4aad ldr r2, [pc, #692] ; (80805bc ) 8080306: 460b mov r3, r1 8080308: 00db lsls r3, r3, #3 808030a: 440b add r3, r1 808030c: 009b lsls r3, r3, #2 808030e: 4413 add r3, r2 8080310: 331c adds r3, #28 8080312: 681b ldr r3, [r3, #0] 8080314: 461a mov r2, r3 8080316: 21ba movs r1, #186 ; 0xba 8080318: 200a movs r0, #10 808031a: f7d4 f80b bl 8054334 LCD_DisplayStringC(260, LCD_LINE_11, str); 808031e: f507 733b add.w r3, r7, #748 ; 0x2ec 8080322: 461a mov r2, r3 8080324: 21ba movs r1, #186 ; 0xba 8080326: f44f 7082 mov.w r0, #260 ; 0x104 808032a: f7d4 f81b bl 8054364 808032e: f002 bb47 b.w 80829c0 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080332: 49a3 ldr r1, [pc, #652] ; (80805c0 ) 8080334: f04f 30ff mov.w r0, #4294967295 8080338: f7d3 fa54 bl 80537e4 if(pardata.IIN != VOLTS) 808033c: 4b9e ldr r3, [pc, #632] ; (80805b8 ) 808033e: 799b ldrb r3, [r3, #6] 8080340: b2db uxtb r3, r3 8080342: 2b02 cmp r3, #2 8080344: d011 beq.n 808036a LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080346: 4b9c ldr r3, [pc, #624] ; (80805b8 ) 8080348: 7b1b ldrb r3, [r3, #12] 808034a: b2db uxtb r3, r3 808034c: 4619 mov r1, r3 808034e: 4a9d ldr r2, [pc, #628] ; (80805c4 ) 8080350: 460b mov r3, r1 8080352: 00db lsls r3, r3, #3 8080354: 440b add r3, r1 8080356: 009b lsls r3, r3, #2 8080358: 4413 add r3, r2 808035a: 331c adds r3, #28 808035c: 681b ldr r3, [r3, #0] 808035e: 461a mov r2, r3 8080360: 21ba movs r1, #186 ; 0xba 8080362: 200a movs r0, #10 8080364: f7d3 ffe6 bl 8054334 8080368: e010 b.n 808038c else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 808036a: 4b93 ldr r3, [pc, #588] ; (80805b8 ) 808036c: 7b1b ldrb r3, [r3, #12] 808036e: b2db uxtb r3, r3 8080370: 4619 mov r1, r3 8080372: 4a92 ldr r2, [pc, #584] ; (80805bc ) 8080374: 460b mov r3, r1 8080376: 00db lsls r3, r3, #3 8080378: 440b add r3, r1 808037a: 009b lsls r3, r3, #2 808037c: 4413 add r3, r2 808037e: 331c adds r3, #28 8080380: 681b ldr r3, [r3, #0] 8080382: 461a mov r2, r3 8080384: 21ba movs r1, #186 ; 0xba 8080386: 200a movs r0, #10 8080388: f7d3 ffd4 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808038c: 498c ldr r1, [pc, #560] ; (80805c0 ) 808038e: 488e ldr r0, [pc, #568] ; (80805c8 ) 8080390: f7d3 fa28 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, str); 8080394: f507 733b add.w r3, r7, #748 ; 0x2ec 8080398: 461a mov r2, r3 808039a: 21ba movs r1, #186 ; 0xba 808039c: f44f 7082 mov.w r0, #260 ; 0x104 80803a0: f7d3 ffe0 bl 8054364 80803a4: f002 bb0c b.w 80829c0 } } else if(menupos == D_Angle) 80803a8: 4b88 ldr r3, [pc, #544] ; (80805cc ) 80803aa: 781b ldrb r3, [r3, #0] 80803ac: b2db uxtb r3, r3 80803ae: 2b05 cmp r3, #5 80803b0: f040 80cf bne.w 8080552 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80803b4: 4982 ldr r1, [pc, #520] ; (80805c0 ) 80803b6: f04f 30ff mov.w r0, #4294967295 80803ba: f7d3 fa13 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 80803be: 4b7e ldr r3, [pc, #504] ; (80805b8 ) 80803c0: 7b1b ldrb r3, [r3, #12] 80803c2: b2db uxtb r3, r3 80803c4: 461a mov r2, r3 80803c6: 4b82 ldr r3, [pc, #520] ; (80805d0 ) 80803c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80803cc: 461a mov r2, r3 80803ce: 213a movs r1, #58 ; 0x3a 80803d0: 200a movs r0, #10 80803d2: f7d3 ffaf bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80803d6: 497a ldr r1, [pc, #488] ; (80805c0 ) 80803d8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80803dc: f7d3 fa02 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 80803e0: f507 734f add.w r3, r7, #828 ; 0x33c 80803e4: 461a mov r2, r3 80803e6: 218a movs r1, #138 ; 0x8a 80803e8: f44f 7082 mov.w r0, #260 ; 0x104 80803ec: f7d3 ffba bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80803f0: 4973 ldr r1, [pc, #460] ; (80805c0 ) 80803f2: 4875 ldr r0, [pc, #468] ; (80805c8 ) 80803f4: f7d3 f9f6 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 80803f8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80803fc: 461a mov r2, r3 80803fe: 214a movs r1, #74 ; 0x4a 8080400: f44f 7082 mov.w r0, #260 ; 0x104 8080404: f7d3 ffae bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080408: f507 735e add.w r3, r7, #888 ; 0x378 808040c: 461a mov r2, r3 808040e: 215a movs r1, #90 ; 0x5a 8080410: f44f 7082 mov.w r0, #260 ; 0x104 8080414: f7d3 ffa6 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080418: f507 7359 add.w r3, r7, #868 ; 0x364 808041c: 461a mov r2, r3 808041e: 216a movs r1, #106 ; 0x6a 8080420: f44f 7082 mov.w r0, #260 ; 0x104 8080424: f7d3 ff9e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8080428: f507 7354 add.w r3, r7, #848 ; 0x350 808042c: 461a mov r2, r3 808042e: 217a movs r1, #122 ; 0x7a 8080430: f44f 7082 mov.w r0, #260 ; 0x104 8080434: f7d3 ff96 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8080438: 4b5f ldr r3, [pc, #380] ; (80805b8 ) 808043a: 7b5b ldrb r3, [r3, #13] 808043c: b2db uxtb r3, r3 808043e: 461a mov r2, r3 8080440: 4b64 ldr r3, [pc, #400] ; (80805d4 ) 8080442: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080446: 461a mov r2, r3 8080448: 219a movs r1, #154 ; 0x9a 808044a: f44f 7082 mov.w r0, #260 ; 0x104 808044e: f7d3 ff89 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8080452: f507 734a add.w r3, r7, #808 ; 0x328 8080456: 461a mov r2, r3 8080458: 21ca movs r1, #202 ; 0xca 808045a: f44f 7082 mov.w r0, #260 ; 0x104 808045e: f7d3 ff81 bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8080462: 4b55 ldr r3, [pc, #340] ; (80805b8 ) 8080464: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8080468: f003 0304 and.w r3, r3, #4 808046c: 2b00 cmp r3, #0 808046e: d035 beq.n 80804dc { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8080470: 4953 ldr r1, [pc, #332] ; (80805c0 ) 8080472: 4859 ldr r0, [pc, #356] ; (80805d8 ) 8080474: f7d3 f9b6 bl 80537e4 if(pardata.IIN != VOLTS) 8080478: 4b4f ldr r3, [pc, #316] ; (80805b8 ) 808047a: 799b ldrb r3, [r3, #6] 808047c: b2db uxtb r3, r3 808047e: 2b02 cmp r3, #2 8080480: d011 beq.n 80804a6 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080482: 4b4d ldr r3, [pc, #308] ; (80805b8 ) 8080484: 7b1b ldrb r3, [r3, #12] 8080486: b2db uxtb r3, r3 8080488: 4619 mov r1, r3 808048a: 4a4e ldr r2, [pc, #312] ; (80805c4 ) 808048c: 460b mov r3, r1 808048e: 00db lsls r3, r3, #3 8080490: 440b add r3, r1 8080492: 009b lsls r3, r3, #2 8080494: 4413 add r3, r2 8080496: 331c adds r3, #28 8080498: 681b ldr r3, [r3, #0] 808049a: 461a mov r2, r3 808049c: 21ba movs r1, #186 ; 0xba 808049e: 200a movs r0, #10 80804a0: f7d3 ff48 bl 8054334 80804a4: e010 b.n 80804c8 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80804a6: 4b44 ldr r3, [pc, #272] ; (80805b8 ) 80804a8: 7b1b ldrb r3, [r3, #12] 80804aa: b2db uxtb r3, r3 80804ac: 4619 mov r1, r3 80804ae: 4a43 ldr r2, [pc, #268] ; (80805bc ) 80804b0: 460b mov r3, r1 80804b2: 00db lsls r3, r3, #3 80804b4: 440b add r3, r1 80804b6: 009b lsls r3, r3, #2 80804b8: 4413 add r3, r2 80804ba: 331c adds r3, #28 80804bc: 681b ldr r3, [r3, #0] 80804be: 461a mov r2, r3 80804c0: 21ba movs r1, #186 ; 0xba 80804c2: 200a movs r0, #10 80804c4: f7d3 ff36 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_11, str); 80804c8: f507 733b add.w r3, r7, #748 ; 0x2ec 80804cc: 461a mov r2, r3 80804ce: 21ba movs r1, #186 ; 0xba 80804d0: f44f 7082 mov.w r0, #260 ; 0x104 80804d4: f7d3 ff46 bl 8054364 80804d8: f002 ba72 b.w 80829c0 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80804dc: 4938 ldr r1, [pc, #224] ; (80805c0 ) 80804de: f04f 30ff mov.w r0, #4294967295 80804e2: f7d3 f97f bl 80537e4 if(pardata.IIN != VOLTS) 80804e6: 4b34 ldr r3, [pc, #208] ; (80805b8 ) 80804e8: 799b ldrb r3, [r3, #6] 80804ea: b2db uxtb r3, r3 80804ec: 2b02 cmp r3, #2 80804ee: d011 beq.n 8080514 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80804f0: 4b31 ldr r3, [pc, #196] ; (80805b8 ) 80804f2: 7b1b ldrb r3, [r3, #12] 80804f4: b2db uxtb r3, r3 80804f6: 4619 mov r1, r3 80804f8: 4a32 ldr r2, [pc, #200] ; (80805c4 ) 80804fa: 460b mov r3, r1 80804fc: 00db lsls r3, r3, #3 80804fe: 440b add r3, r1 8080500: 009b lsls r3, r3, #2 8080502: 4413 add r3, r2 8080504: 331c adds r3, #28 8080506: 681b ldr r3, [r3, #0] 8080508: 461a mov r2, r3 808050a: 21ba movs r1, #186 ; 0xba 808050c: 200a movs r0, #10 808050e: f7d3 ff11 bl 8054334 8080512: e010 b.n 8080536 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080514: 4b28 ldr r3, [pc, #160] ; (80805b8 ) 8080516: 7b1b ldrb r3, [r3, #12] 8080518: b2db uxtb r3, r3 808051a: 4619 mov r1, r3 808051c: 4a27 ldr r2, [pc, #156] ; (80805bc ) 808051e: 460b mov r3, r1 8080520: 00db lsls r3, r3, #3 8080522: 440b add r3, r1 8080524: 009b lsls r3, r3, #2 8080526: 4413 add r3, r2 8080528: 331c adds r3, #28 808052a: 681b ldr r3, [r3, #0] 808052c: 461a mov r2, r3 808052e: 21ba movs r1, #186 ; 0xba 8080530: 200a movs r0, #10 8080532: f7d3 feff bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080536: 4922 ldr r1, [pc, #136] ; (80805c0 ) 8080538: 4823 ldr r0, [pc, #140] ; (80805c8 ) 808053a: f7d3 f953 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, str); 808053e: f507 733b add.w r3, r7, #748 ; 0x2ec 8080542: 461a mov r2, r3 8080544: 21ba movs r1, #186 ; 0xba 8080546: f44f 7082 mov.w r0, #260 ; 0x104 808054a: f7d3 ff0b bl 8054364 808054e: f002 ba37 b.w 80829c0 } } else if(menupos == RollAverage) 8080552: 4b1e ldr r3, [pc, #120] ; (80805cc ) 8080554: 781b ldrb r3, [r3, #0] 8080556: b2db uxtb r3, r3 8080558: 2b06 cmp r3, #6 808055a: f040 80fc bne.w 8080756 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808055e: 4918 ldr r1, [pc, #96] ; (80805c0 ) 8080560: f04f 30ff mov.w r0, #4294967295 8080564: f7d3 f93e bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8080568: 4b13 ldr r3, [pc, #76] ; (80805b8 ) 808056a: 7b1b ldrb r3, [r3, #12] 808056c: b2db uxtb r3, r3 808056e: 461a mov r2, r3 8080570: 4b17 ldr r3, [pc, #92] ; (80805d0 ) 8080572: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080576: 461a mov r2, r3 8080578: 213a movs r1, #58 ; 0x3a 808057a: 200a movs r0, #10 808057c: f7d3 feda bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080580: 490f ldr r1, [pc, #60] ; (80805c0 ) 8080582: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080586: f7d3 f92d bl 80537e4 if(focused) 808058a: 4b14 ldr r3, [pc, #80] ; (80805dc ) 808058c: 781b ldrb r3, [r3, #0] 808058e: b2db uxtb r3, r3 8080590: 2b00 cmp r3, #0 8080592: d027 beq.n 80805e4 { if(blk) 8080594: 4b12 ldr r3, [pc, #72] ; (80805e0 ) 8080596: 681b ldr r3, [r3, #0] 8080598: 2b00 cmp r3, #0 808059a: d030 beq.n 80805fe LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 808059c: 4b06 ldr r3, [pc, #24] ; (80805b8 ) 808059e: 7b5b ldrb r3, [r3, #13] 80805a0: b2db uxtb r3, r3 80805a2: 461a mov r2, r3 80805a4: 4b0b ldr r3, [pc, #44] ; (80805d4 ) 80805a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80805aa: 461a mov r2, r3 80805ac: 219a movs r1, #154 ; 0x9a 80805ae: f44f 7082 mov.w r0, #260 ; 0x104 80805b2: f7d3 fed7 bl 8054364 80805b6: e022 b.n 80805fe 80805b8: 20023e60 .word 0x20023e60 80805bc: 200207ac .word 0x200207ac 80805c0: ff0a0f1f .word 0xff0a0f1f 80805c4: 20020764 .word 0x20020764 80805c8: ffd8aa57 .word 0xffd8aa57 80805cc: 20020070 .word 0x20020070 80805d0: 200205c4 .word 0x200205c4 80805d4: 20020224 .word 0x20020224 80805d8: ff808080 .word 0xff808080 80805dc: 20020f84 .word 0x20020f84 80805e0: 2002165c .word 0x2002165c } else LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80805e4: 4bc4 ldr r3, [pc, #784] ; (80808f8 ) 80805e6: 7b5b ldrb r3, [r3, #13] 80805e8: b2db uxtb r3, r3 80805ea: 461a mov r2, r3 80805ec: 4bc3 ldr r3, [pc, #780] ; (80808fc ) 80805ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80805f2: 461a mov r2, r3 80805f4: 219a movs r1, #154 ; 0x9a 80805f6: f44f 7082 mov.w r0, #260 ; 0x104 80805fa: f7d3 feb3 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80805fe: 49c0 ldr r1, [pc, #768] ; (8080900 ) 8080600: 48c0 ldr r0, [pc, #768] ; (8080904 ) 8080602: f7d3 f8ef bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 8080606: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808060a: 461a mov r2, r3 808060c: 214a movs r1, #74 ; 0x4a 808060e: f44f 7082 mov.w r0, #260 ; 0x104 8080612: f7d3 fea7 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080616: f507 735e add.w r3, r7, #888 ; 0x378 808061a: 461a mov r2, r3 808061c: 215a movs r1, #90 ; 0x5a 808061e: f44f 7082 mov.w r0, #260 ; 0x104 8080622: f7d3 fe9f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080626: f507 7359 add.w r3, r7, #868 ; 0x364 808062a: 461a mov r2, r3 808062c: 216a movs r1, #106 ; 0x6a 808062e: f44f 7082 mov.w r0, #260 ; 0x104 8080632: f7d3 fe97 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8080636: f507 7354 add.w r3, r7, #848 ; 0x350 808063a: 461a mov r2, r3 808063c: 217a movs r1, #122 ; 0x7a 808063e: f44f 7082 mov.w r0, #260 ; 0x104 8080642: f7d3 fe8f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8080646: f507 734f add.w r3, r7, #828 ; 0x33c 808064a: 461a mov r2, r3 808064c: 218a movs r1, #138 ; 0x8a 808064e: f44f 7082 mov.w r0, #260 ; 0x104 8080652: f7d3 fe87 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8080656: f507 734a add.w r3, r7, #808 ; 0x328 808065a: 461a mov r2, r3 808065c: 21ca movs r1, #202 ; 0xca 808065e: f44f 7082 mov.w r0, #260 ; 0x104 8080662: f7d3 fe7f bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8080666: 4ba4 ldr r3, [pc, #656] ; (80808f8 ) 8080668: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808066c: f003 0304 and.w r3, r3, #4 8080670: 2b00 cmp r3, #0 8080672: d035 beq.n 80806e0 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8080674: 49a2 ldr r1, [pc, #648] ; (8080900 ) 8080676: 48a4 ldr r0, [pc, #656] ; (8080908 ) 8080678: f7d3 f8b4 bl 80537e4 if(pardata.IIN != VOLTS) 808067c: 4b9e ldr r3, [pc, #632] ; (80808f8 ) 808067e: 799b ldrb r3, [r3, #6] 8080680: b2db uxtb r3, r3 8080682: 2b02 cmp r3, #2 8080684: d011 beq.n 80806aa LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080686: 4b9c ldr r3, [pc, #624] ; (80808f8 ) 8080688: 7b1b ldrb r3, [r3, #12] 808068a: b2db uxtb r3, r3 808068c: 4619 mov r1, r3 808068e: 4a9f ldr r2, [pc, #636] ; (808090c ) 8080690: 460b mov r3, r1 8080692: 00db lsls r3, r3, #3 8080694: 440b add r3, r1 8080696: 009b lsls r3, r3, #2 8080698: 4413 add r3, r2 808069a: 331c adds r3, #28 808069c: 681b ldr r3, [r3, #0] 808069e: 461a mov r2, r3 80806a0: 21ba movs r1, #186 ; 0xba 80806a2: 200a movs r0, #10 80806a4: f7d3 fe46 bl 8054334 80806a8: e010 b.n 80806cc else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80806aa: 4b93 ldr r3, [pc, #588] ; (80808f8 ) 80806ac: 7b1b ldrb r3, [r3, #12] 80806ae: b2db uxtb r3, r3 80806b0: 4619 mov r1, r3 80806b2: 4a97 ldr r2, [pc, #604] ; (8080910 ) 80806b4: 460b mov r3, r1 80806b6: 00db lsls r3, r3, #3 80806b8: 440b add r3, r1 80806ba: 009b lsls r3, r3, #2 80806bc: 4413 add r3, r2 80806be: 331c adds r3, #28 80806c0: 681b ldr r3, [r3, #0] 80806c2: 461a mov r2, r3 80806c4: 21ba movs r1, #186 ; 0xba 80806c6: 200a movs r0, #10 80806c8: f7d3 fe34 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_11, str); 80806cc: f507 733b add.w r3, r7, #748 ; 0x2ec 80806d0: 461a mov r2, r3 80806d2: 21ba movs r1, #186 ; 0xba 80806d4: f44f 7082 mov.w r0, #260 ; 0x104 80806d8: f7d3 fe44 bl 8054364 80806dc: f002 b970 b.w 80829c0 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80806e0: 4987 ldr r1, [pc, #540] ; (8080900 ) 80806e2: f04f 30ff mov.w r0, #4294967295 80806e6: f7d3 f87d bl 80537e4 if(pardata.IIN != VOLTS) 80806ea: 4b83 ldr r3, [pc, #524] ; (80808f8 ) 80806ec: 799b ldrb r3, [r3, #6] 80806ee: b2db uxtb r3, r3 80806f0: 2b02 cmp r3, #2 80806f2: d011 beq.n 8080718 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80806f4: 4b80 ldr r3, [pc, #512] ; (80808f8 ) 80806f6: 7b1b ldrb r3, [r3, #12] 80806f8: b2db uxtb r3, r3 80806fa: 4619 mov r1, r3 80806fc: 4a83 ldr r2, [pc, #524] ; (808090c ) 80806fe: 460b mov r3, r1 8080700: 00db lsls r3, r3, #3 8080702: 440b add r3, r1 8080704: 009b lsls r3, r3, #2 8080706: 4413 add r3, r2 8080708: 331c adds r3, #28 808070a: 681b ldr r3, [r3, #0] 808070c: 461a mov r2, r3 808070e: 21ba movs r1, #186 ; 0xba 8080710: 200a movs r0, #10 8080712: f7d3 fe0f bl 8054334 8080716: e010 b.n 808073a else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080718: 4b77 ldr r3, [pc, #476] ; (80808f8 ) 808071a: 7b1b ldrb r3, [r3, #12] 808071c: b2db uxtb r3, r3 808071e: 4619 mov r1, r3 8080720: 4a7b ldr r2, [pc, #492] ; (8080910 ) 8080722: 460b mov r3, r1 8080724: 00db lsls r3, r3, #3 8080726: 440b add r3, r1 8080728: 009b lsls r3, r3, #2 808072a: 4413 add r3, r2 808072c: 331c adds r3, #28 808072e: 681b ldr r3, [r3, #0] 8080730: 461a mov r2, r3 8080732: 21ba movs r1, #186 ; 0xba 8080734: 200a movs r0, #10 8080736: f7d3 fdfd bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808073a: 4971 ldr r1, [pc, #452] ; (8080900 ) 808073c: 4871 ldr r0, [pc, #452] ; (8080904 ) 808073e: f7d3 f851 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, str); 8080742: f507 733b add.w r3, r7, #748 ; 0x2ec 8080746: 461a mov r2, r3 8080748: 21ba movs r1, #186 ; 0xba 808074a: f44f 7082 mov.w r0, #260 ; 0x104 808074e: f7d3 fe09 bl 8054364 8080752: f002 b935 b.w 80829c0 } } else if(menupos == RollAutoKu) 8080756: 4b6f ldr r3, [pc, #444] ; (8080914 ) 8080758: 781b ldrb r3, [r3, #0] 808075a: b2db uxtb r3, r3 808075c: 2b07 cmp r3, #7 808075e: f040 80dd bne.w 808091c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080762: 4967 ldr r1, [pc, #412] ; (8080900 ) 8080764: f04f 30ff mov.w r0, #4294967295 8080768: f7d3 f83c bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 808076c: 4b62 ldr r3, [pc, #392] ; (80808f8 ) 808076e: 7b1b ldrb r3, [r3, #12] 8080770: b2db uxtb r3, r3 8080772: 461a mov r2, r3 8080774: 4b68 ldr r3, [pc, #416] ; (8080918 ) 8080776: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808077a: 461a mov r2, r3 808077c: 213a movs r1, #58 ; 0x3a 808077e: 200a movs r0, #10 8080780: f7d3 fdd8 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080784: 495e ldr r1, [pc, #376] ; (8080900 ) 8080786: 485f ldr r0, [pc, #380] ; (8080904 ) 8080788: f7d3 f82c bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 808078c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080790: 461a mov r2, r3 8080792: 214a movs r1, #74 ; 0x4a 8080794: f44f 7082 mov.w r0, #260 ; 0x104 8080798: f7d3 fde4 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 808079c: f507 735e add.w r3, r7, #888 ; 0x378 80807a0: 461a mov r2, r3 80807a2: 215a movs r1, #90 ; 0x5a 80807a4: f44f 7082 mov.w r0, #260 ; 0x104 80807a8: f7d3 fddc bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 80807ac: f507 7359 add.w r3, r7, #868 ; 0x364 80807b0: 461a mov r2, r3 80807b2: 216a movs r1, #106 ; 0x6a 80807b4: f44f 7082 mov.w r0, #260 ; 0x104 80807b8: f7d3 fdd4 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 80807bc: f507 7354 add.w r3, r7, #848 ; 0x350 80807c0: 461a mov r2, r3 80807c2: 217a movs r1, #122 ; 0x7a 80807c4: f44f 7082 mov.w r0, #260 ; 0x104 80807c8: f7d3 fdcc bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 80807cc: f507 734f add.w r3, r7, #828 ; 0x33c 80807d0: 461a mov r2, r3 80807d2: 218a movs r1, #138 ; 0x8a 80807d4: f44f 7082 mov.w r0, #260 ; 0x104 80807d8: f7d3 fdc4 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80807dc: 4b46 ldr r3, [pc, #280] ; (80808f8 ) 80807de: 7b5b ldrb r3, [r3, #13] 80807e0: b2db uxtb r3, r3 80807e2: 461a mov r2, r3 80807e4: 4b45 ldr r3, [pc, #276] ; (80808fc ) 80807e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80807ea: 461a mov r2, r3 80807ec: 219a movs r1, #154 ; 0x9a 80807ee: f44f 7082 mov.w r0, #260 ; 0x104 80807f2: f7d3 fdb7 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 80807f6: f507 734a add.w r3, r7, #808 ; 0x328 80807fa: 461a mov r2, r3 80807fc: 21ca movs r1, #202 ; 0xca 80807fe: f44f 7082 mov.w r0, #260 ; 0x104 8080802: f7d3 fdaf bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8080806: 4b3c ldr r3, [pc, #240] ; (80808f8 ) 8080808: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808080c: f003 0304 and.w r3, r3, #4 8080810: 2b00 cmp r3, #0 8080812: d035 beq.n 8080880 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8080814: 493a ldr r1, [pc, #232] ; (8080900 ) 8080816: 483c ldr r0, [pc, #240] ; (8080908 ) 8080818: f7d2 ffe4 bl 80537e4 if(pardata.IIN != VOLTS) 808081c: 4b36 ldr r3, [pc, #216] ; (80808f8 ) 808081e: 799b ldrb r3, [r3, #6] 8080820: b2db uxtb r3, r3 8080822: 2b02 cmp r3, #2 8080824: d011 beq.n 808084a LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080826: 4b34 ldr r3, [pc, #208] ; (80808f8 ) 8080828: 7b1b ldrb r3, [r3, #12] 808082a: b2db uxtb r3, r3 808082c: 4619 mov r1, r3 808082e: 4a37 ldr r2, [pc, #220] ; (808090c ) 8080830: 460b mov r3, r1 8080832: 00db lsls r3, r3, #3 8080834: 440b add r3, r1 8080836: 009b lsls r3, r3, #2 8080838: 4413 add r3, r2 808083a: 331c adds r3, #28 808083c: 681b ldr r3, [r3, #0] 808083e: 461a mov r2, r3 8080840: 21ba movs r1, #186 ; 0xba 8080842: 200a movs r0, #10 8080844: f7d3 fd76 bl 8054334 8080848: e010 b.n 808086c else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 808084a: 4b2b ldr r3, [pc, #172] ; (80808f8 ) 808084c: 7b1b ldrb r3, [r3, #12] 808084e: b2db uxtb r3, r3 8080850: 4619 mov r1, r3 8080852: 4a2f ldr r2, [pc, #188] ; (8080910 ) 8080854: 460b mov r3, r1 8080856: 00db lsls r3, r3, #3 8080858: 440b add r3, r1 808085a: 009b lsls r3, r3, #2 808085c: 4413 add r3, r2 808085e: 331c adds r3, #28 8080860: 681b ldr r3, [r3, #0] 8080862: 461a mov r2, r3 8080864: 21ba movs r1, #186 ; 0xba 8080866: 200a movs r0, #10 8080868: f7d3 fd64 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_11, str); 808086c: f507 733b add.w r3, r7, #748 ; 0x2ec 8080870: 461a mov r2, r3 8080872: 21ba movs r1, #186 ; 0xba 8080874: f44f 7082 mov.w r0, #260 ; 0x104 8080878: f7d3 fd74 bl 8054364 808087c: f002 b8a0 b.w 80829c0 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080880: 491f ldr r1, [pc, #124] ; (8080900 ) 8080882: f04f 30ff mov.w r0, #4294967295 8080886: f7d2 ffad bl 80537e4 if(pardata.IIN != VOLTS) 808088a: 4b1b ldr r3, [pc, #108] ; (80808f8 ) 808088c: 799b ldrb r3, [r3, #6] 808088e: b2db uxtb r3, r3 8080890: 2b02 cmp r3, #2 8080892: d011 beq.n 80808b8 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080894: 4b18 ldr r3, [pc, #96] ; (80808f8 ) 8080896: 7b1b ldrb r3, [r3, #12] 8080898: b2db uxtb r3, r3 808089a: 4619 mov r1, r3 808089c: 4a1b ldr r2, [pc, #108] ; (808090c ) 808089e: 460b mov r3, r1 80808a0: 00db lsls r3, r3, #3 80808a2: 440b add r3, r1 80808a4: 009b lsls r3, r3, #2 80808a6: 4413 add r3, r2 80808a8: 331c adds r3, #28 80808aa: 681b ldr r3, [r3, #0] 80808ac: 461a mov r2, r3 80808ae: 21ba movs r1, #186 ; 0xba 80808b0: 200a movs r0, #10 80808b2: f7d3 fd3f bl 8054334 80808b6: e010 b.n 80808da else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 80808b8: 4b0f ldr r3, [pc, #60] ; (80808f8 ) 80808ba: 7b1b ldrb r3, [r3, #12] 80808bc: b2db uxtb r3, r3 80808be: 4619 mov r1, r3 80808c0: 4a13 ldr r2, [pc, #76] ; (8080910 ) 80808c2: 460b mov r3, r1 80808c4: 00db lsls r3, r3, #3 80808c6: 440b add r3, r1 80808c8: 009b lsls r3, r3, #2 80808ca: 4413 add r3, r2 80808cc: 331c adds r3, #28 80808ce: 681b ldr r3, [r3, #0] 80808d0: 461a mov r2, r3 80808d2: 21ba movs r1, #186 ; 0xba 80808d4: 200a movs r0, #10 80808d6: f7d3 fd2d bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80808da: 4909 ldr r1, [pc, #36] ; (8080900 ) 80808dc: 4809 ldr r0, [pc, #36] ; (8080904 ) 80808de: f7d2 ff81 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, str); 80808e2: f507 733b add.w r3, r7, #748 ; 0x2ec 80808e6: 461a mov r2, r3 80808e8: 21ba movs r1, #186 ; 0xba 80808ea: f44f 7082 mov.w r0, #260 ; 0x104 80808ee: f7d3 fd39 bl 8054364 80808f2: f002 b865 b.w 80829c0 80808f6: bf00 nop 80808f8: 20023e60 .word 0x20023e60 80808fc: 20020224 .word 0x20020224 8080900: ff0a0f1f .word 0xff0a0f1f 8080904: ffd8aa57 .word 0xffd8aa57 8080908: ff808080 .word 0xff808080 808090c: 20020764 .word 0x20020764 8080910: 200207ac .word 0x200207ac 8080914: 20020070 .word 0x20020070 8080918: 200205c4 .word 0x200205c4 } } else if(menupos == RollMax_ALL) 808091c: 4bd2 ldr r3, [pc, #840] ; (8080c68 ) 808091e: 781b ldrb r3, [r3, #0] 8080920: b2db uxtb r3, r3 8080922: 2b08 cmp r3, #8 8080924: f040 80cb bne.w 8080abe { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080928: 49d0 ldr r1, [pc, #832] ; (8080c6c ) 808092a: f04f 30ff mov.w r0, #4294967295 808092e: f7d2 ff59 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8080932: 4bcf ldr r3, [pc, #828] ; (8080c70 ) 8080934: 7b1b ldrb r3, [r3, #12] 8080936: b2db uxtb r3, r3 8080938: 461a mov r2, r3 808093a: 4bce ldr r3, [pc, #824] ; (8080c74 ) 808093c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080940: 461a mov r2, r3 8080942: 213a movs r1, #58 ; 0x3a 8080944: 200a movs r0, #10 8080946: f7d3 fcf5 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808094a: 49c8 ldr r1, [pc, #800] ; (8080c6c ) 808094c: 48ca ldr r0, [pc, #808] ; (8080c78 ) 808094e: f7d2 ff49 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 8080952: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080956: 461a mov r2, r3 8080958: 214a movs r1, #74 ; 0x4a 808095a: f44f 7082 mov.w r0, #260 ; 0x104 808095e: f7d3 fd01 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080962: f507 735e add.w r3, r7, #888 ; 0x378 8080966: 461a mov r2, r3 8080968: 215a movs r1, #90 ; 0x5a 808096a: f44f 7082 mov.w r0, #260 ; 0x104 808096e: f7d3 fcf9 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080972: f507 7359 add.w r3, r7, #868 ; 0x364 8080976: 461a mov r2, r3 8080978: 216a movs r1, #106 ; 0x6a 808097a: f44f 7082 mov.w r0, #260 ; 0x104 808097e: f7d3 fcf1 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8080982: f507 7354 add.w r3, r7, #848 ; 0x350 8080986: 461a mov r2, r3 8080988: 217a movs r1, #122 ; 0x7a 808098a: f44f 7082 mov.w r0, #260 ; 0x104 808098e: f7d3 fce9 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8080992: f507 734f add.w r3, r7, #828 ; 0x33c 8080996: 461a mov r2, r3 8080998: 218a movs r1, #138 ; 0x8a 808099a: f44f 7082 mov.w r0, #260 ; 0x104 808099e: f7d3 fce1 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 80809a2: 4bb3 ldr r3, [pc, #716] ; (8080c70 ) 80809a4: 7b5b ldrb r3, [r3, #13] 80809a6: b2db uxtb r3, r3 80809a8: 461a mov r2, r3 80809aa: 4bb4 ldr r3, [pc, #720] ; (8080c7c ) 80809ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80809b0: 461a mov r2, r3 80809b2: 219a movs r1, #154 ; 0x9a 80809b4: f44f 7082 mov.w r0, #260 ; 0x104 80809b8: f7d3 fcd4 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 80809bc: f507 734a add.w r3, r7, #808 ; 0x328 80809c0: 461a mov r2, r3 80809c2: 21ca movs r1, #202 ; 0xca 80809c4: f44f 7082 mov.w r0, #260 ; 0x104 80809c8: f7d3 fccc bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 80809cc: 4ba8 ldr r3, [pc, #672] ; (8080c70 ) 80809ce: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80809d2: f003 0304 and.w r3, r3, #4 80809d6: 2b00 cmp r3, #0 80809d8: d035 beq.n 8080a46 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80809da: 49a4 ldr r1, [pc, #656] ; (8080c6c ) 80809dc: 48a8 ldr r0, [pc, #672] ; (8080c80 ) 80809de: f7d2 ff01 bl 80537e4 if(pardata.IIN != VOLTS) 80809e2: 4ba3 ldr r3, [pc, #652] ; (8080c70 ) 80809e4: 799b ldrb r3, [r3, #6] 80809e6: b2db uxtb r3, r3 80809e8: 2b02 cmp r3, #2 80809ea: d011 beq.n 8080a10 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 80809ec: 4ba0 ldr r3, [pc, #640] ; (8080c70 ) 80809ee: 7b1b ldrb r3, [r3, #12] 80809f0: b2db uxtb r3, r3 80809f2: 4619 mov r1, r3 80809f4: 4aa3 ldr r2, [pc, #652] ; (8080c84 ) 80809f6: 460b mov r3, r1 80809f8: 00db lsls r3, r3, #3 80809fa: 440b add r3, r1 80809fc: 009b lsls r3, r3, #2 80809fe: 4413 add r3, r2 8080a00: 331c adds r3, #28 8080a02: 681b ldr r3, [r3, #0] 8080a04: 461a mov r2, r3 8080a06: 21ba movs r1, #186 ; 0xba 8080a08: 200a movs r0, #10 8080a0a: f7d3 fc93 bl 8054334 8080a0e: e010 b.n 8080a32 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080a10: 4b97 ldr r3, [pc, #604] ; (8080c70 ) 8080a12: 7b1b ldrb r3, [r3, #12] 8080a14: b2db uxtb r3, r3 8080a16: 4619 mov r1, r3 8080a18: 4a9b ldr r2, [pc, #620] ; (8080c88 ) 8080a1a: 460b mov r3, r1 8080a1c: 00db lsls r3, r3, #3 8080a1e: 440b add r3, r1 8080a20: 009b lsls r3, r3, #2 8080a22: 4413 add r3, r2 8080a24: 331c adds r3, #28 8080a26: 681b ldr r3, [r3, #0] 8080a28: 461a mov r2, r3 8080a2a: 21ba movs r1, #186 ; 0xba 8080a2c: 200a movs r0, #10 8080a2e: f7d3 fc81 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_11, str); 8080a32: f507 733b add.w r3, r7, #748 ; 0x2ec 8080a36: 461a mov r2, r3 8080a38: 21ba movs r1, #186 ; 0xba 8080a3a: f44f 7082 mov.w r0, #260 ; 0x104 8080a3e: f7d3 fc91 bl 8054364 8080a42: f001 bfbd b.w 80829c0 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080a46: 4989 ldr r1, [pc, #548] ; (8080c6c ) 8080a48: f04f 30ff mov.w r0, #4294967295 8080a4c: f7d2 feca bl 80537e4 if(pardata.IIN != VOLTS) 8080a50: 4b87 ldr r3, [pc, #540] ; (8080c70 ) 8080a52: 799b ldrb r3, [r3, #6] 8080a54: b2db uxtb r3, r3 8080a56: 2b02 cmp r3, #2 8080a58: d011 beq.n 8080a7e LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080a5a: 4b85 ldr r3, [pc, #532] ; (8080c70 ) 8080a5c: 7b1b ldrb r3, [r3, #12] 8080a5e: b2db uxtb r3, r3 8080a60: 4619 mov r1, r3 8080a62: 4a88 ldr r2, [pc, #544] ; (8080c84 ) 8080a64: 460b mov r3, r1 8080a66: 00db lsls r3, r3, #3 8080a68: 440b add r3, r1 8080a6a: 009b lsls r3, r3, #2 8080a6c: 4413 add r3, r2 8080a6e: 331c adds r3, #28 8080a70: 681b ldr r3, [r3, #0] 8080a72: 461a mov r2, r3 8080a74: 21ba movs r1, #186 ; 0xba 8080a76: 200a movs r0, #10 8080a78: f7d3 fc5c bl 8054334 8080a7c: e010 b.n 8080aa0 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080a7e: 4b7c ldr r3, [pc, #496] ; (8080c70 ) 8080a80: 7b1b ldrb r3, [r3, #12] 8080a82: b2db uxtb r3, r3 8080a84: 4619 mov r1, r3 8080a86: 4a80 ldr r2, [pc, #512] ; (8080c88 ) 8080a88: 460b mov r3, r1 8080a8a: 00db lsls r3, r3, #3 8080a8c: 440b add r3, r1 8080a8e: 009b lsls r3, r3, #2 8080a90: 4413 add r3, r2 8080a92: 331c adds r3, #28 8080a94: 681b ldr r3, [r3, #0] 8080a96: 461a mov r2, r3 8080a98: 21ba movs r1, #186 ; 0xba 8080a9a: 200a movs r0, #10 8080a9c: f7d3 fc4a bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080aa0: 4972 ldr r1, [pc, #456] ; (8080c6c ) 8080aa2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080aa6: f7d2 fe9d bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, str); 8080aaa: f507 733b add.w r3, r7, #748 ; 0x2ec 8080aae: 461a mov r2, r3 8080ab0: 21ba movs r1, #186 ; 0xba 8080ab2: f44f 7082 mov.w r0, #260 ; 0x104 8080ab6: f7d3 fc55 bl 8054364 8080aba: f001 bf81 b.w 80829c0 } } else if(menupos == D_Rate) 8080abe: 4b6a ldr r3, [pc, #424] ; (8080c68 ) 8080ac0: 781b ldrb r3, [r3, #0] 8080ac2: b2db uxtb r3, r3 8080ac4: 2b09 cmp r3, #9 8080ac6: f040 80e1 bne.w 8080c8c { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080aca: 4968 ldr r1, [pc, #416] ; (8080c6c ) 8080acc: f04f 30ff mov.w r0, #4294967295 8080ad0: f7d2 fe88 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8080ad4: 4b66 ldr r3, [pc, #408] ; (8080c70 ) 8080ad6: 7b1b ldrb r3, [r3, #12] 8080ad8: b2db uxtb r3, r3 8080ada: 461a mov r2, r3 8080adc: 4b65 ldr r3, [pc, #404] ; (8080c74 ) 8080ade: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080ae2: 461a mov r2, r3 8080ae4: 213a movs r1, #58 ; 0x3a 8080ae6: 200a movs r0, #10 8080ae8: f7d3 fc24 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080aec: 495f ldr r1, [pc, #380] ; (8080c6c ) 8080aee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080af2: f7d2 fe77 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8080af6: f507 734a add.w r3, r7, #808 ; 0x328 8080afa: 461a mov r2, r3 8080afc: 21ca movs r1, #202 ; 0xca 8080afe: f44f 7082 mov.w r0, #260 ; 0x104 8080b02: f7d3 fc2f bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080b06: 4959 ldr r1, [pc, #356] ; (8080c6c ) 8080b08: 485b ldr r0, [pc, #364] ; (8080c78 ) 8080b0a: f7d2 fe6b bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 8080b0e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080b12: 461a mov r2, r3 8080b14: 214a movs r1, #74 ; 0x4a 8080b16: f44f 7082 mov.w r0, #260 ; 0x104 8080b1a: f7d3 fc23 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080b1e: f507 735e add.w r3, r7, #888 ; 0x378 8080b22: 461a mov r2, r3 8080b24: 215a movs r1, #90 ; 0x5a 8080b26: f44f 7082 mov.w r0, #260 ; 0x104 8080b2a: f7d3 fc1b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080b2e: f507 7359 add.w r3, r7, #868 ; 0x364 8080b32: 461a mov r2, r3 8080b34: 216a movs r1, #106 ; 0x6a 8080b36: f44f 7082 mov.w r0, #260 ; 0x104 8080b3a: f7d3 fc13 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8080b3e: f507 7354 add.w r3, r7, #848 ; 0x350 8080b42: 461a mov r2, r3 8080b44: 217a movs r1, #122 ; 0x7a 8080b46: f44f 7082 mov.w r0, #260 ; 0x104 8080b4a: f7d3 fc0b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8080b4e: f507 734f add.w r3, r7, #828 ; 0x33c 8080b52: 461a mov r2, r3 8080b54: 218a movs r1, #138 ; 0x8a 8080b56: f44f 7082 mov.w r0, #260 ; 0x104 8080b5a: f7d3 fc03 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8080b5e: 4b44 ldr r3, [pc, #272] ; (8080c70 ) 8080b60: 7b5b ldrb r3, [r3, #13] 8080b62: b2db uxtb r3, r3 8080b64: 461a mov r2, r3 8080b66: 4b45 ldr r3, [pc, #276] ; (8080c7c ) 8080b68: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080b6c: 461a mov r2, r3 8080b6e: 219a movs r1, #154 ; 0x9a 8080b70: f44f 7082 mov.w r0, #260 ; 0x104 8080b74: f7d3 fbf6 bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8080b78: 4b3d ldr r3, [pc, #244] ; (8080c70 ) 8080b7a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8080b7e: f003 0304 and.w r3, r3, #4 8080b82: 2b00 cmp r3, #0 8080b84: d035 beq.n 8080bf2 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8080b86: 4939 ldr r1, [pc, #228] ; (8080c6c ) 8080b88: 483d ldr r0, [pc, #244] ; (8080c80 ) 8080b8a: f7d2 fe2b bl 80537e4 if(pardata.IIN != VOLTS) 8080b8e: 4b38 ldr r3, [pc, #224] ; (8080c70 ) 8080b90: 799b ldrb r3, [r3, #6] 8080b92: b2db uxtb r3, r3 8080b94: 2b02 cmp r3, #2 8080b96: d011 beq.n 8080bbc LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080b98: 4b35 ldr r3, [pc, #212] ; (8080c70 ) 8080b9a: 7b1b ldrb r3, [r3, #12] 8080b9c: b2db uxtb r3, r3 8080b9e: 4619 mov r1, r3 8080ba0: 4a38 ldr r2, [pc, #224] ; (8080c84 ) 8080ba2: 460b mov r3, r1 8080ba4: 00db lsls r3, r3, #3 8080ba6: 440b add r3, r1 8080ba8: 009b lsls r3, r3, #2 8080baa: 4413 add r3, r2 8080bac: 331c adds r3, #28 8080bae: 681b ldr r3, [r3, #0] 8080bb0: 461a mov r2, r3 8080bb2: 21ba movs r1, #186 ; 0xba 8080bb4: 200a movs r0, #10 8080bb6: f7d3 fbbd bl 8054334 8080bba: e010 b.n 8080bde else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080bbc: 4b2c ldr r3, [pc, #176] ; (8080c70 ) 8080bbe: 7b1b ldrb r3, [r3, #12] 8080bc0: b2db uxtb r3, r3 8080bc2: 4619 mov r1, r3 8080bc4: 4a30 ldr r2, [pc, #192] ; (8080c88 ) 8080bc6: 460b mov r3, r1 8080bc8: 00db lsls r3, r3, #3 8080bca: 440b add r3, r1 8080bcc: 009b lsls r3, r3, #2 8080bce: 4413 add r3, r2 8080bd0: 331c adds r3, #28 8080bd2: 681b ldr r3, [r3, #0] 8080bd4: 461a mov r2, r3 8080bd6: 21ba movs r1, #186 ; 0xba 8080bd8: 200a movs r0, #10 8080bda: f7d3 fbab bl 8054334 LCD_DisplayStringC(260, LCD_LINE_11, str); 8080bde: f507 733b add.w r3, r7, #748 ; 0x2ec 8080be2: 461a mov r2, r3 8080be4: 21ba movs r1, #186 ; 0xba 8080be6: f44f 7082 mov.w r0, #260 ; 0x104 8080bea: f7d3 fbbb bl 8054364 8080bee: f001 bee7 b.w 80829c0 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080bf2: 491e ldr r1, [pc, #120] ; (8080c6c ) 8080bf4: f04f 30ff mov.w r0, #4294967295 8080bf8: f7d2 fdf4 bl 80537e4 if(pardata.IIN != VOLTS) 8080bfc: 4b1c ldr r3, [pc, #112] ; (8080c70 ) 8080bfe: 799b ldrb r3, [r3, #6] 8080c00: b2db uxtb r3, r3 8080c02: 2b02 cmp r3, #2 8080c04: d011 beq.n 8080c2a LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080c06: 4b1a ldr r3, [pc, #104] ; (8080c70 ) 8080c08: 7b1b ldrb r3, [r3, #12] 8080c0a: b2db uxtb r3, r3 8080c0c: 4619 mov r1, r3 8080c0e: 4a1d ldr r2, [pc, #116] ; (8080c84 ) 8080c10: 460b mov r3, r1 8080c12: 00db lsls r3, r3, #3 8080c14: 440b add r3, r1 8080c16: 009b lsls r3, r3, #2 8080c18: 4413 add r3, r2 8080c1a: 331c adds r3, #28 8080c1c: 681b ldr r3, [r3, #0] 8080c1e: 461a mov r2, r3 8080c20: 21ba movs r1, #186 ; 0xba 8080c22: 200a movs r0, #10 8080c24: f7d3 fb86 bl 8054334 8080c28: e010 b.n 8080c4c else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080c2a: 4b11 ldr r3, [pc, #68] ; (8080c70 ) 8080c2c: 7b1b ldrb r3, [r3, #12] 8080c2e: b2db uxtb r3, r3 8080c30: 4619 mov r1, r3 8080c32: 4a15 ldr r2, [pc, #84] ; (8080c88 ) 8080c34: 460b mov r3, r1 8080c36: 00db lsls r3, r3, #3 8080c38: 440b add r3, r1 8080c3a: 009b lsls r3, r3, #2 8080c3c: 4413 add r3, r2 8080c3e: 331c adds r3, #28 8080c40: 681b ldr r3, [r3, #0] 8080c42: 461a mov r2, r3 8080c44: 21ba movs r1, #186 ; 0xba 8080c46: 200a movs r0, #10 8080c48: f7d3 fb74 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080c4c: 4907 ldr r1, [pc, #28] ; (8080c6c ) 8080c4e: 480a ldr r0, [pc, #40] ; (8080c78 ) 8080c50: f7d2 fdc8 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, str); 8080c54: f507 733b add.w r3, r7, #748 ; 0x2ec 8080c58: 461a mov r2, r3 8080c5a: 21ba movs r1, #186 ; 0xba 8080c5c: f44f 7082 mov.w r0, #260 ; 0x104 8080c60: f7d3 fb80 bl 8054364 8080c64: f001 beac b.w 80829c0 8080c68: 20020070 .word 0x20020070 8080c6c: ff0a0f1f .word 0xff0a0f1f 8080c70: 20023e60 .word 0x20023e60 8080c74: 200205c4 .word 0x200205c4 8080c78: ffd8aa57 .word 0xffd8aa57 8080c7c: 20020224 .word 0x20020224 8080c80: ff808080 .word 0xff808080 8080c84: 20020764 .word 0x20020764 8080c88: 200207ac .word 0x200207ac } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080c8c: 49aa ldr r1, [pc, #680] ; (8080f38 ) 8080c8e: f04f 30ff mov.w r0, #4294967295 8080c92: f7d2 fda7 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]);//"Äàëåå" 8080c96: 4ba9 ldr r3, [pc, #676] ; (8080f3c ) 8080c98: 7b1b ldrb r3, [r3, #12] 8080c9a: b2db uxtb r3, r3 8080c9c: 461a mov r2, r3 8080c9e: 4ba8 ldr r3, [pc, #672] ; (8080f40 ) 8080ca0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080ca4: 461a mov r2, r3 8080ca6: 213a movs r1, #58 ; 0x3a 8080ca8: 200a movs r0, #10 8080caa: f7d3 fb43 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080cae: 49a2 ldr r1, [pc, #648] ; (8080f38 ) 8080cb0: 48a4 ldr r0, [pc, #656] ; (8080f44 ) 8080cb2: f7d2 fd97 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 8080cb6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8080cba: 461a mov r2, r3 8080cbc: 214a movs r1, #74 ; 0x4a 8080cbe: f44f 7082 mov.w r0, #260 ; 0x104 8080cc2: f7d3 fb4f bl 8054364 if((menupos < D_Roll_IES) || (menupos > D_Roll_IKT)) 8080cc6: 4ba0 ldr r3, [pc, #640] ; (8080f48 ) 8080cc8: 781b ldrb r3, [r3, #0] 8080cca: b2db uxtb r3, r3 8080ccc: 2b09 cmp r3, #9 8080cce: d904 bls.n 8080cda 8080cd0: 4b9d ldr r3, [pc, #628] ; (8080f48 ) 8080cd2: 781b ldrb r3, [r3, #0] 8080cd4: b2db uxtb r3, r3 8080cd6: 2b0f cmp r3, #15 8080cd8: d907 bls.n 8080cea LCD_DisplayStringC(260, LCD_LINE_5, str_roll); 8080cda: f507 735e add.w r3, r7, #888 ; 0x378 8080cde: 461a mov r2, r3 8080ce0: 215a movs r1, #90 ; 0x5a 8080ce2: f44f 7082 mov.w r0, #260 ; 0x104 8080ce6: f7d3 fb3d bl 8054364 if((menupos < D_Outer_IES) || (menupos > D_Outer_IKT)) 8080cea: 4b97 ldr r3, [pc, #604] ; (8080f48 ) 8080cec: 781b ldrb r3, [r3, #0] 8080cee: b2db uxtb r3, r3 8080cf0: 2b0f cmp r3, #15 8080cf2: d904 bls.n 8080cfe 8080cf4: 4b94 ldr r3, [pc, #592] ; (8080f48 ) 8080cf6: 781b ldrb r3, [r3, #0] 8080cf8: b2db uxtb r3, r3 8080cfa: 2b15 cmp r3, #21 8080cfc: d907 bls.n 8080d0e LCD_DisplayStringC(260, LCD_LINE_6, str_outer); 8080cfe: f507 7359 add.w r3, r7, #868 ; 0x364 8080d02: 461a mov r2, r3 8080d04: 216a movs r1, #106 ; 0x6a 8080d06: f44f 7082 mov.w r0, #260 ; 0x104 8080d0a: f7d3 fb2b bl 8054364 if((menupos < D_Inner_IES) || (menupos > D_Inner_IKT)) 8080d0e: 4b8e ldr r3, [pc, #568] ; (8080f48 ) 8080d10: 781b ldrb r3, [r3, #0] 8080d12: b2db uxtb r3, r3 8080d14: 2b15 cmp r3, #21 8080d16: d904 bls.n 8080d22 8080d18: 4b8b ldr r3, [pc, #556] ; (8080f48 ) 8080d1a: 781b ldrb r3, [r3, #0] 8080d1c: b2db uxtb r3, r3 8080d1e: 2b1b cmp r3, #27 8080d20: d907 bls.n 8080d32 LCD_DisplayStringC(260, LCD_LINE_7, str_inner); 8080d22: f507 7354 add.w r3, r7, #848 ; 0x350 8080d26: 461a mov r2, r3 8080d28: 217a movs r1, #122 ; 0x7a 8080d2a: f44f 7082 mov.w r0, #260 ; 0x104 8080d2e: f7d3 fb19 bl 8054364 if((menupos < D_Angle_IES) || (menupos > D_Angle_IKT)) 8080d32: 4b85 ldr r3, [pc, #532] ; (8080f48 ) 8080d34: 781b ldrb r3, [r3, #0] 8080d36: b2db uxtb r3, r3 8080d38: 2b1b cmp r3, #27 8080d3a: d904 bls.n 8080d46 8080d3c: 4b82 ldr r3, [pc, #520] ; (8080f48 ) 8080d3e: 781b ldrb r3, [r3, #0] 8080d40: b2db uxtb r3, r3 8080d42: 2b21 cmp r3, #33 ; 0x21 8080d44: d907 bls.n 8080d56 LCD_DisplayStringC(260, LCD_LINE_8, str_angle); 8080d46: f507 734f add.w r3, r7, #828 ; 0x33c 8080d4a: 461a mov r2, r3 8080d4c: 218a movs r1, #138 ; 0x8a 8080d4e: f44f 7082 mov.w r0, #260 ; 0x104 8080d52: f7d3 fb07 bl 8054364 if((menupos < D_Rate_IET) || (menupos > D_Rate_IEE)) 8080d56: 4b7c ldr r3, [pc, #496] ; (8080f48 ) 8080d58: 781b ldrb r3, [r3, #0] 8080d5a: b2db uxtb r3, r3 8080d5c: 2b21 cmp r3, #33 ; 0x21 8080d5e: d904 bls.n 8080d6a 8080d60: 4b79 ldr r3, [pc, #484] ; (8080f48 ) 8080d62: 781b ldrb r3, [r3, #0] 8080d64: b2db uxtb r3, r3 8080d66: 2b25 cmp r3, #37 ; 0x25 8080d68: d907 bls.n 8080d7a LCD_DisplayStringC(260, LCD_LINE_12, str_rate); 8080d6a: f507 734a add.w r3, r7, #808 ; 0x328 8080d6e: 461a mov r2, r3 8080d70: 21ca movs r1, #202 ; 0xca 8080d72: f44f 7082 mov.w r0, #260 ; 0x104 8080d76: f7d3 faf5 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pAVERAGE[pardata.AVG]); 8080d7a: 4b70 ldr r3, [pc, #448] ; (8080f3c ) 8080d7c: 7b5b ldrb r3, [r3, #13] 8080d7e: b2db uxtb r3, r3 8080d80: 461a mov r2, r3 8080d82: 4b72 ldr r3, [pc, #456] ; (8080f4c ) 8080d84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080d88: 461a mov r2, r3 8080d8a: 219a movs r1, #154 ; 0x9a 8080d8c: f44f 7082 mov.w r0, #260 ; 0x104 8080d90: f7d3 fae8 bl 8054364 if(pardata.OPTIONS & 0x4) // åñëè àâòîóñèëåíèå 8080d94: 4b69 ldr r3, [pc, #420] ; (8080f3c ) 8080d96: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8080d9a: f003 0304 and.w r3, r3, #4 8080d9e: 2b00 cmp r3, #0 8080da0: d034 beq.n 8080e0c { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8080da2: 4965 ldr r1, [pc, #404] ; (8080f38 ) 8080da4: 486a ldr r0, [pc, #424] ; (8080f50 ) 8080da6: f7d2 fd1d bl 80537e4 if(pardata.IIN != VOLTS) 8080daa: 4b64 ldr r3, [pc, #400] ; (8080f3c ) 8080dac: 799b ldrb r3, [r3, #6] 8080dae: b2db uxtb r3, r3 8080db0: 2b02 cmp r3, #2 8080db2: d011 beq.n 8080dd8 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080db4: 4b61 ldr r3, [pc, #388] ; (8080f3c ) 8080db6: 7b1b ldrb r3, [r3, #12] 8080db8: b2db uxtb r3, r3 8080dba: 4619 mov r1, r3 8080dbc: 4a65 ldr r2, [pc, #404] ; (8080f54 ) 8080dbe: 460b mov r3, r1 8080dc0: 00db lsls r3, r3, #3 8080dc2: 440b add r3, r1 8080dc4: 009b lsls r3, r3, #2 8080dc6: 4413 add r3, r2 8080dc8: 331c adds r3, #28 8080dca: 681b ldr r3, [r3, #0] 8080dcc: 461a mov r2, r3 8080dce: 21ba movs r1, #186 ; 0xba 8080dd0: 200a movs r0, #10 8080dd2: f7d3 faaf bl 8054334 8080dd6: e010 b.n 8080dfa else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080dd8: 4b58 ldr r3, [pc, #352] ; (8080f3c ) 8080dda: 7b1b ldrb r3, [r3, #12] 8080ddc: b2db uxtb r3, r3 8080dde: 4619 mov r1, r3 8080de0: 4a5d ldr r2, [pc, #372] ; (8080f58 ) 8080de2: 460b mov r3, r1 8080de4: 00db lsls r3, r3, #3 8080de6: 440b add r3, r1 8080de8: 009b lsls r3, r3, #2 8080dea: 4413 add r3, r2 8080dec: 331c adds r3, #28 8080dee: 681b ldr r3, [r3, #0] 8080df0: 461a mov r2, r3 8080df2: 21ba movs r1, #186 ; 0xba 8080df4: 200a movs r0, #10 8080df6: f7d3 fa9d bl 8054334 LCD_DisplayStringC(260, LCD_LINE_11, str); 8080dfa: f507 733b add.w r3, r7, #748 ; 0x2ec 8080dfe: 461a mov r2, r3 8080e00: 21ba movs r1, #186 ; 0xba 8080e02: f44f 7082 mov.w r0, #260 ; 0x104 8080e06: f7d3 faad bl 8054364 8080e0a: e042 b.n 8080e92 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8080e0c: 494a ldr r1, [pc, #296] ; (8080f38 ) 8080e0e: f04f 30ff mov.w r0, #4294967295 8080e12: f7d2 fce7 bl 80537e4 if(pardata.IIN != VOLTS) 8080e16: 4b49 ldr r3, [pc, #292] ; (8080f3c ) 8080e18: 799b ldrb r3, [r3, #6] 8080e1a: b2db uxtb r3, r3 8080e1c: 2b02 cmp r3, #2 8080e1e: d011 beq.n 8080e44 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL[pardata.LANG][7]);//"Max.âîçä.,ì/ñ2" 8080e20: 4b46 ldr r3, [pc, #280] ; (8080f3c ) 8080e22: 7b1b ldrb r3, [r3, #12] 8080e24: b2db uxtb r3, r3 8080e26: 4619 mov r1, r3 8080e28: 4a4a ldr r2, [pc, #296] ; (8080f54 ) 8080e2a: 460b mov r3, r1 8080e2c: 00db lsls r3, r3, #3 8080e2e: 440b add r3, r1 8080e30: 009b lsls r3, r3, #2 8080e32: 4413 add r3, r2 8080e34: 331c adds r3, #28 8080e36: 681b ldr r3, [r3, #0] 8080e38: 461a mov r2, r3 8080e3a: 21ba movs r1, #186 ; 0xba 8080e3c: 200a movs r0, #10 8080e3e: f7d3 fa79 bl 8054334 8080e42: e010 b.n 8080e66 else LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_ROLL_mV[pardata.LANG][7]);//"Max.âîçä.,ìÂ" 8080e44: 4b3d ldr r3, [pc, #244] ; (8080f3c ) 8080e46: 7b1b ldrb r3, [r3, #12] 8080e48: b2db uxtb r3, r3 8080e4a: 4619 mov r1, r3 8080e4c: 4a42 ldr r2, [pc, #264] ; (8080f58 ) 8080e4e: 460b mov r3, r1 8080e50: 00db lsls r3, r3, #3 8080e52: 440b add r3, r1 8080e54: 009b lsls r3, r3, #2 8080e56: 4413 add r3, r2 8080e58: 331c adds r3, #28 8080e5a: 681b ldr r3, [r3, #0] 8080e5c: 461a mov r2, r3 8080e5e: 21ba movs r1, #186 ; 0xba 8080e60: 200a movs r0, #10 8080e62: f7d3 fa67 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080e66: 4934 ldr r1, [pc, #208] ; (8080f38 ) 8080e68: 4836 ldr r0, [pc, #216] ; (8080f44 ) 8080e6a: f7d2 fcbb bl 80537e4 if((menupos < RollMax_IDT) || (menupos > RollMax_IKD)) 8080e6e: 4b36 ldr r3, [pc, #216] ; (8080f48 ) 8080e70: 781b ldrb r3, [r3, #0] 8080e72: b2db uxtb r3, r3 8080e74: 2b25 cmp r3, #37 ; 0x25 8080e76: d904 bls.n 8080e82 8080e78: 4b33 ldr r3, [pc, #204] ; (8080f48 ) 8080e7a: 781b ldrb r3, [r3, #0] 8080e7c: b2db uxtb r3, r3 8080e7e: 2b2b cmp r3, #43 ; 0x2b 8080e80: d907 bls.n 8080e92 LCD_DisplayStringC(260, LCD_LINE_11, str); 8080e82: f507 733b add.w r3, r7, #748 ; 0x2ec 8080e86: 461a mov r2, r3 8080e88: 21ba movs r1, #186 ; 0xba 8080e8a: f44f 7082 mov.w r0, #260 ; 0x104 8080e8e: f7d3 fa69 bl 8054364 } if((menupos >= D_Rate_IET) && (menupos <= D_Rate_IEE)) 8080e92: 4b2d ldr r3, [pc, #180] ; (8080f48 ) 8080e94: 781b ldrb r3, [r3, #0] 8080e96: b2db uxtb r3, r3 8080e98: 2b21 cmp r3, #33 ; 0x21 8080e9a: f240 8136 bls.w 808110a 8080e9e: 4b2a ldr r3, [pc, #168] ; (8080f48 ) 8080ea0: 781b ldrb r3, [r3, #0] 8080ea2: b2db uxtb r3, r3 8080ea4: 2b25 cmp r3, #37 ; 0x25 8080ea6: f200 8130 bhi.w 808110a { if(menupos == D_Rate_IET) 8080eaa: 4b27 ldr r3, [pc, #156] ; (8080f48 ) 8080eac: 781b ldrb r3, [r3, #0] 8080eae: b2db uxtb r3, r3 8080eb0: 2b22 cmp r3, #34 ; 0x22 8080eb2: d157 bne.n 8080f64 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080eb4: 4920 ldr r1, [pc, #128] ; (8080f38 ) 8080eb6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080eba: f7d2 fc93 bl 80537e4 if(blk) 8080ebe: 4b27 ldr r3, [pc, #156] ; (8080f5c ) 8080ec0: 681b ldr r3, [r3, #0] 8080ec2: 2b00 cmp r3, #0 8080ec4: d00b beq.n 8080ede LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 8080ec6: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8080eca: b2db uxtb r3, r3 8080ecc: 461a mov r2, r3 8080ece: 4b24 ldr r3, [pc, #144] ; (8080f60 ) 8080ed0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080ed4: 461a mov r2, r3 8080ed6: 21ca movs r1, #202 ; 0xca 8080ed8: 20e6 movs r0, #230 ; 0xe6 8080eda: f7d3 fa2b bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080ede: 4916 ldr r1, [pc, #88] ; (8080f38 ) 8080ee0: 4818 ldr r0, [pc, #96] ; (8080f44 ) 8080ee2: f7d2 fc7f bl 80537e4 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 8080ee6: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 8080eea: b2db uxtb r3, r3 8080eec: 461a mov r2, r3 8080eee: 4b1c ldr r3, [pc, #112] ; (8080f60 ) 8080ef0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080ef4: 461a mov r2, r3 8080ef6: 21ca movs r1, #202 ; 0xca 8080ef8: 20f6 movs r0, #246 ; 0xf6 8080efa: f7d3 fa1b bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 8080efe: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8080f02: b2db uxtb r3, r3 8080f04: 461a mov r2, r3 8080f06: 4b16 ldr r3, [pc, #88] ; (8080f60 ) 8080f08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080f0c: 461a mov r2, r3 8080f0e: 21ca movs r1, #202 ; 0xca 8080f10: f44f 7083 mov.w r0, #262 ; 0x106 8080f14: f7d3 fa0e bl 8054334 LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 8080f18: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8080f1c: b2db uxtb r3, r3 8080f1e: 461a mov r2, r3 8080f20: 4b0f ldr r3, [pc, #60] ; (8080f60 ) 8080f22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080f26: 461a mov r2, r3 8080f28: 21ca movs r1, #202 ; 0xca 8080f2a: f44f 708b mov.w r0, #278 ; 0x116 8080f2e: f7d3 fa01 bl 8054334 if(menupos == D_Rate_IET) 8080f32: f001 bd3c b.w 80829ae 8080f36: bf00 nop 8080f38: ff0a0f1f .word 0xff0a0f1f 8080f3c: 20023e60 .word 0x20023e60 8080f40: 200205c4 .word 0x200205c4 8080f44: ffd8aa57 .word 0xffd8aa57 8080f48: 20020070 .word 0x20020070 8080f4c: 20020224 .word 0x20020224 8080f50: ff808080 .word 0xff808080 8080f54: 20020764 .word 0x20020764 8080f58: 200207ac .word 0x200207ac 8080f5c: 2002165c .word 0x2002165c 8080f60: 20020964 .word 0x20020964 } else if(menupos == D_Rate_IES) 8080f64: 4ba1 ldr r3, [pc, #644] ; (80811ec ) 8080f66: 781b ldrb r3, [r3, #0] 8080f68: b2db uxtb r3, r3 8080f6a: 2b23 cmp r3, #35 ; 0x23 8080f6c: d140 bne.n 8080ff0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080f6e: 49a0 ldr r1, [pc, #640] ; (80811f0 ) 8080f70: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8080f74: f7d2 fc36 bl 80537e4 if(blk) 8080f78: 4b9e ldr r3, [pc, #632] ; (80811f4 ) 8080f7a: 681b ldr r3, [r3, #0] 8080f7c: 2b00 cmp r3, #0 8080f7e: d00b beq.n 8080f98 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 8080f80: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 8080f84: b2db uxtb r3, r3 8080f86: 461a mov r2, r3 8080f88: 4b9b ldr r3, [pc, #620] ; (80811f8 ) 8080f8a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080f8e: 461a mov r2, r3 8080f90: 21ca movs r1, #202 ; 0xca 8080f92: 20f6 movs r0, #246 ; 0xf6 8080f94: f7d3 f9ce bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8080f98: 4995 ldr r1, [pc, #596] ; (80811f0 ) 8080f9a: 4898 ldr r0, [pc, #608] ; (80811fc ) 8080f9c: f7d2 fc22 bl 80537e4 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 8080fa0: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8080fa4: b2db uxtb r3, r3 8080fa6: 461a mov r2, r3 8080fa8: 4b93 ldr r3, [pc, #588] ; (80811f8 ) 8080faa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080fae: 461a mov r2, r3 8080fb0: 21ca movs r1, #202 ; 0xca 8080fb2: 20e6 movs r0, #230 ; 0xe6 8080fb4: f7d3 f9be bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 8080fb8: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8080fbc: b2db uxtb r3, r3 8080fbe: 461a mov r2, r3 8080fc0: 4b8d ldr r3, [pc, #564] ; (80811f8 ) 8080fc2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080fc6: 461a mov r2, r3 8080fc8: 21ca movs r1, #202 ; 0xca 8080fca: f44f 7083 mov.w r0, #262 ; 0x106 8080fce: f7d3 f9b1 bl 8054334 LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 8080fd2: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8080fd6: b2db uxtb r3, r3 8080fd8: 461a mov r2, r3 8080fda: 4b87 ldr r3, [pc, #540] ; (80811f8 ) 8080fdc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8080fe0: 461a mov r2, r3 8080fe2: 21ca movs r1, #202 ; 0xca 8080fe4: f44f 708b mov.w r0, #278 ; 0x116 8080fe8: f7d3 f9a4 bl 8054334 if(menupos == D_Rate_IET) 8080fec: f001 bcdf b.w 80829ae } else if(menupos == D_Rate_IED) 8080ff0: 4b7e ldr r3, [pc, #504] ; (80811ec ) 8080ff2: 781b ldrb r3, [r3, #0] 8080ff4: b2db uxtb r3, r3 8080ff6: 2b24 cmp r3, #36 ; 0x24 8080ff8: d140 bne.n 808107c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8080ffa: 497d ldr r1, [pc, #500] ; (80811f0 ) 8080ffc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081000: f7d2 fbf0 bl 80537e4 if(blk) 8081004: 4b7b ldr r3, [pc, #492] ; (80811f4 ) 8081006: 681b ldr r3, [r3, #0] 8081008: 2b00 cmp r3, #0 808100a: d00c beq.n 8081026 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 808100c: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 8081010: b2db uxtb r3, r3 8081012: 461a mov r2, r3 8081014: 4b78 ldr r3, [pc, #480] ; (80811f8 ) 8081016: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808101a: 461a mov r2, r3 808101c: 21ca movs r1, #202 ; 0xca 808101e: f44f 7083 mov.w r0, #262 ; 0x106 8081022: f7d3 f987 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081026: 4972 ldr r1, [pc, #456] ; (80811f0 ) 8081028: 4874 ldr r0, [pc, #464] ; (80811fc ) 808102a: f7d2 fbdb bl 80537e4 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 808102e: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 8081032: b2db uxtb r3, r3 8081034: 461a mov r2, r3 8081036: 4b70 ldr r3, [pc, #448] ; (80811f8 ) 8081038: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808103c: 461a mov r2, r3 808103e: 21ca movs r1, #202 ; 0xca 8081040: 20e6 movs r0, #230 ; 0xe6 8081042: f7d3 f977 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 8081046: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 808104a: b2db uxtb r3, r3 808104c: 461a mov r2, r3 808104e: 4b6a ldr r3, [pc, #424] ; (80811f8 ) 8081050: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081054: 461a mov r2, r3 8081056: 21ca movs r1, #202 ; 0xca 8081058: 20f6 movs r0, #246 ; 0xf6 808105a: f7d3 f96b bl 8054334 LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 808105e: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 8081062: b2db uxtb r3, r3 8081064: 461a mov r2, r3 8081066: 4b64 ldr r3, [pc, #400] ; (80811f8 ) 8081068: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808106c: 461a mov r2, r3 808106e: 21ca movs r1, #202 ; 0xca 8081070: f44f 708b mov.w r0, #278 ; 0x116 8081074: f7d3 f95e bl 8054334 if(menupos == D_Rate_IET) 8081078: f001 bc99 b.w 80829ae } else if(menupos == D_Rate_IEE) 808107c: 4b5b ldr r3, [pc, #364] ; (80811ec ) 808107e: 781b ldrb r3, [r3, #0] 8081080: b2db uxtb r3, r3 8081082: 2b25 cmp r3, #37 ; 0x25 8081084: f041 8493 bne.w 80829ae { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081088: 4959 ldr r1, [pc, #356] ; (80811f0 ) 808108a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808108e: f7d2 fba9 bl 80537e4 if(blk) 8081092: 4b58 ldr r3, [pc, #352] ; (80811f4 ) 8081094: 681b ldr r3, [r3, #0] 8081096: 2b00 cmp r3, #0 8081098: d00c beq.n 80810b4 LCD_DisplayString(278, LCD_LINE_12, (char *) pNUMS[rate_iee]); 808109a: f897 3391 ldrb.w r3, [r7, #913] ; 0x391 808109e: b2db uxtb r3, r3 80810a0: 461a mov r2, r3 80810a2: 4b55 ldr r3, [pc, #340] ; (80811f8 ) 80810a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80810a8: 461a mov r2, r3 80810aa: 21ca movs r1, #202 ; 0xca 80810ac: f44f 708b mov.w r0, #278 ; 0x116 80810b0: f7d3 f940 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80810b4: 494e ldr r1, [pc, #312] ; (80811f0 ) 80810b6: 4851 ldr r0, [pc, #324] ; (80811fc ) 80810b8: f7d2 fb94 bl 80537e4 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[rate_iet]); 80810bc: f897 3394 ldrb.w r3, [r7, #916] ; 0x394 80810c0: b2db uxtb r3, r3 80810c2: 461a mov r2, r3 80810c4: 4b4c ldr r3, [pc, #304] ; (80811f8 ) 80810c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80810ca: 461a mov r2, r3 80810cc: 21ca movs r1, #202 ; 0xca 80810ce: 20e6 movs r0, #230 ; 0xe6 80810d0: f7d3 f930 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[rate_ies]); 80810d4: f897 3393 ldrb.w r3, [r7, #915] ; 0x393 80810d8: b2db uxtb r3, r3 80810da: 461a mov r2, r3 80810dc: 4b46 ldr r3, [pc, #280] ; (80811f8 ) 80810de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80810e2: 461a mov r2, r3 80810e4: 21ca movs r1, #202 ; 0xca 80810e6: 20f6 movs r0, #246 ; 0xf6 80810e8: f7d3 f924 bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[rate_ied]); 80810ec: f897 3392 ldrb.w r3, [r7, #914] ; 0x392 80810f0: b2db uxtb r3, r3 80810f2: 461a mov r2, r3 80810f4: 4b40 ldr r3, [pc, #256] ; (80811f8 ) 80810f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80810fa: 461a mov r2, r3 80810fc: 21ca movs r1, #202 ; 0xca 80810fe: f44f 7083 mov.w r0, #262 ; 0x106 8081102: f7d3 f917 bl 8054334 if(menupos == D_Rate_IET) 8081106: f001 bc52 b.w 80829ae } } else if((menupos >= D_Roll_IES) && (menupos <= D_Roll_IKT)) 808110a: 4b38 ldr r3, [pc, #224] ; (80811ec ) 808110c: 781b ldrb r3, [r3, #0] 808110e: b2db uxtb r3, r3 8081110: 2b09 cmp r3, #9 8081112: f240 8278 bls.w 8081606 8081116: 4b35 ldr r3, [pc, #212] ; (80811ec ) 8081118: 781b ldrb r3, [r3, #0] 808111a: b2db uxtb r3, r3 808111c: 2b0f cmp r3, #15 808111e: f200 8272 bhi.w 8081606 { if(menupos == D_Roll_IES) 8081122: 4b32 ldr r3, [pc, #200] ; (80811ec ) 8081124: 781b ldrb r3, [r3, #0] 8081126: b2db uxtb r3, r3 8081128: 2b0a cmp r3, #10 808112a: d16b bne.n 8081204 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808112c: 4930 ldr r1, [pc, #192] ; (80811f0 ) 808112e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081132: f7d2 fb57 bl 80537e4 if(blk) 8081136: 4b2f ldr r3, [pc, #188] ; (80811f4 ) 8081138: 681b ldr r3, [r3, #0] 808113a: 2b00 cmp r3, #0 808113c: d00b beq.n 8081156 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 808113e: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8081142: b2db uxtb r3, r3 8081144: 461a mov r2, r3 8081146: 4b2c ldr r3, [pc, #176] ; (80811f8 ) 8081148: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808114c: 461a mov r2, r3 808114e: 215a movs r1, #90 ; 0x5a 8081150: 20c6 movs r0, #198 ; 0xc6 8081152: f7d3 f8ef bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081156: 4926 ldr r1, [pc, #152] ; (80811f0 ) 8081158: 4828 ldr r0, [pc, #160] ; (80811fc ) 808115a: f7d2 fb43 bl 80537e4 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 808115e: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 8081162: b2db uxtb r3, r3 8081164: 461a mov r2, r3 8081166: 4b24 ldr r3, [pc, #144] ; (80811f8 ) 8081168: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808116c: 461a mov r2, r3 808116e: 215a movs r1, #90 ; 0x5a 8081170: 20d6 movs r0, #214 ; 0xd6 8081172: f7d3 f8df bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 8081176: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 808117a: b2db uxtb r3, r3 808117c: 461a mov r2, r3 808117e: 4b1e ldr r3, [pc, #120] ; (80811f8 ) 8081180: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081184: 461a mov r2, r3 8081186: 215a movs r1, #90 ; 0x5a 8081188: 20e6 movs r0, #230 ; 0xe6 808118a: f7d3 f8d3 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 808118e: 4a1c ldr r2, [pc, #112] ; (8081200 ) 8081190: 215a movs r1, #90 ; 0x5a 8081192: 20f6 movs r0, #246 ; 0xf6 8081194: f7d3 f8ce bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 8081198: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 808119c: b2db uxtb r3, r3 808119e: 461a mov r2, r3 80811a0: 4b15 ldr r3, [pc, #84] ; (80811f8 ) 80811a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80811a6: 461a mov r2, r3 80811a8: 215a movs r1, #90 ; 0x5a 80811aa: f44f 7083 mov.w r0, #262 ; 0x106 80811ae: f7d3 f8c1 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 80811b2: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 80811b6: b2db uxtb r3, r3 80811b8: 461a mov r2, r3 80811ba: 4b0f ldr r3, [pc, #60] ; (80811f8 ) 80811bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80811c0: 461a mov r2, r3 80811c2: 215a movs r1, #90 ; 0x5a 80811c4: f44f 708b mov.w r0, #278 ; 0x116 80811c8: f7d3 f8b4 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 80811cc: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 80811d0: b2db uxtb r3, r3 80811d2: 461a mov r2, r3 80811d4: 4b08 ldr r3, [pc, #32] ; (80811f8 ) 80811d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80811da: 461a mov r2, r3 80811dc: 215a movs r1, #90 ; 0x5a 80811de: f44f 7093 mov.w r0, #294 ; 0x126 80811e2: f7d3 f8a7 bl 8054334 if(menupos == D_Roll_IES) 80811e6: f001 bbe4 b.w 80829b2 80811ea: bf00 nop 80811ec: 20020070 .word 0x20020070 80811f0: ff0a0f1f .word 0xff0a0f1f 80811f4: 2002165c .word 0x2002165c 80811f8: 20020964 .word 0x20020964 80811fc: ffd8aa57 .word 0xffd8aa57 8081200: 080cf820 .word 0x080cf820 } else if(menupos == D_Roll_IED) 8081204: 4bc7 ldr r3, [pc, #796] ; (8081524 ) 8081206: 781b ldrb r3, [r3, #0] 8081208: b2db uxtb r3, r3 808120a: 2b0b cmp r3, #11 808120c: d15e bne.n 80812cc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808120e: 49c6 ldr r1, [pc, #792] ; (8081528 ) 8081210: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081214: f7d2 fae6 bl 80537e4 if(blk) 8081218: 4bc4 ldr r3, [pc, #784] ; (808152c ) 808121a: 681b ldr r3, [r3, #0] 808121c: 2b00 cmp r3, #0 808121e: d00b beq.n 8081238 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 8081220: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 8081224: b2db uxtb r3, r3 8081226: 461a mov r2, r3 8081228: 4bc1 ldr r3, [pc, #772] ; (8081530 ) 808122a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808122e: 461a mov r2, r3 8081230: 215a movs r1, #90 ; 0x5a 8081232: 20d6 movs r0, #214 ; 0xd6 8081234: f7d3 f87e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081238: 49bb ldr r1, [pc, #748] ; (8081528 ) 808123a: 48be ldr r0, [pc, #760] ; (8081534 ) 808123c: f7d2 fad2 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8081240: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8081244: b2db uxtb r3, r3 8081246: 461a mov r2, r3 8081248: 4bb9 ldr r3, [pc, #740] ; (8081530 ) 808124a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808124e: 461a mov r2, r3 8081250: 215a movs r1, #90 ; 0x5a 8081252: 20c6 movs r0, #198 ; 0xc6 8081254: f7d3 f86e bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 8081258: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 808125c: b2db uxtb r3, r3 808125e: 461a mov r2, r3 8081260: 4bb3 ldr r3, [pc, #716] ; (8081530 ) 8081262: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081266: 461a mov r2, r3 8081268: 215a movs r1, #90 ; 0x5a 808126a: 20e6 movs r0, #230 ; 0xe6 808126c: f7d3 f862 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 8081270: 4ab1 ldr r2, [pc, #708] ; (8081538 ) 8081272: 215a movs r1, #90 ; 0x5a 8081274: 20f6 movs r0, #246 ; 0xf6 8081276: f7d3 f85d bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 808127a: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 808127e: b2db uxtb r3, r3 8081280: 461a mov r2, r3 8081282: 4bab ldr r3, [pc, #684] ; (8081530 ) 8081284: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081288: 461a mov r2, r3 808128a: 215a movs r1, #90 ; 0x5a 808128c: f44f 7083 mov.w r0, #262 ; 0x106 8081290: f7d3 f850 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 8081294: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 8081298: b2db uxtb r3, r3 808129a: 461a mov r2, r3 808129c: 4ba4 ldr r3, [pc, #656] ; (8081530 ) 808129e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80812a2: 461a mov r2, r3 80812a4: 215a movs r1, #90 ; 0x5a 80812a6: f44f 708b mov.w r0, #278 ; 0x116 80812aa: f7d3 f843 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 80812ae: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 80812b2: b2db uxtb r3, r3 80812b4: 461a mov r2, r3 80812b6: 4b9e ldr r3, [pc, #632] ; (8081530 ) 80812b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80812bc: 461a mov r2, r3 80812be: 215a movs r1, #90 ; 0x5a 80812c0: f44f 7093 mov.w r0, #294 ; 0x126 80812c4: f7d3 f836 bl 8054334 if(menupos == D_Roll_IES) 80812c8: f001 bb73 b.w 80829b2 } else if(menupos == D_Roll_IEE) 80812cc: 4b95 ldr r3, [pc, #596] ; (8081524 ) 80812ce: 781b ldrb r3, [r3, #0] 80812d0: b2db uxtb r3, r3 80812d2: 2b0c cmp r3, #12 80812d4: d15e bne.n 8081394 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80812d6: 4994 ldr r1, [pc, #592] ; (8081528 ) 80812d8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80812dc: f7d2 fa82 bl 80537e4 if(blk) 80812e0: 4b92 ldr r3, [pc, #584] ; (808152c ) 80812e2: 681b ldr r3, [r3, #0] 80812e4: 2b00 cmp r3, #0 80812e6: d00b beq.n 8081300 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 80812e8: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 80812ec: b2db uxtb r3, r3 80812ee: 461a mov r2, r3 80812f0: 4b8f ldr r3, [pc, #572] ; (8081530 ) 80812f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80812f6: 461a mov r2, r3 80812f8: 215a movs r1, #90 ; 0x5a 80812fa: 20e6 movs r0, #230 ; 0xe6 80812fc: f7d3 f81a bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081300: 4989 ldr r1, [pc, #548] ; (8081528 ) 8081302: 488c ldr r0, [pc, #560] ; (8081534 ) 8081304: f7d2 fa6e bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 8081308: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 808130c: b2db uxtb r3, r3 808130e: 461a mov r2, r3 8081310: 4b87 ldr r3, [pc, #540] ; (8081530 ) 8081312: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081316: 461a mov r2, r3 8081318: 215a movs r1, #90 ; 0x5a 808131a: 20c6 movs r0, #198 ; 0xc6 808131c: f7d3 f80a bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 8081320: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 8081324: b2db uxtb r3, r3 8081326: 461a mov r2, r3 8081328: 4b81 ldr r3, [pc, #516] ; (8081530 ) 808132a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808132e: 461a mov r2, r3 8081330: 215a movs r1, #90 ; 0x5a 8081332: 20d6 movs r0, #214 ; 0xd6 8081334: f7d2 fffe bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 8081338: 4a7f ldr r2, [pc, #508] ; (8081538 ) 808133a: 215a movs r1, #90 ; 0x5a 808133c: 20f6 movs r0, #246 ; 0xf6 808133e: f7d2 fff9 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 8081342: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 8081346: b2db uxtb r3, r3 8081348: 461a mov r2, r3 808134a: 4b79 ldr r3, [pc, #484] ; (8081530 ) 808134c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081350: 461a mov r2, r3 8081352: 215a movs r1, #90 ; 0x5a 8081354: f44f 7083 mov.w r0, #262 ; 0x106 8081358: f7d2 ffec bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 808135c: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 8081360: b2db uxtb r3, r3 8081362: 461a mov r2, r3 8081364: 4b72 ldr r3, [pc, #456] ; (8081530 ) 8081366: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808136a: 461a mov r2, r3 808136c: 215a movs r1, #90 ; 0x5a 808136e: f44f 708b mov.w r0, #278 ; 0x116 8081372: f7d2 ffdf bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 8081376: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 808137a: b2db uxtb r3, r3 808137c: 461a mov r2, r3 808137e: 4b6c ldr r3, [pc, #432] ; (8081530 ) 8081380: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081384: 461a mov r2, r3 8081386: 215a movs r1, #90 ; 0x5a 8081388: f44f 7093 mov.w r0, #294 ; 0x126 808138c: f7d2 ffd2 bl 8054334 if(menupos == D_Roll_IES) 8081390: f001 bb0f b.w 80829b2 } else if(menupos == D_Roll_IKD) 8081394: 4b63 ldr r3, [pc, #396] ; (8081524 ) 8081396: 781b ldrb r3, [r3, #0] 8081398: b2db uxtb r3, r3 808139a: 2b0d cmp r3, #13 808139c: d15e bne.n 808145c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808139e: 4962 ldr r1, [pc, #392] ; (8081528 ) 80813a0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80813a4: f7d2 fa1e bl 80537e4 if(blk) 80813a8: 4b60 ldr r3, [pc, #384] ; (808152c ) 80813aa: 681b ldr r3, [r3, #0] 80813ac: 2b00 cmp r3, #0 80813ae: d00c beq.n 80813ca LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 80813b0: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 80813b4: b2db uxtb r3, r3 80813b6: 461a mov r2, r3 80813b8: 4b5d ldr r3, [pc, #372] ; (8081530 ) 80813ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80813be: 461a mov r2, r3 80813c0: 215a movs r1, #90 ; 0x5a 80813c2: f44f 7083 mov.w r0, #262 ; 0x106 80813c6: f7d2 ffb5 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80813ca: 4957 ldr r1, [pc, #348] ; (8081528 ) 80813cc: 4859 ldr r0, [pc, #356] ; (8081534 ) 80813ce: f7d2 fa09 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 80813d2: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 80813d6: b2db uxtb r3, r3 80813d8: 461a mov r2, r3 80813da: 4b55 ldr r3, [pc, #340] ; (8081530 ) 80813dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80813e0: 461a mov r2, r3 80813e2: 215a movs r1, #90 ; 0x5a 80813e4: 20c6 movs r0, #198 ; 0xc6 80813e6: f7d2 ffa5 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 80813ea: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 80813ee: b2db uxtb r3, r3 80813f0: 461a mov r2, r3 80813f2: 4b4f ldr r3, [pc, #316] ; (8081530 ) 80813f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80813f8: 461a mov r2, r3 80813fa: 215a movs r1, #90 ; 0x5a 80813fc: 20d6 movs r0, #214 ; 0xd6 80813fe: f7d2 ff99 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 8081402: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 8081406: b2db uxtb r3, r3 8081408: 461a mov r2, r3 808140a: 4b49 ldr r3, [pc, #292] ; (8081530 ) 808140c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081410: 461a mov r2, r3 8081412: 215a movs r1, #90 ; 0x5a 8081414: 20e6 movs r0, #230 ; 0xe6 8081416: f7d2 ff8d bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 808141a: 4a47 ldr r2, [pc, #284] ; (8081538 ) 808141c: 215a movs r1, #90 ; 0x5a 808141e: 20f6 movs r0, #246 ; 0xf6 8081420: f7d2 ff88 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 8081424: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 8081428: b2db uxtb r3, r3 808142a: 461a mov r2, r3 808142c: 4b40 ldr r3, [pc, #256] ; (8081530 ) 808142e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081432: 461a mov r2, r3 8081434: 215a movs r1, #90 ; 0x5a 8081436: f44f 708b mov.w r0, #278 ; 0x116 808143a: f7d2 ff7b bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 808143e: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 8081442: b2db uxtb r3, r3 8081444: 461a mov r2, r3 8081446: 4b3a ldr r3, [pc, #232] ; (8081530 ) 8081448: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808144c: 461a mov r2, r3 808144e: 215a movs r1, #90 ; 0x5a 8081450: f44f 7093 mov.w r0, #294 ; 0x126 8081454: f7d2 ff6e bl 8054334 if(menupos == D_Roll_IES) 8081458: f001 baab b.w 80829b2 } else if(menupos == D_Roll_IKS) 808145c: 4b31 ldr r3, [pc, #196] ; (8081524 ) 808145e: 781b ldrb r3, [r3, #0] 8081460: b2db uxtb r3, r3 8081462: 2b0e cmp r3, #14 8081464: d16a bne.n 808153c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081466: 4930 ldr r1, [pc, #192] ; (8081528 ) 8081468: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808146c: f7d2 f9ba bl 80537e4 if(blk) 8081470: 4b2e ldr r3, [pc, #184] ; (808152c ) 8081472: 681b ldr r3, [r3, #0] 8081474: 2b00 cmp r3, #0 8081476: d00c beq.n 8081492 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 8081478: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 808147c: b2db uxtb r3, r3 808147e: 461a mov r2, r3 8081480: 4b2b ldr r3, [pc, #172] ; (8081530 ) 8081482: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081486: 461a mov r2, r3 8081488: 215a movs r1, #90 ; 0x5a 808148a: f44f 708b mov.w r0, #278 ; 0x116 808148e: f7d2 ff51 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081492: 4925 ldr r1, [pc, #148] ; (8081528 ) 8081494: 4827 ldr r0, [pc, #156] ; (8081534 ) 8081496: f7d2 f9a5 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 808149a: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 808149e: b2db uxtb r3, r3 80814a0: 461a mov r2, r3 80814a2: 4b23 ldr r3, [pc, #140] ; (8081530 ) 80814a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80814a8: 461a mov r2, r3 80814aa: 215a movs r1, #90 ; 0x5a 80814ac: 20c6 movs r0, #198 ; 0xc6 80814ae: f7d2 ff41 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 80814b2: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 80814b6: b2db uxtb r3, r3 80814b8: 461a mov r2, r3 80814ba: 4b1d ldr r3, [pc, #116] ; (8081530 ) 80814bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80814c0: 461a mov r2, r3 80814c2: 215a movs r1, #90 ; 0x5a 80814c4: 20d6 movs r0, #214 ; 0xd6 80814c6: f7d2 ff35 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 80814ca: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 80814ce: b2db uxtb r3, r3 80814d0: 461a mov r2, r3 80814d2: 4b17 ldr r3, [pc, #92] ; (8081530 ) 80814d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80814d8: 461a mov r2, r3 80814da: 215a movs r1, #90 ; 0x5a 80814dc: 20e6 movs r0, #230 ; 0xe6 80814de: f7d2 ff29 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 80814e2: 4a15 ldr r2, [pc, #84] ; (8081538 ) 80814e4: 215a movs r1, #90 ; 0x5a 80814e6: 20f6 movs r0, #246 ; 0xf6 80814e8: f7d2 ff24 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 80814ec: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 80814f0: b2db uxtb r3, r3 80814f2: 461a mov r2, r3 80814f4: 4b0e ldr r3, [pc, #56] ; (8081530 ) 80814f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80814fa: 461a mov r2, r3 80814fc: 215a movs r1, #90 ; 0x5a 80814fe: f44f 7083 mov.w r0, #262 ; 0x106 8081502: f7d2 ff17 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 8081506: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 808150a: b2db uxtb r3, r3 808150c: 461a mov r2, r3 808150e: 4b08 ldr r3, [pc, #32] ; (8081530 ) 8081510: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081514: 461a mov r2, r3 8081516: 215a movs r1, #90 ; 0x5a 8081518: f44f 7093 mov.w r0, #294 ; 0x126 808151c: f7d2 ff0a bl 8054334 if(menupos == D_Roll_IES) 8081520: f001 ba47 b.w 80829b2 8081524: 20020070 .word 0x20020070 8081528: ff0a0f1f .word 0xff0a0f1f 808152c: 2002165c .word 0x2002165c 8081530: 20020964 .word 0x20020964 8081534: ffd8aa57 .word 0xffd8aa57 8081538: 080cf820 .word 0x080cf820 } else if(menupos == D_Roll_IKT) 808153c: 4bce ldr r3, [pc, #824] ; (8081878 ) 808153e: 781b ldrb r3, [r3, #0] 8081540: b2db uxtb r3, r3 8081542: 2b0f cmp r3, #15 8081544: f041 8235 bne.w 80829b2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081548: 49cc ldr r1, [pc, #816] ; (808187c ) 808154a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808154e: f7d2 f949 bl 80537e4 if(blk) 8081552: 4bcb ldr r3, [pc, #812] ; (8081880 ) 8081554: 681b ldr r3, [r3, #0] 8081556: 2b00 cmp r3, #0 8081558: d00c beq.n 8081574 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[roll_ikt]); 808155a: f897 33ae ldrb.w r3, [r7, #942] ; 0x3ae 808155e: b2db uxtb r3, r3 8081560: 461a mov r2, r3 8081562: 4bc8 ldr r3, [pc, #800] ; (8081884 ) 8081564: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081568: 461a mov r2, r3 808156a: 215a movs r1, #90 ; 0x5a 808156c: f44f 7093 mov.w r0, #294 ; 0x126 8081570: f7d2 fee0 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081574: 49c1 ldr r1, [pc, #772] ; (808187c ) 8081576: 48c4 ldr r0, [pc, #784] ; (8081888 ) 8081578: f7d2 f934 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[roll_ies]); 808157c: f897 33b3 ldrb.w r3, [r7, #947] ; 0x3b3 8081580: b2db uxtb r3, r3 8081582: 461a mov r2, r3 8081584: 4bbf ldr r3, [pc, #764] ; (8081884 ) 8081586: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808158a: 461a mov r2, r3 808158c: 215a movs r1, #90 ; 0x5a 808158e: 20c6 movs r0, #198 ; 0xc6 8081590: f7d2 fed0 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[roll_ied]); 8081594: f897 33b2 ldrb.w r3, [r7, #946] ; 0x3b2 8081598: b2db uxtb r3, r3 808159a: 461a mov r2, r3 808159c: 4bb9 ldr r3, [pc, #740] ; (8081884 ) 808159e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80815a2: 461a mov r2, r3 80815a4: 215a movs r1, #90 ; 0x5a 80815a6: 20d6 movs r0, #214 ; 0xd6 80815a8: f7d2 fec4 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[roll_iee]); 80815ac: f897 33b1 ldrb.w r3, [r7, #945] ; 0x3b1 80815b0: b2db uxtb r3, r3 80815b2: 461a mov r2, r3 80815b4: 4bb3 ldr r3, [pc, #716] ; (8081884 ) 80815b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80815ba: 461a mov r2, r3 80815bc: 215a movs r1, #90 ; 0x5a 80815be: 20e6 movs r0, #230 ; 0xe6 80815c0: f7d2 feb8 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, "."); 80815c4: 4ab1 ldr r2, [pc, #708] ; (808188c ) 80815c6: 215a movs r1, #90 ; 0x5a 80815c8: 20f6 movs r0, #246 ; 0xf6 80815ca: f7d2 feb3 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[roll_ikd]); 80815ce: f897 33b0 ldrb.w r3, [r7, #944] ; 0x3b0 80815d2: b2db uxtb r3, r3 80815d4: 461a mov r2, r3 80815d6: 4bab ldr r3, [pc, #684] ; (8081884 ) 80815d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80815dc: 461a mov r2, r3 80815de: 215a movs r1, #90 ; 0x5a 80815e0: f44f 7083 mov.w r0, #262 ; 0x106 80815e4: f7d2 fea6 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, (char *) pNUMS[roll_iks]); 80815e8: f897 33af ldrb.w r3, [r7, #943] ; 0x3af 80815ec: b2db uxtb r3, r3 80815ee: 461a mov r2, r3 80815f0: 4ba4 ldr r3, [pc, #656] ; (8081884 ) 80815f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80815f6: 461a mov r2, r3 80815f8: 215a movs r1, #90 ; 0x5a 80815fa: f44f 708b mov.w r0, #278 ; 0x116 80815fe: f7d2 fe99 bl 8054334 if(menupos == D_Roll_IES) 8081602: f001 b9d6 b.w 80829b2 } } else if((menupos >= D_Outer_IES) && (menupos <= D_Outer_IKT)) 8081606: 4b9c ldr r3, [pc, #624] ; (8081878 ) 8081608: 781b ldrb r3, [r3, #0] 808160a: b2db uxtb r3, r3 808160c: 2b0f cmp r3, #15 808160e: f240 826c bls.w 8081aea 8081612: 4b99 ldr r3, [pc, #612] ; (8081878 ) 8081614: 781b ldrb r3, [r3, #0] 8081616: b2db uxtb r3, r3 8081618: 2b15 cmp r3, #21 808161a: f200 8266 bhi.w 8081aea { if(menupos == D_Outer_IES) 808161e: 4b96 ldr r3, [pc, #600] ; (8081878 ) 8081620: 781b ldrb r3, [r3, #0] 8081622: b2db uxtb r3, r3 8081624: 2b10 cmp r3, #16 8081626: d15e bne.n 80816e6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081628: 4994 ldr r1, [pc, #592] ; (808187c ) 808162a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808162e: f7d2 f8d9 bl 80537e4 if(blk) 8081632: 4b93 ldr r3, [pc, #588] ; (8081880 ) 8081634: 681b ldr r3, [r3, #0] 8081636: 2b00 cmp r3, #0 8081638: d00b beq.n 8081652 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 808163a: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 808163e: b2db uxtb r3, r3 8081640: 461a mov r2, r3 8081642: 4b90 ldr r3, [pc, #576] ; (8081884 ) 8081644: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081648: 461a mov r2, r3 808164a: 216a movs r1, #106 ; 0x6a 808164c: 20c6 movs r0, #198 ; 0xc6 808164e: f7d2 fe71 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081652: 498a ldr r1, [pc, #552] ; (808187c ) 8081654: 488c ldr r0, [pc, #560] ; (8081888 ) 8081656: f7d2 f8c5 bl 80537e4 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 808165a: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 808165e: b2db uxtb r3, r3 8081660: 461a mov r2, r3 8081662: 4b88 ldr r3, [pc, #544] ; (8081884 ) 8081664: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081668: 461a mov r2, r3 808166a: 216a movs r1, #106 ; 0x6a 808166c: 20d6 movs r0, #214 ; 0xd6 808166e: f7d2 fe61 bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 8081672: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 8081676: b2db uxtb r3, r3 8081678: 461a mov r2, r3 808167a: 4b82 ldr r3, [pc, #520] ; (8081884 ) 808167c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081680: 461a mov r2, r3 8081682: 216a movs r1, #106 ; 0x6a 8081684: 20e6 movs r0, #230 ; 0xe6 8081686: f7d2 fe55 bl 8054334 LCD_DisplayString(246, LCD_LINE_6, "."); 808168a: 4a80 ldr r2, [pc, #512] ; (808188c ) 808168c: 216a movs r1, #106 ; 0x6a 808168e: 20f6 movs r0, #246 ; 0xf6 8081690: f7d2 fe50 bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 8081694: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 8081698: b2db uxtb r3, r3 808169a: 461a mov r2, r3 808169c: 4b79 ldr r3, [pc, #484] ; (8081884 ) 808169e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80816a2: 461a mov r2, r3 80816a4: 216a movs r1, #106 ; 0x6a 80816a6: f44f 7083 mov.w r0, #262 ; 0x106 80816aa: f7d2 fe43 bl 8054334 LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 80816ae: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 80816b2: b2db uxtb r3, r3 80816b4: 461a mov r2, r3 80816b6: 4b73 ldr r3, [pc, #460] ; (8081884 ) 80816b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80816bc: 461a mov r2, r3 80816be: 216a movs r1, #106 ; 0x6a 80816c0: f44f 708b mov.w r0, #278 ; 0x116 80816c4: f7d2 fe36 bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 80816c8: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 80816cc: b2db uxtb r3, r3 80816ce: 461a mov r2, r3 80816d0: 4b6c ldr r3, [pc, #432] ; (8081884 ) 80816d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80816d6: 461a mov r2, r3 80816d8: 216a movs r1, #106 ; 0x6a 80816da: f44f 7093 mov.w r0, #294 ; 0x126 80816de: f7d2 fe29 bl 8054334 if(menupos == D_Outer_IES) 80816e2: f001 b968 b.w 80829b6 } else if(menupos == D_Outer_IED) 80816e6: 4b64 ldr r3, [pc, #400] ; (8081878 ) 80816e8: 781b ldrb r3, [r3, #0] 80816ea: b2db uxtb r3, r3 80816ec: 2b11 cmp r3, #17 80816ee: d15e bne.n 80817ae { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80816f0: 4962 ldr r1, [pc, #392] ; (808187c ) 80816f2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80816f6: f7d2 f875 bl 80537e4 if(blk) 80816fa: 4b61 ldr r3, [pc, #388] ; (8081880 ) 80816fc: 681b ldr r3, [r3, #0] 80816fe: 2b00 cmp r3, #0 8081700: d00b beq.n 808171a LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 8081702: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 8081706: b2db uxtb r3, r3 8081708: 461a mov r2, r3 808170a: 4b5e ldr r3, [pc, #376] ; (8081884 ) 808170c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081710: 461a mov r2, r3 8081712: 216a movs r1, #106 ; 0x6a 8081714: 20d6 movs r0, #214 ; 0xd6 8081716: f7d2 fe0d bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808171a: 4958 ldr r1, [pc, #352] ; (808187c ) 808171c: 485a ldr r0, [pc, #360] ; (8081888 ) 808171e: f7d2 f861 bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 8081722: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 8081726: b2db uxtb r3, r3 8081728: 461a mov r2, r3 808172a: 4b56 ldr r3, [pc, #344] ; (8081884 ) 808172c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081730: 461a mov r2, r3 8081732: 216a movs r1, #106 ; 0x6a 8081734: 20c6 movs r0, #198 ; 0xc6 8081736: f7d2 fdfd bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 808173a: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 808173e: b2db uxtb r3, r3 8081740: 461a mov r2, r3 8081742: 4b50 ldr r3, [pc, #320] ; (8081884 ) 8081744: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081748: 461a mov r2, r3 808174a: 216a movs r1, #106 ; 0x6a 808174c: 20e6 movs r0, #230 ; 0xe6 808174e: f7d2 fdf1 bl 8054334 LCD_DisplayString(246, LCD_LINE_6, "."); 8081752: 4a4e ldr r2, [pc, #312] ; (808188c ) 8081754: 216a movs r1, #106 ; 0x6a 8081756: 20f6 movs r0, #246 ; 0xf6 8081758: f7d2 fdec bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 808175c: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 8081760: b2db uxtb r3, r3 8081762: 461a mov r2, r3 8081764: 4b47 ldr r3, [pc, #284] ; (8081884 ) 8081766: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808176a: 461a mov r2, r3 808176c: 216a movs r1, #106 ; 0x6a 808176e: f44f 7083 mov.w r0, #262 ; 0x106 8081772: f7d2 fddf bl 8054334 LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8081776: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 808177a: b2db uxtb r3, r3 808177c: 461a mov r2, r3 808177e: 4b41 ldr r3, [pc, #260] ; (8081884 ) 8081780: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081784: 461a mov r2, r3 8081786: 216a movs r1, #106 ; 0x6a 8081788: f44f 708b mov.w r0, #278 ; 0x116 808178c: f7d2 fdd2 bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8081790: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8081794: b2db uxtb r3, r3 8081796: 461a mov r2, r3 8081798: 4b3a ldr r3, [pc, #232] ; (8081884 ) 808179a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808179e: 461a mov r2, r3 80817a0: 216a movs r1, #106 ; 0x6a 80817a2: f44f 7093 mov.w r0, #294 ; 0x126 80817a6: f7d2 fdc5 bl 8054334 if(menupos == D_Outer_IES) 80817aa: f001 b904 b.w 80829b6 } else if(menupos == D_Outer_IEE) 80817ae: 4b32 ldr r3, [pc, #200] ; (8081878 ) 80817b0: 781b ldrb r3, [r3, #0] 80817b2: b2db uxtb r3, r3 80817b4: 2b12 cmp r3, #18 80817b6: d16b bne.n 8081890 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80817b8: 4930 ldr r1, [pc, #192] ; (808187c ) 80817ba: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80817be: f7d2 f811 bl 80537e4 if(blk) 80817c2: 4b2f ldr r3, [pc, #188] ; (8081880 ) 80817c4: 681b ldr r3, [r3, #0] 80817c6: 2b00 cmp r3, #0 80817c8: d00b beq.n 80817e2 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 80817ca: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 80817ce: b2db uxtb r3, r3 80817d0: 461a mov r2, r3 80817d2: 4b2c ldr r3, [pc, #176] ; (8081884 ) 80817d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80817d8: 461a mov r2, r3 80817da: 216a movs r1, #106 ; 0x6a 80817dc: 20e6 movs r0, #230 ; 0xe6 80817de: f7d2 fda9 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80817e2: 4926 ldr r1, [pc, #152] ; (808187c ) 80817e4: 4828 ldr r0, [pc, #160] ; (8081888 ) 80817e6: f7d1 fffd bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 80817ea: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 80817ee: b2db uxtb r3, r3 80817f0: 461a mov r2, r3 80817f2: 4b24 ldr r3, [pc, #144] ; (8081884 ) 80817f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80817f8: 461a mov r2, r3 80817fa: 216a movs r1, #106 ; 0x6a 80817fc: 20c6 movs r0, #198 ; 0xc6 80817fe: f7d2 fd99 bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 8081802: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 8081806: b2db uxtb r3, r3 8081808: 461a mov r2, r3 808180a: 4b1e ldr r3, [pc, #120] ; (8081884 ) 808180c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081810: 461a mov r2, r3 8081812: 216a movs r1, #106 ; 0x6a 8081814: 20d6 movs r0, #214 ; 0xd6 8081816: f7d2 fd8d bl 8054334 LCD_DisplayString(246, LCD_LINE_6, "."); 808181a: 4a1c ldr r2, [pc, #112] ; (808188c ) 808181c: 216a movs r1, #106 ; 0x6a 808181e: 20f6 movs r0, #246 ; 0xf6 8081820: f7d2 fd88 bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 8081824: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 8081828: b2db uxtb r3, r3 808182a: 461a mov r2, r3 808182c: 4b15 ldr r3, [pc, #84] ; (8081884 ) 808182e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081832: 461a mov r2, r3 8081834: 216a movs r1, #106 ; 0x6a 8081836: f44f 7083 mov.w r0, #262 ; 0x106 808183a: f7d2 fd7b bl 8054334 LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 808183e: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 8081842: b2db uxtb r3, r3 8081844: 461a mov r2, r3 8081846: 4b0f ldr r3, [pc, #60] ; (8081884 ) 8081848: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808184c: 461a mov r2, r3 808184e: 216a movs r1, #106 ; 0x6a 8081850: f44f 708b mov.w r0, #278 ; 0x116 8081854: f7d2 fd6e bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8081858: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 808185c: b2db uxtb r3, r3 808185e: 461a mov r2, r3 8081860: 4b08 ldr r3, [pc, #32] ; (8081884 ) 8081862: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081866: 461a mov r2, r3 8081868: 216a movs r1, #106 ; 0x6a 808186a: f44f 7093 mov.w r0, #294 ; 0x126 808186e: f7d2 fd61 bl 8054334 if(menupos == D_Outer_IES) 8081872: f001 b8a0 b.w 80829b6 8081876: bf00 nop 8081878: 20020070 .word 0x20020070 808187c: ff0a0f1f .word 0xff0a0f1f 8081880: 2002165c .word 0x2002165c 8081884: 20020964 .word 0x20020964 8081888: ffd8aa57 .word 0xffd8aa57 808188c: 080cf820 .word 0x080cf820 } else if(menupos == D_Outer_IKD) 8081890: 4bce ldr r3, [pc, #824] ; (8081bcc ) 8081892: 781b ldrb r3, [r3, #0] 8081894: b2db uxtb r3, r3 8081896: 2b13 cmp r3, #19 8081898: d15e bne.n 8081958 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808189a: 49cd ldr r1, [pc, #820] ; (8081bd0 ) 808189c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80818a0: f7d1 ffa0 bl 80537e4 if(blk) 80818a4: 4bcb ldr r3, [pc, #812] ; (8081bd4 ) 80818a6: 681b ldr r3, [r3, #0] 80818a8: 2b00 cmp r3, #0 80818aa: d00c beq.n 80818c6 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 80818ac: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 80818b0: b2db uxtb r3, r3 80818b2: 461a mov r2, r3 80818b4: 4bc8 ldr r3, [pc, #800] ; (8081bd8 ) 80818b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80818ba: 461a mov r2, r3 80818bc: 216a movs r1, #106 ; 0x6a 80818be: f44f 7083 mov.w r0, #262 ; 0x106 80818c2: f7d2 fd37 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80818c6: 49c2 ldr r1, [pc, #776] ; (8081bd0 ) 80818c8: 48c4 ldr r0, [pc, #784] ; (8081bdc ) 80818ca: f7d1 ff8b bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 80818ce: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 80818d2: b2db uxtb r3, r3 80818d4: 461a mov r2, r3 80818d6: 4bc0 ldr r3, [pc, #768] ; (8081bd8 ) 80818d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80818dc: 461a mov r2, r3 80818de: 216a movs r1, #106 ; 0x6a 80818e0: 20c6 movs r0, #198 ; 0xc6 80818e2: f7d2 fd27 bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 80818e6: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 80818ea: b2db uxtb r3, r3 80818ec: 461a mov r2, r3 80818ee: 4bba ldr r3, [pc, #744] ; (8081bd8 ) 80818f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80818f4: 461a mov r2, r3 80818f6: 216a movs r1, #106 ; 0x6a 80818f8: 20d6 movs r0, #214 ; 0xd6 80818fa: f7d2 fd1b bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 80818fe: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 8081902: b2db uxtb r3, r3 8081904: 461a mov r2, r3 8081906: 4bb4 ldr r3, [pc, #720] ; (8081bd8 ) 8081908: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808190c: 461a mov r2, r3 808190e: 216a movs r1, #106 ; 0x6a 8081910: 20e6 movs r0, #230 ; 0xe6 8081912: f7d2 fd0f bl 8054334 LCD_DisplayString(246, LCD_LINE_6, "."); 8081916: 4ab2 ldr r2, [pc, #712] ; (8081be0 ) 8081918: 216a movs r1, #106 ; 0x6a 808191a: 20f6 movs r0, #246 ; 0xf6 808191c: f7d2 fd0a bl 8054334 LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8081920: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 8081924: b2db uxtb r3, r3 8081926: 461a mov r2, r3 8081928: 4bab ldr r3, [pc, #684] ; (8081bd8 ) 808192a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808192e: 461a mov r2, r3 8081930: 216a movs r1, #106 ; 0x6a 8081932: f44f 708b mov.w r0, #278 ; 0x116 8081936: f7d2 fcfd bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 808193a: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 808193e: b2db uxtb r3, r3 8081940: 461a mov r2, r3 8081942: 4ba5 ldr r3, [pc, #660] ; (8081bd8 ) 8081944: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081948: 461a mov r2, r3 808194a: 216a movs r1, #106 ; 0x6a 808194c: f44f 7093 mov.w r0, #294 ; 0x126 8081950: f7d2 fcf0 bl 8054334 if(menupos == D_Outer_IES) 8081954: f001 b82f b.w 80829b6 } else if(menupos == D_Outer_IKS) 8081958: 4b9c ldr r3, [pc, #624] ; (8081bcc ) 808195a: 781b ldrb r3, [r3, #0] 808195c: b2db uxtb r3, r3 808195e: 2b14 cmp r3, #20 8081960: d15e bne.n 8081a20 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081962: 499b ldr r1, [pc, #620] ; (8081bd0 ) 8081964: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081968: f7d1 ff3c bl 80537e4 if(blk) 808196c: 4b99 ldr r3, [pc, #612] ; (8081bd4 ) 808196e: 681b ldr r3, [r3, #0] 8081970: 2b00 cmp r3, #0 8081972: d00c beq.n 808198e LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8081974: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 8081978: b2db uxtb r3, r3 808197a: 461a mov r2, r3 808197c: 4b96 ldr r3, [pc, #600] ; (8081bd8 ) 808197e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081982: 461a mov r2, r3 8081984: 216a movs r1, #106 ; 0x6a 8081986: f44f 708b mov.w r0, #278 ; 0x116 808198a: f7d2 fcd3 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808198e: 4990 ldr r1, [pc, #576] ; (8081bd0 ) 8081990: 4892 ldr r0, [pc, #584] ; (8081bdc ) 8081992: f7d1 ff27 bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 8081996: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 808199a: b2db uxtb r3, r3 808199c: 461a mov r2, r3 808199e: 4b8e ldr r3, [pc, #568] ; (8081bd8 ) 80819a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80819a4: 461a mov r2, r3 80819a6: 216a movs r1, #106 ; 0x6a 80819a8: 20c6 movs r0, #198 ; 0xc6 80819aa: f7d2 fcc3 bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 80819ae: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 80819b2: b2db uxtb r3, r3 80819b4: 461a mov r2, r3 80819b6: 4b88 ldr r3, [pc, #544] ; (8081bd8 ) 80819b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80819bc: 461a mov r2, r3 80819be: 216a movs r1, #106 ; 0x6a 80819c0: 20d6 movs r0, #214 ; 0xd6 80819c2: f7d2 fcb7 bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 80819c6: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 80819ca: b2db uxtb r3, r3 80819cc: 461a mov r2, r3 80819ce: 4b82 ldr r3, [pc, #520] ; (8081bd8 ) 80819d0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80819d4: 461a mov r2, r3 80819d6: 216a movs r1, #106 ; 0x6a 80819d8: 20e6 movs r0, #230 ; 0xe6 80819da: f7d2 fcab bl 8054334 LCD_DisplayString(246, LCD_LINE_6, "."); 80819de: 4a80 ldr r2, [pc, #512] ; (8081be0 ) 80819e0: 216a movs r1, #106 ; 0x6a 80819e2: 20f6 movs r0, #246 ; 0xf6 80819e4: f7d2 fca6 bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 80819e8: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 80819ec: b2db uxtb r3, r3 80819ee: 461a mov r2, r3 80819f0: 4b79 ldr r3, [pc, #484] ; (8081bd8 ) 80819f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80819f6: 461a mov r2, r3 80819f8: 216a movs r1, #106 ; 0x6a 80819fa: f44f 7083 mov.w r0, #262 ; 0x106 80819fe: f7d2 fc99 bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8081a02: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8081a06: b2db uxtb r3, r3 8081a08: 461a mov r2, r3 8081a0a: 4b73 ldr r3, [pc, #460] ; (8081bd8 ) 8081a0c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081a10: 461a mov r2, r3 8081a12: 216a movs r1, #106 ; 0x6a 8081a14: f44f 7093 mov.w r0, #294 ; 0x126 8081a18: f7d2 fc8c bl 8054334 if(menupos == D_Outer_IES) 8081a1c: f000 bfcb b.w 80829b6 } else if(menupos == D_Outer_IKT) 8081a20: 4b6a ldr r3, [pc, #424] ; (8081bcc ) 8081a22: 781b ldrb r3, [r3, #0] 8081a24: b2db uxtb r3, r3 8081a26: 2b15 cmp r3, #21 8081a28: f040 87c5 bne.w 80829b6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081a2c: 4968 ldr r1, [pc, #416] ; (8081bd0 ) 8081a2e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081a32: f7d1 fed7 bl 80537e4 if(blk) 8081a36: 4b67 ldr r3, [pc, #412] ; (8081bd4 ) 8081a38: 681b ldr r3, [r3, #0] 8081a3a: 2b00 cmp r3, #0 8081a3c: d00c beq.n 8081a58 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[outer_ikt]); 8081a3e: f897 33a6 ldrb.w r3, [r7, #934] ; 0x3a6 8081a42: b2db uxtb r3, r3 8081a44: 461a mov r2, r3 8081a46: 4b64 ldr r3, [pc, #400] ; (8081bd8 ) 8081a48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081a4c: 461a mov r2, r3 8081a4e: 216a movs r1, #106 ; 0x6a 8081a50: f44f 7093 mov.w r0, #294 ; 0x126 8081a54: f7d2 fc6e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081a58: 495d ldr r1, [pc, #372] ; (8081bd0 ) 8081a5a: 4860 ldr r0, [pc, #384] ; (8081bdc ) 8081a5c: f7d1 fec2 bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[outer_ies]); 8081a60: f897 33ab ldrb.w r3, [r7, #939] ; 0x3ab 8081a64: b2db uxtb r3, r3 8081a66: 461a mov r2, r3 8081a68: 4b5b ldr r3, [pc, #364] ; (8081bd8 ) 8081a6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081a6e: 461a mov r2, r3 8081a70: 216a movs r1, #106 ; 0x6a 8081a72: 20c6 movs r0, #198 ; 0xc6 8081a74: f7d2 fc5e bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[outer_ied]); 8081a78: f897 33aa ldrb.w r3, [r7, #938] ; 0x3aa 8081a7c: b2db uxtb r3, r3 8081a7e: 461a mov r2, r3 8081a80: 4b55 ldr r3, [pc, #340] ; (8081bd8 ) 8081a82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081a86: 461a mov r2, r3 8081a88: 216a movs r1, #106 ; 0x6a 8081a8a: 20d6 movs r0, #214 ; 0xd6 8081a8c: f7d2 fc52 bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[outer_iee]); 8081a90: f897 33a9 ldrb.w r3, [r7, #937] ; 0x3a9 8081a94: b2db uxtb r3, r3 8081a96: 461a mov r2, r3 8081a98: 4b4f ldr r3, [pc, #316] ; (8081bd8 ) 8081a9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081a9e: 461a mov r2, r3 8081aa0: 216a movs r1, #106 ; 0x6a 8081aa2: 20e6 movs r0, #230 ; 0xe6 8081aa4: f7d2 fc46 bl 8054334 LCD_DisplayString(246, LCD_LINE_6, "."); 8081aa8: 4a4d ldr r2, [pc, #308] ; (8081be0 ) 8081aaa: 216a movs r1, #106 ; 0x6a 8081aac: 20f6 movs r0, #246 ; 0xf6 8081aae: f7d2 fc41 bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[outer_ikd]); 8081ab2: f897 33a8 ldrb.w r3, [r7, #936] ; 0x3a8 8081ab6: b2db uxtb r3, r3 8081ab8: 461a mov r2, r3 8081aba: 4b47 ldr r3, [pc, #284] ; (8081bd8 ) 8081abc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081ac0: 461a mov r2, r3 8081ac2: 216a movs r1, #106 ; 0x6a 8081ac4: f44f 7083 mov.w r0, #262 ; 0x106 8081ac8: f7d2 fc34 bl 8054334 LCD_DisplayString(278, LCD_LINE_6, (char *) pNUMS[outer_iks]); 8081acc: f897 33a7 ldrb.w r3, [r7, #935] ; 0x3a7 8081ad0: b2db uxtb r3, r3 8081ad2: 461a mov r2, r3 8081ad4: 4b40 ldr r3, [pc, #256] ; (8081bd8 ) 8081ad6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081ada: 461a mov r2, r3 8081adc: 216a movs r1, #106 ; 0x6a 8081ade: f44f 708b mov.w r0, #278 ; 0x116 8081ae2: f7d2 fc27 bl 8054334 if(menupos == D_Outer_IES) 8081ae6: f000 bf66 b.w 80829b6 } } else if((menupos >= D_Inner_IES) && (menupos <= D_Inner_IKT)) 8081aea: 4b38 ldr r3, [pc, #224] ; (8081bcc ) 8081aec: 781b ldrb r3, [r3, #0] 8081aee: b2db uxtb r3, r3 8081af0: 2b15 cmp r3, #21 8081af2: f240 8278 bls.w 8081fe6 8081af6: 4b35 ldr r3, [pc, #212] ; (8081bcc ) 8081af8: 781b ldrb r3, [r3, #0] 8081afa: b2db uxtb r3, r3 8081afc: 2b1b cmp r3, #27 8081afe: f200 8272 bhi.w 8081fe6 { if(menupos == D_Inner_IES) 8081b02: 4b32 ldr r3, [pc, #200] ; (8081bcc ) 8081b04: 781b ldrb r3, [r3, #0] 8081b06: b2db uxtb r3, r3 8081b08: 2b16 cmp r3, #22 8081b0a: d16b bne.n 8081be4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081b0c: 4930 ldr r1, [pc, #192] ; (8081bd0 ) 8081b0e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081b12: f7d1 fe67 bl 80537e4 if(blk) 8081b16: 4b2f ldr r3, [pc, #188] ; (8081bd4 ) 8081b18: 681b ldr r3, [r3, #0] 8081b1a: 2b00 cmp r3, #0 8081b1c: d00b beq.n 8081b36 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8081b1e: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081b22: b2db uxtb r3, r3 8081b24: 461a mov r2, r3 8081b26: 4b2c ldr r3, [pc, #176] ; (8081bd8 ) 8081b28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081b2c: 461a mov r2, r3 8081b2e: 217a movs r1, #122 ; 0x7a 8081b30: 20c6 movs r0, #198 ; 0xc6 8081b32: f7d2 fbff bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081b36: 4926 ldr r1, [pc, #152] ; (8081bd0 ) 8081b38: 4828 ldr r0, [pc, #160] ; (8081bdc ) 8081b3a: f7d1 fe53 bl 80537e4 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8081b3e: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8081b42: b2db uxtb r3, r3 8081b44: 461a mov r2, r3 8081b46: 4b24 ldr r3, [pc, #144] ; (8081bd8 ) 8081b48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081b4c: 461a mov r2, r3 8081b4e: 217a movs r1, #122 ; 0x7a 8081b50: 20d6 movs r0, #214 ; 0xd6 8081b52: f7d2 fbef bl 8054334 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8081b56: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8081b5a: b2db uxtb r3, r3 8081b5c: 461a mov r2, r3 8081b5e: 4b1e ldr r3, [pc, #120] ; (8081bd8 ) 8081b60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081b64: 461a mov r2, r3 8081b66: 217a movs r1, #122 ; 0x7a 8081b68: 20e6 movs r0, #230 ; 0xe6 8081b6a: f7d2 fbe3 bl 8054334 LCD_DisplayString(246, LCD_LINE_7, "."); 8081b6e: 4a1c ldr r2, [pc, #112] ; (8081be0 ) 8081b70: 217a movs r1, #122 ; 0x7a 8081b72: 20f6 movs r0, #246 ; 0xf6 8081b74: f7d2 fbde bl 8054334 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8081b78: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8081b7c: b2db uxtb r3, r3 8081b7e: 461a mov r2, r3 8081b80: 4b15 ldr r3, [pc, #84] ; (8081bd8 ) 8081b82: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081b86: 461a mov r2, r3 8081b88: 217a movs r1, #122 ; 0x7a 8081b8a: f44f 7083 mov.w r0, #262 ; 0x106 8081b8e: f7d2 fbd1 bl 8054334 LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8081b92: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8081b96: b2db uxtb r3, r3 8081b98: 461a mov r2, r3 8081b9a: 4b0f ldr r3, [pc, #60] ; (8081bd8 ) 8081b9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081ba0: 461a mov r2, r3 8081ba2: 217a movs r1, #122 ; 0x7a 8081ba4: f44f 708b mov.w r0, #278 ; 0x116 8081ba8: f7d2 fbc4 bl 8054334 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8081bac: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8081bb0: b2db uxtb r3, r3 8081bb2: 461a mov r2, r3 8081bb4: 4b08 ldr r3, [pc, #32] ; (8081bd8 ) 8081bb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081bba: 461a mov r2, r3 8081bbc: 217a movs r1, #122 ; 0x7a 8081bbe: f44f 7093 mov.w r0, #294 ; 0x126 8081bc2: f7d2 fbb7 bl 8054334 if(menupos == D_Inner_IES) 8081bc6: f000 bef8 b.w 80829ba 8081bca: bf00 nop 8081bcc: 20020070 .word 0x20020070 8081bd0: ff0a0f1f .word 0xff0a0f1f 8081bd4: 2002165c .word 0x2002165c 8081bd8: 20020964 .word 0x20020964 8081bdc: ffd8aa57 .word 0xffd8aa57 8081be0: 080cf820 .word 0x080cf820 } else if(menupos == D_Inner_IED) 8081be4: 4bc7 ldr r3, [pc, #796] ; (8081f04 ) 8081be6: 781b ldrb r3, [r3, #0] 8081be8: b2db uxtb r3, r3 8081bea: 2b17 cmp r3, #23 8081bec: d15e bne.n 8081cac { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081bee: 49c6 ldr r1, [pc, #792] ; (8081f08 ) 8081bf0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081bf4: f7d1 fdf6 bl 80537e4 if(blk) 8081bf8: 4bc4 ldr r3, [pc, #784] ; (8081f0c ) 8081bfa: 681b ldr r3, [r3, #0] 8081bfc: 2b00 cmp r3, #0 8081bfe: d00b beq.n 8081c18 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8081c00: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8081c04: b2db uxtb r3, r3 8081c06: 461a mov r2, r3 8081c08: 4bc1 ldr r3, [pc, #772] ; (8081f10 ) 8081c0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081c0e: 461a mov r2, r3 8081c10: 217a movs r1, #122 ; 0x7a 8081c12: 20d6 movs r0, #214 ; 0xd6 8081c14: f7d2 fb8e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081c18: 49bb ldr r1, [pc, #748] ; (8081f08 ) 8081c1a: 48be ldr r0, [pc, #760] ; (8081f14 ) 8081c1c: f7d1 fde2 bl 80537e4 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8081c20: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081c24: b2db uxtb r3, r3 8081c26: 461a mov r2, r3 8081c28: 4bb9 ldr r3, [pc, #740] ; (8081f10 ) 8081c2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081c2e: 461a mov r2, r3 8081c30: 217a movs r1, #122 ; 0x7a 8081c32: 20c6 movs r0, #198 ; 0xc6 8081c34: f7d2 fb7e bl 8054334 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8081c38: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8081c3c: b2db uxtb r3, r3 8081c3e: 461a mov r2, r3 8081c40: 4bb3 ldr r3, [pc, #716] ; (8081f10 ) 8081c42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081c46: 461a mov r2, r3 8081c48: 217a movs r1, #122 ; 0x7a 8081c4a: 20e6 movs r0, #230 ; 0xe6 8081c4c: f7d2 fb72 bl 8054334 LCD_DisplayString(246, LCD_LINE_7, "."); 8081c50: 4ab1 ldr r2, [pc, #708] ; (8081f18 ) 8081c52: 217a movs r1, #122 ; 0x7a 8081c54: 20f6 movs r0, #246 ; 0xf6 8081c56: f7d2 fb6d bl 8054334 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8081c5a: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8081c5e: b2db uxtb r3, r3 8081c60: 461a mov r2, r3 8081c62: 4bab ldr r3, [pc, #684] ; (8081f10 ) 8081c64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081c68: 461a mov r2, r3 8081c6a: 217a movs r1, #122 ; 0x7a 8081c6c: f44f 7083 mov.w r0, #262 ; 0x106 8081c70: f7d2 fb60 bl 8054334 LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8081c74: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8081c78: b2db uxtb r3, r3 8081c7a: 461a mov r2, r3 8081c7c: 4ba4 ldr r3, [pc, #656] ; (8081f10 ) 8081c7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081c82: 461a mov r2, r3 8081c84: 217a movs r1, #122 ; 0x7a 8081c86: f44f 708b mov.w r0, #278 ; 0x116 8081c8a: f7d2 fb53 bl 8054334 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8081c8e: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8081c92: b2db uxtb r3, r3 8081c94: 461a mov r2, r3 8081c96: 4b9e ldr r3, [pc, #632] ; (8081f10 ) 8081c98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081c9c: 461a mov r2, r3 8081c9e: 217a movs r1, #122 ; 0x7a 8081ca0: f44f 7093 mov.w r0, #294 ; 0x126 8081ca4: f7d2 fb46 bl 8054334 if(menupos == D_Inner_IES) 8081ca8: f000 be87 b.w 80829ba } else if(menupos == D_Inner_IEE) 8081cac: 4b95 ldr r3, [pc, #596] ; (8081f04 ) 8081cae: 781b ldrb r3, [r3, #0] 8081cb0: b2db uxtb r3, r3 8081cb2: 2b18 cmp r3, #24 8081cb4: d15e bne.n 8081d74 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081cb6: 4994 ldr r1, [pc, #592] ; (8081f08 ) 8081cb8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081cbc: f7d1 fd92 bl 80537e4 if(blk) 8081cc0: 4b92 ldr r3, [pc, #584] ; (8081f0c ) 8081cc2: 681b ldr r3, [r3, #0] 8081cc4: 2b00 cmp r3, #0 8081cc6: d00b beq.n 8081ce0 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8081cc8: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8081ccc: b2db uxtb r3, r3 8081cce: 461a mov r2, r3 8081cd0: 4b8f ldr r3, [pc, #572] ; (8081f10 ) 8081cd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081cd6: 461a mov r2, r3 8081cd8: 217a movs r1, #122 ; 0x7a 8081cda: 20e6 movs r0, #230 ; 0xe6 8081cdc: f7d2 fb2a bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081ce0: 4989 ldr r1, [pc, #548] ; (8081f08 ) 8081ce2: 488c ldr r0, [pc, #560] ; (8081f14 ) 8081ce4: f7d1 fd7e bl 80537e4 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8081ce8: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081cec: b2db uxtb r3, r3 8081cee: 461a mov r2, r3 8081cf0: 4b87 ldr r3, [pc, #540] ; (8081f10 ) 8081cf2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081cf6: 461a mov r2, r3 8081cf8: 217a movs r1, #122 ; 0x7a 8081cfa: 20c6 movs r0, #198 ; 0xc6 8081cfc: f7d2 fb1a bl 8054334 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8081d00: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8081d04: b2db uxtb r3, r3 8081d06: 461a mov r2, r3 8081d08: 4b81 ldr r3, [pc, #516] ; (8081f10 ) 8081d0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081d0e: 461a mov r2, r3 8081d10: 217a movs r1, #122 ; 0x7a 8081d12: 20d6 movs r0, #214 ; 0xd6 8081d14: f7d2 fb0e bl 8054334 LCD_DisplayString(246, LCD_LINE_7, "."); 8081d18: 4a7f ldr r2, [pc, #508] ; (8081f18 ) 8081d1a: 217a movs r1, #122 ; 0x7a 8081d1c: 20f6 movs r0, #246 ; 0xf6 8081d1e: f7d2 fb09 bl 8054334 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8081d22: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8081d26: b2db uxtb r3, r3 8081d28: 461a mov r2, r3 8081d2a: 4b79 ldr r3, [pc, #484] ; (8081f10 ) 8081d2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081d30: 461a mov r2, r3 8081d32: 217a movs r1, #122 ; 0x7a 8081d34: f44f 7083 mov.w r0, #262 ; 0x106 8081d38: f7d2 fafc bl 8054334 LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8081d3c: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8081d40: b2db uxtb r3, r3 8081d42: 461a mov r2, r3 8081d44: 4b72 ldr r3, [pc, #456] ; (8081f10 ) 8081d46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081d4a: 461a mov r2, r3 8081d4c: 217a movs r1, #122 ; 0x7a 8081d4e: f44f 708b mov.w r0, #278 ; 0x116 8081d52: f7d2 faef bl 8054334 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8081d56: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8081d5a: b2db uxtb r3, r3 8081d5c: 461a mov r2, r3 8081d5e: 4b6c ldr r3, [pc, #432] ; (8081f10 ) 8081d60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081d64: 461a mov r2, r3 8081d66: 217a movs r1, #122 ; 0x7a 8081d68: f44f 7093 mov.w r0, #294 ; 0x126 8081d6c: f7d2 fae2 bl 8054334 if(menupos == D_Inner_IES) 8081d70: f000 be23 b.w 80829ba } else if(menupos == D_Inner_IKD) 8081d74: 4b63 ldr r3, [pc, #396] ; (8081f04 ) 8081d76: 781b ldrb r3, [r3, #0] 8081d78: b2db uxtb r3, r3 8081d7a: 2b19 cmp r3, #25 8081d7c: d15e bne.n 8081e3c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081d7e: 4962 ldr r1, [pc, #392] ; (8081f08 ) 8081d80: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081d84: f7d1 fd2e bl 80537e4 if(blk) 8081d88: 4b60 ldr r3, [pc, #384] ; (8081f0c ) 8081d8a: 681b ldr r3, [r3, #0] 8081d8c: 2b00 cmp r3, #0 8081d8e: d00c beq.n 8081daa LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8081d90: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8081d94: b2db uxtb r3, r3 8081d96: 461a mov r2, r3 8081d98: 4b5d ldr r3, [pc, #372] ; (8081f10 ) 8081d9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081d9e: 461a mov r2, r3 8081da0: 217a movs r1, #122 ; 0x7a 8081da2: f44f 7083 mov.w r0, #262 ; 0x106 8081da6: f7d2 fac5 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081daa: 4957 ldr r1, [pc, #348] ; (8081f08 ) 8081dac: 4859 ldr r0, [pc, #356] ; (8081f14 ) 8081dae: f7d1 fd19 bl 80537e4 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8081db2: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081db6: b2db uxtb r3, r3 8081db8: 461a mov r2, r3 8081dba: 4b55 ldr r3, [pc, #340] ; (8081f10 ) 8081dbc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081dc0: 461a mov r2, r3 8081dc2: 217a movs r1, #122 ; 0x7a 8081dc4: 20c6 movs r0, #198 ; 0xc6 8081dc6: f7d2 fab5 bl 8054334 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8081dca: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8081dce: b2db uxtb r3, r3 8081dd0: 461a mov r2, r3 8081dd2: 4b4f ldr r3, [pc, #316] ; (8081f10 ) 8081dd4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081dd8: 461a mov r2, r3 8081dda: 217a movs r1, #122 ; 0x7a 8081ddc: 20d6 movs r0, #214 ; 0xd6 8081dde: f7d2 faa9 bl 8054334 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8081de2: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8081de6: b2db uxtb r3, r3 8081de8: 461a mov r2, r3 8081dea: 4b49 ldr r3, [pc, #292] ; (8081f10 ) 8081dec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081df0: 461a mov r2, r3 8081df2: 217a movs r1, #122 ; 0x7a 8081df4: 20e6 movs r0, #230 ; 0xe6 8081df6: f7d2 fa9d bl 8054334 LCD_DisplayString(246, LCD_LINE_7, "."); 8081dfa: 4a47 ldr r2, [pc, #284] ; (8081f18 ) 8081dfc: 217a movs r1, #122 ; 0x7a 8081dfe: 20f6 movs r0, #246 ; 0xf6 8081e00: f7d2 fa98 bl 8054334 LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8081e04: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8081e08: b2db uxtb r3, r3 8081e0a: 461a mov r2, r3 8081e0c: 4b40 ldr r3, [pc, #256] ; (8081f10 ) 8081e0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081e12: 461a mov r2, r3 8081e14: 217a movs r1, #122 ; 0x7a 8081e16: f44f 708b mov.w r0, #278 ; 0x116 8081e1a: f7d2 fa8b bl 8054334 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8081e1e: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8081e22: b2db uxtb r3, r3 8081e24: 461a mov r2, r3 8081e26: 4b3a ldr r3, [pc, #232] ; (8081f10 ) 8081e28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081e2c: 461a mov r2, r3 8081e2e: 217a movs r1, #122 ; 0x7a 8081e30: f44f 7093 mov.w r0, #294 ; 0x126 8081e34: f7d2 fa7e bl 8054334 if(menupos == D_Inner_IES) 8081e38: f000 bdbf b.w 80829ba } else if(menupos == D_Inner_IKS) 8081e3c: 4b31 ldr r3, [pc, #196] ; (8081f04 ) 8081e3e: 781b ldrb r3, [r3, #0] 8081e40: b2db uxtb r3, r3 8081e42: 2b1a cmp r3, #26 8081e44: d16a bne.n 8081f1c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081e46: 4930 ldr r1, [pc, #192] ; (8081f08 ) 8081e48: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081e4c: f7d1 fcca bl 80537e4 if(blk) 8081e50: 4b2e ldr r3, [pc, #184] ; (8081f0c ) 8081e52: 681b ldr r3, [r3, #0] 8081e54: 2b00 cmp r3, #0 8081e56: d00c beq.n 8081e72 LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8081e58: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8081e5c: b2db uxtb r3, r3 8081e5e: 461a mov r2, r3 8081e60: 4b2b ldr r3, [pc, #172] ; (8081f10 ) 8081e62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081e66: 461a mov r2, r3 8081e68: 217a movs r1, #122 ; 0x7a 8081e6a: f44f 708b mov.w r0, #278 ; 0x116 8081e6e: f7d2 fa61 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081e72: 4925 ldr r1, [pc, #148] ; (8081f08 ) 8081e74: 4827 ldr r0, [pc, #156] ; (8081f14 ) 8081e76: f7d1 fcb5 bl 80537e4 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8081e7a: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081e7e: b2db uxtb r3, r3 8081e80: 461a mov r2, r3 8081e82: 4b23 ldr r3, [pc, #140] ; (8081f10 ) 8081e84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081e88: 461a mov r2, r3 8081e8a: 217a movs r1, #122 ; 0x7a 8081e8c: 20c6 movs r0, #198 ; 0xc6 8081e8e: f7d2 fa51 bl 8054334 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8081e92: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8081e96: b2db uxtb r3, r3 8081e98: 461a mov r2, r3 8081e9a: 4b1d ldr r3, [pc, #116] ; (8081f10 ) 8081e9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081ea0: 461a mov r2, r3 8081ea2: 217a movs r1, #122 ; 0x7a 8081ea4: 20d6 movs r0, #214 ; 0xd6 8081ea6: f7d2 fa45 bl 8054334 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8081eaa: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8081eae: b2db uxtb r3, r3 8081eb0: 461a mov r2, r3 8081eb2: 4b17 ldr r3, [pc, #92] ; (8081f10 ) 8081eb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081eb8: 461a mov r2, r3 8081eba: 217a movs r1, #122 ; 0x7a 8081ebc: 20e6 movs r0, #230 ; 0xe6 8081ebe: f7d2 fa39 bl 8054334 LCD_DisplayString(246, LCD_LINE_7, "."); 8081ec2: 4a15 ldr r2, [pc, #84] ; (8081f18 ) 8081ec4: 217a movs r1, #122 ; 0x7a 8081ec6: 20f6 movs r0, #246 ; 0xf6 8081ec8: f7d2 fa34 bl 8054334 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8081ecc: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8081ed0: b2db uxtb r3, r3 8081ed2: 461a mov r2, r3 8081ed4: 4b0e ldr r3, [pc, #56] ; (8081f10 ) 8081ed6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081eda: 461a mov r2, r3 8081edc: 217a movs r1, #122 ; 0x7a 8081ede: f44f 7083 mov.w r0, #262 ; 0x106 8081ee2: f7d2 fa27 bl 8054334 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8081ee6: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8081eea: b2db uxtb r3, r3 8081eec: 461a mov r2, r3 8081eee: 4b08 ldr r3, [pc, #32] ; (8081f10 ) 8081ef0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081ef4: 461a mov r2, r3 8081ef6: 217a movs r1, #122 ; 0x7a 8081ef8: f44f 7093 mov.w r0, #294 ; 0x126 8081efc: f7d2 fa1a bl 8054334 if(menupos == D_Inner_IES) 8081f00: f000 bd5b b.w 80829ba 8081f04: 20020070 .word 0x20020070 8081f08: ff0a0f1f .word 0xff0a0f1f 8081f0c: 2002165c .word 0x2002165c 8081f10: 20020964 .word 0x20020964 8081f14: ffd8aa57 .word 0xffd8aa57 8081f18: 080cf820 .word 0x080cf820 } else if(menupos == D_Inner_IKT) 8081f1c: 4bcd ldr r3, [pc, #820] ; (8082254 ) 8081f1e: 781b ldrb r3, [r3, #0] 8081f20: b2db uxtb r3, r3 8081f22: 2b1b cmp r3, #27 8081f24: f040 8549 bne.w 80829ba { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8081f28: 49cb ldr r1, [pc, #812] ; (8082258 ) 8081f2a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8081f2e: f7d1 fc59 bl 80537e4 if(blk) 8081f32: 4bca ldr r3, [pc, #808] ; (808225c ) 8081f34: 681b ldr r3, [r3, #0] 8081f36: 2b00 cmp r3, #0 8081f38: d00c beq.n 8081f54 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[inner_ikt]); 8081f3a: f897 339e ldrb.w r3, [r7, #926] ; 0x39e 8081f3e: b2db uxtb r3, r3 8081f40: 461a mov r2, r3 8081f42: 4bc7 ldr r3, [pc, #796] ; (8082260 ) 8081f44: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081f48: 461a mov r2, r3 8081f4a: 217a movs r1, #122 ; 0x7a 8081f4c: f44f 7093 mov.w r0, #294 ; 0x126 8081f50: f7d2 f9f0 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8081f54: 49c0 ldr r1, [pc, #768] ; (8082258 ) 8081f56: 48c3 ldr r0, [pc, #780] ; (8082264 ) 8081f58: f7d1 fc44 bl 80537e4 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[inner_ies]); 8081f5c: f897 33a3 ldrb.w r3, [r7, #931] ; 0x3a3 8081f60: b2db uxtb r3, r3 8081f62: 461a mov r2, r3 8081f64: 4bbe ldr r3, [pc, #760] ; (8082260 ) 8081f66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081f6a: 461a mov r2, r3 8081f6c: 217a movs r1, #122 ; 0x7a 8081f6e: 20c6 movs r0, #198 ; 0xc6 8081f70: f7d2 f9e0 bl 8054334 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[inner_ied]); 8081f74: f897 33a2 ldrb.w r3, [r7, #930] ; 0x3a2 8081f78: b2db uxtb r3, r3 8081f7a: 461a mov r2, r3 8081f7c: 4bb8 ldr r3, [pc, #736] ; (8082260 ) 8081f7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081f82: 461a mov r2, r3 8081f84: 217a movs r1, #122 ; 0x7a 8081f86: 20d6 movs r0, #214 ; 0xd6 8081f88: f7d2 f9d4 bl 8054334 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[inner_iee]); 8081f8c: f897 33a1 ldrb.w r3, [r7, #929] ; 0x3a1 8081f90: b2db uxtb r3, r3 8081f92: 461a mov r2, r3 8081f94: 4bb2 ldr r3, [pc, #712] ; (8082260 ) 8081f96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081f9a: 461a mov r2, r3 8081f9c: 217a movs r1, #122 ; 0x7a 8081f9e: 20e6 movs r0, #230 ; 0xe6 8081fa0: f7d2 f9c8 bl 8054334 LCD_DisplayString(246, LCD_LINE_7, "."); 8081fa4: 4ab0 ldr r2, [pc, #704] ; (8082268 ) 8081fa6: 217a movs r1, #122 ; 0x7a 8081fa8: 20f6 movs r0, #246 ; 0xf6 8081faa: f7d2 f9c3 bl 8054334 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[inner_ikd]); 8081fae: f897 33a0 ldrb.w r3, [r7, #928] ; 0x3a0 8081fb2: b2db uxtb r3, r3 8081fb4: 461a mov r2, r3 8081fb6: 4baa ldr r3, [pc, #680] ; (8082260 ) 8081fb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081fbc: 461a mov r2, r3 8081fbe: 217a movs r1, #122 ; 0x7a 8081fc0: f44f 7083 mov.w r0, #262 ; 0x106 8081fc4: f7d2 f9b6 bl 8054334 LCD_DisplayString(278, LCD_LINE_7, (char *) pNUMS[inner_iks]); 8081fc8: f897 339f ldrb.w r3, [r7, #927] ; 0x39f 8081fcc: b2db uxtb r3, r3 8081fce: 461a mov r2, r3 8081fd0: 4ba3 ldr r3, [pc, #652] ; (8082260 ) 8081fd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8081fd6: 461a mov r2, r3 8081fd8: 217a movs r1, #122 ; 0x7a 8081fda: f44f 708b mov.w r0, #278 ; 0x116 8081fde: f7d2 f9a9 bl 8054334 if(menupos == D_Inner_IES) 8081fe2: f000 bcea b.w 80829ba } } else if((menupos >= D_Angle_IES) && (menupos <= D_Angle_IKT)) 8081fe6: 4b9b ldr r3, [pc, #620] ; (8082254 ) 8081fe8: 781b ldrb r3, [r3, #0] 8081fea: b2db uxtb r3, r3 8081fec: 2b1b cmp r3, #27 8081fee: f240 8267 bls.w 80824c0 8081ff2: 4b98 ldr r3, [pc, #608] ; (8082254 ) 8081ff4: 781b ldrb r3, [r3, #0] 8081ff6: b2db uxtb r3, r3 8081ff8: 2b21 cmp r3, #33 ; 0x21 8081ffa: f200 8261 bhi.w 80824c0 { if(menupos == D_Angle_IES) 8081ffe: 4b95 ldr r3, [pc, #596] ; (8082254 ) 8082000: 781b ldrb r3, [r3, #0] 8082002: b2db uxtb r3, r3 8082004: 2b1c cmp r3, #28 8082006: d15e bne.n 80820c6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082008: 4993 ldr r1, [pc, #588] ; (8082258 ) 808200a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808200e: f7d1 fbe9 bl 80537e4 if(blk) 8082012: 4b92 ldr r3, [pc, #584] ; (808225c ) 8082014: 681b ldr r3, [r3, #0] 8082016: 2b00 cmp r3, #0 8082018: d00b beq.n 8082032 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 808201a: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 808201e: b2db uxtb r3, r3 8082020: 461a mov r2, r3 8082022: 4b8f ldr r3, [pc, #572] ; (8082260 ) 8082024: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082028: 461a mov r2, r3 808202a: 218a movs r1, #138 ; 0x8a 808202c: 20c6 movs r0, #198 ; 0xc6 808202e: f7d2 f981 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082032: 4989 ldr r1, [pc, #548] ; (8082258 ) 8082034: 488b ldr r0, [pc, #556] ; (8082264 ) 8082036: f7d1 fbd5 bl 80537e4 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 808203a: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 808203e: b2db uxtb r3, r3 8082040: 461a mov r2, r3 8082042: 4b87 ldr r3, [pc, #540] ; (8082260 ) 8082044: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082048: 461a mov r2, r3 808204a: 218a movs r1, #138 ; 0x8a 808204c: 20d6 movs r0, #214 ; 0xd6 808204e: f7d2 f971 bl 8054334 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 8082052: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 8082056: b2db uxtb r3, r3 8082058: 461a mov r2, r3 808205a: 4b81 ldr r3, [pc, #516] ; (8082260 ) 808205c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082060: 461a mov r2, r3 8082062: 218a movs r1, #138 ; 0x8a 8082064: 20e6 movs r0, #230 ; 0xe6 8082066: f7d2 f965 bl 8054334 LCD_DisplayString(246, LCD_LINE_8, "."); 808206a: 4a7f ldr r2, [pc, #508] ; (8082268 ) 808206c: 218a movs r1, #138 ; 0x8a 808206e: 20f6 movs r0, #246 ; 0xf6 8082070: f7d2 f960 bl 8054334 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8082074: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8082078: b2db uxtb r3, r3 808207a: 461a mov r2, r3 808207c: 4b78 ldr r3, [pc, #480] ; (8082260 ) 808207e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082082: 461a mov r2, r3 8082084: 218a movs r1, #138 ; 0x8a 8082086: f44f 7083 mov.w r0, #262 ; 0x106 808208a: f7d2 f953 bl 8054334 LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 808208e: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8082092: b2db uxtb r3, r3 8082094: 461a mov r2, r3 8082096: 4b72 ldr r3, [pc, #456] ; (8082260 ) 8082098: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808209c: 461a mov r2, r3 808209e: 218a movs r1, #138 ; 0x8a 80820a0: f44f 708b mov.w r0, #278 ; 0x116 80820a4: f7d2 f946 bl 8054334 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 80820a8: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 80820ac: b2db uxtb r3, r3 80820ae: 461a mov r2, r3 80820b0: 4b6b ldr r3, [pc, #428] ; (8082260 ) 80820b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80820b6: 461a mov r2, r3 80820b8: 218a movs r1, #138 ; 0x8a 80820ba: f44f 7093 mov.w r0, #294 ; 0x126 80820be: f7d2 f939 bl 8054334 if(menupos == D_Angle_IES) 80820c2: f000 bc7c b.w 80829be } else if(menupos == D_Angle_IED) 80820c6: 4b63 ldr r3, [pc, #396] ; (8082254 ) 80820c8: 781b ldrb r3, [r3, #0] 80820ca: b2db uxtb r3, r3 80820cc: 2b1d cmp r3, #29 80820ce: d15e bne.n 808218e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80820d0: 4961 ldr r1, [pc, #388] ; (8082258 ) 80820d2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80820d6: f7d1 fb85 bl 80537e4 if(blk) 80820da: 4b60 ldr r3, [pc, #384] ; (808225c ) 80820dc: 681b ldr r3, [r3, #0] 80820de: 2b00 cmp r3, #0 80820e0: d00b beq.n 80820fa LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 80820e2: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 80820e6: b2db uxtb r3, r3 80820e8: 461a mov r2, r3 80820ea: 4b5d ldr r3, [pc, #372] ; (8082260 ) 80820ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80820f0: 461a mov r2, r3 80820f2: 218a movs r1, #138 ; 0x8a 80820f4: 20d6 movs r0, #214 ; 0xd6 80820f6: f7d2 f91d bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80820fa: 4957 ldr r1, [pc, #348] ; (8082258 ) 80820fc: 4859 ldr r0, [pc, #356] ; (8082264 ) 80820fe: f7d1 fb71 bl 80537e4 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8082102: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8082106: b2db uxtb r3, r3 8082108: 461a mov r2, r3 808210a: 4b55 ldr r3, [pc, #340] ; (8082260 ) 808210c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082110: 461a mov r2, r3 8082112: 218a movs r1, #138 ; 0x8a 8082114: 20c6 movs r0, #198 ; 0xc6 8082116: f7d2 f90d bl 8054334 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 808211a: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 808211e: b2db uxtb r3, r3 8082120: 461a mov r2, r3 8082122: 4b4f ldr r3, [pc, #316] ; (8082260 ) 8082124: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082128: 461a mov r2, r3 808212a: 218a movs r1, #138 ; 0x8a 808212c: 20e6 movs r0, #230 ; 0xe6 808212e: f7d2 f901 bl 8054334 LCD_DisplayString(246, LCD_LINE_8, "."); 8082132: 4a4d ldr r2, [pc, #308] ; (8082268 ) 8082134: 218a movs r1, #138 ; 0x8a 8082136: 20f6 movs r0, #246 ; 0xf6 8082138: f7d2 f8fc bl 8054334 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 808213c: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8082140: b2db uxtb r3, r3 8082142: 461a mov r2, r3 8082144: 4b46 ldr r3, [pc, #280] ; (8082260 ) 8082146: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808214a: 461a mov r2, r3 808214c: 218a movs r1, #138 ; 0x8a 808214e: f44f 7083 mov.w r0, #262 ; 0x106 8082152: f7d2 f8ef bl 8054334 LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 8082156: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 808215a: b2db uxtb r3, r3 808215c: 461a mov r2, r3 808215e: 4b40 ldr r3, [pc, #256] ; (8082260 ) 8082160: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082164: 461a mov r2, r3 8082166: 218a movs r1, #138 ; 0x8a 8082168: f44f 708b mov.w r0, #278 ; 0x116 808216c: f7d2 f8e2 bl 8054334 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 8082170: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 8082174: b2db uxtb r3, r3 8082176: 461a mov r2, r3 8082178: 4b39 ldr r3, [pc, #228] ; (8082260 ) 808217a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808217e: 461a mov r2, r3 8082180: 218a movs r1, #138 ; 0x8a 8082182: f44f 7093 mov.w r0, #294 ; 0x126 8082186: f7d2 f8d5 bl 8054334 if(menupos == D_Angle_IES) 808218a: f000 bc18 b.w 80829be } else if(menupos == D_Angle_IEE) 808218e: 4b31 ldr r3, [pc, #196] ; (8082254 ) 8082190: 781b ldrb r3, [r3, #0] 8082192: b2db uxtb r3, r3 8082194: 2b1e cmp r3, #30 8082196: d169 bne.n 808226c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082198: 492f ldr r1, [pc, #188] ; (8082258 ) 808219a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808219e: f7d1 fb21 bl 80537e4 if(blk) 80821a2: 4b2e ldr r3, [pc, #184] ; (808225c ) 80821a4: 681b ldr r3, [r3, #0] 80821a6: 2b00 cmp r3, #0 80821a8: d00b beq.n 80821c2 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 80821aa: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 80821ae: b2db uxtb r3, r3 80821b0: 461a mov r2, r3 80821b2: 4b2b ldr r3, [pc, #172] ; (8082260 ) 80821b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80821b8: 461a mov r2, r3 80821ba: 218a movs r1, #138 ; 0x8a 80821bc: 20e6 movs r0, #230 ; 0xe6 80821be: f7d2 f8b9 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80821c2: 4925 ldr r1, [pc, #148] ; (8082258 ) 80821c4: 4827 ldr r0, [pc, #156] ; (8082264 ) 80821c6: f7d1 fb0d bl 80537e4 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 80821ca: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 80821ce: b2db uxtb r3, r3 80821d0: 461a mov r2, r3 80821d2: 4b23 ldr r3, [pc, #140] ; (8082260 ) 80821d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80821d8: 461a mov r2, r3 80821da: 218a movs r1, #138 ; 0x8a 80821dc: 20c6 movs r0, #198 ; 0xc6 80821de: f7d2 f8a9 bl 8054334 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 80821e2: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 80821e6: b2db uxtb r3, r3 80821e8: 461a mov r2, r3 80821ea: 4b1d ldr r3, [pc, #116] ; (8082260 ) 80821ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80821f0: 461a mov r2, r3 80821f2: 218a movs r1, #138 ; 0x8a 80821f4: 20d6 movs r0, #214 ; 0xd6 80821f6: f7d2 f89d bl 8054334 LCD_DisplayString(246, LCD_LINE_8, "."); 80821fa: 4a1b ldr r2, [pc, #108] ; (8082268 ) 80821fc: 218a movs r1, #138 ; 0x8a 80821fe: 20f6 movs r0, #246 ; 0xf6 8082200: f7d2 f898 bl 8054334 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8082204: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 8082208: b2db uxtb r3, r3 808220a: 461a mov r2, r3 808220c: 4b14 ldr r3, [pc, #80] ; (8082260 ) 808220e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082212: 461a mov r2, r3 8082214: 218a movs r1, #138 ; 0x8a 8082216: f44f 7083 mov.w r0, #262 ; 0x106 808221a: f7d2 f88b bl 8054334 LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 808221e: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8082222: b2db uxtb r3, r3 8082224: 461a mov r2, r3 8082226: 4b0e ldr r3, [pc, #56] ; (8082260 ) 8082228: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808222c: 461a mov r2, r3 808222e: 218a movs r1, #138 ; 0x8a 8082230: f44f 708b mov.w r0, #278 ; 0x116 8082234: f7d2 f87e bl 8054334 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 8082238: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 808223c: b2db uxtb r3, r3 808223e: 461a mov r2, r3 8082240: 4b07 ldr r3, [pc, #28] ; (8082260 ) 8082242: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082246: 461a mov r2, r3 8082248: 218a movs r1, #138 ; 0x8a 808224a: f44f 7093 mov.w r0, #294 ; 0x126 808224e: f7d2 f871 bl 8054334 if(menupos == D_Angle_IES) 8082252: e3b4 b.n 80829be 8082254: 20020070 .word 0x20020070 8082258: ff0a0f1f .word 0xff0a0f1f 808225c: 2002165c .word 0x2002165c 8082260: 20020964 .word 0x20020964 8082264: ffd8aa57 .word 0xffd8aa57 8082268: 080cf820 .word 0x080cf820 } else if(menupos == D_Angle_IKD) 808226c: 4bcc ldr r3, [pc, #816] ; (80825a0 ) 808226e: 781b ldrb r3, [r3, #0] 8082270: b2db uxtb r3, r3 8082272: 2b1f cmp r3, #31 8082274: d15d bne.n 8082332 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082276: 49cb ldr r1, [pc, #812] ; (80825a4 ) 8082278: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808227c: f7d1 fab2 bl 80537e4 if(blk) 8082280: 4bc9 ldr r3, [pc, #804] ; (80825a8 ) 8082282: 681b ldr r3, [r3, #0] 8082284: 2b00 cmp r3, #0 8082286: d00c beq.n 80822a2 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 8082288: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 808228c: b2db uxtb r3, r3 808228e: 461a mov r2, r3 8082290: 4bc6 ldr r3, [pc, #792] ; (80825ac ) 8082292: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082296: 461a mov r2, r3 8082298: 218a movs r1, #138 ; 0x8a 808229a: f44f 7083 mov.w r0, #262 ; 0x106 808229e: f7d2 f849 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80822a2: 49c0 ldr r1, [pc, #768] ; (80825a4 ) 80822a4: 48c2 ldr r0, [pc, #776] ; (80825b0 ) 80822a6: f7d1 fa9d bl 80537e4 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 80822aa: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 80822ae: b2db uxtb r3, r3 80822b0: 461a mov r2, r3 80822b2: 4bbe ldr r3, [pc, #760] ; (80825ac ) 80822b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80822b8: 461a mov r2, r3 80822ba: 218a movs r1, #138 ; 0x8a 80822bc: 20c6 movs r0, #198 ; 0xc6 80822be: f7d2 f839 bl 8054334 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 80822c2: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 80822c6: b2db uxtb r3, r3 80822c8: 461a mov r2, r3 80822ca: 4bb8 ldr r3, [pc, #736] ; (80825ac ) 80822cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80822d0: 461a mov r2, r3 80822d2: 218a movs r1, #138 ; 0x8a 80822d4: 20d6 movs r0, #214 ; 0xd6 80822d6: f7d2 f82d bl 8054334 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 80822da: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 80822de: b2db uxtb r3, r3 80822e0: 461a mov r2, r3 80822e2: 4bb2 ldr r3, [pc, #712] ; (80825ac ) 80822e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80822e8: 461a mov r2, r3 80822ea: 218a movs r1, #138 ; 0x8a 80822ec: 20e6 movs r0, #230 ; 0xe6 80822ee: f7d2 f821 bl 8054334 LCD_DisplayString(246, LCD_LINE_8, "."); 80822f2: 4ab0 ldr r2, [pc, #704] ; (80825b4 ) 80822f4: 218a movs r1, #138 ; 0x8a 80822f6: 20f6 movs r0, #246 ; 0xf6 80822f8: f7d2 f81c bl 8054334 LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 80822fc: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8082300: b2db uxtb r3, r3 8082302: 461a mov r2, r3 8082304: 4ba9 ldr r3, [pc, #676] ; (80825ac ) 8082306: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808230a: 461a mov r2, r3 808230c: 218a movs r1, #138 ; 0x8a 808230e: f44f 708b mov.w r0, #278 ; 0x116 8082312: f7d2 f80f bl 8054334 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 8082316: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 808231a: b2db uxtb r3, r3 808231c: 461a mov r2, r3 808231e: 4ba3 ldr r3, [pc, #652] ; (80825ac ) 8082320: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082324: 461a mov r2, r3 8082326: 218a movs r1, #138 ; 0x8a 8082328: f44f 7093 mov.w r0, #294 ; 0x126 808232c: f7d2 f802 bl 8054334 if(menupos == D_Angle_IES) 8082330: e345 b.n 80829be } else if(menupos == D_Angle_IKS) 8082332: 4b9b ldr r3, [pc, #620] ; (80825a0 ) 8082334: 781b ldrb r3, [r3, #0] 8082336: b2db uxtb r3, r3 8082338: 2b20 cmp r3, #32 808233a: d15d bne.n 80823f8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808233c: 4999 ldr r1, [pc, #612] ; (80825a4 ) 808233e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082342: f7d1 fa4f bl 80537e4 if(blk) 8082346: 4b98 ldr r3, [pc, #608] ; (80825a8 ) 8082348: 681b ldr r3, [r3, #0] 808234a: 2b00 cmp r3, #0 808234c: d00c beq.n 8082368 LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 808234e: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 8082352: b2db uxtb r3, r3 8082354: 461a mov r2, r3 8082356: 4b95 ldr r3, [pc, #596] ; (80825ac ) 8082358: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808235c: 461a mov r2, r3 808235e: 218a movs r1, #138 ; 0x8a 8082360: f44f 708b mov.w r0, #278 ; 0x116 8082364: f7d1 ffe6 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082368: 498e ldr r1, [pc, #568] ; (80825a4 ) 808236a: 4891 ldr r0, [pc, #580] ; (80825b0 ) 808236c: f7d1 fa3a bl 80537e4 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8082370: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 8082374: b2db uxtb r3, r3 8082376: 461a mov r2, r3 8082378: 4b8c ldr r3, [pc, #560] ; (80825ac ) 808237a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808237e: 461a mov r2, r3 8082380: 218a movs r1, #138 ; 0x8a 8082382: 20c6 movs r0, #198 ; 0xc6 8082384: f7d1 ffd6 bl 8054334 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 8082388: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 808238c: b2db uxtb r3, r3 808238e: 461a mov r2, r3 8082390: 4b86 ldr r3, [pc, #536] ; (80825ac ) 8082392: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082396: 461a mov r2, r3 8082398: 218a movs r1, #138 ; 0x8a 808239a: 20d6 movs r0, #214 ; 0xd6 808239c: f7d1 ffca bl 8054334 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 80823a0: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 80823a4: b2db uxtb r3, r3 80823a6: 461a mov r2, r3 80823a8: 4b80 ldr r3, [pc, #512] ; (80825ac ) 80823aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80823ae: 461a mov r2, r3 80823b0: 218a movs r1, #138 ; 0x8a 80823b2: 20e6 movs r0, #230 ; 0xe6 80823b4: f7d1 ffbe bl 8054334 LCD_DisplayString(246, LCD_LINE_8, "."); 80823b8: 4a7e ldr r2, [pc, #504] ; (80825b4 ) 80823ba: 218a movs r1, #138 ; 0x8a 80823bc: 20f6 movs r0, #246 ; 0xf6 80823be: f7d1 ffb9 bl 8054334 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 80823c2: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 80823c6: b2db uxtb r3, r3 80823c8: 461a mov r2, r3 80823ca: 4b78 ldr r3, [pc, #480] ; (80825ac ) 80823cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80823d0: 461a mov r2, r3 80823d2: 218a movs r1, #138 ; 0x8a 80823d4: f44f 7083 mov.w r0, #262 ; 0x106 80823d8: f7d1 ffac bl 8054334 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 80823dc: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 80823e0: b2db uxtb r3, r3 80823e2: 461a mov r2, r3 80823e4: 4b71 ldr r3, [pc, #452] ; (80825ac ) 80823e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80823ea: 461a mov r2, r3 80823ec: 218a movs r1, #138 ; 0x8a 80823ee: f44f 7093 mov.w r0, #294 ; 0x126 80823f2: f7d1 ff9f bl 8054334 if(menupos == D_Angle_IES) 80823f6: e2e2 b.n 80829be } else if(menupos == D_Angle_IKT) 80823f8: 4b69 ldr r3, [pc, #420] ; (80825a0 ) 80823fa: 781b ldrb r3, [r3, #0] 80823fc: b2db uxtb r3, r3 80823fe: 2b21 cmp r3, #33 ; 0x21 8082400: f040 82dd bne.w 80829be { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082404: 4967 ldr r1, [pc, #412] ; (80825a4 ) 8082406: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808240a: f7d1 f9eb bl 80537e4 if(blk) 808240e: 4b66 ldr r3, [pc, #408] ; (80825a8 ) 8082410: 681b ldr r3, [r3, #0] 8082412: 2b00 cmp r3, #0 8082414: d00c beq.n 8082430 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[angle_ikt]); 8082416: f897 3396 ldrb.w r3, [r7, #918] ; 0x396 808241a: b2db uxtb r3, r3 808241c: 461a mov r2, r3 808241e: 4b63 ldr r3, [pc, #396] ; (80825ac ) 8082420: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082424: 461a mov r2, r3 8082426: 218a movs r1, #138 ; 0x8a 8082428: f44f 7093 mov.w r0, #294 ; 0x126 808242c: f7d1 ff82 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082430: 495c ldr r1, [pc, #368] ; (80825a4 ) 8082432: 485f ldr r0, [pc, #380] ; (80825b0 ) 8082434: f7d1 f9d6 bl 80537e4 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[angle_ies]); 8082438: f897 339b ldrb.w r3, [r7, #923] ; 0x39b 808243c: b2db uxtb r3, r3 808243e: 461a mov r2, r3 8082440: 4b5a ldr r3, [pc, #360] ; (80825ac ) 8082442: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082446: 461a mov r2, r3 8082448: 218a movs r1, #138 ; 0x8a 808244a: 20c6 movs r0, #198 ; 0xc6 808244c: f7d1 ff72 bl 8054334 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[angle_ied]); 8082450: f897 339a ldrb.w r3, [r7, #922] ; 0x39a 8082454: b2db uxtb r3, r3 8082456: 461a mov r2, r3 8082458: 4b54 ldr r3, [pc, #336] ; (80825ac ) 808245a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808245e: 461a mov r2, r3 8082460: 218a movs r1, #138 ; 0x8a 8082462: 20d6 movs r0, #214 ; 0xd6 8082464: f7d1 ff66 bl 8054334 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[angle_iee]); 8082468: f897 3399 ldrb.w r3, [r7, #921] ; 0x399 808246c: b2db uxtb r3, r3 808246e: 461a mov r2, r3 8082470: 4b4e ldr r3, [pc, #312] ; (80825ac ) 8082472: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082476: 461a mov r2, r3 8082478: 218a movs r1, #138 ; 0x8a 808247a: 20e6 movs r0, #230 ; 0xe6 808247c: f7d1 ff5a bl 8054334 LCD_DisplayString(246, LCD_LINE_8, "."); 8082480: 4a4c ldr r2, [pc, #304] ; (80825b4 ) 8082482: 218a movs r1, #138 ; 0x8a 8082484: 20f6 movs r0, #246 ; 0xf6 8082486: f7d1 ff55 bl 8054334 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[angle_ikd]); 808248a: f897 3398 ldrb.w r3, [r7, #920] ; 0x398 808248e: b2db uxtb r3, r3 8082490: 461a mov r2, r3 8082492: 4b46 ldr r3, [pc, #280] ; (80825ac ) 8082494: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082498: 461a mov r2, r3 808249a: 218a movs r1, #138 ; 0x8a 808249c: f44f 7083 mov.w r0, #262 ; 0x106 80824a0: f7d1 ff48 bl 8054334 LCD_DisplayString(278, LCD_LINE_8, (char *) pNUMS[angle_iks]); 80824a4: f897 3397 ldrb.w r3, [r7, #919] ; 0x397 80824a8: b2db uxtb r3, r3 80824aa: 461a mov r2, r3 80824ac: 4b3f ldr r3, [pc, #252] ; (80825ac ) 80824ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80824b2: 461a mov r2, r3 80824b4: 218a movs r1, #138 ; 0x8a 80824b6: f44f 708b mov.w r0, #278 ; 0x116 80824ba: f7d1 ff3b bl 8054334 if(menupos == D_Angle_IES) 80824be: e27e b.n 80829be } } else if((menupos >= RollMax_IDT) && (menupos <= RollMax_IKD)) 80824c0: 4b37 ldr r3, [pc, #220] ; (80825a0 ) 80824c2: 781b ldrb r3, [r3, #0] 80824c4: b2db uxtb r3, r3 80824c6: 2b25 cmp r3, #37 ; 0x25 80824c8: f240 827a bls.w 80829c0 80824cc: 4b34 ldr r3, [pc, #208] ; (80825a0 ) 80824ce: 781b ldrb r3, [r3, #0] 80824d0: b2db uxtb r3, r3 80824d2: 2b2b cmp r3, #43 ; 0x2b 80824d4: f200 8274 bhi.w 80829c0 { if(menupos == RollMax_IDT) 80824d8: 4b31 ldr r3, [pc, #196] ; (80825a0 ) 80824da: 781b ldrb r3, [r3, #0] 80824dc: b2db uxtb r3, r3 80824de: 2b26 cmp r3, #38 ; 0x26 80824e0: d16a bne.n 80825b8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80824e2: 4930 ldr r1, [pc, #192] ; (80825a4 ) 80824e4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80824e8: f7d1 f97c bl 80537e4 if(blk) 80824ec: 4b2e ldr r3, [pc, #184] ; (80825a8 ) 80824ee: 681b ldr r3, [r3, #0] 80824f0: 2b00 cmp r3, #0 80824f2: d00b beq.n 808250c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80824f4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80824f8: b2db uxtb r3, r3 80824fa: 461a mov r2, r3 80824fc: 4b2b ldr r3, [pc, #172] ; (80825ac ) 80824fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082502: 461a mov r2, r3 8082504: 21ba movs r1, #186 ; 0xba 8082506: 20c6 movs r0, #198 ; 0xc6 8082508: f7d1 ff14 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808250c: 4925 ldr r1, [pc, #148] ; (80825a4 ) 808250e: 4828 ldr r0, [pc, #160] ; (80825b0 ) 8082510: f7d1 f968 bl 80537e4 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8082514: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8082518: b2db uxtb r3, r3 808251a: 461a mov r2, r3 808251c: 4b23 ldr r3, [pc, #140] ; (80825ac ) 808251e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082522: 461a mov r2, r3 8082524: 21ba movs r1, #186 ; 0xba 8082526: 20d6 movs r0, #214 ; 0xd6 8082528: f7d1 ff04 bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 808252c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8082530: b2db uxtb r3, r3 8082532: 461a mov r2, r3 8082534: 4b1d ldr r3, [pc, #116] ; (80825ac ) 8082536: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808253a: 461a mov r2, r3 808253c: 21ba movs r1, #186 ; 0xba 808253e: 20e6 movs r0, #230 ; 0xe6 8082540: f7d1 fef8 bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8082544: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8082548: b2db uxtb r3, r3 808254a: 461a mov r2, r3 808254c: 4b17 ldr r3, [pc, #92] ; (80825ac ) 808254e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082552: 461a mov r2, r3 8082554: 21ba movs r1, #186 ; 0xba 8082556: 20f6 movs r0, #246 ; 0xf6 8082558: f7d1 feec bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 808255c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8082560: b2db uxtb r3, r3 8082562: 461a mov r2, r3 8082564: 4b11 ldr r3, [pc, #68] ; (80825ac ) 8082566: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808256a: 461a mov r2, r3 808256c: 21ba movs r1, #186 ; 0xba 808256e: f44f 7083 mov.w r0, #262 ; 0x106 8082572: f7d1 fedf bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 8082576: 4a0f ldr r2, [pc, #60] ; (80825b4 ) 8082578: 21ba movs r1, #186 ; 0xba 808257a: f44f 708b mov.w r0, #278 ; 0x116 808257e: f7d1 fed9 bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8082582: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8082586: b2db uxtb r3, r3 8082588: 461a mov r2, r3 808258a: 4b08 ldr r3, [pc, #32] ; (80825ac ) 808258c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082590: 461a mov r2, r3 8082592: 21ba movs r1, #186 ; 0xba 8082594: f44f 7093 mov.w r0, #294 ; 0x126 8082598: f7d1 fecc bl 8054334 808259c: e210 b.n 80829c0 808259e: bf00 nop 80825a0: 20020070 .word 0x20020070 80825a4: ff0a0f1f .word 0xff0a0f1f 80825a8: 2002165c .word 0x2002165c 80825ac: 20020964 .word 0x20020964 80825b0: ffd8aa57 .word 0xffd8aa57 80825b4: 080cf820 .word 0x080cf820 } else if(menupos == RollMax_IET) 80825b8: 4bc5 ldr r3, [pc, #788] ; (80828d0 ) 80825ba: 781b ldrb r3, [r3, #0] 80825bc: b2db uxtb r3, r3 80825be: 2b27 cmp r3, #39 ; 0x27 80825c0: d15d bne.n 808267e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80825c2: 49c4 ldr r1, [pc, #784] ; (80828d4 ) 80825c4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80825c8: f7d1 f90c bl 80537e4 if(blk) 80825cc: 4bc2 ldr r3, [pc, #776] ; (80828d8 ) 80825ce: 681b ldr r3, [r3, #0] 80825d0: 2b00 cmp r3, #0 80825d2: d00b beq.n 80825ec LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 80825d4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80825d8: b2db uxtb r3, r3 80825da: 461a mov r2, r3 80825dc: 4bbf ldr r3, [pc, #764] ; (80828dc ) 80825de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80825e2: 461a mov r2, r3 80825e4: 21ba movs r1, #186 ; 0xba 80825e6: 20d6 movs r0, #214 ; 0xd6 80825e8: f7d1 fea4 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80825ec: 49b9 ldr r1, [pc, #740] ; (80828d4 ) 80825ee: 48bc ldr r0, [pc, #752] ; (80828e0 ) 80825f0: f7d1 f8f8 bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80825f4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80825f8: b2db uxtb r3, r3 80825fa: 461a mov r2, r3 80825fc: 4bb7 ldr r3, [pc, #732] ; (80828dc ) 80825fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082602: 461a mov r2, r3 8082604: 21ba movs r1, #186 ; 0xba 8082606: 20c6 movs r0, #198 ; 0xc6 8082608: f7d1 fe94 bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 808260c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8082610: b2db uxtb r3, r3 8082612: 461a mov r2, r3 8082614: 4bb1 ldr r3, [pc, #708] ; (80828dc ) 8082616: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808261a: 461a mov r2, r3 808261c: 21ba movs r1, #186 ; 0xba 808261e: 20e6 movs r0, #230 ; 0xe6 8082620: f7d1 fe88 bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8082624: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8082628: b2db uxtb r3, r3 808262a: 461a mov r2, r3 808262c: 4bab ldr r3, [pc, #684] ; (80828dc ) 808262e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082632: 461a mov r2, r3 8082634: 21ba movs r1, #186 ; 0xba 8082636: 20f6 movs r0, #246 ; 0xf6 8082638: f7d1 fe7c bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 808263c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8082640: b2db uxtb r3, r3 8082642: 461a mov r2, r3 8082644: 4ba5 ldr r3, [pc, #660] ; (80828dc ) 8082646: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808264a: 461a mov r2, r3 808264c: 21ba movs r1, #186 ; 0xba 808264e: f44f 7083 mov.w r0, #262 ; 0x106 8082652: f7d1 fe6f bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 8082656: 4aa3 ldr r2, [pc, #652] ; (80828e4 ) 8082658: 21ba movs r1, #186 ; 0xba 808265a: f44f 708b mov.w r0, #278 ; 0x116 808265e: f7d1 fe69 bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8082662: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8082666: b2db uxtb r3, r3 8082668: 461a mov r2, r3 808266a: 4b9c ldr r3, [pc, #624] ; (80828dc ) 808266c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082670: 461a mov r2, r3 8082672: 21ba movs r1, #186 ; 0xba 8082674: f44f 7093 mov.w r0, #294 ; 0x126 8082678: f7d1 fe5c bl 8054334 808267c: e1a0 b.n 80829c0 } else if(menupos == RollMax_IES) 808267e: 4b94 ldr r3, [pc, #592] ; (80828d0 ) 8082680: 781b ldrb r3, [r3, #0] 8082682: b2db uxtb r3, r3 8082684: 2b28 cmp r3, #40 ; 0x28 8082686: d15d bne.n 8082744 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082688: 4992 ldr r1, [pc, #584] ; (80828d4 ) 808268a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808268e: f7d1 f8a9 bl 80537e4 if(blk) 8082692: 4b91 ldr r3, [pc, #580] ; (80828d8 ) 8082694: 681b ldr r3, [r3, #0] 8082696: 2b00 cmp r3, #0 8082698: d00b beq.n 80826b2 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 808269a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808269e: b2db uxtb r3, r3 80826a0: 461a mov r2, r3 80826a2: 4b8e ldr r3, [pc, #568] ; (80828dc ) 80826a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80826a8: 461a mov r2, r3 80826aa: 21ba movs r1, #186 ; 0xba 80826ac: 20e6 movs r0, #230 ; 0xe6 80826ae: f7d1 fe41 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80826b2: 4988 ldr r1, [pc, #544] ; (80828d4 ) 80826b4: 488a ldr r0, [pc, #552] ; (80828e0 ) 80826b6: f7d1 f895 bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 80826ba: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80826be: b2db uxtb r3, r3 80826c0: 461a mov r2, r3 80826c2: 4b86 ldr r3, [pc, #536] ; (80828dc ) 80826c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80826c8: 461a mov r2, r3 80826ca: 21ba movs r1, #186 ; 0xba 80826cc: 20c6 movs r0, #198 ; 0xc6 80826ce: f7d1 fe31 bl 8054334 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 80826d2: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80826d6: b2db uxtb r3, r3 80826d8: 461a mov r2, r3 80826da: 4b80 ldr r3, [pc, #512] ; (80828dc ) 80826dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80826e0: 461a mov r2, r3 80826e2: 21ba movs r1, #186 ; 0xba 80826e4: 20d6 movs r0, #214 ; 0xd6 80826e6: f7d1 fe25 bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 80826ea: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80826ee: b2db uxtb r3, r3 80826f0: 461a mov r2, r3 80826f2: 4b7a ldr r3, [pc, #488] ; (80828dc ) 80826f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80826f8: 461a mov r2, r3 80826fa: 21ba movs r1, #186 ; 0xba 80826fc: 20f6 movs r0, #246 ; 0xf6 80826fe: f7d1 fe19 bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8082702: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8082706: b2db uxtb r3, r3 8082708: 461a mov r2, r3 808270a: 4b74 ldr r3, [pc, #464] ; (80828dc ) 808270c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082710: 461a mov r2, r3 8082712: 21ba movs r1, #186 ; 0xba 8082714: f44f 7083 mov.w r0, #262 ; 0x106 8082718: f7d1 fe0c bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 808271c: 4a71 ldr r2, [pc, #452] ; (80828e4 ) 808271e: 21ba movs r1, #186 ; 0xba 8082720: f44f 708b mov.w r0, #278 ; 0x116 8082724: f7d1 fe06 bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8082728: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808272c: b2db uxtb r3, r3 808272e: 461a mov r2, r3 8082730: 4b6a ldr r3, [pc, #424] ; (80828dc ) 8082732: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082736: 461a mov r2, r3 8082738: 21ba movs r1, #186 ; 0xba 808273a: f44f 7093 mov.w r0, #294 ; 0x126 808273e: f7d1 fdf9 bl 8054334 8082742: e13d b.n 80829c0 } else if(menupos == RollMax_IED) 8082744: 4b62 ldr r3, [pc, #392] ; (80828d0 ) 8082746: 781b ldrb r3, [r3, #0] 8082748: b2db uxtb r3, r3 808274a: 2b29 cmp r3, #41 ; 0x29 808274c: d15d bne.n 808280a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808274e: 4961 ldr r1, [pc, #388] ; (80828d4 ) 8082750: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8082754: f7d1 f846 bl 80537e4 if(blk) 8082758: 4b5f ldr r3, [pc, #380] ; (80828d8 ) 808275a: 681b ldr r3, [r3, #0] 808275c: 2b00 cmp r3, #0 808275e: d00b beq.n 8082778 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8082760: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8082764: b2db uxtb r3, r3 8082766: 461a mov r2, r3 8082768: 4b5c ldr r3, [pc, #368] ; (80828dc ) 808276a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808276e: 461a mov r2, r3 8082770: 21ba movs r1, #186 ; 0xba 8082772: 20f6 movs r0, #246 ; 0xf6 8082774: f7d1 fdde bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082778: 4956 ldr r1, [pc, #344] ; (80828d4 ) 808277a: 4859 ldr r0, [pc, #356] ; (80828e0 ) 808277c: f7d1 f832 bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8082780: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8082784: b2db uxtb r3, r3 8082786: 461a mov r2, r3 8082788: 4b54 ldr r3, [pc, #336] ; (80828dc ) 808278a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808278e: 461a mov r2, r3 8082790: 21ba movs r1, #186 ; 0xba 8082792: 20c6 movs r0, #198 ; 0xc6 8082794: f7d1 fdce bl 8054334 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8082798: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808279c: b2db uxtb r3, r3 808279e: 461a mov r2, r3 80827a0: 4b4e ldr r3, [pc, #312] ; (80828dc ) 80827a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80827a6: 461a mov r2, r3 80827a8: 21ba movs r1, #186 ; 0xba 80827aa: 20d6 movs r0, #214 ; 0xd6 80827ac: f7d1 fdc2 bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 80827b0: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80827b4: b2db uxtb r3, r3 80827b6: 461a mov r2, r3 80827b8: 4b48 ldr r3, [pc, #288] ; (80828dc ) 80827ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80827be: 461a mov r2, r3 80827c0: 21ba movs r1, #186 ; 0xba 80827c2: 20e6 movs r0, #230 ; 0xe6 80827c4: f7d1 fdb6 bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 80827c8: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80827cc: b2db uxtb r3, r3 80827ce: 461a mov r2, r3 80827d0: 4b42 ldr r3, [pc, #264] ; (80828dc ) 80827d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80827d6: 461a mov r2, r3 80827d8: 21ba movs r1, #186 ; 0xba 80827da: f44f 7083 mov.w r0, #262 ; 0x106 80827de: f7d1 fda9 bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 80827e2: 4a40 ldr r2, [pc, #256] ; (80828e4 ) 80827e4: 21ba movs r1, #186 ; 0xba 80827e6: f44f 708b mov.w r0, #278 ; 0x116 80827ea: f7d1 fda3 bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80827ee: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80827f2: b2db uxtb r3, r3 80827f4: 461a mov r2, r3 80827f6: 4b39 ldr r3, [pc, #228] ; (80828dc ) 80827f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80827fc: 461a mov r2, r3 80827fe: 21ba movs r1, #186 ; 0xba 8082800: f44f 7093 mov.w r0, #294 ; 0x126 8082804: f7d1 fd96 bl 8054334 8082808: e0da b.n 80829c0 } else if(menupos == RollMax_IEE) 808280a: 4b31 ldr r3, [pc, #196] ; (80828d0 ) 808280c: 781b ldrb r3, [r3, #0] 808280e: b2db uxtb r3, r3 8082810: 2b2a cmp r3, #42 ; 0x2a 8082812: d169 bne.n 80828e8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8082814: 492f ldr r1, [pc, #188] ; (80828d4 ) 8082816: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808281a: f7d0 ffe3 bl 80537e4 if(blk) 808281e: 4b2e ldr r3, [pc, #184] ; (80828d8 ) 8082820: 681b ldr r3, [r3, #0] 8082822: 2b00 cmp r3, #0 8082824: d00c beq.n 8082840 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8082826: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808282a: b2db uxtb r3, r3 808282c: 461a mov r2, r3 808282e: 4b2b ldr r3, [pc, #172] ; (80828dc ) 8082830: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082834: 461a mov r2, r3 8082836: 21ba movs r1, #186 ; 0xba 8082838: f44f 7083 mov.w r0, #262 ; 0x106 808283c: f7d1 fd7a bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8082840: 4924 ldr r1, [pc, #144] ; (80828d4 ) 8082842: 4827 ldr r0, [pc, #156] ; (80828e0 ) 8082844: f7d0 ffce bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8082848: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808284c: b2db uxtb r3, r3 808284e: 461a mov r2, r3 8082850: 4b22 ldr r3, [pc, #136] ; (80828dc ) 8082852: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082856: 461a mov r2, r3 8082858: 21ba movs r1, #186 ; 0xba 808285a: 20c6 movs r0, #198 ; 0xc6 808285c: f7d1 fd6a bl 8054334 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 8082860: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8082864: b2db uxtb r3, r3 8082866: 461a mov r2, r3 8082868: 4b1c ldr r3, [pc, #112] ; (80828dc ) 808286a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808286e: 461a mov r2, r3 8082870: 21ba movs r1, #186 ; 0xba 8082872: 20d6 movs r0, #214 ; 0xd6 8082874: f7d1 fd5e bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8082878: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808287c: b2db uxtb r3, r3 808287e: 461a mov r2, r3 8082880: 4b16 ldr r3, [pc, #88] ; (80828dc ) 8082882: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082886: 461a mov r2, r3 8082888: 21ba movs r1, #186 ; 0xba 808288a: 20e6 movs r0, #230 ; 0xe6 808288c: f7d1 fd52 bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 8082890: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8082894: b2db uxtb r3, r3 8082896: 461a mov r2, r3 8082898: 4b10 ldr r3, [pc, #64] ; (80828dc ) 808289a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808289e: 461a mov r2, r3 80828a0: 21ba movs r1, #186 ; 0xba 80828a2: 20f6 movs r0, #246 ; 0xf6 80828a4: f7d1 fd46 bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 80828a8: 4a0e ldr r2, [pc, #56] ; (80828e4 ) 80828aa: 21ba movs r1, #186 ; 0xba 80828ac: f44f 708b mov.w r0, #278 ; 0x116 80828b0: f7d1 fd40 bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 80828b4: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80828b8: b2db uxtb r3, r3 80828ba: 461a mov r2, r3 80828bc: 4b07 ldr r3, [pc, #28] ; (80828dc ) 80828be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80828c2: 461a mov r2, r3 80828c4: 21ba movs r1, #186 ; 0xba 80828c6: f44f 7093 mov.w r0, #294 ; 0x126 80828ca: f7d1 fd33 bl 8054334 80828ce: e077 b.n 80829c0 80828d0: 20020070 .word 0x20020070 80828d4: ff0a0f1f .word 0xff0a0f1f 80828d8: 2002165c .word 0x2002165c 80828dc: 20020964 .word 0x20020964 80828e0: ffd8aa57 .word 0xffd8aa57 80828e4: 080cf820 .word 0x080cf820 } else if(menupos == RollMax_IKD) 80828e8: 4b72 ldr r3, [pc, #456] ; (8082ab4 ) 80828ea: 781b ldrb r3, [r3, #0] 80828ec: b2db uxtb r3, r3 80828ee: 2b2b cmp r3, #43 ; 0x2b 80828f0: d166 bne.n 80829c0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80828f2: 4971 ldr r1, [pc, #452] ; (8082ab8 ) 80828f4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80828f8: f7d0 ff74 bl 80537e4 if(blk) 80828fc: 4b6f ldr r3, [pc, #444] ; (8082abc ) 80828fe: 681b ldr r3, [r3, #0] 8082900: 2b00 cmp r3, #0 8082902: d00c beq.n 808291e LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd2]); 8082904: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8082908: b2db uxtb r3, r3 808290a: 461a mov r2, r3 808290c: 4b6c ldr r3, [pc, #432] ; (8082ac0 ) 808290e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082912: 461a mov r2, r3 8082914: 21ba movs r1, #186 ; 0xba 8082916: f44f 7093 mov.w r0, #294 ; 0x126 808291a: f7d1 fd0b bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808291e: 4966 ldr r1, [pc, #408] ; (8082ab8 ) 8082920: 4868 ldr r0, [pc, #416] ; (8082ac4 ) 8082922: f7d0 ff5f bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt2]); 8082926: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808292a: b2db uxtb r3, r3 808292c: 461a mov r2, r3 808292e: 4b64 ldr r3, [pc, #400] ; (8082ac0 ) 8082930: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082934: 461a mov r2, r3 8082936: 21ba movs r1, #186 ; 0xba 8082938: 20c6 movs r0, #198 ; 0xc6 808293a: f7d1 fcfb bl 8054334 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet2]); 808293e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8082942: b2db uxtb r3, r3 8082944: 461a mov r2, r3 8082946: 4b5e ldr r3, [pc, #376] ; (8082ac0 ) 8082948: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808294c: 461a mov r2, r3 808294e: 21ba movs r1, #186 ; 0xba 8082950: 20d6 movs r0, #214 ; 0xd6 8082952: f7d1 fcef bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies2]); 8082956: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808295a: b2db uxtb r3, r3 808295c: 461a mov r2, r3 808295e: 4b58 ldr r3, [pc, #352] ; (8082ac0 ) 8082960: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082964: 461a mov r2, r3 8082966: 21ba movs r1, #186 ; 0xba 8082968: 20e6 movs r0, #230 ; 0xe6 808296a: f7d1 fce3 bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied2]); 808296e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8082972: b2db uxtb r3, r3 8082974: 461a mov r2, r3 8082976: 4b52 ldr r3, [pc, #328] ; (8082ac0 ) 8082978: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808297c: 461a mov r2, r3 808297e: 21ba movs r1, #186 ; 0xba 8082980: 20f6 movs r0, #246 ; 0xf6 8082982: f7d1 fcd7 bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee2]); 8082986: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808298a: b2db uxtb r3, r3 808298c: 461a mov r2, r3 808298e: 4b4c ldr r3, [pc, #304] ; (8082ac0 ) 8082990: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8082994: 461a mov r2, r3 8082996: 21ba movs r1, #186 ; 0xba 8082998: f44f 7083 mov.w r0, #262 ; 0x106 808299c: f7d1 fcca bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 80829a0: 4a49 ldr r2, [pc, #292] ; (8082ac8 ) 80829a2: 21ba movs r1, #186 ; 0xba 80829a4: f44f 708b mov.w r0, #278 ; 0x116 80829a8: f7d1 fcc4 bl 8054334 80829ac: e008 b.n 80829c0 if(menupos == D_Rate_IET) 80829ae: bf00 nop 80829b0: e006 b.n 80829c0 if(menupos == D_Roll_IES) 80829b2: bf00 nop 80829b4: e004 b.n 80829c0 if(menupos == D_Outer_IES) 80829b6: bf00 nop 80829b8: e002 b.n 80829c0 if(menupos == D_Inner_IES) 80829ba: bf00 nop 80829bc: e000 b.n 80829c0 if(menupos == D_Angle_IES) 80829be: bf00 nop } } } if(pardata.OPTIONS & BIT2) // Åñëè àâòîóñèëåíèå 80829c0: 4b42 ldr r3, [pc, #264] ; (8082acc ) 80829c2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80829c6: f003 0304 and.w r3, r3, #4 80829ca: 2b00 cmp r3, #0 80829cc: f014 8617 beq.w 80975fe { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80829d0: 4939 ldr r1, [pc, #228] ; (8082ab8 ) 80829d2: 483f ldr r0, [pc, #252] ; (8082ad0 ) 80829d4: f7d0 ff06 bl 80537e4 //BSP_LCD_FillRect(257, 191, 6, 6); BSP_LCD_FillRect(257, 175, 6, 6); 80829d8: 2306 movs r3, #6 80829da: 2206 movs r2, #6 80829dc: 21af movs r1, #175 ; 0xaf 80829de: f240 1001 movw r0, #257 ; 0x101 80829e2: f7d1 fb8d bl 8054100 } break; 80829e6: f014 be0a b.w 80975fe case PARAM_SPEC: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80829ea: 4933 ldr r1, [pc, #204] ; (8082ab8 ) 80829ec: 4839 ldr r0, [pc, #228] ; (8082ad4 ) 80829ee: f7d0 fef9 bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 80829f2: 23c9 movs r3, #201 ; 0xc9 80829f4: f44f 729d mov.w r2, #314 ; 0x13a 80829f8: 2123 movs r1, #35 ; 0x23 80829fa: 2002 movs r0, #2 80829fc: f7d1 f9f8 bl 8053df0 //**************************************************************** strcpy(strF, pDelta_SPC[pardata.FRQ][pardata.LNE]); 8082a00: 4b32 ldr r3, [pc, #200] ; (8082acc ) 8082a02: 7adb ldrb r3, [r3, #11] 8082a04: b2db uxtb r3, r3 8082a06: 4618 mov r0, r3 8082a08: 4b30 ldr r3, [pc, #192] ; (8082acc ) 8082a0a: 79db ldrb r3, [r3, #7] 8082a0c: b2db uxtb r3, r3 8082a0e: 4619 mov r1, r3 8082a10: 4a31 ldr r2, [pc, #196] ; (8082ad8 ) 8082a12: 0083 lsls r3, r0, #2 8082a14: 440b add r3, r1 8082a16: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8082a1a: f507 73b6 add.w r3, r7, #364 ; 0x16c 8082a1e: 4611 mov r1, r2 8082a20: 4618 mov r0, r3 8082a22: f04a fc4a bl 80cd2ba l = strlen(strF); 8082a26: f507 73b6 add.w r3, r7, #364 ; 0x16c 8082a2a: 4618 mov r0, r3 8082a2c: f79d fc72 bl 8020314 8082a30: 4603 mov r3, r0 8082a32: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 8082a36: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8082a3a: 2b09 cmp r3, #9 8082a3c: d808 bhi.n 8082a50 { strcpy(str1, strF); 8082a3e: f507 72b6 add.w r2, r7, #364 ; 0x16c 8082a42: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8082a46: 4611 mov r1, r2 8082a48: 4618 mov r0, r3 8082a4a: f04a fc36 bl 80cd2ba 8082a4e: e07b b.n 8082b48 } else { memset(str1, 0x20, sizeof(str1)); 8082a50: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8082a54: f44f 7280 mov.w r2, #256 ; 0x100 8082a58: 2120 movs r1, #32 8082a5a: 4618 mov r0, r3 8082a5c: f04a fb10 bl 80cd080 if(tme <= l) 8082a60: 4b1e ldr r3, [pc, #120] ; (8082adc ) 8082a62: 681a ldr r2, [r3, #0] 8082a64: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8082a68: 429a cmp r2, r3 8082a6a: d839 bhi.n 8082ae0 { if(l - tme >= 9) 8082a6c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8082a70: 4b1a ldr r3, [pc, #104] ; (8082adc ) 8082a72: 681b ldr r3, [r3, #0] 8082a74: 1ad3 subs r3, r2, r3 8082a76: 2b08 cmp r3, #8 8082a78: d90b bls.n 8082a92 memcpy(str1, &strF[tme], 9); 8082a7a: 4b18 ldr r3, [pc, #96] ; (8082adc ) 8082a7c: 681b ldr r3, [r3, #0] 8082a7e: f507 72b6 add.w r2, r7, #364 ; 0x16c 8082a82: 18d1 adds r1, r2, r3 8082a84: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8082a88: 2209 movs r2, #9 8082a8a: 4618 mov r0, r3 8082a8c: f04a faed bl 80cd06a 8082a90: e039 b.n 8082b06 else memcpy(str1, &strF[tme], l - tme); 8082a92: 4b12 ldr r3, [pc, #72] ; (8082adc ) 8082a94: 681b ldr r3, [r3, #0] 8082a96: f507 72b6 add.w r2, r7, #364 ; 0x16c 8082a9a: 18d1 adds r1, r2, r3 8082a9c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8082aa0: 4b0e ldr r3, [pc, #56] ; (8082adc ) 8082aa2: 681b ldr r3, [r3, #0] 8082aa4: 1ad2 subs r2, r2, r3 8082aa6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8082aaa: 4618 mov r0, r3 8082aac: f04a fadd bl 80cd06a 8082ab0: e029 b.n 8082b06 8082ab2: bf00 nop 8082ab4: 20020070 .word 0x20020070 8082ab8: ff0a0f1f .word 0xff0a0f1f 8082abc: 2002165c .word 0x2002165c 8082ac0: 20020964 .word 0x20020964 8082ac4: ffd8aa57 .word 0xffd8aa57 8082ac8: 080cf820 .word 0x080cf820 8082acc: 20023e60 .word 0x20023e60 8082ad0: ff404040 .word 0xff404040 8082ad4: ffd3d3d3 .word 0xffd3d3d3 8082ad8: 2002038c .word 0x2002038c 8082adc: 20021668 .word 0x20021668 } else { memcpy(&str1[9 - (tme - l)], strF, tme - l); 8082ae0: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8082ae4: 4bd0 ldr r3, [pc, #832] ; (8082e28 ) 8082ae6: 681b ldr r3, [r3, #0] 8082ae8: 1ad3 subs r3, r2, r3 8082aea: 3309 adds r3, #9 8082aec: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8082af0: 18d0 adds r0, r2, r3 8082af2: 4bcd ldr r3, [pc, #820] ; (8082e28 ) 8082af4: 681a ldr r2, [r3, #0] 8082af6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8082afa: 1ad2 subs r2, r2, r3 8082afc: f507 73b6 add.w r3, r7, #364 ; 0x16c 8082b00: 4619 mov r1, r3 8082b02: f04a fab2 bl 80cd06a } str1[10] = '\0'; 8082b06: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8082b0a: 2200 movs r2, #0 8082b0c: 729a strb r2, [r3, #10] tt++; 8082b0e: 4bc7 ldr r3, [pc, #796] ; (8082e2c ) 8082b10: 781b ldrb r3, [r3, #0] 8082b12: 3301 adds r3, #1 8082b14: b2da uxtb r2, r3 8082b16: 4bc5 ldr r3, [pc, #788] ; (8082e2c ) 8082b18: 701a strb r2, [r3, #0] if(tt >= 4) 8082b1a: 4bc4 ldr r3, [pc, #784] ; (8082e2c ) 8082b1c: 781b ldrb r3, [r3, #0] 8082b1e: 2b03 cmp r3, #3 8082b20: d912 bls.n 8082b48 { tt = 0; 8082b22: 4bc2 ldr r3, [pc, #776] ; (8082e2c ) 8082b24: 2200 movs r2, #0 8082b26: 701a strb r2, [r3, #0] tme++; 8082b28: 4bbf ldr r3, [pc, #764] ; (8082e28 ) 8082b2a: 681b ldr r3, [r3, #0] 8082b2c: 3301 adds r3, #1 8082b2e: 4abe ldr r2, [pc, #760] ; (8082e28 ) 8082b30: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 8082b32: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8082b36: 4bbc ldr r3, [pc, #752] ; (8082e28 ) 8082b38: 681b ldr r3, [r3, #0] 8082b3a: 1ad3 subs r3, r2, r3 8082b3c: f113 0f09 cmn.w r3, #9 8082b40: d102 bne.n 8082b48 { tme = 0; 8082b42: 4bb9 ldr r3, [pc, #740] ; (8082e28 ) 8082b44: 2200 movs r2, #0 8082b46: 601a str r2, [r3, #0] //**************************************************************** k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8082b48: 4bb9 ldr r3, [pc, #740] ; (8082e30 ) 8082b4a: edd3 7a06 vldr s15, [r3, #24] 8082b4e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8082b52: ee67 7a87 vmul.f32 s15, s15, s14 8082b56: eefc 7ae7 vcvt.u32.f32 s15, s15 8082b5a: ee17 3a90 vmov r3, s15 8082b5e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 8082b62: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8082b66: 095b lsrs r3, r3, #5 8082b68: 4ab2 ldr r2, [pc, #712] ; (8082e34 ) 8082b6a: fba2 2303 umull r2, r3, r2, r3 8082b6e: 09db lsrs r3, r3, #7 8082b70: b2db uxtb r3, r3 8082b72: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 8082b76: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082b7a: 0953 lsrs r3, r2, #5 8082b7c: 49ad ldr r1, [pc, #692] ; (8082e34 ) 8082b7e: fba1 1303 umull r1, r3, r1, r3 8082b82: 09db lsrs r3, r3, #7 8082b84: 49ac ldr r1, [pc, #688] ; (8082e38 ) 8082b86: fb01 f303 mul.w r3, r1, r3 8082b8a: 1ad3 subs r3, r2, r3 8082b8c: 4aab ldr r2, [pc, #684] ; (8082e3c ) 8082b8e: fba2 2303 umull r2, r3, r2, r3 8082b92: 0b5b lsrs r3, r3, #13 8082b94: b2db uxtb r3, r3 8082b96: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 8082b9a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082b9e: 0953 lsrs r3, r2, #5 8082ba0: 49a4 ldr r1, [pc, #656] ; (8082e34 ) 8082ba2: fba1 1303 umull r1, r3, r1, r3 8082ba6: 09db lsrs r3, r3, #7 8082ba8: 49a3 ldr r1, [pc, #652] ; (8082e38 ) 8082baa: fb01 f303 mul.w r3, r1, r3 8082bae: 1ad3 subs r3, r2, r3 8082bb0: 4aa2 ldr r2, [pc, #648] ; (8082e3c ) 8082bb2: fba2 1203 umull r1, r2, r2, r3 8082bb6: 0b52 lsrs r2, r2, #13 8082bb8: f242 7110 movw r1, #10000 ; 0x2710 8082bbc: fb01 f202 mul.w r2, r1, r2 8082bc0: 1a9a subs r2, r3, r2 8082bc2: 4b9f ldr r3, [pc, #636] ; (8082e40 ) 8082bc4: fba3 2302 umull r2, r3, r3, r2 8082bc8: 099b lsrs r3, r3, #6 8082bca: b2db uxtb r3, r3 8082bcc: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8082bd0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8082bd4: 095a lsrs r2, r3, #5 8082bd6: 4997 ldr r1, [pc, #604] ; (8082e34 ) 8082bd8: fba1 1202 umull r1, r2, r1, r2 8082bdc: 09d2 lsrs r2, r2, #7 8082bde: 4996 ldr r1, [pc, #600] ; (8082e38 ) 8082be0: fb01 f202 mul.w r2, r1, r2 8082be4: 1a9a subs r2, r3, r2 8082be6: 4b95 ldr r3, [pc, #596] ; (8082e3c ) 8082be8: fba3 1302 umull r1, r3, r3, r2 8082bec: 0b5b lsrs r3, r3, #13 8082bee: f242 7110 movw r1, #10000 ; 0x2710 8082bf2: fb01 f303 mul.w r3, r1, r3 8082bf6: 1ad3 subs r3, r2, r3 8082bf8: 4a91 ldr r2, [pc, #580] ; (8082e40 ) 8082bfa: fba2 1203 umull r1, r2, r2, r3 8082bfe: 0992 lsrs r2, r2, #6 8082c00: f44f 717a mov.w r1, #1000 ; 0x3e8 8082c04: fb01 f202 mul.w r2, r1, r2 8082c08: 1a9a subs r2, r3, r2 8082c0a: 4b8e ldr r3, [pc, #568] ; (8082e44 ) 8082c0c: fba3 2302 umull r2, r3, r3, r2 8082c10: 095b lsrs r3, r3, #5 8082c12: b2db uxtb r3, r3 8082c14: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8082c18: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082c1c: 0953 lsrs r3, r2, #5 8082c1e: 4985 ldr r1, [pc, #532] ; (8082e34 ) 8082c20: fba1 1303 umull r1, r3, r1, r3 8082c24: 09db lsrs r3, r3, #7 8082c26: 4984 ldr r1, [pc, #528] ; (8082e38 ) 8082c28: fb01 f303 mul.w r3, r1, r3 8082c2c: 1ad3 subs r3, r2, r3 8082c2e: 4a83 ldr r2, [pc, #524] ; (8082e3c ) 8082c30: fba2 1203 umull r1, r2, r2, r3 8082c34: 0b52 lsrs r2, r2, #13 8082c36: f242 7110 movw r1, #10000 ; 0x2710 8082c3a: fb01 f202 mul.w r2, r1, r2 8082c3e: 1a9a subs r2, r3, r2 8082c40: 4b7f ldr r3, [pc, #508] ; (8082e40 ) 8082c42: fba3 1302 umull r1, r3, r3, r2 8082c46: 099b lsrs r3, r3, #6 8082c48: f44f 717a mov.w r1, #1000 ; 0x3e8 8082c4c: fb01 f303 mul.w r3, r1, r3 8082c50: 1ad3 subs r3, r2, r3 8082c52: 4a7c ldr r2, [pc, #496] ; (8082e44 ) 8082c54: fba2 1203 umull r1, r2, r2, r3 8082c58: 0952 lsrs r2, r2, #5 8082c5a: 2164 movs r1, #100 ; 0x64 8082c5c: fb01 f202 mul.w r2, r1, r2 8082c60: 1a9a subs r2, r3, r2 8082c62: 4b79 ldr r3, [pc, #484] ; (8082e48 ) 8082c64: fba3 2302 umull r2, r3, r3, r2 8082c68: 08db lsrs r3, r3, #3 8082c6a: b2db uxtb r3, r3 8082c6c: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8082c70: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082c74: 0953 lsrs r3, r2, #5 8082c76: 496f ldr r1, [pc, #444] ; (8082e34 ) 8082c78: fba1 1303 umull r1, r3, r1, r3 8082c7c: 09db lsrs r3, r3, #7 8082c7e: 496e ldr r1, [pc, #440] ; (8082e38 ) 8082c80: fb01 f303 mul.w r3, r1, r3 8082c84: 1ad3 subs r3, r2, r3 8082c86: 4a6d ldr r2, [pc, #436] ; (8082e3c ) 8082c88: fba2 1203 umull r1, r2, r2, r3 8082c8c: 0b52 lsrs r2, r2, #13 8082c8e: f242 7110 movw r1, #10000 ; 0x2710 8082c92: fb01 f202 mul.w r2, r1, r2 8082c96: 1a9a subs r2, r3, r2 8082c98: 4b69 ldr r3, [pc, #420] ; (8082e40 ) 8082c9a: fba3 1302 umull r1, r3, r3, r2 8082c9e: 099b lsrs r3, r3, #6 8082ca0: f44f 717a mov.w r1, #1000 ; 0x3e8 8082ca4: fb01 f303 mul.w r3, r1, r3 8082ca8: 1ad3 subs r3, r2, r3 8082caa: 4a66 ldr r2, [pc, #408] ; (8082e44 ) 8082cac: fba2 1203 umull r1, r2, r2, r3 8082cb0: 0952 lsrs r2, r2, #5 8082cb2: 2164 movs r1, #100 ; 0x64 8082cb4: fb01 f202 mul.w r2, r1, r2 8082cb8: 1a9a subs r2, r3, r2 8082cba: 4b63 ldr r3, [pc, #396] ; (8082e48 ) 8082cbc: fba3 1302 umull r1, r3, r3, r2 8082cc0: 08d9 lsrs r1, r3, #3 8082cc2: 460b mov r3, r1 8082cc4: 009b lsls r3, r3, #2 8082cc6: 440b add r3, r1 8082cc8: 005b lsls r3, r3, #1 8082cca: 1ad1 subs r1, r2, r3 8082ccc: b2cb uxtb r3, r1 8082cce: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 8082cd2: 2300 movs r3, #0 8082cd4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 8082cd8: f507 733b add.w r3, r7, #748 ; 0x2ec 8082cdc: 223c movs r2, #60 ; 0x3c 8082cde: 2100 movs r1, #0 8082ce0: 4618 mov r0, r3 8082ce2: f04a f9cd bl 80cd080 if(idt2 != 0) 8082ce6: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8082cea: b2db uxtb r3, r3 8082cec: 2b00 cmp r3, #0 8082cee: d00c beq.n 8082d0a str[i++] = idt2 + 48; 8082cf0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082cf4: 1c5a adds r2, r3, #1 8082cf6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082cfa: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 8082cfe: b2d2 uxtb r2, r2 8082d00: 3230 adds r2, #48 ; 0x30 8082d02: b2d1 uxtb r1, r2 8082d04: f507 723b add.w r2, r7, #748 ; 0x2ec 8082d08: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 8082d0a: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8082d0e: b2db uxtb r3, r3 8082d10: 2b00 cmp r3, #0 8082d12: d104 bne.n 8082d1e 8082d14: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8082d18: b2db uxtb r3, r3 8082d1a: 2b00 cmp r3, #0 8082d1c: d00c beq.n 8082d38 str[i++] = iet2 + 48; 8082d1e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082d22: 1c5a adds r2, r3, #1 8082d24: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082d28: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 8082d2c: b2d2 uxtb r2, r2 8082d2e: 3230 adds r2, #48 ; 0x30 8082d30: b2d1 uxtb r1, r2 8082d32: f507 723b add.w r2, r7, #748 ; 0x2ec 8082d36: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8082d38: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8082d3c: b2db uxtb r3, r3 8082d3e: 2b00 cmp r3, #0 8082d40: d109 bne.n 8082d56 8082d42: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8082d46: b2db uxtb r3, r3 8082d48: 2b00 cmp r3, #0 8082d4a: d104 bne.n 8082d56 8082d4c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8082d50: b2db uxtb r3, r3 8082d52: 2b00 cmp r3, #0 8082d54: d00c beq.n 8082d70 str[i++] = ies2 + 48; 8082d56: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082d5a: 1c5a adds r2, r3, #1 8082d5c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082d60: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 8082d64: b2d2 uxtb r2, r2 8082d66: 3230 adds r2, #48 ; 0x30 8082d68: b2d1 uxtb r1, r2 8082d6a: f507 723b add.w r2, r7, #748 ; 0x2ec 8082d6e: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 8082d70: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8082d74: b2db uxtb r3, r3 8082d76: 2b00 cmp r3, #0 8082d78: d10e bne.n 8082d98 8082d7a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8082d7e: b2db uxtb r3, r3 8082d80: 2b00 cmp r3, #0 8082d82: d109 bne.n 8082d98 8082d84: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8082d88: b2db uxtb r3, r3 8082d8a: 2b00 cmp r3, #0 8082d8c: d104 bne.n 8082d98 8082d8e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8082d92: b2db uxtb r3, r3 8082d94: 2b00 cmp r3, #0 8082d96: d00c beq.n 8082db2 str[i++] = ied2 + 48; 8082d98: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082d9c: 1c5a adds r2, r3, #1 8082d9e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082da2: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 8082da6: b2d2 uxtb r2, r2 8082da8: 3230 adds r2, #48 ; 0x30 8082daa: b2d1 uxtb r1, r2 8082dac: f507 723b add.w r2, r7, #748 ; 0x2ec 8082db0: 54d1 strb r1, [r2, r3] str[i++] = iee2 + 48; 8082db2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082db6: 1c5a adds r2, r3, #1 8082db8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082dbc: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 8082dc0: b2d2 uxtb r2, r2 8082dc2: 3230 adds r2, #48 ; 0x30 8082dc4: b2d1 uxtb r1, r2 8082dc6: f507 723b add.w r2, r7, #748 ; 0x2ec 8082dca: 54d1 strb r1, [r2, r3] str[i++] = '.'; 8082dcc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082dd0: 1c5a adds r2, r3, #1 8082dd2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082dd6: f507 723b add.w r2, r7, #748 ; 0x2ec 8082dda: 212e movs r1, #46 ; 0x2e 8082ddc: 54d1 strb r1, [r2, r3] str[i++] = ikd2 + 48; 8082dde: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082de2: 1c5a adds r2, r3, #1 8082de4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082de8: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 8082dec: b2d2 uxtb r2, r2 8082dee: 3230 adds r2, #48 ; 0x30 8082df0: b2d1 uxtb r1, r2 8082df2: f507 723b add.w r2, r7, #748 ; 0x2ec 8082df6: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.HP * 10.0f); 8082df8: 4b0d ldr r3, [pc, #52] ; (8082e30 ) 8082dfa: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 8082dfe: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8082e02: ee67 7a87 vmul.f32 s15, s15, s14 8082e06: eefc 7ae7 vcvt.u32.f32 s15, s15 8082e0a: ee17 3a90 vmov r3, s15 8082e0e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 8082e12: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8082e16: 095b lsrs r3, r3, #5 8082e18: 4a06 ldr r2, [pc, #24] ; (8082e34 ) 8082e1a: fba2 2303 umull r2, r3, r2, r3 8082e1e: 09db lsrs r3, r3, #7 8082e20: b2db uxtb r3, r3 8082e22: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 8082e26: e011 b.n 8082e4c 8082e28: 20021668 .word 0x20021668 8082e2c: 2002166c .word 0x2002166c 8082e30: 20023e60 .word 0x20023e60 8082e34: 0a7c5ac5 .word 0x0a7c5ac5 8082e38: 000186a0 .word 0x000186a0 8082e3c: d1b71759 .word 0xd1b71759 8082e40: 10624dd3 .word 0x10624dd3 8082e44: 51eb851f .word 0x51eb851f 8082e48: cccccccd .word 0xcccccccd ietHP = (uint8_t) (k % 100000 / 10000); 8082e4c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082e50: 0953 lsrs r3, r2, #5 8082e52: 49d5 ldr r1, [pc, #852] ; (80831a8 ) 8082e54: fba1 1303 umull r1, r3, r1, r3 8082e58: 09db lsrs r3, r3, #7 8082e5a: 49d4 ldr r1, [pc, #848] ; (80831ac ) 8082e5c: fb01 f303 mul.w r3, r1, r3 8082e60: 1ad3 subs r3, r2, r3 8082e62: 4ad3 ldr r2, [pc, #844] ; (80831b0 ) 8082e64: fba2 2303 umull r2, r3, r2, r3 8082e68: 0b5b lsrs r3, r3, #13 8082e6a: b2db uxtb r3, r3 8082e6c: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 8082e70: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082e74: 0953 lsrs r3, r2, #5 8082e76: 49cc ldr r1, [pc, #816] ; (80831a8 ) 8082e78: fba1 1303 umull r1, r3, r1, r3 8082e7c: 09db lsrs r3, r3, #7 8082e7e: 49cb ldr r1, [pc, #812] ; (80831ac ) 8082e80: fb01 f303 mul.w r3, r1, r3 8082e84: 1ad3 subs r3, r2, r3 8082e86: 4aca ldr r2, [pc, #808] ; (80831b0 ) 8082e88: fba2 1203 umull r1, r2, r2, r3 8082e8c: 0b52 lsrs r2, r2, #13 8082e8e: f242 7110 movw r1, #10000 ; 0x2710 8082e92: fb01 f202 mul.w r2, r1, r2 8082e96: 1a9a subs r2, r3, r2 8082e98: 4bc6 ldr r3, [pc, #792] ; (80831b4 ) 8082e9a: fba3 2302 umull r2, r3, r3, r2 8082e9e: 099b lsrs r3, r3, #6 8082ea0: b2db uxtb r3, r3 8082ea2: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8082ea6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8082eaa: 095a lsrs r2, r3, #5 8082eac: 49be ldr r1, [pc, #760] ; (80831a8 ) 8082eae: fba1 1202 umull r1, r2, r1, r2 8082eb2: 09d2 lsrs r2, r2, #7 8082eb4: 49bd ldr r1, [pc, #756] ; (80831ac ) 8082eb6: fb01 f202 mul.w r2, r1, r2 8082eba: 1a9a subs r2, r3, r2 8082ebc: 4bbc ldr r3, [pc, #752] ; (80831b0 ) 8082ebe: fba3 1302 umull r1, r3, r3, r2 8082ec2: 0b5b lsrs r3, r3, #13 8082ec4: f242 7110 movw r1, #10000 ; 0x2710 8082ec8: fb01 f303 mul.w r3, r1, r3 8082ecc: 1ad3 subs r3, r2, r3 8082ece: 4ab9 ldr r2, [pc, #740] ; (80831b4 ) 8082ed0: fba2 1203 umull r1, r2, r2, r3 8082ed4: 0992 lsrs r2, r2, #6 8082ed6: f44f 717a mov.w r1, #1000 ; 0x3e8 8082eda: fb01 f202 mul.w r2, r1, r2 8082ede: 1a9a subs r2, r3, r2 8082ee0: 4bb5 ldr r3, [pc, #724] ; (80831b8 ) 8082ee2: fba3 2302 umull r2, r3, r3, r2 8082ee6: 095b lsrs r3, r3, #5 8082ee8: b2db uxtb r3, r3 8082eea: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8082eee: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082ef2: 0953 lsrs r3, r2, #5 8082ef4: 49ac ldr r1, [pc, #688] ; (80831a8 ) 8082ef6: fba1 1303 umull r1, r3, r1, r3 8082efa: 09db lsrs r3, r3, #7 8082efc: 49ab ldr r1, [pc, #684] ; (80831ac ) 8082efe: fb01 f303 mul.w r3, r1, r3 8082f02: 1ad3 subs r3, r2, r3 8082f04: 4aaa ldr r2, [pc, #680] ; (80831b0 ) 8082f06: fba2 1203 umull r1, r2, r2, r3 8082f0a: 0b52 lsrs r2, r2, #13 8082f0c: f242 7110 movw r1, #10000 ; 0x2710 8082f10: fb01 f202 mul.w r2, r1, r2 8082f14: 1a9a subs r2, r3, r2 8082f16: 4ba7 ldr r3, [pc, #668] ; (80831b4 ) 8082f18: fba3 1302 umull r1, r3, r3, r2 8082f1c: 099b lsrs r3, r3, #6 8082f1e: f44f 717a mov.w r1, #1000 ; 0x3e8 8082f22: fb01 f303 mul.w r3, r1, r3 8082f26: 1ad3 subs r3, r2, r3 8082f28: 4aa3 ldr r2, [pc, #652] ; (80831b8 ) 8082f2a: fba2 1203 umull r1, r2, r2, r3 8082f2e: 0952 lsrs r2, r2, #5 8082f30: 2164 movs r1, #100 ; 0x64 8082f32: fb01 f202 mul.w r2, r1, r2 8082f36: 1a9a subs r2, r3, r2 8082f38: 4ba0 ldr r3, [pc, #640] ; (80831bc ) 8082f3a: fba3 2302 umull r2, r3, r3, r2 8082f3e: 08db lsrs r3, r3, #3 8082f40: b2db uxtb r3, r3 8082f42: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8082f46: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8082f4a: 0953 lsrs r3, r2, #5 8082f4c: 4996 ldr r1, [pc, #600] ; (80831a8 ) 8082f4e: fba1 1303 umull r1, r3, r1, r3 8082f52: 09db lsrs r3, r3, #7 8082f54: 4995 ldr r1, [pc, #596] ; (80831ac ) 8082f56: fb01 f303 mul.w r3, r1, r3 8082f5a: 1ad3 subs r3, r2, r3 8082f5c: 4a94 ldr r2, [pc, #592] ; (80831b0 ) 8082f5e: fba2 1203 umull r1, r2, r2, r3 8082f62: 0b52 lsrs r2, r2, #13 8082f64: f242 7110 movw r1, #10000 ; 0x2710 8082f68: fb01 f202 mul.w r2, r1, r2 8082f6c: 1a9a subs r2, r3, r2 8082f6e: 4b91 ldr r3, [pc, #580] ; (80831b4 ) 8082f70: fba3 1302 umull r1, r3, r3, r2 8082f74: 099b lsrs r3, r3, #6 8082f76: f44f 717a mov.w r1, #1000 ; 0x3e8 8082f7a: fb01 f303 mul.w r3, r1, r3 8082f7e: 1ad3 subs r3, r2, r3 8082f80: 4a8d ldr r2, [pc, #564] ; (80831b8 ) 8082f82: fba2 1203 umull r1, r2, r2, r3 8082f86: 0952 lsrs r2, r2, #5 8082f88: 2164 movs r1, #100 ; 0x64 8082f8a: fb01 f202 mul.w r2, r1, r2 8082f8e: 1a9a subs r2, r3, r2 8082f90: 4b8a ldr r3, [pc, #552] ; (80831bc ) 8082f92: fba3 1302 umull r1, r3, r3, r2 8082f96: 08d9 lsrs r1, r3, #3 8082f98: 460b mov r3, r1 8082f9a: 009b lsls r3, r3, #2 8082f9c: 440b add r3, r1 8082f9e: 005b lsls r3, r3, #1 8082fa0: 1ad1 subs r1, r2, r3 8082fa2: b2cb uxtb r3, r1 8082fa4: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 8082fa8: 2300 movs r3, #0 8082faa: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 8082fae: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8082fb2: 220c movs r2, #12 8082fb4: 2100 movs r1, #0 8082fb6: 4618 mov r0, r3 8082fb8: f04a f862 bl 80cd080 if(idtHP != 0) 8082fbc: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8082fc0: b2db uxtb r3, r3 8082fc2: 2b00 cmp r3, #0 8082fc4: d00c beq.n 8082fe0 strHP[i++] = idtHP + 48; 8082fc6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082fca: 1c5a adds r2, r3, #1 8082fcc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082fd0: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 8082fd4: b2d2 uxtb r2, r2 8082fd6: 3230 adds r2, #48 ; 0x30 8082fd8: b2d1 uxtb r1, r2 8082fda: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8082fde: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 8082fe0: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8082fe4: b2db uxtb r3, r3 8082fe6: 2b00 cmp r3, #0 8082fe8: d104 bne.n 8082ff4 8082fea: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8082fee: b2db uxtb r3, r3 8082ff0: 2b00 cmp r3, #0 8082ff2: d00c beq.n 808300e strHP[i++] = ietHP + 48; 8082ff4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8082ff8: 1c5a adds r2, r3, #1 8082ffa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8082ffe: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 8083002: b2d2 uxtb r2, r2 8083004: 3230 adds r2, #48 ; 0x30 8083006: b2d1 uxtb r1, r2 8083008: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808300c: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808300e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8083012: b2db uxtb r3, r3 8083014: 2b00 cmp r3, #0 8083016: d109 bne.n 808302c 8083018: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808301c: b2db uxtb r3, r3 808301e: 2b00 cmp r3, #0 8083020: d104 bne.n 808302c 8083022: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8083026: b2db uxtb r3, r3 8083028: 2b00 cmp r3, #0 808302a: d00c beq.n 8083046 strHP[i++] = iesHP + 48; 808302c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083030: 1c5a adds r2, r3, #1 8083032: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083036: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808303a: b2d2 uxtb r2, r2 808303c: 3230 adds r2, #48 ; 0x30 808303e: b2d1 uxtb r1, r2 8083040: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8083044: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8083046: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808304a: b2db uxtb r3, r3 808304c: 2b00 cmp r3, #0 808304e: d10e bne.n 808306e 8083050: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8083054: b2db uxtb r3, r3 8083056: 2b00 cmp r3, #0 8083058: d109 bne.n 808306e 808305a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808305e: b2db uxtb r3, r3 8083060: 2b00 cmp r3, #0 8083062: d104 bne.n 808306e 8083064: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8083068: b2db uxtb r3, r3 808306a: 2b00 cmp r3, #0 808306c: d00c beq.n 8083088 strHP[i++] = iedHP + 48; 808306e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083072: 1c5a adds r2, r3, #1 8083074: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083078: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 808307c: b2d2 uxtb r2, r2 808307e: 3230 adds r2, #48 ; 0x30 8083080: b2d1 uxtb r1, r2 8083082: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8083086: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 8083088: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808308c: 1c5a adds r2, r3, #1 808308e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083092: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 8083096: b2d2 uxtb r2, r2 8083098: 3230 adds r2, #48 ; 0x30 808309a: b2d1 uxtb r1, r2 808309c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 80830a0: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 80830a2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80830a6: 1c5a adds r2, r3, #1 80830a8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80830ac: f507 72d2 add.w r2, r7, #420 ; 0x1a4 80830b0: 212e movs r1, #46 ; 0x2e 80830b2: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 80830b4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80830b8: 1c5a adds r2, r3, #1 80830ba: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80830be: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 80830c2: b2d2 uxtb r2, r2 80830c4: 3230 adds r2, #48 ; 0x30 80830c6: b2d1 uxtb r1, r2 80830c8: f507 72d2 add.w r2, r7, #420 ; 0x1a4 80830cc: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.LP * 10.0f); 80830ce: 4b3c ldr r3, [pc, #240] ; (80831c0 ) 80830d0: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 80830d4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80830d8: ee67 7a87 vmul.f32 s15, s15, s14 80830dc: eefc 7ae7 vcvt.u32.f32 s15, s15 80830e0: ee17 3a90 vmov r3, s15 80830e4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 80830e8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80830ec: 095b lsrs r3, r3, #5 80830ee: 4a2e ldr r2, [pc, #184] ; (80831a8 ) 80830f0: fba2 2303 umull r2, r3, r2, r3 80830f4: 09db lsrs r3, r3, #7 80830f6: b2db uxtb r3, r3 80830f8: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 80830fc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8083100: 0953 lsrs r3, r2, #5 8083102: 4929 ldr r1, [pc, #164] ; (80831a8 ) 8083104: fba1 1303 umull r1, r3, r1, r3 8083108: 09db lsrs r3, r3, #7 808310a: 4928 ldr r1, [pc, #160] ; (80831ac ) 808310c: fb01 f303 mul.w r3, r1, r3 8083110: 1ad3 subs r3, r2, r3 8083112: 4a27 ldr r2, [pc, #156] ; (80831b0 ) 8083114: fba2 2303 umull r2, r3, r2, r3 8083118: 0b5b lsrs r3, r3, #13 808311a: b2db uxtb r3, r3 808311c: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 8083120: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8083124: 0953 lsrs r3, r2, #5 8083126: 4920 ldr r1, [pc, #128] ; (80831a8 ) 8083128: fba1 1303 umull r1, r3, r1, r3 808312c: 09db lsrs r3, r3, #7 808312e: 491f ldr r1, [pc, #124] ; (80831ac ) 8083130: fb01 f303 mul.w r3, r1, r3 8083134: 1ad3 subs r3, r2, r3 8083136: 4a1e ldr r2, [pc, #120] ; (80831b0 ) 8083138: fba2 1203 umull r1, r2, r2, r3 808313c: 0b52 lsrs r2, r2, #13 808313e: f242 7110 movw r1, #10000 ; 0x2710 8083142: fb01 f202 mul.w r2, r1, r2 8083146: 1a9a subs r2, r3, r2 8083148: 4b1a ldr r3, [pc, #104] ; (80831b4 ) 808314a: fba3 2302 umull r2, r3, r3, r2 808314e: 099b lsrs r3, r3, #6 8083150: b2db uxtb r3, r3 8083152: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8083156: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808315a: 095a lsrs r2, r3, #5 808315c: 4912 ldr r1, [pc, #72] ; (80831a8 ) 808315e: fba1 1202 umull r1, r2, r1, r2 8083162: 09d2 lsrs r2, r2, #7 8083164: 4911 ldr r1, [pc, #68] ; (80831ac ) 8083166: fb01 f202 mul.w r2, r1, r2 808316a: 1a9a subs r2, r3, r2 808316c: 4b10 ldr r3, [pc, #64] ; (80831b0 ) 808316e: fba3 1302 umull r1, r3, r3, r2 8083172: 0b5b lsrs r3, r3, #13 8083174: f242 7110 movw r1, #10000 ; 0x2710 8083178: fb01 f303 mul.w r3, r1, r3 808317c: 1ad3 subs r3, r2, r3 808317e: 4a0d ldr r2, [pc, #52] ; (80831b4 ) 8083180: fba2 1203 umull r1, r2, r2, r3 8083184: 0992 lsrs r2, r2, #6 8083186: f44f 717a mov.w r1, #1000 ; 0x3e8 808318a: fb01 f202 mul.w r2, r1, r2 808318e: 1a9a subs r2, r3, r2 8083190: 4b09 ldr r3, [pc, #36] ; (80831b8 ) 8083192: fba3 2302 umull r2, r3, r3, r2 8083196: 095b lsrs r3, r3, #5 8083198: b2db uxtb r3, r3 808319a: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808319e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80831a2: 0953 lsrs r3, r2, #5 80831a4: e00e b.n 80831c4 80831a6: bf00 nop 80831a8: 0a7c5ac5 .word 0x0a7c5ac5 80831ac: 000186a0 .word 0x000186a0 80831b0: d1b71759 .word 0xd1b71759 80831b4: 10624dd3 .word 0x10624dd3 80831b8: 51eb851f .word 0x51eb851f 80831bc: cccccccd .word 0xcccccccd 80831c0: 20023e60 .word 0x20023e60 80831c4: 49a2 ldr r1, [pc, #648] ; (8083450 ) 80831c6: fba1 1303 umull r1, r3, r1, r3 80831ca: 09db lsrs r3, r3, #7 80831cc: 49a1 ldr r1, [pc, #644] ; (8083454 ) 80831ce: fb01 f303 mul.w r3, r1, r3 80831d2: 1ad3 subs r3, r2, r3 80831d4: 4aa0 ldr r2, [pc, #640] ; (8083458 ) 80831d6: fba2 1203 umull r1, r2, r2, r3 80831da: 0b52 lsrs r2, r2, #13 80831dc: f242 7110 movw r1, #10000 ; 0x2710 80831e0: fb01 f202 mul.w r2, r1, r2 80831e4: 1a9a subs r2, r3, r2 80831e6: 4b9d ldr r3, [pc, #628] ; (808345c ) 80831e8: fba3 1302 umull r1, r3, r3, r2 80831ec: 099b lsrs r3, r3, #6 80831ee: f44f 717a mov.w r1, #1000 ; 0x3e8 80831f2: fb01 f303 mul.w r3, r1, r3 80831f6: 1ad3 subs r3, r2, r3 80831f8: 4a99 ldr r2, [pc, #612] ; (8083460 ) 80831fa: fba2 1203 umull r1, r2, r2, r3 80831fe: 0952 lsrs r2, r2, #5 8083200: 2164 movs r1, #100 ; 0x64 8083202: fb01 f202 mul.w r2, r1, r2 8083206: 1a9a subs r2, r3, r2 8083208: 4b96 ldr r3, [pc, #600] ; (8083464 ) 808320a: fba3 2302 umull r2, r3, r3, r2 808320e: 08db lsrs r3, r3, #3 8083210: b2db uxtb r3, r3 8083212: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8083216: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808321a: 0953 lsrs r3, r2, #5 808321c: 498c ldr r1, [pc, #560] ; (8083450 ) 808321e: fba1 1303 umull r1, r3, r1, r3 8083222: 09db lsrs r3, r3, #7 8083224: 498b ldr r1, [pc, #556] ; (8083454 ) 8083226: fb01 f303 mul.w r3, r1, r3 808322a: 1ad3 subs r3, r2, r3 808322c: 4a8a ldr r2, [pc, #552] ; (8083458 ) 808322e: fba2 1203 umull r1, r2, r2, r3 8083232: 0b52 lsrs r2, r2, #13 8083234: f242 7110 movw r1, #10000 ; 0x2710 8083238: fb01 f202 mul.w r2, r1, r2 808323c: 1a9a subs r2, r3, r2 808323e: 4b87 ldr r3, [pc, #540] ; (808345c ) 8083240: fba3 1302 umull r1, r3, r3, r2 8083244: 099b lsrs r3, r3, #6 8083246: f44f 717a mov.w r1, #1000 ; 0x3e8 808324a: fb01 f303 mul.w r3, r1, r3 808324e: 1ad3 subs r3, r2, r3 8083250: 4a83 ldr r2, [pc, #524] ; (8083460 ) 8083252: fba2 1203 umull r1, r2, r2, r3 8083256: 0952 lsrs r2, r2, #5 8083258: 2164 movs r1, #100 ; 0x64 808325a: fb01 f202 mul.w r2, r1, r2 808325e: 1a9a subs r2, r3, r2 8083260: 4b80 ldr r3, [pc, #512] ; (8083464 ) 8083262: fba3 1302 umull r1, r3, r3, r2 8083266: 08d9 lsrs r1, r3, #3 8083268: 460b mov r3, r1 808326a: 009b lsls r3, r3, #2 808326c: 440b add r3, r1 808326e: 005b lsls r3, r3, #1 8083270: 1ad1 subs r1, r2, r3 8083272: b2cb uxtb r3, r1 8083274: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 8083278: 2300 movs r3, #0 808327a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 808327e: f507 73cc add.w r3, r7, #408 ; 0x198 8083282: 220c movs r2, #12 8083284: 2100 movs r1, #0 8083286: 4618 mov r0, r3 8083288: f049 fefa bl 80cd080 if(idtLP != 0) 808328c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8083290: b2db uxtb r3, r3 8083292: 2b00 cmp r3, #0 8083294: d00c beq.n 80832b0 strLP[i++] = idtLP + 48; 8083296: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808329a: 1c5a adds r2, r3, #1 808329c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80832a0: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 80832a4: b2d2 uxtb r2, r2 80832a6: 3230 adds r2, #48 ; 0x30 80832a8: b2d1 uxtb r1, r2 80832aa: f507 72cc add.w r2, r7, #408 ; 0x198 80832ae: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 80832b0: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80832b4: b2db uxtb r3, r3 80832b6: 2b00 cmp r3, #0 80832b8: d104 bne.n 80832c4 80832ba: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80832be: b2db uxtb r3, r3 80832c0: 2b00 cmp r3, #0 80832c2: d00c beq.n 80832de strLP[i++] = ietLP + 48; 80832c4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80832c8: 1c5a adds r2, r3, #1 80832ca: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80832ce: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 80832d2: b2d2 uxtb r2, r2 80832d4: 3230 adds r2, #48 ; 0x30 80832d6: b2d1 uxtb r1, r2 80832d8: f507 72cc add.w r2, r7, #408 ; 0x198 80832dc: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 80832de: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80832e2: b2db uxtb r3, r3 80832e4: 2b00 cmp r3, #0 80832e6: d109 bne.n 80832fc 80832e8: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80832ec: b2db uxtb r3, r3 80832ee: 2b00 cmp r3, #0 80832f0: d104 bne.n 80832fc 80832f2: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80832f6: b2db uxtb r3, r3 80832f8: 2b00 cmp r3, #0 80832fa: d00c beq.n 8083316 strLP[i++] = iesLP + 48; 80832fc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083300: 1c5a adds r2, r3, #1 8083302: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083306: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808330a: b2d2 uxtb r2, r2 808330c: 3230 adds r2, #48 ; 0x30 808330e: b2d1 uxtb r1, r2 8083310: f507 72cc add.w r2, r7, #408 ; 0x198 8083314: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 8083316: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808331a: b2db uxtb r3, r3 808331c: 2b00 cmp r3, #0 808331e: d10e bne.n 808333e 8083320: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8083324: b2db uxtb r3, r3 8083326: 2b00 cmp r3, #0 8083328: d109 bne.n 808333e 808332a: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808332e: b2db uxtb r3, r3 8083330: 2b00 cmp r3, #0 8083332: d104 bne.n 808333e 8083334: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8083338: b2db uxtb r3, r3 808333a: 2b00 cmp r3, #0 808333c: d00c beq.n 8083358 strLP[i++] = iedLP + 48; 808333e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083342: 1c5a adds r2, r3, #1 8083344: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083348: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808334c: b2d2 uxtb r2, r2 808334e: 3230 adds r2, #48 ; 0x30 8083350: b2d1 uxtb r1, r2 8083352: f507 72cc add.w r2, r7, #408 ; 0x198 8083356: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 8083358: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808335c: 1c5a adds r2, r3, #1 808335e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8083362: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 8083366: b2d2 uxtb r2, r2 8083368: 3230 adds r2, #48 ; 0x30 808336a: b2d1 uxtb r1, r2 808336c: f507 72cc add.w r2, r7, #408 ; 0x198 8083370: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 8083372: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083376: 1c5a adds r2, r3, #1 8083378: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808337c: f507 72cc add.w r2, r7, #408 ; 0x198 8083380: 212e movs r1, #46 ; 0x2e 8083382: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 8083384: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8083388: 1c5a adds r2, r3, #1 808338a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808338e: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 8083392: b2d2 uxtb r2, r2 8083394: 3230 adds r2, #48 ; 0x30 8083396: b2d1 uxtb r1, r2 8083398: f507 72cc add.w r2, r7, #408 ; 0x198 808339c: 54d1 strb r1, [r2, r3] LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808339e: 4932 ldr r1, [pc, #200] ; (8083468 ) 80833a0: f04f 30ff mov.w r0, #4294967295 80833a4: f7d0 fa1e bl 80537e4 if(pardata.LANG == RUS) 80833a8: 4b30 ldr r3, [pc, #192] ; (808346c ) 80833aa: 7b1b ldrb r3, [r3, #12] 80833ac: b2db uxtb r3, r3 80833ae: 2b00 cmp r3, #0 80833b0: d105 bne.n 80833be LCD_DisplayString(10, LCD_LINE_3, "Ñïåêòð"); 80833b2: 4a2f ldr r2, [pc, #188] ; (8083470 ) 80833b4: 213a movs r1, #58 ; 0x3a 80833b6: 200a movs r0, #10 80833b8: f7d0 ffbc bl 8054334 80833bc: e004 b.n 80833c8 else LCD_DisplayString(10, LCD_LINE_3, "Spectrum type"); 80833be: 4a2d ldr r2, [pc, #180] ; (8083474 ) 80833c0: 213a movs r1, #58 ; 0x3a 80833c2: 200a movs r0, #10 80833c4: f7d0 ffb6 bl 8054334 switch(pardata.OPTIONS & maskFFT) 80833c8: 4b28 ldr r3, [pc, #160] ; (808346c ) 80833ca: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80833ce: f003 0330 and.w r3, r3, #48 ; 0x30 80833d2: 2b10 cmp r3, #16 80833d4: d00d beq.n 80833f2 80833d6: 2b10 cmp r3, #16 80833d8: d803 bhi.n 80833e2 80833da: 2b00 cmp r3, #0 80833dc: d009 beq.n 80833f2 break; } //******************************************************************************************************************************************* break; 80833de: f014 b925 b.w 809762c switch(pardata.OPTIONS & maskFFT) 80833e2: 2b20 cmp r3, #32 80833e4: f003 8027 beq.w 8086436 80833e8: 2b30 cmp r3, #48 ; 0x30 80833ea: f003 8024 beq.w 8086436 break; 80833ee: f014 b91d b.w 809762c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80833f2: 491d ldr r1, [pc, #116] ; (8083468 ) 80833f4: f04f 30ff mov.w r0, #4294967295 80833f8: f7d0 f9f4 bl 80537e4 if(pardata.LANG == RUS) 80833fc: 4b1b ldr r3, [pc, #108] ; (808346c ) 80833fe: 7b1b ldrb r3, [r3, #12] 8083400: b2db uxtb r3, r3 8083402: 2b00 cmp r3, #0 8083404: d146 bne.n 8083494 LCD_DisplayString(10, LCD_LINE_4, "Âåëè÷èíà"); 8083406: 4a1c ldr r2, [pc, #112] ; (8083478 ) 8083408: 214a movs r1, #74 ; 0x4a 808340a: 200a movs r0, #10 808340c: f7d0 ff92 bl 8054334 LCD_DisplayString(10, LCD_LINE_5, "Ôèëüòð Â×(Ãö)"); 8083410: 4a1a ldr r2, [pc, #104] ; (808347c ) 8083412: 215a movs r1, #90 ; 0x5a 8083414: 200a movs r0, #10 8083416: f7d0 ff8d bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Ôèëüòð Í×(Ãö)"); 808341a: 4a19 ldr r2, [pc, #100] ; (8083480 ) 808341c: 216a movs r1, #106 ; 0x6a 808341e: 200a movs r0, #10 8083420: f7d0 ff88 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "×àñò.ðàçðåø.(Ãö)"); 8083424: 4a17 ldr r2, [pc, #92] ; (8083484 ) 8083426: 217a movs r1, #122 ; 0x7a 8083428: 200a movs r0, #10 808342a: f7d0 ff83 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Ìàñøòàá ïî Y"); 808342e: 4a16 ldr r2, [pc, #88] ; (8083488 ) 8083430: 218a movs r1, #138 ; 0x8a 8083432: 200a movs r0, #10 8083434: f7d0 ff7e bl 8054334 LCD_DisplayString(10, LCD_LINE_9, "Îêíî"); 8083438: 4a14 ldr r2, [pc, #80] ; (808348c ) 808343a: 219a movs r1, #154 ; 0x9a 808343c: 200a movs r0, #10 808343e: f7d0 ff79 bl 8054334 LCD_DisplayString(10, LCD_LINE_10, "Óñðåäíåíèå(êîë-âî)"); 8083442: 4a13 ldr r2, [pc, #76] ; (8083490 ) 8083444: 21aa movs r1, #170 ; 0xaa 8083446: 200a movs r0, #10 8083448: f7d0 ff74 bl 8054334 808344c: e045 b.n 80834da 808344e: bf00 nop 8083450: 0a7c5ac5 .word 0x0a7c5ac5 8083454: 000186a0 .word 0x000186a0 8083458: d1b71759 .word 0xd1b71759 808345c: 10624dd3 .word 0x10624dd3 8083460: 51eb851f .word 0x51eb851f 8083464: cccccccd .word 0xcccccccd 8083468: ff0a0f1f .word 0xff0a0f1f 808346c: 20023e60 .word 0x20023e60 8083470: 080ced80 .word 0x080ced80 8083474: 080d0074 .word 0x080d0074 8083478: 080cf760 .word 0x080cf760 808347c: 080cf208 .word 0x080cf208 8083480: 080cf218 .word 0x080cf218 8083484: 080d0084 .word 0x080d0084 8083488: 080d0098 .word 0x080d0098 808348c: 080cf44c .word 0x080cf44c 8083490: 080cf3b4 .word 0x080cf3b4 LCD_DisplayString(10, LCD_LINE_4, "Parameter"); 8083494: 4aad ldr r2, [pc, #692] ; (808374c ) 8083496: 214a movs r1, #74 ; 0x4a 8083498: 200a movs r0, #10 808349a: f7d0 ff4b bl 8054334 LCD_DisplayString(10, LCD_LINE_5, "HPF(Hz)"); 808349e: 4aac ldr r2, [pc, #688] ; (8083750 ) 80834a0: 215a movs r1, #90 ; 0x5a 80834a2: 200a movs r0, #10 80834a4: f7d0 ff46 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "LPF(Hz)"); 80834a8: 4aaa ldr r2, [pc, #680] ; (8083754 ) 80834aa: 216a movs r1, #106 ; 0x6a 80834ac: 200a movs r0, #10 80834ae: f7d0 ff41 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Resolution(Hz)"); 80834b2: 4aa9 ldr r2, [pc, #676] ; (8083758 ) 80834b4: 217a movs r1, #122 ; 0x7a 80834b6: 200a movs r0, #10 80834b8: f7d0 ff3c bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Scale Y"); 80834bc: 4aa7 ldr r2, [pc, #668] ; (808375c ) 80834be: 218a movs r1, #138 ; 0x8a 80834c0: 200a movs r0, #10 80834c2: f7d0 ff37 bl 8054334 LCD_DisplayString(10, LCD_LINE_9, "Window"); 80834c6: 4aa6 ldr r2, [pc, #664] ; (8083760 ) 80834c8: 219a movs r1, #154 ; 0x9a 80834ca: 200a movs r0, #10 80834cc: f7d0 ff32 bl 8054334 LCD_DisplayString(10, LCD_LINE_10, "Num.average"); 80834d0: 4aa4 ldr r2, [pc, #656] ; (8083764 ) 80834d2: 21aa movs r1, #170 ; 0xaa 80834d4: 200a movs r0, #10 80834d6: f7d0 ff2d bl 8054334 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_VIB[pardata.LANG][8]);//"Óñèëåíèå" 80834da: 4ba3 ldr r3, [pc, #652] ; (8083768 ) 80834dc: 7b1b ldrb r3, [r3, #12] 80834de: b2db uxtb r3, r3 80834e0: 4619 mov r1, r3 80834e2: 4aa2 ldr r2, [pc, #648] ; (808376c ) 80834e4: 232c movs r3, #44 ; 0x2c 80834e6: fb03 f301 mul.w r3, r3, r1 80834ea: 4413 add r3, r2 80834ec: 3320 adds r3, #32 80834ee: 681b ldr r3, [r3, #0] 80834f0: 461a mov r2, r3 80834f2: 21ba movs r1, #186 ; 0xba 80834f4: 200a movs r0, #10 80834f6: f7d0 ff1d bl 8054334 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80834fa: 230a movs r3, #10 80834fc: 220a movs r2, #10 80834fe: 21bd movs r1, #189 ; 0xbd 8083500: 20ff movs r0, #255 ; 0xff 8083502: f7d0 fdfd bl 8054100 if(menupos == Ok) 8083506: 4b9a ldr r3, [pc, #616] ; (8083770 ) 8083508: 781b ldrb r3, [r3, #0] 808350a: b2db uxtb r3, r3 808350c: 2b00 cmp r3, #0 808350e: f040 8145 bne.w 808379c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083512: 4998 ldr r1, [pc, #608] ; (8083774 ) 8083514: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083518: f7d0 f964 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 808351c: 4b92 ldr r3, [pc, #584] ; (8083768 ) 808351e: 7b1b ldrb r3, [r3, #12] 8083520: b2db uxtb r3, r3 8083522: 461a mov r2, r3 8083524: 4b94 ldr r3, [pc, #592] ; (8083778 ) 8083526: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808352a: 461a mov r2, r3 808352c: 2127 movs r1, #39 ; 0x27 808352e: 200a movs r0, #10 8083530: f7d0 ff00 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083534: 498f ldr r1, [pc, #572] ; (8083774 ) 8083536: f04f 30ff mov.w r0, #4294967295 808353a: f7d0 f953 bl 80537e4 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808353e: 498d ldr r1, [pc, #564] ; (8083774 ) 8083540: 488e ldr r0, [pc, #568] ; (808377c ) 8083542: f7d0 f94f bl 80537e4 if((pardata.OPTIONS & maskFFT) == fft) 8083546: 4b88 ldr r3, [pc, #544] ; (8083768 ) 8083548: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808354c: f003 0330 and.w r3, r3, #48 ; 0x30 8083550: 2b00 cmp r3, #0 8083552: d10d bne.n 8083570 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8083554: 4b84 ldr r3, [pc, #528] ; (8083768 ) 8083556: 7b1b ldrb r3, [r3, #12] 8083558: b2db uxtb r3, r3 808355a: 4a89 ldr r2, [pc, #548] ; (8083780 ) 808355c: 011b lsls r3, r3, #4 808355e: 4413 add r3, r2 8083560: 681b ldr r3, [r3, #0] 8083562: 461a mov r2, r3 8083564: 213a movs r1, #58 ; 0x3a 8083566: f44f 7082 mov.w r0, #260 ; 0x104 808356a: f7d0 fefb bl 8054364 808356e: e00d b.n 808358c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8083570: 4b7d ldr r3, [pc, #500] ; (8083768 ) 8083572: 7b1b ldrb r3, [r3, #12] 8083574: b2db uxtb r3, r3 8083576: 4a82 ldr r2, [pc, #520] ; (8083780 ) 8083578: 011b lsls r3, r3, #4 808357a: 4413 add r3, r2 808357c: 3304 adds r3, #4 808357e: 681b ldr r3, [r3, #0] 8083580: 461a mov r2, r3 8083582: 213a movs r1, #58 ; 0x3a 8083584: f44f 7082 mov.w r0, #260 ; 0x104 8083588: f7d0 feec bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 808358c: 4b76 ldr r3, [pc, #472] ; (8083768 ) 808358e: 7b1b ldrb r3, [r3, #12] 8083590: b2db uxtb r3, r3 8083592: 4618 mov r0, r3 8083594: 4b74 ldr r3, [pc, #464] ; (8083768 ) 8083596: 785b ldrb r3, [r3, #1] 8083598: b2db uxtb r3, r3 808359a: 005b lsls r3, r3, #1 808359c: 4a72 ldr r2, [pc, #456] ; (8083768 ) 808359e: 7852 ldrb r2, [r2, #1] 80835a0: b2d2 uxtb r2, r2 80835a2: 4611 mov r1, r2 80835a4: 4a70 ldr r2, [pc, #448] ; (8083768 ) 80835a6: 440a add r2, r1 80835a8: 7892 ldrb r2, [r2, #2] 80835aa: b2d2 uxtb r2, r2 80835ac: 431a orrs r2, r3 80835ae: 4975 ldr r1, [pc, #468] ; (8083784 ) 80835b0: 4603 mov r3, r0 80835b2: 005b lsls r3, r3, #1 80835b4: 4403 add r3, r0 80835b6: 005b lsls r3, r3, #1 80835b8: 4413 add r3, r2 80835ba: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80835be: 461a mov r2, r3 80835c0: 214a movs r1, #74 ; 0x4a 80835c2: f44f 7082 mov.w r0, #260 ; 0x104 80835c6: f7d0 fecd bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80835ca: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80835ce: 461a mov r2, r3 80835d0: 215a movs r1, #90 ; 0x5a 80835d2: f44f 7082 mov.w r0, #260 ; 0x104 80835d6: f7d0 fec5 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80835da: f507 73cc add.w r3, r7, #408 ; 0x198 80835de: 461a mov r2, r3 80835e0: 216a movs r1, #106 ; 0x6a 80835e2: f44f 7082 mov.w r0, #260 ; 0x104 80835e6: f7d0 febd bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 80835ea: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80835ee: 461a mov r2, r3 80835f0: 217a movs r1, #122 ; 0x7a 80835f2: f44f 7082 mov.w r0, #260 ; 0x104 80835f6: f7d0 feb5 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80835fa: 4b5b ldr r3, [pc, #364] ; (8083768 ) 80835fc: 7b1b ldrb r3, [r3, #12] 80835fe: b2db uxtb r3, r3 8083600: 4618 mov r0, r3 8083602: 4b59 ldr r3, [pc, #356] ; (8083768 ) 8083604: 7a9b ldrb r3, [r3, #10] 8083606: b2db uxtb r3, r3 8083608: 4619 mov r1, r3 808360a: 4a5f ldr r2, [pc, #380] ; (8083788 ) 808360c: 0043 lsls r3, r0, #1 808360e: 440b add r3, r1 8083610: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8083614: 461a mov r2, r3 8083616: 218a movs r1, #138 ; 0x8a 8083618: f44f 7082 mov.w r0, #260 ; 0x104 808361c: f7d0 fea2 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8083620: 4b51 ldr r3, [pc, #324] ; (8083768 ) 8083622: 7b1b ldrb r3, [r3, #12] 8083624: b2db uxtb r3, r3 8083626: 4619 mov r1, r3 8083628: 4b4f ldr r3, [pc, #316] ; (8083768 ) 808362a: 7a5b ldrb r3, [r3, #9] 808362c: b2db uxtb r3, r3 808362e: 4618 mov r0, r3 8083630: 4a56 ldr r2, [pc, #344] ; (808378c ) 8083632: 460b mov r3, r1 8083634: 009b lsls r3, r3, #2 8083636: 440b add r3, r1 8083638: 4403 add r3, r0 808363a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808363e: 461a mov r2, r3 8083640: 219a movs r1, #154 ; 0x9a 8083642: f44f 7082 mov.w r0, #260 ; 0x104 8083646: f7d0 fe8d bl 8054364 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 808364a: 4b47 ldr r3, [pc, #284] ; (8083768 ) 808364c: 7b5b ldrb r3, [r3, #13] 808364e: b2db uxtb r3, r3 8083650: 461a mov r2, r3 8083652: 4b4f ldr r3, [pc, #316] ; (8083790 ) 8083654: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083658: 461a mov r2, r3 808365a: 21aa movs r1, #170 ; 0xaa 808365c: f44f 7082 mov.w r0, #260 ; 0x104 8083660: f7d0 fe80 bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8083664: 4b40 ldr r3, [pc, #256] ; (8083768 ) 8083666: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808366a: f003 0304 and.w r3, r3, #4 808366e: 2b00 cmp r3, #0 8083670: d033 beq.n 80836da LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8083672: 4940 ldr r1, [pc, #256] ; (8083774 ) 8083674: 4847 ldr r0, [pc, #284] ; (8083794 ) 8083676: f7d0 f8b5 bl 80537e4 if(pardata.IIN != VOLTS) 808367a: 4b3b ldr r3, [pc, #236] ; (8083768 ) 808367c: 799b ldrb r3, [r3, #6] 808367e: b2db uxtb r3, r3 8083680: 2b02 cmp r3, #2 8083682: d010 beq.n 80836a6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083684: 4b38 ldr r3, [pc, #224] ; (8083768 ) 8083686: 7b1b ldrb r3, [r3, #12] 8083688: b2db uxtb r3, r3 808368a: 4619 mov r1, r3 808368c: 4a37 ldr r2, [pc, #220] ; (808376c ) 808368e: 232c movs r3, #44 ; 0x2c 8083690: fb03 f301 mul.w r3, r3, r1 8083694: 4413 add r3, r2 8083696: 3324 adds r3, #36 ; 0x24 8083698: 681b ldr r3, [r3, #0] 808369a: 461a mov r2, r3 808369c: 21ca movs r1, #202 ; 0xca 808369e: 200a movs r0, #10 80836a0: f7d0 fe48 bl 8054334 80836a4: e00f b.n 80836c6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80836a6: 4b30 ldr r3, [pc, #192] ; (8083768 ) 80836a8: 7b1b ldrb r3, [r3, #12] 80836aa: b2db uxtb r3, r3 80836ac: 4619 mov r1, r3 80836ae: 4a3a ldr r2, [pc, #232] ; (8083798 ) 80836b0: 232c movs r3, #44 ; 0x2c 80836b2: fb03 f301 mul.w r3, r3, r1 80836b6: 4413 add r3, r2 80836b8: 3324 adds r3, #36 ; 0x24 80836ba: 681b ldr r3, [r3, #0] 80836bc: 461a mov r2, r3 80836be: 21ca movs r1, #202 ; 0xca 80836c0: 200a movs r0, #10 80836c2: f7d0 fe37 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 80836c6: f507 733b add.w r3, r7, #748 ; 0x2ec 80836ca: 461a mov r2, r3 80836cc: 21ca movs r1, #202 ; 0xca 80836ce: f44f 7082 mov.w r0, #260 ; 0x104 80836d2: f7d0 fe47 bl 8054364 80836d6: f002 be99 b.w 808640c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80836da: 4926 ldr r1, [pc, #152] ; (8083774 ) 80836dc: f04f 30ff mov.w r0, #4294967295 80836e0: f7d0 f880 bl 80537e4 if(pardata.IIN != VOLTS) 80836e4: 4b20 ldr r3, [pc, #128] ; (8083768 ) 80836e6: 799b ldrb r3, [r3, #6] 80836e8: b2db uxtb r3, r3 80836ea: 2b02 cmp r3, #2 80836ec: d010 beq.n 8083710 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80836ee: 4b1e ldr r3, [pc, #120] ; (8083768 ) 80836f0: 7b1b ldrb r3, [r3, #12] 80836f2: b2db uxtb r3, r3 80836f4: 4619 mov r1, r3 80836f6: 4a1d ldr r2, [pc, #116] ; (808376c ) 80836f8: 232c movs r3, #44 ; 0x2c 80836fa: fb03 f301 mul.w r3, r3, r1 80836fe: 4413 add r3, r2 8083700: 3324 adds r3, #36 ; 0x24 8083702: 681b ldr r3, [r3, #0] 8083704: 461a mov r2, r3 8083706: 21ca movs r1, #202 ; 0xca 8083708: 200a movs r0, #10 808370a: f7d0 fe13 bl 8054334 808370e: e00f b.n 8083730 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083710: 4b15 ldr r3, [pc, #84] ; (8083768 ) 8083712: 7b1b ldrb r3, [r3, #12] 8083714: b2db uxtb r3, r3 8083716: 4619 mov r1, r3 8083718: 4a1f ldr r2, [pc, #124] ; (8083798 ) 808371a: 232c movs r3, #44 ; 0x2c 808371c: fb03 f301 mul.w r3, r3, r1 8083720: 4413 add r3, r2 8083722: 3324 adds r3, #36 ; 0x24 8083724: 681b ldr r3, [r3, #0] 8083726: 461a mov r2, r3 8083728: 21ca movs r1, #202 ; 0xca 808372a: 200a movs r0, #10 808372c: f7d0 fe02 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083730: 4910 ldr r1, [pc, #64] ; (8083774 ) 8083732: 4812 ldr r0, [pc, #72] ; (808377c ) 8083734: f7d0 f856 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 8083738: f507 733b add.w r3, r7, #748 ; 0x2ec 808373c: 461a mov r2, r3 808373e: 21ca movs r1, #202 ; 0xca 8083740: f44f 7082 mov.w r0, #260 ; 0x104 8083744: f7d0 fe0e bl 8054364 8083748: f002 be60 b.w 808640c 808374c: 080cf76c .word 0x080cf76c 8083750: 080cf2b8 .word 0x080cf2b8 8083754: 080cf2c0 .word 0x080cf2c0 8083758: 080d00a8 .word 0x080d00a8 808375c: 080d00b8 .word 0x080d00b8 8083760: 080cf45c .word 0x080cf45c 8083764: 080cf424 .word 0x080cf424 8083768: 20023e60 .word 0x20023e60 808376c: 200206b4 .word 0x200206b4 8083770: 20020070 .word 0x20020070 8083774: ff0a0f1f .word 0xff0a0f1f 8083778: 200205c4 .word 0x200205c4 808377c: ffd8aa57 .word 0xffd8aa57 8083780: 2002029c .word 0x2002029c 8083784: 2002019c .word 0x2002019c 8083788: 20020214 .word 0x20020214 808378c: 200201ec .word 0x200201ec 8083790: 20020224 .word 0x20020224 8083794: ff808080 .word 0xff808080 8083798: 2002070c .word 0x2002070c if(menupos == SpecType) 808379c: 4ba7 ldr r3, [pc, #668] ; (8083a3c ) 808379e: 781b ldrb r3, [r3, #0] 80837a0: b2db uxtb r3, r3 80837a2: 2b01 cmp r3, #1 80837a4: f040 8168 bne.w 8083a78 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80837a8: 49a5 ldr r1, [pc, #660] ; (8083a40 ) 80837aa: f04f 30ff mov.w r0, #4294967295 80837ae: f7d0 f819 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80837b2: 4ba4 ldr r3, [pc, #656] ; (8083a44 ) 80837b4: 7b1b ldrb r3, [r3, #12] 80837b6: b2db uxtb r3, r3 80837b8: 461a mov r2, r3 80837ba: 4ba3 ldr r3, [pc, #652] ; (8083a48 ) 80837bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80837c0: 461a mov r2, r3 80837c2: 2127 movs r1, #39 ; 0x27 80837c4: 200a movs r0, #10 80837c6: f7d0 fdb5 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80837ca: 499d ldr r1, [pc, #628] ; (8083a40 ) 80837cc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80837d0: f7d0 f808 bl 80537e4 if(focused) 80837d4: 4b9d ldr r3, [pc, #628] ; (8083a4c ) 80837d6: 781b ldrb r3, [r3, #0] 80837d8: b2db uxtb r3, r3 80837da: 2b00 cmp r3, #0 80837dc: d027 beq.n 808382e if(blk) 80837de: 4b9c ldr r3, [pc, #624] ; (8083a50 ) 80837e0: 681b ldr r3, [r3, #0] 80837e2: 2b00 cmp r3, #0 80837e4: d046 beq.n 8083874 if((pardata.OPTIONS & maskFFT) == fft) 80837e6: 4b97 ldr r3, [pc, #604] ; (8083a44 ) 80837e8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80837ec: f003 0330 and.w r3, r3, #48 ; 0x30 80837f0: 2b00 cmp r3, #0 80837f2: d10d bne.n 8083810 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 80837f4: 4b93 ldr r3, [pc, #588] ; (8083a44 ) 80837f6: 7b1b ldrb r3, [r3, #12] 80837f8: b2db uxtb r3, r3 80837fa: 4a96 ldr r2, [pc, #600] ; (8083a54 ) 80837fc: 011b lsls r3, r3, #4 80837fe: 4413 add r3, r2 8083800: 681b ldr r3, [r3, #0] 8083802: 461a mov r2, r3 8083804: 213a movs r1, #58 ; 0x3a 8083806: f44f 7082 mov.w r0, #260 ; 0x104 808380a: f7d0 fdab bl 8054364 808380e: e031 b.n 8083874 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8083810: 4b8c ldr r3, [pc, #560] ; (8083a44 ) 8083812: 7b1b ldrb r3, [r3, #12] 8083814: b2db uxtb r3, r3 8083816: 4a8f ldr r2, [pc, #572] ; (8083a54 ) 8083818: 011b lsls r3, r3, #4 808381a: 4413 add r3, r2 808381c: 3304 adds r3, #4 808381e: 681b ldr r3, [r3, #0] 8083820: 461a mov r2, r3 8083822: 213a movs r1, #58 ; 0x3a 8083824: f44f 7082 mov.w r0, #260 ; 0x104 8083828: f7d0 fd9c bl 8054364 808382c: e022 b.n 8083874 if((pardata.OPTIONS & maskFFT) == fft) 808382e: 4b85 ldr r3, [pc, #532] ; (8083a44 ) 8083830: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083834: f003 0330 and.w r3, r3, #48 ; 0x30 8083838: 2b00 cmp r3, #0 808383a: d10d bne.n 8083858 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 808383c: 4b81 ldr r3, [pc, #516] ; (8083a44 ) 808383e: 7b1b ldrb r3, [r3, #12] 8083840: b2db uxtb r3, r3 8083842: 4a84 ldr r2, [pc, #528] ; (8083a54 ) 8083844: 011b lsls r3, r3, #4 8083846: 4413 add r3, r2 8083848: 681b ldr r3, [r3, #0] 808384a: 461a mov r2, r3 808384c: 213a movs r1, #58 ; 0x3a 808384e: f44f 7082 mov.w r0, #260 ; 0x104 8083852: f7d0 fd87 bl 8054364 8083856: e00d b.n 8083874 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8083858: 4b7a ldr r3, [pc, #488] ; (8083a44 ) 808385a: 7b1b ldrb r3, [r3, #12] 808385c: b2db uxtb r3, r3 808385e: 4a7d ldr r2, [pc, #500] ; (8083a54 ) 8083860: 011b lsls r3, r3, #4 8083862: 4413 add r3, r2 8083864: 3304 adds r3, #4 8083866: 681b ldr r3, [r3, #0] 8083868: 461a mov r2, r3 808386a: 213a movs r1, #58 ; 0x3a 808386c: f44f 7082 mov.w r0, #260 ; 0x104 8083870: f7d0 fd78 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083874: 4972 ldr r1, [pc, #456] ; (8083a40 ) 8083876: 4878 ldr r0, [pc, #480] ; (8083a58 ) 8083878: f7cf ffb4 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 808387c: 4b71 ldr r3, [pc, #452] ; (8083a44 ) 808387e: 7b1b ldrb r3, [r3, #12] 8083880: b2db uxtb r3, r3 8083882: 4618 mov r0, r3 8083884: 4b6f ldr r3, [pc, #444] ; (8083a44 ) 8083886: 785b ldrb r3, [r3, #1] 8083888: b2db uxtb r3, r3 808388a: 005b lsls r3, r3, #1 808388c: 4a6d ldr r2, [pc, #436] ; (8083a44 ) 808388e: 7852 ldrb r2, [r2, #1] 8083890: b2d2 uxtb r2, r2 8083892: 4611 mov r1, r2 8083894: 4a6b ldr r2, [pc, #428] ; (8083a44 ) 8083896: 440a add r2, r1 8083898: 7892 ldrb r2, [r2, #2] 808389a: b2d2 uxtb r2, r2 808389c: 431a orrs r2, r3 808389e: 496f ldr r1, [pc, #444] ; (8083a5c ) 80838a0: 4603 mov r3, r0 80838a2: 005b lsls r3, r3, #1 80838a4: 4403 add r3, r0 80838a6: 005b lsls r3, r3, #1 80838a8: 4413 add r3, r2 80838aa: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80838ae: 461a mov r2, r3 80838b0: 214a movs r1, #74 ; 0x4a 80838b2: f44f 7082 mov.w r0, #260 ; 0x104 80838b6: f7d0 fd55 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80838ba: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80838be: 461a mov r2, r3 80838c0: 215a movs r1, #90 ; 0x5a 80838c2: f44f 7082 mov.w r0, #260 ; 0x104 80838c6: f7d0 fd4d bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80838ca: f507 73cc add.w r3, r7, #408 ; 0x198 80838ce: 461a mov r2, r3 80838d0: 216a movs r1, #106 ; 0x6a 80838d2: f44f 7082 mov.w r0, #260 ; 0x104 80838d6: f7d0 fd45 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 80838da: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80838de: 461a mov r2, r3 80838e0: 217a movs r1, #122 ; 0x7a 80838e2: f44f 7082 mov.w r0, #260 ; 0x104 80838e6: f7d0 fd3d bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80838ea: 4b56 ldr r3, [pc, #344] ; (8083a44 ) 80838ec: 7b1b ldrb r3, [r3, #12] 80838ee: b2db uxtb r3, r3 80838f0: 4618 mov r0, r3 80838f2: 4b54 ldr r3, [pc, #336] ; (8083a44 ) 80838f4: 7a9b ldrb r3, [r3, #10] 80838f6: b2db uxtb r3, r3 80838f8: 4619 mov r1, r3 80838fa: 4a59 ldr r2, [pc, #356] ; (8083a60 ) 80838fc: 0043 lsls r3, r0, #1 80838fe: 440b add r3, r1 8083900: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8083904: 461a mov r2, r3 8083906: 218a movs r1, #138 ; 0x8a 8083908: f44f 7082 mov.w r0, #260 ; 0x104 808390c: f7d0 fd2a bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8083910: 4b4c ldr r3, [pc, #304] ; (8083a44 ) 8083912: 7b1b ldrb r3, [r3, #12] 8083914: b2db uxtb r3, r3 8083916: 4619 mov r1, r3 8083918: 4b4a ldr r3, [pc, #296] ; (8083a44 ) 808391a: 7a5b ldrb r3, [r3, #9] 808391c: b2db uxtb r3, r3 808391e: 4618 mov r0, r3 8083920: 4a50 ldr r2, [pc, #320] ; (8083a64 ) 8083922: 460b mov r3, r1 8083924: 009b lsls r3, r3, #2 8083926: 440b add r3, r1 8083928: 4403 add r3, r0 808392a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808392e: 461a mov r2, r3 8083930: 219a movs r1, #154 ; 0x9a 8083932: f44f 7082 mov.w r0, #260 ; 0x104 8083936: f7d0 fd15 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 808393a: 4b42 ldr r3, [pc, #264] ; (8083a44 ) 808393c: 7b5b ldrb r3, [r3, #13] 808393e: b2db uxtb r3, r3 8083940: 461a mov r2, r3 8083942: 4b49 ldr r3, [pc, #292] ; (8083a68 ) 8083944: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083948: 461a mov r2, r3 808394a: 21aa movs r1, #170 ; 0xaa 808394c: f44f 7082 mov.w r0, #260 ; 0x104 8083950: f7d0 fd08 bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8083954: 4b3b ldr r3, [pc, #236] ; (8083a44 ) 8083956: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808395a: f003 0304 and.w r3, r3, #4 808395e: 2b00 cmp r3, #0 8083960: d033 beq.n 80839ca LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8083962: 4937 ldr r1, [pc, #220] ; (8083a40 ) 8083964: 4841 ldr r0, [pc, #260] ; (8083a6c ) 8083966: f7cf ff3d bl 80537e4 if(pardata.IIN != VOLTS) 808396a: 4b36 ldr r3, [pc, #216] ; (8083a44 ) 808396c: 799b ldrb r3, [r3, #6] 808396e: b2db uxtb r3, r3 8083970: 2b02 cmp r3, #2 8083972: d010 beq.n 8083996 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083974: 4b33 ldr r3, [pc, #204] ; (8083a44 ) 8083976: 7b1b ldrb r3, [r3, #12] 8083978: b2db uxtb r3, r3 808397a: 4619 mov r1, r3 808397c: 4a3c ldr r2, [pc, #240] ; (8083a70 ) 808397e: 232c movs r3, #44 ; 0x2c 8083980: fb03 f301 mul.w r3, r3, r1 8083984: 4413 add r3, r2 8083986: 3324 adds r3, #36 ; 0x24 8083988: 681b ldr r3, [r3, #0] 808398a: 461a mov r2, r3 808398c: 21ca movs r1, #202 ; 0xca 808398e: 200a movs r0, #10 8083990: f7d0 fcd0 bl 8054334 8083994: e00f b.n 80839b6 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083996: 4b2b ldr r3, [pc, #172] ; (8083a44 ) 8083998: 7b1b ldrb r3, [r3, #12] 808399a: b2db uxtb r3, r3 808399c: 4619 mov r1, r3 808399e: 4a35 ldr r2, [pc, #212] ; (8083a74 ) 80839a0: 232c movs r3, #44 ; 0x2c 80839a2: fb03 f301 mul.w r3, r3, r1 80839a6: 4413 add r3, r2 80839a8: 3324 adds r3, #36 ; 0x24 80839aa: 681b ldr r3, [r3, #0] 80839ac: 461a mov r2, r3 80839ae: 21ca movs r1, #202 ; 0xca 80839b0: 200a movs r0, #10 80839b2: f7d0 fcbf bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 80839b6: f507 733b add.w r3, r7, #748 ; 0x2ec 80839ba: 461a mov r2, r3 80839bc: 21ca movs r1, #202 ; 0xca 80839be: f44f 7082 mov.w r0, #260 ; 0x104 80839c2: f7d0 fccf bl 8054364 80839c6: f002 bd21 b.w 808640c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80839ca: 491d ldr r1, [pc, #116] ; (8083a40 ) 80839cc: f04f 30ff mov.w r0, #4294967295 80839d0: f7cf ff08 bl 80537e4 if(pardata.IIN != VOLTS) 80839d4: 4b1b ldr r3, [pc, #108] ; (8083a44 ) 80839d6: 799b ldrb r3, [r3, #6] 80839d8: b2db uxtb r3, r3 80839da: 2b02 cmp r3, #2 80839dc: d010 beq.n 8083a00 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80839de: 4b19 ldr r3, [pc, #100] ; (8083a44 ) 80839e0: 7b1b ldrb r3, [r3, #12] 80839e2: b2db uxtb r3, r3 80839e4: 4619 mov r1, r3 80839e6: 4a22 ldr r2, [pc, #136] ; (8083a70 ) 80839e8: 232c movs r3, #44 ; 0x2c 80839ea: fb03 f301 mul.w r3, r3, r1 80839ee: 4413 add r3, r2 80839f0: 3324 adds r3, #36 ; 0x24 80839f2: 681b ldr r3, [r3, #0] 80839f4: 461a mov r2, r3 80839f6: 21ca movs r1, #202 ; 0xca 80839f8: 200a movs r0, #10 80839fa: f7d0 fc9b bl 8054334 80839fe: e00f b.n 8083a20 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083a00: 4b10 ldr r3, [pc, #64] ; (8083a44 ) 8083a02: 7b1b ldrb r3, [r3, #12] 8083a04: b2db uxtb r3, r3 8083a06: 4619 mov r1, r3 8083a08: 4a1a ldr r2, [pc, #104] ; (8083a74 ) 8083a0a: 232c movs r3, #44 ; 0x2c 8083a0c: fb03 f301 mul.w r3, r3, r1 8083a10: 4413 add r3, r2 8083a12: 3324 adds r3, #36 ; 0x24 8083a14: 681b ldr r3, [r3, #0] 8083a16: 461a mov r2, r3 8083a18: 21ca movs r1, #202 ; 0xca 8083a1a: 200a movs r0, #10 8083a1c: f7d0 fc8a bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083a20: 4907 ldr r1, [pc, #28] ; (8083a40 ) 8083a22: 480d ldr r0, [pc, #52] ; (8083a58 ) 8083a24: f7cf fede bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 8083a28: f507 733b add.w r3, r7, #748 ; 0x2ec 8083a2c: 461a mov r2, r3 8083a2e: 21ca movs r1, #202 ; 0xca 8083a30: f44f 7082 mov.w r0, #260 ; 0x104 8083a34: f7d0 fc96 bl 8054364 8083a38: f002 bce8 b.w 808640c 8083a3c: 20020070 .word 0x20020070 8083a40: ff0a0f1f .word 0xff0a0f1f 8083a44: 20023e60 .word 0x20023e60 8083a48: 200205c4 .word 0x200205c4 8083a4c: 20020f84 .word 0x20020f84 8083a50: 2002165c .word 0x2002165c 8083a54: 2002029c .word 0x2002029c 8083a58: ffd8aa57 .word 0xffd8aa57 8083a5c: 2002019c .word 0x2002019c 8083a60: 20020214 .word 0x20020214 8083a64: 200201ec .word 0x200201ec 8083a68: 20020224 .word 0x20020224 8083a6c: ff808080 .word 0xff808080 8083a70: 200206b4 .word 0x200206b4 8083a74: 2002070c .word 0x2002070c if(menupos == SpecValue) 8083a78: 4bc4 ldr r3, [pc, #784] ; (8083d8c ) 8083a7a: 781b ldrb r3, [r3, #0] 8083a7c: b2db uxtb r3, r3 8083a7e: 2b02 cmp r3, #2 8083a80: f040 8146 bne.w 8083d10 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083a84: 49c2 ldr r1, [pc, #776] ; (8083d90 ) 8083a86: f04f 30ff mov.w r0, #4294967295 8083a8a: f7cf feab bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8083a8e: 4bc1 ldr r3, [pc, #772] ; (8083d94 ) 8083a90: 7b1b ldrb r3, [r3, #12] 8083a92: b2db uxtb r3, r3 8083a94: 461a mov r2, r3 8083a96: 4bc0 ldr r3, [pc, #768] ; (8083d98 ) 8083a98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083a9c: 461a mov r2, r3 8083a9e: 2127 movs r1, #39 ; 0x27 8083aa0: 200a movs r0, #10 8083aa2: f7d0 fc47 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083aa6: 49ba ldr r1, [pc, #744] ; (8083d90 ) 8083aa8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083aac: f7cf fe9a bl 80537e4 if(focused) 8083ab0: 4bba ldr r3, [pc, #744] ; (8083d9c ) 8083ab2: 781b ldrb r3, [r3, #0] 8083ab4: b2db uxtb r3, r3 8083ab6: 2b00 cmp r3, #0 8083ab8: d023 beq.n 8083b02 if(blk) 8083aba: 4bb9 ldr r3, [pc, #740] ; (8083da0 ) 8083abc: 681b ldr r3, [r3, #0] 8083abe: 2b00 cmp r3, #0 8083ac0: d03e beq.n 8083b40 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8083ac2: 4bb4 ldr r3, [pc, #720] ; (8083d94 ) 8083ac4: 7b1b ldrb r3, [r3, #12] 8083ac6: b2db uxtb r3, r3 8083ac8: 4618 mov r0, r3 8083aca: 4bb2 ldr r3, [pc, #712] ; (8083d94 ) 8083acc: 785b ldrb r3, [r3, #1] 8083ace: b2db uxtb r3, r3 8083ad0: 005b lsls r3, r3, #1 8083ad2: 4ab0 ldr r2, [pc, #704] ; (8083d94 ) 8083ad4: 7852 ldrb r2, [r2, #1] 8083ad6: b2d2 uxtb r2, r2 8083ad8: 4611 mov r1, r2 8083ada: 4aae ldr r2, [pc, #696] ; (8083d94 ) 8083adc: 440a add r2, r1 8083ade: 7892 ldrb r2, [r2, #2] 8083ae0: b2d2 uxtb r2, r2 8083ae2: 431a orrs r2, r3 8083ae4: 49af ldr r1, [pc, #700] ; (8083da4 ) 8083ae6: 4603 mov r3, r0 8083ae8: 005b lsls r3, r3, #1 8083aea: 4403 add r3, r0 8083aec: 005b lsls r3, r3, #1 8083aee: 4413 add r3, r2 8083af0: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8083af4: 461a mov r2, r3 8083af6: 214a movs r1, #74 ; 0x4a 8083af8: f44f 7082 mov.w r0, #260 ; 0x104 8083afc: f7d0 fc32 bl 8054364 8083b00: e01e b.n 8083b40 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8083b02: 4ba4 ldr r3, [pc, #656] ; (8083d94 ) 8083b04: 7b1b ldrb r3, [r3, #12] 8083b06: b2db uxtb r3, r3 8083b08: 4618 mov r0, r3 8083b0a: 4ba2 ldr r3, [pc, #648] ; (8083d94 ) 8083b0c: 785b ldrb r3, [r3, #1] 8083b0e: b2db uxtb r3, r3 8083b10: 005b lsls r3, r3, #1 8083b12: 4aa0 ldr r2, [pc, #640] ; (8083d94 ) 8083b14: 7852 ldrb r2, [r2, #1] 8083b16: b2d2 uxtb r2, r2 8083b18: 4611 mov r1, r2 8083b1a: 4a9e ldr r2, [pc, #632] ; (8083d94 ) 8083b1c: 440a add r2, r1 8083b1e: 7892 ldrb r2, [r2, #2] 8083b20: b2d2 uxtb r2, r2 8083b22: 431a orrs r2, r3 8083b24: 499f ldr r1, [pc, #636] ; (8083da4 ) 8083b26: 4603 mov r3, r0 8083b28: 005b lsls r3, r3, #1 8083b2a: 4403 add r3, r0 8083b2c: 005b lsls r3, r3, #1 8083b2e: 4413 add r3, r2 8083b30: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8083b34: 461a mov r2, r3 8083b36: 214a movs r1, #74 ; 0x4a 8083b38: f44f 7082 mov.w r0, #260 ; 0x104 8083b3c: f7d0 fc12 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083b40: 4993 ldr r1, [pc, #588] ; (8083d90 ) 8083b42: 4899 ldr r0, [pc, #612] ; (8083da8 ) 8083b44: f7cf fe4e bl 80537e4 if((pardata.OPTIONS & maskFFT) == fft) 8083b48: 4b92 ldr r3, [pc, #584] ; (8083d94 ) 8083b4a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083b4e: f003 0330 and.w r3, r3, #48 ; 0x30 8083b52: 2b00 cmp r3, #0 8083b54: d10d bne.n 8083b72 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8083b56: 4b8f ldr r3, [pc, #572] ; (8083d94 ) 8083b58: 7b1b ldrb r3, [r3, #12] 8083b5a: b2db uxtb r3, r3 8083b5c: 4a93 ldr r2, [pc, #588] ; (8083dac ) 8083b5e: 011b lsls r3, r3, #4 8083b60: 4413 add r3, r2 8083b62: 681b ldr r3, [r3, #0] 8083b64: 461a mov r2, r3 8083b66: 213a movs r1, #58 ; 0x3a 8083b68: f44f 7082 mov.w r0, #260 ; 0x104 8083b6c: f7d0 fbfa bl 8054364 8083b70: e00d b.n 8083b8e else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8083b72: 4b88 ldr r3, [pc, #544] ; (8083d94 ) 8083b74: 7b1b ldrb r3, [r3, #12] 8083b76: b2db uxtb r3, r3 8083b78: 4a8c ldr r2, [pc, #560] ; (8083dac ) 8083b7a: 011b lsls r3, r3, #4 8083b7c: 4413 add r3, r2 8083b7e: 3304 adds r3, #4 8083b80: 681b ldr r3, [r3, #0] 8083b82: 461a mov r2, r3 8083b84: 213a movs r1, #58 ; 0x3a 8083b86: f44f 7082 mov.w r0, #260 ; 0x104 8083b8a: f7d0 fbeb bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8083b8e: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8083b92: 461a mov r2, r3 8083b94: 215a movs r1, #90 ; 0x5a 8083b96: f44f 7082 mov.w r0, #260 ; 0x104 8083b9a: f7d0 fbe3 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8083b9e: f507 73cc add.w r3, r7, #408 ; 0x198 8083ba2: 461a mov r2, r3 8083ba4: 216a movs r1, #106 ; 0x6a 8083ba6: f44f 7082 mov.w r0, #260 ; 0x104 8083baa: f7d0 fbdb bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8083bae: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8083bb2: 461a mov r2, r3 8083bb4: 217a movs r1, #122 ; 0x7a 8083bb6: f44f 7082 mov.w r0, #260 ; 0x104 8083bba: f7d0 fbd3 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8083bbe: 4b75 ldr r3, [pc, #468] ; (8083d94 ) 8083bc0: 7b1b ldrb r3, [r3, #12] 8083bc2: b2db uxtb r3, r3 8083bc4: 4618 mov r0, r3 8083bc6: 4b73 ldr r3, [pc, #460] ; (8083d94 ) 8083bc8: 7a9b ldrb r3, [r3, #10] 8083bca: b2db uxtb r3, r3 8083bcc: 4619 mov r1, r3 8083bce: 4a78 ldr r2, [pc, #480] ; (8083db0 ) 8083bd0: 0043 lsls r3, r0, #1 8083bd2: 440b add r3, r1 8083bd4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8083bd8: 461a mov r2, r3 8083bda: 218a movs r1, #138 ; 0x8a 8083bdc: f44f 7082 mov.w r0, #260 ; 0x104 8083be0: f7d0 fbc0 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8083be4: 4b6b ldr r3, [pc, #428] ; (8083d94 ) 8083be6: 7b1b ldrb r3, [r3, #12] 8083be8: b2db uxtb r3, r3 8083bea: 4619 mov r1, r3 8083bec: 4b69 ldr r3, [pc, #420] ; (8083d94 ) 8083bee: 7a5b ldrb r3, [r3, #9] 8083bf0: b2db uxtb r3, r3 8083bf2: 4618 mov r0, r3 8083bf4: 4a6f ldr r2, [pc, #444] ; (8083db4 ) 8083bf6: 460b mov r3, r1 8083bf8: 009b lsls r3, r3, #2 8083bfa: 440b add r3, r1 8083bfc: 4403 add r3, r0 8083bfe: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8083c02: 461a mov r2, r3 8083c04: 219a movs r1, #154 ; 0x9a 8083c06: f44f 7082 mov.w r0, #260 ; 0x104 8083c0a: f7d0 fbab bl 8054364 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8083c0e: 4b61 ldr r3, [pc, #388] ; (8083d94 ) 8083c10: 7b5b ldrb r3, [r3, #13] 8083c12: b2db uxtb r3, r3 8083c14: 461a mov r2, r3 8083c16: 4b68 ldr r3, [pc, #416] ; (8083db8 ) 8083c18: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083c1c: 461a mov r2, r3 8083c1e: 21aa movs r1, #170 ; 0xaa 8083c20: f44f 7082 mov.w r0, #260 ; 0x104 8083c24: f7d0 fb9e bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8083c28: 4b5a ldr r3, [pc, #360] ; (8083d94 ) 8083c2a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083c2e: f003 0304 and.w r3, r3, #4 8083c32: 2b00 cmp r3, #0 8083c34: d033 beq.n 8083c9e LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8083c36: 4956 ldr r1, [pc, #344] ; (8083d90 ) 8083c38: 4860 ldr r0, [pc, #384] ; (8083dbc ) 8083c3a: f7cf fdd3 bl 80537e4 if(pardata.IIN != VOLTS) 8083c3e: 4b55 ldr r3, [pc, #340] ; (8083d94 ) 8083c40: 799b ldrb r3, [r3, #6] 8083c42: b2db uxtb r3, r3 8083c44: 2b02 cmp r3, #2 8083c46: d010 beq.n 8083c6a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083c48: 4b52 ldr r3, [pc, #328] ; (8083d94 ) 8083c4a: 7b1b ldrb r3, [r3, #12] 8083c4c: b2db uxtb r3, r3 8083c4e: 4619 mov r1, r3 8083c50: 4a5b ldr r2, [pc, #364] ; (8083dc0 ) 8083c52: 232c movs r3, #44 ; 0x2c 8083c54: fb03 f301 mul.w r3, r3, r1 8083c58: 4413 add r3, r2 8083c5a: 3324 adds r3, #36 ; 0x24 8083c5c: 681b ldr r3, [r3, #0] 8083c5e: 461a mov r2, r3 8083c60: 21ca movs r1, #202 ; 0xca 8083c62: 200a movs r0, #10 8083c64: f7d0 fb66 bl 8054334 8083c68: e00f b.n 8083c8a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083c6a: 4b4a ldr r3, [pc, #296] ; (8083d94 ) 8083c6c: 7b1b ldrb r3, [r3, #12] 8083c6e: b2db uxtb r3, r3 8083c70: 4619 mov r1, r3 8083c72: 4a54 ldr r2, [pc, #336] ; (8083dc4 ) 8083c74: 232c movs r3, #44 ; 0x2c 8083c76: fb03 f301 mul.w r3, r3, r1 8083c7a: 4413 add r3, r2 8083c7c: 3324 adds r3, #36 ; 0x24 8083c7e: 681b ldr r3, [r3, #0] 8083c80: 461a mov r2, r3 8083c82: 21ca movs r1, #202 ; 0xca 8083c84: 200a movs r0, #10 8083c86: f7d0 fb55 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 8083c8a: f507 733b add.w r3, r7, #748 ; 0x2ec 8083c8e: 461a mov r2, r3 8083c90: 21ca movs r1, #202 ; 0xca 8083c92: f44f 7082 mov.w r0, #260 ; 0x104 8083c96: f7d0 fb65 bl 8054364 8083c9a: f002 bbb7 b.w 808640c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083c9e: 493c ldr r1, [pc, #240] ; (8083d90 ) 8083ca0: f04f 30ff mov.w r0, #4294967295 8083ca4: f7cf fd9e bl 80537e4 if(pardata.IIN != VOLTS) 8083ca8: 4b3a ldr r3, [pc, #232] ; (8083d94 ) 8083caa: 799b ldrb r3, [r3, #6] 8083cac: b2db uxtb r3, r3 8083cae: 2b02 cmp r3, #2 8083cb0: d010 beq.n 8083cd4 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083cb2: 4b38 ldr r3, [pc, #224] ; (8083d94 ) 8083cb4: 7b1b ldrb r3, [r3, #12] 8083cb6: b2db uxtb r3, r3 8083cb8: 4619 mov r1, r3 8083cba: 4a41 ldr r2, [pc, #260] ; (8083dc0 ) 8083cbc: 232c movs r3, #44 ; 0x2c 8083cbe: fb03 f301 mul.w r3, r3, r1 8083cc2: 4413 add r3, r2 8083cc4: 3324 adds r3, #36 ; 0x24 8083cc6: 681b ldr r3, [r3, #0] 8083cc8: 461a mov r2, r3 8083cca: 21ca movs r1, #202 ; 0xca 8083ccc: 200a movs r0, #10 8083cce: f7d0 fb31 bl 8054334 8083cd2: e00f b.n 8083cf4 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083cd4: 4b2f ldr r3, [pc, #188] ; (8083d94 ) 8083cd6: 7b1b ldrb r3, [r3, #12] 8083cd8: b2db uxtb r3, r3 8083cda: 4619 mov r1, r3 8083cdc: 4a39 ldr r2, [pc, #228] ; (8083dc4 ) 8083cde: 232c movs r3, #44 ; 0x2c 8083ce0: fb03 f301 mul.w r3, r3, r1 8083ce4: 4413 add r3, r2 8083ce6: 3324 adds r3, #36 ; 0x24 8083ce8: 681b ldr r3, [r3, #0] 8083cea: 461a mov r2, r3 8083cec: 21ca movs r1, #202 ; 0xca 8083cee: 200a movs r0, #10 8083cf0: f7d0 fb20 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083cf4: 4926 ldr r1, [pc, #152] ; (8083d90 ) 8083cf6: 482c ldr r0, [pc, #176] ; (8083da8 ) 8083cf8: f7cf fd74 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 8083cfc: f507 733b add.w r3, r7, #748 ; 0x2ec 8083d00: 461a mov r2, r3 8083d02: 21ca movs r1, #202 ; 0xca 8083d04: f44f 7082 mov.w r0, #260 ; 0x104 8083d08: f7d0 fb2c bl 8054364 8083d0c: f002 bb7e b.w 808640c if(menupos == FilterHP) 8083d10: 4b1e ldr r3, [pc, #120] ; (8083d8c ) 8083d12: 781b ldrb r3, [r3, #0] 8083d14: b2db uxtb r3, r3 8083d16: 2b17 cmp r3, #23 8083d18: f040 813c bne.w 8083f94 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083d1c: 491c ldr r1, [pc, #112] ; (8083d90 ) 8083d1e: f04f 30ff mov.w r0, #4294967295 8083d22: f7cf fd5f bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8083d26: 4b1b ldr r3, [pc, #108] ; (8083d94 ) 8083d28: 7b1b ldrb r3, [r3, #12] 8083d2a: b2db uxtb r3, r3 8083d2c: 461a mov r2, r3 8083d2e: 4b1a ldr r3, [pc, #104] ; (8083d98 ) 8083d30: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083d34: 461a mov r2, r3 8083d36: 2127 movs r1, #39 ; 0x27 8083d38: 200a movs r0, #10 8083d3a: f7d0 fafb bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083d3e: 4914 ldr r1, [pc, #80] ; (8083d90 ) 8083d40: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083d44: f7cf fd4e bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8083d48: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8083d4c: 461a mov r2, r3 8083d4e: 215a movs r1, #90 ; 0x5a 8083d50: f44f 7082 mov.w r0, #260 ; 0x104 8083d54: f7d0 fb06 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083d58: 490d ldr r1, [pc, #52] ; (8083d90 ) 8083d5a: 4813 ldr r0, [pc, #76] ; (8083da8 ) 8083d5c: f7cf fd42 bl 80537e4 if((pardata.OPTIONS & maskFFT) == fft) 8083d60: 4b0c ldr r3, [pc, #48] ; (8083d94 ) 8083d62: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083d66: f003 0330 and.w r3, r3, #48 ; 0x30 8083d6a: 2b00 cmp r3, #0 8083d6c: d12c bne.n 8083dc8 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8083d6e: 4b09 ldr r3, [pc, #36] ; (8083d94 ) 8083d70: 7b1b ldrb r3, [r3, #12] 8083d72: b2db uxtb r3, r3 8083d74: 4a0d ldr r2, [pc, #52] ; (8083dac ) 8083d76: 011b lsls r3, r3, #4 8083d78: 4413 add r3, r2 8083d7a: 681b ldr r3, [r3, #0] 8083d7c: 461a mov r2, r3 8083d7e: 213a movs r1, #58 ; 0x3a 8083d80: f44f 7082 mov.w r0, #260 ; 0x104 8083d84: f7d0 faee bl 8054364 8083d88: e02c b.n 8083de4 8083d8a: bf00 nop 8083d8c: 20020070 .word 0x20020070 8083d90: ff0a0f1f .word 0xff0a0f1f 8083d94: 20023e60 .word 0x20023e60 8083d98: 200205c4 .word 0x200205c4 8083d9c: 20020f84 .word 0x20020f84 8083da0: 2002165c .word 0x2002165c 8083da4: 2002019c .word 0x2002019c 8083da8: ffd8aa57 .word 0xffd8aa57 8083dac: 2002029c .word 0x2002029c 8083db0: 20020214 .word 0x20020214 8083db4: 200201ec .word 0x200201ec 8083db8: 20020224 .word 0x20020224 8083dbc: ff808080 .word 0xff808080 8083dc0: 200206b4 .word 0x200206b4 8083dc4: 2002070c .word 0x2002070c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8083dc8: 4b91 ldr r3, [pc, #580] ; (8084010 ) 8083dca: 7b1b ldrb r3, [r3, #12] 8083dcc: b2db uxtb r3, r3 8083dce: 4a91 ldr r2, [pc, #580] ; (8084014 ) 8083dd0: 011b lsls r3, r3, #4 8083dd2: 4413 add r3, r2 8083dd4: 3304 adds r3, #4 8083dd6: 681b ldr r3, [r3, #0] 8083dd8: 461a mov r2, r3 8083dda: 213a movs r1, #58 ; 0x3a 8083ddc: f44f 7082 mov.w r0, #260 ; 0x104 8083de0: f7d0 fac0 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8083de4: 4b8a ldr r3, [pc, #552] ; (8084010 ) 8083de6: 7b1b ldrb r3, [r3, #12] 8083de8: b2db uxtb r3, r3 8083dea: 4618 mov r0, r3 8083dec: 4b88 ldr r3, [pc, #544] ; (8084010 ) 8083dee: 785b ldrb r3, [r3, #1] 8083df0: b2db uxtb r3, r3 8083df2: 005b lsls r3, r3, #1 8083df4: 4a86 ldr r2, [pc, #536] ; (8084010 ) 8083df6: 7852 ldrb r2, [r2, #1] 8083df8: b2d2 uxtb r2, r2 8083dfa: 4611 mov r1, r2 8083dfc: 4a84 ldr r2, [pc, #528] ; (8084010 ) 8083dfe: 440a add r2, r1 8083e00: 7892 ldrb r2, [r2, #2] 8083e02: b2d2 uxtb r2, r2 8083e04: 431a orrs r2, r3 8083e06: 4984 ldr r1, [pc, #528] ; (8084018 ) 8083e08: 4603 mov r3, r0 8083e0a: 005b lsls r3, r3, #1 8083e0c: 4403 add r3, r0 8083e0e: 005b lsls r3, r3, #1 8083e10: 4413 add r3, r2 8083e12: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8083e16: 461a mov r2, r3 8083e18: 214a movs r1, #74 ; 0x4a 8083e1a: f44f 7082 mov.w r0, #260 ; 0x104 8083e1e: f7d0 faa1 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8083e22: f507 73cc add.w r3, r7, #408 ; 0x198 8083e26: 461a mov r2, r3 8083e28: 216a movs r1, #106 ; 0x6a 8083e2a: f44f 7082 mov.w r0, #260 ; 0x104 8083e2e: f7d0 fa99 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 8083e32: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8083e36: 461a mov r2, r3 8083e38: 217a movs r1, #122 ; 0x7a 8083e3a: f44f 7082 mov.w r0, #260 ; 0x104 8083e3e: f7d0 fa91 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8083e42: 4b73 ldr r3, [pc, #460] ; (8084010 ) 8083e44: 7b1b ldrb r3, [r3, #12] 8083e46: b2db uxtb r3, r3 8083e48: 4618 mov r0, r3 8083e4a: 4b71 ldr r3, [pc, #452] ; (8084010 ) 8083e4c: 7a9b ldrb r3, [r3, #10] 8083e4e: b2db uxtb r3, r3 8083e50: 4619 mov r1, r3 8083e52: 4a72 ldr r2, [pc, #456] ; (808401c ) 8083e54: 0043 lsls r3, r0, #1 8083e56: 440b add r3, r1 8083e58: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8083e5c: 461a mov r2, r3 8083e5e: 218a movs r1, #138 ; 0x8a 8083e60: f44f 7082 mov.w r0, #260 ; 0x104 8083e64: f7d0 fa7e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8083e68: 4b69 ldr r3, [pc, #420] ; (8084010 ) 8083e6a: 7b1b ldrb r3, [r3, #12] 8083e6c: b2db uxtb r3, r3 8083e6e: 4619 mov r1, r3 8083e70: 4b67 ldr r3, [pc, #412] ; (8084010 ) 8083e72: 7a5b ldrb r3, [r3, #9] 8083e74: b2db uxtb r3, r3 8083e76: 4618 mov r0, r3 8083e78: 4a69 ldr r2, [pc, #420] ; (8084020 ) 8083e7a: 460b mov r3, r1 8083e7c: 009b lsls r3, r3, #2 8083e7e: 440b add r3, r1 8083e80: 4403 add r3, r0 8083e82: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8083e86: 461a mov r2, r3 8083e88: 219a movs r1, #154 ; 0x9a 8083e8a: f44f 7082 mov.w r0, #260 ; 0x104 8083e8e: f7d0 fa69 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8083e92: 4b5f ldr r3, [pc, #380] ; (8084010 ) 8083e94: 7b5b ldrb r3, [r3, #13] 8083e96: b2db uxtb r3, r3 8083e98: 461a mov r2, r3 8083e9a: 4b62 ldr r3, [pc, #392] ; (8084024 ) 8083e9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083ea0: 461a mov r2, r3 8083ea2: 21aa movs r1, #170 ; 0xaa 8083ea4: f44f 7082 mov.w r0, #260 ; 0x104 8083ea8: f7d0 fa5c bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8083eac: 4b58 ldr r3, [pc, #352] ; (8084010 ) 8083eae: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083eb2: f003 0304 and.w r3, r3, #4 8083eb6: 2b00 cmp r3, #0 8083eb8: d033 beq.n 8083f22 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8083eba: 495b ldr r1, [pc, #364] ; (8084028 ) 8083ebc: 485b ldr r0, [pc, #364] ; (808402c ) 8083ebe: f7cf fc91 bl 80537e4 if(pardata.IIN != VOLTS) 8083ec2: 4b53 ldr r3, [pc, #332] ; (8084010 ) 8083ec4: 799b ldrb r3, [r3, #6] 8083ec6: b2db uxtb r3, r3 8083ec8: 2b02 cmp r3, #2 8083eca: d010 beq.n 8083eee LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083ecc: 4b50 ldr r3, [pc, #320] ; (8084010 ) 8083ece: 7b1b ldrb r3, [r3, #12] 8083ed0: b2db uxtb r3, r3 8083ed2: 4619 mov r1, r3 8083ed4: 4a56 ldr r2, [pc, #344] ; (8084030 ) 8083ed6: 232c movs r3, #44 ; 0x2c 8083ed8: fb03 f301 mul.w r3, r3, r1 8083edc: 4413 add r3, r2 8083ede: 3324 adds r3, #36 ; 0x24 8083ee0: 681b ldr r3, [r3, #0] 8083ee2: 461a mov r2, r3 8083ee4: 21ca movs r1, #202 ; 0xca 8083ee6: 200a movs r0, #10 8083ee8: f7d0 fa24 bl 8054334 8083eec: e00f b.n 8083f0e else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083eee: 4b48 ldr r3, [pc, #288] ; (8084010 ) 8083ef0: 7b1b ldrb r3, [r3, #12] 8083ef2: b2db uxtb r3, r3 8083ef4: 4619 mov r1, r3 8083ef6: 4a4f ldr r2, [pc, #316] ; (8084034 ) 8083ef8: 232c movs r3, #44 ; 0x2c 8083efa: fb03 f301 mul.w r3, r3, r1 8083efe: 4413 add r3, r2 8083f00: 3324 adds r3, #36 ; 0x24 8083f02: 681b ldr r3, [r3, #0] 8083f04: 461a mov r2, r3 8083f06: 21ca movs r1, #202 ; 0xca 8083f08: 200a movs r0, #10 8083f0a: f7d0 fa13 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 8083f0e: f507 733b add.w r3, r7, #748 ; 0x2ec 8083f12: 461a mov r2, r3 8083f14: 21ca movs r1, #202 ; 0xca 8083f16: f44f 7082 mov.w r0, #260 ; 0x104 8083f1a: f7d0 fa23 bl 8054364 8083f1e: f002 ba75 b.w 808640c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083f22: 4941 ldr r1, [pc, #260] ; (8084028 ) 8083f24: f04f 30ff mov.w r0, #4294967295 8083f28: f7cf fc5c bl 80537e4 if(pardata.IIN != VOLTS) 8083f2c: 4b38 ldr r3, [pc, #224] ; (8084010 ) 8083f2e: 799b ldrb r3, [r3, #6] 8083f30: b2db uxtb r3, r3 8083f32: 2b02 cmp r3, #2 8083f34: d010 beq.n 8083f58 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083f36: 4b36 ldr r3, [pc, #216] ; (8084010 ) 8083f38: 7b1b ldrb r3, [r3, #12] 8083f3a: b2db uxtb r3, r3 8083f3c: 4619 mov r1, r3 8083f3e: 4a3c ldr r2, [pc, #240] ; (8084030 ) 8083f40: 232c movs r3, #44 ; 0x2c 8083f42: fb03 f301 mul.w r3, r3, r1 8083f46: 4413 add r3, r2 8083f48: 3324 adds r3, #36 ; 0x24 8083f4a: 681b ldr r3, [r3, #0] 8083f4c: 461a mov r2, r3 8083f4e: 21ca movs r1, #202 ; 0xca 8083f50: 200a movs r0, #10 8083f52: f7d0 f9ef bl 8054334 8083f56: e00f b.n 8083f78 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8083f58: 4b2d ldr r3, [pc, #180] ; (8084010 ) 8083f5a: 7b1b ldrb r3, [r3, #12] 8083f5c: b2db uxtb r3, r3 8083f5e: 4619 mov r1, r3 8083f60: 4a34 ldr r2, [pc, #208] ; (8084034 ) 8083f62: 232c movs r3, #44 ; 0x2c 8083f64: fb03 f301 mul.w r3, r3, r1 8083f68: 4413 add r3, r2 8083f6a: 3324 adds r3, #36 ; 0x24 8083f6c: 681b ldr r3, [r3, #0] 8083f6e: 461a mov r2, r3 8083f70: 21ca movs r1, #202 ; 0xca 8083f72: 200a movs r0, #10 8083f74: f7d0 f9de bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083f78: 492b ldr r1, [pc, #172] ; (8084028 ) 8083f7a: 482f ldr r0, [pc, #188] ; (8084038 ) 8083f7c: f7cf fc32 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 8083f80: f507 733b add.w r3, r7, #748 ; 0x2ec 8083f84: 461a mov r2, r3 8083f86: 21ca movs r1, #202 ; 0xca 8083f88: f44f 7082 mov.w r0, #260 ; 0x104 8083f8c: f7d0 f9ea bl 8054364 8083f90: f002 ba3c b.w 808640c if(menupos == FilterLP) 8083f94: 4b29 ldr r3, [pc, #164] ; (808403c ) 8083f96: 781b ldrb r3, [r3, #0] 8083f98: b2db uxtb r3, r3 8083f9a: 2b18 cmp r3, #24 8083f9c: f040 8138 bne.w 8084210 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8083fa0: 4921 ldr r1, [pc, #132] ; (8084028 ) 8083fa2: f04f 30ff mov.w r0, #4294967295 8083fa6: f7cf fc1d bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8083faa: 4b19 ldr r3, [pc, #100] ; (8084010 ) 8083fac: 7b1b ldrb r3, [r3, #12] 8083fae: b2db uxtb r3, r3 8083fb0: 461a mov r2, r3 8083fb2: 4b23 ldr r3, [pc, #140] ; (8084040 ) 8083fb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8083fb8: 461a mov r2, r3 8083fba: 2127 movs r1, #39 ; 0x27 8083fbc: 200a movs r0, #10 8083fbe: f7d0 f9b9 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8083fc2: 4919 ldr r1, [pc, #100] ; (8084028 ) 8083fc4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8083fc8: f7cf fc0c bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8083fcc: f507 73cc add.w r3, r7, #408 ; 0x198 8083fd0: 461a mov r2, r3 8083fd2: 216a movs r1, #106 ; 0x6a 8083fd4: f44f 7082 mov.w r0, #260 ; 0x104 8083fd8: f7d0 f9c4 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8083fdc: 4912 ldr r1, [pc, #72] ; (8084028 ) 8083fde: 4816 ldr r0, [pc, #88] ; (8084038 ) 8083fe0: f7cf fc00 bl 80537e4 if((pardata.OPTIONS & maskFFT) == fft) 8083fe4: 4b0a ldr r3, [pc, #40] ; (8084010 ) 8083fe6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8083fea: f003 0330 and.w r3, r3, #48 ; 0x30 8083fee: 2b00 cmp r3, #0 8083ff0: d128 bne.n 8084044 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8083ff2: 4b07 ldr r3, [pc, #28] ; (8084010 ) 8083ff4: 7b1b ldrb r3, [r3, #12] 8083ff6: b2db uxtb r3, r3 8083ff8: 4a06 ldr r2, [pc, #24] ; (8084014 ) 8083ffa: 011b lsls r3, r3, #4 8083ffc: 4413 add r3, r2 8083ffe: 681b ldr r3, [r3, #0] 8084000: 461a mov r2, r3 8084002: 213a movs r1, #58 ; 0x3a 8084004: f44f 7082 mov.w r0, #260 ; 0x104 8084008: f7d0 f9ac bl 8054364 808400c: e028 b.n 8084060 808400e: bf00 nop 8084010: 20023e60 .word 0x20023e60 8084014: 2002029c .word 0x2002029c 8084018: 2002019c .word 0x2002019c 808401c: 20020214 .word 0x20020214 8084020: 200201ec .word 0x200201ec 8084024: 20020224 .word 0x20020224 8084028: ff0a0f1f .word 0xff0a0f1f 808402c: ff808080 .word 0xff808080 8084030: 200206b4 .word 0x200206b4 8084034: 2002070c .word 0x2002070c 8084038: ffd8aa57 .word 0xffd8aa57 808403c: 20020070 .word 0x20020070 8084040: 200205c4 .word 0x200205c4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8084044: 4b9a ldr r3, [pc, #616] ; (80842b0 ) 8084046: 7b1b ldrb r3, [r3, #12] 8084048: b2db uxtb r3, r3 808404a: 4a9a ldr r2, [pc, #616] ; (80842b4 ) 808404c: 011b lsls r3, r3, #4 808404e: 4413 add r3, r2 8084050: 3304 adds r3, #4 8084052: 681b ldr r3, [r3, #0] 8084054: 461a mov r2, r3 8084056: 213a movs r1, #58 ; 0x3a 8084058: f44f 7082 mov.w r0, #260 ; 0x104 808405c: f7d0 f982 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084060: 4b93 ldr r3, [pc, #588] ; (80842b0 ) 8084062: 7b1b ldrb r3, [r3, #12] 8084064: b2db uxtb r3, r3 8084066: 4618 mov r0, r3 8084068: 4b91 ldr r3, [pc, #580] ; (80842b0 ) 808406a: 785b ldrb r3, [r3, #1] 808406c: b2db uxtb r3, r3 808406e: 005b lsls r3, r3, #1 8084070: 4a8f ldr r2, [pc, #572] ; (80842b0 ) 8084072: 7852 ldrb r2, [r2, #1] 8084074: b2d2 uxtb r2, r2 8084076: 4611 mov r1, r2 8084078: 4a8d ldr r2, [pc, #564] ; (80842b0 ) 808407a: 440a add r2, r1 808407c: 7892 ldrb r2, [r2, #2] 808407e: b2d2 uxtb r2, r2 8084080: 431a orrs r2, r3 8084082: 498d ldr r1, [pc, #564] ; (80842b8 ) 8084084: 4603 mov r3, r0 8084086: 005b lsls r3, r3, #1 8084088: 4403 add r3, r0 808408a: 005b lsls r3, r3, #1 808408c: 4413 add r3, r2 808408e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8084092: 461a mov r2, r3 8084094: 214a movs r1, #74 ; 0x4a 8084096: f44f 7082 mov.w r0, #260 ; 0x104 808409a: f7d0 f963 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 808409e: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80840a2: 461a mov r2, r3 80840a4: 215a movs r1, #90 ; 0x5a 80840a6: f44f 7082 mov.w r0, #260 ; 0x104 80840aa: f7d0 f95b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 80840ae: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80840b2: 461a mov r2, r3 80840b4: 217a movs r1, #122 ; 0x7a 80840b6: f44f 7082 mov.w r0, #260 ; 0x104 80840ba: f7d0 f953 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 80840be: 4b7c ldr r3, [pc, #496] ; (80842b0 ) 80840c0: 7b1b ldrb r3, [r3, #12] 80840c2: b2db uxtb r3, r3 80840c4: 4618 mov r0, r3 80840c6: 4b7a ldr r3, [pc, #488] ; (80842b0 ) 80840c8: 7a9b ldrb r3, [r3, #10] 80840ca: b2db uxtb r3, r3 80840cc: 4619 mov r1, r3 80840ce: 4a7b ldr r2, [pc, #492] ; (80842bc ) 80840d0: 0043 lsls r3, r0, #1 80840d2: 440b add r3, r1 80840d4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80840d8: 461a mov r2, r3 80840da: 218a movs r1, #138 ; 0x8a 80840dc: f44f 7082 mov.w r0, #260 ; 0x104 80840e0: f7d0 f940 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80840e4: 4b72 ldr r3, [pc, #456] ; (80842b0 ) 80840e6: 7b1b ldrb r3, [r3, #12] 80840e8: b2db uxtb r3, r3 80840ea: 4619 mov r1, r3 80840ec: 4b70 ldr r3, [pc, #448] ; (80842b0 ) 80840ee: 7a5b ldrb r3, [r3, #9] 80840f0: b2db uxtb r3, r3 80840f2: 4618 mov r0, r3 80840f4: 4a72 ldr r2, [pc, #456] ; (80842c0 ) 80840f6: 460b mov r3, r1 80840f8: 009b lsls r3, r3, #2 80840fa: 440b add r3, r1 80840fc: 4403 add r3, r0 80840fe: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084102: 461a mov r2, r3 8084104: 219a movs r1, #154 ; 0x9a 8084106: f44f 7082 mov.w r0, #260 ; 0x104 808410a: f7d0 f92b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 808410e: 4b68 ldr r3, [pc, #416] ; (80842b0 ) 8084110: 7b5b ldrb r3, [r3, #13] 8084112: b2db uxtb r3, r3 8084114: 461a mov r2, r3 8084116: 4b6b ldr r3, [pc, #428] ; (80842c4 ) 8084118: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808411c: 461a mov r2, r3 808411e: 21aa movs r1, #170 ; 0xaa 8084120: f44f 7082 mov.w r0, #260 ; 0x104 8084124: f7d0 f91e bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8084128: 4b61 ldr r3, [pc, #388] ; (80842b0 ) 808412a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808412e: f003 0304 and.w r3, r3, #4 8084132: 2b00 cmp r3, #0 8084134: d033 beq.n 808419e LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8084136: 4964 ldr r1, [pc, #400] ; (80842c8 ) 8084138: 4864 ldr r0, [pc, #400] ; (80842cc ) 808413a: f7cf fb53 bl 80537e4 if(pardata.IIN != VOLTS) 808413e: 4b5c ldr r3, [pc, #368] ; (80842b0 ) 8084140: 799b ldrb r3, [r3, #6] 8084142: b2db uxtb r3, r3 8084144: 2b02 cmp r3, #2 8084146: d010 beq.n 808416a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084148: 4b59 ldr r3, [pc, #356] ; (80842b0 ) 808414a: 7b1b ldrb r3, [r3, #12] 808414c: b2db uxtb r3, r3 808414e: 4619 mov r1, r3 8084150: 4a5f ldr r2, [pc, #380] ; (80842d0 ) 8084152: 232c movs r3, #44 ; 0x2c 8084154: fb03 f301 mul.w r3, r3, r1 8084158: 4413 add r3, r2 808415a: 3324 adds r3, #36 ; 0x24 808415c: 681b ldr r3, [r3, #0] 808415e: 461a mov r2, r3 8084160: 21ca movs r1, #202 ; 0xca 8084162: 200a movs r0, #10 8084164: f7d0 f8e6 bl 8054334 8084168: e00f b.n 808418a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808416a: 4b51 ldr r3, [pc, #324] ; (80842b0 ) 808416c: 7b1b ldrb r3, [r3, #12] 808416e: b2db uxtb r3, r3 8084170: 4619 mov r1, r3 8084172: 4a58 ldr r2, [pc, #352] ; (80842d4 ) 8084174: 232c movs r3, #44 ; 0x2c 8084176: fb03 f301 mul.w r3, r3, r1 808417a: 4413 add r3, r2 808417c: 3324 adds r3, #36 ; 0x24 808417e: 681b ldr r3, [r3, #0] 8084180: 461a mov r2, r3 8084182: 21ca movs r1, #202 ; 0xca 8084184: 200a movs r0, #10 8084186: f7d0 f8d5 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 808418a: f507 733b add.w r3, r7, #748 ; 0x2ec 808418e: 461a mov r2, r3 8084190: 21ca movs r1, #202 ; 0xca 8084192: f44f 7082 mov.w r0, #260 ; 0x104 8084196: f7d0 f8e5 bl 8054364 808419a: f002 b937 b.w 808640c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808419e: 494a ldr r1, [pc, #296] ; (80842c8 ) 80841a0: f04f 30ff mov.w r0, #4294967295 80841a4: f7cf fb1e bl 80537e4 if(pardata.IIN != VOLTS) 80841a8: 4b41 ldr r3, [pc, #260] ; (80842b0 ) 80841aa: 799b ldrb r3, [r3, #6] 80841ac: b2db uxtb r3, r3 80841ae: 2b02 cmp r3, #2 80841b0: d010 beq.n 80841d4 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80841b2: 4b3f ldr r3, [pc, #252] ; (80842b0 ) 80841b4: 7b1b ldrb r3, [r3, #12] 80841b6: b2db uxtb r3, r3 80841b8: 4619 mov r1, r3 80841ba: 4a45 ldr r2, [pc, #276] ; (80842d0 ) 80841bc: 232c movs r3, #44 ; 0x2c 80841be: fb03 f301 mul.w r3, r3, r1 80841c2: 4413 add r3, r2 80841c4: 3324 adds r3, #36 ; 0x24 80841c6: 681b ldr r3, [r3, #0] 80841c8: 461a mov r2, r3 80841ca: 21ca movs r1, #202 ; 0xca 80841cc: 200a movs r0, #10 80841ce: f7d0 f8b1 bl 8054334 80841d2: e00f b.n 80841f4 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80841d4: 4b36 ldr r3, [pc, #216] ; (80842b0 ) 80841d6: 7b1b ldrb r3, [r3, #12] 80841d8: b2db uxtb r3, r3 80841da: 4619 mov r1, r3 80841dc: 4a3d ldr r2, [pc, #244] ; (80842d4 ) 80841de: 232c movs r3, #44 ; 0x2c 80841e0: fb03 f301 mul.w r3, r3, r1 80841e4: 4413 add r3, r2 80841e6: 3324 adds r3, #36 ; 0x24 80841e8: 681b ldr r3, [r3, #0] 80841ea: 461a mov r2, r3 80841ec: 21ca movs r1, #202 ; 0xca 80841ee: 200a movs r0, #10 80841f0: f7d0 f8a0 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80841f4: 4934 ldr r1, [pc, #208] ; (80842c8 ) 80841f6: 4838 ldr r0, [pc, #224] ; (80842d8 ) 80841f8: f7cf faf4 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 80841fc: f507 733b add.w r3, r7, #748 ; 0x2ec 8084200: 461a mov r2, r3 8084202: 21ca movs r1, #202 ; 0xca 8084204: f44f 7082 mov.w r0, #260 ; 0x104 8084208: f7d0 f8ac bl 8054364 808420c: f002 b8fe b.w 808640c if(menupos == SpecLines) 8084210: 4b32 ldr r3, [pc, #200] ; (80842dc ) 8084212: 781b ldrb r3, [r3, #0] 8084214: b2db uxtb r3, r3 8084216: 2b04 cmp r3, #4 8084218: f040 814e bne.w 80844b8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808421c: 492a ldr r1, [pc, #168] ; (80842c8 ) 808421e: f04f 30ff mov.w r0, #4294967295 8084222: f7cf fadf bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8084226: 4b22 ldr r3, [pc, #136] ; (80842b0 ) 8084228: 7b1b ldrb r3, [r3, #12] 808422a: b2db uxtb r3, r3 808422c: 461a mov r2, r3 808422e: 4b2c ldr r3, [pc, #176] ; (80842e0 ) 8084230: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084234: 461a mov r2, r3 8084236: 2127 movs r1, #39 ; 0x27 8084238: 200a movs r0, #10 808423a: f7d0 f87b bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808423e: 4922 ldr r1, [pc, #136] ; (80842c8 ) 8084240: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8084244: f7cf face bl 80537e4 if(focused) 8084248: 4b26 ldr r3, [pc, #152] ; (80842e4 ) 808424a: 781b ldrb r3, [r3, #0] 808424c: b2db uxtb r3, r3 808424e: 2b00 cmp r3, #0 8084250: d00c beq.n 808426c if(blk) 8084252: 4b25 ldr r3, [pc, #148] ; (80842e8 ) 8084254: 681b ldr r3, [r3, #0] 8084256: 2b00 cmp r3, #0 8084258: d010 beq.n 808427c LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 808425a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808425e: 461a mov r2, r3 8084260: 217a movs r1, #122 ; 0x7a 8084262: f44f 7082 mov.w r0, #260 ; 0x104 8084266: f7d0 f87d bl 8054364 808426a: e007 b.n 808427c LCD_DisplayStringC(260, LCD_LINE_7, str1); // ×àñòîòíîå ðàçðåøåíèå 808426c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8084270: 461a mov r2, r3 8084272: 217a movs r1, #122 ; 0x7a 8084274: f44f 7082 mov.w r0, #260 ; 0x104 8084278: f7d0 f874 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808427c: 4912 ldr r1, [pc, #72] ; (80842c8 ) 808427e: 4816 ldr r0, [pc, #88] ; (80842d8 ) 8084280: f7cf fab0 bl 80537e4 if((pardata.OPTIONS & maskFFT) == fft) 8084284: 4b0a ldr r3, [pc, #40] ; (80842b0 ) 8084286: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808428a: f003 0330 and.w r3, r3, #48 ; 0x30 808428e: 2b00 cmp r3, #0 8084290: d12c bne.n 80842ec LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8084292: 4b07 ldr r3, [pc, #28] ; (80842b0 ) 8084294: 7b1b ldrb r3, [r3, #12] 8084296: b2db uxtb r3, r3 8084298: 4a06 ldr r2, [pc, #24] ; (80842b4 ) 808429a: 011b lsls r3, r3, #4 808429c: 4413 add r3, r2 808429e: 681b ldr r3, [r3, #0] 80842a0: 461a mov r2, r3 80842a2: 213a movs r1, #58 ; 0x3a 80842a4: f44f 7082 mov.w r0, #260 ; 0x104 80842a8: f7d0 f85c bl 8054364 80842ac: e02c b.n 8084308 80842ae: bf00 nop 80842b0: 20023e60 .word 0x20023e60 80842b4: 2002029c .word 0x2002029c 80842b8: 2002019c .word 0x2002019c 80842bc: 20020214 .word 0x20020214 80842c0: 200201ec .word 0x200201ec 80842c4: 20020224 .word 0x20020224 80842c8: ff0a0f1f .word 0xff0a0f1f 80842cc: ff808080 .word 0xff808080 80842d0: 200206b4 .word 0x200206b4 80842d4: 2002070c .word 0x2002070c 80842d8: ffd8aa57 .word 0xffd8aa57 80842dc: 20020070 .word 0x20020070 80842e0: 200205c4 .word 0x200205c4 80842e4: 20020f84 .word 0x20020f84 80842e8: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 80842ec: 4ba5 ldr r3, [pc, #660] ; (8084584 ) 80842ee: 7b1b ldrb r3, [r3, #12] 80842f0: b2db uxtb r3, r3 80842f2: 4aa5 ldr r2, [pc, #660] ; (8084588 ) 80842f4: 011b lsls r3, r3, #4 80842f6: 4413 add r3, r2 80842f8: 3304 adds r3, #4 80842fa: 681b ldr r3, [r3, #0] 80842fc: 461a mov r2, r3 80842fe: 213a movs r1, #58 ; 0x3a 8084300: f44f 7082 mov.w r0, #260 ; 0x104 8084304: f7d0 f82e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084308: 4b9e ldr r3, [pc, #632] ; (8084584 ) 808430a: 7b1b ldrb r3, [r3, #12] 808430c: b2db uxtb r3, r3 808430e: 4618 mov r0, r3 8084310: 4b9c ldr r3, [pc, #624] ; (8084584 ) 8084312: 785b ldrb r3, [r3, #1] 8084314: b2db uxtb r3, r3 8084316: 005b lsls r3, r3, #1 8084318: 4a9a ldr r2, [pc, #616] ; (8084584 ) 808431a: 7852 ldrb r2, [r2, #1] 808431c: b2d2 uxtb r2, r2 808431e: 4611 mov r1, r2 8084320: 4a98 ldr r2, [pc, #608] ; (8084584 ) 8084322: 440a add r2, r1 8084324: 7892 ldrb r2, [r2, #2] 8084326: b2d2 uxtb r2, r2 8084328: 431a orrs r2, r3 808432a: 4998 ldr r1, [pc, #608] ; (808458c ) 808432c: 4603 mov r3, r0 808432e: 005b lsls r3, r3, #1 8084330: 4403 add r3, r0 8084332: 005b lsls r3, r3, #1 8084334: 4413 add r3, r2 8084336: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808433a: 461a mov r2, r3 808433c: 214a movs r1, #74 ; 0x4a 808433e: f44f 7082 mov.w r0, #260 ; 0x104 8084342: f7d0 f80f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8084346: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808434a: 461a mov r2, r3 808434c: 215a movs r1, #90 ; 0x5a 808434e: f44f 7082 mov.w r0, #260 ; 0x104 8084352: f7d0 f807 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8084356: f507 73cc add.w r3, r7, #408 ; 0x198 808435a: 461a mov r2, r3 808435c: 216a movs r1, #106 ; 0x6a 808435e: f44f 7082 mov.w r0, #260 ; 0x104 8084362: f7cf ffff bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8084366: 4b87 ldr r3, [pc, #540] ; (8084584 ) 8084368: 7b1b ldrb r3, [r3, #12] 808436a: b2db uxtb r3, r3 808436c: 4618 mov r0, r3 808436e: 4b85 ldr r3, [pc, #532] ; (8084584 ) 8084370: 7a9b ldrb r3, [r3, #10] 8084372: b2db uxtb r3, r3 8084374: 4619 mov r1, r3 8084376: 4a86 ldr r2, [pc, #536] ; (8084590 ) 8084378: 0043 lsls r3, r0, #1 808437a: 440b add r3, r1 808437c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084380: 461a mov r2, r3 8084382: 218a movs r1, #138 ; 0x8a 8084384: f44f 7082 mov.w r0, #260 ; 0x104 8084388: f7cf ffec bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 808438c: 4b7d ldr r3, [pc, #500] ; (8084584 ) 808438e: 7b1b ldrb r3, [r3, #12] 8084390: b2db uxtb r3, r3 8084392: 4619 mov r1, r3 8084394: 4b7b ldr r3, [pc, #492] ; (8084584 ) 8084396: 7a5b ldrb r3, [r3, #9] 8084398: b2db uxtb r3, r3 808439a: 4618 mov r0, r3 808439c: 4a7d ldr r2, [pc, #500] ; (8084594 ) 808439e: 460b mov r3, r1 80843a0: 009b lsls r3, r3, #2 80843a2: 440b add r3, r1 80843a4: 4403 add r3, r0 80843a6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80843aa: 461a mov r2, r3 80843ac: 219a movs r1, #154 ; 0x9a 80843ae: f44f 7082 mov.w r0, #260 ; 0x104 80843b2: f7cf ffd7 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 80843b6: 4b73 ldr r3, [pc, #460] ; (8084584 ) 80843b8: 7b5b ldrb r3, [r3, #13] 80843ba: b2db uxtb r3, r3 80843bc: 461a mov r2, r3 80843be: 4b76 ldr r3, [pc, #472] ; (8084598 ) 80843c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80843c4: 461a mov r2, r3 80843c6: 21aa movs r1, #170 ; 0xaa 80843c8: f44f 7082 mov.w r0, #260 ; 0x104 80843cc: f7cf ffca bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80843d0: 4b6c ldr r3, [pc, #432] ; (8084584 ) 80843d2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80843d6: f003 0304 and.w r3, r3, #4 80843da: 2b00 cmp r3, #0 80843dc: d033 beq.n 8084446 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80843de: 496f ldr r1, [pc, #444] ; (808459c ) 80843e0: 486f ldr r0, [pc, #444] ; (80845a0 ) 80843e2: f7cf f9ff bl 80537e4 if(pardata.IIN != VOLTS) 80843e6: 4b67 ldr r3, [pc, #412] ; (8084584 ) 80843e8: 799b ldrb r3, [r3, #6] 80843ea: b2db uxtb r3, r3 80843ec: 2b02 cmp r3, #2 80843ee: d010 beq.n 8084412 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80843f0: 4b64 ldr r3, [pc, #400] ; (8084584 ) 80843f2: 7b1b ldrb r3, [r3, #12] 80843f4: b2db uxtb r3, r3 80843f6: 4619 mov r1, r3 80843f8: 4a6a ldr r2, [pc, #424] ; (80845a4 ) 80843fa: 232c movs r3, #44 ; 0x2c 80843fc: fb03 f301 mul.w r3, r3, r1 8084400: 4413 add r3, r2 8084402: 3324 adds r3, #36 ; 0x24 8084404: 681b ldr r3, [r3, #0] 8084406: 461a mov r2, r3 8084408: 21ca movs r1, #202 ; 0xca 808440a: 200a movs r0, #10 808440c: f7cf ff92 bl 8054334 8084410: e00f b.n 8084432 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084412: 4b5c ldr r3, [pc, #368] ; (8084584 ) 8084414: 7b1b ldrb r3, [r3, #12] 8084416: b2db uxtb r3, r3 8084418: 4619 mov r1, r3 808441a: 4a63 ldr r2, [pc, #396] ; (80845a8 ) 808441c: 232c movs r3, #44 ; 0x2c 808441e: fb03 f301 mul.w r3, r3, r1 8084422: 4413 add r3, r2 8084424: 3324 adds r3, #36 ; 0x24 8084426: 681b ldr r3, [r3, #0] 8084428: 461a mov r2, r3 808442a: 21ca movs r1, #202 ; 0xca 808442c: 200a movs r0, #10 808442e: f7cf ff81 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 8084432: f507 733b add.w r3, r7, #748 ; 0x2ec 8084436: 461a mov r2, r3 8084438: 21ca movs r1, #202 ; 0xca 808443a: f44f 7082 mov.w r0, #260 ; 0x104 808443e: f7cf ff91 bl 8054364 8084442: f001 bfe3 b.w 808640c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084446: 4955 ldr r1, [pc, #340] ; (808459c ) 8084448: f04f 30ff mov.w r0, #4294967295 808444c: f7cf f9ca bl 80537e4 if(pardata.IIN != VOLTS) 8084450: 4b4c ldr r3, [pc, #304] ; (8084584 ) 8084452: 799b ldrb r3, [r3, #6] 8084454: b2db uxtb r3, r3 8084456: 2b02 cmp r3, #2 8084458: d010 beq.n 808447c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808445a: 4b4a ldr r3, [pc, #296] ; (8084584 ) 808445c: 7b1b ldrb r3, [r3, #12] 808445e: b2db uxtb r3, r3 8084460: 4619 mov r1, r3 8084462: 4a50 ldr r2, [pc, #320] ; (80845a4 ) 8084464: 232c movs r3, #44 ; 0x2c 8084466: fb03 f301 mul.w r3, r3, r1 808446a: 4413 add r3, r2 808446c: 3324 adds r3, #36 ; 0x24 808446e: 681b ldr r3, [r3, #0] 8084470: 461a mov r2, r3 8084472: 21ca movs r1, #202 ; 0xca 8084474: 200a movs r0, #10 8084476: f7cf ff5d bl 8054334 808447a: e00f b.n 808449c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808447c: 4b41 ldr r3, [pc, #260] ; (8084584 ) 808447e: 7b1b ldrb r3, [r3, #12] 8084480: b2db uxtb r3, r3 8084482: 4619 mov r1, r3 8084484: 4a48 ldr r2, [pc, #288] ; (80845a8 ) 8084486: 232c movs r3, #44 ; 0x2c 8084488: fb03 f301 mul.w r3, r3, r1 808448c: 4413 add r3, r2 808448e: 3324 adds r3, #36 ; 0x24 8084490: 681b ldr r3, [r3, #0] 8084492: 461a mov r2, r3 8084494: 21ca movs r1, #202 ; 0xca 8084496: 200a movs r0, #10 8084498: f7cf ff4c bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808449c: 493f ldr r1, [pc, #252] ; (808459c ) 808449e: 4843 ldr r0, [pc, #268] ; (80845ac ) 80844a0: f7cf f9a0 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 80844a4: f507 733b add.w r3, r7, #748 ; 0x2ec 80844a8: 461a mov r2, r3 80844aa: 21ca movs r1, #202 ; 0xca 80844ac: f44f 7082 mov.w r0, #260 ; 0x104 80844b0: f7cf ff58 bl 8054364 80844b4: f001 bfaa b.w 808640c if(menupos == LinLog) 80844b8: 4b3d ldr r3, [pc, #244] ; (80845b0 ) 80844ba: 781b ldrb r3, [r3, #0] 80844bc: b2db uxtb r3, r3 80844be: 2b05 cmp r3, #5 80844c0: f040 8159 bne.w 8084776 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80844c4: 4935 ldr r1, [pc, #212] ; (808459c ) 80844c6: f04f 30ff mov.w r0, #4294967295 80844ca: f7cf f98b bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80844ce: 4b2d ldr r3, [pc, #180] ; (8084584 ) 80844d0: 7b1b ldrb r3, [r3, #12] 80844d2: b2db uxtb r3, r3 80844d4: 461a mov r2, r3 80844d6: 4b37 ldr r3, [pc, #220] ; (80845b4 ) 80844d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80844dc: 461a mov r2, r3 80844de: 2127 movs r1, #39 ; 0x27 80844e0: 200a movs r0, #10 80844e2: f7cf ff27 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80844e6: 492d ldr r1, [pc, #180] ; (808459c ) 80844e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80844ec: f7cf f97a bl 80537e4 if(focused) 80844f0: 4b31 ldr r3, [pc, #196] ; (80845b8 ) 80844f2: 781b ldrb r3, [r3, #0] 80844f4: b2db uxtb r3, r3 80844f6: 2b00 cmp r3, #0 80844f8: d017 beq.n 808452a if(blk) 80844fa: 4b30 ldr r3, [pc, #192] ; (80845bc ) 80844fc: 681b ldr r3, [r3, #0] 80844fe: 2b00 cmp r3, #0 8084500: d026 beq.n 8084550 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8084502: 4b20 ldr r3, [pc, #128] ; (8084584 ) 8084504: 7b1b ldrb r3, [r3, #12] 8084506: b2db uxtb r3, r3 8084508: 4618 mov r0, r3 808450a: 4b1e ldr r3, [pc, #120] ; (8084584 ) 808450c: 7a9b ldrb r3, [r3, #10] 808450e: b2db uxtb r3, r3 8084510: 4619 mov r1, r3 8084512: 4a1f ldr r2, [pc, #124] ; (8084590 ) 8084514: 0043 lsls r3, r0, #1 8084516: 440b add r3, r1 8084518: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808451c: 461a mov r2, r3 808451e: 218a movs r1, #138 ; 0x8a 8084520: f44f 7082 mov.w r0, #260 ; 0x104 8084524: f7cf ff1e bl 8054364 8084528: e012 b.n 8084550 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 808452a: 4b16 ldr r3, [pc, #88] ; (8084584 ) 808452c: 7b1b ldrb r3, [r3, #12] 808452e: b2db uxtb r3, r3 8084530: 4618 mov r0, r3 8084532: 4b14 ldr r3, [pc, #80] ; (8084584 ) 8084534: 7a9b ldrb r3, [r3, #10] 8084536: b2db uxtb r3, r3 8084538: 4619 mov r1, r3 808453a: 4a15 ldr r2, [pc, #84] ; (8084590 ) 808453c: 0043 lsls r3, r0, #1 808453e: 440b add r3, r1 8084540: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084544: 461a mov r2, r3 8084546: 218a movs r1, #138 ; 0x8a 8084548: f44f 7082 mov.w r0, #260 ; 0x104 808454c: f7cf ff0a bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084550: 4912 ldr r1, [pc, #72] ; (808459c ) 8084552: 4816 ldr r0, [pc, #88] ; (80845ac ) 8084554: f7cf f946 bl 80537e4 if((pardata.OPTIONS & maskFFT) == fft) 8084558: 4b0a ldr r3, [pc, #40] ; (8084584 ) 808455a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808455e: f003 0330 and.w r3, r3, #48 ; 0x30 8084562: 2b00 cmp r3, #0 8084564: d12c bne.n 80845c0 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8084566: 4b07 ldr r3, [pc, #28] ; (8084584 ) 8084568: 7b1b ldrb r3, [r3, #12] 808456a: b2db uxtb r3, r3 808456c: 4a06 ldr r2, [pc, #24] ; (8084588 ) 808456e: 011b lsls r3, r3, #4 8084570: 4413 add r3, r2 8084572: 681b ldr r3, [r3, #0] 8084574: 461a mov r2, r3 8084576: 213a movs r1, #58 ; 0x3a 8084578: f44f 7082 mov.w r0, #260 ; 0x104 808457c: f7cf fef2 bl 8054364 8084580: e02c b.n 80845dc 8084582: bf00 nop 8084584: 20023e60 .word 0x20023e60 8084588: 2002029c .word 0x2002029c 808458c: 2002019c .word 0x2002019c 8084590: 20020214 .word 0x20020214 8084594: 200201ec .word 0x200201ec 8084598: 20020224 .word 0x20020224 808459c: ff0a0f1f .word 0xff0a0f1f 80845a0: ff808080 .word 0xff808080 80845a4: 200206b4 .word 0x200206b4 80845a8: 2002070c .word 0x2002070c 80845ac: ffd8aa57 .word 0xffd8aa57 80845b0: 20020070 .word 0x20020070 80845b4: 200205c4 .word 0x200205c4 80845b8: 20020f84 .word 0x20020f84 80845bc: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 80845c0: 4ba1 ldr r3, [pc, #644] ; (8084848 ) 80845c2: 7b1b ldrb r3, [r3, #12] 80845c4: b2db uxtb r3, r3 80845c6: 4aa1 ldr r2, [pc, #644] ; (808484c ) 80845c8: 011b lsls r3, r3, #4 80845ca: 4413 add r3, r2 80845cc: 3304 adds r3, #4 80845ce: 681b ldr r3, [r3, #0] 80845d0: 461a mov r2, r3 80845d2: 213a movs r1, #58 ; 0x3a 80845d4: f44f 7082 mov.w r0, #260 ; 0x104 80845d8: f7cf fec4 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80845dc: 4b9a ldr r3, [pc, #616] ; (8084848 ) 80845de: 7b1b ldrb r3, [r3, #12] 80845e0: b2db uxtb r3, r3 80845e2: 4618 mov r0, r3 80845e4: 4b98 ldr r3, [pc, #608] ; (8084848 ) 80845e6: 785b ldrb r3, [r3, #1] 80845e8: b2db uxtb r3, r3 80845ea: 005b lsls r3, r3, #1 80845ec: 4a96 ldr r2, [pc, #600] ; (8084848 ) 80845ee: 7852 ldrb r2, [r2, #1] 80845f0: b2d2 uxtb r2, r2 80845f2: 4611 mov r1, r2 80845f4: 4a94 ldr r2, [pc, #592] ; (8084848 ) 80845f6: 440a add r2, r1 80845f8: 7892 ldrb r2, [r2, #2] 80845fa: b2d2 uxtb r2, r2 80845fc: 431a orrs r2, r3 80845fe: 4994 ldr r1, [pc, #592] ; (8084850 ) 8084600: 4603 mov r3, r0 8084602: 005b lsls r3, r3, #1 8084604: 4403 add r3, r0 8084606: 005b lsls r3, r3, #1 8084608: 4413 add r3, r2 808460a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808460e: 461a mov r2, r3 8084610: 214a movs r1, #74 ; 0x4a 8084612: f44f 7082 mov.w r0, #260 ; 0x104 8084616: f7cf fea5 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 808461a: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808461e: 461a mov r2, r3 8084620: 215a movs r1, #90 ; 0x5a 8084622: f44f 7082 mov.w r0, #260 ; 0x104 8084626: f7cf fe9d bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 808462a: f507 73cc add.w r3, r7, #408 ; 0x198 808462e: 461a mov r2, r3 8084630: 216a movs r1, #106 ; 0x6a 8084632: f44f 7082 mov.w r0, #260 ; 0x104 8084636: f7cf fe95 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str1); 808463a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808463e: 461a mov r2, r3 8084640: 217a movs r1, #122 ; 0x7a 8084642: f44f 7082 mov.w r0, #260 ; 0x104 8084646: f7cf fe8d bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 808464a: 4b7f ldr r3, [pc, #508] ; (8084848 ) 808464c: 7b1b ldrb r3, [r3, #12] 808464e: b2db uxtb r3, r3 8084650: 4619 mov r1, r3 8084652: 4b7d ldr r3, [pc, #500] ; (8084848 ) 8084654: 7a5b ldrb r3, [r3, #9] 8084656: b2db uxtb r3, r3 8084658: 4618 mov r0, r3 808465a: 4a7e ldr r2, [pc, #504] ; (8084854 ) 808465c: 460b mov r3, r1 808465e: 009b lsls r3, r3, #2 8084660: 440b add r3, r1 8084662: 4403 add r3, r0 8084664: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084668: 461a mov r2, r3 808466a: 219a movs r1, #154 ; 0x9a 808466c: f44f 7082 mov.w r0, #260 ; 0x104 8084670: f7cf fe78 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8084674: 4b74 ldr r3, [pc, #464] ; (8084848 ) 8084676: 7b5b ldrb r3, [r3, #13] 8084678: b2db uxtb r3, r3 808467a: 461a mov r2, r3 808467c: 4b76 ldr r3, [pc, #472] ; (8084858 ) 808467e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084682: 461a mov r2, r3 8084684: 21aa movs r1, #170 ; 0xaa 8084686: f44f 7082 mov.w r0, #260 ; 0x104 808468a: f7cf fe6b bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808468e: 4b6e ldr r3, [pc, #440] ; (8084848 ) 8084690: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084694: f003 0304 and.w r3, r3, #4 8084698: 2b00 cmp r3, #0 808469a: d033 beq.n 8084704 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808469c: 496f ldr r1, [pc, #444] ; (808485c ) 808469e: 4870 ldr r0, [pc, #448] ; (8084860 ) 80846a0: f7cf f8a0 bl 80537e4 if(pardata.IIN != VOLTS) 80846a4: 4b68 ldr r3, [pc, #416] ; (8084848 ) 80846a6: 799b ldrb r3, [r3, #6] 80846a8: b2db uxtb r3, r3 80846aa: 2b02 cmp r3, #2 80846ac: d010 beq.n 80846d0 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80846ae: 4b66 ldr r3, [pc, #408] ; (8084848 ) 80846b0: 7b1b ldrb r3, [r3, #12] 80846b2: b2db uxtb r3, r3 80846b4: 4619 mov r1, r3 80846b6: 4a6b ldr r2, [pc, #428] ; (8084864 ) 80846b8: 232c movs r3, #44 ; 0x2c 80846ba: fb03 f301 mul.w r3, r3, r1 80846be: 4413 add r3, r2 80846c0: 3324 adds r3, #36 ; 0x24 80846c2: 681b ldr r3, [r3, #0] 80846c4: 461a mov r2, r3 80846c6: 21ca movs r1, #202 ; 0xca 80846c8: 200a movs r0, #10 80846ca: f7cf fe33 bl 8054334 80846ce: e00f b.n 80846f0 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80846d0: 4b5d ldr r3, [pc, #372] ; (8084848 ) 80846d2: 7b1b ldrb r3, [r3, #12] 80846d4: b2db uxtb r3, r3 80846d6: 4619 mov r1, r3 80846d8: 4a63 ldr r2, [pc, #396] ; (8084868 ) 80846da: 232c movs r3, #44 ; 0x2c 80846dc: fb03 f301 mul.w r3, r3, r1 80846e0: 4413 add r3, r2 80846e2: 3324 adds r3, #36 ; 0x24 80846e4: 681b ldr r3, [r3, #0] 80846e6: 461a mov r2, r3 80846e8: 21ca movs r1, #202 ; 0xca 80846ea: 200a movs r0, #10 80846ec: f7cf fe22 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 80846f0: f507 733b add.w r3, r7, #748 ; 0x2ec 80846f4: 461a mov r2, r3 80846f6: 21ca movs r1, #202 ; 0xca 80846f8: f44f 7082 mov.w r0, #260 ; 0x104 80846fc: f7cf fe32 bl 8054364 8084700: f001 be84 b.w 808640c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084704: 4955 ldr r1, [pc, #340] ; (808485c ) 8084706: f04f 30ff mov.w r0, #4294967295 808470a: f7cf f86b bl 80537e4 if(pardata.IIN != VOLTS) 808470e: 4b4e ldr r3, [pc, #312] ; (8084848 ) 8084710: 799b ldrb r3, [r3, #6] 8084712: b2db uxtb r3, r3 8084714: 2b02 cmp r3, #2 8084716: d010 beq.n 808473a LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084718: 4b4b ldr r3, [pc, #300] ; (8084848 ) 808471a: 7b1b ldrb r3, [r3, #12] 808471c: b2db uxtb r3, r3 808471e: 4619 mov r1, r3 8084720: 4a50 ldr r2, [pc, #320] ; (8084864 ) 8084722: 232c movs r3, #44 ; 0x2c 8084724: fb03 f301 mul.w r3, r3, r1 8084728: 4413 add r3, r2 808472a: 3324 adds r3, #36 ; 0x24 808472c: 681b ldr r3, [r3, #0] 808472e: 461a mov r2, r3 8084730: 21ca movs r1, #202 ; 0xca 8084732: 200a movs r0, #10 8084734: f7cf fdfe bl 8054334 8084738: e00f b.n 808475a else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808473a: 4b43 ldr r3, [pc, #268] ; (8084848 ) 808473c: 7b1b ldrb r3, [r3, #12] 808473e: b2db uxtb r3, r3 8084740: 4619 mov r1, r3 8084742: 4a49 ldr r2, [pc, #292] ; (8084868 ) 8084744: 232c movs r3, #44 ; 0x2c 8084746: fb03 f301 mul.w r3, r3, r1 808474a: 4413 add r3, r2 808474c: 3324 adds r3, #36 ; 0x24 808474e: 681b ldr r3, [r3, #0] 8084750: 461a mov r2, r3 8084752: 21ca movs r1, #202 ; 0xca 8084754: 200a movs r0, #10 8084756: f7cf fded bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808475a: 4940 ldr r1, [pc, #256] ; (808485c ) 808475c: 4843 ldr r0, [pc, #268] ; (808486c ) 808475e: f7cf f841 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 8084762: f507 733b add.w r3, r7, #748 ; 0x2ec 8084766: 461a mov r2, r3 8084768: 21ca movs r1, #202 ; 0xca 808476a: f44f 7082 mov.w r0, #260 ; 0x104 808476e: f7cf fdf9 bl 8054364 8084772: f001 be4b b.w 808640c if(menupos == SpecWin) 8084776: 4b3e ldr r3, [pc, #248] ; (8084870 ) 8084778: 781b ldrb r3, [r3, #0] 808477a: b2db uxtb r3, r3 808477c: 2b06 cmp r3, #6 808477e: f040 8158 bne.w 8084a32 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084782: 4936 ldr r1, [pc, #216] ; (808485c ) 8084784: f04f 30ff mov.w r0, #4294967295 8084788: f7cf f82c bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 808478c: 4b2e ldr r3, [pc, #184] ; (8084848 ) 808478e: 7b1b ldrb r3, [r3, #12] 8084790: b2db uxtb r3, r3 8084792: 461a mov r2, r3 8084794: 4b37 ldr r3, [pc, #220] ; (8084874 ) 8084796: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808479a: 461a mov r2, r3 808479c: 2127 movs r1, #39 ; 0x27 808479e: 200a movs r0, #10 80847a0: f7cf fdc8 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80847a4: 492d ldr r1, [pc, #180] ; (808485c ) 80847a6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80847aa: f7cf f81b bl 80537e4 if(focused) 80847ae: 4b32 ldr r3, [pc, #200] ; (8084878 ) 80847b0: 781b ldrb r3, [r3, #0] 80847b2: b2db uxtb r3, r3 80847b4: 2b00 cmp r3, #0 80847b6: d019 beq.n 80847ec if(blk) 80847b8: 4b30 ldr r3, [pc, #192] ; (808487c ) 80847ba: 681b ldr r3, [r3, #0] 80847bc: 2b00 cmp r3, #0 80847be: d02a beq.n 8084816 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80847c0: 4b21 ldr r3, [pc, #132] ; (8084848 ) 80847c2: 7b1b ldrb r3, [r3, #12] 80847c4: b2db uxtb r3, r3 80847c6: 4619 mov r1, r3 80847c8: 4b1f ldr r3, [pc, #124] ; (8084848 ) 80847ca: 7a5b ldrb r3, [r3, #9] 80847cc: b2db uxtb r3, r3 80847ce: 4618 mov r0, r3 80847d0: 4a20 ldr r2, [pc, #128] ; (8084854 ) 80847d2: 460b mov r3, r1 80847d4: 009b lsls r3, r3, #2 80847d6: 440b add r3, r1 80847d8: 4403 add r3, r0 80847da: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80847de: 461a mov r2, r3 80847e0: 219a movs r1, #154 ; 0x9a 80847e2: f44f 7082 mov.w r0, #260 ; 0x104 80847e6: f7cf fdbd bl 8054364 80847ea: e014 b.n 8084816 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80847ec: 4b16 ldr r3, [pc, #88] ; (8084848 ) 80847ee: 7b1b ldrb r3, [r3, #12] 80847f0: b2db uxtb r3, r3 80847f2: 4619 mov r1, r3 80847f4: 4b14 ldr r3, [pc, #80] ; (8084848 ) 80847f6: 7a5b ldrb r3, [r3, #9] 80847f8: b2db uxtb r3, r3 80847fa: 4618 mov r0, r3 80847fc: 4a15 ldr r2, [pc, #84] ; (8084854 ) 80847fe: 460b mov r3, r1 8084800: 009b lsls r3, r3, #2 8084802: 440b add r3, r1 8084804: 4403 add r3, r0 8084806: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808480a: 461a mov r2, r3 808480c: 219a movs r1, #154 ; 0x9a 808480e: f44f 7082 mov.w r0, #260 ; 0x104 8084812: f7cf fda7 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084816: 4911 ldr r1, [pc, #68] ; (808485c ) 8084818: 4814 ldr r0, [pc, #80] ; (808486c ) 808481a: f7ce ffe3 bl 80537e4 if((pardata.OPTIONS & maskFFT) == fft) 808481e: 4b0a ldr r3, [pc, #40] ; (8084848 ) 8084820: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084824: f003 0330 and.w r3, r3, #48 ; 0x30 8084828: 2b00 cmp r3, #0 808482a: d129 bne.n 8084880 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 808482c: 4b06 ldr r3, [pc, #24] ; (8084848 ) 808482e: 7b1b ldrb r3, [r3, #12] 8084830: b2db uxtb r3, r3 8084832: 4a06 ldr r2, [pc, #24] ; (808484c ) 8084834: 011b lsls r3, r3, #4 8084836: 4413 add r3, r2 8084838: 681b ldr r3, [r3, #0] 808483a: 461a mov r2, r3 808483c: 213a movs r1, #58 ; 0x3a 808483e: f44f 7082 mov.w r0, #260 ; 0x104 8084842: f7cf fd8f bl 8054364 8084846: e029 b.n 808489c 8084848: 20023e60 .word 0x20023e60 808484c: 2002029c .word 0x2002029c 8084850: 2002019c .word 0x2002019c 8084854: 200201ec .word 0x200201ec 8084858: 20020224 .word 0x20020224 808485c: ff0a0f1f .word 0xff0a0f1f 8084860: ff808080 .word 0xff808080 8084864: 200206b4 .word 0x200206b4 8084868: 2002070c .word 0x2002070c 808486c: ffd8aa57 .word 0xffd8aa57 8084870: 20020070 .word 0x20020070 8084874: 200205c4 .word 0x200205c4 8084878: 20020f84 .word 0x20020f84 808487c: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8084880: 4b98 ldr r3, [pc, #608] ; (8084ae4 ) 8084882: 7b1b ldrb r3, [r3, #12] 8084884: b2db uxtb r3, r3 8084886: 4a98 ldr r2, [pc, #608] ; (8084ae8 ) 8084888: 011b lsls r3, r3, #4 808488a: 4413 add r3, r2 808488c: 3304 adds r3, #4 808488e: 681b ldr r3, [r3, #0] 8084890: 461a mov r2, r3 8084892: 213a movs r1, #58 ; 0x3a 8084894: f44f 7082 mov.w r0, #260 ; 0x104 8084898: f7cf fd64 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 808489c: 4b91 ldr r3, [pc, #580] ; (8084ae4 ) 808489e: 7b1b ldrb r3, [r3, #12] 80848a0: b2db uxtb r3, r3 80848a2: 4618 mov r0, r3 80848a4: 4b8f ldr r3, [pc, #572] ; (8084ae4 ) 80848a6: 785b ldrb r3, [r3, #1] 80848a8: b2db uxtb r3, r3 80848aa: 005b lsls r3, r3, #1 80848ac: 4a8d ldr r2, [pc, #564] ; (8084ae4 ) 80848ae: 7852 ldrb r2, [r2, #1] 80848b0: b2d2 uxtb r2, r2 80848b2: 4611 mov r1, r2 80848b4: 4a8b ldr r2, [pc, #556] ; (8084ae4 ) 80848b6: 440a add r2, r1 80848b8: 7892 ldrb r2, [r2, #2] 80848ba: b2d2 uxtb r2, r2 80848bc: 431a orrs r2, r3 80848be: 498b ldr r1, [pc, #556] ; (8084aec ) 80848c0: 4603 mov r3, r0 80848c2: 005b lsls r3, r3, #1 80848c4: 4403 add r3, r0 80848c6: 005b lsls r3, r3, #1 80848c8: 4413 add r3, r2 80848ca: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80848ce: 461a mov r2, r3 80848d0: 214a movs r1, #74 ; 0x4a 80848d2: f44f 7082 mov.w r0, #260 ; 0x104 80848d6: f7cf fd45 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80848da: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80848de: 461a mov r2, r3 80848e0: 215a movs r1, #90 ; 0x5a 80848e2: f44f 7082 mov.w r0, #260 ; 0x104 80848e6: f7cf fd3d bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80848ea: f507 73cc add.w r3, r7, #408 ; 0x198 80848ee: 461a mov r2, r3 80848f0: 216a movs r1, #106 ; 0x6a 80848f2: f44f 7082 mov.w r0, #260 ; 0x104 80848f6: f7cf fd35 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str1); 80848fa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80848fe: 461a mov r2, r3 8084900: 217a movs r1, #122 ; 0x7a 8084902: f44f 7082 mov.w r0, #260 ; 0x104 8084906: f7cf fd2d bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 808490a: 4b76 ldr r3, [pc, #472] ; (8084ae4 ) 808490c: 7b1b ldrb r3, [r3, #12] 808490e: b2db uxtb r3, r3 8084910: 4618 mov r0, r3 8084912: 4b74 ldr r3, [pc, #464] ; (8084ae4 ) 8084914: 7a9b ldrb r3, [r3, #10] 8084916: b2db uxtb r3, r3 8084918: 4619 mov r1, r3 808491a: 4a75 ldr r2, [pc, #468] ; (8084af0 ) 808491c: 0043 lsls r3, r0, #1 808491e: 440b add r3, r1 8084920: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084924: 461a mov r2, r3 8084926: 218a movs r1, #138 ; 0x8a 8084928: f44f 7082 mov.w r0, #260 ; 0x104 808492c: f7cf fd1a bl 8054364 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8084930: 4b6c ldr r3, [pc, #432] ; (8084ae4 ) 8084932: 7b5b ldrb r3, [r3, #13] 8084934: b2db uxtb r3, r3 8084936: 461a mov r2, r3 8084938: 4b6e ldr r3, [pc, #440] ; (8084af4 ) 808493a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808493e: 461a mov r2, r3 8084940: 21aa movs r1, #170 ; 0xaa 8084942: f44f 7082 mov.w r0, #260 ; 0x104 8084946: f7cf fd0d bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808494a: 4b66 ldr r3, [pc, #408] ; (8084ae4 ) 808494c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084950: f003 0304 and.w r3, r3, #4 8084954: 2b00 cmp r3, #0 8084956: d033 beq.n 80849c0 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8084958: 4967 ldr r1, [pc, #412] ; (8084af8 ) 808495a: 4868 ldr r0, [pc, #416] ; (8084afc ) 808495c: f7ce ff42 bl 80537e4 if(pardata.IIN != VOLTS) 8084960: 4b60 ldr r3, [pc, #384] ; (8084ae4 ) 8084962: 799b ldrb r3, [r3, #6] 8084964: b2db uxtb r3, r3 8084966: 2b02 cmp r3, #2 8084968: d010 beq.n 808498c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808496a: 4b5e ldr r3, [pc, #376] ; (8084ae4 ) 808496c: 7b1b ldrb r3, [r3, #12] 808496e: b2db uxtb r3, r3 8084970: 4619 mov r1, r3 8084972: 4a63 ldr r2, [pc, #396] ; (8084b00 ) 8084974: 232c movs r3, #44 ; 0x2c 8084976: fb03 f301 mul.w r3, r3, r1 808497a: 4413 add r3, r2 808497c: 3324 adds r3, #36 ; 0x24 808497e: 681b ldr r3, [r3, #0] 8084980: 461a mov r2, r3 8084982: 21ca movs r1, #202 ; 0xca 8084984: 200a movs r0, #10 8084986: f7cf fcd5 bl 8054334 808498a: e00f b.n 80849ac else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808498c: 4b55 ldr r3, [pc, #340] ; (8084ae4 ) 808498e: 7b1b ldrb r3, [r3, #12] 8084990: b2db uxtb r3, r3 8084992: 4619 mov r1, r3 8084994: 4a5b ldr r2, [pc, #364] ; (8084b04 ) 8084996: 232c movs r3, #44 ; 0x2c 8084998: fb03 f301 mul.w r3, r3, r1 808499c: 4413 add r3, r2 808499e: 3324 adds r3, #36 ; 0x24 80849a0: 681b ldr r3, [r3, #0] 80849a2: 461a mov r2, r3 80849a4: 21ca movs r1, #202 ; 0xca 80849a6: 200a movs r0, #10 80849a8: f7cf fcc4 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 80849ac: f507 733b add.w r3, r7, #748 ; 0x2ec 80849b0: 461a mov r2, r3 80849b2: 21ca movs r1, #202 ; 0xca 80849b4: f44f 7082 mov.w r0, #260 ; 0x104 80849b8: f7cf fcd4 bl 8054364 80849bc: f001 bd26 b.w 808640c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80849c0: 494d ldr r1, [pc, #308] ; (8084af8 ) 80849c2: f04f 30ff mov.w r0, #4294967295 80849c6: f7ce ff0d bl 80537e4 if(pardata.IIN != VOLTS) 80849ca: 4b46 ldr r3, [pc, #280] ; (8084ae4 ) 80849cc: 799b ldrb r3, [r3, #6] 80849ce: b2db uxtb r3, r3 80849d0: 2b02 cmp r3, #2 80849d2: d010 beq.n 80849f6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80849d4: 4b43 ldr r3, [pc, #268] ; (8084ae4 ) 80849d6: 7b1b ldrb r3, [r3, #12] 80849d8: b2db uxtb r3, r3 80849da: 4619 mov r1, r3 80849dc: 4a48 ldr r2, [pc, #288] ; (8084b00 ) 80849de: 232c movs r3, #44 ; 0x2c 80849e0: fb03 f301 mul.w r3, r3, r1 80849e4: 4413 add r3, r2 80849e6: 3324 adds r3, #36 ; 0x24 80849e8: 681b ldr r3, [r3, #0] 80849ea: 461a mov r2, r3 80849ec: 21ca movs r1, #202 ; 0xca 80849ee: 200a movs r0, #10 80849f0: f7cf fca0 bl 8054334 80849f4: e00f b.n 8084a16 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80849f6: 4b3b ldr r3, [pc, #236] ; (8084ae4 ) 80849f8: 7b1b ldrb r3, [r3, #12] 80849fa: b2db uxtb r3, r3 80849fc: 4619 mov r1, r3 80849fe: 4a41 ldr r2, [pc, #260] ; (8084b04 ) 8084a00: 232c movs r3, #44 ; 0x2c 8084a02: fb03 f301 mul.w r3, r3, r1 8084a06: 4413 add r3, r2 8084a08: 3324 adds r3, #36 ; 0x24 8084a0a: 681b ldr r3, [r3, #0] 8084a0c: 461a mov r2, r3 8084a0e: 21ca movs r1, #202 ; 0xca 8084a10: 200a movs r0, #10 8084a12: f7cf fc8f bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084a16: 4938 ldr r1, [pc, #224] ; (8084af8 ) 8084a18: 483b ldr r0, [pc, #236] ; (8084b08 ) 8084a1a: f7ce fee3 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 8084a1e: f507 733b add.w r3, r7, #748 ; 0x2ec 8084a22: 461a mov r2, r3 8084a24: 21ca movs r1, #202 ; 0xca 8084a26: f44f 7082 mov.w r0, #260 ; 0x104 8084a2a: f7cf fc9b bl 8054364 8084a2e: f001 bced b.w 808640c if(menupos == SAverage) 8084a32: 4b36 ldr r3, [pc, #216] ; (8084b0c ) 8084a34: 781b ldrb r3, [r3, #0] 8084a36: b2db uxtb r3, r3 8084a38: 2b07 cmp r3, #7 8084a3a: f040 8150 bne.w 8084cde LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084a3e: 492e ldr r1, [pc, #184] ; (8084af8 ) 8084a40: f04f 30ff mov.w r0, #4294967295 8084a44: f7ce fece bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8084a48: 4b26 ldr r3, [pc, #152] ; (8084ae4 ) 8084a4a: 7b1b ldrb r3, [r3, #12] 8084a4c: b2db uxtb r3, r3 8084a4e: 461a mov r2, r3 8084a50: 4b2f ldr r3, [pc, #188] ; (8084b10 ) 8084a52: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084a56: 461a mov r2, r3 8084a58: 2127 movs r1, #39 ; 0x27 8084a5a: 200a movs r0, #10 8084a5c: f7cf fc6a bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8084a60: 4925 ldr r1, [pc, #148] ; (8084af8 ) 8084a62: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8084a66: f7ce febd bl 80537e4 if(focused) 8084a6a: 4b2a ldr r3, [pc, #168] ; (8084b14 ) 8084a6c: 781b ldrb r3, [r3, #0] 8084a6e: b2db uxtb r3, r3 8084a70: 2b00 cmp r3, #0 8084a72: d011 beq.n 8084a98 if(blk) 8084a74: 4b28 ldr r3, [pc, #160] ; (8084b18 ) 8084a76: 681b ldr r3, [r3, #0] 8084a78: 2b00 cmp r3, #0 8084a7a: d01a beq.n 8084ab2 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8084a7c: 4b19 ldr r3, [pc, #100] ; (8084ae4 ) 8084a7e: 7b5b ldrb r3, [r3, #13] 8084a80: b2db uxtb r3, r3 8084a82: 461a mov r2, r3 8084a84: 4b1b ldr r3, [pc, #108] ; (8084af4 ) 8084a86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084a8a: 461a mov r2, r3 8084a8c: 21aa movs r1, #170 ; 0xaa 8084a8e: f44f 7082 mov.w r0, #260 ; 0x104 8084a92: f7cf fc67 bl 8054364 8084a96: e00c b.n 8084ab2 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8084a98: 4b12 ldr r3, [pc, #72] ; (8084ae4 ) 8084a9a: 7b5b ldrb r3, [r3, #13] 8084a9c: b2db uxtb r3, r3 8084a9e: 461a mov r2, r3 8084aa0: 4b14 ldr r3, [pc, #80] ; (8084af4 ) 8084aa2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084aa6: 461a mov r2, r3 8084aa8: 21aa movs r1, #170 ; 0xaa 8084aaa: f44f 7082 mov.w r0, #260 ; 0x104 8084aae: f7cf fc59 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084ab2: 4911 ldr r1, [pc, #68] ; (8084af8 ) 8084ab4: 4814 ldr r0, [pc, #80] ; (8084b08 ) 8084ab6: f7ce fe95 bl 80537e4 if((pardata.OPTIONS & maskFFT) == fft) 8084aba: 4b0a ldr r3, [pc, #40] ; (8084ae4 ) 8084abc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084ac0: f003 0330 and.w r3, r3, #48 ; 0x30 8084ac4: 2b00 cmp r3, #0 8084ac6: d129 bne.n 8084b1c LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8084ac8: 4b06 ldr r3, [pc, #24] ; (8084ae4 ) 8084aca: 7b1b ldrb r3, [r3, #12] 8084acc: b2db uxtb r3, r3 8084ace: 4a06 ldr r2, [pc, #24] ; (8084ae8 ) 8084ad0: 011b lsls r3, r3, #4 8084ad2: 4413 add r3, r2 8084ad4: 681b ldr r3, [r3, #0] 8084ad6: 461a mov r2, r3 8084ad8: 213a movs r1, #58 ; 0x3a 8084ada: f44f 7082 mov.w r0, #260 ; 0x104 8084ade: f7cf fc41 bl 8054364 8084ae2: e029 b.n 8084b38 8084ae4: 20023e60 .word 0x20023e60 8084ae8: 2002029c .word 0x2002029c 8084aec: 2002019c .word 0x2002019c 8084af0: 20020214 .word 0x20020214 8084af4: 20020224 .word 0x20020224 8084af8: ff0a0f1f .word 0xff0a0f1f 8084afc: ff808080 .word 0xff808080 8084b00: 200206b4 .word 0x200206b4 8084b04: 2002070c .word 0x2002070c 8084b08: ffd8aa57 .word 0xffd8aa57 8084b0c: 20020070 .word 0x20020070 8084b10: 200205c4 .word 0x200205c4 8084b14: 20020f84 .word 0x20020f84 8084b18: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8084b1c: 4b88 ldr r3, [pc, #544] ; (8084d40 ) 8084b1e: 7b1b ldrb r3, [r3, #12] 8084b20: b2db uxtb r3, r3 8084b22: 4a88 ldr r2, [pc, #544] ; (8084d44 ) 8084b24: 011b lsls r3, r3, #4 8084b26: 4413 add r3, r2 8084b28: 3304 adds r3, #4 8084b2a: 681b ldr r3, [r3, #0] 8084b2c: 461a mov r2, r3 8084b2e: 213a movs r1, #58 ; 0x3a 8084b30: f44f 7082 mov.w r0, #260 ; 0x104 8084b34: f7cf fc16 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084b38: 4b81 ldr r3, [pc, #516] ; (8084d40 ) 8084b3a: 7b1b ldrb r3, [r3, #12] 8084b3c: b2db uxtb r3, r3 8084b3e: 4618 mov r0, r3 8084b40: 4b7f ldr r3, [pc, #508] ; (8084d40 ) 8084b42: 785b ldrb r3, [r3, #1] 8084b44: b2db uxtb r3, r3 8084b46: 005b lsls r3, r3, #1 8084b48: 4a7d ldr r2, [pc, #500] ; (8084d40 ) 8084b4a: 7852 ldrb r2, [r2, #1] 8084b4c: b2d2 uxtb r2, r2 8084b4e: 4611 mov r1, r2 8084b50: 4a7b ldr r2, [pc, #492] ; (8084d40 ) 8084b52: 440a add r2, r1 8084b54: 7892 ldrb r2, [r2, #2] 8084b56: b2d2 uxtb r2, r2 8084b58: 431a orrs r2, r3 8084b5a: 497b ldr r1, [pc, #492] ; (8084d48 ) 8084b5c: 4603 mov r3, r0 8084b5e: 005b lsls r3, r3, #1 8084b60: 4403 add r3, r0 8084b62: 005b lsls r3, r3, #1 8084b64: 4413 add r3, r2 8084b66: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8084b6a: 461a mov r2, r3 8084b6c: 214a movs r1, #74 ; 0x4a 8084b6e: f44f 7082 mov.w r0, #260 ; 0x104 8084b72: f7cf fbf7 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8084b76: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8084b7a: 461a mov r2, r3 8084b7c: 215a movs r1, #90 ; 0x5a 8084b7e: f44f 7082 mov.w r0, #260 ; 0x104 8084b82: f7cf fbef bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8084b86: f507 73cc add.w r3, r7, #408 ; 0x198 8084b8a: 461a mov r2, r3 8084b8c: 216a movs r1, #106 ; 0x6a 8084b8e: f44f 7082 mov.w r0, #260 ; 0x104 8084b92: f7cf fbe7 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8084b96: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8084b9a: 461a mov r2, r3 8084b9c: 217a movs r1, #122 ; 0x7a 8084b9e: f44f 7082 mov.w r0, #260 ; 0x104 8084ba2: f7cf fbdf bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8084ba6: 4b66 ldr r3, [pc, #408] ; (8084d40 ) 8084ba8: 7b1b ldrb r3, [r3, #12] 8084baa: b2db uxtb r3, r3 8084bac: 4618 mov r0, r3 8084bae: 4b64 ldr r3, [pc, #400] ; (8084d40 ) 8084bb0: 7a9b ldrb r3, [r3, #10] 8084bb2: b2db uxtb r3, r3 8084bb4: 4619 mov r1, r3 8084bb6: 4a65 ldr r2, [pc, #404] ; (8084d4c ) 8084bb8: 0043 lsls r3, r0, #1 8084bba: 440b add r3, r1 8084bbc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084bc0: 461a mov r2, r3 8084bc2: 218a movs r1, #138 ; 0x8a 8084bc4: f44f 7082 mov.w r0, #260 ; 0x104 8084bc8: f7cf fbcc bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8084bcc: 4b5c ldr r3, [pc, #368] ; (8084d40 ) 8084bce: 7b1b ldrb r3, [r3, #12] 8084bd0: b2db uxtb r3, r3 8084bd2: 4619 mov r1, r3 8084bd4: 4b5a ldr r3, [pc, #360] ; (8084d40 ) 8084bd6: 7a5b ldrb r3, [r3, #9] 8084bd8: b2db uxtb r3, r3 8084bda: 4618 mov r0, r3 8084bdc: 4a5c ldr r2, [pc, #368] ; (8084d50 ) 8084bde: 460b mov r3, r1 8084be0: 009b lsls r3, r3, #2 8084be2: 440b add r3, r1 8084be4: 4403 add r3, r0 8084be6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084bea: 461a mov r2, r3 8084bec: 219a movs r1, #154 ; 0x9a 8084bee: f44f 7082 mov.w r0, #260 ; 0x104 8084bf2: f7cf fbb7 bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8084bf6: 4b52 ldr r3, [pc, #328] ; (8084d40 ) 8084bf8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084bfc: f003 0304 and.w r3, r3, #4 8084c00: 2b00 cmp r3, #0 8084c02: d033 beq.n 8084c6c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8084c04: 4953 ldr r1, [pc, #332] ; (8084d54 ) 8084c06: 4854 ldr r0, [pc, #336] ; (8084d58 ) 8084c08: f7ce fdec bl 80537e4 if(pardata.IIN != VOLTS) 8084c0c: 4b4c ldr r3, [pc, #304] ; (8084d40 ) 8084c0e: 799b ldrb r3, [r3, #6] 8084c10: b2db uxtb r3, r3 8084c12: 2b02 cmp r3, #2 8084c14: d010 beq.n 8084c38 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084c16: 4b4a ldr r3, [pc, #296] ; (8084d40 ) 8084c18: 7b1b ldrb r3, [r3, #12] 8084c1a: b2db uxtb r3, r3 8084c1c: 4619 mov r1, r3 8084c1e: 4a4f ldr r2, [pc, #316] ; (8084d5c ) 8084c20: 232c movs r3, #44 ; 0x2c 8084c22: fb03 f301 mul.w r3, r3, r1 8084c26: 4413 add r3, r2 8084c28: 3324 adds r3, #36 ; 0x24 8084c2a: 681b ldr r3, [r3, #0] 8084c2c: 461a mov r2, r3 8084c2e: 21ca movs r1, #202 ; 0xca 8084c30: 200a movs r0, #10 8084c32: f7cf fb7f bl 8054334 8084c36: e00f b.n 8084c58 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084c38: 4b41 ldr r3, [pc, #260] ; (8084d40 ) 8084c3a: 7b1b ldrb r3, [r3, #12] 8084c3c: b2db uxtb r3, r3 8084c3e: 4619 mov r1, r3 8084c40: 4a47 ldr r2, [pc, #284] ; (8084d60 ) 8084c42: 232c movs r3, #44 ; 0x2c 8084c44: fb03 f301 mul.w r3, r3, r1 8084c48: 4413 add r3, r2 8084c4a: 3324 adds r3, #36 ; 0x24 8084c4c: 681b ldr r3, [r3, #0] 8084c4e: 461a mov r2, r3 8084c50: 21ca movs r1, #202 ; 0xca 8084c52: 200a movs r0, #10 8084c54: f7cf fb6e bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 8084c58: f507 733b add.w r3, r7, #748 ; 0x2ec 8084c5c: 461a mov r2, r3 8084c5e: 21ca movs r1, #202 ; 0xca 8084c60: f44f 7082 mov.w r0, #260 ; 0x104 8084c64: f7cf fb7e bl 8054364 8084c68: f001 bbd0 b.w 808640c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084c6c: 4939 ldr r1, [pc, #228] ; (8084d54 ) 8084c6e: f04f 30ff mov.w r0, #4294967295 8084c72: f7ce fdb7 bl 80537e4 if(pardata.IIN != VOLTS) 8084c76: 4b32 ldr r3, [pc, #200] ; (8084d40 ) 8084c78: 799b ldrb r3, [r3, #6] 8084c7a: b2db uxtb r3, r3 8084c7c: 2b02 cmp r3, #2 8084c7e: d010 beq.n 8084ca2 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084c80: 4b2f ldr r3, [pc, #188] ; (8084d40 ) 8084c82: 7b1b ldrb r3, [r3, #12] 8084c84: b2db uxtb r3, r3 8084c86: 4619 mov r1, r3 8084c88: 4a34 ldr r2, [pc, #208] ; (8084d5c ) 8084c8a: 232c movs r3, #44 ; 0x2c 8084c8c: fb03 f301 mul.w r3, r3, r1 8084c90: 4413 add r3, r2 8084c92: 3324 adds r3, #36 ; 0x24 8084c94: 681b ldr r3, [r3, #0] 8084c96: 461a mov r2, r3 8084c98: 21ca movs r1, #202 ; 0xca 8084c9a: 200a movs r0, #10 8084c9c: f7cf fb4a bl 8054334 8084ca0: e00f b.n 8084cc2 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084ca2: 4b27 ldr r3, [pc, #156] ; (8084d40 ) 8084ca4: 7b1b ldrb r3, [r3, #12] 8084ca6: b2db uxtb r3, r3 8084ca8: 4619 mov r1, r3 8084caa: 4a2d ldr r2, [pc, #180] ; (8084d60 ) 8084cac: 232c movs r3, #44 ; 0x2c 8084cae: fb03 f301 mul.w r3, r3, r1 8084cb2: 4413 add r3, r2 8084cb4: 3324 adds r3, #36 ; 0x24 8084cb6: 681b ldr r3, [r3, #0] 8084cb8: 461a mov r2, r3 8084cba: 21ca movs r1, #202 ; 0xca 8084cbc: 200a movs r0, #10 8084cbe: f7cf fb39 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084cc2: 4924 ldr r1, [pc, #144] ; (8084d54 ) 8084cc4: 4827 ldr r0, [pc, #156] ; (8084d64 ) 8084cc6: f7ce fd8d bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 8084cca: f507 733b add.w r3, r7, #748 ; 0x2ec 8084cce: 461a mov r2, r3 8084cd0: 21ca movs r1, #202 ; 0xca 8084cd2: f44f 7082 mov.w r0, #260 ; 0x104 8084cd6: f7cf fb45 bl 8054364 8084cda: f001 bb97 b.w 808640c if(menupos == VibAutoKu) 8084cde: 4b22 ldr r3, [pc, #136] ; (8084d68 ) 8084ce0: 781b ldrb r3, [r3, #0] 8084ce2: b2db uxtb r3, r3 8084ce4: 2b08 cmp r3, #8 8084ce6: f040 8147 bne.w 8084f78 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084cea: 491a ldr r1, [pc, #104] ; (8084d54 ) 8084cec: f04f 30ff mov.w r0, #4294967295 8084cf0: f7ce fd78 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8084cf4: 4b12 ldr r3, [pc, #72] ; (8084d40 ) 8084cf6: 7b1b ldrb r3, [r3, #12] 8084cf8: b2db uxtb r3, r3 8084cfa: 461a mov r2, r3 8084cfc: 4b1b ldr r3, [pc, #108] ; (8084d6c ) 8084cfe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084d02: 461a mov r2, r3 8084d04: 2127 movs r1, #39 ; 0x27 8084d06: 200a movs r0, #10 8084d08: f7cf fb14 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084d0c: 4911 ldr r1, [pc, #68] ; (8084d54 ) 8084d0e: 4815 ldr r0, [pc, #84] ; (8084d64 ) 8084d10: f7ce fd68 bl 80537e4 if((pardata.OPTIONS & maskFFT) == fft) 8084d14: 4b0a ldr r3, [pc, #40] ; (8084d40 ) 8084d16: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084d1a: f003 0330 and.w r3, r3, #48 ; 0x30 8084d1e: 2b00 cmp r3, #0 8084d20: d126 bne.n 8084d70 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8084d22: 4b07 ldr r3, [pc, #28] ; (8084d40 ) 8084d24: 7b1b ldrb r3, [r3, #12] 8084d26: b2db uxtb r3, r3 8084d28: 4a06 ldr r2, [pc, #24] ; (8084d44 ) 8084d2a: 011b lsls r3, r3, #4 8084d2c: 4413 add r3, r2 8084d2e: 681b ldr r3, [r3, #0] 8084d30: 461a mov r2, r3 8084d32: 213a movs r1, #58 ; 0x3a 8084d34: f44f 7082 mov.w r0, #260 ; 0x104 8084d38: f7cf fb14 bl 8054364 8084d3c: e026 b.n 8084d8c 8084d3e: bf00 nop 8084d40: 20023e60 .word 0x20023e60 8084d44: 2002029c .word 0x2002029c 8084d48: 2002019c .word 0x2002019c 8084d4c: 20020214 .word 0x20020214 8084d50: 200201ec .word 0x200201ec 8084d54: ff0a0f1f .word 0xff0a0f1f 8084d58: ff808080 .word 0xff808080 8084d5c: 200206b4 .word 0x200206b4 8084d60: 2002070c .word 0x2002070c 8084d64: ffd8aa57 .word 0xffd8aa57 8084d68: 20020070 .word 0x20020070 8084d6c: 200205c4 .word 0x200205c4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 8084d70: 4b99 ldr r3, [pc, #612] ; (8084fd8 ) 8084d72: 7b1b ldrb r3, [r3, #12] 8084d74: b2db uxtb r3, r3 8084d76: 4a99 ldr r2, [pc, #612] ; (8084fdc ) 8084d78: 011b lsls r3, r3, #4 8084d7a: 4413 add r3, r2 8084d7c: 3304 adds r3, #4 8084d7e: 681b ldr r3, [r3, #0] 8084d80: 461a mov r2, r3 8084d82: 213a movs r1, #58 ; 0x3a 8084d84: f44f 7082 mov.w r0, #260 ; 0x104 8084d88: f7cf faec bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8084d8c: 4b92 ldr r3, [pc, #584] ; (8084fd8 ) 8084d8e: 7b1b ldrb r3, [r3, #12] 8084d90: b2db uxtb r3, r3 8084d92: 4618 mov r0, r3 8084d94: 4b90 ldr r3, [pc, #576] ; (8084fd8 ) 8084d96: 785b ldrb r3, [r3, #1] 8084d98: b2db uxtb r3, r3 8084d9a: 005b lsls r3, r3, #1 8084d9c: 4a8e ldr r2, [pc, #568] ; (8084fd8 ) 8084d9e: 7852 ldrb r2, [r2, #1] 8084da0: b2d2 uxtb r2, r2 8084da2: 4611 mov r1, r2 8084da4: 4a8c ldr r2, [pc, #560] ; (8084fd8 ) 8084da6: 440a add r2, r1 8084da8: 7892 ldrb r2, [r2, #2] 8084daa: b2d2 uxtb r2, r2 8084dac: 431a orrs r2, r3 8084dae: 498c ldr r1, [pc, #560] ; (8084fe0 ) 8084db0: 4603 mov r3, r0 8084db2: 005b lsls r3, r3, #1 8084db4: 4403 add r3, r0 8084db6: 005b lsls r3, r3, #1 8084db8: 4413 add r3, r2 8084dba: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8084dbe: 461a mov r2, r3 8084dc0: 214a movs r1, #74 ; 0x4a 8084dc2: f44f 7082 mov.w r0, #260 ; 0x104 8084dc6: f7cf facd bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8084dca: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8084dce: 461a mov r2, r3 8084dd0: 215a movs r1, #90 ; 0x5a 8084dd2: f44f 7082 mov.w r0, #260 ; 0x104 8084dd6: f7cf fac5 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8084dda: f507 73cc add.w r3, r7, #408 ; 0x198 8084dde: 461a mov r2, r3 8084de0: 216a movs r1, #106 ; 0x6a 8084de2: f44f 7082 mov.w r0, #260 ; 0x104 8084de6: f7cf fabd bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8084dea: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8084dee: 461a mov r2, r3 8084df0: 217a movs r1, #122 ; 0x7a 8084df2: f44f 7082 mov.w r0, #260 ; 0x104 8084df6: f7cf fab5 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8084dfa: 4b77 ldr r3, [pc, #476] ; (8084fd8 ) 8084dfc: 7b1b ldrb r3, [r3, #12] 8084dfe: b2db uxtb r3, r3 8084e00: 4618 mov r0, r3 8084e02: 4b75 ldr r3, [pc, #468] ; (8084fd8 ) 8084e04: 7a9b ldrb r3, [r3, #10] 8084e06: b2db uxtb r3, r3 8084e08: 4619 mov r1, r3 8084e0a: 4a76 ldr r2, [pc, #472] ; (8084fe4 ) 8084e0c: 0043 lsls r3, r0, #1 8084e0e: 440b add r3, r1 8084e10: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084e14: 461a mov r2, r3 8084e16: 218a movs r1, #138 ; 0x8a 8084e18: f44f 7082 mov.w r0, #260 ; 0x104 8084e1c: f7cf faa2 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8084e20: 4b6d ldr r3, [pc, #436] ; (8084fd8 ) 8084e22: 7b1b ldrb r3, [r3, #12] 8084e24: b2db uxtb r3, r3 8084e26: 4619 mov r1, r3 8084e28: 4b6b ldr r3, [pc, #428] ; (8084fd8 ) 8084e2a: 7a5b ldrb r3, [r3, #9] 8084e2c: b2db uxtb r3, r3 8084e2e: 4618 mov r0, r3 8084e30: 4a6d ldr r2, [pc, #436] ; (8084fe8 ) 8084e32: 460b mov r3, r1 8084e34: 009b lsls r3, r3, #2 8084e36: 440b add r3, r1 8084e38: 4403 add r3, r0 8084e3a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8084e3e: 461a mov r2, r3 8084e40: 219a movs r1, #154 ; 0x9a 8084e42: f44f 7082 mov.w r0, #260 ; 0x104 8084e46: f7cf fa8d bl 8054364 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8084e4a: 4b63 ldr r3, [pc, #396] ; (8084fd8 ) 8084e4c: 7b5b ldrb r3, [r3, #13] 8084e4e: b2db uxtb r3, r3 8084e50: 461a mov r2, r3 8084e52: 4b66 ldr r3, [pc, #408] ; (8084fec ) 8084e54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084e58: 461a mov r2, r3 8084e5a: 21aa movs r1, #170 ; 0xaa 8084e5c: f44f 7082 mov.w r0, #260 ; 0x104 8084e60: f7cf fa80 bl 8054364 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8084e64: 4962 ldr r1, [pc, #392] ; (8084ff0 ) 8084e66: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8084e6a: f7ce fcbb bl 80537e4 BSP_LCD_FillRect(253, 187, 14, 14); 8084e6e: 230e movs r3, #14 8084e70: 220e movs r2, #14 8084e72: 21bb movs r1, #187 ; 0xbb 8084e74: 20fd movs r0, #253 ; 0xfd 8084e76: f7cf f943 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084e7a: 495d ldr r1, [pc, #372] ; (8084ff0 ) 8084e7c: f04f 30ff mov.w r0, #4294967295 8084e80: f7ce fcb0 bl 80537e4 BSP_LCD_FillRect(255, 189, 10, 10); 8084e84: 230a movs r3, #10 8084e86: 220a movs r2, #10 8084e88: 21bd movs r1, #189 ; 0xbd 8084e8a: 20ff movs r0, #255 ; 0xff 8084e8c: f7cf f938 bl 8054100 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8084e90: 4b51 ldr r3, [pc, #324] ; (8084fd8 ) 8084e92: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084e96: f003 0304 and.w r3, r3, #4 8084e9a: 2b00 cmp r3, #0 8084e9c: d033 beq.n 8084f06 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8084e9e: 4954 ldr r1, [pc, #336] ; (8084ff0 ) 8084ea0: 4854 ldr r0, [pc, #336] ; (8084ff4 ) 8084ea2: f7ce fc9f bl 80537e4 if(pardata.IIN != VOLTS) 8084ea6: 4b4c ldr r3, [pc, #304] ; (8084fd8 ) 8084ea8: 799b ldrb r3, [r3, #6] 8084eaa: b2db uxtb r3, r3 8084eac: 2b02 cmp r3, #2 8084eae: d010 beq.n 8084ed2 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084eb0: 4b49 ldr r3, [pc, #292] ; (8084fd8 ) 8084eb2: 7b1b ldrb r3, [r3, #12] 8084eb4: b2db uxtb r3, r3 8084eb6: 4619 mov r1, r3 8084eb8: 4a4f ldr r2, [pc, #316] ; (8084ff8 ) 8084eba: 232c movs r3, #44 ; 0x2c 8084ebc: fb03 f301 mul.w r3, r3, r1 8084ec0: 4413 add r3, r2 8084ec2: 3324 adds r3, #36 ; 0x24 8084ec4: 681b ldr r3, [r3, #0] 8084ec6: 461a mov r2, r3 8084ec8: 21ca movs r1, #202 ; 0xca 8084eca: 200a movs r0, #10 8084ecc: f7cf fa32 bl 8054334 8084ed0: e00f b.n 8084ef2 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084ed2: 4b41 ldr r3, [pc, #260] ; (8084fd8 ) 8084ed4: 7b1b ldrb r3, [r3, #12] 8084ed6: b2db uxtb r3, r3 8084ed8: 4619 mov r1, r3 8084eda: 4a48 ldr r2, [pc, #288] ; (8084ffc ) 8084edc: 232c movs r3, #44 ; 0x2c 8084ede: fb03 f301 mul.w r3, r3, r1 8084ee2: 4413 add r3, r2 8084ee4: 3324 adds r3, #36 ; 0x24 8084ee6: 681b ldr r3, [r3, #0] 8084ee8: 461a mov r2, r3 8084eea: 21ca movs r1, #202 ; 0xca 8084eec: 200a movs r0, #10 8084eee: f7cf fa21 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 8084ef2: f507 733b add.w r3, r7, #748 ; 0x2ec 8084ef6: 461a mov r2, r3 8084ef8: 21ca movs r1, #202 ; 0xca 8084efa: f44f 7082 mov.w r0, #260 ; 0x104 8084efe: f7cf fa31 bl 8054364 8084f02: f001 ba83 b.w 808640c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084f06: 493a ldr r1, [pc, #232] ; (8084ff0 ) 8084f08: f04f 30ff mov.w r0, #4294967295 8084f0c: f7ce fc6a bl 80537e4 if(pardata.IIN != VOLTS) 8084f10: 4b31 ldr r3, [pc, #196] ; (8084fd8 ) 8084f12: 799b ldrb r3, [r3, #6] 8084f14: b2db uxtb r3, r3 8084f16: 2b02 cmp r3, #2 8084f18: d010 beq.n 8084f3c LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084f1a: 4b2f ldr r3, [pc, #188] ; (8084fd8 ) 8084f1c: 7b1b ldrb r3, [r3, #12] 8084f1e: b2db uxtb r3, r3 8084f20: 4619 mov r1, r3 8084f22: 4a35 ldr r2, [pc, #212] ; (8084ff8 ) 8084f24: 232c movs r3, #44 ; 0x2c 8084f26: fb03 f301 mul.w r3, r3, r1 8084f2a: 4413 add r3, r2 8084f2c: 3324 adds r3, #36 ; 0x24 8084f2e: 681b ldr r3, [r3, #0] 8084f30: 461a mov r2, r3 8084f32: 21ca movs r1, #202 ; 0xca 8084f34: 200a movs r0, #10 8084f36: f7cf f9fd bl 8054334 8084f3a: e00f b.n 8084f5c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8084f3c: 4b26 ldr r3, [pc, #152] ; (8084fd8 ) 8084f3e: 7b1b ldrb r3, [r3, #12] 8084f40: b2db uxtb r3, r3 8084f42: 4619 mov r1, r3 8084f44: 4a2d ldr r2, [pc, #180] ; (8084ffc ) 8084f46: 232c movs r3, #44 ; 0x2c 8084f48: fb03 f301 mul.w r3, r3, r1 8084f4c: 4413 add r3, r2 8084f4e: 3324 adds r3, #36 ; 0x24 8084f50: 681b ldr r3, [r3, #0] 8084f52: 461a mov r2, r3 8084f54: 21ca movs r1, #202 ; 0xca 8084f56: 200a movs r0, #10 8084f58: f7cf f9ec bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084f5c: 4924 ldr r1, [pc, #144] ; (8084ff0 ) 8084f5e: 4828 ldr r0, [pc, #160] ; (8085000 ) 8084f60: f7ce fc40 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 8084f64: f507 733b add.w r3, r7, #748 ; 0x2ec 8084f68: 461a mov r2, r3 8084f6a: 21ca movs r1, #202 ; 0xca 8084f6c: f44f 7082 mov.w r0, #260 ; 0x104 8084f70: f7cf f9f8 bl 8054364 8084f74: f001 ba4a b.w 808640c if(menupos == VibMax_ALL) 8084f78: 4b22 ldr r3, [pc, #136] ; (8085004 ) 8084f7a: 781b ldrb r3, [r3, #0] 8084f7c: b2db uxtb r3, r3 8084f7e: 2b09 cmp r3, #9 8084f80: f040 80f9 bne.w 8085176 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8084f84: 491a ldr r1, [pc, #104] ; (8084ff0 ) 8084f86: f04f 30ff mov.w r0, #4294967295 8084f8a: f7ce fc2b bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8084f8e: 4b12 ldr r3, [pc, #72] ; (8084fd8 ) 8084f90: 7b1b ldrb r3, [r3, #12] 8084f92: b2db uxtb r3, r3 8084f94: 461a mov r2, r3 8084f96: 4b1c ldr r3, [pc, #112] ; (8085008 ) 8084f98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8084f9c: 461a mov r2, r3 8084f9e: 2127 movs r1, #39 ; 0x27 8084fa0: 200a movs r0, #10 8084fa2: f7cf f9c7 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8084fa6: 4912 ldr r1, [pc, #72] ; (8084ff0 ) 8084fa8: 4815 ldr r0, [pc, #84] ; (8085000 ) 8084faa: f7ce fc1b bl 80537e4 if((pardata.OPTIONS & maskFFT) == fft) 8084fae: 4b0a ldr r3, [pc, #40] ; (8084fd8 ) 8084fb0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8084fb4: f003 0330 and.w r3, r3, #48 ; 0x30 8084fb8: 2b00 cmp r3, #0 8084fba: d127 bne.n 808500c LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 8084fbc: 4b06 ldr r3, [pc, #24] ; (8084fd8 ) 8084fbe: 7b1b ldrb r3, [r3, #12] 8084fc0: b2db uxtb r3, r3 8084fc2: 4a06 ldr r2, [pc, #24] ; (8084fdc ) 8084fc4: 011b lsls r3, r3, #4 8084fc6: 4413 add r3, r2 8084fc8: 681b ldr r3, [r3, #0] 8084fca: 461a mov r2, r3 8084fcc: 213a movs r1, #58 ; 0x3a 8084fce: f44f 7082 mov.w r0, #260 ; 0x104 8084fd2: f7cf f9c7 bl 8054364 8084fd6: e027 b.n 8085028 8084fd8: 20023e60 .word 0x20023e60 8084fdc: 2002029c .word 0x2002029c 8084fe0: 2002019c .word 0x2002019c 8084fe4: 20020214 .word 0x20020214 8084fe8: 200201ec .word 0x200201ec 8084fec: 20020224 .word 0x20020224 8084ff0: ff0a0f1f .word 0xff0a0f1f 8084ff4: ff808080 .word 0xff808080 8084ff8: 200206b4 .word 0x200206b4 8084ffc: 2002070c .word 0x2002070c 8085000: ffd8aa57 .word 0xffd8aa57 8085004: 20020070 .word 0x20020070 8085008: 200205c4 .word 0x200205c4 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 808500c: 4bc3 ldr r3, [pc, #780] ; (808531c ) 808500e: 7b1b ldrb r3, [r3, #12] 8085010: b2db uxtb r3, r3 8085012: 4ac3 ldr r2, [pc, #780] ; (8085320 ) 8085014: 011b lsls r3, r3, #4 8085016: 4413 add r3, r2 8085018: 3304 adds r3, #4 808501a: 681b ldr r3, [r3, #0] 808501c: 461a mov r2, r3 808501e: 213a movs r1, #58 ; 0x3a 8085020: f44f 7082 mov.w r0, #260 ; 0x104 8085024: f7cf f99e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8085028: 4bbc ldr r3, [pc, #752] ; (808531c ) 808502a: 7b1b ldrb r3, [r3, #12] 808502c: b2db uxtb r3, r3 808502e: 4618 mov r0, r3 8085030: 4bba ldr r3, [pc, #744] ; (808531c ) 8085032: 785b ldrb r3, [r3, #1] 8085034: b2db uxtb r3, r3 8085036: 005b lsls r3, r3, #1 8085038: 4ab8 ldr r2, [pc, #736] ; (808531c ) 808503a: 7852 ldrb r2, [r2, #1] 808503c: b2d2 uxtb r2, r2 808503e: 4611 mov r1, r2 8085040: 4ab6 ldr r2, [pc, #728] ; (808531c ) 8085042: 440a add r2, r1 8085044: 7892 ldrb r2, [r2, #2] 8085046: b2d2 uxtb r2, r2 8085048: 431a orrs r2, r3 808504a: 49b6 ldr r1, [pc, #728] ; (8085324 ) 808504c: 4603 mov r3, r0 808504e: 005b lsls r3, r3, #1 8085050: 4403 add r3, r0 8085052: 005b lsls r3, r3, #1 8085054: 4413 add r3, r2 8085056: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808505a: 461a mov r2, r3 808505c: 214a movs r1, #74 ; 0x4a 808505e: f44f 7082 mov.w r0, #260 ; 0x104 8085062: f7cf f97f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8085066: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808506a: 461a mov r2, r3 808506c: 215a movs r1, #90 ; 0x5a 808506e: f44f 7082 mov.w r0, #260 ; 0x104 8085072: f7cf f977 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8085076: f507 73cc add.w r3, r7, #408 ; 0x198 808507a: 461a mov r2, r3 808507c: 216a movs r1, #106 ; 0x6a 808507e: f44f 7082 mov.w r0, #260 ; 0x104 8085082: f7cf f96f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8085086: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808508a: 461a mov r2, r3 808508c: 217a movs r1, #122 ; 0x7a 808508e: f44f 7082 mov.w r0, #260 ; 0x104 8085092: f7cf f967 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8085096: 4ba1 ldr r3, [pc, #644] ; (808531c ) 8085098: 7b1b ldrb r3, [r3, #12] 808509a: b2db uxtb r3, r3 808509c: 4618 mov r0, r3 808509e: 4b9f ldr r3, [pc, #636] ; (808531c ) 80850a0: 7a9b ldrb r3, [r3, #10] 80850a2: b2db uxtb r3, r3 80850a4: 4619 mov r1, r3 80850a6: 4aa0 ldr r2, [pc, #640] ; (8085328 ) 80850a8: 0043 lsls r3, r0, #1 80850aa: 440b add r3, r1 80850ac: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80850b0: 461a mov r2, r3 80850b2: 218a movs r1, #138 ; 0x8a 80850b4: f44f 7082 mov.w r0, #260 ; 0x104 80850b8: f7cf f954 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 80850bc: 4b97 ldr r3, [pc, #604] ; (808531c ) 80850be: 7b1b ldrb r3, [r3, #12] 80850c0: b2db uxtb r3, r3 80850c2: 4619 mov r1, r3 80850c4: 4b95 ldr r3, [pc, #596] ; (808531c ) 80850c6: 7a5b ldrb r3, [r3, #9] 80850c8: b2db uxtb r3, r3 80850ca: 4618 mov r0, r3 80850cc: 4a97 ldr r2, [pc, #604] ; (808532c ) 80850ce: 460b mov r3, r1 80850d0: 009b lsls r3, r3, #2 80850d2: 440b add r3, r1 80850d4: 4403 add r3, r0 80850d6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80850da: 461a mov r2, r3 80850dc: 219a movs r1, #154 ; 0x9a 80850de: f44f 7082 mov.w r0, #260 ; 0x104 80850e2: f7cf f93f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 80850e6: 4b8d ldr r3, [pc, #564] ; (808531c ) 80850e8: 7b5b ldrb r3, [r3, #13] 80850ea: b2db uxtb r3, r3 80850ec: 461a mov r2, r3 80850ee: 4b90 ldr r3, [pc, #576] ; (8085330 ) 80850f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80850f4: 461a mov r2, r3 80850f6: 21aa movs r1, #170 ; 0xaa 80850f8: f44f 7082 mov.w r0, #260 ; 0x104 80850fc: f7cf f932 bl 8054364 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085100: 498c ldr r1, [pc, #560] ; (8085334 ) 8085102: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085106: f7ce fb6d bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 808510a: f507 733b add.w r3, r7, #748 ; 0x2ec 808510e: 461a mov r2, r3 8085110: 21ca movs r1, #202 ; 0xca 8085112: f44f 7082 mov.w r0, #260 ; 0x104 8085116: f7cf f925 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808511a: 4986 ldr r1, [pc, #536] ; (8085334 ) 808511c: f04f 30ff mov.w r0, #4294967295 8085120: f7ce fb60 bl 80537e4 if(pardata.IIN != VOLTS) 8085124: 4b7d ldr r3, [pc, #500] ; (808531c ) 8085126: 799b ldrb r3, [r3, #6] 8085128: b2db uxtb r3, r3 808512a: 2b02 cmp r3, #2 808512c: d011 beq.n 8085152 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808512e: 4b7b ldr r3, [pc, #492] ; (808531c ) 8085130: 7b1b ldrb r3, [r3, #12] 8085132: b2db uxtb r3, r3 8085134: 4619 mov r1, r3 8085136: 4a80 ldr r2, [pc, #512] ; (8085338 ) 8085138: 232c movs r3, #44 ; 0x2c 808513a: fb03 f301 mul.w r3, r3, r1 808513e: 4413 add r3, r2 8085140: 3324 adds r3, #36 ; 0x24 8085142: 681b ldr r3, [r3, #0] 8085144: 461a mov r2, r3 8085146: 21ca movs r1, #202 ; 0xca 8085148: 200a movs r0, #10 808514a: f7cf f8f3 bl 8054334 808514e: f001 b95d b.w 808640c else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085152: 4b72 ldr r3, [pc, #456] ; (808531c ) 8085154: 7b1b ldrb r3, [r3, #12] 8085156: b2db uxtb r3, r3 8085158: 4619 mov r1, r3 808515a: 4a78 ldr r2, [pc, #480] ; (808533c ) 808515c: 232c movs r3, #44 ; 0x2c 808515e: fb03 f301 mul.w r3, r3, r1 8085162: 4413 add r3, r2 8085164: 3324 adds r3, #36 ; 0x24 8085166: 681b ldr r3, [r3, #0] 8085168: 461a mov r2, r3 808516a: 21ca movs r1, #202 ; 0xca 808516c: 200a movs r0, #10 808516e: f7cf f8e1 bl 8054334 8085172: f001 b94b b.w 808640c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085176: 496f ldr r1, [pc, #444] ; (8085334 ) 8085178: f04f 30ff mov.w r0, #4294967295 808517c: f7ce fb32 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8085180: 4b66 ldr r3, [pc, #408] ; (808531c ) 8085182: 7b1b ldrb r3, [r3, #12] 8085184: b2db uxtb r3, r3 8085186: 461a mov r2, r3 8085188: 4b6d ldr r3, [pc, #436] ; (8085340 ) 808518a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808518e: 461a mov r2, r3 8085190: 2127 movs r1, #39 ; 0x27 8085192: 200a movs r0, #10 8085194: f7cf f8ce bl 8054334 if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 8085198: 4b6a ldr r3, [pc, #424] ; (8085344 ) 808519a: 781b ldrb r3, [r3, #0] 808519c: b2db uxtb r3, r3 808519e: 2b18 cmp r3, #24 80851a0: f240 8083 bls.w 80852aa 80851a4: 4b67 ldr r3, [pc, #412] ; (8085344 ) 80851a6: 781b ldrb r3, [r3, #0] 80851a8: b2db uxtb r3, r3 80851aa: 2b1e cmp r3, #30 80851ac: d87d bhi.n 80852aa LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80851ae: 4961 ldr r1, [pc, #388] ; (8085334 ) 80851b0: 4865 ldr r0, [pc, #404] ; (8085348 ) 80851b2: f7ce fb17 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80851b6: f507 73cc add.w r3, r7, #408 ; 0x198 80851ba: 461a mov r2, r3 80851bc: 216a movs r1, #106 ; 0x6a 80851be: f44f 7082 mov.w r0, #260 ; 0x104 80851c2: f7cf f8cf bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80851c6: 4b55 ldr r3, [pc, #340] ; (808531c ) 80851c8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80851cc: f003 0304 and.w r3, r3, #4 80851d0: 2b00 cmp r3, #0 80851d2: d032 beq.n 808523a LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80851d4: 4957 ldr r1, [pc, #348] ; (8085334 ) 80851d6: 485d ldr r0, [pc, #372] ; (808534c ) 80851d8: f7ce fb04 bl 80537e4 if(pardata.IIN != VOLTS) 80851dc: 4b4f ldr r3, [pc, #316] ; (808531c ) 80851de: 799b ldrb r3, [r3, #6] 80851e0: b2db uxtb r3, r3 80851e2: 2b02 cmp r3, #2 80851e4: d010 beq.n 8085208 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80851e6: 4b4d ldr r3, [pc, #308] ; (808531c ) 80851e8: 7b1b ldrb r3, [r3, #12] 80851ea: b2db uxtb r3, r3 80851ec: 4619 mov r1, r3 80851ee: 4a52 ldr r2, [pc, #328] ; (8085338 ) 80851f0: 232c movs r3, #44 ; 0x2c 80851f2: fb03 f301 mul.w r3, r3, r1 80851f6: 4413 add r3, r2 80851f8: 3324 adds r3, #36 ; 0x24 80851fa: 681b ldr r3, [r3, #0] 80851fc: 461a mov r2, r3 80851fe: 21ca movs r1, #202 ; 0xca 8085200: 200a movs r0, #10 8085202: f7cf f897 bl 8054334 8085206: e00f b.n 8085228 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085208: 4b44 ldr r3, [pc, #272] ; (808531c ) 808520a: 7b1b ldrb r3, [r3, #12] 808520c: b2db uxtb r3, r3 808520e: 4619 mov r1, r3 8085210: 4a4a ldr r2, [pc, #296] ; (808533c ) 8085212: 232c movs r3, #44 ; 0x2c 8085214: fb03 f301 mul.w r3, r3, r1 8085218: 4413 add r3, r2 808521a: 3324 adds r3, #36 ; 0x24 808521c: 681b ldr r3, [r3, #0] 808521e: 461a mov r2, r3 8085220: 21ca movs r1, #202 ; 0xca 8085222: 200a movs r0, #10 8085224: f7cf f886 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 8085228: f507 733b add.w r3, r7, #748 ; 0x2ec 808522c: 461a mov r2, r3 808522e: 21ca movs r1, #202 ; 0xca 8085230: f44f 7082 mov.w r0, #260 ; 0x104 8085234: f7cf f896 bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8085238: e124 b.n 8085484 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808523a: 493e ldr r1, [pc, #248] ; (8085334 ) 808523c: f04f 30ff mov.w r0, #4294967295 8085240: f7ce fad0 bl 80537e4 if(pardata.IIN != VOLTS) 8085244: 4b35 ldr r3, [pc, #212] ; (808531c ) 8085246: 799b ldrb r3, [r3, #6] 8085248: b2db uxtb r3, r3 808524a: 2b02 cmp r3, #2 808524c: d010 beq.n 8085270 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808524e: 4b33 ldr r3, [pc, #204] ; (808531c ) 8085250: 7b1b ldrb r3, [r3, #12] 8085252: b2db uxtb r3, r3 8085254: 4619 mov r1, r3 8085256: 4a38 ldr r2, [pc, #224] ; (8085338 ) 8085258: 232c movs r3, #44 ; 0x2c 808525a: fb03 f301 mul.w r3, r3, r1 808525e: 4413 add r3, r2 8085260: 3324 adds r3, #36 ; 0x24 8085262: 681b ldr r3, [r3, #0] 8085264: 461a mov r2, r3 8085266: 21ca movs r1, #202 ; 0xca 8085268: 200a movs r0, #10 808526a: f7cf f863 bl 8054334 808526e: e00f b.n 8085290 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085270: 4b2a ldr r3, [pc, #168] ; (808531c ) 8085272: 7b1b ldrb r3, [r3, #12] 8085274: b2db uxtb r3, r3 8085276: 4619 mov r1, r3 8085278: 4a30 ldr r2, [pc, #192] ; (808533c ) 808527a: 232c movs r3, #44 ; 0x2c 808527c: fb03 f301 mul.w r3, r3, r1 8085280: 4413 add r3, r2 8085282: 3324 adds r3, #36 ; 0x24 8085284: 681b ldr r3, [r3, #0] 8085286: 461a mov r2, r3 8085288: 21ca movs r1, #202 ; 0xca 808528a: 200a movs r0, #10 808528c: f7cf f852 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085290: 4928 ldr r1, [pc, #160] ; (8085334 ) 8085292: 482d ldr r0, [pc, #180] ; (8085348 ) 8085294: f7ce faa6 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 8085298: f507 733b add.w r3, r7, #748 ; 0x2ec 808529c: 461a mov r2, r3 808529e: 21ca movs r1, #202 ; 0xca 80852a0: f44f 7082 mov.w r0, #260 ; 0x104 80852a4: f7cf f85e bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80852a8: e0ec b.n 8085484 if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 80852aa: 4b26 ldr r3, [pc, #152] ; (8085344 ) 80852ac: 781b ldrb r3, [r3, #0] 80852ae: b2db uxtb r3, r3 80852b0: 2b1e cmp r3, #30 80852b2: f240 809e bls.w 80853f2 80852b6: 4b23 ldr r3, [pc, #140] ; (8085344 ) 80852b8: 781b ldrb r3, [r3, #0] 80852ba: b2db uxtb r3, r3 80852bc: 2b24 cmp r3, #36 ; 0x24 80852be: f200 8098 bhi.w 80853f2 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80852c2: 491c ldr r1, [pc, #112] ; (8085334 ) 80852c4: 4820 ldr r0, [pc, #128] ; (8085348 ) 80852c6: f7ce fa8d bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80852ca: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80852ce: 461a mov r2, r3 80852d0: 215a movs r1, #90 ; 0x5a 80852d2: f44f 7082 mov.w r0, #260 ; 0x104 80852d6: f7cf f845 bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80852da: 4b10 ldr r3, [pc, #64] ; (808531c ) 80852dc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80852e0: f003 0304 and.w r3, r3, #4 80852e4: 2b00 cmp r3, #0 80852e6: d04c beq.n 8085382 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80852e8: 4912 ldr r1, [pc, #72] ; (8085334 ) 80852ea: 4818 ldr r0, [pc, #96] ; (808534c ) 80852ec: f7ce fa7a bl 80537e4 if(pardata.IIN != VOLTS) 80852f0: 4b0a ldr r3, [pc, #40] ; (808531c ) 80852f2: 799b ldrb r3, [r3, #6] 80852f4: b2db uxtb r3, r3 80852f6: 2b02 cmp r3, #2 80852f8: d02a beq.n 8085350 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80852fa: 4b08 ldr r3, [pc, #32] ; (808531c ) 80852fc: 7b1b ldrb r3, [r3, #12] 80852fe: b2db uxtb r3, r3 8085300: 4619 mov r1, r3 8085302: 4a0d ldr r2, [pc, #52] ; (8085338 ) 8085304: 232c movs r3, #44 ; 0x2c 8085306: fb03 f301 mul.w r3, r3, r1 808530a: 4413 add r3, r2 808530c: 3324 adds r3, #36 ; 0x24 808530e: 681b ldr r3, [r3, #0] 8085310: 461a mov r2, r3 8085312: 21ca movs r1, #202 ; 0xca 8085314: 200a movs r0, #10 8085316: f7cf f80d bl 8054334 808531a: e029 b.n 8085370 808531c: 20023e60 .word 0x20023e60 8085320: 2002029c .word 0x2002029c 8085324: 2002019c .word 0x2002019c 8085328: 20020214 .word 0x20020214 808532c: 200201ec .word 0x200201ec 8085330: 20020224 .word 0x20020224 8085334: ff0a0f1f .word 0xff0a0f1f 8085338: 200206b4 .word 0x200206b4 808533c: 2002070c .word 0x2002070c 8085340: 200205c4 .word 0x200205c4 8085344: 20020070 .word 0x20020070 8085348: ffd8aa57 .word 0xffd8aa57 808534c: ff808080 .word 0xff808080 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085350: 4bbf ldr r3, [pc, #764] ; (8085650 ) 8085352: 7b1b ldrb r3, [r3, #12] 8085354: b2db uxtb r3, r3 8085356: 4619 mov r1, r3 8085358: 4abe ldr r2, [pc, #760] ; (8085654 ) 808535a: 232c movs r3, #44 ; 0x2c 808535c: fb03 f301 mul.w r3, r3, r1 8085360: 4413 add r3, r2 8085362: 3324 adds r3, #36 ; 0x24 8085364: 681b ldr r3, [r3, #0] 8085366: 461a mov r2, r3 8085368: 21ca movs r1, #202 ; 0xca 808536a: 200a movs r0, #10 808536c: f7ce ffe2 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_12, str); 8085370: f507 733b add.w r3, r7, #748 ; 0x2ec 8085374: 461a mov r2, r3 8085376: 21ca movs r1, #202 ; 0xca 8085378: f44f 7082 mov.w r0, #260 ; 0x104 808537c: f7ce fff2 bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8085380: e080 b.n 8085484 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8085382: 49b5 ldr r1, [pc, #724] ; (8085658 ) 8085384: f04f 30ff mov.w r0, #4294967295 8085388: f7ce fa2c bl 80537e4 if(pardata.IIN != VOLTS) 808538c: 4bb0 ldr r3, [pc, #704] ; (8085650 ) 808538e: 799b ldrb r3, [r3, #6] 8085390: b2db uxtb r3, r3 8085392: 2b02 cmp r3, #2 8085394: d010 beq.n 80853b8 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085396: 4bae ldr r3, [pc, #696] ; (8085650 ) 8085398: 7b1b ldrb r3, [r3, #12] 808539a: b2db uxtb r3, r3 808539c: 4619 mov r1, r3 808539e: 4aaf ldr r2, [pc, #700] ; (808565c ) 80853a0: 232c movs r3, #44 ; 0x2c 80853a2: fb03 f301 mul.w r3, r3, r1 80853a6: 4413 add r3, r2 80853a8: 3324 adds r3, #36 ; 0x24 80853aa: 681b ldr r3, [r3, #0] 80853ac: 461a mov r2, r3 80853ae: 21ca movs r1, #202 ; 0xca 80853b0: 200a movs r0, #10 80853b2: f7ce ffbf bl 8054334 80853b6: e00f b.n 80853d8 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80853b8: 4ba5 ldr r3, [pc, #660] ; (8085650 ) 80853ba: 7b1b ldrb r3, [r3, #12] 80853bc: b2db uxtb r3, r3 80853be: 4619 mov r1, r3 80853c0: 4aa4 ldr r2, [pc, #656] ; (8085654 ) 80853c2: 232c movs r3, #44 ; 0x2c 80853c4: fb03 f301 mul.w r3, r3, r1 80853c8: 4413 add r3, r2 80853ca: 3324 adds r3, #36 ; 0x24 80853cc: 681b ldr r3, [r3, #0] 80853ce: 461a mov r2, r3 80853d0: 21ca movs r1, #202 ; 0xca 80853d2: 200a movs r0, #10 80853d4: f7ce ffae bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80853d8: 499f ldr r1, [pc, #636] ; (8085658 ) 80853da: 48a1 ldr r0, [pc, #644] ; (8085660 ) 80853dc: f7ce fa02 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, str); 80853e0: f507 733b add.w r3, r7, #748 ; 0x2ec 80853e4: 461a mov r2, r3 80853e6: 21ca movs r1, #202 ; 0xca 80853e8: f44f 7082 mov.w r0, #260 ; 0x104 80853ec: f7ce ffba bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80853f0: e048 b.n 8085484 if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 80853f2: 4b9c ldr r3, [pc, #624] ; (8085664 ) 80853f4: 781b ldrb r3, [r3, #0] 80853f6: b2db uxtb r3, r3 80853f8: 2b0a cmp r3, #10 80853fa: d943 bls.n 8085484 80853fc: 4b99 ldr r3, [pc, #612] ; (8085664 ) 80853fe: 781b ldrb r3, [r3, #0] 8085400: b2db uxtb r3, r3 8085402: 2b10 cmp r3, #16 8085404: d83e bhi.n 8085484 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085406: 4994 ldr r1, [pc, #592] ; (8085658 ) 8085408: 4895 ldr r0, [pc, #596] ; (8085660 ) 808540a: f7ce f9eb bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 808540e: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8085412: 461a mov r2, r3 8085414: 215a movs r1, #90 ; 0x5a 8085416: f44f 7082 mov.w r0, #260 ; 0x104 808541a: f7ce ffa3 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 808541e: f507 73cc add.w r3, r7, #408 ; 0x198 8085422: 461a mov r2, r3 8085424: 216a movs r1, #106 ; 0x6a 8085426: f44f 7082 mov.w r0, #260 ; 0x104 808542a: f7ce ff9b bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808542e: 498a ldr r1, [pc, #552] ; (8085658 ) 8085430: f04f 30ff mov.w r0, #4294967295 8085434: f7ce f9d6 bl 80537e4 if(pardata.IIN != VOLTS) 8085438: 4b85 ldr r3, [pc, #532] ; (8085650 ) 808543a: 799b ldrb r3, [r3, #6] 808543c: b2db uxtb r3, r3 808543e: 2b02 cmp r3, #2 8085440: d010 beq.n 8085464 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085442: 4b83 ldr r3, [pc, #524] ; (8085650 ) 8085444: 7b1b ldrb r3, [r3, #12] 8085446: b2db uxtb r3, r3 8085448: 4619 mov r1, r3 808544a: 4a84 ldr r2, [pc, #528] ; (808565c ) 808544c: 232c movs r3, #44 ; 0x2c 808544e: fb03 f301 mul.w r3, r3, r1 8085452: 4413 add r3, r2 8085454: 3324 adds r3, #36 ; 0x24 8085456: 681b ldr r3, [r3, #0] 8085458: 461a mov r2, r3 808545a: 21ca movs r1, #202 ; 0xca 808545c: 200a movs r0, #10 808545e: f7ce ff69 bl 8054334 8085462: e00f b.n 8085484 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8085464: 4b7a ldr r3, [pc, #488] ; (8085650 ) 8085466: 7b1b ldrb r3, [r3, #12] 8085468: b2db uxtb r3, r3 808546a: 4619 mov r1, r3 808546c: 4a79 ldr r2, [pc, #484] ; (8085654 ) 808546e: 232c movs r3, #44 ; 0x2c 8085470: fb03 f301 mul.w r3, r3, r1 8085474: 4413 add r3, r2 8085476: 3324 adds r3, #36 ; 0x24 8085478: 681b ldr r3, [r3, #0] 808547a: 461a mov r2, r3 808547c: 21ca movs r1, #202 ; 0xca 808547e: 200a movs r0, #10 8085480: f7ce ff58 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085484: 4974 ldr r1, [pc, #464] ; (8085658 ) 8085486: 4876 ldr r0, [pc, #472] ; (8085660 ) 8085488: f7ce f9ac bl 80537e4 if((pardata.OPTIONS & maskFFT) == fft) 808548c: 4b70 ldr r3, [pc, #448] ; (8085650 ) 808548e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8085492: f003 0330 and.w r3, r3, #48 ; 0x30 8085496: 2b00 cmp r3, #0 8085498: d10d bne.n 80854b6 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][0]); 808549a: 4b6d ldr r3, [pc, #436] ; (8085650 ) 808549c: 7b1b ldrb r3, [r3, #12] 808549e: b2db uxtb r3, r3 80854a0: 4a71 ldr r2, [pc, #452] ; (8085668 ) 80854a2: 011b lsls r3, r3, #4 80854a4: 4413 add r3, r2 80854a6: 681b ldr r3, [r3, #0] 80854a8: 461a mov r2, r3 80854aa: 213a movs r1, #58 ; 0x3a 80854ac: f44f 7082 mov.w r0, #260 ; 0x104 80854b0: f7ce ff58 bl 8054364 80854b4: e00d b.n 80854d2 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][1]); 80854b6: 4b66 ldr r3, [pc, #408] ; (8085650 ) 80854b8: 7b1b ldrb r3, [r3, #12] 80854ba: b2db uxtb r3, r3 80854bc: 4a6a ldr r2, [pc, #424] ; (8085668 ) 80854be: 011b lsls r3, r3, #4 80854c0: 4413 add r3, r2 80854c2: 3304 adds r3, #4 80854c4: 681b ldr r3, [r3, #0] 80854c6: 461a mov r2, r3 80854c8: 213a movs r1, #58 ; 0x3a 80854ca: f44f 7082 mov.w r0, #260 ; 0x104 80854ce: f7ce ff49 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80854d2: 4b5f ldr r3, [pc, #380] ; (8085650 ) 80854d4: 7b1b ldrb r3, [r3, #12] 80854d6: b2db uxtb r3, r3 80854d8: 4618 mov r0, r3 80854da: 4b5d ldr r3, [pc, #372] ; (8085650 ) 80854dc: 785b ldrb r3, [r3, #1] 80854de: b2db uxtb r3, r3 80854e0: 005b lsls r3, r3, #1 80854e2: 4a5b ldr r2, [pc, #364] ; (8085650 ) 80854e4: 7852 ldrb r2, [r2, #1] 80854e6: b2d2 uxtb r2, r2 80854e8: 4611 mov r1, r2 80854ea: 4a59 ldr r2, [pc, #356] ; (8085650 ) 80854ec: 440a add r2, r1 80854ee: 7892 ldrb r2, [r2, #2] 80854f0: b2d2 uxtb r2, r2 80854f2: 431a orrs r2, r3 80854f4: 495d ldr r1, [pc, #372] ; (808566c ) 80854f6: 4603 mov r3, r0 80854f8: 005b lsls r3, r3, #1 80854fa: 4403 add r3, r0 80854fc: 005b lsls r3, r3, #1 80854fe: 4413 add r3, r2 8085500: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8085504: 461a mov r2, r3 8085506: 214a movs r1, #74 ; 0x4a 8085508: f44f 7082 mov.w r0, #260 ; 0x104 808550c: f7ce ff2a bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8085510: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8085514: 461a mov r2, r3 8085516: 217a movs r1, #122 ; 0x7a 8085518: f44f 7082 mov.w r0, #260 ; 0x104 808551c: f7ce ff22 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pMSH[pardata.LANG][pardata.MSH]); 8085520: 4b4b ldr r3, [pc, #300] ; (8085650 ) 8085522: 7b1b ldrb r3, [r3, #12] 8085524: b2db uxtb r3, r3 8085526: 4618 mov r0, r3 8085528: 4b49 ldr r3, [pc, #292] ; (8085650 ) 808552a: 7a9b ldrb r3, [r3, #10] 808552c: b2db uxtb r3, r3 808552e: 4619 mov r1, r3 8085530: 4a4f ldr r2, [pc, #316] ; (8085670 ) 8085532: 0043 lsls r3, r0, #1 8085534: 440b add r3, r1 8085536: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808553a: 461a mov r2, r3 808553c: 218a movs r1, #138 ; 0x8a 808553e: f44f 7082 mov.w r0, #260 ; 0x104 8085542: f7ce ff0f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_9, (char *) pWIN[pardata.LANG][pardata.WIN]); 8085546: 4b42 ldr r3, [pc, #264] ; (8085650 ) 8085548: 7b1b ldrb r3, [r3, #12] 808554a: b2db uxtb r3, r3 808554c: 4619 mov r1, r3 808554e: 4b40 ldr r3, [pc, #256] ; (8085650 ) 8085550: 7a5b ldrb r3, [r3, #9] 8085552: b2db uxtb r3, r3 8085554: 4618 mov r0, r3 8085556: 4a47 ldr r2, [pc, #284] ; (8085674 ) 8085558: 460b mov r3, r1 808555a: 009b lsls r3, r3, #2 808555c: 440b add r3, r1 808555e: 4403 add r3, r0 8085560: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8085564: 461a mov r2, r3 8085566: 219a movs r1, #154 ; 0x9a 8085568: f44f 7082 mov.w r0, #260 ; 0x104 808556c: f7ce fefa bl 8054364 LCD_DisplayStringC(260, LCD_LINE_10, (char *) pAVERAGE[pardata.AVG]); 8085570: 4b37 ldr r3, [pc, #220] ; (8085650 ) 8085572: 7b5b ldrb r3, [r3, #13] 8085574: b2db uxtb r3, r3 8085576: 461a mov r2, r3 8085578: 4b3f ldr r3, [pc, #252] ; (8085678 ) 808557a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808557e: 461a mov r2, r3 8085580: 21aa movs r1, #170 ; 0xaa 8085582: f44f 7082 mov.w r0, #260 ; 0x104 8085586: f7ce feed bl 8054364 if(menupos == FilterHP_IDT) 808558a: 4b36 ldr r3, [pc, #216] ; (8085664 ) 808558c: 781b ldrb r3, [r3, #0] 808558e: b2db uxtb r3, r3 8085590: 2b19 cmp r3, #25 8085592: d179 bne.n 8085688 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085594: 4930 ldr r1, [pc, #192] ; (8085658 ) 8085596: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808559a: f7ce f923 bl 80537e4 if(blk) 808559e: 4b37 ldr r3, [pc, #220] ; (808567c ) 80855a0: 681b ldr r3, [r3, #0] 80855a2: 2b00 cmp r3, #0 80855a4: d00b beq.n 80855be LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 80855a6: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80855aa: b2db uxtb r3, r3 80855ac: 461a mov r2, r3 80855ae: 4b34 ldr r3, [pc, #208] ; (8085680 ) 80855b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80855b4: 461a mov r2, r3 80855b6: 215a movs r1, #90 ; 0x5a 80855b8: 20c6 movs r0, #198 ; 0xc6 80855ba: f7ce febb bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80855be: 4926 ldr r1, [pc, #152] ; (8085658 ) 80855c0: 4827 ldr r0, [pc, #156] ; (8085660 ) 80855c2: f7ce f90f bl 80537e4 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 80855c6: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80855ca: b2db uxtb r3, r3 80855cc: 461a mov r2, r3 80855ce: 4b2c ldr r3, [pc, #176] ; (8085680 ) 80855d0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80855d4: 461a mov r2, r3 80855d6: 215a movs r1, #90 ; 0x5a 80855d8: 20d6 movs r0, #214 ; 0xd6 80855da: f7ce feab bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 80855de: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 80855e2: b2db uxtb r3, r3 80855e4: 461a mov r2, r3 80855e6: 4b26 ldr r3, [pc, #152] ; (8085680 ) 80855e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80855ec: 461a mov r2, r3 80855ee: 215a movs r1, #90 ; 0x5a 80855f0: 20e6 movs r0, #230 ; 0xe6 80855f2: f7ce fe9f bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80855f6: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80855fa: b2db uxtb r3, r3 80855fc: 461a mov r2, r3 80855fe: 4b20 ldr r3, [pc, #128] ; (8085680 ) 8085600: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085604: 461a mov r2, r3 8085606: 215a movs r1, #90 ; 0x5a 8085608: 20f6 movs r0, #246 ; 0xf6 808560a: f7ce fe93 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 808560e: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8085612: b2db uxtb r3, r3 8085614: 461a mov r2, r3 8085616: 4b1a ldr r3, [pc, #104] ; (8085680 ) 8085618: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808561c: 461a mov r2, r3 808561e: 215a movs r1, #90 ; 0x5a 8085620: f44f 7083 mov.w r0, #262 ; 0x106 8085624: f7ce fe86 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 8085628: 4a16 ldr r2, [pc, #88] ; (8085684 ) 808562a: 215a movs r1, #90 ; 0x5a 808562c: f44f 708b mov.w r0, #278 ; 0x116 8085630: f7ce fe80 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8085634: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8085638: b2db uxtb r3, r3 808563a: 461a mov r2, r3 808563c: 4b10 ldr r3, [pc, #64] ; (8085680 ) 808563e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085642: 461a mov r2, r3 8085644: 215a movs r1, #90 ; 0x5a 8085646: f44f 7093 mov.w r0, #294 ; 0x126 808564a: f7ce fe73 bl 8054334 808564e: e215 b.n 8085a7c 8085650: 20023e60 .word 0x20023e60 8085654: 2002070c .word 0x2002070c 8085658: ff0a0f1f .word 0xff0a0f1f 808565c: 200206b4 .word 0x200206b4 8085660: ffd8aa57 .word 0xffd8aa57 8085664: 20020070 .word 0x20020070 8085668: 2002029c .word 0x2002029c 808566c: 2002019c .word 0x2002019c 8085670: 20020214 .word 0x20020214 8085674: 200201ec .word 0x200201ec 8085678: 20020224 .word 0x20020224 808567c: 2002165c .word 0x2002165c 8085680: 20020964 .word 0x20020964 8085684: 080cf820 .word 0x080cf820 if(menupos == FilterHP_IET) 8085688: 4bc5 ldr r3, [pc, #788] ; (80859a0 ) 808568a: 781b ldrb r3, [r3, #0] 808568c: b2db uxtb r3, r3 808568e: 2b1a cmp r3, #26 8085690: d15d bne.n 808574e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085692: 49c4 ldr r1, [pc, #784] ; (80859a4 ) 8085694: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085698: f7ce f8a4 bl 80537e4 if(blk) 808569c: 4bc2 ldr r3, [pc, #776] ; (80859a8 ) 808569e: 681b ldr r3, [r3, #0] 80856a0: 2b00 cmp r3, #0 80856a2: d00b beq.n 80856bc LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 80856a4: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80856a8: b2db uxtb r3, r3 80856aa: 461a mov r2, r3 80856ac: 4bbf ldr r3, [pc, #764] ; (80859ac ) 80856ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80856b2: 461a mov r2, r3 80856b4: 215a movs r1, #90 ; 0x5a 80856b6: 20d6 movs r0, #214 ; 0xd6 80856b8: f7ce fe3c bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80856bc: 49b9 ldr r1, [pc, #740] ; (80859a4 ) 80856be: 48bc ldr r0, [pc, #752] ; (80859b0 ) 80856c0: f7ce f890 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 80856c4: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80856c8: b2db uxtb r3, r3 80856ca: 461a mov r2, r3 80856cc: 4bb7 ldr r3, [pc, #732] ; (80859ac ) 80856ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80856d2: 461a mov r2, r3 80856d4: 215a movs r1, #90 ; 0x5a 80856d6: 20c6 movs r0, #198 ; 0xc6 80856d8: f7ce fe2c bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 80856dc: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 80856e0: b2db uxtb r3, r3 80856e2: 461a mov r2, r3 80856e4: 4bb1 ldr r3, [pc, #708] ; (80859ac ) 80856e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80856ea: 461a mov r2, r3 80856ec: 215a movs r1, #90 ; 0x5a 80856ee: 20e6 movs r0, #230 ; 0xe6 80856f0: f7ce fe20 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80856f4: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80856f8: b2db uxtb r3, r3 80856fa: 461a mov r2, r3 80856fc: 4bab ldr r3, [pc, #684] ; (80859ac ) 80856fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085702: 461a mov r2, r3 8085704: 215a movs r1, #90 ; 0x5a 8085706: 20f6 movs r0, #246 ; 0xf6 8085708: f7ce fe14 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 808570c: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8085710: b2db uxtb r3, r3 8085712: 461a mov r2, r3 8085714: 4ba5 ldr r3, [pc, #660] ; (80859ac ) 8085716: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808571a: 461a mov r2, r3 808571c: 215a movs r1, #90 ; 0x5a 808571e: f44f 7083 mov.w r0, #262 ; 0x106 8085722: f7ce fe07 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 8085726: 4aa3 ldr r2, [pc, #652] ; (80859b4 ) 8085728: 215a movs r1, #90 ; 0x5a 808572a: f44f 708b mov.w r0, #278 ; 0x116 808572e: f7ce fe01 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8085732: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8085736: b2db uxtb r3, r3 8085738: 461a mov r2, r3 808573a: 4b9c ldr r3, [pc, #624] ; (80859ac ) 808573c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085740: 461a mov r2, r3 8085742: 215a movs r1, #90 ; 0x5a 8085744: f44f 7093 mov.w r0, #294 ; 0x126 8085748: f7ce fdf4 bl 8054334 808574c: e196 b.n 8085a7c if(menupos == FilterHP_IES) 808574e: 4b94 ldr r3, [pc, #592] ; (80859a0 ) 8085750: 781b ldrb r3, [r3, #0] 8085752: b2db uxtb r3, r3 8085754: 2b1b cmp r3, #27 8085756: d15d bne.n 8085814 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085758: 4992 ldr r1, [pc, #584] ; (80859a4 ) 808575a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808575e: f7ce f841 bl 80537e4 if(blk) 8085762: 4b91 ldr r3, [pc, #580] ; (80859a8 ) 8085764: 681b ldr r3, [r3, #0] 8085766: 2b00 cmp r3, #0 8085768: d00b beq.n 8085782 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 808576a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808576e: b2db uxtb r3, r3 8085770: 461a mov r2, r3 8085772: 4b8e ldr r3, [pc, #568] ; (80859ac ) 8085774: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085778: 461a mov r2, r3 808577a: 215a movs r1, #90 ; 0x5a 808577c: 20e6 movs r0, #230 ; 0xe6 808577e: f7ce fdd9 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085782: 4988 ldr r1, [pc, #544] ; (80859a4 ) 8085784: 488a ldr r0, [pc, #552] ; (80859b0 ) 8085786: f7ce f82d bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 808578a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808578e: b2db uxtb r3, r3 8085790: 461a mov r2, r3 8085792: 4b86 ldr r3, [pc, #536] ; (80859ac ) 8085794: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085798: 461a mov r2, r3 808579a: 215a movs r1, #90 ; 0x5a 808579c: 20c6 movs r0, #198 ; 0xc6 808579e: f7ce fdc9 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 80857a2: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 80857a6: b2db uxtb r3, r3 80857a8: 461a mov r2, r3 80857aa: 4b80 ldr r3, [pc, #512] ; (80859ac ) 80857ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80857b0: 461a mov r2, r3 80857b2: 215a movs r1, #90 ; 0x5a 80857b4: 20d6 movs r0, #214 ; 0xd6 80857b6: f7ce fdbd bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 80857ba: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 80857be: b2db uxtb r3, r3 80857c0: 461a mov r2, r3 80857c2: 4b7a ldr r3, [pc, #488] ; (80859ac ) 80857c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80857c8: 461a mov r2, r3 80857ca: 215a movs r1, #90 ; 0x5a 80857cc: 20f6 movs r0, #246 ; 0xf6 80857ce: f7ce fdb1 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 80857d2: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 80857d6: b2db uxtb r3, r3 80857d8: 461a mov r2, r3 80857da: 4b74 ldr r3, [pc, #464] ; (80859ac ) 80857dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80857e0: 461a mov r2, r3 80857e2: 215a movs r1, #90 ; 0x5a 80857e4: f44f 7083 mov.w r0, #262 ; 0x106 80857e8: f7ce fda4 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 80857ec: 4a71 ldr r2, [pc, #452] ; (80859b4 ) 80857ee: 215a movs r1, #90 ; 0x5a 80857f0: f44f 708b mov.w r0, #278 ; 0x116 80857f4: f7ce fd9e bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 80857f8: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 80857fc: b2db uxtb r3, r3 80857fe: 461a mov r2, r3 8085800: 4b6a ldr r3, [pc, #424] ; (80859ac ) 8085802: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085806: 461a mov r2, r3 8085808: 215a movs r1, #90 ; 0x5a 808580a: f44f 7093 mov.w r0, #294 ; 0x126 808580e: f7ce fd91 bl 8054334 8085812: e133 b.n 8085a7c if(menupos == FilterHP_IED) 8085814: 4b62 ldr r3, [pc, #392] ; (80859a0 ) 8085816: 781b ldrb r3, [r3, #0] 8085818: b2db uxtb r3, r3 808581a: 2b1c cmp r3, #28 808581c: d15d bne.n 80858da LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808581e: 4961 ldr r1, [pc, #388] ; (80859a4 ) 8085820: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085824: f7cd ffde bl 80537e4 if(blk) 8085828: 4b5f ldr r3, [pc, #380] ; (80859a8 ) 808582a: 681b ldr r3, [r3, #0] 808582c: 2b00 cmp r3, #0 808582e: d00b beq.n 8085848 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8085830: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8085834: b2db uxtb r3, r3 8085836: 461a mov r2, r3 8085838: 4b5c ldr r3, [pc, #368] ; (80859ac ) 808583a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808583e: 461a mov r2, r3 8085840: 215a movs r1, #90 ; 0x5a 8085842: 20f6 movs r0, #246 ; 0xf6 8085844: f7ce fd76 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085848: 4956 ldr r1, [pc, #344] ; (80859a4 ) 808584a: 4859 ldr r0, [pc, #356] ; (80859b0 ) 808584c: f7cd ffca bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8085850: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8085854: b2db uxtb r3, r3 8085856: 461a mov r2, r3 8085858: 4b54 ldr r3, [pc, #336] ; (80859ac ) 808585a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808585e: 461a mov r2, r3 8085860: 215a movs r1, #90 ; 0x5a 8085862: 20c6 movs r0, #198 ; 0xc6 8085864: f7ce fd66 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8085868: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808586c: b2db uxtb r3, r3 808586e: 461a mov r2, r3 8085870: 4b4e ldr r3, [pc, #312] ; (80859ac ) 8085872: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085876: 461a mov r2, r3 8085878: 215a movs r1, #90 ; 0x5a 808587a: 20d6 movs r0, #214 ; 0xd6 808587c: f7ce fd5a bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8085880: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8085884: b2db uxtb r3, r3 8085886: 461a mov r2, r3 8085888: 4b48 ldr r3, [pc, #288] ; (80859ac ) 808588a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808588e: 461a mov r2, r3 8085890: 215a movs r1, #90 ; 0x5a 8085892: 20e6 movs r0, #230 ; 0xe6 8085894: f7ce fd4e bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8085898: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808589c: b2db uxtb r3, r3 808589e: 461a mov r2, r3 80858a0: 4b42 ldr r3, [pc, #264] ; (80859ac ) 80858a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80858a6: 461a mov r2, r3 80858a8: 215a movs r1, #90 ; 0x5a 80858aa: f44f 7083 mov.w r0, #262 ; 0x106 80858ae: f7ce fd41 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 80858b2: 4a40 ldr r2, [pc, #256] ; (80859b4 ) 80858b4: 215a movs r1, #90 ; 0x5a 80858b6: f44f 708b mov.w r0, #278 ; 0x116 80858ba: f7ce fd3b bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 80858be: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 80858c2: b2db uxtb r3, r3 80858c4: 461a mov r2, r3 80858c6: 4b39 ldr r3, [pc, #228] ; (80859ac ) 80858c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80858cc: 461a mov r2, r3 80858ce: 215a movs r1, #90 ; 0x5a 80858d0: f44f 7093 mov.w r0, #294 ; 0x126 80858d4: f7ce fd2e bl 8054334 80858d8: e0d0 b.n 8085a7c if(menupos == FilterHP_IEE) 80858da: 4b31 ldr r3, [pc, #196] ; (80859a0 ) 80858dc: 781b ldrb r3, [r3, #0] 80858de: b2db uxtb r3, r3 80858e0: 2b1d cmp r3, #29 80858e2: d169 bne.n 80859b8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80858e4: 492f ldr r1, [pc, #188] ; (80859a4 ) 80858e6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80858ea: f7cd ff7b bl 80537e4 if(blk) 80858ee: 4b2e ldr r3, [pc, #184] ; (80859a8 ) 80858f0: 681b ldr r3, [r3, #0] 80858f2: 2b00 cmp r3, #0 80858f4: d00c beq.n 8085910 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 80858f6: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 80858fa: b2db uxtb r3, r3 80858fc: 461a mov r2, r3 80858fe: 4b2b ldr r3, [pc, #172] ; (80859ac ) 8085900: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085904: 461a mov r2, r3 8085906: 215a movs r1, #90 ; 0x5a 8085908: f44f 7083 mov.w r0, #262 ; 0x106 808590c: f7ce fd12 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085910: 4924 ldr r1, [pc, #144] ; (80859a4 ) 8085912: 4827 ldr r0, [pc, #156] ; (80859b0 ) 8085914: f7cd ff66 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8085918: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808591c: b2db uxtb r3, r3 808591e: 461a mov r2, r3 8085920: 4b22 ldr r3, [pc, #136] ; (80859ac ) 8085922: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085926: 461a mov r2, r3 8085928: 215a movs r1, #90 ; 0x5a 808592a: 20c6 movs r0, #198 ; 0xc6 808592c: f7ce fd02 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8085930: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8085934: b2db uxtb r3, r3 8085936: 461a mov r2, r3 8085938: 4b1c ldr r3, [pc, #112] ; (80859ac ) 808593a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808593e: 461a mov r2, r3 8085940: 215a movs r1, #90 ; 0x5a 8085942: 20d6 movs r0, #214 ; 0xd6 8085944: f7ce fcf6 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8085948: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808594c: b2db uxtb r3, r3 808594e: 461a mov r2, r3 8085950: 4b16 ldr r3, [pc, #88] ; (80859ac ) 8085952: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085956: 461a mov r2, r3 8085958: 215a movs r1, #90 ; 0x5a 808595a: 20e6 movs r0, #230 ; 0xe6 808595c: f7ce fcea bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8085960: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8085964: b2db uxtb r3, r3 8085966: 461a mov r2, r3 8085968: 4b10 ldr r3, [pc, #64] ; (80859ac ) 808596a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808596e: 461a mov r2, r3 8085970: 215a movs r1, #90 ; 0x5a 8085972: 20f6 movs r0, #246 ; 0xf6 8085974: f7ce fcde bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 8085978: 4a0e ldr r2, [pc, #56] ; (80859b4 ) 808597a: 215a movs r1, #90 ; 0x5a 808597c: f44f 708b mov.w r0, #278 ; 0x116 8085980: f7ce fcd8 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8085984: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8085988: b2db uxtb r3, r3 808598a: 461a mov r2, r3 808598c: 4b07 ldr r3, [pc, #28] ; (80859ac ) 808598e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085992: 461a mov r2, r3 8085994: 215a movs r1, #90 ; 0x5a 8085996: f44f 7093 mov.w r0, #294 ; 0x126 808599a: f7ce fccb bl 8054334 808599e: e06d b.n 8085a7c 80859a0: 20020070 .word 0x20020070 80859a4: ff0a0f1f .word 0xff0a0f1f 80859a8: 2002165c .word 0x2002165c 80859ac: 20020964 .word 0x20020964 80859b0: ffd8aa57 .word 0xffd8aa57 80859b4: 080cf820 .word 0x080cf820 if(menupos == FilterHP_IKD) 80859b8: 4bc5 ldr r3, [pc, #788] ; (8085cd0 ) 80859ba: 781b ldrb r3, [r3, #0] 80859bc: b2db uxtb r3, r3 80859be: 2b1e cmp r3, #30 80859c0: d15c bne.n 8085a7c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80859c2: 49c4 ldr r1, [pc, #784] ; (8085cd4 ) 80859c4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80859c8: f7cd ff0c bl 80537e4 if(blk) 80859cc: 4bc2 ldr r3, [pc, #776] ; (8085cd8 ) 80859ce: 681b ldr r3, [r3, #0] 80859d0: 2b00 cmp r3, #0 80859d2: d00c beq.n 80859ee LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 80859d4: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 80859d8: b2db uxtb r3, r3 80859da: 461a mov r2, r3 80859dc: 4bbf ldr r3, [pc, #764] ; (8085cdc ) 80859de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80859e2: 461a mov r2, r3 80859e4: 215a movs r1, #90 ; 0x5a 80859e6: f44f 7093 mov.w r0, #294 ; 0x126 80859ea: f7ce fca3 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80859ee: 49b9 ldr r1, [pc, #740] ; (8085cd4 ) 80859f0: 48bb ldr r0, [pc, #748] ; (8085ce0 ) 80859f2: f7cd fef7 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 80859f6: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 80859fa: b2db uxtb r3, r3 80859fc: 461a mov r2, r3 80859fe: 4bb7 ldr r3, [pc, #732] ; (8085cdc ) 8085a00: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085a04: 461a mov r2, r3 8085a06: 215a movs r1, #90 ; 0x5a 8085a08: 20c6 movs r0, #198 ; 0xc6 8085a0a: f7ce fc93 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8085a0e: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8085a12: b2db uxtb r3, r3 8085a14: 461a mov r2, r3 8085a16: 4bb1 ldr r3, [pc, #708] ; (8085cdc ) 8085a18: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085a1c: 461a mov r2, r3 8085a1e: 215a movs r1, #90 ; 0x5a 8085a20: 20d6 movs r0, #214 ; 0xd6 8085a22: f7ce fc87 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8085a26: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8085a2a: b2db uxtb r3, r3 8085a2c: 461a mov r2, r3 8085a2e: 4bab ldr r3, [pc, #684] ; (8085cdc ) 8085a30: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085a34: 461a mov r2, r3 8085a36: 215a movs r1, #90 ; 0x5a 8085a38: 20e6 movs r0, #230 ; 0xe6 8085a3a: f7ce fc7b bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8085a3e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8085a42: b2db uxtb r3, r3 8085a44: 461a mov r2, r3 8085a46: 4ba5 ldr r3, [pc, #660] ; (8085cdc ) 8085a48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085a4c: 461a mov r2, r3 8085a4e: 215a movs r1, #90 ; 0x5a 8085a50: 20f6 movs r0, #246 ; 0xf6 8085a52: f7ce fc6f bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8085a56: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8085a5a: b2db uxtb r3, r3 8085a5c: 461a mov r2, r3 8085a5e: 4b9f ldr r3, [pc, #636] ; (8085cdc ) 8085a60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085a64: 461a mov r2, r3 8085a66: 215a movs r1, #90 ; 0x5a 8085a68: f44f 7083 mov.w r0, #262 ; 0x106 8085a6c: f7ce fc62 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 8085a70: 4a9c ldr r2, [pc, #624] ; (8085ce4 ) 8085a72: 215a movs r1, #90 ; 0x5a 8085a74: f44f 708b mov.w r0, #278 ; 0x116 8085a78: f7ce fc5c bl 8054334 if(menupos == FilterLP_IDT) 8085a7c: 4b94 ldr r3, [pc, #592] ; (8085cd0 ) 8085a7e: 781b ldrb r3, [r3, #0] 8085a80: b2db uxtb r3, r3 8085a82: 2b1f cmp r3, #31 8085a84: d15d bne.n 8085b42 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085a86: 4993 ldr r1, [pc, #588] ; (8085cd4 ) 8085a88: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085a8c: f7cd feaa bl 80537e4 if(blk) 8085a90: 4b91 ldr r3, [pc, #580] ; (8085cd8 ) 8085a92: 681b ldr r3, [r3, #0] 8085a94: 2b00 cmp r3, #0 8085a96: d00b beq.n 8085ab0 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8085a98: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8085a9c: b2db uxtb r3, r3 8085a9e: 461a mov r2, r3 8085aa0: 4b8e ldr r3, [pc, #568] ; (8085cdc ) 8085aa2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085aa6: 461a mov r2, r3 8085aa8: 216a movs r1, #106 ; 0x6a 8085aaa: 20c6 movs r0, #198 ; 0xc6 8085aac: f7ce fc42 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085ab0: 4988 ldr r1, [pc, #544] ; (8085cd4 ) 8085ab2: 488b ldr r0, [pc, #556] ; (8085ce0 ) 8085ab4: f7cd fe96 bl 80537e4 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8085ab8: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8085abc: b2db uxtb r3, r3 8085abe: 461a mov r2, r3 8085ac0: 4b86 ldr r3, [pc, #536] ; (8085cdc ) 8085ac2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085ac6: 461a mov r2, r3 8085ac8: 216a movs r1, #106 ; 0x6a 8085aca: 20d6 movs r0, #214 ; 0xd6 8085acc: f7ce fc32 bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8085ad0: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8085ad4: b2db uxtb r3, r3 8085ad6: 461a mov r2, r3 8085ad8: 4b80 ldr r3, [pc, #512] ; (8085cdc ) 8085ada: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085ade: 461a mov r2, r3 8085ae0: 216a movs r1, #106 ; 0x6a 8085ae2: 20e6 movs r0, #230 ; 0xe6 8085ae4: f7ce fc26 bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8085ae8: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8085aec: b2db uxtb r3, r3 8085aee: 461a mov r2, r3 8085af0: 4b7a ldr r3, [pc, #488] ; (8085cdc ) 8085af2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085af6: 461a mov r2, r3 8085af8: 216a movs r1, #106 ; 0x6a 8085afa: 20f6 movs r0, #246 ; 0xf6 8085afc: f7ce fc1a bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8085b00: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8085b04: b2db uxtb r3, r3 8085b06: 461a mov r2, r3 8085b08: 4b74 ldr r3, [pc, #464] ; (8085cdc ) 8085b0a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085b0e: 461a mov r2, r3 8085b10: 216a movs r1, #106 ; 0x6a 8085b12: f44f 7083 mov.w r0, #262 ; 0x106 8085b16: f7ce fc0d bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 8085b1a: 4a72 ldr r2, [pc, #456] ; (8085ce4 ) 8085b1c: 216a movs r1, #106 ; 0x6a 8085b1e: f44f 708b mov.w r0, #278 ; 0x116 8085b22: f7ce fc07 bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8085b26: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8085b2a: b2db uxtb r3, r3 8085b2c: 461a mov r2, r3 8085b2e: 4b6b ldr r3, [pc, #428] ; (8085cdc ) 8085b30: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085b34: 461a mov r2, r3 8085b36: 216a movs r1, #106 ; 0x6a 8085b38: f44f 7093 mov.w r0, #294 ; 0x126 8085b3c: f7ce fbfa bl 8054334 8085b40: e1fa b.n 8085f38 if(menupos == FilterLP_IET) 8085b42: 4b63 ldr r3, [pc, #396] ; (8085cd0 ) 8085b44: 781b ldrb r3, [r3, #0] 8085b46: b2db uxtb r3, r3 8085b48: 2b20 cmp r3, #32 8085b4a: d15d bne.n 8085c08 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085b4c: 4961 ldr r1, [pc, #388] ; (8085cd4 ) 8085b4e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085b52: f7cd fe47 bl 80537e4 if(blk) 8085b56: 4b60 ldr r3, [pc, #384] ; (8085cd8 ) 8085b58: 681b ldr r3, [r3, #0] 8085b5a: 2b00 cmp r3, #0 8085b5c: d00b beq.n 8085b76 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8085b5e: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8085b62: b2db uxtb r3, r3 8085b64: 461a mov r2, r3 8085b66: 4b5d ldr r3, [pc, #372] ; (8085cdc ) 8085b68: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085b6c: 461a mov r2, r3 8085b6e: 216a movs r1, #106 ; 0x6a 8085b70: 20d6 movs r0, #214 ; 0xd6 8085b72: f7ce fbdf bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085b76: 4957 ldr r1, [pc, #348] ; (8085cd4 ) 8085b78: 4859 ldr r0, [pc, #356] ; (8085ce0 ) 8085b7a: f7cd fe33 bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8085b7e: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8085b82: b2db uxtb r3, r3 8085b84: 461a mov r2, r3 8085b86: 4b55 ldr r3, [pc, #340] ; (8085cdc ) 8085b88: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085b8c: 461a mov r2, r3 8085b8e: 216a movs r1, #106 ; 0x6a 8085b90: 20c6 movs r0, #198 ; 0xc6 8085b92: f7ce fbcf bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8085b96: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8085b9a: b2db uxtb r3, r3 8085b9c: 461a mov r2, r3 8085b9e: 4b4f ldr r3, [pc, #316] ; (8085cdc ) 8085ba0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085ba4: 461a mov r2, r3 8085ba6: 216a movs r1, #106 ; 0x6a 8085ba8: 20e6 movs r0, #230 ; 0xe6 8085baa: f7ce fbc3 bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8085bae: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8085bb2: b2db uxtb r3, r3 8085bb4: 461a mov r2, r3 8085bb6: 4b49 ldr r3, [pc, #292] ; (8085cdc ) 8085bb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085bbc: 461a mov r2, r3 8085bbe: 216a movs r1, #106 ; 0x6a 8085bc0: 20f6 movs r0, #246 ; 0xf6 8085bc2: f7ce fbb7 bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8085bc6: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8085bca: b2db uxtb r3, r3 8085bcc: 461a mov r2, r3 8085bce: 4b43 ldr r3, [pc, #268] ; (8085cdc ) 8085bd0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085bd4: 461a mov r2, r3 8085bd6: 216a movs r1, #106 ; 0x6a 8085bd8: f44f 7083 mov.w r0, #262 ; 0x106 8085bdc: f7ce fbaa bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 8085be0: 4a40 ldr r2, [pc, #256] ; (8085ce4 ) 8085be2: 216a movs r1, #106 ; 0x6a 8085be4: f44f 708b mov.w r0, #278 ; 0x116 8085be8: f7ce fba4 bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8085bec: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8085bf0: b2db uxtb r3, r3 8085bf2: 461a mov r2, r3 8085bf4: 4b39 ldr r3, [pc, #228] ; (8085cdc ) 8085bf6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085bfa: 461a mov r2, r3 8085bfc: 216a movs r1, #106 ; 0x6a 8085bfe: f44f 7093 mov.w r0, #294 ; 0x126 8085c02: f7ce fb97 bl 8054334 8085c06: e197 b.n 8085f38 if(menupos == FilterLP_IES) 8085c08: 4b31 ldr r3, [pc, #196] ; (8085cd0 ) 8085c0a: 781b ldrb r3, [r3, #0] 8085c0c: b2db uxtb r3, r3 8085c0e: 2b21 cmp r3, #33 ; 0x21 8085c10: d16a bne.n 8085ce8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085c12: 4930 ldr r1, [pc, #192] ; (8085cd4 ) 8085c14: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085c18: f7cd fde4 bl 80537e4 if(blk) 8085c1c: 4b2e ldr r3, [pc, #184] ; (8085cd8 ) 8085c1e: 681b ldr r3, [r3, #0] 8085c20: 2b00 cmp r3, #0 8085c22: d00b beq.n 8085c3c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8085c24: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8085c28: b2db uxtb r3, r3 8085c2a: 461a mov r2, r3 8085c2c: 4b2b ldr r3, [pc, #172] ; (8085cdc ) 8085c2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085c32: 461a mov r2, r3 8085c34: 216a movs r1, #106 ; 0x6a 8085c36: 20e6 movs r0, #230 ; 0xe6 8085c38: f7ce fb7c bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085c3c: 4925 ldr r1, [pc, #148] ; (8085cd4 ) 8085c3e: 4828 ldr r0, [pc, #160] ; (8085ce0 ) 8085c40: f7cd fdd0 bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8085c44: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8085c48: b2db uxtb r3, r3 8085c4a: 461a mov r2, r3 8085c4c: 4b23 ldr r3, [pc, #140] ; (8085cdc ) 8085c4e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085c52: 461a mov r2, r3 8085c54: 216a movs r1, #106 ; 0x6a 8085c56: 20c6 movs r0, #198 ; 0xc6 8085c58: f7ce fb6c bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8085c5c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8085c60: b2db uxtb r3, r3 8085c62: 461a mov r2, r3 8085c64: 4b1d ldr r3, [pc, #116] ; (8085cdc ) 8085c66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085c6a: 461a mov r2, r3 8085c6c: 216a movs r1, #106 ; 0x6a 8085c6e: 20d6 movs r0, #214 ; 0xd6 8085c70: f7ce fb60 bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8085c74: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8085c78: b2db uxtb r3, r3 8085c7a: 461a mov r2, r3 8085c7c: 4b17 ldr r3, [pc, #92] ; (8085cdc ) 8085c7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085c82: 461a mov r2, r3 8085c84: 216a movs r1, #106 ; 0x6a 8085c86: 20f6 movs r0, #246 ; 0xf6 8085c88: f7ce fb54 bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8085c8c: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8085c90: b2db uxtb r3, r3 8085c92: 461a mov r2, r3 8085c94: 4b11 ldr r3, [pc, #68] ; (8085cdc ) 8085c96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085c9a: 461a mov r2, r3 8085c9c: 216a movs r1, #106 ; 0x6a 8085c9e: f44f 7083 mov.w r0, #262 ; 0x106 8085ca2: f7ce fb47 bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 8085ca6: 4a0f ldr r2, [pc, #60] ; (8085ce4 ) 8085ca8: 216a movs r1, #106 ; 0x6a 8085caa: f44f 708b mov.w r0, #278 ; 0x116 8085cae: f7ce fb41 bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8085cb2: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8085cb6: b2db uxtb r3, r3 8085cb8: 461a mov r2, r3 8085cba: 4b08 ldr r3, [pc, #32] ; (8085cdc ) 8085cbc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085cc0: 461a mov r2, r3 8085cc2: 216a movs r1, #106 ; 0x6a 8085cc4: f44f 7093 mov.w r0, #294 ; 0x126 8085cc8: f7ce fb34 bl 8054334 8085ccc: e134 b.n 8085f38 8085cce: bf00 nop 8085cd0: 20020070 .word 0x20020070 8085cd4: ff0a0f1f .word 0xff0a0f1f 8085cd8: 2002165c .word 0x2002165c 8085cdc: 20020964 .word 0x20020964 8085ce0: ffd8aa57 .word 0xffd8aa57 8085ce4: 080cf820 .word 0x080cf820 if(menupos == FilterLP_IED) 8085ce8: 4bc5 ldr r3, [pc, #788] ; (8086000 ) 8085cea: 781b ldrb r3, [r3, #0] 8085cec: b2db uxtb r3, r3 8085cee: 2b22 cmp r3, #34 ; 0x22 8085cf0: d15d bne.n 8085dae LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085cf2: 49c4 ldr r1, [pc, #784] ; (8086004 ) 8085cf4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085cf8: f7cd fd74 bl 80537e4 if(blk) 8085cfc: 4bc2 ldr r3, [pc, #776] ; (8086008 ) 8085cfe: 681b ldr r3, [r3, #0] 8085d00: 2b00 cmp r3, #0 8085d02: d00b beq.n 8085d1c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8085d04: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8085d08: b2db uxtb r3, r3 8085d0a: 461a mov r2, r3 8085d0c: 4bbf ldr r3, [pc, #764] ; (808600c ) 8085d0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085d12: 461a mov r2, r3 8085d14: 216a movs r1, #106 ; 0x6a 8085d16: 20f6 movs r0, #246 ; 0xf6 8085d18: f7ce fb0c bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085d1c: 49b9 ldr r1, [pc, #740] ; (8086004 ) 8085d1e: 48bc ldr r0, [pc, #752] ; (8086010 ) 8085d20: f7cd fd60 bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8085d24: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8085d28: b2db uxtb r3, r3 8085d2a: 461a mov r2, r3 8085d2c: 4bb7 ldr r3, [pc, #732] ; (808600c ) 8085d2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085d32: 461a mov r2, r3 8085d34: 216a movs r1, #106 ; 0x6a 8085d36: 20c6 movs r0, #198 ; 0xc6 8085d38: f7ce fafc bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8085d3c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8085d40: b2db uxtb r3, r3 8085d42: 461a mov r2, r3 8085d44: 4bb1 ldr r3, [pc, #708] ; (808600c ) 8085d46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085d4a: 461a mov r2, r3 8085d4c: 216a movs r1, #106 ; 0x6a 8085d4e: 20d6 movs r0, #214 ; 0xd6 8085d50: f7ce faf0 bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8085d54: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8085d58: b2db uxtb r3, r3 8085d5a: 461a mov r2, r3 8085d5c: 4bab ldr r3, [pc, #684] ; (808600c ) 8085d5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085d62: 461a mov r2, r3 8085d64: 216a movs r1, #106 ; 0x6a 8085d66: 20e6 movs r0, #230 ; 0xe6 8085d68: f7ce fae4 bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8085d6c: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8085d70: b2db uxtb r3, r3 8085d72: 461a mov r2, r3 8085d74: 4ba5 ldr r3, [pc, #660] ; (808600c ) 8085d76: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085d7a: 461a mov r2, r3 8085d7c: 216a movs r1, #106 ; 0x6a 8085d7e: f44f 7083 mov.w r0, #262 ; 0x106 8085d82: f7ce fad7 bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 8085d86: 4aa3 ldr r2, [pc, #652] ; (8086014 ) 8085d88: 216a movs r1, #106 ; 0x6a 8085d8a: f44f 708b mov.w r0, #278 ; 0x116 8085d8e: f7ce fad1 bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8085d92: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8085d96: b2db uxtb r3, r3 8085d98: 461a mov r2, r3 8085d9a: 4b9c ldr r3, [pc, #624] ; (808600c ) 8085d9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085da0: 461a mov r2, r3 8085da2: 216a movs r1, #106 ; 0x6a 8085da4: f44f 7093 mov.w r0, #294 ; 0x126 8085da8: f7ce fac4 bl 8054334 8085dac: e0c4 b.n 8085f38 if(menupos == FilterLP_IEE) 8085dae: 4b94 ldr r3, [pc, #592] ; (8086000 ) 8085db0: 781b ldrb r3, [r3, #0] 8085db2: b2db uxtb r3, r3 8085db4: 2b23 cmp r3, #35 ; 0x23 8085db6: d15d bne.n 8085e74 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085db8: 4992 ldr r1, [pc, #584] ; (8086004 ) 8085dba: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085dbe: f7cd fd11 bl 80537e4 if(blk) 8085dc2: 4b91 ldr r3, [pc, #580] ; (8086008 ) 8085dc4: 681b ldr r3, [r3, #0] 8085dc6: 2b00 cmp r3, #0 8085dc8: d00c beq.n 8085de4 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8085dca: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8085dce: b2db uxtb r3, r3 8085dd0: 461a mov r2, r3 8085dd2: 4b8e ldr r3, [pc, #568] ; (808600c ) 8085dd4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085dd8: 461a mov r2, r3 8085dda: 216a movs r1, #106 ; 0x6a 8085ddc: f44f 7083 mov.w r0, #262 ; 0x106 8085de0: f7ce faa8 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085de4: 4987 ldr r1, [pc, #540] ; (8086004 ) 8085de6: 488a ldr r0, [pc, #552] ; (8086010 ) 8085de8: f7cd fcfc bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8085dec: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8085df0: b2db uxtb r3, r3 8085df2: 461a mov r2, r3 8085df4: 4b85 ldr r3, [pc, #532] ; (808600c ) 8085df6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085dfa: 461a mov r2, r3 8085dfc: 216a movs r1, #106 ; 0x6a 8085dfe: 20c6 movs r0, #198 ; 0xc6 8085e00: f7ce fa98 bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8085e04: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8085e08: b2db uxtb r3, r3 8085e0a: 461a mov r2, r3 8085e0c: 4b7f ldr r3, [pc, #508] ; (808600c ) 8085e0e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085e12: 461a mov r2, r3 8085e14: 216a movs r1, #106 ; 0x6a 8085e16: 20d6 movs r0, #214 ; 0xd6 8085e18: f7ce fa8c bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8085e1c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8085e20: b2db uxtb r3, r3 8085e22: 461a mov r2, r3 8085e24: 4b79 ldr r3, [pc, #484] ; (808600c ) 8085e26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085e2a: 461a mov r2, r3 8085e2c: 216a movs r1, #106 ; 0x6a 8085e2e: 20e6 movs r0, #230 ; 0xe6 8085e30: f7ce fa80 bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8085e34: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8085e38: b2db uxtb r3, r3 8085e3a: 461a mov r2, r3 8085e3c: 4b73 ldr r3, [pc, #460] ; (808600c ) 8085e3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085e42: 461a mov r2, r3 8085e44: 216a movs r1, #106 ; 0x6a 8085e46: 20f6 movs r0, #246 ; 0xf6 8085e48: f7ce fa74 bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 8085e4c: 4a71 ldr r2, [pc, #452] ; (8086014 ) 8085e4e: 216a movs r1, #106 ; 0x6a 8085e50: f44f 708b mov.w r0, #278 ; 0x116 8085e54: f7ce fa6e bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8085e58: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8085e5c: b2db uxtb r3, r3 8085e5e: 461a mov r2, r3 8085e60: 4b6a ldr r3, [pc, #424] ; (808600c ) 8085e62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085e66: 461a mov r2, r3 8085e68: 216a movs r1, #106 ; 0x6a 8085e6a: f44f 7093 mov.w r0, #294 ; 0x126 8085e6e: f7ce fa61 bl 8054334 8085e72: e061 b.n 8085f38 if(menupos == FilterLP_IKD) 8085e74: 4b62 ldr r3, [pc, #392] ; (8086000 ) 8085e76: 781b ldrb r3, [r3, #0] 8085e78: b2db uxtb r3, r3 8085e7a: 2b24 cmp r3, #36 ; 0x24 8085e7c: d15c bne.n 8085f38 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085e7e: 4961 ldr r1, [pc, #388] ; (8086004 ) 8085e80: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085e84: f7cd fcae bl 80537e4 if(blk) 8085e88: 4b5f ldr r3, [pc, #380] ; (8086008 ) 8085e8a: 681b ldr r3, [r3, #0] 8085e8c: 2b00 cmp r3, #0 8085e8e: d00c beq.n 8085eaa LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8085e90: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8085e94: b2db uxtb r3, r3 8085e96: 461a mov r2, r3 8085e98: 4b5c ldr r3, [pc, #368] ; (808600c ) 8085e9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085e9e: 461a mov r2, r3 8085ea0: 216a movs r1, #106 ; 0x6a 8085ea2: f44f 7093 mov.w r0, #294 ; 0x126 8085ea6: f7ce fa45 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085eaa: 4956 ldr r1, [pc, #344] ; (8086004 ) 8085eac: 4858 ldr r0, [pc, #352] ; (8086010 ) 8085eae: f7cd fc99 bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8085eb2: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8085eb6: b2db uxtb r3, r3 8085eb8: 461a mov r2, r3 8085eba: 4b54 ldr r3, [pc, #336] ; (808600c ) 8085ebc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085ec0: 461a mov r2, r3 8085ec2: 216a movs r1, #106 ; 0x6a 8085ec4: 20c6 movs r0, #198 ; 0xc6 8085ec6: f7ce fa35 bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 8085eca: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8085ece: b2db uxtb r3, r3 8085ed0: 461a mov r2, r3 8085ed2: 4b4e ldr r3, [pc, #312] ; (808600c ) 8085ed4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085ed8: 461a mov r2, r3 8085eda: 216a movs r1, #106 ; 0x6a 8085edc: 20d6 movs r0, #214 ; 0xd6 8085ede: f7ce fa29 bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8085ee2: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8085ee6: b2db uxtb r3, r3 8085ee8: 461a mov r2, r3 8085eea: 4b48 ldr r3, [pc, #288] ; (808600c ) 8085eec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085ef0: 461a mov r2, r3 8085ef2: 216a movs r1, #106 ; 0x6a 8085ef4: 20e6 movs r0, #230 ; 0xe6 8085ef6: f7ce fa1d bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8085efa: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8085efe: b2db uxtb r3, r3 8085f00: 461a mov r2, r3 8085f02: 4b42 ldr r3, [pc, #264] ; (808600c ) 8085f04: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085f08: 461a mov r2, r3 8085f0a: 216a movs r1, #106 ; 0x6a 8085f0c: 20f6 movs r0, #246 ; 0xf6 8085f0e: f7ce fa11 bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8085f12: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8085f16: b2db uxtb r3, r3 8085f18: 461a mov r2, r3 8085f1a: 4b3c ldr r3, [pc, #240] ; (808600c ) 8085f1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085f20: 461a mov r2, r3 8085f22: 216a movs r1, #106 ; 0x6a 8085f24: f44f 7083 mov.w r0, #262 ; 0x106 8085f28: f7ce fa04 bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 8085f2c: 4a39 ldr r2, [pc, #228] ; (8086014 ) 8085f2e: 216a movs r1, #106 ; 0x6a 8085f30: f44f 708b mov.w r0, #278 ; 0x116 8085f34: f7ce f9fe bl 8054334 if(menupos == VibMax_IDT) 8085f38: 4b31 ldr r3, [pc, #196] ; (8086000 ) 8085f3a: 781b ldrb r3, [r3, #0] 8085f3c: b2db uxtb r3, r3 8085f3e: 2b0b cmp r3, #11 8085f40: d16a bne.n 8086018 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8085f42: 4930 ldr r1, [pc, #192] ; (8086004 ) 8085f44: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8085f48: f7cd fc4c bl 80537e4 if(blk) 8085f4c: 4b2e ldr r3, [pc, #184] ; (8086008 ) 8085f4e: 681b ldr r3, [r3, #0] 8085f50: 2b00 cmp r3, #0 8085f52: d00b beq.n 8085f6c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 8085f54: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8085f58: b2db uxtb r3, r3 8085f5a: 461a mov r2, r3 8085f5c: 4b2b ldr r3, [pc, #172] ; (808600c ) 8085f5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085f62: 461a mov r2, r3 8085f64: 21ca movs r1, #202 ; 0xca 8085f66: 20c6 movs r0, #198 ; 0xc6 8085f68: f7ce f9e4 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8085f6c: 4925 ldr r1, [pc, #148] ; (8086004 ) 8085f6e: 4828 ldr r0, [pc, #160] ; (8086010 ) 8085f70: f7cd fc38 bl 80537e4 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8085f74: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8085f78: b2db uxtb r3, r3 8085f7a: 461a mov r2, r3 8085f7c: 4b23 ldr r3, [pc, #140] ; (808600c ) 8085f7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085f82: 461a mov r2, r3 8085f84: 21ca movs r1, #202 ; 0xca 8085f86: 20d6 movs r0, #214 ; 0xd6 8085f88: f7ce f9d4 bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 8085f8c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8085f90: b2db uxtb r3, r3 8085f92: 461a mov r2, r3 8085f94: 4b1d ldr r3, [pc, #116] ; (808600c ) 8085f96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085f9a: 461a mov r2, r3 8085f9c: 21ca movs r1, #202 ; 0xca 8085f9e: 20e6 movs r0, #230 ; 0xe6 8085fa0: f7ce f9c8 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8085fa4: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8085fa8: b2db uxtb r3, r3 8085faa: 461a mov r2, r3 8085fac: 4b17 ldr r3, [pc, #92] ; (808600c ) 8085fae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085fb2: 461a mov r2, r3 8085fb4: 21ca movs r1, #202 ; 0xca 8085fb6: 20f6 movs r0, #246 ; 0xf6 8085fb8: f7ce f9bc bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8085fbc: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8085fc0: b2db uxtb r3, r3 8085fc2: 461a mov r2, r3 8085fc4: 4b11 ldr r3, [pc, #68] ; (808600c ) 8085fc6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085fca: 461a mov r2, r3 8085fcc: 21ca movs r1, #202 ; 0xca 8085fce: f44f 7083 mov.w r0, #262 ; 0x106 8085fd2: f7ce f9af bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 8085fd6: 4a0f ldr r2, [pc, #60] ; (8086014 ) 8085fd8: 21ca movs r1, #202 ; 0xca 8085fda: f44f 708b mov.w r0, #278 ; 0x116 8085fde: f7ce f9a9 bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8085fe2: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8085fe6: b2db uxtb r3, r3 8085fe8: 461a mov r2, r3 8085fea: 4b08 ldr r3, [pc, #32] ; (808600c ) 8085fec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8085ff0: 461a mov r2, r3 8085ff2: 21ca movs r1, #202 ; 0xca 8085ff4: f44f 7093 mov.w r0, #294 ; 0x126 8085ff8: f7ce f99c bl 8054334 8085ffc: e206 b.n 808640c 8085ffe: bf00 nop 8086000: 20020070 .word 0x20020070 8086004: ff0a0f1f .word 0xff0a0f1f 8086008: 2002165c .word 0x2002165c 808600c: 20020964 .word 0x20020964 8086010: ffd8aa57 .word 0xffd8aa57 8086014: 080cf820 .word 0x080cf820 if(menupos == VibMax_IET) 8086018: 4bc5 ldr r3, [pc, #788] ; (8086330 ) 808601a: 781b ldrb r3, [r3, #0] 808601c: b2db uxtb r3, r3 808601e: 2b0c cmp r3, #12 8086020: d15d bne.n 80860de LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086022: 49c4 ldr r1, [pc, #784] ; (8086334 ) 8086024: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086028: f7cd fbdc bl 80537e4 if(blk) 808602c: 4bc2 ldr r3, [pc, #776] ; (8086338 ) 808602e: 681b ldr r3, [r3, #0] 8086030: 2b00 cmp r3, #0 8086032: d00b beq.n 808604c LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8086034: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8086038: b2db uxtb r3, r3 808603a: 461a mov r2, r3 808603c: 4bbf ldr r3, [pc, #764] ; (808633c ) 808603e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086042: 461a mov r2, r3 8086044: 21ca movs r1, #202 ; 0xca 8086046: 20d6 movs r0, #214 ; 0xd6 8086048: f7ce f974 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808604c: 49b9 ldr r1, [pc, #740] ; (8086334 ) 808604e: 48bc ldr r0, [pc, #752] ; (8086340 ) 8086050: f7cd fbc8 bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 8086054: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8086058: b2db uxtb r3, r3 808605a: 461a mov r2, r3 808605c: 4bb7 ldr r3, [pc, #732] ; (808633c ) 808605e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086062: 461a mov r2, r3 8086064: 21ca movs r1, #202 ; 0xca 8086066: 20c6 movs r0, #198 ; 0xc6 8086068: f7ce f964 bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 808606c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8086070: b2db uxtb r3, r3 8086072: 461a mov r2, r3 8086074: 4bb1 ldr r3, [pc, #708] ; (808633c ) 8086076: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808607a: 461a mov r2, r3 808607c: 21ca movs r1, #202 ; 0xca 808607e: 20e6 movs r0, #230 ; 0xe6 8086080: f7ce f958 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 8086084: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8086088: b2db uxtb r3, r3 808608a: 461a mov r2, r3 808608c: 4bab ldr r3, [pc, #684] ; (808633c ) 808608e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086092: 461a mov r2, r3 8086094: 21ca movs r1, #202 ; 0xca 8086096: 20f6 movs r0, #246 ; 0xf6 8086098: f7ce f94c bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 808609c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80860a0: b2db uxtb r3, r3 80860a2: 461a mov r2, r3 80860a4: 4ba5 ldr r3, [pc, #660] ; (808633c ) 80860a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80860aa: 461a mov r2, r3 80860ac: 21ca movs r1, #202 ; 0xca 80860ae: f44f 7083 mov.w r0, #262 ; 0x106 80860b2: f7ce f93f bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 80860b6: 4aa3 ldr r2, [pc, #652] ; (8086344 ) 80860b8: 21ca movs r1, #202 ; 0xca 80860ba: f44f 708b mov.w r0, #278 ; 0x116 80860be: f7ce f939 bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 80860c2: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80860c6: b2db uxtb r3, r3 80860c8: 461a mov r2, r3 80860ca: 4b9c ldr r3, [pc, #624] ; (808633c ) 80860cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80860d0: 461a mov r2, r3 80860d2: 21ca movs r1, #202 ; 0xca 80860d4: f44f 7093 mov.w r0, #294 ; 0x126 80860d8: f7ce f92c bl 8054334 80860dc: e196 b.n 808640c if(menupos == VibMax_IES) 80860de: 4b94 ldr r3, [pc, #592] ; (8086330 ) 80860e0: 781b ldrb r3, [r3, #0] 80860e2: b2db uxtb r3, r3 80860e4: 2b0d cmp r3, #13 80860e6: d15d bne.n 80861a4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80860e8: 4992 ldr r1, [pc, #584] ; (8086334 ) 80860ea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80860ee: f7cd fb79 bl 80537e4 if(blk) 80860f2: 4b91 ldr r3, [pc, #580] ; (8086338 ) 80860f4: 681b ldr r3, [r3, #0] 80860f6: 2b00 cmp r3, #0 80860f8: d00b beq.n 8086112 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 80860fa: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80860fe: b2db uxtb r3, r3 8086100: 461a mov r2, r3 8086102: 4b8e ldr r3, [pc, #568] ; (808633c ) 8086104: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086108: 461a mov r2, r3 808610a: 21ca movs r1, #202 ; 0xca 808610c: 20e6 movs r0, #230 ; 0xe6 808610e: f7ce f911 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086112: 4988 ldr r1, [pc, #544] ; (8086334 ) 8086114: 488a ldr r0, [pc, #552] ; (8086340 ) 8086116: f7cd fb65 bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 808611a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808611e: b2db uxtb r3, r3 8086120: 461a mov r2, r3 8086122: 4b86 ldr r3, [pc, #536] ; (808633c ) 8086124: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086128: 461a mov r2, r3 808612a: 21ca movs r1, #202 ; 0xca 808612c: 20c6 movs r0, #198 ; 0xc6 808612e: f7ce f901 bl 8054334 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 8086132: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8086136: b2db uxtb r3, r3 8086138: 461a mov r2, r3 808613a: 4b80 ldr r3, [pc, #512] ; (808633c ) 808613c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086140: 461a mov r2, r3 8086142: 21ca movs r1, #202 ; 0xca 8086144: 20d6 movs r0, #214 ; 0xd6 8086146: f7ce f8f5 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 808614a: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808614e: b2db uxtb r3, r3 8086150: 461a mov r2, r3 8086152: 4b7a ldr r3, [pc, #488] ; (808633c ) 8086154: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086158: 461a mov r2, r3 808615a: 21ca movs r1, #202 ; 0xca 808615c: 20f6 movs r0, #246 ; 0xf6 808615e: f7ce f8e9 bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8086162: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8086166: b2db uxtb r3, r3 8086168: 461a mov r2, r3 808616a: 4b74 ldr r3, [pc, #464] ; (808633c ) 808616c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086170: 461a mov r2, r3 8086172: 21ca movs r1, #202 ; 0xca 8086174: f44f 7083 mov.w r0, #262 ; 0x106 8086178: f7ce f8dc bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 808617c: 4a71 ldr r2, [pc, #452] ; (8086344 ) 808617e: 21ca movs r1, #202 ; 0xca 8086180: f44f 708b mov.w r0, #278 ; 0x116 8086184: f7ce f8d6 bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8086188: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808618c: b2db uxtb r3, r3 808618e: 461a mov r2, r3 8086190: 4b6a ldr r3, [pc, #424] ; (808633c ) 8086192: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086196: 461a mov r2, r3 8086198: 21ca movs r1, #202 ; 0xca 808619a: f44f 7093 mov.w r0, #294 ; 0x126 808619e: f7ce f8c9 bl 8054334 80861a2: e133 b.n 808640c if(menupos == VibMax_IED) 80861a4: 4b62 ldr r3, [pc, #392] ; (8086330 ) 80861a6: 781b ldrb r3, [r3, #0] 80861a8: b2db uxtb r3, r3 80861aa: 2b0e cmp r3, #14 80861ac: d15d bne.n 808626a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80861ae: 4961 ldr r1, [pc, #388] ; (8086334 ) 80861b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80861b4: f7cd fb16 bl 80537e4 if(blk) 80861b8: 4b5f ldr r3, [pc, #380] ; (8086338 ) 80861ba: 681b ldr r3, [r3, #0] 80861bc: 2b00 cmp r3, #0 80861be: d00b beq.n 80861d8 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 80861c0: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80861c4: b2db uxtb r3, r3 80861c6: 461a mov r2, r3 80861c8: 4b5c ldr r3, [pc, #368] ; (808633c ) 80861ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80861ce: 461a mov r2, r3 80861d0: 21ca movs r1, #202 ; 0xca 80861d2: 20f6 movs r0, #246 ; 0xf6 80861d4: f7ce f8ae bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80861d8: 4956 ldr r1, [pc, #344] ; (8086334 ) 80861da: 4859 ldr r0, [pc, #356] ; (8086340 ) 80861dc: f7cd fb02 bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 80861e0: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80861e4: b2db uxtb r3, r3 80861e6: 461a mov r2, r3 80861e8: 4b54 ldr r3, [pc, #336] ; (808633c ) 80861ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80861ee: 461a mov r2, r3 80861f0: 21ca movs r1, #202 ; 0xca 80861f2: 20c6 movs r0, #198 ; 0xc6 80861f4: f7ce f89e bl 8054334 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 80861f8: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80861fc: b2db uxtb r3, r3 80861fe: 461a mov r2, r3 8086200: 4b4e ldr r3, [pc, #312] ; (808633c ) 8086202: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086206: 461a mov r2, r3 8086208: 21ca movs r1, #202 ; 0xca 808620a: 20d6 movs r0, #214 ; 0xd6 808620c: f7ce f892 bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 8086210: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8086214: b2db uxtb r3, r3 8086216: 461a mov r2, r3 8086218: 4b48 ldr r3, [pc, #288] ; (808633c ) 808621a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808621e: 461a mov r2, r3 8086220: 21ca movs r1, #202 ; 0xca 8086222: 20e6 movs r0, #230 ; 0xe6 8086224: f7ce f886 bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8086228: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808622c: b2db uxtb r3, r3 808622e: 461a mov r2, r3 8086230: 4b42 ldr r3, [pc, #264] ; (808633c ) 8086232: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086236: 461a mov r2, r3 8086238: 21ca movs r1, #202 ; 0xca 808623a: f44f 7083 mov.w r0, #262 ; 0x106 808623e: f7ce f879 bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 8086242: 4a40 ldr r2, [pc, #256] ; (8086344 ) 8086244: 21ca movs r1, #202 ; 0xca 8086246: f44f 708b mov.w r0, #278 ; 0x116 808624a: f7ce f873 bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 808624e: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8086252: b2db uxtb r3, r3 8086254: 461a mov r2, r3 8086256: 4b39 ldr r3, [pc, #228] ; (808633c ) 8086258: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808625c: 461a mov r2, r3 808625e: 21ca movs r1, #202 ; 0xca 8086260: f44f 7093 mov.w r0, #294 ; 0x126 8086264: f7ce f866 bl 8054334 8086268: e0d0 b.n 808640c if(menupos == VibMax_IEE) 808626a: 4b31 ldr r3, [pc, #196] ; (8086330 ) 808626c: 781b ldrb r3, [r3, #0] 808626e: b2db uxtb r3, r3 8086270: 2b0f cmp r3, #15 8086272: d169 bne.n 8086348 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086274: 492f ldr r1, [pc, #188] ; (8086334 ) 8086276: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808627a: f7cd fab3 bl 80537e4 if(blk) 808627e: 4b2e ldr r3, [pc, #184] ; (8086338 ) 8086280: 681b ldr r3, [r3, #0] 8086282: 2b00 cmp r3, #0 8086284: d00c beq.n 80862a0 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 8086286: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808628a: b2db uxtb r3, r3 808628c: 461a mov r2, r3 808628e: 4b2b ldr r3, [pc, #172] ; (808633c ) 8086290: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086294: 461a mov r2, r3 8086296: 21ca movs r1, #202 ; 0xca 8086298: f44f 7083 mov.w r0, #262 ; 0x106 808629c: f7ce f84a bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80862a0: 4924 ldr r1, [pc, #144] ; (8086334 ) 80862a2: 4827 ldr r0, [pc, #156] ; (8086340 ) 80862a4: f7cd fa9e bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 80862a8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80862ac: b2db uxtb r3, r3 80862ae: 461a mov r2, r3 80862b0: 4b22 ldr r3, [pc, #136] ; (808633c ) 80862b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80862b6: 461a mov r2, r3 80862b8: 21ca movs r1, #202 ; 0xca 80862ba: 20c6 movs r0, #198 ; 0xc6 80862bc: f7ce f83a bl 8054334 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 80862c0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80862c4: b2db uxtb r3, r3 80862c6: 461a mov r2, r3 80862c8: 4b1c ldr r3, [pc, #112] ; (808633c ) 80862ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80862ce: 461a mov r2, r3 80862d0: 21ca movs r1, #202 ; 0xca 80862d2: 20d6 movs r0, #214 ; 0xd6 80862d4: f7ce f82e bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 80862d8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80862dc: b2db uxtb r3, r3 80862de: 461a mov r2, r3 80862e0: 4b16 ldr r3, [pc, #88] ; (808633c ) 80862e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80862e6: 461a mov r2, r3 80862e8: 21ca movs r1, #202 ; 0xca 80862ea: 20e6 movs r0, #230 ; 0xe6 80862ec: f7ce f822 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 80862f0: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80862f4: b2db uxtb r3, r3 80862f6: 461a mov r2, r3 80862f8: 4b10 ldr r3, [pc, #64] ; (808633c ) 80862fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80862fe: 461a mov r2, r3 8086300: 21ca movs r1, #202 ; 0xca 8086302: 20f6 movs r0, #246 ; 0xf6 8086304: f7ce f816 bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 8086308: 4a0e ldr r2, [pc, #56] ; (8086344 ) 808630a: 21ca movs r1, #202 ; 0xca 808630c: f44f 708b mov.w r0, #278 ; 0x116 8086310: f7ce f810 bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8086314: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8086318: b2db uxtb r3, r3 808631a: 461a mov r2, r3 808631c: 4b07 ldr r3, [pc, #28] ; (808633c ) 808631e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086322: 461a mov r2, r3 8086324: 21ca movs r1, #202 ; 0xca 8086326: f44f 7093 mov.w r0, #294 ; 0x126 808632a: f7ce f803 bl 8054334 808632e: e06d b.n 808640c 8086330: 20020070 .word 0x20020070 8086334: ff0a0f1f .word 0xff0a0f1f 8086338: 2002165c .word 0x2002165c 808633c: 20020964 .word 0x20020964 8086340: ffd8aa57 .word 0xffd8aa57 8086344: 080cf820 .word 0x080cf820 if(menupos == VibMax_IKD) 8086348: 4b99 ldr r3, [pc, #612] ; (80865b0 ) 808634a: 781b ldrb r3, [r3, #0] 808634c: b2db uxtb r3, r3 808634e: 2b10 cmp r3, #16 8086350: d15c bne.n 808640c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086352: 4998 ldr r1, [pc, #608] ; (80865b4 ) 8086354: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086358: f7cd fa44 bl 80537e4 if(blk) 808635c: 4b96 ldr r3, [pc, #600] ; (80865b8 ) 808635e: 681b ldr r3, [r3, #0] 8086360: 2b00 cmp r3, #0 8086362: d00c beq.n 808637e LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd2]); 8086364: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8086368: b2db uxtb r3, r3 808636a: 461a mov r2, r3 808636c: 4b93 ldr r3, [pc, #588] ; (80865bc ) 808636e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086372: 461a mov r2, r3 8086374: 21ca movs r1, #202 ; 0xca 8086376: f44f 7093 mov.w r0, #294 ; 0x126 808637a: f7cd ffdb bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808637e: 498d ldr r1, [pc, #564] ; (80865b4 ) 8086380: 488f ldr r0, [pc, #572] ; (80865c0 ) 8086382: f7cd fa2f bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt2]); 8086386: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808638a: b2db uxtb r3, r3 808638c: 461a mov r2, r3 808638e: 4b8b ldr r3, [pc, #556] ; (80865bc ) 8086390: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086394: 461a mov r2, r3 8086396: 21ca movs r1, #202 ; 0xca 8086398: 20c6 movs r0, #198 ; 0xc6 808639a: f7cd ffcb bl 8054334 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet2]); 808639e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80863a2: b2db uxtb r3, r3 80863a4: 461a mov r2, r3 80863a6: 4b85 ldr r3, [pc, #532] ; (80865bc ) 80863a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80863ac: 461a mov r2, r3 80863ae: 21ca movs r1, #202 ; 0xca 80863b0: 20d6 movs r0, #214 ; 0xd6 80863b2: f7cd ffbf bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies2]); 80863b6: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80863ba: b2db uxtb r3, r3 80863bc: 461a mov r2, r3 80863be: 4b7f ldr r3, [pc, #508] ; (80865bc ) 80863c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80863c4: 461a mov r2, r3 80863c6: 21ca movs r1, #202 ; 0xca 80863c8: 20e6 movs r0, #230 ; 0xe6 80863ca: f7cd ffb3 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied2]); 80863ce: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80863d2: b2db uxtb r3, r3 80863d4: 461a mov r2, r3 80863d6: 4b79 ldr r3, [pc, #484] ; (80865bc ) 80863d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80863dc: 461a mov r2, r3 80863de: 21ca movs r1, #202 ; 0xca 80863e0: 20f6 movs r0, #246 ; 0xf6 80863e2: f7cd ffa7 bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee2]); 80863e6: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80863ea: b2db uxtb r3, r3 80863ec: 461a mov r2, r3 80863ee: 4b73 ldr r3, [pc, #460] ; (80865bc ) 80863f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80863f4: 461a mov r2, r3 80863f6: 21ca movs r1, #202 ; 0xca 80863f8: f44f 7083 mov.w r0, #262 ; 0x106 80863fc: f7cd ff9a bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 8086400: 4a70 ldr r2, [pc, #448] ; (80865c4 ) 8086402: 21ca movs r1, #202 ; 0xca 8086404: f44f 708b mov.w r0, #278 ; 0x116 8086408: f7cd ff94 bl 8054334 if(pardata.OPTIONS & BIT2) // Åñëè àâòîóñèëåíèå 808640c: 4b6e ldr r3, [pc, #440] ; (80865c8 ) 808640e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086412: f003 0304 and.w r3, r3, #4 8086416: 2b00 cmp r3, #0 8086418: f002 8303 beq.w 8088a22 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808641c: 4965 ldr r1, [pc, #404] ; (80865b4 ) 808641e: 486b ldr r0, [pc, #428] ; (80865cc ) 8086420: f7cd f9e0 bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_11 + 2, 6, 6); 8086424: 2306 movs r3, #6 8086426: 2206 movs r2, #6 8086428: 21bf movs r1, #191 ; 0xbf 808642a: f240 1001 movw r0, #257 ; 0x101 808642e: f7cd fe67 bl 8054100 break; 8086432: f002 baf6 b.w 8088a22 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8086436: 495f ldr r1, [pc, #380] ; (80865b4 ) 8086438: 4865 ldr r0, [pc, #404] ; (80865d0 ) 808643a: f7cd f9d3 bl 80537e4 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 808643e: 4b62 ldr r3, [pc, #392] ; (80865c8 ) 8086440: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086444: f003 0304 and.w r3, r3, #4 8086448: 2b00 cmp r3, #0 808644a: d02d beq.n 80864a8 if(pardata.IIN != VOLTS) 808644c: 4b5e ldr r3, [pc, #376] ; (80865c8 ) 808644e: 799b ldrb r3, [r3, #6] 8086450: b2db uxtb r3, r3 8086452: 2b02 cmp r3, #2 8086454: d010 beq.n 8086478 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086456: 4b5c ldr r3, [pc, #368] ; (80865c8 ) 8086458: 7b1b ldrb r3, [r3, #12] 808645a: b2db uxtb r3, r3 808645c: 4619 mov r1, r3 808645e: 4a5d ldr r2, [pc, #372] ; (80865d4 ) 8086460: 232c movs r3, #44 ; 0x2c 8086462: fb03 f301 mul.w r3, r3, r1 8086466: 4413 add r3, r2 8086468: 3324 adds r3, #36 ; 0x24 808646a: 681b ldr r3, [r3, #0] 808646c: 461a mov r2, r3 808646e: 21aa movs r1, #170 ; 0xaa 8086470: 200a movs r0, #10 8086472: f7cd ff5f bl 8054334 8086476: e00f b.n 8086498 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086478: 4b53 ldr r3, [pc, #332] ; (80865c8 ) 808647a: 7b1b ldrb r3, [r3, #12] 808647c: b2db uxtb r3, r3 808647e: 4619 mov r1, r3 8086480: 4a55 ldr r2, [pc, #340] ; (80865d8 ) 8086482: 232c movs r3, #44 ; 0x2c 8086484: fb03 f301 mul.w r3, r3, r1 8086488: 4413 add r3, r2 808648a: 3324 adds r3, #36 ; 0x24 808648c: 681b ldr r3, [r3, #0] 808648e: 461a mov r2, r3 8086490: 21aa movs r1, #170 ; 0xaa 8086492: 200a movs r0, #10 8086494: f7cd ff4e bl 8054334 LCD_DisplayStringC(260, LCD_LINE_10, str); 8086498: f507 733b add.w r3, r7, #748 ; 0x2ec 808649c: 461a mov r2, r3 808649e: 21aa movs r1, #170 ; 0xaa 80864a0: f44f 7082 mov.w r0, #260 ; 0x104 80864a4: f7cd ff5e bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80864a8: 4942 ldr r1, [pc, #264] ; (80865b4 ) 80864aa: f04f 30ff mov.w r0, #4294967295 80864ae: f7cd f999 bl 80537e4 if(pardata.LANG == RUS) 80864b2: 4b45 ldr r3, [pc, #276] ; (80865c8 ) 80864b4: 7b1b ldrb r3, [r3, #12] 80864b6: b2db uxtb r3, r3 80864b8: 2b00 cmp r3, #0 80864ba: d119 bne.n 80864f0 LCD_DisplayString(10, LCD_LINE_4, "Âåëè÷èíà"); 80864bc: 4a47 ldr r2, [pc, #284] ; (80865dc ) 80864be: 214a movs r1, #74 ; 0x4a 80864c0: 200a movs r0, #10 80864c2: f7cd ff37 bl 8054334 LCD_DisplayString(10, LCD_LINE_5, "Ôèëüòð Â×(Ãö)"); 80864c6: 4a46 ldr r2, [pc, #280] ; (80865e0 ) 80864c8: 215a movs r1, #90 ; 0x5a 80864ca: 200a movs r0, #10 80864cc: f7cd ff32 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Ôèëüòð Í×(Ãö)"); 80864d0: 4a44 ldr r2, [pc, #272] ; (80865e4 ) 80864d2: 216a movs r1, #106 ; 0x6a 80864d4: 200a movs r0, #10 80864d6: f7cd ff2d bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Ìàñøòàá ïî Y"); 80864da: 4a43 ldr r2, [pc, #268] ; (80865e8 ) 80864dc: 217a movs r1, #122 ; 0x7a 80864de: 200a movs r0, #10 80864e0: f7cd ff28 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Âðåìåííîé èíòåðâàë"); 80864e4: 4a41 ldr r2, [pc, #260] ; (80865ec ) 80864e6: 218a movs r1, #138 ; 0x8a 80864e8: 200a movs r0, #10 80864ea: f7cd ff23 bl 8054334 80864ee: e018 b.n 8086522 LCD_DisplayString(10, LCD_LINE_4, "Parameter"); 80864f0: 4a3f ldr r2, [pc, #252] ; (80865f0 ) 80864f2: 214a movs r1, #74 ; 0x4a 80864f4: 200a movs r0, #10 80864f6: f7cd ff1d bl 8054334 LCD_DisplayString(10, LCD_LINE_5, "HPF(Hz)"); 80864fa: 4a3e ldr r2, [pc, #248] ; (80865f4 ) 80864fc: 215a movs r1, #90 ; 0x5a 80864fe: 200a movs r0, #10 8086500: f7cd ff18 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "LPF(Hz)"); 8086504: 4a3c ldr r2, [pc, #240] ; (80865f8 ) 8086506: 216a movs r1, #106 ; 0x6a 8086508: 200a movs r0, #10 808650a: f7cd ff13 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Scale Y"); 808650e: 4a3b ldr r2, [pc, #236] ; (80865fc ) 8086510: 217a movs r1, #122 ; 0x7a 8086512: 200a movs r0, #10 8086514: f7cd ff0e bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Time period"); 8086518: 4a39 ldr r2, [pc, #228] ; (8086600 ) 808651a: 218a movs r1, #138 ; 0x8a 808651c: 200a movs r0, #10 808651e: f7cd ff09 bl 8054334 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][8]);//"Óñèëåíèå" 8086522: 4b29 ldr r3, [pc, #164] ; (80865c8 ) 8086524: 7b1b ldrb r3, [r3, #12] 8086526: b2db uxtb r3, r3 8086528: 4619 mov r1, r3 808652a: 4a2a ldr r2, [pc, #168] ; (80865d4 ) 808652c: 232c movs r3, #44 ; 0x2c 808652e: fb03 f301 mul.w r3, r3, r1 8086532: 4413 add r3, r2 8086534: 3320 adds r3, #32 8086536: 681b ldr r3, [r3, #0] 8086538: 461a mov r2, r3 808653a: 219a movs r1, #154 ; 0x9a 808653c: 200a movs r0, #10 808653e: f7cd fef9 bl 8054334 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8086542: 230a movs r3, #10 8086544: 220a movs r2, #10 8086546: 219d movs r1, #157 ; 0x9d 8086548: 20ff movs r0, #255 ; 0xff 808654a: f7cd fdd9 bl 8054100 if(menupos == Ok) 808654e: 4b18 ldr r3, [pc, #96] ; (80865b0 ) 8086550: 781b ldrb r3, [r3, #0] 8086552: b2db uxtb r3, r3 8086554: 2b00 cmp r3, #0 8086556: f040 8100 bne.w 808675a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808655a: 4916 ldr r1, [pc, #88] ; (80865b4 ) 808655c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086560: f7cd f940 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086564: 4b18 ldr r3, [pc, #96] ; (80865c8 ) 8086566: 7b1b ldrb r3, [r3, #12] 8086568: b2db uxtb r3, r3 808656a: 461a mov r2, r3 808656c: 4b25 ldr r3, [pc, #148] ; (8086604 ) 808656e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086572: 461a mov r2, r3 8086574: 2127 movs r1, #39 ; 0x27 8086576: 200a movs r0, #10 8086578: f7cd fedc bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808657c: 490d ldr r1, [pc, #52] ; (80865b4 ) 808657e: 4810 ldr r0, [pc, #64] ; (80865c0 ) 8086580: f7cd f930 bl 80537e4 if((pardata.OPTIONS & maskFFT) == okt) 8086584: 4b10 ldr r3, [pc, #64] ; (80865c8 ) 8086586: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808658a: f003 0330 and.w r3, r3, #48 ; 0x30 808658e: 2b20 cmp r3, #32 8086590: d13c bne.n 808660c LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8086592: 4b0d ldr r3, [pc, #52] ; (80865c8 ) 8086594: 7b1b ldrb r3, [r3, #12] 8086596: b2db uxtb r3, r3 8086598: 4a1b ldr r2, [pc, #108] ; (8086608 ) 808659a: 011b lsls r3, r3, #4 808659c: 4413 add r3, r2 808659e: 3308 adds r3, #8 80865a0: 681b ldr r3, [r3, #0] 80865a2: 461a mov r2, r3 80865a4: 213a movs r1, #58 ; 0x3a 80865a6: f44f 7082 mov.w r0, #260 ; 0x104 80865aa: f7cd fedb bl 8054364 80865ae: e03b b.n 8086628 80865b0: 20020070 .word 0x20020070 80865b4: ff0a0f1f .word 0xff0a0f1f 80865b8: 2002165c .word 0x2002165c 80865bc: 20020964 .word 0x20020964 80865c0: ffd8aa57 .word 0xffd8aa57 80865c4: 080cf820 .word 0x080cf820 80865c8: 20023e60 .word 0x20023e60 80865cc: ff404040 .word 0xff404040 80865d0: ff808080 .word 0xff808080 80865d4: 200206b4 .word 0x200206b4 80865d8: 2002070c .word 0x2002070c 80865dc: 080cf760 .word 0x080cf760 80865e0: 080cf208 .word 0x080cf208 80865e4: 080cf218 .word 0x080cf218 80865e8: 080d0098 .word 0x080d0098 80865ec: 080cf24c .word 0x080cf24c 80865f0: 080cf76c .word 0x080cf76c 80865f4: 080cf2b8 .word 0x080cf2b8 80865f8: 080cf2c0 .word 0x080cf2c0 80865fc: 080d00b8 .word 0x080d00b8 8086600: 080cf2e0 .word 0x080cf2e0 8086604: 200205c4 .word 0x200205c4 8086608: 2002029c .word 0x2002029c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 808660c: 4b83 ldr r3, [pc, #524] ; (808681c ) 808660e: 7b1b ldrb r3, [r3, #12] 8086610: b2db uxtb r3, r3 8086612: 4a83 ldr r2, [pc, #524] ; (8086820 ) 8086614: 011b lsls r3, r3, #4 8086616: 4413 add r3, r2 8086618: 330c adds r3, #12 808661a: 681b ldr r3, [r3, #0] 808661c: 461a mov r2, r3 808661e: 213a movs r1, #58 ; 0x3a 8086620: f44f 7082 mov.w r0, #260 ; 0x104 8086624: f7cd fe9e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086628: 4b7c ldr r3, [pc, #496] ; (808681c ) 808662a: 7b1b ldrb r3, [r3, #12] 808662c: b2db uxtb r3, r3 808662e: 4618 mov r0, r3 8086630: 4b7a ldr r3, [pc, #488] ; (808681c ) 8086632: 7a9b ldrb r3, [r3, #10] 8086634: b2db uxtb r3, r3 8086636: 4619 mov r1, r3 8086638: 4a7a ldr r2, [pc, #488] ; (8086824 ) 808663a: 0043 lsls r3, r0, #1 808663c: 440b add r3, r1 808663e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086642: 461a mov r2, r3 8086644: 217a movs r1, #122 ; 0x7a 8086646: f44f 7082 mov.w r0, #260 ; 0x104 808664a: f7cd fe8b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 808664e: 4b73 ldr r3, [pc, #460] ; (808681c ) 8086650: 7b1b ldrb r3, [r3, #12] 8086652: b2db uxtb r3, r3 8086654: 4619 mov r1, r3 8086656: 4b71 ldr r3, [pc, #452] ; (808681c ) 8086658: 7b5b ldrb r3, [r3, #13] 808665a: b2db uxtb r3, r3 808665c: 4618 mov r0, r3 808665e: 4a72 ldr r2, [pc, #456] ; (8086828 ) 8086660: 460b mov r3, r1 8086662: 009b lsls r3, r3, #2 8086664: 440b add r3, r1 8086666: 005b lsls r3, r3, #1 8086668: 4403 add r3, r0 808666a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808666e: 461a mov r2, r3 8086670: 218a movs r1, #138 ; 0x8a 8086672: f44f 7082 mov.w r0, #260 ; 0x104 8086676: f7cd fe75 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 808667a: 4b68 ldr r3, [pc, #416] ; (808681c ) 808667c: 7b1b ldrb r3, [r3, #12] 808667e: b2db uxtb r3, r3 8086680: 4618 mov r0, r3 8086682: 4b66 ldr r3, [pc, #408] ; (808681c ) 8086684: 785b ldrb r3, [r3, #1] 8086686: b2db uxtb r3, r3 8086688: 005b lsls r3, r3, #1 808668a: 4a64 ldr r2, [pc, #400] ; (808681c ) 808668c: 7852 ldrb r2, [r2, #1] 808668e: b2d2 uxtb r2, r2 8086690: 4611 mov r1, r2 8086692: 4a62 ldr r2, [pc, #392] ; (808681c ) 8086694: 440a add r2, r1 8086696: 7892 ldrb r2, [r2, #2] 8086698: b2d2 uxtb r2, r2 808669a: 431a orrs r2, r3 808669c: 4963 ldr r1, [pc, #396] ; (808682c ) 808669e: 4603 mov r3, r0 80866a0: 005b lsls r3, r3, #1 80866a2: 4403 add r3, r0 80866a4: 005b lsls r3, r3, #1 80866a6: 4413 add r3, r2 80866a8: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80866ac: 461a mov r2, r3 80866ae: 214a movs r1, #74 ; 0x4a 80866b0: f44f 7082 mov.w r0, #260 ; 0x104 80866b4: f7cd fe56 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80866b8: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80866bc: 461a mov r2, r3 80866be: 215a movs r1, #90 ; 0x5a 80866c0: f44f 7082 mov.w r0, #260 ; 0x104 80866c4: f7cd fe4e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80866c8: f507 73cc add.w r3, r7, #408 ; 0x198 80866cc: 461a mov r2, r3 80866ce: 216a movs r1, #106 ; 0x6a 80866d0: f44f 7082 mov.w r0, #260 ; 0x104 80866d4: f7cd fe46 bl 8054364 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 80866d8: 4b50 ldr r3, [pc, #320] ; (808681c ) 80866da: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80866de: f003 0304 and.w r3, r3, #4 80866e2: 2b00 cmp r3, #0 80866e4: f042 818a bne.w 80889fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80866e8: 4951 ldr r1, [pc, #324] ; (8086830 ) 80866ea: f04f 30ff mov.w r0, #4294967295 80866ee: f7cd f879 bl 80537e4 if(pardata.IIN != VOLTS) 80866f2: 4b4a ldr r3, [pc, #296] ; (808681c ) 80866f4: 799b ldrb r3, [r3, #6] 80866f6: b2db uxtb r3, r3 80866f8: 2b02 cmp r3, #2 80866fa: d010 beq.n 808671e LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80866fc: 4b47 ldr r3, [pc, #284] ; (808681c ) 80866fe: 7b1b ldrb r3, [r3, #12] 8086700: b2db uxtb r3, r3 8086702: 4619 mov r1, r3 8086704: 4a4b ldr r2, [pc, #300] ; (8086834 ) 8086706: 232c movs r3, #44 ; 0x2c 8086708: fb03 f301 mul.w r3, r3, r1 808670c: 4413 add r3, r2 808670e: 3324 adds r3, #36 ; 0x24 8086710: 681b ldr r3, [r3, #0] 8086712: 461a mov r2, r3 8086714: 21aa movs r1, #170 ; 0xaa 8086716: 200a movs r0, #10 8086718: f7cd fe0c bl 8054334 808671c: e00f b.n 808673e else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808671e: 4b3f ldr r3, [pc, #252] ; (808681c ) 8086720: 7b1b ldrb r3, [r3, #12] 8086722: b2db uxtb r3, r3 8086724: 4619 mov r1, r3 8086726: 4a44 ldr r2, [pc, #272] ; (8086838 ) 8086728: 232c movs r3, #44 ; 0x2c 808672a: fb03 f301 mul.w r3, r3, r1 808672e: 4413 add r3, r2 8086730: 3324 adds r3, #36 ; 0x24 8086732: 681b ldr r3, [r3, #0] 8086734: 461a mov r2, r3 8086736: 21aa movs r1, #170 ; 0xaa 8086738: 200a movs r0, #10 808673a: f7cd fdfb bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808673e: 493c ldr r1, [pc, #240] ; (8086830 ) 8086740: 483e ldr r0, [pc, #248] ; (808683c ) 8086742: f7cd f84f bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, str); 8086746: f507 733b add.w r3, r7, #748 ; 0x2ec 808674a: 461a mov r2, r3 808674c: 21aa movs r1, #170 ; 0xaa 808674e: f44f 7082 mov.w r0, #260 ; 0x104 8086752: f7cd fe07 bl 8054364 8086756: f002 b951 b.w 80889fc if(menupos == SpecType) 808675a: 4b39 ldr r3, [pc, #228] ; (8086840 ) 808675c: 781b ldrb r3, [r3, #0] 808675e: b2db uxtb r3, r3 8086760: 2b01 cmp r3, #1 8086762: f040 8120 bne.w 80869a6 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086766: 4932 ldr r1, [pc, #200] ; (8086830 ) 8086768: f04f 30ff mov.w r0, #4294967295 808676c: f7cd f83a bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086770: 4b2a ldr r3, [pc, #168] ; (808681c ) 8086772: 7b1b ldrb r3, [r3, #12] 8086774: b2db uxtb r3, r3 8086776: 461a mov r2, r3 8086778: 4b32 ldr r3, [pc, #200] ; (8086844 ) 808677a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808677e: 461a mov r2, r3 8086780: 2127 movs r1, #39 ; 0x27 8086782: 200a movs r0, #10 8086784: f7cd fdd6 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086788: 4929 ldr r1, [pc, #164] ; (8086830 ) 808678a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808678e: f7cd f829 bl 80537e4 if(focused) 8086792: 4b2d ldr r3, [pc, #180] ; (8086848 ) 8086794: 781b ldrb r3, [r3, #0] 8086796: b2db uxtb r3, r3 8086798: 2b00 cmp r3, #0 808679a: d028 beq.n 80867ee if(blk) 808679c: 4b2b ldr r3, [pc, #172] ; (808684c ) 808679e: 681b ldr r3, [r3, #0] 80867a0: 2b00 cmp r3, #0 80867a2: d063 beq.n 808686c if((pardata.OPTIONS & maskFFT) == okt) 80867a4: 4b1d ldr r3, [pc, #116] ; (808681c ) 80867a6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80867aa: f003 0330 and.w r3, r3, #48 ; 0x30 80867ae: 2b20 cmp r3, #32 80867b0: d10e bne.n 80867d0 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 80867b2: 4b1a ldr r3, [pc, #104] ; (808681c ) 80867b4: 7b1b ldrb r3, [r3, #12] 80867b6: b2db uxtb r3, r3 80867b8: 4a19 ldr r2, [pc, #100] ; (8086820 ) 80867ba: 011b lsls r3, r3, #4 80867bc: 4413 add r3, r2 80867be: 3308 adds r3, #8 80867c0: 681b ldr r3, [r3, #0] 80867c2: 461a mov r2, r3 80867c4: 213a movs r1, #58 ; 0x3a 80867c6: f44f 7082 mov.w r0, #260 ; 0x104 80867ca: f7cd fdcb bl 8054364 80867ce: e04d b.n 808686c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 80867d0: 4b12 ldr r3, [pc, #72] ; (808681c ) 80867d2: 7b1b ldrb r3, [r3, #12] 80867d4: b2db uxtb r3, r3 80867d6: 4a12 ldr r2, [pc, #72] ; (8086820 ) 80867d8: 011b lsls r3, r3, #4 80867da: 4413 add r3, r2 80867dc: 330c adds r3, #12 80867de: 681b ldr r3, [r3, #0] 80867e0: 461a mov r2, r3 80867e2: 213a movs r1, #58 ; 0x3a 80867e4: f44f 7082 mov.w r0, #260 ; 0x104 80867e8: f7cd fdbc bl 8054364 80867ec: e03e b.n 808686c if((pardata.OPTIONS & maskFFT) == okt) 80867ee: 4b0b ldr r3, [pc, #44] ; (808681c ) 80867f0: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80867f4: f003 0330 and.w r3, r3, #48 ; 0x30 80867f8: 2b20 cmp r3, #32 80867fa: d129 bne.n 8086850 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 80867fc: 4b07 ldr r3, [pc, #28] ; (808681c ) 80867fe: 7b1b ldrb r3, [r3, #12] 8086800: b2db uxtb r3, r3 8086802: 4a07 ldr r2, [pc, #28] ; (8086820 ) 8086804: 011b lsls r3, r3, #4 8086806: 4413 add r3, r2 8086808: 3308 adds r3, #8 808680a: 681b ldr r3, [r3, #0] 808680c: 461a mov r2, r3 808680e: 213a movs r1, #58 ; 0x3a 8086810: f44f 7082 mov.w r0, #260 ; 0x104 8086814: f7cd fda6 bl 8054364 8086818: e028 b.n 808686c 808681a: bf00 nop 808681c: 20023e60 .word 0x20023e60 8086820: 2002029c .word 0x2002029c 8086824: 20020214 .word 0x20020214 8086828: 2002024c .word 0x2002024c 808682c: 2002019c .word 0x2002019c 8086830: ff0a0f1f .word 0xff0a0f1f 8086834: 200206b4 .word 0x200206b4 8086838: 2002070c .word 0x2002070c 808683c: ffd8aa57 .word 0xffd8aa57 8086840: 20020070 .word 0x20020070 8086844: 200205c4 .word 0x200205c4 8086848: 20020f84 .word 0x20020f84 808684c: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8086850: 4b94 ldr r3, [pc, #592] ; (8086aa4 ) 8086852: 7b1b ldrb r3, [r3, #12] 8086854: b2db uxtb r3, r3 8086856: 4a94 ldr r2, [pc, #592] ; (8086aa8 ) 8086858: 011b lsls r3, r3, #4 808685a: 4413 add r3, r2 808685c: 330c adds r3, #12 808685e: 681b ldr r3, [r3, #0] 8086860: 461a mov r2, r3 8086862: 213a movs r1, #58 ; 0x3a 8086864: f44f 7082 mov.w r0, #260 ; 0x104 8086868: f7cd fd7c bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808686c: 498f ldr r1, [pc, #572] ; (8086aac ) 808686e: 4890 ldr r0, [pc, #576] ; (8086ab0 ) 8086870: f7cc ffb8 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086874: 4b8b ldr r3, [pc, #556] ; (8086aa4 ) 8086876: 7b1b ldrb r3, [r3, #12] 8086878: b2db uxtb r3, r3 808687a: 4618 mov r0, r3 808687c: 4b89 ldr r3, [pc, #548] ; (8086aa4 ) 808687e: 7a9b ldrb r3, [r3, #10] 8086880: b2db uxtb r3, r3 8086882: 4619 mov r1, r3 8086884: 4a8b ldr r2, [pc, #556] ; (8086ab4 ) 8086886: 0043 lsls r3, r0, #1 8086888: 440b add r3, r1 808688a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808688e: 461a mov r2, r3 8086890: 217a movs r1, #122 ; 0x7a 8086892: f44f 7082 mov.w r0, #260 ; 0x104 8086896: f7cd fd65 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 808689a: 4b82 ldr r3, [pc, #520] ; (8086aa4 ) 808689c: 7b1b ldrb r3, [r3, #12] 808689e: b2db uxtb r3, r3 80868a0: 4619 mov r1, r3 80868a2: 4b80 ldr r3, [pc, #512] ; (8086aa4 ) 80868a4: 7b5b ldrb r3, [r3, #13] 80868a6: b2db uxtb r3, r3 80868a8: 4618 mov r0, r3 80868aa: 4a83 ldr r2, [pc, #524] ; (8086ab8 ) 80868ac: 460b mov r3, r1 80868ae: 009b lsls r3, r3, #2 80868b0: 440b add r3, r1 80868b2: 005b lsls r3, r3, #1 80868b4: 4403 add r3, r0 80868b6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80868ba: 461a mov r2, r3 80868bc: 218a movs r1, #138 ; 0x8a 80868be: f44f 7082 mov.w r0, #260 ; 0x104 80868c2: f7cd fd4f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80868c6: 4b77 ldr r3, [pc, #476] ; (8086aa4 ) 80868c8: 7b1b ldrb r3, [r3, #12] 80868ca: b2db uxtb r3, r3 80868cc: 4618 mov r0, r3 80868ce: 4b75 ldr r3, [pc, #468] ; (8086aa4 ) 80868d0: 785b ldrb r3, [r3, #1] 80868d2: b2db uxtb r3, r3 80868d4: 005b lsls r3, r3, #1 80868d6: 4a73 ldr r2, [pc, #460] ; (8086aa4 ) 80868d8: 7852 ldrb r2, [r2, #1] 80868da: b2d2 uxtb r2, r2 80868dc: 4611 mov r1, r2 80868de: 4a71 ldr r2, [pc, #452] ; (8086aa4 ) 80868e0: 440a add r2, r1 80868e2: 7892 ldrb r2, [r2, #2] 80868e4: b2d2 uxtb r2, r2 80868e6: 431a orrs r2, r3 80868e8: 4974 ldr r1, [pc, #464] ; (8086abc ) 80868ea: 4603 mov r3, r0 80868ec: 005b lsls r3, r3, #1 80868ee: 4403 add r3, r0 80868f0: 005b lsls r3, r3, #1 80868f2: 4413 add r3, r2 80868f4: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80868f8: 461a mov r2, r3 80868fa: 214a movs r1, #74 ; 0x4a 80868fc: f44f 7082 mov.w r0, #260 ; 0x104 8086900: f7cd fd30 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8086904: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8086908: 461a mov r2, r3 808690a: 215a movs r1, #90 ; 0x5a 808690c: f44f 7082 mov.w r0, #260 ; 0x104 8086910: f7cd fd28 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8086914: f507 73cc add.w r3, r7, #408 ; 0x198 8086918: 461a mov r2, r3 808691a: 216a movs r1, #106 ; 0x6a 808691c: f44f 7082 mov.w r0, #260 ; 0x104 8086920: f7cd fd20 bl 8054364 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8086924: 4b5f ldr r3, [pc, #380] ; (8086aa4 ) 8086926: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808692a: f003 0304 and.w r3, r3, #4 808692e: 2b00 cmp r3, #0 8086930: f042 8064 bne.w 80889fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086934: 495d ldr r1, [pc, #372] ; (8086aac ) 8086936: f04f 30ff mov.w r0, #4294967295 808693a: f7cc ff53 bl 80537e4 if(pardata.IIN != VOLTS) 808693e: 4b59 ldr r3, [pc, #356] ; (8086aa4 ) 8086940: 799b ldrb r3, [r3, #6] 8086942: b2db uxtb r3, r3 8086944: 2b02 cmp r3, #2 8086946: d010 beq.n 808696a LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086948: 4b56 ldr r3, [pc, #344] ; (8086aa4 ) 808694a: 7b1b ldrb r3, [r3, #12] 808694c: b2db uxtb r3, r3 808694e: 4619 mov r1, r3 8086950: 4a5b ldr r2, [pc, #364] ; (8086ac0 ) 8086952: 232c movs r3, #44 ; 0x2c 8086954: fb03 f301 mul.w r3, r3, r1 8086958: 4413 add r3, r2 808695a: 3324 adds r3, #36 ; 0x24 808695c: 681b ldr r3, [r3, #0] 808695e: 461a mov r2, r3 8086960: 21aa movs r1, #170 ; 0xaa 8086962: 200a movs r0, #10 8086964: f7cd fce6 bl 8054334 8086968: e00f b.n 808698a else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808696a: 4b4e ldr r3, [pc, #312] ; (8086aa4 ) 808696c: 7b1b ldrb r3, [r3, #12] 808696e: b2db uxtb r3, r3 8086970: 4619 mov r1, r3 8086972: 4a54 ldr r2, [pc, #336] ; (8086ac4 ) 8086974: 232c movs r3, #44 ; 0x2c 8086976: fb03 f301 mul.w r3, r3, r1 808697a: 4413 add r3, r2 808697c: 3324 adds r3, #36 ; 0x24 808697e: 681b ldr r3, [r3, #0] 8086980: 461a mov r2, r3 8086982: 21aa movs r1, #170 ; 0xaa 8086984: 200a movs r0, #10 8086986: f7cd fcd5 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808698a: 4948 ldr r1, [pc, #288] ; (8086aac ) 808698c: 4848 ldr r0, [pc, #288] ; (8086ab0 ) 808698e: f7cc ff29 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, str); 8086992: f507 733b add.w r3, r7, #748 ; 0x2ec 8086996: 461a mov r2, r3 8086998: 21aa movs r1, #170 ; 0xaa 808699a: f44f 7082 mov.w r0, #260 ; 0x104 808699e: f7cd fce1 bl 8054364 80869a2: f002 b82b b.w 80889fc if(menupos == SpecValue) 80869a6: 4b48 ldr r3, [pc, #288] ; (8086ac8 ) 80869a8: 781b ldrb r3, [r3, #0] 80869aa: b2db uxtb r3, r3 80869ac: 2b02 cmp r3, #2 80869ae: f040 811b bne.w 8086be8 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80869b2: 493e ldr r1, [pc, #248] ; (8086aac ) 80869b4: f04f 30ff mov.w r0, #4294967295 80869b8: f7cc ff14 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80869bc: 4b39 ldr r3, [pc, #228] ; (8086aa4 ) 80869be: 7b1b ldrb r3, [r3, #12] 80869c0: b2db uxtb r3, r3 80869c2: 461a mov r2, r3 80869c4: 4b41 ldr r3, [pc, #260] ; (8086acc ) 80869c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80869ca: 461a mov r2, r3 80869cc: 2127 movs r1, #39 ; 0x27 80869ce: 200a movs r0, #10 80869d0: f7cd fcb0 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80869d4: 4935 ldr r1, [pc, #212] ; (8086aac ) 80869d6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80869da: f7cc ff03 bl 80537e4 if(focused) 80869de: 4b3c ldr r3, [pc, #240] ; (8086ad0 ) 80869e0: 781b ldrb r3, [r3, #0] 80869e2: b2db uxtb r3, r3 80869e4: 2b00 cmp r3, #0 80869e6: d023 beq.n 8086a30 if(blk) 80869e8: 4b3a ldr r3, [pc, #232] ; (8086ad4 ) 80869ea: 681b ldr r3, [r3, #0] 80869ec: 2b00 cmp r3, #0 80869ee: d03e beq.n 8086a6e LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80869f0: 4b2c ldr r3, [pc, #176] ; (8086aa4 ) 80869f2: 7b1b ldrb r3, [r3, #12] 80869f4: b2db uxtb r3, r3 80869f6: 4618 mov r0, r3 80869f8: 4b2a ldr r3, [pc, #168] ; (8086aa4 ) 80869fa: 785b ldrb r3, [r3, #1] 80869fc: b2db uxtb r3, r3 80869fe: 005b lsls r3, r3, #1 8086a00: 4a28 ldr r2, [pc, #160] ; (8086aa4 ) 8086a02: 7852 ldrb r2, [r2, #1] 8086a04: b2d2 uxtb r2, r2 8086a06: 4611 mov r1, r2 8086a08: 4a26 ldr r2, [pc, #152] ; (8086aa4 ) 8086a0a: 440a add r2, r1 8086a0c: 7892 ldrb r2, [r2, #2] 8086a0e: b2d2 uxtb r2, r2 8086a10: 431a orrs r2, r3 8086a12: 492a ldr r1, [pc, #168] ; (8086abc ) 8086a14: 4603 mov r3, r0 8086a16: 005b lsls r3, r3, #1 8086a18: 4403 add r3, r0 8086a1a: 005b lsls r3, r3, #1 8086a1c: 4413 add r3, r2 8086a1e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8086a22: 461a mov r2, r3 8086a24: 214a movs r1, #74 ; 0x4a 8086a26: f44f 7082 mov.w r0, #260 ; 0x104 8086a2a: f7cd fc9b bl 8054364 8086a2e: e01e b.n 8086a6e LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8086a30: 4b1c ldr r3, [pc, #112] ; (8086aa4 ) 8086a32: 7b1b ldrb r3, [r3, #12] 8086a34: b2db uxtb r3, r3 8086a36: 4618 mov r0, r3 8086a38: 4b1a ldr r3, [pc, #104] ; (8086aa4 ) 8086a3a: 785b ldrb r3, [r3, #1] 8086a3c: b2db uxtb r3, r3 8086a3e: 005b lsls r3, r3, #1 8086a40: 4a18 ldr r2, [pc, #96] ; (8086aa4 ) 8086a42: 7852 ldrb r2, [r2, #1] 8086a44: b2d2 uxtb r2, r2 8086a46: 4611 mov r1, r2 8086a48: 4a16 ldr r2, [pc, #88] ; (8086aa4 ) 8086a4a: 440a add r2, r1 8086a4c: 7892 ldrb r2, [r2, #2] 8086a4e: b2d2 uxtb r2, r2 8086a50: 431a orrs r2, r3 8086a52: 491a ldr r1, [pc, #104] ; (8086abc ) 8086a54: 4603 mov r3, r0 8086a56: 005b lsls r3, r3, #1 8086a58: 4403 add r3, r0 8086a5a: 005b lsls r3, r3, #1 8086a5c: 4413 add r3, r2 8086a5e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8086a62: 461a mov r2, r3 8086a64: 214a movs r1, #74 ; 0x4a 8086a66: f44f 7082 mov.w r0, #260 ; 0x104 8086a6a: f7cd fc7b bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086a6e: 490f ldr r1, [pc, #60] ; (8086aac ) 8086a70: 480f ldr r0, [pc, #60] ; (8086ab0 ) 8086a72: f7cc feb7 bl 80537e4 if((pardata.OPTIONS & maskFFT) == okt) 8086a76: 4b0b ldr r3, [pc, #44] ; (8086aa4 ) 8086a78: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086a7c: f003 0330 and.w r3, r3, #48 ; 0x30 8086a80: 2b20 cmp r3, #32 8086a82: d129 bne.n 8086ad8 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8086a84: 4b07 ldr r3, [pc, #28] ; (8086aa4 ) 8086a86: 7b1b ldrb r3, [r3, #12] 8086a88: b2db uxtb r3, r3 8086a8a: 4a07 ldr r2, [pc, #28] ; (8086aa8 ) 8086a8c: 011b lsls r3, r3, #4 8086a8e: 4413 add r3, r2 8086a90: 3308 adds r3, #8 8086a92: 681b ldr r3, [r3, #0] 8086a94: 461a mov r2, r3 8086a96: 213a movs r1, #58 ; 0x3a 8086a98: f44f 7082 mov.w r0, #260 ; 0x104 8086a9c: f7cd fc62 bl 8054364 8086aa0: e028 b.n 8086af4 8086aa2: bf00 nop 8086aa4: 20023e60 .word 0x20023e60 8086aa8: 2002029c .word 0x2002029c 8086aac: ff0a0f1f .word 0xff0a0f1f 8086ab0: ffd8aa57 .word 0xffd8aa57 8086ab4: 20020214 .word 0x20020214 8086ab8: 2002024c .word 0x2002024c 8086abc: 2002019c .word 0x2002019c 8086ac0: 200206b4 .word 0x200206b4 8086ac4: 2002070c .word 0x2002070c 8086ac8: 20020070 .word 0x20020070 8086acc: 200205c4 .word 0x200205c4 8086ad0: 20020f84 .word 0x20020f84 8086ad4: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8086ad8: 4bb2 ldr r3, [pc, #712] ; (8086da4 ) 8086ada: 7b1b ldrb r3, [r3, #12] 8086adc: b2db uxtb r3, r3 8086ade: 4ab2 ldr r2, [pc, #712] ; (8086da8 ) 8086ae0: 011b lsls r3, r3, #4 8086ae2: 4413 add r3, r2 8086ae4: 330c adds r3, #12 8086ae6: 681b ldr r3, [r3, #0] 8086ae8: 461a mov r2, r3 8086aea: 213a movs r1, #58 ; 0x3a 8086aec: f44f 7082 mov.w r0, #260 ; 0x104 8086af0: f7cd fc38 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8086af4: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8086af8: 461a mov r2, r3 8086afa: 215a movs r1, #90 ; 0x5a 8086afc: f44f 7082 mov.w r0, #260 ; 0x104 8086b00: f7cd fc30 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8086b04: f507 73cc add.w r3, r7, #408 ; 0x198 8086b08: 461a mov r2, r3 8086b0a: 216a movs r1, #106 ; 0x6a 8086b0c: f44f 7082 mov.w r0, #260 ; 0x104 8086b10: f7cd fc28 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086b14: 4ba3 ldr r3, [pc, #652] ; (8086da4 ) 8086b16: 7b1b ldrb r3, [r3, #12] 8086b18: b2db uxtb r3, r3 8086b1a: 4618 mov r0, r3 8086b1c: 4ba1 ldr r3, [pc, #644] ; (8086da4 ) 8086b1e: 7a9b ldrb r3, [r3, #10] 8086b20: b2db uxtb r3, r3 8086b22: 4619 mov r1, r3 8086b24: 4aa1 ldr r2, [pc, #644] ; (8086dac ) 8086b26: 0043 lsls r3, r0, #1 8086b28: 440b add r3, r1 8086b2a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086b2e: 461a mov r2, r3 8086b30: 217a movs r1, #122 ; 0x7a 8086b32: f44f 7082 mov.w r0, #260 ; 0x104 8086b36: f7cd fc15 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8086b3a: 4b9a ldr r3, [pc, #616] ; (8086da4 ) 8086b3c: 7b1b ldrb r3, [r3, #12] 8086b3e: b2db uxtb r3, r3 8086b40: 4619 mov r1, r3 8086b42: 4b98 ldr r3, [pc, #608] ; (8086da4 ) 8086b44: 7b5b ldrb r3, [r3, #13] 8086b46: b2db uxtb r3, r3 8086b48: 4618 mov r0, r3 8086b4a: 4a99 ldr r2, [pc, #612] ; (8086db0 ) 8086b4c: 460b mov r3, r1 8086b4e: 009b lsls r3, r3, #2 8086b50: 440b add r3, r1 8086b52: 005b lsls r3, r3, #1 8086b54: 4403 add r3, r0 8086b56: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086b5a: 461a mov r2, r3 8086b5c: 218a movs r1, #138 ; 0x8a 8086b5e: f44f 7082 mov.w r0, #260 ; 0x104 8086b62: f7cd fbff bl 8054364 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8086b66: 4b8f ldr r3, [pc, #572] ; (8086da4 ) 8086b68: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086b6c: f003 0304 and.w r3, r3, #4 8086b70: 2b00 cmp r3, #0 8086b72: f041 8743 bne.w 80889fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086b76: 498f ldr r1, [pc, #572] ; (8086db4 ) 8086b78: f04f 30ff mov.w r0, #4294967295 8086b7c: f7cc fe32 bl 80537e4 if(pardata.IIN != VOLTS) 8086b80: 4b88 ldr r3, [pc, #544] ; (8086da4 ) 8086b82: 799b ldrb r3, [r3, #6] 8086b84: b2db uxtb r3, r3 8086b86: 2b02 cmp r3, #2 8086b88: d010 beq.n 8086bac LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086b8a: 4b86 ldr r3, [pc, #536] ; (8086da4 ) 8086b8c: 7b1b ldrb r3, [r3, #12] 8086b8e: b2db uxtb r3, r3 8086b90: 4619 mov r1, r3 8086b92: 4a89 ldr r2, [pc, #548] ; (8086db8 ) 8086b94: 232c movs r3, #44 ; 0x2c 8086b96: fb03 f301 mul.w r3, r3, r1 8086b9a: 4413 add r3, r2 8086b9c: 3324 adds r3, #36 ; 0x24 8086b9e: 681b ldr r3, [r3, #0] 8086ba0: 461a mov r2, r3 8086ba2: 21aa movs r1, #170 ; 0xaa 8086ba4: 200a movs r0, #10 8086ba6: f7cd fbc5 bl 8054334 8086baa: e00f b.n 8086bcc else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8086bac: 4b7d ldr r3, [pc, #500] ; (8086da4 ) 8086bae: 7b1b ldrb r3, [r3, #12] 8086bb0: b2db uxtb r3, r3 8086bb2: 4619 mov r1, r3 8086bb4: 4a81 ldr r2, [pc, #516] ; (8086dbc ) 8086bb6: 232c movs r3, #44 ; 0x2c 8086bb8: fb03 f301 mul.w r3, r3, r1 8086bbc: 4413 add r3, r2 8086bbe: 3324 adds r3, #36 ; 0x24 8086bc0: 681b ldr r3, [r3, #0] 8086bc2: 461a mov r2, r3 8086bc4: 21aa movs r1, #170 ; 0xaa 8086bc6: 200a movs r0, #10 8086bc8: f7cd fbb4 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086bcc: 4979 ldr r1, [pc, #484] ; (8086db4 ) 8086bce: 487c ldr r0, [pc, #496] ; (8086dc0 ) 8086bd0: f7cc fe08 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, str); 8086bd4: f507 733b add.w r3, r7, #748 ; 0x2ec 8086bd8: 461a mov r2, r3 8086bda: 21aa movs r1, #170 ; 0xaa 8086bdc: f44f 7082 mov.w r0, #260 ; 0x104 8086be0: f7cd fbc0 bl 8054364 8086be4: f001 bf0a b.w 80889fc if(menupos == FilterHP) 8086be8: 4b76 ldr r3, [pc, #472] ; (8086dc4 ) 8086bea: 781b ldrb r3, [r3, #0] 8086bec: b2db uxtb r3, r3 8086bee: 2b17 cmp r3, #23 8086bf0: f040 80ee bne.w 8086dd0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086bf4: 496f ldr r1, [pc, #444] ; (8086db4 ) 8086bf6: f04f 30ff mov.w r0, #4294967295 8086bfa: f7cc fdf3 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086bfe: 4b69 ldr r3, [pc, #420] ; (8086da4 ) 8086c00: 7b1b ldrb r3, [r3, #12] 8086c02: b2db uxtb r3, r3 8086c04: 461a mov r2, r3 8086c06: 4b70 ldr r3, [pc, #448] ; (8086dc8 ) 8086c08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086c0c: 461a mov r2, r3 8086c0e: 2127 movs r1, #39 ; 0x27 8086c10: 200a movs r0, #10 8086c12: f7cd fb8f bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086c16: 4967 ldr r1, [pc, #412] ; (8086db4 ) 8086c18: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086c1c: f7cc fde2 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8086c20: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8086c24: 461a mov r2, r3 8086c26: 215a movs r1, #90 ; 0x5a 8086c28: f44f 7082 mov.w r0, #260 ; 0x104 8086c2c: f7cd fb9a bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086c30: 4960 ldr r1, [pc, #384] ; (8086db4 ) 8086c32: 4863 ldr r0, [pc, #396] ; (8086dc0 ) 8086c34: f7cc fdd6 bl 80537e4 if((pardata.OPTIONS & maskFFT) == okt) 8086c38: 4b5a ldr r3, [pc, #360] ; (8086da4 ) 8086c3a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086c3e: f003 0330 and.w r3, r3, #48 ; 0x30 8086c42: 2b20 cmp r3, #32 8086c44: d10e bne.n 8086c64 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8086c46: 4b57 ldr r3, [pc, #348] ; (8086da4 ) 8086c48: 7b1b ldrb r3, [r3, #12] 8086c4a: b2db uxtb r3, r3 8086c4c: 4a56 ldr r2, [pc, #344] ; (8086da8 ) 8086c4e: 011b lsls r3, r3, #4 8086c50: 4413 add r3, r2 8086c52: 3308 adds r3, #8 8086c54: 681b ldr r3, [r3, #0] 8086c56: 461a mov r2, r3 8086c58: 213a movs r1, #58 ; 0x3a 8086c5a: f44f 7082 mov.w r0, #260 ; 0x104 8086c5e: f7cd fb81 bl 8054364 8086c62: e00d b.n 8086c80 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8086c64: 4b4f ldr r3, [pc, #316] ; (8086da4 ) 8086c66: 7b1b ldrb r3, [r3, #12] 8086c68: b2db uxtb r3, r3 8086c6a: 4a4f ldr r2, [pc, #316] ; (8086da8 ) 8086c6c: 011b lsls r3, r3, #4 8086c6e: 4413 add r3, r2 8086c70: 330c adds r3, #12 8086c72: 681b ldr r3, [r3, #0] 8086c74: 461a mov r2, r3 8086c76: 213a movs r1, #58 ; 0x3a 8086c78: f44f 7082 mov.w r0, #260 ; 0x104 8086c7c: f7cd fb72 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8086c80: 4b48 ldr r3, [pc, #288] ; (8086da4 ) 8086c82: 7b1b ldrb r3, [r3, #12] 8086c84: b2db uxtb r3, r3 8086c86: 4618 mov r0, r3 8086c88: 4b46 ldr r3, [pc, #280] ; (8086da4 ) 8086c8a: 785b ldrb r3, [r3, #1] 8086c8c: b2db uxtb r3, r3 8086c8e: 005b lsls r3, r3, #1 8086c90: 4a44 ldr r2, [pc, #272] ; (8086da4 ) 8086c92: 7852 ldrb r2, [r2, #1] 8086c94: b2d2 uxtb r2, r2 8086c96: 4611 mov r1, r2 8086c98: 4a42 ldr r2, [pc, #264] ; (8086da4 ) 8086c9a: 440a add r2, r1 8086c9c: 7892 ldrb r2, [r2, #2] 8086c9e: b2d2 uxtb r2, r2 8086ca0: 431a orrs r2, r3 8086ca2: 494a ldr r1, [pc, #296] ; (8086dcc ) 8086ca4: 4603 mov r3, r0 8086ca6: 005b lsls r3, r3, #1 8086ca8: 4403 add r3, r0 8086caa: 005b lsls r3, r3, #1 8086cac: 4413 add r3, r2 8086cae: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8086cb2: 461a mov r2, r3 8086cb4: 214a movs r1, #74 ; 0x4a 8086cb6: f44f 7082 mov.w r0, #260 ; 0x104 8086cba: f7cd fb53 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8086cbe: f507 73cc add.w r3, r7, #408 ; 0x198 8086cc2: 461a mov r2, r3 8086cc4: 216a movs r1, #106 ; 0x6a 8086cc6: f44f 7082 mov.w r0, #260 ; 0x104 8086cca: f7cd fb4b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086cce: 4b35 ldr r3, [pc, #212] ; (8086da4 ) 8086cd0: 7b1b ldrb r3, [r3, #12] 8086cd2: b2db uxtb r3, r3 8086cd4: 4618 mov r0, r3 8086cd6: 4b33 ldr r3, [pc, #204] ; (8086da4 ) 8086cd8: 7a9b ldrb r3, [r3, #10] 8086cda: b2db uxtb r3, r3 8086cdc: 4619 mov r1, r3 8086cde: 4a33 ldr r2, [pc, #204] ; (8086dac ) 8086ce0: 0043 lsls r3, r0, #1 8086ce2: 440b add r3, r1 8086ce4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086ce8: 461a mov r2, r3 8086cea: 217a movs r1, #122 ; 0x7a 8086cec: f44f 7082 mov.w r0, #260 ; 0x104 8086cf0: f7cd fb38 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8086cf4: 4b2b ldr r3, [pc, #172] ; (8086da4 ) 8086cf6: 7b1b ldrb r3, [r3, #12] 8086cf8: b2db uxtb r3, r3 8086cfa: 4619 mov r1, r3 8086cfc: 4b29 ldr r3, [pc, #164] ; (8086da4 ) 8086cfe: 7b5b ldrb r3, [r3, #13] 8086d00: b2db uxtb r3, r3 8086d02: 4618 mov r0, r3 8086d04: 4a2a ldr r2, [pc, #168] ; (8086db0 ) 8086d06: 460b mov r3, r1 8086d08: 009b lsls r3, r3, #2 8086d0a: 440b add r3, r1 8086d0c: 005b lsls r3, r3, #1 8086d0e: 4403 add r3, r0 8086d10: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086d14: 461a mov r2, r3 8086d16: 218a movs r1, #138 ; 0x8a 8086d18: f44f 7082 mov.w r0, #260 ; 0x104 8086d1c: f7cd fb22 bl 8054364 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8086d20: 4b20 ldr r3, [pc, #128] ; (8086da4 ) 8086d22: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086d26: f003 0304 and.w r3, r3, #4 8086d2a: 2b00 cmp r3, #0 8086d2c: f041 8666 bne.w 80889fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086d30: 4920 ldr r1, [pc, #128] ; (8086db4 ) 8086d32: f04f 30ff mov.w r0, #4294967295 8086d36: f7cc fd55 bl 80537e4 if(pardata.IIN != VOLTS) 8086d3a: 4b1a ldr r3, [pc, #104] ; (8086da4 ) 8086d3c: 799b ldrb r3, [r3, #6] 8086d3e: b2db uxtb r3, r3 8086d40: 2b02 cmp r3, #2 8086d42: d010 beq.n 8086d66 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086d44: 4b17 ldr r3, [pc, #92] ; (8086da4 ) 8086d46: 7b1b ldrb r3, [r3, #12] 8086d48: b2db uxtb r3, r3 8086d4a: 4619 mov r1, r3 8086d4c: 4a1a ldr r2, [pc, #104] ; (8086db8 ) 8086d4e: 232c movs r3, #44 ; 0x2c 8086d50: fb03 f301 mul.w r3, r3, r1 8086d54: 4413 add r3, r2 8086d56: 3324 adds r3, #36 ; 0x24 8086d58: 681b ldr r3, [r3, #0] 8086d5a: 461a mov r2, r3 8086d5c: 21aa movs r1, #170 ; 0xaa 8086d5e: 200a movs r0, #10 8086d60: f7cd fae8 bl 8054334 8086d64: e00f b.n 8086d86 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8086d66: 4b0f ldr r3, [pc, #60] ; (8086da4 ) 8086d68: 7b1b ldrb r3, [r3, #12] 8086d6a: b2db uxtb r3, r3 8086d6c: 4619 mov r1, r3 8086d6e: 4a13 ldr r2, [pc, #76] ; (8086dbc ) 8086d70: 232c movs r3, #44 ; 0x2c 8086d72: fb03 f301 mul.w r3, r3, r1 8086d76: 4413 add r3, r2 8086d78: 3324 adds r3, #36 ; 0x24 8086d7a: 681b ldr r3, [r3, #0] 8086d7c: 461a mov r2, r3 8086d7e: 21aa movs r1, #170 ; 0xaa 8086d80: 200a movs r0, #10 8086d82: f7cd fad7 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086d86: 490b ldr r1, [pc, #44] ; (8086db4 ) 8086d88: 480d ldr r0, [pc, #52] ; (8086dc0 ) 8086d8a: f7cc fd2b bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, str); 8086d8e: f507 733b add.w r3, r7, #748 ; 0x2ec 8086d92: 461a mov r2, r3 8086d94: 21aa movs r1, #170 ; 0xaa 8086d96: f44f 7082 mov.w r0, #260 ; 0x104 8086d9a: f7cd fae3 bl 8054364 8086d9e: f001 be2d b.w 80889fc 8086da2: bf00 nop 8086da4: 20023e60 .word 0x20023e60 8086da8: 2002029c .word 0x2002029c 8086dac: 20020214 .word 0x20020214 8086db0: 2002024c .word 0x2002024c 8086db4: ff0a0f1f .word 0xff0a0f1f 8086db8: 200206b4 .word 0x200206b4 8086dbc: 2002070c .word 0x2002070c 8086dc0: ffd8aa57 .word 0xffd8aa57 8086dc4: 20020070 .word 0x20020070 8086dc8: 200205c4 .word 0x200205c4 8086dcc: 2002019c .word 0x2002019c if(menupos == FilterLP) 8086dd0: 4ba1 ldr r3, [pc, #644] ; (8087058 ) 8086dd2: 781b ldrb r3, [r3, #0] 8086dd4: b2db uxtb r3, r3 8086dd6: 2b18 cmp r3, #24 8086dd8: f040 80d7 bne.w 8086f8a LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086ddc: 499f ldr r1, [pc, #636] ; (808705c ) 8086dde: f04f 30ff mov.w r0, #4294967295 8086de2: f7cc fcff bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086de6: 4b9e ldr r3, [pc, #632] ; (8087060 ) 8086de8: 7b1b ldrb r3, [r3, #12] 8086dea: b2db uxtb r3, r3 8086dec: 461a mov r2, r3 8086dee: 4b9d ldr r3, [pc, #628] ; (8087064 ) 8086df0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086df4: 461a mov r2, r3 8086df6: 2127 movs r1, #39 ; 0x27 8086df8: 200a movs r0, #10 8086dfa: f7cd fa9b bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086dfe: 4997 ldr r1, [pc, #604] ; (808705c ) 8086e00: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086e04: f7cc fcee bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8086e08: f507 73cc add.w r3, r7, #408 ; 0x198 8086e0c: 461a mov r2, r3 8086e0e: 216a movs r1, #106 ; 0x6a 8086e10: f44f 7082 mov.w r0, #260 ; 0x104 8086e14: f7cd faa6 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086e18: 4990 ldr r1, [pc, #576] ; (808705c ) 8086e1a: 4893 ldr r0, [pc, #588] ; (8087068 ) 8086e1c: f7cc fce2 bl 80537e4 if((pardata.OPTIONS & maskFFT) == okt) 8086e20: 4b8f ldr r3, [pc, #572] ; (8087060 ) 8086e22: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086e26: f003 0330 and.w r3, r3, #48 ; 0x30 8086e2a: 2b20 cmp r3, #32 8086e2c: d10e bne.n 8086e4c LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8086e2e: 4b8c ldr r3, [pc, #560] ; (8087060 ) 8086e30: 7b1b ldrb r3, [r3, #12] 8086e32: b2db uxtb r3, r3 8086e34: 4a8d ldr r2, [pc, #564] ; (808706c ) 8086e36: 011b lsls r3, r3, #4 8086e38: 4413 add r3, r2 8086e3a: 3308 adds r3, #8 8086e3c: 681b ldr r3, [r3, #0] 8086e3e: 461a mov r2, r3 8086e40: 213a movs r1, #58 ; 0x3a 8086e42: f44f 7082 mov.w r0, #260 ; 0x104 8086e46: f7cd fa8d bl 8054364 8086e4a: e00d b.n 8086e68 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8086e4c: 4b84 ldr r3, [pc, #528] ; (8087060 ) 8086e4e: 7b1b ldrb r3, [r3, #12] 8086e50: b2db uxtb r3, r3 8086e52: 4a86 ldr r2, [pc, #536] ; (808706c ) 8086e54: 011b lsls r3, r3, #4 8086e56: 4413 add r3, r2 8086e58: 330c adds r3, #12 8086e5a: 681b ldr r3, [r3, #0] 8086e5c: 461a mov r2, r3 8086e5e: 213a movs r1, #58 ; 0x3a 8086e60: f44f 7082 mov.w r0, #260 ; 0x104 8086e64: f7cd fa7e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8086e68: 4b7d ldr r3, [pc, #500] ; (8087060 ) 8086e6a: 7b1b ldrb r3, [r3, #12] 8086e6c: b2db uxtb r3, r3 8086e6e: 4618 mov r0, r3 8086e70: 4b7b ldr r3, [pc, #492] ; (8087060 ) 8086e72: 785b ldrb r3, [r3, #1] 8086e74: b2db uxtb r3, r3 8086e76: 005b lsls r3, r3, #1 8086e78: 4a79 ldr r2, [pc, #484] ; (8087060 ) 8086e7a: 7852 ldrb r2, [r2, #1] 8086e7c: b2d2 uxtb r2, r2 8086e7e: 4611 mov r1, r2 8086e80: 4a77 ldr r2, [pc, #476] ; (8087060 ) 8086e82: 440a add r2, r1 8086e84: 7892 ldrb r2, [r2, #2] 8086e86: b2d2 uxtb r2, r2 8086e88: 431a orrs r2, r3 8086e8a: 4979 ldr r1, [pc, #484] ; (8087070 ) 8086e8c: 4603 mov r3, r0 8086e8e: 005b lsls r3, r3, #1 8086e90: 4403 add r3, r0 8086e92: 005b lsls r3, r3, #1 8086e94: 4413 add r3, r2 8086e96: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8086e9a: 461a mov r2, r3 8086e9c: 214a movs r1, #74 ; 0x4a 8086e9e: f44f 7082 mov.w r0, #260 ; 0x104 8086ea2: f7cd fa5f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8086ea6: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8086eaa: 461a mov r2, r3 8086eac: 215a movs r1, #90 ; 0x5a 8086eae: f44f 7082 mov.w r0, #260 ; 0x104 8086eb2: f7cd fa57 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086eb6: 4b6a ldr r3, [pc, #424] ; (8087060 ) 8086eb8: 7b1b ldrb r3, [r3, #12] 8086eba: b2db uxtb r3, r3 8086ebc: 4618 mov r0, r3 8086ebe: 4b68 ldr r3, [pc, #416] ; (8087060 ) 8086ec0: 7a9b ldrb r3, [r3, #10] 8086ec2: b2db uxtb r3, r3 8086ec4: 4619 mov r1, r3 8086ec6: 4a6b ldr r2, [pc, #428] ; (8087074 ) 8086ec8: 0043 lsls r3, r0, #1 8086eca: 440b add r3, r1 8086ecc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086ed0: 461a mov r2, r3 8086ed2: 217a movs r1, #122 ; 0x7a 8086ed4: f44f 7082 mov.w r0, #260 ; 0x104 8086ed8: f7cd fa44 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8086edc: 4b60 ldr r3, [pc, #384] ; (8087060 ) 8086ede: 7b1b ldrb r3, [r3, #12] 8086ee0: b2db uxtb r3, r3 8086ee2: 4619 mov r1, r3 8086ee4: 4b5e ldr r3, [pc, #376] ; (8087060 ) 8086ee6: 7b5b ldrb r3, [r3, #13] 8086ee8: b2db uxtb r3, r3 8086eea: 4618 mov r0, r3 8086eec: 4a62 ldr r2, [pc, #392] ; (8087078 ) 8086eee: 460b mov r3, r1 8086ef0: 009b lsls r3, r3, #2 8086ef2: 440b add r3, r1 8086ef4: 005b lsls r3, r3, #1 8086ef6: 4403 add r3, r0 8086ef8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086efc: 461a mov r2, r3 8086efe: 218a movs r1, #138 ; 0x8a 8086f00: f44f 7082 mov.w r0, #260 ; 0x104 8086f04: f7cd fa2e bl 8054364 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8086f08: 4b55 ldr r3, [pc, #340] ; (8087060 ) 8086f0a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8086f0e: f003 0304 and.w r3, r3, #4 8086f12: 2b00 cmp r3, #0 8086f14: f041 8572 bne.w 80889fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086f18: 4950 ldr r1, [pc, #320] ; (808705c ) 8086f1a: f04f 30ff mov.w r0, #4294967295 8086f1e: f7cc fc61 bl 80537e4 if(pardata.IIN != VOLTS) 8086f22: 4b4f ldr r3, [pc, #316] ; (8087060 ) 8086f24: 799b ldrb r3, [r3, #6] 8086f26: b2db uxtb r3, r3 8086f28: 2b02 cmp r3, #2 8086f2a: d010 beq.n 8086f4e LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8086f2c: 4b4c ldr r3, [pc, #304] ; (8087060 ) 8086f2e: 7b1b ldrb r3, [r3, #12] 8086f30: b2db uxtb r3, r3 8086f32: 4619 mov r1, r3 8086f34: 4a51 ldr r2, [pc, #324] ; (808707c ) 8086f36: 232c movs r3, #44 ; 0x2c 8086f38: fb03 f301 mul.w r3, r3, r1 8086f3c: 4413 add r3, r2 8086f3e: 3324 adds r3, #36 ; 0x24 8086f40: 681b ldr r3, [r3, #0] 8086f42: 461a mov r2, r3 8086f44: 21aa movs r1, #170 ; 0xaa 8086f46: 200a movs r0, #10 8086f48: f7cd f9f4 bl 8054334 8086f4c: e00f b.n 8086f6e else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8086f4e: 4b44 ldr r3, [pc, #272] ; (8087060 ) 8086f50: 7b1b ldrb r3, [r3, #12] 8086f52: b2db uxtb r3, r3 8086f54: 4619 mov r1, r3 8086f56: 4a4a ldr r2, [pc, #296] ; (8087080 ) 8086f58: 232c movs r3, #44 ; 0x2c 8086f5a: fb03 f301 mul.w r3, r3, r1 8086f5e: 4413 add r3, r2 8086f60: 3324 adds r3, #36 ; 0x24 8086f62: 681b ldr r3, [r3, #0] 8086f64: 461a mov r2, r3 8086f66: 21aa movs r1, #170 ; 0xaa 8086f68: 200a movs r0, #10 8086f6a: f7cd f9e3 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8086f6e: 493b ldr r1, [pc, #236] ; (808705c ) 8086f70: 483d ldr r0, [pc, #244] ; (8087068 ) 8086f72: f7cc fc37 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, str); 8086f76: f507 733b add.w r3, r7, #748 ; 0x2ec 8086f7a: 461a mov r2, r3 8086f7c: 21aa movs r1, #170 ; 0xaa 8086f7e: f44f 7082 mov.w r0, #260 ; 0x104 8086f82: f7cd f9ef bl 8054364 8086f86: f001 bd39 b.w 80889fc if(menupos == LinLog) 8086f8a: 4b33 ldr r3, [pc, #204] ; (8087058 ) 8086f8c: 781b ldrb r3, [r3, #0] 8086f8e: b2db uxtb r3, r3 8086f90: 2b05 cmp r3, #5 8086f92: f040 810f bne.w 80871b4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8086f96: 4931 ldr r1, [pc, #196] ; (808705c ) 8086f98: f04f 30ff mov.w r0, #4294967295 8086f9c: f7cc fc22 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 8086fa0: 4b2f ldr r3, [pc, #188] ; (8087060 ) 8086fa2: 7b1b ldrb r3, [r3, #12] 8086fa4: b2db uxtb r3, r3 8086fa6: 461a mov r2, r3 8086fa8: 4b2e ldr r3, [pc, #184] ; (8087064 ) 8086faa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8086fae: 461a mov r2, r3 8086fb0: 2127 movs r1, #39 ; 0x27 8086fb2: 200a movs r0, #10 8086fb4: f7cd f9be bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8086fb8: 4928 ldr r1, [pc, #160] ; (808705c ) 8086fba: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8086fbe: f7cc fc11 bl 80537e4 if(focused) 8086fc2: 4b30 ldr r3, [pc, #192] ; (8087084 ) 8086fc4: 781b ldrb r3, [r3, #0] 8086fc6: b2db uxtb r3, r3 8086fc8: 2b00 cmp r3, #0 8086fca: d017 beq.n 8086ffc if(blk) 8086fcc: 4b2e ldr r3, [pc, #184] ; (8087088 ) 8086fce: 681b ldr r3, [r3, #0] 8086fd0: 2b00 cmp r3, #0 8086fd2: d026 beq.n 8087022 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086fd4: 4b22 ldr r3, [pc, #136] ; (8087060 ) 8086fd6: 7b1b ldrb r3, [r3, #12] 8086fd8: b2db uxtb r3, r3 8086fda: 4618 mov r0, r3 8086fdc: 4b20 ldr r3, [pc, #128] ; (8087060 ) 8086fde: 7a9b ldrb r3, [r3, #10] 8086fe0: b2db uxtb r3, r3 8086fe2: 4619 mov r1, r3 8086fe4: 4a23 ldr r2, [pc, #140] ; (8087074 ) 8086fe6: 0043 lsls r3, r0, #1 8086fe8: 440b add r3, r1 8086fea: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8086fee: 461a mov r2, r3 8086ff0: 217a movs r1, #122 ; 0x7a 8086ff2: f44f 7082 mov.w r0, #260 ; 0x104 8086ff6: f7cd f9b5 bl 8054364 8086ffa: e012 b.n 8087022 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8086ffc: 4b18 ldr r3, [pc, #96] ; (8087060 ) 8086ffe: 7b1b ldrb r3, [r3, #12] 8087000: b2db uxtb r3, r3 8087002: 4618 mov r0, r3 8087004: 4b16 ldr r3, [pc, #88] ; (8087060 ) 8087006: 7a9b ldrb r3, [r3, #10] 8087008: b2db uxtb r3, r3 808700a: 4619 mov r1, r3 808700c: 4a19 ldr r2, [pc, #100] ; (8087074 ) 808700e: 0043 lsls r3, r0, #1 8087010: 440b add r3, r1 8087012: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087016: 461a mov r2, r3 8087018: 217a movs r1, #122 ; 0x7a 808701a: f44f 7082 mov.w r0, #260 ; 0x104 808701e: f7cd f9a1 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087022: 490e ldr r1, [pc, #56] ; (808705c ) 8087024: 4810 ldr r0, [pc, #64] ; (8087068 ) 8087026: f7cc fbdd bl 80537e4 if((pardata.OPTIONS & maskFFT) == okt) 808702a: 4b0d ldr r3, [pc, #52] ; (8087060 ) 808702c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087030: f003 0330 and.w r3, r3, #48 ; 0x30 8087034: 2b20 cmp r3, #32 8087036: d129 bne.n 808708c LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8087038: 4b09 ldr r3, [pc, #36] ; (8087060 ) 808703a: 7b1b ldrb r3, [r3, #12] 808703c: b2db uxtb r3, r3 808703e: 4a0b ldr r2, [pc, #44] ; (808706c ) 8087040: 011b lsls r3, r3, #4 8087042: 4413 add r3, r2 8087044: 3308 adds r3, #8 8087046: 681b ldr r3, [r3, #0] 8087048: 461a mov r2, r3 808704a: 213a movs r1, #58 ; 0x3a 808704c: f44f 7082 mov.w r0, #260 ; 0x104 8087050: f7cd f988 bl 8054364 8087054: e028 b.n 80870a8 8087056: bf00 nop 8087058: 20020070 .word 0x20020070 808705c: ff0a0f1f .word 0xff0a0f1f 8087060: 20023e60 .word 0x20023e60 8087064: 200205c4 .word 0x200205c4 8087068: ffd8aa57 .word 0xffd8aa57 808706c: 2002029c .word 0x2002029c 8087070: 2002019c .word 0x2002019c 8087074: 20020214 .word 0x20020214 8087078: 2002024c .word 0x2002024c 808707c: 200206b4 .word 0x200206b4 8087080: 2002070c .word 0x2002070c 8087084: 20020f84 .word 0x20020f84 8087088: 2002165c .word 0x2002165c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 808708c: 4bc8 ldr r3, [pc, #800] ; (80873b0 ) 808708e: 7b1b ldrb r3, [r3, #12] 8087090: b2db uxtb r3, r3 8087092: 4ac8 ldr r2, [pc, #800] ; (80873b4 ) 8087094: 011b lsls r3, r3, #4 8087096: 4413 add r3, r2 8087098: 330c adds r3, #12 808709a: 681b ldr r3, [r3, #0] 808709c: 461a mov r2, r3 808709e: 213a movs r1, #58 ; 0x3a 80870a0: f44f 7082 mov.w r0, #260 ; 0x104 80870a4: f7cd f95e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80870a8: 4bc1 ldr r3, [pc, #772] ; (80873b0 ) 80870aa: 7b1b ldrb r3, [r3, #12] 80870ac: b2db uxtb r3, r3 80870ae: 4618 mov r0, r3 80870b0: 4bbf ldr r3, [pc, #764] ; (80873b0 ) 80870b2: 785b ldrb r3, [r3, #1] 80870b4: b2db uxtb r3, r3 80870b6: 005b lsls r3, r3, #1 80870b8: 4abd ldr r2, [pc, #756] ; (80873b0 ) 80870ba: 7852 ldrb r2, [r2, #1] 80870bc: b2d2 uxtb r2, r2 80870be: 4611 mov r1, r2 80870c0: 4abb ldr r2, [pc, #748] ; (80873b0 ) 80870c2: 440a add r2, r1 80870c4: 7892 ldrb r2, [r2, #2] 80870c6: b2d2 uxtb r2, r2 80870c8: 431a orrs r2, r3 80870ca: 49bb ldr r1, [pc, #748] ; (80873b8 ) 80870cc: 4603 mov r3, r0 80870ce: 005b lsls r3, r3, #1 80870d0: 4403 add r3, r0 80870d2: 005b lsls r3, r3, #1 80870d4: 4413 add r3, r2 80870d6: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80870da: 461a mov r2, r3 80870dc: 214a movs r1, #74 ; 0x4a 80870de: f44f 7082 mov.w r0, #260 ; 0x104 80870e2: f7cd f93f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80870e6: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80870ea: 461a mov r2, r3 80870ec: 215a movs r1, #90 ; 0x5a 80870ee: f44f 7082 mov.w r0, #260 ; 0x104 80870f2: f7cd f937 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80870f6: f507 73cc add.w r3, r7, #408 ; 0x198 80870fa: 461a mov r2, r3 80870fc: 216a movs r1, #106 ; 0x6a 80870fe: f44f 7082 mov.w r0, #260 ; 0x104 8087102: f7cd f92f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8087106: 4baa ldr r3, [pc, #680] ; (80873b0 ) 8087108: 7b1b ldrb r3, [r3, #12] 808710a: b2db uxtb r3, r3 808710c: 4619 mov r1, r3 808710e: 4ba8 ldr r3, [pc, #672] ; (80873b0 ) 8087110: 7b5b ldrb r3, [r3, #13] 8087112: b2db uxtb r3, r3 8087114: 4618 mov r0, r3 8087116: 4aa9 ldr r2, [pc, #676] ; (80873bc ) 8087118: 460b mov r3, r1 808711a: 009b lsls r3, r3, #2 808711c: 440b add r3, r1 808711e: 005b lsls r3, r3, #1 8087120: 4403 add r3, r0 8087122: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087126: 461a mov r2, r3 8087128: 218a movs r1, #138 ; 0x8a 808712a: f44f 7082 mov.w r0, #260 ; 0x104 808712e: f7cd f919 bl 8054364 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 8087132: 4b9f ldr r3, [pc, #636] ; (80873b0 ) 8087134: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087138: f003 0304 and.w r3, r3, #4 808713c: 2b00 cmp r3, #0 808713e: f041 845d bne.w 80889fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087142: 499f ldr r1, [pc, #636] ; (80873c0 ) 8087144: f04f 30ff mov.w r0, #4294967295 8087148: f7cc fb4c bl 80537e4 if(pardata.IIN != VOLTS) 808714c: 4b98 ldr r3, [pc, #608] ; (80873b0 ) 808714e: 799b ldrb r3, [r3, #6] 8087150: b2db uxtb r3, r3 8087152: 2b02 cmp r3, #2 8087154: d010 beq.n 8087178 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087156: 4b96 ldr r3, [pc, #600] ; (80873b0 ) 8087158: 7b1b ldrb r3, [r3, #12] 808715a: b2db uxtb r3, r3 808715c: 4619 mov r1, r3 808715e: 4a99 ldr r2, [pc, #612] ; (80873c4 ) 8087160: 232c movs r3, #44 ; 0x2c 8087162: fb03 f301 mul.w r3, r3, r1 8087166: 4413 add r3, r2 8087168: 3324 adds r3, #36 ; 0x24 808716a: 681b ldr r3, [r3, #0] 808716c: 461a mov r2, r3 808716e: 21aa movs r1, #170 ; 0xaa 8087170: 200a movs r0, #10 8087172: f7cd f8df bl 8054334 8087176: e00f b.n 8087198 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087178: 4b8d ldr r3, [pc, #564] ; (80873b0 ) 808717a: 7b1b ldrb r3, [r3, #12] 808717c: b2db uxtb r3, r3 808717e: 4619 mov r1, r3 8087180: 4a91 ldr r2, [pc, #580] ; (80873c8 ) 8087182: 232c movs r3, #44 ; 0x2c 8087184: fb03 f301 mul.w r3, r3, r1 8087188: 4413 add r3, r2 808718a: 3324 adds r3, #36 ; 0x24 808718c: 681b ldr r3, [r3, #0] 808718e: 461a mov r2, r3 8087190: 21aa movs r1, #170 ; 0xaa 8087192: 200a movs r0, #10 8087194: f7cd f8ce bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087198: 4989 ldr r1, [pc, #548] ; (80873c0 ) 808719a: 488c ldr r0, [pc, #560] ; (80873cc ) 808719c: f7cc fb22 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, str); 80871a0: f507 733b add.w r3, r7, #748 ; 0x2ec 80871a4: 461a mov r2, r3 80871a6: 21aa movs r1, #170 ; 0xaa 80871a8: f44f 7082 mov.w r0, #260 ; 0x104 80871ac: f7cd f8da bl 8054364 80871b0: f001 bc24 b.w 80889fc if(menupos == SAverage) 80871b4: 4b86 ldr r3, [pc, #536] ; (80873d0 ) 80871b6: 781b ldrb r3, [r3, #0] 80871b8: b2db uxtb r3, r3 80871ba: 2b07 cmp r3, #7 80871bc: f040 8112 bne.w 80873e4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80871c0: 497f ldr r1, [pc, #508] ; (80873c0 ) 80871c2: f04f 30ff mov.w r0, #4294967295 80871c6: f7cc fb0d bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80871ca: 4b79 ldr r3, [pc, #484] ; (80873b0 ) 80871cc: 7b1b ldrb r3, [r3, #12] 80871ce: b2db uxtb r3, r3 80871d0: 461a mov r2, r3 80871d2: 4b80 ldr r3, [pc, #512] ; (80873d4 ) 80871d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80871d8: 461a mov r2, r3 80871da: 2127 movs r1, #39 ; 0x27 80871dc: 200a movs r0, #10 80871de: f7cd f8a9 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80871e2: 4977 ldr r1, [pc, #476] ; (80873c0 ) 80871e4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80871e8: f7cc fafc bl 80537e4 if(focused) 80871ec: 4b7a ldr r3, [pc, #488] ; (80873d8 ) 80871ee: 781b ldrb r3, [r3, #0] 80871f0: b2db uxtb r3, r3 80871f2: 2b00 cmp r3, #0 80871f4: d01a beq.n 808722c if(blk) 80871f6: 4b79 ldr r3, [pc, #484] ; (80873dc ) 80871f8: 681b ldr r3, [r3, #0] 80871fa: 2b00 cmp r3, #0 80871fc: d02c beq.n 8087258 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 80871fe: 4b6c ldr r3, [pc, #432] ; (80873b0 ) 8087200: 7b1b ldrb r3, [r3, #12] 8087202: b2db uxtb r3, r3 8087204: 4619 mov r1, r3 8087206: 4b6a ldr r3, [pc, #424] ; (80873b0 ) 8087208: 7b5b ldrb r3, [r3, #13] 808720a: b2db uxtb r3, r3 808720c: 4618 mov r0, r3 808720e: 4a6b ldr r2, [pc, #428] ; (80873bc ) 8087210: 460b mov r3, r1 8087212: 009b lsls r3, r3, #2 8087214: 440b add r3, r1 8087216: 005b lsls r3, r3, #1 8087218: 4403 add r3, r0 808721a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808721e: 461a mov r2, r3 8087220: 218a movs r1, #138 ; 0x8a 8087222: f44f 7082 mov.w r0, #260 ; 0x104 8087226: f7cd f89d bl 8054364 808722a: e015 b.n 8087258 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 808722c: 4b60 ldr r3, [pc, #384] ; (80873b0 ) 808722e: 7b1b ldrb r3, [r3, #12] 8087230: b2db uxtb r3, r3 8087232: 4619 mov r1, r3 8087234: 4b5e ldr r3, [pc, #376] ; (80873b0 ) 8087236: 7b5b ldrb r3, [r3, #13] 8087238: b2db uxtb r3, r3 808723a: 4618 mov r0, r3 808723c: 4a5f ldr r2, [pc, #380] ; (80873bc ) 808723e: 460b mov r3, r1 8087240: 009b lsls r3, r3, #2 8087242: 440b add r3, r1 8087244: 005b lsls r3, r3, #1 8087246: 4403 add r3, r0 8087248: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808724c: 461a mov r2, r3 808724e: 218a movs r1, #138 ; 0x8a 8087250: f44f 7082 mov.w r0, #260 ; 0x104 8087254: f7cd f886 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087258: 4959 ldr r1, [pc, #356] ; (80873c0 ) 808725a: 485c ldr r0, [pc, #368] ; (80873cc ) 808725c: f7cc fac2 bl 80537e4 if((pardata.OPTIONS & maskFFT) == okt) 8087260: 4b53 ldr r3, [pc, #332] ; (80873b0 ) 8087262: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087266: f003 0330 and.w r3, r3, #48 ; 0x30 808726a: 2b20 cmp r3, #32 808726c: d10e bne.n 808728c LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 808726e: 4b50 ldr r3, [pc, #320] ; (80873b0 ) 8087270: 7b1b ldrb r3, [r3, #12] 8087272: b2db uxtb r3, r3 8087274: 4a4f ldr r2, [pc, #316] ; (80873b4 ) 8087276: 011b lsls r3, r3, #4 8087278: 4413 add r3, r2 808727a: 3308 adds r3, #8 808727c: 681b ldr r3, [r3, #0] 808727e: 461a mov r2, r3 8087280: 213a movs r1, #58 ; 0x3a 8087282: f44f 7082 mov.w r0, #260 ; 0x104 8087286: f7cd f86d bl 8054364 808728a: e00d b.n 80872a8 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 808728c: 4b48 ldr r3, [pc, #288] ; (80873b0 ) 808728e: 7b1b ldrb r3, [r3, #12] 8087290: b2db uxtb r3, r3 8087292: 4a48 ldr r2, [pc, #288] ; (80873b4 ) 8087294: 011b lsls r3, r3, #4 8087296: 4413 add r3, r2 8087298: 330c adds r3, #12 808729a: 681b ldr r3, [r3, #0] 808729c: 461a mov r2, r3 808729e: 213a movs r1, #58 ; 0x3a 80872a0: f44f 7082 mov.w r0, #260 ; 0x104 80872a4: f7cd f85e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 80872a8: 4b41 ldr r3, [pc, #260] ; (80873b0 ) 80872aa: 7b1b ldrb r3, [r3, #12] 80872ac: b2db uxtb r3, r3 80872ae: 4618 mov r0, r3 80872b0: 4b3f ldr r3, [pc, #252] ; (80873b0 ) 80872b2: 785b ldrb r3, [r3, #1] 80872b4: b2db uxtb r3, r3 80872b6: 005b lsls r3, r3, #1 80872b8: 4a3d ldr r2, [pc, #244] ; (80873b0 ) 80872ba: 7852 ldrb r2, [r2, #1] 80872bc: b2d2 uxtb r2, r2 80872be: 4611 mov r1, r2 80872c0: 4a3b ldr r2, [pc, #236] ; (80873b0 ) 80872c2: 440a add r2, r1 80872c4: 7892 ldrb r2, [r2, #2] 80872c6: b2d2 uxtb r2, r2 80872c8: 431a orrs r2, r3 80872ca: 493b ldr r1, [pc, #236] ; (80873b8 ) 80872cc: 4603 mov r3, r0 80872ce: 005b lsls r3, r3, #1 80872d0: 4403 add r3, r0 80872d2: 005b lsls r3, r3, #1 80872d4: 4413 add r3, r2 80872d6: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80872da: 461a mov r2, r3 80872dc: 214a movs r1, #74 ; 0x4a 80872de: f44f 7082 mov.w r0, #260 ; 0x104 80872e2: f7cd f83f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80872e6: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80872ea: 461a mov r2, r3 80872ec: 215a movs r1, #90 ; 0x5a 80872ee: f44f 7082 mov.w r0, #260 ; 0x104 80872f2: f7cd f837 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80872f6: f507 73cc add.w r3, r7, #408 ; 0x198 80872fa: 461a mov r2, r3 80872fc: 216a movs r1, #106 ; 0x6a 80872fe: f44f 7082 mov.w r0, #260 ; 0x104 8087302: f7cd f82f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8087306: 4b2a ldr r3, [pc, #168] ; (80873b0 ) 8087308: 7b1b ldrb r3, [r3, #12] 808730a: b2db uxtb r3, r3 808730c: 4618 mov r0, r3 808730e: 4b28 ldr r3, [pc, #160] ; (80873b0 ) 8087310: 7a9b ldrb r3, [r3, #10] 8087312: b2db uxtb r3, r3 8087314: 4619 mov r1, r3 8087316: 4a32 ldr r2, [pc, #200] ; (80873e0 ) 8087318: 0043 lsls r3, r0, #1 808731a: 440b add r3, r1 808731c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087320: 461a mov r2, r3 8087322: 217a movs r1, #122 ; 0x7a 8087324: f44f 7082 mov.w r0, #260 ; 0x104 8087328: f7cd f81c bl 8054364 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 808732c: 4b20 ldr r3, [pc, #128] ; (80873b0 ) 808732e: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087332: f003 0304 and.w r3, r3, #4 8087336: 2b00 cmp r3, #0 8087338: f041 8360 bne.w 80889fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808733c: 4920 ldr r1, [pc, #128] ; (80873c0 ) 808733e: f04f 30ff mov.w r0, #4294967295 8087342: f7cc fa4f bl 80537e4 if(pardata.IIN != VOLTS) 8087346: 4b1a ldr r3, [pc, #104] ; (80873b0 ) 8087348: 799b ldrb r3, [r3, #6] 808734a: b2db uxtb r3, r3 808734c: 2b02 cmp r3, #2 808734e: d010 beq.n 8087372 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087350: 4b17 ldr r3, [pc, #92] ; (80873b0 ) 8087352: 7b1b ldrb r3, [r3, #12] 8087354: b2db uxtb r3, r3 8087356: 4619 mov r1, r3 8087358: 4a1a ldr r2, [pc, #104] ; (80873c4 ) 808735a: 232c movs r3, #44 ; 0x2c 808735c: fb03 f301 mul.w r3, r3, r1 8087360: 4413 add r3, r2 8087362: 3324 adds r3, #36 ; 0x24 8087364: 681b ldr r3, [r3, #0] 8087366: 461a mov r2, r3 8087368: 21aa movs r1, #170 ; 0xaa 808736a: 200a movs r0, #10 808736c: f7cc ffe2 bl 8054334 8087370: e00f b.n 8087392 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087372: 4b0f ldr r3, [pc, #60] ; (80873b0 ) 8087374: 7b1b ldrb r3, [r3, #12] 8087376: b2db uxtb r3, r3 8087378: 4619 mov r1, r3 808737a: 4a13 ldr r2, [pc, #76] ; (80873c8 ) 808737c: 232c movs r3, #44 ; 0x2c 808737e: fb03 f301 mul.w r3, r3, r1 8087382: 4413 add r3, r2 8087384: 3324 adds r3, #36 ; 0x24 8087386: 681b ldr r3, [r3, #0] 8087388: 461a mov r2, r3 808738a: 21aa movs r1, #170 ; 0xaa 808738c: 200a movs r0, #10 808738e: f7cc ffd1 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087392: 490b ldr r1, [pc, #44] ; (80873c0 ) 8087394: 480d ldr r0, [pc, #52] ; (80873cc ) 8087396: f7cc fa25 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, str); 808739a: f507 733b add.w r3, r7, #748 ; 0x2ec 808739e: 461a mov r2, r3 80873a0: 21aa movs r1, #170 ; 0xaa 80873a2: f44f 7082 mov.w r0, #260 ; 0x104 80873a6: f7cc ffdd bl 8054364 80873aa: f001 bb27 b.w 80889fc 80873ae: bf00 nop 80873b0: 20023e60 .word 0x20023e60 80873b4: 2002029c .word 0x2002029c 80873b8: 2002019c .word 0x2002019c 80873bc: 2002024c .word 0x2002024c 80873c0: ff0a0f1f .word 0xff0a0f1f 80873c4: 200206b4 .word 0x200206b4 80873c8: 2002070c .word 0x2002070c 80873cc: ffd8aa57 .word 0xffd8aa57 80873d0: 20020070 .word 0x20020070 80873d4: 200205c4 .word 0x200205c4 80873d8: 20020f84 .word 0x20020f84 80873dc: 2002165c .word 0x2002165c 80873e0: 20020214 .word 0x20020214 if(menupos == VibAutoKu) 80873e4: 4b8f ldr r3, [pc, #572] ; (8087624 ) 80873e6: 781b ldrb r3, [r3, #0] 80873e8: b2db uxtb r3, r3 80873ea: 2b08 cmp r3, #8 80873ec: f040 80e8 bne.w 80875c0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80873f0: 498d ldr r1, [pc, #564] ; (8087628 ) 80873f2: f04f 30ff mov.w r0, #4294967295 80873f6: f7cc f9f5 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80873fa: 4b8c ldr r3, [pc, #560] ; (808762c ) 80873fc: 7b1b ldrb r3, [r3, #12] 80873fe: b2db uxtb r3, r3 8087400: 461a mov r2, r3 8087402: 4b8b ldr r3, [pc, #556] ; (8087630 ) 8087404: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087408: 461a mov r2, r3 808740a: 2127 movs r1, #39 ; 0x27 808740c: 200a movs r0, #10 808740e: f7cc ff91 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087412: 4985 ldr r1, [pc, #532] ; (8087628 ) 8087414: 4887 ldr r0, [pc, #540] ; (8087634 ) 8087416: f7cc f9e5 bl 80537e4 if((pardata.OPTIONS & maskFFT) == okt) 808741a: 4b84 ldr r3, [pc, #528] ; (808762c ) 808741c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087420: f003 0330 and.w r3, r3, #48 ; 0x30 8087424: 2b20 cmp r3, #32 8087426: d10e bne.n 8087446 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8087428: 4b80 ldr r3, [pc, #512] ; (808762c ) 808742a: 7b1b ldrb r3, [r3, #12] 808742c: b2db uxtb r3, r3 808742e: 4a82 ldr r2, [pc, #520] ; (8087638 ) 8087430: 011b lsls r3, r3, #4 8087432: 4413 add r3, r2 8087434: 3308 adds r3, #8 8087436: 681b ldr r3, [r3, #0] 8087438: 461a mov r2, r3 808743a: 213a movs r1, #58 ; 0x3a 808743c: f44f 7082 mov.w r0, #260 ; 0x104 8087440: f7cc ff90 bl 8054364 8087444: e00d b.n 8087462 else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8087446: 4b79 ldr r3, [pc, #484] ; (808762c ) 8087448: 7b1b ldrb r3, [r3, #12] 808744a: b2db uxtb r3, r3 808744c: 4a7a ldr r2, [pc, #488] ; (8087638 ) 808744e: 011b lsls r3, r3, #4 8087450: 4413 add r3, r2 8087452: 330c adds r3, #12 8087454: 681b ldr r3, [r3, #0] 8087456: 461a mov r2, r3 8087458: 213a movs r1, #58 ; 0x3a 808745a: f44f 7082 mov.w r0, #260 ; 0x104 808745e: f7cc ff81 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8087462: 4b72 ldr r3, [pc, #456] ; (808762c ) 8087464: 7b1b ldrb r3, [r3, #12] 8087466: b2db uxtb r3, r3 8087468: 4618 mov r0, r3 808746a: 4b70 ldr r3, [pc, #448] ; (808762c ) 808746c: 785b ldrb r3, [r3, #1] 808746e: b2db uxtb r3, r3 8087470: 005b lsls r3, r3, #1 8087472: 4a6e ldr r2, [pc, #440] ; (808762c ) 8087474: 7852 ldrb r2, [r2, #1] 8087476: b2d2 uxtb r2, r2 8087478: 4611 mov r1, r2 808747a: 4a6c ldr r2, [pc, #432] ; (808762c ) 808747c: 440a add r2, r1 808747e: 7892 ldrb r2, [r2, #2] 8087480: b2d2 uxtb r2, r2 8087482: 431a orrs r2, r3 8087484: 496d ldr r1, [pc, #436] ; (808763c ) 8087486: 4603 mov r3, r0 8087488: 005b lsls r3, r3, #1 808748a: 4403 add r3, r0 808748c: 005b lsls r3, r3, #1 808748e: 4413 add r3, r2 8087490: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8087494: 461a mov r2, r3 8087496: 214a movs r1, #74 ; 0x4a 8087498: f44f 7082 mov.w r0, #260 ; 0x104 808749c: f7cc ff62 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80874a0: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80874a4: 461a mov r2, r3 80874a6: 215a movs r1, #90 ; 0x5a 80874a8: f44f 7082 mov.w r0, #260 ; 0x104 80874ac: f7cc ff5a bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80874b0: f507 73cc add.w r3, r7, #408 ; 0x198 80874b4: 461a mov r2, r3 80874b6: 216a movs r1, #106 ; 0x6a 80874b8: f44f 7082 mov.w r0, #260 ; 0x104 80874bc: f7cc ff52 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 80874c0: 4b5a ldr r3, [pc, #360] ; (808762c ) 80874c2: 7b1b ldrb r3, [r3, #12] 80874c4: b2db uxtb r3, r3 80874c6: 4618 mov r0, r3 80874c8: 4b58 ldr r3, [pc, #352] ; (808762c ) 80874ca: 7a9b ldrb r3, [r3, #10] 80874cc: b2db uxtb r3, r3 80874ce: 4619 mov r1, r3 80874d0: 4a5b ldr r2, [pc, #364] ; (8087640 ) 80874d2: 0043 lsls r3, r0, #1 80874d4: 440b add r3, r1 80874d6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80874da: 461a mov r2, r3 80874dc: 217a movs r1, #122 ; 0x7a 80874de: f44f 7082 mov.w r0, #260 ; 0x104 80874e2: f7cc ff3f bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 80874e6: 4b51 ldr r3, [pc, #324] ; (808762c ) 80874e8: 7b1b ldrb r3, [r3, #12] 80874ea: b2db uxtb r3, r3 80874ec: 4619 mov r1, r3 80874ee: 4b4f ldr r3, [pc, #316] ; (808762c ) 80874f0: 7b5b ldrb r3, [r3, #13] 80874f2: b2db uxtb r3, r3 80874f4: 4618 mov r0, r3 80874f6: 4a53 ldr r2, [pc, #332] ; (8087644 ) 80874f8: 460b mov r3, r1 80874fa: 009b lsls r3, r3, #2 80874fc: 440b add r3, r1 80874fe: 005b lsls r3, r3, #1 8087500: 4403 add r3, r0 8087502: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087506: 461a mov r2, r3 8087508: 218a movs r1, #138 ; 0x8a 808750a: f44f 7082 mov.w r0, #260 ; 0x104 808750e: f7cc ff29 bl 8054364 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087512: 4945 ldr r1, [pc, #276] ; (8087628 ) 8087514: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087518: f7cc f964 bl 80537e4 BSP_LCD_FillRect(253, CHECKBOX_LINE_9 - 2, 14, 14); 808751c: 230e movs r3, #14 808751e: 220e movs r2, #14 8087520: 219b movs r1, #155 ; 0x9b 8087522: 20fd movs r0, #253 ; 0xfd 8087524: f7cc fdec bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087528: 493f ldr r1, [pc, #252] ; (8087628 ) 808752a: f04f 30ff mov.w r0, #4294967295 808752e: f7cc f959 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8087532: 230a movs r3, #10 8087534: 220a movs r2, #10 8087536: 219d movs r1, #157 ; 0x9d 8087538: 20ff movs r0, #255 ; 0xff 808753a: f7cc fde1 bl 8054100 if((pardata.OPTIONS & BIT2) == 0) // åñëè àâòîóñèëåíèå 808753e: 4b3b ldr r3, [pc, #236] ; (808762c ) 8087540: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087544: f003 0304 and.w r3, r3, #4 8087548: 2b00 cmp r3, #0 808754a: f041 8257 bne.w 80889fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808754e: 4936 ldr r1, [pc, #216] ; (8087628 ) 8087550: f04f 30ff mov.w r0, #4294967295 8087554: f7cc f946 bl 80537e4 if(pardata.IIN != VOLTS) 8087558: 4b34 ldr r3, [pc, #208] ; (808762c ) 808755a: 799b ldrb r3, [r3, #6] 808755c: b2db uxtb r3, r3 808755e: 2b02 cmp r3, #2 8087560: d010 beq.n 8087584 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087562: 4b32 ldr r3, [pc, #200] ; (808762c ) 8087564: 7b1b ldrb r3, [r3, #12] 8087566: b2db uxtb r3, r3 8087568: 4619 mov r1, r3 808756a: 4a37 ldr r2, [pc, #220] ; (8087648 ) 808756c: 232c movs r3, #44 ; 0x2c 808756e: fb03 f301 mul.w r3, r3, r1 8087572: 4413 add r3, r2 8087574: 3324 adds r3, #36 ; 0x24 8087576: 681b ldr r3, [r3, #0] 8087578: 461a mov r2, r3 808757a: 21aa movs r1, #170 ; 0xaa 808757c: 200a movs r0, #10 808757e: f7cc fed9 bl 8054334 8087582: e00f b.n 80875a4 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087584: 4b29 ldr r3, [pc, #164] ; (808762c ) 8087586: 7b1b ldrb r3, [r3, #12] 8087588: b2db uxtb r3, r3 808758a: 4619 mov r1, r3 808758c: 4a2f ldr r2, [pc, #188] ; (808764c ) 808758e: 232c movs r3, #44 ; 0x2c 8087590: fb03 f301 mul.w r3, r3, r1 8087594: 4413 add r3, r2 8087596: 3324 adds r3, #36 ; 0x24 8087598: 681b ldr r3, [r3, #0] 808759a: 461a mov r2, r3 808759c: 21aa movs r1, #170 ; 0xaa 808759e: 200a movs r0, #10 80875a0: f7cc fec8 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80875a4: 4920 ldr r1, [pc, #128] ; (8087628 ) 80875a6: 4823 ldr r0, [pc, #140] ; (8087634 ) 80875a8: f7cc f91c bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, str); 80875ac: f507 733b add.w r3, r7, #748 ; 0x2ec 80875b0: 461a mov r2, r3 80875b2: 21aa movs r1, #170 ; 0xaa 80875b4: f44f 7082 mov.w r0, #260 ; 0x104 80875b8: f7cc fed4 bl 8054364 80875bc: f001 ba1e b.w 80889fc if(menupos == VibMax_ALL) 80875c0: 4b18 ldr r3, [pc, #96] ; (8087624 ) 80875c2: 781b ldrb r3, [r3, #0] 80875c4: b2db uxtb r3, r3 80875c6: 2b09 cmp r3, #9 80875c8: f040 80e3 bne.w 8087792 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80875cc: 4916 ldr r1, [pc, #88] ; (8087628 ) 80875ce: f04f 30ff mov.w r0, #4294967295 80875d2: f7cc f907 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 80875d6: 4b15 ldr r3, [pc, #84] ; (808762c ) 80875d8: 7b1b ldrb r3, [r3, #12] 80875da: b2db uxtb r3, r3 80875dc: 461a mov r2, r3 80875de: 4b14 ldr r3, [pc, #80] ; (8087630 ) 80875e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80875e4: 461a mov r2, r3 80875e6: 2127 movs r1, #39 ; 0x27 80875e8: 200a movs r0, #10 80875ea: f7cc fea3 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80875ee: 490e ldr r1, [pc, #56] ; (8087628 ) 80875f0: 4810 ldr r0, [pc, #64] ; (8087634 ) 80875f2: f7cc f8f7 bl 80537e4 if((pardata.OPTIONS & maskFFT) == okt) 80875f6: 4b0d ldr r3, [pc, #52] ; (808762c ) 80875f8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80875fc: f003 0330 and.w r3, r3, #48 ; 0x30 8087600: 2b20 cmp r3, #32 8087602: d125 bne.n 8087650 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8087604: 4b09 ldr r3, [pc, #36] ; (808762c ) 8087606: 7b1b ldrb r3, [r3, #12] 8087608: b2db uxtb r3, r3 808760a: 4a0b ldr r2, [pc, #44] ; (8087638 ) 808760c: 011b lsls r3, r3, #4 808760e: 4413 add r3, r2 8087610: 3308 adds r3, #8 8087612: 681b ldr r3, [r3, #0] 8087614: 461a mov r2, r3 8087616: 213a movs r1, #58 ; 0x3a 8087618: f44f 7082 mov.w r0, #260 ; 0x104 808761c: f7cc fea2 bl 8054364 8087620: e024 b.n 808766c 8087622: bf00 nop 8087624: 20020070 .word 0x20020070 8087628: ff0a0f1f .word 0xff0a0f1f 808762c: 20023e60 .word 0x20023e60 8087630: 200205c4 .word 0x200205c4 8087634: ffd8aa57 .word 0xffd8aa57 8087638: 2002029c .word 0x2002029c 808763c: 2002019c .word 0x2002019c 8087640: 20020214 .word 0x20020214 8087644: 2002024c .word 0x2002024c 8087648: 200206b4 .word 0x200206b4 808764c: 2002070c .word 0x2002070c else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8087650: 4bc6 ldr r3, [pc, #792] ; (808796c ) 8087652: 7b1b ldrb r3, [r3, #12] 8087654: b2db uxtb r3, r3 8087656: 4ac6 ldr r2, [pc, #792] ; (8087970 ) 8087658: 011b lsls r3, r3, #4 808765a: 4413 add r3, r2 808765c: 330c adds r3, #12 808765e: 681b ldr r3, [r3, #0] 8087660: 461a mov r2, r3 8087662: 213a movs r1, #58 ; 0x3a 8087664: f44f 7082 mov.w r0, #260 ; 0x104 8087668: f7cc fe7c bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 808766c: 4bbf ldr r3, [pc, #764] ; (808796c ) 808766e: 7b1b ldrb r3, [r3, #12] 8087670: b2db uxtb r3, r3 8087672: 4618 mov r0, r3 8087674: 4bbd ldr r3, [pc, #756] ; (808796c ) 8087676: 785b ldrb r3, [r3, #1] 8087678: b2db uxtb r3, r3 808767a: 005b lsls r3, r3, #1 808767c: 4abb ldr r2, [pc, #748] ; (808796c ) 808767e: 7852 ldrb r2, [r2, #1] 8087680: b2d2 uxtb r2, r2 8087682: 4611 mov r1, r2 8087684: 4ab9 ldr r2, [pc, #740] ; (808796c ) 8087686: 440a add r2, r1 8087688: 7892 ldrb r2, [r2, #2] 808768a: b2d2 uxtb r2, r2 808768c: 431a orrs r2, r3 808768e: 49b9 ldr r1, [pc, #740] ; (8087974 ) 8087690: 4603 mov r3, r0 8087692: 005b lsls r3, r3, #1 8087694: 4403 add r3, r0 8087696: 005b lsls r3, r3, #1 8087698: 4413 add r3, r2 808769a: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808769e: 461a mov r2, r3 80876a0: 214a movs r1, #74 ; 0x4a 80876a2: f44f 7082 mov.w r0, #260 ; 0x104 80876a6: f7cc fe5d bl 8054364 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80876aa: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80876ae: 461a mov r2, r3 80876b0: 215a movs r1, #90 ; 0x5a 80876b2: f44f 7082 mov.w r0, #260 ; 0x104 80876b6: f7cc fe55 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80876ba: f507 73cc add.w r3, r7, #408 ; 0x198 80876be: 461a mov r2, r3 80876c0: 216a movs r1, #106 ; 0x6a 80876c2: f44f 7082 mov.w r0, #260 ; 0x104 80876c6: f7cc fe4d bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 80876ca: 4ba8 ldr r3, [pc, #672] ; (808796c ) 80876cc: 7b1b ldrb r3, [r3, #12] 80876ce: b2db uxtb r3, r3 80876d0: 4618 mov r0, r3 80876d2: 4ba6 ldr r3, [pc, #664] ; (808796c ) 80876d4: 7a9b ldrb r3, [r3, #10] 80876d6: b2db uxtb r3, r3 80876d8: 4619 mov r1, r3 80876da: 4aa7 ldr r2, [pc, #668] ; (8087978 ) 80876dc: 0043 lsls r3, r0, #1 80876de: 440b add r3, r1 80876e0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80876e4: 461a mov r2, r3 80876e6: 217a movs r1, #122 ; 0x7a 80876e8: f44f 7082 mov.w r0, #260 ; 0x104 80876ec: f7cc fe3a bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 80876f0: 4b9e ldr r3, [pc, #632] ; (808796c ) 80876f2: 7b1b ldrb r3, [r3, #12] 80876f4: b2db uxtb r3, r3 80876f6: 4619 mov r1, r3 80876f8: 4b9c ldr r3, [pc, #624] ; (808796c ) 80876fa: 7b5b ldrb r3, [r3, #13] 80876fc: b2db uxtb r3, r3 80876fe: 4618 mov r0, r3 8087700: 4a9e ldr r2, [pc, #632] ; (808797c ) 8087702: 460b mov r3, r1 8087704: 009b lsls r3, r3, #2 8087706: 440b add r3, r1 8087708: 005b lsls r3, r3, #1 808770a: 4403 add r3, r0 808770c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087710: 461a mov r2, r3 8087712: 218a movs r1, #138 ; 0x8a 8087714: f44f 7082 mov.w r0, #260 ; 0x104 8087718: f7cc fe24 bl 8054364 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808771c: 4998 ldr r1, [pc, #608] ; (8087980 ) 808771e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087722: f7cc f85f bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, str); 8087726: f507 733b add.w r3, r7, #748 ; 0x2ec 808772a: 461a mov r2, r3 808772c: 21aa movs r1, #170 ; 0xaa 808772e: f44f 7082 mov.w r0, #260 ; 0x104 8087732: f7cc fe17 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087736: 4992 ldr r1, [pc, #584] ; (8087980 ) 8087738: f04f 30ff mov.w r0, #4294967295 808773c: f7cc f852 bl 80537e4 if(pardata.IIN != VOLTS) 8087740: 4b8a ldr r3, [pc, #552] ; (808796c ) 8087742: 799b ldrb r3, [r3, #6] 8087744: b2db uxtb r3, r3 8087746: 2b02 cmp r3, #2 8087748: d011 beq.n 808776e LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808774a: 4b88 ldr r3, [pc, #544] ; (808796c ) 808774c: 7b1b ldrb r3, [r3, #12] 808774e: b2db uxtb r3, r3 8087750: 4619 mov r1, r3 8087752: 4a8c ldr r2, [pc, #560] ; (8087984 ) 8087754: 232c movs r3, #44 ; 0x2c 8087756: fb03 f301 mul.w r3, r3, r1 808775a: 4413 add r3, r2 808775c: 3324 adds r3, #36 ; 0x24 808775e: 681b ldr r3, [r3, #0] 8087760: 461a mov r2, r3 8087762: 21aa movs r1, #170 ; 0xaa 8087764: 200a movs r0, #10 8087766: f7cc fde5 bl 8054334 808776a: f001 b947 b.w 80889fc else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808776e: 4b7f ldr r3, [pc, #508] ; (808796c ) 8087770: 7b1b ldrb r3, [r3, #12] 8087772: b2db uxtb r3, r3 8087774: 4619 mov r1, r3 8087776: 4a84 ldr r2, [pc, #528] ; (8087988 ) 8087778: 232c movs r3, #44 ; 0x2c 808777a: fb03 f301 mul.w r3, r3, r1 808777e: 4413 add r3, r2 8087780: 3324 adds r3, #36 ; 0x24 8087782: 681b ldr r3, [r3, #0] 8087784: 461a mov r2, r3 8087786: 21aa movs r1, #170 ; 0xaa 8087788: 200a movs r0, #10 808778a: f7cc fdd3 bl 8054334 808778e: f001 b935 b.w 80889fc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087792: 497b ldr r1, [pc, #492] ; (8087980 ) 8087794: f04f 30ff mov.w r0, #4294967295 8087798: f7cc f824 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]);//"Äàëåå" 808779c: 4b73 ldr r3, [pc, #460] ; (808796c ) 808779e: 7b1b ldrb r3, [r3, #12] 80877a0: b2db uxtb r3, r3 80877a2: 461a mov r2, r3 80877a4: 4b79 ldr r3, [pc, #484] ; (808798c ) 80877a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80877aa: 461a mov r2, r3 80877ac: 2127 movs r1, #39 ; 0x27 80877ae: 200a movs r0, #10 80877b0: f7cc fdc0 bl 8054334 if((menupos >= FilterHP_IDT) && (menupos <= FilterHP_IKD)) 80877b4: 4b76 ldr r3, [pc, #472] ; (8087990 ) 80877b6: 781b ldrb r3, [r3, #0] 80877b8: b2db uxtb r3, r3 80877ba: 2b18 cmp r3, #24 80877bc: f240 8083 bls.w 80878c6 80877c0: 4b73 ldr r3, [pc, #460] ; (8087990 ) 80877c2: 781b ldrb r3, [r3, #0] 80877c4: b2db uxtb r3, r3 80877c6: 2b1e cmp r3, #30 80877c8: d87d bhi.n 80878c6 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80877ca: 496d ldr r1, [pc, #436] ; (8087980 ) 80877cc: 4871 ldr r0, [pc, #452] ; (8087994 ) 80877ce: f7cc f809 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 80877d2: f507 73cc add.w r3, r7, #408 ; 0x198 80877d6: 461a mov r2, r3 80877d8: 216a movs r1, #106 ; 0x6a 80877da: f44f 7082 mov.w r0, #260 ; 0x104 80877de: f7cc fdc1 bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80877e2: 4b62 ldr r3, [pc, #392] ; (808796c ) 80877e4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80877e8: f003 0304 and.w r3, r3, #4 80877ec: 2b00 cmp r3, #0 80877ee: d032 beq.n 8087856 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80877f0: 4963 ldr r1, [pc, #396] ; (8087980 ) 80877f2: 4869 ldr r0, [pc, #420] ; (8087998 ) 80877f4: f7cb fff6 bl 80537e4 if(pardata.IIN != VOLTS) 80877f8: 4b5c ldr r3, [pc, #368] ; (808796c ) 80877fa: 799b ldrb r3, [r3, #6] 80877fc: b2db uxtb r3, r3 80877fe: 2b02 cmp r3, #2 8087800: d010 beq.n 8087824 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087802: 4b5a ldr r3, [pc, #360] ; (808796c ) 8087804: 7b1b ldrb r3, [r3, #12] 8087806: b2db uxtb r3, r3 8087808: 4619 mov r1, r3 808780a: 4a5e ldr r2, [pc, #376] ; (8087984 ) 808780c: 232c movs r3, #44 ; 0x2c 808780e: fb03 f301 mul.w r3, r3, r1 8087812: 4413 add r3, r2 8087814: 3324 adds r3, #36 ; 0x24 8087816: 681b ldr r3, [r3, #0] 8087818: 461a mov r2, r3 808781a: 21aa movs r1, #170 ; 0xaa 808781c: 200a movs r0, #10 808781e: f7cc fd89 bl 8054334 8087822: e00f b.n 8087844 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087824: 4b51 ldr r3, [pc, #324] ; (808796c ) 8087826: 7b1b ldrb r3, [r3, #12] 8087828: b2db uxtb r3, r3 808782a: 4619 mov r1, r3 808782c: 4a56 ldr r2, [pc, #344] ; (8087988 ) 808782e: 232c movs r3, #44 ; 0x2c 8087830: fb03 f301 mul.w r3, r3, r1 8087834: 4413 add r3, r2 8087836: 3324 adds r3, #36 ; 0x24 8087838: 681b ldr r3, [r3, #0] 808783a: 461a mov r2, r3 808783c: 21aa movs r1, #170 ; 0xaa 808783e: 200a movs r0, #10 8087840: f7cc fd78 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_10, str); 8087844: f507 733b add.w r3, r7, #748 ; 0x2ec 8087848: 461a mov r2, r3 808784a: 21aa movs r1, #170 ; 0xaa 808784c: f44f 7082 mov.w r0, #260 ; 0x104 8087850: f7cc fd88 bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8087854: e123 b.n 8087a9e LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087856: 494a ldr r1, [pc, #296] ; (8087980 ) 8087858: f04f 30ff mov.w r0, #4294967295 808785c: f7cb ffc2 bl 80537e4 if(pardata.IIN != VOLTS) 8087860: 4b42 ldr r3, [pc, #264] ; (808796c ) 8087862: 799b ldrb r3, [r3, #6] 8087864: b2db uxtb r3, r3 8087866: 2b02 cmp r3, #2 8087868: d010 beq.n 808788c LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808786a: 4b40 ldr r3, [pc, #256] ; (808796c ) 808786c: 7b1b ldrb r3, [r3, #12] 808786e: b2db uxtb r3, r3 8087870: 4619 mov r1, r3 8087872: 4a44 ldr r2, [pc, #272] ; (8087984 ) 8087874: 232c movs r3, #44 ; 0x2c 8087876: fb03 f301 mul.w r3, r3, r1 808787a: 4413 add r3, r2 808787c: 3324 adds r3, #36 ; 0x24 808787e: 681b ldr r3, [r3, #0] 8087880: 461a mov r2, r3 8087882: 21aa movs r1, #170 ; 0xaa 8087884: 200a movs r0, #10 8087886: f7cc fd55 bl 8054334 808788a: e00f b.n 80878ac else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808788c: 4b37 ldr r3, [pc, #220] ; (808796c ) 808788e: 7b1b ldrb r3, [r3, #12] 8087890: b2db uxtb r3, r3 8087892: 4619 mov r1, r3 8087894: 4a3c ldr r2, [pc, #240] ; (8087988 ) 8087896: 232c movs r3, #44 ; 0x2c 8087898: fb03 f301 mul.w r3, r3, r1 808789c: 4413 add r3, r2 808789e: 3324 adds r3, #36 ; 0x24 80878a0: 681b ldr r3, [r3, #0] 80878a2: 461a mov r2, r3 80878a4: 21aa movs r1, #170 ; 0xaa 80878a6: 200a movs r0, #10 80878a8: f7cc fd44 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80878ac: 4934 ldr r1, [pc, #208] ; (8087980 ) 80878ae: 4839 ldr r0, [pc, #228] ; (8087994 ) 80878b0: f7cb ff98 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, str); 80878b4: f507 733b add.w r3, r7, #748 ; 0x2ec 80878b8: 461a mov r2, r3 80878ba: 21aa movs r1, #170 ; 0xaa 80878bc: f44f 7082 mov.w r0, #260 ; 0x104 80878c0: f7cc fd50 bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80878c4: e0eb b.n 8087a9e if((menupos >= FilterLP_IDT) && (menupos <= FilterLP_IKD)) 80878c6: 4b32 ldr r3, [pc, #200] ; (8087990 ) 80878c8: 781b ldrb r3, [r3, #0] 80878ca: b2db uxtb r3, r3 80878cc: 2b1e cmp r3, #30 80878ce: f240 809d bls.w 8087a0c 80878d2: 4b2f ldr r3, [pc, #188] ; (8087990 ) 80878d4: 781b ldrb r3, [r3, #0] 80878d6: b2db uxtb r3, r3 80878d8: 2b24 cmp r3, #36 ; 0x24 80878da: f200 8097 bhi.w 8087a0c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80878de: 4928 ldr r1, [pc, #160] ; (8087980 ) 80878e0: 482c ldr r0, [pc, #176] ; (8087994 ) 80878e2: f7cb ff7f bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 80878e6: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80878ea: 461a mov r2, r3 80878ec: 215a movs r1, #90 ; 0x5a 80878ee: f44f 7082 mov.w r0, #260 ; 0x104 80878f2: f7cc fd37 bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 80878f6: 4b1d ldr r3, [pc, #116] ; (808796c ) 80878f8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80878fc: f003 0304 and.w r3, r3, #4 8087900: 2b00 cmp r3, #0 8087902: d04b beq.n 808799c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8087904: 491e ldr r1, [pc, #120] ; (8087980 ) 8087906: 4824 ldr r0, [pc, #144] ; (8087998 ) 8087908: f7cb ff6c bl 80537e4 if(pardata.IIN != VOLTS) 808790c: 4b17 ldr r3, [pc, #92] ; (808796c ) 808790e: 799b ldrb r3, [r3, #6] 8087910: b2db uxtb r3, r3 8087912: 2b02 cmp r3, #2 8087914: d010 beq.n 8087938 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087916: 4b15 ldr r3, [pc, #84] ; (808796c ) 8087918: 7b1b ldrb r3, [r3, #12] 808791a: b2db uxtb r3, r3 808791c: 4619 mov r1, r3 808791e: 4a19 ldr r2, [pc, #100] ; (8087984 ) 8087920: 232c movs r3, #44 ; 0x2c 8087922: fb03 f301 mul.w r3, r3, r1 8087926: 4413 add r3, r2 8087928: 3324 adds r3, #36 ; 0x24 808792a: 681b ldr r3, [r3, #0] 808792c: 461a mov r2, r3 808792e: 21aa movs r1, #170 ; 0xaa 8087930: 200a movs r0, #10 8087932: f7cc fcff bl 8054334 8087936: e00f b.n 8087958 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087938: 4b0c ldr r3, [pc, #48] ; (808796c ) 808793a: 7b1b ldrb r3, [r3, #12] 808793c: b2db uxtb r3, r3 808793e: 4619 mov r1, r3 8087940: 4a11 ldr r2, [pc, #68] ; (8087988 ) 8087942: 232c movs r3, #44 ; 0x2c 8087944: fb03 f301 mul.w r3, r3, r1 8087948: 4413 add r3, r2 808794a: 3324 adds r3, #36 ; 0x24 808794c: 681b ldr r3, [r3, #0] 808794e: 461a mov r2, r3 8087950: 21aa movs r1, #170 ; 0xaa 8087952: 200a movs r0, #10 8087954: f7cc fcee bl 8054334 LCD_DisplayStringC(260, LCD_LINE_10, str); 8087958: f507 733b add.w r3, r7, #748 ; 0x2ec 808795c: 461a mov r2, r3 808795e: 21aa movs r1, #170 ; 0xaa 8087960: f44f 7082 mov.w r0, #260 ; 0x104 8087964: f7cc fcfe bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8087968: e099 b.n 8087a9e 808796a: bf00 nop 808796c: 20023e60 .word 0x20023e60 8087970: 2002029c .word 0x2002029c 8087974: 2002019c .word 0x2002019c 8087978: 20020214 .word 0x20020214 808797c: 2002024c .word 0x2002024c 8087980: ff0a0f1f .word 0xff0a0f1f 8087984: 200206b4 .word 0x200206b4 8087988: 2002070c .word 0x2002070c 808798c: 200205c4 .word 0x200205c4 8087990: 20020070 .word 0x20020070 8087994: ffd8aa57 .word 0xffd8aa57 8087998: ff808080 .word 0xff808080 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808799c: 49a9 ldr r1, [pc, #676] ; (8087c44 ) 808799e: f04f 30ff mov.w r0, #4294967295 80879a2: f7cb ff1f bl 80537e4 if(pardata.IIN != VOLTS) 80879a6: 4ba8 ldr r3, [pc, #672] ; (8087c48 ) 80879a8: 799b ldrb r3, [r3, #6] 80879aa: b2db uxtb r3, r3 80879ac: 2b02 cmp r3, #2 80879ae: d010 beq.n 80879d2 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 80879b0: 4ba5 ldr r3, [pc, #660] ; (8087c48 ) 80879b2: 7b1b ldrb r3, [r3, #12] 80879b4: b2db uxtb r3, r3 80879b6: 4619 mov r1, r3 80879b8: 4aa4 ldr r2, [pc, #656] ; (8087c4c ) 80879ba: 232c movs r3, #44 ; 0x2c 80879bc: fb03 f301 mul.w r3, r3, r1 80879c0: 4413 add r3, r2 80879c2: 3324 adds r3, #36 ; 0x24 80879c4: 681b ldr r3, [r3, #0] 80879c6: 461a mov r2, r3 80879c8: 21aa movs r1, #170 ; 0xaa 80879ca: 200a movs r0, #10 80879cc: f7cc fcb2 bl 8054334 80879d0: e00f b.n 80879f2 else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 80879d2: 4b9d ldr r3, [pc, #628] ; (8087c48 ) 80879d4: 7b1b ldrb r3, [r3, #12] 80879d6: b2db uxtb r3, r3 80879d8: 4619 mov r1, r3 80879da: 4a9d ldr r2, [pc, #628] ; (8087c50 ) 80879dc: 232c movs r3, #44 ; 0x2c 80879de: fb03 f301 mul.w r3, r3, r1 80879e2: 4413 add r3, r2 80879e4: 3324 adds r3, #36 ; 0x24 80879e6: 681b ldr r3, [r3, #0] 80879e8: 461a mov r2, r3 80879ea: 21aa movs r1, #170 ; 0xaa 80879ec: 200a movs r0, #10 80879ee: f7cc fca1 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80879f2: 4994 ldr r1, [pc, #592] ; (8087c44 ) 80879f4: 4897 ldr r0, [pc, #604] ; (8087c54 ) 80879f6: f7cb fef5 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, str); 80879fa: f507 733b add.w r3, r7, #748 ; 0x2ec 80879fe: 461a mov r2, r3 8087a00: 21aa movs r1, #170 ; 0xaa 8087a02: f44f 7082 mov.w r0, #260 ; 0x104 8087a06: f7cc fcad bl 8054364 if(pardata.OPTIONS & BIT2) // åñëè àâòîóñèëåíèå 8087a0a: e048 b.n 8087a9e if((menupos >= VibMax_IDT) && (menupos <= VibMax_IKD)) 8087a0c: 4b92 ldr r3, [pc, #584] ; (8087c58 ) 8087a0e: 781b ldrb r3, [r3, #0] 8087a10: b2db uxtb r3, r3 8087a12: 2b0a cmp r3, #10 8087a14: d943 bls.n 8087a9e 8087a16: 4b90 ldr r3, [pc, #576] ; (8087c58 ) 8087a18: 781b ldrb r3, [r3, #0] 8087a1a: b2db uxtb r3, r3 8087a1c: 2b10 cmp r3, #16 8087a1e: d83e bhi.n 8087a9e LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087a20: 4988 ldr r1, [pc, #544] ; (8087c44 ) 8087a22: 488c ldr r0, [pc, #560] ; (8087c54 ) 8087a24: f7cb fede bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_5, strHP); 8087a28: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8087a2c: 461a mov r2, r3 8087a2e: 215a movs r1, #90 ; 0x5a 8087a30: f44f 7082 mov.w r0, #260 ; 0x104 8087a34: f7cc fc96 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_6, strLP); 8087a38: f507 73cc add.w r3, r7, #408 ; 0x198 8087a3c: 461a mov r2, r3 8087a3e: 216a movs r1, #106 ; 0x6a 8087a40: f44f 7082 mov.w r0, #260 ; 0x104 8087a44: f7cc fc8e bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8087a48: 497e ldr r1, [pc, #504] ; (8087c44 ) 8087a4a: f04f 30ff mov.w r0, #4294967295 8087a4e: f7cb fec9 bl 80537e4 if(pardata.IIN != VOLTS) 8087a52: 4b7d ldr r3, [pc, #500] ; (8087c48 ) 8087a54: 799b ldrb r3, [r3, #6] 8087a56: b2db uxtb r3, r3 8087a58: 2b02 cmp r3, #2 8087a5a: d010 beq.n 8087a7e LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8087a5c: 4b7a ldr r3, [pc, #488] ; (8087c48 ) 8087a5e: 7b1b ldrb r3, [r3, #12] 8087a60: b2db uxtb r3, r3 8087a62: 4619 mov r1, r3 8087a64: 4a79 ldr r2, [pc, #484] ; (8087c4c ) 8087a66: 232c movs r3, #44 ; 0x2c 8087a68: fb03 f301 mul.w r3, r3, r1 8087a6c: 4413 add r3, r2 8087a6e: 3324 adds r3, #36 ; 0x24 8087a70: 681b ldr r3, [r3, #0] 8087a72: 461a mov r2, r3 8087a74: 21aa movs r1, #170 ; 0xaa 8087a76: 200a movs r0, #10 8087a78: f7cc fc5c bl 8054334 8087a7c: e00f b.n 8087a9e else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8087a7e: 4b72 ldr r3, [pc, #456] ; (8087c48 ) 8087a80: 7b1b ldrb r3, [r3, #12] 8087a82: b2db uxtb r3, r3 8087a84: 4619 mov r1, r3 8087a86: 4a72 ldr r2, [pc, #456] ; (8087c50 ) 8087a88: 232c movs r3, #44 ; 0x2c 8087a8a: fb03 f301 mul.w r3, r3, r1 8087a8e: 4413 add r3, r2 8087a90: 3324 adds r3, #36 ; 0x24 8087a92: 681b ldr r3, [r3, #0] 8087a94: 461a mov r2, r3 8087a96: 21aa movs r1, #170 ; 0xaa 8087a98: 200a movs r0, #10 8087a9a: f7cc fc4b bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087a9e: 4969 ldr r1, [pc, #420] ; (8087c44 ) 8087aa0: 486c ldr r0, [pc, #432] ; (8087c54 ) 8087aa2: f7cb fe9f bl 80537e4 if((pardata.OPTIONS & maskFFT) == okt) 8087aa6: 4b68 ldr r3, [pc, #416] ; (8087c48 ) 8087aa8: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8087aac: f003 0330 and.w r3, r3, #48 ; 0x30 8087ab0: 2b20 cmp r3, #32 8087ab2: d10e bne.n 8087ad2 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][2]); 8087ab4: 4b64 ldr r3, [pc, #400] ; (8087c48 ) 8087ab6: 7b1b ldrb r3, [r3, #12] 8087ab8: b2db uxtb r3, r3 8087aba: 4a68 ldr r2, [pc, #416] ; (8087c5c ) 8087abc: 011b lsls r3, r3, #4 8087abe: 4413 add r3, r2 8087ac0: 3308 adds r3, #8 8087ac2: 681b ldr r3, [r3, #0] 8087ac4: 461a mov r2, r3 8087ac6: 213a movs r1, #58 ; 0x3a 8087ac8: f44f 7082 mov.w r0, #260 ; 0x104 8087acc: f7cc fc4a bl 8054364 8087ad0: e00d b.n 8087aee else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pSPECTYPE[pardata.LANG][3]); 8087ad2: 4b5d ldr r3, [pc, #372] ; (8087c48 ) 8087ad4: 7b1b ldrb r3, [r3, #12] 8087ad6: b2db uxtb r3, r3 8087ad8: 4a60 ldr r2, [pc, #384] ; (8087c5c ) 8087ada: 011b lsls r3, r3, #4 8087adc: 4413 add r3, r2 8087ade: 330c adds r3, #12 8087ae0: 681b ldr r3, [r3, #0] 8087ae2: 461a mov r2, r3 8087ae4: 213a movs r1, #58 ; 0x3a 8087ae6: f44f 7082 mov.w r0, #260 ; 0x104 8087aea: f7cc fc3b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pIPR_OKT[pardata.LANG][(pardata.IPR << 1) | pardata.IVS[pardata.IPR]]); 8087aee: 4b56 ldr r3, [pc, #344] ; (8087c48 ) 8087af0: 7b1b ldrb r3, [r3, #12] 8087af2: b2db uxtb r3, r3 8087af4: 4618 mov r0, r3 8087af6: 4b54 ldr r3, [pc, #336] ; (8087c48 ) 8087af8: 785b ldrb r3, [r3, #1] 8087afa: b2db uxtb r3, r3 8087afc: 005b lsls r3, r3, #1 8087afe: 4a52 ldr r2, [pc, #328] ; (8087c48 ) 8087b00: 7852 ldrb r2, [r2, #1] 8087b02: b2d2 uxtb r2, r2 8087b04: 4611 mov r1, r2 8087b06: 4a50 ldr r2, [pc, #320] ; (8087c48 ) 8087b08: 440a add r2, r1 8087b0a: 7892 ldrb r2, [r2, #2] 8087b0c: b2d2 uxtb r2, r2 8087b0e: 431a orrs r2, r3 8087b10: 4953 ldr r1, [pc, #332] ; (8087c60 ) 8087b12: 4603 mov r3, r0 8087b14: 005b lsls r3, r3, #1 8087b16: 4403 add r3, r0 8087b18: 005b lsls r3, r3, #1 8087b1a: 4413 add r3, r2 8087b1c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8087b20: 461a mov r2, r3 8087b22: 214a movs r1, #74 ; 0x4a 8087b24: f44f 7082 mov.w r0, #260 ; 0x104 8087b28: f7cc fc1c bl 8054364 LCD_DisplayStringC(260, LCD_LINE_7, (char *) pMSH[pardata.LANG][pardata.MSH]); 8087b2c: 4b46 ldr r3, [pc, #280] ; (8087c48 ) 8087b2e: 7b1b ldrb r3, [r3, #12] 8087b30: b2db uxtb r3, r3 8087b32: 4618 mov r0, r3 8087b34: 4b44 ldr r3, [pc, #272] ; (8087c48 ) 8087b36: 7a9b ldrb r3, [r3, #10] 8087b38: b2db uxtb r3, r3 8087b3a: 4619 mov r1, r3 8087b3c: 4a49 ldr r2, [pc, #292] ; (8087c64 ) 8087b3e: 0043 lsls r3, r0, #1 8087b40: 440b add r3, r1 8087b42: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087b46: 461a mov r2, r3 8087b48: 217a movs r1, #122 ; 0x7a 8087b4a: f44f 7082 mov.w r0, #260 ; 0x104 8087b4e: f7cc fc09 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pAVERAGE_SEC[pardata.LANG][pardata.AVG]); 8087b52: 4b3d ldr r3, [pc, #244] ; (8087c48 ) 8087b54: 7b1b ldrb r3, [r3, #12] 8087b56: b2db uxtb r3, r3 8087b58: 4619 mov r1, r3 8087b5a: 4b3b ldr r3, [pc, #236] ; (8087c48 ) 8087b5c: 7b5b ldrb r3, [r3, #13] 8087b5e: b2db uxtb r3, r3 8087b60: 4618 mov r0, r3 8087b62: 4a41 ldr r2, [pc, #260] ; (8087c68 ) 8087b64: 460b mov r3, r1 8087b66: 009b lsls r3, r3, #2 8087b68: 440b add r3, r1 8087b6a: 005b lsls r3, r3, #1 8087b6c: 4403 add r3, r0 8087b6e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 8087b72: 461a mov r2, r3 8087b74: 218a movs r1, #138 ; 0x8a 8087b76: f44f 7082 mov.w r0, #260 ; 0x104 8087b7a: f7cc fbf3 bl 8054364 if(menupos == FilterHP_IDT) 8087b7e: 4b36 ldr r3, [pc, #216] ; (8087c58 ) 8087b80: 781b ldrb r3, [r3, #0] 8087b82: b2db uxtb r3, r3 8087b84: 2b19 cmp r3, #25 8087b86: d177 bne.n 8087c78 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087b88: 492e ldr r1, [pc, #184] ; (8087c44 ) 8087b8a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087b8e: f7cb fe29 bl 80537e4 if(blk) 8087b92: 4b36 ldr r3, [pc, #216] ; (8087c6c ) 8087b94: 681b ldr r3, [r3, #0] 8087b96: 2b00 cmp r3, #0 8087b98: d00b beq.n 8087bb2 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8087b9a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087b9e: b2db uxtb r3, r3 8087ba0: 461a mov r2, r3 8087ba2: 4b33 ldr r3, [pc, #204] ; (8087c70 ) 8087ba4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087ba8: 461a mov r2, r3 8087baa: 215a movs r1, #90 ; 0x5a 8087bac: 20c6 movs r0, #198 ; 0xc6 8087bae: f7cc fbc1 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087bb2: 4924 ldr r1, [pc, #144] ; (8087c44 ) 8087bb4: 4827 ldr r0, [pc, #156] ; (8087c54 ) 8087bb6: f7cb fe15 bl 80537e4 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087bba: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087bbe: b2db uxtb r3, r3 8087bc0: 461a mov r2, r3 8087bc2: 4b2b ldr r3, [pc, #172] ; (8087c70 ) 8087bc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087bc8: 461a mov r2, r3 8087bca: 215a movs r1, #90 ; 0x5a 8087bcc: 20d6 movs r0, #214 ; 0xd6 8087bce: f7cc fbb1 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8087bd2: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087bd6: b2db uxtb r3, r3 8087bd8: 461a mov r2, r3 8087bda: 4b25 ldr r3, [pc, #148] ; (8087c70 ) 8087bdc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087be0: 461a mov r2, r3 8087be2: 215a movs r1, #90 ; 0x5a 8087be4: 20e6 movs r0, #230 ; 0xe6 8087be6: f7cc fba5 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087bea: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087bee: b2db uxtb r3, r3 8087bf0: 461a mov r2, r3 8087bf2: 4b1f ldr r3, [pc, #124] ; (8087c70 ) 8087bf4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087bf8: 461a mov r2, r3 8087bfa: 215a movs r1, #90 ; 0x5a 8087bfc: 20f6 movs r0, #246 ; 0xf6 8087bfe: f7cc fb99 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8087c02: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8087c06: b2db uxtb r3, r3 8087c08: 461a mov r2, r3 8087c0a: 4b19 ldr r3, [pc, #100] ; (8087c70 ) 8087c0c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087c10: 461a mov r2, r3 8087c12: 215a movs r1, #90 ; 0x5a 8087c14: f44f 7083 mov.w r0, #262 ; 0x106 8087c18: f7cc fb8c bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 8087c1c: 4a15 ldr r2, [pc, #84] ; (8087c74 ) 8087c1e: 215a movs r1, #90 ; 0x5a 8087c20: f44f 708b mov.w r0, #278 ; 0x116 8087c24: f7cc fb86 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087c28: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8087c2c: b2db uxtb r3, r3 8087c2e: 461a mov r2, r3 8087c30: 4b0f ldr r3, [pc, #60] ; (8087c70 ) 8087c32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087c36: 461a mov r2, r3 8087c38: 215a movs r1, #90 ; 0x5a 8087c3a: f44f 7093 mov.w r0, #294 ; 0x126 8087c3e: f7cc fb79 bl 8054334 8087c42: e213 b.n 808806c 8087c44: ff0a0f1f .word 0xff0a0f1f 8087c48: 20023e60 .word 0x20023e60 8087c4c: 200206b4 .word 0x200206b4 8087c50: 2002070c .word 0x2002070c 8087c54: ffd8aa57 .word 0xffd8aa57 8087c58: 20020070 .word 0x20020070 8087c5c: 2002029c .word 0x2002029c 8087c60: 2002019c .word 0x2002019c 8087c64: 20020214 .word 0x20020214 8087c68: 2002024c .word 0x2002024c 8087c6c: 2002165c .word 0x2002165c 8087c70: 20020964 .word 0x20020964 8087c74: 080cf820 .word 0x080cf820 if(menupos == FilterHP_IET) 8087c78: 4bc5 ldr r3, [pc, #788] ; (8087f90 ) 8087c7a: 781b ldrb r3, [r3, #0] 8087c7c: b2db uxtb r3, r3 8087c7e: 2b1a cmp r3, #26 8087c80: d15d bne.n 8087d3e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087c82: 49c4 ldr r1, [pc, #784] ; (8087f94 ) 8087c84: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087c88: f7cb fdac bl 80537e4 if(blk) 8087c8c: 4bc2 ldr r3, [pc, #776] ; (8087f98 ) 8087c8e: 681b ldr r3, [r3, #0] 8087c90: 2b00 cmp r3, #0 8087c92: d00b beq.n 8087cac LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087c94: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087c98: b2db uxtb r3, r3 8087c9a: 461a mov r2, r3 8087c9c: 4bbf ldr r3, [pc, #764] ; (8087f9c ) 8087c9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087ca2: 461a mov r2, r3 8087ca4: 215a movs r1, #90 ; 0x5a 8087ca6: 20d6 movs r0, #214 ; 0xd6 8087ca8: f7cc fb44 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087cac: 49b9 ldr r1, [pc, #740] ; (8087f94 ) 8087cae: 48bc ldr r0, [pc, #752] ; (8087fa0 ) 8087cb0: f7cb fd98 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8087cb4: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087cb8: b2db uxtb r3, r3 8087cba: 461a mov r2, r3 8087cbc: 4bb7 ldr r3, [pc, #732] ; (8087f9c ) 8087cbe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087cc2: 461a mov r2, r3 8087cc4: 215a movs r1, #90 ; 0x5a 8087cc6: 20c6 movs r0, #198 ; 0xc6 8087cc8: f7cc fb34 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8087ccc: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087cd0: b2db uxtb r3, r3 8087cd2: 461a mov r2, r3 8087cd4: 4bb1 ldr r3, [pc, #708] ; (8087f9c ) 8087cd6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087cda: 461a mov r2, r3 8087cdc: 215a movs r1, #90 ; 0x5a 8087cde: 20e6 movs r0, #230 ; 0xe6 8087ce0: f7cc fb28 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087ce4: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087ce8: b2db uxtb r3, r3 8087cea: 461a mov r2, r3 8087cec: 4bab ldr r3, [pc, #684] ; (8087f9c ) 8087cee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087cf2: 461a mov r2, r3 8087cf4: 215a movs r1, #90 ; 0x5a 8087cf6: 20f6 movs r0, #246 ; 0xf6 8087cf8: f7cc fb1c bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8087cfc: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8087d00: b2db uxtb r3, r3 8087d02: 461a mov r2, r3 8087d04: 4ba5 ldr r3, [pc, #660] ; (8087f9c ) 8087d06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d0a: 461a mov r2, r3 8087d0c: 215a movs r1, #90 ; 0x5a 8087d0e: f44f 7083 mov.w r0, #262 ; 0x106 8087d12: f7cc fb0f bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 8087d16: 4aa3 ldr r2, [pc, #652] ; (8087fa4 ) 8087d18: 215a movs r1, #90 ; 0x5a 8087d1a: f44f 708b mov.w r0, #278 ; 0x116 8087d1e: f7cc fb09 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087d22: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8087d26: b2db uxtb r3, r3 8087d28: 461a mov r2, r3 8087d2a: 4b9c ldr r3, [pc, #624] ; (8087f9c ) 8087d2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d30: 461a mov r2, r3 8087d32: 215a movs r1, #90 ; 0x5a 8087d34: f44f 7093 mov.w r0, #294 ; 0x126 8087d38: f7cc fafc bl 8054334 8087d3c: e196 b.n 808806c if(menupos == FilterHP_IES) 8087d3e: 4b94 ldr r3, [pc, #592] ; (8087f90 ) 8087d40: 781b ldrb r3, [r3, #0] 8087d42: b2db uxtb r3, r3 8087d44: 2b1b cmp r3, #27 8087d46: d15d bne.n 8087e04 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087d48: 4992 ldr r1, [pc, #584] ; (8087f94 ) 8087d4a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087d4e: f7cb fd49 bl 80537e4 if(blk) 8087d52: 4b91 ldr r3, [pc, #580] ; (8087f98 ) 8087d54: 681b ldr r3, [r3, #0] 8087d56: 2b00 cmp r3, #0 8087d58: d00b beq.n 8087d72 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8087d5a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087d5e: b2db uxtb r3, r3 8087d60: 461a mov r2, r3 8087d62: 4b8e ldr r3, [pc, #568] ; (8087f9c ) 8087d64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d68: 461a mov r2, r3 8087d6a: 215a movs r1, #90 ; 0x5a 8087d6c: 20e6 movs r0, #230 ; 0xe6 8087d6e: f7cc fae1 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087d72: 4988 ldr r1, [pc, #544] ; (8087f94 ) 8087d74: 488a ldr r0, [pc, #552] ; (8087fa0 ) 8087d76: f7cb fd35 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8087d7a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087d7e: b2db uxtb r3, r3 8087d80: 461a mov r2, r3 8087d82: 4b86 ldr r3, [pc, #536] ; (8087f9c ) 8087d84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087d88: 461a mov r2, r3 8087d8a: 215a movs r1, #90 ; 0x5a 8087d8c: 20c6 movs r0, #198 ; 0xc6 8087d8e: f7cc fad1 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087d92: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087d96: b2db uxtb r3, r3 8087d98: 461a mov r2, r3 8087d9a: 4b80 ldr r3, [pc, #512] ; (8087f9c ) 8087d9c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087da0: 461a mov r2, r3 8087da2: 215a movs r1, #90 ; 0x5a 8087da4: 20d6 movs r0, #214 ; 0xd6 8087da6: f7cc fac5 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087daa: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087dae: b2db uxtb r3, r3 8087db0: 461a mov r2, r3 8087db2: 4b7a ldr r3, [pc, #488] ; (8087f9c ) 8087db4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087db8: 461a mov r2, r3 8087dba: 215a movs r1, #90 ; 0x5a 8087dbc: 20f6 movs r0, #246 ; 0xf6 8087dbe: f7cc fab9 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8087dc2: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8087dc6: b2db uxtb r3, r3 8087dc8: 461a mov r2, r3 8087dca: 4b74 ldr r3, [pc, #464] ; (8087f9c ) 8087dcc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087dd0: 461a mov r2, r3 8087dd2: 215a movs r1, #90 ; 0x5a 8087dd4: f44f 7083 mov.w r0, #262 ; 0x106 8087dd8: f7cc faac bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 8087ddc: 4a71 ldr r2, [pc, #452] ; (8087fa4 ) 8087dde: 215a movs r1, #90 ; 0x5a 8087de0: f44f 708b mov.w r0, #278 ; 0x116 8087de4: f7cc faa6 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087de8: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8087dec: b2db uxtb r3, r3 8087dee: 461a mov r2, r3 8087df0: 4b6a ldr r3, [pc, #424] ; (8087f9c ) 8087df2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087df6: 461a mov r2, r3 8087df8: 215a movs r1, #90 ; 0x5a 8087dfa: f44f 7093 mov.w r0, #294 ; 0x126 8087dfe: f7cc fa99 bl 8054334 8087e02: e133 b.n 808806c if(menupos == FilterHP_IED) 8087e04: 4b62 ldr r3, [pc, #392] ; (8087f90 ) 8087e06: 781b ldrb r3, [r3, #0] 8087e08: b2db uxtb r3, r3 8087e0a: 2b1c cmp r3, #28 8087e0c: d15d bne.n 8087eca LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087e0e: 4961 ldr r1, [pc, #388] ; (8087f94 ) 8087e10: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087e14: f7cb fce6 bl 80537e4 if(blk) 8087e18: 4b5f ldr r3, [pc, #380] ; (8087f98 ) 8087e1a: 681b ldr r3, [r3, #0] 8087e1c: 2b00 cmp r3, #0 8087e1e: d00b beq.n 8087e38 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087e20: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087e24: b2db uxtb r3, r3 8087e26: 461a mov r2, r3 8087e28: 4b5c ldr r3, [pc, #368] ; (8087f9c ) 8087e2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e2e: 461a mov r2, r3 8087e30: 215a movs r1, #90 ; 0x5a 8087e32: 20f6 movs r0, #246 ; 0xf6 8087e34: f7cc fa7e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087e38: 4956 ldr r1, [pc, #344] ; (8087f94 ) 8087e3a: 4859 ldr r0, [pc, #356] ; (8087fa0 ) 8087e3c: f7cb fcd2 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8087e40: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087e44: b2db uxtb r3, r3 8087e46: 461a mov r2, r3 8087e48: 4b54 ldr r3, [pc, #336] ; (8087f9c ) 8087e4a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e4e: 461a mov r2, r3 8087e50: 215a movs r1, #90 ; 0x5a 8087e52: 20c6 movs r0, #198 ; 0xc6 8087e54: f7cc fa6e bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087e58: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087e5c: b2db uxtb r3, r3 8087e5e: 461a mov r2, r3 8087e60: 4b4e ldr r3, [pc, #312] ; (8087f9c ) 8087e62: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e66: 461a mov r2, r3 8087e68: 215a movs r1, #90 ; 0x5a 8087e6a: 20d6 movs r0, #214 ; 0xd6 8087e6c: f7cc fa62 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8087e70: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087e74: b2db uxtb r3, r3 8087e76: 461a mov r2, r3 8087e78: 4b48 ldr r3, [pc, #288] ; (8087f9c ) 8087e7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e7e: 461a mov r2, r3 8087e80: 215a movs r1, #90 ; 0x5a 8087e82: 20e6 movs r0, #230 ; 0xe6 8087e84: f7cc fa56 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8087e88: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8087e8c: b2db uxtb r3, r3 8087e8e: 461a mov r2, r3 8087e90: 4b42 ldr r3, [pc, #264] ; (8087f9c ) 8087e92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087e96: 461a mov r2, r3 8087e98: 215a movs r1, #90 ; 0x5a 8087e9a: f44f 7083 mov.w r0, #262 ; 0x106 8087e9e: f7cc fa49 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 8087ea2: 4a40 ldr r2, [pc, #256] ; (8087fa4 ) 8087ea4: 215a movs r1, #90 ; 0x5a 8087ea6: f44f 708b mov.w r0, #278 ; 0x116 8087eaa: f7cc fa43 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087eae: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8087eb2: b2db uxtb r3, r3 8087eb4: 461a mov r2, r3 8087eb6: 4b39 ldr r3, [pc, #228] ; (8087f9c ) 8087eb8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087ebc: 461a mov r2, r3 8087ebe: 215a movs r1, #90 ; 0x5a 8087ec0: f44f 7093 mov.w r0, #294 ; 0x126 8087ec4: f7cc fa36 bl 8054334 8087ec8: e0d0 b.n 808806c if(menupos == FilterHP_IEE) 8087eca: 4b31 ldr r3, [pc, #196] ; (8087f90 ) 8087ecc: 781b ldrb r3, [r3, #0] 8087ece: b2db uxtb r3, r3 8087ed0: 2b1d cmp r3, #29 8087ed2: d169 bne.n 8087fa8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087ed4: 492f ldr r1, [pc, #188] ; (8087f94 ) 8087ed6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087eda: f7cb fc83 bl 80537e4 if(blk) 8087ede: 4b2e ldr r3, [pc, #184] ; (8087f98 ) 8087ee0: 681b ldr r3, [r3, #0] 8087ee2: 2b00 cmp r3, #0 8087ee4: d00c beq.n 8087f00 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8087ee6: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 8087eea: b2db uxtb r3, r3 8087eec: 461a mov r2, r3 8087eee: 4b2b ldr r3, [pc, #172] ; (8087f9c ) 8087ef0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087ef4: 461a mov r2, r3 8087ef6: 215a movs r1, #90 ; 0x5a 8087ef8: f44f 7083 mov.w r0, #262 ; 0x106 8087efc: f7cc fa1a bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087f00: 4924 ldr r1, [pc, #144] ; (8087f94 ) 8087f02: 4827 ldr r0, [pc, #156] ; (8087fa0 ) 8087f04: f7cb fc6e bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8087f08: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087f0c: b2db uxtb r3, r3 8087f0e: 461a mov r2, r3 8087f10: 4b22 ldr r3, [pc, #136] ; (8087f9c ) 8087f12: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087f16: 461a mov r2, r3 8087f18: 215a movs r1, #90 ; 0x5a 8087f1a: 20c6 movs r0, #198 ; 0xc6 8087f1c: f7cc fa0a bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087f20: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8087f24: b2db uxtb r3, r3 8087f26: 461a mov r2, r3 8087f28: 4b1c ldr r3, [pc, #112] ; (8087f9c ) 8087f2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087f2e: 461a mov r2, r3 8087f30: 215a movs r1, #90 ; 0x5a 8087f32: 20d6 movs r0, #214 ; 0xd6 8087f34: f7cc f9fe bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8087f38: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8087f3c: b2db uxtb r3, r3 8087f3e: 461a mov r2, r3 8087f40: 4b16 ldr r3, [pc, #88] ; (8087f9c ) 8087f42: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087f46: 461a mov r2, r3 8087f48: 215a movs r1, #90 ; 0x5a 8087f4a: 20e6 movs r0, #230 ; 0xe6 8087f4c: f7cc f9f2 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 8087f50: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8087f54: b2db uxtb r3, r3 8087f56: 461a mov r2, r3 8087f58: 4b10 ldr r3, [pc, #64] ; (8087f9c ) 8087f5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087f5e: 461a mov r2, r3 8087f60: 215a movs r1, #90 ; 0x5a 8087f62: 20f6 movs r0, #246 ; 0xf6 8087f64: f7cc f9e6 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 8087f68: 4a0e ldr r2, [pc, #56] ; (8087fa4 ) 8087f6a: 215a movs r1, #90 ; 0x5a 8087f6c: f44f 708b mov.w r0, #278 ; 0x116 8087f70: f7cc f9e0 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087f74: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8087f78: b2db uxtb r3, r3 8087f7a: 461a mov r2, r3 8087f7c: 4b07 ldr r3, [pc, #28] ; (8087f9c ) 8087f7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087f82: 461a mov r2, r3 8087f84: 215a movs r1, #90 ; 0x5a 8087f86: f44f 7093 mov.w r0, #294 ; 0x126 8087f8a: f7cc f9d3 bl 8054334 8087f8e: e06d b.n 808806c 8087f90: 20020070 .word 0x20020070 8087f94: ff0a0f1f .word 0xff0a0f1f 8087f98: 2002165c .word 0x2002165c 8087f9c: 20020964 .word 0x20020964 8087fa0: ffd8aa57 .word 0xffd8aa57 8087fa4: 080cf820 .word 0x080cf820 if(menupos == FilterHP_IKD) 8087fa8: 4bc5 ldr r3, [pc, #788] ; (80882c0 ) 8087faa: 781b ldrb r3, [r3, #0] 8087fac: b2db uxtb r3, r3 8087fae: 2b1e cmp r3, #30 8087fb0: d15c bne.n 808806c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8087fb2: 49c4 ldr r1, [pc, #784] ; (80882c4 ) 8087fb4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8087fb8: f7cb fc14 bl 80537e4 if(blk) 8087fbc: 4bc2 ldr r3, [pc, #776] ; (80882c8 ) 8087fbe: 681b ldr r3, [r3, #0] 8087fc0: 2b00 cmp r3, #0 8087fc2: d00c beq.n 8087fde LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdHP]); 8087fc4: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 8087fc8: b2db uxtb r3, r3 8087fca: 461a mov r2, r3 8087fcc: 4bbf ldr r3, [pc, #764] ; (80882cc ) 8087fce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087fd2: 461a mov r2, r3 8087fd4: 215a movs r1, #90 ; 0x5a 8087fd6: f44f 7093 mov.w r0, #294 ; 0x126 8087fda: f7cc f9ab bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8087fde: 49b9 ldr r1, [pc, #740] ; (80882c4 ) 8087fe0: 48bb ldr r0, [pc, #748] ; (80882d0 ) 8087fe2: f7cb fbff bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtHP]); 8087fe6: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8087fea: b2db uxtb r3, r3 8087fec: 461a mov r2, r3 8087fee: 4bb7 ldr r3, [pc, #732] ; (80882cc ) 8087ff0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8087ff4: 461a mov r2, r3 8087ff6: 215a movs r1, #90 ; 0x5a 8087ff8: 20c6 movs r0, #198 ; 0xc6 8087ffa: f7cc f99b bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietHP]); 8087ffe: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8088002: b2db uxtb r3, r3 8088004: 461a mov r2, r3 8088006: 4bb1 ldr r3, [pc, #708] ; (80882cc ) 8088008: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808800c: 461a mov r2, r3 808800e: 215a movs r1, #90 ; 0x5a 8088010: 20d6 movs r0, #214 ; 0xd6 8088012: f7cc f98f bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesHP]); 8088016: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808801a: b2db uxtb r3, r3 808801c: 461a mov r2, r3 808801e: 4bab ldr r3, [pc, #684] ; (80882cc ) 8088020: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088024: 461a mov r2, r3 8088026: 215a movs r1, #90 ; 0x5a 8088028: 20e6 movs r0, #230 ; 0xe6 808802a: f7cc f983 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedHP]); 808802e: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8088032: b2db uxtb r3, r3 8088034: 461a mov r2, r3 8088036: 4ba5 ldr r3, [pc, #660] ; (80882cc ) 8088038: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808803c: 461a mov r2, r3 808803e: 215a movs r1, #90 ; 0x5a 8088040: 20f6 movs r0, #246 ; 0xf6 8088042: f7cc f977 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeHP]); 8088046: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808804a: b2db uxtb r3, r3 808804c: 461a mov r2, r3 808804e: 4b9f ldr r3, [pc, #636] ; (80882cc ) 8088050: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088054: 461a mov r2, r3 8088056: 215a movs r1, #90 ; 0x5a 8088058: f44f 7083 mov.w r0, #262 ; 0x106 808805c: f7cc f96a bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 8088060: 4a9c ldr r2, [pc, #624] ; (80882d4 ) 8088062: 215a movs r1, #90 ; 0x5a 8088064: f44f 708b mov.w r0, #278 ; 0x116 8088068: f7cc f964 bl 8054334 if(menupos == FilterLP_IDT) 808806c: 4b94 ldr r3, [pc, #592] ; (80882c0 ) 808806e: 781b ldrb r3, [r3, #0] 8088070: b2db uxtb r3, r3 8088072: 2b1f cmp r3, #31 8088074: d15d bne.n 8088132 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088076: 4993 ldr r1, [pc, #588] ; (80882c4 ) 8088078: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808807c: f7cb fbb2 bl 80537e4 if(blk) 8088080: 4b91 ldr r3, [pc, #580] ; (80882c8 ) 8088082: 681b ldr r3, [r3, #0] 8088084: 2b00 cmp r3, #0 8088086: d00b beq.n 80880a0 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8088088: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808808c: b2db uxtb r3, r3 808808e: 461a mov r2, r3 8088090: 4b8e ldr r3, [pc, #568] ; (80882cc ) 8088092: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088096: 461a mov r2, r3 8088098: 216a movs r1, #106 ; 0x6a 808809a: 20c6 movs r0, #198 ; 0xc6 808809c: f7cc f94a bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80880a0: 4988 ldr r1, [pc, #544] ; (80882c4 ) 80880a2: 488b ldr r0, [pc, #556] ; (80882d0 ) 80880a4: f7cb fb9e bl 80537e4 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 80880a8: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80880ac: b2db uxtb r3, r3 80880ae: 461a mov r2, r3 80880b0: 4b86 ldr r3, [pc, #536] ; (80882cc ) 80880b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80880b6: 461a mov r2, r3 80880b8: 216a movs r1, #106 ; 0x6a 80880ba: 20d6 movs r0, #214 ; 0xd6 80880bc: f7cc f93a bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 80880c0: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80880c4: b2db uxtb r3, r3 80880c6: 461a mov r2, r3 80880c8: 4b80 ldr r3, [pc, #512] ; (80882cc ) 80880ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80880ce: 461a mov r2, r3 80880d0: 216a movs r1, #106 ; 0x6a 80880d2: 20e6 movs r0, #230 ; 0xe6 80880d4: f7cc f92e bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 80880d8: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80880dc: b2db uxtb r3, r3 80880de: 461a mov r2, r3 80880e0: 4b7a ldr r3, [pc, #488] ; (80882cc ) 80880e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80880e6: 461a mov r2, r3 80880e8: 216a movs r1, #106 ; 0x6a 80880ea: 20f6 movs r0, #246 ; 0xf6 80880ec: f7cc f922 bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 80880f0: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 80880f4: b2db uxtb r3, r3 80880f6: 461a mov r2, r3 80880f8: 4b74 ldr r3, [pc, #464] ; (80882cc ) 80880fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80880fe: 461a mov r2, r3 8088100: 216a movs r1, #106 ; 0x6a 8088102: f44f 7083 mov.w r0, #262 ; 0x106 8088106: f7cc f915 bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 808810a: 4a72 ldr r2, [pc, #456] ; (80882d4 ) 808810c: 216a movs r1, #106 ; 0x6a 808810e: f44f 708b mov.w r0, #278 ; 0x116 8088112: f7cc f90f bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8088116: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808811a: b2db uxtb r3, r3 808811c: 461a mov r2, r3 808811e: 4b6b ldr r3, [pc, #428] ; (80882cc ) 8088120: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088124: 461a mov r2, r3 8088126: 216a movs r1, #106 ; 0x6a 8088128: f44f 7093 mov.w r0, #294 ; 0x126 808812c: f7cc f902 bl 8054334 8088130: e1fa b.n 8088528 if(menupos == FilterLP_IET) 8088132: 4b63 ldr r3, [pc, #396] ; (80882c0 ) 8088134: 781b ldrb r3, [r3, #0] 8088136: b2db uxtb r3, r3 8088138: 2b20 cmp r3, #32 808813a: d15d bne.n 80881f8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808813c: 4961 ldr r1, [pc, #388] ; (80882c4 ) 808813e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088142: f7cb fb4f bl 80537e4 if(blk) 8088146: 4b60 ldr r3, [pc, #384] ; (80882c8 ) 8088148: 681b ldr r3, [r3, #0] 808814a: 2b00 cmp r3, #0 808814c: d00b beq.n 8088166 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 808814e: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8088152: b2db uxtb r3, r3 8088154: 461a mov r2, r3 8088156: 4b5d ldr r3, [pc, #372] ; (80882cc ) 8088158: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808815c: 461a mov r2, r3 808815e: 216a movs r1, #106 ; 0x6a 8088160: 20d6 movs r0, #214 ; 0xd6 8088162: f7cc f8e7 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088166: 4957 ldr r1, [pc, #348] ; (80882c4 ) 8088168: 4859 ldr r0, [pc, #356] ; (80882d0 ) 808816a: f7cb fb3b bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 808816e: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8088172: b2db uxtb r3, r3 8088174: 461a mov r2, r3 8088176: 4b55 ldr r3, [pc, #340] ; (80882cc ) 8088178: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808817c: 461a mov r2, r3 808817e: 216a movs r1, #106 ; 0x6a 8088180: 20c6 movs r0, #198 ; 0xc6 8088182: f7cc f8d7 bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8088186: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808818a: b2db uxtb r3, r3 808818c: 461a mov r2, r3 808818e: 4b4f ldr r3, [pc, #316] ; (80882cc ) 8088190: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088194: 461a mov r2, r3 8088196: 216a movs r1, #106 ; 0x6a 8088198: 20e6 movs r0, #230 ; 0xe6 808819a: f7cc f8cb bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 808819e: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80881a2: b2db uxtb r3, r3 80881a4: 461a mov r2, r3 80881a6: 4b49 ldr r3, [pc, #292] ; (80882cc ) 80881a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80881ac: 461a mov r2, r3 80881ae: 216a movs r1, #106 ; 0x6a 80881b0: 20f6 movs r0, #246 ; 0xf6 80881b2: f7cc f8bf bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 80881b6: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 80881ba: b2db uxtb r3, r3 80881bc: 461a mov r2, r3 80881be: 4b43 ldr r3, [pc, #268] ; (80882cc ) 80881c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80881c4: 461a mov r2, r3 80881c6: 216a movs r1, #106 ; 0x6a 80881c8: f44f 7083 mov.w r0, #262 ; 0x106 80881cc: f7cc f8b2 bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 80881d0: 4a40 ldr r2, [pc, #256] ; (80882d4 ) 80881d2: 216a movs r1, #106 ; 0x6a 80881d4: f44f 708b mov.w r0, #278 ; 0x116 80881d8: f7cc f8ac bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 80881dc: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 80881e0: b2db uxtb r3, r3 80881e2: 461a mov r2, r3 80881e4: 4b39 ldr r3, [pc, #228] ; (80882cc ) 80881e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80881ea: 461a mov r2, r3 80881ec: 216a movs r1, #106 ; 0x6a 80881ee: f44f 7093 mov.w r0, #294 ; 0x126 80881f2: f7cc f89f bl 8054334 80881f6: e197 b.n 8088528 if(menupos == FilterLP_IES) 80881f8: 4b31 ldr r3, [pc, #196] ; (80882c0 ) 80881fa: 781b ldrb r3, [r3, #0] 80881fc: b2db uxtb r3, r3 80881fe: 2b21 cmp r3, #33 ; 0x21 8088200: d16a bne.n 80882d8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088202: 4930 ldr r1, [pc, #192] ; (80882c4 ) 8088204: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088208: f7cb faec bl 80537e4 if(blk) 808820c: 4b2e ldr r3, [pc, #184] ; (80882c8 ) 808820e: 681b ldr r3, [r3, #0] 8088210: 2b00 cmp r3, #0 8088212: d00b beq.n 808822c LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8088214: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8088218: b2db uxtb r3, r3 808821a: 461a mov r2, r3 808821c: 4b2b ldr r3, [pc, #172] ; (80882cc ) 808821e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088222: 461a mov r2, r3 8088224: 216a movs r1, #106 ; 0x6a 8088226: 20e6 movs r0, #230 ; 0xe6 8088228: f7cc f884 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808822c: 4925 ldr r1, [pc, #148] ; (80882c4 ) 808822e: 4828 ldr r0, [pc, #160] ; (80882d0 ) 8088230: f7cb fad8 bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8088234: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8088238: b2db uxtb r3, r3 808823a: 461a mov r2, r3 808823c: 4b23 ldr r3, [pc, #140] ; (80882cc ) 808823e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088242: 461a mov r2, r3 8088244: 216a movs r1, #106 ; 0x6a 8088246: 20c6 movs r0, #198 ; 0xc6 8088248: f7cc f874 bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 808824c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8088250: b2db uxtb r3, r3 8088252: 461a mov r2, r3 8088254: 4b1d ldr r3, [pc, #116] ; (80882cc ) 8088256: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808825a: 461a mov r2, r3 808825c: 216a movs r1, #106 ; 0x6a 808825e: 20d6 movs r0, #214 ; 0xd6 8088260: f7cc f868 bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8088264: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8088268: b2db uxtb r3, r3 808826a: 461a mov r2, r3 808826c: 4b17 ldr r3, [pc, #92] ; (80882cc ) 808826e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088272: 461a mov r2, r3 8088274: 216a movs r1, #106 ; 0x6a 8088276: 20f6 movs r0, #246 ; 0xf6 8088278: f7cc f85c bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 808827c: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8088280: b2db uxtb r3, r3 8088282: 461a mov r2, r3 8088284: 4b11 ldr r3, [pc, #68] ; (80882cc ) 8088286: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808828a: 461a mov r2, r3 808828c: 216a movs r1, #106 ; 0x6a 808828e: f44f 7083 mov.w r0, #262 ; 0x106 8088292: f7cc f84f bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 8088296: 4a0f ldr r2, [pc, #60] ; (80882d4 ) 8088298: 216a movs r1, #106 ; 0x6a 808829a: f44f 708b mov.w r0, #278 ; 0x116 808829e: f7cc f849 bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 80882a2: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 80882a6: b2db uxtb r3, r3 80882a8: 461a mov r2, r3 80882aa: 4b08 ldr r3, [pc, #32] ; (80882cc ) 80882ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80882b0: 461a mov r2, r3 80882b2: 216a movs r1, #106 ; 0x6a 80882b4: f44f 7093 mov.w r0, #294 ; 0x126 80882b8: f7cc f83c bl 8054334 80882bc: e134 b.n 8088528 80882be: bf00 nop 80882c0: 20020070 .word 0x20020070 80882c4: ff0a0f1f .word 0xff0a0f1f 80882c8: 2002165c .word 0x2002165c 80882cc: 20020964 .word 0x20020964 80882d0: ffd8aa57 .word 0xffd8aa57 80882d4: 080cf820 .word 0x080cf820 if(menupos == FilterLP_IED) 80882d8: 4bc5 ldr r3, [pc, #788] ; (80885f0 ) 80882da: 781b ldrb r3, [r3, #0] 80882dc: b2db uxtb r3, r3 80882de: 2b22 cmp r3, #34 ; 0x22 80882e0: d15d bne.n 808839e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80882e2: 49c4 ldr r1, [pc, #784] ; (80885f4 ) 80882e4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80882e8: f7cb fa7c bl 80537e4 if(blk) 80882ec: 4bc2 ldr r3, [pc, #776] ; (80885f8 ) 80882ee: 681b ldr r3, [r3, #0] 80882f0: 2b00 cmp r3, #0 80882f2: d00b beq.n 808830c LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 80882f4: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80882f8: b2db uxtb r3, r3 80882fa: 461a mov r2, r3 80882fc: 4bbf ldr r3, [pc, #764] ; (80885fc ) 80882fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088302: 461a mov r2, r3 8088304: 216a movs r1, #106 ; 0x6a 8088306: 20f6 movs r0, #246 ; 0xf6 8088308: f7cc f814 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808830c: 49b9 ldr r1, [pc, #740] ; (80885f4 ) 808830e: 48bc ldr r0, [pc, #752] ; (8088600 ) 8088310: f7cb fa68 bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 8088314: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 8088318: b2db uxtb r3, r3 808831a: 461a mov r2, r3 808831c: 4bb7 ldr r3, [pc, #732] ; (80885fc ) 808831e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088322: 461a mov r2, r3 8088324: 216a movs r1, #106 ; 0x6a 8088326: 20c6 movs r0, #198 ; 0xc6 8088328: f7cc f804 bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 808832c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 8088330: b2db uxtb r3, r3 8088332: 461a mov r2, r3 8088334: 4bb1 ldr r3, [pc, #708] ; (80885fc ) 8088336: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808833a: 461a mov r2, r3 808833c: 216a movs r1, #106 ; 0x6a 808833e: 20d6 movs r0, #214 ; 0xd6 8088340: f7cb fff8 bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 8088344: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8088348: b2db uxtb r3, r3 808834a: 461a mov r2, r3 808834c: 4bab ldr r3, [pc, #684] ; (80885fc ) 808834e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088352: 461a mov r2, r3 8088354: 216a movs r1, #106 ; 0x6a 8088356: 20e6 movs r0, #230 ; 0xe6 8088358: f7cb ffec bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 808835c: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8088360: b2db uxtb r3, r3 8088362: 461a mov r2, r3 8088364: 4ba5 ldr r3, [pc, #660] ; (80885fc ) 8088366: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808836a: 461a mov r2, r3 808836c: 216a movs r1, #106 ; 0x6a 808836e: f44f 7083 mov.w r0, #262 ; 0x106 8088372: f7cb ffdf bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 8088376: 4aa3 ldr r2, [pc, #652] ; (8088604 ) 8088378: 216a movs r1, #106 ; 0x6a 808837a: f44f 708b mov.w r0, #278 ; 0x116 808837e: f7cb ffd9 bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8088382: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8088386: b2db uxtb r3, r3 8088388: 461a mov r2, r3 808838a: 4b9c ldr r3, [pc, #624] ; (80885fc ) 808838c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088390: 461a mov r2, r3 8088392: 216a movs r1, #106 ; 0x6a 8088394: f44f 7093 mov.w r0, #294 ; 0x126 8088398: f7cb ffcc bl 8054334 808839c: e0c4 b.n 8088528 if(menupos == FilterLP_IEE) 808839e: 4b94 ldr r3, [pc, #592] ; (80885f0 ) 80883a0: 781b ldrb r3, [r3, #0] 80883a2: b2db uxtb r3, r3 80883a4: 2b23 cmp r3, #35 ; 0x23 80883a6: d15d bne.n 8088464 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80883a8: 4992 ldr r1, [pc, #584] ; (80885f4 ) 80883aa: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80883ae: f7cb fa19 bl 80537e4 if(blk) 80883b2: 4b91 ldr r3, [pc, #580] ; (80885f8 ) 80883b4: 681b ldr r3, [r3, #0] 80883b6: 2b00 cmp r3, #0 80883b8: d00c beq.n 80883d4 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 80883ba: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 80883be: b2db uxtb r3, r3 80883c0: 461a mov r2, r3 80883c2: 4b8e ldr r3, [pc, #568] ; (80885fc ) 80883c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80883c8: 461a mov r2, r3 80883ca: 216a movs r1, #106 ; 0x6a 80883cc: f44f 7083 mov.w r0, #262 ; 0x106 80883d0: f7cb ffb0 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80883d4: 4987 ldr r1, [pc, #540] ; (80885f4 ) 80883d6: 488a ldr r0, [pc, #552] ; (8088600 ) 80883d8: f7cb fa04 bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 80883dc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80883e0: b2db uxtb r3, r3 80883e2: 461a mov r2, r3 80883e4: 4b85 ldr r3, [pc, #532] ; (80885fc ) 80883e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80883ea: 461a mov r2, r3 80883ec: 216a movs r1, #106 ; 0x6a 80883ee: 20c6 movs r0, #198 ; 0xc6 80883f0: f7cb ffa0 bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 80883f4: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80883f8: b2db uxtb r3, r3 80883fa: 461a mov r2, r3 80883fc: 4b7f ldr r3, [pc, #508] ; (80885fc ) 80883fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088402: 461a mov r2, r3 8088404: 216a movs r1, #106 ; 0x6a 8088406: 20d6 movs r0, #214 ; 0xd6 8088408: f7cb ff94 bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 808840c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 8088410: b2db uxtb r3, r3 8088412: 461a mov r2, r3 8088414: 4b79 ldr r3, [pc, #484] ; (80885fc ) 8088416: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808841a: 461a mov r2, r3 808841c: 216a movs r1, #106 ; 0x6a 808841e: 20e6 movs r0, #230 ; 0xe6 8088420: f7cb ff88 bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 8088424: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 8088428: b2db uxtb r3, r3 808842a: 461a mov r2, r3 808842c: 4b73 ldr r3, [pc, #460] ; (80885fc ) 808842e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088432: 461a mov r2, r3 8088434: 216a movs r1, #106 ; 0x6a 8088436: 20f6 movs r0, #246 ; 0xf6 8088438: f7cb ff7c bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 808843c: 4a71 ldr r2, [pc, #452] ; (8088604 ) 808843e: 216a movs r1, #106 ; 0x6a 8088440: f44f 708b mov.w r0, #278 ; 0x116 8088444: f7cb ff76 bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8088448: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808844c: b2db uxtb r3, r3 808844e: 461a mov r2, r3 8088450: 4b6a ldr r3, [pc, #424] ; (80885fc ) 8088452: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088456: 461a mov r2, r3 8088458: 216a movs r1, #106 ; 0x6a 808845a: f44f 7093 mov.w r0, #294 ; 0x126 808845e: f7cb ff69 bl 8054334 8088462: e061 b.n 8088528 if(menupos == FilterLP_IKD) 8088464: 4b62 ldr r3, [pc, #392] ; (80885f0 ) 8088466: 781b ldrb r3, [r3, #0] 8088468: b2db uxtb r3, r3 808846a: 2b24 cmp r3, #36 ; 0x24 808846c: d15c bne.n 8088528 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808846e: 4961 ldr r1, [pc, #388] ; (80885f4 ) 8088470: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088474: f7cb f9b6 bl 80537e4 if(blk) 8088478: 4b5f ldr r3, [pc, #380] ; (80885f8 ) 808847a: 681b ldr r3, [r3, #0] 808847c: 2b00 cmp r3, #0 808847e: d00c beq.n 808849a LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikdLP]); 8088480: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 8088484: b2db uxtb r3, r3 8088486: 461a mov r2, r3 8088488: 4b5c ldr r3, [pc, #368] ; (80885fc ) 808848a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808848e: 461a mov r2, r3 8088490: 216a movs r1, #106 ; 0x6a 8088492: f44f 7093 mov.w r0, #294 ; 0x126 8088496: f7cb ff4d bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808849a: 4956 ldr r1, [pc, #344] ; (80885f4 ) 808849c: 4858 ldr r0, [pc, #352] ; (8088600 ) 808849e: f7cb f9a1 bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idtLP]); 80884a2: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 80884a6: b2db uxtb r3, r3 80884a8: 461a mov r2, r3 80884aa: 4b54 ldr r3, [pc, #336] ; (80885fc ) 80884ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80884b0: 461a mov r2, r3 80884b2: 216a movs r1, #106 ; 0x6a 80884b4: 20c6 movs r0, #198 ; 0xc6 80884b6: f7cb ff3d bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[ietLP]); 80884ba: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 80884be: b2db uxtb r3, r3 80884c0: 461a mov r2, r3 80884c2: 4b4e ldr r3, [pc, #312] ; (80885fc ) 80884c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80884c8: 461a mov r2, r3 80884ca: 216a movs r1, #106 ; 0x6a 80884cc: 20d6 movs r0, #214 ; 0xd6 80884ce: f7cb ff31 bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[iesLP]); 80884d2: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 80884d6: b2db uxtb r3, r3 80884d8: 461a mov r2, r3 80884da: 4b48 ldr r3, [pc, #288] ; (80885fc ) 80884dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80884e0: 461a mov r2, r3 80884e2: 216a movs r1, #106 ; 0x6a 80884e4: 20e6 movs r0, #230 ; 0xe6 80884e6: f7cb ff25 bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[iedLP]); 80884ea: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 80884ee: b2db uxtb r3, r3 80884f0: 461a mov r2, r3 80884f2: 4b42 ldr r3, [pc, #264] ; (80885fc ) 80884f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80884f8: 461a mov r2, r3 80884fa: 216a movs r1, #106 ; 0x6a 80884fc: 20f6 movs r0, #246 ; 0xf6 80884fe: f7cb ff19 bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[ieeLP]); 8088502: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 8088506: b2db uxtb r3, r3 8088508: 461a mov r2, r3 808850a: 4b3c ldr r3, [pc, #240] ; (80885fc ) 808850c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088510: 461a mov r2, r3 8088512: 216a movs r1, #106 ; 0x6a 8088514: f44f 7083 mov.w r0, #262 ; 0x106 8088518: f7cb ff0c bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 808851c: 4a39 ldr r2, [pc, #228] ; (8088604 ) 808851e: 216a movs r1, #106 ; 0x6a 8088520: f44f 708b mov.w r0, #278 ; 0x116 8088524: f7cb ff06 bl 8054334 if(menupos == VibMax_IDT) 8088528: 4b31 ldr r3, [pc, #196] ; (80885f0 ) 808852a: 781b ldrb r3, [r3, #0] 808852c: b2db uxtb r3, r3 808852e: 2b0b cmp r3, #11 8088530: d16a bne.n 8088608 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088532: 4930 ldr r1, [pc, #192] ; (80885f4 ) 8088534: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088538: f7cb f954 bl 80537e4 if(blk) 808853c: 4b2e ldr r3, [pc, #184] ; (80885f8 ) 808853e: 681b ldr r3, [r3, #0] 8088540: 2b00 cmp r3, #0 8088542: d00b beq.n 808855c LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8088544: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8088548: b2db uxtb r3, r3 808854a: 461a mov r2, r3 808854c: 4b2b ldr r3, [pc, #172] ; (80885fc ) 808854e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088552: 461a mov r2, r3 8088554: 21aa movs r1, #170 ; 0xaa 8088556: 20c6 movs r0, #198 ; 0xc6 8088558: f7cb feec bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808855c: 4925 ldr r1, [pc, #148] ; (80885f4 ) 808855e: 4828 ldr r0, [pc, #160] ; (8088600 ) 8088560: f7cb f940 bl 80537e4 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8088564: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8088568: b2db uxtb r3, r3 808856a: 461a mov r2, r3 808856c: 4b23 ldr r3, [pc, #140] ; (80885fc ) 808856e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088572: 461a mov r2, r3 8088574: 21aa movs r1, #170 ; 0xaa 8088576: 20d6 movs r0, #214 ; 0xd6 8088578: f7cb fedc bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 808857c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8088580: b2db uxtb r3, r3 8088582: 461a mov r2, r3 8088584: 4b1d ldr r3, [pc, #116] ; (80885fc ) 8088586: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808858a: 461a mov r2, r3 808858c: 21aa movs r1, #170 ; 0xaa 808858e: 20e6 movs r0, #230 ; 0xe6 8088590: f7cb fed0 bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8088594: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8088598: b2db uxtb r3, r3 808859a: 461a mov r2, r3 808859c: 4b17 ldr r3, [pc, #92] ; (80885fc ) 808859e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80885a2: 461a mov r2, r3 80885a4: 21aa movs r1, #170 ; 0xaa 80885a6: 20f6 movs r0, #246 ; 0xf6 80885a8: f7cb fec4 bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 80885ac: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80885b0: b2db uxtb r3, r3 80885b2: 461a mov r2, r3 80885b4: 4b11 ldr r3, [pc, #68] ; (80885fc ) 80885b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80885ba: 461a mov r2, r3 80885bc: 21aa movs r1, #170 ; 0xaa 80885be: f44f 7083 mov.w r0, #262 ; 0x106 80885c2: f7cb feb7 bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 80885c6: 4a0f ldr r2, [pc, #60] ; (8088604 ) 80885c8: 21aa movs r1, #170 ; 0xaa 80885ca: f44f 708b mov.w r0, #278 ; 0x116 80885ce: f7cb feb1 bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 80885d2: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80885d6: b2db uxtb r3, r3 80885d8: 461a mov r2, r3 80885da: 4b08 ldr r3, [pc, #32] ; (80885fc ) 80885dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80885e0: 461a mov r2, r3 80885e2: 21aa movs r1, #170 ; 0xaa 80885e4: f44f 7093 mov.w r0, #294 ; 0x126 80885e8: f7cb fea4 bl 8054334 80885ec: e206 b.n 80889fc 80885ee: bf00 nop 80885f0: 20020070 .word 0x20020070 80885f4: ff0a0f1f .word 0xff0a0f1f 80885f8: 2002165c .word 0x2002165c 80885fc: 20020964 .word 0x20020964 8088600: ffd8aa57 .word 0xffd8aa57 8088604: 080cf820 .word 0x080cf820 if(menupos == VibMax_IET) 8088608: 4bc5 ldr r3, [pc, #788] ; (8088920 ) 808860a: 781b ldrb r3, [r3, #0] 808860c: b2db uxtb r3, r3 808860e: 2b0c cmp r3, #12 8088610: d15d bne.n 80886ce LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088612: 49c4 ldr r1, [pc, #784] ; (8088924 ) 8088614: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088618: f7cb f8e4 bl 80537e4 if(blk) 808861c: 4bc2 ldr r3, [pc, #776] ; (8088928 ) 808861e: 681b ldr r3, [r3, #0] 8088620: 2b00 cmp r3, #0 8088622: d00b beq.n 808863c LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8088624: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8088628: b2db uxtb r3, r3 808862a: 461a mov r2, r3 808862c: 4bbf ldr r3, [pc, #764] ; (808892c ) 808862e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088632: 461a mov r2, r3 8088634: 21aa movs r1, #170 ; 0xaa 8088636: 20d6 movs r0, #214 ; 0xd6 8088638: f7cb fe7c bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808863c: 49b9 ldr r1, [pc, #740] ; (8088924 ) 808863e: 48bc ldr r0, [pc, #752] ; (8088930 ) 8088640: f7cb f8d0 bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8088644: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8088648: b2db uxtb r3, r3 808864a: 461a mov r2, r3 808864c: 4bb7 ldr r3, [pc, #732] ; (808892c ) 808864e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088652: 461a mov r2, r3 8088654: 21aa movs r1, #170 ; 0xaa 8088656: 20c6 movs r0, #198 ; 0xc6 8088658: f7cb fe6c bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 808865c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8088660: b2db uxtb r3, r3 8088662: 461a mov r2, r3 8088664: 4bb1 ldr r3, [pc, #708] ; (808892c ) 8088666: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808866a: 461a mov r2, r3 808866c: 21aa movs r1, #170 ; 0xaa 808866e: 20e6 movs r0, #230 ; 0xe6 8088670: f7cb fe60 bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8088674: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8088678: b2db uxtb r3, r3 808867a: 461a mov r2, r3 808867c: 4bab ldr r3, [pc, #684] ; (808892c ) 808867e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088682: 461a mov r2, r3 8088684: 21aa movs r1, #170 ; 0xaa 8088686: 20f6 movs r0, #246 ; 0xf6 8088688: f7cb fe54 bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 808868c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8088690: b2db uxtb r3, r3 8088692: 461a mov r2, r3 8088694: 4ba5 ldr r3, [pc, #660] ; (808892c ) 8088696: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808869a: 461a mov r2, r3 808869c: 21aa movs r1, #170 ; 0xaa 808869e: f44f 7083 mov.w r0, #262 ; 0x106 80886a2: f7cb fe47 bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 80886a6: 4aa3 ldr r2, [pc, #652] ; (8088934 ) 80886a8: 21aa movs r1, #170 ; 0xaa 80886aa: f44f 708b mov.w r0, #278 ; 0x116 80886ae: f7cb fe41 bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 80886b2: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80886b6: b2db uxtb r3, r3 80886b8: 461a mov r2, r3 80886ba: 4b9c ldr r3, [pc, #624] ; (808892c ) 80886bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80886c0: 461a mov r2, r3 80886c2: 21aa movs r1, #170 ; 0xaa 80886c4: f44f 7093 mov.w r0, #294 ; 0x126 80886c8: f7cb fe34 bl 8054334 80886cc: e196 b.n 80889fc if(menupos == VibMax_IES) 80886ce: 4b94 ldr r3, [pc, #592] ; (8088920 ) 80886d0: 781b ldrb r3, [r3, #0] 80886d2: b2db uxtb r3, r3 80886d4: 2b0d cmp r3, #13 80886d6: d15d bne.n 8088794 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80886d8: 4992 ldr r1, [pc, #584] ; (8088924 ) 80886da: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80886de: f7cb f881 bl 80537e4 if(blk) 80886e2: 4b91 ldr r3, [pc, #580] ; (8088928 ) 80886e4: 681b ldr r3, [r3, #0] 80886e6: 2b00 cmp r3, #0 80886e8: d00b beq.n 8088702 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80886ea: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80886ee: b2db uxtb r3, r3 80886f0: 461a mov r2, r3 80886f2: 4b8e ldr r3, [pc, #568] ; (808892c ) 80886f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80886f8: 461a mov r2, r3 80886fa: 21aa movs r1, #170 ; 0xaa 80886fc: 20e6 movs r0, #230 ; 0xe6 80886fe: f7cb fe19 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088702: 4988 ldr r1, [pc, #544] ; (8088924 ) 8088704: 488a ldr r0, [pc, #552] ; (8088930 ) 8088706: f7cb f86d bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 808870a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808870e: b2db uxtb r3, r3 8088710: 461a mov r2, r3 8088712: 4b86 ldr r3, [pc, #536] ; (808892c ) 8088714: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088718: 461a mov r2, r3 808871a: 21aa movs r1, #170 ; 0xaa 808871c: 20c6 movs r0, #198 ; 0xc6 808871e: f7cb fe09 bl 8054334 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8088722: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8088726: b2db uxtb r3, r3 8088728: 461a mov r2, r3 808872a: 4b80 ldr r3, [pc, #512] ; (808892c ) 808872c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088730: 461a mov r2, r3 8088732: 21aa movs r1, #170 ; 0xaa 8088734: 20d6 movs r0, #214 ; 0xd6 8088736: f7cb fdfd bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 808873a: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808873e: b2db uxtb r3, r3 8088740: 461a mov r2, r3 8088742: 4b7a ldr r3, [pc, #488] ; (808892c ) 8088744: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088748: 461a mov r2, r3 808874a: 21aa movs r1, #170 ; 0xaa 808874c: 20f6 movs r0, #246 ; 0xf6 808874e: f7cb fdf1 bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8088752: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8088756: b2db uxtb r3, r3 8088758: 461a mov r2, r3 808875a: 4b74 ldr r3, [pc, #464] ; (808892c ) 808875c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088760: 461a mov r2, r3 8088762: 21aa movs r1, #170 ; 0xaa 8088764: f44f 7083 mov.w r0, #262 ; 0x106 8088768: f7cb fde4 bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 808876c: 4a71 ldr r2, [pc, #452] ; (8088934 ) 808876e: 21aa movs r1, #170 ; 0xaa 8088770: f44f 708b mov.w r0, #278 ; 0x116 8088774: f7cb fdde bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8088778: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808877c: b2db uxtb r3, r3 808877e: 461a mov r2, r3 8088780: 4b6a ldr r3, [pc, #424] ; (808892c ) 8088782: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088786: 461a mov r2, r3 8088788: 21aa movs r1, #170 ; 0xaa 808878a: f44f 7093 mov.w r0, #294 ; 0x126 808878e: f7cb fdd1 bl 8054334 8088792: e133 b.n 80889fc if(menupos == VibMax_IED) 8088794: 4b62 ldr r3, [pc, #392] ; (8088920 ) 8088796: 781b ldrb r3, [r3, #0] 8088798: b2db uxtb r3, r3 808879a: 2b0e cmp r3, #14 808879c: d15d bne.n 808885a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808879e: 4961 ldr r1, [pc, #388] ; (8088924 ) 80887a0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80887a4: f7cb f81e bl 80537e4 if(blk) 80887a8: 4b5f ldr r3, [pc, #380] ; (8088928 ) 80887aa: 681b ldr r3, [r3, #0] 80887ac: 2b00 cmp r3, #0 80887ae: d00b beq.n 80887c8 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 80887b0: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80887b4: b2db uxtb r3, r3 80887b6: 461a mov r2, r3 80887b8: 4b5c ldr r3, [pc, #368] ; (808892c ) 80887ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80887be: 461a mov r2, r3 80887c0: 21aa movs r1, #170 ; 0xaa 80887c2: 20f6 movs r0, #246 ; 0xf6 80887c4: f7cb fdb6 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80887c8: 4956 ldr r1, [pc, #344] ; (8088924 ) 80887ca: 4859 ldr r0, [pc, #356] ; (8088930 ) 80887cc: f7cb f80a bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 80887d0: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80887d4: b2db uxtb r3, r3 80887d6: 461a mov r2, r3 80887d8: 4b54 ldr r3, [pc, #336] ; (808892c ) 80887da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80887de: 461a mov r2, r3 80887e0: 21aa movs r1, #170 ; 0xaa 80887e2: 20c6 movs r0, #198 ; 0xc6 80887e4: f7cb fda6 bl 8054334 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80887e8: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80887ec: b2db uxtb r3, r3 80887ee: 461a mov r2, r3 80887f0: 4b4e ldr r3, [pc, #312] ; (808892c ) 80887f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80887f6: 461a mov r2, r3 80887f8: 21aa movs r1, #170 ; 0xaa 80887fa: 20d6 movs r0, #214 ; 0xd6 80887fc: f7cb fd9a bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8088800: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8088804: b2db uxtb r3, r3 8088806: 461a mov r2, r3 8088808: 4b48 ldr r3, [pc, #288] ; (808892c ) 808880a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808880e: 461a mov r2, r3 8088810: 21aa movs r1, #170 ; 0xaa 8088812: 20e6 movs r0, #230 ; 0xe6 8088814: f7cb fd8e bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8088818: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808881c: b2db uxtb r3, r3 808881e: 461a mov r2, r3 8088820: 4b42 ldr r3, [pc, #264] ; (808892c ) 8088822: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088826: 461a mov r2, r3 8088828: 21aa movs r1, #170 ; 0xaa 808882a: f44f 7083 mov.w r0, #262 ; 0x106 808882e: f7cb fd81 bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 8088832: 4a40 ldr r2, [pc, #256] ; (8088934 ) 8088834: 21aa movs r1, #170 ; 0xaa 8088836: f44f 708b mov.w r0, #278 ; 0x116 808883a: f7cb fd7b bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 808883e: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8088842: b2db uxtb r3, r3 8088844: 461a mov r2, r3 8088846: 4b39 ldr r3, [pc, #228] ; (808892c ) 8088848: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808884c: 461a mov r2, r3 808884e: 21aa movs r1, #170 ; 0xaa 8088850: f44f 7093 mov.w r0, #294 ; 0x126 8088854: f7cb fd6e bl 8054334 8088858: e0d0 b.n 80889fc if(menupos == VibMax_IEE) 808885a: 4b31 ldr r3, [pc, #196] ; (8088920 ) 808885c: 781b ldrb r3, [r3, #0] 808885e: b2db uxtb r3, r3 8088860: 2b0f cmp r3, #15 8088862: d169 bne.n 8088938 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088864: 492f ldr r1, [pc, #188] ; (8088924 ) 8088866: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808886a: f7ca ffbb bl 80537e4 if(blk) 808886e: 4b2e ldr r3, [pc, #184] ; (8088928 ) 8088870: 681b ldr r3, [r3, #0] 8088872: 2b00 cmp r3, #0 8088874: d00c beq.n 8088890 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8088876: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808887a: b2db uxtb r3, r3 808887c: 461a mov r2, r3 808887e: 4b2b ldr r3, [pc, #172] ; (808892c ) 8088880: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088884: 461a mov r2, r3 8088886: 21aa movs r1, #170 ; 0xaa 8088888: f44f 7083 mov.w r0, #262 ; 0x106 808888c: f7cb fd52 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088890: 4924 ldr r1, [pc, #144] ; (8088924 ) 8088892: 4827 ldr r0, [pc, #156] ; (8088930 ) 8088894: f7ca ffa6 bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8088898: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808889c: b2db uxtb r3, r3 808889e: 461a mov r2, r3 80888a0: 4b22 ldr r3, [pc, #136] ; (808892c ) 80888a2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80888a6: 461a mov r2, r3 80888a8: 21aa movs r1, #170 ; 0xaa 80888aa: 20c6 movs r0, #198 ; 0xc6 80888ac: f7cb fd42 bl 8054334 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80888b0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80888b4: b2db uxtb r3, r3 80888b6: 461a mov r2, r3 80888b8: 4b1c ldr r3, [pc, #112] ; (808892c ) 80888ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80888be: 461a mov r2, r3 80888c0: 21aa movs r1, #170 ; 0xaa 80888c2: 20d6 movs r0, #214 ; 0xd6 80888c4: f7cb fd36 bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80888c8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80888cc: b2db uxtb r3, r3 80888ce: 461a mov r2, r3 80888d0: 4b16 ldr r3, [pc, #88] ; (808892c ) 80888d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80888d6: 461a mov r2, r3 80888d8: 21aa movs r1, #170 ; 0xaa 80888da: 20e6 movs r0, #230 ; 0xe6 80888dc: f7cb fd2a bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 80888e0: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80888e4: b2db uxtb r3, r3 80888e6: 461a mov r2, r3 80888e8: 4b10 ldr r3, [pc, #64] ; (808892c ) 80888ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80888ee: 461a mov r2, r3 80888f0: 21aa movs r1, #170 ; 0xaa 80888f2: 20f6 movs r0, #246 ; 0xf6 80888f4: f7cb fd1e bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 80888f8: 4a0e ldr r2, [pc, #56] ; (8088934 ) 80888fa: 21aa movs r1, #170 ; 0xaa 80888fc: f44f 708b mov.w r0, #278 ; 0x116 8088900: f7cb fd18 bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8088904: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8088908: b2db uxtb r3, r3 808890a: 461a mov r2, r3 808890c: 4b07 ldr r3, [pc, #28] ; (808892c ) 808890e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088912: 461a mov r2, r3 8088914: 21aa movs r1, #170 ; 0xaa 8088916: f44f 7093 mov.w r0, #294 ; 0x126 808891a: f7cb fd0b bl 8054334 808891e: e06d b.n 80889fc 8088920: 20020070 .word 0x20020070 8088924: ff0a0f1f .word 0xff0a0f1f 8088928: 2002165c .word 0x2002165c 808892c: 20020964 .word 0x20020964 8088930: ffd8aa57 .word 0xffd8aa57 8088934: 080cf820 .word 0x080cf820 if(menupos == VibMax_IKD) 8088938: 4bc5 ldr r3, [pc, #788] ; (8088c50 ) 808893a: 781b ldrb r3, [r3, #0] 808893c: b2db uxtb r3, r3 808893e: 2b10 cmp r3, #16 8088940: d15c bne.n 80889fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088942: 49c4 ldr r1, [pc, #784] ; (8088c54 ) 8088944: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088948: f7ca ff4c bl 80537e4 if(blk) 808894c: 4bc2 ldr r3, [pc, #776] ; (8088c58 ) 808894e: 681b ldr r3, [r3, #0] 8088950: 2b00 cmp r3, #0 8088952: d00c beq.n 808896e LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8088954: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8088958: b2db uxtb r3, r3 808895a: 461a mov r2, r3 808895c: 4bbf ldr r3, [pc, #764] ; (8088c5c ) 808895e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088962: 461a mov r2, r3 8088964: 21aa movs r1, #170 ; 0xaa 8088966: f44f 7093 mov.w r0, #294 ; 0x126 808896a: f7cb fce3 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808896e: 49b9 ldr r1, [pc, #740] ; (8088c54 ) 8088970: 48bb ldr r0, [pc, #748] ; (8088c60 ) 8088972: f7ca ff37 bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8088976: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808897a: b2db uxtb r3, r3 808897c: 461a mov r2, r3 808897e: 4bb7 ldr r3, [pc, #732] ; (8088c5c ) 8088980: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088984: 461a mov r2, r3 8088986: 21aa movs r1, #170 ; 0xaa 8088988: 20c6 movs r0, #198 ; 0xc6 808898a: f7cb fcd3 bl 8054334 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 808898e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8088992: b2db uxtb r3, r3 8088994: 461a mov r2, r3 8088996: 4bb1 ldr r3, [pc, #708] ; (8088c5c ) 8088998: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808899c: 461a mov r2, r3 808899e: 21aa movs r1, #170 ; 0xaa 80889a0: 20d6 movs r0, #214 ; 0xd6 80889a2: f7cb fcc7 bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80889a6: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80889aa: b2db uxtb r3, r3 80889ac: 461a mov r2, r3 80889ae: 4bab ldr r3, [pc, #684] ; (8088c5c ) 80889b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80889b4: 461a mov r2, r3 80889b6: 21aa movs r1, #170 ; 0xaa 80889b8: 20e6 movs r0, #230 ; 0xe6 80889ba: f7cb fcbb bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 80889be: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80889c2: b2db uxtb r3, r3 80889c4: 461a mov r2, r3 80889c6: 4ba5 ldr r3, [pc, #660] ; (8088c5c ) 80889c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80889cc: 461a mov r2, r3 80889ce: 21aa movs r1, #170 ; 0xaa 80889d0: 20f6 movs r0, #246 ; 0xf6 80889d2: f7cb fcaf bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 80889d6: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80889da: b2db uxtb r3, r3 80889dc: 461a mov r2, r3 80889de: 4b9f ldr r3, [pc, #636] ; (8088c5c ) 80889e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80889e4: 461a mov r2, r3 80889e6: 21aa movs r1, #170 ; 0xaa 80889e8: f44f 7083 mov.w r0, #262 ; 0x106 80889ec: f7cb fca2 bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 80889f0: 4a9c ldr r2, [pc, #624] ; (8088c64 ) 80889f2: 21aa movs r1, #170 ; 0xaa 80889f4: f44f 708b mov.w r0, #278 ; 0x116 80889f8: f7cb fc9c bl 8054334 if(pardata.OPTIONS & BIT2) // Åñëè àâòîóñèëåíèå 80889fc: 4b9a ldr r3, [pc, #616] ; (8088c68 ) 80889fe: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088a02: f003 0304 and.w r3, r3, #4 8088a06: 2b00 cmp r3, #0 8088a08: d00e beq.n 8088a28 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8088a0a: 4992 ldr r1, [pc, #584] ; (8088c54 ) 8088a0c: 4897 ldr r0, [pc, #604] ; (8088c6c ) 8088a0e: f7ca fee9 bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_9 + 2, 6, 6); 8088a12: 2306 movs r3, #6 8088a14: 2206 movs r2, #6 8088a16: 219f movs r1, #159 ; 0x9f 8088a18: f240 1001 movw r0, #257 ; 0x101 8088a1c: f7cb fb70 bl 8054100 break; 8088a20: e002 b.n 8088a28 break; 8088a22: bf00 nop 8088a24: f00e be02 b.w 809762c break; 8088a28: bf00 nop break; 8088a2a: f00e bdff b.w 809762c case PARAM_DIAGN: /*{ "Ïðîãðàììà èçìåðåíèé", "Óñðåäíåíèå(êîë-âî)", "Àâòîóñèëåíèå", "Ìax.àìïë.(ì/c^)", "Çàïèñü â ôàéë" }, { "Measurement program", "Num.average", "Autogain", "Max.ampl.(m/s^)", "Save to file" }*/ LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8088a2e: 4989 ldr r1, [pc, #548] ; (8088c54 ) 8088a30: 488f ldr r0, [pc, #572] ; (8088c70 ) 8088a32: f7ca fed7 bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 8088a36: 23c9 movs r3, #201 ; 0xc9 8088a38: f44f 729d mov.w r2, #314 ; 0x13a 8088a3c: 2123 movs r1, #35 ; 0x23 8088a3e: 2002 movs r0, #2 8088a40: f7cb f9d6 bl 8053df0 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 8088a44: 4b88 ldr r3, [pc, #544] ; (8088c68 ) 8088a46: edd3 7a06 vldr s15, [r3, #24] 8088a4a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8088a4e: ee67 7a87 vmul.f32 s15, s15, s14 8088a52: eefc 7ae7 vcvt.u32.f32 s15, s15 8088a56: ee17 3a90 vmov r3, s15 8088a5a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 8088a5e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8088a62: 095b lsrs r3, r3, #5 8088a64: 4a83 ldr r2, [pc, #524] ; (8088c74 ) 8088a66: fba2 2303 umull r2, r3, r2, r3 8088a6a: 09db lsrs r3, r3, #7 8088a6c: b2db uxtb r3, r3 8088a6e: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 8088a72: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8088a76: 0953 lsrs r3, r2, #5 8088a78: 497e ldr r1, [pc, #504] ; (8088c74 ) 8088a7a: fba1 1303 umull r1, r3, r1, r3 8088a7e: 09db lsrs r3, r3, #7 8088a80: 497d ldr r1, [pc, #500] ; (8088c78 ) 8088a82: fb01 f303 mul.w r3, r1, r3 8088a86: 1ad3 subs r3, r2, r3 8088a88: 4a7c ldr r2, [pc, #496] ; (8088c7c ) 8088a8a: fba2 2303 umull r2, r3, r2, r3 8088a8e: 0b5b lsrs r3, r3, #13 8088a90: b2db uxtb r3, r3 8088a92: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 8088a96: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8088a9a: 0953 lsrs r3, r2, #5 8088a9c: 4975 ldr r1, [pc, #468] ; (8088c74 ) 8088a9e: fba1 1303 umull r1, r3, r1, r3 8088aa2: 09db lsrs r3, r3, #7 8088aa4: 4974 ldr r1, [pc, #464] ; (8088c78 ) 8088aa6: fb01 f303 mul.w r3, r1, r3 8088aaa: 1ad3 subs r3, r2, r3 8088aac: 4a73 ldr r2, [pc, #460] ; (8088c7c ) 8088aae: fba2 1203 umull r1, r2, r2, r3 8088ab2: 0b52 lsrs r2, r2, #13 8088ab4: f242 7110 movw r1, #10000 ; 0x2710 8088ab8: fb01 f202 mul.w r2, r1, r2 8088abc: 1a9a subs r2, r3, r2 8088abe: 4b70 ldr r3, [pc, #448] ; (8088c80 ) 8088ac0: fba3 2302 umull r2, r3, r3, r2 8088ac4: 099b lsrs r3, r3, #6 8088ac6: b2db uxtb r3, r3 8088ac8: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8088acc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8088ad0: 095a lsrs r2, r3, #5 8088ad2: 4968 ldr r1, [pc, #416] ; (8088c74 ) 8088ad4: fba1 1202 umull r1, r2, r1, r2 8088ad8: 09d2 lsrs r2, r2, #7 8088ada: 4967 ldr r1, [pc, #412] ; (8088c78 ) 8088adc: fb01 f202 mul.w r2, r1, r2 8088ae0: 1a9a subs r2, r3, r2 8088ae2: 4b66 ldr r3, [pc, #408] ; (8088c7c ) 8088ae4: fba3 1302 umull r1, r3, r3, r2 8088ae8: 0b5b lsrs r3, r3, #13 8088aea: f242 7110 movw r1, #10000 ; 0x2710 8088aee: fb01 f303 mul.w r3, r1, r3 8088af2: 1ad3 subs r3, r2, r3 8088af4: 4a62 ldr r2, [pc, #392] ; (8088c80 ) 8088af6: fba2 1203 umull r1, r2, r2, r3 8088afa: 0992 lsrs r2, r2, #6 8088afc: f44f 717a mov.w r1, #1000 ; 0x3e8 8088b00: fb01 f202 mul.w r2, r1, r2 8088b04: 1a9a subs r2, r3, r2 8088b06: 4b5f ldr r3, [pc, #380] ; (8088c84 ) 8088b08: fba3 2302 umull r2, r3, r3, r2 8088b0c: 095b lsrs r3, r3, #5 8088b0e: b2db uxtb r3, r3 8088b10: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8088b14: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8088b18: 0953 lsrs r3, r2, #5 8088b1a: 4956 ldr r1, [pc, #344] ; (8088c74 ) 8088b1c: fba1 1303 umull r1, r3, r1, r3 8088b20: 09db lsrs r3, r3, #7 8088b22: 4955 ldr r1, [pc, #340] ; (8088c78 ) 8088b24: fb01 f303 mul.w r3, r1, r3 8088b28: 1ad3 subs r3, r2, r3 8088b2a: 4a54 ldr r2, [pc, #336] ; (8088c7c ) 8088b2c: fba2 1203 umull r1, r2, r2, r3 8088b30: 0b52 lsrs r2, r2, #13 8088b32: f242 7110 movw r1, #10000 ; 0x2710 8088b36: fb01 f202 mul.w r2, r1, r2 8088b3a: 1a9a subs r2, r3, r2 8088b3c: 4b50 ldr r3, [pc, #320] ; (8088c80 ) 8088b3e: fba3 1302 umull r1, r3, r3, r2 8088b42: 099b lsrs r3, r3, #6 8088b44: f44f 717a mov.w r1, #1000 ; 0x3e8 8088b48: fb01 f303 mul.w r3, r1, r3 8088b4c: 1ad3 subs r3, r2, r3 8088b4e: 4a4d ldr r2, [pc, #308] ; (8088c84 ) 8088b50: fba2 1203 umull r1, r2, r2, r3 8088b54: 0952 lsrs r2, r2, #5 8088b56: 2164 movs r1, #100 ; 0x64 8088b58: fb01 f202 mul.w r2, r1, r2 8088b5c: 1a9a subs r2, r3, r2 8088b5e: 4b4a ldr r3, [pc, #296] ; (8088c88 ) 8088b60: fba3 2302 umull r2, r3, r3, r2 8088b64: 08db lsrs r3, r3, #3 8088b66: b2db uxtb r3, r3 8088b68: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8088b6c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8088b70: 0953 lsrs r3, r2, #5 8088b72: 4940 ldr r1, [pc, #256] ; (8088c74 ) 8088b74: fba1 1303 umull r1, r3, r1, r3 8088b78: 09db lsrs r3, r3, #7 8088b7a: 493f ldr r1, [pc, #252] ; (8088c78 ) 8088b7c: fb01 f303 mul.w r3, r1, r3 8088b80: 1ad3 subs r3, r2, r3 8088b82: 4a3e ldr r2, [pc, #248] ; (8088c7c ) 8088b84: fba2 1203 umull r1, r2, r2, r3 8088b88: 0b52 lsrs r2, r2, #13 8088b8a: f242 7110 movw r1, #10000 ; 0x2710 8088b8e: fb01 f202 mul.w r2, r1, r2 8088b92: 1a9a subs r2, r3, r2 8088b94: 4b3a ldr r3, [pc, #232] ; (8088c80 ) 8088b96: fba3 1302 umull r1, r3, r3, r2 8088b9a: 099b lsrs r3, r3, #6 8088b9c: f44f 717a mov.w r1, #1000 ; 0x3e8 8088ba0: fb01 f303 mul.w r3, r1, r3 8088ba4: 1ad3 subs r3, r2, r3 8088ba6: 4a37 ldr r2, [pc, #220] ; (8088c84 ) 8088ba8: fba2 1203 umull r1, r2, r2, r3 8088bac: 0952 lsrs r2, r2, #5 8088bae: 2164 movs r1, #100 ; 0x64 8088bb0: fb01 f202 mul.w r2, r1, r2 8088bb4: 1a9a subs r2, r3, r2 8088bb6: 4b34 ldr r3, [pc, #208] ; (8088c88 ) 8088bb8: fba3 1302 umull r1, r3, r3, r2 8088bbc: 08d9 lsrs r1, r3, #3 8088bbe: 460b mov r3, r1 8088bc0: 009b lsls r3, r3, #2 8088bc2: 440b add r3, r1 8088bc4: 005b lsls r3, r3, #1 8088bc6: 1ad1 subs r1, r2, r3 8088bc8: b2cb uxtb r3, r1 8088bca: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 //**************************************************************** l = strlen(DiagFileName); 8088bce: 482f ldr r0, [pc, #188] ; (8088c8c ) 8088bd0: f797 fba0 bl 8020314 8088bd4: 4603 mov r3, r0 8088bd6: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 8088bda: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8088bde: 2b09 cmp r3, #9 8088be0: d806 bhi.n 8088bf0 { strcpy(str1, DiagFileName); 8088be2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088be6: 4929 ldr r1, [pc, #164] ; (8088c8c ) 8088be8: 4618 mov r0, r3 8088bea: f044 fb66 bl 80cd2ba 8088bee: e084 b.n 8088cfa } else { memset(str1, 0x20, sizeof(str1)); 8088bf0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088bf4: f44f 7280 mov.w r2, #256 ; 0x100 8088bf8: 2120 movs r1, #32 8088bfa: 4618 mov r0, r3 8088bfc: f044 fa40 bl 80cd080 if(tme <= l) 8088c00: 4b23 ldr r3, [pc, #140] ; (8088c90 ) 8088c02: 681a ldr r2, [r3, #0] 8088c04: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8088c08: 429a cmp r2, r3 8088c0a: d843 bhi.n 8088c94 { if(l - tme >= 9) 8088c0c: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8088c10: 4b1f ldr r3, [pc, #124] ; (8088c90 ) 8088c12: 681b ldr r3, [r3, #0] 8088c14: 1ad3 subs r3, r2, r3 8088c16: 2b08 cmp r3, #8 8088c18: d90a bls.n 8088c30 memcpy(str1, &DiagFileName[tme], 9); 8088c1a: 4b1d ldr r3, [pc, #116] ; (8088c90 ) 8088c1c: 681b ldr r3, [r3, #0] 8088c1e: 4a1b ldr r2, [pc, #108] ; (8088c8c ) 8088c20: 1899 adds r1, r3, r2 8088c22: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088c26: 2209 movs r2, #9 8088c28: 4618 mov r0, r3 8088c2a: f044 fa1e bl 80cd06a 8088c2e: e043 b.n 8088cb8 else memcpy(str1, &DiagFileName[tme], l - tme); 8088c30: 4b17 ldr r3, [pc, #92] ; (8088c90 ) 8088c32: 681b ldr r3, [r3, #0] 8088c34: 4a15 ldr r2, [pc, #84] ; (8088c8c ) 8088c36: 1899 adds r1, r3, r2 8088c38: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8088c3c: 4b14 ldr r3, [pc, #80] ; (8088c90 ) 8088c3e: 681b ldr r3, [r3, #0] 8088c40: 1ad2 subs r2, r2, r3 8088c42: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088c46: 4618 mov r0, r3 8088c48: f044 fa0f bl 80cd06a 8088c4c: e034 b.n 8088cb8 8088c4e: bf00 nop 8088c50: 20020070 .word 0x20020070 8088c54: ff0a0f1f .word 0xff0a0f1f 8088c58: 2002165c .word 0x2002165c 8088c5c: 20020964 .word 0x20020964 8088c60: ffd8aa57 .word 0xffd8aa57 8088c64: 080cf820 .word 0x080cf820 8088c68: 20023e60 .word 0x20023e60 8088c6c: ff404040 .word 0xff404040 8088c70: ffd3d3d3 .word 0xffd3d3d3 8088c74: 0a7c5ac5 .word 0x0a7c5ac5 8088c78: 000186a0 .word 0x000186a0 8088c7c: d1b71759 .word 0xd1b71759 8088c80: 10624dd3 .word 0x10624dd3 8088c84: 51eb851f .word 0x51eb851f 8088c88: cccccccd .word 0xcccccccd 8088c8c: 20020e7c .word 0x20020e7c 8088c90: 20021668 .word 0x20021668 } else { memcpy(&str1[9 - (tme - l)], DiagFileName, tme - l); 8088c94: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8088c98: 4bb5 ldr r3, [pc, #724] ; (8088f70 ) 8088c9a: 681b ldr r3, [r3, #0] 8088c9c: 1ad3 subs r3, r2, r3 8088c9e: 3309 adds r3, #9 8088ca0: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8088ca4: 18d0 adds r0, r2, r3 8088ca6: 4bb2 ldr r3, [pc, #712] ; (8088f70 ) 8088ca8: 681a ldr r2, [r3, #0] 8088caa: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8088cae: 1ad3 subs r3, r2, r3 8088cb0: 461a mov r2, r3 8088cb2: 49b0 ldr r1, [pc, #704] ; (8088f74 ) 8088cb4: f044 f9d9 bl 80cd06a } str1[10] = '\0'; 8088cb8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088cbc: 2200 movs r2, #0 8088cbe: 729a strb r2, [r3, #10] tt++; 8088cc0: 4bad ldr r3, [pc, #692] ; (8088f78 ) 8088cc2: 781b ldrb r3, [r3, #0] 8088cc4: 3301 adds r3, #1 8088cc6: b2da uxtb r2, r3 8088cc8: 4bab ldr r3, [pc, #684] ; (8088f78 ) 8088cca: 701a strb r2, [r3, #0] if(tt >= 4) 8088ccc: 4baa ldr r3, [pc, #680] ; (8088f78 ) 8088cce: 781b ldrb r3, [r3, #0] 8088cd0: 2b03 cmp r3, #3 8088cd2: d912 bls.n 8088cfa { tt = 0; 8088cd4: 4ba8 ldr r3, [pc, #672] ; (8088f78 ) 8088cd6: 2200 movs r2, #0 8088cd8: 701a strb r2, [r3, #0] tme++; 8088cda: 4ba5 ldr r3, [pc, #660] ; (8088f70 ) 8088cdc: 681b ldr r3, [r3, #0] 8088cde: 3301 adds r3, #1 8088ce0: 4aa3 ldr r2, [pc, #652] ; (8088f70 ) 8088ce2: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 8088ce4: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8088ce8: 4ba1 ldr r3, [pc, #644] ; (8088f70 ) 8088cea: 681b ldr r3, [r3, #0] 8088cec: 1ad3 subs r3, r2, r3 8088cee: f113 0f09 cmn.w r3, #9 8088cf2: d102 bne.n 8088cfa { tme = 0; 8088cf4: 4b9e ldr r3, [pc, #632] ; (8088f70 ) 8088cf6: 2200 movs r2, #0 8088cf8: 601a str r2, [r3, #0] } } } //**************************************************************** if(pardata.LANG == RUS) 8088cfa: 4ba0 ldr r3, [pc, #640] ; (8088f7c ) 8088cfc: 7b1b ldrb r3, [r3, #12] 8088cfe: b2db uxtb r3, r3 8088d00: 2b00 cmp r3, #0 8088d02: d140 bne.n 8088d86 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088d04: 499e ldr r1, [pc, #632] ; (8088f80 ) 8088d06: f04f 30ff mov.w r0, #4294967295 8088d0a: f7ca fd6b bl 80537e4 //LCD_DisplayString(10, LCD_LINE_3, "Ïðîãðàììà èçìåðåíèé"); LCD_DisplayString(10, LCD_LINE_4, "Óñðåäíåíèå(êîë-âî)"); 8088d0e: 4a9d ldr r2, [pc, #628] ; (8088f84 ) 8088d10: 214a movs r1, #74 ; 0x4a 8088d12: 200a movs r0, #10 8088d14: f7cb fb0e bl 8054334 LCD_DisplayString(10, LCD_LINE_5, "Àâòîóñèëåíèå"); 8088d18: 4a9b ldr r2, [pc, #620] ; (8088f88 ) 8088d1a: 215a movs r1, #90 ; 0x5a 8088d1c: 200a movs r0, #10 8088d1e: f7cb fb09 bl 8054334 //LCD_DisplayString(10, LCD_LINE_7, "Çàïèñü â ôàéë"); if(pardata.OPTIONS & 0x4) 8088d22: 4b96 ldr r3, [pc, #600] ; (8088f7c ) 8088d24: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088d28: f003 0304 and.w r3, r3, #4 8088d2c: 2b00 cmp r3, #0 8088d2e: d003 beq.n 8088d38 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8088d30: 4993 ldr r1, [pc, #588] ; (8088f80 ) 8088d32: 4896 ldr r0, [pc, #600] ; (8088f8c ) 8088d34: f7ca fd56 bl 80537e4 if(pardata.IIN != VOLTS) 8088d38: 4b90 ldr r3, [pc, #576] ; (8088f7c ) 8088d3a: 799b ldrb r3, [r3, #6] 8088d3c: b2db uxtb r3, r3 8088d3e: 2b02 cmp r3, #2 8088d40: d010 beq.n 8088d64 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8088d42: 4b8e ldr r3, [pc, #568] ; (8088f7c ) 8088d44: 7b1b ldrb r3, [r3, #12] 8088d46: b2db uxtb r3, r3 8088d48: 4619 mov r1, r3 8088d4a: 4a91 ldr r2, [pc, #580] ; (8088f90 ) 8088d4c: 232c movs r3, #44 ; 0x2c 8088d4e: fb03 f301 mul.w r3, r3, r1 8088d52: 4413 add r3, r2 8088d54: 3324 adds r3, #36 ; 0x24 8088d56: 681b ldr r3, [r3, #0] 8088d58: 461a mov r2, r3 8088d5a: 216a movs r1, #106 ; 0x6a 8088d5c: 200a movs r0, #10 8088d5e: f7cb fae9 bl 8054334 8088d62: e050 b.n 8088e06 else LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088d64: 4b85 ldr r3, [pc, #532] ; (8088f7c ) 8088d66: 7b1b ldrb r3, [r3, #12] 8088d68: b2db uxtb r3, r3 8088d6a: 4619 mov r1, r3 8088d6c: 4a89 ldr r2, [pc, #548] ; (8088f94 ) 8088d6e: 232c movs r3, #44 ; 0x2c 8088d70: fb03 f301 mul.w r3, r3, r1 8088d74: 4413 add r3, r2 8088d76: 3324 adds r3, #36 ; 0x24 8088d78: 681b ldr r3, [r3, #0] 8088d7a: 461a mov r2, r3 8088d7c: 216a movs r1, #106 ; 0x6a 8088d7e: 200a movs r0, #10 8088d80: f7cb fad8 bl 8054334 8088d84: e03f b.n 8088e06 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088d86: 497e ldr r1, [pc, #504] ; (8088f80 ) 8088d88: f04f 30ff mov.w r0, #4294967295 8088d8c: f7ca fd2a bl 80537e4 //LCD_DisplayString(10, LCD_LINE_3, "Measurement program"); LCD_DisplayString(10, LCD_LINE_4, "Num.average"); 8088d90: 4a81 ldr r2, [pc, #516] ; (8088f98 ) 8088d92: 214a movs r1, #74 ; 0x4a 8088d94: 200a movs r0, #10 8088d96: f7cb facd bl 8054334 LCD_DisplayString(10, LCD_LINE_5, "Autogain"); 8088d9a: 4a80 ldr r2, [pc, #512] ; (8088f9c ) 8088d9c: 215a movs r1, #90 ; 0x5a 8088d9e: 200a movs r0, #10 8088da0: f7cb fac8 bl 8054334 //LCD_DisplayString(10, LCD_LINE_7, "Save to file"); if(pardata.OPTIONS & 0x4) 8088da4: 4b75 ldr r3, [pc, #468] ; (8088f7c ) 8088da6: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8088daa: f003 0304 and.w r3, r3, #4 8088dae: 2b00 cmp r3, #0 8088db0: d003 beq.n 8088dba LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8088db2: 4973 ldr r1, [pc, #460] ; (8088f80 ) 8088db4: 4875 ldr r0, [pc, #468] ; (8088f8c ) 8088db6: f7ca fd15 bl 80537e4 if(pardata.IIN != VOLTS) 8088dba: 4b70 ldr r3, [pc, #448] ; (8088f7c ) 8088dbc: 799b ldrb r3, [r3, #6] 8088dbe: b2db uxtb r3, r3 8088dc0: 2b02 cmp r3, #2 8088dc2: d010 beq.n 8088de6 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 8088dc4: 4b6d ldr r3, [pc, #436] ; (8088f7c ) 8088dc6: 7b1b ldrb r3, [r3, #12] 8088dc8: b2db uxtb r3, r3 8088dca: 4619 mov r1, r3 8088dcc: 4a70 ldr r2, [pc, #448] ; (8088f90 ) 8088dce: 232c movs r3, #44 ; 0x2c 8088dd0: fb03 f301 mul.w r3, r3, r1 8088dd4: 4413 add r3, r2 8088dd6: 3324 adds r3, #36 ; 0x24 8088dd8: 681b ldr r3, [r3, #0] 8088dda: 461a mov r2, r3 8088ddc: 216a movs r1, #106 ; 0x6a 8088dde: 200a movs r0, #10 8088de0: f7cb faa8 bl 8054334 8088de4: e00f b.n 8088e06 else LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 8088de6: 4b65 ldr r3, [pc, #404] ; (8088f7c ) 8088de8: 7b1b ldrb r3, [r3, #12] 8088dea: b2db uxtb r3, r3 8088dec: 4619 mov r1, r3 8088dee: 4a69 ldr r2, [pc, #420] ; (8088f94 ) 8088df0: 232c movs r3, #44 ; 0x2c 8088df2: fb03 f301 mul.w r3, r3, r1 8088df6: 4413 add r3, r2 8088df8: 3324 adds r3, #36 ; 0x24 8088dfa: 681b ldr r3, [r3, #0] 8088dfc: 461a mov r2, r3 8088dfe: 216a movs r1, #106 ; 0x6a 8088e00: 200a movs r0, #10 8088e02: f7cb fa97 bl 8054334 // if(menupos != DiagUs) 8088e06: 4b66 ldr r3, [pc, #408] ; (8088fa0 ) 8088e08: 781b ldrb r3, [r3, #0] 8088e0a: b2db uxtb r3, r3 8088e0c: 2b00 cmp r3, #0 8088e0e: d005 beq.n 8088e1c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088e10: 495b ldr r1, [pc, #364] ; (8088f80 ) 8088e12: f04f 30ff mov.w r0, #4294967295 8088e16: f7ca fce5 bl 80537e4 8088e1a: e004 b.n 8088e26 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088e1c: 4958 ldr r1, [pc, #352] ; (8088f80 ) 8088e1e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088e22: f7ca fcdf bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *) TEXT_PARAM_DIAGN[pardata.LANG][DiagUs]); 8088e26: 4b55 ldr r3, [pc, #340] ; (8088f7c ) 8088e28: 7b1b ldrb r3, [r3, #12] 8088e2a: b2db uxtb r3, r3 8088e2c: 4619 mov r1, r3 8088e2e: 4a5d ldr r2, [pc, #372] ; (8088fa4 ) 8088e30: 460b mov r3, r1 8088e32: 009b lsls r3, r3, #2 8088e34: 440b add r3, r1 8088e36: 009b lsls r3, r3, #2 8088e38: 4413 add r3, r2 8088e3a: 681b ldr r3, [r3, #0] 8088e3c: 461a mov r2, r3 8088e3e: 213a movs r1, #58 ; 0x3a 8088e40: 200a movs r0, #10 8088e42: f7cb fa77 bl 8054334 // if(menupos != DiagAverage) 8088e46: 4b56 ldr r3, [pc, #344] ; (8088fa0 ) 8088e48: 781b ldrb r3, [r3, #0] 8088e4a: b2db uxtb r3, r3 8088e4c: 2b01 cmp r3, #1 8088e4e: d004 beq.n 8088e5a LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088e50: 494b ldr r1, [pc, #300] ; (8088f80 ) 8088e52: 4855 ldr r0, [pc, #340] ; (8088fa8 ) 8088e54: f7ca fcc6 bl 80537e4 8088e58: e004 b.n 8088e64 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088e5a: 4949 ldr r1, [pc, #292] ; (8088f80 ) 8088e5c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088e60: f7ca fcc0 bl 80537e4 if((focused) && (menupos == DiagAverage)) 8088e64: 4b51 ldr r3, [pc, #324] ; (8088fac ) 8088e66: 781b ldrb r3, [r3, #0] 8088e68: b2db uxtb r3, r3 8088e6a: 2b00 cmp r3, #0 8088e6c: d016 beq.n 8088e9c 8088e6e: 4b4c ldr r3, [pc, #304] ; (8088fa0 ) 8088e70: 781b ldrb r3, [r3, #0] 8088e72: b2db uxtb r3, r3 8088e74: 2b01 cmp r3, #1 8088e76: d111 bne.n 8088e9c { if(blk) 8088e78: 4b4d ldr r3, [pc, #308] ; (8088fb0 ) 8088e7a: 681b ldr r3, [r3, #0] 8088e7c: 2b00 cmp r3, #0 8088e7e: d01a beq.n 8088eb6 LCD_DisplayStringC(260, LCD_LINE_4, (char *) pAVERAGE[pardata.AVG]); 8088e80: 4b3e ldr r3, [pc, #248] ; (8088f7c ) 8088e82: 7b5b ldrb r3, [r3, #13] 8088e84: b2db uxtb r3, r3 8088e86: 461a mov r2, r3 8088e88: 4b4a ldr r3, [pc, #296] ; (8088fb4 ) 8088e8a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088e8e: 461a mov r2, r3 8088e90: 214a movs r1, #74 ; 0x4a 8088e92: f44f 7082 mov.w r0, #260 ; 0x104 8088e96: f7cb fa65 bl 8054364 if(blk) 8088e9a: e00c b.n 8088eb6 } else LCD_DisplayStringC(260, LCD_LINE_4, (char *) pAVERAGE[pardata.AVG]); 8088e9c: 4b37 ldr r3, [pc, #220] ; (8088f7c ) 8088e9e: 7b5b ldrb r3, [r3, #13] 8088ea0: b2db uxtb r3, r3 8088ea2: 461a mov r2, r3 8088ea4: 4b43 ldr r3, [pc, #268] ; (8088fb4 ) 8088ea6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8088eaa: 461a mov r2, r3 8088eac: 214a movs r1, #74 ; 0x4a 8088eae: f44f 7082 mov.w r0, #260 ; 0x104 8088eb2: f7cb fa57 bl 8054364 // if(menupos == DiagAutoKu) 8088eb6: 4b3a ldr r3, [pc, #232] ; (8088fa0 ) 8088eb8: 781b ldrb r3, [r3, #0] 8088eba: b2db uxtb r3, r3 8088ebc: 2b02 cmp r3, #2 8088ebe: d10a bne.n 8088ed6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088ec0: 492f ldr r1, [pc, #188] ; (8088f80 ) 8088ec2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088ec6: f7ca fc8d bl 80537e4 BSP_LCD_FillRect(253, CHECKBOX_LINE_5-2, 14, 14); 8088eca: 230e movs r3, #14 8088ecc: 220e movs r2, #14 8088ece: 215b movs r1, #91 ; 0x5b 8088ed0: 20fd movs r0, #253 ; 0xfd 8088ed2: f7cb f915 bl 8054100 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088ed6: 492a ldr r1, [pc, #168] ; (8088f80 ) 8088ed8: f04f 30ff mov.w r0, #4294967295 8088edc: f7ca fc82 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_5, 10, 10); 8088ee0: 230a movs r3, #10 8088ee2: 220a movs r2, #10 8088ee4: 215d movs r1, #93 ; 0x5d 8088ee6: 20ff movs r0, #255 ; 0xff 8088ee8: f7cb f90a bl 8054100 // if(menupos == DiagSaveToFile) 8088eec: 4b2c ldr r3, [pc, #176] ; (8088fa0 ) 8088eee: 781b ldrb r3, [r3, #0] 8088ef0: b2db uxtb r3, r3 8088ef2: 2b04 cmp r3, #4 8088ef4: d160 bne.n 8088fb8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088ef6: 4922 ldr r1, [pc, #136] ; (8088f80 ) 8088ef8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088efc: f7ca fc72 bl 80537e4 if(strlen(DiagFileName)) 8088f00: 4b1c ldr r3, [pc, #112] ; (8088f74 ) 8088f02: 781b ldrb r3, [r3, #0] 8088f04: 2b00 cmp r3, #0 8088f06: d022 beq.n 8088f4e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8088f08: 491d ldr r1, [pc, #116] ; (8088f80 ) 8088f0a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8088f0e: f7ca fc69 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8088f12: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088f16: 461a mov r2, r3 8088f18: 217a movs r1, #122 ; 0x7a 8088f1a: f44f 7082 mov.w r0, #260 ; 0x104 8088f1e: f7cb fa21 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088f22: 4917 ldr r1, [pc, #92] ; (8088f80 ) 8088f24: f04f 30ff mov.w r0, #4294967295 8088f28: f7ca fc5c bl 80537e4 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 8088f2c: 4b13 ldr r3, [pc, #76] ; (8088f7c ) 8088f2e: 7b1b ldrb r3, [r3, #12] 8088f30: b2db uxtb r3, r3 8088f32: 4619 mov r1, r3 8088f34: 4a16 ldr r2, [pc, #88] ; (8088f90 ) 8088f36: 232c movs r3, #44 ; 0x2c 8088f38: fb03 f301 mul.w r3, r3, r1 8088f3c: 4413 add r3, r2 8088f3e: 3328 adds r3, #40 ; 0x28 8088f40: 681b ldr r3, [r3, #0] 8088f42: 461a mov r2, r3 8088f44: 217a movs r1, #122 ; 0x7a 8088f46: 200a movs r0, #10 8088f48: f7cb f9f4 bl 8054334 8088f4c: e06f b.n 808902e } else LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 8088f4e: 4b0b ldr r3, [pc, #44] ; (8088f7c ) 8088f50: 7b1b ldrb r3, [r3, #12] 8088f52: b2db uxtb r3, r3 8088f54: 4619 mov r1, r3 8088f56: 4a0e ldr r2, [pc, #56] ; (8088f90 ) 8088f58: 232c movs r3, #44 ; 0x2c 8088f5a: fb03 f301 mul.w r3, r3, r1 8088f5e: 4413 add r3, r2 8088f60: 3328 adds r3, #40 ; 0x28 8088f62: 681b ldr r3, [r3, #0] 8088f64: 461a mov r2, r3 8088f66: 217a movs r1, #122 ; 0x7a 8088f68: 200a movs r0, #10 8088f6a: f7cb f9e3 bl 8054334 8088f6e: e05e b.n 808902e 8088f70: 20021668 .word 0x20021668 8088f74: 20020e7c .word 0x20020e7c 8088f78: 2002166c .word 0x2002166c 8088f7c: 20023e60 .word 0x20023e60 8088f80: ff0a0f1f .word 0xff0a0f1f 8088f84: 080cf3b4 .word 0x080cf3b4 8088f88: 080cf288 .word 0x080cf288 8088f8c: ff808080 .word 0xff808080 8088f90: 200206b4 .word 0x200206b4 8088f94: 2002070c .word 0x2002070c 8088f98: 080cf424 .word 0x080cf424 8088f9c: 080cf314 .word 0x080cf314 8088fa0: 20020070 .word 0x20020070 8088fa4: 2002092c .word 0x2002092c 8088fa8: ffd8aa57 .word 0xffd8aa57 8088fac: 20020f84 .word 0x20020f84 8088fb0: 2002165c .word 0x2002165c 8088fb4: 20020224 .word 0x20020224 } else { if(strlen(DiagFileName)) 8088fb8: 4bb1 ldr r3, [pc, #708] ; (8089280 ) 8088fba: 781b ldrb r3, [r3, #0] 8088fbc: 2b00 cmp r3, #0 8088fbe: d021 beq.n 8089004 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8088fc0: 49b0 ldr r1, [pc, #704] ; (8089284 ) 8088fc2: 48b1 ldr r0, [pc, #708] ; (8089288 ) 8088fc4: f7ca fc0e bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8088fc8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8088fcc: 461a mov r2, r3 8088fce: 217a movs r1, #122 ; 0x7a 8088fd0: f44f 7082 mov.w r0, #260 ; 0x104 8088fd4: f7cb f9c6 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8088fd8: 49aa ldr r1, [pc, #680] ; (8089284 ) 8088fda: f04f 30ff mov.w r0, #4294967295 8088fde: f7ca fc01 bl 80537e4 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 8088fe2: 4baa ldr r3, [pc, #680] ; (808928c ) 8088fe4: 7b1b ldrb r3, [r3, #12] 8088fe6: b2db uxtb r3, r3 8088fe8: 4619 mov r1, r3 8088fea: 4aa9 ldr r2, [pc, #676] ; (8089290 ) 8088fec: 232c movs r3, #44 ; 0x2c 8088fee: fb03 f301 mul.w r3, r3, r1 8088ff2: 4413 add r3, r2 8088ff4: 3328 adds r3, #40 ; 0x28 8088ff6: 681b ldr r3, [r3, #0] 8088ff8: 461a mov r2, r3 8088ffa: 217a movs r1, #122 ; 0x7a 8088ffc: 200a movs r0, #10 8088ffe: f7cb f999 bl 8054334 8089002: e014 b.n 808902e } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089004: 499f ldr r1, [pc, #636] ; (8089284 ) 8089006: f04f 30ff mov.w r0, #4294967295 808900a: f7ca fbeb bl 80537e4 LCD_DisplayString(10, LCD_LINE_7, (char *)TEXT_PARAM_VIB[pardata.LANG][10]); //"Çàïèñü â ôàéë" 808900e: 4b9f ldr r3, [pc, #636] ; (808928c ) 8089010: 7b1b ldrb r3, [r3, #12] 8089012: b2db uxtb r3, r3 8089014: 4619 mov r1, r3 8089016: 4a9e ldr r2, [pc, #632] ; (8089290 ) 8089018: 232c movs r3, #44 ; 0x2c 808901a: fb03 f301 mul.w r3, r3, r1 808901e: 4413 add r3, r2 8089020: 3328 adds r3, #40 ; 0x28 8089022: 681b ldr r3, [r3, #0] 8089024: 461a mov r2, r3 8089026: 217a movs r1, #122 ; 0x7a 8089028: 200a movs r0, #10 808902a: f7cb f983 bl 8054334 } } // if(menupos == DiagMax_IDT) 808902e: 4b99 ldr r3, [pc, #612] ; (8089294 ) 8089030: 781b ldrb r3, [r3, #0] 8089032: b2db uxtb r3, r3 8089034: 2b05 cmp r3, #5 8089036: d15d bne.n 80890f4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089038: 4992 ldr r1, [pc, #584] ; (8089284 ) 808903a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808903e: f7ca fbd1 bl 80537e4 if(blk) 8089042: 4b95 ldr r3, [pc, #596] ; (8089298 ) 8089044: 681b ldr r3, [r3, #0] 8089046: 2b00 cmp r3, #0 8089048: d00b beq.n 8089062 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 808904a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808904e: b2db uxtb r3, r3 8089050: 461a mov r2, r3 8089052: 4b92 ldr r3, [pc, #584] ; (808929c ) 8089054: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089058: 461a mov r2, r3 808905a: 216a movs r1, #106 ; 0x6a 808905c: 20c6 movs r0, #198 ; 0xc6 808905e: f7cb f969 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089062: 4988 ldr r1, [pc, #544] ; (8089284 ) 8089064: 4888 ldr r0, [pc, #544] ; (8089288 ) 8089066: f7ca fbbd bl 80537e4 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808906a: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808906e: b2db uxtb r3, r3 8089070: 461a mov r2, r3 8089072: 4b8a ldr r3, [pc, #552] ; (808929c ) 8089074: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089078: 461a mov r2, r3 808907a: 216a movs r1, #106 ; 0x6a 808907c: 20d6 movs r0, #214 ; 0xd6 808907e: f7cb f959 bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 8089082: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8089086: b2db uxtb r3, r3 8089088: 461a mov r2, r3 808908a: 4b84 ldr r3, [pc, #528] ; (808929c ) 808908c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089090: 461a mov r2, r3 8089092: 216a movs r1, #106 ; 0x6a 8089094: 20e6 movs r0, #230 ; 0xe6 8089096: f7cb f94d bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 808909a: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808909e: b2db uxtb r3, r3 80890a0: 461a mov r2, r3 80890a2: 4b7e ldr r3, [pc, #504] ; (808929c ) 80890a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80890a8: 461a mov r2, r3 80890aa: 216a movs r1, #106 ; 0x6a 80890ac: 20f6 movs r0, #246 ; 0xf6 80890ae: f7cb f941 bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 80890b2: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80890b6: b2db uxtb r3, r3 80890b8: 461a mov r2, r3 80890ba: 4b78 ldr r3, [pc, #480] ; (808929c ) 80890bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80890c0: 461a mov r2, r3 80890c2: 216a movs r1, #106 ; 0x6a 80890c4: f44f 7083 mov.w r0, #262 ; 0x106 80890c8: f7cb f934 bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 80890cc: 4a74 ldr r2, [pc, #464] ; (80892a0 ) 80890ce: 216a movs r1, #106 ; 0x6a 80890d0: f44f 708b mov.w r0, #278 ; 0x116 80890d4: f7cb f92e bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 80890d8: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80890dc: b2db uxtb r3, r3 80890de: 461a mov r2, r3 80890e0: 4b6e ldr r3, [pc, #440] ; (808929c ) 80890e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80890e6: 461a mov r2, r3 80890e8: 216a movs r1, #106 ; 0x6a 80890ea: f44f 7093 mov.w r0, #294 ; 0x126 80890ee: f7cb f921 bl 8054334 80890f2: e20b b.n 808950c } else if(menupos == DiagMax_IET) 80890f4: 4b67 ldr r3, [pc, #412] ; (8089294 ) 80890f6: 781b ldrb r3, [r3, #0] 80890f8: b2db uxtb r3, r3 80890fa: 2b06 cmp r3, #6 80890fc: d15d bne.n 80891ba { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80890fe: 4961 ldr r1, [pc, #388] ; (8089284 ) 8089100: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089104: f7ca fb6e bl 80537e4 if(blk) 8089108: 4b63 ldr r3, [pc, #396] ; (8089298 ) 808910a: 681b ldr r3, [r3, #0] 808910c: 2b00 cmp r3, #0 808910e: d00b beq.n 8089128 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 8089110: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8089114: b2db uxtb r3, r3 8089116: 461a mov r2, r3 8089118: 4b60 ldr r3, [pc, #384] ; (808929c ) 808911a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808911e: 461a mov r2, r3 8089120: 216a movs r1, #106 ; 0x6a 8089122: 20d6 movs r0, #214 ; 0xd6 8089124: f7cb f906 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8089128: 4956 ldr r1, [pc, #344] ; (8089284 ) 808912a: 4857 ldr r0, [pc, #348] ; (8089288 ) 808912c: f7ca fb5a bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 8089130: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8089134: b2db uxtb r3, r3 8089136: 461a mov r2, r3 8089138: 4b58 ldr r3, [pc, #352] ; (808929c ) 808913a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808913e: 461a mov r2, r3 8089140: 216a movs r1, #106 ; 0x6a 8089142: 20c6 movs r0, #198 ; 0xc6 8089144: f7cb f8f6 bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 8089148: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808914c: b2db uxtb r3, r3 808914e: 461a mov r2, r3 8089150: 4b52 ldr r3, [pc, #328] ; (808929c ) 8089152: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089156: 461a mov r2, r3 8089158: 216a movs r1, #106 ; 0x6a 808915a: 20e6 movs r0, #230 ; 0xe6 808915c: f7cb f8ea bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 8089160: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8089164: b2db uxtb r3, r3 8089166: 461a mov r2, r3 8089168: 4b4c ldr r3, [pc, #304] ; (808929c ) 808916a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808916e: 461a mov r2, r3 8089170: 216a movs r1, #106 ; 0x6a 8089172: 20f6 movs r0, #246 ; 0xf6 8089174: f7cb f8de bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 8089178: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808917c: b2db uxtb r3, r3 808917e: 461a mov r2, r3 8089180: 4b46 ldr r3, [pc, #280] ; (808929c ) 8089182: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089186: 461a mov r2, r3 8089188: 216a movs r1, #106 ; 0x6a 808918a: f44f 7083 mov.w r0, #262 ; 0x106 808918e: f7cb f8d1 bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 8089192: 4a43 ldr r2, [pc, #268] ; (80892a0 ) 8089194: 216a movs r1, #106 ; 0x6a 8089196: f44f 708b mov.w r0, #278 ; 0x116 808919a: f7cb f8cb bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808919e: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80891a2: b2db uxtb r3, r3 80891a4: 461a mov r2, r3 80891a6: 4b3d ldr r3, [pc, #244] ; (808929c ) 80891a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80891ac: 461a mov r2, r3 80891ae: 216a movs r1, #106 ; 0x6a 80891b0: f44f 7093 mov.w r0, #294 ; 0x126 80891b4: f7cb f8be bl 8054334 80891b8: e1a8 b.n 808950c } else if(menupos == DiagMax_IES) 80891ba: 4b36 ldr r3, [pc, #216] ; (8089294 ) 80891bc: 781b ldrb r3, [r3, #0] 80891be: b2db uxtb r3, r3 80891c0: 2b07 cmp r3, #7 80891c2: d16f bne.n 80892a4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80891c4: 492f ldr r1, [pc, #188] ; (8089284 ) 80891c6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80891ca: f7ca fb0b bl 80537e4 if(blk) 80891ce: 4b32 ldr r3, [pc, #200] ; (8089298 ) 80891d0: 681b ldr r3, [r3, #0] 80891d2: 2b00 cmp r3, #0 80891d4: d00b beq.n 80891ee LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 80891d6: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80891da: b2db uxtb r3, r3 80891dc: 461a mov r2, r3 80891de: 4b2f ldr r3, [pc, #188] ; (808929c ) 80891e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80891e4: 461a mov r2, r3 80891e6: 216a movs r1, #106 ; 0x6a 80891e8: 20e6 movs r0, #230 ; 0xe6 80891ea: f7cb f8a3 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80891ee: 4925 ldr r1, [pc, #148] ; (8089284 ) 80891f0: 4825 ldr r0, [pc, #148] ; (8089288 ) 80891f2: f7ca faf7 bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 80891f6: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80891fa: b2db uxtb r3, r3 80891fc: 461a mov r2, r3 80891fe: 4b27 ldr r3, [pc, #156] ; (808929c ) 8089200: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089204: 461a mov r2, r3 8089206: 216a movs r1, #106 ; 0x6a 8089208: 20c6 movs r0, #198 ; 0xc6 808920a: f7cb f893 bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808920e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8089212: b2db uxtb r3, r3 8089214: 461a mov r2, r3 8089216: 4b21 ldr r3, [pc, #132] ; (808929c ) 8089218: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808921c: 461a mov r2, r3 808921e: 216a movs r1, #106 ; 0x6a 8089220: 20d6 movs r0, #214 ; 0xd6 8089222: f7cb f887 bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 8089226: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808922a: b2db uxtb r3, r3 808922c: 461a mov r2, r3 808922e: 4b1b ldr r3, [pc, #108] ; (808929c ) 8089230: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089234: 461a mov r2, r3 8089236: 216a movs r1, #106 ; 0x6a 8089238: 20f6 movs r0, #246 ; 0xf6 808923a: f7cb f87b bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 808923e: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8089242: b2db uxtb r3, r3 8089244: 461a mov r2, r3 8089246: 4b15 ldr r3, [pc, #84] ; (808929c ) 8089248: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808924c: 461a mov r2, r3 808924e: 216a movs r1, #106 ; 0x6a 8089250: f44f 7083 mov.w r0, #262 ; 0x106 8089254: f7cb f86e bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 8089258: 4a11 ldr r2, [pc, #68] ; (80892a0 ) 808925a: 216a movs r1, #106 ; 0x6a 808925c: f44f 708b mov.w r0, #278 ; 0x116 8089260: f7cb f868 bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 8089264: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8089268: b2db uxtb r3, r3 808926a: 461a mov r2, r3 808926c: 4b0b ldr r3, [pc, #44] ; (808929c ) 808926e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089272: 461a mov r2, r3 8089274: 216a movs r1, #106 ; 0x6a 8089276: f44f 7093 mov.w r0, #294 ; 0x126 808927a: f7cb f85b bl 8054334 808927e: e145 b.n 808950c 8089280: 20020e7c .word 0x20020e7c 8089284: ff0a0f1f .word 0xff0a0f1f 8089288: ffd8aa57 .word 0xffd8aa57 808928c: 20023e60 .word 0x20023e60 8089290: 200206b4 .word 0x200206b4 8089294: 20020070 .word 0x20020070 8089298: 2002165c .word 0x2002165c 808929c: 20020964 .word 0x20020964 80892a0: 080cf820 .word 0x080cf820 } else if(menupos == DiagMax_IED) 80892a4: 4b62 ldr r3, [pc, #392] ; (8089430 ) 80892a6: 781b ldrb r3, [r3, #0] 80892a8: b2db uxtb r3, r3 80892aa: 2b08 cmp r3, #8 80892ac: d15d bne.n 808936a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80892ae: 4961 ldr r1, [pc, #388] ; (8089434 ) 80892b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80892b4: f7ca fa96 bl 80537e4 if(blk) 80892b8: 4b5f ldr r3, [pc, #380] ; (8089438 ) 80892ba: 681b ldr r3, [r3, #0] 80892bc: 2b00 cmp r3, #0 80892be: d00b beq.n 80892d8 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 80892c0: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80892c4: b2db uxtb r3, r3 80892c6: 461a mov r2, r3 80892c8: 4b5c ldr r3, [pc, #368] ; (808943c ) 80892ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80892ce: 461a mov r2, r3 80892d0: 216a movs r1, #106 ; 0x6a 80892d2: 20f6 movs r0, #246 ; 0xf6 80892d4: f7cb f82e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80892d8: 4956 ldr r1, [pc, #344] ; (8089434 ) 80892da: 4859 ldr r0, [pc, #356] ; (8089440 ) 80892dc: f7ca fa82 bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 80892e0: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80892e4: b2db uxtb r3, r3 80892e6: 461a mov r2, r3 80892e8: 4b54 ldr r3, [pc, #336] ; (808943c ) 80892ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80892ee: 461a mov r2, r3 80892f0: 216a movs r1, #106 ; 0x6a 80892f2: 20c6 movs r0, #198 ; 0xc6 80892f4: f7cb f81e bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 80892f8: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80892fc: b2db uxtb r3, r3 80892fe: 461a mov r2, r3 8089300: 4b4e ldr r3, [pc, #312] ; (808943c ) 8089302: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089306: 461a mov r2, r3 8089308: 216a movs r1, #106 ; 0x6a 808930a: 20d6 movs r0, #214 ; 0xd6 808930c: f7cb f812 bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 8089310: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8089314: b2db uxtb r3, r3 8089316: 461a mov r2, r3 8089318: 4b48 ldr r3, [pc, #288] ; (808943c ) 808931a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808931e: 461a mov r2, r3 8089320: 216a movs r1, #106 ; 0x6a 8089322: 20e6 movs r0, #230 ; 0xe6 8089324: f7cb f806 bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 8089328: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808932c: b2db uxtb r3, r3 808932e: 461a mov r2, r3 8089330: 4b42 ldr r3, [pc, #264] ; (808943c ) 8089332: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089336: 461a mov r2, r3 8089338: 216a movs r1, #106 ; 0x6a 808933a: f44f 7083 mov.w r0, #262 ; 0x106 808933e: f7ca fff9 bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 8089342: 4a40 ldr r2, [pc, #256] ; (8089444 ) 8089344: 216a movs r1, #106 ; 0x6a 8089346: f44f 708b mov.w r0, #278 ; 0x116 808934a: f7ca fff3 bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 808934e: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8089352: b2db uxtb r3, r3 8089354: 461a mov r2, r3 8089356: 4b39 ldr r3, [pc, #228] ; (808943c ) 8089358: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808935c: 461a mov r2, r3 808935e: 216a movs r1, #106 ; 0x6a 8089360: f44f 7093 mov.w r0, #294 ; 0x126 8089364: f7ca ffe6 bl 8054334 8089368: e0d0 b.n 808950c } else if(menupos == DiagMax_IEE) 808936a: 4b31 ldr r3, [pc, #196] ; (8089430 ) 808936c: 781b ldrb r3, [r3, #0] 808936e: b2db uxtb r3, r3 8089370: 2b09 cmp r3, #9 8089372: d169 bne.n 8089448 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089374: 492f ldr r1, [pc, #188] ; (8089434 ) 8089376: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808937a: f7ca fa33 bl 80537e4 if(blk) 808937e: 4b2e ldr r3, [pc, #184] ; (8089438 ) 8089380: 681b ldr r3, [r3, #0] 8089382: 2b00 cmp r3, #0 8089384: d00c beq.n 80893a0 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 8089386: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808938a: b2db uxtb r3, r3 808938c: 461a mov r2, r3 808938e: 4b2b ldr r3, [pc, #172] ; (808943c ) 8089390: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089394: 461a mov r2, r3 8089396: 216a movs r1, #106 ; 0x6a 8089398: f44f 7083 mov.w r0, #262 ; 0x106 808939c: f7ca ffca bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80893a0: 4924 ldr r1, [pc, #144] ; (8089434 ) 80893a2: 4827 ldr r0, [pc, #156] ; (8089440 ) 80893a4: f7ca fa1e bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 80893a8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80893ac: b2db uxtb r3, r3 80893ae: 461a mov r2, r3 80893b0: 4b22 ldr r3, [pc, #136] ; (808943c ) 80893b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80893b6: 461a mov r2, r3 80893b8: 216a movs r1, #106 ; 0x6a 80893ba: 20c6 movs r0, #198 ; 0xc6 80893bc: f7ca ffba bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 80893c0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80893c4: b2db uxtb r3, r3 80893c6: 461a mov r2, r3 80893c8: 4b1c ldr r3, [pc, #112] ; (808943c ) 80893ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80893ce: 461a mov r2, r3 80893d0: 216a movs r1, #106 ; 0x6a 80893d2: 20d6 movs r0, #214 ; 0xd6 80893d4: f7ca ffae bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 80893d8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80893dc: b2db uxtb r3, r3 80893de: 461a mov r2, r3 80893e0: 4b16 ldr r3, [pc, #88] ; (808943c ) 80893e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80893e6: 461a mov r2, r3 80893e8: 216a movs r1, #106 ; 0x6a 80893ea: 20e6 movs r0, #230 ; 0xe6 80893ec: f7ca ffa2 bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 80893f0: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80893f4: b2db uxtb r3, r3 80893f6: 461a mov r2, r3 80893f8: 4b10 ldr r3, [pc, #64] ; (808943c ) 80893fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80893fe: 461a mov r2, r3 8089400: 216a movs r1, #106 ; 0x6a 8089402: 20f6 movs r0, #246 ; 0xf6 8089404: f7ca ff96 bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 8089408: 4a0e ldr r2, [pc, #56] ; (8089444 ) 808940a: 216a movs r1, #106 ; 0x6a 808940c: f44f 708b mov.w r0, #278 ; 0x116 8089410: f7ca ff90 bl 8054334 LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 8089414: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8089418: b2db uxtb r3, r3 808941a: 461a mov r2, r3 808941c: 4b07 ldr r3, [pc, #28] ; (808943c ) 808941e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089422: 461a mov r2, r3 8089424: 216a movs r1, #106 ; 0x6a 8089426: f44f 7093 mov.w r0, #294 ; 0x126 808942a: f7ca ff83 bl 8054334 808942e: e06d b.n 808950c 8089430: 20020070 .word 0x20020070 8089434: ff0a0f1f .word 0xff0a0f1f 8089438: 2002165c .word 0x2002165c 808943c: 20020964 .word 0x20020964 8089440: ffd8aa57 .word 0xffd8aa57 8089444: 080cf820 .word 0x080cf820 } else if(menupos == DiagMax_IKD) 8089448: 4bc4 ldr r3, [pc, #784] ; (808975c ) 808944a: 781b ldrb r3, [r3, #0] 808944c: b2db uxtb r3, r3 808944e: 2b0a cmp r3, #10 8089450: d15c bne.n 808950c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089452: 49c3 ldr r1, [pc, #780] ; (8089760 ) 8089454: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089458: f7ca f9c4 bl 80537e4 if(blk) 808945c: 4bc1 ldr r3, [pc, #772] ; (8089764 ) 808945e: 681b ldr r3, [r3, #0] 8089460: 2b00 cmp r3, #0 8089462: d00c beq.n 808947e LCD_DisplayString(294, LCD_LINE_6, (char *) pNUMS[ikd2]); 8089464: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8089468: b2db uxtb r3, r3 808946a: 461a mov r2, r3 808946c: 4bbe ldr r3, [pc, #760] ; (8089768 ) 808946e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089472: 461a mov r2, r3 8089474: 216a movs r1, #106 ; 0x6a 8089476: f44f 7093 mov.w r0, #294 ; 0x126 808947a: f7ca ff5b bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808947e: 49b8 ldr r1, [pc, #736] ; (8089760 ) 8089480: 48ba ldr r0, [pc, #744] ; (808976c ) 8089482: f7ca f9af bl 80537e4 LCD_DisplayString(198, LCD_LINE_6, (char *) pNUMS[idt2]); 8089486: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808948a: b2db uxtb r3, r3 808948c: 461a mov r2, r3 808948e: 4bb6 ldr r3, [pc, #728] ; (8089768 ) 8089490: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8089494: 461a mov r2, r3 8089496: 216a movs r1, #106 ; 0x6a 8089498: 20c6 movs r0, #198 ; 0xc6 808949a: f7ca ff4b bl 8054334 LCD_DisplayString(214, LCD_LINE_6, (char *) pNUMS[iet2]); 808949e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80894a2: b2db uxtb r3, r3 80894a4: 461a mov r2, r3 80894a6: 4bb0 ldr r3, [pc, #704] ; (8089768 ) 80894a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80894ac: 461a mov r2, r3 80894ae: 216a movs r1, #106 ; 0x6a 80894b0: 20d6 movs r0, #214 ; 0xd6 80894b2: f7ca ff3f bl 8054334 LCD_DisplayString(230, LCD_LINE_6, (char *) pNUMS[ies2]); 80894b6: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80894ba: b2db uxtb r3, r3 80894bc: 461a mov r2, r3 80894be: 4baa ldr r3, [pc, #680] ; (8089768 ) 80894c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80894c4: 461a mov r2, r3 80894c6: 216a movs r1, #106 ; 0x6a 80894c8: 20e6 movs r0, #230 ; 0xe6 80894ca: f7ca ff33 bl 8054334 LCD_DisplayString(246, LCD_LINE_6, (char *) pNUMS[ied2]); 80894ce: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80894d2: b2db uxtb r3, r3 80894d4: 461a mov r2, r3 80894d6: 4ba4 ldr r3, [pc, #656] ; (8089768 ) 80894d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80894dc: 461a mov r2, r3 80894de: 216a movs r1, #106 ; 0x6a 80894e0: 20f6 movs r0, #246 ; 0xf6 80894e2: f7ca ff27 bl 8054334 LCD_DisplayString(262, LCD_LINE_6, (char *) pNUMS[iee2]); 80894e6: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80894ea: b2db uxtb r3, r3 80894ec: 461a mov r2, r3 80894ee: 4b9e ldr r3, [pc, #632] ; (8089768 ) 80894f0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80894f4: 461a mov r2, r3 80894f6: 216a movs r1, #106 ; 0x6a 80894f8: f44f 7083 mov.w r0, #262 ; 0x106 80894fc: f7ca ff1a bl 8054334 LCD_DisplayString(278, LCD_LINE_6, "."); 8089500: 4a9b ldr r2, [pc, #620] ; (8089770 ) 8089502: 216a movs r1, #106 ; 0x6a 8089504: f44f 708b mov.w r0, #278 ; 0x116 8089508: f7ca ff14 bl 8054334 } // if(menupos < DiagMax_IDT) 808950c: 4b93 ldr r3, [pc, #588] ; (808975c ) 808950e: 781b ldrb r3, [r3, #0] 8089510: b2db uxtb r3, r3 8089512: 2b04 cmp r3, #4 8089514: f200 80b9 bhi.w 808968a { i = 0; 8089518: 2300 movs r3, #0 808951a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808951e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 8089522: 223c movs r2, #60 ; 0x3c 8089524: 2100 movs r1, #0 8089526: 4618 mov r0, r3 8089528: f043 fdaa bl 80cd080 if(idt2 != 0) 808952c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8089530: b2db uxtb r3, r3 8089532: 2b00 cmp r3, #0 8089534: d00c beq.n 8089550 str2[i++] = idt2 + 48; 8089536: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808953a: 1c5a adds r2, r3, #1 808953c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089540: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 8089544: b2d2 uxtb r2, r2 8089546: 3230 adds r2, #48 ; 0x30 8089548: b2d1 uxtb r1, r2 808954a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808954e: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 8089550: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8089554: b2db uxtb r3, r3 8089556: 2b00 cmp r3, #0 8089558: d104 bne.n 8089564 808955a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808955e: b2db uxtb r3, r3 8089560: 2b00 cmp r3, #0 8089562: d00c beq.n 808957e str2[i++] = iet2 + 48; 8089564: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089568: 1c5a adds r2, r3, #1 808956a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808956e: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 8089572: b2d2 uxtb r2, r2 8089574: 3230 adds r2, #48 ; 0x30 8089576: b2d1 uxtb r1, r2 8089578: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808957c: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808957e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8089582: b2db uxtb r3, r3 8089584: 2b00 cmp r3, #0 8089586: d109 bne.n 808959c 8089588: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808958c: b2db uxtb r3, r3 808958e: 2b00 cmp r3, #0 8089590: d104 bne.n 808959c 8089592: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8089596: b2db uxtb r3, r3 8089598: 2b00 cmp r3, #0 808959a: d00c beq.n 80895b6 str2[i++] = ies2 + 48; 808959c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80895a0: 1c5a adds r2, r3, #1 80895a2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80895a6: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 80895aa: b2d2 uxtb r2, r2 80895ac: 3230 adds r2, #48 ; 0x30 80895ae: b2d1 uxtb r1, r2 80895b0: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80895b4: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 80895b6: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 80895ba: b2db uxtb r3, r3 80895bc: 2b00 cmp r3, #0 80895be: d10e bne.n 80895de 80895c0: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80895c4: b2db uxtb r3, r3 80895c6: 2b00 cmp r3, #0 80895c8: d109 bne.n 80895de 80895ca: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80895ce: b2db uxtb r3, r3 80895d0: 2b00 cmp r3, #0 80895d2: d104 bne.n 80895de 80895d4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80895d8: b2db uxtb r3, r3 80895da: 2b00 cmp r3, #0 80895dc: d00c beq.n 80895f8 str2[i++] = ied2 + 48; 80895de: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80895e2: 1c5a adds r2, r3, #1 80895e4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 80895e8: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 80895ec: b2d2 uxtb r2, r2 80895ee: 3230 adds r2, #48 ; 0x30 80895f0: b2d1 uxtb r1, r2 80895f2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 80895f6: 54d1 strb r1, [r2, r3] str2[i++] = iee2 + 48; 80895f8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80895fc: 1c5a adds r2, r3, #1 80895fe: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089602: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 8089606: b2d2 uxtb r2, r2 8089608: 3230 adds r2, #48 ; 0x30 808960a: b2d1 uxtb r1, r2 808960c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8089610: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 8089612: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089616: 1c5a adds r2, r3, #1 8089618: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808961c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 8089620: 212e movs r1, #46 ; 0x2e 8089622: 54d1 strb r1, [r2, r3] str2[i++] = ikd2 + 48; 8089624: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089628: 1c5a adds r2, r3, #1 808962a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808962e: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 8089632: b2d2 uxtb r2, r2 8089634: 3230 adds r2, #48 ; 0x30 8089636: b2d1 uxtb r1, r2 8089638: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808963c: 54d1 strb r1, [r2, r3] if(pardata.OPTIONS & 0x4) 808963e: 4b4d ldr r3, [pc, #308] ; (8089774 ) 8089640: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8089644: f003 0304 and.w r3, r3, #4 8089648: 2b00 cmp r3, #0 808964a: d003 beq.n 8089654 cl2 = LCD_COLOR_GRAY; 808964c: 4b4a ldr r3, [pc, #296] ; (8089778 ) 808964e: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 8089652: e002 b.n 808965a else cl2 = LCD_COLOR_MY_YELLOW; 8089654: 4b45 ldr r3, [pc, #276] ; (808976c ) 8089656: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == DiagMax_ALL) 808965a: 4b40 ldr r3, [pc, #256] ; (808975c ) 808965c: 781b ldrb r3, [r3, #0] 808965e: b2db uxtb r3, r3 8089660: 2b03 cmp r3, #3 8089662: d105 bne.n 8089670 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089664: 493e ldr r1, [pc, #248] ; (8089760 ) 8089666: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808966a: f7ca f8bb bl 80537e4 808966e: e004 b.n 808967a else LCD_SetColors(cl2, LCD_COLOR_BLACK); 8089670: 493b ldr r1, [pc, #236] ; (8089760 ) 8089672: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 8089676: f7ca f8b5 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_6, str2); 808967a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808967e: 461a mov r2, r3 8089680: 216a movs r1, #106 ; 0x6a 8089682: f44f 7082 mov.w r0, #260 ; 0x104 8089686: f7ca fe6d bl 8054364 } //asd if(pardata.OPTIONS & 0x4) 808968a: 4b3a ldr r3, [pc, #232] ; (8089774 ) 808968c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8089690: f003 0304 and.w r3, r3, #4 8089694: 2b00 cmp r3, #0 8089696: f00d 87b4 beq.w 8097602 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808969a: 4931 ldr r1, [pc, #196] ; (8089760 ) 808969c: 4837 ldr r0, [pc, #220] ; (808977c ) 808969e: f7ca f8a1 bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_5+2, 6, 6); 80896a2: 2306 movs r3, #6 80896a4: 2206 movs r2, #6 80896a6: 215f movs r1, #95 ; 0x5f 80896a8: f240 1001 movw r0, #257 ; 0x101 80896ac: f7ca fd28 bl 8054100 //LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); // BSP_LCD_FillRect(255, CHECKBOX_LINE_5, 10, 10); } break; 80896b0: f00d bfa7 b.w 8097602 case PARAM_DIAGN_1: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80896b4: 492a ldr r1, [pc, #168] ; (8089760 ) 80896b6: 4832 ldr r0, [pc, #200] ; (8089780 ) 80896b8: f7ca f894 bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 80896bc: 23c9 movs r3, #201 ; 0xc9 80896be: f44f 729d mov.w r2, #314 ; 0x13a 80896c2: 2123 movs r1, #35 ; 0x23 80896c4: 2002 movs r0, #2 80896c6: f7ca fb93 bl 8053df0 //**************************************************************** for(i = 0; i < 8; i++) 80896ca: 2300 movs r3, #0 80896cc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80896d0: e11e b.n 8089910 { memset(str, 0, sizeof(str)); 80896d2: f507 733b add.w r3, r7, #748 ; 0x2ec 80896d6: 223c movs r2, #60 ; 0x3c 80896d8: 2100 movs r1, #0 80896da: 4618 mov r0, r3 80896dc: f043 fcd0 bl 80cd080 memset(str1, 0, sizeof(str1)); 80896e0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80896e4: f44f 7280 mov.w r2, #256 ; 0x100 80896e8: 2100 movs r1, #0 80896ea: 4618 mov r0, r3 80896ec: f043 fcc8 bl 80cd080 memset(&s[i][0], 0, 40u); 80896f0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80896f4: f107 0114 add.w r1, r7, #20 80896f8: 4613 mov r3, r2 80896fa: 009b lsls r3, r3, #2 80896fc: 4413 add r3, r2 80896fe: 00db lsls r3, r3, #3 8089700: 440b add r3, r1 8089702: 2228 movs r2, #40 ; 0x28 8089704: 2100 movs r1, #0 8089706: 4618 mov r0, r3 8089708: f043 fcba bl 80cd080 memcpy(str, (void *) &pardata.DIAGN_NAME[i][0], 40); 808970c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8089710: 4613 mov r3, r2 8089712: 009b lsls r3, r3, #2 8089714: 4413 add r3, r2 8089716: 00db lsls r3, r3, #3 8089718: 33d8 adds r3, #216 ; 0xd8 808971a: 4a16 ldr r2, [pc, #88] ; (8089774 ) 808971c: 4413 add r3, r2 808971e: 1d19 adds r1, r3, #4 8089720: f507 733b add.w r3, r7, #748 ; 0x2ec 8089724: 2228 movs r2, #40 ; 0x28 8089726: 4618 mov r0, r3 8089728: f043 fc9f bl 80cd06a l = strlen(str); 808972c: f507 733b add.w r3, r7, #748 ; 0x2ec 8089730: 4618 mov r0, r3 8089732: f796 fdef bl 8020314 8089736: 4603 mov r3, r0 8089738: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l == 0) 808973c: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089740: 2b00 cmp r3, #0 8089742: d15f bne.n 8089804 { if(pardata.LANG == RUS) 8089744: 4b0b ldr r3, [pc, #44] ; (8089774 ) 8089746: 7b1b ldrb r3, [r3, #12] 8089748: b2db uxtb r3, r3 808974a: 2b00 cmp r3, #0 808974c: d11c bne.n 8089788 strcpy(str, "Ïðîãðàììà"); 808974e: f507 733b add.w r3, r7, #748 ; 0x2ec 8089752: 4a0c ldr r2, [pc, #48] ; (8089784 ) 8089754: ca07 ldmia r2, {r0, r1, r2} 8089756: c303 stmia r3!, {r0, r1} 8089758: 801a strh r2, [r3, #0] 808975a: e01c b.n 8089796 808975c: 20020070 .word 0x20020070 8089760: ff0a0f1f .word 0xff0a0f1f 8089764: 2002165c .word 0x2002165c 8089768: 20020964 .word 0x20020964 808976c: ffd8aa57 .word 0xffd8aa57 8089770: 080cf820 .word 0x080cf820 8089774: 20023e60 .word 0x20023e60 8089778: ff808080 .word 0xff808080 808977c: ff404040 .word 0xff404040 8089780: ffd3d3d3 .word 0xffd3d3d3 8089784: 080d00c0 .word 0x080d00c0 else strcpy(str, "Program"); 8089788: f507 733b add.w r3, r7, #748 ; 0x2ec 808978c: 4acd ldr r2, [pc, #820] ; (8089ac4 ) 808978e: e892 0003 ldmia.w r2, {r0, r1} 8089792: e883 0003 stmia.w r3, {r0, r1} l = strlen(str); 8089796: f507 733b add.w r3, r7, #748 ; 0x2ec 808979a: 4618 mov r0, r3 808979c: f796 fdba bl 8020314 80897a0: 4603 mov r3, r0 80897a2: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 str[l++] = ' '; 80897a6: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80897aa: 1c5a adds r2, r3, #1 80897ac: f8c7 23f4 str.w r2, [r7, #1012] ; 0x3f4 80897b0: f507 723b add.w r2, r7, #748 ; 0x2ec 80897b4: 2120 movs r1, #32 80897b6: 54d1 strb r1, [r2, r3] str[l++] = (char) (i + 49); 80897b8: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80897bc: 1c5a adds r2, r3, #1 80897be: f8c7 23f4 str.w r2, [r7, #1012] ; 0x3f4 80897c2: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80897c6: b2d2 uxtb r2, r2 80897c8: 3231 adds r2, #49 ; 0x31 80897ca: b2d1 uxtb r1, r2 80897cc: f507 723b add.w r2, r7, #748 ; 0x2ec 80897d0: 54d1 strb r1, [r2, r3] str[l++] = 0; 80897d2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80897d6: 1c5a adds r2, r3, #1 80897d8: f8c7 23f4 str.w r2, [r7, #1012] ; 0x3f4 80897dc: f507 723b add.w r2, r7, #748 ; 0x2ec 80897e0: 2100 movs r1, #0 80897e2: 54d1 strb r1, [r2, r3] strcpy(&s[i][0], str); 80897e4: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80897e8: f107 0114 add.w r1, r7, #20 80897ec: 4613 mov r3, r2 80897ee: 009b lsls r3, r3, #2 80897f0: 4413 add r3, r2 80897f2: 00db lsls r3, r3, #3 80897f4: 440b add r3, r1 80897f6: f507 723b add.w r2, r7, #748 ; 0x2ec 80897fa: 4611 mov r1, r2 80897fc: 4618 mov r0, r3 80897fe: f043 fd5c bl 80cd2ba 8089802: e080 b.n 8089906 } else { if(l < 27) 8089804: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089808: 2b1a cmp r3, #26 808980a: d808 bhi.n 808981e { strcpy(str1, str); 808980c: f507 723b add.w r2, r7, #748 ; 0x2ec 8089810: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089814: 4611 mov r1, r2 8089816: 4618 mov r0, r3 8089818: f043 fd4f bl 80cd2ba 808981c: e064 b.n 80898e8 } else { memset(str1, 0x20, sizeof(str1)); 808981e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089822: f44f 7280 mov.w r2, #256 ; 0x100 8089826: 2120 movs r1, #32 8089828: 4618 mov r0, r3 808982a: f043 fc29 bl 80cd080 if(tme <= l) 808982e: 4ba6 ldr r3, [pc, #664] ; (8089ac8 ) 8089830: 681a ldr r2, [r3, #0] 8089832: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089836: 429a cmp r2, r3 8089838: d822 bhi.n 8089880 { if(l - tme >= 26) 808983a: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808983e: 4ba2 ldr r3, [pc, #648] ; (8089ac8 ) 8089840: 681b ldr r3, [r3, #0] 8089842: 1ad3 subs r3, r2, r3 8089844: 2b19 cmp r3, #25 8089846: d90b bls.n 8089860 memcpy(str1, &str[tme], 26); 8089848: 4b9f ldr r3, [pc, #636] ; (8089ac8 ) 808984a: 681b ldr r3, [r3, #0] 808984c: f507 723b add.w r2, r7, #748 ; 0x2ec 8089850: 18d1 adds r1, r2, r3 8089852: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089856: 221a movs r2, #26 8089858: 4618 mov r0, r3 808985a: f043 fc06 bl 80cd06a 808985e: e022 b.n 80898a6 else memcpy(str1, &str[tme], l - tme); 8089860: 4b99 ldr r3, [pc, #612] ; (8089ac8 ) 8089862: 681b ldr r3, [r3, #0] 8089864: f507 723b add.w r2, r7, #748 ; 0x2ec 8089868: 18d1 adds r1, r2, r3 808986a: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 808986e: 4b96 ldr r3, [pc, #600] ; (8089ac8 ) 8089870: 681b ldr r3, [r3, #0] 8089872: 1ad2 subs r2, r2, r3 8089874: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089878: 4618 mov r0, r3 808987a: f043 fbf6 bl 80cd06a 808987e: e012 b.n 80898a6 } else { memcpy(&str1[26 - (tme - l)], str, tme - l); 8089880: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089884: 4b90 ldr r3, [pc, #576] ; (8089ac8 ) 8089886: 681b ldr r3, [r3, #0] 8089888: 1ad3 subs r3, r2, r3 808988a: 331a adds r3, #26 808988c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8089890: 18d0 adds r0, r2, r3 8089892: 4b8d ldr r3, [pc, #564] ; (8089ac8 ) 8089894: 681a ldr r2, [r3, #0] 8089896: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 808989a: 1ad2 subs r2, r2, r3 808989c: f507 733b add.w r3, r7, #748 ; 0x2ec 80898a0: 4619 mov r1, r3 80898a2: f043 fbe2 bl 80cd06a } str1[27] = '\0'; 80898a6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80898aa: 2200 movs r2, #0 80898ac: 76da strb r2, [r3, #27] tt++; 80898ae: 4b87 ldr r3, [pc, #540] ; (8089acc ) 80898b0: 781b ldrb r3, [r3, #0] 80898b2: 3301 adds r3, #1 80898b4: b2da uxtb r2, r3 80898b6: 4b85 ldr r3, [pc, #532] ; (8089acc ) 80898b8: 701a strb r2, [r3, #0] if(tt >= 2) 80898ba: 4b84 ldr r3, [pc, #528] ; (8089acc ) 80898bc: 781b ldrb r3, [r3, #0] 80898be: 2b01 cmp r3, #1 80898c0: d912 bls.n 80898e8 { tt = 0; 80898c2: 4b82 ldr r3, [pc, #520] ; (8089acc ) 80898c4: 2200 movs r2, #0 80898c6: 701a strb r2, [r3, #0] tme++; 80898c8: 4b7f ldr r3, [pc, #508] ; (8089ac8 ) 80898ca: 681b ldr r3, [r3, #0] 80898cc: 3301 adds r3, #1 80898ce: 4a7e ldr r2, [pc, #504] ; (8089ac8 ) 80898d0: 6013 str r3, [r2, #0] if(26 - (tme - l) == 0) 80898d2: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 80898d6: 4b7c ldr r3, [pc, #496] ; (8089ac8 ) 80898d8: 681b ldr r3, [r3, #0] 80898da: 1ad3 subs r3, r2, r3 80898dc: f113 0f1a cmn.w r3, #26 80898e0: d102 bne.n 80898e8 { tme = 0; 80898e2: 4b79 ldr r3, [pc, #484] ; (8089ac8 ) 80898e4: 2200 movs r2, #0 80898e6: 601a str r2, [r3, #0] } } } strcpy(&s[i][0], str1); 80898e8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80898ec: f107 0114 add.w r1, r7, #20 80898f0: 4613 mov r3, r2 80898f2: 009b lsls r3, r3, #2 80898f4: 4413 add r3, r2 80898f6: 00db lsls r3, r3, #3 80898f8: 440b add r3, r1 80898fa: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80898fe: 4611 mov r1, r2 8089900: 4618 mov r0, r3 8089902: f043 fcda bl 80cd2ba for(i = 0; i < 8; i++) 8089906: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808990a: 3301 adds r3, #1 808990c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8089910: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089914: 2b07 cmp r3, #7 8089916: f67f aedc bls.w 80896d2 } } //**************************************************************** k = 0; 808991a: 2300 movs r3, #0 808991c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 if(menupos == Diag1) 8089920: 4b6b ldr r3, [pc, #428] ; (8089ad0 ) 8089922: 781b ldrb r3, [r3, #0] 8089924: b2db uxtb r3, r3 8089926: 2b00 cmp r3, #0 8089928: d105 bne.n 8089936 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808992a: 496a ldr r1, [pc, #424] ; (8089ad4 ) 808992c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089930: f7c9 ff58 bl 80537e4 8089934: e004 b.n 8089940 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089936: 4967 ldr r1, [pc, #412] ; (8089ad4 ) 8089938: f04f 30ff mov.w r0, #4294967295 808993c: f7c9 ff52 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, &s[k++][0]); 8089940: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089944: 1c53 adds r3, r2, #1 8089946: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808994a: f107 0114 add.w r1, r7, #20 808994e: 4613 mov r3, r2 8089950: 009b lsls r3, r3, #2 8089952: 4413 add r3, r2 8089954: 00db lsls r3, r3, #3 8089956: 440b add r3, r1 8089958: 461a mov r2, r3 808995a: 213a movs r1, #58 ; 0x3a 808995c: 200a movs r0, #10 808995e: f7ca fce9 bl 8054334 if(menupos == Diag2) 8089962: 4b5b ldr r3, [pc, #364] ; (8089ad0 ) 8089964: 781b ldrb r3, [r3, #0] 8089966: b2db uxtb r3, r3 8089968: 2b01 cmp r3, #1 808996a: d105 bne.n 8089978 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808996c: 4959 ldr r1, [pc, #356] ; (8089ad4 ) 808996e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089972: f7c9 ff37 bl 80537e4 8089976: e004 b.n 8089982 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089978: 4956 ldr r1, [pc, #344] ; (8089ad4 ) 808997a: f04f 30ff mov.w r0, #4294967295 808997e: f7c9 ff31 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, &s[k++][0]); 8089982: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089986: 1c53 adds r3, r2, #1 8089988: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 808998c: f107 0114 add.w r1, r7, #20 8089990: 4613 mov r3, r2 8089992: 009b lsls r3, r3, #2 8089994: 4413 add r3, r2 8089996: 00db lsls r3, r3, #3 8089998: 440b add r3, r1 808999a: 461a mov r2, r3 808999c: 214a movs r1, #74 ; 0x4a 808999e: 200a movs r0, #10 80899a0: f7ca fcc8 bl 8054334 if(menupos == Diag3) 80899a4: 4b4a ldr r3, [pc, #296] ; (8089ad0 ) 80899a6: 781b ldrb r3, [r3, #0] 80899a8: b2db uxtb r3, r3 80899aa: 2b02 cmp r3, #2 80899ac: d105 bne.n 80899ba LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80899ae: 4949 ldr r1, [pc, #292] ; (8089ad4 ) 80899b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80899b4: f7c9 ff16 bl 80537e4 80899b8: e004 b.n 80899c4 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80899ba: 4946 ldr r1, [pc, #280] ; (8089ad4 ) 80899bc: f04f 30ff mov.w r0, #4294967295 80899c0: f7c9 ff10 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, &s[k++][0]); 80899c4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80899c8: 1c53 adds r3, r2, #1 80899ca: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80899ce: f107 0114 add.w r1, r7, #20 80899d2: 4613 mov r3, r2 80899d4: 009b lsls r3, r3, #2 80899d6: 4413 add r3, r2 80899d8: 00db lsls r3, r3, #3 80899da: 440b add r3, r1 80899dc: 461a mov r2, r3 80899de: 215a movs r1, #90 ; 0x5a 80899e0: 200a movs r0, #10 80899e2: f7ca fca7 bl 8054334 if(menupos == Diag4) 80899e6: 4b3a ldr r3, [pc, #232] ; (8089ad0 ) 80899e8: 781b ldrb r3, [r3, #0] 80899ea: b2db uxtb r3, r3 80899ec: 2b03 cmp r3, #3 80899ee: d105 bne.n 80899fc LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80899f0: 4938 ldr r1, [pc, #224] ; (8089ad4 ) 80899f2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80899f6: f7c9 fef5 bl 80537e4 80899fa: e004 b.n 8089a06 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80899fc: 4935 ldr r1, [pc, #212] ; (8089ad4 ) 80899fe: f04f 30ff mov.w r0, #4294967295 8089a02: f7c9 feef bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, &s[k++][0]); 8089a06: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089a0a: 1c53 adds r3, r2, #1 8089a0c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8089a10: f107 0114 add.w r1, r7, #20 8089a14: 4613 mov r3, r2 8089a16: 009b lsls r3, r3, #2 8089a18: 4413 add r3, r2 8089a1a: 00db lsls r3, r3, #3 8089a1c: 440b add r3, r1 8089a1e: 461a mov r2, r3 8089a20: 216a movs r1, #106 ; 0x6a 8089a22: 200a movs r0, #10 8089a24: f7ca fc86 bl 8054334 if(menupos == Diag5) 8089a28: 4b29 ldr r3, [pc, #164] ; (8089ad0 ) 8089a2a: 781b ldrb r3, [r3, #0] 8089a2c: b2db uxtb r3, r3 8089a2e: 2b04 cmp r3, #4 8089a30: d105 bne.n 8089a3e LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089a32: 4928 ldr r1, [pc, #160] ; (8089ad4 ) 8089a34: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089a38: f7c9 fed4 bl 80537e4 8089a3c: e004 b.n 8089a48 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089a3e: 4925 ldr r1, [pc, #148] ; (8089ad4 ) 8089a40: f04f 30ff mov.w r0, #4294967295 8089a44: f7c9 fece bl 80537e4 LCD_DisplayString(10, LCD_LINE_7, &s[k++][0]); 8089a48: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089a4c: 1c53 adds r3, r2, #1 8089a4e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8089a52: f107 0114 add.w r1, r7, #20 8089a56: 4613 mov r3, r2 8089a58: 009b lsls r3, r3, #2 8089a5a: 4413 add r3, r2 8089a5c: 00db lsls r3, r3, #3 8089a5e: 440b add r3, r1 8089a60: 461a mov r2, r3 8089a62: 217a movs r1, #122 ; 0x7a 8089a64: 200a movs r0, #10 8089a66: f7ca fc65 bl 8054334 if(menupos == Diag6) 8089a6a: 4b19 ldr r3, [pc, #100] ; (8089ad0 ) 8089a6c: 781b ldrb r3, [r3, #0] 8089a6e: b2db uxtb r3, r3 8089a70: 2b05 cmp r3, #5 8089a72: d105 bne.n 8089a80 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089a74: 4917 ldr r1, [pc, #92] ; (8089ad4 ) 8089a76: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089a7a: f7c9 feb3 bl 80537e4 8089a7e: e004 b.n 8089a8a else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089a80: 4914 ldr r1, [pc, #80] ; (8089ad4 ) 8089a82: f04f 30ff mov.w r0, #4294967295 8089a86: f7c9 fead bl 80537e4 LCD_DisplayString(10, LCD_LINE_8, &s[k++][0]); 8089a8a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089a8e: 1c53 adds r3, r2, #1 8089a90: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8089a94: f107 0114 add.w r1, r7, #20 8089a98: 4613 mov r3, r2 8089a9a: 009b lsls r3, r3, #2 8089a9c: 4413 add r3, r2 8089a9e: 00db lsls r3, r3, #3 8089aa0: 440b add r3, r1 8089aa2: 461a mov r2, r3 8089aa4: 218a movs r1, #138 ; 0x8a 8089aa6: 200a movs r0, #10 8089aa8: f7ca fc44 bl 8054334 if(menupos == Diag7) 8089aac: 4b08 ldr r3, [pc, #32] ; (8089ad0 ) 8089aae: 781b ldrb r3, [r3, #0] 8089ab0: b2db uxtb r3, r3 8089ab2: 2b06 cmp r3, #6 8089ab4: d110 bne.n 8089ad8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089ab6: 4907 ldr r1, [pc, #28] ; (8089ad4 ) 8089ab8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089abc: f7c9 fe92 bl 80537e4 8089ac0: e00f b.n 8089ae2 8089ac2: bf00 nop 8089ac4: 080d00cc .word 0x080d00cc 8089ac8: 20021668 .word 0x20021668 8089acc: 2002166c .word 0x2002166c 8089ad0: 20020070 .word 0x20020070 8089ad4: ff0a0f1f .word 0xff0a0f1f else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089ad8: 494d ldr r1, [pc, #308] ; (8089c10 ) 8089ada: f04f 30ff mov.w r0, #4294967295 8089ade: f7c9 fe81 bl 80537e4 LCD_DisplayString(10, LCD_LINE_9, &s[k++][0]); 8089ae2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089ae6: 1c53 adds r3, r2, #1 8089ae8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8089aec: f107 0114 add.w r1, r7, #20 8089af0: 4613 mov r3, r2 8089af2: 009b lsls r3, r3, #2 8089af4: 4413 add r3, r2 8089af6: 00db lsls r3, r3, #3 8089af8: 440b add r3, r1 8089afa: 461a mov r2, r3 8089afc: 219a movs r1, #154 ; 0x9a 8089afe: 200a movs r0, #10 8089b00: f7ca fc18 bl 8054334 if(menupos == Diag8) 8089b04: 4b43 ldr r3, [pc, #268] ; (8089c14 ) 8089b06: 781b ldrb r3, [r3, #0] 8089b08: b2db uxtb r3, r3 8089b0a: 2b07 cmp r3, #7 8089b0c: d105 bne.n 8089b1a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8089b0e: 4940 ldr r1, [pc, #256] ; (8089c10 ) 8089b10: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8089b14: f7c9 fe66 bl 80537e4 8089b18: e004 b.n 8089b24 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089b1a: 493d ldr r1, [pc, #244] ; (8089c10 ) 8089b1c: f04f 30ff mov.w r0, #4294967295 8089b20: f7c9 fe60 bl 80537e4 LCD_DisplayString(10, LCD_LINE_10, &s[k++][0]); 8089b24: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089b28: 1c53 adds r3, r2, #1 8089b2a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8089b2e: f107 0114 add.w r1, r7, #20 8089b32: 4613 mov r3, r2 8089b34: 009b lsls r3, r3, #2 8089b36: 4413 add r3, r2 8089b38: 00db lsls r3, r3, #3 8089b3a: 440b add r3, r1 8089b3c: 461a mov r2, r3 8089b3e: 21aa movs r1, #170 ; 0xaa 8089b40: 200a movs r0, #10 8089b42: f7ca fbf7 bl 8054334 break; 8089b46: f00d bd71 b.w 809762c case PARAM_DIAGN_2: //todo LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8089b4a: 4931 ldr r1, [pc, #196] ; (8089c10 ) 8089b4c: 4832 ldr r0, [pc, #200] ; (8089c18 ) 8089b4e: f7c9 fe49 bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 8089b52: 23c9 movs r3, #201 ; 0xc9 8089b54: f44f 729d mov.w r2, #314 ; 0x13a 8089b58: 2123 movs r1, #35 ; 0x23 8089b5a: 2002 movs r0, #2 8089b5c: f7ca f948 bl 8053df0 //**************************************************************** memcpy(str, (void *) &pardata.DIAGN_NAME[CURR_POINT][0], 40u); 8089b60: 4b2e ldr r3, [pc, #184] ; (8089c1c ) 8089b62: 781b ldrb r3, [r3, #0] 8089b64: b2db uxtb r3, r3 8089b66: 461a mov r2, r3 8089b68: 4613 mov r3, r2 8089b6a: 009b lsls r3, r3, #2 8089b6c: 4413 add r3, r2 8089b6e: 00db lsls r3, r3, #3 8089b70: 33d8 adds r3, #216 ; 0xd8 8089b72: 4a2b ldr r2, [pc, #172] ; (8089c20 ) 8089b74: 4413 add r3, r2 8089b76: 1d19 adds r1, r3, #4 8089b78: f507 733b add.w r3, r7, #748 ; 0x2ec 8089b7c: 2228 movs r2, #40 ; 0x28 8089b7e: 4618 mov r0, r3 8089b80: f043 fa73 bl 80cd06a l = strlen(str); 8089b84: f507 733b add.w r3, r7, #748 ; 0x2ec 8089b88: 4618 mov r0, r3 8089b8a: f796 fbc3 bl 8020314 8089b8e: 4603 mov r3, r0 8089b90: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 8089b94: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089b98: 2b09 cmp r3, #9 8089b9a: d808 bhi.n 8089bae { strcpy(str1, str); 8089b9c: f507 723b add.w r2, r7, #748 ; 0x2ec 8089ba0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089ba4: 4611 mov r1, r2 8089ba6: 4618 mov r0, r3 8089ba8: f043 fb87 bl 80cd2ba 8089bac: e070 b.n 8089c90 } else { memset(str1, 0x20, sizeof(str1)); 8089bae: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089bb2: f44f 7280 mov.w r2, #256 ; 0x100 8089bb6: 2120 movs r1, #32 8089bb8: 4618 mov r0, r3 8089bba: f043 fa61 bl 80cd080 if(tme <= l) 8089bbe: 4b19 ldr r3, [pc, #100] ; (8089c24 ) 8089bc0: 681a ldr r2, [r3, #0] 8089bc2: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089bc6: 429a cmp r2, r3 8089bc8: d82e bhi.n 8089c28 { if(l - tme >= 9) 8089bca: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089bce: 4b15 ldr r3, [pc, #84] ; (8089c24 ) 8089bd0: 681b ldr r3, [r3, #0] 8089bd2: 1ad3 subs r3, r2, r3 8089bd4: 2b08 cmp r3, #8 8089bd6: d90b bls.n 8089bf0 memcpy(str1, &str[tme], 9); 8089bd8: 4b12 ldr r3, [pc, #72] ; (8089c24 ) 8089bda: 681b ldr r3, [r3, #0] 8089bdc: f507 723b add.w r2, r7, #748 ; 0x2ec 8089be0: 18d1 adds r1, r2, r3 8089be2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089be6: 2209 movs r2, #9 8089be8: 4618 mov r0, r3 8089bea: f043 fa3e bl 80cd06a 8089bee: e02e b.n 8089c4e else memcpy(str1, &str[tme], l - tme); 8089bf0: 4b0c ldr r3, [pc, #48] ; (8089c24 ) 8089bf2: 681b ldr r3, [r3, #0] 8089bf4: f507 723b add.w r2, r7, #748 ; 0x2ec 8089bf8: 18d1 adds r1, r2, r3 8089bfa: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089bfe: 4b09 ldr r3, [pc, #36] ; (8089c24 ) 8089c00: 681b ldr r3, [r3, #0] 8089c02: 1ad2 subs r2, r2, r3 8089c04: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089c08: 4618 mov r0, r3 8089c0a: f043 fa2e bl 80cd06a 8089c0e: e01e b.n 8089c4e 8089c10: ff0a0f1f .word 0xff0a0f1f 8089c14: 20020070 .word 0x20020070 8089c18: ffd3d3d3 .word 0xffd3d3d3 8089c1c: 20021011 .word 0x20021011 8089c20: 20023e60 .word 0x20023e60 8089c24: 20021668 .word 0x20021668 } else { memcpy(&str1[9 - (tme - l)], str, tme - l); 8089c28: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089c2c: 4bb9 ldr r3, [pc, #740] ; (8089f14 ) 8089c2e: 681b ldr r3, [r3, #0] 8089c30: 1ad3 subs r3, r2, r3 8089c32: 3309 adds r3, #9 8089c34: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8089c38: 18d0 adds r0, r2, r3 8089c3a: 4bb6 ldr r3, [pc, #728] ; (8089f14 ) 8089c3c: 681a ldr r2, [r3, #0] 8089c3e: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8089c42: 1ad2 subs r2, r2, r3 8089c44: f507 733b add.w r3, r7, #748 ; 0x2ec 8089c48: 4619 mov r1, r3 8089c4a: f043 fa0e bl 80cd06a } str1[10] = '\0'; 8089c4e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8089c52: 2200 movs r2, #0 8089c54: 729a strb r2, [r3, #10] tt++; 8089c56: 4bb0 ldr r3, [pc, #704] ; (8089f18 ) 8089c58: 781b ldrb r3, [r3, #0] 8089c5a: 3301 adds r3, #1 8089c5c: b2da uxtb r2, r3 8089c5e: 4bae ldr r3, [pc, #696] ; (8089f18 ) 8089c60: 701a strb r2, [r3, #0] if(tt >= 4) 8089c62: 4bad ldr r3, [pc, #692] ; (8089f18 ) 8089c64: 781b ldrb r3, [r3, #0] 8089c66: 2b03 cmp r3, #3 8089c68: d912 bls.n 8089c90 { tt = 0; 8089c6a: 4bab ldr r3, [pc, #684] ; (8089f18 ) 8089c6c: 2200 movs r2, #0 8089c6e: 701a strb r2, [r3, #0] tme++; 8089c70: 4ba8 ldr r3, [pc, #672] ; (8089f14 ) 8089c72: 681b ldr r3, [r3, #0] 8089c74: 3301 adds r3, #1 8089c76: 4aa7 ldr r2, [pc, #668] ; (8089f14 ) 8089c78: 6013 str r3, [r2, #0] if(9 - (tme - l) == 0) 8089c7a: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8089c7e: 4ba5 ldr r3, [pc, #660] ; (8089f14 ) 8089c80: 681b ldr r3, [r3, #0] 8089c82: 1ad3 subs r3, r2, r3 8089c84: f113 0f09 cmn.w r3, #9 8089c88: d102 bne.n 8089c90 { tme = 0; 8089c8a: 4ba2 ldr r3, [pc, #648] ; (8089f14 ) 8089c8c: 2200 movs r2, #0 8089c8e: 601a str r2, [r3, #0] } } } //**************************************************************** LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8089c90: 49a2 ldr r1, [pc, #648] ; (8089f1c ) 8089c92: f04f 30ff mov.w r0, #4294967295 8089c96: f7c9 fda5 bl 80537e4 LCD_DisplayString(12, LCD_LINE_2, "( )"); 8089c9a: 4aa1 ldr r2, [pc, #644] ; (8089f20 ) 8089c9c: 2127 movs r1, #39 ; 0x27 8089c9e: 200c movs r0, #12 8089ca0: f7ca fb48 bl 8054334 // OP1[12 + 11*4] // OP2[12 + 11*12] // OP3[12 + 11*20] k = (uint32_t) (pardata.DIAGN_HP[CURR_POINT][CURR_USL] * 10.0f); 8089ca4: 4b9f ldr r3, [pc, #636] ; (8089f24 ) 8089ca6: 781b ldrb r3, [r3, #0] 8089ca8: b2db uxtb r3, r3 8089caa: 4618 mov r0, r3 8089cac: 4b9e ldr r3, [pc, #632] ; (8089f28 ) 8089cae: 781b ldrb r3, [r3, #0] 8089cb0: b2db uxtb r3, r3 8089cb2: 4619 mov r1, r3 8089cb4: 4a9d ldr r2, [pc, #628] ; (8089f2c ) 8089cb6: 0083 lsls r3, r0, #2 8089cb8: 440b add r3, r1 8089cba: 3396 adds r3, #150 ; 0x96 8089cbc: 009b lsls r3, r3, #2 8089cbe: 4413 add r3, r2 8089cc0: 3304 adds r3, #4 8089cc2: edd3 7a00 vldr s15, [r3] 8089cc6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8089cca: ee67 7a87 vmul.f32 s15, s15, s14 8089cce: eefc 7ae7 vcvt.u32.f32 s15, s15 8089cd2: ee17 3a90 vmov r3, s15 8089cd6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 8089cda: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8089cde: 095b lsrs r3, r3, #5 8089ce0: 4a93 ldr r2, [pc, #588] ; (8089f30 ) 8089ce2: fba2 2303 umull r2, r3, r2, r3 8089ce6: 09db lsrs r3, r3, #7 8089ce8: b2db uxtb r3, r3 8089cea: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 8089cee: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089cf2: 0953 lsrs r3, r2, #5 8089cf4: 498e ldr r1, [pc, #568] ; (8089f30 ) 8089cf6: fba1 1303 umull r1, r3, r1, r3 8089cfa: 09db lsrs r3, r3, #7 8089cfc: 498d ldr r1, [pc, #564] ; (8089f34 ) 8089cfe: fb01 f303 mul.w r3, r1, r3 8089d02: 1ad3 subs r3, r2, r3 8089d04: 4a8c ldr r2, [pc, #560] ; (8089f38 ) 8089d06: fba2 2303 umull r2, r3, r2, r3 8089d0a: 0b5b lsrs r3, r3, #13 8089d0c: b2db uxtb r3, r3 8089d0e: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 8089d12: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089d16: 0953 lsrs r3, r2, #5 8089d18: 4985 ldr r1, [pc, #532] ; (8089f30 ) 8089d1a: fba1 1303 umull r1, r3, r1, r3 8089d1e: 09db lsrs r3, r3, #7 8089d20: 4984 ldr r1, [pc, #528] ; (8089f34 ) 8089d22: fb01 f303 mul.w r3, r1, r3 8089d26: 1ad3 subs r3, r2, r3 8089d28: 4a83 ldr r2, [pc, #524] ; (8089f38 ) 8089d2a: fba2 1203 umull r1, r2, r2, r3 8089d2e: 0b52 lsrs r2, r2, #13 8089d30: f242 7110 movw r1, #10000 ; 0x2710 8089d34: fb01 f202 mul.w r2, r1, r2 8089d38: 1a9a subs r2, r3, r2 8089d3a: 4b80 ldr r3, [pc, #512] ; (8089f3c ) 8089d3c: fba3 2302 umull r2, r3, r3, r2 8089d40: 099b lsrs r3, r3, #6 8089d42: b2db uxtb r3, r3 8089d44: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 8089d48: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8089d4c: 095a lsrs r2, r3, #5 8089d4e: 4978 ldr r1, [pc, #480] ; (8089f30 ) 8089d50: fba1 1202 umull r1, r2, r1, r2 8089d54: 09d2 lsrs r2, r2, #7 8089d56: 4977 ldr r1, [pc, #476] ; (8089f34 ) 8089d58: fb01 f202 mul.w r2, r1, r2 8089d5c: 1a9a subs r2, r3, r2 8089d5e: 4b76 ldr r3, [pc, #472] ; (8089f38 ) 8089d60: fba3 1302 umull r1, r3, r3, r2 8089d64: 0b5b lsrs r3, r3, #13 8089d66: f242 7110 movw r1, #10000 ; 0x2710 8089d6a: fb01 f303 mul.w r3, r1, r3 8089d6e: 1ad3 subs r3, r2, r3 8089d70: 4a72 ldr r2, [pc, #456] ; (8089f3c ) 8089d72: fba2 1203 umull r1, r2, r2, r3 8089d76: 0992 lsrs r2, r2, #6 8089d78: f44f 717a mov.w r1, #1000 ; 0x3e8 8089d7c: fb01 f202 mul.w r2, r1, r2 8089d80: 1a9a subs r2, r3, r2 8089d82: 4b6f ldr r3, [pc, #444] ; (8089f40 ) 8089d84: fba3 2302 umull r2, r3, r3, r2 8089d88: 095b lsrs r3, r3, #5 8089d8a: b2db uxtb r3, r3 8089d8c: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 8089d90: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089d94: 0953 lsrs r3, r2, #5 8089d96: 4966 ldr r1, [pc, #408] ; (8089f30 ) 8089d98: fba1 1303 umull r1, r3, r1, r3 8089d9c: 09db lsrs r3, r3, #7 8089d9e: 4965 ldr r1, [pc, #404] ; (8089f34 ) 8089da0: fb01 f303 mul.w r3, r1, r3 8089da4: 1ad3 subs r3, r2, r3 8089da6: 4a64 ldr r2, [pc, #400] ; (8089f38 ) 8089da8: fba2 1203 umull r1, r2, r2, r3 8089dac: 0b52 lsrs r2, r2, #13 8089dae: f242 7110 movw r1, #10000 ; 0x2710 8089db2: fb01 f202 mul.w r2, r1, r2 8089db6: 1a9a subs r2, r3, r2 8089db8: 4b60 ldr r3, [pc, #384] ; (8089f3c ) 8089dba: fba3 1302 umull r1, r3, r3, r2 8089dbe: 099b lsrs r3, r3, #6 8089dc0: f44f 717a mov.w r1, #1000 ; 0x3e8 8089dc4: fb01 f303 mul.w r3, r1, r3 8089dc8: 1ad3 subs r3, r2, r3 8089dca: 4a5d ldr r2, [pc, #372] ; (8089f40 ) 8089dcc: fba2 1203 umull r1, r2, r2, r3 8089dd0: 0952 lsrs r2, r2, #5 8089dd2: 2164 movs r1, #100 ; 0x64 8089dd4: fb01 f202 mul.w r2, r1, r2 8089dd8: 1a9a subs r2, r3, r2 8089dda: 4b5a ldr r3, [pc, #360] ; (8089f44 ) 8089ddc: fba3 2302 umull r2, r3, r3, r2 8089de0: 08db lsrs r3, r3, #3 8089de2: b2db uxtb r3, r3 8089de4: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 8089de8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089dec: 0953 lsrs r3, r2, #5 8089dee: 4950 ldr r1, [pc, #320] ; (8089f30 ) 8089df0: fba1 1303 umull r1, r3, r1, r3 8089df4: 09db lsrs r3, r3, #7 8089df6: 494f ldr r1, [pc, #316] ; (8089f34 ) 8089df8: fb01 f303 mul.w r3, r1, r3 8089dfc: 1ad3 subs r3, r2, r3 8089dfe: 4a4e ldr r2, [pc, #312] ; (8089f38 ) 8089e00: fba2 1203 umull r1, r2, r2, r3 8089e04: 0b52 lsrs r2, r2, #13 8089e06: f242 7110 movw r1, #10000 ; 0x2710 8089e0a: fb01 f202 mul.w r2, r1, r2 8089e0e: 1a9a subs r2, r3, r2 8089e10: 4b4a ldr r3, [pc, #296] ; (8089f3c ) 8089e12: fba3 1302 umull r1, r3, r3, r2 8089e16: 099b lsrs r3, r3, #6 8089e18: f44f 717a mov.w r1, #1000 ; 0x3e8 8089e1c: fb01 f303 mul.w r3, r1, r3 8089e20: 1ad3 subs r3, r2, r3 8089e22: 4a47 ldr r2, [pc, #284] ; (8089f40 ) 8089e24: fba2 1203 umull r1, r2, r2, r3 8089e28: 0952 lsrs r2, r2, #5 8089e2a: 2164 movs r1, #100 ; 0x64 8089e2c: fb01 f202 mul.w r2, r1, r2 8089e30: 1a9a subs r2, r3, r2 8089e32: 4b44 ldr r3, [pc, #272] ; (8089f44 ) 8089e34: fba3 1302 umull r1, r3, r3, r2 8089e38: 08d9 lsrs r1, r3, #3 8089e3a: 460b mov r3, r1 8089e3c: 009b lsls r3, r3, #2 8089e3e: 440b add r3, r1 8089e40: 005b lsls r3, r3, #1 8089e42: 1ad1 subs r1, r2, r3 8089e44: b2cb uxtb r3, r1 8089e46: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 8089e4a: 2300 movs r3, #0 8089e4c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 8089e50: f507 73d2 add.w r3, r7, #420 ; 0x1a4 8089e54: 220c movs r2, #12 8089e56: 2100 movs r1, #0 8089e58: 4618 mov r0, r3 8089e5a: f043 f911 bl 80cd080 if(idtHP != 0) 8089e5e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8089e62: b2db uxtb r3, r3 8089e64: 2b00 cmp r3, #0 8089e66: d00c beq.n 8089e82 strHP[i++] = idtHP + 48; 8089e68: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089e6c: 1c5a adds r2, r3, #1 8089e6e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089e72: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 8089e76: b2d2 uxtb r2, r2 8089e78: 3230 adds r2, #48 ; 0x30 8089e7a: b2d1 uxtb r1, r2 8089e7c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089e80: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 8089e82: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8089e86: b2db uxtb r3, r3 8089e88: 2b00 cmp r3, #0 8089e8a: d104 bne.n 8089e96 8089e8c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8089e90: b2db uxtb r3, r3 8089e92: 2b00 cmp r3, #0 8089e94: d00c beq.n 8089eb0 strHP[i++] = ietHP + 48; 8089e96: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089e9a: 1c5a adds r2, r3, #1 8089e9c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089ea0: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 8089ea4: b2d2 uxtb r2, r2 8089ea6: 3230 adds r2, #48 ; 0x30 8089ea8: b2d1 uxtb r1, r2 8089eaa: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089eae: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8089eb0: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8089eb4: b2db uxtb r3, r3 8089eb6: 2b00 cmp r3, #0 8089eb8: d109 bne.n 8089ece 8089eba: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8089ebe: b2db uxtb r3, r3 8089ec0: 2b00 cmp r3, #0 8089ec2: d104 bne.n 8089ece 8089ec4: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8089ec8: b2db uxtb r3, r3 8089eca: 2b00 cmp r3, #0 8089ecc: d00c beq.n 8089ee8 strHP[i++] = iesHP + 48; 8089ece: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089ed2: 1c5a adds r2, r3, #1 8089ed4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089ed8: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 8089edc: b2d2 uxtb r2, r2 8089ede: 3230 adds r2, #48 ; 0x30 8089ee0: b2d1 uxtb r1, r2 8089ee2: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089ee6: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 8089ee8: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 8089eec: b2db uxtb r3, r3 8089eee: 2b00 cmp r3, #0 8089ef0: d12a bne.n 8089f48 8089ef2: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 8089ef6: b2db uxtb r3, r3 8089ef8: 2b00 cmp r3, #0 8089efa: d125 bne.n 8089f48 8089efc: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 8089f00: b2db uxtb r3, r3 8089f02: 2b00 cmp r3, #0 8089f04: d120 bne.n 8089f48 8089f06: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 8089f0a: b2db uxtb r3, r3 8089f0c: 2b00 cmp r3, #0 8089f0e: d028 beq.n 8089f62 8089f10: e01a b.n 8089f48 8089f12: bf00 nop 8089f14: 20021668 .word 0x20021668 8089f18: 2002166c .word 0x2002166c 8089f1c: ff0a0f1f .word 0xff0a0f1f 8089f20: 080d00d4 .word 0x080d00d4 8089f24: 20021011 .word 0x20021011 8089f28: 20021013 .word 0x20021013 8089f2c: 20023e60 .word 0x20023e60 8089f30: 0a7c5ac5 .word 0x0a7c5ac5 8089f34: 000186a0 .word 0x000186a0 8089f38: d1b71759 .word 0xd1b71759 8089f3c: 10624dd3 .word 0x10624dd3 8089f40: 51eb851f .word 0x51eb851f 8089f44: cccccccd .word 0xcccccccd strHP[i++] = iedHP + 48; 8089f48: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089f4c: 1c5a adds r2, r3, #1 8089f4e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089f52: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 8089f56: b2d2 uxtb r2, r2 8089f58: 3230 adds r2, #48 ; 0x30 8089f5a: b2d1 uxtb r1, r2 8089f5c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089f60: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 8089f62: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089f66: 1c5a adds r2, r3, #1 8089f68: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089f6c: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 8089f70: b2d2 uxtb r2, r2 8089f72: 3230 adds r2, #48 ; 0x30 8089f74: b2d1 uxtb r1, r2 8089f76: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089f7a: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 8089f7c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089f80: 1c5a adds r2, r3, #1 8089f82: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089f86: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089f8a: 212e movs r1, #46 ; 0x2e 8089f8c: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 8089f8e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8089f92: 1c5a adds r2, r3, #1 8089f94: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 8089f98: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 8089f9c: b2d2 uxtb r2, r2 8089f9e: 3230 adds r2, #48 ; 0x30 8089fa0: b2d1 uxtb r1, r2 8089fa2: f507 72d2 add.w r2, r7, #420 ; 0x1a4 8089fa6: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.DIAGN_LP[CURR_POINT][CURR_USL] * 10.0f); 8089fa8: 4bd4 ldr r3, [pc, #848] ; (808a2fc ) 8089faa: 781b ldrb r3, [r3, #0] 8089fac: b2db uxtb r3, r3 8089fae: 4618 mov r0, r3 8089fb0: 4bd3 ldr r3, [pc, #844] ; (808a300 ) 8089fb2: 781b ldrb r3, [r3, #0] 8089fb4: b2db uxtb r3, r3 8089fb6: 4619 mov r1, r3 8089fb8: 4ad2 ldr r2, [pc, #840] ; (808a304 ) 8089fba: 0083 lsls r3, r0, #2 8089fbc: 440b add r3, r1 8089fbe: 33b6 adds r3, #182 ; 0xb6 8089fc0: 009b lsls r3, r3, #2 8089fc2: 4413 add r3, r2 8089fc4: 3304 adds r3, #4 8089fc6: edd3 7a00 vldr s15, [r3] 8089fca: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8089fce: ee67 7a87 vmul.f32 s15, s15, s14 8089fd2: eefc 7ae7 vcvt.u32.f32 s15, s15 8089fd6: ee17 3a90 vmov r3, s15 8089fda: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 8089fde: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8089fe2: 095b lsrs r3, r3, #5 8089fe4: 4ac8 ldr r2, [pc, #800] ; (808a308 ) 8089fe6: fba2 2303 umull r2, r3, r2, r3 8089fea: 09db lsrs r3, r3, #7 8089fec: b2db uxtb r3, r3 8089fee: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 8089ff2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8089ff6: 0953 lsrs r3, r2, #5 8089ff8: 49c3 ldr r1, [pc, #780] ; (808a308 ) 8089ffa: fba1 1303 umull r1, r3, r1, r3 8089ffe: 09db lsrs r3, r3, #7 808a000: 49c2 ldr r1, [pc, #776] ; (808a30c ) 808a002: fb01 f303 mul.w r3, r1, r3 808a006: 1ad3 subs r3, r2, r3 808a008: 4ac1 ldr r2, [pc, #772] ; (808a310 ) 808a00a: fba2 2303 umull r2, r3, r2, r3 808a00e: 0b5b lsrs r3, r3, #13 808a010: b2db uxtb r3, r3 808a012: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 808a016: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a01a: 0953 lsrs r3, r2, #5 808a01c: 49ba ldr r1, [pc, #744] ; (808a308 ) 808a01e: fba1 1303 umull r1, r3, r1, r3 808a022: 09db lsrs r3, r3, #7 808a024: 49b9 ldr r1, [pc, #740] ; (808a30c ) 808a026: fb01 f303 mul.w r3, r1, r3 808a02a: 1ad3 subs r3, r2, r3 808a02c: 4ab8 ldr r2, [pc, #736] ; (808a310 ) 808a02e: fba2 1203 umull r1, r2, r2, r3 808a032: 0b52 lsrs r2, r2, #13 808a034: f242 7110 movw r1, #10000 ; 0x2710 808a038: fb01 f202 mul.w r2, r1, r2 808a03c: 1a9a subs r2, r3, r2 808a03e: 4bb5 ldr r3, [pc, #724] ; (808a314 ) 808a040: fba3 2302 umull r2, r3, r3, r2 808a044: 099b lsrs r3, r3, #6 808a046: b2db uxtb r3, r3 808a048: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808a04c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808a050: 095a lsrs r2, r3, #5 808a052: 49ad ldr r1, [pc, #692] ; (808a308 ) 808a054: fba1 1202 umull r1, r2, r1, r2 808a058: 09d2 lsrs r2, r2, #7 808a05a: 49ac ldr r1, [pc, #688] ; (808a30c ) 808a05c: fb01 f202 mul.w r2, r1, r2 808a060: 1a9a subs r2, r3, r2 808a062: 4bab ldr r3, [pc, #684] ; (808a310 ) 808a064: fba3 1302 umull r1, r3, r3, r2 808a068: 0b5b lsrs r3, r3, #13 808a06a: f242 7110 movw r1, #10000 ; 0x2710 808a06e: fb01 f303 mul.w r3, r1, r3 808a072: 1ad3 subs r3, r2, r3 808a074: 4aa7 ldr r2, [pc, #668] ; (808a314 ) 808a076: fba2 1203 umull r1, r2, r2, r3 808a07a: 0992 lsrs r2, r2, #6 808a07c: f44f 717a mov.w r1, #1000 ; 0x3e8 808a080: fb01 f202 mul.w r2, r1, r2 808a084: 1a9a subs r2, r3, r2 808a086: 4ba4 ldr r3, [pc, #656] ; (808a318 ) 808a088: fba3 2302 umull r2, r3, r3, r2 808a08c: 095b lsrs r3, r3, #5 808a08e: b2db uxtb r3, r3 808a090: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808a094: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a098: 0953 lsrs r3, r2, #5 808a09a: 499b ldr r1, [pc, #620] ; (808a308 ) 808a09c: fba1 1303 umull r1, r3, r1, r3 808a0a0: 09db lsrs r3, r3, #7 808a0a2: 499a ldr r1, [pc, #616] ; (808a30c ) 808a0a4: fb01 f303 mul.w r3, r1, r3 808a0a8: 1ad3 subs r3, r2, r3 808a0aa: 4a99 ldr r2, [pc, #612] ; (808a310 ) 808a0ac: fba2 1203 umull r1, r2, r2, r3 808a0b0: 0b52 lsrs r2, r2, #13 808a0b2: f242 7110 movw r1, #10000 ; 0x2710 808a0b6: fb01 f202 mul.w r2, r1, r2 808a0ba: 1a9a subs r2, r3, r2 808a0bc: 4b95 ldr r3, [pc, #596] ; (808a314 ) 808a0be: fba3 1302 umull r1, r3, r3, r2 808a0c2: 099b lsrs r3, r3, #6 808a0c4: f44f 717a mov.w r1, #1000 ; 0x3e8 808a0c8: fb01 f303 mul.w r3, r1, r3 808a0cc: 1ad3 subs r3, r2, r3 808a0ce: 4a92 ldr r2, [pc, #584] ; (808a318 ) 808a0d0: fba2 1203 umull r1, r2, r2, r3 808a0d4: 0952 lsrs r2, r2, #5 808a0d6: 2164 movs r1, #100 ; 0x64 808a0d8: fb01 f202 mul.w r2, r1, r2 808a0dc: 1a9a subs r2, r3, r2 808a0de: 4b8f ldr r3, [pc, #572] ; (808a31c ) 808a0e0: fba3 2302 umull r2, r3, r3, r2 808a0e4: 08db lsrs r3, r3, #3 808a0e6: b2db uxtb r3, r3 808a0e8: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808a0ec: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a0f0: 0953 lsrs r3, r2, #5 808a0f2: 4985 ldr r1, [pc, #532] ; (808a308 ) 808a0f4: fba1 1303 umull r1, r3, r1, r3 808a0f8: 09db lsrs r3, r3, #7 808a0fa: 4984 ldr r1, [pc, #528] ; (808a30c ) 808a0fc: fb01 f303 mul.w r3, r1, r3 808a100: 1ad3 subs r3, r2, r3 808a102: 4a83 ldr r2, [pc, #524] ; (808a310 ) 808a104: fba2 1203 umull r1, r2, r2, r3 808a108: 0b52 lsrs r2, r2, #13 808a10a: f242 7110 movw r1, #10000 ; 0x2710 808a10e: fb01 f202 mul.w r2, r1, r2 808a112: 1a9a subs r2, r3, r2 808a114: 4b7f ldr r3, [pc, #508] ; (808a314 ) 808a116: fba3 1302 umull r1, r3, r3, r2 808a11a: 099b lsrs r3, r3, #6 808a11c: f44f 717a mov.w r1, #1000 ; 0x3e8 808a120: fb01 f303 mul.w r3, r1, r3 808a124: 1ad3 subs r3, r2, r3 808a126: 4a7c ldr r2, [pc, #496] ; (808a318 ) 808a128: fba2 1203 umull r1, r2, r2, r3 808a12c: 0952 lsrs r2, r2, #5 808a12e: 2164 movs r1, #100 ; 0x64 808a130: fb01 f202 mul.w r2, r1, r2 808a134: 1a9a subs r2, r3, r2 808a136: 4b79 ldr r3, [pc, #484] ; (808a31c ) 808a138: fba3 1302 umull r1, r3, r3, r2 808a13c: 08d9 lsrs r1, r3, #3 808a13e: 460b mov r3, r1 808a140: 009b lsls r3, r3, #2 808a142: 440b add r3, r1 808a144: 005b lsls r3, r3, #1 808a146: 1ad1 subs r1, r2, r3 808a148: b2cb uxtb r3, r1 808a14a: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 808a14e: 2300 movs r3, #0 808a150: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 808a154: f507 73cc add.w r3, r7, #408 ; 0x198 808a158: 220c movs r2, #12 808a15a: 2100 movs r1, #0 808a15c: 4618 mov r0, r3 808a15e: f042 ff8f bl 80cd080 if(idtLP != 0) 808a162: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808a166: b2db uxtb r3, r3 808a168: 2b00 cmp r3, #0 808a16a: d00c beq.n 808a186 strLP[i++] = idtLP + 48; 808a16c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a170: 1c5a adds r2, r3, #1 808a172: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a176: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808a17a: b2d2 uxtb r2, r2 808a17c: 3230 adds r2, #48 ; 0x30 808a17e: b2d1 uxtb r1, r2 808a180: f507 72cc add.w r2, r7, #408 ; 0x198 808a184: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808a186: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808a18a: b2db uxtb r3, r3 808a18c: 2b00 cmp r3, #0 808a18e: d104 bne.n 808a19a 808a190: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808a194: b2db uxtb r3, r3 808a196: 2b00 cmp r3, #0 808a198: d00c beq.n 808a1b4 strLP[i++] = ietLP + 48; 808a19a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a19e: 1c5a adds r2, r3, #1 808a1a0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a1a4: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808a1a8: b2d2 uxtb r2, r2 808a1aa: 3230 adds r2, #48 ; 0x30 808a1ac: b2d1 uxtb r1, r2 808a1ae: f507 72cc add.w r2, r7, #408 ; 0x198 808a1b2: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808a1b4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808a1b8: b2db uxtb r3, r3 808a1ba: 2b00 cmp r3, #0 808a1bc: d109 bne.n 808a1d2 808a1be: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808a1c2: b2db uxtb r3, r3 808a1c4: 2b00 cmp r3, #0 808a1c6: d104 bne.n 808a1d2 808a1c8: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808a1cc: b2db uxtb r3, r3 808a1ce: 2b00 cmp r3, #0 808a1d0: d00c beq.n 808a1ec strLP[i++] = iesLP + 48; 808a1d2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a1d6: 1c5a adds r2, r3, #1 808a1d8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a1dc: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808a1e0: b2d2 uxtb r2, r2 808a1e2: 3230 adds r2, #48 ; 0x30 808a1e4: b2d1 uxtb r1, r2 808a1e6: f507 72cc add.w r2, r7, #408 ; 0x198 808a1ea: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808a1ec: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808a1f0: b2db uxtb r3, r3 808a1f2: 2b00 cmp r3, #0 808a1f4: d10e bne.n 808a214 808a1f6: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808a1fa: b2db uxtb r3, r3 808a1fc: 2b00 cmp r3, #0 808a1fe: d109 bne.n 808a214 808a200: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808a204: b2db uxtb r3, r3 808a206: 2b00 cmp r3, #0 808a208: d104 bne.n 808a214 808a20a: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808a20e: b2db uxtb r3, r3 808a210: 2b00 cmp r3, #0 808a212: d00c beq.n 808a22e strLP[i++] = iedLP + 48; 808a214: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a218: 1c5a adds r2, r3, #1 808a21a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a21e: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808a222: b2d2 uxtb r2, r2 808a224: 3230 adds r2, #48 ; 0x30 808a226: b2d1 uxtb r1, r2 808a228: f507 72cc add.w r2, r7, #408 ; 0x198 808a22c: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 808a22e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a232: 1c5a adds r2, r3, #1 808a234: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a238: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808a23c: b2d2 uxtb r2, r2 808a23e: 3230 adds r2, #48 ; 0x30 808a240: b2d1 uxtb r1, r2 808a242: f507 72cc add.w r2, r7, #408 ; 0x198 808a246: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 808a248: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a24c: 1c5a adds r2, r3, #1 808a24e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a252: f507 72cc add.w r2, r7, #408 ; 0x198 808a256: 212e movs r1, #46 ; 0x2e 808a258: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 808a25a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a25e: 1c5a adds r2, r3, #1 808a260: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a264: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808a268: b2d2 uxtb r2, r2 808a26a: 3230 adds r2, #48 ; 0x30 808a26c: b2d1 uxtb r1, r2 808a26e: f507 72cc add.w r2, r7, #408 ; 0x198 808a272: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.DIAGN_W[CURR_POINT][CURR_USL] * 10.0f); 808a274: 4b21 ldr r3, [pc, #132] ; (808a2fc ) 808a276: 781b ldrb r3, [r3, #0] 808a278: b2db uxtb r3, r3 808a27a: 4618 mov r0, r3 808a27c: 4b20 ldr r3, [pc, #128] ; (808a300 ) 808a27e: 781b ldrb r3, [r3, #0] 808a280: b2db uxtb r3, r3 808a282: 4619 mov r1, r3 808a284: 4a1f ldr r2, [pc, #124] ; (808a304 ) 808a286: 0083 lsls r3, r0, #2 808a288: 440b add r3, r1 808a28a: 33d6 adds r3, #214 ; 0xd6 808a28c: 009b lsls r3, r3, #2 808a28e: 4413 add r3, r2 808a290: 3304 adds r3, #4 808a292: edd3 7a00 vldr s15, [r3] 808a296: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808a29a: ee67 7a87 vmul.f32 s15, s15, s14 808a29e: eefc 7ae7 vcvt.u32.f32 s15, s15 808a2a2: ee17 3a90 vmov r3, s15 808a2a6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt_W = (uint8_t) (k / 100000); 808a2aa: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808a2ae: 095b lsrs r3, r3, #5 808a2b0: 4a15 ldr r2, [pc, #84] ; (808a308 ) 808a2b2: fba2 2303 umull r2, r3, r2, r3 808a2b6: 09db lsrs r3, r3, #7 808a2b8: b2db uxtb r3, r3 808a2ba: f887 33c3 strb.w r3, [r7, #963] ; 0x3c3 iet_W = (uint8_t) (k % 100000 / 10000); 808a2be: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a2c2: 0953 lsrs r3, r2, #5 808a2c4: 4910 ldr r1, [pc, #64] ; (808a308 ) 808a2c6: fba1 1303 umull r1, r3, r1, r3 808a2ca: 09db lsrs r3, r3, #7 808a2cc: 490f ldr r1, [pc, #60] ; (808a30c ) 808a2ce: fb01 f303 mul.w r3, r1, r3 808a2d2: 1ad3 subs r3, r2, r3 808a2d4: 4a0e ldr r2, [pc, #56] ; (808a310 ) 808a2d6: fba2 2303 umull r2, r3, r2, r3 808a2da: 0b5b lsrs r3, r3, #13 808a2dc: b2db uxtb r3, r3 808a2de: f887 33c2 strb.w r3, [r7, #962] ; 0x3c2 ies_W = (uint8_t) (k % 100000 % 10000 / 1000); 808a2e2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a2e6: 0953 lsrs r3, r2, #5 808a2e8: 4907 ldr r1, [pc, #28] ; (808a308 ) 808a2ea: fba1 1303 umull r1, r3, r1, r3 808a2ee: 09db lsrs r3, r3, #7 808a2f0: 4906 ldr r1, [pc, #24] ; (808a30c ) 808a2f2: fb01 f303 mul.w r3, r1, r3 808a2f6: 1ad3 subs r3, r2, r3 808a2f8: e012 b.n 808a320 808a2fa: bf00 nop 808a2fc: 20021011 .word 0x20021011 808a300: 20021013 .word 0x20021013 808a304: 20023e60 .word 0x20023e60 808a308: 0a7c5ac5 .word 0x0a7c5ac5 808a30c: 000186a0 .word 0x000186a0 808a310: d1b71759 .word 0xd1b71759 808a314: 10624dd3 .word 0x10624dd3 808a318: 51eb851f .word 0x51eb851f 808a31c: cccccccd .word 0xcccccccd 808a320: 4ad4 ldr r2, [pc, #848] ; (808a674 ) 808a322: fba2 1203 umull r1, r2, r2, r3 808a326: 0b52 lsrs r2, r2, #13 808a328: f242 7110 movw r1, #10000 ; 0x2710 808a32c: fb01 f202 mul.w r2, r1, r2 808a330: 1a9a subs r2, r3, r2 808a332: 4bd1 ldr r3, [pc, #836] ; (808a678 ) 808a334: fba3 2302 umull r2, r3, r3, r2 808a338: 099b lsrs r3, r3, #6 808a33a: b2db uxtb r3, r3 808a33c: f887 33c1 strb.w r3, [r7, #961] ; 0x3c1 ied_W = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808a340: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808a344: 095a lsrs r2, r3, #5 808a346: 49cd ldr r1, [pc, #820] ; (808a67c ) 808a348: fba1 1202 umull r1, r2, r1, r2 808a34c: 09d2 lsrs r2, r2, #7 808a34e: 49cc ldr r1, [pc, #816] ; (808a680 ) 808a350: fb01 f202 mul.w r2, r1, r2 808a354: 1a9a subs r2, r3, r2 808a356: 4bc7 ldr r3, [pc, #796] ; (808a674 ) 808a358: fba3 1302 umull r1, r3, r3, r2 808a35c: 0b5b lsrs r3, r3, #13 808a35e: f242 7110 movw r1, #10000 ; 0x2710 808a362: fb01 f303 mul.w r3, r1, r3 808a366: 1ad3 subs r3, r2, r3 808a368: 4ac3 ldr r2, [pc, #780] ; (808a678 ) 808a36a: fba2 1203 umull r1, r2, r2, r3 808a36e: 0992 lsrs r2, r2, #6 808a370: f44f 717a mov.w r1, #1000 ; 0x3e8 808a374: fb01 f202 mul.w r2, r1, r2 808a378: 1a9a subs r2, r3, r2 808a37a: 4bc2 ldr r3, [pc, #776] ; (808a684 ) 808a37c: fba3 2302 umull r2, r3, r3, r2 808a380: 095b lsrs r3, r3, #5 808a382: b2db uxtb r3, r3 808a384: f887 33c0 strb.w r3, [r7, #960] ; 0x3c0 iee_W = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808a388: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a38c: 0953 lsrs r3, r2, #5 808a38e: 49bb ldr r1, [pc, #748] ; (808a67c ) 808a390: fba1 1303 umull r1, r3, r1, r3 808a394: 09db lsrs r3, r3, #7 808a396: 49ba ldr r1, [pc, #744] ; (808a680 ) 808a398: fb01 f303 mul.w r3, r1, r3 808a39c: 1ad3 subs r3, r2, r3 808a39e: 4ab5 ldr r2, [pc, #724] ; (808a674 ) 808a3a0: fba2 1203 umull r1, r2, r2, r3 808a3a4: 0b52 lsrs r2, r2, #13 808a3a6: f242 7110 movw r1, #10000 ; 0x2710 808a3aa: fb01 f202 mul.w r2, r1, r2 808a3ae: 1a9a subs r2, r3, r2 808a3b0: 4bb1 ldr r3, [pc, #708] ; (808a678 ) 808a3b2: fba3 1302 umull r1, r3, r3, r2 808a3b6: 099b lsrs r3, r3, #6 808a3b8: f44f 717a mov.w r1, #1000 ; 0x3e8 808a3bc: fb01 f303 mul.w r3, r1, r3 808a3c0: 1ad3 subs r3, r2, r3 808a3c2: 4ab0 ldr r2, [pc, #704] ; (808a684 ) 808a3c4: fba2 1203 umull r1, r2, r2, r3 808a3c8: 0952 lsrs r2, r2, #5 808a3ca: 2164 movs r1, #100 ; 0x64 808a3cc: fb01 f202 mul.w r2, r1, r2 808a3d0: 1a9a subs r2, r3, r2 808a3d2: 4bad ldr r3, [pc, #692] ; (808a688 ) 808a3d4: fba3 2302 umull r2, r3, r3, r2 808a3d8: 08db lsrs r3, r3, #3 808a3da: b2db uxtb r3, r3 808a3dc: f887 33bf strb.w r3, [r7, #959] ; 0x3bf ikd_W = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808a3e0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a3e4: 0953 lsrs r3, r2, #5 808a3e6: 49a5 ldr r1, [pc, #660] ; (808a67c ) 808a3e8: fba1 1303 umull r1, r3, r1, r3 808a3ec: 09db lsrs r3, r3, #7 808a3ee: 49a4 ldr r1, [pc, #656] ; (808a680 ) 808a3f0: fb01 f303 mul.w r3, r1, r3 808a3f4: 1ad3 subs r3, r2, r3 808a3f6: 4a9f ldr r2, [pc, #636] ; (808a674 ) 808a3f8: fba2 1203 umull r1, r2, r2, r3 808a3fc: 0b52 lsrs r2, r2, #13 808a3fe: f242 7110 movw r1, #10000 ; 0x2710 808a402: fb01 f202 mul.w r2, r1, r2 808a406: 1a9a subs r2, r3, r2 808a408: 4b9b ldr r3, [pc, #620] ; (808a678 ) 808a40a: fba3 1302 umull r1, r3, r3, r2 808a40e: 099b lsrs r3, r3, #6 808a410: f44f 717a mov.w r1, #1000 ; 0x3e8 808a414: fb01 f303 mul.w r3, r1, r3 808a418: 1ad3 subs r3, r2, r3 808a41a: 4a9a ldr r2, [pc, #616] ; (808a684 ) 808a41c: fba2 1203 umull r1, r2, r2, r3 808a420: 0952 lsrs r2, r2, #5 808a422: 2164 movs r1, #100 ; 0x64 808a424: fb01 f202 mul.w r2, r1, r2 808a428: 1a9a subs r2, r3, r2 808a42a: 4b97 ldr r3, [pc, #604] ; (808a688 ) 808a42c: fba3 1302 umull r1, r3, r3, r2 808a430: 08d9 lsrs r1, r3, #3 808a432: 460b mov r3, r1 808a434: 009b lsls r3, r3, #2 808a436: 440b add r3, r1 808a438: 005b lsls r3, r3, #1 808a43a: 1ad1 subs r1, r2, r3 808a43c: b2cb uxtb r3, r1 808a43e: f887 33be strb.w r3, [r7, #958] ; 0x3be i = 0; 808a442: 2300 movs r3, #0 808a444: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_W, 0, sizeof(str_W)); 808a448: f507 73aa add.w r3, r7, #340 ; 0x154 808a44c: 220c movs r2, #12 808a44e: 2100 movs r1, #0 808a450: 4618 mov r0, r3 808a452: f042 fe15 bl 80cd080 if(idt_W != 0) 808a456: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808a45a: b2db uxtb r3, r3 808a45c: 2b00 cmp r3, #0 808a45e: d00c beq.n 808a47a str_W[i++] = idt_W + 48; 808a460: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a464: 1c5a adds r2, r3, #1 808a466: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a46a: f897 23c3 ldrb.w r2, [r7, #963] ; 0x3c3 808a46e: b2d2 uxtb r2, r2 808a470: 3230 adds r2, #48 ; 0x30 808a472: b2d1 uxtb r1, r2 808a474: f507 72aa add.w r2, r7, #340 ; 0x154 808a478: 54d1 strb r1, [r2, r3] if((iet_W != 0) || (idt_W != 0)) 808a47a: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808a47e: b2db uxtb r3, r3 808a480: 2b00 cmp r3, #0 808a482: d104 bne.n 808a48e 808a484: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808a488: b2db uxtb r3, r3 808a48a: 2b00 cmp r3, #0 808a48c: d00c beq.n 808a4a8 str_W[i++] = iet_W + 48; 808a48e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a492: 1c5a adds r2, r3, #1 808a494: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a498: f897 23c2 ldrb.w r2, [r7, #962] ; 0x3c2 808a49c: b2d2 uxtb r2, r2 808a49e: 3230 adds r2, #48 ; 0x30 808a4a0: b2d1 uxtb r1, r2 808a4a2: f507 72aa add.w r2, r7, #340 ; 0x154 808a4a6: 54d1 strb r1, [r2, r3] if((ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808a4a8: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808a4ac: b2db uxtb r3, r3 808a4ae: 2b00 cmp r3, #0 808a4b0: d109 bne.n 808a4c6 808a4b2: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808a4b6: b2db uxtb r3, r3 808a4b8: 2b00 cmp r3, #0 808a4ba: d104 bne.n 808a4c6 808a4bc: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808a4c0: b2db uxtb r3, r3 808a4c2: 2b00 cmp r3, #0 808a4c4: d00c beq.n 808a4e0 str_W[i++] = ies_W + 48; 808a4c6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a4ca: 1c5a adds r2, r3, #1 808a4cc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a4d0: f897 23c1 ldrb.w r2, [r7, #961] ; 0x3c1 808a4d4: b2d2 uxtb r2, r2 808a4d6: 3230 adds r2, #48 ; 0x30 808a4d8: b2d1 uxtb r1, r2 808a4da: f507 72aa add.w r2, r7, #340 ; 0x154 808a4de: 54d1 strb r1, [r2, r3] if((ied_W != 0) || (ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808a4e0: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808a4e4: b2db uxtb r3, r3 808a4e6: 2b00 cmp r3, #0 808a4e8: d10e bne.n 808a508 808a4ea: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808a4ee: b2db uxtb r3, r3 808a4f0: 2b00 cmp r3, #0 808a4f2: d109 bne.n 808a508 808a4f4: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808a4f8: b2db uxtb r3, r3 808a4fa: 2b00 cmp r3, #0 808a4fc: d104 bne.n 808a508 808a4fe: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808a502: b2db uxtb r3, r3 808a504: 2b00 cmp r3, #0 808a506: d00c beq.n 808a522 str_W[i++] = ied_W + 48; 808a508: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a50c: 1c5a adds r2, r3, #1 808a50e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a512: f897 23c0 ldrb.w r2, [r7, #960] ; 0x3c0 808a516: b2d2 uxtb r2, r2 808a518: 3230 adds r2, #48 ; 0x30 808a51a: b2d1 uxtb r1, r2 808a51c: f507 72aa add.w r2, r7, #340 ; 0x154 808a520: 54d1 strb r1, [r2, r3] str_W[i++] = iee_W + 48; 808a522: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a526: 1c5a adds r2, r3, #1 808a528: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a52c: f897 23bf ldrb.w r2, [r7, #959] ; 0x3bf 808a530: b2d2 uxtb r2, r2 808a532: 3230 adds r2, #48 ; 0x30 808a534: b2d1 uxtb r1, r2 808a536: f507 72aa add.w r2, r7, #340 ; 0x154 808a53a: 54d1 strb r1, [r2, r3] str_W[i++] = '.'; 808a53c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a540: 1c5a adds r2, r3, #1 808a542: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a546: f507 72aa add.w r2, r7, #340 ; 0x154 808a54a: 212e movs r1, #46 ; 0x2e 808a54c: 54d1 strb r1, [r2, r3] str_W[i++] = ikd_W + 48; 808a54e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a552: 1c5a adds r2, r3, #1 808a554: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a558: f897 23be ldrb.w r2, [r7, #958] ; 0x3be 808a55c: b2d2 uxtb r2, r2 808a55e: 3230 adds r2, #48 ; 0x30 808a560: b2d1 uxtb r1, r2 808a562: f507 72aa add.w r2, r7, #340 ; 0x154 808a566: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.DIAGN_A[CURR_POINT][CURR_USL] * 10.0f); 808a568: 4b48 ldr r3, [pc, #288] ; (808a68c ) 808a56a: 781b ldrb r3, [r3, #0] 808a56c: b2db uxtb r3, r3 808a56e: 4618 mov r0, r3 808a570: 4b47 ldr r3, [pc, #284] ; (808a690 ) 808a572: 781b ldrb r3, [r3, #0] 808a574: b2db uxtb r3, r3 808a576: 4619 mov r1, r3 808a578: 4a46 ldr r2, [pc, #280] ; (808a694 ) 808a57a: 0083 lsls r3, r0, #2 808a57c: 440b add r3, r1 808a57e: 33f6 adds r3, #246 ; 0xf6 808a580: 009b lsls r3, r3, #2 808a582: 4413 add r3, r2 808a584: 3304 adds r3, #4 808a586: edd3 7a00 vldr s15, [r3] 808a58a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808a58e: ee67 7a87 vmul.f32 s15, s15, s14 808a592: eefc 7ae7 vcvt.u32.f32 s15, s15 808a596: ee17 3a90 vmov r3, s15 808a59a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt_A = (uint8_t) (k / 100000); 808a59e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808a5a2: 095b lsrs r3, r3, #5 808a5a4: 4a35 ldr r2, [pc, #212] ; (808a67c ) 808a5a6: fba2 2303 umull r2, r3, r2, r3 808a5aa: 09db lsrs r3, r3, #7 808a5ac: b2db uxtb r3, r3 808a5ae: f887 33bc strb.w r3, [r7, #956] ; 0x3bc iet_A = (uint8_t) (k % 100000 / 10000); 808a5b2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a5b6: 0953 lsrs r3, r2, #5 808a5b8: 4930 ldr r1, [pc, #192] ; (808a67c ) 808a5ba: fba1 1303 umull r1, r3, r1, r3 808a5be: 09db lsrs r3, r3, #7 808a5c0: 492f ldr r1, [pc, #188] ; (808a680 ) 808a5c2: fb01 f303 mul.w r3, r1, r3 808a5c6: 1ad3 subs r3, r2, r3 808a5c8: 4a2a ldr r2, [pc, #168] ; (808a674 ) 808a5ca: fba2 2303 umull r2, r3, r2, r3 808a5ce: 0b5b lsrs r3, r3, #13 808a5d0: b2db uxtb r3, r3 808a5d2: f887 33bb strb.w r3, [r7, #955] ; 0x3bb ies_A = (uint8_t) (k % 100000 % 10000 / 1000); 808a5d6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a5da: 0953 lsrs r3, r2, #5 808a5dc: 4927 ldr r1, [pc, #156] ; (808a67c ) 808a5de: fba1 1303 umull r1, r3, r1, r3 808a5e2: 09db lsrs r3, r3, #7 808a5e4: 4926 ldr r1, [pc, #152] ; (808a680 ) 808a5e6: fb01 f303 mul.w r3, r1, r3 808a5ea: 1ad3 subs r3, r2, r3 808a5ec: 4a21 ldr r2, [pc, #132] ; (808a674 ) 808a5ee: fba2 1203 umull r1, r2, r2, r3 808a5f2: 0b52 lsrs r2, r2, #13 808a5f4: f242 7110 movw r1, #10000 ; 0x2710 808a5f8: fb01 f202 mul.w r2, r1, r2 808a5fc: 1a9a subs r2, r3, r2 808a5fe: 4b1e ldr r3, [pc, #120] ; (808a678 ) 808a600: fba3 2302 umull r2, r3, r3, r2 808a604: 099b lsrs r3, r3, #6 808a606: b2db uxtb r3, r3 808a608: f887 33ba strb.w r3, [r7, #954] ; 0x3ba ied_A = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808a60c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808a610: 095a lsrs r2, r3, #5 808a612: 491a ldr r1, [pc, #104] ; (808a67c ) 808a614: fba1 1202 umull r1, r2, r1, r2 808a618: 09d2 lsrs r2, r2, #7 808a61a: 4919 ldr r1, [pc, #100] ; (808a680 ) 808a61c: fb01 f202 mul.w r2, r1, r2 808a620: 1a9a subs r2, r3, r2 808a622: 4b14 ldr r3, [pc, #80] ; (808a674 ) 808a624: fba3 1302 umull r1, r3, r3, r2 808a628: 0b5b lsrs r3, r3, #13 808a62a: f242 7110 movw r1, #10000 ; 0x2710 808a62e: fb01 f303 mul.w r3, r1, r3 808a632: 1ad3 subs r3, r2, r3 808a634: 4a10 ldr r2, [pc, #64] ; (808a678 ) 808a636: fba2 1203 umull r1, r2, r2, r3 808a63a: 0992 lsrs r2, r2, #6 808a63c: f44f 717a mov.w r1, #1000 ; 0x3e8 808a640: fb01 f202 mul.w r2, r1, r2 808a644: 1a9a subs r2, r3, r2 808a646: 4b0f ldr r3, [pc, #60] ; (808a684 ) 808a648: fba3 2302 umull r2, r3, r3, r2 808a64c: 095b lsrs r3, r3, #5 808a64e: b2db uxtb r3, r3 808a650: f887 33b9 strb.w r3, [r7, #953] ; 0x3b9 iee_A = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808a654: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a658: 0953 lsrs r3, r2, #5 808a65a: 4908 ldr r1, [pc, #32] ; (808a67c ) 808a65c: fba1 1303 umull r1, r3, r1, r3 808a660: 09db lsrs r3, r3, #7 808a662: 4907 ldr r1, [pc, #28] ; (808a680 ) 808a664: fb01 f303 mul.w r3, r1, r3 808a668: 1ad3 subs r3, r2, r3 808a66a: 4a02 ldr r2, [pc, #8] ; (808a674 ) 808a66c: fba2 1203 umull r1, r2, r2, r3 808a670: 0b52 lsrs r2, r2, #13 808a672: e011 b.n 808a698 808a674: d1b71759 .word 0xd1b71759 808a678: 10624dd3 .word 0x10624dd3 808a67c: 0a7c5ac5 .word 0x0a7c5ac5 808a680: 000186a0 .word 0x000186a0 808a684: 51eb851f .word 0x51eb851f 808a688: cccccccd .word 0xcccccccd 808a68c: 20021011 .word 0x20021011 808a690: 20021013 .word 0x20021013 808a694: 20023e60 .word 0x20023e60 808a698: f242 7110 movw r1, #10000 ; 0x2710 808a69c: fb01 f202 mul.w r2, r1, r2 808a6a0: 1a9a subs r2, r3, r2 808a6a2: 4bc3 ldr r3, [pc, #780] ; (808a9b0 ) 808a6a4: fba3 1302 umull r1, r3, r3, r2 808a6a8: 099b lsrs r3, r3, #6 808a6aa: f44f 717a mov.w r1, #1000 ; 0x3e8 808a6ae: fb01 f303 mul.w r3, r1, r3 808a6b2: 1ad3 subs r3, r2, r3 808a6b4: 4abf ldr r2, [pc, #764] ; (808a9b4 ) 808a6b6: fba2 1203 umull r1, r2, r2, r3 808a6ba: 0952 lsrs r2, r2, #5 808a6bc: 2164 movs r1, #100 ; 0x64 808a6be: fb01 f202 mul.w r2, r1, r2 808a6c2: 1a9a subs r2, r3, r2 808a6c4: 4bbc ldr r3, [pc, #752] ; (808a9b8 ) 808a6c6: fba3 2302 umull r2, r3, r3, r2 808a6ca: 08db lsrs r3, r3, #3 808a6cc: b2db uxtb r3, r3 808a6ce: f887 33b8 strb.w r3, [r7, #952] ; 0x3b8 ikd_A = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808a6d2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808a6d6: 0953 lsrs r3, r2, #5 808a6d8: 49b8 ldr r1, [pc, #736] ; (808a9bc ) 808a6da: fba1 1303 umull r1, r3, r1, r3 808a6de: 09db lsrs r3, r3, #7 808a6e0: 49b7 ldr r1, [pc, #732] ; (808a9c0 ) 808a6e2: fb01 f303 mul.w r3, r1, r3 808a6e6: 1ad3 subs r3, r2, r3 808a6e8: 4ab6 ldr r2, [pc, #728] ; (808a9c4 ) 808a6ea: fba2 1203 umull r1, r2, r2, r3 808a6ee: 0b52 lsrs r2, r2, #13 808a6f0: f242 7110 movw r1, #10000 ; 0x2710 808a6f4: fb01 f202 mul.w r2, r1, r2 808a6f8: 1a9a subs r2, r3, r2 808a6fa: 4bad ldr r3, [pc, #692] ; (808a9b0 ) 808a6fc: fba3 1302 umull r1, r3, r3, r2 808a700: 099b lsrs r3, r3, #6 808a702: f44f 717a mov.w r1, #1000 ; 0x3e8 808a706: fb01 f303 mul.w r3, r1, r3 808a70a: 1ad3 subs r3, r2, r3 808a70c: 4aa9 ldr r2, [pc, #676] ; (808a9b4 ) 808a70e: fba2 1203 umull r1, r2, r2, r3 808a712: 0952 lsrs r2, r2, #5 808a714: 2164 movs r1, #100 ; 0x64 808a716: fb01 f202 mul.w r2, r1, r2 808a71a: 1a9a subs r2, r3, r2 808a71c: 4ba6 ldr r3, [pc, #664] ; (808a9b8 ) 808a71e: fba3 1302 umull r1, r3, r3, r2 808a722: 08d9 lsrs r1, r3, #3 808a724: 460b mov r3, r1 808a726: 009b lsls r3, r3, #2 808a728: 440b add r3, r1 808a72a: 005b lsls r3, r3, #1 808a72c: 1ad1 subs r1, r2, r3 808a72e: b2cb uxtb r3, r1 808a730: f887 33b7 strb.w r3, [r7, #951] ; 0x3b7 i = 0; 808a734: 2300 movs r3, #0 808a736: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str_A, 0, sizeof(str_A)); 808a73a: f507 73b0 add.w r3, r7, #352 ; 0x160 808a73e: 220c movs r2, #12 808a740: 2100 movs r1, #0 808a742: 4618 mov r0, r3 808a744: f042 fc9c bl 80cd080 if(idt_A != 0) 808a748: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808a74c: b2db uxtb r3, r3 808a74e: 2b00 cmp r3, #0 808a750: d00c beq.n 808a76c str_A[i++] = idt_A + 48; 808a752: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a756: 1c5a adds r2, r3, #1 808a758: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a75c: f897 23bc ldrb.w r2, [r7, #956] ; 0x3bc 808a760: b2d2 uxtb r2, r2 808a762: 3230 adds r2, #48 ; 0x30 808a764: b2d1 uxtb r1, r2 808a766: f507 72b0 add.w r2, r7, #352 ; 0x160 808a76a: 54d1 strb r1, [r2, r3] if((iet_A != 0) || (idt_A != 0)) 808a76c: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808a770: b2db uxtb r3, r3 808a772: 2b00 cmp r3, #0 808a774: d104 bne.n 808a780 808a776: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808a77a: b2db uxtb r3, r3 808a77c: 2b00 cmp r3, #0 808a77e: d00c beq.n 808a79a str_A[i++] = iet_A + 48; 808a780: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a784: 1c5a adds r2, r3, #1 808a786: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a78a: f897 23bb ldrb.w r2, [r7, #955] ; 0x3bb 808a78e: b2d2 uxtb r2, r2 808a790: 3230 adds r2, #48 ; 0x30 808a792: b2d1 uxtb r1, r2 808a794: f507 72b0 add.w r2, r7, #352 ; 0x160 808a798: 54d1 strb r1, [r2, r3] if((ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808a79a: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808a79e: b2db uxtb r3, r3 808a7a0: 2b00 cmp r3, #0 808a7a2: d109 bne.n 808a7b8 808a7a4: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808a7a8: b2db uxtb r3, r3 808a7aa: 2b00 cmp r3, #0 808a7ac: d104 bne.n 808a7b8 808a7ae: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808a7b2: b2db uxtb r3, r3 808a7b4: 2b00 cmp r3, #0 808a7b6: d00c beq.n 808a7d2 str_A[i++] = ies_A + 48; 808a7b8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a7bc: 1c5a adds r2, r3, #1 808a7be: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a7c2: f897 23ba ldrb.w r2, [r7, #954] ; 0x3ba 808a7c6: b2d2 uxtb r2, r2 808a7c8: 3230 adds r2, #48 ; 0x30 808a7ca: b2d1 uxtb r1, r2 808a7cc: f507 72b0 add.w r2, r7, #352 ; 0x160 808a7d0: 54d1 strb r1, [r2, r3] if((ied_A != 0) || (ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808a7d2: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808a7d6: b2db uxtb r3, r3 808a7d8: 2b00 cmp r3, #0 808a7da: d10e bne.n 808a7fa 808a7dc: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808a7e0: b2db uxtb r3, r3 808a7e2: 2b00 cmp r3, #0 808a7e4: d109 bne.n 808a7fa 808a7e6: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808a7ea: b2db uxtb r3, r3 808a7ec: 2b00 cmp r3, #0 808a7ee: d104 bne.n 808a7fa 808a7f0: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808a7f4: b2db uxtb r3, r3 808a7f6: 2b00 cmp r3, #0 808a7f8: d00c beq.n 808a814 str_A[i++] = ied_A + 48; 808a7fa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a7fe: 1c5a adds r2, r3, #1 808a800: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a804: f897 23b9 ldrb.w r2, [r7, #953] ; 0x3b9 808a808: b2d2 uxtb r2, r2 808a80a: 3230 adds r2, #48 ; 0x30 808a80c: b2d1 uxtb r1, r2 808a80e: f507 72b0 add.w r2, r7, #352 ; 0x160 808a812: 54d1 strb r1, [r2, r3] str_A[i++] = iee_A + 48; 808a814: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a818: 1c5a adds r2, r3, #1 808a81a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a81e: f897 23b8 ldrb.w r2, [r7, #952] ; 0x3b8 808a822: b2d2 uxtb r2, r2 808a824: 3230 adds r2, #48 ; 0x30 808a826: b2d1 uxtb r1, r2 808a828: f507 72b0 add.w r2, r7, #352 ; 0x160 808a82c: 54d1 strb r1, [r2, r3] str_A[i++] = '.'; 808a82e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a832: 1c5a adds r2, r3, #1 808a834: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a838: f507 72b0 add.w r2, r7, #352 ; 0x160 808a83c: 212e movs r1, #46 ; 0x2e 808a83e: 54d1 strb r1, [r2, r3] str_A[i++] = ikd_A + 48; 808a840: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808a844: 1c5a adds r2, r3, #1 808a846: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808a84a: f897 23b7 ldrb.w r2, [r7, #951] ; 0x3b7 808a84e: b2d2 uxtb r2, r2 808a850: 3230 adds r2, #48 ; 0x30 808a852: b2d1 uxtb r1, r2 808a854: f507 72b0 add.w r2, r7, #352 ; 0x160 808a858: 54d1 strb r1, [r2, r3] // OP1[12 + 11*4] // OP2[12 + 11*12] // OP3[12 + 11*20] // if(menupos != DiagUs1) 808a85a: 4b5b ldr r3, [pc, #364] ; (808a9c8 ) 808a85c: 781b ldrb r3, [r3, #0] 808a85e: b2db uxtb r3, r3 808a860: 2b01 cmp r3, #1 808a862: d00f beq.n 808a884 { if(CURR_USL == Us1) 808a864: 4b59 ldr r3, [pc, #356] ; (808a9cc ) 808a866: 781b ldrb r3, [r3, #0] 808a868: b2db uxtb r3, r3 808a86a: 2b00 cmp r3, #0 808a86c: d104 bne.n 808a878 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a86e: 4958 ldr r1, [pc, #352] ; (808a9d0 ) 808a870: 4858 ldr r0, [pc, #352] ; (808a9d4 ) 808a872: f7c8 ffb7 bl 80537e4 808a876: e00a b.n 808a88e else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a878: 4955 ldr r1, [pc, #340] ; (808a9d0 ) 808a87a: f04f 30ff mov.w r0, #4294967295 808a87e: f7c8 ffb1 bl 80537e4 808a882: e004 b.n 808a88e } else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a884: 4952 ldr r1, [pc, #328] ; (808a9d0 ) 808a886: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a88a: f7c8 ffab bl 80537e4 LCD_DisplayString(12 + 11*1, LCD_LINE_2, (char *) pUS[pardata.LANG][Us1]); 808a88e: 4b52 ldr r3, [pc, #328] ; (808a9d8 ) 808a890: 7b1b ldrb r3, [r3, #12] 808a892: b2db uxtb r3, r3 808a894: 4a51 ldr r2, [pc, #324] ; (808a9dc ) 808a896: 011b lsls r3, r3, #4 808a898: 4413 add r3, r2 808a89a: 681b ldr r3, [r3, #0] 808a89c: 461a mov r2, r3 808a89e: 2127 movs r1, #39 ; 0x27 808a8a0: 2017 movs r0, #23 808a8a2: f7c9 fd47 bl 8054334 // if(menupos != DiagUs2) 808a8a6: 4b48 ldr r3, [pc, #288] ; (808a9c8 ) 808a8a8: 781b ldrb r3, [r3, #0] 808a8aa: b2db uxtb r3, r3 808a8ac: 2b03 cmp r3, #3 808a8ae: d00f beq.n 808a8d0 { if(CURR_USL == Us2) 808a8b0: 4b46 ldr r3, [pc, #280] ; (808a9cc ) 808a8b2: 781b ldrb r3, [r3, #0] 808a8b4: b2db uxtb r3, r3 808a8b6: 2b01 cmp r3, #1 808a8b8: d104 bne.n 808a8c4 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a8ba: 4945 ldr r1, [pc, #276] ; (808a9d0 ) 808a8bc: 4845 ldr r0, [pc, #276] ; (808a9d4 ) 808a8be: f7c8 ff91 bl 80537e4 808a8c2: e00a b.n 808a8da else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a8c4: 4942 ldr r1, [pc, #264] ; (808a9d0 ) 808a8c6: f04f 30ff mov.w r0, #4294967295 808a8ca: f7c8 ff8b bl 80537e4 808a8ce: e004 b.n 808a8da } else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a8d0: 493f ldr r1, [pc, #252] ; (808a9d0 ) 808a8d2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a8d6: f7c8 ff85 bl 80537e4 LCD_DisplayString(12 + 11*8, LCD_LINE_2, (char *) pUS[pardata.LANG][Us2]); 808a8da: 4b3f ldr r3, [pc, #252] ; (808a9d8 ) 808a8dc: 7b1b ldrb r3, [r3, #12] 808a8de: b2db uxtb r3, r3 808a8e0: 4a3e ldr r2, [pc, #248] ; (808a9dc ) 808a8e2: 011b lsls r3, r3, #4 808a8e4: 4413 add r3, r2 808a8e6: 3304 adds r3, #4 808a8e8: 681b ldr r3, [r3, #0] 808a8ea: 461a mov r2, r3 808a8ec: 2127 movs r1, #39 ; 0x27 808a8ee: 2064 movs r0, #100 ; 0x64 808a8f0: f7c9 fd20 bl 8054334 // if(menupos != DiagUs3) 808a8f4: 4b34 ldr r3, [pc, #208] ; (808a9c8 ) 808a8f6: 781b ldrb r3, [r3, #0] 808a8f8: b2db uxtb r3, r3 808a8fa: 2b05 cmp r3, #5 808a8fc: d00f beq.n 808a91e { if(CURR_USL == Us3) 808a8fe: 4b33 ldr r3, [pc, #204] ; (808a9cc ) 808a900: 781b ldrb r3, [r3, #0] 808a902: b2db uxtb r3, r3 808a904: 2b02 cmp r3, #2 808a906: d104 bne.n 808a912 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808a908: 4931 ldr r1, [pc, #196] ; (808a9d0 ) 808a90a: 4832 ldr r0, [pc, #200] ; (808a9d4 ) 808a90c: f7c8 ff6a bl 80537e4 808a910: e00a b.n 808a928 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a912: 492f ldr r1, [pc, #188] ; (808a9d0 ) 808a914: f04f 30ff mov.w r0, #4294967295 808a918: f7c8 ff64 bl 80537e4 808a91c: e004 b.n 808a928 } else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a91e: 492c ldr r1, [pc, #176] ; (808a9d0 ) 808a920: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a924: f7c8 ff5e bl 80537e4 LCD_DisplayString(12 + 11*17, LCD_LINE_2, (char *) pUS[pardata.LANG][Us3]); 808a928: 4b2b ldr r3, [pc, #172] ; (808a9d8 ) 808a92a: 7b1b ldrb r3, [r3, #12] 808a92c: b2db uxtb r3, r3 808a92e: 4a2b ldr r2, [pc, #172] ; (808a9dc ) 808a930: 011b lsls r3, r3, #4 808a932: 4413 add r3, r2 808a934: 3308 adds r3, #8 808a936: 681b ldr r3, [r3, #0] 808a938: 461a mov r2, r3 808a93a: 2127 movs r1, #39 ; 0x27 808a93c: 20c7 movs r0, #199 ; 0xc7 808a93e: f7c9 fcf9 bl 8054334 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); LCD_DisplayString(12 + 11*24, LCD_LINE_2, (char *) pUS[pardata.LANG][Us4]);*/ ////// OP1 if(menupos != DiagOp1) 808a942: 4b21 ldr r3, [pc, #132] ; (808a9c8 ) 808a944: 781b ldrb r3, [r3, #0] 808a946: b2db uxtb r3, r3 808a948: 2b02 cmp r3, #2 808a94a: d005 beq.n 808a958 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808a94c: 4920 ldr r1, [pc, #128] ; (808a9d0 ) 808a94e: f04f 30ff mov.w r0, #4294967295 808a952: f7c8 ff47 bl 80537e4 808a956: e004 b.n 808a962 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808a958: 491d ldr r1, [pc, #116] ; (808a9d0 ) 808a95a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808a95e: f7c8 ff41 bl 80537e4 if((focused) && (menupos == DiagOp1)) 808a962: 4b1f ldr r3, [pc, #124] ; (808a9e0 ) 808a964: 781b ldrb r3, [r3, #0] 808a966: b2db uxtb r3, r3 808a968: 2b00 cmp r3, #0 808a96a: d041 beq.n 808a9f0 808a96c: 4b16 ldr r3, [pc, #88] ; (808a9c8 ) 808a96e: 781b ldrb r3, [r3, #0] 808a970: b2db uxtb r3, r3 808a972: 2b02 cmp r3, #2 808a974: d13c bne.n 808a9f0 { if(blk) 808a976: 4b1b ldr r3, [pc, #108] ; (808a9e4 ) 808a978: 681b ldr r3, [r3, #0] 808a97a: 2b00 cmp r3, #0 808a97c: d050 beq.n 808aa20 { LCD_DisplayString(12 + 11*4, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][0]]); 808a97e: 4b16 ldr r3, [pc, #88] ; (808a9d8 ) 808a980: 7b1b ldrb r3, [r3, #12] 808a982: b2db uxtb r3, r3 808a984: 4618 mov r0, r3 808a986: 4b18 ldr r3, [pc, #96] ; (808a9e8 ) 808a988: 781b ldrb r3, [r3, #0] 808a98a: b2db uxtb r3, r3 808a98c: 4a12 ldr r2, [pc, #72] ; (808a9d8 ) 808a98e: 3386 adds r3, #134 ; 0x86 808a990: 009b lsls r3, r3, #2 808a992: 4413 add r3, r2 808a994: 791b ldrb r3, [r3, #4] 808a996: b2db uxtb r3, r3 808a998: 4619 mov r1, r3 808a99a: 4a14 ldr r2, [pc, #80] ; (808a9ec ) 808a99c: 0043 lsls r3, r0, #1 808a99e: 440b add r3, r1 808a9a0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808a9a4: 461a mov r2, r3 808a9a6: 2127 movs r1, #39 ; 0x27 808a9a8: 2038 movs r0, #56 ; 0x38 808a9aa: f7c9 fcc3 bl 8054334 if(blk) 808a9ae: e037 b.n 808aa20 808a9b0: 10624dd3 .word 0x10624dd3 808a9b4: 51eb851f .word 0x51eb851f 808a9b8: cccccccd .word 0xcccccccd 808a9bc: 0a7c5ac5 .word 0x0a7c5ac5 808a9c0: 000186a0 .word 0x000186a0 808a9c4: d1b71759 .word 0xd1b71759 808a9c8: 20020070 .word 0x20020070 808a9cc: 20021013 .word 0x20021013 808a9d0: ff0a0f1f .word 0xff0a0f1f 808a9d4: ffd8aa57 .word 0xffd8aa57 808a9d8: 20023e60 .word 0x20023e60 808a9dc: 200205ec .word 0x200205ec 808a9e0: 20020f84 .word 0x20020f84 808a9e4: 2002165c .word 0x2002165c 808a9e8: 20021011 .word 0x20021011 808a9ec: 2002060c .word 0x2002060c } } else LCD_DisplayString(12 + 11*4, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][0]]); 808a9f0: 4bbf ldr r3, [pc, #764] ; (808acf0 ) 808a9f2: 7b1b ldrb r3, [r3, #12] 808a9f4: b2db uxtb r3, r3 808a9f6: 4618 mov r0, r3 808a9f8: 4bbe ldr r3, [pc, #760] ; (808acf4 ) 808a9fa: 781b ldrb r3, [r3, #0] 808a9fc: b2db uxtb r3, r3 808a9fe: 4abc ldr r2, [pc, #752] ; (808acf0 ) 808aa00: 3386 adds r3, #134 ; 0x86 808aa02: 009b lsls r3, r3, #2 808aa04: 4413 add r3, r2 808aa06: 791b ldrb r3, [r3, #4] 808aa08: b2db uxtb r3, r3 808aa0a: 4619 mov r1, r3 808aa0c: 4aba ldr r2, [pc, #744] ; (808acf8 ) 808aa0e: 0043 lsls r3, r0, #1 808aa10: 440b add r3, r1 808aa12: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808aa16: 461a mov r2, r3 808aa18: 2127 movs r1, #39 ; 0x27 808aa1a: 2038 movs r0, #56 ; 0x38 808aa1c: f7c9 fc8a bl 8054334 ////// OP2 if(menupos != DiagOp2) 808aa20: 4bb6 ldr r3, [pc, #728] ; (808acfc ) 808aa22: 781b ldrb r3, [r3, #0] 808aa24: b2db uxtb r3, r3 808aa26: 2b04 cmp r3, #4 808aa28: d005 beq.n 808aa36 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808aa2a: 49b5 ldr r1, [pc, #724] ; (808ad00 ) 808aa2c: f04f 30ff mov.w r0, #4294967295 808aa30: f7c8 fed8 bl 80537e4 808aa34: e004 b.n 808aa40 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808aa36: 49b2 ldr r1, [pc, #712] ; (808ad00 ) 808aa38: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808aa3c: f7c8 fed2 bl 80537e4 if((focused) && (menupos == DiagOp2)) 808aa40: 4bb0 ldr r3, [pc, #704] ; (808ad04 ) 808aa42: 781b ldrb r3, [r3, #0] 808aa44: b2db uxtb r3, r3 808aa46: 2b00 cmp r3, #0 808aa48: d021 beq.n 808aa8e 808aa4a: 4bac ldr r3, [pc, #688] ; (808acfc ) 808aa4c: 781b ldrb r3, [r3, #0] 808aa4e: b2db uxtb r3, r3 808aa50: 2b04 cmp r3, #4 808aa52: d11c bne.n 808aa8e { if(blk) 808aa54: 4bac ldr r3, [pc, #688] ; (808ad08 ) 808aa56: 681b ldr r3, [r3, #0] 808aa58: 2b00 cmp r3, #0 808aa5a: d030 beq.n 808aabe { LCD_DisplayString(12 + 11*12, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][1]]); 808aa5c: 4ba4 ldr r3, [pc, #656] ; (808acf0 ) 808aa5e: 7b1b ldrb r3, [r3, #12] 808aa60: b2db uxtb r3, r3 808aa62: 4618 mov r0, r3 808aa64: 4ba3 ldr r3, [pc, #652] ; (808acf4 ) 808aa66: 781b ldrb r3, [r3, #0] 808aa68: b2db uxtb r3, r3 808aa6a: 4aa1 ldr r2, [pc, #644] ; (808acf0 ) 808aa6c: 009b lsls r3, r3, #2 808aa6e: 4413 add r3, r2 808aa70: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 808aa74: b2db uxtb r3, r3 808aa76: 4619 mov r1, r3 808aa78: 4a9f ldr r2, [pc, #636] ; (808acf8 ) 808aa7a: 0043 lsls r3, r0, #1 808aa7c: 440b add r3, r1 808aa7e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808aa82: 461a mov r2, r3 808aa84: 2127 movs r1, #39 ; 0x27 808aa86: 2090 movs r0, #144 ; 0x90 808aa88: f7c9 fc54 bl 8054334 if(blk) 808aa8c: e017 b.n 808aabe } } else LCD_DisplayString(12 + 11*12, LCD_LINE_2, (char *) pOP[pardata.LANG][pardata.DIAGN_OPER[CURR_POINT][1]]); 808aa8e: 4b98 ldr r3, [pc, #608] ; (808acf0 ) 808aa90: 7b1b ldrb r3, [r3, #12] 808aa92: b2db uxtb r3, r3 808aa94: 4618 mov r0, r3 808aa96: 4b97 ldr r3, [pc, #604] ; (808acf4 ) 808aa98: 781b ldrb r3, [r3, #0] 808aa9a: b2db uxtb r3, r3 808aa9c: 4a94 ldr r2, [pc, #592] ; (808acf0 ) 808aa9e: 009b lsls r3, r3, #2 808aaa0: 4413 add r3, r2 808aaa2: f893 321d ldrb.w r3, [r3, #541] ; 0x21d 808aaa6: b2db uxtb r3, r3 808aaa8: 4619 mov r1, r3 808aaaa: 4a93 ldr r2, [pc, #588] ; (808acf8 ) 808aaac: 0043 lsls r3, r0, #1 808aaae: 440b add r3, r1 808aab0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808aab4: 461a mov r2, r3 808aab6: 2127 movs r1, #39 ; 0x27 808aab8: 2090 movs r0, #144 ; 0x90 808aaba: f7c9 fc3b bl 8054334 if(pardata.LANG == RUS) 808aabe: 4b8c ldr r3, [pc, #560] ; (808acf0 ) 808aac0: 7b1b ldrb r3, [r3, #12] 808aac2: b2db uxtb r3, r3 808aac4: 2b00 cmp r3, #0 808aac6: f040 808f bne.w 808abe8 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808aaca: 498d ldr r1, [pc, #564] ; (808ad00 ) 808aacc: f04f 30ff mov.w r0, #4294967295 808aad0: f7c8 fe88 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Âåëè÷èíà"); 808aad4: 4a8d ldr r2, [pc, #564] ; (808ad0c ) 808aad6: 215a movs r1, #90 ; 0x5a 808aad8: 200a movs r0, #10 808aada: f7c9 fc2b bl 8054334 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808aade: 4b85 ldr r3, [pc, #532] ; (808acf4 ) 808aae0: 781b ldrb r3, [r3, #0] 808aae2: b2db uxtb r3, r3 808aae4: 4618 mov r0, r3 808aae6: 4b8a ldr r3, [pc, #552] ; (808ad10 ) 808aae8: 781b ldrb r3, [r3, #0] 808aaea: b2db uxtb r3, r3 808aaec: 4619 mov r1, r3 808aaee: 4a80 ldr r2, [pc, #512] ; (808acf0 ) 808aaf0: 0083 lsls r3, r0, #2 808aaf2: 4413 add r3, r2 808aaf4: 440b add r3, r1 808aaf6: f503 730f add.w r3, r3, #572 ; 0x23c 808aafa: 781b ldrb r3, [r3, #0] 808aafc: b2db uxtb r3, r3 808aafe: f003 0307 and.w r3, r3, #7 808ab02: 2b00 cmp r3, #0 808ab04: d103 bne.n 808ab0e LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808ab06: 497e ldr r1, [pc, #504] ; (808ad00 ) 808ab08: 4882 ldr r0, [pc, #520] ; (808ad14 ) 808ab0a: f7c8 fe6b bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, "Çíà÷åíèå"); 808ab0e: 4a82 ldr r2, [pc, #520] ; (808ad18 ) 808ab10: 216a movs r1, #106 ; 0x6a 808ab12: 200a movs r0, #10 808ab14: f7c9 fc0e bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Ôèëüòð Â×(Ãö)"); 808ab18: 4a80 ldr r2, [pc, #512] ; (808ad1c ) 808ab1a: 217a movs r1, #122 ; 0x7a 808ab1c: 200a movs r0, #10 808ab1e: f7c9 fc09 bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "Ôèëüòð Í×(Ãö)"); 808ab22: 4a7f ldr r2, [pc, #508] ; (808ad20 ) 808ab24: 218a movs r1, #138 ; 0x8a 808ab26: 200a movs r0, #10 808ab28: f7c9 fc04 bl 8054334 LCD_DisplayString(10, LCD_LINE_9, "Ïðåäóïðåæäåíèå"); 808ab2c: 4a7d ldr r2, [pc, #500] ; (808ad24 ) 808ab2e: 219a movs r1, #154 ; 0x9a 808ab30: 200a movs r0, #10 808ab32: f7c9 fbff bl 8054334 LCD_DisplayString(10, LCD_LINE_10, "Àâàðèÿ"); 808ab36: 4a7c ldr r2, [pc, #496] ; (808ad28 ) 808ab38: 21aa movs r1, #170 ; 0xaa 808ab3a: 200a movs r0, #10 808ab3c: f7c9 fbfa bl 8054334 if(menupos == DiagName) 808ab40: 4b6e ldr r3, [pc, #440] ; (808acfc ) 808ab42: 781b ldrb r3, [r3, #0] 808ab44: b2db uxtb r3, r3 808ab46: 2b06 cmp r3, #6 808ab48: d127 bne.n 808ab9a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ab4a: 496d ldr r1, [pc, #436] ; (808ad00 ) 808ab4c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ab50: f7c8 fe48 bl 80537e4 if(strlen(str1)) 808ab54: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ab58: 781b ldrb r3, [r3, #0] 808ab5a: 2b00 cmp r3, #0 808ab5c: d017 beq.n 808ab8e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ab5e: 4968 ldr r1, [pc, #416] ; (808ad00 ) 808ab60: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ab64: f7c8 fe3e bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 808ab68: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ab6c: 461a mov r2, r3 808ab6e: 214a movs r1, #74 ; 0x4a 808ab70: f44f 7082 mov.w r0, #260 ; 0x104 808ab74: f7c9 fbf6 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ab78: 4961 ldr r1, [pc, #388] ; (808ad00 ) 808ab7a: f04f 30ff mov.w r0, #4294967295 808ab7e: f7c8 fe31 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, "Íàçâàíèå"); 808ab82: 4a6a ldr r2, [pc, #424] ; (808ad2c ) 808ab84: 214a movs r1, #74 ; 0x4a 808ab86: 200a movs r0, #10 808ab88: f7c9 fbd4 bl 8054334 808ab8c: e0ea b.n 808ad64 } else LCD_DisplayString(10, LCD_LINE_4, "Íàçâàíèå"); 808ab8e: 4a67 ldr r2, [pc, #412] ; (808ad2c ) 808ab90: 214a movs r1, #74 ; 0x4a 808ab92: 200a movs r0, #10 808ab94: f7c9 fbce bl 8054334 808ab98: e0e4 b.n 808ad64 } else { if(strlen(str1)) 808ab9a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ab9e: 781b ldrb r3, [r3, #0] 808aba0: 2b00 cmp r3, #0 808aba2: d016 beq.n 808abd2 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808aba4: 4956 ldr r1, [pc, #344] ; (808ad00 ) 808aba6: 4862 ldr r0, [pc, #392] ; (808ad30 ) 808aba8: f7c8 fe1c bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 808abac: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808abb0: 461a mov r2, r3 808abb2: 214a movs r1, #74 ; 0x4a 808abb4: f44f 7082 mov.w r0, #260 ; 0x104 808abb8: f7c9 fbd4 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808abbc: 4950 ldr r1, [pc, #320] ; (808ad00 ) 808abbe: f04f 30ff mov.w r0, #4294967295 808abc2: f7c8 fe0f bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, "Íàçâàíèå"); //"Çàïèñü â ôàéë" 808abc6: 4a59 ldr r2, [pc, #356] ; (808ad2c ) 808abc8: 214a movs r1, #74 ; 0x4a 808abca: 200a movs r0, #10 808abcc: f7c9 fbb2 bl 8054334 808abd0: e0c8 b.n 808ad64 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808abd2: 494b ldr r1, [pc, #300] ; (808ad00 ) 808abd4: f04f 30ff mov.w r0, #4294967295 808abd8: f7c8 fe04 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4,"Íàçâàíèå"); //"Çàïèñü â ôàéë" 808abdc: 4a53 ldr r2, [pc, #332] ; (808ad2c ) 808abde: 214a movs r1, #74 ; 0x4a 808abe0: 200a movs r0, #10 808abe2: f7c9 fba7 bl 8054334 808abe6: e0bd b.n 808ad64 } } } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808abe8: 4945 ldr r1, [pc, #276] ; (808ad00 ) 808abea: f04f 30ff mov.w r0, #4294967295 808abee: f7c8 fdf9 bl 80537e4 LCD_DisplayString(10, LCD_LINE_5, "Parameter"); 808abf2: 4a50 ldr r2, [pc, #320] ; (808ad34 ) 808abf4: 215a movs r1, #90 ; 0x5a 808abf6: 200a movs r0, #10 808abf8: f7c9 fb9c bl 8054334 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808abfc: 4b3d ldr r3, [pc, #244] ; (808acf4 ) 808abfe: 781b ldrb r3, [r3, #0] 808ac00: b2db uxtb r3, r3 808ac02: 4618 mov r0, r3 808ac04: 4b42 ldr r3, [pc, #264] ; (808ad10 ) 808ac06: 781b ldrb r3, [r3, #0] 808ac08: b2db uxtb r3, r3 808ac0a: 4619 mov r1, r3 808ac0c: 4a38 ldr r2, [pc, #224] ; (808acf0 ) 808ac0e: 0083 lsls r3, r0, #2 808ac10: 4413 add r3, r2 808ac12: 440b add r3, r1 808ac14: f503 730f add.w r3, r3, #572 ; 0x23c 808ac18: 781b ldrb r3, [r3, #0] 808ac1a: b2db uxtb r3, r3 808ac1c: f003 0307 and.w r3, r3, #7 808ac20: 2b00 cmp r3, #0 808ac22: d103 bne.n 808ac2c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808ac24: 4936 ldr r1, [pc, #216] ; (808ad00 ) 808ac26: 483b ldr r0, [pc, #236] ; (808ad14 ) 808ac28: f7c8 fddc bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, "Value"); 808ac2c: 4a42 ldr r2, [pc, #264] ; (808ad38 ) 808ac2e: 216a movs r1, #106 ; 0x6a 808ac30: 200a movs r0, #10 808ac32: f7c9 fb7f bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "HPF(Hz)"); 808ac36: 4a41 ldr r2, [pc, #260] ; (808ad3c ) 808ac38: 217a movs r1, #122 ; 0x7a 808ac3a: 200a movs r0, #10 808ac3c: f7c9 fb7a bl 8054334 LCD_DisplayString(10, LCD_LINE_8, "LPF(Hz)"); 808ac40: 4a3f ldr r2, [pc, #252] ; (808ad40 ) 808ac42: 218a movs r1, #138 ; 0x8a 808ac44: 200a movs r0, #10 808ac46: f7c9 fb75 bl 8054334 LCD_DisplayString(10, LCD_LINE_9, "Warning lvl"); 808ac4a: 4a3e ldr r2, [pc, #248] ; (808ad44 ) 808ac4c: 219a movs r1, #154 ; 0x9a 808ac4e: 200a movs r0, #10 808ac50: f7c9 fb70 bl 8054334 LCD_DisplayString(10, LCD_LINE_10, "Crash lvl"); 808ac54: 4a3c ldr r2, [pc, #240] ; (808ad48 ) 808ac56: 21aa movs r1, #170 ; 0xaa 808ac58: 200a movs r0, #10 808ac5a: f7c9 fb6b bl 8054334 if(menupos == DiagName) 808ac5e: 4b27 ldr r3, [pc, #156] ; (808acfc ) 808ac60: 781b ldrb r3, [r3, #0] 808ac62: b2db uxtb r3, r3 808ac64: 2b06 cmp r3, #6 808ac66: d127 bne.n 808acb8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ac68: 4925 ldr r1, [pc, #148] ; (808ad00 ) 808ac6a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ac6e: f7c8 fdb9 bl 80537e4 if(strlen(str1)) 808ac72: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ac76: 781b ldrb r3, [r3, #0] 808ac78: 2b00 cmp r3, #0 808ac7a: d017 beq.n 808acac { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ac7c: 4920 ldr r1, [pc, #128] ; (808ad00 ) 808ac7e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ac82: f7c8 fdaf bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 808ac86: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808ac8a: 461a mov r2, r3 808ac8c: 214a movs r1, #74 ; 0x4a 808ac8e: f44f 7082 mov.w r0, #260 ; 0x104 808ac92: f7c9 fb67 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ac96: 491a ldr r1, [pc, #104] ; (808ad00 ) 808ac98: f04f 30ff mov.w r0, #4294967295 808ac9c: f7c8 fda2 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, "Name"); 808aca0: 4a2a ldr r2, [pc, #168] ; (808ad4c ) 808aca2: 214a movs r1, #74 ; 0x4a 808aca4: 200a movs r0, #10 808aca6: f7c9 fb45 bl 8054334 808acaa: e05b b.n 808ad64 } else LCD_DisplayString(10, LCD_LINE_4, "Name"); 808acac: 4a27 ldr r2, [pc, #156] ; (808ad4c ) 808acae: 214a movs r1, #74 ; 0x4a 808acb0: 200a movs r0, #10 808acb2: f7c9 fb3f bl 8054334 808acb6: e055 b.n 808ad64 } else { if(strlen(str1)) 808acb8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808acbc: 781b ldrb r3, [r3, #0] 808acbe: 2b00 cmp r3, #0 808acc0: d046 beq.n 808ad50 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808acc2: 490f ldr r1, [pc, #60] ; (808ad00 ) 808acc4: 481a ldr r0, [pc, #104] ; (808ad30 ) 808acc6: f7c8 fd8d bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_4, str1); 808acca: f507 73f6 add.w r3, r7, #492 ; 0x1ec 808acce: 461a mov r2, r3 808acd0: 214a movs r1, #74 ; 0x4a 808acd2: f44f 7082 mov.w r0, #260 ; 0x104 808acd6: f7c9 fb45 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808acda: 4909 ldr r1, [pc, #36] ; (808ad00 ) 808acdc: f04f 30ff mov.w r0, #4294967295 808ace0: f7c8 fd80 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4, "Name"); //"Çàïèñü â ôàéë" 808ace4: 4a19 ldr r2, [pc, #100] ; (808ad4c ) 808ace6: 214a movs r1, #74 ; 0x4a 808ace8: 200a movs r0, #10 808acea: f7c9 fb23 bl 8054334 808acee: e039 b.n 808ad64 808acf0: 20023e60 .word 0x20023e60 808acf4: 20021011 .word 0x20021011 808acf8: 2002060c .word 0x2002060c 808acfc: 20020070 .word 0x20020070 808ad00: ff0a0f1f .word 0xff0a0f1f 808ad04: 20020f84 .word 0x20020f84 808ad08: 2002165c .word 0x2002165c 808ad0c: 080cf760 .word 0x080cf760 808ad10: 20021013 .word 0x20021013 808ad14: ff808080 .word 0xff808080 808ad18: 080d00e0 .word 0x080d00e0 808ad1c: 080cf208 .word 0x080cf208 808ad20: 080cf218 .word 0x080cf218 808ad24: 080d00ec .word 0x080d00ec 808ad28: 080d00fc .word 0x080d00fc 808ad2c: 080d0104 .word 0x080d0104 808ad30: ffd8aa57 .word 0xffd8aa57 808ad34: 080cf76c .word 0x080cf76c 808ad38: 080d0110 .word 0x080d0110 808ad3c: 080cf2b8 .word 0x080cf2b8 808ad40: 080cf2c0 .word 0x080cf2c0 808ad44: 080d0118 .word 0x080d0118 808ad48: 080d0124 .word 0x080d0124 808ad4c: 080d0130 .word 0x080d0130 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ad50: 498c ldr r1, [pc, #560] ; (808af84 ) 808ad52: f04f 30ff mov.w r0, #4294967295 808ad56: f7c8 fd45 bl 80537e4 LCD_DisplayString(10, LCD_LINE_4,"Name"); //"Çàïèñü â ôàéë" 808ad5a: 4a8b ldr r2, [pc, #556] ; (808af88 ) 808ad5c: 214a movs r1, #74 ; 0x4a 808ad5e: 200a movs r0, #10 808ad60: f7c9 fae8 bl 8054334 } } // if(menupos != Ok) 808ad64: 4b89 ldr r3, [pc, #548] ; (808af8c ) 808ad66: 781b ldrb r3, [r3, #0] 808ad68: b2db uxtb r3, r3 808ad6a: 2b00 cmp r3, #0 808ad6c: d005 beq.n 808ad7a LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ad6e: 4985 ldr r1, [pc, #532] ; (808af84 ) 808ad70: f04f 30ff mov.w r0, #4294967295 808ad74: f7c8 fd36 bl 80537e4 808ad78: e004 b.n 808ad84 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ad7a: 4982 ldr r1, [pc, #520] ; (808af84 ) 808ad7c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ad80: f7c8 fd30 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *)TEXT_Next[pardata.LANG]); 808ad84: 4b82 ldr r3, [pc, #520] ; (808af90 ) 808ad86: 7b1b ldrb r3, [r3, #12] 808ad88: b2db uxtb r3, r3 808ad8a: 461a mov r2, r3 808ad8c: 4b81 ldr r3, [pc, #516] ; (808af94 ) 808ad8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ad92: 461a mov r2, r3 808ad94: 213a movs r1, #58 ; 0x3a 808ad96: 200a movs r0, #10 808ad98: f7c9 facc bl 8054334 // k = pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7; 808ad9c: 4b7e ldr r3, [pc, #504] ; (808af98 ) 808ad9e: 781b ldrb r3, [r3, #0] 808ada0: b2db uxtb r3, r3 808ada2: 4618 mov r0, r3 808ada4: 4b7d ldr r3, [pc, #500] ; (808af9c ) 808ada6: 781b ldrb r3, [r3, #0] 808ada8: b2db uxtb r3, r3 808adaa: 4619 mov r1, r3 808adac: 4a78 ldr r2, [pc, #480] ; (808af90 ) 808adae: 0083 lsls r3, r0, #2 808adb0: 4413 add r3, r2 808adb2: 440b add r3, r1 808adb4: f503 730f add.w r3, r3, #572 ; 0x23c 808adb8: 781b ldrb r3, [r3, #0] 808adba: b2db uxtb r3, r3 808adbc: f003 0307 and.w r3, r3, #7 808adc0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 i = 0; 808adc4: 2300 movs r3, #0 808adc6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 for(j = 0; j < 3; j++) 808adca: 2300 movs r3, #0 808adcc: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808add0: e015 b.n 808adfe { if(k & (1 << j)) 808add2: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808add6: 2201 movs r2, #1 808add8: fa02 f303 lsl.w r3, r2, r3 808addc: 461a mov r2, r3 808adde: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808ade2: 4013 ands r3, r2 808ade4: 2b00 cmp r3, #0 808ade6: d005 beq.n 808adf4 { i = (j + 1); 808ade8: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808adec: 3301 adds r3, #1 808adee: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 break; 808adf2: e008 b.n 808ae06 for(j = 0; j < 3; j++) 808adf4: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808adf8: 3301 adds r3, #1 808adfa: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808adfe: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808ae02: 2b02 cmp r3, #2 808ae04: d9e5 bls.n 808add2 } } if(menupos != DiagAVS) 808ae06: 4b61 ldr r3, [pc, #388] ; (808af8c ) 808ae08: 781b ldrb r3, [r3, #0] 808ae0a: b2db uxtb r3, r3 808ae0c: 2b07 cmp r3, #7 808ae0e: d004 beq.n 808ae1a LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ae10: 495c ldr r1, [pc, #368] ; (808af84 ) 808ae12: 4863 ldr r0, [pc, #396] ; (808afa0 ) 808ae14: f7c8 fce6 bl 80537e4 808ae18: e004 b.n 808ae24 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ae1a: 495a ldr r1, [pc, #360] ; (808af84 ) 808ae1c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ae20: f7c8 fce0 bl 80537e4 if((focused) && (menupos == DiagAVS)) 808ae24: 4b5f ldr r3, [pc, #380] ; (808afa4 ) 808ae26: 781b ldrb r3, [r3, #0] 808ae28: b2db uxtb r3, r3 808ae2a: 2b00 cmp r3, #0 808ae2c: d01a beq.n 808ae64 808ae2e: 4b57 ldr r3, [pc, #348] ; (808af8c ) 808ae30: 781b ldrb r3, [r3, #0] 808ae32: b2db uxtb r3, r3 808ae34: 2b07 cmp r3, #7 808ae36: d115 bne.n 808ae64 { if(blk) 808ae38: 4b5b ldr r3, [pc, #364] ; (808afa8 ) 808ae3a: 681b ldr r3, [r3, #0] 808ae3c: 2b00 cmp r3, #0 808ae3e: d022 beq.n 808ae86 { LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIPR_1[pardata.LANG][i]); 808ae40: 4b53 ldr r3, [pc, #332] ; (808af90 ) 808ae42: 7b1b ldrb r3, [r3, #12] 808ae44: b2db uxtb r3, r3 808ae46: 461a mov r2, r3 808ae48: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ae4c: 4957 ldr r1, [pc, #348] ; (808afac ) 808ae4e: 0092 lsls r2, r2, #2 808ae50: 4413 add r3, r2 808ae52: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808ae56: 461a mov r2, r3 808ae58: 215a movs r1, #90 ; 0x5a 808ae5a: f44f 7082 mov.w r0, #260 ; 0x104 808ae5e: f7c9 fa81 bl 8054364 if(blk) 808ae62: e010 b.n 808ae86 } } else LCD_DisplayStringC(260, LCD_LINE_5, (char *) pIPR_1[pardata.LANG][i]); 808ae64: 4b4a ldr r3, [pc, #296] ; (808af90 ) 808ae66: 7b1b ldrb r3, [r3, #12] 808ae68: b2db uxtb r3, r3 808ae6a: 461a mov r2, r3 808ae6c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ae70: 494e ldr r1, [pc, #312] ; (808afac ) 808ae72: 0092 lsls r2, r2, #2 808ae74: 4413 add r3, r2 808ae76: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808ae7a: 461a mov r2, r3 808ae7c: 215a movs r1, #90 ; 0x5a 808ae7e: f44f 7082 mov.w r0, #260 ; 0x104 808ae82: f7c9 fa6f bl 8054364 // k = (pardata.DIAGN_MASK[CURR_POINT][CURR_USL] >> 3) & 0x1f; 808ae86: 4b44 ldr r3, [pc, #272] ; (808af98 ) 808ae88: 781b ldrb r3, [r3, #0] 808ae8a: b2db uxtb r3, r3 808ae8c: 4618 mov r0, r3 808ae8e: 4b43 ldr r3, [pc, #268] ; (808af9c ) 808ae90: 781b ldrb r3, [r3, #0] 808ae92: b2db uxtb r3, r3 808ae94: 4619 mov r1, r3 808ae96: 4a3e ldr r2, [pc, #248] ; (808af90 ) 808ae98: 0083 lsls r3, r0, #2 808ae9a: 4413 add r3, r2 808ae9c: 440b add r3, r1 808ae9e: f503 730f add.w r3, r3, #572 ; 0x23c 808aea2: 781b ldrb r3, [r3, #0] 808aea4: b2db uxtb r3, r3 808aea6: 08db lsrs r3, r3, #3 808aea8: b2db uxtb r3, r3 808aeaa: f003 031f and.w r3, r3, #31 808aeae: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 i = 0; 808aeb2: 2300 movs r3, #0 808aeb4: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 for(j = 0; j < 5; j++) 808aeb8: 2300 movs r3, #0 808aeba: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808aebe: e014 b.n 808aeea { if(k & (1 << j)) 808aec0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808aec4: 2201 movs r2, #1 808aec6: fa02 f303 lsl.w r3, r2, r3 808aeca: 461a mov r2, r3 808aecc: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808aed0: 4013 ands r3, r2 808aed2: 2b00 cmp r3, #0 808aed4: d004 beq.n 808aee0 { i = j; 808aed6: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808aeda: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 break; 808aede: e008 b.n 808aef2 for(j = 0; j < 5; j++) 808aee0: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808aee4: 3301 adds r3, #1 808aee6: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 808aeea: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 808aeee: 2b04 cmp r3, #4 808aef0: d9e6 bls.n 808aec0 } } if(menupos != DiagValue) 808aef2: 4b26 ldr r3, [pc, #152] ; (808af8c ) 808aef4: 781b ldrb r3, [r3, #0] 808aef6: b2db uxtb r3, r3 808aef8: 2b08 cmp r3, #8 808aefa: d004 beq.n 808af06 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808aefc: 4921 ldr r1, [pc, #132] ; (808af84 ) 808aefe: 4828 ldr r0, [pc, #160] ; (808afa0 ) 808af00: f7c8 fc70 bl 80537e4 808af04: e004 b.n 808af10 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808af06: 491f ldr r1, [pc, #124] ; (808af84 ) 808af08: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808af0c: f7c8 fc6a bl 80537e4 if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808af10: 4b21 ldr r3, [pc, #132] ; (808af98 ) 808af12: 781b ldrb r3, [r3, #0] 808af14: b2db uxtb r3, r3 808af16: 4618 mov r0, r3 808af18: 4b20 ldr r3, [pc, #128] ; (808af9c ) 808af1a: 781b ldrb r3, [r3, #0] 808af1c: b2db uxtb r3, r3 808af1e: 4619 mov r1, r3 808af20: 4a1b ldr r2, [pc, #108] ; (808af90 ) 808af22: 0083 lsls r3, r0, #2 808af24: 4413 add r3, r2 808af26: 440b add r3, r1 808af28: f503 730f add.w r3, r3, #572 ; 0x23c 808af2c: 781b ldrb r3, [r3, #0] 808af2e: b2db uxtb r3, r3 808af30: f003 0307 and.w r3, r3, #7 808af34: 2b00 cmp r3, #0 808af36: d103 bne.n 808af40 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808af38: 4912 ldr r1, [pc, #72] ; (808af84 ) 808af3a: 481d ldr r0, [pc, #116] ; (808afb0 ) 808af3c: f7c8 fc52 bl 80537e4 if((focused) && (menupos == DiagValue)) 808af40: 4b18 ldr r3, [pc, #96] ; (808afa4 ) 808af42: 781b ldrb r3, [r3, #0] 808af44: b2db uxtb r3, r3 808af46: 2b00 cmp r3, #0 808af48: d036 beq.n 808afb8 808af4a: 4b10 ldr r3, [pc, #64] ; (808af8c ) 808af4c: 781b ldrb r3, [r3, #0] 808af4e: b2db uxtb r3, r3 808af50: 2b08 cmp r3, #8 808af52: d131 bne.n 808afb8 { if(blk) 808af54: 4b14 ldr r3, [pc, #80] ; (808afa8 ) 808af56: 681b ldr r3, [r3, #0] 808af58: 2b00 cmp r3, #0 808af5a: d040 beq.n 808afde { LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][i]); 808af5c: 4b0c ldr r3, [pc, #48] ; (808af90 ) 808af5e: 7b1b ldrb r3, [r3, #12] 808af60: b2db uxtb r3, r3 808af62: 4618 mov r0, r3 808af64: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808af68: 4912 ldr r1, [pc, #72] ; (808afb4 ) 808af6a: 4603 mov r3, r0 808af6c: 009b lsls r3, r3, #2 808af6e: 4403 add r3, r0 808af70: 4413 add r3, r2 808af72: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808af76: 461a mov r2, r3 808af78: 216a movs r1, #106 ; 0x6a 808af7a: f44f 7082 mov.w r0, #260 ; 0x104 808af7e: f7c9 f9f1 bl 8054364 if(blk) 808af82: e02c b.n 808afde 808af84: ff0a0f1f .word 0xff0a0f1f 808af88: 080d0130 .word 0x080d0130 808af8c: 20020070 .word 0x20020070 808af90: 20023e60 .word 0x20023e60 808af94: 200205c4 .word 0x200205c4 808af98: 20021011 .word 0x20021011 808af9c: 20021013 .word 0x20021013 808afa0: ffd8aa57 .word 0xffd8aa57 808afa4: 20020f84 .word 0x20020f84 808afa8: 2002165c .word 0x2002165c 808afac: 2002017c .word 0x2002017c 808afb0: ff808080 .word 0xff808080 808afb4: 200202bc .word 0x200202bc } } else LCD_DisplayStringC(260, LCD_LINE_6, (char *) pIVS[pardata.LANG][i]); 808afb8: 4b9d ldr r3, [pc, #628] ; (808b230 ) 808afba: 7b1b ldrb r3, [r3, #12] 808afbc: b2db uxtb r3, r3 808afbe: 4618 mov r0, r3 808afc0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 808afc4: 499b ldr r1, [pc, #620] ; (808b234 ) 808afc6: 4603 mov r3, r0 808afc8: 009b lsls r3, r3, #2 808afca: 4403 add r3, r0 808afcc: 4413 add r3, r2 808afce: f851 3023 ldr.w r3, [r1, r3, lsl #2] 808afd2: 461a mov r2, r3 808afd4: 216a movs r1, #106 ; 0x6a 808afd6: f44f 7082 mov.w r0, #260 ; 0x104 808afda: f7c9 f9c3 bl 8054364 if(menupos == DiagHP_IDT) 808afde: 4b96 ldr r3, [pc, #600] ; (808b238 ) 808afe0: 781b ldrb r3, [r3, #0] 808afe2: b2db uxtb r3, r3 808afe4: 2b0d cmp r3, #13 808afe6: d15d bne.n 808b0a4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808afe8: 4994 ldr r1, [pc, #592] ; (808b23c ) 808afea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808afee: f7c8 fbf9 bl 80537e4 if(blk) 808aff2: 4b93 ldr r3, [pc, #588] ; (808b240 ) 808aff4: 681b ldr r3, [r3, #0] 808aff6: 2b00 cmp r3, #0 808aff8: d00b beq.n 808b012 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808affa: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808affe: b2db uxtb r3, r3 808b000: 461a mov r2, r3 808b002: 4b90 ldr r3, [pc, #576] ; (808b244 ) 808b004: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b008: 461a mov r2, r3 808b00a: 217a movs r1, #122 ; 0x7a 808b00c: 20c6 movs r0, #198 ; 0xc6 808b00e: f7c9 f991 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b012: 498a ldr r1, [pc, #552] ; (808b23c ) 808b014: 488c ldr r0, [pc, #560] ; (808b248 ) 808b016: f7c8 fbe5 bl 80537e4 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808b01a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808b01e: b2db uxtb r3, r3 808b020: 461a mov r2, r3 808b022: 4b88 ldr r3, [pc, #544] ; (808b244 ) 808b024: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b028: 461a mov r2, r3 808b02a: 217a movs r1, #122 ; 0x7a 808b02c: 20d6 movs r0, #214 ; 0xd6 808b02e: f7c9 f981 bl 8054334 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808b032: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808b036: b2db uxtb r3, r3 808b038: 461a mov r2, r3 808b03a: 4b82 ldr r3, [pc, #520] ; (808b244 ) 808b03c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b040: 461a mov r2, r3 808b042: 217a movs r1, #122 ; 0x7a 808b044: 20e6 movs r0, #230 ; 0xe6 808b046: f7c9 f975 bl 8054334 LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808b04a: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808b04e: b2db uxtb r3, r3 808b050: 461a mov r2, r3 808b052: 4b7c ldr r3, [pc, #496] ; (808b244 ) 808b054: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b058: 461a mov r2, r3 808b05a: 217a movs r1, #122 ; 0x7a 808b05c: 20f6 movs r0, #246 ; 0xf6 808b05e: f7c9 f969 bl 8054334 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808b062: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808b066: b2db uxtb r3, r3 808b068: 461a mov r2, r3 808b06a: 4b76 ldr r3, [pc, #472] ; (808b244 ) 808b06c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b070: 461a mov r2, r3 808b072: 217a movs r1, #122 ; 0x7a 808b074: f44f 7083 mov.w r0, #262 ; 0x106 808b078: f7c9 f95c bl 8054334 LCD_DisplayString(278, LCD_LINE_7, "."); 808b07c: 4a73 ldr r2, [pc, #460] ; (808b24c ) 808b07e: 217a movs r1, #122 ; 0x7a 808b080: f44f 708b mov.w r0, #278 ; 0x116 808b084: f7c9 f956 bl 8054334 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808b088: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808b08c: b2db uxtb r3, r3 808b08e: 461a mov r2, r3 808b090: 4b6c ldr r3, [pc, #432] ; (808b244 ) 808b092: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b096: 461a mov r2, r3 808b098: 217a movs r1, #122 ; 0x7a 808b09a: f44f 7093 mov.w r0, #294 ; 0x126 808b09e: f7c9 f949 bl 8054334 808b0a2: e1fd b.n 808b4a0 } else if(menupos == DiagHP_IET) 808b0a4: 4b64 ldr r3, [pc, #400] ; (808b238 ) 808b0a6: 781b ldrb r3, [r3, #0] 808b0a8: b2db uxtb r3, r3 808b0aa: 2b0e cmp r3, #14 808b0ac: d15d bne.n 808b16a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b0ae: 4963 ldr r1, [pc, #396] ; (808b23c ) 808b0b0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b0b4: f7c8 fb96 bl 80537e4 if(blk) 808b0b8: 4b61 ldr r3, [pc, #388] ; (808b240 ) 808b0ba: 681b ldr r3, [r3, #0] 808b0bc: 2b00 cmp r3, #0 808b0be: d00b beq.n 808b0d8 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808b0c0: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808b0c4: b2db uxtb r3, r3 808b0c6: 461a mov r2, r3 808b0c8: 4b5e ldr r3, [pc, #376] ; (808b244 ) 808b0ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b0ce: 461a mov r2, r3 808b0d0: 217a movs r1, #122 ; 0x7a 808b0d2: 20d6 movs r0, #214 ; 0xd6 808b0d4: f7c9 f92e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b0d8: 4958 ldr r1, [pc, #352] ; (808b23c ) 808b0da: 485b ldr r0, [pc, #364] ; (808b248 ) 808b0dc: f7c8 fb82 bl 80537e4 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808b0e0: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808b0e4: b2db uxtb r3, r3 808b0e6: 461a mov r2, r3 808b0e8: 4b56 ldr r3, [pc, #344] ; (808b244 ) 808b0ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b0ee: 461a mov r2, r3 808b0f0: 217a movs r1, #122 ; 0x7a 808b0f2: 20c6 movs r0, #198 ; 0xc6 808b0f4: f7c9 f91e bl 8054334 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808b0f8: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808b0fc: b2db uxtb r3, r3 808b0fe: 461a mov r2, r3 808b100: 4b50 ldr r3, [pc, #320] ; (808b244 ) 808b102: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b106: 461a mov r2, r3 808b108: 217a movs r1, #122 ; 0x7a 808b10a: 20e6 movs r0, #230 ; 0xe6 808b10c: f7c9 f912 bl 8054334 LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808b110: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808b114: b2db uxtb r3, r3 808b116: 461a mov r2, r3 808b118: 4b4a ldr r3, [pc, #296] ; (808b244 ) 808b11a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b11e: 461a mov r2, r3 808b120: 217a movs r1, #122 ; 0x7a 808b122: 20f6 movs r0, #246 ; 0xf6 808b124: f7c9 f906 bl 8054334 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808b128: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808b12c: b2db uxtb r3, r3 808b12e: 461a mov r2, r3 808b130: 4b44 ldr r3, [pc, #272] ; (808b244 ) 808b132: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b136: 461a mov r2, r3 808b138: 217a movs r1, #122 ; 0x7a 808b13a: f44f 7083 mov.w r0, #262 ; 0x106 808b13e: f7c9 f8f9 bl 8054334 LCD_DisplayString(278, LCD_LINE_7, "."); 808b142: 4a42 ldr r2, [pc, #264] ; (808b24c ) 808b144: 217a movs r1, #122 ; 0x7a 808b146: f44f 708b mov.w r0, #278 ; 0x116 808b14a: f7c9 f8f3 bl 8054334 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808b14e: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808b152: b2db uxtb r3, r3 808b154: 461a mov r2, r3 808b156: 4b3b ldr r3, [pc, #236] ; (808b244 ) 808b158: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b15c: 461a mov r2, r3 808b15e: 217a movs r1, #122 ; 0x7a 808b160: f44f 7093 mov.w r0, #294 ; 0x126 808b164: f7c9 f8e6 bl 8054334 808b168: e19a b.n 808b4a0 } else if(menupos == DiagHP_IES) 808b16a: 4b33 ldr r3, [pc, #204] ; (808b238 ) 808b16c: 781b ldrb r3, [r3, #0] 808b16e: b2db uxtb r3, r3 808b170: 2b0f cmp r3, #15 808b172: d16d bne.n 808b250 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b174: 4931 ldr r1, [pc, #196] ; (808b23c ) 808b176: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b17a: f7c8 fb33 bl 80537e4 if(blk) 808b17e: 4b30 ldr r3, [pc, #192] ; (808b240 ) 808b180: 681b ldr r3, [r3, #0] 808b182: 2b00 cmp r3, #0 808b184: d00b beq.n 808b19e LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808b186: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808b18a: b2db uxtb r3, r3 808b18c: 461a mov r2, r3 808b18e: 4b2d ldr r3, [pc, #180] ; (808b244 ) 808b190: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b194: 461a mov r2, r3 808b196: 217a movs r1, #122 ; 0x7a 808b198: 20e6 movs r0, #230 ; 0xe6 808b19a: f7c9 f8cb bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b19e: 4927 ldr r1, [pc, #156] ; (808b23c ) 808b1a0: 4829 ldr r0, [pc, #164] ; (808b248 ) 808b1a2: f7c8 fb1f bl 80537e4 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808b1a6: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808b1aa: b2db uxtb r3, r3 808b1ac: 461a mov r2, r3 808b1ae: 4b25 ldr r3, [pc, #148] ; (808b244 ) 808b1b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b1b4: 461a mov r2, r3 808b1b6: 217a movs r1, #122 ; 0x7a 808b1b8: 20c6 movs r0, #198 ; 0xc6 808b1ba: f7c9 f8bb bl 8054334 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808b1be: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808b1c2: b2db uxtb r3, r3 808b1c4: 461a mov r2, r3 808b1c6: 4b1f ldr r3, [pc, #124] ; (808b244 ) 808b1c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b1cc: 461a mov r2, r3 808b1ce: 217a movs r1, #122 ; 0x7a 808b1d0: 20d6 movs r0, #214 ; 0xd6 808b1d2: f7c9 f8af bl 8054334 LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808b1d6: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808b1da: b2db uxtb r3, r3 808b1dc: 461a mov r2, r3 808b1de: 4b19 ldr r3, [pc, #100] ; (808b244 ) 808b1e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b1e4: 461a mov r2, r3 808b1e6: 217a movs r1, #122 ; 0x7a 808b1e8: 20f6 movs r0, #246 ; 0xf6 808b1ea: f7c9 f8a3 bl 8054334 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808b1ee: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808b1f2: b2db uxtb r3, r3 808b1f4: 461a mov r2, r3 808b1f6: 4b13 ldr r3, [pc, #76] ; (808b244 ) 808b1f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b1fc: 461a mov r2, r3 808b1fe: 217a movs r1, #122 ; 0x7a 808b200: f44f 7083 mov.w r0, #262 ; 0x106 808b204: f7c9 f896 bl 8054334 LCD_DisplayString(278, LCD_LINE_7, "."); 808b208: 4a10 ldr r2, [pc, #64] ; (808b24c ) 808b20a: 217a movs r1, #122 ; 0x7a 808b20c: f44f 708b mov.w r0, #278 ; 0x116 808b210: f7c9 f890 bl 8054334 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808b214: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808b218: b2db uxtb r3, r3 808b21a: 461a mov r2, r3 808b21c: 4b09 ldr r3, [pc, #36] ; (808b244 ) 808b21e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b222: 461a mov r2, r3 808b224: 217a movs r1, #122 ; 0x7a 808b226: f44f 7093 mov.w r0, #294 ; 0x126 808b22a: f7c9 f883 bl 8054334 808b22e: e137 b.n 808b4a0 808b230: 20023e60 .word 0x20023e60 808b234: 200202bc .word 0x200202bc 808b238: 20020070 .word 0x20020070 808b23c: ff0a0f1f .word 0xff0a0f1f 808b240: 2002165c .word 0x2002165c 808b244: 20020964 .word 0x20020964 808b248: ffd8aa57 .word 0xffd8aa57 808b24c: 080cf820 .word 0x080cf820 } else if(menupos == DiagHP_IED) 808b250: 4bc5 ldr r3, [pc, #788] ; (808b568 ) 808b252: 781b ldrb r3, [r3, #0] 808b254: b2db uxtb r3, r3 808b256: 2b10 cmp r3, #16 808b258: d15d bne.n 808b316 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b25a: 49c4 ldr r1, [pc, #784] ; (808b56c ) 808b25c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b260: f7c8 fac0 bl 80537e4 if(blk) 808b264: 4bc2 ldr r3, [pc, #776] ; (808b570 ) 808b266: 681b ldr r3, [r3, #0] 808b268: 2b00 cmp r3, #0 808b26a: d00b beq.n 808b284 LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808b26c: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808b270: b2db uxtb r3, r3 808b272: 461a mov r2, r3 808b274: 4bbf ldr r3, [pc, #764] ; (808b574 ) 808b276: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b27a: 461a mov r2, r3 808b27c: 217a movs r1, #122 ; 0x7a 808b27e: 20f6 movs r0, #246 ; 0xf6 808b280: f7c9 f858 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b284: 49b9 ldr r1, [pc, #740] ; (808b56c ) 808b286: 48bc ldr r0, [pc, #752] ; (808b578 ) 808b288: f7c8 faac bl 80537e4 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808b28c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808b290: b2db uxtb r3, r3 808b292: 461a mov r2, r3 808b294: 4bb7 ldr r3, [pc, #732] ; (808b574 ) 808b296: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b29a: 461a mov r2, r3 808b29c: 217a movs r1, #122 ; 0x7a 808b29e: 20c6 movs r0, #198 ; 0xc6 808b2a0: f7c9 f848 bl 8054334 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808b2a4: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808b2a8: b2db uxtb r3, r3 808b2aa: 461a mov r2, r3 808b2ac: 4bb1 ldr r3, [pc, #708] ; (808b574 ) 808b2ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b2b2: 461a mov r2, r3 808b2b4: 217a movs r1, #122 ; 0x7a 808b2b6: 20d6 movs r0, #214 ; 0xd6 808b2b8: f7c9 f83c bl 8054334 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808b2bc: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808b2c0: b2db uxtb r3, r3 808b2c2: 461a mov r2, r3 808b2c4: 4bab ldr r3, [pc, #684] ; (808b574 ) 808b2c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b2ca: 461a mov r2, r3 808b2cc: 217a movs r1, #122 ; 0x7a 808b2ce: 20e6 movs r0, #230 ; 0xe6 808b2d0: f7c9 f830 bl 8054334 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808b2d4: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808b2d8: b2db uxtb r3, r3 808b2da: 461a mov r2, r3 808b2dc: 4ba5 ldr r3, [pc, #660] ; (808b574 ) 808b2de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b2e2: 461a mov r2, r3 808b2e4: 217a movs r1, #122 ; 0x7a 808b2e6: f44f 7083 mov.w r0, #262 ; 0x106 808b2ea: f7c9 f823 bl 8054334 LCD_DisplayString(278, LCD_LINE_7, "."); 808b2ee: 4aa3 ldr r2, [pc, #652] ; (808b57c ) 808b2f0: 217a movs r1, #122 ; 0x7a 808b2f2: f44f 708b mov.w r0, #278 ; 0x116 808b2f6: f7c9 f81d bl 8054334 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808b2fa: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808b2fe: b2db uxtb r3, r3 808b300: 461a mov r2, r3 808b302: 4b9c ldr r3, [pc, #624] ; (808b574 ) 808b304: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b308: 461a mov r2, r3 808b30a: 217a movs r1, #122 ; 0x7a 808b30c: f44f 7093 mov.w r0, #294 ; 0x126 808b310: f7c9 f810 bl 8054334 808b314: e0c4 b.n 808b4a0 } else if(menupos == DiagHP_IEE) 808b316: 4b94 ldr r3, [pc, #592] ; (808b568 ) 808b318: 781b ldrb r3, [r3, #0] 808b31a: b2db uxtb r3, r3 808b31c: 2b11 cmp r3, #17 808b31e: d15d bne.n 808b3dc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b320: 4992 ldr r1, [pc, #584] ; (808b56c ) 808b322: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b326: f7c8 fa5d bl 80537e4 if(blk) 808b32a: 4b91 ldr r3, [pc, #580] ; (808b570 ) 808b32c: 681b ldr r3, [r3, #0] 808b32e: 2b00 cmp r3, #0 808b330: d00c beq.n 808b34c LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808b332: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808b336: b2db uxtb r3, r3 808b338: 461a mov r2, r3 808b33a: 4b8e ldr r3, [pc, #568] ; (808b574 ) 808b33c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b340: 461a mov r2, r3 808b342: 217a movs r1, #122 ; 0x7a 808b344: f44f 7083 mov.w r0, #262 ; 0x106 808b348: f7c8 fff4 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b34c: 4987 ldr r1, [pc, #540] ; (808b56c ) 808b34e: 488a ldr r0, [pc, #552] ; (808b578 ) 808b350: f7c8 fa48 bl 80537e4 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808b354: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808b358: b2db uxtb r3, r3 808b35a: 461a mov r2, r3 808b35c: 4b85 ldr r3, [pc, #532] ; (808b574 ) 808b35e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b362: 461a mov r2, r3 808b364: 217a movs r1, #122 ; 0x7a 808b366: 20c6 movs r0, #198 ; 0xc6 808b368: f7c8 ffe4 bl 8054334 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808b36c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808b370: b2db uxtb r3, r3 808b372: 461a mov r2, r3 808b374: 4b7f ldr r3, [pc, #508] ; (808b574 ) 808b376: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b37a: 461a mov r2, r3 808b37c: 217a movs r1, #122 ; 0x7a 808b37e: 20d6 movs r0, #214 ; 0xd6 808b380: f7c8 ffd8 bl 8054334 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808b384: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808b388: b2db uxtb r3, r3 808b38a: 461a mov r2, r3 808b38c: 4b79 ldr r3, [pc, #484] ; (808b574 ) 808b38e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b392: 461a mov r2, r3 808b394: 217a movs r1, #122 ; 0x7a 808b396: 20e6 movs r0, #230 ; 0xe6 808b398: f7c8 ffcc bl 8054334 LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808b39c: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808b3a0: b2db uxtb r3, r3 808b3a2: 461a mov r2, r3 808b3a4: 4b73 ldr r3, [pc, #460] ; (808b574 ) 808b3a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b3aa: 461a mov r2, r3 808b3ac: 217a movs r1, #122 ; 0x7a 808b3ae: 20f6 movs r0, #246 ; 0xf6 808b3b0: f7c8 ffc0 bl 8054334 LCD_DisplayString(278, LCD_LINE_7, "."); 808b3b4: 4a71 ldr r2, [pc, #452] ; (808b57c ) 808b3b6: 217a movs r1, #122 ; 0x7a 808b3b8: f44f 708b mov.w r0, #278 ; 0x116 808b3bc: f7c8 ffba bl 8054334 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808b3c0: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808b3c4: b2db uxtb r3, r3 808b3c6: 461a mov r2, r3 808b3c8: 4b6a ldr r3, [pc, #424] ; (808b574 ) 808b3ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b3ce: 461a mov r2, r3 808b3d0: 217a movs r1, #122 ; 0x7a 808b3d2: f44f 7093 mov.w r0, #294 ; 0x126 808b3d6: f7c8 ffad bl 8054334 808b3da: e061 b.n 808b4a0 } else if(menupos == DiagHP_IKD) 808b3dc: 4b62 ldr r3, [pc, #392] ; (808b568 ) 808b3de: 781b ldrb r3, [r3, #0] 808b3e0: b2db uxtb r3, r3 808b3e2: 2b12 cmp r3, #18 808b3e4: d15c bne.n 808b4a0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b3e6: 4961 ldr r1, [pc, #388] ; (808b56c ) 808b3e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b3ec: f7c8 f9fa bl 80537e4 if(blk) 808b3f0: 4b5f ldr r3, [pc, #380] ; (808b570 ) 808b3f2: 681b ldr r3, [r3, #0] 808b3f4: 2b00 cmp r3, #0 808b3f6: d00c beq.n 808b412 LCD_DisplayString(294, LCD_LINE_7, (char *) pNUMS[ikdHP]); 808b3f8: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808b3fc: b2db uxtb r3, r3 808b3fe: 461a mov r2, r3 808b400: 4b5c ldr r3, [pc, #368] ; (808b574 ) 808b402: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b406: 461a mov r2, r3 808b408: 217a movs r1, #122 ; 0x7a 808b40a: f44f 7093 mov.w r0, #294 ; 0x126 808b40e: f7c8 ff91 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b412: 4956 ldr r1, [pc, #344] ; (808b56c ) 808b414: 4858 ldr r0, [pc, #352] ; (808b578 ) 808b416: f7c8 f9e5 bl 80537e4 LCD_DisplayString(198, LCD_LINE_7, (char *) pNUMS[idtHP]); 808b41a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808b41e: b2db uxtb r3, r3 808b420: 461a mov r2, r3 808b422: 4b54 ldr r3, [pc, #336] ; (808b574 ) 808b424: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b428: 461a mov r2, r3 808b42a: 217a movs r1, #122 ; 0x7a 808b42c: 20c6 movs r0, #198 ; 0xc6 808b42e: f7c8 ff81 bl 8054334 LCD_DisplayString(214, LCD_LINE_7, (char *) pNUMS[ietHP]); 808b432: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808b436: b2db uxtb r3, r3 808b438: 461a mov r2, r3 808b43a: 4b4e ldr r3, [pc, #312] ; (808b574 ) 808b43c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b440: 461a mov r2, r3 808b442: 217a movs r1, #122 ; 0x7a 808b444: 20d6 movs r0, #214 ; 0xd6 808b446: f7c8 ff75 bl 8054334 LCD_DisplayString(230, LCD_LINE_7, (char *) pNUMS[iesHP]); 808b44a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808b44e: b2db uxtb r3, r3 808b450: 461a mov r2, r3 808b452: 4b48 ldr r3, [pc, #288] ; (808b574 ) 808b454: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b458: 461a mov r2, r3 808b45a: 217a movs r1, #122 ; 0x7a 808b45c: 20e6 movs r0, #230 ; 0xe6 808b45e: f7c8 ff69 bl 8054334 LCD_DisplayString(246, LCD_LINE_7, (char *) pNUMS[iedHP]); 808b462: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808b466: b2db uxtb r3, r3 808b468: 461a mov r2, r3 808b46a: 4b42 ldr r3, [pc, #264] ; (808b574 ) 808b46c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b470: 461a mov r2, r3 808b472: 217a movs r1, #122 ; 0x7a 808b474: 20f6 movs r0, #246 ; 0xf6 808b476: f7c8 ff5d bl 8054334 LCD_DisplayString(262, LCD_LINE_7, (char *) pNUMS[ieeHP]); 808b47a: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808b47e: b2db uxtb r3, r3 808b480: 461a mov r2, r3 808b482: 4b3c ldr r3, [pc, #240] ; (808b574 ) 808b484: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b488: 461a mov r2, r3 808b48a: 217a movs r1, #122 ; 0x7a 808b48c: f44f 7083 mov.w r0, #262 ; 0x106 808b490: f7c8 ff50 bl 8054334 LCD_DisplayString(278, LCD_LINE_7, "."); 808b494: 4a39 ldr r2, [pc, #228] ; (808b57c ) 808b496: 217a movs r1, #122 ; 0x7a 808b498: f44f 708b mov.w r0, #278 ; 0x116 808b49c: f7c8 ff4a bl 8054334 } //LP if(menupos == DiagLP_IDT) 808b4a0: 4b31 ldr r3, [pc, #196] ; (808b568 ) 808b4a2: 781b ldrb r3, [r3, #0] 808b4a4: b2db uxtb r3, r3 808b4a6: 2b13 cmp r3, #19 808b4a8: d16a bne.n 808b580 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b4aa: 4930 ldr r1, [pc, #192] ; (808b56c ) 808b4ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b4b0: f7c8 f998 bl 80537e4 if(blk) 808b4b4: 4b2e ldr r3, [pc, #184] ; (808b570 ) 808b4b6: 681b ldr r3, [r3, #0] 808b4b8: 2b00 cmp r3, #0 808b4ba: d00b beq.n 808b4d4 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808b4bc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b4c0: b2db uxtb r3, r3 808b4c2: 461a mov r2, r3 808b4c4: 4b2b ldr r3, [pc, #172] ; (808b574 ) 808b4c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b4ca: 461a mov r2, r3 808b4cc: 218a movs r1, #138 ; 0x8a 808b4ce: 20c6 movs r0, #198 ; 0xc6 808b4d0: f7c8 ff30 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b4d4: 4925 ldr r1, [pc, #148] ; (808b56c ) 808b4d6: 4828 ldr r0, [pc, #160] ; (808b578 ) 808b4d8: f7c8 f984 bl 80537e4 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808b4dc: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b4e0: b2db uxtb r3, r3 808b4e2: 461a mov r2, r3 808b4e4: 4b23 ldr r3, [pc, #140] ; (808b574 ) 808b4e6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b4ea: 461a mov r2, r3 808b4ec: 218a movs r1, #138 ; 0x8a 808b4ee: 20d6 movs r0, #214 ; 0xd6 808b4f0: f7c8 ff20 bl 8054334 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808b4f4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b4f8: b2db uxtb r3, r3 808b4fa: 461a mov r2, r3 808b4fc: 4b1d ldr r3, [pc, #116] ; (808b574 ) 808b4fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b502: 461a mov r2, r3 808b504: 218a movs r1, #138 ; 0x8a 808b506: 20e6 movs r0, #230 ; 0xe6 808b508: f7c8 ff14 bl 8054334 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808b50c: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808b510: b2db uxtb r3, r3 808b512: 461a mov r2, r3 808b514: 4b17 ldr r3, [pc, #92] ; (808b574 ) 808b516: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b51a: 461a mov r2, r3 808b51c: 218a movs r1, #138 ; 0x8a 808b51e: 20f6 movs r0, #246 ; 0xf6 808b520: f7c8 ff08 bl 8054334 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808b524: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808b528: b2db uxtb r3, r3 808b52a: 461a mov r2, r3 808b52c: 4b11 ldr r3, [pc, #68] ; (808b574 ) 808b52e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b532: 461a mov r2, r3 808b534: 218a movs r1, #138 ; 0x8a 808b536: f44f 7083 mov.w r0, #262 ; 0x106 808b53a: f7c8 fefb bl 8054334 LCD_DisplayString(278, LCD_LINE_8, "."); 808b53e: 4a0f ldr r2, [pc, #60] ; (808b57c ) 808b540: 218a movs r1, #138 ; 0x8a 808b542: f44f 708b mov.w r0, #278 ; 0x116 808b546: f7c8 fef5 bl 8054334 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808b54a: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808b54e: b2db uxtb r3, r3 808b550: 461a mov r2, r3 808b552: 4b08 ldr r3, [pc, #32] ; (808b574 ) 808b554: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b558: 461a mov r2, r3 808b55a: 218a movs r1, #138 ; 0x8a 808b55c: f44f 7093 mov.w r0, #294 ; 0x126 808b560: f7c8 fee8 bl 8054334 808b564: e206 b.n 808b974 808b566: bf00 nop 808b568: 20020070 .word 0x20020070 808b56c: ff0a0f1f .word 0xff0a0f1f 808b570: 2002165c .word 0x2002165c 808b574: 20020964 .word 0x20020964 808b578: ffd8aa57 .word 0xffd8aa57 808b57c: 080cf820 .word 0x080cf820 } else if(menupos == DiagLP_IET) 808b580: 4bc5 ldr r3, [pc, #788] ; (808b898 ) 808b582: 781b ldrb r3, [r3, #0] 808b584: b2db uxtb r3, r3 808b586: 2b14 cmp r3, #20 808b588: d15d bne.n 808b646 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b58a: 49c4 ldr r1, [pc, #784] ; (808b89c ) 808b58c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b590: f7c8 f928 bl 80537e4 if(blk) 808b594: 4bc2 ldr r3, [pc, #776] ; (808b8a0 ) 808b596: 681b ldr r3, [r3, #0] 808b598: 2b00 cmp r3, #0 808b59a: d00b beq.n 808b5b4 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808b59c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b5a0: b2db uxtb r3, r3 808b5a2: 461a mov r2, r3 808b5a4: 4bbf ldr r3, [pc, #764] ; (808b8a4 ) 808b5a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b5aa: 461a mov r2, r3 808b5ac: 218a movs r1, #138 ; 0x8a 808b5ae: 20d6 movs r0, #214 ; 0xd6 808b5b0: f7c8 fec0 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b5b4: 49b9 ldr r1, [pc, #740] ; (808b89c ) 808b5b6: 48bc ldr r0, [pc, #752] ; (808b8a8 ) 808b5b8: f7c8 f914 bl 80537e4 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808b5bc: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b5c0: b2db uxtb r3, r3 808b5c2: 461a mov r2, r3 808b5c4: 4bb7 ldr r3, [pc, #732] ; (808b8a4 ) 808b5c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b5ca: 461a mov r2, r3 808b5cc: 218a movs r1, #138 ; 0x8a 808b5ce: 20c6 movs r0, #198 ; 0xc6 808b5d0: f7c8 feb0 bl 8054334 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808b5d4: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b5d8: b2db uxtb r3, r3 808b5da: 461a mov r2, r3 808b5dc: 4bb1 ldr r3, [pc, #708] ; (808b8a4 ) 808b5de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b5e2: 461a mov r2, r3 808b5e4: 218a movs r1, #138 ; 0x8a 808b5e6: 20e6 movs r0, #230 ; 0xe6 808b5e8: f7c8 fea4 bl 8054334 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808b5ec: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808b5f0: b2db uxtb r3, r3 808b5f2: 461a mov r2, r3 808b5f4: 4bab ldr r3, [pc, #684] ; (808b8a4 ) 808b5f6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b5fa: 461a mov r2, r3 808b5fc: 218a movs r1, #138 ; 0x8a 808b5fe: 20f6 movs r0, #246 ; 0xf6 808b600: f7c8 fe98 bl 8054334 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808b604: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808b608: b2db uxtb r3, r3 808b60a: 461a mov r2, r3 808b60c: 4ba5 ldr r3, [pc, #660] ; (808b8a4 ) 808b60e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b612: 461a mov r2, r3 808b614: 218a movs r1, #138 ; 0x8a 808b616: f44f 7083 mov.w r0, #262 ; 0x106 808b61a: f7c8 fe8b bl 8054334 LCD_DisplayString(278, LCD_LINE_8, "."); 808b61e: 4aa3 ldr r2, [pc, #652] ; (808b8ac ) 808b620: 218a movs r1, #138 ; 0x8a 808b622: f44f 708b mov.w r0, #278 ; 0x116 808b626: f7c8 fe85 bl 8054334 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808b62a: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808b62e: b2db uxtb r3, r3 808b630: 461a mov r2, r3 808b632: 4b9c ldr r3, [pc, #624] ; (808b8a4 ) 808b634: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b638: 461a mov r2, r3 808b63a: 218a movs r1, #138 ; 0x8a 808b63c: f44f 7093 mov.w r0, #294 ; 0x126 808b640: f7c8 fe78 bl 8054334 808b644: e196 b.n 808b974 } else if(menupos == DiagLP_IES) 808b646: 4b94 ldr r3, [pc, #592] ; (808b898 ) 808b648: 781b ldrb r3, [r3, #0] 808b64a: b2db uxtb r3, r3 808b64c: 2b15 cmp r3, #21 808b64e: d15d bne.n 808b70c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b650: 4992 ldr r1, [pc, #584] ; (808b89c ) 808b652: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b656: f7c8 f8c5 bl 80537e4 if(blk) 808b65a: 4b91 ldr r3, [pc, #580] ; (808b8a0 ) 808b65c: 681b ldr r3, [r3, #0] 808b65e: 2b00 cmp r3, #0 808b660: d00b beq.n 808b67a LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808b662: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b666: b2db uxtb r3, r3 808b668: 461a mov r2, r3 808b66a: 4b8e ldr r3, [pc, #568] ; (808b8a4 ) 808b66c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b670: 461a mov r2, r3 808b672: 218a movs r1, #138 ; 0x8a 808b674: 20e6 movs r0, #230 ; 0xe6 808b676: f7c8 fe5d bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b67a: 4988 ldr r1, [pc, #544] ; (808b89c ) 808b67c: 488a ldr r0, [pc, #552] ; (808b8a8 ) 808b67e: f7c8 f8b1 bl 80537e4 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808b682: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b686: b2db uxtb r3, r3 808b688: 461a mov r2, r3 808b68a: 4b86 ldr r3, [pc, #536] ; (808b8a4 ) 808b68c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b690: 461a mov r2, r3 808b692: 218a movs r1, #138 ; 0x8a 808b694: 20c6 movs r0, #198 ; 0xc6 808b696: f7c8 fe4d bl 8054334 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808b69a: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b69e: b2db uxtb r3, r3 808b6a0: 461a mov r2, r3 808b6a2: 4b80 ldr r3, [pc, #512] ; (808b8a4 ) 808b6a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b6a8: 461a mov r2, r3 808b6aa: 218a movs r1, #138 ; 0x8a 808b6ac: 20d6 movs r0, #214 ; 0xd6 808b6ae: f7c8 fe41 bl 8054334 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808b6b2: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808b6b6: b2db uxtb r3, r3 808b6b8: 461a mov r2, r3 808b6ba: 4b7a ldr r3, [pc, #488] ; (808b8a4 ) 808b6bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b6c0: 461a mov r2, r3 808b6c2: 218a movs r1, #138 ; 0x8a 808b6c4: 20f6 movs r0, #246 ; 0xf6 808b6c6: f7c8 fe35 bl 8054334 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808b6ca: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808b6ce: b2db uxtb r3, r3 808b6d0: 461a mov r2, r3 808b6d2: 4b74 ldr r3, [pc, #464] ; (808b8a4 ) 808b6d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b6d8: 461a mov r2, r3 808b6da: 218a movs r1, #138 ; 0x8a 808b6dc: f44f 7083 mov.w r0, #262 ; 0x106 808b6e0: f7c8 fe28 bl 8054334 LCD_DisplayString(278, LCD_LINE_8, "."); 808b6e4: 4a71 ldr r2, [pc, #452] ; (808b8ac ) 808b6e6: 218a movs r1, #138 ; 0x8a 808b6e8: f44f 708b mov.w r0, #278 ; 0x116 808b6ec: f7c8 fe22 bl 8054334 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808b6f0: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808b6f4: b2db uxtb r3, r3 808b6f6: 461a mov r2, r3 808b6f8: 4b6a ldr r3, [pc, #424] ; (808b8a4 ) 808b6fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b6fe: 461a mov r2, r3 808b700: 218a movs r1, #138 ; 0x8a 808b702: f44f 7093 mov.w r0, #294 ; 0x126 808b706: f7c8 fe15 bl 8054334 808b70a: e133 b.n 808b974 } else if(menupos == DiagLP_IED) 808b70c: 4b62 ldr r3, [pc, #392] ; (808b898 ) 808b70e: 781b ldrb r3, [r3, #0] 808b710: b2db uxtb r3, r3 808b712: 2b16 cmp r3, #22 808b714: d15d bne.n 808b7d2 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b716: 4961 ldr r1, [pc, #388] ; (808b89c ) 808b718: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b71c: f7c8 f862 bl 80537e4 if(blk) 808b720: 4b5f ldr r3, [pc, #380] ; (808b8a0 ) 808b722: 681b ldr r3, [r3, #0] 808b724: 2b00 cmp r3, #0 808b726: d00b beq.n 808b740 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808b728: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808b72c: b2db uxtb r3, r3 808b72e: 461a mov r2, r3 808b730: 4b5c ldr r3, [pc, #368] ; (808b8a4 ) 808b732: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b736: 461a mov r2, r3 808b738: 218a movs r1, #138 ; 0x8a 808b73a: 20f6 movs r0, #246 ; 0xf6 808b73c: f7c8 fdfa bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b740: 4956 ldr r1, [pc, #344] ; (808b89c ) 808b742: 4859 ldr r0, [pc, #356] ; (808b8a8 ) 808b744: f7c8 f84e bl 80537e4 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808b748: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b74c: b2db uxtb r3, r3 808b74e: 461a mov r2, r3 808b750: 4b54 ldr r3, [pc, #336] ; (808b8a4 ) 808b752: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b756: 461a mov r2, r3 808b758: 218a movs r1, #138 ; 0x8a 808b75a: 20c6 movs r0, #198 ; 0xc6 808b75c: f7c8 fdea bl 8054334 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808b760: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b764: b2db uxtb r3, r3 808b766: 461a mov r2, r3 808b768: 4b4e ldr r3, [pc, #312] ; (808b8a4 ) 808b76a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b76e: 461a mov r2, r3 808b770: 218a movs r1, #138 ; 0x8a 808b772: 20d6 movs r0, #214 ; 0xd6 808b774: f7c8 fdde bl 8054334 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808b778: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b77c: b2db uxtb r3, r3 808b77e: 461a mov r2, r3 808b780: 4b48 ldr r3, [pc, #288] ; (808b8a4 ) 808b782: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b786: 461a mov r2, r3 808b788: 218a movs r1, #138 ; 0x8a 808b78a: 20e6 movs r0, #230 ; 0xe6 808b78c: f7c8 fdd2 bl 8054334 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808b790: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808b794: b2db uxtb r3, r3 808b796: 461a mov r2, r3 808b798: 4b42 ldr r3, [pc, #264] ; (808b8a4 ) 808b79a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b79e: 461a mov r2, r3 808b7a0: 218a movs r1, #138 ; 0x8a 808b7a2: f44f 7083 mov.w r0, #262 ; 0x106 808b7a6: f7c8 fdc5 bl 8054334 LCD_DisplayString(278, LCD_LINE_8, "."); 808b7aa: 4a40 ldr r2, [pc, #256] ; (808b8ac ) 808b7ac: 218a movs r1, #138 ; 0x8a 808b7ae: f44f 708b mov.w r0, #278 ; 0x116 808b7b2: f7c8 fdbf bl 8054334 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808b7b6: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808b7ba: b2db uxtb r3, r3 808b7bc: 461a mov r2, r3 808b7be: 4b39 ldr r3, [pc, #228] ; (808b8a4 ) 808b7c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b7c4: 461a mov r2, r3 808b7c6: 218a movs r1, #138 ; 0x8a 808b7c8: f44f 7093 mov.w r0, #294 ; 0x126 808b7cc: f7c8 fdb2 bl 8054334 808b7d0: e0d0 b.n 808b974 } else if(menupos == DiagLP_IEE) 808b7d2: 4b31 ldr r3, [pc, #196] ; (808b898 ) 808b7d4: 781b ldrb r3, [r3, #0] 808b7d6: b2db uxtb r3, r3 808b7d8: 2b17 cmp r3, #23 808b7da: d169 bne.n 808b8b0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b7dc: 492f ldr r1, [pc, #188] ; (808b89c ) 808b7de: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b7e2: f7c7 ffff bl 80537e4 if(blk) 808b7e6: 4b2e ldr r3, [pc, #184] ; (808b8a0 ) 808b7e8: 681b ldr r3, [r3, #0] 808b7ea: 2b00 cmp r3, #0 808b7ec: d00c beq.n 808b808 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808b7ee: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808b7f2: b2db uxtb r3, r3 808b7f4: 461a mov r2, r3 808b7f6: 4b2b ldr r3, [pc, #172] ; (808b8a4 ) 808b7f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b7fc: 461a mov r2, r3 808b7fe: 218a movs r1, #138 ; 0x8a 808b800: f44f 7083 mov.w r0, #262 ; 0x106 808b804: f7c8 fd96 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b808: 4924 ldr r1, [pc, #144] ; (808b89c ) 808b80a: 4827 ldr r0, [pc, #156] ; (808b8a8 ) 808b80c: f7c7 ffea bl 80537e4 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808b810: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b814: b2db uxtb r3, r3 808b816: 461a mov r2, r3 808b818: 4b22 ldr r3, [pc, #136] ; (808b8a4 ) 808b81a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b81e: 461a mov r2, r3 808b820: 218a movs r1, #138 ; 0x8a 808b822: 20c6 movs r0, #198 ; 0xc6 808b824: f7c8 fd86 bl 8054334 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808b828: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b82c: b2db uxtb r3, r3 808b82e: 461a mov r2, r3 808b830: 4b1c ldr r3, [pc, #112] ; (808b8a4 ) 808b832: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b836: 461a mov r2, r3 808b838: 218a movs r1, #138 ; 0x8a 808b83a: 20d6 movs r0, #214 ; 0xd6 808b83c: f7c8 fd7a bl 8054334 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808b840: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b844: b2db uxtb r3, r3 808b846: 461a mov r2, r3 808b848: 4b16 ldr r3, [pc, #88] ; (808b8a4 ) 808b84a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b84e: 461a mov r2, r3 808b850: 218a movs r1, #138 ; 0x8a 808b852: 20e6 movs r0, #230 ; 0xe6 808b854: f7c8 fd6e bl 8054334 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808b858: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808b85c: b2db uxtb r3, r3 808b85e: 461a mov r2, r3 808b860: 4b10 ldr r3, [pc, #64] ; (808b8a4 ) 808b862: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b866: 461a mov r2, r3 808b868: 218a movs r1, #138 ; 0x8a 808b86a: 20f6 movs r0, #246 ; 0xf6 808b86c: f7c8 fd62 bl 8054334 LCD_DisplayString(278, LCD_LINE_8, "."); 808b870: 4a0e ldr r2, [pc, #56] ; (808b8ac ) 808b872: 218a movs r1, #138 ; 0x8a 808b874: f44f 708b mov.w r0, #278 ; 0x116 808b878: f7c8 fd5c bl 8054334 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808b87c: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808b880: b2db uxtb r3, r3 808b882: 461a mov r2, r3 808b884: 4b07 ldr r3, [pc, #28] ; (808b8a4 ) 808b886: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b88a: 461a mov r2, r3 808b88c: 218a movs r1, #138 ; 0x8a 808b88e: f44f 7093 mov.w r0, #294 ; 0x126 808b892: f7c8 fd4f bl 8054334 808b896: e06d b.n 808b974 808b898: 20020070 .word 0x20020070 808b89c: ff0a0f1f .word 0xff0a0f1f 808b8a0: 2002165c .word 0x2002165c 808b8a4: 20020964 .word 0x20020964 808b8a8: ffd8aa57 .word 0xffd8aa57 808b8ac: 080cf820 .word 0x080cf820 } else if(menupos == DiagLP_IKD) 808b8b0: 4bc5 ldr r3, [pc, #788] ; (808bbc8 ) 808b8b2: 781b ldrb r3, [r3, #0] 808b8b4: b2db uxtb r3, r3 808b8b6: 2b18 cmp r3, #24 808b8b8: d15c bne.n 808b974 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b8ba: 49c4 ldr r1, [pc, #784] ; (808bbcc ) 808b8bc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b8c0: f7c7 ff90 bl 80537e4 if(blk) 808b8c4: 4bc2 ldr r3, [pc, #776] ; (808bbd0 ) 808b8c6: 681b ldr r3, [r3, #0] 808b8c8: 2b00 cmp r3, #0 808b8ca: d00c beq.n 808b8e6 LCD_DisplayString(294, LCD_LINE_8, (char *) pNUMS[ikdLP]); 808b8cc: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808b8d0: b2db uxtb r3, r3 808b8d2: 461a mov r2, r3 808b8d4: 4bbf ldr r3, [pc, #764] ; (808bbd4 ) 808b8d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b8da: 461a mov r2, r3 808b8dc: 218a movs r1, #138 ; 0x8a 808b8de: f44f 7093 mov.w r0, #294 ; 0x126 808b8e2: f7c8 fd27 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b8e6: 49b9 ldr r1, [pc, #740] ; (808bbcc ) 808b8e8: 48bb ldr r0, [pc, #748] ; (808bbd8 ) 808b8ea: f7c7 ff7b bl 80537e4 LCD_DisplayString(198, LCD_LINE_8, (char *) pNUMS[idtLP]); 808b8ee: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808b8f2: b2db uxtb r3, r3 808b8f4: 461a mov r2, r3 808b8f6: 4bb7 ldr r3, [pc, #732] ; (808bbd4 ) 808b8f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b8fc: 461a mov r2, r3 808b8fe: 218a movs r1, #138 ; 0x8a 808b900: 20c6 movs r0, #198 ; 0xc6 808b902: f7c8 fd17 bl 8054334 LCD_DisplayString(214, LCD_LINE_8, (char *) pNUMS[ietLP]); 808b906: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808b90a: b2db uxtb r3, r3 808b90c: 461a mov r2, r3 808b90e: 4bb1 ldr r3, [pc, #708] ; (808bbd4 ) 808b910: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b914: 461a mov r2, r3 808b916: 218a movs r1, #138 ; 0x8a 808b918: 20d6 movs r0, #214 ; 0xd6 808b91a: f7c8 fd0b bl 8054334 LCD_DisplayString(230, LCD_LINE_8, (char *) pNUMS[iesLP]); 808b91e: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808b922: b2db uxtb r3, r3 808b924: 461a mov r2, r3 808b926: 4bab ldr r3, [pc, #684] ; (808bbd4 ) 808b928: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b92c: 461a mov r2, r3 808b92e: 218a movs r1, #138 ; 0x8a 808b930: 20e6 movs r0, #230 ; 0xe6 808b932: f7c8 fcff bl 8054334 LCD_DisplayString(246, LCD_LINE_8, (char *) pNUMS[iedLP]); 808b936: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808b93a: b2db uxtb r3, r3 808b93c: 461a mov r2, r3 808b93e: 4ba5 ldr r3, [pc, #660] ; (808bbd4 ) 808b940: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b944: 461a mov r2, r3 808b946: 218a movs r1, #138 ; 0x8a 808b948: 20f6 movs r0, #246 ; 0xf6 808b94a: f7c8 fcf3 bl 8054334 LCD_DisplayString(262, LCD_LINE_8, (char *) pNUMS[ieeLP]); 808b94e: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808b952: b2db uxtb r3, r3 808b954: 461a mov r2, r3 808b956: 4b9f ldr r3, [pc, #636] ; (808bbd4 ) 808b958: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b95c: 461a mov r2, r3 808b95e: 218a movs r1, #138 ; 0x8a 808b960: f44f 7083 mov.w r0, #262 ; 0x106 808b964: f7c8 fce6 bl 8054334 LCD_DisplayString(278, LCD_LINE_8, "."); 808b968: 4a9c ldr r2, [pc, #624] ; (808bbdc ) 808b96a: 218a movs r1, #138 ; 0x8a 808b96c: f44f 708b mov.w r0, #278 ; 0x116 808b970: f7c8 fce0 bl 8054334 } //_W if(menupos == DiagW_IDT) 808b974: 4b94 ldr r3, [pc, #592] ; (808bbc8 ) 808b976: 781b ldrb r3, [r3, #0] 808b978: b2db uxtb r3, r3 808b97a: 2b19 cmp r3, #25 808b97c: d15d bne.n 808ba3a { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808b97e: 4993 ldr r1, [pc, #588] ; (808bbcc ) 808b980: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808b984: f7c7 ff2e bl 80537e4 if(blk) 808b988: 4b91 ldr r3, [pc, #580] ; (808bbd0 ) 808b98a: 681b ldr r3, [r3, #0] 808b98c: 2b00 cmp r3, #0 808b98e: d00b beq.n 808b9a8 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808b990: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808b994: b2db uxtb r3, r3 808b996: 461a mov r2, r3 808b998: 4b8e ldr r3, [pc, #568] ; (808bbd4 ) 808b99a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b99e: 461a mov r2, r3 808b9a0: 219a movs r1, #154 ; 0x9a 808b9a2: 20c6 movs r0, #198 ; 0xc6 808b9a4: f7c8 fcc6 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808b9a8: 4988 ldr r1, [pc, #544] ; (808bbcc ) 808b9aa: 488b ldr r0, [pc, #556] ; (808bbd8 ) 808b9ac: f7c7 ff1a bl 80537e4 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808b9b0: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808b9b4: b2db uxtb r3, r3 808b9b6: 461a mov r2, r3 808b9b8: 4b86 ldr r3, [pc, #536] ; (808bbd4 ) 808b9ba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b9be: 461a mov r2, r3 808b9c0: 219a movs r1, #154 ; 0x9a 808b9c2: 20d6 movs r0, #214 ; 0xd6 808b9c4: f7c8 fcb6 bl 8054334 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808b9c8: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808b9cc: b2db uxtb r3, r3 808b9ce: 461a mov r2, r3 808b9d0: 4b80 ldr r3, [pc, #512] ; (808bbd4 ) 808b9d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b9d6: 461a mov r2, r3 808b9d8: 219a movs r1, #154 ; 0x9a 808b9da: 20e6 movs r0, #230 ; 0xe6 808b9dc: f7c8 fcaa bl 8054334 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808b9e0: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808b9e4: b2db uxtb r3, r3 808b9e6: 461a mov r2, r3 808b9e8: 4b7a ldr r3, [pc, #488] ; (808bbd4 ) 808b9ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808b9ee: 461a mov r2, r3 808b9f0: 219a movs r1, #154 ; 0x9a 808b9f2: 20f6 movs r0, #246 ; 0xf6 808b9f4: f7c8 fc9e bl 8054334 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808b9f8: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808b9fc: b2db uxtb r3, r3 808b9fe: 461a mov r2, r3 808ba00: 4b74 ldr r3, [pc, #464] ; (808bbd4 ) 808ba02: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ba06: 461a mov r2, r3 808ba08: 219a movs r1, #154 ; 0x9a 808ba0a: f44f 7083 mov.w r0, #262 ; 0x106 808ba0e: f7c8 fc91 bl 8054334 LCD_DisplayString(278, LCD_LINE_9, "."); 808ba12: 4a72 ldr r2, [pc, #456] ; (808bbdc ) 808ba14: 219a movs r1, #154 ; 0x9a 808ba16: f44f 708b mov.w r0, #278 ; 0x116 808ba1a: f7c8 fc8b bl 8054334 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808ba1e: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808ba22: b2db uxtb r3, r3 808ba24: 461a mov r2, r3 808ba26: 4b6b ldr r3, [pc, #428] ; (808bbd4 ) 808ba28: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ba2c: 461a mov r2, r3 808ba2e: 219a movs r1, #154 ; 0x9a 808ba30: f44f 7093 mov.w r0, #294 ; 0x126 808ba34: f7c8 fc7e bl 8054334 808ba38: e1fa b.n 808be30 } else if(menupos == DiagW_IET) 808ba3a: 4b63 ldr r3, [pc, #396] ; (808bbc8 ) 808ba3c: 781b ldrb r3, [r3, #0] 808ba3e: b2db uxtb r3, r3 808ba40: 2b1a cmp r3, #26 808ba42: d15d bne.n 808bb00 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ba44: 4961 ldr r1, [pc, #388] ; (808bbcc ) 808ba46: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ba4a: f7c7 fecb bl 80537e4 if(blk) 808ba4e: 4b60 ldr r3, [pc, #384] ; (808bbd0 ) 808ba50: 681b ldr r3, [r3, #0] 808ba52: 2b00 cmp r3, #0 808ba54: d00b beq.n 808ba6e LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808ba56: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808ba5a: b2db uxtb r3, r3 808ba5c: 461a mov r2, r3 808ba5e: 4b5d ldr r3, [pc, #372] ; (808bbd4 ) 808ba60: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ba64: 461a mov r2, r3 808ba66: 219a movs r1, #154 ; 0x9a 808ba68: 20d6 movs r0, #214 ; 0xd6 808ba6a: f7c8 fc63 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ba6e: 4957 ldr r1, [pc, #348] ; (808bbcc ) 808ba70: 4859 ldr r0, [pc, #356] ; (808bbd8 ) 808ba72: f7c7 feb7 bl 80537e4 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808ba76: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808ba7a: b2db uxtb r3, r3 808ba7c: 461a mov r2, r3 808ba7e: 4b55 ldr r3, [pc, #340] ; (808bbd4 ) 808ba80: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ba84: 461a mov r2, r3 808ba86: 219a movs r1, #154 ; 0x9a 808ba88: 20c6 movs r0, #198 ; 0xc6 808ba8a: f7c8 fc53 bl 8054334 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808ba8e: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808ba92: b2db uxtb r3, r3 808ba94: 461a mov r2, r3 808ba96: 4b4f ldr r3, [pc, #316] ; (808bbd4 ) 808ba98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ba9c: 461a mov r2, r3 808ba9e: 219a movs r1, #154 ; 0x9a 808baa0: 20e6 movs r0, #230 ; 0xe6 808baa2: f7c8 fc47 bl 8054334 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808baa6: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808baaa: b2db uxtb r3, r3 808baac: 461a mov r2, r3 808baae: 4b49 ldr r3, [pc, #292] ; (808bbd4 ) 808bab0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bab4: 461a mov r2, r3 808bab6: 219a movs r1, #154 ; 0x9a 808bab8: 20f6 movs r0, #246 ; 0xf6 808baba: f7c8 fc3b bl 8054334 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808babe: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808bac2: b2db uxtb r3, r3 808bac4: 461a mov r2, r3 808bac6: 4b43 ldr r3, [pc, #268] ; (808bbd4 ) 808bac8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bacc: 461a mov r2, r3 808bace: 219a movs r1, #154 ; 0x9a 808bad0: f44f 7083 mov.w r0, #262 ; 0x106 808bad4: f7c8 fc2e bl 8054334 LCD_DisplayString(278, LCD_LINE_9, "."); 808bad8: 4a40 ldr r2, [pc, #256] ; (808bbdc ) 808bada: 219a movs r1, #154 ; 0x9a 808badc: f44f 708b mov.w r0, #278 ; 0x116 808bae0: f7c8 fc28 bl 8054334 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808bae4: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808bae8: b2db uxtb r3, r3 808baea: 461a mov r2, r3 808baec: 4b39 ldr r3, [pc, #228] ; (808bbd4 ) 808baee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808baf2: 461a mov r2, r3 808baf4: 219a movs r1, #154 ; 0x9a 808baf6: f44f 7093 mov.w r0, #294 ; 0x126 808bafa: f7c8 fc1b bl 8054334 808bafe: e197 b.n 808be30 } else if(menupos == DiagW_IES) 808bb00: 4b31 ldr r3, [pc, #196] ; (808bbc8 ) 808bb02: 781b ldrb r3, [r3, #0] 808bb04: b2db uxtb r3, r3 808bb06: 2b1b cmp r3, #27 808bb08: d16a bne.n 808bbe0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bb0a: 4930 ldr r1, [pc, #192] ; (808bbcc ) 808bb0c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bb10: f7c7 fe68 bl 80537e4 if(blk) 808bb14: 4b2e ldr r3, [pc, #184] ; (808bbd0 ) 808bb16: 681b ldr r3, [r3, #0] 808bb18: 2b00 cmp r3, #0 808bb1a: d00b beq.n 808bb34 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808bb1c: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808bb20: b2db uxtb r3, r3 808bb22: 461a mov r2, r3 808bb24: 4b2b ldr r3, [pc, #172] ; (808bbd4 ) 808bb26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bb2a: 461a mov r2, r3 808bb2c: 219a movs r1, #154 ; 0x9a 808bb2e: 20e6 movs r0, #230 ; 0xe6 808bb30: f7c8 fc00 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bb34: 4925 ldr r1, [pc, #148] ; (808bbcc ) 808bb36: 4828 ldr r0, [pc, #160] ; (808bbd8 ) 808bb38: f7c7 fe54 bl 80537e4 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808bb3c: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808bb40: b2db uxtb r3, r3 808bb42: 461a mov r2, r3 808bb44: 4b23 ldr r3, [pc, #140] ; (808bbd4 ) 808bb46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bb4a: 461a mov r2, r3 808bb4c: 219a movs r1, #154 ; 0x9a 808bb4e: 20c6 movs r0, #198 ; 0xc6 808bb50: f7c8 fbf0 bl 8054334 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808bb54: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808bb58: b2db uxtb r3, r3 808bb5a: 461a mov r2, r3 808bb5c: 4b1d ldr r3, [pc, #116] ; (808bbd4 ) 808bb5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bb62: 461a mov r2, r3 808bb64: 219a movs r1, #154 ; 0x9a 808bb66: 20d6 movs r0, #214 ; 0xd6 808bb68: f7c8 fbe4 bl 8054334 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808bb6c: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808bb70: b2db uxtb r3, r3 808bb72: 461a mov r2, r3 808bb74: 4b17 ldr r3, [pc, #92] ; (808bbd4 ) 808bb76: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bb7a: 461a mov r2, r3 808bb7c: 219a movs r1, #154 ; 0x9a 808bb7e: 20f6 movs r0, #246 ; 0xf6 808bb80: f7c8 fbd8 bl 8054334 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808bb84: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808bb88: b2db uxtb r3, r3 808bb8a: 461a mov r2, r3 808bb8c: 4b11 ldr r3, [pc, #68] ; (808bbd4 ) 808bb8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bb92: 461a mov r2, r3 808bb94: 219a movs r1, #154 ; 0x9a 808bb96: f44f 7083 mov.w r0, #262 ; 0x106 808bb9a: f7c8 fbcb bl 8054334 LCD_DisplayString(278, LCD_LINE_9, "."); 808bb9e: 4a0f ldr r2, [pc, #60] ; (808bbdc ) 808bba0: 219a movs r1, #154 ; 0x9a 808bba2: f44f 708b mov.w r0, #278 ; 0x116 808bba6: f7c8 fbc5 bl 8054334 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808bbaa: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808bbae: b2db uxtb r3, r3 808bbb0: 461a mov r2, r3 808bbb2: 4b08 ldr r3, [pc, #32] ; (808bbd4 ) 808bbb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bbb8: 461a mov r2, r3 808bbba: 219a movs r1, #154 ; 0x9a 808bbbc: f44f 7093 mov.w r0, #294 ; 0x126 808bbc0: f7c8 fbb8 bl 8054334 808bbc4: e134 b.n 808be30 808bbc6: bf00 nop 808bbc8: 20020070 .word 0x20020070 808bbcc: ff0a0f1f .word 0xff0a0f1f 808bbd0: 2002165c .word 0x2002165c 808bbd4: 20020964 .word 0x20020964 808bbd8: ffd8aa57 .word 0xffd8aa57 808bbdc: 080cf820 .word 0x080cf820 } else if(menupos == DiagW_IED) 808bbe0: 4bc5 ldr r3, [pc, #788] ; (808bef8 ) 808bbe2: 781b ldrb r3, [r3, #0] 808bbe4: b2db uxtb r3, r3 808bbe6: 2b1c cmp r3, #28 808bbe8: d15d bne.n 808bca6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bbea: 49c4 ldr r1, [pc, #784] ; (808befc ) 808bbec: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bbf0: f7c7 fdf8 bl 80537e4 if(blk) 808bbf4: 4bc2 ldr r3, [pc, #776] ; (808bf00 ) 808bbf6: 681b ldr r3, [r3, #0] 808bbf8: 2b00 cmp r3, #0 808bbfa: d00b beq.n 808bc14 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808bbfc: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808bc00: b2db uxtb r3, r3 808bc02: 461a mov r2, r3 808bc04: 4bbf ldr r3, [pc, #764] ; (808bf04 ) 808bc06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bc0a: 461a mov r2, r3 808bc0c: 219a movs r1, #154 ; 0x9a 808bc0e: 20f6 movs r0, #246 ; 0xf6 808bc10: f7c8 fb90 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bc14: 49b9 ldr r1, [pc, #740] ; (808befc ) 808bc16: 48bc ldr r0, [pc, #752] ; (808bf08 ) 808bc18: f7c7 fde4 bl 80537e4 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808bc1c: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808bc20: b2db uxtb r3, r3 808bc22: 461a mov r2, r3 808bc24: 4bb7 ldr r3, [pc, #732] ; (808bf04 ) 808bc26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bc2a: 461a mov r2, r3 808bc2c: 219a movs r1, #154 ; 0x9a 808bc2e: 20c6 movs r0, #198 ; 0xc6 808bc30: f7c8 fb80 bl 8054334 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808bc34: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808bc38: b2db uxtb r3, r3 808bc3a: 461a mov r2, r3 808bc3c: 4bb1 ldr r3, [pc, #708] ; (808bf04 ) 808bc3e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bc42: 461a mov r2, r3 808bc44: 219a movs r1, #154 ; 0x9a 808bc46: 20d6 movs r0, #214 ; 0xd6 808bc48: f7c8 fb74 bl 8054334 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808bc4c: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808bc50: b2db uxtb r3, r3 808bc52: 461a mov r2, r3 808bc54: 4bab ldr r3, [pc, #684] ; (808bf04 ) 808bc56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bc5a: 461a mov r2, r3 808bc5c: 219a movs r1, #154 ; 0x9a 808bc5e: 20e6 movs r0, #230 ; 0xe6 808bc60: f7c8 fb68 bl 8054334 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808bc64: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808bc68: b2db uxtb r3, r3 808bc6a: 461a mov r2, r3 808bc6c: 4ba5 ldr r3, [pc, #660] ; (808bf04 ) 808bc6e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bc72: 461a mov r2, r3 808bc74: 219a movs r1, #154 ; 0x9a 808bc76: f44f 7083 mov.w r0, #262 ; 0x106 808bc7a: f7c8 fb5b bl 8054334 LCD_DisplayString(278, LCD_LINE_9, "."); 808bc7e: 4aa3 ldr r2, [pc, #652] ; (808bf0c ) 808bc80: 219a movs r1, #154 ; 0x9a 808bc82: f44f 708b mov.w r0, #278 ; 0x116 808bc86: f7c8 fb55 bl 8054334 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808bc8a: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808bc8e: b2db uxtb r3, r3 808bc90: 461a mov r2, r3 808bc92: 4b9c ldr r3, [pc, #624] ; (808bf04 ) 808bc94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bc98: 461a mov r2, r3 808bc9a: 219a movs r1, #154 ; 0x9a 808bc9c: f44f 7093 mov.w r0, #294 ; 0x126 808bca0: f7c8 fb48 bl 8054334 808bca4: e0c4 b.n 808be30 } else if(menupos == DiagW_IEE) 808bca6: 4b94 ldr r3, [pc, #592] ; (808bef8 ) 808bca8: 781b ldrb r3, [r3, #0] 808bcaa: b2db uxtb r3, r3 808bcac: 2b1d cmp r3, #29 808bcae: d15d bne.n 808bd6c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bcb0: 4992 ldr r1, [pc, #584] ; (808befc ) 808bcb2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bcb6: f7c7 fd95 bl 80537e4 if(blk) 808bcba: 4b91 ldr r3, [pc, #580] ; (808bf00 ) 808bcbc: 681b ldr r3, [r3, #0] 808bcbe: 2b00 cmp r3, #0 808bcc0: d00c beq.n 808bcdc LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808bcc2: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808bcc6: b2db uxtb r3, r3 808bcc8: 461a mov r2, r3 808bcca: 4b8e ldr r3, [pc, #568] ; (808bf04 ) 808bccc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bcd0: 461a mov r2, r3 808bcd2: 219a movs r1, #154 ; 0x9a 808bcd4: f44f 7083 mov.w r0, #262 ; 0x106 808bcd8: f7c8 fb2c bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bcdc: 4987 ldr r1, [pc, #540] ; (808befc ) 808bcde: 488a ldr r0, [pc, #552] ; (808bf08 ) 808bce0: f7c7 fd80 bl 80537e4 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808bce4: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808bce8: b2db uxtb r3, r3 808bcea: 461a mov r2, r3 808bcec: 4b85 ldr r3, [pc, #532] ; (808bf04 ) 808bcee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bcf2: 461a mov r2, r3 808bcf4: 219a movs r1, #154 ; 0x9a 808bcf6: 20c6 movs r0, #198 ; 0xc6 808bcf8: f7c8 fb1c bl 8054334 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808bcfc: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808bd00: b2db uxtb r3, r3 808bd02: 461a mov r2, r3 808bd04: 4b7f ldr r3, [pc, #508] ; (808bf04 ) 808bd06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bd0a: 461a mov r2, r3 808bd0c: 219a movs r1, #154 ; 0x9a 808bd0e: 20d6 movs r0, #214 ; 0xd6 808bd10: f7c8 fb10 bl 8054334 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808bd14: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808bd18: b2db uxtb r3, r3 808bd1a: 461a mov r2, r3 808bd1c: 4b79 ldr r3, [pc, #484] ; (808bf04 ) 808bd1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bd22: 461a mov r2, r3 808bd24: 219a movs r1, #154 ; 0x9a 808bd26: 20e6 movs r0, #230 ; 0xe6 808bd28: f7c8 fb04 bl 8054334 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808bd2c: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808bd30: b2db uxtb r3, r3 808bd32: 461a mov r2, r3 808bd34: 4b73 ldr r3, [pc, #460] ; (808bf04 ) 808bd36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bd3a: 461a mov r2, r3 808bd3c: 219a movs r1, #154 ; 0x9a 808bd3e: 20f6 movs r0, #246 ; 0xf6 808bd40: f7c8 faf8 bl 8054334 LCD_DisplayString(278, LCD_LINE_9, "."); 808bd44: 4a71 ldr r2, [pc, #452] ; (808bf0c ) 808bd46: 219a movs r1, #154 ; 0x9a 808bd48: f44f 708b mov.w r0, #278 ; 0x116 808bd4c: f7c8 faf2 bl 8054334 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808bd50: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808bd54: b2db uxtb r3, r3 808bd56: 461a mov r2, r3 808bd58: 4b6a ldr r3, [pc, #424] ; (808bf04 ) 808bd5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bd5e: 461a mov r2, r3 808bd60: 219a movs r1, #154 ; 0x9a 808bd62: f44f 7093 mov.w r0, #294 ; 0x126 808bd66: f7c8 fae5 bl 8054334 808bd6a: e061 b.n 808be30 } else if(menupos == DiagW_IKD) 808bd6c: 4b62 ldr r3, [pc, #392] ; (808bef8 ) 808bd6e: 781b ldrb r3, [r3, #0] 808bd70: b2db uxtb r3, r3 808bd72: 2b1e cmp r3, #30 808bd74: d15c bne.n 808be30 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bd76: 4961 ldr r1, [pc, #388] ; (808befc ) 808bd78: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bd7c: f7c7 fd32 bl 80537e4 if(blk) 808bd80: 4b5f ldr r3, [pc, #380] ; (808bf00 ) 808bd82: 681b ldr r3, [r3, #0] 808bd84: 2b00 cmp r3, #0 808bd86: d00c beq.n 808bda2 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd_W]); 808bd88: f897 33be ldrb.w r3, [r7, #958] ; 0x3be 808bd8c: b2db uxtb r3, r3 808bd8e: 461a mov r2, r3 808bd90: 4b5c ldr r3, [pc, #368] ; (808bf04 ) 808bd92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bd96: 461a mov r2, r3 808bd98: 219a movs r1, #154 ; 0x9a 808bd9a: f44f 7093 mov.w r0, #294 ; 0x126 808bd9e: f7c8 fac9 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bda2: 4956 ldr r1, [pc, #344] ; (808befc ) 808bda4: 4858 ldr r0, [pc, #352] ; (808bf08 ) 808bda6: f7c7 fd1d bl 80537e4 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt_W]); 808bdaa: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808bdae: b2db uxtb r3, r3 808bdb0: 461a mov r2, r3 808bdb2: 4b54 ldr r3, [pc, #336] ; (808bf04 ) 808bdb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bdb8: 461a mov r2, r3 808bdba: 219a movs r1, #154 ; 0x9a 808bdbc: 20c6 movs r0, #198 ; 0xc6 808bdbe: f7c8 fab9 bl 8054334 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet_W]); 808bdc2: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808bdc6: b2db uxtb r3, r3 808bdc8: 461a mov r2, r3 808bdca: 4b4e ldr r3, [pc, #312] ; (808bf04 ) 808bdcc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bdd0: 461a mov r2, r3 808bdd2: 219a movs r1, #154 ; 0x9a 808bdd4: 20d6 movs r0, #214 ; 0xd6 808bdd6: f7c8 faad bl 8054334 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies_W]); 808bdda: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808bdde: b2db uxtb r3, r3 808bde0: 461a mov r2, r3 808bde2: 4b48 ldr r3, [pc, #288] ; (808bf04 ) 808bde4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bde8: 461a mov r2, r3 808bdea: 219a movs r1, #154 ; 0x9a 808bdec: 20e6 movs r0, #230 ; 0xe6 808bdee: f7c8 faa1 bl 8054334 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied_W]); 808bdf2: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808bdf6: b2db uxtb r3, r3 808bdf8: 461a mov r2, r3 808bdfa: 4b42 ldr r3, [pc, #264] ; (808bf04 ) 808bdfc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808be00: 461a mov r2, r3 808be02: 219a movs r1, #154 ; 0x9a 808be04: 20f6 movs r0, #246 ; 0xf6 808be06: f7c8 fa95 bl 8054334 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee_W]); 808be0a: f897 33bf ldrb.w r3, [r7, #959] ; 0x3bf 808be0e: b2db uxtb r3, r3 808be10: 461a mov r2, r3 808be12: 4b3c ldr r3, [pc, #240] ; (808bf04 ) 808be14: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808be18: 461a mov r2, r3 808be1a: 219a movs r1, #154 ; 0x9a 808be1c: f44f 7083 mov.w r0, #262 ; 0x106 808be20: f7c8 fa88 bl 8054334 LCD_DisplayString(278, LCD_LINE_9, "."); 808be24: 4a39 ldr r2, [pc, #228] ; (808bf0c ) 808be26: 219a movs r1, #154 ; 0x9a 808be28: f44f 708b mov.w r0, #278 ; 0x116 808be2c: f7c8 fa82 bl 8054334 } //_A if(menupos == DiagA_IDT) 808be30: 4b31 ldr r3, [pc, #196] ; (808bef8 ) 808be32: 781b ldrb r3, [r3, #0] 808be34: b2db uxtb r3, r3 808be36: 2b1f cmp r3, #31 808be38: d16a bne.n 808bf10 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808be3a: 4930 ldr r1, [pc, #192] ; (808befc ) 808be3c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808be40: f7c7 fcd0 bl 80537e4 if(blk) 808be44: 4b2e ldr r3, [pc, #184] ; (808bf00 ) 808be46: 681b ldr r3, [r3, #0] 808be48: 2b00 cmp r3, #0 808be4a: d00b beq.n 808be64 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808be4c: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808be50: b2db uxtb r3, r3 808be52: 461a mov r2, r3 808be54: 4b2b ldr r3, [pc, #172] ; (808bf04 ) 808be56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808be5a: 461a mov r2, r3 808be5c: 21aa movs r1, #170 ; 0xaa 808be5e: 20c6 movs r0, #198 ; 0xc6 808be60: f7c8 fa68 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808be64: 4925 ldr r1, [pc, #148] ; (808befc ) 808be66: 4828 ldr r0, [pc, #160] ; (808bf08 ) 808be68: f7c7 fcbc bl 80537e4 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808be6c: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808be70: b2db uxtb r3, r3 808be72: 461a mov r2, r3 808be74: 4b23 ldr r3, [pc, #140] ; (808bf04 ) 808be76: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808be7a: 461a mov r2, r3 808be7c: 21aa movs r1, #170 ; 0xaa 808be7e: 20d6 movs r0, #214 ; 0xd6 808be80: f7c8 fa58 bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808be84: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808be88: b2db uxtb r3, r3 808be8a: 461a mov r2, r3 808be8c: 4b1d ldr r3, [pc, #116] ; (808bf04 ) 808be8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808be92: 461a mov r2, r3 808be94: 21aa movs r1, #170 ; 0xaa 808be96: 20e6 movs r0, #230 ; 0xe6 808be98: f7c8 fa4c bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808be9c: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808bea0: b2db uxtb r3, r3 808bea2: 461a mov r2, r3 808bea4: 4b17 ldr r3, [pc, #92] ; (808bf04 ) 808bea6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808beaa: 461a mov r2, r3 808beac: 21aa movs r1, #170 ; 0xaa 808beae: 20f6 movs r0, #246 ; 0xf6 808beb0: f7c8 fa40 bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808beb4: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808beb8: b2db uxtb r3, r3 808beba: 461a mov r2, r3 808bebc: 4b11 ldr r3, [pc, #68] ; (808bf04 ) 808bebe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bec2: 461a mov r2, r3 808bec4: 21aa movs r1, #170 ; 0xaa 808bec6: f44f 7083 mov.w r0, #262 ; 0x106 808beca: f7c8 fa33 bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 808bece: 4a0f ldr r2, [pc, #60] ; (808bf0c ) 808bed0: 21aa movs r1, #170 ; 0xaa 808bed2: f44f 708b mov.w r0, #278 ; 0x116 808bed6: f7c8 fa2d bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808beda: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808bede: b2db uxtb r3, r3 808bee0: 461a mov r2, r3 808bee2: 4b08 ldr r3, [pc, #32] ; (808bf04 ) 808bee4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bee8: 461a mov r2, r3 808beea: 21aa movs r1, #170 ; 0xaa 808beec: f44f 7093 mov.w r0, #294 ; 0x126 808bef0: f7c8 fa20 bl 8054334 808bef4: e206 b.n 808c304 808bef6: bf00 nop 808bef8: 20020070 .word 0x20020070 808befc: ff0a0f1f .word 0xff0a0f1f 808bf00: 2002165c .word 0x2002165c 808bf04: 20020964 .word 0x20020964 808bf08: ffd8aa57 .word 0xffd8aa57 808bf0c: 080cf820 .word 0x080cf820 } else if(menupos == DiagA_IET) 808bf10: 4bc5 ldr r3, [pc, #788] ; (808c228 ) 808bf12: 781b ldrb r3, [r3, #0] 808bf14: b2db uxtb r3, r3 808bf16: 2b20 cmp r3, #32 808bf18: d15d bne.n 808bfd6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bf1a: 49c4 ldr r1, [pc, #784] ; (808c22c ) 808bf1c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bf20: f7c7 fc60 bl 80537e4 if(blk) 808bf24: 4bc2 ldr r3, [pc, #776] ; (808c230 ) 808bf26: 681b ldr r3, [r3, #0] 808bf28: 2b00 cmp r3, #0 808bf2a: d00b beq.n 808bf44 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808bf2c: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808bf30: b2db uxtb r3, r3 808bf32: 461a mov r2, r3 808bf34: 4bbf ldr r3, [pc, #764] ; (808c234 ) 808bf36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bf3a: 461a mov r2, r3 808bf3c: 21aa movs r1, #170 ; 0xaa 808bf3e: 20d6 movs r0, #214 ; 0xd6 808bf40: f7c8 f9f8 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808bf44: 49b9 ldr r1, [pc, #740] ; (808c22c ) 808bf46: 48bc ldr r0, [pc, #752] ; (808c238 ) 808bf48: f7c7 fc4c bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808bf4c: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808bf50: b2db uxtb r3, r3 808bf52: 461a mov r2, r3 808bf54: 4bb7 ldr r3, [pc, #732] ; (808c234 ) 808bf56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bf5a: 461a mov r2, r3 808bf5c: 21aa movs r1, #170 ; 0xaa 808bf5e: 20c6 movs r0, #198 ; 0xc6 808bf60: f7c8 f9e8 bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808bf64: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808bf68: b2db uxtb r3, r3 808bf6a: 461a mov r2, r3 808bf6c: 4bb1 ldr r3, [pc, #708] ; (808c234 ) 808bf6e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bf72: 461a mov r2, r3 808bf74: 21aa movs r1, #170 ; 0xaa 808bf76: 20e6 movs r0, #230 ; 0xe6 808bf78: f7c8 f9dc bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808bf7c: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808bf80: b2db uxtb r3, r3 808bf82: 461a mov r2, r3 808bf84: 4bab ldr r3, [pc, #684] ; (808c234 ) 808bf86: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bf8a: 461a mov r2, r3 808bf8c: 21aa movs r1, #170 ; 0xaa 808bf8e: 20f6 movs r0, #246 ; 0xf6 808bf90: f7c8 f9d0 bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808bf94: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808bf98: b2db uxtb r3, r3 808bf9a: 461a mov r2, r3 808bf9c: 4ba5 ldr r3, [pc, #660] ; (808c234 ) 808bf9e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bfa2: 461a mov r2, r3 808bfa4: 21aa movs r1, #170 ; 0xaa 808bfa6: f44f 7083 mov.w r0, #262 ; 0x106 808bfaa: f7c8 f9c3 bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 808bfae: 4aa3 ldr r2, [pc, #652] ; (808c23c ) 808bfb0: 21aa movs r1, #170 ; 0xaa 808bfb2: f44f 708b mov.w r0, #278 ; 0x116 808bfb6: f7c8 f9bd bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808bfba: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808bfbe: b2db uxtb r3, r3 808bfc0: 461a mov r2, r3 808bfc2: 4b9c ldr r3, [pc, #624] ; (808c234 ) 808bfc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808bfc8: 461a mov r2, r3 808bfca: 21aa movs r1, #170 ; 0xaa 808bfcc: f44f 7093 mov.w r0, #294 ; 0x126 808bfd0: f7c8 f9b0 bl 8054334 808bfd4: e196 b.n 808c304 } else if(menupos == DiagA_IES) 808bfd6: 4b94 ldr r3, [pc, #592] ; (808c228 ) 808bfd8: 781b ldrb r3, [r3, #0] 808bfda: b2db uxtb r3, r3 808bfdc: 2b21 cmp r3, #33 ; 0x21 808bfde: d15d bne.n 808c09c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808bfe0: 4992 ldr r1, [pc, #584] ; (808c22c ) 808bfe2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808bfe6: f7c7 fbfd bl 80537e4 if(blk) 808bfea: 4b91 ldr r3, [pc, #580] ; (808c230 ) 808bfec: 681b ldr r3, [r3, #0] 808bfee: 2b00 cmp r3, #0 808bff0: d00b beq.n 808c00a LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808bff2: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808bff6: b2db uxtb r3, r3 808bff8: 461a mov r2, r3 808bffa: 4b8e ldr r3, [pc, #568] ; (808c234 ) 808bffc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c000: 461a mov r2, r3 808c002: 21aa movs r1, #170 ; 0xaa 808c004: 20e6 movs r0, #230 ; 0xe6 808c006: f7c8 f995 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c00a: 4988 ldr r1, [pc, #544] ; (808c22c ) 808c00c: 488a ldr r0, [pc, #552] ; (808c238 ) 808c00e: f7c7 fbe9 bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808c012: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c016: b2db uxtb r3, r3 808c018: 461a mov r2, r3 808c01a: 4b86 ldr r3, [pc, #536] ; (808c234 ) 808c01c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c020: 461a mov r2, r3 808c022: 21aa movs r1, #170 ; 0xaa 808c024: 20c6 movs r0, #198 ; 0xc6 808c026: f7c8 f985 bl 8054334 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808c02a: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c02e: b2db uxtb r3, r3 808c030: 461a mov r2, r3 808c032: 4b80 ldr r3, [pc, #512] ; (808c234 ) 808c034: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c038: 461a mov r2, r3 808c03a: 21aa movs r1, #170 ; 0xaa 808c03c: 20d6 movs r0, #214 ; 0xd6 808c03e: f7c8 f979 bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808c042: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808c046: b2db uxtb r3, r3 808c048: 461a mov r2, r3 808c04a: 4b7a ldr r3, [pc, #488] ; (808c234 ) 808c04c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c050: 461a mov r2, r3 808c052: 21aa movs r1, #170 ; 0xaa 808c054: 20f6 movs r0, #246 ; 0xf6 808c056: f7c8 f96d bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808c05a: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808c05e: b2db uxtb r3, r3 808c060: 461a mov r2, r3 808c062: 4b74 ldr r3, [pc, #464] ; (808c234 ) 808c064: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c068: 461a mov r2, r3 808c06a: 21aa movs r1, #170 ; 0xaa 808c06c: f44f 7083 mov.w r0, #262 ; 0x106 808c070: f7c8 f960 bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 808c074: 4a71 ldr r2, [pc, #452] ; (808c23c ) 808c076: 21aa movs r1, #170 ; 0xaa 808c078: f44f 708b mov.w r0, #278 ; 0x116 808c07c: f7c8 f95a bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808c080: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808c084: b2db uxtb r3, r3 808c086: 461a mov r2, r3 808c088: 4b6a ldr r3, [pc, #424] ; (808c234 ) 808c08a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c08e: 461a mov r2, r3 808c090: 21aa movs r1, #170 ; 0xaa 808c092: f44f 7093 mov.w r0, #294 ; 0x126 808c096: f7c8 f94d bl 8054334 808c09a: e133 b.n 808c304 } else if(menupos == DiagA_IED) 808c09c: 4b62 ldr r3, [pc, #392] ; (808c228 ) 808c09e: 781b ldrb r3, [r3, #0] 808c0a0: b2db uxtb r3, r3 808c0a2: 2b22 cmp r3, #34 ; 0x22 808c0a4: d15d bne.n 808c162 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c0a6: 4961 ldr r1, [pc, #388] ; (808c22c ) 808c0a8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c0ac: f7c7 fb9a bl 80537e4 if(blk) 808c0b0: 4b5f ldr r3, [pc, #380] ; (808c230 ) 808c0b2: 681b ldr r3, [r3, #0] 808c0b4: 2b00 cmp r3, #0 808c0b6: d00b beq.n 808c0d0 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808c0b8: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808c0bc: b2db uxtb r3, r3 808c0be: 461a mov r2, r3 808c0c0: 4b5c ldr r3, [pc, #368] ; (808c234 ) 808c0c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c0c6: 461a mov r2, r3 808c0c8: 21aa movs r1, #170 ; 0xaa 808c0ca: 20f6 movs r0, #246 ; 0xf6 808c0cc: f7c8 f932 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c0d0: 4956 ldr r1, [pc, #344] ; (808c22c ) 808c0d2: 4859 ldr r0, [pc, #356] ; (808c238 ) 808c0d4: f7c7 fb86 bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808c0d8: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c0dc: b2db uxtb r3, r3 808c0de: 461a mov r2, r3 808c0e0: 4b54 ldr r3, [pc, #336] ; (808c234 ) 808c0e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c0e6: 461a mov r2, r3 808c0e8: 21aa movs r1, #170 ; 0xaa 808c0ea: 20c6 movs r0, #198 ; 0xc6 808c0ec: f7c8 f922 bl 8054334 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808c0f0: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c0f4: b2db uxtb r3, r3 808c0f6: 461a mov r2, r3 808c0f8: 4b4e ldr r3, [pc, #312] ; (808c234 ) 808c0fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c0fe: 461a mov r2, r3 808c100: 21aa movs r1, #170 ; 0xaa 808c102: 20d6 movs r0, #214 ; 0xd6 808c104: f7c8 f916 bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808c108: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808c10c: b2db uxtb r3, r3 808c10e: 461a mov r2, r3 808c110: 4b48 ldr r3, [pc, #288] ; (808c234 ) 808c112: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c116: 461a mov r2, r3 808c118: 21aa movs r1, #170 ; 0xaa 808c11a: 20e6 movs r0, #230 ; 0xe6 808c11c: f7c8 f90a bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808c120: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808c124: b2db uxtb r3, r3 808c126: 461a mov r2, r3 808c128: 4b42 ldr r3, [pc, #264] ; (808c234 ) 808c12a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c12e: 461a mov r2, r3 808c130: 21aa movs r1, #170 ; 0xaa 808c132: f44f 7083 mov.w r0, #262 ; 0x106 808c136: f7c8 f8fd bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 808c13a: 4a40 ldr r2, [pc, #256] ; (808c23c ) 808c13c: 21aa movs r1, #170 ; 0xaa 808c13e: f44f 708b mov.w r0, #278 ; 0x116 808c142: f7c8 f8f7 bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808c146: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808c14a: b2db uxtb r3, r3 808c14c: 461a mov r2, r3 808c14e: 4b39 ldr r3, [pc, #228] ; (808c234 ) 808c150: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c154: 461a mov r2, r3 808c156: 21aa movs r1, #170 ; 0xaa 808c158: f44f 7093 mov.w r0, #294 ; 0x126 808c15c: f7c8 f8ea bl 8054334 808c160: e0d0 b.n 808c304 } else if(menupos == DiagA_IEE) 808c162: 4b31 ldr r3, [pc, #196] ; (808c228 ) 808c164: 781b ldrb r3, [r3, #0] 808c166: b2db uxtb r3, r3 808c168: 2b23 cmp r3, #35 ; 0x23 808c16a: d169 bne.n 808c240 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c16c: 492f ldr r1, [pc, #188] ; (808c22c ) 808c16e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c172: f7c7 fb37 bl 80537e4 if(blk) 808c176: 4b2e ldr r3, [pc, #184] ; (808c230 ) 808c178: 681b ldr r3, [r3, #0] 808c17a: 2b00 cmp r3, #0 808c17c: d00c beq.n 808c198 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808c17e: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808c182: b2db uxtb r3, r3 808c184: 461a mov r2, r3 808c186: 4b2b ldr r3, [pc, #172] ; (808c234 ) 808c188: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c18c: 461a mov r2, r3 808c18e: 21aa movs r1, #170 ; 0xaa 808c190: f44f 7083 mov.w r0, #262 ; 0x106 808c194: f7c8 f8ce bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c198: 4924 ldr r1, [pc, #144] ; (808c22c ) 808c19a: 4827 ldr r0, [pc, #156] ; (808c238 ) 808c19c: f7c7 fb22 bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808c1a0: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c1a4: b2db uxtb r3, r3 808c1a6: 461a mov r2, r3 808c1a8: 4b22 ldr r3, [pc, #136] ; (808c234 ) 808c1aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c1ae: 461a mov r2, r3 808c1b0: 21aa movs r1, #170 ; 0xaa 808c1b2: 20c6 movs r0, #198 ; 0xc6 808c1b4: f7c8 f8be bl 8054334 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808c1b8: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c1bc: b2db uxtb r3, r3 808c1be: 461a mov r2, r3 808c1c0: 4b1c ldr r3, [pc, #112] ; (808c234 ) 808c1c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c1c6: 461a mov r2, r3 808c1c8: 21aa movs r1, #170 ; 0xaa 808c1ca: 20d6 movs r0, #214 ; 0xd6 808c1cc: f7c8 f8b2 bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808c1d0: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808c1d4: b2db uxtb r3, r3 808c1d6: 461a mov r2, r3 808c1d8: 4b16 ldr r3, [pc, #88] ; (808c234 ) 808c1da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c1de: 461a mov r2, r3 808c1e0: 21aa movs r1, #170 ; 0xaa 808c1e2: 20e6 movs r0, #230 ; 0xe6 808c1e4: f7c8 f8a6 bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808c1e8: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808c1ec: b2db uxtb r3, r3 808c1ee: 461a mov r2, r3 808c1f0: 4b10 ldr r3, [pc, #64] ; (808c234 ) 808c1f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c1f6: 461a mov r2, r3 808c1f8: 21aa movs r1, #170 ; 0xaa 808c1fa: 20f6 movs r0, #246 ; 0xf6 808c1fc: f7c8 f89a bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 808c200: 4a0e ldr r2, [pc, #56] ; (808c23c ) 808c202: 21aa movs r1, #170 ; 0xaa 808c204: f44f 708b mov.w r0, #278 ; 0x116 808c208: f7c8 f894 bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808c20c: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808c210: b2db uxtb r3, r3 808c212: 461a mov r2, r3 808c214: 4b07 ldr r3, [pc, #28] ; (808c234 ) 808c216: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c21a: 461a mov r2, r3 808c21c: 21aa movs r1, #170 ; 0xaa 808c21e: f44f 7093 mov.w r0, #294 ; 0x126 808c222: f7c8 f887 bl 8054334 808c226: e06d b.n 808c304 808c228: 20020070 .word 0x20020070 808c22c: ff0a0f1f .word 0xff0a0f1f 808c230: 2002165c .word 0x2002165c 808c234: 20020964 .word 0x20020964 808c238: ffd8aa57 .word 0xffd8aa57 808c23c: 080cf820 .word 0x080cf820 } else if(menupos == DiagA_IKD) 808c240: 4b92 ldr r3, [pc, #584] ; (808c48c ) 808c242: 781b ldrb r3, [r3, #0] 808c244: b2db uxtb r3, r3 808c246: 2b24 cmp r3, #36 ; 0x24 808c248: d15c bne.n 808c304 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c24a: 4991 ldr r1, [pc, #580] ; (808c490 ) 808c24c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c250: f7c7 fac8 bl 80537e4 if(blk) 808c254: 4b8f ldr r3, [pc, #572] ; (808c494 ) 808c256: 681b ldr r3, [r3, #0] 808c258: 2b00 cmp r3, #0 808c25a: d00c beq.n 808c276 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd_A]); 808c25c: f897 33b7 ldrb.w r3, [r7, #951] ; 0x3b7 808c260: b2db uxtb r3, r3 808c262: 461a mov r2, r3 808c264: 4b8c ldr r3, [pc, #560] ; (808c498 ) 808c266: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c26a: 461a mov r2, r3 808c26c: 21aa movs r1, #170 ; 0xaa 808c26e: f44f 7093 mov.w r0, #294 ; 0x126 808c272: f7c8 f85f bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808c276: 4986 ldr r1, [pc, #536] ; (808c490 ) 808c278: 4888 ldr r0, [pc, #544] ; (808c49c ) 808c27a: f7c7 fab3 bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt_A]); 808c27e: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c282: b2db uxtb r3, r3 808c284: 461a mov r2, r3 808c286: 4b84 ldr r3, [pc, #528] ; (808c498 ) 808c288: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c28c: 461a mov r2, r3 808c28e: 21aa movs r1, #170 ; 0xaa 808c290: 20c6 movs r0, #198 ; 0xc6 808c292: f7c8 f84f bl 8054334 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet_A]); 808c296: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c29a: b2db uxtb r3, r3 808c29c: 461a mov r2, r3 808c29e: 4b7e ldr r3, [pc, #504] ; (808c498 ) 808c2a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c2a4: 461a mov r2, r3 808c2a6: 21aa movs r1, #170 ; 0xaa 808c2a8: 20d6 movs r0, #214 ; 0xd6 808c2aa: f7c8 f843 bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies_A]); 808c2ae: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808c2b2: b2db uxtb r3, r3 808c2b4: 461a mov r2, r3 808c2b6: 4b78 ldr r3, [pc, #480] ; (808c498 ) 808c2b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c2bc: 461a mov r2, r3 808c2be: 21aa movs r1, #170 ; 0xaa 808c2c0: 20e6 movs r0, #230 ; 0xe6 808c2c2: f7c8 f837 bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied_A]); 808c2c6: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808c2ca: b2db uxtb r3, r3 808c2cc: 461a mov r2, r3 808c2ce: 4b72 ldr r3, [pc, #456] ; (808c498 ) 808c2d0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c2d4: 461a mov r2, r3 808c2d6: 21aa movs r1, #170 ; 0xaa 808c2d8: 20f6 movs r0, #246 ; 0xf6 808c2da: f7c8 f82b bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee_A]); 808c2de: f897 33b8 ldrb.w r3, [r7, #952] ; 0x3b8 808c2e2: b2db uxtb r3, r3 808c2e4: 461a mov r2, r3 808c2e6: 4b6c ldr r3, [pc, #432] ; (808c498 ) 808c2e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808c2ec: 461a mov r2, r3 808c2ee: 21aa movs r1, #170 ; 0xaa 808c2f0: f44f 7083 mov.w r0, #262 ; 0x106 808c2f4: f7c8 f81e bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 808c2f8: 4a69 ldr r2, [pc, #420] ; (808c4a0 ) 808c2fa: 21aa movs r1, #170 ; 0xaa 808c2fc: f44f 708b mov.w r0, #278 ; 0x116 808c300: f7c8 f818 bl 8054334 // if((menupos < DiagHP_IDT) || (menupos > DiagHP_IKD)) 808c304: 4b61 ldr r3, [pc, #388] ; (808c48c ) 808c306: 781b ldrb r3, [r3, #0] 808c308: b2db uxtb r3, r3 808c30a: 2b0c cmp r3, #12 808c30c: d905 bls.n 808c31a 808c30e: 4b5f ldr r3, [pc, #380] ; (808c48c ) 808c310: 781b ldrb r3, [r3, #0] 808c312: b2db uxtb r3, r3 808c314: 2b12 cmp r3, #18 808c316: f240 80da bls.w 808c4ce { ///////// i = 0; 808c31a: 2300 movs r3, #0 808c31c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808c320: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c324: 223c movs r2, #60 ; 0x3c 808c326: 2100 movs r1, #0 808c328: 4618 mov r0, r3 808c32a: f040 fea9 bl 80cd080 if(idtHP != 0) 808c32e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c332: b2db uxtb r3, r3 808c334: 2b00 cmp r3, #0 808c336: d00c beq.n 808c352 str2[i++] = idtHP + 48; 808c338: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c33c: 1c5a adds r2, r3, #1 808c33e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c342: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 808c346: b2d2 uxtb r2, r2 808c348: 3230 adds r2, #48 ; 0x30 808c34a: b2d1 uxtb r1, r2 808c34c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c350: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 808c352: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808c356: b2db uxtb r3, r3 808c358: 2b00 cmp r3, #0 808c35a: d104 bne.n 808c366 808c35c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c360: b2db uxtb r3, r3 808c362: 2b00 cmp r3, #0 808c364: d00c beq.n 808c380 str2[i++] = ietHP + 48; 808c366: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c36a: 1c5a adds r2, r3, #1 808c36c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c370: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 808c374: b2d2 uxtb r2, r2 808c376: 3230 adds r2, #48 ; 0x30 808c378: b2d1 uxtb r1, r2 808c37a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c37e: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808c380: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808c384: b2db uxtb r3, r3 808c386: 2b00 cmp r3, #0 808c388: d109 bne.n 808c39e 808c38a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808c38e: b2db uxtb r3, r3 808c390: 2b00 cmp r3, #0 808c392: d104 bne.n 808c39e 808c394: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c398: b2db uxtb r3, r3 808c39a: 2b00 cmp r3, #0 808c39c: d00c beq.n 808c3b8 str2[i++] = iesHP + 48; 808c39e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c3a2: 1c5a adds r2, r3, #1 808c3a4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c3a8: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808c3ac: b2d2 uxtb r2, r2 808c3ae: 3230 adds r2, #48 ; 0x30 808c3b0: b2d1 uxtb r1, r2 808c3b2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c3b6: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808c3b8: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808c3bc: b2db uxtb r3, r3 808c3be: 2b00 cmp r3, #0 808c3c0: d10e bne.n 808c3e0 808c3c2: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808c3c6: b2db uxtb r3, r3 808c3c8: 2b00 cmp r3, #0 808c3ca: d109 bne.n 808c3e0 808c3cc: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808c3d0: b2db uxtb r3, r3 808c3d2: 2b00 cmp r3, #0 808c3d4: d104 bne.n 808c3e0 808c3d6: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808c3da: b2db uxtb r3, r3 808c3dc: 2b00 cmp r3, #0 808c3de: d00c beq.n 808c3fa str2[i++] = iedHP + 48; 808c3e0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c3e4: 1c5a adds r2, r3, #1 808c3e6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c3ea: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 808c3ee: b2d2 uxtb r2, r2 808c3f0: 3230 adds r2, #48 ; 0x30 808c3f2: b2d1 uxtb r1, r2 808c3f4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c3f8: 54d1 strb r1, [r2, r3] str2[i++] = ieeHP + 48; 808c3fa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c3fe: 1c5a adds r2, r3, #1 808c400: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c404: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808c408: b2d2 uxtb r2, r2 808c40a: 3230 adds r2, #48 ; 0x30 808c40c: b2d1 uxtb r1, r2 808c40e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c412: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808c414: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c418: 1c5a adds r2, r3, #1 808c41a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c41e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c422: 212e movs r1, #46 ; 0x2e 808c424: 54d1 strb r1, [r2, r3] str2[i++] = ikdHP + 48; 808c426: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c42a: 1c5a adds r2, r3, #1 808c42c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c430: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 808c434: b2d2 uxtb r2, r2 808c436: 3230 adds r2, #48 ; 0x30 808c438: b2d1 uxtb r1, r2 808c43a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c43e: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808c440: 4b18 ldr r3, [pc, #96] ; (808c4a4 ) 808c442: 781b ldrb r3, [r3, #0] 808c444: b2db uxtb r3, r3 808c446: 4618 mov r0, r3 808c448: 4b17 ldr r3, [pc, #92] ; (808c4a8 ) 808c44a: 781b ldrb r3, [r3, #0] 808c44c: b2db uxtb r3, r3 808c44e: 4619 mov r1, r3 808c450: 4a16 ldr r2, [pc, #88] ; (808c4ac ) 808c452: 0083 lsls r3, r0, #2 808c454: 4413 add r3, r2 808c456: 440b add r3, r1 808c458: f503 730f add.w r3, r3, #572 ; 0x23c 808c45c: 781b ldrb r3, [r3, #0] 808c45e: b2db uxtb r3, r3 808c460: f003 0307 and.w r3, r3, #7 808c464: 2b00 cmp r3, #0 808c466: d103 bne.n 808c470 cl2 = LCD_COLOR_GRAY; 808c468: 4b11 ldr r3, [pc, #68] ; (808c4b0 ) 808c46a: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808c46e: e002 b.n 808c476 else cl2 = LCD_COLOR_MY_YELLOW; 808c470: 4b0a ldr r3, [pc, #40] ; (808c49c ) 808c472: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == DiagHP) 808c476: 4b05 ldr r3, [pc, #20] ; (808c48c ) 808c478: 781b ldrb r3, [r3, #0] 808c47a: b2db uxtb r3, r3 808c47c: 2b09 cmp r3, #9 808c47e: d119 bne.n 808c4b4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c480: 4903 ldr r1, [pc, #12] ; (808c490 ) 808c482: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c486: f7c7 f9ad bl 80537e4 808c48a: e018 b.n 808c4be 808c48c: 20020070 .word 0x20020070 808c490: ff0a0f1f .word 0xff0a0f1f 808c494: 2002165c .word 0x2002165c 808c498: 20020964 .word 0x20020964 808c49c: ffd8aa57 .word 0xffd8aa57 808c4a0: 080cf820 .word 0x080cf820 808c4a4: 20021011 .word 0x20021011 808c4a8: 20021013 .word 0x20021013 808c4ac: 20023e60 .word 0x20023e60 808c4b0: ff808080 .word 0xff808080 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808c4b4: 49c9 ldr r1, [pc, #804] ; (808c7dc ) 808c4b6: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808c4ba: f7c7 f993 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str2); 808c4be: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c4c2: 461a mov r2, r3 808c4c4: 217a movs r1, #122 ; 0x7a 808c4c6: f44f 7082 mov.w r0, #260 ; 0x104 808c4ca: f7c7 ff4b bl 8054364 } // if((menupos < DiagLP_IDT) || (menupos > DiagLP_IKD)) 808c4ce: 4bc4 ldr r3, [pc, #784] ; (808c7e0 ) 808c4d0: 781b ldrb r3, [r3, #0] 808c4d2: b2db uxtb r3, r3 808c4d4: 2b12 cmp r3, #18 808c4d6: d905 bls.n 808c4e4 808c4d8: 4bc1 ldr r3, [pc, #772] ; (808c7e0 ) 808c4da: 781b ldrb r3, [r3, #0] 808c4dc: b2db uxtb r3, r3 808c4de: 2b18 cmp r3, #24 808c4e0: f240 80c6 bls.w 808c670 { ///////// i = 0; 808c4e4: 2300 movs r3, #0 808c4e6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808c4ea: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c4ee: 223c movs r2, #60 ; 0x3c 808c4f0: 2100 movs r1, #0 808c4f2: 4618 mov r0, r3 808c4f4: f040 fdc4 bl 80cd080 if(idtLP != 0) 808c4f8: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c4fc: b2db uxtb r3, r3 808c4fe: 2b00 cmp r3, #0 808c500: d00c beq.n 808c51c str2[i++] = idtLP + 48; 808c502: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c506: 1c5a adds r2, r3, #1 808c508: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c50c: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808c510: b2d2 uxtb r2, r2 808c512: 3230 adds r2, #48 ; 0x30 808c514: b2d1 uxtb r1, r2 808c516: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c51a: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808c51c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808c520: b2db uxtb r3, r3 808c522: 2b00 cmp r3, #0 808c524: d104 bne.n 808c530 808c526: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c52a: b2db uxtb r3, r3 808c52c: 2b00 cmp r3, #0 808c52e: d00c beq.n 808c54a str2[i++] = ietLP + 48; 808c530: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c534: 1c5a adds r2, r3, #1 808c536: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c53a: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808c53e: b2d2 uxtb r2, r2 808c540: 3230 adds r2, #48 ; 0x30 808c542: b2d1 uxtb r1, r2 808c544: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c548: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808c54a: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808c54e: b2db uxtb r3, r3 808c550: 2b00 cmp r3, #0 808c552: d109 bne.n 808c568 808c554: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808c558: b2db uxtb r3, r3 808c55a: 2b00 cmp r3, #0 808c55c: d104 bne.n 808c568 808c55e: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c562: b2db uxtb r3, r3 808c564: 2b00 cmp r3, #0 808c566: d00c beq.n 808c582 str2[i++] = iesLP + 48; 808c568: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c56c: 1c5a adds r2, r3, #1 808c56e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c572: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808c576: b2d2 uxtb r2, r2 808c578: 3230 adds r2, #48 ; 0x30 808c57a: b2d1 uxtb r1, r2 808c57c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c580: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808c582: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808c586: b2db uxtb r3, r3 808c588: 2b00 cmp r3, #0 808c58a: d10e bne.n 808c5aa 808c58c: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808c590: b2db uxtb r3, r3 808c592: 2b00 cmp r3, #0 808c594: d109 bne.n 808c5aa 808c596: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808c59a: b2db uxtb r3, r3 808c59c: 2b00 cmp r3, #0 808c59e: d104 bne.n 808c5aa 808c5a0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808c5a4: b2db uxtb r3, r3 808c5a6: 2b00 cmp r3, #0 808c5a8: d00c beq.n 808c5c4 str2[i++] = iedLP + 48; 808c5aa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c5ae: 1c5a adds r2, r3, #1 808c5b0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c5b4: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808c5b8: b2d2 uxtb r2, r2 808c5ba: 3230 adds r2, #48 ; 0x30 808c5bc: b2d1 uxtb r1, r2 808c5be: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c5c2: 54d1 strb r1, [r2, r3] str2[i++] = ieeLP + 48; 808c5c4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c5c8: 1c5a adds r2, r3, #1 808c5ca: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c5ce: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808c5d2: b2d2 uxtb r2, r2 808c5d4: 3230 adds r2, #48 ; 0x30 808c5d6: b2d1 uxtb r1, r2 808c5d8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c5dc: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808c5de: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c5e2: 1c5a adds r2, r3, #1 808c5e4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c5e8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c5ec: 212e movs r1, #46 ; 0x2e 808c5ee: 54d1 strb r1, [r2, r3] str2[i++] = ikdLP + 48; 808c5f0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c5f4: 1c5a adds r2, r3, #1 808c5f6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c5fa: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808c5fe: b2d2 uxtb r2, r2 808c600: 3230 adds r2, #48 ; 0x30 808c602: b2d1 uxtb r1, r2 808c604: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c608: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808c60a: 4b76 ldr r3, [pc, #472] ; (808c7e4 ) 808c60c: 781b ldrb r3, [r3, #0] 808c60e: b2db uxtb r3, r3 808c610: 4618 mov r0, r3 808c612: 4b75 ldr r3, [pc, #468] ; (808c7e8 ) 808c614: 781b ldrb r3, [r3, #0] 808c616: b2db uxtb r3, r3 808c618: 4619 mov r1, r3 808c61a: 4a74 ldr r2, [pc, #464] ; (808c7ec ) 808c61c: 0083 lsls r3, r0, #2 808c61e: 4413 add r3, r2 808c620: 440b add r3, r1 808c622: f503 730f add.w r3, r3, #572 ; 0x23c 808c626: 781b ldrb r3, [r3, #0] 808c628: b2db uxtb r3, r3 808c62a: f003 0307 and.w r3, r3, #7 808c62e: 2b00 cmp r3, #0 808c630: d103 bne.n 808c63a cl2 = LCD_COLOR_GRAY; 808c632: 4b6f ldr r3, [pc, #444] ; (808c7f0 ) 808c634: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808c638: e002 b.n 808c640 else cl2 = LCD_COLOR_MY_YELLOW; 808c63a: 4b6e ldr r3, [pc, #440] ; (808c7f4 ) 808c63c: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == DiagLP) 808c640: 4b67 ldr r3, [pc, #412] ; (808c7e0 ) 808c642: 781b ldrb r3, [r3, #0] 808c644: b2db uxtb r3, r3 808c646: 2b0a cmp r3, #10 808c648: d105 bne.n 808c656 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c64a: 4964 ldr r1, [pc, #400] ; (808c7dc ) 808c64c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c650: f7c7 f8c8 bl 80537e4 808c654: e004 b.n 808c660 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808c656: 4961 ldr r1, [pc, #388] ; (808c7dc ) 808c658: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808c65c: f7c7 f8c2 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_8, str2); 808c660: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c664: 461a mov r2, r3 808c666: 218a movs r1, #138 ; 0x8a 808c668: f44f 7082 mov.w r0, #260 ; 0x104 808c66c: f7c7 fe7a bl 8054364 } // if((menupos < DiagW_IDT) || (menupos > DiagW_IKD)) 808c670: 4b5b ldr r3, [pc, #364] ; (808c7e0 ) 808c672: 781b ldrb r3, [r3, #0] 808c674: b2db uxtb r3, r3 808c676: 2b18 cmp r3, #24 808c678: d905 bls.n 808c686 808c67a: 4b59 ldr r3, [pc, #356] ; (808c7e0 ) 808c67c: 781b ldrb r3, [r3, #0] 808c67e: b2db uxtb r3, r3 808c680: 2b1e cmp r3, #30 808c682: f240 80d4 bls.w 808c82e { ///////// i = 0; 808c686: 2300 movs r3, #0 808c688: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808c68c: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c690: 223c movs r2, #60 ; 0x3c 808c692: 2100 movs r1, #0 808c694: 4618 mov r0, r3 808c696: f040 fcf3 bl 80cd080 if(idt_W != 0) 808c69a: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808c69e: b2db uxtb r3, r3 808c6a0: 2b00 cmp r3, #0 808c6a2: d00c beq.n 808c6be str2[i++] = idt_W + 48; 808c6a4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c6a8: 1c5a adds r2, r3, #1 808c6aa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c6ae: f897 23c3 ldrb.w r2, [r7, #963] ; 0x3c3 808c6b2: b2d2 uxtb r2, r2 808c6b4: 3230 adds r2, #48 ; 0x30 808c6b6: b2d1 uxtb r1, r2 808c6b8: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c6bc: 54d1 strb r1, [r2, r3] if((iet_W != 0) || (idt_W != 0)) 808c6be: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808c6c2: b2db uxtb r3, r3 808c6c4: 2b00 cmp r3, #0 808c6c6: d104 bne.n 808c6d2 808c6c8: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808c6cc: b2db uxtb r3, r3 808c6ce: 2b00 cmp r3, #0 808c6d0: d00c beq.n 808c6ec str2[i++] = iet_W + 48; 808c6d2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c6d6: 1c5a adds r2, r3, #1 808c6d8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c6dc: f897 23c2 ldrb.w r2, [r7, #962] ; 0x3c2 808c6e0: b2d2 uxtb r2, r2 808c6e2: 3230 adds r2, #48 ; 0x30 808c6e4: b2d1 uxtb r1, r2 808c6e6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c6ea: 54d1 strb r1, [r2, r3] if((ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808c6ec: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808c6f0: b2db uxtb r3, r3 808c6f2: 2b00 cmp r3, #0 808c6f4: d109 bne.n 808c70a 808c6f6: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808c6fa: b2db uxtb r3, r3 808c6fc: 2b00 cmp r3, #0 808c6fe: d104 bne.n 808c70a 808c700: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808c704: b2db uxtb r3, r3 808c706: 2b00 cmp r3, #0 808c708: d00c beq.n 808c724 str2[i++] = ies_W + 48; 808c70a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c70e: 1c5a adds r2, r3, #1 808c710: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c714: f897 23c1 ldrb.w r2, [r7, #961] ; 0x3c1 808c718: b2d2 uxtb r2, r2 808c71a: 3230 adds r2, #48 ; 0x30 808c71c: b2d1 uxtb r1, r2 808c71e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c722: 54d1 strb r1, [r2, r3] if((ied_W != 0) || (ies_W != 0) || (iet_W != 0) || (idt_W != 0)) 808c724: f897 33c0 ldrb.w r3, [r7, #960] ; 0x3c0 808c728: b2db uxtb r3, r3 808c72a: 2b00 cmp r3, #0 808c72c: d10e bne.n 808c74c 808c72e: f897 33c1 ldrb.w r3, [r7, #961] ; 0x3c1 808c732: b2db uxtb r3, r3 808c734: 2b00 cmp r3, #0 808c736: d109 bne.n 808c74c 808c738: f897 33c2 ldrb.w r3, [r7, #962] ; 0x3c2 808c73c: b2db uxtb r3, r3 808c73e: 2b00 cmp r3, #0 808c740: d104 bne.n 808c74c 808c742: f897 33c3 ldrb.w r3, [r7, #963] ; 0x3c3 808c746: b2db uxtb r3, r3 808c748: 2b00 cmp r3, #0 808c74a: d00c beq.n 808c766 str2[i++] = ied_W + 48; 808c74c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c750: 1c5a adds r2, r3, #1 808c752: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c756: f897 23c0 ldrb.w r2, [r7, #960] ; 0x3c0 808c75a: b2d2 uxtb r2, r2 808c75c: 3230 adds r2, #48 ; 0x30 808c75e: b2d1 uxtb r1, r2 808c760: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c764: 54d1 strb r1, [r2, r3] str2[i++] = iee_W + 48; 808c766: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c76a: 1c5a adds r2, r3, #1 808c76c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c770: f897 23bf ldrb.w r2, [r7, #959] ; 0x3bf 808c774: b2d2 uxtb r2, r2 808c776: 3230 adds r2, #48 ; 0x30 808c778: b2d1 uxtb r1, r2 808c77a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c77e: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808c780: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c784: 1c5a adds r2, r3, #1 808c786: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c78a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c78e: 212e movs r1, #46 ; 0x2e 808c790: 54d1 strb r1, [r2, r3] str2[i++] = ikd_W + 48; 808c792: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c796: 1c5a adds r2, r3, #1 808c798: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c79c: f897 23be ldrb.w r2, [r7, #958] ; 0x3be 808c7a0: b2d2 uxtb r2, r2 808c7a2: 3230 adds r2, #48 ; 0x30 808c7a4: b2d1 uxtb r1, r2 808c7a6: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c7aa: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808c7ac: 4b0d ldr r3, [pc, #52] ; (808c7e4 ) 808c7ae: 781b ldrb r3, [r3, #0] 808c7b0: b2db uxtb r3, r3 808c7b2: 4618 mov r0, r3 808c7b4: 4b0c ldr r3, [pc, #48] ; (808c7e8 ) 808c7b6: 781b ldrb r3, [r3, #0] 808c7b8: b2db uxtb r3, r3 808c7ba: 4619 mov r1, r3 808c7bc: 4a0b ldr r2, [pc, #44] ; (808c7ec ) 808c7be: 0083 lsls r3, r0, #2 808c7c0: 4413 add r3, r2 808c7c2: 440b add r3, r1 808c7c4: f503 730f add.w r3, r3, #572 ; 0x23c 808c7c8: 781b ldrb r3, [r3, #0] 808c7ca: b2db uxtb r3, r3 808c7cc: f003 0307 and.w r3, r3, #7 808c7d0: 2b00 cmp r3, #0 808c7d2: d111 bne.n 808c7f8 cl2 = LCD_COLOR_GRAY; 808c7d4: 4b06 ldr r3, [pc, #24] ; (808c7f0 ) 808c7d6: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808c7da: e010 b.n 808c7fe 808c7dc: ff0a0f1f .word 0xff0a0f1f 808c7e0: 20020070 .word 0x20020070 808c7e4: 20021011 .word 0x20021011 808c7e8: 20021013 .word 0x20021013 808c7ec: 20023e60 .word 0x20023e60 808c7f0: ff808080 .word 0xff808080 808c7f4: ffd8aa57 .word 0xffd8aa57 else cl2 = LCD_COLOR_MY_YELLOW; 808c7f8: 4b76 ldr r3, [pc, #472] ; (808c9d4 ) 808c7fa: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == Diag_W) 808c7fe: 4b76 ldr r3, [pc, #472] ; (808c9d8 ) 808c800: 781b ldrb r3, [r3, #0] 808c802: b2db uxtb r3, r3 808c804: 2b0b cmp r3, #11 808c806: d105 bne.n 808c814 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c808: 4974 ldr r1, [pc, #464] ; (808c9dc ) 808c80a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c80e: f7c6 ffe9 bl 80537e4 808c812: e004 b.n 808c81e else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808c814: 4971 ldr r1, [pc, #452] ; (808c9dc ) 808c816: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808c81a: f7c6 ffe3 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, str2); 808c81e: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c822: 461a mov r2, r3 808c824: 219a movs r1, #154 ; 0x9a 808c826: f44f 7082 mov.w r0, #260 ; 0x104 808c82a: f7c7 fd9b bl 8054364 } // if((menupos < DiagA_IDT) || (menupos > DiagA_IKD)) 808c82e: 4b6a ldr r3, [pc, #424] ; (808c9d8 ) 808c830: 781b ldrb r3, [r3, #0] 808c832: b2db uxtb r3, r3 808c834: 2b1e cmp r3, #30 808c836: d905 bls.n 808c844 808c838: 4b67 ldr r3, [pc, #412] ; (808c9d8 ) 808c83a: 781b ldrb r3, [r3, #0] 808c83c: b2db uxtb r3, r3 808c83e: 2b24 cmp r3, #36 ; 0x24 808c840: f24a 86e1 bls.w 8097606 { ///////// i = 0; 808c844: 2300 movs r3, #0 808c846: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808c84a: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c84e: 223c movs r2, #60 ; 0x3c 808c850: 2100 movs r1, #0 808c852: 4618 mov r0, r3 808c854: f040 fc14 bl 80cd080 if(idt_A != 0) 808c858: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c85c: b2db uxtb r3, r3 808c85e: 2b00 cmp r3, #0 808c860: d00c beq.n 808c87c str2[i++] = idt_A + 48; 808c862: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c866: 1c5a adds r2, r3, #1 808c868: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c86c: f897 23bc ldrb.w r2, [r7, #956] ; 0x3bc 808c870: b2d2 uxtb r2, r2 808c872: 3230 adds r2, #48 ; 0x30 808c874: b2d1 uxtb r1, r2 808c876: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c87a: 54d1 strb r1, [r2, r3] if((iet_A != 0) || (idt_A != 0)) 808c87c: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c880: b2db uxtb r3, r3 808c882: 2b00 cmp r3, #0 808c884: d104 bne.n 808c890 808c886: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c88a: b2db uxtb r3, r3 808c88c: 2b00 cmp r3, #0 808c88e: d00c beq.n 808c8aa str2[i++] = iet_A + 48; 808c890: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c894: 1c5a adds r2, r3, #1 808c896: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c89a: f897 23bb ldrb.w r2, [r7, #955] ; 0x3bb 808c89e: b2d2 uxtb r2, r2 808c8a0: 3230 adds r2, #48 ; 0x30 808c8a2: b2d1 uxtb r1, r2 808c8a4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c8a8: 54d1 strb r1, [r2, r3] if((ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808c8aa: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808c8ae: b2db uxtb r3, r3 808c8b0: 2b00 cmp r3, #0 808c8b2: d109 bne.n 808c8c8 808c8b4: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c8b8: b2db uxtb r3, r3 808c8ba: 2b00 cmp r3, #0 808c8bc: d104 bne.n 808c8c8 808c8be: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c8c2: b2db uxtb r3, r3 808c8c4: 2b00 cmp r3, #0 808c8c6: d00c beq.n 808c8e2 str2[i++] = ies_A + 48; 808c8c8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c8cc: 1c5a adds r2, r3, #1 808c8ce: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c8d2: f897 23ba ldrb.w r2, [r7, #954] ; 0x3ba 808c8d6: b2d2 uxtb r2, r2 808c8d8: 3230 adds r2, #48 ; 0x30 808c8da: b2d1 uxtb r1, r2 808c8dc: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c8e0: 54d1 strb r1, [r2, r3] if((ied_A != 0) || (ies_A != 0) || (iet_A != 0) || (idt_A != 0)) 808c8e2: f897 33b9 ldrb.w r3, [r7, #953] ; 0x3b9 808c8e6: b2db uxtb r3, r3 808c8e8: 2b00 cmp r3, #0 808c8ea: d10e bne.n 808c90a 808c8ec: f897 33ba ldrb.w r3, [r7, #954] ; 0x3ba 808c8f0: b2db uxtb r3, r3 808c8f2: 2b00 cmp r3, #0 808c8f4: d109 bne.n 808c90a 808c8f6: f897 33bb ldrb.w r3, [r7, #955] ; 0x3bb 808c8fa: b2db uxtb r3, r3 808c8fc: 2b00 cmp r3, #0 808c8fe: d104 bne.n 808c90a 808c900: f897 33bc ldrb.w r3, [r7, #956] ; 0x3bc 808c904: b2db uxtb r3, r3 808c906: 2b00 cmp r3, #0 808c908: d00c beq.n 808c924 str2[i++] = ied_A + 48; 808c90a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c90e: 1c5a adds r2, r3, #1 808c910: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c914: f897 23b9 ldrb.w r2, [r7, #953] ; 0x3b9 808c918: b2d2 uxtb r2, r2 808c91a: 3230 adds r2, #48 ; 0x30 808c91c: b2d1 uxtb r1, r2 808c91e: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c922: 54d1 strb r1, [r2, r3] str2[i++] = iee_A + 48; 808c924: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c928: 1c5a adds r2, r3, #1 808c92a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c92e: f897 23b8 ldrb.w r2, [r7, #952] ; 0x3b8 808c932: b2d2 uxtb r2, r2 808c934: 3230 adds r2, #48 ; 0x30 808c936: b2d1 uxtb r1, r2 808c938: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c93c: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808c93e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c942: 1c5a adds r2, r3, #1 808c944: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c948: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c94c: 212e movs r1, #46 ; 0x2e 808c94e: 54d1 strb r1, [r2, r3] str2[i++] = ikd_A + 48; 808c950: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808c954: 1c5a adds r2, r3, #1 808c956: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808c95a: f897 23b7 ldrb.w r2, [r7, #951] ; 0x3b7 808c95e: b2d2 uxtb r2, r2 808c960: 3230 adds r2, #48 ; 0x30 808c962: b2d1 uxtb r1, r2 808c964: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808c968: 54d1 strb r1, [r2, r3] if((pardata.DIAGN_MASK[CURR_POINT][CURR_USL] & 0x7) == 0) 808c96a: 4b1d ldr r3, [pc, #116] ; (808c9e0 ) 808c96c: 781b ldrb r3, [r3, #0] 808c96e: b2db uxtb r3, r3 808c970: 4618 mov r0, r3 808c972: 4b1c ldr r3, [pc, #112] ; (808c9e4 ) 808c974: 781b ldrb r3, [r3, #0] 808c976: b2db uxtb r3, r3 808c978: 4619 mov r1, r3 808c97a: 4a1b ldr r2, [pc, #108] ; (808c9e8 ) 808c97c: 0083 lsls r3, r0, #2 808c97e: 4413 add r3, r2 808c980: 440b add r3, r1 808c982: f503 730f add.w r3, r3, #572 ; 0x23c 808c986: 781b ldrb r3, [r3, #0] 808c988: b2db uxtb r3, r3 808c98a: f003 0307 and.w r3, r3, #7 808c98e: 2b00 cmp r3, #0 808c990: d103 bne.n 808c99a cl2 = LCD_COLOR_GRAY; 808c992: 4b16 ldr r3, [pc, #88] ; (808c9ec ) 808c994: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808c998: e002 b.n 808c9a0 else cl2 = LCD_COLOR_MY_YELLOW; 808c99a: 4b0e ldr r3, [pc, #56] ; (808c9d4 ) 808c99c: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == Diag_A) 808c9a0: 4b0d ldr r3, [pc, #52] ; (808c9d8 ) 808c9a2: 781b ldrb r3, [r3, #0] 808c9a4: b2db uxtb r3, r3 808c9a6: 2b0c cmp r3, #12 808c9a8: d105 bne.n 808c9b6 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808c9aa: 490c ldr r1, [pc, #48] ; (808c9dc ) 808c9ac: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808c9b0: f7c6 ff18 bl 80537e4 808c9b4: e004 b.n 808c9c0 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808c9b6: 4909 ldr r1, [pc, #36] ; (808c9dc ) 808c9b8: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808c9bc: f7c6 ff12 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, str2); 808c9c0: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808c9c4: 461a mov r2, r3 808c9c6: 21aa movs r1, #170 ; 0xaa 808c9c8: f44f 7082 mov.w r0, #260 ; 0x104 808c9cc: f7c7 fcca bl 8054364 } break; 808c9d0: f00a be19 b.w 8097606 808c9d4: ffd8aa57 .word 0xffd8aa57 808c9d8: 20020070 .word 0x20020070 808c9dc: ff0a0f1f .word 0xff0a0f1f 808c9e0: 20021011 .word 0x20021011 808c9e4: 20021013 .word 0x20021013 808c9e8: 20023e60 .word 0x20023e60 808c9ec: ff808080 .word 0xff808080 case PARAM_OSC: // LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 808c9f0: 49d9 ldr r1, [pc, #868] ; (808cd58 ) 808c9f2: 48da ldr r0, [pc, #872] ; (808cd5c ) 808c9f4: f7c6 fef6 bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 808c9f8: 23c9 movs r3, #201 ; 0xc9 808c9fa: f44f 729d mov.w r2, #314 ; 0x13a 808c9fe: 2123 movs r1, #35 ; 0x23 808ca00: 2002 movs r0, #2 808ca02: f7c7 f9f5 bl 8053df0 k = (uint32_t) (pardata.THR_VAL * 10.0f); 808ca06: 4bd6 ldr r3, [pc, #856] ; (808cd60 ) 808ca08: edd3 7a05 vldr s15, [r3, #20] 808ca0c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808ca10: ee67 7a87 vmul.f32 s15, s15, s14 808ca14: eefc 7ae7 vcvt.u32.f32 s15, s15 808ca18: ee17 3a90 vmov r3, s15 808ca1c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt = (uint8_t) (k / 100000); 808ca20: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808ca24: 095b lsrs r3, r3, #5 808ca26: 4acf ldr r2, [pc, #828] ; (808cd64 ) 808ca28: fba2 2303 umull r2, r3, r2, r3 808ca2c: 09db lsrs r3, r3, #7 808ca2e: b2db uxtb r3, r3 808ca30: f887 33e7 strb.w r3, [r7, #999] ; 0x3e7 iet = (uint8_t) (k % 100000 / 10000); 808ca34: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ca38: 0953 lsrs r3, r2, #5 808ca3a: 49ca ldr r1, [pc, #808] ; (808cd64 ) 808ca3c: fba1 1303 umull r1, r3, r1, r3 808ca40: 09db lsrs r3, r3, #7 808ca42: 49c9 ldr r1, [pc, #804] ; (808cd68 ) 808ca44: fb01 f303 mul.w r3, r1, r3 808ca48: 1ad3 subs r3, r2, r3 808ca4a: 4ac8 ldr r2, [pc, #800] ; (808cd6c ) 808ca4c: fba2 2303 umull r2, r3, r2, r3 808ca50: 0b5b lsrs r3, r3, #13 808ca52: b2db uxtb r3, r3 808ca54: f887 33e6 strb.w r3, [r7, #998] ; 0x3e6 ies = (uint8_t) (k % 100000 % 10000 / 1000); 808ca58: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ca5c: 0953 lsrs r3, r2, #5 808ca5e: 49c1 ldr r1, [pc, #772] ; (808cd64 ) 808ca60: fba1 1303 umull r1, r3, r1, r3 808ca64: 09db lsrs r3, r3, #7 808ca66: 49c0 ldr r1, [pc, #768] ; (808cd68 ) 808ca68: fb01 f303 mul.w r3, r1, r3 808ca6c: 1ad3 subs r3, r2, r3 808ca6e: 4abf ldr r2, [pc, #764] ; (808cd6c ) 808ca70: fba2 1203 umull r1, r2, r2, r3 808ca74: 0b52 lsrs r2, r2, #13 808ca76: f242 7110 movw r1, #10000 ; 0x2710 808ca7a: fb01 f202 mul.w r2, r1, r2 808ca7e: 1a9a subs r2, r3, r2 808ca80: 4bbb ldr r3, [pc, #748] ; (808cd70 ) 808ca82: fba3 2302 umull r2, r3, r3, r2 808ca86: 099b lsrs r3, r3, #6 808ca88: b2db uxtb r3, r3 808ca8a: f887 33e5 strb.w r3, [r7, #997] ; 0x3e5 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808ca8e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808ca92: 095a lsrs r2, r3, #5 808ca94: 49b3 ldr r1, [pc, #716] ; (808cd64 ) 808ca96: fba1 1202 umull r1, r2, r1, r2 808ca9a: 09d2 lsrs r2, r2, #7 808ca9c: 49b2 ldr r1, [pc, #712] ; (808cd68 ) 808ca9e: fb01 f202 mul.w r2, r1, r2 808caa2: 1a9a subs r2, r3, r2 808caa4: 4bb1 ldr r3, [pc, #708] ; (808cd6c ) 808caa6: fba3 1302 umull r1, r3, r3, r2 808caaa: 0b5b lsrs r3, r3, #13 808caac: f242 7110 movw r1, #10000 ; 0x2710 808cab0: fb01 f303 mul.w r3, r1, r3 808cab4: 1ad3 subs r3, r2, r3 808cab6: 4aae ldr r2, [pc, #696] ; (808cd70 ) 808cab8: fba2 1203 umull r1, r2, r2, r3 808cabc: 0992 lsrs r2, r2, #6 808cabe: f44f 717a mov.w r1, #1000 ; 0x3e8 808cac2: fb01 f202 mul.w r2, r1, r2 808cac6: 1a9a subs r2, r3, r2 808cac8: 4baa ldr r3, [pc, #680] ; (808cd74 ) 808caca: fba3 2302 umull r2, r3, r3, r2 808cace: 095b lsrs r3, r3, #5 808cad0: b2db uxtb r3, r3 808cad2: f887 33e4 strb.w r3, [r7, #996] ; 0x3e4 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808cad6: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cada: 0953 lsrs r3, r2, #5 808cadc: 49a1 ldr r1, [pc, #644] ; (808cd64 ) 808cade: fba1 1303 umull r1, r3, r1, r3 808cae2: 09db lsrs r3, r3, #7 808cae4: 49a0 ldr r1, [pc, #640] ; (808cd68 ) 808cae6: fb01 f303 mul.w r3, r1, r3 808caea: 1ad3 subs r3, r2, r3 808caec: 4a9f ldr r2, [pc, #636] ; (808cd6c ) 808caee: fba2 1203 umull r1, r2, r2, r3 808caf2: 0b52 lsrs r2, r2, #13 808caf4: f242 7110 movw r1, #10000 ; 0x2710 808caf8: fb01 f202 mul.w r2, r1, r2 808cafc: 1a9a subs r2, r3, r2 808cafe: 4b9c ldr r3, [pc, #624] ; (808cd70 ) 808cb00: fba3 1302 umull r1, r3, r3, r2 808cb04: 099b lsrs r3, r3, #6 808cb06: f44f 717a mov.w r1, #1000 ; 0x3e8 808cb0a: fb01 f303 mul.w r3, r1, r3 808cb0e: 1ad3 subs r3, r2, r3 808cb10: 4a98 ldr r2, [pc, #608] ; (808cd74 ) 808cb12: fba2 1203 umull r1, r2, r2, r3 808cb16: 0952 lsrs r2, r2, #5 808cb18: 2164 movs r1, #100 ; 0x64 808cb1a: fb01 f202 mul.w r2, r1, r2 808cb1e: 1a9a subs r2, r3, r2 808cb20: 4b95 ldr r3, [pc, #596] ; (808cd78 ) 808cb22: fba3 2302 umull r2, r3, r3, r2 808cb26: 08db lsrs r3, r3, #3 808cb28: b2db uxtb r3, r3 808cb2a: f887 33e3 strb.w r3, [r7, #995] ; 0x3e3 ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808cb2e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cb32: 0953 lsrs r3, r2, #5 808cb34: 498b ldr r1, [pc, #556] ; (808cd64 ) 808cb36: fba1 1303 umull r1, r3, r1, r3 808cb3a: 09db lsrs r3, r3, #7 808cb3c: 498a ldr r1, [pc, #552] ; (808cd68 ) 808cb3e: fb01 f303 mul.w r3, r1, r3 808cb42: 1ad3 subs r3, r2, r3 808cb44: 4a89 ldr r2, [pc, #548] ; (808cd6c ) 808cb46: fba2 1203 umull r1, r2, r2, r3 808cb4a: 0b52 lsrs r2, r2, #13 808cb4c: f242 7110 movw r1, #10000 ; 0x2710 808cb50: fb01 f202 mul.w r2, r1, r2 808cb54: 1a9a subs r2, r3, r2 808cb56: 4b86 ldr r3, [pc, #536] ; (808cd70 ) 808cb58: fba3 1302 umull r1, r3, r3, r2 808cb5c: 099b lsrs r3, r3, #6 808cb5e: f44f 717a mov.w r1, #1000 ; 0x3e8 808cb62: fb01 f303 mul.w r3, r1, r3 808cb66: 1ad3 subs r3, r2, r3 808cb68: 4a82 ldr r2, [pc, #520] ; (808cd74 ) 808cb6a: fba2 1203 umull r1, r2, r2, r3 808cb6e: 0952 lsrs r2, r2, #5 808cb70: 2164 movs r1, #100 ; 0x64 808cb72: fb01 f202 mul.w r2, r1, r2 808cb76: 1a9a subs r2, r3, r2 808cb78: 4b7f ldr r3, [pc, #508] ; (808cd78 ) 808cb7a: fba3 1302 umull r1, r3, r3, r2 808cb7e: 08d9 lsrs r1, r3, #3 808cb80: 460b mov r3, r1 808cb82: 009b lsls r3, r3, #2 808cb84: 440b add r3, r1 808cb86: 005b lsls r3, r3, #1 808cb88: 1ad1 subs r1, r2, r3 808cb8a: b2cb uxtb r3, r1 808cb8c: f887 33e2 strb.w r3, [r7, #994] ; 0x3e2 k = (uint32_t) (pardata.MAX_VAL * 10.0f); 808cb90: 4b73 ldr r3, [pc, #460] ; (808cd60 ) 808cb92: edd3 7a06 vldr s15, [r3, #24] 808cb96: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808cb9a: ee67 7a87 vmul.f32 s15, s15, s14 808cb9e: eefc 7ae7 vcvt.u32.f32 s15, s15 808cba2: ee17 3a90 vmov r3, s15 808cba6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 808cbaa: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808cbae: 095b lsrs r3, r3, #5 808cbb0: 4a6c ldr r2, [pc, #432] ; (808cd64 ) 808cbb2: fba2 2303 umull r2, r3, r2, r3 808cbb6: 09db lsrs r3, r3, #7 808cbb8: b2db uxtb r3, r3 808cbba: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 808cbbe: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cbc2: 0953 lsrs r3, r2, #5 808cbc4: 4967 ldr r1, [pc, #412] ; (808cd64 ) 808cbc6: fba1 1303 umull r1, r3, r1, r3 808cbca: 09db lsrs r3, r3, #7 808cbcc: 4966 ldr r1, [pc, #408] ; (808cd68 ) 808cbce: fb01 f303 mul.w r3, r1, r3 808cbd2: 1ad3 subs r3, r2, r3 808cbd4: 4a65 ldr r2, [pc, #404] ; (808cd6c ) 808cbd6: fba2 2303 umull r2, r3, r2, r3 808cbda: 0b5b lsrs r3, r3, #13 808cbdc: b2db uxtb r3, r3 808cbde: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 808cbe2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cbe6: 0953 lsrs r3, r2, #5 808cbe8: 495e ldr r1, [pc, #376] ; (808cd64 ) 808cbea: fba1 1303 umull r1, r3, r1, r3 808cbee: 09db lsrs r3, r3, #7 808cbf0: 495d ldr r1, [pc, #372] ; (808cd68 ) 808cbf2: fb01 f303 mul.w r3, r1, r3 808cbf6: 1ad3 subs r3, r2, r3 808cbf8: 4a5c ldr r2, [pc, #368] ; (808cd6c ) 808cbfa: fba2 1203 umull r1, r2, r2, r3 808cbfe: 0b52 lsrs r2, r2, #13 808cc00: f242 7110 movw r1, #10000 ; 0x2710 808cc04: fb01 f202 mul.w r2, r1, r2 808cc08: 1a9a subs r2, r3, r2 808cc0a: 4b59 ldr r3, [pc, #356] ; (808cd70 ) 808cc0c: fba3 2302 umull r2, r3, r3, r2 808cc10: 099b lsrs r3, r3, #6 808cc12: b2db uxtb r3, r3 808cc14: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808cc18: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808cc1c: 095a lsrs r2, r3, #5 808cc1e: 4951 ldr r1, [pc, #324] ; (808cd64 ) 808cc20: fba1 1202 umull r1, r2, r1, r2 808cc24: 09d2 lsrs r2, r2, #7 808cc26: 4950 ldr r1, [pc, #320] ; (808cd68 ) 808cc28: fb01 f202 mul.w r2, r1, r2 808cc2c: 1a9a subs r2, r3, r2 808cc2e: 4b4f ldr r3, [pc, #316] ; (808cd6c ) 808cc30: fba3 1302 umull r1, r3, r3, r2 808cc34: 0b5b lsrs r3, r3, #13 808cc36: f242 7110 movw r1, #10000 ; 0x2710 808cc3a: fb01 f303 mul.w r3, r1, r3 808cc3e: 1ad3 subs r3, r2, r3 808cc40: 4a4b ldr r2, [pc, #300] ; (808cd70 ) 808cc42: fba2 1203 umull r1, r2, r2, r3 808cc46: 0992 lsrs r2, r2, #6 808cc48: f44f 717a mov.w r1, #1000 ; 0x3e8 808cc4c: fb01 f202 mul.w r2, r1, r2 808cc50: 1a9a subs r2, r3, r2 808cc52: 4b48 ldr r3, [pc, #288] ; (808cd74 ) 808cc54: fba3 2302 umull r2, r3, r3, r2 808cc58: 095b lsrs r3, r3, #5 808cc5a: b2db uxtb r3, r3 808cc5c: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808cc60: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cc64: 0953 lsrs r3, r2, #5 808cc66: 493f ldr r1, [pc, #252] ; (808cd64 ) 808cc68: fba1 1303 umull r1, r3, r1, r3 808cc6c: 09db lsrs r3, r3, #7 808cc6e: 493e ldr r1, [pc, #248] ; (808cd68 ) 808cc70: fb01 f303 mul.w r3, r1, r3 808cc74: 1ad3 subs r3, r2, r3 808cc76: 4a3d ldr r2, [pc, #244] ; (808cd6c ) 808cc78: fba2 1203 umull r1, r2, r2, r3 808cc7c: 0b52 lsrs r2, r2, #13 808cc7e: f242 7110 movw r1, #10000 ; 0x2710 808cc82: fb01 f202 mul.w r2, r1, r2 808cc86: 1a9a subs r2, r3, r2 808cc88: 4b39 ldr r3, [pc, #228] ; (808cd70 ) 808cc8a: fba3 1302 umull r1, r3, r3, r2 808cc8e: 099b lsrs r3, r3, #6 808cc90: f44f 717a mov.w r1, #1000 ; 0x3e8 808cc94: fb01 f303 mul.w r3, r1, r3 808cc98: 1ad3 subs r3, r2, r3 808cc9a: 4a36 ldr r2, [pc, #216] ; (808cd74 ) 808cc9c: fba2 1203 umull r1, r2, r2, r3 808cca0: 0952 lsrs r2, r2, #5 808cca2: 2164 movs r1, #100 ; 0x64 808cca4: fb01 f202 mul.w r2, r1, r2 808cca8: 1a9a subs r2, r3, r2 808ccaa: 4b33 ldr r3, [pc, #204] ; (808cd78 ) 808ccac: fba3 2302 umull r2, r3, r3, r2 808ccb0: 08db lsrs r3, r3, #3 808ccb2: b2db uxtb r3, r3 808ccb4: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808ccb8: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ccbc: 0953 lsrs r3, r2, #5 808ccbe: 4929 ldr r1, [pc, #164] ; (808cd64 ) 808ccc0: fba1 1303 umull r1, r3, r1, r3 808ccc4: 09db lsrs r3, r3, #7 808ccc6: 4928 ldr r1, [pc, #160] ; (808cd68 ) 808ccc8: fb01 f303 mul.w r3, r1, r3 808cccc: 1ad3 subs r3, r2, r3 808ccce: 4a27 ldr r2, [pc, #156] ; (808cd6c ) 808ccd0: fba2 1203 umull r1, r2, r2, r3 808ccd4: 0b52 lsrs r2, r2, #13 808ccd6: f242 7110 movw r1, #10000 ; 0x2710 808ccda: fb01 f202 mul.w r2, r1, r2 808ccde: 1a9a subs r2, r3, r2 808cce0: 4b23 ldr r3, [pc, #140] ; (808cd70 ) 808cce2: fba3 1302 umull r1, r3, r3, r2 808cce6: 099b lsrs r3, r3, #6 808cce8: f44f 717a mov.w r1, #1000 ; 0x3e8 808ccec: fb01 f303 mul.w r3, r1, r3 808ccf0: 1ad3 subs r3, r2, r3 808ccf2: 4a20 ldr r2, [pc, #128] ; (808cd74 ) 808ccf4: fba2 1203 umull r1, r2, r2, r3 808ccf8: 0952 lsrs r2, r2, #5 808ccfa: 2164 movs r1, #100 ; 0x64 808ccfc: fb01 f202 mul.w r2, r1, r2 808cd00: 1a9a subs r2, r3, r2 808cd02: 4b1d ldr r3, [pc, #116] ; (808cd78 ) 808cd04: fba3 1302 umull r1, r3, r3, r2 808cd08: 08d9 lsrs r1, r3, #3 808cd0a: 460b mov r3, r1 808cd0c: 009b lsls r3, r3, #2 808cd0e: 440b add r3, r1 808cd10: 005b lsls r3, r3, #1 808cd12: 1ad1 subs r1, r2, r3 808cd14: b2cb uxtb r3, r1 808cd16: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 k = (uint32_t) (pardata.HP * 10.0f); 808cd1a: 4b11 ldr r3, [pc, #68] ; (808cd60 ) 808cd1c: edd3 7a35 vldr s15, [r3, #212] ; 0xd4 808cd20: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808cd24: ee67 7a87 vmul.f32 s15, s15, s14 808cd28: eefc 7ae7 vcvt.u32.f32 s15, s15 808cd2c: ee17 3a90 vmov r3, s15 808cd30: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 808cd34: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808cd38: 095b lsrs r3, r3, #5 808cd3a: 4a0a ldr r2, [pc, #40] ; (808cd64 ) 808cd3c: fba2 2303 umull r2, r3, r2, r3 808cd40: 09db lsrs r3, r3, #7 808cd42: b2db uxtb r3, r3 808cd44: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 808cd48: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cd4c: 0953 lsrs r3, r2, #5 808cd4e: 4905 ldr r1, [pc, #20] ; (808cd64 ) 808cd50: fba1 1303 umull r1, r3, r1, r3 808cd54: 09db lsrs r3, r3, #7 808cd56: e011 b.n 808cd7c 808cd58: ff0a0f1f .word 0xff0a0f1f 808cd5c: ffd3d3d3 .word 0xffd3d3d3 808cd60: 20023e60 .word 0x20023e60 808cd64: 0a7c5ac5 .word 0x0a7c5ac5 808cd68: 000186a0 .word 0x000186a0 808cd6c: d1b71759 .word 0xd1b71759 808cd70: 10624dd3 .word 0x10624dd3 808cd74: 51eb851f .word 0x51eb851f 808cd78: cccccccd .word 0xcccccccd 808cd7c: 49d4 ldr r1, [pc, #848] ; (808d0d0 ) 808cd7e: fb01 f303 mul.w r3, r1, r3 808cd82: 1ad3 subs r3, r2, r3 808cd84: 4ad3 ldr r2, [pc, #844] ; (808d0d4 ) 808cd86: fba2 2303 umull r2, r3, r2, r3 808cd8a: 0b5b lsrs r3, r3, #13 808cd8c: b2db uxtb r3, r3 808cd8e: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 808cd92: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808cd96: 0953 lsrs r3, r2, #5 808cd98: 49cf ldr r1, [pc, #828] ; (808d0d8 ) 808cd9a: fba1 1303 umull r1, r3, r1, r3 808cd9e: 09db lsrs r3, r3, #7 808cda0: 49cb ldr r1, [pc, #812] ; (808d0d0 ) 808cda2: fb01 f303 mul.w r3, r1, r3 808cda6: 1ad3 subs r3, r2, r3 808cda8: 4aca ldr r2, [pc, #808] ; (808d0d4 ) 808cdaa: fba2 1203 umull r1, r2, r2, r3 808cdae: 0b52 lsrs r2, r2, #13 808cdb0: f242 7110 movw r1, #10000 ; 0x2710 808cdb4: fb01 f202 mul.w r2, r1, r2 808cdb8: 1a9a subs r2, r3, r2 808cdba: 4bc8 ldr r3, [pc, #800] ; (808d0dc ) 808cdbc: fba3 2302 umull r2, r3, r3, r2 808cdc0: 099b lsrs r3, r3, #6 808cdc2: b2db uxtb r3, r3 808cdc4: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808cdc8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808cdcc: 095a lsrs r2, r3, #5 808cdce: 49c2 ldr r1, [pc, #776] ; (808d0d8 ) 808cdd0: fba1 1202 umull r1, r2, r1, r2 808cdd4: 09d2 lsrs r2, r2, #7 808cdd6: 49be ldr r1, [pc, #760] ; (808d0d0 ) 808cdd8: fb01 f202 mul.w r2, r1, r2 808cddc: 1a9a subs r2, r3, r2 808cdde: 4bbd ldr r3, [pc, #756] ; (808d0d4 ) 808cde0: fba3 1302 umull r1, r3, r3, r2 808cde4: 0b5b lsrs r3, r3, #13 808cde6: f242 7110 movw r1, #10000 ; 0x2710 808cdea: fb01 f303 mul.w r3, r1, r3 808cdee: 1ad3 subs r3, r2, r3 808cdf0: 4aba ldr r2, [pc, #744] ; (808d0dc ) 808cdf2: fba2 1203 umull r1, r2, r2, r3 808cdf6: 0992 lsrs r2, r2, #6 808cdf8: f44f 717a mov.w r1, #1000 ; 0x3e8 808cdfc: fb01 f202 mul.w r2, r1, r2 808ce00: 1a9a subs r2, r3, r2 808ce02: 4bb7 ldr r3, [pc, #732] ; (808d0e0 ) 808ce04: fba3 2302 umull r2, r3, r3, r2 808ce08: 095b lsrs r3, r3, #5 808ce0a: b2db uxtb r3, r3 808ce0c: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808ce10: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ce14: 0953 lsrs r3, r2, #5 808ce16: 49b0 ldr r1, [pc, #704] ; (808d0d8 ) 808ce18: fba1 1303 umull r1, r3, r1, r3 808ce1c: 09db lsrs r3, r3, #7 808ce1e: 49ac ldr r1, [pc, #688] ; (808d0d0 ) 808ce20: fb01 f303 mul.w r3, r1, r3 808ce24: 1ad3 subs r3, r2, r3 808ce26: 4aab ldr r2, [pc, #684] ; (808d0d4 ) 808ce28: fba2 1203 umull r1, r2, r2, r3 808ce2c: 0b52 lsrs r2, r2, #13 808ce2e: f242 7110 movw r1, #10000 ; 0x2710 808ce32: fb01 f202 mul.w r2, r1, r2 808ce36: 1a9a subs r2, r3, r2 808ce38: 4ba8 ldr r3, [pc, #672] ; (808d0dc ) 808ce3a: fba3 1302 umull r1, r3, r3, r2 808ce3e: 099b lsrs r3, r3, #6 808ce40: f44f 717a mov.w r1, #1000 ; 0x3e8 808ce44: fb01 f303 mul.w r3, r1, r3 808ce48: 1ad3 subs r3, r2, r3 808ce4a: 4aa5 ldr r2, [pc, #660] ; (808d0e0 ) 808ce4c: fba2 1203 umull r1, r2, r2, r3 808ce50: 0952 lsrs r2, r2, #5 808ce52: 2164 movs r1, #100 ; 0x64 808ce54: fb01 f202 mul.w r2, r1, r2 808ce58: 1a9a subs r2, r3, r2 808ce5a: 4ba2 ldr r3, [pc, #648] ; (808d0e4 ) 808ce5c: fba3 2302 umull r2, r3, r3, r2 808ce60: 08db lsrs r3, r3, #3 808ce62: b2db uxtb r3, r3 808ce64: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808ce68: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808ce6c: 0953 lsrs r3, r2, #5 808ce6e: 499a ldr r1, [pc, #616] ; (808d0d8 ) 808ce70: fba1 1303 umull r1, r3, r1, r3 808ce74: 09db lsrs r3, r3, #7 808ce76: 4996 ldr r1, [pc, #600] ; (808d0d0 ) 808ce78: fb01 f303 mul.w r3, r1, r3 808ce7c: 1ad3 subs r3, r2, r3 808ce7e: 4a95 ldr r2, [pc, #596] ; (808d0d4 ) 808ce80: fba2 1203 umull r1, r2, r2, r3 808ce84: 0b52 lsrs r2, r2, #13 808ce86: f242 7110 movw r1, #10000 ; 0x2710 808ce8a: fb01 f202 mul.w r2, r1, r2 808ce8e: 1a9a subs r2, r3, r2 808ce90: 4b92 ldr r3, [pc, #584] ; (808d0dc ) 808ce92: fba3 1302 umull r1, r3, r3, r2 808ce96: 099b lsrs r3, r3, #6 808ce98: f44f 717a mov.w r1, #1000 ; 0x3e8 808ce9c: fb01 f303 mul.w r3, r1, r3 808cea0: 1ad3 subs r3, r2, r3 808cea2: 4a8f ldr r2, [pc, #572] ; (808d0e0 ) 808cea4: fba2 1203 umull r1, r2, r2, r3 808cea8: 0952 lsrs r2, r2, #5 808ceaa: 2164 movs r1, #100 ; 0x64 808ceac: fb01 f202 mul.w r2, r1, r2 808ceb0: 1a9a subs r2, r3, r2 808ceb2: 4b8c ldr r3, [pc, #560] ; (808d0e4 ) 808ceb4: fba3 1302 umull r1, r3, r3, r2 808ceb8: 08d9 lsrs r1, r3, #3 808ceba: 460b mov r3, r1 808cebc: 009b lsls r3, r3, #2 808cebe: 440b add r3, r1 808cec0: 005b lsls r3, r3, #1 808cec2: 1ad1 subs r1, r2, r3 808cec4: b2cb uxtb r3, r1 808cec6: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 808ceca: 2300 movs r3, #0 808cecc: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 808ced0: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808ced4: 220c movs r2, #12 808ced6: 2100 movs r1, #0 808ced8: 4618 mov r0, r3 808ceda: f040 f8d1 bl 80cd080 if(idtHP != 0) 808cede: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808cee2: b2db uxtb r3, r3 808cee4: 2b00 cmp r3, #0 808cee6: d00c beq.n 808cf02 strHP[i++] = idtHP + 48; 808cee8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ceec: 1c5a adds r2, r3, #1 808ceee: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808cef2: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 808cef6: b2d2 uxtb r2, r2 808cef8: 3230 adds r2, #48 ; 0x30 808cefa: b2d1 uxtb r1, r2 808cefc: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cf00: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 808cf02: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808cf06: b2db uxtb r3, r3 808cf08: 2b00 cmp r3, #0 808cf0a: d104 bne.n 808cf16 808cf0c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808cf10: b2db uxtb r3, r3 808cf12: 2b00 cmp r3, #0 808cf14: d00c beq.n 808cf30 strHP[i++] = ietHP + 48; 808cf16: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808cf1a: 1c5a adds r2, r3, #1 808cf1c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808cf20: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 808cf24: b2d2 uxtb r2, r2 808cf26: 3230 adds r2, #48 ; 0x30 808cf28: b2d1 uxtb r1, r2 808cf2a: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cf2e: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808cf30: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808cf34: b2db uxtb r3, r3 808cf36: 2b00 cmp r3, #0 808cf38: d109 bne.n 808cf4e 808cf3a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808cf3e: b2db uxtb r3, r3 808cf40: 2b00 cmp r3, #0 808cf42: d104 bne.n 808cf4e 808cf44: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808cf48: b2db uxtb r3, r3 808cf4a: 2b00 cmp r3, #0 808cf4c: d00c beq.n 808cf68 strHP[i++] = iesHP + 48; 808cf4e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808cf52: 1c5a adds r2, r3, #1 808cf54: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808cf58: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808cf5c: b2d2 uxtb r2, r2 808cf5e: 3230 adds r2, #48 ; 0x30 808cf60: b2d1 uxtb r1, r2 808cf62: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cf66: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808cf68: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808cf6c: b2db uxtb r3, r3 808cf6e: 2b00 cmp r3, #0 808cf70: d10e bne.n 808cf90 808cf72: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808cf76: b2db uxtb r3, r3 808cf78: 2b00 cmp r3, #0 808cf7a: d109 bne.n 808cf90 808cf7c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808cf80: b2db uxtb r3, r3 808cf82: 2b00 cmp r3, #0 808cf84: d104 bne.n 808cf90 808cf86: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808cf8a: b2db uxtb r3, r3 808cf8c: 2b00 cmp r3, #0 808cf8e: d00c beq.n 808cfaa strHP[i++] = iedHP + 48; 808cf90: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808cf94: 1c5a adds r2, r3, #1 808cf96: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808cf9a: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 808cf9e: b2d2 uxtb r2, r2 808cfa0: 3230 adds r2, #48 ; 0x30 808cfa2: b2d1 uxtb r1, r2 808cfa4: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cfa8: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 808cfaa: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808cfae: 1c5a adds r2, r3, #1 808cfb0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808cfb4: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808cfb8: b2d2 uxtb r2, r2 808cfba: 3230 adds r2, #48 ; 0x30 808cfbc: b2d1 uxtb r1, r2 808cfbe: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cfc2: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 808cfc4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808cfc8: 1c5a adds r2, r3, #1 808cfca: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808cfce: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cfd2: 212e movs r1, #46 ; 0x2e 808cfd4: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 808cfd6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808cfda: 1c5a adds r2, r3, #1 808cfdc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808cfe0: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 808cfe4: b2d2 uxtb r2, r2 808cfe6: 3230 adds r2, #48 ; 0x30 808cfe8: b2d1 uxtb r1, r2 808cfea: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808cfee: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.LP * 10.0f); 808cff0: 4b3d ldr r3, [pc, #244] ; (808d0e8 ) 808cff2: edd3 7a36 vldr s15, [r3, #216] ; 0xd8 808cff6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808cffa: ee67 7a87 vmul.f32 s15, s15, s14 808cffe: eefc 7ae7 vcvt.u32.f32 s15, s15 808d002: ee17 3a90 vmov r3, s15 808d006: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 808d00a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808d00e: 095b lsrs r3, r3, #5 808d010: 4a31 ldr r2, [pc, #196] ; (808d0d8 ) 808d012: fba2 2303 umull r2, r3, r2, r3 808d016: 09db lsrs r3, r3, #7 808d018: b2db uxtb r3, r3 808d01a: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 808d01e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808d022: 0953 lsrs r3, r2, #5 808d024: 492c ldr r1, [pc, #176] ; (808d0d8 ) 808d026: fba1 1303 umull r1, r3, r1, r3 808d02a: 09db lsrs r3, r3, #7 808d02c: 4928 ldr r1, [pc, #160] ; (808d0d0 ) 808d02e: fb01 f303 mul.w r3, r1, r3 808d032: 1ad3 subs r3, r2, r3 808d034: 4a27 ldr r2, [pc, #156] ; (808d0d4 ) 808d036: fba2 2303 umull r2, r3, r2, r3 808d03a: 0b5b lsrs r3, r3, #13 808d03c: b2db uxtb r3, r3 808d03e: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 808d042: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808d046: 0953 lsrs r3, r2, #5 808d048: 4923 ldr r1, [pc, #140] ; (808d0d8 ) 808d04a: fba1 1303 umull r1, r3, r1, r3 808d04e: 09db lsrs r3, r3, #7 808d050: 491f ldr r1, [pc, #124] ; (808d0d0 ) 808d052: fb01 f303 mul.w r3, r1, r3 808d056: 1ad3 subs r3, r2, r3 808d058: 4a1e ldr r2, [pc, #120] ; (808d0d4 ) 808d05a: fba2 1203 umull r1, r2, r2, r3 808d05e: 0b52 lsrs r2, r2, #13 808d060: f242 7110 movw r1, #10000 ; 0x2710 808d064: fb01 f202 mul.w r2, r1, r2 808d068: 1a9a subs r2, r3, r2 808d06a: 4b1c ldr r3, [pc, #112] ; (808d0dc ) 808d06c: fba3 2302 umull r2, r3, r3, r2 808d070: 099b lsrs r3, r3, #6 808d072: b2db uxtb r3, r3 808d074: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808d078: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808d07c: 095a lsrs r2, r3, #5 808d07e: 4916 ldr r1, [pc, #88] ; (808d0d8 ) 808d080: fba1 1202 umull r1, r2, r1, r2 808d084: 09d2 lsrs r2, r2, #7 808d086: 4912 ldr r1, [pc, #72] ; (808d0d0 ) 808d088: fb01 f202 mul.w r2, r1, r2 808d08c: 1a9a subs r2, r3, r2 808d08e: 4b11 ldr r3, [pc, #68] ; (808d0d4 ) 808d090: fba3 1302 umull r1, r3, r3, r2 808d094: 0b5b lsrs r3, r3, #13 808d096: f242 7110 movw r1, #10000 ; 0x2710 808d09a: fb01 f303 mul.w r3, r1, r3 808d09e: 1ad3 subs r3, r2, r3 808d0a0: 4a0e ldr r2, [pc, #56] ; (808d0dc ) 808d0a2: fba2 1203 umull r1, r2, r2, r3 808d0a6: 0992 lsrs r2, r2, #6 808d0a8: f44f 717a mov.w r1, #1000 ; 0x3e8 808d0ac: fb01 f202 mul.w r2, r1, r2 808d0b0: 1a9a subs r2, r3, r2 808d0b2: 4b0b ldr r3, [pc, #44] ; (808d0e0 ) 808d0b4: fba3 2302 umull r2, r3, r3, r2 808d0b8: 095b lsrs r3, r3, #5 808d0ba: b2db uxtb r3, r3 808d0bc: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808d0c0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808d0c4: 0953 lsrs r3, r2, #5 808d0c6: 4904 ldr r1, [pc, #16] ; (808d0d8 ) 808d0c8: fba1 1303 umull r1, r3, r1, r3 808d0cc: 09db lsrs r3, r3, #7 808d0ce: e00d b.n 808d0ec 808d0d0: 000186a0 .word 0x000186a0 808d0d4: d1b71759 .word 0xd1b71759 808d0d8: 0a7c5ac5 .word 0x0a7c5ac5 808d0dc: 10624dd3 .word 0x10624dd3 808d0e0: 51eb851f .word 0x51eb851f 808d0e4: cccccccd .word 0xcccccccd 808d0e8: 20023e60 .word 0x20023e60 808d0ec: 49bd ldr r1, [pc, #756] ; (808d3e4 ) 808d0ee: fb01 f303 mul.w r3, r1, r3 808d0f2: 1ad3 subs r3, r2, r3 808d0f4: 4abc ldr r2, [pc, #752] ; (808d3e8 ) 808d0f6: fba2 1203 umull r1, r2, r2, r3 808d0fa: 0b52 lsrs r2, r2, #13 808d0fc: f242 7110 movw r1, #10000 ; 0x2710 808d100: fb01 f202 mul.w r2, r1, r2 808d104: 1a9a subs r2, r3, r2 808d106: 4bb9 ldr r3, [pc, #740] ; (808d3ec ) 808d108: fba3 1302 umull r1, r3, r3, r2 808d10c: 099b lsrs r3, r3, #6 808d10e: f44f 717a mov.w r1, #1000 ; 0x3e8 808d112: fb01 f303 mul.w r3, r1, r3 808d116: 1ad3 subs r3, r2, r3 808d118: 4ab5 ldr r2, [pc, #724] ; (808d3f0 ) 808d11a: fba2 1203 umull r1, r2, r2, r3 808d11e: 0952 lsrs r2, r2, #5 808d120: 2164 movs r1, #100 ; 0x64 808d122: fb01 f202 mul.w r2, r1, r2 808d126: 1a9a subs r2, r3, r2 808d128: 4bb2 ldr r3, [pc, #712] ; (808d3f4 ) 808d12a: fba3 2302 umull r2, r3, r3, r2 808d12e: 08db lsrs r3, r3, #3 808d130: b2db uxtb r3, r3 808d132: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808d136: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808d13a: 0953 lsrs r3, r2, #5 808d13c: 49ae ldr r1, [pc, #696] ; (808d3f8 ) 808d13e: fba1 1303 umull r1, r3, r1, r3 808d142: 09db lsrs r3, r3, #7 808d144: 49a7 ldr r1, [pc, #668] ; (808d3e4 ) 808d146: fb01 f303 mul.w r3, r1, r3 808d14a: 1ad3 subs r3, r2, r3 808d14c: 4aa6 ldr r2, [pc, #664] ; (808d3e8 ) 808d14e: fba2 1203 umull r1, r2, r2, r3 808d152: 0b52 lsrs r2, r2, #13 808d154: f242 7110 movw r1, #10000 ; 0x2710 808d158: fb01 f202 mul.w r2, r1, r2 808d15c: 1a9a subs r2, r3, r2 808d15e: 4ba3 ldr r3, [pc, #652] ; (808d3ec ) 808d160: fba3 1302 umull r1, r3, r3, r2 808d164: 099b lsrs r3, r3, #6 808d166: f44f 717a mov.w r1, #1000 ; 0x3e8 808d16a: fb01 f303 mul.w r3, r1, r3 808d16e: 1ad3 subs r3, r2, r3 808d170: 4a9f ldr r2, [pc, #636] ; (808d3f0 ) 808d172: fba2 1203 umull r1, r2, r2, r3 808d176: 0952 lsrs r2, r2, #5 808d178: 2164 movs r1, #100 ; 0x64 808d17a: fb01 f202 mul.w r2, r1, r2 808d17e: 1a9a subs r2, r3, r2 808d180: 4b9c ldr r3, [pc, #624] ; (808d3f4 ) 808d182: fba3 1302 umull r1, r3, r3, r2 808d186: 08d9 lsrs r1, r3, #3 808d188: 460b mov r3, r1 808d18a: 009b lsls r3, r3, #2 808d18c: 440b add r3, r1 808d18e: 005b lsls r3, r3, #1 808d190: 1ad1 subs r1, r2, r3 808d192: b2cb uxtb r3, r1 808d194: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 808d198: 2300 movs r3, #0 808d19a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 808d19e: f507 73cc add.w r3, r7, #408 ; 0x198 808d1a2: 220c movs r2, #12 808d1a4: 2100 movs r1, #0 808d1a6: 4618 mov r0, r3 808d1a8: f03f ff6a bl 80cd080 if(idtLP != 0) 808d1ac: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d1b0: b2db uxtb r3, r3 808d1b2: 2b00 cmp r3, #0 808d1b4: d00c beq.n 808d1d0 strLP[i++] = idtLP + 48; 808d1b6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d1ba: 1c5a adds r2, r3, #1 808d1bc: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d1c0: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808d1c4: b2d2 uxtb r2, r2 808d1c6: 3230 adds r2, #48 ; 0x30 808d1c8: b2d1 uxtb r1, r2 808d1ca: f507 72cc add.w r2, r7, #408 ; 0x198 808d1ce: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808d1d0: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d1d4: b2db uxtb r3, r3 808d1d6: 2b00 cmp r3, #0 808d1d8: d104 bne.n 808d1e4 808d1da: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d1de: b2db uxtb r3, r3 808d1e0: 2b00 cmp r3, #0 808d1e2: d00c beq.n 808d1fe strLP[i++] = ietLP + 48; 808d1e4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d1e8: 1c5a adds r2, r3, #1 808d1ea: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d1ee: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808d1f2: b2d2 uxtb r2, r2 808d1f4: 3230 adds r2, #48 ; 0x30 808d1f6: b2d1 uxtb r1, r2 808d1f8: f507 72cc add.w r2, r7, #408 ; 0x198 808d1fc: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808d1fe: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808d202: b2db uxtb r3, r3 808d204: 2b00 cmp r3, #0 808d206: d109 bne.n 808d21c 808d208: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d20c: b2db uxtb r3, r3 808d20e: 2b00 cmp r3, #0 808d210: d104 bne.n 808d21c 808d212: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d216: b2db uxtb r3, r3 808d218: 2b00 cmp r3, #0 808d21a: d00c beq.n 808d236 strLP[i++] = iesLP + 48; 808d21c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d220: 1c5a adds r2, r3, #1 808d222: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d226: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808d22a: b2d2 uxtb r2, r2 808d22c: 3230 adds r2, #48 ; 0x30 808d22e: b2d1 uxtb r1, r2 808d230: f507 72cc add.w r2, r7, #408 ; 0x198 808d234: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808d236: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808d23a: b2db uxtb r3, r3 808d23c: 2b00 cmp r3, #0 808d23e: d10e bne.n 808d25e 808d240: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808d244: b2db uxtb r3, r3 808d246: 2b00 cmp r3, #0 808d248: d109 bne.n 808d25e 808d24a: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808d24e: b2db uxtb r3, r3 808d250: 2b00 cmp r3, #0 808d252: d104 bne.n 808d25e 808d254: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808d258: b2db uxtb r3, r3 808d25a: 2b00 cmp r3, #0 808d25c: d00c beq.n 808d278 strLP[i++] = iedLP + 48; 808d25e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d262: 1c5a adds r2, r3, #1 808d264: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d268: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808d26c: b2d2 uxtb r2, r2 808d26e: 3230 adds r2, #48 ; 0x30 808d270: b2d1 uxtb r1, r2 808d272: f507 72cc add.w r2, r7, #408 ; 0x198 808d276: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 808d278: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d27c: 1c5a adds r2, r3, #1 808d27e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d282: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808d286: b2d2 uxtb r2, r2 808d288: 3230 adds r2, #48 ; 0x30 808d28a: b2d1 uxtb r1, r2 808d28c: f507 72cc add.w r2, r7, #408 ; 0x198 808d290: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 808d292: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d296: 1c5a adds r2, r3, #1 808d298: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d29c: f507 72cc add.w r2, r7, #408 ; 0x198 808d2a0: 212e movs r1, #46 ; 0x2e 808d2a2: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 808d2a4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808d2a8: 1c5a adds r2, r3, #1 808d2aa: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808d2ae: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808d2b2: b2d2 uxtb r2, r2 808d2b4: 3230 adds r2, #48 ; 0x30 808d2b6: b2d1 uxtb r1, r2 808d2b8: f507 72cc add.w r2, r7, #408 ; 0x198 808d2bc: 54d1 strb r1, [r2, r3] if(pardata.LANG == RUS) 808d2be: 4b4f ldr r3, [pc, #316] ; (808d3fc ) 808d2c0: 7b1b ldrb r3, [r3, #12] 808d2c2: b2db uxtb r3, r3 808d2c4: 2b00 cmp r3, #0 808d2c6: d133 bne.n 808d330 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808d2c8: 494d ldr r1, [pc, #308] ; (808d400 ) 808d2ca: f04f 30ff mov.w r0, #4294967295 808d2ce: f7c6 fa89 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, "Âåëè÷èíà"); 808d2d2: 4a4c ldr r2, [pc, #304] ; (808d404 ) 808d2d4: 213a movs r1, #58 ; 0x3a 808d2d6: 200a movs r0, #10 808d2d8: f7c7 f82c bl 8054334 LCD_DisplayString(10, LCD_LINE_4, "Ôèëüòð Â×(Ãö)"); 808d2dc: 4a4a ldr r2, [pc, #296] ; (808d408 ) 808d2de: 214a movs r1, #74 ; 0x4a 808d2e0: 200a movs r0, #10 808d2e2: f7c7 f827 bl 8054334 LCD_DisplayString(10, LCD_LINE_5, "Ôèëüòð Í×(Ãö)"); 808d2e6: 4a49 ldr r2, [pc, #292] ; (808d40c ) 808d2e8: 215a movs r1, #90 ; 0x5a 808d2ea: 200a movs r0, #10 808d2ec: f7c7 f822 bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "×àñòîòà âûáîðêè"); 808d2f0: 4a47 ldr r2, [pc, #284] ; (808d410 ) 808d2f2: 216a movs r1, #106 ; 0x6a 808d2f4: 200a movs r0, #10 808d2f6: f7c7 f81d bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Âðåìÿ âûáîðêè"); 808d2fa: 4a46 ldr r2, [pc, #280] ; (808d414 ) 808d2fc: 217a movs r1, #122 ; 0x7a 808d2fe: 200a movs r0, #10 808d300: f7c7 f818 bl 8054334 if((pardata.IPR > ACC) || (pardata.OPTIONS & 0x4)) 808d304: 4b3d ldr r3, [pc, #244] ; (808d3fc ) 808d306: 785b ldrb r3, [r3, #1] 808d308: b2db uxtb r3, r3 808d30a: 2b00 cmp r3, #0 808d30c: d106 bne.n 808d31c 808d30e: 4b3b ldr r3, [pc, #236] ; (808d3fc ) 808d310: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808d314: f003 0304 and.w r3, r3, #4 808d318: 2b00 cmp r3, #0 808d31a: d003 beq.n 808d324 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808d31c: 4938 ldr r1, [pc, #224] ; (808d400 ) 808d31e: 483e ldr r0, [pc, #248] ; (808d418 ) 808d320: f7c6 fa60 bl 80537e4 LCD_DisplayString(10, LCD_LINE_10, "Ñòîï ïî ïîðîãó"); 808d324: 4a3d ldr r2, [pc, #244] ; (808d41c ) 808d326: 21aa movs r1, #170 ; 0xaa 808d328: 200a movs r0, #10 808d32a: f7c7 f803 bl 8054334 808d32e: e032 b.n 808d396 } else { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808d330: 4933 ldr r1, [pc, #204] ; (808d400 ) 808d332: f04f 30ff mov.w r0, #4294967295 808d336: f7c6 fa55 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, "Parameter"); 808d33a: 4a39 ldr r2, [pc, #228] ; (808d420 ) 808d33c: 213a movs r1, #58 ; 0x3a 808d33e: 200a movs r0, #10 808d340: f7c6 fff8 bl 8054334 LCD_DisplayString(10, LCD_LINE_4, "HPF(Hz)"); 808d344: 4a37 ldr r2, [pc, #220] ; (808d424 ) 808d346: 214a movs r1, #74 ; 0x4a 808d348: 200a movs r0, #10 808d34a: f7c6 fff3 bl 8054334 LCD_DisplayString(10, LCD_LINE_5, "LPF(Hz)"); 808d34e: 4a36 ldr r2, [pc, #216] ; (808d428 ) 808d350: 215a movs r1, #90 ; 0x5a 808d352: 200a movs r0, #10 808d354: f7c6 ffee bl 8054334 LCD_DisplayString(10, LCD_LINE_6, "Sample rate"); 808d358: 4a34 ldr r2, [pc, #208] ; (808d42c ) 808d35a: 216a movs r1, #106 ; 0x6a 808d35c: 200a movs r0, #10 808d35e: f7c6 ffe9 bl 8054334 LCD_DisplayString(10, LCD_LINE_7, "Time interval"); 808d362: 4a33 ldr r2, [pc, #204] ; (808d430 ) 808d364: 217a movs r1, #122 ; 0x7a 808d366: 200a movs r0, #10 808d368: f7c6 ffe4 bl 8054334 if((pardata.IPR > ACC) || (pardata.OPTIONS & 0x4)) 808d36c: 4b23 ldr r3, [pc, #140] ; (808d3fc ) 808d36e: 785b ldrb r3, [r3, #1] 808d370: b2db uxtb r3, r3 808d372: 2b00 cmp r3, #0 808d374: d106 bne.n 808d384 808d376: 4b21 ldr r3, [pc, #132] ; (808d3fc ) 808d378: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808d37c: f003 0304 and.w r3, r3, #4 808d380: 2b00 cmp r3, #0 808d382: d003 beq.n 808d38c LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808d384: 491e ldr r1, [pc, #120] ; (808d400 ) 808d386: 4824 ldr r0, [pc, #144] ; (808d418 ) 808d388: f7c6 fa2c bl 80537e4 LCD_DisplayString(10, LCD_LINE_10, "Stop on threshold"); 808d38c: 4a29 ldr r2, [pc, #164] ; (808d434 ) 808d38e: 21aa movs r1, #170 ; 0xaa 808d390: 200a movs r0, #10 808d392: f7c6 ffcf bl 8054334 } if(menupos != Ok) 808d396: 4b28 ldr r3, [pc, #160] ; (808d438 ) 808d398: 781b ldrb r3, [r3, #0] 808d39a: b2db uxtb r3, r3 808d39c: 2b00 cmp r3, #0 808d39e: d005 beq.n 808d3ac LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808d3a0: 4917 ldr r1, [pc, #92] ; (808d400 ) 808d3a2: f04f 30ff mov.w r0, #4294967295 808d3a6: f7c6 fa1d bl 80537e4 808d3aa: e004 b.n 808d3b6 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d3ac: 4914 ldr r1, [pc, #80] ; (808d400 ) 808d3ae: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d3b2: f7c6 fa17 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *)TEXT_Next[pardata.LANG]); 808d3b6: 4b11 ldr r3, [pc, #68] ; (808d3fc ) 808d3b8: 7b1b ldrb r3, [r3, #12] 808d3ba: b2db uxtb r3, r3 808d3bc: 461a mov r2, r3 808d3be: 4b1f ldr r3, [pc, #124] ; (808d43c ) 808d3c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808d3c4: 461a mov r2, r3 808d3c6: 2127 movs r1, #39 ; 0x27 808d3c8: 200a movs r0, #10 808d3ca: f7c6 ffb3 bl 8054334 if(menupos != OscValue) 808d3ce: 4b1a ldr r3, [pc, #104] ; (808d438 ) 808d3d0: 781b ldrb r3, [r3, #0] 808d3d2: b2db uxtb r3, r3 808d3d4: 2b01 cmp r3, #1 808d3d6: d035 beq.n 808d444 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d3d8: 4909 ldr r1, [pc, #36] ; (808d400 ) 808d3da: 4819 ldr r0, [pc, #100] ; (808d440 ) 808d3dc: f7c6 fa02 bl 80537e4 808d3e0: e035 b.n 808d44e 808d3e2: bf00 nop 808d3e4: 000186a0 .word 0x000186a0 808d3e8: d1b71759 .word 0xd1b71759 808d3ec: 10624dd3 .word 0x10624dd3 808d3f0: 51eb851f .word 0x51eb851f 808d3f4: cccccccd .word 0xcccccccd 808d3f8: 0a7c5ac5 .word 0x0a7c5ac5 808d3fc: 20023e60 .word 0x20023e60 808d400: ff0a0f1f .word 0xff0a0f1f 808d404: 080cf760 .word 0x080cf760 808d408: 080cf208 .word 0x080cf208 808d40c: 080cf218 .word 0x080cf218 808d410: 080cf464 .word 0x080cf464 808d414: 080d0138 .word 0x080d0138 808d418: ff808080 .word 0xff808080 808d41c: 080d0148 .word 0x080d0148 808d420: 080cf76c .word 0x080cf76c 808d424: 080cf2b8 .word 0x080cf2b8 808d428: 080cf2c0 .word 0x080cf2c0 808d42c: 080cf4b4 .word 0x080cf4b4 808d430: 080d0158 .word 0x080d0158 808d434: 080d0168 .word 0x080d0168 808d438: 20020070 .word 0x20020070 808d43c: 200205c4 .word 0x200205c4 808d440: ffd8aa57 .word 0xffd8aa57 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d444: 49b8 ldr r1, [pc, #736] ; (808d728 ) 808d446: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d44a: f7c6 f9cb bl 80537e4 if((focused) && (menupos == OscValue)) 808d44e: 4bb7 ldr r3, [pc, #732] ; (808d72c ) 808d450: 781b ldrb r3, [r3, #0] 808d452: b2db uxtb r3, r3 808d454: 2b00 cmp r3, #0 808d456: d01e beq.n 808d496 808d458: 4bb5 ldr r3, [pc, #724] ; (808d730 ) 808d45a: 781b ldrb r3, [r3, #0] 808d45c: b2db uxtb r3, r3 808d45e: 2b01 cmp r3, #1 808d460: d119 bne.n 808d496 { if(blk) 808d462: 4bb4 ldr r3, [pc, #720] ; (808d734 ) 808d464: 681b ldr r3, [r3, #0] 808d466: 2b00 cmp r3, #0 808d468: d02a beq.n 808d4c0 LCD_DisplayStringC(260, LCD_LINE_3, (char *) pIPR[pardata.LANG][pardata.IPR]); 808d46a: 4bb3 ldr r3, [pc, #716] ; (808d738 ) 808d46c: 7b1b ldrb r3, [r3, #12] 808d46e: b2db uxtb r3, r3 808d470: 4619 mov r1, r3 808d472: 4bb1 ldr r3, [pc, #708] ; (808d738 ) 808d474: 785b ldrb r3, [r3, #1] 808d476: b2db uxtb r3, r3 808d478: 4618 mov r0, r3 808d47a: 4ab0 ldr r2, [pc, #704] ; (808d73c ) 808d47c: 460b mov r3, r1 808d47e: 005b lsls r3, r3, #1 808d480: 440b add r3, r1 808d482: 4403 add r3, r0 808d484: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d488: 461a mov r2, r3 808d48a: 213a movs r1, #58 ; 0x3a 808d48c: f44f 7082 mov.w r0, #260 ; 0x104 808d490: f7c6 ff68 bl 8054364 if(blk) 808d494: e014 b.n 808d4c0 } else LCD_DisplayStringC(260, LCD_LINE_3, (char *) pIPR[pardata.LANG][pardata.IPR]); 808d496: 4ba8 ldr r3, [pc, #672] ; (808d738 ) 808d498: 7b1b ldrb r3, [r3, #12] 808d49a: b2db uxtb r3, r3 808d49c: 4619 mov r1, r3 808d49e: 4ba6 ldr r3, [pc, #664] ; (808d738 ) 808d4a0: 785b ldrb r3, [r3, #1] 808d4a2: b2db uxtb r3, r3 808d4a4: 4618 mov r0, r3 808d4a6: 4aa5 ldr r2, [pc, #660] ; (808d73c ) 808d4a8: 460b mov r3, r1 808d4aa: 005b lsls r3, r3, #1 808d4ac: 440b add r3, r1 808d4ae: 4403 add r3, r0 808d4b0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d4b4: 461a mov r2, r3 808d4b6: 213a movs r1, #58 ; 0x3a 808d4b8: f44f 7082 mov.w r0, #260 ; 0x104 808d4bc: f7c6 ff52 bl 8054364 if(menupos != FilterHP) 808d4c0: 4b9b ldr r3, [pc, #620] ; (808d730 ) 808d4c2: 781b ldrb r3, [r3, #0] 808d4c4: b2db uxtb r3, r3 808d4c6: 2b17 cmp r3, #23 808d4c8: d004 beq.n 808d4d4 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d4ca: 4997 ldr r1, [pc, #604] ; (808d728 ) 808d4cc: 489c ldr r0, [pc, #624] ; (808d740 ) 808d4ce: f7c6 f989 bl 80537e4 808d4d2: e004 b.n 808d4de else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d4d4: 4994 ldr r1, [pc, #592] ; (808d728 ) 808d4d6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d4da: f7c6 f983 bl 80537e4 if((menupos < FilterHP_IDT) || (menupos > FilterHP_IKD)) 808d4de: 4b94 ldr r3, [pc, #592] ; (808d730 ) 808d4e0: 781b ldrb r3, [r3, #0] 808d4e2: b2db uxtb r3, r3 808d4e4: 2b18 cmp r3, #24 808d4e6: d904 bls.n 808d4f2 808d4e8: 4b91 ldr r3, [pc, #580] ; (808d730 ) 808d4ea: 781b ldrb r3, [r3, #0] 808d4ec: b2db uxtb r3, r3 808d4ee: 2b1e cmp r3, #30 808d4f0: d907 bls.n 808d502 LCD_DisplayStringC(260, LCD_LINE_4, strHP); 808d4f2: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808d4f6: 461a mov r2, r3 808d4f8: 214a movs r1, #74 ; 0x4a 808d4fa: f44f 7082 mov.w r0, #260 ; 0x104 808d4fe: f7c6 ff31 bl 8054364 if(menupos != FilterLP) 808d502: 4b8b ldr r3, [pc, #556] ; (808d730 ) 808d504: 781b ldrb r3, [r3, #0] 808d506: b2db uxtb r3, r3 808d508: 2b18 cmp r3, #24 808d50a: d004 beq.n 808d516 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d50c: 4986 ldr r1, [pc, #536] ; (808d728 ) 808d50e: 488c ldr r0, [pc, #560] ; (808d740 ) 808d510: f7c6 f968 bl 80537e4 808d514: e004 b.n 808d520 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d516: 4984 ldr r1, [pc, #528] ; (808d728 ) 808d518: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d51c: f7c6 f962 bl 80537e4 if((menupos < FilterLP_IDT) || (menupos > FilterLP_IKD)) 808d520: 4b83 ldr r3, [pc, #524] ; (808d730 ) 808d522: 781b ldrb r3, [r3, #0] 808d524: b2db uxtb r3, r3 808d526: 2b1e cmp r3, #30 808d528: d904 bls.n 808d534 808d52a: 4b81 ldr r3, [pc, #516] ; (808d730 ) 808d52c: 781b ldrb r3, [r3, #0] 808d52e: b2db uxtb r3, r3 808d530: 2b24 cmp r3, #36 ; 0x24 808d532: d907 bls.n 808d544 LCD_DisplayStringC(260, LCD_LINE_5, strLP); 808d534: f507 73cc add.w r3, r7, #408 ; 0x198 808d538: 461a mov r2, r3 808d53a: 215a movs r1, #90 ; 0x5a 808d53c: f44f 7082 mov.w r0, #260 ; 0x104 808d540: f7c6 ff10 bl 8054364 if(menupos != OscRate) 808d544: 4b7a ldr r3, [pc, #488] ; (808d730 ) 808d546: 781b ldrb r3, [r3, #0] 808d548: b2db uxtb r3, r3 808d54a: 2b03 cmp r3, #3 808d54c: d004 beq.n 808d558 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d54e: 4976 ldr r1, [pc, #472] ; (808d728 ) 808d550: 487b ldr r0, [pc, #492] ; (808d740 ) 808d552: f7c6 f947 bl 80537e4 808d556: e004 b.n 808d562 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d558: 4973 ldr r1, [pc, #460] ; (808d728 ) 808d55a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d55e: f7c6 f941 bl 80537e4 if((focused) && (menupos == OscRate)) 808d562: 4b72 ldr r3, [pc, #456] ; (808d72c ) 808d564: 781b ldrb r3, [r3, #0] 808d566: b2db uxtb r3, r3 808d568: 2b00 cmp r3, #0 808d56a: d01f beq.n 808d5ac 808d56c: 4b70 ldr r3, [pc, #448] ; (808d730 ) 808d56e: 781b ldrb r3, [r3, #0] 808d570: b2db uxtb r3, r3 808d572: 2b03 cmp r3, #3 808d574: d11a bne.n 808d5ac { if(blk) 808d576: 4b6f ldr r3, [pc, #444] ; (808d734 ) 808d578: 681b ldr r3, [r3, #0] 808d57a: 2b00 cmp r3, #0 808d57c: d02c beq.n 808d5d8 LCD_DisplayStringC(260, LCD_LINE_6, (char *) pFRQ[pardata.LANG][pardata.FRQ]); 808d57e: 4b6e ldr r3, [pc, #440] ; (808d738 ) 808d580: 7b1b ldrb r3, [r3, #12] 808d582: b2db uxtb r3, r3 808d584: 4619 mov r1, r3 808d586: 4b6c ldr r3, [pc, #432] ; (808d738 ) 808d588: 7adb ldrb r3, [r3, #11] 808d58a: b2db uxtb r3, r3 808d58c: 4618 mov r0, r3 808d58e: 4a6d ldr r2, [pc, #436] ; (808d744 ) 808d590: 460b mov r3, r1 808d592: 009b lsls r3, r3, #2 808d594: 440b add r3, r1 808d596: 005b lsls r3, r3, #1 808d598: 4403 add r3, r0 808d59a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d59e: 461a mov r2, r3 808d5a0: 216a movs r1, #106 ; 0x6a 808d5a2: f44f 7082 mov.w r0, #260 ; 0x104 808d5a6: f7c6 fedd bl 8054364 if(blk) 808d5aa: e015 b.n 808d5d8 } else LCD_DisplayStringC(260, LCD_LINE_6, (char *) pFRQ[pardata.LANG][pardata.FRQ]); 808d5ac: 4b62 ldr r3, [pc, #392] ; (808d738 ) 808d5ae: 7b1b ldrb r3, [r3, #12] 808d5b0: b2db uxtb r3, r3 808d5b2: 4619 mov r1, r3 808d5b4: 4b60 ldr r3, [pc, #384] ; (808d738 ) 808d5b6: 7adb ldrb r3, [r3, #11] 808d5b8: b2db uxtb r3, r3 808d5ba: 4618 mov r0, r3 808d5bc: 4a61 ldr r2, [pc, #388] ; (808d744 ) 808d5be: 460b mov r3, r1 808d5c0: 009b lsls r3, r3, #2 808d5c2: 440b add r3, r1 808d5c4: 005b lsls r3, r3, #1 808d5c6: 4403 add r3, r0 808d5c8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d5cc: 461a mov r2, r3 808d5ce: 216a movs r1, #106 ; 0x6a 808d5d0: f44f 7082 mov.w r0, #260 ; 0x104 808d5d4: f7c6 fec6 bl 8054364 if(menupos != OscLen) 808d5d8: 4b55 ldr r3, [pc, #340] ; (808d730 ) 808d5da: 781b ldrb r3, [r3, #0] 808d5dc: b2db uxtb r3, r3 808d5de: 2b04 cmp r3, #4 808d5e0: d004 beq.n 808d5ec LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808d5e2: 4951 ldr r1, [pc, #324] ; (808d728 ) 808d5e4: 4856 ldr r0, [pc, #344] ; (808d740 ) 808d5e6: f7c6 f8fd bl 80537e4 808d5ea: e004 b.n 808d5f6 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808d5ec: 494e ldr r1, [pc, #312] ; (808d728 ) 808d5ee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808d5f2: f7c6 f8f7 bl 80537e4 if((focused) && (menupos == OscLen)) 808d5f6: 4b4d ldr r3, [pc, #308] ; (808d72c ) 808d5f8: 781b ldrb r3, [r3, #0] 808d5fa: b2db uxtb r3, r3 808d5fc: 2b00 cmp r3, #0 808d5fe: f000 8135 beq.w 808d86c 808d602: 4b4b ldr r3, [pc, #300] ; (808d730 ) 808d604: 781b ldrb r3, [r3, #0] 808d606: b2db uxtb r3, r3 808d608: 2b04 cmp r3, #4 808d60a: f040 812f bne.w 808d86c { if(blk) 808d60e: 4b49 ldr r3, [pc, #292] ; (808d734 ) 808d610: 681b ldr r3, [r3, #0] 808d612: 2b00 cmp r3, #0 808d614: f000 824f beq.w 808dab6 { if(pardata.FRQ == _125Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_125[pardata.LANG][pardata.LNE]); 808d618: 4b47 ldr r3, [pc, #284] ; (808d738 ) 808d61a: 7adb ldrb r3, [r3, #11] 808d61c: b2db uxtb r3, r3 808d61e: 2b00 cmp r3, #0 808d620: d115 bne.n 808d64e 808d622: 4b45 ldr r3, [pc, #276] ; (808d738 ) 808d624: 7b1b ldrb r3, [r3, #12] 808d626: b2db uxtb r3, r3 808d628: 4619 mov r1, r3 808d62a: 4b43 ldr r3, [pc, #268] ; (808d738 ) 808d62c: 79db ldrb r3, [r3, #7] 808d62e: b2db uxtb r3, r3 808d630: 4618 mov r0, r3 808d632: 4a45 ldr r2, [pc, #276] ; (808d748 ) 808d634: 460b mov r3, r1 808d636: 009b lsls r3, r3, #2 808d638: 440b add r3, r1 808d63a: 4403 add r3, r0 808d63c: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d640: 461a mov r2, r3 808d642: 217a movs r1, #122 ; 0x7a 808d644: f44f 7082 mov.w r0, #260 ; 0x104 808d648: f7c6 fe8c bl 8054364 if(blk) 808d64c: e233 b.n 808dab6 else if(pardata.FRQ == _250Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_250[pardata.LANG][pardata.LNE]); 808d64e: 4b3a ldr r3, [pc, #232] ; (808d738 ) 808d650: 7adb ldrb r3, [r3, #11] 808d652: b2db uxtb r3, r3 808d654: 2b01 cmp r3, #1 808d656: d115 bne.n 808d684 808d658: 4b37 ldr r3, [pc, #220] ; (808d738 ) 808d65a: 7b1b ldrb r3, [r3, #12] 808d65c: b2db uxtb r3, r3 808d65e: 4619 mov r1, r3 808d660: 4b35 ldr r3, [pc, #212] ; (808d738 ) 808d662: 79db ldrb r3, [r3, #7] 808d664: b2db uxtb r3, r3 808d666: 4618 mov r0, r3 808d668: 4a38 ldr r2, [pc, #224] ; (808d74c ) 808d66a: 460b mov r3, r1 808d66c: 009b lsls r3, r3, #2 808d66e: 440b add r3, r1 808d670: 4403 add r3, r0 808d672: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d676: 461a mov r2, r3 808d678: 217a movs r1, #122 ; 0x7a 808d67a: f44f 7082 mov.w r0, #260 ; 0x104 808d67e: f7c6 fe71 bl 8054364 if(blk) 808d682: e218 b.n 808dab6 else if(pardata.FRQ == _500Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_500[pardata.LANG][pardata.LNE]); 808d684: 4b2c ldr r3, [pc, #176] ; (808d738 ) 808d686: 7adb ldrb r3, [r3, #11] 808d688: b2db uxtb r3, r3 808d68a: 2b02 cmp r3, #2 808d68c: d115 bne.n 808d6ba 808d68e: 4b2a ldr r3, [pc, #168] ; (808d738 ) 808d690: 7b1b ldrb r3, [r3, #12] 808d692: b2db uxtb r3, r3 808d694: 4619 mov r1, r3 808d696: 4b28 ldr r3, [pc, #160] ; (808d738 ) 808d698: 79db ldrb r3, [r3, #7] 808d69a: b2db uxtb r3, r3 808d69c: 4618 mov r0, r3 808d69e: 4a2c ldr r2, [pc, #176] ; (808d750 ) 808d6a0: 460b mov r3, r1 808d6a2: 009b lsls r3, r3, #2 808d6a4: 440b add r3, r1 808d6a6: 4403 add r3, r0 808d6a8: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d6ac: 461a mov r2, r3 808d6ae: 217a movs r1, #122 ; 0x7a 808d6b0: f44f 7082 mov.w r0, #260 ; 0x104 808d6b4: f7c6 fe56 bl 8054364 if(blk) 808d6b8: e1fd b.n 808dab6 else if(pardata.FRQ == _1000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_1000[pardata.LANG][pardata.LNE]); 808d6ba: 4b1f ldr r3, [pc, #124] ; (808d738 ) 808d6bc: 7adb ldrb r3, [r3, #11] 808d6be: b2db uxtb r3, r3 808d6c0: 2b03 cmp r3, #3 808d6c2: d115 bne.n 808d6f0 808d6c4: 4b1c ldr r3, [pc, #112] ; (808d738 ) 808d6c6: 7b1b ldrb r3, [r3, #12] 808d6c8: b2db uxtb r3, r3 808d6ca: 4619 mov r1, r3 808d6cc: 4b1a ldr r3, [pc, #104] ; (808d738 ) 808d6ce: 79db ldrb r3, [r3, #7] 808d6d0: b2db uxtb r3, r3 808d6d2: 4618 mov r0, r3 808d6d4: 4a1f ldr r2, [pc, #124] ; (808d754 ) 808d6d6: 460b mov r3, r1 808d6d8: 009b lsls r3, r3, #2 808d6da: 440b add r3, r1 808d6dc: 4403 add r3, r0 808d6de: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d6e2: 461a mov r2, r3 808d6e4: 217a movs r1, #122 ; 0x7a 808d6e6: f44f 7082 mov.w r0, #260 ; 0x104 808d6ea: f7c6 fe3b bl 8054364 if(blk) 808d6ee: e1e2 b.n 808dab6 else if(pardata.FRQ == _2000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_2000[pardata.LANG][pardata.LNE]); 808d6f0: 4b11 ldr r3, [pc, #68] ; (808d738 ) 808d6f2: 7adb ldrb r3, [r3, #11] 808d6f4: b2db uxtb r3, r3 808d6f6: 2b04 cmp r3, #4 808d6f8: d130 bne.n 808d75c 808d6fa: 4b0f ldr r3, [pc, #60] ; (808d738 ) 808d6fc: 7b1b ldrb r3, [r3, #12] 808d6fe: b2db uxtb r3, r3 808d700: 4619 mov r1, r3 808d702: 4b0d ldr r3, [pc, #52] ; (808d738 ) 808d704: 79db ldrb r3, [r3, #7] 808d706: b2db uxtb r3, r3 808d708: 4618 mov r0, r3 808d70a: 4a13 ldr r2, [pc, #76] ; (808d758 ) 808d70c: 460b mov r3, r1 808d70e: 009b lsls r3, r3, #2 808d710: 440b add r3, r1 808d712: 4403 add r3, r0 808d714: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d718: 461a mov r2, r3 808d71a: 217a movs r1, #122 ; 0x7a 808d71c: f44f 7082 mov.w r0, #260 ; 0x104 808d720: f7c6 fe20 bl 8054364 if(blk) 808d724: e1c7 b.n 808dab6 808d726: bf00 nop 808d728: ff0a0f1f .word 0xff0a0f1f 808d72c: 20020f84 .word 0x20020f84 808d730: 20020070 .word 0x20020070 808d734: 2002165c .word 0x2002165c 808d738: 20023e60 .word 0x20023e60 808d73c: 20020164 .word 0x20020164 808d740: ffd8aa57 .word 0xffd8aa57 808d744: 200202e4 .word 0x200202e4 808d748: 2002042c .word 0x2002042c 808d74c: 20020454 .word 0x20020454 808d750: 2002047c .word 0x2002047c 808d754: 200204a4 .word 0x200204a4 808d758: 200204cc .word 0x200204cc else if(pardata.FRQ == _4000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_4000[pardata.LANG][pardata.LNE]); 808d75c: 4bbd ldr r3, [pc, #756] ; (808da54 ) 808d75e: 7adb ldrb r3, [r3, #11] 808d760: b2db uxtb r3, r3 808d762: 2b05 cmp r3, #5 808d764: d115 bne.n 808d792 808d766: 4bbb ldr r3, [pc, #748] ; (808da54 ) 808d768: 7b1b ldrb r3, [r3, #12] 808d76a: b2db uxtb r3, r3 808d76c: 4619 mov r1, r3 808d76e: 4bb9 ldr r3, [pc, #740] ; (808da54 ) 808d770: 79db ldrb r3, [r3, #7] 808d772: b2db uxtb r3, r3 808d774: 4618 mov r0, r3 808d776: 4ab8 ldr r2, [pc, #736] ; (808da58 ) 808d778: 460b mov r3, r1 808d77a: 009b lsls r3, r3, #2 808d77c: 440b add r3, r1 808d77e: 4403 add r3, r0 808d780: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d784: 461a mov r2, r3 808d786: 217a movs r1, #122 ; 0x7a 808d788: f44f 7082 mov.w r0, #260 ; 0x104 808d78c: f7c6 fdea bl 8054364 if(blk) 808d790: e191 b.n 808dab6 else if(pardata.FRQ == _8000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_8000[pardata.LANG][pardata.LNE]); 808d792: 4bb0 ldr r3, [pc, #704] ; (808da54 ) 808d794: 7adb ldrb r3, [r3, #11] 808d796: b2db uxtb r3, r3 808d798: 2b06 cmp r3, #6 808d79a: d115 bne.n 808d7c8 808d79c: 4bad ldr r3, [pc, #692] ; (808da54 ) 808d79e: 7b1b ldrb r3, [r3, #12] 808d7a0: b2db uxtb r3, r3 808d7a2: 4619 mov r1, r3 808d7a4: 4bab ldr r3, [pc, #684] ; (808da54 ) 808d7a6: 79db ldrb r3, [r3, #7] 808d7a8: b2db uxtb r3, r3 808d7aa: 4618 mov r0, r3 808d7ac: 4aab ldr r2, [pc, #684] ; (808da5c ) 808d7ae: 460b mov r3, r1 808d7b0: 009b lsls r3, r3, #2 808d7b2: 440b add r3, r1 808d7b4: 4403 add r3, r0 808d7b6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d7ba: 461a mov r2, r3 808d7bc: 217a movs r1, #122 ; 0x7a 808d7be: f44f 7082 mov.w r0, #260 ; 0x104 808d7c2: f7c6 fdcf bl 8054364 if(blk) 808d7c6: e176 b.n 808dab6 else if(pardata.FRQ == _16000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_16000[pardata.LANG][pardata.LNE]); 808d7c8: 4ba2 ldr r3, [pc, #648] ; (808da54 ) 808d7ca: 7adb ldrb r3, [r3, #11] 808d7cc: b2db uxtb r3, r3 808d7ce: 2b07 cmp r3, #7 808d7d0: d115 bne.n 808d7fe 808d7d2: 4ba0 ldr r3, [pc, #640] ; (808da54 ) 808d7d4: 7b1b ldrb r3, [r3, #12] 808d7d6: b2db uxtb r3, r3 808d7d8: 4619 mov r1, r3 808d7da: 4b9e ldr r3, [pc, #632] ; (808da54 ) 808d7dc: 79db ldrb r3, [r3, #7] 808d7de: b2db uxtb r3, r3 808d7e0: 4618 mov r0, r3 808d7e2: 4a9f ldr r2, [pc, #636] ; (808da60 ) 808d7e4: 460b mov r3, r1 808d7e6: 009b lsls r3, r3, #2 808d7e8: 440b add r3, r1 808d7ea: 4403 add r3, r0 808d7ec: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d7f0: 461a mov r2, r3 808d7f2: 217a movs r1, #122 ; 0x7a 808d7f4: f44f 7082 mov.w r0, #260 ; 0x104 808d7f8: f7c6 fdb4 bl 8054364 if(blk) 808d7fc: e15b b.n 808dab6 else if(pardata.FRQ == _32000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_32000[pardata.LANG][pardata.LNE]); 808d7fe: 4b95 ldr r3, [pc, #596] ; (808da54 ) 808d800: 7adb ldrb r3, [r3, #11] 808d802: b2db uxtb r3, r3 808d804: 2b08 cmp r3, #8 808d806: d115 bne.n 808d834 808d808: 4b92 ldr r3, [pc, #584] ; (808da54 ) 808d80a: 7b1b ldrb r3, [r3, #12] 808d80c: b2db uxtb r3, r3 808d80e: 4619 mov r1, r3 808d810: 4b90 ldr r3, [pc, #576] ; (808da54 ) 808d812: 79db ldrb r3, [r3, #7] 808d814: b2db uxtb r3, r3 808d816: 4618 mov r0, r3 808d818: 4a92 ldr r2, [pc, #584] ; (808da64 ) 808d81a: 460b mov r3, r1 808d81c: 009b lsls r3, r3, #2 808d81e: 440b add r3, r1 808d820: 4403 add r3, r0 808d822: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d826: 461a mov r2, r3 808d828: 217a movs r1, #122 ; 0x7a 808d82a: f44f 7082 mov.w r0, #260 ; 0x104 808d82e: f7c6 fd99 bl 8054364 if(blk) 808d832: e140 b.n 808dab6 else if(pardata.FRQ == _64000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_64000[pardata.LANG][pardata.LNE]); 808d834: 4b87 ldr r3, [pc, #540] ; (808da54 ) 808d836: 7adb ldrb r3, [r3, #11] 808d838: b2db uxtb r3, r3 808d83a: 2b09 cmp r3, #9 808d83c: f040 813b bne.w 808dab6 808d840: 4b84 ldr r3, [pc, #528] ; (808da54 ) 808d842: 7b1b ldrb r3, [r3, #12] 808d844: b2db uxtb r3, r3 808d846: 4619 mov r1, r3 808d848: 4b82 ldr r3, [pc, #520] ; (808da54 ) 808d84a: 79db ldrb r3, [r3, #7] 808d84c: b2db uxtb r3, r3 808d84e: 4618 mov r0, r3 808d850: 4a85 ldr r2, [pc, #532] ; (808da68 ) 808d852: 460b mov r3, r1 808d854: 009b lsls r3, r3, #2 808d856: 440b add r3, r1 808d858: 4403 add r3, r0 808d85a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d85e: 461a mov r2, r3 808d860: 217a movs r1, #122 ; 0x7a 808d862: f44f 7082 mov.w r0, #260 ; 0x104 808d866: f7c6 fd7d bl 8054364 if(blk) 808d86a: e124 b.n 808dab6 } } else { if(pardata.FRQ == _125Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_125[pardata.LANG][pardata.LNE]); 808d86c: 4b79 ldr r3, [pc, #484] ; (808da54 ) 808d86e: 7adb ldrb r3, [r3, #11] 808d870: b2db uxtb r3, r3 808d872: 2b00 cmp r3, #0 808d874: d115 bne.n 808d8a2 808d876: 4b77 ldr r3, [pc, #476] ; (808da54 ) 808d878: 7b1b ldrb r3, [r3, #12] 808d87a: b2db uxtb r3, r3 808d87c: 4619 mov r1, r3 808d87e: 4b75 ldr r3, [pc, #468] ; (808da54 ) 808d880: 79db ldrb r3, [r3, #7] 808d882: b2db uxtb r3, r3 808d884: 4618 mov r0, r3 808d886: 4a79 ldr r2, [pc, #484] ; (808da6c ) 808d888: 460b mov r3, r1 808d88a: 009b lsls r3, r3, #2 808d88c: 440b add r3, r1 808d88e: 4403 add r3, r0 808d890: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d894: 461a mov r2, r3 808d896: 217a movs r1, #122 ; 0x7a 808d898: f44f 7082 mov.w r0, #260 ; 0x104 808d89c: f7c6 fd62 bl 8054364 808d8a0: e10a b.n 808dab8 else if(pardata.FRQ == _250Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_250[pardata.LANG][pardata.LNE]); 808d8a2: 4b6c ldr r3, [pc, #432] ; (808da54 ) 808d8a4: 7adb ldrb r3, [r3, #11] 808d8a6: b2db uxtb r3, r3 808d8a8: 2b01 cmp r3, #1 808d8aa: d115 bne.n 808d8d8 808d8ac: 4b69 ldr r3, [pc, #420] ; (808da54 ) 808d8ae: 7b1b ldrb r3, [r3, #12] 808d8b0: b2db uxtb r3, r3 808d8b2: 4619 mov r1, r3 808d8b4: 4b67 ldr r3, [pc, #412] ; (808da54 ) 808d8b6: 79db ldrb r3, [r3, #7] 808d8b8: b2db uxtb r3, r3 808d8ba: 4618 mov r0, r3 808d8bc: 4a6c ldr r2, [pc, #432] ; (808da70 ) 808d8be: 460b mov r3, r1 808d8c0: 009b lsls r3, r3, #2 808d8c2: 440b add r3, r1 808d8c4: 4403 add r3, r0 808d8c6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d8ca: 461a mov r2, r3 808d8cc: 217a movs r1, #122 ; 0x7a 808d8ce: f44f 7082 mov.w r0, #260 ; 0x104 808d8d2: f7c6 fd47 bl 8054364 808d8d6: e0ef b.n 808dab8 else if(pardata.FRQ == _500Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_500[pardata.LANG][pardata.LNE]); 808d8d8: 4b5e ldr r3, [pc, #376] ; (808da54 ) 808d8da: 7adb ldrb r3, [r3, #11] 808d8dc: b2db uxtb r3, r3 808d8de: 2b02 cmp r3, #2 808d8e0: d115 bne.n 808d90e 808d8e2: 4b5c ldr r3, [pc, #368] ; (808da54 ) 808d8e4: 7b1b ldrb r3, [r3, #12] 808d8e6: b2db uxtb r3, r3 808d8e8: 4619 mov r1, r3 808d8ea: 4b5a ldr r3, [pc, #360] ; (808da54 ) 808d8ec: 79db ldrb r3, [r3, #7] 808d8ee: b2db uxtb r3, r3 808d8f0: 4618 mov r0, r3 808d8f2: 4a60 ldr r2, [pc, #384] ; (808da74 ) 808d8f4: 460b mov r3, r1 808d8f6: 009b lsls r3, r3, #2 808d8f8: 440b add r3, r1 808d8fa: 4403 add r3, r0 808d8fc: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d900: 461a mov r2, r3 808d902: 217a movs r1, #122 ; 0x7a 808d904: f44f 7082 mov.w r0, #260 ; 0x104 808d908: f7c6 fd2c bl 8054364 808d90c: e0d4 b.n 808dab8 else if(pardata.FRQ == _1000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_1000[pardata.LANG][pardata.LNE]); 808d90e: 4b51 ldr r3, [pc, #324] ; (808da54 ) 808d910: 7adb ldrb r3, [r3, #11] 808d912: b2db uxtb r3, r3 808d914: 2b03 cmp r3, #3 808d916: d115 bne.n 808d944 808d918: 4b4e ldr r3, [pc, #312] ; (808da54 ) 808d91a: 7b1b ldrb r3, [r3, #12] 808d91c: b2db uxtb r3, r3 808d91e: 4619 mov r1, r3 808d920: 4b4c ldr r3, [pc, #304] ; (808da54 ) 808d922: 79db ldrb r3, [r3, #7] 808d924: b2db uxtb r3, r3 808d926: 4618 mov r0, r3 808d928: 4a53 ldr r2, [pc, #332] ; (808da78 ) 808d92a: 460b mov r3, r1 808d92c: 009b lsls r3, r3, #2 808d92e: 440b add r3, r1 808d930: 4403 add r3, r0 808d932: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d936: 461a mov r2, r3 808d938: 217a movs r1, #122 ; 0x7a 808d93a: f44f 7082 mov.w r0, #260 ; 0x104 808d93e: f7c6 fd11 bl 8054364 808d942: e0b9 b.n 808dab8 else if(pardata.FRQ == _2000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_2000[pardata.LANG][pardata.LNE]); 808d944: 4b43 ldr r3, [pc, #268] ; (808da54 ) 808d946: 7adb ldrb r3, [r3, #11] 808d948: b2db uxtb r3, r3 808d94a: 2b04 cmp r3, #4 808d94c: d115 bne.n 808d97a 808d94e: 4b41 ldr r3, [pc, #260] ; (808da54 ) 808d950: 7b1b ldrb r3, [r3, #12] 808d952: b2db uxtb r3, r3 808d954: 4619 mov r1, r3 808d956: 4b3f ldr r3, [pc, #252] ; (808da54 ) 808d958: 79db ldrb r3, [r3, #7] 808d95a: b2db uxtb r3, r3 808d95c: 4618 mov r0, r3 808d95e: 4a47 ldr r2, [pc, #284] ; (808da7c ) 808d960: 460b mov r3, r1 808d962: 009b lsls r3, r3, #2 808d964: 440b add r3, r1 808d966: 4403 add r3, r0 808d968: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d96c: 461a mov r2, r3 808d96e: 217a movs r1, #122 ; 0x7a 808d970: f44f 7082 mov.w r0, #260 ; 0x104 808d974: f7c6 fcf6 bl 8054364 808d978: e09e b.n 808dab8 else if(pardata.FRQ == _4000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_4000[pardata.LANG][pardata.LNE]); 808d97a: 4b36 ldr r3, [pc, #216] ; (808da54 ) 808d97c: 7adb ldrb r3, [r3, #11] 808d97e: b2db uxtb r3, r3 808d980: 2b05 cmp r3, #5 808d982: d115 bne.n 808d9b0 808d984: 4b33 ldr r3, [pc, #204] ; (808da54 ) 808d986: 7b1b ldrb r3, [r3, #12] 808d988: b2db uxtb r3, r3 808d98a: 4619 mov r1, r3 808d98c: 4b31 ldr r3, [pc, #196] ; (808da54 ) 808d98e: 79db ldrb r3, [r3, #7] 808d990: b2db uxtb r3, r3 808d992: 4618 mov r0, r3 808d994: 4a30 ldr r2, [pc, #192] ; (808da58 ) 808d996: 460b mov r3, r1 808d998: 009b lsls r3, r3, #2 808d99a: 440b add r3, r1 808d99c: 4403 add r3, r0 808d99e: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d9a2: 461a mov r2, r3 808d9a4: 217a movs r1, #122 ; 0x7a 808d9a6: f44f 7082 mov.w r0, #260 ; 0x104 808d9aa: f7c6 fcdb bl 8054364 808d9ae: e083 b.n 808dab8 else if(pardata.FRQ == _8000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_8000[pardata.LANG][pardata.LNE]); 808d9b0: 4b28 ldr r3, [pc, #160] ; (808da54 ) 808d9b2: 7adb ldrb r3, [r3, #11] 808d9b4: b2db uxtb r3, r3 808d9b6: 2b06 cmp r3, #6 808d9b8: d115 bne.n 808d9e6 808d9ba: 4b26 ldr r3, [pc, #152] ; (808da54 ) 808d9bc: 7b1b ldrb r3, [r3, #12] 808d9be: b2db uxtb r3, r3 808d9c0: 4619 mov r1, r3 808d9c2: 4b24 ldr r3, [pc, #144] ; (808da54 ) 808d9c4: 79db ldrb r3, [r3, #7] 808d9c6: b2db uxtb r3, r3 808d9c8: 4618 mov r0, r3 808d9ca: 4a24 ldr r2, [pc, #144] ; (808da5c ) 808d9cc: 460b mov r3, r1 808d9ce: 009b lsls r3, r3, #2 808d9d0: 440b add r3, r1 808d9d2: 4403 add r3, r0 808d9d4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808d9d8: 461a mov r2, r3 808d9da: 217a movs r1, #122 ; 0x7a 808d9dc: f44f 7082 mov.w r0, #260 ; 0x104 808d9e0: f7c6 fcc0 bl 8054364 808d9e4: e068 b.n 808dab8 else if(pardata.FRQ == _16000Hz)LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_16000[pardata.LANG][pardata.LNE]); 808d9e6: 4b1b ldr r3, [pc, #108] ; (808da54 ) 808d9e8: 7adb ldrb r3, [r3, #11] 808d9ea: b2db uxtb r3, r3 808d9ec: 2b07 cmp r3, #7 808d9ee: d115 bne.n 808da1c 808d9f0: 4b18 ldr r3, [pc, #96] ; (808da54 ) 808d9f2: 7b1b ldrb r3, [r3, #12] 808d9f4: b2db uxtb r3, r3 808d9f6: 4619 mov r1, r3 808d9f8: 4b16 ldr r3, [pc, #88] ; (808da54 ) 808d9fa: 79db ldrb r3, [r3, #7] 808d9fc: b2db uxtb r3, r3 808d9fe: 4618 mov r0, r3 808da00: 4a17 ldr r2, [pc, #92] ; (808da60 ) 808da02: 460b mov r3, r1 808da04: 009b lsls r3, r3, #2 808da06: 440b add r3, r1 808da08: 4403 add r3, r0 808da0a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808da0e: 461a mov r2, r3 808da10: 217a movs r1, #122 ; 0x7a 808da12: f44f 7082 mov.w r0, #260 ; 0x104 808da16: f7c6 fca5 bl 8054364 808da1a: e04d b.n 808dab8 else if(pardata.FRQ == _32000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_32000[pardata.LANG][pardata.LNE]); 808da1c: 4b0d ldr r3, [pc, #52] ; (808da54 ) 808da1e: 7adb ldrb r3, [r3, #11] 808da20: b2db uxtb r3, r3 808da22: 2b08 cmp r3, #8 808da24: d12c bne.n 808da80 808da26: 4b0b ldr r3, [pc, #44] ; (808da54 ) 808da28: 7b1b ldrb r3, [r3, #12] 808da2a: b2db uxtb r3, r3 808da2c: 4619 mov r1, r3 808da2e: 4b09 ldr r3, [pc, #36] ; (808da54 ) 808da30: 79db ldrb r3, [r3, #7] 808da32: b2db uxtb r3, r3 808da34: 4618 mov r0, r3 808da36: 4a0b ldr r2, [pc, #44] ; (808da64 ) 808da38: 460b mov r3, r1 808da3a: 009b lsls r3, r3, #2 808da3c: 440b add r3, r1 808da3e: 4403 add r3, r0 808da40: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808da44: 461a mov r2, r3 808da46: 217a movs r1, #122 ; 0x7a 808da48: f44f 7082 mov.w r0, #260 ; 0x104 808da4c: f7c6 fc8a bl 8054364 808da50: e032 b.n 808dab8 808da52: bf00 nop 808da54: 20023e60 .word 0x20023e60 808da58: 200204f4 .word 0x200204f4 808da5c: 2002051c .word 0x2002051c 808da60: 20020544 .word 0x20020544 808da64: 2002056c .word 0x2002056c 808da68: 20020594 .word 0x20020594 808da6c: 2002042c .word 0x2002042c 808da70: 20020454 .word 0x20020454 808da74: 2002047c .word 0x2002047c 808da78: 200204a4 .word 0x200204a4 808da7c: 200204cc .word 0x200204cc else if(pardata.FRQ == _64000Hz) LCD_DisplayStringC(260, LCD_LINE_7, (char *) pLEN_64000[pardata.LANG][pardata.LNE]); 808da80: 4bb7 ldr r3, [pc, #732] ; (808dd60 ) 808da82: 7adb ldrb r3, [r3, #11] 808da84: b2db uxtb r3, r3 808da86: 2b09 cmp r3, #9 808da88: d116 bne.n 808dab8 808da8a: 4bb5 ldr r3, [pc, #724] ; (808dd60 ) 808da8c: 7b1b ldrb r3, [r3, #12] 808da8e: b2db uxtb r3, r3 808da90: 4619 mov r1, r3 808da92: 4bb3 ldr r3, [pc, #716] ; (808dd60 ) 808da94: 79db ldrb r3, [r3, #7] 808da96: b2db uxtb r3, r3 808da98: 4618 mov r0, r3 808da9a: 4ab2 ldr r2, [pc, #712] ; (808dd64 ) 808da9c: 460b mov r3, r1 808da9e: 009b lsls r3, r3, #2 808daa0: 440b add r3, r1 808daa2: 4403 add r3, r0 808daa4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 808daa8: 461a mov r2, r3 808daaa: 217a movs r1, #122 ; 0x7a 808daac: f44f 7082 mov.w r0, #260 ; 0x104 808dab0: f7c6 fc58 bl 8054364 808dab4: e000 b.n 808dab8 if(blk) 808dab6: bf00 nop } if(menupos == OscThr) 808dab8: 4bab ldr r3, [pc, #684] ; (808dd68 ) 808daba: 781b ldrb r3, [r3, #0] 808dabc: b2db uxtb r3, r3 808dabe: 2b07 cmp r3, #7 808dac0: d10a bne.n 808dad8 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808dac2: 49aa ldr r1, [pc, #680] ; (808dd6c ) 808dac4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808dac8: f7c5 fe8c bl 80537e4 BSP_LCD_FillRect(253, CHECKBOX_LINE_10-2, 14, 14); 808dacc: 230e movs r3, #14 808dace: 220e movs r2, #14 808dad0: 21ab movs r1, #171 ; 0xab 808dad2: 20fd movs r0, #253 ; 0xfd 808dad4: f7c6 fb14 bl 8054100 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808dad8: 49a4 ldr r1, [pc, #656] ; (808dd6c ) 808dada: f04f 30ff mov.w r0, #4294967295 808dade: f7c5 fe81 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_10, 10, 10); 808dae2: 230a movs r3, #10 808dae4: 220a movs r2, #10 808dae6: 21ad movs r1, #173 ; 0xad 808dae8: 20ff movs r0, #255 ; 0xff 808daea: f7c6 fb09 bl 8054100 if(menupos == OscAutoKu) 808daee: 4b9e ldr r3, [pc, #632] ; (808dd68 ) 808daf0: 781b ldrb r3, [r3, #0] 808daf2: b2db uxtb r3, r3 808daf4: 2b05 cmp r3, #5 808daf6: d10a bne.n 808db0e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808daf8: 499c ldr r1, [pc, #624] ; (808dd6c ) 808dafa: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808dafe: f7c5 fe71 bl 80537e4 BSP_LCD_FillRect(253, CHECKBOX_LINE_8-2, 14, 14); 808db02: 230e movs r3, #14 808db04: 220e movs r2, #14 808db06: 218b movs r1, #139 ; 0x8b 808db08: 20fd movs r0, #253 ; 0xfd 808db0a: f7c6 faf9 bl 8054100 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808db0e: 4997 ldr r1, [pc, #604] ; (808dd6c ) 808db10: f04f 30ff mov.w r0, #4294967295 808db14: f7c5 fe66 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_8, 10, 10); 808db18: 230a movs r3, #10 808db1a: 220a movs r2, #10 808db1c: 218d movs r1, #141 ; 0x8d 808db1e: 20ff movs r0, #255 ; 0xff 808db20: f7c6 faee bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808db24: 4991 ldr r1, [pc, #580] ; (808dd6c ) 808db26: f04f 30ff mov.w r0, #4294967295 808db2a: f7c5 fe5b bl 80537e4 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_PARAM_VIB[pardata.LANG][8]);//"Óñèëåíèå" 808db2e: 4b8c ldr r3, [pc, #560] ; (808dd60 ) 808db30: 7b1b ldrb r3, [r3, #12] 808db32: b2db uxtb r3, r3 808db34: 4619 mov r1, r3 808db36: 4a8e ldr r2, [pc, #568] ; (808dd70 ) 808db38: 232c movs r3, #44 ; 0x2c 808db3a: fb03 f301 mul.w r3, r3, r1 808db3e: 4413 add r3, r2 808db40: 3320 adds r3, #32 808db42: 681b ldr r3, [r3, #0] 808db44: 461a mov r2, r3 808db46: 218a movs r1, #138 ; 0x8a 808db48: 200a movs r0, #10 808db4a: f7c6 fbf3 bl 8054334 if(pardata.THR & 0x80) 808db4e: 4b84 ldr r3, [pc, #528] ; (808dd60 ) 808db50: 7bdb ldrb r3, [r3, #15] 808db52: b2db uxtb r3, r3 808db54: b25b sxtb r3, r3 808db56: 2b00 cmp r3, #0 808db58: f280 80cb bge.w 808dcf2 { if(pardata.IPR == ACC) 808db5c: 4b80 ldr r3, [pc, #512] ; (808dd60 ) 808db5e: 785b ldrb r3, [r3, #1] 808db60: b2db uxtb r3, r3 808db62: 2b00 cmp r3, #0 808db64: d151 bne.n 808dc0a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808db66: 4981 ldr r1, [pc, #516] ; (808dd6c ) 808db68: f04f 30ff mov.w r0, #4294967295 808db6c: f7c5 fe3a bl 80537e4 if(pardata.IIN != VOLTS) 808db70: 4b7b ldr r3, [pc, #492] ; (808dd60 ) 808db72: 799b ldrb r3, [r3, #6] 808db74: b2db uxtb r3, r3 808db76: 2b02 cmp r3, #2 808db78: d010 beq.n 808db9c LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808db7a: 4b79 ldr r3, [pc, #484] ; (808dd60 ) 808db7c: 7b1b ldrb r3, [r3, #12] 808db7e: b2db uxtb r3, r3 808db80: 4619 mov r1, r3 808db82: 4a7b ldr r2, [pc, #492] ; (808dd70 ) 808db84: 232c movs r3, #44 ; 0x2c 808db86: fb03 f301 mul.w r3, r3, r1 808db8a: 4413 add r3, r2 808db8c: 3324 adds r3, #36 ; 0x24 808db8e: 681b ldr r3, [r3, #0] 808db90: 461a mov r2, r3 808db92: 219a movs r1, #154 ; 0x9a 808db94: 200a movs r0, #10 808db96: f7c6 fbcd bl 8054334 808db9a: e00f b.n 808dbbc else LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808db9c: 4b70 ldr r3, [pc, #448] ; (808dd60 ) 808db9e: 7b1b ldrb r3, [r3, #12] 808dba0: b2db uxtb r3, r3 808dba2: 4619 mov r1, r3 808dba4: 4a73 ldr r2, [pc, #460] ; (808dd74 ) 808dba6: 232c movs r3, #44 ; 0x2c 808dba8: fb03 f301 mul.w r3, r3, r1 808dbac: 4413 add r3, r2 808dbae: 3324 adds r3, #36 ; 0x24 808dbb0: 681b ldr r3, [r3, #0] 808dbb2: 461a mov r2, r3 808dbb4: 219a movs r1, #154 ; 0x9a 808dbb6: 200a movs r0, #10 808dbb8: f7c6 fbbc bl 8054334 if(pardata.IIN != VOLTS) 808dbbc: 4b68 ldr r3, [pc, #416] ; (808dd60 ) 808dbbe: 799b ldrb r3, [r3, #6] 808dbc0: b2db uxtb r3, r3 808dbc2: 2b02 cmp r3, #2 808dbc4: d010 beq.n 808dbe8 { if(pardata.LANG == RUS) 808dbc6: 4b66 ldr r3, [pc, #408] ; (808dd60 ) 808dbc8: 7b1b ldrb r3, [r3, #12] 808dbca: b2db uxtb r3, r3 808dbcc: 2b00 cmp r3, #0 808dbce: d105 bne.n 808dbdc LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ì/c^)"); 808dbd0: 4a69 ldr r2, [pc, #420] ; (808dd78 ) 808dbd2: 21ba movs r1, #186 ; 0xba 808dbd4: 200a movs r0, #10 808dbd6: f7c6 fbad bl 8054334 808dbda: e115 b.n 808de08 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(m/s^)"); 808dbdc: 4a67 ldr r2, [pc, #412] ; (808dd7c ) 808dbde: 21ba movs r1, #186 ; 0xba 808dbe0: 200a movs r0, #10 808dbe2: f7c6 fba7 bl 8054334 808dbe6: e10f b.n 808de08 } else { if(pardata.LANG == RUS) 808dbe8: 4b5d ldr r3, [pc, #372] ; (808dd60 ) 808dbea: 7b1b ldrb r3, [r3, #12] 808dbec: b2db uxtb r3, r3 808dbee: 2b00 cmp r3, #0 808dbf0: d105 bne.n 808dbfe LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ìÂ)"); 808dbf2: 4a63 ldr r2, [pc, #396] ; (808dd80 ) 808dbf4: 21ba movs r1, #186 ; 0xba 808dbf6: 200a movs r0, #10 808dbf8: f7c6 fb9c bl 8054334 808dbfc: e104 b.n 808de08 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(mV)"); 808dbfe: 4a61 ldr r2, [pc, #388] ; (808dd84 ) 808dc00: 21ba movs r1, #186 ; 0xba 808dc02: 200a movs r0, #10 808dc04: f7c6 fb96 bl 8054334 808dc08: e0fe b.n 808de08 } } else { if(pardata.OPTIONS & 0x4) 808dc0a: 4b55 ldr r3, [pc, #340] ; (808dd60 ) 808dc0c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808dc10: f003 0304 and.w r3, r3, #4 808dc14: 2b00 cmp r3, #0 808dc16: d00a beq.n 808dc2e { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808dc18: 4954 ldr r1, [pc, #336] ; (808dd6c ) 808dc1a: 485b ldr r0, [pc, #364] ; (808dd88 ) 808dc1c: f7c5 fde2 bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 808dc20: 2306 movs r3, #6 808dc22: 2206 movs r2, #6 808dc24: 218f movs r1, #143 ; 0x8f 808dc26: f240 1001 movw r0, #257 ; 0x101 808dc2a: f7c6 fa69 bl 8054100 } LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808dc2e: 494f ldr r1, [pc, #316] ; (808dd6c ) 808dc30: 4856 ldr r0, [pc, #344] ; (808dd8c ) 808dc32: f7c5 fdd7 bl 80537e4 if(pardata.IIN != VOLTS) 808dc36: 4b4a ldr r3, [pc, #296] ; (808dd60 ) 808dc38: 799b ldrb r3, [r3, #6] 808dc3a: b2db uxtb r3, r3 808dc3c: 2b02 cmp r3, #2 808dc3e: d010 beq.n 808dc62 { if(pardata.LANG == RUS) 808dc40: 4b47 ldr r3, [pc, #284] ; (808dd60 ) 808dc42: 7b1b ldrb r3, [r3, #12] 808dc44: b2db uxtb r3, r3 808dc46: 2b00 cmp r3, #0 808dc48: d105 bne.n 808dc56 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ì/c^)"); 808dc4a: 4a4b ldr r2, [pc, #300] ; (808dd78 ) 808dc4c: 21ba movs r1, #186 ; 0xba 808dc4e: 200a movs r0, #10 808dc50: f7c6 fb70 bl 8054334 808dc54: e015 b.n 808dc82 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(m/s^)"); 808dc56: 4a49 ldr r2, [pc, #292] ; (808dd7c ) 808dc58: 21ba movs r1, #186 ; 0xba 808dc5a: 200a movs r0, #10 808dc5c: f7c6 fb6a bl 8054334 808dc60: e00f b.n 808dc82 } else { if(pardata.LANG == RUS) 808dc62: 4b3f ldr r3, [pc, #252] ; (808dd60 ) 808dc64: 7b1b ldrb r3, [r3, #12] 808dc66: b2db uxtb r3, r3 808dc68: 2b00 cmp r3, #0 808dc6a: d105 bne.n 808dc78 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ìÂ)"); 808dc6c: 4a44 ldr r2, [pc, #272] ; (808dd80 ) 808dc6e: 21ba movs r1, #186 ; 0xba 808dc70: 200a movs r0, #10 808dc72: f7c6 fb5f bl 8054334 808dc76: e004 b.n 808dc82 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(mV)"); 808dc78: 4a42 ldr r2, [pc, #264] ; (808dd84 ) 808dc7a: 21ba movs r1, #186 ; 0xba 808dc7c: 200a movs r0, #10 808dc7e: f7c6 fb59 bl 8054334 } if(pardata.OPTIONS & 0x4) 808dc82: 4b37 ldr r3, [pc, #220] ; (808dd60 ) 808dc84: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808dc88: f003 0304 and.w r3, r3, #4 808dc8c: 2b00 cmp r3, #0 808dc8e: d004 beq.n 808dc9a LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808dc90: 4936 ldr r1, [pc, #216] ; (808dd6c ) 808dc92: 483e ldr r0, [pc, #248] ; (808dd8c ) 808dc94: f7c5 fda6 bl 80537e4 808dc98: e004 b.n 808dca4 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808dc9a: 4934 ldr r1, [pc, #208] ; (808dd6c ) 808dc9c: f04f 30ff mov.w r0, #4294967295 808dca0: f7c5 fda0 bl 80537e4 if(pardata.IIN != VOLTS) 808dca4: 4b2e ldr r3, [pc, #184] ; (808dd60 ) 808dca6: 799b ldrb r3, [r3, #6] 808dca8: b2db uxtb r3, r3 808dcaa: 2b02 cmp r3, #2 808dcac: d010 beq.n 808dcd0 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808dcae: 4b2c ldr r3, [pc, #176] ; (808dd60 ) 808dcb0: 7b1b ldrb r3, [r3, #12] 808dcb2: b2db uxtb r3, r3 808dcb4: 4619 mov r1, r3 808dcb6: 4a2e ldr r2, [pc, #184] ; (808dd70 ) 808dcb8: 232c movs r3, #44 ; 0x2c 808dcba: fb03 f301 mul.w r3, r3, r1 808dcbe: 4413 add r3, r2 808dcc0: 3324 adds r3, #36 ; 0x24 808dcc2: 681b ldr r3, [r3, #0] 808dcc4: 461a mov r2, r3 808dcc6: 219a movs r1, #154 ; 0x9a 808dcc8: 200a movs r0, #10 808dcca: f7c6 fb33 bl 8054334 808dcce: e09b b.n 808de08 else LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808dcd0: 4b23 ldr r3, [pc, #140] ; (808dd60 ) 808dcd2: 7b1b ldrb r3, [r3, #12] 808dcd4: b2db uxtb r3, r3 808dcd6: 4619 mov r1, r3 808dcd8: 4a26 ldr r2, [pc, #152] ; (808dd74 ) 808dcda: 232c movs r3, #44 ; 0x2c 808dcdc: fb03 f301 mul.w r3, r3, r1 808dce0: 4413 add r3, r2 808dce2: 3324 adds r3, #36 ; 0x24 808dce4: 681b ldr r3, [r3, #0] 808dce6: 461a mov r2, r3 808dce8: 219a movs r1, #154 ; 0x9a 808dcea: 200a movs r0, #10 808dcec: f7c6 fb22 bl 8054334 808dcf0: e08a b.n 808de08 } } else { if(pardata.OPTIONS & 0x4) 808dcf2: 4b1b ldr r3, [pc, #108] ; (808dd60 ) 808dcf4: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808dcf8: f003 0304 and.w r3, r3, #4 808dcfc: 2b00 cmp r3, #0 808dcfe: d00a beq.n 808dd16 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808dd00: 491a ldr r1, [pc, #104] ; (808dd6c ) 808dd02: 4821 ldr r0, [pc, #132] ; (808dd88 ) 808dd04: f7c5 fd6e bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_8+2, 6, 6); 808dd08: 2306 movs r3, #6 808dd0a: 2206 movs r2, #6 808dd0c: 218f movs r1, #143 ; 0x8f 808dd0e: f240 1001 movw r0, #257 ; 0x101 808dd12: f7c6 f9f5 bl 8054100 } LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808dd16: 4915 ldr r1, [pc, #84] ; (808dd6c ) 808dd18: 481c ldr r0, [pc, #112] ; (808dd8c ) 808dd1a: f7c5 fd63 bl 80537e4 if(pardata.IIN != VOLTS) 808dd1e: 4b10 ldr r3, [pc, #64] ; (808dd60 ) 808dd20: 799b ldrb r3, [r3, #6] 808dd22: b2db uxtb r3, r3 808dd24: 2b02 cmp r3, #2 808dd26: d010 beq.n 808dd4a { if(pardata.LANG == RUS) 808dd28: 4b0d ldr r3, [pc, #52] ; (808dd60 ) 808dd2a: 7b1b ldrb r3, [r3, #12] 808dd2c: b2db uxtb r3, r3 808dd2e: 2b00 cmp r3, #0 808dd30: d105 bne.n 808dd3e LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ì/c^)"); 808dd32: 4a11 ldr r2, [pc, #68] ; (808dd78 ) 808dd34: 21ba movs r1, #186 ; 0xba 808dd36: 200a movs r0, #10 808dd38: f7c6 fafc bl 8054334 808dd3c: e02d b.n 808dd9a else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(m/s^)"); 808dd3e: 4a0f ldr r2, [pc, #60] ; (808dd7c ) 808dd40: 21ba movs r1, #186 ; 0xba 808dd42: 200a movs r0, #10 808dd44: f7c6 faf6 bl 8054334 808dd48: e027 b.n 808dd9a } else { if(pardata.LANG == RUS) 808dd4a: 4b05 ldr r3, [pc, #20] ; (808dd60 ) 808dd4c: 7b1b ldrb r3, [r3, #12] 808dd4e: b2db uxtb r3, r3 808dd50: 2b00 cmp r3, #0 808dd52: d11d bne.n 808dd90 LCD_DisplayString(10, LCD_LINE_11, "Ïîðîã(ïèê)(ìÂ)"); 808dd54: 4a0a ldr r2, [pc, #40] ; (808dd80 ) 808dd56: 21ba movs r1, #186 ; 0xba 808dd58: 200a movs r0, #10 808dd5a: f7c6 faeb bl 8054334 808dd5e: e01c b.n 808dd9a 808dd60: 20023e60 .word 0x20023e60 808dd64: 20020594 .word 0x20020594 808dd68: 20020070 .word 0x20020070 808dd6c: ff0a0f1f .word 0xff0a0f1f 808dd70: 200206b4 .word 0x200206b4 808dd74: 2002070c .word 0x2002070c 808dd78: 080cf494 .word 0x080cf494 808dd7c: 080cf4e4 .word 0x080cf4e4 808dd80: 080cf500 .word 0x080cf500 808dd84: 080cf510 .word 0x080cf510 808dd88: ff404040 .word 0xff404040 808dd8c: ff808080 .word 0xff808080 else LCD_DisplayString(10, LCD_LINE_11, "Thr(peak)(mV)"); 808dd90: 4ab3 ldr r2, [pc, #716] ; (808e060 ) 808dd92: 21ba movs r1, #186 ; 0xba 808dd94: 200a movs r0, #10 808dd96: f7c6 facd bl 8054334 } if(pardata.OPTIONS & 0x4) 808dd9a: 4bb2 ldr r3, [pc, #712] ; (808e064 ) 808dd9c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808dda0: f003 0304 and.w r3, r3, #4 808dda4: 2b00 cmp r3, #0 808dda6: d004 beq.n 808ddb2 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 808dda8: 49af ldr r1, [pc, #700] ; (808e068 ) 808ddaa: 48b0 ldr r0, [pc, #704] ; (808e06c ) 808ddac: f7c5 fd1a bl 80537e4 808ddb0: e004 b.n 808ddbc else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 808ddb2: 49ad ldr r1, [pc, #692] ; (808e068 ) 808ddb4: f04f 30ff mov.w r0, #4294967295 808ddb8: f7c5 fd14 bl 80537e4 if(pardata.IIN != VOLTS) 808ddbc: 4ba9 ldr r3, [pc, #676] ; (808e064 ) 808ddbe: 799b ldrb r3, [r3, #6] 808ddc0: b2db uxtb r3, r3 808ddc2: 2b02 cmp r3, #2 808ddc4: d010 beq.n 808dde8 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB[pardata.LANG][9]);//"Max.âîçä.,ì/ñ2" 808ddc6: 4ba7 ldr r3, [pc, #668] ; (808e064 ) 808ddc8: 7b1b ldrb r3, [r3, #12] 808ddca: b2db uxtb r3, r3 808ddcc: 4619 mov r1, r3 808ddce: 4aa8 ldr r2, [pc, #672] ; (808e070 ) 808ddd0: 232c movs r3, #44 ; 0x2c 808ddd2: fb03 f301 mul.w r3, r3, r1 808ddd6: 4413 add r3, r2 808ddd8: 3324 adds r3, #36 ; 0x24 808ddda: 681b ldr r3, [r3, #0] 808dddc: 461a mov r2, r3 808ddde: 219a movs r1, #154 ; 0x9a 808dde0: 200a movs r0, #10 808dde2: f7c6 faa7 bl 8054334 808dde6: e00f b.n 808de08 else LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_VIB_mV[pardata.LANG][9]);//"Max.âîçä.,ìV" 808dde8: 4b9e ldr r3, [pc, #632] ; (808e064 ) 808ddea: 7b1b ldrb r3, [r3, #12] 808ddec: b2db uxtb r3, r3 808ddee: 4619 mov r1, r3 808ddf0: 4aa0 ldr r2, [pc, #640] ; (808e074 ) 808ddf2: 232c movs r3, #44 ; 0x2c 808ddf4: fb03 f301 mul.w r3, r3, r1 808ddf8: 4413 add r3, r2 808ddfa: 3324 adds r3, #36 ; 0x24 808ddfc: 681b ldr r3, [r3, #0] 808ddfe: 461a mov r2, r3 808de00: 219a movs r1, #154 ; 0x9a 808de02: 200a movs r0, #10 808de04: f7c6 fa96 bl 8054334 } if(menupos == OscThr_IDT) 808de08: 4b9b ldr r3, [pc, #620] ; (808e078 ) 808de0a: 781b ldrb r3, [r3, #0] 808de0c: b2db uxtb r3, r3 808de0e: 2b09 cmp r3, #9 808de10: d15e bne.n 808ded0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808de12: 4995 ldr r1, [pc, #596] ; (808e068 ) 808de14: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808de18: f7c5 fce4 bl 80537e4 if(blk) 808de1c: 4b97 ldr r3, [pc, #604] ; (808e07c ) 808de1e: 681b ldr r3, [r3, #0] 808de20: 2b00 cmp r3, #0 808de22: d00b beq.n 808de3c LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808de24: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808de28: b2db uxtb r3, r3 808de2a: 461a mov r2, r3 808de2c: 4b94 ldr r3, [pc, #592] ; (808e080 ) 808de2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808de32: 461a mov r2, r3 808de34: 21ba movs r1, #186 ; 0xba 808de36: 20c6 movs r0, #198 ; 0xc6 808de38: f7c6 fa7c bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808de3c: 498a ldr r1, [pc, #552] ; (808e068 ) 808de3e: 4891 ldr r0, [pc, #580] ; (808e084 ) 808de40: f7c5 fcd0 bl 80537e4 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808de44: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808de48: b2db uxtb r3, r3 808de4a: 461a mov r2, r3 808de4c: 4b8c ldr r3, [pc, #560] ; (808e080 ) 808de4e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808de52: 461a mov r2, r3 808de54: 21ba movs r1, #186 ; 0xba 808de56: 20d6 movs r0, #214 ; 0xd6 808de58: f7c6 fa6c bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808de5c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808de60: b2db uxtb r3, r3 808de62: 461a mov r2, r3 808de64: 4b86 ldr r3, [pc, #536] ; (808e080 ) 808de66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808de6a: 461a mov r2, r3 808de6c: 21ba movs r1, #186 ; 0xba 808de6e: 20e6 movs r0, #230 ; 0xe6 808de70: f7c6 fa60 bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808de74: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808de78: b2db uxtb r3, r3 808de7a: 461a mov r2, r3 808de7c: 4b80 ldr r3, [pc, #512] ; (808e080 ) 808de7e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808de82: 461a mov r2, r3 808de84: 21ba movs r1, #186 ; 0xba 808de86: 20f6 movs r0, #246 ; 0xf6 808de88: f7c6 fa54 bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808de8c: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808de90: b2db uxtb r3, r3 808de92: 461a mov r2, r3 808de94: 4b7a ldr r3, [pc, #488] ; (808e080 ) 808de96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808de9a: 461a mov r2, r3 808de9c: 21ba movs r1, #186 ; 0xba 808de9e: f44f 7083 mov.w r0, #262 ; 0x106 808dea2: f7c6 fa47 bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 808dea6: 4a78 ldr r2, [pc, #480] ; (808e088 ) 808dea8: 21ba movs r1, #186 ; 0xba 808deaa: f44f 708b mov.w r0, #278 ; 0x116 808deae: f7c6 fa41 bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808deb2: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808deb6: b2db uxtb r3, r3 808deb8: 461a mov r2, r3 808deba: 4b71 ldr r3, [pc, #452] ; (808e080 ) 808debc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dec0: 461a mov r2, r3 808dec2: 21ba movs r1, #186 ; 0xba 808dec4: f44f 7093 mov.w r0, #294 ; 0x126 808dec8: f7c6 fa34 bl 8054334 808decc: f000 bc70 b.w 808e7b0 } else if(menupos == OscThr_IET) 808ded0: 4b69 ldr r3, [pc, #420] ; (808e078 ) 808ded2: 781b ldrb r3, [r3, #0] 808ded4: b2db uxtb r3, r3 808ded6: 2b0a cmp r3, #10 808ded8: d15e bne.n 808df98 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808deda: 4963 ldr r1, [pc, #396] ; (808e068 ) 808dedc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808dee0: f7c5 fc80 bl 80537e4 if(blk) 808dee4: 4b65 ldr r3, [pc, #404] ; (808e07c ) 808dee6: 681b ldr r3, [r3, #0] 808dee8: 2b00 cmp r3, #0 808deea: d00b beq.n 808df04 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808deec: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808def0: b2db uxtb r3, r3 808def2: 461a mov r2, r3 808def4: 4b62 ldr r3, [pc, #392] ; (808e080 ) 808def6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808defa: 461a mov r2, r3 808defc: 21ba movs r1, #186 ; 0xba 808defe: 20d6 movs r0, #214 ; 0xd6 808df00: f7c6 fa18 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808df04: 4958 ldr r1, [pc, #352] ; (808e068 ) 808df06: 485f ldr r0, [pc, #380] ; (808e084 ) 808df08: f7c5 fc6c bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808df0c: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808df10: b2db uxtb r3, r3 808df12: 461a mov r2, r3 808df14: 4b5a ldr r3, [pc, #360] ; (808e080 ) 808df16: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808df1a: 461a mov r2, r3 808df1c: 21ba movs r1, #186 ; 0xba 808df1e: 20c6 movs r0, #198 ; 0xc6 808df20: f7c6 fa08 bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808df24: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808df28: b2db uxtb r3, r3 808df2a: 461a mov r2, r3 808df2c: 4b54 ldr r3, [pc, #336] ; (808e080 ) 808df2e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808df32: 461a mov r2, r3 808df34: 21ba movs r1, #186 ; 0xba 808df36: 20e6 movs r0, #230 ; 0xe6 808df38: f7c6 f9fc bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808df3c: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808df40: b2db uxtb r3, r3 808df42: 461a mov r2, r3 808df44: 4b4e ldr r3, [pc, #312] ; (808e080 ) 808df46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808df4a: 461a mov r2, r3 808df4c: 21ba movs r1, #186 ; 0xba 808df4e: 20f6 movs r0, #246 ; 0xf6 808df50: f7c6 f9f0 bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808df54: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808df58: b2db uxtb r3, r3 808df5a: 461a mov r2, r3 808df5c: 4b48 ldr r3, [pc, #288] ; (808e080 ) 808df5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808df62: 461a mov r2, r3 808df64: 21ba movs r1, #186 ; 0xba 808df66: f44f 7083 mov.w r0, #262 ; 0x106 808df6a: f7c6 f9e3 bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 808df6e: 4a46 ldr r2, [pc, #280] ; (808e088 ) 808df70: 21ba movs r1, #186 ; 0xba 808df72: f44f 708b mov.w r0, #278 ; 0x116 808df76: f7c6 f9dd bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808df7a: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808df7e: b2db uxtb r3, r3 808df80: 461a mov r2, r3 808df82: 4b3f ldr r3, [pc, #252] ; (808e080 ) 808df84: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808df88: 461a mov r2, r3 808df8a: 21ba movs r1, #186 ; 0xba 808df8c: f44f 7093 mov.w r0, #294 ; 0x126 808df90: f7c6 f9d0 bl 8054334 808df94: f000 bc0c b.w 808e7b0 } else if(menupos == OscThr_IES) 808df98: 4b37 ldr r3, [pc, #220] ; (808e078 ) 808df9a: 781b ldrb r3, [r3, #0] 808df9c: b2db uxtb r3, r3 808df9e: 2b0b cmp r3, #11 808dfa0: d174 bne.n 808e08c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808dfa2: 4931 ldr r1, [pc, #196] ; (808e068 ) 808dfa4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808dfa8: f7c5 fc1c bl 80537e4 if(blk) 808dfac: 4b33 ldr r3, [pc, #204] ; (808e07c ) 808dfae: 681b ldr r3, [r3, #0] 808dfb0: 2b00 cmp r3, #0 808dfb2: d00b beq.n 808dfcc LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808dfb4: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808dfb8: b2db uxtb r3, r3 808dfba: 461a mov r2, r3 808dfbc: 4b30 ldr r3, [pc, #192] ; (808e080 ) 808dfbe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dfc2: 461a mov r2, r3 808dfc4: 21ba movs r1, #186 ; 0xba 808dfc6: 20e6 movs r0, #230 ; 0xe6 808dfc8: f7c6 f9b4 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808dfcc: 4926 ldr r1, [pc, #152] ; (808e068 ) 808dfce: 482d ldr r0, [pc, #180] ; (808e084 ) 808dfd0: f7c5 fc08 bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808dfd4: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808dfd8: b2db uxtb r3, r3 808dfda: 461a mov r2, r3 808dfdc: 4b28 ldr r3, [pc, #160] ; (808e080 ) 808dfde: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dfe2: 461a mov r2, r3 808dfe4: 21ba movs r1, #186 ; 0xba 808dfe6: 20c6 movs r0, #198 ; 0xc6 808dfe8: f7c6 f9a4 bl 8054334 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808dfec: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808dff0: b2db uxtb r3, r3 808dff2: 461a mov r2, r3 808dff4: 4b22 ldr r3, [pc, #136] ; (808e080 ) 808dff6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808dffa: 461a mov r2, r3 808dffc: 21ba movs r1, #186 ; 0xba 808dffe: 20d6 movs r0, #214 ; 0xd6 808e000: f7c6 f998 bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808e004: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808e008: b2db uxtb r3, r3 808e00a: 461a mov r2, r3 808e00c: 4b1c ldr r3, [pc, #112] ; (808e080 ) 808e00e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e012: 461a mov r2, r3 808e014: 21ba movs r1, #186 ; 0xba 808e016: 20f6 movs r0, #246 ; 0xf6 808e018: f7c6 f98c bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808e01c: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808e020: b2db uxtb r3, r3 808e022: 461a mov r2, r3 808e024: 4b16 ldr r3, [pc, #88] ; (808e080 ) 808e026: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e02a: 461a mov r2, r3 808e02c: 21ba movs r1, #186 ; 0xba 808e02e: f44f 7083 mov.w r0, #262 ; 0x106 808e032: f7c6 f97f bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 808e036: 4a14 ldr r2, [pc, #80] ; (808e088 ) 808e038: 21ba movs r1, #186 ; 0xba 808e03a: f44f 708b mov.w r0, #278 ; 0x116 808e03e: f7c6 f979 bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808e042: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808e046: b2db uxtb r3, r3 808e048: 461a mov r2, r3 808e04a: 4b0d ldr r3, [pc, #52] ; (808e080 ) 808e04c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e050: 461a mov r2, r3 808e052: 21ba movs r1, #186 ; 0xba 808e054: f44f 7093 mov.w r0, #294 ; 0x126 808e058: f7c6 f96c bl 8054334 808e05c: e3a8 b.n 808e7b0 808e05e: bf00 nop 808e060: 080cf510 .word 0x080cf510 808e064: 20023e60 .word 0x20023e60 808e068: ff0a0f1f .word 0xff0a0f1f 808e06c: ff808080 .word 0xff808080 808e070: 200206b4 .word 0x200206b4 808e074: 2002070c .word 0x2002070c 808e078: 20020070 .word 0x20020070 808e07c: 2002165c .word 0x2002165c 808e080: 20020964 .word 0x20020964 808e084: ffd8aa57 .word 0xffd8aa57 808e088: 080cf820 .word 0x080cf820 } else if(menupos == OscThr_IED) 808e08c: 4bc5 ldr r3, [pc, #788] ; (808e3a4 ) 808e08e: 781b ldrb r3, [r3, #0] 808e090: b2db uxtb r3, r3 808e092: 2b0c cmp r3, #12 808e094: d15d bne.n 808e152 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e096: 49c4 ldr r1, [pc, #784] ; (808e3a8 ) 808e098: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e09c: f7c5 fba2 bl 80537e4 if(blk) 808e0a0: 4bc2 ldr r3, [pc, #776] ; (808e3ac ) 808e0a2: 681b ldr r3, [r3, #0] 808e0a4: 2b00 cmp r3, #0 808e0a6: d00b beq.n 808e0c0 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808e0a8: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808e0ac: b2db uxtb r3, r3 808e0ae: 461a mov r2, r3 808e0b0: 4bbf ldr r3, [pc, #764] ; (808e3b0 ) 808e0b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e0b6: 461a mov r2, r3 808e0b8: 21ba movs r1, #186 ; 0xba 808e0ba: 20f6 movs r0, #246 ; 0xf6 808e0bc: f7c6 f93a bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e0c0: 49b9 ldr r1, [pc, #740] ; (808e3a8 ) 808e0c2: 48bc ldr r0, [pc, #752] ; (808e3b4 ) 808e0c4: f7c5 fb8e bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808e0c8: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e0cc: b2db uxtb r3, r3 808e0ce: 461a mov r2, r3 808e0d0: 4bb7 ldr r3, [pc, #732] ; (808e3b0 ) 808e0d2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e0d6: 461a mov r2, r3 808e0d8: 21ba movs r1, #186 ; 0xba 808e0da: 20c6 movs r0, #198 ; 0xc6 808e0dc: f7c6 f92a bl 8054334 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808e0e0: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808e0e4: b2db uxtb r3, r3 808e0e6: 461a mov r2, r3 808e0e8: 4bb1 ldr r3, [pc, #708] ; (808e3b0 ) 808e0ea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e0ee: 461a mov r2, r3 808e0f0: 21ba movs r1, #186 ; 0xba 808e0f2: 20d6 movs r0, #214 ; 0xd6 808e0f4: f7c6 f91e bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808e0f8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808e0fc: b2db uxtb r3, r3 808e0fe: 461a mov r2, r3 808e100: 4bab ldr r3, [pc, #684] ; (808e3b0 ) 808e102: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e106: 461a mov r2, r3 808e108: 21ba movs r1, #186 ; 0xba 808e10a: 20e6 movs r0, #230 ; 0xe6 808e10c: f7c6 f912 bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808e110: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808e114: b2db uxtb r3, r3 808e116: 461a mov r2, r3 808e118: 4ba5 ldr r3, [pc, #660] ; (808e3b0 ) 808e11a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e11e: 461a mov r2, r3 808e120: 21ba movs r1, #186 ; 0xba 808e122: f44f 7083 mov.w r0, #262 ; 0x106 808e126: f7c6 f905 bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 808e12a: 4aa3 ldr r2, [pc, #652] ; (808e3b8 ) 808e12c: 21ba movs r1, #186 ; 0xba 808e12e: f44f 708b mov.w r0, #278 ; 0x116 808e132: f7c6 f8ff bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808e136: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808e13a: b2db uxtb r3, r3 808e13c: 461a mov r2, r3 808e13e: 4b9c ldr r3, [pc, #624] ; (808e3b0 ) 808e140: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e144: 461a mov r2, r3 808e146: 21ba movs r1, #186 ; 0xba 808e148: f44f 7093 mov.w r0, #294 ; 0x126 808e14c: f7c6 f8f2 bl 8054334 808e150: e32e b.n 808e7b0 } else if(menupos == OscThr_IEE) 808e152: 4b94 ldr r3, [pc, #592] ; (808e3a4 ) 808e154: 781b ldrb r3, [r3, #0] 808e156: b2db uxtb r3, r3 808e158: 2b0d cmp r3, #13 808e15a: d15d bne.n 808e218 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e15c: 4992 ldr r1, [pc, #584] ; (808e3a8 ) 808e15e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e162: f7c5 fb3f bl 80537e4 if(blk) 808e166: 4b91 ldr r3, [pc, #580] ; (808e3ac ) 808e168: 681b ldr r3, [r3, #0] 808e16a: 2b00 cmp r3, #0 808e16c: d00c beq.n 808e188 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808e16e: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808e172: b2db uxtb r3, r3 808e174: 461a mov r2, r3 808e176: 4b8e ldr r3, [pc, #568] ; (808e3b0 ) 808e178: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e17c: 461a mov r2, r3 808e17e: 21ba movs r1, #186 ; 0xba 808e180: f44f 7083 mov.w r0, #262 ; 0x106 808e184: f7c6 f8d6 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e188: 4987 ldr r1, [pc, #540] ; (808e3a8 ) 808e18a: 488a ldr r0, [pc, #552] ; (808e3b4 ) 808e18c: f7c5 fb2a bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808e190: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e194: b2db uxtb r3, r3 808e196: 461a mov r2, r3 808e198: 4b85 ldr r3, [pc, #532] ; (808e3b0 ) 808e19a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e19e: 461a mov r2, r3 808e1a0: 21ba movs r1, #186 ; 0xba 808e1a2: 20c6 movs r0, #198 ; 0xc6 808e1a4: f7c6 f8c6 bl 8054334 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808e1a8: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808e1ac: b2db uxtb r3, r3 808e1ae: 461a mov r2, r3 808e1b0: 4b7f ldr r3, [pc, #508] ; (808e3b0 ) 808e1b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e1b6: 461a mov r2, r3 808e1b8: 21ba movs r1, #186 ; 0xba 808e1ba: 20d6 movs r0, #214 ; 0xd6 808e1bc: f7c6 f8ba bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808e1c0: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808e1c4: b2db uxtb r3, r3 808e1c6: 461a mov r2, r3 808e1c8: 4b79 ldr r3, [pc, #484] ; (808e3b0 ) 808e1ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e1ce: 461a mov r2, r3 808e1d0: 21ba movs r1, #186 ; 0xba 808e1d2: 20e6 movs r0, #230 ; 0xe6 808e1d4: f7c6 f8ae bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808e1d8: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808e1dc: b2db uxtb r3, r3 808e1de: 461a mov r2, r3 808e1e0: 4b73 ldr r3, [pc, #460] ; (808e3b0 ) 808e1e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e1e6: 461a mov r2, r3 808e1e8: 21ba movs r1, #186 ; 0xba 808e1ea: 20f6 movs r0, #246 ; 0xf6 808e1ec: f7c6 f8a2 bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 808e1f0: 4a71 ldr r2, [pc, #452] ; (808e3b8 ) 808e1f2: 21ba movs r1, #186 ; 0xba 808e1f4: f44f 708b mov.w r0, #278 ; 0x116 808e1f8: f7c6 f89c bl 8054334 LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808e1fc: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808e200: b2db uxtb r3, r3 808e202: 461a mov r2, r3 808e204: 4b6a ldr r3, [pc, #424] ; (808e3b0 ) 808e206: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e20a: 461a mov r2, r3 808e20c: 21ba movs r1, #186 ; 0xba 808e20e: f44f 7093 mov.w r0, #294 ; 0x126 808e212: f7c6 f88f bl 8054334 808e216: e2cb b.n 808e7b0 } else if(menupos == OscThr_IKD) 808e218: 4b62 ldr r3, [pc, #392] ; (808e3a4 ) 808e21a: 781b ldrb r3, [r3, #0] 808e21c: b2db uxtb r3, r3 808e21e: 2b0e cmp r3, #14 808e220: d15d bne.n 808e2de { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e222: 4961 ldr r1, [pc, #388] ; (808e3a8 ) 808e224: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e228: f7c5 fadc bl 80537e4 if(blk) 808e22c: 4b5f ldr r3, [pc, #380] ; (808e3ac ) 808e22e: 681b ldr r3, [r3, #0] 808e230: 2b00 cmp r3, #0 808e232: d00c beq.n 808e24e LCD_DisplayString(294, LCD_LINE_11, (char *) pNUMS[ikd]); 808e234: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 808e238: b2db uxtb r3, r3 808e23a: 461a mov r2, r3 808e23c: 4b5c ldr r3, [pc, #368] ; (808e3b0 ) 808e23e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e242: 461a mov r2, r3 808e244: 21ba movs r1, #186 ; 0xba 808e246: f44f 7093 mov.w r0, #294 ; 0x126 808e24a: f7c6 f873 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e24e: 4956 ldr r1, [pc, #344] ; (808e3a8 ) 808e250: 4858 ldr r0, [pc, #352] ; (808e3b4 ) 808e252: f7c5 fac7 bl 80537e4 LCD_DisplayString(198, LCD_LINE_11, (char *) pNUMS[idt]); 808e256: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e25a: b2db uxtb r3, r3 808e25c: 461a mov r2, r3 808e25e: 4b54 ldr r3, [pc, #336] ; (808e3b0 ) 808e260: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e264: 461a mov r2, r3 808e266: 21ba movs r1, #186 ; 0xba 808e268: 20c6 movs r0, #198 ; 0xc6 808e26a: f7c6 f863 bl 8054334 LCD_DisplayString(214, LCD_LINE_11, (char *) pNUMS[iet]); 808e26e: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808e272: b2db uxtb r3, r3 808e274: 461a mov r2, r3 808e276: 4b4e ldr r3, [pc, #312] ; (808e3b0 ) 808e278: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e27c: 461a mov r2, r3 808e27e: 21ba movs r1, #186 ; 0xba 808e280: 20d6 movs r0, #214 ; 0xd6 808e282: f7c6 f857 bl 8054334 LCD_DisplayString(230, LCD_LINE_11, (char *) pNUMS[ies]); 808e286: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808e28a: b2db uxtb r3, r3 808e28c: 461a mov r2, r3 808e28e: 4b48 ldr r3, [pc, #288] ; (808e3b0 ) 808e290: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e294: 461a mov r2, r3 808e296: 21ba movs r1, #186 ; 0xba 808e298: 20e6 movs r0, #230 ; 0xe6 808e29a: f7c6 f84b bl 8054334 LCD_DisplayString(246, LCD_LINE_11, (char *) pNUMS[ied]); 808e29e: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808e2a2: b2db uxtb r3, r3 808e2a4: 461a mov r2, r3 808e2a6: 4b42 ldr r3, [pc, #264] ; (808e3b0 ) 808e2a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e2ac: 461a mov r2, r3 808e2ae: 21ba movs r1, #186 ; 0xba 808e2b0: 20f6 movs r0, #246 ; 0xf6 808e2b2: f7c6 f83f bl 8054334 LCD_DisplayString(262, LCD_LINE_11, (char *) pNUMS[iee]); 808e2b6: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 808e2ba: b2db uxtb r3, r3 808e2bc: 461a mov r2, r3 808e2be: 4b3c ldr r3, [pc, #240] ; (808e3b0 ) 808e2c0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e2c4: 461a mov r2, r3 808e2c6: 21ba movs r1, #186 ; 0xba 808e2c8: f44f 7083 mov.w r0, #262 ; 0x106 808e2cc: f7c6 f832 bl 8054334 LCD_DisplayString(278, LCD_LINE_11, "."); 808e2d0: 4a39 ldr r2, [pc, #228] ; (808e3b8 ) 808e2d2: 21ba movs r1, #186 ; 0xba 808e2d4: f44f 708b mov.w r0, #278 ; 0x116 808e2d8: f7c6 f82c bl 8054334 808e2dc: e268 b.n 808e7b0 } else if(menupos == OscMax_IDT) 808e2de: 4b31 ldr r3, [pc, #196] ; (808e3a4 ) 808e2e0: 781b ldrb r3, [r3, #0] 808e2e2: b2db uxtb r3, r3 808e2e4: 2b0f cmp r3, #15 808e2e6: d169 bne.n 808e3bc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e2e8: 492f ldr r1, [pc, #188] ; (808e3a8 ) 808e2ea: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e2ee: f7c5 fa79 bl 80537e4 if(blk) 808e2f2: 4b2e ldr r3, [pc, #184] ; (808e3ac ) 808e2f4: 681b ldr r3, [r3, #0] 808e2f6: 2b00 cmp r3, #0 808e2f8: d00b beq.n 808e312 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808e2fa: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e2fe: b2db uxtb r3, r3 808e300: 461a mov r2, r3 808e302: 4b2b ldr r3, [pc, #172] ; (808e3b0 ) 808e304: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e308: 461a mov r2, r3 808e30a: 219a movs r1, #154 ; 0x9a 808e30c: 20c6 movs r0, #198 ; 0xc6 808e30e: f7c6 f811 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e312: 4925 ldr r1, [pc, #148] ; (808e3a8 ) 808e314: 4827 ldr r0, [pc, #156] ; (808e3b4 ) 808e316: f7c5 fa65 bl 80537e4 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808e31a: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e31e: b2db uxtb r3, r3 808e320: 461a mov r2, r3 808e322: 4b23 ldr r3, [pc, #140] ; (808e3b0 ) 808e324: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e328: 461a mov r2, r3 808e32a: 219a movs r1, #154 ; 0x9a 808e32c: 20d6 movs r0, #214 ; 0xd6 808e32e: f7c6 f801 bl 8054334 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808e332: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e336: b2db uxtb r3, r3 808e338: 461a mov r2, r3 808e33a: 4b1d ldr r3, [pc, #116] ; (808e3b0 ) 808e33c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e340: 461a mov r2, r3 808e342: 219a movs r1, #154 ; 0x9a 808e344: 20e6 movs r0, #230 ; 0xe6 808e346: f7c5 fff5 bl 8054334 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808e34a: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808e34e: b2db uxtb r3, r3 808e350: 461a mov r2, r3 808e352: 4b17 ldr r3, [pc, #92] ; (808e3b0 ) 808e354: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e358: 461a mov r2, r3 808e35a: 219a movs r1, #154 ; 0x9a 808e35c: 20f6 movs r0, #246 ; 0xf6 808e35e: f7c5 ffe9 bl 8054334 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808e362: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808e366: b2db uxtb r3, r3 808e368: 461a mov r2, r3 808e36a: 4b11 ldr r3, [pc, #68] ; (808e3b0 ) 808e36c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e370: 461a mov r2, r3 808e372: 219a movs r1, #154 ; 0x9a 808e374: f44f 7083 mov.w r0, #262 ; 0x106 808e378: f7c5 ffdc bl 8054334 LCD_DisplayString(278, LCD_LINE_9, "."); 808e37c: 4a0e ldr r2, [pc, #56] ; (808e3b8 ) 808e37e: 219a movs r1, #154 ; 0x9a 808e380: f44f 708b mov.w r0, #278 ; 0x116 808e384: f7c5 ffd6 bl 8054334 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808e388: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808e38c: b2db uxtb r3, r3 808e38e: 461a mov r2, r3 808e390: 4b07 ldr r3, [pc, #28] ; (808e3b0 ) 808e392: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e396: 461a mov r2, r3 808e398: 219a movs r1, #154 ; 0x9a 808e39a: f44f 7093 mov.w r0, #294 ; 0x126 808e39e: f7c5 ffc9 bl 8054334 808e3a2: e205 b.n 808e7b0 808e3a4: 20020070 .word 0x20020070 808e3a8: ff0a0f1f .word 0xff0a0f1f 808e3ac: 2002165c .word 0x2002165c 808e3b0: 20020964 .word 0x20020964 808e3b4: ffd8aa57 .word 0xffd8aa57 808e3b8: 080cf820 .word 0x080cf820 } else if(menupos == OscMax_IET) 808e3bc: 4bc5 ldr r3, [pc, #788] ; (808e6d4 ) 808e3be: 781b ldrb r3, [r3, #0] 808e3c0: b2db uxtb r3, r3 808e3c2: 2b10 cmp r3, #16 808e3c4: d15d bne.n 808e482 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e3c6: 49c4 ldr r1, [pc, #784] ; (808e6d8 ) 808e3c8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e3cc: f7c5 fa0a bl 80537e4 if(blk) 808e3d0: 4bc2 ldr r3, [pc, #776] ; (808e6dc ) 808e3d2: 681b ldr r3, [r3, #0] 808e3d4: 2b00 cmp r3, #0 808e3d6: d00b beq.n 808e3f0 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808e3d8: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e3dc: b2db uxtb r3, r3 808e3de: 461a mov r2, r3 808e3e0: 4bbf ldr r3, [pc, #764] ; (808e6e0 ) 808e3e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e3e6: 461a mov r2, r3 808e3e8: 219a movs r1, #154 ; 0x9a 808e3ea: 20d6 movs r0, #214 ; 0xd6 808e3ec: f7c5 ffa2 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e3f0: 49b9 ldr r1, [pc, #740] ; (808e6d8 ) 808e3f2: 48bc ldr r0, [pc, #752] ; (808e6e4 ) 808e3f4: f7c5 f9f6 bl 80537e4 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808e3f8: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e3fc: b2db uxtb r3, r3 808e3fe: 461a mov r2, r3 808e400: 4bb7 ldr r3, [pc, #732] ; (808e6e0 ) 808e402: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e406: 461a mov r2, r3 808e408: 219a movs r1, #154 ; 0x9a 808e40a: 20c6 movs r0, #198 ; 0xc6 808e40c: f7c5 ff92 bl 8054334 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808e410: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e414: b2db uxtb r3, r3 808e416: 461a mov r2, r3 808e418: 4bb1 ldr r3, [pc, #708] ; (808e6e0 ) 808e41a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e41e: 461a mov r2, r3 808e420: 219a movs r1, #154 ; 0x9a 808e422: 20e6 movs r0, #230 ; 0xe6 808e424: f7c5 ff86 bl 8054334 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808e428: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808e42c: b2db uxtb r3, r3 808e42e: 461a mov r2, r3 808e430: 4bab ldr r3, [pc, #684] ; (808e6e0 ) 808e432: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e436: 461a mov r2, r3 808e438: 219a movs r1, #154 ; 0x9a 808e43a: 20f6 movs r0, #246 ; 0xf6 808e43c: f7c5 ff7a bl 8054334 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808e440: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808e444: b2db uxtb r3, r3 808e446: 461a mov r2, r3 808e448: 4ba5 ldr r3, [pc, #660] ; (808e6e0 ) 808e44a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e44e: 461a mov r2, r3 808e450: 219a movs r1, #154 ; 0x9a 808e452: f44f 7083 mov.w r0, #262 ; 0x106 808e456: f7c5 ff6d bl 8054334 LCD_DisplayString(278, LCD_LINE_9, "."); 808e45a: 4aa3 ldr r2, [pc, #652] ; (808e6e8 ) 808e45c: 219a movs r1, #154 ; 0x9a 808e45e: f44f 708b mov.w r0, #278 ; 0x116 808e462: f7c5 ff67 bl 8054334 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808e466: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808e46a: b2db uxtb r3, r3 808e46c: 461a mov r2, r3 808e46e: 4b9c ldr r3, [pc, #624] ; (808e6e0 ) 808e470: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e474: 461a mov r2, r3 808e476: 219a movs r1, #154 ; 0x9a 808e478: f44f 7093 mov.w r0, #294 ; 0x126 808e47c: f7c5 ff5a bl 8054334 808e480: e196 b.n 808e7b0 } else if(menupos == OscMax_IES) 808e482: 4b94 ldr r3, [pc, #592] ; (808e6d4 ) 808e484: 781b ldrb r3, [r3, #0] 808e486: b2db uxtb r3, r3 808e488: 2b11 cmp r3, #17 808e48a: d15d bne.n 808e548 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e48c: 4992 ldr r1, [pc, #584] ; (808e6d8 ) 808e48e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e492: f7c5 f9a7 bl 80537e4 if(blk) 808e496: 4b91 ldr r3, [pc, #580] ; (808e6dc ) 808e498: 681b ldr r3, [r3, #0] 808e49a: 2b00 cmp r3, #0 808e49c: d00b beq.n 808e4b6 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808e49e: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e4a2: b2db uxtb r3, r3 808e4a4: 461a mov r2, r3 808e4a6: 4b8e ldr r3, [pc, #568] ; (808e6e0 ) 808e4a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e4ac: 461a mov r2, r3 808e4ae: 219a movs r1, #154 ; 0x9a 808e4b0: 20e6 movs r0, #230 ; 0xe6 808e4b2: f7c5 ff3f bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e4b6: 4988 ldr r1, [pc, #544] ; (808e6d8 ) 808e4b8: 488a ldr r0, [pc, #552] ; (808e6e4 ) 808e4ba: f7c5 f993 bl 80537e4 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808e4be: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e4c2: b2db uxtb r3, r3 808e4c4: 461a mov r2, r3 808e4c6: 4b86 ldr r3, [pc, #536] ; (808e6e0 ) 808e4c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e4cc: 461a mov r2, r3 808e4ce: 219a movs r1, #154 ; 0x9a 808e4d0: 20c6 movs r0, #198 ; 0xc6 808e4d2: f7c5 ff2f bl 8054334 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808e4d6: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e4da: b2db uxtb r3, r3 808e4dc: 461a mov r2, r3 808e4de: 4b80 ldr r3, [pc, #512] ; (808e6e0 ) 808e4e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e4e4: 461a mov r2, r3 808e4e6: 219a movs r1, #154 ; 0x9a 808e4e8: 20d6 movs r0, #214 ; 0xd6 808e4ea: f7c5 ff23 bl 8054334 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808e4ee: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808e4f2: b2db uxtb r3, r3 808e4f4: 461a mov r2, r3 808e4f6: 4b7a ldr r3, [pc, #488] ; (808e6e0 ) 808e4f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e4fc: 461a mov r2, r3 808e4fe: 219a movs r1, #154 ; 0x9a 808e500: 20f6 movs r0, #246 ; 0xf6 808e502: f7c5 ff17 bl 8054334 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808e506: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808e50a: b2db uxtb r3, r3 808e50c: 461a mov r2, r3 808e50e: 4b74 ldr r3, [pc, #464] ; (808e6e0 ) 808e510: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e514: 461a mov r2, r3 808e516: 219a movs r1, #154 ; 0x9a 808e518: f44f 7083 mov.w r0, #262 ; 0x106 808e51c: f7c5 ff0a bl 8054334 LCD_DisplayString(278, LCD_LINE_9, "."); 808e520: 4a71 ldr r2, [pc, #452] ; (808e6e8 ) 808e522: 219a movs r1, #154 ; 0x9a 808e524: f44f 708b mov.w r0, #278 ; 0x116 808e528: f7c5 ff04 bl 8054334 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808e52c: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808e530: b2db uxtb r3, r3 808e532: 461a mov r2, r3 808e534: 4b6a ldr r3, [pc, #424] ; (808e6e0 ) 808e536: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e53a: 461a mov r2, r3 808e53c: 219a movs r1, #154 ; 0x9a 808e53e: f44f 7093 mov.w r0, #294 ; 0x126 808e542: f7c5 fef7 bl 8054334 808e546: e133 b.n 808e7b0 } else if(menupos == OscMax_IED) 808e548: 4b62 ldr r3, [pc, #392] ; (808e6d4 ) 808e54a: 781b ldrb r3, [r3, #0] 808e54c: b2db uxtb r3, r3 808e54e: 2b12 cmp r3, #18 808e550: d15d bne.n 808e60e { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e552: 4961 ldr r1, [pc, #388] ; (808e6d8 ) 808e554: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e558: f7c5 f944 bl 80537e4 if(blk) 808e55c: 4b5f ldr r3, [pc, #380] ; (808e6dc ) 808e55e: 681b ldr r3, [r3, #0] 808e560: 2b00 cmp r3, #0 808e562: d00b beq.n 808e57c LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808e564: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808e568: b2db uxtb r3, r3 808e56a: 461a mov r2, r3 808e56c: 4b5c ldr r3, [pc, #368] ; (808e6e0 ) 808e56e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e572: 461a mov r2, r3 808e574: 219a movs r1, #154 ; 0x9a 808e576: 20f6 movs r0, #246 ; 0xf6 808e578: f7c5 fedc bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e57c: 4956 ldr r1, [pc, #344] ; (808e6d8 ) 808e57e: 4859 ldr r0, [pc, #356] ; (808e6e4 ) 808e580: f7c5 f930 bl 80537e4 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808e584: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e588: b2db uxtb r3, r3 808e58a: 461a mov r2, r3 808e58c: 4b54 ldr r3, [pc, #336] ; (808e6e0 ) 808e58e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e592: 461a mov r2, r3 808e594: 219a movs r1, #154 ; 0x9a 808e596: 20c6 movs r0, #198 ; 0xc6 808e598: f7c5 fecc bl 8054334 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808e59c: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e5a0: b2db uxtb r3, r3 808e5a2: 461a mov r2, r3 808e5a4: 4b4e ldr r3, [pc, #312] ; (808e6e0 ) 808e5a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e5aa: 461a mov r2, r3 808e5ac: 219a movs r1, #154 ; 0x9a 808e5ae: 20d6 movs r0, #214 ; 0xd6 808e5b0: f7c5 fec0 bl 8054334 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808e5b4: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e5b8: b2db uxtb r3, r3 808e5ba: 461a mov r2, r3 808e5bc: 4b48 ldr r3, [pc, #288] ; (808e6e0 ) 808e5be: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e5c2: 461a mov r2, r3 808e5c4: 219a movs r1, #154 ; 0x9a 808e5c6: 20e6 movs r0, #230 ; 0xe6 808e5c8: f7c5 feb4 bl 8054334 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808e5cc: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808e5d0: b2db uxtb r3, r3 808e5d2: 461a mov r2, r3 808e5d4: 4b42 ldr r3, [pc, #264] ; (808e6e0 ) 808e5d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e5da: 461a mov r2, r3 808e5dc: 219a movs r1, #154 ; 0x9a 808e5de: f44f 7083 mov.w r0, #262 ; 0x106 808e5e2: f7c5 fea7 bl 8054334 LCD_DisplayString(278, LCD_LINE_9, "."); 808e5e6: 4a40 ldr r2, [pc, #256] ; (808e6e8 ) 808e5e8: 219a movs r1, #154 ; 0x9a 808e5ea: f44f 708b mov.w r0, #278 ; 0x116 808e5ee: f7c5 fea1 bl 8054334 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808e5f2: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808e5f6: b2db uxtb r3, r3 808e5f8: 461a mov r2, r3 808e5fa: 4b39 ldr r3, [pc, #228] ; (808e6e0 ) 808e5fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e600: 461a mov r2, r3 808e602: 219a movs r1, #154 ; 0x9a 808e604: f44f 7093 mov.w r0, #294 ; 0x126 808e608: f7c5 fe94 bl 8054334 808e60c: e0d0 b.n 808e7b0 } else if(menupos == OscMax_IEE) 808e60e: 4b31 ldr r3, [pc, #196] ; (808e6d4 ) 808e610: 781b ldrb r3, [r3, #0] 808e612: b2db uxtb r3, r3 808e614: 2b13 cmp r3, #19 808e616: d169 bne.n 808e6ec { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e618: 492f ldr r1, [pc, #188] ; (808e6d8 ) 808e61a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e61e: f7c5 f8e1 bl 80537e4 if(blk) 808e622: 4b2e ldr r3, [pc, #184] ; (808e6dc ) 808e624: 681b ldr r3, [r3, #0] 808e626: 2b00 cmp r3, #0 808e628: d00c beq.n 808e644 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808e62a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808e62e: b2db uxtb r3, r3 808e630: 461a mov r2, r3 808e632: 4b2b ldr r3, [pc, #172] ; (808e6e0 ) 808e634: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e638: 461a mov r2, r3 808e63a: 219a movs r1, #154 ; 0x9a 808e63c: f44f 7083 mov.w r0, #262 ; 0x106 808e640: f7c5 fe78 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e644: 4924 ldr r1, [pc, #144] ; (808e6d8 ) 808e646: 4827 ldr r0, [pc, #156] ; (808e6e4 ) 808e648: f7c5 f8cc bl 80537e4 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808e64c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e650: b2db uxtb r3, r3 808e652: 461a mov r2, r3 808e654: 4b22 ldr r3, [pc, #136] ; (808e6e0 ) 808e656: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e65a: 461a mov r2, r3 808e65c: 219a movs r1, #154 ; 0x9a 808e65e: 20c6 movs r0, #198 ; 0xc6 808e660: f7c5 fe68 bl 8054334 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808e664: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e668: b2db uxtb r3, r3 808e66a: 461a mov r2, r3 808e66c: 4b1c ldr r3, [pc, #112] ; (808e6e0 ) 808e66e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e672: 461a mov r2, r3 808e674: 219a movs r1, #154 ; 0x9a 808e676: 20d6 movs r0, #214 ; 0xd6 808e678: f7c5 fe5c bl 8054334 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808e67c: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e680: b2db uxtb r3, r3 808e682: 461a mov r2, r3 808e684: 4b16 ldr r3, [pc, #88] ; (808e6e0 ) 808e686: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e68a: 461a mov r2, r3 808e68c: 219a movs r1, #154 ; 0x9a 808e68e: 20e6 movs r0, #230 ; 0xe6 808e690: f7c5 fe50 bl 8054334 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808e694: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808e698: b2db uxtb r3, r3 808e69a: 461a mov r2, r3 808e69c: 4b10 ldr r3, [pc, #64] ; (808e6e0 ) 808e69e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e6a2: 461a mov r2, r3 808e6a4: 219a movs r1, #154 ; 0x9a 808e6a6: 20f6 movs r0, #246 ; 0xf6 808e6a8: f7c5 fe44 bl 8054334 LCD_DisplayString(278, LCD_LINE_9, "."); 808e6ac: 4a0e ldr r2, [pc, #56] ; (808e6e8 ) 808e6ae: 219a movs r1, #154 ; 0x9a 808e6b0: f44f 708b mov.w r0, #278 ; 0x116 808e6b4: f7c5 fe3e bl 8054334 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808e6b8: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808e6bc: b2db uxtb r3, r3 808e6be: 461a mov r2, r3 808e6c0: 4b07 ldr r3, [pc, #28] ; (808e6e0 ) 808e6c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e6c6: 461a mov r2, r3 808e6c8: 219a movs r1, #154 ; 0x9a 808e6ca: f44f 7093 mov.w r0, #294 ; 0x126 808e6ce: f7c5 fe31 bl 8054334 808e6d2: e06d b.n 808e7b0 808e6d4: 20020070 .word 0x20020070 808e6d8: ff0a0f1f .word 0xff0a0f1f 808e6dc: 2002165c .word 0x2002165c 808e6e0: 20020964 .word 0x20020964 808e6e4: ffd8aa57 .word 0xffd8aa57 808e6e8: 080cf820 .word 0x080cf820 } else if(menupos == OscMax_IKD) 808e6ec: 4b8e ldr r3, [pc, #568] ; (808e928 ) 808e6ee: 781b ldrb r3, [r3, #0] 808e6f0: b2db uxtb r3, r3 808e6f2: 2b14 cmp r3, #20 808e6f4: d15c bne.n 808e7b0 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e6f6: 498d ldr r1, [pc, #564] ; (808e92c ) 808e6f8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e6fc: f7c5 f872 bl 80537e4 if(blk) 808e700: 4b8b ldr r3, [pc, #556] ; (808e930 ) 808e702: 681b ldr r3, [r3, #0] 808e704: 2b00 cmp r3, #0 808e706: d00c beq.n 808e722 LCD_DisplayString(294, LCD_LINE_9, (char *) pNUMS[ikd2]); 808e708: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 808e70c: b2db uxtb r3, r3 808e70e: 461a mov r2, r3 808e710: 4b88 ldr r3, [pc, #544] ; (808e934 ) 808e712: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e716: 461a mov r2, r3 808e718: 219a movs r1, #154 ; 0x9a 808e71a: f44f 7093 mov.w r0, #294 ; 0x126 808e71e: f7c5 fe09 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808e722: 4982 ldr r1, [pc, #520] ; (808e92c ) 808e724: 4884 ldr r0, [pc, #528] ; (808e938 ) 808e726: f7c5 f85d bl 80537e4 LCD_DisplayString(198, LCD_LINE_9, (char *) pNUMS[idt2]); 808e72a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e72e: b2db uxtb r3, r3 808e730: 461a mov r2, r3 808e732: 4b80 ldr r3, [pc, #512] ; (808e934 ) 808e734: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e738: 461a mov r2, r3 808e73a: 219a movs r1, #154 ; 0x9a 808e73c: 20c6 movs r0, #198 ; 0xc6 808e73e: f7c5 fdf9 bl 8054334 LCD_DisplayString(214, LCD_LINE_9, (char *) pNUMS[iet2]); 808e742: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e746: b2db uxtb r3, r3 808e748: 461a mov r2, r3 808e74a: 4b7a ldr r3, [pc, #488] ; (808e934 ) 808e74c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e750: 461a mov r2, r3 808e752: 219a movs r1, #154 ; 0x9a 808e754: 20d6 movs r0, #214 ; 0xd6 808e756: f7c5 fded bl 8054334 LCD_DisplayString(230, LCD_LINE_9, (char *) pNUMS[ies2]); 808e75a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e75e: b2db uxtb r3, r3 808e760: 461a mov r2, r3 808e762: 4b74 ldr r3, [pc, #464] ; (808e934 ) 808e764: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e768: 461a mov r2, r3 808e76a: 219a movs r1, #154 ; 0x9a 808e76c: 20e6 movs r0, #230 ; 0xe6 808e76e: f7c5 fde1 bl 8054334 LCD_DisplayString(246, LCD_LINE_9, (char *) pNUMS[ied2]); 808e772: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808e776: b2db uxtb r3, r3 808e778: 461a mov r2, r3 808e77a: 4b6e ldr r3, [pc, #440] ; (808e934 ) 808e77c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e780: 461a mov r2, r3 808e782: 219a movs r1, #154 ; 0x9a 808e784: 20f6 movs r0, #246 ; 0xf6 808e786: f7c5 fdd5 bl 8054334 LCD_DisplayString(262, LCD_LINE_9, (char *) pNUMS[iee2]); 808e78a: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 808e78e: b2db uxtb r3, r3 808e790: 461a mov r2, r3 808e792: 4b68 ldr r3, [pc, #416] ; (808e934 ) 808e794: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808e798: 461a mov r2, r3 808e79a: 219a movs r1, #154 ; 0x9a 808e79c: f44f 7083 mov.w r0, #262 ; 0x106 808e7a0: f7c5 fdc8 bl 8054334 LCD_DisplayString(278, LCD_LINE_9, "."); 808e7a4: 4a65 ldr r2, [pc, #404] ; (808e93c ) 808e7a6: 219a movs r1, #154 ; 0x9a 808e7a8: f44f 708b mov.w r0, #278 ; 0x116 808e7ac: f7c5 fdc2 bl 8054334 } if((menupos < OscThr_IDT) || (menupos > OscThr_IKD)) 808e7b0: 4b5d ldr r3, [pc, #372] ; (808e928 ) 808e7b2: 781b ldrb r3, [r3, #0] 808e7b4: b2db uxtb r3, r3 808e7b6: 2b08 cmp r3, #8 808e7b8: d905 bls.n 808e7c6 808e7ba: 4b5b ldr r3, [pc, #364] ; (808e928 ) 808e7bc: 781b ldrb r3, [r3, #0] 808e7be: b2db uxtb r3, r3 808e7c0: 2b0e cmp r3, #14 808e7c2: f240 80ce bls.w 808e962 { i = 0; 808e7c6: 2300 movs r3, #0 808e7c8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str, 0, sizeof(str)); 808e7cc: f507 733b add.w r3, r7, #748 ; 0x2ec 808e7d0: 223c movs r2, #60 ; 0x3c 808e7d2: 2100 movs r1, #0 808e7d4: 4618 mov r0, r3 808e7d6: f03e fc53 bl 80cd080 if(idt != 0) 808e7da: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e7de: b2db uxtb r3, r3 808e7e0: 2b00 cmp r3, #0 808e7e2: d00c beq.n 808e7fe str[i++] = idt + 48; 808e7e4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e7e8: 1c5a adds r2, r3, #1 808e7ea: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e7ee: f897 23e7 ldrb.w r2, [r7, #999] ; 0x3e7 808e7f2: b2d2 uxtb r2, r2 808e7f4: 3230 adds r2, #48 ; 0x30 808e7f6: b2d1 uxtb r1, r2 808e7f8: f507 723b add.w r2, r7, #748 ; 0x2ec 808e7fc: 54d1 strb r1, [r2, r3] if((iet != 0) || (idt != 0)) 808e7fe: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808e802: b2db uxtb r3, r3 808e804: 2b00 cmp r3, #0 808e806: d104 bne.n 808e812 808e808: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e80c: b2db uxtb r3, r3 808e80e: 2b00 cmp r3, #0 808e810: d00c beq.n 808e82c str[i++] = iet + 48; 808e812: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e816: 1c5a adds r2, r3, #1 808e818: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e81c: f897 23e6 ldrb.w r2, [r7, #998] ; 0x3e6 808e820: b2d2 uxtb r2, r2 808e822: 3230 adds r2, #48 ; 0x30 808e824: b2d1 uxtb r1, r2 808e826: f507 723b add.w r2, r7, #748 ; 0x2ec 808e82a: 54d1 strb r1, [r2, r3] if((ies != 0) || (iet != 0) || (idt != 0)) 808e82c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808e830: b2db uxtb r3, r3 808e832: 2b00 cmp r3, #0 808e834: d109 bne.n 808e84a 808e836: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808e83a: b2db uxtb r3, r3 808e83c: 2b00 cmp r3, #0 808e83e: d104 bne.n 808e84a 808e840: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e844: b2db uxtb r3, r3 808e846: 2b00 cmp r3, #0 808e848: d00c beq.n 808e864 str[i++] = ies + 48; 808e84a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e84e: 1c5a adds r2, r3, #1 808e850: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e854: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 808e858: b2d2 uxtb r2, r2 808e85a: 3230 adds r2, #48 ; 0x30 808e85c: b2d1 uxtb r1, r2 808e85e: f507 723b add.w r2, r7, #748 ; 0x2ec 808e862: 54d1 strb r1, [r2, r3] if((ied != 0) || (ies != 0) || (iet != 0) || (idt != 0)) 808e864: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808e868: b2db uxtb r3, r3 808e86a: 2b00 cmp r3, #0 808e86c: d10e bne.n 808e88c 808e86e: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808e872: b2db uxtb r3, r3 808e874: 2b00 cmp r3, #0 808e876: d109 bne.n 808e88c 808e878: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808e87c: b2db uxtb r3, r3 808e87e: 2b00 cmp r3, #0 808e880: d104 bne.n 808e88c 808e882: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808e886: b2db uxtb r3, r3 808e888: 2b00 cmp r3, #0 808e88a: d00c beq.n 808e8a6 str[i++] = ied + 48; 808e88c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e890: 1c5a adds r2, r3, #1 808e892: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e896: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 808e89a: b2d2 uxtb r2, r2 808e89c: 3230 adds r2, #48 ; 0x30 808e89e: b2d1 uxtb r1, r2 808e8a0: f507 723b add.w r2, r7, #748 ; 0x2ec 808e8a4: 54d1 strb r1, [r2, r3] str[i++] = iee + 48; 808e8a6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e8aa: 1c5a adds r2, r3, #1 808e8ac: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e8b0: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 808e8b4: b2d2 uxtb r2, r2 808e8b6: 3230 adds r2, #48 ; 0x30 808e8b8: b2d1 uxtb r1, r2 808e8ba: f507 723b add.w r2, r7, #748 ; 0x2ec 808e8be: 54d1 strb r1, [r2, r3] str[i++] = '.'; 808e8c0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e8c4: 1c5a adds r2, r3, #1 808e8c6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e8ca: f507 723b add.w r2, r7, #748 ; 0x2ec 808e8ce: 212e movs r1, #46 ; 0x2e 808e8d0: 54d1 strb r1, [r2, r3] str[i++] = ikd + 48; 808e8d2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e8d6: 1c5a adds r2, r3, #1 808e8d8: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e8dc: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 808e8e0: b2d2 uxtb r2, r2 808e8e2: 3230 adds r2, #48 ; 0x30 808e8e4: b2d1 uxtb r1, r2 808e8e6: f507 723b add.w r2, r7, #748 ; 0x2ec 808e8ea: 54d1 strb r1, [r2, r3] if((pardata.THR & 0x80) && (pardata.IPR == ACC)) 808e8ec: 4b14 ldr r3, [pc, #80] ; (808e940 ) 808e8ee: 7bdb ldrb r3, [r3, #15] 808e8f0: b2db uxtb r3, r3 808e8f2: b25b sxtb r3, r3 808e8f4: 2b00 cmp r3, #0 808e8f6: da08 bge.n 808e90a 808e8f8: 4b11 ldr r3, [pc, #68] ; (808e940 ) 808e8fa: 785b ldrb r3, [r3, #1] 808e8fc: b2db uxtb r3, r3 808e8fe: 2b00 cmp r3, #0 808e900: d103 bne.n 808e90a cl2 = LCD_COLOR_MY_YELLOW; 808e902: 4b0d ldr r3, [pc, #52] ; (808e938 ) 808e904: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808e908: e002 b.n 808e910 else cl2 = LCD_COLOR_GRAY; 808e90a: 4b0e ldr r3, [pc, #56] ; (808e944 ) 808e90c: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == OscThr_ALL) 808e910: 4b05 ldr r3, [pc, #20] ; (808e928 ) 808e912: 781b ldrb r3, [r3, #0] 808e914: b2db uxtb r3, r3 808e916: 2b08 cmp r3, #8 808e918: d116 bne.n 808e948 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808e91a: 4904 ldr r1, [pc, #16] ; (808e92c ) 808e91c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808e920: f7c4 ff60 bl 80537e4 808e924: e015 b.n 808e952 808e926: bf00 nop 808e928: 20020070 .word 0x20020070 808e92c: ff0a0f1f .word 0xff0a0f1f 808e930: 2002165c .word 0x2002165c 808e934: 20020964 .word 0x20020964 808e938: ffd8aa57 .word 0xffd8aa57 808e93c: 080cf820 .word 0x080cf820 808e940: 20023e60 .word 0x20023e60 808e944: ff808080 .word 0xff808080 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808e948: 49a4 ldr r1, [pc, #656] ; (808ebdc ) 808e94a: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808e94e: f7c4 ff49 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_11, str); 808e952: f507 733b add.w r3, r7, #748 ; 0x2ec 808e956: 461a mov r2, r3 808e958: 21ba movs r1, #186 ; 0xba 808e95a: f44f 7082 mov.w r0, #260 ; 0x104 808e95e: f7c5 fd01 bl 8054364 } if((menupos < OscMax_IDT) || (menupos == Ok) || (menupos >= FilterHP)) 808e962: 4b9f ldr r3, [pc, #636] ; (808ebe0 ) 808e964: 781b ldrb r3, [r3, #0] 808e966: b2db uxtb r3, r3 808e968: 2b0e cmp r3, #14 808e96a: d90a bls.n 808e982 808e96c: 4b9c ldr r3, [pc, #624] ; (808ebe0 ) 808e96e: 781b ldrb r3, [r3, #0] 808e970: b2db uxtb r3, r3 808e972: 2b00 cmp r3, #0 808e974: d005 beq.n 808e982 808e976: 4b9a ldr r3, [pc, #616] ; (808ebe0 ) 808e978: 781b ldrb r3, [r3, #0] 808e97a: b2db uxtb r3, r3 808e97c: 2b16 cmp r3, #22 808e97e: f240 80b9 bls.w 808eaf4 { i = 0; 808e982: 2300 movs r3, #0 808e984: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(str2, 0, sizeof(str2)); 808e988: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808e98c: 223c movs r2, #60 ; 0x3c 808e98e: 2100 movs r1, #0 808e990: 4618 mov r0, r3 808e992: f03e fb75 bl 80cd080 if(idt2 != 0) 808e996: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e99a: b2db uxtb r3, r3 808e99c: 2b00 cmp r3, #0 808e99e: d00c beq.n 808e9ba str2[i++] = idt2 + 48; 808e9a0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e9a4: 1c5a adds r2, r3, #1 808e9a6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e9aa: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 808e9ae: b2d2 uxtb r2, r2 808e9b0: 3230 adds r2, #48 ; 0x30 808e9b2: b2d1 uxtb r1, r2 808e9b4: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e9b8: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 808e9ba: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e9be: b2db uxtb r3, r3 808e9c0: 2b00 cmp r3, #0 808e9c2: d104 bne.n 808e9ce 808e9c4: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808e9c8: b2db uxtb r3, r3 808e9ca: 2b00 cmp r3, #0 808e9cc: d00c beq.n 808e9e8 str2[i++] = iet2 + 48; 808e9ce: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808e9d2: 1c5a adds r2, r3, #1 808e9d4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808e9d8: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 808e9dc: b2d2 uxtb r2, r2 808e9de: 3230 adds r2, #48 ; 0x30 808e9e0: b2d1 uxtb r1, r2 808e9e2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808e9e6: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808e9e8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808e9ec: b2db uxtb r3, r3 808e9ee: 2b00 cmp r3, #0 808e9f0: d109 bne.n 808ea06 808e9f2: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808e9f6: b2db uxtb r3, r3 808e9f8: 2b00 cmp r3, #0 808e9fa: d104 bne.n 808ea06 808e9fc: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808ea00: b2db uxtb r3, r3 808ea02: 2b00 cmp r3, #0 808ea04: d00c beq.n 808ea20 str2[i++] = ies2 + 48; 808ea06: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ea0a: 1c5a adds r2, r3, #1 808ea0c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ea10: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 808ea14: b2d2 uxtb r2, r2 808ea16: 3230 adds r2, #48 ; 0x30 808ea18: b2d1 uxtb r1, r2 808ea1a: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808ea1e: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808ea20: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808ea24: b2db uxtb r3, r3 808ea26: 2b00 cmp r3, #0 808ea28: d10e bne.n 808ea48 808ea2a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808ea2e: b2db uxtb r3, r3 808ea30: 2b00 cmp r3, #0 808ea32: d109 bne.n 808ea48 808ea34: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808ea38: b2db uxtb r3, r3 808ea3a: 2b00 cmp r3, #0 808ea3c: d104 bne.n 808ea48 808ea3e: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808ea42: b2db uxtb r3, r3 808ea44: 2b00 cmp r3, #0 808ea46: d00c beq.n 808ea62 str2[i++] = ied2 + 48; 808ea48: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ea4c: 1c5a adds r2, r3, #1 808ea4e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ea52: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 808ea56: b2d2 uxtb r2, r2 808ea58: 3230 adds r2, #48 ; 0x30 808ea5a: b2d1 uxtb r1, r2 808ea5c: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808ea60: 54d1 strb r1, [r2, r3] str2[i++] = iee2 + 48; 808ea62: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ea66: 1c5a adds r2, r3, #1 808ea68: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ea6c: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 808ea70: b2d2 uxtb r2, r2 808ea72: 3230 adds r2, #48 ; 0x30 808ea74: b2d1 uxtb r1, r2 808ea76: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808ea7a: 54d1 strb r1, [r2, r3] str2[i++] = '.'; 808ea7c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ea80: 1c5a adds r2, r3, #1 808ea82: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ea86: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808ea8a: 212e movs r1, #46 ; 0x2e 808ea8c: 54d1 strb r1, [r2, r3] str2[i++] = ikd2 + 48; 808ea8e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ea92: 1c5a adds r2, r3, #1 808ea94: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ea98: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 808ea9c: b2d2 uxtb r2, r2 808ea9e: 3230 adds r2, #48 ; 0x30 808eaa0: b2d1 uxtb r1, r2 808eaa2: f507 72d8 add.w r2, r7, #432 ; 0x1b0 808eaa6: 54d1 strb r1, [r2, r3] if(pardata.OPTIONS & 0x4) 808eaa8: 4b4e ldr r3, [pc, #312] ; (808ebe4 ) 808eaaa: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 808eaae: f003 0304 and.w r3, r3, #4 808eab2: 2b00 cmp r3, #0 808eab4: d003 beq.n 808eabe cl2 = LCD_COLOR_GRAY; 808eab6: 4b4c ldr r3, [pc, #304] ; (808ebe8 ) 808eab8: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 808eabc: e002 b.n 808eac4 else cl2 = LCD_COLOR_MY_YELLOW; 808eabe: 4b4b ldr r3, [pc, #300] ; (808ebec ) 808eac0: f8c7 3454 str.w r3, [r7, #1108] ; 0x454 if(menupos == OscMax_ALL) 808eac4: 4b46 ldr r3, [pc, #280] ; (808ebe0 ) 808eac6: 781b ldrb r3, [r3, #0] 808eac8: b2db uxtb r3, r3 808eaca: 2b06 cmp r3, #6 808eacc: d105 bne.n 808eada LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808eace: 4943 ldr r1, [pc, #268] ; (808ebdc ) 808ead0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ead4: f7c4 fe86 bl 80537e4 808ead8: e004 b.n 808eae4 else LCD_SetColors(cl2, LCD_COLOR_BLACK); 808eada: 4940 ldr r1, [pc, #256] ; (808ebdc ) 808eadc: f8d7 0454 ldr.w r0, [r7, #1108] ; 0x454 808eae0: f7c4 fe80 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_9, str2); 808eae4: f507 73d8 add.w r3, r7, #432 ; 0x1b0 808eae8: 461a mov r2, r3 808eaea: 219a movs r1, #154 ; 0x9a 808eaec: f44f 7082 mov.w r0, #260 ; 0x104 808eaf0: f7c5 fc38 bl 8054364 } if(pardata.THR & 0x80) // Åñëè ïîðîã åíåéáëåä // 808eaf4: 4b3b ldr r3, [pc, #236] ; (808ebe4 ) 808eaf6: 7bdb ldrb r3, [r3, #15] 808eaf8: b2db uxtb r3, r3 808eafa: b25b sxtb r3, r3 808eafc: 2b00 cmp r3, #0 808eafe: da0a bge.n 808eb16 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 808eb00: 4936 ldr r1, [pc, #216] ; (808ebdc ) 808eb02: 483b ldr r0, [pc, #236] ; (808ebf0 ) 808eb04: f7c4 fe6e bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_10+2, 6, 6); 808eb08: 2306 movs r3, #6 808eb0a: 2206 movs r2, #6 808eb0c: 21af movs r1, #175 ; 0xaf 808eb0e: f240 1001 movw r0, #257 ; 0x101 808eb12: f7c5 faf5 bl 8054100 } if(menupos == FilterHP_IDT) 808eb16: 4b32 ldr r3, [pc, #200] ; (808ebe0 ) 808eb18: 781b ldrb r3, [r3, #0] 808eb1a: b2db uxtb r3, r3 808eb1c: 2b19 cmp r3, #25 808eb1e: d16f bne.n 808ec00 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808eb20: 492e ldr r1, [pc, #184] ; (808ebdc ) 808eb22: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808eb26: f7c4 fe5d bl 80537e4 if(blk) 808eb2a: 4b32 ldr r3, [pc, #200] ; (808ebf4 ) 808eb2c: 681b ldr r3, [r3, #0] 808eb2e: 2b00 cmp r3, #0 808eb30: d00b beq.n 808eb4a LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808eb32: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808eb36: b2db uxtb r3, r3 808eb38: 461a mov r2, r3 808eb3a: 4b2f ldr r3, [pc, #188] ; (808ebf8 ) 808eb3c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eb40: 461a mov r2, r3 808eb42: 214a movs r1, #74 ; 0x4a 808eb44: 20c6 movs r0, #198 ; 0xc6 808eb46: f7c5 fbf5 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808eb4a: 4924 ldr r1, [pc, #144] ; (808ebdc ) 808eb4c: 4827 ldr r0, [pc, #156] ; (808ebec ) 808eb4e: f7c4 fe49 bl 80537e4 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808eb52: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808eb56: b2db uxtb r3, r3 808eb58: 461a mov r2, r3 808eb5a: 4b27 ldr r3, [pc, #156] ; (808ebf8 ) 808eb5c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eb60: 461a mov r2, r3 808eb62: 214a movs r1, #74 ; 0x4a 808eb64: 20d6 movs r0, #214 ; 0xd6 808eb66: f7c5 fbe5 bl 8054334 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808eb6a: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808eb6e: b2db uxtb r3, r3 808eb70: 461a mov r2, r3 808eb72: 4b21 ldr r3, [pc, #132] ; (808ebf8 ) 808eb74: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eb78: 461a mov r2, r3 808eb7a: 214a movs r1, #74 ; 0x4a 808eb7c: 20e6 movs r0, #230 ; 0xe6 808eb7e: f7c5 fbd9 bl 8054334 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808eb82: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808eb86: b2db uxtb r3, r3 808eb88: 461a mov r2, r3 808eb8a: 4b1b ldr r3, [pc, #108] ; (808ebf8 ) 808eb8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eb90: 461a mov r2, r3 808eb92: 214a movs r1, #74 ; 0x4a 808eb94: 20f6 movs r0, #246 ; 0xf6 808eb96: f7c5 fbcd bl 8054334 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808eb9a: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808eb9e: b2db uxtb r3, r3 808eba0: 461a mov r2, r3 808eba2: 4b15 ldr r3, [pc, #84] ; (808ebf8 ) 808eba4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eba8: 461a mov r2, r3 808ebaa: 214a movs r1, #74 ; 0x4a 808ebac: f44f 7083 mov.w r0, #262 ; 0x106 808ebb0: f7c5 fbc0 bl 8054334 LCD_DisplayString(278, LCD_LINE_4, "."); 808ebb4: 4a11 ldr r2, [pc, #68] ; (808ebfc ) 808ebb6: 214a movs r1, #74 ; 0x4a 808ebb8: f44f 708b mov.w r0, #278 ; 0x116 808ebbc: f7c5 fbba bl 8054334 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808ebc0: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808ebc4: b2db uxtb r3, r3 808ebc6: 461a mov r2, r3 808ebc8: 4b0b ldr r3, [pc, #44] ; (808ebf8 ) 808ebca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ebce: 461a mov r2, r3 808ebd0: 214a movs r1, #74 ; 0x4a 808ebd2: f44f 7093 mov.w r0, #294 ; 0x126 808ebd6: f7c5 fbad bl 8054334 808ebda: e20b b.n 808eff4 808ebdc: ff0a0f1f .word 0xff0a0f1f 808ebe0: 20020070 .word 0x20020070 808ebe4: 20023e60 .word 0x20023e60 808ebe8: ff808080 .word 0xff808080 808ebec: ffd8aa57 .word 0xffd8aa57 808ebf0: ff404040 .word 0xff404040 808ebf4: 2002165c .word 0x2002165c 808ebf8: 20020964 .word 0x20020964 808ebfc: 080cf820 .word 0x080cf820 } else if(menupos == FilterHP_IET) 808ec00: 4bc5 ldr r3, [pc, #788] ; (808ef18 ) 808ec02: 781b ldrb r3, [r3, #0] 808ec04: b2db uxtb r3, r3 808ec06: 2b1a cmp r3, #26 808ec08: d15d bne.n 808ecc6 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ec0a: 49c4 ldr r1, [pc, #784] ; (808ef1c ) 808ec0c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ec10: f7c4 fde8 bl 80537e4 if(blk) 808ec14: 4bc2 ldr r3, [pc, #776] ; (808ef20 ) 808ec16: 681b ldr r3, [r3, #0] 808ec18: 2b00 cmp r3, #0 808ec1a: d00b beq.n 808ec34 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808ec1c: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808ec20: b2db uxtb r3, r3 808ec22: 461a mov r2, r3 808ec24: 4bbf ldr r3, [pc, #764] ; (808ef24 ) 808ec26: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ec2a: 461a mov r2, r3 808ec2c: 214a movs r1, #74 ; 0x4a 808ec2e: 20d6 movs r0, #214 ; 0xd6 808ec30: f7c5 fb80 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ec34: 49b9 ldr r1, [pc, #740] ; (808ef1c ) 808ec36: 48bc ldr r0, [pc, #752] ; (808ef28 ) 808ec38: f7c4 fdd4 bl 80537e4 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808ec3c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ec40: b2db uxtb r3, r3 808ec42: 461a mov r2, r3 808ec44: 4bb7 ldr r3, [pc, #732] ; (808ef24 ) 808ec46: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ec4a: 461a mov r2, r3 808ec4c: 214a movs r1, #74 ; 0x4a 808ec4e: 20c6 movs r0, #198 ; 0xc6 808ec50: f7c5 fb70 bl 8054334 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808ec54: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808ec58: b2db uxtb r3, r3 808ec5a: 461a mov r2, r3 808ec5c: 4bb1 ldr r3, [pc, #708] ; (808ef24 ) 808ec5e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ec62: 461a mov r2, r3 808ec64: 214a movs r1, #74 ; 0x4a 808ec66: 20e6 movs r0, #230 ; 0xe6 808ec68: f7c5 fb64 bl 8054334 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808ec6c: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808ec70: b2db uxtb r3, r3 808ec72: 461a mov r2, r3 808ec74: 4bab ldr r3, [pc, #684] ; (808ef24 ) 808ec76: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ec7a: 461a mov r2, r3 808ec7c: 214a movs r1, #74 ; 0x4a 808ec7e: 20f6 movs r0, #246 ; 0xf6 808ec80: f7c5 fb58 bl 8054334 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808ec84: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808ec88: b2db uxtb r3, r3 808ec8a: 461a mov r2, r3 808ec8c: 4ba5 ldr r3, [pc, #660] ; (808ef24 ) 808ec8e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ec92: 461a mov r2, r3 808ec94: 214a movs r1, #74 ; 0x4a 808ec96: f44f 7083 mov.w r0, #262 ; 0x106 808ec9a: f7c5 fb4b bl 8054334 LCD_DisplayString(278, LCD_LINE_4, "."); 808ec9e: 4aa3 ldr r2, [pc, #652] ; (808ef2c ) 808eca0: 214a movs r1, #74 ; 0x4a 808eca2: f44f 708b mov.w r0, #278 ; 0x116 808eca6: f7c5 fb45 bl 8054334 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808ecaa: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808ecae: b2db uxtb r3, r3 808ecb0: 461a mov r2, r3 808ecb2: 4b9c ldr r3, [pc, #624] ; (808ef24 ) 808ecb4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ecb8: 461a mov r2, r3 808ecba: 214a movs r1, #74 ; 0x4a 808ecbc: f44f 7093 mov.w r0, #294 ; 0x126 808ecc0: f7c5 fb38 bl 8054334 808ecc4: e196 b.n 808eff4 } else if(menupos == FilterHP_IES) 808ecc6: 4b94 ldr r3, [pc, #592] ; (808ef18 ) 808ecc8: 781b ldrb r3, [r3, #0] 808ecca: b2db uxtb r3, r3 808eccc: 2b1b cmp r3, #27 808ecce: d15d bne.n 808ed8c { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ecd0: 4992 ldr r1, [pc, #584] ; (808ef1c ) 808ecd2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ecd6: f7c4 fd85 bl 80537e4 if(blk) 808ecda: 4b91 ldr r3, [pc, #580] ; (808ef20 ) 808ecdc: 681b ldr r3, [r3, #0] 808ecde: 2b00 cmp r3, #0 808ece0: d00b beq.n 808ecfa LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808ece2: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808ece6: b2db uxtb r3, r3 808ece8: 461a mov r2, r3 808ecea: 4b8e ldr r3, [pc, #568] ; (808ef24 ) 808ecec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ecf0: 461a mov r2, r3 808ecf2: 214a movs r1, #74 ; 0x4a 808ecf4: 20e6 movs r0, #230 ; 0xe6 808ecf6: f7c5 fb1d bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ecfa: 4988 ldr r1, [pc, #544] ; (808ef1c ) 808ecfc: 488a ldr r0, [pc, #552] ; (808ef28 ) 808ecfe: f7c4 fd71 bl 80537e4 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808ed02: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ed06: b2db uxtb r3, r3 808ed08: 461a mov r2, r3 808ed0a: 4b86 ldr r3, [pc, #536] ; (808ef24 ) 808ed0c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ed10: 461a mov r2, r3 808ed12: 214a movs r1, #74 ; 0x4a 808ed14: 20c6 movs r0, #198 ; 0xc6 808ed16: f7c5 fb0d bl 8054334 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808ed1a: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808ed1e: b2db uxtb r3, r3 808ed20: 461a mov r2, r3 808ed22: 4b80 ldr r3, [pc, #512] ; (808ef24 ) 808ed24: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ed28: 461a mov r2, r3 808ed2a: 214a movs r1, #74 ; 0x4a 808ed2c: 20d6 movs r0, #214 ; 0xd6 808ed2e: f7c5 fb01 bl 8054334 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808ed32: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808ed36: b2db uxtb r3, r3 808ed38: 461a mov r2, r3 808ed3a: 4b7a ldr r3, [pc, #488] ; (808ef24 ) 808ed3c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ed40: 461a mov r2, r3 808ed42: 214a movs r1, #74 ; 0x4a 808ed44: 20f6 movs r0, #246 ; 0xf6 808ed46: f7c5 faf5 bl 8054334 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808ed4a: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808ed4e: b2db uxtb r3, r3 808ed50: 461a mov r2, r3 808ed52: 4b74 ldr r3, [pc, #464] ; (808ef24 ) 808ed54: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ed58: 461a mov r2, r3 808ed5a: 214a movs r1, #74 ; 0x4a 808ed5c: f44f 7083 mov.w r0, #262 ; 0x106 808ed60: f7c5 fae8 bl 8054334 LCD_DisplayString(278, LCD_LINE_4, "."); 808ed64: 4a71 ldr r2, [pc, #452] ; (808ef2c ) 808ed66: 214a movs r1, #74 ; 0x4a 808ed68: f44f 708b mov.w r0, #278 ; 0x116 808ed6c: f7c5 fae2 bl 8054334 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808ed70: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808ed74: b2db uxtb r3, r3 808ed76: 461a mov r2, r3 808ed78: 4b6a ldr r3, [pc, #424] ; (808ef24 ) 808ed7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ed7e: 461a mov r2, r3 808ed80: 214a movs r1, #74 ; 0x4a 808ed82: f44f 7093 mov.w r0, #294 ; 0x126 808ed86: f7c5 fad5 bl 8054334 808ed8a: e133 b.n 808eff4 } else if(menupos == FilterHP_IED) 808ed8c: 4b62 ldr r3, [pc, #392] ; (808ef18 ) 808ed8e: 781b ldrb r3, [r3, #0] 808ed90: b2db uxtb r3, r3 808ed92: 2b1c cmp r3, #28 808ed94: d15d bne.n 808ee52 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ed96: 4961 ldr r1, [pc, #388] ; (808ef1c ) 808ed98: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ed9c: f7c4 fd22 bl 80537e4 if(blk) 808eda0: 4b5f ldr r3, [pc, #380] ; (808ef20 ) 808eda2: 681b ldr r3, [r3, #0] 808eda4: 2b00 cmp r3, #0 808eda6: d00b beq.n 808edc0 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808eda8: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808edac: b2db uxtb r3, r3 808edae: 461a mov r2, r3 808edb0: 4b5c ldr r3, [pc, #368] ; (808ef24 ) 808edb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808edb6: 461a mov r2, r3 808edb8: 214a movs r1, #74 ; 0x4a 808edba: 20f6 movs r0, #246 ; 0xf6 808edbc: f7c5 faba bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808edc0: 4956 ldr r1, [pc, #344] ; (808ef1c ) 808edc2: 4859 ldr r0, [pc, #356] ; (808ef28 ) 808edc4: f7c4 fd0e bl 80537e4 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808edc8: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808edcc: b2db uxtb r3, r3 808edce: 461a mov r2, r3 808edd0: 4b54 ldr r3, [pc, #336] ; (808ef24 ) 808edd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808edd6: 461a mov r2, r3 808edd8: 214a movs r1, #74 ; 0x4a 808edda: 20c6 movs r0, #198 ; 0xc6 808eddc: f7c5 faaa bl 8054334 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808ede0: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808ede4: b2db uxtb r3, r3 808ede6: 461a mov r2, r3 808ede8: 4b4e ldr r3, [pc, #312] ; (808ef24 ) 808edea: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808edee: 461a mov r2, r3 808edf0: 214a movs r1, #74 ; 0x4a 808edf2: 20d6 movs r0, #214 ; 0xd6 808edf4: f7c5 fa9e bl 8054334 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808edf8: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808edfc: b2db uxtb r3, r3 808edfe: 461a mov r2, r3 808ee00: 4b48 ldr r3, [pc, #288] ; (808ef24 ) 808ee02: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee06: 461a mov r2, r3 808ee08: 214a movs r1, #74 ; 0x4a 808ee0a: 20e6 movs r0, #230 ; 0xe6 808ee0c: f7c5 fa92 bl 8054334 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808ee10: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808ee14: b2db uxtb r3, r3 808ee16: 461a mov r2, r3 808ee18: 4b42 ldr r3, [pc, #264] ; (808ef24 ) 808ee1a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee1e: 461a mov r2, r3 808ee20: 214a movs r1, #74 ; 0x4a 808ee22: f44f 7083 mov.w r0, #262 ; 0x106 808ee26: f7c5 fa85 bl 8054334 LCD_DisplayString(278, LCD_LINE_4, "."); 808ee2a: 4a40 ldr r2, [pc, #256] ; (808ef2c ) 808ee2c: 214a movs r1, #74 ; 0x4a 808ee2e: f44f 708b mov.w r0, #278 ; 0x116 808ee32: f7c5 fa7f bl 8054334 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808ee36: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808ee3a: b2db uxtb r3, r3 808ee3c: 461a mov r2, r3 808ee3e: 4b39 ldr r3, [pc, #228] ; (808ef24 ) 808ee40: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee44: 461a mov r2, r3 808ee46: 214a movs r1, #74 ; 0x4a 808ee48: f44f 7093 mov.w r0, #294 ; 0x126 808ee4c: f7c5 fa72 bl 8054334 808ee50: e0d0 b.n 808eff4 } else if(menupos == FilterHP_IEE) 808ee52: 4b31 ldr r3, [pc, #196] ; (808ef18 ) 808ee54: 781b ldrb r3, [r3, #0] 808ee56: b2db uxtb r3, r3 808ee58: 2b1d cmp r3, #29 808ee5a: d169 bne.n 808ef30 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ee5c: 492f ldr r1, [pc, #188] ; (808ef1c ) 808ee5e: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ee62: f7c4 fcbf bl 80537e4 if(blk) 808ee66: 4b2e ldr r3, [pc, #184] ; (808ef20 ) 808ee68: 681b ldr r3, [r3, #0] 808ee6a: 2b00 cmp r3, #0 808ee6c: d00c beq.n 808ee88 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808ee6e: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808ee72: b2db uxtb r3, r3 808ee74: 461a mov r2, r3 808ee76: 4b2b ldr r3, [pc, #172] ; (808ef24 ) 808ee78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee7c: 461a mov r2, r3 808ee7e: 214a movs r1, #74 ; 0x4a 808ee80: f44f 7083 mov.w r0, #262 ; 0x106 808ee84: f7c5 fa56 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ee88: 4924 ldr r1, [pc, #144] ; (808ef1c ) 808ee8a: 4827 ldr r0, [pc, #156] ; (808ef28 ) 808ee8c: f7c4 fcaa bl 80537e4 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808ee90: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ee94: b2db uxtb r3, r3 808ee96: 461a mov r2, r3 808ee98: 4b22 ldr r3, [pc, #136] ; (808ef24 ) 808ee9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ee9e: 461a mov r2, r3 808eea0: 214a movs r1, #74 ; 0x4a 808eea2: 20c6 movs r0, #198 ; 0xc6 808eea4: f7c5 fa46 bl 8054334 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808eea8: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808eeac: b2db uxtb r3, r3 808eeae: 461a mov r2, r3 808eeb0: 4b1c ldr r3, [pc, #112] ; (808ef24 ) 808eeb2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eeb6: 461a mov r2, r3 808eeb8: 214a movs r1, #74 ; 0x4a 808eeba: 20d6 movs r0, #214 ; 0xd6 808eebc: f7c5 fa3a bl 8054334 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808eec0: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808eec4: b2db uxtb r3, r3 808eec6: 461a mov r2, r3 808eec8: 4b16 ldr r3, [pc, #88] ; (808ef24 ) 808eeca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eece: 461a mov r2, r3 808eed0: 214a movs r1, #74 ; 0x4a 808eed2: 20e6 movs r0, #230 ; 0xe6 808eed4: f7c5 fa2e bl 8054334 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808eed8: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808eedc: b2db uxtb r3, r3 808eede: 461a mov r2, r3 808eee0: 4b10 ldr r3, [pc, #64] ; (808ef24 ) 808eee2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808eee6: 461a mov r2, r3 808eee8: 214a movs r1, #74 ; 0x4a 808eeea: 20f6 movs r0, #246 ; 0xf6 808eeec: f7c5 fa22 bl 8054334 LCD_DisplayString(278, LCD_LINE_4, "."); 808eef0: 4a0e ldr r2, [pc, #56] ; (808ef2c ) 808eef2: 214a movs r1, #74 ; 0x4a 808eef4: f44f 708b mov.w r0, #278 ; 0x116 808eef8: f7c5 fa1c bl 8054334 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808eefc: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808ef00: b2db uxtb r3, r3 808ef02: 461a mov r2, r3 808ef04: 4b07 ldr r3, [pc, #28] ; (808ef24 ) 808ef06: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef0a: 461a mov r2, r3 808ef0c: 214a movs r1, #74 ; 0x4a 808ef0e: f44f 7093 mov.w r0, #294 ; 0x126 808ef12: f7c5 fa0f bl 8054334 808ef16: e06d b.n 808eff4 808ef18: 20020070 .word 0x20020070 808ef1c: ff0a0f1f .word 0xff0a0f1f 808ef20: 2002165c .word 0x2002165c 808ef24: 20020964 .word 0x20020964 808ef28: ffd8aa57 .word 0xffd8aa57 808ef2c: 080cf820 .word 0x080cf820 } else if(menupos == FilterHP_IKD) 808ef30: 4bc6 ldr r3, [pc, #792] ; (808f24c ) 808ef32: 781b ldrb r3, [r3, #0] 808ef34: b2db uxtb r3, r3 808ef36: 2b1e cmp r3, #30 808ef38: d15c bne.n 808eff4 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808ef3a: 49c5 ldr r1, [pc, #788] ; (808f250 ) 808ef3c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808ef40: f7c4 fc50 bl 80537e4 if(blk) 808ef44: 4bc3 ldr r3, [pc, #780] ; (808f254 ) 808ef46: 681b ldr r3, [r3, #0] 808ef48: 2b00 cmp r3, #0 808ef4a: d00c beq.n 808ef66 LCD_DisplayString(294, LCD_LINE_4, (char *) pNUMS[ikdHP]); 808ef4c: f897 33cc ldrb.w r3, [r7, #972] ; 0x3cc 808ef50: b2db uxtb r3, r3 808ef52: 461a mov r2, r3 808ef54: 4bc0 ldr r3, [pc, #768] ; (808f258 ) 808ef56: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef5a: 461a mov r2, r3 808ef5c: 214a movs r1, #74 ; 0x4a 808ef5e: f44f 7093 mov.w r0, #294 ; 0x126 808ef62: f7c5 f9e7 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808ef66: 49ba ldr r1, [pc, #744] ; (808f250 ) 808ef68: 48bc ldr r0, [pc, #752] ; (808f25c ) 808ef6a: f7c4 fc3b bl 80537e4 LCD_DisplayString(198, LCD_LINE_4, (char *) pNUMS[idtHP]); 808ef6e: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808ef72: b2db uxtb r3, r3 808ef74: 461a mov r2, r3 808ef76: 4bb8 ldr r3, [pc, #736] ; (808f258 ) 808ef78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef7c: 461a mov r2, r3 808ef7e: 214a movs r1, #74 ; 0x4a 808ef80: 20c6 movs r0, #198 ; 0xc6 808ef82: f7c5 f9d7 bl 8054334 LCD_DisplayString(214, LCD_LINE_4, (char *) pNUMS[ietHP]); 808ef86: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808ef8a: b2db uxtb r3, r3 808ef8c: 461a mov r2, r3 808ef8e: 4bb2 ldr r3, [pc, #712] ; (808f258 ) 808ef90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808ef94: 461a mov r2, r3 808ef96: 214a movs r1, #74 ; 0x4a 808ef98: 20d6 movs r0, #214 ; 0xd6 808ef9a: f7c5 f9cb bl 8054334 LCD_DisplayString(230, LCD_LINE_4, (char *) pNUMS[iesHP]); 808ef9e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808efa2: b2db uxtb r3, r3 808efa4: 461a mov r2, r3 808efa6: 4bac ldr r3, [pc, #688] ; (808f258 ) 808efa8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808efac: 461a mov r2, r3 808efae: 214a movs r1, #74 ; 0x4a 808efb0: 20e6 movs r0, #230 ; 0xe6 808efb2: f7c5 f9bf bl 8054334 LCD_DisplayString(246, LCD_LINE_4, (char *) pNUMS[iedHP]); 808efb6: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808efba: b2db uxtb r3, r3 808efbc: 461a mov r2, r3 808efbe: 4ba6 ldr r3, [pc, #664] ; (808f258 ) 808efc0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808efc4: 461a mov r2, r3 808efc6: 214a movs r1, #74 ; 0x4a 808efc8: 20f6 movs r0, #246 ; 0xf6 808efca: f7c5 f9b3 bl 8054334 LCD_DisplayString(262, LCD_LINE_4, (char *) pNUMS[ieeHP]); 808efce: f897 33cd ldrb.w r3, [r7, #973] ; 0x3cd 808efd2: b2db uxtb r3, r3 808efd4: 461a mov r2, r3 808efd6: 4ba0 ldr r3, [pc, #640] ; (808f258 ) 808efd8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808efdc: 461a mov r2, r3 808efde: 214a movs r1, #74 ; 0x4a 808efe0: f44f 7083 mov.w r0, #262 ; 0x106 808efe4: f7c5 f9a6 bl 8054334 LCD_DisplayString(278, LCD_LINE_4, "."); 808efe8: 4a9d ldr r2, [pc, #628] ; (808f260 ) 808efea: 214a movs r1, #74 ; 0x4a 808efec: f44f 708b mov.w r0, #278 ; 0x116 808eff0: f7c5 f9a0 bl 8054334 if(menupos == FilterLP_IDT) 808eff4: 4b95 ldr r3, [pc, #596] ; (808f24c ) 808eff6: 781b ldrb r3, [r3, #0] 808eff8: b2db uxtb r3, r3 808effa: 2b1f cmp r3, #31 808effc: d15e bne.n 808f0bc { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808effe: 4994 ldr r1, [pc, #592] ; (808f250 ) 808f000: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f004: f7c4 fbee bl 80537e4 if(blk) 808f008: 4b92 ldr r3, [pc, #584] ; (808f254 ) 808f00a: 681b ldr r3, [r3, #0] 808f00c: 2b00 cmp r3, #0 808f00e: d00b beq.n 808f028 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 808f010: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808f014: b2db uxtb r3, r3 808f016: 461a mov r2, r3 808f018: 4b8f ldr r3, [pc, #572] ; (808f258 ) 808f01a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f01e: 461a mov r2, r3 808f020: 215a movs r1, #90 ; 0x5a 808f022: 20c6 movs r0, #198 ; 0xc6 808f024: f7c5 f986 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f028: 4989 ldr r1, [pc, #548] ; (808f250 ) 808f02a: 488c ldr r0, [pc, #560] ; (808f25c ) 808f02c: f7c4 fbda bl 80537e4 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 808f030: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808f034: b2db uxtb r3, r3 808f036: 461a mov r2, r3 808f038: 4b87 ldr r3, [pc, #540] ; (808f258 ) 808f03a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f03e: 461a mov r2, r3 808f040: 215a movs r1, #90 ; 0x5a 808f042: 20d6 movs r0, #214 ; 0xd6 808f044: f7c5 f976 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 808f048: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808f04c: b2db uxtb r3, r3 808f04e: 461a mov r2, r3 808f050: 4b81 ldr r3, [pc, #516] ; (808f258 ) 808f052: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f056: 461a mov r2, r3 808f058: 215a movs r1, #90 ; 0x5a 808f05a: 20e6 movs r0, #230 ; 0xe6 808f05c: f7c5 f96a bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 808f060: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808f064: b2db uxtb r3, r3 808f066: 461a mov r2, r3 808f068: 4b7b ldr r3, [pc, #492] ; (808f258 ) 808f06a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f06e: 461a mov r2, r3 808f070: 215a movs r1, #90 ; 0x5a 808f072: 20f6 movs r0, #246 ; 0xf6 808f074: f7c5 f95e bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 808f078: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808f07c: b2db uxtb r3, r3 808f07e: 461a mov r2, r3 808f080: 4b75 ldr r3, [pc, #468] ; (808f258 ) 808f082: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f086: 461a mov r2, r3 808f088: 215a movs r1, #90 ; 0x5a 808f08a: f44f 7083 mov.w r0, #262 ; 0x106 808f08e: f7c5 f951 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 808f092: 4a73 ldr r2, [pc, #460] ; (808f260 ) 808f094: 215a movs r1, #90 ; 0x5a 808f096: f44f 708b mov.w r0, #278 ; 0x116 808f09a: f7c5 f94b bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 808f09e: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808f0a2: b2db uxtb r3, r3 808f0a4: 461a mov r2, r3 808f0a6: 4b6c ldr r3, [pc, #432] ; (808f258 ) 808f0a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f0ac: 461a mov r2, r3 808f0ae: 215a movs r1, #90 ; 0x5a 808f0b0: f44f 7093 mov.w r0, #294 ; 0x126 808f0b4: f7c5 f93e bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); LCD_DisplayString(278, LCD_LINE_5, "."); } break; 808f0b8: f008 baa7 b.w 809760a if(menupos == FilterLP_IET) 808f0bc: 4b63 ldr r3, [pc, #396] ; (808f24c ) 808f0be: 781b ldrb r3, [r3, #0] 808f0c0: b2db uxtb r3, r3 808f0c2: 2b20 cmp r3, #32 808f0c4: d15e bne.n 808f184 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f0c6: 4962 ldr r1, [pc, #392] ; (808f250 ) 808f0c8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f0cc: f7c4 fb8a bl 80537e4 if(blk) 808f0d0: 4b60 ldr r3, [pc, #384] ; (808f254 ) 808f0d2: 681b ldr r3, [r3, #0] 808f0d4: 2b00 cmp r3, #0 808f0d6: d00b beq.n 808f0f0 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 808f0d8: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808f0dc: b2db uxtb r3, r3 808f0de: 461a mov r2, r3 808f0e0: 4b5d ldr r3, [pc, #372] ; (808f258 ) 808f0e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f0e6: 461a mov r2, r3 808f0e8: 215a movs r1, #90 ; 0x5a 808f0ea: 20d6 movs r0, #214 ; 0xd6 808f0ec: f7c5 f922 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f0f0: 4957 ldr r1, [pc, #348] ; (808f250 ) 808f0f2: 485a ldr r0, [pc, #360] ; (808f25c ) 808f0f4: f7c4 fb76 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 808f0f8: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808f0fc: b2db uxtb r3, r3 808f0fe: 461a mov r2, r3 808f100: 4b55 ldr r3, [pc, #340] ; (808f258 ) 808f102: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f106: 461a mov r2, r3 808f108: 215a movs r1, #90 ; 0x5a 808f10a: 20c6 movs r0, #198 ; 0xc6 808f10c: f7c5 f912 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 808f110: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808f114: b2db uxtb r3, r3 808f116: 461a mov r2, r3 808f118: 4b4f ldr r3, [pc, #316] ; (808f258 ) 808f11a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f11e: 461a mov r2, r3 808f120: 215a movs r1, #90 ; 0x5a 808f122: 20e6 movs r0, #230 ; 0xe6 808f124: f7c5 f906 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 808f128: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808f12c: b2db uxtb r3, r3 808f12e: 461a mov r2, r3 808f130: 4b49 ldr r3, [pc, #292] ; (808f258 ) 808f132: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f136: 461a mov r2, r3 808f138: 215a movs r1, #90 ; 0x5a 808f13a: 20f6 movs r0, #246 ; 0xf6 808f13c: f7c5 f8fa bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 808f140: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808f144: b2db uxtb r3, r3 808f146: 461a mov r2, r3 808f148: 4b43 ldr r3, [pc, #268] ; (808f258 ) 808f14a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f14e: 461a mov r2, r3 808f150: 215a movs r1, #90 ; 0x5a 808f152: f44f 7083 mov.w r0, #262 ; 0x106 808f156: f7c5 f8ed bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 808f15a: 4a41 ldr r2, [pc, #260] ; (808f260 ) 808f15c: 215a movs r1, #90 ; 0x5a 808f15e: f44f 708b mov.w r0, #278 ; 0x116 808f162: f7c5 f8e7 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 808f166: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808f16a: b2db uxtb r3, r3 808f16c: 461a mov r2, r3 808f16e: 4b3a ldr r3, [pc, #232] ; (808f258 ) 808f170: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f174: 461a mov r2, r3 808f176: 215a movs r1, #90 ; 0x5a 808f178: f44f 7093 mov.w r0, #294 ; 0x126 808f17c: f7c5 f8da bl 8054334 break; 808f180: f008 ba43 b.w 809760a if(menupos == FilterLP_IES) 808f184: 4b31 ldr r3, [pc, #196] ; (808f24c ) 808f186: 781b ldrb r3, [r3, #0] 808f188: b2db uxtb r3, r3 808f18a: 2b21 cmp r3, #33 ; 0x21 808f18c: d16a bne.n 808f264 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f18e: 4930 ldr r1, [pc, #192] ; (808f250 ) 808f190: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f194: f7c4 fb26 bl 80537e4 if(blk) 808f198: 4b2e ldr r3, [pc, #184] ; (808f254 ) 808f19a: 681b ldr r3, [r3, #0] 808f19c: 2b00 cmp r3, #0 808f19e: d00b beq.n 808f1b8 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 808f1a0: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808f1a4: b2db uxtb r3, r3 808f1a6: 461a mov r2, r3 808f1a8: 4b2b ldr r3, [pc, #172] ; (808f258 ) 808f1aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f1ae: 461a mov r2, r3 808f1b0: 215a movs r1, #90 ; 0x5a 808f1b2: 20e6 movs r0, #230 ; 0xe6 808f1b4: f7c5 f8be bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f1b8: 4925 ldr r1, [pc, #148] ; (808f250 ) 808f1ba: 4828 ldr r0, [pc, #160] ; (808f25c ) 808f1bc: f7c4 fb12 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 808f1c0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808f1c4: b2db uxtb r3, r3 808f1c6: 461a mov r2, r3 808f1c8: 4b23 ldr r3, [pc, #140] ; (808f258 ) 808f1ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f1ce: 461a mov r2, r3 808f1d0: 215a movs r1, #90 ; 0x5a 808f1d2: 20c6 movs r0, #198 ; 0xc6 808f1d4: f7c5 f8ae bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 808f1d8: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808f1dc: b2db uxtb r3, r3 808f1de: 461a mov r2, r3 808f1e0: 4b1d ldr r3, [pc, #116] ; (808f258 ) 808f1e2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f1e6: 461a mov r2, r3 808f1e8: 215a movs r1, #90 ; 0x5a 808f1ea: 20d6 movs r0, #214 ; 0xd6 808f1ec: f7c5 f8a2 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 808f1f0: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808f1f4: b2db uxtb r3, r3 808f1f6: 461a mov r2, r3 808f1f8: 4b17 ldr r3, [pc, #92] ; (808f258 ) 808f1fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f1fe: 461a mov r2, r3 808f200: 215a movs r1, #90 ; 0x5a 808f202: 20f6 movs r0, #246 ; 0xf6 808f204: f7c5 f896 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 808f208: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808f20c: b2db uxtb r3, r3 808f20e: 461a mov r2, r3 808f210: 4b11 ldr r3, [pc, #68] ; (808f258 ) 808f212: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f216: 461a mov r2, r3 808f218: 215a movs r1, #90 ; 0x5a 808f21a: f44f 7083 mov.w r0, #262 ; 0x106 808f21e: f7c5 f889 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 808f222: 4a0f ldr r2, [pc, #60] ; (808f260 ) 808f224: 215a movs r1, #90 ; 0x5a 808f226: f44f 708b mov.w r0, #278 ; 0x116 808f22a: f7c5 f883 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 808f22e: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808f232: b2db uxtb r3, r3 808f234: 461a mov r2, r3 808f236: 4b08 ldr r3, [pc, #32] ; (808f258 ) 808f238: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f23c: 461a mov r2, r3 808f23e: 215a movs r1, #90 ; 0x5a 808f240: f44f 7093 mov.w r0, #294 ; 0x126 808f244: f7c5 f876 bl 8054334 break; 808f248: f008 b9df b.w 809760a 808f24c: 20020070 .word 0x20020070 808f250: ff0a0f1f .word 0xff0a0f1f 808f254: 2002165c .word 0x2002165c 808f258: 20020964 .word 0x20020964 808f25c: ffd8aa57 .word 0xffd8aa57 808f260: 080cf820 .word 0x080cf820 if(menupos == FilterLP_IED) 808f264: 4b96 ldr r3, [pc, #600] ; (808f4c0 ) 808f266: 781b ldrb r3, [r3, #0] 808f268: b2db uxtb r3, r3 808f26a: 2b22 cmp r3, #34 ; 0x22 808f26c: d15e bne.n 808f32c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f26e: 4995 ldr r1, [pc, #596] ; (808f4c4 ) 808f270: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f274: f7c4 fab6 bl 80537e4 if(blk) 808f278: 4b93 ldr r3, [pc, #588] ; (808f4c8 ) 808f27a: 681b ldr r3, [r3, #0] 808f27c: 2b00 cmp r3, #0 808f27e: d00b beq.n 808f298 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 808f280: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808f284: b2db uxtb r3, r3 808f286: 461a mov r2, r3 808f288: 4b90 ldr r3, [pc, #576] ; (808f4cc ) 808f28a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f28e: 461a mov r2, r3 808f290: 215a movs r1, #90 ; 0x5a 808f292: 20f6 movs r0, #246 ; 0xf6 808f294: f7c5 f84e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f298: 498a ldr r1, [pc, #552] ; (808f4c4 ) 808f29a: 488d ldr r0, [pc, #564] ; (808f4d0 ) 808f29c: f7c4 faa2 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 808f2a0: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808f2a4: b2db uxtb r3, r3 808f2a6: 461a mov r2, r3 808f2a8: 4b88 ldr r3, [pc, #544] ; (808f4cc ) 808f2aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f2ae: 461a mov r2, r3 808f2b0: 215a movs r1, #90 ; 0x5a 808f2b2: 20c6 movs r0, #198 ; 0xc6 808f2b4: f7c5 f83e bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 808f2b8: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808f2bc: b2db uxtb r3, r3 808f2be: 461a mov r2, r3 808f2c0: 4b82 ldr r3, [pc, #520] ; (808f4cc ) 808f2c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f2c6: 461a mov r2, r3 808f2c8: 215a movs r1, #90 ; 0x5a 808f2ca: 20d6 movs r0, #214 ; 0xd6 808f2cc: f7c5 f832 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 808f2d0: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808f2d4: b2db uxtb r3, r3 808f2d6: 461a mov r2, r3 808f2d8: 4b7c ldr r3, [pc, #496] ; (808f4cc ) 808f2da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f2de: 461a mov r2, r3 808f2e0: 215a movs r1, #90 ; 0x5a 808f2e2: 20e6 movs r0, #230 ; 0xe6 808f2e4: f7c5 f826 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 808f2e8: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808f2ec: b2db uxtb r3, r3 808f2ee: 461a mov r2, r3 808f2f0: 4b76 ldr r3, [pc, #472] ; (808f4cc ) 808f2f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f2f6: 461a mov r2, r3 808f2f8: 215a movs r1, #90 ; 0x5a 808f2fa: f44f 7083 mov.w r0, #262 ; 0x106 808f2fe: f7c5 f819 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 808f302: 4a74 ldr r2, [pc, #464] ; (808f4d4 ) 808f304: 215a movs r1, #90 ; 0x5a 808f306: f44f 708b mov.w r0, #278 ; 0x116 808f30a: f7c5 f813 bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 808f30e: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808f312: b2db uxtb r3, r3 808f314: 461a mov r2, r3 808f316: 4b6d ldr r3, [pc, #436] ; (808f4cc ) 808f318: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f31c: 461a mov r2, r3 808f31e: 215a movs r1, #90 ; 0x5a 808f320: f44f 7093 mov.w r0, #294 ; 0x126 808f324: f7c5 f806 bl 8054334 break; 808f328: f008 b96f b.w 809760a if(menupos == FilterLP_IEE) 808f32c: 4b64 ldr r3, [pc, #400] ; (808f4c0 ) 808f32e: 781b ldrb r3, [r3, #0] 808f330: b2db uxtb r3, r3 808f332: 2b23 cmp r3, #35 ; 0x23 808f334: d15e bne.n 808f3f4 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f336: 4963 ldr r1, [pc, #396] ; (808f4c4 ) 808f338: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f33c: f7c4 fa52 bl 80537e4 if(blk) 808f340: 4b61 ldr r3, [pc, #388] ; (808f4c8 ) 808f342: 681b ldr r3, [r3, #0] 808f344: 2b00 cmp r3, #0 808f346: d00c beq.n 808f362 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 808f348: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808f34c: b2db uxtb r3, r3 808f34e: 461a mov r2, r3 808f350: 4b5e ldr r3, [pc, #376] ; (808f4cc ) 808f352: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f356: 461a mov r2, r3 808f358: 215a movs r1, #90 ; 0x5a 808f35a: f44f 7083 mov.w r0, #262 ; 0x106 808f35e: f7c4 ffe9 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f362: 4958 ldr r1, [pc, #352] ; (808f4c4 ) 808f364: 485a ldr r0, [pc, #360] ; (808f4d0 ) 808f366: f7c4 fa3d bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 808f36a: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808f36e: b2db uxtb r3, r3 808f370: 461a mov r2, r3 808f372: 4b56 ldr r3, [pc, #344] ; (808f4cc ) 808f374: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f378: 461a mov r2, r3 808f37a: 215a movs r1, #90 ; 0x5a 808f37c: 20c6 movs r0, #198 ; 0xc6 808f37e: f7c4 ffd9 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 808f382: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808f386: b2db uxtb r3, r3 808f388: 461a mov r2, r3 808f38a: 4b50 ldr r3, [pc, #320] ; (808f4cc ) 808f38c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f390: 461a mov r2, r3 808f392: 215a movs r1, #90 ; 0x5a 808f394: 20d6 movs r0, #214 ; 0xd6 808f396: f7c4 ffcd bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 808f39a: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808f39e: b2db uxtb r3, r3 808f3a0: 461a mov r2, r3 808f3a2: 4b4a ldr r3, [pc, #296] ; (808f4cc ) 808f3a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f3a8: 461a mov r2, r3 808f3aa: 215a movs r1, #90 ; 0x5a 808f3ac: 20e6 movs r0, #230 ; 0xe6 808f3ae: f7c4 ffc1 bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 808f3b2: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808f3b6: b2db uxtb r3, r3 808f3b8: 461a mov r2, r3 808f3ba: 4b44 ldr r3, [pc, #272] ; (808f4cc ) 808f3bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f3c0: 461a mov r2, r3 808f3c2: 215a movs r1, #90 ; 0x5a 808f3c4: 20f6 movs r0, #246 ; 0xf6 808f3c6: f7c4 ffb5 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 808f3ca: 4a42 ldr r2, [pc, #264] ; (808f4d4 ) 808f3cc: 215a movs r1, #90 ; 0x5a 808f3ce: f44f 708b mov.w r0, #278 ; 0x116 808f3d2: f7c4 ffaf bl 8054334 LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 808f3d6: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808f3da: b2db uxtb r3, r3 808f3dc: 461a mov r2, r3 808f3de: 4b3b ldr r3, [pc, #236] ; (808f4cc ) 808f3e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f3e4: 461a mov r2, r3 808f3e6: 215a movs r1, #90 ; 0x5a 808f3e8: f44f 7093 mov.w r0, #294 ; 0x126 808f3ec: f7c4 ffa2 bl 8054334 break; 808f3f0: f008 b90b b.w 809760a if(menupos == FilterLP_IKD) 808f3f4: 4b32 ldr r3, [pc, #200] ; (808f4c0 ) 808f3f6: 781b ldrb r3, [r3, #0] 808f3f8: b2db uxtb r3, r3 808f3fa: 2b24 cmp r3, #36 ; 0x24 808f3fc: f048 8105 bne.w 809760a LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 808f400: 4930 ldr r1, [pc, #192] ; (808f4c4 ) 808f402: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 808f406: f7c4 f9ed bl 80537e4 if(blk) 808f40a: 4b2f ldr r3, [pc, #188] ; (808f4c8 ) 808f40c: 681b ldr r3, [r3, #0] 808f40e: 2b00 cmp r3, #0 808f410: d00c beq.n 808f42c LCD_DisplayString(294, LCD_LINE_5, (char *) pNUMS[ikdLP]); 808f412: f897 33c5 ldrb.w r3, [r7, #965] ; 0x3c5 808f416: b2db uxtb r3, r3 808f418: 461a mov r2, r3 808f41a: 4b2c ldr r3, [pc, #176] ; (808f4cc ) 808f41c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f420: 461a mov r2, r3 808f422: 215a movs r1, #90 ; 0x5a 808f424: f44f 7093 mov.w r0, #294 ; 0x126 808f428: f7c4 ff84 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 808f42c: 4925 ldr r1, [pc, #148] ; (808f4c4 ) 808f42e: 4828 ldr r0, [pc, #160] ; (808f4d0 ) 808f430: f7c4 f9d8 bl 80537e4 LCD_DisplayString(198, LCD_LINE_5, (char *) pNUMS[idtLP]); 808f434: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808f438: b2db uxtb r3, r3 808f43a: 461a mov r2, r3 808f43c: 4b23 ldr r3, [pc, #140] ; (808f4cc ) 808f43e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f442: 461a mov r2, r3 808f444: 215a movs r1, #90 ; 0x5a 808f446: 20c6 movs r0, #198 ; 0xc6 808f448: f7c4 ff74 bl 8054334 LCD_DisplayString(214, LCD_LINE_5, (char *) pNUMS[ietLP]); 808f44c: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808f450: b2db uxtb r3, r3 808f452: 461a mov r2, r3 808f454: 4b1d ldr r3, [pc, #116] ; (808f4cc ) 808f456: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f45a: 461a mov r2, r3 808f45c: 215a movs r1, #90 ; 0x5a 808f45e: 20d6 movs r0, #214 ; 0xd6 808f460: f7c4 ff68 bl 8054334 LCD_DisplayString(230, LCD_LINE_5, (char *) pNUMS[iesLP]); 808f464: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808f468: b2db uxtb r3, r3 808f46a: 461a mov r2, r3 808f46c: 4b17 ldr r3, [pc, #92] ; (808f4cc ) 808f46e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f472: 461a mov r2, r3 808f474: 215a movs r1, #90 ; 0x5a 808f476: 20e6 movs r0, #230 ; 0xe6 808f478: f7c4 ff5c bl 8054334 LCD_DisplayString(246, LCD_LINE_5, (char *) pNUMS[iedLP]); 808f47c: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808f480: b2db uxtb r3, r3 808f482: 461a mov r2, r3 808f484: 4b11 ldr r3, [pc, #68] ; (808f4cc ) 808f486: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f48a: 461a mov r2, r3 808f48c: 215a movs r1, #90 ; 0x5a 808f48e: 20f6 movs r0, #246 ; 0xf6 808f490: f7c4 ff50 bl 8054334 LCD_DisplayString(262, LCD_LINE_5, (char *) pNUMS[ieeLP]); 808f494: f897 33c6 ldrb.w r3, [r7, #966] ; 0x3c6 808f498: b2db uxtb r3, r3 808f49a: 461a mov r2, r3 808f49c: 4b0b ldr r3, [pc, #44] ; (808f4cc ) 808f49e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 808f4a2: 461a mov r2, r3 808f4a4: 215a movs r1, #90 ; 0x5a 808f4a6: f44f 7083 mov.w r0, #262 ; 0x106 808f4aa: f7c4 ff43 bl 8054334 LCD_DisplayString(278, LCD_LINE_5, "."); 808f4ae: 4a09 ldr r2, [pc, #36] ; (808f4d4 ) 808f4b0: 215a movs r1, #90 ; 0x5a 808f4b2: f44f 708b mov.w r0, #278 ; 0x116 808f4b6: f7c4 ff3d bl 8054334 break; 808f4ba: f008 b8a6 b.w 809760a 808f4be: bf00 nop 808f4c0: 20020070 .word 0x20020070 808f4c4: ff0a0f1f .word 0xff0a0f1f 808f4c8: 2002165c .word 0x2002165c 808f4cc: 20020964 .word 0x20020964 808f4d0: ffd8aa57 .word 0xffd8aa57 808f4d4: 080cf820 .word 0x080cf820 case PARAM_WAVE: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 808f4d8: 49d5 ldr r1, [pc, #852] ; (808f830 ) 808f4da: 48d6 ldr r0, [pc, #856] ; (808f834 ) 808f4dc: f7c4 f982 bl 80537e4 BSP_LCD_DrawRect(2, 35, 314, 201); 808f4e0: 23c9 movs r3, #201 ; 0xc9 808f4e2: f44f 729d mov.w r2, #314 ; 0x13a 808f4e6: 2123 movs r1, #35 ; 0x23 808f4e8: 2002 movs r0, #2 808f4ea: f7c4 fc81 bl 8053df0 k = (uint32_t) (pardata.THR_VAL * 10.0f); 808f4ee: 4bd2 ldr r3, [pc, #840] ; (808f838 ) 808f4f0: edd3 7a05 vldr s15, [r3, #20] 808f4f4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808f4f8: ee67 7a87 vmul.f32 s15, s15, s14 808f4fc: eefc 7ae7 vcvt.u32.f32 s15, s15 808f500: ee17 3a90 vmov r3, s15 808f504: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt = (uint8_t) (k / 100000); 808f508: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808f50c: 095b lsrs r3, r3, #5 808f50e: 4acb ldr r2, [pc, #812] ; (808f83c ) 808f510: fba2 2303 umull r2, r3, r2, r3 808f514: 09db lsrs r3, r3, #7 808f516: b2db uxtb r3, r3 808f518: f887 33e7 strb.w r3, [r7, #999] ; 0x3e7 iet = (uint8_t) (k % 100000 / 10000); 808f51c: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f520: 0953 lsrs r3, r2, #5 808f522: 49c6 ldr r1, [pc, #792] ; (808f83c ) 808f524: fba1 1303 umull r1, r3, r1, r3 808f528: 09db lsrs r3, r3, #7 808f52a: 49c5 ldr r1, [pc, #788] ; (808f840 ) 808f52c: fb01 f303 mul.w r3, r1, r3 808f530: 1ad3 subs r3, r2, r3 808f532: 4ac4 ldr r2, [pc, #784] ; (808f844 ) 808f534: fba2 2303 umull r2, r3, r2, r3 808f538: 0b5b lsrs r3, r3, #13 808f53a: b2db uxtb r3, r3 808f53c: f887 33e6 strb.w r3, [r7, #998] ; 0x3e6 ies = (uint8_t) (k % 100000 % 10000 / 1000); 808f540: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f544: 0953 lsrs r3, r2, #5 808f546: 49bd ldr r1, [pc, #756] ; (808f83c ) 808f548: fba1 1303 umull r1, r3, r1, r3 808f54c: 09db lsrs r3, r3, #7 808f54e: 49bc ldr r1, [pc, #752] ; (808f840 ) 808f550: fb01 f303 mul.w r3, r1, r3 808f554: 1ad3 subs r3, r2, r3 808f556: 4abb ldr r2, [pc, #748] ; (808f844 ) 808f558: fba2 1203 umull r1, r2, r2, r3 808f55c: 0b52 lsrs r2, r2, #13 808f55e: f242 7110 movw r1, #10000 ; 0x2710 808f562: fb01 f202 mul.w r2, r1, r2 808f566: 1a9a subs r2, r3, r2 808f568: 4bb7 ldr r3, [pc, #732] ; (808f848 ) 808f56a: fba3 2302 umull r2, r3, r3, r2 808f56e: 099b lsrs r3, r3, #6 808f570: b2db uxtb r3, r3 808f572: f887 33e5 strb.w r3, [r7, #997] ; 0x3e5 ied = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808f576: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808f57a: 095a lsrs r2, r3, #5 808f57c: 49af ldr r1, [pc, #700] ; (808f83c ) 808f57e: fba1 1202 umull r1, r2, r1, r2 808f582: 09d2 lsrs r2, r2, #7 808f584: 49ae ldr r1, [pc, #696] ; (808f840 ) 808f586: fb01 f202 mul.w r2, r1, r2 808f58a: 1a9a subs r2, r3, r2 808f58c: 4bad ldr r3, [pc, #692] ; (808f844 ) 808f58e: fba3 1302 umull r1, r3, r3, r2 808f592: 0b5b lsrs r3, r3, #13 808f594: f242 7110 movw r1, #10000 ; 0x2710 808f598: fb01 f303 mul.w r3, r1, r3 808f59c: 1ad3 subs r3, r2, r3 808f59e: 4aaa ldr r2, [pc, #680] ; (808f848 ) 808f5a0: fba2 1203 umull r1, r2, r2, r3 808f5a4: 0992 lsrs r2, r2, #6 808f5a6: f44f 717a mov.w r1, #1000 ; 0x3e8 808f5aa: fb01 f202 mul.w r2, r1, r2 808f5ae: 1a9a subs r2, r3, r2 808f5b0: 4ba6 ldr r3, [pc, #664] ; (808f84c ) 808f5b2: fba3 2302 umull r2, r3, r3, r2 808f5b6: 095b lsrs r3, r3, #5 808f5b8: b2db uxtb r3, r3 808f5ba: f887 33e4 strb.w r3, [r7, #996] ; 0x3e4 iee = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808f5be: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f5c2: 0953 lsrs r3, r2, #5 808f5c4: 499d ldr r1, [pc, #628] ; (808f83c ) 808f5c6: fba1 1303 umull r1, r3, r1, r3 808f5ca: 09db lsrs r3, r3, #7 808f5cc: 499c ldr r1, [pc, #624] ; (808f840 ) 808f5ce: fb01 f303 mul.w r3, r1, r3 808f5d2: 1ad3 subs r3, r2, r3 808f5d4: 4a9b ldr r2, [pc, #620] ; (808f844 ) 808f5d6: fba2 1203 umull r1, r2, r2, r3 808f5da: 0b52 lsrs r2, r2, #13 808f5dc: f242 7110 movw r1, #10000 ; 0x2710 808f5e0: fb01 f202 mul.w r2, r1, r2 808f5e4: 1a9a subs r2, r3, r2 808f5e6: 4b98 ldr r3, [pc, #608] ; (808f848 ) 808f5e8: fba3 1302 umull r1, r3, r3, r2 808f5ec: 099b lsrs r3, r3, #6 808f5ee: f44f 717a mov.w r1, #1000 ; 0x3e8 808f5f2: fb01 f303 mul.w r3, r1, r3 808f5f6: 1ad3 subs r3, r2, r3 808f5f8: 4a94 ldr r2, [pc, #592] ; (808f84c ) 808f5fa: fba2 1203 umull r1, r2, r2, r3 808f5fe: 0952 lsrs r2, r2, #5 808f600: 2164 movs r1, #100 ; 0x64 808f602: fb01 f202 mul.w r2, r1, r2 808f606: 1a9a subs r2, r3, r2 808f608: 4b91 ldr r3, [pc, #580] ; (808f850 ) 808f60a: fba3 2302 umull r2, r3, r3, r2 808f60e: 08db lsrs r3, r3, #3 808f610: b2db uxtb r3, r3 808f612: f887 33e3 strb.w r3, [r7, #995] ; 0x3e3 ikd = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808f616: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f61a: 0953 lsrs r3, r2, #5 808f61c: 4987 ldr r1, [pc, #540] ; (808f83c ) 808f61e: fba1 1303 umull r1, r3, r1, r3 808f622: 09db lsrs r3, r3, #7 808f624: 4986 ldr r1, [pc, #536] ; (808f840 ) 808f626: fb01 f303 mul.w r3, r1, r3 808f62a: 1ad3 subs r3, r2, r3 808f62c: 4a85 ldr r2, [pc, #532] ; (808f844 ) 808f62e: fba2 1203 umull r1, r2, r2, r3 808f632: 0b52 lsrs r2, r2, #13 808f634: f242 7110 movw r1, #10000 ; 0x2710 808f638: fb01 f202 mul.w r2, r1, r2 808f63c: 1a9a subs r2, r3, r2 808f63e: 4b82 ldr r3, [pc, #520] ; (808f848 ) 808f640: fba3 1302 umull r1, r3, r3, r2 808f644: 099b lsrs r3, r3, #6 808f646: f44f 717a mov.w r1, #1000 ; 0x3e8 808f64a: fb01 f303 mul.w r3, r1, r3 808f64e: 1ad3 subs r3, r2, r3 808f650: 4a7e ldr r2, [pc, #504] ; (808f84c ) 808f652: fba2 1203 umull r1, r2, r2, r3 808f656: 0952 lsrs r2, r2, #5 808f658: 2164 movs r1, #100 ; 0x64 808f65a: fb01 f202 mul.w r2, r1, r2 808f65e: 1a9a subs r2, r3, r2 808f660: 4b7b ldr r3, [pc, #492] ; (808f850 ) 808f662: fba3 1302 umull r1, r3, r3, r2 808f666: 08d9 lsrs r1, r3, #3 808f668: 460b mov r3, r1 808f66a: 009b lsls r3, r3, #2 808f66c: 440b add r3, r1 808f66e: 005b lsls r3, r3, #1 808f670: 1ad1 subs r1, r2, r3 808f672: b2cb uxtb r3, r1 808f674: f887 33e2 strb.w r3, [r7, #994] ; 0x3e2 i = 0; 808f678: 2300 movs r3, #0 808f67a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strThr, 0, sizeof(strThr)); 808f67e: f507 73c6 add.w r3, r7, #396 ; 0x18c 808f682: 220c movs r2, #12 808f684: 2100 movs r1, #0 808f686: 4618 mov r0, r3 808f688: f03d fcfa bl 80cd080 if(idt != 0) 808f68c: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f690: b2db uxtb r3, r3 808f692: 2b00 cmp r3, #0 808f694: d00c beq.n 808f6b0 strThr[i++] = idt + 48; 808f696: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f69a: 1c5a adds r2, r3, #1 808f69c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f6a0: f897 23e7 ldrb.w r2, [r7, #999] ; 0x3e7 808f6a4: b2d2 uxtb r2, r2 808f6a6: 3230 adds r2, #48 ; 0x30 808f6a8: b2d1 uxtb r1, r2 808f6aa: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f6ae: 54d1 strb r1, [r2, r3] if((iet != 0) || (idt != 0)) 808f6b0: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808f6b4: b2db uxtb r3, r3 808f6b6: 2b00 cmp r3, #0 808f6b8: d104 bne.n 808f6c4 808f6ba: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f6be: b2db uxtb r3, r3 808f6c0: 2b00 cmp r3, #0 808f6c2: d00c beq.n 808f6de strThr[i++] = iet + 48; 808f6c4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f6c8: 1c5a adds r2, r3, #1 808f6ca: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f6ce: f897 23e6 ldrb.w r2, [r7, #998] ; 0x3e6 808f6d2: b2d2 uxtb r2, r2 808f6d4: 3230 adds r2, #48 ; 0x30 808f6d6: b2d1 uxtb r1, r2 808f6d8: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f6dc: 54d1 strb r1, [r2, r3] if((ies != 0) || (iet != 0) || (idt != 0)) 808f6de: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808f6e2: b2db uxtb r3, r3 808f6e4: 2b00 cmp r3, #0 808f6e6: d109 bne.n 808f6fc 808f6e8: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808f6ec: b2db uxtb r3, r3 808f6ee: 2b00 cmp r3, #0 808f6f0: d104 bne.n 808f6fc 808f6f2: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f6f6: b2db uxtb r3, r3 808f6f8: 2b00 cmp r3, #0 808f6fa: d00c beq.n 808f716 strThr[i++] = ies + 48; 808f6fc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f700: 1c5a adds r2, r3, #1 808f702: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f706: f897 23e5 ldrb.w r2, [r7, #997] ; 0x3e5 808f70a: b2d2 uxtb r2, r2 808f70c: 3230 adds r2, #48 ; 0x30 808f70e: b2d1 uxtb r1, r2 808f710: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f714: 54d1 strb r1, [r2, r3] if((ied != 0) || (ies != 0) || (iet != 0) || (idt != 0)) 808f716: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 808f71a: b2db uxtb r3, r3 808f71c: 2b00 cmp r3, #0 808f71e: d10e bne.n 808f73e 808f720: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 808f724: b2db uxtb r3, r3 808f726: 2b00 cmp r3, #0 808f728: d109 bne.n 808f73e 808f72a: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 808f72e: b2db uxtb r3, r3 808f730: 2b00 cmp r3, #0 808f732: d104 bne.n 808f73e 808f734: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 808f738: b2db uxtb r3, r3 808f73a: 2b00 cmp r3, #0 808f73c: d00c beq.n 808f758 strThr[i++] = ied + 48; 808f73e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f742: 1c5a adds r2, r3, #1 808f744: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f748: f897 23e4 ldrb.w r2, [r7, #996] ; 0x3e4 808f74c: b2d2 uxtb r2, r2 808f74e: 3230 adds r2, #48 ; 0x30 808f750: b2d1 uxtb r1, r2 808f752: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f756: 54d1 strb r1, [r2, r3] strThr[i++] = iee + 48; 808f758: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f75c: 1c5a adds r2, r3, #1 808f75e: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f762: f897 23e3 ldrb.w r2, [r7, #995] ; 0x3e3 808f766: b2d2 uxtb r2, r2 808f768: 3230 adds r2, #48 ; 0x30 808f76a: b2d1 uxtb r1, r2 808f76c: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f770: 54d1 strb r1, [r2, r3] strThr[i++] = '.'; 808f772: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f776: 1c5a adds r2, r3, #1 808f778: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f77c: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f780: 212e movs r1, #46 ; 0x2e 808f782: 54d1 strb r1, [r2, r3] strThr[i++] = ikd + 48; 808f784: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f788: 1c5a adds r2, r3, #1 808f78a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f78e: f897 23e2 ldrb.w r2, [r7, #994] ; 0x3e2 808f792: b2d2 uxtb r2, r2 808f794: 3230 adds r2, #48 ; 0x30 808f796: b2d1 uxtb r1, r2 808f798: f507 72c6 add.w r2, r7, #396 ; 0x18c 808f79c: 54d1 strb r1, [r2, r3] k = (uint32_t) (pardata.MAX_VAL * 10.0f); 808f79e: 4b26 ldr r3, [pc, #152] ; (808f838 ) 808f7a0: edd3 7a06 vldr s15, [r3, #24] 808f7a4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 808f7a8: ee67 7a87 vmul.f32 s15, s15, s14 808f7ac: eefc 7ae7 vcvt.u32.f32 s15, s15 808f7b0: ee17 3a90 vmov r3, s15 808f7b4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idt2 = (uint8_t) (k / 100000); 808f7b8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808f7bc: 095b lsrs r3, r3, #5 808f7be: 4a1f ldr r2, [pc, #124] ; (808f83c ) 808f7c0: fba2 2303 umull r2, r3, r2, r3 808f7c4: 09db lsrs r3, r3, #7 808f7c6: b2db uxtb r3, r3 808f7c8: f887 33d8 strb.w r3, [r7, #984] ; 0x3d8 iet2 = (uint8_t) (k % 100000 / 10000); 808f7cc: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f7d0: 0953 lsrs r3, r2, #5 808f7d2: 491a ldr r1, [pc, #104] ; (808f83c ) 808f7d4: fba1 1303 umull r1, r3, r1, r3 808f7d8: 09db lsrs r3, r3, #7 808f7da: 4919 ldr r1, [pc, #100] ; (808f840 ) 808f7dc: fb01 f303 mul.w r3, r1, r3 808f7e0: 1ad3 subs r3, r2, r3 808f7e2: 4a18 ldr r2, [pc, #96] ; (808f844 ) 808f7e4: fba2 2303 umull r2, r3, r2, r3 808f7e8: 0b5b lsrs r3, r3, #13 808f7ea: b2db uxtb r3, r3 808f7ec: f887 33d7 strb.w r3, [r7, #983] ; 0x3d7 ies2 = (uint8_t) (k % 100000 % 10000 / 1000); 808f7f0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f7f4: 0953 lsrs r3, r2, #5 808f7f6: 4911 ldr r1, [pc, #68] ; (808f83c ) 808f7f8: fba1 1303 umull r1, r3, r1, r3 808f7fc: 09db lsrs r3, r3, #7 808f7fe: 4910 ldr r1, [pc, #64] ; (808f840 ) 808f800: fb01 f303 mul.w r3, r1, r3 808f804: 1ad3 subs r3, r2, r3 808f806: 4a0f ldr r2, [pc, #60] ; (808f844 ) 808f808: fba2 1203 umull r1, r2, r2, r3 808f80c: 0b52 lsrs r2, r2, #13 808f80e: f242 7110 movw r1, #10000 ; 0x2710 808f812: fb01 f202 mul.w r2, r1, r2 808f816: 1a9a subs r2, r3, r2 808f818: 4b0b ldr r3, [pc, #44] ; (808f848 ) 808f81a: fba3 2302 umull r2, r3, r3, r2 808f81e: 099b lsrs r3, r3, #6 808f820: b2db uxtb r3, r3 808f822: f887 33d6 strb.w r3, [r7, #982] ; 0x3d6 ied2 = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808f826: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808f82a: 095a lsrs r2, r3, #5 808f82c: e012 b.n 808f854 808f82e: bf00 nop 808f830: ff0a0f1f .word 0xff0a0f1f 808f834: ffd3d3d3 .word 0xffd3d3d3 808f838: 20023e60 .word 0x20023e60 808f83c: 0a7c5ac5 .word 0x0a7c5ac5 808f840: 000186a0 .word 0x000186a0 808f844: d1b71759 .word 0xd1b71759 808f848: 10624dd3 .word 0x10624dd3 808f84c: 51eb851f .word 0x51eb851f 808f850: cccccccd .word 0xcccccccd 808f854: 49d5 ldr r1, [pc, #852] ; (808fbac ) 808f856: fba1 1202 umull r1, r2, r1, r2 808f85a: 09d2 lsrs r2, r2, #7 808f85c: 49d4 ldr r1, [pc, #848] ; (808fbb0 ) 808f85e: fb01 f202 mul.w r2, r1, r2 808f862: 1a9a subs r2, r3, r2 808f864: 4bd3 ldr r3, [pc, #844] ; (808fbb4 ) 808f866: fba3 1302 umull r1, r3, r3, r2 808f86a: 0b5b lsrs r3, r3, #13 808f86c: f242 7110 movw r1, #10000 ; 0x2710 808f870: fb01 f303 mul.w r3, r1, r3 808f874: 1ad3 subs r3, r2, r3 808f876: 4ad0 ldr r2, [pc, #832] ; (808fbb8 ) 808f878: fba2 1203 umull r1, r2, r2, r3 808f87c: 0992 lsrs r2, r2, #6 808f87e: f44f 717a mov.w r1, #1000 ; 0x3e8 808f882: fb01 f202 mul.w r2, r1, r2 808f886: 1a9a subs r2, r3, r2 808f888: 4bcc ldr r3, [pc, #816] ; (808fbbc ) 808f88a: fba3 2302 umull r2, r3, r3, r2 808f88e: 095b lsrs r3, r3, #5 808f890: b2db uxtb r3, r3 808f892: f887 33d5 strb.w r3, [r7, #981] ; 0x3d5 iee2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808f896: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f89a: 0953 lsrs r3, r2, #5 808f89c: 49c3 ldr r1, [pc, #780] ; (808fbac ) 808f89e: fba1 1303 umull r1, r3, r1, r3 808f8a2: 09db lsrs r3, r3, #7 808f8a4: 49c2 ldr r1, [pc, #776] ; (808fbb0 ) 808f8a6: fb01 f303 mul.w r3, r1, r3 808f8aa: 1ad3 subs r3, r2, r3 808f8ac: 4ac1 ldr r2, [pc, #772] ; (808fbb4 ) 808f8ae: fba2 1203 umull r1, r2, r2, r3 808f8b2: 0b52 lsrs r2, r2, #13 808f8b4: f242 7110 movw r1, #10000 ; 0x2710 808f8b8: fb01 f202 mul.w r2, r1, r2 808f8bc: 1a9a subs r2, r3, r2 808f8be: 4bbe ldr r3, [pc, #760] ; (808fbb8 ) 808f8c0: fba3 1302 umull r1, r3, r3, r2 808f8c4: 099b lsrs r3, r3, #6 808f8c6: f44f 717a mov.w r1, #1000 ; 0x3e8 808f8ca: fb01 f303 mul.w r3, r1, r3 808f8ce: 1ad3 subs r3, r2, r3 808f8d0: 4aba ldr r2, [pc, #744] ; (808fbbc ) 808f8d2: fba2 1203 umull r1, r2, r2, r3 808f8d6: 0952 lsrs r2, r2, #5 808f8d8: 2164 movs r1, #100 ; 0x64 808f8da: fb01 f202 mul.w r2, r1, r2 808f8de: 1a9a subs r2, r3, r2 808f8e0: 4bb7 ldr r3, [pc, #732] ; (808fbc0 ) 808f8e2: fba3 2302 umull r2, r3, r3, r2 808f8e6: 08db lsrs r3, r3, #3 808f8e8: b2db uxtb r3, r3 808f8ea: f887 33d4 strb.w r3, [r7, #980] ; 0x3d4 ikd2 = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808f8ee: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808f8f2: 0953 lsrs r3, r2, #5 808f8f4: 49ad ldr r1, [pc, #692] ; (808fbac ) 808f8f6: fba1 1303 umull r1, r3, r1, r3 808f8fa: 09db lsrs r3, r3, #7 808f8fc: 49ac ldr r1, [pc, #688] ; (808fbb0 ) 808f8fe: fb01 f303 mul.w r3, r1, r3 808f902: 1ad3 subs r3, r2, r3 808f904: 4aab ldr r2, [pc, #684] ; (808fbb4 ) 808f906: fba2 1203 umull r1, r2, r2, r3 808f90a: 0b52 lsrs r2, r2, #13 808f90c: f242 7110 movw r1, #10000 ; 0x2710 808f910: fb01 f202 mul.w r2, r1, r2 808f914: 1a9a subs r2, r3, r2 808f916: 4ba8 ldr r3, [pc, #672] ; (808fbb8 ) 808f918: fba3 1302 umull r1, r3, r3, r2 808f91c: 099b lsrs r3, r3, #6 808f91e: f44f 717a mov.w r1, #1000 ; 0x3e8 808f922: fb01 f303 mul.w r3, r1, r3 808f926: 1ad3 subs r3, r2, r3 808f928: 4aa4 ldr r2, [pc, #656] ; (808fbbc ) 808f92a: fba2 1203 umull r1, r2, r2, r3 808f92e: 0952 lsrs r2, r2, #5 808f930: 2164 movs r1, #100 ; 0x64 808f932: fb01 f202 mul.w r2, r1, r2 808f936: 1a9a subs r2, r3, r2 808f938: 4ba1 ldr r3, [pc, #644] ; (808fbc0 ) 808f93a: fba3 1302 umull r1, r3, r3, r2 808f93e: 08d9 lsrs r1, r3, #3 808f940: 460b mov r3, r1 808f942: 009b lsls r3, r3, #2 808f944: 440b add r3, r1 808f946: 005b lsls r3, r3, #1 808f948: 1ad1 subs r1, r2, r3 808f94a: b2cb uxtb r3, r1 808f94c: f887 33d3 strb.w r3, [r7, #979] ; 0x3d3 i = 0; 808f950: 2300 movs r3, #0 808f952: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strMax, 0, sizeof(strMax)); 808f956: f507 73c0 add.w r3, r7, #384 ; 0x180 808f95a: 220c movs r2, #12 808f95c: 2100 movs r1, #0 808f95e: 4618 mov r0, r3 808f960: f03d fb8e bl 80cd080 if(idt2 != 0) 808f964: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f968: b2db uxtb r3, r3 808f96a: 2b00 cmp r3, #0 808f96c: d00c beq.n 808f988 strMax[i++] = idt2 + 48; 808f96e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f972: 1c5a adds r2, r3, #1 808f974: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f978: f897 23d8 ldrb.w r2, [r7, #984] ; 0x3d8 808f97c: b2d2 uxtb r2, r2 808f97e: 3230 adds r2, #48 ; 0x30 808f980: b2d1 uxtb r1, r2 808f982: f507 72c0 add.w r2, r7, #384 ; 0x180 808f986: 54d1 strb r1, [r2, r3] if((iet2 != 0) || (idt2 != 0)) 808f988: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808f98c: b2db uxtb r3, r3 808f98e: 2b00 cmp r3, #0 808f990: d104 bne.n 808f99c 808f992: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f996: b2db uxtb r3, r3 808f998: 2b00 cmp r3, #0 808f99a: d00c beq.n 808f9b6 strMax[i++] = iet2 + 48; 808f99c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f9a0: 1c5a adds r2, r3, #1 808f9a2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f9a6: f897 23d7 ldrb.w r2, [r7, #983] ; 0x3d7 808f9aa: b2d2 uxtb r2, r2 808f9ac: 3230 adds r2, #48 ; 0x30 808f9ae: b2d1 uxtb r1, r2 808f9b0: f507 72c0 add.w r2, r7, #384 ; 0x180 808f9b4: 54d1 strb r1, [r2, r3] if((ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808f9b6: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808f9ba: b2db uxtb r3, r3 808f9bc: 2b00 cmp r3, #0 808f9be: d109 bne.n 808f9d4 808f9c0: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808f9c4: b2db uxtb r3, r3 808f9c6: 2b00 cmp r3, #0 808f9c8: d104 bne.n 808f9d4 808f9ca: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808f9ce: b2db uxtb r3, r3 808f9d0: 2b00 cmp r3, #0 808f9d2: d00c beq.n 808f9ee strMax[i++] = ies2 + 48; 808f9d4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808f9d8: 1c5a adds r2, r3, #1 808f9da: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808f9de: f897 23d6 ldrb.w r2, [r7, #982] ; 0x3d6 808f9e2: b2d2 uxtb r2, r2 808f9e4: 3230 adds r2, #48 ; 0x30 808f9e6: b2d1 uxtb r1, r2 808f9e8: f507 72c0 add.w r2, r7, #384 ; 0x180 808f9ec: 54d1 strb r1, [r2, r3] if((ied2 != 0) || (ies2 != 0) || (iet2 != 0) || (idt2 != 0)) 808f9ee: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 808f9f2: b2db uxtb r3, r3 808f9f4: 2b00 cmp r3, #0 808f9f6: d10e bne.n 808fa16 808f9f8: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 808f9fc: b2db uxtb r3, r3 808f9fe: 2b00 cmp r3, #0 808fa00: d109 bne.n 808fa16 808fa02: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 808fa06: b2db uxtb r3, r3 808fa08: 2b00 cmp r3, #0 808fa0a: d104 bne.n 808fa16 808fa0c: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 808fa10: b2db uxtb r3, r3 808fa12: 2b00 cmp r3, #0 808fa14: d00c beq.n 808fa30 strMax[i++] = ied2 + 48; 808fa16: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fa1a: 1c5a adds r2, r3, #1 808fa1c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fa20: f897 23d5 ldrb.w r2, [r7, #981] ; 0x3d5 808fa24: b2d2 uxtb r2, r2 808fa26: 3230 adds r2, #48 ; 0x30 808fa28: b2d1 uxtb r1, r2 808fa2a: f507 72c0 add.w r2, r7, #384 ; 0x180 808fa2e: 54d1 strb r1, [r2, r3] strMax[i++] = iee2 + 48; 808fa30: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fa34: 1c5a adds r2, r3, #1 808fa36: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fa3a: f897 23d4 ldrb.w r2, [r7, #980] ; 0x3d4 808fa3e: b2d2 uxtb r2, r2 808fa40: 3230 adds r2, #48 ; 0x30 808fa42: b2d1 uxtb r1, r2 808fa44: f507 72c0 add.w r2, r7, #384 ; 0x180 808fa48: 54d1 strb r1, [r2, r3] strMax[i++] = '.'; 808fa4a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fa4e: 1c5a adds r2, r3, #1 808fa50: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fa54: f507 72c0 add.w r2, r7, #384 ; 0x180 808fa58: 212e movs r1, #46 ; 0x2e 808fa5a: 54d1 strb r1, [r2, r3] strMax[i++] = ikd2 + 48; 808fa5c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fa60: 1c5a adds r2, r3, #1 808fa62: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fa66: f897 23d3 ldrb.w r2, [r7, #979] ; 0x3d3 808fa6a: b2d2 uxtb r2, r2 808fa6c: 3230 adds r2, #48 ; 0x30 808fa6e: b2d1 uxtb r1, r2 808fa70: f507 72c0 add.w r2, r7, #384 ; 0x180 808fa74: 54d1 strb r1, [r2, r3] k = (uint32_t) (0.5000011f * 10.0f); 808fa76: 2305 movs r3, #5 808fa78: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtHP = (uint8_t) (k / 100000); 808fa7c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808fa80: 095b lsrs r3, r3, #5 808fa82: 4a4a ldr r2, [pc, #296] ; (808fbac ) 808fa84: fba2 2303 umull r2, r3, r2, r3 808fa88: 09db lsrs r3, r3, #7 808fa8a: b2db uxtb r3, r3 808fa8c: f887 33d1 strb.w r3, [r7, #977] ; 0x3d1 ietHP = (uint8_t) (k % 100000 / 10000); 808fa90: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fa94: 0953 lsrs r3, r2, #5 808fa96: 4945 ldr r1, [pc, #276] ; (808fbac ) 808fa98: fba1 1303 umull r1, r3, r1, r3 808fa9c: 09db lsrs r3, r3, #7 808fa9e: 4944 ldr r1, [pc, #272] ; (808fbb0 ) 808faa0: fb01 f303 mul.w r3, r1, r3 808faa4: 1ad3 subs r3, r2, r3 808faa6: 4a43 ldr r2, [pc, #268] ; (808fbb4 ) 808faa8: fba2 2303 umull r2, r3, r2, r3 808faac: 0b5b lsrs r3, r3, #13 808faae: b2db uxtb r3, r3 808fab0: f887 33d0 strb.w r3, [r7, #976] ; 0x3d0 iesHP = (uint8_t) (k % 100000 % 10000 / 1000); 808fab4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fab8: 0953 lsrs r3, r2, #5 808faba: 493c ldr r1, [pc, #240] ; (808fbac ) 808fabc: fba1 1303 umull r1, r3, r1, r3 808fac0: 09db lsrs r3, r3, #7 808fac2: 493b ldr r1, [pc, #236] ; (808fbb0 ) 808fac4: fb01 f303 mul.w r3, r1, r3 808fac8: 1ad3 subs r3, r2, r3 808faca: 4a3a ldr r2, [pc, #232] ; (808fbb4 ) 808facc: fba2 1203 umull r1, r2, r2, r3 808fad0: 0b52 lsrs r2, r2, #13 808fad2: f242 7110 movw r1, #10000 ; 0x2710 808fad6: fb01 f202 mul.w r2, r1, r2 808fada: 1a9a subs r2, r3, r2 808fadc: 4b36 ldr r3, [pc, #216] ; (808fbb8 ) 808fade: fba3 2302 umull r2, r3, r3, r2 808fae2: 099b lsrs r3, r3, #6 808fae4: b2db uxtb r3, r3 808fae6: f887 33cf strb.w r3, [r7, #975] ; 0x3cf iedHP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808faea: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808faee: 095a lsrs r2, r3, #5 808faf0: 492e ldr r1, [pc, #184] ; (808fbac ) 808faf2: fba1 1202 umull r1, r2, r1, r2 808faf6: 09d2 lsrs r2, r2, #7 808faf8: 492d ldr r1, [pc, #180] ; (808fbb0 ) 808fafa: fb01 f202 mul.w r2, r1, r2 808fafe: 1a9a subs r2, r3, r2 808fb00: 4b2c ldr r3, [pc, #176] ; (808fbb4 ) 808fb02: fba3 1302 umull r1, r3, r3, r2 808fb06: 0b5b lsrs r3, r3, #13 808fb08: f242 7110 movw r1, #10000 ; 0x2710 808fb0c: fb01 f303 mul.w r3, r1, r3 808fb10: 1ad3 subs r3, r2, r3 808fb12: 4a29 ldr r2, [pc, #164] ; (808fbb8 ) 808fb14: fba2 1203 umull r1, r2, r2, r3 808fb18: 0992 lsrs r2, r2, #6 808fb1a: f44f 717a mov.w r1, #1000 ; 0x3e8 808fb1e: fb01 f202 mul.w r2, r1, r2 808fb22: 1a9a subs r2, r3, r2 808fb24: 4b25 ldr r3, [pc, #148] ; (808fbbc ) 808fb26: fba3 2302 umull r2, r3, r3, r2 808fb2a: 095b lsrs r3, r3, #5 808fb2c: b2db uxtb r3, r3 808fb2e: f887 33ce strb.w r3, [r7, #974] ; 0x3ce ieeHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808fb32: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fb36: 0953 lsrs r3, r2, #5 808fb38: 491c ldr r1, [pc, #112] ; (808fbac ) 808fb3a: fba1 1303 umull r1, r3, r1, r3 808fb3e: 09db lsrs r3, r3, #7 808fb40: 491b ldr r1, [pc, #108] ; (808fbb0 ) 808fb42: fb01 f303 mul.w r3, r1, r3 808fb46: 1ad3 subs r3, r2, r3 808fb48: 4a1a ldr r2, [pc, #104] ; (808fbb4 ) 808fb4a: fba2 1203 umull r1, r2, r2, r3 808fb4e: 0b52 lsrs r2, r2, #13 808fb50: f242 7110 movw r1, #10000 ; 0x2710 808fb54: fb01 f202 mul.w r2, r1, r2 808fb58: 1a9a subs r2, r3, r2 808fb5a: 4b17 ldr r3, [pc, #92] ; (808fbb8 ) 808fb5c: fba3 1302 umull r1, r3, r3, r2 808fb60: 099b lsrs r3, r3, #6 808fb62: f44f 717a mov.w r1, #1000 ; 0x3e8 808fb66: fb01 f303 mul.w r3, r1, r3 808fb6a: 1ad3 subs r3, r2, r3 808fb6c: 4a13 ldr r2, [pc, #76] ; (808fbbc ) 808fb6e: fba2 1203 umull r1, r2, r2, r3 808fb72: 0952 lsrs r2, r2, #5 808fb74: 2164 movs r1, #100 ; 0x64 808fb76: fb01 f202 mul.w r2, r1, r2 808fb7a: 1a9a subs r2, r3, r2 808fb7c: 4b10 ldr r3, [pc, #64] ; (808fbc0 ) 808fb7e: fba3 2302 umull r2, r3, r3, r2 808fb82: 08db lsrs r3, r3, #3 808fb84: b2db uxtb r3, r3 808fb86: f887 33cd strb.w r3, [r7, #973] ; 0x3cd ikdHP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808fb8a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fb8e: 0953 lsrs r3, r2, #5 808fb90: 4906 ldr r1, [pc, #24] ; (808fbac ) 808fb92: fba1 1303 umull r1, r3, r1, r3 808fb96: 09db lsrs r3, r3, #7 808fb98: 4905 ldr r1, [pc, #20] ; (808fbb0 ) 808fb9a: fb01 f303 mul.w r3, r1, r3 808fb9e: 1ad3 subs r3, r2, r3 808fba0: 4a04 ldr r2, [pc, #16] ; (808fbb4 ) 808fba2: fba2 1203 umull r1, r2, r2, r3 808fba6: 0b52 lsrs r2, r2, #13 808fba8: e00c b.n 808fbc4 808fbaa: bf00 nop 808fbac: 0a7c5ac5 .word 0x0a7c5ac5 808fbb0: 000186a0 .word 0x000186a0 808fbb4: d1b71759 .word 0xd1b71759 808fbb8: 10624dd3 .word 0x10624dd3 808fbbc: 51eb851f .word 0x51eb851f 808fbc0: cccccccd .word 0xcccccccd 808fbc4: f242 7110 movw r1, #10000 ; 0x2710 808fbc8: fb01 f202 mul.w r2, r1, r2 808fbcc: 1a9a subs r2, r3, r2 808fbce: 4bc9 ldr r3, [pc, #804] ; (808fef4 ) 808fbd0: fba3 1302 umull r1, r3, r3, r2 808fbd4: 099b lsrs r3, r3, #6 808fbd6: f44f 717a mov.w r1, #1000 ; 0x3e8 808fbda: fb01 f303 mul.w r3, r1, r3 808fbde: 1ad3 subs r3, r2, r3 808fbe0: 4ac5 ldr r2, [pc, #788] ; (808fef8 ) 808fbe2: fba2 1203 umull r1, r2, r2, r3 808fbe6: 0952 lsrs r2, r2, #5 808fbe8: 2164 movs r1, #100 ; 0x64 808fbea: fb01 f202 mul.w r2, r1, r2 808fbee: 1a9a subs r2, r3, r2 808fbf0: 4bc2 ldr r3, [pc, #776] ; (808fefc ) 808fbf2: fba3 1302 umull r1, r3, r3, r2 808fbf6: 08d9 lsrs r1, r3, #3 808fbf8: 460b mov r3, r1 808fbfa: 009b lsls r3, r3, #2 808fbfc: 440b add r3, r1 808fbfe: 005b lsls r3, r3, #1 808fc00: 1ad1 subs r1, r2, r3 808fc02: b2cb uxtb r3, r1 808fc04: f887 33cc strb.w r3, [r7, #972] ; 0x3cc i = 0; 808fc08: 2300 movs r3, #0 808fc0a: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strHP, 0, sizeof(strHP)); 808fc0e: f507 73d2 add.w r3, r7, #420 ; 0x1a4 808fc12: 220c movs r2, #12 808fc14: 2100 movs r1, #0 808fc16: 4618 mov r0, r3 808fc18: f03d fa32 bl 80cd080 if(idtHP != 0) 808fc1c: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808fc20: b2db uxtb r3, r3 808fc22: 2b00 cmp r3, #0 808fc24: d00c beq.n 808fc40 strHP[i++] = idtHP + 48; 808fc26: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fc2a: 1c5a adds r2, r3, #1 808fc2c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fc30: f897 23d1 ldrb.w r2, [r7, #977] ; 0x3d1 808fc34: b2d2 uxtb r2, r2 808fc36: 3230 adds r2, #48 ; 0x30 808fc38: b2d1 uxtb r1, r2 808fc3a: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fc3e: 54d1 strb r1, [r2, r3] if((ietHP != 0) || (idtHP != 0)) 808fc40: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808fc44: b2db uxtb r3, r3 808fc46: 2b00 cmp r3, #0 808fc48: d104 bne.n 808fc54 808fc4a: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808fc4e: b2db uxtb r3, r3 808fc50: 2b00 cmp r3, #0 808fc52: d00c beq.n 808fc6e strHP[i++] = ietHP + 48; 808fc54: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fc58: 1c5a adds r2, r3, #1 808fc5a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fc5e: f897 23d0 ldrb.w r2, [r7, #976] ; 0x3d0 808fc62: b2d2 uxtb r2, r2 808fc64: 3230 adds r2, #48 ; 0x30 808fc66: b2d1 uxtb r1, r2 808fc68: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fc6c: 54d1 strb r1, [r2, r3] if((iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808fc6e: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808fc72: b2db uxtb r3, r3 808fc74: 2b00 cmp r3, #0 808fc76: d109 bne.n 808fc8c 808fc78: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808fc7c: b2db uxtb r3, r3 808fc7e: 2b00 cmp r3, #0 808fc80: d104 bne.n 808fc8c 808fc82: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808fc86: b2db uxtb r3, r3 808fc88: 2b00 cmp r3, #0 808fc8a: d00c beq.n 808fca6 strHP[i++] = iesHP + 48; 808fc8c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fc90: 1c5a adds r2, r3, #1 808fc92: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fc96: f897 23cf ldrb.w r2, [r7, #975] ; 0x3cf 808fc9a: b2d2 uxtb r2, r2 808fc9c: 3230 adds r2, #48 ; 0x30 808fc9e: b2d1 uxtb r1, r2 808fca0: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fca4: 54d1 strb r1, [r2, r3] if((iedHP != 0) || (iesHP != 0) || (ietHP != 0) || (idtHP != 0)) 808fca6: f897 33ce ldrb.w r3, [r7, #974] ; 0x3ce 808fcaa: b2db uxtb r3, r3 808fcac: 2b00 cmp r3, #0 808fcae: d10e bne.n 808fcce 808fcb0: f897 33cf ldrb.w r3, [r7, #975] ; 0x3cf 808fcb4: b2db uxtb r3, r3 808fcb6: 2b00 cmp r3, #0 808fcb8: d109 bne.n 808fcce 808fcba: f897 33d0 ldrb.w r3, [r7, #976] ; 0x3d0 808fcbe: b2db uxtb r3, r3 808fcc0: 2b00 cmp r3, #0 808fcc2: d104 bne.n 808fcce 808fcc4: f897 33d1 ldrb.w r3, [r7, #977] ; 0x3d1 808fcc8: b2db uxtb r3, r3 808fcca: 2b00 cmp r3, #0 808fccc: d00c beq.n 808fce8 strHP[i++] = iedHP + 48; 808fcce: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fcd2: 1c5a adds r2, r3, #1 808fcd4: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fcd8: f897 23ce ldrb.w r2, [r7, #974] ; 0x3ce 808fcdc: b2d2 uxtb r2, r2 808fcde: 3230 adds r2, #48 ; 0x30 808fce0: b2d1 uxtb r1, r2 808fce2: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fce6: 54d1 strb r1, [r2, r3] strHP[i++] = ieeHP + 48; 808fce8: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fcec: 1c5a adds r2, r3, #1 808fcee: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fcf2: f897 23cd ldrb.w r2, [r7, #973] ; 0x3cd 808fcf6: b2d2 uxtb r2, r2 808fcf8: 3230 adds r2, #48 ; 0x30 808fcfa: b2d1 uxtb r1, r2 808fcfc: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fd00: 54d1 strb r1, [r2, r3] strHP[i++] = '.'; 808fd02: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fd06: 1c5a adds r2, r3, #1 808fd08: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fd0c: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fd10: 212e movs r1, #46 ; 0x2e 808fd12: 54d1 strb r1, [r2, r3] strHP[i++] = ikdHP + 48; 808fd14: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fd18: 1c5a adds r2, r3, #1 808fd1a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fd1e: f897 23cc ldrb.w r2, [r7, #972] ; 0x3cc 808fd22: b2d2 uxtb r2, r2 808fd24: 3230 adds r2, #48 ; 0x30 808fd26: b2d1 uxtb r1, r2 808fd28: f507 72d2 add.w r2, r7, #420 ; 0x1a4 808fd2c: 54d1 strb r1, [r2, r3] k = (uint32_t) (12800.000011f * 10.0f); 808fd2e: f44f 33fa mov.w r3, #128000 ; 0x1f400 808fd32: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 idtLP = (uint8_t) (k / 100000); 808fd36: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808fd3a: 095b lsrs r3, r3, #5 808fd3c: 4a70 ldr r2, [pc, #448] ; (808ff00 ) 808fd3e: fba2 2303 umull r2, r3, r2, r3 808fd42: 09db lsrs r3, r3, #7 808fd44: b2db uxtb r3, r3 808fd46: f887 33ca strb.w r3, [r7, #970] ; 0x3ca ietLP = (uint8_t) (k % 100000 / 10000); 808fd4a: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fd4e: 0953 lsrs r3, r2, #5 808fd50: 496b ldr r1, [pc, #428] ; (808ff00 ) 808fd52: fba1 1303 umull r1, r3, r1, r3 808fd56: 09db lsrs r3, r3, #7 808fd58: 496a ldr r1, [pc, #424] ; (808ff04 ) 808fd5a: fb01 f303 mul.w r3, r1, r3 808fd5e: 1ad3 subs r3, r2, r3 808fd60: 4a69 ldr r2, [pc, #420] ; (808ff08 ) 808fd62: fba2 2303 umull r2, r3, r2, r3 808fd66: 0b5b lsrs r3, r3, #13 808fd68: b2db uxtb r3, r3 808fd6a: f887 33c9 strb.w r3, [r7, #969] ; 0x3c9 iesLP = (uint8_t) (k % 100000 % 10000 / 1000); 808fd6e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fd72: 0953 lsrs r3, r2, #5 808fd74: 4962 ldr r1, [pc, #392] ; (808ff00 ) 808fd76: fba1 1303 umull r1, r3, r1, r3 808fd7a: 09db lsrs r3, r3, #7 808fd7c: 4961 ldr r1, [pc, #388] ; (808ff04 ) 808fd7e: fb01 f303 mul.w r3, r1, r3 808fd82: 1ad3 subs r3, r2, r3 808fd84: 4a60 ldr r2, [pc, #384] ; (808ff08 ) 808fd86: fba2 1203 umull r1, r2, r2, r3 808fd8a: 0b52 lsrs r2, r2, #13 808fd8c: f242 7110 movw r1, #10000 ; 0x2710 808fd90: fb01 f202 mul.w r2, r1, r2 808fd94: 1a9a subs r2, r3, r2 808fd96: 4b57 ldr r3, [pc, #348] ; (808fef4 ) 808fd98: fba3 2302 umull r2, r3, r3, r2 808fd9c: 099b lsrs r3, r3, #6 808fd9e: b2db uxtb r3, r3 808fda0: f887 33c8 strb.w r3, [r7, #968] ; 0x3c8 iedLP = (uint8_t) (k % 100000 % 10000 % 1000 / 100); 808fda4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 808fda8: 095a lsrs r2, r3, #5 808fdaa: 4955 ldr r1, [pc, #340] ; (808ff00 ) 808fdac: fba1 1202 umull r1, r2, r1, r2 808fdb0: 09d2 lsrs r2, r2, #7 808fdb2: 4954 ldr r1, [pc, #336] ; (808ff04 ) 808fdb4: fb01 f202 mul.w r2, r1, r2 808fdb8: 1a9a subs r2, r3, r2 808fdba: 4b53 ldr r3, [pc, #332] ; (808ff08 ) 808fdbc: fba3 1302 umull r1, r3, r3, r2 808fdc0: 0b5b lsrs r3, r3, #13 808fdc2: f242 7110 movw r1, #10000 ; 0x2710 808fdc6: fb01 f303 mul.w r3, r1, r3 808fdca: 1ad3 subs r3, r2, r3 808fdcc: 4a49 ldr r2, [pc, #292] ; (808fef4 ) 808fdce: fba2 1203 umull r1, r2, r2, r3 808fdd2: 0992 lsrs r2, r2, #6 808fdd4: f44f 717a mov.w r1, #1000 ; 0x3e8 808fdd8: fb01 f202 mul.w r2, r1, r2 808fddc: 1a9a subs r2, r3, r2 808fdde: 4b46 ldr r3, [pc, #280] ; (808fef8 ) 808fde0: fba3 2302 umull r2, r3, r3, r2 808fde4: 095b lsrs r3, r3, #5 808fde6: b2db uxtb r3, r3 808fde8: f887 33c7 strb.w r3, [r7, #967] ; 0x3c7 ieeLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 / 10); 808fdec: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fdf0: 0953 lsrs r3, r2, #5 808fdf2: 4943 ldr r1, [pc, #268] ; (808ff00 ) 808fdf4: fba1 1303 umull r1, r3, r1, r3 808fdf8: 09db lsrs r3, r3, #7 808fdfa: 4942 ldr r1, [pc, #264] ; (808ff04 ) 808fdfc: fb01 f303 mul.w r3, r1, r3 808fe00: 1ad3 subs r3, r2, r3 808fe02: 4a41 ldr r2, [pc, #260] ; (808ff08 ) 808fe04: fba2 1203 umull r1, r2, r2, r3 808fe08: 0b52 lsrs r2, r2, #13 808fe0a: f242 7110 movw r1, #10000 ; 0x2710 808fe0e: fb01 f202 mul.w r2, r1, r2 808fe12: 1a9a subs r2, r3, r2 808fe14: 4b37 ldr r3, [pc, #220] ; (808fef4 ) 808fe16: fba3 1302 umull r1, r3, r3, r2 808fe1a: 099b lsrs r3, r3, #6 808fe1c: f44f 717a mov.w r1, #1000 ; 0x3e8 808fe20: fb01 f303 mul.w r3, r1, r3 808fe24: 1ad3 subs r3, r2, r3 808fe26: 4a34 ldr r2, [pc, #208] ; (808fef8 ) 808fe28: fba2 1203 umull r1, r2, r2, r3 808fe2c: 0952 lsrs r2, r2, #5 808fe2e: 2164 movs r1, #100 ; 0x64 808fe30: fb01 f202 mul.w r2, r1, r2 808fe34: 1a9a subs r2, r3, r2 808fe36: 4b31 ldr r3, [pc, #196] ; (808fefc ) 808fe38: fba3 2302 umull r2, r3, r3, r2 808fe3c: 08db lsrs r3, r3, #3 808fe3e: b2db uxtb r3, r3 808fe40: f887 33c6 strb.w r3, [r7, #966] ; 0x3c6 ikdLP = (uint8_t) (k % 100000 % 10000 % 1000 % 100 % 10); 808fe44: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 808fe48: 0953 lsrs r3, r2, #5 808fe4a: 492d ldr r1, [pc, #180] ; (808ff00 ) 808fe4c: fba1 1303 umull r1, r3, r1, r3 808fe50: 09db lsrs r3, r3, #7 808fe52: 492c ldr r1, [pc, #176] ; (808ff04 ) 808fe54: fb01 f303 mul.w r3, r1, r3 808fe58: 1ad3 subs r3, r2, r3 808fe5a: 4a2b ldr r2, [pc, #172] ; (808ff08 ) 808fe5c: fba2 1203 umull r1, r2, r2, r3 808fe60: 0b52 lsrs r2, r2, #13 808fe62: f242 7110 movw r1, #10000 ; 0x2710 808fe66: fb01 f202 mul.w r2, r1, r2 808fe6a: 1a9a subs r2, r3, r2 808fe6c: 4b21 ldr r3, [pc, #132] ; (808fef4 ) 808fe6e: fba3 1302 umull r1, r3, r3, r2 808fe72: 099b lsrs r3, r3, #6 808fe74: f44f 717a mov.w r1, #1000 ; 0x3e8 808fe78: fb01 f303 mul.w r3, r1, r3 808fe7c: 1ad3 subs r3, r2, r3 808fe7e: 4a1e ldr r2, [pc, #120] ; (808fef8 ) 808fe80: fba2 1203 umull r1, r2, r2, r3 808fe84: 0952 lsrs r2, r2, #5 808fe86: 2164 movs r1, #100 ; 0x64 808fe88: fb01 f202 mul.w r2, r1, r2 808fe8c: 1a9a subs r2, r3, r2 808fe8e: 4b1b ldr r3, [pc, #108] ; (808fefc ) 808fe90: fba3 1302 umull r1, r3, r3, r2 808fe94: 08d9 lsrs r1, r3, #3 808fe96: 460b mov r3, r1 808fe98: 009b lsls r3, r3, #2 808fe9a: 440b add r3, r1 808fe9c: 005b lsls r3, r3, #1 808fe9e: 1ad1 subs r1, r2, r3 808fea0: b2cb uxtb r3, r1 808fea2: f887 33c5 strb.w r3, [r7, #965] ; 0x3c5 i = 0; 808fea6: 2300 movs r3, #0 808fea8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 memset(strLP, 0, sizeof(strLP)); 808feac: f507 73cc add.w r3, r7, #408 ; 0x198 808feb0: 220c movs r2, #12 808feb2: 2100 movs r1, #0 808feb4: 4618 mov r0, r3 808feb6: f03d f8e3 bl 80cd080 if(idtLP != 0) 808feba: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808febe: b2db uxtb r3, r3 808fec0: 2b00 cmp r3, #0 808fec2: d00c beq.n 808fede strLP[i++] = idtLP + 48; 808fec4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808fec8: 1c5a adds r2, r3, #1 808feca: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808fece: f897 23ca ldrb.w r2, [r7, #970] ; 0x3ca 808fed2: b2d2 uxtb r2, r2 808fed4: 3230 adds r2, #48 ; 0x30 808fed6: b2d1 uxtb r1, r2 808fed8: f507 72cc add.w r2, r7, #408 ; 0x198 808fedc: 54d1 strb r1, [r2, r3] if((ietLP != 0) || (idtLP != 0)) 808fede: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808fee2: b2db uxtb r3, r3 808fee4: 2b00 cmp r3, #0 808fee6: d111 bne.n 808ff0c 808fee8: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808feec: b2db uxtb r3, r3 808feee: 2b00 cmp r3, #0 808fef0: d019 beq.n 808ff26 808fef2: e00b b.n 808ff0c 808fef4: 10624dd3 .word 0x10624dd3 808fef8: 51eb851f .word 0x51eb851f 808fefc: cccccccd .word 0xcccccccd 808ff00: 0a7c5ac5 .word 0x0a7c5ac5 808ff04: 000186a0 .word 0x000186a0 808ff08: d1b71759 .word 0xd1b71759 strLP[i++] = ietLP + 48; 808ff0c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ff10: 1c5a adds r2, r3, #1 808ff12: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ff16: f897 23c9 ldrb.w r2, [r7, #969] ; 0x3c9 808ff1a: b2d2 uxtb r2, r2 808ff1c: 3230 adds r2, #48 ; 0x30 808ff1e: b2d1 uxtb r1, r2 808ff20: f507 72cc add.w r2, r7, #408 ; 0x198 808ff24: 54d1 strb r1, [r2, r3] if((iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808ff26: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808ff2a: b2db uxtb r3, r3 808ff2c: 2b00 cmp r3, #0 808ff2e: d109 bne.n 808ff44 808ff30: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808ff34: b2db uxtb r3, r3 808ff36: 2b00 cmp r3, #0 808ff38: d104 bne.n 808ff44 808ff3a: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808ff3e: b2db uxtb r3, r3 808ff40: 2b00 cmp r3, #0 808ff42: d00c beq.n 808ff5e strLP[i++] = iesLP + 48; 808ff44: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ff48: 1c5a adds r2, r3, #1 808ff4a: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ff4e: f897 23c8 ldrb.w r2, [r7, #968] ; 0x3c8 808ff52: b2d2 uxtb r2, r2 808ff54: 3230 adds r2, #48 ; 0x30 808ff56: b2d1 uxtb r1, r2 808ff58: f507 72cc add.w r2, r7, #408 ; 0x198 808ff5c: 54d1 strb r1, [r2, r3] if((iedLP != 0) || (iesLP != 0) || (ietLP != 0) || (idtLP != 0)) 808ff5e: f897 33c7 ldrb.w r3, [r7, #967] ; 0x3c7 808ff62: b2db uxtb r3, r3 808ff64: 2b00 cmp r3, #0 808ff66: d10e bne.n 808ff86 808ff68: f897 33c8 ldrb.w r3, [r7, #968] ; 0x3c8 808ff6c: b2db uxtb r3, r3 808ff6e: 2b00 cmp r3, #0 808ff70: d109 bne.n 808ff86 808ff72: f897 33c9 ldrb.w r3, [r7, #969] ; 0x3c9 808ff76: b2db uxtb r3, r3 808ff78: 2b00 cmp r3, #0 808ff7a: d104 bne.n 808ff86 808ff7c: f897 33ca ldrb.w r3, [r7, #970] ; 0x3ca 808ff80: b2db uxtb r3, r3 808ff82: 2b00 cmp r3, #0 808ff84: d00c beq.n 808ffa0 strLP[i++] = iedLP + 48; 808ff86: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ff8a: 1c5a adds r2, r3, #1 808ff8c: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ff90: f897 23c7 ldrb.w r2, [r7, #967] ; 0x3c7 808ff94: b2d2 uxtb r2, r2 808ff96: 3230 adds r2, #48 ; 0x30 808ff98: b2d1 uxtb r1, r2 808ff9a: f507 72cc add.w r2, r7, #408 ; 0x198 808ff9e: 54d1 strb r1, [r2, r3] strLP[i++] = ieeLP + 48; 808ffa0: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ffa4: 1c5a adds r2, r3, #1 808ffa6: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ffaa: f897 23c6 ldrb.w r2, [r7, #966] ; 0x3c6 808ffae: b2d2 uxtb r2, r2 808ffb0: 3230 adds r2, #48 ; 0x30 808ffb2: b2d1 uxtb r1, r2 808ffb4: f507 72cc add.w r2, r7, #408 ; 0x198 808ffb8: 54d1 strb r1, [r2, r3] strLP[i++] = '.'; 808ffba: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ffbe: 1c5a adds r2, r3, #1 808ffc0: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ffc4: f507 72cc add.w r2, r7, #408 ; 0x198 808ffc8: 212e movs r1, #46 ; 0x2e 808ffca: 54d1 strb r1, [r2, r3] strLP[i++] = ikdLP + 48; 808ffcc: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 808ffd0: 1c5a adds r2, r3, #1 808ffd2: f8c7 2400 str.w r2, [r7, #1024] ; 0x400 808ffd6: f897 23c5 ldrb.w r2, [r7, #965] ; 0x3c5 808ffda: b2d2 uxtb r2, r2 808ffdc: 3230 adds r2, #48 ; 0x30 808ffde: b2d1 uxtb r1, r2 808ffe0: f507 72cc add.w r2, r7, #408 ; 0x198 808ffe4: 54d1 strb r1, [r2, r3] //**************************************************************** strcpy(str, WavFileName); 808ffe6: f507 733b add.w r3, r7, #748 ; 0x2ec 808ffea: 49b2 ldr r1, [pc, #712] ; (80902b4 ) 808ffec: 4618 mov r0, r3 808ffee: f03d f964 bl 80cd2ba l = strlen(str); 808fff2: f507 733b add.w r3, r7, #748 ; 0x2ec 808fff6: 4618 mov r0, r3 808fff8: f790 f98c bl 8020314 808fffc: 4603 mov r3, r0 808fffe: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if((l >= 4) && (str[l - 4] == '.')) 8090002: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 8090006: 2b03 cmp r3, #3 8090008: d90e bls.n 8090028 809000a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 809000e: 3b04 subs r3, #4 8090010: f507 723b add.w r2, r7, #748 ; 0x2ec 8090014: 5cd3 ldrb r3, [r2, r3] 8090016: 2b2e cmp r3, #46 ; 0x2e 8090018: d106 bne.n 8090028 str[l - 4] = '\0'; 809001a: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 809001e: 3b04 subs r3, #4 8090020: f507 723b add.w r2, r7, #748 ; 0x2ec 8090024: 2100 movs r1, #0 8090026: 54d1 strb r1, [r2, r3] static uint8_t tw = 0; l = strlen(str); 8090028: f507 733b add.w r3, r7, #748 ; 0x2ec 809002c: 4618 mov r0, r3 809002e: f790 f971 bl 8020314 8090032: 4603 mov r3, r0 8090034: f8c7 33f4 str.w r3, [r7, #1012] ; 0x3f4 if(l < 10) 8090038: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 809003c: 2b09 cmp r3, #9 809003e: d808 bhi.n 8090052 { strcpy(str1, str); 8090040: f507 723b add.w r2, r7, #748 ; 0x2ec 8090044: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090048: 4611 mov r1, r2 809004a: 4618 mov r0, r3 809004c: f03d f935 bl 80cd2ba 8090050: e064 b.n 809011c } else { static uint32_t tmw = 0; memset(str1, 0x20, sizeof(str1)); 8090052: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090056: f44f 7280 mov.w r2, #256 ; 0x100 809005a: 2120 movs r1, #32 809005c: 4618 mov r0, r3 809005e: f03d f80f bl 80cd080 if(tmw <= l) 8090062: 4b95 ldr r3, [pc, #596] ; (80902b8 ) 8090064: 681a ldr r2, [r3, #0] 8090066: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 809006a: 429a cmp r2, r3 809006c: d822 bhi.n 80900b4 { if(l - tmw >= 9) 809006e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 8090072: 4b91 ldr r3, [pc, #580] ; (80902b8 ) 8090074: 681b ldr r3, [r3, #0] 8090076: 1ad3 subs r3, r2, r3 8090078: 2b08 cmp r3, #8 809007a: d90b bls.n 8090094 memcpy(str1, &str[tmw], 9); 809007c: 4b8e ldr r3, [pc, #568] ; (80902b8 ) 809007e: 681b ldr r3, [r3, #0] 8090080: f507 723b add.w r2, r7, #748 ; 0x2ec 8090084: 18d1 adds r1, r2, r3 8090086: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809008a: 2209 movs r2, #9 809008c: 4618 mov r0, r3 809008e: f03c ffec bl 80cd06a 8090092: e022 b.n 80900da else memcpy(str1, &str[tmw], l - tmw); 8090094: 4b88 ldr r3, [pc, #544] ; (80902b8 ) 8090096: 681b ldr r3, [r3, #0] 8090098: f507 723b add.w r2, r7, #748 ; 0x2ec 809009c: 18d1 adds r1, r2, r3 809009e: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 80900a2: 4b85 ldr r3, [pc, #532] ; (80902b8 ) 80900a4: 681b ldr r3, [r3, #0] 80900a6: 1ad2 subs r2, r2, r3 80900a8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80900ac: 4618 mov r0, r3 80900ae: f03c ffdc bl 80cd06a 80900b2: e012 b.n 80900da } else { memcpy(&str1[9 - (tmw - l)], str, tmw - l); 80900b4: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 80900b8: 4b7f ldr r3, [pc, #508] ; (80902b8 ) 80900ba: 681b ldr r3, [r3, #0] 80900bc: 1ad3 subs r3, r2, r3 80900be: 3309 adds r3, #9 80900c0: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80900c4: 18d0 adds r0, r2, r3 80900c6: 4b7c ldr r3, [pc, #496] ; (80902b8 ) 80900c8: 681a ldr r2, [r3, #0] 80900ca: f8d7 33f4 ldr.w r3, [r7, #1012] ; 0x3f4 80900ce: 1ad2 subs r2, r2, r3 80900d0: f507 733b add.w r3, r7, #748 ; 0x2ec 80900d4: 4619 mov r1, r3 80900d6: f03c ffc8 bl 80cd06a } str1[10] = '\0'; 80900da: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80900de: 2200 movs r2, #0 80900e0: 729a strb r2, [r3, #10] tw++; 80900e2: 4b76 ldr r3, [pc, #472] ; (80902bc ) 80900e4: 781b ldrb r3, [r3, #0] 80900e6: 3301 adds r3, #1 80900e8: b2da uxtb r2, r3 80900ea: 4b74 ldr r3, [pc, #464] ; (80902bc ) 80900ec: 701a strb r2, [r3, #0] if(tw >= 2) 80900ee: 4b73 ldr r3, [pc, #460] ; (80902bc ) 80900f0: 781b ldrb r3, [r3, #0] 80900f2: 2b01 cmp r3, #1 80900f4: d912 bls.n 809011c { tw = 0; 80900f6: 4b71 ldr r3, [pc, #452] ; (80902bc ) 80900f8: 2200 movs r2, #0 80900fa: 701a strb r2, [r3, #0] tmw++; 80900fc: 4b6e ldr r3, [pc, #440] ; (80902b8 ) 80900fe: 681b ldr r3, [r3, #0] 8090100: 3301 adds r3, #1 8090102: 4a6d ldr r2, [pc, #436] ; (80902b8 ) 8090104: 6013 str r3, [r2, #0] if(9 - (tmw - l) == 0) 8090106: f8d7 23f4 ldr.w r2, [r7, #1012] ; 0x3f4 809010a: 4b6b ldr r3, [pc, #428] ; (80902b8 ) 809010c: 681b ldr r3, [r3, #0] 809010e: 1ad3 subs r3, r2, r3 8090110: f113 0f09 cmn.w r3, #9 8090114: d102 bne.n 809011c { tmw = 0; 8090116: 4b68 ldr r3, [pc, #416] ; (80902b8 ) 8090118: 2200 movs r2, #0 809011a: 601a str r2, [r3, #0] } } } //**************************************************************** LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809011c: 4968 ldr r1, [pc, #416] ; (80902c0 ) 809011e: 4869 ldr r0, [pc, #420] ; (80902c4 ) 8090120: f7c3 fb60 bl 80537e4 LCD_DisplayString(10, LCD_LINE_3, (char *) TEXT_PARAM_WAV[pardata.LANG][0]); //FVH 8090124: 4b68 ldr r3, [pc, #416] ; (80902c8 ) 8090126: 7b1b ldrb r3, [r3, #12] 8090128: b2db uxtb r3, r3 809012a: 4619 mov r1, r3 809012c: 4a67 ldr r2, [pc, #412] ; (80902cc ) 809012e: 460b mov r3, r1 8090130: 009b lsls r3, r3, #2 8090132: 440b add r3, r1 8090134: 00db lsls r3, r3, #3 8090136: 4413 add r3, r2 8090138: 681b ldr r3, [r3, #0] 809013a: 461a mov r2, r3 809013c: 213a movs r1, #58 ; 0x3a 809013e: 200a movs r0, #10 8090140: f7c4 f8f8 bl 8054334 LCD_DisplayString(10, LCD_LINE_4, (char *) TEXT_PARAM_WAV[pardata.LANG][1]); //FNH 8090144: 4b60 ldr r3, [pc, #384] ; (80902c8 ) 8090146: 7b1b ldrb r3, [r3, #12] 8090148: b2db uxtb r3, r3 809014a: 4619 mov r1, r3 809014c: 4a5f ldr r2, [pc, #380] ; (80902cc ) 809014e: 460b mov r3, r1 8090150: 009b lsls r3, r3, #2 8090152: 440b add r3, r1 8090154: 00db lsls r3, r3, #3 8090156: 4413 add r3, r2 8090158: 3304 adds r3, #4 809015a: 681b ldr r3, [r3, #0] 809015c: 461a mov r2, r3 809015e: 214a movs r1, #74 ; 0x4a 8090160: 200a movs r0, #10 8090162: f7c4 f8e7 bl 8054334 LCD_DisplayString(10, LCD_LINE_5, (char *) TEXT_PARAM_WAV[pardata.LANG][2]); //×àñòîòà âûáîðêè 8090166: 4b58 ldr r3, [pc, #352] ; (80902c8 ) 8090168: 7b1b ldrb r3, [r3, #12] 809016a: b2db uxtb r3, r3 809016c: 4619 mov r1, r3 809016e: 4a57 ldr r2, [pc, #348] ; (80902cc ) 8090170: 460b mov r3, r1 8090172: 009b lsls r3, r3, #2 8090174: 440b add r3, r1 8090176: 00db lsls r3, r3, #3 8090178: 4413 add r3, r2 809017a: 3308 adds r3, #8 809017c: 681b ldr r3, [r3, #0] 809017e: 461a mov r2, r3 8090180: 215a movs r1, #90 ; 0x5a 8090182: 200a movs r0, #10 8090184: f7c4 f8d6 bl 8054334 LCD_DisplayStringC(260, LCD_LINE_5, (char *) pFRQ[pardata.LANG][pardata.FRQ]); 8090188: 4b4f ldr r3, [pc, #316] ; (80902c8 ) 809018a: 7b1b ldrb r3, [r3, #12] 809018c: b2db uxtb r3, r3 809018e: 4619 mov r1, r3 8090190: 4b4d ldr r3, [pc, #308] ; (80902c8 ) 8090192: 7adb ldrb r3, [r3, #11] 8090194: b2db uxtb r3, r3 8090196: 4618 mov r0, r3 8090198: 4a4d ldr r2, [pc, #308] ; (80902d0 ) 809019a: 460b mov r3, r1 809019c: 009b lsls r3, r3, #2 809019e: 440b add r3, r1 80901a0: 005b lsls r3, r3, #1 80901a2: 4403 add r3, r0 80901a4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80901a8: 461a mov r2, r3 80901aa: 215a movs r1, #90 ; 0x5a 80901ac: f44f 7082 mov.w r0, #260 ; 0x104 80901b0: f7c4 f8d8 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_3, strHP); 80901b4: f507 73d2 add.w r3, r7, #420 ; 0x1a4 80901b8: 461a mov r2, r3 80901ba: 213a movs r1, #58 ; 0x3a 80901bc: f44f 7082 mov.w r0, #260 ; 0x104 80901c0: f7c4 f8d0 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_4, strLP); 80901c4: f507 73cc add.w r3, r7, #408 ; 0x198 80901c8: 461a mov r2, r3 80901ca: 214a movs r1, #74 ; 0x4a 80901cc: f44f 7082 mov.w r0, #260 ; 0x104 80901d0: f7c4 f8c8 bl 8054364 #ifndef USE_D101 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80901d4: 493a ldr r1, [pc, #232] ; (80902c0 ) 80901d6: f04f 30ff mov.w r0, #4294967295 80901da: f7c3 fb03 bl 80537e4 LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_WAV[pardata.LANG][9]); //Âðåìÿ çàïèñè 80901de: 4b3a ldr r3, [pc, #232] ; (80902c8 ) 80901e0: 7b1b ldrb r3, [r3, #12] 80901e2: b2db uxtb r3, r3 80901e4: 4619 mov r1, r3 80901e6: 4a39 ldr r2, [pc, #228] ; (80902cc ) 80901e8: 460b mov r3, r1 80901ea: 009b lsls r3, r3, #2 80901ec: 440b add r3, r1 80901ee: 00db lsls r3, r3, #3 80901f0: 4413 add r3, r2 80901f2: 3324 adds r3, #36 ; 0x24 80901f4: 681b ldr r3, [r3, #0] 80901f6: 461a mov r2, r3 80901f8: 216a movs r1, #106 ; 0x6a 80901fa: 200a movs r0, #10 80901fc: f7c4 f89a bl 8054334 #else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); LCD_DisplayString(10, LCD_LINE_6, (char *) TEXT_PARAM_WAV[pardata.LANG][9]); //Âðåìÿ çàïèñè #endif LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090200: 492f ldr r1, [pc, #188] ; (80902c0 ) 8090202: f04f 30ff mov.w r0, #4294967295 8090206: f7c3 faed bl 80537e4 LCD_DisplayString(10, LCD_LINE_8, (char *) TEXT_PARAM_WAV[pardata.LANG][4]); //Âðåìÿ çàïèñè 809020a: 4b2f ldr r3, [pc, #188] ; (80902c8 ) 809020c: 7b1b ldrb r3, [r3, #12] 809020e: b2db uxtb r3, r3 8090210: 4619 mov r1, r3 8090212: 4a2e ldr r2, [pc, #184] ; (80902cc ) 8090214: 460b mov r3, r1 8090216: 009b lsls r3, r3, #2 8090218: 440b add r3, r1 809021a: 00db lsls r3, r3, #3 809021c: 4413 add r3, r2 809021e: 3310 adds r3, #16 8090220: 681b ldr r3, [r3, #0] 8090222: 461a mov r2, r3 8090224: 218a movs r1, #138 ; 0x8a 8090226: 200a movs r0, #10 8090228: f7c4 f884 bl 8054334 LCD_DisplayString(10, LCD_LINE_9, (char *) TEXT_PARAM_WAV[pardata.LANG][5]); //Àâòîóñèëåíèå 809022c: 4b26 ldr r3, [pc, #152] ; (80902c8 ) 809022e: 7b1b ldrb r3, [r3, #12] 8090230: b2db uxtb r3, r3 8090232: 4619 mov r1, r3 8090234: 4a25 ldr r2, [pc, #148] ; (80902cc ) 8090236: 460b mov r3, r1 8090238: 009b lsls r3, r3, #2 809023a: 440b add r3, r1 809023c: 00db lsls r3, r3, #3 809023e: 4413 add r3, r2 8090240: 3314 adds r3, #20 8090242: 681b ldr r3, [r3, #0] 8090244: 461a mov r2, r3 8090246: 219a movs r1, #154 ; 0x9a 8090248: 200a movs r0, #10 809024a: f7c4 f873 bl 8054334 LCD_DisplayString(10, LCD_LINE_11, (char *) TEXT_PARAM_WAV[pardata.LANG][7]); //Çàïèñü ïî ïîðîãó 809024e: 4b1e ldr r3, [pc, #120] ; (80902c8 ) 8090250: 7b1b ldrb r3, [r3, #12] 8090252: b2db uxtb r3, r3 8090254: 4619 mov r1, r3 8090256: 4a1d ldr r2, [pc, #116] ; (80902cc ) 8090258: 460b mov r3, r1 809025a: 009b lsls r3, r3, #2 809025c: 440b add r3, r1 809025e: 00db lsls r3, r3, #3 8090260: 4413 add r3, r2 8090262: 331c adds r3, #28 8090264: 681b ldr r3, [r3, #0] 8090266: 461a mov r2, r3 8090268: 21ba movs r1, #186 ; 0xba 809026a: 200a movs r0, #10 809026c: f7c4 f862 bl 8054334 if(menupos != WaveName) 8090270: 4b18 ldr r3, [pc, #96] ; (80902d4 ) 8090272: 781b ldrb r3, [r3, #0] 8090274: b2db uxtb r3, r3 8090276: 2b04 cmp r3, #4 8090278: d011 beq.n 809029e LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_PARAM_WAV[pardata.LANG][3]); //Äèðåêòîðèÿ 809027a: 4b13 ldr r3, [pc, #76] ; (80902c8 ) 809027c: 7b1b ldrb r3, [r3, #12] 809027e: b2db uxtb r3, r3 8090280: 4619 mov r1, r3 8090282: 4a12 ldr r2, [pc, #72] ; (80902cc ) 8090284: 460b mov r3, r1 8090286: 009b lsls r3, r3, #2 8090288: 440b add r3, r1 809028a: 00db lsls r3, r3, #3 809028c: 4413 add r3, r2 809028e: 330c adds r3, #12 8090290: 681b ldr r3, [r3, #0] 8090292: 461a mov r2, r3 8090294: 217a movs r1, #122 ; 0x7a 8090296: 200a movs r0, #10 8090298: f7c4 f84c bl 8054334 809029c: e032 b.n 8090304 else { if(!strlen(WavFileName)) 809029e: 4b05 ldr r3, [pc, #20] ; (80902b4 ) 80902a0: 781b ldrb r3, [r3, #0] 80902a2: 2b00 cmp r3, #0 80902a4: d118 bne.n 80902d8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80902a6: 4906 ldr r1, [pc, #24] ; (80902c0 ) 80902a8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80902ac: f7c3 fa9a bl 80537e4 80902b0: e017 b.n 80902e2 80902b2: bf00 nop 80902b4: 20020e34 .word 0x20020e34 80902b8: 20021670 .word 0x20021670 80902bc: 20021674 .word 0x20021674 80902c0: ff0a0f1f .word 0xff0a0f1f 80902c4: ff808080 .word 0xff808080 80902c8: 20023e60 .word 0x20023e60 80902cc: 2002083c .word 0x2002083c 80902d0: 200202e4 .word 0x200202e4 80902d4: 20020070 .word 0x20020070 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80902d8: 49c9 ldr r1, [pc, #804] ; (8090600 ) 80902da: f04f 30ff mov.w r0, #4294967295 80902de: f7c3 fa81 bl 80537e4 LCD_DisplayString(10, LCD_LINE_7, (char *) TEXT_PARAM_WAV[pardata.LANG][3]); //Äèðåêòîðèÿ 80902e2: 4bc8 ldr r3, [pc, #800] ; (8090604 ) 80902e4: 7b1b ldrb r3, [r3, #12] 80902e6: b2db uxtb r3, r3 80902e8: 4619 mov r1, r3 80902ea: 4ac7 ldr r2, [pc, #796] ; (8090608 ) 80902ec: 460b mov r3, r1 80902ee: 009b lsls r3, r3, #2 80902f0: 440b add r3, r1 80902f2: 00db lsls r3, r3, #3 80902f4: 4413 add r3, r2 80902f6: 330c adds r3, #12 80902f8: 681b ldr r3, [r3, #0] 80902fa: 461a mov r2, r3 80902fc: 217a movs r1, #122 ; 0x7a 80902fe: 200a movs r0, #10 8090300: f7c4 f818 bl 8054334 } if(pardata.THR & 0x80) 8090304: 4bbf ldr r3, [pc, #764] ; (8090604 ) 8090306: 7bdb ldrb r3, [r3, #15] 8090308: b2db uxtb r3, r3 809030a: b25b sxtb r3, r3 809030c: 2b00 cmp r3, #0 809030e: da4f bge.n 80903b0 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090310: 49bb ldr r1, [pc, #748] ; (8090600 ) 8090312: f04f 30ff mov.w r0, #4294967295 8090316: f7c3 fa65 bl 80537e4 if(pardata.IIN != VOLTS) 809031a: 4bba ldr r3, [pc, #744] ; (8090604 ) 809031c: 799b ldrb r3, [r3, #6] 809031e: b2db uxtb r3, r3 8090320: 2b02 cmp r3, #2 8090322: d022 beq.n 809036a { LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV[pardata.LANG][6]); //Ìax.àìïë.(ì/c^) 8090324: 4bb7 ldr r3, [pc, #732] ; (8090604 ) 8090326: 7b1b ldrb r3, [r3, #12] 8090328: b2db uxtb r3, r3 809032a: 4619 mov r1, r3 809032c: 4ab6 ldr r2, [pc, #728] ; (8090608 ) 809032e: 460b mov r3, r1 8090330: 009b lsls r3, r3, #2 8090332: 440b add r3, r1 8090334: 00db lsls r3, r3, #3 8090336: 4413 add r3, r2 8090338: 3318 adds r3, #24 809033a: 681b ldr r3, [r3, #0] 809033c: 461a mov r2, r3 809033e: 21aa movs r1, #170 ; 0xaa 8090340: 200a movs r0, #10 8090342: f7c3 fff7 bl 8054334 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV[pardata.LANG][8]); //Ïîðîã(ïèê)(ì/c^) 8090346: 4baf ldr r3, [pc, #700] ; (8090604 ) 8090348: 7b1b ldrb r3, [r3, #12] 809034a: b2db uxtb r3, r3 809034c: 4619 mov r1, r3 809034e: 4aae ldr r2, [pc, #696] ; (8090608 ) 8090350: 460b mov r3, r1 8090352: 009b lsls r3, r3, #2 8090354: 440b add r3, r1 8090356: 00db lsls r3, r3, #3 8090358: 4413 add r3, r2 809035a: 3320 adds r3, #32 809035c: 681b ldr r3, [r3, #0] 809035e: 461a mov r2, r3 8090360: 21ca movs r1, #202 ; 0xca 8090362: 200a movs r0, #10 8090364: f7c3 ffe6 bl 8054334 8090368: e087 b.n 809047a } else { LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][6]); //Ìax.àìïë.(ìÂ) 809036a: 4ba6 ldr r3, [pc, #664] ; (8090604 ) 809036c: 7b1b ldrb r3, [r3, #12] 809036e: b2db uxtb r3, r3 8090370: 4619 mov r1, r3 8090372: 4aa6 ldr r2, [pc, #664] ; (809060c ) 8090374: 460b mov r3, r1 8090376: 009b lsls r3, r3, #2 8090378: 440b add r3, r1 809037a: 00db lsls r3, r3, #3 809037c: 4413 add r3, r2 809037e: 3318 adds r3, #24 8090380: 681b ldr r3, [r3, #0] 8090382: 461a mov r2, r3 8090384: 21aa movs r1, #170 ; 0xaa 8090386: 200a movs r0, #10 8090388: f7c3 ffd4 bl 8054334 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][8]); //Ïîðîã(ïèê)(ìV) 809038c: 4b9d ldr r3, [pc, #628] ; (8090604 ) 809038e: 7b1b ldrb r3, [r3, #12] 8090390: b2db uxtb r3, r3 8090392: 4619 mov r1, r3 8090394: 4a9d ldr r2, [pc, #628] ; (809060c ) 8090396: 460b mov r3, r1 8090398: 009b lsls r3, r3, #2 809039a: 440b add r3, r1 809039c: 00db lsls r3, r3, #3 809039e: 4413 add r3, r2 80903a0: 3320 adds r3, #32 80903a2: 681b ldr r3, [r3, #0] 80903a4: 461a mov r2, r3 80903a6: 21ca movs r1, #202 ; 0xca 80903a8: 200a movs r0, #10 80903aa: f7c3 ffc3 bl 8054334 80903ae: e064 b.n 809047a } } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80903b0: 4993 ldr r1, [pc, #588] ; (8090600 ) 80903b2: 4897 ldr r0, [pc, #604] ; (8090610 ) 80903b4: f7c3 fa16 bl 80537e4 if(pardata.IIN != VOLTS) 80903b8: 4b92 ldr r3, [pc, #584] ; (8090604 ) 80903ba: 799b ldrb r3, [r3, #6] 80903bc: b2db uxtb r3, r3 80903be: 2b02 cmp r3, #2 80903c0: d011 beq.n 80903e6 LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV[pardata.LANG][8]); //Ïîðîã(ïèê)(ì/c^) 80903c2: 4b90 ldr r3, [pc, #576] ; (8090604 ) 80903c4: 7b1b ldrb r3, [r3, #12] 80903c6: b2db uxtb r3, r3 80903c8: 4619 mov r1, r3 80903ca: 4a8f ldr r2, [pc, #572] ; (8090608 ) 80903cc: 460b mov r3, r1 80903ce: 009b lsls r3, r3, #2 80903d0: 440b add r3, r1 80903d2: 00db lsls r3, r3, #3 80903d4: 4413 add r3, r2 80903d6: 3320 adds r3, #32 80903d8: 681b ldr r3, [r3, #0] 80903da: 461a mov r2, r3 80903dc: 21ca movs r1, #202 ; 0xca 80903de: 200a movs r0, #10 80903e0: f7c3 ffa8 bl 8054334 80903e4: e010 b.n 8090408 else LCD_DisplayString(10, LCD_LINE_12, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][8]); //Ïîðîã(ïèê)(ìÂ) 80903e6: 4b87 ldr r3, [pc, #540] ; (8090604 ) 80903e8: 7b1b ldrb r3, [r3, #12] 80903ea: b2db uxtb r3, r3 80903ec: 4619 mov r1, r3 80903ee: 4a87 ldr r2, [pc, #540] ; (809060c ) 80903f0: 460b mov r3, r1 80903f2: 009b lsls r3, r3, #2 80903f4: 440b add r3, r1 80903f6: 00db lsls r3, r3, #3 80903f8: 4413 add r3, r2 80903fa: 3320 adds r3, #32 80903fc: 681b ldr r3, [r3, #0] 80903fe: 461a mov r2, r3 8090400: 21ca movs r1, #202 ; 0xca 8090402: 200a movs r0, #10 8090404: f7c3 ff96 bl 8054334 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8090408: 4b7e ldr r3, [pc, #504] ; (8090604 ) 809040a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 809040e: f003 0304 and.w r3, r3, #4 8090412: 2b00 cmp r3, #0 8090414: d105 bne.n 8090422 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090416: 497a ldr r1, [pc, #488] ; (8090600 ) 8090418: f04f 30ff mov.w r0, #4294967295 809041c: f7c3 f9e2 bl 80537e4 8090420: e003 b.n 809042a else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090422: 4977 ldr r1, [pc, #476] ; (8090600 ) 8090424: 487a ldr r0, [pc, #488] ; (8090610 ) 8090426: f7c3 f9dd bl 80537e4 if(pardata.IIN != VOLTS) 809042a: 4b76 ldr r3, [pc, #472] ; (8090604 ) 809042c: 799b ldrb r3, [r3, #6] 809042e: b2db uxtb r3, r3 8090430: 2b02 cmp r3, #2 8090432: d011 beq.n 8090458 LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV[pardata.LANG][6]); //Ìax.àìïë.(ì/c^) 8090434: 4b73 ldr r3, [pc, #460] ; (8090604 ) 8090436: 7b1b ldrb r3, [r3, #12] 8090438: b2db uxtb r3, r3 809043a: 4619 mov r1, r3 809043c: 4a72 ldr r2, [pc, #456] ; (8090608 ) 809043e: 460b mov r3, r1 8090440: 009b lsls r3, r3, #2 8090442: 440b add r3, r1 8090444: 00db lsls r3, r3, #3 8090446: 4413 add r3, r2 8090448: 3318 adds r3, #24 809044a: 681b ldr r3, [r3, #0] 809044c: 461a mov r2, r3 809044e: 21aa movs r1, #170 ; 0xaa 8090450: 200a movs r0, #10 8090452: f7c3 ff6f bl 8054334 8090456: e010 b.n 809047a else LCD_DisplayString(10, LCD_LINE_10, (char *) TEXT_PARAM_WAV_mV[pardata.LANG][6]); //Ìax.àìïë.(ìV) 8090458: 4b6a ldr r3, [pc, #424] ; (8090604 ) 809045a: 7b1b ldrb r3, [r3, #12] 809045c: b2db uxtb r3, r3 809045e: 4619 mov r1, r3 8090460: 4a6a ldr r2, [pc, #424] ; (809060c ) 8090462: 460b mov r3, r1 8090464: 009b lsls r3, r3, #2 8090466: 440b add r3, r1 8090468: 00db lsls r3, r3, #3 809046a: 4413 add r3, r2 809046c: 3318 adds r3, #24 809046e: 681b ldr r3, [r3, #0] 8090470: 461a mov r2, r3 8090472: 21aa movs r1, #170 ; 0xaa 8090474: 200a movs r0, #10 8090476: f7c3 ff5d bl 8054334 switch(menupos) 809047a: 4b66 ldr r3, [pc, #408] ; (8090614 ) 809047c: 781b ldrb r3, [r3, #0] 809047e: b2db uxtb r3, r3 8090480: 2b15 cmp r3, #21 8090482: f201 8746 bhi.w 8092312 8090486: a201 add r2, pc, #4 ; (adr r2, 809048c ) 8090488: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809048c: 080904e5 .word 0x080904e5 8090490: 08092313 .word 0x08092313 8090494: 08092313 .word 0x08092313 8090498: 080921dd .word 0x080921dd 809049c: 08090625 .word 0x08090625 80904a0: 08090749 .word 0x08090749 80904a4: 080908d1 .word 0x080908d1 80904a8: 08090b31 .word 0x08090b31 80904ac: 08090a01 .word 0x08090a01 80904b0: 08090c57 .word 0x08090c57 80904b4: 08090d7d .word 0x08090d7d 80904b8: 08090f35 .word 0x08090f35 80904bc: 080910c7 .word 0x080910c7 80904c0: 0809127d .word 0x0809127d 80904c4: 0809140f .word 0x0809140f 80904c8: 080915c5 .word 0x080915c5 80904cc: 08091757 .word 0x08091757 80904d0: 08091925 .word 0x08091925 80904d4: 08091acf .word 0x08091acf 80904d8: 08091c9d .word 0x08091c9d 80904dc: 08091e45 .word 0x08091e45 80904e0: 08092011 .word 0x08092011 { case Ok: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80904e4: 4946 ldr r1, [pc, #280] ; (8090600 ) 80904e6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80904ea: f7c3 f97b bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80904ee: 4b45 ldr r3, [pc, #276] ; (8090604 ) 80904f0: 7b1b ldrb r3, [r3, #12] 80904f2: b2db uxtb r3, r3 80904f4: 461a mov r2, r3 80904f6: 4b48 ldr r3, [pc, #288] ; (8090618 ) 80904f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80904fc: 461a mov r2, r3 80904fe: 2127 movs r1, #39 ; 0x27 8090500: 200a movs r0, #10 8090502: f7c3 ff17 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090506: 493e ldr r1, [pc, #248] ; (8090600 ) 8090508: 4844 ldr r0, [pc, #272] ; (809061c ) 809050a: f7c3 f96b bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 809050e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090512: 461a mov r2, r3 8090514: 217a movs r1, #122 ; 0x7a 8090516: f44f 7082 mov.w r0, #260 ; 0x104 809051a: f7c3 ff23 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809051e: 4b39 ldr r3, [pc, #228] ; (8090604 ) 8090520: 7b1b ldrb r3, [r3, #12] 8090522: b2db uxtb r3, r3 8090524: 461a mov r2, r3 8090526: 4b37 ldr r3, [pc, #220] ; (8090604 ) 8090528: 7b9b ldrb r3, [r3, #14] 809052a: b2db uxtb r3, r3 809052c: 4618 mov r0, r3 809052e: 493c ldr r1, [pc, #240] ; (8090620 ) 8090530: 4613 mov r3, r2 8090532: 009b lsls r3, r3, #2 8090534: 4413 add r3, r2 8090536: 005b lsls r3, r3, #1 8090538: 4413 add r3, r2 809053a: 4403 add r3, r0 809053c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090540: 461a mov r2, r3 8090542: 218a movs r1, #138 ; 0x8a 8090544: f44f 7082 mov.w r0, #260 ; 0x104 8090548: f7c3 ff0c bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809054c: 492c ldr r1, [pc, #176] ; (8090600 ) 809054e: f04f 30ff mov.w r0, #4294967295 8090552: f7c3 f947 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090556: 230a movs r3, #10 8090558: 220a movs r2, #10 809055a: 219d movs r1, #157 ; 0x9d 809055c: 20ff movs r0, #255 ; 0xff 809055e: f7c3 fdcf bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090562: 230a movs r3, #10 8090564: 220a movs r2, #10 8090566: 21bd movs r1, #189 ; 0xbd 8090568: 20ff movs r0, #255 ; 0xff 809056a: f7c3 fdc9 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 809056e: 230a movs r3, #10 8090570: 220a movs r2, #10 8090572: 216d movs r1, #109 ; 0x6d 8090574: 20ff movs r0, #255 ; 0xff 8090576: f7c3 fdc3 bl 8054100 if(pardata.THR & 0x80) 809057a: 4b22 ldr r3, [pc, #136] ; (8090604 ) 809057c: 7bdb ldrb r3, [r3, #15] 809057e: b2db uxtb r3, r3 8090580: b25b sxtb r3, r3 8090582: 2b00 cmp r3, #0 8090584: da15 bge.n 80905b2 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090586: 491e ldr r1, [pc, #120] ; (8090600 ) 8090588: 4824 ldr r0, [pc, #144] ; (809061c ) 809058a: f7c3 f92b bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 809058e: f507 73c0 add.w r3, r7, #384 ; 0x180 8090592: 461a mov r2, r3 8090594: 21aa movs r1, #170 ; 0xaa 8090596: f44f 7082 mov.w r0, #260 ; 0x104 809059a: f7c3 fee3 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809059e: f507 73c6 add.w r3, r7, #396 ; 0x18c 80905a2: 461a mov r2, r3 80905a4: 21ca movs r1, #202 ; 0xca 80905a6: f44f 7082 mov.w r0, #260 ; 0x104 80905aa: f7c3 fedb bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); LCD_DisplayStringC(260, LCD_LINE_10, strMax); } break; 80905ae: f001 beb0 b.w 8092312 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80905b2: 4913 ldr r1, [pc, #76] ; (8090600 ) 80905b4: 4816 ldr r0, [pc, #88] ; (8090610 ) 80905b6: f7c3 f915 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80905ba: f507 73c6 add.w r3, r7, #396 ; 0x18c 80905be: 461a mov r2, r3 80905c0: 21ca movs r1, #202 ; 0xca 80905c2: f44f 7082 mov.w r0, #260 ; 0x104 80905c6: f7c3 fecd bl 8054364 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80905ca: 4b0e ldr r3, [pc, #56] ; (8090604 ) 80905cc: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80905d0: f003 0304 and.w r3, r3, #4 80905d4: 2b00 cmp r3, #0 80905d6: d104 bne.n 80905e2 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80905d8: 4909 ldr r1, [pc, #36] ; (8090600 ) 80905da: 4810 ldr r0, [pc, #64] ; (809061c ) 80905dc: f7c3 f902 bl 80537e4 80905e0: e003 b.n 80905ea else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80905e2: 4907 ldr r1, [pc, #28] ; (8090600 ) 80905e4: 480a ldr r0, [pc, #40] ; (8090610 ) 80905e6: f7c3 f8fd bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80905ea: f507 73c0 add.w r3, r7, #384 ; 0x180 80905ee: 461a mov r2, r3 80905f0: 21aa movs r1, #170 ; 0xaa 80905f2: f44f 7082 mov.w r0, #260 ; 0x104 80905f6: f7c3 feb5 bl 8054364 break; 80905fa: f001 be8a b.w 8092312 80905fe: bf00 nop 8090600: ff0a0f1f .word 0xff0a0f1f 8090604: 20023e60 .word 0x20023e60 8090608: 2002083c .word 0x2002083c 809060c: 2002088c .word 0x2002088c 8090610: ff808080 .word 0xff808080 8090614: 20020070 .word 0x20020070 8090618: 200205c4 .word 0x200205c4 809061c: ffd8aa57 .word 0xffd8aa57 8090620: 20020334 .word 0x20020334 case WaveName: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090624: 49a2 ldr r1, [pc, #648] ; (80908b0 ) 8090626: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809062a: f7c3 f8db bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 809062e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090632: 461a mov r2, r3 8090634: 217a movs r1, #122 ; 0x7a 8090636: f44f 7082 mov.w r0, #260 ; 0x104 809063a: f7c3 fe93 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809063e: 499c ldr r1, [pc, #624] ; (80908b0 ) 8090640: f04f 30ff mov.w r0, #4294967295 8090644: f7c3 f8ce bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8090648: 4b9a ldr r3, [pc, #616] ; (80908b4 ) 809064a: 7b1b ldrb r3, [r3, #12] 809064c: b2db uxtb r3, r3 809064e: 461a mov r2, r3 8090650: 4b99 ldr r3, [pc, #612] ; (80908b8 ) 8090652: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090656: 461a mov r2, r3 8090658: 2127 movs r1, #39 ; 0x27 809065a: 200a movs r0, #10 809065c: f7c3 fe6a bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090660: 4993 ldr r1, [pc, #588] ; (80908b0 ) 8090662: 4896 ldr r0, [pc, #600] ; (80908bc ) 8090664: f7c3 f8be bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090668: 4b92 ldr r3, [pc, #584] ; (80908b4 ) 809066a: 7b1b ldrb r3, [r3, #12] 809066c: b2db uxtb r3, r3 809066e: 461a mov r2, r3 8090670: 4b90 ldr r3, [pc, #576] ; (80908b4 ) 8090672: 7b9b ldrb r3, [r3, #14] 8090674: b2db uxtb r3, r3 8090676: 4618 mov r0, r3 8090678: 4991 ldr r1, [pc, #580] ; (80908c0 ) 809067a: 4613 mov r3, r2 809067c: 009b lsls r3, r3, #2 809067e: 4413 add r3, r2 8090680: 005b lsls r3, r3, #1 8090682: 4413 add r3, r2 8090684: 4403 add r3, r0 8090686: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809068a: 461a mov r2, r3 809068c: 218a movs r1, #138 ; 0x8a 809068e: f44f 7082 mov.w r0, #260 ; 0x104 8090692: f7c3 fe67 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090696: 4986 ldr r1, [pc, #536] ; (80908b0 ) 8090698: f04f 30ff mov.w r0, #4294967295 809069c: f7c3 f8a2 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80906a0: 230a movs r3, #10 80906a2: 220a movs r2, #10 80906a4: 219d movs r1, #157 ; 0x9d 80906a6: 20ff movs r0, #255 ; 0xff 80906a8: f7c3 fd2a bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80906ac: 230a movs r3, #10 80906ae: 220a movs r2, #10 80906b0: 21bd movs r1, #189 ; 0xbd 80906b2: 20ff movs r0, #255 ; 0xff 80906b4: f7c3 fd24 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80906b8: 230a movs r3, #10 80906ba: 220a movs r2, #10 80906bc: 216d movs r1, #109 ; 0x6d 80906be: 20ff movs r0, #255 ; 0xff 80906c0: f7c3 fd1e bl 8054100 if(pardata.THR & 0x80) 80906c4: 4b7b ldr r3, [pc, #492] ; (80908b4 ) 80906c6: 7bdb ldrb r3, [r3, #15] 80906c8: b2db uxtb r3, r3 80906ca: b25b sxtb r3, r3 80906cc: 2b00 cmp r3, #0 80906ce: da15 bge.n 80906fc { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80906d0: 4977 ldr r1, [pc, #476] ; (80908b0 ) 80906d2: 487a ldr r0, [pc, #488] ; (80908bc ) 80906d4: f7c3 f886 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80906d8: f507 73c0 add.w r3, r7, #384 ; 0x180 80906dc: 461a mov r2, r3 80906de: 21aa movs r1, #170 ; 0xaa 80906e0: f44f 7082 mov.w r0, #260 ; 0x104 80906e4: f7c3 fe3e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80906e8: f507 73c6 add.w r3, r7, #396 ; 0x18c 80906ec: 461a mov r2, r3 80906ee: 21ca movs r1, #202 ; 0xca 80906f0: f44f 7082 mov.w r0, #260 ; 0x104 80906f4: f7c3 fe36 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); LCD_DisplayStringC(260, LCD_LINE_10, strMax); } break; 80906f8: f001 be0b b.w 8092312 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80906fc: 496c ldr r1, [pc, #432] ; (80908b0 ) 80906fe: 4871 ldr r0, [pc, #452] ; (80908c4 ) 8090700: f7c3 f870 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090704: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090708: 461a mov r2, r3 809070a: 21ca movs r1, #202 ; 0xca 809070c: f44f 7082 mov.w r0, #260 ; 0x104 8090710: f7c3 fe28 bl 8054364 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8090714: 4b67 ldr r3, [pc, #412] ; (80908b4 ) 8090716: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 809071a: f003 0304 and.w r3, r3, #4 809071e: 2b00 cmp r3, #0 8090720: d104 bne.n 809072c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090722: 4963 ldr r1, [pc, #396] ; (80908b0 ) 8090724: 4865 ldr r0, [pc, #404] ; (80908bc ) 8090726: f7c3 f85d bl 80537e4 809072a: e003 b.n 8090734 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809072c: 4960 ldr r1, [pc, #384] ; (80908b0 ) 809072e: 4865 ldr r0, [pc, #404] ; (80908c4 ) 8090730: f7c3 f858 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090734: f507 73c0 add.w r3, r7, #384 ; 0x180 8090738: 461a mov r2, r3 809073a: 21aa movs r1, #170 ; 0xaa 809073c: f44f 7082 mov.w r0, #260 ; 0x104 8090740: f7c3 fe10 bl 8054364 break; 8090744: f001 bde5 b.w 8092312 case WaveTime: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090748: 4959 ldr r1, [pc, #356] ; (80908b0 ) 809074a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809074e: f7c3 f849 bl 80537e4 if(focused) 8090752: 4b5d ldr r3, [pc, #372] ; (80908c8 ) 8090754: 781b ldrb r3, [r3, #0] 8090756: b2db uxtb r3, r3 8090758: 2b00 cmp r3, #0 809075a: d01b beq.n 8090794 { if(blk) 809075c: 4b5b ldr r3, [pc, #364] ; (80908cc ) 809075e: 681b ldr r3, [r3, #0] 8090760: 2b00 cmp r3, #0 8090762: d02e beq.n 80907c2 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090764: 4b53 ldr r3, [pc, #332] ; (80908b4 ) 8090766: 7b1b ldrb r3, [r3, #12] 8090768: b2db uxtb r3, r3 809076a: 461a mov r2, r3 809076c: 4b51 ldr r3, [pc, #324] ; (80908b4 ) 809076e: 7b9b ldrb r3, [r3, #14] 8090770: b2db uxtb r3, r3 8090772: 4618 mov r0, r3 8090774: 4952 ldr r1, [pc, #328] ; (80908c0 ) 8090776: 4613 mov r3, r2 8090778: 009b lsls r3, r3, #2 809077a: 4413 add r3, r2 809077c: 005b lsls r3, r3, #1 809077e: 4413 add r3, r2 8090780: 4403 add r3, r0 8090782: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090786: 461a mov r2, r3 8090788: 218a movs r1, #138 ; 0x8a 809078a: f44f 7082 mov.w r0, #260 ; 0x104 809078e: f7c3 fde9 bl 8054364 8090792: e016 b.n 80907c2 } else LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090794: 4b47 ldr r3, [pc, #284] ; (80908b4 ) 8090796: 7b1b ldrb r3, [r3, #12] 8090798: b2db uxtb r3, r3 809079a: 461a mov r2, r3 809079c: 4b45 ldr r3, [pc, #276] ; (80908b4 ) 809079e: 7b9b ldrb r3, [r3, #14] 80907a0: b2db uxtb r3, r3 80907a2: 4618 mov r0, r3 80907a4: 4946 ldr r1, [pc, #280] ; (80908c0 ) 80907a6: 4613 mov r3, r2 80907a8: 009b lsls r3, r3, #2 80907aa: 4413 add r3, r2 80907ac: 005b lsls r3, r3, #1 80907ae: 4413 add r3, r2 80907b0: 4403 add r3, r0 80907b2: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80907b6: 461a mov r2, r3 80907b8: 218a movs r1, #138 ; 0x8a 80907ba: f44f 7082 mov.w r0, #260 ; 0x104 80907be: f7c3 fdd1 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80907c2: 493b ldr r1, [pc, #236] ; (80908b0 ) 80907c4: f04f 30ff mov.w r0, #4294967295 80907c8: f7c3 f80c bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80907cc: 4b39 ldr r3, [pc, #228] ; (80908b4 ) 80907ce: 7b1b ldrb r3, [r3, #12] 80907d0: b2db uxtb r3, r3 80907d2: 461a mov r2, r3 80907d4: 4b38 ldr r3, [pc, #224] ; (80908b8 ) 80907d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80907da: 461a mov r2, r3 80907dc: 2127 movs r1, #39 ; 0x27 80907de: 200a movs r0, #10 80907e0: f7c3 fda8 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80907e4: 4932 ldr r1, [pc, #200] ; (80908b0 ) 80907e6: 4835 ldr r0, [pc, #212] ; (80908bc ) 80907e8: f7c2 fffc bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 80907ec: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80907f0: 461a mov r2, r3 80907f2: 217a movs r1, #122 ; 0x7a 80907f4: f44f 7082 mov.w r0, #260 ; 0x104 80907f8: f7c3 fdb4 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80907fc: 492c ldr r1, [pc, #176] ; (80908b0 ) 80907fe: f04f 30ff mov.w r0, #4294967295 8090802: f7c2 ffef bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090806: 230a movs r3, #10 8090808: 220a movs r2, #10 809080a: 219d movs r1, #157 ; 0x9d 809080c: 20ff movs r0, #255 ; 0xff 809080e: f7c3 fc77 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090812: 230a movs r3, #10 8090814: 220a movs r2, #10 8090816: 21bd movs r1, #189 ; 0xbd 8090818: 20ff movs r0, #255 ; 0xff 809081a: f7c3 fc71 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 809081e: 230a movs r3, #10 8090820: 220a movs r2, #10 8090822: 216d movs r1, #109 ; 0x6d 8090824: 20ff movs r0, #255 ; 0xff 8090826: f7c3 fc6b bl 8054100 if(pardata.THR & 0x80) 809082a: 4b22 ldr r3, [pc, #136] ; (80908b4 ) 809082c: 7bdb ldrb r3, [r3, #15] 809082e: b2db uxtb r3, r3 8090830: b25b sxtb r3, r3 8090832: 2b00 cmp r3, #0 8090834: da15 bge.n 8090862 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090836: 491e ldr r1, [pc, #120] ; (80908b0 ) 8090838: 4820 ldr r0, [pc, #128] ; (80908bc ) 809083a: f7c2 ffd3 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 809083e: f507 73c0 add.w r3, r7, #384 ; 0x180 8090842: 461a mov r2, r3 8090844: 21aa movs r1, #170 ; 0xaa 8090846: f44f 7082 mov.w r0, #260 ; 0x104 809084a: f7c3 fd8b bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809084e: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090852: 461a mov r2, r3 8090854: 21ca movs r1, #202 ; 0xca 8090856: f44f 7082 mov.w r0, #260 ; 0x104 809085a: f7c3 fd83 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); LCD_DisplayStringC(260, LCD_LINE_10, strMax); } break; 809085e: f001 bd58 b.w 8092312 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090862: 4913 ldr r1, [pc, #76] ; (80908b0 ) 8090864: 4817 ldr r0, [pc, #92] ; (80908c4 ) 8090866: f7c2 ffbd bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809086a: f507 73c6 add.w r3, r7, #396 ; 0x18c 809086e: 461a mov r2, r3 8090870: 21ca movs r1, #202 ; 0xca 8090872: f44f 7082 mov.w r0, #260 ; 0x104 8090876: f7c3 fd75 bl 8054364 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 809087a: 4b0e ldr r3, [pc, #56] ; (80908b4 ) 809087c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8090880: f003 0304 and.w r3, r3, #4 8090884: 2b00 cmp r3, #0 8090886: d104 bne.n 8090892 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090888: 4909 ldr r1, [pc, #36] ; (80908b0 ) 809088a: 480c ldr r0, [pc, #48] ; (80908bc ) 809088c: f7c2 ffaa bl 80537e4 8090890: e003 b.n 809089a else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090892: 4907 ldr r1, [pc, #28] ; (80908b0 ) 8090894: 480b ldr r0, [pc, #44] ; (80908c4 ) 8090896: f7c2 ffa5 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 809089a: f507 73c0 add.w r3, r7, #384 ; 0x180 809089e: 461a mov r2, r3 80908a0: 21aa movs r1, #170 ; 0xaa 80908a2: f44f 7082 mov.w r0, #260 ; 0x104 80908a6: f7c3 fd5d bl 8054364 break; 80908aa: f001 bd32 b.w 8092312 80908ae: bf00 nop 80908b0: ff0a0f1f .word 0xff0a0f1f 80908b4: 20023e60 .word 0x20023e60 80908b8: 200205c4 .word 0x200205c4 80908bc: ffd8aa57 .word 0xffd8aa57 80908c0: 20020334 .word 0x20020334 80908c4: ff808080 .word 0xff808080 80908c8: 20020f84 .word 0x20020f84 80908cc: 2002165c .word 0x2002165c case WaveAutoKu: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80908d0: 49cd ldr r1, [pc, #820] ; (8090c08 ) 80908d2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80908d6: f7c2 ff85 bl 80537e4 BSP_LCD_FillRect(253, CHECKBOX_LINE_9-2, 14, 14); 80908da: 230e movs r3, #14 80908dc: 220e movs r2, #14 80908de: 219b movs r1, #155 ; 0x9b 80908e0: 20fd movs r0, #253 ; 0xfd 80908e2: f7c3 fc0d bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80908e6: 49c8 ldr r1, [pc, #800] ; (8090c08 ) 80908e8: f04f 30ff mov.w r0, #4294967295 80908ec: f7c2 ff7a bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80908f0: 4bc6 ldr r3, [pc, #792] ; (8090c0c ) 80908f2: 7b1b ldrb r3, [r3, #12] 80908f4: b2db uxtb r3, r3 80908f6: 461a mov r2, r3 80908f8: 4bc5 ldr r3, [pc, #788] ; (8090c10 ) 80908fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80908fe: 461a mov r2, r3 8090900: 2127 movs r1, #39 ; 0x27 8090902: 200a movs r0, #10 8090904: f7c3 fd16 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090908: 49bf ldr r1, [pc, #764] ; (8090c08 ) 809090a: 48c2 ldr r0, [pc, #776] ; (8090c14 ) 809090c: f7c2 ff6a bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8090910: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090914: 461a mov r2, r3 8090916: 217a movs r1, #122 ; 0x7a 8090918: f44f 7082 mov.w r0, #260 ; 0x104 809091c: f7c3 fd22 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090920: 4bba ldr r3, [pc, #744] ; (8090c0c ) 8090922: 7b1b ldrb r3, [r3, #12] 8090924: b2db uxtb r3, r3 8090926: 461a mov r2, r3 8090928: 4bb8 ldr r3, [pc, #736] ; (8090c0c ) 809092a: 7b9b ldrb r3, [r3, #14] 809092c: b2db uxtb r3, r3 809092e: 4618 mov r0, r3 8090930: 49b9 ldr r1, [pc, #740] ; (8090c18 ) 8090932: 4613 mov r3, r2 8090934: 009b lsls r3, r3, #2 8090936: 4413 add r3, r2 8090938: 005b lsls r3, r3, #1 809093a: 4413 add r3, r2 809093c: 4403 add r3, r0 809093e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090942: 461a mov r2, r3 8090944: 218a movs r1, #138 ; 0x8a 8090946: f44f 7082 mov.w r0, #260 ; 0x104 809094a: f7c3 fd0b bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809094e: 49ae ldr r1, [pc, #696] ; (8090c08 ) 8090950: f04f 30ff mov.w r0, #4294967295 8090954: f7c2 ff46 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090958: 230a movs r3, #10 809095a: 220a movs r2, #10 809095c: 219d movs r1, #157 ; 0x9d 809095e: 20ff movs r0, #255 ; 0xff 8090960: f7c3 fbce bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090964: 230a movs r3, #10 8090966: 220a movs r2, #10 8090968: 21bd movs r1, #189 ; 0xbd 809096a: 20ff movs r0, #255 ; 0xff 809096c: f7c3 fbc8 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090970: 230a movs r3, #10 8090972: 220a movs r2, #10 8090974: 216d movs r1, #109 ; 0x6d 8090976: 20ff movs r0, #255 ; 0xff 8090978: f7c3 fbc2 bl 8054100 if(pardata.THR & 0x80) 809097c: 4ba3 ldr r3, [pc, #652] ; (8090c0c ) 809097e: 7bdb ldrb r3, [r3, #15] 8090980: b2db uxtb r3, r3 8090982: b25b sxtb r3, r3 8090984: 2b00 cmp r3, #0 8090986: da15 bge.n 80909b4 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090988: 499f ldr r1, [pc, #636] ; (8090c08 ) 809098a: 48a2 ldr r0, [pc, #648] ; (8090c14 ) 809098c: f7c2 ff2a bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090990: f507 73c0 add.w r3, r7, #384 ; 0x180 8090994: 461a mov r2, r3 8090996: 21aa movs r1, #170 ; 0xaa 8090998: f44f 7082 mov.w r0, #260 ; 0x104 809099c: f7c3 fce2 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80909a0: f507 73c6 add.w r3, r7, #396 ; 0x18c 80909a4: 461a mov r2, r3 80909a6: 21ca movs r1, #202 ; 0xca 80909a8: f44f 7082 mov.w r0, #260 ; 0x104 80909ac: f7c3 fcda bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); LCD_DisplayStringC(260, LCD_LINE_10, strMax); } break; 80909b0: f001 bcaf b.w 8092312 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80909b4: 4994 ldr r1, [pc, #592] ; (8090c08 ) 80909b6: 4899 ldr r0, [pc, #612] ; (8090c1c ) 80909b8: f7c2 ff14 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80909bc: f507 73c6 add.w r3, r7, #396 ; 0x18c 80909c0: 461a mov r2, r3 80909c2: 21ca movs r1, #202 ; 0xca 80909c4: f44f 7082 mov.w r0, #260 ; 0x104 80909c8: f7c3 fccc bl 8054364 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80909cc: 4b8f ldr r3, [pc, #572] ; (8090c0c ) 80909ce: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80909d2: f003 0304 and.w r3, r3, #4 80909d6: 2b00 cmp r3, #0 80909d8: d104 bne.n 80909e4 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80909da: 498b ldr r1, [pc, #556] ; (8090c08 ) 80909dc: 488d ldr r0, [pc, #564] ; (8090c14 ) 80909de: f7c2 ff01 bl 80537e4 80909e2: e003 b.n 80909ec else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80909e4: 4988 ldr r1, [pc, #544] ; (8090c08 ) 80909e6: 488d ldr r0, [pc, #564] ; (8090c1c ) 80909e8: f7c2 fefc bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80909ec: f507 73c0 add.w r3, r7, #384 ; 0x180 80909f0: 461a mov r2, r3 80909f2: 21aa movs r1, #170 ; 0xaa 80909f4: f44f 7082 mov.w r0, #260 ; 0x104 80909f8: f7c3 fcb4 bl 8054364 break; 80909fc: f001 bc89 b.w 8092312 case WaveThr: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090a00: 4981 ldr r1, [pc, #516] ; (8090c08 ) 8090a02: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090a06: f7c2 feed bl 80537e4 BSP_LCD_FillRect(253, CHECKBOX_LINE_11-2, 14, 14); 8090a0a: 230e movs r3, #14 8090a0c: 220e movs r2, #14 8090a0e: 21bb movs r1, #187 ; 0xbb 8090a10: 20fd movs r0, #253 ; 0xfd 8090a12: f7c3 fb75 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090a16: 497c ldr r1, [pc, #496] ; (8090c08 ) 8090a18: f04f 30ff mov.w r0, #4294967295 8090a1c: f7c2 fee2 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8090a20: 4b7a ldr r3, [pc, #488] ; (8090c0c ) 8090a22: 7b1b ldrb r3, [r3, #12] 8090a24: b2db uxtb r3, r3 8090a26: 461a mov r2, r3 8090a28: 4b79 ldr r3, [pc, #484] ; (8090c10 ) 8090a2a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090a2e: 461a mov r2, r3 8090a30: 2127 movs r1, #39 ; 0x27 8090a32: 200a movs r0, #10 8090a34: f7c3 fc7e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090a38: 4973 ldr r1, [pc, #460] ; (8090c08 ) 8090a3a: 4876 ldr r0, [pc, #472] ; (8090c14 ) 8090a3c: f7c2 fed2 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8090a40: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090a44: 461a mov r2, r3 8090a46: 217a movs r1, #122 ; 0x7a 8090a48: f44f 7082 mov.w r0, #260 ; 0x104 8090a4c: f7c3 fc8a bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090a50: 4b6e ldr r3, [pc, #440] ; (8090c0c ) 8090a52: 7b1b ldrb r3, [r3, #12] 8090a54: b2db uxtb r3, r3 8090a56: 461a mov r2, r3 8090a58: 4b6c ldr r3, [pc, #432] ; (8090c0c ) 8090a5a: 7b9b ldrb r3, [r3, #14] 8090a5c: b2db uxtb r3, r3 8090a5e: 4618 mov r0, r3 8090a60: 496d ldr r1, [pc, #436] ; (8090c18 ) 8090a62: 4613 mov r3, r2 8090a64: 009b lsls r3, r3, #2 8090a66: 4413 add r3, r2 8090a68: 005b lsls r3, r3, #1 8090a6a: 4413 add r3, r2 8090a6c: 4403 add r3, r0 8090a6e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090a72: 461a mov r2, r3 8090a74: 218a movs r1, #138 ; 0x8a 8090a76: f44f 7082 mov.w r0, #260 ; 0x104 8090a7a: f7c3 fc73 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090a7e: 4962 ldr r1, [pc, #392] ; (8090c08 ) 8090a80: f04f 30ff mov.w r0, #4294967295 8090a84: f7c2 feae bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090a88: 230a movs r3, #10 8090a8a: 220a movs r2, #10 8090a8c: 219d movs r1, #157 ; 0x9d 8090a8e: 20ff movs r0, #255 ; 0xff 8090a90: f7c3 fb36 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090a94: 230a movs r3, #10 8090a96: 220a movs r2, #10 8090a98: 21bd movs r1, #189 ; 0xbd 8090a9a: 20ff movs r0, #255 ; 0xff 8090a9c: f7c3 fb30 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090aa0: 230a movs r3, #10 8090aa2: 220a movs r2, #10 8090aa4: 216d movs r1, #109 ; 0x6d 8090aa6: 20ff movs r0, #255 ; 0xff 8090aa8: f7c3 fb2a bl 8054100 if(pardata.THR & 0x80) 8090aac: 4b57 ldr r3, [pc, #348] ; (8090c0c ) 8090aae: 7bdb ldrb r3, [r3, #15] 8090ab0: b2db uxtb r3, r3 8090ab2: b25b sxtb r3, r3 8090ab4: 2b00 cmp r3, #0 8090ab6: da15 bge.n 8090ae4 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090ab8: 4953 ldr r1, [pc, #332] ; (8090c08 ) 8090aba: 4856 ldr r0, [pc, #344] ; (8090c14 ) 8090abc: f7c2 fe92 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090ac0: f507 73c0 add.w r3, r7, #384 ; 0x180 8090ac4: 461a mov r2, r3 8090ac6: 21aa movs r1, #170 ; 0xaa 8090ac8: f44f 7082 mov.w r0, #260 ; 0x104 8090acc: f7c3 fc4a bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090ad0: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090ad4: 461a mov r2, r3 8090ad6: 21ca movs r1, #202 ; 0xca 8090ad8: f44f 7082 mov.w r0, #260 ; 0x104 8090adc: f7c3 fc42 bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); LCD_DisplayStringC(260, LCD_LINE_10, strMax); } break; 8090ae0: f001 bc17 b.w 8092312 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090ae4: 4948 ldr r1, [pc, #288] ; (8090c08 ) 8090ae6: 484d ldr r0, [pc, #308] ; (8090c1c ) 8090ae8: f7c2 fe7c bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090aec: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090af0: 461a mov r2, r3 8090af2: 21ca movs r1, #202 ; 0xca 8090af4: f44f 7082 mov.w r0, #260 ; 0x104 8090af8: f7c3 fc34 bl 8054364 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8090afc: 4b43 ldr r3, [pc, #268] ; (8090c0c ) 8090afe: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8090b02: f003 0304 and.w r3, r3, #4 8090b06: 2b00 cmp r3, #0 8090b08: d104 bne.n 8090b14 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090b0a: 493f ldr r1, [pc, #252] ; (8090c08 ) 8090b0c: 4841 ldr r0, [pc, #260] ; (8090c14 ) 8090b0e: f7c2 fe69 bl 80537e4 8090b12: e003 b.n 8090b1c else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090b14: 493c ldr r1, [pc, #240] ; (8090c08 ) 8090b16: 4841 ldr r0, [pc, #260] ; (8090c1c ) 8090b18: f7c2 fe64 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090b1c: f507 73c0 add.w r3, r7, #384 ; 0x180 8090b20: 461a mov r2, r3 8090b22: 21aa movs r1, #170 ; 0xaa 8090b24: f44f 7082 mov.w r0, #260 ; 0x104 8090b28: f7c3 fc1c bl 8054364 break; 8090b2c: f001 bbf1 b.w 8092312 case WaveMax_ALL: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090b30: 4935 ldr r1, [pc, #212] ; (8090c08 ) 8090b32: f04f 30ff mov.w r0, #4294967295 8090b36: f7c2 fe55 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8090b3a: 4b34 ldr r3, [pc, #208] ; (8090c0c ) 8090b3c: 7b1b ldrb r3, [r3, #12] 8090b3e: b2db uxtb r3, r3 8090b40: 461a mov r2, r3 8090b42: 4b33 ldr r3, [pc, #204] ; (8090c10 ) 8090b44: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090b48: 461a mov r2, r3 8090b4a: 2127 movs r1, #39 ; 0x27 8090b4c: 200a movs r0, #10 8090b4e: f7c3 fbf1 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090b52: 492d ldr r1, [pc, #180] ; (8090c08 ) 8090b54: 482f ldr r0, [pc, #188] ; (8090c14 ) 8090b56: f7c2 fe45 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8090b5a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090b5e: 461a mov r2, r3 8090b60: 217a movs r1, #122 ; 0x7a 8090b62: f44f 7082 mov.w r0, #260 ; 0x104 8090b66: f7c3 fbfd bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090b6a: 4b28 ldr r3, [pc, #160] ; (8090c0c ) 8090b6c: 7b1b ldrb r3, [r3, #12] 8090b6e: b2db uxtb r3, r3 8090b70: 461a mov r2, r3 8090b72: 4b26 ldr r3, [pc, #152] ; (8090c0c ) 8090b74: 7b9b ldrb r3, [r3, #14] 8090b76: b2db uxtb r3, r3 8090b78: 4618 mov r0, r3 8090b7a: 4927 ldr r1, [pc, #156] ; (8090c18 ) 8090b7c: 4613 mov r3, r2 8090b7e: 009b lsls r3, r3, #2 8090b80: 4413 add r3, r2 8090b82: 005b lsls r3, r3, #1 8090b84: 4413 add r3, r2 8090b86: 4403 add r3, r0 8090b88: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090b8c: 461a mov r2, r3 8090b8e: 218a movs r1, #138 ; 0x8a 8090b90: f44f 7082 mov.w r0, #260 ; 0x104 8090b94: f7c3 fbe6 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090b98: 491b ldr r1, [pc, #108] ; (8090c08 ) 8090b9a: f04f 30ff mov.w r0, #4294967295 8090b9e: f7c2 fe21 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090ba2: 230a movs r3, #10 8090ba4: 220a movs r2, #10 8090ba6: 219d movs r1, #157 ; 0x9d 8090ba8: 20ff movs r0, #255 ; 0xff 8090baa: f7c3 faa9 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090bae: 230a movs r3, #10 8090bb0: 220a movs r2, #10 8090bb2: 21bd movs r1, #189 ; 0xbd 8090bb4: 20ff movs r0, #255 ; 0xff 8090bb6: f7c3 faa3 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090bba: 230a movs r3, #10 8090bbc: 220a movs r2, #10 8090bbe: 216d movs r1, #109 ; 0x6d 8090bc0: 20ff movs r0, #255 ; 0xff 8090bc2: f7c3 fa9d bl 8054100 if(pardata.THR & 0x80) 8090bc6: 4b11 ldr r3, [pc, #68] ; (8090c0c ) 8090bc8: 7bdb ldrb r3, [r3, #15] 8090bca: b2db uxtb r3, r3 8090bcc: b25b sxtb r3, r3 8090bce: 2b00 cmp r3, #0 8090bd0: da26 bge.n 8090c20 { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090bd2: 490d ldr r1, [pc, #52] ; (8090c08 ) 8090bd4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090bd8: f7c2 fe04 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090bdc: f507 73c0 add.w r3, r7, #384 ; 0x180 8090be0: 461a mov r2, r3 8090be2: 21aa movs r1, #170 ; 0xaa 8090be4: f44f 7082 mov.w r0, #260 ; 0x104 8090be8: f7c3 fbbc bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090bec: 4906 ldr r1, [pc, #24] ; (8090c08 ) 8090bee: 4809 ldr r0, [pc, #36] ; (8090c14 ) 8090bf0: f7c2 fdf8 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090bf4: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090bf8: 461a mov r2, r3 8090bfa: 21ca movs r1, #202 ; 0xca 8090bfc: f44f 7082 mov.w r0, #260 ; 0x104 8090c00: f7c3 fbb0 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, strThr); LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); LCD_DisplayStringC(260, LCD_LINE_10, strMax); } break; 8090c04: f001 bb85 b.w 8092312 8090c08: ff0a0f1f .word 0xff0a0f1f 8090c0c: 20023e60 .word 0x20023e60 8090c10: 200205c4 .word 0x200205c4 8090c14: ffd8aa57 .word 0xffd8aa57 8090c18: 20020334 .word 0x20020334 8090c1c: ff808080 .word 0xff808080 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090c20: 49bb ldr r1, [pc, #748] ; (8090f10 ) 8090c22: 48bc ldr r0, [pc, #752] ; (8090f14 ) 8090c24: f7c2 fdde bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090c28: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090c2c: 461a mov r2, r3 8090c2e: 21ca movs r1, #202 ; 0xca 8090c30: f44f 7082 mov.w r0, #260 ; 0x104 8090c34: f7c3 fb96 bl 8054364 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090c38: 49b5 ldr r1, [pc, #724] ; (8090f10 ) 8090c3a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090c3e: f7c2 fdd1 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090c42: f507 73c0 add.w r3, r7, #384 ; 0x180 8090c46: 461a mov r2, r3 8090c48: 21aa movs r1, #170 ; 0xaa 8090c4a: f44f 7082 mov.w r0, #260 ; 0x104 8090c4e: f7c3 fb89 bl 8054364 break; 8090c52: f001 bb5e b.w 8092312 case WaveThr_ALL: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090c56: 49ae ldr r1, [pc, #696] ; (8090f10 ) 8090c58: f04f 30ff mov.w r0, #4294967295 8090c5c: f7c2 fdc2 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8090c60: 4bad ldr r3, [pc, #692] ; (8090f18 ) 8090c62: 7b1b ldrb r3, [r3, #12] 8090c64: b2db uxtb r3, r3 8090c66: 461a mov r2, r3 8090c68: 4bac ldr r3, [pc, #688] ; (8090f1c ) 8090c6a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090c6e: 461a mov r2, r3 8090c70: 2127 movs r1, #39 ; 0x27 8090c72: 200a movs r0, #10 8090c74: f7c3 fb5e bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090c78: 49a5 ldr r1, [pc, #660] ; (8090f10 ) 8090c7a: 48a9 ldr r0, [pc, #676] ; (8090f20 ) 8090c7c: f7c2 fdb2 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8090c80: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090c84: 461a mov r2, r3 8090c86: 217a movs r1, #122 ; 0x7a 8090c88: f44f 7082 mov.w r0, #260 ; 0x104 8090c8c: f7c3 fb6a bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090c90: 4ba1 ldr r3, [pc, #644] ; (8090f18 ) 8090c92: 7b1b ldrb r3, [r3, #12] 8090c94: b2db uxtb r3, r3 8090c96: 461a mov r2, r3 8090c98: 4b9f ldr r3, [pc, #636] ; (8090f18 ) 8090c9a: 7b9b ldrb r3, [r3, #14] 8090c9c: b2db uxtb r3, r3 8090c9e: 4618 mov r0, r3 8090ca0: 49a0 ldr r1, [pc, #640] ; (8090f24 ) 8090ca2: 4613 mov r3, r2 8090ca4: 009b lsls r3, r3, #2 8090ca6: 4413 add r3, r2 8090ca8: 005b lsls r3, r3, #1 8090caa: 4413 add r3, r2 8090cac: 4403 add r3, r0 8090cae: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090cb2: 461a mov r2, r3 8090cb4: 218a movs r1, #138 ; 0x8a 8090cb6: f44f 7082 mov.w r0, #260 ; 0x104 8090cba: f7c3 fb53 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090cbe: 4994 ldr r1, [pc, #592] ; (8090f10 ) 8090cc0: f04f 30ff mov.w r0, #4294967295 8090cc4: f7c2 fd8e bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090cc8: 230a movs r3, #10 8090cca: 220a movs r2, #10 8090ccc: 219d movs r1, #157 ; 0x9d 8090cce: 20ff movs r0, #255 ; 0xff 8090cd0: f7c3 fa16 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090cd4: 230a movs r3, #10 8090cd6: 220a movs r2, #10 8090cd8: 21bd movs r1, #189 ; 0xbd 8090cda: 20ff movs r0, #255 ; 0xff 8090cdc: f7c3 fa10 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090ce0: 230a movs r3, #10 8090ce2: 220a movs r2, #10 8090ce4: 216d movs r1, #109 ; 0x6d 8090ce6: 20ff movs r0, #255 ; 0xff 8090ce8: f7c3 fa0a bl 8054100 if(pardata.THR & 0x80) 8090cec: 4b8a ldr r3, [pc, #552] ; (8090f18 ) 8090cee: 7bdb ldrb r3, [r3, #15] 8090cf0: b2db uxtb r3, r3 8090cf2: b25b sxtb r3, r3 8090cf4: 2b00 cmp r3, #0 8090cf6: da1a bge.n 8090d2e { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090cf8: 4985 ldr r1, [pc, #532] ; (8090f10 ) 8090cfa: 4889 ldr r0, [pc, #548] ; (8090f20 ) 8090cfc: f7c2 fd72 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090d00: f507 73c0 add.w r3, r7, #384 ; 0x180 8090d04: 461a mov r2, r3 8090d06: 21aa movs r1, #170 ; 0xaa 8090d08: f44f 7082 mov.w r0, #260 ; 0x104 8090d0c: f7c3 fb2a bl 8054364 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090d10: 497f ldr r1, [pc, #508] ; (8090f10 ) 8090d12: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090d16: f7c2 fd65 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090d1a: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090d1e: 461a mov r2, r3 8090d20: 21ca movs r1, #202 ; 0xca 8090d22: f44f 7082 mov.w r0, #260 ; 0x104 8090d26: f7c3 fb1d bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); LCD_DisplayStringC(260, LCD_LINE_10, strMax); } break; 8090d2a: f001 baf2 b.w 8092312 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090d2e: 4978 ldr r1, [pc, #480] ; (8090f10 ) 8090d30: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090d34: f7c2 fd56 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090d38: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090d3c: 461a mov r2, r3 8090d3e: 21ca movs r1, #202 ; 0xca 8090d40: f44f 7082 mov.w r0, #260 ; 0x104 8090d44: f7c3 fb0e bl 8054364 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8090d48: 4b73 ldr r3, [pc, #460] ; (8090f18 ) 8090d4a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8090d4e: f003 0304 and.w r3, r3, #4 8090d52: 2b00 cmp r3, #0 8090d54: d104 bne.n 8090d60 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090d56: 496e ldr r1, [pc, #440] ; (8090f10 ) 8090d58: 4871 ldr r0, [pc, #452] ; (8090f20 ) 8090d5a: f7c2 fd43 bl 80537e4 8090d5e: e003 b.n 8090d68 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090d60: 496b ldr r1, [pc, #428] ; (8090f10 ) 8090d62: 486c ldr r0, [pc, #432] ; (8090f14 ) 8090d64: f7c2 fd3e bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8090d68: f507 73c0 add.w r3, r7, #384 ; 0x180 8090d6c: 461a mov r2, r3 8090d6e: 21aa movs r1, #170 ; 0xaa 8090d70: f44f 7082 mov.w r0, #260 ; 0x104 8090d74: f7c3 faf6 bl 8054364 break; 8090d78: f001 bacb b.w 8092312 case WaveMax_IDT: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090d7c: 4964 ldr r1, [pc, #400] ; (8090f10 ) 8090d7e: f04f 30ff mov.w r0, #4294967295 8090d82: f7c2 fd2f bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8090d86: 4b64 ldr r3, [pc, #400] ; (8090f18 ) 8090d88: 7b1b ldrb r3, [r3, #12] 8090d8a: b2db uxtb r3, r3 8090d8c: 461a mov r2, r3 8090d8e: 4b63 ldr r3, [pc, #396] ; (8090f1c ) 8090d90: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090d94: 461a mov r2, r3 8090d96: 2127 movs r1, #39 ; 0x27 8090d98: 200a movs r0, #10 8090d9a: f7c3 facb bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090d9e: 495c ldr r1, [pc, #368] ; (8090f10 ) 8090da0: 485f ldr r0, [pc, #380] ; (8090f20 ) 8090da2: f7c2 fd1f bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8090da6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090daa: 461a mov r2, r3 8090dac: 217a movs r1, #122 ; 0x7a 8090dae: f44f 7082 mov.w r0, #260 ; 0x104 8090db2: f7c3 fad7 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090db6: 4b58 ldr r3, [pc, #352] ; (8090f18 ) 8090db8: 7b1b ldrb r3, [r3, #12] 8090dba: b2db uxtb r3, r3 8090dbc: 461a mov r2, r3 8090dbe: 4b56 ldr r3, [pc, #344] ; (8090f18 ) 8090dc0: 7b9b ldrb r3, [r3, #14] 8090dc2: b2db uxtb r3, r3 8090dc4: 4618 mov r0, r3 8090dc6: 4957 ldr r1, [pc, #348] ; (8090f24 ) 8090dc8: 4613 mov r3, r2 8090dca: 009b lsls r3, r3, #2 8090dcc: 4413 add r3, r2 8090dce: 005b lsls r3, r3, #1 8090dd0: 4413 add r3, r2 8090dd2: 4403 add r3, r0 8090dd4: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090dd8: 461a mov r2, r3 8090dda: 218a movs r1, #138 ; 0x8a 8090ddc: f44f 7082 mov.w r0, #260 ; 0x104 8090de0: f7c3 fac0 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090de4: 494a ldr r1, [pc, #296] ; (8090f10 ) 8090de6: f04f 30ff mov.w r0, #4294967295 8090dea: f7c2 fcfb bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090dee: 230a movs r3, #10 8090df0: 220a movs r2, #10 8090df2: 219d movs r1, #157 ; 0x9d 8090df4: 20ff movs r0, #255 ; 0xff 8090df6: f7c3 f983 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090dfa: 230a movs r3, #10 8090dfc: 220a movs r2, #10 8090dfe: 21bd movs r1, #189 ; 0xbd 8090e00: 20ff movs r0, #255 ; 0xff 8090e02: f7c3 f97d bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090e06: 230a movs r3, #10 8090e08: 220a movs r2, #10 8090e0a: 216d movs r1, #109 ; 0x6d 8090e0c: 20ff movs r0, #255 ; 0xff 8090e0e: f7c3 f977 bl 8054100 if(pardata.THR & 0x80) 8090e12: 4b41 ldr r3, [pc, #260] ; (8090f18 ) 8090e14: 7bdb ldrb r3, [r3, #15] 8090e16: b2db uxtb r3, r3 8090e18: b25b sxtb r3, r3 8090e1a: 2b00 cmp r3, #0 8090e1c: da0c bge.n 8090e38 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090e1e: 493c ldr r1, [pc, #240] ; (8090f10 ) 8090e20: 483f ldr r0, [pc, #252] ; (8090f20 ) 8090e22: f7c2 fcdf bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090e26: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090e2a: 461a mov r2, r3 8090e2c: 21ca movs r1, #202 ; 0xca 8090e2e: f44f 7082 mov.w r0, #260 ; 0x104 8090e32: f7c3 fa97 bl 8054364 8090e36: e00b b.n 8090e50 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090e38: 4935 ldr r1, [pc, #212] ; (8090f10 ) 8090e3a: 4836 ldr r0, [pc, #216] ; (8090f14 ) 8090e3c: f7c2 fcd2 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090e40: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090e44: 461a mov r2, r3 8090e46: 21ca movs r1, #202 ; 0xca 8090e48: f44f 7082 mov.w r0, #260 ; 0x104 8090e4c: f7c3 fa8a bl 8054364 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8090e50: 492f ldr r1, [pc, #188] ; (8090f10 ) 8090e52: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8090e56: f7c2 fcc5 bl 80537e4 if(blk) 8090e5a: 4b33 ldr r3, [pc, #204] ; (8090f28 ) 8090e5c: 681b ldr r3, [r3, #0] 8090e5e: 2b00 cmp r3, #0 8090e60: d00b beq.n 8090e7a LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8090e62: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8090e66: b2db uxtb r3, r3 8090e68: 461a mov r2, r3 8090e6a: 4b30 ldr r3, [pc, #192] ; (8090f2c ) 8090e6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090e70: 461a mov r2, r3 8090e72: 21aa movs r1, #170 ; 0xaa 8090e74: 20c6 movs r0, #198 ; 0xc6 8090e76: f7c3 fa5d bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090e7a: 4925 ldr r1, [pc, #148] ; (8090f10 ) 8090e7c: 4828 ldr r0, [pc, #160] ; (8090f20 ) 8090e7e: f7c2 fcb1 bl 80537e4 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 8090e82: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8090e86: b2db uxtb r3, r3 8090e88: 461a mov r2, r3 8090e8a: 4b28 ldr r3, [pc, #160] ; (8090f2c ) 8090e8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090e90: 461a mov r2, r3 8090e92: 21aa movs r1, #170 ; 0xaa 8090e94: 20d6 movs r0, #214 ; 0xd6 8090e96: f7c3 fa4d bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8090e9a: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8090e9e: b2db uxtb r3, r3 8090ea0: 461a mov r2, r3 8090ea2: 4b22 ldr r3, [pc, #136] ; (8090f2c ) 8090ea4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090ea8: 461a mov r2, r3 8090eaa: 21aa movs r1, #170 ; 0xaa 8090eac: 20e6 movs r0, #230 ; 0xe6 8090eae: f7c3 fa41 bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8090eb2: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8090eb6: b2db uxtb r3, r3 8090eb8: 461a mov r2, r3 8090eba: 4b1c ldr r3, [pc, #112] ; (8090f2c ) 8090ebc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090ec0: 461a mov r2, r3 8090ec2: 21aa movs r1, #170 ; 0xaa 8090ec4: 20f6 movs r0, #246 ; 0xf6 8090ec6: f7c3 fa35 bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8090eca: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8090ece: b2db uxtb r3, r3 8090ed0: 461a mov r2, r3 8090ed2: 4b16 ldr r3, [pc, #88] ; (8090f2c ) 8090ed4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090ed8: 461a mov r2, r3 8090eda: 21aa movs r1, #170 ; 0xaa 8090edc: f44f 7083 mov.w r0, #262 ; 0x106 8090ee0: f7c3 fa28 bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 8090ee4: 4a12 ldr r2, [pc, #72] ; (8090f30 ) 8090ee6: 21aa movs r1, #170 ; 0xaa 8090ee8: f44f 708b mov.w r0, #278 ; 0x116 8090eec: f7c3 fa22 bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8090ef0: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8090ef4: b2db uxtb r3, r3 8090ef6: 461a mov r2, r3 8090ef8: 4b0c ldr r3, [pc, #48] ; (8090f2c ) 8090efa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090efe: 461a mov r2, r3 8090f00: 21aa movs r1, #170 ; 0xaa 8090f02: f44f 7093 mov.w r0, #294 ; 0x126 8090f06: f7c3 fa15 bl 8054334 break; 8090f0a: f001 ba02 b.w 8092312 8090f0e: bf00 nop 8090f10: ff0a0f1f .word 0xff0a0f1f 8090f14: ff808080 .word 0xff808080 8090f18: 20023e60 .word 0x20023e60 8090f1c: 200205c4 .word 0x200205c4 8090f20: ffd8aa57 .word 0xffd8aa57 8090f24: 20020334 .word 0x20020334 8090f28: 2002165c .word 0x2002165c 8090f2c: 20020964 .word 0x20020964 8090f30: 080cf820 .word 0x080cf820 case WaveMax_IET: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090f34: 49c8 ldr r1, [pc, #800] ; (8091258 ) 8090f36: f04f 30ff mov.w r0, #4294967295 8090f3a: f7c2 fc53 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8090f3e: 4bc7 ldr r3, [pc, #796] ; (809125c ) 8090f40: 7b1b ldrb r3, [r3, #12] 8090f42: b2db uxtb r3, r3 8090f44: 461a mov r2, r3 8090f46: 4bc6 ldr r3, [pc, #792] ; (8091260 ) 8090f48: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8090f4c: 461a mov r2, r3 8090f4e: 2127 movs r1, #39 ; 0x27 8090f50: 200a movs r0, #10 8090f52: f7c3 f9ef bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090f56: 49c0 ldr r1, [pc, #768] ; (8091258 ) 8090f58: 48c2 ldr r0, [pc, #776] ; (8091264 ) 8090f5a: f7c2 fc43 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8090f5e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8090f62: 461a mov r2, r3 8090f64: 217a movs r1, #122 ; 0x7a 8090f66: f44f 7082 mov.w r0, #260 ; 0x104 8090f6a: f7c3 f9fb bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8090f6e: 4bbb ldr r3, [pc, #748] ; (809125c ) 8090f70: 7b1b ldrb r3, [r3, #12] 8090f72: b2db uxtb r3, r3 8090f74: 461a mov r2, r3 8090f76: 4bb9 ldr r3, [pc, #740] ; (809125c ) 8090f78: 7b9b ldrb r3, [r3, #14] 8090f7a: b2db uxtb r3, r3 8090f7c: 4618 mov r0, r3 8090f7e: 49ba ldr r1, [pc, #744] ; (8091268 ) 8090f80: 4613 mov r3, r2 8090f82: 009b lsls r3, r3, #2 8090f84: 4413 add r3, r2 8090f86: 005b lsls r3, r3, #1 8090f88: 4413 add r3, r2 8090f8a: 4403 add r3, r0 8090f8c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8090f90: 461a mov r2, r3 8090f92: 218a movs r1, #138 ; 0x8a 8090f94: f44f 7082 mov.w r0, #260 ; 0x104 8090f98: f7c3 f9e4 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8090f9c: 49ae ldr r1, [pc, #696] ; (8091258 ) 8090f9e: f04f 30ff mov.w r0, #4294967295 8090fa2: f7c2 fc1f bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8090fa6: 230a movs r3, #10 8090fa8: 220a movs r2, #10 8090faa: 219d movs r1, #157 ; 0x9d 8090fac: 20ff movs r0, #255 ; 0xff 8090fae: f7c3 f8a7 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8090fb2: 230a movs r3, #10 8090fb4: 220a movs r2, #10 8090fb6: 21bd movs r1, #189 ; 0xbd 8090fb8: 20ff movs r0, #255 ; 0xff 8090fba: f7c3 f8a1 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8090fbe: 230a movs r3, #10 8090fc0: 220a movs r2, #10 8090fc2: 216d movs r1, #109 ; 0x6d 8090fc4: 20ff movs r0, #255 ; 0xff 8090fc6: f7c3 f89b bl 8054100 if(pardata.THR & 0x80) 8090fca: 4ba4 ldr r3, [pc, #656] ; (809125c ) 8090fcc: 7bdb ldrb r3, [r3, #15] 8090fce: b2db uxtb r3, r3 8090fd0: b25b sxtb r3, r3 8090fd2: 2b00 cmp r3, #0 8090fd4: da0c bge.n 8090ff0 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8090fd6: 49a0 ldr r1, [pc, #640] ; (8091258 ) 8090fd8: 48a2 ldr r0, [pc, #648] ; (8091264 ) 8090fda: f7c2 fc03 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090fde: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090fe2: 461a mov r2, r3 8090fe4: 21ca movs r1, #202 ; 0xca 8090fe6: f44f 7082 mov.w r0, #260 ; 0x104 8090fea: f7c3 f9bb bl 8054364 8090fee: e00b b.n 8091008 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8090ff0: 4999 ldr r1, [pc, #612] ; (8091258 ) 8090ff2: 489e ldr r0, [pc, #632] ; (809126c ) 8090ff4: f7c2 fbf6 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8090ff8: f507 73c6 add.w r3, r7, #396 ; 0x18c 8090ffc: 461a mov r2, r3 8090ffe: 21ca movs r1, #202 ; 0xca 8091000: f44f 7082 mov.w r0, #260 ; 0x104 8091004: f7c3 f9ae bl 8054364 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091008: 4993 ldr r1, [pc, #588] ; (8091258 ) 809100a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809100e: f7c2 fbe9 bl 80537e4 if(blk) 8091012: 4b97 ldr r3, [pc, #604] ; (8091270 ) 8091014: 681b ldr r3, [r3, #0] 8091016: 2b00 cmp r3, #0 8091018: d00b beq.n 8091032 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 809101a: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 809101e: b2db uxtb r3, r3 8091020: 461a mov r2, r3 8091022: 4b94 ldr r3, [pc, #592] ; (8091274 ) 8091024: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091028: 461a mov r2, r3 809102a: 21aa movs r1, #170 ; 0xaa 809102c: 20d6 movs r0, #214 ; 0xd6 809102e: f7c3 f981 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091032: 4989 ldr r1, [pc, #548] ; (8091258 ) 8091034: 488b ldr r0, [pc, #556] ; (8091264 ) 8091036: f7c2 fbd5 bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 809103a: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 809103e: b2db uxtb r3, r3 8091040: 461a mov r2, r3 8091042: 4b8c ldr r3, [pc, #560] ; (8091274 ) 8091044: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091048: 461a mov r2, r3 809104a: 21aa movs r1, #170 ; 0xaa 809104c: 20c6 movs r0, #198 ; 0xc6 809104e: f7c3 f971 bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8091052: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8091056: b2db uxtb r3, r3 8091058: 461a mov r2, r3 809105a: 4b86 ldr r3, [pc, #536] ; (8091274 ) 809105c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091060: 461a mov r2, r3 8091062: 21aa movs r1, #170 ; 0xaa 8091064: 20e6 movs r0, #230 ; 0xe6 8091066: f7c3 f965 bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 809106a: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 809106e: b2db uxtb r3, r3 8091070: 461a mov r2, r3 8091072: 4b80 ldr r3, [pc, #512] ; (8091274 ) 8091074: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091078: 461a mov r2, r3 809107a: 21aa movs r1, #170 ; 0xaa 809107c: 20f6 movs r0, #246 ; 0xf6 809107e: f7c3 f959 bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8091082: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8091086: b2db uxtb r3, r3 8091088: 461a mov r2, r3 809108a: 4b7a ldr r3, [pc, #488] ; (8091274 ) 809108c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091090: 461a mov r2, r3 8091092: 21aa movs r1, #170 ; 0xaa 8091094: f44f 7083 mov.w r0, #262 ; 0x106 8091098: f7c3 f94c bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 809109c: 4a76 ldr r2, [pc, #472] ; (8091278 ) 809109e: 21aa movs r1, #170 ; 0xaa 80910a0: f44f 708b mov.w r0, #278 ; 0x116 80910a4: f7c3 f946 bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 80910a8: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80910ac: b2db uxtb r3, r3 80910ae: 461a mov r2, r3 80910b0: 4b70 ldr r3, [pc, #448] ; (8091274 ) 80910b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80910b6: 461a mov r2, r3 80910b8: 21aa movs r1, #170 ; 0xaa 80910ba: f44f 7093 mov.w r0, #294 ; 0x126 80910be: f7c3 f939 bl 8054334 break; 80910c2: f001 b926 b.w 8092312 case WaveMax_IES: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80910c6: 4964 ldr r1, [pc, #400] ; (8091258 ) 80910c8: f04f 30ff mov.w r0, #4294967295 80910cc: f7c2 fb8a bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80910d0: 4b62 ldr r3, [pc, #392] ; (809125c ) 80910d2: 7b1b ldrb r3, [r3, #12] 80910d4: b2db uxtb r3, r3 80910d6: 461a mov r2, r3 80910d8: 4b61 ldr r3, [pc, #388] ; (8091260 ) 80910da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80910de: 461a mov r2, r3 80910e0: 2127 movs r1, #39 ; 0x27 80910e2: 200a movs r0, #10 80910e4: f7c3 f926 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80910e8: 495b ldr r1, [pc, #364] ; (8091258 ) 80910ea: 485e ldr r0, [pc, #376] ; (8091264 ) 80910ec: f7c2 fb7a bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 80910f0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80910f4: 461a mov r2, r3 80910f6: 217a movs r1, #122 ; 0x7a 80910f8: f44f 7082 mov.w r0, #260 ; 0x104 80910fc: f7c3 f932 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091100: 4b56 ldr r3, [pc, #344] ; (809125c ) 8091102: 7b1b ldrb r3, [r3, #12] 8091104: b2db uxtb r3, r3 8091106: 461a mov r2, r3 8091108: 4b54 ldr r3, [pc, #336] ; (809125c ) 809110a: 7b9b ldrb r3, [r3, #14] 809110c: b2db uxtb r3, r3 809110e: 4618 mov r0, r3 8091110: 4955 ldr r1, [pc, #340] ; (8091268 ) 8091112: 4613 mov r3, r2 8091114: 009b lsls r3, r3, #2 8091116: 4413 add r3, r2 8091118: 005b lsls r3, r3, #1 809111a: 4413 add r3, r2 809111c: 4403 add r3, r0 809111e: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091122: 461a mov r2, r3 8091124: 218a movs r1, #138 ; 0x8a 8091126: f44f 7082 mov.w r0, #260 ; 0x104 809112a: f7c3 f91b bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809112e: 494a ldr r1, [pc, #296] ; (8091258 ) 8091130: f04f 30ff mov.w r0, #4294967295 8091134: f7c2 fb56 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091138: 230a movs r3, #10 809113a: 220a movs r2, #10 809113c: 219d movs r1, #157 ; 0x9d 809113e: 20ff movs r0, #255 ; 0xff 8091140: f7c2 ffde bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091144: 230a movs r3, #10 8091146: 220a movs r2, #10 8091148: 21bd movs r1, #189 ; 0xbd 809114a: 20ff movs r0, #255 ; 0xff 809114c: f7c2 ffd8 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091150: 230a movs r3, #10 8091152: 220a movs r2, #10 8091154: 216d movs r1, #109 ; 0x6d 8091156: 20ff movs r0, #255 ; 0xff 8091158: f7c2 ffd2 bl 8054100 if(pardata.THR & 0x80) 809115c: 4b3f ldr r3, [pc, #252] ; (809125c ) 809115e: 7bdb ldrb r3, [r3, #15] 8091160: b2db uxtb r3, r3 8091162: b25b sxtb r3, r3 8091164: 2b00 cmp r3, #0 8091166: da0c bge.n 8091182 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091168: 493b ldr r1, [pc, #236] ; (8091258 ) 809116a: 483e ldr r0, [pc, #248] ; (8091264 ) 809116c: f7c2 fb3a bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091170: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091174: 461a mov r2, r3 8091176: 21ca movs r1, #202 ; 0xca 8091178: f44f 7082 mov.w r0, #260 ; 0x104 809117c: f7c3 f8f2 bl 8054364 8091180: e00b b.n 809119a } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091182: 4935 ldr r1, [pc, #212] ; (8091258 ) 8091184: 4839 ldr r0, [pc, #228] ; (809126c ) 8091186: f7c2 fb2d bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809118a: f507 73c6 add.w r3, r7, #396 ; 0x18c 809118e: 461a mov r2, r3 8091190: 21ca movs r1, #202 ; 0xca 8091192: f44f 7082 mov.w r0, #260 ; 0x104 8091196: f7c3 f8e5 bl 8054364 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809119a: 492f ldr r1, [pc, #188] ; (8091258 ) 809119c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80911a0: f7c2 fb20 bl 80537e4 if(blk) 80911a4: 4b32 ldr r3, [pc, #200] ; (8091270 ) 80911a6: 681b ldr r3, [r3, #0] 80911a8: 2b00 cmp r3, #0 80911aa: d00b beq.n 80911c4 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80911ac: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80911b0: b2db uxtb r3, r3 80911b2: 461a mov r2, r3 80911b4: 4b2f ldr r3, [pc, #188] ; (8091274 ) 80911b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80911ba: 461a mov r2, r3 80911bc: 21aa movs r1, #170 ; 0xaa 80911be: 20e6 movs r0, #230 ; 0xe6 80911c0: f7c3 f8b8 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80911c4: 4924 ldr r1, [pc, #144] ; (8091258 ) 80911c6: 4827 ldr r0, [pc, #156] ; (8091264 ) 80911c8: f7c2 fb0c bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 80911cc: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80911d0: b2db uxtb r3, r3 80911d2: 461a mov r2, r3 80911d4: 4b27 ldr r3, [pc, #156] ; (8091274 ) 80911d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80911da: 461a mov r2, r3 80911dc: 21aa movs r1, #170 ; 0xaa 80911de: 20c6 movs r0, #198 ; 0xc6 80911e0: f7c3 f8a8 bl 8054334 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80911e4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80911e8: b2db uxtb r3, r3 80911ea: 461a mov r2, r3 80911ec: 4b21 ldr r3, [pc, #132] ; (8091274 ) 80911ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80911f2: 461a mov r2, r3 80911f4: 21aa movs r1, #170 ; 0xaa 80911f6: 20d6 movs r0, #214 ; 0xd6 80911f8: f7c3 f89c bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 80911fc: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8091200: b2db uxtb r3, r3 8091202: 461a mov r2, r3 8091204: 4b1b ldr r3, [pc, #108] ; (8091274 ) 8091206: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809120a: 461a mov r2, r3 809120c: 21aa movs r1, #170 ; 0xaa 809120e: 20f6 movs r0, #246 ; 0xf6 8091210: f7c3 f890 bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 8091214: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8091218: b2db uxtb r3, r3 809121a: 461a mov r2, r3 809121c: 4b15 ldr r3, [pc, #84] ; (8091274 ) 809121e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091222: 461a mov r2, r3 8091224: 21aa movs r1, #170 ; 0xaa 8091226: f44f 7083 mov.w r0, #262 ; 0x106 809122a: f7c3 f883 bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 809122e: 4a12 ldr r2, [pc, #72] ; (8091278 ) 8091230: 21aa movs r1, #170 ; 0xaa 8091232: f44f 708b mov.w r0, #278 ; 0x116 8091236: f7c3 f87d bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 809123a: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 809123e: b2db uxtb r3, r3 8091240: 461a mov r2, r3 8091242: 4b0c ldr r3, [pc, #48] ; (8091274 ) 8091244: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091248: 461a mov r2, r3 809124a: 21aa movs r1, #170 ; 0xaa 809124c: f44f 7093 mov.w r0, #294 ; 0x126 8091250: f7c3 f870 bl 8054334 break; 8091254: f001 b85d b.w 8092312 8091258: ff0a0f1f .word 0xff0a0f1f 809125c: 20023e60 .word 0x20023e60 8091260: 200205c4 .word 0x200205c4 8091264: ffd8aa57 .word 0xffd8aa57 8091268: 20020334 .word 0x20020334 809126c: ff808080 .word 0xff808080 8091270: 2002165c .word 0x2002165c 8091274: 20020964 .word 0x20020964 8091278: 080cf820 .word 0x080cf820 case WaveMax_IED: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809127c: 49c8 ldr r1, [pc, #800] ; (80915a0 ) 809127e: f04f 30ff mov.w r0, #4294967295 8091282: f7c2 faaf bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091286: 4bc7 ldr r3, [pc, #796] ; (80915a4 ) 8091288: 7b1b ldrb r3, [r3, #12] 809128a: b2db uxtb r3, r3 809128c: 461a mov r2, r3 809128e: 4bc6 ldr r3, [pc, #792] ; (80915a8 ) 8091290: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091294: 461a mov r2, r3 8091296: 2127 movs r1, #39 ; 0x27 8091298: 200a movs r0, #10 809129a: f7c3 f84b bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809129e: 49c0 ldr r1, [pc, #768] ; (80915a0 ) 80912a0: 48c2 ldr r0, [pc, #776] ; (80915ac ) 80912a2: f7c2 fa9f bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 80912a6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80912aa: 461a mov r2, r3 80912ac: 217a movs r1, #122 ; 0x7a 80912ae: f44f 7082 mov.w r0, #260 ; 0x104 80912b2: f7c3 f857 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 80912b6: 4bbb ldr r3, [pc, #748] ; (80915a4 ) 80912b8: 7b1b ldrb r3, [r3, #12] 80912ba: b2db uxtb r3, r3 80912bc: 461a mov r2, r3 80912be: 4bb9 ldr r3, [pc, #740] ; (80915a4 ) 80912c0: 7b9b ldrb r3, [r3, #14] 80912c2: b2db uxtb r3, r3 80912c4: 4618 mov r0, r3 80912c6: 49ba ldr r1, [pc, #744] ; (80915b0 ) 80912c8: 4613 mov r3, r2 80912ca: 009b lsls r3, r3, #2 80912cc: 4413 add r3, r2 80912ce: 005b lsls r3, r3, #1 80912d0: 4413 add r3, r2 80912d2: 4403 add r3, r0 80912d4: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80912d8: 461a mov r2, r3 80912da: 218a movs r1, #138 ; 0x8a 80912dc: f44f 7082 mov.w r0, #260 ; 0x104 80912e0: f7c3 f840 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80912e4: 49ae ldr r1, [pc, #696] ; (80915a0 ) 80912e6: f04f 30ff mov.w r0, #4294967295 80912ea: f7c2 fa7b bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80912ee: 230a movs r3, #10 80912f0: 220a movs r2, #10 80912f2: 219d movs r1, #157 ; 0x9d 80912f4: 20ff movs r0, #255 ; 0xff 80912f6: f7c2 ff03 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80912fa: 230a movs r3, #10 80912fc: 220a movs r2, #10 80912fe: 21bd movs r1, #189 ; 0xbd 8091300: 20ff movs r0, #255 ; 0xff 8091302: f7c2 fefd bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091306: 230a movs r3, #10 8091308: 220a movs r2, #10 809130a: 216d movs r1, #109 ; 0x6d 809130c: 20ff movs r0, #255 ; 0xff 809130e: f7c2 fef7 bl 8054100 if(pardata.THR & 0x80) 8091312: 4ba4 ldr r3, [pc, #656] ; (80915a4 ) 8091314: 7bdb ldrb r3, [r3, #15] 8091316: b2db uxtb r3, r3 8091318: b25b sxtb r3, r3 809131a: 2b00 cmp r3, #0 809131c: da0c bge.n 8091338 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809131e: 49a0 ldr r1, [pc, #640] ; (80915a0 ) 8091320: 48a2 ldr r0, [pc, #648] ; (80915ac ) 8091322: f7c2 fa5f bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091326: f507 73c6 add.w r3, r7, #396 ; 0x18c 809132a: 461a mov r2, r3 809132c: 21ca movs r1, #202 ; 0xca 809132e: f44f 7082 mov.w r0, #260 ; 0x104 8091332: f7c3 f817 bl 8054364 8091336: e00b b.n 8091350 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091338: 4999 ldr r1, [pc, #612] ; (80915a0 ) 809133a: 489e ldr r0, [pc, #632] ; (80915b4 ) 809133c: f7c2 fa52 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091340: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091344: 461a mov r2, r3 8091346: 21ca movs r1, #202 ; 0xca 8091348: f44f 7082 mov.w r0, #260 ; 0x104 809134c: f7c3 f80a bl 8054364 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091350: 4993 ldr r1, [pc, #588] ; (80915a0 ) 8091352: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091356: f7c2 fa45 bl 80537e4 if(blk) 809135a: 4b97 ldr r3, [pc, #604] ; (80915b8 ) 809135c: 681b ldr r3, [r3, #0] 809135e: 2b00 cmp r3, #0 8091360: d00b beq.n 809137a LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8091362: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8091366: b2db uxtb r3, r3 8091368: 461a mov r2, r3 809136a: 4b94 ldr r3, [pc, #592] ; (80915bc ) 809136c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091370: 461a mov r2, r3 8091372: 21aa movs r1, #170 ; 0xaa 8091374: 20f6 movs r0, #246 ; 0xf6 8091376: f7c2 ffdd bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809137a: 4989 ldr r1, [pc, #548] ; (80915a0 ) 809137c: 488b ldr r0, [pc, #556] ; (80915ac ) 809137e: f7c2 fa31 bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8091382: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 8091386: b2db uxtb r3, r3 8091388: 461a mov r2, r3 809138a: 4b8c ldr r3, [pc, #560] ; (80915bc ) 809138c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091390: 461a mov r2, r3 8091392: 21aa movs r1, #170 ; 0xaa 8091394: 20c6 movs r0, #198 ; 0xc6 8091396: f7c2 ffcd bl 8054334 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 809139a: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 809139e: b2db uxtb r3, r3 80913a0: 461a mov r2, r3 80913a2: 4b86 ldr r3, [pc, #536] ; (80915bc ) 80913a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80913a8: 461a mov r2, r3 80913aa: 21aa movs r1, #170 ; 0xaa 80913ac: 20d6 movs r0, #214 ; 0xd6 80913ae: f7c2 ffc1 bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80913b2: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 80913b6: b2db uxtb r3, r3 80913b8: 461a mov r2, r3 80913ba: 4b80 ldr r3, [pc, #512] ; (80915bc ) 80913bc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80913c0: 461a mov r2, r3 80913c2: 21aa movs r1, #170 ; 0xaa 80913c4: 20e6 movs r0, #230 ; 0xe6 80913c6: f7c2 ffb5 bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 80913ca: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80913ce: b2db uxtb r3, r3 80913d0: 461a mov r2, r3 80913d2: 4b7a ldr r3, [pc, #488] ; (80915bc ) 80913d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80913d8: 461a mov r2, r3 80913da: 21aa movs r1, #170 ; 0xaa 80913dc: f44f 7083 mov.w r0, #262 ; 0x106 80913e0: f7c2 ffa8 bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 80913e4: 4a76 ldr r2, [pc, #472] ; (80915c0 ) 80913e6: 21aa movs r1, #170 ; 0xaa 80913e8: f44f 708b mov.w r0, #278 ; 0x116 80913ec: f7c2 ffa2 bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 80913f0: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80913f4: b2db uxtb r3, r3 80913f6: 461a mov r2, r3 80913f8: 4b70 ldr r3, [pc, #448] ; (80915bc ) 80913fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80913fe: 461a mov r2, r3 8091400: 21aa movs r1, #170 ; 0xaa 8091402: f44f 7093 mov.w r0, #294 ; 0x126 8091406: f7c2 ff95 bl 8054334 break; 809140a: f000 bf82 b.w 8092312 case WaveMax_IEE: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809140e: 4964 ldr r1, [pc, #400] ; (80915a0 ) 8091410: f04f 30ff mov.w r0, #4294967295 8091414: f7c2 f9e6 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091418: 4b62 ldr r3, [pc, #392] ; (80915a4 ) 809141a: 7b1b ldrb r3, [r3, #12] 809141c: b2db uxtb r3, r3 809141e: 461a mov r2, r3 8091420: 4b61 ldr r3, [pc, #388] ; (80915a8 ) 8091422: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091426: 461a mov r2, r3 8091428: 2127 movs r1, #39 ; 0x27 809142a: 200a movs r0, #10 809142c: f7c2 ff82 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091430: 495b ldr r1, [pc, #364] ; (80915a0 ) 8091432: 485e ldr r0, [pc, #376] ; (80915ac ) 8091434: f7c2 f9d6 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091438: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809143c: 461a mov r2, r3 809143e: 217a movs r1, #122 ; 0x7a 8091440: f44f 7082 mov.w r0, #260 ; 0x104 8091444: f7c2 ff8e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091448: 4b56 ldr r3, [pc, #344] ; (80915a4 ) 809144a: 7b1b ldrb r3, [r3, #12] 809144c: b2db uxtb r3, r3 809144e: 461a mov r2, r3 8091450: 4b54 ldr r3, [pc, #336] ; (80915a4 ) 8091452: 7b9b ldrb r3, [r3, #14] 8091454: b2db uxtb r3, r3 8091456: 4618 mov r0, r3 8091458: 4955 ldr r1, [pc, #340] ; (80915b0 ) 809145a: 4613 mov r3, r2 809145c: 009b lsls r3, r3, #2 809145e: 4413 add r3, r2 8091460: 005b lsls r3, r3, #1 8091462: 4413 add r3, r2 8091464: 4403 add r3, r0 8091466: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809146a: 461a mov r2, r3 809146c: 218a movs r1, #138 ; 0x8a 809146e: f44f 7082 mov.w r0, #260 ; 0x104 8091472: f7c2 ff77 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091476: 494a ldr r1, [pc, #296] ; (80915a0 ) 8091478: f04f 30ff mov.w r0, #4294967295 809147c: f7c2 f9b2 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091480: 230a movs r3, #10 8091482: 220a movs r2, #10 8091484: 219d movs r1, #157 ; 0x9d 8091486: 20ff movs r0, #255 ; 0xff 8091488: f7c2 fe3a bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 809148c: 230a movs r3, #10 809148e: 220a movs r2, #10 8091490: 21bd movs r1, #189 ; 0xbd 8091492: 20ff movs r0, #255 ; 0xff 8091494: f7c2 fe34 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091498: 230a movs r3, #10 809149a: 220a movs r2, #10 809149c: 216d movs r1, #109 ; 0x6d 809149e: 20ff movs r0, #255 ; 0xff 80914a0: f7c2 fe2e bl 8054100 if(pardata.THR & 0x80) 80914a4: 4b3f ldr r3, [pc, #252] ; (80915a4 ) 80914a6: 7bdb ldrb r3, [r3, #15] 80914a8: b2db uxtb r3, r3 80914aa: b25b sxtb r3, r3 80914ac: 2b00 cmp r3, #0 80914ae: da0c bge.n 80914ca { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80914b0: 493b ldr r1, [pc, #236] ; (80915a0 ) 80914b2: 483e ldr r0, [pc, #248] ; (80915ac ) 80914b4: f7c2 f996 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80914b8: f507 73c6 add.w r3, r7, #396 ; 0x18c 80914bc: 461a mov r2, r3 80914be: 21ca movs r1, #202 ; 0xca 80914c0: f44f 7082 mov.w r0, #260 ; 0x104 80914c4: f7c2 ff4e bl 8054364 80914c8: e00b b.n 80914e2 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80914ca: 4935 ldr r1, [pc, #212] ; (80915a0 ) 80914cc: 4839 ldr r0, [pc, #228] ; (80915b4 ) 80914ce: f7c2 f989 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80914d2: f507 73c6 add.w r3, r7, #396 ; 0x18c 80914d6: 461a mov r2, r3 80914d8: 21ca movs r1, #202 ; 0xca 80914da: f44f 7082 mov.w r0, #260 ; 0x104 80914de: f7c2 ff41 bl 8054364 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80914e2: 492f ldr r1, [pc, #188] ; (80915a0 ) 80914e4: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80914e8: f7c2 f97c bl 80537e4 if(blk) 80914ec: 4b32 ldr r3, [pc, #200] ; (80915b8 ) 80914ee: 681b ldr r3, [r3, #0] 80914f0: 2b00 cmp r3, #0 80914f2: d00c beq.n 809150e LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 80914f4: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 80914f8: b2db uxtb r3, r3 80914fa: 461a mov r2, r3 80914fc: 4b2f ldr r3, [pc, #188] ; (80915bc ) 80914fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091502: 461a mov r2, r3 8091504: 21aa movs r1, #170 ; 0xaa 8091506: f44f 7083 mov.w r0, #262 ; 0x106 809150a: f7c2 ff13 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809150e: 4924 ldr r1, [pc, #144] ; (80915a0 ) 8091510: 4826 ldr r0, [pc, #152] ; (80915ac ) 8091512: f7c2 f967 bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 8091516: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 809151a: b2db uxtb r3, r3 809151c: 461a mov r2, r3 809151e: 4b27 ldr r3, [pc, #156] ; (80915bc ) 8091520: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091524: 461a mov r2, r3 8091526: 21aa movs r1, #170 ; 0xaa 8091528: 20c6 movs r0, #198 ; 0xc6 809152a: f7c2 ff03 bl 8054334 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 809152e: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 8091532: b2db uxtb r3, r3 8091534: 461a mov r2, r3 8091536: 4b21 ldr r3, [pc, #132] ; (80915bc ) 8091538: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809153c: 461a mov r2, r3 809153e: 21aa movs r1, #170 ; 0xaa 8091540: 20d6 movs r0, #214 ; 0xd6 8091542: f7c2 fef7 bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 8091546: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 809154a: b2db uxtb r3, r3 809154c: 461a mov r2, r3 809154e: 4b1b ldr r3, [pc, #108] ; (80915bc ) 8091550: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091554: 461a mov r2, r3 8091556: 21aa movs r1, #170 ; 0xaa 8091558: 20e6 movs r0, #230 ; 0xe6 809155a: f7c2 feeb bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 809155e: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8091562: b2db uxtb r3, r3 8091564: 461a mov r2, r3 8091566: 4b15 ldr r3, [pc, #84] ; (80915bc ) 8091568: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809156c: 461a mov r2, r3 809156e: 21aa movs r1, #170 ; 0xaa 8091570: 20f6 movs r0, #246 ; 0xf6 8091572: f7c2 fedf bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 8091576: 4a12 ldr r2, [pc, #72] ; (80915c0 ) 8091578: 21aa movs r1, #170 ; 0xaa 809157a: f44f 708b mov.w r0, #278 ; 0x116 809157e: f7c2 fed9 bl 8054334 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 8091582: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 8091586: b2db uxtb r3, r3 8091588: 461a mov r2, r3 809158a: 4b0c ldr r3, [pc, #48] ; (80915bc ) 809158c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091590: 461a mov r2, r3 8091592: 21aa movs r1, #170 ; 0xaa 8091594: f44f 7093 mov.w r0, #294 ; 0x126 8091598: f7c2 fecc bl 8054334 break; 809159c: f000 beb9 b.w 8092312 80915a0: ff0a0f1f .word 0xff0a0f1f 80915a4: 20023e60 .word 0x20023e60 80915a8: 200205c4 .word 0x200205c4 80915ac: ffd8aa57 .word 0xffd8aa57 80915b0: 20020334 .word 0x20020334 80915b4: ff808080 .word 0xff808080 80915b8: 2002165c .word 0x2002165c 80915bc: 20020964 .word 0x20020964 80915c0: 080cf820 .word 0x080cf820 case WaveMax_IKD: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80915c4: 49ce ldr r1, [pc, #824] ; (8091900 ) 80915c6: f04f 30ff mov.w r0, #4294967295 80915ca: f7c2 f90b bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 80915ce: 4bcd ldr r3, [pc, #820] ; (8091904 ) 80915d0: 7b1b ldrb r3, [r3, #12] 80915d2: b2db uxtb r3, r3 80915d4: 461a mov r2, r3 80915d6: 4bcc ldr r3, [pc, #816] ; (8091908 ) 80915d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80915dc: 461a mov r2, r3 80915de: 2127 movs r1, #39 ; 0x27 80915e0: 200a movs r0, #10 80915e2: f7c2 fea7 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80915e6: 49c6 ldr r1, [pc, #792] ; (8091900 ) 80915e8: 48c8 ldr r0, [pc, #800] ; (809190c ) 80915ea: f7c2 f8fb bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 80915ee: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80915f2: 461a mov r2, r3 80915f4: 217a movs r1, #122 ; 0x7a 80915f6: f44f 7082 mov.w r0, #260 ; 0x104 80915fa: f7c2 feb3 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 80915fe: 4bc1 ldr r3, [pc, #772] ; (8091904 ) 8091600: 7b1b ldrb r3, [r3, #12] 8091602: b2db uxtb r3, r3 8091604: 461a mov r2, r3 8091606: 4bbf ldr r3, [pc, #764] ; (8091904 ) 8091608: 7b9b ldrb r3, [r3, #14] 809160a: b2db uxtb r3, r3 809160c: 4618 mov r0, r3 809160e: 49c0 ldr r1, [pc, #768] ; (8091910 ) 8091610: 4613 mov r3, r2 8091612: 009b lsls r3, r3, #2 8091614: 4413 add r3, r2 8091616: 005b lsls r3, r3, #1 8091618: 4413 add r3, r2 809161a: 4403 add r3, r0 809161c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091620: 461a mov r2, r3 8091622: 218a movs r1, #138 ; 0x8a 8091624: f44f 7082 mov.w r0, #260 ; 0x104 8091628: f7c2 fe9c bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809162c: 49b4 ldr r1, [pc, #720] ; (8091900 ) 809162e: f04f 30ff mov.w r0, #4294967295 8091632: f7c2 f8d7 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091636: 230a movs r3, #10 8091638: 220a movs r2, #10 809163a: 219d movs r1, #157 ; 0x9d 809163c: 20ff movs r0, #255 ; 0xff 809163e: f7c2 fd5f bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091642: 230a movs r3, #10 8091644: 220a movs r2, #10 8091646: 21bd movs r1, #189 ; 0xbd 8091648: 20ff movs r0, #255 ; 0xff 809164a: f7c2 fd59 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 809164e: 230a movs r3, #10 8091650: 220a movs r2, #10 8091652: 216d movs r1, #109 ; 0x6d 8091654: 20ff movs r0, #255 ; 0xff 8091656: f7c2 fd53 bl 8054100 if(pardata.THR & 0x80) 809165a: 4baa ldr r3, [pc, #680] ; (8091904 ) 809165c: 7bdb ldrb r3, [r3, #15] 809165e: b2db uxtb r3, r3 8091660: b25b sxtb r3, r3 8091662: 2b00 cmp r3, #0 8091664: da0c bge.n 8091680 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091666: 49a6 ldr r1, [pc, #664] ; (8091900 ) 8091668: 48a8 ldr r0, [pc, #672] ; (809190c ) 809166a: f7c2 f8bb bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 809166e: f507 73c6 add.w r3, r7, #396 ; 0x18c 8091672: 461a mov r2, r3 8091674: 21ca movs r1, #202 ; 0xca 8091676: f44f 7082 mov.w r0, #260 ; 0x104 809167a: f7c2 fe73 bl 8054364 809167e: e00b b.n 8091698 } else { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091680: 499f ldr r1, [pc, #636] ; (8091900 ) 8091682: 48a4 ldr r0, [pc, #656] ; (8091914 ) 8091684: f7c2 f8ae bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 8091688: f507 73c6 add.w r3, r7, #396 ; 0x18c 809168c: 461a mov r2, r3 809168e: 21ca movs r1, #202 ; 0xca 8091690: f44f 7082 mov.w r0, #260 ; 0x104 8091694: f7c2 fe66 bl 8054364 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091698: 4999 ldr r1, [pc, #612] ; (8091900 ) 809169a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809169e: f7c2 f8a1 bl 80537e4 if(blk) 80916a2: 4b9d ldr r3, [pc, #628] ; (8091918 ) 80916a4: 681b ldr r3, [r3, #0] 80916a6: 2b00 cmp r3, #0 80916a8: d00c beq.n 80916c4 LCD_DisplayString(294, LCD_LINE_10, (char *) pNUMS[ikd2]); 80916aa: f897 33d3 ldrb.w r3, [r7, #979] ; 0x3d3 80916ae: b2db uxtb r3, r3 80916b0: 461a mov r2, r3 80916b2: 4b9a ldr r3, [pc, #616] ; (809191c ) 80916b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80916b8: 461a mov r2, r3 80916ba: 21aa movs r1, #170 ; 0xaa 80916bc: f44f 7093 mov.w r0, #294 ; 0x126 80916c0: f7c2 fe38 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80916c4: 498e ldr r1, [pc, #568] ; (8091900 ) 80916c6: 4891 ldr r0, [pc, #580] ; (809190c ) 80916c8: f7c2 f88c bl 80537e4 LCD_DisplayString(198, LCD_LINE_10, (char *) pNUMS[idt2]); 80916cc: f897 33d8 ldrb.w r3, [r7, #984] ; 0x3d8 80916d0: b2db uxtb r3, r3 80916d2: 461a mov r2, r3 80916d4: 4b91 ldr r3, [pc, #580] ; (809191c ) 80916d6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80916da: 461a mov r2, r3 80916dc: 21aa movs r1, #170 ; 0xaa 80916de: 20c6 movs r0, #198 ; 0xc6 80916e0: f7c2 fe28 bl 8054334 LCD_DisplayString(214, LCD_LINE_10, (char *) pNUMS[iet2]); 80916e4: f897 33d7 ldrb.w r3, [r7, #983] ; 0x3d7 80916e8: b2db uxtb r3, r3 80916ea: 461a mov r2, r3 80916ec: 4b8b ldr r3, [pc, #556] ; (809191c ) 80916ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80916f2: 461a mov r2, r3 80916f4: 21aa movs r1, #170 ; 0xaa 80916f6: 20d6 movs r0, #214 ; 0xd6 80916f8: f7c2 fe1c bl 8054334 LCD_DisplayString(230, LCD_LINE_10, (char *) pNUMS[ies2]); 80916fc: f897 33d6 ldrb.w r3, [r7, #982] ; 0x3d6 8091700: b2db uxtb r3, r3 8091702: 461a mov r2, r3 8091704: 4b85 ldr r3, [pc, #532] ; (809191c ) 8091706: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809170a: 461a mov r2, r3 809170c: 21aa movs r1, #170 ; 0xaa 809170e: 20e6 movs r0, #230 ; 0xe6 8091710: f7c2 fe10 bl 8054334 LCD_DisplayString(246, LCD_LINE_10, (char *) pNUMS[ied2]); 8091714: f897 33d5 ldrb.w r3, [r7, #981] ; 0x3d5 8091718: b2db uxtb r3, r3 809171a: 461a mov r2, r3 809171c: 4b7f ldr r3, [pc, #508] ; (809191c ) 809171e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091722: 461a mov r2, r3 8091724: 21aa movs r1, #170 ; 0xaa 8091726: 20f6 movs r0, #246 ; 0xf6 8091728: f7c2 fe04 bl 8054334 LCD_DisplayString(262, LCD_LINE_10, (char *) pNUMS[iee2]); 809172c: f897 33d4 ldrb.w r3, [r7, #980] ; 0x3d4 8091730: b2db uxtb r3, r3 8091732: 461a mov r2, r3 8091734: 4b79 ldr r3, [pc, #484] ; (809191c ) 8091736: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809173a: 461a mov r2, r3 809173c: 21aa movs r1, #170 ; 0xaa 809173e: f44f 7083 mov.w r0, #262 ; 0x106 8091742: f7c2 fdf7 bl 8054334 LCD_DisplayString(278, LCD_LINE_10, "."); 8091746: 4a76 ldr r2, [pc, #472] ; (8091920 ) 8091748: 21aa movs r1, #170 ; 0xaa 809174a: f44f 708b mov.w r0, #278 ; 0x116 809174e: f7c2 fdf1 bl 8054334 break; 8091752: f000 bdde b.w 8092312 case WaveThr_IDT: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091756: 496a ldr r1, [pc, #424] ; (8091900 ) 8091758: f04f 30ff mov.w r0, #4294967295 809175c: f7c2 f842 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091760: 4b68 ldr r3, [pc, #416] ; (8091904 ) 8091762: 7b1b ldrb r3, [r3, #12] 8091764: b2db uxtb r3, r3 8091766: 461a mov r2, r3 8091768: 4b67 ldr r3, [pc, #412] ; (8091908 ) 809176a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809176e: 461a mov r2, r3 8091770: 2127 movs r1, #39 ; 0x27 8091772: 200a movs r0, #10 8091774: f7c2 fdde bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091778: 4961 ldr r1, [pc, #388] ; (8091900 ) 809177a: 4864 ldr r0, [pc, #400] ; (809190c ) 809177c: f7c2 f832 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091780: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091784: 461a mov r2, r3 8091786: 217a movs r1, #122 ; 0x7a 8091788: f44f 7082 mov.w r0, #260 ; 0x104 809178c: f7c2 fdea bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091790: 4b5c ldr r3, [pc, #368] ; (8091904 ) 8091792: 7b1b ldrb r3, [r3, #12] 8091794: b2db uxtb r3, r3 8091796: 461a mov r2, r3 8091798: 4b5a ldr r3, [pc, #360] ; (8091904 ) 809179a: 7b9b ldrb r3, [r3, #14] 809179c: b2db uxtb r3, r3 809179e: 4618 mov r0, r3 80917a0: 495b ldr r1, [pc, #364] ; (8091910 ) 80917a2: 4613 mov r3, r2 80917a4: 009b lsls r3, r3, #2 80917a6: 4413 add r3, r2 80917a8: 005b lsls r3, r3, #1 80917aa: 4413 add r3, r2 80917ac: 4403 add r3, r0 80917ae: f851 3023 ldr.w r3, [r1, r3, lsl #2] 80917b2: 461a mov r2, r3 80917b4: 218a movs r1, #138 ; 0x8a 80917b6: f44f 7082 mov.w r0, #260 ; 0x104 80917ba: f7c2 fdd3 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80917be: 4950 ldr r1, [pc, #320] ; (8091900 ) 80917c0: f04f 30ff mov.w r0, #4294967295 80917c4: f7c2 f80e bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 80917c8: 230a movs r3, #10 80917ca: 220a movs r2, #10 80917cc: 219d movs r1, #157 ; 0x9d 80917ce: 20ff movs r0, #255 ; 0xff 80917d0: f7c2 fc96 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80917d4: 230a movs r3, #10 80917d6: 220a movs r2, #10 80917d8: 21bd movs r1, #189 ; 0xbd 80917da: 20ff movs r0, #255 ; 0xff 80917dc: f7c2 fc90 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80917e0: 230a movs r3, #10 80917e2: 220a movs r2, #10 80917e4: 216d movs r1, #109 ; 0x6d 80917e6: 20ff movs r0, #255 ; 0xff 80917e8: f7c2 fc8a bl 8054100 if(pardata.THR & 0x80) 80917ec: 4b45 ldr r3, [pc, #276] ; (8091904 ) 80917ee: 7bdb ldrb r3, [r3, #15] 80917f0: b2db uxtb r3, r3 80917f2: b25b sxtb r3, r3 80917f4: 2b00 cmp r3, #0 80917f6: da0c bge.n 8091812 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80917f8: 4941 ldr r1, [pc, #260] ; (8091900 ) 80917fa: 4844 ldr r0, [pc, #272] ; (809190c ) 80917fc: f7c1 fff2 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091800: f507 73c0 add.w r3, r7, #384 ; 0x180 8091804: 461a mov r2, r3 8091806: 21aa movs r1, #170 ; 0xaa 8091808: f44f 7082 mov.w r0, #260 ; 0x104 809180c: f7c2 fdaa bl 8054364 8091810: e017 b.n 8091842 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8091812: 4b3c ldr r3, [pc, #240] ; (8091904 ) 8091814: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8091818: f003 0304 and.w r3, r3, #4 809181c: 2b00 cmp r3, #0 809181e: d104 bne.n 809182a LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091820: 4937 ldr r1, [pc, #220] ; (8091900 ) 8091822: 483a ldr r0, [pc, #232] ; (809190c ) 8091824: f7c1 ffde bl 80537e4 8091828: e003 b.n 8091832 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809182a: 4935 ldr r1, [pc, #212] ; (8091900 ) 809182c: 4839 ldr r0, [pc, #228] ; (8091914 ) 809182e: f7c1 ffd9 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091832: f507 73c0 add.w r3, r7, #384 ; 0x180 8091836: 461a mov r2, r3 8091838: 21aa movs r1, #170 ; 0xaa 809183a: f44f 7082 mov.w r0, #260 ; 0x104 809183e: f7c2 fd91 bl 8054364 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091842: 492f ldr r1, [pc, #188] ; (8091900 ) 8091844: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091848: f7c1 ffcc bl 80537e4 if(blk) 809184c: 4b32 ldr r3, [pc, #200] ; (8091918 ) 809184e: 681b ldr r3, [r3, #0] 8091850: 2b00 cmp r3, #0 8091852: d00b beq.n 809186c LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8091854: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8091858: b2db uxtb r3, r3 809185a: 461a mov r2, r3 809185c: 4b2f ldr r3, [pc, #188] ; (809191c ) 809185e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091862: 461a mov r2, r3 8091864: 21ca movs r1, #202 ; 0xca 8091866: 20c6 movs r0, #198 ; 0xc6 8091868: f7c2 fd64 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809186c: 4924 ldr r1, [pc, #144] ; (8091900 ) 809186e: 4827 ldr r0, [pc, #156] ; (809190c ) 8091870: f7c1 ffb8 bl 80537e4 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8091874: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8091878: b2db uxtb r3, r3 809187a: 461a mov r2, r3 809187c: 4b27 ldr r3, [pc, #156] ; (809191c ) 809187e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091882: 461a mov r2, r3 8091884: 21ca movs r1, #202 ; 0xca 8091886: 20d6 movs r0, #214 ; 0xd6 8091888: f7c2 fd54 bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 809188c: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8091890: b2db uxtb r3, r3 8091892: 461a mov r2, r3 8091894: 4b21 ldr r3, [pc, #132] ; (809191c ) 8091896: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809189a: 461a mov r2, r3 809189c: 21ca movs r1, #202 ; 0xca 809189e: 20e6 movs r0, #230 ; 0xe6 80918a0: f7c2 fd48 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 80918a4: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 80918a8: b2db uxtb r3, r3 80918aa: 461a mov r2, r3 80918ac: 4b1b ldr r3, [pc, #108] ; (809191c ) 80918ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80918b2: 461a mov r2, r3 80918b4: 21ca movs r1, #202 ; 0xca 80918b6: 20f6 movs r0, #246 ; 0xf6 80918b8: f7c2 fd3c bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 80918bc: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 80918c0: b2db uxtb r3, r3 80918c2: 461a mov r2, r3 80918c4: 4b15 ldr r3, [pc, #84] ; (809191c ) 80918c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80918ca: 461a mov r2, r3 80918cc: 21ca movs r1, #202 ; 0xca 80918ce: f44f 7083 mov.w r0, #262 ; 0x106 80918d2: f7c2 fd2f bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 80918d6: 4a12 ldr r2, [pc, #72] ; (8091920 ) 80918d8: 21ca movs r1, #202 ; 0xca 80918da: f44f 708b mov.w r0, #278 ; 0x116 80918de: f7c2 fd29 bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 80918e2: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 80918e6: b2db uxtb r3, r3 80918e8: 461a mov r2, r3 80918ea: 4b0c ldr r3, [pc, #48] ; (809191c ) 80918ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80918f0: 461a mov r2, r3 80918f2: 21ca movs r1, #202 ; 0xca 80918f4: f44f 7093 mov.w r0, #294 ; 0x126 80918f8: f7c2 fd1c bl 8054334 break; 80918fc: f000 bd09 b.w 8092312 8091900: ff0a0f1f .word 0xff0a0f1f 8091904: 20023e60 .word 0x20023e60 8091908: 200205c4 .word 0x200205c4 809190c: ffd8aa57 .word 0xffd8aa57 8091910: 20020334 .word 0x20020334 8091914: ff808080 .word 0xff808080 8091918: 2002165c .word 0x2002165c 809191c: 20020964 .word 0x20020964 8091920: 080cf820 .word 0x080cf820 case WaveThr_IET: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091924: 499f ldr r1, [pc, #636] ; (8091ba4 ) 8091926: f04f 30ff mov.w r0, #4294967295 809192a: f7c1 ff5b bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 809192e: 4b9e ldr r3, [pc, #632] ; (8091ba8 ) 8091930: 7b1b ldrb r3, [r3, #12] 8091932: b2db uxtb r3, r3 8091934: 461a mov r2, r3 8091936: 4b9d ldr r3, [pc, #628] ; (8091bac ) 8091938: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809193c: 461a mov r2, r3 809193e: 2127 movs r1, #39 ; 0x27 8091940: 200a movs r0, #10 8091942: f7c2 fcf7 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091946: 4997 ldr r1, [pc, #604] ; (8091ba4 ) 8091948: 4899 ldr r0, [pc, #612] ; (8091bb0 ) 809194a: f7c1 ff4b bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 809194e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091952: 461a mov r2, r3 8091954: 217a movs r1, #122 ; 0x7a 8091956: f44f 7082 mov.w r0, #260 ; 0x104 809195a: f7c2 fd03 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809195e: 4b92 ldr r3, [pc, #584] ; (8091ba8 ) 8091960: 7b1b ldrb r3, [r3, #12] 8091962: b2db uxtb r3, r3 8091964: 461a mov r2, r3 8091966: 4b90 ldr r3, [pc, #576] ; (8091ba8 ) 8091968: 7b9b ldrb r3, [r3, #14] 809196a: b2db uxtb r3, r3 809196c: 4618 mov r0, r3 809196e: 4991 ldr r1, [pc, #580] ; (8091bb4 ) 8091970: 4613 mov r3, r2 8091972: 009b lsls r3, r3, #2 8091974: 4413 add r3, r2 8091976: 005b lsls r3, r3, #1 8091978: 4413 add r3, r2 809197a: 4403 add r3, r0 809197c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091980: 461a mov r2, r3 8091982: 218a movs r1, #138 ; 0x8a 8091984: f44f 7082 mov.w r0, #260 ; 0x104 8091988: f7c2 fcec bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809198c: 4985 ldr r1, [pc, #532] ; (8091ba4 ) 809198e: f04f 30ff mov.w r0, #4294967295 8091992: f7c1 ff27 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091996: 230a movs r3, #10 8091998: 220a movs r2, #10 809199a: 219d movs r1, #157 ; 0x9d 809199c: 20ff movs r0, #255 ; 0xff 809199e: f7c2 fbaf bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 80919a2: 230a movs r3, #10 80919a4: 220a movs r2, #10 80919a6: 21bd movs r1, #189 ; 0xbd 80919a8: 20ff movs r0, #255 ; 0xff 80919aa: f7c2 fba9 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80919ae: 230a movs r3, #10 80919b0: 220a movs r2, #10 80919b2: 216d movs r1, #109 ; 0x6d 80919b4: 20ff movs r0, #255 ; 0xff 80919b6: f7c2 fba3 bl 8054100 if(pardata.THR & 0x80) 80919ba: 4b7b ldr r3, [pc, #492] ; (8091ba8 ) 80919bc: 7bdb ldrb r3, [r3, #15] 80919be: b2db uxtb r3, r3 80919c0: b25b sxtb r3, r3 80919c2: 2b00 cmp r3, #0 80919c4: da0c bge.n 80919e0 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80919c6: 4977 ldr r1, [pc, #476] ; (8091ba4 ) 80919c8: 4879 ldr r0, [pc, #484] ; (8091bb0 ) 80919ca: f7c1 ff0b bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80919ce: f507 73c0 add.w r3, r7, #384 ; 0x180 80919d2: 461a mov r2, r3 80919d4: 21aa movs r1, #170 ; 0xaa 80919d6: f44f 7082 mov.w r0, #260 ; 0x104 80919da: f7c2 fcc3 bl 8054364 80919de: e017 b.n 8091a10 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80919e0: 4b71 ldr r3, [pc, #452] ; (8091ba8 ) 80919e2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80919e6: f003 0304 and.w r3, r3, #4 80919ea: 2b00 cmp r3, #0 80919ec: d104 bne.n 80919f8 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80919ee: 496d ldr r1, [pc, #436] ; (8091ba4 ) 80919f0: 486f ldr r0, [pc, #444] ; (8091bb0 ) 80919f2: f7c1 fef7 bl 80537e4 80919f6: e003 b.n 8091a00 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80919f8: 496a ldr r1, [pc, #424] ; (8091ba4 ) 80919fa: 486f ldr r0, [pc, #444] ; (8091bb8 ) 80919fc: f7c1 fef2 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091a00: f507 73c0 add.w r3, r7, #384 ; 0x180 8091a04: 461a mov r2, r3 8091a06: 21aa movs r1, #170 ; 0xaa 8091a08: f44f 7082 mov.w r0, #260 ; 0x104 8091a0c: f7c2 fcaa bl 8054364 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091a10: 4964 ldr r1, [pc, #400] ; (8091ba4 ) 8091a12: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091a16: f7c1 fee5 bl 80537e4 if(blk) 8091a1a: 4b68 ldr r3, [pc, #416] ; (8091bbc ) 8091a1c: 681b ldr r3, [r3, #0] 8091a1e: 2b00 cmp r3, #0 8091a20: d00b beq.n 8091a3a LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8091a22: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8091a26: b2db uxtb r3, r3 8091a28: 461a mov r2, r3 8091a2a: 4b65 ldr r3, [pc, #404] ; (8091bc0 ) 8091a2c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091a30: 461a mov r2, r3 8091a32: 21ca movs r1, #202 ; 0xca 8091a34: 20d6 movs r0, #214 ; 0xd6 8091a36: f7c2 fc7d bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091a3a: 495a ldr r1, [pc, #360] ; (8091ba4 ) 8091a3c: 485c ldr r0, [pc, #368] ; (8091bb0 ) 8091a3e: f7c1 fed1 bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8091a42: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8091a46: b2db uxtb r3, r3 8091a48: 461a mov r2, r3 8091a4a: 4b5d ldr r3, [pc, #372] ; (8091bc0 ) 8091a4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091a50: 461a mov r2, r3 8091a52: 21ca movs r1, #202 ; 0xca 8091a54: 20c6 movs r0, #198 ; 0xc6 8091a56: f7c2 fc6d bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8091a5a: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8091a5e: b2db uxtb r3, r3 8091a60: 461a mov r2, r3 8091a62: 4b57 ldr r3, [pc, #348] ; (8091bc0 ) 8091a64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091a68: 461a mov r2, r3 8091a6a: 21ca movs r1, #202 ; 0xca 8091a6c: 20e6 movs r0, #230 ; 0xe6 8091a6e: f7c2 fc61 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8091a72: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8091a76: b2db uxtb r3, r3 8091a78: 461a mov r2, r3 8091a7a: 4b51 ldr r3, [pc, #324] ; (8091bc0 ) 8091a7c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091a80: 461a mov r2, r3 8091a82: 21ca movs r1, #202 ; 0xca 8091a84: 20f6 movs r0, #246 ; 0xf6 8091a86: f7c2 fc55 bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8091a8a: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8091a8e: b2db uxtb r3, r3 8091a90: 461a mov r2, r3 8091a92: 4b4b ldr r3, [pc, #300] ; (8091bc0 ) 8091a94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091a98: 461a mov r2, r3 8091a9a: 21ca movs r1, #202 ; 0xca 8091a9c: f44f 7083 mov.w r0, #262 ; 0x106 8091aa0: f7c2 fc48 bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 8091aa4: 4a47 ldr r2, [pc, #284] ; (8091bc4 ) 8091aa6: 21ca movs r1, #202 ; 0xca 8091aa8: f44f 708b mov.w r0, #278 ; 0x116 8091aac: f7c2 fc42 bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8091ab0: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8091ab4: b2db uxtb r3, r3 8091ab6: 461a mov r2, r3 8091ab8: 4b41 ldr r3, [pc, #260] ; (8091bc0 ) 8091aba: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091abe: 461a mov r2, r3 8091ac0: 21ca movs r1, #202 ; 0xca 8091ac2: f44f 7093 mov.w r0, #294 ; 0x126 8091ac6: f7c2 fc35 bl 8054334 break; 8091aca: f000 bc22 b.w 8092312 case WaveThr_IES: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091ace: 4935 ldr r1, [pc, #212] ; (8091ba4 ) 8091ad0: f04f 30ff mov.w r0, #4294967295 8091ad4: f7c1 fe86 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091ad8: 4b33 ldr r3, [pc, #204] ; (8091ba8 ) 8091ada: 7b1b ldrb r3, [r3, #12] 8091adc: b2db uxtb r3, r3 8091ade: 461a mov r2, r3 8091ae0: 4b32 ldr r3, [pc, #200] ; (8091bac ) 8091ae2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091ae6: 461a mov r2, r3 8091ae8: 2127 movs r1, #39 ; 0x27 8091aea: 200a movs r0, #10 8091aec: f7c2 fc22 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091af0: 492c ldr r1, [pc, #176] ; (8091ba4 ) 8091af2: 482f ldr r0, [pc, #188] ; (8091bb0 ) 8091af4: f7c1 fe76 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091af8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091afc: 461a mov r2, r3 8091afe: 217a movs r1, #122 ; 0x7a 8091b00: f44f 7082 mov.w r0, #260 ; 0x104 8091b04: f7c2 fc2e bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091b08: 4b27 ldr r3, [pc, #156] ; (8091ba8 ) 8091b0a: 7b1b ldrb r3, [r3, #12] 8091b0c: b2db uxtb r3, r3 8091b0e: 461a mov r2, r3 8091b10: 4b25 ldr r3, [pc, #148] ; (8091ba8 ) 8091b12: 7b9b ldrb r3, [r3, #14] 8091b14: b2db uxtb r3, r3 8091b16: 4618 mov r0, r3 8091b18: 4926 ldr r1, [pc, #152] ; (8091bb4 ) 8091b1a: 4613 mov r3, r2 8091b1c: 009b lsls r3, r3, #2 8091b1e: 4413 add r3, r2 8091b20: 005b lsls r3, r3, #1 8091b22: 4413 add r3, r2 8091b24: 4403 add r3, r0 8091b26: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091b2a: 461a mov r2, r3 8091b2c: 218a movs r1, #138 ; 0x8a 8091b2e: f44f 7082 mov.w r0, #260 ; 0x104 8091b32: f7c2 fc17 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091b36: 491b ldr r1, [pc, #108] ; (8091ba4 ) 8091b38: f04f 30ff mov.w r0, #4294967295 8091b3c: f7c1 fe52 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091b40: 230a movs r3, #10 8091b42: 220a movs r2, #10 8091b44: 219d movs r1, #157 ; 0x9d 8091b46: 20ff movs r0, #255 ; 0xff 8091b48: f7c2 fada bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091b4c: 230a movs r3, #10 8091b4e: 220a movs r2, #10 8091b50: 21bd movs r1, #189 ; 0xbd 8091b52: 20ff movs r0, #255 ; 0xff 8091b54: f7c2 fad4 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091b58: 230a movs r3, #10 8091b5a: 220a movs r2, #10 8091b5c: 216d movs r1, #109 ; 0x6d 8091b5e: 20ff movs r0, #255 ; 0xff 8091b60: f7c2 face bl 8054100 if(pardata.THR & 0x80) 8091b64: 4b10 ldr r3, [pc, #64] ; (8091ba8 ) 8091b66: 7bdb ldrb r3, [r3, #15] 8091b68: b2db uxtb r3, r3 8091b6a: b25b sxtb r3, r3 8091b6c: 2b00 cmp r3, #0 8091b6e: da0c bge.n 8091b8a { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091b70: 490c ldr r1, [pc, #48] ; (8091ba4 ) 8091b72: 480f ldr r0, [pc, #60] ; (8091bb0 ) 8091b74: f7c1 fe36 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091b78: f507 73c0 add.w r3, r7, #384 ; 0x180 8091b7c: 461a mov r2, r3 8091b7e: 21aa movs r1, #170 ; 0xaa 8091b80: f44f 7082 mov.w r0, #260 ; 0x104 8091b84: f7c2 fbee bl 8054364 8091b88: e02a b.n 8091be0 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8091b8a: 4b07 ldr r3, [pc, #28] ; (8091ba8 ) 8091b8c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8091b90: f003 0304 and.w r3, r3, #4 8091b94: 2b00 cmp r3, #0 8091b96: d117 bne.n 8091bc8 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091b98: 4902 ldr r1, [pc, #8] ; (8091ba4 ) 8091b9a: 4805 ldr r0, [pc, #20] ; (8091bb0 ) 8091b9c: f7c1 fe22 bl 80537e4 8091ba0: e016 b.n 8091bd0 8091ba2: bf00 nop 8091ba4: ff0a0f1f .word 0xff0a0f1f 8091ba8: 20023e60 .word 0x20023e60 8091bac: 200205c4 .word 0x200205c4 8091bb0: ffd8aa57 .word 0xffd8aa57 8091bb4: 20020334 .word 0x20020334 8091bb8: ff808080 .word 0xff808080 8091bbc: 2002165c .word 0x2002165c 8091bc0: 20020964 .word 0x20020964 8091bc4: 080cf820 .word 0x080cf820 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091bc8: 49cd ldr r1, [pc, #820] ; (8091f00 ) 8091bca: 48ce ldr r0, [pc, #824] ; (8091f04 ) 8091bcc: f7c1 fe0a bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091bd0: f507 73c0 add.w r3, r7, #384 ; 0x180 8091bd4: 461a mov r2, r3 8091bd6: 21aa movs r1, #170 ; 0xaa 8091bd8: f44f 7082 mov.w r0, #260 ; 0x104 8091bdc: f7c2 fbc2 bl 8054364 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091be0: 49c7 ldr r1, [pc, #796] ; (8091f00 ) 8091be2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091be6: f7c1 fdfd bl 80537e4 if(blk) 8091bea: 4bc7 ldr r3, [pc, #796] ; (8091f08 ) 8091bec: 681b ldr r3, [r3, #0] 8091bee: 2b00 cmp r3, #0 8091bf0: d00b beq.n 8091c0a LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8091bf2: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8091bf6: b2db uxtb r3, r3 8091bf8: 461a mov r2, r3 8091bfa: 4bc4 ldr r3, [pc, #784] ; (8091f0c ) 8091bfc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091c00: 461a mov r2, r3 8091c02: 21ca movs r1, #202 ; 0xca 8091c04: 20e6 movs r0, #230 ; 0xe6 8091c06: f7c2 fb95 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091c0a: 49bd ldr r1, [pc, #756] ; (8091f00 ) 8091c0c: 48c0 ldr r0, [pc, #768] ; (8091f10 ) 8091c0e: f7c1 fde9 bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8091c12: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8091c16: b2db uxtb r3, r3 8091c18: 461a mov r2, r3 8091c1a: 4bbc ldr r3, [pc, #752] ; (8091f0c ) 8091c1c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091c20: 461a mov r2, r3 8091c22: 21ca movs r1, #202 ; 0xca 8091c24: 20c6 movs r0, #198 ; 0xc6 8091c26: f7c2 fb85 bl 8054334 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8091c2a: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8091c2e: b2db uxtb r3, r3 8091c30: 461a mov r2, r3 8091c32: 4bb6 ldr r3, [pc, #728] ; (8091f0c ) 8091c34: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091c38: 461a mov r2, r3 8091c3a: 21ca movs r1, #202 ; 0xca 8091c3c: 20d6 movs r0, #214 ; 0xd6 8091c3e: f7c2 fb79 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8091c42: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8091c46: b2db uxtb r3, r3 8091c48: 461a mov r2, r3 8091c4a: 4bb0 ldr r3, [pc, #704] ; (8091f0c ) 8091c4c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091c50: 461a mov r2, r3 8091c52: 21ca movs r1, #202 ; 0xca 8091c54: 20f6 movs r0, #246 ; 0xf6 8091c56: f7c2 fb6d bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8091c5a: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8091c5e: b2db uxtb r3, r3 8091c60: 461a mov r2, r3 8091c62: 4baa ldr r3, [pc, #680] ; (8091f0c ) 8091c64: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091c68: 461a mov r2, r3 8091c6a: 21ca movs r1, #202 ; 0xca 8091c6c: f44f 7083 mov.w r0, #262 ; 0x106 8091c70: f7c2 fb60 bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 8091c74: 4aa7 ldr r2, [pc, #668] ; (8091f14 ) 8091c76: 21ca movs r1, #202 ; 0xca 8091c78: f44f 708b mov.w r0, #278 ; 0x116 8091c7c: f7c2 fb5a bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8091c80: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8091c84: b2db uxtb r3, r3 8091c86: 461a mov r2, r3 8091c88: 4ba0 ldr r3, [pc, #640] ; (8091f0c ) 8091c8a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091c8e: 461a mov r2, r3 8091c90: 21ca movs r1, #202 ; 0xca 8091c92: f44f 7093 mov.w r0, #294 ; 0x126 8091c96: f7c2 fb4d bl 8054334 break; 8091c9a: e33a b.n 8092312 case WaveThr_IED: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091c9c: 4998 ldr r1, [pc, #608] ; (8091f00 ) 8091c9e: f04f 30ff mov.w r0, #4294967295 8091ca2: f7c1 fd9f bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091ca6: 4b9c ldr r3, [pc, #624] ; (8091f18 ) 8091ca8: 7b1b ldrb r3, [r3, #12] 8091caa: b2db uxtb r3, r3 8091cac: 461a mov r2, r3 8091cae: 4b9b ldr r3, [pc, #620] ; (8091f1c ) 8091cb0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091cb4: 461a mov r2, r3 8091cb6: 2127 movs r1, #39 ; 0x27 8091cb8: 200a movs r0, #10 8091cba: f7c2 fb3b bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091cbe: 4990 ldr r1, [pc, #576] ; (8091f00 ) 8091cc0: 4893 ldr r0, [pc, #588] ; (8091f10 ) 8091cc2: f7c1 fd8f bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091cc6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091cca: 461a mov r2, r3 8091ccc: 217a movs r1, #122 ; 0x7a 8091cce: f44f 7082 mov.w r0, #260 ; 0x104 8091cd2: f7c2 fb47 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091cd6: 4b90 ldr r3, [pc, #576] ; (8091f18 ) 8091cd8: 7b1b ldrb r3, [r3, #12] 8091cda: b2db uxtb r3, r3 8091cdc: 461a mov r2, r3 8091cde: 4b8e ldr r3, [pc, #568] ; (8091f18 ) 8091ce0: 7b9b ldrb r3, [r3, #14] 8091ce2: b2db uxtb r3, r3 8091ce4: 4618 mov r0, r3 8091ce6: 498e ldr r1, [pc, #568] ; (8091f20 ) 8091ce8: 4613 mov r3, r2 8091cea: 009b lsls r3, r3, #2 8091cec: 4413 add r3, r2 8091cee: 005b lsls r3, r3, #1 8091cf0: 4413 add r3, r2 8091cf2: 4403 add r3, r0 8091cf4: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091cf8: 461a mov r2, r3 8091cfa: 218a movs r1, #138 ; 0x8a 8091cfc: f44f 7082 mov.w r0, #260 ; 0x104 8091d00: f7c2 fb30 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091d04: 497e ldr r1, [pc, #504] ; (8091f00 ) 8091d06: f04f 30ff mov.w r0, #4294967295 8091d0a: f7c1 fd6b bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091d0e: 230a movs r3, #10 8091d10: 220a movs r2, #10 8091d12: 219d movs r1, #157 ; 0x9d 8091d14: 20ff movs r0, #255 ; 0xff 8091d16: f7c2 f9f3 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091d1a: 230a movs r3, #10 8091d1c: 220a movs r2, #10 8091d1e: 21bd movs r1, #189 ; 0xbd 8091d20: 20ff movs r0, #255 ; 0xff 8091d22: f7c2 f9ed bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091d26: 230a movs r3, #10 8091d28: 220a movs r2, #10 8091d2a: 216d movs r1, #109 ; 0x6d 8091d2c: 20ff movs r0, #255 ; 0xff 8091d2e: f7c2 f9e7 bl 8054100 if(pardata.THR & 0x80) 8091d32: 4b79 ldr r3, [pc, #484] ; (8091f18 ) 8091d34: 7bdb ldrb r3, [r3, #15] 8091d36: b2db uxtb r3, r3 8091d38: b25b sxtb r3, r3 8091d3a: 2b00 cmp r3, #0 8091d3c: da0c bge.n 8091d58 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091d3e: 4970 ldr r1, [pc, #448] ; (8091f00 ) 8091d40: 4873 ldr r0, [pc, #460] ; (8091f10 ) 8091d42: f7c1 fd4f bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091d46: f507 73c0 add.w r3, r7, #384 ; 0x180 8091d4a: 461a mov r2, r3 8091d4c: 21aa movs r1, #170 ; 0xaa 8091d4e: f44f 7082 mov.w r0, #260 ; 0x104 8091d52: f7c2 fb07 bl 8054364 8091d56: e017 b.n 8091d88 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8091d58: 4b6f ldr r3, [pc, #444] ; (8091f18 ) 8091d5a: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8091d5e: f003 0304 and.w r3, r3, #4 8091d62: 2b00 cmp r3, #0 8091d64: d104 bne.n 8091d70 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091d66: 4966 ldr r1, [pc, #408] ; (8091f00 ) 8091d68: 4869 ldr r0, [pc, #420] ; (8091f10 ) 8091d6a: f7c1 fd3b bl 80537e4 8091d6e: e003 b.n 8091d78 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091d70: 4963 ldr r1, [pc, #396] ; (8091f00 ) 8091d72: 4864 ldr r0, [pc, #400] ; (8091f04 ) 8091d74: f7c1 fd36 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091d78: f507 73c0 add.w r3, r7, #384 ; 0x180 8091d7c: 461a mov r2, r3 8091d7e: 21aa movs r1, #170 ; 0xaa 8091d80: f44f 7082 mov.w r0, #260 ; 0x104 8091d84: f7c2 faee bl 8054364 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091d88: 495d ldr r1, [pc, #372] ; (8091f00 ) 8091d8a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091d8e: f7c1 fd29 bl 80537e4 if(blk) 8091d92: 4b5d ldr r3, [pc, #372] ; (8091f08 ) 8091d94: 681b ldr r3, [r3, #0] 8091d96: 2b00 cmp r3, #0 8091d98: d00b beq.n 8091db2 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8091d9a: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8091d9e: b2db uxtb r3, r3 8091da0: 461a mov r2, r3 8091da2: 4b5a ldr r3, [pc, #360] ; (8091f0c ) 8091da4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091da8: 461a mov r2, r3 8091daa: 21ca movs r1, #202 ; 0xca 8091dac: 20f6 movs r0, #246 ; 0xf6 8091dae: f7c2 fac1 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091db2: 4953 ldr r1, [pc, #332] ; (8091f00 ) 8091db4: 4856 ldr r0, [pc, #344] ; (8091f10 ) 8091db6: f7c1 fd15 bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8091dba: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8091dbe: b2db uxtb r3, r3 8091dc0: 461a mov r2, r3 8091dc2: 4b52 ldr r3, [pc, #328] ; (8091f0c ) 8091dc4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091dc8: 461a mov r2, r3 8091dca: 21ca movs r1, #202 ; 0xca 8091dcc: 20c6 movs r0, #198 ; 0xc6 8091dce: f7c2 fab1 bl 8054334 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8091dd2: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8091dd6: b2db uxtb r3, r3 8091dd8: 461a mov r2, r3 8091dda: 4b4c ldr r3, [pc, #304] ; (8091f0c ) 8091ddc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091de0: 461a mov r2, r3 8091de2: 21ca movs r1, #202 ; 0xca 8091de4: 20d6 movs r0, #214 ; 0xd6 8091de6: f7c2 faa5 bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8091dea: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8091dee: b2db uxtb r3, r3 8091df0: 461a mov r2, r3 8091df2: 4b46 ldr r3, [pc, #280] ; (8091f0c ) 8091df4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091df8: 461a mov r2, r3 8091dfa: 21ca movs r1, #202 ; 0xca 8091dfc: 20e6 movs r0, #230 ; 0xe6 8091dfe: f7c2 fa99 bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8091e02: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8091e06: b2db uxtb r3, r3 8091e08: 461a mov r2, r3 8091e0a: 4b40 ldr r3, [pc, #256] ; (8091f0c ) 8091e0c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091e10: 461a mov r2, r3 8091e12: 21ca movs r1, #202 ; 0xca 8091e14: f44f 7083 mov.w r0, #262 ; 0x106 8091e18: f7c2 fa8c bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 8091e1c: 4a3d ldr r2, [pc, #244] ; (8091f14 ) 8091e1e: 21ca movs r1, #202 ; 0xca 8091e20: f44f 708b mov.w r0, #278 ; 0x116 8091e24: f7c2 fa86 bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8091e28: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8091e2c: b2db uxtb r3, r3 8091e2e: 461a mov r2, r3 8091e30: 4b36 ldr r3, [pc, #216] ; (8091f0c ) 8091e32: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091e36: 461a mov r2, r3 8091e38: 21ca movs r1, #202 ; 0xca 8091e3a: f44f 7093 mov.w r0, #294 ; 0x126 8091e3e: f7c2 fa79 bl 8054334 break; 8091e42: e266 b.n 8092312 case WaveThr_IEE: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091e44: 492e ldr r1, [pc, #184] ; (8091f00 ) 8091e46: f04f 30ff mov.w r0, #4294967295 8091e4a: f7c1 fccb bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8091e4e: 4b32 ldr r3, [pc, #200] ; (8091f18 ) 8091e50: 7b1b ldrb r3, [r3, #12] 8091e52: b2db uxtb r3, r3 8091e54: 461a mov r2, r3 8091e56: 4b31 ldr r3, [pc, #196] ; (8091f1c ) 8091e58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091e5c: 461a mov r2, r3 8091e5e: 2127 movs r1, #39 ; 0x27 8091e60: 200a movs r0, #10 8091e62: f7c2 fa67 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091e66: 4926 ldr r1, [pc, #152] ; (8091f00 ) 8091e68: 4829 ldr r0, [pc, #164] ; (8091f10 ) 8091e6a: f7c1 fcbb bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8091e6e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8091e72: 461a mov r2, r3 8091e74: 217a movs r1, #122 ; 0x7a 8091e76: f44f 7082 mov.w r0, #260 ; 0x104 8091e7a: f7c2 fa73 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8091e7e: 4b26 ldr r3, [pc, #152] ; (8091f18 ) 8091e80: 7b1b ldrb r3, [r3, #12] 8091e82: b2db uxtb r3, r3 8091e84: 461a mov r2, r3 8091e86: 4b24 ldr r3, [pc, #144] ; (8091f18 ) 8091e88: 7b9b ldrb r3, [r3, #14] 8091e8a: b2db uxtb r3, r3 8091e8c: 4618 mov r0, r3 8091e8e: 4924 ldr r1, [pc, #144] ; (8091f20 ) 8091e90: 4613 mov r3, r2 8091e92: 009b lsls r3, r3, #2 8091e94: 4413 add r3, r2 8091e96: 005b lsls r3, r3, #1 8091e98: 4413 add r3, r2 8091e9a: 4403 add r3, r0 8091e9c: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8091ea0: 461a mov r2, r3 8091ea2: 218a movs r1, #138 ; 0x8a 8091ea4: f44f 7082 mov.w r0, #260 ; 0x104 8091ea8: f7c2 fa5c bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8091eac: 4914 ldr r1, [pc, #80] ; (8091f00 ) 8091eae: f04f 30ff mov.w r0, #4294967295 8091eb2: f7c1 fc97 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8091eb6: 230a movs r3, #10 8091eb8: 220a movs r2, #10 8091eba: 219d movs r1, #157 ; 0x9d 8091ebc: 20ff movs r0, #255 ; 0xff 8091ebe: f7c2 f91f bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8091ec2: 230a movs r3, #10 8091ec4: 220a movs r2, #10 8091ec6: 21bd movs r1, #189 ; 0xbd 8091ec8: 20ff movs r0, #255 ; 0xff 8091eca: f7c2 f919 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 8091ece: 230a movs r3, #10 8091ed0: 220a movs r2, #10 8091ed2: 216d movs r1, #109 ; 0x6d 8091ed4: 20ff movs r0, #255 ; 0xff 8091ed6: f7c2 f913 bl 8054100 if(pardata.THR & 0x80) 8091eda: 4b0f ldr r3, [pc, #60] ; (8091f18 ) 8091edc: 7bdb ldrb r3, [r3, #15] 8091ede: b2db uxtb r3, r3 8091ee0: b25b sxtb r3, r3 8091ee2: 2b00 cmp r3, #0 8091ee4: da1e bge.n 8091f24 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091ee6: 4906 ldr r1, [pc, #24] ; (8091f00 ) 8091ee8: 4809 ldr r0, [pc, #36] ; (8091f10 ) 8091eea: f7c1 fc7b bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091eee: f507 73c0 add.w r3, r7, #384 ; 0x180 8091ef2: 461a mov r2, r3 8091ef4: 21aa movs r1, #170 ; 0xaa 8091ef6: f44f 7082 mov.w r0, #260 ; 0x104 8091efa: f7c2 fa33 bl 8054364 8091efe: e029 b.n 8091f54 8091f00: ff0a0f1f .word 0xff0a0f1f 8091f04: ff808080 .word 0xff808080 8091f08: 2002165c .word 0x2002165c 8091f0c: 20020964 .word 0x20020964 8091f10: ffd8aa57 .word 0xffd8aa57 8091f14: 080cf820 .word 0x080cf820 8091f18: 20023e60 .word 0x20023e60 8091f1c: 200205c4 .word 0x200205c4 8091f20: 20020334 .word 0x20020334 } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 8091f24: 4ba4 ldr r3, [pc, #656] ; (80921b8 ) 8091f26: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8091f2a: f003 0304 and.w r3, r3, #4 8091f2e: 2b00 cmp r3, #0 8091f30: d104 bne.n 8091f3c LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091f32: 49a2 ldr r1, [pc, #648] ; (80921bc ) 8091f34: 48a2 ldr r0, [pc, #648] ; (80921c0 ) 8091f36: f7c1 fc55 bl 80537e4 8091f3a: e003 b.n 8091f44 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8091f3c: 499f ldr r1, [pc, #636] ; (80921bc ) 8091f3e: 48a1 ldr r0, [pc, #644] ; (80921c4 ) 8091f40: f7c1 fc50 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8091f44: f507 73c0 add.w r3, r7, #384 ; 0x180 8091f48: 461a mov r2, r3 8091f4a: 21aa movs r1, #170 ; 0xaa 8091f4c: f44f 7082 mov.w r0, #260 ; 0x104 8091f50: f7c2 fa08 bl 8054364 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8091f54: 4999 ldr r1, [pc, #612] ; (80921bc ) 8091f56: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8091f5a: f7c1 fc43 bl 80537e4 if(blk) 8091f5e: 4b9a ldr r3, [pc, #616] ; (80921c8 ) 8091f60: 681b ldr r3, [r3, #0] 8091f62: 2b00 cmp r3, #0 8091f64: d00c beq.n 8091f80 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8091f66: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8091f6a: b2db uxtb r3, r3 8091f6c: 461a mov r2, r3 8091f6e: 4b97 ldr r3, [pc, #604] ; (80921cc ) 8091f70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091f74: 461a mov r2, r3 8091f76: 21ca movs r1, #202 ; 0xca 8091f78: f44f 7083 mov.w r0, #262 ; 0x106 8091f7c: f7c2 f9da bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8091f80: 498e ldr r1, [pc, #568] ; (80921bc ) 8091f82: 488f ldr r0, [pc, #572] ; (80921c0 ) 8091f84: f7c1 fc2e bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8091f88: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8091f8c: b2db uxtb r3, r3 8091f8e: 461a mov r2, r3 8091f90: 4b8e ldr r3, [pc, #568] ; (80921cc ) 8091f92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091f96: 461a mov r2, r3 8091f98: 21ca movs r1, #202 ; 0xca 8091f9a: 20c6 movs r0, #198 ; 0xc6 8091f9c: f7c2 f9ca bl 8054334 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8091fa0: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 8091fa4: b2db uxtb r3, r3 8091fa6: 461a mov r2, r3 8091fa8: 4b88 ldr r3, [pc, #544] ; (80921cc ) 8091faa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091fae: 461a mov r2, r3 8091fb0: 21ca movs r1, #202 ; 0xca 8091fb2: 20d6 movs r0, #214 ; 0xd6 8091fb4: f7c2 f9be bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8091fb8: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8091fbc: b2db uxtb r3, r3 8091fbe: 461a mov r2, r3 8091fc0: 4b82 ldr r3, [pc, #520] ; (80921cc ) 8091fc2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091fc6: 461a mov r2, r3 8091fc8: 21ca movs r1, #202 ; 0xca 8091fca: 20e6 movs r0, #230 ; 0xe6 8091fcc: f7c2 f9b2 bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8091fd0: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 8091fd4: b2db uxtb r3, r3 8091fd6: 461a mov r2, r3 8091fd8: 4b7c ldr r3, [pc, #496] ; (80921cc ) 8091fda: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8091fde: 461a mov r2, r3 8091fe0: 21ca movs r1, #202 ; 0xca 8091fe2: 20f6 movs r0, #246 ; 0xf6 8091fe4: f7c2 f9a6 bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 8091fe8: 4a79 ldr r2, [pc, #484] ; (80921d0 ) 8091fea: 21ca movs r1, #202 ; 0xca 8091fec: f44f 708b mov.w r0, #278 ; 0x116 8091ff0: f7c2 f9a0 bl 8054334 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 8091ff4: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8091ff8: b2db uxtb r3, r3 8091ffa: 461a mov r2, r3 8091ffc: 4b73 ldr r3, [pc, #460] ; (80921cc ) 8091ffe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092002: 461a mov r2, r3 8092004: 21ca movs r1, #202 ; 0xca 8092006: f44f 7093 mov.w r0, #294 ; 0x126 809200a: f7c2 f993 bl 8054334 break; 809200e: e180 b.n 8092312 case WaveThr_IKD: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092010: 496a ldr r1, [pc, #424] ; (80921bc ) 8092012: f04f 30ff mov.w r0, #4294967295 8092016: f7c1 fbe5 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 809201a: 4b67 ldr r3, [pc, #412] ; (80921b8 ) 809201c: 7b1b ldrb r3, [r3, #12] 809201e: b2db uxtb r3, r3 8092020: 461a mov r2, r3 8092022: 4b6c ldr r3, [pc, #432] ; (80921d4 ) 8092024: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092028: 461a mov r2, r3 809202a: 2127 movs r1, #39 ; 0x27 809202c: 200a movs r0, #10 809202e: f7c2 f981 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092032: 4962 ldr r1, [pc, #392] ; (80921bc ) 8092034: 4862 ldr r0, [pc, #392] ; (80921c0 ) 8092036: f7c1 fbd5 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 809203a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809203e: 461a mov r2, r3 8092040: 217a movs r1, #122 ; 0x7a 8092042: f44f 7082 mov.w r0, #260 ; 0x104 8092046: f7c2 f98d bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 809204a: 4b5b ldr r3, [pc, #364] ; (80921b8 ) 809204c: 7b1b ldrb r3, [r3, #12] 809204e: b2db uxtb r3, r3 8092050: 461a mov r2, r3 8092052: 4b59 ldr r3, [pc, #356] ; (80921b8 ) 8092054: 7b9b ldrb r3, [r3, #14] 8092056: b2db uxtb r3, r3 8092058: 4618 mov r0, r3 809205a: 495f ldr r1, [pc, #380] ; (80921d8 ) 809205c: 4613 mov r3, r2 809205e: 009b lsls r3, r3, #2 8092060: 4413 add r3, r2 8092062: 005b lsls r3, r3, #1 8092064: 4413 add r3, r2 8092066: 4403 add r3, r0 8092068: f851 3023 ldr.w r3, [r1, r3, lsl #2] 809206c: 461a mov r2, r3 809206e: 218a movs r1, #138 ; 0x8a 8092070: f44f 7082 mov.w r0, #260 ; 0x104 8092074: f7c2 f976 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092078: 4950 ldr r1, [pc, #320] ; (80921bc ) 809207a: f04f 30ff mov.w r0, #4294967295 809207e: f7c1 fbb1 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 8092082: 230a movs r3, #10 8092084: 220a movs r2, #10 8092086: 219d movs r1, #157 ; 0x9d 8092088: 20ff movs r0, #255 ; 0xff 809208a: f7c2 f839 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 809208e: 230a movs r3, #10 8092090: 220a movs r2, #10 8092092: 21bd movs r1, #189 ; 0xbd 8092094: 20ff movs r0, #255 ; 0xff 8092096: f7c2 f833 bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 809209a: 230a movs r3, #10 809209c: 220a movs r2, #10 809209e: 216d movs r1, #109 ; 0x6d 80920a0: 20ff movs r0, #255 ; 0xff 80920a2: f7c2 f82d bl 8054100 if(pardata.THR & 0x80) 80920a6: 4b44 ldr r3, [pc, #272] ; (80921b8 ) 80920a8: 7bdb ldrb r3, [r3, #15] 80920aa: b2db uxtb r3, r3 80920ac: b25b sxtb r3, r3 80920ae: 2b00 cmp r3, #0 80920b0: da0c bge.n 80920cc { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80920b2: 4942 ldr r1, [pc, #264] ; (80921bc ) 80920b4: 4842 ldr r0, [pc, #264] ; (80921c0 ) 80920b6: f7c1 fb95 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80920ba: f507 73c0 add.w r3, r7, #384 ; 0x180 80920be: 461a mov r2, r3 80920c0: 21aa movs r1, #170 ; 0xaa 80920c2: f44f 7082 mov.w r0, #260 ; 0x104 80920c6: f7c2 f94d bl 8054364 80920ca: e017 b.n 80920fc } else { if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80920cc: 4b3a ldr r3, [pc, #232] ; (80921b8 ) 80920ce: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80920d2: f003 0304 and.w r3, r3, #4 80920d6: 2b00 cmp r3, #0 80920d8: d104 bne.n 80920e4 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80920da: 4938 ldr r1, [pc, #224] ; (80921bc ) 80920dc: 4838 ldr r0, [pc, #224] ; (80921c0 ) 80920de: f7c1 fb81 bl 80537e4 80920e2: e003 b.n 80920ec else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80920e4: 4935 ldr r1, [pc, #212] ; (80921bc ) 80920e6: 4837 ldr r0, [pc, #220] ; (80921c4 ) 80920e8: f7c1 fb7c bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80920ec: f507 73c0 add.w r3, r7, #384 ; 0x180 80920f0: 461a mov r2, r3 80920f2: 21aa movs r1, #170 ; 0xaa 80920f4: f44f 7082 mov.w r0, #260 ; 0x104 80920f8: f7c2 f934 bl 8054364 } LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80920fc: 492f ldr r1, [pc, #188] ; (80921bc ) 80920fe: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8092102: f7c1 fb6f bl 80537e4 if(blk) 8092106: 4b30 ldr r3, [pc, #192] ; (80921c8 ) 8092108: 681b ldr r3, [r3, #0] 809210a: 2b00 cmp r3, #0 809210c: d00c beq.n 8092128 LCD_DisplayString(294, LCD_LINE_12, (char *) pNUMS[ikd]); 809210e: f897 33e2 ldrb.w r3, [r7, #994] ; 0x3e2 8092112: b2db uxtb r3, r3 8092114: 461a mov r2, r3 8092116: 4b2d ldr r3, [pc, #180] ; (80921cc ) 8092118: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809211c: 461a mov r2, r3 809211e: 21ca movs r1, #202 ; 0xca 8092120: f44f 7093 mov.w r0, #294 ; 0x126 8092124: f7c2 f906 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 8092128: 4924 ldr r1, [pc, #144] ; (80921bc ) 809212a: 4825 ldr r0, [pc, #148] ; (80921c0 ) 809212c: f7c1 fb5a bl 80537e4 LCD_DisplayString(198, LCD_LINE_12, (char *) pNUMS[idt]); 8092130: f897 33e7 ldrb.w r3, [r7, #999] ; 0x3e7 8092134: b2db uxtb r3, r3 8092136: 461a mov r2, r3 8092138: 4b24 ldr r3, [pc, #144] ; (80921cc ) 809213a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809213e: 461a mov r2, r3 8092140: 21ca movs r1, #202 ; 0xca 8092142: 20c6 movs r0, #198 ; 0xc6 8092144: f7c2 f8f6 bl 8054334 LCD_DisplayString(214, LCD_LINE_12, (char *) pNUMS[iet]); 8092148: f897 33e6 ldrb.w r3, [r7, #998] ; 0x3e6 809214c: b2db uxtb r3, r3 809214e: 461a mov r2, r3 8092150: 4b1e ldr r3, [pc, #120] ; (80921cc ) 8092152: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092156: 461a mov r2, r3 8092158: 21ca movs r1, #202 ; 0xca 809215a: 20d6 movs r0, #214 ; 0xd6 809215c: f7c2 f8ea bl 8054334 LCD_DisplayString(230, LCD_LINE_12, (char *) pNUMS[ies]); 8092160: f897 33e5 ldrb.w r3, [r7, #997] ; 0x3e5 8092164: b2db uxtb r3, r3 8092166: 461a mov r2, r3 8092168: 4b18 ldr r3, [pc, #96] ; (80921cc ) 809216a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809216e: 461a mov r2, r3 8092170: 21ca movs r1, #202 ; 0xca 8092172: 20e6 movs r0, #230 ; 0xe6 8092174: f7c2 f8de bl 8054334 LCD_DisplayString(246, LCD_LINE_12, (char *) pNUMS[ied]); 8092178: f897 33e4 ldrb.w r3, [r7, #996] ; 0x3e4 809217c: b2db uxtb r3, r3 809217e: 461a mov r2, r3 8092180: 4b12 ldr r3, [pc, #72] ; (80921cc ) 8092182: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092186: 461a mov r2, r3 8092188: 21ca movs r1, #202 ; 0xca 809218a: 20f6 movs r0, #246 ; 0xf6 809218c: f7c2 f8d2 bl 8054334 LCD_DisplayString(262, LCD_LINE_12, (char *) pNUMS[iee]); 8092190: f897 33e3 ldrb.w r3, [r7, #995] ; 0x3e3 8092194: b2db uxtb r3, r3 8092196: 461a mov r2, r3 8092198: 4b0c ldr r3, [pc, #48] ; (80921cc ) 809219a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809219e: 461a mov r2, r3 80921a0: 21ca movs r1, #202 ; 0xca 80921a2: f44f 7083 mov.w r0, #262 ; 0x106 80921a6: f7c2 f8c5 bl 8054334 LCD_DisplayString(278, LCD_LINE_12, "."); 80921aa: 4a09 ldr r2, [pc, #36] ; (80921d0 ) 80921ac: 21ca movs r1, #202 ; 0xca 80921ae: f44f 708b mov.w r0, #278 ; 0x116 80921b2: f7c2 f8bf bl 8054334 break; 80921b6: e0ac b.n 8092312 80921b8: 20023e60 .word 0x20023e60 80921bc: ff0a0f1f .word 0xff0a0f1f 80921c0: ffd8aa57 .word 0xffd8aa57 80921c4: ff808080 .word 0xff808080 80921c8: 2002165c .word 0x2002165c 80921cc: 20020964 .word 0x20020964 80921d0: 080cf820 .word 0x080cf820 80921d4: 200205c4 .word 0x200205c4 80921d8: 20020334 .word 0x20020334 case WaveTacho: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80921dc: 49ad ldr r1, [pc, #692] ; (8092494 ) 80921de: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80921e2: f7c1 faff bl 80537e4 BSP_LCD_FillRect(253, CHECKBOX_LINE_6-2, 14, 14); 80921e6: 230e movs r3, #14 80921e8: 220e movs r2, #14 80921ea: 216b movs r1, #107 ; 0x6b 80921ec: 20fd movs r0, #253 ; 0xfd 80921ee: f7c1 ff87 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80921f2: 49a8 ldr r1, [pc, #672] ; (8092494 ) 80921f4: f04f 30ff mov.w r0, #4294967295 80921f8: f7c1 faf4 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_6, 10, 10); 80921fc: 230a movs r3, #10 80921fe: 220a movs r2, #10 8092200: 216d movs r1, #109 ; 0x6d 8092202: 20ff movs r0, #255 ; 0xff 8092204: f7c1 ff7c bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092208: 49a2 ldr r1, [pc, #648] ; (8092494 ) 809220a: f04f 30ff mov.w r0, #4294967295 809220e: f7c1 fae9 bl 80537e4 LCD_DisplayString(10, LCD_LINE_2, (char *) TEXT_Next[pardata.LANG]); //Äàëåå; 8092212: 4ba1 ldr r3, [pc, #644] ; (8092498 ) 8092214: 7b1b ldrb r3, [r3, #12] 8092216: b2db uxtb r3, r3 8092218: 461a mov r2, r3 809221a: 4ba0 ldr r3, [pc, #640] ; (809249c ) 809221c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8092220: 461a mov r2, r3 8092222: 2127 movs r1, #39 ; 0x27 8092224: 200a movs r0, #10 8092226: f7c2 f885 bl 8054334 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809222a: 499a ldr r1, [pc, #616] ; (8092494 ) 809222c: 489c ldr r0, [pc, #624] ; (80924a0 ) 809222e: f7c1 fad9 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_7, str1); 8092232: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092236: 461a mov r2, r3 8092238: 217a movs r1, #122 ; 0x7a 809223a: f44f 7082 mov.w r0, #260 ; 0x104 809223e: f7c2 f891 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_8, (char *) pTME[pardata.LANG][pardata.TME]); 8092242: 4b95 ldr r3, [pc, #596] ; (8092498 ) 8092244: 7b1b ldrb r3, [r3, #12] 8092246: b2db uxtb r3, r3 8092248: 461a mov r2, r3 809224a: 4b93 ldr r3, [pc, #588] ; (8092498 ) 809224c: 7b9b ldrb r3, [r3, #14] 809224e: b2db uxtb r3, r3 8092250: 4618 mov r0, r3 8092252: 4994 ldr r1, [pc, #592] ; (80924a4 ) 8092254: 4613 mov r3, r2 8092256: 009b lsls r3, r3, #2 8092258: 4413 add r3, r2 809225a: 005b lsls r3, r3, #1 809225c: 4413 add r3, r2 809225e: 4403 add r3, r0 8092260: f851 3023 ldr.w r3, [r1, r3, lsl #2] 8092264: 461a mov r2, r3 8092266: 218a movs r1, #138 ; 0x8a 8092268: f44f 7082 mov.w r0, #260 ; 0x104 809226c: f7c2 f87a bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092270: 4988 ldr r1, [pc, #544] ; (8092494 ) 8092272: f04f 30ff mov.w r0, #4294967295 8092276: f7c1 fab5 bl 80537e4 BSP_LCD_FillRect(255, CHECKBOX_LINE_9, 10, 10); 809227a: 230a movs r3, #10 809227c: 220a movs r2, #10 809227e: 219d movs r1, #157 ; 0x9d 8092280: 20ff movs r0, #255 ; 0xff 8092282: f7c1 ff3d bl 8054100 BSP_LCD_FillRect(255, CHECKBOX_LINE_11, 10, 10); 8092286: 230a movs r3, #10 8092288: 220a movs r2, #10 809228a: 21bd movs r1, #189 ; 0xbd 809228c: 20ff movs r0, #255 ; 0xff 809228e: f7c1 ff37 bl 8054100 if(pardata.THR & 0x80) 8092292: 4b81 ldr r3, [pc, #516] ; (8092498 ) 8092294: 7bdb ldrb r3, [r3, #15] 8092296: b2db uxtb r3, r3 8092298: b25b sxtb r3, r3 809229a: 2b00 cmp r3, #0 809229c: da14 bge.n 80922c8 { LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 809229e: 497d ldr r1, [pc, #500] ; (8092494 ) 80922a0: 487f ldr r0, [pc, #508] ; (80924a0 ) 80922a2: f7c1 fa9f bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 80922a6: f507 73c0 add.w r3, r7, #384 ; 0x180 80922aa: 461a mov r2, r3 80922ac: 21aa movs r1, #170 ; 0xaa 80922ae: f44f 7082 mov.w r0, #260 ; 0x104 80922b2: f7c2 f857 bl 8054364 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80922b6: f507 73c6 add.w r3, r7, #396 ; 0x18c 80922ba: 461a mov r2, r3 80922bc: 21ca movs r1, #202 ; 0xca 80922be: f44f 7082 mov.w r0, #260 ; 0x104 80922c2: f7c2 f84f bl 8054364 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); LCD_DisplayStringC(260, LCD_LINE_10, strMax); } break; 80922c6: e023 b.n 8092310 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80922c8: 4972 ldr r1, [pc, #456] ; (8092494 ) 80922ca: 4877 ldr r0, [pc, #476] ; (80924a8 ) 80922cc: f7c1 fa8a bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_12, strThr); 80922d0: f507 73c6 add.w r3, r7, #396 ; 0x18c 80922d4: 461a mov r2, r3 80922d6: 21ca movs r1, #202 ; 0xca 80922d8: f44f 7082 mov.w r0, #260 ; 0x104 80922dc: f7c2 f842 bl 8054364 if(!(pardata.OPTIONS & 0x4)) // Åñëè ðó÷íîå óñèëåíèå 80922e0: 4b6d ldr r3, [pc, #436] ; (8092498 ) 80922e2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 80922e6: f003 0304 and.w r3, r3, #4 80922ea: 2b00 cmp r3, #0 80922ec: d104 bne.n 80922f8 LCD_SetColors(LCD_COLOR_MY_YELLOW, LCD_COLOR_BLACK); 80922ee: 4969 ldr r1, [pc, #420] ; (8092494 ) 80922f0: 486b ldr r0, [pc, #428] ; (80924a0 ) 80922f2: f7c1 fa77 bl 80537e4 80922f6: e003 b.n 8092300 else LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80922f8: 4966 ldr r1, [pc, #408] ; (8092494 ) 80922fa: 486b ldr r0, [pc, #428] ; (80924a8 ) 80922fc: f7c1 fa72 bl 80537e4 LCD_DisplayStringC(260, LCD_LINE_10, strMax); 8092300: f507 73c0 add.w r3, r7, #384 ; 0x180 8092304: 461a mov r2, r3 8092306: 21aa movs r1, #170 ; 0xaa 8092308: f44f 7082 mov.w r0, #260 ; 0x104 809230c: f7c2 f82a bl 8054364 break; 8092310: bf00 nop } if(pardata.OPTIONS & 0x4) // Åñëè àâòîóñèëåíèå 8092312: 4b61 ldr r3, [pc, #388] ; (8092498 ) 8092314: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8092318: f003 0304 and.w r3, r3, #4 809231c: 2b00 cmp r3, #0 809231e: d00a beq.n 8092336 { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8092320: 495c ldr r1, [pc, #368] ; (8092494 ) 8092322: 4862 ldr r0, [pc, #392] ; (80924ac ) 8092324: f7c1 fa5e bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_9+2, 6, 6); 8092328: 2306 movs r3, #6 809232a: 2206 movs r2, #6 809232c: 219f movs r1, #159 ; 0x9f 809232e: f240 1001 movw r0, #257 ; 0x101 8092332: f7c1 fee5 bl 8054100 } if(pardata.OPTIONS & BIT7) 8092336: 4b58 ldr r3, [pc, #352] ; (8092498 ) 8092338: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 809233c: f003 0380 and.w r3, r3, #128 ; 0x80 8092340: 2b00 cmp r3, #0 8092342: d00a beq.n 809235a { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8092344: 4953 ldr r1, [pc, #332] ; (8092494 ) 8092346: 4859 ldr r0, [pc, #356] ; (80924ac ) 8092348: f7c1 fa4c bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_6+2, 6, 6); 809234c: 2306 movs r3, #6 809234e: 2206 movs r2, #6 8092350: 216f movs r1, #111 ; 0x6f 8092352: f240 1001 movw r0, #257 ; 0x101 8092356: f7c1 fed3 bl 8054100 } if(pardata.THR & 0x80) // Åñëè ïîðîã åíåéáëåä 809235a: 4b4f ldr r3, [pc, #316] ; (8092498 ) 809235c: 7bdb ldrb r3, [r3, #15] 809235e: b2db uxtb r3, r3 8092360: b25b sxtb r3, r3 8092362: 2b00 cmp r3, #0 8092364: f285 8153 bge.w 809760e { LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8092368: 494a ldr r1, [pc, #296] ; (8092494 ) 809236a: 4850 ldr r0, [pc, #320] ; (80924ac ) 809236c: f7c1 fa3a bl 80537e4 BSP_LCD_FillRect(257, CHECKBOX_LINE_11+2, 6, 6); 8092370: 2306 movs r3, #6 8092372: 2206 movs r2, #6 8092374: 21bf movs r1, #191 ; 0xbf 8092376: f240 1001 movw r0, #257 ; 0x101 809237a: f7c1 fec1 bl 8054100 } break; 809237e: f005 b946 b.w 809760e case EXPLORER: if(pardata.LANG == RUS) 8092382: 4b45 ldr r3, [pc, #276] ; (8092498 ) 8092384: 7b1b ldrb r3, [r3, #12] 8092386: b2db uxtb r3, r3 8092388: 2b00 cmp r3, #0 809238a: d105 bne.n 8092398 DrawImage(&bmLEGEND_PTM_RUS, 0, 45); 809238c: 222d movs r2, #45 ; 0x2d 809238e: 2100 movs r1, #0 8092390: 4847 ldr r0, [pc, #284] ; (80924b0 ) 8092392: f7c2 f91b bl 80545cc 8092396: e004 b.n 80923a2 else DrawImage(&bmLEGEND_PTM_ENG, 0, 45); 8092398: 222d movs r2, #45 ; 0x2d 809239a: 2100 movs r1, #0 809239c: 4845 ldr r0, [pc, #276] ; (80924b4 ) 809239e: f7c2 f915 bl 80545cc if(menupos == NoFilesPTM) 80923a2: 4b45 ldr r3, [pc, #276] ; (80924b8 ) 80923a4: 781b ldrb r3, [r3, #0] 80923a6: b2db uxtb r3, r3 80923a8: 2b01 cmp r3, #1 80923aa: d13a bne.n 8092422 { BSP_LCD_SetFont(&Font12); 80923ac: 4843 ldr r0, [pc, #268] ; (80924bc ) 80923ae: f7c1 fa55 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80923b2: 4938 ldr r1, [pc, #224] ; (8092494 ) 80923b4: f04f 30ff mov.w r0, #4294967295 80923b8: f7c1 fa14 bl 80537e4 if(pardata.LANG == RUS) 80923bc: 4b36 ldr r3, [pc, #216] ; (8092498 ) 80923be: 7b1b ldrb r3, [r3, #12] 80923c0: b2db uxtb r3, r3 80923c2: 2b00 cmp r3, #0 80923c4: d113 bne.n 80923ee { BSP_LCD_DisplayStringAt(160, 111, "Ôàéëû èçìåðåíèé îòñóòñòâóþò.", CENTER_MODE); 80923c6: 2301 movs r3, #1 80923c8: 4a3d ldr r2, [pc, #244] ; (80924c0 ) 80923ca: 216f movs r1, #111 ; 0x6f 80923cc: 20a0 movs r0, #160 ; 0xa0 80923ce: f7c1 facf bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "Äëÿ ñîõðàíåíèÿ ðåçóëüòàòîâ", CENTER_MODE); 80923d2: 2301 movs r3, #1 80923d4: 4a3b ldr r2, [pc, #236] ; (80924c4 ) 80923d6: 217e movs r1, #126 ; 0x7e 80923d8: 20a0 movs r0, #160 ; 0xa0 80923da: f7c1 fac9 bl 8053970 BSP_LCD_DisplayStringAt(160, 111+30, "èçìåðåíèé ñîçäàéòå íîâûé ôàéë.", CENTER_MODE); 80923de: 2301 movs r3, #1 80923e0: 4a39 ldr r2, [pc, #228] ; (80924c8 ) 80923e2: 218d movs r1, #141 ; 0x8d 80923e4: 20a0 movs r0, #160 ; 0xa0 80923e6: f7c1 fac3 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 80923ea: f005 b912 b.w 8097612 BSP_LCD_DisplayStringAt(160, 111, "The file measurements are not", CENTER_MODE); 80923ee: 2301 movs r3, #1 80923f0: 4a36 ldr r2, [pc, #216] ; (80924cc ) 80923f2: 216f movs r1, #111 ; 0x6f 80923f4: 20a0 movs r0, #160 ; 0xa0 80923f6: f7c1 fabb bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "available. To save the", CENTER_MODE); 80923fa: 2301 movs r3, #1 80923fc: 4a34 ldr r2, [pc, #208] ; (80924d0 ) 80923fe: 217e movs r1, #126 ; 0x7e 8092400: 20a0 movs r0, #160 ; 0xa0 8092402: f7c1 fab5 bl 8053970 BSP_LCD_DisplayStringAt(160, 111+30, "measurement results, create", CENTER_MODE); 8092406: 2301 movs r3, #1 8092408: 4a32 ldr r2, [pc, #200] ; (80924d4 ) 809240a: 218d movs r1, #141 ; 0x8d 809240c: 20a0 movs r0, #160 ; 0xa0 809240e: f7c1 faaf bl 8053970 BSP_LCD_DisplayStringAt(160, 111+45, "a new file.", CENTER_MODE); 8092412: 2301 movs r3, #1 8092414: 4a30 ldr r2, [pc, #192] ; (80924d8 ) 8092416: 219c movs r1, #156 ; 0x9c 8092418: 20a0 movs r0, #160 ; 0xa0 809241a: f7c1 faa9 bl 8053970 break; 809241e: f005 b8f8 b.w 8097612 if((menupos == FilesPTM) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 8092422: 4b25 ldr r3, [pc, #148] ; (80924b8 ) 8092424: 781b ldrb r3, [r3, #0] 8092426: b2db uxtb r3, r3 8092428: 2b02 cmp r3, #2 809242a: d00f beq.n 809244c 809242c: 4b22 ldr r3, [pc, #136] ; (80924b8 ) 809242e: 781b ldrb r3, [r3, #0] 8092430: b2db uxtb r3, r3 8092432: 2b06 cmp r3, #6 8092434: d00a beq.n 809244c 8092436: 4b20 ldr r3, [pc, #128] ; (80924b8 ) 8092438: 781b ldrb r3, [r3, #0] 809243a: b2db uxtb r3, r3 809243c: 2b07 cmp r3, #7 809243e: d005 beq.n 809244c 8092440: 4b1d ldr r3, [pc, #116] ; (80924b8 ) 8092442: 781b ldrb r3, [r3, #0] 8092444: b2db uxtb r3, r3 8092446: 2b0a cmp r3, #10 8092448: f045 80e3 bne.w 8097612 BSP_LCD_SetFont(&Font12); 809244c: 481b ldr r0, [pc, #108] ; (80924bc ) 809244e: f7c1 fa05 bl 805385c for(i = 0; i < VIEW_FILES; i++) 8092452: 2300 movs r3, #0 8092454: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8092458: e1a8 b.n 80927ac if(CursorIndex == i) 809245a: 4b20 ldr r3, [pc, #128] ; (80924dc ) 809245c: 681a ldr r2, [r3, #0] 809245e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092462: 429a cmp r2, r3 8092464: d142 bne.n 80924ec LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8092466: 491e ldr r1, [pc, #120] ; (80924e0 ) 8092468: 481d ldr r0, [pc, #116] ; (80924e0 ) 809246a: f7c1 f9bb bl 80537e4 BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 809246e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092472: 4a1c ldr r2, [pc, #112] ; (80924e4 ) 8092474: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8092478: 4b1b ldr r3, [pc, #108] ; (80924e8 ) 809247a: 681b ldr r3, [r3, #0] 809247c: 88db ldrh r3, [r3, #6] 809247e: f44f 729c mov.w r2, #312 ; 0x138 8092482: 2003 movs r0, #3 8092484: f7c1 fe3c bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8092488: 4915 ldr r1, [pc, #84] ; (80924e0 ) 809248a: f04f 30ff mov.w r0, #4294967295 809248e: f7c1 f9a9 bl 80537e4 8092492: e030 b.n 80924f6 8092494: ff0a0f1f .word 0xff0a0f1f 8092498: 20023e60 .word 0x20023e60 809249c: 200205c4 .word 0x200205c4 80924a0: ffd8aa57 .word 0xffd8aa57 80924a4: 20020334 .word 0x20020334 80924a8: ff808080 .word 0xff808080 80924ac: ff404040 .word 0xff404040 80924b0: 0812ddbc .word 0x0812ddbc 80924b4: 081292b0 .word 0x081292b0 80924b8: 20020070 .word 0x20020070 80924bc: 20020038 .word 0x20020038 80924c0: 080d017c .word 0x080d017c 80924c4: 080d019c .word 0x080d019c 80924c8: 080d01b8 .word 0x080d01b8 80924cc: 080d01d8 .word 0x080d01d8 80924d0: 080d01f8 .word 0x080d01f8 80924d4: 080d0210 .word 0x080d0210 80924d8: 080d022c .word 0x080d022c 80924dc: 20020de0 .word 0x20020de0 80924e0: ff606060 .word 0xff606060 80924e4: 080ef4d8 .word 0x080ef4d8 80924e8: 20025d24 .word 0x20025d24 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80924ec: 499e ldr r1, [pc, #632] ; (8092768 ) 80924ee: f04f 30ff mov.w r0, #4294967295 80924f2: f7c1 f977 bl 80537e4 if(ExplorerFiles[i].fname[0] != 0) 80924f6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80924fa: 499c ldr r1, [pc, #624] ; (809276c ) 80924fc: 4613 mov r3, r2 80924fe: 00db lsls r3, r3, #3 8092500: 1a9b subs r3, r3, r2 8092502: 00db lsls r3, r3, #3 8092504: 440b add r3, r1 8092506: 330c adds r3, #12 8092508: 781b ldrb r3, [r3, #0] 809250a: 2b00 cmp r3, #0 809250c: f000 8149 beq.w 80927a2 BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8092510: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092514: 4a96 ldr r2, [pc, #600] ; (8092770 ) 8092516: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809251a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 809251e: 4613 mov r3, r2 8092520: 00db lsls r3, r3, #3 8092522: 1a9b subs r3, r3, r2 8092524: 00db lsls r3, r3, #3 8092526: 3308 adds r3, #8 8092528: 4a90 ldr r2, [pc, #576] ; (809276c ) 809252a: 4413 add r3, r2 809252c: 1d1a adds r2, r3, #4 809252e: 2303 movs r3, #3 8092530: 2005 movs r0, #5 8092532: f7c1 fa1d bl 8053970 k = 0; 8092536: 2300 movs r3, #0 8092538: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 809253c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8092540: 498a ldr r1, [pc, #552] ; (809276c ) 8092542: 4613 mov r3, r2 8092544: 00db lsls r3, r3, #3 8092546: 1a9b subs r3, r3, r2 8092548: 00db lsls r3, r3, #3 809254a: 440b add r3, r1 809254c: 3308 adds r3, #8 809254e: 681a ldr r2, [r3, #0] 8092550: f107 030c add.w r3, r7, #12 8092554: 4611 mov r1, r2 8092556: 4618 mov r0, r3 8092558: f7d5 f814 bl 8067584 str1[k++] = (FatTime.Date / 10) + 48; 809255c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092560: 1c5a adds r2, r3, #1 8092562: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092566: f107 020c add.w r2, r7, #12 809256a: 7852 ldrb r2, [r2, #1] 809256c: 4981 ldr r1, [pc, #516] ; (8092774 ) 809256e: fba1 1202 umull r1, r2, r1, r2 8092572: 08d2 lsrs r2, r2, #3 8092574: b2d2 uxtb r2, r2 8092576: 3230 adds r2, #48 ; 0x30 8092578: b2d1 uxtb r1, r2 809257a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809257e: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8092580: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092584: 1c53 adds r3, r2, #1 8092586: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809258a: f107 030c add.w r3, r7, #12 809258e: 7859 ldrb r1, [r3, #1] 8092590: 4b78 ldr r3, [pc, #480] ; (8092774 ) 8092592: fba3 0301 umull r0, r3, r3, r1 8092596: 08d8 lsrs r0, r3, #3 8092598: 4603 mov r3, r0 809259a: 009b lsls r3, r3, #2 809259c: 4403 add r3, r0 809259e: 005b lsls r3, r3, #1 80925a0: 1acb subs r3, r1, r3 80925a2: b2db uxtb r3, r3 80925a4: 3330 adds r3, #48 ; 0x30 80925a6: b2d9 uxtb r1, r3 80925a8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80925ac: 5499 strb r1, [r3, r2] str1[k++] = '.'; 80925ae: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80925b2: 1c5a adds r2, r3, #1 80925b4: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80925b8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80925bc: 212e movs r1, #46 ; 0x2e 80925be: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 80925c0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80925c4: 1c5a adds r2, r3, #1 80925c6: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80925ca: f107 020c add.w r2, r7, #12 80925ce: 7812 ldrb r2, [r2, #0] 80925d0: 4968 ldr r1, [pc, #416] ; (8092774 ) 80925d2: fba1 1202 umull r1, r2, r1, r2 80925d6: 08d2 lsrs r2, r2, #3 80925d8: b2d2 uxtb r2, r2 80925da: 3230 adds r2, #48 ; 0x30 80925dc: b2d1 uxtb r1, r2 80925de: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80925e2: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 80925e4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80925e8: 1c53 adds r3, r2, #1 80925ea: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80925ee: f107 030c add.w r3, r7, #12 80925f2: 7819 ldrb r1, [r3, #0] 80925f4: 4b5f ldr r3, [pc, #380] ; (8092774 ) 80925f6: fba3 0301 umull r0, r3, r3, r1 80925fa: 08d8 lsrs r0, r3, #3 80925fc: 4603 mov r3, r0 80925fe: 009b lsls r3, r3, #2 8092600: 4403 add r3, r0 8092602: 005b lsls r3, r3, #1 8092604: 1acb subs r3, r1, r3 8092606: b2db uxtb r3, r3 8092608: 3330 adds r3, #48 ; 0x30 809260a: b2d9 uxtb r1, r3 809260c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092610: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8092612: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092616: 1c5a adds r2, r3, #1 8092618: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809261c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092620: 212e movs r1, #46 ; 0x2e 8092622: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 8092624: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092628: 1c5a adds r2, r3, #1 809262a: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809262e: f107 020c add.w r2, r7, #12 8092632: 7892 ldrb r2, [r2, #2] 8092634: 494f ldr r1, [pc, #316] ; (8092774 ) 8092636: fba1 1202 umull r1, r2, r1, r2 809263a: 08d2 lsrs r2, r2, #3 809263c: b2d2 uxtb r2, r2 809263e: 3230 adds r2, #48 ; 0x30 8092640: b2d1 uxtb r1, r2 8092642: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092646: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 8092648: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809264c: 1c53 adds r3, r2, #1 809264e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8092652: f107 030c add.w r3, r7, #12 8092656: 7899 ldrb r1, [r3, #2] 8092658: 4b46 ldr r3, [pc, #280] ; (8092774 ) 809265a: fba3 0301 umull r0, r3, r3, r1 809265e: 08d8 lsrs r0, r3, #3 8092660: 4603 mov r3, r0 8092662: 009b lsls r3, r3, #2 8092664: 4403 add r3, r0 8092666: 005b lsls r3, r3, #1 8092668: 1acb subs r3, r1, r3 809266a: b2db uxtb r3, r3 809266c: 3330 adds r3, #48 ; 0x30 809266e: b2d9 uxtb r1, r3 8092670: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092674: 5499 strb r1, [r3, r2] str1[k++] = ' '; 8092676: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809267a: 1c5a adds r2, r3, #1 809267c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092680: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092684: 2120 movs r1, #32 8092686: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 8092688: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809268c: 1c5a adds r2, r3, #1 809268e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092692: f107 020c add.w r2, r7, #12 8092696: 78d2 ldrb r2, [r2, #3] 8092698: 4936 ldr r1, [pc, #216] ; (8092774 ) 809269a: fba1 1202 umull r1, r2, r1, r2 809269e: 08d2 lsrs r2, r2, #3 80926a0: b2d2 uxtb r2, r2 80926a2: 3230 adds r2, #48 ; 0x30 80926a4: b2d1 uxtb r1, r2 80926a6: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80926aa: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 80926ac: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80926b0: 1c53 adds r3, r2, #1 80926b2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80926b6: f107 030c add.w r3, r7, #12 80926ba: 78d9 ldrb r1, [r3, #3] 80926bc: 4b2d ldr r3, [pc, #180] ; (8092774 ) 80926be: fba3 0301 umull r0, r3, r3, r1 80926c2: 08d8 lsrs r0, r3, #3 80926c4: 4603 mov r3, r0 80926c6: 009b lsls r3, r3, #2 80926c8: 4403 add r3, r0 80926ca: 005b lsls r3, r3, #1 80926cc: 1acb subs r3, r1, r3 80926ce: b2db uxtb r3, r3 80926d0: 3330 adds r3, #48 ; 0x30 80926d2: b2d9 uxtb r1, r3 80926d4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80926d8: 5499 strb r1, [r3, r2] str1[k++] = ':'; 80926da: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80926de: 1c5a adds r2, r3, #1 80926e0: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80926e4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80926e8: 213a movs r1, #58 ; 0x3a 80926ea: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 80926ec: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80926f0: 1c5a adds r2, r3, #1 80926f2: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80926f6: f107 020c add.w r2, r7, #12 80926fa: 7912 ldrb r2, [r2, #4] 80926fc: 491d ldr r1, [pc, #116] ; (8092774 ) 80926fe: fba1 1202 umull r1, r2, r1, r2 8092702: 08d2 lsrs r2, r2, #3 8092704: b2d2 uxtb r2, r2 8092706: 3230 adds r2, #48 ; 0x30 8092708: b2d1 uxtb r1, r2 809270a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809270e: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 8092710: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092714: 1c53 adds r3, r2, #1 8092716: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809271a: f107 030c add.w r3, r7, #12 809271e: 7919 ldrb r1, [r3, #4] 8092720: 4b14 ldr r3, [pc, #80] ; (8092774 ) 8092722: fba3 0301 umull r0, r3, r3, r1 8092726: 08d8 lsrs r0, r3, #3 8092728: 4603 mov r3, r0 809272a: 009b lsls r3, r3, #2 809272c: 4403 add r3, r0 809272e: 005b lsls r3, r3, #1 8092730: 1acb subs r3, r1, r3 8092732: b2db uxtb r3, r3 8092734: 3330 adds r3, #48 ; 0x30 8092736: b2d9 uxtb r1, r3 8092738: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809273c: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 809273e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092742: 1c5a adds r2, r3, #1 8092744: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092748: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809274c: 2100 movs r1, #0 809274e: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8092750: 4b09 ldr r3, [pc, #36] ; (8092778 ) 8092752: 681a ldr r2, [r3, #0] 8092754: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092758: 429a cmp r2, r3 809275a: d111 bne.n 8092780 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809275c: 4907 ldr r1, [pc, #28] ; (809277c ) 809275e: f04f 30ff mov.w r0, #4294967295 8092762: f7c1 f83f bl 80537e4 8092766: e010 b.n 809278a 8092768: ff0a0f1f .word 0xff0a0f1f 809276c: 20022350 .word 0x20022350 8092770: 080ef4d8 .word 0x080ef4d8 8092774: cccccccd .word 0xcccccccd 8092778: 20020de0 .word 0x20020de0 809277c: ff606060 .word 0xff606060 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092780: 49c0 ldr r1, [pc, #768] ; (8092a84 ) 8092782: f04f 30ff mov.w r0, #4294967295 8092786: f7c1 f82d bl 80537e4 BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 809278a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809278e: 4abe ldr r2, [pc, #760] ; (8092a88 ) 8092790: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8092794: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092798: 2302 movs r3, #2 809279a: f44f 709c mov.w r0, #312 ; 0x138 809279e: f7c1 f8e7 bl 8053970 for(i = 0; i < VIEW_FILES; i++) 80927a2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80927a6: 3301 adds r3, #1 80927a8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80927ac: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80927b0: 2b0b cmp r3, #11 80927b2: f67f ae52 bls.w 809245a if(NumFilesPTM > VIEW_FILES) 80927b6: 4bb5 ldr r3, [pc, #724] ; (8092a8c ) 80927b8: 681b ldr r3, [r3, #0] 80927ba: 2b0c cmp r3, #12 80927bc: d95f bls.n 809287e k = (140 * VIEW_FILES) / NumFilesPTM; //äëèíà ïîëçóíêà 80927be: 4bb3 ldr r3, [pc, #716] ; (8092a8c ) 80927c0: 681b ldr r3, [r3, #0] 80927c2: f44f 62d2 mov.w r2, #1680 ; 0x690 80927c6: fbb2 f3f3 udiv r3, r2, r3 80927ca: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 80927ce: 4bb0 ldr r3, [pc, #704] ; (8092a90 ) 80927d0: 681b ldr r3, [r3, #0] 80927d2: 228c movs r2, #140 ; 0x8c 80927d4: fb02 f303 mul.w r3, r2, r3 80927d8: ee07 3a90 vmov s15, r3 80927dc: eef8 7a67 vcvt.f32.u32 s15, s15 80927e0: f507 638b add.w r3, r7, #1112 ; 0x458 80927e4: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesPTM) + 96.0f; 80927e8: 4ba8 ldr r3, [pc, #672] ; (8092a8c ) 80927ea: 681b ldr r3, [r3, #0] 80927ec: ee07 3a90 vmov s15, r3 80927f0: eeb8 7a67 vcvt.f32.u32 s14, s15 80927f4: f507 638b add.w r3, r7, #1112 ; 0x458 80927f8: edd3 6a00 vldr s13, [r3] 80927fc: eec6 7a87 vdiv.f32 s15, s13, s14 8092800: ed9f 7aa4 vldr s14, [pc, #656] ; 8092a94 8092804: ee77 7a87 vadd.f32 s15, s15, s14 8092808: f507 638b add.w r3, r7, #1112 ; 0x458 809280c: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8092810: f507 638b add.w r3, r7, #1112 ; 0x458 8092814: edd3 7a00 vldr s15, [r3] 8092818: eefc 7ae7 vcvt.u32.f32 s15, s15 809281c: edc7 7a01 vstr s15, [r7, #4] 8092820: 88bb ldrh r3, [r7, #4] 8092822: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 8092826: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809282a: b29a uxth r2, r3 809282c: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8092830: 4413 add r3, r2 8092832: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 8092836: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 809283a: 2bec cmp r3, #236 ; 0xec 809283c: d905 bls.n 809284a k = 236 - y0; 809283e: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8092842: f1c3 03ec rsb r3, r3, #236 ; 0xec 8092846: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809284a: 498e ldr r1, [pc, #568] ; (8092a84 ) 809284c: 4892 ldr r0, [pc, #584] ; (8092a98 ) 809284e: f7c0 ffc9 bl 80537e4 BSP_LCD_DrawRect(314, 94, 5, 143); 8092852: 238f movs r3, #143 ; 0x8f 8092854: 2205 movs r2, #5 8092856: 215e movs r1, #94 ; 0x5e 8092858: f44f 709d mov.w r0, #314 ; 0x13a 809285c: f7c1 fac8 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092860: 4988 ldr r1, [pc, #544] ; (8092a84 ) 8092862: f04f 30ff mov.w r0, #4294967295 8092866: f7c0 ffbd bl 80537e4 BSP_LCD_FillRect(316, y0, 2, k); 809286a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809286e: b29b uxth r3, r3 8092870: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8092874: 2202 movs r2, #2 8092876: f44f 709e mov.w r0, #316 ; 0x13c 809287a: f7c1 fc41 bl 8054100 if((menupos != NoFilesGTR) && (menupos != FilesGTR)) 809287e: 4b87 ldr r3, [pc, #540] ; (8092a9c ) 8092880: 781b ldrb r3, [r3, #0] 8092882: b2db uxtb r3, r3 8092884: 2b01 cmp r3, #1 8092886: f004 86c4 beq.w 8097612 809288a: 4b84 ldr r3, [pc, #528] ; (8092a9c ) 809288c: 781b ldrb r3, [r3, #0] 809288e: b2db uxtb r3, r3 8092890: 2b02 cmp r3, #2 8092892: f004 86be beq.w 8097612 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8092896: 497b ldr r1, [pc, #492] ; (8092a84 ) 8092898: 487f ldr r0, [pc, #508] ; (8092a98 ) 809289a: f7c0 ffa3 bl 80537e4 BSP_LCD_FillRect(60, 73, 200, 124); 809289e: 237c movs r3, #124 ; 0x7c 80928a0: 22c8 movs r2, #200 ; 0xc8 80928a2: 2149 movs r1, #73 ; 0x49 80928a4: 203c movs r0, #60 ; 0x3c 80928a6: f7c1 fc2b bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80928aa: 4976 ldr r1, [pc, #472] ; (8092a84 ) 80928ac: 4875 ldr r0, [pc, #468] ; (8092a84 ) 80928ae: f7c0 ff99 bl 80537e4 BSP_LCD_FillRect(61, 74, 198, 122); 80928b2: 237a movs r3, #122 ; 0x7a 80928b4: 22c6 movs r2, #198 ; 0xc6 80928b6: 214a movs r1, #74 ; 0x4a 80928b8: 203d movs r0, #61 ; 0x3d 80928ba: f7c1 fc21 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80928be: 4971 ldr r1, [pc, #452] ; (8092a84 ) 80928c0: f04f 30ff mov.w r0, #4294967295 80928c4: f7c0 ff8e bl 80537e4 BSP_LCD_SetFont(&Font12); 80928c8: 4875 ldr r0, [pc, #468] ; (8092aa0 ) 80928ca: f7c0 ffc7 bl 805385c if((menupos == UpNo) || (menupos == UpYes)) 80928ce: 4b73 ldr r3, [pc, #460] ; (8092a9c ) 80928d0: 781b ldrb r3, [r3, #0] 80928d2: b2db uxtb r3, r3 80928d4: 2b06 cmp r3, #6 80928d6: d004 beq.n 80928e2 80928d8: 4b70 ldr r3, [pc, #448] ; (8092a9c ) 80928da: 781b ldrb r3, [r3, #0] 80928dc: b2db uxtb r3, r3 80928de: 2b07 cmp r3, #7 80928e0: d179 bne.n 80929d6 if(pardata.LANG == RUS) 80928e2: 4b70 ldr r3, [pc, #448] ; (8092aa4 ) 80928e4: 7b1b ldrb r3, [r3, #12] 80928e6: b2db uxtb r3, r3 80928e8: 2b00 cmp r3, #0 80928ea: d10c bne.n 8092906 BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûé ôàéë áóäåò", CENTER_MODE); 80928ec: 2301 movs r3, #1 80928ee: 4a6e ldr r2, [pc, #440] ; (8092aa8 ) 80928f0: 216f movs r1, #111 ; 0x6f 80928f2: 20a0 movs r0, #160 ; 0xa0 80928f4: f7c1 f83c bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 80928f8: 2301 movs r3, #1 80928fa: 4a6c ldr r2, [pc, #432] ; (8092aac ) 80928fc: 217e movs r1, #126 ; 0x7e 80928fe: 20a0 movs r0, #160 ; 0xa0 8092900: f7c1 f836 bl 8053970 8092904: e00b b.n 809291e BSP_LCD_DisplayStringAt(160, 111, "The selected file will", CENTER_MODE); 8092906: 2301 movs r3, #1 8092908: 4a69 ldr r2, [pc, #420] ; (8092ab0 ) 809290a: 216f movs r1, #111 ; 0x6f 809290c: 20a0 movs r0, #160 ; 0xa0 809290e: f7c1 f82f bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 8092912: 2301 movs r3, #1 8092914: 4a67 ldr r2, [pc, #412] ; (8092ab4 ) 8092916: 217e movs r1, #126 ; 0x7e 8092918: 20a0 movs r0, #160 ; 0xa0 809291a: f7c1 f829 bl 8053970 if(menupos == UpNo) 809291e: 4b5f ldr r3, [pc, #380] ; (8092a9c ) 8092920: 781b ldrb r3, [r3, #0] 8092922: b2db uxtb r3, r3 8092924: 2b06 cmp r3, #6 8092926: d128 bne.n 809297a if(pardata.LANG == RUS) 8092928: 4b5e ldr r3, [pc, #376] ; (8092aa4 ) 809292a: 7b1b ldrb r3, [r3, #12] 809292c: b2db uxtb r3, r3 809292e: 2b00 cmp r3, #0 8092930: d111 bne.n 8092956 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8092932: 2301 movs r3, #1 8092934: 4a60 ldr r2, [pc, #384] ; (8092ab8 ) 8092936: 21af movs r1, #175 ; 0xaf 8092938: 20e6 movs r0, #230 ; 0xe6 809293a: f7c1 f819 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809293e: 495f ldr r1, [pc, #380] ; (8092abc ) 8092940: f04f 30ff mov.w r0, #4294967295 8092944: f7c0 ff4e bl 80537e4 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8092948: 2301 movs r3, #1 809294a: 4a5d ldr r2, [pc, #372] ; (8092ac0 ) 809294c: 21af movs r1, #175 ; 0xaf 809294e: 205a movs r0, #90 ; 0x5a 8092950: f7c1 f80e bl 8053970 if(menupos == UpNo) 8092954: e088 b.n 8092a68 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8092956: 2301 movs r3, #1 8092958: 4a5a ldr r2, [pc, #360] ; (8092ac4 ) 809295a: 21af movs r1, #175 ; 0xaf 809295c: 20e6 movs r0, #230 ; 0xe6 809295e: f7c1 f807 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8092962: 4956 ldr r1, [pc, #344] ; (8092abc ) 8092964: f04f 30ff mov.w r0, #4294967295 8092968: f7c0 ff3c bl 80537e4 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 809296c: 2301 movs r3, #1 809296e: 4a56 ldr r2, [pc, #344] ; (8092ac8 ) 8092970: 21af movs r1, #175 ; 0xaf 8092972: 205a movs r0, #90 ; 0x5a 8092974: f7c0 fffc bl 8053970 if(menupos == UpNo) 8092978: e076 b.n 8092a68 if(menupos == UpYes) 809297a: 4b48 ldr r3, [pc, #288] ; (8092a9c ) 809297c: 781b ldrb r3, [r3, #0] 809297e: b2db uxtb r3, r3 8092980: 2b07 cmp r3, #7 8092982: d171 bne.n 8092a68 if(pardata.LANG == RUS) 8092984: 4b47 ldr r3, [pc, #284] ; (8092aa4 ) 8092986: 7b1b ldrb r3, [r3, #12] 8092988: b2db uxtb r3, r3 809298a: 2b00 cmp r3, #0 809298c: d111 bne.n 80929b2 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 809298e: 2301 movs r3, #1 8092990: 4a4b ldr r2, [pc, #300] ; (8092ac0 ) 8092992: 21af movs r1, #175 ; 0xaf 8092994: 205a movs r0, #90 ; 0x5a 8092996: f7c0 ffeb bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809299a: 4948 ldr r1, [pc, #288] ; (8092abc ) 809299c: f04f 30ff mov.w r0, #4294967295 80929a0: f7c0 ff20 bl 80537e4 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 80929a4: 2301 movs r3, #1 80929a6: 4a44 ldr r2, [pc, #272] ; (8092ab8 ) 80929a8: 21af movs r1, #175 ; 0xaf 80929aa: 20e6 movs r0, #230 ; 0xe6 80929ac: f7c0 ffe0 bl 8053970 if(menupos == UpNo) 80929b0: e05a b.n 8092a68 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 80929b2: 2301 movs r3, #1 80929b4: 4a44 ldr r2, [pc, #272] ; (8092ac8 ) 80929b6: 21af movs r1, #175 ; 0xaf 80929b8: 205a movs r0, #90 ; 0x5a 80929ba: f7c0 ffd9 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80929be: 493f ldr r1, [pc, #252] ; (8092abc ) 80929c0: f04f 30ff mov.w r0, #4294967295 80929c4: f7c0 ff0e bl 80537e4 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 80929c8: 2301 movs r3, #1 80929ca: 4a3e ldr r2, [pc, #248] ; (8092ac4 ) 80929cc: 21af movs r1, #175 ; 0xaf 80929ce: 20e6 movs r0, #230 ; 0xe6 80929d0: f7c0 ffce bl 8053970 if(menupos == UpNo) 80929d4: e048 b.n 8092a68 if(menupos == CleanUpResult) 80929d6: 4b31 ldr r3, [pc, #196] ; (8092a9c ) 80929d8: 781b ldrb r3, [r3, #0] 80929da: b2db uxtb r3, r3 80929dc: 2b0a cmp r3, #10 80929de: f044 8618 bne.w 8097612 if(CleanStatus == AP_OK) 80929e2: 4b3a ldr r3, [pc, #232] ; (8092acc ) 80929e4: 781b ldrb r3, [r3, #0] 80929e6: b2db uxtb r3, r3 80929e8: 2b00 cmp r3, #0 80929ea: d118 bne.n 8092a1e if(pardata.LANG == RUS) 80929ec: 4b2d ldr r3, [pc, #180] ; (8092aa4 ) 80929ee: 7b1b ldrb r3, [r3, #12] 80929f0: b2db uxtb r3, r3 80929f2: 2b00 cmp r3, #0 80929f4: d10c bne.n 8092a10 BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 80929f6: 2301 movs r3, #1 80929f8: 4a35 ldr r2, [pc, #212] ; (8092ad0 ) 80929fa: 216f movs r1, #111 ; 0x6f 80929fc: 20a0 movs r0, #160 ; 0xa0 80929fe: f7c0 ffb7 bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 8092a02: 2301 movs r3, #1 8092a04: 4a33 ldr r2, [pc, #204] ; (8092ad4 ) 8092a06: 217e movs r1, #126 ; 0x7e 8092a08: 20a0 movs r0, #160 ; 0xa0 8092a0a: f7c0 ffb1 bl 8053970 8092a0e: e01e b.n 8092a4e BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 8092a10: 2301 movs r3, #1 8092a12: 4a31 ldr r2, [pc, #196] ; (8092ad8 ) 8092a14: 217e movs r1, #126 ; 0x7e 8092a16: 20a0 movs r0, #160 ; 0xa0 8092a18: f7c0 ffaa bl 8053970 8092a1c: e017 b.n 8092a4e if(pardata.LANG == RUS) 8092a1e: 4b21 ldr r3, [pc, #132] ; (8092aa4 ) 8092a20: 7b1b ldrb r3, [r3, #12] 8092a22: b2db uxtb r3, r3 8092a24: 2b00 cmp r3, #0 8092a26: d10c bne.n 8092a42 BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8092a28: 2301 movs r3, #1 8092a2a: 4a2c ldr r2, [pc, #176] ; (8092adc ) 8092a2c: 216f movs r1, #111 ; 0x6f 8092a2e: 20a0 movs r0, #160 ; 0xa0 8092a30: f7c0 ff9e bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 8092a34: 2301 movs r3, #1 8092a36: 4a2a ldr r2, [pc, #168] ; (8092ae0 ) 8092a38: 217e movs r1, #126 ; 0x7e 8092a3a: 20a0 movs r0, #160 ; 0xa0 8092a3c: f7c0 ff98 bl 8053970 8092a40: e005 b.n 8092a4e BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 8092a42: 2301 movs r3, #1 8092a44: 4a27 ldr r2, [pc, #156] ; (8092ae4 ) 8092a46: 217e movs r1, #126 ; 0x7e 8092a48: 20a0 movs r0, #160 ; 0xa0 8092a4a: f7c0 ff91 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8092a4e: 491b ldr r1, [pc, #108] ; (8092abc ) 8092a50: f04f 30ff mov.w r0, #4294967295 8092a54: f7c0 fec6 bl 80537e4 BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8092a58: 2301 movs r3, #1 8092a5a: 4a23 ldr r2, [pc, #140] ; (8092ae8 ) 8092a5c: 21af movs r1, #175 ; 0xaf 8092a5e: 20a0 movs r0, #160 ; 0xa0 8092a60: f7c0 ff86 bl 8053970 break; 8092a64: f004 bdd5 b.w 8097612 if(menupos == UpNo) 8092a68: bf00 nop break; 8092a6a: f004 bdd2 b.w 8097612 case EXPLORER_DIAGN: if(pardata.LANG == RUS) 8092a6e: 4b0d ldr r3, [pc, #52] ; (8092aa4 ) 8092a70: 7b1b ldrb r3, [r3, #12] 8092a72: b2db uxtb r3, r3 8092a74: 2b00 cmp r3, #0 8092a76: d13b bne.n 8092af0 DrawImage(&bmLEGEND_PTM_RUS, 0, 45); 8092a78: 222d movs r2, #45 ; 0x2d 8092a7a: 2100 movs r1, #0 8092a7c: 481b ldr r0, [pc, #108] ; (8092aec ) 8092a7e: f7c1 fda5 bl 80545cc 8092a82: e03a b.n 8092afa 8092a84: ff0a0f1f .word 0xff0a0f1f 8092a88: 080ef4d8 .word 0x080ef4d8 8092a8c: 20020df4 .word 0x20020df4 8092a90: 20020de4 .word 0x20020de4 8092a94: 42c00000 .word 0x42c00000 8092a98: ffd3d3d3 .word 0xffd3d3d3 8092a9c: 20020070 .word 0x20020070 8092aa0: 20020038 .word 0x20020038 8092aa4: 20023e60 .word 0x20023e60 8092aa8: 080d0238 .word 0x080d0238 8092aac: 080d0250 .word 0x080d0250 8092ab0: 080d0268 .word 0x080d0268 8092ab4: 080d0280 .word 0x080d0280 8092ab8: 080d0298 .word 0x080d0298 8092abc: ff606060 .word 0xff606060 8092ac0: 080d029c .word 0x080d029c 8092ac4: 080d02a0 .word 0x080d02a0 8092ac8: 080d02a4 .word 0x080d02a4 8092acc: 20020dd0 .word 0x20020dd0 8092ad0: 080d02a8 .word 0x080d02a8 8092ad4: 080d0030 .word 0x080d0030 8092ad8: 080d02bc .word 0x080d02bc 8092adc: 080d003c .word 0x080d003c 8092ae0: 080d02d4 .word 0x080d02d4 8092ae4: 080d02e0 .word 0x080d02e0 8092ae8: 080d02f0 .word 0x080d02f0 8092aec: 0812ddbc .word 0x0812ddbc else DrawImage(&bmLEGEND_PTM_ENG, 0, 45); 8092af0: 222d movs r2, #45 ; 0x2d 8092af2: 2100 movs r1, #0 8092af4: 483d ldr r0, [pc, #244] ; (8092bec ) 8092af6: f7c1 fd69 bl 80545cc if(menupos == NoFilesDGN) 8092afa: 4b3d ldr r3, [pc, #244] ; (8092bf0 ) 8092afc: 781b ldrb r3, [r3, #0] 8092afe: b2db uxtb r3, r3 8092b00: 2b01 cmp r3, #1 8092b02: d13a bne.n 8092b7a { BSP_LCD_SetFont(&Font12); 8092b04: 483b ldr r0, [pc, #236] ; (8092bf4 ) 8092b06: f7c0 fea9 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092b0a: 493b ldr r1, [pc, #236] ; (8092bf8 ) 8092b0c: f04f 30ff mov.w r0, #4294967295 8092b10: f7c0 fe68 bl 80537e4 if(pardata.LANG == RUS) 8092b14: 4b39 ldr r3, [pc, #228] ; (8092bfc ) 8092b16: 7b1b ldrb r3, [r3, #12] 8092b18: b2db uxtb r3, r3 8092b1a: 2b00 cmp r3, #0 8092b1c: d113 bne.n 8092b46 { BSP_LCD_DisplayStringAt(160, 111, "Ôàéëû èçìåðåíèé îòñóòñòâóþò.", CENTER_MODE); 8092b1e: 2301 movs r3, #1 8092b20: 4a37 ldr r2, [pc, #220] ; (8092c00 ) 8092b22: 216f movs r1, #111 ; 0x6f 8092b24: 20a0 movs r0, #160 ; 0xa0 8092b26: f7c0 ff23 bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "Äëÿ ñîõðàíåíèÿ ðåçóëüòàòîâ", CENTER_MODE); 8092b2a: 2301 movs r3, #1 8092b2c: 4a35 ldr r2, [pc, #212] ; (8092c04 ) 8092b2e: 217e movs r1, #126 ; 0x7e 8092b30: 20a0 movs r0, #160 ; 0xa0 8092b32: f7c0 ff1d bl 8053970 BSP_LCD_DisplayStringAt(160, 111+30, "èçìåðåíèé ñîçäàéòå íîâûé ôàéë.", CENTER_MODE); 8092b36: 2301 movs r3, #1 8092b38: 4a33 ldr r2, [pc, #204] ; (8092c08 ) 8092b3a: 218d movs r1, #141 ; 0x8d 8092b3c: 20a0 movs r0, #160 ; 0xa0 8092b3e: f7c0 ff17 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 8092b42: f004 bd68 b.w 8097616 BSP_LCD_DisplayStringAt(160, 111, "The file measurements are not", CENTER_MODE); 8092b46: 2301 movs r3, #1 8092b48: 4a30 ldr r2, [pc, #192] ; (8092c0c ) 8092b4a: 216f movs r1, #111 ; 0x6f 8092b4c: 20a0 movs r0, #160 ; 0xa0 8092b4e: f7c0 ff0f bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "available. To save the", CENTER_MODE); 8092b52: 2301 movs r3, #1 8092b54: 4a2e ldr r2, [pc, #184] ; (8092c10 ) 8092b56: 217e movs r1, #126 ; 0x7e 8092b58: 20a0 movs r0, #160 ; 0xa0 8092b5a: f7c0 ff09 bl 8053970 BSP_LCD_DisplayStringAt(160, 111+30, "measurement results, create", CENTER_MODE); 8092b5e: 2301 movs r3, #1 8092b60: 4a2c ldr r2, [pc, #176] ; (8092c14 ) 8092b62: 218d movs r1, #141 ; 0x8d 8092b64: 20a0 movs r0, #160 ; 0xa0 8092b66: f7c0 ff03 bl 8053970 BSP_LCD_DisplayStringAt(160, 111+45, "a new file.", CENTER_MODE); 8092b6a: 2301 movs r3, #1 8092b6c: 4a2a ldr r2, [pc, #168] ; (8092c18 ) 8092b6e: 219c movs r1, #156 ; 0x9c 8092b70: 20a0 movs r0, #160 ; 0xa0 8092b72: f7c0 fefd bl 8053970 break; 8092b76: f004 bd4e b.w 8097616 if((menupos == FilesDGN) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 8092b7a: 4b1d ldr r3, [pc, #116] ; (8092bf0 ) 8092b7c: 781b ldrb r3, [r3, #0] 8092b7e: b2db uxtb r3, r3 8092b80: 2b02 cmp r3, #2 8092b82: d00f beq.n 8092ba4 8092b84: 4b1a ldr r3, [pc, #104] ; (8092bf0 ) 8092b86: 781b ldrb r3, [r3, #0] 8092b88: b2db uxtb r3, r3 8092b8a: 2b06 cmp r3, #6 8092b8c: d00a beq.n 8092ba4 8092b8e: 4b18 ldr r3, [pc, #96] ; (8092bf0 ) 8092b90: 781b ldrb r3, [r3, #0] 8092b92: b2db uxtb r3, r3 8092b94: 2b07 cmp r3, #7 8092b96: d005 beq.n 8092ba4 8092b98: 4b15 ldr r3, [pc, #84] ; (8092bf0 ) 8092b9a: 781b ldrb r3, [r3, #0] 8092b9c: b2db uxtb r3, r3 8092b9e: 2b0a cmp r3, #10 8092ba0: f044 8539 bne.w 8097616 BSP_LCD_SetFont(&Font12); 8092ba4: 4813 ldr r0, [pc, #76] ; (8092bf4 ) 8092ba6: f7c0 fe59 bl 805385c for(i = 0; i < VIEW_FILES; i++) 8092baa: 2300 movs r3, #0 8092bac: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8092bb0: e19c b.n 8092eec if(CursorIndex == i) 8092bb2: 4b1a ldr r3, [pc, #104] ; (8092c1c ) 8092bb4: 681a ldr r2, [r3, #0] 8092bb6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092bba: 429a cmp r2, r3 8092bbc: d136 bne.n 8092c2c LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8092bbe: 4918 ldr r1, [pc, #96] ; (8092c20 ) 8092bc0: 4817 ldr r0, [pc, #92] ; (8092c20 ) 8092bc2: f7c0 fe0f bl 80537e4 BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 8092bc6: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092bca: 4a16 ldr r2, [pc, #88] ; (8092c24 ) 8092bcc: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8092bd0: 4b15 ldr r3, [pc, #84] ; (8092c28 ) 8092bd2: 681b ldr r3, [r3, #0] 8092bd4: 88db ldrh r3, [r3, #6] 8092bd6: f44f 729c mov.w r2, #312 ; 0x138 8092bda: 2003 movs r0, #3 8092bdc: f7c1 fa90 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8092be0: 490f ldr r1, [pc, #60] ; (8092c20 ) 8092be2: f04f 30ff mov.w r0, #4294967295 8092be6: f7c0 fdfd bl 80537e4 8092bea: e024 b.n 8092c36 8092bec: 081292b0 .word 0x081292b0 8092bf0: 20020070 .word 0x20020070 8092bf4: 20020038 .word 0x20020038 8092bf8: ff0a0f1f .word 0xff0a0f1f 8092bfc: 20023e60 .word 0x20023e60 8092c00: 080d017c .word 0x080d017c 8092c04: 080d019c .word 0x080d019c 8092c08: 080d01b8 .word 0x080d01b8 8092c0c: 080d01d8 .word 0x080d01d8 8092c10: 080d01f8 .word 0x080d01f8 8092c14: 080d0210 .word 0x080d0210 8092c18: 080d022c .word 0x080d022c 8092c1c: 20020de0 .word 0x20020de0 8092c20: ff606060 .word 0xff606060 8092c24: 080ef4d8 .word 0x080ef4d8 8092c28: 20025d24 .word 0x20025d24 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092c2c: 499e ldr r1, [pc, #632] ; (8092ea8 ) 8092c2e: f04f 30ff mov.w r0, #4294967295 8092c32: f7c0 fdd7 bl 80537e4 if(ExplorerFiles[i].fname[0] != 0) 8092c36: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8092c3a: 499c ldr r1, [pc, #624] ; (8092eac ) 8092c3c: 4613 mov r3, r2 8092c3e: 00db lsls r3, r3, #3 8092c40: 1a9b subs r3, r3, r2 8092c42: 00db lsls r3, r3, #3 8092c44: 440b add r3, r1 8092c46: 330c adds r3, #12 8092c48: 781b ldrb r3, [r3, #0] 8092c4a: 2b00 cmp r3, #0 8092c4c: f000 8149 beq.w 8092ee2 BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8092c50: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092c54: 4a96 ldr r2, [pc, #600] ; (8092eb0 ) 8092c56: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8092c5a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8092c5e: 4613 mov r3, r2 8092c60: 00db lsls r3, r3, #3 8092c62: 1a9b subs r3, r3, r2 8092c64: 00db lsls r3, r3, #3 8092c66: 3308 adds r3, #8 8092c68: 4a90 ldr r2, [pc, #576] ; (8092eac ) 8092c6a: 4413 add r3, r2 8092c6c: 1d1a adds r2, r3, #4 8092c6e: 2303 movs r3, #3 8092c70: 2005 movs r0, #5 8092c72: f7c0 fe7d bl 8053970 k = 0; 8092c76: 2300 movs r3, #0 8092c78: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 8092c7c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8092c80: 498a ldr r1, [pc, #552] ; (8092eac ) 8092c82: 4613 mov r3, r2 8092c84: 00db lsls r3, r3, #3 8092c86: 1a9b subs r3, r3, r2 8092c88: 00db lsls r3, r3, #3 8092c8a: 440b add r3, r1 8092c8c: 3308 adds r3, #8 8092c8e: 681a ldr r2, [r3, #0] 8092c90: f107 030c add.w r3, r7, #12 8092c94: 4611 mov r1, r2 8092c96: 4618 mov r0, r3 8092c98: f7d4 fc74 bl 8067584 str1[k++] = (FatTime.Date / 10) + 48; 8092c9c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092ca0: 1c5a adds r2, r3, #1 8092ca2: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092ca6: f107 020c add.w r2, r7, #12 8092caa: 7852 ldrb r2, [r2, #1] 8092cac: 4981 ldr r1, [pc, #516] ; (8092eb4 ) 8092cae: fba1 1202 umull r1, r2, r1, r2 8092cb2: 08d2 lsrs r2, r2, #3 8092cb4: b2d2 uxtb r2, r2 8092cb6: 3230 adds r2, #48 ; 0x30 8092cb8: b2d1 uxtb r1, r2 8092cba: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092cbe: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8092cc0: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092cc4: 1c53 adds r3, r2, #1 8092cc6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8092cca: f107 030c add.w r3, r7, #12 8092cce: 7859 ldrb r1, [r3, #1] 8092cd0: 4b78 ldr r3, [pc, #480] ; (8092eb4 ) 8092cd2: fba3 0301 umull r0, r3, r3, r1 8092cd6: 08d8 lsrs r0, r3, #3 8092cd8: 4603 mov r3, r0 8092cda: 009b lsls r3, r3, #2 8092cdc: 4403 add r3, r0 8092cde: 005b lsls r3, r3, #1 8092ce0: 1acb subs r3, r1, r3 8092ce2: b2db uxtb r3, r3 8092ce4: 3330 adds r3, #48 ; 0x30 8092ce6: b2d9 uxtb r1, r3 8092ce8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092cec: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8092cee: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092cf2: 1c5a adds r2, r3, #1 8092cf4: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092cf8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092cfc: 212e movs r1, #46 ; 0x2e 8092cfe: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 8092d00: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092d04: 1c5a adds r2, r3, #1 8092d06: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092d0a: f107 020c add.w r2, r7, #12 8092d0e: 7812 ldrb r2, [r2, #0] 8092d10: 4968 ldr r1, [pc, #416] ; (8092eb4 ) 8092d12: fba1 1202 umull r1, r2, r1, r2 8092d16: 08d2 lsrs r2, r2, #3 8092d18: b2d2 uxtb r2, r2 8092d1a: 3230 adds r2, #48 ; 0x30 8092d1c: b2d1 uxtb r1, r2 8092d1e: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092d22: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 8092d24: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092d28: 1c53 adds r3, r2, #1 8092d2a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8092d2e: f107 030c add.w r3, r7, #12 8092d32: 7819 ldrb r1, [r3, #0] 8092d34: 4b5f ldr r3, [pc, #380] ; (8092eb4 ) 8092d36: fba3 0301 umull r0, r3, r3, r1 8092d3a: 08d8 lsrs r0, r3, #3 8092d3c: 4603 mov r3, r0 8092d3e: 009b lsls r3, r3, #2 8092d40: 4403 add r3, r0 8092d42: 005b lsls r3, r3, #1 8092d44: 1acb subs r3, r1, r3 8092d46: b2db uxtb r3, r3 8092d48: 3330 adds r3, #48 ; 0x30 8092d4a: b2d9 uxtb r1, r3 8092d4c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092d50: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8092d52: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092d56: 1c5a adds r2, r3, #1 8092d58: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092d5c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092d60: 212e movs r1, #46 ; 0x2e 8092d62: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 8092d64: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092d68: 1c5a adds r2, r3, #1 8092d6a: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092d6e: f107 020c add.w r2, r7, #12 8092d72: 7892 ldrb r2, [r2, #2] 8092d74: 494f ldr r1, [pc, #316] ; (8092eb4 ) 8092d76: fba1 1202 umull r1, r2, r1, r2 8092d7a: 08d2 lsrs r2, r2, #3 8092d7c: b2d2 uxtb r2, r2 8092d7e: 3230 adds r2, #48 ; 0x30 8092d80: b2d1 uxtb r1, r2 8092d82: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092d86: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 8092d88: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092d8c: 1c53 adds r3, r2, #1 8092d8e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8092d92: f107 030c add.w r3, r7, #12 8092d96: 7899 ldrb r1, [r3, #2] 8092d98: 4b46 ldr r3, [pc, #280] ; (8092eb4 ) 8092d9a: fba3 0301 umull r0, r3, r3, r1 8092d9e: 08d8 lsrs r0, r3, #3 8092da0: 4603 mov r3, r0 8092da2: 009b lsls r3, r3, #2 8092da4: 4403 add r3, r0 8092da6: 005b lsls r3, r3, #1 8092da8: 1acb subs r3, r1, r3 8092daa: b2db uxtb r3, r3 8092dac: 3330 adds r3, #48 ; 0x30 8092dae: b2d9 uxtb r1, r3 8092db0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092db4: 5499 strb r1, [r3, r2] str1[k++] = ' '; 8092db6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092dba: 1c5a adds r2, r3, #1 8092dbc: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092dc0: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092dc4: 2120 movs r1, #32 8092dc6: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 8092dc8: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092dcc: 1c5a adds r2, r3, #1 8092dce: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092dd2: f107 020c add.w r2, r7, #12 8092dd6: 78d2 ldrb r2, [r2, #3] 8092dd8: 4936 ldr r1, [pc, #216] ; (8092eb4 ) 8092dda: fba1 1202 umull r1, r2, r1, r2 8092dde: 08d2 lsrs r2, r2, #3 8092de0: b2d2 uxtb r2, r2 8092de2: 3230 adds r2, #48 ; 0x30 8092de4: b2d1 uxtb r1, r2 8092de6: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092dea: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 8092dec: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092df0: 1c53 adds r3, r2, #1 8092df2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8092df6: f107 030c add.w r3, r7, #12 8092dfa: 78d9 ldrb r1, [r3, #3] 8092dfc: 4b2d ldr r3, [pc, #180] ; (8092eb4 ) 8092dfe: fba3 0301 umull r0, r3, r3, r1 8092e02: 08d8 lsrs r0, r3, #3 8092e04: 4603 mov r3, r0 8092e06: 009b lsls r3, r3, #2 8092e08: 4403 add r3, r0 8092e0a: 005b lsls r3, r3, #1 8092e0c: 1acb subs r3, r1, r3 8092e0e: b2db uxtb r3, r3 8092e10: 3330 adds r3, #48 ; 0x30 8092e12: b2d9 uxtb r1, r3 8092e14: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092e18: 5499 strb r1, [r3, r2] str1[k++] = ':'; 8092e1a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092e1e: 1c5a adds r2, r3, #1 8092e20: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092e24: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092e28: 213a movs r1, #58 ; 0x3a 8092e2a: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 8092e2c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092e30: 1c5a adds r2, r3, #1 8092e32: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092e36: f107 020c add.w r2, r7, #12 8092e3a: 7912 ldrb r2, [r2, #4] 8092e3c: 491d ldr r1, [pc, #116] ; (8092eb4 ) 8092e3e: fba1 1202 umull r1, r2, r1, r2 8092e42: 08d2 lsrs r2, r2, #3 8092e44: b2d2 uxtb r2, r2 8092e46: 3230 adds r2, #48 ; 0x30 8092e48: b2d1 uxtb r1, r2 8092e4a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092e4e: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 8092e50: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8092e54: 1c53 adds r3, r2, #1 8092e56: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8092e5a: f107 030c add.w r3, r7, #12 8092e5e: 7919 ldrb r1, [r3, #4] 8092e60: 4b14 ldr r3, [pc, #80] ; (8092eb4 ) 8092e62: fba3 0301 umull r0, r3, r3, r1 8092e66: 08d8 lsrs r0, r3, #3 8092e68: 4603 mov r3, r0 8092e6a: 009b lsls r3, r3, #2 8092e6c: 4403 add r3, r0 8092e6e: 005b lsls r3, r3, #1 8092e70: 1acb subs r3, r1, r3 8092e72: b2db uxtb r3, r3 8092e74: 3330 adds r3, #48 ; 0x30 8092e76: b2d9 uxtb r1, r3 8092e78: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8092e7c: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 8092e7e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092e82: 1c5a adds r2, r3, #1 8092e84: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8092e88: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092e8c: 2100 movs r1, #0 8092e8e: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8092e90: 4b09 ldr r3, [pc, #36] ; (8092eb8 ) 8092e92: 681a ldr r2, [r3, #0] 8092e94: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092e98: 429a cmp r2, r3 8092e9a: d111 bne.n 8092ec0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8092e9c: 4907 ldr r1, [pc, #28] ; (8092ebc ) 8092e9e: f04f 30ff mov.w r0, #4294967295 8092ea2: f7c0 fc9f bl 80537e4 8092ea6: e010 b.n 8092eca 8092ea8: ff0a0f1f .word 0xff0a0f1f 8092eac: 20022350 .word 0x20022350 8092eb0: 080ef4d8 .word 0x080ef4d8 8092eb4: cccccccd .word 0xcccccccd 8092eb8: 20020de0 .word 0x20020de0 8092ebc: ff606060 .word 0xff606060 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092ec0: 49bb ldr r1, [pc, #748] ; (80931b0 ) 8092ec2: f04f 30ff mov.w r0, #4294967295 8092ec6: f7c0 fc8d bl 80537e4 BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8092eca: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092ece: 4ab9 ldr r2, [pc, #740] ; (80931b4 ) 8092ed0: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8092ed4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8092ed8: 2302 movs r3, #2 8092eda: f44f 709c mov.w r0, #312 ; 0x138 8092ede: f7c0 fd47 bl 8053970 for(i = 0; i < VIEW_FILES; i++) 8092ee2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092ee6: 3301 adds r3, #1 8092ee8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8092eec: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8092ef0: 2b0b cmp r3, #11 8092ef2: f67f ae5e bls.w 8092bb2 if(NumFilesDGN > VIEW_FILES) 8092ef6: 4bb0 ldr r3, [pc, #704] ; (80931b8 ) 8092ef8: 681b ldr r3, [r3, #0] 8092efa: 2b0c cmp r3, #12 8092efc: d95f bls.n 8092fbe k = (140 * VIEW_FILES) / NumFilesDGN; //äëèíà ïîëçóíêà 8092efe: 4bae ldr r3, [pc, #696] ; (80931b8 ) 8092f00: 681b ldr r3, [r3, #0] 8092f02: f44f 62d2 mov.w r2, #1680 ; 0x690 8092f06: fbb2 f3f3 udiv r3, r2, r3 8092f0a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8092f0e: 4bab ldr r3, [pc, #684] ; (80931bc ) 8092f10: 681b ldr r3, [r3, #0] 8092f12: 228c movs r2, #140 ; 0x8c 8092f14: fb02 f303 mul.w r3, r2, r3 8092f18: ee07 3a90 vmov s15, r3 8092f1c: eef8 7a67 vcvt.f32.u32 s15, s15 8092f20: f507 638b add.w r3, r7, #1112 ; 0x458 8092f24: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesDGN) + 96.0f; 8092f28: 4ba3 ldr r3, [pc, #652] ; (80931b8 ) 8092f2a: 681b ldr r3, [r3, #0] 8092f2c: ee07 3a90 vmov s15, r3 8092f30: eeb8 7a67 vcvt.f32.u32 s14, s15 8092f34: f507 638b add.w r3, r7, #1112 ; 0x458 8092f38: edd3 6a00 vldr s13, [r3] 8092f3c: eec6 7a87 vdiv.f32 s15, s13, s14 8092f40: ed9f 7a9f vldr s14, [pc, #636] ; 80931c0 8092f44: ee77 7a87 vadd.f32 s15, s15, s14 8092f48: f507 638b add.w r3, r7, #1112 ; 0x458 8092f4c: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8092f50: f507 638b add.w r3, r7, #1112 ; 0x458 8092f54: edd3 7a00 vldr s15, [r3] 8092f58: eefc 7ae7 vcvt.u32.f32 s15, s15 8092f5c: edc7 7a01 vstr s15, [r7, #4] 8092f60: 88bb ldrh r3, [r7, #4] 8092f62: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 8092f66: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092f6a: b29a uxth r2, r3 8092f6c: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8092f70: 4413 add r3, r2 8092f72: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 8092f76: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 8092f7a: 2bec cmp r3, #236 ; 0xec 8092f7c: d905 bls.n 8092f8a k = 236 - y0; 8092f7e: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8092f82: f1c3 03ec rsb r3, r3, #236 ; 0xec 8092f86: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8092f8a: 4989 ldr r1, [pc, #548] ; (80931b0 ) 8092f8c: 488d ldr r0, [pc, #564] ; (80931c4 ) 8092f8e: f7c0 fc29 bl 80537e4 BSP_LCD_DrawRect(314, 94, 5, 143); 8092f92: 238f movs r3, #143 ; 0x8f 8092f94: 2205 movs r2, #5 8092f96: 215e movs r1, #94 ; 0x5e 8092f98: f44f 709d mov.w r0, #314 ; 0x13a 8092f9c: f7c0 ff28 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092fa0: 4983 ldr r1, [pc, #524] ; (80931b0 ) 8092fa2: f04f 30ff mov.w r0, #4294967295 8092fa6: f7c0 fc1d bl 80537e4 BSP_LCD_FillRect(316, y0, 2, k); 8092faa: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8092fae: b29b uxth r3, r3 8092fb0: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8092fb4: 2202 movs r2, #2 8092fb6: f44f 709e mov.w r0, #316 ; 0x13c 8092fba: f7c1 f8a1 bl 8054100 if((menupos != NoFilesDGN) && (menupos != FilesDGN)) 8092fbe: 4b82 ldr r3, [pc, #520] ; (80931c8 ) 8092fc0: 781b ldrb r3, [r3, #0] 8092fc2: b2db uxtb r3, r3 8092fc4: 2b01 cmp r3, #1 8092fc6: f004 8326 beq.w 8097616 8092fca: 4b7f ldr r3, [pc, #508] ; (80931c8 ) 8092fcc: 781b ldrb r3, [r3, #0] 8092fce: b2db uxtb r3, r3 8092fd0: 2b02 cmp r3, #2 8092fd2: f004 8320 beq.w 8097616 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8092fd6: 4976 ldr r1, [pc, #472] ; (80931b0 ) 8092fd8: 487a ldr r0, [pc, #488] ; (80931c4 ) 8092fda: f7c0 fc03 bl 80537e4 BSP_LCD_FillRect(60, 73, 200, 124); 8092fde: 237c movs r3, #124 ; 0x7c 8092fe0: 22c8 movs r2, #200 ; 0xc8 8092fe2: 2149 movs r1, #73 ; 0x49 8092fe4: 203c movs r0, #60 ; 0x3c 8092fe6: f7c1 f88b bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8092fea: 4971 ldr r1, [pc, #452] ; (80931b0 ) 8092fec: 4870 ldr r0, [pc, #448] ; (80931b0 ) 8092fee: f7c0 fbf9 bl 80537e4 BSP_LCD_FillRect(61, 74, 198, 122); 8092ff2: 237a movs r3, #122 ; 0x7a 8092ff4: 22c6 movs r2, #198 ; 0xc6 8092ff6: 214a movs r1, #74 ; 0x4a 8092ff8: 203d movs r0, #61 ; 0x3d 8092ffa: f7c1 f881 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8092ffe: 496c ldr r1, [pc, #432] ; (80931b0 ) 8093000: f04f 30ff mov.w r0, #4294967295 8093004: f7c0 fbee bl 80537e4 BSP_LCD_SetFont(&Font12); 8093008: 4870 ldr r0, [pc, #448] ; (80931cc ) 809300a: f7c0 fc27 bl 805385c if((menupos == UpNo) || (menupos == UpYes)) 809300e: 4b6e ldr r3, [pc, #440] ; (80931c8 ) 8093010: 781b ldrb r3, [r3, #0] 8093012: b2db uxtb r3, r3 8093014: 2b06 cmp r3, #6 8093016: d004 beq.n 8093022 8093018: 4b6b ldr r3, [pc, #428] ; (80931c8 ) 809301a: 781b ldrb r3, [r3, #0] 809301c: b2db uxtb r3, r3 809301e: 2b07 cmp r3, #7 8093020: d179 bne.n 8093116 if(pardata.LANG == RUS) 8093022: 4b6b ldr r3, [pc, #428] ; (80931d0 ) 8093024: 7b1b ldrb r3, [r3, #12] 8093026: b2db uxtb r3, r3 8093028: 2b00 cmp r3, #0 809302a: d10c bne.n 8093046 BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûé ôàéë áóäåò", CENTER_MODE); 809302c: 2301 movs r3, #1 809302e: 4a69 ldr r2, [pc, #420] ; (80931d4 ) 8093030: 216f movs r1, #111 ; 0x6f 8093032: 20a0 movs r0, #160 ; 0xa0 8093034: f7c0 fc9c bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 8093038: 2301 movs r3, #1 809303a: 4a67 ldr r2, [pc, #412] ; (80931d8 ) 809303c: 217e movs r1, #126 ; 0x7e 809303e: 20a0 movs r0, #160 ; 0xa0 8093040: f7c0 fc96 bl 8053970 8093044: e00b b.n 809305e BSP_LCD_DisplayStringAt(160, 111, "The selected file will", CENTER_MODE); 8093046: 2301 movs r3, #1 8093048: 4a64 ldr r2, [pc, #400] ; (80931dc ) 809304a: 216f movs r1, #111 ; 0x6f 809304c: 20a0 movs r0, #160 ; 0xa0 809304e: f7c0 fc8f bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 8093052: 2301 movs r3, #1 8093054: 4a62 ldr r2, [pc, #392] ; (80931e0 ) 8093056: 217e movs r1, #126 ; 0x7e 8093058: 20a0 movs r0, #160 ; 0xa0 809305a: f7c0 fc89 bl 8053970 if(menupos == UpNo) 809305e: 4b5a ldr r3, [pc, #360] ; (80931c8 ) 8093060: 781b ldrb r3, [r3, #0] 8093062: b2db uxtb r3, r3 8093064: 2b06 cmp r3, #6 8093066: d128 bne.n 80930ba if(pardata.LANG == RUS) 8093068: 4b59 ldr r3, [pc, #356] ; (80931d0 ) 809306a: 7b1b ldrb r3, [r3, #12] 809306c: b2db uxtb r3, r3 809306e: 2b00 cmp r3, #0 8093070: d111 bne.n 8093096 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8093072: 2301 movs r3, #1 8093074: 4a5b ldr r2, [pc, #364] ; (80931e4 ) 8093076: 21af movs r1, #175 ; 0xaf 8093078: 20e6 movs r0, #230 ; 0xe6 809307a: f7c0 fc79 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809307e: 495a ldr r1, [pc, #360] ; (80931e8 ) 8093080: f04f 30ff mov.w r0, #4294967295 8093084: f7c0 fbae bl 80537e4 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8093088: 2301 movs r3, #1 809308a: 4a58 ldr r2, [pc, #352] ; (80931ec ) 809308c: 21af movs r1, #175 ; 0xaf 809308e: 205a movs r0, #90 ; 0x5a 8093090: f7c0 fc6e bl 8053970 if(menupos == UpNo) 8093094: e088 b.n 80931a8 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8093096: 2301 movs r3, #1 8093098: 4a55 ldr r2, [pc, #340] ; (80931f0 ) 809309a: 21af movs r1, #175 ; 0xaf 809309c: 20e6 movs r0, #230 ; 0xe6 809309e: f7c0 fc67 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80930a2: 4951 ldr r1, [pc, #324] ; (80931e8 ) 80930a4: f04f 30ff mov.w r0, #4294967295 80930a8: f7c0 fb9c bl 80537e4 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 80930ac: 2301 movs r3, #1 80930ae: 4a51 ldr r2, [pc, #324] ; (80931f4 ) 80930b0: 21af movs r1, #175 ; 0xaf 80930b2: 205a movs r0, #90 ; 0x5a 80930b4: f7c0 fc5c bl 8053970 if(menupos == UpNo) 80930b8: e076 b.n 80931a8 if(menupos == UpYes) 80930ba: 4b43 ldr r3, [pc, #268] ; (80931c8 ) 80930bc: 781b ldrb r3, [r3, #0] 80930be: b2db uxtb r3, r3 80930c0: 2b07 cmp r3, #7 80930c2: d171 bne.n 80931a8 if(pardata.LANG == RUS) 80930c4: 4b42 ldr r3, [pc, #264] ; (80931d0 ) 80930c6: 7b1b ldrb r3, [r3, #12] 80930c8: b2db uxtb r3, r3 80930ca: 2b00 cmp r3, #0 80930cc: d111 bne.n 80930f2 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 80930ce: 2301 movs r3, #1 80930d0: 4a46 ldr r2, [pc, #280] ; (80931ec ) 80930d2: 21af movs r1, #175 ; 0xaf 80930d4: 205a movs r0, #90 ; 0x5a 80930d6: f7c0 fc4b bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80930da: 4943 ldr r1, [pc, #268] ; (80931e8 ) 80930dc: f04f 30ff mov.w r0, #4294967295 80930e0: f7c0 fb80 bl 80537e4 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 80930e4: 2301 movs r3, #1 80930e6: 4a3f ldr r2, [pc, #252] ; (80931e4 ) 80930e8: 21af movs r1, #175 ; 0xaf 80930ea: 20e6 movs r0, #230 ; 0xe6 80930ec: f7c0 fc40 bl 8053970 if(menupos == UpNo) 80930f0: e05a b.n 80931a8 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 80930f2: 2301 movs r3, #1 80930f4: 4a3f ldr r2, [pc, #252] ; (80931f4 ) 80930f6: 21af movs r1, #175 ; 0xaf 80930f8: 205a movs r0, #90 ; 0x5a 80930fa: f7c0 fc39 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80930fe: 493a ldr r1, [pc, #232] ; (80931e8 ) 8093100: f04f 30ff mov.w r0, #4294967295 8093104: f7c0 fb6e bl 80537e4 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8093108: 2301 movs r3, #1 809310a: 4a39 ldr r2, [pc, #228] ; (80931f0 ) 809310c: 21af movs r1, #175 ; 0xaf 809310e: 20e6 movs r0, #230 ; 0xe6 8093110: f7c0 fc2e bl 8053970 if(menupos == UpNo) 8093114: e048 b.n 80931a8 if(menupos == CleanUpResult) 8093116: 4b2c ldr r3, [pc, #176] ; (80931c8 ) 8093118: 781b ldrb r3, [r3, #0] 809311a: b2db uxtb r3, r3 809311c: 2b0a cmp r3, #10 809311e: f044 827a bne.w 8097616 if(CleanStatus == AP_OK) 8093122: 4b35 ldr r3, [pc, #212] ; (80931f8 ) 8093124: 781b ldrb r3, [r3, #0] 8093126: b2db uxtb r3, r3 8093128: 2b00 cmp r3, #0 809312a: d118 bne.n 809315e if(pardata.LANG == RUS) 809312c: 4b28 ldr r3, [pc, #160] ; (80931d0 ) 809312e: 7b1b ldrb r3, [r3, #12] 8093130: b2db uxtb r3, r3 8093132: 2b00 cmp r3, #0 8093134: d10c bne.n 8093150 BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 8093136: 2301 movs r3, #1 8093138: 4a30 ldr r2, [pc, #192] ; (80931fc ) 809313a: 216f movs r1, #111 ; 0x6f 809313c: 20a0 movs r0, #160 ; 0xa0 809313e: f7c0 fc17 bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 8093142: 2301 movs r3, #1 8093144: 4a2e ldr r2, [pc, #184] ; (8093200 ) 8093146: 217e movs r1, #126 ; 0x7e 8093148: 20a0 movs r0, #160 ; 0xa0 809314a: f7c0 fc11 bl 8053970 809314e: e01e b.n 809318e BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 8093150: 2301 movs r3, #1 8093152: 4a2c ldr r2, [pc, #176] ; (8093204 ) 8093154: 217e movs r1, #126 ; 0x7e 8093156: 20a0 movs r0, #160 ; 0xa0 8093158: f7c0 fc0a bl 8053970 809315c: e017 b.n 809318e if(pardata.LANG == RUS) 809315e: 4b1c ldr r3, [pc, #112] ; (80931d0 ) 8093160: 7b1b ldrb r3, [r3, #12] 8093162: b2db uxtb r3, r3 8093164: 2b00 cmp r3, #0 8093166: d10c bne.n 8093182 BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8093168: 2301 movs r3, #1 809316a: 4a27 ldr r2, [pc, #156] ; (8093208 ) 809316c: 216f movs r1, #111 ; 0x6f 809316e: 20a0 movs r0, #160 ; 0xa0 8093170: f7c0 fbfe bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 8093174: 2301 movs r3, #1 8093176: 4a25 ldr r2, [pc, #148] ; (809320c ) 8093178: 217e movs r1, #126 ; 0x7e 809317a: 20a0 movs r0, #160 ; 0xa0 809317c: f7c0 fbf8 bl 8053970 8093180: e005 b.n 809318e BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 8093182: 2301 movs r3, #1 8093184: 4a22 ldr r2, [pc, #136] ; (8093210 ) 8093186: 217e movs r1, #126 ; 0x7e 8093188: 20a0 movs r0, #160 ; 0xa0 809318a: f7c0 fbf1 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809318e: 4916 ldr r1, [pc, #88] ; (80931e8 ) 8093190: f04f 30ff mov.w r0, #4294967295 8093194: f7c0 fb26 bl 80537e4 BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8093198: 2301 movs r3, #1 809319a: 4a1e ldr r2, [pc, #120] ; (8093214 ) 809319c: 21af movs r1, #175 ; 0xaf 809319e: 20a0 movs r0, #160 ; 0xa0 80931a0: f7c0 fbe6 bl 8053970 break; 80931a4: f004 ba37 b.w 8097616 if(menupos == UpNo) 80931a8: bf00 nop break; 80931aa: f004 ba34 b.w 8097616 80931ae: bf00 nop 80931b0: ff0a0f1f .word 0xff0a0f1f 80931b4: 080ef4d8 .word 0x080ef4d8 80931b8: 20020df8 .word 0x20020df8 80931bc: 20020de4 .word 0x20020de4 80931c0: 42c00000 .word 0x42c00000 80931c4: ffd3d3d3 .word 0xffd3d3d3 80931c8: 20020070 .word 0x20020070 80931cc: 20020038 .word 0x20020038 80931d0: 20023e60 .word 0x20023e60 80931d4: 080d0238 .word 0x080d0238 80931d8: 080d0250 .word 0x080d0250 80931dc: 080d0268 .word 0x080d0268 80931e0: 080d0280 .word 0x080d0280 80931e4: 080d0298 .word 0x080d0298 80931e8: ff606060 .word 0xff606060 80931ec: 080d029c .word 0x080d029c 80931f0: 080d02a0 .word 0x080d02a0 80931f4: 080d02a4 .word 0x080d02a4 80931f8: 20020dd0 .word 0x20020dd0 80931fc: 080d02a8 .word 0x080d02a8 8093200: 080d0030 .word 0x080d0030 8093204: 080d02bc .word 0x080d02bc 8093208: 080d003c .word 0x080d003c 809320c: 080d02d4 .word 0x080d02d4 8093210: 080d02e0 .word 0x080d02e0 8093214: 080d02f0 .word 0x080d02f0 case INPUT_NAME_DGN: case INPUT_NAME_PTM: case INPUT_NAME_SPEC: case INPUT_NAME_GTR: case INPUT_NAME_FRN: LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8093218: 49b4 ldr r1, [pc, #720] ; (80934ec ) 809321a: 48b5 ldr r0, [pc, #724] ; (80934f0 ) 809321c: f7c0 fae2 bl 80537e4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093220: 49b2 ldr r1, [pc, #712] ; (80934ec ) 8093222: f04f 30ff mov.w r0, #4294967295 8093226: f7c0 fadd bl 80537e4 BSP_LCD_DrawRect(10, 60, 300, 175); 809322a: 23af movs r3, #175 ; 0xaf 809322c: f44f 7296 mov.w r2, #300 ; 0x12c 8093230: 213c movs r1, #60 ; 0x3c 8093232: 200a movs r0, #10 8093234: f7c0 fddc bl 8053df0 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8093238: 49ac ldr r1, [pc, #688] ; (80934ec ) 809323a: 48ac ldr r0, [pc, #688] ; (80934ec ) 809323c: f7c0 fad2 bl 80537e4 BSP_LCD_DrawRect(12, 62, 296, 171); 8093240: 23ab movs r3, #171 ; 0xab 8093242: f44f 7294 mov.w r2, #296 ; 0x128 8093246: 213e movs r1, #62 ; 0x3e 8093248: 200c movs r0, #12 809324a: f7c0 fdd1 bl 8053df0 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809324e: 49a7 ldr r1, [pc, #668] ; (80934ec ) 8093250: 48a7 ldr r0, [pc, #668] ; (80934f0 ) 8093252: f7c0 fac7 bl 80537e4 if(menu == INPUT_NAME_GTR) 8093256: 4ba7 ldr r3, [pc, #668] ; (80934f4 ) 8093258: 781b ldrb r3, [r3, #0] 809325a: b2db uxtb r3, r3 809325c: 2b30 cmp r3, #48 ; 0x30 809325e: d110 bne.n 8093282 { if(pardata.LANG == RUS) 8093260: 4ba5 ldr r3, [pc, #660] ; (80934f8 ) 8093262: 7b1b ldrb r3, [r3, #12] 8093264: b2db uxtb r3, r3 8093266: 2b00 cmp r3, #0 8093268: d105 bne.n 8093276 LCD_DisplayStringC(164, 70, "Èìÿ äèðåêòîðèè:"); 809326a: 4aa4 ldr r2, [pc, #656] ; (80934fc ) 809326c: 2146 movs r1, #70 ; 0x46 809326e: 20a4 movs r0, #164 ; 0xa4 8093270: f7c1 f878 bl 8054364 8093274: e046 b.n 8093304 else LCD_DisplayStringC(164, 70, "Enter a folder name:"); 8093276: 4aa2 ldr r2, [pc, #648] ; (8093500 ) 8093278: 2146 movs r1, #70 ; 0x46 809327a: 20a4 movs r0, #164 ; 0xa4 809327c: f7c1 f872 bl 8054364 8093280: e040 b.n 8093304 } else if(menu == INPUT_NAME) 8093282: 4b9c ldr r3, [pc, #624] ; (80934f4 ) 8093284: 781b ldrb r3, [r3, #0] 8093286: b2db uxtb r3, r3 8093288: 2b33 cmp r3, #51 ; 0x33 809328a: d110 bne.n 80932ae { if(pardata.LANG == RUS) 809328c: 4b9a ldr r3, [pc, #616] ; (80934f8 ) 809328e: 7b1b ldrb r3, [r3, #12] 8093290: b2db uxtb r3, r3 8093292: 2b00 cmp r3, #0 8093294: d105 bne.n 80932a2 LCD_DisplayStringC(164, 70, "Èìÿ:"); 8093296: 4a9b ldr r2, [pc, #620] ; (8093504 ) 8093298: 2146 movs r1, #70 ; 0x46 809329a: 20a4 movs r0, #164 ; 0xa4 809329c: f7c1 f862 bl 8054364 80932a0: e030 b.n 8093304 else LCD_DisplayStringC(164, 70, "Enter a name:"); 80932a2: 4a99 ldr r2, [pc, #612] ; (8093508 ) 80932a4: 2146 movs r1, #70 ; 0x46 80932a6: 20a4 movs r0, #164 ; 0xa4 80932a8: f7c1 f85c bl 8054364 80932ac: e02a b.n 8093304 } else if((menu == INPUT_COMMENT) || (menu == INPUT_COMMENT_DIAGN)) 80932ae: 4b91 ldr r3, [pc, #580] ; (80934f4 ) 80932b0: 781b ldrb r3, [r3, #0] 80932b2: b2db uxtb r3, r3 80932b4: 2b31 cmp r3, #49 ; 0x31 80932b6: d004 beq.n 80932c2 80932b8: 4b8e ldr r3, [pc, #568] ; (80934f4 ) 80932ba: 781b ldrb r3, [r3, #0] 80932bc: b2db uxtb r3, r3 80932be: 2b32 cmp r3, #50 ; 0x32 80932c0: d110 bne.n 80932e4 { if(pardata.LANG == RUS) 80932c2: 4b8d ldr r3, [pc, #564] ; (80934f8 ) 80932c4: 7b1b ldrb r3, [r3, #12] 80932c6: b2db uxtb r3, r3 80932c8: 2b00 cmp r3, #0 80932ca: d105 bne.n 80932d8 LCD_DisplayStringC(164, 70, "Íàçâàíèå òî÷êè èçìåðåíèé"); 80932cc: 4a8f ldr r2, [pc, #572] ; (809350c ) 80932ce: 2146 movs r1, #70 ; 0x46 80932d0: 20a4 movs r0, #164 ; 0xa4 80932d2: f7c1 f847 bl 8054364 if(pardata.LANG == RUS) 80932d6: e015 b.n 8093304 else LCD_DisplayStringC(164, 70, "Point description"); 80932d8: 4a8d ldr r2, [pc, #564] ; (8093510 ) 80932da: 2146 movs r1, #70 ; 0x46 80932dc: 20a4 movs r0, #164 ; 0xa4 80932de: f7c1 f841 bl 8054364 if(pardata.LANG == RUS) 80932e2: e00f b.n 8093304 } else { if(pardata.LANG == RUS) 80932e4: 4b84 ldr r3, [pc, #528] ; (80934f8 ) 80932e6: 7b1b ldrb r3, [r3, #12] 80932e8: b2db uxtb r3, r3 80932ea: 2b00 cmp r3, #0 80932ec: d105 bne.n 80932fa LCD_DisplayStringC (164, 70, "Ââåäèòå èìÿ ôàéëà:"); 80932ee: 4a89 ldr r2, [pc, #548] ; (8093514 ) 80932f0: 2146 movs r1, #70 ; 0x46 80932f2: 20a4 movs r0, #164 ; 0xa4 80932f4: f7c1 f836 bl 8054364 80932f8: e004 b.n 8093304 else LCD_DisplayStringC (164, 70, "Enter a file name:"); 80932fa: 4a87 ldr r2, [pc, #540] ; (8093518 ) 80932fc: 2146 movs r1, #70 ; 0x46 80932fe: 20a4 movs r0, #164 ; 0xa4 8093300: f7c1 f830 bl 8054364 } LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093304: 4979 ldr r1, [pc, #484] ; (80934ec ) 8093306: f04f 30ff mov.w r0, #4294967295 809330a: f7c0 fa6b bl 80537e4 BSP_LCD_DrawHLine(115, 110, 79); 809330e: 224f movs r2, #79 ; 0x4f 8093310: 216e movs r1, #110 ; 0x6e 8093312: 2073 movs r0, #115 ; 0x73 8093314: f7c0 fbe0 bl 8053ad8 DrawKeyboard(); 8093318: f01a fb16 bl 80ad948 if(DrawStatus) 809331c: 4b7f ldr r3, [pc, #508] ; (809351c ) 809331e: 781b ldrb r3, [r3, #0] 8093320: b2db uxtb r3, r3 8093322: 2b00 cmp r3, #0 8093324: d00e beq.n 8093344 { if(STATUS == AP_FILE_EXIST) 8093326: 4b7e ldr r3, [pc, #504] ; (8093520 ) 8093328: 681b ldr r3, [r3, #0] 809332a: 2b06 cmp r3, #6 809332c: d104 bne.n 8093338 LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809332e: 496f ldr r1, [pc, #444] ; (80934ec ) 8093330: 487c ldr r0, [pc, #496] ; (8093524 ) 8093332: f7c0 fa57 bl 80537e4 8093336: e00a b.n 809334e else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK);//GUI_SetColor(GUI_YELLOW); 8093338: 496c ldr r1, [pc, #432] ; (80934ec ) 809333a: f06f 00ff mvn.w r0, #255 ; 0xff 809333e: f7c0 fa51 bl 80537e4 8093342: e004 b.n 809334e } else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8093344: 4969 ldr r1, [pc, #420] ; (80934ec ) 8093346: f06f 00ff mvn.w r0, #255 ; 0xff 809334a: f7c0 fa4b bl 80537e4 memset(str1, 0, sizeof(str1)); 809334e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093352: f44f 7280 mov.w r2, #256 ; 0x100 8093356: 2100 movs r1, #0 8093358: 4618 mov r0, r3 809335a: f039 fe91 bl 80cd080 if(menu == INPUT_NAME_GTR) 809335e: 4b65 ldr r3, [pc, #404] ; (80934f4 ) 8093360: 781b ldrb r3, [r3, #0] 8093362: b2db uxtb r3, r3 8093364: 2b30 cmp r3, #48 ; 0x30 8093366: d106 bne.n 8093376 { strcpy(str1, TEMP_WavFileName); 8093368: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809336c: 496e ldr r1, [pc, #440] ; (8093528 ) 809336e: 4618 mov r0, r3 8093370: f039 ffa3 bl 80cd2ba 8093374: e02e b.n 80933d4 } else if(menu == INPUT_NAME_DGN) 8093376: 4b5f ldr r3, [pc, #380] ; (80934f4 ) 8093378: 781b ldrb r3, [r3, #0] 809337a: b2db uxtb r3, r3 809337c: 2b2c cmp r3, #44 ; 0x2c 809337e: d106 bne.n 809338e { strcpy(str1, TEMP_DiagFileName); 8093380: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093384: 4969 ldr r1, [pc, #420] ; (809352c ) 8093386: 4618 mov r0, r3 8093388: f039 ff97 bl 80cd2ba 809338c: e022 b.n 80933d4 } else if(menu == INPUT_NAME) 809338e: 4b59 ldr r3, [pc, #356] ; (80934f4 ) 8093390: 781b ldrb r3, [r3, #0] 8093392: b2db uxtb r3, r3 8093394: 2b33 cmp r3, #51 ; 0x33 8093396: d106 bne.n 80933a6 { strcpy(str1, TEMP_Name); 8093398: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809339c: 4964 ldr r1, [pc, #400] ; (8093530 ) 809339e: 4618 mov r0, r3 80933a0: f039 ff8b bl 80cd2ba 80933a4: e016 b.n 80933d4 } else if((menu == INPUT_COMMENT) || (menu == INPUT_COMMENT_DIAGN)) 80933a6: 4b53 ldr r3, [pc, #332] ; (80934f4 ) 80933a8: 781b ldrb r3, [r3, #0] 80933aa: b2db uxtb r3, r3 80933ac: 2b31 cmp r3, #49 ; 0x31 80933ae: d004 beq.n 80933ba 80933b0: 4b50 ldr r3, [pc, #320] ; (80934f4 ) 80933b2: 781b ldrb r3, [r3, #0] 80933b4: b2db uxtb r3, r3 80933b6: 2b32 cmp r3, #50 ; 0x32 80933b8: d106 bne.n 80933c8 { strcpy(str1, TEMP_Comment); 80933ba: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80933be: 495d ldr r1, [pc, #372] ; (8093534 ) 80933c0: 4618 mov r0, r3 80933c2: f039 ff7a bl 80cd2ba 80933c6: e005 b.n 80933d4 } else strcpy(str1, TEMP_MeasFileName); 80933c8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80933cc: 495a ldr r1, [pc, #360] ; (8093538 ) 80933ce: 4618 mov r0, r3 80933d0: f039 ff73 bl 80cd2ba if(blink) 80933d4: 4b59 ldr r3, [pc, #356] ; (809353c ) 80933d6: 681b ldr r3, [r3, #0] 80933d8: 2b00 cmp r3, #0 80933da: d00a beq.n 80933f2 str1[strlen(str1)] = '|'; 80933dc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80933e0: 4618 mov r0, r3 80933e2: f78c ff97 bl 8020314 80933e6: 4602 mov r2, r0 80933e8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80933ec: 217c movs r1, #124 ; 0x7c 80933ee: 5499 strb r1, [r3, r2] 80933f0: e009 b.n 8093406 else str1[strlen(str1)] = ' '; 80933f2: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80933f6: 4618 mov r0, r3 80933f8: f78c ff8c bl 8020314 80933fc: 4602 mov r2, r0 80933fe: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093402: 2120 movs r1, #32 8093404: 5499 strb r1, [r3, r2] BSP_LCD_SetFont(&Font12); 8093406: 484e ldr r0, [pc, #312] ; (8093540 ) 8093408: f7c0 fa28 bl 805385c BSP_LCD_DisplayStringAt(160, 95, str1, CENTER_MODE); 809340c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093410: 2301 movs r3, #1 8093412: 215f movs r1, #95 ; 0x5f 8093414: 20a0 movs r0, #160 ; 0xa0 8093416: f7c0 faab bl 8053970 break; 809341a: f004 b907 b.w 809762c case ARCHIVE_SPEC: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809341e: 4933 ldr r1, [pc, #204] ; (80934ec ) 8093420: 4848 ldr r0, [pc, #288] ; (8093544 ) 8093422: f7c0 f9df bl 80537e4 BSP_LCD_DrawHLine(7, 52, 308); 8093426: f44f 729a mov.w r2, #308 ; 0x134 809342a: 2134 movs r1, #52 ; 0x34 809342c: 2007 movs r0, #7 809342e: f7c0 fb53 bl 8053ad8 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8093432: 492e ldr r1, [pc, #184] ; (80934ec ) 8093434: 482e ldr r0, [pc, #184] ; (80934f0 ) 8093436: f7c0 f9d5 bl 80537e4 if(pardata.LANG == RUS) 809343a: 4b2f ldr r3, [pc, #188] ; (80934f8 ) 809343c: 7b1b ldrb r3, [r3, #12] 809343e: b2db uxtb r3, r3 8093440: 2b00 cmp r3, #0 8093442: d105 bne.n 8093450 LCD_DisplayString(7, LCD_LINE_2, "..|Îòêðûòü ôàéë"); 8093444: 4a40 ldr r2, [pc, #256] ; (8093548 ) 8093446: 2127 movs r1, #39 ; 0x27 8093448: 2007 movs r0, #7 809344a: f7c0 ff73 bl 8054334 809344e: e004 b.n 809345a else LCD_DisplayString(7, LCD_LINE_2, "..|Open file"); 8093450: 4a3e ldr r2, [pc, #248] ; (809354c ) 8093452: 2127 movs r1, #39 ; 0x27 8093454: 2007 movs r0, #7 8093456: f7c0 ff6d bl 8054334 if(pardata.LANG == RUS) 809345a: 4b27 ldr r3, [pc, #156] ; (80934f8 ) 809345c: 7b1b ldrb r3, [r3, #12] 809345e: b2db uxtb r3, r3 8093460: 2b00 cmp r3, #0 8093462: d105 bne.n 8093470 DrawImage(&bmLEGEND_CLEAN, 0, 65); 8093464: 2241 movs r2, #65 ; 0x41 8093466: 2100 movs r1, #0 8093468: 4839 ldr r0, [pc, #228] ; (8093550 ) 809346a: f7c1 f8af bl 80545cc 809346e: e004 b.n 809347a else DrawImage(&bmLEGEND_CLEAN_ENG, 0, 65); 8093470: 2241 movs r2, #65 ; 0x41 8093472: 2100 movs r1, #0 8093474: 4837 ldr r0, [pc, #220] ; (8093554 ) 8093476: f7c1 f8a9 bl 80545cc if(menupos == NoFilesSPEC) 809347a: 4b37 ldr r3, [pc, #220] ; (8093558 ) 809347c: 781b ldrb r3, [r3, #0] 809347e: b2db uxtb r3, r3 8093480: 2b01 cmp r3, #1 8093482: d117 bne.n 80934b4 { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093484: 4919 ldr r1, [pc, #100] ; (80934ec ) 8093486: f04f 30ff mov.w r0, #4294967295 809348a: f7c0 f9ab bl 80537e4 if(pardata.LANG == RUS) 809348e: 4b1a ldr r3, [pc, #104] ; (80934f8 ) 8093490: 7b1b ldrb r3, [r3, #12] 8093492: b2db uxtb r3, r3 8093494: 2b00 cmp r3, #0 8093496: d106 bne.n 80934a6 LCD_DisplayStringC(160, LCD_LINE_8, "Ôàéëû îòñóòñòâóþò."); 8093498: 4a30 ldr r2, [pc, #192] ; (809355c ) 809349a: 218a movs r1, #138 ; 0x8a 809349c: 20a0 movs r0, #160 ; 0xa0 809349e: f7c0 ff61 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); LCD_DisplayStringC(160, 170, "Ok"); } } } break; 80934a2: f004 b8ba b.w 809761a else LCD_DisplayStringC(160, LCD_LINE_8, "No files..."); 80934a6: 4a2e ldr r2, [pc, #184] ; (8093560 ) 80934a8: 218a movs r1, #138 ; 0x8a 80934aa: 20a0 movs r0, #160 ; 0xa0 80934ac: f7c0 ff5a bl 8054364 break; 80934b0: f004 b8b3 b.w 809761a if((menupos == FilesSPEC) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 80934b4: 4b28 ldr r3, [pc, #160] ; (8093558 ) 80934b6: 781b ldrb r3, [r3, #0] 80934b8: b2db uxtb r3, r3 80934ba: 2b02 cmp r3, #2 80934bc: d00f beq.n 80934de 80934be: 4b26 ldr r3, [pc, #152] ; (8093558 ) 80934c0: 781b ldrb r3, [r3, #0] 80934c2: b2db uxtb r3, r3 80934c4: 2b06 cmp r3, #6 80934c6: d00a beq.n 80934de 80934c8: 4b23 ldr r3, [pc, #140] ; (8093558 ) 80934ca: 781b ldrb r3, [r3, #0] 80934cc: b2db uxtb r3, r3 80934ce: 2b07 cmp r3, #7 80934d0: d005 beq.n 80934de 80934d2: 4b21 ldr r3, [pc, #132] ; (8093558 ) 80934d4: 781b ldrb r3, [r3, #0] 80934d6: b2db uxtb r3, r3 80934d8: 2b0a cmp r3, #10 80934da: f044 809e bne.w 809761a BSP_LCD_SetFont(&Font12); 80934de: 4818 ldr r0, [pc, #96] ; (8093540 ) 80934e0: f7c0 f9bc bl 805385c for(i = 0; i < VIEW_FILES; i++) 80934e4: 2300 movs r3, #0 80934e6: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 80934ea: e1bb b.n 8093864 80934ec: ff0a0f1f .word 0xff0a0f1f 80934f0: ff808080 .word 0xff808080 80934f4: 20020f78 .word 0x20020f78 80934f8: 20023e60 .word 0x20023e60 80934fc: 080d02f4 .word 0x080d02f4 8093500: 080d0304 .word 0x080d0304 8093504: 080d031c .word 0x080d031c 8093508: 080d0324 .word 0x080d0324 809350c: 080d0334 .word 0x080d0334 8093510: 080d0350 .word 0x080d0350 8093514: 080d0364 .word 0x080d0364 8093518: 080d0378 .word 0x080d0378 809351c: 20020dd2 .word 0x20020dd2 8093520: 20020dcc .word 0x20020dcc 8093524: ffff0000 .word 0xffff0000 8093528: 20025ca4 .word 0x20025ca4 809352c: 20025cc8 .word 0x20025cc8 8093530: 20025cf4 .word 0x20025cf4 8093534: 20025c40 .word 0x20025c40 8093538: 20025c80 .word 0x20025c80 809353c: 20021660 .word 0x20021660 8093540: 20020038 .word 0x20020038 8093544: ffd3d3d3 .word 0xffd3d3d3 8093548: 080d038c .word 0x080d038c 809354c: 080d039c .word 0x080d039c 8093550: 08117f80 .word 0x08117f80 8093554: 0811b18c .word 0x0811b18c 8093558: 20020070 .word 0x20020070 809355c: 080d03ac .word 0x080d03ac 8093560: 080d03c0 .word 0x080d03c0 if(CursorIndex == i) 8093564: 4bad ldr r3, [pc, #692] ; (809381c ) 8093566: 681a ldr r2, [r3, #0] 8093568: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809356c: 429a cmp r2, r3 809356e: d116 bne.n 809359e LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8093570: 49ab ldr r1, [pc, #684] ; (8093820 ) 8093572: 48ab ldr r0, [pc, #684] ; (8093820 ) 8093574: f7c0 f936 bl 80537e4 BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 8093578: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809357c: 4aa9 ldr r2, [pc, #676] ; (8093824 ) 809357e: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8093582: 4ba9 ldr r3, [pc, #676] ; (8093828 ) 8093584: 681b ldr r3, [r3, #0] 8093586: 88db ldrh r3, [r3, #6] 8093588: f44f 729c mov.w r2, #312 ; 0x138 809358c: 2003 movs r0, #3 809358e: f7c0 fdb7 bl 8054100 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_CURSOR); 8093592: 49a3 ldr r1, [pc, #652] ; (8093820 ) 8093594: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8093598: f7c0 f924 bl 80537e4 809359c: e004 b.n 80935a8 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809359e: 49a3 ldr r1, [pc, #652] ; (809382c ) 80935a0: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80935a4: f7c0 f91e bl 80537e4 if(ExplorerFiles[i].fname[0] != 0) 80935a8: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80935ac: 49a0 ldr r1, [pc, #640] ; (8093830 ) 80935ae: 4613 mov r3, r2 80935b0: 00db lsls r3, r3, #3 80935b2: 1a9b subs r3, r3, r2 80935b4: 00db lsls r3, r3, #3 80935b6: 440b add r3, r1 80935b8: 330c adds r3, #12 80935ba: 781b ldrb r3, [r3, #0] 80935bc: 2b00 cmp r3, #0 80935be: f000 814c beq.w 809385a BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 80935c2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80935c6: 4a97 ldr r2, [pc, #604] ; (8093824 ) 80935c8: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 80935cc: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80935d0: 4613 mov r3, r2 80935d2: 00db lsls r3, r3, #3 80935d4: 1a9b subs r3, r3, r2 80935d6: 00db lsls r3, r3, #3 80935d8: 3308 adds r3, #8 80935da: 4a95 ldr r2, [pc, #596] ; (8093830 ) 80935dc: 4413 add r3, r2 80935de: 1d1a adds r2, r3, #4 80935e0: 2303 movs r3, #3 80935e2: 2005 movs r0, #5 80935e4: f7c0 f9c4 bl 8053970 k = 0; 80935e8: 2300 movs r3, #0 80935ea: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 80935ee: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80935f2: 498f ldr r1, [pc, #572] ; (8093830 ) 80935f4: 4613 mov r3, r2 80935f6: 00db lsls r3, r3, #3 80935f8: 1a9b subs r3, r3, r2 80935fa: 00db lsls r3, r3, #3 80935fc: 440b add r3, r1 80935fe: 3308 adds r3, #8 8093600: 681a ldr r2, [r3, #0] 8093602: f107 030c add.w r3, r7, #12 8093606: 4611 mov r1, r2 8093608: 4618 mov r0, r3 809360a: f7d3 ffbb bl 8067584 str1[k++] = (FatTime.Date / 10) + 48; 809360e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093612: 1c5a adds r2, r3, #1 8093614: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093618: f107 020c add.w r2, r7, #12 809361c: 7852 ldrb r2, [r2, #1] 809361e: 4985 ldr r1, [pc, #532] ; (8093834 ) 8093620: fba1 1202 umull r1, r2, r1, r2 8093624: 08d2 lsrs r2, r2, #3 8093626: b2d2 uxtb r2, r2 8093628: 3230 adds r2, #48 ; 0x30 809362a: b2d1 uxtb r1, r2 809362c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093630: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8093632: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093636: 1c53 adds r3, r2, #1 8093638: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809363c: f107 030c add.w r3, r7, #12 8093640: 7859 ldrb r1, [r3, #1] 8093642: 4b7c ldr r3, [pc, #496] ; (8093834 ) 8093644: fba3 0301 umull r0, r3, r3, r1 8093648: 08d8 lsrs r0, r3, #3 809364a: 4603 mov r3, r0 809364c: 009b lsls r3, r3, #2 809364e: 4403 add r3, r0 8093650: 005b lsls r3, r3, #1 8093652: 1acb subs r3, r1, r3 8093654: b2db uxtb r3, r3 8093656: 3330 adds r3, #48 ; 0x30 8093658: b2d9 uxtb r1, r3 809365a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809365e: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8093660: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093664: 1c5a adds r2, r3, #1 8093666: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809366a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809366e: 212e movs r1, #46 ; 0x2e 8093670: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 8093672: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093676: 1c5a adds r2, r3, #1 8093678: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 809367c: f107 020c add.w r2, r7, #12 8093680: 7812 ldrb r2, [r2, #0] 8093682: 496c ldr r1, [pc, #432] ; (8093834 ) 8093684: fba1 1202 umull r1, r2, r1, r2 8093688: 08d2 lsrs r2, r2, #3 809368a: b2d2 uxtb r2, r2 809368c: 3230 adds r2, #48 ; 0x30 809368e: b2d1 uxtb r1, r2 8093690: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093694: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 8093696: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 809369a: 1c53 adds r3, r2, #1 809369c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80936a0: f107 030c add.w r3, r7, #12 80936a4: 7819 ldrb r1, [r3, #0] 80936a6: 4b63 ldr r3, [pc, #396] ; (8093834 ) 80936a8: fba3 0301 umull r0, r3, r3, r1 80936ac: 08d8 lsrs r0, r3, #3 80936ae: 4603 mov r3, r0 80936b0: 009b lsls r3, r3, #2 80936b2: 4403 add r3, r0 80936b4: 005b lsls r3, r3, #1 80936b6: 1acb subs r3, r1, r3 80936b8: b2db uxtb r3, r3 80936ba: 3330 adds r3, #48 ; 0x30 80936bc: b2d9 uxtb r1, r3 80936be: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80936c2: 5499 strb r1, [r3, r2] str1[k++] = '.'; 80936c4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80936c8: 1c5a adds r2, r3, #1 80936ca: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80936ce: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80936d2: 212e movs r1, #46 ; 0x2e 80936d4: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 80936d6: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80936da: 1c5a adds r2, r3, #1 80936dc: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80936e0: f107 020c add.w r2, r7, #12 80936e4: 7892 ldrb r2, [r2, #2] 80936e6: 4953 ldr r1, [pc, #332] ; (8093834 ) 80936e8: fba1 1202 umull r1, r2, r1, r2 80936ec: 08d2 lsrs r2, r2, #3 80936ee: b2d2 uxtb r2, r2 80936f0: 3230 adds r2, #48 ; 0x30 80936f2: b2d1 uxtb r1, r2 80936f4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80936f8: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 80936fa: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80936fe: 1c53 adds r3, r2, #1 8093700: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093704: f107 030c add.w r3, r7, #12 8093708: 7899 ldrb r1, [r3, #2] 809370a: 4b4a ldr r3, [pc, #296] ; (8093834 ) 809370c: fba3 0301 umull r0, r3, r3, r1 8093710: 08d8 lsrs r0, r3, #3 8093712: 4603 mov r3, r0 8093714: 009b lsls r3, r3, #2 8093716: 4403 add r3, r0 8093718: 005b lsls r3, r3, #1 809371a: 1acb subs r3, r1, r3 809371c: b2db uxtb r3, r3 809371e: 3330 adds r3, #48 ; 0x30 8093720: b2d9 uxtb r1, r3 8093722: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093726: 5499 strb r1, [r3, r2] str1[k++] = ' '; 8093728: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809372c: 1c5a adds r2, r3, #1 809372e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093732: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093736: 2120 movs r1, #32 8093738: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 809373a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809373e: 1c5a adds r2, r3, #1 8093740: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093744: f107 020c add.w r2, r7, #12 8093748: 78d2 ldrb r2, [r2, #3] 809374a: 493a ldr r1, [pc, #232] ; (8093834 ) 809374c: fba1 1202 umull r1, r2, r1, r2 8093750: 08d2 lsrs r2, r2, #3 8093752: b2d2 uxtb r2, r2 8093754: 3230 adds r2, #48 ; 0x30 8093756: b2d1 uxtb r1, r2 8093758: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809375c: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 809375e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093762: 1c53 adds r3, r2, #1 8093764: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093768: f107 030c add.w r3, r7, #12 809376c: 78d9 ldrb r1, [r3, #3] 809376e: 4b31 ldr r3, [pc, #196] ; (8093834 ) 8093770: fba3 0301 umull r0, r3, r3, r1 8093774: 08d8 lsrs r0, r3, #3 8093776: 4603 mov r3, r0 8093778: 009b lsls r3, r3, #2 809377a: 4403 add r3, r0 809377c: 005b lsls r3, r3, #1 809377e: 1acb subs r3, r1, r3 8093780: b2db uxtb r3, r3 8093782: 3330 adds r3, #48 ; 0x30 8093784: b2d9 uxtb r1, r3 8093786: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809378a: 5499 strb r1, [r3, r2] str1[k++] = ':'; 809378c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093790: 1c5a adds r2, r3, #1 8093792: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093796: f507 72f6 add.w r2, r7, #492 ; 0x1ec 809379a: 213a movs r1, #58 ; 0x3a 809379c: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 809379e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80937a2: 1c5a adds r2, r3, #1 80937a4: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80937a8: f107 020c add.w r2, r7, #12 80937ac: 7912 ldrb r2, [r2, #4] 80937ae: 4921 ldr r1, [pc, #132] ; (8093834 ) 80937b0: fba1 1202 umull r1, r2, r1, r2 80937b4: 08d2 lsrs r2, r2, #3 80937b6: b2d2 uxtb r2, r2 80937b8: 3230 adds r2, #48 ; 0x30 80937ba: b2d1 uxtb r1, r2 80937bc: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80937c0: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 80937c2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80937c6: 1c53 adds r3, r2, #1 80937c8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80937cc: f107 030c add.w r3, r7, #12 80937d0: 7919 ldrb r1, [r3, #4] 80937d2: 4b18 ldr r3, [pc, #96] ; (8093834 ) 80937d4: fba3 0301 umull r0, r3, r3, r1 80937d8: 08d8 lsrs r0, r3, #3 80937da: 4603 mov r3, r0 80937dc: 009b lsls r3, r3, #2 80937de: 4403 add r3, r0 80937e0: 005b lsls r3, r3, #1 80937e2: 1acb subs r3, r1, r3 80937e4: b2db uxtb r3, r3 80937e6: 3330 adds r3, #48 ; 0x30 80937e8: b2d9 uxtb r1, r3 80937ea: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80937ee: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 80937f0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80937f4: 1c5a adds r2, r3, #1 80937f6: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80937fa: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80937fe: 2100 movs r1, #0 8093800: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8093802: 4b06 ldr r3, [pc, #24] ; (809381c ) 8093804: 681a ldr r2, [r3, #0] 8093806: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809380a: 429a cmp r2, r3 809380c: d114 bne.n 8093838 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809380e: 4904 ldr r1, [pc, #16] ; (8093820 ) 8093810: f04f 30ff mov.w r0, #4294967295 8093814: f7bf ffe6 bl 80537e4 8093818: e013 b.n 8093842 809381a: bf00 nop 809381c: 20020de0 .word 0x20020de0 8093820: ff606060 .word 0xff606060 8093824: 080ef4d8 .word 0x080ef4d8 8093828: 20025d24 .word 0x20025d24 809382c: ff0a0f1f .word 0xff0a0f1f 8093830: 20022350 .word 0x20022350 8093834: cccccccd .word 0xcccccccd else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093838: 49bc ldr r1, [pc, #752] ; (8093b2c ) 809383a: f04f 30ff mov.w r0, #4294967295 809383e: f7bf ffd1 bl 80537e4 BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8093842: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093846: 4aba ldr r2, [pc, #744] ; (8093b30 ) 8093848: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809384c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093850: 2302 movs r3, #2 8093852: f44f 709c mov.w r0, #312 ; 0x138 8093856: f7c0 f88b bl 8053970 for(i = 0; i < VIEW_FILES; i++) 809385a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809385e: 3301 adds r3, #1 8093860: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8093864: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093868: 2b0b cmp r3, #11 809386a: f67f ae7b bls.w 8093564 if(NumFilesSPEC > VIEW_FILES) 809386e: 4bb1 ldr r3, [pc, #708] ; (8093b34 ) 8093870: 681b ldr r3, [r3, #0] 8093872: 2b0c cmp r3, #12 8093874: d95f bls.n 8093936 k = (140 * VIEW_FILES) / NumFilesSPEC; //äëèíà ïîëçóíêà 8093876: 4baf ldr r3, [pc, #700] ; (8093b34 ) 8093878: 681b ldr r3, [r3, #0] 809387a: f44f 62d2 mov.w r2, #1680 ; 0x690 809387e: fbb2 f3f3 udiv r3, r2, r3 8093882: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8093886: 4bac ldr r3, [pc, #688] ; (8093b38 ) 8093888: 681b ldr r3, [r3, #0] 809388a: 228c movs r2, #140 ; 0x8c 809388c: fb02 f303 mul.w r3, r2, r3 8093890: ee07 3a90 vmov s15, r3 8093894: eef8 7a67 vcvt.f32.u32 s15, s15 8093898: f507 638b add.w r3, r7, #1112 ; 0x458 809389c: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesSPEC) + 96.0f; 80938a0: 4ba4 ldr r3, [pc, #656] ; (8093b34 ) 80938a2: 681b ldr r3, [r3, #0] 80938a4: ee07 3a90 vmov s15, r3 80938a8: eeb8 7a67 vcvt.f32.u32 s14, s15 80938ac: f507 638b add.w r3, r7, #1112 ; 0x458 80938b0: edd3 6a00 vldr s13, [r3] 80938b4: eec6 7a87 vdiv.f32 s15, s13, s14 80938b8: ed9f 7aa0 vldr s14, [pc, #640] ; 8093b3c 80938bc: ee77 7a87 vadd.f32 s15, s15, s14 80938c0: f507 638b add.w r3, r7, #1112 ; 0x458 80938c4: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 80938c8: f507 638b add.w r3, r7, #1112 ; 0x458 80938cc: edd3 7a00 vldr s15, [r3] 80938d0: eefc 7ae7 vcvt.u32.f32 s15, s15 80938d4: edc7 7a01 vstr s15, [r7, #4] 80938d8: 88bb ldrh r3, [r7, #4] 80938da: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 80938de: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80938e2: b29a uxth r2, r3 80938e4: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80938e8: 4413 add r3, r2 80938ea: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 80938ee: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80938f2: 2bec cmp r3, #236 ; 0xec 80938f4: d905 bls.n 8093902 k = 236 - y0; 80938f6: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80938fa: f1c3 03ec rsb r3, r3, #236 ; 0xec 80938fe: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8093902: 498a ldr r1, [pc, #552] ; (8093b2c ) 8093904: 488e ldr r0, [pc, #568] ; (8093b40 ) 8093906: f7bf ff6d bl 80537e4 BSP_LCD_DrawRect(314, 94, 5, 143); 809390a: 238f movs r3, #143 ; 0x8f 809390c: 2205 movs r2, #5 809390e: 215e movs r1, #94 ; 0x5e 8093910: f44f 709d mov.w r0, #314 ; 0x13a 8093914: f7c0 fa6c bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093918: 4984 ldr r1, [pc, #528] ; (8093b2c ) 809391a: f04f 30ff mov.w r0, #4294967295 809391e: f7bf ff61 bl 80537e4 BSP_LCD_FillRect(316, y0, 2, k); 8093922: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093926: b29b uxth r3, r3 8093928: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 809392c: 2202 movs r2, #2 809392e: f44f 709e mov.w r0, #316 ; 0x13c 8093932: f7c0 fbe5 bl 8054100 if((menupos != NoFilesSPEC) && (menupos != FilesSPEC)) 8093936: 4b83 ldr r3, [pc, #524] ; (8093b44 ) 8093938: 781b ldrb r3, [r3, #0] 809393a: b2db uxtb r3, r3 809393c: 2b01 cmp r3, #1 809393e: f003 866c beq.w 809761a 8093942: 4b80 ldr r3, [pc, #512] ; (8093b44 ) 8093944: 781b ldrb r3, [r3, #0] 8093946: b2db uxtb r3, r3 8093948: 2b02 cmp r3, #2 809394a: f003 8666 beq.w 809761a LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809394e: 4977 ldr r1, [pc, #476] ; (8093b2c ) 8093950: 487b ldr r0, [pc, #492] ; (8093b40 ) 8093952: f7bf ff47 bl 80537e4 BSP_LCD_FillRect(60, 73, 200, 124); 8093956: 237c movs r3, #124 ; 0x7c 8093958: 22c8 movs r2, #200 ; 0xc8 809395a: 2149 movs r1, #73 ; 0x49 809395c: 203c movs r0, #60 ; 0x3c 809395e: f7c0 fbcf bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8093962: 4972 ldr r1, [pc, #456] ; (8093b2c ) 8093964: 4871 ldr r0, [pc, #452] ; (8093b2c ) 8093966: f7bf ff3d bl 80537e4 BSP_LCD_FillRect(61, 74, 198, 122); 809396a: 237a movs r3, #122 ; 0x7a 809396c: 22c6 movs r2, #198 ; 0xc6 809396e: 214a movs r1, #74 ; 0x4a 8093970: 203d movs r0, #61 ; 0x3d 8093972: f7c0 fbc5 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093976: 496d ldr r1, [pc, #436] ; (8093b2c ) 8093978: f04f 30ff mov.w r0, #4294967295 809397c: f7bf ff32 bl 80537e4 if((menupos == UpNo) || (menupos == UpYes)) 8093980: 4b70 ldr r3, [pc, #448] ; (8093b44 ) 8093982: 781b ldrb r3, [r3, #0] 8093984: b2db uxtb r3, r3 8093986: 2b06 cmp r3, #6 8093988: d004 beq.n 8093994 809398a: 4b6e ldr r3, [pc, #440] ; (8093b44 ) 809398c: 781b ldrb r3, [r3, #0] 809398e: b2db uxtb r3, r3 8093990: 2b07 cmp r3, #7 8093992: d172 bne.n 8093a7a if(pardata.LANG == RUS) 8093994: 4b6c ldr r3, [pc, #432] ; (8093b48 ) 8093996: 7b1b ldrb r3, [r3, #12] 8093998: b2db uxtb r3, r3 809399a: 2b00 cmp r3, #0 809399c: d10f bne.n 80939be LCD_DisplayStringC(160, LCD_LINE_6, "Ôàéë áóäåò"); 809399e: 4a6b ldr r2, [pc, #428] ; (8093b4c ) 80939a0: 216a movs r1, #106 ; 0x6a 80939a2: 20a0 movs r0, #160 ; 0xa0 80939a4: f7c0 fcde bl 8054364 LCD_DisplayStringC(160, LCD_LINE_7, "óäàëåí."); 80939a8: 4a69 ldr r2, [pc, #420] ; (8093b50 ) 80939aa: 217a movs r1, #122 ; 0x7a 80939ac: 20a0 movs r0, #160 ; 0xa0 80939ae: f7c0 fcd9 bl 8054364 LCD_DisplayStringC(160, LCD_LINE_8, "Ïðîäîëæèòü?"); 80939b2: 4a68 ldr r2, [pc, #416] ; (8093b54 ) 80939b4: 218a movs r1, #138 ; 0x8a 80939b6: 20a0 movs r0, #160 ; 0xa0 80939b8: f7c0 fcd4 bl 8054364 80939bc: e00e b.n 80939dc LCD_DisplayStringC(160, LCD_LINE_6, "The selected file"); 80939be: 4a66 ldr r2, [pc, #408] ; (8093b58 ) 80939c0: 216a movs r1, #106 ; 0x6a 80939c2: 20a0 movs r0, #160 ; 0xa0 80939c4: f7c0 fcce bl 8054364 LCD_DisplayStringC(160, LCD_LINE_7, "will be deleted."); 80939c8: 4a64 ldr r2, [pc, #400] ; (8093b5c ) 80939ca: 217a movs r1, #122 ; 0x7a 80939cc: 20a0 movs r0, #160 ; 0xa0 80939ce: f7c0 fcc9 bl 8054364 LCD_DisplayStringC(160, LCD_LINE_8, "Continue?"); 80939d2: 4a63 ldr r2, [pc, #396] ; (8093b60 ) 80939d4: 218a movs r1, #138 ; 0x8a 80939d6: 20a0 movs r0, #160 ; 0xa0 80939d8: f7c0 fcc4 bl 8054364 if(menupos == UpNo) 80939dc: 4b59 ldr r3, [pc, #356] ; (8093b44 ) 80939de: 781b ldrb r3, [r3, #0] 80939e0: b2db uxtb r3, r3 80939e2: 2b06 cmp r3, #6 80939e4: d124 bne.n 8093a30 if(pardata.LANG == RUS) 80939e6: 4b58 ldr r3, [pc, #352] ; (8093b48 ) 80939e8: 7b1b ldrb r3, [r3, #12] 80939ea: b2db uxtb r3, r3 80939ec: 2b00 cmp r3, #0 80939ee: d10f bne.n 8093a10 LCD_DisplayString(210, 170, "Äà"); 80939f0: 4a5c ldr r2, [pc, #368] ; (8093b64 ) 80939f2: 21aa movs r1, #170 ; 0xaa 80939f4: 20d2 movs r0, #210 ; 0xd2 80939f6: f7c0 fc9d bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80939fa: 495b ldr r1, [pc, #364] ; (8093b68 ) 80939fc: f04f 30ff mov.w r0, #4294967295 8093a00: f7bf fef0 bl 80537e4 LCD_DisplayString(70, 170, "Íåò"); 8093a04: 4a59 ldr r2, [pc, #356] ; (8093b6c ) 8093a06: 21aa movs r1, #170 ; 0xaa 8093a08: 2046 movs r0, #70 ; 0x46 8093a0a: f7c0 fc93 bl 8054334 if(menupos == UpNo) 8093a0e: e08a b.n 8093b26 LCD_DisplayString(210, 170, "Yes"); 8093a10: 4a57 ldr r2, [pc, #348] ; (8093b70 ) 8093a12: 21aa movs r1, #170 ; 0xaa 8093a14: 20d2 movs r0, #210 ; 0xd2 8093a16: f7c0 fc8d bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093a1a: 4953 ldr r1, [pc, #332] ; (8093b68 ) 8093a1c: f04f 30ff mov.w r0, #4294967295 8093a20: f7bf fee0 bl 80537e4 LCD_DisplayString(70, 170, "No"); 8093a24: 4a53 ldr r2, [pc, #332] ; (8093b74 ) 8093a26: 21aa movs r1, #170 ; 0xaa 8093a28: 2046 movs r0, #70 ; 0x46 8093a2a: f7c0 fc83 bl 8054334 if(menupos == UpNo) 8093a2e: e07a b.n 8093b26 if(menupos == UpYes) 8093a30: 4b44 ldr r3, [pc, #272] ; (8093b44 ) 8093a32: 781b ldrb r3, [r3, #0] 8093a34: b2db uxtb r3, r3 8093a36: 2b07 cmp r3, #7 8093a38: d175 bne.n 8093b26 if(pardata.LANG == RUS) 8093a3a: 4b43 ldr r3, [pc, #268] ; (8093b48 ) 8093a3c: 7b1b ldrb r3, [r3, #12] 8093a3e: b2db uxtb r3, r3 8093a40: 2b00 cmp r3, #0 8093a42: d10f bne.n 8093a64 LCD_DisplayString(70, 170, "Íåò"); 8093a44: 4a49 ldr r2, [pc, #292] ; (8093b6c ) 8093a46: 21aa movs r1, #170 ; 0xaa 8093a48: 2046 movs r0, #70 ; 0x46 8093a4a: f7c0 fc73 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093a4e: 4946 ldr r1, [pc, #280] ; (8093b68 ) 8093a50: f04f 30ff mov.w r0, #4294967295 8093a54: f7bf fec6 bl 80537e4 LCD_DisplayString(210, 170, "Äà"); 8093a58: 4a42 ldr r2, [pc, #264] ; (8093b64 ) 8093a5a: 21aa movs r1, #170 ; 0xaa 8093a5c: 20d2 movs r0, #210 ; 0xd2 8093a5e: f7c0 fc69 bl 8054334 if(menupos == UpNo) 8093a62: e060 b.n 8093b26 LCD_DisplayString(70, 170, "No"); 8093a64: 4a43 ldr r2, [pc, #268] ; (8093b74 ) 8093a66: 21aa movs r1, #170 ; 0xaa 8093a68: 2046 movs r0, #70 ; 0x46 8093a6a: f7c0 fc63 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093a6e: 493e ldr r1, [pc, #248] ; (8093b68 ) 8093a70: f04f 30ff mov.w r0, #4294967295 8093a74: f7bf feb6 bl 80537e4 if(menupos == UpNo) 8093a78: e055 b.n 8093b26 if(menupos == CleanUpResult) 8093a7a: 4b32 ldr r3, [pc, #200] ; (8093b44 ) 8093a7c: 781b ldrb r3, [r3, #0] 8093a7e: b2db uxtb r3, r3 8093a80: 2b0a cmp r3, #10 8093a82: f043 85ca bne.w 809761a if(CleanStatus == AP_OK) 8093a86: 4b3c ldr r3, [pc, #240] ; (8093b78 ) 8093a88: 781b ldrb r3, [r3, #0] 8093a8a: b2db uxtb r3, r3 8093a8c: 2b00 cmp r3, #0 8093a8e: d11f bne.n 8093ad0 if(pardata.LANG == RUS) 8093a90: 4b2d ldr r3, [pc, #180] ; (8093b48 ) 8093a92: 7b1b ldrb r3, [r3, #12] 8093a94: b2db uxtb r3, r3 8093a96: 2b00 cmp r3, #0 8093a98: d10f bne.n 8093aba LCD_DisplayStringC(160, LCD_LINE_6, "Óäàëåíèå"); 8093a9a: 4a38 ldr r2, [pc, #224] ; (8093b7c ) 8093a9c: 216a movs r1, #106 ; 0x6a 8093a9e: 20a0 movs r0, #160 ; 0xa0 8093aa0: f7c0 fc60 bl 8054364 LCD_DisplayStringC(160, LCD_LINE_7, "çàâåðøåíî"); 8093aa4: 4a36 ldr r2, [pc, #216] ; (8093b80 ) 8093aa6: 217a movs r1, #122 ; 0x7a 8093aa8: 20a0 movs r0, #160 ; 0xa0 8093aaa: f7c0 fc5b bl 8054364 LCD_DisplayStringC(160, LCD_LINE_8, "óñïåøíî!"); 8093aae: 4a35 ldr r2, [pc, #212] ; (8093b84 ) 8093ab0: 218a movs r1, #138 ; 0x8a 8093ab2: 20a0 movs r0, #160 ; 0xa0 8093ab4: f7c0 fc56 bl 8054364 8093ab8: e029 b.n 8093b0e LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 8093aba: 4a33 ldr r2, [pc, #204] ; (8093b88 ) 8093abc: 216a movs r1, #106 ; 0x6a 8093abe: 20a0 movs r0, #160 ; 0xa0 8093ac0: f7c0 fc50 bl 8054364 LCD_DisplayStringC(160, LCD_LINE_7, "successful!"); 8093ac4: 4a31 ldr r2, [pc, #196] ; (8093b8c ) 8093ac6: 217a movs r1, #122 ; 0x7a 8093ac8: 20a0 movs r0, #160 ; 0xa0 8093aca: f7c0 fc4b bl 8054364 8093ace: e01e b.n 8093b0e if(pardata.LANG == RUS) 8093ad0: 4b1d ldr r3, [pc, #116] ; (8093b48 ) 8093ad2: 7b1b ldrb r3, [r3, #12] 8093ad4: b2db uxtb r3, r3 8093ad6: 2b00 cmp r3, #0 8093ad8: d10f bne.n 8093afa LCD_DisplayStringC(160, LCD_LINE_6, "Îøèáêà â"); 8093ada: 4a2d ldr r2, [pc, #180] ; (8093b90 ) 8093adc: 216a movs r1, #106 ; 0x6a 8093ade: 20a0 movs r0, #160 ; 0xa0 8093ae0: f7c0 fc40 bl 8054364 LCD_DisplayStringC(160, LCD_LINE_7, "ïðîöåññå"); 8093ae4: 4a2b ldr r2, [pc, #172] ; (8093b94 ) 8093ae6: 217a movs r1, #122 ; 0x7a 8093ae8: 20a0 movs r0, #160 ; 0xa0 8093aea: f7c0 fc3b bl 8054364 LCD_DisplayStringC(160, LCD_LINE_8, "óäàëåíèÿ..."); 8093aee: 4a2a ldr r2, [pc, #168] ; (8093b98 ) 8093af0: 218a movs r1, #138 ; 0x8a 8093af2: 20a0 movs r0, #160 ; 0xa0 8093af4: f7c0 fc36 bl 8054364 8093af8: e009 b.n 8093b0e LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 8093afa: 4a23 ldr r2, [pc, #140] ; (8093b88 ) 8093afc: 216a movs r1, #106 ; 0x6a 8093afe: 20a0 movs r0, #160 ; 0xa0 8093b00: f7c0 fc30 bl 8054364 LCD_DisplayStringC(160, LCD_LINE_7, "error!"); 8093b04: 4a25 ldr r2, [pc, #148] ; (8093b9c ) 8093b06: 217a movs r1, #122 ; 0x7a 8093b08: 20a0 movs r0, #160 ; 0xa0 8093b0a: f7c0 fc2b bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093b0e: 4916 ldr r1, [pc, #88] ; (8093b68 ) 8093b10: f04f 30ff mov.w r0, #4294967295 8093b14: f7bf fe66 bl 80537e4 LCD_DisplayStringC(160, 170, "Ok"); 8093b18: 4a21 ldr r2, [pc, #132] ; (8093ba0 ) 8093b1a: 21aa movs r1, #170 ; 0xaa 8093b1c: 20a0 movs r0, #160 ; 0xa0 8093b1e: f7c0 fc21 bl 8054364 break; 8093b22: f003 bd7a b.w 809761a if(menupos == UpNo) 8093b26: bf00 nop break; 8093b28: f003 bd77 b.w 809761a 8093b2c: ff0a0f1f .word 0xff0a0f1f 8093b30: 080ef4d8 .word 0x080ef4d8 8093b34: 20020dfc .word 0x20020dfc 8093b38: 20020de4 .word 0x20020de4 8093b3c: 42c00000 .word 0x42c00000 8093b40: ffd3d3d3 .word 0xffd3d3d3 8093b44: 20020070 .word 0x20020070 8093b48: 20023e60 .word 0x20023e60 8093b4c: 080d03cc .word 0x080d03cc 8093b50: 080d03d8 .word 0x080d03d8 8093b54: 080d03e0 .word 0x080d03e0 8093b58: 080d03ec .word 0x080d03ec 8093b5c: 080d0400 .word 0x080d0400 8093b60: 080d0414 .word 0x080d0414 8093b64: 080cf890 .word 0x080cf890 8093b68: ff606060 .word 0xff606060 8093b6c: 080ce6e0 .word 0x080ce6e0 8093b70: 080cfdfc .word 0x080cfdfc 8093b74: 080cfe00 .word 0x080cfe00 8093b78: 20020dd0 .word 0x20020dd0 8093b7c: 080d0420 .word 0x080d0420 8093b80: 080d042c .word 0x080d042c 8093b84: 080d0030 .word 0x080d0030 8093b88: 080d0438 .word 0x080d0438 8093b8c: 080d0444 .word 0x080d0444 8093b90: 080d0450 .word 0x080d0450 8093b94: 080d045c .word 0x080d045c 8093b98: 080d02d4 .word 0x080d02d4 8093b9c: 080d0468 .word 0x080d0468 8093ba0: 080cfedc .word 0x080cfedc case ARCHIVE_FRAN: LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8093ba4: 4941 ldr r1, [pc, #260] ; (8093cac ) 8093ba6: 4842 ldr r0, [pc, #264] ; (8093cb0 ) 8093ba8: f7bf fe1c bl 80537e4 BSP_LCD_DrawHLine(7, 52, 308); 8093bac: f44f 729a mov.w r2, #308 ; 0x134 8093bb0: 2134 movs r1, #52 ; 0x34 8093bb2: 2007 movs r0, #7 8093bb4: f7bf ff90 bl 8053ad8 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8093bb8: 493c ldr r1, [pc, #240] ; (8093cac ) 8093bba: 483e ldr r0, [pc, #248] ; (8093cb4 ) 8093bbc: f7bf fe12 bl 80537e4 if(pardata.LANG == RUS) 8093bc0: 4b3d ldr r3, [pc, #244] ; (8093cb8 ) 8093bc2: 7b1b ldrb r3, [r3, #12] 8093bc4: b2db uxtb r3, r3 8093bc6: 2b00 cmp r3, #0 8093bc8: d105 bne.n 8093bd6 LCD_DisplayString(7, LCD_LINE_2, "..|Îòêðûòü ôàéë"); 8093bca: 4a3c ldr r2, [pc, #240] ; (8093cbc ) 8093bcc: 2127 movs r1, #39 ; 0x27 8093bce: 2007 movs r0, #7 8093bd0: f7c0 fbb0 bl 8054334 8093bd4: e004 b.n 8093be0 else LCD_DisplayString(7, LCD_LINE_2, "..|Open file"); 8093bd6: 4a3a ldr r2, [pc, #232] ; (8093cc0 ) 8093bd8: 2127 movs r1, #39 ; 0x27 8093bda: 2007 movs r0, #7 8093bdc: f7c0 fbaa bl 8054334 if(pardata.LANG == RUS) 8093be0: 4b35 ldr r3, [pc, #212] ; (8093cb8 ) 8093be2: 7b1b ldrb r3, [r3, #12] 8093be4: b2db uxtb r3, r3 8093be6: 2b00 cmp r3, #0 8093be8: d105 bne.n 8093bf6 DrawImage(&bmLEGEND_CLEAN, 0, 65); 8093bea: 2241 movs r2, #65 ; 0x41 8093bec: 2100 movs r1, #0 8093bee: 4835 ldr r0, [pc, #212] ; (8093cc4 ) 8093bf0: f7c0 fcec bl 80545cc 8093bf4: e004 b.n 8093c00 else DrawImage(&bmLEGEND_CLEAN_ENG, 0, 65); 8093bf6: 2241 movs r2, #65 ; 0x41 8093bf8: 2100 movs r1, #0 8093bfa: 4833 ldr r0, [pc, #204] ; (8093cc8 ) 8093bfc: f7c0 fce6 bl 80545cc if(menupos == NoFilesFRAN) 8093c00: 4b32 ldr r3, [pc, #200] ; (8093ccc ) 8093c02: 781b ldrb r3, [r3, #0] 8093c04: b2db uxtb r3, r3 8093c06: 2b01 cmp r3, #1 8093c08: d117 bne.n 8093c3a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093c0a: 4928 ldr r1, [pc, #160] ; (8093cac ) 8093c0c: f04f 30ff mov.w r0, #4294967295 8093c10: f7bf fde8 bl 80537e4 if(pardata.LANG == RUS) 8093c14: 4b28 ldr r3, [pc, #160] ; (8093cb8 ) 8093c16: 7b1b ldrb r3, [r3, #12] 8093c18: b2db uxtb r3, r3 8093c1a: 2b00 cmp r3, #0 8093c1c: d106 bne.n 8093c2c LCD_DisplayStringC(160, LCD_LINE_8, "Ôàéëû îòñóòñòâóþò."); 8093c1e: 4a2c ldr r2, [pc, #176] ; (8093cd0 ) 8093c20: 218a movs r1, #138 ; 0x8a 8093c22: 20a0 movs r0, #160 ; 0xa0 8093c24: f7c0 fb9e bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); LCD_DisplayStringC(160, 170, "Ok"); } } } break; 8093c28: f003 bcf9 b.w 809761e else LCD_DisplayStringC(160, LCD_LINE_8, "No files..."); 8093c2c: 4a29 ldr r2, [pc, #164] ; (8093cd4 ) 8093c2e: 218a movs r1, #138 ; 0x8a 8093c30: 20a0 movs r0, #160 ; 0xa0 8093c32: f7c0 fb97 bl 8054364 break; 8093c36: f003 bcf2 b.w 809761e if((menupos == FilesFRAN) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) 8093c3a: 4b24 ldr r3, [pc, #144] ; (8093ccc ) 8093c3c: 781b ldrb r3, [r3, #0] 8093c3e: b2db uxtb r3, r3 8093c40: 2b02 cmp r3, #2 8093c42: d00f beq.n 8093c64 8093c44: 4b21 ldr r3, [pc, #132] ; (8093ccc ) 8093c46: 781b ldrb r3, [r3, #0] 8093c48: b2db uxtb r3, r3 8093c4a: 2b06 cmp r3, #6 8093c4c: d00a beq.n 8093c64 8093c4e: 4b1f ldr r3, [pc, #124] ; (8093ccc ) 8093c50: 781b ldrb r3, [r3, #0] 8093c52: b2db uxtb r3, r3 8093c54: 2b07 cmp r3, #7 8093c56: d005 beq.n 8093c64 8093c58: 4b1c ldr r3, [pc, #112] ; (8093ccc ) 8093c5a: 781b ldrb r3, [r3, #0] 8093c5c: b2db uxtb r3, r3 8093c5e: 2b0a cmp r3, #10 8093c60: f043 84dd bne.w 809761e BSP_LCD_SetFont(&Font12); 8093c64: 481c ldr r0, [pc, #112] ; (8093cd8 ) 8093c66: f7bf fdf9 bl 805385c for(i = 0; i < VIEW_FILES; i++) 8093c6a: 2300 movs r3, #0 8093c6c: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8093c70: e19c b.n 8093fac if(CursorIndex == i) 8093c72: 4b1a ldr r3, [pc, #104] ; (8093cdc ) 8093c74: 681a ldr r2, [r3, #0] 8093c76: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093c7a: 429a cmp r2, r3 8093c7c: d136 bne.n 8093cec LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8093c7e: 4918 ldr r1, [pc, #96] ; (8093ce0 ) 8093c80: 4817 ldr r0, [pc, #92] ; (8093ce0 ) 8093c82: f7bf fdaf bl 80537e4 BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 8093c86: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093c8a: 4a16 ldr r2, [pc, #88] ; (8093ce4 ) 8093c8c: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8093c90: 4b15 ldr r3, [pc, #84] ; (8093ce8 ) 8093c92: 681b ldr r3, [r3, #0] 8093c94: 88db ldrh r3, [r3, #6] 8093c96: f44f 729c mov.w r2, #312 ; 0x138 8093c9a: 2003 movs r0, #3 8093c9c: f7c0 fa30 bl 8054100 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_CURSOR); 8093ca0: 490f ldr r1, [pc, #60] ; (8093ce0 ) 8093ca2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8093ca6: f7bf fd9d bl 80537e4 8093caa: e024 b.n 8093cf6 8093cac: ff0a0f1f .word 0xff0a0f1f 8093cb0: ffd3d3d3 .word 0xffd3d3d3 8093cb4: ff808080 .word 0xff808080 8093cb8: 20023e60 .word 0x20023e60 8093cbc: 080d038c .word 0x080d038c 8093cc0: 080d039c .word 0x080d039c 8093cc4: 08117f80 .word 0x08117f80 8093cc8: 0811b18c .word 0x0811b18c 8093ccc: 20020070 .word 0x20020070 8093cd0: 080d03ac .word 0x080d03ac 8093cd4: 080d03c0 .word 0x080d03c0 8093cd8: 20020038 .word 0x20020038 8093cdc: 20020de0 .word 0x20020de0 8093ce0: ff606060 .word 0xff606060 8093ce4: 080ef4d8 .word 0x080ef4d8 8093ce8: 20025d24 .word 0x20025d24 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8093cec: 499e ldr r1, [pc, #632] ; (8093f68 ) 8093cee: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8093cf2: f7bf fd77 bl 80537e4 if(ExplorerFiles[i].fname[0] != 0) 8093cf6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8093cfa: 499c ldr r1, [pc, #624] ; (8093f6c ) 8093cfc: 4613 mov r3, r2 8093cfe: 00db lsls r3, r3, #3 8093d00: 1a9b subs r3, r3, r2 8093d02: 00db lsls r3, r3, #3 8093d04: 440b add r3, r1 8093d06: 330c adds r3, #12 8093d08: 781b ldrb r3, [r3, #0] 8093d0a: 2b00 cmp r3, #0 8093d0c: f000 8149 beq.w 8093fa2 BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8093d10: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093d14: 4a96 ldr r2, [pc, #600] ; (8093f70 ) 8093d16: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8093d1a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8093d1e: 4613 mov r3, r2 8093d20: 00db lsls r3, r3, #3 8093d22: 1a9b subs r3, r3, r2 8093d24: 00db lsls r3, r3, #3 8093d26: 3308 adds r3, #8 8093d28: 4a90 ldr r2, [pc, #576] ; (8093f6c ) 8093d2a: 4413 add r3, r2 8093d2c: 1d1a adds r2, r3, #4 8093d2e: 2303 movs r3, #3 8093d30: 2005 movs r0, #5 8093d32: f7bf fe1d bl 8053970 k = 0; 8093d36: 2300 movs r3, #0 8093d38: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 GetDateTimeFromUnix(&FatTime, ExplorerFiles[i].datetime); 8093d3c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8093d40: 498a ldr r1, [pc, #552] ; (8093f6c ) 8093d42: 4613 mov r3, r2 8093d44: 00db lsls r3, r3, #3 8093d46: 1a9b subs r3, r3, r2 8093d48: 00db lsls r3, r3, #3 8093d4a: 440b add r3, r1 8093d4c: 3308 adds r3, #8 8093d4e: 681a ldr r2, [r3, #0] 8093d50: f107 030c add.w r3, r7, #12 8093d54: 4611 mov r1, r2 8093d56: 4618 mov r0, r3 8093d58: f7d3 fc14 bl 8067584 str1[k++] = (FatTime.Date / 10) + 48; 8093d5c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093d60: 1c5a adds r2, r3, #1 8093d62: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093d66: f107 020c add.w r2, r7, #12 8093d6a: 7852 ldrb r2, [r2, #1] 8093d6c: 4981 ldr r1, [pc, #516] ; (8093f74 ) 8093d6e: fba1 1202 umull r1, r2, r1, r2 8093d72: 08d2 lsrs r2, r2, #3 8093d74: b2d2 uxtb r2, r2 8093d76: 3230 adds r2, #48 ; 0x30 8093d78: b2d1 uxtb r1, r2 8093d7a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093d7e: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Date % 10) + 48; 8093d80: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093d84: 1c53 adds r3, r2, #1 8093d86: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093d8a: f107 030c add.w r3, r7, #12 8093d8e: 7859 ldrb r1, [r3, #1] 8093d90: 4b78 ldr r3, [pc, #480] ; (8093f74 ) 8093d92: fba3 0301 umull r0, r3, r3, r1 8093d96: 08d8 lsrs r0, r3, #3 8093d98: 4603 mov r3, r0 8093d9a: 009b lsls r3, r3, #2 8093d9c: 4403 add r3, r0 8093d9e: 005b lsls r3, r3, #1 8093da0: 1acb subs r3, r1, r3 8093da2: b2db uxtb r3, r3 8093da4: 3330 adds r3, #48 ; 0x30 8093da6: b2d9 uxtb r1, r3 8093da8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093dac: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8093dae: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093db2: 1c5a adds r2, r3, #1 8093db4: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093db8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093dbc: 212e movs r1, #46 ; 0x2e 8093dbe: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month / 10) + 48; 8093dc0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093dc4: 1c5a adds r2, r3, #1 8093dc6: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093dca: f107 020c add.w r2, r7, #12 8093dce: 7812 ldrb r2, [r2, #0] 8093dd0: 4968 ldr r1, [pc, #416] ; (8093f74 ) 8093dd2: fba1 1202 umull r1, r2, r1, r2 8093dd6: 08d2 lsrs r2, r2, #3 8093dd8: b2d2 uxtb r2, r2 8093dda: 3230 adds r2, #48 ; 0x30 8093ddc: b2d1 uxtb r1, r2 8093dde: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093de2: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Month % 10) + 48; 8093de4: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093de8: 1c53 adds r3, r2, #1 8093dea: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093dee: f107 030c add.w r3, r7, #12 8093df2: 7819 ldrb r1, [r3, #0] 8093df4: 4b5f ldr r3, [pc, #380] ; (8093f74 ) 8093df6: fba3 0301 umull r0, r3, r3, r1 8093dfa: 08d8 lsrs r0, r3, #3 8093dfc: 4603 mov r3, r0 8093dfe: 009b lsls r3, r3, #2 8093e00: 4403 add r3, r0 8093e02: 005b lsls r3, r3, #1 8093e04: 1acb subs r3, r1, r3 8093e06: b2db uxtb r3, r3 8093e08: 3330 adds r3, #48 ; 0x30 8093e0a: b2d9 uxtb r1, r3 8093e0c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093e10: 5499 strb r1, [r3, r2] str1[k++] = '.'; 8093e12: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093e16: 1c5a adds r2, r3, #1 8093e18: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093e1c: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093e20: 212e movs r1, #46 ; 0x2e 8093e22: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year / 10) + 48; 8093e24: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093e28: 1c5a adds r2, r3, #1 8093e2a: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093e2e: f107 020c add.w r2, r7, #12 8093e32: 7892 ldrb r2, [r2, #2] 8093e34: 494f ldr r1, [pc, #316] ; (8093f74 ) 8093e36: fba1 1202 umull r1, r2, r1, r2 8093e3a: 08d2 lsrs r2, r2, #3 8093e3c: b2d2 uxtb r2, r2 8093e3e: 3230 adds r2, #48 ; 0x30 8093e40: b2d1 uxtb r1, r2 8093e42: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093e46: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Year % 10) + 48; 8093e48: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093e4c: 1c53 adds r3, r2, #1 8093e4e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093e52: f107 030c add.w r3, r7, #12 8093e56: 7899 ldrb r1, [r3, #2] 8093e58: 4b46 ldr r3, [pc, #280] ; (8093f74 ) 8093e5a: fba3 0301 umull r0, r3, r3, r1 8093e5e: 08d8 lsrs r0, r3, #3 8093e60: 4603 mov r3, r0 8093e62: 009b lsls r3, r3, #2 8093e64: 4403 add r3, r0 8093e66: 005b lsls r3, r3, #1 8093e68: 1acb subs r3, r1, r3 8093e6a: b2db uxtb r3, r3 8093e6c: 3330 adds r3, #48 ; 0x30 8093e6e: b2d9 uxtb r1, r3 8093e70: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093e74: 5499 strb r1, [r3, r2] str1[k++] = ' '; 8093e76: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093e7a: 1c5a adds r2, r3, #1 8093e7c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093e80: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093e84: 2120 movs r1, #32 8093e86: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours / 10) + 48; 8093e88: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093e8c: 1c5a adds r2, r3, #1 8093e8e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093e92: f107 020c add.w r2, r7, #12 8093e96: 78d2 ldrb r2, [r2, #3] 8093e98: 4936 ldr r1, [pc, #216] ; (8093f74 ) 8093e9a: fba1 1202 umull r1, r2, r1, r2 8093e9e: 08d2 lsrs r2, r2, #3 8093ea0: b2d2 uxtb r2, r2 8093ea2: 3230 adds r2, #48 ; 0x30 8093ea4: b2d1 uxtb r1, r2 8093ea6: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093eaa: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Hours % 10) + 48; 8093eac: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093eb0: 1c53 adds r3, r2, #1 8093eb2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093eb6: f107 030c add.w r3, r7, #12 8093eba: 78d9 ldrb r1, [r3, #3] 8093ebc: 4b2d ldr r3, [pc, #180] ; (8093f74 ) 8093ebe: fba3 0301 umull r0, r3, r3, r1 8093ec2: 08d8 lsrs r0, r3, #3 8093ec4: 4603 mov r3, r0 8093ec6: 009b lsls r3, r3, #2 8093ec8: 4403 add r3, r0 8093eca: 005b lsls r3, r3, #1 8093ecc: 1acb subs r3, r1, r3 8093ece: b2db uxtb r3, r3 8093ed0: 3330 adds r3, #48 ; 0x30 8093ed2: b2d9 uxtb r1, r3 8093ed4: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093ed8: 5499 strb r1, [r3, r2] str1[k++] = ':'; 8093eda: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093ede: 1c5a adds r2, r3, #1 8093ee0: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093ee4: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093ee8: 213a movs r1, #58 ; 0x3a 8093eea: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes / 10) + 48; 8093eec: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093ef0: 1c5a adds r2, r3, #1 8093ef2: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093ef6: f107 020c add.w r2, r7, #12 8093efa: 7912 ldrb r2, [r2, #4] 8093efc: 491d ldr r1, [pc, #116] ; (8093f74 ) 8093efe: fba1 1202 umull r1, r2, r1, r2 8093f02: 08d2 lsrs r2, r2, #3 8093f04: b2d2 uxtb r2, r2 8093f06: 3230 adds r2, #48 ; 0x30 8093f08: b2d1 uxtb r1, r2 8093f0a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093f0e: 54d1 strb r1, [r2, r3] str1[k++] = (FatTime.Minutes % 10) + 48; 8093f10: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8093f14: 1c53 adds r3, r2, #1 8093f16: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8093f1a: f107 030c add.w r3, r7, #12 8093f1e: 7919 ldrb r1, [r3, #4] 8093f20: 4b14 ldr r3, [pc, #80] ; (8093f74 ) 8093f22: fba3 0301 umull r0, r3, r3, r1 8093f26: 08d8 lsrs r0, r3, #3 8093f28: 4603 mov r3, r0 8093f2a: 009b lsls r3, r3, #2 8093f2c: 4403 add r3, r0 8093f2e: 005b lsls r3, r3, #1 8093f30: 1acb subs r3, r1, r3 8093f32: b2db uxtb r3, r3 8093f34: 3330 adds r3, #48 ; 0x30 8093f36: b2d9 uxtb r1, r3 8093f38: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8093f3c: 5499 strb r1, [r3, r2] str1[k++] = '\0'; 8093f3e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8093f42: 1c5a adds r2, r3, #1 8093f44: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8093f48: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093f4c: 2100 movs r1, #0 8093f4e: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 8093f50: 4b09 ldr r3, [pc, #36] ; (8093f78 ) 8093f52: 681a ldr r2, [r3, #0] 8093f54: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093f58: 429a cmp r2, r3 8093f5a: d111 bne.n 8093f80 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8093f5c: 4907 ldr r1, [pc, #28] ; (8093f7c ) 8093f5e: f04f 30ff mov.w r0, #4294967295 8093f62: f7bf fc3f bl 80537e4 8093f66: e010 b.n 8093f8a 8093f68: ff0a0f1f .word 0xff0a0f1f 8093f6c: 20022350 .word 0x20022350 8093f70: 080ef4d8 .word 0x080ef4d8 8093f74: cccccccd .word 0xcccccccd 8093f78: 20020de0 .word 0x20020de0 8093f7c: ff606060 .word 0xff606060 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8093f80: 49c2 ldr r1, [pc, #776] ; (809428c ) 8093f82: f04f 30ff mov.w r0, #4294967295 8093f86: f7bf fc2d bl 80537e4 BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 8093f8a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093f8e: 4ac0 ldr r2, [pc, #768] ; (8094290 ) 8093f90: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8093f94: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8093f98: 2302 movs r3, #2 8093f9a: f44f 709c mov.w r0, #312 ; 0x138 8093f9e: f7bf fce7 bl 8053970 for(i = 0; i < VIEW_FILES; i++) 8093fa2: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093fa6: 3301 adds r3, #1 8093fa8: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8093fac: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8093fb0: 2b0b cmp r3, #11 8093fb2: f67f ae5e bls.w 8093c72 if(NumFilesFRAN > VIEW_FILES) 8093fb6: 4bb7 ldr r3, [pc, #732] ; (8094294 ) 8093fb8: 681b ldr r3, [r3, #0] 8093fba: 2b0c cmp r3, #12 8093fbc: d95f bls.n 809407e k = (140 * VIEW_FILES) / NumFilesFRAN; //äëèíà ïîëçóíêà 8093fbe: 4bb5 ldr r3, [pc, #724] ; (8094294 ) 8093fc0: 681b ldr r3, [r3, #0] 8093fc2: f44f 62d2 mov.w r2, #1680 ; 0x690 8093fc6: fbb2 f3f3 udiv r3, r2, r3 8093fca: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8093fce: 4bb2 ldr r3, [pc, #712] ; (8094298 ) 8093fd0: 681b ldr r3, [r3, #0] 8093fd2: 228c movs r2, #140 ; 0x8c 8093fd4: fb02 f303 mul.w r3, r2, r3 8093fd8: ee07 3a90 vmov s15, r3 8093fdc: eef8 7a67 vcvt.f32.u32 s15, s15 8093fe0: f507 638b add.w r3, r7, #1112 ; 0x458 8093fe4: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesFRAN) + 96.0f; 8093fe8: 4baa ldr r3, [pc, #680] ; (8094294 ) 8093fea: 681b ldr r3, [r3, #0] 8093fec: ee07 3a90 vmov s15, r3 8093ff0: eeb8 7a67 vcvt.f32.u32 s14, s15 8093ff4: f507 638b add.w r3, r7, #1112 ; 0x458 8093ff8: edd3 6a00 vldr s13, [r3] 8093ffc: eec6 7a87 vdiv.f32 s15, s13, s14 8094000: ed9f 7aa6 vldr s14, [pc, #664] ; 809429c 8094004: ee77 7a87 vadd.f32 s15, s15, s14 8094008: f507 638b add.w r3, r7, #1112 ; 0x458 809400c: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 8094010: f507 638b add.w r3, r7, #1112 ; 0x458 8094014: edd3 7a00 vldr s15, [r3] 8094018: eefc 7ae7 vcvt.u32.f32 s15, s15 809401c: edc7 7a01 vstr s15, [r7, #4] 8094020: 88bb ldrh r3, [r7, #4] 8094022: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 8094026: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809402a: b29a uxth r2, r3 809402c: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8094030: 4413 add r3, r2 8094032: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 8094036: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 809403a: 2bec cmp r3, #236 ; 0xec 809403c: d905 bls.n 809404a k = 236 - y0; 809403e: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8094042: f1c3 03ec rsb r3, r3, #236 ; 0xec 8094046: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809404a: 4990 ldr r1, [pc, #576] ; (809428c ) 809404c: 4894 ldr r0, [pc, #592] ; (80942a0 ) 809404e: f7bf fbc9 bl 80537e4 BSP_LCD_DrawRect(314, 94, 5, 143); 8094052: 238f movs r3, #143 ; 0x8f 8094054: 2205 movs r2, #5 8094056: 215e movs r1, #94 ; 0x5e 8094058: f44f 709d mov.w r0, #314 ; 0x13a 809405c: f7bf fec8 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094060: 498a ldr r1, [pc, #552] ; (809428c ) 8094062: f04f 30ff mov.w r0, #4294967295 8094066: f7bf fbbd bl 80537e4 BSP_LCD_FillRect(316, y0, 2, k); 809406a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809406e: b29b uxth r3, r3 8094070: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8094074: 2202 movs r2, #2 8094076: f44f 709e mov.w r0, #316 ; 0x13c 809407a: f7c0 f841 bl 8054100 if((menupos != NoFilesFRAN) && (menupos != FilesFRAN)) 809407e: 4b89 ldr r3, [pc, #548] ; (80942a4 ) 8094080: 781b ldrb r3, [r3, #0] 8094082: b2db uxtb r3, r3 8094084: 2b01 cmp r3, #1 8094086: f003 82ca beq.w 809761e 809408a: 4b86 ldr r3, [pc, #536] ; (80942a4 ) 809408c: 781b ldrb r3, [r3, #0] 809408e: b2db uxtb r3, r3 8094090: 2b02 cmp r3, #2 8094092: f003 82c4 beq.w 809761e LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8094096: 497d ldr r1, [pc, #500] ; (809428c ) 8094098: 4881 ldr r0, [pc, #516] ; (80942a0 ) 809409a: f7bf fba3 bl 80537e4 BSP_LCD_FillRect(60, 73, 200, 124); 809409e: 237c movs r3, #124 ; 0x7c 80940a0: 22c8 movs r2, #200 ; 0xc8 80940a2: 2149 movs r1, #73 ; 0x49 80940a4: 203c movs r0, #60 ; 0x3c 80940a6: f7c0 f82b bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80940aa: 4978 ldr r1, [pc, #480] ; (809428c ) 80940ac: 4877 ldr r0, [pc, #476] ; (809428c ) 80940ae: f7bf fb99 bl 80537e4 BSP_LCD_FillRect(61, 74, 198, 122); 80940b2: 237a movs r3, #122 ; 0x7a 80940b4: 22c6 movs r2, #198 ; 0xc6 80940b6: 214a movs r1, #74 ; 0x4a 80940b8: 203d movs r0, #61 ; 0x3d 80940ba: f7c0 f821 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80940be: 4973 ldr r1, [pc, #460] ; (809428c ) 80940c0: f04f 30ff mov.w r0, #4294967295 80940c4: f7bf fb8e bl 80537e4 if((menupos == UpNo) || (menupos == UpYes)) 80940c8: 4b76 ldr r3, [pc, #472] ; (80942a4 ) 80940ca: 781b ldrb r3, [r3, #0] 80940cc: b2db uxtb r3, r3 80940ce: 2b06 cmp r3, #6 80940d0: d004 beq.n 80940dc 80940d2: 4b74 ldr r3, [pc, #464] ; (80942a4 ) 80940d4: 781b ldrb r3, [r3, #0] 80940d6: b2db uxtb r3, r3 80940d8: 2b07 cmp r3, #7 80940da: d172 bne.n 80941c2 if(pardata.LANG == RUS) 80940dc: 4b72 ldr r3, [pc, #456] ; (80942a8 ) 80940de: 7b1b ldrb r3, [r3, #12] 80940e0: b2db uxtb r3, r3 80940e2: 2b00 cmp r3, #0 80940e4: d10f bne.n 8094106 LCD_DisplayStringC(160, LCD_LINE_6, "Ôàéë áóäåò"); 80940e6: 4a71 ldr r2, [pc, #452] ; (80942ac ) 80940e8: 216a movs r1, #106 ; 0x6a 80940ea: 20a0 movs r0, #160 ; 0xa0 80940ec: f7c0 f93a bl 8054364 LCD_DisplayStringC(160, LCD_LINE_7, "óäàëåí."); 80940f0: 4a6f ldr r2, [pc, #444] ; (80942b0 ) 80940f2: 217a movs r1, #122 ; 0x7a 80940f4: 20a0 movs r0, #160 ; 0xa0 80940f6: f7c0 f935 bl 8054364 LCD_DisplayStringC(160, LCD_LINE_8, "Ïðîäîëæèòü?"); 80940fa: 4a6e ldr r2, [pc, #440] ; (80942b4 ) 80940fc: 218a movs r1, #138 ; 0x8a 80940fe: 20a0 movs r0, #160 ; 0xa0 8094100: f7c0 f930 bl 8054364 8094104: e00e b.n 8094124 LCD_DisplayStringC(160, LCD_LINE_6, "The selected file"); 8094106: 4a6c ldr r2, [pc, #432] ; (80942b8 ) 8094108: 216a movs r1, #106 ; 0x6a 809410a: 20a0 movs r0, #160 ; 0xa0 809410c: f7c0 f92a bl 8054364 LCD_DisplayStringC(160, LCD_LINE_7, "will be deleted."); 8094110: 4a6a ldr r2, [pc, #424] ; (80942bc ) 8094112: 217a movs r1, #122 ; 0x7a 8094114: 20a0 movs r0, #160 ; 0xa0 8094116: f7c0 f925 bl 8054364 LCD_DisplayStringC(160, LCD_LINE_8, "Continue?"); 809411a: 4a69 ldr r2, [pc, #420] ; (80942c0 ) 809411c: 218a movs r1, #138 ; 0x8a 809411e: 20a0 movs r0, #160 ; 0xa0 8094120: f7c0 f920 bl 8054364 if(menupos == UpNo) 8094124: 4b5f ldr r3, [pc, #380] ; (80942a4 ) 8094126: 781b ldrb r3, [r3, #0] 8094128: b2db uxtb r3, r3 809412a: 2b06 cmp r3, #6 809412c: d124 bne.n 8094178 if(pardata.LANG == RUS) 809412e: 4b5e ldr r3, [pc, #376] ; (80942a8 ) 8094130: 7b1b ldrb r3, [r3, #12] 8094132: b2db uxtb r3, r3 8094134: 2b00 cmp r3, #0 8094136: d10f bne.n 8094158 LCD_DisplayString(210, 170, "Äà"); 8094138: 4a62 ldr r2, [pc, #392] ; (80942c4 ) 809413a: 21aa movs r1, #170 ; 0xaa 809413c: 20d2 movs r0, #210 ; 0xd2 809413e: f7c0 f8f9 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094142: 4961 ldr r1, [pc, #388] ; (80942c8 ) 8094144: f04f 30ff mov.w r0, #4294967295 8094148: f7bf fb4c bl 80537e4 LCD_DisplayString(70, 170, "Íåò"); 809414c: 4a5f ldr r2, [pc, #380] ; (80942cc ) 809414e: 21aa movs r1, #170 ; 0xaa 8094150: 2046 movs r0, #70 ; 0x46 8094152: f7c0 f8ef bl 8054334 if(menupos == UpNo) 8094156: e08a b.n 809426e LCD_DisplayString(210, 170, "Yes"); 8094158: 4a5d ldr r2, [pc, #372] ; (80942d0 ) 809415a: 21aa movs r1, #170 ; 0xaa 809415c: 20d2 movs r0, #210 ; 0xd2 809415e: f7c0 f8e9 bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094162: 4959 ldr r1, [pc, #356] ; (80942c8 ) 8094164: f04f 30ff mov.w r0, #4294967295 8094168: f7bf fb3c bl 80537e4 LCD_DisplayString(70, 170, "No"); 809416c: 4a59 ldr r2, [pc, #356] ; (80942d4 ) 809416e: 21aa movs r1, #170 ; 0xaa 8094170: 2046 movs r0, #70 ; 0x46 8094172: f7c0 f8df bl 8054334 if(menupos == UpNo) 8094176: e07a b.n 809426e if(menupos == UpYes) 8094178: 4b4a ldr r3, [pc, #296] ; (80942a4 ) 809417a: 781b ldrb r3, [r3, #0] 809417c: b2db uxtb r3, r3 809417e: 2b07 cmp r3, #7 8094180: d175 bne.n 809426e if(pardata.LANG == RUS) 8094182: 4b49 ldr r3, [pc, #292] ; (80942a8 ) 8094184: 7b1b ldrb r3, [r3, #12] 8094186: b2db uxtb r3, r3 8094188: 2b00 cmp r3, #0 809418a: d10f bne.n 80941ac LCD_DisplayString(70, 170, "Íåò"); 809418c: 4a4f ldr r2, [pc, #316] ; (80942cc ) 809418e: 21aa movs r1, #170 ; 0xaa 8094190: 2046 movs r0, #70 ; 0x46 8094192: f7c0 f8cf bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094196: 494c ldr r1, [pc, #304] ; (80942c8 ) 8094198: f04f 30ff mov.w r0, #4294967295 809419c: f7bf fb22 bl 80537e4 LCD_DisplayString(210, 170, "Äà"); 80941a0: 4a48 ldr r2, [pc, #288] ; (80942c4 ) 80941a2: 21aa movs r1, #170 ; 0xaa 80941a4: 20d2 movs r0, #210 ; 0xd2 80941a6: f7c0 f8c5 bl 8054334 if(menupos == UpNo) 80941aa: e060 b.n 809426e LCD_DisplayString(70, 170, "No"); 80941ac: 4a49 ldr r2, [pc, #292] ; (80942d4 ) 80941ae: 21aa movs r1, #170 ; 0xaa 80941b0: 2046 movs r0, #70 ; 0x46 80941b2: f7c0 f8bf bl 8054334 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80941b6: 4944 ldr r1, [pc, #272] ; (80942c8 ) 80941b8: f04f 30ff mov.w r0, #4294967295 80941bc: f7bf fb12 bl 80537e4 if(menupos == UpNo) 80941c0: e055 b.n 809426e if(menupos == CleanUpResult) 80941c2: 4b38 ldr r3, [pc, #224] ; (80942a4 ) 80941c4: 781b ldrb r3, [r3, #0] 80941c6: b2db uxtb r3, r3 80941c8: 2b0a cmp r3, #10 80941ca: f043 8228 bne.w 809761e if(CleanStatus == AP_OK) 80941ce: 4b42 ldr r3, [pc, #264] ; (80942d8 ) 80941d0: 781b ldrb r3, [r3, #0] 80941d2: b2db uxtb r3, r3 80941d4: 2b00 cmp r3, #0 80941d6: d11f bne.n 8094218 if(pardata.LANG == RUS) 80941d8: 4b33 ldr r3, [pc, #204] ; (80942a8 ) 80941da: 7b1b ldrb r3, [r3, #12] 80941dc: b2db uxtb r3, r3 80941de: 2b00 cmp r3, #0 80941e0: d10f bne.n 8094202 LCD_DisplayStringC(160, LCD_LINE_6, "Óäàëåíèå"); 80941e2: 4a3e ldr r2, [pc, #248] ; (80942dc ) 80941e4: 216a movs r1, #106 ; 0x6a 80941e6: 20a0 movs r0, #160 ; 0xa0 80941e8: f7c0 f8bc bl 8054364 LCD_DisplayStringC(160, LCD_LINE_7, "çàâåðøåíî"); 80941ec: 4a3c ldr r2, [pc, #240] ; (80942e0 ) 80941ee: 217a movs r1, #122 ; 0x7a 80941f0: 20a0 movs r0, #160 ; 0xa0 80941f2: f7c0 f8b7 bl 8054364 LCD_DisplayStringC(160, LCD_LINE_8, "óñïåøíî!"); 80941f6: 4a3b ldr r2, [pc, #236] ; (80942e4 ) 80941f8: 218a movs r1, #138 ; 0x8a 80941fa: 20a0 movs r0, #160 ; 0xa0 80941fc: f7c0 f8b2 bl 8054364 8094200: e029 b.n 8094256 LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 8094202: 4a39 ldr r2, [pc, #228] ; (80942e8 ) 8094204: 216a movs r1, #106 ; 0x6a 8094206: 20a0 movs r0, #160 ; 0xa0 8094208: f7c0 f8ac bl 8054364 LCD_DisplayStringC(160, LCD_LINE_7, "successful!"); 809420c: 4a37 ldr r2, [pc, #220] ; (80942ec ) 809420e: 217a movs r1, #122 ; 0x7a 8094210: 20a0 movs r0, #160 ; 0xa0 8094212: f7c0 f8a7 bl 8054364 8094216: e01e b.n 8094256 if(pardata.LANG == RUS) 8094218: 4b23 ldr r3, [pc, #140] ; (80942a8 ) 809421a: 7b1b ldrb r3, [r3, #12] 809421c: b2db uxtb r3, r3 809421e: 2b00 cmp r3, #0 8094220: d10f bne.n 8094242 LCD_DisplayStringC(160, LCD_LINE_6, "Îøèáêà â"); 8094222: 4a33 ldr r2, [pc, #204] ; (80942f0 ) 8094224: 216a movs r1, #106 ; 0x6a 8094226: 20a0 movs r0, #160 ; 0xa0 8094228: f7c0 f89c bl 8054364 LCD_DisplayStringC(160, LCD_LINE_7, "ïðîöåññå"); 809422c: 4a31 ldr r2, [pc, #196] ; (80942f4 ) 809422e: 217a movs r1, #122 ; 0x7a 8094230: 20a0 movs r0, #160 ; 0xa0 8094232: f7c0 f897 bl 8054364 LCD_DisplayStringC(160, LCD_LINE_8, "óäàëåíèÿ..."); 8094236: 4a30 ldr r2, [pc, #192] ; (80942f8 ) 8094238: 218a movs r1, #138 ; 0x8a 809423a: 20a0 movs r0, #160 ; 0xa0 809423c: f7c0 f892 bl 8054364 8094240: e009 b.n 8094256 LCD_DisplayStringC(160, LCD_LINE_6, "Deleting"); 8094242: 4a29 ldr r2, [pc, #164] ; (80942e8 ) 8094244: 216a movs r1, #106 ; 0x6a 8094246: 20a0 movs r0, #160 ; 0xa0 8094248: f7c0 f88c bl 8054364 LCD_DisplayStringC(160, LCD_LINE_7, "error!"); 809424c: 4a2b ldr r2, [pc, #172] ; (80942fc ) 809424e: 217a movs r1, #122 ; 0x7a 8094250: 20a0 movs r0, #160 ; 0xa0 8094252: f7c0 f887 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8094256: 491c ldr r1, [pc, #112] ; (80942c8 ) 8094258: f04f 30ff mov.w r0, #4294967295 809425c: f7bf fac2 bl 80537e4 LCD_DisplayStringC(160, 170, "Ok"); 8094260: 4a27 ldr r2, [pc, #156] ; (8094300 ) 8094262: 21aa movs r1, #170 ; 0xaa 8094264: 20a0 movs r0, #160 ; 0xa0 8094266: f7c0 f87d bl 8054364 break; 809426a: f003 b9d8 b.w 809761e if(menupos == UpNo) 809426e: bf00 nop break; 8094270: f003 b9d5 b.w 809761e case ARCHIVE_WAVE: if(pardata.LANG == RUS) 8094274: 4b0c ldr r3, [pc, #48] ; (80942a8 ) 8094276: 7b1b ldrb r3, [r3, #12] 8094278: b2db uxtb r3, r3 809427a: 2b00 cmp r3, #0 809427c: d144 bne.n 8094308 DrawImage(&bmLEGEND_GTR_RUS, 0, 45); 809427e: 222d movs r2, #45 ; 0x2d 8094280: 2100 movs r1, #0 8094282: 4820 ldr r0, [pc, #128] ; (8094304 ) 8094284: f7c0 f9a2 bl 80545cc 8094288: e043 b.n 8094312 809428a: bf00 nop 809428c: ff0a0f1f .word 0xff0a0f1f 8094290: 080ef4d8 .word 0x080ef4d8 8094294: 20020e00 .word 0x20020e00 8094298: 20020de4 .word 0x20020de4 809429c: 42c00000 .word 0x42c00000 80942a0: ffd3d3d3 .word 0xffd3d3d3 80942a4: 20020070 .word 0x20020070 80942a8: 20023e60 .word 0x20023e60 80942ac: 080d03cc .word 0x080d03cc 80942b0: 080d03d8 .word 0x080d03d8 80942b4: 080d03e0 .word 0x080d03e0 80942b8: 080d03ec .word 0x080d03ec 80942bc: 080d0400 .word 0x080d0400 80942c0: 080d0414 .word 0x080d0414 80942c4: 080cf890 .word 0x080cf890 80942c8: ff606060 .word 0xff606060 80942cc: 080ce6e0 .word 0x080ce6e0 80942d0: 080cfdfc .word 0x080cfdfc 80942d4: 080cfe00 .word 0x080cfe00 80942d8: 20020dd0 .word 0x20020dd0 80942dc: 080d0420 .word 0x080d0420 80942e0: 080d042c .word 0x080d042c 80942e4: 080d0030 .word 0x080d0030 80942e8: 080d0438 .word 0x080d0438 80942ec: 080d0444 .word 0x080d0444 80942f0: 080d0450 .word 0x080d0450 80942f4: 080d045c .word 0x080d045c 80942f8: 080d02d4 .word 0x080d02d4 80942fc: 080d0468 .word 0x080d0468 8094300: 080cfedc .word 0x080cfedc 8094304: 081247a4 .word 0x081247a4 else DrawImage(&bmLEGEND_GTR_ENG, 0, 45); 8094308: 222d movs r2, #45 ; 0x2d 809430a: 2100 movs r1, #0 809430c: 48c3 ldr r0, [pc, #780] ; (809461c ) 809430e: f7c0 f95d bl 80545cc if(menupos == NoFilesGTR) 8094312: 4bc3 ldr r3, [pc, #780] ; (8094620 ) 8094314: 781b ldrb r3, [r3, #0] 8094316: b2db uxtb r3, r3 8094318: 2b01 cmp r3, #1 809431a: d11c bne.n 8094356 { BSP_LCD_SetFont(&Font12); 809431c: 48c1 ldr r0, [pc, #772] ; (8094624 ) 809431e: f7bf fa9d bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8094322: 49c1 ldr r1, [pc, #772] ; (8094628 ) 8094324: f04f 30ff mov.w r0, #4294967295 8094328: f7bf fa5c bl 80537e4 if(pardata.LANG == RUS) 809432c: 4bbf ldr r3, [pc, #764] ; (809462c ) 809432e: 7b1b ldrb r3, [r3, #12] 8094330: b2db uxtb r3, r3 8094332: 2b00 cmp r3, #0 8094334: d107 bne.n 8094346 BSP_LCD_DisplayStringAt(160, 111+15, "Ôàéëû îòñóòñòâóþò...", CENTER_MODE); 8094336: 2301 movs r3, #1 8094338: 4abd ldr r2, [pc, #756] ; (8094630 ) 809433a: 217e movs r1, #126 ; 0x7e 809433c: 20a0 movs r0, #160 ; 0xa0 809433e: f7bf fb17 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 8094342: f003 b96e b.w 8097622 else BSP_LCD_DisplayStringAt(160, 111+15, "No files...", CENTER_MODE); 8094346: 2301 movs r3, #1 8094348: 4aba ldr r2, [pc, #744] ; (8094634 ) 809434a: 217e movs r1, #126 ; 0x7e 809434c: 20a0 movs r0, #160 ; 0xa0 809434e: f7bf fb0f bl 8053970 break; 8094352: f003 b966 b.w 8097622 if((menupos == FilesGTR) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) // 8094356: 4bb2 ldr r3, [pc, #712] ; (8094620 ) 8094358: 781b ldrb r3, [r3, #0] 809435a: b2db uxtb r3, r3 809435c: 2b02 cmp r3, #2 809435e: d00f beq.n 8094380 8094360: 4baf ldr r3, [pc, #700] ; (8094620 ) 8094362: 781b ldrb r3, [r3, #0] 8094364: b2db uxtb r3, r3 8094366: 2b06 cmp r3, #6 8094368: d00a beq.n 8094380 809436a: 4bad ldr r3, [pc, #692] ; (8094620 ) 809436c: 781b ldrb r3, [r3, #0] 809436e: b2db uxtb r3, r3 8094370: 2b07 cmp r3, #7 8094372: d005 beq.n 8094380 8094374: 4baa ldr r3, [pc, #680] ; (8094620 ) 8094376: 781b ldrb r3, [r3, #0] 8094378: b2db uxtb r3, r3 809437a: 2b0a cmp r3, #10 809437c: f043 8151 bne.w 8097622 BSP_LCD_SetFont(&Font12); 8094380: 48a8 ldr r0, [pc, #672] ; (8094624 ) 8094382: f7bf fa6b bl 805385c for(i = 0; i < VIEW_FILES; i++) 8094386: 2300 movs r3, #0 8094388: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 809438c: f000 bffe b.w 809538c if(CursorIndex == i) 8094390: 4ba9 ldr r3, [pc, #676] ; (8094638 ) 8094392: 681a ldr r2, [r3, #0] 8094394: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094398: 429a cmp r2, r3 809439a: d119 bne.n 80943d0 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 809439c: 49a7 ldr r1, [pc, #668] ; (809463c ) 809439e: 48a7 ldr r0, [pc, #668] ; (809463c ) 80943a0: f7bf fa20 bl 80537e4 BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 80943a4: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 80943a8: 4aa5 ldr r2, [pc, #660] ; (8094640 ) 80943aa: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 80943ae: 4ba5 ldr r3, [pc, #660] ; (8094644 ) 80943b0: 681b ldr r3, [r3, #0] 80943b2: 88db ldrh r3, [r3, #6] 80943b4: f44f 729c mov.w r2, #312 ; 0x138 80943b8: 2003 movs r0, #3 80943ba: f7bf fea1 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80943be: 499f ldr r1, [pc, #636] ; (809463c ) 80943c0: f04f 30ff mov.w r0, #4294967295 80943c4: f7bf fa0e bl 80537e4 j = LCD_COLOR_CURSOR; 80943c8: 4b9c ldr r3, [pc, #624] ; (809463c ) 80943ca: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 80943ce: e007 b.n 80943e0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80943d0: 4995 ldr r1, [pc, #596] ; (8094628 ) 80943d2: f04f 30ff mov.w r0, #4294967295 80943d6: f7bf fa05 bl 80537e4 j = LCD_COLOR_BLACK; 80943da: 4b93 ldr r3, [pc, #588] ; (8094628 ) 80943dc: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc if(ExplorerFiles[i].fname[0] != 0) 80943e0: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80943e4: 4998 ldr r1, [pc, #608] ; (8094648 ) 80943e6: 4613 mov r3, r2 80943e8: 00db lsls r3, r3, #3 80943ea: 1a9b subs r3, r3, r2 80943ec: 00db lsls r3, r3, #3 80943ee: 440b add r3, r1 80943f0: 330c adds r3, #12 80943f2: 781b ldrb r3, [r3, #0] 80943f4: 2b00 cmp r3, #0 80943f6: f000 87c4 beq.w 8095382 if(NumFilesDelete != 0) 80943fa: 4b94 ldr r3, [pc, #592] ; (809464c ) 80943fc: 681b ldr r3, [r3, #0] 80943fe: 2b00 cmp r3, #0 8094400: d02e beq.n 8094460 for(k = 0; k < MAX_CHECKED_FILES; k++) 8094402: 2300 movs r3, #0 8094404: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094408: e025 b.n 8094456 if(strcmp(ExplorerFiles[i].fname, &StrRAM(k, 0)) == 0) 809440a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 809440e: 4613 mov r3, r2 8094410: 00db lsls r3, r3, #3 8094412: 1a9b subs r3, r3, r2 8094414: 00db lsls r3, r3, #3 8094416: 3308 adds r3, #8 8094418: 4a8b ldr r2, [pc, #556] ; (8094648 ) 809441a: 4413 add r3, r2 809441c: 1d18 adds r0, r3, #4 809441e: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 8094422: 4613 mov r3, r2 8094424: 009b lsls r3, r3, #2 8094426: 4413 add r3, r2 8094428: 00db lsls r3, r3, #3 809442a: 461a mov r2, r3 809442c: 4b88 ldr r3, [pc, #544] ; (8094650 ) 809442e: 4413 add r3, r2 8094430: 4619 mov r1, r3 8094432: f78b ff65 bl 8020300 8094436: 4603 mov r3, r0 8094438: 2b00 cmp r3, #0 809443a: d107 bne.n 809444c LCD_SetColors(LCD_COLOR_GREEN, j); 809443c: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8094440: 4619 mov r1, r3 8094442: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8094446: f7bf f9cd bl 80537e4 break; 809444a: e009 b.n 8094460 for(k = 0; k < MAX_CHECKED_FILES; k++) 809444c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094450: 3301 adds r3, #1 8094452: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094456: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809445a: f5b3 7f00 cmp.w r3, #512 ; 0x200 809445e: d3d4 bcc.n 809440a BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8094460: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8094464: 4a76 ldr r2, [pc, #472] ; (8094640 ) 8094466: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809446a: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 809446e: 4613 mov r3, r2 8094470: 00db lsls r3, r3, #3 8094472: 1a9b subs r3, r3, r2 8094474: 00db lsls r3, r3, #3 8094476: 3308 adds r3, #8 8094478: 4a73 ldr r2, [pc, #460] ; (8094648 ) 809447a: 4413 add r3, r2 809447c: 1d1a adds r2, r3, #4 809447e: 2303 movs r3, #3 8094480: 2005 movs r0, #5 8094482: f7bf fa75 bl 8053970 k = 0; 8094486: 2300 movs r3, #0 8094488: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 Size = ExplorerFiles[i].size; 809448c: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8094490: 496d ldr r1, [pc, #436] ; (8094648 ) 8094492: 4613 mov r3, r2 8094494: 00db lsls r3, r3, #3 8094496: 1a9b subs r3, r3, r2 8094498: 00db lsls r3, r3, #3 809449a: 440b add r3, r1 809449c: e9d3 2300 ldrd r2, r3, [r3] 80944a0: f507 717a add.w r1, r7, #1000 ; 0x3e8 80944a4: e9c1 2300 strd r2, r3, [r1] if(Size < 1024) // If size below 1KB 80944a8: f507 737a add.w r3, r7, #1000 ; 0x3e8 80944ac: e9d3 2300 ldrd r2, r3, [r3] 80944b0: f240 30ff movw r0, #1023 ; 0x3ff 80944b4: f04f 0100 mov.w r1, #0 80944b8: 4299 cmp r1, r3 80944ba: bf08 it eq 80944bc: 4290 cmpeq r0, r2 80944be: f0c0 815f bcc.w 8094780 if(Size < 10) 80944c2: f507 737a add.w r3, r7, #1000 ; 0x3e8 80944c6: e9d3 2300 ldrd r2, r3, [r3] 80944ca: 2b00 cmp r3, #0 80944cc: bf08 it eq 80944ce: 2a0a cmpeq r2, #10 80944d0: d20e bcs.n 80944f0 str1[k++] = Size + 48; 80944d2: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80944d6: 1c5a adds r2, r3, #1 80944d8: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80944dc: f507 727a add.w r2, r7, #1000 ; 0x3e8 80944e0: ca06 ldmia r2, {r1, r2} 80944e2: b2ca uxtb r2, r1 80944e4: 3230 adds r2, #48 ; 0x30 80944e6: b2d1 uxtb r1, r2 80944e8: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80944ec: 54d1 strb r1, [r2, r3] 80944ee: e133 b.n 8094758 if(Size < 100) 80944f0: f507 737a add.w r3, r7, #1000 ; 0x3e8 80944f4: e9d3 2300 ldrd r2, r3, [r3] 80944f8: 2b00 cmp r3, #0 80944fa: bf08 it eq 80944fc: 2a64 cmpeq r2, #100 ; 0x64 80944fe: d22c bcs.n 809455a str1[k++] = (Size / 10) + 48; 8094500: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094504: 1c73 adds r3, r6, #1 8094506: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809450a: f507 737a add.w r3, r7, #1000 ; 0x3e8 809450e: e9d3 0100 ldrd r0, r1, [r3] 8094512: f04f 020a mov.w r2, #10 8094516: f04f 0300 mov.w r3, #0 809451a: f78c f867 bl 80205ec <__aeabi_uldivmod> 809451e: 4602 mov r2, r0 8094520: 460b mov r3, r1 8094522: b2d3 uxtb r3, r2 8094524: 3330 adds r3, #48 ; 0x30 8094526: b2da uxtb r2, r3 8094528: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809452c: 559a strb r2, [r3, r6] str1[k++] = (Size % 10) + 48; 809452e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094532: 1c73 adds r3, r6, #1 8094534: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094538: f507 737a add.w r3, r7, #1000 ; 0x3e8 809453c: e9d3 0100 ldrd r0, r1, [r3] 8094540: f04f 020a mov.w r2, #10 8094544: f04f 0300 mov.w r3, #0 8094548: f78c f850 bl 80205ec <__aeabi_uldivmod> 809454c: b2d3 uxtb r3, r2 809454e: 3330 adds r3, #48 ; 0x30 8094550: b2da uxtb r2, r3 8094552: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094556: 559a strb r2, [r3, r6] 8094558: e0fe b.n 8094758 if(Size < 1000) 809455a: f507 737a add.w r3, r7, #1000 ; 0x3e8 809455e: e9d3 2300 ldrd r2, r3, [r3] 8094562: f240 30e7 movw r0, #999 ; 0x3e7 8094566: f04f 0100 mov.w r1, #0 809456a: 4299 cmp r1, r3 809456c: bf08 it eq 809456e: 4290 cmpeq r0, r2 8094570: d370 bcc.n 8094654 str1[k++] = (Size / 100) + 48; 8094572: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094576: 1c73 adds r3, r6, #1 8094578: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809457c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094580: e9d3 0100 ldrd r0, r1, [r3] 8094584: f04f 0264 mov.w r2, #100 ; 0x64 8094588: f04f 0300 mov.w r3, #0 809458c: f78c f82e bl 80205ec <__aeabi_uldivmod> 8094590: 4602 mov r2, r0 8094592: 460b mov r3, r1 8094594: b2d3 uxtb r3, r2 8094596: 3330 adds r3, #48 ; 0x30 8094598: b2da uxtb r2, r3 809459a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809459e: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 / 10) + 48; 80945a0: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80945a4: 1c73 adds r3, r6, #1 80945a6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80945aa: f507 737a add.w r3, r7, #1000 ; 0x3e8 80945ae: e9d3 0100 ldrd r0, r1, [r3] 80945b2: f04f 0264 mov.w r2, #100 ; 0x64 80945b6: f04f 0300 mov.w r3, #0 80945ba: f78c f817 bl 80205ec <__aeabi_uldivmod> 80945be: 4610 mov r0, r2 80945c0: 4619 mov r1, r3 80945c2: f04f 020a mov.w r2, #10 80945c6: f04f 0300 mov.w r3, #0 80945ca: f78c f80f bl 80205ec <__aeabi_uldivmod> 80945ce: 4602 mov r2, r0 80945d0: 460b mov r3, r1 80945d2: b2d3 uxtb r3, r2 80945d4: 3330 adds r3, #48 ; 0x30 80945d6: b2da uxtb r2, r3 80945d8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80945dc: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 % 10) + 48; 80945de: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80945e2: 1c73 adds r3, r6, #1 80945e4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80945e8: f507 737a add.w r3, r7, #1000 ; 0x3e8 80945ec: e9d3 0100 ldrd r0, r1, [r3] 80945f0: f04f 0264 mov.w r2, #100 ; 0x64 80945f4: f04f 0300 mov.w r3, #0 80945f8: f78b fff8 bl 80205ec <__aeabi_uldivmod> 80945fc: 4610 mov r0, r2 80945fe: 4619 mov r1, r3 8094600: f04f 020a mov.w r2, #10 8094604: f04f 0300 mov.w r3, #0 8094608: f78b fff0 bl 80205ec <__aeabi_uldivmod> 809460c: b2d3 uxtb r3, r2 809460e: 3330 adds r3, #48 ; 0x30 8094610: b2da uxtb r2, r3 8094612: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094616: 559a strb r2, [r3, r6] 8094618: e09e b.n 8094758 809461a: bf00 nop 809461c: 0811fc98 .word 0x0811fc98 8094620: 20020070 .word 0x20020070 8094624: 20020038 .word 0x20020038 8094628: ff0a0f1f .word 0xff0a0f1f 809462c: 20023e60 .word 0x20023e60 8094630: 080d0470 .word 0x080d0470 8094634: 080d03c0 .word 0x080d03c0 8094638: 20020de0 .word 0x20020de0 809463c: ff606060 .word 0xff606060 8094640: 080ef4d8 .word 0x080ef4d8 8094644: 20025d24 .word 0x20025d24 8094648: 20022350 .word 0x20022350 809464c: 20020e0c .word 0x20020e0c 8094650: 6404b000 .word 0x6404b000 str1[k++] = (Size / 1000) + 48; 8094654: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094658: 1c73 adds r3, r6, #1 809465a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809465e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094662: e9d3 0100 ldrd r0, r1, [r3] 8094666: f44f 727a mov.w r2, #1000 ; 0x3e8 809466a: f04f 0300 mov.w r3, #0 809466e: f78b ffbd bl 80205ec <__aeabi_uldivmod> 8094672: 4602 mov r2, r0 8094674: 460b mov r3, r1 8094676: b2d3 uxtb r3, r2 8094678: 3330 adds r3, #48 ; 0x30 809467a: b2da uxtb r2, r3 809467c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094680: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 / 100) + 48; 8094682: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094686: 1c73 adds r3, r6, #1 8094688: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809468c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094690: e9d3 0100 ldrd r0, r1, [r3] 8094694: f44f 727a mov.w r2, #1000 ; 0x3e8 8094698: f04f 0300 mov.w r3, #0 809469c: f78b ffa6 bl 80205ec <__aeabi_uldivmod> 80946a0: 4610 mov r0, r2 80946a2: 4619 mov r1, r3 80946a4: f04f 0264 mov.w r2, #100 ; 0x64 80946a8: f04f 0300 mov.w r3, #0 80946ac: f78b ff9e bl 80205ec <__aeabi_uldivmod> 80946b0: 4602 mov r2, r0 80946b2: 460b mov r3, r1 80946b4: b2d3 uxtb r3, r2 80946b6: 3330 adds r3, #48 ; 0x30 80946b8: b2da uxtb r2, r3 80946ba: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80946be: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 / 10) + 48; 80946c0: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80946c4: 1c73 adds r3, r6, #1 80946c6: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80946ca: f507 737a add.w r3, r7, #1000 ; 0x3e8 80946ce: e9d3 0100 ldrd r0, r1, [r3] 80946d2: f44f 727a mov.w r2, #1000 ; 0x3e8 80946d6: f04f 0300 mov.w r3, #0 80946da: f78b ff87 bl 80205ec <__aeabi_uldivmod> 80946de: 4610 mov r0, r2 80946e0: 4619 mov r1, r3 80946e2: f04f 0264 mov.w r2, #100 ; 0x64 80946e6: f04f 0300 mov.w r3, #0 80946ea: f78b ff7f bl 80205ec <__aeabi_uldivmod> 80946ee: 4610 mov r0, r2 80946f0: 4619 mov r1, r3 80946f2: f04f 020a mov.w r2, #10 80946f6: f04f 0300 mov.w r3, #0 80946fa: f78b ff77 bl 80205ec <__aeabi_uldivmod> 80946fe: 4602 mov r2, r0 8094700: 460b mov r3, r1 8094702: b2d3 uxtb r3, r2 8094704: 3330 adds r3, #48 ; 0x30 8094706: b2da uxtb r2, r3 8094708: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809470c: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 % 10) + 48; 809470e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094712: 1c73 adds r3, r6, #1 8094714: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094718: f507 737a add.w r3, r7, #1000 ; 0x3e8 809471c: e9d3 0100 ldrd r0, r1, [r3] 8094720: f44f 727a mov.w r2, #1000 ; 0x3e8 8094724: f04f 0300 mov.w r3, #0 8094728: f78b ff60 bl 80205ec <__aeabi_uldivmod> 809472c: 4610 mov r0, r2 809472e: 4619 mov r1, r3 8094730: f04f 0264 mov.w r2, #100 ; 0x64 8094734: f04f 0300 mov.w r3, #0 8094738: f78b ff58 bl 80205ec <__aeabi_uldivmod> 809473c: 4610 mov r0, r2 809473e: 4619 mov r1, r3 8094740: f04f 020a mov.w r2, #10 8094744: f04f 0300 mov.w r3, #0 8094748: f78b ff50 bl 80205ec <__aeabi_uldivmod> 809474c: b2d3 uxtb r3, r2 809474e: 3330 adds r3, #48 ; 0x30 8094750: b2da uxtb r2, r3 8094752: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094756: 559a strb r2, [r3, r6] str1[k++] = 'B'; 8094758: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809475c: 1c5a adds r2, r3, #1 809475e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094762: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094766: 2142 movs r1, #66 ; 0x42 8094768: 54d1 strb r1, [r2, r3] str1[k++] = '\0'; 809476a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809476e: 1c5a adds r2, r3, #1 8094770: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094774: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094778: 2100 movs r1, #0 809477a: 54d1 strb r1, [r2, r3] 809477c: f000 bdd5 b.w 809532a if(Size < 1048576) // If size below 1MB 8094780: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094784: e9d3 2300 ldrd r2, r3, [r3] 8094788: 48c2 ldr r0, [pc, #776] ; (8094a94 ) 809478a: f04f 0100 mov.w r1, #0 809478e: 4299 cmp r1, r3 8094790: bf08 it eq 8094792: 4290 cmpeq r0, r2 8094794: f0c0 8157 bcc.w 8094a46 Size /= 1024; 8094798: f507 737a add.w r3, r7, #1000 ; 0x3e8 809479c: e9d3 2300 ldrd r2, r3, [r3] 80947a0: 0a94 lsrs r4, r2, #10 80947a2: ea44 5483 orr.w r4, r4, r3, lsl #22 80947a6: 0a9d lsrs r5, r3, #10 80947a8: f507 737a add.w r3, r7, #1000 ; 0x3e8 80947ac: e9c3 4500 strd r4, r5, [r3] if(Size < 10) 80947b0: f507 737a add.w r3, r7, #1000 ; 0x3e8 80947b4: e9d3 2300 ldrd r2, r3, [r3] 80947b8: 2b00 cmp r3, #0 80947ba: bf08 it eq 80947bc: 2a0a cmpeq r2, #10 80947be: d20e bcs.n 80947de str1[k++] = Size + 48; 80947c0: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80947c4: 1c5a adds r2, r3, #1 80947c6: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80947ca: f507 727a add.w r2, r7, #1000 ; 0x3e8 80947ce: ca06 ldmia r2, {r1, r2} 80947d0: b2ca uxtb r2, r1 80947d2: 3230 adds r2, #48 ; 0x30 80947d4: b2d1 uxtb r1, r2 80947d6: f507 72f6 add.w r2, r7, #492 ; 0x1ec 80947da: 54d1 strb r1, [r2, r3] 80947dc: e116 b.n 8094a0c if(Size < 100) 80947de: f507 737a add.w r3, r7, #1000 ; 0x3e8 80947e2: e9d3 2300 ldrd r2, r3, [r3] 80947e6: 2b00 cmp r3, #0 80947e8: bf08 it eq 80947ea: 2a64 cmpeq r2, #100 ; 0x64 80947ec: d22c bcs.n 8094848 str1[k++] = (Size / 10) + 48; 80947ee: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80947f2: 1c73 adds r3, r6, #1 80947f4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80947f8: f507 737a add.w r3, r7, #1000 ; 0x3e8 80947fc: e9d3 0100 ldrd r0, r1, [r3] 8094800: f04f 020a mov.w r2, #10 8094804: f04f 0300 mov.w r3, #0 8094808: f78b fef0 bl 80205ec <__aeabi_uldivmod> 809480c: 4602 mov r2, r0 809480e: 460b mov r3, r1 8094810: b2d3 uxtb r3, r2 8094812: 3330 adds r3, #48 ; 0x30 8094814: b2da uxtb r2, r3 8094816: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809481a: 559a strb r2, [r3, r6] str1[k++] = (Size % 10) + 48; 809481c: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094820: 1c73 adds r3, r6, #1 8094822: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094826: f507 737a add.w r3, r7, #1000 ; 0x3e8 809482a: e9d3 0100 ldrd r0, r1, [r3] 809482e: f04f 020a mov.w r2, #10 8094832: f04f 0300 mov.w r3, #0 8094836: f78b fed9 bl 80205ec <__aeabi_uldivmod> 809483a: b2d3 uxtb r3, r2 809483c: 3330 adds r3, #48 ; 0x30 809483e: b2da uxtb r2, r3 8094840: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094844: 559a strb r2, [r3, r6] 8094846: e0e1 b.n 8094a0c if(Size < 1000) 8094848: f507 737a add.w r3, r7, #1000 ; 0x3e8 809484c: e9d3 2300 ldrd r2, r3, [r3] 8094850: f240 30e7 movw r0, #999 ; 0x3e7 8094854: f04f 0100 mov.w r1, #0 8094858: 4299 cmp r1, r3 809485a: bf08 it eq 809485c: 4290 cmpeq r0, r2 809485e: d353 bcc.n 8094908 str1[k++] = (Size / 100) + 48; 8094860: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094864: 1c73 adds r3, r6, #1 8094866: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809486a: f507 737a add.w r3, r7, #1000 ; 0x3e8 809486e: e9d3 0100 ldrd r0, r1, [r3] 8094872: f04f 0264 mov.w r2, #100 ; 0x64 8094876: f04f 0300 mov.w r3, #0 809487a: f78b feb7 bl 80205ec <__aeabi_uldivmod> 809487e: 4602 mov r2, r0 8094880: 460b mov r3, r1 8094882: b2d3 uxtb r3, r2 8094884: 3330 adds r3, #48 ; 0x30 8094886: b2da uxtb r2, r3 8094888: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809488c: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 / 10) + 48; 809488e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094892: 1c73 adds r3, r6, #1 8094894: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094898: f507 737a add.w r3, r7, #1000 ; 0x3e8 809489c: e9d3 0100 ldrd r0, r1, [r3] 80948a0: f04f 0264 mov.w r2, #100 ; 0x64 80948a4: f04f 0300 mov.w r3, #0 80948a8: f78b fea0 bl 80205ec <__aeabi_uldivmod> 80948ac: 4610 mov r0, r2 80948ae: 4619 mov r1, r3 80948b0: f04f 020a mov.w r2, #10 80948b4: f04f 0300 mov.w r3, #0 80948b8: f78b fe98 bl 80205ec <__aeabi_uldivmod> 80948bc: 4602 mov r2, r0 80948be: 460b mov r3, r1 80948c0: b2d3 uxtb r3, r2 80948c2: 3330 adds r3, #48 ; 0x30 80948c4: b2da uxtb r2, r3 80948c6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80948ca: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 % 10) + 48; 80948cc: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80948d0: 1c73 adds r3, r6, #1 80948d2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80948d6: f507 737a add.w r3, r7, #1000 ; 0x3e8 80948da: e9d3 0100 ldrd r0, r1, [r3] 80948de: f04f 0264 mov.w r2, #100 ; 0x64 80948e2: f04f 0300 mov.w r3, #0 80948e6: f78b fe81 bl 80205ec <__aeabi_uldivmod> 80948ea: 4610 mov r0, r2 80948ec: 4619 mov r1, r3 80948ee: f04f 020a mov.w r2, #10 80948f2: f04f 0300 mov.w r3, #0 80948f6: f78b fe79 bl 80205ec <__aeabi_uldivmod> 80948fa: b2d3 uxtb r3, r2 80948fc: 3330 adds r3, #48 ; 0x30 80948fe: b2da uxtb r2, r3 8094900: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094904: 559a strb r2, [r3, r6] 8094906: e081 b.n 8094a0c str1[k++] = (Size / 1000) + 48; 8094908: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809490c: 1c73 adds r3, r6, #1 809490e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094912: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094916: e9d3 0100 ldrd r0, r1, [r3] 809491a: f44f 727a mov.w r2, #1000 ; 0x3e8 809491e: f04f 0300 mov.w r3, #0 8094922: f78b fe63 bl 80205ec <__aeabi_uldivmod> 8094926: 4602 mov r2, r0 8094928: 460b mov r3, r1 809492a: b2d3 uxtb r3, r2 809492c: 3330 adds r3, #48 ; 0x30 809492e: b2da uxtb r2, r3 8094930: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094934: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 / 100) + 48; 8094936: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809493a: 1c73 adds r3, r6, #1 809493c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094940: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094944: e9d3 0100 ldrd r0, r1, [r3] 8094948: f44f 727a mov.w r2, #1000 ; 0x3e8 809494c: f04f 0300 mov.w r3, #0 8094950: f78b fe4c bl 80205ec <__aeabi_uldivmod> 8094954: 4610 mov r0, r2 8094956: 4619 mov r1, r3 8094958: f04f 0264 mov.w r2, #100 ; 0x64 809495c: f04f 0300 mov.w r3, #0 8094960: f78b fe44 bl 80205ec <__aeabi_uldivmod> 8094964: 4602 mov r2, r0 8094966: 460b mov r3, r1 8094968: b2d3 uxtb r3, r2 809496a: 3330 adds r3, #48 ; 0x30 809496c: b2da uxtb r2, r3 809496e: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094972: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 / 10) + 48; 8094974: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094978: 1c73 adds r3, r6, #1 809497a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809497e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094982: e9d3 0100 ldrd r0, r1, [r3] 8094986: f44f 727a mov.w r2, #1000 ; 0x3e8 809498a: f04f 0300 mov.w r3, #0 809498e: f78b fe2d bl 80205ec <__aeabi_uldivmod> 8094992: 4610 mov r0, r2 8094994: 4619 mov r1, r3 8094996: f04f 0264 mov.w r2, #100 ; 0x64 809499a: f04f 0300 mov.w r3, #0 809499e: f78b fe25 bl 80205ec <__aeabi_uldivmod> 80949a2: 4610 mov r0, r2 80949a4: 4619 mov r1, r3 80949a6: f04f 020a mov.w r2, #10 80949aa: f04f 0300 mov.w r3, #0 80949ae: f78b fe1d bl 80205ec <__aeabi_uldivmod> 80949b2: 4602 mov r2, r0 80949b4: 460b mov r3, r1 80949b6: b2d3 uxtb r3, r2 80949b8: 3330 adds r3, #48 ; 0x30 80949ba: b2da uxtb r2, r3 80949bc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80949c0: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 % 10) + 48; 80949c2: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80949c6: 1c73 adds r3, r6, #1 80949c8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80949cc: f507 737a add.w r3, r7, #1000 ; 0x3e8 80949d0: e9d3 0100 ldrd r0, r1, [r3] 80949d4: f44f 727a mov.w r2, #1000 ; 0x3e8 80949d8: f04f 0300 mov.w r3, #0 80949dc: f78b fe06 bl 80205ec <__aeabi_uldivmod> 80949e0: 4610 mov r0, r2 80949e2: 4619 mov r1, r3 80949e4: f04f 0264 mov.w r2, #100 ; 0x64 80949e8: f04f 0300 mov.w r3, #0 80949ec: f78b fdfe bl 80205ec <__aeabi_uldivmod> 80949f0: 4610 mov r0, r2 80949f2: 4619 mov r1, r3 80949f4: f04f 020a mov.w r2, #10 80949f8: f04f 0300 mov.w r3, #0 80949fc: f78b fdf6 bl 80205ec <__aeabi_uldivmod> 8094a00: b2d3 uxtb r3, r2 8094a02: 3330 adds r3, #48 ; 0x30 8094a04: b2da uxtb r2, r3 8094a06: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094a0a: 559a strb r2, [r3, r6] str1[k++] = 'K'; 8094a0c: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094a10: 1c5a adds r2, r3, #1 8094a12: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094a16: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094a1a: 214b movs r1, #75 ; 0x4b 8094a1c: 54d1 strb r1, [r2, r3] str1[k++] = 'B'; 8094a1e: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094a22: 1c5a adds r2, r3, #1 8094a24: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094a28: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094a2c: 2142 movs r1, #66 ; 0x42 8094a2e: 54d1 strb r1, [r2, r3] str1[k++] = '\0'; 8094a30: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094a34: 1c5a adds r2, r3, #1 8094a36: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094a3a: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094a3e: 2100 movs r1, #0 8094a40: 54d1 strb r1, [r2, r3] 8094a42: f000 bc72 b.w 809532a Size /= 1048576; 8094a46: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094a4a: e9d3 2300 ldrd r2, r3, [r3] 8094a4e: ea4f 5812 mov.w r8, r2, lsr #20 8094a52: ea48 3803 orr.w r8, r8, r3, lsl #12 8094a56: ea4f 5913 mov.w r9, r3, lsr #20 8094a5a: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094a5e: e9c3 8900 strd r8, r9, [r3] if(Size < 10) 8094a62: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094a66: e9d3 2300 ldrd r2, r3, [r3] 8094a6a: 2b00 cmp r3, #0 8094a6c: bf08 it eq 8094a6e: 2a0a cmpeq r2, #10 8094a70: d212 bcs.n 8094a98 str1[k++] = Size + 48; 8094a72: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8094a76: 1c5a adds r2, r3, #1 8094a78: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8094a7c: f507 727a add.w r2, r7, #1000 ; 0x3e8 8094a80: ca06 ldmia r2, {r1, r2} 8094a82: b2ca uxtb r2, r1 8094a84: 3230 adds r2, #48 ; 0x30 8094a86: b2d1 uxtb r1, r2 8094a88: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8094a8c: 54d1 strb r1, [r2, r3] 8094a8e: f000 bc31 b.w 80952f4 8094a92: bf00 nop 8094a94: 000fffff .word 0x000fffff if(Size < 100) 8094a98: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094a9c: e9d3 2300 ldrd r2, r3, [r3] 8094aa0: 2b00 cmp r3, #0 8094aa2: bf08 it eq 8094aa4: 2a64 cmpeq r2, #100 ; 0x64 8094aa6: d22c bcs.n 8094b02 str1[k++] = (Size / 10) + 48; 8094aa8: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094aac: 1c73 adds r3, r6, #1 8094aae: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094ab2: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094ab6: e9d3 0100 ldrd r0, r1, [r3] 8094aba: f04f 020a mov.w r2, #10 8094abe: f04f 0300 mov.w r3, #0 8094ac2: f78b fd93 bl 80205ec <__aeabi_uldivmod> 8094ac6: 4602 mov r2, r0 8094ac8: 460b mov r3, r1 8094aca: b2d3 uxtb r3, r2 8094acc: 3330 adds r3, #48 ; 0x30 8094ace: b2da uxtb r2, r3 8094ad0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094ad4: 559a strb r2, [r3, r6] str1[k++] = (Size % 10) + 48; 8094ad6: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094ada: 1c73 adds r3, r6, #1 8094adc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094ae0: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094ae4: e9d3 0100 ldrd r0, r1, [r3] 8094ae8: f04f 020a mov.w r2, #10 8094aec: f04f 0300 mov.w r3, #0 8094af0: f78b fd7c bl 80205ec <__aeabi_uldivmod> 8094af4: b2d3 uxtb r3, r2 8094af6: 3330 adds r3, #48 ; 0x30 8094af8: b2da uxtb r2, r3 8094afa: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094afe: 559a strb r2, [r3, r6] 8094b00: e3f8 b.n 80952f4 if(Size < 1000) 8094b02: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094b06: e9d3 2300 ldrd r2, r3, [r3] 8094b0a: f240 30e7 movw r0, #999 ; 0x3e7 8094b0e: f04f 0100 mov.w r1, #0 8094b12: 4299 cmp r1, r3 8094b14: bf08 it eq 8094b16: 4290 cmpeq r0, r2 8094b18: d353 bcc.n 8094bc2 str1[k++] = (Size / 100) + 48; 8094b1a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094b1e: 1c73 adds r3, r6, #1 8094b20: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094b24: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094b28: e9d3 0100 ldrd r0, r1, [r3] 8094b2c: f04f 0264 mov.w r2, #100 ; 0x64 8094b30: f04f 0300 mov.w r3, #0 8094b34: f78b fd5a bl 80205ec <__aeabi_uldivmod> 8094b38: 4602 mov r2, r0 8094b3a: 460b mov r3, r1 8094b3c: b2d3 uxtb r3, r2 8094b3e: 3330 adds r3, #48 ; 0x30 8094b40: b2da uxtb r2, r3 8094b42: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094b46: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 / 10) + 48; 8094b48: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094b4c: 1c73 adds r3, r6, #1 8094b4e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094b52: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094b56: e9d3 0100 ldrd r0, r1, [r3] 8094b5a: f04f 0264 mov.w r2, #100 ; 0x64 8094b5e: f04f 0300 mov.w r3, #0 8094b62: f78b fd43 bl 80205ec <__aeabi_uldivmod> 8094b66: 4610 mov r0, r2 8094b68: 4619 mov r1, r3 8094b6a: f04f 020a mov.w r2, #10 8094b6e: f04f 0300 mov.w r3, #0 8094b72: f78b fd3b bl 80205ec <__aeabi_uldivmod> 8094b76: 4602 mov r2, r0 8094b78: 460b mov r3, r1 8094b7a: b2d3 uxtb r3, r2 8094b7c: 3330 adds r3, #48 ; 0x30 8094b7e: b2da uxtb r2, r3 8094b80: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094b84: 559a strb r2, [r3, r6] str1[k++] = (Size % 100 % 10) + 48; 8094b86: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094b8a: 1c73 adds r3, r6, #1 8094b8c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094b90: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094b94: e9d3 0100 ldrd r0, r1, [r3] 8094b98: f04f 0264 mov.w r2, #100 ; 0x64 8094b9c: f04f 0300 mov.w r3, #0 8094ba0: f78b fd24 bl 80205ec <__aeabi_uldivmod> 8094ba4: 4610 mov r0, r2 8094ba6: 4619 mov r1, r3 8094ba8: f04f 020a mov.w r2, #10 8094bac: f04f 0300 mov.w r3, #0 8094bb0: f78b fd1c bl 80205ec <__aeabi_uldivmod> 8094bb4: b2d3 uxtb r3, r2 8094bb6: 3330 adds r3, #48 ; 0x30 8094bb8: b2da uxtb r2, r3 8094bba: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094bbe: 559a strb r2, [r3, r6] 8094bc0: e398 b.n 80952f4 if(Size < 10000) 8094bc2: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094bc6: e9d3 2300 ldrd r2, r3, [r3] 8094bca: f242 700f movw r0, #9999 ; 0x270f 8094bce: f04f 0100 mov.w r1, #0 8094bd2: 4299 cmp r1, r3 8094bd4: bf08 it eq 8094bd6: 4290 cmpeq r0, r2 8094bd8: f0c0 8083 bcc.w 8094ce2 str1[k++] = (Size / 1000) + 48; 8094bdc: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094be0: 1c73 adds r3, r6, #1 8094be2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094be6: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094bea: e9d3 0100 ldrd r0, r1, [r3] 8094bee: f44f 727a mov.w r2, #1000 ; 0x3e8 8094bf2: f04f 0300 mov.w r3, #0 8094bf6: f78b fcf9 bl 80205ec <__aeabi_uldivmod> 8094bfa: 4602 mov r2, r0 8094bfc: 460b mov r3, r1 8094bfe: b2d3 uxtb r3, r2 8094c00: 3330 adds r3, #48 ; 0x30 8094c02: b2da uxtb r2, r3 8094c04: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094c08: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 / 100) + 48; 8094c0a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094c0e: 1c73 adds r3, r6, #1 8094c10: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094c14: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094c18: e9d3 0100 ldrd r0, r1, [r3] 8094c1c: f44f 727a mov.w r2, #1000 ; 0x3e8 8094c20: f04f 0300 mov.w r3, #0 8094c24: f78b fce2 bl 80205ec <__aeabi_uldivmod> 8094c28: 4610 mov r0, r2 8094c2a: 4619 mov r1, r3 8094c2c: f04f 0264 mov.w r2, #100 ; 0x64 8094c30: f04f 0300 mov.w r3, #0 8094c34: f78b fcda bl 80205ec <__aeabi_uldivmod> 8094c38: 4602 mov r2, r0 8094c3a: 460b mov r3, r1 8094c3c: b2d3 uxtb r3, r2 8094c3e: 3330 adds r3, #48 ; 0x30 8094c40: b2da uxtb r2, r3 8094c42: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094c46: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 / 10) + 48; 8094c48: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094c4c: 1c73 adds r3, r6, #1 8094c4e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094c52: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094c56: e9d3 0100 ldrd r0, r1, [r3] 8094c5a: f44f 727a mov.w r2, #1000 ; 0x3e8 8094c5e: f04f 0300 mov.w r3, #0 8094c62: f78b fcc3 bl 80205ec <__aeabi_uldivmod> 8094c66: 4610 mov r0, r2 8094c68: 4619 mov r1, r3 8094c6a: f04f 0264 mov.w r2, #100 ; 0x64 8094c6e: f04f 0300 mov.w r3, #0 8094c72: f78b fcbb bl 80205ec <__aeabi_uldivmod> 8094c76: 4610 mov r0, r2 8094c78: 4619 mov r1, r3 8094c7a: f04f 020a mov.w r2, #10 8094c7e: f04f 0300 mov.w r3, #0 8094c82: f78b fcb3 bl 80205ec <__aeabi_uldivmod> 8094c86: 4602 mov r2, r0 8094c88: 460b mov r3, r1 8094c8a: b2d3 uxtb r3, r2 8094c8c: 3330 adds r3, #48 ; 0x30 8094c8e: b2da uxtb r2, r3 8094c90: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094c94: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000 % 100 % 10) + 48; 8094c96: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094c9a: 1c73 adds r3, r6, #1 8094c9c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094ca0: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094ca4: e9d3 0100 ldrd r0, r1, [r3] 8094ca8: f44f 727a mov.w r2, #1000 ; 0x3e8 8094cac: f04f 0300 mov.w r3, #0 8094cb0: f78b fc9c bl 80205ec <__aeabi_uldivmod> 8094cb4: 4610 mov r0, r2 8094cb6: 4619 mov r1, r3 8094cb8: f04f 0264 mov.w r2, #100 ; 0x64 8094cbc: f04f 0300 mov.w r3, #0 8094cc0: f78b fc94 bl 80205ec <__aeabi_uldivmod> 8094cc4: 4610 mov r0, r2 8094cc6: 4619 mov r1, r3 8094cc8: f04f 020a mov.w r2, #10 8094ccc: f04f 0300 mov.w r3, #0 8094cd0: f78b fc8c bl 80205ec <__aeabi_uldivmod> 8094cd4: b2d3 uxtb r3, r2 8094cd6: 3330 adds r3, #48 ; 0x30 8094cd8: b2da uxtb r2, r3 8094cda: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094cde: 559a strb r2, [r3, r6] 8094ce0: e308 b.n 80952f4 if(Size < 100000) 8094ce2: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094ce6: e9d3 2300 ldrd r2, r3, [r3] 8094cea: 48e0 ldr r0, [pc, #896] ; (809506c ) 8094cec: f04f 0100 mov.w r1, #0 8094cf0: 4299 cmp r1, r3 8094cf2: bf08 it eq 8094cf4: 4290 cmpeq r0, r2 8094cf6: f0c0 80ba bcc.w 8094e6e str1[k++] = (Size / 10000) + 48; 8094cfa: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094cfe: 1c73 adds r3, r6, #1 8094d00: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094d04: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094d08: e9d3 0100 ldrd r0, r1, [r3] 8094d0c: f242 7210 movw r2, #10000 ; 0x2710 8094d10: f04f 0300 mov.w r3, #0 8094d14: f78b fc6a bl 80205ec <__aeabi_uldivmod> 8094d18: 4602 mov r2, r0 8094d1a: 460b mov r3, r1 8094d1c: b2d3 uxtb r3, r2 8094d1e: 3330 adds r3, #48 ; 0x30 8094d20: b2da uxtb r2, r3 8094d22: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094d26: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 / 1000) + 48; 8094d28: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094d2c: 1c73 adds r3, r6, #1 8094d2e: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094d32: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094d36: e9d3 0100 ldrd r0, r1, [r3] 8094d3a: f242 7210 movw r2, #10000 ; 0x2710 8094d3e: f04f 0300 mov.w r3, #0 8094d42: f78b fc53 bl 80205ec <__aeabi_uldivmod> 8094d46: 4610 mov r0, r2 8094d48: 4619 mov r1, r3 8094d4a: f44f 727a mov.w r2, #1000 ; 0x3e8 8094d4e: f04f 0300 mov.w r3, #0 8094d52: f78b fc4b bl 80205ec <__aeabi_uldivmod> 8094d56: 4602 mov r2, r0 8094d58: 460b mov r3, r1 8094d5a: b2d3 uxtb r3, r2 8094d5c: 3330 adds r3, #48 ; 0x30 8094d5e: b2da uxtb r2, r3 8094d60: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094d64: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 % 1000 / 100) + 48; 8094d66: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094d6a: 1c73 adds r3, r6, #1 8094d6c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094d70: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094d74: e9d3 0100 ldrd r0, r1, [r3] 8094d78: f242 7210 movw r2, #10000 ; 0x2710 8094d7c: f04f 0300 mov.w r3, #0 8094d80: f78b fc34 bl 80205ec <__aeabi_uldivmod> 8094d84: 4610 mov r0, r2 8094d86: 4619 mov r1, r3 8094d88: f44f 727a mov.w r2, #1000 ; 0x3e8 8094d8c: f04f 0300 mov.w r3, #0 8094d90: f78b fc2c bl 80205ec <__aeabi_uldivmod> 8094d94: 4610 mov r0, r2 8094d96: 4619 mov r1, r3 8094d98: f04f 0264 mov.w r2, #100 ; 0x64 8094d9c: f04f 0300 mov.w r3, #0 8094da0: f78b fc24 bl 80205ec <__aeabi_uldivmod> 8094da4: 4602 mov r2, r0 8094da6: 460b mov r3, r1 8094da8: b2d3 uxtb r3, r2 8094daa: 3330 adds r3, #48 ; 0x30 8094dac: b2da uxtb r2, r3 8094dae: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094db2: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 % 1000 % 100 / 10) + 48; 8094db4: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094db8: 1c73 adds r3, r6, #1 8094dba: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094dbe: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094dc2: e9d3 0100 ldrd r0, r1, [r3] 8094dc6: f242 7210 movw r2, #10000 ; 0x2710 8094dca: f04f 0300 mov.w r3, #0 8094dce: f78b fc0d bl 80205ec <__aeabi_uldivmod> 8094dd2: 4610 mov r0, r2 8094dd4: 4619 mov r1, r3 8094dd6: f44f 727a mov.w r2, #1000 ; 0x3e8 8094dda: f04f 0300 mov.w r3, #0 8094dde: f78b fc05 bl 80205ec <__aeabi_uldivmod> 8094de2: 4610 mov r0, r2 8094de4: 4619 mov r1, r3 8094de6: f04f 0264 mov.w r2, #100 ; 0x64 8094dea: f04f 0300 mov.w r3, #0 8094dee: f78b fbfd bl 80205ec <__aeabi_uldivmod> 8094df2: 4610 mov r0, r2 8094df4: 4619 mov r1, r3 8094df6: f04f 020a mov.w r2, #10 8094dfa: f04f 0300 mov.w r3, #0 8094dfe: f78b fbf5 bl 80205ec <__aeabi_uldivmod> 8094e02: 4602 mov r2, r0 8094e04: 460b mov r3, r1 8094e06: b2d3 uxtb r3, r2 8094e08: 3330 adds r3, #48 ; 0x30 8094e0a: b2da uxtb r2, r3 8094e0c: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094e10: 559a strb r2, [r3, r6] str1[k++] = (Size % 10000 % 1000 % 100 % 10) + 48; 8094e12: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094e16: 1c73 adds r3, r6, #1 8094e18: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094e1c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094e20: e9d3 0100 ldrd r0, r1, [r3] 8094e24: f242 7210 movw r2, #10000 ; 0x2710 8094e28: f04f 0300 mov.w r3, #0 8094e2c: f78b fbde bl 80205ec <__aeabi_uldivmod> 8094e30: 4610 mov r0, r2 8094e32: 4619 mov r1, r3 8094e34: f44f 727a mov.w r2, #1000 ; 0x3e8 8094e38: f04f 0300 mov.w r3, #0 8094e3c: f78b fbd6 bl 80205ec <__aeabi_uldivmod> 8094e40: 4610 mov r0, r2 8094e42: 4619 mov r1, r3 8094e44: f04f 0264 mov.w r2, #100 ; 0x64 8094e48: f04f 0300 mov.w r3, #0 8094e4c: f78b fbce bl 80205ec <__aeabi_uldivmod> 8094e50: 4610 mov r0, r2 8094e52: 4619 mov r1, r3 8094e54: f04f 020a mov.w r2, #10 8094e58: f04f 0300 mov.w r3, #0 8094e5c: f78b fbc6 bl 80205ec <__aeabi_uldivmod> 8094e60: b2d3 uxtb r3, r2 8094e62: 3330 adds r3, #48 ; 0x30 8094e64: b2da uxtb r2, r3 8094e66: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094e6a: 559a strb r2, [r3, r6] 8094e6c: e242 b.n 80952f4 if(Size < 1000000) 8094e6e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094e72: e9d3 2300 ldrd r2, r3, [r3] 8094e76: 487e ldr r0, [pc, #504] ; (8095070 ) 8094e78: f04f 0100 mov.w r1, #0 8094e7c: 4299 cmp r1, r3 8094e7e: bf08 it eq 8094e80: 4290 cmpeq r0, r2 8094e82: f0c0 80f9 bcc.w 8095078 str1[k++] = (Size / 100000) + 48; 8094e86: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094e8a: 1c73 adds r3, r6, #1 8094e8c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094e90: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094e94: e9d3 0100 ldrd r0, r1, [r3] 8094e98: 4a76 ldr r2, [pc, #472] ; (8095074 ) 8094e9a: f04f 0300 mov.w r3, #0 8094e9e: f78b fba5 bl 80205ec <__aeabi_uldivmod> 8094ea2: 4602 mov r2, r0 8094ea4: 460b mov r3, r1 8094ea6: b2d3 uxtb r3, r2 8094ea8: 3330 adds r3, #48 ; 0x30 8094eaa: b2da uxtb r2, r3 8094eac: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094eb0: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 / 10000) + 48; 8094eb2: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094eb6: 1c73 adds r3, r6, #1 8094eb8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094ebc: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094ec0: e9d3 0100 ldrd r0, r1, [r3] 8094ec4: 4a6b ldr r2, [pc, #428] ; (8095074 ) 8094ec6: f04f 0300 mov.w r3, #0 8094eca: f78b fb8f bl 80205ec <__aeabi_uldivmod> 8094ece: 4610 mov r0, r2 8094ed0: 4619 mov r1, r3 8094ed2: f242 7210 movw r2, #10000 ; 0x2710 8094ed6: f04f 0300 mov.w r3, #0 8094eda: f78b fb87 bl 80205ec <__aeabi_uldivmod> 8094ede: 4602 mov r2, r0 8094ee0: 460b mov r3, r1 8094ee2: b2d3 uxtb r3, r2 8094ee4: 3330 adds r3, #48 ; 0x30 8094ee6: b2da uxtb r2, r3 8094ee8: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094eec: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 / 1000) + 48; 8094eee: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094ef2: 1c73 adds r3, r6, #1 8094ef4: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094ef8: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094efc: e9d3 0100 ldrd r0, r1, [r3] 8094f00: 4a5c ldr r2, [pc, #368] ; (8095074 ) 8094f02: f04f 0300 mov.w r3, #0 8094f06: f78b fb71 bl 80205ec <__aeabi_uldivmod> 8094f0a: 4610 mov r0, r2 8094f0c: 4619 mov r1, r3 8094f0e: f242 7210 movw r2, #10000 ; 0x2710 8094f12: f04f 0300 mov.w r3, #0 8094f16: f78b fb69 bl 80205ec <__aeabi_uldivmod> 8094f1a: 4610 mov r0, r2 8094f1c: 4619 mov r1, r3 8094f1e: f44f 727a mov.w r2, #1000 ; 0x3e8 8094f22: f04f 0300 mov.w r3, #0 8094f26: f78b fb61 bl 80205ec <__aeabi_uldivmod> 8094f2a: 4602 mov r2, r0 8094f2c: 460b mov r3, r1 8094f2e: b2d3 uxtb r3, r2 8094f30: 3330 adds r3, #48 ; 0x30 8094f32: b2da uxtb r2, r3 8094f34: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094f38: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 % 1000 / 100) + 48; 8094f3a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094f3e: 1c73 adds r3, r6, #1 8094f40: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094f44: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094f48: e9d3 0100 ldrd r0, r1, [r3] 8094f4c: 4a49 ldr r2, [pc, #292] ; (8095074 ) 8094f4e: f04f 0300 mov.w r3, #0 8094f52: f78b fb4b bl 80205ec <__aeabi_uldivmod> 8094f56: 4610 mov r0, r2 8094f58: 4619 mov r1, r3 8094f5a: f242 7210 movw r2, #10000 ; 0x2710 8094f5e: f04f 0300 mov.w r3, #0 8094f62: f78b fb43 bl 80205ec <__aeabi_uldivmod> 8094f66: 4610 mov r0, r2 8094f68: 4619 mov r1, r3 8094f6a: f44f 727a mov.w r2, #1000 ; 0x3e8 8094f6e: f04f 0300 mov.w r3, #0 8094f72: f78b fb3b bl 80205ec <__aeabi_uldivmod> 8094f76: 4610 mov r0, r2 8094f78: 4619 mov r1, r3 8094f7a: f04f 0264 mov.w r2, #100 ; 0x64 8094f7e: f04f 0300 mov.w r3, #0 8094f82: f78b fb33 bl 80205ec <__aeabi_uldivmod> 8094f86: 4602 mov r2, r0 8094f88: 460b mov r3, r1 8094f8a: b2d3 uxtb r3, r2 8094f8c: 3330 adds r3, #48 ; 0x30 8094f8e: b2da uxtb r2, r3 8094f90: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8094f94: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 % 1000 % 100 / 10) + 48; 8094f96: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8094f9a: 1c73 adds r3, r6, #1 8094f9c: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8094fa0: f507 737a add.w r3, r7, #1000 ; 0x3e8 8094fa4: e9d3 0100 ldrd r0, r1, [r3] 8094fa8: 4a32 ldr r2, [pc, #200] ; (8095074 ) 8094faa: f04f 0300 mov.w r3, #0 8094fae: f78b fb1d bl 80205ec <__aeabi_uldivmod> 8094fb2: 4610 mov r0, r2 8094fb4: 4619 mov r1, r3 8094fb6: f242 7210 movw r2, #10000 ; 0x2710 8094fba: f04f 0300 mov.w r3, #0 8094fbe: f78b fb15 bl 80205ec <__aeabi_uldivmod> 8094fc2: 4610 mov r0, r2 8094fc4: 4619 mov r1, r3 8094fc6: f44f 727a mov.w r2, #1000 ; 0x3e8 8094fca: f04f 0300 mov.w r3, #0 8094fce: f78b fb0d bl 80205ec <__aeabi_uldivmod> 8094fd2: 4610 mov r0, r2 8094fd4: 4619 mov r1, r3 8094fd6: f04f 0264 mov.w r2, #100 ; 0x64 8094fda: f04f 0300 mov.w r3, #0 8094fde: f78b fb05 bl 80205ec <__aeabi_uldivmod> 8094fe2: 4610 mov r0, r2 8094fe4: 4619 mov r1, r3 8094fe6: f04f 020a mov.w r2, #10 8094fea: f04f 0300 mov.w r3, #0 8094fee: f78b fafd bl 80205ec <__aeabi_uldivmod> 8094ff2: 4602 mov r2, r0 8094ff4: 460b mov r3, r1 8094ff6: b2d3 uxtb r3, r2 8094ff8: 3330 adds r3, #48 ; 0x30 8094ffa: b2da uxtb r2, r3 8094ffc: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095000: 559a strb r2, [r3, r6] str1[k++] = (Size % 100000 % 10000 % 1000 % 100 % 10) + 48; 8095002: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095006: 1c73 adds r3, r6, #1 8095008: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809500c: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095010: e9d3 0100 ldrd r0, r1, [r3] 8095014: 4a17 ldr r2, [pc, #92] ; (8095074 ) 8095016: f04f 0300 mov.w r3, #0 809501a: f78b fae7 bl 80205ec <__aeabi_uldivmod> 809501e: 4610 mov r0, r2 8095020: 4619 mov r1, r3 8095022: f242 7210 movw r2, #10000 ; 0x2710 8095026: f04f 0300 mov.w r3, #0 809502a: f78b fadf bl 80205ec <__aeabi_uldivmod> 809502e: 4610 mov r0, r2 8095030: 4619 mov r1, r3 8095032: f44f 727a mov.w r2, #1000 ; 0x3e8 8095036: f04f 0300 mov.w r3, #0 809503a: f78b fad7 bl 80205ec <__aeabi_uldivmod> 809503e: 4610 mov r0, r2 8095040: 4619 mov r1, r3 8095042: f04f 0264 mov.w r2, #100 ; 0x64 8095046: f04f 0300 mov.w r3, #0 809504a: f78b facf bl 80205ec <__aeabi_uldivmod> 809504e: 4610 mov r0, r2 8095050: 4619 mov r1, r3 8095052: f04f 020a mov.w r2, #10 8095056: f04f 0300 mov.w r3, #0 809505a: f78b fac7 bl 80205ec <__aeabi_uldivmod> 809505e: b2d3 uxtb r3, r2 8095060: 3330 adds r3, #48 ; 0x30 8095062: b2da uxtb r2, r3 8095064: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095068: 559a strb r2, [r3, r6] 809506a: e143 b.n 80952f4 809506c: 0001869f .word 0x0001869f 8095070: 000f423f .word 0x000f423f 8095074: 000186a0 .word 0x000186a0 if(Size < 10000000) 8095078: f507 737a add.w r3, r7, #1000 ; 0x3e8 809507c: e9d3 2300 ldrd r2, r3, [r3] 8095080: a1b5 add r1, pc, #724 ; (adr r1, 8095358 ) 8095082: e9d1 0100 ldrd r0, r1, [r1] 8095086: 4299 cmp r1, r3 8095088: bf08 it eq 809508a: 4290 cmpeq r0, r2 809508c: f0c0 8132 bcc.w 80952f4 str1[k++] = (Size / 1000000) + 48; 8095090: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095094: 1c73 adds r3, r6, #1 8095096: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809509a: f507 737a add.w r3, r7, #1000 ; 0x3e8 809509e: e9d3 0100 ldrd r0, r1, [r3] 80950a2: 4aa9 ldr r2, [pc, #676] ; (8095348 ) 80950a4: f04f 0300 mov.w r3, #0 80950a8: f78b faa0 bl 80205ec <__aeabi_uldivmod> 80950ac: 4602 mov r2, r0 80950ae: 460b mov r3, r1 80950b0: b2d3 uxtb r3, r2 80950b2: 3330 adds r3, #48 ; 0x30 80950b4: b2da uxtb r2, r3 80950b6: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80950ba: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 / 100000) + 48; 80950bc: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80950c0: 1c73 adds r3, r6, #1 80950c2: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80950c6: f507 737a add.w r3, r7, #1000 ; 0x3e8 80950ca: e9d3 0100 ldrd r0, r1, [r3] 80950ce: 4a9e ldr r2, [pc, #632] ; (8095348 ) 80950d0: f04f 0300 mov.w r3, #0 80950d4: f78b fa8a bl 80205ec <__aeabi_uldivmod> 80950d8: 4610 mov r0, r2 80950da: 4619 mov r1, r3 80950dc: 4a9b ldr r2, [pc, #620] ; (809534c ) 80950de: f04f 0300 mov.w r3, #0 80950e2: f78b fa83 bl 80205ec <__aeabi_uldivmod> 80950e6: 4602 mov r2, r0 80950e8: 460b mov r3, r1 80950ea: b2d3 uxtb r3, r2 80950ec: 3330 adds r3, #48 ; 0x30 80950ee: b2da uxtb r2, r3 80950f0: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80950f4: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 / 10000) + 48; 80950f6: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 80950fa: 1c73 adds r3, r6, #1 80950fc: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095100: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095104: e9d3 0100 ldrd r0, r1, [r3] 8095108: 4a8f ldr r2, [pc, #572] ; (8095348 ) 809510a: f04f 0300 mov.w r3, #0 809510e: f78b fa6d bl 80205ec <__aeabi_uldivmod> 8095112: 4610 mov r0, r2 8095114: 4619 mov r1, r3 8095116: 4a8d ldr r2, [pc, #564] ; (809534c ) 8095118: f04f 0300 mov.w r3, #0 809511c: f78b fa66 bl 80205ec <__aeabi_uldivmod> 8095120: 4610 mov r0, r2 8095122: 4619 mov r1, r3 8095124: f242 7210 movw r2, #10000 ; 0x2710 8095128: f04f 0300 mov.w r3, #0 809512c: f78b fa5e bl 80205ec <__aeabi_uldivmod> 8095130: 4602 mov r2, r0 8095132: 460b mov r3, r1 8095134: b2d3 uxtb r3, r2 8095136: 3330 adds r3, #48 ; 0x30 8095138: b2da uxtb r2, r3 809513a: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809513e: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 / 1000) + 48; 8095140: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095144: 1c73 adds r3, r6, #1 8095146: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809514a: f507 737a add.w r3, r7, #1000 ; 0x3e8 809514e: e9d3 0100 ldrd r0, r1, [r3] 8095152: 4a7d ldr r2, [pc, #500] ; (8095348 ) 8095154: f04f 0300 mov.w r3, #0 8095158: f78b fa48 bl 80205ec <__aeabi_uldivmod> 809515c: 4610 mov r0, r2 809515e: 4619 mov r1, r3 8095160: 4a7a ldr r2, [pc, #488] ; (809534c ) 8095162: f04f 0300 mov.w r3, #0 8095166: f78b fa41 bl 80205ec <__aeabi_uldivmod> 809516a: 4610 mov r0, r2 809516c: 4619 mov r1, r3 809516e: f242 7210 movw r2, #10000 ; 0x2710 8095172: f04f 0300 mov.w r3, #0 8095176: f78b fa39 bl 80205ec <__aeabi_uldivmod> 809517a: 4610 mov r0, r2 809517c: 4619 mov r1, r3 809517e: f44f 727a mov.w r2, #1000 ; 0x3e8 8095182: f04f 0300 mov.w r3, #0 8095186: f78b fa31 bl 80205ec <__aeabi_uldivmod> 809518a: 4602 mov r2, r0 809518c: 460b mov r3, r1 809518e: b2d3 uxtb r3, r2 8095190: 3330 adds r3, #48 ; 0x30 8095192: b2da uxtb r2, r3 8095194: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095198: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 % 1000 / 100) + 48; 809519a: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 809519e: 1c73 adds r3, r6, #1 80951a0: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80951a4: f507 737a add.w r3, r7, #1000 ; 0x3e8 80951a8: e9d3 0100 ldrd r0, r1, [r3] 80951ac: 4a66 ldr r2, [pc, #408] ; (8095348 ) 80951ae: f04f 0300 mov.w r3, #0 80951b2: f78b fa1b bl 80205ec <__aeabi_uldivmod> 80951b6: 4610 mov r0, r2 80951b8: 4619 mov r1, r3 80951ba: 4a64 ldr r2, [pc, #400] ; (809534c ) 80951bc: f04f 0300 mov.w r3, #0 80951c0: f78b fa14 bl 80205ec <__aeabi_uldivmod> 80951c4: 4610 mov r0, r2 80951c6: 4619 mov r1, r3 80951c8: f242 7210 movw r2, #10000 ; 0x2710 80951cc: f04f 0300 mov.w r3, #0 80951d0: f78b fa0c bl 80205ec <__aeabi_uldivmod> 80951d4: 4610 mov r0, r2 80951d6: 4619 mov r1, r3 80951d8: f44f 727a mov.w r2, #1000 ; 0x3e8 80951dc: f04f 0300 mov.w r3, #0 80951e0: f78b fa04 bl 80205ec <__aeabi_uldivmod> 80951e4: 4610 mov r0, r2 80951e6: 4619 mov r1, r3 80951e8: f04f 0264 mov.w r2, #100 ; 0x64 80951ec: f04f 0300 mov.w r3, #0 80951f0: f78b f9fc bl 80205ec <__aeabi_uldivmod> 80951f4: 4602 mov r2, r0 80951f6: 460b mov r3, r1 80951f8: b2d3 uxtb r3, r2 80951fa: 3330 adds r3, #48 ; 0x30 80951fc: b2da uxtb r2, r3 80951fe: f507 73f6 add.w r3, r7, #492 ; 0x1ec 8095202: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 % 1000 % 100 / 10) + 48; 8095204: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095208: 1c73 adds r3, r6, #1 809520a: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809520e: f507 737a add.w r3, r7, #1000 ; 0x3e8 8095212: e9d3 0100 ldrd r0, r1, [r3] 8095216: 4a4c ldr r2, [pc, #304] ; (8095348 ) 8095218: f04f 0300 mov.w r3, #0 809521c: f78b f9e6 bl 80205ec <__aeabi_uldivmod> 8095220: 4610 mov r0, r2 8095222: 4619 mov r1, r3 8095224: 4a49 ldr r2, [pc, #292] ; (809534c ) 8095226: f04f 0300 mov.w r3, #0 809522a: f78b f9df bl 80205ec <__aeabi_uldivmod> 809522e: 4610 mov r0, r2 8095230: 4619 mov r1, r3 8095232: f242 7210 movw r2, #10000 ; 0x2710 8095236: f04f 0300 mov.w r3, #0 809523a: f78b f9d7 bl 80205ec <__aeabi_uldivmod> 809523e: 4610 mov r0, r2 8095240: 4619 mov r1, r3 8095242: f44f 727a mov.w r2, #1000 ; 0x3e8 8095246: f04f 0300 mov.w r3, #0 809524a: f78b f9cf bl 80205ec <__aeabi_uldivmod> 809524e: 4610 mov r0, r2 8095250: 4619 mov r1, r3 8095252: f04f 0264 mov.w r2, #100 ; 0x64 8095256: f04f 0300 mov.w r3, #0 809525a: f78b f9c7 bl 80205ec <__aeabi_uldivmod> 809525e: 4610 mov r0, r2 8095260: 4619 mov r1, r3 8095262: f04f 020a mov.w r2, #10 8095266: f04f 0300 mov.w r3, #0 809526a: f78b f9bf bl 80205ec <__aeabi_uldivmod> 809526e: 4602 mov r2, r0 8095270: 460b mov r3, r1 8095272: b2d3 uxtb r3, r2 8095274: 3330 adds r3, #48 ; 0x30 8095276: b2da uxtb r2, r3 8095278: f507 73f6 add.w r3, r7, #492 ; 0x1ec 809527c: 559a strb r2, [r3, r6] str1[k++] = (Size % 1000000 % 100000 % 10000 % 1000 % 100 % 10) + 48; 809527e: f8d7 63f8 ldr.w r6, [r7, #1016] ; 0x3f8 8095282: 1c73 adds r3, r6, #1 8095284: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 8095288: f507 737a add.w r3, r7, #1000 ; 0x3e8 809528c: e9d3 0100 ldrd r0, r1, [r3] 8095290: 4a2d ldr r2, [pc, #180] ; (8095348 ) 8095292: f04f 0300 mov.w r3, #0 8095296: f78b f9a9 bl 80205ec <__aeabi_uldivmod> 809529a: 4610 mov r0, r2 809529c: 4619 mov r1, r3 809529e: 4a2b ldr r2, [pc, #172] ; (809534c ) 80952a0: f04f 0300 mov.w r3, #0 80952a4: f78b f9a2 bl 80205ec <__aeabi_uldivmod> 80952a8: 4610 mov r0, r2 80952aa: 4619 mov r1, r3 80952ac: f242 7210 movw r2, #10000 ; 0x2710 80952b0: f04f 0300 mov.w r3, #0 80952b4: f78b f99a bl 80205ec <__aeabi_uldivmod> 80952b8: 4610 mov r0, r2 80952ba: 4619 mov r1, r3 80952bc: f44f 727a mov.w r2, #1000 ; 0x3e8 80952c0: f04f 0300 mov.w r3, #0 80952c4: f78b f992 bl 80205ec <__aeabi_uldivmod> 80952c8: 4610 mov r0, r2 80952ca: 4619 mov r1, r3 80952cc: f04f 0264 mov.w r2, #100 ; 0x64 80952d0: f04f 0300 mov.w r3, #0 80952d4: f78b f98a bl 80205ec <__aeabi_uldivmod> 80952d8: 4610 mov r0, r2 80952da: 4619 mov r1, r3 80952dc: f04f 020a mov.w r2, #10 80952e0: f04f 0300 mov.w r3, #0 80952e4: f78b f982 bl 80205ec <__aeabi_uldivmod> 80952e8: b2d3 uxtb r3, r2 80952ea: 3330 adds r3, #48 ; 0x30 80952ec: b2da uxtb r2, r3 80952ee: f507 73f6 add.w r3, r7, #492 ; 0x1ec 80952f2: 559a strb r2, [r3, r6] str1[k++] = 'M'; 80952f4: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80952f8: 1c5a adds r2, r3, #1 80952fa: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 80952fe: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095302: 214d movs r1, #77 ; 0x4d 8095304: 54d1 strb r1, [r2, r3] str1[k++] = 'B'; 8095306: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809530a: 1c5a adds r2, r3, #1 809530c: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095310: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095314: 2142 movs r1, #66 ; 0x42 8095316: 54d1 strb r1, [r2, r3] str1[k++] = '\0'; 8095318: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809531c: 1c5a adds r2, r3, #1 809531e: f8c7 23f8 str.w r2, [r7, #1016] ; 0x3f8 8095322: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095326: 2100 movs r1, #0 8095328: 54d1 strb r1, [r2, r3] if(CursorIndex == i) 809532a: 4b09 ldr r3, [pc, #36] ; (8095350 ) 809532c: 681a ldr r2, [r3, #0] 809532e: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095332: 429a cmp r2, r3 8095334: d114 bne.n 8095360 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095336: 4907 ldr r1, [pc, #28] ; (8095354 ) 8095338: f04f 30ff mov.w r0, #4294967295 809533c: f7be fa52 bl 80537e4 8095340: e013 b.n 809536a 8095342: bf00 nop 8095344: f3af 8000 nop.w 8095348: 000f4240 .word 0x000f4240 809534c: 000186a0 .word 0x000186a0 8095350: 20020de0 .word 0x20020de0 8095354: ff606060 .word 0xff606060 8095358: 0098967f .word 0x0098967f 809535c: 00000000 .word 0x00000000 else LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095360: 49c0 ldr r1, [pc, #768] ; (8095664 ) 8095362: f04f 30ff mov.w r0, #4294967295 8095366: f7be fa3d bl 80537e4 BSP_LCD_DisplayStringAt(312, POS_Y_12[i], str1, RIGHT_MODE); 809536a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809536e: 4abe ldr r2, [pc, #760] ; (8095668 ) 8095370: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8095374: f507 72f6 add.w r2, r7, #492 ; 0x1ec 8095378: 2302 movs r3, #2 809537a: f44f 709c mov.w r0, #312 ; 0x138 809537e: f7be faf7 bl 8053970 for(i = 0; i < VIEW_FILES; i++) 8095382: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095386: 3301 adds r3, #1 8095388: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 809538c: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095390: 2b0b cmp r3, #11 8095392: f67e affd bls.w 8094390 if(NumFilesGTR > VIEW_FILES) 8095396: 4bb5 ldr r3, [pc, #724] ; (809566c ) 8095398: 681b ldr r3, [r3, #0] 809539a: 2b0c cmp r3, #12 809539c: d95f bls.n 809545e k = (140 * VIEW_FILES) / NumFilesGTR; //äëèíà ïîëçóíêà 809539e: 4bb3 ldr r3, [pc, #716] ; (809566c ) 80953a0: 681b ldr r3, [r3, #0] 80953a2: f44f 62d2 mov.w r2, #1680 ; 0x690 80953a6: fbb2 f3f3 udiv r3, r2, r3 80953aa: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 80953ae: 4bb0 ldr r3, [pc, #704] ; (8095670 ) 80953b0: 681b ldr r3, [r3, #0] 80953b2: 228c movs r2, #140 ; 0x8c 80953b4: fb02 f303 mul.w r3, r2, r3 80953b8: ee07 3a90 vmov s15, r3 80953bc: eef8 7a67 vcvt.f32.u32 s15, s15 80953c0: f507 638b add.w r3, r7, #1112 ; 0x458 80953c4: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesGTR) + 96.0f; 80953c8: 4ba8 ldr r3, [pc, #672] ; (809566c ) 80953ca: 681b ldr r3, [r3, #0] 80953cc: ee07 3a90 vmov s15, r3 80953d0: eeb8 7a67 vcvt.f32.u32 s14, s15 80953d4: f507 638b add.w r3, r7, #1112 ; 0x458 80953d8: edd3 6a00 vldr s13, [r3] 80953dc: eec6 7a87 vdiv.f32 s15, s13, s14 80953e0: ed9f 7aa4 vldr s14, [pc, #656] ; 8095674 80953e4: ee77 7a87 vadd.f32 s15, s15, s14 80953e8: f507 638b add.w r3, r7, #1112 ; 0x458 80953ec: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 80953f0: f507 638b add.w r3, r7, #1112 ; 0x458 80953f4: edd3 7a00 vldr s15, [r3] 80953f8: eefc 7ae7 vcvt.u32.f32 s15, s15 80953fc: edc7 7a01 vstr s15, [r7, #4] 8095400: 88bb ldrh r3, [r7, #4] 8095402: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 8095406: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809540a: b29a uxth r2, r3 809540c: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8095410: 4413 add r3, r2 8095412: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 8095416: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 809541a: 2bec cmp r3, #236 ; 0xec 809541c: d905 bls.n 809542a k = 236 - y0; 809541e: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 8095422: f1c3 03ec rsb r3, r3, #236 ; 0xec 8095426: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809542a: 498e ldr r1, [pc, #568] ; (8095664 ) 809542c: 4892 ldr r0, [pc, #584] ; (8095678 ) 809542e: f7be f9d9 bl 80537e4 BSP_LCD_DrawRect(314, 94, 5, 143); 8095432: 238f movs r3, #143 ; 0x8f 8095434: 2205 movs r2, #5 8095436: 215e movs r1, #94 ; 0x5e 8095438: f44f 709d mov.w r0, #314 ; 0x13a 809543c: f7be fcd8 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095440: 4988 ldr r1, [pc, #544] ; (8095664 ) 8095442: f04f 30ff mov.w r0, #4294967295 8095446: f7be f9cd bl 80537e4 BSP_LCD_FillRect(316, y0, 2, k); 809544a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809544e: b29b uxth r3, r3 8095450: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 8095454: 2202 movs r2, #2 8095456: f44f 709e mov.w r0, #316 ; 0x13c 809545a: f7be fe51 bl 8054100 if((menupos != NoFilesGTR) && (menupos != FilesGTR)) 809545e: 4b87 ldr r3, [pc, #540] ; (809567c ) 8095460: 781b ldrb r3, [r3, #0] 8095462: b2db uxtb r3, r3 8095464: 2b01 cmp r3, #1 8095466: f002 80dc beq.w 8097622 809546a: 4b84 ldr r3, [pc, #528] ; (809567c ) 809546c: 781b ldrb r3, [r3, #0] 809546e: b2db uxtb r3, r3 8095470: 2b02 cmp r3, #2 8095472: f002 80d6 beq.w 8097622 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8095476: 497b ldr r1, [pc, #492] ; (8095664 ) 8095478: 487f ldr r0, [pc, #508] ; (8095678 ) 809547a: f7be f9b3 bl 80537e4 BSP_LCD_FillRect(60, 73, 200, 124); 809547e: 237c movs r3, #124 ; 0x7c 8095480: 22c8 movs r2, #200 ; 0xc8 8095482: 2149 movs r1, #73 ; 0x49 8095484: 203c movs r0, #60 ; 0x3c 8095486: f7be fe3b bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 809548a: 4976 ldr r1, [pc, #472] ; (8095664 ) 809548c: 4875 ldr r0, [pc, #468] ; (8095664 ) 809548e: f7be f9a9 bl 80537e4 BSP_LCD_FillRect(61, 74, 198, 122); 8095492: 237a movs r3, #122 ; 0x7a 8095494: 22c6 movs r2, #198 ; 0xc6 8095496: 214a movs r1, #74 ; 0x4a 8095498: 203d movs r0, #61 ; 0x3d 809549a: f7be fe31 bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809549e: 4971 ldr r1, [pc, #452] ; (8095664 ) 80954a0: f04f 30ff mov.w r0, #4294967295 80954a4: f7be f99e bl 80537e4 BSP_LCD_SetFont(&Font12); 80954a8: 4875 ldr r0, [pc, #468] ; (8095680 ) 80954aa: f7be f9d7 bl 805385c if((menupos == UpNo) || (menupos == UpYes)) 80954ae: 4b73 ldr r3, [pc, #460] ; (809567c ) 80954b0: 781b ldrb r3, [r3, #0] 80954b2: b2db uxtb r3, r3 80954b4: 2b06 cmp r3, #6 80954b6: d004 beq.n 80954c2 80954b8: 4b70 ldr r3, [pc, #448] ; (809567c ) 80954ba: 781b ldrb r3, [r3, #0] 80954bc: b2db uxtb r3, r3 80954be: 2b07 cmp r3, #7 80954c0: d179 bne.n 80955b6 if(pardata.LANG == RUS) 80954c2: 4b70 ldr r3, [pc, #448] ; (8095684 ) 80954c4: 7b1b ldrb r3, [r3, #12] 80954c6: b2db uxtb r3, r3 80954c8: 2b00 cmp r3, #0 80954ca: d10c bne.n 80954e6 BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûå ôàéëû áóäóò", CENTER_MODE); 80954cc: 2301 movs r3, #1 80954ce: 4a6e ldr r2, [pc, #440] ; (8095688 ) 80954d0: 216f movs r1, #111 ; 0x6f 80954d2: 20a0 movs r0, #160 ; 0xa0 80954d4: f7be fa4c bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 80954d8: 2301 movs r3, #1 80954da: 4a6c ldr r2, [pc, #432] ; (809568c ) 80954dc: 217e movs r1, #126 ; 0x7e 80954de: 20a0 movs r0, #160 ; 0xa0 80954e0: f7be fa46 bl 8053970 80954e4: e00b b.n 80954fe BSP_LCD_DisplayStringAt(160, 111, "The selected files will", CENTER_MODE); 80954e6: 2301 movs r3, #1 80954e8: 4a69 ldr r2, [pc, #420] ; (8095690 ) 80954ea: 216f movs r1, #111 ; 0x6f 80954ec: 20a0 movs r0, #160 ; 0xa0 80954ee: f7be fa3f bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 80954f2: 2301 movs r3, #1 80954f4: 4a67 ldr r2, [pc, #412] ; (8095694 ) 80954f6: 217e movs r1, #126 ; 0x7e 80954f8: 20a0 movs r0, #160 ; 0xa0 80954fa: f7be fa39 bl 8053970 if(menupos == UpNo) 80954fe: 4b5f ldr r3, [pc, #380] ; (809567c ) 8095500: 781b ldrb r3, [r3, #0] 8095502: b2db uxtb r3, r3 8095504: 2b06 cmp r3, #6 8095506: d128 bne.n 809555a if(pardata.LANG == RUS) 8095508: 4b5e ldr r3, [pc, #376] ; (8095684 ) 809550a: 7b1b ldrb r3, [r3, #12] 809550c: b2db uxtb r3, r3 809550e: 2b00 cmp r3, #0 8095510: d111 bne.n 8095536 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8095512: 2301 movs r3, #1 8095514: 4a60 ldr r2, [pc, #384] ; (8095698 ) 8095516: 21af movs r1, #175 ; 0xaf 8095518: 20e6 movs r0, #230 ; 0xe6 809551a: f7be fa29 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809551e: 495f ldr r1, [pc, #380] ; (809569c ) 8095520: f04f 30ff mov.w r0, #4294967295 8095524: f7be f95e bl 80537e4 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8095528: 2301 movs r3, #1 809552a: 4a5d ldr r2, [pc, #372] ; (80956a0 ) 809552c: 21af movs r1, #175 ; 0xaf 809552e: 205a movs r0, #90 ; 0x5a 8095530: f7be fa1e bl 8053970 if(menupos == UpNo) 8095534: e088 b.n 8095648 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8095536: 2301 movs r3, #1 8095538: 4a5a ldr r2, [pc, #360] ; (80956a4 ) 809553a: 21af movs r1, #175 ; 0xaf 809553c: 20e6 movs r0, #230 ; 0xe6 809553e: f7be fa17 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095542: 4956 ldr r1, [pc, #344] ; (809569c ) 8095544: f04f 30ff mov.w r0, #4294967295 8095548: f7be f94c bl 80537e4 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 809554c: 2301 movs r3, #1 809554e: 4a56 ldr r2, [pc, #344] ; (80956a8 ) 8095550: 21af movs r1, #175 ; 0xaf 8095552: 205a movs r0, #90 ; 0x5a 8095554: f7be fa0c bl 8053970 if(menupos == UpNo) 8095558: e076 b.n 8095648 if(menupos == UpYes) 809555a: 4b48 ldr r3, [pc, #288] ; (809567c ) 809555c: 781b ldrb r3, [r3, #0] 809555e: b2db uxtb r3, r3 8095560: 2b07 cmp r3, #7 8095562: d171 bne.n 8095648 if(pardata.LANG == RUS) 8095564: 4b47 ldr r3, [pc, #284] ; (8095684 ) 8095566: 7b1b ldrb r3, [r3, #12] 8095568: b2db uxtb r3, r3 809556a: 2b00 cmp r3, #0 809556c: d111 bne.n 8095592 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 809556e: 2301 movs r3, #1 8095570: 4a4b ldr r2, [pc, #300] ; (80956a0 ) 8095572: 21af movs r1, #175 ; 0xaf 8095574: 205a movs r0, #90 ; 0x5a 8095576: f7be f9fb bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809557a: 4948 ldr r1, [pc, #288] ; (809569c ) 809557c: f04f 30ff mov.w r0, #4294967295 8095580: f7be f930 bl 80537e4 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8095584: 2301 movs r3, #1 8095586: 4a44 ldr r2, [pc, #272] ; (8095698 ) 8095588: 21af movs r1, #175 ; 0xaf 809558a: 20e6 movs r0, #230 ; 0xe6 809558c: f7be f9f0 bl 8053970 if(menupos == UpNo) 8095590: e05a b.n 8095648 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8095592: 2301 movs r3, #1 8095594: 4a44 ldr r2, [pc, #272] ; (80956a8 ) 8095596: 21af movs r1, #175 ; 0xaf 8095598: 205a movs r0, #90 ; 0x5a 809559a: f7be f9e9 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809559e: 493f ldr r1, [pc, #252] ; (809569c ) 80955a0: f04f 30ff mov.w r0, #4294967295 80955a4: f7be f91e bl 80537e4 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 80955a8: 2301 movs r3, #1 80955aa: 4a3e ldr r2, [pc, #248] ; (80956a4 ) 80955ac: 21af movs r1, #175 ; 0xaf 80955ae: 20e6 movs r0, #230 ; 0xe6 80955b0: f7be f9de bl 8053970 if(menupos == UpNo) 80955b4: e048 b.n 8095648 if(menupos == CleanUpResult) 80955b6: 4b31 ldr r3, [pc, #196] ; (809567c ) 80955b8: 781b ldrb r3, [r3, #0] 80955ba: b2db uxtb r3, r3 80955bc: 2b0a cmp r3, #10 80955be: f042 8030 bne.w 8097622 if(CleanStatus == AP_OK) 80955c2: 4b3a ldr r3, [pc, #232] ; (80956ac ) 80955c4: 781b ldrb r3, [r3, #0] 80955c6: b2db uxtb r3, r3 80955c8: 2b00 cmp r3, #0 80955ca: d118 bne.n 80955fe if(pardata.LANG == RUS) 80955cc: 4b2d ldr r3, [pc, #180] ; (8095684 ) 80955ce: 7b1b ldrb r3, [r3, #12] 80955d0: b2db uxtb r3, r3 80955d2: 2b00 cmp r3, #0 80955d4: d10c bne.n 80955f0 BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 80955d6: 2301 movs r3, #1 80955d8: 4a35 ldr r2, [pc, #212] ; (80956b0 ) 80955da: 216f movs r1, #111 ; 0x6f 80955dc: 20a0 movs r0, #160 ; 0xa0 80955de: f7be f9c7 bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 80955e2: 2301 movs r3, #1 80955e4: 4a33 ldr r2, [pc, #204] ; (80956b4 ) 80955e6: 217e movs r1, #126 ; 0x7e 80955e8: 20a0 movs r0, #160 ; 0xa0 80955ea: f7be f9c1 bl 8053970 80955ee: e01e b.n 809562e BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 80955f0: 2301 movs r3, #1 80955f2: 4a31 ldr r2, [pc, #196] ; (80956b8 ) 80955f4: 217e movs r1, #126 ; 0x7e 80955f6: 20a0 movs r0, #160 ; 0xa0 80955f8: f7be f9ba bl 8053970 80955fc: e017 b.n 809562e if(pardata.LANG == RUS) 80955fe: 4b21 ldr r3, [pc, #132] ; (8095684 ) 8095600: 7b1b ldrb r3, [r3, #12] 8095602: b2db uxtb r3, r3 8095604: 2b00 cmp r3, #0 8095606: d10c bne.n 8095622 BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8095608: 2301 movs r3, #1 809560a: 4a2c ldr r2, [pc, #176] ; (80956bc ) 809560c: 216f movs r1, #111 ; 0x6f 809560e: 20a0 movs r0, #160 ; 0xa0 8095610: f7be f9ae bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 8095614: 2301 movs r3, #1 8095616: 4a2a ldr r2, [pc, #168] ; (80956c0 ) 8095618: 217e movs r1, #126 ; 0x7e 809561a: 20a0 movs r0, #160 ; 0xa0 809561c: f7be f9a8 bl 8053970 8095620: e005 b.n 809562e BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 8095622: 2301 movs r3, #1 8095624: 4a27 ldr r2, [pc, #156] ; (80956c4 ) 8095626: 217e movs r1, #126 ; 0x7e 8095628: 20a0 movs r0, #160 ; 0xa0 809562a: f7be f9a1 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809562e: 491b ldr r1, [pc, #108] ; (809569c ) 8095630: f04f 30ff mov.w r0, #4294967295 8095634: f7be f8d6 bl 80537e4 BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8095638: 2301 movs r3, #1 809563a: 4a23 ldr r2, [pc, #140] ; (80956c8 ) 809563c: 21af movs r1, #175 ; 0xaf 809563e: 20a0 movs r0, #160 ; 0xa0 8095640: f7be f996 bl 8053970 break; 8095644: f001 bfed b.w 8097622 if(menupos == UpNo) 8095648: bf00 nop break; 809564a: f001 bfea b.w 8097622 case ROUTE: if(pardata.LANG == RUS) 809564e: 4b0d ldr r3, [pc, #52] ; (8095684 ) 8095650: 7b1b ldrb r3, [r3, #12] 8095652: b2db uxtb r3, r3 8095654: 2b00 cmp r3, #0 8095656: d13b bne.n 80956d0 DrawImage(&bmLEGEND_GTR_RUS, 0, 45); 8095658: 222d movs r2, #45 ; 0x2d 809565a: 2100 movs r1, #0 809565c: 481b ldr r0, [pc, #108] ; (80956cc ) 809565e: f7be ffb5 bl 80545cc 8095662: e03a b.n 80956da 8095664: ff0a0f1f .word 0xff0a0f1f 8095668: 080ef4d8 .word 0x080ef4d8 809566c: 20020e04 .word 0x20020e04 8095670: 20020de4 .word 0x20020de4 8095674: 42c00000 .word 0x42c00000 8095678: ffd3d3d3 .word 0xffd3d3d3 809567c: 20020070 .word 0x20020070 8095680: 20020038 .word 0x20020038 8095684: 20023e60 .word 0x20023e60 8095688: 080d0488 .word 0x080d0488 809568c: 080d0250 .word 0x080d0250 8095690: 080d04a0 .word 0x080d04a0 8095694: 080d0280 .word 0x080d0280 8095698: 080d0298 .word 0x080d0298 809569c: ff606060 .word 0xff606060 80956a0: 080d029c .word 0x080d029c 80956a4: 080d02a0 .word 0x080d02a0 80956a8: 080d02a4 .word 0x080d02a4 80956ac: 20020dd0 .word 0x20020dd0 80956b0: 080d02a8 .word 0x080d02a8 80956b4: 080d0030 .word 0x080d0030 80956b8: 080d02bc .word 0x080d02bc 80956bc: 080d003c .word 0x080d003c 80956c0: 080d02d4 .word 0x080d02d4 80956c4: 080d02e0 .word 0x080d02e0 80956c8: 080d02f0 .word 0x080d02f0 80956cc: 081247a4 .word 0x081247a4 else DrawImage(&bmLEGEND_GTR_ENG, 0, 45); 80956d0: 222d movs r2, #45 ; 0x2d 80956d2: 2100 movs r1, #0 80956d4: 48b6 ldr r0, [pc, #728] ; (80959b0 ) 80956d6: f7be ff79 bl 80545cc if(menupos == NoFilesCSV) 80956da: 4bb6 ldr r3, [pc, #728] ; (80959b4 ) 80956dc: 781b ldrb r3, [r3, #0] 80956de: b2db uxtb r3, r3 80956e0: 2b01 cmp r3, #1 80956e2: d11c bne.n 809571e { BSP_LCD_SetFont(&Font12); 80956e4: 48b4 ldr r0, [pc, #720] ; (80959b8 ) 80956e6: f7be f8b9 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80956ea: 49b4 ldr r1, [pc, #720] ; (80959bc ) 80956ec: f04f 30ff mov.w r0, #4294967295 80956f0: f7be f878 bl 80537e4 if(pardata.LANG == RUS) 80956f4: 4bb2 ldr r3, [pc, #712] ; (80959c0 ) 80956f6: 7b1b ldrb r3, [r3, #12] 80956f8: b2db uxtb r3, r3 80956fa: 2b00 cmp r3, #0 80956fc: d107 bne.n 809570e BSP_LCD_DisplayStringAt(160, 111+15, "Ôàéëû îòñóòñòâóþò...", CENTER_MODE); 80956fe: 2301 movs r3, #1 8095700: 4ab0 ldr r2, [pc, #704] ; (80959c4 ) 8095702: 217e movs r1, #126 ; 0x7e 8095704: 20a0 movs r0, #160 ; 0xa0 8095706: f7be f933 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); } } } break; 809570a: f001 bf8c b.w 8097626 else BSP_LCD_DisplayStringAt(160, 111+15, "No files...", CENTER_MODE); 809570e: 2301 movs r3, #1 8095710: 4aad ldr r2, [pc, #692] ; (80959c8 ) 8095712: 217e movs r1, #126 ; 0x7e 8095714: 20a0 movs r0, #160 ; 0xa0 8095716: f7be f92b bl 8053970 break; 809571a: f001 bf84 b.w 8097626 if((menupos == FilesCSV) || (menupos == UpNo) || (menupos == UpYes) || (menupos == CleanUpResult)) // 809571e: 4ba5 ldr r3, [pc, #660] ; (80959b4 ) 8095720: 781b ldrb r3, [r3, #0] 8095722: b2db uxtb r3, r3 8095724: 2b02 cmp r3, #2 8095726: d00f beq.n 8095748 8095728: 4ba2 ldr r3, [pc, #648] ; (80959b4 ) 809572a: 781b ldrb r3, [r3, #0] 809572c: b2db uxtb r3, r3 809572e: 2b06 cmp r3, #6 8095730: d00a beq.n 8095748 8095732: 4ba0 ldr r3, [pc, #640] ; (80959b4 ) 8095734: 781b ldrb r3, [r3, #0] 8095736: b2db uxtb r3, r3 8095738: 2b07 cmp r3, #7 809573a: d005 beq.n 8095748 809573c: 4b9d ldr r3, [pc, #628] ; (80959b4 ) 809573e: 781b ldrb r3, [r3, #0] 8095740: b2db uxtb r3, r3 8095742: 2b0a cmp r3, #10 8095744: f041 876f bne.w 8097626 BSP_LCD_SetFont(&Font12); 8095748: 489b ldr r0, [pc, #620] ; (80959b8 ) 809574a: f7be f887 bl 805385c for(i = 0; i < VIEW_FILES; i++) 809574e: 2300 movs r3, #0 8095750: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8095754: e07e b.n 8095854 if(CursorIndex == i) 8095756: 4b9d ldr r3, [pc, #628] ; (80959cc ) 8095758: 681a ldr r2, [r3, #0] 809575a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809575e: 429a cmp r2, r3 8095760: d119 bne.n 8095796 LCD_SetColors(LCD_COLOR_CURSOR, LCD_COLOR_CURSOR); 8095762: 499b ldr r1, [pc, #620] ; (80959d0 ) 8095764: 489a ldr r0, [pc, #616] ; (80959d0 ) 8095766: f7be f83d bl 80537e4 BSP_LCD_FillRect(3, POS_Y_12[i], 312, CurrentFont->Height); 809576a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809576e: 4a99 ldr r2, [pc, #612] ; (80959d4 ) 8095770: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 8095774: 4b98 ldr r3, [pc, #608] ; (80959d8 ) 8095776: 681b ldr r3, [r3, #0] 8095778: 88db ldrh r3, [r3, #6] 809577a: f44f 729c mov.w r2, #312 ; 0x138 809577e: 2003 movs r0, #3 8095780: f7be fcbe bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095784: 4992 ldr r1, [pc, #584] ; (80959d0 ) 8095786: f04f 30ff mov.w r0, #4294967295 809578a: f7be f82b bl 80537e4 j = LCD_COLOR_CURSOR; 809578e: 4b90 ldr r3, [pc, #576] ; (80959d0 ) 8095790: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc 8095794: e007 b.n 80957a6 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095796: 4989 ldr r1, [pc, #548] ; (80959bc ) 8095798: f04f 30ff mov.w r0, #4294967295 809579c: f7be f822 bl 80537e4 j = LCD_COLOR_BLACK; 80957a0: 4b86 ldr r3, [pc, #536] ; (80959bc ) 80957a2: f8c7 33fc str.w r3, [r7, #1020] ; 0x3fc if(ExplorerFiles[i].fname[0] != 0) 80957a6: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80957aa: 498c ldr r1, [pc, #560] ; (80959dc ) 80957ac: 4613 mov r3, r2 80957ae: 00db lsls r3, r3, #3 80957b0: 1a9b subs r3, r3, r2 80957b2: 00db lsls r3, r3, #3 80957b4: 440b add r3, r1 80957b6: 330c adds r3, #12 80957b8: 781b ldrb r3, [r3, #0] 80957ba: 2b00 cmp r3, #0 80957bc: d045 beq.n 809584a if(NumFilesDelete != 0) 80957be: 4b88 ldr r3, [pc, #544] ; (80959e0 ) 80957c0: 681b ldr r3, [r3, #0] 80957c2: 2b00 cmp r3, #0 80957c4: d02e beq.n 8095824 for(k = 0; k < MAX_CHECKED_FILES; k++) 80957c6: 2300 movs r3, #0 80957c8: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 80957cc: e025 b.n 809581a if(strcmp(ExplorerFiles[i].fname, &StrRAM(k, 0)) == 0) 80957ce: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 80957d2: 4613 mov r3, r2 80957d4: 00db lsls r3, r3, #3 80957d6: 1a9b subs r3, r3, r2 80957d8: 00db lsls r3, r3, #3 80957da: 3308 adds r3, #8 80957dc: 4a7f ldr r2, [pc, #508] ; (80959dc ) 80957de: 4413 add r3, r2 80957e0: 1d18 adds r0, r3, #4 80957e2: f8d7 23f8 ldr.w r2, [r7, #1016] ; 0x3f8 80957e6: 4613 mov r3, r2 80957e8: 009b lsls r3, r3, #2 80957ea: 4413 add r3, r2 80957ec: 00db lsls r3, r3, #3 80957ee: 461a mov r2, r3 80957f0: 4b7c ldr r3, [pc, #496] ; (80959e4 ) 80957f2: 4413 add r3, r2 80957f4: 4619 mov r1, r3 80957f6: f78a fd83 bl 8020300 80957fa: 4603 mov r3, r0 80957fc: 2b00 cmp r3, #0 80957fe: d107 bne.n 8095810 LCD_SetColors(LCD_COLOR_GREEN, j); 8095800: f8d7 33fc ldr.w r3, [r7, #1020] ; 0x3fc 8095804: 4619 mov r1, r3 8095806: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809580a: f7bd ffeb bl 80537e4 break; 809580e: e009 b.n 8095824 for(k = 0; k < MAX_CHECKED_FILES; k++) 8095810: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095814: 3301 adds r3, #1 8095816: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 809581a: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 809581e: f5b3 7f00 cmp.w r3, #512 ; 0x200 8095822: d3d4 bcc.n 80957ce BSP_LCD_DisplayStringAt(5, POS_Y_12[i], (char *) ExplorerFiles[i].fname, LEFT_MODE); 8095824: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095828: 4a6a ldr r2, [pc, #424] ; (80959d4 ) 809582a: f832 1013 ldrh.w r1, [r2, r3, lsl #1] 809582e: f8d7 2400 ldr.w r2, [r7, #1024] ; 0x400 8095832: 4613 mov r3, r2 8095834: 00db lsls r3, r3, #3 8095836: 1a9b subs r3, r3, r2 8095838: 00db lsls r3, r3, #3 809583a: 3308 adds r3, #8 809583c: 4a67 ldr r2, [pc, #412] ; (80959dc ) 809583e: 4413 add r3, r2 8095840: 1d1a adds r2, r3, #4 8095842: 2303 movs r3, #3 8095844: 2005 movs r0, #5 8095846: f7be f893 bl 8053970 for(i = 0; i < VIEW_FILES; i++) 809584a: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 809584e: 3301 adds r3, #1 8095850: f8c7 3400 str.w r3, [r7, #1024] ; 0x400 8095854: f8d7 3400 ldr.w r3, [r7, #1024] ; 0x400 8095858: 2b0b cmp r3, #11 809585a: f67f af7c bls.w 8095756 if(NumFilesCSV > VIEW_FILES) 809585e: 4b62 ldr r3, [pc, #392] ; (80959e8 ) 8095860: 681b ldr r3, [r3, #0] 8095862: 2b0c cmp r3, #12 8095864: d95f bls.n 8095926 k = (140 * VIEW_FILES) / NumFilesCSV; //äëèíà ïîëçóíêà 8095866: 4b60 ldr r3, [pc, #384] ; (80959e8 ) 8095868: 681b ldr r3, [r3, #0] 809586a: f44f 62d2 mov.w r2, #1680 ; 0x690 809586e: fbb2 f3f3 udiv r3, r2, r3 8095872: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 f = (float32_t) (140 * FirstFileIndex); 8095876: 4b5d ldr r3, [pc, #372] ; (80959ec ) 8095878: 681b ldr r3, [r3, #0] 809587a: 228c movs r2, #140 ; 0x8c 809587c: fb02 f303 mul.w r3, r2, r3 8095880: ee07 3a90 vmov s15, r3 8095884: eef8 7a67 vcvt.f32.u32 s15, s15 8095888: f507 638b add.w r3, r7, #1112 ; 0x458 809588c: edc3 7a00 vstr s15, [r3] f = (f / (float32_t) NumFilesCSV) + 96.0f; 8095890: 4b55 ldr r3, [pc, #340] ; (80959e8 ) 8095892: 681b ldr r3, [r3, #0] 8095894: ee07 3a90 vmov s15, r3 8095898: eeb8 7a67 vcvt.f32.u32 s14, s15 809589c: f507 638b add.w r3, r7, #1112 ; 0x458 80958a0: edd3 6a00 vldr s13, [r3] 80958a4: eec6 7a87 vdiv.f32 s15, s13, s14 80958a8: ed9f 7a51 vldr s14, [pc, #324] ; 80959f0 80958ac: ee77 7a87 vadd.f32 s15, s15, s14 80958b0: f507 638b add.w r3, r7, #1112 ; 0x458 80958b4: edc3 7a00 vstr s15, [r3] y0 = (uint16_t) f; //âåðõíÿÿ êîîðäèíàòà ïîëçóíêà 80958b8: f507 638b add.w r3, r7, #1112 ; 0x458 80958bc: edd3 7a00 vldr s15, [r3] 80958c0: eefc 7ae7 vcvt.u32.f32 s15, s15 80958c4: edc7 7a01 vstr s15, [r7, #4] 80958c8: 88bb ldrh r3, [r7, #4] 80958ca: f8a7 343c strh.w r3, [r7, #1084] ; 0x43c y1 = y0 + k; 80958ce: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 80958d2: b29a uxth r2, r3 80958d4: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80958d8: 4413 add r3, r2 80958da: f8a7 343a strh.w r3, [r7, #1082] ; 0x43a if(y1 > 236) 80958de: f8b7 343a ldrh.w r3, [r7, #1082] ; 0x43a 80958e2: 2bec cmp r3, #236 ; 0xec 80958e4: d905 bls.n 80958f2 k = 236 - y0; 80958e6: f8b7 343c ldrh.w r3, [r7, #1084] ; 0x43c 80958ea: f1c3 03ec rsb r3, r3, #236 ; 0xec 80958ee: f8c7 33f8 str.w r3, [r7, #1016] ; 0x3f8 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80958f2: 4932 ldr r1, [pc, #200] ; (80959bc ) 80958f4: 483f ldr r0, [pc, #252] ; (80959f4 ) 80958f6: f7bd ff75 bl 80537e4 BSP_LCD_DrawRect(314, 94, 5, 143); 80958fa: 238f movs r3, #143 ; 0x8f 80958fc: 2205 movs r2, #5 80958fe: 215e movs r1, #94 ; 0x5e 8095900: f44f 709d mov.w r0, #314 ; 0x13a 8095904: f7be fa74 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095908: 492c ldr r1, [pc, #176] ; (80959bc ) 809590a: f04f 30ff mov.w r0, #4294967295 809590e: f7bd ff69 bl 80537e4 BSP_LCD_FillRect(316, y0, 2, k); 8095912: f8d7 33f8 ldr.w r3, [r7, #1016] ; 0x3f8 8095916: b29b uxth r3, r3 8095918: f8b7 143c ldrh.w r1, [r7, #1084] ; 0x43c 809591c: 2202 movs r2, #2 809591e: f44f 709e mov.w r0, #316 ; 0x13c 8095922: f7be fbed bl 8054100 if((menupos != NoFilesCSV) && (menupos != FilesCSV)) 8095926: 4b23 ldr r3, [pc, #140] ; (80959b4 ) 8095928: 781b ldrb r3, [r3, #0] 809592a: b2db uxtb r3, r3 809592c: 2b01 cmp r3, #1 809592e: f001 867a beq.w 8097626 8095932: 4b20 ldr r3, [pc, #128] ; (80959b4 ) 8095934: 781b ldrb r3, [r3, #0] 8095936: b2db uxtb r3, r3 8095938: 2b02 cmp r3, #2 809593a: f001 8674 beq.w 8097626 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809593e: 491f ldr r1, [pc, #124] ; (80959bc ) 8095940: 482c ldr r0, [pc, #176] ; (80959f4 ) 8095942: f7bd ff4f bl 80537e4 BSP_LCD_FillRect(60, 73, 200, 124); 8095946: 237c movs r3, #124 ; 0x7c 8095948: 22c8 movs r2, #200 ; 0xc8 809594a: 2149 movs r1, #73 ; 0x49 809594c: 203c movs r0, #60 ; 0x3c 809594e: f7be fbd7 bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8095952: 491a ldr r1, [pc, #104] ; (80959bc ) 8095954: 4819 ldr r0, [pc, #100] ; (80959bc ) 8095956: f7bd ff45 bl 80537e4 BSP_LCD_FillRect(61, 74, 198, 122); 809595a: 237a movs r3, #122 ; 0x7a 809595c: 22c6 movs r2, #198 ; 0xc6 809595e: 214a movs r1, #74 ; 0x4a 8095960: 203d movs r0, #61 ; 0x3d 8095962: f7be fbcd bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095966: 4915 ldr r1, [pc, #84] ; (80959bc ) 8095968: f04f 30ff mov.w r0, #4294967295 809596c: f7bd ff3a bl 80537e4 BSP_LCD_SetFont(&Font12); 8095970: 4811 ldr r0, [pc, #68] ; (80959b8 ) 8095972: f7bd ff73 bl 805385c if((menupos == UpNo) || (menupos == UpYes)) 8095976: 4b0f ldr r3, [pc, #60] ; (80959b4 ) 8095978: 781b ldrb r3, [r3, #0] 809597a: b2db uxtb r3, r3 809597c: 2b06 cmp r3, #6 809597e: d005 beq.n 809598c 8095980: 4b0c ldr r3, [pc, #48] ; (80959b4 ) 8095982: 781b ldrb r3, [r3, #0] 8095984: b2db uxtb r3, r3 8095986: 2b07 cmp r3, #7 8095988: f040 80a2 bne.w 8095ad0 if(pardata.LANG == RUS) 809598c: 4b0c ldr r3, [pc, #48] ; (80959c0 ) 809598e: 7b1b ldrb r3, [r3, #12] 8095990: b2db uxtb r3, r3 8095992: 2b00 cmp r3, #0 8095994: d134 bne.n 8095a00 BSP_LCD_DisplayStringAt(160, 111, "Âûáðàííûå ôàéëû áóäóò", CENTER_MODE); 8095996: 2301 movs r3, #1 8095998: 4a17 ldr r2, [pc, #92] ; (80959f8 ) 809599a: 216f movs r1, #111 ; 0x6f 809599c: 20a0 movs r0, #160 ; 0xa0 809599e: f7bd ffe7 bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíû. Ïðîäîëæèòü?", CENTER_MODE); 80959a2: 2301 movs r3, #1 80959a4: 4a15 ldr r2, [pc, #84] ; (80959fc ) 80959a6: 217e movs r1, #126 ; 0x7e 80959a8: 20a0 movs r0, #160 ; 0xa0 80959aa: f7bd ffe1 bl 8053970 80959ae: e033 b.n 8095a18 80959b0: 0811fc98 .word 0x0811fc98 80959b4: 20020070 .word 0x20020070 80959b8: 20020038 .word 0x20020038 80959bc: ff0a0f1f .word 0xff0a0f1f 80959c0: 20023e60 .word 0x20023e60 80959c4: 080d0470 .word 0x080d0470 80959c8: 080d03c0 .word 0x080d03c0 80959cc: 20020de0 .word 0x20020de0 80959d0: ff606060 .word 0xff606060 80959d4: 080ef4d8 .word 0x080ef4d8 80959d8: 20025d24 .word 0x20025d24 80959dc: 20022350 .word 0x20022350 80959e0: 20020e0c .word 0x20020e0c 80959e4: 6404b000 .word 0x6404b000 80959e8: 20020e08 .word 0x20020e08 80959ec: 20020de4 .word 0x20020de4 80959f0: 42c00000 .word 0x42c00000 80959f4: ffd3d3d3 .word 0xffd3d3d3 80959f8: 080d0488 .word 0x080d0488 80959fc: 080d0250 .word 0x080d0250 BSP_LCD_DisplayStringAt(160, 111, "The selected files will", CENTER_MODE); 8095a00: 2301 movs r3, #1 8095a02: 4ac8 ldr r2, [pc, #800] ; (8095d24 ) 8095a04: 216f movs r1, #111 ; 0x6f 8095a06: 20a0 movs r0, #160 ; 0xa0 8095a08: f7bd ffb2 bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "be deleted. Continue?", CENTER_MODE); 8095a0c: 2301 movs r3, #1 8095a0e: 4ac6 ldr r2, [pc, #792] ; (8095d28 ) 8095a10: 217e movs r1, #126 ; 0x7e 8095a12: 20a0 movs r0, #160 ; 0xa0 8095a14: f7bd ffac bl 8053970 if(menupos == UpNo) 8095a18: 4bc4 ldr r3, [pc, #784] ; (8095d2c ) 8095a1a: 781b ldrb r3, [r3, #0] 8095a1c: b2db uxtb r3, r3 8095a1e: 2b06 cmp r3, #6 8095a20: d128 bne.n 8095a74 if(pardata.LANG == RUS) 8095a22: 4bc3 ldr r3, [pc, #780] ; (8095d30 ) 8095a24: 7b1b ldrb r3, [r3, #12] 8095a26: b2db uxtb r3, r3 8095a28: 2b00 cmp r3, #0 8095a2a: d111 bne.n 8095a50 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8095a2c: 2301 movs r3, #1 8095a2e: 4ac1 ldr r2, [pc, #772] ; (8095d34 ) 8095a30: 21af movs r1, #175 ; 0xaf 8095a32: 20e6 movs r0, #230 ; 0xe6 8095a34: f7bd ff9c bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095a38: 49bf ldr r1, [pc, #764] ; (8095d38 ) 8095a3a: f04f 30ff mov.w r0, #4294967295 8095a3e: f7bd fed1 bl 80537e4 BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8095a42: 2301 movs r3, #1 8095a44: 4abd ldr r2, [pc, #756] ; (8095d3c ) 8095a46: 21af movs r1, #175 ; 0xaf 8095a48: 205a movs r0, #90 ; 0x5a 8095a4a: f7bd ff91 bl 8053970 if(menupos == UpNo) 8095a4e: e088 b.n 8095b62 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8095a50: 2301 movs r3, #1 8095a52: 4abb ldr r2, [pc, #748] ; (8095d40 ) 8095a54: 21af movs r1, #175 ; 0xaf 8095a56: 20e6 movs r0, #230 ; 0xe6 8095a58: f7bd ff8a bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095a5c: 49b6 ldr r1, [pc, #728] ; (8095d38 ) 8095a5e: f04f 30ff mov.w r0, #4294967295 8095a62: f7bd febf bl 80537e4 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8095a66: 2301 movs r3, #1 8095a68: 4ab6 ldr r2, [pc, #728] ; (8095d44 ) 8095a6a: 21af movs r1, #175 ; 0xaf 8095a6c: 205a movs r0, #90 ; 0x5a 8095a6e: f7bd ff7f bl 8053970 if(menupos == UpNo) 8095a72: e076 b.n 8095b62 if(menupos == UpYes) 8095a74: 4bad ldr r3, [pc, #692] ; (8095d2c ) 8095a76: 781b ldrb r3, [r3, #0] 8095a78: b2db uxtb r3, r3 8095a7a: 2b07 cmp r3, #7 8095a7c: d171 bne.n 8095b62 if(pardata.LANG == RUS) 8095a7e: 4bac ldr r3, [pc, #688] ; (8095d30 ) 8095a80: 7b1b ldrb r3, [r3, #12] 8095a82: b2db uxtb r3, r3 8095a84: 2b00 cmp r3, #0 8095a86: d111 bne.n 8095aac BSP_LCD_DisplayStringAt(90, 175, "ÍÅÒ", CENTER_MODE); 8095a88: 2301 movs r3, #1 8095a8a: 4aac ldr r2, [pc, #688] ; (8095d3c ) 8095a8c: 21af movs r1, #175 ; 0xaf 8095a8e: 205a movs r0, #90 ; 0x5a 8095a90: f7bd ff6e bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095a94: 49a8 ldr r1, [pc, #672] ; (8095d38 ) 8095a96: f04f 30ff mov.w r0, #4294967295 8095a9a: f7bd fea3 bl 80537e4 BSP_LCD_DisplayStringAt(230, 175, "ÄÀ", CENTER_MODE); 8095a9e: 2301 movs r3, #1 8095aa0: 4aa4 ldr r2, [pc, #656] ; (8095d34 ) 8095aa2: 21af movs r1, #175 ; 0xaf 8095aa4: 20e6 movs r0, #230 ; 0xe6 8095aa6: f7bd ff63 bl 8053970 if(menupos == UpNo) 8095aaa: e05a b.n 8095b62 BSP_LCD_DisplayStringAt(90, 175, "NO", CENTER_MODE); 8095aac: 2301 movs r3, #1 8095aae: 4aa5 ldr r2, [pc, #660] ; (8095d44 ) 8095ab0: 21af movs r1, #175 ; 0xaf 8095ab2: 205a movs r0, #90 ; 0x5a 8095ab4: f7bd ff5c bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095ab8: 499f ldr r1, [pc, #636] ; (8095d38 ) 8095aba: f04f 30ff mov.w r0, #4294967295 8095abe: f7bd fe91 bl 80537e4 BSP_LCD_DisplayStringAt(230, 175, "YES", CENTER_MODE); 8095ac2: 2301 movs r3, #1 8095ac4: 4a9e ldr r2, [pc, #632] ; (8095d40 ) 8095ac6: 21af movs r1, #175 ; 0xaf 8095ac8: 20e6 movs r0, #230 ; 0xe6 8095aca: f7bd ff51 bl 8053970 if(menupos == UpNo) 8095ace: e048 b.n 8095b62 if(menupos == CleanUpResult) 8095ad0: 4b96 ldr r3, [pc, #600] ; (8095d2c ) 8095ad2: 781b ldrb r3, [r3, #0] 8095ad4: b2db uxtb r3, r3 8095ad6: 2b0a cmp r3, #10 8095ad8: f041 85a5 bne.w 8097626 if(CleanStatus == AP_OK) 8095adc: 4b9a ldr r3, [pc, #616] ; (8095d48 ) 8095ade: 781b ldrb r3, [r3, #0] 8095ae0: b2db uxtb r3, r3 8095ae2: 2b00 cmp r3, #0 8095ae4: d118 bne.n 8095b18 if(pardata.LANG == RUS) 8095ae6: 4b92 ldr r3, [pc, #584] ; (8095d30 ) 8095ae8: 7b1b ldrb r3, [r3, #12] 8095aea: b2db uxtb r3, r3 8095aec: 2b00 cmp r3, #0 8095aee: d10c bne.n 8095b0a BSP_LCD_DisplayStringAt(160, 111, "Óäàëåíèå çàâåðøåíî", CENTER_MODE); 8095af0: 2301 movs r3, #1 8095af2: 4a96 ldr r2, [pc, #600] ; (8095d4c ) 8095af4: 216f movs r1, #111 ; 0x6f 8095af6: 20a0 movs r0, #160 ; 0xa0 8095af8: f7bd ff3a bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "óñïåøíî!", CENTER_MODE); 8095afc: 2301 movs r3, #1 8095afe: 4a94 ldr r2, [pc, #592] ; (8095d50 ) 8095b00: 217e movs r1, #126 ; 0x7e 8095b02: 20a0 movs r0, #160 ; 0xa0 8095b04: f7bd ff34 bl 8053970 8095b08: e01e b.n 8095b48 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting successful!", CENTER_MODE); 8095b0a: 2301 movs r3, #1 8095b0c: 4a91 ldr r2, [pc, #580] ; (8095d54 ) 8095b0e: 217e movs r1, #126 ; 0x7e 8095b10: 20a0 movs r0, #160 ; 0xa0 8095b12: f7bd ff2d bl 8053970 8095b16: e017 b.n 8095b48 if(pardata.LANG == RUS) 8095b18: 4b85 ldr r3, [pc, #532] ; (8095d30 ) 8095b1a: 7b1b ldrb r3, [r3, #12] 8095b1c: b2db uxtb r3, r3 8095b1e: 2b00 cmp r3, #0 8095b20: d10c bne.n 8095b3c BSP_LCD_DisplayStringAt(160, 111, "Îøèáêà â ïðîöåññå", CENTER_MODE); 8095b22: 2301 movs r3, #1 8095b24: 4a8c ldr r2, [pc, #560] ; (8095d58 ) 8095b26: 216f movs r1, #111 ; 0x6f 8095b28: 20a0 movs r0, #160 ; 0xa0 8095b2a: f7bd ff21 bl 8053970 BSP_LCD_DisplayStringAt(160, 111+15, "óäàëåíèÿ...", CENTER_MODE); 8095b2e: 2301 movs r3, #1 8095b30: 4a8a ldr r2, [pc, #552] ; (8095d5c ) 8095b32: 217e movs r1, #126 ; 0x7e 8095b34: 20a0 movs r0, #160 ; 0xa0 8095b36: f7bd ff1b bl 8053970 8095b3a: e005 b.n 8095b48 BSP_LCD_DisplayStringAt(160, 111+15, "Deleting error!", CENTER_MODE); 8095b3c: 2301 movs r3, #1 8095b3e: 4a88 ldr r2, [pc, #544] ; (8095d60 ) 8095b40: 217e movs r1, #126 ; 0x7e 8095b42: 20a0 movs r0, #160 ; 0xa0 8095b44: f7bd ff14 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8095b48: 497b ldr r1, [pc, #492] ; (8095d38 ) 8095b4a: f04f 30ff mov.w r0, #4294967295 8095b4e: f7bd fe49 bl 80537e4 BSP_LCD_DisplayStringAt(160, 175, "OK", CENTER_MODE); 8095b52: 2301 movs r3, #1 8095b54: 4a83 ldr r2, [pc, #524] ; (8095d64 ) 8095b56: 21af movs r1, #175 ; 0xaf 8095b58: 20a0 movs r0, #160 ; 0xa0 8095b5a: f7bd ff09 bl 8053970 break; 8095b5e: f001 bd62 b.w 8097626 if(menupos == UpNo) 8095b62: bf00 nop break; 8095b64: f001 bd5f b.w 8097626 /******************************************************************************************************************************/ case CALIBR_00: // Êàëèáðîâêà 0, ââîä ñåðèéíîãî íîìåðà LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8095b68: 497f ldr r1, [pc, #508] ; (8095d68 ) 8095b6a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8095b6e: f7bd fe39 bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8095b72: 4a7e ldr r2, [pc, #504] ; (8095d6c ) 8095b74: 2128 movs r1, #40 ; 0x28 8095b76: 20a5 movs r0, #165 ; 0xa5 8095b78: f7be fbf4 bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 8095b7c: 233b movs r3, #59 ; 0x3b 8095b7e: f240 123d movw r2, #317 ; 0x13d 8095b82: 213b movs r1, #59 ; 0x3b 8095b84: 2002 movs r0, #2 8095b86: f7be f867 bl 8053c58 BSP_LCD_SetFont(&Font12); 8095b8a: 4879 ldr r0, [pc, #484] ; (8095d70 ) 8095b8c: f7bd fe66 bl 805385c BSP_LCD_DisplayStringAt(310, 36, "[1 / 13]", RIGHT_MODE); 8095b90: 2302 movs r3, #2 8095b92: 4a78 ldr r2, [pc, #480] ; (8095d74 ) 8095b94: 2124 movs r1, #36 ; 0x24 8095b96: f44f 709b mov.w r0, #310 ; 0x136 8095b9a: f7bd fee9 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095b9e: 4972 ldr r1, [pc, #456] ; (8095d68 ) 8095ba0: f04f 30ff mov.w r0, #4294967295 8095ba4: f7bd fe1e bl 80537e4 LCD_DisplayString(5, 70, "Ââåäèòå ñåðèéíûé íîìåð"); 8095ba8: 4a73 ldr r2, [pc, #460] ; (8095d78 ) 8095baa: 2146 movs r1, #70 ; 0x46 8095bac: 2005 movs r0, #5 8095bae: f7be fbc1 bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095bb2: 496d ldr r1, [pc, #436] ; (8095d68 ) 8095bb4: f06f 00ff mvn.w r0, #255 ; 0xff 8095bb8: f7bd fe14 bl 80537e4 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8095bbc: 4b6f ldr r3, [pc, #444] ; (8095d7c ) 8095bbe: edd3 7a00 vldr s15, [r3] 8095bc2: f06f 0002 mvn.w r0, #2 8095bc6: eeb0 0a67 vmov.f32 s0, s15 8095bca: f7d0 fdb5 bl 8066738 8095bce: 4603 mov r3, r0 8095bd0: 461a mov r2, r3 8095bd2: 2128 movs r1, #40 ; 0x28 8095bd4: 204b movs r0, #75 ; 0x4b 8095bd6: f7be fbdd bl 8054394 str[1] = '\0'; 8095bda: f507 733b add.w r3, r7, #748 ; 0x2ec 8095bde: 2200 movs r2, #0 8095be0: 705a strb r2, [r3, #1] switch(menupos) 8095be2: 4b52 ldr r3, [pc, #328] ; (8095d2c ) 8095be4: 781b ldrb r3, [r3, #0] 8095be6: b2db uxtb r3, r3 8095be8: 2b04 cmp r3, #4 8095bea: f201 851e bhi.w 809762a 8095bee: a201 add r2, pc, #4 ; (adr r2, 8095bf4 ) 8095bf0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8095bf4: 08095c09 .word 0x08095c09 8095bf8: 08095c97 .word 0x08095c97 8095bfc: 08095d85 .word 0x08095d85 8095c00: 08095e13 .word 0x08095e13 8095c04: 08095ea1 .word 0x08095ea1 { case 0: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8095c08: 494b ldr r1, [pc, #300] ; (8095d38 ) 8095c0a: f06f 00ff mvn.w r0, #255 ; 0xff 8095c0e: f7bd fde9 bl 80537e4 str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8095c12: 4b5b ldr r3, [pc, #364] ; (8095d80 ) 8095c14: 781a ldrb r2, [r3, #0] 8095c16: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c1a: 701a strb r2, [r3, #0] 8095c1c: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c20: 461a mov r2, r3 8095c22: 216e movs r1, #110 ; 0x6e 8095c24: 2078 movs r0, #120 ; 0x78 8095c26: f7be fb85 bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095c2a: 494f ldr r1, [pc, #316] ; (8095d68 ) 8095c2c: f06f 00ff mvn.w r0, #255 ; 0xff 8095c30: f7bd fdd8 bl 80537e4 str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8095c34: 4b52 ldr r3, [pc, #328] ; (8095d80 ) 8095c36: 785a ldrb r2, [r3, #1] 8095c38: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c3c: 701a strb r2, [r3, #0] 8095c3e: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c42: 461a mov r2, r3 8095c44: 216e movs r1, #110 ; 0x6e 8095c46: 208c movs r0, #140 ; 0x8c 8095c48: f7be fb74 bl 8054334 str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8095c4c: 4b4c ldr r3, [pc, #304] ; (8095d80 ) 8095c4e: 789a ldrb r2, [r3, #2] 8095c50: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c54: 701a strb r2, [r3, #0] 8095c56: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c5a: 461a mov r2, r3 8095c5c: 216e movs r1, #110 ; 0x6e 8095c5e: 20a0 movs r0, #160 ; 0xa0 8095c60: f7be fb68 bl 8054334 str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8095c64: 4b46 ldr r3, [pc, #280] ; (8095d80 ) 8095c66: 78da ldrb r2, [r3, #3] 8095c68: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c6c: 701a strb r2, [r3, #0] 8095c6e: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c72: 461a mov r2, r3 8095c74: 216e movs r1, #110 ; 0x6e 8095c76: 20b4 movs r0, #180 ; 0xb4 8095c78: f7be fb5c bl 8054334 str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8095c7c: 4b40 ldr r3, [pc, #256] ; (8095d80 ) 8095c7e: 791a ldrb r2, [r3, #4] 8095c80: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c84: 701a strb r2, [r3, #0] 8095c86: f507 733b add.w r3, r7, #748 ; 0x2ec 8095c8a: 461a mov r2, r3 8095c8c: 216e movs r1, #110 ; 0x6e 8095c8e: 20c8 movs r0, #200 ; 0xc8 8095c90: f7be fb50 bl 8054334 break; 8095c94: e14b b.n 8095f2e case 1: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8095c96: 4928 ldr r1, [pc, #160] ; (8095d38 ) 8095c98: f06f 00ff mvn.w r0, #255 ; 0xff 8095c9c: f7bd fda2 bl 80537e4 str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8095ca0: 4b37 ldr r3, [pc, #220] ; (8095d80 ) 8095ca2: 785a ldrb r2, [r3, #1] 8095ca4: f507 733b add.w r3, r7, #748 ; 0x2ec 8095ca8: 701a strb r2, [r3, #0] 8095caa: f507 733b add.w r3, r7, #748 ; 0x2ec 8095cae: 461a mov r2, r3 8095cb0: 216e movs r1, #110 ; 0x6e 8095cb2: 208c movs r0, #140 ; 0x8c 8095cb4: f7be fb3e bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095cb8: 492b ldr r1, [pc, #172] ; (8095d68 ) 8095cba: f06f 00ff mvn.w r0, #255 ; 0xff 8095cbe: f7bd fd91 bl 80537e4 str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8095cc2: 4b2f ldr r3, [pc, #188] ; (8095d80 ) 8095cc4: 781a ldrb r2, [r3, #0] 8095cc6: f507 733b add.w r3, r7, #748 ; 0x2ec 8095cca: 701a strb r2, [r3, #0] 8095ccc: f507 733b add.w r3, r7, #748 ; 0x2ec 8095cd0: 461a mov r2, r3 8095cd2: 216e movs r1, #110 ; 0x6e 8095cd4: 2078 movs r0, #120 ; 0x78 8095cd6: f7be fb2d bl 8054334 str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8095cda: 4b29 ldr r3, [pc, #164] ; (8095d80 ) 8095cdc: 789a ldrb r2, [r3, #2] 8095cde: f507 733b add.w r3, r7, #748 ; 0x2ec 8095ce2: 701a strb r2, [r3, #0] 8095ce4: f507 733b add.w r3, r7, #748 ; 0x2ec 8095ce8: 461a mov r2, r3 8095cea: 216e movs r1, #110 ; 0x6e 8095cec: 20a0 movs r0, #160 ; 0xa0 8095cee: f7be fb21 bl 8054334 str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8095cf2: 4b23 ldr r3, [pc, #140] ; (8095d80 ) 8095cf4: 78da ldrb r2, [r3, #3] 8095cf6: f507 733b add.w r3, r7, #748 ; 0x2ec 8095cfa: 701a strb r2, [r3, #0] 8095cfc: f507 733b add.w r3, r7, #748 ; 0x2ec 8095d00: 461a mov r2, r3 8095d02: 216e movs r1, #110 ; 0x6e 8095d04: 20b4 movs r0, #180 ; 0xb4 8095d06: f7be fb15 bl 8054334 str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8095d0a: 4b1d ldr r3, [pc, #116] ; (8095d80 ) 8095d0c: 791a ldrb r2, [r3, #4] 8095d0e: f507 733b add.w r3, r7, #748 ; 0x2ec 8095d12: 701a strb r2, [r3, #0] 8095d14: f507 733b add.w r3, r7, #748 ; 0x2ec 8095d18: 461a mov r2, r3 8095d1a: 216e movs r1, #110 ; 0x6e 8095d1c: 20c8 movs r0, #200 ; 0xc8 8095d1e: f7be fb09 bl 8054334 break; 8095d22: e104 b.n 8095f2e 8095d24: 080d04a0 .word 0x080d04a0 8095d28: 080d0280 .word 0x080d0280 8095d2c: 20020070 .word 0x20020070 8095d30: 20023e60 .word 0x20023e60 8095d34: 080d0298 .word 0x080d0298 8095d38: ff606060 .word 0xff606060 8095d3c: 080d029c .word 0x080d029c 8095d40: 080d02a0 .word 0x080d02a0 8095d44: 080d02a4 .word 0x080d02a4 8095d48: 20020dd0 .word 0x20020dd0 8095d4c: 080d02a8 .word 0x080d02a8 8095d50: 080d0030 .word 0x080d0030 8095d54: 080d02bc .word 0x080d02bc 8095d58: 080d003c .word 0x080d003c 8095d5c: 080d02d4 .word 0x080d02d4 8095d60: 080d02e0 .word 0x080d02e0 8095d64: 080d02f0 .word 0x080d02f0 8095d68: ff0a0f1f .word 0xff0a0f1f 8095d6c: 080d04b8 .word 0x080d04b8 8095d70: 20020038 .word 0x20020038 8095d74: 080d04c4 .word 0x080d04c4 8095d78: 080d04d0 .word 0x080d04d0 8095d7c: 20020000 .word 0x20020000 8095d80: 20026d04 .word 0x20026d04 case 2: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8095d84: 49cf ldr r1, [pc, #828] ; (80960c4 ) 8095d86: f06f 00ff mvn.w r0, #255 ; 0xff 8095d8a: f7bd fd2b bl 80537e4 str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8095d8e: 4bce ldr r3, [pc, #824] ; (80960c8 ) 8095d90: 789a ldrb r2, [r3, #2] 8095d92: f507 733b add.w r3, r7, #748 ; 0x2ec 8095d96: 701a strb r2, [r3, #0] 8095d98: f507 733b add.w r3, r7, #748 ; 0x2ec 8095d9c: 461a mov r2, r3 8095d9e: 216e movs r1, #110 ; 0x6e 8095da0: 20a0 movs r0, #160 ; 0xa0 8095da2: f7be fac7 bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095da6: 49c9 ldr r1, [pc, #804] ; (80960cc ) 8095da8: f06f 00ff mvn.w r0, #255 ; 0xff 8095dac: f7bd fd1a bl 80537e4 str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8095db0: 4bc5 ldr r3, [pc, #788] ; (80960c8 ) 8095db2: 781a ldrb r2, [r3, #0] 8095db4: f507 733b add.w r3, r7, #748 ; 0x2ec 8095db8: 701a strb r2, [r3, #0] 8095dba: f507 733b add.w r3, r7, #748 ; 0x2ec 8095dbe: 461a mov r2, r3 8095dc0: 216e movs r1, #110 ; 0x6e 8095dc2: 2078 movs r0, #120 ; 0x78 8095dc4: f7be fab6 bl 8054334 str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8095dc8: 4bbf ldr r3, [pc, #764] ; (80960c8 ) 8095dca: 785a ldrb r2, [r3, #1] 8095dcc: f507 733b add.w r3, r7, #748 ; 0x2ec 8095dd0: 701a strb r2, [r3, #0] 8095dd2: f507 733b add.w r3, r7, #748 ; 0x2ec 8095dd6: 461a mov r2, r3 8095dd8: 216e movs r1, #110 ; 0x6e 8095dda: 208c movs r0, #140 ; 0x8c 8095ddc: f7be faaa bl 8054334 str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8095de0: 4bb9 ldr r3, [pc, #740] ; (80960c8 ) 8095de2: 78da ldrb r2, [r3, #3] 8095de4: f507 733b add.w r3, r7, #748 ; 0x2ec 8095de8: 701a strb r2, [r3, #0] 8095dea: f507 733b add.w r3, r7, #748 ; 0x2ec 8095dee: 461a mov r2, r3 8095df0: 216e movs r1, #110 ; 0x6e 8095df2: 20b4 movs r0, #180 ; 0xb4 8095df4: f7be fa9e bl 8054334 str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8095df8: 4bb3 ldr r3, [pc, #716] ; (80960c8 ) 8095dfa: 791a ldrb r2, [r3, #4] 8095dfc: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e00: 701a strb r2, [r3, #0] 8095e02: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e06: 461a mov r2, r3 8095e08: 216e movs r1, #110 ; 0x6e 8095e0a: 20c8 movs r0, #200 ; 0xc8 8095e0c: f7be fa92 bl 8054334 break; 8095e10: e08d b.n 8095f2e case 3: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8095e12: 49ac ldr r1, [pc, #688] ; (80960c4 ) 8095e14: f06f 00ff mvn.w r0, #255 ; 0xff 8095e18: f7bd fce4 bl 80537e4 str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8095e1c: 4baa ldr r3, [pc, #680] ; (80960c8 ) 8095e1e: 78da ldrb r2, [r3, #3] 8095e20: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e24: 701a strb r2, [r3, #0] 8095e26: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e2a: 461a mov r2, r3 8095e2c: 216e movs r1, #110 ; 0x6e 8095e2e: 20b4 movs r0, #180 ; 0xb4 8095e30: f7be fa80 bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095e34: 49a5 ldr r1, [pc, #660] ; (80960cc ) 8095e36: f06f 00ff mvn.w r0, #255 ; 0xff 8095e3a: f7bd fcd3 bl 80537e4 str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8095e3e: 4ba2 ldr r3, [pc, #648] ; (80960c8 ) 8095e40: 781a ldrb r2, [r3, #0] 8095e42: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e46: 701a strb r2, [r3, #0] 8095e48: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e4c: 461a mov r2, r3 8095e4e: 216e movs r1, #110 ; 0x6e 8095e50: 2078 movs r0, #120 ; 0x78 8095e52: f7be fa6f bl 8054334 str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8095e56: 4b9c ldr r3, [pc, #624] ; (80960c8 ) 8095e58: 785a ldrb r2, [r3, #1] 8095e5a: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e5e: 701a strb r2, [r3, #0] 8095e60: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e64: 461a mov r2, r3 8095e66: 216e movs r1, #110 ; 0x6e 8095e68: 208c movs r0, #140 ; 0x8c 8095e6a: f7be fa63 bl 8054334 str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8095e6e: 4b96 ldr r3, [pc, #600] ; (80960c8 ) 8095e70: 789a ldrb r2, [r3, #2] 8095e72: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e76: 701a strb r2, [r3, #0] 8095e78: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e7c: 461a mov r2, r3 8095e7e: 216e movs r1, #110 ; 0x6e 8095e80: 20a0 movs r0, #160 ; 0xa0 8095e82: f7be fa57 bl 8054334 str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8095e86: 4b90 ldr r3, [pc, #576] ; (80960c8 ) 8095e88: 791a ldrb r2, [r3, #4] 8095e8a: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e8e: 701a strb r2, [r3, #0] 8095e90: f507 733b add.w r3, r7, #748 ; 0x2ec 8095e94: 461a mov r2, r3 8095e96: 216e movs r1, #110 ; 0x6e 8095e98: 20c8 movs r0, #200 ; 0xc8 8095e9a: f7be fa4b bl 8054334 break; 8095e9e: e046 b.n 8095f2e case 4: LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_CURSOR); 8095ea0: 4988 ldr r1, [pc, #544] ; (80960c4 ) 8095ea2: f06f 00ff mvn.w r0, #255 ; 0xff 8095ea6: f7bd fc9d bl 80537e4 str[0] = Serial[4]; LCD_DisplayString(200, 110, str); 8095eaa: 4b87 ldr r3, [pc, #540] ; (80960c8 ) 8095eac: 791a ldrb r2, [r3, #4] 8095eae: f507 733b add.w r3, r7, #748 ; 0x2ec 8095eb2: 701a strb r2, [r3, #0] 8095eb4: f507 733b add.w r3, r7, #748 ; 0x2ec 8095eb8: 461a mov r2, r3 8095eba: 216e movs r1, #110 ; 0x6e 8095ebc: 20c8 movs r0, #200 ; 0xc8 8095ebe: f7be fa39 bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095ec2: 4982 ldr r1, [pc, #520] ; (80960cc ) 8095ec4: f06f 00ff mvn.w r0, #255 ; 0xff 8095ec8: f7bd fc8c bl 80537e4 str[0] = Serial[0]; LCD_DisplayString(120, 110, str); 8095ecc: 4b7e ldr r3, [pc, #504] ; (80960c8 ) 8095ece: 781a ldrb r2, [r3, #0] 8095ed0: f507 733b add.w r3, r7, #748 ; 0x2ec 8095ed4: 701a strb r2, [r3, #0] 8095ed6: f507 733b add.w r3, r7, #748 ; 0x2ec 8095eda: 461a mov r2, r3 8095edc: 216e movs r1, #110 ; 0x6e 8095ede: 2078 movs r0, #120 ; 0x78 8095ee0: f7be fa28 bl 8054334 str[0] = Serial[1]; LCD_DisplayString(140, 110, str); 8095ee4: 4b78 ldr r3, [pc, #480] ; (80960c8 ) 8095ee6: 785a ldrb r2, [r3, #1] 8095ee8: f507 733b add.w r3, r7, #748 ; 0x2ec 8095eec: 701a strb r2, [r3, #0] 8095eee: f507 733b add.w r3, r7, #748 ; 0x2ec 8095ef2: 461a mov r2, r3 8095ef4: 216e movs r1, #110 ; 0x6e 8095ef6: 208c movs r0, #140 ; 0x8c 8095ef8: f7be fa1c bl 8054334 str[0] = Serial[2]; LCD_DisplayString(160, 110, str); 8095efc: 4b72 ldr r3, [pc, #456] ; (80960c8 ) 8095efe: 789a ldrb r2, [r3, #2] 8095f00: f507 733b add.w r3, r7, #748 ; 0x2ec 8095f04: 701a strb r2, [r3, #0] 8095f06: f507 733b add.w r3, r7, #748 ; 0x2ec 8095f0a: 461a mov r2, r3 8095f0c: 216e movs r1, #110 ; 0x6e 8095f0e: 20a0 movs r0, #160 ; 0xa0 8095f10: f7be fa10 bl 8054334 str[0] = Serial[3]; LCD_DisplayString(180, 110, str); 8095f14: 4b6c ldr r3, [pc, #432] ; (80960c8 ) 8095f16: 78da ldrb r2, [r3, #3] 8095f18: f507 733b add.w r3, r7, #748 ; 0x2ec 8095f1c: 701a strb r2, [r3, #0] 8095f1e: f507 733b add.w r3, r7, #748 ; 0x2ec 8095f22: 461a mov r2, r3 8095f24: 216e movs r1, #110 ; 0x6e 8095f26: 20b4 movs r0, #180 ; 0xb4 8095f28: f7be fa04 bl 8054334 break; 8095f2c: bf00 nop } break; 8095f2e: f001 bb7c b.w 809762a case CALIBR_0: /* Êàëèáðîâêà Êcorr[1] (ÇÀÐßÄ, Êâõ = 1, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8095f32: 4966 ldr r1, [pc, #408] ; (80960cc ) 8095f34: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8095f38: f7bd fc54 bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8095f3c: 4a64 ldr r2, [pc, #400] ; (80960d0 ) 8095f3e: 2128 movs r1, #40 ; 0x28 8095f40: 20a5 movs r0, #165 ; 0xa5 8095f42: f7be fa0f bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 8095f46: 233b movs r3, #59 ; 0x3b 8095f48: f240 123d movw r2, #317 ; 0x13d 8095f4c: 213b movs r1, #59 ; 0x3b 8095f4e: 2002 movs r0, #2 8095f50: f7bd fe82 bl 8053c58 BSP_LCD_SetFont(&Font12); 8095f54: 485f ldr r0, [pc, #380] ; (80960d4 ) 8095f56: f7bd fc81 bl 805385c BSP_LCD_DisplayStringAt(310, 36, "[2 / 13]", RIGHT_MODE); 8095f5a: 2302 movs r3, #2 8095f5c: 4a5e ldr r2, [pc, #376] ; (80960d8 ) 8095f5e: 2124 movs r1, #36 ; 0x24 8095f60: f44f 709b mov.w r0, #310 ; 0x136 8095f64: f7bd fd04 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8095f68: 4958 ldr r1, [pc, #352] ; (80960cc ) 8095f6a: f04f 30ff mov.w r0, #4294967295 8095f6e: f7bd fc39 bl 80537e4 LCD_DisplayString(5, 70, "[ICP 1] [Êó 1]"); 8095f72: 4a5a ldr r2, [pc, #360] ; (80960dc ) 8095f74: 2146 movs r1, #70 ; 0x46 8095f76: 2005 movs r0, #5 8095f78: f7be f9dc bl 8054334 LCD_DisplayString(5, 95, "Input:RMS=1024ìÂ,1êÃö"); 8095f7c: 4a58 ldr r2, [pc, #352] ; (80960e0 ) 8095f7e: 215f movs r1, #95 ; 0x5f 8095f80: 2005 movs r0, #5 8095f82: f7be f9d7 bl 8054334 LCD_DisplayString(15, 145, "Output="); 8095f86: 4a57 ldr r2, [pc, #348] ; (80960e4 ) 8095f88: 2191 movs r1, #145 ; 0x91 8095f8a: 200f movs r0, #15 8095f8c: f7be f9d2 bl 8054334 LCD_DisplayString(15, 170, "Kcorr="); 8095f90: 4a55 ldr r2, [pc, #340] ; (80960e8 ) 8095f92: 21aa movs r1, #170 ; 0xaa 8095f94: 200f movs r0, #15 8095f96: f7be f9cd bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8095f9a: 494c ldr r1, [pc, #304] ; (80960cc ) 8095f9c: f06f 00ff mvn.w r0, #255 ; 0xff 8095fa0: f7bd fc20 bl 80537e4 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8095fa4: 4b51 ldr r3, [pc, #324] ; (80960ec ) 8095fa6: edd3 7a00 vldr s15, [r3] 8095faa: f06f 0003 mvn.w r0, #3 8095fae: eeb0 0a67 vmov.f32 s0, s15 8095fb2: f7d0 fbc1 bl 8066738 8095fb6: 4603 mov r3, r0 8095fb8: 461a mov r2, r3 8095fba: 2191 movs r1, #145 ; 0x91 8095fbc: 207d movs r0, #125 ; 0x7d 8095fbe: f7be f9b9 bl 8054334 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8095fc2: 4b4b ldr r3, [pc, #300] ; (80960f0 ) 8095fc4: 781b ldrb r3, [r3, #0] 8095fc6: b2db uxtb r3, r3 8095fc8: 3b35 subs r3, #53 ; 0x35 8095fca: 4a4a ldr r2, [pc, #296] ; (80960f4 ) 8095fcc: 009b lsls r3, r3, #2 8095fce: 4413 add r3, r2 8095fd0: edd3 7a00 vldr s15, [r3] 8095fd4: f06f 0007 mvn.w r0, #7 8095fd8: eeb0 0a67 vmov.f32 s0, s15 8095fdc: f7d0 fbac bl 8066738 8095fe0: 4603 mov r3, r0 8095fe2: 461a mov r2, r3 8095fe4: 21aa movs r1, #170 ; 0xaa 8095fe6: 207d movs r0, #125 ; 0x7d 8095fe8: f7be f9a4 bl 8054334 LCD_DisplayString(80, 40, "V"); 8095fec: 4a42 ldr r2, [pc, #264] ; (80960f8 ) 8095fee: 2128 movs r1, #40 ; 0x28 8095ff0: 2050 movs r0, #80 ; 0x50 8095ff2: f7be f99f bl 8054334 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8095ff6: 4b41 ldr r3, [pc, #260] ; (80960fc ) 8095ff8: edd3 7a00 vldr s15, [r3] 8095ffc: f06f 0002 mvn.w r0, #2 8096000: eeb0 0a67 vmov.f32 s0, s15 8096004: f7d0 fb98 bl 8066738 8096008: 4603 mov r3, r0 809600a: 461a mov r2, r3 809600c: 2128 movs r1, #40 ; 0x28 809600e: 204b movs r0, #75 ; 0x4b 8096010: f7be f9c0 bl 8054394 switch(menupos) 8096014: 4b3a ldr r3, [pc, #232] ; (8096100 ) 8096016: 781b ldrb r3, [r3, #0] 8096018: b2db uxtb r3, r3 809601a: 2b01 cmp r3, #1 809601c: d02b beq.n 8096076 809601e: 2b02 cmp r3, #2 8096020: d07a beq.n 8096118 8096022: 2b00 cmp r3, #0 8096024: d001 beq.n 809602a else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Âûõîä"); break; } break; 8096026: f001 bb01 b.w 809762c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809602a: 4926 ldr r1, [pc, #152] ; (80960c4 ) 809602c: f04f 30ff mov.w r0, #4294967295 8096030: f7bd fbd8 bl 80537e4 LCD_DisplayStringC(50, 210, "Âûõîä"); 8096034: 4a33 ldr r2, [pc, #204] ; (8096104 ) 8096036: 21d2 movs r1, #210 ; 0xd2 8096038: 2032 movs r0, #50 ; 0x32 809603a: f7be f993 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809603e: 4923 ldr r1, [pc, #140] ; (80960cc ) 8096040: f04f 30ff mov.w r0, #4294967295 8096044: f7bd fbce bl 80537e4 if(measuring) 8096048: 4b2f ldr r3, [pc, #188] ; (8096108 ) 809604a: 781b ldrb r3, [r3, #0] 809604c: b2db uxtb r3, r3 809604e: 2b00 cmp r3, #0 8096050: d005 beq.n 809605e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096052: 4a2e ldr r2, [pc, #184] ; (809610c ) 8096054: 21d2 movs r1, #210 ; 0xd2 8096056: 20a5 movs r0, #165 ; 0xa5 8096058: f7be f984 bl 8054364 809605c: e004 b.n 8096068 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809605e: 4a2c ldr r2, [pc, #176] ; (8096110 ) 8096060: 21d2 movs r1, #210 ; 0xd2 8096062: 20a5 movs r0, #165 ; 0xa5 8096064: f7be f97e bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096068: 4a2a ldr r2, [pc, #168] ; (8096114 ) 809606a: 21d2 movs r1, #210 ; 0xd2 809606c: f44f 7087 mov.w r0, #270 ; 0x10e 8096070: f7be f978 bl 8054364 break; 8096074: e076 b.n 8096164 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096076: 4913 ldr r1, [pc, #76] ; (80960c4 ) 8096078: f04f 30ff mov.w r0, #4294967295 809607c: f7bd fbb2 bl 80537e4 if(measuring) 8096080: 4b21 ldr r3, [pc, #132] ; (8096108 ) 8096082: 781b ldrb r3, [r3, #0] 8096084: b2db uxtb r3, r3 8096086: 2b00 cmp r3, #0 8096088: d005 beq.n 8096096 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 809608a: 4a20 ldr r2, [pc, #128] ; (809610c ) 809608c: 21d2 movs r1, #210 ; 0xd2 809608e: 20a5 movs r0, #165 ; 0xa5 8096090: f7be f968 bl 8054364 8096094: e004 b.n 80960a0 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096096: 4a1e ldr r2, [pc, #120] ; (8096110 ) 8096098: 21d2 movs r1, #210 ; 0xd2 809609a: 20a5 movs r0, #165 ; 0xa5 809609c: f7be f962 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80960a0: 490a ldr r1, [pc, #40] ; (80960cc ) 80960a2: f04f 30ff mov.w r0, #4294967295 80960a6: f7bd fb9d bl 80537e4 LCD_DisplayStringC(50, 210, "Âûõîä"); 80960aa: 4a16 ldr r2, [pc, #88] ; (8096104 ) 80960ac: 21d2 movs r1, #210 ; 0xd2 80960ae: 2032 movs r0, #50 ; 0x32 80960b0: f7be f958 bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 80960b4: 4a17 ldr r2, [pc, #92] ; (8096114 ) 80960b6: 21d2 movs r1, #210 ; 0xd2 80960b8: f44f 7087 mov.w r0, #270 ; 0x10e 80960bc: f7be f952 bl 8054364 break; 80960c0: e050 b.n 8096164 80960c2: bf00 nop 80960c4: ff606060 .word 0xff606060 80960c8: 20026d04 .word 0x20026d04 80960cc: ff0a0f1f .word 0xff0a0f1f 80960d0: 080d04b8 .word 0x080d04b8 80960d4: 20020038 .word 0x20020038 80960d8: 080d04e8 .word 0x080d04e8 80960dc: 080d04f4 .word 0x080d04f4 80960e0: 080d0504 .word 0x080d0504 80960e4: 080d051c .word 0x080d051c 80960e8: 080d0524 .word 0x080d0524 80960ec: 20021540 .word 0x20021540 80960f0: 20020f78 .word 0x20020f78 80960f4: 20026194 .word 0x20026194 80960f8: 080ce6d8 .word 0x080ce6d8 80960fc: 20020000 .word 0x20020000 8096100: 20020070 .word 0x20020070 8096104: 080ceddc .word 0x080ceddc 8096108: 20020daf .word 0x20020daf 809610c: 080d052c .word 0x080d052c 8096110: 080d0538 .word 0x080d0538 8096114: 080cedcc .word 0x080cedcc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096118: 49c9 ldr r1, [pc, #804] ; (8096440 ) 809611a: f04f 30ff mov.w r0, #4294967295 809611e: f7bd fb61 bl 80537e4 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096122: 4ac8 ldr r2, [pc, #800] ; (8096444 ) 8096124: 21d2 movs r1, #210 ; 0xd2 8096126: f44f 7087 mov.w r0, #270 ; 0x10e 809612a: f7be f91b bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809612e: 49c6 ldr r1, [pc, #792] ; (8096448 ) 8096130: f04f 30ff mov.w r0, #4294967295 8096134: f7bd fb56 bl 80537e4 if(measuring) 8096138: 4bc4 ldr r3, [pc, #784] ; (809644c ) 809613a: 781b ldrb r3, [r3, #0] 809613c: b2db uxtb r3, r3 809613e: 2b00 cmp r3, #0 8096140: d005 beq.n 809614e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096142: 4ac3 ldr r2, [pc, #780] ; (8096450 ) 8096144: 21d2 movs r1, #210 ; 0xd2 8096146: 20a5 movs r0, #165 ; 0xa5 8096148: f7be f90c bl 8054364 809614c: e004 b.n 8096158 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809614e: 4ac1 ldr r2, [pc, #772] ; (8096454 ) 8096150: 21d2 movs r1, #210 ; 0xd2 8096152: 20a5 movs r0, #165 ; 0xa5 8096154: f7be f906 bl 8054364 LCD_DisplayStringC(50, 210, "Âûõîä"); 8096158: 4abf ldr r2, [pc, #764] ; (8096458 ) 809615a: 21d2 movs r1, #210 ; 0xd2 809615c: 2032 movs r0, #50 ; 0x32 809615e: f7be f901 bl 8054364 break; 8096162: bf00 nop break; 8096164: f001 ba62 b.w 809762c case CALIBR_1: /* Êàëèáðîâêà Êcorr[5] (ÇÀÐßÄ 1, Êóñ = 2) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096168: 49b7 ldr r1, [pc, #732] ; (8096448 ) 809616a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809616e: f7bd fb39 bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8096172: 4aba ldr r2, [pc, #744] ; (809645c ) 8096174: 2128 movs r1, #40 ; 0x28 8096176: 20a5 movs r0, #165 ; 0xa5 8096178: f7be f8f4 bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 809617c: 233b movs r3, #59 ; 0x3b 809617e: f240 123d movw r2, #317 ; 0x13d 8096182: 213b movs r1, #59 ; 0x3b 8096184: 2002 movs r0, #2 8096186: f7bd fd67 bl 8053c58 BSP_LCD_SetFont(&Font12); 809618a: 48b5 ldr r0, [pc, #724] ; (8096460 ) 809618c: f7bd fb66 bl 805385c BSP_LCD_DisplayStringAt(310, 36, "[3 / 13]", RIGHT_MODE); 8096190: 2302 movs r3, #2 8096192: 4ab4 ldr r2, [pc, #720] ; (8096464 ) 8096194: 2124 movs r1, #36 ; 0x24 8096196: f44f 709b mov.w r0, #310 ; 0x136 809619a: f7bd fbe9 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809619e: 49aa ldr r1, [pc, #680] ; (8096448 ) 80961a0: f04f 30ff mov.w r0, #4294967295 80961a4: f7bd fb1e bl 80537e4 LCD_DisplayString(5, 70, "[ICP 2] [Ky 1]"); 80961a8: 4aaf ldr r2, [pc, #700] ; (8096468 ) 80961aa: 2146 movs r1, #70 ; 0x46 80961ac: 2005 movs r0, #5 80961ae: f7be f8c1 bl 8054334 LCD_DisplayString(5, 95, "Input:RMS=512ìÂ,1êÃö"); 80961b2: 4aae ldr r2, [pc, #696] ; (809646c ) 80961b4: 215f movs r1, #95 ; 0x5f 80961b6: 2005 movs r0, #5 80961b8: f7be f8bc bl 8054334 LCD_DisplayString(5, 145, "Output="); 80961bc: 4aac ldr r2, [pc, #688] ; (8096470 ) 80961be: 2191 movs r1, #145 ; 0x91 80961c0: 2005 movs r0, #5 80961c2: f7be f8b7 bl 8054334 LCD_DisplayString(5, 170, "Kcorr="); 80961c6: 4aab ldr r2, [pc, #684] ; (8096474 ) 80961c8: 21aa movs r1, #170 ; 0xaa 80961ca: 2005 movs r0, #5 80961cc: f7be f8b2 bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80961d0: 499d ldr r1, [pc, #628] ; (8096448 ) 80961d2: f06f 00ff mvn.w r0, #255 ; 0xff 80961d6: f7bd fb05 bl 80537e4 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 80961da: 4ba7 ldr r3, [pc, #668] ; (8096478 ) 80961dc: edd3 7a00 vldr s15, [r3] 80961e0: f06f 0003 mvn.w r0, #3 80961e4: eeb0 0a67 vmov.f32 s0, s15 80961e8: f7d0 faa6 bl 8066738 80961ec: 4603 mov r3, r0 80961ee: 461a mov r2, r3 80961f0: 2191 movs r1, #145 ; 0x91 80961f2: 207d movs r0, #125 ; 0x7d 80961f4: f7be f89e bl 8054334 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 80961f8: 4ba0 ldr r3, [pc, #640] ; (809647c ) 80961fa: 781b ldrb r3, [r3, #0] 80961fc: b2db uxtb r3, r3 80961fe: 3b35 subs r3, #53 ; 0x35 8096200: 4a9f ldr r2, [pc, #636] ; (8096480 ) 8096202: 009b lsls r3, r3, #2 8096204: 4413 add r3, r2 8096206: edd3 7a00 vldr s15, [r3] 809620a: f06f 0007 mvn.w r0, #7 809620e: eeb0 0a67 vmov.f32 s0, s15 8096212: f7d0 fa91 bl 8066738 8096216: 4603 mov r3, r0 8096218: 461a mov r2, r3 809621a: 21aa movs r1, #170 ; 0xaa 809621c: 207d movs r0, #125 ; 0x7d 809621e: f7be f889 bl 8054334 LCD_DisplayString(80, 40, "V"); 8096222: 4a98 ldr r2, [pc, #608] ; (8096484 ) 8096224: 2128 movs r1, #40 ; 0x28 8096226: 2050 movs r0, #80 ; 0x50 8096228: f7be f884 bl 8054334 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809622c: 4b96 ldr r3, [pc, #600] ; (8096488 ) 809622e: edd3 7a00 vldr s15, [r3] 8096232: f06f 0002 mvn.w r0, #2 8096236: eeb0 0a67 vmov.f32 s0, s15 809623a: f7d0 fa7d bl 8066738 809623e: 4603 mov r3, r0 8096240: 461a mov r2, r3 8096242: 2128 movs r1, #40 ; 0x28 8096244: 204b movs r0, #75 ; 0x4b 8096246: f7be f8a5 bl 8054394 switch(menupos) 809624a: 4b90 ldr r3, [pc, #576] ; (809648c ) 809624c: 781b ldrb r3, [r3, #0] 809624e: b2db uxtb r3, r3 8096250: 2b01 cmp r3, #1 8096252: d02b beq.n 80962ac 8096254: 2b02 cmp r3, #2 8096256: d04f beq.n 80962f8 8096258: 2b00 cmp r3, #0 809625a: d001 beq.n 8096260 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 809625c: f001 b9e6 b.w 809762c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096260: 4977 ldr r1, [pc, #476] ; (8096440 ) 8096262: f04f 30ff mov.w r0, #4294967295 8096266: f7bd fabd bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 809626a: 4a89 ldr r2, [pc, #548] ; (8096490 ) 809626c: 21d2 movs r1, #210 ; 0xd2 809626e: 2032 movs r0, #50 ; 0x32 8096270: f7be f878 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096274: 4974 ldr r1, [pc, #464] ; (8096448 ) 8096276: f04f 30ff mov.w r0, #4294967295 809627a: f7bd fab3 bl 80537e4 if(measuring) 809627e: 4b73 ldr r3, [pc, #460] ; (809644c ) 8096280: 781b ldrb r3, [r3, #0] 8096282: b2db uxtb r3, r3 8096284: 2b00 cmp r3, #0 8096286: d005 beq.n 8096294 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096288: 4a71 ldr r2, [pc, #452] ; (8096450 ) 809628a: 21d2 movs r1, #210 ; 0xd2 809628c: 20a5 movs r0, #165 ; 0xa5 809628e: f7be f869 bl 8054364 8096292: e004 b.n 809629e else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096294: 4a6f ldr r2, [pc, #444] ; (8096454 ) 8096296: 21d2 movs r1, #210 ; 0xd2 8096298: 20a5 movs r0, #165 ; 0xa5 809629a: f7be f863 bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 809629e: 4a69 ldr r2, [pc, #420] ; (8096444 ) 80962a0: 21d2 movs r1, #210 ; 0xd2 80962a2: f44f 7087 mov.w r0, #270 ; 0x10e 80962a6: f7be f85d bl 8054364 break; 80962aa: e04b b.n 8096344 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80962ac: 4964 ldr r1, [pc, #400] ; (8096440 ) 80962ae: f04f 30ff mov.w r0, #4294967295 80962b2: f7bd fa97 bl 80537e4 if(measuring) 80962b6: 4b65 ldr r3, [pc, #404] ; (809644c ) 80962b8: 781b ldrb r3, [r3, #0] 80962ba: b2db uxtb r3, r3 80962bc: 2b00 cmp r3, #0 80962be: d005 beq.n 80962cc LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80962c0: 4a63 ldr r2, [pc, #396] ; (8096450 ) 80962c2: 21d2 movs r1, #210 ; 0xd2 80962c4: 20a5 movs r0, #165 ; 0xa5 80962c6: f7be f84d bl 8054364 80962ca: e004 b.n 80962d6 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80962cc: 4a61 ldr r2, [pc, #388] ; (8096454 ) 80962ce: 21d2 movs r1, #210 ; 0xd2 80962d0: 20a5 movs r0, #165 ; 0xa5 80962d2: f7be f847 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80962d6: 495c ldr r1, [pc, #368] ; (8096448 ) 80962d8: f04f 30ff mov.w r0, #4294967295 80962dc: f7bd fa82 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 80962e0: 4a6b ldr r2, [pc, #428] ; (8096490 ) 80962e2: 21d2 movs r1, #210 ; 0xd2 80962e4: 2032 movs r0, #50 ; 0x32 80962e6: f7be f83d bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 80962ea: 4a56 ldr r2, [pc, #344] ; (8096444 ) 80962ec: 21d2 movs r1, #210 ; 0xd2 80962ee: f44f 7087 mov.w r0, #270 ; 0x10e 80962f2: f7be f837 bl 8054364 break; 80962f6: e025 b.n 8096344 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80962f8: 4951 ldr r1, [pc, #324] ; (8096440 ) 80962fa: f04f 30ff mov.w r0, #4294967295 80962fe: f7bd fa71 bl 80537e4 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096302: 4a50 ldr r2, [pc, #320] ; (8096444 ) 8096304: 21d2 movs r1, #210 ; 0xd2 8096306: f44f 7087 mov.w r0, #270 ; 0x10e 809630a: f7be f82b bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809630e: 494e ldr r1, [pc, #312] ; (8096448 ) 8096310: f04f 30ff mov.w r0, #4294967295 8096314: f7bd fa66 bl 80537e4 if(measuring) 8096318: 4b4c ldr r3, [pc, #304] ; (809644c ) 809631a: 781b ldrb r3, [r3, #0] 809631c: b2db uxtb r3, r3 809631e: 2b00 cmp r3, #0 8096320: d005 beq.n 809632e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096322: 4a4b ldr r2, [pc, #300] ; (8096450 ) 8096324: 21d2 movs r1, #210 ; 0xd2 8096326: 20a5 movs r0, #165 ; 0xa5 8096328: f7be f81c bl 8054364 809632c: e004 b.n 8096338 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809632e: 4a49 ldr r2, [pc, #292] ; (8096454 ) 8096330: 21d2 movs r1, #210 ; 0xd2 8096332: 20a5 movs r0, #165 ; 0xa5 8096334: f7be f816 bl 8054364 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096338: 4a55 ldr r2, [pc, #340] ; (8096490 ) 809633a: 21d2 movs r1, #210 ; 0xd2 809633c: 2032 movs r0, #50 ; 0x32 809633e: f7be f811 bl 8054364 break; 8096342: bf00 nop break; 8096344: f001 b972 b.w 809762c case CALIBR_2: /* Êàëèáðîâêà Êcorr[6] (ÇÀÐßÄ 1, Êóñ = 5) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096348: 493f ldr r1, [pc, #252] ; (8096448 ) 809634a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809634e: f7bd fa49 bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8096352: 4a42 ldr r2, [pc, #264] ; (809645c ) 8096354: 2128 movs r1, #40 ; 0x28 8096356: 20a5 movs r0, #165 ; 0xa5 8096358: f7be f804 bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 809635c: 233b movs r3, #59 ; 0x3b 809635e: f240 123d movw r2, #317 ; 0x13d 8096362: 213b movs r1, #59 ; 0x3b 8096364: 2002 movs r0, #2 8096366: f7bd fc77 bl 8053c58 BSP_LCD_SetFont(&Font12); 809636a: 483d ldr r0, [pc, #244] ; (8096460 ) 809636c: f7bd fa76 bl 805385c BSP_LCD_DisplayStringAt(310, 36, "[4 / 13]", RIGHT_MODE); 8096370: 2302 movs r3, #2 8096372: 4a48 ldr r2, [pc, #288] ; (8096494 ) 8096374: 2124 movs r1, #36 ; 0x24 8096376: f44f 709b mov.w r0, #310 ; 0x136 809637a: f7bd faf9 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809637e: 4932 ldr r1, [pc, #200] ; (8096448 ) 8096380: f04f 30ff mov.w r0, #4294967295 8096384: f7bd fa2e bl 80537e4 LCD_DisplayString(5, 70, "[ICP 4] [Ky 1]"); 8096388: 4a43 ldr r2, [pc, #268] ; (8096498 ) 809638a: 2146 movs r1, #70 ; 0x46 809638c: 2005 movs r0, #5 809638e: f7bd ffd1 bl 8054334 LCD_DisplayString(5, 95, "Input:RMS=256ìÂ,1êÃö"); 8096392: 4a42 ldr r2, [pc, #264] ; (809649c ) 8096394: 215f movs r1, #95 ; 0x5f 8096396: 2005 movs r0, #5 8096398: f7bd ffcc bl 8054334 LCD_DisplayString(5, 145, "Output="); 809639c: 4a34 ldr r2, [pc, #208] ; (8096470 ) 809639e: 2191 movs r1, #145 ; 0x91 80963a0: 2005 movs r0, #5 80963a2: f7bd ffc7 bl 8054334 LCD_DisplayString(5, 170, "Kcorr="); 80963a6: 4a33 ldr r2, [pc, #204] ; (8096474 ) 80963a8: 21aa movs r1, #170 ; 0xaa 80963aa: 2005 movs r0, #5 80963ac: f7bd ffc2 bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80963b0: 4925 ldr r1, [pc, #148] ; (8096448 ) 80963b2: f06f 00ff mvn.w r0, #255 ; 0xff 80963b6: f7bd fa15 bl 80537e4 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 80963ba: 4b2f ldr r3, [pc, #188] ; (8096478 ) 80963bc: edd3 7a00 vldr s15, [r3] 80963c0: f06f 0003 mvn.w r0, #3 80963c4: eeb0 0a67 vmov.f32 s0, s15 80963c8: f7d0 f9b6 bl 8066738 80963cc: 4603 mov r3, r0 80963ce: 461a mov r2, r3 80963d0: 2191 movs r1, #145 ; 0x91 80963d2: 207d movs r0, #125 ; 0x7d 80963d4: f7bd ffae bl 8054334 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 80963d8: 4b28 ldr r3, [pc, #160] ; (809647c ) 80963da: 781b ldrb r3, [r3, #0] 80963dc: b2db uxtb r3, r3 80963de: 3b35 subs r3, #53 ; 0x35 80963e0: 4a27 ldr r2, [pc, #156] ; (8096480 ) 80963e2: 009b lsls r3, r3, #2 80963e4: 4413 add r3, r2 80963e6: edd3 7a00 vldr s15, [r3] 80963ea: f06f 0007 mvn.w r0, #7 80963ee: eeb0 0a67 vmov.f32 s0, s15 80963f2: f7d0 f9a1 bl 8066738 80963f6: 4603 mov r3, r0 80963f8: 461a mov r2, r3 80963fa: 21aa movs r1, #170 ; 0xaa 80963fc: 207d movs r0, #125 ; 0x7d 80963fe: f7bd ff99 bl 8054334 LCD_DisplayString(80, 40, "V"); 8096402: 4a20 ldr r2, [pc, #128] ; (8096484 ) 8096404: 2128 movs r1, #40 ; 0x28 8096406: 2050 movs r0, #80 ; 0x50 8096408: f7bd ff94 bl 8054334 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809640c: 4b1e ldr r3, [pc, #120] ; (8096488 ) 809640e: edd3 7a00 vldr s15, [r3] 8096412: f06f 0002 mvn.w r0, #2 8096416: eeb0 0a67 vmov.f32 s0, s15 809641a: f7d0 f98d bl 8066738 809641e: 4603 mov r3, r0 8096420: 461a mov r2, r3 8096422: 2128 movs r1, #40 ; 0x28 8096424: 204b movs r0, #75 ; 0x4b 8096426: f7bd ffb5 bl 8054394 switch(menupos) 809642a: 4b18 ldr r3, [pc, #96] ; (809648c ) 809642c: 781b ldrb r3, [r3, #0] 809642e: b2db uxtb r3, r3 8096430: 2b01 cmp r3, #1 8096432: d05b beq.n 80964ec 8096434: 2b02 cmp r3, #2 8096436: d07f beq.n 8096538 8096438: 2b00 cmp r3, #0 809643a: d031 beq.n 80964a0 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 809643c: f001 b8f6 b.w 809762c 8096440: ff606060 .word 0xff606060 8096444: 080cedcc .word 0x080cedcc 8096448: ff0a0f1f .word 0xff0a0f1f 809644c: 20020daf .word 0x20020daf 8096450: 080d052c .word 0x080d052c 8096454: 080d0538 .word 0x080d0538 8096458: 080ceddc .word 0x080ceddc 809645c: 080d04b8 .word 0x080d04b8 8096460: 20020038 .word 0x20020038 8096464: 080d0544 .word 0x080d0544 8096468: 080d0550 .word 0x080d0550 809646c: 080d0560 .word 0x080d0560 8096470: 080d051c .word 0x080d051c 8096474: 080d0524 .word 0x080d0524 8096478: 20021540 .word 0x20021540 809647c: 20020f78 .word 0x20020f78 8096480: 20026194 .word 0x20026194 8096484: 080ce6d8 .word 0x080ce6d8 8096488: 20020000 .word 0x20020000 809648c: 20020070 .word 0x20020070 8096490: 080d0578 .word 0x080d0578 8096494: 080d0580 .word 0x080d0580 8096498: 080d058c .word 0x080d058c 809649c: 080d059c .word 0x080d059c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80964a0: 49b1 ldr r1, [pc, #708] ; (8096768 ) 80964a2: f04f 30ff mov.w r0, #4294967295 80964a6: f7bd f99d bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 80964aa: 4ab0 ldr r2, [pc, #704] ; (809676c ) 80964ac: 21d2 movs r1, #210 ; 0xd2 80964ae: 2032 movs r0, #50 ; 0x32 80964b0: f7bd ff58 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80964b4: 49ae ldr r1, [pc, #696] ; (8096770 ) 80964b6: f04f 30ff mov.w r0, #4294967295 80964ba: f7bd f993 bl 80537e4 if(measuring) 80964be: 4bad ldr r3, [pc, #692] ; (8096774 ) 80964c0: 781b ldrb r3, [r3, #0] 80964c2: b2db uxtb r3, r3 80964c4: 2b00 cmp r3, #0 80964c6: d005 beq.n 80964d4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80964c8: 4aab ldr r2, [pc, #684] ; (8096778 ) 80964ca: 21d2 movs r1, #210 ; 0xd2 80964cc: 20a5 movs r0, #165 ; 0xa5 80964ce: f7bd ff49 bl 8054364 80964d2: e004 b.n 80964de else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80964d4: 4aa9 ldr r2, [pc, #676] ; (809677c ) 80964d6: 21d2 movs r1, #210 ; 0xd2 80964d8: 20a5 movs r0, #165 ; 0xa5 80964da: f7bd ff43 bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 80964de: 4aa8 ldr r2, [pc, #672] ; (8096780 ) 80964e0: 21d2 movs r1, #210 ; 0xd2 80964e2: f44f 7087 mov.w r0, #270 ; 0x10e 80964e6: f7bd ff3d bl 8054364 break; 80964ea: e04b b.n 8096584 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80964ec: 499e ldr r1, [pc, #632] ; (8096768 ) 80964ee: f04f 30ff mov.w r0, #4294967295 80964f2: f7bd f977 bl 80537e4 if(measuring) 80964f6: 4b9f ldr r3, [pc, #636] ; (8096774 ) 80964f8: 781b ldrb r3, [r3, #0] 80964fa: b2db uxtb r3, r3 80964fc: 2b00 cmp r3, #0 80964fe: d005 beq.n 809650c LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096500: 4a9d ldr r2, [pc, #628] ; (8096778 ) 8096502: 21d2 movs r1, #210 ; 0xd2 8096504: 20a5 movs r0, #165 ; 0xa5 8096506: f7bd ff2d bl 8054364 809650a: e004 b.n 8096516 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809650c: 4a9b ldr r2, [pc, #620] ; (809677c ) 809650e: 21d2 movs r1, #210 ; 0xd2 8096510: 20a5 movs r0, #165 ; 0xa5 8096512: f7bd ff27 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096516: 4996 ldr r1, [pc, #600] ; (8096770 ) 8096518: f04f 30ff mov.w r0, #4294967295 809651c: f7bd f962 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096520: 4a92 ldr r2, [pc, #584] ; (809676c ) 8096522: 21d2 movs r1, #210 ; 0xd2 8096524: 2032 movs r0, #50 ; 0x32 8096526: f7bd ff1d bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 809652a: 4a95 ldr r2, [pc, #596] ; (8096780 ) 809652c: 21d2 movs r1, #210 ; 0xd2 809652e: f44f 7087 mov.w r0, #270 ; 0x10e 8096532: f7bd ff17 bl 8054364 break; 8096536: e025 b.n 8096584 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096538: 498b ldr r1, [pc, #556] ; (8096768 ) 809653a: f04f 30ff mov.w r0, #4294967295 809653e: f7bd f951 bl 80537e4 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096542: 4a8f ldr r2, [pc, #572] ; (8096780 ) 8096544: 21d2 movs r1, #210 ; 0xd2 8096546: f44f 7087 mov.w r0, #270 ; 0x10e 809654a: f7bd ff0b bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809654e: 4988 ldr r1, [pc, #544] ; (8096770 ) 8096550: f04f 30ff mov.w r0, #4294967295 8096554: f7bd f946 bl 80537e4 if(measuring) 8096558: 4b86 ldr r3, [pc, #536] ; (8096774 ) 809655a: 781b ldrb r3, [r3, #0] 809655c: b2db uxtb r3, r3 809655e: 2b00 cmp r3, #0 8096560: d005 beq.n 809656e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096562: 4a85 ldr r2, [pc, #532] ; (8096778 ) 8096564: 21d2 movs r1, #210 ; 0xd2 8096566: 20a5 movs r0, #165 ; 0xa5 8096568: f7bd fefc bl 8054364 809656c: e004 b.n 8096578 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809656e: 4a83 ldr r2, [pc, #524] ; (809677c ) 8096570: 21d2 movs r1, #210 ; 0xd2 8096572: 20a5 movs r0, #165 ; 0xa5 8096574: f7bd fef6 bl 8054364 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096578: 4a7c ldr r2, [pc, #496] ; (809676c ) 809657a: 21d2 movs r1, #210 ; 0xd2 809657c: 2032 movs r0, #50 ; 0x32 809657e: f7bd fef1 bl 8054364 break; 8096582: bf00 nop break; 8096584: f001 b852 b.w 809762c case CALIBR_3: /* Êàëèáðîâêà Êcorr[7] (ÇÀÐßÄ 1, Êóñ = 10) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096588: 4979 ldr r1, [pc, #484] ; (8096770 ) 809658a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809658e: f7bd f929 bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8096592: 4a7c ldr r2, [pc, #496] ; (8096784 ) 8096594: 2128 movs r1, #40 ; 0x28 8096596: 20a5 movs r0, #165 ; 0xa5 8096598: f7bd fee4 bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 809659c: 233b movs r3, #59 ; 0x3b 809659e: f240 123d movw r2, #317 ; 0x13d 80965a2: 213b movs r1, #59 ; 0x3b 80965a4: 2002 movs r0, #2 80965a6: f7bd fb57 bl 8053c58 BSP_LCD_SetFont(&Font12); 80965aa: 4877 ldr r0, [pc, #476] ; (8096788 ) 80965ac: f7bd f956 bl 805385c BSP_LCD_DisplayStringAt(310, 36, "[5 / 13]", RIGHT_MODE); 80965b0: 2302 movs r3, #2 80965b2: 4a76 ldr r2, [pc, #472] ; (809678c ) 80965b4: 2124 movs r1, #36 ; 0x24 80965b6: f44f 709b mov.w r0, #310 ; 0x136 80965ba: f7bd f9d9 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80965be: 496c ldr r1, [pc, #432] ; (8096770 ) 80965c0: f04f 30ff mov.w r0, #4294967295 80965c4: f7bd f90e bl 80537e4 LCD_DisplayString(5, 70, "[ICP 8] [Ky 1]"); 80965c8: 4a71 ldr r2, [pc, #452] ; (8096790 ) 80965ca: 2146 movs r1, #70 ; 0x46 80965cc: 2005 movs r0, #5 80965ce: f7bd feb1 bl 8054334 LCD_DisplayString(5, 95, "Input:RMS=128ìÂ,1êÃö"); 80965d2: 4a70 ldr r2, [pc, #448] ; (8096794 ) 80965d4: 215f movs r1, #95 ; 0x5f 80965d6: 2005 movs r0, #5 80965d8: f7bd feac bl 8054334 LCD_DisplayString(5, 145, "Output="); 80965dc: 4a6e ldr r2, [pc, #440] ; (8096798 ) 80965de: 2191 movs r1, #145 ; 0x91 80965e0: 2005 movs r0, #5 80965e2: f7bd fea7 bl 8054334 LCD_DisplayString(5, 170, "Kcorr="); 80965e6: 4a6d ldr r2, [pc, #436] ; (809679c ) 80965e8: 21aa movs r1, #170 ; 0xaa 80965ea: 2005 movs r0, #5 80965ec: f7bd fea2 bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80965f0: 495f ldr r1, [pc, #380] ; (8096770 ) 80965f2: f06f 00ff mvn.w r0, #255 ; 0xff 80965f6: f7bd f8f5 bl 80537e4 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 80965fa: 4b69 ldr r3, [pc, #420] ; (80967a0 ) 80965fc: edd3 7a00 vldr s15, [r3] 8096600: f06f 0003 mvn.w r0, #3 8096604: eeb0 0a67 vmov.f32 s0, s15 8096608: f7d0 f896 bl 8066738 809660c: 4603 mov r3, r0 809660e: 461a mov r2, r3 8096610: 2191 movs r1, #145 ; 0x91 8096612: 207d movs r0, #125 ; 0x7d 8096614: f7bd fe8e bl 8054334 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8096618: 4b62 ldr r3, [pc, #392] ; (80967a4 ) 809661a: 781b ldrb r3, [r3, #0] 809661c: b2db uxtb r3, r3 809661e: 3b35 subs r3, #53 ; 0x35 8096620: 4a61 ldr r2, [pc, #388] ; (80967a8 ) 8096622: 009b lsls r3, r3, #2 8096624: 4413 add r3, r2 8096626: edd3 7a00 vldr s15, [r3] 809662a: f06f 0007 mvn.w r0, #7 809662e: eeb0 0a67 vmov.f32 s0, s15 8096632: f7d0 f881 bl 8066738 8096636: 4603 mov r3, r0 8096638: 461a mov r2, r3 809663a: 21aa movs r1, #170 ; 0xaa 809663c: 207d movs r0, #125 ; 0x7d 809663e: f7bd fe79 bl 8054334 LCD_DisplayString(80, 40, "V"); 8096642: 4a5a ldr r2, [pc, #360] ; (80967ac ) 8096644: 2128 movs r1, #40 ; 0x28 8096646: 2050 movs r0, #80 ; 0x50 8096648: f7bd fe74 bl 8054334 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809664c: 4b58 ldr r3, [pc, #352] ; (80967b0 ) 809664e: edd3 7a00 vldr s15, [r3] 8096652: f06f 0002 mvn.w r0, #2 8096656: eeb0 0a67 vmov.f32 s0, s15 809665a: f7d0 f86d bl 8066738 809665e: 4603 mov r3, r0 8096660: 461a mov r2, r3 8096662: 2128 movs r1, #40 ; 0x28 8096664: 204b movs r0, #75 ; 0x4b 8096666: f7bd fe95 bl 8054394 switch(menupos) 809666a: 4b52 ldr r3, [pc, #328] ; (80967b4 ) 809666c: 781b ldrb r3, [r3, #0] 809666e: b2db uxtb r3, r3 8096670: 2b01 cmp r3, #1 8096672: d02b beq.n 80966cc 8096674: 2b02 cmp r3, #2 8096676: d04f beq.n 8096718 8096678: 2b00 cmp r3, #0 809667a: d001 beq.n 8096680 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 809667c: f000 bfd6 b.w 809762c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096680: 4939 ldr r1, [pc, #228] ; (8096768 ) 8096682: f04f 30ff mov.w r0, #4294967295 8096686: f7bd f8ad bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 809668a: 4a38 ldr r2, [pc, #224] ; (809676c ) 809668c: 21d2 movs r1, #210 ; 0xd2 809668e: 2032 movs r0, #50 ; 0x32 8096690: f7bd fe68 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096694: 4936 ldr r1, [pc, #216] ; (8096770 ) 8096696: f04f 30ff mov.w r0, #4294967295 809669a: f7bd f8a3 bl 80537e4 if(measuring) 809669e: 4b35 ldr r3, [pc, #212] ; (8096774 ) 80966a0: 781b ldrb r3, [r3, #0] 80966a2: b2db uxtb r3, r3 80966a4: 2b00 cmp r3, #0 80966a6: d005 beq.n 80966b4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80966a8: 4a33 ldr r2, [pc, #204] ; (8096778 ) 80966aa: 21d2 movs r1, #210 ; 0xd2 80966ac: 20a5 movs r0, #165 ; 0xa5 80966ae: f7bd fe59 bl 8054364 80966b2: e004 b.n 80966be else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80966b4: 4a31 ldr r2, [pc, #196] ; (809677c ) 80966b6: 21d2 movs r1, #210 ; 0xd2 80966b8: 20a5 movs r0, #165 ; 0xa5 80966ba: f7bd fe53 bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 80966be: 4a30 ldr r2, [pc, #192] ; (8096780 ) 80966c0: 21d2 movs r1, #210 ; 0xd2 80966c2: f44f 7087 mov.w r0, #270 ; 0x10e 80966c6: f7bd fe4d bl 8054364 break; 80966ca: e04b b.n 8096764 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80966cc: 4926 ldr r1, [pc, #152] ; (8096768 ) 80966ce: f04f 30ff mov.w r0, #4294967295 80966d2: f7bd f887 bl 80537e4 if(measuring) 80966d6: 4b27 ldr r3, [pc, #156] ; (8096774 ) 80966d8: 781b ldrb r3, [r3, #0] 80966da: b2db uxtb r3, r3 80966dc: 2b00 cmp r3, #0 80966de: d005 beq.n 80966ec LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80966e0: 4a25 ldr r2, [pc, #148] ; (8096778 ) 80966e2: 21d2 movs r1, #210 ; 0xd2 80966e4: 20a5 movs r0, #165 ; 0xa5 80966e6: f7bd fe3d bl 8054364 80966ea: e004 b.n 80966f6 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80966ec: 4a23 ldr r2, [pc, #140] ; (809677c ) 80966ee: 21d2 movs r1, #210 ; 0xd2 80966f0: 20a5 movs r0, #165 ; 0xa5 80966f2: f7bd fe37 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80966f6: 491e ldr r1, [pc, #120] ; (8096770 ) 80966f8: f04f 30ff mov.w r0, #4294967295 80966fc: f7bd f872 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096700: 4a1a ldr r2, [pc, #104] ; (809676c ) 8096702: 21d2 movs r1, #210 ; 0xd2 8096704: 2032 movs r0, #50 ; 0x32 8096706: f7bd fe2d bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 809670a: 4a1d ldr r2, [pc, #116] ; (8096780 ) 809670c: 21d2 movs r1, #210 ; 0xd2 809670e: f44f 7087 mov.w r0, #270 ; 0x10e 8096712: f7bd fe27 bl 8054364 break; 8096716: e025 b.n 8096764 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096718: 4913 ldr r1, [pc, #76] ; (8096768 ) 809671a: f04f 30ff mov.w r0, #4294967295 809671e: f7bd f861 bl 80537e4 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096722: 4a17 ldr r2, [pc, #92] ; (8096780 ) 8096724: 21d2 movs r1, #210 ; 0xd2 8096726: f44f 7087 mov.w r0, #270 ; 0x10e 809672a: f7bd fe1b bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809672e: 4910 ldr r1, [pc, #64] ; (8096770 ) 8096730: f04f 30ff mov.w r0, #4294967295 8096734: f7bd f856 bl 80537e4 if(measuring) 8096738: 4b0e ldr r3, [pc, #56] ; (8096774 ) 809673a: 781b ldrb r3, [r3, #0] 809673c: b2db uxtb r3, r3 809673e: 2b00 cmp r3, #0 8096740: d005 beq.n 809674e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096742: 4a0d ldr r2, [pc, #52] ; (8096778 ) 8096744: 21d2 movs r1, #210 ; 0xd2 8096746: 20a5 movs r0, #165 ; 0xa5 8096748: f7bd fe0c bl 8054364 809674c: e004 b.n 8096758 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809674e: 4a0b ldr r2, [pc, #44] ; (809677c ) 8096750: 21d2 movs r1, #210 ; 0xd2 8096752: 20a5 movs r0, #165 ; 0xa5 8096754: f7bd fe06 bl 8054364 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096758: 4a04 ldr r2, [pc, #16] ; (809676c ) 809675a: 21d2 movs r1, #210 ; 0xd2 809675c: 2032 movs r0, #50 ; 0x32 809675e: f7bd fe01 bl 8054364 break; 8096762: bf00 nop break; 8096764: f000 bf62 b.w 809762c 8096768: ff606060 .word 0xff606060 809676c: 080d0578 .word 0x080d0578 8096770: ff0a0f1f .word 0xff0a0f1f 8096774: 20020daf .word 0x20020daf 8096778: 080d052c .word 0x080d052c 809677c: 080d0538 .word 0x080d0538 8096780: 080cedcc .word 0x080cedcc 8096784: 080d04b8 .word 0x080d04b8 8096788: 20020038 .word 0x20020038 809678c: 080d05b4 .word 0x080d05b4 8096790: 080d05c0 .word 0x080d05c0 8096794: 080d05d0 .word 0x080d05d0 8096798: 080d051c .word 0x080d051c 809679c: 080d0524 .word 0x080d0524 80967a0: 20021540 .word 0x20021540 80967a4: 20020f78 .word 0x20020f78 80967a8: 20026194 .word 0x20026194 80967ac: 080ce6d8 .word 0x080ce6d8 80967b0: 20020000 .word 0x20020000 80967b4: 20020070 .word 0x20020070 case CALIBR_4: /* Êàëèáðîâêà Êcorr[2] (ÇÀÐßÄ 10, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80967b8: 49c8 ldr r1, [pc, #800] ; (8096adc ) 80967ba: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80967be: f7bd f811 bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 80967c2: 4ac7 ldr r2, [pc, #796] ; (8096ae0 ) 80967c4: 2128 movs r1, #40 ; 0x28 80967c6: 20a5 movs r0, #165 ; 0xa5 80967c8: f7bd fdcc bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 80967cc: 233b movs r3, #59 ; 0x3b 80967ce: f240 123d movw r2, #317 ; 0x13d 80967d2: 213b movs r1, #59 ; 0x3b 80967d4: 2002 movs r0, #2 80967d6: f7bd fa3f bl 8053c58 BSP_LCD_SetFont(&Font12); 80967da: 48c2 ldr r0, [pc, #776] ; (8096ae4 ) 80967dc: f7bd f83e bl 805385c BSP_LCD_DisplayStringAt(310, 36, "[6 / 13]", RIGHT_MODE); 80967e0: 2302 movs r3, #2 80967e2: 4ac1 ldr r2, [pc, #772] ; (8096ae8 ) 80967e4: 2124 movs r1, #36 ; 0x24 80967e6: f44f 709b mov.w r0, #310 ; 0x136 80967ea: f7bd f8c1 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80967ee: 49bb ldr r1, [pc, #748] ; (8096adc ) 80967f0: f04f 30ff mov.w r0, #4294967295 80967f4: f7bc fff6 bl 80537e4 LCD_DisplayString(5, 70, "[ICP 16] [Ky 1]"); 80967f8: 4abc ldr r2, [pc, #752] ; (8096aec ) 80967fa: 2146 movs r1, #70 ; 0x46 80967fc: 2005 movs r0, #5 80967fe: f7bd fd99 bl 8054334 LCD_DisplayString(5, 95, "Input:RMS=64ìÂ,1êÃö"); 8096802: 4abb ldr r2, [pc, #748] ; (8096af0 ) 8096804: 215f movs r1, #95 ; 0x5f 8096806: 2005 movs r0, #5 8096808: f7bd fd94 bl 8054334 LCD_DisplayString(5, 145, "Output="); 809680c: 4ab9 ldr r2, [pc, #740] ; (8096af4 ) 809680e: 2191 movs r1, #145 ; 0x91 8096810: 2005 movs r0, #5 8096812: f7bd fd8f bl 8054334 LCD_DisplayString(5, 170, "Kcorr="); 8096816: 4ab8 ldr r2, [pc, #736] ; (8096af8 ) 8096818: 21aa movs r1, #170 ; 0xaa 809681a: 2005 movs r0, #5 809681c: f7bd fd8a bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096820: 49ae ldr r1, [pc, #696] ; (8096adc ) 8096822: f06f 00ff mvn.w r0, #255 ; 0xff 8096826: f7bc ffdd bl 80537e4 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 809682a: 4bb4 ldr r3, [pc, #720] ; (8096afc ) 809682c: edd3 7a00 vldr s15, [r3] 8096830: f06f 0003 mvn.w r0, #3 8096834: eeb0 0a67 vmov.f32 s0, s15 8096838: f7cf ff7e bl 8066738 809683c: 4603 mov r3, r0 809683e: 461a mov r2, r3 8096840: 2191 movs r1, #145 ; 0x91 8096842: 207d movs r0, #125 ; 0x7d 8096844: f7bd fd76 bl 8054334 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8096848: 4bad ldr r3, [pc, #692] ; (8096b00 ) 809684a: 781b ldrb r3, [r3, #0] 809684c: b2db uxtb r3, r3 809684e: 3b35 subs r3, #53 ; 0x35 8096850: 4aac ldr r2, [pc, #688] ; (8096b04 ) 8096852: 009b lsls r3, r3, #2 8096854: 4413 add r3, r2 8096856: edd3 7a00 vldr s15, [r3] 809685a: f06f 0007 mvn.w r0, #7 809685e: eeb0 0a67 vmov.f32 s0, s15 8096862: f7cf ff69 bl 8066738 8096866: 4603 mov r3, r0 8096868: 461a mov r2, r3 809686a: 21aa movs r1, #170 ; 0xaa 809686c: 207d movs r0, #125 ; 0x7d 809686e: f7bd fd61 bl 8054334 LCD_DisplayString(80, 40, "V"); 8096872: 4aa5 ldr r2, [pc, #660] ; (8096b08 ) 8096874: 2128 movs r1, #40 ; 0x28 8096876: 2050 movs r0, #80 ; 0x50 8096878: f7bd fd5c bl 8054334 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809687c: 4ba3 ldr r3, [pc, #652] ; (8096b0c ) 809687e: edd3 7a00 vldr s15, [r3] 8096882: f06f 0002 mvn.w r0, #2 8096886: eeb0 0a67 vmov.f32 s0, s15 809688a: f7cf ff55 bl 8066738 809688e: 4603 mov r3, r0 8096890: 461a mov r2, r3 8096892: 2128 movs r1, #40 ; 0x28 8096894: 204b movs r0, #75 ; 0x4b 8096896: f7bd fd7d bl 8054394 switch(menupos) 809689a: 4b9d ldr r3, [pc, #628] ; (8096b10 ) 809689c: 781b ldrb r3, [r3, #0] 809689e: b2db uxtb r3, r3 80968a0: 2b01 cmp r3, #1 80968a2: d02b beq.n 80968fc 80968a4: 2b02 cmp r3, #2 80968a6: d04f beq.n 8096948 80968a8: 2b00 cmp r3, #0 80968aa: d001 beq.n 80968b0 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 80968ac: f000 bebe b.w 809762c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80968b0: 4998 ldr r1, [pc, #608] ; (8096b14 ) 80968b2: f04f 30ff mov.w r0, #4294967295 80968b6: f7bc ff95 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 80968ba: 4a97 ldr r2, [pc, #604] ; (8096b18 ) 80968bc: 21d2 movs r1, #210 ; 0xd2 80968be: 2032 movs r0, #50 ; 0x32 80968c0: f7bd fd50 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80968c4: 4985 ldr r1, [pc, #532] ; (8096adc ) 80968c6: f04f 30ff mov.w r0, #4294967295 80968ca: f7bc ff8b bl 80537e4 if(measuring) 80968ce: 4b93 ldr r3, [pc, #588] ; (8096b1c ) 80968d0: 781b ldrb r3, [r3, #0] 80968d2: b2db uxtb r3, r3 80968d4: 2b00 cmp r3, #0 80968d6: d005 beq.n 80968e4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80968d8: 4a91 ldr r2, [pc, #580] ; (8096b20 ) 80968da: 21d2 movs r1, #210 ; 0xd2 80968dc: 20a5 movs r0, #165 ; 0xa5 80968de: f7bd fd41 bl 8054364 80968e2: e004 b.n 80968ee else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80968e4: 4a8f ldr r2, [pc, #572] ; (8096b24 ) 80968e6: 21d2 movs r1, #210 ; 0xd2 80968e8: 20a5 movs r0, #165 ; 0xa5 80968ea: f7bd fd3b bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 80968ee: 4a8e ldr r2, [pc, #568] ; (8096b28 ) 80968f0: 21d2 movs r1, #210 ; 0xd2 80968f2: f44f 7087 mov.w r0, #270 ; 0x10e 80968f6: f7bd fd35 bl 8054364 break; 80968fa: e04b b.n 8096994 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80968fc: 4985 ldr r1, [pc, #532] ; (8096b14 ) 80968fe: f04f 30ff mov.w r0, #4294967295 8096902: f7bc ff6f bl 80537e4 if(measuring) 8096906: 4b85 ldr r3, [pc, #532] ; (8096b1c ) 8096908: 781b ldrb r3, [r3, #0] 809690a: b2db uxtb r3, r3 809690c: 2b00 cmp r3, #0 809690e: d005 beq.n 809691c LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096910: 4a83 ldr r2, [pc, #524] ; (8096b20 ) 8096912: 21d2 movs r1, #210 ; 0xd2 8096914: 20a5 movs r0, #165 ; 0xa5 8096916: f7bd fd25 bl 8054364 809691a: e004 b.n 8096926 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809691c: 4a81 ldr r2, [pc, #516] ; (8096b24 ) 809691e: 21d2 movs r1, #210 ; 0xd2 8096920: 20a5 movs r0, #165 ; 0xa5 8096922: f7bd fd1f bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096926: 496d ldr r1, [pc, #436] ; (8096adc ) 8096928: f04f 30ff mov.w r0, #4294967295 809692c: f7bc ff5a bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096930: 4a79 ldr r2, [pc, #484] ; (8096b18 ) 8096932: 21d2 movs r1, #210 ; 0xd2 8096934: 2032 movs r0, #50 ; 0x32 8096936: f7bd fd15 bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 809693a: 4a7b ldr r2, [pc, #492] ; (8096b28 ) 809693c: 21d2 movs r1, #210 ; 0xd2 809693e: f44f 7087 mov.w r0, #270 ; 0x10e 8096942: f7bd fd0f bl 8054364 break; 8096946: e025 b.n 8096994 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096948: 4972 ldr r1, [pc, #456] ; (8096b14 ) 809694a: f04f 30ff mov.w r0, #4294967295 809694e: f7bc ff49 bl 80537e4 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096952: 4a75 ldr r2, [pc, #468] ; (8096b28 ) 8096954: 21d2 movs r1, #210 ; 0xd2 8096956: f44f 7087 mov.w r0, #270 ; 0x10e 809695a: f7bd fd03 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809695e: 495f ldr r1, [pc, #380] ; (8096adc ) 8096960: f04f 30ff mov.w r0, #4294967295 8096964: f7bc ff3e bl 80537e4 if(measuring) 8096968: 4b6c ldr r3, [pc, #432] ; (8096b1c ) 809696a: 781b ldrb r3, [r3, #0] 809696c: b2db uxtb r3, r3 809696e: 2b00 cmp r3, #0 8096970: d005 beq.n 809697e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096972: 4a6b ldr r2, [pc, #428] ; (8096b20 ) 8096974: 21d2 movs r1, #210 ; 0xd2 8096976: 20a5 movs r0, #165 ; 0xa5 8096978: f7bd fcf4 bl 8054364 809697c: e004 b.n 8096988 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809697e: 4a69 ldr r2, [pc, #420] ; (8096b24 ) 8096980: 21d2 movs r1, #210 ; 0xd2 8096982: 20a5 movs r0, #165 ; 0xa5 8096984: f7bd fcee bl 8054364 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096988: 4a63 ldr r2, [pc, #396] ; (8096b18 ) 809698a: 21d2 movs r1, #210 ; 0xd2 809698c: 2032 movs r0, #50 ; 0x32 809698e: f7bd fce9 bl 8054364 break; 8096992: bf00 nop break; 8096994: f000 be4a b.w 809762c case CALIBR_5: /* Êàëèáðîâêà Êcorr[0] (ÇÀÐßÄ 0.1, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096998: 4950 ldr r1, [pc, #320] ; (8096adc ) 809699a: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809699e: f7bc ff21 bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 80969a2: 4a4f ldr r2, [pc, #316] ; (8096ae0 ) 80969a4: 2128 movs r1, #40 ; 0x28 80969a6: 20a5 movs r0, #165 ; 0xa5 80969a8: f7bd fcdc bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 80969ac: 233b movs r3, #59 ; 0x3b 80969ae: f240 123d movw r2, #317 ; 0x13d 80969b2: 213b movs r1, #59 ; 0x3b 80969b4: 2002 movs r0, #2 80969b6: f7bd f94f bl 8053c58 BSP_LCD_SetFont(&Font12); 80969ba: 484a ldr r0, [pc, #296] ; (8096ae4 ) 80969bc: f7bc ff4e bl 805385c BSP_LCD_DisplayStringAt(310, 36, "[7 / 13]", RIGHT_MODE); 80969c0: 2302 movs r3, #2 80969c2: 4a5a ldr r2, [pc, #360] ; (8096b2c ) 80969c4: 2124 movs r1, #36 ; 0x24 80969c6: f44f 709b mov.w r0, #310 ; 0x136 80969ca: f7bc ffd1 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80969ce: 4943 ldr r1, [pc, #268] ; (8096adc ) 80969d0: f04f 30ff mov.w r0, #4294967295 80969d4: f7bc ff06 bl 80537e4 LCD_DisplayString(5, 70, "[ICP 32] [Ky 1]"); 80969d8: 4a55 ldr r2, [pc, #340] ; (8096b30 ) 80969da: 2146 movs r1, #70 ; 0x46 80969dc: 2005 movs r0, #5 80969de: f7bd fca9 bl 8054334 LCD_DisplayString(5, 95, "Input:RMS=32ìÂ,1êÃö"); 80969e2: 4a54 ldr r2, [pc, #336] ; (8096b34 ) 80969e4: 215f movs r1, #95 ; 0x5f 80969e6: 2005 movs r0, #5 80969e8: f7bd fca4 bl 8054334 LCD_DisplayString(5, 145, "Output="); 80969ec: 4a41 ldr r2, [pc, #260] ; (8096af4 ) 80969ee: 2191 movs r1, #145 ; 0x91 80969f0: 2005 movs r0, #5 80969f2: f7bd fc9f bl 8054334 LCD_DisplayString(5, 170, "Kcorr="); 80969f6: 4a40 ldr r2, [pc, #256] ; (8096af8 ) 80969f8: 21aa movs r1, #170 ; 0xaa 80969fa: 2005 movs r0, #5 80969fc: f7bd fc9a bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096a00: 4936 ldr r1, [pc, #216] ; (8096adc ) 8096a02: f06f 00ff mvn.w r0, #255 ; 0xff 8096a06: f7bc feed bl 80537e4 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8096a0a: 4b3c ldr r3, [pc, #240] ; (8096afc ) 8096a0c: edd3 7a00 vldr s15, [r3] 8096a10: f06f 0003 mvn.w r0, #3 8096a14: eeb0 0a67 vmov.f32 s0, s15 8096a18: f7cf fe8e bl 8066738 8096a1c: 4603 mov r3, r0 8096a1e: 461a mov r2, r3 8096a20: 2191 movs r1, #145 ; 0x91 8096a22: 207d movs r0, #125 ; 0x7d 8096a24: f7bd fc86 bl 8054334 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8096a28: 4b35 ldr r3, [pc, #212] ; (8096b00 ) 8096a2a: 781b ldrb r3, [r3, #0] 8096a2c: b2db uxtb r3, r3 8096a2e: 3b35 subs r3, #53 ; 0x35 8096a30: 4a34 ldr r2, [pc, #208] ; (8096b04 ) 8096a32: 009b lsls r3, r3, #2 8096a34: 4413 add r3, r2 8096a36: edd3 7a00 vldr s15, [r3] 8096a3a: f06f 0007 mvn.w r0, #7 8096a3e: eeb0 0a67 vmov.f32 s0, s15 8096a42: f7cf fe79 bl 8066738 8096a46: 4603 mov r3, r0 8096a48: 461a mov r2, r3 8096a4a: 21aa movs r1, #170 ; 0xaa 8096a4c: 207d movs r0, #125 ; 0x7d 8096a4e: f7bd fc71 bl 8054334 LCD_DisplayString(80, 40, "V"); 8096a52: 4a2d ldr r2, [pc, #180] ; (8096b08 ) 8096a54: 2128 movs r1, #40 ; 0x28 8096a56: 2050 movs r0, #80 ; 0x50 8096a58: f7bd fc6c bl 8054334 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8096a5c: 4b2b ldr r3, [pc, #172] ; (8096b0c ) 8096a5e: edd3 7a00 vldr s15, [r3] 8096a62: f06f 0002 mvn.w r0, #2 8096a66: eeb0 0a67 vmov.f32 s0, s15 8096a6a: f7cf fe65 bl 8066738 8096a6e: 4603 mov r3, r0 8096a70: 461a mov r2, r3 8096a72: 2128 movs r1, #40 ; 0x28 8096a74: 204b movs r0, #75 ; 0x4b 8096a76: f7bd fc8d bl 8054394 switch(menupos) 8096a7a: 4b25 ldr r3, [pc, #148] ; (8096b10 ) 8096a7c: 781b ldrb r3, [r3, #0] 8096a7e: b2db uxtb r3, r3 8096a80: 2b01 cmp r3, #1 8096a82: d059 beq.n 8096b38 8096a84: 2b02 cmp r3, #2 8096a86: d07d beq.n 8096b84 8096a88: 2b00 cmp r3, #0 8096a8a: d001 beq.n 8096a90 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8096a8c: f000 bdce b.w 809762c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096a90: 4920 ldr r1, [pc, #128] ; (8096b14 ) 8096a92: f04f 30ff mov.w r0, #4294967295 8096a96: f7bc fea5 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096a9a: 4a1f ldr r2, [pc, #124] ; (8096b18 ) 8096a9c: 21d2 movs r1, #210 ; 0xd2 8096a9e: 2032 movs r0, #50 ; 0x32 8096aa0: f7bd fc60 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096aa4: 490d ldr r1, [pc, #52] ; (8096adc ) 8096aa6: f04f 30ff mov.w r0, #4294967295 8096aaa: f7bc fe9b bl 80537e4 if(measuring) 8096aae: 4b1b ldr r3, [pc, #108] ; (8096b1c ) 8096ab0: 781b ldrb r3, [r3, #0] 8096ab2: b2db uxtb r3, r3 8096ab4: 2b00 cmp r3, #0 8096ab6: d005 beq.n 8096ac4 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096ab8: 4a19 ldr r2, [pc, #100] ; (8096b20 ) 8096aba: 21d2 movs r1, #210 ; 0xd2 8096abc: 20a5 movs r0, #165 ; 0xa5 8096abe: f7bd fc51 bl 8054364 8096ac2: e004 b.n 8096ace else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096ac4: 4a17 ldr r2, [pc, #92] ; (8096b24 ) 8096ac6: 21d2 movs r1, #210 ; 0xd2 8096ac8: 20a5 movs r0, #165 ; 0xa5 8096aca: f7bd fc4b bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096ace: 4a16 ldr r2, [pc, #88] ; (8096b28 ) 8096ad0: 21d2 movs r1, #210 ; 0xd2 8096ad2: f44f 7087 mov.w r0, #270 ; 0x10e 8096ad6: f7bd fc45 bl 8054364 break; 8096ada: e079 b.n 8096bd0 8096adc: ff0a0f1f .word 0xff0a0f1f 8096ae0: 080d04b8 .word 0x080d04b8 8096ae4: 20020038 .word 0x20020038 8096ae8: 080d05e8 .word 0x080d05e8 8096aec: 080d05f4 .word 0x080d05f4 8096af0: 080d0604 .word 0x080d0604 8096af4: 080d051c .word 0x080d051c 8096af8: 080d0524 .word 0x080d0524 8096afc: 20021540 .word 0x20021540 8096b00: 20020f78 .word 0x20020f78 8096b04: 20026194 .word 0x20026194 8096b08: 080ce6d8 .word 0x080ce6d8 8096b0c: 20020000 .word 0x20020000 8096b10: 20020070 .word 0x20020070 8096b14: ff606060 .word 0xff606060 8096b18: 080d0578 .word 0x080d0578 8096b1c: 20020daf .word 0x20020daf 8096b20: 080d052c .word 0x080d052c 8096b24: 080d0538 .word 0x080d0538 8096b28: 080cedcc .word 0x080cedcc 8096b2c: 080d0618 .word 0x080d0618 8096b30: 080d0624 .word 0x080d0624 8096b34: 080d0634 .word 0x080d0634 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096b38: 499e ldr r1, [pc, #632] ; (8096db4 ) 8096b3a: f04f 30ff mov.w r0, #4294967295 8096b3e: f7bc fe51 bl 80537e4 if(measuring) 8096b42: 4b9d ldr r3, [pc, #628] ; (8096db8 ) 8096b44: 781b ldrb r3, [r3, #0] 8096b46: b2db uxtb r3, r3 8096b48: 2b00 cmp r3, #0 8096b4a: d005 beq.n 8096b58 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096b4c: 4a9b ldr r2, [pc, #620] ; (8096dbc ) 8096b4e: 21d2 movs r1, #210 ; 0xd2 8096b50: 20a5 movs r0, #165 ; 0xa5 8096b52: f7bd fc07 bl 8054364 8096b56: e004 b.n 8096b62 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096b58: 4a99 ldr r2, [pc, #612] ; (8096dc0 ) 8096b5a: 21d2 movs r1, #210 ; 0xd2 8096b5c: 20a5 movs r0, #165 ; 0xa5 8096b5e: f7bd fc01 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096b62: 4998 ldr r1, [pc, #608] ; (8096dc4 ) 8096b64: f04f 30ff mov.w r0, #4294967295 8096b68: f7bc fe3c bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096b6c: 4a96 ldr r2, [pc, #600] ; (8096dc8 ) 8096b6e: 21d2 movs r1, #210 ; 0xd2 8096b70: 2032 movs r0, #50 ; 0x32 8096b72: f7bd fbf7 bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096b76: 4a95 ldr r2, [pc, #596] ; (8096dcc ) 8096b78: 21d2 movs r1, #210 ; 0xd2 8096b7a: f44f 7087 mov.w r0, #270 ; 0x10e 8096b7e: f7bd fbf1 bl 8054364 break; 8096b82: e025 b.n 8096bd0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096b84: 498b ldr r1, [pc, #556] ; (8096db4 ) 8096b86: f04f 30ff mov.w r0, #4294967295 8096b8a: f7bc fe2b bl 80537e4 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096b8e: 4a8f ldr r2, [pc, #572] ; (8096dcc ) 8096b90: 21d2 movs r1, #210 ; 0xd2 8096b92: f44f 7087 mov.w r0, #270 ; 0x10e 8096b96: f7bd fbe5 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096b9a: 498a ldr r1, [pc, #552] ; (8096dc4 ) 8096b9c: f04f 30ff mov.w r0, #4294967295 8096ba0: f7bc fe20 bl 80537e4 if(measuring) 8096ba4: 4b84 ldr r3, [pc, #528] ; (8096db8 ) 8096ba6: 781b ldrb r3, [r3, #0] 8096ba8: b2db uxtb r3, r3 8096baa: 2b00 cmp r3, #0 8096bac: d005 beq.n 8096bba LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096bae: 4a83 ldr r2, [pc, #524] ; (8096dbc ) 8096bb0: 21d2 movs r1, #210 ; 0xd2 8096bb2: 20a5 movs r0, #165 ; 0xa5 8096bb4: f7bd fbd6 bl 8054364 8096bb8: e004 b.n 8096bc4 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096bba: 4a81 ldr r2, [pc, #516] ; (8096dc0 ) 8096bbc: 21d2 movs r1, #210 ; 0xd2 8096bbe: 20a5 movs r0, #165 ; 0xa5 8096bc0: f7bd fbd0 bl 8054364 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096bc4: 4a80 ldr r2, [pc, #512] ; (8096dc8 ) 8096bc6: 21d2 movs r1, #210 ; 0xd2 8096bc8: 2032 movs r0, #50 ; 0x32 8096bca: f7bd fbcb bl 8054364 break; 8096bce: bf00 nop break; 8096bd0: f000 bd2c b.w 809762c case CALIBR_6: /* Êàëèáðîâêà Êcorr[3] (IEPE 1, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096bd4: 497b ldr r1, [pc, #492] ; (8096dc4 ) 8096bd6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8096bda: f7bc fe03 bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8096bde: 4a7c ldr r2, [pc, #496] ; (8096dd0 ) 8096be0: 2128 movs r1, #40 ; 0x28 8096be2: 20a5 movs r0, #165 ; 0xa5 8096be4: f7bd fbbe bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 8096be8: 233b movs r3, #59 ; 0x3b 8096bea: f240 123d movw r2, #317 ; 0x13d 8096bee: 213b movs r1, #59 ; 0x3b 8096bf0: 2002 movs r0, #2 8096bf2: f7bd f831 bl 8053c58 BSP_LCD_SetFont(&Font12); 8096bf6: 4877 ldr r0, [pc, #476] ; (8096dd4 ) 8096bf8: f7bc fe30 bl 805385c BSP_LCD_DisplayStringAt(310, 36, "[8 / 13]", RIGHT_MODE); 8096bfc: 2302 movs r3, #2 8096bfe: 4a76 ldr r2, [pc, #472] ; (8096dd8 ) 8096c00: 2124 movs r1, #36 ; 0x24 8096c02: f44f 709b mov.w r0, #310 ; 0x136 8096c06: f7bc feb3 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096c0a: 496e ldr r1, [pc, #440] ; (8096dc4 ) 8096c0c: f04f 30ff mov.w r0, #4294967295 8096c10: f7bc fde8 bl 80537e4 LCD_DisplayString(5, 70, "[ICP 64] [Ky 1]"); 8096c14: 4a71 ldr r2, [pc, #452] ; (8096ddc ) 8096c16: 2146 movs r1, #70 ; 0x46 8096c18: 2005 movs r0, #5 8096c1a: f7bd fb8b bl 8054334 LCD_DisplayString(5, 95, "Input:RMS=16ìÂ,1êÃö"); 8096c1e: 4a70 ldr r2, [pc, #448] ; (8096de0 ) 8096c20: 215f movs r1, #95 ; 0x5f 8096c22: 2005 movs r0, #5 8096c24: f7bd fb86 bl 8054334 LCD_DisplayString(5, 145, "Output="); 8096c28: 4a6e ldr r2, [pc, #440] ; (8096de4 ) 8096c2a: 2191 movs r1, #145 ; 0x91 8096c2c: 2005 movs r0, #5 8096c2e: f7bd fb81 bl 8054334 LCD_DisplayString(5, 170, "Kcorr="); 8096c32: 4a6d ldr r2, [pc, #436] ; (8096de8 ) 8096c34: 21aa movs r1, #170 ; 0xaa 8096c36: 2005 movs r0, #5 8096c38: f7bd fb7c bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096c3c: 4961 ldr r1, [pc, #388] ; (8096dc4 ) 8096c3e: f06f 00ff mvn.w r0, #255 ; 0xff 8096c42: f7bc fdcf bl 80537e4 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8096c46: 4b69 ldr r3, [pc, #420] ; (8096dec ) 8096c48: edd3 7a00 vldr s15, [r3] 8096c4c: f06f 0003 mvn.w r0, #3 8096c50: eeb0 0a67 vmov.f32 s0, s15 8096c54: f7cf fd70 bl 8066738 8096c58: 4603 mov r3, r0 8096c5a: 461a mov r2, r3 8096c5c: 2191 movs r1, #145 ; 0x91 8096c5e: 207d movs r0, #125 ; 0x7d 8096c60: f7bd fb68 bl 8054334 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8096c64: 4b62 ldr r3, [pc, #392] ; (8096df0 ) 8096c66: 781b ldrb r3, [r3, #0] 8096c68: b2db uxtb r3, r3 8096c6a: 3b35 subs r3, #53 ; 0x35 8096c6c: 4a61 ldr r2, [pc, #388] ; (8096df4 ) 8096c6e: 009b lsls r3, r3, #2 8096c70: 4413 add r3, r2 8096c72: edd3 7a00 vldr s15, [r3] 8096c76: f06f 0007 mvn.w r0, #7 8096c7a: eeb0 0a67 vmov.f32 s0, s15 8096c7e: f7cf fd5b bl 8066738 8096c82: 4603 mov r3, r0 8096c84: 461a mov r2, r3 8096c86: 21aa movs r1, #170 ; 0xaa 8096c88: 207d movs r0, #125 ; 0x7d 8096c8a: f7bd fb53 bl 8054334 LCD_DisplayString(80, 40, "V"); 8096c8e: 4a5a ldr r2, [pc, #360] ; (8096df8 ) 8096c90: 2128 movs r1, #40 ; 0x28 8096c92: 2050 movs r0, #80 ; 0x50 8096c94: f7bd fb4e bl 8054334 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8096c98: 4b58 ldr r3, [pc, #352] ; (8096dfc ) 8096c9a: edd3 7a00 vldr s15, [r3] 8096c9e: f06f 0002 mvn.w r0, #2 8096ca2: eeb0 0a67 vmov.f32 s0, s15 8096ca6: f7cf fd47 bl 8066738 8096caa: 4603 mov r3, r0 8096cac: 461a mov r2, r3 8096cae: 2128 movs r1, #40 ; 0x28 8096cb0: 204b movs r0, #75 ; 0x4b 8096cb2: f7bd fb6f bl 8054394 switch(menupos) 8096cb6: 4b52 ldr r3, [pc, #328] ; (8096e00 ) 8096cb8: 781b ldrb r3, [r3, #0] 8096cba: b2db uxtb r3, r3 8096cbc: 2b01 cmp r3, #1 8096cbe: d02b beq.n 8096d18 8096cc0: 2b02 cmp r3, #2 8096cc2: d04f beq.n 8096d64 8096cc4: 2b00 cmp r3, #0 8096cc6: d001 beq.n 8096ccc else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8096cc8: f000 bcb0 b.w 809762c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096ccc: 4939 ldr r1, [pc, #228] ; (8096db4 ) 8096cce: f04f 30ff mov.w r0, #4294967295 8096cd2: f7bc fd87 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096cd6: 4a3c ldr r2, [pc, #240] ; (8096dc8 ) 8096cd8: 21d2 movs r1, #210 ; 0xd2 8096cda: 2032 movs r0, #50 ; 0x32 8096cdc: f7bd fb42 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096ce0: 4938 ldr r1, [pc, #224] ; (8096dc4 ) 8096ce2: f04f 30ff mov.w r0, #4294967295 8096ce6: f7bc fd7d bl 80537e4 if(measuring) 8096cea: 4b33 ldr r3, [pc, #204] ; (8096db8 ) 8096cec: 781b ldrb r3, [r3, #0] 8096cee: b2db uxtb r3, r3 8096cf0: 2b00 cmp r3, #0 8096cf2: d005 beq.n 8096d00 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096cf4: 4a31 ldr r2, [pc, #196] ; (8096dbc ) 8096cf6: 21d2 movs r1, #210 ; 0xd2 8096cf8: 20a5 movs r0, #165 ; 0xa5 8096cfa: f7bd fb33 bl 8054364 8096cfe: e004 b.n 8096d0a else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096d00: 4a2f ldr r2, [pc, #188] ; (8096dc0 ) 8096d02: 21d2 movs r1, #210 ; 0xd2 8096d04: 20a5 movs r0, #165 ; 0xa5 8096d06: f7bd fb2d bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096d0a: 4a30 ldr r2, [pc, #192] ; (8096dcc ) 8096d0c: 21d2 movs r1, #210 ; 0xd2 8096d0e: f44f 7087 mov.w r0, #270 ; 0x10e 8096d12: f7bd fb27 bl 8054364 break; 8096d16: e04b b.n 8096db0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096d18: 4926 ldr r1, [pc, #152] ; (8096db4 ) 8096d1a: f04f 30ff mov.w r0, #4294967295 8096d1e: f7bc fd61 bl 80537e4 if(measuring) 8096d22: 4b25 ldr r3, [pc, #148] ; (8096db8 ) 8096d24: 781b ldrb r3, [r3, #0] 8096d26: b2db uxtb r3, r3 8096d28: 2b00 cmp r3, #0 8096d2a: d005 beq.n 8096d38 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096d2c: 4a23 ldr r2, [pc, #140] ; (8096dbc ) 8096d2e: 21d2 movs r1, #210 ; 0xd2 8096d30: 20a5 movs r0, #165 ; 0xa5 8096d32: f7bd fb17 bl 8054364 8096d36: e004 b.n 8096d42 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096d38: 4a21 ldr r2, [pc, #132] ; (8096dc0 ) 8096d3a: 21d2 movs r1, #210 ; 0xd2 8096d3c: 20a5 movs r0, #165 ; 0xa5 8096d3e: f7bd fb11 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096d42: 4920 ldr r1, [pc, #128] ; (8096dc4 ) 8096d44: f04f 30ff mov.w r0, #4294967295 8096d48: f7bc fd4c bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096d4c: 4a1e ldr r2, [pc, #120] ; (8096dc8 ) 8096d4e: 21d2 movs r1, #210 ; 0xd2 8096d50: 2032 movs r0, #50 ; 0x32 8096d52: f7bd fb07 bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096d56: 4a1d ldr r2, [pc, #116] ; (8096dcc ) 8096d58: 21d2 movs r1, #210 ; 0xd2 8096d5a: f44f 7087 mov.w r0, #270 ; 0x10e 8096d5e: f7bd fb01 bl 8054364 break; 8096d62: e025 b.n 8096db0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096d64: 4913 ldr r1, [pc, #76] ; (8096db4 ) 8096d66: f04f 30ff mov.w r0, #4294967295 8096d6a: f7bc fd3b bl 80537e4 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096d6e: 4a17 ldr r2, [pc, #92] ; (8096dcc ) 8096d70: 21d2 movs r1, #210 ; 0xd2 8096d72: f44f 7087 mov.w r0, #270 ; 0x10e 8096d76: f7bd faf5 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096d7a: 4912 ldr r1, [pc, #72] ; (8096dc4 ) 8096d7c: f04f 30ff mov.w r0, #4294967295 8096d80: f7bc fd30 bl 80537e4 if(measuring) 8096d84: 4b0c ldr r3, [pc, #48] ; (8096db8 ) 8096d86: 781b ldrb r3, [r3, #0] 8096d88: b2db uxtb r3, r3 8096d8a: 2b00 cmp r3, #0 8096d8c: d005 beq.n 8096d9a LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096d8e: 4a0b ldr r2, [pc, #44] ; (8096dbc ) 8096d90: 21d2 movs r1, #210 ; 0xd2 8096d92: 20a5 movs r0, #165 ; 0xa5 8096d94: f7bd fae6 bl 8054364 8096d98: e004 b.n 8096da4 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096d9a: 4a09 ldr r2, [pc, #36] ; (8096dc0 ) 8096d9c: 21d2 movs r1, #210 ; 0xd2 8096d9e: 20a5 movs r0, #165 ; 0xa5 8096da0: f7bd fae0 bl 8054364 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096da4: 4a08 ldr r2, [pc, #32] ; (8096dc8 ) 8096da6: 21d2 movs r1, #210 ; 0xd2 8096da8: 2032 movs r0, #50 ; 0x32 8096daa: f7bd fadb bl 8054364 break; 8096dae: bf00 nop break; 8096db0: f000 bc3c b.w 809762c 8096db4: ff606060 .word 0xff606060 8096db8: 20020daf .word 0x20020daf 8096dbc: 080d052c .word 0x080d052c 8096dc0: 080d0538 .word 0x080d0538 8096dc4: ff0a0f1f .word 0xff0a0f1f 8096dc8: 080d0578 .word 0x080d0578 8096dcc: 080cedcc .word 0x080cedcc 8096dd0: 080d04b8 .word 0x080d04b8 8096dd4: 20020038 .word 0x20020038 8096dd8: 080d0648 .word 0x080d0648 8096ddc: 080d0654 .word 0x080d0654 8096de0: 080d0664 .word 0x080d0664 8096de4: 080d051c .word 0x080d051c 8096de8: 080d0524 .word 0x080d0524 8096dec: 20021540 .word 0x20021540 8096df0: 20020f78 .word 0x20020f78 8096df4: 20026194 .word 0x20026194 8096df8: 080ce6d8 .word 0x080ce6d8 8096dfc: 20020000 .word 0x20020000 8096e00: 20020070 .word 0x20020070 case CALIBR_7: /* Êàëèáðîâêà Êcorr[4] (IEPE 10, Êóñ = 1) */ LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096e04: 49c7 ldr r1, [pc, #796] ; (8097124 ) 8096e06: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8096e0a: f7bc fceb bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8096e0e: 4ac6 ldr r2, [pc, #792] ; (8097128 ) 8096e10: 2128 movs r1, #40 ; 0x28 8096e12: 20a5 movs r0, #165 ; 0xa5 8096e14: f7bd faa6 bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 8096e18: 233b movs r3, #59 ; 0x3b 8096e1a: f240 123d movw r2, #317 ; 0x13d 8096e1e: 213b movs r1, #59 ; 0x3b 8096e20: 2002 movs r0, #2 8096e22: f7bc ff19 bl 8053c58 BSP_LCD_SetFont(&Font12); 8096e26: 48c1 ldr r0, [pc, #772] ; (809712c ) 8096e28: f7bc fd18 bl 805385c BSP_LCD_DisplayStringAt(310, 36, "[9 / 13]", RIGHT_MODE); 8096e2c: 2302 movs r3, #2 8096e2e: 4ac0 ldr r2, [pc, #768] ; (8097130 ) 8096e30: 2124 movs r1, #36 ; 0x24 8096e32: f44f 709b mov.w r0, #310 ; 0x136 8096e36: f7bc fd9b bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096e3a: 49ba ldr r1, [pc, #744] ; (8097124 ) 8096e3c: f04f 30ff mov.w r0, #4294967295 8096e40: f7bc fcd0 bl 80537e4 LCD_DisplayString(5, 70, "[ICP 1] [Ky 10]"); 8096e44: 4abb ldr r2, [pc, #748] ; (8097134 ) 8096e46: 2146 movs r1, #70 ; 0x46 8096e48: 2005 movs r0, #5 8096e4a: f7bd fa73 bl 8054334 LCD_DisplayString(5, 95, "Input:RMS=100ìÂ,1êÃö"); 8096e4e: 4aba ldr r2, [pc, #744] ; (8097138 ) 8096e50: 215f movs r1, #95 ; 0x5f 8096e52: 2005 movs r0, #5 8096e54: f7bd fa6e bl 8054334 LCD_DisplayString(5, 145, "Output="); 8096e58: 4ab8 ldr r2, [pc, #736] ; (809713c ) 8096e5a: 2191 movs r1, #145 ; 0x91 8096e5c: 2005 movs r0, #5 8096e5e: f7bd fa69 bl 8054334 LCD_DisplayString(5, 170, "Kcorr="); 8096e62: 4ab7 ldr r2, [pc, #732] ; (8097140 ) 8096e64: 21aa movs r1, #170 ; 0xaa 8096e66: 2005 movs r0, #5 8096e68: f7bd fa64 bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8096e6c: 49ad ldr r1, [pc, #692] ; (8097124 ) 8096e6e: f06f 00ff mvn.w r0, #255 ; 0xff 8096e72: f7bc fcb7 bl 80537e4 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8096e76: 4bb3 ldr r3, [pc, #716] ; (8097144 ) 8096e78: edd3 7a00 vldr s15, [r3] 8096e7c: f06f 0003 mvn.w r0, #3 8096e80: eeb0 0a67 vmov.f32 s0, s15 8096e84: f7cf fc58 bl 8066738 8096e88: 4603 mov r3, r0 8096e8a: 461a mov r2, r3 8096e8c: 2191 movs r1, #145 ; 0x91 8096e8e: 207d movs r0, #125 ; 0x7d 8096e90: f7bd fa50 bl 8054334 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8096e94: 4bac ldr r3, [pc, #688] ; (8097148 ) 8096e96: 781b ldrb r3, [r3, #0] 8096e98: b2db uxtb r3, r3 8096e9a: 3b35 subs r3, #53 ; 0x35 8096e9c: 4aab ldr r2, [pc, #684] ; (809714c ) 8096e9e: 009b lsls r3, r3, #2 8096ea0: 4413 add r3, r2 8096ea2: edd3 7a00 vldr s15, [r3] 8096ea6: f06f 0007 mvn.w r0, #7 8096eaa: eeb0 0a67 vmov.f32 s0, s15 8096eae: f7cf fc43 bl 8066738 8096eb2: 4603 mov r3, r0 8096eb4: 461a mov r2, r3 8096eb6: 21aa movs r1, #170 ; 0xaa 8096eb8: 207d movs r0, #125 ; 0x7d 8096eba: f7bd fa3b bl 8054334 LCD_DisplayString(80, 40, "V"); 8096ebe: 4aa4 ldr r2, [pc, #656] ; (8097150 ) 8096ec0: 2128 movs r1, #40 ; 0x28 8096ec2: 2050 movs r0, #80 ; 0x50 8096ec4: f7bd fa36 bl 8054334 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8096ec8: 4ba2 ldr r3, [pc, #648] ; (8097154 ) 8096eca: edd3 7a00 vldr s15, [r3] 8096ece: f06f 0002 mvn.w r0, #2 8096ed2: eeb0 0a67 vmov.f32 s0, s15 8096ed6: f7cf fc2f bl 8066738 8096eda: 4603 mov r3, r0 8096edc: 461a mov r2, r3 8096ede: 2128 movs r1, #40 ; 0x28 8096ee0: 204b movs r0, #75 ; 0x4b 8096ee2: f7bd fa57 bl 8054394 switch(menupos) 8096ee6: 4b9c ldr r3, [pc, #624] ; (8097158 ) 8096ee8: 781b ldrb r3, [r3, #0] 8096eea: b2db uxtb r3, r3 8096eec: 2b01 cmp r3, #1 8096eee: d02a beq.n 8096f46 8096ef0: 2b02 cmp r3, #2 8096ef2: d04e beq.n 8096f92 8096ef4: 2b00 cmp r3, #0 8096ef6: d000 beq.n 8096efa else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8096ef8: e398 b.n 809762c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096efa: 4998 ldr r1, [pc, #608] ; (809715c ) 8096efc: f04f 30ff mov.w r0, #4294967295 8096f00: f7bc fc70 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096f04: 4a96 ldr r2, [pc, #600] ; (8097160 ) 8096f06: 21d2 movs r1, #210 ; 0xd2 8096f08: 2032 movs r0, #50 ; 0x32 8096f0a: f7bd fa2b bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096f0e: 4985 ldr r1, [pc, #532] ; (8097124 ) 8096f10: f04f 30ff mov.w r0, #4294967295 8096f14: f7bc fc66 bl 80537e4 if(measuring) 8096f18: 4b92 ldr r3, [pc, #584] ; (8097164 ) 8096f1a: 781b ldrb r3, [r3, #0] 8096f1c: b2db uxtb r3, r3 8096f1e: 2b00 cmp r3, #0 8096f20: d005 beq.n 8096f2e LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096f22: 4a91 ldr r2, [pc, #580] ; (8097168 ) 8096f24: 21d2 movs r1, #210 ; 0xd2 8096f26: 20a5 movs r0, #165 ; 0xa5 8096f28: f7bd fa1c bl 8054364 8096f2c: e004 b.n 8096f38 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096f2e: 4a8f ldr r2, [pc, #572] ; (809716c ) 8096f30: 21d2 movs r1, #210 ; 0xd2 8096f32: 20a5 movs r0, #165 ; 0xa5 8096f34: f7bd fa16 bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096f38: 4a8d ldr r2, [pc, #564] ; (8097170 ) 8096f3a: 21d2 movs r1, #210 ; 0xd2 8096f3c: f44f 7087 mov.w r0, #270 ; 0x10e 8096f40: f7bd fa10 bl 8054364 break; 8096f44: e04b b.n 8096fde LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096f46: 4985 ldr r1, [pc, #532] ; (809715c ) 8096f48: f04f 30ff mov.w r0, #4294967295 8096f4c: f7bc fc4a bl 80537e4 if(measuring) 8096f50: 4b84 ldr r3, [pc, #528] ; (8097164 ) 8096f52: 781b ldrb r3, [r3, #0] 8096f54: b2db uxtb r3, r3 8096f56: 2b00 cmp r3, #0 8096f58: d005 beq.n 8096f66 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096f5a: 4a83 ldr r2, [pc, #524] ; (8097168 ) 8096f5c: 21d2 movs r1, #210 ; 0xd2 8096f5e: 20a5 movs r0, #165 ; 0xa5 8096f60: f7bd fa00 bl 8054364 8096f64: e004 b.n 8096f70 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096f66: 4a81 ldr r2, [pc, #516] ; (809716c ) 8096f68: 21d2 movs r1, #210 ; 0xd2 8096f6a: 20a5 movs r0, #165 ; 0xa5 8096f6c: f7bd f9fa bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096f70: 496c ldr r1, [pc, #432] ; (8097124 ) 8096f72: f04f 30ff mov.w r0, #4294967295 8096f76: f7bc fc35 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096f7a: 4a79 ldr r2, [pc, #484] ; (8097160 ) 8096f7c: 21d2 movs r1, #210 ; 0xd2 8096f7e: 2032 movs r0, #50 ; 0x32 8096f80: f7bd f9f0 bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096f84: 4a7a ldr r2, [pc, #488] ; (8097170 ) 8096f86: 21d2 movs r1, #210 ; 0xd2 8096f88: f44f 7087 mov.w r0, #270 ; 0x10e 8096f8c: f7bd f9ea bl 8054364 break; 8096f90: e025 b.n 8096fde LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8096f92: 4972 ldr r1, [pc, #456] ; (809715c ) 8096f94: f04f 30ff mov.w r0, #4294967295 8096f98: f7bc fc24 bl 80537e4 LCD_DisplayStringC(270, 210, "Äàëåå"); 8096f9c: 4a74 ldr r2, [pc, #464] ; (8097170 ) 8096f9e: 21d2 movs r1, #210 ; 0xd2 8096fa0: f44f 7087 mov.w r0, #270 ; 0x10e 8096fa4: f7bd f9de bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8096fa8: 495e ldr r1, [pc, #376] ; (8097124 ) 8096faa: f04f 30ff mov.w r0, #4294967295 8096fae: f7bc fc19 bl 80537e4 if(measuring) 8096fb2: 4b6c ldr r3, [pc, #432] ; (8097164 ) 8096fb4: 781b ldrb r3, [r3, #0] 8096fb6: b2db uxtb r3, r3 8096fb8: 2b00 cmp r3, #0 8096fba: d005 beq.n 8096fc8 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8096fbc: 4a6a ldr r2, [pc, #424] ; (8097168 ) 8096fbe: 21d2 movs r1, #210 ; 0xd2 8096fc0: 20a5 movs r0, #165 ; 0xa5 8096fc2: f7bd f9cf bl 8054364 8096fc6: e004 b.n 8096fd2 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8096fc8: 4a68 ldr r2, [pc, #416] ; (809716c ) 8096fca: 21d2 movs r1, #210 ; 0xd2 8096fcc: 20a5 movs r0, #165 ; 0xa5 8096fce: f7bd f9c9 bl 8054364 LCD_DisplayStringC(50, 210, "Íàçàä"); 8096fd2: 4a63 ldr r2, [pc, #396] ; (8097160 ) 8096fd4: 21d2 movs r1, #210 ; 0xd2 8096fd6: 2032 movs r0, #50 ; 0x32 8096fd8: f7bd f9c4 bl 8054364 break; 8096fdc: bf00 nop break; 8096fde: e325 b.n 809762c case CALIBR_8: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8096fe0: 4950 ldr r1, [pc, #320] ; (8097124 ) 8096fe2: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8096fe6: f7bc fbfd bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8096fea: 4a4f ldr r2, [pc, #316] ; (8097128 ) 8096fec: 2128 movs r1, #40 ; 0x28 8096fee: 20a5 movs r0, #165 ; 0xa5 8096ff0: f7bd f9b8 bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 8096ff4: 233b movs r3, #59 ; 0x3b 8096ff6: f240 123d movw r2, #317 ; 0x13d 8096ffa: 213b movs r1, #59 ; 0x3b 8096ffc: 2002 movs r0, #2 8096ffe: f7bc fe2b bl 8053c58 BSP_LCD_SetFont(&Font12); 8097002: 484a ldr r0, [pc, #296] ; (809712c ) 8097004: f7bc fc2a bl 805385c BSP_LCD_DisplayStringAt(310, 36, "[10 / 13]", RIGHT_MODE); 8097008: 2302 movs r3, #2 809700a: 4a5a ldr r2, [pc, #360] ; (8097174 ) 809700c: 2124 movs r1, #36 ; 0x24 809700e: f44f 709b mov.w r0, #310 ; 0x136 8097012: f7bc fcad bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097016: 4943 ldr r1, [pc, #268] ; (8097124 ) 8097018: f04f 30ff mov.w r0, #4294967295 809701c: f7bc fbe2 bl 80537e4 LCD_DisplayString(5, 70, "[ZAR 1] [Ky 1]"); 8097020: 4a55 ldr r2, [pc, #340] ; (8097178 ) 8097022: 2146 movs r1, #70 ; 0x46 8097024: 2005 movs r0, #5 8097026: f7bd f985 bl 8054334 LCD_DisplayString(5, 95, "Input:RMS=1024ìÂ,1êÃö"); 809702a: 4a54 ldr r2, [pc, #336] ; (809717c ) 809702c: 215f movs r1, #95 ; 0x5f 809702e: 2005 movs r0, #5 8097030: f7bd f980 bl 8054334 LCD_DisplayString(5, 145, "Output="); 8097034: 4a41 ldr r2, [pc, #260] ; (809713c ) 8097036: 2191 movs r1, #145 ; 0x91 8097038: 2005 movs r0, #5 809703a: f7bd f97b bl 8054334 LCD_DisplayString(5, 170, "Kcorr="); 809703e: 4a40 ldr r2, [pc, #256] ; (8097140 ) 8097040: 21aa movs r1, #170 ; 0xaa 8097042: 2005 movs r0, #5 8097044: f7bd f976 bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097048: 4936 ldr r1, [pc, #216] ; (8097124 ) 809704a: f06f 00ff mvn.w r0, #255 ; 0xff 809704e: f7bc fbc9 bl 80537e4 LCD_DisplayString(125, 145, (char *) FloatToASCII(skz[ACC], -4)); 8097052: 4b3c ldr r3, [pc, #240] ; (8097144 ) 8097054: edd3 7a00 vldr s15, [r3] 8097058: f06f 0003 mvn.w r0, #3 809705c: eeb0 0a67 vmov.f32 s0, s15 8097060: f7cf fb6a bl 8066738 8097064: 4603 mov r3, r0 8097066: 461a mov r2, r3 8097068: 2191 movs r1, #145 ; 0x91 809706a: 207d movs r0, #125 ; 0x7d 809706c: f7bd f962 bl 8054334 LCD_DisplayString(125, 170, (char *) FloatToASCII(Kcorr[menu - CALIBR_0], -8)); 8097070: 4b35 ldr r3, [pc, #212] ; (8097148 ) 8097072: 781b ldrb r3, [r3, #0] 8097074: b2db uxtb r3, r3 8097076: 3b35 subs r3, #53 ; 0x35 8097078: 4a34 ldr r2, [pc, #208] ; (809714c ) 809707a: 009b lsls r3, r3, #2 809707c: 4413 add r3, r2 809707e: edd3 7a00 vldr s15, [r3] 8097082: f06f 0007 mvn.w r0, #7 8097086: eeb0 0a67 vmov.f32 s0, s15 809708a: f7cf fb55 bl 8066738 809708e: 4603 mov r3, r0 8097090: 461a mov r2, r3 8097092: 21aa movs r1, #170 ; 0xaa 8097094: 207d movs r0, #125 ; 0x7d 8097096: f7bd f94d bl 8054334 LCD_DisplayString(80, 40, "V"); 809709a: 4a2d ldr r2, [pc, #180] ; (8097150 ) 809709c: 2128 movs r1, #40 ; 0x28 809709e: 2050 movs r0, #80 ; 0x50 80970a0: f7bd f948 bl 8054334 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 80970a4: 4b2b ldr r3, [pc, #172] ; (8097154 ) 80970a6: edd3 7a00 vldr s15, [r3] 80970aa: f06f 0002 mvn.w r0, #2 80970ae: eeb0 0a67 vmov.f32 s0, s15 80970b2: f7cf fb41 bl 8066738 80970b6: 4603 mov r3, r0 80970b8: 461a mov r2, r3 80970ba: 2128 movs r1, #40 ; 0x28 80970bc: 204b movs r0, #75 ; 0x4b 80970be: f7bd f969 bl 8054394 switch(menupos) 80970c2: 4b25 ldr r3, [pc, #148] ; (8097158 ) 80970c4: 781b ldrb r3, [r3, #0] 80970c6: b2db uxtb r3, r3 80970c8: 2b01 cmp r3, #1 80970ca: d059 beq.n 8097180 80970cc: 2b02 cmp r3, #2 80970ce: d07d beq.n 80971cc 80970d0: 2b00 cmp r3, #0 80970d2: d000 beq.n 80970d6 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 80970d4: e2aa b.n 809762c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80970d6: 4921 ldr r1, [pc, #132] ; (809715c ) 80970d8: f04f 30ff mov.w r0, #4294967295 80970dc: f7bc fb82 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 80970e0: 4a1f ldr r2, [pc, #124] ; (8097160 ) 80970e2: 21d2 movs r1, #210 ; 0xd2 80970e4: 2032 movs r0, #50 ; 0x32 80970e6: f7bd f93d bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80970ea: 490e ldr r1, [pc, #56] ; (8097124 ) 80970ec: f04f 30ff mov.w r0, #4294967295 80970f0: f7bc fb78 bl 80537e4 if(measuring) 80970f4: 4b1b ldr r3, [pc, #108] ; (8097164 ) 80970f6: 781b ldrb r3, [r3, #0] 80970f8: b2db uxtb r3, r3 80970fa: 2b00 cmp r3, #0 80970fc: d005 beq.n 809710a LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80970fe: 4a1a ldr r2, [pc, #104] ; (8097168 ) 8097100: 21d2 movs r1, #210 ; 0xd2 8097102: 20a5 movs r0, #165 ; 0xa5 8097104: f7bd f92e bl 8054364 8097108: e004 b.n 8097114 else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 809710a: 4a18 ldr r2, [pc, #96] ; (809716c ) 809710c: 21d2 movs r1, #210 ; 0xd2 809710e: 20a5 movs r0, #165 ; 0xa5 8097110: f7bd f928 bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 8097114: 4a16 ldr r2, [pc, #88] ; (8097170 ) 8097116: 21d2 movs r1, #210 ; 0xd2 8097118: f44f 7087 mov.w r0, #270 ; 0x10e 809711c: f7bd f922 bl 8054364 break; 8097120: e07a b.n 8097218 8097122: bf00 nop 8097124: ff0a0f1f .word 0xff0a0f1f 8097128: 080d04b8 .word 0x080d04b8 809712c: 20020038 .word 0x20020038 8097130: 080d0678 .word 0x080d0678 8097134: 080d0684 .word 0x080d0684 8097138: 080d0694 .word 0x080d0694 809713c: 080d051c .word 0x080d051c 8097140: 080d0524 .word 0x080d0524 8097144: 20021540 .word 0x20021540 8097148: 20020f78 .word 0x20020f78 809714c: 20026194 .word 0x20026194 8097150: 080ce6d8 .word 0x080ce6d8 8097154: 20020000 .word 0x20020000 8097158: 20020070 .word 0x20020070 809715c: ff606060 .word 0xff606060 8097160: 080d0578 .word 0x080d0578 8097164: 20020daf .word 0x20020daf 8097168: 080d052c .word 0x080d052c 809716c: 080d0538 .word 0x080d0538 8097170: 080cedcc .word 0x080cedcc 8097174: 080d06ac .word 0x080d06ac 8097178: 080d06b8 .word 0x080d06b8 809717c: 080d0504 .word 0x080d0504 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097180: 49c7 ldr r1, [pc, #796] ; (80974a0 ) 8097182: f04f 30ff mov.w r0, #4294967295 8097186: f7bc fb2d bl 80537e4 if(measuring) 809718a: 4bc6 ldr r3, [pc, #792] ; (80974a4 ) 809718c: 781b ldrb r3, [r3, #0] 809718e: b2db uxtb r3, r3 8097190: 2b00 cmp r3, #0 8097192: d005 beq.n 80971a0 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 8097194: 4ac4 ldr r2, [pc, #784] ; (80974a8 ) 8097196: 21d2 movs r1, #210 ; 0xd2 8097198: 20a5 movs r0, #165 ; 0xa5 809719a: f7bd f8e3 bl 8054364 809719e: e004 b.n 80971aa else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 80971a0: 4ac2 ldr r2, [pc, #776] ; (80974ac ) 80971a2: 21d2 movs r1, #210 ; 0xd2 80971a4: 20a5 movs r0, #165 ; 0xa5 80971a6: f7bd f8dd bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80971aa: 49c1 ldr r1, [pc, #772] ; (80974b0 ) 80971ac: f04f 30ff mov.w r0, #4294967295 80971b0: f7bc fb18 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 80971b4: 4abf ldr r2, [pc, #764] ; (80974b4 ) 80971b6: 21d2 movs r1, #210 ; 0xd2 80971b8: 2032 movs r0, #50 ; 0x32 80971ba: f7bd f8d3 bl 8054364 LCD_DisplayStringC(270, 210, "Äàëåå"); 80971be: 4abe ldr r2, [pc, #760] ; (80974b8 ) 80971c0: 21d2 movs r1, #210 ; 0xd2 80971c2: f44f 7087 mov.w r0, #270 ; 0x10e 80971c6: f7bd f8cd bl 8054364 break; 80971ca: e025 b.n 8097218 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80971cc: 49b4 ldr r1, [pc, #720] ; (80974a0 ) 80971ce: f04f 30ff mov.w r0, #4294967295 80971d2: f7bc fb07 bl 80537e4 LCD_DisplayStringC(270, 210, "Äàëåå"); 80971d6: 4ab8 ldr r2, [pc, #736] ; (80974b8 ) 80971d8: 21d2 movs r1, #210 ; 0xd2 80971da: f44f 7087 mov.w r0, #270 ; 0x10e 80971de: f7bd f8c1 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80971e2: 49b3 ldr r1, [pc, #716] ; (80974b0 ) 80971e4: f04f 30ff mov.w r0, #4294967295 80971e8: f7bc fafc bl 80537e4 if(measuring) 80971ec: 4bad ldr r3, [pc, #692] ; (80974a4 ) 80971ee: 781b ldrb r3, [r3, #0] 80971f0: b2db uxtb r3, r3 80971f2: 2b00 cmp r3, #0 80971f4: d005 beq.n 8097202 LCD_DisplayStringC(165, 210, "Îñòàíîâèòü"); 80971f6: 4aac ldr r2, [pc, #688] ; (80974a8 ) 80971f8: 21d2 movs r1, #210 ; 0xd2 80971fa: 20a5 movs r0, #165 ; 0xa5 80971fc: f7bd f8b2 bl 8054364 8097200: e004 b.n 809720c else LCD_DisplayStringC(165, 210, "Çàïóñòèòü"); 8097202: 4aaa ldr r2, [pc, #680] ; (80974ac ) 8097204: 21d2 movs r1, #210 ; 0xd2 8097206: 20a5 movs r0, #165 ; 0xa5 8097208: f7bd f8ac bl 8054364 LCD_DisplayStringC(50, 210, "Íàçàä"); 809720c: 4aa9 ldr r2, [pc, #676] ; (80974b4 ) 809720e: 21d2 movs r1, #210 ; 0xd2 8097210: 2032 movs r0, #50 ; 0x32 8097212: f7bd f8a7 bl 8054364 break; 8097216: bf00 nop break; 8097218: e208 b.n 809762c case CALIBR_9: // LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809721a: 49a5 ldr r1, [pc, #660] ; (80974b0 ) 809721c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8097220: f7bc fae0 bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 8097224: 4aa5 ldr r2, [pc, #660] ; (80974bc ) 8097226: 2128 movs r1, #40 ; 0x28 8097228: 20a5 movs r0, #165 ; 0xa5 809722a: f7bd f89b bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 809722e: 233b movs r3, #59 ; 0x3b 8097230: f240 123d movw r2, #317 ; 0x13d 8097234: 213b movs r1, #59 ; 0x3b 8097236: 2002 movs r0, #2 8097238: f7bc fd0e bl 8053c58 BSP_LCD_SetFont(&Font12); 809723c: 48a0 ldr r0, [pc, #640] ; (80974c0 ) 809723e: f7bc fb0d bl 805385c BSP_LCD_DisplayStringAt(310, 36, "[11 / 13]", RIGHT_MODE); 8097242: 2302 movs r3, #2 8097244: 4a9f ldr r2, [pc, #636] ; (80974c4 ) 8097246: 2124 movs r1, #36 ; 0x24 8097248: f44f 709b mov.w r0, #310 ; 0x136 809724c: f7bc fb90 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097250: 4997 ldr r1, [pc, #604] ; (80974b0 ) 8097252: f04f 30ff mov.w r0, #4294967295 8097256: f7bc fac5 bl 80537e4 LCD_DisplayString(5, 70, "Óñòàíîâèòü íàïðÿæåíèå"); 809725a: 4a9b ldr r2, [pc, #620] ; (80974c8 ) 809725c: 2146 movs r1, #70 ; 0x46 809725e: 2005 movs r0, #5 8097260: f7bd f868 bl 8054334 LCD_DisplayString(5, 95, "íà áàòàðåå 3.50 Â"); 8097264: 4a99 ldr r2, [pc, #612] ; (80974cc ) 8097266: 215f movs r1, #95 ; 0x5f 8097268: 2005 movs r0, #5 809726a: f7bd f863 bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809726e: 4990 ldr r1, [pc, #576] ; (80974b0 ) 8097270: f06f 00ff mvn.w r0, #255 ; 0xff 8097274: f7bc fab6 bl 80537e4 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8097278: 4b95 ldr r3, [pc, #596] ; (80974d0 ) 809727a: edd3 7a00 vldr s15, [r3] 809727e: f06f 0002 mvn.w r0, #2 8097282: eeb0 0a67 vmov.f32 s0, s15 8097286: f7cf fa57 bl 8066738 809728a: 4603 mov r3, r0 809728c: 461a mov r2, r3 809728e: 2128 movs r1, #40 ; 0x28 8097290: 204b movs r0, #75 ; 0x4b 8097292: f7bd f87f bl 8054394 switch(menupos) 8097296: 4b8f ldr r3, [pc, #572] ; (80974d4 ) 8097298: 781b ldrb r3, [r3, #0] 809729a: b2db uxtb r3, r3 809729c: 2b00 cmp r3, #0 809729e: d002 beq.n 80972a6 80972a0: 2b01 cmp r3, #1 80972a2: d016 beq.n 80972d2 LCD_DisplayStringC(270, 210, "Äàëåå"); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 80972a4: e1c2 b.n 809762c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80972a6: 497e ldr r1, [pc, #504] ; (80974a0 ) 80972a8: f04f 30ff mov.w r0, #4294967295 80972ac: f7bc fa9a bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 80972b0: 4a80 ldr r2, [pc, #512] ; (80974b4 ) 80972b2: 21d2 movs r1, #210 ; 0xd2 80972b4: 2032 movs r0, #50 ; 0x32 80972b6: f7bd f855 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80972ba: 497d ldr r1, [pc, #500] ; (80974b0 ) 80972bc: f04f 30ff mov.w r0, #4294967295 80972c0: f7bc fa90 bl 80537e4 LCD_DisplayStringC(270, 210, "Äàëåå"); 80972c4: 4a7c ldr r2, [pc, #496] ; (80974b8 ) 80972c6: 21d2 movs r1, #210 ; 0xd2 80972c8: f44f 7087 mov.w r0, #270 ; 0x10e 80972cc: f7bd f84a bl 8054364 break; 80972d0: e015 b.n 80972fe LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80972d2: 4973 ldr r1, [pc, #460] ; (80974a0 ) 80972d4: f04f 30ff mov.w r0, #4294967295 80972d8: f7bc fa84 bl 80537e4 LCD_DisplayStringC(270, 210, "Äàëåå"); 80972dc: 4a76 ldr r2, [pc, #472] ; (80974b8 ) 80972de: 21d2 movs r1, #210 ; 0xd2 80972e0: f44f 7087 mov.w r0, #270 ; 0x10e 80972e4: f7bd f83e bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80972e8: 4971 ldr r1, [pc, #452] ; (80974b0 ) 80972ea: f04f 30ff mov.w r0, #4294967295 80972ee: f7bc fa79 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 80972f2: 4a70 ldr r2, [pc, #448] ; (80974b4 ) 80972f4: 21d2 movs r1, #210 ; 0xd2 80972f6: 2032 movs r0, #50 ; 0x32 80972f8: f7bd f834 bl 8054364 break; 80972fc: bf00 nop break; 80972fe: e195 b.n 809762c case CALIBR_10: // LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8097300: 496b ldr r1, [pc, #428] ; (80974b0 ) 8097302: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8097306: f7bc fa6d bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 809730a: 4a6c ldr r2, [pc, #432] ; (80974bc ) 809730c: 2128 movs r1, #40 ; 0x28 809730e: 20a5 movs r0, #165 ; 0xa5 8097310: f7bd f828 bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 8097314: 233b movs r3, #59 ; 0x3b 8097316: f240 123d movw r2, #317 ; 0x13d 809731a: 213b movs r1, #59 ; 0x3b 809731c: 2002 movs r0, #2 809731e: f7bc fc9b bl 8053c58 BSP_LCD_SetFont(&Font12); 8097322: 4867 ldr r0, [pc, #412] ; (80974c0 ) 8097324: f7bc fa9a bl 805385c BSP_LCD_DisplayStringAt(310, 36, "[12 / 13]", RIGHT_MODE); 8097328: 2302 movs r3, #2 809732a: 4a6b ldr r2, [pc, #428] ; (80974d8 ) 809732c: 2124 movs r1, #36 ; 0x24 809732e: f44f 709b mov.w r0, #310 ; 0x136 8097332: f7bc fb1d bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097336: 495e ldr r1, [pc, #376] ; (80974b0 ) 8097338: f04f 30ff mov.w r0, #4294967295 809733c: f7bc fa52 bl 80537e4 LCD_DisplayString(5, 70, "Óñòàíîâèòü íàïðÿæåíèå"); 8097340: 4a61 ldr r2, [pc, #388] ; (80974c8 ) 8097342: 2146 movs r1, #70 ; 0x46 8097344: 2005 movs r0, #5 8097346: f7bc fff5 bl 8054334 LCD_DisplayString(5, 95, "íà áàòàðåå 4.20 Â"); 809734a: 4a64 ldr r2, [pc, #400] ; (80974dc ) 809734c: 215f movs r1, #95 ; 0x5f 809734e: 2005 movs r0, #5 8097350: f7bc fff0 bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097354: 4956 ldr r1, [pc, #344] ; (80974b0 ) 8097356: f06f 00ff mvn.w r0, #255 ; 0xff 809735a: f7bc fa43 bl 80537e4 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 809735e: 4b5c ldr r3, [pc, #368] ; (80974d0 ) 8097360: edd3 7a00 vldr s15, [r3] 8097364: f06f 0002 mvn.w r0, #2 8097368: eeb0 0a67 vmov.f32 s0, s15 809736c: f7cf f9e4 bl 8066738 8097370: 4603 mov r3, r0 8097372: 461a mov r2, r3 8097374: 2128 movs r1, #40 ; 0x28 8097376: 204b movs r0, #75 ; 0x4b 8097378: f7bd f80c bl 8054394 switch(menupos) 809737c: 4b55 ldr r3, [pc, #340] ; (80974d4 ) 809737e: 781b ldrb r3, [r3, #0] 8097380: b2db uxtb r3, r3 8097382: 2b00 cmp r3, #0 8097384: d002 beq.n 809738c 8097386: 2b01 cmp r3, #1 8097388: d016 beq.n 80973b8 LCD_DisplayStringC(270, 210, "Äàëåå"); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 809738a: e14f b.n 809762c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809738c: 4944 ldr r1, [pc, #272] ; (80974a0 ) 809738e: f04f 30ff mov.w r0, #4294967295 8097392: f7bc fa27 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097396: 4a47 ldr r2, [pc, #284] ; (80974b4 ) 8097398: 21d2 movs r1, #210 ; 0xd2 809739a: 2032 movs r0, #50 ; 0x32 809739c: f7bc ffe2 bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80973a0: 4943 ldr r1, [pc, #268] ; (80974b0 ) 80973a2: f04f 30ff mov.w r0, #4294967295 80973a6: f7bc fa1d bl 80537e4 LCD_DisplayStringC(270, 210, "Äàëåå"); 80973aa: 4a43 ldr r2, [pc, #268] ; (80974b8 ) 80973ac: 21d2 movs r1, #210 ; 0xd2 80973ae: f44f 7087 mov.w r0, #270 ; 0x10e 80973b2: f7bc ffd7 bl 8054364 break; 80973b6: e015 b.n 80973e4 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80973b8: 4939 ldr r1, [pc, #228] ; (80974a0 ) 80973ba: f04f 30ff mov.w r0, #4294967295 80973be: f7bc fa11 bl 80537e4 LCD_DisplayStringC(270, 210, "Äàëåå"); 80973c2: 4a3d ldr r2, [pc, #244] ; (80974b8 ) 80973c4: 21d2 movs r1, #210 ; 0xd2 80973c6: f44f 7087 mov.w r0, #270 ; 0x10e 80973ca: f7bc ffcb bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80973ce: 4938 ldr r1, [pc, #224] ; (80974b0 ) 80973d0: f04f 30ff mov.w r0, #4294967295 80973d4: f7bc fa06 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 80973d8: 4a36 ldr r2, [pc, #216] ; (80974b4 ) 80973da: 21d2 movs r1, #210 ; 0xd2 80973dc: 2032 movs r0, #50 ; 0x32 80973de: f7bc ffc1 bl 8054364 break; 80973e2: bf00 nop break; 80973e4: e122 b.n 809762c case CALIBR_11: // LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80973e6: 4932 ldr r1, [pc, #200] ; (80974b0 ) 80973e8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80973ec: f7bc f9fa bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ"); 80973f0: 4a32 ldr r2, [pc, #200] ; (80974bc ) 80973f2: 2128 movs r1, #40 ; 0x28 80973f4: 20a5 movs r0, #165 ; 0xa5 80973f6: f7bc ffb5 bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 80973fa: 233b movs r3, #59 ; 0x3b 80973fc: f240 123d movw r2, #317 ; 0x13d 8097400: 213b movs r1, #59 ; 0x3b 8097402: 2002 movs r0, #2 8097404: f7bc fc28 bl 8053c58 BSP_LCD_SetFont(&Font12); 8097408: 482d ldr r0, [pc, #180] ; (80974c0 ) 809740a: f7bc fa27 bl 805385c BSP_LCD_DisplayStringAt(310, 36, "[13 / 13]", RIGHT_MODE); 809740e: 2302 movs r3, #2 8097410: 4a33 ldr r2, [pc, #204] ; (80974e0 ) 8097412: 2124 movs r1, #36 ; 0x24 8097414: f44f 709b mov.w r0, #310 ; 0x136 8097418: f7bc faaa bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 809741c: 4924 ldr r1, [pc, #144] ; (80974b0 ) 809741e: f04f 30ff mov.w r0, #4294967295 8097422: f7bc f9df bl 80537e4 LCD_DisplayString(5, 70, "Êàëèáðîâêà îêîí÷åíà!"); 8097426: 4a2f ldr r2, [pc, #188] ; (80974e4 ) 8097428: 2146 movs r1, #70 ; 0x46 809742a: 2005 movs r0, #5 809742c: f7bc ff82 bl 8054334 LCD_DisplayString(5, 95, "Íå çàáóäü ñîõðàíèòü!"); 8097430: 4a2d ldr r2, [pc, #180] ; (80974e8 ) 8097432: 215f movs r1, #95 ; 0x5f 8097434: 2005 movs r0, #5 8097436: f7bc ff7d bl 8054334 LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809743a: 491d ldr r1, [pc, #116] ; (80974b0 ) 809743c: f06f 00ff mvn.w r0, #255 ; 0xff 8097440: f7bc f9d0 bl 80537e4 LCD_DisplayStringR(75, 40, (char *) FloatToASCII(Vbat, -3)); 8097444: 4b22 ldr r3, [pc, #136] ; (80974d0 ) 8097446: edd3 7a00 vldr s15, [r3] 809744a: f06f 0002 mvn.w r0, #2 809744e: eeb0 0a67 vmov.f32 s0, s15 8097452: f7cf f971 bl 8066738 8097456: 4603 mov r3, r0 8097458: 461a mov r2, r3 809745a: 2128 movs r1, #40 ; 0x28 809745c: 204b movs r0, #75 ; 0x4b 809745e: f7bc ff99 bl 8054394 switch(menupos) 8097462: 4b1c ldr r3, [pc, #112] ; (80974d4 ) 8097464: 781b ldrb r3, [r3, #0] 8097466: b2db uxtb r3, r3 8097468: 2b00 cmp r3, #0 809746a: d002 beq.n 8097472 809746c: 2b01 cmp r3, #1 809746e: d03f beq.n 80974f0 LCD_DisplayStringC(270, 210, "Ñîõð"); LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); LCD_DisplayStringC(50, 210, "Íàçàä"); break; } break; 8097470: e0dc b.n 809762c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 8097472: 490b ldr r1, [pc, #44] ; (80974a0 ) 8097474: f04f 30ff mov.w r0, #4294967295 8097478: f7bc f9b4 bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 809747c: 4a0d ldr r2, [pc, #52] ; (80974b4 ) 809747e: 21d2 movs r1, #210 ; 0xd2 8097480: 2032 movs r0, #50 ; 0x32 8097482: f7bc ff6f bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097486: 490a ldr r1, [pc, #40] ; (80974b0 ) 8097488: f04f 30ff mov.w r0, #4294967295 809748c: f7bc f9aa bl 80537e4 LCD_DisplayStringC(270, 210, "Ñîõð"); 8097490: 4a16 ldr r2, [pc, #88] ; (80974ec ) 8097492: 21d2 movs r1, #210 ; 0xd2 8097494: f44f 7087 mov.w r0, #270 ; 0x10e 8097498: f7bc ff64 bl 8054364 break; 809749c: e03e b.n 809751c 809749e: bf00 nop 80974a0: ff606060 .word 0xff606060 80974a4: 20020daf .word 0x20020daf 80974a8: 080d052c .word 0x080d052c 80974ac: 080d0538 .word 0x080d0538 80974b0: ff0a0f1f .word 0xff0a0f1f 80974b4: 080d0578 .word 0x080d0578 80974b8: 080cedcc .word 0x080cedcc 80974bc: 080d04b8 .word 0x080d04b8 80974c0: 20020038 .word 0x20020038 80974c4: 080d06c8 .word 0x080d06c8 80974c8: 080d06d4 .word 0x080d06d4 80974cc: 080d06ec .word 0x080d06ec 80974d0: 20020000 .word 0x20020000 80974d4: 20020070 .word 0x20020070 80974d8: 080d0700 .word 0x080d0700 80974dc: 080d070c .word 0x080d070c 80974e0: 080d0720 .word 0x080d0720 80974e4: 080d072c .word 0x080d072c 80974e8: 080d0744 .word 0x080d0744 80974ec: 080d075c .word 0x080d075c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 80974f0: 495b ldr r1, [pc, #364] ; (8097660 ) 80974f2: f04f 30ff mov.w r0, #4294967295 80974f6: f7bc f975 bl 80537e4 LCD_DisplayStringC(270, 210, "Ñîõð"); 80974fa: 4a5a ldr r2, [pc, #360] ; (8097664 ) 80974fc: 21d2 movs r1, #210 ; 0xd2 80974fe: f44f 7087 mov.w r0, #270 ; 0x10e 8097502: f7bc ff2f bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097506: 4958 ldr r1, [pc, #352] ; (8097668 ) 8097508: f04f 30ff mov.w r0, #4294967295 809750c: f7bc f96a bl 80537e4 LCD_DisplayStringC(50, 210, "Íàçàä"); 8097510: 4a56 ldr r2, [pc, #344] ; (809766c ) 8097512: 21d2 movs r1, #210 ; 0xd2 8097514: 2032 movs r0, #50 ; 0x32 8097516: f7bc ff25 bl 8054364 break; 809751a: bf00 nop break; 809751c: e086 b.n 809762c case CALIBR_OFFSET: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809751e: 4952 ldr r1, [pc, #328] ; (8097668 ) 8097520: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8097524: f7bc f95e bl 80537e4 LCD_DisplayStringC(165, 40, "ÊÀËÈÁÐÎÂÊÀ ÍÓËß"); 8097528: 4a51 ldr r2, [pc, #324] ; (8097670 ) 809752a: 2128 movs r1, #40 ; 0x28 809752c: 20a5 movs r0, #165 ; 0xa5 809752e: f7bc ff19 bl 8054364 BSP_LCD_DrawLine(2, 59, 317, 59); 8097532: 233b movs r3, #59 ; 0x3b 8097534: f240 123d movw r2, #317 ; 0x13d 8097538: 213b movs r1, #59 ; 0x3b 809753a: 2002 movs r0, #2 809753c: f7bc fb8c bl 8053c58 BSP_LCD_SetFont(&Font12); 8097540: 484c ldr r0, [pc, #304] ; (8097674 ) 8097542: f7bc f98b bl 805385c LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8097546: 4948 ldr r1, [pc, #288] ; (8097668 ) 8097548: f06f 00ff mvn.w r0, #255 ; 0xff 809754c: f7bc f94a bl 80537e4 LCD_DisplayStringC(165, 120, (char *) FloatToASCII(MEAN_TEMP, -3)); 8097550: 4b49 ldr r3, [pc, #292] ; (8097678 ) 8097552: edd3 7a00 vldr s15, [r3] 8097556: f06f 0002 mvn.w r0, #2 809755a: eeb0 0a67 vmov.f32 s0, s15 809755e: f7cf f8eb bl 8066738 8097562: 4603 mov r3, r0 8097564: 461a mov r2, r3 8097566: 2178 movs r1, #120 ; 0x78 8097568: 20a5 movs r0, #165 ; 0xa5 809756a: f7bc fefb bl 8054364 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_CURSOR); 809756e: 493c ldr r1, [pc, #240] ; (8097660 ) 8097570: f04f 30ff mov.w r0, #4294967295 8097574: f7bc f936 bl 80537e4 LCD_DisplayStringC(165, 210, "Ñîõðàíèòü"); 8097578: 4a40 ldr r2, [pc, #256] ; (809767c ) 809757a: 21d2 movs r1, #210 ; 0xd2 809757c: 20a5 movs r0, #165 ; 0xa5 809757e: f7bc fef1 bl 8054364 break; 8097582: e053 b.n 809762c case LINK_PC: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097584: 4938 ldr r1, [pc, #224] ; (8097668 ) 8097586: f04f 30ff mov.w r0, #4294967295 809758a: f7bc f92b bl 80537e4 BSP_LCD_SetFont(&Font12); 809758e: 4839 ldr r0, [pc, #228] ; (8097674 ) 8097590: f7bc f964 bl 805385c if(pardata.LANG == RUS) 8097594: 4b3a ldr r3, [pc, #232] ; (8097680 ) 8097596: 7b1b ldrb r3, [r3, #12] 8097598: b2db uxtb r3, r3 809759a: 2b00 cmp r3, #0 809759c: d106 bne.n 80975ac BSP_LCD_DisplayStringAt(160, 120, "[USB ñîåäèíåíèå óñòàíîâëåíî]", CENTER_MODE); 809759e: 2301 movs r3, #1 80975a0: 4a38 ldr r2, [pc, #224] ; (8097684 ) 80975a2: 2178 movs r1, #120 ; 0x78 80975a4: 20a0 movs r0, #160 ; 0xa0 80975a6: f7bc f9e3 bl 8053970 80975aa: e005 b.n 80975b8 else BSP_LCD_DisplayStringAt(160, 120, "[USB connection is done]", CENTER_MODE); 80975ac: 2301 movs r3, #1 80975ae: 4a36 ldr r2, [pc, #216] ; (8097688 ) 80975b0: 2178 movs r1, #120 ; 0x78 80975b2: 20a0 movs r0, #160 ; 0xa0 80975b4: f7bc f9dc bl 8053970 DrawImage(&bmLINK_PC, 225, 5); 80975b8: 2205 movs r2, #5 80975ba: 21e1 movs r1, #225 ; 0xe1 80975bc: 4833 ldr r0, [pc, #204] ; (809768c ) 80975be: f7bd f805 bl 80545cc break; 80975c2: e033 b.n 809762c case POWER_OFF: BSP_LCD_Clear(0xFF000000); 80975c4: f04f 407f mov.w r0, #4278190080 ; 0xff000000 80975c8: f7bc f966 bl 8053898 DrawBat(); 80975cc: f7d0 fda0 bl 8068110 break; 80975d0: e02c b.n 809762c break; 80975d2: bf00 nop 80975d4: e02a b.n 809762c break; 80975d6: bf00 nop 80975d8: e028 b.n 809762c break; 80975da: bf00 nop 80975dc: e026 b.n 809762c break; 80975de: bf00 nop 80975e0: e024 b.n 809762c break; 80975e2: bf00 nop 80975e4: e022 b.n 809762c break; 80975e6: bf00 nop 80975e8: e020 b.n 809762c break; 80975ea: bf00 nop 80975ec: e01e b.n 809762c break; 80975ee: bf00 nop 80975f0: e01c b.n 809762c break; 80975f2: bf00 nop 80975f4: e01a b.n 809762c break; 80975f6: bf00 nop 80975f8: e018 b.n 809762c break; 80975fa: bf00 nop 80975fc: e016 b.n 809762c break; 80975fe: bf00 nop 8097600: e014 b.n 809762c break; 8097602: bf00 nop 8097604: e012 b.n 809762c break; 8097606: bf00 nop 8097608: e010 b.n 809762c break; 809760a: bf00 nop 809760c: e00e b.n 809762c break; 809760e: bf00 nop 8097610: e00c b.n 809762c break; 8097612: bf00 nop 8097614: e00a b.n 809762c break; 8097616: bf00 nop 8097618: e008 b.n 809762c break; 809761a: bf00 nop 809761c: e006 b.n 809762c break; 809761e: bf00 nop 8097620: e004 b.n 809762c break; 8097622: bf00 nop 8097624: e002 b.n 809762c break; 8097626: bf00 nop 8097628: e000 b.n 809762c break; 809762a: bf00 nop //******************************************************************************************************************************** } if(menu != LOW_BAT) 809762c: 4b18 ldr r3, [pc, #96] ; (8097690 ) 809762e: 781b ldrb r3, [r3, #0] 8097630: b2db uxtb r3, r3 8097632: 2b48 cmp r3, #72 ; 0x48 8097634: d003 beq.n 809763e { DrawSpinner(); 8097636: f000 fb4f bl 8097cd8 DisplayStatus(); 809763a: f000 fc91 bl 8097f60 } Redrawing = false; 809763e: 4b15 ldr r3, [pc, #84] ; (8097694 ) 8097640: 2200 movs r2, #0 8097642: 701a strb r2, [r3, #0] RefreshScreen = true; 8097644: 4b14 ldr r3, [pc, #80] ; (8097698 ) 8097646: 2201 movs r2, #1 8097648: 701a strb r2, [r3, #0] HAL_LTDC_ProgramLineEvent(&hLtdcHandler, 0); 809764a: 2100 movs r1, #0 809764c: 4813 ldr r0, [pc, #76] ; (809769c ) 809764e: f01e fcc3 bl 80b5fd8 8097652: e000 b.n 8097656 return; 8097654: bf00 nop //************************************************************************************************************** //************************************************************************************************************** } 8097656: f207 4774 addw r7, r7, #1140 ; 0x474 809765a: 46bd mov sp, r7 809765c: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 8097660: ff606060 .word 0xff606060 8097664: 080d075c .word 0x080d075c 8097668: ff0a0f1f .word 0xff0a0f1f 809766c: 080d0578 .word 0x080d0578 8097670: 080d0764 .word 0x080d0764 8097674: 20020038 .word 0x20020038 8097678: 200209d0 .word 0x200209d0 809767c: 080d0774 .word 0x080d0774 8097680: 20023e60 .word 0x20023e60 8097684: 080d0780 .word 0x080d0780 8097688: 080d07a0 .word 0x080d07a0 809768c: 0812e3e8 .word 0x0812e3e8 8097690: 20020f78 .word 0x20020f78 8097694: 20021638 .word 0x20021638 8097698: 20021000 .word 0x20021000 809769c: 20025d28 .word 0x20025d28 080976a0 : void DrawMySpinner(uint16_t x, uint16_t y) // { 80976a0: b580 push {r7, lr} 80976a2: b082 sub sp, #8 80976a4: af00 add r7, sp, #0 80976a6: 4603 mov r3, r0 80976a8: 460a mov r2, r1 80976aa: 80fb strh r3, [r7, #6] 80976ac: 4613 mov r3, r2 80976ae: 80bb strh r3, [r7, #4] static uint32_t rotate = 0; switch(rotate) 80976b0: 4b92 ldr r3, [pc, #584] ; (80978fc ) 80976b2: 681b ldr r3, [r3, #0] 80976b4: 2b07 cmp r3, #7 80976b6: f200 82f5 bhi.w 8097ca4 80976ba: a201 add r2, pc, #4 ; (adr r2, 80976c0 ) 80976bc: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80976c0: 080976e1 .word 0x080976e1 80976c4: 08097795 .word 0x08097795 80976c8: 08097849 .word 0x08097849 80976cc: 08097911 .word 0x08097911 80976d0: 080979c5 .word 0x080979c5 80976d4: 08097a79 .word 0x08097a79 80976d8: 08097b2d .word 0x08097b2d 80976dc: 08097bf1 .word 0x08097bf1 { case 0: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80976e0: 4987 ldr r1, [pc, #540] ; (8097900 ) 80976e2: f04f 30ff mov.w r0, #4294967295 80976e6: f7bc f87d bl 80537e4 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 80976ea: 88bb ldrh r3, [r7, #4] 80976ec: 330a adds r3, #10 80976ee: b299 uxth r1, r3 80976f0: 88fb ldrh r3, [r7, #6] 80976f2: 2203 movs r2, #3 80976f4: 4618 mov r0, r3 80976f6: f7bc fd7d bl 80541f4 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80976fa: 4981 ldr r1, [pc, #516] ; (8097900 ) 80976fc: 4881 ldr r0, [pc, #516] ; (8097904 ) 80976fe: f7bc f871 bl 80537e4 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8097702: 88fb ldrh r3, [r7, #6] 8097704: 3307 adds r3, #7 8097706: b298 uxth r0, r3 8097708: 88bb ldrh r3, [r7, #4] 809770a: 3307 adds r3, #7 809770c: b29b uxth r3, r3 809770e: 2203 movs r2, #3 8097710: 4619 mov r1, r3 8097712: f7bc fd6f bl 80541f4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8097716: 497a ldr r1, [pc, #488] ; (8097900 ) 8097718: 487b ldr r0, [pc, #492] ; (8097908 ) 809771a: f7bc f863 bl 80537e4 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 809771e: 88fb ldrh r3, [r7, #6] 8097720: 330a adds r3, #10 8097722: b29b uxth r3, r3 8097724: 88b9 ldrh r1, [r7, #4] 8097726: 2203 movs r2, #3 8097728: 4618 mov r0, r3 809772a: f7bc fd63 bl 80541f4 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 809772e: 4974 ldr r1, [pc, #464] ; (8097900 ) 8097730: 4876 ldr r0, [pc, #472] ; (809790c ) 8097732: f7bc f857 bl 80537e4 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8097736: 88fb ldrh r3, [r7, #6] 8097738: 3b07 subs r3, #7 809773a: b298 uxth r0, r3 809773c: 88bb ldrh r3, [r7, #4] 809773e: 3307 adds r3, #7 8097740: b29b uxth r3, r3 8097742: 2203 movs r2, #3 8097744: 4619 mov r1, r3 8097746: f7bc fd55 bl 80541f4 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 809774a: 88fb ldrh r3, [r7, #6] 809774c: 3b0a subs r3, #10 809774e: b29b uxth r3, r3 8097750: 88b9 ldrh r1, [r7, #4] 8097752: 2203 movs r2, #3 8097754: 4618 mov r0, r3 8097756: f7bc fd4d bl 80541f4 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 809775a: 88fb ldrh r3, [r7, #6] 809775c: 3b07 subs r3, #7 809775e: b298 uxth r0, r3 8097760: 88bb ldrh r3, [r7, #4] 8097762: 3b07 subs r3, #7 8097764: b29b uxth r3, r3 8097766: 2203 movs r2, #3 8097768: 4619 mov r1, r3 809776a: f7bc fd43 bl 80541f4 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 809776e: 88bb ldrh r3, [r7, #4] 8097770: 3b0a subs r3, #10 8097772: b299 uxth r1, r3 8097774: 88fb ldrh r3, [r7, #6] 8097776: 2203 movs r2, #3 8097778: 4618 mov r0, r3 809777a: f7bc fd3b bl 80541f4 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 809777e: 88fb ldrh r3, [r7, #6] 8097780: 3307 adds r3, #7 8097782: b298 uxth r0, r3 8097784: 88bb ldrh r3, [r7, #4] 8097786: 3b07 subs r3, #7 8097788: b29b uxth r3, r3 809778a: 2203 movs r2, #3 809778c: 4619 mov r1, r3 809778e: f7bc fd31 bl 80541f4 break; 8097792: e287 b.n 8097ca4 case 1: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097794: 495a ldr r1, [pc, #360] ; (8097900 ) 8097796: f04f 30ff mov.w r0, #4294967295 809779a: f7bc f823 bl 80537e4 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 809779e: 88fb ldrh r3, [r7, #6] 80977a0: 3b07 subs r3, #7 80977a2: b298 uxth r0, r3 80977a4: 88bb ldrh r3, [r7, #4] 80977a6: 3307 adds r3, #7 80977a8: b29b uxth r3, r3 80977aa: 2203 movs r2, #3 80977ac: 4619 mov r1, r3 80977ae: f7bc fd21 bl 80541f4 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80977b2: 4953 ldr r1, [pc, #332] ; (8097900 ) 80977b4: 4853 ldr r0, [pc, #332] ; (8097904 ) 80977b6: f7bc f815 bl 80537e4 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 80977ba: 88bb ldrh r3, [r7, #4] 80977bc: 330a adds r3, #10 80977be: b299 uxth r1, r3 80977c0: 88fb ldrh r3, [r7, #6] 80977c2: 2203 movs r2, #3 80977c4: 4618 mov r0, r3 80977c6: f7bc fd15 bl 80541f4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80977ca: 494d ldr r1, [pc, #308] ; (8097900 ) 80977cc: 484e ldr r0, [pc, #312] ; (8097908 ) 80977ce: f7bc f809 bl 80537e4 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 80977d2: 88fb ldrh r3, [r7, #6] 80977d4: 3307 adds r3, #7 80977d6: b298 uxth r0, r3 80977d8: 88bb ldrh r3, [r7, #4] 80977da: 3307 adds r3, #7 80977dc: b29b uxth r3, r3 80977de: 2203 movs r2, #3 80977e0: 4619 mov r1, r3 80977e2: f7bc fd07 bl 80541f4 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80977e6: 4946 ldr r1, [pc, #280] ; (8097900 ) 80977e8: 4848 ldr r0, [pc, #288] ; (809790c ) 80977ea: f7bb fffb bl 80537e4 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 80977ee: 88fb ldrh r3, [r7, #6] 80977f0: 3b0a subs r3, #10 80977f2: b29b uxth r3, r3 80977f4: 88b9 ldrh r1, [r7, #4] 80977f6: 2203 movs r2, #3 80977f8: 4618 mov r0, r3 80977fa: f7bc fcfb bl 80541f4 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 80977fe: 88fb ldrh r3, [r7, #6] 8097800: 3b07 subs r3, #7 8097802: b298 uxth r0, r3 8097804: 88bb ldrh r3, [r7, #4] 8097806: 3b07 subs r3, #7 8097808: b29b uxth r3, r3 809780a: 2203 movs r2, #3 809780c: 4619 mov r1, r3 809780e: f7bc fcf1 bl 80541f4 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8097812: 88bb ldrh r3, [r7, #4] 8097814: 3b0a subs r3, #10 8097816: b299 uxth r1, r3 8097818: 88fb ldrh r3, [r7, #6] 809781a: 2203 movs r2, #3 809781c: 4618 mov r0, r3 809781e: f7bc fce9 bl 80541f4 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8097822: 88fb ldrh r3, [r7, #6] 8097824: 3307 adds r3, #7 8097826: b298 uxth r0, r3 8097828: 88bb ldrh r3, [r7, #4] 809782a: 3b07 subs r3, #7 809782c: b29b uxth r3, r3 809782e: 2203 movs r2, #3 8097830: 4619 mov r1, r3 8097832: f7bc fcdf bl 80541f4 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8097836: 88fb ldrh r3, [r7, #6] 8097838: 330a adds r3, #10 809783a: b29b uxth r3, r3 809783c: 88b9 ldrh r1, [r7, #4] 809783e: 2203 movs r2, #3 8097840: 4618 mov r0, r3 8097842: f7bc fcd7 bl 80541f4 break; 8097846: e22d b.n 8097ca4 case 2: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097848: 492d ldr r1, [pc, #180] ; (8097900 ) 809784a: f04f 30ff mov.w r0, #4294967295 809784e: f7bb ffc9 bl 80537e4 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8097852: 88fb ldrh r3, [r7, #6] 8097854: 3b0a subs r3, #10 8097856: b29b uxth r3, r3 8097858: 88b9 ldrh r1, [r7, #4] 809785a: 2203 movs r2, #3 809785c: 4618 mov r0, r3 809785e: f7bc fcc9 bl 80541f4 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8097862: 4927 ldr r1, [pc, #156] ; (8097900 ) 8097864: 4827 ldr r0, [pc, #156] ; (8097904 ) 8097866: f7bb ffbd bl 80537e4 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 809786a: 88fb ldrh r3, [r7, #6] 809786c: 3b07 subs r3, #7 809786e: b298 uxth r0, r3 8097870: 88bb ldrh r3, [r7, #4] 8097872: 3307 adds r3, #7 8097874: b29b uxth r3, r3 8097876: 2203 movs r2, #3 8097878: 4619 mov r1, r3 809787a: f7bc fcbb bl 80541f4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 809787e: 4920 ldr r1, [pc, #128] ; (8097900 ) 8097880: 4821 ldr r0, [pc, #132] ; (8097908 ) 8097882: f7bb ffaf bl 80537e4 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8097886: 88bb ldrh r3, [r7, #4] 8097888: 330a adds r3, #10 809788a: b299 uxth r1, r3 809788c: 88fb ldrh r3, [r7, #6] 809788e: 2203 movs r2, #3 8097890: 4618 mov r0, r3 8097892: f7bc fcaf bl 80541f4 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8097896: 491a ldr r1, [pc, #104] ; (8097900 ) 8097898: 481c ldr r0, [pc, #112] ; (809790c ) 809789a: f7bb ffa3 bl 80537e4 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 809789e: 88fb ldrh r3, [r7, #6] 80978a0: 3b07 subs r3, #7 80978a2: b298 uxth r0, r3 80978a4: 88bb ldrh r3, [r7, #4] 80978a6: 3b07 subs r3, #7 80978a8: b29b uxth r3, r3 80978aa: 2203 movs r2, #3 80978ac: 4619 mov r1, r3 80978ae: f7bc fca1 bl 80541f4 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 80978b2: 88bb ldrh r3, [r7, #4] 80978b4: 3b0a subs r3, #10 80978b6: b299 uxth r1, r3 80978b8: 88fb ldrh r3, [r7, #6] 80978ba: 2203 movs r2, #3 80978bc: 4618 mov r0, r3 80978be: f7bc fc99 bl 80541f4 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 80978c2: 88fb ldrh r3, [r7, #6] 80978c4: 3307 adds r3, #7 80978c6: b298 uxth r0, r3 80978c8: 88bb ldrh r3, [r7, #4] 80978ca: 3b07 subs r3, #7 80978cc: b29b uxth r3, r3 80978ce: 2203 movs r2, #3 80978d0: 4619 mov r1, r3 80978d2: f7bc fc8f bl 80541f4 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 80978d6: 88fb ldrh r3, [r7, #6] 80978d8: 330a adds r3, #10 80978da: b29b uxth r3, r3 80978dc: 88b9 ldrh r1, [r7, #4] 80978de: 2203 movs r2, #3 80978e0: 4618 mov r0, r3 80978e2: f7bc fc87 bl 80541f4 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 80978e6: 88fb ldrh r3, [r7, #6] 80978e8: 3307 adds r3, #7 80978ea: b298 uxth r0, r3 80978ec: 88bb ldrh r3, [r7, #4] 80978ee: 3307 adds r3, #7 80978f0: b29b uxth r3, r3 80978f2: 2203 movs r2, #3 80978f4: 4619 mov r1, r3 80978f6: f7bc fc7d bl 80541f4 break; 80978fa: e1d3 b.n 8097ca4 80978fc: 20021678 .word 0x20021678 8097900: ff0a0f1f .word 0xff0a0f1f 8097904: ffd3d3d3 .word 0xffd3d3d3 8097908: ff808080 .word 0xff808080 809790c: ff404040 .word 0xff404040 case 3: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097910: 49b3 ldr r1, [pc, #716] ; (8097be0 ) 8097912: f04f 30ff mov.w r0, #4294967295 8097916: f7bb ff65 bl 80537e4 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 809791a: 88fb ldrh r3, [r7, #6] 809791c: 3b07 subs r3, #7 809791e: b298 uxth r0, r3 8097920: 88bb ldrh r3, [r7, #4] 8097922: 3b07 subs r3, #7 8097924: b29b uxth r3, r3 8097926: 2203 movs r2, #3 8097928: 4619 mov r1, r3 809792a: f7bc fc63 bl 80541f4 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809792e: 49ac ldr r1, [pc, #688] ; (8097be0 ) 8097930: 48ac ldr r0, [pc, #688] ; (8097be4 ) 8097932: f7bb ff57 bl 80537e4 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8097936: 88fb ldrh r3, [r7, #6] 8097938: 3b0a subs r3, #10 809793a: b29b uxth r3, r3 809793c: 88b9 ldrh r1, [r7, #4] 809793e: 2203 movs r2, #3 8097940: 4618 mov r0, r3 8097942: f7bc fc57 bl 80541f4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8097946: 49a6 ldr r1, [pc, #664] ; (8097be0 ) 8097948: 48a7 ldr r0, [pc, #668] ; (8097be8 ) 809794a: f7bb ff4b bl 80537e4 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 809794e: 88fb ldrh r3, [r7, #6] 8097950: 3b07 subs r3, #7 8097952: b298 uxth r0, r3 8097954: 88bb ldrh r3, [r7, #4] 8097956: 3307 adds r3, #7 8097958: b29b uxth r3, r3 809795a: 2203 movs r2, #3 809795c: 4619 mov r1, r3 809795e: f7bc fc49 bl 80541f4 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8097962: 499f ldr r1, [pc, #636] ; (8097be0 ) 8097964: 48a1 ldr r0, [pc, #644] ; (8097bec ) 8097966: f7bb ff3d bl 80537e4 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 809796a: 88bb ldrh r3, [r7, #4] 809796c: 3b0a subs r3, #10 809796e: b299 uxth r1, r3 8097970: 88fb ldrh r3, [r7, #6] 8097972: 2203 movs r2, #3 8097974: 4618 mov r0, r3 8097976: f7bc fc3d bl 80541f4 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 809797a: 88fb ldrh r3, [r7, #6] 809797c: 3307 adds r3, #7 809797e: b298 uxth r0, r3 8097980: 88bb ldrh r3, [r7, #4] 8097982: 3b07 subs r3, #7 8097984: b29b uxth r3, r3 8097986: 2203 movs r2, #3 8097988: 4619 mov r1, r3 809798a: f7bc fc33 bl 80541f4 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 809798e: 88fb ldrh r3, [r7, #6] 8097990: 330a adds r3, #10 8097992: b29b uxth r3, r3 8097994: 88b9 ldrh r1, [r7, #4] 8097996: 2203 movs r2, #3 8097998: 4618 mov r0, r3 809799a: f7bc fc2b bl 80541f4 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 809799e: 88fb ldrh r3, [r7, #6] 80979a0: 3307 adds r3, #7 80979a2: b298 uxth r0, r3 80979a4: 88bb ldrh r3, [r7, #4] 80979a6: 3307 adds r3, #7 80979a8: b29b uxth r3, r3 80979aa: 2203 movs r2, #3 80979ac: 4619 mov r1, r3 80979ae: f7bc fc21 bl 80541f4 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 80979b2: 88bb ldrh r3, [r7, #4] 80979b4: 330a adds r3, #10 80979b6: b299 uxth r1, r3 80979b8: 88fb ldrh r3, [r7, #6] 80979ba: 2203 movs r2, #3 80979bc: 4618 mov r0, r3 80979be: f7bc fc19 bl 80541f4 break; 80979c2: e16f b.n 8097ca4 case 4: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80979c4: 4986 ldr r1, [pc, #536] ; (8097be0 ) 80979c6: f04f 30ff mov.w r0, #4294967295 80979ca: f7bb ff0b bl 80537e4 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 80979ce: 88bb ldrh r3, [r7, #4] 80979d0: 3b0a subs r3, #10 80979d2: b299 uxth r1, r3 80979d4: 88fb ldrh r3, [r7, #6] 80979d6: 2203 movs r2, #3 80979d8: 4618 mov r0, r3 80979da: f7bc fc0b bl 80541f4 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80979de: 4980 ldr r1, [pc, #512] ; (8097be0 ) 80979e0: 4880 ldr r0, [pc, #512] ; (8097be4 ) 80979e2: f7bb feff bl 80537e4 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 80979e6: 88fb ldrh r3, [r7, #6] 80979e8: 3b07 subs r3, #7 80979ea: b298 uxth r0, r3 80979ec: 88bb ldrh r3, [r7, #4] 80979ee: 3b07 subs r3, #7 80979f0: b29b uxth r3, r3 80979f2: 2203 movs r2, #3 80979f4: 4619 mov r1, r3 80979f6: f7bc fbfd bl 80541f4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80979fa: 4979 ldr r1, [pc, #484] ; (8097be0 ) 80979fc: 487a ldr r0, [pc, #488] ; (8097be8 ) 80979fe: f7bb fef1 bl 80537e4 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8097a02: 88fb ldrh r3, [r7, #6] 8097a04: 3b0a subs r3, #10 8097a06: b29b uxth r3, r3 8097a08: 88b9 ldrh r1, [r7, #4] 8097a0a: 2203 movs r2, #3 8097a0c: 4618 mov r0, r3 8097a0e: f7bc fbf1 bl 80541f4 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8097a12: 4973 ldr r1, [pc, #460] ; (8097be0 ) 8097a14: 4875 ldr r0, [pc, #468] ; (8097bec ) 8097a16: f7bb fee5 bl 80537e4 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8097a1a: 88fb ldrh r3, [r7, #6] 8097a1c: 3307 adds r3, #7 8097a1e: b298 uxth r0, r3 8097a20: 88bb ldrh r3, [r7, #4] 8097a22: 3b07 subs r3, #7 8097a24: b29b uxth r3, r3 8097a26: 2203 movs r2, #3 8097a28: 4619 mov r1, r3 8097a2a: f7bc fbe3 bl 80541f4 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8097a2e: 88fb ldrh r3, [r7, #6] 8097a30: 330a adds r3, #10 8097a32: b29b uxth r3, r3 8097a34: 88b9 ldrh r1, [r7, #4] 8097a36: 2203 movs r2, #3 8097a38: 4618 mov r0, r3 8097a3a: f7bc fbdb bl 80541f4 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8097a3e: 88fb ldrh r3, [r7, #6] 8097a40: 3307 adds r3, #7 8097a42: b298 uxth r0, r3 8097a44: 88bb ldrh r3, [r7, #4] 8097a46: 3307 adds r3, #7 8097a48: b29b uxth r3, r3 8097a4a: 2203 movs r2, #3 8097a4c: 4619 mov r1, r3 8097a4e: f7bc fbd1 bl 80541f4 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8097a52: 88bb ldrh r3, [r7, #4] 8097a54: 330a adds r3, #10 8097a56: b299 uxth r1, r3 8097a58: 88fb ldrh r3, [r7, #6] 8097a5a: 2203 movs r2, #3 8097a5c: 4618 mov r0, r3 8097a5e: f7bc fbc9 bl 80541f4 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8097a62: 88fb ldrh r3, [r7, #6] 8097a64: 3b07 subs r3, #7 8097a66: b298 uxth r0, r3 8097a68: 88bb ldrh r3, [r7, #4] 8097a6a: 3307 adds r3, #7 8097a6c: b29b uxth r3, r3 8097a6e: 2203 movs r2, #3 8097a70: 4619 mov r1, r3 8097a72: f7bc fbbf bl 80541f4 break; 8097a76: e115 b.n 8097ca4 case 5: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097a78: 4959 ldr r1, [pc, #356] ; (8097be0 ) 8097a7a: f04f 30ff mov.w r0, #4294967295 8097a7e: f7bb feb1 bl 80537e4 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8097a82: 88fb ldrh r3, [r7, #6] 8097a84: 3307 adds r3, #7 8097a86: b298 uxth r0, r3 8097a88: 88bb ldrh r3, [r7, #4] 8097a8a: 3b07 subs r3, #7 8097a8c: b29b uxth r3, r3 8097a8e: 2203 movs r2, #3 8097a90: 4619 mov r1, r3 8097a92: f7bc fbaf bl 80541f4 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8097a96: 4952 ldr r1, [pc, #328] ; (8097be0 ) 8097a98: 4852 ldr r0, [pc, #328] ; (8097be4 ) 8097a9a: f7bb fea3 bl 80537e4 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8097a9e: 88bb ldrh r3, [r7, #4] 8097aa0: 3b0a subs r3, #10 8097aa2: b299 uxth r1, r3 8097aa4: 88fb ldrh r3, [r7, #6] 8097aa6: 2203 movs r2, #3 8097aa8: 4618 mov r0, r3 8097aaa: f7bc fba3 bl 80541f4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8097aae: 494c ldr r1, [pc, #304] ; (8097be0 ) 8097ab0: 484d ldr r0, [pc, #308] ; (8097be8 ) 8097ab2: f7bb fe97 bl 80537e4 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 8097ab6: 88fb ldrh r3, [r7, #6] 8097ab8: 3b07 subs r3, #7 8097aba: b298 uxth r0, r3 8097abc: 88bb ldrh r3, [r7, #4] 8097abe: 3b07 subs r3, #7 8097ac0: b29b uxth r3, r3 8097ac2: 2203 movs r2, #3 8097ac4: 4619 mov r1, r3 8097ac6: f7bc fb95 bl 80541f4 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8097aca: 4945 ldr r1, [pc, #276] ; (8097be0 ) 8097acc: 4847 ldr r0, [pc, #284] ; (8097bec ) 8097ace: f7bb fe89 bl 80537e4 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8097ad2: 88fb ldrh r3, [r7, #6] 8097ad4: 330a adds r3, #10 8097ad6: b29b uxth r3, r3 8097ad8: 88b9 ldrh r1, [r7, #4] 8097ada: 2203 movs r2, #3 8097adc: 4618 mov r0, r3 8097ade: f7bc fb89 bl 80541f4 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8097ae2: 88fb ldrh r3, [r7, #6] 8097ae4: 3307 adds r3, #7 8097ae6: b298 uxth r0, r3 8097ae8: 88bb ldrh r3, [r7, #4] 8097aea: 3307 adds r3, #7 8097aec: b29b uxth r3, r3 8097aee: 2203 movs r2, #3 8097af0: 4619 mov r1, r3 8097af2: f7bc fb7f bl 80541f4 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8097af6: 88bb ldrh r3, [r7, #4] 8097af8: 330a adds r3, #10 8097afa: b299 uxth r1, r3 8097afc: 88fb ldrh r3, [r7, #6] 8097afe: 2203 movs r2, #3 8097b00: 4618 mov r0, r3 8097b02: f7bc fb77 bl 80541f4 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8097b06: 88fb ldrh r3, [r7, #6] 8097b08: 3b07 subs r3, #7 8097b0a: b298 uxth r0, r3 8097b0c: 88bb ldrh r3, [r7, #4] 8097b0e: 3307 adds r3, #7 8097b10: b29b uxth r3, r3 8097b12: 2203 movs r2, #3 8097b14: 4619 mov r1, r3 8097b16: f7bc fb6d bl 80541f4 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8097b1a: 88fb ldrh r3, [r7, #6] 8097b1c: 3b0a subs r3, #10 8097b1e: b29b uxth r3, r3 8097b20: 88b9 ldrh r1, [r7, #4] 8097b22: 2203 movs r2, #3 8097b24: 4618 mov r0, r3 8097b26: f7bc fb65 bl 80541f4 break; 8097b2a: e0bb b.n 8097ca4 case 6: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097b2c: 492c ldr r1, [pc, #176] ; (8097be0 ) 8097b2e: f04f 30ff mov.w r0, #4294967295 8097b32: f7bb fe57 bl 80537e4 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8097b36: 88fb ldrh r3, [r7, #6] 8097b38: 330a adds r3, #10 8097b3a: b29b uxth r3, r3 8097b3c: 88b9 ldrh r1, [r7, #4] 8097b3e: 2203 movs r2, #3 8097b40: 4618 mov r0, r3 8097b42: f7bc fb57 bl 80541f4 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8097b46: 4926 ldr r1, [pc, #152] ; (8097be0 ) 8097b48: 4826 ldr r0, [pc, #152] ; (8097be4 ) 8097b4a: f7bb fe4b bl 80537e4 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8097b4e: 88fb ldrh r3, [r7, #6] 8097b50: 3307 adds r3, #7 8097b52: b298 uxth r0, r3 8097b54: 88bb ldrh r3, [r7, #4] 8097b56: 3b07 subs r3, #7 8097b58: b29b uxth r3, r3 8097b5a: 2203 movs r2, #3 8097b5c: 4619 mov r1, r3 8097b5e: f7bc fb49 bl 80541f4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8097b62: 491f ldr r1, [pc, #124] ; (8097be0 ) 8097b64: 4820 ldr r0, [pc, #128] ; (8097be8 ) 8097b66: f7bb fe3d bl 80537e4 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8097b6a: 88bb ldrh r3, [r7, #4] 8097b6c: 3b0a subs r3, #10 8097b6e: b299 uxth r1, r3 8097b70: 88fb ldrh r3, [r7, #6] 8097b72: 2203 movs r2, #3 8097b74: 4618 mov r0, r3 8097b76: f7bc fb3d bl 80541f4 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8097b7a: 4919 ldr r1, [pc, #100] ; (8097be0 ) 8097b7c: 481b ldr r0, [pc, #108] ; (8097bec ) 8097b7e: f7bb fe31 bl 80537e4 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8097b82: 88fb ldrh r3, [r7, #6] 8097b84: 3307 adds r3, #7 8097b86: b298 uxth r0, r3 8097b88: 88bb ldrh r3, [r7, #4] 8097b8a: 3307 adds r3, #7 8097b8c: b29b uxth r3, r3 8097b8e: 2203 movs r2, #3 8097b90: 4619 mov r1, r3 8097b92: f7bc fb2f bl 80541f4 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8097b96: 88bb ldrh r3, [r7, #4] 8097b98: 330a adds r3, #10 8097b9a: b299 uxth r1, r3 8097b9c: 88fb ldrh r3, [r7, #6] 8097b9e: 2203 movs r2, #3 8097ba0: 4618 mov r0, r3 8097ba2: f7bc fb27 bl 80541f4 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8097ba6: 88fb ldrh r3, [r7, #6] 8097ba8: 3b07 subs r3, #7 8097baa: b298 uxth r0, r3 8097bac: 88bb ldrh r3, [r7, #4] 8097bae: 3307 adds r3, #7 8097bb0: b29b uxth r3, r3 8097bb2: 2203 movs r2, #3 8097bb4: 4619 mov r1, r3 8097bb6: f7bc fb1d bl 80541f4 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8097bba: 88fb ldrh r3, [r7, #6] 8097bbc: 3b0a subs r3, #10 8097bbe: b29b uxth r3, r3 8097bc0: 88b9 ldrh r1, [r7, #4] 8097bc2: 2203 movs r2, #3 8097bc4: 4618 mov r0, r3 8097bc6: f7bc fb15 bl 80541f4 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 8097bca: 88fb ldrh r3, [r7, #6] 8097bcc: 3b07 subs r3, #7 8097bce: b298 uxth r0, r3 8097bd0: 88bb ldrh r3, [r7, #4] 8097bd2: 3b07 subs r3, #7 8097bd4: b29b uxth r3, r3 8097bd6: 2203 movs r2, #3 8097bd8: 4619 mov r1, r3 8097bda: f7bc fb0b bl 80541f4 break; 8097bde: e061 b.n 8097ca4 8097be0: ff0a0f1f .word 0xff0a0f1f 8097be4: ffd3d3d3 .word 0xffd3d3d3 8097be8: ff808080 .word 0xff808080 8097bec: ff404040 .word 0xff404040 case 7: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097bf0: 4934 ldr r1, [pc, #208] ; (8097cc4 ) 8097bf2: f04f 30ff mov.w r0, #4294967295 8097bf6: f7bb fdf5 bl 80537e4 BSP_LCD_FillCircle(x + 7, y + 7, 3);//1 8097bfa: 88fb ldrh r3, [r7, #6] 8097bfc: 3307 adds r3, #7 8097bfe: b298 uxth r0, r3 8097c00: 88bb ldrh r3, [r7, #4] 8097c02: 3307 adds r3, #7 8097c04: b29b uxth r3, r3 8097c06: 2203 movs r2, #3 8097c08: 4619 mov r1, r3 8097c0a: f7bc faf3 bl 80541f4 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8097c0e: 492d ldr r1, [pc, #180] ; (8097cc4 ) 8097c10: 482d ldr r0, [pc, #180] ; (8097cc8 ) 8097c12: f7bb fde7 bl 80537e4 BSP_LCD_FillCircle(x + 10, y + 0, 3);//0 8097c16: 88fb ldrh r3, [r7, #6] 8097c18: 330a adds r3, #10 8097c1a: b29b uxth r3, r3 8097c1c: 88b9 ldrh r1, [r7, #4] 8097c1e: 2203 movs r2, #3 8097c20: 4618 mov r0, r3 8097c22: f7bc fae7 bl 80541f4 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 8097c26: 4927 ldr r1, [pc, #156] ; (8097cc4 ) 8097c28: 4828 ldr r0, [pc, #160] ; (8097ccc ) 8097c2a: f7bb fddb bl 80537e4 BSP_LCD_FillCircle(x + 7, y - 7, 3);//7 8097c2e: 88fb ldrh r3, [r7, #6] 8097c30: 3307 adds r3, #7 8097c32: b298 uxth r0, r3 8097c34: 88bb ldrh r3, [r7, #4] 8097c36: 3b07 subs r3, #7 8097c38: b29b uxth r3, r3 8097c3a: 2203 movs r2, #3 8097c3c: 4619 mov r1, r3 8097c3e: f7bc fad9 bl 80541f4 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 8097c42: 4920 ldr r1, [pc, #128] ; (8097cc4 ) 8097c44: 4822 ldr r0, [pc, #136] ; (8097cd0 ) 8097c46: f7bb fdcd bl 80537e4 BSP_LCD_FillCircle(x + 0, y + 10, 3);//2 8097c4a: 88bb ldrh r3, [r7, #4] 8097c4c: 330a adds r3, #10 8097c4e: b299 uxth r1, r3 8097c50: 88fb ldrh r3, [r7, #6] 8097c52: 2203 movs r2, #3 8097c54: 4618 mov r0, r3 8097c56: f7bc facd bl 80541f4 BSP_LCD_FillCircle(x - 7, y + 7, 3);//3 8097c5a: 88fb ldrh r3, [r7, #6] 8097c5c: 3b07 subs r3, #7 8097c5e: b298 uxth r0, r3 8097c60: 88bb ldrh r3, [r7, #4] 8097c62: 3307 adds r3, #7 8097c64: b29b uxth r3, r3 8097c66: 2203 movs r2, #3 8097c68: 4619 mov r1, r3 8097c6a: f7bc fac3 bl 80541f4 BSP_LCD_FillCircle(x - 10, y + 0, 3);//4 8097c6e: 88fb ldrh r3, [r7, #6] 8097c70: 3b0a subs r3, #10 8097c72: b29b uxth r3, r3 8097c74: 88b9 ldrh r1, [r7, #4] 8097c76: 2203 movs r2, #3 8097c78: 4618 mov r0, r3 8097c7a: f7bc fabb bl 80541f4 BSP_LCD_FillCircle(x - 7, y - 7, 3);//5 8097c7e: 88fb ldrh r3, [r7, #6] 8097c80: 3b07 subs r3, #7 8097c82: b298 uxth r0, r3 8097c84: 88bb ldrh r3, [r7, #4] 8097c86: 3b07 subs r3, #7 8097c88: b29b uxth r3, r3 8097c8a: 2203 movs r2, #3 8097c8c: 4619 mov r1, r3 8097c8e: f7bc fab1 bl 80541f4 BSP_LCD_FillCircle(x + 0, y - 10, 3);//6 8097c92: 88bb ldrh r3, [r7, #4] 8097c94: 3b0a subs r3, #10 8097c96: b299 uxth r1, r3 8097c98: 88fb ldrh r3, [r7, #6] 8097c9a: 2203 movs r2, #3 8097c9c: 4618 mov r0, r3 8097c9e: f7bc faa9 bl 80541f4 break; 8097ca2: bf00 nop } rotate++; 8097ca4: 4b0b ldr r3, [pc, #44] ; (8097cd4 ) 8097ca6: 681b ldr r3, [r3, #0] 8097ca8: 3301 adds r3, #1 8097caa: 4a0a ldr r2, [pc, #40] ; (8097cd4 ) 8097cac: 6013 str r3, [r2, #0] if(rotate >= 8) 8097cae: 4b09 ldr r3, [pc, #36] ; (8097cd4 ) 8097cb0: 681b ldr r3, [r3, #0] 8097cb2: 2b07 cmp r3, #7 8097cb4: d902 bls.n 8097cbc rotate = 0; 8097cb6: 4b07 ldr r3, [pc, #28] ; (8097cd4 ) 8097cb8: 2200 movs r2, #0 8097cba: 601a str r2, [r3, #0] } 8097cbc: bf00 nop 8097cbe: 3708 adds r7, #8 8097cc0: 46bd mov sp, r7 8097cc2: bd80 pop {r7, pc} 8097cc4: ff0a0f1f .word 0xff0a0f1f 8097cc8: ffd3d3d3 .word 0xffd3d3d3 8097ccc: ff808080 .word 0xff808080 8097cd0: ff404040 .word 0xff404040 8097cd4: 20021678 .word 0x20021678 08097cd8 : void DrawSpinner(void) { 8097cd8: b580 push {r7, lr} 8097cda: af00 add r7, sp, #0 if(!clbr) 8097cdc: 4b94 ldr r3, [pc, #592] ; (8097f30 ) 8097cde: 781b ldrb r3, [r3, #0] 8097ce0: b2db uxtb r3, r3 8097ce2: f083 0301 eor.w r3, r3, #1 8097ce6: b2db uxtb r3, r3 8097ce8: 2b00 cmp r3, #0 8097cea: f000 811f beq.w 8097f2c { //if(pardata.SYG != WAVE) //{ if(measuring) 8097cee: 4b91 ldr r3, [pc, #580] ; (8097f34 ) 8097cf0: 781b ldrb r3, [r3, #0] 8097cf2: b2db uxtb r3, r3 8097cf4: 2b00 cmp r3, #0 8097cf6: f000 8119 beq.w 8097f2c { spinner++; 8097cfa: 4b8f ldr r3, [pc, #572] ; (8097f38 ) 8097cfc: 781b ldrb r3, [r3, #0] 8097cfe: 3301 adds r3, #1 8097d00: b2da uxtb r2, r3 8097d02: 4b8d ldr r3, [pc, #564] ; (8097f38 ) 8097d04: 701a strb r2, [r3, #0] if(spinner >= 10) 8097d06: 4b8c ldr r3, [pc, #560] ; (8097f38 ) 8097d08: 781b ldrb r3, [r3, #0] 8097d0a: 2b09 cmp r3, #9 8097d0c: d902 bls.n 8097d14 spinner = 0; 8097d0e: 4b8a ldr r3, [pc, #552] ; (8097f38 ) 8097d10: 2200 movs r2, #0 8097d12: 701a strb r2, [r3, #0] if(pardata.SYG == WAVE) 8097d14: 4b89 ldr r3, [pc, #548] ; (8097f3c ) 8097d16: 781b ldrb r3, [r3, #0] 8097d18: b2db uxtb r3, r3 8097d1a: 2b04 cmp r3, #4 8097d1c: d113 bne.n 8097d46 { if((CALC_FREQ) && (FreqFran == 0.0f)) 8097d1e: 4b88 ldr r3, [pc, #544] ; (8097f40 ) 8097d20: 781b ldrb r3, [r3, #0] 8097d22: b2db uxtb r3, r3 8097d24: 2b00 cmp r3, #0 8097d26: f000 8101 beq.w 8097f2c 8097d2a: 4b86 ldr r3, [pc, #536] ; (8097f44 ) 8097d2c: edd3 7a00 vldr s15, [r3] 8097d30: eef5 7a40 vcmp.f32 s15, #0.0 8097d34: eef1 fa10 vmrs APSR_nzcv, fpscr 8097d38: f040 80f8 bne.w 8097f2c DrawMySpinner(165, 124); 8097d3c: 217c movs r1, #124 ; 0x7c 8097d3e: 20a5 movs r0, #165 ; 0xa5 8097d40: f7ff fcae bl 80976a0 } } } } } 8097d44: e0f2 b.n 8097f2c if(RepeatKm) 8097d46: 4b80 ldr r3, [pc, #512] ; (8097f48 ) 8097d48: 781b ldrb r3, [r3, #0] 8097d4a: b2db uxtb r3, r3 8097d4c: 2b00 cmp r3, #0 8097d4e: d01a beq.n 8097d86 if(pardata.SYG == FRAN) 8097d50: 4b7a ldr r3, [pc, #488] ; (8097f3c ) 8097d52: 781b ldrb r3, [r3, #0] 8097d54: b2db uxtb r3, r3 8097d56: 2b03 cmp r3, #3 8097d58: d110 bne.n 8097d7c if(pardata.OPTIONS & 0x2) 8097d5a: 4b78 ldr r3, [pc, #480] ; (8097f3c ) 8097d5c: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 8097d60: f003 0302 and.w r3, r3, #2 8097d64: 2b00 cmp r3, #0 8097d66: d004 beq.n 8097d72 DrawMySpinner(69, 125); 8097d68: 217d movs r1, #125 ; 0x7d 8097d6a: 2045 movs r0, #69 ; 0x45 8097d6c: f7ff fc98 bl 80976a0 } 8097d70: e0dc b.n 8097f2c else DrawMySpinner(189, 141); 8097d72: 218d movs r1, #141 ; 0x8d 8097d74: 20bd movs r0, #189 ; 0xbd 8097d76: f7ff fc93 bl 80976a0 } 8097d7a: e0d7 b.n 8097f2c DrawMySpinner(189, 141); 8097d7c: 218d movs r1, #141 ; 0x8d 8097d7e: 20bd movs r0, #189 ; 0xbd 8097d80: f7ff fc8e bl 80976a0 } 8097d84: e0d2 b.n 8097f2c if((pardata.SYG == VIB) && (timeRelax)) 8097d86: 4b6d ldr r3, [pc, #436] ; (8097f3c ) 8097d88: 781b ldrb r3, [r3, #0] 8097d8a: b2db uxtb r3, r3 8097d8c: 2b00 cmp r3, #0 8097d8e: d108 bne.n 8097da2 8097d90: 4b6e ldr r3, [pc, #440] ; (8097f4c ) 8097d92: 681b ldr r3, [r3, #0] 8097d94: 2b00 cmp r3, #0 8097d96: d004 beq.n 8097da2 DrawMySpinner(189, 141); 8097d98: 218d movs r1, #141 ; 0x8d 8097d9a: 20bd movs r0, #189 ; 0xbd 8097d9c: f7ff fc80 bl 80976a0 8097da0: e0c4 b.n 8097f2c if((pardata.SYG == VIB) && (Stability <= (Nr * 4))) 8097da2: 4b66 ldr r3, [pc, #408] ; (8097f3c ) 8097da4: 781b ldrb r3, [r3, #0] 8097da6: b2db uxtb r3, r3 8097da8: 2b00 cmp r3, #0 8097daa: d10d bne.n 8097dc8 8097dac: 4b68 ldr r3, [pc, #416] ; (8097f50 ) 8097dae: 881b ldrh r3, [r3, #0] 8097db0: b29b uxth r3, r3 8097db2: 009b lsls r3, r3, #2 8097db4: 461a mov r2, r3 8097db6: 4b67 ldr r3, [pc, #412] ; (8097f54 ) 8097db8: 681b ldr r3, [r3, #0] 8097dba: 429a cmp r2, r3 8097dbc: d304 bcc.n 8097dc8 DrawMySpinner(189, 141); 8097dbe: 218d movs r1, #141 ; 0x8d 8097dc0: 20bd movs r0, #189 ; 0xbd 8097dc2: f7ff fc6d bl 80976a0 8097dc6: e0b1 b.n 8097f2c if((pardata.SYG == DIAGN) && ((Stability <= (Nr * 4)) || (timeRelax))) 8097dc8: 4b5c ldr r3, [pc, #368] ; (8097f3c ) 8097dca: 781b ldrb r3, [r3, #0] 8097dcc: b2db uxtb r3, r3 8097dce: 2b0a cmp r3, #10 8097dd0: d111 bne.n 8097df6 8097dd2: 4b5f ldr r3, [pc, #380] ; (8097f50 ) 8097dd4: 881b ldrh r3, [r3, #0] 8097dd6: b29b uxth r3, r3 8097dd8: 009b lsls r3, r3, #2 8097dda: 461a mov r2, r3 8097ddc: 4b5d ldr r3, [pc, #372] ; (8097f54 ) 8097dde: 681b ldr r3, [r3, #0] 8097de0: 429a cmp r2, r3 8097de2: d203 bcs.n 8097dec 8097de4: 4b59 ldr r3, [pc, #356] ; (8097f4c ) 8097de6: 681b ldr r3, [r3, #0] 8097de8: 2b00 cmp r3, #0 8097dea: d004 beq.n 8097df6 DrawMySpinner(189, 141); 8097dec: 218d movs r1, #141 ; 0x8d 8097dee: 20bd movs r0, #189 ; 0xbd 8097df0: f7ff fc56 bl 80976a0 8097df4: e09a b.n 8097f2c if((pardata.SYG == FRAN) && (timeRelax)) 8097df6: 4b51 ldr r3, [pc, #324] ; (8097f3c ) 8097df8: 781b ldrb r3, [r3, #0] 8097dfa: b2db uxtb r3, r3 8097dfc: 2b03 cmp r3, #3 8097dfe: d108 bne.n 8097e12 8097e00: 4b52 ldr r3, [pc, #328] ; (8097f4c ) 8097e02: 681b ldr r3, [r3, #0] 8097e04: 2b00 cmp r3, #0 8097e06: d004 beq.n 8097e12 DrawMySpinner(189, 141); 8097e08: 218d movs r1, #141 ; 0x8d 8097e0a: 20bd movs r0, #189 ; 0xbd 8097e0c: f7ff fc48 bl 80976a0 8097e10: e08c b.n 8097f2c if((pardata.SYG == FRAN) && (Stability <= (Nr * 4))) 8097e12: 4b4a ldr r3, [pc, #296] ; (8097f3c ) 8097e14: 781b ldrb r3, [r3, #0] 8097e16: b2db uxtb r3, r3 8097e18: 2b03 cmp r3, #3 8097e1a: d10d bne.n 8097e38 8097e1c: 4b4c ldr r3, [pc, #304] ; (8097f50 ) 8097e1e: 881b ldrh r3, [r3, #0] 8097e20: b29b uxth r3, r3 8097e22: 009b lsls r3, r3, #2 8097e24: 461a mov r2, r3 8097e26: 4b4b ldr r3, [pc, #300] ; (8097f54 ) 8097e28: 681b ldr r3, [r3, #0] 8097e2a: 429a cmp r2, r3 8097e2c: d304 bcc.n 8097e38 DrawMySpinner(189, 141); 8097e2e: 218d movs r1, #141 ; 0x8d 8097e30: 20bd movs r0, #189 ; 0xbd 8097e32: f7ff fc35 bl 80976a0 8097e36: e079 b.n 8097f2c if((pardata.SYG == OSC) && (timeRelax)) 8097e38: 4b40 ldr r3, [pc, #256] ; (8097f3c ) 8097e3a: 781b ldrb r3, [r3, #0] 8097e3c: b2db uxtb r3, r3 8097e3e: 2b02 cmp r3, #2 8097e40: d108 bne.n 8097e54 8097e42: 4b42 ldr r3, [pc, #264] ; (8097f4c ) 8097e44: 681b ldr r3, [r3, #0] 8097e46: 2b00 cmp r3, #0 8097e48: d004 beq.n 8097e54 DrawMySpinner(189, 141); 8097e4a: 218d movs r1, #141 ; 0x8d 8097e4c: 20bd movs r0, #189 ; 0xbd 8097e4e: f7ff fc27 bl 80976a0 8097e52: e06b b.n 8097f2c if((pardata.SYG == UDAR) && (timeRelax)) 8097e54: 4b39 ldr r3, [pc, #228] ; (8097f3c ) 8097e56: 781b ldrb r3, [r3, #0] 8097e58: b2db uxtb r3, r3 8097e5a: 2b09 cmp r3, #9 8097e5c: d108 bne.n 8097e70 8097e5e: 4b3b ldr r3, [pc, #236] ; (8097f4c ) 8097e60: 681b ldr r3, [r3, #0] 8097e62: 2b00 cmp r3, #0 8097e64: d004 beq.n 8097e70 DrawMySpinner(160, 120); 8097e66: 2178 movs r1, #120 ; 0x78 8097e68: 20a0 movs r0, #160 ; 0xa0 8097e6a: f7ff fc19 bl 80976a0 8097e6e: e05d b.n 8097f2c if((pardata.SYG == OSC) && (!Threshold) && (Stability <= (Nr * 4))) 8097e70: 4b32 ldr r3, [pc, #200] ; (8097f3c ) 8097e72: 781b ldrb r3, [r3, #0] 8097e74: b2db uxtb r3, r3 8097e76: 2b02 cmp r3, #2 8097e78: d115 bne.n 8097ea6 8097e7a: 4b37 ldr r3, [pc, #220] ; (8097f58 ) 8097e7c: 781b ldrb r3, [r3, #0] 8097e7e: b2db uxtb r3, r3 8097e80: f083 0301 eor.w r3, r3, #1 8097e84: b2db uxtb r3, r3 8097e86: 2b00 cmp r3, #0 8097e88: d00d beq.n 8097ea6 8097e8a: 4b31 ldr r3, [pc, #196] ; (8097f50 ) 8097e8c: 881b ldrh r3, [r3, #0] 8097e8e: b29b uxth r3, r3 8097e90: 009b lsls r3, r3, #2 8097e92: 461a mov r2, r3 8097e94: 4b2f ldr r3, [pc, #188] ; (8097f54 ) 8097e96: 681b ldr r3, [r3, #0] 8097e98: 429a cmp r2, r3 8097e9a: d304 bcc.n 8097ea6 DrawMySpinner(189, 141); 8097e9c: 218d movs r1, #141 ; 0x8d 8097e9e: 20bd movs r0, #189 ; 0xbd 8097ea0: f7ff fbfe bl 80976a0 8097ea4: e042 b.n 8097f2c if(((pardata.SYG == SPEC) || (pardata.SYG == ROLL) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == SPEC_OKT) || (pardata.SYG == SPEC_THIRD) || (pardata.SYG == UDAR)) && (Stability <= (Nr * 4))) 8097ea6: 4b25 ldr r3, [pc, #148] ; (8097f3c ) 8097ea8: 781b ldrb r3, [r3, #0] 8097eaa: b2db uxtb r3, r3 8097eac: 2b01 cmp r3, #1 8097eae: d018 beq.n 8097ee2 8097eb0: 4b22 ldr r3, [pc, #136] ; (8097f3c ) 8097eb2: 781b ldrb r3, [r3, #0] 8097eb4: b2db uxtb r3, r3 8097eb6: 2b08 cmp r3, #8 8097eb8: d013 beq.n 8097ee2 8097eba: 4b20 ldr r3, [pc, #128] ; (8097f3c ) 8097ebc: 781b ldrb r3, [r3, #0] 8097ebe: b2db uxtb r3, r3 8097ec0: 2b05 cmp r3, #5 8097ec2: d00e beq.n 8097ee2 8097ec4: 4b1d ldr r3, [pc, #116] ; (8097f3c ) 8097ec6: 781b ldrb r3, [r3, #0] 8097ec8: b2db uxtb r3, r3 8097eca: 2b06 cmp r3, #6 8097ecc: d009 beq.n 8097ee2 8097ece: 4b1b ldr r3, [pc, #108] ; (8097f3c ) 8097ed0: 781b ldrb r3, [r3, #0] 8097ed2: b2db uxtb r3, r3 8097ed4: 2b07 cmp r3, #7 8097ed6: d004 beq.n 8097ee2 8097ed8: 4b18 ldr r3, [pc, #96] ; (8097f3c ) 8097eda: 781b ldrb r3, [r3, #0] 8097edc: b2db uxtb r3, r3 8097ede: 2b09 cmp r3, #9 8097ee0: d10d bne.n 8097efe 8097ee2: 4b1b ldr r3, [pc, #108] ; (8097f50 ) 8097ee4: 881b ldrh r3, [r3, #0] 8097ee6: b29b uxth r3, r3 8097ee8: 009b lsls r3, r3, #2 8097eea: 461a mov r2, r3 8097eec: 4b19 ldr r3, [pc, #100] ; (8097f54 ) 8097eee: 681b ldr r3, [r3, #0] 8097ef0: 429a cmp r2, r3 8097ef2: d304 bcc.n 8097efe DrawMySpinner(189, 141); 8097ef4: 218d movs r1, #141 ; 0x8d 8097ef6: 20bd movs r0, #189 ; 0xbd 8097ef8: f7ff fbd2 bl 80976a0 8097efc: e016 b.n 8097f2c if((pardata.SYG == ROLL) && (NSamples < 20) && (Stability > (Nr * 4))) 8097efe: 4b0f ldr r3, [pc, #60] ; (8097f3c ) 8097f00: 781b ldrb r3, [r3, #0] 8097f02: b2db uxtb r3, r3 8097f04: 2b08 cmp r3, #8 8097f06: d111 bne.n 8097f2c 8097f08: 4b14 ldr r3, [pc, #80] ; (8097f5c ) 8097f0a: 681b ldr r3, [r3, #0] 8097f0c: 2b13 cmp r3, #19 8097f0e: d80d bhi.n 8097f2c 8097f10: 4b0f ldr r3, [pc, #60] ; (8097f50 ) 8097f12: 881b ldrh r3, [r3, #0] 8097f14: b29b uxth r3, r3 8097f16: 009b lsls r3, r3, #2 8097f18: 461a mov r2, r3 8097f1a: 4b0e ldr r3, [pc, #56] ; (8097f54 ) 8097f1c: 681b ldr r3, [r3, #0] 8097f1e: 429a cmp r2, r3 8097f20: d204 bcs.n 8097f2c DrawMySpinner(189, 141); 8097f22: 218d movs r1, #141 ; 0x8d 8097f24: 20bd movs r0, #189 ; 0xbd 8097f26: f7ff fbbb bl 80976a0 } 8097f2a: e7ff b.n 8097f2c 8097f2c: bf00 nop 8097f2e: bd80 pop {r7, pc} 8097f30: 20020f68 .word 0x20020f68 8097f34: 20020daf .word 0x20020daf 8097f38: 20021658 .word 0x20021658 8097f3c: 20023e60 .word 0x20023e60 8097f40: 20021010 .word 0x20021010 8097f44: 20021564 .word 0x20021564 8097f48: 20020dac .word 0x20020dac 8097f4c: 20020d6c .word 0x20020d6c 8097f50: 20021d20 .word 0x20021d20 8097f54: 20020da8 .word 0x20020da8 8097f58: 20020db1 .word 0x20020db1 8097f5c: 20020d88 .word 0x20020d88 08097f60 : void DisplayStatus(void) { 8097f60: b580 push {r7, lr} 8097f62: af00 add r7, sp, #0 if(DrawStatus) 8097f64: 4baa ldr r3, [pc, #680] ; (8098210 ) 8097f66: 781b ldrb r3, [r3, #0] 8097f68: b2db uxtb r3, r3 8097f6a: 2b00 cmp r3, #0 8097f6c: f000 814d beq.w 809820a { LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097f70: 49a8 ldr r1, [pc, #672] ; (8098214 ) 8097f72: f04f 30ff mov.w r0, #4294967295 8097f76: f7bb fc35 bl 80537e4 BSP_LCD_FillRect(60, 73, 200, 124); 8097f7a: 237c movs r3, #124 ; 0x7c 8097f7c: 22c8 movs r2, #200 ; 0xc8 8097f7e: 2149 movs r1, #73 ; 0x49 8097f80: 203c movs r0, #60 ; 0x3c 8097f82: f7bc f8bd bl 8054100 LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 8097f86: 49a3 ldr r1, [pc, #652] ; (8098214 ) 8097f88: 48a2 ldr r0, [pc, #648] ; (8098214 ) 8097f8a: f7bb fc2b bl 80537e4 BSP_LCD_FillRect(61, 74, 198, 122); 8097f8e: 237a movs r3, #122 ; 0x7a 8097f90: 22c6 movs r2, #198 ; 0xc6 8097f92: 214a movs r1, #74 ; 0x4a 8097f94: 203d movs r0, #61 ; 0x3d 8097f96: f7bc f8b3 bl 8054100 BSP_LCD_SetFont(&Font12); 8097f9a: 489f ldr r0, [pc, #636] ; (8098218 ) 8097f9c: f7bb fc5e bl 805385c LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8097fa0: 499c ldr r1, [pc, #624] ; (8098214 ) 8097fa2: f04f 30ff mov.w r0, #4294967295 8097fa6: f7bb fc1d bl 80537e4 switch(STATUS) 8097faa: 4b9c ldr r3, [pc, #624] ; (809821c ) 8097fac: 681b ldr r3, [r3, #0] 8097fae: 2b12 cmp r3, #18 8097fb0: f200 812b bhi.w 809820a 8097fb4: a201 add r2, pc, #4 ; (adr r2, 8097fbc ) 8097fb6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8097fba: bf00 nop 8097fbc: 08098209 .word 0x08098209 8097fc0: 0809820b .word 0x0809820b 8097fc4: 0809810d .word 0x0809810d 8097fc8: 08098189 .word 0x08098189 8097fcc: 0809820b .word 0x0809820b 8097fd0: 0809820b .word 0x0809820b 8097fd4: 08098053 .word 0x08098053 8097fd8: 08098091 .word 0x08098091 8097fdc: 080980cf .word 0x080980cf 8097fe0: 0809820b .word 0x0809820b 8097fe4: 0809820b .word 0x0809820b 8097fe8: 080981c7 .word 0x080981c7 8097fec: 0809820b .word 0x0809820b 8097ff0: 0809820b .word 0x0809820b 8097ff4: 0809820b .word 0x0809820b 8097ff8: 0809820b .word 0x0809820b 8097ffc: 0809820b .word 0x0809820b 8098000: 0809814b .word 0x0809814b 8098004: 08098009 .word 0x08098009 { case AP_ADC_FAIL: if(pardata.LANG == RUS) 8098008: 4b85 ldr r3, [pc, #532] ; (8098220 ) 809800a: 7b1b ldrb r3, [r3, #12] 809800c: b2db uxtb r3, r3 809800e: 2b00 cmp r3, #0 8098010: d10c bne.n 809802c { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Îøèáêà ÀÖÏ!", CENTER_MODE); 8098012: 2301 movs r3, #1 8098014: 4a83 ldr r2, [pc, #524] ; (8098224 ) 8098016: 217a movs r1, #122 ; 0x7a 8098018: 20a0 movs r0, #160 ; 0xa0 809801a: f7bb fca9 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Ïåðåçàãðóçèòå ïðèáîð...", CENTER_MODE); 809801e: 2301 movs r3, #1 8098020: 4a81 ldr r2, [pc, #516] ; (8098228 ) 8098022: 218a movs r1, #138 ; 0x8a 8098024: 20a0 movs r0, #160 ; 0xa0 8098026: f7bb fca3 bl 8053970 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "ADC Error!", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Please,", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_9, "reboot device.", CENTER_MODE); } break; 809802a: e0ee b.n 809820a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "ADC Error!", CENTER_MODE); 809802c: 2301 movs r3, #1 809802e: 4a7f ldr r2, [pc, #508] ; (809822c ) 8098030: 217a movs r1, #122 ; 0x7a 8098032: 20a0 movs r0, #160 ; 0xa0 8098034: f7bb fc9c bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "Please,", CENTER_MODE); 8098038: 2301 movs r3, #1 809803a: 4a7d ldr r2, [pc, #500] ; (8098230 ) 809803c: 218a movs r1, #138 ; 0x8a 809803e: 20a0 movs r0, #160 ; 0xa0 8098040: f7bb fc96 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_9, "reboot device.", CENTER_MODE); 8098044: 2301 movs r3, #1 8098046: 4a7b ldr r2, [pc, #492] ; (8098234 ) 8098048: 219a movs r1, #154 ; 0x9a 809804a: 20a0 movs r0, #160 ; 0xa0 809804c: f7bb fc90 bl 8053970 break; 8098050: e0db b.n 809820a case AP_OK: break; case AP_FILE_EXIST: if(pardata.LANG == RUS) 8098052: 4b73 ldr r3, [pc, #460] ; (8098220 ) 8098054: 7b1b ldrb r3, [r3, #12] 8098056: b2db uxtb r3, r3 8098058: 2b00 cmp r3, #0 809805a: d10c bne.n 8098076 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôàéë óæå", CENTER_MODE); 809805c: 2301 movs r3, #1 809805e: 4a76 ldr r2, [pc, #472] ; (8098238 ) 8098060: 217a movs r1, #122 ; 0x7a 8098062: 20a0 movs r0, #160 ; 0xa0 8098064: f7bb fc84 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "ñóùåñòâóåò!", CENTER_MODE); 8098068: 2301 movs r3, #1 809806a: 4a74 ldr r2, [pc, #464] ; (809823c ) 809806c: 218a movs r1, #138 ; 0x8a 809806e: 20a0 movs r0, #160 ; 0xa0 8098070: f7bb fc7e bl 8053970 else { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "File already ", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "exists!", CENTER_MODE); } break; 8098074: e0c9 b.n 809820a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "File already ", CENTER_MODE); 8098076: 2301 movs r3, #1 8098078: 4a71 ldr r2, [pc, #452] ; (8098240 ) 809807a: 217a movs r1, #122 ; 0x7a 809807c: 20a0 movs r0, #160 ; 0xa0 809807e: f7bb fc77 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "exists!", CENTER_MODE); 8098082: 2301 movs r3, #1 8098084: 4a6f ldr r2, [pc, #444] ; (8098244 ) 8098086: 218a movs r1, #138 ; 0x8a 8098088: 20a0 movs r0, #160 ; 0xa0 809808a: f7bb fc71 bl 8053970 break; 809808e: e0bc b.n 809820a case AP_SAVING_SUCCESS: if(pardata.LANG == RUS) 8098090: 4b63 ldr r3, [pc, #396] ; (8098220 ) 8098092: 7b1b ldrb r3, [r3, #12] 8098094: b2db uxtb r3, r3 8098096: 2b00 cmp r3, #0 8098098: d10c bne.n 80980b4 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ñîõðàíåíèå", CENTER_MODE); 809809a: 2301 movs r3, #1 809809c: 4a6a ldr r2, [pc, #424] ; (8098248 ) 809809e: 217a movs r1, #122 ; 0x7a 80980a0: 20a0 movs r0, #160 ; 0xa0 80980a2: f7bb fc65 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "óñïåøíî!", CENTER_MODE); 80980a6: 2301 movs r3, #1 80980a8: 4a68 ldr r2, [pc, #416] ; (809824c ) 80980aa: 218a movs r1, #138 ; 0x8a 80980ac: 20a0 movs r0, #160 ; 0xa0 80980ae: f7bb fc5f bl 8053970 else { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Saving", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "done!", CENTER_MODE); } break; 80980b2: e0aa b.n 809820a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Saving", CENTER_MODE); 80980b4: 2301 movs r3, #1 80980b6: 4a66 ldr r2, [pc, #408] ; (8098250 ) 80980b8: 217a movs r1, #122 ; 0x7a 80980ba: 20a0 movs r0, #160 ; 0xa0 80980bc: f7bb fc58 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "done!", CENTER_MODE); 80980c0: 2301 movs r3, #1 80980c2: 4a64 ldr r2, [pc, #400] ; (8098254 ) 80980c4: 218a movs r1, #138 ; 0x8a 80980c6: 20a0 movs r0, #160 ; 0xa0 80980c8: f7bb fc52 bl 8053970 break; 80980cc: e09d b.n 809820a case AP_SAVING_ERROR: if(pardata.LANG == RUS) 80980ce: 4b54 ldr r3, [pc, #336] ; (8098220 ) 80980d0: 7b1b ldrb r3, [r3, #12] 80980d2: b2db uxtb r3, r3 80980d4: 2b00 cmp r3, #0 80980d6: d10c bne.n 80980f2 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Îøèáêà", CENTER_MODE); 80980d8: 2301 movs r3, #1 80980da: 4a5f ldr r2, [pc, #380] ; (8098258 ) 80980dc: 217a movs r1, #122 ; 0x7a 80980de: 20a0 movs r0, #160 ; 0xa0 80980e0: f7bb fc46 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "ñîõðàíåíèÿ!", CENTER_MODE); 80980e4: 2301 movs r3, #1 80980e6: 4a5d ldr r2, [pc, #372] ; (809825c ) 80980e8: 218a movs r1, #138 ; 0x8a 80980ea: 20a0 movs r0, #160 ; 0xa0 80980ec: f7bb fc40 bl 8053970 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Saving", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "failed!", CENTER_MODE); } //LCD_DisplayString(18, 33, "Îøèáêà ñîõðàíåíèÿ..."); break; 80980f0: e08b b.n 809820a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Saving", CENTER_MODE); 80980f2: 2301 movs r3, #1 80980f4: 4a56 ldr r2, [pc, #344] ; (8098250 ) 80980f6: 217a movs r1, #122 ; 0x7a 80980f8: 20a0 movs r0, #160 ; 0xa0 80980fa: f7bb fc39 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "failed!", CENTER_MODE); 80980fe: 2301 movs r3, #1 8098100: 4a57 ldr r2, [pc, #348] ; (8098260 ) 8098102: 218a movs r1, #138 ; 0x8a 8098104: 20a0 movs r0, #160 ; 0xa0 8098106: f7bb fc33 bl 8053970 break; 809810a: e07e b.n 809820a case AP_INVALID_FILE: if(pardata.LANG == RUS) 809810c: 4b44 ldr r3, [pc, #272] ; (8098220 ) 809810e: 7b1b ldrb r3, [r3, #12] 8098110: b2db uxtb r3, r3 8098112: 2b00 cmp r3, #0 8098114: d10c bne.n 8098130 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Ôàéë ïîâðåæäåí", CENTER_MODE); 8098116: 2301 movs r3, #1 8098118: 4a52 ldr r2, [pc, #328] ; (8098264 ) 809811a: 217a movs r1, #122 ; 0x7a 809811c: 20a0 movs r0, #160 ; 0xa0 809811e: f7bb fc27 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "èëè îòñóòñòâóåò!", CENTER_MODE); 8098122: 2301 movs r3, #1 8098124: 4a50 ldr r2, [pc, #320] ; (8098268 ) 8098126: 217a movs r1, #122 ; 0x7a 8098128: 20a0 movs r0, #160 ; 0xa0 809812a: f7bb fc21 bl 8053970 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "File is damaged", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "or missing!", CENTER_MODE); } //LCD_DisplayString(18, 33, "Ôàéë ïîâðåæäåí..."); break; 809812e: e06c b.n 809820a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "File is damaged", CENTER_MODE); 8098130: 2301 movs r3, #1 8098132: 4a4e ldr r2, [pc, #312] ; (809826c ) 8098134: 217a movs r1, #122 ; 0x7a 8098136: 20a0 movs r0, #160 ; 0xa0 8098138: f7bb fc1a bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "or missing!", CENTER_MODE); 809813c: 2301 movs r3, #1 809813e: 4a4c ldr r2, [pc, #304] ; (8098270 ) 8098140: 218a movs r1, #138 ; 0x8a 8098142: 20a0 movs r0, #160 ; 0xa0 8098144: f7bb fc14 bl 8053970 break; 8098148: e05f b.n 809820a case AP_NO_CARD: if(pardata.LANG == RUS) 809814a: 4b35 ldr r3, [pc, #212] ; (8098220 ) 809814c: 7b1b ldrb r3, [r3, #12] 809814e: b2db uxtb r3, r3 8098150: 2b00 cmp r3, #0 8098152: d10c bne.n 809816e { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Íàêîïèòåëü", CENTER_MODE); 8098154: 2301 movs r3, #1 8098156: 4a47 ldr r2, [pc, #284] ; (8098274 ) 8098158: 217a movs r1, #122 ; 0x7a 809815a: 20a0 movs r0, #160 ; 0xa0 809815c: f7bb fc08 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "îòñóòñòâóåò!", CENTER_MODE); 8098160: 2301 movs r3, #1 8098162: 4a45 ldr r2, [pc, #276] ; (8098278 ) 8098164: 218a movs r1, #138 ; 0x8a 8098166: 20a0 movs r0, #160 ; 0xa0 8098168: f7bb fc02 bl 8053970 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Drive is", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "not present!", CENTER_MODE); } //LCD_DisplayString(18, 33, "Íàêîïèòåëü îòñóòñò..."); break; 809816c: e04d b.n 809820a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Drive is", CENTER_MODE); 809816e: 2301 movs r3, #1 8098170: 4a42 ldr r2, [pc, #264] ; (809827c ) 8098172: 217a movs r1, #122 ; 0x7a 8098174: 20a0 movs r0, #160 ; 0xa0 8098176: f7bb fbfb bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "not present!", CENTER_MODE); 809817a: 2301 movs r3, #1 809817c: 4a40 ldr r2, [pc, #256] ; (8098280 ) 809817e: 218a movs r1, #138 ; 0x8a 8098180: 20a0 movs r0, #160 ; 0xa0 8098182: f7bb fbf5 bl 8053970 break; 8098186: e040 b.n 809820a case AP_BAD_DATA: if(pardata.LANG == RUS) 8098188: 4b25 ldr r3, [pc, #148] ; (8098220 ) 809818a: 7b1b ldrb r3, [r3, #12] 809818c: b2db uxtb r3, r3 809818e: 2b00 cmp r3, #0 8098190: d10c bne.n 80981ac { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Íåâåðíûå", CENTER_MODE); 8098192: 2301 movs r3, #1 8098194: 4a3b ldr r2, [pc, #236] ; (8098284 ) 8098196: 217a movs r1, #122 ; 0x7a 8098198: 20a0 movs r0, #160 ; 0xa0 809819a: f7bb fbe9 bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "äàííûå!", CENTER_MODE); 809819e: 2301 movs r3, #1 80981a0: 4a39 ldr r2, [pc, #228] ; (8098288 ) 80981a2: 218a movs r1, #138 ; 0x8a 80981a4: 20a0 movs r0, #160 ; 0xa0 80981a6: f7bb fbe3 bl 8053970 { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Incorrect", CENTER_MODE); BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "data!", CENTER_MODE); } //LCD_DisplayString(18, 33, "Íåâåðíûå äàííûå..."); break; 80981aa: e02e b.n 809820a BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Incorrect", CENTER_MODE); 80981ac: 2301 movs r3, #1 80981ae: 4a37 ldr r2, [pc, #220] ; (809828c ) 80981b0: 217a movs r1, #122 ; 0x7a 80981b2: 20a0 movs r0, #160 ; 0xa0 80981b4: f7bb fbdc bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "data!", CENTER_MODE); 80981b8: 2301 movs r3, #1 80981ba: 4a35 ldr r2, [pc, #212] ; (8098290 ) 80981bc: 218a movs r1, #138 ; 0x8a 80981be: 20a0 movs r0, #160 ; 0xa0 80981c0: f7bb fbd6 bl 8053970 break; 80981c4: e021 b.n 809820a case AP_DISK_ERROR: if(pardata.LANG == RUS) 80981c6: 4b16 ldr r3, [pc, #88] ; (8098220 ) 80981c8: 7b1b ldrb r3, [r3, #12] 80981ca: b2db uxtb r3, r3 80981cc: 2b00 cmp r3, #0 80981ce: d10c bne.n 80981ea { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "Êàðòà ïàìÿòè", CENTER_MODE); 80981d0: 2301 movs r3, #1 80981d2: 4a30 ldr r2, [pc, #192] ; (8098294 ) 80981d4: 217a movs r1, #122 ; 0x7a 80981d6: 20a0 movs r0, #160 ; 0xa0 80981d8: f7bb fbca bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "íå ÷èòàåòñÿ!", CENTER_MODE); 80981dc: 2301 movs r3, #1 80981de: 4a2e ldr r2, [pc, #184] ; (8098298 ) 80981e0: 218a movs r1, #138 ; 0x8a 80981e2: 20a0 movs r0, #160 ; 0xa0 80981e4: f7bb fbc4 bl 8053970 80981e8: e00b b.n 8098202 } else { BSP_LCD_DisplayStringAt(160, LCD_LINE_7, "SD card not", CENTER_MODE); 80981ea: 2301 movs r3, #1 80981ec: 4a2b ldr r2, [pc, #172] ; (809829c ) 80981ee: 217a movs r1, #122 ; 0x7a 80981f0: 20a0 movs r0, #160 ; 0xa0 80981f2: f7bb fbbd bl 8053970 BSP_LCD_DisplayStringAt(160, LCD_LINE_8, "responding!", CENTER_MODE); 80981f6: 2301 movs r3, #1 80981f8: 4a29 ldr r2, [pc, #164] ; (80982a0 ) 80981fa: 218a movs r1, #138 ; 0x8a 80981fc: 20a0 movs r0, #160 ; 0xa0 80981fe: f7bb fbb7 bl 8053970 } BSP_SD_Init(); 8098202: f027 fadb bl 80bf7bc break; 8098206: e000 b.n 809820a break; 8098208: bf00 nop } } } 809820a: bf00 nop 809820c: bd80 pop {r7, pc} 809820e: bf00 nop 8098210: 20020dd2 .word 0x20020dd2 8098214: ff0a0f1f .word 0xff0a0f1f 8098218: 20020038 .word 0x20020038 809821c: 20020dcc .word 0x20020dcc 8098220: 20023e60 .word 0x20023e60 8098224: 080d07bc .word 0x080d07bc 8098228: 080d07c8 .word 0x080d07c8 809822c: 080d07e0 .word 0x080d07e0 8098230: 080d07ec .word 0x080d07ec 8098234: 080d07f4 .word 0x080d07f4 8098238: 080d0804 .word 0x080d0804 809823c: 080d0810 .word 0x080d0810 8098240: 080d081c .word 0x080d081c 8098244: 080d082c .word 0x080d082c 8098248: 080d0834 .word 0x080d0834 809824c: 080d0030 .word 0x080d0030 8098250: 080d0840 .word 0x080d0840 8098254: 080d0848 .word 0x080d0848 8098258: 080d0850 .word 0x080d0850 809825c: 080d0858 .word 0x080d0858 8098260: 080d0864 .word 0x080d0864 8098264: 080d086c .word 0x080d086c 8098268: 080d087c .word 0x080d087c 809826c: 080d0890 .word 0x080d0890 8098270: 080d08a0 .word 0x080d08a0 8098274: 080d08ac .word 0x080d08ac 8098278: 080d08b8 .word 0x080d08b8 809827c: 080d08c8 .word 0x080d08c8 8098280: 080d08d4 .word 0x080d08d4 8098284: 080d08e4 .word 0x080d08e4 8098288: 080d08f0 .word 0x080d08f0 809828c: 080d08f8 .word 0x080d08f8 8098290: 080d0904 .word 0x080d0904 8098294: 080d090c .word 0x080d090c 8098298: 080d091c .word 0x080d091c 809829c: 080d092c .word 0x080d092c 80982a0: 080d0938 .word 0x080d0938 080982a4 : void DrawDetectorType(void) { 80982a4: b580 push {r7, lr} 80982a6: af00 add r7, sp, #0 if((DrawSavedData) || (NextIndexMeas < IndexMeas[NextIndexPoint])) 80982a8: 4ba8 ldr r3, [pc, #672] ; (809854c ) 80982aa: 781b ldrb r3, [r3, #0] 80982ac: b2db uxtb r3, r3 80982ae: 2b00 cmp r3, #0 80982b0: d109 bne.n 80982c6 80982b2: 4ba7 ldr r3, [pc, #668] ; (8098550 ) 80982b4: 681b ldr r3, [r3, #0] 80982b6: 4aa7 ldr r2, [pc, #668] ; (8098554 ) 80982b8: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80982bc: 4ba6 ldr r3, [pc, #664] ; (8098558 ) 80982be: 681b ldr r3, [r3, #0] 80982c0: 429a cmp r2, r3 80982c2: f240 818d bls.w 80985e0 { if((ReadFileData.Aivs == 'P') || (ReadFileData.Aivs == 'Ï')) 80982c6: 4ba5 ldr r3, [pc, #660] ; (809855c ) 80982c8: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80982cc: b2db uxtb r3, r3 80982ce: 2b50 cmp r3, #80 ; 0x50 80982d0: d005 beq.n 80982de 80982d2: 4ba2 ldr r3, [pc, #648] ; (809855c ) 80982d4: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80982d8: b2db uxtb r3, r3 80982da: 2bcf cmp r3, #207 ; 0xcf 80982dc: d10c bne.n 80982f8 DrawImage(BM_PEAK[pardata.LANG], 46, 65+18); 80982de: 4ba0 ldr r3, [pc, #640] ; (8098560 ) 80982e0: 7b1b ldrb r3, [r3, #12] 80982e2: b2db uxtb r3, r3 80982e4: 461a mov r2, r3 80982e6: 4b9f ldr r3, [pc, #636] ; (8098564 ) 80982e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80982ec: 2253 movs r2, #83 ; 0x53 80982ee: 212e movs r1, #46 ; 0x2e 80982f0: 4618 mov r0, r3 80982f2: f7bc f96b bl 80545cc 80982f6: e062 b.n 80983be else if((ReadFileData.Aivs == 'S') || (ReadFileData.Aivs == 'Ñ')) 80982f8: 4b98 ldr r3, [pc, #608] ; (809855c ) 80982fa: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80982fe: b2db uxtb r3, r3 8098300: 2b53 cmp r3, #83 ; 0x53 8098302: d005 beq.n 8098310 8098304: 4b95 ldr r3, [pc, #596] ; (809855c ) 8098306: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809830a: b2db uxtb r3, r3 809830c: 2bd1 cmp r3, #209 ; 0xd1 809830e: d10c bne.n 809832a DrawImage(BM_RMS[pardata.LANG], 46, 65+18); 8098310: 4b93 ldr r3, [pc, #588] ; (8098560 ) 8098312: 7b1b ldrb r3, [r3, #12] 8098314: b2db uxtb r3, r3 8098316: 461a mov r2, r3 8098318: 4b93 ldr r3, [pc, #588] ; (8098568 ) 809831a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809831e: 2253 movs r2, #83 ; 0x53 8098320: 212e movs r1, #46 ; 0x2e 8098322: 4618 mov r0, r3 8098324: f7bc f952 bl 80545cc 8098328: e049 b.n 80983be else if((ReadFileData.Aivs == 'R') || (ReadFileData.Aivs == 'Ð')) 809832a: 4b8c ldr r3, [pc, #560] ; (809855c ) 809832c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8098330: b2db uxtb r3, r3 8098332: 2b52 cmp r3, #82 ; 0x52 8098334: d005 beq.n 8098342 8098336: 4b89 ldr r3, [pc, #548] ; (809855c ) 8098338: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809833c: b2db uxtb r3, r3 809833e: 2bd0 cmp r3, #208 ; 0xd0 8098340: d10c bne.n 809835c DrawImage(BM_RAZMAH[pardata.LANG], 46, 65+18); 8098342: 4b87 ldr r3, [pc, #540] ; (8098560 ) 8098344: 7b1b ldrb r3, [r3, #12] 8098346: b2db uxtb r3, r3 8098348: 461a mov r2, r3 809834a: 4b88 ldr r3, [pc, #544] ; (809856c ) 809834c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098350: 2253 movs r2, #83 ; 0x53 8098352: 212e movs r1, #46 ; 0x2e 8098354: 4618 mov r0, r3 8098356: f7bc f939 bl 80545cc 809835a: e030 b.n 80983be else if((ReadFileData.Aivs == 'F') || (ReadFileData.Aivs == 'Ô')) 809835c: 4b7f ldr r3, [pc, #508] ; (809855c ) 809835e: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8098362: b2db uxtb r3, r3 8098364: 2b46 cmp r3, #70 ; 0x46 8098366: d005 beq.n 8098374 8098368: 4b7c ldr r3, [pc, #496] ; (809855c ) 809836a: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809836e: b2db uxtb r3, r3 8098370: 2bd4 cmp r3, #212 ; 0xd4 8098372: d10c bne.n 809838e DrawImage(BM_FACTOR[pardata.LANG], 46, 65+18); 8098374: 4b7a ldr r3, [pc, #488] ; (8098560 ) 8098376: 7b1b ldrb r3, [r3, #12] 8098378: b2db uxtb r3, r3 809837a: 461a mov r2, r3 809837c: 4b7c ldr r3, [pc, #496] ; (8098570 ) 809837e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098382: 2253 movs r2, #83 ; 0x53 8098384: 212e movs r1, #46 ; 0x2e 8098386: 4618 mov r0, r3 8098388: f7bc f920 bl 80545cc 809838c: e017 b.n 80983be else if((ReadFileData.Aivs == 'E') || (ReadFileData.Aivs == 'Ý')) 809838e: 4b73 ldr r3, [pc, #460] ; (809855c ) 8098390: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8098394: b2db uxtb r3, r3 8098396: 2b45 cmp r3, #69 ; 0x45 8098398: d005 beq.n 80983a6 809839a: 4b70 ldr r3, [pc, #448] ; (809855c ) 809839c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80983a0: b2db uxtb r3, r3 80983a2: 2bdd cmp r3, #221 ; 0xdd 80983a4: d10b bne.n 80983be DrawImage(BM_EXCESS[pardata.LANG], 46, 65+18); 80983a6: 4b6e ldr r3, [pc, #440] ; (8098560 ) 80983a8: 7b1b ldrb r3, [r3, #12] 80983aa: b2db uxtb r3, r3 80983ac: 461a mov r2, r3 80983ae: 4b71 ldr r3, [pc, #452] ; (8098574 ) 80983b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80983b4: 2253 movs r2, #83 ; 0x53 80983b6: 212e movs r1, #46 ; 0x2e 80983b8: 4618 mov r0, r3 80983ba: f7bc f907 bl 80545cc if((ReadFileData.Vivs == 'P') || (ReadFileData.Vivs == 'Ï')) 80983be: 4b67 ldr r3, [pc, #412] ; (809855c ) 80983c0: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80983c4: b2db uxtb r3, r3 80983c6: 2b50 cmp r3, #80 ; 0x50 80983c8: d005 beq.n 80983d6 80983ca: 4b64 ldr r3, [pc, #400] ; (809855c ) 80983cc: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80983d0: b2db uxtb r3, r3 80983d2: 2bcf cmp r3, #207 ; 0xcf 80983d4: d10c bne.n 80983f0 DrawImage(BM_PEAK[pardata.LANG], 46, 119+8); 80983d6: 4b62 ldr r3, [pc, #392] ; (8098560 ) 80983d8: 7b1b ldrb r3, [r3, #12] 80983da: b2db uxtb r3, r3 80983dc: 461a mov r2, r3 80983de: 4b61 ldr r3, [pc, #388] ; (8098564 ) 80983e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80983e4: 227f movs r2, #127 ; 0x7f 80983e6: 212e movs r1, #46 ; 0x2e 80983e8: 4618 mov r0, r3 80983ea: f7bc f8ef bl 80545cc 80983ee: e062 b.n 80984b6 else if((ReadFileData.Vivs == 'S') || (ReadFileData.Vivs == 'Ñ')) 80983f0: 4b5a ldr r3, [pc, #360] ; (809855c ) 80983f2: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80983f6: b2db uxtb r3, r3 80983f8: 2b53 cmp r3, #83 ; 0x53 80983fa: d005 beq.n 8098408 80983fc: 4b57 ldr r3, [pc, #348] ; (809855c ) 80983fe: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098402: b2db uxtb r3, r3 8098404: 2bd1 cmp r3, #209 ; 0xd1 8098406: d10c bne.n 8098422 DrawImage(BM_RMS[pardata.LANG], 46, 119+8); 8098408: 4b55 ldr r3, [pc, #340] ; (8098560 ) 809840a: 7b1b ldrb r3, [r3, #12] 809840c: b2db uxtb r3, r3 809840e: 461a mov r2, r3 8098410: 4b55 ldr r3, [pc, #340] ; (8098568 ) 8098412: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098416: 227f movs r2, #127 ; 0x7f 8098418: 212e movs r1, #46 ; 0x2e 809841a: 4618 mov r0, r3 809841c: f7bc f8d6 bl 80545cc 8098420: e049 b.n 80984b6 else if((ReadFileData.Vivs == 'R') || (ReadFileData.Vivs == 'Ð')) 8098422: 4b4e ldr r3, [pc, #312] ; (809855c ) 8098424: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098428: b2db uxtb r3, r3 809842a: 2b52 cmp r3, #82 ; 0x52 809842c: d005 beq.n 809843a 809842e: 4b4b ldr r3, [pc, #300] ; (809855c ) 8098430: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098434: b2db uxtb r3, r3 8098436: 2bd0 cmp r3, #208 ; 0xd0 8098438: d10c bne.n 8098454 DrawImage(BM_RAZMAH[pardata.LANG], 46, 119+8); 809843a: 4b49 ldr r3, [pc, #292] ; (8098560 ) 809843c: 7b1b ldrb r3, [r3, #12] 809843e: b2db uxtb r3, r3 8098440: 461a mov r2, r3 8098442: 4b4a ldr r3, [pc, #296] ; (809856c ) 8098444: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098448: 227f movs r2, #127 ; 0x7f 809844a: 212e movs r1, #46 ; 0x2e 809844c: 4618 mov r0, r3 809844e: f7bc f8bd bl 80545cc 8098452: e030 b.n 80984b6 else if((ReadFileData.Vivs == 'F') || (ReadFileData.Vivs == 'Ô')) 8098454: 4b41 ldr r3, [pc, #260] ; (809855c ) 8098456: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809845a: b2db uxtb r3, r3 809845c: 2b46 cmp r3, #70 ; 0x46 809845e: d005 beq.n 809846c 8098460: 4b3e ldr r3, [pc, #248] ; (809855c ) 8098462: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098466: b2db uxtb r3, r3 8098468: 2bd4 cmp r3, #212 ; 0xd4 809846a: d10c bne.n 8098486 DrawImage(BM_FACTOR[pardata.LANG], 46, 119+8); 809846c: 4b3c ldr r3, [pc, #240] ; (8098560 ) 809846e: 7b1b ldrb r3, [r3, #12] 8098470: b2db uxtb r3, r3 8098472: 461a mov r2, r3 8098474: 4b3e ldr r3, [pc, #248] ; (8098570 ) 8098476: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809847a: 227f movs r2, #127 ; 0x7f 809847c: 212e movs r1, #46 ; 0x2e 809847e: 4618 mov r0, r3 8098480: f7bc f8a4 bl 80545cc 8098484: e017 b.n 80984b6 else if((ReadFileData.Vivs == 'E') || (ReadFileData.Vivs == 'Ý')) 8098486: 4b35 ldr r3, [pc, #212] ; (809855c ) 8098488: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809848c: b2db uxtb r3, r3 809848e: 2b45 cmp r3, #69 ; 0x45 8098490: d005 beq.n 809849e 8098492: 4b32 ldr r3, [pc, #200] ; (809855c ) 8098494: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098498: b2db uxtb r3, r3 809849a: 2bdd cmp r3, #221 ; 0xdd 809849c: d10b bne.n 80984b6 DrawImage(BM_EXCESS[pardata.LANG], 46, 119+8); 809849e: 4b30 ldr r3, [pc, #192] ; (8098560 ) 80984a0: 7b1b ldrb r3, [r3, #12] 80984a2: b2db uxtb r3, r3 80984a4: 461a mov r2, r3 80984a6: 4b33 ldr r3, [pc, #204] ; (8098574 ) 80984a8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80984ac: 227f movs r2, #127 ; 0x7f 80984ae: 212e movs r1, #46 ; 0x2e 80984b0: 4618 mov r0, r3 80984b2: f7bc f88b bl 80545cc if((ReadFileData.Sivs == 'P') || (ReadFileData.Sivs == 'Ï')) 80984b6: 4b29 ldr r3, [pc, #164] ; (809855c ) 80984b8: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80984bc: b2db uxtb r3, r3 80984be: 2b50 cmp r3, #80 ; 0x50 80984c0: d005 beq.n 80984ce 80984c2: 4b26 ldr r3, [pc, #152] ; (809855c ) 80984c4: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80984c8: b2db uxtb r3, r3 80984ca: 2bcf cmp r3, #207 ; 0xcf 80984cc: d10c bne.n 80984e8 DrawImage(BM_PEAK[pardata.LANG], 46, 169); 80984ce: 4b24 ldr r3, [pc, #144] ; (8098560 ) 80984d0: 7b1b ldrb r3, [r3, #12] 80984d2: b2db uxtb r3, r3 80984d4: 461a mov r2, r3 80984d6: 4b23 ldr r3, [pc, #140] ; (8098564 ) 80984d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80984dc: 22a9 movs r2, #169 ; 0xa9 80984de: 212e movs r1, #46 ; 0x2e 80984e0: 4618 mov r0, r3 80984e2: f7bc f873 bl 80545cc 80984e6: e07a b.n 80985de else if((ReadFileData.Sivs == 'S') || (ReadFileData.Sivs == 'Ñ')) 80984e8: 4b1c ldr r3, [pc, #112] ; (809855c ) 80984ea: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80984ee: b2db uxtb r3, r3 80984f0: 2b53 cmp r3, #83 ; 0x53 80984f2: d005 beq.n 8098500 80984f4: 4b19 ldr r3, [pc, #100] ; (809855c ) 80984f6: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80984fa: b2db uxtb r3, r3 80984fc: 2bd1 cmp r3, #209 ; 0xd1 80984fe: d10c bne.n 809851a DrawImage(BM_RMS[pardata.LANG], 46, 169); 8098500: 4b17 ldr r3, [pc, #92] ; (8098560 ) 8098502: 7b1b ldrb r3, [r3, #12] 8098504: b2db uxtb r3, r3 8098506: 461a mov r2, r3 8098508: 4b17 ldr r3, [pc, #92] ; (8098568 ) 809850a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809850e: 22a9 movs r2, #169 ; 0xa9 8098510: 212e movs r1, #46 ; 0x2e 8098512: 4618 mov r0, r3 8098514: f7bc f85a bl 80545cc 8098518: e061 b.n 80985de else if((ReadFileData.Sivs == 'R') || (ReadFileData.Sivs == 'Ð')) 809851a: 4b10 ldr r3, [pc, #64] ; (809855c ) 809851c: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8098520: b2db uxtb r3, r3 8098522: 2b52 cmp r3, #82 ; 0x52 8098524: d005 beq.n 8098532 8098526: 4b0d ldr r3, [pc, #52] ; (809855c ) 8098528: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809852c: b2db uxtb r3, r3 809852e: 2bd0 cmp r3, #208 ; 0xd0 8098530: d122 bne.n 8098578 DrawImage(BM_RAZMAH[pardata.LANG], 46, 169); 8098532: 4b0b ldr r3, [pc, #44] ; (8098560 ) 8098534: 7b1b ldrb r3, [r3, #12] 8098536: b2db uxtb r3, r3 8098538: 461a mov r2, r3 809853a: 4b0c ldr r3, [pc, #48] ; (809856c ) 809853c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098540: 22a9 movs r2, #169 ; 0xa9 8098542: 212e movs r1, #46 ; 0x2e 8098544: 4618 mov r0, r3 8098546: f7bc f841 bl 80545cc 809854a: e048 b.n 80985de 809854c: 20020dca .word 0x20020dca 8098550: 20021f9c .word 0x20021f9c 8098554: 20022ea0 .word 0x20022ea0 8098558: 20022310 .word 0x20022310 809855c: 200226a0 .word 0x200226a0 8098560: 20023e60 .word 0x20023e60 8098564: 200200cc .word 0x200200cc 8098568: 200200d4 .word 0x200200d4 809856c: 200200dc .word 0x200200dc 8098570: 200200e4 .word 0x200200e4 8098574: 200200ec .word 0x200200ec else if((ReadFileData.Sivs == 'F') || (ReadFileData.Sivs == 'Ô')) 8098578: 4ba1 ldr r3, [pc, #644] ; (8098800 ) 809857a: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809857e: b2db uxtb r3, r3 8098580: 2b46 cmp r3, #70 ; 0x46 8098582: d005 beq.n 8098590 8098584: 4b9e ldr r3, [pc, #632] ; (8098800 ) 8098586: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809858a: b2db uxtb r3, r3 809858c: 2bd4 cmp r3, #212 ; 0xd4 809858e: d10c bne.n 80985aa DrawImage(BM_FACTOR[pardata.LANG], 46, 169); 8098590: 4b9c ldr r3, [pc, #624] ; (8098804 ) 8098592: 7b1b ldrb r3, [r3, #12] 8098594: b2db uxtb r3, r3 8098596: 461a mov r2, r3 8098598: 4b9b ldr r3, [pc, #620] ; (8098808 ) 809859a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809859e: 22a9 movs r2, #169 ; 0xa9 80985a0: 212e movs r1, #46 ; 0x2e 80985a2: 4618 mov r0, r3 80985a4: f7bc f812 bl 80545cc 80985a8: e019 b.n 80985de else if((ReadFileData.Sivs == 'E') || (ReadFileData.Sivs == 'Ý')) 80985aa: 4b95 ldr r3, [pc, #596] ; (8098800 ) 80985ac: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80985b0: b2db uxtb r3, r3 80985b2: 2b45 cmp r3, #69 ; 0x45 80985b4: d006 beq.n 80985c4 80985b6: 4b92 ldr r3, [pc, #584] ; (8098800 ) 80985b8: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80985bc: b2db uxtb r3, r3 80985be: 2bdd cmp r3, #221 ; 0xdd 80985c0: f040 811a bne.w 80987f8 DrawImage(BM_EXCESS[pardata.LANG], 46, 169); 80985c4: 4b8f ldr r3, [pc, #572] ; (8098804 ) 80985c6: 7b1b ldrb r3, [r3, #12] 80985c8: b2db uxtb r3, r3 80985ca: 461a mov r2, r3 80985cc: 4b8f ldr r3, [pc, #572] ; (809880c ) 80985ce: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80985d2: 22a9 movs r2, #169 ; 0xa9 80985d4: 212e movs r1, #46 ; 0x2e 80985d6: 4618 mov r0, r3 80985d8: f7bb fff8 bl 80545cc if((ReadFileData.Sivs == 'P') || (ReadFileData.Sivs == 'Ï')) 80985dc: e10c b.n 80987f8 80985de: e10b b.n 80987f8 } else { if(pardata.IVS[ACC] == PEAK) DrawImage(BM_PEAK[pardata.LANG], 46, 65+18); 80985e0: 4b88 ldr r3, [pc, #544] ; (8098804 ) 80985e2: 789b ldrb r3, [r3, #2] 80985e4: b2db uxtb r3, r3 80985e6: 2b00 cmp r3, #0 80985e8: d10c bne.n 8098604 80985ea: 4b86 ldr r3, [pc, #536] ; (8098804 ) 80985ec: 7b1b ldrb r3, [r3, #12] 80985ee: b2db uxtb r3, r3 80985f0: 461a mov r2, r3 80985f2: 4b87 ldr r3, [pc, #540] ; (8098810 ) 80985f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80985f8: 2253 movs r2, #83 ; 0x53 80985fa: 212e movs r1, #46 ; 0x2e 80985fc: 4618 mov r0, r3 80985fe: f7bb ffe5 bl 80545cc 8098602: e046 b.n 8098692 else if(pardata.IVS[ACC] == RMS) DrawImage(BM_RMS[pardata.LANG], 46, 65+18); 8098604: 4b7f ldr r3, [pc, #508] ; (8098804 ) 8098606: 789b ldrb r3, [r3, #2] 8098608: b2db uxtb r3, r3 809860a: 2b01 cmp r3, #1 809860c: d10c bne.n 8098628 809860e: 4b7d ldr r3, [pc, #500] ; (8098804 ) 8098610: 7b1b ldrb r3, [r3, #12] 8098612: b2db uxtb r3, r3 8098614: 461a mov r2, r3 8098616: 4b7f ldr r3, [pc, #508] ; (8098814 ) 8098618: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809861c: 2253 movs r2, #83 ; 0x53 809861e: 212e movs r1, #46 ; 0x2e 8098620: 4618 mov r0, r3 8098622: f7bb ffd3 bl 80545cc 8098626: e034 b.n 8098692 else if(pardata.IVS[ACC] == PEAK_TO_PEAK) DrawImage(BM_RAZMAH[pardata.LANG], 46, 65+18); 8098628: 4b76 ldr r3, [pc, #472] ; (8098804 ) 809862a: 789b ldrb r3, [r3, #2] 809862c: b2db uxtb r3, r3 809862e: 2b02 cmp r3, #2 8098630: d10c bne.n 809864c 8098632: 4b74 ldr r3, [pc, #464] ; (8098804 ) 8098634: 7b1b ldrb r3, [r3, #12] 8098636: b2db uxtb r3, r3 8098638: 461a mov r2, r3 809863a: 4b77 ldr r3, [pc, #476] ; (8098818 ) 809863c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098640: 2253 movs r2, #83 ; 0x53 8098642: 212e movs r1, #46 ; 0x2e 8098644: 4618 mov r0, r3 8098646: f7bb ffc1 bl 80545cc 809864a: e022 b.n 8098692 else if(pardata.IVS[ACC] == PEAK_FACTOR) DrawImage(BM_FACTOR[pardata.LANG], 46, 65+18); 809864c: 4b6d ldr r3, [pc, #436] ; (8098804 ) 809864e: 789b ldrb r3, [r3, #2] 8098650: b2db uxtb r3, r3 8098652: 2b03 cmp r3, #3 8098654: d10c bne.n 8098670 8098656: 4b6b ldr r3, [pc, #428] ; (8098804 ) 8098658: 7b1b ldrb r3, [r3, #12] 809865a: b2db uxtb r3, r3 809865c: 461a mov r2, r3 809865e: 4b6a ldr r3, [pc, #424] ; (8098808 ) 8098660: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098664: 2253 movs r2, #83 ; 0x53 8098666: 212e movs r1, #46 ; 0x2e 8098668: 4618 mov r0, r3 809866a: f7bb ffaf bl 80545cc 809866e: e010 b.n 8098692 else if(pardata.IVS[ACC] == EXCESS ) DrawImage(BM_EXCESS[pardata.LANG], 46, 65+18); 8098670: 4b64 ldr r3, [pc, #400] ; (8098804 ) 8098672: 789b ldrb r3, [r3, #2] 8098674: b2db uxtb r3, r3 8098676: 2b04 cmp r3, #4 8098678: d10b bne.n 8098692 809867a: 4b62 ldr r3, [pc, #392] ; (8098804 ) 809867c: 7b1b ldrb r3, [r3, #12] 809867e: b2db uxtb r3, r3 8098680: 461a mov r2, r3 8098682: 4b62 ldr r3, [pc, #392] ; (809880c ) 8098684: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098688: 2253 movs r2, #83 ; 0x53 809868a: 212e movs r1, #46 ; 0x2e 809868c: 4618 mov r0, r3 809868e: f7bb ff9d bl 80545cc if(pardata.IVS[VEL] == PEAK) DrawImage(BM_PEAK[pardata.LANG], 46, 119+8); 8098692: 4b5c ldr r3, [pc, #368] ; (8098804 ) 8098694: 78db ldrb r3, [r3, #3] 8098696: b2db uxtb r3, r3 8098698: 2b00 cmp r3, #0 809869a: d10c bne.n 80986b6 809869c: 4b59 ldr r3, [pc, #356] ; (8098804 ) 809869e: 7b1b ldrb r3, [r3, #12] 80986a0: b2db uxtb r3, r3 80986a2: 461a mov r2, r3 80986a4: 4b5a ldr r3, [pc, #360] ; (8098810 ) 80986a6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80986aa: 227f movs r2, #127 ; 0x7f 80986ac: 212e movs r1, #46 ; 0x2e 80986ae: 4618 mov r0, r3 80986b0: f7bb ff8c bl 80545cc 80986b4: e046 b.n 8098744 else if(pardata.IVS[VEL] == RMS) DrawImage(BM_RMS[pardata.LANG], 46, 119+8); 80986b6: 4b53 ldr r3, [pc, #332] ; (8098804 ) 80986b8: 78db ldrb r3, [r3, #3] 80986ba: b2db uxtb r3, r3 80986bc: 2b01 cmp r3, #1 80986be: d10c bne.n 80986da 80986c0: 4b50 ldr r3, [pc, #320] ; (8098804 ) 80986c2: 7b1b ldrb r3, [r3, #12] 80986c4: b2db uxtb r3, r3 80986c6: 461a mov r2, r3 80986c8: 4b52 ldr r3, [pc, #328] ; (8098814 ) 80986ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80986ce: 227f movs r2, #127 ; 0x7f 80986d0: 212e movs r1, #46 ; 0x2e 80986d2: 4618 mov r0, r3 80986d4: f7bb ff7a bl 80545cc 80986d8: e034 b.n 8098744 else if(pardata.IVS[VEL] == PEAK_TO_PEAK) DrawImage(BM_RAZMAH[pardata.LANG], 46, 119+8); 80986da: 4b4a ldr r3, [pc, #296] ; (8098804 ) 80986dc: 78db ldrb r3, [r3, #3] 80986de: b2db uxtb r3, r3 80986e0: 2b02 cmp r3, #2 80986e2: d10c bne.n 80986fe 80986e4: 4b47 ldr r3, [pc, #284] ; (8098804 ) 80986e6: 7b1b ldrb r3, [r3, #12] 80986e8: b2db uxtb r3, r3 80986ea: 461a mov r2, r3 80986ec: 4b4a ldr r3, [pc, #296] ; (8098818 ) 80986ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80986f2: 227f movs r2, #127 ; 0x7f 80986f4: 212e movs r1, #46 ; 0x2e 80986f6: 4618 mov r0, r3 80986f8: f7bb ff68 bl 80545cc 80986fc: e022 b.n 8098744 else if(pardata.IVS[VEL] == PEAK_FACTOR) DrawImage(BM_FACTOR[pardata.LANG], 46, 119+8); 80986fe: 4b41 ldr r3, [pc, #260] ; (8098804 ) 8098700: 78db ldrb r3, [r3, #3] 8098702: b2db uxtb r3, r3 8098704: 2b03 cmp r3, #3 8098706: d10c bne.n 8098722 8098708: 4b3e ldr r3, [pc, #248] ; (8098804 ) 809870a: 7b1b ldrb r3, [r3, #12] 809870c: b2db uxtb r3, r3 809870e: 461a mov r2, r3 8098710: 4b3d ldr r3, [pc, #244] ; (8098808 ) 8098712: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098716: 227f movs r2, #127 ; 0x7f 8098718: 212e movs r1, #46 ; 0x2e 809871a: 4618 mov r0, r3 809871c: f7bb ff56 bl 80545cc 8098720: e010 b.n 8098744 else if(pardata.IVS[VEL] == EXCESS) DrawImage(BM_EXCESS[pardata.LANG], 46, 119+8); 8098722: 4b38 ldr r3, [pc, #224] ; (8098804 ) 8098724: 78db ldrb r3, [r3, #3] 8098726: b2db uxtb r3, r3 8098728: 2b04 cmp r3, #4 809872a: d10b bne.n 8098744 809872c: 4b35 ldr r3, [pc, #212] ; (8098804 ) 809872e: 7b1b ldrb r3, [r3, #12] 8098730: b2db uxtb r3, r3 8098732: 461a mov r2, r3 8098734: 4b35 ldr r3, [pc, #212] ; (809880c ) 8098736: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809873a: 227f movs r2, #127 ; 0x7f 809873c: 212e movs r1, #46 ; 0x2e 809873e: 4618 mov r0, r3 8098740: f7bb ff44 bl 80545cc if(pardata.IVS[DIS] == PEAK) DrawImage(BM_PEAK[pardata.LANG], 46, 169); 8098744: 4b2f ldr r3, [pc, #188] ; (8098804 ) 8098746: 791b ldrb r3, [r3, #4] 8098748: b2db uxtb r3, r3 809874a: 2b00 cmp r3, #0 809874c: d10c bne.n 8098768 809874e: 4b2d ldr r3, [pc, #180] ; (8098804 ) 8098750: 7b1b ldrb r3, [r3, #12] 8098752: b2db uxtb r3, r3 8098754: 461a mov r2, r3 8098756: 4b2e ldr r3, [pc, #184] ; (8098810 ) 8098758: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809875c: 22a9 movs r2, #169 ; 0xa9 809875e: 212e movs r1, #46 ; 0x2e 8098760: 4618 mov r0, r3 8098762: f7bb ff33 bl 80545cc else if(pardata.IVS[DIS] == RMS) DrawImage(BM_RMS[pardata.LANG], 46, 169); else if(pardata.IVS[DIS] == PEAK_TO_PEAK) DrawImage(BM_RAZMAH[pardata.LANG], 46, 169); else if(pardata.IVS[DIS] == PEAK_FACTOR) DrawImage(BM_FACTOR[pardata.LANG], 46, 169); else if(pardata.IVS[DIS] == EXCESS) DrawImage(BM_EXCESS[pardata.LANG], 46, 169); } } 8098766: e048 b.n 80987fa else if(pardata.IVS[DIS] == RMS) DrawImage(BM_RMS[pardata.LANG], 46, 169); 8098768: 4b26 ldr r3, [pc, #152] ; (8098804 ) 809876a: 791b ldrb r3, [r3, #4] 809876c: b2db uxtb r3, r3 809876e: 2b01 cmp r3, #1 8098770: d10c bne.n 809878c 8098772: 4b24 ldr r3, [pc, #144] ; (8098804 ) 8098774: 7b1b ldrb r3, [r3, #12] 8098776: b2db uxtb r3, r3 8098778: 461a mov r2, r3 809877a: 4b26 ldr r3, [pc, #152] ; (8098814 ) 809877c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 8098780: 22a9 movs r2, #169 ; 0xa9 8098782: 212e movs r1, #46 ; 0x2e 8098784: 4618 mov r0, r3 8098786: f7bb ff21 bl 80545cc } 809878a: e036 b.n 80987fa else if(pardata.IVS[DIS] == PEAK_TO_PEAK) DrawImage(BM_RAZMAH[pardata.LANG], 46, 169); 809878c: 4b1d ldr r3, [pc, #116] ; (8098804 ) 809878e: 791b ldrb r3, [r3, #4] 8098790: b2db uxtb r3, r3 8098792: 2b02 cmp r3, #2 8098794: d10c bne.n 80987b0 8098796: 4b1b ldr r3, [pc, #108] ; (8098804 ) 8098798: 7b1b ldrb r3, [r3, #12] 809879a: b2db uxtb r3, r3 809879c: 461a mov r2, r3 809879e: 4b1e ldr r3, [pc, #120] ; (8098818 ) 80987a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80987a4: 22a9 movs r2, #169 ; 0xa9 80987a6: 212e movs r1, #46 ; 0x2e 80987a8: 4618 mov r0, r3 80987aa: f7bb ff0f bl 80545cc } 80987ae: e024 b.n 80987fa else if(pardata.IVS[DIS] == PEAK_FACTOR) DrawImage(BM_FACTOR[pardata.LANG], 46, 169); 80987b0: 4b14 ldr r3, [pc, #80] ; (8098804 ) 80987b2: 791b ldrb r3, [r3, #4] 80987b4: b2db uxtb r3, r3 80987b6: 2b03 cmp r3, #3 80987b8: d10c bne.n 80987d4 80987ba: 4b12 ldr r3, [pc, #72] ; (8098804 ) 80987bc: 7b1b ldrb r3, [r3, #12] 80987be: b2db uxtb r3, r3 80987c0: 461a mov r2, r3 80987c2: 4b11 ldr r3, [pc, #68] ; (8098808 ) 80987c4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80987c8: 22a9 movs r2, #169 ; 0xa9 80987ca: 212e movs r1, #46 ; 0x2e 80987cc: 4618 mov r0, r3 80987ce: f7bb fefd bl 80545cc } 80987d2: e012 b.n 80987fa else if(pardata.IVS[DIS] == EXCESS) DrawImage(BM_EXCESS[pardata.LANG], 46, 169); 80987d4: 4b0b ldr r3, [pc, #44] ; (8098804 ) 80987d6: 791b ldrb r3, [r3, #4] 80987d8: b2db uxtb r3, r3 80987da: 2b04 cmp r3, #4 80987dc: d10d bne.n 80987fa 80987de: 4b09 ldr r3, [pc, #36] ; (8098804 ) 80987e0: 7b1b ldrb r3, [r3, #12] 80987e2: b2db uxtb r3, r3 80987e4: 461a mov r2, r3 80987e6: 4b09 ldr r3, [pc, #36] ; (809880c ) 80987e8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80987ec: 22a9 movs r2, #169 ; 0xa9 80987ee: 212e movs r1, #46 ; 0x2e 80987f0: 4618 mov r0, r3 80987f2: f7bb feeb bl 80545cc } 80987f6: e000 b.n 80987fa if((ReadFileData.Sivs == 'P') || (ReadFileData.Sivs == 'Ï')) 80987f8: bf00 nop } 80987fa: bf00 nop 80987fc: bd80 pop {r7, pc} 80987fe: bf00 nop 8098800: 200226a0 .word 0x200226a0 8098804: 20023e60 .word 0x20023e60 8098808: 200200e4 .word 0x200200e4 809880c: 200200ec .word 0x200200ec 8098810: 200200cc .word 0x200200cc 8098814: 200200d4 .word 0x200200d4 8098818: 200200dc .word 0x200200dc 0809881c : void RedrawNums(void) //TODO { 809881c: b580 push {r7, lr} 809881e: b09a sub sp, #104 ; 0x68 8098820: af00 add r7, sp, #0 char *p8; TimeDate_TypeDef FatTime; uint8_t ivs[3]; bool log; log = SeeLog; 8098822: 4bbd ldr r3, [pc, #756] ; (8098b18 ) 8098824: 781b ldrb r3, [r3, #0] 8098826: f887 3067 strb.w r3, [r7, #103] ; 0x67 switch(menu) 809882a: 4bbc ldr r3, [pc, #752] ; (8098b1c ) 809882c: 781b ldrb r3, [r3, #0] 809882e: b2db uxtb r3, r3 8098830: 2b1f cmp r3, #31 8098832: f006 8706 beq.w 809f642 8098836: 2b26 cmp r3, #38 ; 0x26 8098838: d004 beq.n 8098844 809883a: 2b00 cmp r3, #0 809883c: f002 857c beq.w 809b338 } } } break; } } 8098840: f00b b93b b.w 80a3aba if(DrawSavedData) //todo 8098844: 4bb6 ldr r3, [pc, #728] ; (8098b20 ) 8098846: 781b ldrb r3, [r3, #0] 8098848: b2db uxtb r3, r3 809884a: 2b00 cmp r3, #0 809884c: f001 8223 beq.w 8099c96 DrawImage(&bmSAVED, 298, 39); 8098850: 2227 movs r2, #39 ; 0x27 8098852: f44f 7195 mov.w r1, #298 ; 0x12a 8098856: 48b3 ldr r0, [pc, #716] ; (8098b24 ) 8098858: f7bb feb8 bl 80545cc memset(str, 0, sizeof(str)); 809885c: f107 030c add.w r3, r7, #12 8098860: 2228 movs r2, #40 ; 0x28 8098862: 2100 movs r1, #0 8098864: 4618 mov r0, r3 8098866: f034 fc0b bl 80cd080 BSP_LCD_SetFont(&Font8); 809886a: 48af ldr r0, [pc, #700] ; (8098b28 ) 809886c: f7ba fff6 bl 805385c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 8098870: 49ae ldr r1, [pc, #696] ; (8098b2c ) 8098872: 48af ldr r0, [pc, #700] ; (8098b30 ) 8098874: f7ba ffb6 bl 80537e4 str[0] = (DateFileData.Date / 10) + 48; 8098878: 4bae ldr r3, [pc, #696] ; (8098b34 ) 809887a: 789b ldrb r3, [r3, #2] 809887c: b2db uxtb r3, r3 809887e: 4aae ldr r2, [pc, #696] ; (8098b38 ) 8098880: fba2 2303 umull r2, r3, r2, r3 8098884: 08db lsrs r3, r3, #3 8098886: b2db uxtb r3, r3 8098888: 3330 adds r3, #48 ; 0x30 809888a: b2db uxtb r3, r3 809888c: 733b strb r3, [r7, #12] str[1] = (DateFileData.Date % 10) + 48; 809888e: 4ba9 ldr r3, [pc, #676] ; (8098b34 ) 8098890: 789b ldrb r3, [r3, #2] 8098892: b2da uxtb r2, r3 8098894: 4ba8 ldr r3, [pc, #672] ; (8098b38 ) 8098896: fba3 1302 umull r1, r3, r3, r2 809889a: 08d9 lsrs r1, r3, #3 809889c: 460b mov r3, r1 809889e: 009b lsls r3, r3, #2 80988a0: 440b add r3, r1 80988a2: 005b lsls r3, r3, #1 80988a4: 1ad3 subs r3, r2, r3 80988a6: b2db uxtb r3, r3 80988a8: 3330 adds r3, #48 ; 0x30 80988aa: b2db uxtb r3, r3 80988ac: 737b strb r3, [r7, #13] str[2] = '.'; 80988ae: 232e movs r3, #46 ; 0x2e 80988b0: 73bb strb r3, [r7, #14] str[3] = (DateFileData.Month / 10) + 48; 80988b2: 4ba0 ldr r3, [pc, #640] ; (8098b34 ) 80988b4: 785b ldrb r3, [r3, #1] 80988b6: b2db uxtb r3, r3 80988b8: 4a9f ldr r2, [pc, #636] ; (8098b38 ) 80988ba: fba2 2303 umull r2, r3, r2, r3 80988be: 08db lsrs r3, r3, #3 80988c0: b2db uxtb r3, r3 80988c2: 3330 adds r3, #48 ; 0x30 80988c4: b2db uxtb r3, r3 80988c6: 73fb strb r3, [r7, #15] str[4] = (DateFileData.Month % 10) + 48; 80988c8: 4b9a ldr r3, [pc, #616] ; (8098b34 ) 80988ca: 785b ldrb r3, [r3, #1] 80988cc: b2da uxtb r2, r3 80988ce: 4b9a ldr r3, [pc, #616] ; (8098b38 ) 80988d0: fba3 1302 umull r1, r3, r3, r2 80988d4: 08d9 lsrs r1, r3, #3 80988d6: 460b mov r3, r1 80988d8: 009b lsls r3, r3, #2 80988da: 440b add r3, r1 80988dc: 005b lsls r3, r3, #1 80988de: 1ad3 subs r3, r2, r3 80988e0: b2db uxtb r3, r3 80988e2: 3330 adds r3, #48 ; 0x30 80988e4: b2db uxtb r3, r3 80988e6: 743b strb r3, [r7, #16] str[5] = '.'; 80988e8: 232e movs r3, #46 ; 0x2e 80988ea: 747b strb r3, [r7, #17] str[6] = '2'; 80988ec: 2332 movs r3, #50 ; 0x32 80988ee: 74bb strb r3, [r7, #18] str[7] = '0'; 80988f0: 2330 movs r3, #48 ; 0x30 80988f2: 74fb strb r3, [r7, #19] str[8] = (DateFileData.Year / 10) + 48; 80988f4: 4b8f ldr r3, [pc, #572] ; (8098b34 ) 80988f6: 78db ldrb r3, [r3, #3] 80988f8: b2db uxtb r3, r3 80988fa: 4a8f ldr r2, [pc, #572] ; (8098b38 ) 80988fc: fba2 2303 umull r2, r3, r2, r3 8098900: 08db lsrs r3, r3, #3 8098902: b2db uxtb r3, r3 8098904: 3330 adds r3, #48 ; 0x30 8098906: b2db uxtb r3, r3 8098908: 753b strb r3, [r7, #20] str[9] = (DateFileData.Year % 10) + 48; 809890a: 4b8a ldr r3, [pc, #552] ; (8098b34 ) 809890c: 78db ldrb r3, [r3, #3] 809890e: b2da uxtb r2, r3 8098910: 4b89 ldr r3, [pc, #548] ; (8098b38 ) 8098912: fba3 1302 umull r1, r3, r3, r2 8098916: 08d9 lsrs r1, r3, #3 8098918: 460b mov r3, r1 809891a: 009b lsls r3, r3, #2 809891c: 440b add r3, r1 809891e: 005b lsls r3, r3, #1 8098920: 1ad3 subs r3, r2, r3 8098922: b2db uxtb r3, r3 8098924: 3330 adds r3, #48 ; 0x30 8098926: b2db uxtb r3, r3 8098928: 757b strb r3, [r7, #21] BSP_LCD_DisplayStringAt(295, 42, str, RIGHT_MODE); 809892a: f107 020c add.w r2, r7, #12 809892e: 2302 movs r3, #2 8098930: 212a movs r1, #42 ; 0x2a 8098932: f240 1027 movw r0, #295 ; 0x127 8098936: f7bb f81b bl 8053970 memset(str, 0, sizeof(str)); 809893a: f107 030c add.w r3, r7, #12 809893e: 2228 movs r2, #40 ; 0x28 8098940: 2100 movs r1, #0 8098942: 4618 mov r0, r3 8098944: f034 fb9c bl 80cd080 str[0] = (TimeFileData.Hours / 10) + 48; 8098948: 4b7c ldr r3, [pc, #496] ; (8098b3c ) 809894a: 781b ldrb r3, [r3, #0] 809894c: b2db uxtb r3, r3 809894e: 4a7a ldr r2, [pc, #488] ; (8098b38 ) 8098950: fba2 2303 umull r2, r3, r2, r3 8098954: 08db lsrs r3, r3, #3 8098956: b2db uxtb r3, r3 8098958: 3330 adds r3, #48 ; 0x30 809895a: b2db uxtb r3, r3 809895c: 733b strb r3, [r7, #12] str[1] = (TimeFileData.Hours % 10) + 48; 809895e: 4b77 ldr r3, [pc, #476] ; (8098b3c ) 8098960: 781b ldrb r3, [r3, #0] 8098962: b2da uxtb r2, r3 8098964: 4b74 ldr r3, [pc, #464] ; (8098b38 ) 8098966: fba3 1302 umull r1, r3, r3, r2 809896a: 08d9 lsrs r1, r3, #3 809896c: 460b mov r3, r1 809896e: 009b lsls r3, r3, #2 8098970: 440b add r3, r1 8098972: 005b lsls r3, r3, #1 8098974: 1ad3 subs r3, r2, r3 8098976: b2db uxtb r3, r3 8098978: 3330 adds r3, #48 ; 0x30 809897a: b2db uxtb r3, r3 809897c: 737b strb r3, [r7, #13] str[2] = ':'; 809897e: 233a movs r3, #58 ; 0x3a 8098980: 73bb strb r3, [r7, #14] str[3] = (TimeFileData.Minutes / 10) + 48; 8098982: 4b6e ldr r3, [pc, #440] ; (8098b3c ) 8098984: 785b ldrb r3, [r3, #1] 8098986: b2db uxtb r3, r3 8098988: 4a6b ldr r2, [pc, #428] ; (8098b38 ) 809898a: fba2 2303 umull r2, r3, r2, r3 809898e: 08db lsrs r3, r3, #3 8098990: b2db uxtb r3, r3 8098992: 3330 adds r3, #48 ; 0x30 8098994: b2db uxtb r3, r3 8098996: 73fb strb r3, [r7, #15] str[4] = (TimeFileData.Minutes % 10) + 48; 8098998: 4b68 ldr r3, [pc, #416] ; (8098b3c ) 809899a: 785b ldrb r3, [r3, #1] 809899c: b2da uxtb r2, r3 809899e: 4b66 ldr r3, [pc, #408] ; (8098b38 ) 80989a0: fba3 1302 umull r1, r3, r3, r2 80989a4: 08d9 lsrs r1, r3, #3 80989a6: 460b mov r3, r1 80989a8: 009b lsls r3, r3, #2 80989aa: 440b add r3, r1 80989ac: 005b lsls r3, r3, #1 80989ae: 1ad3 subs r3, r2, r3 80989b0: b2db uxtb r3, r3 80989b2: 3330 adds r3, #48 ; 0x30 80989b4: b2db uxtb r3, r3 80989b6: 743b strb r3, [r7, #16] str[5] = ':'; 80989b8: 233a movs r3, #58 ; 0x3a 80989ba: 747b strb r3, [r7, #17] str[6] = (TimeFileData.Seconds / 10) + 48; 80989bc: 4b5f ldr r3, [pc, #380] ; (8098b3c ) 80989be: 789b ldrb r3, [r3, #2] 80989c0: b2db uxtb r3, r3 80989c2: 4a5d ldr r2, [pc, #372] ; (8098b38 ) 80989c4: fba2 2303 umull r2, r3, r2, r3 80989c8: 08db lsrs r3, r3, #3 80989ca: b2db uxtb r3, r3 80989cc: 3330 adds r3, #48 ; 0x30 80989ce: b2db uxtb r3, r3 80989d0: 74bb strb r3, [r7, #18] str[7] = (TimeFileData.Seconds % 10) + 48; 80989d2: 4b5a ldr r3, [pc, #360] ; (8098b3c ) 80989d4: 789b ldrb r3, [r3, #2] 80989d6: b2da uxtb r2, r3 80989d8: 4b57 ldr r3, [pc, #348] ; (8098b38 ) 80989da: fba3 1302 umull r1, r3, r3, r2 80989de: 08d9 lsrs r1, r3, #3 80989e0: 460b mov r3, r1 80989e2: 009b lsls r3, r3, #2 80989e4: 440b add r3, r1 80989e6: 005b lsls r3, r3, #1 80989e8: 1ad3 subs r3, r2, r3 80989ea: b2db uxtb r3, r3 80989ec: 3330 adds r3, #48 ; 0x30 80989ee: b2db uxtb r3, r3 80989f0: 74fb strb r3, [r7, #19] BSP_LCD_DisplayStringAt(295, 52, str, RIGHT_MODE); 80989f2: f107 020c add.w r2, r7, #12 80989f6: 2302 movs r3, #2 80989f8: 2134 movs r1, #52 ; 0x34 80989fa: f240 1027 movw r0, #295 ; 0x127 80989fe: f7ba ffb7 bl 8053970 BSP_LCD_SetFont(&Font12); 8098a02: 484f ldr r0, [pc, #316] ; (8098b40 ) 8098a04: f7ba ff2a bl 805385c if((DrawSavedData) || (NextIndexMeas < IndexMeas[NextIndexPoint])) 8098a08: 4b45 ldr r3, [pc, #276] ; (8098b20 ) 8098a0a: 781b ldrb r3, [r3, #0] 8098a0c: b2db uxtb r3, r3 8098a0e: 2b00 cmp r3, #0 8098a10: d109 bne.n 8098a26 8098a12: 4b4c ldr r3, [pc, #304] ; (8098b44 ) 8098a14: 681b ldr r3, [r3, #0] 8098a16: 4a4c ldr r2, [pc, #304] ; (8098b48 ) 8098a18: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8098a1c: 4b4b ldr r3, [pc, #300] ; (8098b4c ) 8098a1e: 681b ldr r3, [r3, #0] 8098a20: 429a cmp r2, r3 8098a22: f24b 8045 bls.w 80a3ab0 memset(str, 0, sizeof(str)); 8098a26: f107 030c add.w r3, r7, #12 8098a2a: 2228 movs r2, #40 ; 0x28 8098a2c: 2100 movs r1, #0 8098a2e: 4618 mov r0, r3 8098a30: f034 fb26 bl 80cd080 if(DiagnFileData.d_Op1_ipr) 8098a34: 4b46 ldr r3, [pc, #280] ; (8098b50 ) 8098a36: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8098a3a: b2db uxtb r3, r3 8098a3c: 2b00 cmp r3, #0 8098a3e: f000 8101 beq.w 8098c44 switch(DiagnFileData.d_Op1_ipr) 8098a42: 4b43 ldr r3, [pc, #268] ; (8098b50 ) 8098a44: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8098a48: b2db uxtb r3, r3 8098a4a: 2b02 cmp r3, #2 8098a4c: d049 beq.n 8098ae2 8098a4e: 2b04 cmp r3, #4 8098a50: f000 80b3 beq.w 8098bba 8098a54: 2b01 cmp r3, #1 8098a56: f040 80fb bne.w 8098c50 switch(DiagnFileData.d_Op1_ivs) 8098a5a: 4b3d ldr r3, [pc, #244] ; (8098b50 ) 8098a5c: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8098a60: b2db uxtb r3, r3 8098a62: 2b53 cmp r3, #83 ; 0x53 8098a64: d020 beq.n 8098aa8 8098a66: 2b53 cmp r3, #83 ; 0x53 8098a68: dc0b bgt.n 8098a82 8098a6a: 2b46 cmp r3, #70 ; 0x46 8098a6c: d02a beq.n 8098ac4 8098a6e: 2b46 cmp r3, #70 ; 0x46 8098a70: dc02 bgt.n 8098a78 8098a72: 2b45 cmp r3, #69 ; 0x45 8098a74: d02d beq.n 8098ad2 break; 8098a76: e0eb b.n 8098c50 switch(DiagnFileData.d_Op1_ivs) 8098a78: 2b50 cmp r3, #80 ; 0x50 8098a7a: d00e beq.n 8098a9a 8098a7c: 2b52 cmp r3, #82 ; 0x52 8098a7e: d01a beq.n 8098ab6 break; 8098a80: e0e6 b.n 8098c50 switch(DiagnFileData.d_Op1_ivs) 8098a82: 2bd0 cmp r3, #208 ; 0xd0 8098a84: d017 beq.n 8098ab6 8098a86: 2bd0 cmp r3, #208 ; 0xd0 8098a88: dc02 bgt.n 8098a90 8098a8a: 2bcf cmp r3, #207 ; 0xcf 8098a8c: d005 beq.n 8098a9a break; 8098a8e: e0df b.n 8098c50 switch(DiagnFileData.d_Op1_ivs) 8098a90: 2bd1 cmp r3, #209 ; 0xd1 8098a92: d009 beq.n 8098aa8 8098a94: 2bd4 cmp r3, #212 ; 0xd4 8098a96: d015 beq.n 8098ac4 break; 8098a98: e0da b.n 8098c50 BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê]", LEFT_MODE); 8098a9a: 2303 movs r3, #3 8098a9c: 4a2d ldr r2, [pc, #180] ; (8098b54 ) 8098a9e: 2165 movs r1, #101 ; 0x65 8098aa0: 201e movs r0, #30 8098aa2: f7ba ff65 bl 8053970 break; 8098aa6: e01b b.n 8098ae0 BSP_LCD_DisplayStringAt( 30, 101, "A[ñêç]", LEFT_MODE); 8098aa8: 2303 movs r3, #3 8098aaa: 4a2b ldr r2, [pc, #172] ; (8098b58 ) 8098aac: 2165 movs r1, #101 ; 0x65 8098aae: 201e movs r0, #30 8098ab0: f7ba ff5e bl 8053970 break; 8098ab4: e014 b.n 8098ae0 BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê-ïèê]", LEFT_MODE); 8098ab6: 2303 movs r3, #3 8098ab8: 4a28 ldr r2, [pc, #160] ; (8098b5c ) 8098aba: 2165 movs r1, #101 ; 0x65 8098abc: 201e movs r0, #30 8098abe: f7ba ff57 bl 8053970 break; 8098ac2: e00d b.n 8098ae0 BSP_LCD_DisplayStringAt( 30, 101, "A[ïô]", LEFT_MODE); 8098ac4: 2303 movs r3, #3 8098ac6: 4a26 ldr r2, [pc, #152] ; (8098b60 ) 8098ac8: 2165 movs r1, #101 ; 0x65 8098aca: 201e movs r0, #30 8098acc: f7ba ff50 bl 8053970 break; 8098ad0: e006 b.n 8098ae0 BSP_LCD_DisplayStringAt( 30, 101, "A[ýêñö]", LEFT_MODE); 8098ad2: 2303 movs r3, #3 8098ad4: 4a23 ldr r2, [pc, #140] ; (8098b64 ) 8098ad6: 2165 movs r1, #101 ; 0x65 8098ad8: 201e movs r0, #30 8098ada: f7ba ff49 bl 8053970 break; 8098ade: bf00 nop break; 8098ae0: e0b6 b.n 8098c50 switch(DiagnFileData.d_Op1_ivs) 8098ae2: 4b1b ldr r3, [pc, #108] ; (8098b50 ) 8098ae4: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8098ae8: b2db uxtb r3, r3 8098aea: 2b53 cmp r3, #83 ; 0x53 8098aec: d048 beq.n 8098b80 8098aee: 2b53 cmp r3, #83 ; 0x53 8098af0: dc0b bgt.n 8098b0a 8098af2: 2b46 cmp r3, #70 ; 0x46 8098af4: d052 beq.n 8098b9c 8098af6: 2b46 cmp r3, #70 ; 0x46 8098af8: dc02 bgt.n 8098b00 8098afa: 2b45 cmp r3, #69 ; 0x45 8098afc: d055 beq.n 8098baa break; 8098afe: e0a7 b.n 8098c50 switch(DiagnFileData.d_Op1_ivs) 8098b00: 2b50 cmp r3, #80 ; 0x50 8098b02: d036 beq.n 8098b72 8098b04: 2b52 cmp r3, #82 ; 0x52 8098b06: d042 beq.n 8098b8e break; 8098b08: e0a2 b.n 8098c50 switch(DiagnFileData.d_Op1_ivs) 8098b0a: 2bd0 cmp r3, #208 ; 0xd0 8098b0c: d03f beq.n 8098b8e 8098b0e: 2bd0 cmp r3, #208 ; 0xd0 8098b10: dc2a bgt.n 8098b68 8098b12: 2bcf cmp r3, #207 ; 0xcf 8098b14: d02d beq.n 8098b72 break; 8098b16: e09b b.n 8098c50 8098b18: 20020f77 .word 0x20020f77 8098b1c: 20020f78 .word 0x20020f78 8098b20: 20020dca .word 0x20020dca 8098b24: 08147a80 .word 0x08147a80 8098b28: 20020060 .word 0x20020060 8098b2c: ff0a0f1f .word 0xff0a0f1f 8098b30: ffd3d3d3 .word 0xffd3d3d3 8098b34: 200225f0 .word 0x200225f0 8098b38: cccccccd .word 0xcccccccd 8098b3c: 20022968 .word 0x20022968 8098b40: 20020038 .word 0x20020038 8098b44: 20021f9c .word 0x20021f9c 8098b48: 20022ea0 .word 0x20022ea0 8098b4c: 20022310 .word 0x20022310 8098b50: 200225f4 .word 0x200225f4 8098b54: 080d0944 .word 0x080d0944 8098b58: 080d094c .word 0x080d094c 8098b5c: 080d0954 .word 0x080d0954 8098b60: 080d0960 .word 0x080d0960 8098b64: 080d0968 .word 0x080d0968 switch(DiagnFileData.d_Op1_ivs) 8098b68: 2bd1 cmp r3, #209 ; 0xd1 8098b6a: d009 beq.n 8098b80 8098b6c: 2bd4 cmp r3, #212 ; 0xd4 8098b6e: d015 beq.n 8098b9c break; 8098b70: e06e b.n 8098c50 BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê]", LEFT_MODE); 8098b72: 2303 movs r3, #3 8098b74: 4aaa ldr r2, [pc, #680] ; (8098e20 ) 8098b76: 2165 movs r1, #101 ; 0x65 8098b78: 201e movs r0, #30 8098b7a: f7ba fef9 bl 8053970 break; 8098b7e: e01b b.n 8098bb8 BSP_LCD_DisplayStringAt( 30, 101, "V[ñêç]", LEFT_MODE); 8098b80: 2303 movs r3, #3 8098b82: 4aa8 ldr r2, [pc, #672] ; (8098e24 ) 8098b84: 2165 movs r1, #101 ; 0x65 8098b86: 201e movs r0, #30 8098b88: f7ba fef2 bl 8053970 break; 8098b8c: e014 b.n 8098bb8 BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê-ïèê]", LEFT_MODE); 8098b8e: 2303 movs r3, #3 8098b90: 4aa5 ldr r2, [pc, #660] ; (8098e28 ) 8098b92: 2165 movs r1, #101 ; 0x65 8098b94: 201e movs r0, #30 8098b96: f7ba feeb bl 8053970 break; 8098b9a: e00d b.n 8098bb8 BSP_LCD_DisplayStringAt( 30, 101, "V[ïô]", LEFT_MODE); 8098b9c: 2303 movs r3, #3 8098b9e: 4aa3 ldr r2, [pc, #652] ; (8098e2c ) 8098ba0: 2165 movs r1, #101 ; 0x65 8098ba2: 201e movs r0, #30 8098ba4: f7ba fee4 bl 8053970 break; 8098ba8: e006 b.n 8098bb8 BSP_LCD_DisplayStringAt( 30, 101, "V[ýêñö]", LEFT_MODE); 8098baa: 2303 movs r3, #3 8098bac: 4aa0 ldr r2, [pc, #640] ; (8098e30 ) 8098bae: 2165 movs r1, #101 ; 0x65 8098bb0: 201e movs r0, #30 8098bb2: f7ba fedd bl 8053970 break; 8098bb6: bf00 nop break; 8098bb8: e04a b.n 8098c50 switch(DiagnFileData.d_Op1_ivs) 8098bba: 4b9e ldr r3, [pc, #632] ; (8098e34 ) 8098bbc: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 8098bc0: b2db uxtb r3, r3 8098bc2: 2b53 cmp r3, #83 ; 0x53 8098bc4: d020 beq.n 8098c08 8098bc6: 2b53 cmp r3, #83 ; 0x53 8098bc8: dc0b bgt.n 8098be2 8098bca: 2b46 cmp r3, #70 ; 0x46 8098bcc: d02a beq.n 8098c24 8098bce: 2b46 cmp r3, #70 ; 0x46 8098bd0: dc02 bgt.n 8098bd8 8098bd2: 2b45 cmp r3, #69 ; 0x45 8098bd4: d02d beq.n 8098c32 break; 8098bd6: e03b b.n 8098c50 switch(DiagnFileData.d_Op1_ivs) 8098bd8: 2b50 cmp r3, #80 ; 0x50 8098bda: d00e beq.n 8098bfa 8098bdc: 2b52 cmp r3, #82 ; 0x52 8098bde: d01a beq.n 8098c16 break; 8098be0: e036 b.n 8098c50 switch(DiagnFileData.d_Op1_ivs) 8098be2: 2bd0 cmp r3, #208 ; 0xd0 8098be4: d017 beq.n 8098c16 8098be6: 2bd0 cmp r3, #208 ; 0xd0 8098be8: dc02 bgt.n 8098bf0 8098bea: 2bcf cmp r3, #207 ; 0xcf 8098bec: d005 beq.n 8098bfa break; 8098bee: e02f b.n 8098c50 switch(DiagnFileData.d_Op1_ivs) 8098bf0: 2bd1 cmp r3, #209 ; 0xd1 8098bf2: d009 beq.n 8098c08 8098bf4: 2bd4 cmp r3, #212 ; 0xd4 8098bf6: d015 beq.n 8098c24 break; 8098bf8: e02a b.n 8098c50 BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê]", LEFT_MODE); 8098bfa: 2303 movs r3, #3 8098bfc: 4a8e ldr r2, [pc, #568] ; (8098e38 ) 8098bfe: 2165 movs r1, #101 ; 0x65 8098c00: 201e movs r0, #30 8098c02: f7ba feb5 bl 8053970 break; 8098c06: e01b b.n 8098c40 BSP_LCD_DisplayStringAt( 30, 101, "S[ñêç]", LEFT_MODE); 8098c08: 2303 movs r3, #3 8098c0a: 4a8c ldr r2, [pc, #560] ; (8098e3c ) 8098c0c: 2165 movs r1, #101 ; 0x65 8098c0e: 201e movs r0, #30 8098c10: f7ba feae bl 8053970 break; 8098c14: e014 b.n 8098c40 BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê-ïèê]", LEFT_MODE); 8098c16: 2303 movs r3, #3 8098c18: 4a89 ldr r2, [pc, #548] ; (8098e40 ) 8098c1a: 2165 movs r1, #101 ; 0x65 8098c1c: 201e movs r0, #30 8098c1e: f7ba fea7 bl 8053970 break; 8098c22: e00d b.n 8098c40 BSP_LCD_DisplayStringAt( 30, 101, "S[ïô]", LEFT_MODE); 8098c24: 2303 movs r3, #3 8098c26: 4a87 ldr r2, [pc, #540] ; (8098e44 ) 8098c28: 2165 movs r1, #101 ; 0x65 8098c2a: 201e movs r0, #30 8098c2c: f7ba fea0 bl 8053970 break; 8098c30: e006 b.n 8098c40 BSP_LCD_DisplayStringAt( 30, 101, "S[ýêñö]", LEFT_MODE); 8098c32: 2303 movs r3, #3 8098c34: 4a84 ldr r2, [pc, #528] ; (8098e48 ) 8098c36: 2165 movs r1, #101 ; 0x65 8098c38: 201e movs r0, #30 8098c3a: f7ba fe99 bl 8053970 break; 8098c3e: bf00 nop break; 8098c40: bf00 nop 8098c42: e005 b.n 8098c50 BSP_LCD_DisplayStringAt(30, 101, "----", LEFT_MODE); 8098c44: 2303 movs r3, #3 8098c46: 4a81 ldr r2, [pc, #516] ; (8098e4c ) 8098c48: 2165 movs r1, #101 ; 0x65 8098c4a: 201e movs r0, #30 8098c4c: f7ba fe90 bl 8053970 memset(str, 0, sizeof(str)); 8098c50: f107 030c add.w r3, r7, #12 8098c54: 2228 movs r2, #40 ; 0x28 8098c56: 2100 movs r1, #0 8098c58: 4618 mov r0, r3 8098c5a: f034 fa11 bl 80cd080 if(DiagnFileData.d_Op2_ipr) 8098c5e: 4b75 ldr r3, [pc, #468] ; (8098e34 ) 8098c60: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8098c64: b2db uxtb r3, r3 8098c66: 2b00 cmp r3, #0 8098c68: f000 80fc beq.w 8098e64 switch(DiagnFileData.d_Op2_ipr) 8098c6c: 4b71 ldr r3, [pc, #452] ; (8098e34 ) 8098c6e: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8098c72: b2db uxtb r3, r3 8098c74: 2b02 cmp r3, #2 8098c76: d049 beq.n 8098d0c 8098c78: 2b04 cmp r3, #4 8098c7a: f000 808b beq.w 8098d94 8098c7e: 2b01 cmp r3, #1 8098c80: f040 80f6 bne.w 8098e70 switch(DiagnFileData.d_Op2_ivs) 8098c84: 4b6b ldr r3, [pc, #428] ; (8098e34 ) 8098c86: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8098c8a: b2db uxtb r3, r3 8098c8c: 2b53 cmp r3, #83 ; 0x53 8098c8e: d020 beq.n 8098cd2 8098c90: 2b53 cmp r3, #83 ; 0x53 8098c92: dc0b bgt.n 8098cac 8098c94: 2b46 cmp r3, #70 ; 0x46 8098c96: d02a beq.n 8098cee 8098c98: 2b46 cmp r3, #70 ; 0x46 8098c9a: dc02 bgt.n 8098ca2 8098c9c: 2b45 cmp r3, #69 ; 0x45 8098c9e: d02d beq.n 8098cfc break; 8098ca0: e0e6 b.n 8098e70 switch(DiagnFileData.d_Op2_ivs) 8098ca2: 2b50 cmp r3, #80 ; 0x50 8098ca4: d00e beq.n 8098cc4 8098ca6: 2b52 cmp r3, #82 ; 0x52 8098ca8: d01a beq.n 8098ce0 break; 8098caa: e0e1 b.n 8098e70 switch(DiagnFileData.d_Op2_ivs) 8098cac: 2bd0 cmp r3, #208 ; 0xd0 8098cae: d017 beq.n 8098ce0 8098cb0: 2bd0 cmp r3, #208 ; 0xd0 8098cb2: dc02 bgt.n 8098cba 8098cb4: 2bcf cmp r3, #207 ; 0xcf 8098cb6: d005 beq.n 8098cc4 break; 8098cb8: e0da b.n 8098e70 switch(DiagnFileData.d_Op2_ivs) 8098cba: 2bd1 cmp r3, #209 ; 0xd1 8098cbc: d009 beq.n 8098cd2 8098cbe: 2bd4 cmp r3, #212 ; 0xd4 8098cc0: d015 beq.n 8098cee break; 8098cc2: e0d5 b.n 8098e70 BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê]", LEFT_MODE); 8098cc4: 2303 movs r3, #3 8098cc6: 4a62 ldr r2, [pc, #392] ; (8098e50 ) 8098cc8: 2189 movs r1, #137 ; 0x89 8098cca: 201e movs r0, #30 8098ccc: f7ba fe50 bl 8053970 break; 8098cd0: e01b b.n 8098d0a BSP_LCD_DisplayStringAt( 30, 137, "A[ñêç]", LEFT_MODE); 8098cd2: 2303 movs r3, #3 8098cd4: 4a5f ldr r2, [pc, #380] ; (8098e54 ) 8098cd6: 2189 movs r1, #137 ; 0x89 8098cd8: 201e movs r0, #30 8098cda: f7ba fe49 bl 8053970 break; 8098cde: e014 b.n 8098d0a BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê-ïèê]", LEFT_MODE); 8098ce0: 2303 movs r3, #3 8098ce2: 4a5d ldr r2, [pc, #372] ; (8098e58 ) 8098ce4: 2189 movs r1, #137 ; 0x89 8098ce6: 201e movs r0, #30 8098ce8: f7ba fe42 bl 8053970 break; 8098cec: e00d b.n 8098d0a BSP_LCD_DisplayStringAt( 30, 137, "A[ïô]", LEFT_MODE); 8098cee: 2303 movs r3, #3 8098cf0: 4a5a ldr r2, [pc, #360] ; (8098e5c ) 8098cf2: 2189 movs r1, #137 ; 0x89 8098cf4: 201e movs r0, #30 8098cf6: f7ba fe3b bl 8053970 break; 8098cfa: e006 b.n 8098d0a BSP_LCD_DisplayStringAt( 30, 137, "A[ýêñö]", LEFT_MODE); 8098cfc: 2303 movs r3, #3 8098cfe: 4a58 ldr r2, [pc, #352] ; (8098e60 ) 8098d00: 2189 movs r1, #137 ; 0x89 8098d02: 201e movs r0, #30 8098d04: f7ba fe34 bl 8053970 break; 8098d08: bf00 nop break; 8098d0a: e0b1 b.n 8098e70 switch(DiagnFileData.d_Op2_ivs) 8098d0c: 4b49 ldr r3, [pc, #292] ; (8098e34 ) 8098d0e: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8098d12: b2db uxtb r3, r3 8098d14: 2b53 cmp r3, #83 ; 0x53 8098d16: d020 beq.n 8098d5a 8098d18: 2b53 cmp r3, #83 ; 0x53 8098d1a: dc0b bgt.n 8098d34 8098d1c: 2b46 cmp r3, #70 ; 0x46 8098d1e: d02a beq.n 8098d76 8098d20: 2b46 cmp r3, #70 ; 0x46 8098d22: dc02 bgt.n 8098d2a 8098d24: 2b45 cmp r3, #69 ; 0x45 8098d26: d02d beq.n 8098d84 break; 8098d28: e0a2 b.n 8098e70 switch(DiagnFileData.d_Op2_ivs) 8098d2a: 2b50 cmp r3, #80 ; 0x50 8098d2c: d00e beq.n 8098d4c 8098d2e: 2b52 cmp r3, #82 ; 0x52 8098d30: d01a beq.n 8098d68 break; 8098d32: e09d b.n 8098e70 switch(DiagnFileData.d_Op2_ivs) 8098d34: 2bd0 cmp r3, #208 ; 0xd0 8098d36: d017 beq.n 8098d68 8098d38: 2bd0 cmp r3, #208 ; 0xd0 8098d3a: dc02 bgt.n 8098d42 8098d3c: 2bcf cmp r3, #207 ; 0xcf 8098d3e: d005 beq.n 8098d4c break; 8098d40: e096 b.n 8098e70 switch(DiagnFileData.d_Op2_ivs) 8098d42: 2bd1 cmp r3, #209 ; 0xd1 8098d44: d009 beq.n 8098d5a 8098d46: 2bd4 cmp r3, #212 ; 0xd4 8098d48: d015 beq.n 8098d76 break; 8098d4a: e091 b.n 8098e70 BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê]", LEFT_MODE); 8098d4c: 2303 movs r3, #3 8098d4e: 4a34 ldr r2, [pc, #208] ; (8098e20 ) 8098d50: 2189 movs r1, #137 ; 0x89 8098d52: 201e movs r0, #30 8098d54: f7ba fe0c bl 8053970 break; 8098d58: e01b b.n 8098d92 BSP_LCD_DisplayStringAt( 30, 137, "V[ñêç]", LEFT_MODE); 8098d5a: 2303 movs r3, #3 8098d5c: 4a31 ldr r2, [pc, #196] ; (8098e24 ) 8098d5e: 2189 movs r1, #137 ; 0x89 8098d60: 201e movs r0, #30 8098d62: f7ba fe05 bl 8053970 break; 8098d66: e014 b.n 8098d92 BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê-ïèê]", LEFT_MODE); 8098d68: 2303 movs r3, #3 8098d6a: 4a2f ldr r2, [pc, #188] ; (8098e28 ) 8098d6c: 2189 movs r1, #137 ; 0x89 8098d6e: 201e movs r0, #30 8098d70: f7ba fdfe bl 8053970 break; 8098d74: e00d b.n 8098d92 BSP_LCD_DisplayStringAt( 30, 137, "V[ïô]", LEFT_MODE); 8098d76: 2303 movs r3, #3 8098d78: 4a2c ldr r2, [pc, #176] ; (8098e2c ) 8098d7a: 2189 movs r1, #137 ; 0x89 8098d7c: 201e movs r0, #30 8098d7e: f7ba fdf7 bl 8053970 break; 8098d82: e006 b.n 8098d92 BSP_LCD_DisplayStringAt( 30, 137, "V[ýêñö]", LEFT_MODE); 8098d84: 2303 movs r3, #3 8098d86: 4a2a ldr r2, [pc, #168] ; (8098e30 ) 8098d88: 2189 movs r1, #137 ; 0x89 8098d8a: 201e movs r0, #30 8098d8c: f7ba fdf0 bl 8053970 break; 8098d90: bf00 nop break; 8098d92: e06d b.n 8098e70 switch(DiagnFileData.d_Op2_ivs) 8098d94: 4b27 ldr r3, [pc, #156] ; (8098e34 ) 8098d96: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 8098d9a: b2db uxtb r3, r3 8098d9c: 2b53 cmp r3, #83 ; 0x53 8098d9e: d020 beq.n 8098de2 8098da0: 2b53 cmp r3, #83 ; 0x53 8098da2: dc0b bgt.n 8098dbc 8098da4: 2b46 cmp r3, #70 ; 0x46 8098da6: d02a beq.n 8098dfe 8098da8: 2b46 cmp r3, #70 ; 0x46 8098daa: dc02 bgt.n 8098db2 8098dac: 2b45 cmp r3, #69 ; 0x45 8098dae: d02d beq.n 8098e0c break; 8098db0: e05e b.n 8098e70 switch(DiagnFileData.d_Op2_ivs) 8098db2: 2b50 cmp r3, #80 ; 0x50 8098db4: d00e beq.n 8098dd4 8098db6: 2b52 cmp r3, #82 ; 0x52 8098db8: d01a beq.n 8098df0 break; 8098dba: e059 b.n 8098e70 switch(DiagnFileData.d_Op2_ivs) 8098dbc: 2bd0 cmp r3, #208 ; 0xd0 8098dbe: d017 beq.n 8098df0 8098dc0: 2bd0 cmp r3, #208 ; 0xd0 8098dc2: dc02 bgt.n 8098dca 8098dc4: 2bcf cmp r3, #207 ; 0xcf 8098dc6: d005 beq.n 8098dd4 break; 8098dc8: e052 b.n 8098e70 switch(DiagnFileData.d_Op2_ivs) 8098dca: 2bd1 cmp r3, #209 ; 0xd1 8098dcc: d009 beq.n 8098de2 8098dce: 2bd4 cmp r3, #212 ; 0xd4 8098dd0: d015 beq.n 8098dfe break; 8098dd2: e04d b.n 8098e70 BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê]", LEFT_MODE); 8098dd4: 2303 movs r3, #3 8098dd6: 4a18 ldr r2, [pc, #96] ; (8098e38 ) 8098dd8: 2189 movs r1, #137 ; 0x89 8098dda: 201e movs r0, #30 8098ddc: f7ba fdc8 bl 8053970 break; 8098de0: e01b b.n 8098e1a BSP_LCD_DisplayStringAt( 30, 137, "S[ñêç]", LEFT_MODE); 8098de2: 2303 movs r3, #3 8098de4: 4a15 ldr r2, [pc, #84] ; (8098e3c ) 8098de6: 2189 movs r1, #137 ; 0x89 8098de8: 201e movs r0, #30 8098dea: f7ba fdc1 bl 8053970 break; 8098dee: e014 b.n 8098e1a BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê-ïèê]", LEFT_MODE); 8098df0: 2303 movs r3, #3 8098df2: 4a13 ldr r2, [pc, #76] ; (8098e40 ) 8098df4: 2189 movs r1, #137 ; 0x89 8098df6: 201e movs r0, #30 8098df8: f7ba fdba bl 8053970 break; 8098dfc: e00d b.n 8098e1a BSP_LCD_DisplayStringAt( 30, 137, "S[ïô]", LEFT_MODE); 8098dfe: 2303 movs r3, #3 8098e00: 4a10 ldr r2, [pc, #64] ; (8098e44 ) 8098e02: 2189 movs r1, #137 ; 0x89 8098e04: 201e movs r0, #30 8098e06: f7ba fdb3 bl 8053970 break; 8098e0a: e006 b.n 8098e1a BSP_LCD_DisplayStringAt( 30, 137, "S[ýêñö]", LEFT_MODE); 8098e0c: 2303 movs r3, #3 8098e0e: 4a0e ldr r2, [pc, #56] ; (8098e48 ) 8098e10: 2189 movs r1, #137 ; 0x89 8098e12: 201e movs r0, #30 8098e14: f7ba fdac bl 8053970 break; 8098e18: bf00 nop break; 8098e1a: bf00 nop 8098e1c: e028 b.n 8098e70 8098e1e: bf00 nop 8098e20: 080d0970 .word 0x080d0970 8098e24: 080d0978 .word 0x080d0978 8098e28: 080d0980 .word 0x080d0980 8098e2c: 080d098c .word 0x080d098c 8098e30: 080d0994 .word 0x080d0994 8098e34: 200225f4 .word 0x200225f4 8098e38: 080d099c .word 0x080d099c 8098e3c: 080d09a4 .word 0x080d09a4 8098e40: 080d09ac .word 0x080d09ac 8098e44: 080d09b8 .word 0x080d09b8 8098e48: 080d09c0 .word 0x080d09c0 8098e4c: 080d09c8 .word 0x080d09c8 8098e50: 080d0944 .word 0x080d0944 8098e54: 080d094c .word 0x080d094c 8098e58: 080d0954 .word 0x080d0954 8098e5c: 080d0960 .word 0x080d0960 8098e60: 080d0968 .word 0x080d0968 BSP_LCD_DisplayStringAt(30, 137, "----", LEFT_MODE); 8098e64: 2303 movs r3, #3 8098e66: 4aba ldr r2, [pc, #744] ; (8099150 ) 8098e68: 2189 movs r1, #137 ; 0x89 8098e6a: 201e movs r0, #30 8098e6c: f7ba fd80 bl 8053970 memset(str, 0, sizeof(str)); 8098e70: f107 030c add.w r3, r7, #12 8098e74: 2228 movs r2, #40 ; 0x28 8098e76: 2100 movs r1, #0 8098e78: 4618 mov r0, r3 8098e7a: f034 f901 bl 80cd080 if(DiagnFileData.d_Op3_ipr) 8098e7e: 4bb5 ldr r3, [pc, #724] ; (8099154 ) 8098e80: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8098e84: b2db uxtb r3, r3 8098e86: 2b00 cmp r3, #0 8098e88: f000 80d9 beq.w 809903e switch(DiagnFileData.d_Op3_ipr) 8098e8c: 4bb1 ldr r3, [pc, #708] ; (8099154 ) 8098e8e: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8098e92: b2db uxtb r3, r3 8098e94: 2b02 cmp r3, #2 8098e96: d049 beq.n 8098f2c 8098e98: 2b04 cmp r3, #4 8098e9a: f000 808b beq.w 8098fb4 8098e9e: 2b01 cmp r3, #1 8098ea0: f040 80d3 bne.w 809904a switch(DiagnFileData.d_Op3_ivs) 8098ea4: 4bab ldr r3, [pc, #684] ; (8099154 ) 8098ea6: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098eaa: b2db uxtb r3, r3 8098eac: 2b53 cmp r3, #83 ; 0x53 8098eae: d020 beq.n 8098ef2 8098eb0: 2b53 cmp r3, #83 ; 0x53 8098eb2: dc0b bgt.n 8098ecc 8098eb4: 2b46 cmp r3, #70 ; 0x46 8098eb6: d02a beq.n 8098f0e 8098eb8: 2b46 cmp r3, #70 ; 0x46 8098eba: dc02 bgt.n 8098ec2 8098ebc: 2b45 cmp r3, #69 ; 0x45 8098ebe: d02d beq.n 8098f1c break; 8098ec0: e0c3 b.n 809904a switch(DiagnFileData.d_Op3_ivs) 8098ec2: 2b50 cmp r3, #80 ; 0x50 8098ec4: d00e beq.n 8098ee4 8098ec6: 2b52 cmp r3, #82 ; 0x52 8098ec8: d01a beq.n 8098f00 break; 8098eca: e0be b.n 809904a switch(DiagnFileData.d_Op3_ivs) 8098ecc: 2bd0 cmp r3, #208 ; 0xd0 8098ece: d017 beq.n 8098f00 8098ed0: 2bd0 cmp r3, #208 ; 0xd0 8098ed2: dc02 bgt.n 8098eda 8098ed4: 2bcf cmp r3, #207 ; 0xcf 8098ed6: d005 beq.n 8098ee4 break; 8098ed8: e0b7 b.n 809904a switch(DiagnFileData.d_Op3_ivs) 8098eda: 2bd1 cmp r3, #209 ; 0xd1 8098edc: d009 beq.n 8098ef2 8098ede: 2bd4 cmp r3, #212 ; 0xd4 8098ee0: d015 beq.n 8098f0e break; 8098ee2: e0b2 b.n 809904a BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê]", LEFT_MODE); 8098ee4: 2303 movs r3, #3 8098ee6: 4a9c ldr r2, [pc, #624] ; (8099158 ) 8098ee8: 21ad movs r1, #173 ; 0xad 8098eea: 201e movs r0, #30 8098eec: f7ba fd40 bl 8053970 break; 8098ef0: e01b b.n 8098f2a BSP_LCD_DisplayStringAt( 30, 173, "A[ñêç]", LEFT_MODE); 8098ef2: 2303 movs r3, #3 8098ef4: 4a99 ldr r2, [pc, #612] ; (809915c ) 8098ef6: 21ad movs r1, #173 ; 0xad 8098ef8: 201e movs r0, #30 8098efa: f7ba fd39 bl 8053970 break; 8098efe: e014 b.n 8098f2a BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê-ïèê]", LEFT_MODE); 8098f00: 2303 movs r3, #3 8098f02: 4a97 ldr r2, [pc, #604] ; (8099160 ) 8098f04: 21ad movs r1, #173 ; 0xad 8098f06: 201e movs r0, #30 8098f08: f7ba fd32 bl 8053970 break; 8098f0c: e00d b.n 8098f2a BSP_LCD_DisplayStringAt( 30, 173, "A[ïô]", LEFT_MODE); 8098f0e: 2303 movs r3, #3 8098f10: 4a94 ldr r2, [pc, #592] ; (8099164 ) 8098f12: 21ad movs r1, #173 ; 0xad 8098f14: 201e movs r0, #30 8098f16: f7ba fd2b bl 8053970 break; 8098f1a: e006 b.n 8098f2a BSP_LCD_DisplayStringAt( 30, 173, "A[ýêñö]", LEFT_MODE); 8098f1c: 2303 movs r3, #3 8098f1e: 4a92 ldr r2, [pc, #584] ; (8099168 ) 8098f20: 21ad movs r1, #173 ; 0xad 8098f22: 201e movs r0, #30 8098f24: f7ba fd24 bl 8053970 break; 8098f28: bf00 nop break; 8098f2a: e08e b.n 809904a switch(DiagnFileData.d_Op3_ivs) 8098f2c: 4b89 ldr r3, [pc, #548] ; (8099154 ) 8098f2e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098f32: b2db uxtb r3, r3 8098f34: 2b53 cmp r3, #83 ; 0x53 8098f36: d020 beq.n 8098f7a 8098f38: 2b53 cmp r3, #83 ; 0x53 8098f3a: dc0b bgt.n 8098f54 8098f3c: 2b46 cmp r3, #70 ; 0x46 8098f3e: d02a beq.n 8098f96 8098f40: 2b46 cmp r3, #70 ; 0x46 8098f42: dc02 bgt.n 8098f4a 8098f44: 2b45 cmp r3, #69 ; 0x45 8098f46: d02d beq.n 8098fa4 break; 8098f48: e07f b.n 809904a switch(DiagnFileData.d_Op3_ivs) 8098f4a: 2b50 cmp r3, #80 ; 0x50 8098f4c: d00e beq.n 8098f6c 8098f4e: 2b52 cmp r3, #82 ; 0x52 8098f50: d01a beq.n 8098f88 break; 8098f52: e07a b.n 809904a switch(DiagnFileData.d_Op3_ivs) 8098f54: 2bd0 cmp r3, #208 ; 0xd0 8098f56: d017 beq.n 8098f88 8098f58: 2bd0 cmp r3, #208 ; 0xd0 8098f5a: dc02 bgt.n 8098f62 8098f5c: 2bcf cmp r3, #207 ; 0xcf 8098f5e: d005 beq.n 8098f6c break; 8098f60: e073 b.n 809904a switch(DiagnFileData.d_Op3_ivs) 8098f62: 2bd1 cmp r3, #209 ; 0xd1 8098f64: d009 beq.n 8098f7a 8098f66: 2bd4 cmp r3, #212 ; 0xd4 8098f68: d015 beq.n 8098f96 break; 8098f6a: e06e b.n 809904a BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê]", LEFT_MODE); 8098f6c: 2303 movs r3, #3 8098f6e: 4a7f ldr r2, [pc, #508] ; (809916c ) 8098f70: 21ad movs r1, #173 ; 0xad 8098f72: 201e movs r0, #30 8098f74: f7ba fcfc bl 8053970 break; 8098f78: e01b b.n 8098fb2 BSP_LCD_DisplayStringAt( 30, 173, "V[ñêç]", LEFT_MODE); 8098f7a: 2303 movs r3, #3 8098f7c: 4a7c ldr r2, [pc, #496] ; (8099170 ) 8098f7e: 21ad movs r1, #173 ; 0xad 8098f80: 201e movs r0, #30 8098f82: f7ba fcf5 bl 8053970 break; 8098f86: e014 b.n 8098fb2 BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê-ïèê]", LEFT_MODE); 8098f88: 2303 movs r3, #3 8098f8a: 4a7a ldr r2, [pc, #488] ; (8099174 ) 8098f8c: 21ad movs r1, #173 ; 0xad 8098f8e: 201e movs r0, #30 8098f90: f7ba fcee bl 8053970 break; 8098f94: e00d b.n 8098fb2 BSP_LCD_DisplayStringAt( 30, 173, "V[ïô]", LEFT_MODE); 8098f96: 2303 movs r3, #3 8098f98: 4a77 ldr r2, [pc, #476] ; (8099178 ) 8098f9a: 21ad movs r1, #173 ; 0xad 8098f9c: 201e movs r0, #30 8098f9e: f7ba fce7 bl 8053970 break; 8098fa2: e006 b.n 8098fb2 BSP_LCD_DisplayStringAt( 30, 173, "V[ýêñö]", LEFT_MODE); 8098fa4: 2303 movs r3, #3 8098fa6: 4a75 ldr r2, [pc, #468] ; (809917c ) 8098fa8: 21ad movs r1, #173 ; 0xad 8098faa: 201e movs r0, #30 8098fac: f7ba fce0 bl 8053970 break; 8098fb0: bf00 nop break; 8098fb2: e04a b.n 809904a switch(DiagnFileData.d_Op3_ivs) 8098fb4: 4b67 ldr r3, [pc, #412] ; (8099154 ) 8098fb6: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 8098fba: b2db uxtb r3, r3 8098fbc: 2b53 cmp r3, #83 ; 0x53 8098fbe: d020 beq.n 8099002 8098fc0: 2b53 cmp r3, #83 ; 0x53 8098fc2: dc0b bgt.n 8098fdc 8098fc4: 2b46 cmp r3, #70 ; 0x46 8098fc6: d02a beq.n 809901e 8098fc8: 2b46 cmp r3, #70 ; 0x46 8098fca: dc02 bgt.n 8098fd2 8098fcc: 2b45 cmp r3, #69 ; 0x45 8098fce: d02d beq.n 809902c break; 8098fd0: e03b b.n 809904a switch(DiagnFileData.d_Op3_ivs) 8098fd2: 2b50 cmp r3, #80 ; 0x50 8098fd4: d00e beq.n 8098ff4 8098fd6: 2b52 cmp r3, #82 ; 0x52 8098fd8: d01a beq.n 8099010 break; 8098fda: e036 b.n 809904a switch(DiagnFileData.d_Op3_ivs) 8098fdc: 2bd0 cmp r3, #208 ; 0xd0 8098fde: d017 beq.n 8099010 8098fe0: 2bd0 cmp r3, #208 ; 0xd0 8098fe2: dc02 bgt.n 8098fea 8098fe4: 2bcf cmp r3, #207 ; 0xcf 8098fe6: d005 beq.n 8098ff4 break; 8098fe8: e02f b.n 809904a switch(DiagnFileData.d_Op3_ivs) 8098fea: 2bd1 cmp r3, #209 ; 0xd1 8098fec: d009 beq.n 8099002 8098fee: 2bd4 cmp r3, #212 ; 0xd4 8098ff0: d015 beq.n 809901e break; 8098ff2: e02a b.n 809904a BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê]", LEFT_MODE); 8098ff4: 2303 movs r3, #3 8098ff6: 4a62 ldr r2, [pc, #392] ; (8099180 ) 8098ff8: 21ad movs r1, #173 ; 0xad 8098ffa: 201e movs r0, #30 8098ffc: f7ba fcb8 bl 8053970 break; 8099000: e01b b.n 809903a BSP_LCD_DisplayStringAt( 30, 173, "S[ñêç]", LEFT_MODE); 8099002: 2303 movs r3, #3 8099004: 4a5f ldr r2, [pc, #380] ; (8099184 ) 8099006: 21ad movs r1, #173 ; 0xad 8099008: 201e movs r0, #30 809900a: f7ba fcb1 bl 8053970 break; 809900e: e014 b.n 809903a BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê-ïèê]", LEFT_MODE); 8099010: 2303 movs r3, #3 8099012: 4a5d ldr r2, [pc, #372] ; (8099188 ) 8099014: 21ad movs r1, #173 ; 0xad 8099016: 201e movs r0, #30 8099018: f7ba fcaa bl 8053970 break; 809901c: e00d b.n 809903a BSP_LCD_DisplayStringAt( 30, 173, "S[ïô]", LEFT_MODE); 809901e: 2303 movs r3, #3 8099020: 4a5a ldr r2, [pc, #360] ; (809918c ) 8099022: 21ad movs r1, #173 ; 0xad 8099024: 201e movs r0, #30 8099026: f7ba fca3 bl 8053970 break; 809902a: e006 b.n 809903a BSP_LCD_DisplayStringAt( 30, 173, "S[ýêñö]", LEFT_MODE); 809902c: 2303 movs r3, #3 809902e: 4a58 ldr r2, [pc, #352] ; (8099190 ) 8099030: 21ad movs r1, #173 ; 0xad 8099032: 201e movs r0, #30 8099034: f7ba fc9c bl 8053970 break; 8099038: bf00 nop break; 809903a: bf00 nop 809903c: e005 b.n 809904a BSP_LCD_DisplayStringAt(30, 173, "----", LEFT_MODE); 809903e: 2303 movs r3, #3 8099040: 4a43 ldr r2, [pc, #268] ; (8099150 ) 8099042: 21ad movs r1, #173 ; 0xad 8099044: 201e movs r0, #30 8099046: f7ba fc93 bl 8053970 if((DiagnFileData.d_Op1_ipr!= DIAGN_NO) && (DiagnFileData.Op_1.fl != -1.0f)) 809904a: 4b42 ldr r3, [pc, #264] ; (8099154 ) 809904c: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8099050: b2db uxtb r3, r3 8099052: 2b00 cmp r3, #0 8099054: f000 81e9 beq.w 809942a 8099058: 4b3e ldr r3, [pc, #248] ; (8099154 ) 809905a: edd3 7a00 vldr s15, [r3] 809905e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 8099062: eef4 7a47 vcmp.f32 s15, s14 8099066: eef1 fa10 vmrs APSR_nzcv, fpscr 809906a: f000 81de beq.w 809942a if(DiagnFileData.d_Op1_Color == 0) LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809906e: 4b39 ldr r3, [pc, #228] ; (8099154 ) 8099070: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 8099074: b2db uxtb r3, r3 8099076: 2b00 cmp r3, #0 8099078: d105 bne.n 8099086 809907a: 4946 ldr r1, [pc, #280] ; (8099194 ) 809907c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8099080: f7ba fbb0 bl 80537e4 8099084: e015 b.n 80990b2 else if(DiagnFileData.d_Op1_Color == 1) LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8099086: 4b33 ldr r3, [pc, #204] ; (8099154 ) 8099088: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809908c: b2db uxtb r3, r3 809908e: 2b01 cmp r3, #1 8099090: d105 bne.n 809909e 8099092: 4940 ldr r1, [pc, #256] ; (8099194 ) 8099094: f06f 00ff mvn.w r0, #255 ; 0xff 8099098: f7ba fba4 bl 80537e4 809909c: e009 b.n 80990b2 else if(DiagnFileData.d_Op1_Color == 2) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809909e: 4b2d ldr r3, [pc, #180] ; (8099154 ) 80990a0: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80990a4: b2db uxtb r3, r3 80990a6: 2b02 cmp r3, #2 80990a8: d103 bne.n 80990b2 80990aa: 493a ldr r1, [pc, #232] ; (8099194 ) 80990ac: 483a ldr r0, [pc, #232] ; (8099198 ) 80990ae: f7ba fb99 bl 80537e4 f = DiagnFileData.Op_1.fl; 80990b2: 4b28 ldr r3, [pc, #160] ; (8099154 ) 80990b4: 681b ldr r3, [r3, #0] 80990b6: 647b str r3, [r7, #68] ; 0x44 if((DiagnFileData.d_Op1_ivs != 'E') && (DiagnFileData.d_Op1_ivs != 'F')) 80990b8: 4b26 ldr r3, [pc, #152] ; (8099154 ) 80990ba: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 80990be: b2db uxtb r3, r3 80990c0: 2b45 cmp r3, #69 ; 0x45 80990c2: f000 813c beq.w 809933e 80990c6: 4b23 ldr r3, [pc, #140] ; (8099154 ) 80990c8: f893 302b ldrb.w r3, [r3, #43] ; 0x2b 80990cc: b2db uxtb r3, r3 80990ce: 2b46 cmp r3, #70 ; 0x46 80990d0: f000 8135 beq.w 809933e if(f >= 1000.0f) 80990d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80990d8: ed9f 7a30 vldr s14, [pc, #192] ; 809919c 80990dc: eef4 7ac7 vcmpe.f32 s15, s14 80990e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80990e4: f2c0 8087 blt.w 80991f6 f *= 0.001f; 80990e8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80990ec: ed9f 7a2c vldr s14, [pc, #176] ; 80991a0 80990f0: ee67 7a87 vmul.f32 s15, s15, s14 80990f4: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op1_ipr == DIAGN_ACC) 80990f8: 4b16 ldr r3, [pc, #88] ; (8099154 ) 80990fa: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 80990fe: b2db uxtb r3, r3 8099100: 2b01 cmp r3, #1 8099102: d112 bne.n 809912a if(pardata.LANG == RUS) 8099104: 4b27 ldr r3, [pc, #156] ; (80991a4 ) 8099106: 7b1b ldrb r3, [r3, #12] 8099108: b2db uxtb r3, r3 809910a: 2b00 cmp r3, #0 809910c: d106 bne.n 809911c BSP_LCD_DisplayStringAt(170, 101, "kì/c^", LEFT_MODE); 809910e: 2303 movs r3, #3 8099110: 4a25 ldr r2, [pc, #148] ; (80991a8 ) 8099112: 2165 movs r1, #101 ; 0x65 8099114: 20aa movs r0, #170 ; 0xaa 8099116: f7ba fc2b bl 8053970 809911a: e110 b.n 809933e else BSP_LCD_DisplayStringAt(170, 101, "km/s^", LEFT_MODE); 809911c: 2303 movs r3, #3 809911e: 4a23 ldr r2, [pc, #140] ; (80991ac ) 8099120: 2165 movs r1, #101 ; 0x65 8099122: 20aa movs r0, #170 ; 0xaa 8099124: f7ba fc24 bl 8053970 8099128: e109 b.n 809933e if(DiagnFileData.d_Op1_ipr == DIAGN_VEL) 809912a: 4b0a ldr r3, [pc, #40] ; (8099154 ) 809912c: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8099130: b2db uxtb r3, r3 8099132: 2b02 cmp r3, #2 8099134: d145 bne.n 80991c2 if(pardata.LANG == RUS) 8099136: 4b1b ldr r3, [pc, #108] ; (80991a4 ) 8099138: 7b1b ldrb r3, [r3, #12] 809913a: b2db uxtb r3, r3 809913c: 2b00 cmp r3, #0 809913e: d139 bne.n 80991b4 BSP_LCD_DisplayStringAt(170, 101, "ì/c", LEFT_MODE); 8099140: 2303 movs r3, #3 8099142: 4a1b ldr r2, [pc, #108] ; (80991b0 ) 8099144: 2165 movs r1, #101 ; 0x65 8099146: 20aa movs r0, #170 ; 0xaa 8099148: f7ba fc12 bl 8053970 809914c: e0f7 b.n 809933e 809914e: bf00 nop 8099150: 080d09c8 .word 0x080d09c8 8099154: 200225f4 .word 0x200225f4 8099158: 080d0944 .word 0x080d0944 809915c: 080d094c .word 0x080d094c 8099160: 080d0954 .word 0x080d0954 8099164: 080d0960 .word 0x080d0960 8099168: 080d0968 .word 0x080d0968 809916c: 080d0970 .word 0x080d0970 8099170: 080d0978 .word 0x080d0978 8099174: 080d0980 .word 0x080d0980 8099178: 080d098c .word 0x080d098c 809917c: 080d0994 .word 0x080d0994 8099180: 080d099c .word 0x080d099c 8099184: 080d09a4 .word 0x080d09a4 8099188: 080d09ac .word 0x080d09ac 809918c: 080d09b8 .word 0x080d09b8 8099190: 080d09c0 .word 0x080d09c0 8099194: ff0a0f1f .word 0xff0a0f1f 8099198: ffff0000 .word 0xffff0000 809919c: 447a0000 .word 0x447a0000 80991a0: 3a83126f .word 0x3a83126f 80991a4: 20023e60 .word 0x20023e60 80991a8: 080d09d0 .word 0x080d09d0 80991ac: 080d09d8 .word 0x080d09d8 80991b0: 080d09e0 .word 0x080d09e0 else BSP_LCD_DisplayStringAt(170, 101, "m/s", LEFT_MODE); 80991b4: 2303 movs r3, #3 80991b6: 4ab2 ldr r2, [pc, #712] ; (8099480 ) 80991b8: 2165 movs r1, #101 ; 0x65 80991ba: 20aa movs r0, #170 ; 0xaa 80991bc: f7ba fbd8 bl 8053970 80991c0: e0bd b.n 809933e if(DiagnFileData.d_Op1_ipr == DIAGN_DIS) 80991c2: 4bb0 ldr r3, [pc, #704] ; (8099484 ) 80991c4: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 80991c8: b2db uxtb r3, r3 80991ca: 2b04 cmp r3, #4 80991cc: f040 80b7 bne.w 809933e if(pardata.LANG == RUS) 80991d0: 4bad ldr r3, [pc, #692] ; (8099488 ) 80991d2: 7b1b ldrb r3, [r3, #12] 80991d4: b2db uxtb r3, r3 80991d6: 2b00 cmp r3, #0 80991d8: d106 bne.n 80991e8 BSP_LCD_DisplayStringAt(170, 101, "ìì", LEFT_MODE); 80991da: 2303 movs r3, #3 80991dc: 4aab ldr r2, [pc, #684] ; (809948c ) 80991de: 2165 movs r1, #101 ; 0x65 80991e0: 20aa movs r0, #170 ; 0xaa 80991e2: f7ba fbc5 bl 8053970 80991e6: e0aa b.n 809933e else BSP_LCD_DisplayStringAt(170, 101, "mm", LEFT_MODE); 80991e8: 2303 movs r3, #3 80991ea: 4aa9 ldr r2, [pc, #676] ; (8099490 ) 80991ec: 2165 movs r1, #101 ; 0x65 80991ee: 20aa movs r0, #170 ; 0xaa 80991f0: f7ba fbbe bl 8053970 80991f4: e0a3 b.n 809933e if(f >= 0.1f) 80991f6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80991fa: ed9f 7aa6 vldr s14, [pc, #664] ; 8099494 80991fe: eef4 7ac7 vcmpe.f32 s15, s14 8099202: eef1 fa10 vmrs APSR_nzcv, fpscr 8099206: db48 blt.n 809929a if(DiagnFileData.d_Op1_ipr == DIAGN_ACC) 8099208: 4b9e ldr r3, [pc, #632] ; (8099484 ) 809920a: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809920e: b2db uxtb r3, r3 8099210: 2b01 cmp r3, #1 8099212: d111 bne.n 8099238 if(pardata.LANG == RUS) 8099214: 4b9c ldr r3, [pc, #624] ; (8099488 ) 8099216: 7b1b ldrb r3, [r3, #12] 8099218: b2db uxtb r3, r3 809921a: 2b00 cmp r3, #0 809921c: d106 bne.n 809922c BSP_LCD_DisplayStringAt(170, 101, "ì/c^", LEFT_MODE); 809921e: 2303 movs r3, #3 8099220: 4a9d ldr r2, [pc, #628] ; (8099498 ) 8099222: 2165 movs r1, #101 ; 0x65 8099224: 20aa movs r0, #170 ; 0xaa 8099226: f7ba fba3 bl 8053970 809922a: e005 b.n 8099238 else BSP_LCD_DisplayStringAt(170, 101, "m/s^", LEFT_MODE); 809922c: 2303 movs r3, #3 809922e: 4a9b ldr r2, [pc, #620] ; (809949c ) 8099230: 2165 movs r1, #101 ; 0x65 8099232: 20aa movs r0, #170 ; 0xaa 8099234: f7ba fb9c bl 8053970 if(DiagnFileData.d_Op1_ipr == DIAGN_VEL) 8099238: 4b92 ldr r3, [pc, #584] ; (8099484 ) 809923a: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809923e: b2db uxtb r3, r3 8099240: 2b02 cmp r3, #2 8099242: d111 bne.n 8099268 if(pardata.LANG == RUS) 8099244: 4b90 ldr r3, [pc, #576] ; (8099488 ) 8099246: 7b1b ldrb r3, [r3, #12] 8099248: b2db uxtb r3, r3 809924a: 2b00 cmp r3, #0 809924c: d106 bne.n 809925c BSP_LCD_DisplayStringAt(170, 101, "ìì/c", LEFT_MODE); 809924e: 2303 movs r3, #3 8099250: 4a93 ldr r2, [pc, #588] ; (80994a0 ) 8099252: 2165 movs r1, #101 ; 0x65 8099254: 20aa movs r0, #170 ; 0xaa 8099256: f7ba fb8b bl 8053970 809925a: e005 b.n 8099268 else BSP_LCD_DisplayStringAt(170, 101, "mm/s", LEFT_MODE); 809925c: 2303 movs r3, #3 809925e: 4a91 ldr r2, [pc, #580] ; (80994a4 ) 8099260: 2165 movs r1, #101 ; 0x65 8099262: 20aa movs r0, #170 ; 0xaa 8099264: f7ba fb84 bl 8053970 if(DiagnFileData.d_Op1_ipr == DIAGN_DIS) 8099268: 4b86 ldr r3, [pc, #536] ; (8099484 ) 809926a: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 809926e: b2db uxtb r3, r3 8099270: 2b04 cmp r3, #4 8099272: d164 bne.n 809933e if(pardata.LANG == RUS) 8099274: 4b84 ldr r3, [pc, #528] ; (8099488 ) 8099276: 7b1b ldrb r3, [r3, #12] 8099278: b2db uxtb r3, r3 809927a: 2b00 cmp r3, #0 809927c: d106 bne.n 809928c BSP_LCD_DisplayStringAt(170, 101, "ìkì", LEFT_MODE); 809927e: 2303 movs r3, #3 8099280: 4a89 ldr r2, [pc, #548] ; (80994a8 ) 8099282: 2165 movs r1, #101 ; 0x65 8099284: 20aa movs r0, #170 ; 0xaa 8099286: f7ba fb73 bl 8053970 809928a: e058 b.n 809933e else BSP_LCD_DisplayStringAt(170, 101, "um", LEFT_MODE); 809928c: 2303 movs r3, #3 809928e: 4a87 ldr r2, [pc, #540] ; (80994ac ) 8099290: 2165 movs r1, #101 ; 0x65 8099292: 20aa movs r0, #170 ; 0xaa 8099294: f7ba fb6c bl 8053970 8099298: e051 b.n 809933e f *= 1000.0f; 809929a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809929e: ed9f 7a84 vldr s14, [pc, #528] ; 80994b0 80992a2: ee67 7a87 vmul.f32 s15, s15, s14 80992a6: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op1_ipr == DIAGN_ACC) 80992aa: 4b76 ldr r3, [pc, #472] ; (8099484 ) 80992ac: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 80992b0: b2db uxtb r3, r3 80992b2: 2b01 cmp r3, #1 80992b4: d112 bne.n 80992dc if(pardata.LANG == RUS) 80992b6: 4b74 ldr r3, [pc, #464] ; (8099488 ) 80992b8: 7b1b ldrb r3, [r3, #12] 80992ba: b2db uxtb r3, r3 80992bc: 2b00 cmp r3, #0 80992be: d106 bne.n 80992ce BSP_LCD_DisplayStringAt(170, 101, "ìì/c^", LEFT_MODE); 80992c0: 2303 movs r3, #3 80992c2: 4a7c ldr r2, [pc, #496] ; (80994b4 ) 80992c4: 2165 movs r1, #101 ; 0x65 80992c6: 20aa movs r0, #170 ; 0xaa 80992c8: f7ba fb52 bl 8053970 80992cc: e037 b.n 809933e else BSP_LCD_DisplayStringAt(170, 101, "mm/s^", LEFT_MODE); 80992ce: 2303 movs r3, #3 80992d0: 4a79 ldr r2, [pc, #484] ; (80994b8 ) 80992d2: 2165 movs r1, #101 ; 0x65 80992d4: 20aa movs r0, #170 ; 0xaa 80992d6: f7ba fb4b bl 8053970 80992da: e030 b.n 809933e if(DiagnFileData.d_Op1_ipr== DIAGN_VEL) 80992dc: 4b69 ldr r3, [pc, #420] ; (8099484 ) 80992de: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 80992e2: b2db uxtb r3, r3 80992e4: 2b02 cmp r3, #2 80992e6: d112 bne.n 809930e if(pardata.LANG == RUS) 80992e8: 4b67 ldr r3, [pc, #412] ; (8099488 ) 80992ea: 7b1b ldrb r3, [r3, #12] 80992ec: b2db uxtb r3, r3 80992ee: 2b00 cmp r3, #0 80992f0: d106 bne.n 8099300 BSP_LCD_DisplayStringAt(170, 101, "ìêì/c", LEFT_MODE); 80992f2: 2303 movs r3, #3 80992f4: 4a71 ldr r2, [pc, #452] ; (80994bc ) 80992f6: 2165 movs r1, #101 ; 0x65 80992f8: 20aa movs r0, #170 ; 0xaa 80992fa: f7ba fb39 bl 8053970 80992fe: e01e b.n 809933e else BSP_LCD_DisplayStringAt(170, 101, "mkm/s", LEFT_MODE); 8099300: 2303 movs r3, #3 8099302: 4a6f ldr r2, [pc, #444] ; (80994c0 ) 8099304: 2165 movs r1, #101 ; 0x65 8099306: 20aa movs r0, #170 ; 0xaa 8099308: f7ba fb32 bl 8053970 809930c: e017 b.n 809933e if(DiagnFileData.d_Op1_ipr == DIAGN_DIS) 809930e: 4b5d ldr r3, [pc, #372] ; (8099484 ) 8099310: f893 3028 ldrb.w r3, [r3, #40] ; 0x28 8099314: b2db uxtb r3, r3 8099316: 2b04 cmp r3, #4 8099318: d111 bne.n 809933e if(pardata.LANG == RUS) 809931a: 4b5b ldr r3, [pc, #364] ; (8099488 ) 809931c: 7b1b ldrb r3, [r3, #12] 809931e: b2db uxtb r3, r3 8099320: 2b00 cmp r3, #0 8099322: d106 bne.n 8099332 BSP_LCD_DisplayStringAt(170, 101, "íì", LEFT_MODE); 8099324: 2303 movs r3, #3 8099326: 4a67 ldr r2, [pc, #412] ; (80994c4 ) 8099328: 2165 movs r1, #101 ; 0x65 809932a: 20aa movs r0, #170 ; 0xaa 809932c: f7ba fb20 bl 8053970 8099330: e005 b.n 809933e else BSP_LCD_DisplayStringAt(170, 101, "nm", LEFT_MODE); 8099332: 2303 movs r3, #3 8099334: 4a64 ldr r2, [pc, #400] ; (80994c8 ) 8099336: 2165 movs r1, #101 ; 0x65 8099338: 20aa movs r0, #170 ; 0xaa 809933a: f7ba fb19 bl 8053970 if(f < 10.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809933e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099342: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8099346: eef4 7ac7 vcmpe.f32 s15, s14 809934a: eef1 fa10 vmrs APSR_nzcv, fpscr 809934e: d50e bpl.n 809936e 8099350: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099354: f06f 0003 mvn.w r0, #3 8099358: eeb0 0a67 vmov.f32 s0, s15 809935c: f7cd f9ec bl 8066738 8099360: 4602 mov r2, r0 8099362: 2302 movs r3, #2 8099364: 2165 movs r1, #101 ; 0x65 8099366: 20a0 movs r0, #160 ; 0xa0 8099368: f7ba fb02 bl 8053970 809936c: e05d b.n 809942a else if(f < 100.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809936e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099372: ed9f 7a56 vldr s14, [pc, #344] ; 80994cc 8099376: eef4 7ac7 vcmpe.f32 s15, s14 809937a: eef1 fa10 vmrs APSR_nzcv, fpscr 809937e: d50e bpl.n 809939e 8099380: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099384: f06f 0002 mvn.w r0, #2 8099388: eeb0 0a67 vmov.f32 s0, s15 809938c: f7cd f9d4 bl 8066738 8099390: 4602 mov r2, r0 8099392: 2302 movs r3, #2 8099394: 2165 movs r1, #101 ; 0x65 8099396: 20a0 movs r0, #160 ; 0xa0 8099398: f7ba faea bl 8053970 809939c: e045 b.n 809942a else if(f < 1000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809939e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80993a2: ed9f 7a43 vldr s14, [pc, #268] ; 80994b0 80993a6: eef4 7ac7 vcmpe.f32 s15, s14 80993aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80993ae: d50e bpl.n 80993ce 80993b0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80993b4: f06f 0001 mvn.w r0, #1 80993b8: eeb0 0a67 vmov.f32 s0, s15 80993bc: f7cd f9bc bl 8066738 80993c0: 4602 mov r2, r0 80993c2: 2302 movs r3, #2 80993c4: 2165 movs r1, #101 ; 0x65 80993c6: 20a0 movs r0, #160 ; 0xa0 80993c8: f7ba fad2 bl 8053970 80993cc: e02d b.n 809942a else if(f < 10000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -1), RIGHT_MODE); 80993ce: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80993d2: ed9f 7a3f vldr s14, [pc, #252] ; 80994d0 80993d6: eef4 7ac7 vcmpe.f32 s15, s14 80993da: eef1 fa10 vmrs APSR_nzcv, fpscr 80993de: d50e bpl.n 80993fe 80993e0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80993e4: f04f 30ff mov.w r0, #4294967295 80993e8: eeb0 0a67 vmov.f32 s0, s15 80993ec: f7cd f9a4 bl 8066738 80993f0: 4602 mov r2, r0 80993f2: 2302 movs r3, #2 80993f4: 2165 movs r1, #101 ; 0x65 80993f6: 20a0 movs r0, #160 ; 0xa0 80993f8: f7ba faba bl 8053970 80993fc: e015 b.n 809942a else if(f < 100000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, 0), RIGHT_MODE); 80993fe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099402: ed9f 7a34 vldr s14, [pc, #208] ; 80994d4 8099406: eef4 7ac7 vcmpe.f32 s15, s14 809940a: eef1 fa10 vmrs APSR_nzcv, fpscr 809940e: d50c bpl.n 809942a 8099410: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099414: 2000 movs r0, #0 8099416: eeb0 0a67 vmov.f32 s0, s15 809941a: f7cd f98d bl 8066738 809941e: 4602 mov r2, r0 8099420: 2302 movs r3, #2 8099422: 2165 movs r1, #101 ; 0x65 8099424: 20a0 movs r0, #160 ; 0xa0 8099426: f7ba faa3 bl 8053970 if((DiagnFileData.d_Op2_ipr != DIAGN_NO) && (DiagnFileData.Op_2.fl != -1.0f)) 809942a: 4b16 ldr r3, [pc, #88] ; (8099484 ) 809942c: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8099430: b2db uxtb r3, r3 8099432: 2b00 cmp r3, #0 8099434: f000 821e beq.w 8099874 8099438: 4b12 ldr r3, [pc, #72] ; (8099484 ) 809943a: edd3 7a01 vldr s15, [r3, #4] 809943e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 8099442: eef4 7a47 vcmp.f32 s15, s14 8099446: eef1 fa10 vmrs APSR_nzcv, fpscr 809944a: f000 8213 beq.w 8099874 if(DiagnFileData.d_Op2_Color == 0) LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809944e: 4b0d ldr r3, [pc, #52] ; (8099484 ) 8099450: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 8099454: b2db uxtb r3, r3 8099456: 2b00 cmp r3, #0 8099458: d105 bne.n 8099466 809945a: 491f ldr r1, [pc, #124] ; (80994d8 ) 809945c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 8099460: f7ba f9c0 bl 80537e4 8099464: e044 b.n 80994f0 else if(DiagnFileData.d_Op2_Color == 1) LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 8099466: 4b07 ldr r3, [pc, #28] ; (8099484 ) 8099468: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 809946c: b2db uxtb r3, r3 809946e: 2b01 cmp r3, #1 8099470: d134 bne.n 80994dc 8099472: 4919 ldr r1, [pc, #100] ; (80994d8 ) 8099474: f06f 00ff mvn.w r0, #255 ; 0xff 8099478: f7ba f9b4 bl 80537e4 809947c: e038 b.n 80994f0 809947e: bf00 nop 8099480: 080d09e4 .word 0x080d09e4 8099484: 200225f4 .word 0x200225f4 8099488: 20023e60 .word 0x20023e60 809948c: 080d09e8 .word 0x080d09e8 8099490: 080d09ec .word 0x080d09ec 8099494: 3dcccccd .word 0x3dcccccd 8099498: 080d09f0 .word 0x080d09f0 809949c: 080d09f8 .word 0x080d09f8 80994a0: 080d0a00 .word 0x080d0a00 80994a4: 080d0a08 .word 0x080d0a08 80994a8: 080d0a10 .word 0x080d0a10 80994ac: 080d0a14 .word 0x080d0a14 80994b0: 447a0000 .word 0x447a0000 80994b4: 080d0a18 .word 0x080d0a18 80994b8: 080d0a20 .word 0x080d0a20 80994bc: 080d0a28 .word 0x080d0a28 80994c0: 080d0a30 .word 0x080d0a30 80994c4: 080d0a38 .word 0x080d0a38 80994c8: 080d0a3c .word 0x080d0a3c 80994cc: 42c80000 .word 0x42c80000 80994d0: 461c4000 .word 0x461c4000 80994d4: 47c35000 .word 0x47c35000 80994d8: ff0a0f1f .word 0xff0a0f1f else if(DiagnFileData.d_Op2_Color == 2) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80994dc: 4bbe ldr r3, [pc, #760] ; (80997d8 ) 80994de: f893 302f ldrb.w r3, [r3, #47] ; 0x2f 80994e2: b2db uxtb r3, r3 80994e4: 2b02 cmp r3, #2 80994e6: d103 bne.n 80994f0 80994e8: 49bc ldr r1, [pc, #752] ; (80997dc ) 80994ea: 48bd ldr r0, [pc, #756] ; (80997e0 ) 80994ec: f7ba f97a bl 80537e4 f = DiagnFileData.Op_2.fl; 80994f0: 4bb9 ldr r3, [pc, #740] ; (80997d8 ) 80994f2: 685b ldr r3, [r3, #4] 80994f4: 647b str r3, [r7, #68] ; 0x44 if((DiagnFileData.d_Op2_ivs != 'E') && (DiagnFileData.d_Op2_ivs != 'F')) 80994f6: 4bb8 ldr r3, [pc, #736] ; (80997d8 ) 80994f8: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80994fc: b2db uxtb r3, r3 80994fe: 2b45 cmp r3, #69 ; 0x45 8099500: f000 810a beq.w 8099718 8099504: 4bb4 ldr r3, [pc, #720] ; (80997d8 ) 8099506: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809950a: b2db uxtb r3, r3 809950c: 2b46 cmp r3, #70 ; 0x46 809950e: f000 8103 beq.w 8099718 if(f >= 1000.0f) 8099512: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099516: ed9f 7ab3 vldr s14, [pc, #716] ; 80997e4 809951a: eef4 7ac7 vcmpe.f32 s15, s14 809951e: eef1 fa10 vmrs APSR_nzcv, fpscr 8099522: db53 blt.n 80995cc f *= 0.001f; 8099524: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099528: ed9f 7aaf vldr s14, [pc, #700] ; 80997e8 809952c: ee67 7a87 vmul.f32 s15, s15, s14 8099530: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op2_ipr == DIAGN_ACC) 8099534: 4ba8 ldr r3, [pc, #672] ; (80997d8 ) 8099536: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809953a: b2db uxtb r3, r3 809953c: 2b01 cmp r3, #1 809953e: d112 bne.n 8099566 if(pardata.LANG == RUS) 8099540: 4baa ldr r3, [pc, #680] ; (80997ec ) 8099542: 7b1b ldrb r3, [r3, #12] 8099544: b2db uxtb r3, r3 8099546: 2b00 cmp r3, #0 8099548: d106 bne.n 8099558 BSP_LCD_DisplayStringAt(170, 137, "kì/c^", LEFT_MODE); 809954a: 2303 movs r3, #3 809954c: 4aa8 ldr r2, [pc, #672] ; (80997f0 ) 809954e: 2189 movs r1, #137 ; 0x89 8099550: 20aa movs r0, #170 ; 0xaa 8099552: f7ba fa0d bl 8053970 8099556: e0df b.n 8099718 else BSP_LCD_DisplayStringAt(170, 137, "km/s^", LEFT_MODE); 8099558: 2303 movs r3, #3 809955a: 4aa6 ldr r2, [pc, #664] ; (80997f4 ) 809955c: 2189 movs r1, #137 ; 0x89 809955e: 20aa movs r0, #170 ; 0xaa 8099560: f7ba fa06 bl 8053970 8099564: e0d8 b.n 8099718 if(DiagnFileData.d_Op2_ipr == DIAGN_VEL) 8099566: 4b9c ldr r3, [pc, #624] ; (80997d8 ) 8099568: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809956c: b2db uxtb r3, r3 809956e: 2b02 cmp r3, #2 8099570: d112 bne.n 8099598 if(pardata.LANG == RUS) 8099572: 4b9e ldr r3, [pc, #632] ; (80997ec ) 8099574: 7b1b ldrb r3, [r3, #12] 8099576: b2db uxtb r3, r3 8099578: 2b00 cmp r3, #0 809957a: d106 bne.n 809958a BSP_LCD_DisplayStringAt(170, 137, "ì/c", LEFT_MODE); 809957c: 2303 movs r3, #3 809957e: 4a9e ldr r2, [pc, #632] ; (80997f8 ) 8099580: 2189 movs r1, #137 ; 0x89 8099582: 20aa movs r0, #170 ; 0xaa 8099584: f7ba f9f4 bl 8053970 8099588: e0c6 b.n 8099718 else BSP_LCD_DisplayStringAt(170, 137, "m/s", LEFT_MODE); 809958a: 2303 movs r3, #3 809958c: 4a9b ldr r2, [pc, #620] ; (80997fc ) 809958e: 2189 movs r1, #137 ; 0x89 8099590: 20aa movs r0, #170 ; 0xaa 8099592: f7ba f9ed bl 8053970 8099596: e0bf b.n 8099718 if(DiagnFileData.d_Op2_ipr== DIAGN_DIS) 8099598: 4b8f ldr r3, [pc, #572] ; (80997d8 ) 809959a: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809959e: b2db uxtb r3, r3 80995a0: 2b04 cmp r3, #4 80995a2: f040 80b9 bne.w 8099718 if(pardata.LANG == RUS) 80995a6: 4b91 ldr r3, [pc, #580] ; (80997ec ) 80995a8: 7b1b ldrb r3, [r3, #12] 80995aa: b2db uxtb r3, r3 80995ac: 2b00 cmp r3, #0 80995ae: d106 bne.n 80995be BSP_LCD_DisplayStringAt(170, 137, "ìì", LEFT_MODE); 80995b0: 2303 movs r3, #3 80995b2: 4a93 ldr r2, [pc, #588] ; (8099800 ) 80995b4: 2189 movs r1, #137 ; 0x89 80995b6: 20aa movs r0, #170 ; 0xaa 80995b8: f7ba f9da bl 8053970 80995bc: e0ac b.n 8099718 else BSP_LCD_DisplayStringAt(170, 137, "mm", LEFT_MODE); 80995be: 2303 movs r3, #3 80995c0: 4a90 ldr r2, [pc, #576] ; (8099804 ) 80995c2: 2189 movs r1, #137 ; 0x89 80995c4: 20aa movs r0, #170 ; 0xaa 80995c6: f7ba f9d3 bl 8053970 80995ca: e0a5 b.n 8099718 if(f >= 0.1f) 80995cc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80995d0: ed9f 7a8d vldr s14, [pc, #564] ; 8099808 80995d4: eef4 7ac7 vcmpe.f32 s15, s14 80995d8: eef1 fa10 vmrs APSR_nzcv, fpscr 80995dc: db4a blt.n 8099674 if(DiagnFileData.d_Op2_ipr == DIAGN_ACC) 80995de: 4b7e ldr r3, [pc, #504] ; (80997d8 ) 80995e0: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 80995e4: b2db uxtb r3, r3 80995e6: 2b01 cmp r3, #1 80995e8: d112 bne.n 8099610 if(pardata.LANG == RUS) 80995ea: 4b80 ldr r3, [pc, #512] ; (80997ec ) 80995ec: 7b1b ldrb r3, [r3, #12] 80995ee: b2db uxtb r3, r3 80995f0: 2b00 cmp r3, #0 80995f2: d106 bne.n 8099602 BSP_LCD_DisplayStringAt(170, 137, "ì/c^", LEFT_MODE); 80995f4: 2303 movs r3, #3 80995f6: 4a85 ldr r2, [pc, #532] ; (809980c ) 80995f8: 2189 movs r1, #137 ; 0x89 80995fa: 20aa movs r0, #170 ; 0xaa 80995fc: f7ba f9b8 bl 8053970 8099600: e08a b.n 8099718 else BSP_LCD_DisplayStringAt(170, 137, "m/s^", LEFT_MODE); 8099602: 2303 movs r3, #3 8099604: 4a82 ldr r2, [pc, #520] ; (8099810 ) 8099606: 2189 movs r1, #137 ; 0x89 8099608: 20aa movs r0, #170 ; 0xaa 809960a: f7ba f9b1 bl 8053970 809960e: e083 b.n 8099718 else if(DiagnFileData.d_Op2_ipr == DIAGN_VEL) 8099610: 4b71 ldr r3, [pc, #452] ; (80997d8 ) 8099612: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8099616: b2db uxtb r3, r3 8099618: 2b02 cmp r3, #2 809961a: d112 bne.n 8099642 if(pardata.LANG == RUS) 809961c: 4b73 ldr r3, [pc, #460] ; (80997ec ) 809961e: 7b1b ldrb r3, [r3, #12] 8099620: b2db uxtb r3, r3 8099622: 2b00 cmp r3, #0 8099624: d106 bne.n 8099634 BSP_LCD_DisplayStringAt(170, 137, "ìì/c", LEFT_MODE); 8099626: 2303 movs r3, #3 8099628: 4a7a ldr r2, [pc, #488] ; (8099814 ) 809962a: 2189 movs r1, #137 ; 0x89 809962c: 20aa movs r0, #170 ; 0xaa 809962e: f7ba f99f bl 8053970 8099632: e071 b.n 8099718 else BSP_LCD_DisplayStringAt(170, 137, "mm/s", LEFT_MODE); 8099634: 2303 movs r3, #3 8099636: 4a78 ldr r2, [pc, #480] ; (8099818 ) 8099638: 2189 movs r1, #137 ; 0x89 809963a: 20aa movs r0, #170 ; 0xaa 809963c: f7ba f998 bl 8053970 8099640: e06a b.n 8099718 else if(DiagnFileData.d_Op2_ipr == DIAGN_DIS) 8099642: 4b65 ldr r3, [pc, #404] ; (80997d8 ) 8099644: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 8099648: b2db uxtb r3, r3 809964a: 2b04 cmp r3, #4 809964c: d164 bne.n 8099718 if(pardata.LANG == RUS) 809964e: 4b67 ldr r3, [pc, #412] ; (80997ec ) 8099650: 7b1b ldrb r3, [r3, #12] 8099652: b2db uxtb r3, r3 8099654: 2b00 cmp r3, #0 8099656: d106 bne.n 8099666 BSP_LCD_DisplayStringAt(170, 137, "ìkì", LEFT_MODE); 8099658: 2303 movs r3, #3 809965a: 4a70 ldr r2, [pc, #448] ; (809981c ) 809965c: 2189 movs r1, #137 ; 0x89 809965e: 20aa movs r0, #170 ; 0xaa 8099660: f7ba f986 bl 8053970 8099664: e058 b.n 8099718 else BSP_LCD_DisplayStringAt(170, 137, "um", LEFT_MODE); 8099666: 2303 movs r3, #3 8099668: 4a6d ldr r2, [pc, #436] ; (8099820 ) 809966a: 2189 movs r1, #137 ; 0x89 809966c: 20aa movs r0, #170 ; 0xaa 809966e: f7ba f97f bl 8053970 8099672: e051 b.n 8099718 f *= 1000.0f; 8099674: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099678: ed9f 7a5a vldr s14, [pc, #360] ; 80997e4 809967c: ee67 7a87 vmul.f32 s15, s15, s14 8099680: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op2_ipr == DIAGN_ACC) 8099684: 4b54 ldr r3, [pc, #336] ; (80997d8 ) 8099686: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 809968a: b2db uxtb r3, r3 809968c: 2b01 cmp r3, #1 809968e: d112 bne.n 80996b6 if(pardata.LANG == RUS) 8099690: 4b56 ldr r3, [pc, #344] ; (80997ec ) 8099692: 7b1b ldrb r3, [r3, #12] 8099694: b2db uxtb r3, r3 8099696: 2b00 cmp r3, #0 8099698: d106 bne.n 80996a8 BSP_LCD_DisplayStringAt(170, 137, "ìì/c^", LEFT_MODE); 809969a: 2303 movs r3, #3 809969c: 4a61 ldr r2, [pc, #388] ; (8099824 ) 809969e: 2189 movs r1, #137 ; 0x89 80996a0: 20aa movs r0, #170 ; 0xaa 80996a2: f7ba f965 bl 8053970 80996a6: e037 b.n 8099718 else BSP_LCD_DisplayStringAt(170, 137, "mm/s^", LEFT_MODE); 80996a8: 2303 movs r3, #3 80996aa: 4a5f ldr r2, [pc, #380] ; (8099828 ) 80996ac: 2189 movs r1, #137 ; 0x89 80996ae: 20aa movs r0, #170 ; 0xaa 80996b0: f7ba f95e bl 8053970 80996b4: e030 b.n 8099718 else if(DiagnFileData.d_Op2_ipr == DIAGN_VEL) 80996b6: 4b48 ldr r3, [pc, #288] ; (80997d8 ) 80996b8: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 80996bc: b2db uxtb r3, r3 80996be: 2b02 cmp r3, #2 80996c0: d112 bne.n 80996e8 if(pardata.LANG == RUS) 80996c2: 4b4a ldr r3, [pc, #296] ; (80997ec ) 80996c4: 7b1b ldrb r3, [r3, #12] 80996c6: b2db uxtb r3, r3 80996c8: 2b00 cmp r3, #0 80996ca: d106 bne.n 80996da BSP_LCD_DisplayStringAt(170, 137, "ìêì/c", LEFT_MODE); 80996cc: 2303 movs r3, #3 80996ce: 4a57 ldr r2, [pc, #348] ; (809982c ) 80996d0: 2189 movs r1, #137 ; 0x89 80996d2: 20aa movs r0, #170 ; 0xaa 80996d4: f7ba f94c bl 8053970 80996d8: e01e b.n 8099718 else BSP_LCD_DisplayStringAt(170, 137, "mkm/s", LEFT_MODE); 80996da: 2303 movs r3, #3 80996dc: 4a54 ldr r2, [pc, #336] ; (8099830 ) 80996de: 2189 movs r1, #137 ; 0x89 80996e0: 20aa movs r0, #170 ; 0xaa 80996e2: f7ba f945 bl 8053970 80996e6: e017 b.n 8099718 else if(DiagnFileData.d_Op2_ipr == DIAGN_DIS) 80996e8: 4b3b ldr r3, [pc, #236] ; (80997d8 ) 80996ea: f893 3029 ldrb.w r3, [r3, #41] ; 0x29 80996ee: b2db uxtb r3, r3 80996f0: 2b04 cmp r3, #4 80996f2: d111 bne.n 8099718 if(pardata.LANG == RUS) 80996f4: 4b3d ldr r3, [pc, #244] ; (80997ec ) 80996f6: 7b1b ldrb r3, [r3, #12] 80996f8: b2db uxtb r3, r3 80996fa: 2b00 cmp r3, #0 80996fc: d106 bne.n 809970c BSP_LCD_DisplayStringAt(170, 137, "íì", LEFT_MODE); 80996fe: 2303 movs r3, #3 8099700: 4a4c ldr r2, [pc, #304] ; (8099834 ) 8099702: 2189 movs r1, #137 ; 0x89 8099704: 20aa movs r0, #170 ; 0xaa 8099706: f7ba f933 bl 8053970 809970a: e005 b.n 8099718 else BSP_LCD_DisplayStringAt(170, 137, "nm", LEFT_MODE); 809970c: 2303 movs r3, #3 809970e: 4a4a ldr r2, [pc, #296] ; (8099838 ) 8099710: 2189 movs r1, #137 ; 0x89 8099712: 20aa movs r0, #170 ; 0xaa 8099714: f7ba f92c bl 8053970 if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -4), RIGHT_MODE); 8099718: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809971c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8099720: eef4 7ac7 vcmpe.f32 s15, s14 8099724: eef1 fa10 vmrs APSR_nzcv, fpscr 8099728: d50e bpl.n 8099748 809972a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809972e: f06f 0003 mvn.w r0, #3 8099732: eeb0 0a67 vmov.f32 s0, s15 8099736: f7cc ffff bl 8066738 809973a: 4602 mov r2, r0 809973c: 2302 movs r3, #2 809973e: 2189 movs r1, #137 ; 0x89 8099740: 20a0 movs r0, #160 ; 0xa0 8099742: f7ba f915 bl 8053970 8099746: e095 b.n 8099874 else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -3), RIGHT_MODE); 8099748: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809974c: ed9f 7a3b vldr s14, [pc, #236] ; 809983c 8099750: eef4 7ac7 vcmpe.f32 s15, s14 8099754: eef1 fa10 vmrs APSR_nzcv, fpscr 8099758: d50e bpl.n 8099778 809975a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809975e: f06f 0002 mvn.w r0, #2 8099762: eeb0 0a67 vmov.f32 s0, s15 8099766: f7cc ffe7 bl 8066738 809976a: 4602 mov r2, r0 809976c: 2302 movs r3, #2 809976e: 2189 movs r1, #137 ; 0x89 8099770: 20a0 movs r0, #160 ; 0xa0 8099772: f7ba f8fd bl 8053970 8099776: e07d b.n 8099874 else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -2), RIGHT_MODE); 8099778: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809977c: ed9f 7a19 vldr s14, [pc, #100] ; 80997e4 8099780: eef4 7ac7 vcmpe.f32 s15, s14 8099784: eef1 fa10 vmrs APSR_nzcv, fpscr 8099788: d50e bpl.n 80997a8 809978a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809978e: f06f 0001 mvn.w r0, #1 8099792: eeb0 0a67 vmov.f32 s0, s15 8099796: f7cc ffcf bl 8066738 809979a: 4602 mov r2, r0 809979c: 2302 movs r3, #2 809979e: 2189 movs r1, #137 ; 0x89 80997a0: 20a0 movs r0, #160 ; 0xa0 80997a2: f7ba f8e5 bl 8053970 80997a6: e065 b.n 8099874 else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -1), RIGHT_MODE); 80997a8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80997ac: ed9f 7a24 vldr s14, [pc, #144] ; 8099840 80997b0: eef4 7ac7 vcmpe.f32 s15, s14 80997b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80997b8: d546 bpl.n 8099848 80997ba: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80997be: f04f 30ff mov.w r0, #4294967295 80997c2: eeb0 0a67 vmov.f32 s0, s15 80997c6: f7cc ffb7 bl 8066738 80997ca: 4602 mov r2, r0 80997cc: 2302 movs r3, #2 80997ce: 2189 movs r1, #137 ; 0x89 80997d0: 20a0 movs r0, #160 ; 0xa0 80997d2: f7ba f8cd bl 8053970 80997d6: e04d b.n 8099874 80997d8: 200225f4 .word 0x200225f4 80997dc: ff0a0f1f .word 0xff0a0f1f 80997e0: ffff0000 .word 0xffff0000 80997e4: 447a0000 .word 0x447a0000 80997e8: 3a83126f .word 0x3a83126f 80997ec: 20023e60 .word 0x20023e60 80997f0: 080d09d0 .word 0x080d09d0 80997f4: 080d09d8 .word 0x080d09d8 80997f8: 080d09e0 .word 0x080d09e0 80997fc: 080d09e4 .word 0x080d09e4 8099800: 080d09e8 .word 0x080d09e8 8099804: 080d09ec .word 0x080d09ec 8099808: 3dcccccd .word 0x3dcccccd 809980c: 080d09f0 .word 0x080d09f0 8099810: 080d09f8 .word 0x080d09f8 8099814: 080d0a00 .word 0x080d0a00 8099818: 080d0a08 .word 0x080d0a08 809981c: 080d0a10 .word 0x080d0a10 8099820: 080d0a14 .word 0x080d0a14 8099824: 080d0a18 .word 0x080d0a18 8099828: 080d0a20 .word 0x080d0a20 809982c: 080d0a28 .word 0x080d0a28 8099830: 080d0a30 .word 0x080d0a30 8099834: 080d0a38 .word 0x080d0a38 8099838: 080d0a3c .word 0x080d0a3c 809983c: 42c80000 .word 0x42c80000 8099840: 461c4000 .word 0x461c4000 8099844: 47c35000 .word 0x47c35000 else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, 0), RIGHT_MODE); 8099848: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809984c: ed1f 7a03 vldr s14, [pc, #-12] ; 8099844 8099850: eef4 7ac7 vcmpe.f32 s15, s14 8099854: eef1 fa10 vmrs APSR_nzcv, fpscr 8099858: d50c bpl.n 8099874 809985a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809985e: 2000 movs r0, #0 8099860: eeb0 0a67 vmov.f32 s0, s15 8099864: f7cc ff68 bl 8066738 8099868: 4602 mov r2, r0 809986a: 2302 movs r3, #2 809986c: 2189 movs r1, #137 ; 0x89 809986e: 20a0 movs r0, #160 ; 0xa0 8099870: f7ba f87e bl 8053970 if((DiagnFileData.d_Op3_ipr != DIAGN_NO) && (DiagnFileData.Op_3.fl != -1.0f)) 8099874: 4bbb ldr r3, [pc, #748] ; (8099b64 ) 8099876: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809987a: b2db uxtb r3, r3 809987c: 2b00 cmp r3, #0 809987e: f000 81ef beq.w 8099c60 8099882: 4bb8 ldr r3, [pc, #736] ; (8099b64 ) 8099884: edd3 7a02 vldr s15, [r3, #8] 8099888: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809988c: eef4 7a47 vcmp.f32 s15, s14 8099890: eef1 fa10 vmrs APSR_nzcv, fpscr 8099894: f000 81e4 beq.w 8099c60 if(DiagnFileData.d_Op3_Color == 0) LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 8099898: 4bb2 ldr r3, [pc, #712] ; (8099b64 ) 809989a: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 809989e: b2db uxtb r3, r3 80998a0: 2b00 cmp r3, #0 80998a2: d105 bne.n 80998b0 80998a4: 49b0 ldr r1, [pc, #704] ; (8099b68 ) 80998a6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80998aa: f7b9 ff9b bl 80537e4 80998ae: e015 b.n 80998dc else if(DiagnFileData.d_Op3_Color == 1) LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 80998b0: 4bac ldr r3, [pc, #688] ; (8099b64 ) 80998b2: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80998b6: b2db uxtb r3, r3 80998b8: 2b01 cmp r3, #1 80998ba: d105 bne.n 80998c8 80998bc: 49aa ldr r1, [pc, #680] ; (8099b68 ) 80998be: f06f 00ff mvn.w r0, #255 ; 0xff 80998c2: f7b9 ff8f bl 80537e4 80998c6: e009 b.n 80998dc else if(DiagnFileData.d_Op3_Color == 2) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80998c8: 4ba6 ldr r3, [pc, #664] ; (8099b64 ) 80998ca: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80998ce: b2db uxtb r3, r3 80998d0: 2b02 cmp r3, #2 80998d2: d103 bne.n 80998dc 80998d4: 49a4 ldr r1, [pc, #656] ; (8099b68 ) 80998d6: 48a5 ldr r0, [pc, #660] ; (8099b6c ) 80998d8: f7b9 ff84 bl 80537e4 f = DiagnFileData.Op_3.fl; 80998dc: 4ba1 ldr r3, [pc, #644] ; (8099b64 ) 80998de: 689b ldr r3, [r3, #8] 80998e0: 647b str r3, [r7, #68] ; 0x44 if((DiagnFileData.d_Op3_ivs != 'E') && (DiagnFileData.d_Op3_ivs != 'F')) 80998e2: 4ba0 ldr r3, [pc, #640] ; (8099b64 ) 80998e4: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80998e8: b2db uxtb r3, r3 80998ea: 2b45 cmp r3, #69 ; 0x45 80998ec: f000 810a beq.w 8099b04 80998f0: 4b9c ldr r3, [pc, #624] ; (8099b64 ) 80998f2: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80998f6: b2db uxtb r3, r3 80998f8: 2b46 cmp r3, #70 ; 0x46 80998fa: f000 8103 beq.w 8099b04 if(f >= 1000.0f) 80998fe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099902: ed9f 7ab1 vldr s14, [pc, #708] ; 8099bc8 8099906: eef4 7ac7 vcmpe.f32 s15, s14 809990a: eef1 fa10 vmrs APSR_nzcv, fpscr 809990e: db53 blt.n 80999b8 f *= 0.001f; 8099910: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099914: ed9f 7a96 vldr s14, [pc, #600] ; 8099b70 8099918: ee67 7a87 vmul.f32 s15, s15, s14 809991c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op3_ipr == DIAGN_ACC) 8099920: 4b90 ldr r3, [pc, #576] ; (8099b64 ) 8099922: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099926: b2db uxtb r3, r3 8099928: 2b01 cmp r3, #1 809992a: d112 bne.n 8099952 if(pardata.LANG == RUS) 809992c: 4b91 ldr r3, [pc, #580] ; (8099b74 ) 809992e: 7b1b ldrb r3, [r3, #12] 8099930: b2db uxtb r3, r3 8099932: 2b00 cmp r3, #0 8099934: d106 bne.n 8099944 BSP_LCD_DisplayStringAt(170, 173, "kì/c^", LEFT_MODE); 8099936: 2303 movs r3, #3 8099938: 4a8f ldr r2, [pc, #572] ; (8099b78 ) 809993a: 21ad movs r1, #173 ; 0xad 809993c: 20aa movs r0, #170 ; 0xaa 809993e: f7ba f817 bl 8053970 8099942: e0df b.n 8099b04 else BSP_LCD_DisplayStringAt(170, 173, "km/s^", LEFT_MODE); 8099944: 2303 movs r3, #3 8099946: 4a8d ldr r2, [pc, #564] ; (8099b7c ) 8099948: 21ad movs r1, #173 ; 0xad 809994a: 20aa movs r0, #170 ; 0xaa 809994c: f7ba f810 bl 8053970 8099950: e0d8 b.n 8099b04 else if(DiagnFileData.d_Op3_ipr == DIAGN_VEL) 8099952: 4b84 ldr r3, [pc, #528] ; (8099b64 ) 8099954: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099958: b2db uxtb r3, r3 809995a: 2b02 cmp r3, #2 809995c: d112 bne.n 8099984 if(pardata.LANG == RUS) 809995e: 4b85 ldr r3, [pc, #532] ; (8099b74 ) 8099960: 7b1b ldrb r3, [r3, #12] 8099962: b2db uxtb r3, r3 8099964: 2b00 cmp r3, #0 8099966: d106 bne.n 8099976 BSP_LCD_DisplayStringAt(170, 173, "ì/c", LEFT_MODE); 8099968: 2303 movs r3, #3 809996a: 4a85 ldr r2, [pc, #532] ; (8099b80 ) 809996c: 21ad movs r1, #173 ; 0xad 809996e: 20aa movs r0, #170 ; 0xaa 8099970: f7b9 fffe bl 8053970 8099974: e0c6 b.n 8099b04 else BSP_LCD_DisplayStringAt(170, 173, "m/s", LEFT_MODE); 8099976: 2303 movs r3, #3 8099978: 4a82 ldr r2, [pc, #520] ; (8099b84 ) 809997a: 21ad movs r1, #173 ; 0xad 809997c: 20aa movs r0, #170 ; 0xaa 809997e: f7b9 fff7 bl 8053970 8099982: e0bf b.n 8099b04 else if(DiagnFileData.d_Op3_ipr == DIAGN_DIS) 8099984: 4b77 ldr r3, [pc, #476] ; (8099b64 ) 8099986: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 809998a: b2db uxtb r3, r3 809998c: 2b04 cmp r3, #4 809998e: f040 80b9 bne.w 8099b04 if(pardata.LANG == RUS) 8099992: 4b78 ldr r3, [pc, #480] ; (8099b74 ) 8099994: 7b1b ldrb r3, [r3, #12] 8099996: b2db uxtb r3, r3 8099998: 2b00 cmp r3, #0 809999a: d106 bne.n 80999aa BSP_LCD_DisplayStringAt(170, 173, "ìì", LEFT_MODE); 809999c: 2303 movs r3, #3 809999e: 4a7a ldr r2, [pc, #488] ; (8099b88 ) 80999a0: 21ad movs r1, #173 ; 0xad 80999a2: 20aa movs r0, #170 ; 0xaa 80999a4: f7b9 ffe4 bl 8053970 80999a8: e0ac b.n 8099b04 else BSP_LCD_DisplayStringAt(170, 173, "mm", LEFT_MODE); 80999aa: 2303 movs r3, #3 80999ac: 4a77 ldr r2, [pc, #476] ; (8099b8c ) 80999ae: 21ad movs r1, #173 ; 0xad 80999b0: 20aa movs r0, #170 ; 0xaa 80999b2: f7b9 ffdd bl 8053970 80999b6: e0a5 b.n 8099b04 if(f >= 0.1f) 80999b8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80999bc: ed9f 7a74 vldr s14, [pc, #464] ; 8099b90 80999c0: eef4 7ac7 vcmpe.f32 s15, s14 80999c4: eef1 fa10 vmrs APSR_nzcv, fpscr 80999c8: db4a blt.n 8099a60 if(DiagnFileData.d_Op3_ipr == DIAGN_ACC) 80999ca: 4b66 ldr r3, [pc, #408] ; (8099b64 ) 80999cc: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 80999d0: b2db uxtb r3, r3 80999d2: 2b01 cmp r3, #1 80999d4: d112 bne.n 80999fc if(pardata.LANG == RUS) 80999d6: 4b67 ldr r3, [pc, #412] ; (8099b74 ) 80999d8: 7b1b ldrb r3, [r3, #12] 80999da: b2db uxtb r3, r3 80999dc: 2b00 cmp r3, #0 80999de: d106 bne.n 80999ee BSP_LCD_DisplayStringAt(170, 173, "ì/c^", LEFT_MODE); 80999e0: 2303 movs r3, #3 80999e2: 4a6c ldr r2, [pc, #432] ; (8099b94 ) 80999e4: 21ad movs r1, #173 ; 0xad 80999e6: 20aa movs r0, #170 ; 0xaa 80999e8: f7b9 ffc2 bl 8053970 80999ec: e08a b.n 8099b04 else BSP_LCD_DisplayStringAt(170, 173, "m/s^", LEFT_MODE); 80999ee: 2303 movs r3, #3 80999f0: 4a69 ldr r2, [pc, #420] ; (8099b98 ) 80999f2: 21ad movs r1, #173 ; 0xad 80999f4: 20aa movs r0, #170 ; 0xaa 80999f6: f7b9 ffbb bl 8053970 80999fa: e083 b.n 8099b04 else if(DiagnFileData.d_Op3_ipr == DIAGN_VEL) 80999fc: 4b59 ldr r3, [pc, #356] ; (8099b64 ) 80999fe: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099a02: b2db uxtb r3, r3 8099a04: 2b02 cmp r3, #2 8099a06: d112 bne.n 8099a2e if(pardata.LANG == RUS) 8099a08: 4b5a ldr r3, [pc, #360] ; (8099b74 ) 8099a0a: 7b1b ldrb r3, [r3, #12] 8099a0c: b2db uxtb r3, r3 8099a0e: 2b00 cmp r3, #0 8099a10: d106 bne.n 8099a20 BSP_LCD_DisplayStringAt(170, 173, "ìì/c", LEFT_MODE); 8099a12: 2303 movs r3, #3 8099a14: 4a61 ldr r2, [pc, #388] ; (8099b9c ) 8099a16: 21ad movs r1, #173 ; 0xad 8099a18: 20aa movs r0, #170 ; 0xaa 8099a1a: f7b9 ffa9 bl 8053970 8099a1e: e071 b.n 8099b04 else BSP_LCD_DisplayStringAt(170, 173, "mm/s", LEFT_MODE); 8099a20: 2303 movs r3, #3 8099a22: 4a5f ldr r2, [pc, #380] ; (8099ba0 ) 8099a24: 21ad movs r1, #173 ; 0xad 8099a26: 20aa movs r0, #170 ; 0xaa 8099a28: f7b9 ffa2 bl 8053970 8099a2c: e06a b.n 8099b04 else if(DiagnFileData.d_Op3_ipr == DIAGN_DIS) 8099a2e: 4b4d ldr r3, [pc, #308] ; (8099b64 ) 8099a30: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099a34: b2db uxtb r3, r3 8099a36: 2b04 cmp r3, #4 8099a38: d164 bne.n 8099b04 if(pardata.LANG == RUS) 8099a3a: 4b4e ldr r3, [pc, #312] ; (8099b74 ) 8099a3c: 7b1b ldrb r3, [r3, #12] 8099a3e: b2db uxtb r3, r3 8099a40: 2b00 cmp r3, #0 8099a42: d106 bne.n 8099a52 BSP_LCD_DisplayStringAt(170, 173, "ìkì", LEFT_MODE); 8099a44: 2303 movs r3, #3 8099a46: 4a57 ldr r2, [pc, #348] ; (8099ba4 ) 8099a48: 21ad movs r1, #173 ; 0xad 8099a4a: 20aa movs r0, #170 ; 0xaa 8099a4c: f7b9 ff90 bl 8053970 8099a50: e058 b.n 8099b04 else BSP_LCD_DisplayStringAt(170, 173, "um", LEFT_MODE); 8099a52: 2303 movs r3, #3 8099a54: 4a54 ldr r2, [pc, #336] ; (8099ba8 ) 8099a56: 21ad movs r1, #173 ; 0xad 8099a58: 20aa movs r0, #170 ; 0xaa 8099a5a: f7b9 ff89 bl 8053970 8099a5e: e051 b.n 8099b04 f *= 1000.0f; 8099a60: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099a64: ed9f 7a58 vldr s14, [pc, #352] ; 8099bc8 8099a68: ee67 7a87 vmul.f32 s15, s15, s14 8099a6c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(DiagnFileData.d_Op3_ipr == DIAGN_ACC) 8099a70: 4b3c ldr r3, [pc, #240] ; (8099b64 ) 8099a72: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099a76: b2db uxtb r3, r3 8099a78: 2b01 cmp r3, #1 8099a7a: d112 bne.n 8099aa2 if(pardata.LANG == RUS) 8099a7c: 4b3d ldr r3, [pc, #244] ; (8099b74 ) 8099a7e: 7b1b ldrb r3, [r3, #12] 8099a80: b2db uxtb r3, r3 8099a82: 2b00 cmp r3, #0 8099a84: d106 bne.n 8099a94 BSP_LCD_DisplayStringAt(170, 173, "ìì/c^", LEFT_MODE); 8099a86: 2303 movs r3, #3 8099a88: 4a48 ldr r2, [pc, #288] ; (8099bac ) 8099a8a: 21ad movs r1, #173 ; 0xad 8099a8c: 20aa movs r0, #170 ; 0xaa 8099a8e: f7b9 ff6f bl 8053970 8099a92: e037 b.n 8099b04 else BSP_LCD_DisplayStringAt(170, 173, "mm/s^", LEFT_MODE); 8099a94: 2303 movs r3, #3 8099a96: 4a46 ldr r2, [pc, #280] ; (8099bb0 ) 8099a98: 21ad movs r1, #173 ; 0xad 8099a9a: 20aa movs r0, #170 ; 0xaa 8099a9c: f7b9 ff68 bl 8053970 8099aa0: e030 b.n 8099b04 else if(DiagnFileData.d_Op3_ipr == DIAGN_VEL) 8099aa2: 4b30 ldr r3, [pc, #192] ; (8099b64 ) 8099aa4: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099aa8: b2db uxtb r3, r3 8099aaa: 2b02 cmp r3, #2 8099aac: d112 bne.n 8099ad4 if(pardata.LANG == RUS) 8099aae: 4b31 ldr r3, [pc, #196] ; (8099b74 ) 8099ab0: 7b1b ldrb r3, [r3, #12] 8099ab2: b2db uxtb r3, r3 8099ab4: 2b00 cmp r3, #0 8099ab6: d106 bne.n 8099ac6 BSP_LCD_DisplayStringAt(170, 173, "ìêì/c", LEFT_MODE); 8099ab8: 2303 movs r3, #3 8099aba: 4a3e ldr r2, [pc, #248] ; (8099bb4 ) 8099abc: 21ad movs r1, #173 ; 0xad 8099abe: 20aa movs r0, #170 ; 0xaa 8099ac0: f7b9 ff56 bl 8053970 8099ac4: e01e b.n 8099b04 else BSP_LCD_DisplayStringAt(170, 173, "mkm/s", LEFT_MODE); 8099ac6: 2303 movs r3, #3 8099ac8: 4a3b ldr r2, [pc, #236] ; (8099bb8 ) 8099aca: 21ad movs r1, #173 ; 0xad 8099acc: 20aa movs r0, #170 ; 0xaa 8099ace: f7b9 ff4f bl 8053970 8099ad2: e017 b.n 8099b04 else if(DiagnFileData.d_Op3_ipr == DIAGN_DIS) 8099ad4: 4b23 ldr r3, [pc, #140] ; (8099b64 ) 8099ad6: f893 302a ldrb.w r3, [r3, #42] ; 0x2a 8099ada: b2db uxtb r3, r3 8099adc: 2b04 cmp r3, #4 8099ade: d111 bne.n 8099b04 if(pardata.LANG == RUS) 8099ae0: 4b24 ldr r3, [pc, #144] ; (8099b74 ) 8099ae2: 7b1b ldrb r3, [r3, #12] 8099ae4: b2db uxtb r3, r3 8099ae6: 2b00 cmp r3, #0 8099ae8: d106 bne.n 8099af8 BSP_LCD_DisplayStringAt(170, 173, "íì", LEFT_MODE); 8099aea: 2303 movs r3, #3 8099aec: 4a33 ldr r2, [pc, #204] ; (8099bbc ) 8099aee: 21ad movs r1, #173 ; 0xad 8099af0: 20aa movs r0, #170 ; 0xaa 8099af2: f7b9 ff3d bl 8053970 8099af6: e005 b.n 8099b04 else BSP_LCD_DisplayStringAt(170, 173, "nm", LEFT_MODE); 8099af8: 2303 movs r3, #3 8099afa: 4a31 ldr r2, [pc, #196] ; (8099bc0 ) 8099afc: 21ad movs r1, #173 ; 0xad 8099afe: 20aa movs r0, #170 ; 0xaa 8099b00: f7b9 ff36 bl 8053970 if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -4), RIGHT_MODE); 8099b04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099b08: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 8099b0c: eef4 7ac7 vcmpe.f32 s15, s14 8099b10: eef1 fa10 vmrs APSR_nzcv, fpscr 8099b14: d50e bpl.n 8099b34 8099b16: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099b1a: f06f 0003 mvn.w r0, #3 8099b1e: eeb0 0a67 vmov.f32 s0, s15 8099b22: f7cc fe09 bl 8066738 8099b26: 4602 mov r2, r0 8099b28: 2302 movs r3, #2 8099b2a: 21ad movs r1, #173 ; 0xad 8099b2c: 20a0 movs r0, #160 ; 0xa0 8099b2e: f7b9 ff1f bl 8053970 8099b32: e095 b.n 8099c60 else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -3), RIGHT_MODE); 8099b34: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099b38: ed9f 7a22 vldr s14, [pc, #136] ; 8099bc4 8099b3c: eef4 7ac7 vcmpe.f32 s15, s14 8099b40: eef1 fa10 vmrs APSR_nzcv, fpscr 8099b44: d546 bpl.n 8099bd4 8099b46: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099b4a: f06f 0002 mvn.w r0, #2 8099b4e: eeb0 0a67 vmov.f32 s0, s15 8099b52: f7cc fdf1 bl 8066738 8099b56: 4602 mov r2, r0 8099b58: 2302 movs r3, #2 8099b5a: 21ad movs r1, #173 ; 0xad 8099b5c: 20a0 movs r0, #160 ; 0xa0 8099b5e: f7b9 ff07 bl 8053970 8099b62: e07d b.n 8099c60 8099b64: 200225f4 .word 0x200225f4 8099b68: ff0a0f1f .word 0xff0a0f1f 8099b6c: ffff0000 .word 0xffff0000 8099b70: 3a83126f .word 0x3a83126f 8099b74: 20023e60 .word 0x20023e60 8099b78: 080d09d0 .word 0x080d09d0 8099b7c: 080d09d8 .word 0x080d09d8 8099b80: 080d09e0 .word 0x080d09e0 8099b84: 080d09e4 .word 0x080d09e4 8099b88: 080d09e8 .word 0x080d09e8 8099b8c: 080d09ec .word 0x080d09ec 8099b90: 3dcccccd .word 0x3dcccccd 8099b94: 080d09f0 .word 0x080d09f0 8099b98: 080d09f8 .word 0x080d09f8 8099b9c: 080d0a00 .word 0x080d0a00 8099ba0: 080d0a08 .word 0x080d0a08 8099ba4: 080d0a10 .word 0x080d0a10 8099ba8: 080d0a14 .word 0x080d0a14 8099bac: 080d0a18 .word 0x080d0a18 8099bb0: 080d0a20 .word 0x080d0a20 8099bb4: 080d0a28 .word 0x080d0a28 8099bb8: 080d0a30 .word 0x080d0a30 8099bbc: 080d0a38 .word 0x080d0a38 8099bc0: 080d0a3c .word 0x080d0a3c 8099bc4: 42c80000 .word 0x42c80000 8099bc8: 447a0000 .word 0x447a0000 8099bcc: 461c4000 .word 0x461c4000 8099bd0: 47c35000 .word 0x47c35000 else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -2), RIGHT_MODE); 8099bd4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099bd8: ed1f 7a05 vldr s14, [pc, #-20] ; 8099bc8 8099bdc: eef4 7ac7 vcmpe.f32 s15, s14 8099be0: eef1 fa10 vmrs APSR_nzcv, fpscr 8099be4: d50e bpl.n 8099c04 8099be6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099bea: f06f 0001 mvn.w r0, #1 8099bee: eeb0 0a67 vmov.f32 s0, s15 8099bf2: f7cc fda1 bl 8066738 8099bf6: 4602 mov r2, r0 8099bf8: 2302 movs r3, #2 8099bfa: 21ad movs r1, #173 ; 0xad 8099bfc: 20a0 movs r0, #160 ; 0xa0 8099bfe: f7b9 feb7 bl 8053970 8099c02: e02d b.n 8099c60 else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -1), RIGHT_MODE); 8099c04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099c08: ed1f 7a10 vldr s14, [pc, #-64] ; 8099bcc 8099c0c: eef4 7ac7 vcmpe.f32 s15, s14 8099c10: eef1 fa10 vmrs APSR_nzcv, fpscr 8099c14: d50e bpl.n 8099c34 8099c16: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099c1a: f04f 30ff mov.w r0, #4294967295 8099c1e: eeb0 0a67 vmov.f32 s0, s15 8099c22: f7cc fd89 bl 8066738 8099c26: 4602 mov r2, r0 8099c28: 2302 movs r3, #2 8099c2a: 21ad movs r1, #173 ; 0xad 8099c2c: 20a0 movs r0, #160 ; 0xa0 8099c2e: f7b9 fe9f bl 8053970 8099c32: e015 b.n 8099c60 else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, 0), RIGHT_MODE); 8099c34: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099c38: ed1f 7a1b vldr s14, [pc, #-108] ; 8099bd0 8099c3c: eef4 7ac7 vcmpe.f32 s15, s14 8099c40: eef1 fa10 vmrs APSR_nzcv, fpscr 8099c44: d50c bpl.n 8099c60 8099c46: edd7 7a11 vldr s15, [r7, #68] ; 0x44 8099c4a: 2000 movs r0, #0 8099c4c: eeb0 0a67 vmov.f32 s0, s15 8099c50: f7cc fd72 bl 8066738 8099c54: 4602 mov r2, r0 8099c56: 2302 movs r3, #2 8099c58: 21ad movs r1, #173 ; 0xad 8099c5a: 20a0 movs r0, #160 ; 0xa0 8099c5c: f7b9 fe88 bl 8053970 if(DiagnFileData.d_Alarm) 8099c60: 4bc8 ldr r3, [pc, #800] ; (8099f84 ) 8099c62: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 8099c66: b2db uxtb r3, r3 8099c68: 2b00 cmp r3, #0 8099c6a: d006 beq.n 8099c7a DrawImage(&bmmy_A, 316-65, 121); 8099c6c: 2279 movs r2, #121 ; 0x79 8099c6e: 21fb movs r1, #251 ; 0xfb 8099c70: 48c5 ldr r0, [pc, #788] ; (8099f88 ) 8099c72: f7ba fcab bl 80545cc break; 8099c76: f009 bf1b b.w 80a3ab0 if(DiagnFileData.d_Warning) 8099c7a: 4bc2 ldr r3, [pc, #776] ; (8099f84 ) 8099c7c: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 8099c80: b2db uxtb r3, r3 8099c82: 2b00 cmp r3, #0 8099c84: f009 8714 beq.w 80a3ab0 DrawImage(&bmmy_W, 316-65, 121); 8099c88: 2279 movs r2, #121 ; 0x79 8099c8a: 21fb movs r1, #251 ; 0xfb 8099c8c: 48bf ldr r0, [pc, #764] ; (8099f8c ) 8099c8e: f7ba fc9d bl 80545cc break; 8099c92: f009 bf0d b.w 80a3ab0 if(NextIndexMeas < IndexMeas[NextIndexPoint]) 8099c96: 4bbe ldr r3, [pc, #760] ; (8099f90 ) 8099c98: 681b ldr r3, [r3, #0] 8099c9a: 4abe ldr r2, [pc, #760] ; (8099f94 ) 8099c9c: f852 2023 ldr.w r2, [r2, r3, lsl #2] 8099ca0: 4bbd ldr r3, [pc, #756] ; (8099f98 ) 8099ca2: 681b ldr r3, [r3, #0] 8099ca4: 429a cmp r2, r3 8099ca6: d905 bls.n 8099cb4 DrawImage(&bmSAVED, 298, 39); 8099ca8: 2227 movs r2, #39 ; 0x27 8099caa: f44f 7195 mov.w r1, #298 ; 0x12a 8099cae: 48bb ldr r0, [pc, #748] ; (8099f9c ) 8099cb0: f7ba fc8c bl 80545cc LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 8099cb4: 49ba ldr r1, [pc, #744] ; (8099fa0 ) 8099cb6: f04f 30ff mov.w r0, #4294967295 8099cba: f7b9 fd93 bl 80537e4 memset(str, 0, sizeof(str)); 8099cbe: f107 030c add.w r3, r7, #12 8099cc2: 2228 movs r2, #40 ; 0x28 8099cc4: 2100 movs r1, #0 8099cc6: 4618 mov r0, r3 8099cc8: f033 f9da bl 80cd080 switch(pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) 8099ccc: 4bb5 ldr r3, [pc, #724] ; (8099fa4 ) 8099cce: 781b ldrb r3, [r3, #0] 8099cd0: b2db uxtb r3, r3 8099cd2: 4ab5 ldr r2, [pc, #724] ; (8099fa8 ) 8099cd4: 338e adds r3, #142 ; 0x8e 8099cd6: 009b lsls r3, r3, #2 8099cd8: 4413 add r3, r2 8099cda: 791b ldrb r3, [r3, #4] 8099cdc: b2db uxtb r3, r3 8099cde: f003 0307 and.w r3, r3, #7 8099ce2: 2b04 cmp r3, #4 8099ce4: f200 8123 bhi.w 8099f2e 8099ce8: a201 add r2, pc, #4 ; (adr r2, 8099cf0 ) 8099cea: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8099cee: bf00 nop 8099cf0: 08099d05 .word 0x08099d05 8099cf4: 08099d13 .word 0x08099d13 8099cf8: 08099dc5 .word 0x08099dc5 8099cfc: 08099f2f .word 0x08099f2f 8099d00: 08099e75 .word 0x08099e75 case DIAGN_NO: BSP_LCD_DisplayStringAt(30, 101, "----", LEFT_MODE); break; 8099d04: 2303 movs r3, #3 8099d06: 4aa9 ldr r2, [pc, #676] ; (8099fac ) 8099d08: 2165 movs r1, #101 ; 0x65 8099d0a: 201e movs r0, #30 8099d0c: f7b9 fe30 bl 8053970 8099d10: e10d b.n 8099f2e switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 8099d12: 4ba4 ldr r3, [pc, #656] ; (8099fa4 ) 8099d14: 781b ldrb r3, [r3, #0] 8099d16: b2db uxtb r3, r3 8099d18: 4aa3 ldr r2, [pc, #652] ; (8099fa8 ) 8099d1a: 338e adds r3, #142 ; 0x8e 8099d1c: 009b lsls r3, r3, #2 8099d1e: 4413 add r3, r2 8099d20: 791b ldrb r3, [r3, #4] 8099d22: b2db uxtb r3, r3 8099d24: 08db lsrs r3, r3, #3 8099d26: b2db uxtb r3, r3 8099d28: f003 031f and.w r3, r3, #31 8099d2c: 3b01 subs r3, #1 8099d2e: 2b0f cmp r3, #15 8099d30: f200 80f8 bhi.w 8099f24 8099d34: a201 add r2, pc, #4 ; (adr r2, 8099d3c ) 8099d36: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8099d3a: bf00 nop 8099d3c: 08099d7d .word 0x08099d7d 8099d40: 08099d8b .word 0x08099d8b 8099d44: 08099f25 .word 0x08099f25 8099d48: 08099d99 .word 0x08099d99 8099d4c: 08099f25 .word 0x08099f25 8099d50: 08099f25 .word 0x08099f25 8099d54: 08099f25 .word 0x08099f25 8099d58: 08099da7 .word 0x08099da7 8099d5c: 08099f25 .word 0x08099f25 8099d60: 08099f25 .word 0x08099f25 8099d64: 08099f25 .word 0x08099f25 8099d68: 08099f25 .word 0x08099f25 8099d6c: 08099f25 .word 0x08099f25 8099d70: 08099f25 .word 0x08099f25 8099d74: 08099f25 .word 0x08099f25 8099d78: 08099db5 .word 0x08099db5 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê]", LEFT_MODE); break; 8099d7c: 2303 movs r3, #3 8099d7e: 4a8c ldr r2, [pc, #560] ; (8099fb0 ) 8099d80: 2165 movs r1, #101 ; 0x65 8099d82: 201e movs r0, #30 8099d84: f7b9 fdf4 bl 8053970 8099d88: e01b b.n 8099dc2 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 101, "A[ñêç]", LEFT_MODE); break; 8099d8a: 2303 movs r3, #3 8099d8c: 4a89 ldr r2, [pc, #548] ; (8099fb4 ) 8099d8e: 2165 movs r1, #101 ; 0x65 8099d90: 201e movs r0, #30 8099d92: f7b9 fded bl 8053970 8099d96: e014 b.n 8099dc2 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "A[ïèê-ïèê]", LEFT_MODE); break; 8099d98: 2303 movs r3, #3 8099d9a: 4a87 ldr r2, [pc, #540] ; (8099fb8 ) 8099d9c: 2165 movs r1, #101 ; 0x65 8099d9e: 201e movs r0, #30 8099da0: f7b9 fde6 bl 8053970 8099da4: e00d b.n 8099dc2 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 101, "A[ïô]", LEFT_MODE); break; 8099da6: 2303 movs r3, #3 8099da8: 4a84 ldr r2, [pc, #528] ; (8099fbc ) 8099daa: 2165 movs r1, #101 ; 0x65 8099dac: 201e movs r0, #30 8099dae: f7b9 fddf bl 8053970 8099db2: e006 b.n 8099dc2 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 101, "A[ýêñö]", LEFT_MODE); break; 8099db4: 2303 movs r3, #3 8099db6: 4a82 ldr r2, [pc, #520] ; (8099fc0 ) 8099db8: 2165 movs r1, #101 ; 0x65 8099dba: 201e movs r0, #30 8099dbc: f7b9 fdd8 bl 8053970 8099dc0: bf00 nop break; 8099dc2: e0af b.n 8099f24 switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 8099dc4: 4b77 ldr r3, [pc, #476] ; (8099fa4 ) 8099dc6: 781b ldrb r3, [r3, #0] 8099dc8: b2db uxtb r3, r3 8099dca: 4a77 ldr r2, [pc, #476] ; (8099fa8 ) 8099dcc: 338e adds r3, #142 ; 0x8e 8099dce: 009b lsls r3, r3, #2 8099dd0: 4413 add r3, r2 8099dd2: 791b ldrb r3, [r3, #4] 8099dd4: b2db uxtb r3, r3 8099dd6: 08db lsrs r3, r3, #3 8099dd8: b2db uxtb r3, r3 8099dda: f003 031f and.w r3, r3, #31 8099dde: 3b01 subs r3, #1 8099de0: 2b0f cmp r3, #15 8099de2: f200 80a1 bhi.w 8099f28 8099de6: a201 add r2, pc, #4 ; (adr r2, 8099dec ) 8099de8: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8099dec: 08099e2d .word 0x08099e2d 8099df0: 08099e3b .word 0x08099e3b 8099df4: 08099f29 .word 0x08099f29 8099df8: 08099e49 .word 0x08099e49 8099dfc: 08099f29 .word 0x08099f29 8099e00: 08099f29 .word 0x08099f29 8099e04: 08099f29 .word 0x08099f29 8099e08: 08099e57 .word 0x08099e57 8099e0c: 08099f29 .word 0x08099f29 8099e10: 08099f29 .word 0x08099f29 8099e14: 08099f29 .word 0x08099f29 8099e18: 08099f29 .word 0x08099f29 8099e1c: 08099f29 .word 0x08099f29 8099e20: 08099f29 .word 0x08099f29 8099e24: 08099f29 .word 0x08099f29 8099e28: 08099e65 .word 0x08099e65 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê]", LEFT_MODE); break; 8099e2c: 2303 movs r3, #3 8099e2e: 4a65 ldr r2, [pc, #404] ; (8099fc4 ) 8099e30: 2165 movs r1, #101 ; 0x65 8099e32: 201e movs r0, #30 8099e34: f7b9 fd9c bl 8053970 8099e38: e01b b.n 8099e72 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 101, "V[ñêç]", LEFT_MODE); break; 8099e3a: 2303 movs r3, #3 8099e3c: 4a62 ldr r2, [pc, #392] ; (8099fc8 ) 8099e3e: 2165 movs r1, #101 ; 0x65 8099e40: 201e movs r0, #30 8099e42: f7b9 fd95 bl 8053970 8099e46: e014 b.n 8099e72 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "V[ïèê-ïèê]", LEFT_MODE); break; 8099e48: 2303 movs r3, #3 8099e4a: 4a60 ldr r2, [pc, #384] ; (8099fcc ) 8099e4c: 2165 movs r1, #101 ; 0x65 8099e4e: 201e movs r0, #30 8099e50: f7b9 fd8e bl 8053970 8099e54: e00d b.n 8099e72 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 101, "V[ïô]", LEFT_MODE); break; 8099e56: 2303 movs r3, #3 8099e58: 4a5d ldr r2, [pc, #372] ; (8099fd0 ) 8099e5a: 2165 movs r1, #101 ; 0x65 8099e5c: 201e movs r0, #30 8099e5e: f7b9 fd87 bl 8053970 8099e62: e006 b.n 8099e72 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 101, "V[ýêñö]", LEFT_MODE); break; 8099e64: 2303 movs r3, #3 8099e66: 4a5b ldr r2, [pc, #364] ; (8099fd4 ) 8099e68: 2165 movs r1, #101 ; 0x65 8099e6a: 201e movs r0, #30 8099e6c: f7b9 fd80 bl 8053970 8099e70: bf00 nop break; 8099e72: e059 b.n 8099f28 switch((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) 8099e74: 4b4b ldr r3, [pc, #300] ; (8099fa4 ) 8099e76: 781b ldrb r3, [r3, #0] 8099e78: b2db uxtb r3, r3 8099e7a: 4a4b ldr r2, [pc, #300] ; (8099fa8 ) 8099e7c: 338e adds r3, #142 ; 0x8e 8099e7e: 009b lsls r3, r3, #2 8099e80: 4413 add r3, r2 8099e82: 791b ldrb r3, [r3, #4] 8099e84: b2db uxtb r3, r3 8099e86: 08db lsrs r3, r3, #3 8099e88: b2db uxtb r3, r3 8099e8a: f003 031f and.w r3, r3, #31 8099e8e: 3b01 subs r3, #1 8099e90: 2b0f cmp r3, #15 8099e92: d84b bhi.n 8099f2c 8099e94: a201 add r2, pc, #4 ; (adr r2, 8099e9c ) 8099e96: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8099e9a: bf00 nop 8099e9c: 08099edd .word 0x08099edd 8099ea0: 08099eeb .word 0x08099eeb 8099ea4: 08099f2d .word 0x08099f2d 8099ea8: 08099ef9 .word 0x08099ef9 8099eac: 08099f2d .word 0x08099f2d 8099eb0: 08099f2d .word 0x08099f2d 8099eb4: 08099f2d .word 0x08099f2d 8099eb8: 08099f07 .word 0x08099f07 8099ebc: 08099f2d .word 0x08099f2d 8099ec0: 08099f2d .word 0x08099f2d 8099ec4: 08099f2d .word 0x08099f2d 8099ec8: 08099f2d .word 0x08099f2d 8099ecc: 08099f2d .word 0x08099f2d 8099ed0: 08099f2d .word 0x08099f2d 8099ed4: 08099f2d .word 0x08099f2d 8099ed8: 08099f15 .word 0x08099f15 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê]", LEFT_MODE); break; 8099edc: 2303 movs r3, #3 8099ede: 4a3e ldr r2, [pc, #248] ; (8099fd8 ) 8099ee0: 2165 movs r1, #101 ; 0x65 8099ee2: 201e movs r0, #30 8099ee4: f7b9 fd44 bl 8053970 8099ee8: e01b b.n 8099f22 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 101, "S[ñêç]", LEFT_MODE); break; 8099eea: 2303 movs r3, #3 8099eec: 4a3b ldr r2, [pc, #236] ; (8099fdc ) 8099eee: 2165 movs r1, #101 ; 0x65 8099ef0: 201e movs r0, #30 8099ef2: f7b9 fd3d bl 8053970 8099ef6: e014 b.n 8099f22 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 101, "S[ïèê-ïèê]", LEFT_MODE); break; 8099ef8: 2303 movs r3, #3 8099efa: 4a39 ldr r2, [pc, #228] ; (8099fe0 ) 8099efc: 2165 movs r1, #101 ; 0x65 8099efe: 201e movs r0, #30 8099f00: f7b9 fd36 bl 8053970 8099f04: e00d b.n 8099f22 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 101, "S[ïô]", LEFT_MODE); break; 8099f06: 2303 movs r3, #3 8099f08: 4a36 ldr r2, [pc, #216] ; (8099fe4 ) 8099f0a: 2165 movs r1, #101 ; 0x65 8099f0c: 201e movs r0, #30 8099f0e: f7b9 fd2f bl 8053970 8099f12: e006 b.n 8099f22 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 101, "S[ýêñö]", LEFT_MODE); break; 8099f14: 2303 movs r3, #3 8099f16: 4a34 ldr r2, [pc, #208] ; (8099fe8 ) 8099f18: 2165 movs r1, #101 ; 0x65 8099f1a: 201e movs r0, #30 8099f1c: f7b9 fd28 bl 8053970 8099f20: bf00 nop break; 8099f22: e003 b.n 8099f2c break; 8099f24: bf00 nop 8099f26: e002 b.n 8099f2e break; 8099f28: bf00 nop 8099f2a: e000 b.n 8099f2e break; 8099f2c: bf00 nop memset(str, 0, sizeof(str)); 8099f2e: f107 030c add.w r3, r7, #12 8099f32: 2228 movs r2, #40 ; 0x28 8099f34: 2100 movs r1, #0 8099f36: 4618 mov r0, r3 8099f38: f033 f8a2 bl 80cd080 switch(pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) 8099f3c: 4b19 ldr r3, [pc, #100] ; (8099fa4 ) 8099f3e: 781b ldrb r3, [r3, #0] 8099f40: b2db uxtb r3, r3 8099f42: 4a19 ldr r2, [pc, #100] ; (8099fa8 ) 8099f44: 009b lsls r3, r3, #2 8099f46: 4413 add r3, r2 8099f48: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8099f4c: b2db uxtb r3, r3 8099f4e: f003 0307 and.w r3, r3, #7 8099f52: 2b04 cmp r3, #4 8099f54: f200 8157 bhi.w 809a206 8099f58: a201 add r2, pc, #4 ; (adr r2, 8099f60 ) 8099f5a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 8099f5e: bf00 nop 8099f60: 08099f75 .word 0x08099f75 8099f64: 08099fed .word 0x08099fed 8099f68: 0809a09d .word 0x0809a09d 8099f6c: 0809a207 .word 0x0809a207 8099f70: 0809a14d .word 0x0809a14d case DIAGN_NO: BSP_LCD_DisplayStringAt(197, 137, "----", LEFT_MODE); break; 8099f74: 2303 movs r3, #3 8099f76: 4a0d ldr r2, [pc, #52] ; (8099fac ) 8099f78: 2189 movs r1, #137 ; 0x89 8099f7a: 20c5 movs r0, #197 ; 0xc5 8099f7c: f7b9 fcf8 bl 8053970 8099f80: e141 b.n 809a206 8099f82: bf00 nop 8099f84: 200225f4 .word 0x200225f4 8099f88: 08168b2c .word 0x08168b2c 8099f8c: 08169c04 .word 0x08169c04 8099f90: 20021f9c .word 0x20021f9c 8099f94: 20022ea0 .word 0x20022ea0 8099f98: 20022310 .word 0x20022310 8099f9c: 08147a80 .word 0x08147a80 8099fa0: ff0a0f1f .word 0xff0a0f1f 8099fa4: 20021011 .word 0x20021011 8099fa8: 20023e60 .word 0x20023e60 8099fac: 080d09c8 .word 0x080d09c8 8099fb0: 080d0944 .word 0x080d0944 8099fb4: 080d094c .word 0x080d094c 8099fb8: 080d0954 .word 0x080d0954 8099fbc: 080d0960 .word 0x080d0960 8099fc0: 080d0968 .word 0x080d0968 8099fc4: 080d0970 .word 0x080d0970 8099fc8: 080d0978 .word 0x080d0978 8099fcc: 080d0980 .word 0x080d0980 8099fd0: 080d098c .word 0x080d098c 8099fd4: 080d0994 .word 0x080d0994 8099fd8: 080d099c .word 0x080d099c 8099fdc: 080d09a4 .word 0x080d09a4 8099fe0: 080d09ac .word 0x080d09ac 8099fe4: 080d09b8 .word 0x080d09b8 8099fe8: 080d09c0 .word 0x080d09c0 switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 8099fec: 4bc7 ldr r3, [pc, #796] ; (809a30c ) 8099fee: 781b ldrb r3, [r3, #0] 8099ff0: b2db uxtb r3, r3 8099ff2: 4ac7 ldr r2, [pc, #796] ; (809a310 ) 8099ff4: 009b lsls r3, r3, #2 8099ff6: 4413 add r3, r2 8099ff8: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 8099ffc: b2db uxtb r3, r3 8099ffe: 08db lsrs r3, r3, #3 809a000: b2db uxtb r3, r3 809a002: f003 031f and.w r3, r3, #31 809a006: 3b01 subs r3, #1 809a008: 2b0f cmp r3, #15 809a00a: f200 80f7 bhi.w 809a1fc 809a00e: a201 add r2, pc, #4 ; (adr r2, 809a014 ) 809a010: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809a014: 0809a055 .word 0x0809a055 809a018: 0809a063 .word 0x0809a063 809a01c: 0809a1fd .word 0x0809a1fd 809a020: 0809a071 .word 0x0809a071 809a024: 0809a1fd .word 0x0809a1fd 809a028: 0809a1fd .word 0x0809a1fd 809a02c: 0809a1fd .word 0x0809a1fd 809a030: 0809a07f .word 0x0809a07f 809a034: 0809a1fd .word 0x0809a1fd 809a038: 0809a1fd .word 0x0809a1fd 809a03c: 0809a1fd .word 0x0809a1fd 809a040: 0809a1fd .word 0x0809a1fd 809a044: 0809a1fd .word 0x0809a1fd 809a048: 0809a1fd .word 0x0809a1fd 809a04c: 0809a1fd .word 0x0809a1fd 809a050: 0809a08d .word 0x0809a08d case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê]", LEFT_MODE); break; 809a054: 2303 movs r3, #3 809a056: 4aaf ldr r2, [pc, #700] ; (809a314 ) 809a058: 2189 movs r1, #137 ; 0x89 809a05a: 201e movs r0, #30 809a05c: f7b9 fc88 bl 8053970 809a060: e01b b.n 809a09a case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 137, "A[ñêç]", LEFT_MODE); break; 809a062: 2303 movs r3, #3 809a064: 4aac ldr r2, [pc, #688] ; (809a318 ) 809a066: 2189 movs r1, #137 ; 0x89 809a068: 201e movs r0, #30 809a06a: f7b9 fc81 bl 8053970 809a06e: e014 b.n 809a09a case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "A[ïèê-ïèê]", LEFT_MODE); break; 809a070: 2303 movs r3, #3 809a072: 4aaa ldr r2, [pc, #680] ; (809a31c ) 809a074: 2189 movs r1, #137 ; 0x89 809a076: 201e movs r0, #30 809a078: f7b9 fc7a bl 8053970 809a07c: e00d b.n 809a09a case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 137, "A[ïô]", LEFT_MODE); break; 809a07e: 2303 movs r3, #3 809a080: 4aa7 ldr r2, [pc, #668] ; (809a320 ) 809a082: 2189 movs r1, #137 ; 0x89 809a084: 201e movs r0, #30 809a086: f7b9 fc73 bl 8053970 809a08a: e006 b.n 809a09a case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 137, "A[ýêñö]", LEFT_MODE); break; 809a08c: 2303 movs r3, #3 809a08e: 4aa5 ldr r2, [pc, #660] ; (809a324 ) 809a090: 2189 movs r1, #137 ; 0x89 809a092: 201e movs r0, #30 809a094: f7b9 fc6c bl 8053970 809a098: bf00 nop break; 809a09a: e0af b.n 809a1fc switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 809a09c: 4b9b ldr r3, [pc, #620] ; (809a30c ) 809a09e: 781b ldrb r3, [r3, #0] 809a0a0: b2db uxtb r3, r3 809a0a2: 4a9b ldr r2, [pc, #620] ; (809a310 ) 809a0a4: 009b lsls r3, r3, #2 809a0a6: 4413 add r3, r2 809a0a8: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809a0ac: b2db uxtb r3, r3 809a0ae: 08db lsrs r3, r3, #3 809a0b0: b2db uxtb r3, r3 809a0b2: f003 031f and.w r3, r3, #31 809a0b6: 3b01 subs r3, #1 809a0b8: 2b0f cmp r3, #15 809a0ba: f200 80a1 bhi.w 809a200 809a0be: a201 add r2, pc, #4 ; (adr r2, 809a0c4 ) 809a0c0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809a0c4: 0809a105 .word 0x0809a105 809a0c8: 0809a113 .word 0x0809a113 809a0cc: 0809a201 .word 0x0809a201 809a0d0: 0809a121 .word 0x0809a121 809a0d4: 0809a201 .word 0x0809a201 809a0d8: 0809a201 .word 0x0809a201 809a0dc: 0809a201 .word 0x0809a201 809a0e0: 0809a12f .word 0x0809a12f 809a0e4: 0809a201 .word 0x0809a201 809a0e8: 0809a201 .word 0x0809a201 809a0ec: 0809a201 .word 0x0809a201 809a0f0: 0809a201 .word 0x0809a201 809a0f4: 0809a201 .word 0x0809a201 809a0f8: 0809a201 .word 0x0809a201 809a0fc: 0809a201 .word 0x0809a201 809a100: 0809a13d .word 0x0809a13d case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê]", LEFT_MODE); break; 809a104: 2303 movs r3, #3 809a106: 4a88 ldr r2, [pc, #544] ; (809a328 ) 809a108: 2189 movs r1, #137 ; 0x89 809a10a: 201e movs r0, #30 809a10c: f7b9 fc30 bl 8053970 809a110: e01b b.n 809a14a case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 137, "V[ñêç]", LEFT_MODE); break; 809a112: 2303 movs r3, #3 809a114: 4a85 ldr r2, [pc, #532] ; (809a32c ) 809a116: 2189 movs r1, #137 ; 0x89 809a118: 201e movs r0, #30 809a11a: f7b9 fc29 bl 8053970 809a11e: e014 b.n 809a14a case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "V[ïèê-ïèê]", LEFT_MODE); break; 809a120: 2303 movs r3, #3 809a122: 4a83 ldr r2, [pc, #524] ; (809a330 ) 809a124: 2189 movs r1, #137 ; 0x89 809a126: 201e movs r0, #30 809a128: f7b9 fc22 bl 8053970 809a12c: e00d b.n 809a14a case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 137, "V[ïô]", LEFT_MODE); break; 809a12e: 2303 movs r3, #3 809a130: 4a80 ldr r2, [pc, #512] ; (809a334 ) 809a132: 2189 movs r1, #137 ; 0x89 809a134: 201e movs r0, #30 809a136: f7b9 fc1b bl 8053970 809a13a: e006 b.n 809a14a case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 137, "V[ýêñö]", LEFT_MODE); break; 809a13c: 2303 movs r3, #3 809a13e: 4a7e ldr r2, [pc, #504] ; (809a338 ) 809a140: 2189 movs r1, #137 ; 0x89 809a142: 201e movs r0, #30 809a144: f7b9 fc14 bl 8053970 809a148: bf00 nop break; 809a14a: e059 b.n 809a200 switch((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) 809a14c: 4b6f ldr r3, [pc, #444] ; (809a30c ) 809a14e: 781b ldrb r3, [r3, #0] 809a150: b2db uxtb r3, r3 809a152: 4a6f ldr r2, [pc, #444] ; (809a310 ) 809a154: 009b lsls r3, r3, #2 809a156: 4413 add r3, r2 809a158: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809a15c: b2db uxtb r3, r3 809a15e: 08db lsrs r3, r3, #3 809a160: b2db uxtb r3, r3 809a162: f003 031f and.w r3, r3, #31 809a166: 3b01 subs r3, #1 809a168: 2b0f cmp r3, #15 809a16a: d84b bhi.n 809a204 809a16c: a201 add r2, pc, #4 ; (adr r2, 809a174 ) 809a16e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809a172: bf00 nop 809a174: 0809a1b5 .word 0x0809a1b5 809a178: 0809a1c3 .word 0x0809a1c3 809a17c: 0809a205 .word 0x0809a205 809a180: 0809a1d1 .word 0x0809a1d1 809a184: 0809a205 .word 0x0809a205 809a188: 0809a205 .word 0x0809a205 809a18c: 0809a205 .word 0x0809a205 809a190: 0809a1df .word 0x0809a1df 809a194: 0809a205 .word 0x0809a205 809a198: 0809a205 .word 0x0809a205 809a19c: 0809a205 .word 0x0809a205 809a1a0: 0809a205 .word 0x0809a205 809a1a4: 0809a205 .word 0x0809a205 809a1a8: 0809a205 .word 0x0809a205 809a1ac: 0809a205 .word 0x0809a205 809a1b0: 0809a1ed .word 0x0809a1ed case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê]", LEFT_MODE); break; 809a1b4: 2303 movs r3, #3 809a1b6: 4a61 ldr r2, [pc, #388] ; (809a33c ) 809a1b8: 2189 movs r1, #137 ; 0x89 809a1ba: 201e movs r0, #30 809a1bc: f7b9 fbd8 bl 8053970 809a1c0: e01b b.n 809a1fa case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 137, "S[ñêç]", LEFT_MODE); break; 809a1c2: 2303 movs r3, #3 809a1c4: 4a5e ldr r2, [pc, #376] ; (809a340 ) 809a1c6: 2189 movs r1, #137 ; 0x89 809a1c8: 201e movs r0, #30 809a1ca: f7b9 fbd1 bl 8053970 809a1ce: e014 b.n 809a1fa case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 137, "S[ïèê-ïèê]", LEFT_MODE); break; 809a1d0: 2303 movs r3, #3 809a1d2: 4a5c ldr r2, [pc, #368] ; (809a344 ) 809a1d4: 2189 movs r1, #137 ; 0x89 809a1d6: 201e movs r0, #30 809a1d8: f7b9 fbca bl 8053970 809a1dc: e00d b.n 809a1fa case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 137, "S[ïô]", LEFT_MODE); break; 809a1de: 2303 movs r3, #3 809a1e0: 4a59 ldr r2, [pc, #356] ; (809a348 ) 809a1e2: 2189 movs r1, #137 ; 0x89 809a1e4: 201e movs r0, #30 809a1e6: f7b9 fbc3 bl 8053970 809a1ea: e006 b.n 809a1fa case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 137, "S[ýêñö]", LEFT_MODE); break; 809a1ec: 2303 movs r3, #3 809a1ee: 4a57 ldr r2, [pc, #348] ; (809a34c ) 809a1f0: 2189 movs r1, #137 ; 0x89 809a1f2: 201e movs r0, #30 809a1f4: f7b9 fbbc bl 8053970 809a1f8: bf00 nop break; 809a1fa: e003 b.n 809a204 break; 809a1fc: bf00 nop 809a1fe: e002 b.n 809a206 break; 809a200: bf00 nop 809a202: e000 b.n 809a206 break; 809a204: bf00 nop memset(str, 0, sizeof(str)); 809a206: f107 030c add.w r3, r7, #12 809a20a: 2228 movs r2, #40 ; 0x28 809a20c: 2100 movs r1, #0 809a20e: 4618 mov r0, r3 809a210: f032 ff36 bl 80cd080 switch(pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) 809a214: 4b3d ldr r3, [pc, #244] ; (809a30c ) 809a216: 781b ldrb r3, [r3, #0] 809a218: b2db uxtb r3, r3 809a21a: 4a3d ldr r2, [pc, #244] ; (809a310 ) 809a21c: 009b lsls r3, r3, #2 809a21e: 4413 add r3, r2 809a220: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809a224: b2db uxtb r3, r3 809a226: f003 0307 and.w r3, r3, #7 809a22a: 2b04 cmp r3, #4 809a22c: f200 8147 bhi.w 809a4be 809a230: a201 add r2, pc, #4 ; (adr r2, 809a238 ) 809a232: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809a236: bf00 nop 809a238: 0809a24d .word 0x0809a24d 809a23c: 0809a25b .word 0x0809a25b 809a240: 0809a355 .word 0x0809a355 809a244: 0809a4bf .word 0x0809a4bf 809a248: 0809a405 .word 0x0809a405 case DIAGN_NO: BSP_LCD_DisplayStringAt(72, 173, "----", LEFT_MODE); break; 809a24c: 2303 movs r3, #3 809a24e: 4a40 ldr r2, [pc, #256] ; (809a350 ) 809a250: 21ad movs r1, #173 ; 0xad 809a252: 2048 movs r0, #72 ; 0x48 809a254: f7b9 fb8c bl 8053970 809a258: e131 b.n 809a4be switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 809a25a: 4b2c ldr r3, [pc, #176] ; (809a30c ) 809a25c: 781b ldrb r3, [r3, #0] 809a25e: b2db uxtb r3, r3 809a260: 4a2b ldr r2, [pc, #172] ; (809a310 ) 809a262: 009b lsls r3, r3, #2 809a264: 4413 add r3, r2 809a266: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809a26a: b2db uxtb r3, r3 809a26c: 08db lsrs r3, r3, #3 809a26e: b2db uxtb r3, r3 809a270: f003 031f and.w r3, r3, #31 809a274: 3b01 subs r3, #1 809a276: 2b0f cmp r3, #15 809a278: f200 811c bhi.w 809a4b4 809a27c: a201 add r2, pc, #4 ; (adr r2, 809a284 ) 809a27e: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809a282: bf00 nop 809a284: 0809a2c5 .word 0x0809a2c5 809a288: 0809a2d3 .word 0x0809a2d3 809a28c: 0809a4b5 .word 0x0809a4b5 809a290: 0809a2e1 .word 0x0809a2e1 809a294: 0809a4b5 .word 0x0809a4b5 809a298: 0809a4b5 .word 0x0809a4b5 809a29c: 0809a4b5 .word 0x0809a4b5 809a2a0: 0809a2ef .word 0x0809a2ef 809a2a4: 0809a4b5 .word 0x0809a4b5 809a2a8: 0809a4b5 .word 0x0809a4b5 809a2ac: 0809a4b5 .word 0x0809a4b5 809a2b0: 0809a4b5 .word 0x0809a4b5 809a2b4: 0809a4b5 .word 0x0809a4b5 809a2b8: 0809a4b5 .word 0x0809a4b5 809a2bc: 0809a4b5 .word 0x0809a4b5 809a2c0: 0809a2fd .word 0x0809a2fd case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê]", LEFT_MODE); break; 809a2c4: 2303 movs r3, #3 809a2c6: 4a13 ldr r2, [pc, #76] ; (809a314 ) 809a2c8: 21ad movs r1, #173 ; 0xad 809a2ca: 201e movs r0, #30 809a2cc: f7b9 fb50 bl 8053970 809a2d0: e01b b.n 809a30a case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 173, "A[ñêç]", LEFT_MODE); break; 809a2d2: 2303 movs r3, #3 809a2d4: 4a10 ldr r2, [pc, #64] ; (809a318 ) 809a2d6: 21ad movs r1, #173 ; 0xad 809a2d8: 201e movs r0, #30 809a2da: f7b9 fb49 bl 8053970 809a2de: e014 b.n 809a30a case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "A[ïèê-ïèê]", LEFT_MODE); break; 809a2e0: 2303 movs r3, #3 809a2e2: 4a0e ldr r2, [pc, #56] ; (809a31c ) 809a2e4: 21ad movs r1, #173 ; 0xad 809a2e6: 201e movs r0, #30 809a2e8: f7b9 fb42 bl 8053970 809a2ec: e00d b.n 809a30a case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 173, "A[ïô]", LEFT_MODE); break; 809a2ee: 2303 movs r3, #3 809a2f0: 4a0b ldr r2, [pc, #44] ; (809a320 ) 809a2f2: 21ad movs r1, #173 ; 0xad 809a2f4: 201e movs r0, #30 809a2f6: f7b9 fb3b bl 8053970 809a2fa: e006 b.n 809a30a case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 173, "A[ýêñö]", LEFT_MODE); break; 809a2fc: 2303 movs r3, #3 809a2fe: 4a09 ldr r2, [pc, #36] ; (809a324 ) 809a300: 21ad movs r1, #173 ; 0xad 809a302: 201e movs r0, #30 809a304: f7b9 fb34 bl 8053970 809a308: bf00 nop break; 809a30a: e0d3 b.n 809a4b4 809a30c: 20021011 .word 0x20021011 809a310: 20023e60 .word 0x20023e60 809a314: 080d0944 .word 0x080d0944 809a318: 080d094c .word 0x080d094c 809a31c: 080d0954 .word 0x080d0954 809a320: 080d0960 .word 0x080d0960 809a324: 080d0968 .word 0x080d0968 809a328: 080d0970 .word 0x080d0970 809a32c: 080d0978 .word 0x080d0978 809a330: 080d0980 .word 0x080d0980 809a334: 080d098c .word 0x080d098c 809a338: 080d0994 .word 0x080d0994 809a33c: 080d099c .word 0x080d099c 809a340: 080d09a4 .word 0x080d09a4 809a344: 080d09ac .word 0x080d09ac 809a348: 080d09b8 .word 0x080d09b8 809a34c: 080d09c0 .word 0x080d09c0 809a350: 080d09c8 .word 0x080d09c8 switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 809a354: 4bc3 ldr r3, [pc, #780] ; (809a664 ) 809a356: 781b ldrb r3, [r3, #0] 809a358: b2db uxtb r3, r3 809a35a: 4ac3 ldr r2, [pc, #780] ; (809a668 ) 809a35c: 009b lsls r3, r3, #2 809a35e: 4413 add r3, r2 809a360: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809a364: b2db uxtb r3, r3 809a366: 08db lsrs r3, r3, #3 809a368: b2db uxtb r3, r3 809a36a: f003 031f and.w r3, r3, #31 809a36e: 3b01 subs r3, #1 809a370: 2b0f cmp r3, #15 809a372: f200 80a1 bhi.w 809a4b8 809a376: a201 add r2, pc, #4 ; (adr r2, 809a37c ) 809a378: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809a37c: 0809a3bd .word 0x0809a3bd 809a380: 0809a3cb .word 0x0809a3cb 809a384: 0809a4b9 .word 0x0809a4b9 809a388: 0809a3d9 .word 0x0809a3d9 809a38c: 0809a4b9 .word 0x0809a4b9 809a390: 0809a4b9 .word 0x0809a4b9 809a394: 0809a4b9 .word 0x0809a4b9 809a398: 0809a3e7 .word 0x0809a3e7 809a39c: 0809a4b9 .word 0x0809a4b9 809a3a0: 0809a4b9 .word 0x0809a4b9 809a3a4: 0809a4b9 .word 0x0809a4b9 809a3a8: 0809a4b9 .word 0x0809a4b9 809a3ac: 0809a4b9 .word 0x0809a4b9 809a3b0: 0809a4b9 .word 0x0809a4b9 809a3b4: 0809a4b9 .word 0x0809a4b9 809a3b8: 0809a3f5 .word 0x0809a3f5 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê]", LEFT_MODE); break; 809a3bc: 2303 movs r3, #3 809a3be: 4aab ldr r2, [pc, #684] ; (809a66c ) 809a3c0: 21ad movs r1, #173 ; 0xad 809a3c2: 201e movs r0, #30 809a3c4: f7b9 fad4 bl 8053970 809a3c8: e01b b.n 809a402 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 173, "V[ñêç]", LEFT_MODE); break; 809a3ca: 2303 movs r3, #3 809a3cc: 4aa8 ldr r2, [pc, #672] ; (809a670 ) 809a3ce: 21ad movs r1, #173 ; 0xad 809a3d0: 201e movs r0, #30 809a3d2: f7b9 facd bl 8053970 809a3d6: e014 b.n 809a402 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "V[ïèê-ïèê]", LEFT_MODE); break; 809a3d8: 2303 movs r3, #3 809a3da: 4aa6 ldr r2, [pc, #664] ; (809a674 ) 809a3dc: 21ad movs r1, #173 ; 0xad 809a3de: 201e movs r0, #30 809a3e0: f7b9 fac6 bl 8053970 809a3e4: e00d b.n 809a402 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 173, "V[ïô]", LEFT_MODE); break; 809a3e6: 2303 movs r3, #3 809a3e8: 4aa3 ldr r2, [pc, #652] ; (809a678 ) 809a3ea: 21ad movs r1, #173 ; 0xad 809a3ec: 201e movs r0, #30 809a3ee: f7b9 fabf bl 8053970 809a3f2: e006 b.n 809a402 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 173, "V[ýêñö]", LEFT_MODE); break; 809a3f4: 2303 movs r3, #3 809a3f6: 4aa1 ldr r2, [pc, #644] ; (809a67c ) 809a3f8: 21ad movs r1, #173 ; 0xad 809a3fa: 201e movs r0, #30 809a3fc: f7b9 fab8 bl 8053970 809a400: bf00 nop break; 809a402: e059 b.n 809a4b8 switch((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) 809a404: 4b97 ldr r3, [pc, #604] ; (809a664 ) 809a406: 781b ldrb r3, [r3, #0] 809a408: b2db uxtb r3, r3 809a40a: 4a97 ldr r2, [pc, #604] ; (809a668 ) 809a40c: 009b lsls r3, r3, #2 809a40e: 4413 add r3, r2 809a410: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809a414: b2db uxtb r3, r3 809a416: 08db lsrs r3, r3, #3 809a418: b2db uxtb r3, r3 809a41a: f003 031f and.w r3, r3, #31 809a41e: 3b01 subs r3, #1 809a420: 2b0f cmp r3, #15 809a422: d84b bhi.n 809a4bc 809a424: a201 add r2, pc, #4 ; (adr r2, 809a42c ) 809a426: f852 f023 ldr.w pc, [r2, r3, lsl #2] 809a42a: bf00 nop 809a42c: 0809a46d .word 0x0809a46d 809a430: 0809a47b .word 0x0809a47b 809a434: 0809a4bd .word 0x0809a4bd 809a438: 0809a489 .word 0x0809a489 809a43c: 0809a4bd .word 0x0809a4bd 809a440: 0809a4bd .word 0x0809a4bd 809a444: 0809a4bd .word 0x0809a4bd 809a448: 0809a497 .word 0x0809a497 809a44c: 0809a4bd .word 0x0809a4bd 809a450: 0809a4bd .word 0x0809a4bd 809a454: 0809a4bd .word 0x0809a4bd 809a458: 0809a4bd .word 0x0809a4bd 809a45c: 0809a4bd .word 0x0809a4bd 809a460: 0809a4bd .word 0x0809a4bd 809a464: 0809a4bd .word 0x0809a4bd 809a468: 0809a4a5 .word 0x0809a4a5 case DIAGN_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê]", LEFT_MODE); break; 809a46c: 2303 movs r3, #3 809a46e: 4a84 ldr r2, [pc, #528] ; (809a680 ) 809a470: 21ad movs r1, #173 ; 0xad 809a472: 201e movs r0, #30 809a474: f7b9 fa7c bl 8053970 809a478: e01b b.n 809a4b2 case DIAGN_RMS: BSP_LCD_DisplayStringAt( 30, 173, "S[ñêç]", LEFT_MODE); break; 809a47a: 2303 movs r3, #3 809a47c: 4a81 ldr r2, [pc, #516] ; (809a684 ) 809a47e: 21ad movs r1, #173 ; 0xad 809a480: 201e movs r0, #30 809a482: f7b9 fa75 bl 8053970 809a486: e014 b.n 809a4b2 case DIAGN_PEAK_TO_PEAK: BSP_LCD_DisplayStringAt( 30, 173, "S[ïèê-ïèê]", LEFT_MODE); break; 809a488: 2303 movs r3, #3 809a48a: 4a7f ldr r2, [pc, #508] ; (809a688 ) 809a48c: 21ad movs r1, #173 ; 0xad 809a48e: 201e movs r0, #30 809a490: f7b9 fa6e bl 8053970 809a494: e00d b.n 809a4b2 case DIAGN_PEAK_FACTOR: BSP_LCD_DisplayStringAt( 30, 173, "S[ïô]", LEFT_MODE); break; 809a496: 2303 movs r3, #3 809a498: 4a7c ldr r2, [pc, #496] ; (809a68c ) 809a49a: 21ad movs r1, #173 ; 0xad 809a49c: 201e movs r0, #30 809a49e: f7b9 fa67 bl 8053970 809a4a2: e006 b.n 809a4b2 case DIAGN_EXCESS: BSP_LCD_DisplayStringAt( 30, 173, "S[ýêñö]", LEFT_MODE); break; 809a4a4: 2303 movs r3, #3 809a4a6: 4a7a ldr r2, [pc, #488] ; (809a690 ) 809a4a8: 21ad movs r1, #173 ; 0xad 809a4aa: 201e movs r0, #30 809a4ac: f7b9 fa60 bl 8053970 809a4b0: bf00 nop break; 809a4b2: e003 b.n 809a4bc break; 809a4b4: bf00 nop 809a4b6: e002 b.n 809a4be break; 809a4b8: bf00 nop 809a4ba: e000 b.n 809a4be break; 809a4bc: bf00 nop if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (!timeRelax)) 809a4be: 4b75 ldr r3, [pc, #468] ; (809a694 ) 809a4c0: 781b ldrb r3, [r3, #0] 809a4c2: b2db uxtb r3, r3 809a4c4: f083 0301 eor.w r3, r3, #1 809a4c8: b2db uxtb r3, r3 809a4ca: 2b00 cmp r3, #0 809a4cc: f009 82f0 beq.w 80a3ab0 809a4d0: 4b71 ldr r3, [pc, #452] ; (809a698 ) 809a4d2: 781b ldrb r3, [r3, #0] 809a4d4: b2db uxtb r3, r3 809a4d6: f083 0301 eor.w r3, r3, #1 809a4da: b2db uxtb r3, r3 809a4dc: 2b00 cmp r3, #0 809a4de: f009 82e7 beq.w 80a3ab0 809a4e2: 4b6e ldr r3, [pc, #440] ; (809a69c ) 809a4e4: 881b ldrh r3, [r3, #0] 809a4e6: b29b uxth r3, r3 809a4e8: 009b lsls r3, r3, #2 809a4ea: 461a mov r2, r3 809a4ec: 4b6c ldr r3, [pc, #432] ; (809a6a0 ) 809a4ee: 681b ldr r3, [r3, #0] 809a4f0: 429a cmp r2, r3 809a4f2: f089 82dd bcs.w 80a3ab0 809a4f6: 4b6b ldr r3, [pc, #428] ; (809a6a4 ) 809a4f8: 681b ldr r3, [r3, #0] 809a4fa: 2b00 cmp r3, #0 809a4fc: f049 82d8 bne.w 80a3ab0 if(((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) != DIAGN_NO) && (operand[Us1] != -1.0f)) 809a500: 4b58 ldr r3, [pc, #352] ; (809a664 ) 809a502: 781b ldrb r3, [r3, #0] 809a504: b2db uxtb r3, r3 809a506: 4a58 ldr r2, [pc, #352] ; (809a668 ) 809a508: 338e adds r3, #142 ; 0x8e 809a50a: 009b lsls r3, r3, #2 809a50c: 4413 add r3, r2 809a50e: 791b ldrb r3, [r3, #4] 809a510: b2db uxtb r3, r3 809a512: f003 0307 and.w r3, r3, #7 809a516: 2b00 cmp r3, #0 809a518: f000 8268 beq.w 809a9ec 809a51c: 4b62 ldr r3, [pc, #392] ; (809a6a8 ) 809a51e: edd3 7a00 vldr s15, [r3] 809a522: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809a526: eef4 7a47 vcmp.f32 s15, s14 809a52a: eef1 fa10 vmrs APSR_nzcv, fpscr 809a52e: f000 825d beq.w 809a9ec if(operand[Us1] < pardata.DIAGN_A[CURR_POINT][Us1]) 809a532: 4b5d ldr r3, [pc, #372] ; (809a6a8 ) 809a534: ed93 7a00 vldr s14, [r3] 809a538: 4b4a ldr r3, [pc, #296] ; (809a664 ) 809a53a: 781b ldrb r3, [r3, #0] 809a53c: b2db uxtb r3, r3 809a53e: 4a4a ldr r2, [pc, #296] ; (809a668 ) 809a540: 011b lsls r3, r3, #4 809a542: 4413 add r3, r2 809a544: f503 7377 add.w r3, r3, #988 ; 0x3dc 809a548: edd3 7a00 vldr s15, [r3] 809a54c: eeb4 7ae7 vcmpe.f32 s14, s15 809a550: eef1 fa10 vmrs APSR_nzcv, fpscr 809a554: d51d bpl.n 809a592 if(operand[Us1] < pardata.DIAGN_W[CURR_POINT][Us1]) 809a556: 4b54 ldr r3, [pc, #336] ; (809a6a8 ) 809a558: ed93 7a00 vldr s14, [r3] 809a55c: 4b41 ldr r3, [pc, #260] ; (809a664 ) 809a55e: 781b ldrb r3, [r3, #0] 809a560: b2db uxtb r3, r3 809a562: 4a41 ldr r2, [pc, #260] ; (809a668 ) 809a564: 011b lsls r3, r3, #4 809a566: 4413 add r3, r2 809a568: f503 7357 add.w r3, r3, #860 ; 0x35c 809a56c: edd3 7a00 vldr s15, [r3] 809a570: eeb4 7ae7 vcmpe.f32 s14, s15 809a574: eef1 fa10 vmrs APSR_nzcv, fpscr 809a578: d505 bpl.n 809a586 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809a57a: 494c ldr r1, [pc, #304] ; (809a6ac ) 809a57c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809a580: f7b9 f930 bl 80537e4 809a584: e009 b.n 809a59a else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809a586: 4949 ldr r1, [pc, #292] ; (809a6ac ) 809a588: f06f 00ff mvn.w r0, #255 ; 0xff 809a58c: f7b9 f92a bl 80537e4 809a590: e003 b.n 809a59a LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809a592: 4946 ldr r1, [pc, #280] ; (809a6ac ) 809a594: 4846 ldr r0, [pc, #280] ; (809a6b0 ) 809a596: f7b9 f925 bl 80537e4 f = operand[Us1]; 809a59a: 4b43 ldr r3, [pc, #268] ; (809a6a8 ) 809a59c: 681b ldr r3, [r3, #0] 809a59e: 647b str r3, [r7, #68] ; 0x44 if(((pardata.DIAGN_MASK[CURR_POINT][Us1] >> 3) & 0x1f) >= DIAGN_PEAK_FACTOR) 809a5a0: 4b30 ldr r3, [pc, #192] ; (809a664 ) 809a5a2: 781b ldrb r3, [r3, #0] 809a5a4: b2db uxtb r3, r3 809a5a6: 4a30 ldr r2, [pc, #192] ; (809a668 ) 809a5a8: 338e adds r3, #142 ; 0x8e 809a5aa: 009b lsls r3, r3, #2 809a5ac: 4413 add r3, r2 809a5ae: 791b ldrb r3, [r3, #4] 809a5b0: b2db uxtb r3, r3 809a5b2: 08db lsrs r3, r3, #3 809a5b4: b2db uxtb r3, r3 809a5b6: f003 031f and.w r3, r3, #31 809a5ba: 2b07 cmp r3, #7 809a5bc: f300 8175 bgt.w 809a8aa if(f >= 1000.0f) 809a5c0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a5c4: ed9f 7a3b vldr s14, [pc, #236] ; 809a6b4 809a5c8: eef4 7ac7 vcmpe.f32 s15, s14 809a5cc: eef1 fa10 vmrs APSR_nzcv, fpscr 809a5d0: f2c0 809d blt.w 809a70e f *= 0.001f; 809a5d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a5d8: ed9f 7a37 vldr s14, [pc, #220] ; 809a6b8 809a5dc: ee67 7a87 vmul.f32 s15, s15, s14 809a5e0: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_ACC) 809a5e4: 4b1f ldr r3, [pc, #124] ; (809a664 ) 809a5e6: 781b ldrb r3, [r3, #0] 809a5e8: b2db uxtb r3, r3 809a5ea: 4a1f ldr r2, [pc, #124] ; (809a668 ) 809a5ec: 338e adds r3, #142 ; 0x8e 809a5ee: 009b lsls r3, r3, #2 809a5f0: 4413 add r3, r2 809a5f2: 791b ldrb r3, [r3, #4] 809a5f4: b2db uxtb r3, r3 809a5f6: f003 0307 and.w r3, r3, #7 809a5fa: 2b01 cmp r3, #1 809a5fc: d112 bne.n 809a624 if(pardata.LANG == RUS) 809a5fe: 4b1a ldr r3, [pc, #104] ; (809a668 ) 809a600: 7b1b ldrb r3, [r3, #12] 809a602: b2db uxtb r3, r3 809a604: 2b00 cmp r3, #0 809a606: d106 bne.n 809a616 BSP_LCD_DisplayStringAt(170, 101, "kì/c^", LEFT_MODE); 809a608: 2303 movs r3, #3 809a60a: 4a2c ldr r2, [pc, #176] ; (809a6bc ) 809a60c: 2165 movs r1, #101 ; 0x65 809a60e: 20aa movs r0, #170 ; 0xaa 809a610: f7b9 f9ae bl 8053970 809a614: e149 b.n 809a8aa else BSP_LCD_DisplayStringAt(170, 101, "km/s^", LEFT_MODE); 809a616: 2303 movs r3, #3 809a618: 4a29 ldr r2, [pc, #164] ; (809a6c0 ) 809a61a: 2165 movs r1, #101 ; 0x65 809a61c: 20aa movs r0, #170 ; 0xaa 809a61e: f7b9 f9a7 bl 8053970 809a622: e142 b.n 809a8aa if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_VEL) 809a624: 4b0f ldr r3, [pc, #60] ; (809a664 ) 809a626: 781b ldrb r3, [r3, #0] 809a628: b2db uxtb r3, r3 809a62a: 4a0f ldr r2, [pc, #60] ; (809a668 ) 809a62c: 338e adds r3, #142 ; 0x8e 809a62e: 009b lsls r3, r3, #2 809a630: 4413 add r3, r2 809a632: 791b ldrb r3, [r3, #4] 809a634: b2db uxtb r3, r3 809a636: f003 0307 and.w r3, r3, #7 809a63a: 2b02 cmp r3, #2 809a63c: d146 bne.n 809a6cc if(pardata.LANG == RUS) 809a63e: 4b0a ldr r3, [pc, #40] ; (809a668 ) 809a640: 7b1b ldrb r3, [r3, #12] 809a642: b2db uxtb r3, r3 809a644: 2b00 cmp r3, #0 809a646: d106 bne.n 809a656 BSP_LCD_DisplayStringAt(170, 101, "ì/c", LEFT_MODE); 809a648: 2303 movs r3, #3 809a64a: 4a1e ldr r2, [pc, #120] ; (809a6c4 ) 809a64c: 2165 movs r1, #101 ; 0x65 809a64e: 20aa movs r0, #170 ; 0xaa 809a650: f7b9 f98e bl 8053970 809a654: e129 b.n 809a8aa else BSP_LCD_DisplayStringAt(170, 101, "m/s", LEFT_MODE); 809a656: 2303 movs r3, #3 809a658: 4a1b ldr r2, [pc, #108] ; (809a6c8 ) 809a65a: 2165 movs r1, #101 ; 0x65 809a65c: 20aa movs r0, #170 ; 0xaa 809a65e: f7b9 f987 bl 8053970 809a662: e122 b.n 809a8aa 809a664: 20021011 .word 0x20021011 809a668: 20023e60 .word 0x20023e60 809a66c: 080d0970 .word 0x080d0970 809a670: 080d0978 .word 0x080d0978 809a674: 080d0980 .word 0x080d0980 809a678: 080d098c .word 0x080d098c 809a67c: 080d0994 .word 0x080d0994 809a680: 080d099c .word 0x080d099c 809a684: 080d09a4 .word 0x080d09a4 809a688: 080d09ac .word 0x080d09ac 809a68c: 080d09b8 .word 0x080d09b8 809a690: 080d09c0 .word 0x080d09c0 809a694: 20020db2 .word 0x20020db2 809a698: 20020dac .word 0x20020dac 809a69c: 20021d20 .word 0x20021d20 809a6a0: 20020da8 .word 0x20020da8 809a6a4: 20020d6c .word 0x20020d6c 809a6a8: 200268d8 .word 0x200268d8 809a6ac: ff0a0f1f .word 0xff0a0f1f 809a6b0: ffff0000 .word 0xffff0000 809a6b4: 447a0000 .word 0x447a0000 809a6b8: 3a83126f .word 0x3a83126f 809a6bc: 080d09d0 .word 0x080d09d0 809a6c0: 080d09d8 .word 0x080d09d8 809a6c4: 080d09e0 .word 0x080d09e0 809a6c8: 080d09e4 .word 0x080d09e4 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_DIS) 809a6cc: 4ba7 ldr r3, [pc, #668] ; (809a96c ) 809a6ce: 781b ldrb r3, [r3, #0] 809a6d0: b2db uxtb r3, r3 809a6d2: 4aa7 ldr r2, [pc, #668] ; (809a970 ) 809a6d4: 338e adds r3, #142 ; 0x8e 809a6d6: 009b lsls r3, r3, #2 809a6d8: 4413 add r3, r2 809a6da: 791b ldrb r3, [r3, #4] 809a6dc: b2db uxtb r3, r3 809a6de: f003 0307 and.w r3, r3, #7 809a6e2: 2b04 cmp r3, #4 809a6e4: f040 80e1 bne.w 809a8aa if(pardata.LANG == RUS) 809a6e8: 4ba1 ldr r3, [pc, #644] ; (809a970 ) 809a6ea: 7b1b ldrb r3, [r3, #12] 809a6ec: b2db uxtb r3, r3 809a6ee: 2b00 cmp r3, #0 809a6f0: d106 bne.n 809a700 BSP_LCD_DisplayStringAt(170, 101, "ìì", LEFT_MODE); 809a6f2: 2303 movs r3, #3 809a6f4: 4a9f ldr r2, [pc, #636] ; (809a974 ) 809a6f6: 2165 movs r1, #101 ; 0x65 809a6f8: 20aa movs r0, #170 ; 0xaa 809a6fa: f7b9 f939 bl 8053970 809a6fe: e0d4 b.n 809a8aa else BSP_LCD_DisplayStringAt(170, 101, "mm", LEFT_MODE); 809a700: 2303 movs r3, #3 809a702: 4a9d ldr r2, [pc, #628] ; (809a978 ) 809a704: 2165 movs r1, #101 ; 0x65 809a706: 20aa movs r0, #170 ; 0xaa 809a708: f7b9 f932 bl 8053970 809a70c: e0cd b.n 809a8aa if(f >= 0.1f) 809a70e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a712: ed9f 7a9a vldr s14, [pc, #616] ; 809a97c 809a716: eef4 7ac7 vcmpe.f32 s15, s14 809a71a: eef1 fa10 vmrs APSR_nzcv, fpscr 809a71e: db5d blt.n 809a7dc if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_ACC) 809a720: 4b92 ldr r3, [pc, #584] ; (809a96c ) 809a722: 781b ldrb r3, [r3, #0] 809a724: b2db uxtb r3, r3 809a726: 4a92 ldr r2, [pc, #584] ; (809a970 ) 809a728: 338e adds r3, #142 ; 0x8e 809a72a: 009b lsls r3, r3, #2 809a72c: 4413 add r3, r2 809a72e: 791b ldrb r3, [r3, #4] 809a730: b2db uxtb r3, r3 809a732: f003 0307 and.w r3, r3, #7 809a736: 2b01 cmp r3, #1 809a738: d111 bne.n 809a75e if(pardata.LANG == RUS) 809a73a: 4b8d ldr r3, [pc, #564] ; (809a970 ) 809a73c: 7b1b ldrb r3, [r3, #12] 809a73e: b2db uxtb r3, r3 809a740: 2b00 cmp r3, #0 809a742: d106 bne.n 809a752 BSP_LCD_DisplayStringAt(170, 101, "ì/c^", LEFT_MODE); 809a744: 2303 movs r3, #3 809a746: 4a8e ldr r2, [pc, #568] ; (809a980 ) 809a748: 2165 movs r1, #101 ; 0x65 809a74a: 20aa movs r0, #170 ; 0xaa 809a74c: f7b9 f910 bl 8053970 809a750: e005 b.n 809a75e else BSP_LCD_DisplayStringAt(170, 101, "m/s^", LEFT_MODE); 809a752: 2303 movs r3, #3 809a754: 4a8b ldr r2, [pc, #556] ; (809a984 ) 809a756: 2165 movs r1, #101 ; 0x65 809a758: 20aa movs r0, #170 ; 0xaa 809a75a: f7b9 f909 bl 8053970 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_VEL) 809a75e: 4b83 ldr r3, [pc, #524] ; (809a96c ) 809a760: 781b ldrb r3, [r3, #0] 809a762: b2db uxtb r3, r3 809a764: 4a82 ldr r2, [pc, #520] ; (809a970 ) 809a766: 338e adds r3, #142 ; 0x8e 809a768: 009b lsls r3, r3, #2 809a76a: 4413 add r3, r2 809a76c: 791b ldrb r3, [r3, #4] 809a76e: b2db uxtb r3, r3 809a770: f003 0307 and.w r3, r3, #7 809a774: 2b02 cmp r3, #2 809a776: d111 bne.n 809a79c if(pardata.LANG == RUS) 809a778: 4b7d ldr r3, [pc, #500] ; (809a970 ) 809a77a: 7b1b ldrb r3, [r3, #12] 809a77c: b2db uxtb r3, r3 809a77e: 2b00 cmp r3, #0 809a780: d106 bne.n 809a790 BSP_LCD_DisplayStringAt(170, 101, "ìì/c", LEFT_MODE); 809a782: 2303 movs r3, #3 809a784: 4a80 ldr r2, [pc, #512] ; (809a988 ) 809a786: 2165 movs r1, #101 ; 0x65 809a788: 20aa movs r0, #170 ; 0xaa 809a78a: f7b9 f8f1 bl 8053970 809a78e: e005 b.n 809a79c else BSP_LCD_DisplayStringAt(170, 101, "mm/s", LEFT_MODE); 809a790: 2303 movs r3, #3 809a792: 4a7e ldr r2, [pc, #504] ; (809a98c ) 809a794: 2165 movs r1, #101 ; 0x65 809a796: 20aa movs r0, #170 ; 0xaa 809a798: f7b9 f8ea bl 8053970 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_DIS) 809a79c: 4b73 ldr r3, [pc, #460] ; (809a96c ) 809a79e: 781b ldrb r3, [r3, #0] 809a7a0: b2db uxtb r3, r3 809a7a2: 4a73 ldr r2, [pc, #460] ; (809a970 ) 809a7a4: 338e adds r3, #142 ; 0x8e 809a7a6: 009b lsls r3, r3, #2 809a7a8: 4413 add r3, r2 809a7aa: 791b ldrb r3, [r3, #4] 809a7ac: b2db uxtb r3, r3 809a7ae: f003 0307 and.w r3, r3, #7 809a7b2: 2b04 cmp r3, #4 809a7b4: d179 bne.n 809a8aa if(pardata.LANG == RUS) 809a7b6: 4b6e ldr r3, [pc, #440] ; (809a970 ) 809a7b8: 7b1b ldrb r3, [r3, #12] 809a7ba: b2db uxtb r3, r3 809a7bc: 2b00 cmp r3, #0 809a7be: d106 bne.n 809a7ce BSP_LCD_DisplayStringAt(170, 101, "ìkì", LEFT_MODE); 809a7c0: 2303 movs r3, #3 809a7c2: 4a73 ldr r2, [pc, #460] ; (809a990 ) 809a7c4: 2165 movs r1, #101 ; 0x65 809a7c6: 20aa movs r0, #170 ; 0xaa 809a7c8: f7b9 f8d2 bl 8053970 809a7cc: e06d b.n 809a8aa else BSP_LCD_DisplayStringAt(170, 101, "um", LEFT_MODE); 809a7ce: 2303 movs r3, #3 809a7d0: 4a70 ldr r2, [pc, #448] ; (809a994 ) 809a7d2: 2165 movs r1, #101 ; 0x65 809a7d4: 20aa movs r0, #170 ; 0xaa 809a7d6: f7b9 f8cb bl 8053970 809a7da: e066 b.n 809a8aa f *= 1000.0f; 809a7dc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a7e0: ed9f 7a6d vldr s14, [pc, #436] ; 809a998 809a7e4: ee67 7a87 vmul.f32 s15, s15, s14 809a7e8: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_ACC) 809a7ec: 4b5f ldr r3, [pc, #380] ; (809a96c ) 809a7ee: 781b ldrb r3, [r3, #0] 809a7f0: b2db uxtb r3, r3 809a7f2: 4a5f ldr r2, [pc, #380] ; (809a970 ) 809a7f4: 338e adds r3, #142 ; 0x8e 809a7f6: 009b lsls r3, r3, #2 809a7f8: 4413 add r3, r2 809a7fa: 791b ldrb r3, [r3, #4] 809a7fc: b2db uxtb r3, r3 809a7fe: f003 0307 and.w r3, r3, #7 809a802: 2b01 cmp r3, #1 809a804: d112 bne.n 809a82c if(pardata.LANG == RUS) 809a806: 4b5a ldr r3, [pc, #360] ; (809a970 ) 809a808: 7b1b ldrb r3, [r3, #12] 809a80a: b2db uxtb r3, r3 809a80c: 2b00 cmp r3, #0 809a80e: d106 bne.n 809a81e BSP_LCD_DisplayStringAt(170, 101, "ìì/c^", LEFT_MODE); 809a810: 2303 movs r3, #3 809a812: 4a62 ldr r2, [pc, #392] ; (809a99c ) 809a814: 2165 movs r1, #101 ; 0x65 809a816: 20aa movs r0, #170 ; 0xaa 809a818: f7b9 f8aa bl 8053970 809a81c: e045 b.n 809a8aa else BSP_LCD_DisplayStringAt(170, 101, "mm/s^", LEFT_MODE); 809a81e: 2303 movs r3, #3 809a820: 4a5f ldr r2, [pc, #380] ; (809a9a0 ) 809a822: 2165 movs r1, #101 ; 0x65 809a824: 20aa movs r0, #170 ; 0xaa 809a826: f7b9 f8a3 bl 8053970 809a82a: e03e b.n 809a8aa else if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_VEL) 809a82c: 4b4f ldr r3, [pc, #316] ; (809a96c ) 809a82e: 781b ldrb r3, [r3, #0] 809a830: b2db uxtb r3, r3 809a832: 4a4f ldr r2, [pc, #316] ; (809a970 ) 809a834: 338e adds r3, #142 ; 0x8e 809a836: 009b lsls r3, r3, #2 809a838: 4413 add r3, r2 809a83a: 791b ldrb r3, [r3, #4] 809a83c: b2db uxtb r3, r3 809a83e: f003 0307 and.w r3, r3, #7 809a842: 2b02 cmp r3, #2 809a844: d112 bne.n 809a86c if(pardata.LANG == RUS) 809a846: 4b4a ldr r3, [pc, #296] ; (809a970 ) 809a848: 7b1b ldrb r3, [r3, #12] 809a84a: b2db uxtb r3, r3 809a84c: 2b00 cmp r3, #0 809a84e: d106 bne.n 809a85e BSP_LCD_DisplayStringAt(170, 101, "ìêì/c", LEFT_MODE); 809a850: 2303 movs r3, #3 809a852: 4a54 ldr r2, [pc, #336] ; (809a9a4 ) 809a854: 2165 movs r1, #101 ; 0x65 809a856: 20aa movs r0, #170 ; 0xaa 809a858: f7b9 f88a bl 8053970 809a85c: e025 b.n 809a8aa else BSP_LCD_DisplayStringAt(170, 101, "mkm/s", LEFT_MODE); 809a85e: 2303 movs r3, #3 809a860: 4a51 ldr r2, [pc, #324] ; (809a9a8 ) 809a862: 2165 movs r1, #101 ; 0x65 809a864: 20aa movs r0, #170 ; 0xaa 809a866: f7b9 f883 bl 8053970 809a86a: e01e b.n 809a8aa else if((pardata.DIAGN_MASK[CURR_POINT][Us1] & 0x7) == DIAGN_DIS) 809a86c: 4b3f ldr r3, [pc, #252] ; (809a96c ) 809a86e: 781b ldrb r3, [r3, #0] 809a870: b2db uxtb r3, r3 809a872: 4a3f ldr r2, [pc, #252] ; (809a970 ) 809a874: 338e adds r3, #142 ; 0x8e 809a876: 009b lsls r3, r3, #2 809a878: 4413 add r3, r2 809a87a: 791b ldrb r3, [r3, #4] 809a87c: b2db uxtb r3, r3 809a87e: f003 0307 and.w r3, r3, #7 809a882: 2b04 cmp r3, #4 809a884: d111 bne.n 809a8aa if(pardata.LANG == RUS) 809a886: 4b3a ldr r3, [pc, #232] ; (809a970 ) 809a888: 7b1b ldrb r3, [r3, #12] 809a88a: b2db uxtb r3, r3 809a88c: 2b00 cmp r3, #0 809a88e: d106 bne.n 809a89e BSP_LCD_DisplayStringAt(170, 101, "íì", LEFT_MODE); 809a890: 2303 movs r3, #3 809a892: 4a46 ldr r2, [pc, #280] ; (809a9ac ) 809a894: 2165 movs r1, #101 ; 0x65 809a896: 20aa movs r0, #170 ; 0xaa 809a898: f7b9 f86a bl 8053970 809a89c: e005 b.n 809a8aa else BSP_LCD_DisplayStringAt(170, 101, "nm", LEFT_MODE); 809a89e: 2303 movs r3, #3 809a8a0: 4a43 ldr r2, [pc, #268] ; (809a9b0 ) 809a8a2: 2165 movs r1, #101 ; 0x65 809a8a4: 20aa movs r0, #170 ; 0xaa 809a8a6: f7b9 f863 bl 8053970 if(f < 10.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809a8aa: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a8ae: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809a8b2: eef4 7ac7 vcmpe.f32 s15, s14 809a8b6: eef1 fa10 vmrs APSR_nzcv, fpscr 809a8ba: d50e bpl.n 809a8da 809a8bc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a8c0: f06f 0003 mvn.w r0, #3 809a8c4: eeb0 0a67 vmov.f32 s0, s15 809a8c8: f7cb ff36 bl 8066738 809a8cc: 4602 mov r2, r0 809a8ce: 2302 movs r3, #2 809a8d0: 2165 movs r1, #101 ; 0x65 809a8d2: 20a0 movs r0, #160 ; 0xa0 809a8d4: f7b9 f84c bl 8053970 809a8d8: e088 b.n 809a9ec else if(f < 100.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809a8da: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a8de: ed9f 7a35 vldr s14, [pc, #212] ; 809a9b4 809a8e2: eef4 7ac7 vcmpe.f32 s15, s14 809a8e6: eef1 fa10 vmrs APSR_nzcv, fpscr 809a8ea: d50e bpl.n 809a90a 809a8ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a8f0: f06f 0002 mvn.w r0, #2 809a8f4: eeb0 0a67 vmov.f32 s0, s15 809a8f8: f7cb ff1e bl 8066738 809a8fc: 4602 mov r2, r0 809a8fe: 2302 movs r3, #2 809a900: 2165 movs r1, #101 ; 0x65 809a902: 20a0 movs r0, #160 ; 0xa0 809a904: f7b9 f834 bl 8053970 809a908: e070 b.n 809a9ec else if(f < 1000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809a90a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a90e: ed9f 7a22 vldr s14, [pc, #136] ; 809a998 809a912: eef4 7ac7 vcmpe.f32 s15, s14 809a916: eef1 fa10 vmrs APSR_nzcv, fpscr 809a91a: d50e bpl.n 809a93a 809a91c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a920: f06f 0001 mvn.w r0, #1 809a924: eeb0 0a67 vmov.f32 s0, s15 809a928: f7cb ff06 bl 8066738 809a92c: 4602 mov r2, r0 809a92e: 2302 movs r3, #2 809a930: 2165 movs r1, #101 ; 0x65 809a932: 20a0 movs r0, #160 ; 0xa0 809a934: f7b9 f81c bl 8053970 809a938: e058 b.n 809a9ec else if(f < 10000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809a93a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a93e: ed9f 7a1e vldr s14, [pc, #120] ; 809a9b8 809a942: eef4 7ac7 vcmpe.f32 s15, s14 809a946: eef1 fa10 vmrs APSR_nzcv, fpscr 809a94a: d539 bpl.n 809a9c0 809a94c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a950: f04f 30ff mov.w r0, #4294967295 809a954: eeb0 0a67 vmov.f32 s0, s15 809a958: f7cb feee bl 8066738 809a95c: 4602 mov r2, r0 809a95e: 2302 movs r3, #2 809a960: 2165 movs r1, #101 ; 0x65 809a962: 20a0 movs r0, #160 ; 0xa0 809a964: f7b9 f804 bl 8053970 809a968: e040 b.n 809a9ec 809a96a: bf00 nop 809a96c: 20021011 .word 0x20021011 809a970: 20023e60 .word 0x20023e60 809a974: 080d09e8 .word 0x080d09e8 809a978: 080d09ec .word 0x080d09ec 809a97c: 3dcccccd .word 0x3dcccccd 809a980: 080d09f0 .word 0x080d09f0 809a984: 080d09f8 .word 0x080d09f8 809a988: 080d0a00 .word 0x080d0a00 809a98c: 080d0a08 .word 0x080d0a08 809a990: 080d0a10 .word 0x080d0a10 809a994: 080d0a14 .word 0x080d0a14 809a998: 447a0000 .word 0x447a0000 809a99c: 080d0a18 .word 0x080d0a18 809a9a0: 080d0a20 .word 0x080d0a20 809a9a4: 080d0a28 .word 0x080d0a28 809a9a8: 080d0a30 .word 0x080d0a30 809a9ac: 080d0a38 .word 0x080d0a38 809a9b0: 080d0a3c .word 0x080d0a3c 809a9b4: 42c80000 .word 0x42c80000 809a9b8: 461c4000 .word 0x461c4000 809a9bc: 47c35000 .word 0x47c35000 else if(f < 100000.0f) BSP_LCD_DisplayStringAt( 160, 101, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809a9c0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a9c4: ed1f 7a03 vldr s14, [pc, #-12] ; 809a9bc 809a9c8: eef4 7ac7 vcmpe.f32 s15, s14 809a9cc: eef1 fa10 vmrs APSR_nzcv, fpscr 809a9d0: d50c bpl.n 809a9ec 809a9d2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809a9d6: 2000 movs r0, #0 809a9d8: eeb0 0a67 vmov.f32 s0, s15 809a9dc: f7cb feac bl 8066738 809a9e0: 4602 mov r2, r0 809a9e2: 2302 movs r3, #2 809a9e4: 2165 movs r1, #101 ; 0x65 809a9e6: 20a0 movs r0, #160 ; 0xa0 809a9e8: f7b8 ffc2 bl 8053970 if(((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) != DIAGN_NO) && (operand[Us2] != -1.0f)) 809a9ec: 4bbe ldr r3, [pc, #760] ; (809ace8 ) 809a9ee: 781b ldrb r3, [r3, #0] 809a9f0: b2db uxtb r3, r3 809a9f2: 4abe ldr r2, [pc, #760] ; (809acec ) 809a9f4: 009b lsls r3, r3, #2 809a9f6: 4413 add r3, r2 809a9f8: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809a9fc: b2db uxtb r3, r3 809a9fe: f003 0307 and.w r3, r3, #7 809aa02: 2b00 cmp r3, #0 809aa04: f000 823a beq.w 809ae7c 809aa08: 4bb9 ldr r3, [pc, #740] ; (809acf0 ) 809aa0a: edd3 7a01 vldr s15, [r3, #4] 809aa0e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809aa12: eef4 7a47 vcmp.f32 s15, s14 809aa16: eef1 fa10 vmrs APSR_nzcv, fpscr 809aa1a: f000 822f beq.w 809ae7c if(operand[Us2] < pardata.DIAGN_A[CURR_POINT][Us2]) 809aa1e: 4bb4 ldr r3, [pc, #720] ; (809acf0 ) 809aa20: ed93 7a01 vldr s14, [r3, #4] 809aa24: 4bb0 ldr r3, [pc, #704] ; (809ace8 ) 809aa26: 781b ldrb r3, [r3, #0] 809aa28: b2db uxtb r3, r3 809aa2a: 4ab0 ldr r2, [pc, #704] ; (809acec ) 809aa2c: 011b lsls r3, r3, #4 809aa2e: 4413 add r3, r2 809aa30: f503 7378 add.w r3, r3, #992 ; 0x3e0 809aa34: edd3 7a00 vldr s15, [r3] 809aa38: eeb4 7ae7 vcmpe.f32 s14, s15 809aa3c: eef1 fa10 vmrs APSR_nzcv, fpscr 809aa40: d51d bpl.n 809aa7e if(operand[Us2] < pardata.DIAGN_W[CURR_POINT][Us2]) 809aa42: 4bab ldr r3, [pc, #684] ; (809acf0 ) 809aa44: ed93 7a01 vldr s14, [r3, #4] 809aa48: 4ba7 ldr r3, [pc, #668] ; (809ace8 ) 809aa4a: 781b ldrb r3, [r3, #0] 809aa4c: b2db uxtb r3, r3 809aa4e: 4aa7 ldr r2, [pc, #668] ; (809acec ) 809aa50: 011b lsls r3, r3, #4 809aa52: 4413 add r3, r2 809aa54: f503 7358 add.w r3, r3, #864 ; 0x360 809aa58: edd3 7a00 vldr s15, [r3] 809aa5c: eeb4 7ae7 vcmpe.f32 s14, s15 809aa60: eef1 fa10 vmrs APSR_nzcv, fpscr 809aa64: d505 bpl.n 809aa72 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809aa66: 49a3 ldr r1, [pc, #652] ; (809acf4 ) 809aa68: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809aa6c: f7b8 feba bl 80537e4 809aa70: e009 b.n 809aa86 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809aa72: 49a0 ldr r1, [pc, #640] ; (809acf4 ) 809aa74: f06f 00ff mvn.w r0, #255 ; 0xff 809aa78: f7b8 feb4 bl 80537e4 809aa7c: e003 b.n 809aa86 LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809aa7e: 499d ldr r1, [pc, #628] ; (809acf4 ) 809aa80: 489d ldr r0, [pc, #628] ; (809acf8 ) 809aa82: f7b8 feaf bl 80537e4 f = operand[Us2]; 809aa86: 4b9a ldr r3, [pc, #616] ; (809acf0 ) 809aa88: 685b ldr r3, [r3, #4] 809aa8a: 647b str r3, [r7, #68] ; 0x44 if(((pardata.DIAGN_MASK[CURR_POINT][Us2] >> 3) & 0x1f) >= DIAGN_PEAK_FACTOR) 809aa8c: 4b96 ldr r3, [pc, #600] ; (809ace8 ) 809aa8e: 781b ldrb r3, [r3, #0] 809aa90: b2db uxtb r3, r3 809aa92: 4a96 ldr r2, [pc, #600] ; (809acec ) 809aa94: 009b lsls r3, r3, #2 809aa96: 4413 add r3, r2 809aa98: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809aa9c: b2db uxtb r3, r3 809aa9e: 08db lsrs r3, r3, #3 809aaa0: b2db uxtb r3, r3 809aaa2: f003 031f and.w r3, r3, #31 809aaa6: 2b07 cmp r3, #7 809aaa8: f300 8172 bgt.w 809ad90 if(f >= 1000.0f) 809aaac: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809aab0: ed9f 7a92 vldr s14, [pc, #584] ; 809acfc 809aab4: eef4 7ac7 vcmpe.f32 s15, s14 809aab8: eef1 fa10 vmrs APSR_nzcv, fpscr 809aabc: db68 blt.n 809ab90 f *= 0.001f; 809aabe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809aac2: ed9f 7a8f vldr s14, [pc, #572] ; 809ad00 809aac6: ee67 7a87 vmul.f32 s15, s15, s14 809aaca: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_ACC) 809aace: 4b86 ldr r3, [pc, #536] ; (809ace8 ) 809aad0: 781b ldrb r3, [r3, #0] 809aad2: b2db uxtb r3, r3 809aad4: 4a85 ldr r2, [pc, #532] ; (809acec ) 809aad6: 009b lsls r3, r3, #2 809aad8: 4413 add r3, r2 809aada: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809aade: b2db uxtb r3, r3 809aae0: f003 0307 and.w r3, r3, #7 809aae4: 2b01 cmp r3, #1 809aae6: d112 bne.n 809ab0e if(pardata.LANG == RUS) 809aae8: 4b80 ldr r3, [pc, #512] ; (809acec ) 809aaea: 7b1b ldrb r3, [r3, #12] 809aaec: b2db uxtb r3, r3 809aaee: 2b00 cmp r3, #0 809aaf0: d106 bne.n 809ab00 BSP_LCD_DisplayStringAt(170, 137, "kì/c^", LEFT_MODE); 809aaf2: 2303 movs r3, #3 809aaf4: 4a83 ldr r2, [pc, #524] ; (809ad04 ) 809aaf6: 2189 movs r1, #137 ; 0x89 809aaf8: 20aa movs r0, #170 ; 0xaa 809aafa: f7b8 ff39 bl 8053970 809aafe: e147 b.n 809ad90 else BSP_LCD_DisplayStringAt(170, 137, "km/s^", LEFT_MODE); 809ab00: 2303 movs r3, #3 809ab02: 4a81 ldr r2, [pc, #516] ; (809ad08 ) 809ab04: 2189 movs r1, #137 ; 0x89 809ab06: 20aa movs r0, #170 ; 0xaa 809ab08: f7b8 ff32 bl 8053970 809ab0c: e140 b.n 809ad90 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_VEL) 809ab0e: 4b76 ldr r3, [pc, #472] ; (809ace8 ) 809ab10: 781b ldrb r3, [r3, #0] 809ab12: b2db uxtb r3, r3 809ab14: 4a75 ldr r2, [pc, #468] ; (809acec ) 809ab16: 009b lsls r3, r3, #2 809ab18: 4413 add r3, r2 809ab1a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809ab1e: b2db uxtb r3, r3 809ab20: f003 0307 and.w r3, r3, #7 809ab24: 2b02 cmp r3, #2 809ab26: d112 bne.n 809ab4e if(pardata.LANG == RUS) 809ab28: 4b70 ldr r3, [pc, #448] ; (809acec ) 809ab2a: 7b1b ldrb r3, [r3, #12] 809ab2c: b2db uxtb r3, r3 809ab2e: 2b00 cmp r3, #0 809ab30: d106 bne.n 809ab40 BSP_LCD_DisplayStringAt(170, 137, "ì/c", LEFT_MODE); 809ab32: 2303 movs r3, #3 809ab34: 4a75 ldr r2, [pc, #468] ; (809ad0c ) 809ab36: 2189 movs r1, #137 ; 0x89 809ab38: 20aa movs r0, #170 ; 0xaa 809ab3a: f7b8 ff19 bl 8053970 809ab3e: e127 b.n 809ad90 else BSP_LCD_DisplayStringAt(170, 137, "m/s", LEFT_MODE); 809ab40: 2303 movs r3, #3 809ab42: 4a73 ldr r2, [pc, #460] ; (809ad10 ) 809ab44: 2189 movs r1, #137 ; 0x89 809ab46: 20aa movs r0, #170 ; 0xaa 809ab48: f7b8 ff12 bl 8053970 809ab4c: e120 b.n 809ad90 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_DIS) 809ab4e: 4b66 ldr r3, [pc, #408] ; (809ace8 ) 809ab50: 781b ldrb r3, [r3, #0] 809ab52: b2db uxtb r3, r3 809ab54: 4a65 ldr r2, [pc, #404] ; (809acec ) 809ab56: 009b lsls r3, r3, #2 809ab58: 4413 add r3, r2 809ab5a: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809ab5e: b2db uxtb r3, r3 809ab60: f003 0307 and.w r3, r3, #7 809ab64: 2b04 cmp r3, #4 809ab66: f040 8113 bne.w 809ad90 if(pardata.LANG == RUS) 809ab6a: 4b60 ldr r3, [pc, #384] ; (809acec ) 809ab6c: 7b1b ldrb r3, [r3, #12] 809ab6e: b2db uxtb r3, r3 809ab70: 2b00 cmp r3, #0 809ab72: d106 bne.n 809ab82 BSP_LCD_DisplayStringAt(170, 137, "ìì", LEFT_MODE); 809ab74: 2303 movs r3, #3 809ab76: 4a67 ldr r2, [pc, #412] ; (809ad14 ) 809ab78: 2189 movs r1, #137 ; 0x89 809ab7a: 20aa movs r0, #170 ; 0xaa 809ab7c: f7b8 fef8 bl 8053970 809ab80: e106 b.n 809ad90 else BSP_LCD_DisplayStringAt(170, 137, "mm", LEFT_MODE); 809ab82: 2303 movs r3, #3 809ab84: 4a64 ldr r2, [pc, #400] ; (809ad18 ) 809ab86: 2189 movs r1, #137 ; 0x89 809ab88: 20aa movs r0, #170 ; 0xaa 809ab8a: f7b8 fef1 bl 8053970 809ab8e: e0ff b.n 809ad90 if(f >= 0.1f) 809ab90: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ab94: ed9f 7a61 vldr s14, [pc, #388] ; 809ad1c 809ab98: eef4 7ac7 vcmpe.f32 s15, s14 809ab9c: eef1 fa10 vmrs APSR_nzcv, fpscr 809aba0: db60 blt.n 809ac64 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_ACC) 809aba2: 4b51 ldr r3, [pc, #324] ; (809ace8 ) 809aba4: 781b ldrb r3, [r3, #0] 809aba6: b2db uxtb r3, r3 809aba8: 4a50 ldr r2, [pc, #320] ; (809acec ) 809abaa: 009b lsls r3, r3, #2 809abac: 4413 add r3, r2 809abae: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809abb2: b2db uxtb r3, r3 809abb4: f003 0307 and.w r3, r3, #7 809abb8: 2b01 cmp r3, #1 809abba: d112 bne.n 809abe2 if(pardata.LANG == RUS) 809abbc: 4b4b ldr r3, [pc, #300] ; (809acec ) 809abbe: 7b1b ldrb r3, [r3, #12] 809abc0: b2db uxtb r3, r3 809abc2: 2b00 cmp r3, #0 809abc4: d106 bne.n 809abd4 BSP_LCD_DisplayStringAt(170, 137, "ì/c^", LEFT_MODE); 809abc6: 2303 movs r3, #3 809abc8: 4a55 ldr r2, [pc, #340] ; (809ad20 ) 809abca: 2189 movs r1, #137 ; 0x89 809abcc: 20aa movs r0, #170 ; 0xaa 809abce: f7b8 fecf bl 8053970 809abd2: e0dd b.n 809ad90 else BSP_LCD_DisplayStringAt(170, 137, "m/s^", LEFT_MODE); 809abd4: 2303 movs r3, #3 809abd6: 4a53 ldr r2, [pc, #332] ; (809ad24 ) 809abd8: 2189 movs r1, #137 ; 0x89 809abda: 20aa movs r0, #170 ; 0xaa 809abdc: f7b8 fec8 bl 8053970 809abe0: e0d6 b.n 809ad90 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_VEL) 809abe2: 4b41 ldr r3, [pc, #260] ; (809ace8 ) 809abe4: 781b ldrb r3, [r3, #0] 809abe6: b2db uxtb r3, r3 809abe8: 4a40 ldr r2, [pc, #256] ; (809acec ) 809abea: 009b lsls r3, r3, #2 809abec: 4413 add r3, r2 809abee: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809abf2: b2db uxtb r3, r3 809abf4: f003 0307 and.w r3, r3, #7 809abf8: 2b02 cmp r3, #2 809abfa: d112 bne.n 809ac22 if(pardata.LANG == RUS) 809abfc: 4b3b ldr r3, [pc, #236] ; (809acec ) 809abfe: 7b1b ldrb r3, [r3, #12] 809ac00: b2db uxtb r3, r3 809ac02: 2b00 cmp r3, #0 809ac04: d106 bne.n 809ac14 BSP_LCD_DisplayStringAt(170, 137, "ìì/c", LEFT_MODE); 809ac06: 2303 movs r3, #3 809ac08: 4a47 ldr r2, [pc, #284] ; (809ad28 ) 809ac0a: 2189 movs r1, #137 ; 0x89 809ac0c: 20aa movs r0, #170 ; 0xaa 809ac0e: f7b8 feaf bl 8053970 809ac12: e0bd b.n 809ad90 else BSP_LCD_DisplayStringAt(170, 137, "mm/s", LEFT_MODE); 809ac14: 2303 movs r3, #3 809ac16: 4a45 ldr r2, [pc, #276] ; (809ad2c ) 809ac18: 2189 movs r1, #137 ; 0x89 809ac1a: 20aa movs r0, #170 ; 0xaa 809ac1c: f7b8 fea8 bl 8053970 809ac20: e0b6 b.n 809ad90 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_DIS) 809ac22: 4b31 ldr r3, [pc, #196] ; (809ace8 ) 809ac24: 781b ldrb r3, [r3, #0] 809ac26: b2db uxtb r3, r3 809ac28: 4a30 ldr r2, [pc, #192] ; (809acec ) 809ac2a: 009b lsls r3, r3, #2 809ac2c: 4413 add r3, r2 809ac2e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809ac32: b2db uxtb r3, r3 809ac34: f003 0307 and.w r3, r3, #7 809ac38: 2b04 cmp r3, #4 809ac3a: f040 80a9 bne.w 809ad90 if(pardata.LANG == RUS) 809ac3e: 4b2b ldr r3, [pc, #172] ; (809acec ) 809ac40: 7b1b ldrb r3, [r3, #12] 809ac42: b2db uxtb r3, r3 809ac44: 2b00 cmp r3, #0 809ac46: d106 bne.n 809ac56 BSP_LCD_DisplayStringAt(170, 137, "ìkì", LEFT_MODE); 809ac48: 2303 movs r3, #3 809ac4a: 4a39 ldr r2, [pc, #228] ; (809ad30 ) 809ac4c: 2189 movs r1, #137 ; 0x89 809ac4e: 20aa movs r0, #170 ; 0xaa 809ac50: f7b8 fe8e bl 8053970 809ac54: e09c b.n 809ad90 else BSP_LCD_DisplayStringAt(170, 137, "um", LEFT_MODE); 809ac56: 2303 movs r3, #3 809ac58: 4a36 ldr r2, [pc, #216] ; (809ad34 ) 809ac5a: 2189 movs r1, #137 ; 0x89 809ac5c: 20aa movs r0, #170 ; 0xaa 809ac5e: f7b8 fe87 bl 8053970 809ac62: e095 b.n 809ad90 f *= 1000.0f; 809ac64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ac68: ed9f 7a24 vldr s14, [pc, #144] ; 809acfc 809ac6c: ee67 7a87 vmul.f32 s15, s15, s14 809ac70: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_ACC) 809ac74: 4b1c ldr r3, [pc, #112] ; (809ace8 ) 809ac76: 781b ldrb r3, [r3, #0] 809ac78: b2db uxtb r3, r3 809ac7a: 4a1c ldr r2, [pc, #112] ; (809acec ) 809ac7c: 009b lsls r3, r3, #2 809ac7e: 4413 add r3, r2 809ac80: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809ac84: b2db uxtb r3, r3 809ac86: f003 0307 and.w r3, r3, #7 809ac8a: 2b01 cmp r3, #1 809ac8c: d112 bne.n 809acb4 if(pardata.LANG == RUS) 809ac8e: 4b17 ldr r3, [pc, #92] ; (809acec ) 809ac90: 7b1b ldrb r3, [r3, #12] 809ac92: b2db uxtb r3, r3 809ac94: 2b00 cmp r3, #0 809ac96: d106 bne.n 809aca6 BSP_LCD_DisplayStringAt(170, 137, "ìì/c^", LEFT_MODE); 809ac98: 2303 movs r3, #3 809ac9a: 4a27 ldr r2, [pc, #156] ; (809ad38 ) 809ac9c: 2189 movs r1, #137 ; 0x89 809ac9e: 20aa movs r0, #170 ; 0xaa 809aca0: f7b8 fe66 bl 8053970 809aca4: e074 b.n 809ad90 else BSP_LCD_DisplayStringAt(170, 137, "mm/s^", LEFT_MODE); 809aca6: 2303 movs r3, #3 809aca8: 4a24 ldr r2, [pc, #144] ; (809ad3c ) 809acaa: 2189 movs r1, #137 ; 0x89 809acac: 20aa movs r0, #170 ; 0xaa 809acae: f7b8 fe5f bl 8053970 809acb2: e06d b.n 809ad90 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_VEL) 809acb4: 4b0c ldr r3, [pc, #48] ; (809ace8 ) 809acb6: 781b ldrb r3, [r3, #0] 809acb8: b2db uxtb r3, r3 809acba: 4a0c ldr r2, [pc, #48] ; (809acec ) 809acbc: 009b lsls r3, r3, #2 809acbe: 4413 add r3, r2 809acc0: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809acc4: b2db uxtb r3, r3 809acc6: f003 0307 and.w r3, r3, #7 809acca: 2b02 cmp r3, #2 809accc: d141 bne.n 809ad52 if(pardata.LANG == RUS) 809acce: 4b07 ldr r3, [pc, #28] ; (809acec ) 809acd0: 7b1b ldrb r3, [r3, #12] 809acd2: b2db uxtb r3, r3 809acd4: 2b00 cmp r3, #0 809acd6: d135 bne.n 809ad44 BSP_LCD_DisplayStringAt(170, 137, "ìêì/c", LEFT_MODE); 809acd8: 2303 movs r3, #3 809acda: 4a19 ldr r2, [pc, #100] ; (809ad40 ) 809acdc: 2189 movs r1, #137 ; 0x89 809acde: 20aa movs r0, #170 ; 0xaa 809ace0: f7b8 fe46 bl 8053970 809ace4: e054 b.n 809ad90 809ace6: bf00 nop 809ace8: 20021011 .word 0x20021011 809acec: 20023e60 .word 0x20023e60 809acf0: 200268d8 .word 0x200268d8 809acf4: ff0a0f1f .word 0xff0a0f1f 809acf8: ffff0000 .word 0xffff0000 809acfc: 447a0000 .word 0x447a0000 809ad00: 3a83126f .word 0x3a83126f 809ad04: 080d09d0 .word 0x080d09d0 809ad08: 080d09d8 .word 0x080d09d8 809ad0c: 080d09e0 .word 0x080d09e0 809ad10: 080d09e4 .word 0x080d09e4 809ad14: 080d09e8 .word 0x080d09e8 809ad18: 080d09ec .word 0x080d09ec 809ad1c: 3dcccccd .word 0x3dcccccd 809ad20: 080d09f0 .word 0x080d09f0 809ad24: 080d09f8 .word 0x080d09f8 809ad28: 080d0a00 .word 0x080d0a00 809ad2c: 080d0a08 .word 0x080d0a08 809ad30: 080d0a10 .word 0x080d0a10 809ad34: 080d0a14 .word 0x080d0a14 809ad38: 080d0a18 .word 0x080d0a18 809ad3c: 080d0a20 .word 0x080d0a20 809ad40: 080d0a28 .word 0x080d0a28 else BSP_LCD_DisplayStringAt(170, 137, "mkm/s", LEFT_MODE); 809ad44: 2303 movs r3, #3 809ad46: 4acb ldr r2, [pc, #812] ; (809b074 ) 809ad48: 2189 movs r1, #137 ; 0x89 809ad4a: 20aa movs r0, #170 ; 0xaa 809ad4c: f7b8 fe10 bl 8053970 809ad50: e01e b.n 809ad90 else if((pardata.DIAGN_MASK[CURR_POINT][Us2] & 0x7) == DIAGN_DIS) 809ad52: 4bc9 ldr r3, [pc, #804] ; (809b078 ) 809ad54: 781b ldrb r3, [r3, #0] 809ad56: b2db uxtb r3, r3 809ad58: 4ac8 ldr r2, [pc, #800] ; (809b07c ) 809ad5a: 009b lsls r3, r3, #2 809ad5c: 4413 add r3, r2 809ad5e: f893 323d ldrb.w r3, [r3, #573] ; 0x23d 809ad62: b2db uxtb r3, r3 809ad64: f003 0307 and.w r3, r3, #7 809ad68: 2b04 cmp r3, #4 809ad6a: d111 bne.n 809ad90 if(pardata.LANG == RUS) 809ad6c: 4bc3 ldr r3, [pc, #780] ; (809b07c ) 809ad6e: 7b1b ldrb r3, [r3, #12] 809ad70: b2db uxtb r3, r3 809ad72: 2b00 cmp r3, #0 809ad74: d106 bne.n 809ad84 BSP_LCD_DisplayStringAt(170, 137, "íì", LEFT_MODE); 809ad76: 2303 movs r3, #3 809ad78: 4ac1 ldr r2, [pc, #772] ; (809b080 ) 809ad7a: 2189 movs r1, #137 ; 0x89 809ad7c: 20aa movs r0, #170 ; 0xaa 809ad7e: f7b8 fdf7 bl 8053970 809ad82: e005 b.n 809ad90 else BSP_LCD_DisplayStringAt(170, 137, "nm", LEFT_MODE); 809ad84: 2303 movs r3, #3 809ad86: 4abf ldr r2, [pc, #764] ; (809b084 ) 809ad88: 2189 movs r1, #137 ; 0x89 809ad8a: 20aa movs r0, #170 ; 0xaa 809ad8c: f7b8 fdf0 bl 8053970 if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809ad90: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ad94: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ad98: eef4 7ac7 vcmpe.f32 s15, s14 809ad9c: eef1 fa10 vmrs APSR_nzcv, fpscr 809ada0: d50e bpl.n 809adc0 809ada2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ada6: f06f 0003 mvn.w r0, #3 809adaa: eeb0 0a67 vmov.f32 s0, s15 809adae: f7cb fcc3 bl 8066738 809adb2: 4602 mov r2, r0 809adb4: 2302 movs r3, #2 809adb6: 2189 movs r1, #137 ; 0x89 809adb8: 20a0 movs r0, #160 ; 0xa0 809adba: f7b8 fdd9 bl 8053970 809adbe: e05d b.n 809ae7c else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809adc0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809adc4: ed9f 7ab0 vldr s14, [pc, #704] ; 809b088 809adc8: eef4 7ac7 vcmpe.f32 s15, s14 809adcc: eef1 fa10 vmrs APSR_nzcv, fpscr 809add0: d50e bpl.n 809adf0 809add2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809add6: f06f 0002 mvn.w r0, #2 809adda: eeb0 0a67 vmov.f32 s0, s15 809adde: f7cb fcab bl 8066738 809ade2: 4602 mov r2, r0 809ade4: 2302 movs r3, #2 809ade6: 2189 movs r1, #137 ; 0x89 809ade8: 20a0 movs r0, #160 ; 0xa0 809adea: f7b8 fdc1 bl 8053970 809adee: e045 b.n 809ae7c else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809adf0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809adf4: ed9f 7aa5 vldr s14, [pc, #660] ; 809b08c 809adf8: eef4 7ac7 vcmpe.f32 s15, s14 809adfc: eef1 fa10 vmrs APSR_nzcv, fpscr 809ae00: d50e bpl.n 809ae20 809ae02: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ae06: f06f 0001 mvn.w r0, #1 809ae0a: eeb0 0a67 vmov.f32 s0, s15 809ae0e: f7cb fc93 bl 8066738 809ae12: 4602 mov r2, r0 809ae14: 2302 movs r3, #2 809ae16: 2189 movs r1, #137 ; 0x89 809ae18: 20a0 movs r0, #160 ; 0xa0 809ae1a: f7b8 fda9 bl 8053970 809ae1e: e02d b.n 809ae7c else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809ae20: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ae24: ed9f 7a9a vldr s14, [pc, #616] ; 809b090 809ae28: eef4 7ac7 vcmpe.f32 s15, s14 809ae2c: eef1 fa10 vmrs APSR_nzcv, fpscr 809ae30: d50e bpl.n 809ae50 809ae32: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ae36: f04f 30ff mov.w r0, #4294967295 809ae3a: eeb0 0a67 vmov.f32 s0, s15 809ae3e: f7cb fc7b bl 8066738 809ae42: 4602 mov r2, r0 809ae44: 2302 movs r3, #2 809ae46: 2189 movs r1, #137 ; 0x89 809ae48: 20a0 movs r0, #160 ; 0xa0 809ae4a: f7b8 fd91 bl 8053970 809ae4e: e015 b.n 809ae7c else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 137, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809ae50: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ae54: ed9f 7a8f vldr s14, [pc, #572] ; 809b094 809ae58: eef4 7ac7 vcmpe.f32 s15, s14 809ae5c: eef1 fa10 vmrs APSR_nzcv, fpscr 809ae60: d50c bpl.n 809ae7c 809ae62: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ae66: 2000 movs r0, #0 809ae68: eeb0 0a67 vmov.f32 s0, s15 809ae6c: f7cb fc64 bl 8066738 809ae70: 4602 mov r2, r0 809ae72: 2302 movs r3, #2 809ae74: 2189 movs r1, #137 ; 0x89 809ae76: 20a0 movs r0, #160 ; 0xa0 809ae78: f7b8 fd7a bl 8053970 if(((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) != DIAGN_NO) && (operand[Us3] != -1.0f)) 809ae7c: 4b7e ldr r3, [pc, #504] ; (809b078 ) 809ae7e: 781b ldrb r3, [r3, #0] 809ae80: b2db uxtb r3, r3 809ae82: 4a7e ldr r2, [pc, #504] ; (809b07c ) 809ae84: 009b lsls r3, r3, #2 809ae86: 4413 add r3, r2 809ae88: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809ae8c: b2db uxtb r3, r3 809ae8e: f003 0307 and.w r3, r3, #7 809ae92: 2b00 cmp r3, #0 809ae94: f000 8237 beq.w 809b306 809ae98: 4b7f ldr r3, [pc, #508] ; (809b098 ) 809ae9a: edd3 7a02 vldr s15, [r3, #8] 809ae9e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809aea2: eef4 7a47 vcmp.f32 s15, s14 809aea6: eef1 fa10 vmrs APSR_nzcv, fpscr 809aeaa: f000 822c beq.w 809b306 if(operand[Us3] < pardata.DIAGN_A[CURR_POINT][Us3]) 809aeae: 4b7a ldr r3, [pc, #488] ; (809b098 ) 809aeb0: ed93 7a02 vldr s14, [r3, #8] 809aeb4: 4b70 ldr r3, [pc, #448] ; (809b078 ) 809aeb6: 781b ldrb r3, [r3, #0] 809aeb8: b2db uxtb r3, r3 809aeba: 4a70 ldr r2, [pc, #448] ; (809b07c ) 809aebc: 333e adds r3, #62 ; 0x3e 809aebe: 011b lsls r3, r3, #4 809aec0: 4413 add r3, r2 809aec2: 3304 adds r3, #4 809aec4: edd3 7a00 vldr s15, [r3] 809aec8: eeb4 7ae7 vcmpe.f32 s14, s15 809aecc: eef1 fa10 vmrs APSR_nzcv, fpscr 809aed0: d51d bpl.n 809af0e if(operand[Us3] < pardata.DIAGN_W[CURR_POINT][Us3]) 809aed2: 4b71 ldr r3, [pc, #452] ; (809b098 ) 809aed4: ed93 7a02 vldr s14, [r3, #8] 809aed8: 4b67 ldr r3, [pc, #412] ; (809b078 ) 809aeda: 781b ldrb r3, [r3, #0] 809aedc: b2db uxtb r3, r3 809aede: 4a67 ldr r2, [pc, #412] ; (809b07c ) 809aee0: 3336 adds r3, #54 ; 0x36 809aee2: 011b lsls r3, r3, #4 809aee4: 4413 add r3, r2 809aee6: 3304 adds r3, #4 809aee8: edd3 7a00 vldr s15, [r3] 809aeec: eeb4 7ae7 vcmpe.f32 s14, s15 809aef0: eef1 fa10 vmrs APSR_nzcv, fpscr 809aef4: d505 bpl.n 809af02 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809aef6: 4969 ldr r1, [pc, #420] ; (809b09c ) 809aef8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809aefc: f7b8 fc72 bl 80537e4 809af00: e009 b.n 809af16 else LCD_SetColors(LCD_COLOR_YELLOW, LCD_COLOR_BLACK); 809af02: 4966 ldr r1, [pc, #408] ; (809b09c ) 809af04: f06f 00ff mvn.w r0, #255 ; 0xff 809af08: f7b8 fc6c bl 80537e4 809af0c: e003 b.n 809af16 LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 809af0e: 4963 ldr r1, [pc, #396] ; (809b09c ) 809af10: 4863 ldr r0, [pc, #396] ; (809b0a0 ) 809af12: f7b8 fc67 bl 80537e4 f = operand[Us3]; 809af16: 4b60 ldr r3, [pc, #384] ; (809b098 ) 809af18: 689b ldr r3, [r3, #8] 809af1a: 647b str r3, [r7, #68] ; 0x44 if(((pardata.DIAGN_MASK[CURR_POINT][Us3] >> 3) & 0x1f) >= DIAGN_PEAK_FACTOR) 809af1c: 4b56 ldr r3, [pc, #344] ; (809b078 ) 809af1e: 781b ldrb r3, [r3, #0] 809af20: b2db uxtb r3, r3 809af22: 4a56 ldr r2, [pc, #344] ; (809b07c ) 809af24: 009b lsls r3, r3, #2 809af26: 4413 add r3, r2 809af28: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809af2c: b2db uxtb r3, r3 809af2e: 08db lsrs r3, r3, #3 809af30: b2db uxtb r3, r3 809af32: f003 031f and.w r3, r3, #31 809af36: 2b07 cmp r3, #7 809af38: f300 816f bgt.w 809b21a if(f >= 1000.0f) 809af3c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809af40: ed9f 7a52 vldr s14, [pc, #328] ; 809b08c 809af44: eef4 7ac7 vcmpe.f32 s15, s14 809af48: eef1 fa10 vmrs APSR_nzcv, fpscr 809af4c: db68 blt.n 809b020 f *= 0.001f; 809af4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809af52: ed9f 7a54 vldr s14, [pc, #336] ; 809b0a4 809af56: ee67 7a87 vmul.f32 s15, s15, s14 809af5a: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_ACC) 809af5e: 4b46 ldr r3, [pc, #280] ; (809b078 ) 809af60: 781b ldrb r3, [r3, #0] 809af62: b2db uxtb r3, r3 809af64: 4a45 ldr r2, [pc, #276] ; (809b07c ) 809af66: 009b lsls r3, r3, #2 809af68: 4413 add r3, r2 809af6a: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809af6e: b2db uxtb r3, r3 809af70: f003 0307 and.w r3, r3, #7 809af74: 2b01 cmp r3, #1 809af76: d112 bne.n 809af9e if(pardata.LANG == RUS) 809af78: 4b40 ldr r3, [pc, #256] ; (809b07c ) 809af7a: 7b1b ldrb r3, [r3, #12] 809af7c: b2db uxtb r3, r3 809af7e: 2b00 cmp r3, #0 809af80: d106 bne.n 809af90 BSP_LCD_DisplayStringAt(170, 173, "kì/c^", LEFT_MODE); 809af82: 2303 movs r3, #3 809af84: 4a48 ldr r2, [pc, #288] ; (809b0a8 ) 809af86: 21ad movs r1, #173 ; 0xad 809af88: 20aa movs r0, #170 ; 0xaa 809af8a: f7b8 fcf1 bl 8053970 809af8e: e144 b.n 809b21a else BSP_LCD_DisplayStringAt(170, 173, "km/s^", LEFT_MODE); 809af90: 2303 movs r3, #3 809af92: 4a46 ldr r2, [pc, #280] ; (809b0ac ) 809af94: 21ad movs r1, #173 ; 0xad 809af96: 20aa movs r0, #170 ; 0xaa 809af98: f7b8 fcea bl 8053970 809af9c: e13d b.n 809b21a if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_VEL) 809af9e: 4b36 ldr r3, [pc, #216] ; (809b078 ) 809afa0: 781b ldrb r3, [r3, #0] 809afa2: b2db uxtb r3, r3 809afa4: 4a35 ldr r2, [pc, #212] ; (809b07c ) 809afa6: 009b lsls r3, r3, #2 809afa8: 4413 add r3, r2 809afaa: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809afae: b2db uxtb r3, r3 809afb0: f003 0307 and.w r3, r3, #7 809afb4: 2b02 cmp r3, #2 809afb6: d112 bne.n 809afde if(pardata.LANG == RUS) 809afb8: 4b30 ldr r3, [pc, #192] ; (809b07c ) 809afba: 7b1b ldrb r3, [r3, #12] 809afbc: b2db uxtb r3, r3 809afbe: 2b00 cmp r3, #0 809afc0: d106 bne.n 809afd0 BSP_LCD_DisplayStringAt(170, 173, "ì/c", LEFT_MODE); 809afc2: 2303 movs r3, #3 809afc4: 4a3a ldr r2, [pc, #232] ; (809b0b0 ) 809afc6: 21ad movs r1, #173 ; 0xad 809afc8: 20aa movs r0, #170 ; 0xaa 809afca: f7b8 fcd1 bl 8053970 809afce: e124 b.n 809b21a else BSP_LCD_DisplayStringAt(170, 173, "m/s", LEFT_MODE); 809afd0: 2303 movs r3, #3 809afd2: 4a38 ldr r2, [pc, #224] ; (809b0b4 ) 809afd4: 21ad movs r1, #173 ; 0xad 809afd6: 20aa movs r0, #170 ; 0xaa 809afd8: f7b8 fcca bl 8053970 809afdc: e11d b.n 809b21a if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_DIS) 809afde: 4b26 ldr r3, [pc, #152] ; (809b078 ) 809afe0: 781b ldrb r3, [r3, #0] 809afe2: b2db uxtb r3, r3 809afe4: 4a25 ldr r2, [pc, #148] ; (809b07c ) 809afe6: 009b lsls r3, r3, #2 809afe8: 4413 add r3, r2 809afea: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809afee: b2db uxtb r3, r3 809aff0: f003 0307 and.w r3, r3, #7 809aff4: 2b04 cmp r3, #4 809aff6: f040 8110 bne.w 809b21a if(pardata.LANG == RUS) 809affa: 4b20 ldr r3, [pc, #128] ; (809b07c ) 809affc: 7b1b ldrb r3, [r3, #12] 809affe: b2db uxtb r3, r3 809b000: 2b00 cmp r3, #0 809b002: d106 bne.n 809b012 BSP_LCD_DisplayStringAt(170, 173, "ìì", LEFT_MODE); 809b004: 2303 movs r3, #3 809b006: 4a2c ldr r2, [pc, #176] ; (809b0b8 ) 809b008: 21ad movs r1, #173 ; 0xad 809b00a: 20aa movs r0, #170 ; 0xaa 809b00c: f7b8 fcb0 bl 8053970 809b010: e103 b.n 809b21a else BSP_LCD_DisplayStringAt(170, 173, "mm", LEFT_MODE); 809b012: 2303 movs r3, #3 809b014: 4a29 ldr r2, [pc, #164] ; (809b0bc ) 809b016: 21ad movs r1, #173 ; 0xad 809b018: 20aa movs r0, #170 ; 0xaa 809b01a: f7b8 fca9 bl 8053970 809b01e: e0fc b.n 809b21a if(f >= 0.1f) 809b020: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b024: ed9f 7a26 vldr s14, [pc, #152] ; 809b0c0 809b028: eef4 7ac7 vcmpe.f32 s15, s14 809b02c: eef1 fa10 vmrs APSR_nzcv, fpscr 809b030: f2c0 808c blt.w 809b14c if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_ACC) 809b034: 4b10 ldr r3, [pc, #64] ; (809b078 ) 809b036: 781b ldrb r3, [r3, #0] 809b038: b2db uxtb r3, r3 809b03a: 4a10 ldr r2, [pc, #64] ; (809b07c ) 809b03c: 009b lsls r3, r3, #2 809b03e: 4413 add r3, r2 809b040: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b044: b2db uxtb r3, r3 809b046: f003 0307 and.w r3, r3, #7 809b04a: 2b01 cmp r3, #1 809b04c: d13e bne.n 809b0cc if(pardata.LANG == RUS) 809b04e: 4b0b ldr r3, [pc, #44] ; (809b07c ) 809b050: 7b1b ldrb r3, [r3, #12] 809b052: b2db uxtb r3, r3 809b054: 2b00 cmp r3, #0 809b056: d106 bne.n 809b066 BSP_LCD_DisplayStringAt(170, 173, "ì/c^", LEFT_MODE); 809b058: 2303 movs r3, #3 809b05a: 4a1a ldr r2, [pc, #104] ; (809b0c4 ) 809b05c: 21ad movs r1, #173 ; 0xad 809b05e: 20aa movs r0, #170 ; 0xaa 809b060: f7b8 fc86 bl 8053970 809b064: e0d9 b.n 809b21a else BSP_LCD_DisplayStringAt(170, 173, "m/s^", LEFT_MODE); 809b066: 2303 movs r3, #3 809b068: 4a17 ldr r2, [pc, #92] ; (809b0c8 ) 809b06a: 21ad movs r1, #173 ; 0xad 809b06c: 20aa movs r0, #170 ; 0xaa 809b06e: f7b8 fc7f bl 8053970 809b072: e0d2 b.n 809b21a 809b074: 080d0a30 .word 0x080d0a30 809b078: 20021011 .word 0x20021011 809b07c: 20023e60 .word 0x20023e60 809b080: 080d0a38 .word 0x080d0a38 809b084: 080d0a3c .word 0x080d0a3c 809b088: 42c80000 .word 0x42c80000 809b08c: 447a0000 .word 0x447a0000 809b090: 461c4000 .word 0x461c4000 809b094: 47c35000 .word 0x47c35000 809b098: 200268d8 .word 0x200268d8 809b09c: ff0a0f1f .word 0xff0a0f1f 809b0a0: ffff0000 .word 0xffff0000 809b0a4: 3a83126f .word 0x3a83126f 809b0a8: 080d09d0 .word 0x080d09d0 809b0ac: 080d09d8 .word 0x080d09d8 809b0b0: 080d09e0 .word 0x080d09e0 809b0b4: 080d09e4 .word 0x080d09e4 809b0b8: 080d09e8 .word 0x080d09e8 809b0bc: 080d09ec .word 0x080d09ec 809b0c0: 3dcccccd .word 0x3dcccccd 809b0c4: 080d09f0 .word 0x080d09f0 809b0c8: 080d09f8 .word 0x080d09f8 else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_VEL) 809b0cc: 4bbc ldr r3, [pc, #752] ; (809b3c0 ) 809b0ce: 781b ldrb r3, [r3, #0] 809b0d0: b2db uxtb r3, r3 809b0d2: 4abc ldr r2, [pc, #752] ; (809b3c4 ) 809b0d4: 009b lsls r3, r3, #2 809b0d6: 4413 add r3, r2 809b0d8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b0dc: b2db uxtb r3, r3 809b0de: f003 0307 and.w r3, r3, #7 809b0e2: 2b02 cmp r3, #2 809b0e4: d112 bne.n 809b10c if(pardata.LANG == RUS) 809b0e6: 4bb7 ldr r3, [pc, #732] ; (809b3c4 ) 809b0e8: 7b1b ldrb r3, [r3, #12] 809b0ea: b2db uxtb r3, r3 809b0ec: 2b00 cmp r3, #0 809b0ee: d106 bne.n 809b0fe BSP_LCD_DisplayStringAt(170, 173, "ìì/c", LEFT_MODE); 809b0f0: 2303 movs r3, #3 809b0f2: 4ab5 ldr r2, [pc, #724] ; (809b3c8 ) 809b0f4: 21ad movs r1, #173 ; 0xad 809b0f6: 20aa movs r0, #170 ; 0xaa 809b0f8: f7b8 fc3a bl 8053970 809b0fc: e08d b.n 809b21a else BSP_LCD_DisplayStringAt(170, 173, "mm/s", LEFT_MODE); 809b0fe: 2303 movs r3, #3 809b100: 4ab2 ldr r2, [pc, #712] ; (809b3cc ) 809b102: 21ad movs r1, #173 ; 0xad 809b104: 20aa movs r0, #170 ; 0xaa 809b106: f7b8 fc33 bl 8053970 809b10a: e086 b.n 809b21a else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_DIS) 809b10c: 4bac ldr r3, [pc, #688] ; (809b3c0 ) 809b10e: 781b ldrb r3, [r3, #0] 809b110: b2db uxtb r3, r3 809b112: 4aac ldr r2, [pc, #688] ; (809b3c4 ) 809b114: 009b lsls r3, r3, #2 809b116: 4413 add r3, r2 809b118: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b11c: b2db uxtb r3, r3 809b11e: f003 0307 and.w r3, r3, #7 809b122: 2b04 cmp r3, #4 809b124: d179 bne.n 809b21a if(pardata.LANG == RUS) 809b126: 4ba7 ldr r3, [pc, #668] ; (809b3c4 ) 809b128: 7b1b ldrb r3, [r3, #12] 809b12a: b2db uxtb r3, r3 809b12c: 2b00 cmp r3, #0 809b12e: d106 bne.n 809b13e BSP_LCD_DisplayStringAt(170, 173, "ìkì", LEFT_MODE); 809b130: 2303 movs r3, #3 809b132: 4aa7 ldr r2, [pc, #668] ; (809b3d0 ) 809b134: 21ad movs r1, #173 ; 0xad 809b136: 20aa movs r0, #170 ; 0xaa 809b138: f7b8 fc1a bl 8053970 809b13c: e06d b.n 809b21a else BSP_LCD_DisplayStringAt(170, 173, "um", LEFT_MODE); 809b13e: 2303 movs r3, #3 809b140: 4aa4 ldr r2, [pc, #656] ; (809b3d4 ) 809b142: 21ad movs r1, #173 ; 0xad 809b144: 20aa movs r0, #170 ; 0xaa 809b146: f7b8 fc13 bl 8053970 809b14a: e066 b.n 809b21a f *= 1000.0f; 809b14c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b150: ed9f 7aa1 vldr s14, [pc, #644] ; 809b3d8 809b154: ee67 7a87 vmul.f32 s15, s15, s14 809b158: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_ACC) 809b15c: 4b98 ldr r3, [pc, #608] ; (809b3c0 ) 809b15e: 781b ldrb r3, [r3, #0] 809b160: b2db uxtb r3, r3 809b162: 4a98 ldr r2, [pc, #608] ; (809b3c4 ) 809b164: 009b lsls r3, r3, #2 809b166: 4413 add r3, r2 809b168: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b16c: b2db uxtb r3, r3 809b16e: f003 0307 and.w r3, r3, #7 809b172: 2b01 cmp r3, #1 809b174: d112 bne.n 809b19c if(pardata.LANG == RUS) 809b176: 4b93 ldr r3, [pc, #588] ; (809b3c4 ) 809b178: 7b1b ldrb r3, [r3, #12] 809b17a: b2db uxtb r3, r3 809b17c: 2b00 cmp r3, #0 809b17e: d106 bne.n 809b18e BSP_LCD_DisplayStringAt(170, 173, "ìêÂ", LEFT_MODE); 809b180: 2303 movs r3, #3 809b182: 4a96 ldr r2, [pc, #600] ; (809b3dc ) 809b184: 21ad movs r1, #173 ; 0xad 809b186: 20aa movs r0, #170 ; 0xaa 809b188: f7b8 fbf2 bl 8053970 809b18c: e045 b.n 809b21a else BSP_LCD_DisplayStringAt(170, 173, "uV", LEFT_MODE); 809b18e: 2303 movs r3, #3 809b190: 4a93 ldr r2, [pc, #588] ; (809b3e0 ) 809b192: 21ad movs r1, #173 ; 0xad 809b194: 20aa movs r0, #170 ; 0xaa 809b196: f7b8 fbeb bl 8053970 809b19a: e03e b.n 809b21a else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_VEL) 809b19c: 4b88 ldr r3, [pc, #544] ; (809b3c0 ) 809b19e: 781b ldrb r3, [r3, #0] 809b1a0: b2db uxtb r3, r3 809b1a2: 4a88 ldr r2, [pc, #544] ; (809b3c4 ) 809b1a4: 009b lsls r3, r3, #2 809b1a6: 4413 add r3, r2 809b1a8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b1ac: b2db uxtb r3, r3 809b1ae: f003 0307 and.w r3, r3, #7 809b1b2: 2b02 cmp r3, #2 809b1b4: d112 bne.n 809b1dc if(pardata.LANG == RUS) 809b1b6: 4b83 ldr r3, [pc, #524] ; (809b3c4 ) 809b1b8: 7b1b ldrb r3, [r3, #12] 809b1ba: b2db uxtb r3, r3 809b1bc: 2b00 cmp r3, #0 809b1be: d106 bne.n 809b1ce BSP_LCD_DisplayStringAt(170, 173, "ìêì/c", LEFT_MODE); 809b1c0: 2303 movs r3, #3 809b1c2: 4a88 ldr r2, [pc, #544] ; (809b3e4 ) 809b1c4: 21ad movs r1, #173 ; 0xad 809b1c6: 20aa movs r0, #170 ; 0xaa 809b1c8: f7b8 fbd2 bl 8053970 809b1cc: e025 b.n 809b21a else BSP_LCD_DisplayStringAt(170, 173, "mkm/s", LEFT_MODE); 809b1ce: 2303 movs r3, #3 809b1d0: 4a85 ldr r2, [pc, #532] ; (809b3e8 ) 809b1d2: 21ad movs r1, #173 ; 0xad 809b1d4: 20aa movs r0, #170 ; 0xaa 809b1d6: f7b8 fbcb bl 8053970 809b1da: e01e b.n 809b21a else if((pardata.DIAGN_MASK[CURR_POINT][Us3] & 0x7) == DIAGN_DIS) 809b1dc: 4b78 ldr r3, [pc, #480] ; (809b3c0 ) 809b1de: 781b ldrb r3, [r3, #0] 809b1e0: b2db uxtb r3, r3 809b1e2: 4a78 ldr r2, [pc, #480] ; (809b3c4 ) 809b1e4: 009b lsls r3, r3, #2 809b1e6: 4413 add r3, r2 809b1e8: f893 323e ldrb.w r3, [r3, #574] ; 0x23e 809b1ec: b2db uxtb r3, r3 809b1ee: f003 0307 and.w r3, r3, #7 809b1f2: 2b04 cmp r3, #4 809b1f4: d111 bne.n 809b21a if(pardata.LANG == RUS) 809b1f6: 4b73 ldr r3, [pc, #460] ; (809b3c4 ) 809b1f8: 7b1b ldrb r3, [r3, #12] 809b1fa: b2db uxtb r3, r3 809b1fc: 2b00 cmp r3, #0 809b1fe: d106 bne.n 809b20e BSP_LCD_DisplayStringAt(170, 173, "íì", LEFT_MODE); 809b200: 2303 movs r3, #3 809b202: 4a7a ldr r2, [pc, #488] ; (809b3ec ) 809b204: 21ad movs r1, #173 ; 0xad 809b206: 20aa movs r0, #170 ; 0xaa 809b208: f7b8 fbb2 bl 8053970 809b20c: e005 b.n 809b21a else BSP_LCD_DisplayStringAt(170, 173, "nm", LEFT_MODE); 809b20e: 2303 movs r3, #3 809b210: 4a77 ldr r2, [pc, #476] ; (809b3f0 ) 809b212: 21ad movs r1, #173 ; 0xad 809b214: 20aa movs r0, #170 ; 0xaa 809b216: f7b8 fbab bl 8053970 if(f < 10.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -4), RIGHT_MODE); 809b21a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b21e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809b222: eef4 7ac7 vcmpe.f32 s15, s14 809b226: eef1 fa10 vmrs APSR_nzcv, fpscr 809b22a: d50e bpl.n 809b24a 809b22c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b230: f06f 0003 mvn.w r0, #3 809b234: eeb0 0a67 vmov.f32 s0, s15 809b238: f7cb fa7e bl 8066738 809b23c: 4602 mov r2, r0 809b23e: 2302 movs r3, #2 809b240: 21ad movs r1, #173 ; 0xad 809b242: 20a0 movs r0, #160 ; 0xa0 809b244: f7b8 fb94 bl 8053970 809b248: e05d b.n 809b306 else if(f < 100.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -3), RIGHT_MODE); 809b24a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b24e: ed9f 7a69 vldr s14, [pc, #420] ; 809b3f4 809b252: eef4 7ac7 vcmpe.f32 s15, s14 809b256: eef1 fa10 vmrs APSR_nzcv, fpscr 809b25a: d50e bpl.n 809b27a 809b25c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b260: f06f 0002 mvn.w r0, #2 809b264: eeb0 0a67 vmov.f32 s0, s15 809b268: f7cb fa66 bl 8066738 809b26c: 4602 mov r2, r0 809b26e: 2302 movs r3, #2 809b270: 21ad movs r1, #173 ; 0xad 809b272: 20a0 movs r0, #160 ; 0xa0 809b274: f7b8 fb7c bl 8053970 809b278: e045 b.n 809b306 else if(f < 1000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -2), RIGHT_MODE); 809b27a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b27e: ed9f 7a56 vldr s14, [pc, #344] ; 809b3d8 809b282: eef4 7ac7 vcmpe.f32 s15, s14 809b286: eef1 fa10 vmrs APSR_nzcv, fpscr 809b28a: d50e bpl.n 809b2aa 809b28c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b290: f06f 0001 mvn.w r0, #1 809b294: eeb0 0a67 vmov.f32 s0, s15 809b298: f7cb fa4e bl 8066738 809b29c: 4602 mov r2, r0 809b29e: 2302 movs r3, #2 809b2a0: 21ad movs r1, #173 ; 0xad 809b2a2: 20a0 movs r0, #160 ; 0xa0 809b2a4: f7b8 fb64 bl 8053970 809b2a8: e02d b.n 809b306 else if(f < 10000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, -1), RIGHT_MODE); 809b2aa: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b2ae: ed9f 7a52 vldr s14, [pc, #328] ; 809b3f8 809b2b2: eef4 7ac7 vcmpe.f32 s15, s14 809b2b6: eef1 fa10 vmrs APSR_nzcv, fpscr 809b2ba: d50e bpl.n 809b2da 809b2bc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b2c0: f04f 30ff mov.w r0, #4294967295 809b2c4: eeb0 0a67 vmov.f32 s0, s15 809b2c8: f7cb fa36 bl 8066738 809b2cc: 4602 mov r2, r0 809b2ce: 2302 movs r3, #2 809b2d0: 21ad movs r1, #173 ; 0xad 809b2d2: 20a0 movs r0, #160 ; 0xa0 809b2d4: f7b8 fb4c bl 8053970 809b2d8: e015 b.n 809b306 else if(f < 100000.0f) BSP_LCD_DisplayStringAt(160, 173, (char *)FloatToASCII(f, 0), RIGHT_MODE); 809b2da: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b2de: ed9f 7a47 vldr s14, [pc, #284] ; 809b3fc 809b2e2: eef4 7ac7 vcmpe.f32 s15, s14 809b2e6: eef1 fa10 vmrs APSR_nzcv, fpscr 809b2ea: d50c bpl.n 809b306 809b2ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b2f0: 2000 movs r0, #0 809b2f2: eeb0 0a67 vmov.f32 s0, s15 809b2f6: f7cb fa1f bl 8066738 809b2fa: 4602 mov r2, r0 809b2fc: 2302 movs r3, #2 809b2fe: 21ad movs r1, #173 ; 0xad 809b300: 20a0 movs r0, #160 ; 0xa0 809b302: f7b8 fb35 bl 8053970 if(ALARM) 809b306: 4b3e ldr r3, [pc, #248] ; (809b400 ) 809b308: 781b ldrb r3, [r3, #0] 809b30a: b2db uxtb r3, r3 809b30c: 2b00 cmp r3, #0 809b30e: d006 beq.n 809b31e DrawImage(&bmmy_A, 316-65, 121); 809b310: 2279 movs r2, #121 ; 0x79 809b312: 21fb movs r1, #251 ; 0xfb 809b314: 483b ldr r0, [pc, #236] ; (809b404 ) 809b316: f7b9 f959 bl 80545cc break; 809b31a: f008 bbc9 b.w 80a3ab0 if(WARNING) 809b31e: 4b3a ldr r3, [pc, #232] ; (809b408 ) 809b320: 781b ldrb r3, [r3, #0] 809b322: b2db uxtb r3, r3 809b324: 2b00 cmp r3, #0 809b326: f008 83c3 beq.w 80a3ab0 DrawImage(&bmmy_W, 316-65, 121); 809b32a: 2279 movs r2, #121 ; 0x79 809b32c: 21fb movs r1, #251 ; 0xfb 809b32e: 4837 ldr r0, [pc, #220] ; (809b40c ) 809b330: f7b9 f94c bl 80545cc break; 809b334: f008 bbbc b.w 80a3ab0 DrawImage(&bmAVS, 8, 84); 809b338: 2254 movs r2, #84 ; 0x54 809b33a: 2108 movs r1, #8 809b33c: 4834 ldr r0, [pc, #208] ; (809b410 ) 809b33e: f7b9 f945 bl 80545cc if(DrawSavedData) 809b342: 4b34 ldr r3, [pc, #208] ; (809b414 ) 809b344: 781b ldrb r3, [r3, #0] 809b346: b2db uxtb r3, r3 809b348: 2b00 cmp r3, #0 809b34a: f002 8179 beq.w 809d640 ivs[ACC] = ReadFileData.Aivs; 809b34e: 4b32 ldr r3, [pc, #200] ; (809b418 ) 809b350: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809b354: b2db uxtb r3, r3 809b356: 703b strb r3, [r7, #0] ivs[VEL] = ReadFileData.Vivs; 809b358: 4b2f ldr r3, [pc, #188] ; (809b418 ) 809b35a: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809b35e: b2db uxtb r3, r3 809b360: 707b strb r3, [r7, #1] ivs[DIS] = ReadFileData.Sivs; 809b362: 4b2d ldr r3, [pc, #180] ; (809b418 ) 809b364: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809b368: b2db uxtb r3, r3 809b36a: 70bb strb r3, [r7, #2] if(((!ReadFileData.Aivs) && (!ReadFileData.Vivs) && (!ReadFileData.Sivs)) || (ReadFileData.Aval.fl == -1.0f)) 809b36c: 4b2a ldr r3, [pc, #168] ; (809b418 ) 809b36e: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809b372: b2db uxtb r3, r3 809b374: 2b00 cmp r3, #0 809b376: d10b bne.n 809b390 809b378: 4b27 ldr r3, [pc, #156] ; (809b418 ) 809b37a: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809b37e: b2db uxtb r3, r3 809b380: 2b00 cmp r3, #0 809b382: d105 bne.n 809b390 809b384: 4b24 ldr r3, [pc, #144] ; (809b418 ) 809b386: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809b38a: b2db uxtb r3, r3 809b38c: 2b00 cmp r3, #0 809b38e: d009 beq.n 809b3a4 809b390: 4b21 ldr r3, [pc, #132] ; (809b418 ) 809b392: edd3 7a00 vldr s15, [r3] 809b396: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809b39a: eef4 7a47 vcmp.f32 s15, s14 809b39e: eef1 fa10 vmrs APSR_nzcv, fpscr 809b3a2: d141 bne.n 809b428 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 809b3a4: 4b1d ldr r3, [pc, #116] ; (809b41c ) 809b3a6: 681b ldr r3, [r3, #0] 809b3a8: 4a1d ldr r2, [pc, #116] ; (809b420 ) 809b3aa: f852 2023 ldr.w r2, [r2, r3, lsl #2] 809b3ae: 4b1d ldr r3, [pc, #116] ; (809b424 ) 809b3b0: 681b ldr r3, [r3, #0] 809b3b2: 429a cmp r2, r3 809b3b4: f044 8143 bne.w 809f63e DrawDetectorType(); 809b3b8: f7fc ff74 bl 80982a4 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 809b3bc: f004 b93f b.w 809f63e 809b3c0: 20021011 .word 0x20021011 809b3c4: 20023e60 .word 0x20023e60 809b3c8: 080d0a00 .word 0x080d0a00 809b3cc: 080d0a08 .word 0x080d0a08 809b3d0: 080d0a10 .word 0x080d0a10 809b3d4: 080d0a14 .word 0x080d0a14 809b3d8: 447a0000 .word 0x447a0000 809b3dc: 080d0a40 .word 0x080d0a40 809b3e0: 080d0a44 .word 0x080d0a44 809b3e4: 080d0a28 .word 0x080d0a28 809b3e8: 080d0a30 .word 0x080d0a30 809b3ec: 080d0a38 .word 0x080d0a38 809b3f0: 080d0a3c .word 0x080d0a3c 809b3f4: 42c80000 .word 0x42c80000 809b3f8: 461c4000 .word 0x461c4000 809b3fc: 47c35000 .word 0x47c35000 809b400: 20021015 .word 0x20021015 809b404: 08168b2c .word 0x08168b2c 809b408: 20021014 .word 0x20021014 809b40c: 08169c04 .word 0x08169c04 809b410: 08103cf8 .word 0x08103cf8 809b414: 20020dca .word 0x20020dca 809b418: 200226a0 .word 0x200226a0 809b41c: 20021f9c .word 0x20021f9c 809b420: 20022ea0 .word 0x20022ea0 809b424: 20022310 .word 0x20022310 DrawImage(&bmSAVED, 298, 39); 809b428: 2227 movs r2, #39 ; 0x27 809b42a: f44f 7195 mov.w r1, #298 ; 0x12a 809b42e: 48bc ldr r0, [pc, #752] ; (809b720 ) 809b430: f7b9 f8cc bl 80545cc memset(str, 0, sizeof(str)); 809b434: f107 030c add.w r3, r7, #12 809b438: 2228 movs r2, #40 ; 0x28 809b43a: 2100 movs r1, #0 809b43c: 4618 mov r0, r3 809b43e: f031 fe1f bl 80cd080 BSP_LCD_SetFont(&Font8); 809b442: 48b8 ldr r0, [pc, #736] ; (809b724 ) 809b444: f7b8 fa0a bl 805385c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809b448: 49b7 ldr r1, [pc, #732] ; (809b728 ) 809b44a: 48b8 ldr r0, [pc, #736] ; (809b72c ) 809b44c: f7b8 f9ca bl 80537e4 str[0] = (DateFileData.Date / 10) + 48; 809b450: 4bb7 ldr r3, [pc, #732] ; (809b730 ) 809b452: 789b ldrb r3, [r3, #2] 809b454: b2db uxtb r3, r3 809b456: 4ab7 ldr r2, [pc, #732] ; (809b734 ) 809b458: fba2 2303 umull r2, r3, r2, r3 809b45c: 08db lsrs r3, r3, #3 809b45e: b2db uxtb r3, r3 809b460: 3330 adds r3, #48 ; 0x30 809b462: b2db uxtb r3, r3 809b464: 733b strb r3, [r7, #12] str[1] = (DateFileData.Date % 10) + 48; 809b466: 4bb2 ldr r3, [pc, #712] ; (809b730 ) 809b468: 789b ldrb r3, [r3, #2] 809b46a: b2da uxtb r2, r3 809b46c: 4bb1 ldr r3, [pc, #708] ; (809b734 ) 809b46e: fba3 1302 umull r1, r3, r3, r2 809b472: 08d9 lsrs r1, r3, #3 809b474: 460b mov r3, r1 809b476: 009b lsls r3, r3, #2 809b478: 440b add r3, r1 809b47a: 005b lsls r3, r3, #1 809b47c: 1ad3 subs r3, r2, r3 809b47e: b2db uxtb r3, r3 809b480: 3330 adds r3, #48 ; 0x30 809b482: b2db uxtb r3, r3 809b484: 737b strb r3, [r7, #13] str[2] = '.'; 809b486: 232e movs r3, #46 ; 0x2e 809b488: 73bb strb r3, [r7, #14] str[3] = (DateFileData.Month / 10) + 48; 809b48a: 4ba9 ldr r3, [pc, #676] ; (809b730 ) 809b48c: 785b ldrb r3, [r3, #1] 809b48e: b2db uxtb r3, r3 809b490: 4aa8 ldr r2, [pc, #672] ; (809b734 ) 809b492: fba2 2303 umull r2, r3, r2, r3 809b496: 08db lsrs r3, r3, #3 809b498: b2db uxtb r3, r3 809b49a: 3330 adds r3, #48 ; 0x30 809b49c: b2db uxtb r3, r3 809b49e: 73fb strb r3, [r7, #15] str[4] = (DateFileData.Month % 10) + 48; 809b4a0: 4ba3 ldr r3, [pc, #652] ; (809b730 ) 809b4a2: 785b ldrb r3, [r3, #1] 809b4a4: b2da uxtb r2, r3 809b4a6: 4ba3 ldr r3, [pc, #652] ; (809b734 ) 809b4a8: fba3 1302 umull r1, r3, r3, r2 809b4ac: 08d9 lsrs r1, r3, #3 809b4ae: 460b mov r3, r1 809b4b0: 009b lsls r3, r3, #2 809b4b2: 440b add r3, r1 809b4b4: 005b lsls r3, r3, #1 809b4b6: 1ad3 subs r3, r2, r3 809b4b8: b2db uxtb r3, r3 809b4ba: 3330 adds r3, #48 ; 0x30 809b4bc: b2db uxtb r3, r3 809b4be: 743b strb r3, [r7, #16] str[5] = '.'; 809b4c0: 232e movs r3, #46 ; 0x2e 809b4c2: 747b strb r3, [r7, #17] str[6] = '2'; 809b4c4: 2332 movs r3, #50 ; 0x32 809b4c6: 74bb strb r3, [r7, #18] str[7] = '0'; 809b4c8: 2330 movs r3, #48 ; 0x30 809b4ca: 74fb strb r3, [r7, #19] str[8] = (DateFileData.Year / 10) + 48; 809b4cc: 4b98 ldr r3, [pc, #608] ; (809b730 ) 809b4ce: 78db ldrb r3, [r3, #3] 809b4d0: b2db uxtb r3, r3 809b4d2: 4a98 ldr r2, [pc, #608] ; (809b734 ) 809b4d4: fba2 2303 umull r2, r3, r2, r3 809b4d8: 08db lsrs r3, r3, #3 809b4da: b2db uxtb r3, r3 809b4dc: 3330 adds r3, #48 ; 0x30 809b4de: b2db uxtb r3, r3 809b4e0: 753b strb r3, [r7, #20] str[9] = (DateFileData.Year % 10) + 48; 809b4e2: 4b93 ldr r3, [pc, #588] ; (809b730 ) 809b4e4: 78db ldrb r3, [r3, #3] 809b4e6: b2da uxtb r2, r3 809b4e8: 4b92 ldr r3, [pc, #584] ; (809b734 ) 809b4ea: fba3 1302 umull r1, r3, r3, r2 809b4ee: 08d9 lsrs r1, r3, #3 809b4f0: 460b mov r3, r1 809b4f2: 009b lsls r3, r3, #2 809b4f4: 440b add r3, r1 809b4f6: 005b lsls r3, r3, #1 809b4f8: 1ad3 subs r3, r2, r3 809b4fa: b2db uxtb r3, r3 809b4fc: 3330 adds r3, #48 ; 0x30 809b4fe: b2db uxtb r3, r3 809b500: 757b strb r3, [r7, #21] BSP_LCD_DisplayStringAt(295, 42, str, RIGHT_MODE); 809b502: f107 020c add.w r2, r7, #12 809b506: 2302 movs r3, #2 809b508: 212a movs r1, #42 ; 0x2a 809b50a: f240 1027 movw r0, #295 ; 0x127 809b50e: f7b8 fa2f bl 8053970 memset(str, 0, sizeof(str)); 809b512: f107 030c add.w r3, r7, #12 809b516: 2228 movs r2, #40 ; 0x28 809b518: 2100 movs r1, #0 809b51a: 4618 mov r0, r3 809b51c: f031 fdb0 bl 80cd080 str[0] = (TimeFileData.Hours / 10) + 48; 809b520: 4b85 ldr r3, [pc, #532] ; (809b738 ) 809b522: 781b ldrb r3, [r3, #0] 809b524: b2db uxtb r3, r3 809b526: 4a83 ldr r2, [pc, #524] ; (809b734 ) 809b528: fba2 2303 umull r2, r3, r2, r3 809b52c: 08db lsrs r3, r3, #3 809b52e: b2db uxtb r3, r3 809b530: 3330 adds r3, #48 ; 0x30 809b532: b2db uxtb r3, r3 809b534: 733b strb r3, [r7, #12] str[1] = (TimeFileData.Hours % 10) + 48; 809b536: 4b80 ldr r3, [pc, #512] ; (809b738 ) 809b538: 781b ldrb r3, [r3, #0] 809b53a: b2da uxtb r2, r3 809b53c: 4b7d ldr r3, [pc, #500] ; (809b734 ) 809b53e: fba3 1302 umull r1, r3, r3, r2 809b542: 08d9 lsrs r1, r3, #3 809b544: 460b mov r3, r1 809b546: 009b lsls r3, r3, #2 809b548: 440b add r3, r1 809b54a: 005b lsls r3, r3, #1 809b54c: 1ad3 subs r3, r2, r3 809b54e: b2db uxtb r3, r3 809b550: 3330 adds r3, #48 ; 0x30 809b552: b2db uxtb r3, r3 809b554: 737b strb r3, [r7, #13] str[2] = ':'; 809b556: 233a movs r3, #58 ; 0x3a 809b558: 73bb strb r3, [r7, #14] str[3] = (TimeFileData.Minutes / 10) + 48; 809b55a: 4b77 ldr r3, [pc, #476] ; (809b738 ) 809b55c: 785b ldrb r3, [r3, #1] 809b55e: b2db uxtb r3, r3 809b560: 4a74 ldr r2, [pc, #464] ; (809b734 ) 809b562: fba2 2303 umull r2, r3, r2, r3 809b566: 08db lsrs r3, r3, #3 809b568: b2db uxtb r3, r3 809b56a: 3330 adds r3, #48 ; 0x30 809b56c: b2db uxtb r3, r3 809b56e: 73fb strb r3, [r7, #15] str[4] = (TimeFileData.Minutes % 10) + 48; 809b570: 4b71 ldr r3, [pc, #452] ; (809b738 ) 809b572: 785b ldrb r3, [r3, #1] 809b574: b2da uxtb r2, r3 809b576: 4b6f ldr r3, [pc, #444] ; (809b734 ) 809b578: fba3 1302 umull r1, r3, r3, r2 809b57c: 08d9 lsrs r1, r3, #3 809b57e: 460b mov r3, r1 809b580: 009b lsls r3, r3, #2 809b582: 440b add r3, r1 809b584: 005b lsls r3, r3, #1 809b586: 1ad3 subs r3, r2, r3 809b588: b2db uxtb r3, r3 809b58a: 3330 adds r3, #48 ; 0x30 809b58c: b2db uxtb r3, r3 809b58e: 743b strb r3, [r7, #16] str[5] = ':'; 809b590: 233a movs r3, #58 ; 0x3a 809b592: 747b strb r3, [r7, #17] str[6] = (TimeFileData.Seconds / 10) + 48; 809b594: 4b68 ldr r3, [pc, #416] ; (809b738 ) 809b596: 789b ldrb r3, [r3, #2] 809b598: b2db uxtb r3, r3 809b59a: 4a66 ldr r2, [pc, #408] ; (809b734 ) 809b59c: fba2 2303 umull r2, r3, r2, r3 809b5a0: 08db lsrs r3, r3, #3 809b5a2: b2db uxtb r3, r3 809b5a4: 3330 adds r3, #48 ; 0x30 809b5a6: b2db uxtb r3, r3 809b5a8: 74bb strb r3, [r7, #18] str[7] = (TimeFileData.Seconds % 10) + 48; 809b5aa: 4b63 ldr r3, [pc, #396] ; (809b738 ) 809b5ac: 789b ldrb r3, [r3, #2] 809b5ae: b2da uxtb r2, r3 809b5b0: 4b60 ldr r3, [pc, #384] ; (809b734 ) 809b5b2: fba3 1302 umull r1, r3, r3, r2 809b5b6: 08d9 lsrs r1, r3, #3 809b5b8: 460b mov r3, r1 809b5ba: 009b lsls r3, r3, #2 809b5bc: 440b add r3, r1 809b5be: 005b lsls r3, r3, #1 809b5c0: 1ad3 subs r3, r2, r3 809b5c2: b2db uxtb r3, r3 809b5c4: 3330 adds r3, #48 ; 0x30 809b5c6: b2db uxtb r3, r3 809b5c8: 74fb strb r3, [r7, #19] BSP_LCD_DisplayStringAt(295, 52, str, RIGHT_MODE); 809b5ca: f107 020c add.w r2, r7, #12 809b5ce: 2302 movs r3, #2 809b5d0: 2134 movs r1, #52 ; 0x34 809b5d2: f240 1027 movw r0, #295 ; 0x127 809b5d6: f7b8 f9cb bl 8053970 DrawDetectorType(); 809b5da: f7fc fe63 bl 80982a4 if(ReadFileData.Fval.fl != -1.0f) 809b5de: 4b57 ldr r3, [pc, #348] ; (809b73c ) 809b5e0: edd3 7a03 vldr s15, [r3, #12] 809b5e4: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809b5e8: eef4 7a47 vcmp.f32 s15, s14 809b5ec: eef1 fa10 vmrs APSR_nzcv, fpscr 809b5f0: f000 80fc beq.w 809b7ec DrawImage(&bmf, 100, 57); 809b5f4: 2239 movs r2, #57 ; 0x39 809b5f6: 2164 movs r1, #100 ; 0x64 809b5f8: 4851 ldr r0, [pc, #324] ; (809b740 ) 809b5fa: f7b8 ffe7 bl 80545cc BSP_LCD_SetFont(&Font15); 809b5fe: 4851 ldr r0, [pc, #324] ; (809b744 ) 809b600: f7b8 f92c bl 805385c f = ReadFileData.Fval.fl; 809b604: 4b4d ldr r3, [pc, #308] ; (809b73c ) 809b606: 68db ldr r3, [r3, #12] 809b608: 647b str r3, [r7, #68] ; 0x44 LCD_SetColors(LCD_COLOR_WHITE/*0xFFFBFF1C*/, LCD_COLOR_BLACK); 809b60a: 4947 ldr r1, [pc, #284] ; (809b728 ) 809b60c: f04f 30ff mov.w r0, #4294967295 809b610: f7b8 f8e8 bl 80537e4 memset(str, 0, sizeof(str)); 809b614: f107 030c add.w r3, r7, #12 809b618: 2228 movs r2, #40 ; 0x28 809b61a: 2100 movs r1, #0 809b61c: 4618 mov r0, r3 809b61e: f031 fd2f bl 80cd080 if(f >= 1000.0f) 809b622: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b626: ed9f 7a4f vldr s14, [pc, #316] ; 809b764 809b62a: eef4 7ac7 vcmpe.f32 s15, s14 809b62e: eef1 fa10 vmrs APSR_nzcv, fpscr 809b632: db3b blt.n 809b6ac f *= 0.001f; 809b634: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b638: ed9f 7a43 vldr s14, [pc, #268] ; 809b748 809b63c: ee67 7a87 vmul.f32 s15, s15, s14 809b640: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -4); 809b644: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b648: f06f 0003 mvn.w r0, #3 809b64c: eeb0 0a67 vmov.f32 s0, s15 809b650: f7cb f872 bl 8066738 809b654: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809b656: f107 030c add.w r3, r7, #12 809b65a: 6e39 ldr r1, [r7, #96] ; 0x60 809b65c: 4618 mov r0, r3 809b65e: f031 fe2c bl 80cd2ba if(pardata.LANG == RUS) strcat(str, " êÃö"); 809b662: 4b3a ldr r3, [pc, #232] ; (809b74c ) 809b664: 7b1b ldrb r3, [r3, #12] 809b666: b2db uxtb r3, r3 809b668: 2b00 cmp r3, #0 809b66a: d10f bne.n 809b68c 809b66c: f107 030c add.w r3, r7, #12 809b670: 4618 mov r0, r3 809b672: f784 fe4f bl 8020314 809b676: 4603 mov r3, r0 809b678: 461a mov r2, r3 809b67a: f107 030c add.w r3, r7, #12 809b67e: 4413 add r3, r2 809b680: 4a33 ldr r2, [pc, #204] ; (809b750 ) 809b682: 6810 ldr r0, [r2, #0] 809b684: 6018 str r0, [r3, #0] 809b686: 7912 ldrb r2, [r2, #4] 809b688: 711a strb r2, [r3, #4] 809b68a: e0a8 b.n 809b7de else strcat(str, " kHz"); 809b68c: f107 030c add.w r3, r7, #12 809b690: 4618 mov r0, r3 809b692: f784 fe3f bl 8020314 809b696: 4603 mov r3, r0 809b698: 461a mov r2, r3 809b69a: f107 030c add.w r3, r7, #12 809b69e: 4413 add r3, r2 809b6a0: 4a2c ldr r2, [pc, #176] ; (809b754 ) 809b6a2: 6810 ldr r0, [r2, #0] 809b6a4: 6018 str r0, [r3, #0] 809b6a6: 7912 ldrb r2, [r2, #4] 809b6a8: 711a strb r2, [r3, #4] 809b6aa: e098 b.n 809b7de if(f >= 0.1f) 809b6ac: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b6b0: ed9f 7a29 vldr s14, [pc, #164] ; 809b758 809b6b4: eef4 7ac7 vcmpe.f32 s15, s14 809b6b8: eef1 fa10 vmrs APSR_nzcv, fpscr 809b6bc: db54 blt.n 809b768 p8 = (char *) FloatToASCII(f, -3); 809b6be: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b6c2: f06f 0002 mvn.w r0, #2 809b6c6: eeb0 0a67 vmov.f32 s0, s15 809b6ca: f7cb f835 bl 8066738 809b6ce: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809b6d0: f107 030c add.w r3, r7, #12 809b6d4: 6e39 ldr r1, [r7, #96] ; 0x60 809b6d6: 4618 mov r0, r3 809b6d8: f031 fdef bl 80cd2ba if(pardata.LANG == RUS) strcat(str, " Ãö"); 809b6dc: 4b1b ldr r3, [pc, #108] ; (809b74c ) 809b6de: 7b1b ldrb r3, [r3, #12] 809b6e0: b2db uxtb r3, r3 809b6e2: 2b00 cmp r3, #0 809b6e4: d10d bne.n 809b702 809b6e6: f107 030c add.w r3, r7, #12 809b6ea: 4618 mov r0, r3 809b6ec: f784 fe12 bl 8020314 809b6f0: 4603 mov r3, r0 809b6f2: 461a mov r2, r3 809b6f4: f107 030c add.w r3, r7, #12 809b6f8: 4413 add r3, r2 809b6fa: 4a18 ldr r2, [pc, #96] ; (809b75c ) 809b6fc: 6810 ldr r0, [r2, #0] 809b6fe: 6018 str r0, [r3, #0] 809b700: e06d b.n 809b7de else strcat(str, " Hz"); 809b702: f107 030c add.w r3, r7, #12 809b706: 4618 mov r0, r3 809b708: f784 fe04 bl 8020314 809b70c: 4603 mov r3, r0 809b70e: 461a mov r2, r3 809b710: f107 030c add.w r3, r7, #12 809b714: 4413 add r3, r2 809b716: 4a12 ldr r2, [pc, #72] ; (809b760 ) 809b718: 6810 ldr r0, [r2, #0] 809b71a: 6018 str r0, [r3, #0] 809b71c: e05f b.n 809b7de 809b71e: bf00 nop 809b720: 08147a80 .word 0x08147a80 809b724: 20020060 .word 0x20020060 809b728: ff0a0f1f .word 0xff0a0f1f 809b72c: ffd3d3d3 .word 0xffd3d3d3 809b730: 200225f0 .word 0x200225f0 809b734: cccccccd .word 0xcccccccd 809b738: 20022968 .word 0x20022968 809b73c: 200226a0 .word 0x200226a0 809b740: 0815d7f0 .word 0x0815d7f0 809b744: 20020040 .word 0x20020040 809b748: 3a83126f .word 0x3a83126f 809b74c: 20023e60 .word 0x20023e60 809b750: 080d0a48 .word 0x080d0a48 809b754: 080d0a50 .word 0x080d0a50 809b758: 3dcccccd .word 0x3dcccccd 809b75c: 080d0a58 .word 0x080d0a58 809b760: 080d0a5c .word 0x080d0a5c 809b764: 447a0000 .word 0x447a0000 f *= 1000.0f; 809b768: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b76c: ed1f 7a03 vldr s14, [pc, #-12] ; 809b764 809b770: ee67 7a87 vmul.f32 s15, s15, s14 809b774: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -3); 809b778: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b77c: f06f 0002 mvn.w r0, #2 809b780: eeb0 0a67 vmov.f32 s0, s15 809b784: f7ca ffd8 bl 8066738 809b788: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809b78a: f107 030c add.w r3, r7, #12 809b78e: 6e39 ldr r1, [r7, #96] ; 0x60 809b790: 4618 mov r0, r3 809b792: f031 fd92 bl 80cd2ba if(pardata.LANG == RUS) strcat(str, " ìÃö"); 809b796: 4bcd ldr r3, [pc, #820] ; (809bacc ) 809b798: 7b1b ldrb r3, [r3, #12] 809b79a: b2db uxtb r3, r3 809b79c: 2b00 cmp r3, #0 809b79e: d10f bne.n 809b7c0 809b7a0: f107 030c add.w r3, r7, #12 809b7a4: 4618 mov r0, r3 809b7a6: f784 fdb5 bl 8020314 809b7aa: 4603 mov r3, r0 809b7ac: 461a mov r2, r3 809b7ae: f107 030c add.w r3, r7, #12 809b7b2: 4413 add r3, r2 809b7b4: 4ac6 ldr r2, [pc, #792] ; (809bad0 ) 809b7b6: 6810 ldr r0, [r2, #0] 809b7b8: 6018 str r0, [r3, #0] 809b7ba: 7912 ldrb r2, [r2, #4] 809b7bc: 711a strb r2, [r3, #4] 809b7be: e00e b.n 809b7de else strcat(str, " mHz"); 809b7c0: f107 030c add.w r3, r7, #12 809b7c4: 4618 mov r0, r3 809b7c6: f784 fda5 bl 8020314 809b7ca: 4603 mov r3, r0 809b7cc: 461a mov r2, r3 809b7ce: f107 030c add.w r3, r7, #12 809b7d2: 4413 add r3, r2 809b7d4: 4abf ldr r2, [pc, #764] ; (809bad4 ) 809b7d6: 6810 ldr r0, [r2, #0] 809b7d8: 6018 str r0, [r3, #0] 809b7da: 7912 ldrb r2, [r2, #4] 809b7dc: 711a strb r2, [r3, #4] BSP_LCD_DisplayStringAt(132, 61, str, LEFT_MODE); 809b7de: f107 020c add.w r2, r7, #12 809b7e2: 2303 movs r3, #3 809b7e4: 213d movs r1, #61 ; 0x3d 809b7e6: 2084 movs r0, #132 ; 0x84 809b7e8: f7b8 f8c2 bl 8053970 if(log == false) //Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 809b7ec: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 809b7f0: f083 0301 eor.w r3, r3, #1 809b7f4: b2db uxtb r3, r3 809b7f6: 2b00 cmp r3, #0 809b7f8: f000 8594 beq.w 809c324 for(ipr = ACC; ipr <= DIS; ipr++) 809b7fc: 2300 movs r3, #0 809b7fe: 653b str r3, [r7, #80] ; 0x50 809b800: f000 bd8a b.w 809c318 if(ipr == ACC) f = ABS(ReadFileData.Aval.fl); 809b804: 6d3b ldr r3, [r7, #80] ; 0x50 809b806: 2b00 cmp r3, #0 809b808: d113 bne.n 809b832 809b80a: 4bb3 ldr r3, [pc, #716] ; (809bad8 ) 809b80c: edd3 7a00 vldr s15, [r3] 809b810: eef5 7ac0 vcmpe.f32 s15, #0.0 809b814: eef1 fa10 vmrs APSR_nzcv, fpscr 809b818: dd03 ble.n 809b822 809b81a: 4baf ldr r3, [pc, #700] ; (809bad8 ) 809b81c: edd3 7a00 vldr s15, [r3] 809b820: e004 b.n 809b82c 809b822: 4bad ldr r3, [pc, #692] ; (809bad8 ) 809b824: edd3 7a00 vldr s15, [r3] 809b828: eef1 7a67 vneg.f32 s15, s15 809b82c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 809b830: e02c b.n 809b88c else if(ipr == VEL) f = ABS(ReadFileData.Vval.fl); 809b832: 6d3b ldr r3, [r7, #80] ; 0x50 809b834: 2b01 cmp r3, #1 809b836: d113 bne.n 809b860 809b838: 4ba7 ldr r3, [pc, #668] ; (809bad8 ) 809b83a: edd3 7a01 vldr s15, [r3, #4] 809b83e: eef5 7ac0 vcmpe.f32 s15, #0.0 809b842: eef1 fa10 vmrs APSR_nzcv, fpscr 809b846: dd03 ble.n 809b850 809b848: 4ba3 ldr r3, [pc, #652] ; (809bad8 ) 809b84a: edd3 7a01 vldr s15, [r3, #4] 809b84e: e004 b.n 809b85a 809b850: 4ba1 ldr r3, [pc, #644] ; (809bad8 ) 809b852: edd3 7a01 vldr s15, [r3, #4] 809b856: eef1 7a67 vneg.f32 s15, s15 809b85a: edc7 7a11 vstr s15, [r7, #68] ; 0x44 809b85e: e015 b.n 809b88c else if(ipr == DIS) f = ABS(ReadFileData.Sval.fl); 809b860: 6d3b ldr r3, [r7, #80] ; 0x50 809b862: 2b02 cmp r3, #2 809b864: d112 bne.n 809b88c 809b866: 4b9c ldr r3, [pc, #624] ; (809bad8 ) 809b868: edd3 7a02 vldr s15, [r3, #8] 809b86c: eef5 7ac0 vcmpe.f32 s15, #0.0 809b870: eef1 fa10 vmrs APSR_nzcv, fpscr 809b874: dd03 ble.n 809b87e 809b876: 4b98 ldr r3, [pc, #608] ; (809bad8 ) 809b878: edd3 7a02 vldr s15, [r3, #8] 809b87c: e004 b.n 809b888 809b87e: 4b96 ldr r3, [pc, #600] ; (809bad8 ) 809b880: edd3 7a02 vldr s15, [r3, #8] 809b884: eef1 7a67 vneg.f32 s15, s15 809b888: edc7 7a11 vstr s15, [r7, #68] ; 0x44 memset(str, 0, sizeof(str)); 809b88c: f107 030c add.w r3, r7, #12 809b890: 2228 movs r2, #40 ; 0x28 809b892: 2100 movs r1, #0 809b894: 4618 mov r0, r3 809b896: f031 fbf3 bl 80cd080 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809b89a: 4990 ldr r1, [pc, #576] ; (809badc ) 809b89c: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809b8a0: f7b7 ffa0 bl 80537e4 BSP_LCD_SetFont(&Font12); 809b8a4: 488e ldr r0, [pc, #568] ; (809bae0 ) 809b8a6: f7b7 ffd9 bl 805385c if(ipr < DIS) 809b8aa: 6d3b ldr r3, [r7, #80] ; 0x50 809b8ac: 2b01 cmp r3, #1 809b8ae: f200 80af bhi.w 809ba10 if(f < 10.0f) 809b8b2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b8b6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809b8ba: eef4 7ac7 vcmpe.f32 s15, s14 809b8be: eef1 fa10 vmrs APSR_nzcv, fpscr 809b8c2: d513 bpl.n 809b8ec k = (uint32_t) (roundf(f * 10000)); 809b8c4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b8c8: ed9f 7a8a vldr s14, [pc, #552] ; 809baf4 809b8cc: ee67 7a87 vmul.f32 s15, s15, s14 809b8d0: eeb0 0a67 vmov.f32 s0, s15 809b8d4: f02f f9d6 bl 80cac84 809b8d8: eef0 7a40 vmov.f32 s15, s0 809b8dc: eefc 7ae7 vcvt.u32.f32 s15, s15 809b8e0: ee17 3a90 vmov r3, s15 809b8e4: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809b8e6: 2301 movs r3, #1 809b8e8: 657b str r3, [r7, #84] ; 0x54 809b8ea: e1cc b.n 809bc86 if(f < 100.0f) 809b8ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b8f0: ed9f 7a7c vldr s14, [pc, #496] ; 809bae4 809b8f4: eef4 7ac7 vcmpe.f32 s15, s14 809b8f8: eef1 fa10 vmrs APSR_nzcv, fpscr 809b8fc: d513 bpl.n 809b926 k = (uint32_t) (roundf(f * 1000)); 809b8fe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b902: ed9f 7a79 vldr s14, [pc, #484] ; 809bae8 809b906: ee67 7a87 vmul.f32 s15, s15, s14 809b90a: eeb0 0a67 vmov.f32 s0, s15 809b90e: f02f f9b9 bl 80cac84 809b912: eef0 7a40 vmov.f32 s15, s0 809b916: eefc 7ae7 vcvt.u32.f32 s15, s15 809b91a: ee17 3a90 vmov r3, s15 809b91e: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809b920: 2302 movs r3, #2 809b922: 657b str r3, [r7, #84] ; 0x54 809b924: e1af b.n 809bc86 if(f < 1000.0f) 809b926: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b92a: ed9f 7a6f vldr s14, [pc, #444] ; 809bae8 809b92e: eef4 7ac7 vcmpe.f32 s15, s14 809b932: eef1 fa10 vmrs APSR_nzcv, fpscr 809b936: d513 bpl.n 809b960 k = (uint32_t) (roundf(f * 100)); 809b938: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b93c: ed9f 7a69 vldr s14, [pc, #420] ; 809bae4 809b940: ee67 7a87 vmul.f32 s15, s15, s14 809b944: eeb0 0a67 vmov.f32 s0, s15 809b948: f02f f99c bl 80cac84 809b94c: eef0 7a40 vmov.f32 s15, s0 809b950: eefc 7ae7 vcvt.u32.f32 s15, s15 809b954: ee17 3a90 vmov r3, s15 809b958: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809b95a: 2303 movs r3, #3 809b95c: 657b str r3, [r7, #84] ; 0x54 809b95e: e192 b.n 809bc86 if(f < 10000.0f) 809b960: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b964: ed9f 7a63 vldr s14, [pc, #396] ; 809baf4 809b968: eef4 7ac7 vcmpe.f32 s15, s14 809b96c: eef1 fa10 vmrs APSR_nzcv, fpscr 809b970: d513 bpl.n 809b99a k = (uint32_t) (roundf(f * 10)); 809b972: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b976: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809b97a: ee67 7a87 vmul.f32 s15, s15, s14 809b97e: eeb0 0a67 vmov.f32 s0, s15 809b982: f02f f97f bl 80cac84 809b986: eef0 7a40 vmov.f32 s15, s0 809b98a: eefc 7ae7 vcvt.u32.f32 s15, s15 809b98e: ee17 3a90 vmov r3, s15 809b992: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809b994: 2304 movs r3, #4 809b996: 657b str r3, [r7, #84] ; 0x54 809b998: e175 b.n 809bc86 if(f < 100000.0f) 809b99a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b99e: ed9f 7a56 vldr s14, [pc, #344] ; 809baf8 809b9a2: eef4 7ac7 vcmpe.f32 s15, s14 809b9a6: eef1 fa10 vmrs APSR_nzcv, fpscr 809b9aa: d515 bpl.n 809b9d8 k = (uint32_t) (roundf(f)); 809b9ac: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b9b0: eeb0 0a67 vmov.f32 s0, s15 809b9b4: f02f f966 bl 80cac84 809b9b8: eef0 7a40 vmov.f32 s15, s0 809b9bc: eefc 7ae7 vcvt.u32.f32 s15, s15 809b9c0: ee17 3a90 vmov r3, s15 809b9c4: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809b9c6: 6dbb ldr r3, [r7, #88] ; 0x58 809b9c8: 4a48 ldr r2, [pc, #288] ; (809baec ) 809b9ca: 4293 cmp r3, r2 809b9cc: d901 bls.n 809b9d2 k = 99999; 809b9ce: 4b47 ldr r3, [pc, #284] ; (809baec ) 809b9d0: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809b9d2: 2300 movs r3, #0 809b9d4: 657b str r3, [r7, #84] ; 0x54 809b9d6: e156 b.n 809bc86 if(f >= 100000.0f) 809b9d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b9dc: ed9f 7a46 vldr s14, [pc, #280] ; 809baf8 809b9e0: eef4 7ac7 vcmpe.f32 s15, s14 809b9e4: eef1 fa10 vmrs APSR_nzcv, fpscr 809b9e8: f2c0 814d blt.w 809bc86 f = 99999.0f; 809b9ec: 4b40 ldr r3, [pc, #256] ; (809baf0 ) 809b9ee: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809b9f0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809b9f4: eeb0 0a67 vmov.f32 s0, s15 809b9f8: f02f f944 bl 80cac84 809b9fc: eef0 7a40 vmov.f32 s15, s0 809ba00: eefc 7ae7 vcvt.u32.f32 s15, s15 809ba04: ee17 3a90 vmov r3, s15 809ba08: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809ba0a: 2300 movs r3, #0 809ba0c: 657b str r3, [r7, #84] ; 0x54 809ba0e: e13a b.n 809bc86 if(f < 10.0f) 809ba10: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ba14: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ba18: eef4 7ac7 vcmpe.f32 s15, s14 809ba1c: eef1 fa10 vmrs APSR_nzcv, fpscr 809ba20: d515 bpl.n 809ba4e k = (uint32_t) (roundf(f * 10000)); 809ba22: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ba26: ed9f 7a33 vldr s14, [pc, #204] ; 809baf4 809ba2a: ee67 7a87 vmul.f32 s15, s15, s14 809ba2e: eeb0 0a67 vmov.f32 s0, s15 809ba32: f02f f927 bl 80cac84 809ba36: eef0 7a40 vmov.f32 s15, s0 809ba3a: eefc 7ae7 vcvt.u32.f32 s15, s15 809ba3e: ee17 3a90 vmov r3, s15 809ba42: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809ba44: 2301 movs r3, #1 809ba46: 657b str r3, [r7, #84] ; 0x54 m = 0; 809ba48: 2300 movs r3, #0 809ba4a: 64fb str r3, [r7, #76] ; 0x4c 809ba4c: e11b b.n 809bc86 if(f < 100.0f) 809ba4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ba52: ed9f 7a24 vldr s14, [pc, #144] ; 809bae4 809ba56: eef4 7ac7 vcmpe.f32 s15, s14 809ba5a: eef1 fa10 vmrs APSR_nzcv, fpscr 809ba5e: d515 bpl.n 809ba8c k = (uint32_t) (roundf(f * 1000)); 809ba60: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ba64: ed9f 7a20 vldr s14, [pc, #128] ; 809bae8 809ba68: ee67 7a87 vmul.f32 s15, s15, s14 809ba6c: eeb0 0a67 vmov.f32 s0, s15 809ba70: f02f f908 bl 80cac84 809ba74: eef0 7a40 vmov.f32 s15, s0 809ba78: eefc 7ae7 vcvt.u32.f32 s15, s15 809ba7c: ee17 3a90 vmov r3, s15 809ba80: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809ba82: 2302 movs r3, #2 809ba84: 657b str r3, [r7, #84] ; 0x54 m = 0; 809ba86: 2300 movs r3, #0 809ba88: 64fb str r3, [r7, #76] ; 0x4c 809ba8a: e0fc b.n 809bc86 if(f < 1000.0f) 809ba8c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ba90: ed9f 7a15 vldr s14, [pc, #84] ; 809bae8 809ba94: eef4 7ac7 vcmpe.f32 s15, s14 809ba98: eef1 fa10 vmrs APSR_nzcv, fpscr 809ba9c: d53a bpl.n 809bb14 k = (uint32_t) (roundf(f * 100)); 809ba9e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809baa2: ed9f 7a10 vldr s14, [pc, #64] ; 809bae4 809baa6: ee67 7a87 vmul.f32 s15, s15, s14 809baaa: eeb0 0a67 vmov.f32 s0, s15 809baae: f02f f8e9 bl 80cac84 809bab2: eef0 7a40 vmov.f32 s15, s0 809bab6: eefc 7ae7 vcvt.u32.f32 s15, s15 809baba: ee17 3a90 vmov r3, s15 809babe: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809bac0: 2303 movs r3, #3 809bac2: 657b str r3, [r7, #84] ; 0x54 m = 0; 809bac4: 2300 movs r3, #0 809bac6: 64fb str r3, [r7, #76] ; 0x4c 809bac8: e0dd b.n 809bc86 809baca: bf00 nop 809bacc: 20023e60 .word 0x20023e60 809bad0: 080d0a60 .word 0x080d0a60 809bad4: 080d0a68 .word 0x080d0a68 809bad8: 200226a0 .word 0x200226a0 809badc: ff0a0f1f .word 0xff0a0f1f 809bae0: 20020038 .word 0x20020038 809bae4: 42c80000 .word 0x42c80000 809bae8: 447a0000 .word 0x447a0000 809baec: 0001869f .word 0x0001869f 809baf0: 47c34f80 .word 0x47c34f80 809baf4: 461c4000 .word 0x461c4000 809baf8: 47c35000 .word 0x47c35000 809bafc: 49742400 .word 0x49742400 809bb00: 3dcccccd .word 0x3dcccccd 809bb04: 4b189680 .word 0x4b189680 809bb08: 3c23d70a .word 0x3c23d70a 809bb0c: 4cbebc20 .word 0x4cbebc20 809bb10: 3a83126f .word 0x3a83126f if(f < 10000.0f) 809bb14: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bb18: ed1f 7a0a vldr s14, [pc, #-40] ; 809baf4 809bb1c: eef4 7ac7 vcmpe.f32 s15, s14 809bb20: eef1 fa10 vmrs APSR_nzcv, fpscr 809bb24: d515 bpl.n 809bb52 k = (uint32_t) (roundf(f * 10)); 809bb26: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bb2a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809bb2e: ee67 7a87 vmul.f32 s15, s15, s14 809bb32: eeb0 0a67 vmov.f32 s0, s15 809bb36: f02f f8a5 bl 80cac84 809bb3a: eef0 7a40 vmov.f32 s15, s0 809bb3e: eefc 7ae7 vcvt.u32.f32 s15, s15 809bb42: ee17 3a90 vmov r3, s15 809bb46: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809bb48: 2301 movs r3, #1 809bb4a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809bb4c: 2301 movs r3, #1 809bb4e: 64fb str r3, [r7, #76] ; 0x4c 809bb50: e099 b.n 809bc86 if(f < 100000.0f) 809bb52: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bb56: ed1f 7a18 vldr s14, [pc, #-96] ; 809baf8 809bb5a: eef4 7ac7 vcmpe.f32 s15, s14 809bb5e: eef1 fa10 vmrs APSR_nzcv, fpscr 809bb62: d511 bpl.n 809bb88 k = (uint32_t) (roundf(f)); 809bb64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bb68: eeb0 0a67 vmov.f32 s0, s15 809bb6c: f02f f88a bl 80cac84 809bb70: eef0 7a40 vmov.f32 s15, s0 809bb74: eefc 7ae7 vcvt.u32.f32 s15, s15 809bb78: ee17 3a90 vmov r3, s15 809bb7c: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809bb7e: 2302 movs r3, #2 809bb80: 657b str r3, [r7, #84] ; 0x54 m = 1; 809bb82: 2301 movs r3, #1 809bb84: 64fb str r3, [r7, #76] ; 0x4c 809bb86: e07e b.n 809bc86 if(f < 1000000.0f) 809bb88: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bb8c: ed1f 7a25 vldr s14, [pc, #-148] ; 809bafc 809bb90: eef4 7ac7 vcmpe.f32 s15, s14 809bb94: eef1 fa10 vmrs APSR_nzcv, fpscr 809bb98: d515 bpl.n 809bbc6 k = (uint32_t) (roundf(f * 0.1f)); 809bb9a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bb9e: ed1f 7a28 vldr s14, [pc, #-160] ; 809bb00 809bba2: ee67 7a87 vmul.f32 s15, s15, s14 809bba6: eeb0 0a67 vmov.f32 s0, s15 809bbaa: f02f f86b bl 80cac84 809bbae: eef0 7a40 vmov.f32 s15, s0 809bbb2: eefc 7ae7 vcvt.u32.f32 s15, s15 809bbb6: ee17 3a90 vmov r3, s15 809bbba: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809bbbc: 2303 movs r3, #3 809bbbe: 657b str r3, [r7, #84] ; 0x54 m = 1; 809bbc0: 2301 movs r3, #1 809bbc2: 64fb str r3, [r7, #76] ; 0x4c 809bbc4: e05f b.n 809bc86 if(f < 10000000.0f) 809bbc6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bbca: ed1f 7a32 vldr s14, [pc, #-200] ; 809bb04 809bbce: eef4 7ac7 vcmpe.f32 s15, s14 809bbd2: eef1 fa10 vmrs APSR_nzcv, fpscr 809bbd6: d515 bpl.n 809bc04 k = (uint32_t) (roundf(f * 0.01f)); 809bbd8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bbdc: ed1f 7a36 vldr s14, [pc, #-216] ; 809bb08 809bbe0: ee67 7a87 vmul.f32 s15, s15, s14 809bbe4: eeb0 0a67 vmov.f32 s0, s15 809bbe8: f02f f84c bl 80cac84 809bbec: eef0 7a40 vmov.f32 s15, s0 809bbf0: eefc 7ae7 vcvt.u32.f32 s15, s15 809bbf4: ee17 3a90 vmov r3, s15 809bbf8: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809bbfa: 2304 movs r3, #4 809bbfc: 657b str r3, [r7, #84] ; 0x54 m = 1; 809bbfe: 2301 movs r3, #1 809bc00: 64fb str r3, [r7, #76] ; 0x4c 809bc02: e040 b.n 809bc86 if(f < 100000000.0f) 809bc04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bc08: ed1f 7a40 vldr s14, [pc, #-256] ; 809bb0c 809bc0c: eef4 7ac7 vcmpe.f32 s15, s14 809bc10: eef1 fa10 vmrs APSR_nzcv, fpscr 809bc14: d51b bpl.n 809bc4e k = (uint32_t) (roundf(f * 0.001f)); 809bc16: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bc1a: ed1f 7a43 vldr s14, [pc, #-268] ; 809bb10 809bc1e: ee67 7a87 vmul.f32 s15, s15, s14 809bc22: eeb0 0a67 vmov.f32 s0, s15 809bc26: f02f f82d bl 80cac84 809bc2a: eef0 7a40 vmov.f32 s15, s0 809bc2e: eefc 7ae7 vcvt.u32.f32 s15, s15 809bc32: ee17 3a90 vmov r3, s15 809bc36: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809bc38: 6dbb ldr r3, [r7, #88] ; 0x58 809bc3a: 4abf ldr r2, [pc, #764] ; (809bf38 ) 809bc3c: 4293 cmp r3, r2 809bc3e: d901 bls.n 809bc44 k = 99999; 809bc40: 4bbd ldr r3, [pc, #756] ; (809bf38 ) 809bc42: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809bc44: 2300 movs r3, #0 809bc46: 657b str r3, [r7, #84] ; 0x54 m = 1; 809bc48: 2301 movs r3, #1 809bc4a: 64fb str r3, [r7, #76] ; 0x4c 809bc4c: e01b b.n 809bc86 if(f >= 100000000.0f) 809bc4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bc52: ed9f 7aba vldr s14, [pc, #744] ; 809bf3c 809bc56: eef4 7ac7 vcmpe.f32 s15, s14 809bc5a: eef1 fa10 vmrs APSR_nzcv, fpscr 809bc5e: db12 blt.n 809bc86 f = 99999.0f; 809bc60: 4bb7 ldr r3, [pc, #732] ; (809bf40 ) 809bc62: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809bc64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809bc68: eeb0 0a67 vmov.f32 s0, s15 809bc6c: f02f f80a bl 80cac84 809bc70: eef0 7a40 vmov.f32 s15, s0 809bc74: eefc 7ae7 vcvt.u32.f32 s15, s15 809bc78: ee17 3a90 vmov r3, s15 809bc7c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809bc7e: 2300 movs r3, #0 809bc80: 657b str r3, [r7, #84] ; 0x54 m = 1; 809bc82: 2301 movs r3, #1 809bc84: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809bc86: 6d3a ldr r2, [r7, #80] ; 0x50 809bc88: 6dbb ldr r3, [r7, #88] ; 0x58 809bc8a: 49ae ldr r1, [pc, #696] ; (809bf44 ) 809bc8c: fba1 1303 umull r1, r3, r1, r3 809bc90: 0b5b lsrs r3, r3, #13 809bc92: b2d9 uxtb r1, r3 809bc94: 4613 mov r3, r2 809bc96: 009b lsls r3, r3, #2 809bc98: 4413 add r3, r2 809bc9a: f107 0268 add.w r2, r7, #104 ; 0x68 809bc9e: 4413 add r3, r2 809bca0: 3b34 subs r3, #52 ; 0x34 809bca2: 460a mov r2, r1 809bca4: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809bca6: 6d39 ldr r1, [r7, #80] ; 0x50 809bca8: 6dba ldr r2, [r7, #88] ; 0x58 809bcaa: 4ba6 ldr r3, [pc, #664] ; (809bf44 ) 809bcac: fba3 0302 umull r0, r3, r3, r2 809bcb0: 0b5b lsrs r3, r3, #13 809bcb2: f242 7010 movw r0, #10000 ; 0x2710 809bcb6: fb00 f303 mul.w r3, r0, r3 809bcba: 1ad3 subs r3, r2, r3 809bcbc: 4aa2 ldr r2, [pc, #648] ; (809bf48 ) 809bcbe: fba2 2303 umull r2, r3, r2, r3 809bcc2: 099b lsrs r3, r3, #6 809bcc4: b2da uxtb r2, r3 809bcc6: 460b mov r3, r1 809bcc8: 009b lsls r3, r3, #2 809bcca: 440b add r3, r1 809bccc: f107 0168 add.w r1, r7, #104 ; 0x68 809bcd0: 440b add r3, r1 809bcd2: 3b33 subs r3, #51 ; 0x33 809bcd4: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809bcd6: 6d39 ldr r1, [r7, #80] ; 0x50 809bcd8: 6dba ldr r2, [r7, #88] ; 0x58 809bcda: 4b9a ldr r3, [pc, #616] ; (809bf44 ) 809bcdc: fba3 0302 umull r0, r3, r3, r2 809bce0: 0b5b lsrs r3, r3, #13 809bce2: f242 7010 movw r0, #10000 ; 0x2710 809bce6: fb00 f303 mul.w r3, r0, r3 809bcea: 1ad3 subs r3, r2, r3 809bcec: 4a96 ldr r2, [pc, #600] ; (809bf48 ) 809bcee: fba2 0203 umull r0, r2, r2, r3 809bcf2: 0992 lsrs r2, r2, #6 809bcf4: f44f 707a mov.w r0, #1000 ; 0x3e8 809bcf8: fb00 f202 mul.w r2, r0, r2 809bcfc: 1a9a subs r2, r3, r2 809bcfe: 4b93 ldr r3, [pc, #588] ; (809bf4c ) 809bd00: fba3 2302 umull r2, r3, r3, r2 809bd04: 095b lsrs r3, r3, #5 809bd06: b2da uxtb r2, r3 809bd08: 460b mov r3, r1 809bd0a: 009b lsls r3, r3, #2 809bd0c: 440b add r3, r1 809bd0e: f107 0168 add.w r1, r7, #104 ; 0x68 809bd12: 440b add r3, r1 809bd14: 3b32 subs r3, #50 ; 0x32 809bd16: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809bd18: 6d39 ldr r1, [r7, #80] ; 0x50 809bd1a: 6dbb ldr r3, [r7, #88] ; 0x58 809bd1c: 4a89 ldr r2, [pc, #548] ; (809bf44 ) 809bd1e: fba2 0203 umull r0, r2, r2, r3 809bd22: 0b52 lsrs r2, r2, #13 809bd24: f242 7010 movw r0, #10000 ; 0x2710 809bd28: fb00 f202 mul.w r2, r0, r2 809bd2c: 1a9a subs r2, r3, r2 809bd2e: 4b86 ldr r3, [pc, #536] ; (809bf48 ) 809bd30: fba3 0302 umull r0, r3, r3, r2 809bd34: 099b lsrs r3, r3, #6 809bd36: f44f 707a mov.w r0, #1000 ; 0x3e8 809bd3a: fb00 f303 mul.w r3, r0, r3 809bd3e: 1ad3 subs r3, r2, r3 809bd40: 4a82 ldr r2, [pc, #520] ; (809bf4c ) 809bd42: fba2 0203 umull r0, r2, r2, r3 809bd46: 0952 lsrs r2, r2, #5 809bd48: 2064 movs r0, #100 ; 0x64 809bd4a: fb00 f202 mul.w r2, r0, r2 809bd4e: 1a9a subs r2, r3, r2 809bd50: 4b7f ldr r3, [pc, #508] ; (809bf50 ) 809bd52: fba3 2302 umull r2, r3, r3, r2 809bd56: 08db lsrs r3, r3, #3 809bd58: b2da uxtb r2, r3 809bd5a: 460b mov r3, r1 809bd5c: 009b lsls r3, r3, #2 809bd5e: 440b add r3, r1 809bd60: f107 0168 add.w r1, r7, #104 ; 0x68 809bd64: 440b add r3, r1 809bd66: 3b31 subs r3, #49 ; 0x31 809bd68: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809bd6a: 6d38 ldr r0, [r7, #80] ; 0x50 809bd6c: 6dbb ldr r3, [r7, #88] ; 0x58 809bd6e: 4a75 ldr r2, [pc, #468] ; (809bf44 ) 809bd70: fba2 1203 umull r1, r2, r2, r3 809bd74: 0b52 lsrs r2, r2, #13 809bd76: f242 7110 movw r1, #10000 ; 0x2710 809bd7a: fb01 f202 mul.w r2, r1, r2 809bd7e: 1a9a subs r2, r3, r2 809bd80: 4b71 ldr r3, [pc, #452] ; (809bf48 ) 809bd82: fba3 1302 umull r1, r3, r3, r2 809bd86: 099b lsrs r3, r3, #6 809bd88: f44f 717a mov.w r1, #1000 ; 0x3e8 809bd8c: fb01 f303 mul.w r3, r1, r3 809bd90: 1ad3 subs r3, r2, r3 809bd92: 4a6e ldr r2, [pc, #440] ; (809bf4c ) 809bd94: fba2 1203 umull r1, r2, r2, r3 809bd98: 0952 lsrs r2, r2, #5 809bd9a: 2164 movs r1, #100 ; 0x64 809bd9c: fb01 f202 mul.w r2, r1, r2 809bda0: 1a9a subs r2, r3, r2 809bda2: 4b6b ldr r3, [pc, #428] ; (809bf50 ) 809bda4: fba3 1302 umull r1, r3, r3, r2 809bda8: 08d9 lsrs r1, r3, #3 809bdaa: 460b mov r3, r1 809bdac: 009b lsls r3, r3, #2 809bdae: 440b add r3, r1 809bdb0: 005b lsls r3, r3, #1 809bdb2: 1ad1 subs r1, r2, r3 809bdb4: b2ca uxtb r2, r1 809bdb6: 4603 mov r3, r0 809bdb8: 009b lsls r3, r3, #2 809bdba: 4403 add r3, r0 809bdbc: f107 0168 add.w r1, r7, #104 ; 0x68 809bdc0: 440b add r3, r1 809bdc2: 3b30 subs r3, #48 ; 0x30 809bdc4: 701a strb r2, [r3, #0] if(ipr == ACC) 809bdc6: 6d3b ldr r3, [r7, #80] ; 0x50 809bdc8: 2b00 cmp r3, #0 809bdca: f040 80cf bne.w 809bf6c if(!t) 809bdce: 6d7b ldr r3, [r7, #84] ; 0x54 809bdd0: 2b00 cmp r3, #0 809bdd2: d126 bne.n 809be22 for(i = 0; i < 5; i++) 809bdd4: 2300 movs r3, #0 809bdd6: 65fb str r3, [r7, #92] ; 0x5c 809bdd8: e01f b.n 809be1a DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809bdda: 6d3a ldr r2, [r7, #80] ; 0x50 809bddc: 6df9 ldr r1, [r7, #92] ; 0x5c 809bdde: 4613 mov r3, r2 809bde0: 009b lsls r3, r3, #2 809bde2: 4413 add r3, r2 809bde4: f107 0268 add.w r2, r7, #104 ; 0x68 809bde8: 4413 add r3, r2 809bdea: 440b add r3, r1 809bdec: 3b34 subs r3, #52 ; 0x34 809bdee: 781b ldrb r3, [r3, #0] 809bdf0: b2db uxtb r3, r3 809bdf2: 461a mov r2, r3 809bdf4: 4b57 ldr r3, [pc, #348] ; (809bf54 ) 809bdf6: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809bdfa: 6dfb ldr r3, [r7, #92] ; 0x5c 809bdfc: b29b uxth r3, r3 809bdfe: 461a mov r2, r3 809be00: 0112 lsls r2, r2, #4 809be02: 1ad3 subs r3, r2, r3 809be04: 005b lsls r3, r3, #1 809be06: b29b uxth r3, r3 809be08: 335a adds r3, #90 ; 0x5a 809be0a: b29b uxth r3, r3 809be0c: 2256 movs r2, #86 ; 0x56 809be0e: 4619 mov r1, r3 809be10: f7b8 fbdc bl 80545cc for(i = 0; i < 5; i++) 809be14: 6dfb ldr r3, [r7, #92] ; 0x5c 809be16: 3301 adds r3, #1 809be18: 65fb str r3, [r7, #92] ; 0x5c 809be1a: 6dfb ldr r3, [r7, #92] ; 0x5c 809be1c: 2b04 cmp r3, #4 809be1e: d9dc bls.n 809bdda 809be20: e05a b.n 809bed8 for(i = 0; i < t; i++) 809be22: 2300 movs r3, #0 809be24: 65fb str r3, [r7, #92] ; 0x5c 809be26: e01f b.n 809be68 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809be28: 6d3a ldr r2, [r7, #80] ; 0x50 809be2a: 6df9 ldr r1, [r7, #92] ; 0x5c 809be2c: 4613 mov r3, r2 809be2e: 009b lsls r3, r3, #2 809be30: 4413 add r3, r2 809be32: f107 0268 add.w r2, r7, #104 ; 0x68 809be36: 4413 add r3, r2 809be38: 440b add r3, r1 809be3a: 3b34 subs r3, #52 ; 0x34 809be3c: 781b ldrb r3, [r3, #0] 809be3e: b2db uxtb r3, r3 809be40: 461a mov r2, r3 809be42: 4b44 ldr r3, [pc, #272] ; (809bf54 ) 809be44: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809be48: 6dfb ldr r3, [r7, #92] ; 0x5c 809be4a: b29b uxth r3, r3 809be4c: 461a mov r2, r3 809be4e: 0112 lsls r2, r2, #4 809be50: 1ad3 subs r3, r2, r3 809be52: 005b lsls r3, r3, #1 809be54: b29b uxth r3, r3 809be56: 335a adds r3, #90 ; 0x5a 809be58: b29b uxth r3, r3 809be5a: 2256 movs r2, #86 ; 0x56 809be5c: 4619 mov r1, r3 809be5e: f7b8 fbb5 bl 80545cc for(i = 0; i < t; i++) 809be62: 6dfb ldr r3, [r7, #92] ; 0x5c 809be64: 3301 adds r3, #1 809be66: 65fb str r3, [r7, #92] ; 0x5c 809be68: 6dfa ldr r2, [r7, #92] ; 0x5c 809be6a: 6d7b ldr r3, [r7, #84] ; 0x54 809be6c: 429a cmp r2, r3 809be6e: d3db bcc.n 809be28 DrawImage(&bmgpt, 95 + 30*t, 92+18); 809be70: 6d7b ldr r3, [r7, #84] ; 0x54 809be72: b29b uxth r3, r3 809be74: 461a mov r2, r3 809be76: 0112 lsls r2, r2, #4 809be78: 1ad3 subs r3, r2, r3 809be7a: 005b lsls r3, r3, #1 809be7c: b29b uxth r3, r3 809be7e: 335f adds r3, #95 ; 0x5f 809be80: b29b uxth r3, r3 809be82: 226e movs r2, #110 ; 0x6e 809be84: 4619 mov r1, r3 809be86: 4834 ldr r0, [pc, #208] ; (809bf58 ) 809be88: f7b8 fba0 bl 80545cc for(i = t; i < 5; i++) 809be8c: 6d7b ldr r3, [r7, #84] ; 0x54 809be8e: 65fb str r3, [r7, #92] ; 0x5c 809be90: e01f b.n 809bed2 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809be92: 6d3a ldr r2, [r7, #80] ; 0x50 809be94: 6df9 ldr r1, [r7, #92] ; 0x5c 809be96: 4613 mov r3, r2 809be98: 009b lsls r3, r3, #2 809be9a: 4413 add r3, r2 809be9c: f107 0268 add.w r2, r7, #104 ; 0x68 809bea0: 4413 add r3, r2 809bea2: 440b add r3, r1 809bea4: 3b34 subs r3, #52 ; 0x34 809bea6: 781b ldrb r3, [r3, #0] 809bea8: b2db uxtb r3, r3 809beaa: 461a mov r2, r3 809beac: 4b29 ldr r3, [pc, #164] ; (809bf54 ) 809beae: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809beb2: 6dfb ldr r3, [r7, #92] ; 0x5c 809beb4: b29b uxth r3, r3 809beb6: 461a mov r2, r3 809beb8: 0112 lsls r2, r2, #4 809beba: 1ad3 subs r3, r2, r3 809bebc: 005b lsls r3, r3, #1 809bebe: b29b uxth r3, r3 809bec0: 336e adds r3, #110 ; 0x6e 809bec2: b29b uxth r3, r3 809bec4: 2256 movs r2, #86 ; 0x56 809bec6: 4619 mov r1, r3 809bec8: f7b8 fb80 bl 80545cc for(i = t; i < 5; i++) 809becc: 6dfb ldr r3, [r7, #92] ; 0x5c 809bece: 3301 adds r3, #1 809bed0: 65fb str r3, [r7, #92] ; 0x5c 809bed2: 6dfb ldr r3, [r7, #92] ; 0x5c 809bed4: 2b04 cmp r3, #4 809bed6: d9dc bls.n 809be92 if((ReadFileData.Aivs != 'E') && (ReadFileData.Aivs != 'F')) 809bed8: 4b20 ldr r3, [pc, #128] ; (809bf5c ) 809beda: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809bede: b2db uxtb r3, r3 809bee0: 2b45 cmp r3, #69 ; 0x45 809bee2: d012 beq.n 809bf0a 809bee4: 4b1d ldr r3, [pc, #116] ; (809bf5c ) 809bee6: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809beea: b2db uxtb r3, r3 809beec: 2b46 cmp r3, #70 ; 0x46 809beee: d00c beq.n 809bf0a DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809bef0: 4b1b ldr r3, [pc, #108] ; (809bf60 ) 809bef2: 7b1b ldrb r3, [r3, #12] 809bef4: b2db uxtb r3, r3 809bef6: 461a mov r2, r3 809bef8: 4b1a ldr r3, [pc, #104] ; (809bf64 ) 809befa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809befe: 225c movs r2, #92 ; 0x5c 809bf00: f240 1109 movw r1, #265 ; 0x109 809bf04: 4618 mov r0, r3 809bf06: f7b8 fb61 bl 80545cc if(ReadFileData.Aivs == 'E') 809bf0a: 4b14 ldr r3, [pc, #80] ; (809bf5c ) 809bf0c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809bf10: b2db uxtb r3, r3 809bf12: 2b45 cmp r3, #69 ; 0x45 809bf14: f040 81fd bne.w 809c312 if(ReadFileData.Aval.fl < 0.0f) { 809bf18: 4b10 ldr r3, [pc, #64] ; (809bf5c ) 809bf1a: edd3 7a00 vldr s15, [r3] 809bf1e: eef5 7ac0 vcmpe.f32 s15, #0.0 809bf22: eef1 fa10 vmrs APSR_nzcv, fpscr 809bf26: f140 81f4 bpl.w 809c312 DrawImage(&bmgminus, 78, 84+18); 809bf2a: 2266 movs r2, #102 ; 0x66 809bf2c: 214e movs r1, #78 ; 0x4e 809bf2e: 480e ldr r0, [pc, #56] ; (809bf68 ) 809bf30: f7b8 fb4c bl 80545cc 809bf34: e1ed b.n 809c312 809bf36: bf00 nop 809bf38: 0001869f .word 0x0001869f 809bf3c: 4cbebc20 .word 0x4cbebc20 809bf40: 47c34f80 .word 0x47c34f80 809bf44: d1b71759 .word 0xd1b71759 809bf48: 10624dd3 .word 0x10624dd3 809bf4c: 51eb851f .word 0x51eb851f 809bf50: cccccccd .word 0xcccccccd 809bf54: 20020124 .word 0x20020124 809bf58: 08167a54 .word 0x08167a54 809bf5c: 200226a0 .word 0x200226a0 809bf60: 20023e60 .word 0x20023e60 809bf64: 200200f4 .word 0x200200f4 809bf68: 081679c8 .word 0x081679c8 if(ipr == VEL) 809bf6c: 6d3b ldr r3, [r7, #80] ; 0x50 809bf6e: 2b01 cmp r3, #1 809bf70: f040 80d4 bne.w 809c11c if(ReadFileData.Vval.fl != -1.0f) 809bf74: 4ba2 ldr r3, [pc, #648] ; (809c200 ) 809bf76: edd3 7a01 vldr s15, [r3, #4] 809bf7a: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809bf7e: eef4 7a47 vcmp.f32 s15, s14 809bf82: eef1 fa10 vmrs APSR_nzcv, fpscr 809bf86: f000 80b4 beq.w 809c0f2 if(!t) 809bf8a: 6d7b ldr r3, [r7, #84] ; 0x54 809bf8c: 2b00 cmp r3, #0 809bf8e: d126 bne.n 809bfde for(i = 0; i < 5; i++) 809bf90: 2300 movs r3, #0 809bf92: 65fb str r3, [r7, #92] ; 0x5c 809bf94: e01f b.n 809bfd6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809bf96: 6d3a ldr r2, [r7, #80] ; 0x50 809bf98: 6df9 ldr r1, [r7, #92] ; 0x5c 809bf9a: 4613 mov r3, r2 809bf9c: 009b lsls r3, r3, #2 809bf9e: 4413 add r3, r2 809bfa0: f107 0268 add.w r2, r7, #104 ; 0x68 809bfa4: 4413 add r3, r2 809bfa6: 440b add r3, r1 809bfa8: 3b34 subs r3, #52 ; 0x34 809bfaa: 781b ldrb r3, [r3, #0] 809bfac: b2db uxtb r3, r3 809bfae: 461a mov r2, r3 809bfb0: 4b94 ldr r3, [pc, #592] ; (809c204 ) 809bfb2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809bfb6: 6dfb ldr r3, [r7, #92] ; 0x5c 809bfb8: b29b uxth r3, r3 809bfba: 461a mov r2, r3 809bfbc: 0112 lsls r2, r2, #4 809bfbe: 1ad3 subs r3, r2, r3 809bfc0: 005b lsls r3, r3, #1 809bfc2: b29b uxth r3, r3 809bfc4: 335a adds r3, #90 ; 0x5a 809bfc6: b29b uxth r3, r3 809bfc8: 2282 movs r2, #130 ; 0x82 809bfca: 4619 mov r1, r3 809bfcc: f7b8 fafe bl 80545cc for(i = 0; i < 5; i++) 809bfd0: 6dfb ldr r3, [r7, #92] ; 0x5c 809bfd2: 3301 adds r3, #1 809bfd4: 65fb str r3, [r7, #92] ; 0x5c 809bfd6: 6dfb ldr r3, [r7, #92] ; 0x5c 809bfd8: 2b04 cmp r3, #4 809bfda: d9dc bls.n 809bf96 809bfdc: e05a b.n 809c094 for(i = 0; i < t; i++) 809bfde: 2300 movs r3, #0 809bfe0: 65fb str r3, [r7, #92] ; 0x5c 809bfe2: e01f b.n 809c024 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809bfe4: 6d3a ldr r2, [r7, #80] ; 0x50 809bfe6: 6df9 ldr r1, [r7, #92] ; 0x5c 809bfe8: 4613 mov r3, r2 809bfea: 009b lsls r3, r3, #2 809bfec: 4413 add r3, r2 809bfee: f107 0268 add.w r2, r7, #104 ; 0x68 809bff2: 4413 add r3, r2 809bff4: 440b add r3, r1 809bff6: 3b34 subs r3, #52 ; 0x34 809bff8: 781b ldrb r3, [r3, #0] 809bffa: b2db uxtb r3, r3 809bffc: 461a mov r2, r3 809bffe: 4b81 ldr r3, [pc, #516] ; (809c204 ) 809c000: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c004: 6dfb ldr r3, [r7, #92] ; 0x5c 809c006: b29b uxth r3, r3 809c008: 461a mov r2, r3 809c00a: 0112 lsls r2, r2, #4 809c00c: 1ad3 subs r3, r2, r3 809c00e: 005b lsls r3, r3, #1 809c010: b29b uxth r3, r3 809c012: 335a adds r3, #90 ; 0x5a 809c014: b29b uxth r3, r3 809c016: 2282 movs r2, #130 ; 0x82 809c018: 4619 mov r1, r3 809c01a: f7b8 fad7 bl 80545cc for(i = 0; i < t; i++) 809c01e: 6dfb ldr r3, [r7, #92] ; 0x5c 809c020: 3301 adds r3, #1 809c022: 65fb str r3, [r7, #92] ; 0x5c 809c024: 6dfa ldr r2, [r7, #92] ; 0x5c 809c026: 6d7b ldr r3, [r7, #84] ; 0x54 809c028: 429a cmp r2, r3 809c02a: d3db bcc.n 809bfe4 DrawImage(&bmgpt, 95 + 30*t, 145+9); 809c02c: 6d7b ldr r3, [r7, #84] ; 0x54 809c02e: b29b uxth r3, r3 809c030: 461a mov r2, r3 809c032: 0112 lsls r2, r2, #4 809c034: 1ad3 subs r3, r2, r3 809c036: 005b lsls r3, r3, #1 809c038: b29b uxth r3, r3 809c03a: 335f adds r3, #95 ; 0x5f 809c03c: b29b uxth r3, r3 809c03e: 229a movs r2, #154 ; 0x9a 809c040: 4619 mov r1, r3 809c042: 4871 ldr r0, [pc, #452] ; (809c208 ) 809c044: f7b8 fac2 bl 80545cc for(i = t; i < 5; i++) 809c048: 6d7b ldr r3, [r7, #84] ; 0x54 809c04a: 65fb str r3, [r7, #92] ; 0x5c 809c04c: e01f b.n 809c08e DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809c04e: 6d3a ldr r2, [r7, #80] ; 0x50 809c050: 6df9 ldr r1, [r7, #92] ; 0x5c 809c052: 4613 mov r3, r2 809c054: 009b lsls r3, r3, #2 809c056: 4413 add r3, r2 809c058: f107 0268 add.w r2, r7, #104 ; 0x68 809c05c: 4413 add r3, r2 809c05e: 440b add r3, r1 809c060: 3b34 subs r3, #52 ; 0x34 809c062: 781b ldrb r3, [r3, #0] 809c064: b2db uxtb r3, r3 809c066: 461a mov r2, r3 809c068: 4b66 ldr r3, [pc, #408] ; (809c204 ) 809c06a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c06e: 6dfb ldr r3, [r7, #92] ; 0x5c 809c070: b29b uxth r3, r3 809c072: 461a mov r2, r3 809c074: 0112 lsls r2, r2, #4 809c076: 1ad3 subs r3, r2, r3 809c078: 005b lsls r3, r3, #1 809c07a: b29b uxth r3, r3 809c07c: 336e adds r3, #110 ; 0x6e 809c07e: b29b uxth r3, r3 809c080: 2282 movs r2, #130 ; 0x82 809c082: 4619 mov r1, r3 809c084: f7b8 faa2 bl 80545cc for(i = t; i < 5; i++) 809c088: 6dfb ldr r3, [r7, #92] ; 0x5c 809c08a: 3301 adds r3, #1 809c08c: 65fb str r3, [r7, #92] ; 0x5c 809c08e: 6dfb ldr r3, [r7, #92] ; 0x5c 809c090: 2b04 cmp r3, #4 809c092: d9dc bls.n 809c04e if((ReadFileData.Vivs != 'E') && (ReadFileData.Vivs != 'F')) 809c094: 4b5a ldr r3, [pc, #360] ; (809c200 ) 809c096: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809c09a: b2db uxtb r3, r3 809c09c: 2b45 cmp r3, #69 ; 0x45 809c09e: d012 beq.n 809c0c6 809c0a0: 4b57 ldr r3, [pc, #348] ; (809c200 ) 809c0a2: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809c0a6: b2db uxtb r3, r3 809c0a8: 2b46 cmp r3, #70 ; 0x46 809c0aa: d00c beq.n 809c0c6 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809c0ac: 4b57 ldr r3, [pc, #348] ; (809c20c ) 809c0ae: 7b1b ldrb r3, [r3, #12] 809c0b0: b2db uxtb r3, r3 809c0b2: 461a mov r2, r3 809c0b4: 4b56 ldr r3, [pc, #344] ; (809c210 ) 809c0b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809c0ba: 2289 movs r2, #137 ; 0x89 809c0bc: f240 1109 movw r1, #265 ; 0x109 809c0c0: 4618 mov r0, r3 809c0c2: f7b8 fa83 bl 80545cc if(ReadFileData.Vivs == 'E') 809c0c6: 4b4e ldr r3, [pc, #312] ; (809c200 ) 809c0c8: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809c0cc: b2db uxtb r3, r3 809c0ce: 2b45 cmp r3, #69 ; 0x45 809c0d0: f040 811f bne.w 809c312 if(ReadFileData.Vval.fl < 0.0f) { 809c0d4: 4b4a ldr r3, [pc, #296] ; (809c200 ) 809c0d6: edd3 7a01 vldr s15, [r3, #4] 809c0da: eef5 7ac0 vcmpe.f32 s15, #0.0 809c0de: eef1 fa10 vmrs APSR_nzcv, fpscr 809c0e2: f140 8116 bpl.w 809c312 DrawImage(&bmgminus, 78, 138+9); 809c0e6: 2293 movs r2, #147 ; 0x93 809c0e8: 214e movs r1, #78 ; 0x4e 809c0ea: 484a ldr r0, [pc, #296] ; (809c214 ) 809c0ec: f7b8 fa6e bl 80545cc 809c0f0: e10f b.n 809c312 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809c0f2: 4949 ldr r1, [pc, #292] ; (809c218 ) 809c0f4: 4849 ldr r0, [pc, #292] ; (809c21c ) 809c0f6: f7b7 fb75 bl 80537e4 if(pardata.LANG == RUS) 809c0fa: 4b44 ldr r3, [pc, #272] ; (809c20c ) 809c0fc: 7b1b ldrb r3, [r3, #12] 809c0fe: b2db uxtb r3, r3 809c100: 2b00 cmp r3, #0 809c102: d105 bne.n 809c110 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809c104: 4a46 ldr r2, [pc, #280] ; (809c220 ) 809c106: 2187 movs r1, #135 ; 0x87 809c108: 20a7 movs r0, #167 ; 0xa7 809c10a: f7b8 f92b bl 8054364 809c10e: e100 b.n 809c312 else LCD_DisplayStringC(167, 135, "NO DATA"); 809c110: 4a44 ldr r2, [pc, #272] ; (809c224 ) 809c112: 2187 movs r1, #135 ; 0x87 809c114: 20a7 movs r0, #167 ; 0xa7 809c116: f7b8 f925 bl 8054364 809c11a: e0fa b.n 809c312 if(ipr == DIS) 809c11c: 6d3b ldr r3, [r7, #80] ; 0x50 809c11e: 2b02 cmp r3, #2 809c120: f040 80f7 bne.w 809c312 if(ReadFileData.Sval.fl != -1.0f) 809c124: 4b36 ldr r3, [pc, #216] ; (809c200 ) 809c126: edd3 7a02 vldr s15, [r3, #8] 809c12a: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809c12e: eef4 7a47 vcmp.f32 s15, s14 809c132: eef1 fa10 vmrs APSR_nzcv, fpscr 809c136: f000 80d8 beq.w 809c2ea if(!t) 809c13a: 6d7b ldr r3, [r7, #84] ; 0x54 809c13c: 2b00 cmp r3, #0 809c13e: d126 bne.n 809c18e for(i = 0; i < 5; i++) 809c140: 2300 movs r3, #0 809c142: 65fb str r3, [r7, #92] ; 0x5c 809c144: e01f b.n 809c186 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809c146: 6d3a ldr r2, [r7, #80] ; 0x50 809c148: 6df9 ldr r1, [r7, #92] ; 0x5c 809c14a: 4613 mov r3, r2 809c14c: 009b lsls r3, r3, #2 809c14e: 4413 add r3, r2 809c150: f107 0268 add.w r2, r7, #104 ; 0x68 809c154: 4413 add r3, r2 809c156: 440b add r3, r1 809c158: 3b34 subs r3, #52 ; 0x34 809c15a: 781b ldrb r3, [r3, #0] 809c15c: b2db uxtb r3, r3 809c15e: 461a mov r2, r3 809c160: 4b28 ldr r3, [pc, #160] ; (809c204 ) 809c162: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c166: 6dfb ldr r3, [r7, #92] ; 0x5c 809c168: b29b uxth r3, r3 809c16a: 461a mov r2, r3 809c16c: 0112 lsls r2, r2, #4 809c16e: 1ad3 subs r3, r2, r3 809c170: 005b lsls r3, r3, #1 809c172: b29b uxth r3, r3 809c174: 335a adds r3, #90 ; 0x5a 809c176: b29b uxth r3, r3 809c178: 22ae movs r2, #174 ; 0xae 809c17a: 4619 mov r1, r3 809c17c: f7b8 fa26 bl 80545cc for(i = 0; i < 5; i++) 809c180: 6dfb ldr r3, [r7, #92] ; 0x5c 809c182: 3301 adds r3, #1 809c184: 65fb str r3, [r7, #92] ; 0x5c 809c186: 6dfb ldr r3, [r7, #92] ; 0x5c 809c188: 2b04 cmp r3, #4 809c18a: d9dc bls.n 809c146 809c18c: e06f b.n 809c26e for(i = 0; i < t; i++) 809c18e: 2300 movs r3, #0 809c190: 65fb str r3, [r7, #92] ; 0x5c 809c192: e01f b.n 809c1d4 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809c194: 6d3a ldr r2, [r7, #80] ; 0x50 809c196: 6df9 ldr r1, [r7, #92] ; 0x5c 809c198: 4613 mov r3, r2 809c19a: 009b lsls r3, r3, #2 809c19c: 4413 add r3, r2 809c19e: f107 0268 add.w r2, r7, #104 ; 0x68 809c1a2: 4413 add r3, r2 809c1a4: 440b add r3, r1 809c1a6: 3b34 subs r3, #52 ; 0x34 809c1a8: 781b ldrb r3, [r3, #0] 809c1aa: b2db uxtb r3, r3 809c1ac: 461a mov r2, r3 809c1ae: 4b15 ldr r3, [pc, #84] ; (809c204 ) 809c1b0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c1b4: 6dfb ldr r3, [r7, #92] ; 0x5c 809c1b6: b29b uxth r3, r3 809c1b8: 461a mov r2, r3 809c1ba: 0112 lsls r2, r2, #4 809c1bc: 1ad3 subs r3, r2, r3 809c1be: 005b lsls r3, r3, #1 809c1c0: b29b uxth r3, r3 809c1c2: 335a adds r3, #90 ; 0x5a 809c1c4: b29b uxth r3, r3 809c1c6: 22ae movs r2, #174 ; 0xae 809c1c8: 4619 mov r1, r3 809c1ca: f7b8 f9ff bl 80545cc for(i = 0; i < t; i++) 809c1ce: 6dfb ldr r3, [r7, #92] ; 0x5c 809c1d0: 3301 adds r3, #1 809c1d2: 65fb str r3, [r7, #92] ; 0x5c 809c1d4: 6dfa ldr r2, [r7, #92] ; 0x5c 809c1d6: 6d7b ldr r3, [r7, #84] ; 0x54 809c1d8: 429a cmp r2, r3 809c1da: d3db bcc.n 809c194 DrawImage(&bmgpt, 95 + 30*t, 198); 809c1dc: 6d7b ldr r3, [r7, #84] ; 0x54 809c1de: b29b uxth r3, r3 809c1e0: 461a mov r2, r3 809c1e2: 0112 lsls r2, r2, #4 809c1e4: 1ad3 subs r3, r2, r3 809c1e6: 005b lsls r3, r3, #1 809c1e8: b29b uxth r3, r3 809c1ea: 335f adds r3, #95 ; 0x5f 809c1ec: b29b uxth r3, r3 809c1ee: 22c6 movs r2, #198 ; 0xc6 809c1f0: 4619 mov r1, r3 809c1f2: 4805 ldr r0, [pc, #20] ; (809c208 ) 809c1f4: f7b8 f9ea bl 80545cc for(i = t; i < 5; i++) 809c1f8: 6d7b ldr r3, [r7, #84] ; 0x54 809c1fa: 65fb str r3, [r7, #92] ; 0x5c 809c1fc: e034 b.n 809c268 809c1fe: bf00 nop 809c200: 200226a0 .word 0x200226a0 809c204: 20020124 .word 0x20020124 809c208: 08167a54 .word 0x08167a54 809c20c: 20023e60 .word 0x20023e60 809c210: 200200fc .word 0x200200fc 809c214: 081679c8 .word 0x081679c8 809c218: ff0a0f1f .word 0xff0a0f1f 809c21c: ffb8e828 .word 0xffb8e828 809c220: 080cfb2c .word 0x080cfb2c 809c224: 080cfb38 .word 0x080cfb38 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809c228: 6d3a ldr r2, [r7, #80] ; 0x50 809c22a: 6df9 ldr r1, [r7, #92] ; 0x5c 809c22c: 4613 mov r3, r2 809c22e: 009b lsls r3, r3, #2 809c230: 4413 add r3, r2 809c232: f107 0268 add.w r2, r7, #104 ; 0x68 809c236: 4413 add r3, r2 809c238: 440b add r3, r1 809c23a: 3b34 subs r3, #52 ; 0x34 809c23c: 781b ldrb r3, [r3, #0] 809c23e: b2db uxtb r3, r3 809c240: 461a mov r2, r3 809c242: 4bc5 ldr r3, [pc, #788] ; (809c558 ) 809c244: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c248: 6dfb ldr r3, [r7, #92] ; 0x5c 809c24a: b29b uxth r3, r3 809c24c: 461a mov r2, r3 809c24e: 0112 lsls r2, r2, #4 809c250: 1ad3 subs r3, r2, r3 809c252: 005b lsls r3, r3, #1 809c254: b29b uxth r3, r3 809c256: 336e adds r3, #110 ; 0x6e 809c258: b29b uxth r3, r3 809c25a: 22ae movs r2, #174 ; 0xae 809c25c: 4619 mov r1, r3 809c25e: f7b8 f9b5 bl 80545cc for(i = t; i < 5; i++) 809c262: 6dfb ldr r3, [r7, #92] ; 0x5c 809c264: 3301 adds r3, #1 809c266: 65fb str r3, [r7, #92] ; 0x5c 809c268: 6dfb ldr r3, [r7, #92] ; 0x5c 809c26a: 2b04 cmp r3, #4 809c26c: d9dc bls.n 809c228 if((ReadFileData.Sivs != 'E') && (ReadFileData.Sivs != 'F')) 809c26e: 4bbb ldr r3, [pc, #748] ; (809c55c ) 809c270: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809c274: b2db uxtb r3, r3 809c276: 2b45 cmp r3, #69 ; 0x45 809c278: d023 beq.n 809c2c2 809c27a: 4bb8 ldr r3, [pc, #736] ; (809c55c ) 809c27c: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809c280: b2db uxtb r3, r3 809c282: 2b46 cmp r3, #70 ; 0x46 809c284: d01d beq.n 809c2c2 if(m == 0) 809c286: 6cfb ldr r3, [r7, #76] ; 0x4c 809c288: 2b00 cmp r3, #0 809c28a: d10d bne.n 809c2a8 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809c28c: 4bb4 ldr r3, [pc, #720] ; (809c560 ) 809c28e: 7b1b ldrb r3, [r3, #12] 809c290: b2db uxtb r3, r3 809c292: 461a mov r2, r3 809c294: 4bb3 ldr r3, [pc, #716] ; (809c564 ) 809c296: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809c29a: 22b4 movs r2, #180 ; 0xb4 809c29c: f240 1109 movw r1, #265 ; 0x109 809c2a0: 4618 mov r0, r3 809c2a2: f7b8 f993 bl 80545cc 809c2a6: e00c b.n 809c2c2 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809c2a8: 4bad ldr r3, [pc, #692] ; (809c560 ) 809c2aa: 7b1b ldrb r3, [r3, #12] 809c2ac: b2db uxtb r3, r3 809c2ae: 461a mov r2, r3 809c2b0: 4bad ldr r3, [pc, #692] ; (809c568 ) 809c2b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809c2b6: 22b4 movs r2, #180 ; 0xb4 809c2b8: f240 1109 movw r1, #265 ; 0x109 809c2bc: 4618 mov r0, r3 809c2be: f7b8 f985 bl 80545cc if(ReadFileData.Sivs == 'E') 809c2c2: 4ba6 ldr r3, [pc, #664] ; (809c55c ) 809c2c4: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809c2c8: b2db uxtb r3, r3 809c2ca: 2b45 cmp r3, #69 ; 0x45 809c2cc: d121 bne.n 809c312 if(ReadFileData.Sval.fl < 0.0f) { 809c2ce: 4ba3 ldr r3, [pc, #652] ; (809c55c ) 809c2d0: edd3 7a02 vldr s15, [r3, #8] 809c2d4: eef5 7ac0 vcmpe.f32 s15, #0.0 809c2d8: eef1 fa10 vmrs APSR_nzcv, fpscr 809c2dc: d519 bpl.n 809c312 DrawImage(&bmgminus, 78, 190); 809c2de: 22be movs r2, #190 ; 0xbe 809c2e0: 214e movs r1, #78 ; 0x4e 809c2e2: 48a2 ldr r0, [pc, #648] ; (809c56c ) 809c2e4: f7b8 f972 bl 80545cc 809c2e8: e013 b.n 809c312 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809c2ea: 49a1 ldr r1, [pc, #644] ; (809c570 ) 809c2ec: 48a1 ldr r0, [pc, #644] ; (809c574 ) 809c2ee: f7b7 fa79 bl 80537e4 if(pardata.LANG == RUS) 809c2f2: 4b9b ldr r3, [pc, #620] ; (809c560 ) 809c2f4: 7b1b ldrb r3, [r3, #12] 809c2f6: b2db uxtb r3, r3 809c2f8: 2b00 cmp r3, #0 809c2fa: d105 bne.n 809c308 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809c2fc: 4a9e ldr r2, [pc, #632] ; (809c578 ) 809c2fe: 21b9 movs r1, #185 ; 0xb9 809c300: 20a7 movs r0, #167 ; 0xa7 809c302: f7b8 f82f bl 8054364 809c306: e004 b.n 809c312 else LCD_DisplayStringC(167, 185, "NO DATA"); 809c308: 4a9c ldr r2, [pc, #624] ; (809c57c ) 809c30a: 21b9 movs r1, #185 ; 0xb9 809c30c: 20a7 movs r0, #167 ; 0xa7 809c30e: f7b8 f829 bl 8054364 for(ipr = ACC; ipr <= DIS; ipr++) 809c312: 6d3b ldr r3, [r7, #80] ; 0x50 809c314: 3301 adds r3, #1 809c316: 653b str r3, [r7, #80] ; 0x50 809c318: 6d3b ldr r3, [r7, #80] ; 0x50 809c31a: 2b02 cmp r3, #2 809c31c: f67f aa72 bls.w 809b804 break; 809c320: f007 bbc8 b.w 80a3ab4 for(ipr = ACC; ipr <= DIS; ipr++) 809c324: 2300 movs r3, #0 809c326: 653b str r3, [r7, #80] ; 0x50 809c328: f001 b984 b.w 809d634 if(ipr == ACC) f = ReadFileData.Aval.fl; 809c32c: 6d3b ldr r3, [r7, #80] ; 0x50 809c32e: 2b00 cmp r3, #0 809c330: d103 bne.n 809c33a 809c332: 4b8a ldr r3, [pc, #552] ; (809c55c ) 809c334: 681b ldr r3, [r3, #0] 809c336: 647b str r3, [r7, #68] ; 0x44 809c338: e00c b.n 809c354 else if(ipr == VEL) f = ReadFileData.Vval.fl; 809c33a: 6d3b ldr r3, [r7, #80] ; 0x50 809c33c: 2b01 cmp r3, #1 809c33e: d103 bne.n 809c348 809c340: 4b86 ldr r3, [pc, #536] ; (809c55c ) 809c342: 685b ldr r3, [r3, #4] 809c344: 647b str r3, [r7, #68] ; 0x44 809c346: e005 b.n 809c354 else if(ipr == DIS) f = ReadFileData.Sval.fl; 809c348: 6d3b ldr r3, [r7, #80] ; 0x50 809c34a: 2b02 cmp r3, #2 809c34c: d102 bne.n 809c354 809c34e: 4b83 ldr r3, [pc, #524] ; (809c55c ) 809c350: 689b ldr r3, [r3, #8] 809c352: 647b str r3, [r7, #68] ; 0x44 if((ivs[ipr] == 'F') || (ivs[ipr] == 'E')) 809c354: 6d3b ldr r3, [r7, #80] ; 0x50 809c356: f107 0268 add.w r2, r7, #104 ; 0x68 809c35a: 4413 add r3, r2 809c35c: f813 3c68 ldrb.w r3, [r3, #-104] 809c360: 2b46 cmp r3, #70 ; 0x46 809c362: d008 beq.n 809c376 809c364: 6d3b ldr r3, [r7, #80] ; 0x50 809c366: f107 0268 add.w r2, r7, #104 ; 0x68 809c36a: 4413 add r3, r2 809c36c: f813 3c68 ldrb.w r3, [r3, #-104] 809c370: 2b45 cmp r3, #69 ; 0x45 809c372: f040 8547 bne.w 809ce04 if(ipr < DIS) 809c376: 6d3b ldr r3, [r7, #80] ; 0x50 809c378: 2b01 cmp r3, #1 809c37a: f200 80af bhi.w 809c4dc if(f < 10.0f) 809c37e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c382: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809c386: eef4 7ac7 vcmpe.f32 s15, s14 809c38a: eef1 fa10 vmrs APSR_nzcv, fpscr 809c38e: d513 bpl.n 809c3b8 k = (uint32_t) (roundf(f * 10000)); 809c390: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c394: ed9f 7a7e vldr s14, [pc, #504] ; 809c590 809c398: ee67 7a87 vmul.f32 s15, s15, s14 809c39c: eeb0 0a67 vmov.f32 s0, s15 809c3a0: f02e fc70 bl 80cac84 809c3a4: eef0 7a40 vmov.f32 s15, s0 809c3a8: eefc 7ae7 vcvt.u32.f32 s15, s15 809c3ac: ee17 3a90 vmov r3, s15 809c3b0: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809c3b2: 2301 movs r3, #1 809c3b4: 657b str r3, [r7, #84] ; 0x54 809c3b6: e1d3 b.n 809c760 if(f < 100.0f) 809c3b8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c3bc: ed9f 7a73 vldr s14, [pc, #460] ; 809c58c 809c3c0: eef4 7ac7 vcmpe.f32 s15, s14 809c3c4: eef1 fa10 vmrs APSR_nzcv, fpscr 809c3c8: d513 bpl.n 809c3f2 k = (uint32_t) (roundf(f * 1000)); 809c3ca: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c3ce: ed9f 7a6e vldr s14, [pc, #440] ; 809c588 809c3d2: ee67 7a87 vmul.f32 s15, s15, s14 809c3d6: eeb0 0a67 vmov.f32 s0, s15 809c3da: f02e fc53 bl 80cac84 809c3de: eef0 7a40 vmov.f32 s15, s0 809c3e2: eefc 7ae7 vcvt.u32.f32 s15, s15 809c3e6: ee17 3a90 vmov r3, s15 809c3ea: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809c3ec: 2302 movs r3, #2 809c3ee: 657b str r3, [r7, #84] ; 0x54 809c3f0: e1b6 b.n 809c760 if(f < 1000.0f) 809c3f2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c3f6: ed9f 7a64 vldr s14, [pc, #400] ; 809c588 809c3fa: eef4 7ac7 vcmpe.f32 s15, s14 809c3fe: eef1 fa10 vmrs APSR_nzcv, fpscr 809c402: d513 bpl.n 809c42c k = (uint32_t) (roundf(f * 100)); 809c404: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c408: ed9f 7a60 vldr s14, [pc, #384] ; 809c58c 809c40c: ee67 7a87 vmul.f32 s15, s15, s14 809c410: eeb0 0a67 vmov.f32 s0, s15 809c414: f02e fc36 bl 80cac84 809c418: eef0 7a40 vmov.f32 s15, s0 809c41c: eefc 7ae7 vcvt.u32.f32 s15, s15 809c420: ee17 3a90 vmov r3, s15 809c424: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809c426: 2303 movs r3, #3 809c428: 657b str r3, [r7, #84] ; 0x54 809c42a: e199 b.n 809c760 if(f < 10000.0f) 809c42c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c430: ed9f 7a57 vldr s14, [pc, #348] ; 809c590 809c434: eef4 7ac7 vcmpe.f32 s15, s14 809c438: eef1 fa10 vmrs APSR_nzcv, fpscr 809c43c: d513 bpl.n 809c466 k = (uint32_t) (roundf(f * 10)); 809c43e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c442: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809c446: ee67 7a87 vmul.f32 s15, s15, s14 809c44a: eeb0 0a67 vmov.f32 s0, s15 809c44e: f02e fc19 bl 80cac84 809c452: eef0 7a40 vmov.f32 s15, s0 809c456: eefc 7ae7 vcvt.u32.f32 s15, s15 809c45a: ee17 3a90 vmov r3, s15 809c45e: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809c460: 2304 movs r3, #4 809c462: 657b str r3, [r7, #84] ; 0x54 809c464: e17c b.n 809c760 if(f < 100000.0f) 809c466: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c46a: ed9f 7a4a vldr s14, [pc, #296] ; 809c594 809c46e: eef4 7ac7 vcmpe.f32 s15, s14 809c472: eef1 fa10 vmrs APSR_nzcv, fpscr 809c476: d515 bpl.n 809c4a4 k = (uint32_t) (roundf(f)); 809c478: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c47c: eeb0 0a67 vmov.f32 s0, s15 809c480: f02e fc00 bl 80cac84 809c484: eef0 7a40 vmov.f32 s15, s0 809c488: eefc 7ae7 vcvt.u32.f32 s15, s15 809c48c: ee17 3a90 vmov r3, s15 809c490: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809c492: 6dbb ldr r3, [r7, #88] ; 0x58 809c494: 4a3a ldr r2, [pc, #232] ; (809c580 ) 809c496: 4293 cmp r3, r2 809c498: d901 bls.n 809c49e k = 99999; 809c49a: 4b39 ldr r3, [pc, #228] ; (809c580 ) 809c49c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809c49e: 2300 movs r3, #0 809c4a0: 657b str r3, [r7, #84] ; 0x54 809c4a2: e15d b.n 809c760 if(f >= 100000.0f) 809c4a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c4a8: ed9f 7a3a vldr s14, [pc, #232] ; 809c594 809c4ac: eef4 7ac7 vcmpe.f32 s15, s14 809c4b0: eef1 fa10 vmrs APSR_nzcv, fpscr 809c4b4: f2c0 8154 blt.w 809c760 f = 99999.0f; 809c4b8: 4b32 ldr r3, [pc, #200] ; (809c584 ) 809c4ba: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809c4bc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c4c0: eeb0 0a67 vmov.f32 s0, s15 809c4c4: f02e fbde bl 80cac84 809c4c8: eef0 7a40 vmov.f32 s15, s0 809c4cc: eefc 7ae7 vcvt.u32.f32 s15, s15 809c4d0: ee17 3a90 vmov r3, s15 809c4d4: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809c4d6: 2300 movs r3, #0 809c4d8: 657b str r3, [r7, #84] ; 0x54 809c4da: e141 b.n 809c760 if(f < 10.0f) 809c4dc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c4e0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809c4e4: eef4 7ac7 vcmpe.f32 s15, s14 809c4e8: eef1 fa10 vmrs APSR_nzcv, fpscr 809c4ec: d515 bpl.n 809c51a k = (uint32_t) (roundf(f * 10000)); 809c4ee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c4f2: ed9f 7a27 vldr s14, [pc, #156] ; 809c590 809c4f6: ee67 7a87 vmul.f32 s15, s15, s14 809c4fa: eeb0 0a67 vmov.f32 s0, s15 809c4fe: f02e fbc1 bl 80cac84 809c502: eef0 7a40 vmov.f32 s15, s0 809c506: eefc 7ae7 vcvt.u32.f32 s15, s15 809c50a: ee17 3a90 vmov r3, s15 809c50e: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809c510: 2301 movs r3, #1 809c512: 657b str r3, [r7, #84] ; 0x54 m = 0; 809c514: 2300 movs r3, #0 809c516: 64fb str r3, [r7, #76] ; 0x4c 809c518: e122 b.n 809c760 if(f < 100.0f) 809c51a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c51e: ed9f 7a1b vldr s14, [pc, #108] ; 809c58c 809c522: eef4 7ac7 vcmpe.f32 s15, s14 809c526: eef1 fa10 vmrs APSR_nzcv, fpscr 809c52a: d541 bpl.n 809c5b0 k = (uint32_t) (roundf(f * 1000)); 809c52c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c530: ed9f 7a15 vldr s14, [pc, #84] ; 809c588 809c534: ee67 7a87 vmul.f32 s15, s15, s14 809c538: eeb0 0a67 vmov.f32 s0, s15 809c53c: f02e fba2 bl 80cac84 809c540: eef0 7a40 vmov.f32 s15, s0 809c544: eefc 7ae7 vcvt.u32.f32 s15, s15 809c548: ee17 3a90 vmov r3, s15 809c54c: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809c54e: 2302 movs r3, #2 809c550: 657b str r3, [r7, #84] ; 0x54 m = 0; 809c552: 2300 movs r3, #0 809c554: 64fb str r3, [r7, #76] ; 0x4c 809c556: e103 b.n 809c760 809c558: 20020124 .word 0x20020124 809c55c: 200226a0 .word 0x200226a0 809c560: 20023e60 .word 0x20023e60 809c564: 20020104 .word 0x20020104 809c568: 2002010c .word 0x2002010c 809c56c: 081679c8 .word 0x081679c8 809c570: ff0a0f1f .word 0xff0a0f1f 809c574: ffb8e828 .word 0xffb8e828 809c578: 080cfb2c .word 0x080cfb2c 809c57c: 080cfb38 .word 0x080cfb38 809c580: 0001869f .word 0x0001869f 809c584: 47c34f80 .word 0x47c34f80 809c588: 447a0000 .word 0x447a0000 809c58c: 42c80000 .word 0x42c80000 809c590: 461c4000 .word 0x461c4000 809c594: 47c35000 .word 0x47c35000 809c598: 49742400 .word 0x49742400 809c59c: 3dcccccd .word 0x3dcccccd 809c5a0: 4b189680 .word 0x4b189680 809c5a4: 3c23d70a .word 0x3c23d70a 809c5a8: 4cbebc20 .word 0x4cbebc20 809c5ac: 3a83126f .word 0x3a83126f if(f < 1000.0f) 809c5b0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c5b4: ed1f 7a0c vldr s14, [pc, #-48] ; 809c588 809c5b8: eef4 7ac7 vcmpe.f32 s15, s14 809c5bc: eef1 fa10 vmrs APSR_nzcv, fpscr 809c5c0: d515 bpl.n 809c5ee k = (uint32_t) (roundf(f * 100)); 809c5c2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c5c6: ed1f 7a0f vldr s14, [pc, #-60] ; 809c58c 809c5ca: ee67 7a87 vmul.f32 s15, s15, s14 809c5ce: eeb0 0a67 vmov.f32 s0, s15 809c5d2: f02e fb57 bl 80cac84 809c5d6: eef0 7a40 vmov.f32 s15, s0 809c5da: eefc 7ae7 vcvt.u32.f32 s15, s15 809c5de: ee17 3a90 vmov r3, s15 809c5e2: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809c5e4: 2303 movs r3, #3 809c5e6: 657b str r3, [r7, #84] ; 0x54 m = 0; 809c5e8: 2300 movs r3, #0 809c5ea: 64fb str r3, [r7, #76] ; 0x4c 809c5ec: e0b8 b.n 809c760 if(f < 10000.0f) 809c5ee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c5f2: ed1f 7a19 vldr s14, [pc, #-100] ; 809c590 809c5f6: eef4 7ac7 vcmpe.f32 s15, s14 809c5fa: eef1 fa10 vmrs APSR_nzcv, fpscr 809c5fe: d515 bpl.n 809c62c k = (uint32_t) (roundf(f * 10)); 809c600: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c604: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809c608: ee67 7a87 vmul.f32 s15, s15, s14 809c60c: eeb0 0a67 vmov.f32 s0, s15 809c610: f02e fb38 bl 80cac84 809c614: eef0 7a40 vmov.f32 s15, s0 809c618: eefc 7ae7 vcvt.u32.f32 s15, s15 809c61c: ee17 3a90 vmov r3, s15 809c620: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809c622: 2301 movs r3, #1 809c624: 657b str r3, [r7, #84] ; 0x54 m = 1; 809c626: 2301 movs r3, #1 809c628: 64fb str r3, [r7, #76] ; 0x4c 809c62a: e099 b.n 809c760 if(f < 100000.0f) 809c62c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c630: ed1f 7a28 vldr s14, [pc, #-160] ; 809c594 809c634: eef4 7ac7 vcmpe.f32 s15, s14 809c638: eef1 fa10 vmrs APSR_nzcv, fpscr 809c63c: d511 bpl.n 809c662 k = (uint32_t) (roundf(f)); 809c63e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c642: eeb0 0a67 vmov.f32 s0, s15 809c646: f02e fb1d bl 80cac84 809c64a: eef0 7a40 vmov.f32 s15, s0 809c64e: eefc 7ae7 vcvt.u32.f32 s15, s15 809c652: ee17 3a90 vmov r3, s15 809c656: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809c658: 2302 movs r3, #2 809c65a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809c65c: 2301 movs r3, #1 809c65e: 64fb str r3, [r7, #76] ; 0x4c 809c660: e07e b.n 809c760 if(f < 1000000.0f) 809c662: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c666: ed1f 7a34 vldr s14, [pc, #-208] ; 809c598 809c66a: eef4 7ac7 vcmpe.f32 s15, s14 809c66e: eef1 fa10 vmrs APSR_nzcv, fpscr 809c672: d515 bpl.n 809c6a0 k = (uint32_t) (roundf(f * 0.1f)); 809c674: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c678: ed1f 7a38 vldr s14, [pc, #-224] ; 809c59c 809c67c: ee67 7a87 vmul.f32 s15, s15, s14 809c680: eeb0 0a67 vmov.f32 s0, s15 809c684: f02e fafe bl 80cac84 809c688: eef0 7a40 vmov.f32 s15, s0 809c68c: eefc 7ae7 vcvt.u32.f32 s15, s15 809c690: ee17 3a90 vmov r3, s15 809c694: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809c696: 2303 movs r3, #3 809c698: 657b str r3, [r7, #84] ; 0x54 m = 1; 809c69a: 2301 movs r3, #1 809c69c: 64fb str r3, [r7, #76] ; 0x4c 809c69e: e05f b.n 809c760 if(f < 10000000.0f) 809c6a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c6a4: ed1f 7a42 vldr s14, [pc, #-264] ; 809c5a0 809c6a8: eef4 7ac7 vcmpe.f32 s15, s14 809c6ac: eef1 fa10 vmrs APSR_nzcv, fpscr 809c6b0: d515 bpl.n 809c6de k = (uint32_t) (roundf(f * 0.01f)); 809c6b2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c6b6: ed1f 7a45 vldr s14, [pc, #-276] ; 809c5a4 809c6ba: ee67 7a87 vmul.f32 s15, s15, s14 809c6be: eeb0 0a67 vmov.f32 s0, s15 809c6c2: f02e fadf bl 80cac84 809c6c6: eef0 7a40 vmov.f32 s15, s0 809c6ca: eefc 7ae7 vcvt.u32.f32 s15, s15 809c6ce: ee17 3a90 vmov r3, s15 809c6d2: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809c6d4: 2304 movs r3, #4 809c6d6: 657b str r3, [r7, #84] ; 0x54 m = 1; 809c6d8: 2301 movs r3, #1 809c6da: 64fb str r3, [r7, #76] ; 0x4c 809c6dc: e040 b.n 809c760 if(f < 100000000.0f) 809c6de: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c6e2: ed1f 7a4f vldr s14, [pc, #-316] ; 809c5a8 809c6e6: eef4 7ac7 vcmpe.f32 s15, s14 809c6ea: eef1 fa10 vmrs APSR_nzcv, fpscr 809c6ee: d51b bpl.n 809c728 k = (uint32_t) (roundf(f * 0.001f)); 809c6f0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c6f4: ed1f 7a53 vldr s14, [pc, #-332] ; 809c5ac 809c6f8: ee67 7a87 vmul.f32 s15, s15, s14 809c6fc: eeb0 0a67 vmov.f32 s0, s15 809c700: f02e fac0 bl 80cac84 809c704: eef0 7a40 vmov.f32 s15, s0 809c708: eefc 7ae7 vcvt.u32.f32 s15, s15 809c70c: ee17 3a90 vmov r3, s15 809c710: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809c712: 6dbb ldr r3, [r7, #88] ; 0x58 809c714: 4abf ldr r2, [pc, #764] ; (809ca14 ) 809c716: 4293 cmp r3, r2 809c718: d901 bls.n 809c71e k = 99999; 809c71a: 4bbe ldr r3, [pc, #760] ; (809ca14 ) 809c71c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809c71e: 2300 movs r3, #0 809c720: 657b str r3, [r7, #84] ; 0x54 m = 1; 809c722: 2301 movs r3, #1 809c724: 64fb str r3, [r7, #76] ; 0x4c 809c726: e01b b.n 809c760 if(f >= 100000000.0f) 809c728: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c72c: ed9f 7aba vldr s14, [pc, #744] ; 809ca18 809c730: eef4 7ac7 vcmpe.f32 s15, s14 809c734: eef1 fa10 vmrs APSR_nzcv, fpscr 809c738: db12 blt.n 809c760 f = 99999.0f; 809c73a: 4bb8 ldr r3, [pc, #736] ; (809ca1c ) 809c73c: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809c73e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809c742: eeb0 0a67 vmov.f32 s0, s15 809c746: f02e fa9d bl 80cac84 809c74a: eef0 7a40 vmov.f32 s15, s0 809c74e: eefc 7ae7 vcvt.u32.f32 s15, s15 809c752: ee17 3a90 vmov r3, s15 809c756: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809c758: 2300 movs r3, #0 809c75a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809c75c: 2301 movs r3, #1 809c75e: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809c760: 6d3a ldr r2, [r7, #80] ; 0x50 809c762: 6dbb ldr r3, [r7, #88] ; 0x58 809c764: 49ae ldr r1, [pc, #696] ; (809ca20 ) 809c766: fba1 1303 umull r1, r3, r1, r3 809c76a: 0b5b lsrs r3, r3, #13 809c76c: b2d9 uxtb r1, r3 809c76e: 4613 mov r3, r2 809c770: 009b lsls r3, r3, #2 809c772: 4413 add r3, r2 809c774: f107 0268 add.w r2, r7, #104 ; 0x68 809c778: 4413 add r3, r2 809c77a: 3b34 subs r3, #52 ; 0x34 809c77c: 460a mov r2, r1 809c77e: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809c780: 6d39 ldr r1, [r7, #80] ; 0x50 809c782: 6dba ldr r2, [r7, #88] ; 0x58 809c784: 4ba6 ldr r3, [pc, #664] ; (809ca20 ) 809c786: fba3 0302 umull r0, r3, r3, r2 809c78a: 0b5b lsrs r3, r3, #13 809c78c: f242 7010 movw r0, #10000 ; 0x2710 809c790: fb00 f303 mul.w r3, r0, r3 809c794: 1ad3 subs r3, r2, r3 809c796: 4aa3 ldr r2, [pc, #652] ; (809ca24 ) 809c798: fba2 2303 umull r2, r3, r2, r3 809c79c: 099b lsrs r3, r3, #6 809c79e: b2da uxtb r2, r3 809c7a0: 460b mov r3, r1 809c7a2: 009b lsls r3, r3, #2 809c7a4: 440b add r3, r1 809c7a6: f107 0168 add.w r1, r7, #104 ; 0x68 809c7aa: 440b add r3, r1 809c7ac: 3b33 subs r3, #51 ; 0x33 809c7ae: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809c7b0: 6d39 ldr r1, [r7, #80] ; 0x50 809c7b2: 6dba ldr r2, [r7, #88] ; 0x58 809c7b4: 4b9a ldr r3, [pc, #616] ; (809ca20 ) 809c7b6: fba3 0302 umull r0, r3, r3, r2 809c7ba: 0b5b lsrs r3, r3, #13 809c7bc: f242 7010 movw r0, #10000 ; 0x2710 809c7c0: fb00 f303 mul.w r3, r0, r3 809c7c4: 1ad3 subs r3, r2, r3 809c7c6: 4a97 ldr r2, [pc, #604] ; (809ca24 ) 809c7c8: fba2 0203 umull r0, r2, r2, r3 809c7cc: 0992 lsrs r2, r2, #6 809c7ce: f44f 707a mov.w r0, #1000 ; 0x3e8 809c7d2: fb00 f202 mul.w r2, r0, r2 809c7d6: 1a9a subs r2, r3, r2 809c7d8: 4b93 ldr r3, [pc, #588] ; (809ca28 ) 809c7da: fba3 2302 umull r2, r3, r3, r2 809c7de: 095b lsrs r3, r3, #5 809c7e0: b2da uxtb r2, r3 809c7e2: 460b mov r3, r1 809c7e4: 009b lsls r3, r3, #2 809c7e6: 440b add r3, r1 809c7e8: f107 0168 add.w r1, r7, #104 ; 0x68 809c7ec: 440b add r3, r1 809c7ee: 3b32 subs r3, #50 ; 0x32 809c7f0: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809c7f2: 6d39 ldr r1, [r7, #80] ; 0x50 809c7f4: 6dbb ldr r3, [r7, #88] ; 0x58 809c7f6: 4a8a ldr r2, [pc, #552] ; (809ca20 ) 809c7f8: fba2 0203 umull r0, r2, r2, r3 809c7fc: 0b52 lsrs r2, r2, #13 809c7fe: f242 7010 movw r0, #10000 ; 0x2710 809c802: fb00 f202 mul.w r2, r0, r2 809c806: 1a9a subs r2, r3, r2 809c808: 4b86 ldr r3, [pc, #536] ; (809ca24 ) 809c80a: fba3 0302 umull r0, r3, r3, r2 809c80e: 099b lsrs r3, r3, #6 809c810: f44f 707a mov.w r0, #1000 ; 0x3e8 809c814: fb00 f303 mul.w r3, r0, r3 809c818: 1ad3 subs r3, r2, r3 809c81a: 4a83 ldr r2, [pc, #524] ; (809ca28 ) 809c81c: fba2 0203 umull r0, r2, r2, r3 809c820: 0952 lsrs r2, r2, #5 809c822: 2064 movs r0, #100 ; 0x64 809c824: fb00 f202 mul.w r2, r0, r2 809c828: 1a9a subs r2, r3, r2 809c82a: 4b80 ldr r3, [pc, #512] ; (809ca2c ) 809c82c: fba3 2302 umull r2, r3, r3, r2 809c830: 08db lsrs r3, r3, #3 809c832: b2da uxtb r2, r3 809c834: 460b mov r3, r1 809c836: 009b lsls r3, r3, #2 809c838: 440b add r3, r1 809c83a: f107 0168 add.w r1, r7, #104 ; 0x68 809c83e: 440b add r3, r1 809c840: 3b31 subs r3, #49 ; 0x31 809c842: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809c844: 6d38 ldr r0, [r7, #80] ; 0x50 809c846: 6dbb ldr r3, [r7, #88] ; 0x58 809c848: 4a75 ldr r2, [pc, #468] ; (809ca20 ) 809c84a: fba2 1203 umull r1, r2, r2, r3 809c84e: 0b52 lsrs r2, r2, #13 809c850: f242 7110 movw r1, #10000 ; 0x2710 809c854: fb01 f202 mul.w r2, r1, r2 809c858: 1a9a subs r2, r3, r2 809c85a: 4b72 ldr r3, [pc, #456] ; (809ca24 ) 809c85c: fba3 1302 umull r1, r3, r3, r2 809c860: 099b lsrs r3, r3, #6 809c862: f44f 717a mov.w r1, #1000 ; 0x3e8 809c866: fb01 f303 mul.w r3, r1, r3 809c86a: 1ad3 subs r3, r2, r3 809c86c: 4a6e ldr r2, [pc, #440] ; (809ca28 ) 809c86e: fba2 1203 umull r1, r2, r2, r3 809c872: 0952 lsrs r2, r2, #5 809c874: 2164 movs r1, #100 ; 0x64 809c876: fb01 f202 mul.w r2, r1, r2 809c87a: 1a9a subs r2, r3, r2 809c87c: 4b6b ldr r3, [pc, #428] ; (809ca2c ) 809c87e: fba3 1302 umull r1, r3, r3, r2 809c882: 08d9 lsrs r1, r3, #3 809c884: 460b mov r3, r1 809c886: 009b lsls r3, r3, #2 809c888: 440b add r3, r1 809c88a: 005b lsls r3, r3, #1 809c88c: 1ad1 subs r1, r2, r3 809c88e: b2ca uxtb r2, r1 809c890: 4603 mov r3, r0 809c892: 009b lsls r3, r3, #2 809c894: 4403 add r3, r0 809c896: f107 0168 add.w r1, r7, #104 ; 0x68 809c89a: 440b add r3, r1 809c89c: 3b30 subs r3, #48 ; 0x30 809c89e: 701a strb r2, [r3, #0] if(ipr == ACC) 809c8a0: 6d3b ldr r3, [r7, #80] ; 0x50 809c8a2: 2b00 cmp r3, #0 809c8a4: f040 80d0 bne.w 809ca48 if(!t) 809c8a8: 6d7b ldr r3, [r7, #84] ; 0x54 809c8aa: 2b00 cmp r3, #0 809c8ac: d126 bne.n 809c8fc for(i = 0; i < 5; i++) 809c8ae: 2300 movs r3, #0 809c8b0: 65fb str r3, [r7, #92] ; 0x5c 809c8b2: e01f b.n 809c8f4 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809c8b4: 6d3a ldr r2, [r7, #80] ; 0x50 809c8b6: 6df9 ldr r1, [r7, #92] ; 0x5c 809c8b8: 4613 mov r3, r2 809c8ba: 009b lsls r3, r3, #2 809c8bc: 4413 add r3, r2 809c8be: f107 0268 add.w r2, r7, #104 ; 0x68 809c8c2: 4413 add r3, r2 809c8c4: 440b add r3, r1 809c8c6: 3b34 subs r3, #52 ; 0x34 809c8c8: 781b ldrb r3, [r3, #0] 809c8ca: b2db uxtb r3, r3 809c8cc: 461a mov r2, r3 809c8ce: 4b58 ldr r3, [pc, #352] ; (809ca30 ) 809c8d0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c8d4: 6dfb ldr r3, [r7, #92] ; 0x5c 809c8d6: b29b uxth r3, r3 809c8d8: 461a mov r2, r3 809c8da: 0112 lsls r2, r2, #4 809c8dc: 1ad3 subs r3, r2, r3 809c8de: 005b lsls r3, r3, #1 809c8e0: b29b uxth r3, r3 809c8e2: 335a adds r3, #90 ; 0x5a 809c8e4: b29b uxth r3, r3 809c8e6: 2256 movs r2, #86 ; 0x56 809c8e8: 4619 mov r1, r3 809c8ea: f7b7 fe6f bl 80545cc for(i = 0; i < 5; i++) 809c8ee: 6dfb ldr r3, [r7, #92] ; 0x5c 809c8f0: 3301 adds r3, #1 809c8f2: 65fb str r3, [r7, #92] ; 0x5c 809c8f4: 6dfb ldr r3, [r7, #92] ; 0x5c 809c8f6: 2b04 cmp r3, #4 809c8f8: d9dc bls.n 809c8b4 809c8fa: e05a b.n 809c9b2 for(i = 0; i < t; i++) 809c8fc: 2300 movs r3, #0 809c8fe: 65fb str r3, [r7, #92] ; 0x5c 809c900: e01f b.n 809c942 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809c902: 6d3a ldr r2, [r7, #80] ; 0x50 809c904: 6df9 ldr r1, [r7, #92] ; 0x5c 809c906: 4613 mov r3, r2 809c908: 009b lsls r3, r3, #2 809c90a: 4413 add r3, r2 809c90c: f107 0268 add.w r2, r7, #104 ; 0x68 809c910: 4413 add r3, r2 809c912: 440b add r3, r1 809c914: 3b34 subs r3, #52 ; 0x34 809c916: 781b ldrb r3, [r3, #0] 809c918: b2db uxtb r3, r3 809c91a: 461a mov r2, r3 809c91c: 4b44 ldr r3, [pc, #272] ; (809ca30 ) 809c91e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c922: 6dfb ldr r3, [r7, #92] ; 0x5c 809c924: b29b uxth r3, r3 809c926: 461a mov r2, r3 809c928: 0112 lsls r2, r2, #4 809c92a: 1ad3 subs r3, r2, r3 809c92c: 005b lsls r3, r3, #1 809c92e: b29b uxth r3, r3 809c930: 335a adds r3, #90 ; 0x5a 809c932: b29b uxth r3, r3 809c934: 2256 movs r2, #86 ; 0x56 809c936: 4619 mov r1, r3 809c938: f7b7 fe48 bl 80545cc for(i = 0; i < t; i++) 809c93c: 6dfb ldr r3, [r7, #92] ; 0x5c 809c93e: 3301 adds r3, #1 809c940: 65fb str r3, [r7, #92] ; 0x5c 809c942: 6dfa ldr r2, [r7, #92] ; 0x5c 809c944: 6d7b ldr r3, [r7, #84] ; 0x54 809c946: 429a cmp r2, r3 809c948: d3db bcc.n 809c902 DrawImage(&bmgpt, 95 + 30*t, 92+18); 809c94a: 6d7b ldr r3, [r7, #84] ; 0x54 809c94c: b29b uxth r3, r3 809c94e: 461a mov r2, r3 809c950: 0112 lsls r2, r2, #4 809c952: 1ad3 subs r3, r2, r3 809c954: 005b lsls r3, r3, #1 809c956: b29b uxth r3, r3 809c958: 335f adds r3, #95 ; 0x5f 809c95a: b29b uxth r3, r3 809c95c: 226e movs r2, #110 ; 0x6e 809c95e: 4619 mov r1, r3 809c960: 4834 ldr r0, [pc, #208] ; (809ca34 ) 809c962: f7b7 fe33 bl 80545cc for(i = t; i < 5; i++) 809c966: 6d7b ldr r3, [r7, #84] ; 0x54 809c968: 65fb str r3, [r7, #92] ; 0x5c 809c96a: e01f b.n 809c9ac DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809c96c: 6d3a ldr r2, [r7, #80] ; 0x50 809c96e: 6df9 ldr r1, [r7, #92] ; 0x5c 809c970: 4613 mov r3, r2 809c972: 009b lsls r3, r3, #2 809c974: 4413 add r3, r2 809c976: f107 0268 add.w r2, r7, #104 ; 0x68 809c97a: 4413 add r3, r2 809c97c: 440b add r3, r1 809c97e: 3b34 subs r3, #52 ; 0x34 809c980: 781b ldrb r3, [r3, #0] 809c982: b2db uxtb r3, r3 809c984: 461a mov r2, r3 809c986: 4b2a ldr r3, [pc, #168] ; (809ca30 ) 809c988: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809c98c: 6dfb ldr r3, [r7, #92] ; 0x5c 809c98e: b29b uxth r3, r3 809c990: 461a mov r2, r3 809c992: 0112 lsls r2, r2, #4 809c994: 1ad3 subs r3, r2, r3 809c996: 005b lsls r3, r3, #1 809c998: b29b uxth r3, r3 809c99a: 336e adds r3, #110 ; 0x6e 809c99c: b29b uxth r3, r3 809c99e: 2256 movs r2, #86 ; 0x56 809c9a0: 4619 mov r1, r3 809c9a2: f7b7 fe13 bl 80545cc for(i = t; i < 5; i++) 809c9a6: 6dfb ldr r3, [r7, #92] ; 0x5c 809c9a8: 3301 adds r3, #1 809c9aa: 65fb str r3, [r7, #92] ; 0x5c 809c9ac: 6dfb ldr r3, [r7, #92] ; 0x5c 809c9ae: 2b04 cmp r3, #4 809c9b0: d9dc bls.n 809c96c if((ReadFileData.Aivs != 'E') && (ReadFileData.Aivs != 'F')) 809c9b2: 4b21 ldr r3, [pc, #132] ; (809ca38 ) 809c9b4: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809c9b8: b2db uxtb r3, r3 809c9ba: 2b45 cmp r3, #69 ; 0x45 809c9bc: d012 beq.n 809c9e4 809c9be: 4b1e ldr r3, [pc, #120] ; (809ca38 ) 809c9c0: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809c9c4: b2db uxtb r3, r3 809c9c6: 2b46 cmp r3, #70 ; 0x46 809c9c8: d00c beq.n 809c9e4 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809c9ca: 4b1c ldr r3, [pc, #112] ; (809ca3c ) 809c9cc: 7b1b ldrb r3, [r3, #12] 809c9ce: b2db uxtb r3, r3 809c9d0: 461a mov r2, r3 809c9d2: 4b1b ldr r3, [pc, #108] ; (809ca40 ) 809c9d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809c9d8: 225c movs r2, #92 ; 0x5c 809c9da: f240 1109 movw r1, #265 ; 0x109 809c9de: 4618 mov r0, r3 809c9e0: f7b7 fdf4 bl 80545cc if(ReadFileData.Aivs == 'E') 809c9e4: 4b14 ldr r3, [pc, #80] ; (809ca38 ) 809c9e6: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809c9ea: b2db uxtb r3, r3 809c9ec: 2b45 cmp r3, #69 ; 0x45 809c9ee: f040 861d bne.w 809d62c if(ReadFileData.Aval.fl < 0.0f) { 809c9f2: 4b11 ldr r3, [pc, #68] ; (809ca38 ) 809c9f4: edd3 7a00 vldr s15, [r3] 809c9f8: eef5 7ac0 vcmpe.f32 s15, #0.0 809c9fc: eef1 fa10 vmrs APSR_nzcv, fpscr 809ca00: d401 bmi.n 809ca06 if(ipr == ACC) 809ca02: f000 be13 b.w 809d62c DrawImage(&bmgminus, 78, 84+18); 809ca06: 2266 movs r2, #102 ; 0x66 809ca08: 214e movs r1, #78 ; 0x4e 809ca0a: 480e ldr r0, [pc, #56] ; (809ca44 ) 809ca0c: f7b7 fdde bl 80545cc if(ipr == ACC) 809ca10: f000 be0c b.w 809d62c 809ca14: 0001869f .word 0x0001869f 809ca18: 4cbebc20 .word 0x4cbebc20 809ca1c: 47c34f80 .word 0x47c34f80 809ca20: d1b71759 .word 0xd1b71759 809ca24: 10624dd3 .word 0x10624dd3 809ca28: 51eb851f .word 0x51eb851f 809ca2c: cccccccd .word 0xcccccccd 809ca30: 20020124 .word 0x20020124 809ca34: 08167a54 .word 0x08167a54 809ca38: 200226a0 .word 0x200226a0 809ca3c: 20023e60 .word 0x20023e60 809ca40: 200200f4 .word 0x200200f4 809ca44: 081679c8 .word 0x081679c8 if(ipr == VEL) 809ca48: 6d3b ldr r3, [r7, #80] ; 0x50 809ca4a: 2b01 cmp r3, #1 809ca4c: f040 80d8 bne.w 809cc00 if(ReadFileData.Vval.fl != -1.0f) 809ca50: 4ba4 ldr r3, [pc, #656] ; (809cce4 ) 809ca52: edd3 7a01 vldr s15, [r3, #4] 809ca56: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809ca5a: eef4 7a47 vcmp.f32 s15, s14 809ca5e: eef1 fa10 vmrs APSR_nzcv, fpscr 809ca62: f000 80b6 beq.w 809cbd2 if(!t) 809ca66: 6d7b ldr r3, [r7, #84] ; 0x54 809ca68: 2b00 cmp r3, #0 809ca6a: d126 bne.n 809caba for(i = 0; i < 5; i++) 809ca6c: 2300 movs r3, #0 809ca6e: 65fb str r3, [r7, #92] ; 0x5c 809ca70: e01f b.n 809cab2 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809ca72: 6d3a ldr r2, [r7, #80] ; 0x50 809ca74: 6df9 ldr r1, [r7, #92] ; 0x5c 809ca76: 4613 mov r3, r2 809ca78: 009b lsls r3, r3, #2 809ca7a: 4413 add r3, r2 809ca7c: f107 0268 add.w r2, r7, #104 ; 0x68 809ca80: 4413 add r3, r2 809ca82: 440b add r3, r1 809ca84: 3b34 subs r3, #52 ; 0x34 809ca86: 781b ldrb r3, [r3, #0] 809ca88: b2db uxtb r3, r3 809ca8a: 461a mov r2, r3 809ca8c: 4b96 ldr r3, [pc, #600] ; (809cce8 ) 809ca8e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ca92: 6dfb ldr r3, [r7, #92] ; 0x5c 809ca94: b29b uxth r3, r3 809ca96: 461a mov r2, r3 809ca98: 0112 lsls r2, r2, #4 809ca9a: 1ad3 subs r3, r2, r3 809ca9c: 005b lsls r3, r3, #1 809ca9e: b29b uxth r3, r3 809caa0: 335a adds r3, #90 ; 0x5a 809caa2: b29b uxth r3, r3 809caa4: 2282 movs r2, #130 ; 0x82 809caa6: 4619 mov r1, r3 809caa8: f7b7 fd90 bl 80545cc for(i = 0; i < 5; i++) 809caac: 6dfb ldr r3, [r7, #92] ; 0x5c 809caae: 3301 adds r3, #1 809cab0: 65fb str r3, [r7, #92] ; 0x5c 809cab2: 6dfb ldr r3, [r7, #92] ; 0x5c 809cab4: 2b04 cmp r3, #4 809cab6: d9dc bls.n 809ca72 809cab8: e05a b.n 809cb70 for(i = 0; i < t; i++) 809caba: 2300 movs r3, #0 809cabc: 65fb str r3, [r7, #92] ; 0x5c 809cabe: e01f b.n 809cb00 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809cac0: 6d3a ldr r2, [r7, #80] ; 0x50 809cac2: 6df9 ldr r1, [r7, #92] ; 0x5c 809cac4: 4613 mov r3, r2 809cac6: 009b lsls r3, r3, #2 809cac8: 4413 add r3, r2 809caca: f107 0268 add.w r2, r7, #104 ; 0x68 809cace: 4413 add r3, r2 809cad0: 440b add r3, r1 809cad2: 3b34 subs r3, #52 ; 0x34 809cad4: 781b ldrb r3, [r3, #0] 809cad6: b2db uxtb r3, r3 809cad8: 461a mov r2, r3 809cada: 4b83 ldr r3, [pc, #524] ; (809cce8 ) 809cadc: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809cae0: 6dfb ldr r3, [r7, #92] ; 0x5c 809cae2: b29b uxth r3, r3 809cae4: 461a mov r2, r3 809cae6: 0112 lsls r2, r2, #4 809cae8: 1ad3 subs r3, r2, r3 809caea: 005b lsls r3, r3, #1 809caec: b29b uxth r3, r3 809caee: 335a adds r3, #90 ; 0x5a 809caf0: b29b uxth r3, r3 809caf2: 2282 movs r2, #130 ; 0x82 809caf4: 4619 mov r1, r3 809caf6: f7b7 fd69 bl 80545cc for(i = 0; i < t; i++) 809cafa: 6dfb ldr r3, [r7, #92] ; 0x5c 809cafc: 3301 adds r3, #1 809cafe: 65fb str r3, [r7, #92] ; 0x5c 809cb00: 6dfa ldr r2, [r7, #92] ; 0x5c 809cb02: 6d7b ldr r3, [r7, #84] ; 0x54 809cb04: 429a cmp r2, r3 809cb06: d3db bcc.n 809cac0 DrawImage(&bmgpt, 95 + 30*t, 145+9); 809cb08: 6d7b ldr r3, [r7, #84] ; 0x54 809cb0a: b29b uxth r3, r3 809cb0c: 461a mov r2, r3 809cb0e: 0112 lsls r2, r2, #4 809cb10: 1ad3 subs r3, r2, r3 809cb12: 005b lsls r3, r3, #1 809cb14: b29b uxth r3, r3 809cb16: 335f adds r3, #95 ; 0x5f 809cb18: b29b uxth r3, r3 809cb1a: 229a movs r2, #154 ; 0x9a 809cb1c: 4619 mov r1, r3 809cb1e: 4873 ldr r0, [pc, #460] ; (809ccec ) 809cb20: f7b7 fd54 bl 80545cc for(i = t; i < 5; i++) 809cb24: 6d7b ldr r3, [r7, #84] ; 0x54 809cb26: 65fb str r3, [r7, #92] ; 0x5c 809cb28: e01f b.n 809cb6a DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809cb2a: 6d3a ldr r2, [r7, #80] ; 0x50 809cb2c: 6df9 ldr r1, [r7, #92] ; 0x5c 809cb2e: 4613 mov r3, r2 809cb30: 009b lsls r3, r3, #2 809cb32: 4413 add r3, r2 809cb34: f107 0268 add.w r2, r7, #104 ; 0x68 809cb38: 4413 add r3, r2 809cb3a: 440b add r3, r1 809cb3c: 3b34 subs r3, #52 ; 0x34 809cb3e: 781b ldrb r3, [r3, #0] 809cb40: b2db uxtb r3, r3 809cb42: 461a mov r2, r3 809cb44: 4b68 ldr r3, [pc, #416] ; (809cce8 ) 809cb46: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809cb4a: 6dfb ldr r3, [r7, #92] ; 0x5c 809cb4c: b29b uxth r3, r3 809cb4e: 461a mov r2, r3 809cb50: 0112 lsls r2, r2, #4 809cb52: 1ad3 subs r3, r2, r3 809cb54: 005b lsls r3, r3, #1 809cb56: b29b uxth r3, r3 809cb58: 336e adds r3, #110 ; 0x6e 809cb5a: b29b uxth r3, r3 809cb5c: 2282 movs r2, #130 ; 0x82 809cb5e: 4619 mov r1, r3 809cb60: f7b7 fd34 bl 80545cc for(i = t; i < 5; i++) 809cb64: 6dfb ldr r3, [r7, #92] ; 0x5c 809cb66: 3301 adds r3, #1 809cb68: 65fb str r3, [r7, #92] ; 0x5c 809cb6a: 6dfb ldr r3, [r7, #92] ; 0x5c 809cb6c: 2b04 cmp r3, #4 809cb6e: d9dc bls.n 809cb2a if((ReadFileData.Vivs != 'E') && (ReadFileData.Vivs != 'F')) 809cb70: 4b5c ldr r3, [pc, #368] ; (809cce4 ) 809cb72: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809cb76: b2db uxtb r3, r3 809cb78: 2b45 cmp r3, #69 ; 0x45 809cb7a: d012 beq.n 809cba2 809cb7c: 4b59 ldr r3, [pc, #356] ; (809cce4 ) 809cb7e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809cb82: b2db uxtb r3, r3 809cb84: 2b46 cmp r3, #70 ; 0x46 809cb86: d00c beq.n 809cba2 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809cb88: 4b59 ldr r3, [pc, #356] ; (809ccf0 ) 809cb8a: 7b1b ldrb r3, [r3, #12] 809cb8c: b2db uxtb r3, r3 809cb8e: 461a mov r2, r3 809cb90: 4b58 ldr r3, [pc, #352] ; (809ccf4 ) 809cb92: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cb96: 2289 movs r2, #137 ; 0x89 809cb98: f240 1109 movw r1, #265 ; 0x109 809cb9c: 4618 mov r0, r3 809cb9e: f7b7 fd15 bl 80545cc if(ReadFileData.Vivs == 'E') 809cba2: 4b50 ldr r3, [pc, #320] ; (809cce4 ) 809cba4: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809cba8: b2db uxtb r3, r3 809cbaa: 2b45 cmp r3, #69 ; 0x45 809cbac: f040 853e bne.w 809d62c if(ReadFileData.Vval.fl < 0.0f) { 809cbb0: 4b4c ldr r3, [pc, #304] ; (809cce4 ) 809cbb2: edd3 7a01 vldr s15, [r3, #4] 809cbb6: eef5 7ac0 vcmpe.f32 s15, #0.0 809cbba: eef1 fa10 vmrs APSR_nzcv, fpscr 809cbbe: d401 bmi.n 809cbc4 if(ipr == ACC) 809cbc0: f000 bd34 b.w 809d62c DrawImage(&bmgminus, 78, 138+9); 809cbc4: 2293 movs r2, #147 ; 0x93 809cbc6: 214e movs r1, #78 ; 0x4e 809cbc8: 484b ldr r0, [pc, #300] ; (809ccf8 ) 809cbca: f7b7 fcff bl 80545cc if(ipr == ACC) 809cbce: f000 bd2d b.w 809d62c LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809cbd2: 494a ldr r1, [pc, #296] ; (809ccfc ) 809cbd4: 484a ldr r0, [pc, #296] ; (809cd00 ) 809cbd6: f7b6 fe05 bl 80537e4 if(pardata.LANG == RUS) 809cbda: 4b45 ldr r3, [pc, #276] ; (809ccf0 ) 809cbdc: 7b1b ldrb r3, [r3, #12] 809cbde: b2db uxtb r3, r3 809cbe0: 2b00 cmp r3, #0 809cbe2: d106 bne.n 809cbf2 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809cbe4: 4a47 ldr r2, [pc, #284] ; (809cd04 ) 809cbe6: 2187 movs r1, #135 ; 0x87 809cbe8: 20a7 movs r0, #167 ; 0xa7 809cbea: f7b7 fbbb bl 8054364 if(ipr == ACC) 809cbee: f000 bd1d b.w 809d62c else LCD_DisplayStringC(167, 135, "NO DATA"); 809cbf2: 4a45 ldr r2, [pc, #276] ; (809cd08 ) 809cbf4: 2187 movs r1, #135 ; 0x87 809cbf6: 20a7 movs r0, #167 ; 0xa7 809cbf8: f7b7 fbb4 bl 8054364 if(ipr == ACC) 809cbfc: f000 bd16 b.w 809d62c if(ipr == DIS) 809cc00: 6d3b ldr r3, [r7, #80] ; 0x50 809cc02: 2b02 cmp r3, #2 809cc04: f040 8512 bne.w 809d62c if(ReadFileData.Sval.fl != -1.0f) 809cc08: 4b36 ldr r3, [pc, #216] ; (809cce4 ) 809cc0a: edd3 7a02 vldr s15, [r3, #8] 809cc0e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809cc12: eef4 7a47 vcmp.f32 s15, s14 809cc16: eef1 fa10 vmrs APSR_nzcv, fpscr 809cc1a: f000 80dc beq.w 809cdd6 if(!t) 809cc1e: 6d7b ldr r3, [r7, #84] ; 0x54 809cc20: 2b00 cmp r3, #0 809cc22: d126 bne.n 809cc72 for(i = 0; i < 5; i++) 809cc24: 2300 movs r3, #0 809cc26: 65fb str r3, [r7, #92] ; 0x5c 809cc28: e01f b.n 809cc6a DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809cc2a: 6d3a ldr r2, [r7, #80] ; 0x50 809cc2c: 6df9 ldr r1, [r7, #92] ; 0x5c 809cc2e: 4613 mov r3, r2 809cc30: 009b lsls r3, r3, #2 809cc32: 4413 add r3, r2 809cc34: f107 0268 add.w r2, r7, #104 ; 0x68 809cc38: 4413 add r3, r2 809cc3a: 440b add r3, r1 809cc3c: 3b34 subs r3, #52 ; 0x34 809cc3e: 781b ldrb r3, [r3, #0] 809cc40: b2db uxtb r3, r3 809cc42: 461a mov r2, r3 809cc44: 4b28 ldr r3, [pc, #160] ; (809cce8 ) 809cc46: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809cc4a: 6dfb ldr r3, [r7, #92] ; 0x5c 809cc4c: b29b uxth r3, r3 809cc4e: 461a mov r2, r3 809cc50: 0112 lsls r2, r2, #4 809cc52: 1ad3 subs r3, r2, r3 809cc54: 005b lsls r3, r3, #1 809cc56: b29b uxth r3, r3 809cc58: 335a adds r3, #90 ; 0x5a 809cc5a: b29b uxth r3, r3 809cc5c: 22ae movs r2, #174 ; 0xae 809cc5e: 4619 mov r1, r3 809cc60: f7b7 fcb4 bl 80545cc for(i = 0; i < 5; i++) 809cc64: 6dfb ldr r3, [r7, #92] ; 0x5c 809cc66: 3301 adds r3, #1 809cc68: 65fb str r3, [r7, #92] ; 0x5c 809cc6a: 6dfb ldr r3, [r7, #92] ; 0x5c 809cc6c: 2b04 cmp r3, #4 809cc6e: d9dc bls.n 809cc2a 809cc70: e06f b.n 809cd52 for(i = 0; i < t; i++) 809cc72: 2300 movs r3, #0 809cc74: 65fb str r3, [r7, #92] ; 0x5c 809cc76: e01f b.n 809ccb8 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809cc78: 6d3a ldr r2, [r7, #80] ; 0x50 809cc7a: 6df9 ldr r1, [r7, #92] ; 0x5c 809cc7c: 4613 mov r3, r2 809cc7e: 009b lsls r3, r3, #2 809cc80: 4413 add r3, r2 809cc82: f107 0268 add.w r2, r7, #104 ; 0x68 809cc86: 4413 add r3, r2 809cc88: 440b add r3, r1 809cc8a: 3b34 subs r3, #52 ; 0x34 809cc8c: 781b ldrb r3, [r3, #0] 809cc8e: b2db uxtb r3, r3 809cc90: 461a mov r2, r3 809cc92: 4b15 ldr r3, [pc, #84] ; (809cce8 ) 809cc94: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809cc98: 6dfb ldr r3, [r7, #92] ; 0x5c 809cc9a: b29b uxth r3, r3 809cc9c: 461a mov r2, r3 809cc9e: 0112 lsls r2, r2, #4 809cca0: 1ad3 subs r3, r2, r3 809cca2: 005b lsls r3, r3, #1 809cca4: b29b uxth r3, r3 809cca6: 335a adds r3, #90 ; 0x5a 809cca8: b29b uxth r3, r3 809ccaa: 22ae movs r2, #174 ; 0xae 809ccac: 4619 mov r1, r3 809ccae: f7b7 fc8d bl 80545cc for(i = 0; i < t; i++) 809ccb2: 6dfb ldr r3, [r7, #92] ; 0x5c 809ccb4: 3301 adds r3, #1 809ccb6: 65fb str r3, [r7, #92] ; 0x5c 809ccb8: 6dfa ldr r2, [r7, #92] ; 0x5c 809ccba: 6d7b ldr r3, [r7, #84] ; 0x54 809ccbc: 429a cmp r2, r3 809ccbe: d3db bcc.n 809cc78 DrawImage(&bmgpt, 95 + 30*t, 198); 809ccc0: 6d7b ldr r3, [r7, #84] ; 0x54 809ccc2: b29b uxth r3, r3 809ccc4: 461a mov r2, r3 809ccc6: 0112 lsls r2, r2, #4 809ccc8: 1ad3 subs r3, r2, r3 809ccca: 005b lsls r3, r3, #1 809cccc: b29b uxth r3, r3 809ccce: 335f adds r3, #95 ; 0x5f 809ccd0: b29b uxth r3, r3 809ccd2: 22c6 movs r2, #198 ; 0xc6 809ccd4: 4619 mov r1, r3 809ccd6: 4805 ldr r0, [pc, #20] ; (809ccec ) 809ccd8: f7b7 fc78 bl 80545cc for(i = t; i < 5; i++) 809ccdc: 6d7b ldr r3, [r7, #84] ; 0x54 809ccde: 65fb str r3, [r7, #92] ; 0x5c 809cce0: e034 b.n 809cd4c 809cce2: bf00 nop 809cce4: 200226a0 .word 0x200226a0 809cce8: 20020124 .word 0x20020124 809ccec: 08167a54 .word 0x08167a54 809ccf0: 20023e60 .word 0x20023e60 809ccf4: 200200fc .word 0x200200fc 809ccf8: 081679c8 .word 0x081679c8 809ccfc: ff0a0f1f .word 0xff0a0f1f 809cd00: ffb8e828 .word 0xffb8e828 809cd04: 080cfb2c .word 0x080cfb2c 809cd08: 080cfb38 .word 0x080cfb38 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809cd0c: 6d3a ldr r2, [r7, #80] ; 0x50 809cd0e: 6df9 ldr r1, [r7, #92] ; 0x5c 809cd10: 4613 mov r3, r2 809cd12: 009b lsls r3, r3, #2 809cd14: 4413 add r3, r2 809cd16: f107 0268 add.w r2, r7, #104 ; 0x68 809cd1a: 4413 add r3, r2 809cd1c: 440b add r3, r1 809cd1e: 3b34 subs r3, #52 ; 0x34 809cd20: 781b ldrb r3, [r3, #0] 809cd22: b2db uxtb r3, r3 809cd24: 461a mov r2, r3 809cd26: 4bb2 ldr r3, [pc, #712] ; (809cff0 ) 809cd28: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809cd2c: 6dfb ldr r3, [r7, #92] ; 0x5c 809cd2e: b29b uxth r3, r3 809cd30: 461a mov r2, r3 809cd32: 0112 lsls r2, r2, #4 809cd34: 1ad3 subs r3, r2, r3 809cd36: 005b lsls r3, r3, #1 809cd38: b29b uxth r3, r3 809cd3a: 336e adds r3, #110 ; 0x6e 809cd3c: b29b uxth r3, r3 809cd3e: 22ae movs r2, #174 ; 0xae 809cd40: 4619 mov r1, r3 809cd42: f7b7 fc43 bl 80545cc for(i = t; i < 5; i++) 809cd46: 6dfb ldr r3, [r7, #92] ; 0x5c 809cd48: 3301 adds r3, #1 809cd4a: 65fb str r3, [r7, #92] ; 0x5c 809cd4c: 6dfb ldr r3, [r7, #92] ; 0x5c 809cd4e: 2b04 cmp r3, #4 809cd50: d9dc bls.n 809cd0c if((ReadFileData.Sivs != 'E') && (ReadFileData.Sivs != 'F')) 809cd52: 4ba8 ldr r3, [pc, #672] ; (809cff4 ) 809cd54: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809cd58: b2db uxtb r3, r3 809cd5a: 2b45 cmp r3, #69 ; 0x45 809cd5c: d023 beq.n 809cda6 809cd5e: 4ba5 ldr r3, [pc, #660] ; (809cff4 ) 809cd60: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809cd64: b2db uxtb r3, r3 809cd66: 2b46 cmp r3, #70 ; 0x46 809cd68: d01d beq.n 809cda6 if(m == 0) 809cd6a: 6cfb ldr r3, [r7, #76] ; 0x4c 809cd6c: 2b00 cmp r3, #0 809cd6e: d10d bne.n 809cd8c DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809cd70: 4ba1 ldr r3, [pc, #644] ; (809cff8 ) 809cd72: 7b1b ldrb r3, [r3, #12] 809cd74: b2db uxtb r3, r3 809cd76: 461a mov r2, r3 809cd78: 4ba0 ldr r3, [pc, #640] ; (809cffc ) 809cd7a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cd7e: 22b4 movs r2, #180 ; 0xb4 809cd80: f240 1109 movw r1, #265 ; 0x109 809cd84: 4618 mov r0, r3 809cd86: f7b7 fc21 bl 80545cc 809cd8a: e00c b.n 809cda6 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809cd8c: 4b9a ldr r3, [pc, #616] ; (809cff8 ) 809cd8e: 7b1b ldrb r3, [r3, #12] 809cd90: b2db uxtb r3, r3 809cd92: 461a mov r2, r3 809cd94: 4b9a ldr r3, [pc, #616] ; (809d000 ) 809cd96: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cd9a: 22b4 movs r2, #180 ; 0xb4 809cd9c: f240 1109 movw r1, #265 ; 0x109 809cda0: 4618 mov r0, r3 809cda2: f7b7 fc13 bl 80545cc if(ReadFileData.Sivs == 'E') 809cda6: 4b93 ldr r3, [pc, #588] ; (809cff4 ) 809cda8: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809cdac: b2db uxtb r3, r3 809cdae: 2b45 cmp r3, #69 ; 0x45 809cdb0: f040 843c bne.w 809d62c if(ReadFileData.Sval.fl < 0.0f) { 809cdb4: 4b8f ldr r3, [pc, #572] ; (809cff4 ) 809cdb6: edd3 7a02 vldr s15, [r3, #8] 809cdba: eef5 7ac0 vcmpe.f32 s15, #0.0 809cdbe: eef1 fa10 vmrs APSR_nzcv, fpscr 809cdc2: d401 bmi.n 809cdc8 if(ipr == ACC) 809cdc4: f000 bc32 b.w 809d62c DrawImage(&bmgminus, 78, 190); 809cdc8: 22be movs r2, #190 ; 0xbe 809cdca: 214e movs r1, #78 ; 0x4e 809cdcc: 488d ldr r0, [pc, #564] ; (809d004 ) 809cdce: f7b7 fbfd bl 80545cc if(ipr == ACC) 809cdd2: f000 bc2b b.w 809d62c LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809cdd6: 498c ldr r1, [pc, #560] ; (809d008 ) 809cdd8: 488c ldr r0, [pc, #560] ; (809d00c ) 809cdda: f7b6 fd03 bl 80537e4 if(pardata.LANG == RUS) 809cdde: 4b86 ldr r3, [pc, #536] ; (809cff8 ) 809cde0: 7b1b ldrb r3, [r3, #12] 809cde2: b2db uxtb r3, r3 809cde4: 2b00 cmp r3, #0 809cde6: d106 bne.n 809cdf6 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809cde8: 4a89 ldr r2, [pc, #548] ; (809d010 ) 809cdea: 21b9 movs r1, #185 ; 0xb9 809cdec: 20a7 movs r0, #167 ; 0xa7 809cdee: f7b7 fab9 bl 8054364 if(ipr == ACC) 809cdf2: f000 bc1b b.w 809d62c else LCD_DisplayStringC(167, 185, "NO DATA"); 809cdf6: 4a87 ldr r2, [pc, #540] ; (809d014 ) 809cdf8: 21b9 movs r1, #185 ; 0xb9 809cdfa: 20a7 movs r0, #167 ; 0xa7 809cdfc: f7b7 fab2 bl 8054364 if(ipr == ACC) 809ce00: f000 bc14 b.w 809d62c if(f != -1.0f) 809ce04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ce08: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809ce0c: eef4 7a47 vcmp.f32 s15, s14 809ce10: eef1 fa10 vmrs APSR_nzcv, fpscr 809ce14: f000 83c3 beq.w 809d59e LinToLog(&f, &f); 809ce18: f107 0244 add.w r2, r7, #68 ; 0x44 809ce1c: f107 0344 add.w r3, r7, #68 ; 0x44 809ce20: 4611 mov r1, r2 809ce22: 4618 mov r0, r3 809ce24: f7c8 f85c bl 8064ee0 k = (uint32_t) (roundf(f * 10 + 0.5f)); 809ce28: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ce2c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ce30: ee67 7a87 vmul.f32 s15, s15, s14 809ce34: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 809ce38: ee77 7a87 vadd.f32 s15, s15, s14 809ce3c: eeb0 0a67 vmov.f32 s0, s15 809ce40: f02d ff20 bl 80cac84 809ce44: eef0 7a40 vmov.f32 s15, s0 809ce48: eefc 7ae7 vcvt.u32.f32 s15, s15 809ce4c: ee17 3a90 vmov r3, s15 809ce50: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 809ce52: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ce56: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ce5a: eef4 7ac7 vcmpe.f32 s15, s14 809ce5e: eef1 fa10 vmrs APSR_nzcv, fpscr 809ce62: f140 80e1 bpl.w 809d028 ik[ipr][0] = (uint8_t) (k / 10); 809ce66: 6d3a ldr r2, [r7, #80] ; 0x50 809ce68: 6dbb ldr r3, [r7, #88] ; 0x58 809ce6a: 496b ldr r1, [pc, #428] ; (809d018 ) 809ce6c: fba1 1303 umull r1, r3, r1, r3 809ce70: 08db lsrs r3, r3, #3 809ce72: b2d9 uxtb r1, r3 809ce74: 4613 mov r3, r2 809ce76: 009b lsls r3, r3, #2 809ce78: 4413 add r3, r2 809ce7a: f107 0268 add.w r2, r7, #104 ; 0x68 809ce7e: 4413 add r3, r2 809ce80: 3b34 subs r3, #52 ; 0x34 809ce82: 460a mov r2, r1 809ce84: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 809ce86: 6d38 ldr r0, [r7, #80] ; 0x50 809ce88: 6db9 ldr r1, [r7, #88] ; 0x58 809ce8a: 4b63 ldr r3, [pc, #396] ; (809d018 ) 809ce8c: fba3 2301 umull r2, r3, r3, r1 809ce90: 08da lsrs r2, r3, #3 809ce92: 4613 mov r3, r2 809ce94: 009b lsls r3, r3, #2 809ce96: 4413 add r3, r2 809ce98: 005b lsls r3, r3, #1 809ce9a: 1aca subs r2, r1, r3 809ce9c: b2d2 uxtb r2, r2 809ce9e: 4603 mov r3, r0 809cea0: 009b lsls r3, r3, #2 809cea2: 4403 add r3, r0 809cea4: f107 0168 add.w r1, r7, #104 ; 0x68 809cea8: 440b add r3, r1 809ceaa: 3b33 subs r3, #51 ; 0x33 809ceac: 701a strb r2, [r3, #0] if(ipr == ACC) 809ceae: 6d3b ldr r3, [r7, #80] ; 0x50 809ceb0: 2b00 cmp r3, #0 809ceb2: d131 bne.n 809cf18 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 809ceb4: 6d3a ldr r2, [r7, #80] ; 0x50 809ceb6: 4613 mov r3, r2 809ceb8: 009b lsls r3, r3, #2 809ceba: 4413 add r3, r2 809cebc: f107 0268 add.w r2, r7, #104 ; 0x68 809cec0: 4413 add r3, r2 809cec2: 3b33 subs r3, #51 ; 0x33 809cec4: 781b ldrb r3, [r3, #0] 809cec6: b2db uxtb r3, r3 809cec8: 461a mov r2, r3 809ceca: 4b49 ldr r3, [pc, #292] ; (809cff0 ) 809cecc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ced0: 2256 movs r2, #86 ; 0x56 809ced2: 21e6 movs r1, #230 ; 0xe6 809ced4: 4618 mov r0, r3 809ced6: f7b7 fb79 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 92+18); 809ceda: 226e movs r2, #110 ; 0x6e 809cedc: 21d7 movs r1, #215 ; 0xd7 809cede: 484f ldr r0, [pc, #316] ; (809d01c ) 809cee0: f7b7 fb74 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 809cee4: 6d3a ldr r2, [r7, #80] ; 0x50 809cee6: 4613 mov r3, r2 809cee8: 009b lsls r3, r3, #2 809ceea: 4413 add r3, r2 809ceec: f107 0268 add.w r2, r7, #104 ; 0x68 809cef0: 4413 add r3, r2 809cef2: 3b34 subs r3, #52 ; 0x34 809cef4: 781b ldrb r3, [r3, #0] 809cef6: b2db uxtb r3, r3 809cef8: 461a mov r2, r3 809cefa: 4b3d ldr r3, [pc, #244] ; (809cff0 ) 809cefc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cf00: 2256 movs r2, #86 ; 0x56 809cf02: 21b4 movs r1, #180 ; 0xb4 809cf04: 4618 mov r0, r3 809cf06: f7b7 fb61 bl 80545cc DrawImage(&bmg_dB, 265, 74+18); 809cf0a: 225c movs r2, #92 ; 0x5c 809cf0c: f240 1109 movw r1, #265 ; 0x109 809cf10: 4843 ldr r0, [pc, #268] ; (809d020 ) 809cf12: f7b7 fb5b bl 80545cc 809cf16: e38a b.n 809d62e if(ipr == VEL) 809cf18: 6d3b ldr r3, [r7, #80] ; 0x50 809cf1a: 2b01 cmp r3, #1 809cf1c: d131 bne.n 809cf82 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 809cf1e: 6d3a ldr r2, [r7, #80] ; 0x50 809cf20: 4613 mov r3, r2 809cf22: 009b lsls r3, r3, #2 809cf24: 4413 add r3, r2 809cf26: f107 0268 add.w r2, r7, #104 ; 0x68 809cf2a: 4413 add r3, r2 809cf2c: 3b33 subs r3, #51 ; 0x33 809cf2e: 781b ldrb r3, [r3, #0] 809cf30: b2db uxtb r3, r3 809cf32: 461a mov r2, r3 809cf34: 4b2e ldr r3, [pc, #184] ; (809cff0 ) 809cf36: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cf3a: 2282 movs r2, #130 ; 0x82 809cf3c: 21e6 movs r1, #230 ; 0xe6 809cf3e: 4618 mov r0, r3 809cf40: f7b7 fb44 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 145+9); 809cf44: 229a movs r2, #154 ; 0x9a 809cf46: 21d7 movs r1, #215 ; 0xd7 809cf48: 4834 ldr r0, [pc, #208] ; (809d01c ) 809cf4a: f7b7 fb3f bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 809cf4e: 6d3a ldr r2, [r7, #80] ; 0x50 809cf50: 4613 mov r3, r2 809cf52: 009b lsls r3, r3, #2 809cf54: 4413 add r3, r2 809cf56: f107 0268 add.w r2, r7, #104 ; 0x68 809cf5a: 4413 add r3, r2 809cf5c: 3b34 subs r3, #52 ; 0x34 809cf5e: 781b ldrb r3, [r3, #0] 809cf60: b2db uxtb r3, r3 809cf62: 461a mov r2, r3 809cf64: 4b22 ldr r3, [pc, #136] ; (809cff0 ) 809cf66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cf6a: 2282 movs r2, #130 ; 0x82 809cf6c: 21b4 movs r1, #180 ; 0xb4 809cf6e: 4618 mov r0, r3 809cf70: f7b7 fb2c bl 80545cc DrawImage(&bmg_dB, 265, 128+9); 809cf74: 2289 movs r2, #137 ; 0x89 809cf76: f240 1109 movw r1, #265 ; 0x109 809cf7a: 4829 ldr r0, [pc, #164] ; (809d020 ) 809cf7c: f7b7 fb26 bl 80545cc 809cf80: e355 b.n 809d62e if(ipr == DIS) 809cf82: 6d3b ldr r3, [r7, #80] ; 0x50 809cf84: 2b02 cmp r3, #2 809cf86: f040 8352 bne.w 809d62e DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 809cf8a: 6d3a ldr r2, [r7, #80] ; 0x50 809cf8c: 4613 mov r3, r2 809cf8e: 009b lsls r3, r3, #2 809cf90: 4413 add r3, r2 809cf92: f107 0268 add.w r2, r7, #104 ; 0x68 809cf96: 4413 add r3, r2 809cf98: 3b33 subs r3, #51 ; 0x33 809cf9a: 781b ldrb r3, [r3, #0] 809cf9c: b2db uxtb r3, r3 809cf9e: 461a mov r2, r3 809cfa0: 4b13 ldr r3, [pc, #76] ; (809cff0 ) 809cfa2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cfa6: 22ae movs r2, #174 ; 0xae 809cfa8: 21e6 movs r1, #230 ; 0xe6 809cfaa: 4618 mov r0, r3 809cfac: f7b7 fb0e bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 198); 809cfb0: 22c6 movs r2, #198 ; 0xc6 809cfb2: 21d7 movs r1, #215 ; 0xd7 809cfb4: 4819 ldr r0, [pc, #100] ; (809d01c ) 809cfb6: f7b7 fb09 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 809cfba: 6d3a ldr r2, [r7, #80] ; 0x50 809cfbc: 4613 mov r3, r2 809cfbe: 009b lsls r3, r3, #2 809cfc0: 4413 add r3, r2 809cfc2: f107 0268 add.w r2, r7, #104 ; 0x68 809cfc6: 4413 add r3, r2 809cfc8: 3b34 subs r3, #52 ; 0x34 809cfca: 781b ldrb r3, [r3, #0] 809cfcc: b2db uxtb r3, r3 809cfce: 461a mov r2, r3 809cfd0: 4b07 ldr r3, [pc, #28] ; (809cff0 ) 809cfd2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809cfd6: 22ae movs r2, #174 ; 0xae 809cfd8: 21b4 movs r1, #180 ; 0xb4 809cfda: 4618 mov r0, r3 809cfdc: f7b7 faf6 bl 80545cc DrawImage(&bmg_dB, 265, 180); 809cfe0: 22b4 movs r2, #180 ; 0xb4 809cfe2: f240 1109 movw r1, #265 ; 0x109 809cfe6: 480e ldr r0, [pc, #56] ; (809d020 ) 809cfe8: f7b7 faf0 bl 80545cc 809cfec: e31f b.n 809d62e 809cfee: bf00 nop 809cff0: 20020124 .word 0x20020124 809cff4: 200226a0 .word 0x200226a0 809cff8: 20023e60 .word 0x20023e60 809cffc: 20020104 .word 0x20020104 809d000: 2002010c .word 0x2002010c 809d004: 081679c8 .word 0x081679c8 809d008: ff0a0f1f .word 0xff0a0f1f 809d00c: ffb8e828 .word 0xffb8e828 809d010: 080cfb2c .word 0x080cfb2c 809d014: 080cfb38 .word 0x080cfb38 809d018: cccccccd .word 0xcccccccd 809d01c: 08167a54 .word 0x08167a54 809d020: 08162ca0 .word 0x08162ca0 809d024: 42c80000 .word 0x42c80000 if(f < 100.0f) 809d028: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d02c: ed1f 7a03 vldr s14, [pc, #-12] ; 809d024 809d030: eef4 7ac7 vcmpe.f32 s15, s14 809d034: eef1 fa10 vmrs APSR_nzcv, fpscr 809d038: f140 8128 bpl.w 809d28c ik[ipr][0] = (uint8_t) (k / 100); 809d03c: 6d3a ldr r2, [r7, #80] ; 0x50 809d03e: 6dbb ldr r3, [r7, #88] ; 0x58 809d040: 498c ldr r1, [pc, #560] ; (809d274 ) 809d042: fba1 1303 umull r1, r3, r1, r3 809d046: 095b lsrs r3, r3, #5 809d048: b2d9 uxtb r1, r3 809d04a: 4613 mov r3, r2 809d04c: 009b lsls r3, r3, #2 809d04e: 4413 add r3, r2 809d050: f107 0268 add.w r2, r7, #104 ; 0x68 809d054: 4413 add r3, r2 809d056: 3b34 subs r3, #52 ; 0x34 809d058: 460a mov r2, r1 809d05a: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 809d05c: 6d39 ldr r1, [r7, #80] ; 0x50 809d05e: 6dba ldr r2, [r7, #88] ; 0x58 809d060: 4b84 ldr r3, [pc, #528] ; (809d274 ) 809d062: fba3 0302 umull r0, r3, r3, r2 809d066: 095b lsrs r3, r3, #5 809d068: 2064 movs r0, #100 ; 0x64 809d06a: fb00 f303 mul.w r3, r0, r3 809d06e: 1ad3 subs r3, r2, r3 809d070: 4a81 ldr r2, [pc, #516] ; (809d278 ) 809d072: fba2 2303 umull r2, r3, r2, r3 809d076: 08db lsrs r3, r3, #3 809d078: b2da uxtb r2, r3 809d07a: 460b mov r3, r1 809d07c: 009b lsls r3, r3, #2 809d07e: 440b add r3, r1 809d080: f107 0168 add.w r1, r7, #104 ; 0x68 809d084: 440b add r3, r1 809d086: 3b33 subs r3, #51 ; 0x33 809d088: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 809d08a: 6d38 ldr r0, [r7, #80] ; 0x50 809d08c: 6dbb ldr r3, [r7, #88] ; 0x58 809d08e: 4a79 ldr r2, [pc, #484] ; (809d274 ) 809d090: fba2 1203 umull r1, r2, r2, r3 809d094: 0952 lsrs r2, r2, #5 809d096: 2164 movs r1, #100 ; 0x64 809d098: fb01 f202 mul.w r2, r1, r2 809d09c: 1a9a subs r2, r3, r2 809d09e: 4b76 ldr r3, [pc, #472] ; (809d278 ) 809d0a0: fba3 1302 umull r1, r3, r3, r2 809d0a4: 08d9 lsrs r1, r3, #3 809d0a6: 460b mov r3, r1 809d0a8: 009b lsls r3, r3, #2 809d0aa: 440b add r3, r1 809d0ac: 005b lsls r3, r3, #1 809d0ae: 1ad1 subs r1, r2, r3 809d0b0: b2ca uxtb r2, r1 809d0b2: 4603 mov r3, r0 809d0b4: 009b lsls r3, r3, #2 809d0b6: 4403 add r3, r0 809d0b8: f107 0168 add.w r1, r7, #104 ; 0x68 809d0bc: 440b add r3, r1 809d0be: 3b32 subs r3, #50 ; 0x32 809d0c0: 701a strb r2, [r3, #0] if(ipr == ACC) 809d0c2: 6d3b ldr r3, [r7, #80] ; 0x50 809d0c4: 2b00 cmp r3, #0 809d0c6: d144 bne.n 809d152 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 809d0c8: 6d3a ldr r2, [r7, #80] ; 0x50 809d0ca: 4613 mov r3, r2 809d0cc: 009b lsls r3, r3, #2 809d0ce: 4413 add r3, r2 809d0d0: f107 0268 add.w r2, r7, #104 ; 0x68 809d0d4: 4413 add r3, r2 809d0d6: 3b32 subs r3, #50 ; 0x32 809d0d8: 781b ldrb r3, [r3, #0] 809d0da: b2db uxtb r3, r3 809d0dc: 461a mov r2, r3 809d0de: 4b67 ldr r3, [pc, #412] ; (809d27c ) 809d0e0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d0e4: 2256 movs r2, #86 ; 0x56 809d0e6: 21e6 movs r1, #230 ; 0xe6 809d0e8: 4618 mov r0, r3 809d0ea: f7b7 fa6f bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 92+18); 809d0ee: 226e movs r2, #110 ; 0x6e 809d0f0: 21d7 movs r1, #215 ; 0xd7 809d0f2: 4863 ldr r0, [pc, #396] ; (809d280 ) 809d0f4: f7b7 fa6a bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 809d0f8: 6d3a ldr r2, [r7, #80] ; 0x50 809d0fa: 4613 mov r3, r2 809d0fc: 009b lsls r3, r3, #2 809d0fe: 4413 add r3, r2 809d100: f107 0268 add.w r2, r7, #104 ; 0x68 809d104: 4413 add r3, r2 809d106: 3b33 subs r3, #51 ; 0x33 809d108: 781b ldrb r3, [r3, #0] 809d10a: b2db uxtb r3, r3 809d10c: 461a mov r2, r3 809d10e: 4b5b ldr r3, [pc, #364] ; (809d27c ) 809d110: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d114: 2256 movs r2, #86 ; 0x56 809d116: 21b4 movs r1, #180 ; 0xb4 809d118: 4618 mov r0, r3 809d11a: f7b7 fa57 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 809d11e: 6d3a ldr r2, [r7, #80] ; 0x50 809d120: 4613 mov r3, r2 809d122: 009b lsls r3, r3, #2 809d124: 4413 add r3, r2 809d126: f107 0268 add.w r2, r7, #104 ; 0x68 809d12a: 4413 add r3, r2 809d12c: 3b34 subs r3, #52 ; 0x34 809d12e: 781b ldrb r3, [r3, #0] 809d130: b2db uxtb r3, r3 809d132: 461a mov r2, r3 809d134: 4b51 ldr r3, [pc, #324] ; (809d27c ) 809d136: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d13a: 2256 movs r2, #86 ; 0x56 809d13c: 2196 movs r1, #150 ; 0x96 809d13e: 4618 mov r0, r3 809d140: f7b7 fa44 bl 80545cc DrawImage(&bmg_dB, 265, 74+18); 809d144: 225c movs r2, #92 ; 0x5c 809d146: f240 1109 movw r1, #265 ; 0x109 809d14a: 484e ldr r0, [pc, #312] ; (809d284 ) 809d14c: f7b7 fa3e bl 80545cc 809d150: e26d b.n 809d62e if(ipr == VEL) 809d152: 6d3b ldr r3, [r7, #80] ; 0x50 809d154: 2b01 cmp r3, #1 809d156: d144 bne.n 809d1e2 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 809d158: 6d3a ldr r2, [r7, #80] ; 0x50 809d15a: 4613 mov r3, r2 809d15c: 009b lsls r3, r3, #2 809d15e: 4413 add r3, r2 809d160: f107 0268 add.w r2, r7, #104 ; 0x68 809d164: 4413 add r3, r2 809d166: 3b32 subs r3, #50 ; 0x32 809d168: 781b ldrb r3, [r3, #0] 809d16a: b2db uxtb r3, r3 809d16c: 461a mov r2, r3 809d16e: 4b43 ldr r3, [pc, #268] ; (809d27c ) 809d170: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d174: 2282 movs r2, #130 ; 0x82 809d176: 21e6 movs r1, #230 ; 0xe6 809d178: 4618 mov r0, r3 809d17a: f7b7 fa27 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 145+9); 809d17e: 229a movs r2, #154 ; 0x9a 809d180: 21d7 movs r1, #215 ; 0xd7 809d182: 483f ldr r0, [pc, #252] ; (809d280 ) 809d184: f7b7 fa22 bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 809d188: 6d3a ldr r2, [r7, #80] ; 0x50 809d18a: 4613 mov r3, r2 809d18c: 009b lsls r3, r3, #2 809d18e: 4413 add r3, r2 809d190: f107 0268 add.w r2, r7, #104 ; 0x68 809d194: 4413 add r3, r2 809d196: 3b33 subs r3, #51 ; 0x33 809d198: 781b ldrb r3, [r3, #0] 809d19a: b2db uxtb r3, r3 809d19c: 461a mov r2, r3 809d19e: 4b37 ldr r3, [pc, #220] ; (809d27c ) 809d1a0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d1a4: 2282 movs r2, #130 ; 0x82 809d1a6: 21b4 movs r1, #180 ; 0xb4 809d1a8: 4618 mov r0, r3 809d1aa: f7b7 fa0f bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 809d1ae: 6d3a ldr r2, [r7, #80] ; 0x50 809d1b0: 4613 mov r3, r2 809d1b2: 009b lsls r3, r3, #2 809d1b4: 4413 add r3, r2 809d1b6: f107 0268 add.w r2, r7, #104 ; 0x68 809d1ba: 4413 add r3, r2 809d1bc: 3b34 subs r3, #52 ; 0x34 809d1be: 781b ldrb r3, [r3, #0] 809d1c0: b2db uxtb r3, r3 809d1c2: 461a mov r2, r3 809d1c4: 4b2d ldr r3, [pc, #180] ; (809d27c ) 809d1c6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d1ca: 2282 movs r2, #130 ; 0x82 809d1cc: 2196 movs r1, #150 ; 0x96 809d1ce: 4618 mov r0, r3 809d1d0: f7b7 f9fc bl 80545cc DrawImage(&bmg_dB, 265, 128+9); 809d1d4: 2289 movs r2, #137 ; 0x89 809d1d6: f240 1109 movw r1, #265 ; 0x109 809d1da: 482a ldr r0, [pc, #168] ; (809d284 ) 809d1dc: f7b7 f9f6 bl 80545cc 809d1e0: e225 b.n 809d62e if(ipr == DIS) 809d1e2: 6d3b ldr r3, [r7, #80] ; 0x50 809d1e4: 2b02 cmp r3, #2 809d1e6: f040 8222 bne.w 809d62e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 809d1ea: 6d3a ldr r2, [r7, #80] ; 0x50 809d1ec: 4613 mov r3, r2 809d1ee: 009b lsls r3, r3, #2 809d1f0: 4413 add r3, r2 809d1f2: f107 0268 add.w r2, r7, #104 ; 0x68 809d1f6: 4413 add r3, r2 809d1f8: 3b32 subs r3, #50 ; 0x32 809d1fa: 781b ldrb r3, [r3, #0] 809d1fc: b2db uxtb r3, r3 809d1fe: 461a mov r2, r3 809d200: 4b1e ldr r3, [pc, #120] ; (809d27c ) 809d202: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d206: 22ae movs r2, #174 ; 0xae 809d208: 21e6 movs r1, #230 ; 0xe6 809d20a: 4618 mov r0, r3 809d20c: f7b7 f9de bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 198); 809d210: 22c6 movs r2, #198 ; 0xc6 809d212: 21d7 movs r1, #215 ; 0xd7 809d214: 481a ldr r0, [pc, #104] ; (809d280 ) 809d216: f7b7 f9d9 bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 809d21a: 6d3a ldr r2, [r7, #80] ; 0x50 809d21c: 4613 mov r3, r2 809d21e: 009b lsls r3, r3, #2 809d220: 4413 add r3, r2 809d222: f107 0268 add.w r2, r7, #104 ; 0x68 809d226: 4413 add r3, r2 809d228: 3b33 subs r3, #51 ; 0x33 809d22a: 781b ldrb r3, [r3, #0] 809d22c: b2db uxtb r3, r3 809d22e: 461a mov r2, r3 809d230: 4b12 ldr r3, [pc, #72] ; (809d27c ) 809d232: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d236: 22ae movs r2, #174 ; 0xae 809d238: 21b4 movs r1, #180 ; 0xb4 809d23a: 4618 mov r0, r3 809d23c: f7b7 f9c6 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 809d240: 6d3a ldr r2, [r7, #80] ; 0x50 809d242: 4613 mov r3, r2 809d244: 009b lsls r3, r3, #2 809d246: 4413 add r3, r2 809d248: f107 0268 add.w r2, r7, #104 ; 0x68 809d24c: 4413 add r3, r2 809d24e: 3b34 subs r3, #52 ; 0x34 809d250: 781b ldrb r3, [r3, #0] 809d252: b2db uxtb r3, r3 809d254: 461a mov r2, r3 809d256: 4b09 ldr r3, [pc, #36] ; (809d27c ) 809d258: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d25c: 22ae movs r2, #174 ; 0xae 809d25e: 2196 movs r1, #150 ; 0x96 809d260: 4618 mov r0, r3 809d262: f7b7 f9b3 bl 80545cc DrawImage(&bmg_dB, 265, 180); 809d266: 22b4 movs r2, #180 ; 0xb4 809d268: f240 1109 movw r1, #265 ; 0x109 809d26c: 4805 ldr r0, [pc, #20] ; (809d284 ) 809d26e: f7b7 f9ad bl 80545cc 809d272: e1dc b.n 809d62e 809d274: 51eb851f .word 0x51eb851f 809d278: cccccccd .word 0xcccccccd 809d27c: 20020124 .word 0x20020124 809d280: 08167a54 .word 0x08167a54 809d284: 08162ca0 .word 0x08162ca0 809d288: 447a0000 .word 0x447a0000 if(f < 1000.0f) 809d28c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d290: ed1f 7a03 vldr s14, [pc, #-12] ; 809d288 809d294: eef4 7ac7 vcmpe.f32 s15, s14 809d298: eef1 fa10 vmrs APSR_nzcv, fpscr 809d29c: f140 81c7 bpl.w 809d62e ik[ipr][0] = (uint8_t) (k / 1000); 809d2a0: 6d3a ldr r2, [r7, #80] ; 0x50 809d2a2: 6dbb ldr r3, [r7, #88] ; 0x58 809d2a4: 49ca ldr r1, [pc, #808] ; (809d5d0 ) 809d2a6: fba1 1303 umull r1, r3, r1, r3 809d2aa: 099b lsrs r3, r3, #6 809d2ac: b2d9 uxtb r1, r3 809d2ae: 4613 mov r3, r2 809d2b0: 009b lsls r3, r3, #2 809d2b2: 4413 add r3, r2 809d2b4: f107 0268 add.w r2, r7, #104 ; 0x68 809d2b8: 4413 add r3, r2 809d2ba: 3b34 subs r3, #52 ; 0x34 809d2bc: 460a mov r2, r1 809d2be: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 809d2c0: 6d39 ldr r1, [r7, #80] ; 0x50 809d2c2: 6dba ldr r2, [r7, #88] ; 0x58 809d2c4: 4bc2 ldr r3, [pc, #776] ; (809d5d0 ) 809d2c6: fba3 0302 umull r0, r3, r3, r2 809d2ca: 099b lsrs r3, r3, #6 809d2cc: f44f 707a mov.w r0, #1000 ; 0x3e8 809d2d0: fb00 f303 mul.w r3, r0, r3 809d2d4: 1ad3 subs r3, r2, r3 809d2d6: 4abf ldr r2, [pc, #764] ; (809d5d4 ) 809d2d8: fba2 2303 umull r2, r3, r2, r3 809d2dc: 095b lsrs r3, r3, #5 809d2de: b2da uxtb r2, r3 809d2e0: 460b mov r3, r1 809d2e2: 009b lsls r3, r3, #2 809d2e4: 440b add r3, r1 809d2e6: f107 0168 add.w r1, r7, #104 ; 0x68 809d2ea: 440b add r3, r1 809d2ec: 3b33 subs r3, #51 ; 0x33 809d2ee: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 809d2f0: 6d39 ldr r1, [r7, #80] ; 0x50 809d2f2: 6dba ldr r2, [r7, #88] ; 0x58 809d2f4: 4bb6 ldr r3, [pc, #728] ; (809d5d0 ) 809d2f6: fba3 0302 umull r0, r3, r3, r2 809d2fa: 099b lsrs r3, r3, #6 809d2fc: f44f 707a mov.w r0, #1000 ; 0x3e8 809d300: fb00 f303 mul.w r3, r0, r3 809d304: 1ad3 subs r3, r2, r3 809d306: 4ab3 ldr r2, [pc, #716] ; (809d5d4 ) 809d308: fba2 0203 umull r0, r2, r2, r3 809d30c: 0952 lsrs r2, r2, #5 809d30e: 2064 movs r0, #100 ; 0x64 809d310: fb00 f202 mul.w r2, r0, r2 809d314: 1a9a subs r2, r3, r2 809d316: 4bb0 ldr r3, [pc, #704] ; (809d5d8 ) 809d318: fba3 2302 umull r2, r3, r3, r2 809d31c: 08db lsrs r3, r3, #3 809d31e: b2da uxtb r2, r3 809d320: 460b mov r3, r1 809d322: 009b lsls r3, r3, #2 809d324: 440b add r3, r1 809d326: f107 0168 add.w r1, r7, #104 ; 0x68 809d32a: 440b add r3, r1 809d32c: 3b32 subs r3, #50 ; 0x32 809d32e: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 809d330: 6d38 ldr r0, [r7, #80] ; 0x50 809d332: 6dba ldr r2, [r7, #88] ; 0x58 809d334: 4ba6 ldr r3, [pc, #664] ; (809d5d0 ) 809d336: fba3 1302 umull r1, r3, r3, r2 809d33a: 099b lsrs r3, r3, #6 809d33c: f44f 717a mov.w r1, #1000 ; 0x3e8 809d340: fb01 f303 mul.w r3, r1, r3 809d344: 1ad3 subs r3, r2, r3 809d346: 4aa3 ldr r2, [pc, #652] ; (809d5d4 ) 809d348: fba2 1203 umull r1, r2, r2, r3 809d34c: 0952 lsrs r2, r2, #5 809d34e: 2164 movs r1, #100 ; 0x64 809d350: fb01 f202 mul.w r2, r1, r2 809d354: 1a9a subs r2, r3, r2 809d356: 4ba0 ldr r3, [pc, #640] ; (809d5d8 ) 809d358: fba3 1302 umull r1, r3, r3, r2 809d35c: 08d9 lsrs r1, r3, #3 809d35e: 460b mov r3, r1 809d360: 009b lsls r3, r3, #2 809d362: 440b add r3, r1 809d364: 005b lsls r3, r3, #1 809d366: 1ad1 subs r1, r2, r3 809d368: b2ca uxtb r2, r1 809d36a: 4603 mov r3, r0 809d36c: 009b lsls r3, r3, #2 809d36e: 4403 add r3, r0 809d370: f107 0168 add.w r1, r7, #104 ; 0x68 809d374: 440b add r3, r1 809d376: 3b31 subs r3, #49 ; 0x31 809d378: 701a strb r2, [r3, #0] if(ipr == ACC) 809d37a: 6d3b ldr r3, [r7, #80] ; 0x50 809d37c: 2b00 cmp r3, #0 809d37e: d157 bne.n 809d430 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 809d380: 6d3a ldr r2, [r7, #80] ; 0x50 809d382: 4613 mov r3, r2 809d384: 009b lsls r3, r3, #2 809d386: 4413 add r3, r2 809d388: f107 0268 add.w r2, r7, #104 ; 0x68 809d38c: 4413 add r3, r2 809d38e: 3b31 subs r3, #49 ; 0x31 809d390: 781b ldrb r3, [r3, #0] 809d392: b2db uxtb r3, r3 809d394: 461a mov r2, r3 809d396: 4b91 ldr r3, [pc, #580] ; (809d5dc ) 809d398: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d39c: 2256 movs r2, #86 ; 0x56 809d39e: 21e6 movs r1, #230 ; 0xe6 809d3a0: 4618 mov r0, r3 809d3a2: f7b7 f913 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 92+18); 809d3a6: 226e movs r2, #110 ; 0x6e 809d3a8: 21d7 movs r1, #215 ; 0xd7 809d3aa: 488d ldr r0, [pc, #564] ; (809d5e0 ) 809d3ac: f7b7 f90e bl 80545cc DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 809d3b0: 6d3a ldr r2, [r7, #80] ; 0x50 809d3b2: 4613 mov r3, r2 809d3b4: 009b lsls r3, r3, #2 809d3b6: 4413 add r3, r2 809d3b8: f107 0268 add.w r2, r7, #104 ; 0x68 809d3bc: 4413 add r3, r2 809d3be: 3b32 subs r3, #50 ; 0x32 809d3c0: 781b ldrb r3, [r3, #0] 809d3c2: b2db uxtb r3, r3 809d3c4: 461a mov r2, r3 809d3c6: 4b85 ldr r3, [pc, #532] ; (809d5dc ) 809d3c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d3cc: 2256 movs r2, #86 ; 0x56 809d3ce: 21b4 movs r1, #180 ; 0xb4 809d3d0: 4618 mov r0, r3 809d3d2: f7b7 f8fb bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 809d3d6: 6d3a ldr r2, [r7, #80] ; 0x50 809d3d8: 4613 mov r3, r2 809d3da: 009b lsls r3, r3, #2 809d3dc: 4413 add r3, r2 809d3de: f107 0268 add.w r2, r7, #104 ; 0x68 809d3e2: 4413 add r3, r2 809d3e4: 3b33 subs r3, #51 ; 0x33 809d3e6: 781b ldrb r3, [r3, #0] 809d3e8: b2db uxtb r3, r3 809d3ea: 461a mov r2, r3 809d3ec: 4b7b ldr r3, [pc, #492] ; (809d5dc ) 809d3ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d3f2: 2256 movs r2, #86 ; 0x56 809d3f4: 2196 movs r1, #150 ; 0x96 809d3f6: 4618 mov r0, r3 809d3f8: f7b7 f8e8 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 809d3fc: 6d3a ldr r2, [r7, #80] ; 0x50 809d3fe: 4613 mov r3, r2 809d400: 009b lsls r3, r3, #2 809d402: 4413 add r3, r2 809d404: f107 0268 add.w r2, r7, #104 ; 0x68 809d408: 4413 add r3, r2 809d40a: 3b34 subs r3, #52 ; 0x34 809d40c: 781b ldrb r3, [r3, #0] 809d40e: b2db uxtb r3, r3 809d410: 461a mov r2, r3 809d412: 4b72 ldr r3, [pc, #456] ; (809d5dc ) 809d414: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d418: 2256 movs r2, #86 ; 0x56 809d41a: 2178 movs r1, #120 ; 0x78 809d41c: 4618 mov r0, r3 809d41e: f7b7 f8d5 bl 80545cc DrawImage(&bmg_dB, 265, 74+18); 809d422: 225c movs r2, #92 ; 0x5c 809d424: f240 1109 movw r1, #265 ; 0x109 809d428: 486e ldr r0, [pc, #440] ; (809d5e4 ) 809d42a: f7b7 f8cf bl 80545cc 809d42e: e0fe b.n 809d62e if(ipr == VEL) 809d430: 6d3b ldr r3, [r7, #80] ; 0x50 809d432: 2b01 cmp r3, #1 809d434: d157 bne.n 809d4e6 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 809d436: 6d3a ldr r2, [r7, #80] ; 0x50 809d438: 4613 mov r3, r2 809d43a: 009b lsls r3, r3, #2 809d43c: 4413 add r3, r2 809d43e: f107 0268 add.w r2, r7, #104 ; 0x68 809d442: 4413 add r3, r2 809d444: 3b31 subs r3, #49 ; 0x31 809d446: 781b ldrb r3, [r3, #0] 809d448: b2db uxtb r3, r3 809d44a: 461a mov r2, r3 809d44c: 4b63 ldr r3, [pc, #396] ; (809d5dc ) 809d44e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d452: 2282 movs r2, #130 ; 0x82 809d454: 21e6 movs r1, #230 ; 0xe6 809d456: 4618 mov r0, r3 809d458: f7b7 f8b8 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 145+9); 809d45c: 229a movs r2, #154 ; 0x9a 809d45e: 21d7 movs r1, #215 ; 0xd7 809d460: 485f ldr r0, [pc, #380] ; (809d5e0 ) 809d462: f7b7 f8b3 bl 80545cc DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 809d466: 6d3a ldr r2, [r7, #80] ; 0x50 809d468: 4613 mov r3, r2 809d46a: 009b lsls r3, r3, #2 809d46c: 4413 add r3, r2 809d46e: f107 0268 add.w r2, r7, #104 ; 0x68 809d472: 4413 add r3, r2 809d474: 3b32 subs r3, #50 ; 0x32 809d476: 781b ldrb r3, [r3, #0] 809d478: b2db uxtb r3, r3 809d47a: 461a mov r2, r3 809d47c: 4b57 ldr r3, [pc, #348] ; (809d5dc ) 809d47e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d482: 2282 movs r2, #130 ; 0x82 809d484: 21b4 movs r1, #180 ; 0xb4 809d486: 4618 mov r0, r3 809d488: f7b7 f8a0 bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 809d48c: 6d3a ldr r2, [r7, #80] ; 0x50 809d48e: 4613 mov r3, r2 809d490: 009b lsls r3, r3, #2 809d492: 4413 add r3, r2 809d494: f107 0268 add.w r2, r7, #104 ; 0x68 809d498: 4413 add r3, r2 809d49a: 3b33 subs r3, #51 ; 0x33 809d49c: 781b ldrb r3, [r3, #0] 809d49e: b2db uxtb r3, r3 809d4a0: 461a mov r2, r3 809d4a2: 4b4e ldr r3, [pc, #312] ; (809d5dc ) 809d4a4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d4a8: 2282 movs r2, #130 ; 0x82 809d4aa: 2196 movs r1, #150 ; 0x96 809d4ac: 4618 mov r0, r3 809d4ae: f7b7 f88d bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 809d4b2: 6d3a ldr r2, [r7, #80] ; 0x50 809d4b4: 4613 mov r3, r2 809d4b6: 009b lsls r3, r3, #2 809d4b8: 4413 add r3, r2 809d4ba: f107 0268 add.w r2, r7, #104 ; 0x68 809d4be: 4413 add r3, r2 809d4c0: 3b34 subs r3, #52 ; 0x34 809d4c2: 781b ldrb r3, [r3, #0] 809d4c4: b2db uxtb r3, r3 809d4c6: 461a mov r2, r3 809d4c8: 4b44 ldr r3, [pc, #272] ; (809d5dc ) 809d4ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d4ce: 2282 movs r2, #130 ; 0x82 809d4d0: 2178 movs r1, #120 ; 0x78 809d4d2: 4618 mov r0, r3 809d4d4: f7b7 f87a bl 80545cc DrawImage(&bmg_dB, 265, 128+9); 809d4d8: 2289 movs r2, #137 ; 0x89 809d4da: f240 1109 movw r1, #265 ; 0x109 809d4de: 4841 ldr r0, [pc, #260] ; (809d5e4 ) 809d4e0: f7b7 f874 bl 80545cc 809d4e4: e0a3 b.n 809d62e if(ipr == DIS) 809d4e6: 6d3b ldr r3, [r7, #80] ; 0x50 809d4e8: 2b02 cmp r3, #2 809d4ea: f040 80a0 bne.w 809d62e DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 809d4ee: 6d3a ldr r2, [r7, #80] ; 0x50 809d4f0: 4613 mov r3, r2 809d4f2: 009b lsls r3, r3, #2 809d4f4: 4413 add r3, r2 809d4f6: f107 0268 add.w r2, r7, #104 ; 0x68 809d4fa: 4413 add r3, r2 809d4fc: 3b31 subs r3, #49 ; 0x31 809d4fe: 781b ldrb r3, [r3, #0] 809d500: b2db uxtb r3, r3 809d502: 461a mov r2, r3 809d504: 4b35 ldr r3, [pc, #212] ; (809d5dc ) 809d506: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d50a: 22ae movs r2, #174 ; 0xae 809d50c: 21e6 movs r1, #230 ; 0xe6 809d50e: 4618 mov r0, r3 809d510: f7b7 f85c bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 198); 809d514: 22c6 movs r2, #198 ; 0xc6 809d516: 21d7 movs r1, #215 ; 0xd7 809d518: 4831 ldr r0, [pc, #196] ; (809d5e0 ) 809d51a: f7b7 f857 bl 80545cc DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 809d51e: 6d3a ldr r2, [r7, #80] ; 0x50 809d520: 4613 mov r3, r2 809d522: 009b lsls r3, r3, #2 809d524: 4413 add r3, r2 809d526: f107 0268 add.w r2, r7, #104 ; 0x68 809d52a: 4413 add r3, r2 809d52c: 3b32 subs r3, #50 ; 0x32 809d52e: 781b ldrb r3, [r3, #0] 809d530: b2db uxtb r3, r3 809d532: 461a mov r2, r3 809d534: 4b29 ldr r3, [pc, #164] ; (809d5dc ) 809d536: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d53a: 22ae movs r2, #174 ; 0xae 809d53c: 21b4 movs r1, #180 ; 0xb4 809d53e: 4618 mov r0, r3 809d540: f7b7 f844 bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 809d544: 6d3a ldr r2, [r7, #80] ; 0x50 809d546: 4613 mov r3, r2 809d548: 009b lsls r3, r3, #2 809d54a: 4413 add r3, r2 809d54c: f107 0268 add.w r2, r7, #104 ; 0x68 809d550: 4413 add r3, r2 809d552: 3b33 subs r3, #51 ; 0x33 809d554: 781b ldrb r3, [r3, #0] 809d556: b2db uxtb r3, r3 809d558: 461a mov r2, r3 809d55a: 4b20 ldr r3, [pc, #128] ; (809d5dc ) 809d55c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d560: 22ae movs r2, #174 ; 0xae 809d562: 2196 movs r1, #150 ; 0x96 809d564: 4618 mov r0, r3 809d566: f7b7 f831 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 809d56a: 6d3a ldr r2, [r7, #80] ; 0x50 809d56c: 4613 mov r3, r2 809d56e: 009b lsls r3, r3, #2 809d570: 4413 add r3, r2 809d572: f107 0268 add.w r2, r7, #104 ; 0x68 809d576: 4413 add r3, r2 809d578: 3b34 subs r3, #52 ; 0x34 809d57a: 781b ldrb r3, [r3, #0] 809d57c: b2db uxtb r3, r3 809d57e: 461a mov r2, r3 809d580: 4b16 ldr r3, [pc, #88] ; (809d5dc ) 809d582: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809d586: 22ae movs r2, #174 ; 0xae 809d588: 2178 movs r1, #120 ; 0x78 809d58a: 4618 mov r0, r3 809d58c: f7b7 f81e bl 80545cc DrawImage(&bmg_dB, 265, 180); 809d590: 22b4 movs r2, #180 ; 0xb4 809d592: f240 1109 movw r1, #265 ; 0x109 809d596: 4813 ldr r0, [pc, #76] ; (809d5e4 ) 809d598: f7b7 f818 bl 80545cc 809d59c: e047 b.n 809d62e if(ipr == VEL) 809d59e: 6d3b ldr r3, [r7, #80] ; 0x50 809d5a0: 2b01 cmp r3, #1 809d5a2: d12b bne.n 809d5fc LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809d5a4: 4910 ldr r1, [pc, #64] ; (809d5e8 ) 809d5a6: 4811 ldr r0, [pc, #68] ; (809d5ec ) 809d5a8: f7b6 f91c bl 80537e4 if(pardata.LANG == RUS) 809d5ac: 4b10 ldr r3, [pc, #64] ; (809d5f0 ) 809d5ae: 7b1b ldrb r3, [r3, #12] 809d5b0: b2db uxtb r3, r3 809d5b2: 2b00 cmp r3, #0 809d5b4: d105 bne.n 809d5c2 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809d5b6: 4a0f ldr r2, [pc, #60] ; (809d5f4 ) 809d5b8: 2187 movs r1, #135 ; 0x87 809d5ba: 20a7 movs r0, #167 ; 0xa7 809d5bc: f7b6 fed2 bl 8054364 809d5c0: e035 b.n 809d62e else LCD_DisplayStringC(167, 135, "NO DATA"); 809d5c2: 4a0d ldr r2, [pc, #52] ; (809d5f8 ) 809d5c4: 2187 movs r1, #135 ; 0x87 809d5c6: 20a7 movs r0, #167 ; 0xa7 809d5c8: f7b6 fecc bl 8054364 809d5cc: e02f b.n 809d62e 809d5ce: bf00 nop 809d5d0: 10624dd3 .word 0x10624dd3 809d5d4: 51eb851f .word 0x51eb851f 809d5d8: cccccccd .word 0xcccccccd 809d5dc: 20020124 .word 0x20020124 809d5e0: 08167a54 .word 0x08167a54 809d5e4: 08162ca0 .word 0x08162ca0 809d5e8: ff0a0f1f .word 0xff0a0f1f 809d5ec: ffb8e828 .word 0xffb8e828 809d5f0: 20023e60 .word 0x20023e60 809d5f4: 080cfb2c .word 0x080cfb2c 809d5f8: 080cfb38 .word 0x080cfb38 if(ipr == DIS) 809d5fc: 6d3b ldr r3, [r7, #80] ; 0x50 809d5fe: 2b02 cmp r3, #2 809d600: d115 bne.n 809d62e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809d602: 49cb ldr r1, [pc, #812] ; (809d930 ) 809d604: 48cb ldr r0, [pc, #812] ; (809d934 ) 809d606: f7b6 f8ed bl 80537e4 if(pardata.LANG == RUS) 809d60a: 4bcb ldr r3, [pc, #812] ; (809d938 ) 809d60c: 7b1b ldrb r3, [r3, #12] 809d60e: b2db uxtb r3, r3 809d610: 2b00 cmp r3, #0 809d612: d105 bne.n 809d620 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809d614: 4ac9 ldr r2, [pc, #804] ; (809d93c ) 809d616: 21b9 movs r1, #185 ; 0xb9 809d618: 20a7 movs r0, #167 ; 0xa7 809d61a: f7b6 fea3 bl 8054364 809d61e: e006 b.n 809d62e else LCD_DisplayStringC(167, 185, "NO DATA"); 809d620: 4ac7 ldr r2, [pc, #796] ; (809d940 ) 809d622: 21b9 movs r1, #185 ; 0xb9 809d624: 20a7 movs r0, #167 ; 0xa7 809d626: f7b6 fe9d bl 8054364 809d62a: e000 b.n 809d62e if(ipr == ACC) 809d62c: bf00 nop for(ipr = ACC; ipr <= DIS; ipr++) 809d62e: 6d3b ldr r3, [r7, #80] ; 0x50 809d630: 3301 adds r3, #1 809d632: 653b str r3, [r7, #80] ; 0x50 809d634: 6d3b ldr r3, [r7, #80] ; 0x50 809d636: 2b02 cmp r3, #2 809d638: f67e ae78 bls.w 809c32c break; 809d63c: f006 ba3a b.w 80a3ab4 if(NextIndexMeas < IndexMeas[NextIndexPoint]) 809d640: 4bc0 ldr r3, [pc, #768] ; (809d944 ) 809d642: 681b ldr r3, [r3, #0] 809d644: 4ac0 ldr r2, [pc, #768] ; (809d948 ) 809d646: f852 2023 ldr.w r2, [r2, r3, lsl #2] 809d64a: 4bc0 ldr r3, [pc, #768] ; (809d94c ) 809d64c: 681b ldr r3, [r3, #0] 809d64e: 429a cmp r2, r3 809d650: d905 bls.n 809d65e DrawImage(&bmSAVED, 298, 39); 809d652: 2227 movs r2, #39 ; 0x27 809d654: f44f 7195 mov.w r1, #298 ; 0x12a 809d658: 48bd ldr r0, [pc, #756] ; (809d950 ) 809d65a: f7b6 ffb7 bl 80545cc DrawDetectorType(); //TODO 809d65e: f7fa fe21 bl 80982a4 if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (!timeRelax)) // 809d662: 4bbc ldr r3, [pc, #752] ; (809d954 ) 809d664: 781b ldrb r3, [r3, #0] 809d666: b2db uxtb r3, r3 809d668: f083 0301 eor.w r3, r3, #1 809d66c: b2db uxtb r3, r3 809d66e: 2b00 cmp r3, #0 809d670: f006 8220 beq.w 80a3ab4 809d674: 4bb8 ldr r3, [pc, #736] ; (809d958 ) 809d676: 781b ldrb r3, [r3, #0] 809d678: b2db uxtb r3, r3 809d67a: f083 0301 eor.w r3, r3, #1 809d67e: b2db uxtb r3, r3 809d680: 2b00 cmp r3, #0 809d682: f006 8217 beq.w 80a3ab4 809d686: 4bb5 ldr r3, [pc, #724] ; (809d95c ) 809d688: 881b ldrh r3, [r3, #0] 809d68a: b29b uxth r3, r3 809d68c: 009b lsls r3, r3, #2 809d68e: 461a mov r2, r3 809d690: 4bb3 ldr r3, [pc, #716] ; (809d960 ) 809d692: 681b ldr r3, [r3, #0] 809d694: 429a cmp r2, r3 809d696: f086 820d bcs.w 80a3ab4 809d69a: 4bb2 ldr r3, [pc, #712] ; (809d964 ) 809d69c: 681b ldr r3, [r3, #0] 809d69e: 2b00 cmp r3, #0 809d6a0: f046 8208 bne.w 80a3ab4 switch(pardata.SYG) 809d6a4: 4ba4 ldr r3, [pc, #656] ; (809d938 ) 809d6a6: 781b ldrb r3, [r3, #0] 809d6a8: b2db uxtb r3, r3 809d6aa: 2b00 cmp r3, #0 809d6ac: d001 beq.n 809d6b2 break; 809d6ae: f006 ba01 b.w 80a3ab4 if(log == false) // Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 809d6b2: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 809d6b6: f083 0301 eor.w r3, r3, #1 809d6ba: b2db uxtb r3, r3 809d6bc: 2b00 cmp r3, #0 809d6be: f000 85b5 beq.w 809e22c for(ipr = ACC; ipr <= DIS; ipr++) 809d6c2: 2300 movs r3, #0 809d6c4: 653b str r3, [r7, #80] ; 0x50 809d6c6: f000 bdab b.w 809e220 memset(str, 0, sizeof(str)); 809d6ca: f107 030c add.w r3, r7, #12 809d6ce: 2228 movs r2, #40 ; 0x28 809d6d0: 2100 movs r1, #0 809d6d2: 4618 mov r0, r3 809d6d4: f02f fcd4 bl 80cd080 f = ABS(skz[ipr]); 809d6d8: 6d3b ldr r3, [r7, #80] ; 0x50 809d6da: 4aa3 ldr r2, [pc, #652] ; (809d968 ) 809d6dc: 009b lsls r3, r3, #2 809d6de: 4413 add r3, r2 809d6e0: edd3 7a00 vldr s15, [r3] 809d6e4: eef5 7ac0 vcmpe.f32 s15, #0.0 809d6e8: eef1 fa10 vmrs APSR_nzcv, fpscr 809d6ec: dd06 ble.n 809d6fc 809d6ee: 6d3b ldr r3, [r7, #80] ; 0x50 809d6f0: 4a9d ldr r2, [pc, #628] ; (809d968 ) 809d6f2: 009b lsls r3, r3, #2 809d6f4: 4413 add r3, r2 809d6f6: edd3 7a00 vldr s15, [r3] 809d6fa: e007 b.n 809d70c 809d6fc: 6d3b ldr r3, [r7, #80] ; 0x50 809d6fe: 4a9a ldr r2, [pc, #616] ; (809d968 ) 809d700: 009b lsls r3, r3, #2 809d702: 4413 add r3, r2 809d704: edd3 7a00 vldr s15, [r3] 809d708: eef1 7a67 vneg.f32 s15, s15 809d70c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 809d710: 6d3b ldr r3, [r7, #80] ; 0x50 809d712: 2b01 cmp r3, #1 809d714: f200 80af bhi.w 809d876 if(f < 10.0f) 809d718: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d71c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d720: eef4 7ac7 vcmpe.f32 s15, s14 809d724: eef1 fa10 vmrs APSR_nzcv, fpscr 809d728: d513 bpl.n 809d752 k = (uint32_t) (roundf(f * 10000)); 809d72a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d72e: ed9f 7a93 vldr s14, [pc, #588] ; 809d97c 809d732: ee67 7a87 vmul.f32 s15, s15, s14 809d736: eeb0 0a67 vmov.f32 s0, s15 809d73a: f02d faa3 bl 80cac84 809d73e: eef0 7a40 vmov.f32 s15, s0 809d742: eefc 7ae7 vcvt.u32.f32 s15, s15 809d746: ee17 3a90 vmov r3, s15 809d74a: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809d74c: 2301 movs r3, #1 809d74e: 657b str r3, [r7, #84] ; 0x54 809d750: e1dd b.n 809db0e if(f < 100.0f) 809d752: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d756: ed9f 7a85 vldr s14, [pc, #532] ; 809d96c 809d75a: eef4 7ac7 vcmpe.f32 s15, s14 809d75e: eef1 fa10 vmrs APSR_nzcv, fpscr 809d762: d513 bpl.n 809d78c k = (uint32_t) (roundf(f * 1000)); 809d764: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d768: ed9f 7a81 vldr s14, [pc, #516] ; 809d970 809d76c: ee67 7a87 vmul.f32 s15, s15, s14 809d770: eeb0 0a67 vmov.f32 s0, s15 809d774: f02d fa86 bl 80cac84 809d778: eef0 7a40 vmov.f32 s15, s0 809d77c: eefc 7ae7 vcvt.u32.f32 s15, s15 809d780: ee17 3a90 vmov r3, s15 809d784: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809d786: 2302 movs r3, #2 809d788: 657b str r3, [r7, #84] ; 0x54 809d78a: e1c0 b.n 809db0e if(f < 1000.0f) 809d78c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d790: ed9f 7a77 vldr s14, [pc, #476] ; 809d970 809d794: eef4 7ac7 vcmpe.f32 s15, s14 809d798: eef1 fa10 vmrs APSR_nzcv, fpscr 809d79c: d513 bpl.n 809d7c6 k = (uint32_t) (roundf(f * 100)); 809d79e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d7a2: ed9f 7a72 vldr s14, [pc, #456] ; 809d96c 809d7a6: ee67 7a87 vmul.f32 s15, s15, s14 809d7aa: eeb0 0a67 vmov.f32 s0, s15 809d7ae: f02d fa69 bl 80cac84 809d7b2: eef0 7a40 vmov.f32 s15, s0 809d7b6: eefc 7ae7 vcvt.u32.f32 s15, s15 809d7ba: ee17 3a90 vmov r3, s15 809d7be: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809d7c0: 2303 movs r3, #3 809d7c2: 657b str r3, [r7, #84] ; 0x54 809d7c4: e1a3 b.n 809db0e if(f < 10000.0f) 809d7c6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d7ca: ed9f 7a6c vldr s14, [pc, #432] ; 809d97c 809d7ce: eef4 7ac7 vcmpe.f32 s15, s14 809d7d2: eef1 fa10 vmrs APSR_nzcv, fpscr 809d7d6: d513 bpl.n 809d800 k = (uint32_t) (roundf(f * 10)); 809d7d8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d7dc: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d7e0: ee67 7a87 vmul.f32 s15, s15, s14 809d7e4: eeb0 0a67 vmov.f32 s0, s15 809d7e8: f02d fa4c bl 80cac84 809d7ec: eef0 7a40 vmov.f32 s15, s0 809d7f0: eefc 7ae7 vcvt.u32.f32 s15, s15 809d7f4: ee17 3a90 vmov r3, s15 809d7f8: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809d7fa: 2304 movs r3, #4 809d7fc: 657b str r3, [r7, #84] ; 0x54 809d7fe: e186 b.n 809db0e if(f < 100000.0f) 809d800: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d804: ed9f 7a5e vldr s14, [pc, #376] ; 809d980 809d808: eef4 7ac7 vcmpe.f32 s15, s14 809d80c: eef1 fa10 vmrs APSR_nzcv, fpscr 809d810: d515 bpl.n 809d83e k = (uint32_t) (roundf(f)); 809d812: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d816: eeb0 0a67 vmov.f32 s0, s15 809d81a: f02d fa33 bl 80cac84 809d81e: eef0 7a40 vmov.f32 s15, s0 809d822: eefc 7ae7 vcvt.u32.f32 s15, s15 809d826: ee17 3a90 vmov r3, s15 809d82a: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809d82c: 6dbb ldr r3, [r7, #88] ; 0x58 809d82e: 4a51 ldr r2, [pc, #324] ; (809d974 ) 809d830: 4293 cmp r3, r2 809d832: d901 bls.n 809d838 k = 99999; 809d834: 4b4f ldr r3, [pc, #316] ; (809d974 ) 809d836: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809d838: 2300 movs r3, #0 809d83a: 657b str r3, [r7, #84] ; 0x54 809d83c: e167 b.n 809db0e if(f >= 100000.0f) 809d83e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d842: ed9f 7a4f vldr s14, [pc, #316] ; 809d980 809d846: eef4 7ac7 vcmpe.f32 s15, s14 809d84a: eef1 fa10 vmrs APSR_nzcv, fpscr 809d84e: f2c0 815e blt.w 809db0e f = 99999.0f; 809d852: 4b49 ldr r3, [pc, #292] ; (809d978 ) 809d854: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809d856: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d85a: eeb0 0a67 vmov.f32 s0, s15 809d85e: f02d fa11 bl 80cac84 809d862: eef0 7a40 vmov.f32 s15, s0 809d866: eefc 7ae7 vcvt.u32.f32 s15, s15 809d86a: ee17 3a90 vmov r3, s15 809d86e: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809d870: 2300 movs r3, #0 809d872: 657b str r3, [r7, #84] ; 0x54 809d874: e14b b.n 809db0e if(f < 10.0f) 809d876: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d87a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d87e: eef4 7ac7 vcmpe.f32 s15, s14 809d882: eef1 fa10 vmrs APSR_nzcv, fpscr 809d886: d515 bpl.n 809d8b4 k = (uint32_t) (roundf(f * 10000)); 809d888: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d88c: ed9f 7a3b vldr s14, [pc, #236] ; 809d97c 809d890: ee67 7a87 vmul.f32 s15, s15, s14 809d894: eeb0 0a67 vmov.f32 s0, s15 809d898: f02d f9f4 bl 80cac84 809d89c: eef0 7a40 vmov.f32 s15, s0 809d8a0: eefc 7ae7 vcvt.u32.f32 s15, s15 809d8a4: ee17 3a90 vmov r3, s15 809d8a8: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809d8aa: 2301 movs r3, #1 809d8ac: 657b str r3, [r7, #84] ; 0x54 m = 0; 809d8ae: 2300 movs r3, #0 809d8b0: 64fb str r3, [r7, #76] ; 0x4c 809d8b2: e12c b.n 809db0e if(f < 100.0f) 809d8b4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d8b8: ed9f 7a2c vldr s14, [pc, #176] ; 809d96c 809d8bc: eef4 7ac7 vcmpe.f32 s15, s14 809d8c0: eef1 fa10 vmrs APSR_nzcv, fpscr 809d8c4: d515 bpl.n 809d8f2 k = (uint32_t) (roundf(f * 1000)); 809d8c6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d8ca: ed9f 7a29 vldr s14, [pc, #164] ; 809d970 809d8ce: ee67 7a87 vmul.f32 s15, s15, s14 809d8d2: eeb0 0a67 vmov.f32 s0, s15 809d8d6: f02d f9d5 bl 80cac84 809d8da: eef0 7a40 vmov.f32 s15, s0 809d8de: eefc 7ae7 vcvt.u32.f32 s15, s15 809d8e2: ee17 3a90 vmov r3, s15 809d8e6: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809d8e8: 2302 movs r3, #2 809d8ea: 657b str r3, [r7, #84] ; 0x54 m = 0; 809d8ec: 2300 movs r3, #0 809d8ee: 64fb str r3, [r7, #76] ; 0x4c 809d8f0: e10d b.n 809db0e if(f < 1000.0f) 809d8f2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d8f6: ed9f 7a1e vldr s14, [pc, #120] ; 809d970 809d8fa: eef4 7ac7 vcmpe.f32 s15, s14 809d8fe: eef1 fa10 vmrs APSR_nzcv, fpscr 809d902: d54b bpl.n 809d99c k = (uint32_t) (roundf(f * 100)); 809d904: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d908: ed9f 7a18 vldr s14, [pc, #96] ; 809d96c 809d90c: ee67 7a87 vmul.f32 s15, s15, s14 809d910: eeb0 0a67 vmov.f32 s0, s15 809d914: f02d f9b6 bl 80cac84 809d918: eef0 7a40 vmov.f32 s15, s0 809d91c: eefc 7ae7 vcvt.u32.f32 s15, s15 809d920: ee17 3a90 vmov r3, s15 809d924: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809d926: 2303 movs r3, #3 809d928: 657b str r3, [r7, #84] ; 0x54 m = 0; 809d92a: 2300 movs r3, #0 809d92c: 64fb str r3, [r7, #76] ; 0x4c 809d92e: e0ee b.n 809db0e 809d930: ff0a0f1f .word 0xff0a0f1f 809d934: ffb8e828 .word 0xffb8e828 809d938: 20023e60 .word 0x20023e60 809d93c: 080cfb2c .word 0x080cfb2c 809d940: 080cfb38 .word 0x080cfb38 809d944: 20021f9c .word 0x20021f9c 809d948: 20022ea0 .word 0x20022ea0 809d94c: 20022310 .word 0x20022310 809d950: 08147a80 .word 0x08147a80 809d954: 20020db2 .word 0x20020db2 809d958: 20020dac .word 0x20020dac 809d95c: 20021d20 .word 0x20021d20 809d960: 20020da8 .word 0x20020da8 809d964: 20020d6c .word 0x20020d6c 809d968: 20021540 .word 0x20021540 809d96c: 42c80000 .word 0x42c80000 809d970: 447a0000 .word 0x447a0000 809d974: 0001869f .word 0x0001869f 809d978: 47c34f80 .word 0x47c34f80 809d97c: 461c4000 .word 0x461c4000 809d980: 47c35000 .word 0x47c35000 809d984: 49742400 .word 0x49742400 809d988: 3dcccccd .word 0x3dcccccd 809d98c: 4b189680 .word 0x4b189680 809d990: 3c23d70a .word 0x3c23d70a 809d994: 4cbebc20 .word 0x4cbebc20 809d998: 3a83126f .word 0x3a83126f if(f < 10000.0f) 809d99c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d9a0: ed1f 7a0a vldr s14, [pc, #-40] ; 809d97c 809d9a4: eef4 7ac7 vcmpe.f32 s15, s14 809d9a8: eef1 fa10 vmrs APSR_nzcv, fpscr 809d9ac: d515 bpl.n 809d9da k = (uint32_t) (roundf(f * 10)); 809d9ae: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d9b2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809d9b6: ee67 7a87 vmul.f32 s15, s15, s14 809d9ba: eeb0 0a67 vmov.f32 s0, s15 809d9be: f02d f961 bl 80cac84 809d9c2: eef0 7a40 vmov.f32 s15, s0 809d9c6: eefc 7ae7 vcvt.u32.f32 s15, s15 809d9ca: ee17 3a90 vmov r3, s15 809d9ce: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809d9d0: 2301 movs r3, #1 809d9d2: 657b str r3, [r7, #84] ; 0x54 m = 1; 809d9d4: 2301 movs r3, #1 809d9d6: 64fb str r3, [r7, #76] ; 0x4c 809d9d8: e099 b.n 809db0e if(f < 100000.0f) 809d9da: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d9de: ed1f 7a18 vldr s14, [pc, #-96] ; 809d980 809d9e2: eef4 7ac7 vcmpe.f32 s15, s14 809d9e6: eef1 fa10 vmrs APSR_nzcv, fpscr 809d9ea: d511 bpl.n 809da10 k = (uint32_t) (roundf(f)); 809d9ec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809d9f0: eeb0 0a67 vmov.f32 s0, s15 809d9f4: f02d f946 bl 80cac84 809d9f8: eef0 7a40 vmov.f32 s15, s0 809d9fc: eefc 7ae7 vcvt.u32.f32 s15, s15 809da00: ee17 3a90 vmov r3, s15 809da04: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809da06: 2302 movs r3, #2 809da08: 657b str r3, [r7, #84] ; 0x54 m = 1; 809da0a: 2301 movs r3, #1 809da0c: 64fb str r3, [r7, #76] ; 0x4c 809da0e: e07e b.n 809db0e if(f < 1000000.0f) 809da10: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809da14: ed1f 7a25 vldr s14, [pc, #-148] ; 809d984 809da18: eef4 7ac7 vcmpe.f32 s15, s14 809da1c: eef1 fa10 vmrs APSR_nzcv, fpscr 809da20: d515 bpl.n 809da4e k = (uint32_t) (roundf(f * 0.1f)); 809da22: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809da26: ed1f 7a28 vldr s14, [pc, #-160] ; 809d988 809da2a: ee67 7a87 vmul.f32 s15, s15, s14 809da2e: eeb0 0a67 vmov.f32 s0, s15 809da32: f02d f927 bl 80cac84 809da36: eef0 7a40 vmov.f32 s15, s0 809da3a: eefc 7ae7 vcvt.u32.f32 s15, s15 809da3e: ee17 3a90 vmov r3, s15 809da42: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809da44: 2303 movs r3, #3 809da46: 657b str r3, [r7, #84] ; 0x54 m = 1; 809da48: 2301 movs r3, #1 809da4a: 64fb str r3, [r7, #76] ; 0x4c 809da4c: e05f b.n 809db0e if(f < 10000000.0f) 809da4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809da52: ed1f 7a32 vldr s14, [pc, #-200] ; 809d98c 809da56: eef4 7ac7 vcmpe.f32 s15, s14 809da5a: eef1 fa10 vmrs APSR_nzcv, fpscr 809da5e: d515 bpl.n 809da8c k = (uint32_t) (roundf(f * 0.01f)); 809da60: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809da64: ed1f 7a36 vldr s14, [pc, #-216] ; 809d990 809da68: ee67 7a87 vmul.f32 s15, s15, s14 809da6c: eeb0 0a67 vmov.f32 s0, s15 809da70: f02d f908 bl 80cac84 809da74: eef0 7a40 vmov.f32 s15, s0 809da78: eefc 7ae7 vcvt.u32.f32 s15, s15 809da7c: ee17 3a90 vmov r3, s15 809da80: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809da82: 2304 movs r3, #4 809da84: 657b str r3, [r7, #84] ; 0x54 m = 1; 809da86: 2301 movs r3, #1 809da88: 64fb str r3, [r7, #76] ; 0x4c 809da8a: e040 b.n 809db0e if(f < 100000000.0f) 809da8c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809da90: ed1f 7a40 vldr s14, [pc, #-256] ; 809d994 809da94: eef4 7ac7 vcmpe.f32 s15, s14 809da98: eef1 fa10 vmrs APSR_nzcv, fpscr 809da9c: d51b bpl.n 809dad6 k = (uint32_t) (roundf(f * 0.001f)); 809da9e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809daa2: ed1f 7a43 vldr s14, [pc, #-268] ; 809d998 809daa6: ee67 7a87 vmul.f32 s15, s15, s14 809daaa: eeb0 0a67 vmov.f32 s0, s15 809daae: f02d f8e9 bl 80cac84 809dab2: eef0 7a40 vmov.f32 s15, s0 809dab6: eefc 7ae7 vcvt.u32.f32 s15, s15 809daba: ee17 3a90 vmov r3, s15 809dabe: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809dac0: 6dbb ldr r3, [r7, #88] ; 0x58 809dac2: 4aba ldr r2, [pc, #744] ; (809ddac ) 809dac4: 4293 cmp r3, r2 809dac6: d901 bls.n 809dacc k = 99999; 809dac8: 4bb8 ldr r3, [pc, #736] ; (809ddac ) 809daca: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809dacc: 2300 movs r3, #0 809dace: 657b str r3, [r7, #84] ; 0x54 m = 1; 809dad0: 2301 movs r3, #1 809dad2: 64fb str r3, [r7, #76] ; 0x4c 809dad4: e01b b.n 809db0e if(f >= 100000000.0f) 809dad6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809dada: ed9f 7ab5 vldr s14, [pc, #724] ; 809ddb0 809dade: eef4 7ac7 vcmpe.f32 s15, s14 809dae2: eef1 fa10 vmrs APSR_nzcv, fpscr 809dae6: db12 blt.n 809db0e f = 99999.0f; 809dae8: 4bb2 ldr r3, [pc, #712] ; (809ddb4 ) 809daea: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809daec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809daf0: eeb0 0a67 vmov.f32 s0, s15 809daf4: f02d f8c6 bl 80cac84 809daf8: eef0 7a40 vmov.f32 s15, s0 809dafc: eefc 7ae7 vcvt.u32.f32 s15, s15 809db00: ee17 3a90 vmov r3, s15 809db04: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809db06: 2300 movs r3, #0 809db08: 657b str r3, [r7, #84] ; 0x54 m = 1; 809db0a: 2301 movs r3, #1 809db0c: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809db0e: 6d3a ldr r2, [r7, #80] ; 0x50 809db10: 6dbb ldr r3, [r7, #88] ; 0x58 809db12: 49a9 ldr r1, [pc, #676] ; (809ddb8 ) 809db14: fba1 1303 umull r1, r3, r1, r3 809db18: 0b5b lsrs r3, r3, #13 809db1a: b2d9 uxtb r1, r3 809db1c: 4613 mov r3, r2 809db1e: 009b lsls r3, r3, #2 809db20: 4413 add r3, r2 809db22: f107 0268 add.w r2, r7, #104 ; 0x68 809db26: 4413 add r3, r2 809db28: 3b34 subs r3, #52 ; 0x34 809db2a: 460a mov r2, r1 809db2c: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809db2e: 6d39 ldr r1, [r7, #80] ; 0x50 809db30: 6dba ldr r2, [r7, #88] ; 0x58 809db32: 4ba1 ldr r3, [pc, #644] ; (809ddb8 ) 809db34: fba3 0302 umull r0, r3, r3, r2 809db38: 0b5b lsrs r3, r3, #13 809db3a: f242 7010 movw r0, #10000 ; 0x2710 809db3e: fb00 f303 mul.w r3, r0, r3 809db42: 1ad3 subs r3, r2, r3 809db44: 4a9d ldr r2, [pc, #628] ; (809ddbc ) 809db46: fba2 2303 umull r2, r3, r2, r3 809db4a: 099b lsrs r3, r3, #6 809db4c: b2da uxtb r2, r3 809db4e: 460b mov r3, r1 809db50: 009b lsls r3, r3, #2 809db52: 440b add r3, r1 809db54: f107 0168 add.w r1, r7, #104 ; 0x68 809db58: 440b add r3, r1 809db5a: 3b33 subs r3, #51 ; 0x33 809db5c: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809db5e: 6d39 ldr r1, [r7, #80] ; 0x50 809db60: 6dba ldr r2, [r7, #88] ; 0x58 809db62: 4b95 ldr r3, [pc, #596] ; (809ddb8 ) 809db64: fba3 0302 umull r0, r3, r3, r2 809db68: 0b5b lsrs r3, r3, #13 809db6a: f242 7010 movw r0, #10000 ; 0x2710 809db6e: fb00 f303 mul.w r3, r0, r3 809db72: 1ad3 subs r3, r2, r3 809db74: 4a91 ldr r2, [pc, #580] ; (809ddbc ) 809db76: fba2 0203 umull r0, r2, r2, r3 809db7a: 0992 lsrs r2, r2, #6 809db7c: f44f 707a mov.w r0, #1000 ; 0x3e8 809db80: fb00 f202 mul.w r2, r0, r2 809db84: 1a9a subs r2, r3, r2 809db86: 4b8e ldr r3, [pc, #568] ; (809ddc0 ) 809db88: fba3 2302 umull r2, r3, r3, r2 809db8c: 095b lsrs r3, r3, #5 809db8e: b2da uxtb r2, r3 809db90: 460b mov r3, r1 809db92: 009b lsls r3, r3, #2 809db94: 440b add r3, r1 809db96: f107 0168 add.w r1, r7, #104 ; 0x68 809db9a: 440b add r3, r1 809db9c: 3b32 subs r3, #50 ; 0x32 809db9e: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809dba0: 6d39 ldr r1, [r7, #80] ; 0x50 809dba2: 6dbb ldr r3, [r7, #88] ; 0x58 809dba4: 4a84 ldr r2, [pc, #528] ; (809ddb8 ) 809dba6: fba2 0203 umull r0, r2, r2, r3 809dbaa: 0b52 lsrs r2, r2, #13 809dbac: f242 7010 movw r0, #10000 ; 0x2710 809dbb0: fb00 f202 mul.w r2, r0, r2 809dbb4: 1a9a subs r2, r3, r2 809dbb6: 4b81 ldr r3, [pc, #516] ; (809ddbc ) 809dbb8: fba3 0302 umull r0, r3, r3, r2 809dbbc: 099b lsrs r3, r3, #6 809dbbe: f44f 707a mov.w r0, #1000 ; 0x3e8 809dbc2: fb00 f303 mul.w r3, r0, r3 809dbc6: 1ad3 subs r3, r2, r3 809dbc8: 4a7d ldr r2, [pc, #500] ; (809ddc0 ) 809dbca: fba2 0203 umull r0, r2, r2, r3 809dbce: 0952 lsrs r2, r2, #5 809dbd0: 2064 movs r0, #100 ; 0x64 809dbd2: fb00 f202 mul.w r2, r0, r2 809dbd6: 1a9a subs r2, r3, r2 809dbd8: 4b7a ldr r3, [pc, #488] ; (809ddc4 ) 809dbda: fba3 2302 umull r2, r3, r3, r2 809dbde: 08db lsrs r3, r3, #3 809dbe0: b2da uxtb r2, r3 809dbe2: 460b mov r3, r1 809dbe4: 009b lsls r3, r3, #2 809dbe6: 440b add r3, r1 809dbe8: f107 0168 add.w r1, r7, #104 ; 0x68 809dbec: 440b add r3, r1 809dbee: 3b31 subs r3, #49 ; 0x31 809dbf0: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809dbf2: 6d38 ldr r0, [r7, #80] ; 0x50 809dbf4: 6dbb ldr r3, [r7, #88] ; 0x58 809dbf6: 4a70 ldr r2, [pc, #448] ; (809ddb8 ) 809dbf8: fba2 1203 umull r1, r2, r2, r3 809dbfc: 0b52 lsrs r2, r2, #13 809dbfe: f242 7110 movw r1, #10000 ; 0x2710 809dc02: fb01 f202 mul.w r2, r1, r2 809dc06: 1a9a subs r2, r3, r2 809dc08: 4b6c ldr r3, [pc, #432] ; (809ddbc ) 809dc0a: fba3 1302 umull r1, r3, r3, r2 809dc0e: 099b lsrs r3, r3, #6 809dc10: f44f 717a mov.w r1, #1000 ; 0x3e8 809dc14: fb01 f303 mul.w r3, r1, r3 809dc18: 1ad3 subs r3, r2, r3 809dc1a: 4a69 ldr r2, [pc, #420] ; (809ddc0 ) 809dc1c: fba2 1203 umull r1, r2, r2, r3 809dc20: 0952 lsrs r2, r2, #5 809dc22: 2164 movs r1, #100 ; 0x64 809dc24: fb01 f202 mul.w r2, r1, r2 809dc28: 1a9a subs r2, r3, r2 809dc2a: 4b66 ldr r3, [pc, #408] ; (809ddc4 ) 809dc2c: fba3 1302 umull r1, r3, r3, r2 809dc30: 08d9 lsrs r1, r3, #3 809dc32: 460b mov r3, r1 809dc34: 009b lsls r3, r3, #2 809dc36: 440b add r3, r1 809dc38: 005b lsls r3, r3, #1 809dc3a: 1ad1 subs r1, r2, r3 809dc3c: b2ca uxtb r2, r1 809dc3e: 4603 mov r3, r0 809dc40: 009b lsls r3, r3, #2 809dc42: 4403 add r3, r0 809dc44: f107 0168 add.w r1, r7, #104 ; 0x68 809dc48: 440b add r3, r1 809dc4a: 3b30 subs r3, #48 ; 0x30 809dc4c: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 809dc4e: 6d3b ldr r3, [r7, #80] ; 0x50 809dc50: 4a5d ldr r2, [pc, #372] ; (809ddc8 ) 809dc52: 009b lsls r3, r3, #2 809dc54: 4413 add r3, r2 809dc56: edd3 7a00 vldr s15, [r3] 809dc5a: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809dc5e: eef4 7a47 vcmp.f32 s15, s14 809dc62: eef1 fa10 vmrs APSR_nzcv, fpscr 809dc66: f000 829f beq.w 809e1a8 if(ipr == ACC) 809dc6a: 6d3b ldr r3, [r7, #80] ; 0x50 809dc6c: 2b00 cmp r3, #0 809dc6e: f040 80dc bne.w 809de2a if(!t) 809dc72: 6d7b ldr r3, [r7, #84] ; 0x54 809dc74: 2b00 cmp r3, #0 809dc76: d126 bne.n 809dcc6 for(i = 0; i < 5; i++) 809dc78: 2300 movs r3, #0 809dc7a: 65fb str r3, [r7, #92] ; 0x5c 809dc7c: e01f b.n 809dcbe DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809dc7e: 6d3a ldr r2, [r7, #80] ; 0x50 809dc80: 6df9 ldr r1, [r7, #92] ; 0x5c 809dc82: 4613 mov r3, r2 809dc84: 009b lsls r3, r3, #2 809dc86: 4413 add r3, r2 809dc88: f107 0268 add.w r2, r7, #104 ; 0x68 809dc8c: 4413 add r3, r2 809dc8e: 440b add r3, r1 809dc90: 3b34 subs r3, #52 ; 0x34 809dc92: 781b ldrb r3, [r3, #0] 809dc94: b2db uxtb r3, r3 809dc96: 461a mov r2, r3 809dc98: 4b4c ldr r3, [pc, #304] ; (809ddcc ) 809dc9a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dc9e: 6dfb ldr r3, [r7, #92] ; 0x5c 809dca0: b29b uxth r3, r3 809dca2: 461a mov r2, r3 809dca4: 0112 lsls r2, r2, #4 809dca6: 1ad3 subs r3, r2, r3 809dca8: 005b lsls r3, r3, #1 809dcaa: b29b uxth r3, r3 809dcac: 335a adds r3, #90 ; 0x5a 809dcae: b29b uxth r3, r3 809dcb0: 2256 movs r2, #86 ; 0x56 809dcb2: 4619 mov r1, r3 809dcb4: f7b6 fc8a bl 80545cc for(i = 0; i < 5; i++) 809dcb8: 6dfb ldr r3, [r7, #92] ; 0x5c 809dcba: 3301 adds r3, #1 809dcbc: 65fb str r3, [r7, #92] ; 0x5c 809dcbe: 6dfb ldr r3, [r7, #92] ; 0x5c 809dcc0: 2b04 cmp r3, #4 809dcc2: d9dc bls.n 809dc7e 809dcc4: e05a b.n 809dd7c for(i = 0; i < t; i++) 809dcc6: 2300 movs r3, #0 809dcc8: 65fb str r3, [r7, #92] ; 0x5c 809dcca: e01f b.n 809dd0c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809dccc: 6d3a ldr r2, [r7, #80] ; 0x50 809dcce: 6df9 ldr r1, [r7, #92] ; 0x5c 809dcd0: 4613 mov r3, r2 809dcd2: 009b lsls r3, r3, #2 809dcd4: 4413 add r3, r2 809dcd6: f107 0268 add.w r2, r7, #104 ; 0x68 809dcda: 4413 add r3, r2 809dcdc: 440b add r3, r1 809dcde: 3b34 subs r3, #52 ; 0x34 809dce0: 781b ldrb r3, [r3, #0] 809dce2: b2db uxtb r3, r3 809dce4: 461a mov r2, r3 809dce6: 4b39 ldr r3, [pc, #228] ; (809ddcc ) 809dce8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dcec: 6dfb ldr r3, [r7, #92] ; 0x5c 809dcee: b29b uxth r3, r3 809dcf0: 461a mov r2, r3 809dcf2: 0112 lsls r2, r2, #4 809dcf4: 1ad3 subs r3, r2, r3 809dcf6: 005b lsls r3, r3, #1 809dcf8: b29b uxth r3, r3 809dcfa: 335a adds r3, #90 ; 0x5a 809dcfc: b29b uxth r3, r3 809dcfe: 2256 movs r2, #86 ; 0x56 809dd00: 4619 mov r1, r3 809dd02: f7b6 fc63 bl 80545cc for(i = 0; i < t; i++) 809dd06: 6dfb ldr r3, [r7, #92] ; 0x5c 809dd08: 3301 adds r3, #1 809dd0a: 65fb str r3, [r7, #92] ; 0x5c 809dd0c: 6dfa ldr r2, [r7, #92] ; 0x5c 809dd0e: 6d7b ldr r3, [r7, #84] ; 0x54 809dd10: 429a cmp r2, r3 809dd12: d3db bcc.n 809dccc DrawImage(&bmgpt, 95 + 30*t, 92+18); 809dd14: 6d7b ldr r3, [r7, #84] ; 0x54 809dd16: b29b uxth r3, r3 809dd18: 461a mov r2, r3 809dd1a: 0112 lsls r2, r2, #4 809dd1c: 1ad3 subs r3, r2, r3 809dd1e: 005b lsls r3, r3, #1 809dd20: b29b uxth r3, r3 809dd22: 335f adds r3, #95 ; 0x5f 809dd24: b29b uxth r3, r3 809dd26: 226e movs r2, #110 ; 0x6e 809dd28: 4619 mov r1, r3 809dd2a: 4829 ldr r0, [pc, #164] ; (809ddd0 ) 809dd2c: f7b6 fc4e bl 80545cc for(i = t; i < 5; i++) 809dd30: 6d7b ldr r3, [r7, #84] ; 0x54 809dd32: 65fb str r3, [r7, #92] ; 0x5c 809dd34: e01f b.n 809dd76 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809dd36: 6d3a ldr r2, [r7, #80] ; 0x50 809dd38: 6df9 ldr r1, [r7, #92] ; 0x5c 809dd3a: 4613 mov r3, r2 809dd3c: 009b lsls r3, r3, #2 809dd3e: 4413 add r3, r2 809dd40: f107 0268 add.w r2, r7, #104 ; 0x68 809dd44: 4413 add r3, r2 809dd46: 440b add r3, r1 809dd48: 3b34 subs r3, #52 ; 0x34 809dd4a: 781b ldrb r3, [r3, #0] 809dd4c: b2db uxtb r3, r3 809dd4e: 461a mov r2, r3 809dd50: 4b1e ldr r3, [pc, #120] ; (809ddcc ) 809dd52: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dd56: 6dfb ldr r3, [r7, #92] ; 0x5c 809dd58: b29b uxth r3, r3 809dd5a: 461a mov r2, r3 809dd5c: 0112 lsls r2, r2, #4 809dd5e: 1ad3 subs r3, r2, r3 809dd60: 005b lsls r3, r3, #1 809dd62: b29b uxth r3, r3 809dd64: 336e adds r3, #110 ; 0x6e 809dd66: b29b uxth r3, r3 809dd68: 2256 movs r2, #86 ; 0x56 809dd6a: 4619 mov r1, r3 809dd6c: f7b6 fc2e bl 80545cc for(i = t; i < 5; i++) 809dd70: 6dfb ldr r3, [r7, #92] ; 0x5c 809dd72: 3301 adds r3, #1 809dd74: 65fb str r3, [r7, #92] ; 0x5c 809dd76: 6dfb ldr r3, [r7, #92] ; 0x5c 809dd78: 2b04 cmp r3, #4 809dd7a: d9dc bls.n 809dd36 if(pardata.IVS[ACC] < PEAK_FACTOR) 809dd7c: 4b15 ldr r3, [pc, #84] ; (809ddd4 ) 809dd7e: 789b ldrb r3, [r3, #2] 809dd80: b2db uxtb r3, r3 809dd82: 2b02 cmp r3, #2 809dd84: d837 bhi.n 809ddf6 if(pardata.IIN != VOLTS) 809dd86: 4b13 ldr r3, [pc, #76] ; (809ddd4 ) 809dd88: 799b ldrb r3, [r3, #6] 809dd8a: b2db uxtb r3, r3 809dd8c: 2b02 cmp r3, #2 809dd8e: d025 beq.n 809dddc DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809dd90: 4b10 ldr r3, [pc, #64] ; (809ddd4 ) 809dd92: 7b1b ldrb r3, [r3, #12] 809dd94: b2db uxtb r3, r3 809dd96: 461a mov r2, r3 809dd98: 4b0f ldr r3, [pc, #60] ; (809ddd8 ) 809dd9a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809dd9e: 225c movs r2, #92 ; 0x5c 809dda0: f240 1109 movw r1, #265 ; 0x109 809dda4: 4618 mov r0, r3 809dda6: f7b6 fc11 bl 80545cc 809ddaa: e024 b.n 809ddf6 809ddac: 0001869f .word 0x0001869f 809ddb0: 4cbebc20 .word 0x4cbebc20 809ddb4: 47c34f80 .word 0x47c34f80 809ddb8: d1b71759 .word 0xd1b71759 809ddbc: 10624dd3 .word 0x10624dd3 809ddc0: 51eb851f .word 0x51eb851f 809ddc4: cccccccd .word 0xcccccccd 809ddc8: 20021540 .word 0x20021540 809ddcc: 20020124 .word 0x20020124 809ddd0: 08167a54 .word 0x08167a54 809ddd4: 20023e60 .word 0x20023e60 809ddd8: 200200f4 .word 0x200200f4 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 809dddc: 4baa ldr r3, [pc, #680] ; (809e088 ) 809ddde: 7b1b ldrb r3, [r3, #12] 809dde0: b2db uxtb r3, r3 809dde2: 461a mov r2, r3 809dde4: 4ba9 ldr r3, [pc, #676] ; (809e08c ) 809dde6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ddea: 225c movs r2, #92 ; 0x5c 809ddec: f240 1109 movw r1, #265 ; 0x109 809ddf0: 4618 mov r0, r3 809ddf2: f7b6 fbeb bl 80545cc if(pardata.IVS[ipr] == EXCESS) 809ddf6: 6d3b ldr r3, [r7, #80] ; 0x50 809ddf8: 4aa3 ldr r2, [pc, #652] ; (809e088 ) 809ddfa: 4413 add r3, r2 809ddfc: 789b ldrb r3, [r3, #2] 809ddfe: b2db uxtb r3, r3 809de00: 2b04 cmp r3, #4 809de02: f040 820a bne.w 809e21a if(skz[ipr] < 0.0f) { 809de06: 6d3b ldr r3, [r7, #80] ; 0x50 809de08: 4aa1 ldr r2, [pc, #644] ; (809e090 ) 809de0a: 009b lsls r3, r3, #2 809de0c: 4413 add r3, r2 809de0e: edd3 7a00 vldr s15, [r3] 809de12: eef5 7ac0 vcmpe.f32 s15, #0.0 809de16: eef1 fa10 vmrs APSR_nzcv, fpscr 809de1a: f140 81fe bpl.w 809e21a DrawImage(&bmgminus, 78, 84+18); 809de1e: 2266 movs r2, #102 ; 0x66 809de20: 214e movs r1, #78 ; 0x4e 809de22: 489c ldr r0, [pc, #624] ; (809e094 ) 809de24: f7b6 fbd2 bl 80545cc 809de28: e1f7 b.n 809e21a if(ipr == VEL) 809de2a: 6d3b ldr r3, [r7, #80] ; 0x50 809de2c: 2b01 cmp r3, #1 809de2e: f040 80c4 bne.w 809dfba if(!t) 809de32: 6d7b ldr r3, [r7, #84] ; 0x54 809de34: 2b00 cmp r3, #0 809de36: d126 bne.n 809de86 for(i = 0; i < 5; i++) 809de38: 2300 movs r3, #0 809de3a: 65fb str r3, [r7, #92] ; 0x5c 809de3c: e01f b.n 809de7e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809de3e: 6d3a ldr r2, [r7, #80] ; 0x50 809de40: 6df9 ldr r1, [r7, #92] ; 0x5c 809de42: 4613 mov r3, r2 809de44: 009b lsls r3, r3, #2 809de46: 4413 add r3, r2 809de48: f107 0268 add.w r2, r7, #104 ; 0x68 809de4c: 4413 add r3, r2 809de4e: 440b add r3, r1 809de50: 3b34 subs r3, #52 ; 0x34 809de52: 781b ldrb r3, [r3, #0] 809de54: b2db uxtb r3, r3 809de56: 461a mov r2, r3 809de58: 4b8f ldr r3, [pc, #572] ; (809e098 ) 809de5a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809de5e: 6dfb ldr r3, [r7, #92] ; 0x5c 809de60: b29b uxth r3, r3 809de62: 461a mov r2, r3 809de64: 0112 lsls r2, r2, #4 809de66: 1ad3 subs r3, r2, r3 809de68: 005b lsls r3, r3, #1 809de6a: b29b uxth r3, r3 809de6c: 335a adds r3, #90 ; 0x5a 809de6e: b29b uxth r3, r3 809de70: 2282 movs r2, #130 ; 0x82 809de72: 4619 mov r1, r3 809de74: f7b6 fbaa bl 80545cc for(i = 0; i < 5; i++) 809de78: 6dfb ldr r3, [r7, #92] ; 0x5c 809de7a: 3301 adds r3, #1 809de7c: 65fb str r3, [r7, #92] ; 0x5c 809de7e: 6dfb ldr r3, [r7, #92] ; 0x5c 809de80: 2b04 cmp r3, #4 809de82: d9dc bls.n 809de3e 809de84: e05a b.n 809df3c for(i = 0; i < t; i++) 809de86: 2300 movs r3, #0 809de88: 65fb str r3, [r7, #92] ; 0x5c 809de8a: e01f b.n 809decc DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809de8c: 6d3a ldr r2, [r7, #80] ; 0x50 809de8e: 6df9 ldr r1, [r7, #92] ; 0x5c 809de90: 4613 mov r3, r2 809de92: 009b lsls r3, r3, #2 809de94: 4413 add r3, r2 809de96: f107 0268 add.w r2, r7, #104 ; 0x68 809de9a: 4413 add r3, r2 809de9c: 440b add r3, r1 809de9e: 3b34 subs r3, #52 ; 0x34 809dea0: 781b ldrb r3, [r3, #0] 809dea2: b2db uxtb r3, r3 809dea4: 461a mov r2, r3 809dea6: 4b7c ldr r3, [pc, #496] ; (809e098 ) 809dea8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809deac: 6dfb ldr r3, [r7, #92] ; 0x5c 809deae: b29b uxth r3, r3 809deb0: 461a mov r2, r3 809deb2: 0112 lsls r2, r2, #4 809deb4: 1ad3 subs r3, r2, r3 809deb6: 005b lsls r3, r3, #1 809deb8: b29b uxth r3, r3 809deba: 335a adds r3, #90 ; 0x5a 809debc: b29b uxth r3, r3 809debe: 2282 movs r2, #130 ; 0x82 809dec0: 4619 mov r1, r3 809dec2: f7b6 fb83 bl 80545cc for(i = 0; i < t; i++) 809dec6: 6dfb ldr r3, [r7, #92] ; 0x5c 809dec8: 3301 adds r3, #1 809deca: 65fb str r3, [r7, #92] ; 0x5c 809decc: 6dfa ldr r2, [r7, #92] ; 0x5c 809dece: 6d7b ldr r3, [r7, #84] ; 0x54 809ded0: 429a cmp r2, r3 809ded2: d3db bcc.n 809de8c DrawImage(&bmgpt, 95 + 30*t, 145+9); 809ded4: 6d7b ldr r3, [r7, #84] ; 0x54 809ded6: b29b uxth r3, r3 809ded8: 461a mov r2, r3 809deda: 0112 lsls r2, r2, #4 809dedc: 1ad3 subs r3, r2, r3 809dede: 005b lsls r3, r3, #1 809dee0: b29b uxth r3, r3 809dee2: 335f adds r3, #95 ; 0x5f 809dee4: b29b uxth r3, r3 809dee6: 229a movs r2, #154 ; 0x9a 809dee8: 4619 mov r1, r3 809deea: 486c ldr r0, [pc, #432] ; (809e09c ) 809deec: f7b6 fb6e bl 80545cc for(i = t; i < 5; i++) 809def0: 6d7b ldr r3, [r7, #84] ; 0x54 809def2: 65fb str r3, [r7, #92] ; 0x5c 809def4: e01f b.n 809df36 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809def6: 6d3a ldr r2, [r7, #80] ; 0x50 809def8: 6df9 ldr r1, [r7, #92] ; 0x5c 809defa: 4613 mov r3, r2 809defc: 009b lsls r3, r3, #2 809defe: 4413 add r3, r2 809df00: f107 0268 add.w r2, r7, #104 ; 0x68 809df04: 4413 add r3, r2 809df06: 440b add r3, r1 809df08: 3b34 subs r3, #52 ; 0x34 809df0a: 781b ldrb r3, [r3, #0] 809df0c: b2db uxtb r3, r3 809df0e: 461a mov r2, r3 809df10: 4b61 ldr r3, [pc, #388] ; (809e098 ) 809df12: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809df16: 6dfb ldr r3, [r7, #92] ; 0x5c 809df18: b29b uxth r3, r3 809df1a: 461a mov r2, r3 809df1c: 0112 lsls r2, r2, #4 809df1e: 1ad3 subs r3, r2, r3 809df20: 005b lsls r3, r3, #1 809df22: b29b uxth r3, r3 809df24: 336e adds r3, #110 ; 0x6e 809df26: b29b uxth r3, r3 809df28: 2282 movs r2, #130 ; 0x82 809df2a: 4619 mov r1, r3 809df2c: f7b6 fb4e bl 80545cc for(i = t; i < 5; i++) 809df30: 6dfb ldr r3, [r7, #92] ; 0x5c 809df32: 3301 adds r3, #1 809df34: 65fb str r3, [r7, #92] ; 0x5c 809df36: 6dfb ldr r3, [r7, #92] ; 0x5c 809df38: 2b04 cmp r3, #4 809df3a: d9dc bls.n 809def6 if(pardata.IVS[VEL] < PEAK_FACTOR) 809df3c: 4b52 ldr r3, [pc, #328] ; (809e088 ) 809df3e: 78db ldrb r3, [r3, #3] 809df40: b2db uxtb r3, r3 809df42: 2b02 cmp r3, #2 809df44: d81f bhi.n 809df86 if(pardata.IIN != VOLTS) 809df46: 4b50 ldr r3, [pc, #320] ; (809e088 ) 809df48: 799b ldrb r3, [r3, #6] 809df4a: b2db uxtb r3, r3 809df4c: 2b02 cmp r3, #2 809df4e: d00d beq.n 809df6c DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809df50: 4b4d ldr r3, [pc, #308] ; (809e088 ) 809df52: 7b1b ldrb r3, [r3, #12] 809df54: b2db uxtb r3, r3 809df56: 461a mov r2, r3 809df58: 4b51 ldr r3, [pc, #324] ; (809e0a0 ) 809df5a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809df5e: 2289 movs r2, #137 ; 0x89 809df60: f240 1109 movw r1, #265 ; 0x109 809df64: 4618 mov r0, r3 809df66: f7b6 fb31 bl 80545cc 809df6a: e00c b.n 809df86 else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 809df6c: 4b46 ldr r3, [pc, #280] ; (809e088 ) 809df6e: 7b1b ldrb r3, [r3, #12] 809df70: b2db uxtb r3, r3 809df72: 461a mov r2, r3 809df74: 4b45 ldr r3, [pc, #276] ; (809e08c ) 809df76: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809df7a: 2289 movs r2, #137 ; 0x89 809df7c: f240 1109 movw r1, #265 ; 0x109 809df80: 4618 mov r0, r3 809df82: f7b6 fb23 bl 80545cc if(pardata.IVS[ipr] == EXCESS) 809df86: 6d3b ldr r3, [r7, #80] ; 0x50 809df88: 4a3f ldr r2, [pc, #252] ; (809e088 ) 809df8a: 4413 add r3, r2 809df8c: 789b ldrb r3, [r3, #2] 809df8e: b2db uxtb r3, r3 809df90: 2b04 cmp r3, #4 809df92: f040 8142 bne.w 809e21a if(skz[ipr] < 0.0f) { 809df96: 6d3b ldr r3, [r7, #80] ; 0x50 809df98: 4a3d ldr r2, [pc, #244] ; (809e090 ) 809df9a: 009b lsls r3, r3, #2 809df9c: 4413 add r3, r2 809df9e: edd3 7a00 vldr s15, [r3] 809dfa2: eef5 7ac0 vcmpe.f32 s15, #0.0 809dfa6: eef1 fa10 vmrs APSR_nzcv, fpscr 809dfaa: f140 8136 bpl.w 809e21a DrawImage(&bmgminus, 78, 138+9); 809dfae: 2293 movs r2, #147 ; 0x93 809dfb0: 214e movs r1, #78 ; 0x4e 809dfb2: 4838 ldr r0, [pc, #224] ; (809e094 ) 809dfb4: f7b6 fb0a bl 80545cc 809dfb8: e12f b.n 809e21a if(ipr == DIS) 809dfba: 6d3b ldr r3, [r7, #80] ; 0x50 809dfbc: 2b02 cmp r3, #2 809dfbe: f040 812c bne.w 809e21a if(!t) 809dfc2: 6d7b ldr r3, [r7, #84] ; 0x54 809dfc4: 2b00 cmp r3, #0 809dfc6: d126 bne.n 809e016 for(i = 0; i < 5; i++) 809dfc8: 2300 movs r3, #0 809dfca: 65fb str r3, [r7, #92] ; 0x5c 809dfcc: e01f b.n 809e00e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809dfce: 6d3a ldr r2, [r7, #80] ; 0x50 809dfd0: 6df9 ldr r1, [r7, #92] ; 0x5c 809dfd2: 4613 mov r3, r2 809dfd4: 009b lsls r3, r3, #2 809dfd6: 4413 add r3, r2 809dfd8: f107 0268 add.w r2, r7, #104 ; 0x68 809dfdc: 4413 add r3, r2 809dfde: 440b add r3, r1 809dfe0: 3b34 subs r3, #52 ; 0x34 809dfe2: 781b ldrb r3, [r3, #0] 809dfe4: b2db uxtb r3, r3 809dfe6: 461a mov r2, r3 809dfe8: 4b2b ldr r3, [pc, #172] ; (809e098 ) 809dfea: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809dfee: 6dfb ldr r3, [r7, #92] ; 0x5c 809dff0: b29b uxth r3, r3 809dff2: 461a mov r2, r3 809dff4: 0112 lsls r2, r2, #4 809dff6: 1ad3 subs r3, r2, r3 809dff8: 005b lsls r3, r3, #1 809dffa: b29b uxth r3, r3 809dffc: 335a adds r3, #90 ; 0x5a 809dffe: b29b uxth r3, r3 809e000: 22ae movs r2, #174 ; 0xae 809e002: 4619 mov r1, r3 809e004: f7b6 fae2 bl 80545cc for(i = 0; i < 5; i++) 809e008: 6dfb ldr r3, [r7, #92] ; 0x5c 809e00a: 3301 adds r3, #1 809e00c: 65fb str r3, [r7, #92] ; 0x5c 809e00e: 6dfb ldr r3, [r7, #92] ; 0x5c 809e010: 2b04 cmp r3, #4 809e012: d9dc bls.n 809dfce 809e014: e069 b.n 809e0ea for(i = 0; i < t; i++) 809e016: 2300 movs r3, #0 809e018: 65fb str r3, [r7, #92] ; 0x5c 809e01a: e01f b.n 809e05c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809e01c: 6d3a ldr r2, [r7, #80] ; 0x50 809e01e: 6df9 ldr r1, [r7, #92] ; 0x5c 809e020: 4613 mov r3, r2 809e022: 009b lsls r3, r3, #2 809e024: 4413 add r3, r2 809e026: f107 0268 add.w r2, r7, #104 ; 0x68 809e02a: 4413 add r3, r2 809e02c: 440b add r3, r1 809e02e: 3b34 subs r3, #52 ; 0x34 809e030: 781b ldrb r3, [r3, #0] 809e032: b2db uxtb r3, r3 809e034: 461a mov r2, r3 809e036: 4b18 ldr r3, [pc, #96] ; (809e098 ) 809e038: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e03c: 6dfb ldr r3, [r7, #92] ; 0x5c 809e03e: b29b uxth r3, r3 809e040: 461a mov r2, r3 809e042: 0112 lsls r2, r2, #4 809e044: 1ad3 subs r3, r2, r3 809e046: 005b lsls r3, r3, #1 809e048: b29b uxth r3, r3 809e04a: 335a adds r3, #90 ; 0x5a 809e04c: b29b uxth r3, r3 809e04e: 22ae movs r2, #174 ; 0xae 809e050: 4619 mov r1, r3 809e052: f7b6 fabb bl 80545cc for(i = 0; i < t; i++) 809e056: 6dfb ldr r3, [r7, #92] ; 0x5c 809e058: 3301 adds r3, #1 809e05a: 65fb str r3, [r7, #92] ; 0x5c 809e05c: 6dfa ldr r2, [r7, #92] ; 0x5c 809e05e: 6d7b ldr r3, [r7, #84] ; 0x54 809e060: 429a cmp r2, r3 809e062: d3db bcc.n 809e01c DrawImage(&bmgpt, 95 + 30*t, 198); 809e064: 6d7b ldr r3, [r7, #84] ; 0x54 809e066: b29b uxth r3, r3 809e068: 461a mov r2, r3 809e06a: 0112 lsls r2, r2, #4 809e06c: 1ad3 subs r3, r2, r3 809e06e: 005b lsls r3, r3, #1 809e070: b29b uxth r3, r3 809e072: 335f adds r3, #95 ; 0x5f 809e074: b29b uxth r3, r3 809e076: 22c6 movs r2, #198 ; 0xc6 809e078: 4619 mov r1, r3 809e07a: 4808 ldr r0, [pc, #32] ; (809e09c ) 809e07c: f7b6 faa6 bl 80545cc for(i = t; i < 5; i++) 809e080: 6d7b ldr r3, [r7, #84] ; 0x54 809e082: 65fb str r3, [r7, #92] ; 0x5c 809e084: e02e b.n 809e0e4 809e086: bf00 nop 809e088: 20023e60 .word 0x20023e60 809e08c: 20020114 .word 0x20020114 809e090: 20021540 .word 0x20021540 809e094: 081679c8 .word 0x081679c8 809e098: 20020124 .word 0x20020124 809e09c: 08167a54 .word 0x08167a54 809e0a0: 200200fc .word 0x200200fc DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809e0a4: 6d3a ldr r2, [r7, #80] ; 0x50 809e0a6: 6df9 ldr r1, [r7, #92] ; 0x5c 809e0a8: 4613 mov r3, r2 809e0aa: 009b lsls r3, r3, #2 809e0ac: 4413 add r3, r2 809e0ae: f107 0268 add.w r2, r7, #104 ; 0x68 809e0b2: 4413 add r3, r2 809e0b4: 440b add r3, r1 809e0b6: 3b34 subs r3, #52 ; 0x34 809e0b8: 781b ldrb r3, [r3, #0] 809e0ba: b2db uxtb r3, r3 809e0bc: 461a mov r2, r3 809e0be: 4bbe ldr r3, [pc, #760] ; (809e3b8 ) 809e0c0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e0c4: 6dfb ldr r3, [r7, #92] ; 0x5c 809e0c6: b29b uxth r3, r3 809e0c8: 461a mov r2, r3 809e0ca: 0112 lsls r2, r2, #4 809e0cc: 1ad3 subs r3, r2, r3 809e0ce: 005b lsls r3, r3, #1 809e0d0: b29b uxth r3, r3 809e0d2: 336e adds r3, #110 ; 0x6e 809e0d4: b29b uxth r3, r3 809e0d6: 22ae movs r2, #174 ; 0xae 809e0d8: 4619 mov r1, r3 809e0da: f7b6 fa77 bl 80545cc for(i = t; i < 5; i++) 809e0de: 6dfb ldr r3, [r7, #92] ; 0x5c 809e0e0: 3301 adds r3, #1 809e0e2: 65fb str r3, [r7, #92] ; 0x5c 809e0e4: 6dfb ldr r3, [r7, #92] ; 0x5c 809e0e6: 2b04 cmp r3, #4 809e0e8: d9dc bls.n 809e0a4 if(pardata.IVS[DIS] < PEAK_FACTOR) 809e0ea: 4bb4 ldr r3, [pc, #720] ; (809e3bc ) 809e0ec: 791b ldrb r3, [r3, #4] 809e0ee: b2db uxtb r3, r3 809e0f0: 2b02 cmp r3, #2 809e0f2: d841 bhi.n 809e178 if(pardata.IIN != VOLTS) 809e0f4: 4bb1 ldr r3, [pc, #708] ; (809e3bc ) 809e0f6: 799b ldrb r3, [r3, #6] 809e0f8: b2db uxtb r3, r3 809e0fa: 2b02 cmp r3, #2 809e0fc: d01e beq.n 809e13c if(m == 0) 809e0fe: 6cfb ldr r3, [r7, #76] ; 0x4c 809e100: 2b00 cmp r3, #0 809e102: d10d bne.n 809e120 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809e104: 4bad ldr r3, [pc, #692] ; (809e3bc ) 809e106: 7b1b ldrb r3, [r3, #12] 809e108: b2db uxtb r3, r3 809e10a: 461a mov r2, r3 809e10c: 4bac ldr r3, [pc, #688] ; (809e3c0 ) 809e10e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e112: 22b4 movs r2, #180 ; 0xb4 809e114: f240 1109 movw r1, #265 ; 0x109 809e118: 4618 mov r0, r3 809e11a: f7b6 fa57 bl 80545cc 809e11e: e02b b.n 809e178 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809e120: 4ba6 ldr r3, [pc, #664] ; (809e3bc ) 809e122: 7b1b ldrb r3, [r3, #12] 809e124: b2db uxtb r3, r3 809e126: 461a mov r2, r3 809e128: 4ba6 ldr r3, [pc, #664] ; (809e3c4 ) 809e12a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e12e: 22b4 movs r2, #180 ; 0xb4 809e130: f240 1109 movw r1, #265 ; 0x109 809e134: 4618 mov r0, r3 809e136: f7b6 fa49 bl 80545cc 809e13a: e01d b.n 809e178 if(m == 0) 809e13c: 6cfb ldr r3, [r7, #76] ; 0x4c 809e13e: 2b00 cmp r3, #0 809e140: d10d bne.n 809e15e DrawImage(BMG_MV[pardata.LANG], 265, 180); 809e142: 4b9e ldr r3, [pc, #632] ; (809e3bc ) 809e144: 7b1b ldrb r3, [r3, #12] 809e146: b2db uxtb r3, r3 809e148: 461a mov r2, r3 809e14a: 4b9f ldr r3, [pc, #636] ; (809e3c8 ) 809e14c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e150: 22b4 movs r2, #180 ; 0xb4 809e152: f240 1109 movw r1, #265 ; 0x109 809e156: 4618 mov r0, r3 809e158: f7b6 fa38 bl 80545cc 809e15c: e00c b.n 809e178 else DrawImage(BMG_V[pardata.LANG], 265, 180); 809e15e: 4b97 ldr r3, [pc, #604] ; (809e3bc ) 809e160: 7b1b ldrb r3, [r3, #12] 809e162: b2db uxtb r3, r3 809e164: 461a mov r2, r3 809e166: 4b99 ldr r3, [pc, #612] ; (809e3cc ) 809e168: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e16c: 22b4 movs r2, #180 ; 0xb4 809e16e: f240 1109 movw r1, #265 ; 0x109 809e172: 4618 mov r0, r3 809e174: f7b6 fa2a bl 80545cc if(pardata.IVS[ipr] == EXCESS) 809e178: 6d3b ldr r3, [r7, #80] ; 0x50 809e17a: 4a90 ldr r2, [pc, #576] ; (809e3bc ) 809e17c: 4413 add r3, r2 809e17e: 789b ldrb r3, [r3, #2] 809e180: b2db uxtb r3, r3 809e182: 2b04 cmp r3, #4 809e184: d149 bne.n 809e21a if(skz[ipr] < 0.0f) { 809e186: 6d3b ldr r3, [r7, #80] ; 0x50 809e188: 4a91 ldr r2, [pc, #580] ; (809e3d0 ) 809e18a: 009b lsls r3, r3, #2 809e18c: 4413 add r3, r2 809e18e: edd3 7a00 vldr s15, [r3] 809e192: eef5 7ac0 vcmpe.f32 s15, #0.0 809e196: eef1 fa10 vmrs APSR_nzcv, fpscr 809e19a: d53e bpl.n 809e21a DrawImage(&bmgminus, 78, 190); 809e19c: 22be movs r2, #190 ; 0xbe 809e19e: 214e movs r1, #78 ; 0x4e 809e1a0: 488c ldr r0, [pc, #560] ; (809e3d4 ) 809e1a2: f7b6 fa13 bl 80545cc 809e1a6: e038 b.n 809e21a if(skz[ACC] != -1.0f) 809e1a8: 4b89 ldr r3, [pc, #548] ; (809e3d0 ) 809e1aa: edd3 7a00 vldr s15, [r3] 809e1ae: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809e1b2: eef4 7a47 vcmp.f32 s15, s14 809e1b6: eef1 fa10 vmrs APSR_nzcv, fpscr 809e1ba: d02e beq.n 809e21a if(ipr == VEL) 809e1bc: 6d3b ldr r3, [r7, #80] ; 0x50 809e1be: 2b01 cmp r3, #1 809e1c0: d114 bne.n 809e1ec LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809e1c2: 4985 ldr r1, [pc, #532] ; (809e3d8 ) 809e1c4: 4885 ldr r0, [pc, #532] ; (809e3dc ) 809e1c6: f7b5 fb0d bl 80537e4 if(pardata.LANG == RUS) 809e1ca: 4b7c ldr r3, [pc, #496] ; (809e3bc ) 809e1cc: 7b1b ldrb r3, [r3, #12] 809e1ce: b2db uxtb r3, r3 809e1d0: 2b00 cmp r3, #0 809e1d2: d105 bne.n 809e1e0 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809e1d4: 4a82 ldr r2, [pc, #520] ; (809e3e0 ) 809e1d6: 2187 movs r1, #135 ; 0x87 809e1d8: 20a7 movs r0, #167 ; 0xa7 809e1da: f7b6 f8c3 bl 8054364 809e1de: e01c b.n 809e21a else LCD_DisplayStringC(167, 135, "NO DATA"); 809e1e0: 4a80 ldr r2, [pc, #512] ; (809e3e4 ) 809e1e2: 2187 movs r1, #135 ; 0x87 809e1e4: 20a7 movs r0, #167 ; 0xa7 809e1e6: f7b6 f8bd bl 8054364 809e1ea: e016 b.n 809e21a if(ipr == DIS) 809e1ec: 6d3b ldr r3, [r7, #80] ; 0x50 809e1ee: 2b02 cmp r3, #2 809e1f0: d113 bne.n 809e21a LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809e1f2: 4979 ldr r1, [pc, #484] ; (809e3d8 ) 809e1f4: 4879 ldr r0, [pc, #484] ; (809e3dc ) 809e1f6: f7b5 faf5 bl 80537e4 if(pardata.LANG == RUS) 809e1fa: 4b70 ldr r3, [pc, #448] ; (809e3bc ) 809e1fc: 7b1b ldrb r3, [r3, #12] 809e1fe: b2db uxtb r3, r3 809e200: 2b00 cmp r3, #0 809e202: d105 bne.n 809e210 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809e204: 4a76 ldr r2, [pc, #472] ; (809e3e0 ) 809e206: 21b9 movs r1, #185 ; 0xb9 809e208: 20a7 movs r0, #167 ; 0xa7 809e20a: f7b6 f8ab bl 8054364 809e20e: e004 b.n 809e21a else LCD_DisplayStringC(167, 185, "NO DATA"); 809e210: 4a74 ldr r2, [pc, #464] ; (809e3e4 ) 809e212: 21b9 movs r1, #185 ; 0xb9 809e214: 20a7 movs r0, #167 ; 0xa7 809e216: f7b6 f8a5 bl 8054364 for(ipr = ACC; ipr <= DIS; ipr++) 809e21a: 6d3b ldr r3, [r7, #80] ; 0x50 809e21c: 3301 adds r3, #1 809e21e: 653b str r3, [r7, #80] ; 0x50 809e220: 6d3b ldr r3, [r7, #80] ; 0x50 809e222: 2b02 cmp r3, #2 809e224: f67f aa51 bls.w 809d6ca break; 809e228: f001 ba08 b.w 809f63c for(ipr = ACC; ipr <= DIS; ipr++) 809e22c: 2300 movs r3, #0 809e22e: 653b str r3, [r7, #80] ; 0x50 809e230: f001 ba00 b.w 809f634 if(pardata.IVS[ipr] >= PEAK_FACTOR) 809e234: 6d3b ldr r3, [r7, #80] ; 0x50 809e236: 4a61 ldr r2, [pc, #388] ; (809e3bc ) 809e238: 4413 add r3, r2 809e23a: 789b ldrb r3, [r3, #2] 809e23c: b2db uxtb r3, r3 809e23e: 2b02 cmp r3, #2 809e240: f240 85bd bls.w 809edbe memset(str, 0, sizeof(str)); 809e244: f107 030c add.w r3, r7, #12 809e248: 2228 movs r2, #40 ; 0x28 809e24a: 2100 movs r1, #0 809e24c: 4618 mov r0, r3 809e24e: f02e ff17 bl 80cd080 f = ABS(skz[ipr]); 809e252: 6d3b ldr r3, [r7, #80] ; 0x50 809e254: 4a5e ldr r2, [pc, #376] ; (809e3d0 ) 809e256: 009b lsls r3, r3, #2 809e258: 4413 add r3, r2 809e25a: edd3 7a00 vldr s15, [r3] 809e25e: eef5 7ac0 vcmpe.f32 s15, #0.0 809e262: eef1 fa10 vmrs APSR_nzcv, fpscr 809e266: dd06 ble.n 809e276 809e268: 6d3b ldr r3, [r7, #80] ; 0x50 809e26a: 4a59 ldr r2, [pc, #356] ; (809e3d0 ) 809e26c: 009b lsls r3, r3, #2 809e26e: 4413 add r3, r2 809e270: edd3 7a00 vldr s15, [r3] 809e274: e007 b.n 809e286 809e276: 6d3b ldr r3, [r7, #80] ; 0x50 809e278: 4a55 ldr r2, [pc, #340] ; (809e3d0 ) 809e27a: 009b lsls r3, r3, #2 809e27c: 4413 add r3, r2 809e27e: edd3 7a00 vldr s15, [r3] 809e282: eef1 7a67 vneg.f32 s15, s15 809e286: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 809e28a: 6d3b ldr r3, [r7, #80] ; 0x50 809e28c: 2b01 cmp r3, #1 809e28e: f200 80d1 bhi.w 809e434 if(f < 10.0f) 809e292: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e296: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e29a: eef4 7ac7 vcmpe.f32 s15, s14 809e29e: eef1 fa10 vmrs APSR_nzcv, fpscr 809e2a2: d513 bpl.n 809e2cc k = (uint32_t) (roundf(f * 10000)); 809e2a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e2a8: ed9f 7a4f vldr s14, [pc, #316] ; 809e3e8 809e2ac: ee67 7a87 vmul.f32 s15, s15, s14 809e2b0: eeb0 0a67 vmov.f32 s0, s15 809e2b4: f02c fce6 bl 80cac84 809e2b8: eef0 7a40 vmov.f32 s15, s0 809e2bc: eefc 7ae7 vcvt.u32.f32 s15, s15 809e2c0: ee17 3a90 vmov r3, s15 809e2c4: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809e2c6: 2301 movs r3, #1 809e2c8: 657b str r3, [r7, #84] ; 0x54 809e2ca: e1e1 b.n 809e690 if(f < 100.0f) 809e2cc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e2d0: ed9f 7a46 vldr s14, [pc, #280] ; 809e3ec 809e2d4: eef4 7ac7 vcmpe.f32 s15, s14 809e2d8: eef1 fa10 vmrs APSR_nzcv, fpscr 809e2dc: d513 bpl.n 809e306 k = (uint32_t) (roundf(f * 1000)); 809e2de: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e2e2: ed9f 7a43 vldr s14, [pc, #268] ; 809e3f0 809e2e6: ee67 7a87 vmul.f32 s15, s15, s14 809e2ea: eeb0 0a67 vmov.f32 s0, s15 809e2ee: f02c fcc9 bl 80cac84 809e2f2: eef0 7a40 vmov.f32 s15, s0 809e2f6: eefc 7ae7 vcvt.u32.f32 s15, s15 809e2fa: ee17 3a90 vmov r3, s15 809e2fe: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809e300: 2302 movs r3, #2 809e302: 657b str r3, [r7, #84] ; 0x54 809e304: e1c4 b.n 809e690 if(f < 1000.0f) 809e306: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e30a: ed9f 7a39 vldr s14, [pc, #228] ; 809e3f0 809e30e: eef4 7ac7 vcmpe.f32 s15, s14 809e312: eef1 fa10 vmrs APSR_nzcv, fpscr 809e316: d513 bpl.n 809e340 k = (uint32_t) (roundf(f * 100)); 809e318: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e31c: ed9f 7a33 vldr s14, [pc, #204] ; 809e3ec 809e320: ee67 7a87 vmul.f32 s15, s15, s14 809e324: eeb0 0a67 vmov.f32 s0, s15 809e328: f02c fcac bl 80cac84 809e32c: eef0 7a40 vmov.f32 s15, s0 809e330: eefc 7ae7 vcvt.u32.f32 s15, s15 809e334: ee17 3a90 vmov r3, s15 809e338: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809e33a: 2303 movs r3, #3 809e33c: 657b str r3, [r7, #84] ; 0x54 809e33e: e1a7 b.n 809e690 if(f < 10000.0f) 809e340: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e344: ed9f 7a28 vldr s14, [pc, #160] ; 809e3e8 809e348: eef4 7ac7 vcmpe.f32 s15, s14 809e34c: eef1 fa10 vmrs APSR_nzcv, fpscr 809e350: d513 bpl.n 809e37a k = (uint32_t) (roundf(f * 10)); 809e352: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e356: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e35a: ee67 7a87 vmul.f32 s15, s15, s14 809e35e: eeb0 0a67 vmov.f32 s0, s15 809e362: f02c fc8f bl 80cac84 809e366: eef0 7a40 vmov.f32 s15, s0 809e36a: eefc 7ae7 vcvt.u32.f32 s15, s15 809e36e: ee17 3a90 vmov r3, s15 809e372: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809e374: 2304 movs r3, #4 809e376: 657b str r3, [r7, #84] ; 0x54 809e378: e18a b.n 809e690 if(f < 100000.0f) 809e37a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e37e: ed9f 7a1e vldr s14, [pc, #120] ; 809e3f8 809e382: eef4 7ac7 vcmpe.f32 s15, s14 809e386: eef1 fa10 vmrs APSR_nzcv, fpscr 809e38a: d537 bpl.n 809e3fc k = (uint32_t) (roundf(f)); 809e38c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e390: eeb0 0a67 vmov.f32 s0, s15 809e394: f02c fc76 bl 80cac84 809e398: eef0 7a40 vmov.f32 s15, s0 809e39c: eefc 7ae7 vcvt.u32.f32 s15, s15 809e3a0: ee17 3a90 vmov r3, s15 809e3a4: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809e3a6: 6dbb ldr r3, [r7, #88] ; 0x58 809e3a8: 4a12 ldr r2, [pc, #72] ; (809e3f4 ) 809e3aa: 4293 cmp r3, r2 809e3ac: d901 bls.n 809e3b2 k = 99999; 809e3ae: 4b11 ldr r3, [pc, #68] ; (809e3f4 ) 809e3b0: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e3b2: 2300 movs r3, #0 809e3b4: 657b str r3, [r7, #84] ; 0x54 809e3b6: e16b b.n 809e690 809e3b8: 20020124 .word 0x20020124 809e3bc: 20023e60 .word 0x20023e60 809e3c0: 20020104 .word 0x20020104 809e3c4: 2002010c .word 0x2002010c 809e3c8: 20020114 .word 0x20020114 809e3cc: 2002011c .word 0x2002011c 809e3d0: 20021540 .word 0x20021540 809e3d4: 081679c8 .word 0x081679c8 809e3d8: ff0a0f1f .word 0xff0a0f1f 809e3dc: ffb8e828 .word 0xffb8e828 809e3e0: 080cfb2c .word 0x080cfb2c 809e3e4: 080cfb38 .word 0x080cfb38 809e3e8: 461c4000 .word 0x461c4000 809e3ec: 42c80000 .word 0x42c80000 809e3f0: 447a0000 .word 0x447a0000 809e3f4: 0001869f .word 0x0001869f 809e3f8: 47c35000 .word 0x47c35000 if(f >= 100000.0f) 809e3fc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e400: ed1f 7a03 vldr s14, [pc, #-12] ; 809e3f8 809e404: eef4 7ac7 vcmpe.f32 s15, s14 809e408: eef1 fa10 vmrs APSR_nzcv, fpscr 809e40c: f2c0 8140 blt.w 809e690 f = 99999.0f; 809e410: 4b85 ldr r3, [pc, #532] ; (809e628 ) 809e412: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809e414: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e418: eeb0 0a67 vmov.f32 s0, s15 809e41c: f02c fc32 bl 80cac84 809e420: eef0 7a40 vmov.f32 s15, s0 809e424: eefc 7ae7 vcvt.u32.f32 s15, s15 809e428: ee17 3a90 vmov r3, s15 809e42c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e42e: 2300 movs r3, #0 809e430: 657b str r3, [r7, #84] ; 0x54 809e432: e12d b.n 809e690 if(f < 10.0f) 809e434: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e438: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e43c: eef4 7ac7 vcmpe.f32 s15, s14 809e440: eef1 fa10 vmrs APSR_nzcv, fpscr 809e444: d515 bpl.n 809e472 k = (uint32_t) (roundf(f * 10000)); 809e446: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e44a: ed9f 7a78 vldr s14, [pc, #480] ; 809e62c 809e44e: ee67 7a87 vmul.f32 s15, s15, s14 809e452: eeb0 0a67 vmov.f32 s0, s15 809e456: f02c fc15 bl 80cac84 809e45a: eef0 7a40 vmov.f32 s15, s0 809e45e: eefc 7ae7 vcvt.u32.f32 s15, s15 809e462: ee17 3a90 vmov r3, s15 809e466: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809e468: 2301 movs r3, #1 809e46a: 657b str r3, [r7, #84] ; 0x54 m = 0; 809e46c: 2300 movs r3, #0 809e46e: 64fb str r3, [r7, #76] ; 0x4c 809e470: e10e b.n 809e690 if(f < 100.0f) 809e472: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e476: ed9f 7a6e vldr s14, [pc, #440] ; 809e630 809e47a: eef4 7ac7 vcmpe.f32 s15, s14 809e47e: eef1 fa10 vmrs APSR_nzcv, fpscr 809e482: d515 bpl.n 809e4b0 k = (uint32_t) (roundf(f * 1000)); 809e484: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e488: ed9f 7a6a vldr s14, [pc, #424] ; 809e634 809e48c: ee67 7a87 vmul.f32 s15, s15, s14 809e490: eeb0 0a67 vmov.f32 s0, s15 809e494: f02c fbf6 bl 80cac84 809e498: eef0 7a40 vmov.f32 s15, s0 809e49c: eefc 7ae7 vcvt.u32.f32 s15, s15 809e4a0: ee17 3a90 vmov r3, s15 809e4a4: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809e4a6: 2302 movs r3, #2 809e4a8: 657b str r3, [r7, #84] ; 0x54 m = 0; 809e4aa: 2300 movs r3, #0 809e4ac: 64fb str r3, [r7, #76] ; 0x4c 809e4ae: e0ef b.n 809e690 if(f < 1000.0f) 809e4b0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e4b4: ed9f 7a5f vldr s14, [pc, #380] ; 809e634 809e4b8: eef4 7ac7 vcmpe.f32 s15, s14 809e4bc: eef1 fa10 vmrs APSR_nzcv, fpscr 809e4c0: d515 bpl.n 809e4ee k = (uint32_t) (roundf(f * 100)); 809e4c2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e4c6: ed9f 7a5a vldr s14, [pc, #360] ; 809e630 809e4ca: ee67 7a87 vmul.f32 s15, s15, s14 809e4ce: eeb0 0a67 vmov.f32 s0, s15 809e4d2: f02c fbd7 bl 80cac84 809e4d6: eef0 7a40 vmov.f32 s15, s0 809e4da: eefc 7ae7 vcvt.u32.f32 s15, s15 809e4de: ee17 3a90 vmov r3, s15 809e4e2: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809e4e4: 2303 movs r3, #3 809e4e6: 657b str r3, [r7, #84] ; 0x54 m = 0; 809e4e8: 2300 movs r3, #0 809e4ea: 64fb str r3, [r7, #76] ; 0x4c 809e4ec: e0d0 b.n 809e690 if(f < 10000.0f) 809e4ee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e4f2: ed9f 7a4e vldr s14, [pc, #312] ; 809e62c 809e4f6: eef4 7ac7 vcmpe.f32 s15, s14 809e4fa: eef1 fa10 vmrs APSR_nzcv, fpscr 809e4fe: d515 bpl.n 809e52c k = (uint32_t) (roundf(f * 10)); 809e500: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e504: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809e508: ee67 7a87 vmul.f32 s15, s15, s14 809e50c: eeb0 0a67 vmov.f32 s0, s15 809e510: f02c fbb8 bl 80cac84 809e514: eef0 7a40 vmov.f32 s15, s0 809e518: eefc 7ae7 vcvt.u32.f32 s15, s15 809e51c: ee17 3a90 vmov r3, s15 809e520: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809e522: 2301 movs r3, #1 809e524: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e526: 2301 movs r3, #1 809e528: 64fb str r3, [r7, #76] ; 0x4c 809e52a: e0b1 b.n 809e690 if(f < 100000.0f) 809e52c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e530: ed9f 7a41 vldr s14, [pc, #260] ; 809e638 809e534: eef4 7ac7 vcmpe.f32 s15, s14 809e538: eef1 fa10 vmrs APSR_nzcv, fpscr 809e53c: d511 bpl.n 809e562 k = (uint32_t) (roundf(f)); 809e53e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e542: eeb0 0a67 vmov.f32 s0, s15 809e546: f02c fb9d bl 80cac84 809e54a: eef0 7a40 vmov.f32 s15, s0 809e54e: eefc 7ae7 vcvt.u32.f32 s15, s15 809e552: ee17 3a90 vmov r3, s15 809e556: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809e558: 2302 movs r3, #2 809e55a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e55c: 2301 movs r3, #1 809e55e: 64fb str r3, [r7, #76] ; 0x4c 809e560: e096 b.n 809e690 if(f < 1000000.0f) 809e562: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e566: ed9f 7a35 vldr s14, [pc, #212] ; 809e63c 809e56a: eef4 7ac7 vcmpe.f32 s15, s14 809e56e: eef1 fa10 vmrs APSR_nzcv, fpscr 809e572: d515 bpl.n 809e5a0 k = (uint32_t) (roundf(f * 0.1f)); 809e574: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e578: ed9f 7a31 vldr s14, [pc, #196] ; 809e640 809e57c: ee67 7a87 vmul.f32 s15, s15, s14 809e580: eeb0 0a67 vmov.f32 s0, s15 809e584: f02c fb7e bl 80cac84 809e588: eef0 7a40 vmov.f32 s15, s0 809e58c: eefc 7ae7 vcvt.u32.f32 s15, s15 809e590: ee17 3a90 vmov r3, s15 809e594: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809e596: 2303 movs r3, #3 809e598: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e59a: 2301 movs r3, #1 809e59c: 64fb str r3, [r7, #76] ; 0x4c 809e59e: e077 b.n 809e690 if(f < 10000000.0f) 809e5a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e5a4: ed9f 7a27 vldr s14, [pc, #156] ; 809e644 809e5a8: eef4 7ac7 vcmpe.f32 s15, s14 809e5ac: eef1 fa10 vmrs APSR_nzcv, fpscr 809e5b0: d515 bpl.n 809e5de k = (uint32_t) (roundf(f * 0.01f)); 809e5b2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e5b6: ed9f 7a24 vldr s14, [pc, #144] ; 809e648 809e5ba: ee67 7a87 vmul.f32 s15, s15, s14 809e5be: eeb0 0a67 vmov.f32 s0, s15 809e5c2: f02c fb5f bl 80cac84 809e5c6: eef0 7a40 vmov.f32 s15, s0 809e5ca: eefc 7ae7 vcvt.u32.f32 s15, s15 809e5ce: ee17 3a90 vmov r3, s15 809e5d2: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809e5d4: 2304 movs r3, #4 809e5d6: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e5d8: 2301 movs r3, #1 809e5da: 64fb str r3, [r7, #76] ; 0x4c 809e5dc: e058 b.n 809e690 if(f < 100000000.0f) 809e5de: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e5e2: ed9f 7a1c vldr s14, [pc, #112] ; 809e654 809e5e6: eef4 7ac7 vcmpe.f32 s15, s14 809e5ea: eef1 fa10 vmrs APSR_nzcv, fpscr 809e5ee: d533 bpl.n 809e658 k = (uint32_t) (roundf(f * 0.001f)); 809e5f0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e5f4: ed9f 7a15 vldr s14, [pc, #84] ; 809e64c 809e5f8: ee67 7a87 vmul.f32 s15, s15, s14 809e5fc: eeb0 0a67 vmov.f32 s0, s15 809e600: f02c fb40 bl 80cac84 809e604: eef0 7a40 vmov.f32 s15, s0 809e608: eefc 7ae7 vcvt.u32.f32 s15, s15 809e60c: ee17 3a90 vmov r3, s15 809e610: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809e612: 6dbb ldr r3, [r7, #88] ; 0x58 809e614: 4a0e ldr r2, [pc, #56] ; (809e650 ) 809e616: 4293 cmp r3, r2 809e618: d901 bls.n 809e61e k = 99999; 809e61a: 4b0d ldr r3, [pc, #52] ; (809e650 ) 809e61c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e61e: 2300 movs r3, #0 809e620: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e622: 2301 movs r3, #1 809e624: 64fb str r3, [r7, #76] ; 0x4c 809e626: e033 b.n 809e690 809e628: 47c34f80 .word 0x47c34f80 809e62c: 461c4000 .word 0x461c4000 809e630: 42c80000 .word 0x42c80000 809e634: 447a0000 .word 0x447a0000 809e638: 47c35000 .word 0x47c35000 809e63c: 49742400 .word 0x49742400 809e640: 3dcccccd .word 0x3dcccccd 809e644: 4b189680 .word 0x4b189680 809e648: 3c23d70a .word 0x3c23d70a 809e64c: 3a83126f .word 0x3a83126f 809e650: 0001869f .word 0x0001869f 809e654: 4cbebc20 .word 0x4cbebc20 if(f >= 100000000.0f) 809e658: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e65c: ed1f 7a03 vldr s14, [pc, #-12] ; 809e654 809e660: eef4 7ac7 vcmpe.f32 s15, s14 809e664: eef1 fa10 vmrs APSR_nzcv, fpscr 809e668: db12 blt.n 809e690 f = 99999.0f; 809e66a: 4bc5 ldr r3, [pc, #788] ; (809e980 ) 809e66c: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809e66e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809e672: eeb0 0a67 vmov.f32 s0, s15 809e676: f02c fb05 bl 80cac84 809e67a: eef0 7a40 vmov.f32 s15, s0 809e67e: eefc 7ae7 vcvt.u32.f32 s15, s15 809e682: ee17 3a90 vmov r3, s15 809e686: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809e688: 2300 movs r3, #0 809e68a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809e68c: 2301 movs r3, #1 809e68e: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809e690: 6d3a ldr r2, [r7, #80] ; 0x50 809e692: 6dbb ldr r3, [r7, #88] ; 0x58 809e694: 49bb ldr r1, [pc, #748] ; (809e984 ) 809e696: fba1 1303 umull r1, r3, r1, r3 809e69a: 0b5b lsrs r3, r3, #13 809e69c: b2d9 uxtb r1, r3 809e69e: 4613 mov r3, r2 809e6a0: 009b lsls r3, r3, #2 809e6a2: 4413 add r3, r2 809e6a4: f107 0268 add.w r2, r7, #104 ; 0x68 809e6a8: 4413 add r3, r2 809e6aa: 3b34 subs r3, #52 ; 0x34 809e6ac: 460a mov r2, r1 809e6ae: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809e6b0: 6d39 ldr r1, [r7, #80] ; 0x50 809e6b2: 6dba ldr r2, [r7, #88] ; 0x58 809e6b4: 4bb3 ldr r3, [pc, #716] ; (809e984 ) 809e6b6: fba3 0302 umull r0, r3, r3, r2 809e6ba: 0b5b lsrs r3, r3, #13 809e6bc: f242 7010 movw r0, #10000 ; 0x2710 809e6c0: fb00 f303 mul.w r3, r0, r3 809e6c4: 1ad3 subs r3, r2, r3 809e6c6: 4ab0 ldr r2, [pc, #704] ; (809e988 ) 809e6c8: fba2 2303 umull r2, r3, r2, r3 809e6cc: 099b lsrs r3, r3, #6 809e6ce: b2da uxtb r2, r3 809e6d0: 460b mov r3, r1 809e6d2: 009b lsls r3, r3, #2 809e6d4: 440b add r3, r1 809e6d6: f107 0168 add.w r1, r7, #104 ; 0x68 809e6da: 440b add r3, r1 809e6dc: 3b33 subs r3, #51 ; 0x33 809e6de: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809e6e0: 6d39 ldr r1, [r7, #80] ; 0x50 809e6e2: 6dba ldr r2, [r7, #88] ; 0x58 809e6e4: 4ba7 ldr r3, [pc, #668] ; (809e984 ) 809e6e6: fba3 0302 umull r0, r3, r3, r2 809e6ea: 0b5b lsrs r3, r3, #13 809e6ec: f242 7010 movw r0, #10000 ; 0x2710 809e6f0: fb00 f303 mul.w r3, r0, r3 809e6f4: 1ad3 subs r3, r2, r3 809e6f6: 4aa4 ldr r2, [pc, #656] ; (809e988 ) 809e6f8: fba2 0203 umull r0, r2, r2, r3 809e6fc: 0992 lsrs r2, r2, #6 809e6fe: f44f 707a mov.w r0, #1000 ; 0x3e8 809e702: fb00 f202 mul.w r2, r0, r2 809e706: 1a9a subs r2, r3, r2 809e708: 4ba0 ldr r3, [pc, #640] ; (809e98c ) 809e70a: fba3 2302 umull r2, r3, r3, r2 809e70e: 095b lsrs r3, r3, #5 809e710: b2da uxtb r2, r3 809e712: 460b mov r3, r1 809e714: 009b lsls r3, r3, #2 809e716: 440b add r3, r1 809e718: f107 0168 add.w r1, r7, #104 ; 0x68 809e71c: 440b add r3, r1 809e71e: 3b32 subs r3, #50 ; 0x32 809e720: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809e722: 6d39 ldr r1, [r7, #80] ; 0x50 809e724: 6dbb ldr r3, [r7, #88] ; 0x58 809e726: 4a97 ldr r2, [pc, #604] ; (809e984 ) 809e728: fba2 0203 umull r0, r2, r2, r3 809e72c: 0b52 lsrs r2, r2, #13 809e72e: f242 7010 movw r0, #10000 ; 0x2710 809e732: fb00 f202 mul.w r2, r0, r2 809e736: 1a9a subs r2, r3, r2 809e738: 4b93 ldr r3, [pc, #588] ; (809e988 ) 809e73a: fba3 0302 umull r0, r3, r3, r2 809e73e: 099b lsrs r3, r3, #6 809e740: f44f 707a mov.w r0, #1000 ; 0x3e8 809e744: fb00 f303 mul.w r3, r0, r3 809e748: 1ad3 subs r3, r2, r3 809e74a: 4a90 ldr r2, [pc, #576] ; (809e98c ) 809e74c: fba2 0203 umull r0, r2, r2, r3 809e750: 0952 lsrs r2, r2, #5 809e752: 2064 movs r0, #100 ; 0x64 809e754: fb00 f202 mul.w r2, r0, r2 809e758: 1a9a subs r2, r3, r2 809e75a: 4b8d ldr r3, [pc, #564] ; (809e990 ) 809e75c: fba3 2302 umull r2, r3, r3, r2 809e760: 08db lsrs r3, r3, #3 809e762: b2da uxtb r2, r3 809e764: 460b mov r3, r1 809e766: 009b lsls r3, r3, #2 809e768: 440b add r3, r1 809e76a: f107 0168 add.w r1, r7, #104 ; 0x68 809e76e: 440b add r3, r1 809e770: 3b31 subs r3, #49 ; 0x31 809e772: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 809e774: 6d38 ldr r0, [r7, #80] ; 0x50 809e776: 6dbb ldr r3, [r7, #88] ; 0x58 809e778: 4a82 ldr r2, [pc, #520] ; (809e984 ) 809e77a: fba2 1203 umull r1, r2, r2, r3 809e77e: 0b52 lsrs r2, r2, #13 809e780: f242 7110 movw r1, #10000 ; 0x2710 809e784: fb01 f202 mul.w r2, r1, r2 809e788: 1a9a subs r2, r3, r2 809e78a: 4b7f ldr r3, [pc, #508] ; (809e988 ) 809e78c: fba3 1302 umull r1, r3, r3, r2 809e790: 099b lsrs r3, r3, #6 809e792: f44f 717a mov.w r1, #1000 ; 0x3e8 809e796: fb01 f303 mul.w r3, r1, r3 809e79a: 1ad3 subs r3, r2, r3 809e79c: 4a7b ldr r2, [pc, #492] ; (809e98c ) 809e79e: fba2 1203 umull r1, r2, r2, r3 809e7a2: 0952 lsrs r2, r2, #5 809e7a4: 2164 movs r1, #100 ; 0x64 809e7a6: fb01 f202 mul.w r2, r1, r2 809e7aa: 1a9a subs r2, r3, r2 809e7ac: 4b78 ldr r3, [pc, #480] ; (809e990 ) 809e7ae: fba3 1302 umull r1, r3, r3, r2 809e7b2: 08d9 lsrs r1, r3, #3 809e7b4: 460b mov r3, r1 809e7b6: 009b lsls r3, r3, #2 809e7b8: 440b add r3, r1 809e7ba: 005b lsls r3, r3, #1 809e7bc: 1ad1 subs r1, r2, r3 809e7be: b2ca uxtb r2, r1 809e7c0: 4603 mov r3, r0 809e7c2: 009b lsls r3, r3, #2 809e7c4: 4403 add r3, r0 809e7c6: f107 0168 add.w r1, r7, #104 ; 0x68 809e7ca: 440b add r3, r1 809e7cc: 3b30 subs r3, #48 ; 0x30 809e7ce: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 809e7d0: 6d3b ldr r3, [r7, #80] ; 0x50 809e7d2: 4a70 ldr r2, [pc, #448] ; (809e994 ) 809e7d4: 009b lsls r3, r3, #2 809e7d6: 4413 add r3, r2 809e7d8: edd3 7a00 vldr s15, [r3] 809e7dc: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809e7e0: eef4 7a47 vcmp.f32 s15, s14 809e7e4: eef1 fa10 vmrs APSR_nzcv, fpscr 809e7e8: f000 82a9 beq.w 809ed3e if(ipr == ACC) 809e7ec: 6d3b ldr r3, [r7, #80] ; 0x50 809e7ee: 2b00 cmp r3, #0 809e7f0: f040 80de bne.w 809e9b0 if(!t) 809e7f4: 6d7b ldr r3, [r7, #84] ; 0x54 809e7f6: 2b00 cmp r3, #0 809e7f8: d126 bne.n 809e848 for(i = 0; i < 5; i++) 809e7fa: 2300 movs r3, #0 809e7fc: 65fb str r3, [r7, #92] ; 0x5c 809e7fe: e01f b.n 809e840 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809e800: 6d3a ldr r2, [r7, #80] ; 0x50 809e802: 6df9 ldr r1, [r7, #92] ; 0x5c 809e804: 4613 mov r3, r2 809e806: 009b lsls r3, r3, #2 809e808: 4413 add r3, r2 809e80a: f107 0268 add.w r2, r7, #104 ; 0x68 809e80e: 4413 add r3, r2 809e810: 440b add r3, r1 809e812: 3b34 subs r3, #52 ; 0x34 809e814: 781b ldrb r3, [r3, #0] 809e816: b2db uxtb r3, r3 809e818: 461a mov r2, r3 809e81a: 4b5f ldr r3, [pc, #380] ; (809e998 ) 809e81c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e820: 6dfb ldr r3, [r7, #92] ; 0x5c 809e822: b29b uxth r3, r3 809e824: 461a mov r2, r3 809e826: 0112 lsls r2, r2, #4 809e828: 1ad3 subs r3, r2, r3 809e82a: 005b lsls r3, r3, #1 809e82c: b29b uxth r3, r3 809e82e: 335a adds r3, #90 ; 0x5a 809e830: b29b uxth r3, r3 809e832: 2256 movs r2, #86 ; 0x56 809e834: 4619 mov r1, r3 809e836: f7b5 fec9 bl 80545cc for(i = 0; i < 5; i++) 809e83a: 6dfb ldr r3, [r7, #92] ; 0x5c 809e83c: 3301 adds r3, #1 809e83e: 65fb str r3, [r7, #92] ; 0x5c 809e840: 6dfb ldr r3, [r7, #92] ; 0x5c 809e842: 2b04 cmp r3, #4 809e844: d9dc bls.n 809e800 809e846: e05a b.n 809e8fe for(i = 0; i < t; i++) 809e848: 2300 movs r3, #0 809e84a: 65fb str r3, [r7, #92] ; 0x5c 809e84c: e01f b.n 809e88e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 809e84e: 6d3a ldr r2, [r7, #80] ; 0x50 809e850: 6df9 ldr r1, [r7, #92] ; 0x5c 809e852: 4613 mov r3, r2 809e854: 009b lsls r3, r3, #2 809e856: 4413 add r3, r2 809e858: f107 0268 add.w r2, r7, #104 ; 0x68 809e85c: 4413 add r3, r2 809e85e: 440b add r3, r1 809e860: 3b34 subs r3, #52 ; 0x34 809e862: 781b ldrb r3, [r3, #0] 809e864: b2db uxtb r3, r3 809e866: 461a mov r2, r3 809e868: 4b4b ldr r3, [pc, #300] ; (809e998 ) 809e86a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e86e: 6dfb ldr r3, [r7, #92] ; 0x5c 809e870: b29b uxth r3, r3 809e872: 461a mov r2, r3 809e874: 0112 lsls r2, r2, #4 809e876: 1ad3 subs r3, r2, r3 809e878: 005b lsls r3, r3, #1 809e87a: b29b uxth r3, r3 809e87c: 335a adds r3, #90 ; 0x5a 809e87e: b29b uxth r3, r3 809e880: 2256 movs r2, #86 ; 0x56 809e882: 4619 mov r1, r3 809e884: f7b5 fea2 bl 80545cc for(i = 0; i < t; i++) 809e888: 6dfb ldr r3, [r7, #92] ; 0x5c 809e88a: 3301 adds r3, #1 809e88c: 65fb str r3, [r7, #92] ; 0x5c 809e88e: 6dfa ldr r2, [r7, #92] ; 0x5c 809e890: 6d7b ldr r3, [r7, #84] ; 0x54 809e892: 429a cmp r2, r3 809e894: d3db bcc.n 809e84e DrawImage(&bmgpt, 95 + 30*t, 92+18); 809e896: 6d7b ldr r3, [r7, #84] ; 0x54 809e898: b29b uxth r3, r3 809e89a: 461a mov r2, r3 809e89c: 0112 lsls r2, r2, #4 809e89e: 1ad3 subs r3, r2, r3 809e8a0: 005b lsls r3, r3, #1 809e8a2: b29b uxth r3, r3 809e8a4: 335f adds r3, #95 ; 0x5f 809e8a6: b29b uxth r3, r3 809e8a8: 226e movs r2, #110 ; 0x6e 809e8aa: 4619 mov r1, r3 809e8ac: 483b ldr r0, [pc, #236] ; (809e99c ) 809e8ae: f7b5 fe8d bl 80545cc for(i = t; i < 5; i++) 809e8b2: 6d7b ldr r3, [r7, #84] ; 0x54 809e8b4: 65fb str r3, [r7, #92] ; 0x5c 809e8b6: e01f b.n 809e8f8 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 809e8b8: 6d3a ldr r2, [r7, #80] ; 0x50 809e8ba: 6df9 ldr r1, [r7, #92] ; 0x5c 809e8bc: 4613 mov r3, r2 809e8be: 009b lsls r3, r3, #2 809e8c0: 4413 add r3, r2 809e8c2: f107 0268 add.w r2, r7, #104 ; 0x68 809e8c6: 4413 add r3, r2 809e8c8: 440b add r3, r1 809e8ca: 3b34 subs r3, #52 ; 0x34 809e8cc: 781b ldrb r3, [r3, #0] 809e8ce: b2db uxtb r3, r3 809e8d0: 461a mov r2, r3 809e8d2: 4b31 ldr r3, [pc, #196] ; (809e998 ) 809e8d4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e8d8: 6dfb ldr r3, [r7, #92] ; 0x5c 809e8da: b29b uxth r3, r3 809e8dc: 461a mov r2, r3 809e8de: 0112 lsls r2, r2, #4 809e8e0: 1ad3 subs r3, r2, r3 809e8e2: 005b lsls r3, r3, #1 809e8e4: b29b uxth r3, r3 809e8e6: 336e adds r3, #110 ; 0x6e 809e8e8: b29b uxth r3, r3 809e8ea: 2256 movs r2, #86 ; 0x56 809e8ec: 4619 mov r1, r3 809e8ee: f7b5 fe6d bl 80545cc for(i = t; i < 5; i++) 809e8f2: 6dfb ldr r3, [r7, #92] ; 0x5c 809e8f4: 3301 adds r3, #1 809e8f6: 65fb str r3, [r7, #92] ; 0x5c 809e8f8: 6dfb ldr r3, [r7, #92] ; 0x5c 809e8fa: 2b04 cmp r3, #4 809e8fc: d9dc bls.n 809e8b8 if(pardata.IVS[ACC] < PEAK_FACTOR) 809e8fe: 4b28 ldr r3, [pc, #160] ; (809e9a0 ) 809e900: 789b ldrb r3, [r3, #2] 809e902: b2db uxtb r3, r3 809e904: 2b02 cmp r3, #2 809e906: d81f bhi.n 809e948 if(pardata.IIN != VOLTS) 809e908: 4b25 ldr r3, [pc, #148] ; (809e9a0 ) 809e90a: 799b ldrb r3, [r3, #6] 809e90c: b2db uxtb r3, r3 809e90e: 2b02 cmp r3, #2 809e910: d00d beq.n 809e92e DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 809e912: 4b23 ldr r3, [pc, #140] ; (809e9a0 ) 809e914: 7b1b ldrb r3, [r3, #12] 809e916: b2db uxtb r3, r3 809e918: 461a mov r2, r3 809e91a: 4b22 ldr r3, [pc, #136] ; (809e9a4 ) 809e91c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e920: 225c movs r2, #92 ; 0x5c 809e922: f240 1109 movw r1, #265 ; 0x109 809e926: 4618 mov r0, r3 809e928: f7b5 fe50 bl 80545cc 809e92c: e00c b.n 809e948 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 809e92e: 4b1c ldr r3, [pc, #112] ; (809e9a0 ) 809e930: 7b1b ldrb r3, [r3, #12] 809e932: b2db uxtb r3, r3 809e934: 461a mov r2, r3 809e936: 4b1c ldr r3, [pc, #112] ; (809e9a8 ) 809e938: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809e93c: 225c movs r2, #92 ; 0x5c 809e93e: f240 1109 movw r1, #265 ; 0x109 809e942: 4618 mov r0, r3 809e944: f7b5 fe42 bl 80545cc if(pardata.IVS[ipr] == EXCESS) 809e948: 6d3b ldr r3, [r7, #80] ; 0x50 809e94a: 4a15 ldr r2, [pc, #84] ; (809e9a0 ) 809e94c: 4413 add r3, r2 809e94e: 789b ldrb r3, [r3, #2] 809e950: b2db uxtb r3, r3 809e952: 2b04 cmp r3, #4 809e954: f040 866b bne.w 809f62e if(skz[ipr] < 0.0f) { 809e958: 6d3b ldr r3, [r7, #80] ; 0x50 809e95a: 4a0e ldr r2, [pc, #56] ; (809e994 ) 809e95c: 009b lsls r3, r3, #2 809e95e: 4413 add r3, r2 809e960: edd3 7a00 vldr s15, [r3] 809e964: eef5 7ac0 vcmpe.f32 s15, #0.0 809e968: eef1 fa10 vmrs APSR_nzcv, fpscr 809e96c: f140 865f bpl.w 809f62e DrawImage(&bmgminus, 78, 84+18); 809e970: 2266 movs r2, #102 ; 0x66 809e972: 214e movs r1, #78 ; 0x4e 809e974: 480d ldr r0, [pc, #52] ; (809e9ac ) 809e976: f7b5 fe29 bl 80545cc 809e97a: f000 be58 b.w 809f62e 809e97e: bf00 nop 809e980: 47c34f80 .word 0x47c34f80 809e984: d1b71759 .word 0xd1b71759 809e988: 10624dd3 .word 0x10624dd3 809e98c: 51eb851f .word 0x51eb851f 809e990: cccccccd .word 0xcccccccd 809e994: 20021540 .word 0x20021540 809e998: 20020124 .word 0x20020124 809e99c: 08167a54 .word 0x08167a54 809e9a0: 20023e60 .word 0x20023e60 809e9a4: 200200f4 .word 0x200200f4 809e9a8: 20020114 .word 0x20020114 809e9ac: 081679c8 .word 0x081679c8 if(ipr == VEL) 809e9b0: 6d3b ldr r3, [r7, #80] ; 0x50 809e9b2: 2b01 cmp r3, #1 809e9b4: f040 80c5 bne.w 809eb42 if(!t) 809e9b8: 6d7b ldr r3, [r7, #84] ; 0x54 809e9ba: 2b00 cmp r3, #0 809e9bc: d126 bne.n 809ea0c for(i = 0; i < 5; i++) 809e9be: 2300 movs r3, #0 809e9c0: 65fb str r3, [r7, #92] ; 0x5c 809e9c2: e01f b.n 809ea04 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809e9c4: 6d3a ldr r2, [r7, #80] ; 0x50 809e9c6: 6df9 ldr r1, [r7, #92] ; 0x5c 809e9c8: 4613 mov r3, r2 809e9ca: 009b lsls r3, r3, #2 809e9cc: 4413 add r3, r2 809e9ce: f107 0268 add.w r2, r7, #104 ; 0x68 809e9d2: 4413 add r3, r2 809e9d4: 440b add r3, r1 809e9d6: 3b34 subs r3, #52 ; 0x34 809e9d8: 781b ldrb r3, [r3, #0] 809e9da: b2db uxtb r3, r3 809e9dc: 461a mov r2, r3 809e9de: 4bb2 ldr r3, [pc, #712] ; (809eca8 ) 809e9e0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809e9e4: 6dfb ldr r3, [r7, #92] ; 0x5c 809e9e6: b29b uxth r3, r3 809e9e8: 461a mov r2, r3 809e9ea: 0112 lsls r2, r2, #4 809e9ec: 1ad3 subs r3, r2, r3 809e9ee: 005b lsls r3, r3, #1 809e9f0: b29b uxth r3, r3 809e9f2: 335a adds r3, #90 ; 0x5a 809e9f4: b29b uxth r3, r3 809e9f6: 2282 movs r2, #130 ; 0x82 809e9f8: 4619 mov r1, r3 809e9fa: f7b5 fde7 bl 80545cc for(i = 0; i < 5; i++) 809e9fe: 6dfb ldr r3, [r7, #92] ; 0x5c 809ea00: 3301 adds r3, #1 809ea02: 65fb str r3, [r7, #92] ; 0x5c 809ea04: 6dfb ldr r3, [r7, #92] ; 0x5c 809ea06: 2b04 cmp r3, #4 809ea08: d9dc bls.n 809e9c4 809ea0a: e05a b.n 809eac2 for(i = 0; i < t; i++) 809ea0c: 2300 movs r3, #0 809ea0e: 65fb str r3, [r7, #92] ; 0x5c 809ea10: e01f b.n 809ea52 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 809ea12: 6d3a ldr r2, [r7, #80] ; 0x50 809ea14: 6df9 ldr r1, [r7, #92] ; 0x5c 809ea16: 4613 mov r3, r2 809ea18: 009b lsls r3, r3, #2 809ea1a: 4413 add r3, r2 809ea1c: f107 0268 add.w r2, r7, #104 ; 0x68 809ea20: 4413 add r3, r2 809ea22: 440b add r3, r1 809ea24: 3b34 subs r3, #52 ; 0x34 809ea26: 781b ldrb r3, [r3, #0] 809ea28: b2db uxtb r3, r3 809ea2a: 461a mov r2, r3 809ea2c: 4b9e ldr r3, [pc, #632] ; (809eca8 ) 809ea2e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ea32: 6dfb ldr r3, [r7, #92] ; 0x5c 809ea34: b29b uxth r3, r3 809ea36: 461a mov r2, r3 809ea38: 0112 lsls r2, r2, #4 809ea3a: 1ad3 subs r3, r2, r3 809ea3c: 005b lsls r3, r3, #1 809ea3e: b29b uxth r3, r3 809ea40: 335a adds r3, #90 ; 0x5a 809ea42: b29b uxth r3, r3 809ea44: 2282 movs r2, #130 ; 0x82 809ea46: 4619 mov r1, r3 809ea48: f7b5 fdc0 bl 80545cc for(i = 0; i < t; i++) 809ea4c: 6dfb ldr r3, [r7, #92] ; 0x5c 809ea4e: 3301 adds r3, #1 809ea50: 65fb str r3, [r7, #92] ; 0x5c 809ea52: 6dfa ldr r2, [r7, #92] ; 0x5c 809ea54: 6d7b ldr r3, [r7, #84] ; 0x54 809ea56: 429a cmp r2, r3 809ea58: d3db bcc.n 809ea12 DrawImage(&bmgpt, 95 + 30*t, 145+9); 809ea5a: 6d7b ldr r3, [r7, #84] ; 0x54 809ea5c: b29b uxth r3, r3 809ea5e: 461a mov r2, r3 809ea60: 0112 lsls r2, r2, #4 809ea62: 1ad3 subs r3, r2, r3 809ea64: 005b lsls r3, r3, #1 809ea66: b29b uxth r3, r3 809ea68: 335f adds r3, #95 ; 0x5f 809ea6a: b29b uxth r3, r3 809ea6c: 229a movs r2, #154 ; 0x9a 809ea6e: 4619 mov r1, r3 809ea70: 488e ldr r0, [pc, #568] ; (809ecac ) 809ea72: f7b5 fdab bl 80545cc for(i = t; i < 5; i++) 809ea76: 6d7b ldr r3, [r7, #84] ; 0x54 809ea78: 65fb str r3, [r7, #92] ; 0x5c 809ea7a: e01f b.n 809eabc DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 809ea7c: 6d3a ldr r2, [r7, #80] ; 0x50 809ea7e: 6df9 ldr r1, [r7, #92] ; 0x5c 809ea80: 4613 mov r3, r2 809ea82: 009b lsls r3, r3, #2 809ea84: 4413 add r3, r2 809ea86: f107 0268 add.w r2, r7, #104 ; 0x68 809ea8a: 4413 add r3, r2 809ea8c: 440b add r3, r1 809ea8e: 3b34 subs r3, #52 ; 0x34 809ea90: 781b ldrb r3, [r3, #0] 809ea92: b2db uxtb r3, r3 809ea94: 461a mov r2, r3 809ea96: 4b84 ldr r3, [pc, #528] ; (809eca8 ) 809ea98: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ea9c: 6dfb ldr r3, [r7, #92] ; 0x5c 809ea9e: b29b uxth r3, r3 809eaa0: 461a mov r2, r3 809eaa2: 0112 lsls r2, r2, #4 809eaa4: 1ad3 subs r3, r2, r3 809eaa6: 005b lsls r3, r3, #1 809eaa8: b29b uxth r3, r3 809eaaa: 336e adds r3, #110 ; 0x6e 809eaac: b29b uxth r3, r3 809eaae: 2282 movs r2, #130 ; 0x82 809eab0: 4619 mov r1, r3 809eab2: f7b5 fd8b bl 80545cc for(i = t; i < 5; i++) 809eab6: 6dfb ldr r3, [r7, #92] ; 0x5c 809eab8: 3301 adds r3, #1 809eaba: 65fb str r3, [r7, #92] ; 0x5c 809eabc: 6dfb ldr r3, [r7, #92] ; 0x5c 809eabe: 2b04 cmp r3, #4 809eac0: d9dc bls.n 809ea7c if(pardata.IVS[VEL] < PEAK_FACTOR) 809eac2: 4b7b ldr r3, [pc, #492] ; (809ecb0 ) 809eac4: 78db ldrb r3, [r3, #3] 809eac6: b2db uxtb r3, r3 809eac8: 2b02 cmp r3, #2 809eaca: d81f bhi.n 809eb0c if(pardata.IIN != VOLTS) 809eacc: 4b78 ldr r3, [pc, #480] ; (809ecb0 ) 809eace: 799b ldrb r3, [r3, #6] 809ead0: b2db uxtb r3, r3 809ead2: 2b02 cmp r3, #2 809ead4: d00d beq.n 809eaf2 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 809ead6: 4b76 ldr r3, [pc, #472] ; (809ecb0 ) 809ead8: 7b1b ldrb r3, [r3, #12] 809eada: b2db uxtb r3, r3 809eadc: 461a mov r2, r3 809eade: 4b75 ldr r3, [pc, #468] ; (809ecb4 ) 809eae0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eae4: 2289 movs r2, #137 ; 0x89 809eae6: f240 1109 movw r1, #265 ; 0x109 809eaea: 4618 mov r0, r3 809eaec: f7b5 fd6e bl 80545cc 809eaf0: e00c b.n 809eb0c else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 809eaf2: 4b6f ldr r3, [pc, #444] ; (809ecb0 ) 809eaf4: 7b1b ldrb r3, [r3, #12] 809eaf6: b2db uxtb r3, r3 809eaf8: 461a mov r2, r3 809eafa: 4b6f ldr r3, [pc, #444] ; (809ecb8 ) 809eafc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eb00: 2289 movs r2, #137 ; 0x89 809eb02: f240 1109 movw r1, #265 ; 0x109 809eb06: 4618 mov r0, r3 809eb08: f7b5 fd60 bl 80545cc if(pardata.IVS[ipr] == EXCESS) 809eb0c: 6d3b ldr r3, [r7, #80] ; 0x50 809eb0e: 4a68 ldr r2, [pc, #416] ; (809ecb0 ) 809eb10: 4413 add r3, r2 809eb12: 789b ldrb r3, [r3, #2] 809eb14: b2db uxtb r3, r3 809eb16: 2b04 cmp r3, #4 809eb18: f040 8589 bne.w 809f62e if(skz[ipr] < 0.0f) { 809eb1c: 6d3b ldr r3, [r7, #80] ; 0x50 809eb1e: 4a67 ldr r2, [pc, #412] ; (809ecbc ) 809eb20: 009b lsls r3, r3, #2 809eb22: 4413 add r3, r2 809eb24: edd3 7a00 vldr s15, [r3] 809eb28: eef5 7ac0 vcmpe.f32 s15, #0.0 809eb2c: eef1 fa10 vmrs APSR_nzcv, fpscr 809eb30: f140 857d bpl.w 809f62e DrawImage(&bmgminus, 78, 138+9); 809eb34: 2293 movs r2, #147 ; 0x93 809eb36: 214e movs r1, #78 ; 0x4e 809eb38: 4861 ldr r0, [pc, #388] ; (809ecc0 ) 809eb3a: f7b5 fd47 bl 80545cc 809eb3e: f000 bd76 b.w 809f62e if(ipr == DIS) 809eb42: 6d3b ldr r3, [r7, #80] ; 0x50 809eb44: 2b02 cmp r3, #2 809eb46: f040 8572 bne.w 809f62e if(!t) 809eb4a: 6d7b ldr r3, [r7, #84] ; 0x54 809eb4c: 2b00 cmp r3, #0 809eb4e: d126 bne.n 809eb9e for(i = 0; i < 5; i++) 809eb50: 2300 movs r3, #0 809eb52: 65fb str r3, [r7, #92] ; 0x5c 809eb54: e01f b.n 809eb96 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809eb56: 6d3a ldr r2, [r7, #80] ; 0x50 809eb58: 6df9 ldr r1, [r7, #92] ; 0x5c 809eb5a: 4613 mov r3, r2 809eb5c: 009b lsls r3, r3, #2 809eb5e: 4413 add r3, r2 809eb60: f107 0268 add.w r2, r7, #104 ; 0x68 809eb64: 4413 add r3, r2 809eb66: 440b add r3, r1 809eb68: 3b34 subs r3, #52 ; 0x34 809eb6a: 781b ldrb r3, [r3, #0] 809eb6c: b2db uxtb r3, r3 809eb6e: 461a mov r2, r3 809eb70: 4b4d ldr r3, [pc, #308] ; (809eca8 ) 809eb72: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809eb76: 6dfb ldr r3, [r7, #92] ; 0x5c 809eb78: b29b uxth r3, r3 809eb7a: 461a mov r2, r3 809eb7c: 0112 lsls r2, r2, #4 809eb7e: 1ad3 subs r3, r2, r3 809eb80: 005b lsls r3, r3, #1 809eb82: b29b uxth r3, r3 809eb84: 335a adds r3, #90 ; 0x5a 809eb86: b29b uxth r3, r3 809eb88: 22ae movs r2, #174 ; 0xae 809eb8a: 4619 mov r1, r3 809eb8c: f7b5 fd1e bl 80545cc for(i = 0; i < 5; i++) 809eb90: 6dfb ldr r3, [r7, #92] ; 0x5c 809eb92: 3301 adds r3, #1 809eb94: 65fb str r3, [r7, #92] ; 0x5c 809eb96: 6dfb ldr r3, [r7, #92] ; 0x5c 809eb98: 2b04 cmp r3, #4 809eb9a: d9dc bls.n 809eb56 809eb9c: e05a b.n 809ec54 for(i = 0; i < t; i++) 809eb9e: 2300 movs r3, #0 809eba0: 65fb str r3, [r7, #92] ; 0x5c 809eba2: e01f b.n 809ebe4 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 809eba4: 6d3a ldr r2, [r7, #80] ; 0x50 809eba6: 6df9 ldr r1, [r7, #92] ; 0x5c 809eba8: 4613 mov r3, r2 809ebaa: 009b lsls r3, r3, #2 809ebac: 4413 add r3, r2 809ebae: f107 0268 add.w r2, r7, #104 ; 0x68 809ebb2: 4413 add r3, r2 809ebb4: 440b add r3, r1 809ebb6: 3b34 subs r3, #52 ; 0x34 809ebb8: 781b ldrb r3, [r3, #0] 809ebba: b2db uxtb r3, r3 809ebbc: 461a mov r2, r3 809ebbe: 4b3a ldr r3, [pc, #232] ; (809eca8 ) 809ebc0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ebc4: 6dfb ldr r3, [r7, #92] ; 0x5c 809ebc6: b29b uxth r3, r3 809ebc8: 461a mov r2, r3 809ebca: 0112 lsls r2, r2, #4 809ebcc: 1ad3 subs r3, r2, r3 809ebce: 005b lsls r3, r3, #1 809ebd0: b29b uxth r3, r3 809ebd2: 335a adds r3, #90 ; 0x5a 809ebd4: b29b uxth r3, r3 809ebd6: 22ae movs r2, #174 ; 0xae 809ebd8: 4619 mov r1, r3 809ebda: f7b5 fcf7 bl 80545cc for(i = 0; i < t; i++) 809ebde: 6dfb ldr r3, [r7, #92] ; 0x5c 809ebe0: 3301 adds r3, #1 809ebe2: 65fb str r3, [r7, #92] ; 0x5c 809ebe4: 6dfa ldr r2, [r7, #92] ; 0x5c 809ebe6: 6d7b ldr r3, [r7, #84] ; 0x54 809ebe8: 429a cmp r2, r3 809ebea: d3db bcc.n 809eba4 DrawImage(&bmgpt, 95 + 30*t, 198); 809ebec: 6d7b ldr r3, [r7, #84] ; 0x54 809ebee: b29b uxth r3, r3 809ebf0: 461a mov r2, r3 809ebf2: 0112 lsls r2, r2, #4 809ebf4: 1ad3 subs r3, r2, r3 809ebf6: 005b lsls r3, r3, #1 809ebf8: b29b uxth r3, r3 809ebfa: 335f adds r3, #95 ; 0x5f 809ebfc: b29b uxth r3, r3 809ebfe: 22c6 movs r2, #198 ; 0xc6 809ec00: 4619 mov r1, r3 809ec02: 482a ldr r0, [pc, #168] ; (809ecac ) 809ec04: f7b5 fce2 bl 80545cc for(i = t; i < 5; i++) 809ec08: 6d7b ldr r3, [r7, #84] ; 0x54 809ec0a: 65fb str r3, [r7, #92] ; 0x5c 809ec0c: e01f b.n 809ec4e DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 809ec0e: 6d3a ldr r2, [r7, #80] ; 0x50 809ec10: 6df9 ldr r1, [r7, #92] ; 0x5c 809ec12: 4613 mov r3, r2 809ec14: 009b lsls r3, r3, #2 809ec16: 4413 add r3, r2 809ec18: f107 0268 add.w r2, r7, #104 ; 0x68 809ec1c: 4413 add r3, r2 809ec1e: 440b add r3, r1 809ec20: 3b34 subs r3, #52 ; 0x34 809ec22: 781b ldrb r3, [r3, #0] 809ec24: b2db uxtb r3, r3 809ec26: 461a mov r2, r3 809ec28: 4b1f ldr r3, [pc, #124] ; (809eca8 ) 809ec2a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 809ec2e: 6dfb ldr r3, [r7, #92] ; 0x5c 809ec30: b29b uxth r3, r3 809ec32: 461a mov r2, r3 809ec34: 0112 lsls r2, r2, #4 809ec36: 1ad3 subs r3, r2, r3 809ec38: 005b lsls r3, r3, #1 809ec3a: b29b uxth r3, r3 809ec3c: 336e adds r3, #110 ; 0x6e 809ec3e: b29b uxth r3, r3 809ec40: 22ae movs r2, #174 ; 0xae 809ec42: 4619 mov r1, r3 809ec44: f7b5 fcc2 bl 80545cc for(i = t; i < 5; i++) 809ec48: 6dfb ldr r3, [r7, #92] ; 0x5c 809ec4a: 3301 adds r3, #1 809ec4c: 65fb str r3, [r7, #92] ; 0x5c 809ec4e: 6dfb ldr r3, [r7, #92] ; 0x5c 809ec50: 2b04 cmp r3, #4 809ec52: d9dc bls.n 809ec0e if(pardata.IVS[DIS] < PEAK_FACTOR) 809ec54: 4b16 ldr r3, [pc, #88] ; (809ecb0 ) 809ec56: 791b ldrb r3, [r3, #4] 809ec58: b2db uxtb r3, r3 809ec5a: 2b02 cmp r3, #2 809ec5c: d854 bhi.n 809ed08 if(pardata.IIN != VOLTS) 809ec5e: 4b14 ldr r3, [pc, #80] ; (809ecb0 ) 809ec60: 799b ldrb r3, [r3, #6] 809ec62: b2db uxtb r3, r3 809ec64: 2b02 cmp r3, #2 809ec66: d031 beq.n 809eccc if(m == 0) 809ec68: 6cfb ldr r3, [r7, #76] ; 0x4c 809ec6a: 2b00 cmp r3, #0 809ec6c: d10d bne.n 809ec8a DrawImage(BMG_MKM[pardata.LANG], 265, 180); 809ec6e: 4b10 ldr r3, [pc, #64] ; (809ecb0 ) 809ec70: 7b1b ldrb r3, [r3, #12] 809ec72: b2db uxtb r3, r3 809ec74: 461a mov r2, r3 809ec76: 4b13 ldr r3, [pc, #76] ; (809ecc4 ) 809ec78: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ec7c: 22b4 movs r2, #180 ; 0xb4 809ec7e: f240 1109 movw r1, #265 ; 0x109 809ec82: 4618 mov r0, r3 809ec84: f7b5 fca2 bl 80545cc 809ec88: e03e b.n 809ed08 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 809ec8a: 4b09 ldr r3, [pc, #36] ; (809ecb0 ) 809ec8c: 7b1b ldrb r3, [r3, #12] 809ec8e: b2db uxtb r3, r3 809ec90: 461a mov r2, r3 809ec92: 4b0d ldr r3, [pc, #52] ; (809ecc8 ) 809ec94: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ec98: 22b4 movs r2, #180 ; 0xb4 809ec9a: f240 1109 movw r1, #265 ; 0x109 809ec9e: 4618 mov r0, r3 809eca0: f7b5 fc94 bl 80545cc 809eca4: e030 b.n 809ed08 809eca6: bf00 nop 809eca8: 20020124 .word 0x20020124 809ecac: 08167a54 .word 0x08167a54 809ecb0: 20023e60 .word 0x20023e60 809ecb4: 200200fc .word 0x200200fc 809ecb8: 20020114 .word 0x20020114 809ecbc: 20021540 .word 0x20021540 809ecc0: 081679c8 .word 0x081679c8 809ecc4: 20020104 .word 0x20020104 809ecc8: 2002010c .word 0x2002010c if(m == 0) 809eccc: 6cfb ldr r3, [r7, #76] ; 0x4c 809ecce: 2b00 cmp r3, #0 809ecd0: d10d bne.n 809ecee DrawImage(BMG_MV[pardata.LANG], 265, 180); 809ecd2: 4bc1 ldr r3, [pc, #772] ; (809efd8 ) 809ecd4: 7b1b ldrb r3, [r3, #12] 809ecd6: b2db uxtb r3, r3 809ecd8: 461a mov r2, r3 809ecda: 4bc0 ldr r3, [pc, #768] ; (809efdc ) 809ecdc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ece0: 22b4 movs r2, #180 ; 0xb4 809ece2: f240 1109 movw r1, #265 ; 0x109 809ece6: 4618 mov r0, r3 809ece8: f7b5 fc70 bl 80545cc 809ecec: e00c b.n 809ed08 else DrawImage(BMG_V[pardata.LANG], 265, 180); 809ecee: 4bba ldr r3, [pc, #744] ; (809efd8 ) 809ecf0: 7b1b ldrb r3, [r3, #12] 809ecf2: b2db uxtb r3, r3 809ecf4: 461a mov r2, r3 809ecf6: 4bba ldr r3, [pc, #744] ; (809efe0 ) 809ecf8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ecfc: 22b4 movs r2, #180 ; 0xb4 809ecfe: f240 1109 movw r1, #265 ; 0x109 809ed02: 4618 mov r0, r3 809ed04: f7b5 fc62 bl 80545cc if(pardata.IVS[ipr] == EXCESS) 809ed08: 6d3b ldr r3, [r7, #80] ; 0x50 809ed0a: 4ab3 ldr r2, [pc, #716] ; (809efd8 ) 809ed0c: 4413 add r3, r2 809ed0e: 789b ldrb r3, [r3, #2] 809ed10: b2db uxtb r3, r3 809ed12: 2b04 cmp r3, #4 809ed14: f040 848b bne.w 809f62e if(skz[ipr] < 0.0f) { 809ed18: 6d3b ldr r3, [r7, #80] ; 0x50 809ed1a: 4ab2 ldr r2, [pc, #712] ; (809efe4 ) 809ed1c: 009b lsls r3, r3, #2 809ed1e: 4413 add r3, r2 809ed20: edd3 7a00 vldr s15, [r3] 809ed24: eef5 7ac0 vcmpe.f32 s15, #0.0 809ed28: eef1 fa10 vmrs APSR_nzcv, fpscr 809ed2c: f140 847f bpl.w 809f62e DrawImage(&bmgminus, 78, 190); 809ed30: 22be movs r2, #190 ; 0xbe 809ed32: 214e movs r1, #78 ; 0x4e 809ed34: 48ac ldr r0, [pc, #688] ; (809efe8 ) 809ed36: f7b5 fc49 bl 80545cc 809ed3a: f000 bc78 b.w 809f62e if(skz[ACC] != -1.0f) 809ed3e: 4ba9 ldr r3, [pc, #676] ; (809efe4 ) 809ed40: edd3 7a00 vldr s15, [r3] 809ed44: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809ed48: eef4 7a47 vcmp.f32 s15, s14 809ed4c: eef1 fa10 vmrs APSR_nzcv, fpscr 809ed50: f000 846d beq.w 809f62e if(ipr == VEL) 809ed54: 6d3b ldr r3, [r7, #80] ; 0x50 809ed56: 2b01 cmp r3, #1 809ed58: d116 bne.n 809ed88 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809ed5a: 49a4 ldr r1, [pc, #656] ; (809efec ) 809ed5c: 48a4 ldr r0, [pc, #656] ; (809eff0 ) 809ed5e: f7b4 fd41 bl 80537e4 if(pardata.LANG == RUS) 809ed62: 4b9d ldr r3, [pc, #628] ; (809efd8 ) 809ed64: 7b1b ldrb r3, [r3, #12] 809ed66: b2db uxtb r3, r3 809ed68: 2b00 cmp r3, #0 809ed6a: d106 bne.n 809ed7a LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809ed6c: 4aa1 ldr r2, [pc, #644] ; (809eff4 ) 809ed6e: 2187 movs r1, #135 ; 0x87 809ed70: 20a7 movs r0, #167 ; 0xa7 809ed72: f7b5 faf7 bl 8054364 809ed76: f000 bc5a b.w 809f62e else LCD_DisplayStringC(167, 135, "NO DATA"); 809ed7a: 4a9f ldr r2, [pc, #636] ; (809eff8 ) 809ed7c: 2187 movs r1, #135 ; 0x87 809ed7e: 20a7 movs r0, #167 ; 0xa7 809ed80: f7b5 faf0 bl 8054364 809ed84: f000 bc53 b.w 809f62e if(ipr == DIS) 809ed88: 6d3b ldr r3, [r7, #80] ; 0x50 809ed8a: 2b02 cmp r3, #2 809ed8c: f040 844f bne.w 809f62e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809ed90: 4996 ldr r1, [pc, #600] ; (809efec ) 809ed92: 4897 ldr r0, [pc, #604] ; (809eff0 ) 809ed94: f7b4 fd26 bl 80537e4 if(pardata.LANG == RUS) 809ed98: 4b8f ldr r3, [pc, #572] ; (809efd8 ) 809ed9a: 7b1b ldrb r3, [r3, #12] 809ed9c: b2db uxtb r3, r3 809ed9e: 2b00 cmp r3, #0 809eda0: d106 bne.n 809edb0 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809eda2: 4a94 ldr r2, [pc, #592] ; (809eff4 ) 809eda4: 21b9 movs r1, #185 ; 0xb9 809eda6: 20a7 movs r0, #167 ; 0xa7 809eda8: f7b5 fadc bl 8054364 809edac: f000 bc3f b.w 809f62e else LCD_DisplayStringC(167, 185, "NO DATA"); 809edb0: 4a91 ldr r2, [pc, #580] ; (809eff8 ) 809edb2: 21b9 movs r1, #185 ; 0xb9 809edb4: 20a7 movs r0, #167 ; 0xa7 809edb6: f7b5 fad5 bl 8054364 809edba: f000 bc38 b.w 809f62e if(skz[ipr] != -1.0f) 809edbe: 6d3b ldr r3, [r7, #80] ; 0x50 809edc0: 4a88 ldr r2, [pc, #544] ; (809efe4 ) 809edc2: 009b lsls r3, r3, #2 809edc4: 4413 add r3, r2 809edc6: edd3 7a00 vldr s15, [r3] 809edca: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809edce: eef4 7a47 vcmp.f32 s15, s14 809edd2: eef1 fa10 vmrs APSR_nzcv, fpscr 809edd6: f000 83d8 beq.w 809f58a f = ABS(skzDB[ipr]); 809edda: 6d3b ldr r3, [r7, #80] ; 0x50 809eddc: 4a87 ldr r2, [pc, #540] ; (809effc ) 809edde: 009b lsls r3, r3, #2 809ede0: 4413 add r3, r2 809ede2: edd3 7a00 vldr s15, [r3] 809ede6: eef5 7ac0 vcmpe.f32 s15, #0.0 809edea: eef1 fa10 vmrs APSR_nzcv, fpscr 809edee: dd06 ble.n 809edfe 809edf0: 6d3b ldr r3, [r7, #80] ; 0x50 809edf2: 4a82 ldr r2, [pc, #520] ; (809effc ) 809edf4: 009b lsls r3, r3, #2 809edf6: 4413 add r3, r2 809edf8: edd3 7a00 vldr s15, [r3] 809edfc: e007 b.n 809ee0e 809edfe: 6d3b ldr r3, [r7, #80] ; 0x50 809ee00: 4a7e ldr r2, [pc, #504] ; (809effc ) 809ee02: 009b lsls r3, r3, #2 809ee04: 4413 add r3, r2 809ee06: edd3 7a00 vldr s15, [r3] 809ee0a: eef1 7a67 vneg.f32 s15, s15 809ee0e: edc7 7a11 vstr s15, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f * 10 + 0.5f)); 809ee12: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ee16: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ee1a: ee67 7a87 vmul.f32 s15, s15, s14 809ee1e: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 809ee22: ee77 7a87 vadd.f32 s15, s15, s14 809ee26: eeb0 0a67 vmov.f32 s0, s15 809ee2a: f02b ff2b bl 80cac84 809ee2e: eef0 7a40 vmov.f32 s15, s0 809ee32: eefc 7ae7 vcvt.u32.f32 s15, s15 809ee36: ee17 3a90 vmov r3, s15 809ee3a: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 809ee3c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ee40: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809ee44: eef4 7ac7 vcmpe.f32 s15, s14 809ee48: eef1 fa10 vmrs APSR_nzcv, fpscr 809ee4c: f140 80e2 bpl.w 809f014 ik[ipr][0] = (uint8_t) (k / 10); 809ee50: 6d3a ldr r2, [r7, #80] ; 0x50 809ee52: 6dbb ldr r3, [r7, #88] ; 0x58 809ee54: 496a ldr r1, [pc, #424] ; (809f000 ) 809ee56: fba1 1303 umull r1, r3, r1, r3 809ee5a: 08db lsrs r3, r3, #3 809ee5c: b2d9 uxtb r1, r3 809ee5e: 4613 mov r3, r2 809ee60: 009b lsls r3, r3, #2 809ee62: 4413 add r3, r2 809ee64: f107 0268 add.w r2, r7, #104 ; 0x68 809ee68: 4413 add r3, r2 809ee6a: 3b34 subs r3, #52 ; 0x34 809ee6c: 460a mov r2, r1 809ee6e: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 809ee70: 6d38 ldr r0, [r7, #80] ; 0x50 809ee72: 6db9 ldr r1, [r7, #88] ; 0x58 809ee74: 4b62 ldr r3, [pc, #392] ; (809f000 ) 809ee76: fba3 2301 umull r2, r3, r3, r1 809ee7a: 08da lsrs r2, r3, #3 809ee7c: 4613 mov r3, r2 809ee7e: 009b lsls r3, r3, #2 809ee80: 4413 add r3, r2 809ee82: 005b lsls r3, r3, #1 809ee84: 1aca subs r2, r1, r3 809ee86: b2d2 uxtb r2, r2 809ee88: 4603 mov r3, r0 809ee8a: 009b lsls r3, r3, #2 809ee8c: 4403 add r3, r0 809ee8e: f107 0168 add.w r1, r7, #104 ; 0x68 809ee92: 440b add r3, r1 809ee94: 3b33 subs r3, #51 ; 0x33 809ee96: 701a strb r2, [r3, #0] if(ipr == ACC) 809ee98: 6d3b ldr r3, [r7, #80] ; 0x50 809ee9a: 2b00 cmp r3, #0 809ee9c: d131 bne.n 809ef02 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 809ee9e: 6d3a ldr r2, [r7, #80] ; 0x50 809eea0: 4613 mov r3, r2 809eea2: 009b lsls r3, r3, #2 809eea4: 4413 add r3, r2 809eea6: f107 0268 add.w r2, r7, #104 ; 0x68 809eeaa: 4413 add r3, r2 809eeac: 3b33 subs r3, #51 ; 0x33 809eeae: 781b ldrb r3, [r3, #0] 809eeb0: b2db uxtb r3, r3 809eeb2: 461a mov r2, r3 809eeb4: 4b53 ldr r3, [pc, #332] ; (809f004 ) 809eeb6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eeba: 2256 movs r2, #86 ; 0x56 809eebc: 21e6 movs r1, #230 ; 0xe6 809eebe: 4618 mov r0, r3 809eec0: f7b5 fb84 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 92+18); 809eec4: 226e movs r2, #110 ; 0x6e 809eec6: 21d7 movs r1, #215 ; 0xd7 809eec8: 484f ldr r0, [pc, #316] ; (809f008 ) 809eeca: f7b5 fb7f bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 809eece: 6d3a ldr r2, [r7, #80] ; 0x50 809eed0: 4613 mov r3, r2 809eed2: 009b lsls r3, r3, #2 809eed4: 4413 add r3, r2 809eed6: f107 0268 add.w r2, r7, #104 ; 0x68 809eeda: 4413 add r3, r2 809eedc: 3b34 subs r3, #52 ; 0x34 809eede: 781b ldrb r3, [r3, #0] 809eee0: b2db uxtb r3, r3 809eee2: 461a mov r2, r3 809eee4: 4b47 ldr r3, [pc, #284] ; (809f004 ) 809eee6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809eeea: 2256 movs r2, #86 ; 0x56 809eeec: 21b4 movs r1, #180 ; 0xb4 809eeee: 4618 mov r0, r3 809eef0: f7b5 fb6c bl 80545cc DrawImage(&bmg_dB, 265, 74+18); 809eef4: 225c movs r2, #92 ; 0x5c 809eef6: f240 1109 movw r1, #265 ; 0x109 809eefa: 4844 ldr r0, [pc, #272] ; (809f00c ) 809eefc: f7b5 fb66 bl 80545cc 809ef00: e395 b.n 809f62e if(ipr == VEL) 809ef02: 6d3b ldr r3, [r7, #80] ; 0x50 809ef04: 2b01 cmp r3, #1 809ef06: d131 bne.n 809ef6c DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 809ef08: 6d3a ldr r2, [r7, #80] ; 0x50 809ef0a: 4613 mov r3, r2 809ef0c: 009b lsls r3, r3, #2 809ef0e: 4413 add r3, r2 809ef10: f107 0268 add.w r2, r7, #104 ; 0x68 809ef14: 4413 add r3, r2 809ef16: 3b33 subs r3, #51 ; 0x33 809ef18: 781b ldrb r3, [r3, #0] 809ef1a: b2db uxtb r3, r3 809ef1c: 461a mov r2, r3 809ef1e: 4b39 ldr r3, [pc, #228] ; (809f004 ) 809ef20: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ef24: 2282 movs r2, #130 ; 0x82 809ef26: 21e6 movs r1, #230 ; 0xe6 809ef28: 4618 mov r0, r3 809ef2a: f7b5 fb4f bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 145+9); 809ef2e: 229a movs r2, #154 ; 0x9a 809ef30: 21d7 movs r1, #215 ; 0xd7 809ef32: 4835 ldr r0, [pc, #212] ; (809f008 ) 809ef34: f7b5 fb4a bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 809ef38: 6d3a ldr r2, [r7, #80] ; 0x50 809ef3a: 4613 mov r3, r2 809ef3c: 009b lsls r3, r3, #2 809ef3e: 4413 add r3, r2 809ef40: f107 0268 add.w r2, r7, #104 ; 0x68 809ef44: 4413 add r3, r2 809ef46: 3b34 subs r3, #52 ; 0x34 809ef48: 781b ldrb r3, [r3, #0] 809ef4a: b2db uxtb r3, r3 809ef4c: 461a mov r2, r3 809ef4e: 4b2d ldr r3, [pc, #180] ; (809f004 ) 809ef50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ef54: 2282 movs r2, #130 ; 0x82 809ef56: 21b4 movs r1, #180 ; 0xb4 809ef58: 4618 mov r0, r3 809ef5a: f7b5 fb37 bl 80545cc DrawImage(&bmg_dB, 265, 128+9); 809ef5e: 2289 movs r2, #137 ; 0x89 809ef60: f240 1109 movw r1, #265 ; 0x109 809ef64: 4829 ldr r0, [pc, #164] ; (809f00c ) 809ef66: f7b5 fb31 bl 80545cc 809ef6a: e360 b.n 809f62e if(ipr == DIS) 809ef6c: 6d3b ldr r3, [r7, #80] ; 0x50 809ef6e: 2b02 cmp r3, #2 809ef70: f040 835d bne.w 809f62e DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 809ef74: 6d3a ldr r2, [r7, #80] ; 0x50 809ef76: 4613 mov r3, r2 809ef78: 009b lsls r3, r3, #2 809ef7a: 4413 add r3, r2 809ef7c: f107 0268 add.w r2, r7, #104 ; 0x68 809ef80: 4413 add r3, r2 809ef82: 3b33 subs r3, #51 ; 0x33 809ef84: 781b ldrb r3, [r3, #0] 809ef86: b2db uxtb r3, r3 809ef88: 461a mov r2, r3 809ef8a: 4b1e ldr r3, [pc, #120] ; (809f004 ) 809ef8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809ef90: 22ae movs r2, #174 ; 0xae 809ef92: 21e6 movs r1, #230 ; 0xe6 809ef94: 4618 mov r0, r3 809ef96: f7b5 fb19 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 198); 809ef9a: 22c6 movs r2, #198 ; 0xc6 809ef9c: 21d7 movs r1, #215 ; 0xd7 809ef9e: 481a ldr r0, [pc, #104] ; (809f008 ) 809efa0: f7b5 fb14 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 809efa4: 6d3a ldr r2, [r7, #80] ; 0x50 809efa6: 4613 mov r3, r2 809efa8: 009b lsls r3, r3, #2 809efaa: 4413 add r3, r2 809efac: f107 0268 add.w r2, r7, #104 ; 0x68 809efb0: 4413 add r3, r2 809efb2: 3b34 subs r3, #52 ; 0x34 809efb4: 781b ldrb r3, [r3, #0] 809efb6: b2db uxtb r3, r3 809efb8: 461a mov r2, r3 809efba: 4b12 ldr r3, [pc, #72] ; (809f004 ) 809efbc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809efc0: 22ae movs r2, #174 ; 0xae 809efc2: 21b4 movs r1, #180 ; 0xb4 809efc4: 4618 mov r0, r3 809efc6: f7b5 fb01 bl 80545cc DrawImage(&bmg_dB, 265, 180); 809efca: 22b4 movs r2, #180 ; 0xb4 809efcc: f240 1109 movw r1, #265 ; 0x109 809efd0: 480e ldr r0, [pc, #56] ; (809f00c ) 809efd2: f7b5 fafb bl 80545cc 809efd6: e32a b.n 809f62e 809efd8: 20023e60 .word 0x20023e60 809efdc: 20020114 .word 0x20020114 809efe0: 2002011c .word 0x2002011c 809efe4: 20021540 .word 0x20021540 809efe8: 081679c8 .word 0x081679c8 809efec: ff0a0f1f .word 0xff0a0f1f 809eff0: ffb8e828 .word 0xffb8e828 809eff4: 080cfb2c .word 0x080cfb2c 809eff8: 080cfb38 .word 0x080cfb38 809effc: 2002154c .word 0x2002154c 809f000: cccccccd .word 0xcccccccd 809f004: 20020124 .word 0x20020124 809f008: 08167a54 .word 0x08167a54 809f00c: 08162ca0 .word 0x08162ca0 809f010: 42c80000 .word 0x42c80000 if(f < 100.0f) 809f014: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f018: ed1f 7a03 vldr s14, [pc, #-12] ; 809f010 809f01c: eef4 7ac7 vcmpe.f32 s15, s14 809f020: eef1 fa10 vmrs APSR_nzcv, fpscr 809f024: f140 8128 bpl.w 809f278 ik[ipr][0] = (uint8_t) (k / 100); 809f028: 6d3a ldr r2, [r7, #80] ; 0x50 809f02a: 6dbb ldr r3, [r7, #88] ; 0x58 809f02c: 498c ldr r1, [pc, #560] ; (809f260 ) 809f02e: fba1 1303 umull r1, r3, r1, r3 809f032: 095b lsrs r3, r3, #5 809f034: b2d9 uxtb r1, r3 809f036: 4613 mov r3, r2 809f038: 009b lsls r3, r3, #2 809f03a: 4413 add r3, r2 809f03c: f107 0268 add.w r2, r7, #104 ; 0x68 809f040: 4413 add r3, r2 809f042: 3b34 subs r3, #52 ; 0x34 809f044: 460a mov r2, r1 809f046: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 809f048: 6d39 ldr r1, [r7, #80] ; 0x50 809f04a: 6dba ldr r2, [r7, #88] ; 0x58 809f04c: 4b84 ldr r3, [pc, #528] ; (809f260 ) 809f04e: fba3 0302 umull r0, r3, r3, r2 809f052: 095b lsrs r3, r3, #5 809f054: 2064 movs r0, #100 ; 0x64 809f056: fb00 f303 mul.w r3, r0, r3 809f05a: 1ad3 subs r3, r2, r3 809f05c: 4a81 ldr r2, [pc, #516] ; (809f264 ) 809f05e: fba2 2303 umull r2, r3, r2, r3 809f062: 08db lsrs r3, r3, #3 809f064: b2da uxtb r2, r3 809f066: 460b mov r3, r1 809f068: 009b lsls r3, r3, #2 809f06a: 440b add r3, r1 809f06c: f107 0168 add.w r1, r7, #104 ; 0x68 809f070: 440b add r3, r1 809f072: 3b33 subs r3, #51 ; 0x33 809f074: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 809f076: 6d38 ldr r0, [r7, #80] ; 0x50 809f078: 6dbb ldr r3, [r7, #88] ; 0x58 809f07a: 4a79 ldr r2, [pc, #484] ; (809f260 ) 809f07c: fba2 1203 umull r1, r2, r2, r3 809f080: 0952 lsrs r2, r2, #5 809f082: 2164 movs r1, #100 ; 0x64 809f084: fb01 f202 mul.w r2, r1, r2 809f088: 1a9a subs r2, r3, r2 809f08a: 4b76 ldr r3, [pc, #472] ; (809f264 ) 809f08c: fba3 1302 umull r1, r3, r3, r2 809f090: 08d9 lsrs r1, r3, #3 809f092: 460b mov r3, r1 809f094: 009b lsls r3, r3, #2 809f096: 440b add r3, r1 809f098: 005b lsls r3, r3, #1 809f09a: 1ad1 subs r1, r2, r3 809f09c: b2ca uxtb r2, r1 809f09e: 4603 mov r3, r0 809f0a0: 009b lsls r3, r3, #2 809f0a2: 4403 add r3, r0 809f0a4: f107 0168 add.w r1, r7, #104 ; 0x68 809f0a8: 440b add r3, r1 809f0aa: 3b32 subs r3, #50 ; 0x32 809f0ac: 701a strb r2, [r3, #0] if(ipr == ACC) 809f0ae: 6d3b ldr r3, [r7, #80] ; 0x50 809f0b0: 2b00 cmp r3, #0 809f0b2: d144 bne.n 809f13e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 809f0b4: 6d3a ldr r2, [r7, #80] ; 0x50 809f0b6: 4613 mov r3, r2 809f0b8: 009b lsls r3, r3, #2 809f0ba: 4413 add r3, r2 809f0bc: f107 0268 add.w r2, r7, #104 ; 0x68 809f0c0: 4413 add r3, r2 809f0c2: 3b32 subs r3, #50 ; 0x32 809f0c4: 781b ldrb r3, [r3, #0] 809f0c6: b2db uxtb r3, r3 809f0c8: 461a mov r2, r3 809f0ca: 4b67 ldr r3, [pc, #412] ; (809f268 ) 809f0cc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f0d0: 2256 movs r2, #86 ; 0x56 809f0d2: 21e6 movs r1, #230 ; 0xe6 809f0d4: 4618 mov r0, r3 809f0d6: f7b5 fa79 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 92+18); 809f0da: 226e movs r2, #110 ; 0x6e 809f0dc: 21d7 movs r1, #215 ; 0xd7 809f0de: 4863 ldr r0, [pc, #396] ; (809f26c ) 809f0e0: f7b5 fa74 bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 809f0e4: 6d3a ldr r2, [r7, #80] ; 0x50 809f0e6: 4613 mov r3, r2 809f0e8: 009b lsls r3, r3, #2 809f0ea: 4413 add r3, r2 809f0ec: f107 0268 add.w r2, r7, #104 ; 0x68 809f0f0: 4413 add r3, r2 809f0f2: 3b33 subs r3, #51 ; 0x33 809f0f4: 781b ldrb r3, [r3, #0] 809f0f6: b2db uxtb r3, r3 809f0f8: 461a mov r2, r3 809f0fa: 4b5b ldr r3, [pc, #364] ; (809f268 ) 809f0fc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f100: 2256 movs r2, #86 ; 0x56 809f102: 21b4 movs r1, #180 ; 0xb4 809f104: 4618 mov r0, r3 809f106: f7b5 fa61 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 809f10a: 6d3a ldr r2, [r7, #80] ; 0x50 809f10c: 4613 mov r3, r2 809f10e: 009b lsls r3, r3, #2 809f110: 4413 add r3, r2 809f112: f107 0268 add.w r2, r7, #104 ; 0x68 809f116: 4413 add r3, r2 809f118: 3b34 subs r3, #52 ; 0x34 809f11a: 781b ldrb r3, [r3, #0] 809f11c: b2db uxtb r3, r3 809f11e: 461a mov r2, r3 809f120: 4b51 ldr r3, [pc, #324] ; (809f268 ) 809f122: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f126: 2256 movs r2, #86 ; 0x56 809f128: 2196 movs r1, #150 ; 0x96 809f12a: 4618 mov r0, r3 809f12c: f7b5 fa4e bl 80545cc DrawImage(&bmg_dB, 265, 74+18); 809f130: 225c movs r2, #92 ; 0x5c 809f132: f240 1109 movw r1, #265 ; 0x109 809f136: 484e ldr r0, [pc, #312] ; (809f270 ) 809f138: f7b5 fa48 bl 80545cc 809f13c: e277 b.n 809f62e if(ipr == VEL) 809f13e: 6d3b ldr r3, [r7, #80] ; 0x50 809f140: 2b01 cmp r3, #1 809f142: d144 bne.n 809f1ce DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 809f144: 6d3a ldr r2, [r7, #80] ; 0x50 809f146: 4613 mov r3, r2 809f148: 009b lsls r3, r3, #2 809f14a: 4413 add r3, r2 809f14c: f107 0268 add.w r2, r7, #104 ; 0x68 809f150: 4413 add r3, r2 809f152: 3b32 subs r3, #50 ; 0x32 809f154: 781b ldrb r3, [r3, #0] 809f156: b2db uxtb r3, r3 809f158: 461a mov r2, r3 809f15a: 4b43 ldr r3, [pc, #268] ; (809f268 ) 809f15c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f160: 2282 movs r2, #130 ; 0x82 809f162: 21e6 movs r1, #230 ; 0xe6 809f164: 4618 mov r0, r3 809f166: f7b5 fa31 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 145+9); 809f16a: 229a movs r2, #154 ; 0x9a 809f16c: 21d7 movs r1, #215 ; 0xd7 809f16e: 483f ldr r0, [pc, #252] ; (809f26c ) 809f170: f7b5 fa2c bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 809f174: 6d3a ldr r2, [r7, #80] ; 0x50 809f176: 4613 mov r3, r2 809f178: 009b lsls r3, r3, #2 809f17a: 4413 add r3, r2 809f17c: f107 0268 add.w r2, r7, #104 ; 0x68 809f180: 4413 add r3, r2 809f182: 3b33 subs r3, #51 ; 0x33 809f184: 781b ldrb r3, [r3, #0] 809f186: b2db uxtb r3, r3 809f188: 461a mov r2, r3 809f18a: 4b37 ldr r3, [pc, #220] ; (809f268 ) 809f18c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f190: 2282 movs r2, #130 ; 0x82 809f192: 21b4 movs r1, #180 ; 0xb4 809f194: 4618 mov r0, r3 809f196: f7b5 fa19 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 809f19a: 6d3a ldr r2, [r7, #80] ; 0x50 809f19c: 4613 mov r3, r2 809f19e: 009b lsls r3, r3, #2 809f1a0: 4413 add r3, r2 809f1a2: f107 0268 add.w r2, r7, #104 ; 0x68 809f1a6: 4413 add r3, r2 809f1a8: 3b34 subs r3, #52 ; 0x34 809f1aa: 781b ldrb r3, [r3, #0] 809f1ac: b2db uxtb r3, r3 809f1ae: 461a mov r2, r3 809f1b0: 4b2d ldr r3, [pc, #180] ; (809f268 ) 809f1b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f1b6: 2282 movs r2, #130 ; 0x82 809f1b8: 2196 movs r1, #150 ; 0x96 809f1ba: 4618 mov r0, r3 809f1bc: f7b5 fa06 bl 80545cc DrawImage(&bmg_dB, 265, 128+9); 809f1c0: 2289 movs r2, #137 ; 0x89 809f1c2: f240 1109 movw r1, #265 ; 0x109 809f1c6: 482a ldr r0, [pc, #168] ; (809f270 ) 809f1c8: f7b5 fa00 bl 80545cc 809f1cc: e22f b.n 809f62e if(ipr == DIS) 809f1ce: 6d3b ldr r3, [r7, #80] ; 0x50 809f1d0: 2b02 cmp r3, #2 809f1d2: f040 822c bne.w 809f62e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 809f1d6: 6d3a ldr r2, [r7, #80] ; 0x50 809f1d8: 4613 mov r3, r2 809f1da: 009b lsls r3, r3, #2 809f1dc: 4413 add r3, r2 809f1de: f107 0268 add.w r2, r7, #104 ; 0x68 809f1e2: 4413 add r3, r2 809f1e4: 3b32 subs r3, #50 ; 0x32 809f1e6: 781b ldrb r3, [r3, #0] 809f1e8: b2db uxtb r3, r3 809f1ea: 461a mov r2, r3 809f1ec: 4b1e ldr r3, [pc, #120] ; (809f268 ) 809f1ee: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f1f2: 22ae movs r2, #174 ; 0xae 809f1f4: 21e6 movs r1, #230 ; 0xe6 809f1f6: 4618 mov r0, r3 809f1f8: f7b5 f9e8 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 198); 809f1fc: 22c6 movs r2, #198 ; 0xc6 809f1fe: 21d7 movs r1, #215 ; 0xd7 809f200: 481a ldr r0, [pc, #104] ; (809f26c ) 809f202: f7b5 f9e3 bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 809f206: 6d3a ldr r2, [r7, #80] ; 0x50 809f208: 4613 mov r3, r2 809f20a: 009b lsls r3, r3, #2 809f20c: 4413 add r3, r2 809f20e: f107 0268 add.w r2, r7, #104 ; 0x68 809f212: 4413 add r3, r2 809f214: 3b33 subs r3, #51 ; 0x33 809f216: 781b ldrb r3, [r3, #0] 809f218: b2db uxtb r3, r3 809f21a: 461a mov r2, r3 809f21c: 4b12 ldr r3, [pc, #72] ; (809f268 ) 809f21e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f222: 22ae movs r2, #174 ; 0xae 809f224: 21b4 movs r1, #180 ; 0xb4 809f226: 4618 mov r0, r3 809f228: f7b5 f9d0 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 809f22c: 6d3a ldr r2, [r7, #80] ; 0x50 809f22e: 4613 mov r3, r2 809f230: 009b lsls r3, r3, #2 809f232: 4413 add r3, r2 809f234: f107 0268 add.w r2, r7, #104 ; 0x68 809f238: 4413 add r3, r2 809f23a: 3b34 subs r3, #52 ; 0x34 809f23c: 781b ldrb r3, [r3, #0] 809f23e: b2db uxtb r3, r3 809f240: 461a mov r2, r3 809f242: 4b09 ldr r3, [pc, #36] ; (809f268 ) 809f244: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f248: 22ae movs r2, #174 ; 0xae 809f24a: 2196 movs r1, #150 ; 0x96 809f24c: 4618 mov r0, r3 809f24e: f7b5 f9bd bl 80545cc DrawImage(&bmg_dB, 265, 180); 809f252: 22b4 movs r2, #180 ; 0xb4 809f254: f240 1109 movw r1, #265 ; 0x109 809f258: 4805 ldr r0, [pc, #20] ; (809f270 ) 809f25a: f7b5 f9b7 bl 80545cc 809f25e: e1e6 b.n 809f62e 809f260: 51eb851f .word 0x51eb851f 809f264: cccccccd .word 0xcccccccd 809f268: 20020124 .word 0x20020124 809f26c: 08167a54 .word 0x08167a54 809f270: 08162ca0 .word 0x08162ca0 809f274: 447a0000 .word 0x447a0000 if(f < 1000.0f) 809f278: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f27c: ed1f 7a03 vldr s14, [pc, #-12] ; 809f274 809f280: eef4 7ac7 vcmpe.f32 s15, s14 809f284: eef1 fa10 vmrs APSR_nzcv, fpscr 809f288: f140 81d1 bpl.w 809f62e ik[ipr][0] = (uint8_t) (k / 1000); 809f28c: 6d3a ldr r2, [r7, #80] ; 0x50 809f28e: 6dbb ldr r3, [r7, #88] ; 0x58 809f290: 49cf ldr r1, [pc, #828] ; (809f5d0 ) 809f292: fba1 1303 umull r1, r3, r1, r3 809f296: 099b lsrs r3, r3, #6 809f298: b2d9 uxtb r1, r3 809f29a: 4613 mov r3, r2 809f29c: 009b lsls r3, r3, #2 809f29e: 4413 add r3, r2 809f2a0: f107 0268 add.w r2, r7, #104 ; 0x68 809f2a4: 4413 add r3, r2 809f2a6: 3b34 subs r3, #52 ; 0x34 809f2a8: 460a mov r2, r1 809f2aa: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 809f2ac: 6d39 ldr r1, [r7, #80] ; 0x50 809f2ae: 6dba ldr r2, [r7, #88] ; 0x58 809f2b0: 4bc7 ldr r3, [pc, #796] ; (809f5d0 ) 809f2b2: fba3 0302 umull r0, r3, r3, r2 809f2b6: 099b lsrs r3, r3, #6 809f2b8: f44f 707a mov.w r0, #1000 ; 0x3e8 809f2bc: fb00 f303 mul.w r3, r0, r3 809f2c0: 1ad3 subs r3, r2, r3 809f2c2: 4ac4 ldr r2, [pc, #784] ; (809f5d4 ) 809f2c4: fba2 2303 umull r2, r3, r2, r3 809f2c8: 095b lsrs r3, r3, #5 809f2ca: b2da uxtb r2, r3 809f2cc: 460b mov r3, r1 809f2ce: 009b lsls r3, r3, #2 809f2d0: 440b add r3, r1 809f2d2: f107 0168 add.w r1, r7, #104 ; 0x68 809f2d6: 440b add r3, r1 809f2d8: 3b33 subs r3, #51 ; 0x33 809f2da: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 809f2dc: 6d39 ldr r1, [r7, #80] ; 0x50 809f2de: 6dba ldr r2, [r7, #88] ; 0x58 809f2e0: 4bbb ldr r3, [pc, #748] ; (809f5d0 ) 809f2e2: fba3 0302 umull r0, r3, r3, r2 809f2e6: 099b lsrs r3, r3, #6 809f2e8: f44f 707a mov.w r0, #1000 ; 0x3e8 809f2ec: fb00 f303 mul.w r3, r0, r3 809f2f0: 1ad3 subs r3, r2, r3 809f2f2: 4ab8 ldr r2, [pc, #736] ; (809f5d4 ) 809f2f4: fba2 0203 umull r0, r2, r2, r3 809f2f8: 0952 lsrs r2, r2, #5 809f2fa: 2064 movs r0, #100 ; 0x64 809f2fc: fb00 f202 mul.w r2, r0, r2 809f300: 1a9a subs r2, r3, r2 809f302: 4bb5 ldr r3, [pc, #724] ; (809f5d8 ) 809f304: fba3 2302 umull r2, r3, r3, r2 809f308: 08db lsrs r3, r3, #3 809f30a: b2da uxtb r2, r3 809f30c: 460b mov r3, r1 809f30e: 009b lsls r3, r3, #2 809f310: 440b add r3, r1 809f312: f107 0168 add.w r1, r7, #104 ; 0x68 809f316: 440b add r3, r1 809f318: 3b32 subs r3, #50 ; 0x32 809f31a: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 809f31c: 6d38 ldr r0, [r7, #80] ; 0x50 809f31e: 6dba ldr r2, [r7, #88] ; 0x58 809f320: 4bab ldr r3, [pc, #684] ; (809f5d0 ) 809f322: fba3 1302 umull r1, r3, r3, r2 809f326: 099b lsrs r3, r3, #6 809f328: f44f 717a mov.w r1, #1000 ; 0x3e8 809f32c: fb01 f303 mul.w r3, r1, r3 809f330: 1ad3 subs r3, r2, r3 809f332: 4aa8 ldr r2, [pc, #672] ; (809f5d4 ) 809f334: fba2 1203 umull r1, r2, r2, r3 809f338: 0952 lsrs r2, r2, #5 809f33a: 2164 movs r1, #100 ; 0x64 809f33c: fb01 f202 mul.w r2, r1, r2 809f340: 1a9a subs r2, r3, r2 809f342: 4ba5 ldr r3, [pc, #660] ; (809f5d8 ) 809f344: fba3 1302 umull r1, r3, r3, r2 809f348: 08d9 lsrs r1, r3, #3 809f34a: 460b mov r3, r1 809f34c: 009b lsls r3, r3, #2 809f34e: 440b add r3, r1 809f350: 005b lsls r3, r3, #1 809f352: 1ad1 subs r1, r2, r3 809f354: b2ca uxtb r2, r1 809f356: 4603 mov r3, r0 809f358: 009b lsls r3, r3, #2 809f35a: 4403 add r3, r0 809f35c: f107 0168 add.w r1, r7, #104 ; 0x68 809f360: 440b add r3, r1 809f362: 3b31 subs r3, #49 ; 0x31 809f364: 701a strb r2, [r3, #0] if(ipr == ACC) 809f366: 6d3b ldr r3, [r7, #80] ; 0x50 809f368: 2b00 cmp r3, #0 809f36a: d157 bne.n 809f41c DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 809f36c: 6d3a ldr r2, [r7, #80] ; 0x50 809f36e: 4613 mov r3, r2 809f370: 009b lsls r3, r3, #2 809f372: 4413 add r3, r2 809f374: f107 0268 add.w r2, r7, #104 ; 0x68 809f378: 4413 add r3, r2 809f37a: 3b31 subs r3, #49 ; 0x31 809f37c: 781b ldrb r3, [r3, #0] 809f37e: b2db uxtb r3, r3 809f380: 461a mov r2, r3 809f382: 4b96 ldr r3, [pc, #600] ; (809f5dc ) 809f384: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f388: 2256 movs r2, #86 ; 0x56 809f38a: 21e6 movs r1, #230 ; 0xe6 809f38c: 4618 mov r0, r3 809f38e: f7b5 f91d bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 92+18); 809f392: 226e movs r2, #110 ; 0x6e 809f394: 21d7 movs r1, #215 ; 0xd7 809f396: 4892 ldr r0, [pc, #584] ; (809f5e0 ) 809f398: f7b5 f918 bl 80545cc DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 809f39c: 6d3a ldr r2, [r7, #80] ; 0x50 809f39e: 4613 mov r3, r2 809f3a0: 009b lsls r3, r3, #2 809f3a2: 4413 add r3, r2 809f3a4: f107 0268 add.w r2, r7, #104 ; 0x68 809f3a8: 4413 add r3, r2 809f3aa: 3b32 subs r3, #50 ; 0x32 809f3ac: 781b ldrb r3, [r3, #0] 809f3ae: b2db uxtb r3, r3 809f3b0: 461a mov r2, r3 809f3b2: 4b8a ldr r3, [pc, #552] ; (809f5dc ) 809f3b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f3b8: 2256 movs r2, #86 ; 0x56 809f3ba: 21b4 movs r1, #180 ; 0xb4 809f3bc: 4618 mov r0, r3 809f3be: f7b5 f905 bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 809f3c2: 6d3a ldr r2, [r7, #80] ; 0x50 809f3c4: 4613 mov r3, r2 809f3c6: 009b lsls r3, r3, #2 809f3c8: 4413 add r3, r2 809f3ca: f107 0268 add.w r2, r7, #104 ; 0x68 809f3ce: 4413 add r3, r2 809f3d0: 3b33 subs r3, #51 ; 0x33 809f3d2: 781b ldrb r3, [r3, #0] 809f3d4: b2db uxtb r3, r3 809f3d6: 461a mov r2, r3 809f3d8: 4b80 ldr r3, [pc, #512] ; (809f5dc ) 809f3da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f3de: 2256 movs r2, #86 ; 0x56 809f3e0: 2196 movs r1, #150 ; 0x96 809f3e2: 4618 mov r0, r3 809f3e4: f7b5 f8f2 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 809f3e8: 6d3a ldr r2, [r7, #80] ; 0x50 809f3ea: 4613 mov r3, r2 809f3ec: 009b lsls r3, r3, #2 809f3ee: 4413 add r3, r2 809f3f0: f107 0268 add.w r2, r7, #104 ; 0x68 809f3f4: 4413 add r3, r2 809f3f6: 3b34 subs r3, #52 ; 0x34 809f3f8: 781b ldrb r3, [r3, #0] 809f3fa: b2db uxtb r3, r3 809f3fc: 461a mov r2, r3 809f3fe: 4b77 ldr r3, [pc, #476] ; (809f5dc ) 809f400: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f404: 2256 movs r2, #86 ; 0x56 809f406: 2178 movs r1, #120 ; 0x78 809f408: 4618 mov r0, r3 809f40a: f7b5 f8df bl 80545cc DrawImage(&bmg_dB, 265, 74+18); 809f40e: 225c movs r2, #92 ; 0x5c 809f410: f240 1109 movw r1, #265 ; 0x109 809f414: 4873 ldr r0, [pc, #460] ; (809f5e4 ) 809f416: f7b5 f8d9 bl 80545cc 809f41a: e108 b.n 809f62e if(ipr == VEL) 809f41c: 6d3b ldr r3, [r7, #80] ; 0x50 809f41e: 2b01 cmp r3, #1 809f420: d157 bne.n 809f4d2 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 809f422: 6d3a ldr r2, [r7, #80] ; 0x50 809f424: 4613 mov r3, r2 809f426: 009b lsls r3, r3, #2 809f428: 4413 add r3, r2 809f42a: f107 0268 add.w r2, r7, #104 ; 0x68 809f42e: 4413 add r3, r2 809f430: 3b31 subs r3, #49 ; 0x31 809f432: 781b ldrb r3, [r3, #0] 809f434: b2db uxtb r3, r3 809f436: 461a mov r2, r3 809f438: 4b68 ldr r3, [pc, #416] ; (809f5dc ) 809f43a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f43e: 2282 movs r2, #130 ; 0x82 809f440: 21e6 movs r1, #230 ; 0xe6 809f442: 4618 mov r0, r3 809f444: f7b5 f8c2 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 145+9); 809f448: 229a movs r2, #154 ; 0x9a 809f44a: 21d7 movs r1, #215 ; 0xd7 809f44c: 4864 ldr r0, [pc, #400] ; (809f5e0 ) 809f44e: f7b5 f8bd bl 80545cc DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 809f452: 6d3a ldr r2, [r7, #80] ; 0x50 809f454: 4613 mov r3, r2 809f456: 009b lsls r3, r3, #2 809f458: 4413 add r3, r2 809f45a: f107 0268 add.w r2, r7, #104 ; 0x68 809f45e: 4413 add r3, r2 809f460: 3b32 subs r3, #50 ; 0x32 809f462: 781b ldrb r3, [r3, #0] 809f464: b2db uxtb r3, r3 809f466: 461a mov r2, r3 809f468: 4b5c ldr r3, [pc, #368] ; (809f5dc ) 809f46a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f46e: 2282 movs r2, #130 ; 0x82 809f470: 21b4 movs r1, #180 ; 0xb4 809f472: 4618 mov r0, r3 809f474: f7b5 f8aa bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 809f478: 6d3a ldr r2, [r7, #80] ; 0x50 809f47a: 4613 mov r3, r2 809f47c: 009b lsls r3, r3, #2 809f47e: 4413 add r3, r2 809f480: f107 0268 add.w r2, r7, #104 ; 0x68 809f484: 4413 add r3, r2 809f486: 3b33 subs r3, #51 ; 0x33 809f488: 781b ldrb r3, [r3, #0] 809f48a: b2db uxtb r3, r3 809f48c: 461a mov r2, r3 809f48e: 4b53 ldr r3, [pc, #332] ; (809f5dc ) 809f490: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f494: 2282 movs r2, #130 ; 0x82 809f496: 2196 movs r1, #150 ; 0x96 809f498: 4618 mov r0, r3 809f49a: f7b5 f897 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 809f49e: 6d3a ldr r2, [r7, #80] ; 0x50 809f4a0: 4613 mov r3, r2 809f4a2: 009b lsls r3, r3, #2 809f4a4: 4413 add r3, r2 809f4a6: f107 0268 add.w r2, r7, #104 ; 0x68 809f4aa: 4413 add r3, r2 809f4ac: 3b34 subs r3, #52 ; 0x34 809f4ae: 781b ldrb r3, [r3, #0] 809f4b0: b2db uxtb r3, r3 809f4b2: 461a mov r2, r3 809f4b4: 4b49 ldr r3, [pc, #292] ; (809f5dc ) 809f4b6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f4ba: 2282 movs r2, #130 ; 0x82 809f4bc: 2178 movs r1, #120 ; 0x78 809f4be: 4618 mov r0, r3 809f4c0: f7b5 f884 bl 80545cc DrawImage(&bmg_dB, 265, 128+9); 809f4c4: 2289 movs r2, #137 ; 0x89 809f4c6: f240 1109 movw r1, #265 ; 0x109 809f4ca: 4846 ldr r0, [pc, #280] ; (809f5e4 ) 809f4cc: f7b5 f87e bl 80545cc 809f4d0: e0ad b.n 809f62e if(ipr == DIS) 809f4d2: 6d3b ldr r3, [r7, #80] ; 0x50 809f4d4: 2b02 cmp r3, #2 809f4d6: f040 80aa bne.w 809f62e DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 809f4da: 6d3a ldr r2, [r7, #80] ; 0x50 809f4dc: 4613 mov r3, r2 809f4de: 009b lsls r3, r3, #2 809f4e0: 4413 add r3, r2 809f4e2: f107 0268 add.w r2, r7, #104 ; 0x68 809f4e6: 4413 add r3, r2 809f4e8: 3b31 subs r3, #49 ; 0x31 809f4ea: 781b ldrb r3, [r3, #0] 809f4ec: b2db uxtb r3, r3 809f4ee: 461a mov r2, r3 809f4f0: 4b3a ldr r3, [pc, #232] ; (809f5dc ) 809f4f2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f4f6: 22ae movs r2, #174 ; 0xae 809f4f8: 21e6 movs r1, #230 ; 0xe6 809f4fa: 4618 mov r0, r3 809f4fc: f7b5 f866 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 198); 809f500: 22c6 movs r2, #198 ; 0xc6 809f502: 21d7 movs r1, #215 ; 0xd7 809f504: 4836 ldr r0, [pc, #216] ; (809f5e0 ) 809f506: f7b5 f861 bl 80545cc DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 809f50a: 6d3a ldr r2, [r7, #80] ; 0x50 809f50c: 4613 mov r3, r2 809f50e: 009b lsls r3, r3, #2 809f510: 4413 add r3, r2 809f512: f107 0268 add.w r2, r7, #104 ; 0x68 809f516: 4413 add r3, r2 809f518: 3b32 subs r3, #50 ; 0x32 809f51a: 781b ldrb r3, [r3, #0] 809f51c: b2db uxtb r3, r3 809f51e: 461a mov r2, r3 809f520: 4b2e ldr r3, [pc, #184] ; (809f5dc ) 809f522: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f526: 22ae movs r2, #174 ; 0xae 809f528: 21b4 movs r1, #180 ; 0xb4 809f52a: 4618 mov r0, r3 809f52c: f7b5 f84e bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 809f530: 6d3a ldr r2, [r7, #80] ; 0x50 809f532: 4613 mov r3, r2 809f534: 009b lsls r3, r3, #2 809f536: 4413 add r3, r2 809f538: f107 0268 add.w r2, r7, #104 ; 0x68 809f53c: 4413 add r3, r2 809f53e: 3b33 subs r3, #51 ; 0x33 809f540: 781b ldrb r3, [r3, #0] 809f542: b2db uxtb r3, r3 809f544: 461a mov r2, r3 809f546: 4b25 ldr r3, [pc, #148] ; (809f5dc ) 809f548: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f54c: 22ae movs r2, #174 ; 0xae 809f54e: 2196 movs r1, #150 ; 0x96 809f550: 4618 mov r0, r3 809f552: f7b5 f83b bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 809f556: 6d3a ldr r2, [r7, #80] ; 0x50 809f558: 4613 mov r3, r2 809f55a: 009b lsls r3, r3, #2 809f55c: 4413 add r3, r2 809f55e: f107 0268 add.w r2, r7, #104 ; 0x68 809f562: 4413 add r3, r2 809f564: 3b34 subs r3, #52 ; 0x34 809f566: 781b ldrb r3, [r3, #0] 809f568: b2db uxtb r3, r3 809f56a: 461a mov r2, r3 809f56c: 4b1b ldr r3, [pc, #108] ; (809f5dc ) 809f56e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 809f572: 22ae movs r2, #174 ; 0xae 809f574: 2178 movs r1, #120 ; 0x78 809f576: 4618 mov r0, r3 809f578: f7b5 f828 bl 80545cc DrawImage(&bmg_dB, 265, 180); 809f57c: 22b4 movs r2, #180 ; 0xb4 809f57e: f240 1109 movw r1, #265 ; 0x109 809f582: 4818 ldr r0, [pc, #96] ; (809f5e4 ) 809f584: f7b5 f822 bl 80545cc 809f588: e051 b.n 809f62e if(skz[ACC] != -1.0f) 809f58a: 4b17 ldr r3, [pc, #92] ; (809f5e8 ) 809f58c: edd3 7a00 vldr s15, [r3] 809f590: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809f594: eef4 7a47 vcmp.f32 s15, s14 809f598: eef1 fa10 vmrs APSR_nzcv, fpscr 809f59c: d047 beq.n 809f62e if(ipr == VEL) 809f59e: 6d3b ldr r3, [r7, #80] ; 0x50 809f5a0: 2b01 cmp r3, #1 809f5a2: d12d bne.n 809f600 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809f5a4: 4911 ldr r1, [pc, #68] ; (809f5ec ) 809f5a6: 4812 ldr r0, [pc, #72] ; (809f5f0 ) 809f5a8: f7b4 f91c bl 80537e4 if(pardata.LANG == RUS) 809f5ac: 4b11 ldr r3, [pc, #68] ; (809f5f4 ) 809f5ae: 7b1b ldrb r3, [r3, #12] 809f5b0: b2db uxtb r3, r3 809f5b2: 2b00 cmp r3, #0 809f5b4: d105 bne.n 809f5c2 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 809f5b6: 4a10 ldr r2, [pc, #64] ; (809f5f8 ) 809f5b8: 2187 movs r1, #135 ; 0x87 809f5ba: 20a7 movs r0, #167 ; 0xa7 809f5bc: f7b4 fed2 bl 8054364 809f5c0: e035 b.n 809f62e else LCD_DisplayStringC(167, 135, "NO DATA"); 809f5c2: 4a0e ldr r2, [pc, #56] ; (809f5fc ) 809f5c4: 2187 movs r1, #135 ; 0x87 809f5c6: 20a7 movs r0, #167 ; 0xa7 809f5c8: f7b4 fecc bl 8054364 809f5cc: e02f b.n 809f62e 809f5ce: bf00 nop 809f5d0: 10624dd3 .word 0x10624dd3 809f5d4: 51eb851f .word 0x51eb851f 809f5d8: cccccccd .word 0xcccccccd 809f5dc: 20020124 .word 0x20020124 809f5e0: 08167a54 .word 0x08167a54 809f5e4: 08162ca0 .word 0x08162ca0 809f5e8: 20021540 .word 0x20021540 809f5ec: ff0a0f1f .word 0xff0a0f1f 809f5f0: ffb8e828 .word 0xffb8e828 809f5f4: 20023e60 .word 0x20023e60 809f5f8: 080cfb2c .word 0x080cfb2c 809f5fc: 080cfb38 .word 0x080cfb38 if(ipr == DIS) 809f600: 6d3b ldr r3, [r7, #80] ; 0x50 809f602: 2b02 cmp r3, #2 809f604: d113 bne.n 809f62e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 809f606: 4933 ldr r1, [pc, #204] ; (809f6d4 ) 809f608: 4833 ldr r0, [pc, #204] ; (809f6d8 ) 809f60a: f7b4 f8eb bl 80537e4 if(pardata.LANG == RUS) 809f60e: 4b33 ldr r3, [pc, #204] ; (809f6dc ) 809f610: 7b1b ldrb r3, [r3, #12] 809f612: b2db uxtb r3, r3 809f614: 2b00 cmp r3, #0 809f616: d105 bne.n 809f624 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 809f618: 4a31 ldr r2, [pc, #196] ; (809f6e0 ) 809f61a: 21b9 movs r1, #185 ; 0xb9 809f61c: 20a7 movs r0, #167 ; 0xa7 809f61e: f7b4 fea1 bl 8054364 809f622: e004 b.n 809f62e else LCD_DisplayStringC(167, 185, "NO DATA"); 809f624: 4a2f ldr r2, [pc, #188] ; (809f6e4 ) 809f626: 21b9 movs r1, #185 ; 0xb9 809f628: 20a7 movs r0, #167 ; 0xa7 809f62a: f7b4 fe9b bl 8054364 for(ipr = ACC; ipr <= DIS; ipr++) 809f62e: 6d3b ldr r3, [r7, #80] ; 0x50 809f630: 3301 adds r3, #1 809f632: 653b str r3, [r7, #80] ; 0x50 809f634: 6d3b ldr r3, [r7, #80] ; 0x50 809f636: 2b02 cmp r3, #2 809f638: f67e adfc bls.w 809e234 break; 809f63c: bf00 nop break; 809f63e: f004 ba39 b.w 80a3ab4 DrawImage(&bmAVS, 8, 84); 809f642: 2254 movs r2, #84 ; 0x54 809f644: 2108 movs r1, #8 809f646: 4828 ldr r0, [pc, #160] ; (809f6e8 ) 809f648: f7b4 ffc0 bl 80545cc if(DrawSavedData) 809f64c: 4b27 ldr r3, [pc, #156] ; (809f6ec ) 809f64e: 781b ldrb r3, [r3, #0] 809f650: b2db uxtb r3, r3 809f652: 2b00 cmp r3, #0 809f654: f002 8130 beq.w 80a18b8 ivs[ACC] = ReadFileData.Aivs; 809f658: 4b25 ldr r3, [pc, #148] ; (809f6f0 ) 809f65a: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809f65e: b2db uxtb r3, r3 809f660: 703b strb r3, [r7, #0] ivs[VEL] = ReadFileData.Vivs; 809f662: 4b23 ldr r3, [pc, #140] ; (809f6f0 ) 809f664: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809f668: b2db uxtb r3, r3 809f66a: 707b strb r3, [r7, #1] ivs[DIS] = ReadFileData.Sivs; 809f66c: 4b20 ldr r3, [pc, #128] ; (809f6f0 ) 809f66e: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809f672: b2db uxtb r3, r3 809f674: 70bb strb r3, [r7, #2] if(((!ReadFileData.Aivs) && (!ReadFileData.Vivs) && (!ReadFileData.Sivs)) || (ReadFileData.Aval.fl == -1.0f)) 809f676: 4b1e ldr r3, [pc, #120] ; (809f6f0 ) 809f678: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 809f67c: b2db uxtb r3, r3 809f67e: 2b00 cmp r3, #0 809f680: d10b bne.n 809f69a 809f682: 4b1b ldr r3, [pc, #108] ; (809f6f0 ) 809f684: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 809f688: b2db uxtb r3, r3 809f68a: 2b00 cmp r3, #0 809f68c: d105 bne.n 809f69a 809f68e: 4b18 ldr r3, [pc, #96] ; (809f6f0 ) 809f690: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 809f694: b2db uxtb r3, r3 809f696: 2b00 cmp r3, #0 809f698: d009 beq.n 809f6ae 809f69a: 4b15 ldr r3, [pc, #84] ; (809f6f0 ) 809f69c: edd3 7a00 vldr s15, [r3] 809f6a0: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809f6a4: eef4 7a47 vcmp.f32 s15, s14 809f6a8: eef1 fa10 vmrs APSR_nzcv, fpscr 809f6ac: d12a bne.n 809f704 DrawImage(&bmf, 100, 57+3); 809f6ae: 223c movs r2, #60 ; 0x3c 809f6b0: 2164 movs r1, #100 ; 0x64 809f6b2: 4810 ldr r0, [pc, #64] ; (809f6f4 ) 809f6b4: f7b4 ff8a bl 80545cc if(NextIndexMeas == IndexMeas[NextIndexPoint]) 809f6b8: 4b0f ldr r3, [pc, #60] ; (809f6f8 ) 809f6ba: 681b ldr r3, [r3, #0] 809f6bc: 4a0f ldr r2, [pc, #60] ; (809f6fc ) 809f6be: f852 2023 ldr.w r2, [r2, r3, lsl #2] 809f6c2: 4b0f ldr r3, [pc, #60] ; (809f700 ) 809f6c4: 681b ldr r3, [r3, #0] 809f6c6: 429a cmp r2, r3 809f6c8: f044 81f1 bne.w 80a3aae DrawDetectorType(); 809f6cc: f7f8 fdea bl 80982a4 if(NextIndexMeas == IndexMeas[NextIndexPoint]) 809f6d0: f004 b9ed b.w 80a3aae 809f6d4: ff0a0f1f .word 0xff0a0f1f 809f6d8: ffb8e828 .word 0xffb8e828 809f6dc: 20023e60 .word 0x20023e60 809f6e0: 080cfb2c .word 0x080cfb2c 809f6e4: 080cfb38 .word 0x080cfb38 809f6e8: 08103cf8 .word 0x08103cf8 809f6ec: 20020dca .word 0x20020dca 809f6f0: 200226a0 .word 0x200226a0 809f6f4: 0815d7f0 .word 0x0815d7f0 809f6f8: 20021f9c .word 0x20021f9c 809f6fc: 20022ea0 .word 0x20022ea0 809f700: 20022310 .word 0x20022310 DrawImage(&bmSAVED, 298, 39); 809f704: 2227 movs r2, #39 ; 0x27 809f706: f44f 7195 mov.w r1, #298 ; 0x12a 809f70a: 48bc ldr r0, [pc, #752] ; (809f9fc ) 809f70c: f7b4 ff5e bl 80545cc memset(str, 0, sizeof(str)); 809f710: f107 030c add.w r3, r7, #12 809f714: 2228 movs r2, #40 ; 0x28 809f716: 2100 movs r1, #0 809f718: 4618 mov r0, r3 809f71a: f02d fcb1 bl 80cd080 BSP_LCD_SetFont(&Font8); 809f71e: 48b8 ldr r0, [pc, #736] ; (809fa00 ) 809f720: f7b4 f89c bl 805385c LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 809f724: 49b7 ldr r1, [pc, #732] ; (809fa04 ) 809f726: 48b8 ldr r0, [pc, #736] ; (809fa08 ) 809f728: f7b4 f85c bl 80537e4 str[0] = (DateFileData.Date / 10) + 48; 809f72c: 4bb7 ldr r3, [pc, #732] ; (809fa0c ) 809f72e: 789b ldrb r3, [r3, #2] 809f730: b2db uxtb r3, r3 809f732: 4ab7 ldr r2, [pc, #732] ; (809fa10 ) 809f734: fba2 2303 umull r2, r3, r2, r3 809f738: 08db lsrs r3, r3, #3 809f73a: b2db uxtb r3, r3 809f73c: 3330 adds r3, #48 ; 0x30 809f73e: b2db uxtb r3, r3 809f740: 733b strb r3, [r7, #12] str[1] = (DateFileData.Date % 10) + 48; 809f742: 4bb2 ldr r3, [pc, #712] ; (809fa0c ) 809f744: 789b ldrb r3, [r3, #2] 809f746: b2da uxtb r2, r3 809f748: 4bb1 ldr r3, [pc, #708] ; (809fa10 ) 809f74a: fba3 1302 umull r1, r3, r3, r2 809f74e: 08d9 lsrs r1, r3, #3 809f750: 460b mov r3, r1 809f752: 009b lsls r3, r3, #2 809f754: 440b add r3, r1 809f756: 005b lsls r3, r3, #1 809f758: 1ad3 subs r3, r2, r3 809f75a: b2db uxtb r3, r3 809f75c: 3330 adds r3, #48 ; 0x30 809f75e: b2db uxtb r3, r3 809f760: 737b strb r3, [r7, #13] str[2] = '.'; 809f762: 232e movs r3, #46 ; 0x2e 809f764: 73bb strb r3, [r7, #14] str[3] = (DateFileData.Month / 10) + 48; 809f766: 4ba9 ldr r3, [pc, #676] ; (809fa0c ) 809f768: 785b ldrb r3, [r3, #1] 809f76a: b2db uxtb r3, r3 809f76c: 4aa8 ldr r2, [pc, #672] ; (809fa10 ) 809f76e: fba2 2303 umull r2, r3, r2, r3 809f772: 08db lsrs r3, r3, #3 809f774: b2db uxtb r3, r3 809f776: 3330 adds r3, #48 ; 0x30 809f778: b2db uxtb r3, r3 809f77a: 73fb strb r3, [r7, #15] str[4] = (DateFileData.Month % 10) + 48; 809f77c: 4ba3 ldr r3, [pc, #652] ; (809fa0c ) 809f77e: 785b ldrb r3, [r3, #1] 809f780: b2da uxtb r2, r3 809f782: 4ba3 ldr r3, [pc, #652] ; (809fa10 ) 809f784: fba3 1302 umull r1, r3, r3, r2 809f788: 08d9 lsrs r1, r3, #3 809f78a: 460b mov r3, r1 809f78c: 009b lsls r3, r3, #2 809f78e: 440b add r3, r1 809f790: 005b lsls r3, r3, #1 809f792: 1ad3 subs r3, r2, r3 809f794: b2db uxtb r3, r3 809f796: 3330 adds r3, #48 ; 0x30 809f798: b2db uxtb r3, r3 809f79a: 743b strb r3, [r7, #16] str[5] = '.'; 809f79c: 232e movs r3, #46 ; 0x2e 809f79e: 747b strb r3, [r7, #17] str[6] = '2'; 809f7a0: 2332 movs r3, #50 ; 0x32 809f7a2: 74bb strb r3, [r7, #18] str[7] = '0'; 809f7a4: 2330 movs r3, #48 ; 0x30 809f7a6: 74fb strb r3, [r7, #19] str[8] = (DateFileData.Year / 10) + 48; 809f7a8: 4b98 ldr r3, [pc, #608] ; (809fa0c ) 809f7aa: 78db ldrb r3, [r3, #3] 809f7ac: b2db uxtb r3, r3 809f7ae: 4a98 ldr r2, [pc, #608] ; (809fa10 ) 809f7b0: fba2 2303 umull r2, r3, r2, r3 809f7b4: 08db lsrs r3, r3, #3 809f7b6: b2db uxtb r3, r3 809f7b8: 3330 adds r3, #48 ; 0x30 809f7ba: b2db uxtb r3, r3 809f7bc: 753b strb r3, [r7, #20] str[9] = (DateFileData.Year % 10) + 48; 809f7be: 4b93 ldr r3, [pc, #588] ; (809fa0c ) 809f7c0: 78db ldrb r3, [r3, #3] 809f7c2: b2da uxtb r2, r3 809f7c4: 4b92 ldr r3, [pc, #584] ; (809fa10 ) 809f7c6: fba3 1302 umull r1, r3, r3, r2 809f7ca: 08d9 lsrs r1, r3, #3 809f7cc: 460b mov r3, r1 809f7ce: 009b lsls r3, r3, #2 809f7d0: 440b add r3, r1 809f7d2: 005b lsls r3, r3, #1 809f7d4: 1ad3 subs r3, r2, r3 809f7d6: b2db uxtb r3, r3 809f7d8: 3330 adds r3, #48 ; 0x30 809f7da: b2db uxtb r3, r3 809f7dc: 757b strb r3, [r7, #21] BSP_LCD_DisplayStringAt(295, 42, str, RIGHT_MODE); 809f7de: f107 020c add.w r2, r7, #12 809f7e2: 2302 movs r3, #2 809f7e4: 212a movs r1, #42 ; 0x2a 809f7e6: f240 1027 movw r0, #295 ; 0x127 809f7ea: f7b4 f8c1 bl 8053970 memset(str, 0, sizeof(str)); 809f7ee: f107 030c add.w r3, r7, #12 809f7f2: 2228 movs r2, #40 ; 0x28 809f7f4: 2100 movs r1, #0 809f7f6: 4618 mov r0, r3 809f7f8: f02d fc42 bl 80cd080 str[0] = (TimeFileData.Hours / 10) + 48; 809f7fc: 4b85 ldr r3, [pc, #532] ; (809fa14 ) 809f7fe: 781b ldrb r3, [r3, #0] 809f800: b2db uxtb r3, r3 809f802: 4a83 ldr r2, [pc, #524] ; (809fa10 ) 809f804: fba2 2303 umull r2, r3, r2, r3 809f808: 08db lsrs r3, r3, #3 809f80a: b2db uxtb r3, r3 809f80c: 3330 adds r3, #48 ; 0x30 809f80e: b2db uxtb r3, r3 809f810: 733b strb r3, [r7, #12] str[1] = (TimeFileData.Hours % 10) + 48; 809f812: 4b80 ldr r3, [pc, #512] ; (809fa14 ) 809f814: 781b ldrb r3, [r3, #0] 809f816: b2da uxtb r2, r3 809f818: 4b7d ldr r3, [pc, #500] ; (809fa10 ) 809f81a: fba3 1302 umull r1, r3, r3, r2 809f81e: 08d9 lsrs r1, r3, #3 809f820: 460b mov r3, r1 809f822: 009b lsls r3, r3, #2 809f824: 440b add r3, r1 809f826: 005b lsls r3, r3, #1 809f828: 1ad3 subs r3, r2, r3 809f82a: b2db uxtb r3, r3 809f82c: 3330 adds r3, #48 ; 0x30 809f82e: b2db uxtb r3, r3 809f830: 737b strb r3, [r7, #13] str[2] = ':'; 809f832: 233a movs r3, #58 ; 0x3a 809f834: 73bb strb r3, [r7, #14] str[3] = (TimeFileData.Minutes / 10) + 48; 809f836: 4b77 ldr r3, [pc, #476] ; (809fa14 ) 809f838: 785b ldrb r3, [r3, #1] 809f83a: b2db uxtb r3, r3 809f83c: 4a74 ldr r2, [pc, #464] ; (809fa10 ) 809f83e: fba2 2303 umull r2, r3, r2, r3 809f842: 08db lsrs r3, r3, #3 809f844: b2db uxtb r3, r3 809f846: 3330 adds r3, #48 ; 0x30 809f848: b2db uxtb r3, r3 809f84a: 73fb strb r3, [r7, #15] str[4] = (TimeFileData.Minutes % 10) + 48; 809f84c: 4b71 ldr r3, [pc, #452] ; (809fa14 ) 809f84e: 785b ldrb r3, [r3, #1] 809f850: b2da uxtb r2, r3 809f852: 4b6f ldr r3, [pc, #444] ; (809fa10 ) 809f854: fba3 1302 umull r1, r3, r3, r2 809f858: 08d9 lsrs r1, r3, #3 809f85a: 460b mov r3, r1 809f85c: 009b lsls r3, r3, #2 809f85e: 440b add r3, r1 809f860: 005b lsls r3, r3, #1 809f862: 1ad3 subs r3, r2, r3 809f864: b2db uxtb r3, r3 809f866: 3330 adds r3, #48 ; 0x30 809f868: b2db uxtb r3, r3 809f86a: 743b strb r3, [r7, #16] str[5] = ':'; 809f86c: 233a movs r3, #58 ; 0x3a 809f86e: 747b strb r3, [r7, #17] str[6] = (TimeFileData.Seconds / 10) + 48; 809f870: 4b68 ldr r3, [pc, #416] ; (809fa14 ) 809f872: 789b ldrb r3, [r3, #2] 809f874: b2db uxtb r3, r3 809f876: 4a66 ldr r2, [pc, #408] ; (809fa10 ) 809f878: fba2 2303 umull r2, r3, r2, r3 809f87c: 08db lsrs r3, r3, #3 809f87e: b2db uxtb r3, r3 809f880: 3330 adds r3, #48 ; 0x30 809f882: b2db uxtb r3, r3 809f884: 74bb strb r3, [r7, #18] str[7] = (TimeFileData.Seconds % 10) + 48; 809f886: 4b63 ldr r3, [pc, #396] ; (809fa14 ) 809f888: 789b ldrb r3, [r3, #2] 809f88a: b2da uxtb r2, r3 809f88c: 4b60 ldr r3, [pc, #384] ; (809fa10 ) 809f88e: fba3 1302 umull r1, r3, r3, r2 809f892: 08d9 lsrs r1, r3, #3 809f894: 460b mov r3, r1 809f896: 009b lsls r3, r3, #2 809f898: 440b add r3, r1 809f89a: 005b lsls r3, r3, #1 809f89c: 1ad3 subs r3, r2, r3 809f89e: b2db uxtb r3, r3 809f8a0: 3330 adds r3, #48 ; 0x30 809f8a2: b2db uxtb r3, r3 809f8a4: 74fb strb r3, [r7, #19] BSP_LCD_DisplayStringAt(295, 52, str, RIGHT_MODE); 809f8a6: f107 020c add.w r2, r7, #12 809f8aa: 2302 movs r3, #2 809f8ac: 2134 movs r1, #52 ; 0x34 809f8ae: f240 1027 movw r0, #295 ; 0x127 809f8b2: f7b4 f85d bl 8053970 DrawDetectorType(); 809f8b6: f7f8 fcf5 bl 80982a4 if(ReadFileData.Fval.fl != -1.0f) 809f8ba: 4b57 ldr r3, [pc, #348] ; (809fa18 ) 809f8bc: edd3 7a03 vldr s15, [r3, #12] 809f8c0: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 809f8c4: eef4 7a47 vcmp.f32 s15, s14 809f8c8: eef1 fa10 vmrs APSR_nzcv, fpscr 809f8cc: f000 80fc beq.w 809fac8 DrawImage(&bmf, 100, 57+3); 809f8d0: 223c movs r2, #60 ; 0x3c 809f8d2: 2164 movs r1, #100 ; 0x64 809f8d4: 4851 ldr r0, [pc, #324] ; (809fa1c ) 809f8d6: f7b4 fe79 bl 80545cc BSP_LCD_SetFont(&Font15); 809f8da: 4851 ldr r0, [pc, #324] ; (809fa20 ) 809f8dc: f7b3 ffbe bl 805385c f = ReadFileData.Fval.fl; 809f8e0: 4b4d ldr r3, [pc, #308] ; (809fa18 ) 809f8e2: 68db ldr r3, [r3, #12] 809f8e4: 647b str r3, [r7, #68] ; 0x44 LCD_SetColors(LCD_COLOR_WHITE/*0xFFFBFF1C*/, LCD_COLOR_BLACK); 809f8e6: 4947 ldr r1, [pc, #284] ; (809fa04 ) 809f8e8: f04f 30ff mov.w r0, #4294967295 809f8ec: f7b3 ff7a bl 80537e4 memset(str, 0, sizeof(str)); 809f8f0: f107 030c add.w r3, r7, #12 809f8f4: 2228 movs r2, #40 ; 0x28 809f8f6: 2100 movs r1, #0 809f8f8: 4618 mov r0, r3 809f8fa: f02d fbc1 bl 80cd080 if(f >= 1000.0f) 809f8fe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f902: ed9f 7a4f vldr s14, [pc, #316] ; 809fa40 809f906: eef4 7ac7 vcmpe.f32 s15, s14 809f90a: eef1 fa10 vmrs APSR_nzcv, fpscr 809f90e: db3b blt.n 809f988 f *= 0.001f; 809f910: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f914: ed9f 7a43 vldr s14, [pc, #268] ; 809fa24 809f918: ee67 7a87 vmul.f32 s15, s15, s14 809f91c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -4); 809f920: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f924: f06f 0003 mvn.w r0, #3 809f928: eeb0 0a67 vmov.f32 s0, s15 809f92c: f7c6 ff04 bl 8066738 809f930: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809f932: f107 030c add.w r3, r7, #12 809f936: 6e39 ldr r1, [r7, #96] ; 0x60 809f938: 4618 mov r0, r3 809f93a: f02d fcbe bl 80cd2ba if(pardata.LANG == RUS) strcat(str, " êÃö"); 809f93e: 4b3a ldr r3, [pc, #232] ; (809fa28 ) 809f940: 7b1b ldrb r3, [r3, #12] 809f942: b2db uxtb r3, r3 809f944: 2b00 cmp r3, #0 809f946: d10f bne.n 809f968 809f948: f107 030c add.w r3, r7, #12 809f94c: 4618 mov r0, r3 809f94e: f780 fce1 bl 8020314 809f952: 4603 mov r3, r0 809f954: 461a mov r2, r3 809f956: f107 030c add.w r3, r7, #12 809f95a: 4413 add r3, r2 809f95c: 4a33 ldr r2, [pc, #204] ; (809fa2c ) 809f95e: 6810 ldr r0, [r2, #0] 809f960: 6018 str r0, [r3, #0] 809f962: 7912 ldrb r2, [r2, #4] 809f964: 711a strb r2, [r3, #4] 809f966: e0a8 b.n 809faba else strcat(str, " kHz"); 809f968: f107 030c add.w r3, r7, #12 809f96c: 4618 mov r0, r3 809f96e: f780 fcd1 bl 8020314 809f972: 4603 mov r3, r0 809f974: 461a mov r2, r3 809f976: f107 030c add.w r3, r7, #12 809f97a: 4413 add r3, r2 809f97c: 4a2c ldr r2, [pc, #176] ; (809fa30 ) 809f97e: 6810 ldr r0, [r2, #0] 809f980: 6018 str r0, [r3, #0] 809f982: 7912 ldrb r2, [r2, #4] 809f984: 711a strb r2, [r3, #4] 809f986: e098 b.n 809faba if(f >= 0.1f) 809f988: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f98c: ed9f 7a29 vldr s14, [pc, #164] ; 809fa34 809f990: eef4 7ac7 vcmpe.f32 s15, s14 809f994: eef1 fa10 vmrs APSR_nzcv, fpscr 809f998: db54 blt.n 809fa44 p8 = (char *) FloatToASCII(f, -3); 809f99a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809f99e: f06f 0002 mvn.w r0, #2 809f9a2: eeb0 0a67 vmov.f32 s0, s15 809f9a6: f7c6 fec7 bl 8066738 809f9aa: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809f9ac: f107 030c add.w r3, r7, #12 809f9b0: 6e39 ldr r1, [r7, #96] ; 0x60 809f9b2: 4618 mov r0, r3 809f9b4: f02d fc81 bl 80cd2ba if(pardata.LANG == RUS) strcat(str, " Ãö"); 809f9b8: 4b1b ldr r3, [pc, #108] ; (809fa28 ) 809f9ba: 7b1b ldrb r3, [r3, #12] 809f9bc: b2db uxtb r3, r3 809f9be: 2b00 cmp r3, #0 809f9c0: d10d bne.n 809f9de 809f9c2: f107 030c add.w r3, r7, #12 809f9c6: 4618 mov r0, r3 809f9c8: f780 fca4 bl 8020314 809f9cc: 4603 mov r3, r0 809f9ce: 461a mov r2, r3 809f9d0: f107 030c add.w r3, r7, #12 809f9d4: 4413 add r3, r2 809f9d6: 4a18 ldr r2, [pc, #96] ; (809fa38 ) 809f9d8: 6810 ldr r0, [r2, #0] 809f9da: 6018 str r0, [r3, #0] 809f9dc: e06d b.n 809faba else strcat(str, " Hz"); 809f9de: f107 030c add.w r3, r7, #12 809f9e2: 4618 mov r0, r3 809f9e4: f780 fc96 bl 8020314 809f9e8: 4603 mov r3, r0 809f9ea: 461a mov r2, r3 809f9ec: f107 030c add.w r3, r7, #12 809f9f0: 4413 add r3, r2 809f9f2: 4a12 ldr r2, [pc, #72] ; (809fa3c ) 809f9f4: 6810 ldr r0, [r2, #0] 809f9f6: 6018 str r0, [r3, #0] 809f9f8: e05f b.n 809faba 809f9fa: bf00 nop 809f9fc: 08147a80 .word 0x08147a80 809fa00: 20020060 .word 0x20020060 809fa04: ff0a0f1f .word 0xff0a0f1f 809fa08: ffd3d3d3 .word 0xffd3d3d3 809fa0c: 200225f0 .word 0x200225f0 809fa10: cccccccd .word 0xcccccccd 809fa14: 20022968 .word 0x20022968 809fa18: 200226a0 .word 0x200226a0 809fa1c: 0815d7f0 .word 0x0815d7f0 809fa20: 20020040 .word 0x20020040 809fa24: 3a83126f .word 0x3a83126f 809fa28: 20023e60 .word 0x20023e60 809fa2c: 080d0a48 .word 0x080d0a48 809fa30: 080d0a50 .word 0x080d0a50 809fa34: 3dcccccd .word 0x3dcccccd 809fa38: 080d0a58 .word 0x080d0a58 809fa3c: 080d0a5c .word 0x080d0a5c 809fa40: 447a0000 .word 0x447a0000 f *= 1000.0f; 809fa44: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fa48: ed1f 7a03 vldr s14, [pc, #-12] ; 809fa40 809fa4c: ee67 7a87 vmul.f32 s15, s15, s14 809fa50: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -3); 809fa54: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fa58: f06f 0002 mvn.w r0, #2 809fa5c: eeb0 0a67 vmov.f32 s0, s15 809fa60: f7c6 fe6a bl 8066738 809fa64: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 809fa66: f107 030c add.w r3, r7, #12 809fa6a: 6e39 ldr r1, [r7, #96] ; 0x60 809fa6c: 4618 mov r0, r3 809fa6e: f02d fc24 bl 80cd2ba if(pardata.LANG == RUS) strcat(str, " ìÃö"); 809fa72: 4bcd ldr r3, [pc, #820] ; (809fda8 ) 809fa74: 7b1b ldrb r3, [r3, #12] 809fa76: b2db uxtb r3, r3 809fa78: 2b00 cmp r3, #0 809fa7a: d10f bne.n 809fa9c 809fa7c: f107 030c add.w r3, r7, #12 809fa80: 4618 mov r0, r3 809fa82: f780 fc47 bl 8020314 809fa86: 4603 mov r3, r0 809fa88: 461a mov r2, r3 809fa8a: f107 030c add.w r3, r7, #12 809fa8e: 4413 add r3, r2 809fa90: 4ac6 ldr r2, [pc, #792] ; (809fdac ) 809fa92: 6810 ldr r0, [r2, #0] 809fa94: 6018 str r0, [r3, #0] 809fa96: 7912 ldrb r2, [r2, #4] 809fa98: 711a strb r2, [r3, #4] 809fa9a: e00e b.n 809faba else strcat(str, " mHz"); 809fa9c: f107 030c add.w r3, r7, #12 809faa0: 4618 mov r0, r3 809faa2: f780 fc37 bl 8020314 809faa6: 4603 mov r3, r0 809faa8: 461a mov r2, r3 809faaa: f107 030c add.w r3, r7, #12 809faae: 4413 add r3, r2 809fab0: 4abf ldr r2, [pc, #764] ; (809fdb0 ) 809fab2: 6810 ldr r0, [r2, #0] 809fab4: 6018 str r0, [r3, #0] 809fab6: 7912 ldrb r2, [r2, #4] 809fab8: 711a strb r2, [r3, #4] BSP_LCD_DisplayStringAt(132, 61+3, str, LEFT_MODE); 809faba: f107 020c add.w r2, r7, #12 809fabe: 2303 movs r3, #3 809fac0: 2140 movs r1, #64 ; 0x40 809fac2: 2084 movs r0, #132 ; 0x84 809fac4: f7b3 ff54 bl 8053970 if(log == false) // Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 809fac8: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 809facc: f083 0301 eor.w r3, r3, #1 809fad0: b2db uxtb r3, r3 809fad2: 2b00 cmp r3, #0 809fad4: f000 8582 beq.w 80a05dc for(ipr = ACC; ipr <= DIS; ipr++) 809fad8: 2300 movs r3, #0 809fada: 653b str r3, [r7, #80] ; 0x50 809fadc: f000 bd78 b.w 80a05d0 if(ipr == ACC) f = ABS(ReadFileData.Aval.fl); 809fae0: 6d3b ldr r3, [r7, #80] ; 0x50 809fae2: 2b00 cmp r3, #0 809fae4: d113 bne.n 809fb0e 809fae6: 4bb3 ldr r3, [pc, #716] ; (809fdb4 ) 809fae8: edd3 7a00 vldr s15, [r3] 809faec: eef5 7ac0 vcmpe.f32 s15, #0.0 809faf0: eef1 fa10 vmrs APSR_nzcv, fpscr 809faf4: dd03 ble.n 809fafe 809faf6: 4baf ldr r3, [pc, #700] ; (809fdb4 ) 809faf8: edd3 7a00 vldr s15, [r3] 809fafc: e004 b.n 809fb08 809fafe: 4bad ldr r3, [pc, #692] ; (809fdb4 ) 809fb00: edd3 7a00 vldr s15, [r3] 809fb04: eef1 7a67 vneg.f32 s15, s15 809fb08: edc7 7a11 vstr s15, [r7, #68] ; 0x44 809fb0c: e02c b.n 809fb68 else if(ipr == VEL) f = ABS(ReadFileData.Vval.fl); 809fb0e: 6d3b ldr r3, [r7, #80] ; 0x50 809fb10: 2b01 cmp r3, #1 809fb12: d113 bne.n 809fb3c 809fb14: 4ba7 ldr r3, [pc, #668] ; (809fdb4 ) 809fb16: edd3 7a01 vldr s15, [r3, #4] 809fb1a: eef5 7ac0 vcmpe.f32 s15, #0.0 809fb1e: eef1 fa10 vmrs APSR_nzcv, fpscr 809fb22: dd03 ble.n 809fb2c 809fb24: 4ba3 ldr r3, [pc, #652] ; (809fdb4 ) 809fb26: edd3 7a01 vldr s15, [r3, #4] 809fb2a: e004 b.n 809fb36 809fb2c: 4ba1 ldr r3, [pc, #644] ; (809fdb4 ) 809fb2e: edd3 7a01 vldr s15, [r3, #4] 809fb32: eef1 7a67 vneg.f32 s15, s15 809fb36: edc7 7a11 vstr s15, [r7, #68] ; 0x44 809fb3a: e015 b.n 809fb68 else if(ipr == DIS) f = ABS(ReadFileData.Sval.fl); 809fb3c: 6d3b ldr r3, [r7, #80] ; 0x50 809fb3e: 2b02 cmp r3, #2 809fb40: d112 bne.n 809fb68 809fb42: 4b9c ldr r3, [pc, #624] ; (809fdb4 ) 809fb44: edd3 7a02 vldr s15, [r3, #8] 809fb48: eef5 7ac0 vcmpe.f32 s15, #0.0 809fb4c: eef1 fa10 vmrs APSR_nzcv, fpscr 809fb50: dd03 ble.n 809fb5a 809fb52: 4b98 ldr r3, [pc, #608] ; (809fdb4 ) 809fb54: edd3 7a02 vldr s15, [r3, #8] 809fb58: e004 b.n 809fb64 809fb5a: 4b96 ldr r3, [pc, #600] ; (809fdb4 ) 809fb5c: edd3 7a02 vldr s15, [r3, #8] 809fb60: eef1 7a67 vneg.f32 s15, s15 809fb64: edc7 7a11 vstr s15, [r7, #68] ; 0x44 memset(str, 0, sizeof(str)); 809fb68: f107 030c add.w r3, r7, #12 809fb6c: 2228 movs r2, #40 ; 0x28 809fb6e: 2100 movs r1, #0 809fb70: 4618 mov r0, r3 809fb72: f02d fa85 bl 80cd080 LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 809fb76: 4990 ldr r1, [pc, #576] ; (809fdb8 ) 809fb78: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 809fb7c: f7b3 fe32 bl 80537e4 BSP_LCD_SetFont(&Font12); 809fb80: 488e ldr r0, [pc, #568] ; (809fdbc ) 809fb82: f7b3 fe6b bl 805385c if(ipr < DIS) 809fb86: 6d3b ldr r3, [r7, #80] ; 0x50 809fb88: 2b01 cmp r3, #1 809fb8a: f200 80af bhi.w 809fcec if(f < 10.0f) 809fb8e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fb92: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809fb96: eef4 7ac7 vcmpe.f32 s15, s14 809fb9a: eef1 fa10 vmrs APSR_nzcv, fpscr 809fb9e: d513 bpl.n 809fbc8 k = (uint32_t) (roundf(f * 10000)); 809fba0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fba4: ed9f 7a8a vldr s14, [pc, #552] ; 809fdd0 809fba8: ee67 7a87 vmul.f32 s15, s15, s14 809fbac: eeb0 0a67 vmov.f32 s0, s15 809fbb0: f02b f868 bl 80cac84 809fbb4: eef0 7a40 vmov.f32 s15, s0 809fbb8: eefc 7ae7 vcvt.u32.f32 s15, s15 809fbbc: ee17 3a90 vmov r3, s15 809fbc0: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809fbc2: 2301 movs r3, #1 809fbc4: 657b str r3, [r7, #84] ; 0x54 809fbc6: e1cc b.n 809ff62 if(f < 100.0f) 809fbc8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fbcc: ed9f 7a7c vldr s14, [pc, #496] ; 809fdc0 809fbd0: eef4 7ac7 vcmpe.f32 s15, s14 809fbd4: eef1 fa10 vmrs APSR_nzcv, fpscr 809fbd8: d513 bpl.n 809fc02 k = (uint32_t) (roundf(f * 1000)); 809fbda: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fbde: ed9f 7a79 vldr s14, [pc, #484] ; 809fdc4 809fbe2: ee67 7a87 vmul.f32 s15, s15, s14 809fbe6: eeb0 0a67 vmov.f32 s0, s15 809fbea: f02b f84b bl 80cac84 809fbee: eef0 7a40 vmov.f32 s15, s0 809fbf2: eefc 7ae7 vcvt.u32.f32 s15, s15 809fbf6: ee17 3a90 vmov r3, s15 809fbfa: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809fbfc: 2302 movs r3, #2 809fbfe: 657b str r3, [r7, #84] ; 0x54 809fc00: e1af b.n 809ff62 if(f < 1000.0f) 809fc02: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fc06: ed9f 7a6f vldr s14, [pc, #444] ; 809fdc4 809fc0a: eef4 7ac7 vcmpe.f32 s15, s14 809fc0e: eef1 fa10 vmrs APSR_nzcv, fpscr 809fc12: d513 bpl.n 809fc3c k = (uint32_t) (roundf(f * 100)); 809fc14: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fc18: ed9f 7a69 vldr s14, [pc, #420] ; 809fdc0 809fc1c: ee67 7a87 vmul.f32 s15, s15, s14 809fc20: eeb0 0a67 vmov.f32 s0, s15 809fc24: f02b f82e bl 80cac84 809fc28: eef0 7a40 vmov.f32 s15, s0 809fc2c: eefc 7ae7 vcvt.u32.f32 s15, s15 809fc30: ee17 3a90 vmov r3, s15 809fc34: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809fc36: 2303 movs r3, #3 809fc38: 657b str r3, [r7, #84] ; 0x54 809fc3a: e192 b.n 809ff62 if(f < 10000.0f) 809fc3c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fc40: ed9f 7a63 vldr s14, [pc, #396] ; 809fdd0 809fc44: eef4 7ac7 vcmpe.f32 s15, s14 809fc48: eef1 fa10 vmrs APSR_nzcv, fpscr 809fc4c: d513 bpl.n 809fc76 k = (uint32_t) (roundf(f * 10)); 809fc4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fc52: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809fc56: ee67 7a87 vmul.f32 s15, s15, s14 809fc5a: eeb0 0a67 vmov.f32 s0, s15 809fc5e: f02b f811 bl 80cac84 809fc62: eef0 7a40 vmov.f32 s15, s0 809fc66: eefc 7ae7 vcvt.u32.f32 s15, s15 809fc6a: ee17 3a90 vmov r3, s15 809fc6e: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809fc70: 2304 movs r3, #4 809fc72: 657b str r3, [r7, #84] ; 0x54 809fc74: e175 b.n 809ff62 if(f < 100000.0f) 809fc76: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fc7a: ed9f 7a56 vldr s14, [pc, #344] ; 809fdd4 809fc7e: eef4 7ac7 vcmpe.f32 s15, s14 809fc82: eef1 fa10 vmrs APSR_nzcv, fpscr 809fc86: d515 bpl.n 809fcb4 k = (uint32_t) (roundf(f)); 809fc88: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fc8c: eeb0 0a67 vmov.f32 s0, s15 809fc90: f02a fff8 bl 80cac84 809fc94: eef0 7a40 vmov.f32 s15, s0 809fc98: eefc 7ae7 vcvt.u32.f32 s15, s15 809fc9c: ee17 3a90 vmov r3, s15 809fca0: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809fca2: 6dbb ldr r3, [r7, #88] ; 0x58 809fca4: 4a48 ldr r2, [pc, #288] ; (809fdc8 ) 809fca6: 4293 cmp r3, r2 809fca8: d901 bls.n 809fcae k = 99999; 809fcaa: 4b47 ldr r3, [pc, #284] ; (809fdc8 ) 809fcac: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809fcae: 2300 movs r3, #0 809fcb0: 657b str r3, [r7, #84] ; 0x54 809fcb2: e156 b.n 809ff62 if(f >= 100000.0f) 809fcb4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fcb8: ed9f 7a46 vldr s14, [pc, #280] ; 809fdd4 809fcbc: eef4 7ac7 vcmpe.f32 s15, s14 809fcc0: eef1 fa10 vmrs APSR_nzcv, fpscr 809fcc4: f2c0 814d blt.w 809ff62 f = 99999.0f; 809fcc8: 4b40 ldr r3, [pc, #256] ; (809fdcc ) 809fcca: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809fccc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fcd0: eeb0 0a67 vmov.f32 s0, s15 809fcd4: f02a ffd6 bl 80cac84 809fcd8: eef0 7a40 vmov.f32 s15, s0 809fcdc: eefc 7ae7 vcvt.u32.f32 s15, s15 809fce0: ee17 3a90 vmov r3, s15 809fce4: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809fce6: 2300 movs r3, #0 809fce8: 657b str r3, [r7, #84] ; 0x54 809fcea: e13a b.n 809ff62 if(f < 10.0f) 809fcec: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fcf0: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809fcf4: eef4 7ac7 vcmpe.f32 s15, s14 809fcf8: eef1 fa10 vmrs APSR_nzcv, fpscr 809fcfc: d515 bpl.n 809fd2a k = (uint32_t) (roundf(f * 10000)); 809fcfe: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fd02: ed9f 7a33 vldr s14, [pc, #204] ; 809fdd0 809fd06: ee67 7a87 vmul.f32 s15, s15, s14 809fd0a: eeb0 0a67 vmov.f32 s0, s15 809fd0e: f02a ffb9 bl 80cac84 809fd12: eef0 7a40 vmov.f32 s15, s0 809fd16: eefc 7ae7 vcvt.u32.f32 s15, s15 809fd1a: ee17 3a90 vmov r3, s15 809fd1e: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809fd20: 2301 movs r3, #1 809fd22: 657b str r3, [r7, #84] ; 0x54 m = 0; 809fd24: 2300 movs r3, #0 809fd26: 64fb str r3, [r7, #76] ; 0x4c 809fd28: e11b b.n 809ff62 if(f < 100.0f) 809fd2a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fd2e: ed9f 7a24 vldr s14, [pc, #144] ; 809fdc0 809fd32: eef4 7ac7 vcmpe.f32 s15, s14 809fd36: eef1 fa10 vmrs APSR_nzcv, fpscr 809fd3a: d515 bpl.n 809fd68 k = (uint32_t) (roundf(f * 1000)); 809fd3c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fd40: ed9f 7a20 vldr s14, [pc, #128] ; 809fdc4 809fd44: ee67 7a87 vmul.f32 s15, s15, s14 809fd48: eeb0 0a67 vmov.f32 s0, s15 809fd4c: f02a ff9a bl 80cac84 809fd50: eef0 7a40 vmov.f32 s15, s0 809fd54: eefc 7ae7 vcvt.u32.f32 s15, s15 809fd58: ee17 3a90 vmov r3, s15 809fd5c: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809fd5e: 2302 movs r3, #2 809fd60: 657b str r3, [r7, #84] ; 0x54 m = 0; 809fd62: 2300 movs r3, #0 809fd64: 64fb str r3, [r7, #76] ; 0x4c 809fd66: e0fc b.n 809ff62 if(f < 1000.0f) 809fd68: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fd6c: ed9f 7a15 vldr s14, [pc, #84] ; 809fdc4 809fd70: eef4 7ac7 vcmpe.f32 s15, s14 809fd74: eef1 fa10 vmrs APSR_nzcv, fpscr 809fd78: d53a bpl.n 809fdf0 k = (uint32_t) (roundf(f * 100)); 809fd7a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fd7e: ed9f 7a10 vldr s14, [pc, #64] ; 809fdc0 809fd82: ee67 7a87 vmul.f32 s15, s15, s14 809fd86: eeb0 0a67 vmov.f32 s0, s15 809fd8a: f02a ff7b bl 80cac84 809fd8e: eef0 7a40 vmov.f32 s15, s0 809fd92: eefc 7ae7 vcvt.u32.f32 s15, s15 809fd96: ee17 3a90 vmov r3, s15 809fd9a: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809fd9c: 2303 movs r3, #3 809fd9e: 657b str r3, [r7, #84] ; 0x54 m = 0; 809fda0: 2300 movs r3, #0 809fda2: 64fb str r3, [r7, #76] ; 0x4c 809fda4: e0dd b.n 809ff62 809fda6: bf00 nop 809fda8: 20023e60 .word 0x20023e60 809fdac: 080d0a60 .word 0x080d0a60 809fdb0: 080d0a68 .word 0x080d0a68 809fdb4: 200226a0 .word 0x200226a0 809fdb8: ff0a0f1f .word 0xff0a0f1f 809fdbc: 20020038 .word 0x20020038 809fdc0: 42c80000 .word 0x42c80000 809fdc4: 447a0000 .word 0x447a0000 809fdc8: 0001869f .word 0x0001869f 809fdcc: 47c34f80 .word 0x47c34f80 809fdd0: 461c4000 .word 0x461c4000 809fdd4: 47c35000 .word 0x47c35000 809fdd8: 49742400 .word 0x49742400 809fddc: 3dcccccd .word 0x3dcccccd 809fde0: 4b189680 .word 0x4b189680 809fde4: 3c23d70a .word 0x3c23d70a 809fde8: 4cbebc20 .word 0x4cbebc20 809fdec: 3a83126f .word 0x3a83126f if(f < 10000.0f) 809fdf0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fdf4: ed1f 7a0a vldr s14, [pc, #-40] ; 809fdd0 809fdf8: eef4 7ac7 vcmpe.f32 s15, s14 809fdfc: eef1 fa10 vmrs APSR_nzcv, fpscr 809fe00: d515 bpl.n 809fe2e k = (uint32_t) (roundf(f * 10)); 809fe02: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fe06: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 809fe0a: ee67 7a87 vmul.f32 s15, s15, s14 809fe0e: eeb0 0a67 vmov.f32 s0, s15 809fe12: f02a ff37 bl 80cac84 809fe16: eef0 7a40 vmov.f32 s15, s0 809fe1a: eefc 7ae7 vcvt.u32.f32 s15, s15 809fe1e: ee17 3a90 vmov r3, s15 809fe22: 65bb str r3, [r7, #88] ; 0x58 t = 1; 809fe24: 2301 movs r3, #1 809fe26: 657b str r3, [r7, #84] ; 0x54 m = 1; 809fe28: 2301 movs r3, #1 809fe2a: 64fb str r3, [r7, #76] ; 0x4c 809fe2c: e099 b.n 809ff62 if(f < 100000.0f) 809fe2e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fe32: ed1f 7a18 vldr s14, [pc, #-96] ; 809fdd4 809fe36: eef4 7ac7 vcmpe.f32 s15, s14 809fe3a: eef1 fa10 vmrs APSR_nzcv, fpscr 809fe3e: d511 bpl.n 809fe64 k = (uint32_t) (roundf(f)); 809fe40: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fe44: eeb0 0a67 vmov.f32 s0, s15 809fe48: f02a ff1c bl 80cac84 809fe4c: eef0 7a40 vmov.f32 s15, s0 809fe50: eefc 7ae7 vcvt.u32.f32 s15, s15 809fe54: ee17 3a90 vmov r3, s15 809fe58: 65bb str r3, [r7, #88] ; 0x58 t = 2; 809fe5a: 2302 movs r3, #2 809fe5c: 657b str r3, [r7, #84] ; 0x54 m = 1; 809fe5e: 2301 movs r3, #1 809fe60: 64fb str r3, [r7, #76] ; 0x4c 809fe62: e07e b.n 809ff62 if(f < 1000000.0f) 809fe64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fe68: ed1f 7a25 vldr s14, [pc, #-148] ; 809fdd8 809fe6c: eef4 7ac7 vcmpe.f32 s15, s14 809fe70: eef1 fa10 vmrs APSR_nzcv, fpscr 809fe74: d515 bpl.n 809fea2 k = (uint32_t) (roundf(f * 0.1f)); 809fe76: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fe7a: ed1f 7a28 vldr s14, [pc, #-160] ; 809fddc 809fe7e: ee67 7a87 vmul.f32 s15, s15, s14 809fe82: eeb0 0a67 vmov.f32 s0, s15 809fe86: f02a fefd bl 80cac84 809fe8a: eef0 7a40 vmov.f32 s15, s0 809fe8e: eefc 7ae7 vcvt.u32.f32 s15, s15 809fe92: ee17 3a90 vmov r3, s15 809fe96: 65bb str r3, [r7, #88] ; 0x58 t = 3; 809fe98: 2303 movs r3, #3 809fe9a: 657b str r3, [r7, #84] ; 0x54 m = 1; 809fe9c: 2301 movs r3, #1 809fe9e: 64fb str r3, [r7, #76] ; 0x4c 809fea0: e05f b.n 809ff62 if(f < 10000000.0f) 809fea2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fea6: ed1f 7a32 vldr s14, [pc, #-200] ; 809fde0 809feaa: eef4 7ac7 vcmpe.f32 s15, s14 809feae: eef1 fa10 vmrs APSR_nzcv, fpscr 809feb2: d515 bpl.n 809fee0 k = (uint32_t) (roundf(f * 0.01f)); 809feb4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809feb8: ed1f 7a36 vldr s14, [pc, #-216] ; 809fde4 809febc: ee67 7a87 vmul.f32 s15, s15, s14 809fec0: eeb0 0a67 vmov.f32 s0, s15 809fec4: f02a fede bl 80cac84 809fec8: eef0 7a40 vmov.f32 s15, s0 809fecc: eefc 7ae7 vcvt.u32.f32 s15, s15 809fed0: ee17 3a90 vmov r3, s15 809fed4: 65bb str r3, [r7, #88] ; 0x58 t = 4; 809fed6: 2304 movs r3, #4 809fed8: 657b str r3, [r7, #84] ; 0x54 m = 1; 809feda: 2301 movs r3, #1 809fedc: 64fb str r3, [r7, #76] ; 0x4c 809fede: e040 b.n 809ff62 if(f < 100000000.0f) 809fee0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fee4: ed1f 7a40 vldr s14, [pc, #-256] ; 809fde8 809fee8: eef4 7ac7 vcmpe.f32 s15, s14 809feec: eef1 fa10 vmrs APSR_nzcv, fpscr 809fef0: d51b bpl.n 809ff2a k = (uint32_t) (roundf(f * 0.001f)); 809fef2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809fef6: ed1f 7a43 vldr s14, [pc, #-268] ; 809fdec 809fefa: ee67 7a87 vmul.f32 s15, s15, s14 809fefe: eeb0 0a67 vmov.f32 s0, s15 809ff02: f02a febf bl 80cac84 809ff06: eef0 7a40 vmov.f32 s15, s0 809ff0a: eefc 7ae7 vcvt.u32.f32 s15, s15 809ff0e: ee17 3a90 vmov r3, s15 809ff12: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 809ff14: 6dbb ldr r3, [r7, #88] ; 0x58 809ff16: 4abc ldr r2, [pc, #752] ; (80a0208 ) 809ff18: 4293 cmp r3, r2 809ff1a: d901 bls.n 809ff20 k = 99999; 809ff1c: 4bba ldr r3, [pc, #744] ; (80a0208 ) 809ff1e: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809ff20: 2300 movs r3, #0 809ff22: 657b str r3, [r7, #84] ; 0x54 m = 1; 809ff24: 2301 movs r3, #1 809ff26: 64fb str r3, [r7, #76] ; 0x4c 809ff28: e01b b.n 809ff62 if(f >= 100000000.0f) 809ff2a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ff2e: ed9f 7ab7 vldr s14, [pc, #732] ; 80a020c 809ff32: eef4 7ac7 vcmpe.f32 s15, s14 809ff36: eef1 fa10 vmrs APSR_nzcv, fpscr 809ff3a: db12 blt.n 809ff62 f = 99999.0f; 809ff3c: 4bb4 ldr r3, [pc, #720] ; (80a0210 ) 809ff3e: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 809ff40: edd7 7a11 vldr s15, [r7, #68] ; 0x44 809ff44: eeb0 0a67 vmov.f32 s0, s15 809ff48: f02a fe9c bl 80cac84 809ff4c: eef0 7a40 vmov.f32 s15, s0 809ff50: eefc 7ae7 vcvt.u32.f32 s15, s15 809ff54: ee17 3a90 vmov r3, s15 809ff58: 65bb str r3, [r7, #88] ; 0x58 t = 0; 809ff5a: 2300 movs r3, #0 809ff5c: 657b str r3, [r7, #84] ; 0x54 m = 1; 809ff5e: 2301 movs r3, #1 809ff60: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 809ff62: 6d3a ldr r2, [r7, #80] ; 0x50 809ff64: 6dbb ldr r3, [r7, #88] ; 0x58 809ff66: 49ab ldr r1, [pc, #684] ; (80a0214 ) 809ff68: fba1 1303 umull r1, r3, r1, r3 809ff6c: 0b5b lsrs r3, r3, #13 809ff6e: b2d9 uxtb r1, r3 809ff70: 4613 mov r3, r2 809ff72: 009b lsls r3, r3, #2 809ff74: 4413 add r3, r2 809ff76: f107 0268 add.w r2, r7, #104 ; 0x68 809ff7a: 4413 add r3, r2 809ff7c: 3b34 subs r3, #52 ; 0x34 809ff7e: 460a mov r2, r1 809ff80: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 809ff82: 6d39 ldr r1, [r7, #80] ; 0x50 809ff84: 6dba ldr r2, [r7, #88] ; 0x58 809ff86: 4ba3 ldr r3, [pc, #652] ; (80a0214 ) 809ff88: fba3 0302 umull r0, r3, r3, r2 809ff8c: 0b5b lsrs r3, r3, #13 809ff8e: f242 7010 movw r0, #10000 ; 0x2710 809ff92: fb00 f303 mul.w r3, r0, r3 809ff96: 1ad3 subs r3, r2, r3 809ff98: 4a9f ldr r2, [pc, #636] ; (80a0218 ) 809ff9a: fba2 2303 umull r2, r3, r2, r3 809ff9e: 099b lsrs r3, r3, #6 809ffa0: b2da uxtb r2, r3 809ffa2: 460b mov r3, r1 809ffa4: 009b lsls r3, r3, #2 809ffa6: 440b add r3, r1 809ffa8: f107 0168 add.w r1, r7, #104 ; 0x68 809ffac: 440b add r3, r1 809ffae: 3b33 subs r3, #51 ; 0x33 809ffb0: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 809ffb2: 6d39 ldr r1, [r7, #80] ; 0x50 809ffb4: 6dba ldr r2, [r7, #88] ; 0x58 809ffb6: 4b97 ldr r3, [pc, #604] ; (80a0214 ) 809ffb8: fba3 0302 umull r0, r3, r3, r2 809ffbc: 0b5b lsrs r3, r3, #13 809ffbe: f242 7010 movw r0, #10000 ; 0x2710 809ffc2: fb00 f303 mul.w r3, r0, r3 809ffc6: 1ad3 subs r3, r2, r3 809ffc8: 4a93 ldr r2, [pc, #588] ; (80a0218 ) 809ffca: fba2 0203 umull r0, r2, r2, r3 809ffce: 0992 lsrs r2, r2, #6 809ffd0: f44f 707a mov.w r0, #1000 ; 0x3e8 809ffd4: fb00 f202 mul.w r2, r0, r2 809ffd8: 1a9a subs r2, r3, r2 809ffda: 4b90 ldr r3, [pc, #576] ; (80a021c ) 809ffdc: fba3 2302 umull r2, r3, r3, r2 809ffe0: 095b lsrs r3, r3, #5 809ffe2: b2da uxtb r2, r3 809ffe4: 460b mov r3, r1 809ffe6: 009b lsls r3, r3, #2 809ffe8: 440b add r3, r1 809ffea: f107 0168 add.w r1, r7, #104 ; 0x68 809ffee: 440b add r3, r1 809fff0: 3b32 subs r3, #50 ; 0x32 809fff2: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 809fff4: 6d39 ldr r1, [r7, #80] ; 0x50 809fff6: 6dbb ldr r3, [r7, #88] ; 0x58 809fff8: 4a86 ldr r2, [pc, #536] ; (80a0214 ) 809fffa: fba2 0203 umull r0, r2, r2, r3 809fffe: 0b52 lsrs r2, r2, #13 80a0000: f242 7010 movw r0, #10000 ; 0x2710 80a0004: fb00 f202 mul.w r2, r0, r2 80a0008: 1a9a subs r2, r3, r2 80a000a: 4b83 ldr r3, [pc, #524] ; (80a0218 ) 80a000c: fba3 0302 umull r0, r3, r3, r2 80a0010: 099b lsrs r3, r3, #6 80a0012: f44f 707a mov.w r0, #1000 ; 0x3e8 80a0016: fb00 f303 mul.w r3, r0, r3 80a001a: 1ad3 subs r3, r2, r3 80a001c: 4a7f ldr r2, [pc, #508] ; (80a021c ) 80a001e: fba2 0203 umull r0, r2, r2, r3 80a0022: 0952 lsrs r2, r2, #5 80a0024: 2064 movs r0, #100 ; 0x64 80a0026: fb00 f202 mul.w r2, r0, r2 80a002a: 1a9a subs r2, r3, r2 80a002c: 4b7c ldr r3, [pc, #496] ; (80a0220 ) 80a002e: fba3 2302 umull r2, r3, r3, r2 80a0032: 08db lsrs r3, r3, #3 80a0034: b2da uxtb r2, r3 80a0036: 460b mov r3, r1 80a0038: 009b lsls r3, r3, #2 80a003a: 440b add r3, r1 80a003c: f107 0168 add.w r1, r7, #104 ; 0x68 80a0040: 440b add r3, r1 80a0042: 3b31 subs r3, #49 ; 0x31 80a0044: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a0046: 6d38 ldr r0, [r7, #80] ; 0x50 80a0048: 6dbb ldr r3, [r7, #88] ; 0x58 80a004a: 4a72 ldr r2, [pc, #456] ; (80a0214 ) 80a004c: fba2 1203 umull r1, r2, r2, r3 80a0050: 0b52 lsrs r2, r2, #13 80a0052: f242 7110 movw r1, #10000 ; 0x2710 80a0056: fb01 f202 mul.w r2, r1, r2 80a005a: 1a9a subs r2, r3, r2 80a005c: 4b6e ldr r3, [pc, #440] ; (80a0218 ) 80a005e: fba3 1302 umull r1, r3, r3, r2 80a0062: 099b lsrs r3, r3, #6 80a0064: f44f 717a mov.w r1, #1000 ; 0x3e8 80a0068: fb01 f303 mul.w r3, r1, r3 80a006c: 1ad3 subs r3, r2, r3 80a006e: 4a6b ldr r2, [pc, #428] ; (80a021c ) 80a0070: fba2 1203 umull r1, r2, r2, r3 80a0074: 0952 lsrs r2, r2, #5 80a0076: 2164 movs r1, #100 ; 0x64 80a0078: fb01 f202 mul.w r2, r1, r2 80a007c: 1a9a subs r2, r3, r2 80a007e: 4b68 ldr r3, [pc, #416] ; (80a0220 ) 80a0080: fba3 1302 umull r1, r3, r3, r2 80a0084: 08d9 lsrs r1, r3, #3 80a0086: 460b mov r3, r1 80a0088: 009b lsls r3, r3, #2 80a008a: 440b add r3, r1 80a008c: 005b lsls r3, r3, #1 80a008e: 1ad1 subs r1, r2, r3 80a0090: b2ca uxtb r2, r1 80a0092: 4603 mov r3, r0 80a0094: 009b lsls r3, r3, #2 80a0096: 4403 add r3, r0 80a0098: f107 0168 add.w r1, r7, #104 ; 0x68 80a009c: 440b add r3, r1 80a009e: 3b30 subs r3, #48 ; 0x30 80a00a0: 701a strb r2, [r3, #0] if(ipr == ACC) 80a00a2: 6d3b ldr r3, [r7, #80] ; 0x50 80a00a4: 2b00 cmp r3, #0 80a00a6: f040 80c9 bne.w 80a023c if(!t) 80a00aa: 6d7b ldr r3, [r7, #84] ; 0x54 80a00ac: 2b00 cmp r3, #0 80a00ae: d126 bne.n 80a00fe for(i = 0; i < 5; i++) 80a00b0: 2300 movs r3, #0 80a00b2: 65fb str r3, [r7, #92] ; 0x5c 80a00b4: e01f b.n 80a00f6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a00b6: 6d3a ldr r2, [r7, #80] ; 0x50 80a00b8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a00ba: 4613 mov r3, r2 80a00bc: 009b lsls r3, r3, #2 80a00be: 4413 add r3, r2 80a00c0: f107 0268 add.w r2, r7, #104 ; 0x68 80a00c4: 4413 add r3, r2 80a00c6: 440b add r3, r1 80a00c8: 3b34 subs r3, #52 ; 0x34 80a00ca: 781b ldrb r3, [r3, #0] 80a00cc: b2db uxtb r3, r3 80a00ce: 461a mov r2, r3 80a00d0: 4b54 ldr r3, [pc, #336] ; (80a0224 ) 80a00d2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a00d6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a00d8: b29b uxth r3, r3 80a00da: 461a mov r2, r3 80a00dc: 0112 lsls r2, r2, #4 80a00de: 1ad3 subs r3, r2, r3 80a00e0: 005b lsls r3, r3, #1 80a00e2: b29b uxth r3, r3 80a00e4: 335a adds r3, #90 ; 0x5a 80a00e6: b29b uxth r3, r3 80a00e8: 2256 movs r2, #86 ; 0x56 80a00ea: 4619 mov r1, r3 80a00ec: f7b4 fa6e bl 80545cc for(i = 0; i < 5; i++) 80a00f0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a00f2: 3301 adds r3, #1 80a00f4: 65fb str r3, [r7, #92] ; 0x5c 80a00f6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a00f8: 2b04 cmp r3, #4 80a00fa: d9dc bls.n 80a00b6 80a00fc: e05a b.n 80a01b4 for(i = 0; i < t; i++) 80a00fe: 2300 movs r3, #0 80a0100: 65fb str r3, [r7, #92] ; 0x5c 80a0102: e01f b.n 80a0144 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a0104: 6d3a ldr r2, [r7, #80] ; 0x50 80a0106: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0108: 4613 mov r3, r2 80a010a: 009b lsls r3, r3, #2 80a010c: 4413 add r3, r2 80a010e: f107 0268 add.w r2, r7, #104 ; 0x68 80a0112: 4413 add r3, r2 80a0114: 440b add r3, r1 80a0116: 3b34 subs r3, #52 ; 0x34 80a0118: 781b ldrb r3, [r3, #0] 80a011a: b2db uxtb r3, r3 80a011c: 461a mov r2, r3 80a011e: 4b41 ldr r3, [pc, #260] ; (80a0224 ) 80a0120: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0124: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0126: b29b uxth r3, r3 80a0128: 461a mov r2, r3 80a012a: 0112 lsls r2, r2, #4 80a012c: 1ad3 subs r3, r2, r3 80a012e: 005b lsls r3, r3, #1 80a0130: b29b uxth r3, r3 80a0132: 335a adds r3, #90 ; 0x5a 80a0134: b29b uxth r3, r3 80a0136: 2256 movs r2, #86 ; 0x56 80a0138: 4619 mov r1, r3 80a013a: f7b4 fa47 bl 80545cc for(i = 0; i < t; i++) 80a013e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0140: 3301 adds r3, #1 80a0142: 65fb str r3, [r7, #92] ; 0x5c 80a0144: 6dfa ldr r2, [r7, #92] ; 0x5c 80a0146: 6d7b ldr r3, [r7, #84] ; 0x54 80a0148: 429a cmp r2, r3 80a014a: d3db bcc.n 80a0104 DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a014c: 6d7b ldr r3, [r7, #84] ; 0x54 80a014e: b29b uxth r3, r3 80a0150: 461a mov r2, r3 80a0152: 0112 lsls r2, r2, #4 80a0154: 1ad3 subs r3, r2, r3 80a0156: 005b lsls r3, r3, #1 80a0158: b29b uxth r3, r3 80a015a: 335f adds r3, #95 ; 0x5f 80a015c: b29b uxth r3, r3 80a015e: 226e movs r2, #110 ; 0x6e 80a0160: 4619 mov r1, r3 80a0162: 4831 ldr r0, [pc, #196] ; (80a0228 ) 80a0164: f7b4 fa32 bl 80545cc for(i = t; i < 5; i++) 80a0168: 6d7b ldr r3, [r7, #84] ; 0x54 80a016a: 65fb str r3, [r7, #92] ; 0x5c 80a016c: e01f b.n 80a01ae DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a016e: 6d3a ldr r2, [r7, #80] ; 0x50 80a0170: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0172: 4613 mov r3, r2 80a0174: 009b lsls r3, r3, #2 80a0176: 4413 add r3, r2 80a0178: f107 0268 add.w r2, r7, #104 ; 0x68 80a017c: 4413 add r3, r2 80a017e: 440b add r3, r1 80a0180: 3b34 subs r3, #52 ; 0x34 80a0182: 781b ldrb r3, [r3, #0] 80a0184: b2db uxtb r3, r3 80a0186: 461a mov r2, r3 80a0188: 4b26 ldr r3, [pc, #152] ; (80a0224 ) 80a018a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a018e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0190: b29b uxth r3, r3 80a0192: 461a mov r2, r3 80a0194: 0112 lsls r2, r2, #4 80a0196: 1ad3 subs r3, r2, r3 80a0198: 005b lsls r3, r3, #1 80a019a: b29b uxth r3, r3 80a019c: 336e adds r3, #110 ; 0x6e 80a019e: b29b uxth r3, r3 80a01a0: 2256 movs r2, #86 ; 0x56 80a01a2: 4619 mov r1, r3 80a01a4: f7b4 fa12 bl 80545cc for(i = t; i < 5; i++) 80a01a8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a01aa: 3301 adds r3, #1 80a01ac: 65fb str r3, [r7, #92] ; 0x5c 80a01ae: 6dfb ldr r3, [r7, #92] ; 0x5c 80a01b0: 2b04 cmp r3, #4 80a01b2: d9dc bls.n 80a016e if(ReadFileData.Aivs < 'E') 80a01b4: 4b1d ldr r3, [pc, #116] ; (80a022c ) 80a01b6: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a01ba: b2db uxtb r3, r3 80a01bc: 2b44 cmp r3, #68 ; 0x44 80a01be: d80c bhi.n 80a01da DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a01c0: 4b1b ldr r3, [pc, #108] ; (80a0230 ) 80a01c2: 7b1b ldrb r3, [r3, #12] 80a01c4: b2db uxtb r3, r3 80a01c6: 461a mov r2, r3 80a01c8: 4b1a ldr r3, [pc, #104] ; (80a0234 ) 80a01ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a01ce: 225c movs r2, #92 ; 0x5c 80a01d0: f240 1109 movw r1, #265 ; 0x109 80a01d4: 4618 mov r0, r3 80a01d6: f7b4 f9f9 bl 80545cc if(ReadFileData.Aivs == 'E') 80a01da: 4b14 ldr r3, [pc, #80] ; (80a022c ) 80a01dc: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a01e0: b2db uxtb r3, r3 80a01e2: 2b45 cmp r3, #69 ; 0x45 80a01e4: f040 81f1 bne.w 80a05ca if(ReadFileData.Vval.fl < 0.0f) { 80a01e8: 4b10 ldr r3, [pc, #64] ; (80a022c ) 80a01ea: edd3 7a01 vldr s15, [r3, #4] 80a01ee: eef5 7ac0 vcmpe.f32 s15, #0.0 80a01f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a01f6: f140 81e8 bpl.w 80a05ca DrawImage(&bmgminus, 78, 84+18); 80a01fa: 2266 movs r2, #102 ; 0x66 80a01fc: 214e movs r1, #78 ; 0x4e 80a01fe: 480e ldr r0, [pc, #56] ; (80a0238 ) 80a0200: f7b4 f9e4 bl 80545cc 80a0204: e1e1 b.n 80a05ca 80a0206: bf00 nop 80a0208: 0001869f .word 0x0001869f 80a020c: 4cbebc20 .word 0x4cbebc20 80a0210: 47c34f80 .word 0x47c34f80 80a0214: d1b71759 .word 0xd1b71759 80a0218: 10624dd3 .word 0x10624dd3 80a021c: 51eb851f .word 0x51eb851f 80a0220: cccccccd .word 0xcccccccd 80a0224: 20020124 .word 0x20020124 80a0228: 08167a54 .word 0x08167a54 80a022c: 200226a0 .word 0x200226a0 80a0230: 20023e60 .word 0x20023e60 80a0234: 200200f4 .word 0x200200f4 80a0238: 081679c8 .word 0x081679c8 if(ipr == VEL) 80a023c: 6d3b ldr r3, [r7, #80] ; 0x50 80a023e: 2b01 cmp r3, #1 80a0240: f040 80ce bne.w 80a03e0 if(ReadFileData.Vval.fl != -1.0f) 80a0244: 4b9f ldr r3, [pc, #636] ; (80a04c4 ) 80a0246: edd3 7a01 vldr s15, [r3, #4] 80a024a: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a024e: eef4 7a47 vcmp.f32 s15, s14 80a0252: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0256: f000 80ae beq.w 80a03b6 if(!t) 80a025a: 6d7b ldr r3, [r7, #84] ; 0x54 80a025c: 2b00 cmp r3, #0 80a025e: d126 bne.n 80a02ae for(i = 0; i < 5; i++) 80a0260: 2300 movs r3, #0 80a0262: 65fb str r3, [r7, #92] ; 0x5c 80a0264: e01f b.n 80a02a6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a0266: 6d3a ldr r2, [r7, #80] ; 0x50 80a0268: 6df9 ldr r1, [r7, #92] ; 0x5c 80a026a: 4613 mov r3, r2 80a026c: 009b lsls r3, r3, #2 80a026e: 4413 add r3, r2 80a0270: f107 0268 add.w r2, r7, #104 ; 0x68 80a0274: 4413 add r3, r2 80a0276: 440b add r3, r1 80a0278: 3b34 subs r3, #52 ; 0x34 80a027a: 781b ldrb r3, [r3, #0] 80a027c: b2db uxtb r3, r3 80a027e: 461a mov r2, r3 80a0280: 4b91 ldr r3, [pc, #580] ; (80a04c8 ) 80a0282: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0286: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0288: b29b uxth r3, r3 80a028a: 461a mov r2, r3 80a028c: 0112 lsls r2, r2, #4 80a028e: 1ad3 subs r3, r2, r3 80a0290: 005b lsls r3, r3, #1 80a0292: b29b uxth r3, r3 80a0294: 335a adds r3, #90 ; 0x5a 80a0296: b29b uxth r3, r3 80a0298: 2282 movs r2, #130 ; 0x82 80a029a: 4619 mov r1, r3 80a029c: f7b4 f996 bl 80545cc for(i = 0; i < 5; i++) 80a02a0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a02a2: 3301 adds r3, #1 80a02a4: 65fb str r3, [r7, #92] ; 0x5c 80a02a6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a02a8: 2b04 cmp r3, #4 80a02aa: d9dc bls.n 80a0266 80a02ac: e05a b.n 80a0364 for(i = 0; i < t; i++) 80a02ae: 2300 movs r3, #0 80a02b0: 65fb str r3, [r7, #92] ; 0x5c 80a02b2: e01f b.n 80a02f4 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a02b4: 6d3a ldr r2, [r7, #80] ; 0x50 80a02b6: 6df9 ldr r1, [r7, #92] ; 0x5c 80a02b8: 4613 mov r3, r2 80a02ba: 009b lsls r3, r3, #2 80a02bc: 4413 add r3, r2 80a02be: f107 0268 add.w r2, r7, #104 ; 0x68 80a02c2: 4413 add r3, r2 80a02c4: 440b add r3, r1 80a02c6: 3b34 subs r3, #52 ; 0x34 80a02c8: 781b ldrb r3, [r3, #0] 80a02ca: b2db uxtb r3, r3 80a02cc: 461a mov r2, r3 80a02ce: 4b7e ldr r3, [pc, #504] ; (80a04c8 ) 80a02d0: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a02d4: 6dfb ldr r3, [r7, #92] ; 0x5c 80a02d6: b29b uxth r3, r3 80a02d8: 461a mov r2, r3 80a02da: 0112 lsls r2, r2, #4 80a02dc: 1ad3 subs r3, r2, r3 80a02de: 005b lsls r3, r3, #1 80a02e0: b29b uxth r3, r3 80a02e2: 335a adds r3, #90 ; 0x5a 80a02e4: b29b uxth r3, r3 80a02e6: 2282 movs r2, #130 ; 0x82 80a02e8: 4619 mov r1, r3 80a02ea: f7b4 f96f bl 80545cc for(i = 0; i < t; i++) 80a02ee: 6dfb ldr r3, [r7, #92] ; 0x5c 80a02f0: 3301 adds r3, #1 80a02f2: 65fb str r3, [r7, #92] ; 0x5c 80a02f4: 6dfa ldr r2, [r7, #92] ; 0x5c 80a02f6: 6d7b ldr r3, [r7, #84] ; 0x54 80a02f8: 429a cmp r2, r3 80a02fa: d3db bcc.n 80a02b4 DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a02fc: 6d7b ldr r3, [r7, #84] ; 0x54 80a02fe: b29b uxth r3, r3 80a0300: 461a mov r2, r3 80a0302: 0112 lsls r2, r2, #4 80a0304: 1ad3 subs r3, r2, r3 80a0306: 005b lsls r3, r3, #1 80a0308: b29b uxth r3, r3 80a030a: 335f adds r3, #95 ; 0x5f 80a030c: b29b uxth r3, r3 80a030e: 229a movs r2, #154 ; 0x9a 80a0310: 4619 mov r1, r3 80a0312: 486e ldr r0, [pc, #440] ; (80a04cc ) 80a0314: f7b4 f95a bl 80545cc for(i = t; i < 5; i++) 80a0318: 6d7b ldr r3, [r7, #84] ; 0x54 80a031a: 65fb str r3, [r7, #92] ; 0x5c 80a031c: e01f b.n 80a035e DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a031e: 6d3a ldr r2, [r7, #80] ; 0x50 80a0320: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0322: 4613 mov r3, r2 80a0324: 009b lsls r3, r3, #2 80a0326: 4413 add r3, r2 80a0328: f107 0268 add.w r2, r7, #104 ; 0x68 80a032c: 4413 add r3, r2 80a032e: 440b add r3, r1 80a0330: 3b34 subs r3, #52 ; 0x34 80a0332: 781b ldrb r3, [r3, #0] 80a0334: b2db uxtb r3, r3 80a0336: 461a mov r2, r3 80a0338: 4b63 ldr r3, [pc, #396] ; (80a04c8 ) 80a033a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a033e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0340: b29b uxth r3, r3 80a0342: 461a mov r2, r3 80a0344: 0112 lsls r2, r2, #4 80a0346: 1ad3 subs r3, r2, r3 80a0348: 005b lsls r3, r3, #1 80a034a: b29b uxth r3, r3 80a034c: 336e adds r3, #110 ; 0x6e 80a034e: b29b uxth r3, r3 80a0350: 2282 movs r2, #130 ; 0x82 80a0352: 4619 mov r1, r3 80a0354: f7b4 f93a bl 80545cc for(i = t; i < 5; i++) 80a0358: 6dfb ldr r3, [r7, #92] ; 0x5c 80a035a: 3301 adds r3, #1 80a035c: 65fb str r3, [r7, #92] ; 0x5c 80a035e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0360: 2b04 cmp r3, #4 80a0362: d9dc bls.n 80a031e if(ReadFileData.Vivs < 'E') 80a0364: 4b57 ldr r3, [pc, #348] ; (80a04c4 ) 80a0366: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a036a: b2db uxtb r3, r3 80a036c: 2b44 cmp r3, #68 ; 0x44 80a036e: d80c bhi.n 80a038a DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a0370: 4b57 ldr r3, [pc, #348] ; (80a04d0 ) 80a0372: 7b1b ldrb r3, [r3, #12] 80a0374: b2db uxtb r3, r3 80a0376: 461a mov r2, r3 80a0378: 4b56 ldr r3, [pc, #344] ; (80a04d4 ) 80a037a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a037e: 2289 movs r2, #137 ; 0x89 80a0380: f240 1109 movw r1, #265 ; 0x109 80a0384: 4618 mov r0, r3 80a0386: f7b4 f921 bl 80545cc if(ReadFileData.Vivs == 'E') 80a038a: 4b4e ldr r3, [pc, #312] ; (80a04c4 ) 80a038c: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a0390: b2db uxtb r3, r3 80a0392: 2b45 cmp r3, #69 ; 0x45 80a0394: f040 8119 bne.w 80a05ca if(ReadFileData.Vval.fl < 0.0f) { 80a0398: 4b4a ldr r3, [pc, #296] ; (80a04c4 ) 80a039a: edd3 7a01 vldr s15, [r3, #4] 80a039e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a03a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a03a6: f140 8110 bpl.w 80a05ca DrawImage(&bmgminus, 78, 138+9); 80a03aa: 2293 movs r2, #147 ; 0x93 80a03ac: 214e movs r1, #78 ; 0x4e 80a03ae: 484a ldr r0, [pc, #296] ; (80a04d8 ) 80a03b0: f7b4 f90c bl 80545cc 80a03b4: e109 b.n 80a05ca LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a03b6: 4949 ldr r1, [pc, #292] ; (80a04dc ) 80a03b8: 4849 ldr r0, [pc, #292] ; (80a04e0 ) 80a03ba: f7b3 fa13 bl 80537e4 if(pardata.LANG == RUS) 80a03be: 4b44 ldr r3, [pc, #272] ; (80a04d0 ) 80a03c0: 7b1b ldrb r3, [r3, #12] 80a03c2: b2db uxtb r3, r3 80a03c4: 2b00 cmp r3, #0 80a03c6: d105 bne.n 80a03d4 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a03c8: 4a46 ldr r2, [pc, #280] ; (80a04e4 ) 80a03ca: 2187 movs r1, #135 ; 0x87 80a03cc: 20a7 movs r0, #167 ; 0xa7 80a03ce: f7b3 ffc9 bl 8054364 80a03d2: e0fa b.n 80a05ca else LCD_DisplayStringC(167, 135, "NO DATA"); 80a03d4: 4a44 ldr r2, [pc, #272] ; (80a04e8 ) 80a03d6: 2187 movs r1, #135 ; 0x87 80a03d8: 20a7 movs r0, #167 ; 0xa7 80a03da: f7b3 ffc3 bl 8054364 80a03de: e0f4 b.n 80a05ca if(ipr == DIS) 80a03e0: 6d3b ldr r3, [r7, #80] ; 0x50 80a03e2: 2b02 cmp r3, #2 80a03e4: f040 80f1 bne.w 80a05ca if(ReadFileData.Sval.fl != -1.0f) 80a03e8: 4b36 ldr r3, [pc, #216] ; (80a04c4 ) 80a03ea: edd3 7a02 vldr s15, [r3, #8] 80a03ee: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a03f2: eef4 7a47 vcmp.f32 s15, s14 80a03f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a03fa: f000 80d2 beq.w 80a05a2 if(!t) 80a03fe: 6d7b ldr r3, [r7, #84] ; 0x54 80a0400: 2b00 cmp r3, #0 80a0402: d126 bne.n 80a0452 for(i = 0; i < 5; i++) 80a0404: 2300 movs r3, #0 80a0406: 65fb str r3, [r7, #92] ; 0x5c 80a0408: e01f b.n 80a044a DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a040a: 6d3a ldr r2, [r7, #80] ; 0x50 80a040c: 6df9 ldr r1, [r7, #92] ; 0x5c 80a040e: 4613 mov r3, r2 80a0410: 009b lsls r3, r3, #2 80a0412: 4413 add r3, r2 80a0414: f107 0268 add.w r2, r7, #104 ; 0x68 80a0418: 4413 add r3, r2 80a041a: 440b add r3, r1 80a041c: 3b34 subs r3, #52 ; 0x34 80a041e: 781b ldrb r3, [r3, #0] 80a0420: b2db uxtb r3, r3 80a0422: 461a mov r2, r3 80a0424: 4b28 ldr r3, [pc, #160] ; (80a04c8 ) 80a0426: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a042a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a042c: b29b uxth r3, r3 80a042e: 461a mov r2, r3 80a0430: 0112 lsls r2, r2, #4 80a0432: 1ad3 subs r3, r2, r3 80a0434: 005b lsls r3, r3, #1 80a0436: b29b uxth r3, r3 80a0438: 335a adds r3, #90 ; 0x5a 80a043a: b29b uxth r3, r3 80a043c: 22ae movs r2, #174 ; 0xae 80a043e: 4619 mov r1, r3 80a0440: f7b4 f8c4 bl 80545cc for(i = 0; i < 5; i++) 80a0444: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0446: 3301 adds r3, #1 80a0448: 65fb str r3, [r7, #92] ; 0x5c 80a044a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a044c: 2b04 cmp r3, #4 80a044e: d9dc bls.n 80a040a 80a0450: e06f b.n 80a0532 for(i = 0; i < t; i++) 80a0452: 2300 movs r3, #0 80a0454: 65fb str r3, [r7, #92] ; 0x5c 80a0456: e01f b.n 80a0498 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a0458: 6d3a ldr r2, [r7, #80] ; 0x50 80a045a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a045c: 4613 mov r3, r2 80a045e: 009b lsls r3, r3, #2 80a0460: 4413 add r3, r2 80a0462: f107 0268 add.w r2, r7, #104 ; 0x68 80a0466: 4413 add r3, r2 80a0468: 440b add r3, r1 80a046a: 3b34 subs r3, #52 ; 0x34 80a046c: 781b ldrb r3, [r3, #0] 80a046e: b2db uxtb r3, r3 80a0470: 461a mov r2, r3 80a0472: 4b15 ldr r3, [pc, #84] ; (80a04c8 ) 80a0474: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0478: 6dfb ldr r3, [r7, #92] ; 0x5c 80a047a: b29b uxth r3, r3 80a047c: 461a mov r2, r3 80a047e: 0112 lsls r2, r2, #4 80a0480: 1ad3 subs r3, r2, r3 80a0482: 005b lsls r3, r3, #1 80a0484: b29b uxth r3, r3 80a0486: 335a adds r3, #90 ; 0x5a 80a0488: b29b uxth r3, r3 80a048a: 22ae movs r2, #174 ; 0xae 80a048c: 4619 mov r1, r3 80a048e: f7b4 f89d bl 80545cc for(i = 0; i < t; i++) 80a0492: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0494: 3301 adds r3, #1 80a0496: 65fb str r3, [r7, #92] ; 0x5c 80a0498: 6dfa ldr r2, [r7, #92] ; 0x5c 80a049a: 6d7b ldr r3, [r7, #84] ; 0x54 80a049c: 429a cmp r2, r3 80a049e: d3db bcc.n 80a0458 DrawImage(&bmgpt, 95 + 30*t, 198); 80a04a0: 6d7b ldr r3, [r7, #84] ; 0x54 80a04a2: b29b uxth r3, r3 80a04a4: 461a mov r2, r3 80a04a6: 0112 lsls r2, r2, #4 80a04a8: 1ad3 subs r3, r2, r3 80a04aa: 005b lsls r3, r3, #1 80a04ac: b29b uxth r3, r3 80a04ae: 335f adds r3, #95 ; 0x5f 80a04b0: b29b uxth r3, r3 80a04b2: 22c6 movs r2, #198 ; 0xc6 80a04b4: 4619 mov r1, r3 80a04b6: 4805 ldr r0, [pc, #20] ; (80a04cc ) 80a04b8: f7b4 f888 bl 80545cc for(i = t; i < 5; i++) 80a04bc: 6d7b ldr r3, [r7, #84] ; 0x54 80a04be: 65fb str r3, [r7, #92] ; 0x5c 80a04c0: e034 b.n 80a052c 80a04c2: bf00 nop 80a04c4: 200226a0 .word 0x200226a0 80a04c8: 20020124 .word 0x20020124 80a04cc: 08167a54 .word 0x08167a54 80a04d0: 20023e60 .word 0x20023e60 80a04d4: 200200fc .word 0x200200fc 80a04d8: 081679c8 .word 0x081679c8 80a04dc: ff0a0f1f .word 0xff0a0f1f 80a04e0: ffb8e828 .word 0xffb8e828 80a04e4: 080cfb2c .word 0x080cfb2c 80a04e8: 080cfb38 .word 0x080cfb38 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a04ec: 6d3a ldr r2, [r7, #80] ; 0x50 80a04ee: 6df9 ldr r1, [r7, #92] ; 0x5c 80a04f0: 4613 mov r3, r2 80a04f2: 009b lsls r3, r3, #2 80a04f4: 4413 add r3, r2 80a04f6: f107 0268 add.w r2, r7, #104 ; 0x68 80a04fa: 4413 add r3, r2 80a04fc: 440b add r3, r1 80a04fe: 3b34 subs r3, #52 ; 0x34 80a0500: 781b ldrb r3, [r3, #0] 80a0502: b2db uxtb r3, r3 80a0504: 461a mov r2, r3 80a0506: 4bbe ldr r3, [pc, #760] ; (80a0800 ) 80a0508: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a050c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a050e: b29b uxth r3, r3 80a0510: 461a mov r2, r3 80a0512: 0112 lsls r2, r2, #4 80a0514: 1ad3 subs r3, r2, r3 80a0516: 005b lsls r3, r3, #1 80a0518: b29b uxth r3, r3 80a051a: 336e adds r3, #110 ; 0x6e 80a051c: b29b uxth r3, r3 80a051e: 22ae movs r2, #174 ; 0xae 80a0520: 4619 mov r1, r3 80a0522: f7b4 f853 bl 80545cc for(i = t; i < 5; i++) 80a0526: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0528: 3301 adds r3, #1 80a052a: 65fb str r3, [r7, #92] ; 0x5c 80a052c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a052e: 2b04 cmp r3, #4 80a0530: d9dc bls.n 80a04ec if(ReadFileData.Sivs < 'E') 80a0532: 4bb4 ldr r3, [pc, #720] ; (80a0804 ) 80a0534: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a0538: b2db uxtb r3, r3 80a053a: 2b44 cmp r3, #68 ; 0x44 80a053c: d81d bhi.n 80a057a if(m == 0) 80a053e: 6cfb ldr r3, [r7, #76] ; 0x4c 80a0540: 2b00 cmp r3, #0 80a0542: d10d bne.n 80a0560 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a0544: 4bb0 ldr r3, [pc, #704] ; (80a0808 ) 80a0546: 7b1b ldrb r3, [r3, #12] 80a0548: b2db uxtb r3, r3 80a054a: 461a mov r2, r3 80a054c: 4baf ldr r3, [pc, #700] ; (80a080c ) 80a054e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0552: 22b4 movs r2, #180 ; 0xb4 80a0554: f240 1109 movw r1, #265 ; 0x109 80a0558: 4618 mov r0, r3 80a055a: f7b4 f837 bl 80545cc 80a055e: e00c b.n 80a057a else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a0560: 4ba9 ldr r3, [pc, #676] ; (80a0808 ) 80a0562: 7b1b ldrb r3, [r3, #12] 80a0564: b2db uxtb r3, r3 80a0566: 461a mov r2, r3 80a0568: 4ba9 ldr r3, [pc, #676] ; (80a0810 ) 80a056a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a056e: 22b4 movs r2, #180 ; 0xb4 80a0570: f240 1109 movw r1, #265 ; 0x109 80a0574: 4618 mov r0, r3 80a0576: f7b4 f829 bl 80545cc if(ReadFileData.Sivs == 'E') 80a057a: 4ba2 ldr r3, [pc, #648] ; (80a0804 ) 80a057c: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a0580: b2db uxtb r3, r3 80a0582: 2b45 cmp r3, #69 ; 0x45 80a0584: d121 bne.n 80a05ca if(ReadFileData.Sval.fl < 0.0f) { 80a0586: 4b9f ldr r3, [pc, #636] ; (80a0804 ) 80a0588: edd3 7a02 vldr s15, [r3, #8] 80a058c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a0590: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0594: d519 bpl.n 80a05ca DrawImage(&bmgminus, 78, 190); 80a0596: 22be movs r2, #190 ; 0xbe 80a0598: 214e movs r1, #78 ; 0x4e 80a059a: 489e ldr r0, [pc, #632] ; (80a0814 ) 80a059c: f7b4 f816 bl 80545cc 80a05a0: e013 b.n 80a05ca LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a05a2: 499d ldr r1, [pc, #628] ; (80a0818 ) 80a05a4: 489d ldr r0, [pc, #628] ; (80a081c ) 80a05a6: f7b3 f91d bl 80537e4 if(pardata.LANG == RUS) 80a05aa: 4b97 ldr r3, [pc, #604] ; (80a0808 ) 80a05ac: 7b1b ldrb r3, [r3, #12] 80a05ae: b2db uxtb r3, r3 80a05b0: 2b00 cmp r3, #0 80a05b2: d105 bne.n 80a05c0 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a05b4: 4a9a ldr r2, [pc, #616] ; (80a0820 ) 80a05b6: 21b9 movs r1, #185 ; 0xb9 80a05b8: 20a7 movs r0, #167 ; 0xa7 80a05ba: f7b3 fed3 bl 8054364 80a05be: e004 b.n 80a05ca else LCD_DisplayStringC(167, 185, "NO DATA"); 80a05c0: 4a98 ldr r2, [pc, #608] ; (80a0824 ) 80a05c2: 21b9 movs r1, #185 ; 0xb9 80a05c4: 20a7 movs r0, #167 ; 0xa7 80a05c6: f7b3 fecd bl 8054364 for(ipr = ACC; ipr <= DIS; ipr++) 80a05ca: 6d3b ldr r3, [r7, #80] ; 0x50 80a05cc: 3301 adds r3, #1 80a05ce: 653b str r3, [r7, #80] ; 0x50 80a05d0: 6d3b ldr r3, [r7, #80] ; 0x50 80a05d2: 2b02 cmp r3, #2 80a05d4: f67f aa84 bls.w 809fae0 break; 80a05d8: f003 ba6e b.w 80a3ab8 for(ipr = ACC; ipr <= DIS; ipr++) 80a05dc: 2300 movs r3, #0 80a05de: 653b str r3, [r7, #80] ; 0x50 80a05e0: f001 b964 b.w 80a18ac if(ipr == ACC) f = ReadFileData.Aval.fl; 80a05e4: 6d3b ldr r3, [r7, #80] ; 0x50 80a05e6: 2b00 cmp r3, #0 80a05e8: d103 bne.n 80a05f2 80a05ea: 4b86 ldr r3, [pc, #536] ; (80a0804 ) 80a05ec: 681b ldr r3, [r3, #0] 80a05ee: 647b str r3, [r7, #68] ; 0x44 80a05f0: e00c b.n 80a060c else if(ipr == VEL) f = ReadFileData.Vval.fl; 80a05f2: 6d3b ldr r3, [r7, #80] ; 0x50 80a05f4: 2b01 cmp r3, #1 80a05f6: d103 bne.n 80a0600 80a05f8: 4b82 ldr r3, [pc, #520] ; (80a0804 ) 80a05fa: 685b ldr r3, [r3, #4] 80a05fc: 647b str r3, [r7, #68] ; 0x44 80a05fe: e005 b.n 80a060c else if(ipr == DIS) f = ReadFileData.Sval.fl; 80a0600: 6d3b ldr r3, [r7, #80] ; 0x50 80a0602: 2b02 cmp r3, #2 80a0604: d102 bne.n 80a060c 80a0606: 4b7f ldr r3, [pc, #508] ; (80a0804 ) 80a0608: 689b ldr r3, [r3, #8] 80a060a: 647b str r3, [r7, #68] ; 0x44 if(ivs[ipr] >= 'F') 80a060c: 6d3b ldr r3, [r7, #80] ; 0x50 80a060e: f107 0268 add.w r2, r7, #104 ; 0x68 80a0612: 4413 add r3, r2 80a0614: f813 3c68 ldrb.w r3, [r3, #-104] 80a0618: 2b45 cmp r3, #69 ; 0x45 80a061a: f240 8532 bls.w 80a1082 if(ipr < DIS) 80a061e: 6d3b ldr r3, [r7, #80] ; 0x50 80a0620: 2b01 cmp r3, #1 80a0622: f200 80af bhi.w 80a0784 if(f < 10.0f) 80a0626: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a062a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a062e: eef4 7ac7 vcmpe.f32 s15, s14 80a0632: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0636: d513 bpl.n 80a0660 k = (uint32_t) (roundf(f * 10000)); 80a0638: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a063c: ed9f 7a7e vldr s14, [pc, #504] ; 80a0838 80a0640: ee67 7a87 vmul.f32 s15, s15, s14 80a0644: eeb0 0a67 vmov.f32 s0, s15 80a0648: f02a fb1c bl 80cac84 80a064c: eef0 7a40 vmov.f32 s15, s0 80a0650: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0654: ee17 3a90 vmov r3, s15 80a0658: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a065a: 2301 movs r3, #1 80a065c: 657b str r3, [r7, #84] ; 0x54 80a065e: e1d3 b.n 80a0a08 if(f < 100.0f) 80a0660: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0664: ed9f 7a73 vldr s14, [pc, #460] ; 80a0834 80a0668: eef4 7ac7 vcmpe.f32 s15, s14 80a066c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0670: d513 bpl.n 80a069a k = (uint32_t) (roundf(f * 1000)); 80a0672: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0676: ed9f 7a6e vldr s14, [pc, #440] ; 80a0830 80a067a: ee67 7a87 vmul.f32 s15, s15, s14 80a067e: eeb0 0a67 vmov.f32 s0, s15 80a0682: f02a faff bl 80cac84 80a0686: eef0 7a40 vmov.f32 s15, s0 80a068a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a068e: ee17 3a90 vmov r3, s15 80a0692: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a0694: 2302 movs r3, #2 80a0696: 657b str r3, [r7, #84] ; 0x54 80a0698: e1b6 b.n 80a0a08 if(f < 1000.0f) 80a069a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a069e: ed9f 7a64 vldr s14, [pc, #400] ; 80a0830 80a06a2: eef4 7ac7 vcmpe.f32 s15, s14 80a06a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a06aa: d513 bpl.n 80a06d4 k = (uint32_t) (roundf(f * 100)); 80a06ac: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a06b0: ed9f 7a60 vldr s14, [pc, #384] ; 80a0834 80a06b4: ee67 7a87 vmul.f32 s15, s15, s14 80a06b8: eeb0 0a67 vmov.f32 s0, s15 80a06bc: f02a fae2 bl 80cac84 80a06c0: eef0 7a40 vmov.f32 s15, s0 80a06c4: eefc 7ae7 vcvt.u32.f32 s15, s15 80a06c8: ee17 3a90 vmov r3, s15 80a06cc: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a06ce: 2303 movs r3, #3 80a06d0: 657b str r3, [r7, #84] ; 0x54 80a06d2: e199 b.n 80a0a08 if(f < 10000.0f) 80a06d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a06d8: ed9f 7a57 vldr s14, [pc, #348] ; 80a0838 80a06dc: eef4 7ac7 vcmpe.f32 s15, s14 80a06e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a06e4: d513 bpl.n 80a070e k = (uint32_t) (roundf(f * 10)); 80a06e6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a06ea: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a06ee: ee67 7a87 vmul.f32 s15, s15, s14 80a06f2: eeb0 0a67 vmov.f32 s0, s15 80a06f6: f02a fac5 bl 80cac84 80a06fa: eef0 7a40 vmov.f32 s15, s0 80a06fe: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0702: ee17 3a90 vmov r3, s15 80a0706: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a0708: 2304 movs r3, #4 80a070a: 657b str r3, [r7, #84] ; 0x54 80a070c: e17c b.n 80a0a08 if(f < 100000.0f) 80a070e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0712: ed9f 7a4a vldr s14, [pc, #296] ; 80a083c 80a0716: eef4 7ac7 vcmpe.f32 s15, s14 80a071a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a071e: d515 bpl.n 80a074c k = (uint32_t) (roundf(f)); 80a0720: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0724: eeb0 0a67 vmov.f32 s0, s15 80a0728: f02a faac bl 80cac84 80a072c: eef0 7a40 vmov.f32 s15, s0 80a0730: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0734: ee17 3a90 vmov r3, s15 80a0738: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a073a: 6dbb ldr r3, [r7, #88] ; 0x58 80a073c: 4a3a ldr r2, [pc, #232] ; (80a0828 ) 80a073e: 4293 cmp r3, r2 80a0740: d901 bls.n 80a0746 k = 99999; 80a0742: 4b39 ldr r3, [pc, #228] ; (80a0828 ) 80a0744: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a0746: 2300 movs r3, #0 80a0748: 657b str r3, [r7, #84] ; 0x54 80a074a: e15d b.n 80a0a08 if(f >= 100000.0f) 80a074c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0750: ed9f 7a3a vldr s14, [pc, #232] ; 80a083c 80a0754: eef4 7ac7 vcmpe.f32 s15, s14 80a0758: eef1 fa10 vmrs APSR_nzcv, fpscr 80a075c: f2c0 8154 blt.w 80a0a08 f = 99999.0f; 80a0760: 4b32 ldr r3, [pc, #200] ; (80a082c ) 80a0762: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a0764: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0768: eeb0 0a67 vmov.f32 s0, s15 80a076c: f02a fa8a bl 80cac84 80a0770: eef0 7a40 vmov.f32 s15, s0 80a0774: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0778: ee17 3a90 vmov r3, s15 80a077c: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a077e: 2300 movs r3, #0 80a0780: 657b str r3, [r7, #84] ; 0x54 80a0782: e141 b.n 80a0a08 if(f < 10.0f) 80a0784: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0788: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a078c: eef4 7ac7 vcmpe.f32 s15, s14 80a0790: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0794: d515 bpl.n 80a07c2 k = (uint32_t) (roundf(f * 10000)); 80a0796: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a079a: ed9f 7a27 vldr s14, [pc, #156] ; 80a0838 80a079e: ee67 7a87 vmul.f32 s15, s15, s14 80a07a2: eeb0 0a67 vmov.f32 s0, s15 80a07a6: f02a fa6d bl 80cac84 80a07aa: eef0 7a40 vmov.f32 s15, s0 80a07ae: eefc 7ae7 vcvt.u32.f32 s15, s15 80a07b2: ee17 3a90 vmov r3, s15 80a07b6: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a07b8: 2301 movs r3, #1 80a07ba: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a07bc: 2300 movs r3, #0 80a07be: 64fb str r3, [r7, #76] ; 0x4c 80a07c0: e122 b.n 80a0a08 if(f < 100.0f) 80a07c2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a07c6: ed9f 7a1b vldr s14, [pc, #108] ; 80a0834 80a07ca: eef4 7ac7 vcmpe.f32 s15, s14 80a07ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80a07d2: d541 bpl.n 80a0858 k = (uint32_t) (roundf(f * 1000)); 80a07d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a07d8: ed9f 7a15 vldr s14, [pc, #84] ; 80a0830 80a07dc: ee67 7a87 vmul.f32 s15, s15, s14 80a07e0: eeb0 0a67 vmov.f32 s0, s15 80a07e4: f02a fa4e bl 80cac84 80a07e8: eef0 7a40 vmov.f32 s15, s0 80a07ec: eefc 7ae7 vcvt.u32.f32 s15, s15 80a07f0: ee17 3a90 vmov r3, s15 80a07f4: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a07f6: 2302 movs r3, #2 80a07f8: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a07fa: 2300 movs r3, #0 80a07fc: 64fb str r3, [r7, #76] ; 0x4c 80a07fe: e103 b.n 80a0a08 80a0800: 20020124 .word 0x20020124 80a0804: 200226a0 .word 0x200226a0 80a0808: 20023e60 .word 0x20023e60 80a080c: 20020104 .word 0x20020104 80a0810: 2002010c .word 0x2002010c 80a0814: 081679c8 .word 0x081679c8 80a0818: ff0a0f1f .word 0xff0a0f1f 80a081c: ffb8e828 .word 0xffb8e828 80a0820: 080cfb2c .word 0x080cfb2c 80a0824: 080cfb38 .word 0x080cfb38 80a0828: 0001869f .word 0x0001869f 80a082c: 47c34f80 .word 0x47c34f80 80a0830: 447a0000 .word 0x447a0000 80a0834: 42c80000 .word 0x42c80000 80a0838: 461c4000 .word 0x461c4000 80a083c: 47c35000 .word 0x47c35000 80a0840: 49742400 .word 0x49742400 80a0844: 3dcccccd .word 0x3dcccccd 80a0848: 4b189680 .word 0x4b189680 80a084c: 3c23d70a .word 0x3c23d70a 80a0850: 4cbebc20 .word 0x4cbebc20 80a0854: 3a83126f .word 0x3a83126f if(f < 1000.0f) 80a0858: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a085c: ed1f 7a0c vldr s14, [pc, #-48] ; 80a0830 80a0860: eef4 7ac7 vcmpe.f32 s15, s14 80a0864: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0868: d515 bpl.n 80a0896 k = (uint32_t) (roundf(f * 100)); 80a086a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a086e: ed1f 7a0f vldr s14, [pc, #-60] ; 80a0834 80a0872: ee67 7a87 vmul.f32 s15, s15, s14 80a0876: eeb0 0a67 vmov.f32 s0, s15 80a087a: f02a fa03 bl 80cac84 80a087e: eef0 7a40 vmov.f32 s15, s0 80a0882: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0886: ee17 3a90 vmov r3, s15 80a088a: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a088c: 2303 movs r3, #3 80a088e: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a0890: 2300 movs r3, #0 80a0892: 64fb str r3, [r7, #76] ; 0x4c 80a0894: e0b8 b.n 80a0a08 if(f < 10000.0f) 80a0896: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a089a: ed1f 7a19 vldr s14, [pc, #-100] ; 80a0838 80a089e: eef4 7ac7 vcmpe.f32 s15, s14 80a08a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a08a6: d515 bpl.n 80a08d4 k = (uint32_t) (roundf(f * 10)); 80a08a8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a08ac: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a08b0: ee67 7a87 vmul.f32 s15, s15, s14 80a08b4: eeb0 0a67 vmov.f32 s0, s15 80a08b8: f02a f9e4 bl 80cac84 80a08bc: eef0 7a40 vmov.f32 s15, s0 80a08c0: eefc 7ae7 vcvt.u32.f32 s15, s15 80a08c4: ee17 3a90 vmov r3, s15 80a08c8: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a08ca: 2301 movs r3, #1 80a08cc: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a08ce: 2301 movs r3, #1 80a08d0: 64fb str r3, [r7, #76] ; 0x4c 80a08d2: e099 b.n 80a0a08 if(f < 100000.0f) 80a08d4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a08d8: ed1f 7a28 vldr s14, [pc, #-160] ; 80a083c 80a08dc: eef4 7ac7 vcmpe.f32 s15, s14 80a08e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a08e4: d511 bpl.n 80a090a k = (uint32_t) (roundf(f)); 80a08e6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a08ea: eeb0 0a67 vmov.f32 s0, s15 80a08ee: f02a f9c9 bl 80cac84 80a08f2: eef0 7a40 vmov.f32 s15, s0 80a08f6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a08fa: ee17 3a90 vmov r3, s15 80a08fe: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a0900: 2302 movs r3, #2 80a0902: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0904: 2301 movs r3, #1 80a0906: 64fb str r3, [r7, #76] ; 0x4c 80a0908: e07e b.n 80a0a08 if(f < 1000000.0f) 80a090a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a090e: ed1f 7a34 vldr s14, [pc, #-208] ; 80a0840 80a0912: eef4 7ac7 vcmpe.f32 s15, s14 80a0916: eef1 fa10 vmrs APSR_nzcv, fpscr 80a091a: d515 bpl.n 80a0948 k = (uint32_t) (roundf(f * 0.1f)); 80a091c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a0920: ed1f 7a38 vldr s14, [pc, #-224] ; 80a0844 80a0924: ee67 7a87 vmul.f32 s15, s15, s14 80a0928: eeb0 0a67 vmov.f32 s0, s15 80a092c: f02a f9aa bl 80cac84 80a0930: eef0 7a40 vmov.f32 s15, s0 80a0934: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0938: ee17 3a90 vmov r3, s15 80a093c: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a093e: 2303 movs r3, #3 80a0940: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0942: 2301 movs r3, #1 80a0944: 64fb str r3, [r7, #76] ; 0x4c 80a0946: e05f b.n 80a0a08 if(f < 10000000.0f) 80a0948: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a094c: ed1f 7a42 vldr s14, [pc, #-264] ; 80a0848 80a0950: eef4 7ac7 vcmpe.f32 s15, s14 80a0954: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0958: d515 bpl.n 80a0986 k = (uint32_t) (roundf(f * 0.01f)); 80a095a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a095e: ed1f 7a45 vldr s14, [pc, #-276] ; 80a084c 80a0962: ee67 7a87 vmul.f32 s15, s15, s14 80a0966: eeb0 0a67 vmov.f32 s0, s15 80a096a: f02a f98b bl 80cac84 80a096e: eef0 7a40 vmov.f32 s15, s0 80a0972: eefc 7ae7 vcvt.u32.f32 s15, s15 80a0976: ee17 3a90 vmov r3, s15 80a097a: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a097c: 2304 movs r3, #4 80a097e: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0980: 2301 movs r3, #1 80a0982: 64fb str r3, [r7, #76] ; 0x4c 80a0984: e040 b.n 80a0a08 if(f < 100000000.0f) 80a0986: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a098a: ed1f 7a4f vldr s14, [pc, #-316] ; 80a0850 80a098e: eef4 7ac7 vcmpe.f32 s15, s14 80a0992: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0996: d51b bpl.n 80a09d0 k = (uint32_t) (roundf(f * 0.001f)); 80a0998: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a099c: ed1f 7a53 vldr s14, [pc, #-332] ; 80a0854 80a09a0: ee67 7a87 vmul.f32 s15, s15, s14 80a09a4: eeb0 0a67 vmov.f32 s0, s15 80a09a8: f02a f96c bl 80cac84 80a09ac: eef0 7a40 vmov.f32 s15, s0 80a09b0: eefc 7ae7 vcvt.u32.f32 s15, s15 80a09b4: ee17 3a90 vmov r3, s15 80a09b8: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a09ba: 6dbb ldr r3, [r7, #88] ; 0x58 80a09bc: 4abc ldr r2, [pc, #752] ; (80a0cb0 ) 80a09be: 4293 cmp r3, r2 80a09c0: d901 bls.n 80a09c6 k = 99999; 80a09c2: 4bbb ldr r3, [pc, #748] ; (80a0cb0 ) 80a09c4: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a09c6: 2300 movs r3, #0 80a09c8: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a09ca: 2301 movs r3, #1 80a09cc: 64fb str r3, [r7, #76] ; 0x4c 80a09ce: e01b b.n 80a0a08 if(f >= 100000000.0f) 80a09d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a09d4: ed9f 7ab7 vldr s14, [pc, #732] ; 80a0cb4 80a09d8: eef4 7ac7 vcmpe.f32 s15, s14 80a09dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a09e0: db12 blt.n 80a0a08 f = 99999.0f; 80a09e2: 4bb5 ldr r3, [pc, #724] ; (80a0cb8 ) 80a09e4: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a09e6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a09ea: eeb0 0a67 vmov.f32 s0, s15 80a09ee: f02a f949 bl 80cac84 80a09f2: eef0 7a40 vmov.f32 s15, s0 80a09f6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a09fa: ee17 3a90 vmov r3, s15 80a09fe: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a0a00: 2300 movs r3, #0 80a0a02: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a0a04: 2301 movs r3, #1 80a0a06: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a0a08: 6d3a ldr r2, [r7, #80] ; 0x50 80a0a0a: 6dbb ldr r3, [r7, #88] ; 0x58 80a0a0c: 49ab ldr r1, [pc, #684] ; (80a0cbc ) 80a0a0e: fba1 1303 umull r1, r3, r1, r3 80a0a12: 0b5b lsrs r3, r3, #13 80a0a14: b2d9 uxtb r1, r3 80a0a16: 4613 mov r3, r2 80a0a18: 009b lsls r3, r3, #2 80a0a1a: 4413 add r3, r2 80a0a1c: f107 0268 add.w r2, r7, #104 ; 0x68 80a0a20: 4413 add r3, r2 80a0a22: 3b34 subs r3, #52 ; 0x34 80a0a24: 460a mov r2, r1 80a0a26: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a0a28: 6d39 ldr r1, [r7, #80] ; 0x50 80a0a2a: 6dba ldr r2, [r7, #88] ; 0x58 80a0a2c: 4ba3 ldr r3, [pc, #652] ; (80a0cbc ) 80a0a2e: fba3 0302 umull r0, r3, r3, r2 80a0a32: 0b5b lsrs r3, r3, #13 80a0a34: f242 7010 movw r0, #10000 ; 0x2710 80a0a38: fb00 f303 mul.w r3, r0, r3 80a0a3c: 1ad3 subs r3, r2, r3 80a0a3e: 4aa0 ldr r2, [pc, #640] ; (80a0cc0 ) 80a0a40: fba2 2303 umull r2, r3, r2, r3 80a0a44: 099b lsrs r3, r3, #6 80a0a46: b2da uxtb r2, r3 80a0a48: 460b mov r3, r1 80a0a4a: 009b lsls r3, r3, #2 80a0a4c: 440b add r3, r1 80a0a4e: f107 0168 add.w r1, r7, #104 ; 0x68 80a0a52: 440b add r3, r1 80a0a54: 3b33 subs r3, #51 ; 0x33 80a0a56: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a0a58: 6d39 ldr r1, [r7, #80] ; 0x50 80a0a5a: 6dba ldr r2, [r7, #88] ; 0x58 80a0a5c: 4b97 ldr r3, [pc, #604] ; (80a0cbc ) 80a0a5e: fba3 0302 umull r0, r3, r3, r2 80a0a62: 0b5b lsrs r3, r3, #13 80a0a64: f242 7010 movw r0, #10000 ; 0x2710 80a0a68: fb00 f303 mul.w r3, r0, r3 80a0a6c: 1ad3 subs r3, r2, r3 80a0a6e: 4a94 ldr r2, [pc, #592] ; (80a0cc0 ) 80a0a70: fba2 0203 umull r0, r2, r2, r3 80a0a74: 0992 lsrs r2, r2, #6 80a0a76: f44f 707a mov.w r0, #1000 ; 0x3e8 80a0a7a: fb00 f202 mul.w r2, r0, r2 80a0a7e: 1a9a subs r2, r3, r2 80a0a80: 4b90 ldr r3, [pc, #576] ; (80a0cc4 ) 80a0a82: fba3 2302 umull r2, r3, r3, r2 80a0a86: 095b lsrs r3, r3, #5 80a0a88: b2da uxtb r2, r3 80a0a8a: 460b mov r3, r1 80a0a8c: 009b lsls r3, r3, #2 80a0a8e: 440b add r3, r1 80a0a90: f107 0168 add.w r1, r7, #104 ; 0x68 80a0a94: 440b add r3, r1 80a0a96: 3b32 subs r3, #50 ; 0x32 80a0a98: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a0a9a: 6d39 ldr r1, [r7, #80] ; 0x50 80a0a9c: 6dbb ldr r3, [r7, #88] ; 0x58 80a0a9e: 4a87 ldr r2, [pc, #540] ; (80a0cbc ) 80a0aa0: fba2 0203 umull r0, r2, r2, r3 80a0aa4: 0b52 lsrs r2, r2, #13 80a0aa6: f242 7010 movw r0, #10000 ; 0x2710 80a0aaa: fb00 f202 mul.w r2, r0, r2 80a0aae: 1a9a subs r2, r3, r2 80a0ab0: 4b83 ldr r3, [pc, #524] ; (80a0cc0 ) 80a0ab2: fba3 0302 umull r0, r3, r3, r2 80a0ab6: 099b lsrs r3, r3, #6 80a0ab8: f44f 707a mov.w r0, #1000 ; 0x3e8 80a0abc: fb00 f303 mul.w r3, r0, r3 80a0ac0: 1ad3 subs r3, r2, r3 80a0ac2: 4a80 ldr r2, [pc, #512] ; (80a0cc4 ) 80a0ac4: fba2 0203 umull r0, r2, r2, r3 80a0ac8: 0952 lsrs r2, r2, #5 80a0aca: 2064 movs r0, #100 ; 0x64 80a0acc: fb00 f202 mul.w r2, r0, r2 80a0ad0: 1a9a subs r2, r3, r2 80a0ad2: 4b7d ldr r3, [pc, #500] ; (80a0cc8 ) 80a0ad4: fba3 2302 umull r2, r3, r3, r2 80a0ad8: 08db lsrs r3, r3, #3 80a0ada: b2da uxtb r2, r3 80a0adc: 460b mov r3, r1 80a0ade: 009b lsls r3, r3, #2 80a0ae0: 440b add r3, r1 80a0ae2: f107 0168 add.w r1, r7, #104 ; 0x68 80a0ae6: 440b add r3, r1 80a0ae8: 3b31 subs r3, #49 ; 0x31 80a0aea: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a0aec: 6d38 ldr r0, [r7, #80] ; 0x50 80a0aee: 6dbb ldr r3, [r7, #88] ; 0x58 80a0af0: 4a72 ldr r2, [pc, #456] ; (80a0cbc ) 80a0af2: fba2 1203 umull r1, r2, r2, r3 80a0af6: 0b52 lsrs r2, r2, #13 80a0af8: f242 7110 movw r1, #10000 ; 0x2710 80a0afc: fb01 f202 mul.w r2, r1, r2 80a0b00: 1a9a subs r2, r3, r2 80a0b02: 4b6f ldr r3, [pc, #444] ; (80a0cc0 ) 80a0b04: fba3 1302 umull r1, r3, r3, r2 80a0b08: 099b lsrs r3, r3, #6 80a0b0a: f44f 717a mov.w r1, #1000 ; 0x3e8 80a0b0e: fb01 f303 mul.w r3, r1, r3 80a0b12: 1ad3 subs r3, r2, r3 80a0b14: 4a6b ldr r2, [pc, #428] ; (80a0cc4 ) 80a0b16: fba2 1203 umull r1, r2, r2, r3 80a0b1a: 0952 lsrs r2, r2, #5 80a0b1c: 2164 movs r1, #100 ; 0x64 80a0b1e: fb01 f202 mul.w r2, r1, r2 80a0b22: 1a9a subs r2, r3, r2 80a0b24: 4b68 ldr r3, [pc, #416] ; (80a0cc8 ) 80a0b26: fba3 1302 umull r1, r3, r3, r2 80a0b2a: 08d9 lsrs r1, r3, #3 80a0b2c: 460b mov r3, r1 80a0b2e: 009b lsls r3, r3, #2 80a0b30: 440b add r3, r1 80a0b32: 005b lsls r3, r3, #1 80a0b34: 1ad1 subs r1, r2, r3 80a0b36: b2ca uxtb r2, r1 80a0b38: 4603 mov r3, r0 80a0b3a: 009b lsls r3, r3, #2 80a0b3c: 4403 add r3, r0 80a0b3e: f107 0168 add.w r1, r7, #104 ; 0x68 80a0b42: 440b add r3, r1 80a0b44: 3b30 subs r3, #48 ; 0x30 80a0b46: 701a strb r2, [r3, #0] if(ipr == ACC) 80a0b48: 6d3b ldr r3, [r7, #80] ; 0x50 80a0b4a: 2b00 cmp r3, #0 80a0b4c: f040 80ca bne.w 80a0ce4 if(!t) 80a0b50: 6d7b ldr r3, [r7, #84] ; 0x54 80a0b52: 2b00 cmp r3, #0 80a0b54: d126 bne.n 80a0ba4 for(i = 0; i < 5; i++) 80a0b56: 2300 movs r3, #0 80a0b58: 65fb str r3, [r7, #92] ; 0x5c 80a0b5a: e01f b.n 80a0b9c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a0b5c: 6d3a ldr r2, [r7, #80] ; 0x50 80a0b5e: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0b60: 4613 mov r3, r2 80a0b62: 009b lsls r3, r3, #2 80a0b64: 4413 add r3, r2 80a0b66: f107 0268 add.w r2, r7, #104 ; 0x68 80a0b6a: 4413 add r3, r2 80a0b6c: 440b add r3, r1 80a0b6e: 3b34 subs r3, #52 ; 0x34 80a0b70: 781b ldrb r3, [r3, #0] 80a0b72: b2db uxtb r3, r3 80a0b74: 461a mov r2, r3 80a0b76: 4b55 ldr r3, [pc, #340] ; (80a0ccc ) 80a0b78: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0b7c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0b7e: b29b uxth r3, r3 80a0b80: 461a mov r2, r3 80a0b82: 0112 lsls r2, r2, #4 80a0b84: 1ad3 subs r3, r2, r3 80a0b86: 005b lsls r3, r3, #1 80a0b88: b29b uxth r3, r3 80a0b8a: 335a adds r3, #90 ; 0x5a 80a0b8c: b29b uxth r3, r3 80a0b8e: 2256 movs r2, #86 ; 0x56 80a0b90: 4619 mov r1, r3 80a0b92: f7b3 fd1b bl 80545cc for(i = 0; i < 5; i++) 80a0b96: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0b98: 3301 adds r3, #1 80a0b9a: 65fb str r3, [r7, #92] ; 0x5c 80a0b9c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0b9e: 2b04 cmp r3, #4 80a0ba0: d9dc bls.n 80a0b5c 80a0ba2: e05a b.n 80a0c5a for(i = 0; i < t; i++) 80a0ba4: 2300 movs r3, #0 80a0ba6: 65fb str r3, [r7, #92] ; 0x5c 80a0ba8: e01f b.n 80a0bea DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a0baa: 6d3a ldr r2, [r7, #80] ; 0x50 80a0bac: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0bae: 4613 mov r3, r2 80a0bb0: 009b lsls r3, r3, #2 80a0bb2: 4413 add r3, r2 80a0bb4: f107 0268 add.w r2, r7, #104 ; 0x68 80a0bb8: 4413 add r3, r2 80a0bba: 440b add r3, r1 80a0bbc: 3b34 subs r3, #52 ; 0x34 80a0bbe: 781b ldrb r3, [r3, #0] 80a0bc0: b2db uxtb r3, r3 80a0bc2: 461a mov r2, r3 80a0bc4: 4b41 ldr r3, [pc, #260] ; (80a0ccc ) 80a0bc6: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0bca: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0bcc: b29b uxth r3, r3 80a0bce: 461a mov r2, r3 80a0bd0: 0112 lsls r2, r2, #4 80a0bd2: 1ad3 subs r3, r2, r3 80a0bd4: 005b lsls r3, r3, #1 80a0bd6: b29b uxth r3, r3 80a0bd8: 335a adds r3, #90 ; 0x5a 80a0bda: b29b uxth r3, r3 80a0bdc: 2256 movs r2, #86 ; 0x56 80a0bde: 4619 mov r1, r3 80a0be0: f7b3 fcf4 bl 80545cc for(i = 0; i < t; i++) 80a0be4: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0be6: 3301 adds r3, #1 80a0be8: 65fb str r3, [r7, #92] ; 0x5c 80a0bea: 6dfa ldr r2, [r7, #92] ; 0x5c 80a0bec: 6d7b ldr r3, [r7, #84] ; 0x54 80a0bee: 429a cmp r2, r3 80a0bf0: d3db bcc.n 80a0baa DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a0bf2: 6d7b ldr r3, [r7, #84] ; 0x54 80a0bf4: b29b uxth r3, r3 80a0bf6: 461a mov r2, r3 80a0bf8: 0112 lsls r2, r2, #4 80a0bfa: 1ad3 subs r3, r2, r3 80a0bfc: 005b lsls r3, r3, #1 80a0bfe: b29b uxth r3, r3 80a0c00: 335f adds r3, #95 ; 0x5f 80a0c02: b29b uxth r3, r3 80a0c04: 226e movs r2, #110 ; 0x6e 80a0c06: 4619 mov r1, r3 80a0c08: 4831 ldr r0, [pc, #196] ; (80a0cd0 ) 80a0c0a: f7b3 fcdf bl 80545cc for(i = t; i < 5; i++) 80a0c0e: 6d7b ldr r3, [r7, #84] ; 0x54 80a0c10: 65fb str r3, [r7, #92] ; 0x5c 80a0c12: e01f b.n 80a0c54 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a0c14: 6d3a ldr r2, [r7, #80] ; 0x50 80a0c16: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0c18: 4613 mov r3, r2 80a0c1a: 009b lsls r3, r3, #2 80a0c1c: 4413 add r3, r2 80a0c1e: f107 0268 add.w r2, r7, #104 ; 0x68 80a0c22: 4413 add r3, r2 80a0c24: 440b add r3, r1 80a0c26: 3b34 subs r3, #52 ; 0x34 80a0c28: 781b ldrb r3, [r3, #0] 80a0c2a: b2db uxtb r3, r3 80a0c2c: 461a mov r2, r3 80a0c2e: 4b27 ldr r3, [pc, #156] ; (80a0ccc ) 80a0c30: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0c34: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0c36: b29b uxth r3, r3 80a0c38: 461a mov r2, r3 80a0c3a: 0112 lsls r2, r2, #4 80a0c3c: 1ad3 subs r3, r2, r3 80a0c3e: 005b lsls r3, r3, #1 80a0c40: b29b uxth r3, r3 80a0c42: 336e adds r3, #110 ; 0x6e 80a0c44: b29b uxth r3, r3 80a0c46: 2256 movs r2, #86 ; 0x56 80a0c48: 4619 mov r1, r3 80a0c4a: f7b3 fcbf bl 80545cc for(i = t; i < 5; i++) 80a0c4e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0c50: 3301 adds r3, #1 80a0c52: 65fb str r3, [r7, #92] ; 0x5c 80a0c54: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0c56: 2b04 cmp r3, #4 80a0c58: d9dc bls.n 80a0c14 if(ReadFileData.Aivs < 'E') 80a0c5a: 4b1e ldr r3, [pc, #120] ; (80a0cd4 ) 80a0c5c: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a0c60: b2db uxtb r3, r3 80a0c62: 2b44 cmp r3, #68 ; 0x44 80a0c64: d80c bhi.n 80a0c80 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a0c66: 4b1c ldr r3, [pc, #112] ; (80a0cd8 ) 80a0c68: 7b1b ldrb r3, [r3, #12] 80a0c6a: b2db uxtb r3, r3 80a0c6c: 461a mov r2, r3 80a0c6e: 4b1b ldr r3, [pc, #108] ; (80a0cdc ) 80a0c70: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0c74: 225c movs r2, #92 ; 0x5c 80a0c76: f240 1109 movw r1, #265 ; 0x109 80a0c7a: 4618 mov r0, r3 80a0c7c: f7b3 fca6 bl 80545cc if(ReadFileData.Aivs == 'E') 80a0c80: 4b14 ldr r3, [pc, #80] ; (80a0cd4 ) 80a0c82: f893 302c ldrb.w r3, [r3, #44] ; 0x2c 80a0c86: b2db uxtb r3, r3 80a0c88: 2b45 cmp r3, #69 ; 0x45 80a0c8a: f040 860c bne.w 80a18a6 if(ReadFileData.Aval.fl < 0.0f) { 80a0c8e: 4b11 ldr r3, [pc, #68] ; (80a0cd4 ) 80a0c90: edd3 7a00 vldr s15, [r3] 80a0c94: eef5 7ac0 vcmpe.f32 s15, #0.0 80a0c98: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0c9c: f140 8603 bpl.w 80a18a6 DrawImage(&bmgminus, 78, 84+18); 80a0ca0: 2266 movs r2, #102 ; 0x66 80a0ca2: 214e movs r1, #78 ; 0x4e 80a0ca4: 480e ldr r0, [pc, #56] ; (80a0ce0 ) 80a0ca6: f7b3 fc91 bl 80545cc 80a0caa: f000 bdfc b.w 80a18a6 80a0cae: bf00 nop 80a0cb0: 0001869f .word 0x0001869f 80a0cb4: 4cbebc20 .word 0x4cbebc20 80a0cb8: 47c34f80 .word 0x47c34f80 80a0cbc: d1b71759 .word 0xd1b71759 80a0cc0: 10624dd3 .word 0x10624dd3 80a0cc4: 51eb851f .word 0x51eb851f 80a0cc8: cccccccd .word 0xcccccccd 80a0ccc: 20020124 .word 0x20020124 80a0cd0: 08167a54 .word 0x08167a54 80a0cd4: 200226a0 .word 0x200226a0 80a0cd8: 20023e60 .word 0x20023e60 80a0cdc: 200200f4 .word 0x200200f4 80a0ce0: 081679c8 .word 0x081679c8 if(ipr == VEL) 80a0ce4: 6d3b ldr r3, [r7, #80] ; 0x50 80a0ce6: 2b01 cmp r3, #1 80a0ce8: f040 80d1 bne.w 80a0e8e if(ReadFileData.Vval.fl != -1.0f) 80a0cec: 4ba0 ldr r3, [pc, #640] ; (80a0f70 ) 80a0cee: edd3 7a01 vldr s15, [r3, #4] 80a0cf2: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a0cf6: eef4 7a47 vcmp.f32 s15, s14 80a0cfa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0cfe: f000 80af beq.w 80a0e60 if(!t) 80a0d02: 6d7b ldr r3, [r7, #84] ; 0x54 80a0d04: 2b00 cmp r3, #0 80a0d06: d126 bne.n 80a0d56 for(i = 0; i < 5; i++) 80a0d08: 2300 movs r3, #0 80a0d0a: 65fb str r3, [r7, #92] ; 0x5c 80a0d0c: e01f b.n 80a0d4e DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a0d0e: 6d3a ldr r2, [r7, #80] ; 0x50 80a0d10: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0d12: 4613 mov r3, r2 80a0d14: 009b lsls r3, r3, #2 80a0d16: 4413 add r3, r2 80a0d18: f107 0268 add.w r2, r7, #104 ; 0x68 80a0d1c: 4413 add r3, r2 80a0d1e: 440b add r3, r1 80a0d20: 3b34 subs r3, #52 ; 0x34 80a0d22: 781b ldrb r3, [r3, #0] 80a0d24: b2db uxtb r3, r3 80a0d26: 461a mov r2, r3 80a0d28: 4b92 ldr r3, [pc, #584] ; (80a0f74 ) 80a0d2a: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0d2e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0d30: b29b uxth r3, r3 80a0d32: 461a mov r2, r3 80a0d34: 0112 lsls r2, r2, #4 80a0d36: 1ad3 subs r3, r2, r3 80a0d38: 005b lsls r3, r3, #1 80a0d3a: b29b uxth r3, r3 80a0d3c: 335a adds r3, #90 ; 0x5a 80a0d3e: b29b uxth r3, r3 80a0d40: 2282 movs r2, #130 ; 0x82 80a0d42: 4619 mov r1, r3 80a0d44: f7b3 fc42 bl 80545cc for(i = 0; i < 5; i++) 80a0d48: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0d4a: 3301 adds r3, #1 80a0d4c: 65fb str r3, [r7, #92] ; 0x5c 80a0d4e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0d50: 2b04 cmp r3, #4 80a0d52: d9dc bls.n 80a0d0e 80a0d54: e05a b.n 80a0e0c for(i = 0; i < t; i++) 80a0d56: 2300 movs r3, #0 80a0d58: 65fb str r3, [r7, #92] ; 0x5c 80a0d5a: e01f b.n 80a0d9c DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a0d5c: 6d3a ldr r2, [r7, #80] ; 0x50 80a0d5e: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0d60: 4613 mov r3, r2 80a0d62: 009b lsls r3, r3, #2 80a0d64: 4413 add r3, r2 80a0d66: f107 0268 add.w r2, r7, #104 ; 0x68 80a0d6a: 4413 add r3, r2 80a0d6c: 440b add r3, r1 80a0d6e: 3b34 subs r3, #52 ; 0x34 80a0d70: 781b ldrb r3, [r3, #0] 80a0d72: b2db uxtb r3, r3 80a0d74: 461a mov r2, r3 80a0d76: 4b7f ldr r3, [pc, #508] ; (80a0f74 ) 80a0d78: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0d7c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0d7e: b29b uxth r3, r3 80a0d80: 461a mov r2, r3 80a0d82: 0112 lsls r2, r2, #4 80a0d84: 1ad3 subs r3, r2, r3 80a0d86: 005b lsls r3, r3, #1 80a0d88: b29b uxth r3, r3 80a0d8a: 335a adds r3, #90 ; 0x5a 80a0d8c: b29b uxth r3, r3 80a0d8e: 2282 movs r2, #130 ; 0x82 80a0d90: 4619 mov r1, r3 80a0d92: f7b3 fc1b bl 80545cc for(i = 0; i < t; i++) 80a0d96: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0d98: 3301 adds r3, #1 80a0d9a: 65fb str r3, [r7, #92] ; 0x5c 80a0d9c: 6dfa ldr r2, [r7, #92] ; 0x5c 80a0d9e: 6d7b ldr r3, [r7, #84] ; 0x54 80a0da0: 429a cmp r2, r3 80a0da2: d3db bcc.n 80a0d5c DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a0da4: 6d7b ldr r3, [r7, #84] ; 0x54 80a0da6: b29b uxth r3, r3 80a0da8: 461a mov r2, r3 80a0daa: 0112 lsls r2, r2, #4 80a0dac: 1ad3 subs r3, r2, r3 80a0dae: 005b lsls r3, r3, #1 80a0db0: b29b uxth r3, r3 80a0db2: 335f adds r3, #95 ; 0x5f 80a0db4: b29b uxth r3, r3 80a0db6: 229a movs r2, #154 ; 0x9a 80a0db8: 4619 mov r1, r3 80a0dba: 486f ldr r0, [pc, #444] ; (80a0f78 ) 80a0dbc: f7b3 fc06 bl 80545cc for(i = t; i < 5; i++) 80a0dc0: 6d7b ldr r3, [r7, #84] ; 0x54 80a0dc2: 65fb str r3, [r7, #92] ; 0x5c 80a0dc4: e01f b.n 80a0e06 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a0dc6: 6d3a ldr r2, [r7, #80] ; 0x50 80a0dc8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0dca: 4613 mov r3, r2 80a0dcc: 009b lsls r3, r3, #2 80a0dce: 4413 add r3, r2 80a0dd0: f107 0268 add.w r2, r7, #104 ; 0x68 80a0dd4: 4413 add r3, r2 80a0dd6: 440b add r3, r1 80a0dd8: 3b34 subs r3, #52 ; 0x34 80a0dda: 781b ldrb r3, [r3, #0] 80a0ddc: b2db uxtb r3, r3 80a0dde: 461a mov r2, r3 80a0de0: 4b64 ldr r3, [pc, #400] ; (80a0f74 ) 80a0de2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0de6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0de8: b29b uxth r3, r3 80a0dea: 461a mov r2, r3 80a0dec: 0112 lsls r2, r2, #4 80a0dee: 1ad3 subs r3, r2, r3 80a0df0: 005b lsls r3, r3, #1 80a0df2: b29b uxth r3, r3 80a0df4: 336e adds r3, #110 ; 0x6e 80a0df6: b29b uxth r3, r3 80a0df8: 2282 movs r2, #130 ; 0x82 80a0dfa: 4619 mov r1, r3 80a0dfc: f7b3 fbe6 bl 80545cc for(i = t; i < 5; i++) 80a0e00: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0e02: 3301 adds r3, #1 80a0e04: 65fb str r3, [r7, #92] ; 0x5c 80a0e06: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0e08: 2b04 cmp r3, #4 80a0e0a: d9dc bls.n 80a0dc6 if(ReadFileData.Vivs < 'E') 80a0e0c: 4b58 ldr r3, [pc, #352] ; (80a0f70 ) 80a0e0e: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a0e12: b2db uxtb r3, r3 80a0e14: 2b44 cmp r3, #68 ; 0x44 80a0e16: d80c bhi.n 80a0e32 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a0e18: 4b58 ldr r3, [pc, #352] ; (80a0f7c ) 80a0e1a: 7b1b ldrb r3, [r3, #12] 80a0e1c: b2db uxtb r3, r3 80a0e1e: 461a mov r2, r3 80a0e20: 4b57 ldr r3, [pc, #348] ; (80a0f80 ) 80a0e22: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0e26: 2289 movs r2, #137 ; 0x89 80a0e28: f240 1109 movw r1, #265 ; 0x109 80a0e2c: 4618 mov r0, r3 80a0e2e: f7b3 fbcd bl 80545cc if(ReadFileData.Vivs == 'E') 80a0e32: 4b4f ldr r3, [pc, #316] ; (80a0f70 ) 80a0e34: f893 302d ldrb.w r3, [r3, #45] ; 0x2d 80a0e38: b2db uxtb r3, r3 80a0e3a: 2b45 cmp r3, #69 ; 0x45 80a0e3c: f040 8533 bne.w 80a18a6 if(ReadFileData.Vval.fl < 0.0f) { 80a0e40: 4b4b ldr r3, [pc, #300] ; (80a0f70 ) 80a0e42: edd3 7a01 vldr s15, [r3, #4] 80a0e46: eef5 7ac0 vcmpe.f32 s15, #0.0 80a0e4a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0e4e: f140 852a bpl.w 80a18a6 DrawImage(&bmgminus, 78, 138+9); 80a0e52: 2293 movs r2, #147 ; 0x93 80a0e54: 214e movs r1, #78 ; 0x4e 80a0e56: 484b ldr r0, [pc, #300] ; (80a0f84 ) 80a0e58: f7b3 fbb8 bl 80545cc 80a0e5c: f000 bd23 b.w 80a18a6 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a0e60: 4949 ldr r1, [pc, #292] ; (80a0f88 ) 80a0e62: 484a ldr r0, [pc, #296] ; (80a0f8c ) 80a0e64: f7b2 fcbe bl 80537e4 if(pardata.LANG == RUS) 80a0e68: 4b44 ldr r3, [pc, #272] ; (80a0f7c ) 80a0e6a: 7b1b ldrb r3, [r3, #12] 80a0e6c: b2db uxtb r3, r3 80a0e6e: 2b00 cmp r3, #0 80a0e70: d106 bne.n 80a0e80 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a0e72: 4a47 ldr r2, [pc, #284] ; (80a0f90 ) 80a0e74: 2187 movs r1, #135 ; 0x87 80a0e76: 20a7 movs r0, #167 ; 0xa7 80a0e78: f7b3 fa74 bl 8054364 80a0e7c: f000 bd13 b.w 80a18a6 else LCD_DisplayStringC(167, 135, "NO DATA"); 80a0e80: 4a44 ldr r2, [pc, #272] ; (80a0f94 ) 80a0e82: 2187 movs r1, #135 ; 0x87 80a0e84: 20a7 movs r0, #167 ; 0xa7 80a0e86: f7b3 fa6d bl 8054364 80a0e8a: f000 bd0c b.w 80a18a6 if(ipr == DIS) 80a0e8e: 6d3b ldr r3, [r7, #80] ; 0x50 80a0e90: 2b02 cmp r3, #2 80a0e92: f040 8508 bne.w 80a18a6 if(ReadFileData.Sval.fl != -1.0f) 80a0e96: 4b36 ldr r3, [pc, #216] ; (80a0f70 ) 80a0e98: edd3 7a02 vldr s15, [r3, #8] 80a0e9c: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a0ea0: eef4 7a47 vcmp.f32 s15, s14 80a0ea4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a0ea8: f000 80d4 beq.w 80a1054 if(!t) 80a0eac: 6d7b ldr r3, [r7, #84] ; 0x54 80a0eae: 2b00 cmp r3, #0 80a0eb0: d126 bne.n 80a0f00 for(i = 0; i < 5; i++) 80a0eb2: 2300 movs r3, #0 80a0eb4: 65fb str r3, [r7, #92] ; 0x5c 80a0eb6: e01f b.n 80a0ef8 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a0eb8: 6d3a ldr r2, [r7, #80] ; 0x50 80a0eba: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0ebc: 4613 mov r3, r2 80a0ebe: 009b lsls r3, r3, #2 80a0ec0: 4413 add r3, r2 80a0ec2: f107 0268 add.w r2, r7, #104 ; 0x68 80a0ec6: 4413 add r3, r2 80a0ec8: 440b add r3, r1 80a0eca: 3b34 subs r3, #52 ; 0x34 80a0ecc: 781b ldrb r3, [r3, #0] 80a0ece: b2db uxtb r3, r3 80a0ed0: 461a mov r2, r3 80a0ed2: 4b28 ldr r3, [pc, #160] ; (80a0f74 ) 80a0ed4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0ed8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0eda: b29b uxth r3, r3 80a0edc: 461a mov r2, r3 80a0ede: 0112 lsls r2, r2, #4 80a0ee0: 1ad3 subs r3, r2, r3 80a0ee2: 005b lsls r3, r3, #1 80a0ee4: b29b uxth r3, r3 80a0ee6: 335a adds r3, #90 ; 0x5a 80a0ee8: b29b uxth r3, r3 80a0eea: 22ae movs r2, #174 ; 0xae 80a0eec: 4619 mov r1, r3 80a0eee: f7b3 fb6d bl 80545cc for(i = 0; i < 5; i++) 80a0ef2: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0ef4: 3301 adds r3, #1 80a0ef6: 65fb str r3, [r7, #92] ; 0x5c 80a0ef8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0efa: 2b04 cmp r3, #4 80a0efc: d9dc bls.n 80a0eb8 80a0efe: e06e b.n 80a0fde for(i = 0; i < t; i++) 80a0f00: 2300 movs r3, #0 80a0f02: 65fb str r3, [r7, #92] ; 0x5c 80a0f04: e01f b.n 80a0f46 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a0f06: 6d3a ldr r2, [r7, #80] ; 0x50 80a0f08: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0f0a: 4613 mov r3, r2 80a0f0c: 009b lsls r3, r3, #2 80a0f0e: 4413 add r3, r2 80a0f10: f107 0268 add.w r2, r7, #104 ; 0x68 80a0f14: 4413 add r3, r2 80a0f16: 440b add r3, r1 80a0f18: 3b34 subs r3, #52 ; 0x34 80a0f1a: 781b ldrb r3, [r3, #0] 80a0f1c: b2db uxtb r3, r3 80a0f1e: 461a mov r2, r3 80a0f20: 4b14 ldr r3, [pc, #80] ; (80a0f74 ) 80a0f22: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0f26: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0f28: b29b uxth r3, r3 80a0f2a: 461a mov r2, r3 80a0f2c: 0112 lsls r2, r2, #4 80a0f2e: 1ad3 subs r3, r2, r3 80a0f30: 005b lsls r3, r3, #1 80a0f32: b29b uxth r3, r3 80a0f34: 335a adds r3, #90 ; 0x5a 80a0f36: b29b uxth r3, r3 80a0f38: 22ae movs r2, #174 ; 0xae 80a0f3a: 4619 mov r1, r3 80a0f3c: f7b3 fb46 bl 80545cc for(i = 0; i < t; i++) 80a0f40: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0f42: 3301 adds r3, #1 80a0f44: 65fb str r3, [r7, #92] ; 0x5c 80a0f46: 6dfa ldr r2, [r7, #92] ; 0x5c 80a0f48: 6d7b ldr r3, [r7, #84] ; 0x54 80a0f4a: 429a cmp r2, r3 80a0f4c: d3db bcc.n 80a0f06 DrawImage(&bmgpt, 95 + 30*t, 198); 80a0f4e: 6d7b ldr r3, [r7, #84] ; 0x54 80a0f50: b29b uxth r3, r3 80a0f52: 461a mov r2, r3 80a0f54: 0112 lsls r2, r2, #4 80a0f56: 1ad3 subs r3, r2, r3 80a0f58: 005b lsls r3, r3, #1 80a0f5a: b29b uxth r3, r3 80a0f5c: 335f adds r3, #95 ; 0x5f 80a0f5e: b29b uxth r3, r3 80a0f60: 22c6 movs r2, #198 ; 0xc6 80a0f62: 4619 mov r1, r3 80a0f64: 4804 ldr r0, [pc, #16] ; (80a0f78 ) 80a0f66: f7b3 fb31 bl 80545cc for(i = t; i < 5; i++) 80a0f6a: 6d7b ldr r3, [r7, #84] ; 0x54 80a0f6c: 65fb str r3, [r7, #92] ; 0x5c 80a0f6e: e033 b.n 80a0fd8 80a0f70: 200226a0 .word 0x200226a0 80a0f74: 20020124 .word 0x20020124 80a0f78: 08167a54 .word 0x08167a54 80a0f7c: 20023e60 .word 0x20023e60 80a0f80: 200200fc .word 0x200200fc 80a0f84: 081679c8 .word 0x081679c8 80a0f88: ff0a0f1f .word 0xff0a0f1f 80a0f8c: ffb8e828 .word 0xffb8e828 80a0f90: 080cfb2c .word 0x080cfb2c 80a0f94: 080cfb38 .word 0x080cfb38 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a0f98: 6d3a ldr r2, [r7, #80] ; 0x50 80a0f9a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a0f9c: 4613 mov r3, r2 80a0f9e: 009b lsls r3, r3, #2 80a0fa0: 4413 add r3, r2 80a0fa2: f107 0268 add.w r2, r7, #104 ; 0x68 80a0fa6: 4413 add r3, r2 80a0fa8: 440b add r3, r1 80a0faa: 3b34 subs r3, #52 ; 0x34 80a0fac: 781b ldrb r3, [r3, #0] 80a0fae: b2db uxtb r3, r3 80a0fb0: 461a mov r2, r3 80a0fb2: 4bae ldr r3, [pc, #696] ; (80a126c ) 80a0fb4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a0fb8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0fba: b29b uxth r3, r3 80a0fbc: 461a mov r2, r3 80a0fbe: 0112 lsls r2, r2, #4 80a0fc0: 1ad3 subs r3, r2, r3 80a0fc2: 005b lsls r3, r3, #1 80a0fc4: b29b uxth r3, r3 80a0fc6: 336e adds r3, #110 ; 0x6e 80a0fc8: b29b uxth r3, r3 80a0fca: 22ae movs r2, #174 ; 0xae 80a0fcc: 4619 mov r1, r3 80a0fce: f7b3 fafd bl 80545cc for(i = t; i < 5; i++) 80a0fd2: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0fd4: 3301 adds r3, #1 80a0fd6: 65fb str r3, [r7, #92] ; 0x5c 80a0fd8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a0fda: 2b04 cmp r3, #4 80a0fdc: d9dc bls.n 80a0f98 if(ReadFileData.Sivs < 'E') 80a0fde: 4ba4 ldr r3, [pc, #656] ; (80a1270 ) 80a0fe0: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a0fe4: b2db uxtb r3, r3 80a0fe6: 2b44 cmp r3, #68 ; 0x44 80a0fe8: d81d bhi.n 80a1026 if(m == 0) 80a0fea: 6cfb ldr r3, [r7, #76] ; 0x4c 80a0fec: 2b00 cmp r3, #0 80a0fee: d10d bne.n 80a100c DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a0ff0: 4ba0 ldr r3, [pc, #640] ; (80a1274 ) 80a0ff2: 7b1b ldrb r3, [r3, #12] 80a0ff4: b2db uxtb r3, r3 80a0ff6: 461a mov r2, r3 80a0ff8: 4b9f ldr r3, [pc, #636] ; (80a1278 ) 80a0ffa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a0ffe: 22b4 movs r2, #180 ; 0xb4 80a1000: f240 1109 movw r1, #265 ; 0x109 80a1004: 4618 mov r0, r3 80a1006: f7b3 fae1 bl 80545cc 80a100a: e00c b.n 80a1026 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a100c: 4b99 ldr r3, [pc, #612] ; (80a1274 ) 80a100e: 7b1b ldrb r3, [r3, #12] 80a1010: b2db uxtb r3, r3 80a1012: 461a mov r2, r3 80a1014: 4b99 ldr r3, [pc, #612] ; (80a127c ) 80a1016: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a101a: 22b4 movs r2, #180 ; 0xb4 80a101c: f240 1109 movw r1, #265 ; 0x109 80a1020: 4618 mov r0, r3 80a1022: f7b3 fad3 bl 80545cc if(ReadFileData.Sivs == 'E') 80a1026: 4b92 ldr r3, [pc, #584] ; (80a1270 ) 80a1028: f893 302e ldrb.w r3, [r3, #46] ; 0x2e 80a102c: b2db uxtb r3, r3 80a102e: 2b45 cmp r3, #69 ; 0x45 80a1030: f040 8439 bne.w 80a18a6 if(ReadFileData.Sval.fl < 0.0f) { 80a1034: 4b8e ldr r3, [pc, #568] ; (80a1270 ) 80a1036: edd3 7a02 vldr s15, [r3, #8] 80a103a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a103e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1042: f140 8430 bpl.w 80a18a6 DrawImage(&bmgminus, 78, 190); 80a1046: 22be movs r2, #190 ; 0xbe 80a1048: 214e movs r1, #78 ; 0x4e 80a104a: 488d ldr r0, [pc, #564] ; (80a1280 ) 80a104c: f7b3 fabe bl 80545cc 80a1050: f000 bc29 b.w 80a18a6 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a1054: 498b ldr r1, [pc, #556] ; (80a1284 ) 80a1056: 488c ldr r0, [pc, #560] ; (80a1288 ) 80a1058: f7b2 fbc4 bl 80537e4 if(pardata.LANG == RUS) 80a105c: 4b85 ldr r3, [pc, #532] ; (80a1274 ) 80a105e: 7b1b ldrb r3, [r3, #12] 80a1060: b2db uxtb r3, r3 80a1062: 2b00 cmp r3, #0 80a1064: d106 bne.n 80a1074 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a1066: 4a89 ldr r2, [pc, #548] ; (80a128c ) 80a1068: 21b9 movs r1, #185 ; 0xb9 80a106a: 20a7 movs r0, #167 ; 0xa7 80a106c: f7b3 f97a bl 8054364 80a1070: f000 bc19 b.w 80a18a6 else LCD_DisplayStringC(167, 185, "NO DATA"); 80a1074: 4a86 ldr r2, [pc, #536] ; (80a1290 ) 80a1076: 21b9 movs r1, #185 ; 0xb9 80a1078: 20a7 movs r0, #167 ; 0xa7 80a107a: f7b3 f973 bl 8054364 80a107e: f000 bc12 b.w 80a18a6 if(f != -1.0f) 80a1082: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1086: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a108a: eef4 7a47 vcmp.f32 s15, s14 80a108e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1092: f000 83c2 beq.w 80a181a LinToLog(&f, &f); 80a1096: f107 0244 add.w r2, r7, #68 ; 0x44 80a109a: f107 0344 add.w r3, r7, #68 ; 0x44 80a109e: 4611 mov r1, r2 80a10a0: 4618 mov r0, r3 80a10a2: f7c3 ff1d bl 8064ee0 k = (uint32_t) (roundf(f * 10 + 0.5f)); 80a10a6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a10aa: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a10ae: ee67 7a87 vmul.f32 s15, s15, s14 80a10b2: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a10b6: ee77 7a87 vadd.f32 s15, s15, s14 80a10ba: eeb0 0a67 vmov.f32 s0, s15 80a10be: f029 fde1 bl 80cac84 80a10c2: eef0 7a40 vmov.f32 s15, s0 80a10c6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a10ca: ee17 3a90 vmov r3, s15 80a10ce: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 80a10d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a10d4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a10d8: eef4 7ac7 vcmpe.f32 s15, s14 80a10dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a10e0: f140 80e0 bpl.w 80a12a4 ik[ipr][0] = (uint8_t) (k / 10); 80a10e4: 6d3a ldr r2, [r7, #80] ; 0x50 80a10e6: 6dbb ldr r3, [r7, #88] ; 0x58 80a10e8: 496a ldr r1, [pc, #424] ; (80a1294 ) 80a10ea: fba1 1303 umull r1, r3, r1, r3 80a10ee: 08db lsrs r3, r3, #3 80a10f0: b2d9 uxtb r1, r3 80a10f2: 4613 mov r3, r2 80a10f4: 009b lsls r3, r3, #2 80a10f6: 4413 add r3, r2 80a10f8: f107 0268 add.w r2, r7, #104 ; 0x68 80a10fc: 4413 add r3, r2 80a10fe: 3b34 subs r3, #52 ; 0x34 80a1100: 460a mov r2, r1 80a1102: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 80a1104: 6d38 ldr r0, [r7, #80] ; 0x50 80a1106: 6db9 ldr r1, [r7, #88] ; 0x58 80a1108: 4b62 ldr r3, [pc, #392] ; (80a1294 ) 80a110a: fba3 2301 umull r2, r3, r3, r1 80a110e: 08da lsrs r2, r3, #3 80a1110: 4613 mov r3, r2 80a1112: 009b lsls r3, r3, #2 80a1114: 4413 add r3, r2 80a1116: 005b lsls r3, r3, #1 80a1118: 1aca subs r2, r1, r3 80a111a: b2d2 uxtb r2, r2 80a111c: 4603 mov r3, r0 80a111e: 009b lsls r3, r3, #2 80a1120: 4403 add r3, r0 80a1122: f107 0168 add.w r1, r7, #104 ; 0x68 80a1126: 440b add r3, r1 80a1128: 3b33 subs r3, #51 ; 0x33 80a112a: 701a strb r2, [r3, #0] if(ipr == ACC) 80a112c: 6d3b ldr r3, [r7, #80] ; 0x50 80a112e: 2b00 cmp r3, #0 80a1130: d131 bne.n 80a1196 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 80a1132: 6d3a ldr r2, [r7, #80] ; 0x50 80a1134: 4613 mov r3, r2 80a1136: 009b lsls r3, r3, #2 80a1138: 4413 add r3, r2 80a113a: f107 0268 add.w r2, r7, #104 ; 0x68 80a113e: 4413 add r3, r2 80a1140: 3b33 subs r3, #51 ; 0x33 80a1142: 781b ldrb r3, [r3, #0] 80a1144: b2db uxtb r3, r3 80a1146: 461a mov r2, r3 80a1148: 4b48 ldr r3, [pc, #288] ; (80a126c ) 80a114a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a114e: 2256 movs r2, #86 ; 0x56 80a1150: 21e6 movs r1, #230 ; 0xe6 80a1152: 4618 mov r0, r3 80a1154: f7b3 fa3a bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a1158: 226e movs r2, #110 ; 0x6e 80a115a: 21d7 movs r1, #215 ; 0xd7 80a115c: 484e ldr r0, [pc, #312] ; (80a1298 ) 80a115e: f7b3 fa35 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 80a1162: 6d3a ldr r2, [r7, #80] ; 0x50 80a1164: 4613 mov r3, r2 80a1166: 009b lsls r3, r3, #2 80a1168: 4413 add r3, r2 80a116a: f107 0268 add.w r2, r7, #104 ; 0x68 80a116e: 4413 add r3, r2 80a1170: 3b34 subs r3, #52 ; 0x34 80a1172: 781b ldrb r3, [r3, #0] 80a1174: b2db uxtb r3, r3 80a1176: 461a mov r2, r3 80a1178: 4b3c ldr r3, [pc, #240] ; (80a126c ) 80a117a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a117e: 2256 movs r2, #86 ; 0x56 80a1180: 21b4 movs r1, #180 ; 0xb4 80a1182: 4618 mov r0, r3 80a1184: f7b3 fa22 bl 80545cc DrawImage(&bmg_dB, 265, 74+18); 80a1188: 225c movs r2, #92 ; 0x5c 80a118a: f240 1109 movw r1, #265 ; 0x109 80a118e: 4843 ldr r0, [pc, #268] ; (80a129c ) 80a1190: f7b3 fa1c bl 80545cc 80a1194: e387 b.n 80a18a6 if(ipr == VEL) 80a1196: 6d3b ldr r3, [r7, #80] ; 0x50 80a1198: 2b01 cmp r3, #1 80a119a: d131 bne.n 80a1200 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 80a119c: 6d3a ldr r2, [r7, #80] ; 0x50 80a119e: 4613 mov r3, r2 80a11a0: 009b lsls r3, r3, #2 80a11a2: 4413 add r3, r2 80a11a4: f107 0268 add.w r2, r7, #104 ; 0x68 80a11a8: 4413 add r3, r2 80a11aa: 3b33 subs r3, #51 ; 0x33 80a11ac: 781b ldrb r3, [r3, #0] 80a11ae: b2db uxtb r3, r3 80a11b0: 461a mov r2, r3 80a11b2: 4b2e ldr r3, [pc, #184] ; (80a126c ) 80a11b4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a11b8: 2282 movs r2, #130 ; 0x82 80a11ba: 21e6 movs r1, #230 ; 0xe6 80a11bc: 4618 mov r0, r3 80a11be: f7b3 fa05 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a11c2: 229a movs r2, #154 ; 0x9a 80a11c4: 21d7 movs r1, #215 ; 0xd7 80a11c6: 4834 ldr r0, [pc, #208] ; (80a1298 ) 80a11c8: f7b3 fa00 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 80a11cc: 6d3a ldr r2, [r7, #80] ; 0x50 80a11ce: 4613 mov r3, r2 80a11d0: 009b lsls r3, r3, #2 80a11d2: 4413 add r3, r2 80a11d4: f107 0268 add.w r2, r7, #104 ; 0x68 80a11d8: 4413 add r3, r2 80a11da: 3b34 subs r3, #52 ; 0x34 80a11dc: 781b ldrb r3, [r3, #0] 80a11de: b2db uxtb r3, r3 80a11e0: 461a mov r2, r3 80a11e2: 4b22 ldr r3, [pc, #136] ; (80a126c ) 80a11e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a11e8: 2282 movs r2, #130 ; 0x82 80a11ea: 21b4 movs r1, #180 ; 0xb4 80a11ec: 4618 mov r0, r3 80a11ee: f7b3 f9ed bl 80545cc DrawImage(&bmg_dB, 265, 128+9); 80a11f2: 2289 movs r2, #137 ; 0x89 80a11f4: f240 1109 movw r1, #265 ; 0x109 80a11f8: 4828 ldr r0, [pc, #160] ; (80a129c ) 80a11fa: f7b3 f9e7 bl 80545cc 80a11fe: e352 b.n 80a18a6 if(ipr == DIS) 80a1200: 6d3b ldr r3, [r7, #80] ; 0x50 80a1202: 2b02 cmp r3, #2 80a1204: f040 834f bne.w 80a18a6 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 80a1208: 6d3a ldr r2, [r7, #80] ; 0x50 80a120a: 4613 mov r3, r2 80a120c: 009b lsls r3, r3, #2 80a120e: 4413 add r3, r2 80a1210: f107 0268 add.w r2, r7, #104 ; 0x68 80a1214: 4413 add r3, r2 80a1216: 3b33 subs r3, #51 ; 0x33 80a1218: 781b ldrb r3, [r3, #0] 80a121a: b2db uxtb r3, r3 80a121c: 461a mov r2, r3 80a121e: 4b13 ldr r3, [pc, #76] ; (80a126c ) 80a1220: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1224: 22ae movs r2, #174 ; 0xae 80a1226: 21e6 movs r1, #230 ; 0xe6 80a1228: 4618 mov r0, r3 80a122a: f7b3 f9cf bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 198); 80a122e: 22c6 movs r2, #198 ; 0xc6 80a1230: 21d7 movs r1, #215 ; 0xd7 80a1232: 4819 ldr r0, [pc, #100] ; (80a1298 ) 80a1234: f7b3 f9ca bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 80a1238: 6d3a ldr r2, [r7, #80] ; 0x50 80a123a: 4613 mov r3, r2 80a123c: 009b lsls r3, r3, #2 80a123e: 4413 add r3, r2 80a1240: f107 0268 add.w r2, r7, #104 ; 0x68 80a1244: 4413 add r3, r2 80a1246: 3b34 subs r3, #52 ; 0x34 80a1248: 781b ldrb r3, [r3, #0] 80a124a: b2db uxtb r3, r3 80a124c: 461a mov r2, r3 80a124e: 4b07 ldr r3, [pc, #28] ; (80a126c ) 80a1250: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1254: 22ae movs r2, #174 ; 0xae 80a1256: 21b4 movs r1, #180 ; 0xb4 80a1258: 4618 mov r0, r3 80a125a: f7b3 f9b7 bl 80545cc DrawImage(&bmg_dB, 265, 180); 80a125e: 22b4 movs r2, #180 ; 0xb4 80a1260: f240 1109 movw r1, #265 ; 0x109 80a1264: 480d ldr r0, [pc, #52] ; (80a129c ) 80a1266: f7b3 f9b1 bl 80545cc 80a126a: e31c b.n 80a18a6 80a126c: 20020124 .word 0x20020124 80a1270: 200226a0 .word 0x200226a0 80a1274: 20023e60 .word 0x20023e60 80a1278: 20020104 .word 0x20020104 80a127c: 2002010c .word 0x2002010c 80a1280: 081679c8 .word 0x081679c8 80a1284: ff0a0f1f .word 0xff0a0f1f 80a1288: ffb8e828 .word 0xffb8e828 80a128c: 080cfb2c .word 0x080cfb2c 80a1290: 080cfb38 .word 0x080cfb38 80a1294: cccccccd .word 0xcccccccd 80a1298: 08167a54 .word 0x08167a54 80a129c: 08162ca0 .word 0x08162ca0 80a12a0: 42c80000 .word 0x42c80000 if(f < 100.0f) 80a12a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a12a8: ed1f 7a03 vldr s14, [pc, #-12] ; 80a12a0 80a12ac: eef4 7ac7 vcmpe.f32 s15, s14 80a12b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a12b4: f140 8128 bpl.w 80a1508 ik[ipr][0] = (uint8_t) (k / 100); 80a12b8: 6d3a ldr r2, [r7, #80] ; 0x50 80a12ba: 6dbb ldr r3, [r7, #88] ; 0x58 80a12bc: 498c ldr r1, [pc, #560] ; (80a14f0 ) 80a12be: fba1 1303 umull r1, r3, r1, r3 80a12c2: 095b lsrs r3, r3, #5 80a12c4: b2d9 uxtb r1, r3 80a12c6: 4613 mov r3, r2 80a12c8: 009b lsls r3, r3, #2 80a12ca: 4413 add r3, r2 80a12cc: f107 0268 add.w r2, r7, #104 ; 0x68 80a12d0: 4413 add r3, r2 80a12d2: 3b34 subs r3, #52 ; 0x34 80a12d4: 460a mov r2, r1 80a12d6: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 80a12d8: 6d39 ldr r1, [r7, #80] ; 0x50 80a12da: 6dba ldr r2, [r7, #88] ; 0x58 80a12dc: 4b84 ldr r3, [pc, #528] ; (80a14f0 ) 80a12de: fba3 0302 umull r0, r3, r3, r2 80a12e2: 095b lsrs r3, r3, #5 80a12e4: 2064 movs r0, #100 ; 0x64 80a12e6: fb00 f303 mul.w r3, r0, r3 80a12ea: 1ad3 subs r3, r2, r3 80a12ec: 4a81 ldr r2, [pc, #516] ; (80a14f4 ) 80a12ee: fba2 2303 umull r2, r3, r2, r3 80a12f2: 08db lsrs r3, r3, #3 80a12f4: b2da uxtb r2, r3 80a12f6: 460b mov r3, r1 80a12f8: 009b lsls r3, r3, #2 80a12fa: 440b add r3, r1 80a12fc: f107 0168 add.w r1, r7, #104 ; 0x68 80a1300: 440b add r3, r1 80a1302: 3b33 subs r3, #51 ; 0x33 80a1304: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 80a1306: 6d38 ldr r0, [r7, #80] ; 0x50 80a1308: 6dbb ldr r3, [r7, #88] ; 0x58 80a130a: 4a79 ldr r2, [pc, #484] ; (80a14f0 ) 80a130c: fba2 1203 umull r1, r2, r2, r3 80a1310: 0952 lsrs r2, r2, #5 80a1312: 2164 movs r1, #100 ; 0x64 80a1314: fb01 f202 mul.w r2, r1, r2 80a1318: 1a9a subs r2, r3, r2 80a131a: 4b76 ldr r3, [pc, #472] ; (80a14f4 ) 80a131c: fba3 1302 umull r1, r3, r3, r2 80a1320: 08d9 lsrs r1, r3, #3 80a1322: 460b mov r3, r1 80a1324: 009b lsls r3, r3, #2 80a1326: 440b add r3, r1 80a1328: 005b lsls r3, r3, #1 80a132a: 1ad1 subs r1, r2, r3 80a132c: b2ca uxtb r2, r1 80a132e: 4603 mov r3, r0 80a1330: 009b lsls r3, r3, #2 80a1332: 4403 add r3, r0 80a1334: f107 0168 add.w r1, r7, #104 ; 0x68 80a1338: 440b add r3, r1 80a133a: 3b32 subs r3, #50 ; 0x32 80a133c: 701a strb r2, [r3, #0] if(ipr == ACC) 80a133e: 6d3b ldr r3, [r7, #80] ; 0x50 80a1340: 2b00 cmp r3, #0 80a1342: d144 bne.n 80a13ce DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 80a1344: 6d3a ldr r2, [r7, #80] ; 0x50 80a1346: 4613 mov r3, r2 80a1348: 009b lsls r3, r3, #2 80a134a: 4413 add r3, r2 80a134c: f107 0268 add.w r2, r7, #104 ; 0x68 80a1350: 4413 add r3, r2 80a1352: 3b32 subs r3, #50 ; 0x32 80a1354: 781b ldrb r3, [r3, #0] 80a1356: b2db uxtb r3, r3 80a1358: 461a mov r2, r3 80a135a: 4b67 ldr r3, [pc, #412] ; (80a14f8 ) 80a135c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1360: 2256 movs r2, #86 ; 0x56 80a1362: 21e6 movs r1, #230 ; 0xe6 80a1364: 4618 mov r0, r3 80a1366: f7b3 f931 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a136a: 226e movs r2, #110 ; 0x6e 80a136c: 21d7 movs r1, #215 ; 0xd7 80a136e: 4863 ldr r0, [pc, #396] ; (80a14fc ) 80a1370: f7b3 f92c bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 80a1374: 6d3a ldr r2, [r7, #80] ; 0x50 80a1376: 4613 mov r3, r2 80a1378: 009b lsls r3, r3, #2 80a137a: 4413 add r3, r2 80a137c: f107 0268 add.w r2, r7, #104 ; 0x68 80a1380: 4413 add r3, r2 80a1382: 3b33 subs r3, #51 ; 0x33 80a1384: 781b ldrb r3, [r3, #0] 80a1386: b2db uxtb r3, r3 80a1388: 461a mov r2, r3 80a138a: 4b5b ldr r3, [pc, #364] ; (80a14f8 ) 80a138c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1390: 2256 movs r2, #86 ; 0x56 80a1392: 21b4 movs r1, #180 ; 0xb4 80a1394: 4618 mov r0, r3 80a1396: f7b3 f919 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 80a139a: 6d3a ldr r2, [r7, #80] ; 0x50 80a139c: 4613 mov r3, r2 80a139e: 009b lsls r3, r3, #2 80a13a0: 4413 add r3, r2 80a13a2: f107 0268 add.w r2, r7, #104 ; 0x68 80a13a6: 4413 add r3, r2 80a13a8: 3b34 subs r3, #52 ; 0x34 80a13aa: 781b ldrb r3, [r3, #0] 80a13ac: b2db uxtb r3, r3 80a13ae: 461a mov r2, r3 80a13b0: 4b51 ldr r3, [pc, #324] ; (80a14f8 ) 80a13b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a13b6: 2256 movs r2, #86 ; 0x56 80a13b8: 2196 movs r1, #150 ; 0x96 80a13ba: 4618 mov r0, r3 80a13bc: f7b3 f906 bl 80545cc DrawImage(&bmg_dB, 265, 74+18); 80a13c0: 225c movs r2, #92 ; 0x5c 80a13c2: f240 1109 movw r1, #265 ; 0x109 80a13c6: 484e ldr r0, [pc, #312] ; (80a1500 ) 80a13c8: f7b3 f900 bl 80545cc 80a13cc: e26b b.n 80a18a6 if(ipr == VEL) 80a13ce: 6d3b ldr r3, [r7, #80] ; 0x50 80a13d0: 2b01 cmp r3, #1 80a13d2: d144 bne.n 80a145e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 80a13d4: 6d3a ldr r2, [r7, #80] ; 0x50 80a13d6: 4613 mov r3, r2 80a13d8: 009b lsls r3, r3, #2 80a13da: 4413 add r3, r2 80a13dc: f107 0268 add.w r2, r7, #104 ; 0x68 80a13e0: 4413 add r3, r2 80a13e2: 3b32 subs r3, #50 ; 0x32 80a13e4: 781b ldrb r3, [r3, #0] 80a13e6: b2db uxtb r3, r3 80a13e8: 461a mov r2, r3 80a13ea: 4b43 ldr r3, [pc, #268] ; (80a14f8 ) 80a13ec: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a13f0: 2282 movs r2, #130 ; 0x82 80a13f2: 21e6 movs r1, #230 ; 0xe6 80a13f4: 4618 mov r0, r3 80a13f6: f7b3 f8e9 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a13fa: 229a movs r2, #154 ; 0x9a 80a13fc: 21d7 movs r1, #215 ; 0xd7 80a13fe: 483f ldr r0, [pc, #252] ; (80a14fc ) 80a1400: f7b3 f8e4 bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 80a1404: 6d3a ldr r2, [r7, #80] ; 0x50 80a1406: 4613 mov r3, r2 80a1408: 009b lsls r3, r3, #2 80a140a: 4413 add r3, r2 80a140c: f107 0268 add.w r2, r7, #104 ; 0x68 80a1410: 4413 add r3, r2 80a1412: 3b33 subs r3, #51 ; 0x33 80a1414: 781b ldrb r3, [r3, #0] 80a1416: b2db uxtb r3, r3 80a1418: 461a mov r2, r3 80a141a: 4b37 ldr r3, [pc, #220] ; (80a14f8 ) 80a141c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1420: 2282 movs r2, #130 ; 0x82 80a1422: 21b4 movs r1, #180 ; 0xb4 80a1424: 4618 mov r0, r3 80a1426: f7b3 f8d1 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 80a142a: 6d3a ldr r2, [r7, #80] ; 0x50 80a142c: 4613 mov r3, r2 80a142e: 009b lsls r3, r3, #2 80a1430: 4413 add r3, r2 80a1432: f107 0268 add.w r2, r7, #104 ; 0x68 80a1436: 4413 add r3, r2 80a1438: 3b34 subs r3, #52 ; 0x34 80a143a: 781b ldrb r3, [r3, #0] 80a143c: b2db uxtb r3, r3 80a143e: 461a mov r2, r3 80a1440: 4b2d ldr r3, [pc, #180] ; (80a14f8 ) 80a1442: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1446: 2282 movs r2, #130 ; 0x82 80a1448: 2196 movs r1, #150 ; 0x96 80a144a: 4618 mov r0, r3 80a144c: f7b3 f8be bl 80545cc DrawImage(&bmg_dB, 265, 128+9); 80a1450: 2289 movs r2, #137 ; 0x89 80a1452: f240 1109 movw r1, #265 ; 0x109 80a1456: 482a ldr r0, [pc, #168] ; (80a1500 ) 80a1458: f7b3 f8b8 bl 80545cc 80a145c: e223 b.n 80a18a6 if(ipr == DIS) 80a145e: 6d3b ldr r3, [r7, #80] ; 0x50 80a1460: 2b02 cmp r3, #2 80a1462: f040 8220 bne.w 80a18a6 DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 80a1466: 6d3a ldr r2, [r7, #80] ; 0x50 80a1468: 4613 mov r3, r2 80a146a: 009b lsls r3, r3, #2 80a146c: 4413 add r3, r2 80a146e: f107 0268 add.w r2, r7, #104 ; 0x68 80a1472: 4413 add r3, r2 80a1474: 3b32 subs r3, #50 ; 0x32 80a1476: 781b ldrb r3, [r3, #0] 80a1478: b2db uxtb r3, r3 80a147a: 461a mov r2, r3 80a147c: 4b1e ldr r3, [pc, #120] ; (80a14f8 ) 80a147e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1482: 22ae movs r2, #174 ; 0xae 80a1484: 21e6 movs r1, #230 ; 0xe6 80a1486: 4618 mov r0, r3 80a1488: f7b3 f8a0 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 198); 80a148c: 22c6 movs r2, #198 ; 0xc6 80a148e: 21d7 movs r1, #215 ; 0xd7 80a1490: 481a ldr r0, [pc, #104] ; (80a14fc ) 80a1492: f7b3 f89b bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 80a1496: 6d3a ldr r2, [r7, #80] ; 0x50 80a1498: 4613 mov r3, r2 80a149a: 009b lsls r3, r3, #2 80a149c: 4413 add r3, r2 80a149e: f107 0268 add.w r2, r7, #104 ; 0x68 80a14a2: 4413 add r3, r2 80a14a4: 3b33 subs r3, #51 ; 0x33 80a14a6: 781b ldrb r3, [r3, #0] 80a14a8: b2db uxtb r3, r3 80a14aa: 461a mov r2, r3 80a14ac: 4b12 ldr r3, [pc, #72] ; (80a14f8 ) 80a14ae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a14b2: 22ae movs r2, #174 ; 0xae 80a14b4: 21b4 movs r1, #180 ; 0xb4 80a14b6: 4618 mov r0, r3 80a14b8: f7b3 f888 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 80a14bc: 6d3a ldr r2, [r7, #80] ; 0x50 80a14be: 4613 mov r3, r2 80a14c0: 009b lsls r3, r3, #2 80a14c2: 4413 add r3, r2 80a14c4: f107 0268 add.w r2, r7, #104 ; 0x68 80a14c8: 4413 add r3, r2 80a14ca: 3b34 subs r3, #52 ; 0x34 80a14cc: 781b ldrb r3, [r3, #0] 80a14ce: b2db uxtb r3, r3 80a14d0: 461a mov r2, r3 80a14d2: 4b09 ldr r3, [pc, #36] ; (80a14f8 ) 80a14d4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a14d8: 22ae movs r2, #174 ; 0xae 80a14da: 2196 movs r1, #150 ; 0x96 80a14dc: 4618 mov r0, r3 80a14de: f7b3 f875 bl 80545cc DrawImage(&bmg_dB, 265, 180); 80a14e2: 22b4 movs r2, #180 ; 0xb4 80a14e4: f240 1109 movw r1, #265 ; 0x109 80a14e8: 4805 ldr r0, [pc, #20] ; (80a1500 ) 80a14ea: f7b3 f86f bl 80545cc 80a14ee: e1da b.n 80a18a6 80a14f0: 51eb851f .word 0x51eb851f 80a14f4: cccccccd .word 0xcccccccd 80a14f8: 20020124 .word 0x20020124 80a14fc: 08167a54 .word 0x08167a54 80a1500: 08162ca0 .word 0x08162ca0 80a1504: 447a0000 .word 0x447a0000 if(f < 1000.0f) 80a1508: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a150c: ed1f 7a03 vldr s14, [pc, #-12] ; 80a1504 80a1510: eef4 7ac7 vcmpe.f32 s15, s14 80a1514: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1518: f140 81c5 bpl.w 80a18a6 ik[ipr][0] = (uint8_t) (k / 1000); 80a151c: 6d3a ldr r2, [r7, #80] ; 0x50 80a151e: 6dbb ldr r3, [r7, #88] ; 0x58 80a1520: 49ca ldr r1, [pc, #808] ; (80a184c ) 80a1522: fba1 1303 umull r1, r3, r1, r3 80a1526: 099b lsrs r3, r3, #6 80a1528: b2d9 uxtb r1, r3 80a152a: 4613 mov r3, r2 80a152c: 009b lsls r3, r3, #2 80a152e: 4413 add r3, r2 80a1530: f107 0268 add.w r2, r7, #104 ; 0x68 80a1534: 4413 add r3, r2 80a1536: 3b34 subs r3, #52 ; 0x34 80a1538: 460a mov r2, r1 80a153a: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 80a153c: 6d39 ldr r1, [r7, #80] ; 0x50 80a153e: 6dba ldr r2, [r7, #88] ; 0x58 80a1540: 4bc2 ldr r3, [pc, #776] ; (80a184c ) 80a1542: fba3 0302 umull r0, r3, r3, r2 80a1546: 099b lsrs r3, r3, #6 80a1548: f44f 707a mov.w r0, #1000 ; 0x3e8 80a154c: fb00 f303 mul.w r3, r0, r3 80a1550: 1ad3 subs r3, r2, r3 80a1552: 4abf ldr r2, [pc, #764] ; (80a1850 ) 80a1554: fba2 2303 umull r2, r3, r2, r3 80a1558: 095b lsrs r3, r3, #5 80a155a: b2da uxtb r2, r3 80a155c: 460b mov r3, r1 80a155e: 009b lsls r3, r3, #2 80a1560: 440b add r3, r1 80a1562: f107 0168 add.w r1, r7, #104 ; 0x68 80a1566: 440b add r3, r1 80a1568: 3b33 subs r3, #51 ; 0x33 80a156a: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 80a156c: 6d39 ldr r1, [r7, #80] ; 0x50 80a156e: 6dba ldr r2, [r7, #88] ; 0x58 80a1570: 4bb6 ldr r3, [pc, #728] ; (80a184c ) 80a1572: fba3 0302 umull r0, r3, r3, r2 80a1576: 099b lsrs r3, r3, #6 80a1578: f44f 707a mov.w r0, #1000 ; 0x3e8 80a157c: fb00 f303 mul.w r3, r0, r3 80a1580: 1ad3 subs r3, r2, r3 80a1582: 4ab3 ldr r2, [pc, #716] ; (80a1850 ) 80a1584: fba2 0203 umull r0, r2, r2, r3 80a1588: 0952 lsrs r2, r2, #5 80a158a: 2064 movs r0, #100 ; 0x64 80a158c: fb00 f202 mul.w r2, r0, r2 80a1590: 1a9a subs r2, r3, r2 80a1592: 4bb0 ldr r3, [pc, #704] ; (80a1854 ) 80a1594: fba3 2302 umull r2, r3, r3, r2 80a1598: 08db lsrs r3, r3, #3 80a159a: b2da uxtb r2, r3 80a159c: 460b mov r3, r1 80a159e: 009b lsls r3, r3, #2 80a15a0: 440b add r3, r1 80a15a2: f107 0168 add.w r1, r7, #104 ; 0x68 80a15a6: 440b add r3, r1 80a15a8: 3b32 subs r3, #50 ; 0x32 80a15aa: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 80a15ac: 6d38 ldr r0, [r7, #80] ; 0x50 80a15ae: 6dba ldr r2, [r7, #88] ; 0x58 80a15b0: 4ba6 ldr r3, [pc, #664] ; (80a184c ) 80a15b2: fba3 1302 umull r1, r3, r3, r2 80a15b6: 099b lsrs r3, r3, #6 80a15b8: f44f 717a mov.w r1, #1000 ; 0x3e8 80a15bc: fb01 f303 mul.w r3, r1, r3 80a15c0: 1ad3 subs r3, r2, r3 80a15c2: 4aa3 ldr r2, [pc, #652] ; (80a1850 ) 80a15c4: fba2 1203 umull r1, r2, r2, r3 80a15c8: 0952 lsrs r2, r2, #5 80a15ca: 2164 movs r1, #100 ; 0x64 80a15cc: fb01 f202 mul.w r2, r1, r2 80a15d0: 1a9a subs r2, r3, r2 80a15d2: 4ba0 ldr r3, [pc, #640] ; (80a1854 ) 80a15d4: fba3 1302 umull r1, r3, r3, r2 80a15d8: 08d9 lsrs r1, r3, #3 80a15da: 460b mov r3, r1 80a15dc: 009b lsls r3, r3, #2 80a15de: 440b add r3, r1 80a15e0: 005b lsls r3, r3, #1 80a15e2: 1ad1 subs r1, r2, r3 80a15e4: b2ca uxtb r2, r1 80a15e6: 4603 mov r3, r0 80a15e8: 009b lsls r3, r3, #2 80a15ea: 4403 add r3, r0 80a15ec: f107 0168 add.w r1, r7, #104 ; 0x68 80a15f0: 440b add r3, r1 80a15f2: 3b31 subs r3, #49 ; 0x31 80a15f4: 701a strb r2, [r3, #0] if(ipr == ACC) 80a15f6: 6d3b ldr r3, [r7, #80] ; 0x50 80a15f8: 2b00 cmp r3, #0 80a15fa: d157 bne.n 80a16ac DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 80a15fc: 6d3a ldr r2, [r7, #80] ; 0x50 80a15fe: 4613 mov r3, r2 80a1600: 009b lsls r3, r3, #2 80a1602: 4413 add r3, r2 80a1604: f107 0268 add.w r2, r7, #104 ; 0x68 80a1608: 4413 add r3, r2 80a160a: 3b31 subs r3, #49 ; 0x31 80a160c: 781b ldrb r3, [r3, #0] 80a160e: b2db uxtb r3, r3 80a1610: 461a mov r2, r3 80a1612: 4b91 ldr r3, [pc, #580] ; (80a1858 ) 80a1614: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1618: 2256 movs r2, #86 ; 0x56 80a161a: 21e6 movs r1, #230 ; 0xe6 80a161c: 4618 mov r0, r3 80a161e: f7b2 ffd5 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a1622: 226e movs r2, #110 ; 0x6e 80a1624: 21d7 movs r1, #215 ; 0xd7 80a1626: 488d ldr r0, [pc, #564] ; (80a185c ) 80a1628: f7b2 ffd0 bl 80545cc DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 80a162c: 6d3a ldr r2, [r7, #80] ; 0x50 80a162e: 4613 mov r3, r2 80a1630: 009b lsls r3, r3, #2 80a1632: 4413 add r3, r2 80a1634: f107 0268 add.w r2, r7, #104 ; 0x68 80a1638: 4413 add r3, r2 80a163a: 3b32 subs r3, #50 ; 0x32 80a163c: 781b ldrb r3, [r3, #0] 80a163e: b2db uxtb r3, r3 80a1640: 461a mov r2, r3 80a1642: 4b85 ldr r3, [pc, #532] ; (80a1858 ) 80a1644: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1648: 2256 movs r2, #86 ; 0x56 80a164a: 21b4 movs r1, #180 ; 0xb4 80a164c: 4618 mov r0, r3 80a164e: f7b2 ffbd bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 80a1652: 6d3a ldr r2, [r7, #80] ; 0x50 80a1654: 4613 mov r3, r2 80a1656: 009b lsls r3, r3, #2 80a1658: 4413 add r3, r2 80a165a: f107 0268 add.w r2, r7, #104 ; 0x68 80a165e: 4413 add r3, r2 80a1660: 3b33 subs r3, #51 ; 0x33 80a1662: 781b ldrb r3, [r3, #0] 80a1664: b2db uxtb r3, r3 80a1666: 461a mov r2, r3 80a1668: 4b7b ldr r3, [pc, #492] ; (80a1858 ) 80a166a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a166e: 2256 movs r2, #86 ; 0x56 80a1670: 2196 movs r1, #150 ; 0x96 80a1672: 4618 mov r0, r3 80a1674: f7b2 ffaa bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 80a1678: 6d3a ldr r2, [r7, #80] ; 0x50 80a167a: 4613 mov r3, r2 80a167c: 009b lsls r3, r3, #2 80a167e: 4413 add r3, r2 80a1680: f107 0268 add.w r2, r7, #104 ; 0x68 80a1684: 4413 add r3, r2 80a1686: 3b34 subs r3, #52 ; 0x34 80a1688: 781b ldrb r3, [r3, #0] 80a168a: b2db uxtb r3, r3 80a168c: 461a mov r2, r3 80a168e: 4b72 ldr r3, [pc, #456] ; (80a1858 ) 80a1690: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1694: 2256 movs r2, #86 ; 0x56 80a1696: 2178 movs r1, #120 ; 0x78 80a1698: 4618 mov r0, r3 80a169a: f7b2 ff97 bl 80545cc DrawImage(&bmg_dB, 265, 74+18); 80a169e: 225c movs r2, #92 ; 0x5c 80a16a0: f240 1109 movw r1, #265 ; 0x109 80a16a4: 486e ldr r0, [pc, #440] ; (80a1860 ) 80a16a6: f7b2 ff91 bl 80545cc 80a16aa: e0fc b.n 80a18a6 if(ipr == VEL) 80a16ac: 6d3b ldr r3, [r7, #80] ; 0x50 80a16ae: 2b01 cmp r3, #1 80a16b0: d157 bne.n 80a1762 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 80a16b2: 6d3a ldr r2, [r7, #80] ; 0x50 80a16b4: 4613 mov r3, r2 80a16b6: 009b lsls r3, r3, #2 80a16b8: 4413 add r3, r2 80a16ba: f107 0268 add.w r2, r7, #104 ; 0x68 80a16be: 4413 add r3, r2 80a16c0: 3b31 subs r3, #49 ; 0x31 80a16c2: 781b ldrb r3, [r3, #0] 80a16c4: b2db uxtb r3, r3 80a16c6: 461a mov r2, r3 80a16c8: 4b63 ldr r3, [pc, #396] ; (80a1858 ) 80a16ca: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a16ce: 2282 movs r2, #130 ; 0x82 80a16d0: 21e6 movs r1, #230 ; 0xe6 80a16d2: 4618 mov r0, r3 80a16d4: f7b2 ff7a bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a16d8: 229a movs r2, #154 ; 0x9a 80a16da: 21d7 movs r1, #215 ; 0xd7 80a16dc: 485f ldr r0, [pc, #380] ; (80a185c ) 80a16de: f7b2 ff75 bl 80545cc DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 80a16e2: 6d3a ldr r2, [r7, #80] ; 0x50 80a16e4: 4613 mov r3, r2 80a16e6: 009b lsls r3, r3, #2 80a16e8: 4413 add r3, r2 80a16ea: f107 0268 add.w r2, r7, #104 ; 0x68 80a16ee: 4413 add r3, r2 80a16f0: 3b32 subs r3, #50 ; 0x32 80a16f2: 781b ldrb r3, [r3, #0] 80a16f4: b2db uxtb r3, r3 80a16f6: 461a mov r2, r3 80a16f8: 4b57 ldr r3, [pc, #348] ; (80a1858 ) 80a16fa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a16fe: 2282 movs r2, #130 ; 0x82 80a1700: 21b4 movs r1, #180 ; 0xb4 80a1702: 4618 mov r0, r3 80a1704: f7b2 ff62 bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 80a1708: 6d3a ldr r2, [r7, #80] ; 0x50 80a170a: 4613 mov r3, r2 80a170c: 009b lsls r3, r3, #2 80a170e: 4413 add r3, r2 80a1710: f107 0268 add.w r2, r7, #104 ; 0x68 80a1714: 4413 add r3, r2 80a1716: 3b33 subs r3, #51 ; 0x33 80a1718: 781b ldrb r3, [r3, #0] 80a171a: b2db uxtb r3, r3 80a171c: 461a mov r2, r3 80a171e: 4b4e ldr r3, [pc, #312] ; (80a1858 ) 80a1720: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1724: 2282 movs r2, #130 ; 0x82 80a1726: 2196 movs r1, #150 ; 0x96 80a1728: 4618 mov r0, r3 80a172a: f7b2 ff4f bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 80a172e: 6d3a ldr r2, [r7, #80] ; 0x50 80a1730: 4613 mov r3, r2 80a1732: 009b lsls r3, r3, #2 80a1734: 4413 add r3, r2 80a1736: f107 0268 add.w r2, r7, #104 ; 0x68 80a173a: 4413 add r3, r2 80a173c: 3b34 subs r3, #52 ; 0x34 80a173e: 781b ldrb r3, [r3, #0] 80a1740: b2db uxtb r3, r3 80a1742: 461a mov r2, r3 80a1744: 4b44 ldr r3, [pc, #272] ; (80a1858 ) 80a1746: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a174a: 2282 movs r2, #130 ; 0x82 80a174c: 2178 movs r1, #120 ; 0x78 80a174e: 4618 mov r0, r3 80a1750: f7b2 ff3c bl 80545cc DrawImage(&bmg_dB, 265, 128+9); 80a1754: 2289 movs r2, #137 ; 0x89 80a1756: f240 1109 movw r1, #265 ; 0x109 80a175a: 4841 ldr r0, [pc, #260] ; (80a1860 ) 80a175c: f7b2 ff36 bl 80545cc 80a1760: e0a1 b.n 80a18a6 if(ipr == DIS) 80a1762: 6d3b ldr r3, [r7, #80] ; 0x50 80a1764: 2b02 cmp r3, #2 80a1766: f040 809e bne.w 80a18a6 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 80a176a: 6d3a ldr r2, [r7, #80] ; 0x50 80a176c: 4613 mov r3, r2 80a176e: 009b lsls r3, r3, #2 80a1770: 4413 add r3, r2 80a1772: f107 0268 add.w r2, r7, #104 ; 0x68 80a1776: 4413 add r3, r2 80a1778: 3b31 subs r3, #49 ; 0x31 80a177a: 781b ldrb r3, [r3, #0] 80a177c: b2db uxtb r3, r3 80a177e: 461a mov r2, r3 80a1780: 4b35 ldr r3, [pc, #212] ; (80a1858 ) 80a1782: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1786: 22ae movs r2, #174 ; 0xae 80a1788: 21e6 movs r1, #230 ; 0xe6 80a178a: 4618 mov r0, r3 80a178c: f7b2 ff1e bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 198); 80a1790: 22c6 movs r2, #198 ; 0xc6 80a1792: 21d7 movs r1, #215 ; 0xd7 80a1794: 4831 ldr r0, [pc, #196] ; (80a185c ) 80a1796: f7b2 ff19 bl 80545cc DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 80a179a: 6d3a ldr r2, [r7, #80] ; 0x50 80a179c: 4613 mov r3, r2 80a179e: 009b lsls r3, r3, #2 80a17a0: 4413 add r3, r2 80a17a2: f107 0268 add.w r2, r7, #104 ; 0x68 80a17a6: 4413 add r3, r2 80a17a8: 3b32 subs r3, #50 ; 0x32 80a17aa: 781b ldrb r3, [r3, #0] 80a17ac: b2db uxtb r3, r3 80a17ae: 461a mov r2, r3 80a17b0: 4b29 ldr r3, [pc, #164] ; (80a1858 ) 80a17b2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a17b6: 22ae movs r2, #174 ; 0xae 80a17b8: 21b4 movs r1, #180 ; 0xb4 80a17ba: 4618 mov r0, r3 80a17bc: f7b2 ff06 bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 80a17c0: 6d3a ldr r2, [r7, #80] ; 0x50 80a17c2: 4613 mov r3, r2 80a17c4: 009b lsls r3, r3, #2 80a17c6: 4413 add r3, r2 80a17c8: f107 0268 add.w r2, r7, #104 ; 0x68 80a17cc: 4413 add r3, r2 80a17ce: 3b33 subs r3, #51 ; 0x33 80a17d0: 781b ldrb r3, [r3, #0] 80a17d2: b2db uxtb r3, r3 80a17d4: 461a mov r2, r3 80a17d6: 4b20 ldr r3, [pc, #128] ; (80a1858 ) 80a17d8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a17dc: 22ae movs r2, #174 ; 0xae 80a17de: 2196 movs r1, #150 ; 0x96 80a17e0: 4618 mov r0, r3 80a17e2: f7b2 fef3 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 80a17e6: 6d3a ldr r2, [r7, #80] ; 0x50 80a17e8: 4613 mov r3, r2 80a17ea: 009b lsls r3, r3, #2 80a17ec: 4413 add r3, r2 80a17ee: f107 0268 add.w r2, r7, #104 ; 0x68 80a17f2: 4413 add r3, r2 80a17f4: 3b34 subs r3, #52 ; 0x34 80a17f6: 781b ldrb r3, [r3, #0] 80a17f8: b2db uxtb r3, r3 80a17fa: 461a mov r2, r3 80a17fc: 4b16 ldr r3, [pc, #88] ; (80a1858 ) 80a17fe: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a1802: 22ae movs r2, #174 ; 0xae 80a1804: 2178 movs r1, #120 ; 0x78 80a1806: 4618 mov r0, r3 80a1808: f7b2 fee0 bl 80545cc DrawImage(&bmg_dB, 265, 180); 80a180c: 22b4 movs r2, #180 ; 0xb4 80a180e: f240 1109 movw r1, #265 ; 0x109 80a1812: 4813 ldr r0, [pc, #76] ; (80a1860 ) 80a1814: f7b2 feda bl 80545cc 80a1818: e045 b.n 80a18a6 if(ipr == VEL) 80a181a: 6d3b ldr r3, [r7, #80] ; 0x50 80a181c: 2b01 cmp r3, #1 80a181e: d12b bne.n 80a1878 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a1820: 4910 ldr r1, [pc, #64] ; (80a1864 ) 80a1822: 4811 ldr r0, [pc, #68] ; (80a1868 ) 80a1824: f7b1 ffde bl 80537e4 if(pardata.LANG == RUS) 80a1828: 4b10 ldr r3, [pc, #64] ; (80a186c ) 80a182a: 7b1b ldrb r3, [r3, #12] 80a182c: b2db uxtb r3, r3 80a182e: 2b00 cmp r3, #0 80a1830: d105 bne.n 80a183e LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a1832: 4a0f ldr r2, [pc, #60] ; (80a1870 ) 80a1834: 2187 movs r1, #135 ; 0x87 80a1836: 20a7 movs r0, #167 ; 0xa7 80a1838: f7b2 fd94 bl 8054364 80a183c: e033 b.n 80a18a6 else LCD_DisplayStringC(167, 135, "NO DATA"); 80a183e: 4a0d ldr r2, [pc, #52] ; (80a1874 ) 80a1840: 2187 movs r1, #135 ; 0x87 80a1842: 20a7 movs r0, #167 ; 0xa7 80a1844: f7b2 fd8e bl 8054364 80a1848: e02d b.n 80a18a6 80a184a: bf00 nop 80a184c: 10624dd3 .word 0x10624dd3 80a1850: 51eb851f .word 0x51eb851f 80a1854: cccccccd .word 0xcccccccd 80a1858: 20020124 .word 0x20020124 80a185c: 08167a54 .word 0x08167a54 80a1860: 08162ca0 .word 0x08162ca0 80a1864: ff0a0f1f .word 0xff0a0f1f 80a1868: ffb8e828 .word 0xffb8e828 80a186c: 20023e60 .word 0x20023e60 80a1870: 080cfb2c .word 0x080cfb2c 80a1874: 080cfb38 .word 0x080cfb38 if(ipr == DIS) 80a1878: 6d3b ldr r3, [r7, #80] ; 0x50 80a187a: 2b02 cmp r3, #2 80a187c: d113 bne.n 80a18a6 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a187e: 49c8 ldr r1, [pc, #800] ; (80a1ba0 ) 80a1880: 48c8 ldr r0, [pc, #800] ; (80a1ba4 ) 80a1882: f7b1 ffaf bl 80537e4 if(pardata.LANG == RUS) 80a1886: 4bc8 ldr r3, [pc, #800] ; (80a1ba8 ) 80a1888: 7b1b ldrb r3, [r3, #12] 80a188a: b2db uxtb r3, r3 80a188c: 2b00 cmp r3, #0 80a188e: d105 bne.n 80a189c LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a1890: 4ac6 ldr r2, [pc, #792] ; (80a1bac ) 80a1892: 21b9 movs r1, #185 ; 0xb9 80a1894: 20a7 movs r0, #167 ; 0xa7 80a1896: f7b2 fd65 bl 8054364 80a189a: e004 b.n 80a18a6 else LCD_DisplayStringC(167, 185, "NO DATA"); 80a189c: 4ac4 ldr r2, [pc, #784] ; (80a1bb0 ) 80a189e: 21b9 movs r1, #185 ; 0xb9 80a18a0: 20a7 movs r0, #167 ; 0xa7 80a18a2: f7b2 fd5f bl 8054364 for(ipr = ACC; ipr <= DIS; ipr++) 80a18a6: 6d3b ldr r3, [r7, #80] ; 0x50 80a18a8: 3301 adds r3, #1 80a18aa: 653b str r3, [r7, #80] ; 0x50 80a18ac: 6d3b ldr r3, [r7, #80] ; 0x50 80a18ae: 2b02 cmp r3, #2 80a18b0: f67e ae98 bls.w 80a05e4 break; 80a18b4: f002 b900 b.w 80a3ab8 DrawImage(&bmf, 100, 57+3); 80a18b8: 223c movs r2, #60 ; 0x3c 80a18ba: 2164 movs r1, #100 ; 0x64 80a18bc: 48bd ldr r0, [pc, #756] ; (80a1bb4 ) 80a18be: f7b2 fe85 bl 80545cc if(NextIndexMeas < IndexMeas[NextIndexPoint]) 80a18c2: 4bbd ldr r3, [pc, #756] ; (80a1bb8 ) 80a18c4: 681b ldr r3, [r3, #0] 80a18c6: 4abd ldr r2, [pc, #756] ; (80a1bbc ) 80a18c8: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80a18cc: 4bbc ldr r3, [pc, #752] ; (80a1bc0 ) 80a18ce: 681b ldr r3, [r3, #0] 80a18d0: 429a cmp r2, r3 80a18d2: d905 bls.n 80a18e0 DrawImage(&bmSAVED, 298, 39); 80a18d4: 2227 movs r2, #39 ; 0x27 80a18d6: f44f 7195 mov.w r1, #298 ; 0x12a 80a18da: 48ba ldr r0, [pc, #744] ; (80a1bc4 ) 80a18dc: f7b2 fe76 bl 80545cc DrawDetectorType(); 80a18e0: f7f6 fce0 bl 80982a4 if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (FreqFran >= 0.0f) && (!timeRelax)) // 80a18e4: 4bb8 ldr r3, [pc, #736] ; (80a1bc8 ) 80a18e6: 781b ldrb r3, [r3, #0] 80a18e8: b2db uxtb r3, r3 80a18ea: f083 0301 eor.w r3, r3, #1 80a18ee: b2db uxtb r3, r3 80a18f0: 2b00 cmp r3, #0 80a18f2: f002 80e1 beq.w 80a3ab8 80a18f6: 4bb5 ldr r3, [pc, #724] ; (80a1bcc ) 80a18f8: 781b ldrb r3, [r3, #0] 80a18fa: b2db uxtb r3, r3 80a18fc: f083 0301 eor.w r3, r3, #1 80a1900: b2db uxtb r3, r3 80a1902: 2b00 cmp r3, #0 80a1904: f002 80d8 beq.w 80a3ab8 80a1908: 4bb1 ldr r3, [pc, #708] ; (80a1bd0 ) 80a190a: 881b ldrh r3, [r3, #0] 80a190c: b29b uxth r3, r3 80a190e: 009b lsls r3, r3, #2 80a1910: 461a mov r2, r3 80a1912: 4bb0 ldr r3, [pc, #704] ; (80a1bd4 ) 80a1914: 681b ldr r3, [r3, #0] 80a1916: 429a cmp r2, r3 80a1918: f082 80ce bcs.w 80a3ab8 80a191c: 4bae ldr r3, [pc, #696] ; (80a1bd8 ) 80a191e: edd3 7a00 vldr s15, [r3] 80a1922: eef5 7ac0 vcmpe.f32 s15, #0.0 80a1926: eef1 fa10 vmrs APSR_nzcv, fpscr 80a192a: da01 bge.n 80a1930 break; 80a192c: f002 b8c4 b.w 80a3ab8 if((!FIRST) && (!RepeatKm) && (Stability > (Nr * 4)) && (FreqFran >= 0.0f) && (!timeRelax)) // 80a1930: 4baa ldr r3, [pc, #680] ; (80a1bdc ) 80a1932: 681b ldr r3, [r3, #0] 80a1934: 2b00 cmp r3, #0 80a1936: f042 80bf bne.w 80a3ab8 BSP_LCD_SetFont(&Font15); 80a193a: 48a9 ldr r0, [pc, #676] ; (80a1be0 ) 80a193c: f7b1 ff8e bl 805385c f = FreqFran; 80a1940: 4ba5 ldr r3, [pc, #660] ; (80a1bd8 ) 80a1942: 681b ldr r3, [r3, #0] 80a1944: 647b str r3, [r7, #68] ; 0x44 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80a1946: 4996 ldr r1, [pc, #600] ; (80a1ba0 ) 80a1948: f04f 30ff mov.w r0, #4294967295 80a194c: f7b1 ff4a bl 80537e4 memset(str, 0, sizeof(str)); 80a1950: f107 030c add.w r3, r7, #12 80a1954: 2228 movs r2, #40 ; 0x28 80a1956: 2100 movs r1, #0 80a1958: 4618 mov r0, r3 80a195a: f02b fb91 bl 80cd080 if(f <= 0.0f) 80a195e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1962: eef5 7ac0 vcmpe.f32 s15, #0.0 80a1966: eef1 fa10 vmrs APSR_nzcv, fpscr 80a196a: d808 bhi.n 80a197e strcpy(str, "--?--"); 80a196c: f107 030c add.w r3, r7, #12 80a1970: 4a9c ldr r2, [pc, #624] ; (80a1be4 ) 80a1972: e892 0003 ldmia.w r2, {r0, r1} 80a1976: 6018 str r0, [r3, #0] 80a1978: 3304 adds r3, #4 80a197a: 8019 strh r1, [r3, #0] 80a197c: e0b8 b.n 80a1af0 if(f >= 1000.0f) 80a197e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1982: ed9f 7aa1 vldr s14, [pc, #644] ; 80a1c08 80a1986: eef4 7ac7 vcmpe.f32 s15, s14 80a198a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a198e: db3b blt.n 80a1a08 f *= 0.001f; 80a1990: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1994: ed9f 7a94 vldr s14, [pc, #592] ; 80a1be8 80a1998: ee67 7a87 vmul.f32 s15, s15, s14 80a199c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -2); 80a19a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a19a4: f06f 0001 mvn.w r0, #1 80a19a8: eeb0 0a67 vmov.f32 s0, s15 80a19ac: f7c4 fec4 bl 8066738 80a19b0: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a19b2: f107 030c add.w r3, r7, #12 80a19b6: 6e39 ldr r1, [r7, #96] ; 0x60 80a19b8: 4618 mov r0, r3 80a19ba: f02b fc7e bl 80cd2ba if(pardata.LANG == RUS) strcat(str, " êÃö"); 80a19be: 4b7a ldr r3, [pc, #488] ; (80a1ba8 ) 80a19c0: 7b1b ldrb r3, [r3, #12] 80a19c2: b2db uxtb r3, r3 80a19c4: 2b00 cmp r3, #0 80a19c6: d10f bne.n 80a19e8 80a19c8: f107 030c add.w r3, r7, #12 80a19cc: 4618 mov r0, r3 80a19ce: f77e fca1 bl 8020314 80a19d2: 4603 mov r3, r0 80a19d4: 461a mov r2, r3 80a19d6: f107 030c add.w r3, r7, #12 80a19da: 4413 add r3, r2 80a19dc: 4a83 ldr r2, [pc, #524] ; (80a1bec ) 80a19de: 6810 ldr r0, [r2, #0] 80a19e0: 6018 str r0, [r3, #0] 80a19e2: 7912 ldrb r2, [r2, #4] 80a19e4: 711a strb r2, [r3, #4] 80a19e6: e083 b.n 80a1af0 else strcat(str, " kHz"); 80a19e8: f107 030c add.w r3, r7, #12 80a19ec: 4618 mov r0, r3 80a19ee: f77e fc91 bl 8020314 80a19f2: 4603 mov r3, r0 80a19f4: 461a mov r2, r3 80a19f6: f107 030c add.w r3, r7, #12 80a19fa: 4413 add r3, r2 80a19fc: 4a7c ldr r2, [pc, #496] ; (80a1bf0 ) 80a19fe: 6810 ldr r0, [r2, #0] 80a1a00: 6018 str r0, [r3, #0] 80a1a02: 7912 ldrb r2, [r2, #4] 80a1a04: 711a strb r2, [r3, #4] 80a1a06: e073 b.n 80a1af0 if(f >= 1.0f) 80a1a08: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1a0c: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80a1a10: eef4 7ac7 vcmpe.f32 s15, s14 80a1a14: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1a18: db2f blt.n 80a1a7a p8 = (char *) FloatToASCII(f, -2); 80a1a1a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1a1e: f06f 0001 mvn.w r0, #1 80a1a22: eeb0 0a67 vmov.f32 s0, s15 80a1a26: f7c4 fe87 bl 8066738 80a1a2a: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a1a2c: f107 030c add.w r3, r7, #12 80a1a30: 6e39 ldr r1, [r7, #96] ; 0x60 80a1a32: 4618 mov r0, r3 80a1a34: f02b fc41 bl 80cd2ba if(pardata.LANG == RUS) strcat(str, " Ãö"); 80a1a38: 4b5b ldr r3, [pc, #364] ; (80a1ba8 ) 80a1a3a: 7b1b ldrb r3, [r3, #12] 80a1a3c: b2db uxtb r3, r3 80a1a3e: 2b00 cmp r3, #0 80a1a40: d10d bne.n 80a1a5e 80a1a42: f107 030c add.w r3, r7, #12 80a1a46: 4618 mov r0, r3 80a1a48: f77e fc64 bl 8020314 80a1a4c: 4603 mov r3, r0 80a1a4e: 461a mov r2, r3 80a1a50: f107 030c add.w r3, r7, #12 80a1a54: 4413 add r3, r2 80a1a56: 4a67 ldr r2, [pc, #412] ; (80a1bf4 ) 80a1a58: 6810 ldr r0, [r2, #0] 80a1a5a: 6018 str r0, [r3, #0] 80a1a5c: e048 b.n 80a1af0 else strcat(str, " Hz"); 80a1a5e: f107 030c add.w r3, r7, #12 80a1a62: 4618 mov r0, r3 80a1a64: f77e fc56 bl 8020314 80a1a68: 4603 mov r3, r0 80a1a6a: 461a mov r2, r3 80a1a6c: f107 030c add.w r3, r7, #12 80a1a70: 4413 add r3, r2 80a1a72: 4a61 ldr r2, [pc, #388] ; (80a1bf8 ) 80a1a74: 6810 ldr r0, [r2, #0] 80a1a76: 6018 str r0, [r3, #0] 80a1a78: e03a b.n 80a1af0 f *= 1000.0f; 80a1a7a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1a7e: ed9f 7a62 vldr s14, [pc, #392] ; 80a1c08 80a1a82: ee67 7a87 vmul.f32 s15, s15, s14 80a1a86: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p8 = (char *) FloatToASCII(f, -3); 80a1a8a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1a8e: f06f 0002 mvn.w r0, #2 80a1a92: eeb0 0a67 vmov.f32 s0, s15 80a1a96: f7c4 fe4f bl 8066738 80a1a9a: 6638 str r0, [r7, #96] ; 0x60 strcpy(str, p8); 80a1a9c: f107 030c add.w r3, r7, #12 80a1aa0: 6e39 ldr r1, [r7, #96] ; 0x60 80a1aa2: 4618 mov r0, r3 80a1aa4: f02b fc09 bl 80cd2ba if(pardata.LANG == RUS) strcat(str, " ìÃö"); 80a1aa8: 4b3f ldr r3, [pc, #252] ; (80a1ba8 ) 80a1aaa: 7b1b ldrb r3, [r3, #12] 80a1aac: b2db uxtb r3, r3 80a1aae: 2b00 cmp r3, #0 80a1ab0: d10f bne.n 80a1ad2 80a1ab2: f107 030c add.w r3, r7, #12 80a1ab6: 4618 mov r0, r3 80a1ab8: f77e fc2c bl 8020314 80a1abc: 4603 mov r3, r0 80a1abe: 461a mov r2, r3 80a1ac0: f107 030c add.w r3, r7, #12 80a1ac4: 4413 add r3, r2 80a1ac6: 4a4d ldr r2, [pc, #308] ; (80a1bfc ) 80a1ac8: 6810 ldr r0, [r2, #0] 80a1aca: 6018 str r0, [r3, #0] 80a1acc: 7912 ldrb r2, [r2, #4] 80a1ace: 711a strb r2, [r3, #4] 80a1ad0: e00e b.n 80a1af0 else strcat(str, " mHz"); 80a1ad2: f107 030c add.w r3, r7, #12 80a1ad6: 4618 mov r0, r3 80a1ad8: f77e fc1c bl 8020314 80a1adc: 4603 mov r3, r0 80a1ade: 461a mov r2, r3 80a1ae0: f107 030c add.w r3, r7, #12 80a1ae4: 4413 add r3, r2 80a1ae6: 4a46 ldr r2, [pc, #280] ; (80a1c00 ) 80a1ae8: 6810 ldr r0, [r2, #0] 80a1aea: 6018 str r0, [r3, #0] 80a1aec: 7912 ldrb r2, [r2, #4] 80a1aee: 711a strb r2, [r3, #4] BSP_LCD_DisplayStringAt(132, 61+3, str, LEFT_MODE); 80a1af0: f107 020c add.w r2, r7, #12 80a1af4: 2303 movs r3, #3 80a1af6: 2140 movs r1, #64 ; 0x40 80a1af8: 2084 movs r0, #132 ; 0x84 80a1afa: f7b1 ff39 bl 8053970 if(log == false) // Åñëè â ìåòðè÷åñêèõ âåëè÷èíàõ 80a1afe: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80a1b02: f083 0301 eor.w r3, r3, #1 80a1b06: b2db uxtb r3, r3 80a1b08: 2b00 cmp r3, #0 80a1b0a: f000 85d7 beq.w 80a26bc for(ipr = ACC; ipr <= DIS; ipr++) 80a1b0e: 2300 movs r3, #0 80a1b10: 653b str r3, [r7, #80] ; 0x50 80a1b12: f000 bdcd b.w 80a26b0 memset(str, 0, sizeof(str)); 80a1b16: f107 030c add.w r3, r7, #12 80a1b1a: 2228 movs r2, #40 ; 0x28 80a1b1c: 2100 movs r1, #0 80a1b1e: 4618 mov r0, r3 80a1b20: f02b faae bl 80cd080 f = ABS(skz[ipr]); 80a1b24: 6d3b ldr r3, [r7, #80] ; 0x50 80a1b26: 4a37 ldr r2, [pc, #220] ; (80a1c04 ) 80a1b28: 009b lsls r3, r3, #2 80a1b2a: 4413 add r3, r2 80a1b2c: edd3 7a00 vldr s15, [r3] 80a1b30: eef5 7ac0 vcmpe.f32 s15, #0.0 80a1b34: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1b38: dd06 ble.n 80a1b48 80a1b3a: 6d3b ldr r3, [r7, #80] ; 0x50 80a1b3c: 4a31 ldr r2, [pc, #196] ; (80a1c04 ) 80a1b3e: 009b lsls r3, r3, #2 80a1b40: 4413 add r3, r2 80a1b42: edd3 7a00 vldr s15, [r3] 80a1b46: e007 b.n 80a1b58 80a1b48: 6d3b ldr r3, [r7, #80] ; 0x50 80a1b4a: 4a2e ldr r2, [pc, #184] ; (80a1c04 ) 80a1b4c: 009b lsls r3, r3, #2 80a1b4e: 4413 add r3, r2 80a1b50: edd3 7a00 vldr s15, [r3] 80a1b54: eef1 7a67 vneg.f32 s15, s15 80a1b58: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 80a1b5c: 6d3b ldr r3, [r7, #80] ; 0x50 80a1b5e: 2b01 cmp r3, #1 80a1b60: f200 80ec bhi.w 80a1d3c if(f < 10.0f) 80a1b64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1b68: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a1b6c: eef4 7ac7 vcmpe.f32 s15, s14 80a1b70: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1b74: d550 bpl.n 80a1c18 k = (uint32_t) (roundf(f * 10000)); 80a1b76: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1b7a: ed9f 7a25 vldr s14, [pc, #148] ; 80a1c10 80a1b7e: ee67 7a87 vmul.f32 s15, s15, s14 80a1b82: eeb0 0a67 vmov.f32 s0, s15 80a1b86: f029 f87d bl 80cac84 80a1b8a: eef0 7a40 vmov.f32 s15, s0 80a1b8e: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1b92: ee17 3a90 vmov r3, s15 80a1b96: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a1b98: 2301 movs r3, #1 80a1b9a: 657b str r3, [r7, #84] ; 0x54 80a1b9c: e1fc b.n 80a1f98 80a1b9e: bf00 nop 80a1ba0: ff0a0f1f .word 0xff0a0f1f 80a1ba4: ffb8e828 .word 0xffb8e828 80a1ba8: 20023e60 .word 0x20023e60 80a1bac: 080cfb2c .word 0x080cfb2c 80a1bb0: 080cfb38 .word 0x080cfb38 80a1bb4: 0815d7f0 .word 0x0815d7f0 80a1bb8: 20021f9c .word 0x20021f9c 80a1bbc: 20022ea0 .word 0x20022ea0 80a1bc0: 20022310 .word 0x20022310 80a1bc4: 08147a80 .word 0x08147a80 80a1bc8: 20020db2 .word 0x20020db2 80a1bcc: 20020dac .word 0x20020dac 80a1bd0: 20021d20 .word 0x20021d20 80a1bd4: 20020da8 .word 0x20020da8 80a1bd8: 20021564 .word 0x20021564 80a1bdc: 20020d6c .word 0x20020d6c 80a1be0: 20020040 .word 0x20020040 80a1be4: 080d0a70 .word 0x080d0a70 80a1be8: 3a83126f .word 0x3a83126f 80a1bec: 080d0a48 .word 0x080d0a48 80a1bf0: 080d0a50 .word 0x080d0a50 80a1bf4: 080d0a58 .word 0x080d0a58 80a1bf8: 080d0a5c .word 0x080d0a5c 80a1bfc: 080d0a60 .word 0x080d0a60 80a1c00: 080d0a68 .word 0x080d0a68 80a1c04: 20021540 .word 0x20021540 80a1c08: 447a0000 .word 0x447a0000 80a1c0c: 42c80000 .word 0x42c80000 80a1c10: 461c4000 .word 0x461c4000 80a1c14: 47c35000 .word 0x47c35000 if(f < 100.0f) 80a1c18: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1c1c: ed1f 7a05 vldr s14, [pc, #-20] ; 80a1c0c 80a1c20: eef4 7ac7 vcmpe.f32 s15, s14 80a1c24: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1c28: d513 bpl.n 80a1c52 k = (uint32_t) (roundf(f * 1000)); 80a1c2a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1c2e: ed1f 7a0a vldr s14, [pc, #-40] ; 80a1c08 80a1c32: ee67 7a87 vmul.f32 s15, s15, s14 80a1c36: eeb0 0a67 vmov.f32 s0, s15 80a1c3a: f029 f823 bl 80cac84 80a1c3e: eef0 7a40 vmov.f32 s15, s0 80a1c42: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1c46: ee17 3a90 vmov r3, s15 80a1c4a: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a1c4c: 2302 movs r3, #2 80a1c4e: 657b str r3, [r7, #84] ; 0x54 80a1c50: e1a2 b.n 80a1f98 if(f < 1000.0f) 80a1c52: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1c56: ed1f 7a14 vldr s14, [pc, #-80] ; 80a1c08 80a1c5a: eef4 7ac7 vcmpe.f32 s15, s14 80a1c5e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1c62: d513 bpl.n 80a1c8c k = (uint32_t) (roundf(f * 100)); 80a1c64: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1c68: ed1f 7a18 vldr s14, [pc, #-96] ; 80a1c0c 80a1c6c: ee67 7a87 vmul.f32 s15, s15, s14 80a1c70: eeb0 0a67 vmov.f32 s0, s15 80a1c74: f029 f806 bl 80cac84 80a1c78: eef0 7a40 vmov.f32 s15, s0 80a1c7c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1c80: ee17 3a90 vmov r3, s15 80a1c84: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a1c86: 2303 movs r3, #3 80a1c88: 657b str r3, [r7, #84] ; 0x54 80a1c8a: e185 b.n 80a1f98 if(f < 10000.0f) 80a1c8c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1c90: ed1f 7a21 vldr s14, [pc, #-132] ; 80a1c10 80a1c94: eef4 7ac7 vcmpe.f32 s15, s14 80a1c98: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1c9c: d513 bpl.n 80a1cc6 k = (uint32_t) (roundf(f * 10)); 80a1c9e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1ca2: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a1ca6: ee67 7a87 vmul.f32 s15, s15, s14 80a1caa: eeb0 0a67 vmov.f32 s0, s15 80a1cae: f028 ffe9 bl 80cac84 80a1cb2: eef0 7a40 vmov.f32 s15, s0 80a1cb6: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1cba: ee17 3a90 vmov r3, s15 80a1cbe: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a1cc0: 2304 movs r3, #4 80a1cc2: 657b str r3, [r7, #84] ; 0x54 80a1cc4: e168 b.n 80a1f98 if(f < 100000.0f) 80a1cc6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1cca: ed1f 7a2e vldr s14, [pc, #-184] ; 80a1c14 80a1cce: eef4 7ac7 vcmpe.f32 s15, s14 80a1cd2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1cd6: d515 bpl.n 80a1d04 k = (uint32_t) (roundf(f)); 80a1cd8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1cdc: eeb0 0a67 vmov.f32 s0, s15 80a1ce0: f028 ffd0 bl 80cac84 80a1ce4: eef0 7a40 vmov.f32 s15, s0 80a1ce8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1cec: ee17 3a90 vmov r3, s15 80a1cf0: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a1cf2: 6dbb ldr r3, [r7, #88] ; 0x58 80a1cf4: 4a8e ldr r2, [pc, #568] ; (80a1f30 ) 80a1cf6: 4293 cmp r3, r2 80a1cf8: d901 bls.n 80a1cfe k = 99999; 80a1cfa: 4b8d ldr r3, [pc, #564] ; (80a1f30 ) 80a1cfc: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a1cfe: 2300 movs r3, #0 80a1d00: 657b str r3, [r7, #84] ; 0x54 80a1d02: e149 b.n 80a1f98 if(f >= 100000.0f) 80a1d04: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1d08: ed9f 7a8a vldr s14, [pc, #552] ; 80a1f34 80a1d0c: eef4 7ac7 vcmpe.f32 s15, s14 80a1d10: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1d14: f2c0 8140 blt.w 80a1f98 f = 99999.0f; 80a1d18: 4b87 ldr r3, [pc, #540] ; (80a1f38 ) 80a1d1a: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a1d1c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1d20: eeb0 0a67 vmov.f32 s0, s15 80a1d24: f028 ffae bl 80cac84 80a1d28: eef0 7a40 vmov.f32 s15, s0 80a1d2c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1d30: ee17 3a90 vmov r3, s15 80a1d34: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a1d36: 2300 movs r3, #0 80a1d38: 657b str r3, [r7, #84] ; 0x54 80a1d3a: e12d b.n 80a1f98 if(f < 10.0f) 80a1d3c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1d40: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a1d44: eef4 7ac7 vcmpe.f32 s15, s14 80a1d48: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1d4c: d515 bpl.n 80a1d7a k = (uint32_t) (roundf(f * 10000)); 80a1d4e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1d52: ed9f 7a7a vldr s14, [pc, #488] ; 80a1f3c 80a1d56: ee67 7a87 vmul.f32 s15, s15, s14 80a1d5a: eeb0 0a67 vmov.f32 s0, s15 80a1d5e: f028 ff91 bl 80cac84 80a1d62: eef0 7a40 vmov.f32 s15, s0 80a1d66: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1d6a: ee17 3a90 vmov r3, s15 80a1d6e: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a1d70: 2301 movs r3, #1 80a1d72: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a1d74: 2300 movs r3, #0 80a1d76: 64fb str r3, [r7, #76] ; 0x4c 80a1d78: e10e b.n 80a1f98 if(f < 100.0f) 80a1d7a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1d7e: ed9f 7a70 vldr s14, [pc, #448] ; 80a1f40 80a1d82: eef4 7ac7 vcmpe.f32 s15, s14 80a1d86: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1d8a: d515 bpl.n 80a1db8 k = (uint32_t) (roundf(f * 1000)); 80a1d8c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1d90: ed9f 7a6c vldr s14, [pc, #432] ; 80a1f44 80a1d94: ee67 7a87 vmul.f32 s15, s15, s14 80a1d98: eeb0 0a67 vmov.f32 s0, s15 80a1d9c: f028 ff72 bl 80cac84 80a1da0: eef0 7a40 vmov.f32 s15, s0 80a1da4: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1da8: ee17 3a90 vmov r3, s15 80a1dac: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a1dae: 2302 movs r3, #2 80a1db0: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a1db2: 2300 movs r3, #0 80a1db4: 64fb str r3, [r7, #76] ; 0x4c 80a1db6: e0ef b.n 80a1f98 if(f < 1000.0f) 80a1db8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1dbc: ed9f 7a61 vldr s14, [pc, #388] ; 80a1f44 80a1dc0: eef4 7ac7 vcmpe.f32 s15, s14 80a1dc4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1dc8: d515 bpl.n 80a1df6 k = (uint32_t) (roundf(f * 100)); 80a1dca: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1dce: ed9f 7a5c vldr s14, [pc, #368] ; 80a1f40 80a1dd2: ee67 7a87 vmul.f32 s15, s15, s14 80a1dd6: eeb0 0a67 vmov.f32 s0, s15 80a1dda: f028 ff53 bl 80cac84 80a1dde: eef0 7a40 vmov.f32 s15, s0 80a1de2: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1de6: ee17 3a90 vmov r3, s15 80a1dea: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a1dec: 2303 movs r3, #3 80a1dee: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a1df0: 2300 movs r3, #0 80a1df2: 64fb str r3, [r7, #76] ; 0x4c 80a1df4: e0d0 b.n 80a1f98 if(f < 10000.0f) 80a1df6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1dfa: ed9f 7a50 vldr s14, [pc, #320] ; 80a1f3c 80a1dfe: eef4 7ac7 vcmpe.f32 s15, s14 80a1e02: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1e06: d515 bpl.n 80a1e34 k = (uint32_t) (roundf(f * 10)); 80a1e08: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1e0c: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a1e10: ee67 7a87 vmul.f32 s15, s15, s14 80a1e14: eeb0 0a67 vmov.f32 s0, s15 80a1e18: f028 ff34 bl 80cac84 80a1e1c: eef0 7a40 vmov.f32 s15, s0 80a1e20: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1e24: ee17 3a90 vmov r3, s15 80a1e28: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a1e2a: 2301 movs r3, #1 80a1e2c: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1e2e: 2301 movs r3, #1 80a1e30: 64fb str r3, [r7, #76] ; 0x4c 80a1e32: e0b1 b.n 80a1f98 if(f < 100000.0f) 80a1e34: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1e38: ed9f 7a3e vldr s14, [pc, #248] ; 80a1f34 80a1e3c: eef4 7ac7 vcmpe.f32 s15, s14 80a1e40: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1e44: d511 bpl.n 80a1e6a k = (uint32_t) (roundf(f)); 80a1e46: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1e4a: eeb0 0a67 vmov.f32 s0, s15 80a1e4e: f028 ff19 bl 80cac84 80a1e52: eef0 7a40 vmov.f32 s15, s0 80a1e56: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1e5a: ee17 3a90 vmov r3, s15 80a1e5e: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a1e60: 2302 movs r3, #2 80a1e62: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1e64: 2301 movs r3, #1 80a1e66: 64fb str r3, [r7, #76] ; 0x4c 80a1e68: e096 b.n 80a1f98 if(f < 1000000.0f) 80a1e6a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1e6e: ed9f 7a36 vldr s14, [pc, #216] ; 80a1f48 80a1e72: eef4 7ac7 vcmpe.f32 s15, s14 80a1e76: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1e7a: d515 bpl.n 80a1ea8 k = (uint32_t) (roundf(f * 0.1f)); 80a1e7c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1e80: ed9f 7a32 vldr s14, [pc, #200] ; 80a1f4c 80a1e84: ee67 7a87 vmul.f32 s15, s15, s14 80a1e88: eeb0 0a67 vmov.f32 s0, s15 80a1e8c: f028 fefa bl 80cac84 80a1e90: eef0 7a40 vmov.f32 s15, s0 80a1e94: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1e98: ee17 3a90 vmov r3, s15 80a1e9c: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a1e9e: 2303 movs r3, #3 80a1ea0: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1ea2: 2301 movs r3, #1 80a1ea4: 64fb str r3, [r7, #76] ; 0x4c 80a1ea6: e077 b.n 80a1f98 if(f < 10000000.0f) 80a1ea8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1eac: ed9f 7a28 vldr s14, [pc, #160] ; 80a1f50 80a1eb0: eef4 7ac7 vcmpe.f32 s15, s14 80a1eb4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1eb8: d515 bpl.n 80a1ee6 k = (uint32_t) (roundf(f * 0.01f)); 80a1eba: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1ebe: ed9f 7a25 vldr s14, [pc, #148] ; 80a1f54 80a1ec2: ee67 7a87 vmul.f32 s15, s15, s14 80a1ec6: eeb0 0a67 vmov.f32 s0, s15 80a1eca: f028 fedb bl 80cac84 80a1ece: eef0 7a40 vmov.f32 s15, s0 80a1ed2: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1ed6: ee17 3a90 vmov r3, s15 80a1eda: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a1edc: 2304 movs r3, #4 80a1ede: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1ee0: 2301 movs r3, #1 80a1ee2: 64fb str r3, [r7, #76] ; 0x4c 80a1ee4: e058 b.n 80a1f98 if(f < 100000000.0f) 80a1ee6: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1eea: ed9f 7a1c vldr s14, [pc, #112] ; 80a1f5c 80a1eee: eef4 7ac7 vcmpe.f32 s15, s14 80a1ef2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1ef6: d533 bpl.n 80a1f60 k = (uint32_t) (roundf(f * 0.001f)); 80a1ef8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1efc: ed9f 7a16 vldr s14, [pc, #88] ; 80a1f58 80a1f00: ee67 7a87 vmul.f32 s15, s15, s14 80a1f04: eeb0 0a67 vmov.f32 s0, s15 80a1f08: f028 febc bl 80cac84 80a1f0c: eef0 7a40 vmov.f32 s15, s0 80a1f10: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1f14: ee17 3a90 vmov r3, s15 80a1f18: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a1f1a: 6dbb ldr r3, [r7, #88] ; 0x58 80a1f1c: 4a04 ldr r2, [pc, #16] ; (80a1f30 ) 80a1f1e: 4293 cmp r3, r2 80a1f20: d901 bls.n 80a1f26 k = 99999; 80a1f22: 4b03 ldr r3, [pc, #12] ; (80a1f30 ) 80a1f24: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a1f26: 2300 movs r3, #0 80a1f28: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1f2a: 2301 movs r3, #1 80a1f2c: 64fb str r3, [r7, #76] ; 0x4c 80a1f2e: e033 b.n 80a1f98 80a1f30: 0001869f .word 0x0001869f 80a1f34: 47c35000 .word 0x47c35000 80a1f38: 47c34f80 .word 0x47c34f80 80a1f3c: 461c4000 .word 0x461c4000 80a1f40: 42c80000 .word 0x42c80000 80a1f44: 447a0000 .word 0x447a0000 80a1f48: 49742400 .word 0x49742400 80a1f4c: 3dcccccd .word 0x3dcccccd 80a1f50: 4b189680 .word 0x4b189680 80a1f54: 3c23d70a .word 0x3c23d70a 80a1f58: 3a83126f .word 0x3a83126f 80a1f5c: 4cbebc20 .word 0x4cbebc20 if(f >= 100000000.0f) 80a1f60: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1f64: ed1f 7a03 vldr s14, [pc, #-12] ; 80a1f5c 80a1f68: eef4 7ac7 vcmpe.f32 s15, s14 80a1f6c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a1f70: db12 blt.n 80a1f98 f = 99999.0f; 80a1f72: 4bc4 ldr r3, [pc, #784] ; (80a2284 ) 80a1f74: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a1f76: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a1f7a: eeb0 0a67 vmov.f32 s0, s15 80a1f7e: f028 fe81 bl 80cac84 80a1f82: eef0 7a40 vmov.f32 s15, s0 80a1f86: eefc 7ae7 vcvt.u32.f32 s15, s15 80a1f8a: ee17 3a90 vmov r3, s15 80a1f8e: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a1f90: 2300 movs r3, #0 80a1f92: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a1f94: 2301 movs r3, #1 80a1f96: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a1f98: 6d3a ldr r2, [r7, #80] ; 0x50 80a1f9a: 6dbb ldr r3, [r7, #88] ; 0x58 80a1f9c: 49ba ldr r1, [pc, #744] ; (80a2288 ) 80a1f9e: fba1 1303 umull r1, r3, r1, r3 80a1fa2: 0b5b lsrs r3, r3, #13 80a1fa4: b2d9 uxtb r1, r3 80a1fa6: 4613 mov r3, r2 80a1fa8: 009b lsls r3, r3, #2 80a1faa: 4413 add r3, r2 80a1fac: f107 0268 add.w r2, r7, #104 ; 0x68 80a1fb0: 4413 add r3, r2 80a1fb2: 3b34 subs r3, #52 ; 0x34 80a1fb4: 460a mov r2, r1 80a1fb6: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a1fb8: 6d39 ldr r1, [r7, #80] ; 0x50 80a1fba: 6dba ldr r2, [r7, #88] ; 0x58 80a1fbc: 4bb2 ldr r3, [pc, #712] ; (80a2288 ) 80a1fbe: fba3 0302 umull r0, r3, r3, r2 80a1fc2: 0b5b lsrs r3, r3, #13 80a1fc4: f242 7010 movw r0, #10000 ; 0x2710 80a1fc8: fb00 f303 mul.w r3, r0, r3 80a1fcc: 1ad3 subs r3, r2, r3 80a1fce: 4aaf ldr r2, [pc, #700] ; (80a228c ) 80a1fd0: fba2 2303 umull r2, r3, r2, r3 80a1fd4: 099b lsrs r3, r3, #6 80a1fd6: b2da uxtb r2, r3 80a1fd8: 460b mov r3, r1 80a1fda: 009b lsls r3, r3, #2 80a1fdc: 440b add r3, r1 80a1fde: f107 0168 add.w r1, r7, #104 ; 0x68 80a1fe2: 440b add r3, r1 80a1fe4: 3b33 subs r3, #51 ; 0x33 80a1fe6: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a1fe8: 6d39 ldr r1, [r7, #80] ; 0x50 80a1fea: 6dba ldr r2, [r7, #88] ; 0x58 80a1fec: 4ba6 ldr r3, [pc, #664] ; (80a2288 ) 80a1fee: fba3 0302 umull r0, r3, r3, r2 80a1ff2: 0b5b lsrs r3, r3, #13 80a1ff4: f242 7010 movw r0, #10000 ; 0x2710 80a1ff8: fb00 f303 mul.w r3, r0, r3 80a1ffc: 1ad3 subs r3, r2, r3 80a1ffe: 4aa3 ldr r2, [pc, #652] ; (80a228c ) 80a2000: fba2 0203 umull r0, r2, r2, r3 80a2004: 0992 lsrs r2, r2, #6 80a2006: f44f 707a mov.w r0, #1000 ; 0x3e8 80a200a: fb00 f202 mul.w r2, r0, r2 80a200e: 1a9a subs r2, r3, r2 80a2010: 4b9f ldr r3, [pc, #636] ; (80a2290 ) 80a2012: fba3 2302 umull r2, r3, r3, r2 80a2016: 095b lsrs r3, r3, #5 80a2018: b2da uxtb r2, r3 80a201a: 460b mov r3, r1 80a201c: 009b lsls r3, r3, #2 80a201e: 440b add r3, r1 80a2020: f107 0168 add.w r1, r7, #104 ; 0x68 80a2024: 440b add r3, r1 80a2026: 3b32 subs r3, #50 ; 0x32 80a2028: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a202a: 6d39 ldr r1, [r7, #80] ; 0x50 80a202c: 6dbb ldr r3, [r7, #88] ; 0x58 80a202e: 4a96 ldr r2, [pc, #600] ; (80a2288 ) 80a2030: fba2 0203 umull r0, r2, r2, r3 80a2034: 0b52 lsrs r2, r2, #13 80a2036: f242 7010 movw r0, #10000 ; 0x2710 80a203a: fb00 f202 mul.w r2, r0, r2 80a203e: 1a9a subs r2, r3, r2 80a2040: 4b92 ldr r3, [pc, #584] ; (80a228c ) 80a2042: fba3 0302 umull r0, r3, r3, r2 80a2046: 099b lsrs r3, r3, #6 80a2048: f44f 707a mov.w r0, #1000 ; 0x3e8 80a204c: fb00 f303 mul.w r3, r0, r3 80a2050: 1ad3 subs r3, r2, r3 80a2052: 4a8f ldr r2, [pc, #572] ; (80a2290 ) 80a2054: fba2 0203 umull r0, r2, r2, r3 80a2058: 0952 lsrs r2, r2, #5 80a205a: 2064 movs r0, #100 ; 0x64 80a205c: fb00 f202 mul.w r2, r0, r2 80a2060: 1a9a subs r2, r3, r2 80a2062: 4b8c ldr r3, [pc, #560] ; (80a2294 ) 80a2064: fba3 2302 umull r2, r3, r3, r2 80a2068: 08db lsrs r3, r3, #3 80a206a: b2da uxtb r2, r3 80a206c: 460b mov r3, r1 80a206e: 009b lsls r3, r3, #2 80a2070: 440b add r3, r1 80a2072: f107 0168 add.w r1, r7, #104 ; 0x68 80a2076: 440b add r3, r1 80a2078: 3b31 subs r3, #49 ; 0x31 80a207a: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a207c: 6d38 ldr r0, [r7, #80] ; 0x50 80a207e: 6dbb ldr r3, [r7, #88] ; 0x58 80a2080: 4a81 ldr r2, [pc, #516] ; (80a2288 ) 80a2082: fba2 1203 umull r1, r2, r2, r3 80a2086: 0b52 lsrs r2, r2, #13 80a2088: f242 7110 movw r1, #10000 ; 0x2710 80a208c: fb01 f202 mul.w r2, r1, r2 80a2090: 1a9a subs r2, r3, r2 80a2092: 4b7e ldr r3, [pc, #504] ; (80a228c ) 80a2094: fba3 1302 umull r1, r3, r3, r2 80a2098: 099b lsrs r3, r3, #6 80a209a: f44f 717a mov.w r1, #1000 ; 0x3e8 80a209e: fb01 f303 mul.w r3, r1, r3 80a20a2: 1ad3 subs r3, r2, r3 80a20a4: 4a7a ldr r2, [pc, #488] ; (80a2290 ) 80a20a6: fba2 1203 umull r1, r2, r2, r3 80a20aa: 0952 lsrs r2, r2, #5 80a20ac: 2164 movs r1, #100 ; 0x64 80a20ae: fb01 f202 mul.w r2, r1, r2 80a20b2: 1a9a subs r2, r3, r2 80a20b4: 4b77 ldr r3, [pc, #476] ; (80a2294 ) 80a20b6: fba3 1302 umull r1, r3, r3, r2 80a20ba: 08d9 lsrs r1, r3, #3 80a20bc: 460b mov r3, r1 80a20be: 009b lsls r3, r3, #2 80a20c0: 440b add r3, r1 80a20c2: 005b lsls r3, r3, #1 80a20c4: 1ad1 subs r1, r2, r3 80a20c6: b2ca uxtb r2, r1 80a20c8: 4603 mov r3, r0 80a20ca: 009b lsls r3, r3, #2 80a20cc: 4403 add r3, r0 80a20ce: f107 0168 add.w r1, r7, #104 ; 0x68 80a20d2: 440b add r3, r1 80a20d4: 3b30 subs r3, #48 ; 0x30 80a20d6: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 80a20d8: 6d3b ldr r3, [r7, #80] ; 0x50 80a20da: 4a6f ldr r2, [pc, #444] ; (80a2298 ) 80a20dc: 009b lsls r3, r3, #2 80a20de: 4413 add r3, r2 80a20e0: edd3 7a00 vldr s15, [r3] 80a20e4: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a20e8: eef4 7a47 vcmp.f32 s15, s14 80a20ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80a20f0: f000 82a2 beq.w 80a2638 if(ipr == ACC) 80a20f4: 6d3b ldr r3, [r7, #80] ; 0x50 80a20f6: 2b00 cmp r3, #0 80a20f8: f040 80dc bne.w 80a22b4 if(!t) 80a20fc: 6d7b ldr r3, [r7, #84] ; 0x54 80a20fe: 2b00 cmp r3, #0 80a2100: d126 bne.n 80a2150 for(i = 0; i < 5; i++) 80a2102: 2300 movs r3, #0 80a2104: 65fb str r3, [r7, #92] ; 0x5c 80a2106: e01f b.n 80a2148 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a2108: 6d3a ldr r2, [r7, #80] ; 0x50 80a210a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a210c: 4613 mov r3, r2 80a210e: 009b lsls r3, r3, #2 80a2110: 4413 add r3, r2 80a2112: f107 0268 add.w r2, r7, #104 ; 0x68 80a2116: 4413 add r3, r2 80a2118: 440b add r3, r1 80a211a: 3b34 subs r3, #52 ; 0x34 80a211c: 781b ldrb r3, [r3, #0] 80a211e: b2db uxtb r3, r3 80a2120: 461a mov r2, r3 80a2122: 4b5e ldr r3, [pc, #376] ; (80a229c ) 80a2124: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2128: 6dfb ldr r3, [r7, #92] ; 0x5c 80a212a: b29b uxth r3, r3 80a212c: 461a mov r2, r3 80a212e: 0112 lsls r2, r2, #4 80a2130: 1ad3 subs r3, r2, r3 80a2132: 005b lsls r3, r3, #1 80a2134: b29b uxth r3, r3 80a2136: 335a adds r3, #90 ; 0x5a 80a2138: b29b uxth r3, r3 80a213a: 2256 movs r2, #86 ; 0x56 80a213c: 4619 mov r1, r3 80a213e: f7b2 fa45 bl 80545cc for(i = 0; i < 5; i++) 80a2142: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2144: 3301 adds r3, #1 80a2146: 65fb str r3, [r7, #92] ; 0x5c 80a2148: 6dfb ldr r3, [r7, #92] ; 0x5c 80a214a: 2b04 cmp r3, #4 80a214c: d9dc bls.n 80a2108 80a214e: e05a b.n 80a2206 for(i = 0; i < t; i++) 80a2150: 2300 movs r3, #0 80a2152: 65fb str r3, [r7, #92] ; 0x5c 80a2154: e01f b.n 80a2196 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a2156: 6d3a ldr r2, [r7, #80] ; 0x50 80a2158: 6df9 ldr r1, [r7, #92] ; 0x5c 80a215a: 4613 mov r3, r2 80a215c: 009b lsls r3, r3, #2 80a215e: 4413 add r3, r2 80a2160: f107 0268 add.w r2, r7, #104 ; 0x68 80a2164: 4413 add r3, r2 80a2166: 440b add r3, r1 80a2168: 3b34 subs r3, #52 ; 0x34 80a216a: 781b ldrb r3, [r3, #0] 80a216c: b2db uxtb r3, r3 80a216e: 461a mov r2, r3 80a2170: 4b4a ldr r3, [pc, #296] ; (80a229c ) 80a2172: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2176: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2178: b29b uxth r3, r3 80a217a: 461a mov r2, r3 80a217c: 0112 lsls r2, r2, #4 80a217e: 1ad3 subs r3, r2, r3 80a2180: 005b lsls r3, r3, #1 80a2182: b29b uxth r3, r3 80a2184: 335a adds r3, #90 ; 0x5a 80a2186: b29b uxth r3, r3 80a2188: 2256 movs r2, #86 ; 0x56 80a218a: 4619 mov r1, r3 80a218c: f7b2 fa1e bl 80545cc for(i = 0; i < t; i++) 80a2190: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2192: 3301 adds r3, #1 80a2194: 65fb str r3, [r7, #92] ; 0x5c 80a2196: 6dfa ldr r2, [r7, #92] ; 0x5c 80a2198: 6d7b ldr r3, [r7, #84] ; 0x54 80a219a: 429a cmp r2, r3 80a219c: d3db bcc.n 80a2156 DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a219e: 6d7b ldr r3, [r7, #84] ; 0x54 80a21a0: b29b uxth r3, r3 80a21a2: 461a mov r2, r3 80a21a4: 0112 lsls r2, r2, #4 80a21a6: 1ad3 subs r3, r2, r3 80a21a8: 005b lsls r3, r3, #1 80a21aa: b29b uxth r3, r3 80a21ac: 335f adds r3, #95 ; 0x5f 80a21ae: b29b uxth r3, r3 80a21b0: 226e movs r2, #110 ; 0x6e 80a21b2: 4619 mov r1, r3 80a21b4: 483a ldr r0, [pc, #232] ; (80a22a0 ) 80a21b6: f7b2 fa09 bl 80545cc for(i = t; i < 5; i++) 80a21ba: 6d7b ldr r3, [r7, #84] ; 0x54 80a21bc: 65fb str r3, [r7, #92] ; 0x5c 80a21be: e01f b.n 80a2200 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a21c0: 6d3a ldr r2, [r7, #80] ; 0x50 80a21c2: 6df9 ldr r1, [r7, #92] ; 0x5c 80a21c4: 4613 mov r3, r2 80a21c6: 009b lsls r3, r3, #2 80a21c8: 4413 add r3, r2 80a21ca: f107 0268 add.w r2, r7, #104 ; 0x68 80a21ce: 4413 add r3, r2 80a21d0: 440b add r3, r1 80a21d2: 3b34 subs r3, #52 ; 0x34 80a21d4: 781b ldrb r3, [r3, #0] 80a21d6: b2db uxtb r3, r3 80a21d8: 461a mov r2, r3 80a21da: 4b30 ldr r3, [pc, #192] ; (80a229c ) 80a21dc: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a21e0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a21e2: b29b uxth r3, r3 80a21e4: 461a mov r2, r3 80a21e6: 0112 lsls r2, r2, #4 80a21e8: 1ad3 subs r3, r2, r3 80a21ea: 005b lsls r3, r3, #1 80a21ec: b29b uxth r3, r3 80a21ee: 336e adds r3, #110 ; 0x6e 80a21f0: b29b uxth r3, r3 80a21f2: 2256 movs r2, #86 ; 0x56 80a21f4: 4619 mov r1, r3 80a21f6: f7b2 f9e9 bl 80545cc for(i = t; i < 5; i++) 80a21fa: 6dfb ldr r3, [r7, #92] ; 0x5c 80a21fc: 3301 adds r3, #1 80a21fe: 65fb str r3, [r7, #92] ; 0x5c 80a2200: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2202: 2b04 cmp r3, #4 80a2204: d9dc bls.n 80a21c0 if(pardata.IVS[ACC] < PEAK_FACTOR) 80a2206: 4b27 ldr r3, [pc, #156] ; (80a22a4 ) 80a2208: 789b ldrb r3, [r3, #2] 80a220a: b2db uxtb r3, r3 80a220c: 2b02 cmp r3, #2 80a220e: d81f bhi.n 80a2250 if(pardata.IIN != VOLTS) 80a2210: 4b24 ldr r3, [pc, #144] ; (80a22a4 ) 80a2212: 799b ldrb r3, [r3, #6] 80a2214: b2db uxtb r3, r3 80a2216: 2b02 cmp r3, #2 80a2218: d00d beq.n 80a2236 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a221a: 4b22 ldr r3, [pc, #136] ; (80a22a4 ) 80a221c: 7b1b ldrb r3, [r3, #12] 80a221e: b2db uxtb r3, r3 80a2220: 461a mov r2, r3 80a2222: 4b21 ldr r3, [pc, #132] ; (80a22a8 ) 80a2224: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2228: 225c movs r2, #92 ; 0x5c 80a222a: f240 1109 movw r1, #265 ; 0x109 80a222e: 4618 mov r0, r3 80a2230: f7b2 f9cc bl 80545cc 80a2234: e00c b.n 80a2250 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 80a2236: 4b1b ldr r3, [pc, #108] ; (80a22a4 ) 80a2238: 7b1b ldrb r3, [r3, #12] 80a223a: b2db uxtb r3, r3 80a223c: 461a mov r2, r3 80a223e: 4b1b ldr r3, [pc, #108] ; (80a22ac ) 80a2240: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2244: 225c movs r2, #92 ; 0x5c 80a2246: f240 1109 movw r1, #265 ; 0x109 80a224a: 4618 mov r0, r3 80a224c: f7b2 f9be bl 80545cc if(pardata.IVS[ipr] == EXCESS) 80a2250: 6d3b ldr r3, [r7, #80] ; 0x50 80a2252: 4a14 ldr r2, [pc, #80] ; (80a22a4 ) 80a2254: 4413 add r3, r2 80a2256: 789b ldrb r3, [r3, #2] 80a2258: b2db uxtb r3, r3 80a225a: 2b04 cmp r3, #4 80a225c: f040 8225 bne.w 80a26aa if(skz[ipr] < 0.0f) { 80a2260: 6d3b ldr r3, [r7, #80] ; 0x50 80a2262: 4a0d ldr r2, [pc, #52] ; (80a2298 ) 80a2264: 009b lsls r3, r3, #2 80a2266: 4413 add r3, r2 80a2268: edd3 7a00 vldr s15, [r3] 80a226c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2270: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2274: f140 8219 bpl.w 80a26aa DrawImage(&bmgminus, 78, 84+18); 80a2278: 2266 movs r2, #102 ; 0x66 80a227a: 214e movs r1, #78 ; 0x4e 80a227c: 480c ldr r0, [pc, #48] ; (80a22b0 ) 80a227e: f7b2 f9a5 bl 80545cc 80a2282: e212 b.n 80a26aa 80a2284: 47c34f80 .word 0x47c34f80 80a2288: d1b71759 .word 0xd1b71759 80a228c: 10624dd3 .word 0x10624dd3 80a2290: 51eb851f .word 0x51eb851f 80a2294: cccccccd .word 0xcccccccd 80a2298: 20021540 .word 0x20021540 80a229c: 20020124 .word 0x20020124 80a22a0: 08167a54 .word 0x08167a54 80a22a4: 20023e60 .word 0x20023e60 80a22a8: 200200f4 .word 0x200200f4 80a22ac: 20020114 .word 0x20020114 80a22b0: 081679c8 .word 0x081679c8 if(ipr == VEL) 80a22b4: 6d3b ldr r3, [r7, #80] ; 0x50 80a22b6: 2b01 cmp r3, #1 80a22b8: f040 80c4 bne.w 80a2444 if(!t) 80a22bc: 6d7b ldr r3, [r7, #84] ; 0x54 80a22be: 2b00 cmp r3, #0 80a22c0: d126 bne.n 80a2310 for(i = 0; i < 5; i++) 80a22c2: 2300 movs r3, #0 80a22c4: 65fb str r3, [r7, #92] ; 0x5c 80a22c6: e01f b.n 80a2308 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a22c8: 6d3a ldr r2, [r7, #80] ; 0x50 80a22ca: 6df9 ldr r1, [r7, #92] ; 0x5c 80a22cc: 4613 mov r3, r2 80a22ce: 009b lsls r3, r3, #2 80a22d0: 4413 add r3, r2 80a22d2: f107 0268 add.w r2, r7, #104 ; 0x68 80a22d6: 4413 add r3, r2 80a22d8: 440b add r3, r1 80a22da: 3b34 subs r3, #52 ; 0x34 80a22dc: 781b ldrb r3, [r3, #0] 80a22de: b2db uxtb r3, r3 80a22e0: 461a mov r2, r3 80a22e2: 4bb1 ldr r3, [pc, #708] ; (80a25a8 ) 80a22e4: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a22e8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a22ea: b29b uxth r3, r3 80a22ec: 461a mov r2, r3 80a22ee: 0112 lsls r2, r2, #4 80a22f0: 1ad3 subs r3, r2, r3 80a22f2: 005b lsls r3, r3, #1 80a22f4: b29b uxth r3, r3 80a22f6: 335a adds r3, #90 ; 0x5a 80a22f8: b29b uxth r3, r3 80a22fa: 2282 movs r2, #130 ; 0x82 80a22fc: 4619 mov r1, r3 80a22fe: f7b2 f965 bl 80545cc for(i = 0; i < 5; i++) 80a2302: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2304: 3301 adds r3, #1 80a2306: 65fb str r3, [r7, #92] ; 0x5c 80a2308: 6dfb ldr r3, [r7, #92] ; 0x5c 80a230a: 2b04 cmp r3, #4 80a230c: d9dc bls.n 80a22c8 80a230e: e05a b.n 80a23c6 for(i = 0; i < t; i++) 80a2310: 2300 movs r3, #0 80a2312: 65fb str r3, [r7, #92] ; 0x5c 80a2314: e01f b.n 80a2356 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a2316: 6d3a ldr r2, [r7, #80] ; 0x50 80a2318: 6df9 ldr r1, [r7, #92] ; 0x5c 80a231a: 4613 mov r3, r2 80a231c: 009b lsls r3, r3, #2 80a231e: 4413 add r3, r2 80a2320: f107 0268 add.w r2, r7, #104 ; 0x68 80a2324: 4413 add r3, r2 80a2326: 440b add r3, r1 80a2328: 3b34 subs r3, #52 ; 0x34 80a232a: 781b ldrb r3, [r3, #0] 80a232c: b2db uxtb r3, r3 80a232e: 461a mov r2, r3 80a2330: 4b9d ldr r3, [pc, #628] ; (80a25a8 ) 80a2332: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2336: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2338: b29b uxth r3, r3 80a233a: 461a mov r2, r3 80a233c: 0112 lsls r2, r2, #4 80a233e: 1ad3 subs r3, r2, r3 80a2340: 005b lsls r3, r3, #1 80a2342: b29b uxth r3, r3 80a2344: 335a adds r3, #90 ; 0x5a 80a2346: b29b uxth r3, r3 80a2348: 2282 movs r2, #130 ; 0x82 80a234a: 4619 mov r1, r3 80a234c: f7b2 f93e bl 80545cc for(i = 0; i < t; i++) 80a2350: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2352: 3301 adds r3, #1 80a2354: 65fb str r3, [r7, #92] ; 0x5c 80a2356: 6dfa ldr r2, [r7, #92] ; 0x5c 80a2358: 6d7b ldr r3, [r7, #84] ; 0x54 80a235a: 429a cmp r2, r3 80a235c: d3db bcc.n 80a2316 DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a235e: 6d7b ldr r3, [r7, #84] ; 0x54 80a2360: b29b uxth r3, r3 80a2362: 461a mov r2, r3 80a2364: 0112 lsls r2, r2, #4 80a2366: 1ad3 subs r3, r2, r3 80a2368: 005b lsls r3, r3, #1 80a236a: b29b uxth r3, r3 80a236c: 335f adds r3, #95 ; 0x5f 80a236e: b29b uxth r3, r3 80a2370: 229a movs r2, #154 ; 0x9a 80a2372: 4619 mov r1, r3 80a2374: 488d ldr r0, [pc, #564] ; (80a25ac ) 80a2376: f7b2 f929 bl 80545cc for(i = t; i < 5; i++) 80a237a: 6d7b ldr r3, [r7, #84] ; 0x54 80a237c: 65fb str r3, [r7, #92] ; 0x5c 80a237e: e01f b.n 80a23c0 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a2380: 6d3a ldr r2, [r7, #80] ; 0x50 80a2382: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2384: 4613 mov r3, r2 80a2386: 009b lsls r3, r3, #2 80a2388: 4413 add r3, r2 80a238a: f107 0268 add.w r2, r7, #104 ; 0x68 80a238e: 4413 add r3, r2 80a2390: 440b add r3, r1 80a2392: 3b34 subs r3, #52 ; 0x34 80a2394: 781b ldrb r3, [r3, #0] 80a2396: b2db uxtb r3, r3 80a2398: 461a mov r2, r3 80a239a: 4b83 ldr r3, [pc, #524] ; (80a25a8 ) 80a239c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a23a0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a23a2: b29b uxth r3, r3 80a23a4: 461a mov r2, r3 80a23a6: 0112 lsls r2, r2, #4 80a23a8: 1ad3 subs r3, r2, r3 80a23aa: 005b lsls r3, r3, #1 80a23ac: b29b uxth r3, r3 80a23ae: 336e adds r3, #110 ; 0x6e 80a23b0: b29b uxth r3, r3 80a23b2: 2282 movs r2, #130 ; 0x82 80a23b4: 4619 mov r1, r3 80a23b6: f7b2 f909 bl 80545cc for(i = t; i < 5; i++) 80a23ba: 6dfb ldr r3, [r7, #92] ; 0x5c 80a23bc: 3301 adds r3, #1 80a23be: 65fb str r3, [r7, #92] ; 0x5c 80a23c0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a23c2: 2b04 cmp r3, #4 80a23c4: d9dc bls.n 80a2380 if(pardata.IVS[VEL] < PEAK_FACTOR) 80a23c6: 4b7a ldr r3, [pc, #488] ; (80a25b0 ) 80a23c8: 78db ldrb r3, [r3, #3] 80a23ca: b2db uxtb r3, r3 80a23cc: 2b02 cmp r3, #2 80a23ce: d81f bhi.n 80a2410 if(pardata.IIN != VOLTS) 80a23d0: 4b77 ldr r3, [pc, #476] ; (80a25b0 ) 80a23d2: 799b ldrb r3, [r3, #6] 80a23d4: b2db uxtb r3, r3 80a23d6: 2b02 cmp r3, #2 80a23d8: d00d beq.n 80a23f6 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a23da: 4b75 ldr r3, [pc, #468] ; (80a25b0 ) 80a23dc: 7b1b ldrb r3, [r3, #12] 80a23de: b2db uxtb r3, r3 80a23e0: 461a mov r2, r3 80a23e2: 4b74 ldr r3, [pc, #464] ; (80a25b4 ) 80a23e4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a23e8: 2289 movs r2, #137 ; 0x89 80a23ea: f240 1109 movw r1, #265 ; 0x109 80a23ee: 4618 mov r0, r3 80a23f0: f7b2 f8ec bl 80545cc 80a23f4: e00c b.n 80a2410 else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 80a23f6: 4b6e ldr r3, [pc, #440] ; (80a25b0 ) 80a23f8: 7b1b ldrb r3, [r3, #12] 80a23fa: b2db uxtb r3, r3 80a23fc: 461a mov r2, r3 80a23fe: 4b6e ldr r3, [pc, #440] ; (80a25b8 ) 80a2400: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2404: 2289 movs r2, #137 ; 0x89 80a2406: f240 1109 movw r1, #265 ; 0x109 80a240a: 4618 mov r0, r3 80a240c: f7b2 f8de bl 80545cc if(pardata.IVS[ipr] == EXCESS) 80a2410: 6d3b ldr r3, [r7, #80] ; 0x50 80a2412: 4a67 ldr r2, [pc, #412] ; (80a25b0 ) 80a2414: 4413 add r3, r2 80a2416: 789b ldrb r3, [r3, #2] 80a2418: b2db uxtb r3, r3 80a241a: 2b04 cmp r3, #4 80a241c: f040 8145 bne.w 80a26aa if(skz[ipr] < 0.0f) { 80a2420: 6d3b ldr r3, [r7, #80] ; 0x50 80a2422: 4a66 ldr r2, [pc, #408] ; (80a25bc ) 80a2424: 009b lsls r3, r3, #2 80a2426: 4413 add r3, r2 80a2428: edd3 7a00 vldr s15, [r3] 80a242c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2430: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2434: f140 8139 bpl.w 80a26aa DrawImage(&bmgminus, 78, 138+9); 80a2438: 2293 movs r2, #147 ; 0x93 80a243a: 214e movs r1, #78 ; 0x4e 80a243c: 4860 ldr r0, [pc, #384] ; (80a25c0 ) 80a243e: f7b2 f8c5 bl 80545cc 80a2442: e132 b.n 80a26aa if(ipr == DIS) 80a2444: 6d3b ldr r3, [r7, #80] ; 0x50 80a2446: 2b02 cmp r3, #2 80a2448: f040 812f bne.w 80a26aa if(!t) 80a244c: 6d7b ldr r3, [r7, #84] ; 0x54 80a244e: 2b00 cmp r3, #0 80a2450: d126 bne.n 80a24a0 for(i = 0; i < 5; i++) 80a2452: 2300 movs r3, #0 80a2454: 65fb str r3, [r7, #92] ; 0x5c 80a2456: e01f b.n 80a2498 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a2458: 6d3a ldr r2, [r7, #80] ; 0x50 80a245a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a245c: 4613 mov r3, r2 80a245e: 009b lsls r3, r3, #2 80a2460: 4413 add r3, r2 80a2462: f107 0268 add.w r2, r7, #104 ; 0x68 80a2466: 4413 add r3, r2 80a2468: 440b add r3, r1 80a246a: 3b34 subs r3, #52 ; 0x34 80a246c: 781b ldrb r3, [r3, #0] 80a246e: b2db uxtb r3, r3 80a2470: 461a mov r2, r3 80a2472: 4b4d ldr r3, [pc, #308] ; (80a25a8 ) 80a2474: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2478: 6dfb ldr r3, [r7, #92] ; 0x5c 80a247a: b29b uxth r3, r3 80a247c: 461a mov r2, r3 80a247e: 0112 lsls r2, r2, #4 80a2480: 1ad3 subs r3, r2, r3 80a2482: 005b lsls r3, r3, #1 80a2484: b29b uxth r3, r3 80a2486: 335a adds r3, #90 ; 0x5a 80a2488: b29b uxth r3, r3 80a248a: 22ae movs r2, #174 ; 0xae 80a248c: 4619 mov r1, r3 80a248e: f7b2 f89d bl 80545cc for(i = 0; i < 5; i++) 80a2492: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2494: 3301 adds r3, #1 80a2496: 65fb str r3, [r7, #92] ; 0x5c 80a2498: 6dfb ldr r3, [r7, #92] ; 0x5c 80a249a: 2b04 cmp r3, #4 80a249c: d9dc bls.n 80a2458 80a249e: e05a b.n 80a2556 for(i = 0; i < t; i++) 80a24a0: 2300 movs r3, #0 80a24a2: 65fb str r3, [r7, #92] ; 0x5c 80a24a4: e01f b.n 80a24e6 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a24a6: 6d3a ldr r2, [r7, #80] ; 0x50 80a24a8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a24aa: 4613 mov r3, r2 80a24ac: 009b lsls r3, r3, #2 80a24ae: 4413 add r3, r2 80a24b0: f107 0268 add.w r2, r7, #104 ; 0x68 80a24b4: 4413 add r3, r2 80a24b6: 440b add r3, r1 80a24b8: 3b34 subs r3, #52 ; 0x34 80a24ba: 781b ldrb r3, [r3, #0] 80a24bc: b2db uxtb r3, r3 80a24be: 461a mov r2, r3 80a24c0: 4b39 ldr r3, [pc, #228] ; (80a25a8 ) 80a24c2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a24c6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a24c8: b29b uxth r3, r3 80a24ca: 461a mov r2, r3 80a24cc: 0112 lsls r2, r2, #4 80a24ce: 1ad3 subs r3, r2, r3 80a24d0: 005b lsls r3, r3, #1 80a24d2: b29b uxth r3, r3 80a24d4: 335a adds r3, #90 ; 0x5a 80a24d6: b29b uxth r3, r3 80a24d8: 22ae movs r2, #174 ; 0xae 80a24da: 4619 mov r1, r3 80a24dc: f7b2 f876 bl 80545cc for(i = 0; i < t; i++) 80a24e0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a24e2: 3301 adds r3, #1 80a24e4: 65fb str r3, [r7, #92] ; 0x5c 80a24e6: 6dfa ldr r2, [r7, #92] ; 0x5c 80a24e8: 6d7b ldr r3, [r7, #84] ; 0x54 80a24ea: 429a cmp r2, r3 80a24ec: d3db bcc.n 80a24a6 DrawImage(&bmgpt, 95 + 30*t, 198); 80a24ee: 6d7b ldr r3, [r7, #84] ; 0x54 80a24f0: b29b uxth r3, r3 80a24f2: 461a mov r2, r3 80a24f4: 0112 lsls r2, r2, #4 80a24f6: 1ad3 subs r3, r2, r3 80a24f8: 005b lsls r3, r3, #1 80a24fa: b29b uxth r3, r3 80a24fc: 335f adds r3, #95 ; 0x5f 80a24fe: b29b uxth r3, r3 80a2500: 22c6 movs r2, #198 ; 0xc6 80a2502: 4619 mov r1, r3 80a2504: 4829 ldr r0, [pc, #164] ; (80a25ac ) 80a2506: f7b2 f861 bl 80545cc for(i = t; i < 5; i++) 80a250a: 6d7b ldr r3, [r7, #84] ; 0x54 80a250c: 65fb str r3, [r7, #92] ; 0x5c 80a250e: e01f b.n 80a2550 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a2510: 6d3a ldr r2, [r7, #80] ; 0x50 80a2512: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2514: 4613 mov r3, r2 80a2516: 009b lsls r3, r3, #2 80a2518: 4413 add r3, r2 80a251a: f107 0268 add.w r2, r7, #104 ; 0x68 80a251e: 4413 add r3, r2 80a2520: 440b add r3, r1 80a2522: 3b34 subs r3, #52 ; 0x34 80a2524: 781b ldrb r3, [r3, #0] 80a2526: b2db uxtb r3, r3 80a2528: 461a mov r2, r3 80a252a: 4b1f ldr r3, [pc, #124] ; (80a25a8 ) 80a252c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2530: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2532: b29b uxth r3, r3 80a2534: 461a mov r2, r3 80a2536: 0112 lsls r2, r2, #4 80a2538: 1ad3 subs r3, r2, r3 80a253a: 005b lsls r3, r3, #1 80a253c: b29b uxth r3, r3 80a253e: 336e adds r3, #110 ; 0x6e 80a2540: b29b uxth r3, r3 80a2542: 22ae movs r2, #174 ; 0xae 80a2544: 4619 mov r1, r3 80a2546: f7b2 f841 bl 80545cc for(i = t; i < 5; i++) 80a254a: 6dfb ldr r3, [r7, #92] ; 0x5c 80a254c: 3301 adds r3, #1 80a254e: 65fb str r3, [r7, #92] ; 0x5c 80a2550: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2552: 2b04 cmp r3, #4 80a2554: d9dc bls.n 80a2510 if(pardata.IVS[DIS] < PEAK_FACTOR) 80a2556: 4b16 ldr r3, [pc, #88] ; (80a25b0 ) 80a2558: 791b ldrb r3, [r3, #4] 80a255a: b2db uxtb r3, r3 80a255c: 2b02 cmp r3, #2 80a255e: d853 bhi.n 80a2608 if(pardata.IIN != VOLTS) 80a2560: 4b13 ldr r3, [pc, #76] ; (80a25b0 ) 80a2562: 799b ldrb r3, [r3, #6] 80a2564: b2db uxtb r3, r3 80a2566: 2b02 cmp r3, #2 80a2568: d030 beq.n 80a25cc if(m == 0) 80a256a: 6cfb ldr r3, [r7, #76] ; 0x4c 80a256c: 2b00 cmp r3, #0 80a256e: d10d bne.n 80a258c DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a2570: 4b0f ldr r3, [pc, #60] ; (80a25b0 ) 80a2572: 7b1b ldrb r3, [r3, #12] 80a2574: b2db uxtb r3, r3 80a2576: 461a mov r2, r3 80a2578: 4b12 ldr r3, [pc, #72] ; (80a25c4 ) 80a257a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a257e: 22b4 movs r2, #180 ; 0xb4 80a2580: f240 1109 movw r1, #265 ; 0x109 80a2584: 4618 mov r0, r3 80a2586: f7b2 f821 bl 80545cc 80a258a: e03d b.n 80a2608 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a258c: 4b08 ldr r3, [pc, #32] ; (80a25b0 ) 80a258e: 7b1b ldrb r3, [r3, #12] 80a2590: b2db uxtb r3, r3 80a2592: 461a mov r2, r3 80a2594: 4b0c ldr r3, [pc, #48] ; (80a25c8 ) 80a2596: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a259a: 22b4 movs r2, #180 ; 0xb4 80a259c: f240 1109 movw r1, #265 ; 0x109 80a25a0: 4618 mov r0, r3 80a25a2: f7b2 f813 bl 80545cc 80a25a6: e02f b.n 80a2608 80a25a8: 20020124 .word 0x20020124 80a25ac: 08167a54 .word 0x08167a54 80a25b0: 20023e60 .word 0x20023e60 80a25b4: 200200fc .word 0x200200fc 80a25b8: 20020114 .word 0x20020114 80a25bc: 20021540 .word 0x20021540 80a25c0: 081679c8 .word 0x081679c8 80a25c4: 20020104 .word 0x20020104 80a25c8: 2002010c .word 0x2002010c if(m == 0) 80a25cc: 6cfb ldr r3, [r7, #76] ; 0x4c 80a25ce: 2b00 cmp r3, #0 80a25d0: d10d bne.n 80a25ee DrawImage(BMG_MV[pardata.LANG], 265, 180); 80a25d2: 4bca ldr r3, [pc, #808] ; (80a28fc ) 80a25d4: 7b1b ldrb r3, [r3, #12] 80a25d6: b2db uxtb r3, r3 80a25d8: 461a mov r2, r3 80a25da: 4bc9 ldr r3, [pc, #804] ; (80a2900 ) 80a25dc: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a25e0: 22b4 movs r2, #180 ; 0xb4 80a25e2: f240 1109 movw r1, #265 ; 0x109 80a25e6: 4618 mov r0, r3 80a25e8: f7b1 fff0 bl 80545cc 80a25ec: e00c b.n 80a2608 else DrawImage(BMG_V[pardata.LANG], 265, 180); 80a25ee: 4bc3 ldr r3, [pc, #780] ; (80a28fc ) 80a25f0: 7b1b ldrb r3, [r3, #12] 80a25f2: b2db uxtb r3, r3 80a25f4: 461a mov r2, r3 80a25f6: 4bc3 ldr r3, [pc, #780] ; (80a2904 ) 80a25f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a25fc: 22b4 movs r2, #180 ; 0xb4 80a25fe: f240 1109 movw r1, #265 ; 0x109 80a2602: 4618 mov r0, r3 80a2604: f7b1 ffe2 bl 80545cc if(pardata.IVS[ipr] == EXCESS) 80a2608: 6d3b ldr r3, [r7, #80] ; 0x50 80a260a: 4abc ldr r2, [pc, #752] ; (80a28fc ) 80a260c: 4413 add r3, r2 80a260e: 789b ldrb r3, [r3, #2] 80a2610: b2db uxtb r3, r3 80a2612: 2b04 cmp r3, #4 80a2614: d149 bne.n 80a26aa if(skz[ipr] < 0.0f) { 80a2616: 6d3b ldr r3, [r7, #80] ; 0x50 80a2618: 4abb ldr r2, [pc, #748] ; (80a2908 ) 80a261a: 009b lsls r3, r3, #2 80a261c: 4413 add r3, r2 80a261e: edd3 7a00 vldr s15, [r3] 80a2622: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2626: eef1 fa10 vmrs APSR_nzcv, fpscr 80a262a: d53e bpl.n 80a26aa DrawImage(&bmgminus, 78, 190); 80a262c: 22be movs r2, #190 ; 0xbe 80a262e: 214e movs r1, #78 ; 0x4e 80a2630: 48b6 ldr r0, [pc, #728] ; (80a290c ) 80a2632: f7b1 ffcb bl 80545cc 80a2636: e038 b.n 80a26aa if(skz[ACC] != -1.0f) 80a2638: 4bb3 ldr r3, [pc, #716] ; (80a2908 ) 80a263a: edd3 7a00 vldr s15, [r3] 80a263e: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a2642: eef4 7a47 vcmp.f32 s15, s14 80a2646: eef1 fa10 vmrs APSR_nzcv, fpscr 80a264a: d02e beq.n 80a26aa if(ipr == VEL) 80a264c: 6d3b ldr r3, [r7, #80] ; 0x50 80a264e: 2b01 cmp r3, #1 80a2650: d114 bne.n 80a267c LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a2652: 49af ldr r1, [pc, #700] ; (80a2910 ) 80a2654: 48af ldr r0, [pc, #700] ; (80a2914 ) 80a2656: f7b1 f8c5 bl 80537e4 if(pardata.LANG == RUS) 80a265a: 4ba8 ldr r3, [pc, #672] ; (80a28fc ) 80a265c: 7b1b ldrb r3, [r3, #12] 80a265e: b2db uxtb r3, r3 80a2660: 2b00 cmp r3, #0 80a2662: d105 bne.n 80a2670 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a2664: 4aac ldr r2, [pc, #688] ; (80a2918 ) 80a2666: 2187 movs r1, #135 ; 0x87 80a2668: 20a7 movs r0, #167 ; 0xa7 80a266a: f7b1 fe7b bl 8054364 80a266e: e01c b.n 80a26aa else LCD_DisplayStringC(167, 135, "NO DATA"); 80a2670: 4aaa ldr r2, [pc, #680] ; (80a291c ) 80a2672: 2187 movs r1, #135 ; 0x87 80a2674: 20a7 movs r0, #167 ; 0xa7 80a2676: f7b1 fe75 bl 8054364 80a267a: e016 b.n 80a26aa if(ipr == DIS) 80a267c: 6d3b ldr r3, [r7, #80] ; 0x50 80a267e: 2b02 cmp r3, #2 80a2680: d113 bne.n 80a26aa LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a2682: 49a3 ldr r1, [pc, #652] ; (80a2910 ) 80a2684: 48a3 ldr r0, [pc, #652] ; (80a2914 ) 80a2686: f7b1 f8ad bl 80537e4 if(pardata.LANG == RUS) 80a268a: 4b9c ldr r3, [pc, #624] ; (80a28fc ) 80a268c: 7b1b ldrb r3, [r3, #12] 80a268e: b2db uxtb r3, r3 80a2690: 2b00 cmp r3, #0 80a2692: d105 bne.n 80a26a0 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a2694: 4aa0 ldr r2, [pc, #640] ; (80a2918 ) 80a2696: 21b9 movs r1, #185 ; 0xb9 80a2698: 20a7 movs r0, #167 ; 0xa7 80a269a: f7b1 fe63 bl 8054364 80a269e: e004 b.n 80a26aa else LCD_DisplayStringC(167, 185, "NO DATA"); 80a26a0: 4a9e ldr r2, [pc, #632] ; (80a291c ) 80a26a2: 21b9 movs r1, #185 ; 0xb9 80a26a4: 20a7 movs r0, #167 ; 0xa7 80a26a6: f7b1 fe5d bl 8054364 for(ipr = ACC; ipr <= DIS; ipr++) 80a26aa: 6d3b ldr r3, [r7, #80] ; 0x50 80a26ac: 3301 adds r3, #1 80a26ae: 653b str r3, [r7, #80] ; 0x50 80a26b0: 6d3b ldr r3, [r7, #80] ; 0x50 80a26b2: 2b02 cmp r3, #2 80a26b4: f67f aa2f bls.w 80a1b16 break; 80a26b8: f001 b9fe b.w 80a3ab8 for(ipr = ACC; ipr <= DIS; ipr++) 80a26bc: 2300 movs r3, #0 80a26be: 653b str r3, [r7, #80] ; 0x50 80a26c0: f001 b9f0 b.w 80a3aa4 if(pardata.IVS[ipr] >= PEAK_FACTOR) 80a26c4: 6d3b ldr r3, [r7, #80] ; 0x50 80a26c6: 4a8d ldr r2, [pc, #564] ; (80a28fc ) 80a26c8: 4413 add r3, r2 80a26ca: 789b ldrb r3, [r3, #2] 80a26cc: b2db uxtb r3, r3 80a26ce: 2b02 cmp r3, #2 80a26d0: f240 85a9 bls.w 80a3226 memset(str, 0, sizeof(str)); 80a26d4: f107 030c add.w r3, r7, #12 80a26d8: 2228 movs r2, #40 ; 0x28 80a26da: 2100 movs r1, #0 80a26dc: 4618 mov r0, r3 80a26de: f02a fccf bl 80cd080 f = ABS(skz[ipr]); 80a26e2: 6d3b ldr r3, [r7, #80] ; 0x50 80a26e4: 4a88 ldr r2, [pc, #544] ; (80a2908 ) 80a26e6: 009b lsls r3, r3, #2 80a26e8: 4413 add r3, r2 80a26ea: edd3 7a00 vldr s15, [r3] 80a26ee: eef5 7ac0 vcmpe.f32 s15, #0.0 80a26f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a26f6: dd06 ble.n 80a2706 80a26f8: 6d3b ldr r3, [r7, #80] ; 0x50 80a26fa: 4a83 ldr r2, [pc, #524] ; (80a2908 ) 80a26fc: 009b lsls r3, r3, #2 80a26fe: 4413 add r3, r2 80a2700: edd3 7a00 vldr s15, [r3] 80a2704: e007 b.n 80a2716 80a2706: 6d3b ldr r3, [r7, #80] ; 0x50 80a2708: 4a7f ldr r2, [pc, #508] ; (80a2908 ) 80a270a: 009b lsls r3, r3, #2 80a270c: 4413 add r3, r2 80a270e: edd3 7a00 vldr s15, [r3] 80a2712: eef1 7a67 vneg.f32 s15, s15 80a2716: edc7 7a11 vstr s15, [r7, #68] ; 0x44 if(ipr < DIS) 80a271a: 6d3b ldr r3, [r7, #80] ; 0x50 80a271c: 2b01 cmp r3, #1 80a271e: f200 80af bhi.w 80a2880 if(f < 10.0f) 80a2722: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2726: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a272a: eef4 7ac7 vcmpe.f32 s15, s14 80a272e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2732: d513 bpl.n 80a275c k = (uint32_t) (roundf(f * 10000)); 80a2734: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2738: ed9f 7a7d vldr s14, [pc, #500] ; 80a2930 80a273c: ee67 7a87 vmul.f32 s15, s15, s14 80a2740: eeb0 0a67 vmov.f32 s0, s15 80a2744: f028 fa9e bl 80cac84 80a2748: eef0 7a40 vmov.f32 s15, s0 80a274c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2750: ee17 3a90 vmov r3, s15 80a2754: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a2756: 2301 movs r3, #1 80a2758: 657b str r3, [r7, #84] ; 0x54 80a275a: e1d1 b.n 80a2b00 if(f < 100.0f) 80a275c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2760: ed9f 7a72 vldr s14, [pc, #456] ; 80a292c 80a2764: eef4 7ac7 vcmpe.f32 s15, s14 80a2768: eef1 fa10 vmrs APSR_nzcv, fpscr 80a276c: d513 bpl.n 80a2796 k = (uint32_t) (roundf(f * 1000)); 80a276e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2772: ed9f 7a6d vldr s14, [pc, #436] ; 80a2928 80a2776: ee67 7a87 vmul.f32 s15, s15, s14 80a277a: eeb0 0a67 vmov.f32 s0, s15 80a277e: f028 fa81 bl 80cac84 80a2782: eef0 7a40 vmov.f32 s15, s0 80a2786: eefc 7ae7 vcvt.u32.f32 s15, s15 80a278a: ee17 3a90 vmov r3, s15 80a278e: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a2790: 2302 movs r3, #2 80a2792: 657b str r3, [r7, #84] ; 0x54 80a2794: e1b4 b.n 80a2b00 if(f < 1000.0f) 80a2796: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a279a: ed9f 7a63 vldr s14, [pc, #396] ; 80a2928 80a279e: eef4 7ac7 vcmpe.f32 s15, s14 80a27a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a27a6: d513 bpl.n 80a27d0 k = (uint32_t) (roundf(f * 100)); 80a27a8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a27ac: ed9f 7a5f vldr s14, [pc, #380] ; 80a292c 80a27b0: ee67 7a87 vmul.f32 s15, s15, s14 80a27b4: eeb0 0a67 vmov.f32 s0, s15 80a27b8: f028 fa64 bl 80cac84 80a27bc: eef0 7a40 vmov.f32 s15, s0 80a27c0: eefc 7ae7 vcvt.u32.f32 s15, s15 80a27c4: ee17 3a90 vmov r3, s15 80a27c8: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a27ca: 2303 movs r3, #3 80a27cc: 657b str r3, [r7, #84] ; 0x54 80a27ce: e197 b.n 80a2b00 if(f < 10000.0f) 80a27d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a27d4: ed9f 7a56 vldr s14, [pc, #344] ; 80a2930 80a27d8: eef4 7ac7 vcmpe.f32 s15, s14 80a27dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a27e0: d513 bpl.n 80a280a k = (uint32_t) (roundf(f * 10)); 80a27e2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a27e6: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a27ea: ee67 7a87 vmul.f32 s15, s15, s14 80a27ee: eeb0 0a67 vmov.f32 s0, s15 80a27f2: f028 fa47 bl 80cac84 80a27f6: eef0 7a40 vmov.f32 s15, s0 80a27fa: eefc 7ae7 vcvt.u32.f32 s15, s15 80a27fe: ee17 3a90 vmov r3, s15 80a2802: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a2804: 2304 movs r3, #4 80a2806: 657b str r3, [r7, #84] ; 0x54 80a2808: e17a b.n 80a2b00 if(f < 100000.0f) 80a280a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a280e: ed9f 7a49 vldr s14, [pc, #292] ; 80a2934 80a2812: eef4 7ac7 vcmpe.f32 s15, s14 80a2816: eef1 fa10 vmrs APSR_nzcv, fpscr 80a281a: d515 bpl.n 80a2848 k = (uint32_t) (roundf(f)); 80a281c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2820: eeb0 0a67 vmov.f32 s0, s15 80a2824: f028 fa2e bl 80cac84 80a2828: eef0 7a40 vmov.f32 s15, s0 80a282c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2830: ee17 3a90 vmov r3, s15 80a2834: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a2836: 6dbb ldr r3, [r7, #88] ; 0x58 80a2838: 4a39 ldr r2, [pc, #228] ; (80a2920 ) 80a283a: 4293 cmp r3, r2 80a283c: d901 bls.n 80a2842 k = 99999; 80a283e: 4b38 ldr r3, [pc, #224] ; (80a2920 ) 80a2840: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a2842: 2300 movs r3, #0 80a2844: 657b str r3, [r7, #84] ; 0x54 80a2846: e15b b.n 80a2b00 if(f >= 100000.0f) 80a2848: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a284c: ed9f 7a39 vldr s14, [pc, #228] ; 80a2934 80a2850: eef4 7ac7 vcmpe.f32 s15, s14 80a2854: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2858: f2c0 8152 blt.w 80a2b00 f = 99999.0f; 80a285c: 4b31 ldr r3, [pc, #196] ; (80a2924 ) 80a285e: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a2860: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2864: eeb0 0a67 vmov.f32 s0, s15 80a2868: f028 fa0c bl 80cac84 80a286c: eef0 7a40 vmov.f32 s15, s0 80a2870: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2874: ee17 3a90 vmov r3, s15 80a2878: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a287a: 2300 movs r3, #0 80a287c: 657b str r3, [r7, #84] ; 0x54 80a287e: e13f b.n 80a2b00 if(f < 10.0f) 80a2880: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2884: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a2888: eef4 7ac7 vcmpe.f32 s15, s14 80a288c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2890: d515 bpl.n 80a28be k = (uint32_t) (roundf(f * 10000)); 80a2892: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2896: ed9f 7a26 vldr s14, [pc, #152] ; 80a2930 80a289a: ee67 7a87 vmul.f32 s15, s15, s14 80a289e: eeb0 0a67 vmov.f32 s0, s15 80a28a2: f028 f9ef bl 80cac84 80a28a6: eef0 7a40 vmov.f32 s15, s0 80a28aa: eefc 7ae7 vcvt.u32.f32 s15, s15 80a28ae: ee17 3a90 vmov r3, s15 80a28b2: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a28b4: 2301 movs r3, #1 80a28b6: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a28b8: 2300 movs r3, #0 80a28ba: 64fb str r3, [r7, #76] ; 0x4c 80a28bc: e120 b.n 80a2b00 if(f < 100.0f) 80a28be: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a28c2: ed9f 7a1a vldr s14, [pc, #104] ; 80a292c 80a28c6: eef4 7ac7 vcmpe.f32 s15, s14 80a28ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80a28ce: d53f bpl.n 80a2950 k = (uint32_t) (roundf(f * 1000)); 80a28d0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a28d4: ed9f 7a14 vldr s14, [pc, #80] ; 80a2928 80a28d8: ee67 7a87 vmul.f32 s15, s15, s14 80a28dc: eeb0 0a67 vmov.f32 s0, s15 80a28e0: f028 f9d0 bl 80cac84 80a28e4: eef0 7a40 vmov.f32 s15, s0 80a28e8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a28ec: ee17 3a90 vmov r3, s15 80a28f0: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a28f2: 2302 movs r3, #2 80a28f4: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a28f6: 2300 movs r3, #0 80a28f8: 64fb str r3, [r7, #76] ; 0x4c 80a28fa: e101 b.n 80a2b00 80a28fc: 20023e60 .word 0x20023e60 80a2900: 20020114 .word 0x20020114 80a2904: 2002011c .word 0x2002011c 80a2908: 20021540 .word 0x20021540 80a290c: 081679c8 .word 0x081679c8 80a2910: ff0a0f1f .word 0xff0a0f1f 80a2914: ffb8e828 .word 0xffb8e828 80a2918: 080cfb2c .word 0x080cfb2c 80a291c: 080cfb38 .word 0x080cfb38 80a2920: 0001869f .word 0x0001869f 80a2924: 47c34f80 .word 0x47c34f80 80a2928: 447a0000 .word 0x447a0000 80a292c: 42c80000 .word 0x42c80000 80a2930: 461c4000 .word 0x461c4000 80a2934: 47c35000 .word 0x47c35000 80a2938: 49742400 .word 0x49742400 80a293c: 3dcccccd .word 0x3dcccccd 80a2940: 4b189680 .word 0x4b189680 80a2944: 3c23d70a .word 0x3c23d70a 80a2948: 4cbebc20 .word 0x4cbebc20 80a294c: 3a83126f .word 0x3a83126f if(f < 1000.0f) 80a2950: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2954: ed1f 7a0c vldr s14, [pc, #-48] ; 80a2928 80a2958: eef4 7ac7 vcmpe.f32 s15, s14 80a295c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2960: d515 bpl.n 80a298e k = (uint32_t) (roundf(f * 100)); 80a2962: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2966: ed1f 7a0f vldr s14, [pc, #-60] ; 80a292c 80a296a: ee67 7a87 vmul.f32 s15, s15, s14 80a296e: eeb0 0a67 vmov.f32 s0, s15 80a2972: f028 f987 bl 80cac84 80a2976: eef0 7a40 vmov.f32 s15, s0 80a297a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a297e: ee17 3a90 vmov r3, s15 80a2982: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a2984: 2303 movs r3, #3 80a2986: 657b str r3, [r7, #84] ; 0x54 m = 0; 80a2988: 2300 movs r3, #0 80a298a: 64fb str r3, [r7, #76] ; 0x4c 80a298c: e0b8 b.n 80a2b00 if(f < 10000.0f) 80a298e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2992: ed1f 7a19 vldr s14, [pc, #-100] ; 80a2930 80a2996: eef4 7ac7 vcmpe.f32 s15, s14 80a299a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a299e: d515 bpl.n 80a29cc k = (uint32_t) (roundf(f * 10)); 80a29a0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a29a4: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a29a8: ee67 7a87 vmul.f32 s15, s15, s14 80a29ac: eeb0 0a67 vmov.f32 s0, s15 80a29b0: f028 f968 bl 80cac84 80a29b4: eef0 7a40 vmov.f32 s15, s0 80a29b8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a29bc: ee17 3a90 vmov r3, s15 80a29c0: 65bb str r3, [r7, #88] ; 0x58 t = 1; 80a29c2: 2301 movs r3, #1 80a29c4: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a29c6: 2301 movs r3, #1 80a29c8: 64fb str r3, [r7, #76] ; 0x4c 80a29ca: e099 b.n 80a2b00 if(f < 100000.0f) 80a29cc: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a29d0: ed1f 7a28 vldr s14, [pc, #-160] ; 80a2934 80a29d4: eef4 7ac7 vcmpe.f32 s15, s14 80a29d8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a29dc: d511 bpl.n 80a2a02 k = (uint32_t) (roundf(f)); 80a29de: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a29e2: eeb0 0a67 vmov.f32 s0, s15 80a29e6: f028 f94d bl 80cac84 80a29ea: eef0 7a40 vmov.f32 s15, s0 80a29ee: eefc 7ae7 vcvt.u32.f32 s15, s15 80a29f2: ee17 3a90 vmov r3, s15 80a29f6: 65bb str r3, [r7, #88] ; 0x58 t = 2; 80a29f8: 2302 movs r3, #2 80a29fa: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a29fc: 2301 movs r3, #1 80a29fe: 64fb str r3, [r7, #76] ; 0x4c 80a2a00: e07e b.n 80a2b00 if(f < 1000000.0f) 80a2a02: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a06: ed1f 7a34 vldr s14, [pc, #-208] ; 80a2938 80a2a0a: eef4 7ac7 vcmpe.f32 s15, s14 80a2a0e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2a12: d515 bpl.n 80a2a40 k = (uint32_t) (roundf(f * 0.1f)); 80a2a14: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a18: ed1f 7a38 vldr s14, [pc, #-224] ; 80a293c 80a2a1c: ee67 7a87 vmul.f32 s15, s15, s14 80a2a20: eeb0 0a67 vmov.f32 s0, s15 80a2a24: f028 f92e bl 80cac84 80a2a28: eef0 7a40 vmov.f32 s15, s0 80a2a2c: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2a30: ee17 3a90 vmov r3, s15 80a2a34: 65bb str r3, [r7, #88] ; 0x58 t = 3; 80a2a36: 2303 movs r3, #3 80a2a38: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2a3a: 2301 movs r3, #1 80a2a3c: 64fb str r3, [r7, #76] ; 0x4c 80a2a3e: e05f b.n 80a2b00 if(f < 10000000.0f) 80a2a40: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a44: ed1f 7a42 vldr s14, [pc, #-264] ; 80a2940 80a2a48: eef4 7ac7 vcmpe.f32 s15, s14 80a2a4c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2a50: d515 bpl.n 80a2a7e k = (uint32_t) (roundf(f * 0.01f)); 80a2a52: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a56: ed1f 7a45 vldr s14, [pc, #-276] ; 80a2944 80a2a5a: ee67 7a87 vmul.f32 s15, s15, s14 80a2a5e: eeb0 0a67 vmov.f32 s0, s15 80a2a62: f028 f90f bl 80cac84 80a2a66: eef0 7a40 vmov.f32 s15, s0 80a2a6a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2a6e: ee17 3a90 vmov r3, s15 80a2a72: 65bb str r3, [r7, #88] ; 0x58 t = 4; 80a2a74: 2304 movs r3, #4 80a2a76: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2a78: 2301 movs r3, #1 80a2a7a: 64fb str r3, [r7, #76] ; 0x4c 80a2a7c: e040 b.n 80a2b00 if(f < 100000000.0f) 80a2a7e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a82: ed1f 7a4f vldr s14, [pc, #-316] ; 80a2948 80a2a86: eef4 7ac7 vcmpe.f32 s15, s14 80a2a8a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2a8e: d51b bpl.n 80a2ac8 k = (uint32_t) (roundf(f * 0.001f)); 80a2a90: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2a94: ed1f 7a53 vldr s14, [pc, #-332] ; 80a294c 80a2a98: ee67 7a87 vmul.f32 s15, s15, s14 80a2a9c: eeb0 0a67 vmov.f32 s0, s15 80a2aa0: f028 f8f0 bl 80cac84 80a2aa4: eef0 7a40 vmov.f32 s15, s0 80a2aa8: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2aac: ee17 3a90 vmov r3, s15 80a2ab0: 65bb str r3, [r7, #88] ; 0x58 if(k >= 100000) 80a2ab2: 6dbb ldr r3, [r7, #88] ; 0x58 80a2ab4: 4aba ldr r2, [pc, #744] ; (80a2da0 ) 80a2ab6: 4293 cmp r3, r2 80a2ab8: d901 bls.n 80a2abe k = 99999; 80a2aba: 4bb9 ldr r3, [pc, #740] ; (80a2da0 ) 80a2abc: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a2abe: 2300 movs r3, #0 80a2ac0: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2ac2: 2301 movs r3, #1 80a2ac4: 64fb str r3, [r7, #76] ; 0x4c 80a2ac6: e01b b.n 80a2b00 if(f >= 100000000.0f) 80a2ac8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2acc: ed9f 7ab5 vldr s14, [pc, #724] ; 80a2da4 80a2ad0: eef4 7ac7 vcmpe.f32 s15, s14 80a2ad4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2ad8: db12 blt.n 80a2b00 f = 99999.0f; 80a2ada: 4bb3 ldr r3, [pc, #716] ; (80a2da8 ) 80a2adc: 647b str r3, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f)); 80a2ade: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a2ae2: eeb0 0a67 vmov.f32 s0, s15 80a2ae6: f028 f8cd bl 80cac84 80a2aea: eef0 7a40 vmov.f32 s15, s0 80a2aee: eefc 7ae7 vcvt.u32.f32 s15, s15 80a2af2: ee17 3a90 vmov r3, s15 80a2af6: 65bb str r3, [r7, #88] ; 0x58 t = 0; 80a2af8: 2300 movs r3, #0 80a2afa: 657b str r3, [r7, #84] ; 0x54 m = 1; 80a2afc: 2301 movs r3, #1 80a2afe: 64fb str r3, [r7, #76] ; 0x4c ik[ipr][0] = (uint8_t) (k / 10000); 80a2b00: 6d3a ldr r2, [r7, #80] ; 0x50 80a2b02: 6dbb ldr r3, [r7, #88] ; 0x58 80a2b04: 49a9 ldr r1, [pc, #676] ; (80a2dac ) 80a2b06: fba1 1303 umull r1, r3, r1, r3 80a2b0a: 0b5b lsrs r3, r3, #13 80a2b0c: b2d9 uxtb r1, r3 80a2b0e: 4613 mov r3, r2 80a2b10: 009b lsls r3, r3, #2 80a2b12: 4413 add r3, r2 80a2b14: f107 0268 add.w r2, r7, #104 ; 0x68 80a2b18: 4413 add r3, r2 80a2b1a: 3b34 subs r3, #52 ; 0x34 80a2b1c: 460a mov r2, r1 80a2b1e: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10000 / 1000); 80a2b20: 6d39 ldr r1, [r7, #80] ; 0x50 80a2b22: 6dba ldr r2, [r7, #88] ; 0x58 80a2b24: 4ba1 ldr r3, [pc, #644] ; (80a2dac ) 80a2b26: fba3 0302 umull r0, r3, r3, r2 80a2b2a: 0b5b lsrs r3, r3, #13 80a2b2c: f242 7010 movw r0, #10000 ; 0x2710 80a2b30: fb00 f303 mul.w r3, r0, r3 80a2b34: 1ad3 subs r3, r2, r3 80a2b36: 4a9e ldr r2, [pc, #632] ; (80a2db0 ) 80a2b38: fba2 2303 umull r2, r3, r2, r3 80a2b3c: 099b lsrs r3, r3, #6 80a2b3e: b2da uxtb r2, r3 80a2b40: 460b mov r3, r1 80a2b42: 009b lsls r3, r3, #2 80a2b44: 440b add r3, r1 80a2b46: f107 0168 add.w r1, r7, #104 ; 0x68 80a2b4a: 440b add r3, r1 80a2b4c: 3b33 subs r3, #51 ; 0x33 80a2b4e: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 10000 % 1000 / 100); 80a2b50: 6d39 ldr r1, [r7, #80] ; 0x50 80a2b52: 6dba ldr r2, [r7, #88] ; 0x58 80a2b54: 4b95 ldr r3, [pc, #596] ; (80a2dac ) 80a2b56: fba3 0302 umull r0, r3, r3, r2 80a2b5a: 0b5b lsrs r3, r3, #13 80a2b5c: f242 7010 movw r0, #10000 ; 0x2710 80a2b60: fb00 f303 mul.w r3, r0, r3 80a2b64: 1ad3 subs r3, r2, r3 80a2b66: 4a92 ldr r2, [pc, #584] ; (80a2db0 ) 80a2b68: fba2 0203 umull r0, r2, r2, r3 80a2b6c: 0992 lsrs r2, r2, #6 80a2b6e: f44f 707a mov.w r0, #1000 ; 0x3e8 80a2b72: fb00 f202 mul.w r2, r0, r2 80a2b76: 1a9a subs r2, r3, r2 80a2b78: 4b8e ldr r3, [pc, #568] ; (80a2db4 ) 80a2b7a: fba3 2302 umull r2, r3, r3, r2 80a2b7e: 095b lsrs r3, r3, #5 80a2b80: b2da uxtb r2, r3 80a2b82: 460b mov r3, r1 80a2b84: 009b lsls r3, r3, #2 80a2b86: 440b add r3, r1 80a2b88: f107 0168 add.w r1, r7, #104 ; 0x68 80a2b8c: 440b add r3, r1 80a2b8e: 3b32 subs r3, #50 ; 0x32 80a2b90: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 10000 % 1000 % 100 / 10); 80a2b92: 6d39 ldr r1, [r7, #80] ; 0x50 80a2b94: 6dbb ldr r3, [r7, #88] ; 0x58 80a2b96: 4a85 ldr r2, [pc, #532] ; (80a2dac ) 80a2b98: fba2 0203 umull r0, r2, r2, r3 80a2b9c: 0b52 lsrs r2, r2, #13 80a2b9e: f242 7010 movw r0, #10000 ; 0x2710 80a2ba2: fb00 f202 mul.w r2, r0, r2 80a2ba6: 1a9a subs r2, r3, r2 80a2ba8: 4b81 ldr r3, [pc, #516] ; (80a2db0 ) 80a2baa: fba3 0302 umull r0, r3, r3, r2 80a2bae: 099b lsrs r3, r3, #6 80a2bb0: f44f 707a mov.w r0, #1000 ; 0x3e8 80a2bb4: fb00 f303 mul.w r3, r0, r3 80a2bb8: 1ad3 subs r3, r2, r3 80a2bba: 4a7e ldr r2, [pc, #504] ; (80a2db4 ) 80a2bbc: fba2 0203 umull r0, r2, r2, r3 80a2bc0: 0952 lsrs r2, r2, #5 80a2bc2: 2064 movs r0, #100 ; 0x64 80a2bc4: fb00 f202 mul.w r2, r0, r2 80a2bc8: 1a9a subs r2, r3, r2 80a2bca: 4b7b ldr r3, [pc, #492] ; (80a2db8 ) 80a2bcc: fba3 2302 umull r2, r3, r3, r2 80a2bd0: 08db lsrs r3, r3, #3 80a2bd2: b2da uxtb r2, r3 80a2bd4: 460b mov r3, r1 80a2bd6: 009b lsls r3, r3, #2 80a2bd8: 440b add r3, r1 80a2bda: f107 0168 add.w r1, r7, #104 ; 0x68 80a2bde: 440b add r3, r1 80a2be0: 3b31 subs r3, #49 ; 0x31 80a2be2: 701a strb r2, [r3, #0] ik[ipr][4] = (uint8_t) (k % 10000 % 1000 % 100 % 10); 80a2be4: 6d38 ldr r0, [r7, #80] ; 0x50 80a2be6: 6dbb ldr r3, [r7, #88] ; 0x58 80a2be8: 4a70 ldr r2, [pc, #448] ; (80a2dac ) 80a2bea: fba2 1203 umull r1, r2, r2, r3 80a2bee: 0b52 lsrs r2, r2, #13 80a2bf0: f242 7110 movw r1, #10000 ; 0x2710 80a2bf4: fb01 f202 mul.w r2, r1, r2 80a2bf8: 1a9a subs r2, r3, r2 80a2bfa: 4b6d ldr r3, [pc, #436] ; (80a2db0 ) 80a2bfc: fba3 1302 umull r1, r3, r3, r2 80a2c00: 099b lsrs r3, r3, #6 80a2c02: f44f 717a mov.w r1, #1000 ; 0x3e8 80a2c06: fb01 f303 mul.w r3, r1, r3 80a2c0a: 1ad3 subs r3, r2, r3 80a2c0c: 4a69 ldr r2, [pc, #420] ; (80a2db4 ) 80a2c0e: fba2 1203 umull r1, r2, r2, r3 80a2c12: 0952 lsrs r2, r2, #5 80a2c14: 2164 movs r1, #100 ; 0x64 80a2c16: fb01 f202 mul.w r2, r1, r2 80a2c1a: 1a9a subs r2, r3, r2 80a2c1c: 4b66 ldr r3, [pc, #408] ; (80a2db8 ) 80a2c1e: fba3 1302 umull r1, r3, r3, r2 80a2c22: 08d9 lsrs r1, r3, #3 80a2c24: 460b mov r3, r1 80a2c26: 009b lsls r3, r3, #2 80a2c28: 440b add r3, r1 80a2c2a: 005b lsls r3, r3, #1 80a2c2c: 1ad1 subs r1, r2, r3 80a2c2e: b2ca uxtb r2, r1 80a2c30: 4603 mov r3, r0 80a2c32: 009b lsls r3, r3, #2 80a2c34: 4403 add r3, r0 80a2c36: f107 0168 add.w r1, r7, #104 ; 0x68 80a2c3a: 440b add r3, r1 80a2c3c: 3b30 subs r3, #48 ; 0x30 80a2c3e: 701a strb r2, [r3, #0] if(skz[ipr] != -1.0f) // 80a2c40: 6d3b ldr r3, [r7, #80] ; 0x50 80a2c42: 4a5e ldr r2, [pc, #376] ; (80a2dbc ) 80a2c44: 009b lsls r3, r3, #2 80a2c46: 4413 add r3, r2 80a2c48: edd3 7a00 vldr s15, [r3] 80a2c4c: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a2c50: eef4 7a47 vcmp.f32 s15, s14 80a2c54: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2c58: f000 82a5 beq.w 80a31a6 if(ipr == ACC) 80a2c5c: 6d3b ldr r3, [r7, #80] ; 0x50 80a2c5e: 2b00 cmp r3, #0 80a2c60: f040 80de bne.w 80a2e20 if(!t) 80a2c64: 6d7b ldr r3, [r7, #84] ; 0x54 80a2c66: 2b00 cmp r3, #0 80a2c68: d126 bne.n 80a2cb8 for(i = 0; i < 5; i++) 80a2c6a: 2300 movs r3, #0 80a2c6c: 65fb str r3, [r7, #92] ; 0x5c 80a2c6e: e01f b.n 80a2cb0 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a2c70: 6d3a ldr r2, [r7, #80] ; 0x50 80a2c72: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2c74: 4613 mov r3, r2 80a2c76: 009b lsls r3, r3, #2 80a2c78: 4413 add r3, r2 80a2c7a: f107 0268 add.w r2, r7, #104 ; 0x68 80a2c7e: 4413 add r3, r2 80a2c80: 440b add r3, r1 80a2c82: 3b34 subs r3, #52 ; 0x34 80a2c84: 781b ldrb r3, [r3, #0] 80a2c86: b2db uxtb r3, r3 80a2c88: 461a mov r2, r3 80a2c8a: 4b4d ldr r3, [pc, #308] ; (80a2dc0 ) 80a2c8c: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2c90: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2c92: b29b uxth r3, r3 80a2c94: 461a mov r2, r3 80a2c96: 0112 lsls r2, r2, #4 80a2c98: 1ad3 subs r3, r2, r3 80a2c9a: 005b lsls r3, r3, #1 80a2c9c: b29b uxth r3, r3 80a2c9e: 335a adds r3, #90 ; 0x5a 80a2ca0: b29b uxth r3, r3 80a2ca2: 2256 movs r2, #86 ; 0x56 80a2ca4: 4619 mov r1, r3 80a2ca6: f7b1 fc91 bl 80545cc for(i = 0; i < 5; i++) 80a2caa: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2cac: 3301 adds r3, #1 80a2cae: 65fb str r3, [r7, #92] ; 0x5c 80a2cb0: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2cb2: 2b04 cmp r3, #4 80a2cb4: d9dc bls.n 80a2c70 80a2cb6: e05a b.n 80a2d6e for(i = 0; i < t; i++) 80a2cb8: 2300 movs r3, #0 80a2cba: 65fb str r3, [r7, #92] ; 0x5c 80a2cbc: e01f b.n 80a2cfe DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 68+18); 80a2cbe: 6d3a ldr r2, [r7, #80] ; 0x50 80a2cc0: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2cc2: 4613 mov r3, r2 80a2cc4: 009b lsls r3, r3, #2 80a2cc6: 4413 add r3, r2 80a2cc8: f107 0268 add.w r2, r7, #104 ; 0x68 80a2ccc: 4413 add r3, r2 80a2cce: 440b add r3, r1 80a2cd0: 3b34 subs r3, #52 ; 0x34 80a2cd2: 781b ldrb r3, [r3, #0] 80a2cd4: b2db uxtb r3, r3 80a2cd6: 461a mov r2, r3 80a2cd8: 4b39 ldr r3, [pc, #228] ; (80a2dc0 ) 80a2cda: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2cde: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2ce0: b29b uxth r3, r3 80a2ce2: 461a mov r2, r3 80a2ce4: 0112 lsls r2, r2, #4 80a2ce6: 1ad3 subs r3, r2, r3 80a2ce8: 005b lsls r3, r3, #1 80a2cea: b29b uxth r3, r3 80a2cec: 335a adds r3, #90 ; 0x5a 80a2cee: b29b uxth r3, r3 80a2cf0: 2256 movs r2, #86 ; 0x56 80a2cf2: 4619 mov r1, r3 80a2cf4: f7b1 fc6a bl 80545cc for(i = 0; i < t; i++) 80a2cf8: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2cfa: 3301 adds r3, #1 80a2cfc: 65fb str r3, [r7, #92] ; 0x5c 80a2cfe: 6dfa ldr r2, [r7, #92] ; 0x5c 80a2d00: 6d7b ldr r3, [r7, #84] ; 0x54 80a2d02: 429a cmp r2, r3 80a2d04: d3db bcc.n 80a2cbe DrawImage(&bmgpt, 95 + 30*t, 92+18); 80a2d06: 6d7b ldr r3, [r7, #84] ; 0x54 80a2d08: b29b uxth r3, r3 80a2d0a: 461a mov r2, r3 80a2d0c: 0112 lsls r2, r2, #4 80a2d0e: 1ad3 subs r3, r2, r3 80a2d10: 005b lsls r3, r3, #1 80a2d12: b29b uxth r3, r3 80a2d14: 335f adds r3, #95 ; 0x5f 80a2d16: b29b uxth r3, r3 80a2d18: 226e movs r2, #110 ; 0x6e 80a2d1a: 4619 mov r1, r3 80a2d1c: 4829 ldr r0, [pc, #164] ; (80a2dc4 ) 80a2d1e: f7b1 fc55 bl 80545cc for(i = t; i < 5; i++) 80a2d22: 6d7b ldr r3, [r7, #84] ; 0x54 80a2d24: 65fb str r3, [r7, #92] ; 0x5c 80a2d26: e01f b.n 80a2d68 DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 68+18); 80a2d28: 6d3a ldr r2, [r7, #80] ; 0x50 80a2d2a: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2d2c: 4613 mov r3, r2 80a2d2e: 009b lsls r3, r3, #2 80a2d30: 4413 add r3, r2 80a2d32: f107 0268 add.w r2, r7, #104 ; 0x68 80a2d36: 4413 add r3, r2 80a2d38: 440b add r3, r1 80a2d3a: 3b34 subs r3, #52 ; 0x34 80a2d3c: 781b ldrb r3, [r3, #0] 80a2d3e: b2db uxtb r3, r3 80a2d40: 461a mov r2, r3 80a2d42: 4b1f ldr r3, [pc, #124] ; (80a2dc0 ) 80a2d44: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2d48: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2d4a: b29b uxth r3, r3 80a2d4c: 461a mov r2, r3 80a2d4e: 0112 lsls r2, r2, #4 80a2d50: 1ad3 subs r3, r2, r3 80a2d52: 005b lsls r3, r3, #1 80a2d54: b29b uxth r3, r3 80a2d56: 336e adds r3, #110 ; 0x6e 80a2d58: b29b uxth r3, r3 80a2d5a: 2256 movs r2, #86 ; 0x56 80a2d5c: 4619 mov r1, r3 80a2d5e: f7b1 fc35 bl 80545cc for(i = t; i < 5; i++) 80a2d62: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2d64: 3301 adds r3, #1 80a2d66: 65fb str r3, [r7, #92] ; 0x5c 80a2d68: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2d6a: 2b04 cmp r3, #4 80a2d6c: d9dc bls.n 80a2d28 if(pardata.IVS[ACC] < PEAK_FACTOR) 80a2d6e: 4b16 ldr r3, [pc, #88] ; (80a2dc8 ) 80a2d70: 789b ldrb r3, [r3, #2] 80a2d72: b2db uxtb r3, r3 80a2d74: 2b02 cmp r3, #2 80a2d76: d838 bhi.n 80a2dea if(pardata.IIN != VOLTS) 80a2d78: 4b13 ldr r3, [pc, #76] ; (80a2dc8 ) 80a2d7a: 799b ldrb r3, [r3, #6] 80a2d7c: b2db uxtb r3, r3 80a2d7e: 2b02 cmp r3, #2 80a2d80: d026 beq.n 80a2dd0 DrawImage(BMG_MS[pardata.LANG], 265, 74+18); 80a2d82: 4b11 ldr r3, [pc, #68] ; (80a2dc8 ) 80a2d84: 7b1b ldrb r3, [r3, #12] 80a2d86: b2db uxtb r3, r3 80a2d88: 461a mov r2, r3 80a2d8a: 4b10 ldr r3, [pc, #64] ; (80a2dcc ) 80a2d8c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2d90: 225c movs r2, #92 ; 0x5c 80a2d92: f240 1109 movw r1, #265 ; 0x109 80a2d96: 4618 mov r0, r3 80a2d98: f7b1 fc18 bl 80545cc 80a2d9c: e025 b.n 80a2dea 80a2d9e: bf00 nop 80a2da0: 0001869f .word 0x0001869f 80a2da4: 4cbebc20 .word 0x4cbebc20 80a2da8: 47c34f80 .word 0x47c34f80 80a2dac: d1b71759 .word 0xd1b71759 80a2db0: 10624dd3 .word 0x10624dd3 80a2db4: 51eb851f .word 0x51eb851f 80a2db8: cccccccd .word 0xcccccccd 80a2dbc: 20021540 .word 0x20021540 80a2dc0: 20020124 .word 0x20020124 80a2dc4: 08167a54 .word 0x08167a54 80a2dc8: 20023e60 .word 0x20023e60 80a2dcc: 200200f4 .word 0x200200f4 else DrawImage(BMG_MV[pardata.LANG], 265, 74+18); 80a2dd0: 4bab ldr r3, [pc, #684] ; (80a3080 ) 80a2dd2: 7b1b ldrb r3, [r3, #12] 80a2dd4: b2db uxtb r3, r3 80a2dd6: 461a mov r2, r3 80a2dd8: 4baa ldr r3, [pc, #680] ; (80a3084 ) 80a2dda: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2dde: 225c movs r2, #92 ; 0x5c 80a2de0: f240 1109 movw r1, #265 ; 0x109 80a2de4: 4618 mov r0, r3 80a2de6: f7b1 fbf1 bl 80545cc if(pardata.IVS[ipr] == EXCESS) 80a2dea: 6d3b ldr r3, [r7, #80] ; 0x50 80a2dec: 4aa4 ldr r2, [pc, #656] ; (80a3080 ) 80a2dee: 4413 add r3, r2 80a2df0: 789b ldrb r3, [r3, #2] 80a2df2: b2db uxtb r3, r3 80a2df4: 2b04 cmp r3, #4 80a2df6: f040 8652 bne.w 80a3a9e if(skz[ipr] < 0.0f) { 80a2dfa: 6d3b ldr r3, [r7, #80] ; 0x50 80a2dfc: 4aa2 ldr r2, [pc, #648] ; (80a3088 ) 80a2dfe: 009b lsls r3, r3, #2 80a2e00: 4413 add r3, r2 80a2e02: edd3 7a00 vldr s15, [r3] 80a2e06: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2e0a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2e0e: f140 8646 bpl.w 80a3a9e DrawImage(&bmgminus, 78, 84+18); 80a2e12: 2266 movs r2, #102 ; 0x66 80a2e14: 214e movs r1, #78 ; 0x4e 80a2e16: 489d ldr r0, [pc, #628] ; (80a308c ) 80a2e18: f7b1 fbd8 bl 80545cc 80a2e1c: f000 be3f b.w 80a3a9e if(ipr == VEL) 80a2e20: 6d3b ldr r3, [r7, #80] ; 0x50 80a2e22: 2b01 cmp r3, #1 80a2e24: f040 80c5 bne.w 80a2fb2 if(!t) 80a2e28: 6d7b ldr r3, [r7, #84] ; 0x54 80a2e2a: 2b00 cmp r3, #0 80a2e2c: d126 bne.n 80a2e7c for(i = 0; i < 5; i++) 80a2e2e: 2300 movs r3, #0 80a2e30: 65fb str r3, [r7, #92] ; 0x5c 80a2e32: e01f b.n 80a2e74 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a2e34: 6d3a ldr r2, [r7, #80] ; 0x50 80a2e36: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2e38: 4613 mov r3, r2 80a2e3a: 009b lsls r3, r3, #2 80a2e3c: 4413 add r3, r2 80a2e3e: f107 0268 add.w r2, r7, #104 ; 0x68 80a2e42: 4413 add r3, r2 80a2e44: 440b add r3, r1 80a2e46: 3b34 subs r3, #52 ; 0x34 80a2e48: 781b ldrb r3, [r3, #0] 80a2e4a: b2db uxtb r3, r3 80a2e4c: 461a mov r2, r3 80a2e4e: 4b90 ldr r3, [pc, #576] ; (80a3090 ) 80a2e50: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2e54: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2e56: b29b uxth r3, r3 80a2e58: 461a mov r2, r3 80a2e5a: 0112 lsls r2, r2, #4 80a2e5c: 1ad3 subs r3, r2, r3 80a2e5e: 005b lsls r3, r3, #1 80a2e60: b29b uxth r3, r3 80a2e62: 335a adds r3, #90 ; 0x5a 80a2e64: b29b uxth r3, r3 80a2e66: 2282 movs r2, #130 ; 0x82 80a2e68: 4619 mov r1, r3 80a2e6a: f7b1 fbaf bl 80545cc for(i = 0; i < 5; i++) 80a2e6e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2e70: 3301 adds r3, #1 80a2e72: 65fb str r3, [r7, #92] ; 0x5c 80a2e74: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2e76: 2b04 cmp r3, #4 80a2e78: d9dc bls.n 80a2e34 80a2e7a: e05a b.n 80a2f32 for(i = 0; i < t; i++) 80a2e7c: 2300 movs r3, #0 80a2e7e: 65fb str r3, [r7, #92] ; 0x5c 80a2e80: e01f b.n 80a2ec2 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 121+9); 80a2e82: 6d3a ldr r2, [r7, #80] ; 0x50 80a2e84: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2e86: 4613 mov r3, r2 80a2e88: 009b lsls r3, r3, #2 80a2e8a: 4413 add r3, r2 80a2e8c: f107 0268 add.w r2, r7, #104 ; 0x68 80a2e90: 4413 add r3, r2 80a2e92: 440b add r3, r1 80a2e94: 3b34 subs r3, #52 ; 0x34 80a2e96: 781b ldrb r3, [r3, #0] 80a2e98: b2db uxtb r3, r3 80a2e9a: 461a mov r2, r3 80a2e9c: 4b7c ldr r3, [pc, #496] ; (80a3090 ) 80a2e9e: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2ea2: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2ea4: b29b uxth r3, r3 80a2ea6: 461a mov r2, r3 80a2ea8: 0112 lsls r2, r2, #4 80a2eaa: 1ad3 subs r3, r2, r3 80a2eac: 005b lsls r3, r3, #1 80a2eae: b29b uxth r3, r3 80a2eb0: 335a adds r3, #90 ; 0x5a 80a2eb2: b29b uxth r3, r3 80a2eb4: 2282 movs r2, #130 ; 0x82 80a2eb6: 4619 mov r1, r3 80a2eb8: f7b1 fb88 bl 80545cc for(i = 0; i < t; i++) 80a2ebc: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2ebe: 3301 adds r3, #1 80a2ec0: 65fb str r3, [r7, #92] ; 0x5c 80a2ec2: 6dfa ldr r2, [r7, #92] ; 0x5c 80a2ec4: 6d7b ldr r3, [r7, #84] ; 0x54 80a2ec6: 429a cmp r2, r3 80a2ec8: d3db bcc.n 80a2e82 DrawImage(&bmgpt, 95 + 30*t, 145+9); 80a2eca: 6d7b ldr r3, [r7, #84] ; 0x54 80a2ecc: b29b uxth r3, r3 80a2ece: 461a mov r2, r3 80a2ed0: 0112 lsls r2, r2, #4 80a2ed2: 1ad3 subs r3, r2, r3 80a2ed4: 005b lsls r3, r3, #1 80a2ed6: b29b uxth r3, r3 80a2ed8: 335f adds r3, #95 ; 0x5f 80a2eda: b29b uxth r3, r3 80a2edc: 229a movs r2, #154 ; 0x9a 80a2ede: 4619 mov r1, r3 80a2ee0: 486c ldr r0, [pc, #432] ; (80a3094 ) 80a2ee2: f7b1 fb73 bl 80545cc for(i = t; i < 5; i++) 80a2ee6: 6d7b ldr r3, [r7, #84] ; 0x54 80a2ee8: 65fb str r3, [r7, #92] ; 0x5c 80a2eea: e01f b.n 80a2f2c DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 121+9); 80a2eec: 6d3a ldr r2, [r7, #80] ; 0x50 80a2eee: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2ef0: 4613 mov r3, r2 80a2ef2: 009b lsls r3, r3, #2 80a2ef4: 4413 add r3, r2 80a2ef6: f107 0268 add.w r2, r7, #104 ; 0x68 80a2efa: 4413 add r3, r2 80a2efc: 440b add r3, r1 80a2efe: 3b34 subs r3, #52 ; 0x34 80a2f00: 781b ldrb r3, [r3, #0] 80a2f02: b2db uxtb r3, r3 80a2f04: 461a mov r2, r3 80a2f06: 4b62 ldr r3, [pc, #392] ; (80a3090 ) 80a2f08: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2f0c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2f0e: b29b uxth r3, r3 80a2f10: 461a mov r2, r3 80a2f12: 0112 lsls r2, r2, #4 80a2f14: 1ad3 subs r3, r2, r3 80a2f16: 005b lsls r3, r3, #1 80a2f18: b29b uxth r3, r3 80a2f1a: 336e adds r3, #110 ; 0x6e 80a2f1c: b29b uxth r3, r3 80a2f1e: 2282 movs r2, #130 ; 0x82 80a2f20: 4619 mov r1, r3 80a2f22: f7b1 fb53 bl 80545cc for(i = t; i < 5; i++) 80a2f26: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2f28: 3301 adds r3, #1 80a2f2a: 65fb str r3, [r7, #92] ; 0x5c 80a2f2c: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2f2e: 2b04 cmp r3, #4 80a2f30: d9dc bls.n 80a2eec if(pardata.IVS[VEL] < PEAK_FACTOR) 80a2f32: 4b53 ldr r3, [pc, #332] ; (80a3080 ) 80a2f34: 78db ldrb r3, [r3, #3] 80a2f36: b2db uxtb r3, r3 80a2f38: 2b02 cmp r3, #2 80a2f3a: d81f bhi.n 80a2f7c if(pardata.IIN != VOLTS) 80a2f3c: 4b50 ldr r3, [pc, #320] ; (80a3080 ) 80a2f3e: 799b ldrb r3, [r3, #6] 80a2f40: b2db uxtb r3, r3 80a2f42: 2b02 cmp r3, #2 80a2f44: d00d beq.n 80a2f62 DrawImage(BMG_MMS[pardata.LANG], 265, 128+9); 80a2f46: 4b4e ldr r3, [pc, #312] ; (80a3080 ) 80a2f48: 7b1b ldrb r3, [r3, #12] 80a2f4a: b2db uxtb r3, r3 80a2f4c: 461a mov r2, r3 80a2f4e: 4b52 ldr r3, [pc, #328] ; (80a3098 ) 80a2f50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2f54: 2289 movs r2, #137 ; 0x89 80a2f56: f240 1109 movw r1, #265 ; 0x109 80a2f5a: 4618 mov r0, r3 80a2f5c: f7b1 fb36 bl 80545cc 80a2f60: e00c b.n 80a2f7c else DrawImage(BMG_MV[pardata.LANG], 265, 128+9); 80a2f62: 4b47 ldr r3, [pc, #284] ; (80a3080 ) 80a2f64: 7b1b ldrb r3, [r3, #12] 80a2f66: b2db uxtb r3, r3 80a2f68: 461a mov r2, r3 80a2f6a: 4b46 ldr r3, [pc, #280] ; (80a3084 ) 80a2f6c: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a2f70: 2289 movs r2, #137 ; 0x89 80a2f72: f240 1109 movw r1, #265 ; 0x109 80a2f76: 4618 mov r0, r3 80a2f78: f7b1 fb28 bl 80545cc if(pardata.IVS[ipr] == EXCESS) 80a2f7c: 6d3b ldr r3, [r7, #80] ; 0x50 80a2f7e: 4a40 ldr r2, [pc, #256] ; (80a3080 ) 80a2f80: 4413 add r3, r2 80a2f82: 789b ldrb r3, [r3, #2] 80a2f84: b2db uxtb r3, r3 80a2f86: 2b04 cmp r3, #4 80a2f88: f040 8589 bne.w 80a3a9e if(skz[ipr] < 0.0f) { 80a2f8c: 6d3b ldr r3, [r7, #80] ; 0x50 80a2f8e: 4a3e ldr r2, [pc, #248] ; (80a3088 ) 80a2f90: 009b lsls r3, r3, #2 80a2f92: 4413 add r3, r2 80a2f94: edd3 7a00 vldr s15, [r3] 80a2f98: eef5 7ac0 vcmpe.f32 s15, #0.0 80a2f9c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a2fa0: f140 857d bpl.w 80a3a9e DrawImage(&bmgminus, 78, 138+9); 80a2fa4: 2293 movs r2, #147 ; 0x93 80a2fa6: 214e movs r1, #78 ; 0x4e 80a2fa8: 4838 ldr r0, [pc, #224] ; (80a308c ) 80a2faa: f7b1 fb0f bl 80545cc 80a2fae: f000 bd76 b.w 80a3a9e if(ipr == DIS) 80a2fb2: 6d3b ldr r3, [r7, #80] ; 0x50 80a2fb4: 2b02 cmp r3, #2 80a2fb6: f040 8572 bne.w 80a3a9e if(!t) 80a2fba: 6d7b ldr r3, [r7, #84] ; 0x54 80a2fbc: 2b00 cmp r3, #0 80a2fbe: d126 bne.n 80a300e for(i = 0; i < 5; i++) 80a2fc0: 2300 movs r3, #0 80a2fc2: 65fb str r3, [r7, #92] ; 0x5c 80a2fc4: e01f b.n 80a3006 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a2fc6: 6d3a ldr r2, [r7, #80] ; 0x50 80a2fc8: 6df9 ldr r1, [r7, #92] ; 0x5c 80a2fca: 4613 mov r3, r2 80a2fcc: 009b lsls r3, r3, #2 80a2fce: 4413 add r3, r2 80a2fd0: f107 0268 add.w r2, r7, #104 ; 0x68 80a2fd4: 4413 add r3, r2 80a2fd6: 440b add r3, r1 80a2fd8: 3b34 subs r3, #52 ; 0x34 80a2fda: 781b ldrb r3, [r3, #0] 80a2fdc: b2db uxtb r3, r3 80a2fde: 461a mov r2, r3 80a2fe0: 4b2b ldr r3, [pc, #172] ; (80a3090 ) 80a2fe2: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a2fe6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a2fe8: b29b uxth r3, r3 80a2fea: 461a mov r2, r3 80a2fec: 0112 lsls r2, r2, #4 80a2fee: 1ad3 subs r3, r2, r3 80a2ff0: 005b lsls r3, r3, #1 80a2ff2: b29b uxth r3, r3 80a2ff4: 335a adds r3, #90 ; 0x5a 80a2ff6: b29b uxth r3, r3 80a2ff8: 22ae movs r2, #174 ; 0xae 80a2ffa: 4619 mov r1, r3 80a2ffc: f7b1 fae6 bl 80545cc for(i = 0; i < 5; i++) 80a3000: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3002: 3301 adds r3, #1 80a3004: 65fb str r3, [r7, #92] ; 0x5c 80a3006: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3008: 2b04 cmp r3, #4 80a300a: d9dc bls.n 80a2fc6 80a300c: e069 b.n 80a30e2 for(i = 0; i < t; i++) 80a300e: 2300 movs r3, #0 80a3010: 65fb str r3, [r7, #92] ; 0x5c 80a3012: e01f b.n 80a3054 DrawImage(NUMS[ik[ipr][i]], 90 + 30*i, 174); 80a3014: 6d3a ldr r2, [r7, #80] ; 0x50 80a3016: 6df9 ldr r1, [r7, #92] ; 0x5c 80a3018: 4613 mov r3, r2 80a301a: 009b lsls r3, r3, #2 80a301c: 4413 add r3, r2 80a301e: f107 0268 add.w r2, r7, #104 ; 0x68 80a3022: 4413 add r3, r2 80a3024: 440b add r3, r1 80a3026: 3b34 subs r3, #52 ; 0x34 80a3028: 781b ldrb r3, [r3, #0] 80a302a: b2db uxtb r3, r3 80a302c: 461a mov r2, r3 80a302e: 4b18 ldr r3, [pc, #96] ; (80a3090 ) 80a3030: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a3034: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3036: b29b uxth r3, r3 80a3038: 461a mov r2, r3 80a303a: 0112 lsls r2, r2, #4 80a303c: 1ad3 subs r3, r2, r3 80a303e: 005b lsls r3, r3, #1 80a3040: b29b uxth r3, r3 80a3042: 335a adds r3, #90 ; 0x5a 80a3044: b29b uxth r3, r3 80a3046: 22ae movs r2, #174 ; 0xae 80a3048: 4619 mov r1, r3 80a304a: f7b1 fabf bl 80545cc for(i = 0; i < t; i++) 80a304e: 6dfb ldr r3, [r7, #92] ; 0x5c 80a3050: 3301 adds r3, #1 80a3052: 65fb str r3, [r7, #92] ; 0x5c 80a3054: 6dfa ldr r2, [r7, #92] ; 0x5c 80a3056: 6d7b ldr r3, [r7, #84] ; 0x54 80a3058: 429a cmp r2, r3 80a305a: d3db bcc.n 80a3014 DrawImage(&bmgpt, 95 + 30*t, 198); 80a305c: 6d7b ldr r3, [r7, #84] ; 0x54 80a305e: b29b uxth r3, r3 80a3060: 461a mov r2, r3 80a3062: 0112 lsls r2, r2, #4 80a3064: 1ad3 subs r3, r2, r3 80a3066: 005b lsls r3, r3, #1 80a3068: b29b uxth r3, r3 80a306a: 335f adds r3, #95 ; 0x5f 80a306c: b29b uxth r3, r3 80a306e: 22c6 movs r2, #198 ; 0xc6 80a3070: 4619 mov r1, r3 80a3072: 4808 ldr r0, [pc, #32] ; (80a3094 ) 80a3074: f7b1 faaa bl 80545cc for(i = t; i < 5; i++) 80a3078: 6d7b ldr r3, [r7, #84] ; 0x54 80a307a: 65fb str r3, [r7, #92] ; 0x5c 80a307c: e02e b.n 80a30dc 80a307e: bf00 nop 80a3080: 20023e60 .word 0x20023e60 80a3084: 20020114 .word 0x20020114 80a3088: 20021540 .word 0x20021540 80a308c: 081679c8 .word 0x081679c8 80a3090: 20020124 .word 0x20020124 80a3094: 08167a54 .word 0x08167a54 80a3098: 200200fc .word 0x200200fc DrawImage(NUMS[ik[ipr][i]], 110 + 30*i, 174); 80a309c: 6d3a ldr r2, [r7, #80] ; 0x50 80a309e: 6df9 ldr r1, [r7, #92] ; 0x5c 80a30a0: 4613 mov r3, r2 80a30a2: 009b lsls r3, r3, #2 80a30a4: 4413 add r3, r2 80a30a6: f107 0268 add.w r2, r7, #104 ; 0x68 80a30aa: 4413 add r3, r2 80a30ac: 440b add r3, r1 80a30ae: 3b34 subs r3, #52 ; 0x34 80a30b0: 781b ldrb r3, [r3, #0] 80a30b2: b2db uxtb r3, r3 80a30b4: 461a mov r2, r3 80a30b6: 4bc7 ldr r3, [pc, #796] ; (80a33d4 ) 80a30b8: f853 0022 ldr.w r0, [r3, r2, lsl #2] 80a30bc: 6dfb ldr r3, [r7, #92] ; 0x5c 80a30be: b29b uxth r3, r3 80a30c0: 461a mov r2, r3 80a30c2: 0112 lsls r2, r2, #4 80a30c4: 1ad3 subs r3, r2, r3 80a30c6: 005b lsls r3, r3, #1 80a30c8: b29b uxth r3, r3 80a30ca: 336e adds r3, #110 ; 0x6e 80a30cc: b29b uxth r3, r3 80a30ce: 22ae movs r2, #174 ; 0xae 80a30d0: 4619 mov r1, r3 80a30d2: f7b1 fa7b bl 80545cc for(i = t; i < 5; i++) 80a30d6: 6dfb ldr r3, [r7, #92] ; 0x5c 80a30d8: 3301 adds r3, #1 80a30da: 65fb str r3, [r7, #92] ; 0x5c 80a30dc: 6dfb ldr r3, [r7, #92] ; 0x5c 80a30de: 2b04 cmp r3, #4 80a30e0: d9dc bls.n 80a309c if(pardata.IVS[DIS] < PEAK_FACTOR) 80a30e2: 4bbd ldr r3, [pc, #756] ; (80a33d8 ) 80a30e4: 791b ldrb r3, [r3, #4] 80a30e6: b2db uxtb r3, r3 80a30e8: 2b02 cmp r3, #2 80a30ea: d841 bhi.n 80a3170 if(pardata.IIN != VOLTS) 80a30ec: 4bba ldr r3, [pc, #744] ; (80a33d8 ) 80a30ee: 799b ldrb r3, [r3, #6] 80a30f0: b2db uxtb r3, r3 80a30f2: 2b02 cmp r3, #2 80a30f4: d01e beq.n 80a3134 if(m == 0) 80a30f6: 6cfb ldr r3, [r7, #76] ; 0x4c 80a30f8: 2b00 cmp r3, #0 80a30fa: d10d bne.n 80a3118 DrawImage(BMG_MKM[pardata.LANG], 265, 180); 80a30fc: 4bb6 ldr r3, [pc, #728] ; (80a33d8 ) 80a30fe: 7b1b ldrb r3, [r3, #12] 80a3100: b2db uxtb r3, r3 80a3102: 461a mov r2, r3 80a3104: 4bb5 ldr r3, [pc, #724] ; (80a33dc ) 80a3106: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a310a: 22b4 movs r2, #180 ; 0xb4 80a310c: f240 1109 movw r1, #265 ; 0x109 80a3110: 4618 mov r0, r3 80a3112: f7b1 fa5b bl 80545cc 80a3116: e02b b.n 80a3170 else DrawImage(BMG_MM[pardata.LANG], 265, 180); 80a3118: 4baf ldr r3, [pc, #700] ; (80a33d8 ) 80a311a: 7b1b ldrb r3, [r3, #12] 80a311c: b2db uxtb r3, r3 80a311e: 461a mov r2, r3 80a3120: 4baf ldr r3, [pc, #700] ; (80a33e0 ) 80a3122: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3126: 22b4 movs r2, #180 ; 0xb4 80a3128: f240 1109 movw r1, #265 ; 0x109 80a312c: 4618 mov r0, r3 80a312e: f7b1 fa4d bl 80545cc 80a3132: e01d b.n 80a3170 if(m == 0) 80a3134: 6cfb ldr r3, [r7, #76] ; 0x4c 80a3136: 2b00 cmp r3, #0 80a3138: d10d bne.n 80a3156 DrawImage(BMG_MV[pardata.LANG], 265, 180); 80a313a: 4ba7 ldr r3, [pc, #668] ; (80a33d8 ) 80a313c: 7b1b ldrb r3, [r3, #12] 80a313e: b2db uxtb r3, r3 80a3140: 461a mov r2, r3 80a3142: 4ba8 ldr r3, [pc, #672] ; (80a33e4 ) 80a3144: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3148: 22b4 movs r2, #180 ; 0xb4 80a314a: f240 1109 movw r1, #265 ; 0x109 80a314e: 4618 mov r0, r3 80a3150: f7b1 fa3c bl 80545cc 80a3154: e00c b.n 80a3170 else DrawImage(BMG_V[pardata.LANG], 265, 180); 80a3156: 4ba0 ldr r3, [pc, #640] ; (80a33d8 ) 80a3158: 7b1b ldrb r3, [r3, #12] 80a315a: b2db uxtb r3, r3 80a315c: 461a mov r2, r3 80a315e: 4ba2 ldr r3, [pc, #648] ; (80a33e8 ) 80a3160: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3164: 22b4 movs r2, #180 ; 0xb4 80a3166: f240 1109 movw r1, #265 ; 0x109 80a316a: 4618 mov r0, r3 80a316c: f7b1 fa2e bl 80545cc if(pardata.IVS[ipr] == EXCESS) 80a3170: 6d3b ldr r3, [r7, #80] ; 0x50 80a3172: 4a99 ldr r2, [pc, #612] ; (80a33d8 ) 80a3174: 4413 add r3, r2 80a3176: 789b ldrb r3, [r3, #2] 80a3178: b2db uxtb r3, r3 80a317a: 2b04 cmp r3, #4 80a317c: f040 848f bne.w 80a3a9e if(skz[ipr] < 0.0f) { 80a3180: 6d3b ldr r3, [r7, #80] ; 0x50 80a3182: 4a9a ldr r2, [pc, #616] ; (80a33ec ) 80a3184: 009b lsls r3, r3, #2 80a3186: 4413 add r3, r2 80a3188: edd3 7a00 vldr s15, [r3] 80a318c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3190: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3194: f140 8483 bpl.w 80a3a9e DrawImage(&bmgminus, 78, 190); 80a3198: 22be movs r2, #190 ; 0xbe 80a319a: 214e movs r1, #78 ; 0x4e 80a319c: 4894 ldr r0, [pc, #592] ; (80a33f0 ) 80a319e: f7b1 fa15 bl 80545cc 80a31a2: f000 bc7c b.w 80a3a9e if(skz[ACC] != -1.0f) 80a31a6: 4b91 ldr r3, [pc, #580] ; (80a33ec ) 80a31a8: edd3 7a00 vldr s15, [r3] 80a31ac: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a31b0: eef4 7a47 vcmp.f32 s15, s14 80a31b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a31b8: f000 8471 beq.w 80a3a9e if(ipr == VEL) 80a31bc: 6d3b ldr r3, [r7, #80] ; 0x50 80a31be: 2b01 cmp r3, #1 80a31c0: d116 bne.n 80a31f0 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a31c2: 498c ldr r1, [pc, #560] ; (80a33f4 ) 80a31c4: 488c ldr r0, [pc, #560] ; (80a33f8 ) 80a31c6: f7b0 fb0d bl 80537e4 if(pardata.LANG == RUS) 80a31ca: 4b83 ldr r3, [pc, #524] ; (80a33d8 ) 80a31cc: 7b1b ldrb r3, [r3, #12] 80a31ce: b2db uxtb r3, r3 80a31d0: 2b00 cmp r3, #0 80a31d2: d106 bne.n 80a31e2 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a31d4: 4a89 ldr r2, [pc, #548] ; (80a33fc ) 80a31d6: 2187 movs r1, #135 ; 0x87 80a31d8: 20a7 movs r0, #167 ; 0xa7 80a31da: f7b1 f8c3 bl 8054364 80a31de: f000 bc5e b.w 80a3a9e else LCD_DisplayStringC(167, 135, "NO DATA"); 80a31e2: 4a87 ldr r2, [pc, #540] ; (80a3400 ) 80a31e4: 2187 movs r1, #135 ; 0x87 80a31e6: 20a7 movs r0, #167 ; 0xa7 80a31e8: f7b1 f8bc bl 8054364 80a31ec: f000 bc57 b.w 80a3a9e if(ipr == DIS) 80a31f0: 6d3b ldr r3, [r7, #80] ; 0x50 80a31f2: 2b02 cmp r3, #2 80a31f4: f040 8453 bne.w 80a3a9e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a31f8: 497e ldr r1, [pc, #504] ; (80a33f4 ) 80a31fa: 487f ldr r0, [pc, #508] ; (80a33f8 ) 80a31fc: f7b0 faf2 bl 80537e4 if(pardata.LANG == RUS) 80a3200: 4b75 ldr r3, [pc, #468] ; (80a33d8 ) 80a3202: 7b1b ldrb r3, [r3, #12] 80a3204: b2db uxtb r3, r3 80a3206: 2b00 cmp r3, #0 80a3208: d106 bne.n 80a3218 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a320a: 4a7c ldr r2, [pc, #496] ; (80a33fc ) 80a320c: 21b9 movs r1, #185 ; 0xb9 80a320e: 20a7 movs r0, #167 ; 0xa7 80a3210: f7b1 f8a8 bl 8054364 80a3214: f000 bc43 b.w 80a3a9e else LCD_DisplayStringC(167, 185, "NO DATA"); 80a3218: 4a79 ldr r2, [pc, #484] ; (80a3400 ) 80a321a: 21b9 movs r1, #185 ; 0xb9 80a321c: 20a7 movs r0, #167 ; 0xa7 80a321e: f7b1 f8a1 bl 8054364 80a3222: f000 bc3c b.w 80a3a9e if(skz[ipr] != -1.0f) 80a3226: 6d3b ldr r3, [r7, #80] ; 0x50 80a3228: 4a70 ldr r2, [pc, #448] ; (80a33ec ) 80a322a: 009b lsls r3, r3, #2 80a322c: 4413 add r3, r2 80a322e: edd3 7a00 vldr s15, [r3] 80a3232: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a3236: eef4 7a47 vcmp.f32 s15, s14 80a323a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a323e: f000 83dc beq.w 80a39fa f = ABS(skzDB[ipr]); 80a3242: 6d3b ldr r3, [r7, #80] ; 0x50 80a3244: 4a6f ldr r2, [pc, #444] ; (80a3404 ) 80a3246: 009b lsls r3, r3, #2 80a3248: 4413 add r3, r2 80a324a: edd3 7a00 vldr s15, [r3] 80a324e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3252: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3256: dd06 ble.n 80a3266 80a3258: 6d3b ldr r3, [r7, #80] ; 0x50 80a325a: 4a6a ldr r2, [pc, #424] ; (80a3404 ) 80a325c: 009b lsls r3, r3, #2 80a325e: 4413 add r3, r2 80a3260: edd3 7a00 vldr s15, [r3] 80a3264: e007 b.n 80a3276 80a3266: 6d3b ldr r3, [r7, #80] ; 0x50 80a3268: 4a66 ldr r2, [pc, #408] ; (80a3404 ) 80a326a: 009b lsls r3, r3, #2 80a326c: 4413 add r3, r2 80a326e: edd3 7a00 vldr s15, [r3] 80a3272: eef1 7a67 vneg.f32 s15, s15 80a3276: edc7 7a11 vstr s15, [r7, #68] ; 0x44 k = (uint32_t) (roundf(f * 10 + 0.5f)); 80a327a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a327e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a3282: ee67 7a87 vmul.f32 s15, s15, s14 80a3286: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a328a: ee77 7a87 vadd.f32 s15, s15, s14 80a328e: eeb0 0a67 vmov.f32 s0, s15 80a3292: f027 fcf7 bl 80cac84 80a3296: eef0 7a40 vmov.f32 s15, s0 80a329a: eefc 7ae7 vcvt.u32.f32 s15, s15 80a329e: ee17 3a90 vmov r3, s15 80a32a2: 65bb str r3, [r7, #88] ; 0x58 if(f < 10.0f) 80a32a4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a32a8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a32ac: eef4 7ac7 vcmpe.f32 s15, s14 80a32b0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a32b4: f140 80e4 bpl.w 80a3480 ik[ipr][0] = (uint8_t) (k / 10); 80a32b8: 6d3a ldr r2, [r7, #80] ; 0x50 80a32ba: 6dbb ldr r3, [r7, #88] ; 0x58 80a32bc: 4952 ldr r1, [pc, #328] ; (80a3408 ) 80a32be: fba1 1303 umull r1, r3, r1, r3 80a32c2: 08db lsrs r3, r3, #3 80a32c4: b2d9 uxtb r1, r3 80a32c6: 4613 mov r3, r2 80a32c8: 009b lsls r3, r3, #2 80a32ca: 4413 add r3, r2 80a32cc: f107 0268 add.w r2, r7, #104 ; 0x68 80a32d0: 4413 add r3, r2 80a32d2: 3b34 subs r3, #52 ; 0x34 80a32d4: 460a mov r2, r1 80a32d6: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 10); 80a32d8: 6d38 ldr r0, [r7, #80] ; 0x50 80a32da: 6db9 ldr r1, [r7, #88] ; 0x58 80a32dc: 4b4a ldr r3, [pc, #296] ; (80a3408 ) 80a32de: fba3 2301 umull r2, r3, r3, r1 80a32e2: 08da lsrs r2, r3, #3 80a32e4: 4613 mov r3, r2 80a32e6: 009b lsls r3, r3, #2 80a32e8: 4413 add r3, r2 80a32ea: 005b lsls r3, r3, #1 80a32ec: 1aca subs r2, r1, r3 80a32ee: b2d2 uxtb r2, r2 80a32f0: 4603 mov r3, r0 80a32f2: 009b lsls r3, r3, #2 80a32f4: 4403 add r3, r0 80a32f6: f107 0168 add.w r1, r7, #104 ; 0x68 80a32fa: 440b add r3, r1 80a32fc: 3b33 subs r3, #51 ; 0x33 80a32fe: 701a strb r2, [r3, #0] if(ipr == ACC) 80a3300: 6d3b ldr r3, [r7, #80] ; 0x50 80a3302: 2b00 cmp r3, #0 80a3304: d131 bne.n 80a336a DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 68+18); 80a3306: 6d3a ldr r2, [r7, #80] ; 0x50 80a3308: 4613 mov r3, r2 80a330a: 009b lsls r3, r3, #2 80a330c: 4413 add r3, r2 80a330e: f107 0268 add.w r2, r7, #104 ; 0x68 80a3312: 4413 add r3, r2 80a3314: 3b33 subs r3, #51 ; 0x33 80a3316: 781b ldrb r3, [r3, #0] 80a3318: b2db uxtb r3, r3 80a331a: 461a mov r2, r3 80a331c: 4b2d ldr r3, [pc, #180] ; (80a33d4 ) 80a331e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3322: 2256 movs r2, #86 ; 0x56 80a3324: 21e6 movs r1, #230 ; 0xe6 80a3326: 4618 mov r0, r3 80a3328: f7b1 f950 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a332c: 226e movs r2, #110 ; 0x6e 80a332e: 21d7 movs r1, #215 ; 0xd7 80a3330: 4836 ldr r0, [pc, #216] ; (80a340c ) 80a3332: f7b1 f94b bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 68+18); 80a3336: 6d3a ldr r2, [r7, #80] ; 0x50 80a3338: 4613 mov r3, r2 80a333a: 009b lsls r3, r3, #2 80a333c: 4413 add r3, r2 80a333e: f107 0268 add.w r2, r7, #104 ; 0x68 80a3342: 4413 add r3, r2 80a3344: 3b34 subs r3, #52 ; 0x34 80a3346: 781b ldrb r3, [r3, #0] 80a3348: b2db uxtb r3, r3 80a334a: 461a mov r2, r3 80a334c: 4b21 ldr r3, [pc, #132] ; (80a33d4 ) 80a334e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3352: 2256 movs r2, #86 ; 0x56 80a3354: 21b4 movs r1, #180 ; 0xb4 80a3356: 4618 mov r0, r3 80a3358: f7b1 f938 bl 80545cc DrawImage(&bmg_dB, 265, 74+18); 80a335c: 225c movs r2, #92 ; 0x5c 80a335e: f240 1109 movw r1, #265 ; 0x109 80a3362: 482b ldr r0, [pc, #172] ; (80a3410 ) 80a3364: f7b1 f932 bl 80545cc 80a3368: e399 b.n 80a3a9e if(ipr == VEL) 80a336a: 6d3b ldr r3, [r7, #80] ; 0x50 80a336c: 2b01 cmp r3, #1 80a336e: d151 bne.n 80a3414 DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 121+9); 80a3370: 6d3a ldr r2, [r7, #80] ; 0x50 80a3372: 4613 mov r3, r2 80a3374: 009b lsls r3, r3, #2 80a3376: 4413 add r3, r2 80a3378: f107 0268 add.w r2, r7, #104 ; 0x68 80a337c: 4413 add r3, r2 80a337e: 3b33 subs r3, #51 ; 0x33 80a3380: 781b ldrb r3, [r3, #0] 80a3382: b2db uxtb r3, r3 80a3384: 461a mov r2, r3 80a3386: 4b13 ldr r3, [pc, #76] ; (80a33d4 ) 80a3388: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a338c: 2282 movs r2, #130 ; 0x82 80a338e: 21e6 movs r1, #230 ; 0xe6 80a3390: 4618 mov r0, r3 80a3392: f7b1 f91b bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a3396: 229a movs r2, #154 ; 0x9a 80a3398: 21d7 movs r1, #215 ; 0xd7 80a339a: 481c ldr r0, [pc, #112] ; (80a340c ) 80a339c: f7b1 f916 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 121+9); 80a33a0: 6d3a ldr r2, [r7, #80] ; 0x50 80a33a2: 4613 mov r3, r2 80a33a4: 009b lsls r3, r3, #2 80a33a6: 4413 add r3, r2 80a33a8: f107 0268 add.w r2, r7, #104 ; 0x68 80a33ac: 4413 add r3, r2 80a33ae: 3b34 subs r3, #52 ; 0x34 80a33b0: 781b ldrb r3, [r3, #0] 80a33b2: b2db uxtb r3, r3 80a33b4: 461a mov r2, r3 80a33b6: 4b07 ldr r3, [pc, #28] ; (80a33d4 ) 80a33b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a33bc: 2282 movs r2, #130 ; 0x82 80a33be: 21b4 movs r1, #180 ; 0xb4 80a33c0: 4618 mov r0, r3 80a33c2: f7b1 f903 bl 80545cc DrawImage(&bmg_dB, 265, 128+9); 80a33c6: 2289 movs r2, #137 ; 0x89 80a33c8: f240 1109 movw r1, #265 ; 0x109 80a33cc: 4810 ldr r0, [pc, #64] ; (80a3410 ) 80a33ce: f7b1 f8fd bl 80545cc 80a33d2: e364 b.n 80a3a9e 80a33d4: 20020124 .word 0x20020124 80a33d8: 20023e60 .word 0x20023e60 80a33dc: 20020104 .word 0x20020104 80a33e0: 2002010c .word 0x2002010c 80a33e4: 20020114 .word 0x20020114 80a33e8: 2002011c .word 0x2002011c 80a33ec: 20021540 .word 0x20021540 80a33f0: 081679c8 .word 0x081679c8 80a33f4: ff0a0f1f .word 0xff0a0f1f 80a33f8: ffb8e828 .word 0xffb8e828 80a33fc: 080cfb2c .word 0x080cfb2c 80a3400: 080cfb38 .word 0x080cfb38 80a3404: 2002154c .word 0x2002154c 80a3408: cccccccd .word 0xcccccccd 80a340c: 08167a54 .word 0x08167a54 80a3410: 08162ca0 .word 0x08162ca0 if(ipr == DIS) 80a3414: 6d3b ldr r3, [r7, #80] ; 0x50 80a3416: 2b02 cmp r3, #2 80a3418: f040 8341 bne.w 80a3a9e DrawImage(NUMS[ik[ipr][1]], 110 + 30*4, 174); 80a341c: 6d3a ldr r2, [r7, #80] ; 0x50 80a341e: 4613 mov r3, r2 80a3420: 009b lsls r3, r3, #2 80a3422: 4413 add r3, r2 80a3424: f107 0268 add.w r2, r7, #104 ; 0x68 80a3428: 4413 add r3, r2 80a342a: 3b33 subs r3, #51 ; 0x33 80a342c: 781b ldrb r3, [r3, #0] 80a342e: b2db uxtb r3, r3 80a3430: 461a mov r2, r3 80a3432: 4ba6 ldr r3, [pc, #664] ; (80a36cc ) 80a3434: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3438: 22ae movs r2, #174 ; 0xae 80a343a: 21e6 movs r1, #230 ; 0xe6 80a343c: 4618 mov r0, r3 80a343e: f7b1 f8c5 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 198); 80a3442: 22c6 movs r2, #198 ; 0xc6 80a3444: 21d7 movs r1, #215 ; 0xd7 80a3446: 48a2 ldr r0, [pc, #648] ; (80a36d0 ) 80a3448: f7b1 f8c0 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*3, 174); 80a344c: 6d3a ldr r2, [r7, #80] ; 0x50 80a344e: 4613 mov r3, r2 80a3450: 009b lsls r3, r3, #2 80a3452: 4413 add r3, r2 80a3454: f107 0268 add.w r2, r7, #104 ; 0x68 80a3458: 4413 add r3, r2 80a345a: 3b34 subs r3, #52 ; 0x34 80a345c: 781b ldrb r3, [r3, #0] 80a345e: b2db uxtb r3, r3 80a3460: 461a mov r2, r3 80a3462: 4b9a ldr r3, [pc, #616] ; (80a36cc ) 80a3464: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3468: 22ae movs r2, #174 ; 0xae 80a346a: 21b4 movs r1, #180 ; 0xb4 80a346c: 4618 mov r0, r3 80a346e: f7b1 f8ad bl 80545cc DrawImage(&bmg_dB, 265, 180); 80a3472: 22b4 movs r2, #180 ; 0xb4 80a3474: f240 1109 movw r1, #265 ; 0x109 80a3478: 4896 ldr r0, [pc, #600] ; (80a36d4 ) 80a347a: f7b1 f8a7 bl 80545cc 80a347e: e30e b.n 80a3a9e if(f < 100.0f) 80a3480: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3484: ed9f 7a94 vldr s14, [pc, #592] ; 80a36d8 80a3488: eef4 7ac7 vcmpe.f32 s15, s14 80a348c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3490: f140 812a bpl.w 80a36e8 ik[ipr][0] = (uint8_t) (k / 100); 80a3494: 6d3a ldr r2, [r7, #80] ; 0x50 80a3496: 6dbb ldr r3, [r7, #88] ; 0x58 80a3498: 4990 ldr r1, [pc, #576] ; (80a36dc ) 80a349a: fba1 1303 umull r1, r3, r1, r3 80a349e: 095b lsrs r3, r3, #5 80a34a0: b2d9 uxtb r1, r3 80a34a2: 4613 mov r3, r2 80a34a4: 009b lsls r3, r3, #2 80a34a6: 4413 add r3, r2 80a34a8: f107 0268 add.w r2, r7, #104 ; 0x68 80a34ac: 4413 add r3, r2 80a34ae: 3b34 subs r3, #52 ; 0x34 80a34b0: 460a mov r2, r1 80a34b2: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 100 / 10); 80a34b4: 6d39 ldr r1, [r7, #80] ; 0x50 80a34b6: 6dba ldr r2, [r7, #88] ; 0x58 80a34b8: 4b88 ldr r3, [pc, #544] ; (80a36dc ) 80a34ba: fba3 0302 umull r0, r3, r3, r2 80a34be: 095b lsrs r3, r3, #5 80a34c0: 2064 movs r0, #100 ; 0x64 80a34c2: fb00 f303 mul.w r3, r0, r3 80a34c6: 1ad3 subs r3, r2, r3 80a34c8: 4a85 ldr r2, [pc, #532] ; (80a36e0 ) 80a34ca: fba2 2303 umull r2, r3, r2, r3 80a34ce: 08db lsrs r3, r3, #3 80a34d0: b2da uxtb r2, r3 80a34d2: 460b mov r3, r1 80a34d4: 009b lsls r3, r3, #2 80a34d6: 440b add r3, r1 80a34d8: f107 0168 add.w r1, r7, #104 ; 0x68 80a34dc: 440b add r3, r1 80a34de: 3b33 subs r3, #51 ; 0x33 80a34e0: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 100 % 10); 80a34e2: 6d38 ldr r0, [r7, #80] ; 0x50 80a34e4: 6dbb ldr r3, [r7, #88] ; 0x58 80a34e6: 4a7d ldr r2, [pc, #500] ; (80a36dc ) 80a34e8: fba2 1203 umull r1, r2, r2, r3 80a34ec: 0952 lsrs r2, r2, #5 80a34ee: 2164 movs r1, #100 ; 0x64 80a34f0: fb01 f202 mul.w r2, r1, r2 80a34f4: 1a9a subs r2, r3, r2 80a34f6: 4b7a ldr r3, [pc, #488] ; (80a36e0 ) 80a34f8: fba3 1302 umull r1, r3, r3, r2 80a34fc: 08d9 lsrs r1, r3, #3 80a34fe: 460b mov r3, r1 80a3500: 009b lsls r3, r3, #2 80a3502: 440b add r3, r1 80a3504: 005b lsls r3, r3, #1 80a3506: 1ad1 subs r1, r2, r3 80a3508: b2ca uxtb r2, r1 80a350a: 4603 mov r3, r0 80a350c: 009b lsls r3, r3, #2 80a350e: 4403 add r3, r0 80a3510: f107 0168 add.w r1, r7, #104 ; 0x68 80a3514: 440b add r3, r1 80a3516: 3b32 subs r3, #50 ; 0x32 80a3518: 701a strb r2, [r3, #0] if(ipr == ACC) 80a351a: 6d3b ldr r3, [r7, #80] ; 0x50 80a351c: 2b00 cmp r3, #0 80a351e: d144 bne.n 80a35aa DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 68+18); 80a3520: 6d3a ldr r2, [r7, #80] ; 0x50 80a3522: 4613 mov r3, r2 80a3524: 009b lsls r3, r3, #2 80a3526: 4413 add r3, r2 80a3528: f107 0268 add.w r2, r7, #104 ; 0x68 80a352c: 4413 add r3, r2 80a352e: 3b32 subs r3, #50 ; 0x32 80a3530: 781b ldrb r3, [r3, #0] 80a3532: b2db uxtb r3, r3 80a3534: 461a mov r2, r3 80a3536: 4b65 ldr r3, [pc, #404] ; (80a36cc ) 80a3538: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a353c: 2256 movs r2, #86 ; 0x56 80a353e: 21e6 movs r1, #230 ; 0xe6 80a3540: 4618 mov r0, r3 80a3542: f7b1 f843 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a3546: 226e movs r2, #110 ; 0x6e 80a3548: 21d7 movs r1, #215 ; 0xd7 80a354a: 4861 ldr r0, [pc, #388] ; (80a36d0 ) 80a354c: f7b1 f83e bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 68+18); 80a3550: 6d3a ldr r2, [r7, #80] ; 0x50 80a3552: 4613 mov r3, r2 80a3554: 009b lsls r3, r3, #2 80a3556: 4413 add r3, r2 80a3558: f107 0268 add.w r2, r7, #104 ; 0x68 80a355c: 4413 add r3, r2 80a355e: 3b33 subs r3, #51 ; 0x33 80a3560: 781b ldrb r3, [r3, #0] 80a3562: b2db uxtb r3, r3 80a3564: 461a mov r2, r3 80a3566: 4b59 ldr r3, [pc, #356] ; (80a36cc ) 80a3568: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a356c: 2256 movs r2, #86 ; 0x56 80a356e: 21b4 movs r1, #180 ; 0xb4 80a3570: 4618 mov r0, r3 80a3572: f7b1 f82b bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 68+18); 80a3576: 6d3a ldr r2, [r7, #80] ; 0x50 80a3578: 4613 mov r3, r2 80a357a: 009b lsls r3, r3, #2 80a357c: 4413 add r3, r2 80a357e: f107 0268 add.w r2, r7, #104 ; 0x68 80a3582: 4413 add r3, r2 80a3584: 3b34 subs r3, #52 ; 0x34 80a3586: 781b ldrb r3, [r3, #0] 80a3588: b2db uxtb r3, r3 80a358a: 461a mov r2, r3 80a358c: 4b4f ldr r3, [pc, #316] ; (80a36cc ) 80a358e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3592: 2256 movs r2, #86 ; 0x56 80a3594: 2196 movs r1, #150 ; 0x96 80a3596: 4618 mov r0, r3 80a3598: f7b1 f818 bl 80545cc DrawImage(&bmg_dB, 265, 74+18); 80a359c: 225c movs r2, #92 ; 0x5c 80a359e: f240 1109 movw r1, #265 ; 0x109 80a35a2: 484c ldr r0, [pc, #304] ; (80a36d4 ) 80a35a4: f7b1 f812 bl 80545cc 80a35a8: e279 b.n 80a3a9e if(ipr == VEL) 80a35aa: 6d3b ldr r3, [r7, #80] ; 0x50 80a35ac: 2b01 cmp r3, #1 80a35ae: d144 bne.n 80a363a DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 121+9); 80a35b0: 6d3a ldr r2, [r7, #80] ; 0x50 80a35b2: 4613 mov r3, r2 80a35b4: 009b lsls r3, r3, #2 80a35b6: 4413 add r3, r2 80a35b8: f107 0268 add.w r2, r7, #104 ; 0x68 80a35bc: 4413 add r3, r2 80a35be: 3b32 subs r3, #50 ; 0x32 80a35c0: 781b ldrb r3, [r3, #0] 80a35c2: b2db uxtb r3, r3 80a35c4: 461a mov r2, r3 80a35c6: 4b41 ldr r3, [pc, #260] ; (80a36cc ) 80a35c8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a35cc: 2282 movs r2, #130 ; 0x82 80a35ce: 21e6 movs r1, #230 ; 0xe6 80a35d0: 4618 mov r0, r3 80a35d2: f7b0 fffb bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a35d6: 229a movs r2, #154 ; 0x9a 80a35d8: 21d7 movs r1, #215 ; 0xd7 80a35da: 483d ldr r0, [pc, #244] ; (80a36d0 ) 80a35dc: f7b0 fff6 bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 121+9); 80a35e0: 6d3a ldr r2, [r7, #80] ; 0x50 80a35e2: 4613 mov r3, r2 80a35e4: 009b lsls r3, r3, #2 80a35e6: 4413 add r3, r2 80a35e8: f107 0268 add.w r2, r7, #104 ; 0x68 80a35ec: 4413 add r3, r2 80a35ee: 3b33 subs r3, #51 ; 0x33 80a35f0: 781b ldrb r3, [r3, #0] 80a35f2: b2db uxtb r3, r3 80a35f4: 461a mov r2, r3 80a35f6: 4b35 ldr r3, [pc, #212] ; (80a36cc ) 80a35f8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a35fc: 2282 movs r2, #130 ; 0x82 80a35fe: 21b4 movs r1, #180 ; 0xb4 80a3600: 4618 mov r0, r3 80a3602: f7b0 ffe3 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 121+9); 80a3606: 6d3a ldr r2, [r7, #80] ; 0x50 80a3608: 4613 mov r3, r2 80a360a: 009b lsls r3, r3, #2 80a360c: 4413 add r3, r2 80a360e: f107 0268 add.w r2, r7, #104 ; 0x68 80a3612: 4413 add r3, r2 80a3614: 3b34 subs r3, #52 ; 0x34 80a3616: 781b ldrb r3, [r3, #0] 80a3618: b2db uxtb r3, r3 80a361a: 461a mov r2, r3 80a361c: 4b2b ldr r3, [pc, #172] ; (80a36cc ) 80a361e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3622: 2282 movs r2, #130 ; 0x82 80a3624: 2196 movs r1, #150 ; 0x96 80a3626: 4618 mov r0, r3 80a3628: f7b0 ffd0 bl 80545cc DrawImage(&bmg_dB, 265, 128+9); 80a362c: 2289 movs r2, #137 ; 0x89 80a362e: f240 1109 movw r1, #265 ; 0x109 80a3632: 4828 ldr r0, [pc, #160] ; (80a36d4 ) 80a3634: f7b0 ffca bl 80545cc 80a3638: e231 b.n 80a3a9e if(ipr == DIS) 80a363a: 6d3b ldr r3, [r7, #80] ; 0x50 80a363c: 2b02 cmp r3, #2 80a363e: f040 822e bne.w 80a3a9e DrawImage(NUMS[ik[ipr][2]], 110 + 30*4, 174); 80a3642: 6d3a ldr r2, [r7, #80] ; 0x50 80a3644: 4613 mov r3, r2 80a3646: 009b lsls r3, r3, #2 80a3648: 4413 add r3, r2 80a364a: f107 0268 add.w r2, r7, #104 ; 0x68 80a364e: 4413 add r3, r2 80a3650: 3b32 subs r3, #50 ; 0x32 80a3652: 781b ldrb r3, [r3, #0] 80a3654: b2db uxtb r3, r3 80a3656: 461a mov r2, r3 80a3658: 4b1c ldr r3, [pc, #112] ; (80a36cc ) 80a365a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a365e: 22ae movs r2, #174 ; 0xae 80a3660: 21e6 movs r1, #230 ; 0xe6 80a3662: 4618 mov r0, r3 80a3664: f7b0 ffb2 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 198); 80a3668: 22c6 movs r2, #198 ; 0xc6 80a366a: 21d7 movs r1, #215 ; 0xd7 80a366c: 4818 ldr r0, [pc, #96] ; (80a36d0 ) 80a366e: f7b0 ffad bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*3, 174); 80a3672: 6d3a ldr r2, [r7, #80] ; 0x50 80a3674: 4613 mov r3, r2 80a3676: 009b lsls r3, r3, #2 80a3678: 4413 add r3, r2 80a367a: f107 0268 add.w r2, r7, #104 ; 0x68 80a367e: 4413 add r3, r2 80a3680: 3b33 subs r3, #51 ; 0x33 80a3682: 781b ldrb r3, [r3, #0] 80a3684: b2db uxtb r3, r3 80a3686: 461a mov r2, r3 80a3688: 4b10 ldr r3, [pc, #64] ; (80a36cc ) 80a368a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a368e: 22ae movs r2, #174 ; 0xae 80a3690: 21b4 movs r1, #180 ; 0xb4 80a3692: 4618 mov r0, r3 80a3694: f7b0 ff9a bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*2, 174); 80a3698: 6d3a ldr r2, [r7, #80] ; 0x50 80a369a: 4613 mov r3, r2 80a369c: 009b lsls r3, r3, #2 80a369e: 4413 add r3, r2 80a36a0: f107 0268 add.w r2, r7, #104 ; 0x68 80a36a4: 4413 add r3, r2 80a36a6: 3b34 subs r3, #52 ; 0x34 80a36a8: 781b ldrb r3, [r3, #0] 80a36aa: b2db uxtb r3, r3 80a36ac: 461a mov r2, r3 80a36ae: 4b07 ldr r3, [pc, #28] ; (80a36cc ) 80a36b0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a36b4: 22ae movs r2, #174 ; 0xae 80a36b6: 2196 movs r1, #150 ; 0x96 80a36b8: 4618 mov r0, r3 80a36ba: f7b0 ff87 bl 80545cc DrawImage(&bmg_dB, 265, 180); 80a36be: 22b4 movs r2, #180 ; 0xb4 80a36c0: f240 1109 movw r1, #265 ; 0x109 80a36c4: 4803 ldr r0, [pc, #12] ; (80a36d4 ) 80a36c6: f7b0 ff81 bl 80545cc 80a36ca: e1e8 b.n 80a3a9e 80a36cc: 20020124 .word 0x20020124 80a36d0: 08167a54 .word 0x08167a54 80a36d4: 08162ca0 .word 0x08162ca0 80a36d8: 42c80000 .word 0x42c80000 80a36dc: 51eb851f .word 0x51eb851f 80a36e0: cccccccd .word 0xcccccccd 80a36e4: 447a0000 .word 0x447a0000 if(f < 1000.0f) 80a36e8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a36ec: ed1f 7a03 vldr s14, [pc, #-12] ; 80a36e4 80a36f0: eef4 7ac7 vcmpe.f32 s15, s14 80a36f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a36f8: f140 81d1 bpl.w 80a3a9e ik[ipr][0] = (uint8_t) (k / 1000); 80a36fc: 6d3a ldr r2, [r7, #80] ; 0x50 80a36fe: 6dbb ldr r3, [r7, #88] ; 0x58 80a3700: 49cf ldr r1, [pc, #828] ; (80a3a40 ) 80a3702: fba1 1303 umull r1, r3, r1, r3 80a3706: 099b lsrs r3, r3, #6 80a3708: b2d9 uxtb r1, r3 80a370a: 4613 mov r3, r2 80a370c: 009b lsls r3, r3, #2 80a370e: 4413 add r3, r2 80a3710: f107 0268 add.w r2, r7, #104 ; 0x68 80a3714: 4413 add r3, r2 80a3716: 3b34 subs r3, #52 ; 0x34 80a3718: 460a mov r2, r1 80a371a: 701a strb r2, [r3, #0] ik[ipr][1] = (uint8_t) (k % 1000 / 100); 80a371c: 6d39 ldr r1, [r7, #80] ; 0x50 80a371e: 6dba ldr r2, [r7, #88] ; 0x58 80a3720: 4bc7 ldr r3, [pc, #796] ; (80a3a40 ) 80a3722: fba3 0302 umull r0, r3, r3, r2 80a3726: 099b lsrs r3, r3, #6 80a3728: f44f 707a mov.w r0, #1000 ; 0x3e8 80a372c: fb00 f303 mul.w r3, r0, r3 80a3730: 1ad3 subs r3, r2, r3 80a3732: 4ac4 ldr r2, [pc, #784] ; (80a3a44 ) 80a3734: fba2 2303 umull r2, r3, r2, r3 80a3738: 095b lsrs r3, r3, #5 80a373a: b2da uxtb r2, r3 80a373c: 460b mov r3, r1 80a373e: 009b lsls r3, r3, #2 80a3740: 440b add r3, r1 80a3742: f107 0168 add.w r1, r7, #104 ; 0x68 80a3746: 440b add r3, r1 80a3748: 3b33 subs r3, #51 ; 0x33 80a374a: 701a strb r2, [r3, #0] ik[ipr][2] = (uint8_t) (k % 1000 % 100 / 10); 80a374c: 6d39 ldr r1, [r7, #80] ; 0x50 80a374e: 6dba ldr r2, [r7, #88] ; 0x58 80a3750: 4bbb ldr r3, [pc, #748] ; (80a3a40 ) 80a3752: fba3 0302 umull r0, r3, r3, r2 80a3756: 099b lsrs r3, r3, #6 80a3758: f44f 707a mov.w r0, #1000 ; 0x3e8 80a375c: fb00 f303 mul.w r3, r0, r3 80a3760: 1ad3 subs r3, r2, r3 80a3762: 4ab8 ldr r2, [pc, #736] ; (80a3a44 ) 80a3764: fba2 0203 umull r0, r2, r2, r3 80a3768: 0952 lsrs r2, r2, #5 80a376a: 2064 movs r0, #100 ; 0x64 80a376c: fb00 f202 mul.w r2, r0, r2 80a3770: 1a9a subs r2, r3, r2 80a3772: 4bb5 ldr r3, [pc, #724] ; (80a3a48 ) 80a3774: fba3 2302 umull r2, r3, r3, r2 80a3778: 08db lsrs r3, r3, #3 80a377a: b2da uxtb r2, r3 80a377c: 460b mov r3, r1 80a377e: 009b lsls r3, r3, #2 80a3780: 440b add r3, r1 80a3782: f107 0168 add.w r1, r7, #104 ; 0x68 80a3786: 440b add r3, r1 80a3788: 3b32 subs r3, #50 ; 0x32 80a378a: 701a strb r2, [r3, #0] ik[ipr][3] = (uint8_t) (k % 1000 % 100 % 10); 80a378c: 6d38 ldr r0, [r7, #80] ; 0x50 80a378e: 6dba ldr r2, [r7, #88] ; 0x58 80a3790: 4bab ldr r3, [pc, #684] ; (80a3a40 ) 80a3792: fba3 1302 umull r1, r3, r3, r2 80a3796: 099b lsrs r3, r3, #6 80a3798: f44f 717a mov.w r1, #1000 ; 0x3e8 80a379c: fb01 f303 mul.w r3, r1, r3 80a37a0: 1ad3 subs r3, r2, r3 80a37a2: 4aa8 ldr r2, [pc, #672] ; (80a3a44 ) 80a37a4: fba2 1203 umull r1, r2, r2, r3 80a37a8: 0952 lsrs r2, r2, #5 80a37aa: 2164 movs r1, #100 ; 0x64 80a37ac: fb01 f202 mul.w r2, r1, r2 80a37b0: 1a9a subs r2, r3, r2 80a37b2: 4ba5 ldr r3, [pc, #660] ; (80a3a48 ) 80a37b4: fba3 1302 umull r1, r3, r3, r2 80a37b8: 08d9 lsrs r1, r3, #3 80a37ba: 460b mov r3, r1 80a37bc: 009b lsls r3, r3, #2 80a37be: 440b add r3, r1 80a37c0: 005b lsls r3, r3, #1 80a37c2: 1ad1 subs r1, r2, r3 80a37c4: b2ca uxtb r2, r1 80a37c6: 4603 mov r3, r0 80a37c8: 009b lsls r3, r3, #2 80a37ca: 4403 add r3, r0 80a37cc: f107 0168 add.w r1, r7, #104 ; 0x68 80a37d0: 440b add r3, r1 80a37d2: 3b31 subs r3, #49 ; 0x31 80a37d4: 701a strb r2, [r3, #0] if(ipr == ACC) 80a37d6: 6d3b ldr r3, [r7, #80] ; 0x50 80a37d8: 2b00 cmp r3, #0 80a37da: d157 bne.n 80a388c DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 68+18); 80a37dc: 6d3a ldr r2, [r7, #80] ; 0x50 80a37de: 4613 mov r3, r2 80a37e0: 009b lsls r3, r3, #2 80a37e2: 4413 add r3, r2 80a37e4: f107 0268 add.w r2, r7, #104 ; 0x68 80a37e8: 4413 add r3, r2 80a37ea: 3b31 subs r3, #49 ; 0x31 80a37ec: 781b ldrb r3, [r3, #0] 80a37ee: b2db uxtb r3, r3 80a37f0: 461a mov r2, r3 80a37f2: 4b96 ldr r3, [pc, #600] ; (80a3a4c ) 80a37f4: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a37f8: 2256 movs r2, #86 ; 0x56 80a37fa: 21e6 movs r1, #230 ; 0xe6 80a37fc: 4618 mov r0, r3 80a37fe: f7b0 fee5 bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 92+18); 80a3802: 226e movs r2, #110 ; 0x6e 80a3804: 21d7 movs r1, #215 ; 0xd7 80a3806: 4892 ldr r0, [pc, #584] ; (80a3a50 ) 80a3808: f7b0 fee0 bl 80545cc DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 68+18); 80a380c: 6d3a ldr r2, [r7, #80] ; 0x50 80a380e: 4613 mov r3, r2 80a3810: 009b lsls r3, r3, #2 80a3812: 4413 add r3, r2 80a3814: f107 0268 add.w r2, r7, #104 ; 0x68 80a3818: 4413 add r3, r2 80a381a: 3b32 subs r3, #50 ; 0x32 80a381c: 781b ldrb r3, [r3, #0] 80a381e: b2db uxtb r3, r3 80a3820: 461a mov r2, r3 80a3822: 4b8a ldr r3, [pc, #552] ; (80a3a4c ) 80a3824: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3828: 2256 movs r2, #86 ; 0x56 80a382a: 21b4 movs r1, #180 ; 0xb4 80a382c: 4618 mov r0, r3 80a382e: f7b0 fecd bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 68+18); 80a3832: 6d3a ldr r2, [r7, #80] ; 0x50 80a3834: 4613 mov r3, r2 80a3836: 009b lsls r3, r3, #2 80a3838: 4413 add r3, r2 80a383a: f107 0268 add.w r2, r7, #104 ; 0x68 80a383e: 4413 add r3, r2 80a3840: 3b33 subs r3, #51 ; 0x33 80a3842: 781b ldrb r3, [r3, #0] 80a3844: b2db uxtb r3, r3 80a3846: 461a mov r2, r3 80a3848: 4b80 ldr r3, [pc, #512] ; (80a3a4c ) 80a384a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a384e: 2256 movs r2, #86 ; 0x56 80a3850: 2196 movs r1, #150 ; 0x96 80a3852: 4618 mov r0, r3 80a3854: f7b0 feba bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 68+18); 80a3858: 6d3a ldr r2, [r7, #80] ; 0x50 80a385a: 4613 mov r3, r2 80a385c: 009b lsls r3, r3, #2 80a385e: 4413 add r3, r2 80a3860: f107 0268 add.w r2, r7, #104 ; 0x68 80a3864: 4413 add r3, r2 80a3866: 3b34 subs r3, #52 ; 0x34 80a3868: 781b ldrb r3, [r3, #0] 80a386a: b2db uxtb r3, r3 80a386c: 461a mov r2, r3 80a386e: 4b77 ldr r3, [pc, #476] ; (80a3a4c ) 80a3870: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3874: 2256 movs r2, #86 ; 0x56 80a3876: 2178 movs r1, #120 ; 0x78 80a3878: 4618 mov r0, r3 80a387a: f7b0 fea7 bl 80545cc DrawImage(&bmg_dB, 265, 74+18); 80a387e: 225c movs r2, #92 ; 0x5c 80a3880: f240 1109 movw r1, #265 ; 0x109 80a3884: 4873 ldr r0, [pc, #460] ; (80a3a54 ) 80a3886: f7b0 fea1 bl 80545cc 80a388a: e108 b.n 80a3a9e if(ipr == VEL) 80a388c: 6d3b ldr r3, [r7, #80] ; 0x50 80a388e: 2b01 cmp r3, #1 80a3890: d157 bne.n 80a3942 DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 121+9); 80a3892: 6d3a ldr r2, [r7, #80] ; 0x50 80a3894: 4613 mov r3, r2 80a3896: 009b lsls r3, r3, #2 80a3898: 4413 add r3, r2 80a389a: f107 0268 add.w r2, r7, #104 ; 0x68 80a389e: 4413 add r3, r2 80a38a0: 3b31 subs r3, #49 ; 0x31 80a38a2: 781b ldrb r3, [r3, #0] 80a38a4: b2db uxtb r3, r3 80a38a6: 461a mov r2, r3 80a38a8: 4b68 ldr r3, [pc, #416] ; (80a3a4c ) 80a38aa: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a38ae: 2282 movs r2, #130 ; 0x82 80a38b0: 21e6 movs r1, #230 ; 0xe6 80a38b2: 4618 mov r0, r3 80a38b4: f7b0 fe8a bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 145+9); 80a38b8: 229a movs r2, #154 ; 0x9a 80a38ba: 21d7 movs r1, #215 ; 0xd7 80a38bc: 4864 ldr r0, [pc, #400] ; (80a3a50 ) 80a38be: f7b0 fe85 bl 80545cc DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 121+9); 80a38c2: 6d3a ldr r2, [r7, #80] ; 0x50 80a38c4: 4613 mov r3, r2 80a38c6: 009b lsls r3, r3, #2 80a38c8: 4413 add r3, r2 80a38ca: f107 0268 add.w r2, r7, #104 ; 0x68 80a38ce: 4413 add r3, r2 80a38d0: 3b32 subs r3, #50 ; 0x32 80a38d2: 781b ldrb r3, [r3, #0] 80a38d4: b2db uxtb r3, r3 80a38d6: 461a mov r2, r3 80a38d8: 4b5c ldr r3, [pc, #368] ; (80a3a4c ) 80a38da: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a38de: 2282 movs r2, #130 ; 0x82 80a38e0: 21b4 movs r1, #180 ; 0xb4 80a38e2: 4618 mov r0, r3 80a38e4: f7b0 fe72 bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 121+9); 80a38e8: 6d3a ldr r2, [r7, #80] ; 0x50 80a38ea: 4613 mov r3, r2 80a38ec: 009b lsls r3, r3, #2 80a38ee: 4413 add r3, r2 80a38f0: f107 0268 add.w r2, r7, #104 ; 0x68 80a38f4: 4413 add r3, r2 80a38f6: 3b33 subs r3, #51 ; 0x33 80a38f8: 781b ldrb r3, [r3, #0] 80a38fa: b2db uxtb r3, r3 80a38fc: 461a mov r2, r3 80a38fe: 4b53 ldr r3, [pc, #332] ; (80a3a4c ) 80a3900: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3904: 2282 movs r2, #130 ; 0x82 80a3906: 2196 movs r1, #150 ; 0x96 80a3908: 4618 mov r0, r3 80a390a: f7b0 fe5f bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 121+9); 80a390e: 6d3a ldr r2, [r7, #80] ; 0x50 80a3910: 4613 mov r3, r2 80a3912: 009b lsls r3, r3, #2 80a3914: 4413 add r3, r2 80a3916: f107 0268 add.w r2, r7, #104 ; 0x68 80a391a: 4413 add r3, r2 80a391c: 3b34 subs r3, #52 ; 0x34 80a391e: 781b ldrb r3, [r3, #0] 80a3920: b2db uxtb r3, r3 80a3922: 461a mov r2, r3 80a3924: 4b49 ldr r3, [pc, #292] ; (80a3a4c ) 80a3926: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a392a: 2282 movs r2, #130 ; 0x82 80a392c: 2178 movs r1, #120 ; 0x78 80a392e: 4618 mov r0, r3 80a3930: f7b0 fe4c bl 80545cc DrawImage(&bmg_dB, 265, 128+9); 80a3934: 2289 movs r2, #137 ; 0x89 80a3936: f240 1109 movw r1, #265 ; 0x109 80a393a: 4846 ldr r0, [pc, #280] ; (80a3a54 ) 80a393c: f7b0 fe46 bl 80545cc 80a3940: e0ad b.n 80a3a9e if(ipr == DIS) 80a3942: 6d3b ldr r3, [r7, #80] ; 0x50 80a3944: 2b02 cmp r3, #2 80a3946: f040 80aa bne.w 80a3a9e DrawImage(NUMS[ik[ipr][3]], 110 + 30*4, 174); 80a394a: 6d3a ldr r2, [r7, #80] ; 0x50 80a394c: 4613 mov r3, r2 80a394e: 009b lsls r3, r3, #2 80a3950: 4413 add r3, r2 80a3952: f107 0268 add.w r2, r7, #104 ; 0x68 80a3956: 4413 add r3, r2 80a3958: 3b31 subs r3, #49 ; 0x31 80a395a: 781b ldrb r3, [r3, #0] 80a395c: b2db uxtb r3, r3 80a395e: 461a mov r2, r3 80a3960: 4b3a ldr r3, [pc, #232] ; (80a3a4c ) 80a3962: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3966: 22ae movs r2, #174 ; 0xae 80a3968: 21e6 movs r1, #230 ; 0xe6 80a396a: 4618 mov r0, r3 80a396c: f7b0 fe2e bl 80545cc DrawImage(&bmgpt, 95 + 30*4, 198); 80a3970: 22c6 movs r2, #198 ; 0xc6 80a3972: 21d7 movs r1, #215 ; 0xd7 80a3974: 4836 ldr r0, [pc, #216] ; (80a3a50 ) 80a3976: f7b0 fe29 bl 80545cc DrawImage(NUMS[ik[ipr][2]], 90 + 30*3, 174); 80a397a: 6d3a ldr r2, [r7, #80] ; 0x50 80a397c: 4613 mov r3, r2 80a397e: 009b lsls r3, r3, #2 80a3980: 4413 add r3, r2 80a3982: f107 0268 add.w r2, r7, #104 ; 0x68 80a3986: 4413 add r3, r2 80a3988: 3b32 subs r3, #50 ; 0x32 80a398a: 781b ldrb r3, [r3, #0] 80a398c: b2db uxtb r3, r3 80a398e: 461a mov r2, r3 80a3990: 4b2e ldr r3, [pc, #184] ; (80a3a4c ) 80a3992: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a3996: 22ae movs r2, #174 ; 0xae 80a3998: 21b4 movs r1, #180 ; 0xb4 80a399a: 4618 mov r0, r3 80a399c: f7b0 fe16 bl 80545cc DrawImage(NUMS[ik[ipr][1]], 90 + 30*2, 174); 80a39a0: 6d3a ldr r2, [r7, #80] ; 0x50 80a39a2: 4613 mov r3, r2 80a39a4: 009b lsls r3, r3, #2 80a39a6: 4413 add r3, r2 80a39a8: f107 0268 add.w r2, r7, #104 ; 0x68 80a39ac: 4413 add r3, r2 80a39ae: 3b33 subs r3, #51 ; 0x33 80a39b0: 781b ldrb r3, [r3, #0] 80a39b2: b2db uxtb r3, r3 80a39b4: 461a mov r2, r3 80a39b6: 4b25 ldr r3, [pc, #148] ; (80a3a4c ) 80a39b8: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a39bc: 22ae movs r2, #174 ; 0xae 80a39be: 2196 movs r1, #150 ; 0x96 80a39c0: 4618 mov r0, r3 80a39c2: f7b0 fe03 bl 80545cc DrawImage(NUMS[ik[ipr][0]], 90 + 30*1, 174); 80a39c6: 6d3a ldr r2, [r7, #80] ; 0x50 80a39c8: 4613 mov r3, r2 80a39ca: 009b lsls r3, r3, #2 80a39cc: 4413 add r3, r2 80a39ce: f107 0268 add.w r2, r7, #104 ; 0x68 80a39d2: 4413 add r3, r2 80a39d4: 3b34 subs r3, #52 ; 0x34 80a39d6: 781b ldrb r3, [r3, #0] 80a39d8: b2db uxtb r3, r3 80a39da: 461a mov r2, r3 80a39dc: 4b1b ldr r3, [pc, #108] ; (80a3a4c ) 80a39de: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a39e2: 22ae movs r2, #174 ; 0xae 80a39e4: 2178 movs r1, #120 ; 0x78 80a39e6: 4618 mov r0, r3 80a39e8: f7b0 fdf0 bl 80545cc DrawImage(&bmg_dB, 265, 180); 80a39ec: 22b4 movs r2, #180 ; 0xb4 80a39ee: f240 1109 movw r1, #265 ; 0x109 80a39f2: 4818 ldr r0, [pc, #96] ; (80a3a54 ) 80a39f4: f7b0 fdea bl 80545cc 80a39f8: e051 b.n 80a3a9e if(skz[ACC] != -1.0f) 80a39fa: 4b17 ldr r3, [pc, #92] ; (80a3a58 ) 80a39fc: edd3 7a00 vldr s15, [r3] 80a3a00: eebf 7a00 vmov.f32 s14, #240 ; 0xbf800000 -1.0 80a3a04: eef4 7a47 vcmp.f32 s15, s14 80a3a08: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3a0c: d047 beq.n 80a3a9e if(ipr == VEL) 80a3a0e: 6d3b ldr r3, [r7, #80] ; 0x50 80a3a10: 2b01 cmp r3, #1 80a3a12: d12d bne.n 80a3a70 LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a3a14: 4911 ldr r1, [pc, #68] ; (80a3a5c ) 80a3a16: 4812 ldr r0, [pc, #72] ; (80a3a60 ) 80a3a18: f7af fee4 bl 80537e4 if(pardata.LANG == RUS) 80a3a1c: 4b11 ldr r3, [pc, #68] ; (80a3a64 ) 80a3a1e: 7b1b ldrb r3, [r3, #12] 80a3a20: b2db uxtb r3, r3 80a3a22: 2b00 cmp r3, #0 80a3a24: d105 bne.n 80a3a32 LCD_DisplayStringC(167, 135, "ÍÅÒ ÄÀÍÍÛÕ"); 80a3a26: 4a10 ldr r2, [pc, #64] ; (80a3a68 ) 80a3a28: 2187 movs r1, #135 ; 0x87 80a3a2a: 20a7 movs r0, #167 ; 0xa7 80a3a2c: f7b0 fc9a bl 8054364 80a3a30: e035 b.n 80a3a9e else LCD_DisplayStringC(167, 135, "NO DATA"); 80a3a32: 4a0e ldr r2, [pc, #56] ; (80a3a6c ) 80a3a34: 2187 movs r1, #135 ; 0x87 80a3a36: 20a7 movs r0, #167 ; 0xa7 80a3a38: f7b0 fc94 bl 8054364 80a3a3c: e02f b.n 80a3a9e 80a3a3e: bf00 nop 80a3a40: 10624dd3 .word 0x10624dd3 80a3a44: 51eb851f .word 0x51eb851f 80a3a48: cccccccd .word 0xcccccccd 80a3a4c: 20020124 .word 0x20020124 80a3a50: 08167a54 .word 0x08167a54 80a3a54: 08162ca0 .word 0x08162ca0 80a3a58: 20021540 .word 0x20021540 80a3a5c: ff0a0f1f .word 0xff0a0f1f 80a3a60: ffb8e828 .word 0xffb8e828 80a3a64: 20023e60 .word 0x20023e60 80a3a68: 080cfb2c .word 0x080cfb2c 80a3a6c: 080cfb38 .word 0x080cfb38 if(ipr == DIS) 80a3a70: 6d3b ldr r3, [r7, #80] ; 0x50 80a3a72: 2b02 cmp r3, #2 80a3a74: d113 bne.n 80a3a9e LCD_SetColors(LCD_COLOR_NUMGREEN, LCD_COLOR_BLACK); 80a3a76: 4913 ldr r1, [pc, #76] ; (80a3ac4 ) 80a3a78: 4813 ldr r0, [pc, #76] ; (80a3ac8 ) 80a3a7a: f7af feb3 bl 80537e4 if(pardata.LANG == RUS) 80a3a7e: 4b13 ldr r3, [pc, #76] ; (80a3acc ) 80a3a80: 7b1b ldrb r3, [r3, #12] 80a3a82: b2db uxtb r3, r3 80a3a84: 2b00 cmp r3, #0 80a3a86: d105 bne.n 80a3a94 LCD_DisplayStringC(167, 185, "ÍÅÒ ÄÀÍÍÛÕ"); 80a3a88: 4a11 ldr r2, [pc, #68] ; (80a3ad0 ) 80a3a8a: 21b9 movs r1, #185 ; 0xb9 80a3a8c: 20a7 movs r0, #167 ; 0xa7 80a3a8e: f7b0 fc69 bl 8054364 80a3a92: e004 b.n 80a3a9e else LCD_DisplayStringC(167, 185, "NO DATA"); 80a3a94: 4a0f ldr r2, [pc, #60] ; (80a3ad4 ) 80a3a96: 21b9 movs r1, #185 ; 0xb9 80a3a98: 20a7 movs r0, #167 ; 0xa7 80a3a9a: f7b0 fc63 bl 8054364 for(ipr = ACC; ipr <= DIS; ipr++) 80a3a9e: 6d3b ldr r3, [r7, #80] ; 0x50 80a3aa0: 3301 adds r3, #1 80a3aa2: 653b str r3, [r7, #80] ; 0x50 80a3aa4: 6d3b ldr r3, [r7, #80] ; 0x50 80a3aa6: 2b02 cmp r3, #2 80a3aa8: f67e ae0c bls.w 80a26c4 break; 80a3aac: e004 b.n 80a3ab8 80a3aae: e003 b.n 80a3ab8 break; 80a3ab0: bf00 nop 80a3ab2: e002 b.n 80a3aba break; 80a3ab4: bf00 nop 80a3ab6: e000 b.n 80a3aba break; 80a3ab8: bf00 nop } 80a3aba: bf00 nop 80a3abc: 3768 adds r7, #104 ; 0x68 80a3abe: 46bd mov sp, r7 80a3ac0: bd80 pop {r7, pc} 80a3ac2: bf00 nop 80a3ac4: ff0a0f1f .word 0xff0a0f1f 80a3ac8: ffb8e828 .word 0xffb8e828 80a3acc: 20023e60 .word 0x20023e60 80a3ad0: 080cfb2c .word 0x080cfb2c 80a3ad4: 080cfb38 .word 0x080cfb38 080a3ad8 : void DrawCursorData(void) //TODO { 80a3ad8: b590 push {r4, r7, lr} 80a3ada: b09d sub sp, #116 ; 0x74 80a3adc: af00 add r7, sp, #0 //uint64_t cur; char str[60]; #ifdef SMALL_NUMS_GRAF BSP_LCD_SetFont(&Font8); 80a3ade: 48bc ldr r0, [pc, #752] ; (80a3dd0 ) 80a3ae0: f7af febc bl 805385c if(menu == MAIN_SYGNAL) 80a3ae4: 4bbb ldr r3, [pc, #748] ; (80a3dd4 ) 80a3ae6: 781b ldrb r3, [r3, #0] 80a3ae8: b2db uxtb r3, r3 80a3aea: 2b20 cmp r3, #32 80a3aec: f040 82b2 bne.w 80a4054 { if(menupos == Cursor) 80a3af0: 4bb9 ldr r3, [pc, #740] ; (80a3dd8 ) 80a3af2: 781b ldrb r3, [r3, #0] 80a3af4: b2db uxtb r3, r3 80a3af6: 2b06 cmp r3, #6 80a3af8: d105 bne.n 80a3b06 LCD_SetColors(LCD_COLOR_RED, 0xFF000000); 80a3afa: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a3afe: 48b7 ldr r0, [pc, #732] ; (80a3ddc ) 80a3b00: f7af fe70 bl 80537e4 80a3b04: e004 b.n 80a3b10 else LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a3b06: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a3b0a: 48b5 ldr r0, [pc, #724] ; (80a3de0 ) 80a3b0c: f7af fe6a bl 80537e4 delta = PlayingState.FrameSize / 256; 80a3b10: 4bb4 ldr r3, [pc, #720] ; (80a3de4 ) 80a3b12: 689b ldr r3, [r3, #8] 80a3b14: 0a1b lsrs r3, r3, #8 80a3b16: 66fb str r3, [r7, #108] ; 0x6c pos = CURSOR * delta; 80a3b18: 4bb3 ldr r3, [pc, #716] ; (80a3de8 ) 80a3b1a: 681b ldr r3, [r3, #0] 80a3b1c: 6efa ldr r2, [r7, #108] ; 0x6c 80a3b1e: fb02 f303 mul.w r3, r2, r3 80a3b22: 66bb str r3, [r7, #104] ; 0x68 arm_max_f32(&ScrA_f32(pos), delta, &maxf, &n2); 80a3b24: 6ebb ldr r3, [r7, #104] ; 0x68 80a3b26: 009a lsls r2, r3, #2 80a3b28: 4bb0 ldr r3, [pc, #704] ; (80a3dec ) 80a3b2a: 4413 add r3, r2 80a3b2c: 4618 mov r0, r3 80a3b2e: f107 034c add.w r3, r7, #76 ; 0x4c 80a3b32: f107 0244 add.w r2, r7, #68 ; 0x44 80a3b36: 6ef9 ldr r1, [r7, #108] ; 0x6c 80a3b38: f026 fadc bl 80ca0f4 arm_min_f32(&ScrA_f32(pos), delta, &minf, &n1); 80a3b3c: 6ebb ldr r3, [r7, #104] ; 0x68 80a3b3e: 009a lsls r2, r3, #2 80a3b40: 4baa ldr r3, [pc, #680] ; (80a3dec ) 80a3b42: 4413 add r3, r2 80a3b44: 4618 mov r0, r3 80a3b46: f107 0350 add.w r3, r7, #80 ; 0x50 80a3b4a: f107 0248 add.w r2, r7, #72 ; 0x48 80a3b4e: 6ef9 ldr r1, [r7, #108] ; 0x6c 80a3b50: f026 fa34 bl 80c9fbc if((maxf > 0) && (minf < 0)) 80a3b54: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3b58: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3b5c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3b60: dd33 ble.n 80a3bca 80a3b62: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3b66: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3b6a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3b6e: d52c bpl.n 80a3bca { if(ABS(maxf) < ABS(minf)) 80a3b70: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3b74: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3b78: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3b7c: dd02 ble.n 80a3b84 80a3b7e: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80a3b82: e003 b.n 80a3b8c 80a3b84: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3b88: eeb1 7a67 vneg.f32 s14, s15 80a3b8c: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3b90: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3b94: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3b98: dd02 ble.n 80a3ba0 80a3b9a: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3b9e: e003 b.n 80a3ba8 80a3ba0: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3ba4: eef1 7a67 vneg.f32 s15, s15 80a3ba8: eeb4 7ae7 vcmpe.f32 s14, s15 80a3bac: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3bb0: d505 bpl.n 80a3bbe { CurVal = minf; 80a3bb2: 6cbb ldr r3, [r7, #72] ; 0x48 80a3bb4: 4a8e ldr r2, [pc, #568] ; (80a3df0 ) 80a3bb6: 6013 str r3, [r2, #0] l = n1; 80a3bb8: 6d3b ldr r3, [r7, #80] ; 0x50 80a3bba: 657b str r3, [r7, #84] ; 0x54 if(ABS(maxf) < ABS(minf)) 80a3bbc: e054 b.n 80a3c68 } else { CurVal = maxf; 80a3bbe: 6c7b ldr r3, [r7, #68] ; 0x44 80a3bc0: 4a8b ldr r2, [pc, #556] ; (80a3df0 ) 80a3bc2: 6013 str r3, [r2, #0] l = n2; 80a3bc4: 6cfb ldr r3, [r7, #76] ; 0x4c 80a3bc6: 657b str r3, [r7, #84] ; 0x54 if(ABS(maxf) < ABS(minf)) 80a3bc8: e04e b.n 80a3c68 } } else if((maxf > 0) && (minf > 0)) 80a3bca: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3bce: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3bd2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3bd6: dd0c ble.n 80a3bf2 80a3bd8: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3bdc: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3be0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3be4: dd05 ble.n 80a3bf2 { CurVal = maxf; 80a3be6: 6c7b ldr r3, [r7, #68] ; 0x44 80a3be8: 4a81 ldr r2, [pc, #516] ; (80a3df0 ) 80a3bea: 6013 str r3, [r2, #0] l = n2; 80a3bec: 6cfb ldr r3, [r7, #76] ; 0x4c 80a3bee: 657b str r3, [r7, #84] ; 0x54 80a3bf0: e03a b.n 80a3c68 } else if((maxf < 0) && (minf < 0)) 80a3bf2: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3bf6: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3bfa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3bfe: d50c bpl.n 80a3c1a 80a3c00: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3c04: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3c08: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3c0c: d505 bpl.n 80a3c1a { CurVal = minf; 80a3c0e: 6cbb ldr r3, [r7, #72] ; 0x48 80a3c10: 4a77 ldr r2, [pc, #476] ; (80a3df0 ) 80a3c12: 6013 str r3, [r2, #0] l = n1; 80a3c14: 6d3b ldr r3, [r7, #80] ; 0x50 80a3c16: 657b str r3, [r7, #84] ; 0x54 80a3c18: e026 b.n 80a3c68 } else if((maxf >= 0) && (minf == 0)) 80a3c1a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3c1e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3c22: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3c26: db0c blt.n 80a3c42 80a3c28: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3c2c: eef5 7a40 vcmp.f32 s15, #0.0 80a3c30: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3c34: d105 bne.n 80a3c42 { CurVal = maxf; 80a3c36: 6c7b ldr r3, [r7, #68] ; 0x44 80a3c38: 4a6d ldr r2, [pc, #436] ; (80a3df0 ) 80a3c3a: 6013 str r3, [r2, #0] l = n2; 80a3c3c: 6cfb ldr r3, [r7, #76] ; 0x4c 80a3c3e: 657b str r3, [r7, #84] ; 0x54 80a3c40: e012 b.n 80a3c68 } else if((maxf == 0) && (minf <= 0)) 80a3c42: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a3c46: eef5 7a40 vcmp.f32 s15, #0.0 80a3c4a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3c4e: d10b bne.n 80a3c68 80a3c50: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a3c54: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3c58: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3c5c: d804 bhi.n 80a3c68 { CurVal = minf; 80a3c5e: 6cbb ldr r3, [r7, #72] ; 0x48 80a3c60: 4a63 ldr r2, [pc, #396] ; (80a3df0 ) 80a3c62: 6013 str r3, [r2, #0] l = n1; 80a3c64: 6d3b ldr r3, [r7, #80] ; 0x50 80a3c66: 657b str r3, [r7, #84] ; 0x54 } fineMpos = Mpos + l; 80a3c68: 6d7b ldr r3, [r7, #84] ; 0x54 80a3c6a: b29a uxth r2, r3 80a3c6c: 4b61 ldr r3, [pc, #388] ; (80a3df4 ) 80a3c6e: 881b ldrh r3, [r3, #0] 80a3c70: b29b uxth r3, r3 80a3c72: 4413 add r3, r2 80a3c74: b29a uxth r2, r3 80a3c76: 4b60 ldr r3, [pc, #384] ; (80a3df8 ) 80a3c78: 801a strh r2, [r3, #0] Val = CurVal; 80a3c7a: 4b5d ldr r3, [pc, #372] ; (80a3df0 ) 80a3c7c: 681b ldr r3, [r3, #0] 80a3c7e: 643b str r3, [r7, #64] ; 0x40 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a3c80: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a3c84: 485d ldr r0, [pc, #372] ; (80a3dfc ) 80a3c86: f7af fdad bl 80537e4 if(ABS(Val) >= 1000.0f) 80a3c8a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3c8e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3c92: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3c96: dd0c ble.n 80a3cb2 80a3c98: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3c9c: ed9f 7a58 vldr s14, [pc, #352] ; 80a3e00 80a3ca0: eef4 7ac7 vcmpe.f32 s15, s14 80a3ca4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3ca8: bfac ite ge 80a3caa: 2301 movge r3, #1 80a3cac: 2300 movlt r3, #0 80a3cae: b2db uxtb r3, r3 80a3cb0: e00b b.n 80a3cca 80a3cb2: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3cb6: ed9f 7a53 vldr s14, [pc, #332] ; 80a3e04 80a3cba: eef4 7ac7 vcmpe.f32 s15, s14 80a3cbe: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3cc2: bf94 ite ls 80a3cc4: 2301 movls r3, #1 80a3cc6: 2300 movhi r3, #0 80a3cc8: b2db uxtb r3, r3 80a3cca: 2b00 cmp r3, #0 80a3ccc: d028 beq.n 80a3d20 { Val *= 0.001f; 80a3cce: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3cd2: ed9f 7a4d vldr s14, [pc, #308] ; 80a3e08 80a3cd6: ee67 7a87 vmul.f32 s15, s15, s14 80a3cda: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.LANG == RUS) 80a3cde: 4b4b ldr r3, [pc, #300] ; (80a3e0c ) 80a3ce0: 7b1b ldrb r3, [r3, #12] 80a3ce2: b2db uxtb r3, r3 80a3ce4: 2b00 cmp r3, #0 80a3ce6: d106 bne.n 80a3cf6 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a3ce8: 2303 movs r3, #3 80a3cea: 4a49 ldr r2, [pc, #292] ; (80a3e10 ) 80a3cec: 212d movs r1, #45 ; 0x2d 80a3cee: 20dc movs r0, #220 ; 0xdc 80a3cf0: f7af fe3e bl 8053970 80a3cf4: e005 b.n 80a3d02 else BSP_LCD_DisplayStringAt(220, 45, "km/c^", LEFT_MODE); 80a3cf6: 2303 movs r3, #3 80a3cf8: 4a46 ldr r2, [pc, #280] ; (80a3e14 ) 80a3cfa: 212d movs r1, #45 ; 0x2d 80a3cfc: 20dc movs r0, #220 ; 0xdc 80a3cfe: f7af fe37 bl 8053970 BSP_LCD_DisplayStringAt(220-3, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a3d02: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3d06: f06f 0002 mvn.w r0, #2 80a3d0a: eeb0 0a67 vmov.f32 s0, s15 80a3d0e: f7c2 fd13 bl 8066738 80a3d12: 4602 mov r2, r0 80a3d14: 2302 movs r3, #2 80a3d16: 212d movs r1, #45 ; 0x2d 80a3d18: 20d9 movs r0, #217 ; 0xd9 80a3d1a: f7af fe29 bl 8053970 80a3d1e: e099 b.n 80a3e54 } else if(ABS(Val) >= 0.1f) 80a3d20: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3d24: eef5 7ac0 vcmpe.f32 s15, #0.0 80a3d28: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3d2c: dd0c ble.n 80a3d48 80a3d2e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3d32: ed9f 7a39 vldr s14, [pc, #228] ; 80a3e18 80a3d36: eef4 7ac7 vcmpe.f32 s15, s14 80a3d3a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3d3e: bfac ite ge 80a3d40: 2301 movge r3, #1 80a3d42: 2300 movlt r3, #0 80a3d44: b2db uxtb r3, r3 80a3d46: e00b b.n 80a3d60 80a3d48: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3d4c: ed9f 7a33 vldr s14, [pc, #204] ; 80a3e1c 80a3d50: eef4 7ac7 vcmpe.f32 s15, s14 80a3d54: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3d58: bf94 ite ls 80a3d5a: 2301 movls r3, #1 80a3d5c: 2300 movhi r3, #0 80a3d5e: b2db uxtb r3, r3 80a3d60: 2b00 cmp r3, #0 80a3d62: d020 beq.n 80a3da6 { if(pardata.LANG == RUS) 80a3d64: 4b29 ldr r3, [pc, #164] ; (80a3e0c ) 80a3d66: 7b1b ldrb r3, [r3, #12] 80a3d68: b2db uxtb r3, r3 80a3d6a: 2b00 cmp r3, #0 80a3d6c: d106 bne.n 80a3d7c BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a3d6e: 2303 movs r3, #3 80a3d70: 4a2b ldr r2, [pc, #172] ; (80a3e20 ) 80a3d72: 212d movs r1, #45 ; 0x2d 80a3d74: 20dc movs r0, #220 ; 0xdc 80a3d76: f7af fdfb bl 8053970 80a3d7a: e005 b.n 80a3d88 else BSP_LCD_DisplayStringAt(220, 45, "m/c^", LEFT_MODE); 80a3d7c: 2303 movs r3, #3 80a3d7e: 4a29 ldr r2, [pc, #164] ; (80a3e24 ) 80a3d80: 212d movs r1, #45 ; 0x2d 80a3d82: 20dc movs r0, #220 ; 0xdc 80a3d84: f7af fdf4 bl 8053970 BSP_LCD_DisplayStringAt(220-3, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a3d88: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3d8c: f06f 0002 mvn.w r0, #2 80a3d90: eeb0 0a67 vmov.f32 s0, s15 80a3d94: f7c2 fcd0 bl 8066738 80a3d98: 4602 mov r2, r0 80a3d9a: 2302 movs r3, #2 80a3d9c: 212d movs r1, #45 ; 0x2d 80a3d9e: 20d9 movs r0, #217 ; 0xd9 80a3da0: f7af fde6 bl 8053970 80a3da4: e056 b.n 80a3e54 } else { Val *= 1000.0f; 80a3da6: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3daa: ed9f 7a15 vldr s14, [pc, #84] ; 80a3e00 80a3dae: ee67 7a87 vmul.f32 s15, s15, s14 80a3db2: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.LANG == RUS) 80a3db6: 4b15 ldr r3, [pc, #84] ; (80a3e0c ) 80a3db8: 7b1b ldrb r3, [r3, #12] 80a3dba: b2db uxtb r3, r3 80a3dbc: 2b00 cmp r3, #0 80a3dbe: d135 bne.n 80a3e2c BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a3dc0: 2303 movs r3, #3 80a3dc2: 4a19 ldr r2, [pc, #100] ; (80a3e28 ) 80a3dc4: 212d movs r1, #45 ; 0x2d 80a3dc6: 20dc movs r0, #220 ; 0xdc 80a3dc8: f7af fdd2 bl 8053970 80a3dcc: e034 b.n 80a3e38 80a3dce: bf00 nop 80a3dd0: 20020060 .word 0x20020060 80a3dd4: 20020f78 .word 0x20020f78 80a3dd8: 20020070 .word 0x20020070 80a3ddc: ffff0000 .word 0xffff0000 80a3de0: ff808080 .word 0xff808080 80a3de4: 200228d8 .word 0x200228d8 80a3de8: 2002006c .word 0x2002006c 80a3dec: 64080000 .word 0x64080000 80a3df0: 2002156c .word 0x2002156c 80a3df4: 20025d16 .word 0x20025d16 80a3df8: 20025d1c .word 0x20025d1c 80a3dfc: ff26a01f .word 0xff26a01f 80a3e00: 447a0000 .word 0x447a0000 80a3e04: c47a0000 .word 0xc47a0000 80a3e08: 3a83126f .word 0x3a83126f 80a3e0c: 20023e60 .word 0x20023e60 80a3e10: 080d0a78 .word 0x080d0a78 80a3e14: 080d0a80 .word 0x080d0a80 80a3e18: 3dcccccd .word 0x3dcccccd 80a3e1c: bdcccccd .word 0xbdcccccd 80a3e20: 080d0a88 .word 0x080d0a88 80a3e24: 080d0a90 .word 0x080d0a90 80a3e28: 080d0a98 .word 0x080d0a98 else BSP_LCD_DisplayStringAt(220, 45, "mm/c^", LEFT_MODE); 80a3e2c: 2303 movs r3, #3 80a3e2e: 4a7a ldr r2, [pc, #488] ; (80a4018 ) 80a3e30: 212d movs r1, #45 ; 0x2d 80a3e32: 20dc movs r0, #220 ; 0xdc 80a3e34: f7af fd9c bl 8053970 BSP_LCD_DisplayStringAt(220-3, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a3e38: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a3e3c: f06f 0002 mvn.w r0, #2 80a3e40: eeb0 0a67 vmov.f32 s0, s15 80a3e44: f7c2 fc78 bl 8066738 80a3e48: 4602 mov r2, r0 80a3e4a: 2302 movs r3, #2 80a3e4c: 212d movs r1, #45 ; 0x2d 80a3e4e: 20d9 movs r0, #217 ; 0xd9 80a3e50: f7af fd8e bl 8053970 } //************************************************************************************************************** step = PlayingState.FrameSize >> 8; 80a3e54: 4b71 ldr r3, [pc, #452] ; (80a401c ) 80a3e56: 689b ldr r3, [r3, #8] 80a3e58: 0a1b lsrs r3, r3, #8 80a3e5a: 667b str r3, [r7, #100] ; 0x64 dt = (PlayingState.TimeLength / (float32_t) PlayingState.NumFrames) / ((float32_t) PlayingState.FrameSize); 80a3e5c: 4b6f ldr r3, [pc, #444] ; (80a401c ) 80a3e5e: ed93 7a07 vldr s14, [r3, #28] 80a3e62: 4b6e ldr r3, [pc, #440] ; (80a401c ) 80a3e64: 685b ldr r3, [r3, #4] 80a3e66: ee07 3a90 vmov s15, r3 80a3e6a: eef8 7a67 vcvt.f32.u32 s15, s15 80a3e6e: eec7 6a27 vdiv.f32 s13, s14, s15 80a3e72: 4b6a ldr r3, [pc, #424] ; (80a401c ) 80a3e74: 689b ldr r3, [r3, #8] 80a3e76: ee07 3a90 vmov s15, r3 80a3e7a: eeb8 7a67 vcvt.f32.u32 s14, s15 80a3e7e: eec6 7a87 vdiv.f32 s15, s13, s14 80a3e82: edc7 7a18 vstr s15, [r7, #96] ; 0x60 curtime = ((float32_t)(CURSOR + 1)) * (float32_t)step; 80a3e86: 4b66 ldr r3, [pc, #408] ; (80a4020 ) 80a3e88: 681b ldr r3, [r3, #0] 80a3e8a: 3301 adds r3, #1 80a3e8c: ee07 3a90 vmov s15, r3 80a3e90: eeb8 7a67 vcvt.f32.u32 s14, s15 80a3e94: 6e7b ldr r3, [r7, #100] ; 0x64 80a3e96: ee07 3a90 vmov s15, r3 80a3e9a: eef8 7a67 vcvt.f32.u32 s15, s15 80a3e9e: ee67 7a27 vmul.f32 s15, s14, s15 80a3ea2: edc7 7a17 vstr s15, [r7, #92] ; 0x5c curtime *= dt; 80a3ea6: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80a3eaa: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80a3eae: ee67 7a27 vmul.f32 s15, s14, s15 80a3eb2: edc7 7a17 vstr s15, [r7, #92] ; 0x5c curtime += (((float32_t)(PlayingState.FrameSize * PlayingState.CurrentFrame)) * dt); 80a3eb6: 4b59 ldr r3, [pc, #356] ; (80a401c ) 80a3eb8: 689b ldr r3, [r3, #8] 80a3eba: 4a58 ldr r2, [pc, #352] ; (80a401c ) 80a3ebc: 6812 ldr r2, [r2, #0] 80a3ebe: fb02 f303 mul.w r3, r2, r3 80a3ec2: ee07 3a90 vmov s15, r3 80a3ec6: eeb8 7a67 vcvt.f32.u32 s14, s15 80a3eca: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80a3ece: ee67 7a27 vmul.f32 s15, s14, s15 80a3ed2: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80a3ed6: ee77 7a27 vadd.f32 s15, s14, s15 80a3eda: edc7 7a17 vstr s15, [r7, #92] ; 0x5c TF = curtime * 1000; 80a3ede: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80a3ee2: ed9f 7a50 vldr s14, [pc, #320] ; 80a4024 80a3ee6: ee67 7a87 vmul.f32 s15, s15, s14 80a3eea: 4b4f ldr r3, [pc, #316] ; (80a4028 ) 80a3eec: edc3 7a00 vstr s15, [r3] LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a3ef0: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a3ef4: 484d ldr r0, [pc, #308] ; (80a402c ) 80a3ef6: f7af fc75 bl 80537e4 tmpF = TF; 80a3efa: 4b4b ldr r3, [pc, #300] ; (80a4028 ) 80a3efc: 681b ldr r3, [r3, #0] 80a3efe: 65bb str r3, [r7, #88] ; 0x58 if(tmpF >= 1000.0f) 80a3f00: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a3f04: ed9f 7a47 vldr s14, [pc, #284] ; 80a4024 80a3f08: eef4 7ac7 vcmpe.f32 s15, s14 80a3f0c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3f10: db2a blt.n 80a3f68 { tmpF *= 0.001f; 80a3f12: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a3f16: ed9f 7a46 vldr s14, [pc, #280] ; 80a4030 80a3f1a: ee67 7a87 vmul.f32 s15, s15, s14 80a3f1e: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a3f22: 4b44 ldr r3, [pc, #272] ; (80a4034 ) 80a3f24: 7b1b ldrb r3, [r3, #12] 80a3f26: b2db uxtb r3, r3 80a3f28: 2b00 cmp r3, #0 80a3f2a: d107 bne.n 80a3f3c BSP_LCD_DisplayStringAt(302, 45, "c", LEFT_MODE); 80a3f2c: 2303 movs r3, #3 80a3f2e: 4a42 ldr r2, [pc, #264] ; (80a4038 ) 80a3f30: 212d movs r1, #45 ; 0x2d 80a3f32: f44f 7097 mov.w r0, #302 ; 0x12e 80a3f36: f7af fd1b bl 8053970 80a3f3a: e006 b.n 80a3f4a else BSP_LCD_DisplayStringAt(302, 45, "s", LEFT_MODE); 80a3f3c: 2303 movs r3, #3 80a3f3e: 4a3f ldr r2, [pc, #252] ; (80a403c ) 80a3f40: 212d movs r1, #45 ; 0x2d 80a3f42: f44f 7097 mov.w r0, #302 ; 0x12e 80a3f46: f7af fd13 bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a3f4a: f06f 0004 mvn.w r0, #4 80a3f4e: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a3f52: f7c2 fbf1 bl 8066738 80a3f56: 4602 mov r2, r0 80a3f58: 2302 movs r3, #2 80a3f5a: 212d movs r1, #45 ; 0x2d 80a3f5c: f240 102b movw r0, #299 ; 0x12b 80a3f60: f7af fd06 bl 8053970 } } } #endif } 80a3f64: f002 b872 b.w 80a604c if(tmpF < 0.1f) 80a3f68: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a3f6c: ed9f 7a34 vldr s14, [pc, #208] ; 80a4040 80a3f70: eef4 7ac7 vcmpe.f32 s15, s14 80a3f74: eef1 fa10 vmrs APSR_nzcv, fpscr 80a3f78: d52a bpl.n 80a3fd0 tmpF *= 1000.0f; 80a3f7a: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a3f7e: ed9f 7a29 vldr s14, [pc, #164] ; 80a4024 80a3f82: ee67 7a87 vmul.f32 s15, s15, s14 80a3f86: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a3f8a: 4b2a ldr r3, [pc, #168] ; (80a4034 ) 80a3f8c: 7b1b ldrb r3, [r3, #12] 80a3f8e: b2db uxtb r3, r3 80a3f90: 2b00 cmp r3, #0 80a3f92: d107 bne.n 80a3fa4 BSP_LCD_DisplayStringAt(302, 45, "&kc", LEFT_MODE); 80a3f94: 2303 movs r3, #3 80a3f96: 4a2b ldr r2, [pc, #172] ; (80a4044 ) 80a3f98: 212d movs r1, #45 ; 0x2d 80a3f9a: f44f 7097 mov.w r0, #302 ; 0x12e 80a3f9e: f7af fce7 bl 8053970 80a3fa2: e006 b.n 80a3fb2 else BSP_LCD_DisplayStringAt(302, 45, "us", LEFT_MODE); 80a3fa4: 2303 movs r3, #3 80a3fa6: 4a28 ldr r2, [pc, #160] ; (80a4048 ) 80a3fa8: 212d movs r1, #45 ; 0x2d 80a3faa: f44f 7097 mov.w r0, #302 ; 0x12e 80a3fae: f7af fcdf bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a3fb2: f06f 0004 mvn.w r0, #4 80a3fb6: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a3fba: f7c2 fbbd bl 8066738 80a3fbe: 4602 mov r2, r0 80a3fc0: 2302 movs r3, #2 80a3fc2: 212d movs r1, #45 ; 0x2d 80a3fc4: f240 102b movw r0, #299 ; 0x12b 80a3fc8: f7af fcd2 bl 8053970 } 80a3fcc: f002 b83e b.w 80a604c if(pardata.LANG == RUS) 80a3fd0: 4b18 ldr r3, [pc, #96] ; (80a4034 ) 80a3fd2: 7b1b ldrb r3, [r3, #12] 80a3fd4: b2db uxtb r3, r3 80a3fd6: 2b00 cmp r3, #0 80a3fd8: d107 bne.n 80a3fea BSP_LCD_DisplayStringAt(302, 45, "&c", LEFT_MODE); 80a3fda: 2303 movs r3, #3 80a3fdc: 4a1b ldr r2, [pc, #108] ; (80a404c ) 80a3fde: 212d movs r1, #45 ; 0x2d 80a3fe0: f44f 7097 mov.w r0, #302 ; 0x12e 80a3fe4: f7af fcc4 bl 8053970 80a3fe8: e006 b.n 80a3ff8 else BSP_LCD_DisplayStringAt(302, 45, "ms", LEFT_MODE); 80a3fea: 2303 movs r3, #3 80a3fec: 4a18 ldr r2, [pc, #96] ; (80a4050 ) 80a3fee: 212d movs r1, #45 ; 0x2d 80a3ff0: f44f 7097 mov.w r0, #302 ; 0x12e 80a3ff4: f7af fcbc bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -5), RIGHT_MODE); 80a3ff8: f06f 0004 mvn.w r0, #4 80a3ffc: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a4000: f7c2 fb9a bl 8066738 80a4004: 4602 mov r2, r0 80a4006: 2302 movs r3, #2 80a4008: 212d movs r1, #45 ; 0x2d 80a400a: f240 102b movw r0, #299 ; 0x12b 80a400e: f7af fcaf bl 8053970 } 80a4012: f002 b81b b.w 80a604c 80a4016: bf00 nop 80a4018: 080d0aa0 .word 0x080d0aa0 80a401c: 200228d8 .word 0x200228d8 80a4020: 2002006c .word 0x2002006c 80a4024: 447a0000 .word 0x447a0000 80a4028: 20021570 .word 0x20021570 80a402c: ff808080 .word 0xff808080 80a4030: 3a83126f .word 0x3a83126f 80a4034: 20023e60 .word 0x20023e60 80a4038: 080d0aa8 .word 0x080d0aa8 80a403c: 080d0aac .word 0x080d0aac 80a4040: 3dcccccd .word 0x3dcccccd 80a4044: 080d0ab0 .word 0x080d0ab0 80a4048: 080d0ab4 .word 0x080d0ab4 80a404c: 080d0ab8 .word 0x080d0ab8 80a4050: 080d0abc .word 0x080d0abc if(!FIRST) 80a4054: 4bbf ldr r3, [pc, #764] ; (80a4354 ) 80a4056: 781b ldrb r3, [r3, #0] 80a4058: b2db uxtb r3, r3 80a405a: f083 0301 eor.w r3, r3, #1 80a405e: b2db uxtb r3, r3 80a4060: 2b00 cmp r3, #0 80a4062: f001 87f3 beq.w 80a604c BSP_LCD_SetFont(&Font8); 80a4066: 48bc ldr r0, [pc, #752] ; (80a4358 ) 80a4068: f7af fbf8 bl 805385c if(pardata.SYG == ROLL) 80a406c: 4bbb ldr r3, [pc, #748] ; (80a435c ) 80a406e: 781b ldrb r3, [r3, #0] 80a4070: b2db uxtb r3, r3 80a4072: 2b08 cmp r3, #8 80a4074: f040 8102 bne.w 80a427c LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 80a4078: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a407c: f04f 30ff mov.w r0, #4294967295 80a4080: f7af fbb0 bl 80537e4 arm_max_f32(&CmplxA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &Val, &l); 80a4084: 4bb6 ldr r3, [pc, #728] ; (80a4360 ) 80a4086: 881b ldrh r3, [r3, #0] 80a4088: b29b uxth r3, r3 80a408a: 009b lsls r3, r3, #2 80a408c: 461a mov r2, r3 80a408e: 4bb5 ldr r3, [pc, #724] ; (80a4364 ) 80a4090: 4413 add r3, r2 80a4092: 461c mov r4, r3 80a4094: 4bb4 ldr r3, [pc, #720] ; (80a4368 ) 80a4096: 781b ldrb r3, [r3, #0] 80a4098: b2db uxtb r3, r3 80a409a: 4618 mov r0, r3 80a409c: 4baf ldr r3, [pc, #700] ; (80a435c ) 80a409e: 79db ldrb r3, [r3, #7] 80a40a0: b2db uxtb r3, r3 80a40a2: 4619 mov r1, r3 80a40a4: 4ab1 ldr r2, [pc, #708] ; (80a436c ) 80a40a6: 0083 lsls r3, r0, #2 80a40a8: 4413 add r3, r2 80a40aa: 440b add r3, r1 80a40ac: 781b ldrb r3, [r3, #0] 80a40ae: 4619 mov r1, r3 80a40b0: f107 0354 add.w r3, r7, #84 ; 0x54 80a40b4: f107 0240 add.w r2, r7, #64 ; 0x40 80a40b8: 4620 mov r0, r4 80a40ba: f026 f81b bl 80ca0f4 BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a40be: 2303 movs r3, #3 80a40c0: 4aab ldr r2, [pc, #684] ; (80a4370 ) 80a40c2: 212d movs r1, #45 ; 0x2d 80a40c4: 20dc movs r0, #220 ; 0xdc 80a40c6: f7af fc53 bl 8053970 BSP_LCD_DisplayStringAt(220-3, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a40ca: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a40ce: f04f 30ff mov.w r0, #4294967295 80a40d2: eeb0 0a67 vmov.f32 s0, s15 80a40d6: f7c2 fb2f bl 8066738 80a40da: 4602 mov r2, r0 80a40dc: 2302 movs r3, #2 80a40de: 212d movs r1, #45 ; 0x2d 80a40e0: 20d9 movs r0, #217 ; 0xd9 80a40e2: f7af fc45 bl 8053970 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a40e6: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a40ea: 48a2 ldr r0, [pc, #648] ; (80a4374 ) 80a40ec: f7af fb7a bl 80537e4 arm_max_f32(&ScrA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &Val, &l); 80a40f0: 4b9b ldr r3, [pc, #620] ; (80a4360 ) 80a40f2: 881b ldrh r3, [r3, #0] 80a40f4: b29b uxth r3, r3 80a40f6: 009b lsls r3, r3, #2 80a40f8: 461a mov r2, r3 80a40fa: 4b9f ldr r3, [pc, #636] ; (80a4378 ) 80a40fc: 4413 add r3, r2 80a40fe: 461c mov r4, r3 80a4100: 4b99 ldr r3, [pc, #612] ; (80a4368 ) 80a4102: 781b ldrb r3, [r3, #0] 80a4104: b2db uxtb r3, r3 80a4106: 4618 mov r0, r3 80a4108: 4b94 ldr r3, [pc, #592] ; (80a435c ) 80a410a: 79db ldrb r3, [r3, #7] 80a410c: b2db uxtb r3, r3 80a410e: 4619 mov r1, r3 80a4110: 4a96 ldr r2, [pc, #600] ; (80a436c ) 80a4112: 0083 lsls r3, r0, #2 80a4114: 4413 add r3, r2 80a4116: 440b add r3, r1 80a4118: 781b ldrb r3, [r3, #0] 80a411a: 4619 mov r1, r3 80a411c: f107 0354 add.w r3, r7, #84 ; 0x54 80a4120: f107 0240 add.w r2, r7, #64 ; 0x40 80a4124: 4620 mov r0, r4 80a4126: f025 ffe5 bl 80ca0f4 BSP_LCD_DisplayStringAt(160, 45, "dB", LEFT_MODE); 80a412a: 2303 movs r3, #3 80a412c: 4a90 ldr r2, [pc, #576] ; (80a4370 ) 80a412e: 212d movs r1, #45 ; 0x2d 80a4130: 20a0 movs r0, #160 ; 0xa0 80a4132: f7af fc1d bl 8053970 BSP_LCD_DisplayStringAt(160-3, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a4136: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a413a: f04f 30ff mov.w r0, #4294967295 80a413e: eeb0 0a67 vmov.f32 s0, s15 80a4142: f7c2 faf9 bl 8066738 80a4146: 4602 mov r2, r0 80a4148: 2302 movs r3, #2 80a414a: 212d movs r1, #45 ; 0x2d 80a414c: 209d movs r0, #157 ; 0x9d 80a414e: f7af fc0f bl 8053970 fineMpos = Mpos + l; 80a4152: 6d7b ldr r3, [r7, #84] ; 0x54 80a4154: b29a uxth r2, r3 80a4156: 4b82 ldr r3, [pc, #520] ; (80a4360 ) 80a4158: 881b ldrh r3, [r3, #0] 80a415a: b29b uxth r3, r3 80a415c: 4413 add r3, r2 80a415e: b29a uxth r2, r3 80a4160: 4b86 ldr r3, [pc, #536] ; (80a437c ) 80a4162: 801a strh r2, [r3, #0] tmpF = (float32_t) fineMpos; 80a4164: 4b85 ldr r3, [pc, #532] ; (80a437c ) 80a4166: 881b ldrh r3, [r3, #0] 80a4168: b29b uxth r3, r3 80a416a: ee07 3a90 vmov s15, r3 80a416e: eef8 7a67 vcvt.f32.u32 s15, s15 80a4172: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(tmpF != TF) 80a4176: 4b82 ldr r3, [pc, #520] ; (80a4380 ) 80a4178: edd3 7a00 vldr s15, [r3] 80a417c: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a4180: eeb4 7a67 vcmp.f32 s14, s15 80a4184: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4188: d01d beq.n 80a41c6 TF = tmpF; 80a418a: 4a7d ldr r2, [pc, #500] ; (80a4380 ) 80a418c: 6dbb ldr r3, [r7, #88] ; 0x58 80a418e: 6013 str r3, [r2, #0] TF *= Delta_SPC[pardata.FRQ][pardata.LNE]; 80a4190: 4b72 ldr r3, [pc, #456] ; (80a435c ) 80a4192: 7adb ldrb r3, [r3, #11] 80a4194: b2db uxtb r3, r3 80a4196: 4618 mov r0, r3 80a4198: 4b70 ldr r3, [pc, #448] ; (80a435c ) 80a419a: 79db ldrb r3, [r3, #7] 80a419c: b2db uxtb r3, r3 80a419e: 4619 mov r1, r3 80a41a0: 4a78 ldr r2, [pc, #480] ; (80a4384 ) 80a41a2: 0083 lsls r3, r0, #2 80a41a4: 440b add r3, r1 80a41a6: 009b lsls r3, r3, #2 80a41a8: 4413 add r3, r2 80a41aa: ed93 7a00 vldr s14, [r3] 80a41ae: 4b74 ldr r3, [pc, #464] ; (80a4380 ) 80a41b0: edd3 7a00 vldr s15, [r3] 80a41b4: ee67 7a27 vmul.f32 s15, s14, s15 80a41b8: 4b71 ldr r3, [pc, #452] ; (80a4380 ) 80a41ba: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a41be: 4b70 ldr r3, [pc, #448] ; (80a4380 ) 80a41c0: 681b ldr r3, [r3, #0] 80a41c2: 4a71 ldr r2, [pc, #452] ; (80a4388 ) 80a41c4: 6013 str r3, [r2, #0] tmpF = TF; 80a41c6: 4b6e ldr r3, [pc, #440] ; (80a4380 ) 80a41c8: 681b ldr r3, [r3, #0] 80a41ca: 65bb str r3, [r7, #88] ; 0x58 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a41cc: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a41d0: 486e ldr r0, [pc, #440] ; (80a438c ) 80a41d2: f7af fb07 bl 80537e4 if(pardata.LANG == RUS) 80a41d6: 4b61 ldr r3, [pc, #388] ; (80a435c ) 80a41d8: 7b1b ldrb r3, [r3, #12] 80a41da: b2db uxtb r3, r3 80a41dc: 2b00 cmp r3, #0 80a41de: d107 bne.n 80a41f0 BSP_LCD_DisplayStringAt(305, 45, "$%", LEFT_MODE); 80a41e0: 2303 movs r3, #3 80a41e2: 4a6b ldr r2, [pc, #428] ; (80a4390 ) 80a41e4: 212d movs r1, #45 ; 0x2d 80a41e6: f240 1031 movw r0, #305 ; 0x131 80a41ea: f7af fbc1 bl 8053970 80a41ee: e006 b.n 80a41fe else BSP_LCD_DisplayStringAt(305, 45, "Hz", LEFT_MODE); 80a41f0: 2303 movs r3, #3 80a41f2: 4a68 ldr r2, [pc, #416] ; (80a4394 ) 80a41f4: 212d movs r1, #45 ; 0x2d 80a41f6: f240 1031 movw r0, #305 ; 0x131 80a41fa: f7af fbb9 bl 8053970 if(tmpF < 10.0f) BSP_LCD_DisplayStringAt(302, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a41fe: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a4202: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80a4206: eef4 7ac7 vcmpe.f32 s15, s14 80a420a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a420e: d50e bpl.n 80a422e 80a4210: f06f 0003 mvn.w r0, #3 80a4214: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a4218: f7c2 fa8e bl 8066738 80a421c: 4602 mov r2, r0 80a421e: 2302 movs r3, #2 80a4220: 212d movs r1, #45 ; 0x2d 80a4222: f44f 7097 mov.w r0, #302 ; 0x12e 80a4226: f7af fba3 bl 8053970 } 80a422a: f001 bf0f b.w 80a604c else if(tmpF < 100.0f) BSP_LCD_DisplayStringAt(302, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a422e: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a4232: ed9f 7a59 vldr s14, [pc, #356] ; 80a4398 80a4236: eef4 7ac7 vcmpe.f32 s15, s14 80a423a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a423e: d50e bpl.n 80a425e 80a4240: f06f 0002 mvn.w r0, #2 80a4244: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a4248: f7c2 fa76 bl 8066738 80a424c: 4602 mov r2, r0 80a424e: 2302 movs r3, #2 80a4250: 212d movs r1, #45 ; 0x2d 80a4252: f44f 7097 mov.w r0, #302 ; 0x12e 80a4256: f7af fb8b bl 8053970 } 80a425a: f001 bef7 b.w 80a604c else BSP_LCD_DisplayStringAt(302, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a425e: f06f 0001 mvn.w r0, #1 80a4262: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a4266: f7c2 fa67 bl 8066738 80a426a: 4602 mov r2, r0 80a426c: 2302 movs r3, #2 80a426e: 212d movs r1, #45 ; 0x2d 80a4270: f44f 7097 mov.w r0, #302 ; 0x12e 80a4274: f7af fb7c bl 8053970 } 80a4278: f001 bee8 b.w 80a604c if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 80a427c: 4b37 ldr r3, [pc, #220] ; (80a435c ) 80a427e: 781b ldrb r3, [r3, #0] 80a4280: b2db uxtb r3, r3 80a4282: 2b01 cmp r3, #1 80a4284: d005 beq.n 80a4292 80a4286: 4b35 ldr r3, [pc, #212] ; (80a435c ) 80a4288: 781b ldrb r3, [r3, #0] 80a428a: b2db uxtb r3, r3 80a428c: 2b05 cmp r3, #5 80a428e: f040 8420 bne.w 80a4ad2 arm_max_f32(&ScrA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &maxf, &n2); 80a4292: 4b33 ldr r3, [pc, #204] ; (80a4360 ) 80a4294: 881b ldrh r3, [r3, #0] 80a4296: b29b uxth r3, r3 80a4298: 009b lsls r3, r3, #2 80a429a: 461a mov r2, r3 80a429c: 4b36 ldr r3, [pc, #216] ; (80a4378 ) 80a429e: 4413 add r3, r2 80a42a0: 461c mov r4, r3 80a42a2: 4b31 ldr r3, [pc, #196] ; (80a4368 ) 80a42a4: 781b ldrb r3, [r3, #0] 80a42a6: b2db uxtb r3, r3 80a42a8: 4618 mov r0, r3 80a42aa: 4b2c ldr r3, [pc, #176] ; (80a435c ) 80a42ac: 79db ldrb r3, [r3, #7] 80a42ae: b2db uxtb r3, r3 80a42b0: 4619 mov r1, r3 80a42b2: 4a2e ldr r2, [pc, #184] ; (80a436c ) 80a42b4: 0083 lsls r3, r0, #2 80a42b6: 4413 add r3, r2 80a42b8: 440b add r3, r1 80a42ba: 781b ldrb r3, [r3, #0] 80a42bc: 4619 mov r1, r3 80a42be: f107 034c add.w r3, r7, #76 ; 0x4c 80a42c2: f107 0244 add.w r2, r7, #68 ; 0x44 80a42c6: 4620 mov r0, r4 80a42c8: f025 ff14 bl 80ca0f4 arm_min_f32(&ScrA_f32(Mpos), avgSPC[ViewLevel][pardata.LNE], &minf, &n1); 80a42cc: 4b24 ldr r3, [pc, #144] ; (80a4360 ) 80a42ce: 881b ldrh r3, [r3, #0] 80a42d0: b29b uxth r3, r3 80a42d2: 009b lsls r3, r3, #2 80a42d4: 461a mov r2, r3 80a42d6: 4b28 ldr r3, [pc, #160] ; (80a4378 ) 80a42d8: 4413 add r3, r2 80a42da: 461c mov r4, r3 80a42dc: 4b22 ldr r3, [pc, #136] ; (80a4368 ) 80a42de: 781b ldrb r3, [r3, #0] 80a42e0: b2db uxtb r3, r3 80a42e2: 4618 mov r0, r3 80a42e4: 4b1d ldr r3, [pc, #116] ; (80a435c ) 80a42e6: 79db ldrb r3, [r3, #7] 80a42e8: b2db uxtb r3, r3 80a42ea: 4619 mov r1, r3 80a42ec: 4a1f ldr r2, [pc, #124] ; (80a436c ) 80a42ee: 0083 lsls r3, r0, #2 80a42f0: 4413 add r3, r2 80a42f2: 440b add r3, r1 80a42f4: 781b ldrb r3, [r3, #0] 80a42f6: 4619 mov r1, r3 80a42f8: f107 0350 add.w r3, r7, #80 ; 0x50 80a42fc: f107 0248 add.w r2, r7, #72 ; 0x48 80a4300: 4620 mov r0, r4 80a4302: f025 fe5b bl 80c9fbc if(ABS(maxf) < ABS(minf)) 80a4306: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a430a: eef5 7ac0 vcmpe.f32 s15, #0.0 80a430e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4312: dd02 ble.n 80a431a 80a4314: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80a4318: e003 b.n 80a4322 80a431a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a431e: eeb1 7a67 vneg.f32 s14, s15 80a4322: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a4326: eef5 7ac0 vcmpe.f32 s15, #0.0 80a432a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a432e: dd02 ble.n 80a4336 80a4330: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a4334: e003 b.n 80a433e 80a4336: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a433a: eef1 7a67 vneg.f32 s15, s15 80a433e: eeb4 7ae7 vcmpe.f32 s14, s15 80a4342: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4346: d52b bpl.n 80a43a0 CurVal = minf; 80a4348: 6cbb ldr r3, [r7, #72] ; 0x48 80a434a: 4a14 ldr r2, [pc, #80] ; (80a439c ) 80a434c: 6013 str r3, [r2, #0] l = n1; 80a434e: 6d3b ldr r3, [r7, #80] ; 0x50 80a4350: 657b str r3, [r7, #84] ; 0x54 80a4352: e02a b.n 80a43aa 80a4354: 20020db2 .word 0x20020db2 80a4358: 20020060 .word 0x20020060 80a435c: 20023e60 .word 0x20023e60 80a4360: 20025d16 .word 0x20025d16 80a4364: 64090000 .word 0x64090000 80a4368: 20020f74 .word 0x20020f74 80a436c: 080ef64c .word 0x080ef64c 80a4370: 080d0ac0 .word 0x080d0ac0 80a4374: ff26a01f .word 0xff26a01f 80a4378: 64080000 .word 0x64080000 80a437c: 20025d1c .word 0x20025d1c 80a4380: 20021570 .word 0x20021570 80a4384: 080ef6a0 .word 0x080ef6a0 80a4388: 20021648 .word 0x20021648 80a438c: ff808080 .word 0xff808080 80a4390: 080d0ac4 .word 0x080d0ac4 80a4394: 080d0ac8 .word 0x080d0ac8 80a4398: 42c80000 .word 0x42c80000 80a439c: 2002156c .word 0x2002156c CurVal = maxf; 80a43a0: 6c7b ldr r3, [r7, #68] ; 0x44 80a43a2: 4ab2 ldr r2, [pc, #712] ; (80a466c ) 80a43a4: 6013 str r3, [r2, #0] l = n2; 80a43a6: 6cfb ldr r3, [r7, #76] ; 0x4c 80a43a8: 657b str r3, [r7, #84] ; 0x54 fineMpos = Mpos + l; 80a43aa: 6d7b ldr r3, [r7, #84] ; 0x54 80a43ac: b29a uxth r2, r3 80a43ae: 4bb0 ldr r3, [pc, #704] ; (80a4670 ) 80a43b0: 881b ldrh r3, [r3, #0] 80a43b2: b29b uxth r3, r3 80a43b4: 4413 add r3, r2 80a43b6: b29a uxth r2, r3 80a43b8: 4bae ldr r3, [pc, #696] ; (80a4674 ) 80a43ba: 801a strh r2, [r3, #0] tmpF = (float32_t) fineMpos; 80a43bc: 4bad ldr r3, [pc, #692] ; (80a4674 ) 80a43be: 881b ldrh r3, [r3, #0] 80a43c0: b29b uxth r3, r3 80a43c2: ee07 3a90 vmov s15, r3 80a43c6: eef8 7a67 vcvt.f32.u32 s15, s15 80a43ca: edc7 7a16 vstr s15, [r7, #88] ; 0x58 CurVal *= 0.70710678f; 80a43ce: 4ba7 ldr r3, [pc, #668] ; (80a466c ) 80a43d0: edd3 7a00 vldr s15, [r3] 80a43d4: ed9f 7aa8 vldr s14, [pc, #672] ; 80a4678 80a43d8: ee67 7a87 vmul.f32 s15, s15, s14 80a43dc: 4ba3 ldr r3, [pc, #652] ; (80a466c ) 80a43de: edc3 7a00 vstr s15, [r3] if(pardata.WIN == HANN) 80a43e2: 4ba6 ldr r3, [pc, #664] ; (80a467c ) 80a43e4: 7a5b ldrb r3, [r3, #9] 80a43e6: b2db uxtb r3, r3 80a43e8: 2b01 cmp r3, #1 80a43ea: d107 bne.n 80a43fc CurVal *= 2.0f; 80a43ec: 4b9f ldr r3, [pc, #636] ; (80a466c ) 80a43ee: edd3 7a00 vldr s15, [r3] 80a43f2: ee77 7aa7 vadd.f32 s15, s15, s15 80a43f6: 4b9d ldr r3, [pc, #628] ; (80a466c ) 80a43f8: edc3 7a00 vstr s15, [r3] if(pardata.IVS[pardata.IPR] == PEAK) 80a43fc: 4b9f ldr r3, [pc, #636] ; (80a467c ) 80a43fe: 785b ldrb r3, [r3, #1] 80a4400: b2db uxtb r3, r3 80a4402: 461a mov r2, r3 80a4404: 4b9d ldr r3, [pc, #628] ; (80a467c ) 80a4406: 4413 add r3, r2 80a4408: 789b ldrb r3, [r3, #2] 80a440a: b2db uxtb r3, r3 80a440c: 2b00 cmp r3, #0 80a440e: d109 bne.n 80a4424 CurVal *= 1.414213562373f; 80a4410: 4b96 ldr r3, [pc, #600] ; (80a466c ) 80a4412: edd3 7a00 vldr s15, [r3] 80a4416: ed9f 7a9a vldr s14, [pc, #616] ; 80a4680 80a441a: ee67 7a87 vmul.f32 s15, s15, s14 80a441e: 4b93 ldr r3, [pc, #588] ; (80a466c ) 80a4420: edc3 7a00 vstr s15, [r3] if(pardata.MSH == LOG) 80a4424: 4b95 ldr r3, [pc, #596] ; (80a467c ) 80a4426: 7a9b ldrb r3, [r3, #10] 80a4428: b2db uxtb r3, r3 80a442a: 2b01 cmp r3, #1 80a442c: d111 bne.n 80a4452 if(pardata.IIN != VOLTS) 80a442e: 4b93 ldr r3, [pc, #588] ; (80a467c ) 80a4430: 799b ldrb r3, [r3, #6] 80a4432: b2db uxtb r3, r3 80a4434: 2b02 cmp r3, #2 80a4436: d004 beq.n 80a4442 LinToLog(&CurVal, &CurVal); 80a4438: 498c ldr r1, [pc, #560] ; (80a466c ) 80a443a: 488c ldr r0, [pc, #560] ; (80a466c ) 80a443c: f7c0 fd50 bl 8064ee0 80a4440: e007 b.n 80a4452 else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a4442: 4b8e ldr r3, [pc, #568] ; (80a467c ) 80a4444: 785b ldrb r3, [r3, #1] 80a4446: b2db uxtb r3, r3 80a4448: 461a mov r2, r3 80a444a: 4988 ldr r1, [pc, #544] ; (80a466c ) 80a444c: 4887 ldr r0, [pc, #540] ; (80a466c ) 80a444e: f7c0 fd77 bl 8064f40 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a4452: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a4456: 488b ldr r0, [pc, #556] ; (80a4684 ) 80a4458: f7af f9c4 bl 80537e4 Val = CurVal; 80a445c: 4b83 ldr r3, [pc, #524] ; (80a466c ) 80a445e: 681b ldr r3, [r3, #0] 80a4460: 643b str r3, [r7, #64] ; 0x40 if(pardata.MSH == LOG) 80a4462: 4b86 ldr r3, [pc, #536] ; (80a467c ) 80a4464: 7a9b ldrb r3, [r3, #10] 80a4466: b2db uxtb r3, r3 80a4468: 2b01 cmp r3, #1 80a446a: d114 bne.n 80a4496 BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a446c: 2303 movs r3, #3 80a446e: 4a86 ldr r2, [pc, #536] ; (80a4688 ) 80a4470: 212d movs r1, #45 ; 0x2d 80a4472: 20dc movs r0, #220 ; 0xdc 80a4474: f7af fa7c bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a4478: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a447c: f04f 30ff mov.w r0, #4294967295 80a4480: eeb0 0a67 vmov.f32 s0, s15 80a4484: f7c2 f958 bl 8066738 80a4488: 4602 mov r2, r0 80a448a: 2302 movs r3, #2 80a448c: 212d movs r1, #45 ; 0x2d 80a448e: 20d9 movs r0, #217 ; 0xd9 80a4490: f7af fa6e bl 8053970 80a4494: e22b b.n 80a48ee if(Val >= 1000.0f) 80a4496: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a449a: ed9f 7a7c vldr s14, [pc, #496] ; 80a468c 80a449e: eef4 7ac7 vcmpe.f32 s15, s14 80a44a2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a44a6: f2c0 80a6 blt.w 80a45f6 Val *= 0.001f; 80a44aa: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a44ae: ed9f 7a78 vldr s14, [pc, #480] ; 80a4690 80a44b2: ee67 7a87 vmul.f32 s15, s15, s14 80a44b6: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IPR == ACC) 80a44ba: 4b70 ldr r3, [pc, #448] ; (80a467c ) 80a44bc: 785b ldrb r3, [r3, #1] 80a44be: b2db uxtb r3, r3 80a44c0: 2b00 cmp r3, #0 80a44c2: d12a bne.n 80a451a if(pardata.IIN != VOLTS) 80a44c4: 4b6d ldr r3, [pc, #436] ; (80a467c ) 80a44c6: 799b ldrb r3, [r3, #6] 80a44c8: b2db uxtb r3, r3 80a44ca: 2b02 cmp r3, #2 80a44cc: d012 beq.n 80a44f4 if(pardata.LANG == RUS) 80a44ce: 4b6b ldr r3, [pc, #428] ; (80a467c ) 80a44d0: 7b1b ldrb r3, [r3, #12] 80a44d2: b2db uxtb r3, r3 80a44d4: 2b00 cmp r3, #0 80a44d6: d106 bne.n 80a44e6 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a44d8: 2303 movs r3, #3 80a44da: 4a6e ldr r2, [pc, #440] ; (80a4694 ) 80a44dc: 212d movs r1, #45 ; 0x2d 80a44de: 20dc movs r0, #220 ; 0xdc 80a44e0: f7af fa46 bl 8053970 80a44e4: e078 b.n 80a45d8 else BSP_LCD_DisplayStringAt(220, 45, "km/s^", LEFT_MODE); 80a44e6: 2303 movs r3, #3 80a44e8: 4a6b ldr r2, [pc, #428] ; (80a4698 ) 80a44ea: 212d movs r1, #45 ; 0x2d 80a44ec: 20dc movs r0, #220 ; 0xdc 80a44ee: f7af fa3f bl 8053970 80a44f2: e071 b.n 80a45d8 if(pardata.LANG == RUS) 80a44f4: 4b61 ldr r3, [pc, #388] ; (80a467c ) 80a44f6: 7b1b ldrb r3, [r3, #12] 80a44f8: b2db uxtb r3, r3 80a44fa: 2b00 cmp r3, #0 80a44fc: d106 bne.n 80a450c BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a44fe: 2303 movs r3, #3 80a4500: 4a66 ldr r2, [pc, #408] ; (80a469c ) 80a4502: 212d movs r1, #45 ; 0x2d 80a4504: 20dc movs r0, #220 ; 0xdc 80a4506: f7af fa33 bl 8053970 80a450a: e065 b.n 80a45d8 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a450c: 2303 movs r3, #3 80a450e: 4a64 ldr r2, [pc, #400] ; (80a46a0 ) 80a4510: 212d movs r1, #45 ; 0x2d 80a4512: 20dc movs r0, #220 ; 0xdc 80a4514: f7af fa2c bl 8053970 80a4518: e05e b.n 80a45d8 if(pardata.IPR == VEL) 80a451a: 4b58 ldr r3, [pc, #352] ; (80a467c ) 80a451c: 785b ldrb r3, [r3, #1] 80a451e: b2db uxtb r3, r3 80a4520: 2b01 cmp r3, #1 80a4522: d12a bne.n 80a457a if(pardata.IIN != VOLTS) 80a4524: 4b55 ldr r3, [pc, #340] ; (80a467c ) 80a4526: 799b ldrb r3, [r3, #6] 80a4528: b2db uxtb r3, r3 80a452a: 2b02 cmp r3, #2 80a452c: d012 beq.n 80a4554 if(pardata.LANG == RUS) 80a452e: 4b53 ldr r3, [pc, #332] ; (80a467c ) 80a4530: 7b1b ldrb r3, [r3, #12] 80a4532: b2db uxtb r3, r3 80a4534: 2b00 cmp r3, #0 80a4536: d106 bne.n 80a4546 BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a4538: 2303 movs r3, #3 80a453a: 4a5a ldr r2, [pc, #360] ; (80a46a4 ) 80a453c: 212d movs r1, #45 ; 0x2d 80a453e: 20dc movs r0, #220 ; 0xdc 80a4540: f7af fa16 bl 8053970 80a4544: e048 b.n 80a45d8 else BSP_LCD_DisplayStringAt(220, 45, "m/s", LEFT_MODE); 80a4546: 2303 movs r3, #3 80a4548: 4a57 ldr r2, [pc, #348] ; (80a46a8 ) 80a454a: 212d movs r1, #45 ; 0x2d 80a454c: 20dc movs r0, #220 ; 0xdc 80a454e: f7af fa0f bl 8053970 80a4552: e041 b.n 80a45d8 if(pardata.LANG == RUS) 80a4554: 4b49 ldr r3, [pc, #292] ; (80a467c ) 80a4556: 7b1b ldrb r3, [r3, #12] 80a4558: b2db uxtb r3, r3 80a455a: 2b00 cmp r3, #0 80a455c: d106 bne.n 80a456c BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a455e: 2303 movs r3, #3 80a4560: 4a4e ldr r2, [pc, #312] ; (80a469c ) 80a4562: 212d movs r1, #45 ; 0x2d 80a4564: 20dc movs r0, #220 ; 0xdc 80a4566: f7af fa03 bl 8053970 80a456a: e035 b.n 80a45d8 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a456c: 2303 movs r3, #3 80a456e: 4a4c ldr r2, [pc, #304] ; (80a46a0 ) 80a4570: 212d movs r1, #45 ; 0x2d 80a4572: 20dc movs r0, #220 ; 0xdc 80a4574: f7af f9fc bl 8053970 80a4578: e02e b.n 80a45d8 if(pardata.IPR == DIS) 80a457a: 4b40 ldr r3, [pc, #256] ; (80a467c ) 80a457c: 785b ldrb r3, [r3, #1] 80a457e: b2db uxtb r3, r3 80a4580: 2b02 cmp r3, #2 80a4582: d129 bne.n 80a45d8 if(pardata.IIN != VOLTS) 80a4584: 4b3d ldr r3, [pc, #244] ; (80a467c ) 80a4586: 799b ldrb r3, [r3, #6] 80a4588: b2db uxtb r3, r3 80a458a: 2b02 cmp r3, #2 80a458c: d012 beq.n 80a45b4 if(pardata.LANG == RUS) 80a458e: 4b3b ldr r3, [pc, #236] ; (80a467c ) 80a4590: 7b1b ldrb r3, [r3, #12] 80a4592: b2db uxtb r3, r3 80a4594: 2b00 cmp r3, #0 80a4596: d106 bne.n 80a45a6 BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a4598: 2303 movs r3, #3 80a459a: 4a44 ldr r2, [pc, #272] ; (80a46ac ) 80a459c: 212d movs r1, #45 ; 0x2d 80a459e: 20dc movs r0, #220 ; 0xdc 80a45a0: f7af f9e6 bl 8053970 80a45a4: e018 b.n 80a45d8 else BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a45a6: 2303 movs r3, #3 80a45a8: 4a41 ldr r2, [pc, #260] ; (80a46b0 ) 80a45aa: 212d movs r1, #45 ; 0x2d 80a45ac: 20dc movs r0, #220 ; 0xdc 80a45ae: f7af f9df bl 8053970 80a45b2: e011 b.n 80a45d8 if(pardata.LANG == RUS) 80a45b4: 4b31 ldr r3, [pc, #196] ; (80a467c ) 80a45b6: 7b1b ldrb r3, [r3, #12] 80a45b8: b2db uxtb r3, r3 80a45ba: 2b00 cmp r3, #0 80a45bc: d106 bne.n 80a45cc BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a45be: 2303 movs r3, #3 80a45c0: 4a36 ldr r2, [pc, #216] ; (80a469c ) 80a45c2: 212d movs r1, #45 ; 0x2d 80a45c4: 20dc movs r0, #220 ; 0xdc 80a45c6: f7af f9d3 bl 8053970 80a45ca: e005 b.n 80a45d8 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a45cc: 2303 movs r3, #3 80a45ce: 4a34 ldr r2, [pc, #208] ; (80a46a0 ) 80a45d0: 212d movs r1, #45 ; 0x2d 80a45d2: 20dc movs r0, #220 ; 0xdc 80a45d4: f7af f9cc bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a45d8: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a45dc: f06f 0003 mvn.w r0, #3 80a45e0: eeb0 0a67 vmov.f32 s0, s15 80a45e4: f7c2 f8a8 bl 8066738 80a45e8: 4602 mov r2, r0 80a45ea: 2302 movs r3, #2 80a45ec: 212d movs r1, #45 ; 0x2d 80a45ee: 20d9 movs r0, #217 ; 0xd9 80a45f0: f7af f9be bl 8053970 80a45f4: e17b b.n 80a48ee if(Val >= 0.1f) 80a45f6: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a45fa: ed9f 7a2e vldr s14, [pc, #184] ; 80a46b4 80a45fe: eef4 7ac7 vcmpe.f32 s15, s14 80a4602: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4606: f2c0 80cd blt.w 80a47a4 if(pardata.IPR == ACC) 80a460a: 4b1c ldr r3, [pc, #112] ; (80a467c ) 80a460c: 785b ldrb r3, [r3, #1] 80a460e: b2db uxtb r3, r3 80a4610: 2b00 cmp r3, #0 80a4612: d159 bne.n 80a46c8 if(pardata.IIN != VOLTS) 80a4614: 4b19 ldr r3, [pc, #100] ; (80a467c ) 80a4616: 799b ldrb r3, [r3, #6] 80a4618: b2db uxtb r3, r3 80a461a: 2b02 cmp r3, #2 80a461c: d012 beq.n 80a4644 if(pardata.LANG == RUS) 80a461e: 4b17 ldr r3, [pc, #92] ; (80a467c ) 80a4620: 7b1b ldrb r3, [r3, #12] 80a4622: b2db uxtb r3, r3 80a4624: 2b00 cmp r3, #0 80a4626: d106 bne.n 80a4636 BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a4628: 2303 movs r3, #3 80a462a: 4a23 ldr r2, [pc, #140] ; (80a46b8 ) 80a462c: 212d movs r1, #45 ; 0x2d 80a462e: 20dc movs r0, #220 ; 0xdc 80a4630: f7af f99e bl 8053970 80a4634: e0a7 b.n 80a4786 else BSP_LCD_DisplayStringAt(220, 45, "m/s^", LEFT_MODE); 80a4636: 2303 movs r3, #3 80a4638: 4a20 ldr r2, [pc, #128] ; (80a46bc ) 80a463a: 212d movs r1, #45 ; 0x2d 80a463c: 20dc movs r0, #220 ; 0xdc 80a463e: f7af f997 bl 8053970 80a4642: e0a0 b.n 80a4786 if(pardata.LANG == RUS) 80a4644: 4b0d ldr r3, [pc, #52] ; (80a467c ) 80a4646: 7b1b ldrb r3, [r3, #12] 80a4648: b2db uxtb r3, r3 80a464a: 2b00 cmp r3, #0 80a464c: d106 bne.n 80a465c BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a464e: 2303 movs r3, #3 80a4650: 4a1b ldr r2, [pc, #108] ; (80a46c0 ) 80a4652: 212d movs r1, #45 ; 0x2d 80a4654: 20dc movs r0, #220 ; 0xdc 80a4656: f7af f98b bl 8053970 80a465a: e094 b.n 80a4786 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a465c: 2303 movs r3, #3 80a465e: 4a19 ldr r2, [pc, #100] ; (80a46c4 ) 80a4660: 212d movs r1, #45 ; 0x2d 80a4662: 20dc movs r0, #220 ; 0xdc 80a4664: f7af f984 bl 8053970 80a4668: e08d b.n 80a4786 80a466a: bf00 nop 80a466c: 2002156c .word 0x2002156c 80a4670: 20025d16 .word 0x20025d16 80a4674: 20025d1c .word 0x20025d1c 80a4678: 3f3504f3 .word 0x3f3504f3 80a467c: 20023e60 .word 0x20023e60 80a4680: 3fb504f3 .word 0x3fb504f3 80a4684: ff26a01f .word 0xff26a01f 80a4688: 080d0ac0 .word 0x080d0ac0 80a468c: 447a0000 .word 0x447a0000 80a4690: 3a83126f .word 0x3a83126f 80a4694: 080d0a78 .word 0x080d0a78 80a4698: 080d09d8 .word 0x080d09d8 80a469c: 080d0acc .word 0x080d0acc 80a46a0: 080ce6d8 .word 0x080ce6d8 80a46a4: 080d0ad0 .word 0x080d0ad0 80a46a8: 080d09e4 .word 0x080d09e4 80a46ac: 080d0ad4 .word 0x080d0ad4 80a46b0: 080d09ec .word 0x080d09ec 80a46b4: 3dcccccd .word 0x3dcccccd 80a46b8: 080d0a88 .word 0x080d0a88 80a46bc: 080d09f8 .word 0x080d09f8 80a46c0: 080d0ad8 .word 0x080d0ad8 80a46c4: 080d0adc .word 0x080d0adc else if(pardata.IPR == VEL) 80a46c8: 4bb4 ldr r3, [pc, #720] ; (80a499c ) 80a46ca: 785b ldrb r3, [r3, #1] 80a46cc: b2db uxtb r3, r3 80a46ce: 2b01 cmp r3, #1 80a46d0: d12a bne.n 80a4728 if(pardata.IIN != VOLTS) 80a46d2: 4bb2 ldr r3, [pc, #712] ; (80a499c ) 80a46d4: 799b ldrb r3, [r3, #6] 80a46d6: b2db uxtb r3, r3 80a46d8: 2b02 cmp r3, #2 80a46da: d012 beq.n 80a4702 if(pardata.LANG == RUS) 80a46dc: 4baf ldr r3, [pc, #700] ; (80a499c ) 80a46de: 7b1b ldrb r3, [r3, #12] 80a46e0: b2db uxtb r3, r3 80a46e2: 2b00 cmp r3, #0 80a46e4: d106 bne.n 80a46f4 BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a46e6: 2303 movs r3, #3 80a46e8: 4aad ldr r2, [pc, #692] ; (80a49a0 ) 80a46ea: 212d movs r1, #45 ; 0x2d 80a46ec: 20dc movs r0, #220 ; 0xdc 80a46ee: f7af f93f bl 8053970 80a46f2: e048 b.n 80a4786 else BSP_LCD_DisplayStringAt(220, 45, "mm/s", LEFT_MODE); 80a46f4: 2303 movs r3, #3 80a46f6: 4aab ldr r2, [pc, #684] ; (80a49a4 ) 80a46f8: 212d movs r1, #45 ; 0x2d 80a46fa: 20dc movs r0, #220 ; 0xdc 80a46fc: f7af f938 bl 8053970 80a4700: e041 b.n 80a4786 if(pardata.LANG == RUS) 80a4702: 4ba6 ldr r3, [pc, #664] ; (80a499c ) 80a4704: 7b1b ldrb r3, [r3, #12] 80a4706: b2db uxtb r3, r3 80a4708: 2b00 cmp r3, #0 80a470a: d106 bne.n 80a471a BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a470c: 2303 movs r3, #3 80a470e: 4aa6 ldr r2, [pc, #664] ; (80a49a8 ) 80a4710: 212d movs r1, #45 ; 0x2d 80a4712: 20dc movs r0, #220 ; 0xdc 80a4714: f7af f92c bl 8053970 80a4718: e035 b.n 80a4786 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a471a: 2303 movs r3, #3 80a471c: 4aa3 ldr r2, [pc, #652] ; (80a49ac ) 80a471e: 212d movs r1, #45 ; 0x2d 80a4720: 20dc movs r0, #220 ; 0xdc 80a4722: f7af f925 bl 8053970 80a4726: e02e b.n 80a4786 else if(pardata.IPR == DIS) 80a4728: 4b9c ldr r3, [pc, #624] ; (80a499c ) 80a472a: 785b ldrb r3, [r3, #1] 80a472c: b2db uxtb r3, r3 80a472e: 2b02 cmp r3, #2 80a4730: d129 bne.n 80a4786 if(pardata.IIN != VOLTS) 80a4732: 4b9a ldr r3, [pc, #616] ; (80a499c ) 80a4734: 799b ldrb r3, [r3, #6] 80a4736: b2db uxtb r3, r3 80a4738: 2b02 cmp r3, #2 80a473a: d012 beq.n 80a4762 if(pardata.LANG == RUS) 80a473c: 4b97 ldr r3, [pc, #604] ; (80a499c ) 80a473e: 7b1b ldrb r3, [r3, #12] 80a4740: b2db uxtb r3, r3 80a4742: 2b00 cmp r3, #0 80a4744: d106 bne.n 80a4754 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a4746: 2303 movs r3, #3 80a4748: 4a99 ldr r2, [pc, #612] ; (80a49b0 ) 80a474a: 212d movs r1, #45 ; 0x2d 80a474c: 20dc movs r0, #220 ; 0xdc 80a474e: f7af f90f bl 8053970 80a4752: e018 b.n 80a4786 else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a4754: 2303 movs r3, #3 80a4756: 4a97 ldr r2, [pc, #604] ; (80a49b4 ) 80a4758: 212d movs r1, #45 ; 0x2d 80a475a: 20dc movs r0, #220 ; 0xdc 80a475c: f7af f908 bl 8053970 80a4760: e011 b.n 80a4786 if(pardata.LANG == RUS) 80a4762: 4b8e ldr r3, [pc, #568] ; (80a499c ) 80a4764: 7b1b ldrb r3, [r3, #12] 80a4766: b2db uxtb r3, r3 80a4768: 2b00 cmp r3, #0 80a476a: d106 bne.n 80a477a BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a476c: 2303 movs r3, #3 80a476e: 4a8e ldr r2, [pc, #568] ; (80a49a8 ) 80a4770: 212d movs r1, #45 ; 0x2d 80a4772: 20dc movs r0, #220 ; 0xdc 80a4774: f7af f8fc bl 8053970 80a4778: e005 b.n 80a4786 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a477a: 2303 movs r3, #3 80a477c: 4a8b ldr r2, [pc, #556] ; (80a49ac ) 80a477e: 212d movs r1, #45 ; 0x2d 80a4780: 20dc movs r0, #220 ; 0xdc 80a4782: f7af f8f5 bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a4786: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a478a: f06f 0002 mvn.w r0, #2 80a478e: eeb0 0a67 vmov.f32 s0, s15 80a4792: f7c1 ffd1 bl 8066738 80a4796: 4602 mov r2, r0 80a4798: 2302 movs r3, #2 80a479a: 212d movs r1, #45 ; 0x2d 80a479c: 20d9 movs r0, #217 ; 0xd9 80a479e: f7af f8e7 bl 8053970 80a47a2: e0a4 b.n 80a48ee Val *= 1000.0f; 80a47a4: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a47a8: ed9f 7a83 vldr s14, [pc, #524] ; 80a49b8 80a47ac: ee67 7a87 vmul.f32 s15, s15, s14 80a47b0: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IPR == ACC) 80a47b4: 4b79 ldr r3, [pc, #484] ; (80a499c ) 80a47b6: 785b ldrb r3, [r3, #1] 80a47b8: b2db uxtb r3, r3 80a47ba: 2b00 cmp r3, #0 80a47bc: d12a bne.n 80a4814 if(pardata.IIN != VOLTS) 80a47be: 4b77 ldr r3, [pc, #476] ; (80a499c ) 80a47c0: 799b ldrb r3, [r3, #6] 80a47c2: b2db uxtb r3, r3 80a47c4: 2b02 cmp r3, #2 80a47c6: d012 beq.n 80a47ee if(pardata.LANG == RUS) 80a47c8: 4b74 ldr r3, [pc, #464] ; (80a499c ) 80a47ca: 7b1b ldrb r3, [r3, #12] 80a47cc: b2db uxtb r3, r3 80a47ce: 2b00 cmp r3, #0 80a47d0: d106 bne.n 80a47e0 BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a47d2: 2303 movs r3, #3 80a47d4: 4a79 ldr r2, [pc, #484] ; (80a49bc ) 80a47d6: 212d movs r1, #45 ; 0x2d 80a47d8: 20dc movs r0, #220 ; 0xdc 80a47da: f7af f8c9 bl 8053970 80a47de: e078 b.n 80a48d2 else BSP_LCD_DisplayStringAt(220, 45, "mm/s^", LEFT_MODE); 80a47e0: 2303 movs r3, #3 80a47e2: 4a77 ldr r2, [pc, #476] ; (80a49c0 ) 80a47e4: 212d movs r1, #45 ; 0x2d 80a47e6: 20dc movs r0, #220 ; 0xdc 80a47e8: f7af f8c2 bl 8053970 80a47ec: e071 b.n 80a48d2 if(pardata.LANG == RUS) 80a47ee: 4b6b ldr r3, [pc, #428] ; (80a499c ) 80a47f0: 7b1b ldrb r3, [r3, #12] 80a47f2: b2db uxtb r3, r3 80a47f4: 2b00 cmp r3, #0 80a47f6: d106 bne.n 80a4806 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a47f8: 2303 movs r3, #3 80a47fa: 4a72 ldr r2, [pc, #456] ; (80a49c4 ) 80a47fc: 212d movs r1, #45 ; 0x2d 80a47fe: 20dc movs r0, #220 ; 0xdc 80a4800: f7af f8b6 bl 8053970 80a4804: e065 b.n 80a48d2 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a4806: 2303 movs r3, #3 80a4808: 4a6f ldr r2, [pc, #444] ; (80a49c8 ) 80a480a: 212d movs r1, #45 ; 0x2d 80a480c: 20dc movs r0, #220 ; 0xdc 80a480e: f7af f8af bl 8053970 80a4812: e05e b.n 80a48d2 else if(pardata.IPR == VEL) 80a4814: 4b61 ldr r3, [pc, #388] ; (80a499c ) 80a4816: 785b ldrb r3, [r3, #1] 80a4818: b2db uxtb r3, r3 80a481a: 2b01 cmp r3, #1 80a481c: d12a bne.n 80a4874 if(pardata.IIN != VOLTS) 80a481e: 4b5f ldr r3, [pc, #380] ; (80a499c ) 80a4820: 799b ldrb r3, [r3, #6] 80a4822: b2db uxtb r3, r3 80a4824: 2b02 cmp r3, #2 80a4826: d012 beq.n 80a484e if(pardata.LANG == RUS) 80a4828: 4b5c ldr r3, [pc, #368] ; (80a499c ) 80a482a: 7b1b ldrb r3, [r3, #12] 80a482c: b2db uxtb r3, r3 80a482e: 2b00 cmp r3, #0 80a4830: d106 bne.n 80a4840 BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a4832: 2303 movs r3, #3 80a4834: 4a65 ldr r2, [pc, #404] ; (80a49cc ) 80a4836: 212d movs r1, #45 ; 0x2d 80a4838: 20dc movs r0, #220 ; 0xdc 80a483a: f7af f899 bl 8053970 80a483e: e048 b.n 80a48d2 else BSP_LCD_DisplayStringAt(220, 45, "mkm/s", LEFT_MODE); 80a4840: 2303 movs r3, #3 80a4842: 4a63 ldr r2, [pc, #396] ; (80a49d0 ) 80a4844: 212d movs r1, #45 ; 0x2d 80a4846: 20dc movs r0, #220 ; 0xdc 80a4848: f7af f892 bl 8053970 80a484c: e041 b.n 80a48d2 if(pardata.LANG == RUS) 80a484e: 4b53 ldr r3, [pc, #332] ; (80a499c ) 80a4850: 7b1b ldrb r3, [r3, #12] 80a4852: b2db uxtb r3, r3 80a4854: 2b00 cmp r3, #0 80a4856: d106 bne.n 80a4866 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a4858: 2303 movs r3, #3 80a485a: 4a5a ldr r2, [pc, #360] ; (80a49c4 ) 80a485c: 212d movs r1, #45 ; 0x2d 80a485e: 20dc movs r0, #220 ; 0xdc 80a4860: f7af f886 bl 8053970 80a4864: e035 b.n 80a48d2 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a4866: 2303 movs r3, #3 80a4868: 4a57 ldr r2, [pc, #348] ; (80a49c8 ) 80a486a: 212d movs r1, #45 ; 0x2d 80a486c: 20dc movs r0, #220 ; 0xdc 80a486e: f7af f87f bl 8053970 80a4872: e02e b.n 80a48d2 else if(pardata.IPR == DIS) 80a4874: 4b49 ldr r3, [pc, #292] ; (80a499c ) 80a4876: 785b ldrb r3, [r3, #1] 80a4878: b2db uxtb r3, r3 80a487a: 2b02 cmp r3, #2 80a487c: d129 bne.n 80a48d2 if(pardata.IIN != VOLTS) 80a487e: 4b47 ldr r3, [pc, #284] ; (80a499c ) 80a4880: 799b ldrb r3, [r3, #6] 80a4882: b2db uxtb r3, r3 80a4884: 2b02 cmp r3, #2 80a4886: d012 beq.n 80a48ae if(pardata.LANG == RUS) 80a4888: 4b44 ldr r3, [pc, #272] ; (80a499c ) 80a488a: 7b1b ldrb r3, [r3, #12] 80a488c: b2db uxtb r3, r3 80a488e: 2b00 cmp r3, #0 80a4890: d106 bne.n 80a48a0 BSP_LCD_DisplayStringAt(220, 45, "#&", LEFT_MODE); 80a4892: 2303 movs r3, #3 80a4894: 4a4f ldr r2, [pc, #316] ; (80a49d4 ) 80a4896: 212d movs r1, #45 ; 0x2d 80a4898: 20dc movs r0, #220 ; 0xdc 80a489a: f7af f869 bl 8053970 80a489e: e018 b.n 80a48d2 else BSP_LCD_DisplayStringAt(220, 45, "nm", LEFT_MODE); 80a48a0: 2303 movs r3, #3 80a48a2: 4a4d ldr r2, [pc, #308] ; (80a49d8 ) 80a48a4: 212d movs r1, #45 ; 0x2d 80a48a6: 20dc movs r0, #220 ; 0xdc 80a48a8: f7af f862 bl 8053970 80a48ac: e011 b.n 80a48d2 if(pardata.LANG == RUS) 80a48ae: 4b3b ldr r3, [pc, #236] ; (80a499c ) 80a48b0: 7b1b ldrb r3, [r3, #12] 80a48b2: b2db uxtb r3, r3 80a48b4: 2b00 cmp r3, #0 80a48b6: d106 bne.n 80a48c6 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a48b8: 2303 movs r3, #3 80a48ba: 4a42 ldr r2, [pc, #264] ; (80a49c4 ) 80a48bc: 212d movs r1, #45 ; 0x2d 80a48be: 20dc movs r0, #220 ; 0xdc 80a48c0: f7af f856 bl 8053970 80a48c4: e005 b.n 80a48d2 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a48c6: 2303 movs r3, #3 80a48c8: 4a3f ldr r2, [pc, #252] ; (80a49c8 ) 80a48ca: 212d movs r1, #45 ; 0x2d 80a48cc: 20dc movs r0, #220 ; 0xdc 80a48ce: f7af f84f bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a48d2: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a48d6: f06f 0003 mvn.w r0, #3 80a48da: eeb0 0a67 vmov.f32 s0, s15 80a48de: f7c1 ff2b bl 8066738 80a48e2: 4602 mov r2, r0 80a48e4: 2302 movs r3, #2 80a48e6: 212d movs r1, #45 ; 0x2d 80a48e8: 20d9 movs r0, #217 ; 0xd9 80a48ea: f7af f841 bl 8053970 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a48ee: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a48f2: 483a ldr r0, [pc, #232] ; (80a49dc ) 80a48f4: f7ae ff76 bl 80537e4 tmpF = (float32_t) fineMpos; 80a48f8: 4b39 ldr r3, [pc, #228] ; (80a49e0 ) 80a48fa: 881b ldrh r3, [r3, #0] 80a48fc: b29b uxth r3, r3 80a48fe: ee07 3a90 vmov s15, r3 80a4902: eef8 7a67 vcvt.f32.u32 s15, s15 80a4906: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(tmpF != TF) 80a490a: 4b36 ldr r3, [pc, #216] ; (80a49e4 ) 80a490c: edd3 7a00 vldr s15, [r3] 80a4910: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a4914: eeb4 7a67 vcmp.f32 s14, s15 80a4918: eef1 fa10 vmrs APSR_nzcv, fpscr 80a491c: d01d beq.n 80a495a TF = tmpF; 80a491e: 4a31 ldr r2, [pc, #196] ; (80a49e4 ) 80a4920: 6dbb ldr r3, [r7, #88] ; 0x58 80a4922: 6013 str r3, [r2, #0] TF *= Delta_SPC[pardata.FRQ][pardata.LNE]; 80a4924: 4b1d ldr r3, [pc, #116] ; (80a499c ) 80a4926: 7adb ldrb r3, [r3, #11] 80a4928: b2db uxtb r3, r3 80a492a: 4618 mov r0, r3 80a492c: 4b1b ldr r3, [pc, #108] ; (80a499c ) 80a492e: 79db ldrb r3, [r3, #7] 80a4930: b2db uxtb r3, r3 80a4932: 4619 mov r1, r3 80a4934: 4a2c ldr r2, [pc, #176] ; (80a49e8 ) 80a4936: 0083 lsls r3, r0, #2 80a4938: 440b add r3, r1 80a493a: 009b lsls r3, r3, #2 80a493c: 4413 add r3, r2 80a493e: ed93 7a00 vldr s14, [r3] 80a4942: 4b28 ldr r3, [pc, #160] ; (80a49e4 ) 80a4944: edd3 7a00 vldr s15, [r3] 80a4948: ee67 7a27 vmul.f32 s15, s14, s15 80a494c: 4b25 ldr r3, [pc, #148] ; (80a49e4 ) 80a494e: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a4952: 4b24 ldr r3, [pc, #144] ; (80a49e4 ) 80a4954: 681b ldr r3, [r3, #0] 80a4956: 4a25 ldr r2, [pc, #148] ; (80a49ec ) 80a4958: 6013 str r3, [r2, #0] tmpF = TF; 80a495a: 4b22 ldr r3, [pc, #136] ; (80a49e4 ) 80a495c: 681b ldr r3, [r3, #0] 80a495e: 65bb str r3, [r7, #88] ; 0x58 if(tmpF >= 1000.0f) 80a4960: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a4964: ed9f 7a14 vldr s14, [pc, #80] ; 80a49b8 80a4968: eef4 7ac7 vcmpe.f32 s15, s14 80a496c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4970: db58 blt.n 80a4a24 tmpF *= 0.001f; 80a4972: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a4976: ed9f 7a1e vldr s14, [pc, #120] ; 80a49f0 80a497a: ee67 7a87 vmul.f32 s15, s15, s14 80a497e: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a4982: 4b06 ldr r3, [pc, #24] ; (80a499c ) 80a4984: 7b1b ldrb r3, [r3, #12] 80a4986: b2db uxtb r3, r3 80a4988: 2b00 cmp r3, #0 80a498a: d135 bne.n 80a49f8 BSP_LCD_DisplayStringAt(302, 45, "k$%", LEFT_MODE); 80a498c: 2303 movs r3, #3 80a498e: 4a19 ldr r2, [pc, #100] ; (80a49f4 ) 80a4990: 212d movs r1, #45 ; 0x2d 80a4992: f44f 7097 mov.w r0, #302 ; 0x12e 80a4996: f7ae ffeb bl 8053970 80a499a: e034 b.n 80a4a06 80a499c: 20023e60 .word 0x20023e60 80a49a0: 080d0ae0 .word 0x080d0ae0 80a49a4: 080d0a08 .word 0x080d0a08 80a49a8: 080d0ad8 .word 0x080d0ad8 80a49ac: 080d0adc .word 0x080d0adc 80a49b0: 080d0ae8 .word 0x080d0ae8 80a49b4: 080d0a14 .word 0x080d0a14 80a49b8: 447a0000 .word 0x447a0000 80a49bc: 080d0a98 .word 0x080d0a98 80a49c0: 080d0a20 .word 0x080d0a20 80a49c4: 080d0aec .word 0x080d0aec 80a49c8: 080d0a44 .word 0x080d0a44 80a49cc: 080d0af0 .word 0x080d0af0 80a49d0: 080d0a30 .word 0x080d0a30 80a49d4: 080d0af8 .word 0x080d0af8 80a49d8: 080d0a3c .word 0x080d0a3c 80a49dc: ff808080 .word 0xff808080 80a49e0: 20025d1c .word 0x20025d1c 80a49e4: 20021570 .word 0x20021570 80a49e8: 080ef6a0 .word 0x080ef6a0 80a49ec: 20021648 .word 0x20021648 80a49f0: 3a83126f .word 0x3a83126f 80a49f4: 080d0afc .word 0x080d0afc else BSP_LCD_DisplayStringAt(302, 45, "kHz", LEFT_MODE); 80a49f8: 2303 movs r3, #3 80a49fa: 4ac1 ldr r2, [pc, #772] ; (80a4d00 ) 80a49fc: 212d movs r1, #45 ; 0x2d 80a49fe: f44f 7097 mov.w r0, #302 ; 0x12e 80a4a02: f7ae ffb5 bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a4a06: f06f 0003 mvn.w r0, #3 80a4a0a: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a4a0e: f7c1 fe93 bl 8066738 80a4a12: 4602 mov r2, r0 80a4a14: 2302 movs r3, #2 80a4a16: 212d movs r1, #45 ; 0x2d 80a4a18: f240 102b movw r0, #299 ; 0x12b 80a4a1c: f7ae ffa8 bl 8053970 if(tmpF >= 1000.0f) 80a4a20: f001 bb14 b.w 80a604c if(tmpF >= 0.1f) 80a4a24: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a4a28: ed9f 7ab6 vldr s14, [pc, #728] ; 80a4d04 80a4a2c: eef4 7ac7 vcmpe.f32 s15, s14 80a4a30: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4a34: db22 blt.n 80a4a7c if(pardata.LANG == RUS) 80a4a36: 4bb4 ldr r3, [pc, #720] ; (80a4d08 ) 80a4a38: 7b1b ldrb r3, [r3, #12] 80a4a3a: b2db uxtb r3, r3 80a4a3c: 2b00 cmp r3, #0 80a4a3e: d107 bne.n 80a4a50 BSP_LCD_DisplayStringAt(302, 45, "$%", LEFT_MODE); 80a4a40: 2303 movs r3, #3 80a4a42: 4ab2 ldr r2, [pc, #712] ; (80a4d0c ) 80a4a44: 212d movs r1, #45 ; 0x2d 80a4a46: f44f 7097 mov.w r0, #302 ; 0x12e 80a4a4a: f7ae ff91 bl 8053970 80a4a4e: e006 b.n 80a4a5e else BSP_LCD_DisplayStringAt(302, 45, "Hz", LEFT_MODE); 80a4a50: 2303 movs r3, #3 80a4a52: 4aaf ldr r2, [pc, #700] ; (80a4d10 ) 80a4a54: 212d movs r1, #45 ; 0x2d 80a4a56: f44f 7097 mov.w r0, #302 ; 0x12e 80a4a5a: f7ae ff89 bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a4a5e: f06f 0002 mvn.w r0, #2 80a4a62: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a4a66: f7c1 fe67 bl 8066738 80a4a6a: 4602 mov r2, r0 80a4a6c: 2302 movs r3, #2 80a4a6e: 212d movs r1, #45 ; 0x2d 80a4a70: f240 102b movw r0, #299 ; 0x12b 80a4a74: f7ae ff7c bl 8053970 if(tmpF >= 1000.0f) 80a4a78: f001 bae8 b.w 80a604c tmpF *= 1000.0f; 80a4a7c: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a4a80: ed9f 7aa4 vldr s14, [pc, #656] ; 80a4d14 80a4a84: ee67 7a87 vmul.f32 s15, s15, s14 80a4a88: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a4a8c: 4b9e ldr r3, [pc, #632] ; (80a4d08 ) 80a4a8e: 7b1b ldrb r3, [r3, #12] 80a4a90: b2db uxtb r3, r3 80a4a92: 2b00 cmp r3, #0 80a4a94: d107 bne.n 80a4aa6 BSP_LCD_DisplayStringAt(302, 45, "&$%", LEFT_MODE); 80a4a96: 2303 movs r3, #3 80a4a98: 4a9f ldr r2, [pc, #636] ; (80a4d18 ) 80a4a9a: 212d movs r1, #45 ; 0x2d 80a4a9c: f44f 7097 mov.w r0, #302 ; 0x12e 80a4aa0: f7ae ff66 bl 8053970 80a4aa4: e006 b.n 80a4ab4 else BSP_LCD_DisplayStringAt(302, 45, "mHz", LEFT_MODE); 80a4aa6: 2303 movs r3, #3 80a4aa8: 4a9c ldr r2, [pc, #624] ; (80a4d1c ) 80a4aaa: 212d movs r1, #45 ; 0x2d 80a4aac: f44f 7097 mov.w r0, #302 ; 0x12e 80a4ab0: f7ae ff5e bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a4ab4: f06f 0001 mvn.w r0, #1 80a4ab8: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a4abc: f7c1 fe3c bl 8066738 80a4ac0: 4602 mov r2, r0 80a4ac2: 2302 movs r3, #2 80a4ac4: 212d movs r1, #45 ; 0x2d 80a4ac6: f240 102b movw r0, #299 ; 0x12b 80a4aca: f7ae ff51 bl 8053970 if(tmpF >= 1000.0f) 80a4ace: f001 babd b.w 80a604c if(pardata.SYG == SPEC_OKT) 80a4ad2: 4b8d ldr r3, [pc, #564] ; (80a4d08 ) 80a4ad4: 781b ldrb r3, [r3, #0] 80a4ad6: b2db uxtb r3, r3 80a4ad8: 2b06 cmp r3, #6 80a4ada: f040 8334 bne.w 80a5146 CurVal = ScrA_f32(CURSOR); 80a4ade: 4b90 ldr r3, [pc, #576] ; (80a4d20 ) 80a4ae0: 681b ldr r3, [r3, #0] 80a4ae2: 009a lsls r2, r3, #2 80a4ae4: 4b8f ldr r3, [pc, #572] ; (80a4d24 ) 80a4ae6: 4413 add r3, r2 80a4ae8: 681b ldr r3, [r3, #0] 80a4aea: 4a8f ldr r2, [pc, #572] ; (80a4d28 ) 80a4aec: 6013 str r3, [r2, #0] if(pardata.MSH == LOG) 80a4aee: 4b86 ldr r3, [pc, #536] ; (80a4d08 ) 80a4af0: 7a9b ldrb r3, [r3, #10] 80a4af2: b2db uxtb r3, r3 80a4af4: 2b01 cmp r3, #1 80a4af6: d111 bne.n 80a4b1c if(pardata.IIN != VOLTS) 80a4af8: 4b83 ldr r3, [pc, #524] ; (80a4d08 ) 80a4afa: 799b ldrb r3, [r3, #6] 80a4afc: b2db uxtb r3, r3 80a4afe: 2b02 cmp r3, #2 80a4b00: d004 beq.n 80a4b0c LinToLog(&CurVal, &CurVal); 80a4b02: 4989 ldr r1, [pc, #548] ; (80a4d28 ) 80a4b04: 4888 ldr r0, [pc, #544] ; (80a4d28 ) 80a4b06: f7c0 f9eb bl 8064ee0 80a4b0a: e007 b.n 80a4b1c else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a4b0c: 4b7e ldr r3, [pc, #504] ; (80a4d08 ) 80a4b0e: 785b ldrb r3, [r3, #1] 80a4b10: b2db uxtb r3, r3 80a4b12: 461a mov r2, r3 80a4b14: 4984 ldr r1, [pc, #528] ; (80a4d28 ) 80a4b16: 4884 ldr r0, [pc, #528] ; (80a4d28 ) 80a4b18: f7c0 fa12 bl 8064f40 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a4b1c: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a4b20: 4882 ldr r0, [pc, #520] ; (80a4d2c ) 80a4b22: f7ae fe5f bl 80537e4 Val = CurVal; 80a4b26: 4b80 ldr r3, [pc, #512] ; (80a4d28 ) 80a4b28: 681b ldr r3, [r3, #0] 80a4b2a: 643b str r3, [r7, #64] ; 0x40 if(pardata.MSH == LOG) 80a4b2c: 4b76 ldr r3, [pc, #472] ; (80a4d08 ) 80a4b2e: 7a9b ldrb r3, [r3, #10] 80a4b30: b2db uxtb r3, r3 80a4b32: 2b01 cmp r3, #1 80a4b34: d114 bne.n 80a4b60 BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a4b36: 2303 movs r3, #3 80a4b38: 4a7d ldr r2, [pc, #500] ; (80a4d30 ) 80a4b3a: 212d movs r1, #45 ; 0x2d 80a4b3c: 20dc movs r0, #220 ; 0xdc 80a4b3e: f7ae ff17 bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a4b42: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4b46: f04f 30ff mov.w r0, #4294967295 80a4b4a: eeb0 0a67 vmov.f32 s0, s15 80a4b4e: f7c1 fdf3 bl 8066738 80a4b52: 4602 mov r2, r0 80a4b54: 2302 movs r3, #2 80a4b56: 212d movs r1, #45 ; 0x2d 80a4b58: 20d9 movs r0, #217 ; 0xd9 80a4b5a: f7ae ff09 bl 8053970 80a4b5e: e22a b.n 80a4fb6 if(Val >= 1000.0f) 80a4b60: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4b64: ed9f 7a6b vldr s14, [pc, #428] ; 80a4d14 80a4b68: eef4 7ac7 vcmpe.f32 s15, s14 80a4b6c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4b70: f2c0 80a6 blt.w 80a4cc0 Val *= 0.001f; 80a4b74: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4b78: ed9f 7a6e vldr s14, [pc, #440] ; 80a4d34 80a4b7c: ee67 7a87 vmul.f32 s15, s15, s14 80a4b80: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IPR == ACC) 80a4b84: 4b60 ldr r3, [pc, #384] ; (80a4d08 ) 80a4b86: 785b ldrb r3, [r3, #1] 80a4b88: b2db uxtb r3, r3 80a4b8a: 2b00 cmp r3, #0 80a4b8c: d12a bne.n 80a4be4 if(pardata.IIN != VOLTS) 80a4b8e: 4b5e ldr r3, [pc, #376] ; (80a4d08 ) 80a4b90: 799b ldrb r3, [r3, #6] 80a4b92: b2db uxtb r3, r3 80a4b94: 2b02 cmp r3, #2 80a4b96: d012 beq.n 80a4bbe if(pardata.LANG == RUS) 80a4b98: 4b5b ldr r3, [pc, #364] ; (80a4d08 ) 80a4b9a: 7b1b ldrb r3, [r3, #12] 80a4b9c: b2db uxtb r3, r3 80a4b9e: 2b00 cmp r3, #0 80a4ba0: d106 bne.n 80a4bb0 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a4ba2: 2303 movs r3, #3 80a4ba4: 4a64 ldr r2, [pc, #400] ; (80a4d38 ) 80a4ba6: 212d movs r1, #45 ; 0x2d 80a4ba8: 20dc movs r0, #220 ; 0xdc 80a4baa: f7ae fee1 bl 8053970 80a4bae: e078 b.n 80a4ca2 else BSP_LCD_DisplayStringAt(220, 45, "km/s^", LEFT_MODE); 80a4bb0: 2303 movs r3, #3 80a4bb2: 4a62 ldr r2, [pc, #392] ; (80a4d3c ) 80a4bb4: 212d movs r1, #45 ; 0x2d 80a4bb6: 20dc movs r0, #220 ; 0xdc 80a4bb8: f7ae feda bl 8053970 80a4bbc: e071 b.n 80a4ca2 if(pardata.LANG == RUS) 80a4bbe: 4b52 ldr r3, [pc, #328] ; (80a4d08 ) 80a4bc0: 7b1b ldrb r3, [r3, #12] 80a4bc2: b2db uxtb r3, r3 80a4bc4: 2b00 cmp r3, #0 80a4bc6: d106 bne.n 80a4bd6 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a4bc8: 2303 movs r3, #3 80a4bca: 4a5d ldr r2, [pc, #372] ; (80a4d40 ) 80a4bcc: 212d movs r1, #45 ; 0x2d 80a4bce: 20dc movs r0, #220 ; 0xdc 80a4bd0: f7ae fece bl 8053970 80a4bd4: e065 b.n 80a4ca2 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a4bd6: 2303 movs r3, #3 80a4bd8: 4a5a ldr r2, [pc, #360] ; (80a4d44 ) 80a4bda: 212d movs r1, #45 ; 0x2d 80a4bdc: 20dc movs r0, #220 ; 0xdc 80a4bde: f7ae fec7 bl 8053970 80a4be2: e05e b.n 80a4ca2 if(pardata.IPR == VEL) 80a4be4: 4b48 ldr r3, [pc, #288] ; (80a4d08 ) 80a4be6: 785b ldrb r3, [r3, #1] 80a4be8: b2db uxtb r3, r3 80a4bea: 2b01 cmp r3, #1 80a4bec: d12a bne.n 80a4c44 if(pardata.IIN != VOLTS) 80a4bee: 4b46 ldr r3, [pc, #280] ; (80a4d08 ) 80a4bf0: 799b ldrb r3, [r3, #6] 80a4bf2: b2db uxtb r3, r3 80a4bf4: 2b02 cmp r3, #2 80a4bf6: d012 beq.n 80a4c1e if(pardata.LANG == RUS) 80a4bf8: 4b43 ldr r3, [pc, #268] ; (80a4d08 ) 80a4bfa: 7b1b ldrb r3, [r3, #12] 80a4bfc: b2db uxtb r3, r3 80a4bfe: 2b00 cmp r3, #0 80a4c00: d106 bne.n 80a4c10 BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a4c02: 2303 movs r3, #3 80a4c04: 4a50 ldr r2, [pc, #320] ; (80a4d48 ) 80a4c06: 212d movs r1, #45 ; 0x2d 80a4c08: 20dc movs r0, #220 ; 0xdc 80a4c0a: f7ae feb1 bl 8053970 80a4c0e: e048 b.n 80a4ca2 else BSP_LCD_DisplayStringAt(220, 45, "m/s", LEFT_MODE); 80a4c10: 2303 movs r3, #3 80a4c12: 4a4e ldr r2, [pc, #312] ; (80a4d4c ) 80a4c14: 212d movs r1, #45 ; 0x2d 80a4c16: 20dc movs r0, #220 ; 0xdc 80a4c18: f7ae feaa bl 8053970 80a4c1c: e041 b.n 80a4ca2 if(pardata.LANG == RUS) 80a4c1e: 4b3a ldr r3, [pc, #232] ; (80a4d08 ) 80a4c20: 7b1b ldrb r3, [r3, #12] 80a4c22: b2db uxtb r3, r3 80a4c24: 2b00 cmp r3, #0 80a4c26: d106 bne.n 80a4c36 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a4c28: 2303 movs r3, #3 80a4c2a: 4a45 ldr r2, [pc, #276] ; (80a4d40 ) 80a4c2c: 212d movs r1, #45 ; 0x2d 80a4c2e: 20dc movs r0, #220 ; 0xdc 80a4c30: f7ae fe9e bl 8053970 80a4c34: e035 b.n 80a4ca2 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a4c36: 2303 movs r3, #3 80a4c38: 4a42 ldr r2, [pc, #264] ; (80a4d44 ) 80a4c3a: 212d movs r1, #45 ; 0x2d 80a4c3c: 20dc movs r0, #220 ; 0xdc 80a4c3e: f7ae fe97 bl 8053970 80a4c42: e02e b.n 80a4ca2 if(pardata.IPR == DIS) 80a4c44: 4b30 ldr r3, [pc, #192] ; (80a4d08 ) 80a4c46: 785b ldrb r3, [r3, #1] 80a4c48: b2db uxtb r3, r3 80a4c4a: 2b02 cmp r3, #2 80a4c4c: d129 bne.n 80a4ca2 if(pardata.IIN != VOLTS) 80a4c4e: 4b2e ldr r3, [pc, #184] ; (80a4d08 ) 80a4c50: 799b ldrb r3, [r3, #6] 80a4c52: b2db uxtb r3, r3 80a4c54: 2b02 cmp r3, #2 80a4c56: d012 beq.n 80a4c7e if(pardata.LANG == RUS) 80a4c58: 4b2b ldr r3, [pc, #172] ; (80a4d08 ) 80a4c5a: 7b1b ldrb r3, [r3, #12] 80a4c5c: b2db uxtb r3, r3 80a4c5e: 2b00 cmp r3, #0 80a4c60: d106 bne.n 80a4c70 BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a4c62: 2303 movs r3, #3 80a4c64: 4a3a ldr r2, [pc, #232] ; (80a4d50 ) 80a4c66: 212d movs r1, #45 ; 0x2d 80a4c68: 20dc movs r0, #220 ; 0xdc 80a4c6a: f7ae fe81 bl 8053970 80a4c6e: e018 b.n 80a4ca2 else BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a4c70: 2303 movs r3, #3 80a4c72: 4a38 ldr r2, [pc, #224] ; (80a4d54 ) 80a4c74: 212d movs r1, #45 ; 0x2d 80a4c76: 20dc movs r0, #220 ; 0xdc 80a4c78: f7ae fe7a bl 8053970 80a4c7c: e011 b.n 80a4ca2 if(pardata.LANG == RUS) 80a4c7e: 4b22 ldr r3, [pc, #136] ; (80a4d08 ) 80a4c80: 7b1b ldrb r3, [r3, #12] 80a4c82: b2db uxtb r3, r3 80a4c84: 2b00 cmp r3, #0 80a4c86: d106 bne.n 80a4c96 BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a4c88: 2303 movs r3, #3 80a4c8a: 4a2d ldr r2, [pc, #180] ; (80a4d40 ) 80a4c8c: 212d movs r1, #45 ; 0x2d 80a4c8e: 20dc movs r0, #220 ; 0xdc 80a4c90: f7ae fe6e bl 8053970 80a4c94: e005 b.n 80a4ca2 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a4c96: 2303 movs r3, #3 80a4c98: 4a2a ldr r2, [pc, #168] ; (80a4d44 ) 80a4c9a: 212d movs r1, #45 ; 0x2d 80a4c9c: 20dc movs r0, #220 ; 0xdc 80a4c9e: f7ae fe67 bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a4ca2: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4ca6: f06f 0003 mvn.w r0, #3 80a4caa: eeb0 0a67 vmov.f32 s0, s15 80a4cae: f7c1 fd43 bl 8066738 80a4cb2: 4602 mov r2, r0 80a4cb4: 2302 movs r3, #2 80a4cb6: 212d movs r1, #45 ; 0x2d 80a4cb8: 20d9 movs r0, #217 ; 0xd9 80a4cba: f7ae fe59 bl 8053970 80a4cbe: e17a b.n 80a4fb6 if(Val >= 0.1f) 80a4cc0: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4cc4: ed9f 7a0f vldr s14, [pc, #60] ; 80a4d04 80a4cc8: eef4 7ac7 vcmpe.f32 s15, s14 80a4ccc: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4cd0: f2c0 80cc blt.w 80a4e6c if(pardata.IPR == ACC) 80a4cd4: 4b0c ldr r3, [pc, #48] ; (80a4d08 ) 80a4cd6: 785b ldrb r3, [r3, #1] 80a4cd8: b2db uxtb r3, r3 80a4cda: 2b00 cmp r3, #0 80a4cdc: d158 bne.n 80a4d90 if(pardata.IIN != VOLTS) 80a4cde: 4b0a ldr r3, [pc, #40] ; (80a4d08 ) 80a4ce0: 799b ldrb r3, [r3, #6] 80a4ce2: b2db uxtb r3, r3 80a4ce4: 2b02 cmp r3, #2 80a4ce6: d040 beq.n 80a4d6a if(pardata.LANG == RUS) 80a4ce8: 4b07 ldr r3, [pc, #28] ; (80a4d08 ) 80a4cea: 7b1b ldrb r3, [r3, #12] 80a4cec: b2db uxtb r3, r3 80a4cee: 2b00 cmp r3, #0 80a4cf0: d134 bne.n 80a4d5c BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a4cf2: 2303 movs r3, #3 80a4cf4: 4a18 ldr r2, [pc, #96] ; (80a4d58 ) 80a4cf6: 212d movs r1, #45 ; 0x2d 80a4cf8: 20dc movs r0, #220 ; 0xdc 80a4cfa: f7ae fe39 bl 8053970 80a4cfe: e0a6 b.n 80a4e4e 80a4d00: 080d0b00 .word 0x080d0b00 80a4d04: 3dcccccd .word 0x3dcccccd 80a4d08: 20023e60 .word 0x20023e60 80a4d0c: 080d0ac4 .word 0x080d0ac4 80a4d10: 080d0ac8 .word 0x080d0ac8 80a4d14: 447a0000 .word 0x447a0000 80a4d18: 080d0b04 .word 0x080d0b04 80a4d1c: 080d0b08 .word 0x080d0b08 80a4d20: 2002006c .word 0x2002006c 80a4d24: 64080000 .word 0x64080000 80a4d28: 2002156c .word 0x2002156c 80a4d2c: ff26a01f .word 0xff26a01f 80a4d30: 080d0ac0 .word 0x080d0ac0 80a4d34: 3a83126f .word 0x3a83126f 80a4d38: 080d0a78 .word 0x080d0a78 80a4d3c: 080d09d8 .word 0x080d09d8 80a4d40: 080d0acc .word 0x080d0acc 80a4d44: 080ce6d8 .word 0x080ce6d8 80a4d48: 080d0ad0 .word 0x080d0ad0 80a4d4c: 080d09e4 .word 0x080d09e4 80a4d50: 080d0ad4 .word 0x080d0ad4 80a4d54: 080d09ec .word 0x080d09ec 80a4d58: 080d0a88 .word 0x080d0a88 else BSP_LCD_DisplayStringAt(220, 45, "m/s^", LEFT_MODE); 80a4d5c: 2303 movs r3, #3 80a4d5e: 4ab6 ldr r2, [pc, #728] ; (80a5038 ) 80a4d60: 212d movs r1, #45 ; 0x2d 80a4d62: 20dc movs r0, #220 ; 0xdc 80a4d64: f7ae fe04 bl 8053970 80a4d68: e071 b.n 80a4e4e if(pardata.LANG == RUS) 80a4d6a: 4bb4 ldr r3, [pc, #720] ; (80a503c ) 80a4d6c: 7b1b ldrb r3, [r3, #12] 80a4d6e: b2db uxtb r3, r3 80a4d70: 2b00 cmp r3, #0 80a4d72: d106 bne.n 80a4d82 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a4d74: 2303 movs r3, #3 80a4d76: 4ab2 ldr r2, [pc, #712] ; (80a5040 ) 80a4d78: 212d movs r1, #45 ; 0x2d 80a4d7a: 20dc movs r0, #220 ; 0xdc 80a4d7c: f7ae fdf8 bl 8053970 80a4d80: e065 b.n 80a4e4e else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a4d82: 2303 movs r3, #3 80a4d84: 4aaf ldr r2, [pc, #700] ; (80a5044 ) 80a4d86: 212d movs r1, #45 ; 0x2d 80a4d88: 20dc movs r0, #220 ; 0xdc 80a4d8a: f7ae fdf1 bl 8053970 80a4d8e: e05e b.n 80a4e4e else if(pardata.IPR == VEL) 80a4d90: 4baa ldr r3, [pc, #680] ; (80a503c ) 80a4d92: 785b ldrb r3, [r3, #1] 80a4d94: b2db uxtb r3, r3 80a4d96: 2b01 cmp r3, #1 80a4d98: d12a bne.n 80a4df0 if(pardata.IIN != VOLTS) 80a4d9a: 4ba8 ldr r3, [pc, #672] ; (80a503c ) 80a4d9c: 799b ldrb r3, [r3, #6] 80a4d9e: b2db uxtb r3, r3 80a4da0: 2b02 cmp r3, #2 80a4da2: d012 beq.n 80a4dca if(pardata.LANG == RUS) 80a4da4: 4ba5 ldr r3, [pc, #660] ; (80a503c ) 80a4da6: 7b1b ldrb r3, [r3, #12] 80a4da8: b2db uxtb r3, r3 80a4daa: 2b00 cmp r3, #0 80a4dac: d106 bne.n 80a4dbc BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a4dae: 2303 movs r3, #3 80a4db0: 4aa5 ldr r2, [pc, #660] ; (80a5048 ) 80a4db2: 212d movs r1, #45 ; 0x2d 80a4db4: 20dc movs r0, #220 ; 0xdc 80a4db6: f7ae fddb bl 8053970 80a4dba: e048 b.n 80a4e4e else BSP_LCD_DisplayStringAt(220, 45, "mm/s", LEFT_MODE); 80a4dbc: 2303 movs r3, #3 80a4dbe: 4aa3 ldr r2, [pc, #652] ; (80a504c ) 80a4dc0: 212d movs r1, #45 ; 0x2d 80a4dc2: 20dc movs r0, #220 ; 0xdc 80a4dc4: f7ae fdd4 bl 8053970 80a4dc8: e041 b.n 80a4e4e if(pardata.LANG == RUS) 80a4dca: 4b9c ldr r3, [pc, #624] ; (80a503c ) 80a4dcc: 7b1b ldrb r3, [r3, #12] 80a4dce: b2db uxtb r3, r3 80a4dd0: 2b00 cmp r3, #0 80a4dd2: d106 bne.n 80a4de2 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a4dd4: 2303 movs r3, #3 80a4dd6: 4a9a ldr r2, [pc, #616] ; (80a5040 ) 80a4dd8: 212d movs r1, #45 ; 0x2d 80a4dda: 20dc movs r0, #220 ; 0xdc 80a4ddc: f7ae fdc8 bl 8053970 80a4de0: e035 b.n 80a4e4e else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a4de2: 2303 movs r3, #3 80a4de4: 4a97 ldr r2, [pc, #604] ; (80a5044 ) 80a4de6: 212d movs r1, #45 ; 0x2d 80a4de8: 20dc movs r0, #220 ; 0xdc 80a4dea: f7ae fdc1 bl 8053970 80a4dee: e02e b.n 80a4e4e else if(pardata.IPR == DIS) 80a4df0: 4b92 ldr r3, [pc, #584] ; (80a503c ) 80a4df2: 785b ldrb r3, [r3, #1] 80a4df4: b2db uxtb r3, r3 80a4df6: 2b02 cmp r3, #2 80a4df8: d129 bne.n 80a4e4e if(pardata.IIN != VOLTS) 80a4dfa: 4b90 ldr r3, [pc, #576] ; (80a503c ) 80a4dfc: 799b ldrb r3, [r3, #6] 80a4dfe: b2db uxtb r3, r3 80a4e00: 2b02 cmp r3, #2 80a4e02: d012 beq.n 80a4e2a if(pardata.LANG == RUS) 80a4e04: 4b8d ldr r3, [pc, #564] ; (80a503c ) 80a4e06: 7b1b ldrb r3, [r3, #12] 80a4e08: b2db uxtb r3, r3 80a4e0a: 2b00 cmp r3, #0 80a4e0c: d106 bne.n 80a4e1c BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a4e0e: 2303 movs r3, #3 80a4e10: 4a8f ldr r2, [pc, #572] ; (80a5050 ) 80a4e12: 212d movs r1, #45 ; 0x2d 80a4e14: 20dc movs r0, #220 ; 0xdc 80a4e16: f7ae fdab bl 8053970 80a4e1a: e018 b.n 80a4e4e else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a4e1c: 2303 movs r3, #3 80a4e1e: 4a8d ldr r2, [pc, #564] ; (80a5054 ) 80a4e20: 212d movs r1, #45 ; 0x2d 80a4e22: 20dc movs r0, #220 ; 0xdc 80a4e24: f7ae fda4 bl 8053970 80a4e28: e011 b.n 80a4e4e if(pardata.LANG == RUS) 80a4e2a: 4b84 ldr r3, [pc, #528] ; (80a503c ) 80a4e2c: 7b1b ldrb r3, [r3, #12] 80a4e2e: b2db uxtb r3, r3 80a4e30: 2b00 cmp r3, #0 80a4e32: d106 bne.n 80a4e42 BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a4e34: 2303 movs r3, #3 80a4e36: 4a82 ldr r2, [pc, #520] ; (80a5040 ) 80a4e38: 212d movs r1, #45 ; 0x2d 80a4e3a: 20dc movs r0, #220 ; 0xdc 80a4e3c: f7ae fd98 bl 8053970 80a4e40: e005 b.n 80a4e4e else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a4e42: 2303 movs r3, #3 80a4e44: 4a7f ldr r2, [pc, #508] ; (80a5044 ) 80a4e46: 212d movs r1, #45 ; 0x2d 80a4e48: 20dc movs r0, #220 ; 0xdc 80a4e4a: f7ae fd91 bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a4e4e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4e52: f06f 0002 mvn.w r0, #2 80a4e56: eeb0 0a67 vmov.f32 s0, s15 80a4e5a: f7c1 fc6d bl 8066738 80a4e5e: 4602 mov r2, r0 80a4e60: 2302 movs r3, #2 80a4e62: 212d movs r1, #45 ; 0x2d 80a4e64: 20d9 movs r0, #217 ; 0xd9 80a4e66: f7ae fd83 bl 8053970 80a4e6a: e0a4 b.n 80a4fb6 Val *= 1000.0f; 80a4e6c: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4e70: ed9f 7a79 vldr s14, [pc, #484] ; 80a5058 80a4e74: ee67 7a87 vmul.f32 s15, s15, s14 80a4e78: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IPR == ACC) 80a4e7c: 4b6f ldr r3, [pc, #444] ; (80a503c ) 80a4e7e: 785b ldrb r3, [r3, #1] 80a4e80: b2db uxtb r3, r3 80a4e82: 2b00 cmp r3, #0 80a4e84: d12a bne.n 80a4edc if(pardata.IIN != VOLTS) 80a4e86: 4b6d ldr r3, [pc, #436] ; (80a503c ) 80a4e88: 799b ldrb r3, [r3, #6] 80a4e8a: b2db uxtb r3, r3 80a4e8c: 2b02 cmp r3, #2 80a4e8e: d012 beq.n 80a4eb6 if(pardata.LANG == RUS) 80a4e90: 4b6a ldr r3, [pc, #424] ; (80a503c ) 80a4e92: 7b1b ldrb r3, [r3, #12] 80a4e94: b2db uxtb r3, r3 80a4e96: 2b00 cmp r3, #0 80a4e98: d106 bne.n 80a4ea8 BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a4e9a: 2303 movs r3, #3 80a4e9c: 4a6f ldr r2, [pc, #444] ; (80a505c ) 80a4e9e: 212d movs r1, #45 ; 0x2d 80a4ea0: 20dc movs r0, #220 ; 0xdc 80a4ea2: f7ae fd65 bl 8053970 80a4ea6: e078 b.n 80a4f9a else BSP_LCD_DisplayStringAt(220, 45, "mm/s^", LEFT_MODE); 80a4ea8: 2303 movs r3, #3 80a4eaa: 4a6d ldr r2, [pc, #436] ; (80a5060 ) 80a4eac: 212d movs r1, #45 ; 0x2d 80a4eae: 20dc movs r0, #220 ; 0xdc 80a4eb0: f7ae fd5e bl 8053970 80a4eb4: e071 b.n 80a4f9a if(pardata.LANG == RUS) 80a4eb6: 4b61 ldr r3, [pc, #388] ; (80a503c ) 80a4eb8: 7b1b ldrb r3, [r3, #12] 80a4eba: b2db uxtb r3, r3 80a4ebc: 2b00 cmp r3, #0 80a4ebe: d106 bne.n 80a4ece BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a4ec0: 2303 movs r3, #3 80a4ec2: 4a68 ldr r2, [pc, #416] ; (80a5064 ) 80a4ec4: 212d movs r1, #45 ; 0x2d 80a4ec6: 20dc movs r0, #220 ; 0xdc 80a4ec8: f7ae fd52 bl 8053970 80a4ecc: e065 b.n 80a4f9a else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a4ece: 2303 movs r3, #3 80a4ed0: 4a65 ldr r2, [pc, #404] ; (80a5068 ) 80a4ed2: 212d movs r1, #45 ; 0x2d 80a4ed4: 20dc movs r0, #220 ; 0xdc 80a4ed6: f7ae fd4b bl 8053970 80a4eda: e05e b.n 80a4f9a else if(pardata.IPR == VEL) 80a4edc: 4b57 ldr r3, [pc, #348] ; (80a503c ) 80a4ede: 785b ldrb r3, [r3, #1] 80a4ee0: b2db uxtb r3, r3 80a4ee2: 2b01 cmp r3, #1 80a4ee4: d12a bne.n 80a4f3c if(pardata.IIN != VOLTS) 80a4ee6: 4b55 ldr r3, [pc, #340] ; (80a503c ) 80a4ee8: 799b ldrb r3, [r3, #6] 80a4eea: b2db uxtb r3, r3 80a4eec: 2b02 cmp r3, #2 80a4eee: d012 beq.n 80a4f16 if(pardata.LANG == RUS) 80a4ef0: 4b52 ldr r3, [pc, #328] ; (80a503c ) 80a4ef2: 7b1b ldrb r3, [r3, #12] 80a4ef4: b2db uxtb r3, r3 80a4ef6: 2b00 cmp r3, #0 80a4ef8: d106 bne.n 80a4f08 BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a4efa: 2303 movs r3, #3 80a4efc: 4a5b ldr r2, [pc, #364] ; (80a506c ) 80a4efe: 212d movs r1, #45 ; 0x2d 80a4f00: 20dc movs r0, #220 ; 0xdc 80a4f02: f7ae fd35 bl 8053970 80a4f06: e048 b.n 80a4f9a else BSP_LCD_DisplayStringAt(220, 45, "mkm/s", LEFT_MODE); 80a4f08: 2303 movs r3, #3 80a4f0a: 4a59 ldr r2, [pc, #356] ; (80a5070 ) 80a4f0c: 212d movs r1, #45 ; 0x2d 80a4f0e: 20dc movs r0, #220 ; 0xdc 80a4f10: f7ae fd2e bl 8053970 80a4f14: e041 b.n 80a4f9a if(pardata.LANG == RUS) 80a4f16: 4b49 ldr r3, [pc, #292] ; (80a503c ) 80a4f18: 7b1b ldrb r3, [r3, #12] 80a4f1a: b2db uxtb r3, r3 80a4f1c: 2b00 cmp r3, #0 80a4f1e: d106 bne.n 80a4f2e BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a4f20: 2303 movs r3, #3 80a4f22: 4a50 ldr r2, [pc, #320] ; (80a5064 ) 80a4f24: 212d movs r1, #45 ; 0x2d 80a4f26: 20dc movs r0, #220 ; 0xdc 80a4f28: f7ae fd22 bl 8053970 80a4f2c: e035 b.n 80a4f9a else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a4f2e: 2303 movs r3, #3 80a4f30: 4a4d ldr r2, [pc, #308] ; (80a5068 ) 80a4f32: 212d movs r1, #45 ; 0x2d 80a4f34: 20dc movs r0, #220 ; 0xdc 80a4f36: f7ae fd1b bl 8053970 80a4f3a: e02e b.n 80a4f9a else if(pardata.IPR == DIS) 80a4f3c: 4b3f ldr r3, [pc, #252] ; (80a503c ) 80a4f3e: 785b ldrb r3, [r3, #1] 80a4f40: b2db uxtb r3, r3 80a4f42: 2b02 cmp r3, #2 80a4f44: d129 bne.n 80a4f9a if(pardata.IIN != VOLTS) 80a4f46: 4b3d ldr r3, [pc, #244] ; (80a503c ) 80a4f48: 799b ldrb r3, [r3, #6] 80a4f4a: b2db uxtb r3, r3 80a4f4c: 2b02 cmp r3, #2 80a4f4e: d012 beq.n 80a4f76 if(pardata.LANG == RUS) 80a4f50: 4b3a ldr r3, [pc, #232] ; (80a503c ) 80a4f52: 7b1b ldrb r3, [r3, #12] 80a4f54: b2db uxtb r3, r3 80a4f56: 2b00 cmp r3, #0 80a4f58: d106 bne.n 80a4f68 BSP_LCD_DisplayStringAt(220, 45, "#&", LEFT_MODE); 80a4f5a: 2303 movs r3, #3 80a4f5c: 4a45 ldr r2, [pc, #276] ; (80a5074 ) 80a4f5e: 212d movs r1, #45 ; 0x2d 80a4f60: 20dc movs r0, #220 ; 0xdc 80a4f62: f7ae fd05 bl 8053970 80a4f66: e018 b.n 80a4f9a else BSP_LCD_DisplayStringAt(220, 45, "nm", LEFT_MODE); 80a4f68: 2303 movs r3, #3 80a4f6a: 4a43 ldr r2, [pc, #268] ; (80a5078 ) 80a4f6c: 212d movs r1, #45 ; 0x2d 80a4f6e: 20dc movs r0, #220 ; 0xdc 80a4f70: f7ae fcfe bl 8053970 80a4f74: e011 b.n 80a4f9a if(pardata.LANG == RUS) 80a4f76: 4b31 ldr r3, [pc, #196] ; (80a503c ) 80a4f78: 7b1b ldrb r3, [r3, #12] 80a4f7a: b2db uxtb r3, r3 80a4f7c: 2b00 cmp r3, #0 80a4f7e: d106 bne.n 80a4f8e BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a4f80: 2303 movs r3, #3 80a4f82: 4a38 ldr r2, [pc, #224] ; (80a5064 ) 80a4f84: 212d movs r1, #45 ; 0x2d 80a4f86: 20dc movs r0, #220 ; 0xdc 80a4f88: f7ae fcf2 bl 8053970 80a4f8c: e005 b.n 80a4f9a else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a4f8e: 2303 movs r3, #3 80a4f90: 4a35 ldr r2, [pc, #212] ; (80a5068 ) 80a4f92: 212d movs r1, #45 ; 0x2d 80a4f94: 20dc movs r0, #220 ; 0xdc 80a4f96: f7ae fceb bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a4f9a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a4f9e: f06f 0003 mvn.w r0, #3 80a4fa2: eeb0 0a67 vmov.f32 s0, s15 80a4fa6: f7c1 fbc7 bl 8066738 80a4faa: 4602 mov r2, r0 80a4fac: 2302 movs r3, #2 80a4fae: 212d movs r1, #45 ; 0x2d 80a4fb0: 20d9 movs r0, #217 ; 0xd9 80a4fb2: f7ae fcdd bl 8053970 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a4fb6: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a4fba: 4830 ldr r0, [pc, #192] ; (80a507c ) 80a4fbc: f7ae fc12 bl 80537e4 tmpF = OCTAVES[CURSOR]; 80a4fc0: 4b2f ldr r3, [pc, #188] ; (80a5080 ) 80a4fc2: 681b ldr r3, [r3, #0] 80a4fc4: 4a2f ldr r2, [pc, #188] ; (80a5084 ) 80a4fc6: 009b lsls r3, r3, #2 80a4fc8: 4413 add r3, r2 80a4fca: 681b ldr r3, [r3, #0] 80a4fcc: 65bb str r3, [r7, #88] ; 0x58 if(tmpF >= 1000.0f) 80a4fce: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a4fd2: ed9f 7a21 vldr s14, [pc, #132] ; 80a5058 80a4fd6: eef4 7ac7 vcmpe.f32 s15, s14 80a4fda: eef1 fa10 vmrs APSR_nzcv, fpscr 80a4fde: db5b blt.n 80a5098 tmpF *= 0.001f; 80a4fe0: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a4fe4: ed9f 7a28 vldr s14, [pc, #160] ; 80a5088 80a4fe8: ee67 7a87 vmul.f32 s15, s15, s14 80a4fec: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a4ff0: 4b12 ldr r3, [pc, #72] ; (80a503c ) 80a4ff2: 7b1b ldrb r3, [r3, #12] 80a4ff4: b2db uxtb r3, r3 80a4ff6: 2b00 cmp r3, #0 80a4ff8: d107 bne.n 80a500a BSP_LCD_DisplayStringAt(302, 45, "k$%", LEFT_MODE); 80a4ffa: 2303 movs r3, #3 80a4ffc: 4a23 ldr r2, [pc, #140] ; (80a508c ) 80a4ffe: 212d movs r1, #45 ; 0x2d 80a5000: f44f 7097 mov.w r0, #302 ; 0x12e 80a5004: f7ae fcb4 bl 8053970 80a5008: e006 b.n 80a5018 else BSP_LCD_DisplayStringAt(302, 45, "kHz", LEFT_MODE); 80a500a: 2303 movs r3, #3 80a500c: 4a20 ldr r2, [pc, #128] ; (80a5090 ) 80a500e: 212d movs r1, #45 ; 0x2d 80a5010: f44f 7097 mov.w r0, #302 ; 0x12e 80a5014: f7ae fcac bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a5018: f06f 0003 mvn.w r0, #3 80a501c: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a5020: f7c1 fb8a bl 8066738 80a5024: 4602 mov r2, r0 80a5026: 2302 movs r3, #2 80a5028: 212d movs r1, #45 ; 0x2d 80a502a: f240 102b movw r0, #299 ; 0x12b 80a502e: f7ae fc9f bl 8053970 } 80a5032: f001 b80b b.w 80a604c 80a5036: bf00 nop 80a5038: 080d09f8 .word 0x080d09f8 80a503c: 20023e60 .word 0x20023e60 80a5040: 080d0ad8 .word 0x080d0ad8 80a5044: 080d0adc .word 0x080d0adc 80a5048: 080d0ae0 .word 0x080d0ae0 80a504c: 080d0a08 .word 0x080d0a08 80a5050: 080d0ae8 .word 0x080d0ae8 80a5054: 080d0a14 .word 0x080d0a14 80a5058: 447a0000 .word 0x447a0000 80a505c: 080d0a98 .word 0x080d0a98 80a5060: 080d0a20 .word 0x080d0a20 80a5064: 080d0aec .word 0x080d0aec 80a5068: 080d0a44 .word 0x080d0a44 80a506c: 080d0af0 .word 0x080d0af0 80a5070: 080d0a30 .word 0x080d0a30 80a5074: 080d0af8 .word 0x080d0af8 80a5078: 080d0a3c .word 0x080d0a3c 80a507c: ff808080 .word 0xff808080 80a5080: 2002006c .word 0x2002006c 80a5084: 080ef740 .word 0x080ef740 80a5088: 3a83126f .word 0x3a83126f 80a508c: 080d0afc .word 0x080d0afc 80a5090: 080d0b00 .word 0x080d0b00 80a5094: 3dcccccd .word 0x3dcccccd if(tmpF >= 0.1f) 80a5098: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a509c: ed1f 7a03 vldr s14, [pc, #-12] ; 80a5094 80a50a0: eef4 7ac7 vcmpe.f32 s15, s14 80a50a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a50a8: db22 blt.n 80a50f0 if(pardata.LANG == RUS) 80a50aa: 4bbf ldr r3, [pc, #764] ; (80a53a8 ) 80a50ac: 7b1b ldrb r3, [r3, #12] 80a50ae: b2db uxtb r3, r3 80a50b0: 2b00 cmp r3, #0 80a50b2: d107 bne.n 80a50c4 BSP_LCD_DisplayStringAt(302, 45, "$%", LEFT_MODE); 80a50b4: 2303 movs r3, #3 80a50b6: 4abd ldr r2, [pc, #756] ; (80a53ac ) 80a50b8: 212d movs r1, #45 ; 0x2d 80a50ba: f44f 7097 mov.w r0, #302 ; 0x12e 80a50be: f7ae fc57 bl 8053970 80a50c2: e006 b.n 80a50d2 else BSP_LCD_DisplayStringAt(302, 45, "Hz", LEFT_MODE); 80a50c4: 2303 movs r3, #3 80a50c6: 4aba ldr r2, [pc, #744] ; (80a53b0 ) 80a50c8: 212d movs r1, #45 ; 0x2d 80a50ca: f44f 7097 mov.w r0, #302 ; 0x12e 80a50ce: f7ae fc4f bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a50d2: f06f 0002 mvn.w r0, #2 80a50d6: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a50da: f7c1 fb2d bl 8066738 80a50de: 4602 mov r2, r0 80a50e0: 2302 movs r3, #2 80a50e2: 212d movs r1, #45 ; 0x2d 80a50e4: f240 102b movw r0, #299 ; 0x12b 80a50e8: f7ae fc42 bl 8053970 } 80a50ec: f000 bfae b.w 80a604c tmpF *= 1000.0f; 80a50f0: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a50f4: ed9f 7aaf vldr s14, [pc, #700] ; 80a53b4 80a50f8: ee67 7a87 vmul.f32 s15, s15, s14 80a50fc: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a5100: 4ba9 ldr r3, [pc, #676] ; (80a53a8 ) 80a5102: 7b1b ldrb r3, [r3, #12] 80a5104: b2db uxtb r3, r3 80a5106: 2b00 cmp r3, #0 80a5108: d107 bne.n 80a511a BSP_LCD_DisplayStringAt(302, 45, "&$%", LEFT_MODE); 80a510a: 2303 movs r3, #3 80a510c: 4aaa ldr r2, [pc, #680] ; (80a53b8 ) 80a510e: 212d movs r1, #45 ; 0x2d 80a5110: f44f 7097 mov.w r0, #302 ; 0x12e 80a5114: f7ae fc2c bl 8053970 80a5118: e006 b.n 80a5128 else BSP_LCD_DisplayStringAt(302, 45, "mHz", LEFT_MODE); 80a511a: 2303 movs r3, #3 80a511c: 4aa7 ldr r2, [pc, #668] ; (80a53bc ) 80a511e: 212d movs r1, #45 ; 0x2d 80a5120: f44f 7097 mov.w r0, #302 ; 0x12e 80a5124: f7ae fc24 bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a5128: f06f 0001 mvn.w r0, #1 80a512c: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a5130: f7c1 fb02 bl 8066738 80a5134: 4602 mov r2, r0 80a5136: 2302 movs r3, #2 80a5138: 212d movs r1, #45 ; 0x2d 80a513a: f240 102b movw r0, #299 ; 0x12b 80a513e: f7ae fc17 bl 8053970 } 80a5142: f000 bf83 b.w 80a604c if(pardata.SYG == SPEC_THIRD) 80a5146: 4b98 ldr r3, [pc, #608] ; (80a53a8 ) 80a5148: 781b ldrb r3, [r3, #0] 80a514a: b2db uxtb r3, r3 80a514c: 2b07 cmp r3, #7 80a514e: f040 833a bne.w 80a57c6 CurVal = ScrA_f32(CURSOR); 80a5152: 4b9b ldr r3, [pc, #620] ; (80a53c0 ) 80a5154: 681b ldr r3, [r3, #0] 80a5156: 009a lsls r2, r3, #2 80a5158: 4b9a ldr r3, [pc, #616] ; (80a53c4 ) 80a515a: 4413 add r3, r2 80a515c: 681b ldr r3, [r3, #0] 80a515e: 4a9a ldr r2, [pc, #616] ; (80a53c8 ) 80a5160: 6013 str r3, [r2, #0] if(pardata.MSH == LOG) 80a5162: 4b91 ldr r3, [pc, #580] ; (80a53a8 ) 80a5164: 7a9b ldrb r3, [r3, #10] 80a5166: b2db uxtb r3, r3 80a5168: 2b01 cmp r3, #1 80a516a: d111 bne.n 80a5190 if(pardata.IIN != VOLTS) 80a516c: 4b8e ldr r3, [pc, #568] ; (80a53a8 ) 80a516e: 799b ldrb r3, [r3, #6] 80a5170: b2db uxtb r3, r3 80a5172: 2b02 cmp r3, #2 80a5174: d004 beq.n 80a5180 LinToLog(&CurVal, &CurVal); 80a5176: 4994 ldr r1, [pc, #592] ; (80a53c8 ) 80a5178: 4893 ldr r0, [pc, #588] ; (80a53c8 ) 80a517a: f7bf feb1 bl 8064ee0 80a517e: e007 b.n 80a5190 else LinToLog_mV(&CurVal, &CurVal, pardata.IPR); 80a5180: 4b89 ldr r3, [pc, #548] ; (80a53a8 ) 80a5182: 785b ldrb r3, [r3, #1] 80a5184: b2db uxtb r3, r3 80a5186: 461a mov r2, r3 80a5188: 498f ldr r1, [pc, #572] ; (80a53c8 ) 80a518a: 488f ldr r0, [pc, #572] ; (80a53c8 ) 80a518c: f7bf fed8 bl 8064f40 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a5190: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5194: 488d ldr r0, [pc, #564] ; (80a53cc ) 80a5196: f7ae fb25 bl 80537e4 Val = CurVal; 80a519a: 4b8b ldr r3, [pc, #556] ; (80a53c8 ) 80a519c: 681b ldr r3, [r3, #0] 80a519e: 643b str r3, [r7, #64] ; 0x40 if(pardata.MSH == LOG) 80a51a0: 4b81 ldr r3, [pc, #516] ; (80a53a8 ) 80a51a2: 7a9b ldrb r3, [r3, #10] 80a51a4: b2db uxtb r3, r3 80a51a6: 2b01 cmp r3, #1 80a51a8: d114 bne.n 80a51d4 BSP_LCD_DisplayStringAt(220, 45, "dB", LEFT_MODE); 80a51aa: 2303 movs r3, #3 80a51ac: 4a88 ldr r2, [pc, #544] ; (80a53d0 ) 80a51ae: 212d movs r1, #45 ; 0x2d 80a51b0: 20dc movs r0, #220 ; 0xdc 80a51b2: f7ae fbdd bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *) FloatToASCII(Val, -1), RIGHT_MODE); 80a51b6: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a51ba: f04f 30ff mov.w r0, #4294967295 80a51be: eeb0 0a67 vmov.f32 s0, s15 80a51c2: f7c1 fab9 bl 8066738 80a51c6: 4602 mov r2, r0 80a51c8: 2302 movs r3, #2 80a51ca: 212d movs r1, #45 ; 0x2d 80a51cc: 20d9 movs r0, #217 ; 0xd9 80a51ce: f7ae fbcf bl 8053970 80a51d2: e22e b.n 80a5632 if(Val >= 1000.0f) 80a51d4: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a51d8: ed9f 7a76 vldr s14, [pc, #472] ; 80a53b4 80a51dc: eef4 7ac7 vcmpe.f32 s15, s14 80a51e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a51e4: f2c0 80a6 blt.w 80a5334 Val *= 0.001f; 80a51e8: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a51ec: ed9f 7a79 vldr s14, [pc, #484] ; 80a53d4 80a51f0: ee67 7a87 vmul.f32 s15, s15, s14 80a51f4: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IPR == ACC) 80a51f8: 4b6b ldr r3, [pc, #428] ; (80a53a8 ) 80a51fa: 785b ldrb r3, [r3, #1] 80a51fc: b2db uxtb r3, r3 80a51fe: 2b00 cmp r3, #0 80a5200: d12a bne.n 80a5258 if(pardata.IIN != VOLTS) 80a5202: 4b69 ldr r3, [pc, #420] ; (80a53a8 ) 80a5204: 799b ldrb r3, [r3, #6] 80a5206: b2db uxtb r3, r3 80a5208: 2b02 cmp r3, #2 80a520a: d012 beq.n 80a5232 if(pardata.LANG == RUS) 80a520c: 4b66 ldr r3, [pc, #408] ; (80a53a8 ) 80a520e: 7b1b ldrb r3, [r3, #12] 80a5210: b2db uxtb r3, r3 80a5212: 2b00 cmp r3, #0 80a5214: d106 bne.n 80a5224 BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a5216: 2303 movs r3, #3 80a5218: 4a6f ldr r2, [pc, #444] ; (80a53d8 ) 80a521a: 212d movs r1, #45 ; 0x2d 80a521c: 20dc movs r0, #220 ; 0xdc 80a521e: f7ae fba7 bl 8053970 80a5222: e078 b.n 80a5316 else BSP_LCD_DisplayStringAt(220, 45, "km/s^", LEFT_MODE); 80a5224: 2303 movs r3, #3 80a5226: 4a6d ldr r2, [pc, #436] ; (80a53dc ) 80a5228: 212d movs r1, #45 ; 0x2d 80a522a: 20dc movs r0, #220 ; 0xdc 80a522c: f7ae fba0 bl 8053970 80a5230: e071 b.n 80a5316 if(pardata.LANG == RUS) 80a5232: 4b5d ldr r3, [pc, #372] ; (80a53a8 ) 80a5234: 7b1b ldrb r3, [r3, #12] 80a5236: b2db uxtb r3, r3 80a5238: 2b00 cmp r3, #0 80a523a: d106 bne.n 80a524a BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a523c: 2303 movs r3, #3 80a523e: 4a68 ldr r2, [pc, #416] ; (80a53e0 ) 80a5240: 212d movs r1, #45 ; 0x2d 80a5242: 20dc movs r0, #220 ; 0xdc 80a5244: f7ae fb94 bl 8053970 80a5248: e065 b.n 80a5316 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a524a: 2303 movs r3, #3 80a524c: 4a65 ldr r2, [pc, #404] ; (80a53e4 ) 80a524e: 212d movs r1, #45 ; 0x2d 80a5250: 20dc movs r0, #220 ; 0xdc 80a5252: f7ae fb8d bl 8053970 80a5256: e05e b.n 80a5316 if(pardata.IPR == VEL) 80a5258: 4b53 ldr r3, [pc, #332] ; (80a53a8 ) 80a525a: 785b ldrb r3, [r3, #1] 80a525c: b2db uxtb r3, r3 80a525e: 2b01 cmp r3, #1 80a5260: d12a bne.n 80a52b8 if(pardata.IIN != VOLTS) 80a5262: 4b51 ldr r3, [pc, #324] ; (80a53a8 ) 80a5264: 799b ldrb r3, [r3, #6] 80a5266: b2db uxtb r3, r3 80a5268: 2b02 cmp r3, #2 80a526a: d012 beq.n 80a5292 if(pardata.LANG == RUS) 80a526c: 4b4e ldr r3, [pc, #312] ; (80a53a8 ) 80a526e: 7b1b ldrb r3, [r3, #12] 80a5270: b2db uxtb r3, r3 80a5272: 2b00 cmp r3, #0 80a5274: d106 bne.n 80a5284 BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a5276: 2303 movs r3, #3 80a5278: 4a5b ldr r2, [pc, #364] ; (80a53e8 ) 80a527a: 212d movs r1, #45 ; 0x2d 80a527c: 20dc movs r0, #220 ; 0xdc 80a527e: f7ae fb77 bl 8053970 80a5282: e048 b.n 80a5316 else BSP_LCD_DisplayStringAt(220, 45, "m/s", LEFT_MODE); 80a5284: 2303 movs r3, #3 80a5286: 4a59 ldr r2, [pc, #356] ; (80a53ec ) 80a5288: 212d movs r1, #45 ; 0x2d 80a528a: 20dc movs r0, #220 ; 0xdc 80a528c: f7ae fb70 bl 8053970 80a5290: e041 b.n 80a5316 if(pardata.LANG == RUS) 80a5292: 4b45 ldr r3, [pc, #276] ; (80a53a8 ) 80a5294: 7b1b ldrb r3, [r3, #12] 80a5296: b2db uxtb r3, r3 80a5298: 2b00 cmp r3, #0 80a529a: d106 bne.n 80a52aa BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a529c: 2303 movs r3, #3 80a529e: 4a50 ldr r2, [pc, #320] ; (80a53e0 ) 80a52a0: 212d movs r1, #45 ; 0x2d 80a52a2: 20dc movs r0, #220 ; 0xdc 80a52a4: f7ae fb64 bl 8053970 80a52a8: e035 b.n 80a5316 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a52aa: 2303 movs r3, #3 80a52ac: 4a4d ldr r2, [pc, #308] ; (80a53e4 ) 80a52ae: 212d movs r1, #45 ; 0x2d 80a52b0: 20dc movs r0, #220 ; 0xdc 80a52b2: f7ae fb5d bl 8053970 80a52b6: e02e b.n 80a5316 if(pardata.IPR == DIS) 80a52b8: 4b3b ldr r3, [pc, #236] ; (80a53a8 ) 80a52ba: 785b ldrb r3, [r3, #1] 80a52bc: b2db uxtb r3, r3 80a52be: 2b02 cmp r3, #2 80a52c0: d129 bne.n 80a5316 if(pardata.IIN != VOLTS) 80a52c2: 4b39 ldr r3, [pc, #228] ; (80a53a8 ) 80a52c4: 799b ldrb r3, [r3, #6] 80a52c6: b2db uxtb r3, r3 80a52c8: 2b02 cmp r3, #2 80a52ca: d012 beq.n 80a52f2 if(pardata.LANG == RUS) 80a52cc: 4b36 ldr r3, [pc, #216] ; (80a53a8 ) 80a52ce: 7b1b ldrb r3, [r3, #12] 80a52d0: b2db uxtb r3, r3 80a52d2: 2b00 cmp r3, #0 80a52d4: d106 bne.n 80a52e4 BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a52d6: 2303 movs r3, #3 80a52d8: 4a45 ldr r2, [pc, #276] ; (80a53f0 ) 80a52da: 212d movs r1, #45 ; 0x2d 80a52dc: 20dc movs r0, #220 ; 0xdc 80a52de: f7ae fb47 bl 8053970 80a52e2: e018 b.n 80a5316 else BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a52e4: 2303 movs r3, #3 80a52e6: 4a43 ldr r2, [pc, #268] ; (80a53f4 ) 80a52e8: 212d movs r1, #45 ; 0x2d 80a52ea: 20dc movs r0, #220 ; 0xdc 80a52ec: f7ae fb40 bl 8053970 80a52f0: e011 b.n 80a5316 if(pardata.LANG == RUS) 80a52f2: 4b2d ldr r3, [pc, #180] ; (80a53a8 ) 80a52f4: 7b1b ldrb r3, [r3, #12] 80a52f6: b2db uxtb r3, r3 80a52f8: 2b00 cmp r3, #0 80a52fa: d106 bne.n 80a530a BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a52fc: 2303 movs r3, #3 80a52fe: 4a38 ldr r2, [pc, #224] ; (80a53e0 ) 80a5300: 212d movs r1, #45 ; 0x2d 80a5302: 20dc movs r0, #220 ; 0xdc 80a5304: f7ae fb34 bl 8053970 80a5308: e005 b.n 80a5316 else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a530a: 2303 movs r3, #3 80a530c: 4a35 ldr r2, [pc, #212] ; (80a53e4 ) 80a530e: 212d movs r1, #45 ; 0x2d 80a5310: 20dc movs r0, #220 ; 0xdc 80a5312: f7ae fb2d bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a5316: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a531a: f06f 0003 mvn.w r0, #3 80a531e: eeb0 0a67 vmov.f32 s0, s15 80a5322: f7c1 fa09 bl 8066738 80a5326: 4602 mov r2, r0 80a5328: 2302 movs r3, #2 80a532a: 212d movs r1, #45 ; 0x2d 80a532c: 20d9 movs r0, #217 ; 0xd9 80a532e: f7ae fb1f bl 8053970 80a5332: e17e b.n 80a5632 if(Val >= 0.1f) 80a5334: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5338: ed9f 7a2f vldr s14, [pc, #188] ; 80a53f8 80a533c: eef4 7ac7 vcmpe.f32 s15, s14 80a5340: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5344: f2c0 80d0 blt.w 80a54e8 if(pardata.IPR == ACC) 80a5348: 4b17 ldr r3, [pc, #92] ; (80a53a8 ) 80a534a: 785b ldrb r3, [r3, #1] 80a534c: b2db uxtb r3, r3 80a534e: 2b00 cmp r3, #0 80a5350: d15c bne.n 80a540c if(pardata.IIN != VOLTS) 80a5352: 4b15 ldr r3, [pc, #84] ; (80a53a8 ) 80a5354: 799b ldrb r3, [r3, #6] 80a5356: b2db uxtb r3, r3 80a5358: 2b02 cmp r3, #2 80a535a: d012 beq.n 80a5382 if(pardata.LANG == RUS) 80a535c: 4b12 ldr r3, [pc, #72] ; (80a53a8 ) 80a535e: 7b1b ldrb r3, [r3, #12] 80a5360: b2db uxtb r3, r3 80a5362: 2b00 cmp r3, #0 80a5364: d106 bne.n 80a5374 BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a5366: 2303 movs r3, #3 80a5368: 4a24 ldr r2, [pc, #144] ; (80a53fc ) 80a536a: 212d movs r1, #45 ; 0x2d 80a536c: 20dc movs r0, #220 ; 0xdc 80a536e: f7ae faff bl 8053970 80a5372: e0aa b.n 80a54ca else BSP_LCD_DisplayStringAt(220, 45, "m/s^", LEFT_MODE); 80a5374: 2303 movs r3, #3 80a5376: 4a22 ldr r2, [pc, #136] ; (80a5400 ) 80a5378: 212d movs r1, #45 ; 0x2d 80a537a: 20dc movs r0, #220 ; 0xdc 80a537c: f7ae faf8 bl 8053970 80a5380: e0a3 b.n 80a54ca if(pardata.LANG == RUS) 80a5382: 4b09 ldr r3, [pc, #36] ; (80a53a8 ) 80a5384: 7b1b ldrb r3, [r3, #12] 80a5386: b2db uxtb r3, r3 80a5388: 2b00 cmp r3, #0 80a538a: d106 bne.n 80a539a BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a538c: 2303 movs r3, #3 80a538e: 4a1d ldr r2, [pc, #116] ; (80a5404 ) 80a5390: 212d movs r1, #45 ; 0x2d 80a5392: 20dc movs r0, #220 ; 0xdc 80a5394: f7ae faec bl 8053970 80a5398: e097 b.n 80a54ca else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a539a: 2303 movs r3, #3 80a539c: 4a1a ldr r2, [pc, #104] ; (80a5408 ) 80a539e: 212d movs r1, #45 ; 0x2d 80a53a0: 20dc movs r0, #220 ; 0xdc 80a53a2: f7ae fae5 bl 8053970 80a53a6: e090 b.n 80a54ca 80a53a8: 20023e60 .word 0x20023e60 80a53ac: 080d0ac4 .word 0x080d0ac4 80a53b0: 080d0ac8 .word 0x080d0ac8 80a53b4: 447a0000 .word 0x447a0000 80a53b8: 080d0b04 .word 0x080d0b04 80a53bc: 080d0b08 .word 0x080d0b08 80a53c0: 2002006c .word 0x2002006c 80a53c4: 64080000 .word 0x64080000 80a53c8: 2002156c .word 0x2002156c 80a53cc: ff26a01f .word 0xff26a01f 80a53d0: 080d0ac0 .word 0x080d0ac0 80a53d4: 3a83126f .word 0x3a83126f 80a53d8: 080d0a78 .word 0x080d0a78 80a53dc: 080d09d8 .word 0x080d09d8 80a53e0: 080d0acc .word 0x080d0acc 80a53e4: 080ce6d8 .word 0x080ce6d8 80a53e8: 080d0ad0 .word 0x080d0ad0 80a53ec: 080d09e4 .word 0x080d09e4 80a53f0: 080d0ad4 .word 0x080d0ad4 80a53f4: 080d09ec .word 0x080d09ec 80a53f8: 3dcccccd .word 0x3dcccccd 80a53fc: 080d0a88 .word 0x080d0a88 80a5400: 080d09f8 .word 0x080d09f8 80a5404: 080d0ad8 .word 0x080d0ad8 80a5408: 080d0adc .word 0x080d0adc else if(pardata.IPR == VEL) 80a540c: 4bbf ldr r3, [pc, #764] ; (80a570c ) 80a540e: 785b ldrb r3, [r3, #1] 80a5410: b2db uxtb r3, r3 80a5412: 2b01 cmp r3, #1 80a5414: d12a bne.n 80a546c if(pardata.IIN != VOLTS) 80a5416: 4bbd ldr r3, [pc, #756] ; (80a570c ) 80a5418: 799b ldrb r3, [r3, #6] 80a541a: b2db uxtb r3, r3 80a541c: 2b02 cmp r3, #2 80a541e: d012 beq.n 80a5446 if(pardata.LANG == RUS) 80a5420: 4bba ldr r3, [pc, #744] ; (80a570c ) 80a5422: 7b1b ldrb r3, [r3, #12] 80a5424: b2db uxtb r3, r3 80a5426: 2b00 cmp r3, #0 80a5428: d106 bne.n 80a5438 BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a542a: 2303 movs r3, #3 80a542c: 4ab8 ldr r2, [pc, #736] ; (80a5710 ) 80a542e: 212d movs r1, #45 ; 0x2d 80a5430: 20dc movs r0, #220 ; 0xdc 80a5432: f7ae fa9d bl 8053970 80a5436: e048 b.n 80a54ca else BSP_LCD_DisplayStringAt(220, 45, "mm/s", LEFT_MODE); 80a5438: 2303 movs r3, #3 80a543a: 4ab6 ldr r2, [pc, #728] ; (80a5714 ) 80a543c: 212d movs r1, #45 ; 0x2d 80a543e: 20dc movs r0, #220 ; 0xdc 80a5440: f7ae fa96 bl 8053970 80a5444: e041 b.n 80a54ca if(pardata.LANG == RUS) 80a5446: 4bb1 ldr r3, [pc, #708] ; (80a570c ) 80a5448: 7b1b ldrb r3, [r3, #12] 80a544a: b2db uxtb r3, r3 80a544c: 2b00 cmp r3, #0 80a544e: d106 bne.n 80a545e BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a5450: 2303 movs r3, #3 80a5452: 4ab1 ldr r2, [pc, #708] ; (80a5718 ) 80a5454: 212d movs r1, #45 ; 0x2d 80a5456: 20dc movs r0, #220 ; 0xdc 80a5458: f7ae fa8a bl 8053970 80a545c: e035 b.n 80a54ca else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a545e: 2303 movs r3, #3 80a5460: 4aae ldr r2, [pc, #696] ; (80a571c ) 80a5462: 212d movs r1, #45 ; 0x2d 80a5464: 20dc movs r0, #220 ; 0xdc 80a5466: f7ae fa83 bl 8053970 80a546a: e02e b.n 80a54ca else if(pardata.IPR == DIS) 80a546c: 4ba7 ldr r3, [pc, #668] ; (80a570c ) 80a546e: 785b ldrb r3, [r3, #1] 80a5470: b2db uxtb r3, r3 80a5472: 2b02 cmp r3, #2 80a5474: d129 bne.n 80a54ca if(pardata.IIN != VOLTS) 80a5476: 4ba5 ldr r3, [pc, #660] ; (80a570c ) 80a5478: 799b ldrb r3, [r3, #6] 80a547a: b2db uxtb r3, r3 80a547c: 2b02 cmp r3, #2 80a547e: d012 beq.n 80a54a6 if(pardata.LANG == RUS) 80a5480: 4ba2 ldr r3, [pc, #648] ; (80a570c ) 80a5482: 7b1b ldrb r3, [r3, #12] 80a5484: b2db uxtb r3, r3 80a5486: 2b00 cmp r3, #0 80a5488: d106 bne.n 80a5498 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a548a: 2303 movs r3, #3 80a548c: 4aa4 ldr r2, [pc, #656] ; (80a5720 ) 80a548e: 212d movs r1, #45 ; 0x2d 80a5490: 20dc movs r0, #220 ; 0xdc 80a5492: f7ae fa6d bl 8053970 80a5496: e018 b.n 80a54ca else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a5498: 2303 movs r3, #3 80a549a: 4aa2 ldr r2, [pc, #648] ; (80a5724 ) 80a549c: 212d movs r1, #45 ; 0x2d 80a549e: 20dc movs r0, #220 ; 0xdc 80a54a0: f7ae fa66 bl 8053970 80a54a4: e011 b.n 80a54ca if(pardata.LANG == RUS) 80a54a6: 4b99 ldr r3, [pc, #612] ; (80a570c ) 80a54a8: 7b1b ldrb r3, [r3, #12] 80a54aa: b2db uxtb r3, r3 80a54ac: 2b00 cmp r3, #0 80a54ae: d106 bne.n 80a54be BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a54b0: 2303 movs r3, #3 80a54b2: 4a99 ldr r2, [pc, #612] ; (80a5718 ) 80a54b4: 212d movs r1, #45 ; 0x2d 80a54b6: 20dc movs r0, #220 ; 0xdc 80a54b8: f7ae fa5a bl 8053970 80a54bc: e005 b.n 80a54ca else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a54be: 2303 movs r3, #3 80a54c0: 4a96 ldr r2, [pc, #600] ; (80a571c ) 80a54c2: 212d movs r1, #45 ; 0x2d 80a54c4: 20dc movs r0, #220 ; 0xdc 80a54c6: f7ae fa53 bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a54ca: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a54ce: f06f 0002 mvn.w r0, #2 80a54d2: eeb0 0a67 vmov.f32 s0, s15 80a54d6: f7c1 f92f bl 8066738 80a54da: 4602 mov r2, r0 80a54dc: 2302 movs r3, #2 80a54de: 212d movs r1, #45 ; 0x2d 80a54e0: 20d9 movs r0, #217 ; 0xd9 80a54e2: f7ae fa45 bl 8053970 80a54e6: e0a4 b.n 80a5632 Val *= 1000.0f; 80a54e8: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a54ec: ed9f 7a9f vldr s14, [pc, #636] ; 80a576c 80a54f0: ee67 7a87 vmul.f32 s15, s15, s14 80a54f4: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IPR == ACC) 80a54f8: 4b84 ldr r3, [pc, #528] ; (80a570c ) 80a54fa: 785b ldrb r3, [r3, #1] 80a54fc: b2db uxtb r3, r3 80a54fe: 2b00 cmp r3, #0 80a5500: d12a bne.n 80a5558 if(pardata.IIN != VOLTS) 80a5502: 4b82 ldr r3, [pc, #520] ; (80a570c ) 80a5504: 799b ldrb r3, [r3, #6] 80a5506: b2db uxtb r3, r3 80a5508: 2b02 cmp r3, #2 80a550a: d012 beq.n 80a5532 if(pardata.LANG == RUS) 80a550c: 4b7f ldr r3, [pc, #508] ; (80a570c ) 80a550e: 7b1b ldrb r3, [r3, #12] 80a5510: b2db uxtb r3, r3 80a5512: 2b00 cmp r3, #0 80a5514: d106 bne.n 80a5524 BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a5516: 2303 movs r3, #3 80a5518: 4a83 ldr r2, [pc, #524] ; (80a5728 ) 80a551a: 212d movs r1, #45 ; 0x2d 80a551c: 20dc movs r0, #220 ; 0xdc 80a551e: f7ae fa27 bl 8053970 80a5522: e078 b.n 80a5616 else BSP_LCD_DisplayStringAt(220, 45, "mm/s^", LEFT_MODE); 80a5524: 2303 movs r3, #3 80a5526: 4a81 ldr r2, [pc, #516] ; (80a572c ) 80a5528: 212d movs r1, #45 ; 0x2d 80a552a: 20dc movs r0, #220 ; 0xdc 80a552c: f7ae fa20 bl 8053970 80a5530: e071 b.n 80a5616 if(pardata.LANG == RUS) 80a5532: 4b76 ldr r3, [pc, #472] ; (80a570c ) 80a5534: 7b1b ldrb r3, [r3, #12] 80a5536: b2db uxtb r3, r3 80a5538: 2b00 cmp r3, #0 80a553a: d106 bne.n 80a554a BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a553c: 2303 movs r3, #3 80a553e: 4a7c ldr r2, [pc, #496] ; (80a5730 ) 80a5540: 212d movs r1, #45 ; 0x2d 80a5542: 20dc movs r0, #220 ; 0xdc 80a5544: f7ae fa14 bl 8053970 80a5548: e065 b.n 80a5616 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a554a: 2303 movs r3, #3 80a554c: 4a79 ldr r2, [pc, #484] ; (80a5734 ) 80a554e: 212d movs r1, #45 ; 0x2d 80a5550: 20dc movs r0, #220 ; 0xdc 80a5552: f7ae fa0d bl 8053970 80a5556: e05e b.n 80a5616 else if(pardata.IPR == VEL) 80a5558: 4b6c ldr r3, [pc, #432] ; (80a570c ) 80a555a: 785b ldrb r3, [r3, #1] 80a555c: b2db uxtb r3, r3 80a555e: 2b01 cmp r3, #1 80a5560: d12a bne.n 80a55b8 if(pardata.IIN != VOLTS) 80a5562: 4b6a ldr r3, [pc, #424] ; (80a570c ) 80a5564: 799b ldrb r3, [r3, #6] 80a5566: b2db uxtb r3, r3 80a5568: 2b02 cmp r3, #2 80a556a: d012 beq.n 80a5592 if(pardata.LANG == RUS) 80a556c: 4b67 ldr r3, [pc, #412] ; (80a570c ) 80a556e: 7b1b ldrb r3, [r3, #12] 80a5570: b2db uxtb r3, r3 80a5572: 2b00 cmp r3, #0 80a5574: d106 bne.n 80a5584 BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a5576: 2303 movs r3, #3 80a5578: 4a6f ldr r2, [pc, #444] ; (80a5738 ) 80a557a: 212d movs r1, #45 ; 0x2d 80a557c: 20dc movs r0, #220 ; 0xdc 80a557e: f7ae f9f7 bl 8053970 80a5582: e048 b.n 80a5616 else BSP_LCD_DisplayStringAt(220, 45, "mkm/s", LEFT_MODE); 80a5584: 2303 movs r3, #3 80a5586: 4a6d ldr r2, [pc, #436] ; (80a573c ) 80a5588: 212d movs r1, #45 ; 0x2d 80a558a: 20dc movs r0, #220 ; 0xdc 80a558c: f7ae f9f0 bl 8053970 80a5590: e041 b.n 80a5616 if(pardata.LANG == RUS) 80a5592: 4b5e ldr r3, [pc, #376] ; (80a570c ) 80a5594: 7b1b ldrb r3, [r3, #12] 80a5596: b2db uxtb r3, r3 80a5598: 2b00 cmp r3, #0 80a559a: d106 bne.n 80a55aa BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a559c: 2303 movs r3, #3 80a559e: 4a64 ldr r2, [pc, #400] ; (80a5730 ) 80a55a0: 212d movs r1, #45 ; 0x2d 80a55a2: 20dc movs r0, #220 ; 0xdc 80a55a4: f7ae f9e4 bl 8053970 80a55a8: e035 b.n 80a5616 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a55aa: 2303 movs r3, #3 80a55ac: 4a61 ldr r2, [pc, #388] ; (80a5734 ) 80a55ae: 212d movs r1, #45 ; 0x2d 80a55b0: 20dc movs r0, #220 ; 0xdc 80a55b2: f7ae f9dd bl 8053970 80a55b6: e02e b.n 80a5616 else if(pardata.IPR == DIS) 80a55b8: 4b54 ldr r3, [pc, #336] ; (80a570c ) 80a55ba: 785b ldrb r3, [r3, #1] 80a55bc: b2db uxtb r3, r3 80a55be: 2b02 cmp r3, #2 80a55c0: d129 bne.n 80a5616 if(pardata.IIN != VOLTS) 80a55c2: 4b52 ldr r3, [pc, #328] ; (80a570c ) 80a55c4: 799b ldrb r3, [r3, #6] 80a55c6: b2db uxtb r3, r3 80a55c8: 2b02 cmp r3, #2 80a55ca: d012 beq.n 80a55f2 if(pardata.LANG == RUS) 80a55cc: 4b4f ldr r3, [pc, #316] ; (80a570c ) 80a55ce: 7b1b ldrb r3, [r3, #12] 80a55d0: b2db uxtb r3, r3 80a55d2: 2b00 cmp r3, #0 80a55d4: d106 bne.n 80a55e4 BSP_LCD_DisplayStringAt(220, 45, "#&", LEFT_MODE); 80a55d6: 2303 movs r3, #3 80a55d8: 4a59 ldr r2, [pc, #356] ; (80a5740 ) 80a55da: 212d movs r1, #45 ; 0x2d 80a55dc: 20dc movs r0, #220 ; 0xdc 80a55de: f7ae f9c7 bl 8053970 80a55e2: e018 b.n 80a5616 else BSP_LCD_DisplayStringAt(220, 45, "nm", LEFT_MODE); 80a55e4: 2303 movs r3, #3 80a55e6: 4a57 ldr r2, [pc, #348] ; (80a5744 ) 80a55e8: 212d movs r1, #45 ; 0x2d 80a55ea: 20dc movs r0, #220 ; 0xdc 80a55ec: f7ae f9c0 bl 8053970 80a55f0: e011 b.n 80a5616 if(pardata.LANG == RUS) 80a55f2: 4b46 ldr r3, [pc, #280] ; (80a570c ) 80a55f4: 7b1b ldrb r3, [r3, #12] 80a55f6: b2db uxtb r3, r3 80a55f8: 2b00 cmp r3, #0 80a55fa: d106 bne.n 80a560a BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a55fc: 2303 movs r3, #3 80a55fe: 4a4c ldr r2, [pc, #304] ; (80a5730 ) 80a5600: 212d movs r1, #45 ; 0x2d 80a5602: 20dc movs r0, #220 ; 0xdc 80a5604: f7ae f9b4 bl 8053970 80a5608: e005 b.n 80a5616 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a560a: 2303 movs r3, #3 80a560c: 4a49 ldr r2, [pc, #292] ; (80a5734 ) 80a560e: 212d movs r1, #45 ; 0x2d 80a5610: 20dc movs r0, #220 ; 0xdc 80a5612: f7ae f9ad bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -4), RIGHT_MODE); 80a5616: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a561a: f06f 0003 mvn.w r0, #3 80a561e: eeb0 0a67 vmov.f32 s0, s15 80a5622: f7c1 f889 bl 8066738 80a5626: 4602 mov r2, r0 80a5628: 2302 movs r3, #2 80a562a: 212d movs r1, #45 ; 0x2d 80a562c: 20d9 movs r0, #217 ; 0xd9 80a562e: f7ae f99f bl 8053970 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a5632: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5636: 4844 ldr r0, [pc, #272] ; (80a5748 ) 80a5638: f7ae f8d4 bl 80537e4 tmpF = THIRD[CURSOR]; 80a563c: 4b43 ldr r3, [pc, #268] ; (80a574c ) 80a563e: 681b ldr r3, [r3, #0] 80a5640: 4a43 ldr r2, [pc, #268] ; (80a5750 ) 80a5642: 009b lsls r3, r3, #2 80a5644: 4413 add r3, r2 80a5646: 681b ldr r3, [r3, #0] 80a5648: 65bb str r3, [r7, #88] ; 0x58 if(tmpF >= 1000.0f) 80a564a: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a564e: ed9f 7a47 vldr s14, [pc, #284] ; 80a576c 80a5652: eef4 7ac7 vcmpe.f32 s15, s14 80a5656: eef1 fa10 vmrs APSR_nzcv, fpscr 80a565a: db2a blt.n 80a56b2 tmpF *= 0.001f; 80a565c: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5660: ed9f 7a3c vldr s14, [pc, #240] ; 80a5754 80a5664: ee67 7a87 vmul.f32 s15, s15, s14 80a5668: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a566c: 4b27 ldr r3, [pc, #156] ; (80a570c ) 80a566e: 7b1b ldrb r3, [r3, #12] 80a5670: b2db uxtb r3, r3 80a5672: 2b00 cmp r3, #0 80a5674: d107 bne.n 80a5686 BSP_LCD_DisplayStringAt(302, 45, "k$%", LEFT_MODE); 80a5676: 2303 movs r3, #3 80a5678: 4a37 ldr r2, [pc, #220] ; (80a5758 ) 80a567a: 212d movs r1, #45 ; 0x2d 80a567c: f44f 7097 mov.w r0, #302 ; 0x12e 80a5680: f7ae f976 bl 8053970 80a5684: e006 b.n 80a5694 else BSP_LCD_DisplayStringAt(302, 45, "kHz", LEFT_MODE); 80a5686: 2303 movs r3, #3 80a5688: 4a34 ldr r2, [pc, #208] ; (80a575c ) 80a568a: 212d movs r1, #45 ; 0x2d 80a568c: f44f 7097 mov.w r0, #302 ; 0x12e 80a5690: f7ae f96e bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -4), RIGHT_MODE); 80a5694: f06f 0003 mvn.w r0, #3 80a5698: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a569c: f7c1 f84c bl 8066738 80a56a0: 4602 mov r2, r0 80a56a2: 2302 movs r3, #2 80a56a4: 212d movs r1, #45 ; 0x2d 80a56a6: f240 102b movw r0, #299 ; 0x12b 80a56aa: f7ae f961 bl 8053970 } 80a56ae: f000 bccd b.w 80a604c if(tmpF >= 0.1f) 80a56b2: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a56b6: ed9f 7a2a vldr s14, [pc, #168] ; 80a5760 80a56ba: eef4 7ac7 vcmpe.f32 s15, s14 80a56be: eef1 fa10 vmrs APSR_nzcv, fpscr 80a56c2: db55 blt.n 80a5770 if(pardata.LANG == RUS) 80a56c4: 4b11 ldr r3, [pc, #68] ; (80a570c ) 80a56c6: 7b1b ldrb r3, [r3, #12] 80a56c8: b2db uxtb r3, r3 80a56ca: 2b00 cmp r3, #0 80a56cc: d107 bne.n 80a56de BSP_LCD_DisplayStringAt(302, 45, "$%", LEFT_MODE); 80a56ce: 2303 movs r3, #3 80a56d0: 4a24 ldr r2, [pc, #144] ; (80a5764 ) 80a56d2: 212d movs r1, #45 ; 0x2d 80a56d4: f44f 7097 mov.w r0, #302 ; 0x12e 80a56d8: f7ae f94a bl 8053970 80a56dc: e006 b.n 80a56ec else BSP_LCD_DisplayStringAt(302, 45, "Hz", LEFT_MODE); 80a56de: 2303 movs r3, #3 80a56e0: 4a21 ldr r2, [pc, #132] ; (80a5768 ) 80a56e2: 212d movs r1, #45 ; 0x2d 80a56e4: f44f 7097 mov.w r0, #302 ; 0x12e 80a56e8: f7ae f942 bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -3), RIGHT_MODE); 80a56ec: f06f 0002 mvn.w r0, #2 80a56f0: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a56f4: f7c1 f820 bl 8066738 80a56f8: 4602 mov r2, r0 80a56fa: 2302 movs r3, #2 80a56fc: 212d movs r1, #45 ; 0x2d 80a56fe: f240 102b movw r0, #299 ; 0x12b 80a5702: f7ae f935 bl 8053970 } 80a5706: f000 bca1 b.w 80a604c 80a570a: bf00 nop 80a570c: 20023e60 .word 0x20023e60 80a5710: 080d0ae0 .word 0x080d0ae0 80a5714: 080d0a08 .word 0x080d0a08 80a5718: 080d0ad8 .word 0x080d0ad8 80a571c: 080d0adc .word 0x080d0adc 80a5720: 080d0ae8 .word 0x080d0ae8 80a5724: 080d0a14 .word 0x080d0a14 80a5728: 080d0a98 .word 0x080d0a98 80a572c: 080d0a20 .word 0x080d0a20 80a5730: 080d0aec .word 0x080d0aec 80a5734: 080d0a44 .word 0x080d0a44 80a5738: 080d0af0 .word 0x080d0af0 80a573c: 080d0a30 .word 0x080d0a30 80a5740: 080d0af8 .word 0x080d0af8 80a5744: 080d0a3c .word 0x080d0a3c 80a5748: ff808080 .word 0xff808080 80a574c: 2002006c .word 0x2002006c 80a5750: 080ef77c .word 0x080ef77c 80a5754: 3a83126f .word 0x3a83126f 80a5758: 080d0afc .word 0x080d0afc 80a575c: 080d0b00 .word 0x080d0b00 80a5760: 3dcccccd .word 0x3dcccccd 80a5764: 080d0ac4 .word 0x080d0ac4 80a5768: 080d0ac8 .word 0x080d0ac8 80a576c: 447a0000 .word 0x447a0000 tmpF *= 1000.0f; 80a5770: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5774: ed1f 7a03 vldr s14, [pc, #-12] ; 80a576c 80a5778: ee67 7a87 vmul.f32 s15, s15, s14 80a577c: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a5780: 4bb9 ldr r3, [pc, #740] ; (80a5a68 ) 80a5782: 7b1b ldrb r3, [r3, #12] 80a5784: b2db uxtb r3, r3 80a5786: 2b00 cmp r3, #0 80a5788: d107 bne.n 80a579a BSP_LCD_DisplayStringAt(302, 45, "&$%", LEFT_MODE); 80a578a: 2303 movs r3, #3 80a578c: 4ab7 ldr r2, [pc, #732] ; (80a5a6c ) 80a578e: 212d movs r1, #45 ; 0x2d 80a5790: f44f 7097 mov.w r0, #302 ; 0x12e 80a5794: f7ae f8ec bl 8053970 80a5798: e006 b.n 80a57a8 else BSP_LCD_DisplayStringAt(302, 45, "mHz", LEFT_MODE); 80a579a: 2303 movs r3, #3 80a579c: 4ab4 ldr r2, [pc, #720] ; (80a5a70 ) 80a579e: 212d movs r1, #45 ; 0x2d 80a57a0: f44f 7097 mov.w r0, #302 ; 0x12e 80a57a4: f7ae f8e4 bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *)FloatToASCII(tmpF, -2), RIGHT_MODE); 80a57a8: f06f 0001 mvn.w r0, #1 80a57ac: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a57b0: f7c0 ffc2 bl 8066738 80a57b4: 4602 mov r2, r0 80a57b6: 2302 movs r3, #2 80a57b8: 212d movs r1, #45 ; 0x2d 80a57ba: f240 102b movw r0, #299 ; 0x12b 80a57be: f7ae f8d7 bl 8053970 } 80a57c2: f000 bc43 b.w 80a604c arm_max_f32(&ScrA_f32(Mpos), avgOSC[ViewLevel][pardata.LNE], &maxf, &n2); 80a57c6: 4bab ldr r3, [pc, #684] ; (80a5a74 ) 80a57c8: 881b ldrh r3, [r3, #0] 80a57ca: b29b uxth r3, r3 80a57cc: 009b lsls r3, r3, #2 80a57ce: 461a mov r2, r3 80a57d0: 4ba9 ldr r3, [pc, #676] ; (80a5a78 ) 80a57d2: 4413 add r3, r2 80a57d4: 461c mov r4, r3 80a57d6: 4ba9 ldr r3, [pc, #676] ; (80a5a7c ) 80a57d8: 781b ldrb r3, [r3, #0] 80a57da: b2db uxtb r3, r3 80a57dc: 4619 mov r1, r3 80a57de: 4ba2 ldr r3, [pc, #648] ; (80a5a68 ) 80a57e0: 79db ldrb r3, [r3, #7] 80a57e2: b2db uxtb r3, r3 80a57e4: 4618 mov r0, r3 80a57e6: 4aa6 ldr r2, [pc, #664] ; (80a5a80 ) 80a57e8: 460b mov r3, r1 80a57ea: 009b lsls r3, r3, #2 80a57ec: 440b add r3, r1 80a57ee: 4413 add r3, r2 80a57f0: 4403 add r3, r0 80a57f2: 781b ldrb r3, [r3, #0] 80a57f4: 4619 mov r1, r3 80a57f6: f107 034c add.w r3, r7, #76 ; 0x4c 80a57fa: f107 0244 add.w r2, r7, #68 ; 0x44 80a57fe: 4620 mov r0, r4 80a5800: f024 fc78 bl 80ca0f4 arm_min_f32(&ScrA_f32(Mpos), avgOSC[ViewLevel][pardata.LNE], &minf, &n1); 80a5804: 4b9b ldr r3, [pc, #620] ; (80a5a74 ) 80a5806: 881b ldrh r3, [r3, #0] 80a5808: b29b uxth r3, r3 80a580a: 009b lsls r3, r3, #2 80a580c: 461a mov r2, r3 80a580e: 4b9a ldr r3, [pc, #616] ; (80a5a78 ) 80a5810: 4413 add r3, r2 80a5812: 461c mov r4, r3 80a5814: 4b99 ldr r3, [pc, #612] ; (80a5a7c ) 80a5816: 781b ldrb r3, [r3, #0] 80a5818: b2db uxtb r3, r3 80a581a: 4619 mov r1, r3 80a581c: 4b92 ldr r3, [pc, #584] ; (80a5a68 ) 80a581e: 79db ldrb r3, [r3, #7] 80a5820: b2db uxtb r3, r3 80a5822: 4618 mov r0, r3 80a5824: 4a96 ldr r2, [pc, #600] ; (80a5a80 ) 80a5826: 460b mov r3, r1 80a5828: 009b lsls r3, r3, #2 80a582a: 440b add r3, r1 80a582c: 4413 add r3, r2 80a582e: 4403 add r3, r0 80a5830: 781b ldrb r3, [r3, #0] 80a5832: 4619 mov r1, r3 80a5834: f107 0350 add.w r3, r7, #80 ; 0x50 80a5838: f107 0248 add.w r2, r7, #72 ; 0x48 80a583c: 4620 mov r0, r4 80a583e: f024 fbbd bl 80c9fbc if((maxf > 0) && (minf < 0)) 80a5842: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5846: eef5 7ac0 vcmpe.f32 s15, #0.0 80a584a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a584e: dd33 ble.n 80a58b8 80a5850: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a5854: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5858: eef1 fa10 vmrs APSR_nzcv, fpscr 80a585c: d52c bpl.n 80a58b8 if(ABS(maxf) < ABS(minf)) 80a585e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5862: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5866: eef1 fa10 vmrs APSR_nzcv, fpscr 80a586a: dd02 ble.n 80a5872 80a586c: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80a5870: e003 b.n 80a587a 80a5872: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5876: eeb1 7a67 vneg.f32 s14, s15 80a587a: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a587e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5882: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5886: dd02 ble.n 80a588e 80a5888: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a588c: e003 b.n 80a5896 80a588e: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a5892: eef1 7a67 vneg.f32 s15, s15 80a5896: eeb4 7ae7 vcmpe.f32 s14, s15 80a589a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a589e: d505 bpl.n 80a58ac CurVal = minf; 80a58a0: 6cbb ldr r3, [r7, #72] ; 0x48 80a58a2: 4a78 ldr r2, [pc, #480] ; (80a5a84 ) 80a58a4: 6013 str r3, [r2, #0] l = n1; 80a58a6: 6d3b ldr r3, [r7, #80] ; 0x50 80a58a8: 657b str r3, [r7, #84] ; 0x54 if(ABS(maxf) < ABS(minf)) 80a58aa: e054 b.n 80a5956 CurVal = maxf; 80a58ac: 6c7b ldr r3, [r7, #68] ; 0x44 80a58ae: 4a75 ldr r2, [pc, #468] ; (80a5a84 ) 80a58b0: 6013 str r3, [r2, #0] l = n2; 80a58b2: 6cfb ldr r3, [r7, #76] ; 0x4c 80a58b4: 657b str r3, [r7, #84] ; 0x54 if(ABS(maxf) < ABS(minf)) 80a58b6: e04e b.n 80a5956 if((maxf > 0) && (minf > 0)) 80a58b8: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a58bc: eef5 7ac0 vcmpe.f32 s15, #0.0 80a58c0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a58c4: dd0c ble.n 80a58e0 80a58c6: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a58ca: eef5 7ac0 vcmpe.f32 s15, #0.0 80a58ce: eef1 fa10 vmrs APSR_nzcv, fpscr 80a58d2: dd05 ble.n 80a58e0 CurVal = maxf; 80a58d4: 6c7b ldr r3, [r7, #68] ; 0x44 80a58d6: 4a6b ldr r2, [pc, #428] ; (80a5a84 ) 80a58d8: 6013 str r3, [r2, #0] l = n2; 80a58da: 6cfb ldr r3, [r7, #76] ; 0x4c 80a58dc: 657b str r3, [r7, #84] ; 0x54 80a58de: e03a b.n 80a5956 if((maxf < 0) && (minf < 0)) 80a58e0: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a58e4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a58e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a58ec: d50c bpl.n 80a5908 80a58ee: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a58f2: eef5 7ac0 vcmpe.f32 s15, #0.0 80a58f6: eef1 fa10 vmrs APSR_nzcv, fpscr 80a58fa: d505 bpl.n 80a5908 CurVal = minf; 80a58fc: 6cbb ldr r3, [r7, #72] ; 0x48 80a58fe: 4a61 ldr r2, [pc, #388] ; (80a5a84 ) 80a5900: 6013 str r3, [r2, #0] l = n1; 80a5902: 6d3b ldr r3, [r7, #80] ; 0x50 80a5904: 657b str r3, [r7, #84] ; 0x54 80a5906: e026 b.n 80a5956 if((maxf >= 0) && (minf == 0)) 80a5908: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a590c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5910: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5914: db0c blt.n 80a5930 80a5916: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a591a: eef5 7a40 vcmp.f32 s15, #0.0 80a591e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5922: d105 bne.n 80a5930 CurVal = maxf; 80a5924: 6c7b ldr r3, [r7, #68] ; 0x44 80a5926: 4a57 ldr r2, [pc, #348] ; (80a5a84 ) 80a5928: 6013 str r3, [r2, #0] l = n2; 80a592a: 6cfb ldr r3, [r7, #76] ; 0x4c 80a592c: 657b str r3, [r7, #84] ; 0x54 80a592e: e012 b.n 80a5956 if((maxf == 0) && (minf <= 0)) 80a5930: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80a5934: eef5 7a40 vcmp.f32 s15, #0.0 80a5938: eef1 fa10 vmrs APSR_nzcv, fpscr 80a593c: d10b bne.n 80a5956 80a593e: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80a5942: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5946: eef1 fa10 vmrs APSR_nzcv, fpscr 80a594a: d804 bhi.n 80a5956 CurVal = minf; 80a594c: 6cbb ldr r3, [r7, #72] ; 0x48 80a594e: 4a4d ldr r2, [pc, #308] ; (80a5a84 ) 80a5950: 6013 str r3, [r2, #0] l = n1; 80a5952: 6d3b ldr r3, [r7, #80] ; 0x50 80a5954: 657b str r3, [r7, #84] ; 0x54 fineMpos = Mpos + l; 80a5956: 6d7b ldr r3, [r7, #84] ; 0x54 80a5958: b29a uxth r2, r3 80a595a: 4b46 ldr r3, [pc, #280] ; (80a5a74 ) 80a595c: 881b ldrh r3, [r3, #0] 80a595e: b29b uxth r3, r3 80a5960: 4413 add r3, r2 80a5962: b29a uxth r2, r3 80a5964: 4b48 ldr r3, [pc, #288] ; (80a5a88 ) 80a5966: 801a strh r2, [r3, #0] Val = CurVal; 80a5968: 4b46 ldr r3, [pc, #280] ; (80a5a84 ) 80a596a: 681b ldr r3, [r3, #0] 80a596c: 643b str r3, [r7, #64] ; 0x40 LCD_SetColors(LCD_COLOR_MYGREEN, 0xFF000000); 80a596e: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5972: 4846 ldr r0, [pc, #280] ; (80a5a8c ) 80a5974: f7ad ff36 bl 80537e4 if(ABS(Val) >= 1000.0f) 80a5978: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a597c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5980: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5984: dd0c ble.n 80a59a0 80a5986: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a598a: ed9f 7a41 vldr s14, [pc, #260] ; 80a5a90 80a598e: eef4 7ac7 vcmpe.f32 s15, s14 80a5992: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5996: bfac ite ge 80a5998: 2301 movge r3, #1 80a599a: 2300 movlt r3, #0 80a599c: b2db uxtb r3, r3 80a599e: e00b b.n 80a59b8 80a59a0: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a59a4: ed9f 7a3b vldr s14, [pc, #236] ; 80a5a94 80a59a8: eef4 7ac7 vcmpe.f32 s15, s14 80a59ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80a59b0: bf94 ite ls 80a59b2: 2301 movls r3, #1 80a59b4: 2300 movhi r3, #0 80a59b6: b2db uxtb r3, r3 80a59b8: 2b00 cmp r3, #0 80a59ba: f000 80cd beq.w 80a5b58 Val *= 0.001f; 80a59be: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a59c2: ed9f 7a35 vldr s14, [pc, #212] ; 80a5a98 80a59c6: ee67 7a87 vmul.f32 s15, s15, s14 80a59ca: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.LANG == RUS) 80a59ce: 4b26 ldr r3, [pc, #152] ; (80a5a68 ) 80a59d0: 7b1b ldrb r3, [r3, #12] 80a59d2: b2db uxtb r3, r3 80a59d4: 2b00 cmp r3, #0 80a59d6: d169 bne.n 80a5aac if(pardata.IPR == ACC) 80a59d8: 4b23 ldr r3, [pc, #140] ; (80a5a68 ) 80a59da: 785b ldrb r3, [r3, #1] 80a59dc: b2db uxtb r3, r3 80a59de: 2b00 cmp r3, #0 80a59e0: d112 bne.n 80a5a08 if(pardata.IIN != VOLTS) 80a59e2: 4b21 ldr r3, [pc, #132] ; (80a5a68 ) 80a59e4: 799b ldrb r3, [r3, #6] 80a59e6: b2db uxtb r3, r3 80a59e8: 2b02 cmp r3, #2 80a59ea: d006 beq.n 80a59fa BSP_LCD_DisplayStringAt(220, 45, "k&/c^", LEFT_MODE); 80a59ec: 2303 movs r3, #3 80a59ee: 4a2b ldr r2, [pc, #172] ; (80a5a9c ) 80a59f0: 212d movs r1, #45 ; 0x2d 80a59f2: 20dc movs r0, #220 ; 0xdc 80a59f4: f7ad ffbc bl 8053970 80a59f8: e09f b.n 80a5b3a else BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a59fa: 2303 movs r3, #3 80a59fc: 4a28 ldr r2, [pc, #160] ; (80a5aa0 ) 80a59fe: 212d movs r1, #45 ; 0x2d 80a5a00: 20dc movs r0, #220 ; 0xdc 80a5a02: f7ad ffb5 bl 8053970 80a5a06: e098 b.n 80a5b3a if(pardata.IPR == VEL) 80a5a08: 4b17 ldr r3, [pc, #92] ; (80a5a68 ) 80a5a0a: 785b ldrb r3, [r3, #1] 80a5a0c: b2db uxtb r3, r3 80a5a0e: 2b01 cmp r3, #1 80a5a10: d112 bne.n 80a5a38 if(pardata.IIN != VOLTS) 80a5a12: 4b15 ldr r3, [pc, #84] ; (80a5a68 ) 80a5a14: 799b ldrb r3, [r3, #6] 80a5a16: b2db uxtb r3, r3 80a5a18: 2b02 cmp r3, #2 80a5a1a: d006 beq.n 80a5a2a BSP_LCD_DisplayStringAt(220, 45, "&/c", LEFT_MODE); 80a5a1c: 2303 movs r3, #3 80a5a1e: 4a21 ldr r2, [pc, #132] ; (80a5aa4 ) 80a5a20: 212d movs r1, #45 ; 0x2d 80a5a22: 20dc movs r0, #220 ; 0xdc 80a5a24: f7ad ffa4 bl 8053970 80a5a28: e087 b.n 80a5b3a else BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a5a2a: 2303 movs r3, #3 80a5a2c: 4a1c ldr r2, [pc, #112] ; (80a5aa0 ) 80a5a2e: 212d movs r1, #45 ; 0x2d 80a5a30: 20dc movs r0, #220 ; 0xdc 80a5a32: f7ad ff9d bl 8053970 80a5a36: e080 b.n 80a5b3a if(pardata.IPR == DIS) 80a5a38: 4b0b ldr r3, [pc, #44] ; (80a5a68 ) 80a5a3a: 785b ldrb r3, [r3, #1] 80a5a3c: b2db uxtb r3, r3 80a5a3e: 2b02 cmp r3, #2 80a5a40: d17b bne.n 80a5b3a if(pardata.IIN != VOLTS) 80a5a42: 4b09 ldr r3, [pc, #36] ; (80a5a68 ) 80a5a44: 799b ldrb r3, [r3, #6] 80a5a46: b2db uxtb r3, r3 80a5a48: 2b02 cmp r3, #2 80a5a4a: d006 beq.n 80a5a5a BSP_LCD_DisplayStringAt(220, 45, "&&", LEFT_MODE); 80a5a4c: 2303 movs r3, #3 80a5a4e: 4a16 ldr r2, [pc, #88] ; (80a5aa8 ) 80a5a50: 212d movs r1, #45 ; 0x2d 80a5a52: 20dc movs r0, #220 ; 0xdc 80a5a54: f7ad ff8c bl 8053970 80a5a58: e06f b.n 80a5b3a else BSP_LCD_DisplayStringAt(220, 45, "B", LEFT_MODE); 80a5a5a: 2303 movs r3, #3 80a5a5c: 4a10 ldr r2, [pc, #64] ; (80a5aa0 ) 80a5a5e: 212d movs r1, #45 ; 0x2d 80a5a60: 20dc movs r0, #220 ; 0xdc 80a5a62: f7ad ff85 bl 8053970 80a5a66: e068 b.n 80a5b3a 80a5a68: 20023e60 .word 0x20023e60 80a5a6c: 080d0b04 .word 0x080d0b04 80a5a70: 080d0b08 .word 0x080d0b08 80a5a74: 20025d16 .word 0x20025d16 80a5a78: 64080000 .word 0x64080000 80a5a7c: 20020f74 .word 0x20020f74 80a5a80: 080ef628 .word 0x080ef628 80a5a84: 2002156c .word 0x2002156c 80a5a88: 20025d1c .word 0x20025d1c 80a5a8c: ff26a01f .word 0xff26a01f 80a5a90: 447a0000 .word 0x447a0000 80a5a94: c47a0000 .word 0xc47a0000 80a5a98: 3a83126f .word 0x3a83126f 80a5a9c: 080d0a78 .word 0x080d0a78 80a5aa0: 080d0acc .word 0x080d0acc 80a5aa4: 080d0ad0 .word 0x080d0ad0 80a5aa8: 080d0ad4 .word 0x080d0ad4 if(pardata.IPR == ACC) 80a5aac: 4bb0 ldr r3, [pc, #704] ; (80a5d70 ) 80a5aae: 785b ldrb r3, [r3, #1] 80a5ab0: b2db uxtb r3, r3 80a5ab2: 2b00 cmp r3, #0 80a5ab4: d112 bne.n 80a5adc if(pardata.IIN != VOLTS) 80a5ab6: 4bae ldr r3, [pc, #696] ; (80a5d70 ) 80a5ab8: 799b ldrb r3, [r3, #6] 80a5aba: b2db uxtb r3, r3 80a5abc: 2b02 cmp r3, #2 80a5abe: d006 beq.n 80a5ace BSP_LCD_DisplayStringAt(220, 45, "km/c^", LEFT_MODE); 80a5ac0: 2303 movs r3, #3 80a5ac2: 4aac ldr r2, [pc, #688] ; (80a5d74 ) 80a5ac4: 212d movs r1, #45 ; 0x2d 80a5ac6: 20dc movs r0, #220 ; 0xdc 80a5ac8: f7ad ff52 bl 8053970 80a5acc: e035 b.n 80a5b3a else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a5ace: 2303 movs r3, #3 80a5ad0: 4aa9 ldr r2, [pc, #676] ; (80a5d78 ) 80a5ad2: 212d movs r1, #45 ; 0x2d 80a5ad4: 20dc movs r0, #220 ; 0xdc 80a5ad6: f7ad ff4b bl 8053970 80a5ada: e02e b.n 80a5b3a if(pardata.IPR == VEL) 80a5adc: 4ba4 ldr r3, [pc, #656] ; (80a5d70 ) 80a5ade: 785b ldrb r3, [r3, #1] 80a5ae0: b2db uxtb r3, r3 80a5ae2: 2b01 cmp r3, #1 80a5ae4: d112 bne.n 80a5b0c if(pardata.IIN != VOLTS) 80a5ae6: 4ba2 ldr r3, [pc, #648] ; (80a5d70 ) 80a5ae8: 799b ldrb r3, [r3, #6] 80a5aea: b2db uxtb r3, r3 80a5aec: 2b02 cmp r3, #2 80a5aee: d006 beq.n 80a5afe BSP_LCD_DisplayStringAt(220, 45, "m/c", LEFT_MODE); 80a5af0: 2303 movs r3, #3 80a5af2: 4aa2 ldr r2, [pc, #648] ; (80a5d7c ) 80a5af4: 212d movs r1, #45 ; 0x2d 80a5af6: 20dc movs r0, #220 ; 0xdc 80a5af8: f7ad ff3a bl 8053970 80a5afc: e01d b.n 80a5b3a else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a5afe: 2303 movs r3, #3 80a5b00: 4a9d ldr r2, [pc, #628] ; (80a5d78 ) 80a5b02: 212d movs r1, #45 ; 0x2d 80a5b04: 20dc movs r0, #220 ; 0xdc 80a5b06: f7ad ff33 bl 8053970 80a5b0a: e016 b.n 80a5b3a if(pardata.IPR == DIS) 80a5b0c: 4b98 ldr r3, [pc, #608] ; (80a5d70 ) 80a5b0e: 785b ldrb r3, [r3, #1] 80a5b10: b2db uxtb r3, r3 80a5b12: 2b02 cmp r3, #2 80a5b14: d111 bne.n 80a5b3a if(pardata.IIN != VOLTS) 80a5b16: 4b96 ldr r3, [pc, #600] ; (80a5d70 ) 80a5b18: 799b ldrb r3, [r3, #6] 80a5b1a: b2db uxtb r3, r3 80a5b1c: 2b02 cmp r3, #2 80a5b1e: d006 beq.n 80a5b2e BSP_LCD_DisplayStringAt(220, 45, "mm", LEFT_MODE); 80a5b20: 2303 movs r3, #3 80a5b22: 4a97 ldr r2, [pc, #604] ; (80a5d80 ) 80a5b24: 212d movs r1, #45 ; 0x2d 80a5b26: 20dc movs r0, #220 ; 0xdc 80a5b28: f7ad ff22 bl 8053970 80a5b2c: e005 b.n 80a5b3a else BSP_LCD_DisplayStringAt(220, 45, "V", LEFT_MODE); 80a5b2e: 2303 movs r3, #3 80a5b30: 4a91 ldr r2, [pc, #580] ; (80a5d78 ) 80a5b32: 212d movs r1, #45 ; 0x2d 80a5b34: 20dc movs r0, #220 ; 0xdc 80a5b36: f7ad ff1b bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5b3a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5b3e: f06f 0002 mvn.w r0, #2 80a5b42: eeb0 0a67 vmov.f32 s0, s15 80a5b46: f7c0 fdf7 bl 8066738 80a5b4a: 4602 mov r2, r0 80a5b4c: 2302 movs r3, #2 80a5b4e: 212d movs r1, #45 ; 0x2d 80a5b50: 20d9 movs r0, #217 ; 0xd9 80a5b52: f7ad ff0d bl 8053970 80a5b56: e1be b.n 80a5ed6 if(ABS(Val) >= 0.1f) 80a5b58: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5b5c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a5b60: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5b64: dd0c ble.n 80a5b80 80a5b66: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5b6a: ed9f 7a86 vldr s14, [pc, #536] ; 80a5d84 80a5b6e: eef4 7ac7 vcmpe.f32 s15, s14 80a5b72: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5b76: bfac ite ge 80a5b78: 2301 movge r3, #1 80a5b7a: 2300 movlt r3, #0 80a5b7c: b2db uxtb r3, r3 80a5b7e: e00b b.n 80a5b98 80a5b80: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5b84: ed9f 7a80 vldr s14, [pc, #512] ; 80a5d88 80a5b88: eef4 7ac7 vcmpe.f32 s15, s14 80a5b8c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5b90: bf94 ite ls 80a5b92: 2301 movls r3, #1 80a5b94: 2300 movhi r3, #0 80a5b96: b2db uxtb r3, r3 80a5b98: 2b00 cmp r3, #0 80a5b9a: f000 80a3 beq.w 80a5ce4 if(pardata.LANG == RUS) 80a5b9e: 4b74 ldr r3, [pc, #464] ; (80a5d70 ) 80a5ba0: 7b1b ldrb r3, [r3, #12] 80a5ba2: b2db uxtb r3, r3 80a5ba4: 2b00 cmp r3, #0 80a5ba6: d147 bne.n 80a5c38 if(pardata.IPR == ACC) 80a5ba8: 4b71 ldr r3, [pc, #452] ; (80a5d70 ) 80a5baa: 785b ldrb r3, [r3, #1] 80a5bac: b2db uxtb r3, r3 80a5bae: 2b00 cmp r3, #0 80a5bb0: d112 bne.n 80a5bd8 if(pardata.IIN != VOLTS) 80a5bb2: 4b6f ldr r3, [pc, #444] ; (80a5d70 ) 80a5bb4: 799b ldrb r3, [r3, #6] 80a5bb6: b2db uxtb r3, r3 80a5bb8: 2b02 cmp r3, #2 80a5bba: d006 beq.n 80a5bca BSP_LCD_DisplayStringAt(220, 45, "&/c^", LEFT_MODE); 80a5bbc: 2303 movs r3, #3 80a5bbe: 4a73 ldr r2, [pc, #460] ; (80a5d8c ) 80a5bc0: 212d movs r1, #45 ; 0x2d 80a5bc2: 20dc movs r0, #220 ; 0xdc 80a5bc4: f7ad fed4 bl 8053970 80a5bc8: e07d b.n 80a5cc6 else BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a5bca: 2303 movs r3, #3 80a5bcc: 4a70 ldr r2, [pc, #448] ; (80a5d90 ) 80a5bce: 212d movs r1, #45 ; 0x2d 80a5bd0: 20dc movs r0, #220 ; 0xdc 80a5bd2: f7ad fecd bl 8053970 80a5bd6: e076 b.n 80a5cc6 if(pardata.IPR == VEL) 80a5bd8: 4b65 ldr r3, [pc, #404] ; (80a5d70 ) 80a5bda: 785b ldrb r3, [r3, #1] 80a5bdc: b2db uxtb r3, r3 80a5bde: 2b01 cmp r3, #1 80a5be0: d112 bne.n 80a5c08 if(pardata.IIN != VOLTS) 80a5be2: 4b63 ldr r3, [pc, #396] ; (80a5d70 ) 80a5be4: 799b ldrb r3, [r3, #6] 80a5be6: b2db uxtb r3, r3 80a5be8: 2b02 cmp r3, #2 80a5bea: d006 beq.n 80a5bfa BSP_LCD_DisplayStringAt(220, 45, "&&/c", LEFT_MODE); 80a5bec: 2303 movs r3, #3 80a5bee: 4a69 ldr r2, [pc, #420] ; (80a5d94 ) 80a5bf0: 212d movs r1, #45 ; 0x2d 80a5bf2: 20dc movs r0, #220 ; 0xdc 80a5bf4: f7ad febc bl 8053970 80a5bf8: e065 b.n 80a5cc6 else BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a5bfa: 2303 movs r3, #3 80a5bfc: 4a64 ldr r2, [pc, #400] ; (80a5d90 ) 80a5bfe: 212d movs r1, #45 ; 0x2d 80a5c00: 20dc movs r0, #220 ; 0xdc 80a5c02: f7ad feb5 bl 8053970 80a5c06: e05e b.n 80a5cc6 if(pardata.IPR == DIS) 80a5c08: 4b59 ldr r3, [pc, #356] ; (80a5d70 ) 80a5c0a: 785b ldrb r3, [r3, #1] 80a5c0c: b2db uxtb r3, r3 80a5c0e: 2b02 cmp r3, #2 80a5c10: d159 bne.n 80a5cc6 if(pardata.IIN != VOLTS) 80a5c12: 4b57 ldr r3, [pc, #348] ; (80a5d70 ) 80a5c14: 799b ldrb r3, [r3, #6] 80a5c16: b2db uxtb r3, r3 80a5c18: 2b02 cmp r3, #2 80a5c1a: d006 beq.n 80a5c2a BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a5c1c: 2303 movs r3, #3 80a5c1e: 4a5e ldr r2, [pc, #376] ; (80a5d98 ) 80a5c20: 212d movs r1, #45 ; 0x2d 80a5c22: 20dc movs r0, #220 ; 0xdc 80a5c24: f7ad fea4 bl 8053970 80a5c28: e04d b.n 80a5cc6 else BSP_LCD_DisplayStringAt(220, 45, "&B", LEFT_MODE); 80a5c2a: 2303 movs r3, #3 80a5c2c: 4a58 ldr r2, [pc, #352] ; (80a5d90 ) 80a5c2e: 212d movs r1, #45 ; 0x2d 80a5c30: 20dc movs r0, #220 ; 0xdc 80a5c32: f7ad fe9d bl 8053970 80a5c36: e046 b.n 80a5cc6 if(pardata.IPR == ACC) 80a5c38: 4b4d ldr r3, [pc, #308] ; (80a5d70 ) 80a5c3a: 785b ldrb r3, [r3, #1] 80a5c3c: b2db uxtb r3, r3 80a5c3e: 2b00 cmp r3, #0 80a5c40: d112 bne.n 80a5c68 if(pardata.IIN != VOLTS) 80a5c42: 4b4b ldr r3, [pc, #300] ; (80a5d70 ) 80a5c44: 799b ldrb r3, [r3, #6] 80a5c46: b2db uxtb r3, r3 80a5c48: 2b02 cmp r3, #2 80a5c4a: d006 beq.n 80a5c5a BSP_LCD_DisplayStringAt(220, 45, "m/c^", LEFT_MODE); 80a5c4c: 2303 movs r3, #3 80a5c4e: 4a53 ldr r2, [pc, #332] ; (80a5d9c ) 80a5c50: 212d movs r1, #45 ; 0x2d 80a5c52: 20dc movs r0, #220 ; 0xdc 80a5c54: f7ad fe8c bl 8053970 80a5c58: e035 b.n 80a5cc6 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a5c5a: 2303 movs r3, #3 80a5c5c: 4a50 ldr r2, [pc, #320] ; (80a5da0 ) 80a5c5e: 212d movs r1, #45 ; 0x2d 80a5c60: 20dc movs r0, #220 ; 0xdc 80a5c62: f7ad fe85 bl 8053970 80a5c66: e02e b.n 80a5cc6 if(pardata.IPR == VEL) 80a5c68: 4b41 ldr r3, [pc, #260] ; (80a5d70 ) 80a5c6a: 785b ldrb r3, [r3, #1] 80a5c6c: b2db uxtb r3, r3 80a5c6e: 2b01 cmp r3, #1 80a5c70: d112 bne.n 80a5c98 if(pardata.IIN != VOLTS) 80a5c72: 4b3f ldr r3, [pc, #252] ; (80a5d70 ) 80a5c74: 799b ldrb r3, [r3, #6] 80a5c76: b2db uxtb r3, r3 80a5c78: 2b02 cmp r3, #2 80a5c7a: d006 beq.n 80a5c8a BSP_LCD_DisplayStringAt(220, 45, "mm/c", LEFT_MODE); 80a5c7c: 2303 movs r3, #3 80a5c7e: 4a49 ldr r2, [pc, #292] ; (80a5da4 ) 80a5c80: 212d movs r1, #45 ; 0x2d 80a5c82: 20dc movs r0, #220 ; 0xdc 80a5c84: f7ad fe74 bl 8053970 80a5c88: e01d b.n 80a5cc6 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a5c8a: 2303 movs r3, #3 80a5c8c: 4a44 ldr r2, [pc, #272] ; (80a5da0 ) 80a5c8e: 212d movs r1, #45 ; 0x2d 80a5c90: 20dc movs r0, #220 ; 0xdc 80a5c92: f7ad fe6d bl 8053970 80a5c96: e016 b.n 80a5cc6 if(pardata.IPR == DIS) 80a5c98: 4b35 ldr r3, [pc, #212] ; (80a5d70 ) 80a5c9a: 785b ldrb r3, [r3, #1] 80a5c9c: b2db uxtb r3, r3 80a5c9e: 2b02 cmp r3, #2 80a5ca0: d111 bne.n 80a5cc6 if(pardata.IIN != VOLTS) 80a5ca2: 4b33 ldr r3, [pc, #204] ; (80a5d70 ) 80a5ca4: 799b ldrb r3, [r3, #6] 80a5ca6: b2db uxtb r3, r3 80a5ca8: 2b02 cmp r3, #2 80a5caa: d006 beq.n 80a5cba BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a5cac: 2303 movs r3, #3 80a5cae: 4a3e ldr r2, [pc, #248] ; (80a5da8 ) 80a5cb0: 212d movs r1, #45 ; 0x2d 80a5cb2: 20dc movs r0, #220 ; 0xdc 80a5cb4: f7ad fe5c bl 8053970 80a5cb8: e005 b.n 80a5cc6 else BSP_LCD_DisplayStringAt(220, 45, "mV", LEFT_MODE); 80a5cba: 2303 movs r3, #3 80a5cbc: 4a38 ldr r2, [pc, #224] ; (80a5da0 ) 80a5cbe: 212d movs r1, #45 ; 0x2d 80a5cc0: 20dc movs r0, #220 ; 0xdc 80a5cc2: f7ad fe55 bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5cc6: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5cca: f06f 0002 mvn.w r0, #2 80a5cce: eeb0 0a67 vmov.f32 s0, s15 80a5cd2: f7c0 fd31 bl 8066738 80a5cd6: 4602 mov r2, r0 80a5cd8: 2302 movs r3, #2 80a5cda: 212d movs r1, #45 ; 0x2d 80a5cdc: 20d9 movs r0, #217 ; 0xd9 80a5cde: f7ad fe47 bl 8053970 80a5ce2: e0f8 b.n 80a5ed6 if(pardata.IPR == ACC) 80a5ce4: 4b22 ldr r3, [pc, #136] ; (80a5d70 ) 80a5ce6: 785b ldrb r3, [r3, #1] 80a5ce8: b2db uxtb r3, r3 80a5cea: 2b00 cmp r3, #0 80a5cec: d168 bne.n 80a5dc0 Val *= 1000.0f; 80a5cee: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5cf2: ed9f 7a2e vldr s14, [pc, #184] ; 80a5dac 80a5cf6: ee67 7a87 vmul.f32 s15, s15, s14 80a5cfa: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IIN != VOLTS) 80a5cfe: 4b1c ldr r3, [pc, #112] ; (80a5d70 ) 80a5d00: 799b ldrb r3, [r3, #6] 80a5d02: b2db uxtb r3, r3 80a5d04: 2b02 cmp r3, #2 80a5d06: d012 beq.n 80a5d2e if(pardata.LANG == RUS) 80a5d08: 4b19 ldr r3, [pc, #100] ; (80a5d70 ) 80a5d0a: 7b1b ldrb r3, [r3, #12] 80a5d0c: b2db uxtb r3, r3 80a5d0e: 2b00 cmp r3, #0 80a5d10: d106 bne.n 80a5d20 BSP_LCD_DisplayStringAt(220, 45, "&&/c^", LEFT_MODE); 80a5d12: 2303 movs r3, #3 80a5d14: 4a26 ldr r2, [pc, #152] ; (80a5db0 ) 80a5d16: 212d movs r1, #45 ; 0x2d 80a5d18: 20dc movs r0, #220 ; 0xdc 80a5d1a: f7ad fe29 bl 8053970 80a5d1e: e018 b.n 80a5d52 else BSP_LCD_DisplayStringAt(220, 45, "mm/c^", LEFT_MODE); 80a5d20: 2303 movs r3, #3 80a5d22: 4a24 ldr r2, [pc, #144] ; (80a5db4 ) 80a5d24: 212d movs r1, #45 ; 0x2d 80a5d26: 20dc movs r0, #220 ; 0xdc 80a5d28: f7ad fe22 bl 8053970 80a5d2c: e011 b.n 80a5d52 if(pardata.LANG == RUS) 80a5d2e: 4b10 ldr r3, [pc, #64] ; (80a5d70 ) 80a5d30: 7b1b ldrb r3, [r3, #12] 80a5d32: b2db uxtb r3, r3 80a5d34: 2b00 cmp r3, #0 80a5d36: d106 bne.n 80a5d46 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a5d38: 2303 movs r3, #3 80a5d3a: 4a1f ldr r2, [pc, #124] ; (80a5db8 ) 80a5d3c: 212d movs r1, #45 ; 0x2d 80a5d3e: 20dc movs r0, #220 ; 0xdc 80a5d40: f7ad fe16 bl 8053970 80a5d44: e005 b.n 80a5d52 else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a5d46: 2303 movs r3, #3 80a5d48: 4a1c ldr r2, [pc, #112] ; (80a5dbc ) 80a5d4a: 212d movs r1, #45 ; 0x2d 80a5d4c: 20dc movs r0, #220 ; 0xdc 80a5d4e: f7ad fe0f bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5d52: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5d56: f06f 0002 mvn.w r0, #2 80a5d5a: eeb0 0a67 vmov.f32 s0, s15 80a5d5e: f7c0 fceb bl 8066738 80a5d62: 4602 mov r2, r0 80a5d64: 2302 movs r3, #2 80a5d66: 212d movs r1, #45 ; 0x2d 80a5d68: 20d9 movs r0, #217 ; 0xd9 80a5d6a: f7ad fe01 bl 8053970 80a5d6e: e0b2 b.n 80a5ed6 80a5d70: 20023e60 .word 0x20023e60 80a5d74: 080d0a80 .word 0x080d0a80 80a5d78: 080ce6d8 .word 0x080ce6d8 80a5d7c: 080d0b0c .word 0x080d0b0c 80a5d80: 080d09ec .word 0x080d09ec 80a5d84: 3dcccccd .word 0x3dcccccd 80a5d88: bdcccccd .word 0xbdcccccd 80a5d8c: 080d0a88 .word 0x080d0a88 80a5d90: 080d0ad8 .word 0x080d0ad8 80a5d94: 080d0ae0 .word 0x080d0ae0 80a5d98: 080d0ae8 .word 0x080d0ae8 80a5d9c: 080d0a90 .word 0x080d0a90 80a5da0: 080d0adc .word 0x080d0adc 80a5da4: 080d0b10 .word 0x080d0b10 80a5da8: 080d0a14 .word 0x080d0a14 80a5dac: 447a0000 .word 0x447a0000 80a5db0: 080d0a98 .word 0x080d0a98 80a5db4: 080d0aa0 .word 0x080d0aa0 80a5db8: 080d0aec .word 0x080d0aec 80a5dbc: 080d0a44 .word 0x080d0a44 if(pardata.IPR == VEL) 80a5dc0: 4ba4 ldr r3, [pc, #656] ; (80a6054 ) 80a5dc2: 785b ldrb r3, [r3, #1] 80a5dc4: b2db uxtb r3, r3 80a5dc6: 2b01 cmp r3, #1 80a5dc8: d140 bne.n 80a5e4c Val *= 1000.0f; 80a5dca: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5dce: ed9f 7aa2 vldr s14, [pc, #648] ; 80a6058 80a5dd2: ee67 7a87 vmul.f32 s15, s15, s14 80a5dd6: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.IIN != VOLTS) 80a5dda: 4b9e ldr r3, [pc, #632] ; (80a6054 ) 80a5ddc: 799b ldrb r3, [r3, #6] 80a5dde: b2db uxtb r3, r3 80a5de0: 2b02 cmp r3, #2 80a5de2: d012 beq.n 80a5e0a if(pardata.LANG == RUS) 80a5de4: 4b9b ldr r3, [pc, #620] ; (80a6054 ) 80a5de6: 7b1b ldrb r3, [r3, #12] 80a5de8: b2db uxtb r3, r3 80a5dea: 2b00 cmp r3, #0 80a5dec: d106 bne.n 80a5dfc BSP_LCD_DisplayStringAt(220, 45, "&k&/c", LEFT_MODE); 80a5dee: 2303 movs r3, #3 80a5df0: 4a9a ldr r2, [pc, #616] ; (80a605c ) 80a5df2: 212d movs r1, #45 ; 0x2d 80a5df4: 20dc movs r0, #220 ; 0xdc 80a5df6: f7ad fdbb bl 8053970 80a5dfa: e018 b.n 80a5e2e else BSP_LCD_DisplayStringAt(220, 45, "um/c", LEFT_MODE); 80a5dfc: 2303 movs r3, #3 80a5dfe: 4a98 ldr r2, [pc, #608] ; (80a6060 ) 80a5e00: 212d movs r1, #45 ; 0x2d 80a5e02: 20dc movs r0, #220 ; 0xdc 80a5e04: f7ad fdb4 bl 8053970 80a5e08: e011 b.n 80a5e2e if(pardata.LANG == RUS) 80a5e0a: 4b92 ldr r3, [pc, #584] ; (80a6054 ) 80a5e0c: 7b1b ldrb r3, [r3, #12] 80a5e0e: b2db uxtb r3, r3 80a5e10: 2b00 cmp r3, #0 80a5e12: d106 bne.n 80a5e22 BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a5e14: 2303 movs r3, #3 80a5e16: 4a93 ldr r2, [pc, #588] ; (80a6064 ) 80a5e18: 212d movs r1, #45 ; 0x2d 80a5e1a: 20dc movs r0, #220 ; 0xdc 80a5e1c: f7ad fda8 bl 8053970 80a5e20: e005 b.n 80a5e2e else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a5e22: 2303 movs r3, #3 80a5e24: 4a90 ldr r2, [pc, #576] ; (80a6068 ) 80a5e26: 212d movs r1, #45 ; 0x2d 80a5e28: 20dc movs r0, #220 ; 0xdc 80a5e2a: f7ad fda1 bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5e2e: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5e32: f06f 0002 mvn.w r0, #2 80a5e36: eeb0 0a67 vmov.f32 s0, s15 80a5e3a: f7c0 fc7d bl 8066738 80a5e3e: 4602 mov r2, r0 80a5e40: 2302 movs r3, #2 80a5e42: 212d movs r1, #45 ; 0x2d 80a5e44: 20d9 movs r0, #217 ; 0xd9 80a5e46: f7ad fd93 bl 8053970 80a5e4a: e044 b.n 80a5ed6 if(pardata.IPR == DIS) 80a5e4c: 4b81 ldr r3, [pc, #516] ; (80a6054 ) 80a5e4e: 785b ldrb r3, [r3, #1] 80a5e50: b2db uxtb r3, r3 80a5e52: 2b02 cmp r3, #2 80a5e54: d13f bne.n 80a5ed6 if(pardata.IIN != VOLTS) 80a5e56: 4b7f ldr r3, [pc, #508] ; (80a6054 ) 80a5e58: 799b ldrb r3, [r3, #6] 80a5e5a: b2db uxtb r3, r3 80a5e5c: 2b02 cmp r3, #2 80a5e5e: d012 beq.n 80a5e86 if(pardata.LANG == RUS) 80a5e60: 4b7c ldr r3, [pc, #496] ; (80a6054 ) 80a5e62: 7b1b ldrb r3, [r3, #12] 80a5e64: b2db uxtb r3, r3 80a5e66: 2b00 cmp r3, #0 80a5e68: d106 bne.n 80a5e78 BSP_LCD_DisplayStringAt(220, 45, "&k&", LEFT_MODE); 80a5e6a: 2303 movs r3, #3 80a5e6c: 4a7f ldr r2, [pc, #508] ; (80a606c ) 80a5e6e: 212d movs r1, #45 ; 0x2d 80a5e70: 20dc movs r0, #220 ; 0xdc 80a5e72: f7ad fd7d bl 8053970 80a5e76: e020 b.n 80a5eba else BSP_LCD_DisplayStringAt(220, 45, "um", LEFT_MODE); 80a5e78: 2303 movs r3, #3 80a5e7a: 4a7d ldr r2, [pc, #500] ; (80a6070 ) 80a5e7c: 212d movs r1, #45 ; 0x2d 80a5e7e: 20dc movs r0, #220 ; 0xdc 80a5e80: f7ad fd76 bl 8053970 80a5e84: e019 b.n 80a5eba Val *= 1000.0f; 80a5e86: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5e8a: ed9f 7a73 vldr s14, [pc, #460] ; 80a6058 80a5e8e: ee67 7a87 vmul.f32 s15, s15, s14 80a5e92: edc7 7a10 vstr s15, [r7, #64] ; 0x40 if(pardata.LANG == RUS) 80a5e96: 4b6f ldr r3, [pc, #444] ; (80a6054 ) 80a5e98: 7b1b ldrb r3, [r3, #12] 80a5e9a: b2db uxtb r3, r3 80a5e9c: 2b00 cmp r3, #0 80a5e9e: d106 bne.n 80a5eae BSP_LCD_DisplayStringAt(220, 45, "&kB", LEFT_MODE); 80a5ea0: 2303 movs r3, #3 80a5ea2: 4a70 ldr r2, [pc, #448] ; (80a6064 ) 80a5ea4: 212d movs r1, #45 ; 0x2d 80a5ea6: 20dc movs r0, #220 ; 0xdc 80a5ea8: f7ad fd62 bl 8053970 80a5eac: e005 b.n 80a5eba else BSP_LCD_DisplayStringAt(220, 45, "uV", LEFT_MODE); 80a5eae: 2303 movs r3, #3 80a5eb0: 4a6d ldr r2, [pc, #436] ; (80a6068 ) 80a5eb2: 212d movs r1, #45 ; 0x2d 80a5eb4: 20dc movs r0, #220 ; 0xdc 80a5eb6: f7ad fd5b bl 8053970 BSP_LCD_DisplayStringAt(217, 45, (char *)FloatToASCII(Val, -3), RIGHT_MODE); 80a5eba: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80a5ebe: f06f 0002 mvn.w r0, #2 80a5ec2: eeb0 0a67 vmov.f32 s0, s15 80a5ec6: f7c0 fc37 bl 8066738 80a5eca: 4602 mov r2, r0 80a5ecc: 2302 movs r3, #2 80a5ece: 212d movs r1, #45 ; 0x2d 80a5ed0: 20d9 movs r0, #217 ; 0xd9 80a5ed2: f7ad fd4d bl 8053970 LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80a5ed6: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80a5eda: 4866 ldr r0, [pc, #408] ; (80a6074 ) 80a5edc: f7ad fc82 bl 80537e4 tmpF = (float32_t) (fineMpos + 1); 80a5ee0: 4b65 ldr r3, [pc, #404] ; (80a6078 ) 80a5ee2: 881b ldrh r3, [r3, #0] 80a5ee4: b29b uxth r3, r3 80a5ee6: 3301 adds r3, #1 80a5ee8: ee07 3a90 vmov s15, r3 80a5eec: eef8 7ae7 vcvt.f32.s32 s15, s15 80a5ef0: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(tmpF != TF) 80a5ef4: 4b61 ldr r3, [pc, #388] ; (80a607c ) 80a5ef6: edd3 7a00 vldr s15, [r3] 80a5efa: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80a5efe: eeb4 7a67 vcmp.f32 s14, s15 80a5f02: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5f06: d016 beq.n 80a5f36 TF = tmpF; 80a5f08: 4a5c ldr r2, [pc, #368] ; (80a607c ) 80a5f0a: 6dbb ldr r3, [r7, #88] ; 0x58 80a5f0c: 6013 str r3, [r2, #0] TF *= Delta_OSC[pardata.FRQ]; 80a5f0e: 4b51 ldr r3, [pc, #324] ; (80a6054 ) 80a5f10: 7adb ldrb r3, [r3, #11] 80a5f12: b2db uxtb r3, r3 80a5f14: 4a5a ldr r2, [pc, #360] ; (80a6080 ) 80a5f16: 009b lsls r3, r3, #2 80a5f18: 4413 add r3, r2 80a5f1a: ed93 7a00 vldr s14, [r3] 80a5f1e: 4b57 ldr r3, [pc, #348] ; (80a607c ) 80a5f20: edd3 7a00 vldr s15, [r3] 80a5f24: ee67 7a27 vmul.f32 s15, s14, s15 80a5f28: 4b54 ldr r3, [pc, #336] ; (80a607c ) 80a5f2a: edc3 7a00 vstr s15, [r3] oldTF = TF; 80a5f2e: 4b53 ldr r3, [pc, #332] ; (80a607c ) 80a5f30: 681b ldr r3, [r3, #0] 80a5f32: 4a54 ldr r2, [pc, #336] ; (80a6084 ) 80a5f34: 6013 str r3, [r2, #0] tmpF = TF; 80a5f36: 4b51 ldr r3, [pc, #324] ; (80a607c ) 80a5f38: 681b ldr r3, [r3, #0] 80a5f3a: 65bb str r3, [r7, #88] ; 0x58 if(tmpF >= 1000.0f) 80a5f3c: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5f40: ed9f 7a45 vldr s14, [pc, #276] ; 80a6058 80a5f44: eef4 7ac7 vcmpe.f32 s15, s14 80a5f48: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5f4c: db29 blt.n 80a5fa2 tmpF *= 0.001f; 80a5f4e: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5f52: ed9f 7a4d vldr s14, [pc, #308] ; 80a6088 80a5f56: ee67 7a87 vmul.f32 s15, s15, s14 80a5f5a: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a5f5e: 4b3d ldr r3, [pc, #244] ; (80a6054 ) 80a5f60: 7b1b ldrb r3, [r3, #12] 80a5f62: b2db uxtb r3, r3 80a5f64: 2b00 cmp r3, #0 80a5f66: d107 bne.n 80a5f78 BSP_LCD_DisplayStringAt(302, 45, "c", LEFT_MODE); 80a5f68: 2303 movs r3, #3 80a5f6a: 4a48 ldr r2, [pc, #288] ; (80a608c ) 80a5f6c: 212d movs r1, #45 ; 0x2d 80a5f6e: f44f 7097 mov.w r0, #302 ; 0x12e 80a5f72: f7ad fcfd bl 8053970 80a5f76: e006 b.n 80a5f86 else BSP_LCD_DisplayStringAt(302, 45, "s", LEFT_MODE); 80a5f78: 2303 movs r3, #3 80a5f7a: 4a45 ldr r2, [pc, #276] ; (80a6090 ) 80a5f7c: 212d movs r1, #45 ; 0x2d 80a5f7e: f44f 7097 mov.w r0, #302 ; 0x12e 80a5f82: f7ad fcf5 bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -4), RIGHT_MODE); 80a5f86: f06f 0003 mvn.w r0, #3 80a5f8a: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a5f8e: f7c0 fbd3 bl 8066738 80a5f92: 4602 mov r2, r0 80a5f94: 2302 movs r3, #2 80a5f96: 212d movs r1, #45 ; 0x2d 80a5f98: f240 102b movw r0, #299 ; 0x12b 80a5f9c: f7ad fce8 bl 8053970 } 80a5fa0: e054 b.n 80a604c if(tmpF < 0.1f) 80a5fa2: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5fa6: ed9f 7a3b vldr s14, [pc, #236] ; 80a6094 80a5faa: eef4 7ac7 vcmpe.f32 s15, s14 80a5fae: eef1 fa10 vmrs APSR_nzcv, fpscr 80a5fb2: d529 bpl.n 80a6008 tmpF *= 1000.0f; 80a5fb4: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80a5fb8: ed9f 7a27 vldr s14, [pc, #156] ; 80a6058 80a5fbc: ee67 7a87 vmul.f32 s15, s15, s14 80a5fc0: edc7 7a16 vstr s15, [r7, #88] ; 0x58 if(pardata.LANG == RUS) 80a5fc4: 4b23 ldr r3, [pc, #140] ; (80a6054 ) 80a5fc6: 7b1b ldrb r3, [r3, #12] 80a5fc8: b2db uxtb r3, r3 80a5fca: 2b00 cmp r3, #0 80a5fcc: d107 bne.n 80a5fde BSP_LCD_DisplayStringAt(302, 45, "&kc", LEFT_MODE); 80a5fce: 2303 movs r3, #3 80a5fd0: 4a31 ldr r2, [pc, #196] ; (80a6098 ) 80a5fd2: 212d movs r1, #45 ; 0x2d 80a5fd4: f44f 7097 mov.w r0, #302 ; 0x12e 80a5fd8: f7ad fcca bl 8053970 80a5fdc: e006 b.n 80a5fec else BSP_LCD_DisplayStringAt(302, 45, "us", LEFT_MODE); 80a5fde: 2303 movs r3, #3 80a5fe0: 4a2e ldr r2, [pc, #184] ; (80a609c ) 80a5fe2: 212d movs r1, #45 ; 0x2d 80a5fe4: f44f 7097 mov.w r0, #302 ; 0x12e 80a5fe8: f7ad fcc2 bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -2), RIGHT_MODE); 80a5fec: f06f 0001 mvn.w r0, #1 80a5ff0: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a5ff4: f7c0 fba0 bl 8066738 80a5ff8: 4602 mov r2, r0 80a5ffa: 2302 movs r3, #2 80a5ffc: 212d movs r1, #45 ; 0x2d 80a5ffe: f240 102b movw r0, #299 ; 0x12b 80a6002: f7ad fcb5 bl 8053970 } 80a6006: e021 b.n 80a604c if(pardata.LANG == RUS) 80a6008: 4b12 ldr r3, [pc, #72] ; (80a6054 ) 80a600a: 7b1b ldrb r3, [r3, #12] 80a600c: b2db uxtb r3, r3 80a600e: 2b00 cmp r3, #0 80a6010: d107 bne.n 80a6022 BSP_LCD_DisplayStringAt(302, 45, "&c", LEFT_MODE); 80a6012: 2303 movs r3, #3 80a6014: 4a22 ldr r2, [pc, #136] ; (80a60a0 ) 80a6016: 212d movs r1, #45 ; 0x2d 80a6018: f44f 7097 mov.w r0, #302 ; 0x12e 80a601c: f7ad fca8 bl 8053970 80a6020: e006 b.n 80a6030 else BSP_LCD_DisplayStringAt(302, 45, "ms", LEFT_MODE); 80a6022: 2303 movs r3, #3 80a6024: 4a1f ldr r2, [pc, #124] ; (80a60a4 ) 80a6026: 212d movs r1, #45 ; 0x2d 80a6028: f44f 7097 mov.w r0, #302 ; 0x12e 80a602c: f7ad fca0 bl 8053970 BSP_LCD_DisplayStringAt(299, 45, (char *) FloatToASCII(tmpF, -3), RIGHT_MODE); 80a6030: f06f 0002 mvn.w r0, #2 80a6034: ed97 0a16 vldr s0, [r7, #88] ; 0x58 80a6038: f7c0 fb7e bl 8066738 80a603c: 4602 mov r2, r0 80a603e: 2302 movs r3, #2 80a6040: 212d movs r1, #45 ; 0x2d 80a6042: f240 102b movw r0, #299 ; 0x12b 80a6046: f7ad fc93 bl 8053970 } 80a604a: e7ff b.n 80a604c 80a604c: bf00 nop 80a604e: 3774 adds r7, #116 ; 0x74 80a6050: 46bd mov sp, r7 80a6052: bd90 pop {r4, r7, pc} 80a6054: 20023e60 .word 0x20023e60 80a6058: 447a0000 .word 0x447a0000 80a605c: 080d0af0 .word 0x080d0af0 80a6060: 080d0b18 .word 0x080d0b18 80a6064: 080d0aec .word 0x080d0aec 80a6068: 080d0a44 .word 0x080d0a44 80a606c: 080d0ae8 .word 0x080d0ae8 80a6070: 080d0a14 .word 0x080d0a14 80a6074: ff808080 .word 0xff808080 80a6078: 20025d1c .word 0x20025d1c 80a607c: 20021570 .word 0x20021570 80a6080: 080ef678 .word 0x080ef678 80a6084: 20021648 .word 0x20021648 80a6088: 3a83126f .word 0x3a83126f 80a608c: 080d0aa8 .word 0x080d0aa8 80a6090: 080d0aac .word 0x080d0aac 80a6094: 3dcccccd .word 0x3dcccccd 80a6098: 080d0ab0 .word 0x080d0ab0 80a609c: 080d0ab4 .word 0x080d0ab4 80a60a0: 080d0ab8 .word 0x080d0ab8 80a60a4: 080d0abc .word 0x080d0abc 080a60a8 : void DrawGraph(void) // TODO { 80a60a8: b590 push {r4, r7, lr} 80a60aa: f5ad 7d2f sub.w sp, sp, #700 ; 0x2bc 80a60ae: af00 add r7, sp, #0 int32_t _Fvr_m_Fc[15]; int32_t _Ftk_p_Fc[15]; int32_t _Ftk_m_Fc[15]; int32_t _Ftk_p_2Fc[15]; int32_t _Ftk_m_2Fc[15]; int8_t mmm = 0; 80a60b0: 2300 movs r3, #0 80a60b2: f887 329f strb.w r3, [r7, #671] ; 0x29f Minimum = 32767; 80a60b6: f647 73ff movw r3, #32767 ; 0x7fff 80a60ba: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 Maximum = -32767; 80a60be: f248 0301 movw r3, #32769 ; 0x8001 80a60c2: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(menu == MAIN_SYGNAL) 80a60c6: 4bc5 ldr r3, [pc, #788] ; (80a63dc ) 80a60c8: 781b ldrb r3, [r3, #0] 80a60ca: b2db uxtb r3, r3 80a60cc: 2b20 cmp r3, #32 80a60ce: f041 8011 bne.w 80a70f4 { if(!FIRST) 80a60d2: 4bc3 ldr r3, [pc, #780] ; (80a63e0 ) 80a60d4: 781b ldrb r3, [r3, #0] 80a60d6: b2db uxtb r3, r3 80a60d8: f083 0301 eor.w r3, r3, #1 80a60dc: b2db uxtb r3, r3 80a60de: 2b00 cmp r3, #0 80a60e0: f005 86da beq.w 80abe98 { if(NUM_CHANNELS == 1) 80a60e4: 4bbf ldr r3, [pc, #764] ; (80a63e4 ) 80a60e6: 681b ldr r3, [r3, #0] 80a60e8: 2b01 cmp r3, #1 80a60ea: f040 82d1 bne.w 80a6690 { if(AUTOZOOM) 80a60ee: 4bbe ldr r3, [pc, #760] ; (80a63e8 ) 80a60f0: 781b ldrb r3, [r3, #0] 80a60f2: b2db uxtb r3, r3 80a60f4: 2b00 cmp r3, #0 80a60f6: d060 beq.n 80a61ba { arm_max_f32(&ScrA_f32(0), PlayingState.FrameSize, &max, &idx); 80a60f8: 4bbc ldr r3, [pc, #752] ; (80a63ec ) 80a60fa: 6899 ldr r1, [r3, #8] 80a60fc: f507 731a add.w r3, r7, #616 ; 0x268 80a6100: f507 721d add.w r2, r7, #628 ; 0x274 80a6104: 48ba ldr r0, [pc, #744] ; (80a63f0 ) 80a6106: f023 fff5 bl 80ca0f4 arm_min_f32(&ScrA_f32(0), PlayingState.FrameSize, &min, &idx); 80a610a: 4bb8 ldr r3, [pc, #736] ; (80a63ec ) 80a610c: 6899 ldr r1, [r3, #8] 80a610e: f507 731a add.w r3, r7, #616 ; 0x268 80a6112: f507 721c add.w r2, r7, #624 ; 0x270 80a6116: 48b6 ldr r0, [pc, #728] ; (80a63f0 ) 80a6118: f023 ff50 bl 80c9fbc if(ABS(max) > ABS(min)) 80a611c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a6120: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6124: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6128: dd02 ble.n 80a6130 80a612a: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80a612e: e003 b.n 80a6138 80a6130: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a6134: eeb1 7a67 vneg.f32 s14, s15 80a6138: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a613c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6140: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6144: dd02 ble.n 80a614c 80a6146: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a614a: e003 b.n 80a6154 80a614c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a6150: eef1 7a67 vneg.f32 s15, s15 80a6154: eeb4 7ae7 vcmpe.f32 s14, s15 80a6158: eef1 fa10 vmrs APSR_nzcv, fpscr 80a615c: dd10 ble.n 80a6180 f = ABS(max); 80a615e: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a6162: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6166: eef1 fa10 vmrs APSR_nzcv, fpscr 80a616a: dd02 ble.n 80a6172 80a616c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a6170: e003 b.n 80a617a 80a6172: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a6176: eef1 7a67 vneg.f32 s15, s15 80a617a: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80a617e: e00f b.n 80a61a0 else f = ABS(min); 80a6180: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a6184: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6188: eef1 fa10 vmrs APSR_nzcv, fpscr 80a618c: dd02 ble.n 80a6194 80a618e: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a6192: e003 b.n 80a619c 80a6194: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a6198: eef1 7a67 vneg.f32 s15, s15 80a619c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 60.0f / f; 80a61a0: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80a61a4: eddf 6a93 vldr s13, [pc, #588] ; 80a63f4 80a61a8: eec6 7a87 vdiv.f32 s15, s13, s14 80a61ac: 4b92 ldr r3, [pc, #584] ; (80a63f8 ) 80a61ae: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80a61b2: 4b8d ldr r3, [pc, #564] ; (80a63e8 ) 80a61b4: 2200 movs r2, #0 80a61b6: 701a strb r2, [r3, #0] 80a61b8: e024 b.n 80a6204 } else { if(ZOOM_IN) 80a61ba: 4b90 ldr r3, [pc, #576] ; (80a63fc ) 80a61bc: 781b ldrb r3, [r3, #0] 80a61be: b2db uxtb r3, r3 80a61c0: 2b00 cmp r3, #0 80a61c2: d00d beq.n 80a61e0 { ZOOM_IN = false; 80a61c4: 4b8d ldr r3, [pc, #564] ; (80a63fc ) 80a61c6: 2200 movs r2, #0 80a61c8: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80a61ca: 4b8b ldr r3, [pc, #556] ; (80a63f8 ) 80a61cc: edd3 7a00 vldr s15, [r3] 80a61d0: ed9f 7a8b vldr s14, [pc, #556] ; 80a6400 80a61d4: ee67 7a87 vmul.f32 s15, s15, s14 80a61d8: 4b87 ldr r3, [pc, #540] ; (80a63f8 ) 80a61da: edc3 7a00 vstr s15, [r3] 80a61de: e011 b.n 80a6204 } else if(ZOOM_OUT) 80a61e0: 4b88 ldr r3, [pc, #544] ; (80a6404 ) 80a61e2: 781b ldrb r3, [r3, #0] 80a61e4: b2db uxtb r3, r3 80a61e6: 2b00 cmp r3, #0 80a61e8: d00c beq.n 80a6204 { ZOOM_OUT = false; 80a61ea: 4b86 ldr r3, [pc, #536] ; (80a6404 ) 80a61ec: 2200 movs r2, #0 80a61ee: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80a61f0: 4b81 ldr r3, [pc, #516] ; (80a63f8 ) 80a61f2: edd3 7a00 vldr s15, [r3] 80a61f6: ed9f 7a84 vldr s14, [pc, #528] ; 80a6408 80a61fa: ee67 7a87 vmul.f32 s15, s15, s14 80a61fe: 4b7e ldr r3, [pc, #504] ; (80a63f8 ) 80a6200: edc3 7a00 vstr s15, [r3] } } step = PlayingState.FrameSize >> 8; 80a6204: 4b79 ldr r3, [pc, #484] ; (80a63ec ) 80a6206: 689b ldr r3, [r3, #8] 80a6208: 0a1b lsrs r3, r3, #8 80a620a: f8c7 3298 str.w r3, [r7, #664] ; 0x298 NumOverdrives = 0; 80a620e: 4b7f ldr r3, [pc, #508] ; (80a640c ) 80a6210: 2200 movs r2, #0 80a6212: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a6214: 497e ldr r1, [pc, #504] ; (80a6410 ) 80a6216: 487f ldr r0, [pc, #508] ; (80a6414 ) 80a6218: f7ad fae4 bl 80537e4 for(i = 0; i < 256; i++) 80a621c: 2300 movs r3, #0 80a621e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a6222: e215 b.n 80a6650 { if(PlayingState.FrameSize == 256) 80a6224: 4b71 ldr r3, [pc, #452] ; (80a63ec ) 80a6226: 689b ldr r3, [r3, #8] 80a6228: f5b3 7f80 cmp.w r3, #256 ; 0x100 80a622c: f040 80fe bne.w 80a642c { mF[MAXY] = ScrA_f32(i); 80a6230: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6234: 009a lsls r2, r3, #2 80a6236: 4b6e ldr r3, [pc, #440] ; (80a63f0 ) 80a6238: 4413 add r3, r2 80a623a: 681b ldr r3, [r3, #0] 80a623c: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80a6240: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6244: 2b00 cmp r3, #0 80a6246: d004 beq.n 80a6252 mF[MINY] = lastPointOSC[MAXY]; 80a6248: 4b73 ldr r3, [pc, #460] ; (80a6418 ) 80a624a: 685b ldr r3, [r3, #4] 80a624c: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80a6250: e003 b.n 80a625a else mF[MINY] = mF[MAXY]; 80a6252: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a6256: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80a625a: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a625e: 4a6e ldr r2, [pc, #440] ; (80a6418 ) 80a6260: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a6262: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6266: 4b64 ldr r3, [pc, #400] ; (80a63f8 ) 80a6268: edd3 7a00 vldr s15, [r3] 80a626c: ee67 7a27 vmul.f32 s15, s14, s15 80a6270: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a6274: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6278: 4b5f ldr r3, [pc, #380] ; (80a63f8 ) 80a627a: edd3 7a00 vldr s15, [r3] 80a627e: ee67 7a27 vmul.f32 s15, s14, s15 80a6282: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a6286: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a628a: ed9f 7a64 vldr s14, [pc, #400] ; 80a641c 80a628e: eef4 7ac7 vcmpe.f32 s15, s14 80a6292: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6296: dd02 ble.n 80a629e 80a6298: 4b61 ldr r3, [pc, #388] ; (80a6420 ) 80a629a: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a629e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a62a2: ed9f 7a60 vldr s14, [pc, #384] ; 80a6424 80a62a6: eef4 7ac7 vcmpe.f32 s15, s14 80a62aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a62ae: d502 bpl.n 80a62b6 80a62b0: 4b5d ldr r3, [pc, #372] ; (80a6428 ) 80a62b2: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a62b6: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a62ba: ed9f 7a58 vldr s14, [pc, #352] ; 80a641c 80a62be: eef4 7ac7 vcmpe.f32 s15, s14 80a62c2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a62c6: dd02 ble.n 80a62ce 80a62c8: 4b55 ldr r3, [pc, #340] ; (80a6420 ) 80a62ca: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a62ce: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a62d2: ed9f 7a54 vldr s14, [pc, #336] ; 80a6424 80a62d6: eef4 7ac7 vcmpe.f32 s15, s14 80a62da: eef1 fa10 vmrs APSR_nzcv, fpscr 80a62de: d502 bpl.n 80a62e6 80a62e0: 4b51 ldr r3, [pc, #324] ; (80a6428 ) 80a62e2: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a62e6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a62ea: eefd 7ae7 vcvt.s32.f32 s15, s15 80a62ee: edc7 7a01 vstr s15, [r7, #4] 80a62f2: 88bb ldrh r3, [r7, #4] 80a62f4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a62f8: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a62fc: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6300: edc7 7a01 vstr s15, [r7, #4] 80a6304: 88bb ldrh r3, [r7, #4] 80a6306: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80a630a: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a630e: 2b50 cmp r3, #80 ; 0x50 80a6310: dd08 ble.n 80a6324 { pMin = 80; 80a6312: 2350 movs r3, #80 ; 0x50 80a6314: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6318: 4b3c ldr r3, [pc, #240] ; (80a640c ) 80a631a: 781b ldrb r3, [r3, #0] 80a631c: 3301 adds r3, #1 80a631e: b2da uxtb r2, r3 80a6320: 4b3a ldr r3, [pc, #232] ; (80a640c ) 80a6322: 701a strb r2, [r3, #0] } if(pMin < -80) 80a6324: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6328: f113 0f50 cmn.w r3, #80 ; 0x50 80a632c: da09 bge.n 80a6342 { pMin = -80; 80a632e: f64f 73b0 movw r3, #65456 ; 0xffb0 80a6332: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6336: 4b35 ldr r3, [pc, #212] ; (80a640c ) 80a6338: 781b ldrb r3, [r3, #0] 80a633a: 3301 adds r3, #1 80a633c: b2da uxtb r2, r3 80a633e: 4b33 ldr r3, [pc, #204] ; (80a640c ) 80a6340: 701a strb r2, [r3, #0] } if(pMax > 80) 80a6342: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6346: 2b50 cmp r3, #80 ; 0x50 80a6348: dd08 ble.n 80a635c { pMax = 80; 80a634a: 2350 movs r3, #80 ; 0x50 80a634c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6350: 4b2e ldr r3, [pc, #184] ; (80a640c ) 80a6352: 781b ldrb r3, [r3, #0] 80a6354: 3301 adds r3, #1 80a6356: b2da uxtb r2, r3 80a6358: 4b2c ldr r3, [pc, #176] ; (80a640c ) 80a635a: 701a strb r2, [r3, #0] } if(pMax < -80) 80a635c: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6360: f113 0f50 cmn.w r3, #80 ; 0x50 80a6364: da09 bge.n 80a637a { pMax = -80; 80a6366: f64f 73b0 movw r3, #65456 ; 0xffb0 80a636a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a636e: 4b27 ldr r3, [pc, #156] ; (80a640c ) 80a6370: 781b ldrb r3, [r3, #0] 80a6372: 3301 adds r3, #1 80a6374: b2da uxtb r2, r3 80a6376: 4b25 ldr r3, [pc, #148] ; (80a640c ) 80a6378: 701a strb r2, [r3, #0] } x = 62 + i; 80a637a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a637e: 333e adds r3, #62 ; 0x3e 80a6380: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80a6384: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6388: 2b00 cmp r3, #0 80a638a: d112 bne.n 80a63b2 BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80a638c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6390: b298 uxth r0, r3 80a6392: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6396: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a639a: b299 uxth r1, r3 80a639c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a63a0: b29a uxth r2, r3 80a63a2: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a63a6: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a63aa: b29b uxth r3, r3 80a63ac: f7ad fc54 bl 8053c58 80a63b0: e135 b.n 80a661e else BSP_LCD_DrawLine(x - 1, 141 - pMin, x, 141 - pMax); 80a63b2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a63b6: b29b uxth r3, r3 80a63b8: 3b01 subs r3, #1 80a63ba: b298 uxth r0, r3 80a63bc: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a63c0: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a63c4: b299 uxth r1, r3 80a63c6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a63ca: b29a uxth r2, r3 80a63cc: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a63d0: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a63d4: b29b uxth r3, r3 80a63d6: f7ad fc3f bl 8053c58 80a63da: e120 b.n 80a661e 80a63dc: 20020f78 .word 0x20020f78 80a63e0: 20020db2 .word 0x20020db2 80a63e4: 20020030 .word 0x20020030 80a63e8: 2002098c .word 0x2002098c 80a63ec: 200228d8 .word 0x200228d8 80a63f0: 64080000 .word 0x64080000 80a63f4: 42700000 .word 0x42700000 80a63f8: 20020990 .word 0x20020990 80a63fc: 20020f6a .word 0x20020f6a 80a6400: 40000005 .word 0x40000005 80a6404: 20020f69 .word 0x20020f69 80a6408: 3f000012 .word 0x3f000012 80a640c: 2002164e .word 0x2002164e 80a6410: ff0a0f1f .word 0xff0a0f1f 80a6414: ff26a01f .word 0xff26a01f 80a6418: 20021650 .word 0x20021650 80a641c: 46fffe00 .word 0x46fffe00 80a6420: 46fffe00 .word 0x46fffe00 80a6424: c6fffe00 .word 0xc6fffe00 80a6428: c6fffe00 .word 0xc6fffe00 } else { arm_max_f32(&ScrA_f32(i * step), step, &mF[MAXY], &idx); 80a642c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6430: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a6434: fb02 f303 mul.w r3, r2, r3 80a6438: 009a lsls r2, r3, #2 80a643a: 4bcb ldr r3, [pc, #812] ; (80a6768 ) 80a643c: 4413 add r3, r2 80a643e: 4618 mov r0, r3 80a6440: f507 711a add.w r1, r7, #616 ; 0x268 80a6444: f507 731e add.w r3, r7, #632 ; 0x278 80a6448: 1d1a adds r2, r3, #4 80a644a: 460b mov r3, r1 80a644c: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a6450: f023 fe50 bl 80ca0f4 arm_min_f32(&ScrA_f32(i * step), step, &mF[MINY], &idx); 80a6454: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6458: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a645c: fb02 f303 mul.w r3, r2, r3 80a6460: 009a lsls r2, r3, #2 80a6462: 4bc1 ldr r3, [pc, #772] ; (80a6768 ) 80a6464: 4413 add r3, r2 80a6466: 4618 mov r0, r3 80a6468: f507 731a add.w r3, r7, #616 ; 0x268 80a646c: f507 721e add.w r2, r7, #632 ; 0x278 80a6470: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a6474: f023 fda2 bl 80c9fbc if(i > 0) 80a6478: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a647c: 2b00 cmp r3, #0 80a647e: d01b beq.n 80a64b8 { if(mF[MINY] > lastPointOSC[MAXY]) 80a6480: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6484: 4bb9 ldr r3, [pc, #740] ; (80a676c ) 80a6486: edd3 7a01 vldr s15, [r3, #4] 80a648a: eeb4 7ae7 vcmpe.f32 s14, s15 80a648e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6492: dd03 ble.n 80a649c mF[MINY] = lastPointOSC[MAXY]; 80a6494: 4bb5 ldr r3, [pc, #724] ; (80a676c ) 80a6496: 685b ldr r3, [r3, #4] 80a6498: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80a649c: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a64a0: 4bb2 ldr r3, [pc, #712] ; (80a676c ) 80a64a2: edd3 7a00 vldr s15, [r3] 80a64a6: eeb4 7ae7 vcmpe.f32 s14, s15 80a64aa: eef1 fa10 vmrs APSR_nzcv, fpscr 80a64ae: d503 bpl.n 80a64b8 mF[MAXY] = lastPointOSC[MINY]; 80a64b0: 4bae ldr r3, [pc, #696] ; (80a676c ) 80a64b2: 681b ldr r3, [r3, #0] 80a64b4: f8c7 327c str.w r3, [r7, #636] ; 0x27c } ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80a64b8: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80a64bc: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80a64c0: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a64c4: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80a64c8: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80a64cc: 4aa7 ldr r2, [pc, #668] ; (80a676c ) 80a64ce: 6013 str r3, [r2, #0] 80a64d0: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80a64d4: 4aa5 ldr r2, [pc, #660] ; (80a676c ) 80a64d6: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a64d8: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a64dc: 4ba4 ldr r3, [pc, #656] ; (80a6770 ) 80a64de: edd3 7a00 vldr s15, [r3] 80a64e2: ee67 7a27 vmul.f32 s15, s14, s15 80a64e6: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a64ea: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a64ee: 4ba0 ldr r3, [pc, #640] ; (80a6770 ) 80a64f0: edd3 7a00 vldr s15, [r3] 80a64f4: ee67 7a27 vmul.f32 s15, s14, s15 80a64f8: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a64fc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6500: ed9f 7a9c vldr s14, [pc, #624] ; 80a6774 80a6504: eef4 7ac7 vcmpe.f32 s15, s14 80a6508: eef1 fa10 vmrs APSR_nzcv, fpscr 80a650c: dd02 ble.n 80a6514 80a650e: 4b9a ldr r3, [pc, #616] ; (80a6778 ) 80a6510: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a6514: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6518: ed9f 7a98 vldr s14, [pc, #608] ; 80a677c 80a651c: eef4 7ac7 vcmpe.f32 s15, s14 80a6520: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6524: d502 bpl.n 80a652c 80a6526: 4b96 ldr r3, [pc, #600] ; (80a6780 ) 80a6528: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a652c: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6530: ed9f 7a90 vldr s14, [pc, #576] ; 80a6774 80a6534: eef4 7ac7 vcmpe.f32 s15, s14 80a6538: eef1 fa10 vmrs APSR_nzcv, fpscr 80a653c: dd02 ble.n 80a6544 80a653e: 4b8e ldr r3, [pc, #568] ; (80a6778 ) 80a6540: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a6544: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6548: ed9f 7a8c vldr s14, [pc, #560] ; 80a677c 80a654c: eef4 7ac7 vcmpe.f32 s15, s14 80a6550: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6554: d502 bpl.n 80a655c 80a6556: 4b8a ldr r3, [pc, #552] ; (80a6780 ) 80a6558: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a655c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6560: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6564: edc7 7a01 vstr s15, [r7, #4] 80a6568: 88bb ldrh r3, [r7, #4] 80a656a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a656e: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6572: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6576: edc7 7a01 vstr s15, [r7, #4] 80a657a: 88bb ldrh r3, [r7, #4] 80a657c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80a6580: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6584: 2b50 cmp r3, #80 ; 0x50 80a6586: dd08 ble.n 80a659a { pMin = 80; 80a6588: 2350 movs r3, #80 ; 0x50 80a658a: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a658e: 4b7d ldr r3, [pc, #500] ; (80a6784 ) 80a6590: 781b ldrb r3, [r3, #0] 80a6592: 3301 adds r3, #1 80a6594: b2da uxtb r2, r3 80a6596: 4b7b ldr r3, [pc, #492] ; (80a6784 ) 80a6598: 701a strb r2, [r3, #0] } if(pMin < -80) 80a659a: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a659e: f113 0f50 cmn.w r3, #80 ; 0x50 80a65a2: da09 bge.n 80a65b8 { pMin = -80; 80a65a4: f64f 73b0 movw r3, #65456 ; 0xffb0 80a65a8: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a65ac: 4b75 ldr r3, [pc, #468] ; (80a6784 ) 80a65ae: 781b ldrb r3, [r3, #0] 80a65b0: 3301 adds r3, #1 80a65b2: b2da uxtb r2, r3 80a65b4: 4b73 ldr r3, [pc, #460] ; (80a6784 ) 80a65b6: 701a strb r2, [r3, #0] } if(pMax > 80) 80a65b8: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a65bc: 2b50 cmp r3, #80 ; 0x50 80a65be: dd08 ble.n 80a65d2 { pMax = 80; 80a65c0: 2350 movs r3, #80 ; 0x50 80a65c2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a65c6: 4b6f ldr r3, [pc, #444] ; (80a6784 ) 80a65c8: 781b ldrb r3, [r3, #0] 80a65ca: 3301 adds r3, #1 80a65cc: b2da uxtb r2, r3 80a65ce: 4b6d ldr r3, [pc, #436] ; (80a6784 ) 80a65d0: 701a strb r2, [r3, #0] } if(pMax < -80) 80a65d2: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a65d6: f113 0f50 cmn.w r3, #80 ; 0x50 80a65da: da09 bge.n 80a65f0 { pMax = -80; 80a65dc: f64f 73b0 movw r3, #65456 ; 0xffb0 80a65e0: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a65e4: 4b67 ldr r3, [pc, #412] ; (80a6784 ) 80a65e6: 781b ldrb r3, [r3, #0] 80a65e8: 3301 adds r3, #1 80a65ea: b2da uxtb r2, r3 80a65ec: 4b65 ldr r3, [pc, #404] ; (80a6784 ) 80a65ee: 701a strb r2, [r3, #0] } x = 62 + i; 80a65f0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a65f4: 333e adds r3, #62 ; 0x3e 80a65f6: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80a65fa: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a65fe: b298 uxth r0, r3 80a6600: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6604: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a6608: b299 uxth r1, r3 80a660a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a660e: b29a uxth r2, r3 80a6610: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a6614: f1c3 038d rsb r3, r3, #141 ; 0x8d 80a6618: b29b uxth r3, r3 80a661a: f7ad fb1d bl 8053c58 } if(pMax > Maximum) Maximum = pMax; 80a661e: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a6622: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a6626: 429a cmp r2, r3 80a6628: dd03 ble.n 80a6632 80a662a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a662e: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80a6632: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a6636: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a663a: 429a cmp r2, r3 80a663c: da03 bge.n 80a6646 80a663e: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6642: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80a6646: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a664a: 3301 adds r3, #1 80a664c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a6650: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6654: 2bff cmp r3, #255 ; 0xff 80a6656: f67f ade5 bls.w 80a6224 } Maximum = ABS(Maximum); 80a665a: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a665e: 2b00 cmp r3, #0 80a6660: bfb8 it lt 80a6662: 425b neglt r3, r3 80a6664: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80a6668: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a666c: 2b00 cmp r3, #0 80a666e: bfb8 it lt 80a6670: 425b neglt r3, r3 80a6672: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80a6676: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80a667a: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a667e: 429a cmp r2, r3 80a6680: f345 840a ble.w 80abe98 Maximum = Minimum; 80a6684: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80a6688: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } } } } } } 80a668c: f005 bc04 b.w 80abe98 if(NUM_CHANNELS == 2) 80a6690: 4b3d ldr r3, [pc, #244] ; (80a6788 ) 80a6692: 681b ldr r3, [r3, #0] 80a6694: 2b02 cmp r3, #2 80a6696: f045 83ff bne.w 80abe98 if(AUTOZOOM) 80a669a: 4b3c ldr r3, [pc, #240] ; (80a678c ) 80a669c: 781b ldrb r3, [r3, #0] 80a669e: b2db uxtb r3, r3 80a66a0: 2b00 cmp r3, #0 80a66a2: d077 beq.n 80a6794 arm_max_f32(&ScrA_f32(0), PlayingState.FrameSize, &max, &idx); 80a66a4: 4b3a ldr r3, [pc, #232] ; (80a6790 ) 80a66a6: 6899 ldr r1, [r3, #8] 80a66a8: f507 731a add.w r3, r7, #616 ; 0x268 80a66ac: f507 721d add.w r2, r7, #628 ; 0x274 80a66b0: 482d ldr r0, [pc, #180] ; (80a6768 ) 80a66b2: f023 fd1f bl 80ca0f4 arm_min_f32(&ScrA_f32(0), PlayingState.FrameSize, &min, &idx); 80a66b6: 4b36 ldr r3, [pc, #216] ; (80a6790 ) 80a66b8: 6899 ldr r1, [r3, #8] 80a66ba: f507 731a add.w r3, r7, #616 ; 0x268 80a66be: f507 721c add.w r2, r7, #624 ; 0x270 80a66c2: 4829 ldr r0, [pc, #164] ; (80a6768 ) 80a66c4: f023 fc7a bl 80c9fbc if(ABS(max) > ABS(min)) 80a66c8: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a66cc: eef5 7ac0 vcmpe.f32 s15, #0.0 80a66d0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a66d4: dd02 ble.n 80a66dc 80a66d6: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80a66da: e003 b.n 80a66e4 80a66dc: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a66e0: eeb1 7a67 vneg.f32 s14, s15 80a66e4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a66e8: eef5 7ac0 vcmpe.f32 s15, #0.0 80a66ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80a66f0: dd02 ble.n 80a66f8 80a66f2: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a66f6: e003 b.n 80a6700 80a66f8: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a66fc: eef1 7a67 vneg.f32 s15, s15 80a6700: eeb4 7ae7 vcmpe.f32 s14, s15 80a6704: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6708: dd10 ble.n 80a672c f = ABS(max); 80a670a: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a670e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6712: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6716: dd02 ble.n 80a671e 80a6718: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a671c: e003 b.n 80a6726 80a671e: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a6722: eef1 7a67 vneg.f32 s15, s15 80a6726: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80a672a: e00f b.n 80a674c else f = ABS(min); 80a672c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a6730: eef5 7ac0 vcmpe.f32 s15, #0.0 80a6734: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6738: dd02 ble.n 80a6740 80a673a: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a673e: e003 b.n 80a6748 80a6740: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a6744: eef1 7a67 vneg.f32 s15, s15 80a6748: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 30.0f / f; 80a674c: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80a6750: eef3 6a0e vmov.f32 s13, #62 ; 0x41f00000 30.0 80a6754: eec6 7a87 vdiv.f32 s15, s13, s14 80a6758: 4b05 ldr r3, [pc, #20] ; (80a6770 ) 80a675a: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80a675e: 4b0b ldr r3, [pc, #44] ; (80a678c ) 80a6760: 2200 movs r2, #0 80a6762: 701a strb r2, [r3, #0] 80a6764: e03b b.n 80a67de 80a6766: bf00 nop 80a6768: 64080000 .word 0x64080000 80a676c: 20021650 .word 0x20021650 80a6770: 20020990 .word 0x20020990 80a6774: 46fffe00 .word 0x46fffe00 80a6778: 46fffe00 .word 0x46fffe00 80a677c: c6fffe00 .word 0xc6fffe00 80a6780: c6fffe00 .word 0xc6fffe00 80a6784: 2002164e .word 0x2002164e 80a6788: 20020030 .word 0x20020030 80a678c: 2002098c .word 0x2002098c 80a6790: 200228d8 .word 0x200228d8 if(ZOOM_IN) 80a6794: 4b88 ldr r3, [pc, #544] ; (80a69b8 ) 80a6796: 781b ldrb r3, [r3, #0] 80a6798: b2db uxtb r3, r3 80a679a: 2b00 cmp r3, #0 80a679c: d00d beq.n 80a67ba ZOOM_IN = false; 80a679e: 4b86 ldr r3, [pc, #536] ; (80a69b8 ) 80a67a0: 2200 movs r2, #0 80a67a2: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80a67a4: 4b85 ldr r3, [pc, #532] ; (80a69bc ) 80a67a6: edd3 7a00 vldr s15, [r3] 80a67aa: ed9f 7a85 vldr s14, [pc, #532] ; 80a69c0 80a67ae: ee67 7a87 vmul.f32 s15, s15, s14 80a67b2: 4b82 ldr r3, [pc, #520] ; (80a69bc ) 80a67b4: edc3 7a00 vstr s15, [r3] 80a67b8: e011 b.n 80a67de if(ZOOM_OUT) 80a67ba: 4b82 ldr r3, [pc, #520] ; (80a69c4 ) 80a67bc: 781b ldrb r3, [r3, #0] 80a67be: b2db uxtb r3, r3 80a67c0: 2b00 cmp r3, #0 80a67c2: d00c beq.n 80a67de ZOOM_OUT = false; 80a67c4: 4b7f ldr r3, [pc, #508] ; (80a69c4 ) 80a67c6: 2200 movs r2, #0 80a67c8: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80a67ca: 4b7c ldr r3, [pc, #496] ; (80a69bc ) 80a67cc: edd3 7a00 vldr s15, [r3] 80a67d0: ed9f 7a7d vldr s14, [pc, #500] ; 80a69c8 80a67d4: ee67 7a87 vmul.f32 s15, s15, s14 80a67d8: 4b78 ldr r3, [pc, #480] ; (80a69bc ) 80a67da: edc3 7a00 vstr s15, [r3] step = PlayingState.FrameSize >> 8; 80a67de: 4b7b ldr r3, [pc, #492] ; (80a69cc ) 80a67e0: 689b ldr r3, [r3, #8] 80a67e2: 0a1b lsrs r3, r3, #8 80a67e4: f8c7 3298 str.w r3, [r7, #664] ; 0x298 NumOverdrives = 0; 80a67e8: 4b79 ldr r3, [pc, #484] ; (80a69d0 ) 80a67ea: 2200 movs r2, #0 80a67ec: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a67ee: 4979 ldr r1, [pc, #484] ; (80a69d4 ) 80a67f0: 4879 ldr r0, [pc, #484] ; (80a69d8 ) 80a67f2: f7ac fff7 bl 80537e4 for(i = 0; i < 256; i++) 80a67f6: 2300 movs r3, #0 80a67f8: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a67fc: e20c b.n 80a6c18 if(PlayingState.FrameSize == 256) 80a67fe: 4b73 ldr r3, [pc, #460] ; (80a69cc ) 80a6800: 689b ldr r3, [r3, #8] 80a6802: f5b3 7f80 cmp.w r3, #256 ; 0x100 80a6806: f040 80f5 bne.w 80a69f4 mF[MAXY] = ScrA_f32(i); 80a680a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a680e: 009a lsls r2, r3, #2 80a6810: 4b72 ldr r3, [pc, #456] ; (80a69dc ) 80a6812: 4413 add r3, r2 80a6814: 681b ldr r3, [r3, #0] 80a6816: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80a681a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a681e: 2b00 cmp r3, #0 80a6820: d004 beq.n 80a682c mF[MINY] = lastPointOSC[MAXY]; 80a6822: 4b6f ldr r3, [pc, #444] ; (80a69e0 ) 80a6824: 685b ldr r3, [r3, #4] 80a6826: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80a682a: e003 b.n 80a6834 else mF[MINY] = mF[MAXY]; 80a682c: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a6830: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80a6834: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a6838: 4a69 ldr r2, [pc, #420] ; (80a69e0 ) 80a683a: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a683c: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6840: 4b5e ldr r3, [pc, #376] ; (80a69bc ) 80a6842: edd3 7a00 vldr s15, [r3] 80a6846: ee67 7a27 vmul.f32 s15, s14, s15 80a684a: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a684e: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6852: 4b5a ldr r3, [pc, #360] ; (80a69bc ) 80a6854: edd3 7a00 vldr s15, [r3] 80a6858: ee67 7a27 vmul.f32 s15, s14, s15 80a685c: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a6860: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6864: ed9f 7a5f vldr s14, [pc, #380] ; 80a69e4 80a6868: eef4 7ac7 vcmpe.f32 s15, s14 80a686c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6870: dd02 ble.n 80a6878 80a6872: 4b5d ldr r3, [pc, #372] ; (80a69e8 ) 80a6874: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a6878: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a687c: ed9f 7a5b vldr s14, [pc, #364] ; 80a69ec 80a6880: eef4 7ac7 vcmpe.f32 s15, s14 80a6884: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6888: d502 bpl.n 80a6890 80a688a: 4b59 ldr r3, [pc, #356] ; (80a69f0 ) 80a688c: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a6890: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6894: ed9f 7a53 vldr s14, [pc, #332] ; 80a69e4 80a6898: eef4 7ac7 vcmpe.f32 s15, s14 80a689c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a68a0: dd02 ble.n 80a68a8 80a68a2: 4b51 ldr r3, [pc, #324] ; (80a69e8 ) 80a68a4: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a68a8: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a68ac: ed9f 7a4f vldr s14, [pc, #316] ; 80a69ec 80a68b0: eef4 7ac7 vcmpe.f32 s15, s14 80a68b4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a68b8: d502 bpl.n 80a68c0 80a68ba: 4b4d ldr r3, [pc, #308] ; (80a69f0 ) 80a68bc: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a68c0: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a68c4: eefd 7ae7 vcvt.s32.f32 s15, s15 80a68c8: edc7 7a01 vstr s15, [r7, #4] 80a68cc: 88bb ldrh r3, [r7, #4] 80a68ce: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a68d2: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a68d6: eefd 7ae7 vcvt.s32.f32 s15, s15 80a68da: edc7 7a01 vstr s15, [r7, #4] 80a68de: 88bb ldrh r3, [r7, #4] 80a68e0: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80a68e4: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a68e8: 2b28 cmp r3, #40 ; 0x28 80a68ea: dd08 ble.n 80a68fe pMin = 40; 80a68ec: 2328 movs r3, #40 ; 0x28 80a68ee: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a68f2: 4b37 ldr r3, [pc, #220] ; (80a69d0 ) 80a68f4: 781b ldrb r3, [r3, #0] 80a68f6: 3301 adds r3, #1 80a68f8: b2da uxtb r2, r3 80a68fa: 4b35 ldr r3, [pc, #212] ; (80a69d0 ) 80a68fc: 701a strb r2, [r3, #0] if(pMin < -40) 80a68fe: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6902: f113 0f28 cmn.w r3, #40 ; 0x28 80a6906: da09 bge.n 80a691c pMin = -40; 80a6908: f64f 73d8 movw r3, #65496 ; 0xffd8 80a690c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6910: 4b2f ldr r3, [pc, #188] ; (80a69d0 ) 80a6912: 781b ldrb r3, [r3, #0] 80a6914: 3301 adds r3, #1 80a6916: b2da uxtb r2, r3 80a6918: 4b2d ldr r3, [pc, #180] ; (80a69d0 ) 80a691a: 701a strb r2, [r3, #0] if(pMax > 40) 80a691c: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6920: 2b28 cmp r3, #40 ; 0x28 80a6922: dd08 ble.n 80a6936 pMax = 40; 80a6924: 2328 movs r3, #40 ; 0x28 80a6926: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a692a: 4b29 ldr r3, [pc, #164] ; (80a69d0 ) 80a692c: 781b ldrb r3, [r3, #0] 80a692e: 3301 adds r3, #1 80a6930: b2da uxtb r2, r3 80a6932: 4b27 ldr r3, [pc, #156] ; (80a69d0 ) 80a6934: 701a strb r2, [r3, #0] if(pMax < -40) 80a6936: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a693a: f113 0f28 cmn.w r3, #40 ; 0x28 80a693e: da09 bge.n 80a6954 pMax = -40; 80a6940: f64f 73d8 movw r3, #65496 ; 0xffd8 80a6944: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6948: 4b21 ldr r3, [pc, #132] ; (80a69d0 ) 80a694a: 781b ldrb r3, [r3, #0] 80a694c: 3301 adds r3, #1 80a694e: b2da uxtb r2, r3 80a6950: 4b1f ldr r3, [pc, #124] ; (80a69d0 ) 80a6952: 701a strb r2, [r3, #0] x = 62 + i; 80a6954: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6958: 333e adds r3, #62 ; 0x3e 80a695a: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80a695e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6962: 2b00 cmp r3, #0 80a6964: d112 bne.n 80a698c BSP_LCD_DrawLine(x, 181 - pMin, x, 181 - pMax); 80a6966: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a696a: b298 uxth r0, r3 80a696c: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6970: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80a6974: b299 uxth r1, r3 80a6976: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a697a: b29a uxth r2, r3 80a697c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a6980: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80a6984: b29b uxth r3, r3 80a6986: f7ad f967 bl 8053c58 80a698a: e12c b.n 80a6be6 else BSP_LCD_DrawLine(x - 1, 181 - pMin, x, 181 - pMax); 80a698c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6990: b29b uxth r3, r3 80a6992: 3b01 subs r3, #1 80a6994: b298 uxth r0, r3 80a6996: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a699a: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80a699e: b299 uxth r1, r3 80a69a0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a69a4: b29a uxth r2, r3 80a69a6: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a69aa: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80a69ae: b29b uxth r3, r3 80a69b0: f7ad f952 bl 8053c58 80a69b4: e117 b.n 80a6be6 80a69b6: bf00 nop 80a69b8: 20020f6a .word 0x20020f6a 80a69bc: 20020990 .word 0x20020990 80a69c0: 40000005 .word 0x40000005 80a69c4: 20020f69 .word 0x20020f69 80a69c8: 3f000012 .word 0x3f000012 80a69cc: 200228d8 .word 0x200228d8 80a69d0: 2002164e .word 0x2002164e 80a69d4: ff0a0f1f .word 0xff0a0f1f 80a69d8: ff26a01f .word 0xff26a01f 80a69dc: 64080000 .word 0x64080000 80a69e0: 20021650 .word 0x20021650 80a69e4: 46fffe00 .word 0x46fffe00 80a69e8: 46fffe00 .word 0x46fffe00 80a69ec: c6fffe00 .word 0xc6fffe00 80a69f0: c6fffe00 .word 0xc6fffe00 arm_max_f32(&ScrA_f32(i * step), step, &mF[MAXY], &idx); 80a69f4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a69f8: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a69fc: fb02 f303 mul.w r3, r2, r3 80a6a00: 009a lsls r2, r3, #2 80a6a02: 4ba5 ldr r3, [pc, #660] ; (80a6c98 ) 80a6a04: 4413 add r3, r2 80a6a06: 4618 mov r0, r3 80a6a08: f507 711a add.w r1, r7, #616 ; 0x268 80a6a0c: f507 731e add.w r3, r7, #632 ; 0x278 80a6a10: 1d1a adds r2, r3, #4 80a6a12: 460b mov r3, r1 80a6a14: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a6a18: f023 fb6c bl 80ca0f4 arm_min_f32(&ScrA_f32(i * step), step, &mF[MINY], &idx); 80a6a1c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6a20: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a6a24: fb02 f303 mul.w r3, r2, r3 80a6a28: 009a lsls r2, r3, #2 80a6a2a: 4b9b ldr r3, [pc, #620] ; (80a6c98 ) 80a6a2c: 4413 add r3, r2 80a6a2e: 4618 mov r0, r3 80a6a30: f507 731a add.w r3, r7, #616 ; 0x268 80a6a34: f507 721e add.w r2, r7, #632 ; 0x278 80a6a38: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a6a3c: f023 fabe bl 80c9fbc if(i > 0) 80a6a40: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6a44: 2b00 cmp r3, #0 80a6a46: d01b beq.n 80a6a80 if(mF[MINY] > lastPointOSC[MAXY]) 80a6a48: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6a4c: 4b93 ldr r3, [pc, #588] ; (80a6c9c ) 80a6a4e: edd3 7a01 vldr s15, [r3, #4] 80a6a52: eeb4 7ae7 vcmpe.f32 s14, s15 80a6a56: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6a5a: dd03 ble.n 80a6a64 mF[MINY] = lastPointOSC[MAXY]; 80a6a5c: 4b8f ldr r3, [pc, #572] ; (80a6c9c ) 80a6a5e: 685b ldr r3, [r3, #4] 80a6a60: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80a6a64: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6a68: 4b8c ldr r3, [pc, #560] ; (80a6c9c ) 80a6a6a: edd3 7a00 vldr s15, [r3] 80a6a6e: eeb4 7ae7 vcmpe.f32 s14, s15 80a6a72: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6a76: d503 bpl.n 80a6a80 mF[MAXY] = lastPointOSC[MINY]; 80a6a78: 4b88 ldr r3, [pc, #544] ; (80a6c9c ) 80a6a7a: 681b ldr r3, [r3, #0] 80a6a7c: f8c7 327c str.w r3, [r7, #636] ; 0x27c ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80a6a80: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80a6a84: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80a6a88: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a6a8c: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80a6a90: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80a6a94: 4a81 ldr r2, [pc, #516] ; (80a6c9c ) 80a6a96: 6013 str r3, [r2, #0] 80a6a98: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80a6a9c: 4a7f ldr r2, [pc, #508] ; (80a6c9c ) 80a6a9e: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a6aa0: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6aa4: 4b7e ldr r3, [pc, #504] ; (80a6ca0 ) 80a6aa6: edd3 7a00 vldr s15, [r3] 80a6aaa: ee67 7a27 vmul.f32 s15, s14, s15 80a6aae: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a6ab2: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6ab6: 4b7a ldr r3, [pc, #488] ; (80a6ca0 ) 80a6ab8: edd3 7a00 vldr s15, [r3] 80a6abc: ee67 7a27 vmul.f32 s15, s14, s15 80a6ac0: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a6ac4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6ac8: ed9f 7a76 vldr s14, [pc, #472] ; 80a6ca4 80a6acc: eef4 7ac7 vcmpe.f32 s15, s14 80a6ad0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6ad4: dd02 ble.n 80a6adc 80a6ad6: 4b74 ldr r3, [pc, #464] ; (80a6ca8 ) 80a6ad8: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a6adc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6ae0: ed9f 7a72 vldr s14, [pc, #456] ; 80a6cac 80a6ae4: eef4 7ac7 vcmpe.f32 s15, s14 80a6ae8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6aec: d502 bpl.n 80a6af4 80a6aee: 4b70 ldr r3, [pc, #448] ; (80a6cb0 ) 80a6af0: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a6af4: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6af8: ed9f 7a6a vldr s14, [pc, #424] ; 80a6ca4 80a6afc: eef4 7ac7 vcmpe.f32 s15, s14 80a6b00: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6b04: dd02 ble.n 80a6b0c 80a6b06: 4b68 ldr r3, [pc, #416] ; (80a6ca8 ) 80a6b08: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a6b0c: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6b10: ed9f 7a66 vldr s14, [pc, #408] ; 80a6cac 80a6b14: eef4 7ac7 vcmpe.f32 s15, s14 80a6b18: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6b1c: d502 bpl.n 80a6b24 80a6b1e: 4b64 ldr r3, [pc, #400] ; (80a6cb0 ) 80a6b20: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a6b24: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6b28: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6b2c: edc7 7a01 vstr s15, [r7, #4] 80a6b30: 88bb ldrh r3, [r7, #4] 80a6b32: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a6b36: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6b3a: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6b3e: edc7 7a01 vstr s15, [r7, #4] 80a6b42: 88bb ldrh r3, [r7, #4] 80a6b44: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80a6b48: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6b4c: 2b28 cmp r3, #40 ; 0x28 80a6b4e: dd08 ble.n 80a6b62 pMin = 40; 80a6b50: 2328 movs r3, #40 ; 0x28 80a6b52: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6b56: 4b57 ldr r3, [pc, #348] ; (80a6cb4 ) 80a6b58: 781b ldrb r3, [r3, #0] 80a6b5a: 3301 adds r3, #1 80a6b5c: b2da uxtb r2, r3 80a6b5e: 4b55 ldr r3, [pc, #340] ; (80a6cb4 ) 80a6b60: 701a strb r2, [r3, #0] if(pMin < -40) 80a6b62: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6b66: f113 0f28 cmn.w r3, #40 ; 0x28 80a6b6a: da09 bge.n 80a6b80 pMin = -40; 80a6b6c: f64f 73d8 movw r3, #65496 ; 0xffd8 80a6b70: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6b74: 4b4f ldr r3, [pc, #316] ; (80a6cb4 ) 80a6b76: 781b ldrb r3, [r3, #0] 80a6b78: 3301 adds r3, #1 80a6b7a: b2da uxtb r2, r3 80a6b7c: 4b4d ldr r3, [pc, #308] ; (80a6cb4 ) 80a6b7e: 701a strb r2, [r3, #0] if(pMax > 40) 80a6b80: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6b84: 2b28 cmp r3, #40 ; 0x28 80a6b86: dd08 ble.n 80a6b9a pMax = 40; 80a6b88: 2328 movs r3, #40 ; 0x28 80a6b8a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6b8e: 4b49 ldr r3, [pc, #292] ; (80a6cb4 ) 80a6b90: 781b ldrb r3, [r3, #0] 80a6b92: 3301 adds r3, #1 80a6b94: b2da uxtb r2, r3 80a6b96: 4b47 ldr r3, [pc, #284] ; (80a6cb4 ) 80a6b98: 701a strb r2, [r3, #0] if(pMax < -40) 80a6b9a: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6b9e: f113 0f28 cmn.w r3, #40 ; 0x28 80a6ba2: da09 bge.n 80a6bb8 pMax = -40; 80a6ba4: f64f 73d8 movw r3, #65496 ; 0xffd8 80a6ba8: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6bac: 4b41 ldr r3, [pc, #260] ; (80a6cb4 ) 80a6bae: 781b ldrb r3, [r3, #0] 80a6bb0: 3301 adds r3, #1 80a6bb2: b2da uxtb r2, r3 80a6bb4: 4b3f ldr r3, [pc, #252] ; (80a6cb4 ) 80a6bb6: 701a strb r2, [r3, #0] x = 62 + i; 80a6bb8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6bbc: 333e adds r3, #62 ; 0x3e 80a6bbe: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 181 - pMin, x, 181 - pMax); 80a6bc2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6bc6: b298 uxth r0, r3 80a6bc8: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6bcc: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80a6bd0: b299 uxth r1, r3 80a6bd2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6bd6: b29a uxth r2, r3 80a6bd8: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a6bdc: f1c3 03b5 rsb r3, r3, #181 ; 0xb5 80a6be0: b29b uxth r3, r3 80a6be2: f7ad f839 bl 8053c58 if(pMax > Maximum) Maximum = pMax; 80a6be6: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a6bea: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a6bee: 429a cmp r2, r3 80a6bf0: dd03 ble.n 80a6bfa 80a6bf2: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a6bf6: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80a6bfa: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a6bfe: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a6c02: 429a cmp r2, r3 80a6c04: da03 bge.n 80a6c0e 80a6c06: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6c0a: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80a6c0e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6c12: 3301 adds r3, #1 80a6c14: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a6c18: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6c1c: 2bff cmp r3, #255 ; 0xff 80a6c1e: f67f adee bls.w 80a67fe Maximum = ABS(Maximum); 80a6c22: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a6c26: 2b00 cmp r3, #0 80a6c28: bfb8 it lt 80a6c2a: 425b neglt r3, r3 80a6c2c: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80a6c30: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a6c34: 2b00 cmp r3, #0 80a6c36: bfb8 it lt 80a6c38: 425b neglt r3, r3 80a6c3a: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80a6c3e: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80a6c42: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a6c46: 429a cmp r2, r3 80a6c48: dd03 ble.n 80a6c52 Maximum = Minimum; 80a6c4a: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80a6c4e: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 NumOverdrives = 0; 80a6c52: 4b18 ldr r3, [pc, #96] ; (80a6cb4 ) 80a6c54: 2200 movs r2, #0 80a6c56: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80a6c58: 4917 ldr r1, [pc, #92] ; (80a6cb8 ) 80a6c5a: 4818 ldr r0, [pc, #96] ; (80a6cbc ) 80a6c5c: f7ac fdc2 bl 80537e4 for(i = 0; i < 256; i++) 80a6c60: 2300 movs r3, #0 80a6c62: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a6c66: e215 b.n 80a7094 if(PlayingState.FrameSize == 256) 80a6c68: 4b15 ldr r3, [pc, #84] ; (80a6cc0 ) 80a6c6a: 689b ldr r3, [r3, #8] 80a6c6c: f5b3 7f80 cmp.w r3, #256 ; 0x100 80a6c70: f040 80fe bne.w 80a6e70 mF[MAXY] = ScrB_f32(i); 80a6c74: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6c78: 009a lsls r2, r3, #2 80a6c7a: 4b12 ldr r3, [pc, #72] ; (80a6cc4 ) 80a6c7c: 4413 add r3, r2 80a6c7e: 681b ldr r3, [r3, #0] 80a6c80: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80a6c84: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6c88: 2b00 cmp r3, #0 80a6c8a: d01d beq.n 80a6cc8 mF[MINY] = lastPointOSC[MAXY]; 80a6c8c: 4b03 ldr r3, [pc, #12] ; (80a6c9c ) 80a6c8e: 685b ldr r3, [r3, #4] 80a6c90: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80a6c94: e01c b.n 80a6cd0 80a6c96: bf00 nop 80a6c98: 64080000 .word 0x64080000 80a6c9c: 20021650 .word 0x20021650 80a6ca0: 20020990 .word 0x20020990 80a6ca4: 46fffe00 .word 0x46fffe00 80a6ca8: 46fffe00 .word 0x46fffe00 80a6cac: c6fffe00 .word 0xc6fffe00 80a6cb0: c6fffe00 .word 0xc6fffe00 80a6cb4: 2002164e .word 0x2002164e 80a6cb8: ff0a0f1f .word 0xff0a0f1f 80a6cbc: ffd3d3d3 .word 0xffd3d3d3 80a6cc0: 200228d8 .word 0x200228d8 80a6cc4: 640b0000 .word 0x640b0000 else mF[MINY] = mF[MAXY]; 80a6cc8: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a6ccc: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80a6cd0: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a6cd4: 4a5f ldr r2, [pc, #380] ; (80a6e54 ) 80a6cd6: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a6cd8: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6cdc: 4b5e ldr r3, [pc, #376] ; (80a6e58 ) 80a6cde: edd3 7a00 vldr s15, [r3] 80a6ce2: ee67 7a27 vmul.f32 s15, s14, s15 80a6ce6: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a6cea: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6cee: 4b5a ldr r3, [pc, #360] ; (80a6e58 ) 80a6cf0: edd3 7a00 vldr s15, [r3] 80a6cf4: ee67 7a27 vmul.f32 s15, s14, s15 80a6cf8: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a6cfc: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6d00: ed9f 7a56 vldr s14, [pc, #344] ; 80a6e5c 80a6d04: eef4 7ac7 vcmpe.f32 s15, s14 80a6d08: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6d0c: dd02 ble.n 80a6d14 80a6d0e: 4b54 ldr r3, [pc, #336] ; (80a6e60 ) 80a6d10: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a6d14: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6d18: ed9f 7a52 vldr s14, [pc, #328] ; 80a6e64 80a6d1c: eef4 7ac7 vcmpe.f32 s15, s14 80a6d20: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6d24: d502 bpl.n 80a6d2c 80a6d26: 4b50 ldr r3, [pc, #320] ; (80a6e68 ) 80a6d28: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a6d2c: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6d30: ed9f 7a4a vldr s14, [pc, #296] ; 80a6e5c 80a6d34: eef4 7ac7 vcmpe.f32 s15, s14 80a6d38: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6d3c: dd02 ble.n 80a6d44 80a6d3e: 4b48 ldr r3, [pc, #288] ; (80a6e60 ) 80a6d40: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a6d44: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6d48: ed9f 7a46 vldr s14, [pc, #280] ; 80a6e64 80a6d4c: eef4 7ac7 vcmpe.f32 s15, s14 80a6d50: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6d54: d502 bpl.n 80a6d5c 80a6d56: 4b44 ldr r3, [pc, #272] ; (80a6e68 ) 80a6d58: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a6d5c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6d60: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6d64: edc7 7a01 vstr s15, [r7, #4] 80a6d68: 88bb ldrh r3, [r7, #4] 80a6d6a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a6d6e: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6d72: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6d76: edc7 7a01 vstr s15, [r7, #4] 80a6d7a: 88bb ldrh r3, [r7, #4] 80a6d7c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80a6d80: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6d84: 2b28 cmp r3, #40 ; 0x28 80a6d86: dd08 ble.n 80a6d9a pMin = 40; 80a6d88: 2328 movs r3, #40 ; 0x28 80a6d8a: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6d8e: 4b37 ldr r3, [pc, #220] ; (80a6e6c ) 80a6d90: 781b ldrb r3, [r3, #0] 80a6d92: 3301 adds r3, #1 80a6d94: b2da uxtb r2, r3 80a6d96: 4b35 ldr r3, [pc, #212] ; (80a6e6c ) 80a6d98: 701a strb r2, [r3, #0] if(pMin < -40) 80a6d9a: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6d9e: f113 0f28 cmn.w r3, #40 ; 0x28 80a6da2: da09 bge.n 80a6db8 pMin = -40; 80a6da4: f64f 73d8 movw r3, #65496 ; 0xffd8 80a6da8: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6dac: 4b2f ldr r3, [pc, #188] ; (80a6e6c ) 80a6dae: 781b ldrb r3, [r3, #0] 80a6db0: 3301 adds r3, #1 80a6db2: b2da uxtb r2, r3 80a6db4: 4b2d ldr r3, [pc, #180] ; (80a6e6c ) 80a6db6: 701a strb r2, [r3, #0] if(pMax > 40) 80a6db8: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6dbc: 2b28 cmp r3, #40 ; 0x28 80a6dbe: dd08 ble.n 80a6dd2 pMax = 40; 80a6dc0: 2328 movs r3, #40 ; 0x28 80a6dc2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6dc6: 4b29 ldr r3, [pc, #164] ; (80a6e6c ) 80a6dc8: 781b ldrb r3, [r3, #0] 80a6dca: 3301 adds r3, #1 80a6dcc: b2da uxtb r2, r3 80a6dce: 4b27 ldr r3, [pc, #156] ; (80a6e6c ) 80a6dd0: 701a strb r2, [r3, #0] if(pMax < -40) 80a6dd2: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a6dd6: f113 0f28 cmn.w r3, #40 ; 0x28 80a6dda: da09 bge.n 80a6df0 pMax = -40; 80a6ddc: f64f 73d8 movw r3, #65496 ; 0xffd8 80a6de0: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a6de4: 4b21 ldr r3, [pc, #132] ; (80a6e6c ) 80a6de6: 781b ldrb r3, [r3, #0] 80a6de8: 3301 adds r3, #1 80a6dea: b2da uxtb r2, r3 80a6dec: 4b1f ldr r3, [pc, #124] ; (80a6e6c ) 80a6dee: 701a strb r2, [r3, #0] x = 62 + i; 80a6df0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6df4: 333e adds r3, #62 ; 0x3e 80a6df6: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80a6dfa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6dfe: 2b00 cmp r3, #0 80a6e00: d112 bne.n 80a6e28 BSP_LCD_DrawLine(x, 101 - pMin, x, 101 - pMax); 80a6e02: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6e06: b298 uxth r0, r3 80a6e08: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6e0c: f1c3 0365 rsb r3, r3, #101 ; 0x65 80a6e10: b299 uxth r1, r3 80a6e12: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6e16: b29a uxth r2, r3 80a6e18: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a6e1c: f1c3 0365 rsb r3, r3, #101 ; 0x65 80a6e20: b29b uxth r3, r3 80a6e22: f7ac ff19 bl 8053c58 80a6e26: e11c b.n 80a7062 else BSP_LCD_DrawLine(x - 1, 101 - pMin, x, 101 - pMax); 80a6e28: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6e2c: b29b uxth r3, r3 80a6e2e: 3b01 subs r3, #1 80a6e30: b298 uxth r0, r3 80a6e32: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a6e36: f1c3 0365 rsb r3, r3, #101 ; 0x65 80a6e3a: b299 uxth r1, r3 80a6e3c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a6e40: b29a uxth r2, r3 80a6e42: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a6e46: f1c3 0365 rsb r3, r3, #101 ; 0x65 80a6e4a: b29b uxth r3, r3 80a6e4c: f7ac ff04 bl 8053c58 80a6e50: e107 b.n 80a7062 80a6e52: bf00 nop 80a6e54: 20021650 .word 0x20021650 80a6e58: 20020990 .word 0x20020990 80a6e5c: 46fffe00 .word 0x46fffe00 80a6e60: 46fffe00 .word 0x46fffe00 80a6e64: c6fffe00 .word 0xc6fffe00 80a6e68: c6fffe00 .word 0xc6fffe00 80a6e6c: 2002164e .word 0x2002164e arm_max_f32(&ScrB_f32(i * step), step, &mF[MAXY], &idx); 80a6e70: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6e74: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a6e78: fb02 f303 mul.w r3, r2, r3 80a6e7c: 009a lsls r2, r3, #2 80a6e7e: 4b95 ldr r3, [pc, #596] ; (80a70d4 ) 80a6e80: 4413 add r3, r2 80a6e82: 4618 mov r0, r3 80a6e84: f507 711a add.w r1, r7, #616 ; 0x268 80a6e88: f507 731e add.w r3, r7, #632 ; 0x278 80a6e8c: 1d1a adds r2, r3, #4 80a6e8e: 460b mov r3, r1 80a6e90: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a6e94: f023 f92e bl 80ca0f4 arm_min_f32(&ScrB_f32(i * step), step, &mF[MINY], &idx); 80a6e98: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6e9c: f8d7 2298 ldr.w r2, [r7, #664] ; 0x298 80a6ea0: fb02 f303 mul.w r3, r2, r3 80a6ea4: 009a lsls r2, r3, #2 80a6ea6: 4b8b ldr r3, [pc, #556] ; (80a70d4 ) 80a6ea8: 4413 add r3, r2 80a6eaa: 4618 mov r0, r3 80a6eac: f507 731a add.w r3, r7, #616 ; 0x268 80a6eb0: f507 721e add.w r2, r7, #632 ; 0x278 80a6eb4: f8d7 1298 ldr.w r1, [r7, #664] ; 0x298 80a6eb8: f023 f880 bl 80c9fbc if(i > 0) 80a6ebc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a6ec0: 2b00 cmp r3, #0 80a6ec2: d01b beq.n 80a6efc if(mF[MINY] > lastPointOSC[MAXY]) 80a6ec4: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6ec8: 4b83 ldr r3, [pc, #524] ; (80a70d8 ) 80a6eca: edd3 7a01 vldr s15, [r3, #4] 80a6ece: eeb4 7ae7 vcmpe.f32 s14, s15 80a6ed2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6ed6: dd03 ble.n 80a6ee0 mF[MINY] = lastPointOSC[MAXY]; 80a6ed8: 4b7f ldr r3, [pc, #508] ; (80a70d8 ) 80a6eda: 685b ldr r3, [r3, #4] 80a6edc: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80a6ee0: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6ee4: 4b7c ldr r3, [pc, #496] ; (80a70d8 ) 80a6ee6: edd3 7a00 vldr s15, [r3] 80a6eea: eeb4 7ae7 vcmpe.f32 s14, s15 80a6eee: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6ef2: d503 bpl.n 80a6efc mF[MAXY] = lastPointOSC[MINY]; 80a6ef4: 4b78 ldr r3, [pc, #480] ; (80a70d8 ) 80a6ef6: 681b ldr r3, [r3, #0] 80a6ef8: f8c7 327c str.w r3, [r7, #636] ; 0x27c ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80a6efc: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80a6f00: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80a6f04: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80a6f08: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80a6f0c: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80a6f10: 4a71 ldr r2, [pc, #452] ; (80a70d8 ) 80a6f12: 6013 str r3, [r2, #0] 80a6f14: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80a6f18: 4a6f ldr r2, [pc, #444] ; (80a70d8 ) 80a6f1a: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80a6f1c: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80a6f20: 4b6e ldr r3, [pc, #440] ; (80a70dc ) 80a6f22: edd3 7a00 vldr s15, [r3] 80a6f26: ee67 7a27 vmul.f32 s15, s14, s15 80a6f2a: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80a6f2e: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a6f32: 4b6a ldr r3, [pc, #424] ; (80a70dc ) 80a6f34: edd3 7a00 vldr s15, [r3] 80a6f38: ee67 7a27 vmul.f32 s15, s14, s15 80a6f3c: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a6f40: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6f44: ed9f 7a66 vldr s14, [pc, #408] ; 80a70e0 80a6f48: eef4 7ac7 vcmpe.f32 s15, s14 80a6f4c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6f50: dd02 ble.n 80a6f58 80a6f52: 4b64 ldr r3, [pc, #400] ; (80a70e4 ) 80a6f54: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a6f58: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6f5c: ed9f 7a62 vldr s14, [pc, #392] ; 80a70e8 80a6f60: eef4 7ac7 vcmpe.f32 s15, s14 80a6f64: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6f68: d502 bpl.n 80a6f70 80a6f6a: 4b60 ldr r3, [pc, #384] ; (80a70ec ) 80a6f6c: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80a6f70: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6f74: ed9f 7a5a vldr s14, [pc, #360] ; 80a70e0 80a6f78: eef4 7ac7 vcmpe.f32 s15, s14 80a6f7c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6f80: dd02 ble.n 80a6f88 80a6f82: 4b58 ldr r3, [pc, #352] ; (80a70e4 ) 80a6f84: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80a6f88: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6f8c: ed9f 7a56 vldr s14, [pc, #344] ; 80a70e8 80a6f90: eef4 7ac7 vcmpe.f32 s15, s14 80a6f94: eef1 fa10 vmrs APSR_nzcv, fpscr 80a6f98: d502 bpl.n 80a6fa0 80a6f9a: 4b54 ldr r3, [pc, #336] ; (80a70ec ) 80a6f9c: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80a6fa0: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a6fa4: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6fa8: edc7 7a01 vstr s15, [r7, #4] 80a6fac: 88bb ldrh r3, [r7, #4] 80a6fae: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80a6fb2: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80a6fb6: eefd 7ae7 vcvt.s32.f32 s15, s15 80a6fba: edc7 7a01 vstr s15, [r7, #4] 80a6fbe: 88bb ldrh r3, [r7, #4] 80a6fc0: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 40) 80a6fc4: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6fc8: 2b28 cmp r3, #40 ; 0x28 80a6fca: dd08 ble.n 80a6fde pMin = 40; 80a6fcc: 2328 movs r3, #40 ; 0x28 80a6fce: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6fd2: 4b47 ldr r3, [pc, #284] ; (80a70f0 ) 80a6fd4: 781b ldrb r3, [r3, #0] 80a6fd6: 3301 adds r3, #1 80a6fd8: b2da uxtb r2, r3 80a6fda: 4b45 ldr r3, [pc, #276] ; (80a70f0 ) 80a6fdc: 701a strb r2, [r3, #0] if(pMin < -40) 80a6fde: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80a6fe2: f113 0f28 cmn.w r3, #40 ; 0x28 80a6fe6: da09 bge.n 80a6ffc pMin = -40; 80a6fe8: f64f 73d8 movw r3, #65496 ; 0xffd8 80a6fec: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80a6ff0: 4b3f ldr r3, [pc, #252] ; (80a70f0 ) 80a6ff2: 781b ldrb r3, [r3, #0] 80a6ff4: 3301 adds r3, #1 80a6ff6: b2da uxtb r2, r3 80a6ff8: 4b3d ldr r3, [pc, #244] ; (80a70f0 ) 80a6ffa: 701a strb r2, [r3, #0] if(pMax > 40) 80a6ffc: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a7000: 2b28 cmp r3, #40 ; 0x28 80a7002: dd08 ble.n 80a7016 pMax = 40; 80a7004: 2328 movs r3, #40 ; 0x28 80a7006: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a700a: 4b39 ldr r3, [pc, #228] ; (80a70f0 ) 80a700c: 781b ldrb r3, [r3, #0] 80a700e: 3301 adds r3, #1 80a7010: b2da uxtb r2, r3 80a7012: 4b37 ldr r3, [pc, #220] ; (80a70f0 ) 80a7014: 701a strb r2, [r3, #0] if(pMax < -40) 80a7016: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a701a: f113 0f28 cmn.w r3, #40 ; 0x28 80a701e: da09 bge.n 80a7034 pMax = -40; 80a7020: f64f 73d8 movw r3, #65496 ; 0xffd8 80a7024: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a7028: 4b31 ldr r3, [pc, #196] ; (80a70f0 ) 80a702a: 781b ldrb r3, [r3, #0] 80a702c: 3301 adds r3, #1 80a702e: b2da uxtb r2, r3 80a7030: 4b2f ldr r3, [pc, #188] ; (80a70f0 ) 80a7032: 701a strb r2, [r3, #0] x = 62 + i; 80a7034: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7038: 333e adds r3, #62 ; 0x3e 80a703a: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 101 - pMin, x, 101 - pMax); 80a703e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7042: b298 uxth r0, r3 80a7044: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a7048: f1c3 0365 rsb r3, r3, #101 ; 0x65 80a704c: b299 uxth r1, r3 80a704e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7052: b29a uxth r2, r3 80a7054: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a7058: f1c3 0365 rsb r3, r3, #101 ; 0x65 80a705c: b29b uxth r3, r3 80a705e: f7ac fdfb bl 8053c58 if(pMax > Maximum) Maximum = pMax; 80a7062: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a7066: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a706a: 429a cmp r2, r3 80a706c: dd03 ble.n 80a7076 80a706e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a7072: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80a7076: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a707a: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a707e: 429a cmp r2, r3 80a7080: da03 bge.n 80a708a 80a7082: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a7086: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80a708a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a708e: 3301 adds r3, #1 80a7090: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7094: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7098: 2bff cmp r3, #255 ; 0xff 80a709a: f67f ade5 bls.w 80a6c68 Maximum = ABS(Maximum); 80a709e: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a70a2: 2b00 cmp r3, #0 80a70a4: bfb8 it lt 80a70a6: 425b neglt r3, r3 80a70a8: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80a70ac: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80a70b0: 2b00 cmp r3, #0 80a70b2: bfb8 it lt 80a70b4: 425b neglt r3, r3 80a70b6: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80a70ba: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80a70be: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a70c2: 429a cmp r2, r3 80a70c4: f344 86e8 ble.w 80abe98 Maximum = Minimum; 80a70c8: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80a70cc: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80a70d0: f004 bee2 b.w 80abe98 80a70d4: 640b0000 .word 0x640b0000 80a70d8: 20021650 .word 0x20021650 80a70dc: 20020990 .word 0x20020990 80a70e0: 46fffe00 .word 0x46fffe00 80a70e4: 46fffe00 .word 0x46fffe00 80a70e8: c6fffe00 .word 0xc6fffe00 80a70ec: c6fffe00 .word 0xc6fffe00 80a70f0: 2002164e .word 0x2002164e if(pardata.SYG == FRAN) 80a70f4: 4bce ldr r3, [pc, #824] ; (80a7430 ) 80a70f6: 781b ldrb r3, [r3, #0] 80a70f8: b2db uxtb r3, r3 80a70fa: 2b03 cmp r3, #3 80a70fc: f004 86cc beq.w 80abe98 if(!FIRST) 80a7100: 4bcc ldr r3, [pc, #816] ; (80a7434 ) 80a7102: 781b ldrb r3, [r3, #0] 80a7104: b2db uxtb r3, r3 80a7106: f083 0301 eor.w r3, r3, #1 80a710a: b2db uxtb r3, r3 80a710c: 2b00 cmp r3, #0 80a710e: f004 86c3 beq.w 80abe98 if(pardata.SYG == ROLL) 80a7112: 4bc7 ldr r3, [pc, #796] ; (80a7430 ) 80a7114: 781b ldrb r3, [r3, #0] 80a7116: b2db uxtb r3, r3 80a7118: 2b08 cmp r3, #8 80a711a: f042 82c5 bne.w 80a96a8 if(READY_TO_SEE) 80a711e: 4bc6 ldr r3, [pc, #792] ; (80a7438 ) 80a7120: 781b ldrb r3, [r3, #0] 80a7122: b2db uxtb r3, r3 80a7124: 2b00 cmp r3, #0 80a7126: f004 86b7 beq.w 80abe98 k = 0; 80a712a: 2300 movs r3, #0 80a712c: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80a7130: 4bc2 ldr r3, [pc, #776] ; (80a743c ) 80a7132: 881b ldrh r3, [r3, #0] 80a7134: b29b uxth r3, r3 80a7136: 461a mov r2, r3 80a7138: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a713c: 4413 add r3, r2 80a713e: 009a lsls r2, r3, #2 80a7140: 4bbf ldr r3, [pc, #764] ; (80a7440 ) 80a7142: 4413 add r3, r2 80a7144: 681b ldr r3, [r3, #0] 80a7146: f8c7 326c str.w r3, [r7, #620] ; 0x26c LinToLog(&f, &f); 80a714a: f507 721b add.w r2, r7, #620 ; 0x26c 80a714e: f507 731b add.w r3, r7, #620 ; 0x26c 80a7152: 4611 mov r1, r2 80a7154: 4618 mov r0, r3 80a7156: f7bd fec3 bl 8064ee0 if(f <= 0.0f) k++; 80a715a: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a715e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a7162: eef1 fa10 vmrs APSR_nzcv, fpscr 80a7166: d942 bls.n 80a71ee else break; 80a7168: bf00 nop arm_max_f32(&ScrA_f32(lX + k), rX-lX-k-1, &max, &idx); 80a716a: 4bb4 ldr r3, [pc, #720] ; (80a743c ) 80a716c: 881b ldrh r3, [r3, #0] 80a716e: b29b uxth r3, r3 80a7170: 461a mov r2, r3 80a7172: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a7176: 4413 add r3, r2 80a7178: 009a lsls r2, r3, #2 80a717a: 4bb1 ldr r3, [pc, #708] ; (80a7440 ) 80a717c: 4413 add r3, r2 80a717e: 4618 mov r0, r3 80a7180: 4bb0 ldr r3, [pc, #704] ; (80a7444 ) 80a7182: 881b ldrh r3, [r3, #0] 80a7184: b29b uxth r3, r3 80a7186: 461a mov r2, r3 80a7188: 4bac ldr r3, [pc, #688] ; (80a743c ) 80a718a: 881b ldrh r3, [r3, #0] 80a718c: b29b uxth r3, r3 80a718e: 1ad3 subs r3, r2, r3 80a7190: 461a mov r2, r3 80a7192: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a7196: 1ad3 subs r3, r2, r3 80a7198: 1e59 subs r1, r3, #1 80a719a: f507 731a add.w r3, r7, #616 ; 0x268 80a719e: f507 721d add.w r2, r7, #628 ; 0x274 80a71a2: f022 ffa7 bl 80ca0f4 arm_min_f32(&ScrA_f32(lX + k), rX-lX-k-1, &min, &idx); 80a71a6: 4ba5 ldr r3, [pc, #660] ; (80a743c ) 80a71a8: 881b ldrh r3, [r3, #0] 80a71aa: b29b uxth r3, r3 80a71ac: 461a mov r2, r3 80a71ae: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a71b2: 4413 add r3, r2 80a71b4: 009a lsls r2, r3, #2 80a71b6: 4ba2 ldr r3, [pc, #648] ; (80a7440 ) 80a71b8: 4413 add r3, r2 80a71ba: 4618 mov r0, r3 80a71bc: 4ba1 ldr r3, [pc, #644] ; (80a7444 ) 80a71be: 881b ldrh r3, [r3, #0] 80a71c0: b29b uxth r3, r3 80a71c2: 461a mov r2, r3 80a71c4: 4b9d ldr r3, [pc, #628] ; (80a743c ) 80a71c6: 881b ldrh r3, [r3, #0] 80a71c8: b29b uxth r3, r3 80a71ca: 1ad3 subs r3, r2, r3 80a71cc: 461a mov r2, r3 80a71ce: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a71d2: 1ad3 subs r3, r2, r3 80a71d4: 1e59 subs r1, r3, #1 80a71d6: f507 731a add.w r3, r7, #616 ; 0x268 80a71da: f507 721c add.w r2, r7, #624 ; 0x270 80a71de: f022 feed bl 80c9fbc if(AUTOZOOM) 80a71e2: 4b99 ldr r3, [pc, #612] ; (80a7448 ) 80a71e4: 781b ldrb r3, [r3, #0] 80a71e6: b2db uxtb r3, r3 80a71e8: 2b00 cmp r3, #0 80a71ea: d025 beq.n 80a7238 80a71ec: e005 b.n 80a71fa if(f <= 0.0f) k++; 80a71ee: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a71f2: 3301 adds r3, #1 80a71f4: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80a71f8: e79a b.n 80a7130 f = (max - min); 80a71fa: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80a71fe: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a7202: ee77 7a67 vsub.f32 s15, s14, s15 80a7206: edc7 7a9b vstr s15, [r7, #620] ; 0x26c if(f <= 0.0f) { 80a720a: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a720e: eef5 7ac0 vcmpe.f32 s15, #0.0 80a7212: eef1 fa10 vmrs APSR_nzcv, fpscr 80a7216: d802 bhi.n 80a721e f = 80.0f; 80a7218: 4b8c ldr r3, [pc, #560] ; (80a744c ) 80a721a: f8c7 326c str.w r3, [r7, #620] ; 0x26c ZoomVal = 97.0f / f; 80a721e: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80a7222: eddf 6a8b vldr s13, [pc, #556] ; 80a7450 80a7226: eec6 7a87 vdiv.f32 s15, s13, s14 80a722a: 4b8a ldr r3, [pc, #552] ; (80a7454 ) 80a722c: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80a7230: 4b85 ldr r3, [pc, #532] ; (80a7448 ) 80a7232: 2200 movs r2, #0 80a7234: 701a strb r2, [r3, #0] 80a7236: e024 b.n 80a7282 if(ZOOM_IN) 80a7238: 4b87 ldr r3, [pc, #540] ; (80a7458 ) 80a723a: 781b ldrb r3, [r3, #0] 80a723c: b2db uxtb r3, r3 80a723e: 2b00 cmp r3, #0 80a7240: d00d beq.n 80a725e ZOOM_IN = false; 80a7242: 4b85 ldr r3, [pc, #532] ; (80a7458 ) 80a7244: 2200 movs r2, #0 80a7246: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80a7248: 4b82 ldr r3, [pc, #520] ; (80a7454 ) 80a724a: edd3 7a00 vldr s15, [r3] 80a724e: ed9f 7a83 vldr s14, [pc, #524] ; 80a745c 80a7252: ee67 7a87 vmul.f32 s15, s15, s14 80a7256: 4b7f ldr r3, [pc, #508] ; (80a7454 ) 80a7258: edc3 7a00 vstr s15, [r3] 80a725c: e011 b.n 80a7282 if(ZOOM_OUT) 80a725e: 4b80 ldr r3, [pc, #512] ; (80a7460 ) 80a7260: 781b ldrb r3, [r3, #0] 80a7262: b2db uxtb r3, r3 80a7264: 2b00 cmp r3, #0 80a7266: d00c beq.n 80a7282 ZOOM_OUT = false; 80a7268: 4b7d ldr r3, [pc, #500] ; (80a7460 ) 80a726a: 2200 movs r2, #0 80a726c: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80a726e: 4b79 ldr r3, [pc, #484] ; (80a7454 ) 80a7270: edd3 7a00 vldr s15, [r3] 80a7274: ed9f 7a7b vldr s14, [pc, #492] ; 80a7464 80a7278: ee67 7a87 vmul.f32 s15, s15, s14 80a727c: 4b75 ldr r3, [pc, #468] ; (80a7454 ) 80a727e: edc3 7a00 vstr s15, [r3] if(menu == VIEW_PORTRET) 80a7282: 4b79 ldr r3, [pc, #484] ; (80a7468 ) 80a7284: 781b ldrb r3, [r3, #0] 80a7286: b2db uxtb r3, r3 80a7288: 2b28 cmp r3, #40 ; 0x28 80a728a: f041 879d bne.w 80a91c8 for(i = 0; i < 15; i++) 80a728e: 2300 movs r3, #0 80a7290: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7294: e058 b.n 80a7348 _Fvr[i] = -1; 80a7296: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a729a: 009b lsls r3, r3, #2 80a729c: f507 722e add.w r2, r7, #696 ; 0x2b8 80a72a0: 4413 add r3, r2 80a72a2: f04f 32ff mov.w r2, #4294967295 80a72a6: f843 2c8c str.w r2, [r3, #-140] _Fn[i] = -1; 80a72aa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a72ae: 009b lsls r3, r3, #2 80a72b0: f507 722e add.w r2, r7, #696 ; 0x2b8 80a72b4: 4413 add r3, r2 80a72b6: f04f 32ff mov.w r2, #4294967295 80a72ba: f843 2cc8 str.w r2, [r3, #-200] _Fv[i] = -1; 80a72be: f507 73da add.w r3, r7, #436 ; 0x1b4 80a72c2: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a72c6: f04f 31ff mov.w r1, #4294967295 80a72ca: f843 1022 str.w r1, [r3, r2, lsl #2] _Fc[i] = -1; 80a72ce: f507 73bc add.w r3, r7, #376 ; 0x178 80a72d2: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a72d6: f04f 31ff mov.w r1, #4294967295 80a72da: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk[i] = -1; 80a72de: f507 739e add.w r3, r7, #316 ; 0x13c 80a72e2: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a72e6: f04f 31ff mov.w r1, #4294967295 80a72ea: f843 1022 str.w r1, [r3, r2, lsl #2] _Fvr_m_Fc[i] = -1; 80a72ee: f507 7380 add.w r3, r7, #256 ; 0x100 80a72f2: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a72f6: f04f 31ff mov.w r1, #4294967295 80a72fa: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_p_Fc[i] = -1; 80a72fe: f107 03c4 add.w r3, r7, #196 ; 0xc4 80a7302: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a7306: f04f 31ff mov.w r1, #4294967295 80a730a: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_m_Fc[i] = -1; 80a730e: f107 0388 add.w r3, r7, #136 ; 0x88 80a7312: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a7316: f04f 31ff mov.w r1, #4294967295 80a731a: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_p_2Fc[i] = -1; 80a731e: f107 034c add.w r3, r7, #76 ; 0x4c 80a7322: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a7326: f04f 31ff mov.w r1, #4294967295 80a732a: f843 1022 str.w r1, [r3, r2, lsl #2] _Ftk_m_2Fc[i] = -1; 80a732e: f107 0310 add.w r3, r7, #16 80a7332: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a7336: f04f 31ff mov.w r1, #4294967295 80a733a: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 15; i++) 80a733e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7342: 3301 adds r3, #1 80a7344: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7348: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a734c: 2b0e cmp r3, #14 80a734e: d9a2 bls.n 80a7296 for(i = 0; i < 15; i++) { 80a7350: 2300 movs r3, #0 80a7352: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7356: e02a b.n 80a73ae f = Fvr * (float32_t) (i + 1); 80a7358: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a735c: 3301 adds r3, #1 80a735e: ee07 3a90 vmov s15, r3 80a7362: eeb8 7a67 vcvt.f32.u32 s14, s15 80a7366: 4b41 ldr r3, [pc, #260] ; (80a746c ) 80a7368: edd3 7a00 vldr s15, [r3] 80a736c: ee67 7a27 vmul.f32 s15, s14, s15 80a7370: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fvr[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a7374: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a7378: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a737c: ed9f 5b2a vldr d5, [pc, #168] ; 80a7428 80a7380: ee86 7b05 vdiv.f64 d7, d6, d5 80a7384: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a7388: ee37 7b06 vadd.f64 d7, d7, d6 80a738c: eefd 7bc7 vcvt.s32.f64 s15, d7 80a7390: ee17 2a90 vmov r2, s15 80a7394: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7398: 009b lsls r3, r3, #2 80a739a: f507 712e add.w r1, r7, #696 ; 0x2b8 80a739e: 440b add r3, r1 80a73a0: f843 2c8c str.w r2, [r3, #-140] for(i = 0; i < 15; i++) { 80a73a4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a73a8: 3301 adds r3, #1 80a73aa: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a73ae: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a73b2: 2b0e cmp r3, #14 80a73b4: d9d0 bls.n 80a7358 for(i = 0; i < 4; i++) { 80a73b6: 2300 movs r3, #0 80a73b8: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a73bc: e02a b.n 80a7414 f = Fn * (float32_t) (i + 1); 80a73be: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a73c2: 3301 adds r3, #1 80a73c4: ee07 3a90 vmov s15, r3 80a73c8: eeb8 7a67 vcvt.f32.u32 s14, s15 80a73cc: 4b28 ldr r3, [pc, #160] ; (80a7470 ) 80a73ce: edd3 7a00 vldr s15, [r3] 80a73d2: ee67 7a27 vmul.f32 s15, s14, s15 80a73d6: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fn[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a73da: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a73de: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a73e2: ed9f 5b11 vldr d5, [pc, #68] ; 80a7428 80a73e6: ee86 7b05 vdiv.f64 d7, d6, d5 80a73ea: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a73ee: ee37 7b06 vadd.f64 d7, d7, d6 80a73f2: eefd 7bc7 vcvt.s32.f64 s15, d7 80a73f6: ee17 2a90 vmov r2, s15 80a73fa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a73fe: 009b lsls r3, r3, #2 80a7400: f507 712e add.w r1, r7, #696 ; 0x2b8 80a7404: 440b add r3, r1 80a7406: f843 2cc8 str.w r2, [r3, #-200] for(i = 0; i < 4; i++) { 80a740a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a740e: 3301 adds r3, #1 80a7410: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7414: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7418: 2b03 cmp r3, #3 80a741a: d9d0 bls.n 80a73be for(i = 0; i < 3; i++) { 80a741c: 2300 movs r3, #0 80a741e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7422: e050 b.n 80a74c6 80a7424: f3af 8000 nop.w 80a7428: 00000000 .word 0x00000000 80a742c: 3fdf4000 .word 0x3fdf4000 80a7430: 20023e60 .word 0x20023e60 80a7434: 20020db2 .word 0x20020db2 80a7438: 20020d8e .word 0x20020d8e 80a743c: 20025d1a .word 0x20025d1a 80a7440: 64080000 .word 0x64080000 80a7444: 20025d20 .word 0x20025d20 80a7448: 2002098c .word 0x2002098c 80a744c: 42a00000 .word 0x42a00000 80a7450: 42c20000 .word 0x42c20000 80a7454: 20020990 .word 0x20020990 80a7458: 20020f6a .word 0x20020f6a 80a745c: 40000005 .word 0x40000005 80a7460: 20020f69 .word 0x20020f69 80a7464: 3f000012 .word 0x3f000012 80a7468: 20020f78 .word 0x20020f78 80a746c: 20026d00 .word 0x20026d00 80a7470: 200267a8 .word 0x200267a8 f = Fv * (float32_t) (i + 1); 80a7474: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7478: 3301 adds r3, #1 80a747a: ee07 3a90 vmov s15, r3 80a747e: eeb8 7a67 vcvt.f32.u32 s14, s15 80a7482: 4bcb ldr r3, [pc, #812] ; (80a77b0 ) 80a7484: edd3 7a00 vldr s15, [r3] 80a7488: ee67 7a27 vmul.f32 s15, s14, s15 80a748c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fv[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a7490: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a7494: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a7498: ed9f 5bc3 vldr d5, [pc, #780] ; 80a77a8 80a749c: ee86 7b05 vdiv.f64 d7, d6, d5 80a74a0: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a74a4: ee37 7b06 vadd.f64 d7, d7, d6 80a74a8: eefd 7bc7 vcvt.s32.f64 s15, d7 80a74ac: ee17 1a90 vmov r1, s15 80a74b0: f507 73da add.w r3, r7, #436 ; 0x1b4 80a74b4: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a74b8: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 3; i++) { 80a74bc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a74c0: 3301 adds r3, #1 80a74c2: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a74c6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a74ca: 2b02 cmp r3, #2 80a74cc: d9d2 bls.n 80a7474 for(i = 0; i < 8; i++) 80a74ce: 2300 movs r3, #0 80a74d0: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a74d4: e051 b.n 80a757a f = Fc * (float32_t) (i + 1); 80a74d6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a74da: 3301 adds r3, #1 80a74dc: ee07 3a90 vmov s15, r3 80a74e0: eeb8 7a67 vcvt.f32.u32 s14, s15 80a74e4: 4bb3 ldr r3, [pc, #716] ; (80a77b4 ) 80a74e6: edd3 7a00 vldr s15, [r3] 80a74ea: ee67 7a27 vmul.f32 s15, s14, s15 80a74ee: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a74f2: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a74f6: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a74fa: ed9f 5bab vldr d5, [pc, #684] ; 80a77a8 80a74fe: ee86 7b05 vdiv.f64 d7, d6, d5 80a7502: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a7506: ee37 7b06 vadd.f64 d7, d7, d6 80a750a: eefd 7bc7 vcvt.s32.f64 s15, d7 80a750e: ee17 1a90 vmov r1, s15 80a7512: f507 73bc add.w r3, r7, #376 ; 0x178 80a7516: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a751a: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Fvr * (float32_t) (i + 1)) - Fc; 80a751e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7522: 3301 adds r3, #1 80a7524: ee07 3a90 vmov s15, r3 80a7528: eeb8 7a67 vcvt.f32.u32 s14, s15 80a752c: 4ba2 ldr r3, [pc, #648] ; (80a77b8 ) 80a752e: edd3 7a00 vldr s15, [r3] 80a7532: ee27 7a27 vmul.f32 s14, s14, s15 80a7536: 4b9f ldr r3, [pc, #636] ; (80a77b4 ) 80a7538: edd3 7a00 vldr s15, [r3] 80a753c: ee77 7a67 vsub.f32 s15, s14, s15 80a7540: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Fvr_m_Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a7544: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a7548: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a754c: ed9f 5b96 vldr d5, [pc, #600] ; 80a77a8 80a7550: ee86 7b05 vdiv.f64 d7, d6, d5 80a7554: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a7558: ee37 7b06 vadd.f64 d7, d7, d6 80a755c: eefd 7bc7 vcvt.s32.f64 s15, d7 80a7560: ee17 1a90 vmov r1, s15 80a7564: f507 7380 add.w r3, r7, #256 ; 0x100 80a7568: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a756c: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 8; i++) 80a7570: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7574: 3301 adds r3, #1 80a7576: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a757a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a757e: 2b07 cmp r3, #7 80a7580: d9a9 bls.n 80a74d6 for(i = 0; i < 6; i++) 80a7582: 2300 movs r3, #0 80a7584: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7588: e0d0 b.n 80a772c f = Ftk * (float32_t) (i + 1); 80a758a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a758e: 3301 adds r3, #1 80a7590: ee07 3a90 vmov s15, r3 80a7594: eeb8 7a67 vcvt.f32.u32 s14, s15 80a7598: 4b88 ldr r3, [pc, #544] ; (80a77bc ) 80a759a: edd3 7a00 vldr s15, [r3] 80a759e: ee67 7a27 vmul.f32 s15, s14, s15 80a75a2: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a75a6: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a75aa: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a75ae: ed9f 5b7e vldr d5, [pc, #504] ; 80a77a8 80a75b2: ee86 7b05 vdiv.f64 d7, d6, d5 80a75b6: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a75ba: ee37 7b06 vadd.f64 d7, d7, d6 80a75be: eefd 7bc7 vcvt.s32.f64 s15, d7 80a75c2: ee17 1a90 vmov r1, s15 80a75c6: f507 739e add.w r3, r7, #316 ; 0x13c 80a75ca: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a75ce: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) - Fc; 80a75d2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a75d6: 3301 adds r3, #1 80a75d8: ee07 3a90 vmov s15, r3 80a75dc: eeb8 7a67 vcvt.f32.u32 s14, s15 80a75e0: 4b76 ldr r3, [pc, #472] ; (80a77bc ) 80a75e2: edd3 7a00 vldr s15, [r3] 80a75e6: ee27 7a27 vmul.f32 s14, s14, s15 80a75ea: 4b72 ldr r3, [pc, #456] ; (80a77b4 ) 80a75ec: edd3 7a00 vldr s15, [r3] 80a75f0: ee77 7a67 vsub.f32 s15, s14, s15 80a75f4: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_m_Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a75f8: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a75fc: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a7600: ed9f 5b69 vldr d5, [pc, #420] ; 80a77a8 80a7604: ee86 7b05 vdiv.f64 d7, d6, d5 80a7608: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a760c: ee37 7b06 vadd.f64 d7, d7, d6 80a7610: eefd 7bc7 vcvt.s32.f64 s15, d7 80a7614: ee17 1a90 vmov r1, s15 80a7618: f107 0388 add.w r3, r7, #136 ; 0x88 80a761c: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a7620: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) + Fc; 80a7624: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7628: 3301 adds r3, #1 80a762a: ee07 3a90 vmov s15, r3 80a762e: eeb8 7a67 vcvt.f32.u32 s14, s15 80a7632: 4b62 ldr r3, [pc, #392] ; (80a77bc ) 80a7634: edd3 7a00 vldr s15, [r3] 80a7638: ee27 7a27 vmul.f32 s14, s14, s15 80a763c: 4b5d ldr r3, [pc, #372] ; (80a77b4 ) 80a763e: edd3 7a00 vldr s15, [r3] 80a7642: ee77 7a27 vadd.f32 s15, s14, s15 80a7646: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_p_Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a764a: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a764e: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a7652: ed9f 5b55 vldr d5, [pc, #340] ; 80a77a8 80a7656: ee86 7b05 vdiv.f64 d7, d6, d5 80a765a: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a765e: ee37 7b06 vadd.f64 d7, d7, d6 80a7662: eefd 7bc7 vcvt.s32.f64 s15, d7 80a7666: ee17 1a90 vmov r1, s15 80a766a: f107 03c4 add.w r3, r7, #196 ; 0xc4 80a766e: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a7672: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) - 2*Fc; 80a7676: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a767a: 3301 adds r3, #1 80a767c: ee07 3a90 vmov s15, r3 80a7680: eeb8 7a67 vcvt.f32.u32 s14, s15 80a7684: 4b4d ldr r3, [pc, #308] ; (80a77bc ) 80a7686: edd3 7a00 vldr s15, [r3] 80a768a: ee27 7a27 vmul.f32 s14, s14, s15 80a768e: 4b49 ldr r3, [pc, #292] ; (80a77b4 ) 80a7690: edd3 7a00 vldr s15, [r3] 80a7694: ee77 7aa7 vadd.f32 s15, s15, s15 80a7698: ee77 7a67 vsub.f32 s15, s14, s15 80a769c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_m_2Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a76a0: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a76a4: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a76a8: ed9f 5b3f vldr d5, [pc, #252] ; 80a77a8 80a76ac: ee86 7b05 vdiv.f64 d7, d6, d5 80a76b0: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a76b4: ee37 7b06 vadd.f64 d7, d7, d6 80a76b8: eefd 7bc7 vcvt.s32.f64 s15, d7 80a76bc: ee17 1a90 vmov r1, s15 80a76c0: f107 0310 add.w r3, r7, #16 80a76c4: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a76c8: f843 1022 str.w r1, [r3, r2, lsl #2] f = (Ftk * (float32_t) (i + 1)) + 2*Fc; 80a76cc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a76d0: 3301 adds r3, #1 80a76d2: ee07 3a90 vmov s15, r3 80a76d6: eeb8 7a67 vcvt.f32.u32 s14, s15 80a76da: 4b38 ldr r3, [pc, #224] ; (80a77bc ) 80a76dc: edd3 7a00 vldr s15, [r3] 80a76e0: ee27 7a27 vmul.f32 s14, s14, s15 80a76e4: 4b33 ldr r3, [pc, #204] ; (80a77b4 ) 80a76e6: edd3 7a00 vldr s15, [r3] 80a76ea: ee77 7aa7 vadd.f32 s15, s15, s15 80a76ee: ee77 7a27 vadd.f32 s15, s14, s15 80a76f2: edc7 7a9b vstr s15, [r7, #620] ; 0x26c _Ftk_p_2Fc[i] = (f / 0.48828125) + 0.5f; // íîìåð ãàðìîíèêè öåëûé 80a76f6: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a76fa: eeb7 6ae7 vcvt.f64.f32 d6, s15 80a76fe: ed9f 5b2a vldr d5, [pc, #168] ; 80a77a8 80a7702: ee86 7b05 vdiv.f64 d7, d6, d5 80a7706: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80a770a: ee37 7b06 vadd.f64 d7, d7, d6 80a770e: eefd 7bc7 vcvt.s32.f64 s15, d7 80a7712: ee17 1a90 vmov r1, s15 80a7716: f107 034c add.w r3, r7, #76 ; 0x4c 80a771a: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a771e: f843 1022 str.w r1, [r3, r2, lsl #2] for(i = 0; i < 6; i++) 80a7722: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7726: 3301 adds r3, #1 80a7728: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a772c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7730: 2b05 cmp r3, #5 80a7732: f67f af2a bls.w 80a758a uint8_t nnn[3] = {0, 0, 0}; 80a7736: f107 030c add.w r3, r7, #12 80a773a: 2200 movs r2, #0 80a773c: 701a strb r2, [r3, #0] 80a773e: f107 030c add.w r3, r7, #12 80a7742: 2200 movs r2, #0 80a7744: 705a strb r2, [r3, #1] 80a7746: f107 030c add.w r3, r7, #12 80a774a: 2200 movs r2, #0 80a774c: 709a strb r2, [r3, #2] switch(DefectType) 80a774e: 4b1c ldr r3, [pc, #112] ; (80a77c0 ) 80a7750: 781b ldrb r3, [r3, #0] 80a7752: b2db uxtb r3, r3 80a7754: 2b0b cmp r3, #11 80a7756: f201 8386 bhi.w 80a8e66 80a775a: a201 add r2, pc, #4 ; (adr r2, 80a7760 ) 80a775c: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80a7760: 080a7791 .word 0x080a7791 80a7764: 080a7941 .word 0x080a7941 80a7768: 080a7be9 .word 0x080a7be9 80a776c: 080a7e99 .word 0x080a7e99 80a7770: 080a820f .word 0x080a820f 80a7774: 080a8391 .word 0x080a8391 80a7778: 080a8391 .word 0x080a8391 80a777c: 080a8589 .word 0x080a8589 80a7780: 080a8777 .word 0x080a8777 80a7784: 080a8b4b .word 0x080a8b4b 80a7788: 080a8c8d .word 0x080a8c8d 80a778c: 080a8ccb .word 0x080a8ccb n = 0; 80a7790: 2300 movs r3, #0 80a7792: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80a7796: 4b0b ldr r3, [pc, #44] ; (80a77c4 ) 80a7798: 2200 movs r2, #0 80a779a: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a779c: 2300 movs r3, #0 80a779e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a77a2: e0c6 b.n 80a7932 80a77a4: f3af 8000 nop.w 80a77a8: 00000000 .word 0x00000000 80a77ac: 3fdf4000 .word 0x3fdf4000 80a77b0: 200261c4 .word 0x200261c4 80a77b4: 20068320 .word 0x20068320 80a77b8: 20026d00 .word 0x20026d00 80a77bc: 20037a40 .word 0x20037a40 80a77c0: 20021520 .word 0x20021520 80a77c4: 2002164e .word 0x2002164e arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a77c8: 4b9f ldr r3, [pc, #636] ; (80a7a48 ) 80a77ca: 781b ldrb r3, [r3, #0] 80a77cc: b2db uxtb r3, r3 80a77ce: 4618 mov r0, r3 80a77d0: 4b9e ldr r3, [pc, #632] ; (80a7a4c ) 80a77d2: 79db ldrb r3, [r3, #7] 80a77d4: b2db uxtb r3, r3 80a77d6: 4619 mov r1, r3 80a77d8: 4a9d ldr r2, [pc, #628] ; (80a7a50 ) 80a77da: 0083 lsls r3, r0, #2 80a77dc: 4413 add r3, r2 80a77de: 440b add r3, r1 80a77e0: 781b ldrb r3, [r3, #0] 80a77e2: 461a mov r2, r3 80a77e4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a77e8: fb03 f302 mul.w r3, r3, r2 80a77ec: 4a99 ldr r2, [pc, #612] ; (80a7a54 ) 80a77ee: 8812 ldrh r2, [r2, #0] 80a77f0: b292 uxth r2, r2 80a77f2: 4413 add r3, r2 80a77f4: 009a lsls r2, r3, #2 80a77f6: 4b98 ldr r3, [pc, #608] ; (80a7a58 ) 80a77f8: 4413 add r3, r2 80a77fa: 461c mov r4, r3 80a77fc: 4b92 ldr r3, [pc, #584] ; (80a7a48 ) 80a77fe: 781b ldrb r3, [r3, #0] 80a7800: b2db uxtb r3, r3 80a7802: 4618 mov r0, r3 80a7804: 4b91 ldr r3, [pc, #580] ; (80a7a4c ) 80a7806: 79db ldrb r3, [r3, #7] 80a7808: b2db uxtb r3, r3 80a780a: 4619 mov r1, r3 80a780c: 4a90 ldr r2, [pc, #576] ; (80a7a50 ) 80a780e: 0083 lsls r3, r0, #2 80a7810: 4413 add r3, r2 80a7812: 440b add r3, r1 80a7814: 781b ldrb r3, [r3, #0] 80a7816: 4618 mov r0, r3 80a7818: f507 711a add.w r1, r7, #616 ; 0x268 80a781c: f507 731e add.w r3, r7, #632 ; 0x278 80a7820: 1d1a adds r2, r3, #4 80a7822: 460b mov r3, r1 80a7824: 4601 mov r1, r0 80a7826: 4620 mov r0, r4 80a7828: f022 fc64 bl 80ca0f4 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a782c: 4b86 ldr r3, [pc, #536] ; (80a7a48 ) 80a782e: 781b ldrb r3, [r3, #0] 80a7830: b2db uxtb r3, r3 80a7832: 4618 mov r0, r3 80a7834: 4b85 ldr r3, [pc, #532] ; (80a7a4c ) 80a7836: 79db ldrb r3, [r3, #7] 80a7838: b2db uxtb r3, r3 80a783a: 4619 mov r1, r3 80a783c: 4a84 ldr r2, [pc, #528] ; (80a7a50 ) 80a783e: 0083 lsls r3, r0, #2 80a7840: 4413 add r3, r2 80a7842: 440b add r3, r1 80a7844: 781b ldrb r3, [r3, #0] 80a7846: 461a mov r2, r3 80a7848: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a784c: fb03 f302 mul.w r3, r3, r2 80a7850: 4a80 ldr r2, [pc, #512] ; (80a7a54 ) 80a7852: 8812 ldrh r2, [r2, #0] 80a7854: b292 uxth r2, r2 80a7856: 4413 add r3, r2 80a7858: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a785c: 4b7a ldr r3, [pc, #488] ; (80a7a48 ) 80a785e: 781b ldrb r3, [r3, #0] 80a7860: b2db uxtb r3, r3 80a7862: 4618 mov r0, r3 80a7864: 4b79 ldr r3, [pc, #484] ; (80a7a4c ) 80a7866: 79db ldrb r3, [r3, #7] 80a7868: b2db uxtb r3, r3 80a786a: 4619 mov r1, r3 80a786c: 4a78 ldr r2, [pc, #480] ; (80a7a50 ) 80a786e: 0083 lsls r3, r0, #2 80a7870: 4413 add r3, r2 80a7872: 440b add r3, r1 80a7874: 781b ldrb r3, [r3, #0] 80a7876: 461a mov r2, r3 80a7878: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a787c: fb03 f302 mul.w r3, r3, r2 80a7880: 4a74 ldr r2, [pc, #464] ; (80a7a54 ) 80a7882: 8812 ldrh r2, [r2, #0] 80a7884: b292 uxth r2, r2 80a7886: 4413 add r3, r2 80a7888: 4a6f ldr r2, [pc, #444] ; (80a7a48 ) 80a788a: 7812 ldrb r2, [r2, #0] 80a788c: b2d2 uxtb r2, r2 80a788e: 4614 mov r4, r2 80a7890: 4a6e ldr r2, [pc, #440] ; (80a7a4c ) 80a7892: 79d2 ldrb r2, [r2, #7] 80a7894: b2d2 uxtb r2, r2 80a7896: 4610 mov r0, r2 80a7898: 496d ldr r1, [pc, #436] ; (80a7a50 ) 80a789a: 00a2 lsls r2, r4, #2 80a789c: 440a add r2, r1 80a789e: 4402 add r2, r0 80a78a0: 7812 ldrb r2, [r2, #0] 80a78a2: 4413 add r3, r2 80a78a4: 3b01 subs r3, #1 80a78a6: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a78aa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a78ae: 333e adds r3, #62 ; 0x3e 80a78b0: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 7; j++) 80a78b4: 2300 movs r3, #0 80a78b6: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a78ba: e031 b.n 80a7920 if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80a78bc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a78c0: 009b lsls r3, r3, #2 80a78c2: f507 722e add.w r2, r7, #696 ; 0x2b8 80a78c6: 4413 add r3, r2 80a78c8: f853 3c8c ldr.w r3, [r3, #-140] 80a78cc: 461a mov r2, r3 80a78ce: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a78d2: 429a cmp r2, r3 80a78d4: d31f bcc.n 80a7916 80a78d6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a78da: 009b lsls r3, r3, #2 80a78dc: f507 722e add.w r2, r7, #696 ; 0x2b8 80a78e0: 4413 add r3, r2 80a78e2: f853 3c8c ldr.w r3, [r3, #-140] 80a78e6: 461a mov r2, r3 80a78e8: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a78ec: 429a cmp r2, r3 80a78ee: d812 bhi.n 80a7916 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80a78f0: 495a ldr r1, [pc, #360] ; (80a7a5c ) 80a78f2: 485b ldr r0, [pc, #364] ; (80a7a60 ) 80a78f4: f7ab ff76 bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a78f8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a78fc: b298 uxth r0, r3 80a78fe: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7902: b29a uxth r2, r3 80a7904: 23da movs r3, #218 ; 0xda 80a7906: 212c movs r1, #44 ; 0x2c 80a7908: f7ac f9a6 bl 8053c58 n++; 80a790c: f8d7 32a4 ldr.w r3, [r7, #676] ; 0x2a4 80a7910: 3301 adds r3, #1 80a7912: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 for(j = 0; j < 7; j++) 80a7916: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a791a: 3301 adds r3, #1 80a791c: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a7920: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7924: 2b06 cmp r3, #6 80a7926: d9c9 bls.n 80a78bc for(i = 0; i < 256; i++) 80a7928: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a792c: 3301 adds r3, #1 80a792e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7932: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7936: 2bff cmp r3, #255 ; 0xff 80a7938: f67f af46 bls.w 80a77c8 break; 80a793c: f001 ba93 b.w 80a8e66 n = 0; 80a7940: 2300 movs r3, #0 80a7942: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80a7946: 4b47 ldr r3, [pc, #284] ; (80a7a64 ) 80a7948: 2200 movs r2, #0 80a794a: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a794c: 2300 movs r3, #0 80a794e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7952: e142 b.n 80a7bda arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a7954: 4b3c ldr r3, [pc, #240] ; (80a7a48 ) 80a7956: 781b ldrb r3, [r3, #0] 80a7958: b2db uxtb r3, r3 80a795a: 4618 mov r0, r3 80a795c: 4b3b ldr r3, [pc, #236] ; (80a7a4c ) 80a795e: 79db ldrb r3, [r3, #7] 80a7960: b2db uxtb r3, r3 80a7962: 4619 mov r1, r3 80a7964: 4a3a ldr r2, [pc, #232] ; (80a7a50 ) 80a7966: 0083 lsls r3, r0, #2 80a7968: 4413 add r3, r2 80a796a: 440b add r3, r1 80a796c: 781b ldrb r3, [r3, #0] 80a796e: 461a mov r2, r3 80a7970: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7974: fb03 f302 mul.w r3, r3, r2 80a7978: 4a36 ldr r2, [pc, #216] ; (80a7a54 ) 80a797a: 8812 ldrh r2, [r2, #0] 80a797c: b292 uxth r2, r2 80a797e: 4413 add r3, r2 80a7980: 009a lsls r2, r3, #2 80a7982: 4b35 ldr r3, [pc, #212] ; (80a7a58 ) 80a7984: 4413 add r3, r2 80a7986: 461c mov r4, r3 80a7988: 4b2f ldr r3, [pc, #188] ; (80a7a48 ) 80a798a: 781b ldrb r3, [r3, #0] 80a798c: b2db uxtb r3, r3 80a798e: 4618 mov r0, r3 80a7990: 4b2e ldr r3, [pc, #184] ; (80a7a4c ) 80a7992: 79db ldrb r3, [r3, #7] 80a7994: b2db uxtb r3, r3 80a7996: 4619 mov r1, r3 80a7998: 4a2d ldr r2, [pc, #180] ; (80a7a50 ) 80a799a: 0083 lsls r3, r0, #2 80a799c: 4413 add r3, r2 80a799e: 440b add r3, r1 80a79a0: 781b ldrb r3, [r3, #0] 80a79a2: 4618 mov r0, r3 80a79a4: f507 711a add.w r1, r7, #616 ; 0x268 80a79a8: f507 731e add.w r3, r7, #632 ; 0x278 80a79ac: 1d1a adds r2, r3, #4 80a79ae: 460b mov r3, r1 80a79b0: 4601 mov r1, r0 80a79b2: 4620 mov r0, r4 80a79b4: f022 fb9e bl 80ca0f4 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a79b8: 4b23 ldr r3, [pc, #140] ; (80a7a48 ) 80a79ba: 781b ldrb r3, [r3, #0] 80a79bc: b2db uxtb r3, r3 80a79be: 4618 mov r0, r3 80a79c0: 4b22 ldr r3, [pc, #136] ; (80a7a4c ) 80a79c2: 79db ldrb r3, [r3, #7] 80a79c4: b2db uxtb r3, r3 80a79c6: 4619 mov r1, r3 80a79c8: 4a21 ldr r2, [pc, #132] ; (80a7a50 ) 80a79ca: 0083 lsls r3, r0, #2 80a79cc: 4413 add r3, r2 80a79ce: 440b add r3, r1 80a79d0: 781b ldrb r3, [r3, #0] 80a79d2: 461a mov r2, r3 80a79d4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a79d8: fb03 f302 mul.w r3, r3, r2 80a79dc: 4a1d ldr r2, [pc, #116] ; (80a7a54 ) 80a79de: 8812 ldrh r2, [r2, #0] 80a79e0: b292 uxth r2, r2 80a79e2: 4413 add r3, r2 80a79e4: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a79e8: 4b17 ldr r3, [pc, #92] ; (80a7a48 ) 80a79ea: 781b ldrb r3, [r3, #0] 80a79ec: b2db uxtb r3, r3 80a79ee: 4618 mov r0, r3 80a79f0: 4b16 ldr r3, [pc, #88] ; (80a7a4c ) 80a79f2: 79db ldrb r3, [r3, #7] 80a79f4: b2db uxtb r3, r3 80a79f6: 4619 mov r1, r3 80a79f8: 4a15 ldr r2, [pc, #84] ; (80a7a50 ) 80a79fa: 0083 lsls r3, r0, #2 80a79fc: 4413 add r3, r2 80a79fe: 440b add r3, r1 80a7a00: 781b ldrb r3, [r3, #0] 80a7a02: 461a mov r2, r3 80a7a04: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7a08: fb03 f302 mul.w r3, r3, r2 80a7a0c: 4a11 ldr r2, [pc, #68] ; (80a7a54 ) 80a7a0e: 8812 ldrh r2, [r2, #0] 80a7a10: b292 uxth r2, r2 80a7a12: 4413 add r3, r2 80a7a14: 4a0c ldr r2, [pc, #48] ; (80a7a48 ) 80a7a16: 7812 ldrb r2, [r2, #0] 80a7a18: b2d2 uxtb r2, r2 80a7a1a: 4614 mov r4, r2 80a7a1c: 4a0b ldr r2, [pc, #44] ; (80a7a4c ) 80a7a1e: 79d2 ldrb r2, [r2, #7] 80a7a20: b2d2 uxtb r2, r2 80a7a22: 4610 mov r0, r2 80a7a24: 490a ldr r1, [pc, #40] ; (80a7a50 ) 80a7a26: 00a2 lsls r2, r4, #2 80a7a28: 440a add r2, r1 80a7a2a: 4402 add r2, r0 80a7a2c: 7812 ldrb r2, [r2, #0] 80a7a2e: 4413 add r3, r2 80a7a30: 3b01 subs r3, #1 80a7a32: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a7a36: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7a3a: 333e adds r3, #62 ; 0x3e 80a7a3c: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 11; j++) 80a7a40: 2300 movs r3, #0 80a7a42: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a7a46: e0be b.n 80a7bc6 80a7a48: 20020f74 .word 0x20020f74 80a7a4c: 20023e60 .word 0x20023e60 80a7a50: 080ef64c .word 0x080ef64c 80a7a54: 20025d1e .word 0x20025d1e 80a7a58: 64080000 .word 0x64080000 80a7a5c: ff0a0f1f .word 0xff0a0f1f 80a7a60: ff66a6d3 .word 0xff66a6d3 80a7a64: 2002164e .word 0x2002164e if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80a7a68: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7a6c: 009b lsls r3, r3, #2 80a7a6e: f507 722e add.w r2, r7, #696 ; 0x2b8 80a7a72: 4413 add r3, r2 80a7a74: f853 3c8c ldr.w r3, [r3, #-140] 80a7a78: 461a mov r2, r3 80a7a7a: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a7a7e: 429a cmp r2, r3 80a7a80: f0c0 809c bcc.w 80a7bbc 80a7a84: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7a88: 009b lsls r3, r3, #2 80a7a8a: f507 722e add.w r2, r7, #696 ; 0x2b8 80a7a8e: 4413 add r3, r2 80a7a90: f853 3c8c ldr.w r3, [r3, #-140] 80a7a94: 461a mov r2, r3 80a7a96: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a7a9a: 429a cmp r2, r3 80a7a9c: f200 808e bhi.w 80a7bbc LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80a7aa0: 49c2 ldr r1, [pc, #776] ; (80a7dac ) 80a7aa2: 48c3 ldr r0, [pc, #780] ; (80a7db0 ) 80a7aa4: f7ab fe9e bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a7aa8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7aac: b298 uxth r0, r3 80a7aae: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7ab2: b29a uxth r2, r3 80a7ab4: 23da movs r3, #218 ; 0xda 80a7ab6: 212c movs r1, #44 ; 0x2c 80a7ab8: f7ac f8ce bl 8053c58 if(j & 1) 80a7abc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7ac0: f003 0301 and.w r3, r3, #1 80a7ac4: 2b00 cmp r3, #0 80a7ac6: d079 beq.n 80a7bbc if(ViewLevel < 2) 80a7ac8: 4bba ldr r3, [pc, #744] ; (80a7db4 ) 80a7aca: 781b ldrb r3, [r3, #0] 80a7acc: b2db uxtb r3, r3 80a7ace: 2b01 cmp r3, #1 80a7ad0: d826 bhi.n 80a7b20 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80a7ad2: 4bb8 ldr r3, [pc, #736] ; (80a7db4 ) 80a7ad4: 781b ldrb r3, [r3, #0] 80a7ad6: b2db uxtb r3, r3 80a7ad8: 4618 mov r0, r3 80a7ada: 4bb7 ldr r3, [pc, #732] ; (80a7db8 ) 80a7adc: 79db ldrb r3, [r3, #7] 80a7ade: b2db uxtb r3, r3 80a7ae0: 4619 mov r1, r3 80a7ae2: 4ab6 ldr r2, [pc, #728] ; (80a7dbc ) 80a7ae4: 0083 lsls r3, r0, #2 80a7ae6: 4413 add r3, r2 80a7ae8: 440b add r3, r1 80a7aea: 781b ldrb r3, [r3, #0] 80a7aec: 461a mov r2, r3 80a7aee: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7af2: fb03 f302 mul.w r3, r3, r2 80a7af6: 4ab2 ldr r2, [pc, #712] ; (80a7dc0 ) 80a7af8: 8812 ldrh r2, [r2, #0] 80a7afa: b292 uxth r2, r2 80a7afc: 4413 add r3, r2 80a7afe: 2b00 cmp r3, #0 80a7b00: d05c beq.n 80a7bbc BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80a7b02: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7b06: b29b uxth r3, r3 80a7b08: 3b01 subs r3, #1 80a7b0a: b298 uxth r0, r3 80a7b0c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7b10: b29b uxth r3, r3 80a7b12: 3b01 subs r3, #1 80a7b14: b29a uxth r2, r3 80a7b16: 23da movs r3, #218 ; 0xda 80a7b18: 212c movs r1, #44 ; 0x2c 80a7b1a: f7ac f89d bl 8053c58 80a7b1e: e04d b.n 80a7bbc if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80a7b20: 4ba4 ldr r3, [pc, #656] ; (80a7db4 ) 80a7b22: 781b ldrb r3, [r3, #0] 80a7b24: b2db uxtb r3, r3 80a7b26: 4618 mov r0, r3 80a7b28: 4ba3 ldr r3, [pc, #652] ; (80a7db8 ) 80a7b2a: 79db ldrb r3, [r3, #7] 80a7b2c: b2db uxtb r3, r3 80a7b2e: 4619 mov r1, r3 80a7b30: 4aa2 ldr r2, [pc, #648] ; (80a7dbc ) 80a7b32: 0083 lsls r3, r0, #2 80a7b34: 4413 add r3, r2 80a7b36: 440b add r3, r1 80a7b38: 781b ldrb r3, [r3, #0] 80a7b3a: 461a mov r2, r3 80a7b3c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7b40: fb03 f302 mul.w r3, r3, r2 80a7b44: 4a9e ldr r2, [pc, #632] ; (80a7dc0 ) 80a7b46: 8812 ldrh r2, [r2, #0] 80a7b48: b292 uxth r2, r2 80a7b4a: 4413 add r3, r2 80a7b4c: 2b00 cmp r3, #0 80a7b4e: d00d beq.n 80a7b6c BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80a7b50: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7b54: b29b uxth r3, r3 80a7b56: 3b01 subs r3, #1 80a7b58: b298 uxth r0, r3 80a7b5a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7b5e: b29b uxth r3, r3 80a7b60: 3b01 subs r3, #1 80a7b62: b29a uxth r2, r3 80a7b64: 23da movs r3, #218 ; 0xda 80a7b66: 212c movs r1, #44 ; 0x2c 80a7b68: f7ac f876 bl 8053c58 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 < 4095) 80a7b6c: 4b91 ldr r3, [pc, #580] ; (80a7db4 ) 80a7b6e: 781b ldrb r3, [r3, #0] 80a7b70: b2db uxtb r3, r3 80a7b72: 4618 mov r0, r3 80a7b74: 4b90 ldr r3, [pc, #576] ; (80a7db8 ) 80a7b76: 79db ldrb r3, [r3, #7] 80a7b78: b2db uxtb r3, r3 80a7b7a: 4619 mov r1, r3 80a7b7c: 4a8f ldr r2, [pc, #572] ; (80a7dbc ) 80a7b7e: 0083 lsls r3, r0, #2 80a7b80: 4413 add r3, r2 80a7b82: 440b add r3, r1 80a7b84: 781b ldrb r3, [r3, #0] 80a7b86: 461a mov r2, r3 80a7b88: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7b8c: fb03 f302 mul.w r3, r3, r2 80a7b90: 4a8b ldr r2, [pc, #556] ; (80a7dc0 ) 80a7b92: 8812 ldrh r2, [r2, #0] 80a7b94: b292 uxth r2, r2 80a7b96: 4413 add r3, r2 80a7b98: f640 72fe movw r2, #4094 ; 0xffe 80a7b9c: 4293 cmp r3, r2 80a7b9e: d80d bhi.n 80a7bbc BSP_LCD_DrawLine(x+1, 44, x+1, 218); 80a7ba0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7ba4: b29b uxth r3, r3 80a7ba6: 3301 adds r3, #1 80a7ba8: b298 uxth r0, r3 80a7baa: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7bae: b29b uxth r3, r3 80a7bb0: 3301 adds r3, #1 80a7bb2: b29a uxth r2, r3 80a7bb4: 23da movs r3, #218 ; 0xda 80a7bb6: 212c movs r1, #44 ; 0x2c 80a7bb8: f7ac f84e bl 8053c58 for(j = 0; j < 11; j++) 80a7bbc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7bc0: 3301 adds r3, #1 80a7bc2: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a7bc6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7bca: 2b0a cmp r3, #10 80a7bcc: f67f af4c bls.w 80a7a68 for(i = 0; i < 256; i++) 80a7bd0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7bd4: 3301 adds r3, #1 80a7bd6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7bda: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7bde: 2bff cmp r3, #255 ; 0xff 80a7be0: f67f aeb8 bls.w 80a7954 break; 80a7be4: f001 b93f b.w 80a8e66 n = 0; 80a7be8: 2300 movs r3, #0 80a7bea: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80a7bee: 4b75 ldr r3, [pc, #468] ; (80a7dc4 ) 80a7bf0: 2200 movs r2, #0 80a7bf2: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a7bf4: 2300 movs r3, #0 80a7bf6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7bfa: e146 b.n 80a7e8a arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a7bfc: 4b6d ldr r3, [pc, #436] ; (80a7db4 ) 80a7bfe: 781b ldrb r3, [r3, #0] 80a7c00: b2db uxtb r3, r3 80a7c02: 4618 mov r0, r3 80a7c04: 4b6c ldr r3, [pc, #432] ; (80a7db8 ) 80a7c06: 79db ldrb r3, [r3, #7] 80a7c08: b2db uxtb r3, r3 80a7c0a: 4619 mov r1, r3 80a7c0c: 4a6b ldr r2, [pc, #428] ; (80a7dbc ) 80a7c0e: 0083 lsls r3, r0, #2 80a7c10: 4413 add r3, r2 80a7c12: 440b add r3, r1 80a7c14: 781b ldrb r3, [r3, #0] 80a7c16: 461a mov r2, r3 80a7c18: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7c1c: fb03 f302 mul.w r3, r3, r2 80a7c20: 4a67 ldr r2, [pc, #412] ; (80a7dc0 ) 80a7c22: 8812 ldrh r2, [r2, #0] 80a7c24: b292 uxth r2, r2 80a7c26: 4413 add r3, r2 80a7c28: 009a lsls r2, r3, #2 80a7c2a: 4b67 ldr r3, [pc, #412] ; (80a7dc8 ) 80a7c2c: 4413 add r3, r2 80a7c2e: 461c mov r4, r3 80a7c30: 4b60 ldr r3, [pc, #384] ; (80a7db4 ) 80a7c32: 781b ldrb r3, [r3, #0] 80a7c34: b2db uxtb r3, r3 80a7c36: 4618 mov r0, r3 80a7c38: 4b5f ldr r3, [pc, #380] ; (80a7db8 ) 80a7c3a: 79db ldrb r3, [r3, #7] 80a7c3c: b2db uxtb r3, r3 80a7c3e: 4619 mov r1, r3 80a7c40: 4a5e ldr r2, [pc, #376] ; (80a7dbc ) 80a7c42: 0083 lsls r3, r0, #2 80a7c44: 4413 add r3, r2 80a7c46: 440b add r3, r1 80a7c48: 781b ldrb r3, [r3, #0] 80a7c4a: 4618 mov r0, r3 80a7c4c: f507 711a add.w r1, r7, #616 ; 0x268 80a7c50: f507 731e add.w r3, r7, #632 ; 0x278 80a7c54: 1d1a adds r2, r3, #4 80a7c56: 460b mov r3, r1 80a7c58: 4601 mov r1, r0 80a7c5a: 4620 mov r0, r4 80a7c5c: f022 fa4a bl 80ca0f4 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a7c60: 4b54 ldr r3, [pc, #336] ; (80a7db4 ) 80a7c62: 781b ldrb r3, [r3, #0] 80a7c64: b2db uxtb r3, r3 80a7c66: 4618 mov r0, r3 80a7c68: 4b53 ldr r3, [pc, #332] ; (80a7db8 ) 80a7c6a: 79db ldrb r3, [r3, #7] 80a7c6c: b2db uxtb r3, r3 80a7c6e: 4619 mov r1, r3 80a7c70: 4a52 ldr r2, [pc, #328] ; (80a7dbc ) 80a7c72: 0083 lsls r3, r0, #2 80a7c74: 4413 add r3, r2 80a7c76: 440b add r3, r1 80a7c78: 781b ldrb r3, [r3, #0] 80a7c7a: 461a mov r2, r3 80a7c7c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7c80: fb03 f302 mul.w r3, r3, r2 80a7c84: 4a4e ldr r2, [pc, #312] ; (80a7dc0 ) 80a7c86: 8812 ldrh r2, [r2, #0] 80a7c88: b292 uxth r2, r2 80a7c8a: 4413 add r3, r2 80a7c8c: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a7c90: 4b48 ldr r3, [pc, #288] ; (80a7db4 ) 80a7c92: 781b ldrb r3, [r3, #0] 80a7c94: b2db uxtb r3, r3 80a7c96: 4618 mov r0, r3 80a7c98: 4b47 ldr r3, [pc, #284] ; (80a7db8 ) 80a7c9a: 79db ldrb r3, [r3, #7] 80a7c9c: b2db uxtb r3, r3 80a7c9e: 4619 mov r1, r3 80a7ca0: 4a46 ldr r2, [pc, #280] ; (80a7dbc ) 80a7ca2: 0083 lsls r3, r0, #2 80a7ca4: 4413 add r3, r2 80a7ca6: 440b add r3, r1 80a7ca8: 781b ldrb r3, [r3, #0] 80a7caa: 461a mov r2, r3 80a7cac: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7cb0: fb03 f302 mul.w r3, r3, r2 80a7cb4: 4a42 ldr r2, [pc, #264] ; (80a7dc0 ) 80a7cb6: 8812 ldrh r2, [r2, #0] 80a7cb8: b292 uxth r2, r2 80a7cba: 4413 add r3, r2 80a7cbc: 4a3d ldr r2, [pc, #244] ; (80a7db4 ) 80a7cbe: 7812 ldrb r2, [r2, #0] 80a7cc0: b2d2 uxtb r2, r2 80a7cc2: 4614 mov r4, r2 80a7cc4: 4a3c ldr r2, [pc, #240] ; (80a7db8 ) 80a7cc6: 79d2 ldrb r2, [r2, #7] 80a7cc8: b2d2 uxtb r2, r2 80a7cca: 4610 mov r0, r2 80a7ccc: 493b ldr r1, [pc, #236] ; (80a7dbc ) 80a7cce: 00a2 lsls r2, r4, #2 80a7cd0: 440a add r2, r1 80a7cd2: 4402 add r2, r0 80a7cd4: 7812 ldrb r2, [r2, #0] 80a7cd6: 4413 add r3, r2 80a7cd8: 3b01 subs r3, #1 80a7cda: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a7cde: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7ce2: 333e adds r3, #62 ; 0x3e 80a7ce4: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 4; j++) 80a7ce8: 2300 movs r3, #0 80a7cea: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a7cee: e0c2 b.n 80a7e76 if((_Fn[j] >= iL) && (_Fn[j] <= iR)) 80a7cf0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7cf4: 009b lsls r3, r3, #2 80a7cf6: f507 722e add.w r2, r7, #696 ; 0x2b8 80a7cfa: 4413 add r3, r2 80a7cfc: f853 3cc8 ldr.w r3, [r3, #-200] 80a7d00: 461a mov r2, r3 80a7d02: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a7d06: 429a cmp r2, r3 80a7d08: f0c0 80b0 bcc.w 80a7e6c 80a7d0c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7d10: 009b lsls r3, r3, #2 80a7d12: f507 722e add.w r2, r7, #696 ; 0x2b8 80a7d16: 4413 add r3, r2 80a7d18: f853 3cc8 ldr.w r3, [r3, #-200] 80a7d1c: 461a mov r2, r3 80a7d1e: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a7d22: 429a cmp r2, r3 80a7d24: f200 80a2 bhi.w 80a7e6c LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a7d28: 4920 ldr r1, [pc, #128] ; (80a7dac ) 80a7d2a: 4828 ldr r0, [pc, #160] ; (80a7dcc ) 80a7d2c: f7ab fd5a bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a7d30: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7d34: b298 uxth r0, r3 80a7d36: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7d3a: b29a uxth r2, r3 80a7d3c: 23da movs r3, #218 ; 0xda 80a7d3e: 212c movs r1, #44 ; 0x2c 80a7d40: f7ab ff8a bl 8053c58 if(j & 1) 80a7d44: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7d48: f003 0301 and.w r3, r3, #1 80a7d4c: 2b00 cmp r3, #0 80a7d4e: f000 808d beq.w 80a7e6c if(ViewLevel < 2) 80a7d52: 4b18 ldr r3, [pc, #96] ; (80a7db4 ) 80a7d54: 781b ldrb r3, [r3, #0] 80a7d56: b2db uxtb r3, r3 80a7d58: 2b01 cmp r3, #1 80a7d5a: d839 bhi.n 80a7dd0 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80a7d5c: 4b15 ldr r3, [pc, #84] ; (80a7db4 ) 80a7d5e: 781b ldrb r3, [r3, #0] 80a7d60: b2db uxtb r3, r3 80a7d62: 4618 mov r0, r3 80a7d64: 4b14 ldr r3, [pc, #80] ; (80a7db8 ) 80a7d66: 79db ldrb r3, [r3, #7] 80a7d68: b2db uxtb r3, r3 80a7d6a: 4619 mov r1, r3 80a7d6c: 4a13 ldr r2, [pc, #76] ; (80a7dbc ) 80a7d6e: 0083 lsls r3, r0, #2 80a7d70: 4413 add r3, r2 80a7d72: 440b add r3, r1 80a7d74: 781b ldrb r3, [r3, #0] 80a7d76: 461a mov r2, r3 80a7d78: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7d7c: fb03 f302 mul.w r3, r3, r2 80a7d80: 4a0f ldr r2, [pc, #60] ; (80a7dc0 ) 80a7d82: 8812 ldrh r2, [r2, #0] 80a7d84: b292 uxth r2, r2 80a7d86: 4413 add r3, r2 80a7d88: 2b00 cmp r3, #0 80a7d8a: d06f beq.n 80a7e6c BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80a7d8c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7d90: b29b uxth r3, r3 80a7d92: 3b01 subs r3, #1 80a7d94: b298 uxth r0, r3 80a7d96: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7d9a: b29b uxth r3, r3 80a7d9c: 3b01 subs r3, #1 80a7d9e: b29a uxth r2, r3 80a7da0: 23da movs r3, #218 ; 0xda 80a7da2: 212c movs r1, #44 ; 0x2c 80a7da4: f7ab ff58 bl 8053c58 80a7da8: e060 b.n 80a7e6c 80a7daa: bf00 nop 80a7dac: ff0a0f1f .word 0xff0a0f1f 80a7db0: ff66a6d3 .word 0xff66a6d3 80a7db4: 20020f74 .word 0x20020f74 80a7db8: 20023e60 .word 0x20023e60 80a7dbc: 080ef64c .word 0x080ef64c 80a7dc0: 20025d1e .word 0x20025d1e 80a7dc4: 2002164e .word 0x2002164e 80a7dc8: 64080000 .word 0x64080000 80a7dcc: ff800080 .word 0xff800080 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80a7dd0: 4bbb ldr r3, [pc, #748] ; (80a80c0 ) 80a7dd2: 781b ldrb r3, [r3, #0] 80a7dd4: b2db uxtb r3, r3 80a7dd6: 4618 mov r0, r3 80a7dd8: 4bba ldr r3, [pc, #744] ; (80a80c4 ) 80a7dda: 79db ldrb r3, [r3, #7] 80a7ddc: b2db uxtb r3, r3 80a7dde: 4619 mov r1, r3 80a7de0: 4ab9 ldr r2, [pc, #740] ; (80a80c8 ) 80a7de2: 0083 lsls r3, r0, #2 80a7de4: 4413 add r3, r2 80a7de6: 440b add r3, r1 80a7de8: 781b ldrb r3, [r3, #0] 80a7dea: 461a mov r2, r3 80a7dec: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7df0: fb03 f302 mul.w r3, r3, r2 80a7df4: 4ab5 ldr r2, [pc, #724] ; (80a80cc ) 80a7df6: 8812 ldrh r2, [r2, #0] 80a7df8: b292 uxth r2, r2 80a7dfa: 4413 add r3, r2 80a7dfc: 2b00 cmp r3, #0 80a7dfe: d00d beq.n 80a7e1c BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80a7e00: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7e04: b29b uxth r3, r3 80a7e06: 3b01 subs r3, #1 80a7e08: b298 uxth r0, r3 80a7e0a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7e0e: b29b uxth r3, r3 80a7e10: 3b01 subs r3, #1 80a7e12: b29a uxth r2, r3 80a7e14: 23da movs r3, #218 ; 0xda 80a7e16: 212c movs r1, #44 ; 0x2c 80a7e18: f7ab ff1e bl 8053c58 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 < 4095) 80a7e1c: 4ba8 ldr r3, [pc, #672] ; (80a80c0 ) 80a7e1e: 781b ldrb r3, [r3, #0] 80a7e20: b2db uxtb r3, r3 80a7e22: 4618 mov r0, r3 80a7e24: 4ba7 ldr r3, [pc, #668] ; (80a80c4 ) 80a7e26: 79db ldrb r3, [r3, #7] 80a7e28: b2db uxtb r3, r3 80a7e2a: 4619 mov r1, r3 80a7e2c: 4aa6 ldr r2, [pc, #664] ; (80a80c8 ) 80a7e2e: 0083 lsls r3, r0, #2 80a7e30: 4413 add r3, r2 80a7e32: 440b add r3, r1 80a7e34: 781b ldrb r3, [r3, #0] 80a7e36: 461a mov r2, r3 80a7e38: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7e3c: fb03 f302 mul.w r3, r3, r2 80a7e40: 4aa2 ldr r2, [pc, #648] ; (80a80cc ) 80a7e42: 8812 ldrh r2, [r2, #0] 80a7e44: b292 uxth r2, r2 80a7e46: 4413 add r3, r2 80a7e48: f640 72fe movw r2, #4094 ; 0xffe 80a7e4c: 4293 cmp r3, r2 80a7e4e: d80d bhi.n 80a7e6c BSP_LCD_DrawLine(x+1, 44, x+1, 218); 80a7e50: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7e54: b29b uxth r3, r3 80a7e56: 3301 adds r3, #1 80a7e58: b298 uxth r0, r3 80a7e5a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7e5e: b29b uxth r3, r3 80a7e60: 3301 adds r3, #1 80a7e62: b29a uxth r2, r3 80a7e64: 23da movs r3, #218 ; 0xda 80a7e66: 212c movs r1, #44 ; 0x2c 80a7e68: f7ab fef6 bl 8053c58 for(j = 0; j < 4; j++) 80a7e6c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7e70: 3301 adds r3, #1 80a7e72: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a7e76: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7e7a: 2b03 cmp r3, #3 80a7e7c: f67f af38 bls.w 80a7cf0 for(i = 0; i < 256; i++) 80a7e80: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7e84: 3301 adds r3, #1 80a7e86: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7e8a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7e8e: 2bff cmp r3, #255 ; 0xff 80a7e90: f67f aeb4 bls.w 80a7bfc break; 80a7e94: f000 bfe7 b.w 80a8e66 n = 0; 80a7e98: 2300 movs r3, #0 80a7e9a: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80a7e9e: 4b8c ldr r3, [pc, #560] ; (80a80d0 ) 80a7ea0: 2200 movs r2, #0 80a7ea2: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a7ea4: 2300 movs r3, #0 80a7ea6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a7eaa: e0b9 b.n 80a8020 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a7eac: 4b84 ldr r3, [pc, #528] ; (80a80c0 ) 80a7eae: 781b ldrb r3, [r3, #0] 80a7eb0: b2db uxtb r3, r3 80a7eb2: 4618 mov r0, r3 80a7eb4: 4b83 ldr r3, [pc, #524] ; (80a80c4 ) 80a7eb6: 79db ldrb r3, [r3, #7] 80a7eb8: b2db uxtb r3, r3 80a7eba: 4619 mov r1, r3 80a7ebc: 4a82 ldr r2, [pc, #520] ; (80a80c8 ) 80a7ebe: 0083 lsls r3, r0, #2 80a7ec0: 4413 add r3, r2 80a7ec2: 440b add r3, r1 80a7ec4: 781b ldrb r3, [r3, #0] 80a7ec6: 461a mov r2, r3 80a7ec8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7ecc: fb03 f302 mul.w r3, r3, r2 80a7ed0: 4a7e ldr r2, [pc, #504] ; (80a80cc ) 80a7ed2: 8812 ldrh r2, [r2, #0] 80a7ed4: b292 uxth r2, r2 80a7ed6: 4413 add r3, r2 80a7ed8: 009a lsls r2, r3, #2 80a7eda: 4b7e ldr r3, [pc, #504] ; (80a80d4 ) 80a7edc: 4413 add r3, r2 80a7ede: 461c mov r4, r3 80a7ee0: 4b77 ldr r3, [pc, #476] ; (80a80c0 ) 80a7ee2: 781b ldrb r3, [r3, #0] 80a7ee4: b2db uxtb r3, r3 80a7ee6: 4618 mov r0, r3 80a7ee8: 4b76 ldr r3, [pc, #472] ; (80a80c4 ) 80a7eea: 79db ldrb r3, [r3, #7] 80a7eec: b2db uxtb r3, r3 80a7eee: 4619 mov r1, r3 80a7ef0: 4a75 ldr r2, [pc, #468] ; (80a80c8 ) 80a7ef2: 0083 lsls r3, r0, #2 80a7ef4: 4413 add r3, r2 80a7ef6: 440b add r3, r1 80a7ef8: 781b ldrb r3, [r3, #0] 80a7efa: 4618 mov r0, r3 80a7efc: f507 711a add.w r1, r7, #616 ; 0x268 80a7f00: f507 731e add.w r3, r7, #632 ; 0x278 80a7f04: 1d1a adds r2, r3, #4 80a7f06: 460b mov r3, r1 80a7f08: 4601 mov r1, r0 80a7f0a: 4620 mov r0, r4 80a7f0c: f022 f8f2 bl 80ca0f4 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a7f10: 4b6b ldr r3, [pc, #428] ; (80a80c0 ) 80a7f12: 781b ldrb r3, [r3, #0] 80a7f14: b2db uxtb r3, r3 80a7f16: 4618 mov r0, r3 80a7f18: 4b6a ldr r3, [pc, #424] ; (80a80c4 ) 80a7f1a: 79db ldrb r3, [r3, #7] 80a7f1c: b2db uxtb r3, r3 80a7f1e: 4619 mov r1, r3 80a7f20: 4a69 ldr r2, [pc, #420] ; (80a80c8 ) 80a7f22: 0083 lsls r3, r0, #2 80a7f24: 4413 add r3, r2 80a7f26: 440b add r3, r1 80a7f28: 781b ldrb r3, [r3, #0] 80a7f2a: 461a mov r2, r3 80a7f2c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7f30: fb03 f302 mul.w r3, r3, r2 80a7f34: 4a65 ldr r2, [pc, #404] ; (80a80cc ) 80a7f36: 8812 ldrh r2, [r2, #0] 80a7f38: b292 uxth r2, r2 80a7f3a: 4413 add r3, r2 80a7f3c: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a7f40: 4b5f ldr r3, [pc, #380] ; (80a80c0 ) 80a7f42: 781b ldrb r3, [r3, #0] 80a7f44: b2db uxtb r3, r3 80a7f46: 4618 mov r0, r3 80a7f48: 4b5e ldr r3, [pc, #376] ; (80a80c4 ) 80a7f4a: 79db ldrb r3, [r3, #7] 80a7f4c: b2db uxtb r3, r3 80a7f4e: 4619 mov r1, r3 80a7f50: 4a5d ldr r2, [pc, #372] ; (80a80c8 ) 80a7f52: 0083 lsls r3, r0, #2 80a7f54: 4413 add r3, r2 80a7f56: 440b add r3, r1 80a7f58: 781b ldrb r3, [r3, #0] 80a7f5a: 461a mov r2, r3 80a7f5c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7f60: fb03 f302 mul.w r3, r3, r2 80a7f64: 4a59 ldr r2, [pc, #356] ; (80a80cc ) 80a7f66: 8812 ldrh r2, [r2, #0] 80a7f68: b292 uxth r2, r2 80a7f6a: 4413 add r3, r2 80a7f6c: 4a54 ldr r2, [pc, #336] ; (80a80c0 ) 80a7f6e: 7812 ldrb r2, [r2, #0] 80a7f70: b2d2 uxtb r2, r2 80a7f72: 4614 mov r4, r2 80a7f74: 4a53 ldr r2, [pc, #332] ; (80a80c4 ) 80a7f76: 79d2 ldrb r2, [r2, #7] 80a7f78: b2d2 uxtb r2, r2 80a7f7a: 4610 mov r0, r2 80a7f7c: 4952 ldr r1, [pc, #328] ; (80a80c8 ) 80a7f7e: 00a2 lsls r2, r4, #2 80a7f80: 440a add r2, r1 80a7f82: 4402 add r2, r0 80a7f84: 7812 ldrb r2, [r2, #0] 80a7f86: 4413 add r3, r2 80a7f88: 3b01 subs r3, #1 80a7f8a: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a7f8e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7f92: 333e adds r3, #62 ; 0x3e 80a7f94: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 3; j++) 80a7f98: 2300 movs r3, #0 80a7f9a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a7f9e: e036 b.n 80a800e if((_Fn[j] >= iL) && (_Fn[j] <= iR)) 80a7fa0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7fa4: 009b lsls r3, r3, #2 80a7fa6: f507 722e add.w r2, r7, #696 ; 0x2b8 80a7faa: 4413 add r3, r2 80a7fac: f853 3cc8 ldr.w r3, [r3, #-200] 80a7fb0: 461a mov r2, r3 80a7fb2: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a7fb6: 429a cmp r2, r3 80a7fb8: d324 bcc.n 80a8004 80a7fba: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7fbe: 009b lsls r3, r3, #2 80a7fc0: f507 722e add.w r2, r7, #696 ; 0x2b8 80a7fc4: 4413 add r3, r2 80a7fc6: f853 3cc8 ldr.w r3, [r3, #-200] 80a7fca: 461a mov r2, r3 80a7fcc: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a7fd0: 429a cmp r2, r3 80a7fd2: d817 bhi.n 80a8004 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a7fd4: 4940 ldr r1, [pc, #256] ; (80a80d8 ) 80a7fd6: 4841 ldr r0, [pc, #260] ; (80a80dc ) 80a7fd8: f7ab fc04 bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a7fdc: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7fe0: b298 uxth r0, r3 80a7fe2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a7fe6: b29a uxth r2, r3 80a7fe8: 23da movs r3, #218 ; 0xda 80a7fea: 212c movs r1, #44 ; 0x2c 80a7fec: f7ab fe34 bl 8053c58 nnn[j] = i; 80a7ff0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a7ff4: b2d9 uxtb r1, r3 80a7ff6: f107 020c add.w r2, r7, #12 80a7ffa: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a7ffe: 4413 add r3, r2 80a8000: 460a mov r2, r1 80a8002: 701a strb r2, [r3, #0] for(j = 0; j < 3; j++) 80a8004: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8008: 3301 adds r3, #1 80a800a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a800e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8012: 2b02 cmp r3, #2 80a8014: d9c4 bls.n 80a7fa0 for(i = 0; i < 256; i++) 80a8016: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a801a: 3301 adds r3, #1 80a801c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8020: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8024: 2bff cmp r3, #255 ; 0xff 80a8026: f67f af41 bls.w 80a7eac if((!nnn[2]) && (!nnn[1]) && (!nnn[0])) 80a802a: f107 030c add.w r3, r7, #12 80a802e: 789b ldrb r3, [r3, #2] 80a8030: 2b00 cmp r3, #0 80a8032: d10a bne.n 80a804a 80a8034: f107 030c add.w r3, r7, #12 80a8038: 785b ldrb r3, [r3, #1] 80a803a: 2b00 cmp r3, #0 80a803c: d105 bne.n 80a804a 80a803e: f107 030c add.w r3, r7, #12 80a8042: 781b ldrb r3, [r3, #0] 80a8044: 2b00 cmp r3, #0 80a8046: f000 80e0 beq.w 80a820a if((!nnn[2]) && (!nnn[1]) && (nnn[0])) 80a804a: f107 030c add.w r3, r7, #12 80a804e: 789b ldrb r3, [r3, #2] 80a8050: 2b00 cmp r3, #0 80a8052: d11a bne.n 80a808a 80a8054: f107 030c add.w r3, r7, #12 80a8058: 785b ldrb r3, [r3, #1] 80a805a: 2b00 cmp r3, #0 80a805c: d115 bne.n 80a808a 80a805e: f107 030c add.w r3, r7, #12 80a8062: 781b ldrb r3, [r3, #0] 80a8064: 2b00 cmp r3, #0 80a8066: d010 beq.n 80a808a LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a8068: 491b ldr r1, [pc, #108] ; (80a80d8 ) 80a806a: 481c ldr r0, [pc, #112] ; (80a80dc ) 80a806c: f7ab fbba bl 80537e4 BSP_LCD_DrawLine(62 + 255, 98, 62 + nnn[0], 64); 80a8070: f107 030c add.w r3, r7, #12 80a8074: 781b ldrb r3, [r3, #0] 80a8076: b29b uxth r3, r3 80a8078: 333e adds r3, #62 ; 0x3e 80a807a: b29a uxth r2, r3 80a807c: 2340 movs r3, #64 ; 0x40 80a807e: 2162 movs r1, #98 ; 0x62 80a8080: f240 103d movw r0, #317 ; 0x13d 80a8084: f7ab fde8 bl 8053c58 80a8088: e0bf b.n 80a820a if((!nnn[2]) && (nnn[1]) && (!nnn[0])) 80a808a: f107 030c add.w r3, r7, #12 80a808e: 789b ldrb r3, [r3, #2] 80a8090: 2b00 cmp r3, #0 80a8092: d125 bne.n 80a80e0 80a8094: f107 030c add.w r3, r7, #12 80a8098: 785b ldrb r3, [r3, #1] 80a809a: 2b00 cmp r3, #0 80a809c: d020 beq.n 80a80e0 80a809e: f107 030c add.w r3, r7, #12 80a80a2: 781b ldrb r3, [r3, #0] 80a80a4: 2b00 cmp r3, #0 80a80a6: d11b bne.n 80a80e0 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a80a8: 490b ldr r1, [pc, #44] ; (80a80d8 ) 80a80aa: 480c ldr r0, [pc, #48] ; (80a80dc ) 80a80ac: f7ab fb9a bl 80537e4 BSP_LCD_DrawLine(62 + 255, 98, 62, 64); 80a80b0: 2340 movs r3, #64 ; 0x40 80a80b2: 223e movs r2, #62 ; 0x3e 80a80b4: 2162 movs r1, #98 ; 0x62 80a80b6: f240 103d movw r0, #317 ; 0x13d 80a80ba: f7ab fdcd bl 8053c58 80a80be: e0a4 b.n 80a820a 80a80c0: 20020f74 .word 0x20020f74 80a80c4: 20023e60 .word 0x20023e60 80a80c8: 080ef64c .word 0x080ef64c 80a80cc: 20025d1e .word 0x20025d1e 80a80d0: 2002164e .word 0x2002164e 80a80d4: 64080000 .word 0x64080000 80a80d8: ff0a0f1f .word 0xff0a0f1f 80a80dc: ff800080 .word 0xff800080 if((!nnn[2]) && (nnn[1]) && (nnn[0])) 80a80e0: f107 030c add.w r3, r7, #12 80a80e4: 789b ldrb r3, [r3, #2] 80a80e6: 2b00 cmp r3, #0 80a80e8: d11a bne.n 80a8120 80a80ea: f107 030c add.w r3, r7, #12 80a80ee: 785b ldrb r3, [r3, #1] 80a80f0: 2b00 cmp r3, #0 80a80f2: d015 beq.n 80a8120 80a80f4: f107 030c add.w r3, r7, #12 80a80f8: 781b ldrb r3, [r3, #0] 80a80fa: 2b00 cmp r3, #0 80a80fc: d010 beq.n 80a8120 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a80fe: 49a6 ldr r1, [pc, #664] ; (80a8398 ) 80a8100: 48a6 ldr r0, [pc, #664] ; (80a839c ) 80a8102: f7ab fb6f bl 80537e4 BSP_LCD_DrawLine(62 + 255, 98, 62 + nnn[0], 64); 80a8106: f107 030c add.w r3, r7, #12 80a810a: 781b ldrb r3, [r3, #0] 80a810c: b29b uxth r3, r3 80a810e: 333e adds r3, #62 ; 0x3e 80a8110: b29a uxth r2, r3 80a8112: 2340 movs r3, #64 ; 0x40 80a8114: 2162 movs r1, #98 ; 0x62 80a8116: f240 103d movw r0, #317 ; 0x13d 80a811a: f7ab fd9d bl 8053c58 80a811e: e074 b.n 80a820a if((nnn[2]) && (!nnn[1]) && (!nnn[0])) 80a8120: f107 030c add.w r3, r7, #12 80a8124: 789b ldrb r3, [r3, #2] 80a8126: 2b00 cmp r3, #0 80a8128: d019 beq.n 80a815e 80a812a: f107 030c add.w r3, r7, #12 80a812e: 785b ldrb r3, [r3, #1] 80a8130: 2b00 cmp r3, #0 80a8132: d114 bne.n 80a815e 80a8134: f107 030c add.w r3, r7, #12 80a8138: 781b ldrb r3, [r3, #0] 80a813a: 2b00 cmp r3, #0 80a813c: d10f bne.n 80a815e LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a813e: 4996 ldr r1, [pc, #600] ; (80a8398 ) 80a8140: 4896 ldr r0, [pc, #600] ; (80a839c ) 80a8142: f7ab fb4f bl 80537e4 BSP_LCD_DrawLine(62 + nnn[2], 98, 62, 64); 80a8146: f107 030c add.w r3, r7, #12 80a814a: 789b ldrb r3, [r3, #2] 80a814c: b29b uxth r3, r3 80a814e: 333e adds r3, #62 ; 0x3e 80a8150: b298 uxth r0, r3 80a8152: 2340 movs r3, #64 ; 0x40 80a8154: 223e movs r2, #62 ; 0x3e 80a8156: 2162 movs r1, #98 ; 0x62 80a8158: f7ab fd7e bl 8053c58 80a815c: e055 b.n 80a820a if((nnn[2]) && (!nnn[1]) && (nnn[0])) 80a815e: f107 030c add.w r3, r7, #12 80a8162: 789b ldrb r3, [r3, #2] 80a8164: 2b00 cmp r3, #0 80a8166: d009 beq.n 80a817c 80a8168: f107 030c add.w r3, r7, #12 80a816c: 785b ldrb r3, [r3, #1] 80a816e: 2b00 cmp r3, #0 80a8170: d104 bne.n 80a817c 80a8172: f107 030c add.w r3, r7, #12 80a8176: 781b ldrb r3, [r3, #0] 80a8178: 2b00 cmp r3, #0 80a817a: d146 bne.n 80a820a if((nnn[2]) && (nnn[1]) && (!nnn[0])) 80a817c: f107 030c add.w r3, r7, #12 80a8180: 789b ldrb r3, [r3, #2] 80a8182: 2b00 cmp r3, #0 80a8184: d019 beq.n 80a81ba 80a8186: f107 030c add.w r3, r7, #12 80a818a: 785b ldrb r3, [r3, #1] 80a818c: 2b00 cmp r3, #0 80a818e: d014 beq.n 80a81ba 80a8190: f107 030c add.w r3, r7, #12 80a8194: 781b ldrb r3, [r3, #0] 80a8196: 2b00 cmp r3, #0 80a8198: d10f bne.n 80a81ba LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a819a: 497f ldr r1, [pc, #508] ; (80a8398 ) 80a819c: 487f ldr r0, [pc, #508] ; (80a839c ) 80a819e: f7ab fb21 bl 80537e4 BSP_LCD_DrawLine(62 + nnn[2], 98, 62, 64); 80a81a2: f107 030c add.w r3, r7, #12 80a81a6: 789b ldrb r3, [r3, #2] 80a81a8: b29b uxth r3, r3 80a81aa: 333e adds r3, #62 ; 0x3e 80a81ac: b298 uxth r0, r3 80a81ae: 2340 movs r3, #64 ; 0x40 80a81b0: 223e movs r2, #62 ; 0x3e 80a81b2: 2162 movs r1, #98 ; 0x62 80a81b4: f7ab fd50 bl 8053c58 80a81b8: e027 b.n 80a820a if((nnn[2]) && (nnn[1]) && (nnn[0])) 80a81ba: f107 030c add.w r3, r7, #12 80a81be: 789b ldrb r3, [r3, #2] 80a81c0: 2b00 cmp r3, #0 80a81c2: f000 864f beq.w 80a8e64 80a81c6: f107 030c add.w r3, r7, #12 80a81ca: 785b ldrb r3, [r3, #1] 80a81cc: 2b00 cmp r3, #0 80a81ce: f000 8649 beq.w 80a8e64 80a81d2: f107 030c add.w r3, r7, #12 80a81d6: 781b ldrb r3, [r3, #0] 80a81d8: 2b00 cmp r3, #0 80a81da: f000 8643 beq.w 80a8e64 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a81de: 496e ldr r1, [pc, #440] ; (80a8398 ) 80a81e0: 486e ldr r0, [pc, #440] ; (80a839c ) 80a81e2: f7ab faff bl 80537e4 BSP_LCD_DrawLine(62 + nnn[2], 98, 62 + nnn[0], 64); 80a81e6: f107 030c add.w r3, r7, #12 80a81ea: 789b ldrb r3, [r3, #2] 80a81ec: b29b uxth r3, r3 80a81ee: 333e adds r3, #62 ; 0x3e 80a81f0: b298 uxth r0, r3 80a81f2: f107 030c add.w r3, r7, #12 80a81f6: 781b ldrb r3, [r3, #0] 80a81f8: b29b uxth r3, r3 80a81fa: 333e adds r3, #62 ; 0x3e 80a81fc: b29a uxth r2, r3 80a81fe: 2340 movs r3, #64 ; 0x40 80a8200: 2162 movs r1, #98 ; 0x62 80a8202: f7ab fd29 bl 8053c58 break; 80a8206: f000 be2d b.w 80a8e64 80a820a: f000 be2b b.w 80a8e64 n = 0; 80a820e: 2300 movs r3, #0 80a8210: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80a8214: 4b62 ldr r3, [pc, #392] ; (80a83a0 ) 80a8216: 2200 movs r2, #0 80a8218: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a821a: 2300 movs r3, #0 80a821c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8220: e0af b.n 80a8382 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a8222: 4b60 ldr r3, [pc, #384] ; (80a83a4 ) 80a8224: 781b ldrb r3, [r3, #0] 80a8226: b2db uxtb r3, r3 80a8228: 4618 mov r0, r3 80a822a: 4b5f ldr r3, [pc, #380] ; (80a83a8 ) 80a822c: 79db ldrb r3, [r3, #7] 80a822e: b2db uxtb r3, r3 80a8230: 4619 mov r1, r3 80a8232: 4a5e ldr r2, [pc, #376] ; (80a83ac ) 80a8234: 0083 lsls r3, r0, #2 80a8236: 4413 add r3, r2 80a8238: 440b add r3, r1 80a823a: 781b ldrb r3, [r3, #0] 80a823c: 461a mov r2, r3 80a823e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8242: fb03 f302 mul.w r3, r3, r2 80a8246: 4a5a ldr r2, [pc, #360] ; (80a83b0 ) 80a8248: 8812 ldrh r2, [r2, #0] 80a824a: b292 uxth r2, r2 80a824c: 4413 add r3, r2 80a824e: 009a lsls r2, r3, #2 80a8250: 4b58 ldr r3, [pc, #352] ; (80a83b4 ) 80a8252: 4413 add r3, r2 80a8254: 461c mov r4, r3 80a8256: 4b53 ldr r3, [pc, #332] ; (80a83a4 ) 80a8258: 781b ldrb r3, [r3, #0] 80a825a: b2db uxtb r3, r3 80a825c: 4618 mov r0, r3 80a825e: 4b52 ldr r3, [pc, #328] ; (80a83a8 ) 80a8260: 79db ldrb r3, [r3, #7] 80a8262: b2db uxtb r3, r3 80a8264: 4619 mov r1, r3 80a8266: 4a51 ldr r2, [pc, #324] ; (80a83ac ) 80a8268: 0083 lsls r3, r0, #2 80a826a: 4413 add r3, r2 80a826c: 440b add r3, r1 80a826e: 781b ldrb r3, [r3, #0] 80a8270: 4618 mov r0, r3 80a8272: f507 711a add.w r1, r7, #616 ; 0x268 80a8276: f507 731e add.w r3, r7, #632 ; 0x278 80a827a: 1d1a adds r2, r3, #4 80a827c: 460b mov r3, r1 80a827e: 4601 mov r1, r0 80a8280: 4620 mov r0, r4 80a8282: f021 ff37 bl 80ca0f4 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a8286: 4b47 ldr r3, [pc, #284] ; (80a83a4 ) 80a8288: 781b ldrb r3, [r3, #0] 80a828a: b2db uxtb r3, r3 80a828c: 4618 mov r0, r3 80a828e: 4b46 ldr r3, [pc, #280] ; (80a83a8 ) 80a8290: 79db ldrb r3, [r3, #7] 80a8292: b2db uxtb r3, r3 80a8294: 4619 mov r1, r3 80a8296: 4a45 ldr r2, [pc, #276] ; (80a83ac ) 80a8298: 0083 lsls r3, r0, #2 80a829a: 4413 add r3, r2 80a829c: 440b add r3, r1 80a829e: 781b ldrb r3, [r3, #0] 80a82a0: 461a mov r2, r3 80a82a2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a82a6: fb03 f302 mul.w r3, r3, r2 80a82aa: 4a41 ldr r2, [pc, #260] ; (80a83b0 ) 80a82ac: 8812 ldrh r2, [r2, #0] 80a82ae: b292 uxth r2, r2 80a82b0: 4413 add r3, r2 80a82b2: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a82b6: 4b3b ldr r3, [pc, #236] ; (80a83a4 ) 80a82b8: 781b ldrb r3, [r3, #0] 80a82ba: b2db uxtb r3, r3 80a82bc: 4618 mov r0, r3 80a82be: 4b3a ldr r3, [pc, #232] ; (80a83a8 ) 80a82c0: 79db ldrb r3, [r3, #7] 80a82c2: b2db uxtb r3, r3 80a82c4: 4619 mov r1, r3 80a82c6: 4a39 ldr r2, [pc, #228] ; (80a83ac ) 80a82c8: 0083 lsls r3, r0, #2 80a82ca: 4413 add r3, r2 80a82cc: 440b add r3, r1 80a82ce: 781b ldrb r3, [r3, #0] 80a82d0: 461a mov r2, r3 80a82d2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a82d6: fb03 f302 mul.w r3, r3, r2 80a82da: 4a35 ldr r2, [pc, #212] ; (80a83b0 ) 80a82dc: 8812 ldrh r2, [r2, #0] 80a82de: b292 uxth r2, r2 80a82e0: 4413 add r3, r2 80a82e2: 4a30 ldr r2, [pc, #192] ; (80a83a4 ) 80a82e4: 7812 ldrb r2, [r2, #0] 80a82e6: b2d2 uxtb r2, r2 80a82e8: 4614 mov r4, r2 80a82ea: 4a2f ldr r2, [pc, #188] ; (80a83a8 ) 80a82ec: 79d2 ldrb r2, [r2, #7] 80a82ee: b2d2 uxtb r2, r2 80a82f0: 4610 mov r0, r2 80a82f2: 492e ldr r1, [pc, #184] ; (80a83ac ) 80a82f4: 00a2 lsls r2, r4, #2 80a82f6: 440a add r2, r1 80a82f8: 4402 add r2, r0 80a82fa: 7812 ldrb r2, [r2, #0] 80a82fc: 4413 add r3, r2 80a82fe: 3b01 subs r3, #1 80a8300: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a8304: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8308: 333e adds r3, #62 ; 0x3e 80a830a: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 4; j++) 80a830e: 2300 movs r3, #0 80a8310: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8314: e02c b.n 80a8370 if((_Fn[j] >= iL) && (_Fn[j] <= iR)) 80a8316: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a831a: 009b lsls r3, r3, #2 80a831c: f507 722e add.w r2, r7, #696 ; 0x2b8 80a8320: 4413 add r3, r2 80a8322: f853 3cc8 ldr.w r3, [r3, #-200] 80a8326: 461a mov r2, r3 80a8328: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a832c: 429a cmp r2, r3 80a832e: d31a bcc.n 80a8366 80a8330: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8334: 009b lsls r3, r3, #2 80a8336: f507 722e add.w r2, r7, #696 ; 0x2b8 80a833a: 4413 add r3, r2 80a833c: f853 3cc8 ldr.w r3, [r3, #-200] 80a8340: 461a mov r2, r3 80a8342: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8346: 429a cmp r2, r3 80a8348: d80d bhi.n 80a8366 LCD_SetColors(LCD_COLOR_FN, LCD_COLOR_BLACK); 80a834a: 4913 ldr r1, [pc, #76] ; (80a8398 ) 80a834c: 4813 ldr r0, [pc, #76] ; (80a839c ) 80a834e: f7ab fa49 bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a8352: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8356: b298 uxth r0, r3 80a8358: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a835c: b29a uxth r2, r3 80a835e: 23da movs r3, #218 ; 0xda 80a8360: 212c movs r1, #44 ; 0x2c 80a8362: f7ab fc79 bl 8053c58 for(j = 0; j < 4; j++) 80a8366: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a836a: 3301 adds r3, #1 80a836c: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8370: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8374: 2b03 cmp r3, #3 80a8376: d9ce bls.n 80a8316 for(i = 0; i < 256; i++) 80a8378: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a837c: 3301 adds r3, #1 80a837e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8382: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8386: 2bff cmp r3, #255 ; 0xff 80a8388: f67f af4b bls.w 80a8222 break; 80a838c: f000 bd6b b.w 80a8e66 for(i = 0; i < 256; i++) 80a8390: 2300 movs r3, #0 80a8392: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8396: e0f0 b.n 80a857a 80a8398: ff0a0f1f .word 0xff0a0f1f 80a839c: ff800080 .word 0xff800080 80a83a0: 2002164e .word 0x2002164e 80a83a4: 20020f74 .word 0x20020f74 80a83a8: 20023e60 .word 0x20023e60 80a83ac: 080ef64c .word 0x080ef64c 80a83b0: 20025d1e .word 0x20025d1e 80a83b4: 64080000 .word 0x64080000 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a83b8: 4bb2 ldr r3, [pc, #712] ; (80a8684 ) 80a83ba: 781b ldrb r3, [r3, #0] 80a83bc: b2db uxtb r3, r3 80a83be: 4618 mov r0, r3 80a83c0: 4bb1 ldr r3, [pc, #708] ; (80a8688 ) 80a83c2: 79db ldrb r3, [r3, #7] 80a83c4: b2db uxtb r3, r3 80a83c6: 4619 mov r1, r3 80a83c8: 4ab0 ldr r2, [pc, #704] ; (80a868c ) 80a83ca: 0083 lsls r3, r0, #2 80a83cc: 4413 add r3, r2 80a83ce: 440b add r3, r1 80a83d0: 781b ldrb r3, [r3, #0] 80a83d2: 461a mov r2, r3 80a83d4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a83d8: fb03 f302 mul.w r3, r3, r2 80a83dc: 4aac ldr r2, [pc, #688] ; (80a8690 ) 80a83de: 8812 ldrh r2, [r2, #0] 80a83e0: b292 uxth r2, r2 80a83e2: 4413 add r3, r2 80a83e4: 009a lsls r2, r3, #2 80a83e6: 4bab ldr r3, [pc, #684] ; (80a8694 ) 80a83e8: 4413 add r3, r2 80a83ea: 461c mov r4, r3 80a83ec: 4ba5 ldr r3, [pc, #660] ; (80a8684 ) 80a83ee: 781b ldrb r3, [r3, #0] 80a83f0: b2db uxtb r3, r3 80a83f2: 4618 mov r0, r3 80a83f4: 4ba4 ldr r3, [pc, #656] ; (80a8688 ) 80a83f6: 79db ldrb r3, [r3, #7] 80a83f8: b2db uxtb r3, r3 80a83fa: 4619 mov r1, r3 80a83fc: 4aa3 ldr r2, [pc, #652] ; (80a868c ) 80a83fe: 0083 lsls r3, r0, #2 80a8400: 4413 add r3, r2 80a8402: 440b add r3, r1 80a8404: 781b ldrb r3, [r3, #0] 80a8406: 4618 mov r0, r3 80a8408: f507 711a add.w r1, r7, #616 ; 0x268 80a840c: f507 731e add.w r3, r7, #632 ; 0x278 80a8410: 1d1a adds r2, r3, #4 80a8412: 460b mov r3, r1 80a8414: 4601 mov r1, r0 80a8416: 4620 mov r0, r4 80a8418: f021 fe6c bl 80ca0f4 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a841c: 4b99 ldr r3, [pc, #612] ; (80a8684 ) 80a841e: 781b ldrb r3, [r3, #0] 80a8420: b2db uxtb r3, r3 80a8422: 4618 mov r0, r3 80a8424: 4b98 ldr r3, [pc, #608] ; (80a8688 ) 80a8426: 79db ldrb r3, [r3, #7] 80a8428: b2db uxtb r3, r3 80a842a: 4619 mov r1, r3 80a842c: 4a97 ldr r2, [pc, #604] ; (80a868c ) 80a842e: 0083 lsls r3, r0, #2 80a8430: 4413 add r3, r2 80a8432: 440b add r3, r1 80a8434: 781b ldrb r3, [r3, #0] 80a8436: 461a mov r2, r3 80a8438: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a843c: fb03 f302 mul.w r3, r3, r2 80a8440: 4a93 ldr r2, [pc, #588] ; (80a8690 ) 80a8442: 8812 ldrh r2, [r2, #0] 80a8444: b292 uxth r2, r2 80a8446: 4413 add r3, r2 80a8448: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a844c: 4b8d ldr r3, [pc, #564] ; (80a8684 ) 80a844e: 781b ldrb r3, [r3, #0] 80a8450: b2db uxtb r3, r3 80a8452: 4618 mov r0, r3 80a8454: 4b8c ldr r3, [pc, #560] ; (80a8688 ) 80a8456: 79db ldrb r3, [r3, #7] 80a8458: b2db uxtb r3, r3 80a845a: 4619 mov r1, r3 80a845c: 4a8b ldr r2, [pc, #556] ; (80a868c ) 80a845e: 0083 lsls r3, r0, #2 80a8460: 4413 add r3, r2 80a8462: 440b add r3, r1 80a8464: 781b ldrb r3, [r3, #0] 80a8466: 461a mov r2, r3 80a8468: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a846c: fb03 f302 mul.w r3, r3, r2 80a8470: 4a87 ldr r2, [pc, #540] ; (80a8690 ) 80a8472: 8812 ldrh r2, [r2, #0] 80a8474: b292 uxth r2, r2 80a8476: 4413 add r3, r2 80a8478: 4a82 ldr r2, [pc, #520] ; (80a8684 ) 80a847a: 7812 ldrb r2, [r2, #0] 80a847c: b2d2 uxtb r2, r2 80a847e: 4614 mov r4, r2 80a8480: 4a81 ldr r2, [pc, #516] ; (80a8688 ) 80a8482: 79d2 ldrb r2, [r2, #7] 80a8484: b2d2 uxtb r2, r2 80a8486: 4610 mov r0, r2 80a8488: 4980 ldr r1, [pc, #512] ; (80a868c ) 80a848a: 00a2 lsls r2, r4, #2 80a848c: 440a add r2, r1 80a848e: 4402 add r2, r0 80a8490: 7812 ldrb r2, [r2, #0] 80a8492: 4413 add r3, r2 80a8494: 3b01 subs r3, #1 80a8496: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a849a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a849e: 333e adds r3, #62 ; 0x3e 80a84a0: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 7; j++) 80a84a4: 2300 movs r3, #0 80a84a6: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a84aa: e02c b.n 80a8506 if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80a84ac: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a84b0: 009b lsls r3, r3, #2 80a84b2: f507 722e add.w r2, r7, #696 ; 0x2b8 80a84b6: 4413 add r3, r2 80a84b8: f853 3c8c ldr.w r3, [r3, #-140] 80a84bc: 461a mov r2, r3 80a84be: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a84c2: 429a cmp r2, r3 80a84c4: d31a bcc.n 80a84fc 80a84c6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a84ca: 009b lsls r3, r3, #2 80a84cc: f507 722e add.w r2, r7, #696 ; 0x2b8 80a84d0: 4413 add r3, r2 80a84d2: f853 3c8c ldr.w r3, [r3, #-140] 80a84d6: 461a mov r2, r3 80a84d8: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a84dc: 429a cmp r2, r3 80a84de: d80d bhi.n 80a84fc LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80a84e0: 496d ldr r1, [pc, #436] ; (80a8698 ) 80a84e2: 486e ldr r0, [pc, #440] ; (80a869c ) 80a84e4: f7ab f97e bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a84e8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a84ec: b298 uxth r0, r3 80a84ee: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a84f2: b29a uxth r2, r3 80a84f4: 23da movs r3, #218 ; 0xda 80a84f6: 212c movs r1, #44 ; 0x2c 80a84f8: f7ab fbae bl 8053c58 for(j = 0; j < 7; j++) 80a84fc: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8500: 3301 adds r3, #1 80a8502: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8506: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a850a: 2b06 cmp r3, #6 80a850c: d9ce bls.n 80a84ac for(j = 0; j < 3; j++) 80a850e: 2300 movs r3, #0 80a8510: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8514: e028 b.n 80a8568 if((_Fv[j] >= iL) && (_Fv[j] <= iR)) 80a8516: f507 73da add.w r3, r7, #436 ; 0x1b4 80a851a: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a851e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8522: 461a mov r2, r3 80a8524: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8528: 429a cmp r2, r3 80a852a: d318 bcc.n 80a855e 80a852c: f507 73da add.w r3, r7, #436 ; 0x1b4 80a8530: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8534: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8538: 461a mov r2, r3 80a853a: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a853e: 429a cmp r2, r3 80a8540: d80d bhi.n 80a855e LCD_SetColors(LCD_COLOR_FV, LCD_COLOR_BLACK); 80a8542: 4955 ldr r1, [pc, #340] ; (80a8698 ) 80a8544: 4856 ldr r0, [pc, #344] ; (80a86a0 ) 80a8546: f7ab f94d bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a854a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a854e: b298 uxth r0, r3 80a8550: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8554: b29a uxth r2, r3 80a8556: 23da movs r3, #218 ; 0xda 80a8558: 212c movs r1, #44 ; 0x2c 80a855a: f7ab fb7d bl 8053c58 for(j = 0; j < 3; j++) 80a855e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8562: 3301 adds r3, #1 80a8564: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8568: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a856c: 2b02 cmp r3, #2 80a856e: d9d2 bls.n 80a8516 for(i = 0; i < 256; i++) 80a8570: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8574: 3301 adds r3, #1 80a8576: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a857a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a857e: 2bff cmp r3, #255 ; 0xff 80a8580: f67f af1a bls.w 80a83b8 break; 80a8584: f000 bc6f b.w 80a8e66 for(i = 0; i < 256; i++) 80a8588: 2300 movs r3, #0 80a858a: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a858e: e0ec b.n 80a876a arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a8590: 4b3c ldr r3, [pc, #240] ; (80a8684 ) 80a8592: 781b ldrb r3, [r3, #0] 80a8594: b2db uxtb r3, r3 80a8596: 4618 mov r0, r3 80a8598: 4b3b ldr r3, [pc, #236] ; (80a8688 ) 80a859a: 79db ldrb r3, [r3, #7] 80a859c: b2db uxtb r3, r3 80a859e: 4619 mov r1, r3 80a85a0: 4a3a ldr r2, [pc, #232] ; (80a868c ) 80a85a2: 0083 lsls r3, r0, #2 80a85a4: 4413 add r3, r2 80a85a6: 440b add r3, r1 80a85a8: 781b ldrb r3, [r3, #0] 80a85aa: 461a mov r2, r3 80a85ac: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a85b0: fb03 f302 mul.w r3, r3, r2 80a85b4: 4a36 ldr r2, [pc, #216] ; (80a8690 ) 80a85b6: 8812 ldrh r2, [r2, #0] 80a85b8: b292 uxth r2, r2 80a85ba: 4413 add r3, r2 80a85bc: 009a lsls r2, r3, #2 80a85be: 4b35 ldr r3, [pc, #212] ; (80a8694 ) 80a85c0: 4413 add r3, r2 80a85c2: 461c mov r4, r3 80a85c4: 4b2f ldr r3, [pc, #188] ; (80a8684 ) 80a85c6: 781b ldrb r3, [r3, #0] 80a85c8: b2db uxtb r3, r3 80a85ca: 4618 mov r0, r3 80a85cc: 4b2e ldr r3, [pc, #184] ; (80a8688 ) 80a85ce: 79db ldrb r3, [r3, #7] 80a85d0: b2db uxtb r3, r3 80a85d2: 4619 mov r1, r3 80a85d4: 4a2d ldr r2, [pc, #180] ; (80a868c ) 80a85d6: 0083 lsls r3, r0, #2 80a85d8: 4413 add r3, r2 80a85da: 440b add r3, r1 80a85dc: 781b ldrb r3, [r3, #0] 80a85de: 4618 mov r0, r3 80a85e0: f507 711a add.w r1, r7, #616 ; 0x268 80a85e4: f507 731e add.w r3, r7, #632 ; 0x278 80a85e8: 1d1a adds r2, r3, #4 80a85ea: 460b mov r3, r1 80a85ec: 4601 mov r1, r0 80a85ee: 4620 mov r0, r4 80a85f0: f021 fd80 bl 80ca0f4 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a85f4: 4b23 ldr r3, [pc, #140] ; (80a8684 ) 80a85f6: 781b ldrb r3, [r3, #0] 80a85f8: b2db uxtb r3, r3 80a85fa: 4618 mov r0, r3 80a85fc: 4b22 ldr r3, [pc, #136] ; (80a8688 ) 80a85fe: 79db ldrb r3, [r3, #7] 80a8600: b2db uxtb r3, r3 80a8602: 4619 mov r1, r3 80a8604: 4a21 ldr r2, [pc, #132] ; (80a868c ) 80a8606: 0083 lsls r3, r0, #2 80a8608: 4413 add r3, r2 80a860a: 440b add r3, r1 80a860c: 781b ldrb r3, [r3, #0] 80a860e: 461a mov r2, r3 80a8610: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8614: fb03 f302 mul.w r3, r3, r2 80a8618: 4a1d ldr r2, [pc, #116] ; (80a8690 ) 80a861a: 8812 ldrh r2, [r2, #0] 80a861c: b292 uxth r2, r2 80a861e: 4413 add r3, r2 80a8620: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a8624: 4b17 ldr r3, [pc, #92] ; (80a8684 ) 80a8626: 781b ldrb r3, [r3, #0] 80a8628: b2db uxtb r3, r3 80a862a: 4618 mov r0, r3 80a862c: 4b16 ldr r3, [pc, #88] ; (80a8688 ) 80a862e: 79db ldrb r3, [r3, #7] 80a8630: b2db uxtb r3, r3 80a8632: 4619 mov r1, r3 80a8634: 4a15 ldr r2, [pc, #84] ; (80a868c ) 80a8636: 0083 lsls r3, r0, #2 80a8638: 4413 add r3, r2 80a863a: 440b add r3, r1 80a863c: 781b ldrb r3, [r3, #0] 80a863e: 461a mov r2, r3 80a8640: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8644: fb03 f302 mul.w r3, r3, r2 80a8648: 4a11 ldr r2, [pc, #68] ; (80a8690 ) 80a864a: 8812 ldrh r2, [r2, #0] 80a864c: b292 uxth r2, r2 80a864e: 4413 add r3, r2 80a8650: 4a0c ldr r2, [pc, #48] ; (80a8684 ) 80a8652: 7812 ldrb r2, [r2, #0] 80a8654: b2d2 uxtb r2, r2 80a8656: 4614 mov r4, r2 80a8658: 4a0b ldr r2, [pc, #44] ; (80a8688 ) 80a865a: 79d2 ldrb r2, [r2, #7] 80a865c: b2d2 uxtb r2, r2 80a865e: 4610 mov r0, r2 80a8660: 490a ldr r1, [pc, #40] ; (80a868c ) 80a8662: 00a2 lsls r2, r4, #2 80a8664: 440a add r2, r1 80a8666: 4402 add r2, r0 80a8668: 7812 ldrb r2, [r2, #0] 80a866a: 4413 add r3, r2 80a866c: 3b01 subs r3, #1 80a866e: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a8672: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8676: 333e adds r3, #62 ; 0x3e 80a8678: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 8; j++) 80a867c: 2300 movs r3, #0 80a867e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8682: e038 b.n 80a86f6 80a8684: 20020f74 .word 0x20020f74 80a8688: 20023e60 .word 0x20023e60 80a868c: 080ef64c .word 0x080ef64c 80a8690: 20025d1e .word 0x20025d1e 80a8694: 64080000 .word 0x64080000 80a8698: ff0a0f1f .word 0xff0a0f1f 80a869c: ff66a6d3 .word 0xff66a6d3 80a86a0: ffa52a2a .word 0xffa52a2a if((_Fc[j] >= iL) && (_Fc[j] <= iR)) 80a86a4: f507 73bc add.w r3, r7, #376 ; 0x178 80a86a8: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a86ac: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a86b0: 461a mov r2, r3 80a86b2: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a86b6: 429a cmp r2, r3 80a86b8: d318 bcc.n 80a86ec 80a86ba: f507 73bc add.w r3, r7, #376 ; 0x178 80a86be: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a86c2: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a86c6: 461a mov r2, r3 80a86c8: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a86cc: 429a cmp r2, r3 80a86ce: d80d bhi.n 80a86ec LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80a86d0: 49c2 ldr r1, [pc, #776] ; (80a89dc ) 80a86d2: 48c3 ldr r0, [pc, #780] ; (80a89e0 ) 80a86d4: f7ab f886 bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a86d8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a86dc: b298 uxth r0, r3 80a86de: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a86e2: b29a uxth r2, r3 80a86e4: 23da movs r3, #218 ; 0xda 80a86e6: 212c movs r1, #44 ; 0x2c 80a86e8: f7ab fab6 bl 8053c58 for(j = 0; j < 8; j++) 80a86ec: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a86f0: 3301 adds r3, #1 80a86f2: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a86f6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a86fa: 2b07 cmp r3, #7 80a86fc: d9d2 bls.n 80a86a4 for(j = 0; j < 8; j++) 80a86fe: 2300 movs r3, #0 80a8700: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8704: e028 b.n 80a8758 if((_Fvr_m_Fc[j] >= iL) && (_Fvr_m_Fc[j] <= iR)) 80a8706: f507 7380 add.w r3, r7, #256 ; 0x100 80a870a: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a870e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8712: 461a mov r2, r3 80a8714: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8718: 429a cmp r2, r3 80a871a: d318 bcc.n 80a874e 80a871c: f507 7380 add.w r3, r7, #256 ; 0x100 80a8720: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8724: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8728: 461a mov r2, r3 80a872a: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a872e: 429a cmp r2, r3 80a8730: d80d bhi.n 80a874e LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80a8732: 49aa ldr r1, [pc, #680] ; (80a89dc ) 80a8734: 48ab ldr r0, [pc, #684] ; (80a89e4 ) 80a8736: f7ab f855 bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a873a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a873e: b298 uxth r0, r3 80a8740: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8744: b29a uxth r2, r3 80a8746: 23da movs r3, #218 ; 0xda 80a8748: 212c movs r1, #44 ; 0x2c 80a874a: f7ab fa85 bl 8053c58 for(j = 0; j < 8; j++) 80a874e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8752: 3301 adds r3, #1 80a8754: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8758: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a875c: 2b07 cmp r3, #7 80a875e: d9d2 bls.n 80a8706 for(i = 0; i < 256; i++) 80a8760: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8764: 3301 adds r3, #1 80a8766: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a876a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a876e: 2bff cmp r3, #255 ; 0xff 80a8770: f67f af0e bls.w 80a8590 break; 80a8774: e377 b.n 80a8e66 for(i = 0; i < 256; i++) 80a8776: 2300 movs r3, #0 80a8778: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a877c: e1df b.n 80a8b3e arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a877e: 4b9a ldr r3, [pc, #616] ; (80a89e8 ) 80a8780: 781b ldrb r3, [r3, #0] 80a8782: b2db uxtb r3, r3 80a8784: 4618 mov r0, r3 80a8786: 4b99 ldr r3, [pc, #612] ; (80a89ec ) 80a8788: 79db ldrb r3, [r3, #7] 80a878a: b2db uxtb r3, r3 80a878c: 4619 mov r1, r3 80a878e: 4a98 ldr r2, [pc, #608] ; (80a89f0 ) 80a8790: 0083 lsls r3, r0, #2 80a8792: 4413 add r3, r2 80a8794: 440b add r3, r1 80a8796: 781b ldrb r3, [r3, #0] 80a8798: 461a mov r2, r3 80a879a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a879e: fb03 f302 mul.w r3, r3, r2 80a87a2: 4a94 ldr r2, [pc, #592] ; (80a89f4 ) 80a87a4: 8812 ldrh r2, [r2, #0] 80a87a6: b292 uxth r2, r2 80a87a8: 4413 add r3, r2 80a87aa: 009a lsls r2, r3, #2 80a87ac: 4b92 ldr r3, [pc, #584] ; (80a89f8 ) 80a87ae: 4413 add r3, r2 80a87b0: 461c mov r4, r3 80a87b2: 4b8d ldr r3, [pc, #564] ; (80a89e8 ) 80a87b4: 781b ldrb r3, [r3, #0] 80a87b6: b2db uxtb r3, r3 80a87b8: 4618 mov r0, r3 80a87ba: 4b8c ldr r3, [pc, #560] ; (80a89ec ) 80a87bc: 79db ldrb r3, [r3, #7] 80a87be: b2db uxtb r3, r3 80a87c0: 4619 mov r1, r3 80a87c2: 4a8b ldr r2, [pc, #556] ; (80a89f0 ) 80a87c4: 0083 lsls r3, r0, #2 80a87c6: 4413 add r3, r2 80a87c8: 440b add r3, r1 80a87ca: 781b ldrb r3, [r3, #0] 80a87cc: 4618 mov r0, r3 80a87ce: f507 711a add.w r1, r7, #616 ; 0x268 80a87d2: f507 731e add.w r3, r7, #632 ; 0x278 80a87d6: 1d1a adds r2, r3, #4 80a87d8: 460b mov r3, r1 80a87da: 4601 mov r1, r0 80a87dc: 4620 mov r0, r4 80a87de: f021 fc89 bl 80ca0f4 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a87e2: 4b81 ldr r3, [pc, #516] ; (80a89e8 ) 80a87e4: 781b ldrb r3, [r3, #0] 80a87e6: b2db uxtb r3, r3 80a87e8: 4618 mov r0, r3 80a87ea: 4b80 ldr r3, [pc, #512] ; (80a89ec ) 80a87ec: 79db ldrb r3, [r3, #7] 80a87ee: b2db uxtb r3, r3 80a87f0: 4619 mov r1, r3 80a87f2: 4a7f ldr r2, [pc, #508] ; (80a89f0 ) 80a87f4: 0083 lsls r3, r0, #2 80a87f6: 4413 add r3, r2 80a87f8: 440b add r3, r1 80a87fa: 781b ldrb r3, [r3, #0] 80a87fc: 461a mov r2, r3 80a87fe: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8802: fb03 f302 mul.w r3, r3, r2 80a8806: 4a7b ldr r2, [pc, #492] ; (80a89f4 ) 80a8808: 8812 ldrh r2, [r2, #0] 80a880a: b292 uxth r2, r2 80a880c: 4413 add r3, r2 80a880e: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a8812: 4b75 ldr r3, [pc, #468] ; (80a89e8 ) 80a8814: 781b ldrb r3, [r3, #0] 80a8816: b2db uxtb r3, r3 80a8818: 4618 mov r0, r3 80a881a: 4b74 ldr r3, [pc, #464] ; (80a89ec ) 80a881c: 79db ldrb r3, [r3, #7] 80a881e: b2db uxtb r3, r3 80a8820: 4619 mov r1, r3 80a8822: 4a73 ldr r2, [pc, #460] ; (80a89f0 ) 80a8824: 0083 lsls r3, r0, #2 80a8826: 4413 add r3, r2 80a8828: 440b add r3, r1 80a882a: 781b ldrb r3, [r3, #0] 80a882c: 461a mov r2, r3 80a882e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8832: fb03 f302 mul.w r3, r3, r2 80a8836: 4a6f ldr r2, [pc, #444] ; (80a89f4 ) 80a8838: 8812 ldrh r2, [r2, #0] 80a883a: b292 uxth r2, r2 80a883c: 4413 add r3, r2 80a883e: 4a6a ldr r2, [pc, #424] ; (80a89e8 ) 80a8840: 7812 ldrb r2, [r2, #0] 80a8842: b2d2 uxtb r2, r2 80a8844: 4614 mov r4, r2 80a8846: 4a69 ldr r2, [pc, #420] ; (80a89ec ) 80a8848: 79d2 ldrb r2, [r2, #7] 80a884a: b2d2 uxtb r2, r2 80a884c: 4610 mov r0, r2 80a884e: 4968 ldr r1, [pc, #416] ; (80a89f0 ) 80a8850: 00a2 lsls r2, r4, #2 80a8852: 440a add r2, r1 80a8854: 4402 add r2, r0 80a8856: 7812 ldrb r2, [r2, #0] 80a8858: 4413 add r3, r2 80a885a: 3b01 subs r3, #1 80a885c: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a8860: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8864: 333e adds r3, #62 ; 0x3e 80a8866: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 6; j++) 80a886a: 2300 movs r3, #0 80a886c: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8870: e0aa b.n 80a89c8 if((_Ftk[j] >= iL) && (_Ftk[j] <= iR)) 80a8872: f507 739e add.w r3, r7, #316 ; 0x13c 80a8876: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a887a: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a887e: 461a mov r2, r3 80a8880: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8884: 429a cmp r2, r3 80a8886: f0c0 809a bcc.w 80a89be 80a888a: f507 739e add.w r3, r7, #316 ; 0x13c 80a888e: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8892: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8896: 461a mov r2, r3 80a8898: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a889c: 429a cmp r2, r3 80a889e: f200 808e bhi.w 80a89be LCD_SetColors(LCD_COLOR_FTK, LCD_COLOR_BLACK); 80a88a2: 494e ldr r1, [pc, #312] ; (80a89dc ) 80a88a4: 4855 ldr r0, [pc, #340] ; (80a89fc ) 80a88a6: f7aa ff9d bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a88aa: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a88ae: b298 uxth r0, r3 80a88b0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a88b4: b29a uxth r2, r3 80a88b6: 23da movs r3, #218 ; 0xda 80a88b8: 212c movs r1, #44 ; 0x2c 80a88ba: f7ab f9cd bl 8053c58 if(j & 1) 80a88be: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a88c2: f003 0301 and.w r3, r3, #1 80a88c6: 2b00 cmp r3, #0 80a88c8: d079 beq.n 80a89be if(ViewLevel < 2) 80a88ca: 4b47 ldr r3, [pc, #284] ; (80a89e8 ) 80a88cc: 781b ldrb r3, [r3, #0] 80a88ce: b2db uxtb r3, r3 80a88d0: 2b01 cmp r3, #1 80a88d2: d826 bhi.n 80a8922 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80a88d4: 4b44 ldr r3, [pc, #272] ; (80a89e8 ) 80a88d6: 781b ldrb r3, [r3, #0] 80a88d8: b2db uxtb r3, r3 80a88da: 4618 mov r0, r3 80a88dc: 4b43 ldr r3, [pc, #268] ; (80a89ec ) 80a88de: 79db ldrb r3, [r3, #7] 80a88e0: b2db uxtb r3, r3 80a88e2: 4619 mov r1, r3 80a88e4: 4a42 ldr r2, [pc, #264] ; (80a89f0 ) 80a88e6: 0083 lsls r3, r0, #2 80a88e8: 4413 add r3, r2 80a88ea: 440b add r3, r1 80a88ec: 781b ldrb r3, [r3, #0] 80a88ee: 461a mov r2, r3 80a88f0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a88f4: fb03 f302 mul.w r3, r3, r2 80a88f8: 4a3e ldr r2, [pc, #248] ; (80a89f4 ) 80a88fa: 8812 ldrh r2, [r2, #0] 80a88fc: b292 uxth r2, r2 80a88fe: 4413 add r3, r2 80a8900: 2b00 cmp r3, #0 80a8902: d05c beq.n 80a89be BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80a8904: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8908: b29b uxth r3, r3 80a890a: 3b01 subs r3, #1 80a890c: b298 uxth r0, r3 80a890e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8912: b29b uxth r3, r3 80a8914: 3b01 subs r3, #1 80a8916: b29a uxth r2, r3 80a8918: 23da movs r3, #218 ; 0xda 80a891a: 212c movs r1, #44 ; 0x2c 80a891c: f7ab f99c bl 8053c58 80a8920: e04d b.n 80a89be if(i * avgSPC[ViewLevel][pardata.LNE] + X0 > 0) 80a8922: 4b31 ldr r3, [pc, #196] ; (80a89e8 ) 80a8924: 781b ldrb r3, [r3, #0] 80a8926: b2db uxtb r3, r3 80a8928: 4618 mov r0, r3 80a892a: 4b30 ldr r3, [pc, #192] ; (80a89ec ) 80a892c: 79db ldrb r3, [r3, #7] 80a892e: b2db uxtb r3, r3 80a8930: 4619 mov r1, r3 80a8932: 4a2f ldr r2, [pc, #188] ; (80a89f0 ) 80a8934: 0083 lsls r3, r0, #2 80a8936: 4413 add r3, r2 80a8938: 440b add r3, r1 80a893a: 781b ldrb r3, [r3, #0] 80a893c: 461a mov r2, r3 80a893e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8942: fb03 f302 mul.w r3, r3, r2 80a8946: 4a2b ldr r2, [pc, #172] ; (80a89f4 ) 80a8948: 8812 ldrh r2, [r2, #0] 80a894a: b292 uxth r2, r2 80a894c: 4413 add r3, r2 80a894e: 2b00 cmp r3, #0 80a8950: d00d beq.n 80a896e BSP_LCD_DrawLine(x-1, 44, x-1, 218); 80a8952: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8956: b29b uxth r3, r3 80a8958: 3b01 subs r3, #1 80a895a: b298 uxth r0, r3 80a895c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8960: b29b uxth r3, r3 80a8962: 3b01 subs r3, #1 80a8964: b29a uxth r2, r3 80a8966: 23da movs r3, #218 ; 0xda 80a8968: 212c movs r1, #44 ; 0x2c 80a896a: f7ab f975 bl 8053c58 if(i * avgSPC[ViewLevel][pardata.LNE] + X0 < 4095) 80a896e: 4b1e ldr r3, [pc, #120] ; (80a89e8 ) 80a8970: 781b ldrb r3, [r3, #0] 80a8972: b2db uxtb r3, r3 80a8974: 4618 mov r0, r3 80a8976: 4b1d ldr r3, [pc, #116] ; (80a89ec ) 80a8978: 79db ldrb r3, [r3, #7] 80a897a: b2db uxtb r3, r3 80a897c: 4619 mov r1, r3 80a897e: 4a1c ldr r2, [pc, #112] ; (80a89f0 ) 80a8980: 0083 lsls r3, r0, #2 80a8982: 4413 add r3, r2 80a8984: 440b add r3, r1 80a8986: 781b ldrb r3, [r3, #0] 80a8988: 461a mov r2, r3 80a898a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a898e: fb03 f302 mul.w r3, r3, r2 80a8992: 4a18 ldr r2, [pc, #96] ; (80a89f4 ) 80a8994: 8812 ldrh r2, [r2, #0] 80a8996: b292 uxth r2, r2 80a8998: 4413 add r3, r2 80a899a: f640 72fe movw r2, #4094 ; 0xffe 80a899e: 4293 cmp r3, r2 80a89a0: d80d bhi.n 80a89be BSP_LCD_DrawLine(x+1, 44, x+1, 218); 80a89a2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a89a6: b29b uxth r3, r3 80a89a8: 3301 adds r3, #1 80a89aa: b298 uxth r0, r3 80a89ac: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a89b0: b29b uxth r3, r3 80a89b2: 3301 adds r3, #1 80a89b4: b29a uxth r2, r3 80a89b6: 23da movs r3, #218 ; 0xda 80a89b8: 212c movs r1, #44 ; 0x2c 80a89ba: f7ab f94d bl 8053c58 for(j = 0; j < 6; j++) 80a89be: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a89c2: 3301 adds r3, #1 80a89c4: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a89c8: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a89cc: 2b05 cmp r3, #5 80a89ce: f67f af50 bls.w 80a8872 for(j = 0; j < 6; j++) 80a89d2: 2300 movs r3, #0 80a89d4: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a89d8: e0a7 b.n 80a8b2a 80a89da: bf00 nop 80a89dc: ff0a0f1f .word 0xff0a0f1f 80a89e0: ffafff9c .word 0xffafff9c 80a89e4: ff66a6d3 .word 0xff66a6d3 80a89e8: 20020f74 .word 0x20020f74 80a89ec: 20023e60 .word 0x20023e60 80a89f0: 080ef64c .word 0x080ef64c 80a89f4: 20025d1e .word 0x20025d1e 80a89f8: 64080000 .word 0x64080000 80a89fc: ffb700eb .word 0xffb700eb if((_Ftk_m_Fc[j] >= iL) && (_Ftk_m_Fc[j] <= iR)) 80a8a00: f107 0388 add.w r3, r7, #136 ; 0x88 80a8a04: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8a08: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8a0c: 461a mov r2, r3 80a8a0e: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8a12: 429a cmp r2, r3 80a8a14: d318 bcc.n 80a8a48 80a8a16: f107 0388 add.w r3, r7, #136 ; 0x88 80a8a1a: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8a1e: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8a22: 461a mov r2, r3 80a8a24: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8a28: 429a cmp r2, r3 80a8a2a: d80d bhi.n 80a8a48 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80a8a2c: 49a9 ldr r1, [pc, #676] ; (80a8cd4 ) 80a8a2e: 48aa ldr r0, [pc, #680] ; (80a8cd8 ) 80a8a30: f7aa fed8 bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a8a34: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8a38: b298 uxth r0, r3 80a8a3a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8a3e: b29a uxth r2, r3 80a8a40: 23da movs r3, #218 ; 0xda 80a8a42: 212c movs r1, #44 ; 0x2c 80a8a44: f7ab f908 bl 8053c58 if((_Ftk_p_Fc[j] >= iL) && (_Ftk_p_Fc[j] <= iR)) 80a8a48: f107 03c4 add.w r3, r7, #196 ; 0xc4 80a8a4c: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8a50: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8a54: 461a mov r2, r3 80a8a56: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8a5a: 429a cmp r2, r3 80a8a5c: d318 bcc.n 80a8a90 80a8a5e: f107 03c4 add.w r3, r7, #196 ; 0xc4 80a8a62: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8a66: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8a6a: 461a mov r2, r3 80a8a6c: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8a70: 429a cmp r2, r3 80a8a72: d80d bhi.n 80a8a90 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80a8a74: 4997 ldr r1, [pc, #604] ; (80a8cd4 ) 80a8a76: 4898 ldr r0, [pc, #608] ; (80a8cd8 ) 80a8a78: f7aa feb4 bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a8a7c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8a80: b298 uxth r0, r3 80a8a82: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8a86: b29a uxth r2, r3 80a8a88: 23da movs r3, #218 ; 0xda 80a8a8a: 212c movs r1, #44 ; 0x2c 80a8a8c: f7ab f8e4 bl 8053c58 if((_Ftk_m_2Fc[j] >= iL) && (_Ftk_m_2Fc[j] <= iR)) 80a8a90: f107 0310 add.w r3, r7, #16 80a8a94: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8a98: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8a9c: 461a mov r2, r3 80a8a9e: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8aa2: 429a cmp r2, r3 80a8aa4: d318 bcc.n 80a8ad8 80a8aa6: f107 0310 add.w r3, r7, #16 80a8aaa: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8aae: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8ab2: 461a mov r2, r3 80a8ab4: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8ab8: 429a cmp r2, r3 80a8aba: d80d bhi.n 80a8ad8 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80a8abc: 4985 ldr r1, [pc, #532] ; (80a8cd4 ) 80a8abe: 4886 ldr r0, [pc, #536] ; (80a8cd8 ) 80a8ac0: f7aa fe90 bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a8ac4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8ac8: b298 uxth r0, r3 80a8aca: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8ace: b29a uxth r2, r3 80a8ad0: 23da movs r3, #218 ; 0xda 80a8ad2: 212c movs r1, #44 ; 0x2c 80a8ad4: f7ab f8c0 bl 8053c58 if((_Ftk_p_2Fc[j] >= iL) && (_Ftk_p_2Fc[j] <= iR)) 80a8ad8: f107 034c add.w r3, r7, #76 ; 0x4c 80a8adc: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8ae0: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8ae4: 461a mov r2, r3 80a8ae6: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8aea: 429a cmp r2, r3 80a8aec: d318 bcc.n 80a8b20 80a8aee: f107 034c add.w r3, r7, #76 ; 0x4c 80a8af2: f8d7 22a8 ldr.w r2, [r7, #680] ; 0x2a8 80a8af6: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80a8afa: 461a mov r2, r3 80a8afc: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8b00: 429a cmp r2, r3 80a8b02: d80d bhi.n 80a8b20 LCD_SetColors(LCD_COLOR_FC, LCD_COLOR_BLACK); 80a8b04: 4973 ldr r1, [pc, #460] ; (80a8cd4 ) 80a8b06: 4874 ldr r0, [pc, #464] ; (80a8cd8 ) 80a8b08: f7aa fe6c bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a8b0c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8b10: b298 uxth r0, r3 80a8b12: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8b16: b29a uxth r2, r3 80a8b18: 23da movs r3, #218 ; 0xda 80a8b1a: 212c movs r1, #44 ; 0x2c 80a8b1c: f7ab f89c bl 8053c58 for(j = 0; j < 6; j++) 80a8b20: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8b24: 3301 adds r3, #1 80a8b26: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8b2a: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8b2e: 2b05 cmp r3, #5 80a8b30: f67f af66 bls.w 80a8a00 for(i = 0; i < 256; i++) 80a8b34: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8b38: 3301 adds r3, #1 80a8b3a: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8b3e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8b42: 2bff cmp r3, #255 ; 0xff 80a8b44: f67f ae1b bls.w 80a877e break; 80a8b48: e18d b.n 80a8e66 for(i = 0; i < 256; i++) 80a8b4a: 2300 movs r3, #0 80a8b4c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8b50: e096 b.n 80a8c80 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a8b52: 4b62 ldr r3, [pc, #392] ; (80a8cdc ) 80a8b54: 781b ldrb r3, [r3, #0] 80a8b56: b2db uxtb r3, r3 80a8b58: 4618 mov r0, r3 80a8b5a: 4b61 ldr r3, [pc, #388] ; (80a8ce0 ) 80a8b5c: 79db ldrb r3, [r3, #7] 80a8b5e: b2db uxtb r3, r3 80a8b60: 4619 mov r1, r3 80a8b62: 4a60 ldr r2, [pc, #384] ; (80a8ce4 ) 80a8b64: 0083 lsls r3, r0, #2 80a8b66: 4413 add r3, r2 80a8b68: 440b add r3, r1 80a8b6a: 781b ldrb r3, [r3, #0] 80a8b6c: 461a mov r2, r3 80a8b6e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8b72: fb03 f302 mul.w r3, r3, r2 80a8b76: 4a5c ldr r2, [pc, #368] ; (80a8ce8 ) 80a8b78: 8812 ldrh r2, [r2, #0] 80a8b7a: b292 uxth r2, r2 80a8b7c: 4413 add r3, r2 80a8b7e: 009a lsls r2, r3, #2 80a8b80: 4b5a ldr r3, [pc, #360] ; (80a8cec ) 80a8b82: 4413 add r3, r2 80a8b84: 461c mov r4, r3 80a8b86: 4b55 ldr r3, [pc, #340] ; (80a8cdc ) 80a8b88: 781b ldrb r3, [r3, #0] 80a8b8a: b2db uxtb r3, r3 80a8b8c: 4618 mov r0, r3 80a8b8e: 4b54 ldr r3, [pc, #336] ; (80a8ce0 ) 80a8b90: 79db ldrb r3, [r3, #7] 80a8b92: b2db uxtb r3, r3 80a8b94: 4619 mov r1, r3 80a8b96: 4a53 ldr r2, [pc, #332] ; (80a8ce4 ) 80a8b98: 0083 lsls r3, r0, #2 80a8b9a: 4413 add r3, r2 80a8b9c: 440b add r3, r1 80a8b9e: 781b ldrb r3, [r3, #0] 80a8ba0: 4618 mov r0, r3 80a8ba2: f507 711a add.w r1, r7, #616 ; 0x268 80a8ba6: f507 731e add.w r3, r7, #632 ; 0x278 80a8baa: 1d1a adds r2, r3, #4 80a8bac: 460b mov r3, r1 80a8bae: 4601 mov r1, r0 80a8bb0: 4620 mov r0, r4 80a8bb2: f021 fa9f bl 80ca0f4 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a8bb6: 4b49 ldr r3, [pc, #292] ; (80a8cdc ) 80a8bb8: 781b ldrb r3, [r3, #0] 80a8bba: b2db uxtb r3, r3 80a8bbc: 4618 mov r0, r3 80a8bbe: 4b48 ldr r3, [pc, #288] ; (80a8ce0 ) 80a8bc0: 79db ldrb r3, [r3, #7] 80a8bc2: b2db uxtb r3, r3 80a8bc4: 4619 mov r1, r3 80a8bc6: 4a47 ldr r2, [pc, #284] ; (80a8ce4 ) 80a8bc8: 0083 lsls r3, r0, #2 80a8bca: 4413 add r3, r2 80a8bcc: 440b add r3, r1 80a8bce: 781b ldrb r3, [r3, #0] 80a8bd0: 461a mov r2, r3 80a8bd2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8bd6: fb03 f302 mul.w r3, r3, r2 80a8bda: 4a43 ldr r2, [pc, #268] ; (80a8ce8 ) 80a8bdc: 8812 ldrh r2, [r2, #0] 80a8bde: b292 uxth r2, r2 80a8be0: 4413 add r3, r2 80a8be2: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a8be6: 4b3d ldr r3, [pc, #244] ; (80a8cdc ) 80a8be8: 781b ldrb r3, [r3, #0] 80a8bea: b2db uxtb r3, r3 80a8bec: 4618 mov r0, r3 80a8bee: 4b3c ldr r3, [pc, #240] ; (80a8ce0 ) 80a8bf0: 79db ldrb r3, [r3, #7] 80a8bf2: b2db uxtb r3, r3 80a8bf4: 4619 mov r1, r3 80a8bf6: 4a3b ldr r2, [pc, #236] ; (80a8ce4 ) 80a8bf8: 0083 lsls r3, r0, #2 80a8bfa: 4413 add r3, r2 80a8bfc: 440b add r3, r1 80a8bfe: 781b ldrb r3, [r3, #0] 80a8c00: 461a mov r2, r3 80a8c02: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8c06: fb03 f302 mul.w r3, r3, r2 80a8c0a: 4a37 ldr r2, [pc, #220] ; (80a8ce8 ) 80a8c0c: 8812 ldrh r2, [r2, #0] 80a8c0e: b292 uxth r2, r2 80a8c10: 4413 add r3, r2 80a8c12: 4a32 ldr r2, [pc, #200] ; (80a8cdc ) 80a8c14: 7812 ldrb r2, [r2, #0] 80a8c16: b2d2 uxtb r2, r2 80a8c18: 4614 mov r4, r2 80a8c1a: 4a31 ldr r2, [pc, #196] ; (80a8ce0 ) 80a8c1c: 79d2 ldrb r2, [r2, #7] 80a8c1e: b2d2 uxtb r2, r2 80a8c20: 4610 mov r0, r2 80a8c22: 4930 ldr r1, [pc, #192] ; (80a8ce4 ) 80a8c24: 00a2 lsls r2, r4, #2 80a8c26: 440a add r2, r1 80a8c28: 4402 add r2, r0 80a8c2a: 7812 ldrb r2, [r2, #0] 80a8c2c: 4413 add r3, r2 80a8c2e: 3b01 subs r3, #1 80a8c30: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a8c34: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8c38: 333e adds r3, #62 ; 0x3e 80a8c3a: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if((_Fvr[0] >= iL) && (_Fvr[0] <= iR)) 80a8c3e: f8d7 322c ldr.w r3, [r7, #556] ; 0x22c 80a8c42: 461a mov r2, r3 80a8c44: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8c48: 429a cmp r2, r3 80a8c4a: d314 bcc.n 80a8c76 80a8c4c: f8d7 322c ldr.w r3, [r7, #556] ; 0x22c 80a8c50: 461a mov r2, r3 80a8c52: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8c56: 429a cmp r2, r3 80a8c58: d80d bhi.n 80a8c76 LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80a8c5a: 491e ldr r1, [pc, #120] ; (80a8cd4 ) 80a8c5c: 4824 ldr r0, [pc, #144] ; (80a8cf0 ) 80a8c5e: f7aa fdc1 bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a8c62: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8c66: b298 uxth r0, r3 80a8c68: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8c6c: b29a uxth r2, r3 80a8c6e: 23da movs r3, #218 ; 0xda 80a8c70: 212c movs r1, #44 ; 0x2c 80a8c72: f7aa fff1 bl 8053c58 for(i = 0; i < 256; i++) 80a8c76: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8c7a: 3301 adds r3, #1 80a8c7c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8c80: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8c84: 2bff cmp r3, #255 ; 0xff 80a8c86: f67f af64 bls.w 80a8b52 break; 80a8c8a: e0ec b.n 80a8e66 LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80a8c8c: 4911 ldr r1, [pc, #68] ; (80a8cd4 ) 80a8c8e: 4819 ldr r0, [pc, #100] ; (80a8cf4 ) 80a8c90: f7aa fda8 bl 80537e4 if(X0 == 0) 80a8c94: 4b14 ldr r3, [pc, #80] ; (80a8ce8 ) 80a8c96: 881b ldrh r3, [r3, #0] 80a8c98: b29b uxth r3, r3 80a8c9a: 2b00 cmp r3, #0 80a8c9c: d10d bne.n 80a8cba BSP_LCD_DrawLine(62, 64, 92, 98); 80a8c9e: 2362 movs r3, #98 ; 0x62 80a8ca0: 225c movs r2, #92 ; 0x5c 80a8ca2: 2140 movs r1, #64 ; 0x40 80a8ca4: 203e movs r0, #62 ; 0x3e 80a8ca6: f7aa ffd7 bl 8053c58 BSP_LCD_DrawLine(92, 98, 62+255, 98); 80a8caa: 2362 movs r3, #98 ; 0x62 80a8cac: f240 123d movw r2, #317 ; 0x13d 80a8cb0: 2162 movs r1, #98 ; 0x62 80a8cb2: 205c movs r0, #92 ; 0x5c 80a8cb4: f7aa ffd0 bl 8053c58 break; 80a8cb8: e0d5 b.n 80a8e66 BSP_LCD_DrawLine(62, 98, 62+255, 98); 80a8cba: 2362 movs r3, #98 ; 0x62 80a8cbc: f240 123d movw r2, #317 ; 0x13d 80a8cc0: 2162 movs r1, #98 ; 0x62 80a8cc2: 203e movs r0, #62 ; 0x3e 80a8cc4: f7aa ffc8 bl 8053c58 break; 80a8cc8: e0cd b.n 80a8e66 for(i = 0; i < 256; i++) 80a8cca: 2300 movs r3, #0 80a8ccc: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8cd0: e0c2 b.n 80a8e58 80a8cd2: bf00 nop 80a8cd4: ff0a0f1f .word 0xff0a0f1f 80a8cd8: ffafff9c .word 0xffafff9c 80a8cdc: 20020f74 .word 0x20020f74 80a8ce0: 20023e60 .word 0x20023e60 80a8ce4: 080ef64c .word 0x080ef64c 80a8ce8: 20025d1e .word 0x20025d1e 80a8cec: 64080000 .word 0x64080000 80a8cf0: ff66a6d3 .word 0xff66a6d3 80a8cf4: ffffa500 .word 0xffffa500 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a8cf8: 4bc0 ldr r3, [pc, #768] ; (80a8ffc ) 80a8cfa: 781b ldrb r3, [r3, #0] 80a8cfc: b2db uxtb r3, r3 80a8cfe: 4618 mov r0, r3 80a8d00: 4bbf ldr r3, [pc, #764] ; (80a9000 ) 80a8d02: 79db ldrb r3, [r3, #7] 80a8d04: b2db uxtb r3, r3 80a8d06: 4619 mov r1, r3 80a8d08: 4abe ldr r2, [pc, #760] ; (80a9004 ) 80a8d0a: 0083 lsls r3, r0, #2 80a8d0c: 4413 add r3, r2 80a8d0e: 440b add r3, r1 80a8d10: 781b ldrb r3, [r3, #0] 80a8d12: 461a mov r2, r3 80a8d14: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8d18: fb03 f302 mul.w r3, r3, r2 80a8d1c: 4aba ldr r2, [pc, #744] ; (80a9008 ) 80a8d1e: 8812 ldrh r2, [r2, #0] 80a8d20: b292 uxth r2, r2 80a8d22: 4413 add r3, r2 80a8d24: 009a lsls r2, r3, #2 80a8d26: 4bb9 ldr r3, [pc, #740] ; (80a900c ) 80a8d28: 4413 add r3, r2 80a8d2a: 461c mov r4, r3 80a8d2c: 4bb3 ldr r3, [pc, #716] ; (80a8ffc ) 80a8d2e: 781b ldrb r3, [r3, #0] 80a8d30: b2db uxtb r3, r3 80a8d32: 4618 mov r0, r3 80a8d34: 4bb2 ldr r3, [pc, #712] ; (80a9000 ) 80a8d36: 79db ldrb r3, [r3, #7] 80a8d38: b2db uxtb r3, r3 80a8d3a: 4619 mov r1, r3 80a8d3c: 4ab1 ldr r2, [pc, #708] ; (80a9004 ) 80a8d3e: 0083 lsls r3, r0, #2 80a8d40: 4413 add r3, r2 80a8d42: 440b add r3, r1 80a8d44: 781b ldrb r3, [r3, #0] 80a8d46: 4618 mov r0, r3 80a8d48: f507 711a add.w r1, r7, #616 ; 0x268 80a8d4c: f507 731e add.w r3, r7, #632 ; 0x278 80a8d50: 1d1a adds r2, r3, #4 80a8d52: 460b mov r3, r1 80a8d54: 4601 mov r1, r0 80a8d56: 4620 mov r0, r4 80a8d58: f021 f9cc bl 80ca0f4 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a8d5c: 4ba7 ldr r3, [pc, #668] ; (80a8ffc ) 80a8d5e: 781b ldrb r3, [r3, #0] 80a8d60: b2db uxtb r3, r3 80a8d62: 4618 mov r0, r3 80a8d64: 4ba6 ldr r3, [pc, #664] ; (80a9000 ) 80a8d66: 79db ldrb r3, [r3, #7] 80a8d68: b2db uxtb r3, r3 80a8d6a: 4619 mov r1, r3 80a8d6c: 4aa5 ldr r2, [pc, #660] ; (80a9004 ) 80a8d6e: 0083 lsls r3, r0, #2 80a8d70: 4413 add r3, r2 80a8d72: 440b add r3, r1 80a8d74: 781b ldrb r3, [r3, #0] 80a8d76: 461a mov r2, r3 80a8d78: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8d7c: fb03 f302 mul.w r3, r3, r2 80a8d80: 4aa1 ldr r2, [pc, #644] ; (80a9008 ) 80a8d82: 8812 ldrh r2, [r2, #0] 80a8d84: b292 uxth r2, r2 80a8d86: 4413 add r3, r2 80a8d88: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a8d8c: 4b9b ldr r3, [pc, #620] ; (80a8ffc ) 80a8d8e: 781b ldrb r3, [r3, #0] 80a8d90: b2db uxtb r3, r3 80a8d92: 4618 mov r0, r3 80a8d94: 4b9a ldr r3, [pc, #616] ; (80a9000 ) 80a8d96: 79db ldrb r3, [r3, #7] 80a8d98: b2db uxtb r3, r3 80a8d9a: 4619 mov r1, r3 80a8d9c: 4a99 ldr r2, [pc, #612] ; (80a9004 ) 80a8d9e: 0083 lsls r3, r0, #2 80a8da0: 4413 add r3, r2 80a8da2: 440b add r3, r1 80a8da4: 781b ldrb r3, [r3, #0] 80a8da6: 461a mov r2, r3 80a8da8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8dac: fb03 f302 mul.w r3, r3, r2 80a8db0: 4a95 ldr r2, [pc, #596] ; (80a9008 ) 80a8db2: 8812 ldrh r2, [r2, #0] 80a8db4: b292 uxth r2, r2 80a8db6: 4413 add r3, r2 80a8db8: 4a90 ldr r2, [pc, #576] ; (80a8ffc ) 80a8dba: 7812 ldrb r2, [r2, #0] 80a8dbc: b2d2 uxtb r2, r2 80a8dbe: 4614 mov r4, r2 80a8dc0: 4a8f ldr r2, [pc, #572] ; (80a9000 ) 80a8dc2: 79d2 ldrb r2, [r2, #7] 80a8dc4: b2d2 uxtb r2, r2 80a8dc6: 4610 mov r0, r2 80a8dc8: 498e ldr r1, [pc, #568] ; (80a9004 ) 80a8dca: 00a2 lsls r2, r4, #2 80a8dcc: 440a add r2, r1 80a8dce: 4402 add r2, r0 80a8dd0: 7812 ldrb r2, [r2, #0] 80a8dd2: 4413 add r3, r2 80a8dd4: 3b01 subs r3, #1 80a8dd6: f8c7 328c str.w r3, [r7, #652] ; 0x28c x = 62 + i; 80a8dda: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8dde: 333e adds r3, #62 ; 0x3e 80a8de0: f8c7 3294 str.w r3, [r7, #660] ; 0x294 for(j = 0; j < 15; j++) 80a8de4: 2300 movs r3, #0 80a8de6: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8dea: e02c b.n 80a8e46 if((_Fvr[j] >= iL) && (_Fvr[j] <= iR)) 80a8dec: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8df0: 009b lsls r3, r3, #2 80a8df2: f507 722e add.w r2, r7, #696 ; 0x2b8 80a8df6: 4413 add r3, r2 80a8df8: f853 3c8c ldr.w r3, [r3, #-140] 80a8dfc: 461a mov r2, r3 80a8dfe: f8d7 3290 ldr.w r3, [r7, #656] ; 0x290 80a8e02: 429a cmp r2, r3 80a8e04: d31a bcc.n 80a8e3c 80a8e06: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8e0a: 009b lsls r3, r3, #2 80a8e0c: f507 722e add.w r2, r7, #696 ; 0x2b8 80a8e10: 4413 add r3, r2 80a8e12: f853 3c8c ldr.w r3, [r3, #-140] 80a8e16: 461a mov r2, r3 80a8e18: f8d7 328c ldr.w r3, [r7, #652] ; 0x28c 80a8e1c: 429a cmp r2, r3 80a8e1e: d80d bhi.n 80a8e3c LCD_SetColors(LCD_COLOR_FVR, LCD_COLOR_BLACK); 80a8e20: 497b ldr r1, [pc, #492] ; (80a9010 ) 80a8e22: 487c ldr r0, [pc, #496] ; (80a9014 ) 80a8e24: f7aa fcde bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a8e28: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8e2c: b298 uxth r0, r3 80a8e2e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a8e32: b29a uxth r2, r3 80a8e34: 23da movs r3, #218 ; 0xda 80a8e36: 212c movs r1, #44 ; 0x2c 80a8e38: f7aa ff0e bl 8053c58 for(j = 0; j < 15; j++) 80a8e3c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8e40: 3301 adds r3, #1 80a8e42: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a8e46: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a8e4a: 2b0e cmp r3, #14 80a8e4c: d9ce bls.n 80a8dec for(i = 0; i < 256; i++) 80a8e4e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8e52: 3301 adds r3, #1 80a8e54: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8e58: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8e5c: 2bff cmp r3, #255 ; 0xff 80a8e5e: f67f af4b bls.w 80a8cf8 break; 80a8e62: e000 b.n 80a8e66 break; 80a8e64: bf00 nop n = 0; 80a8e66: 2300 movs r3, #0 80a8e68: f8c7 32a4 str.w r3, [r7, #676] ; 0x2a4 NumOverdrives = 0; 80a8e6c: 4b6a ldr r3, [pc, #424] ; (80a9018 ) 80a8e6e: 2200 movs r2, #0 80a8e70: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a8e72: 2300 movs r3, #0 80a8e74: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a8e78: e1a0 b.n 80a91bc LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a8e7a: 4965 ldr r1, [pc, #404] ; (80a9010 ) 80a8e7c: 4867 ldr r0, [pc, #412] ; (80a901c ) 80a8e7e: f7aa fcb1 bl 80537e4 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a8e82: 4b5e ldr r3, [pc, #376] ; (80a8ffc ) 80a8e84: 781b ldrb r3, [r3, #0] 80a8e86: b2db uxtb r3, r3 80a8e88: 4618 mov r0, r3 80a8e8a: 4b5d ldr r3, [pc, #372] ; (80a9000 ) 80a8e8c: 79db ldrb r3, [r3, #7] 80a8e8e: b2db uxtb r3, r3 80a8e90: 4619 mov r1, r3 80a8e92: 4a5c ldr r2, [pc, #368] ; (80a9004 ) 80a8e94: 0083 lsls r3, r0, #2 80a8e96: 4413 add r3, r2 80a8e98: 440b add r3, r1 80a8e9a: 781b ldrb r3, [r3, #0] 80a8e9c: 461a mov r2, r3 80a8e9e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8ea2: fb03 f302 mul.w r3, r3, r2 80a8ea6: 4a58 ldr r2, [pc, #352] ; (80a9008 ) 80a8ea8: 8812 ldrh r2, [r2, #0] 80a8eaa: b292 uxth r2, r2 80a8eac: 4413 add r3, r2 80a8eae: 009a lsls r2, r3, #2 80a8eb0: 4b56 ldr r3, [pc, #344] ; (80a900c ) 80a8eb2: 4413 add r3, r2 80a8eb4: 461c mov r4, r3 80a8eb6: 4b51 ldr r3, [pc, #324] ; (80a8ffc ) 80a8eb8: 781b ldrb r3, [r3, #0] 80a8eba: b2db uxtb r3, r3 80a8ebc: 4618 mov r0, r3 80a8ebe: 4b50 ldr r3, [pc, #320] ; (80a9000 ) 80a8ec0: 79db ldrb r3, [r3, #7] 80a8ec2: b2db uxtb r3, r3 80a8ec4: 4619 mov r1, r3 80a8ec6: 4a4f ldr r2, [pc, #316] ; (80a9004 ) 80a8ec8: 0083 lsls r3, r0, #2 80a8eca: 4413 add r3, r2 80a8ecc: 440b add r3, r1 80a8ece: 781b ldrb r3, [r3, #0] 80a8ed0: 4618 mov r0, r3 80a8ed2: f507 711a add.w r1, r7, #616 ; 0x268 80a8ed6: f507 731e add.w r3, r7, #632 ; 0x278 80a8eda: 1d1a adds r2, r3, #4 80a8edc: 460b mov r3, r1 80a8ede: 4601 mov r1, r0 80a8ee0: 4620 mov r0, r4 80a8ee2: f021 f907 bl 80ca0f4 iL = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0); 80a8ee6: 4b45 ldr r3, [pc, #276] ; (80a8ffc ) 80a8ee8: 781b ldrb r3, [r3, #0] 80a8eea: b2db uxtb r3, r3 80a8eec: 4618 mov r0, r3 80a8eee: 4b44 ldr r3, [pc, #272] ; (80a9000 ) 80a8ef0: 79db ldrb r3, [r3, #7] 80a8ef2: b2db uxtb r3, r3 80a8ef4: 4619 mov r1, r3 80a8ef6: 4a43 ldr r2, [pc, #268] ; (80a9004 ) 80a8ef8: 0083 lsls r3, r0, #2 80a8efa: 4413 add r3, r2 80a8efc: 440b add r3, r1 80a8efe: 781b ldrb r3, [r3, #0] 80a8f00: 461a mov r2, r3 80a8f02: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8f06: fb03 f302 mul.w r3, r3, r2 80a8f0a: 4a3f ldr r2, [pc, #252] ; (80a9008 ) 80a8f0c: 8812 ldrh r2, [r2, #0] 80a8f0e: b292 uxth r2, r2 80a8f10: 4413 add r3, r2 80a8f12: f8c7 3290 str.w r3, [r7, #656] ; 0x290 iR = (uint32_t) (i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE] - 1); 80a8f16: 4b39 ldr r3, [pc, #228] ; (80a8ffc ) 80a8f18: 781b ldrb r3, [r3, #0] 80a8f1a: b2db uxtb r3, r3 80a8f1c: 4618 mov r0, r3 80a8f1e: 4b38 ldr r3, [pc, #224] ; (80a9000 ) 80a8f20: 79db ldrb r3, [r3, #7] 80a8f22: b2db uxtb r3, r3 80a8f24: 4619 mov r1, r3 80a8f26: 4a37 ldr r2, [pc, #220] ; (80a9004 ) 80a8f28: 0083 lsls r3, r0, #2 80a8f2a: 4413 add r3, r2 80a8f2c: 440b add r3, r1 80a8f2e: 781b ldrb r3, [r3, #0] 80a8f30: 461a mov r2, r3 80a8f32: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a8f36: fb03 f302 mul.w r3, r3, r2 80a8f3a: 4a33 ldr r2, [pc, #204] ; (80a9008 ) 80a8f3c: 8812 ldrh r2, [r2, #0] 80a8f3e: b292 uxth r2, r2 80a8f40: 4413 add r3, r2 80a8f42: 4a2e ldr r2, [pc, #184] ; (80a8ffc ) 80a8f44: 7812 ldrb r2, [r2, #0] 80a8f46: b2d2 uxtb r2, r2 80a8f48: 4614 mov r4, r2 80a8f4a: 4a2d ldr r2, [pc, #180] ; (80a9000 ) 80a8f4c: 79d2 ldrb r2, [r2, #7] 80a8f4e: b2d2 uxtb r2, r2 80a8f50: 4610 mov r0, r2 80a8f52: 492c ldr r1, [pc, #176] ; (80a9004 ) 80a8f54: 00a2 lsls r2, r4, #2 80a8f56: 440a add r2, r1 80a8f58: 4402 add r2, r0 80a8f5a: 7812 ldrb r2, [r2, #0] 80a8f5c: 4413 add r3, r2 80a8f5e: 3b01 subs r3, #1 80a8f60: f8c7 328c str.w r3, [r7, #652] ; 0x28c if(mF[MAXY] > 0.0f) 80a8f64: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a8f68: eef5 7ac0 vcmpe.f32 s15, #0.0 80a8f6c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8f70: dd60 ble.n 80a9034 mF[MAXY] = ((mF[MAXY] - min) * ZoomVal) + 3.0f; 80a8f72: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a8f76: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a8f7a: ee37 7a67 vsub.f32 s14, s14, s15 80a8f7e: 4b28 ldr r3, [pc, #160] ; (80a9020 ) 80a8f80: edd3 7a00 vldr s15, [r3] 80a8f84: ee67 7a27 vmul.f32 s15, s14, s15 80a8f88: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 80a8f8c: ee77 7a87 vadd.f32 s15, s15, s14 80a8f90: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a8f94: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a8f98: ed9f 7a22 vldr s14, [pc, #136] ; 80a9024 80a8f9c: eef4 7ac7 vcmpe.f32 s15, s14 80a8fa0: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8fa4: dd02 ble.n 80a8fac 80a8fa6: 4b20 ldr r3, [pc, #128] ; (80a9028 ) 80a8fa8: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a8fac: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a8fb0: ed9f 7a1e vldr s14, [pc, #120] ; 80a902c 80a8fb4: eef4 7ac7 vcmpe.f32 s15, s14 80a8fb8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a8fbc: d502 bpl.n 80a8fc4 80a8fbe: 4b1c ldr r3, [pc, #112] ; (80a9030 ) 80a8fc0: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80a8fc4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a8fc8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a8fcc: ee77 7a87 vadd.f32 s15, s15, s14 80a8fd0: eefd 7ae7 vcvt.s32.f32 s15, s15 80a8fd4: edc7 7a01 vstr s15, [r7, #4] 80a8fd8: 88bb ldrh r3, [r7, #4] 80a8fda: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > 157) 80a8fde: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a8fe2: 2b9d cmp r3, #157 ; 0x9d 80a8fe4: dd29 ble.n 80a903a pMax = 157; 80a8fe6: 239d movs r3, #157 ; 0x9d 80a8fe8: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a8fec: 4b0a ldr r3, [pc, #40] ; (80a9018 ) 80a8fee: 781b ldrb r3, [r3, #0] 80a8ff0: 3301 adds r3, #1 80a8ff2: b2da uxtb r2, r3 80a8ff4: 4b08 ldr r3, [pc, #32] ; (80a9018 ) 80a8ff6: 701a strb r2, [r3, #0] 80a8ff8: e01f b.n 80a903a 80a8ffa: bf00 nop 80a8ffc: 20020f74 .word 0x20020f74 80a9000: 20023e60 .word 0x20023e60 80a9004: 080ef64c .word 0x080ef64c 80a9008: 20025d1e .word 0x20025d1e 80a900c: 64080000 .word 0x64080000 80a9010: ff0a0f1f .word 0xff0a0f1f 80a9014: ff66a6d3 .word 0xff66a6d3 80a9018: 2002164e .word 0x2002164e 80a901c: ff26a01f .word 0xff26a01f 80a9020: 20020990 .word 0x20020990 80a9024: 46fffe00 .word 0x46fffe00 80a9028: 46fffe00 .word 0x46fffe00 80a902c: c6fffe00 .word 0xc6fffe00 80a9030: c6fffe00 .word 0xc6fffe00 pMax = 0; 80a9034: 2300 movs r3, #0 80a9036: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80a903a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a903e: 333e adds r3, #62 ; 0x3e 80a9040: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80a9044: 4bb0 ldr r3, [pc, #704] ; (80a9308 ) 80a9046: 681b ldr r3, [r3, #0] 80a9048: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a904c: 429a cmp r2, r3 80a904e: d12a bne.n 80a90a6 if(menupos != Cursor) 80a9050: 4bae ldr r3, [pc, #696] ; (80a930c ) 80a9052: 781b ldrb r3, [r3, #0] 80a9054: b2db uxtb r3, r3 80a9056: 2b06 cmp r3, #6 80a9058: d004 beq.n 80a9064 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80a905a: 49ad ldr r1, [pc, #692] ; (80a9310 ) 80a905c: 48ad ldr r0, [pc, #692] ; (80a9314 ) 80a905e: f7aa fbc1 bl 80537e4 80a9062: e003 b.n 80a906c else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80a9064: 49aa ldr r1, [pc, #680] ; (80a9310 ) 80a9066: 48ac ldr r0, [pc, #688] ; (80a9318 ) 80a9068: f7aa fbbc bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a906c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9070: b298 uxth r0, r3 80a9072: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9076: b29a uxth r2, r3 80a9078: 23da movs r3, #218 ; 0xda 80a907a: 212c movs r1, #44 ; 0x2c 80a907c: f7aa fdec bl 8053c58 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80a9080: 49a3 ldr r1, [pc, #652] ; (80a9310 ) 80a9082: 48a6 ldr r0, [pc, #664] ; (80a931c ) 80a9084: f7aa fbae bl 80537e4 BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80a9088: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a908c: b298 uxth r0, r3 80a908e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9092: b29a uxth r2, r3 80a9094: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9098: f1c3 03da rsb r3, r3, #218 ; 0xda 80a909c: b29b uxth r3, r3 80a909e: 21db movs r1, #219 ; 0xdb 80a90a0: f7aa fdda bl 8053c58 80a90a4: e011 b.n 80a90ca LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a90a6: 499a ldr r1, [pc, #616] ; (80a9310 ) 80a90a8: 489d ldr r0, [pc, #628] ; (80a9320 ) 80a90aa: f7aa fb9b bl 80537e4 BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80a90ae: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a90b2: b298 uxth r0, r3 80a90b4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a90b8: b29a uxth r2, r3 80a90ba: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a90be: f1c3 03da rsb r3, r3, #218 ; 0xda 80a90c2: b29b uxth r3, r3 80a90c4: 21da movs r1, #218 ; 0xda 80a90c6: f7aa fdc7 bl 8053c58 for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80a90ca: 4b96 ldr r3, [pc, #600] ; (80a9324 ) 80a90cc: 781b ldrb r3, [r3, #0] 80a90ce: b2db uxtb r3, r3 80a90d0: 4618 mov r0, r3 80a90d2: 4b95 ldr r3, [pc, #596] ; (80a9328 ) 80a90d4: 79db ldrb r3, [r3, #7] 80a90d6: b2db uxtb r3, r3 80a90d8: 4619 mov r1, r3 80a90da: 4a94 ldr r2, [pc, #592] ; (80a932c ) 80a90dc: 0083 lsls r3, r0, #2 80a90de: 4413 add r3, r2 80a90e0: 440b add r3, r1 80a90e2: 781b ldrb r3, [r3, #0] 80a90e4: 461a mov r2, r3 80a90e6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a90ea: fb03 f302 mul.w r3, r3, r2 80a90ee: 4a90 ldr r2, [pc, #576] ; (80a9330 ) 80a90f0: 8812 ldrh r2, [r2, #0] 80a90f2: b292 uxth r2, r2 80a90f4: 4413 add r3, r2 80a90f6: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a90fa: e028 b.n 80a914e if(Freq[j]) 80a90fc: 4a8d ldr r2, [pc, #564] ; (80a9334 ) 80a90fe: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9102: 4413 add r3, r2 80a9104: 781b ldrb r3, [r3, #0] 80a9106: 2b00 cmp r3, #0 80a9108: d01c beq.n 80a9144 LCD_SetColors(0xFFFFDA10, LCD_COLOR_BLACK); 80a910a: 4981 ldr r1, [pc, #516] ; (80a9310 ) 80a910c: 488a ldr r0, [pc, #552] ; (80a9338 ) 80a910e: f7aa fb69 bl 80537e4 BSP_LCD_DrawPixel(x, 218 - pMax, 0xFFFFDA10); 80a9112: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9116: b298 uxth r0, r3 80a9118: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a911c: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9120: b29b uxth r3, r3 80a9122: 4a85 ldr r2, [pc, #532] ; (80a9338 ) 80a9124: 4619 mov r1, r3 80a9126: f7aa ff87 bl 8054038 BSP_LCD_DrawPixel(x, 219 - pMax, 0xFFFFDA10); 80a912a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a912e: b298 uxth r0, r3 80a9130: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9134: f1c3 03db rsb r3, r3, #219 ; 0xdb 80a9138: b29b uxth r3, r3 80a913a: 4a7f ldr r2, [pc, #508] ; (80a9338 ) 80a913c: 4619 mov r1, r3 80a913e: f7aa ff7b bl 8054038 break; 80a9142: e02c b.n 80a919e for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80a9144: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9148: 3301 adds r3, #1 80a914a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a914e: 4b75 ldr r3, [pc, #468] ; (80a9324 ) 80a9150: 781b ldrb r3, [r3, #0] 80a9152: b2db uxtb r3, r3 80a9154: 4618 mov r0, r3 80a9156: 4b74 ldr r3, [pc, #464] ; (80a9328 ) 80a9158: 79db ldrb r3, [r3, #7] 80a915a: b2db uxtb r3, r3 80a915c: 4619 mov r1, r3 80a915e: 4a73 ldr r2, [pc, #460] ; (80a932c ) 80a9160: 0083 lsls r3, r0, #2 80a9162: 4413 add r3, r2 80a9164: 440b add r3, r1 80a9166: 781b ldrb r3, [r3, #0] 80a9168: 461a mov r2, r3 80a916a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a916e: fb03 f302 mul.w r3, r3, r2 80a9172: 4a6f ldr r2, [pc, #444] ; (80a9330 ) 80a9174: 8812 ldrh r2, [r2, #0] 80a9176: b292 uxth r2, r2 80a9178: 4413 add r3, r2 80a917a: 4a6a ldr r2, [pc, #424] ; (80a9324 ) 80a917c: 7812 ldrb r2, [r2, #0] 80a917e: b2d2 uxtb r2, r2 80a9180: 4614 mov r4, r2 80a9182: 4a69 ldr r2, [pc, #420] ; (80a9328 ) 80a9184: 79d2 ldrb r2, [r2, #7] 80a9186: b2d2 uxtb r2, r2 80a9188: 4610 mov r0, r2 80a918a: 4968 ldr r1, [pc, #416] ; (80a932c ) 80a918c: 00a2 lsls r2, r4, #2 80a918e: 440a add r2, r1 80a9190: 4402 add r2, r0 80a9192: 7812 ldrb r2, [r2, #0] 80a9194: 441a add r2, r3 80a9196: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a919a: 429a cmp r2, r3 80a919c: d8ae bhi.n 80a90fc if(pMax > Maximum) 80a919e: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a91a2: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a91a6: 429a cmp r2, r3 80a91a8: dd03 ble.n 80a91b2 Maximum = pMax; 80a91aa: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a91ae: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80a91b2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a91b6: 3301 adds r3, #1 80a91b8: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a91bc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a91c0: 2bff cmp r3, #255 ; 0xff 80a91c2: f67f ae5a bls.w 80a8e7a 80a91c6: e178 b.n 80a94ba NumOverdrives = 0; 80a91c8: 4b5c ldr r3, [pc, #368] ; (80a933c ) 80a91ca: 2200 movs r2, #0 80a91cc: 701a strb r2, [r3, #0] for(i = 0; i < 256; i++) 80a91ce: 2300 movs r3, #0 80a91d0: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a91d4: e16c b.n 80a94b0 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a91d6: 494e ldr r1, [pc, #312] ; (80a9310 ) 80a91d8: 4851 ldr r0, [pc, #324] ; (80a9320 ) 80a91da: f7aa fb03 bl 80537e4 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a91de: 4b51 ldr r3, [pc, #324] ; (80a9324 ) 80a91e0: 781b ldrb r3, [r3, #0] 80a91e2: b2db uxtb r3, r3 80a91e4: 4618 mov r0, r3 80a91e6: 4b50 ldr r3, [pc, #320] ; (80a9328 ) 80a91e8: 79db ldrb r3, [r3, #7] 80a91ea: b2db uxtb r3, r3 80a91ec: 4619 mov r1, r3 80a91ee: 4a4f ldr r2, [pc, #316] ; (80a932c ) 80a91f0: 0083 lsls r3, r0, #2 80a91f2: 4413 add r3, r2 80a91f4: 440b add r3, r1 80a91f6: 781b ldrb r3, [r3, #0] 80a91f8: 461a mov r2, r3 80a91fa: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a91fe: fb03 f302 mul.w r3, r3, r2 80a9202: 4a4b ldr r2, [pc, #300] ; (80a9330 ) 80a9204: 8812 ldrh r2, [r2, #0] 80a9206: b292 uxth r2, r2 80a9208: 4413 add r3, r2 80a920a: 009a lsls r2, r3, #2 80a920c: 4b4c ldr r3, [pc, #304] ; (80a9340 ) 80a920e: 4413 add r3, r2 80a9210: 461c mov r4, r3 80a9212: 4b44 ldr r3, [pc, #272] ; (80a9324 ) 80a9214: 781b ldrb r3, [r3, #0] 80a9216: b2db uxtb r3, r3 80a9218: 4618 mov r0, r3 80a921a: 4b43 ldr r3, [pc, #268] ; (80a9328 ) 80a921c: 79db ldrb r3, [r3, #7] 80a921e: b2db uxtb r3, r3 80a9220: 4619 mov r1, r3 80a9222: 4a42 ldr r2, [pc, #264] ; (80a932c ) 80a9224: 0083 lsls r3, r0, #2 80a9226: 4413 add r3, r2 80a9228: 440b add r3, r1 80a922a: 781b ldrb r3, [r3, #0] 80a922c: 4618 mov r0, r3 80a922e: f507 711a add.w r1, r7, #616 ; 0x268 80a9232: f507 731e add.w r3, r7, #632 ; 0x278 80a9236: 1d1a adds r2, r3, #4 80a9238: 460b mov r3, r1 80a923a: 4601 mov r1, r0 80a923c: 4620 mov r0, r4 80a923e: f020 ff59 bl 80ca0f4 if(mF[MAXY] > 0.0f) 80a9242: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9246: eef5 7ac0 vcmpe.f32 s15, #0.0 80a924a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a924e: dd43 ble.n 80a92d8 mF[MAXY] = ((mF[MAXY] - min) * ZoomVal) + 3.0f; 80a9250: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a9254: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9258: ee37 7a67 vsub.f32 s14, s14, s15 80a925c: 4b39 ldr r3, [pc, #228] ; (80a9344 ) 80a925e: edd3 7a00 vldr s15, [r3] 80a9262: ee67 7a27 vmul.f32 s15, s14, s15 80a9266: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 80a926a: ee77 7a87 vadd.f32 s15, s15, s14 80a926e: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a9272: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9276: ed9f 7a34 vldr s14, [pc, #208] ; 80a9348 80a927a: eef4 7ac7 vcmpe.f32 s15, s14 80a927e: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9282: dd02 ble.n 80a928a 80a9284: 4b31 ldr r3, [pc, #196] ; (80a934c ) 80a9286: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a928a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a928e: ed9f 7a30 vldr s14, [pc, #192] ; 80a9350 80a9292: eef4 7ac7 vcmpe.f32 s15, s14 80a9296: eef1 fa10 vmrs APSR_nzcv, fpscr 80a929a: d502 bpl.n 80a92a2 80a929c: 4b2d ldr r3, [pc, #180] ; (80a9354 ) 80a929e: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80a92a2: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a92a6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a92aa: ee77 7a87 vadd.f32 s15, s15, s14 80a92ae: eefd 7ae7 vcvt.s32.f32 s15, s15 80a92b2: edc7 7a01 vstr s15, [r7, #4] 80a92b6: 88bb ldrh r3, [r7, #4] 80a92b8: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > 157) 80a92bc: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a92c0: 2b9d cmp r3, #157 ; 0x9d 80a92c2: dd0c ble.n 80a92de pMax = 157; 80a92c4: 239d movs r3, #157 ; 0x9d 80a92c6: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a92ca: 4b1c ldr r3, [pc, #112] ; (80a933c ) 80a92cc: 781b ldrb r3, [r3, #0] 80a92ce: 3301 adds r3, #1 80a92d0: b2da uxtb r2, r3 80a92d2: 4b1a ldr r3, [pc, #104] ; (80a933c ) 80a92d4: 701a strb r2, [r3, #0] 80a92d6: e002 b.n 80a92de pMax = 0; 80a92d8: 2300 movs r3, #0 80a92da: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80a92de: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a92e2: 333e adds r3, #62 ; 0x3e 80a92e4: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80a92e8: 4b07 ldr r3, [pc, #28] ; (80a9308 ) 80a92ea: 681b ldr r3, [r3, #0] 80a92ec: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a92f0: 429a cmp r2, r3 80a92f2: d156 bne.n 80a93a2 if(menupos != Cursor) 80a92f4: 4b05 ldr r3, [pc, #20] ; (80a930c ) 80a92f6: 781b ldrb r3, [r3, #0] 80a92f8: b2db uxtb r3, r3 80a92fa: 2b06 cmp r3, #6 80a92fc: d02c beq.n 80a9358 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80a92fe: 4904 ldr r1, [pc, #16] ; (80a9310 ) 80a9300: 4804 ldr r0, [pc, #16] ; (80a9314 ) 80a9302: f7aa fa6f bl 80537e4 80a9306: e02b b.n 80a9360 80a9308: 2002006c .word 0x2002006c 80a930c: 20020070 .word 0x20020070 80a9310: ff0a0f1f .word 0xff0a0f1f 80a9314: ff808080 .word 0xff808080 80a9318: ffff0000 .word 0xffff0000 80a931c: ff008000 .word 0xff008000 80a9320: ff26a01f .word 0xff26a01f 80a9324: 20020f74 .word 0x20020f74 80a9328: 20023e60 .word 0x20023e60 80a932c: 080ef64c .word 0x080ef64c 80a9330: 20025d1e .word 0x20025d1e 80a9334: 20018000 .word 0x20018000 80a9338: ffffda10 .word 0xffffda10 80a933c: 2002164e .word 0x2002164e 80a9340: 64080000 .word 0x64080000 80a9344: 20020990 .word 0x20020990 80a9348: 46fffe00 .word 0x46fffe00 80a934c: 46fffe00 .word 0x46fffe00 80a9350: c6fffe00 .word 0xc6fffe00 80a9354: c6fffe00 .word 0xc6fffe00 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80a9358: 49c2 ldr r1, [pc, #776] ; (80a9664 ) 80a935a: 48c3 ldr r0, [pc, #780] ; (80a9668 ) 80a935c: f7aa fa42 bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a9360: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9364: b298 uxth r0, r3 80a9366: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a936a: b29a uxth r2, r3 80a936c: 23da movs r3, #218 ; 0xda 80a936e: 212c movs r1, #44 ; 0x2c 80a9370: f7aa fc72 bl 8053c58 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80a9374: 49bb ldr r1, [pc, #748] ; (80a9664 ) 80a9376: 48bd ldr r0, [pc, #756] ; (80a966c ) 80a9378: f7aa fa34 bl 80537e4 BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80a937c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9380: b298 uxth r0, r3 80a9382: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9386: b29a uxth r2, r3 80a9388: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a938c: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9390: b29b uxth r3, r3 80a9392: 21db movs r1, #219 ; 0xdb 80a9394: f7aa fc60 bl 8053c58 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a9398: 49b2 ldr r1, [pc, #712] ; (80a9664 ) 80a939a: 48b5 ldr r0, [pc, #724] ; (80a9670 ) 80a939c: f7aa fa22 bl 80537e4 80a93a0: e00d b.n 80a93be BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80a93a2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a93a6: b298 uxth r0, r3 80a93a8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a93ac: b29a uxth r2, r3 80a93ae: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a93b2: f1c3 03da rsb r3, r3, #218 ; 0xda 80a93b6: b29b uxth r3, r3 80a93b8: 21da movs r1, #218 ; 0xda 80a93ba: f7aa fc4d bl 8053c58 for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80a93be: 4bad ldr r3, [pc, #692] ; (80a9674 ) 80a93c0: 781b ldrb r3, [r3, #0] 80a93c2: b2db uxtb r3, r3 80a93c4: 4618 mov r0, r3 80a93c6: 4bac ldr r3, [pc, #688] ; (80a9678 ) 80a93c8: 79db ldrb r3, [r3, #7] 80a93ca: b2db uxtb r3, r3 80a93cc: 4619 mov r1, r3 80a93ce: 4aab ldr r2, [pc, #684] ; (80a967c ) 80a93d0: 0083 lsls r3, r0, #2 80a93d2: 4413 add r3, r2 80a93d4: 440b add r3, r1 80a93d6: 781b ldrb r3, [r3, #0] 80a93d8: 461a mov r2, r3 80a93da: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a93de: fb03 f302 mul.w r3, r3, r2 80a93e2: 4aa7 ldr r2, [pc, #668] ; (80a9680 ) 80a93e4: 8812 ldrh r2, [r2, #0] 80a93e6: b292 uxth r2, r2 80a93e8: 4413 add r3, r2 80a93ea: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a93ee: e028 b.n 80a9442 if(Freq[j]) 80a93f0: 4aa4 ldr r2, [pc, #656] ; (80a9684 ) 80a93f2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a93f6: 4413 add r3, r2 80a93f8: 781b ldrb r3, [r3, #0] 80a93fa: 2b00 cmp r3, #0 80a93fc: d01c beq.n 80a9438 LCD_SetColors(0xFFFFDA10, LCD_COLOR_BLACK); 80a93fe: 4999 ldr r1, [pc, #612] ; (80a9664 ) 80a9400: 48a1 ldr r0, [pc, #644] ; (80a9688 ) 80a9402: f7aa f9ef bl 80537e4 BSP_LCD_DrawPixel(x, 218 - pMax, 0xFFFFDA10); 80a9406: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a940a: b298 uxth r0, r3 80a940c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9410: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9414: b29b uxth r3, r3 80a9416: 4a9c ldr r2, [pc, #624] ; (80a9688 ) 80a9418: 4619 mov r1, r3 80a941a: f7aa fe0d bl 8054038 BSP_LCD_DrawPixel(x, 219 - pMax, 0xFFFFDA10); 80a941e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9422: b298 uxth r0, r3 80a9424: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9428: f1c3 03db rsb r3, r3, #219 ; 0xdb 80a942c: b29b uxth r3, r3 80a942e: 4a96 ldr r2, [pc, #600] ; (80a9688 ) 80a9430: 4619 mov r1, r3 80a9432: f7aa fe01 bl 8054038 break; 80a9436: e02c b.n 80a9492 for(j = i * avgSPC[ViewLevel][pardata.LNE] + X0; j < i * avgSPC[ViewLevel][pardata.LNE] + X0 + avgSPC[ViewLevel][pardata.LNE]; j++) 80a9438: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a943c: 3301 adds r3, #1 80a943e: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a9442: 4b8c ldr r3, [pc, #560] ; (80a9674 ) 80a9444: 781b ldrb r3, [r3, #0] 80a9446: b2db uxtb r3, r3 80a9448: 4618 mov r0, r3 80a944a: 4b8b ldr r3, [pc, #556] ; (80a9678 ) 80a944c: 79db ldrb r3, [r3, #7] 80a944e: b2db uxtb r3, r3 80a9450: 4619 mov r1, r3 80a9452: 4a8a ldr r2, [pc, #552] ; (80a967c ) 80a9454: 0083 lsls r3, r0, #2 80a9456: 4413 add r3, r2 80a9458: 440b add r3, r1 80a945a: 781b ldrb r3, [r3, #0] 80a945c: 461a mov r2, r3 80a945e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9462: fb03 f302 mul.w r3, r3, r2 80a9466: 4a86 ldr r2, [pc, #536] ; (80a9680 ) 80a9468: 8812 ldrh r2, [r2, #0] 80a946a: b292 uxth r2, r2 80a946c: 4413 add r3, r2 80a946e: 4a81 ldr r2, [pc, #516] ; (80a9674 ) 80a9470: 7812 ldrb r2, [r2, #0] 80a9472: b2d2 uxtb r2, r2 80a9474: 4614 mov r4, r2 80a9476: 4a80 ldr r2, [pc, #512] ; (80a9678 ) 80a9478: 79d2 ldrb r2, [r2, #7] 80a947a: b2d2 uxtb r2, r2 80a947c: 4610 mov r0, r2 80a947e: 497f ldr r1, [pc, #508] ; (80a967c ) 80a9480: 00a2 lsls r2, r4, #2 80a9482: 440a add r2, r1 80a9484: 4402 add r2, r0 80a9486: 7812 ldrb r2, [r2, #0] 80a9488: 441a add r2, r3 80a948a: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a948e: 429a cmp r2, r3 80a9490: d8ae bhi.n 80a93f0 if(pMax > Maximum) 80a9492: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a9496: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a949a: 429a cmp r2, r3 80a949c: dd03 ble.n 80a94a6 Maximum = pMax; 80a949e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a94a2: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80a94a6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a94aa: 3301 adds r3, #1 80a94ac: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a94b0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a94b4: 2bff cmp r3, #255 ; 0xff 80a94b6: f67f ae8e bls.w 80a91d6 Maximum = ABS(Maximum); 80a94ba: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a94be: 2b00 cmp r3, #0 80a94c0: bfb8 it lt 80a94c2: 425b neglt r3, r3 80a94c4: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if((Maximum < 30) && (pardata.OPTIONS & 0x4)) 80a94c8: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a94cc: 2b1d cmp r3, #29 80a94ce: dc02 bgt.n 80a94d6 80a94d0: 4b69 ldr r3, [pc, #420] ; (80a9678 ) 80a94d2: f8d3 3098 ldr.w r3, [r3, #152] ; 0x98 pMin = 0; 80a94d6: 2300 movs r3, #0 80a94d8: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 LCD_SetColors(LCD_COLOR_LIGHTGRAY, LCD_COLOR_BLACK); 80a94dc: 4961 ldr r1, [pc, #388] ; (80a9664 ) 80a94de: 486b ldr r0, [pc, #428] ; (80a968c ) 80a94e0: f7aa f980 bl 80537e4 for(i = 0; i < 256; i++) 80a94e4: 2300 movs r3, #0 80a94e6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a94ea: e0b4 b.n 80a9656 x = 62 + i; 80a94ec: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a94f0: 333e adds r3, #62 ; 0x3e 80a94f2: f8c7 3294 str.w r3, [r7, #660] ; 0x294 arm_max_f32(&CmplxA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a94f6: 4b5f ldr r3, [pc, #380] ; (80a9674 ) 80a94f8: 781b ldrb r3, [r3, #0] 80a94fa: b2db uxtb r3, r3 80a94fc: 4618 mov r0, r3 80a94fe: 4b5e ldr r3, [pc, #376] ; (80a9678 ) 80a9500: 79db ldrb r3, [r3, #7] 80a9502: b2db uxtb r3, r3 80a9504: 4619 mov r1, r3 80a9506: 4a5d ldr r2, [pc, #372] ; (80a967c ) 80a9508: 0083 lsls r3, r0, #2 80a950a: 4413 add r3, r2 80a950c: 440b add r3, r1 80a950e: 781b ldrb r3, [r3, #0] 80a9510: 461a mov r2, r3 80a9512: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9516: fb03 f302 mul.w r3, r3, r2 80a951a: 4a59 ldr r2, [pc, #356] ; (80a9680 ) 80a951c: 8812 ldrh r2, [r2, #0] 80a951e: b292 uxth r2, r2 80a9520: 4413 add r3, r2 80a9522: 009a lsls r2, r3, #2 80a9524: 4b5a ldr r3, [pc, #360] ; (80a9690 ) 80a9526: 4413 add r3, r2 80a9528: 461c mov r4, r3 80a952a: 4b52 ldr r3, [pc, #328] ; (80a9674 ) 80a952c: 781b ldrb r3, [r3, #0] 80a952e: b2db uxtb r3, r3 80a9530: 4618 mov r0, r3 80a9532: 4b51 ldr r3, [pc, #324] ; (80a9678 ) 80a9534: 79db ldrb r3, [r3, #7] 80a9536: b2db uxtb r3, r3 80a9538: 4619 mov r1, r3 80a953a: 4a50 ldr r2, [pc, #320] ; (80a967c ) 80a953c: 0083 lsls r3, r0, #2 80a953e: 4413 add r3, r2 80a9540: 440b add r3, r1 80a9542: 781b ldrb r3, [r3, #0] 80a9544: 4618 mov r0, r3 80a9546: f507 711a add.w r1, r7, #616 ; 0x268 80a954a: f507 731e add.w r3, r7, #632 ; 0x278 80a954e: 1d1a adds r2, r3, #4 80a9550: 460b mov r3, r1 80a9552: 4601 mov r1, r0 80a9554: 4620 mov r0, r4 80a9556: f020 fdcd bl 80ca0f4 if(mF[MAXY] != 0.0f) 80a955a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a955e: eef5 7a40 vcmp.f32 s15, #0.0 80a9562: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9566: d060 beq.n 80a962a mF[MAXY] = ((mF[MAXY] - min) * ZoomVal) + 3.0f; 80a9568: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a956c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9570: ee37 7a67 vsub.f32 s14, s14, s15 80a9574: 4b47 ldr r3, [pc, #284] ; (80a9694 ) 80a9576: edd3 7a00 vldr s15, [r3] 80a957a: ee67 7a27 vmul.f32 s15, s14, s15 80a957e: eeb0 7a08 vmov.f32 s14, #8 ; 0x40400000 3.0 80a9582: ee77 7a87 vadd.f32 s15, s15, s14 80a9586: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a958a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a958e: ed9f 7a42 vldr s14, [pc, #264] ; 80a9698 80a9592: eef4 7ac7 vcmpe.f32 s15, s14 80a9596: eef1 fa10 vmrs APSR_nzcv, fpscr 80a959a: dd02 ble.n 80a95a2 80a959c: 4b3f ldr r3, [pc, #252] ; (80a969c ) 80a959e: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a95a2: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a95a6: ed9f 7a3e vldr s14, [pc, #248] ; 80a96a0 80a95aa: eef4 7ac7 vcmpe.f32 s15, s14 80a95ae: eef1 fa10 vmrs APSR_nzcv, fpscr 80a95b2: d502 bpl.n 80a95ba 80a95b4: 4b3b ldr r3, [pc, #236] ; (80a96a4 ) 80a95b6: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80a95ba: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a95be: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a95c2: ee77 7a87 vadd.f32 s15, s15, s14 80a95c6: eefd 7ae7 vcvt.s32.f32 s15, s15 80a95ca: edc7 7a01 vstr s15, [r7, #4] 80a95ce: 88bb ldrh r3, [r7, #4] 80a95d0: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > 157) 80a95d4: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a95d8: 2b9d cmp r3, #157 ; 0x9d 80a95da: dd02 ble.n 80a95e2 pMax = 157; 80a95dc: 239d movs r3, #157 ; 0x9d 80a95de: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax < 0) 80a95e2: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a95e6: 2b00 cmp r3, #0 80a95e8: da02 bge.n 80a95f0 pMax = 0; 80a95ea: 2300 movs r3, #0 80a95ec: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(i == 0) { 80a95f0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a95f4: 2b00 cmp r3, #0 80a95f6: d103 bne.n 80a9600 pMin = pMax; 80a95f8: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a95fc: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 BSP_LCD_DrawLine(x - 1, 218 - pMin, x, 218 - pMax); 80a9600: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9604: b29b uxth r3, r3 80a9606: 3b01 subs r3, #1 80a9608: b298 uxth r0, r3 80a960a: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80a960e: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9612: b299 uxth r1, r3 80a9614: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9618: b29a uxth r2, r3 80a961a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a961e: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9622: b29b uxth r3, r3 80a9624: f7aa fb18 bl 8053c58 80a9628: e00c b.n 80a9644 pMax = 0; 80a962a: 2300 movs r3, #0 80a962c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 BSP_LCD_DrawLine(x, 218, x, 218); 80a9630: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9634: b298 uxth r0, r3 80a9636: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a963a: b29a uxth r2, r3 80a963c: 23da movs r3, #218 ; 0xda 80a963e: 21da movs r1, #218 ; 0xda 80a9640: f7aa fb0a bl 8053c58 pMin = pMax; 80a9644: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9648: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 for(i = 0; i < 256; i++) 80a964c: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9650: 3301 adds r3, #1 80a9652: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a9656: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a965a: 2bff cmp r3, #255 ; 0xff 80a965c: f67f af46 bls.w 80a94ec } 80a9660: f002 bc1a b.w 80abe98 80a9664: ff0a0f1f .word 0xff0a0f1f 80a9668: ffff0000 .word 0xffff0000 80a966c: ff008000 .word 0xff008000 80a9670: ff26a01f .word 0xff26a01f 80a9674: 20020f74 .word 0x20020f74 80a9678: 20023e60 .word 0x20023e60 80a967c: 080ef64c .word 0x080ef64c 80a9680: 20025d1e .word 0x20025d1e 80a9684: 20018000 .word 0x20018000 80a9688: ffffda10 .word 0xffffda10 80a968c: ffd3d3d3 .word 0xffd3d3d3 80a9690: 64090000 .word 0x64090000 80a9694: 20020990 .word 0x20020990 80a9698: 46fffe00 .word 0x46fffe00 80a969c: 46fffe00 .word 0x46fffe00 80a96a0: c6fffe00 .word 0xc6fffe00 80a96a4: c6fffe00 .word 0xc6fffe00 if(pardata.SYG == UDAR) 80a96a8: 4ba8 ldr r3, [pc, #672] ; (80a994c ) 80a96aa: 781b ldrb r3, [r3, #0] 80a96ac: b2db uxtb r3, r3 80a96ae: 2b09 cmp r3, #9 80a96b0: f040 83e6 bne.w 80a9e80 if(READY_TO_SEE) 80a96b4: 4ba6 ldr r3, [pc, #664] ; (80a9950 ) 80a96b6: 781b ldrb r3, [r3, #0] 80a96b8: b2db uxtb r3, r3 80a96ba: 2b00 cmp r3, #0 80a96bc: f002 83ec beq.w 80abe98 if(AUTOZOOM) 80a96c0: 4ba4 ldr r3, [pc, #656] ; (80a9954 ) 80a96c2: 781b ldrb r3, [r3, #0] 80a96c4: b2db uxtb r3, r3 80a96c6: 2b00 cmp r3, #0 80a96c8: f000 810f beq.w 80a98ea if(pardata.MSH == LOG) 80a96cc: 4b9f ldr r3, [pc, #636] ; (80a994c ) 80a96ce: 7a9b ldrb r3, [r3, #10] 80a96d0: b2db uxtb r3, r3 80a96d2: 2b01 cmp r3, #1 80a96d4: f040 808a bne.w 80a97ec k = 0; 80a96d8: 2300 movs r3, #0 80a96da: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80a96de: 4b9e ldr r3, [pc, #632] ; (80a9958 ) 80a96e0: 881b ldrh r3, [r3, #0] 80a96e2: b29b uxth r3, r3 80a96e4: 461a mov r2, r3 80a96e6: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a96ea: 4413 add r3, r2 80a96ec: 009a lsls r2, r3, #2 80a96ee: 4b9b ldr r3, [pc, #620] ; (80a995c ) 80a96f0: 4413 add r3, r2 80a96f2: 681b ldr r3, [r3, #0] 80a96f4: f8c7 326c str.w r3, [r7, #620] ; 0x26c LinToLog(&f, &f); 80a96f8: f507 721b add.w r2, r7, #620 ; 0x26c 80a96fc: f507 731b add.w r3, r7, #620 ; 0x26c 80a9700: 4611 mov r1, r2 80a9702: 4618 mov r0, r3 80a9704: f7bb fbec bl 8064ee0 if(f <= 0.0f) k++; 80a9708: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a970c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9710: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9714: d95c bls.n 80a97d0 else break; 80a9716: bf00 nop arm_max_f32(&ScrA_f32(lX + k), rX-lX-k-1, &max, &idx); 80a9718: 4b8f ldr r3, [pc, #572] ; (80a9958 ) 80a971a: 881b ldrh r3, [r3, #0] 80a971c: b29b uxth r3, r3 80a971e: 461a mov r2, r3 80a9720: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9724: 4413 add r3, r2 80a9726: 009a lsls r2, r3, #2 80a9728: 4b8c ldr r3, [pc, #560] ; (80a995c ) 80a972a: 4413 add r3, r2 80a972c: 4618 mov r0, r3 80a972e: 4b8c ldr r3, [pc, #560] ; (80a9960 ) 80a9730: 881b ldrh r3, [r3, #0] 80a9732: b29b uxth r3, r3 80a9734: 461a mov r2, r3 80a9736: 4b88 ldr r3, [pc, #544] ; (80a9958 ) 80a9738: 881b ldrh r3, [r3, #0] 80a973a: b29b uxth r3, r3 80a973c: 1ad3 subs r3, r2, r3 80a973e: 461a mov r2, r3 80a9740: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9744: 1ad3 subs r3, r2, r3 80a9746: 1e59 subs r1, r3, #1 80a9748: f507 731a add.w r3, r7, #616 ; 0x268 80a974c: f507 721d add.w r2, r7, #628 ; 0x274 80a9750: f020 fcd0 bl 80ca0f4 arm_min_f32(&ScrA_f32(lX + k), rX-lX-k-1, &min, &idx); 80a9754: 4b80 ldr r3, [pc, #512] ; (80a9958 ) 80a9756: 881b ldrh r3, [r3, #0] 80a9758: b29b uxth r3, r3 80a975a: 461a mov r2, r3 80a975c: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9760: 4413 add r3, r2 80a9762: 009a lsls r2, r3, #2 80a9764: 4b7d ldr r3, [pc, #500] ; (80a995c ) 80a9766: 4413 add r3, r2 80a9768: 4618 mov r0, r3 80a976a: 4b7d ldr r3, [pc, #500] ; (80a9960 ) 80a976c: 881b ldrh r3, [r3, #0] 80a976e: b29b uxth r3, r3 80a9770: 461a mov r2, r3 80a9772: 4b79 ldr r3, [pc, #484] ; (80a9958 ) 80a9774: 881b ldrh r3, [r3, #0] 80a9776: b29b uxth r3, r3 80a9778: 1ad3 subs r3, r2, r3 80a977a: 461a mov r2, r3 80a977c: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9780: 1ad3 subs r3, r2, r3 80a9782: 1e59 subs r1, r3, #1 80a9784: f507 731a add.w r3, r7, #616 ; 0x268 80a9788: f507 721c add.w r2, r7, #624 ; 0x270 80a978c: f020 fc16 bl 80c9fbc LinToLog(&max, &max); 80a9790: f507 721d add.w r2, r7, #628 ; 0x274 80a9794: f507 731d add.w r3, r7, #628 ; 0x274 80a9798: 4611 mov r1, r2 80a979a: 4618 mov r0, r3 80a979c: f7bb fba0 bl 8064ee0 LinToLog(&min, &min); 80a97a0: f507 721c add.w r2, r7, #624 ; 0x270 80a97a4: f507 731c add.w r3, r7, #624 ; 0x270 80a97a8: 4611 mov r1, r2 80a97aa: 4618 mov r0, r3 80a97ac: f7bb fb98 bl 8064ee0 f = (max - min); 80a97b0: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80a97b4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a97b8: ee77 7a67 vsub.f32 s15, s14, s15 80a97bc: edc7 7a9b vstr s15, [r7, #620] ; 0x26c if(f <= 0.0f) { 80a97c0: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a97c4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a97c8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a97cc: d906 bls.n 80a97dc 80a97ce: e008 b.n 80a97e2 if(f <= 0.0f) k++; 80a97d0: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a97d4: 3301 adds r3, #1 80a97d6: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80a97da: e780 b.n 80a96de f = 100.0f; 80a97dc: 4b61 ldr r3, [pc, #388] ; (80a9964 ) 80a97de: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80a97e2: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80a97e6: 4a60 ldr r2, [pc, #384] ; (80a9968 ) 80a97e8: 6013 str r3, [r2, #0] 80a97ea: e071 b.n 80a98d0 arm_max_f32(&ScrA_f32(lX), rX-lX-1, &max, &idx); 80a97ec: 4b5a ldr r3, [pc, #360] ; (80a9958 ) 80a97ee: 881b ldrh r3, [r3, #0] 80a97f0: b29b uxth r3, r3 80a97f2: 009b lsls r3, r3, #2 80a97f4: 461a mov r2, r3 80a97f6: 4b59 ldr r3, [pc, #356] ; (80a995c ) 80a97f8: 4413 add r3, r2 80a97fa: 4618 mov r0, r3 80a97fc: 4b58 ldr r3, [pc, #352] ; (80a9960 ) 80a97fe: 881b ldrh r3, [r3, #0] 80a9800: b29b uxth r3, r3 80a9802: 461a mov r2, r3 80a9804: 4b54 ldr r3, [pc, #336] ; (80a9958 ) 80a9806: 881b ldrh r3, [r3, #0] 80a9808: b29b uxth r3, r3 80a980a: 1ad3 subs r3, r2, r3 80a980c: 3b01 subs r3, #1 80a980e: 4619 mov r1, r3 80a9810: f507 731a add.w r3, r7, #616 ; 0x268 80a9814: f507 721d add.w r2, r7, #628 ; 0x274 80a9818: f020 fc6c bl 80ca0f4 arm_min_f32(&ScrA_f32(lX), rX-lX-1, &min, &idx); 80a981c: 4b4e ldr r3, [pc, #312] ; (80a9958 ) 80a981e: 881b ldrh r3, [r3, #0] 80a9820: b29b uxth r3, r3 80a9822: 009b lsls r3, r3, #2 80a9824: 461a mov r2, r3 80a9826: 4b4d ldr r3, [pc, #308] ; (80a995c ) 80a9828: 4413 add r3, r2 80a982a: 4618 mov r0, r3 80a982c: 4b4c ldr r3, [pc, #304] ; (80a9960 ) 80a982e: 881b ldrh r3, [r3, #0] 80a9830: b29b uxth r3, r3 80a9832: 461a mov r2, r3 80a9834: 4b48 ldr r3, [pc, #288] ; (80a9958 ) 80a9836: 881b ldrh r3, [r3, #0] 80a9838: b29b uxth r3, r3 80a983a: 1ad3 subs r3, r2, r3 80a983c: 3b01 subs r3, #1 80a983e: 4619 mov r1, r3 80a9840: f507 731a add.w r3, r7, #616 ; 0x268 80a9844: f507 721c add.w r2, r7, #624 ; 0x270 80a9848: f020 fbb8 bl 80c9fbc if(ABS(max) > ABS(min)) f = ABS(max); 80a984c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a9850: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9854: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9858: dd02 ble.n 80a9860 80a985a: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80a985e: e003 b.n 80a9868 80a9860: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a9864: eeb1 7a67 vneg.f32 s14, s15 80a9868: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a986c: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9870: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9874: dd02 ble.n 80a987c 80a9876: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a987a: e003 b.n 80a9884 80a987c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a9880: eef1 7a67 vneg.f32 s15, s15 80a9884: eeb4 7ae7 vcmpe.f32 s14, s15 80a9888: eef1 fa10 vmrs APSR_nzcv, fpscr 80a988c: dd10 ble.n 80a98b0 80a988e: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a9892: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9896: eef1 fa10 vmrs APSR_nzcv, fpscr 80a989a: dd02 ble.n 80a98a2 80a989c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a98a0: e003 b.n 80a98aa 80a98a2: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80a98a6: eef1 7a67 vneg.f32 s15, s15 80a98aa: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80a98ae: e00f b.n 80a98d0 else f = ABS(min); 80a98b0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a98b4: eef5 7ac0 vcmpe.f32 s15, #0.0 80a98b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80a98bc: dd02 ble.n 80a98c4 80a98be: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a98c2: e003 b.n 80a98cc 80a98c4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80a98c8: eef1 7a67 vneg.f32 s15, s15 80a98cc: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 100.0f / f; 80a98d0: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80a98d4: eddf 6a25 vldr s13, [pc, #148] ; 80a996c 80a98d8: eec6 7a87 vdiv.f32 s15, s13, s14 80a98dc: 4b24 ldr r3, [pc, #144] ; (80a9970 ) 80a98de: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80a98e2: 4b1c ldr r3, [pc, #112] ; (80a9954 ) 80a98e4: 2200 movs r2, #0 80a98e6: 701a strb r2, [r3, #0] 80a98e8: e024 b.n 80a9934 if(ZOOM_IN) 80a98ea: 4b22 ldr r3, [pc, #136] ; (80a9974 ) 80a98ec: 781b ldrb r3, [r3, #0] 80a98ee: b2db uxtb r3, r3 80a98f0: 2b00 cmp r3, #0 80a98f2: d00d beq.n 80a9910 ZOOM_IN = false; 80a98f4: 4b1f ldr r3, [pc, #124] ; (80a9974 ) 80a98f6: 2200 movs r2, #0 80a98f8: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80a98fa: 4b1d ldr r3, [pc, #116] ; (80a9970 ) 80a98fc: edd3 7a00 vldr s15, [r3] 80a9900: ed9f 7a1d vldr s14, [pc, #116] ; 80a9978 80a9904: ee67 7a87 vmul.f32 s15, s15, s14 80a9908: 4b19 ldr r3, [pc, #100] ; (80a9970 ) 80a990a: edc3 7a00 vstr s15, [r3] 80a990e: e011 b.n 80a9934 if(ZOOM_OUT) 80a9910: 4b1a ldr r3, [pc, #104] ; (80a997c ) 80a9912: 781b ldrb r3, [r3, #0] 80a9914: b2db uxtb r3, r3 80a9916: 2b00 cmp r3, #0 80a9918: d00c beq.n 80a9934 ZOOM_OUT = false; 80a991a: 4b18 ldr r3, [pc, #96] ; (80a997c ) 80a991c: 2200 movs r2, #0 80a991e: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80a9920: 4b13 ldr r3, [pc, #76] ; (80a9970 ) 80a9922: edd3 7a00 vldr s15, [r3] 80a9926: ed9f 7a16 vldr s14, [pc, #88] ; 80a9980 80a992a: ee67 7a87 vmul.f32 s15, s15, s14 80a992e: 4b10 ldr r3, [pc, #64] ; (80a9970 ) 80a9930: edc3 7a00 vstr s15, [r3] NumOverdrives = 0; 80a9934: 4b13 ldr r3, [pc, #76] ; (80a9984 ) 80a9936: 2200 movs r2, #0 80a9938: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a993a: 4913 ldr r1, [pc, #76] ; (80a9988 ) 80a993c: 4813 ldr r0, [pc, #76] ; (80a998c ) 80a993e: f7a9 ff51 bl 80537e4 for(i = 0; i < 256; i++) 80a9942: 2300 movs r3, #0 80a9944: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a9948: e28c b.n 80a9e64 80a994a: bf00 nop 80a994c: 20023e60 .word 0x20023e60 80a9950: 20020d8e .word 0x20020d8e 80a9954: 2002098c .word 0x2002098c 80a9958: 20025d1a .word 0x20025d1a 80a995c: 64080000 .word 0x64080000 80a9960: 20025d20 .word 0x20025d20 80a9964: 42c80000 .word 0x42c80000 80a9968: 20021634 .word 0x20021634 80a996c: 42c80000 .word 0x42c80000 80a9970: 20020990 .word 0x20020990 80a9974: 20020f6a .word 0x20020f6a 80a9978: 40000005 .word 0x40000005 80a997c: 20020f69 .word 0x20020f69 80a9980: 3f000012 .word 0x3f000012 80a9984: 2002164e .word 0x2002164e 80a9988: ff0a0f1f .word 0xff0a0f1f 80a998c: ff26a01f .word 0xff26a01f arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80a9990: 4bcb ldr r3, [pc, #812] ; (80a9cc0 ) 80a9992: 781b ldrb r3, [r3, #0] 80a9994: b2db uxtb r3, r3 80a9996: 4618 mov r0, r3 80a9998: 4bca ldr r3, [pc, #808] ; (80a9cc4 ) 80a999a: 79db ldrb r3, [r3, #7] 80a999c: b2db uxtb r3, r3 80a999e: 4619 mov r1, r3 80a99a0: 4ac9 ldr r2, [pc, #804] ; (80a9cc8 ) 80a99a2: 0083 lsls r3, r0, #2 80a99a4: 4413 add r3, r2 80a99a6: 440b add r3, r1 80a99a8: 781b ldrb r3, [r3, #0] 80a99aa: 461a mov r2, r3 80a99ac: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a99b0: fb03 f302 mul.w r3, r3, r2 80a99b4: 4ac5 ldr r2, [pc, #788] ; (80a9ccc ) 80a99b6: 8812 ldrh r2, [r2, #0] 80a99b8: b292 uxth r2, r2 80a99ba: 4413 add r3, r2 80a99bc: 009a lsls r2, r3, #2 80a99be: 4bc4 ldr r3, [pc, #784] ; (80a9cd0 ) 80a99c0: 4413 add r3, r2 80a99c2: 461c mov r4, r3 80a99c4: 4bbe ldr r3, [pc, #760] ; (80a9cc0 ) 80a99c6: 781b ldrb r3, [r3, #0] 80a99c8: b2db uxtb r3, r3 80a99ca: 4618 mov r0, r3 80a99cc: 4bbd ldr r3, [pc, #756] ; (80a9cc4 ) 80a99ce: 79db ldrb r3, [r3, #7] 80a99d0: b2db uxtb r3, r3 80a99d2: 4619 mov r1, r3 80a99d4: 4abc ldr r2, [pc, #752] ; (80a9cc8 ) 80a99d6: 0083 lsls r3, r0, #2 80a99d8: 4413 add r3, r2 80a99da: 440b add r3, r1 80a99dc: 781b ldrb r3, [r3, #0] 80a99de: 4618 mov r0, r3 80a99e0: f507 711a add.w r1, r7, #616 ; 0x268 80a99e4: f507 731e add.w r3, r7, #632 ; 0x278 80a99e8: 1d1a adds r2, r3, #4 80a99ea: 460b mov r3, r1 80a99ec: 4601 mov r1, r0 80a99ee: 4620 mov r0, r4 80a99f0: f020 fb80 bl 80ca0f4 if(avgSPC[ViewLevel][pardata.LNE] == 1) 80a99f4: 4bb2 ldr r3, [pc, #712] ; (80a9cc0 ) 80a99f6: 781b ldrb r3, [r3, #0] 80a99f8: b2db uxtb r3, r3 80a99fa: 4618 mov r0, r3 80a99fc: 4bb1 ldr r3, [pc, #708] ; (80a9cc4 ) 80a99fe: 79db ldrb r3, [r3, #7] 80a9a00: b2db uxtb r3, r3 80a9a02: 4619 mov r1, r3 80a9a04: 4ab0 ldr r2, [pc, #704] ; (80a9cc8 ) 80a9a06: 0083 lsls r3, r0, #2 80a9a08: 4413 add r3, r2 80a9a0a: 440b add r3, r1 80a9a0c: 781b ldrb r3, [r3, #0] 80a9a0e: 2b01 cmp r3, #1 80a9a10: f040 80fa bne.w 80a9c08 thr = 157; 80a9a14: 239d movs r3, #157 ; 0x9d 80a9a16: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80a9a1a: 4baa ldr r3, [pc, #680] ; (80a9cc4 ) 80a9a1c: 7a9b ldrb r3, [r3, #10] 80a9a1e: b2db uxtb r3, r3 80a9a20: 2b01 cmp r3, #1 80a9a22: d153 bne.n 80a9acc for(j = 0; j < 2; j++) 80a9a24: 2300 movs r3, #0 80a9a26: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a9a2a: e013 b.n 80a9a54 LinToLog(&mF[j], &mF[j]); 80a9a2c: f507 721e add.w r2, r7, #632 ; 0x278 80a9a30: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9a34: 009b lsls r3, r3, #2 80a9a36: 18d0 adds r0, r2, r3 80a9a38: f507 721e add.w r2, r7, #632 ; 0x278 80a9a3c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9a40: 009b lsls r3, r3, #2 80a9a42: 4413 add r3, r2 80a9a44: 4619 mov r1, r3 80a9a46: f7bb fa4b bl 8064ee0 for(j = 0; j < 2; j++) 80a9a4a: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9a4e: 3301 adds r3, #1 80a9a50: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a9a54: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9a58: 2b01 cmp r3, #1 80a9a5a: d9e7 bls.n 80a9a2c mF[MAXY] = ((mF[MAXY] - MIN_Y) * ZoomVal) + 2.0f; 80a9a5c: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a9a60: 4b9c ldr r3, [pc, #624] ; (80a9cd4 ) 80a9a62: edd3 7a00 vldr s15, [r3] 80a9a66: ee37 7a67 vsub.f32 s14, s14, s15 80a9a6a: 4b9b ldr r3, [pc, #620] ; (80a9cd8 ) 80a9a6c: edd3 7a00 vldr s15, [r3] 80a9a70: ee67 7a27 vmul.f32 s15, s14, s15 80a9a74: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80a9a78: ee77 7a87 vadd.f32 s15, s15, s14 80a9a7c: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a9a80: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9a84: ed9f 7a95 vldr s14, [pc, #596] ; 80a9cdc 80a9a88: eef4 7ac7 vcmpe.f32 s15, s14 80a9a8c: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9a90: dd02 ble.n 80a9a98 80a9a92: 4b93 ldr r3, [pc, #588] ; (80a9ce0 ) 80a9a94: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a9a98: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9a9c: ed9f 7a91 vldr s14, [pc, #580] ; 80a9ce4 80a9aa0: eef4 7ac7 vcmpe.f32 s15, s14 80a9aa4: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9aa8: d502 bpl.n 80a9ab0 80a9aaa: 4b8f ldr r3, [pc, #572] ; (80a9ce8 ) 80a9aac: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80a9ab0: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9ab4: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a9ab8: ee77 7a87 vadd.f32 s15, s15, s14 80a9abc: eefd 7ae7 vcvt.s32.f32 s15, s15 80a9ac0: edc7 7a01 vstr s15, [r7, #4] 80a9ac4: 88bb ldrh r3, [r7, #4] 80a9ac6: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80a9aca: e029 b.n 80a9b20 mF[MAXY] *= ZoomVal; 80a9acc: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a9ad0: 4b81 ldr r3, [pc, #516] ; (80a9cd8 ) 80a9ad2: edd3 7a00 vldr s15, [r3] 80a9ad6: ee67 7a27 vmul.f32 s15, s14, s15 80a9ada: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a9ade: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9ae2: ed9f 7a7e vldr s14, [pc, #504] ; 80a9cdc 80a9ae6: eef4 7ac7 vcmpe.f32 s15, s14 80a9aea: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9aee: dd02 ble.n 80a9af6 80a9af0: 4b7b ldr r3, [pc, #492] ; (80a9ce0 ) 80a9af2: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a9af6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9afa: ed9f 7a7a vldr s14, [pc, #488] ; 80a9ce4 80a9afe: eef4 7ac7 vcmpe.f32 s15, s14 80a9b02: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9b06: d502 bpl.n 80a9b0e 80a9b08: 4b77 ldr r3, [pc, #476] ; (80a9ce8 ) 80a9b0a: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80a9b0e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9b12: eefd 7ae7 vcvt.s32.f32 s15, s15 80a9b16: edc7 7a01 vstr s15, [r7, #4] 80a9b1a: 88bb ldrh r3, [r7, #4] 80a9b1c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80a9b20: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a9b24: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80a9b28: 429a cmp r2, r3 80a9b2a: dd03 ble.n 80a9b34 pMin = thr; 80a9b2c: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80a9b30: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80a9b34: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a9b38: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80a9b3c: 425b negs r3, r3 80a9b3e: 429a cmp r2, r3 80a9b40: da02 bge.n 80a9b48 pMin = 0; 80a9b42: 2300 movs r3, #0 80a9b44: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80a9b48: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a9b4c: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80a9b50: 429a cmp r2, r3 80a9b52: dd09 ble.n 80a9b68 pMax = thr; 80a9b54: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80a9b58: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a9b5c: 4b63 ldr r3, [pc, #396] ; (80a9cec ) 80a9b5e: 781b ldrb r3, [r3, #0] 80a9b60: 3301 adds r3, #1 80a9b62: b2da uxtb r2, r3 80a9b64: 4b61 ldr r3, [pc, #388] ; (80a9cec ) 80a9b66: 701a strb r2, [r3, #0] if(pMax < 0) { 80a9b68: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a9b6c: 2b00 cmp r3, #0 80a9b6e: da02 bge.n 80a9b76 pMax = 0; 80a9b70: 2300 movs r3, #0 80a9b72: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80a9b76: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9b7a: 333e adds r3, #62 ; 0x3e 80a9b7c: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80a9b80: 4b5b ldr r3, [pc, #364] ; (80a9cf0 ) 80a9b82: 681b ldr r3, [r3, #0] 80a9b84: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a9b88: 429a cmp r2, r3 80a9b8a: d12e bne.n 80a9bea if(menupos != Cursor) 80a9b8c: 4b59 ldr r3, [pc, #356] ; (80a9cf4 ) 80a9b8e: 781b ldrb r3, [r3, #0] 80a9b90: b2db uxtb r3, r3 80a9b92: 2b06 cmp r3, #6 80a9b94: d004 beq.n 80a9ba0 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80a9b96: 4958 ldr r1, [pc, #352] ; (80a9cf8 ) 80a9b98: 4858 ldr r0, [pc, #352] ; (80a9cfc ) 80a9b9a: f7a9 fe23 bl 80537e4 80a9b9e: e003 b.n 80a9ba8 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80a9ba0: 4955 ldr r1, [pc, #340] ; (80a9cf8 ) 80a9ba2: 4857 ldr r0, [pc, #348] ; (80a9d00 ) 80a9ba4: f7a9 fe1e bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a9ba8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9bac: b298 uxth r0, r3 80a9bae: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9bb2: b29a uxth r2, r3 80a9bb4: 23da movs r3, #218 ; 0xda 80a9bb6: 212c movs r1, #44 ; 0x2c 80a9bb8: f7aa f84e bl 8053c58 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80a9bbc: 494e ldr r1, [pc, #312] ; (80a9cf8 ) 80a9bbe: 4851 ldr r0, [pc, #324] ; (80a9d04 ) 80a9bc0: f7a9 fe10 bl 80537e4 BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80a9bc4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9bc8: b298 uxth r0, r3 80a9bca: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9bce: b29a uxth r2, r3 80a9bd0: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9bd4: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9bd8: b29b uxth r3, r3 80a9bda: 21db movs r1, #219 ; 0xdb 80a9bdc: f7aa f83c bl 8053c58 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a9be0: 4945 ldr r1, [pc, #276] ; (80a9cf8 ) 80a9be2: 4849 ldr r0, [pc, #292] ; (80a9d08 ) 80a9be4: f7a9 fdfe bl 80537e4 80a9be8: e12d b.n 80a9e46 BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80a9bea: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9bee: b298 uxth r0, r3 80a9bf0: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9bf4: b29a uxth r2, r3 80a9bf6: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9bfa: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9bfe: b29b uxth r3, r3 80a9c00: 21da movs r1, #218 ; 0xda 80a9c02: f7aa f829 bl 8053c58 80a9c06: e11e b.n 80a9e46 thr = 157; 80a9c08: 239d movs r3, #157 ; 0x9d 80a9c0a: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80a9c0e: 4b2d ldr r3, [pc, #180] ; (80a9cc4 ) 80a9c10: 7a9b ldrb r3, [r3, #10] 80a9c12: b2db uxtb r3, r3 80a9c14: 2b01 cmp r3, #1 80a9c16: d179 bne.n 80a9d0c for(j = 0; j < 2; j++) 80a9c18: 2300 movs r3, #0 80a9c1a: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a9c1e: e013 b.n 80a9c48 LinToLog(&mF[j], &mF[j]); 80a9c20: f507 721e add.w r2, r7, #632 ; 0x278 80a9c24: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9c28: 009b lsls r3, r3, #2 80a9c2a: 18d0 adds r0, r2, r3 80a9c2c: f507 721e add.w r2, r7, #632 ; 0x278 80a9c30: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9c34: 009b lsls r3, r3, #2 80a9c36: 4413 add r3, r2 80a9c38: 4619 mov r1, r3 80a9c3a: f7bb f951 bl 8064ee0 for(j = 0; j < 2; j++) 80a9c3e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9c42: 3301 adds r3, #1 80a9c44: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80a9c48: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80a9c4c: 2b01 cmp r3, #1 80a9c4e: d9e7 bls.n 80a9c20 mF[MAXY] = ((mF[MAXY] - MIN_Y) * ZoomVal) + 2.0f; 80a9c50: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a9c54: 4b1f ldr r3, [pc, #124] ; (80a9cd4 ) 80a9c56: edd3 7a00 vldr s15, [r3] 80a9c5a: ee37 7a67 vsub.f32 s14, s14, s15 80a9c5e: 4b1e ldr r3, [pc, #120] ; (80a9cd8 ) 80a9c60: edd3 7a00 vldr s15, [r3] 80a9c64: ee67 7a27 vmul.f32 s15, s14, s15 80a9c68: eeb0 7a00 vmov.f32 s14, #0 ; 0x40000000 2.0 80a9c6c: ee77 7a87 vadd.f32 s15, s15, s14 80a9c70: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a9c74: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9c78: ed9f 7a18 vldr s14, [pc, #96] ; 80a9cdc 80a9c7c: eef4 7ac7 vcmpe.f32 s15, s14 80a9c80: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9c84: dd02 ble.n 80a9c8c 80a9c86: 4b16 ldr r3, [pc, #88] ; (80a9ce0 ) 80a9c88: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a9c8c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9c90: ed9f 7a14 vldr s14, [pc, #80] ; 80a9ce4 80a9c94: eef4 7ac7 vcmpe.f32 s15, s14 80a9c98: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9c9c: d502 bpl.n 80a9ca4 80a9c9e: 4b12 ldr r3, [pc, #72] ; (80a9ce8 ) 80a9ca0: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80a9ca4: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9ca8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80a9cac: ee77 7a87 vadd.f32 s15, s15, s14 80a9cb0: eefd 7ae7 vcvt.s32.f32 s15, s15 80a9cb4: edc7 7a01 vstr s15, [r7, #4] 80a9cb8: 88bb ldrh r3, [r7, #4] 80a9cba: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80a9cbe: e04f b.n 80a9d60 80a9cc0: 20020f74 .word 0x20020f74 80a9cc4: 20023e60 .word 0x20023e60 80a9cc8: 080ef64c .word 0x080ef64c 80a9ccc: 20025d1e .word 0x20025d1e 80a9cd0: 64080000 .word 0x64080000 80a9cd4: 20021634 .word 0x20021634 80a9cd8: 20020990 .word 0x20020990 80a9cdc: 46fffe00 .word 0x46fffe00 80a9ce0: 46fffe00 .word 0x46fffe00 80a9ce4: c6fffe00 .word 0xc6fffe00 80a9ce8: c6fffe00 .word 0xc6fffe00 80a9cec: 2002164e .word 0x2002164e 80a9cf0: 2002006c .word 0x2002006c 80a9cf4: 20020070 .word 0x20020070 80a9cf8: ff0a0f1f .word 0xff0a0f1f 80a9cfc: ff808080 .word 0xff808080 80a9d00: ffff0000 .word 0xffff0000 80a9d04: ff008000 .word 0xff008000 80a9d08: ff26a01f .word 0xff26a01f mF[MAXY] *= ZoomVal; 80a9d0c: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80a9d10: 4ba6 ldr r3, [pc, #664] ; (80a9fac ) 80a9d12: edd3 7a00 vldr s15, [r3] 80a9d16: ee67 7a27 vmul.f32 s15, s14, s15 80a9d1a: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80a9d1e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9d22: ed9f 7aa3 vldr s14, [pc, #652] ; 80a9fb0 80a9d26: eef4 7ac7 vcmpe.f32 s15, s14 80a9d2a: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9d2e: dd02 ble.n 80a9d36 80a9d30: 4ba0 ldr r3, [pc, #640] ; (80a9fb4 ) 80a9d32: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80a9d36: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9d3a: ed9f 7a9f vldr s14, [pc, #636] ; 80a9fb8 80a9d3e: eef4 7ac7 vcmpe.f32 s15, s14 80a9d42: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9d46: d502 bpl.n 80a9d4e 80a9d48: 4b9c ldr r3, [pc, #624] ; (80a9fbc ) 80a9d4a: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80a9d4e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80a9d52: eefd 7ae7 vcvt.s32.f32 s15, s15 80a9d56: edc7 7a01 vstr s15, [r7, #4] 80a9d5a: 88bb ldrh r3, [r7, #4] 80a9d5c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80a9d60: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a9d64: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80a9d68: 429a cmp r2, r3 80a9d6a: dd03 ble.n 80a9d74 pMin = thr; 80a9d6c: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80a9d70: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80a9d74: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80a9d78: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80a9d7c: 425b negs r3, r3 80a9d7e: 429a cmp r2, r3 80a9d80: da02 bge.n 80a9d88 pMin = 0; 80a9d82: 2300 movs r3, #0 80a9d84: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80a9d88: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a9d8c: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80a9d90: 429a cmp r2, r3 80a9d92: dd09 ble.n 80a9da8 pMax = thr; 80a9d94: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80a9d98: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80a9d9c: 4b88 ldr r3, [pc, #544] ; (80a9fc0 ) 80a9d9e: 781b ldrb r3, [r3, #0] 80a9da0: 3301 adds r3, #1 80a9da2: b2da uxtb r2, r3 80a9da4: 4b86 ldr r3, [pc, #536] ; (80a9fc0 ) 80a9da6: 701a strb r2, [r3, #0] if(pMax < 0) { 80a9da8: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80a9dac: 2b00 cmp r3, #0 80a9dae: da02 bge.n 80a9db6 pMax = 0; 80a9db0: 2300 movs r3, #0 80a9db2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80a9db6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9dba: 333e adds r3, #62 ; 0x3e 80a9dbc: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80a9dc0: 4b80 ldr r3, [pc, #512] ; (80a9fc4 ) 80a9dc2: 681b ldr r3, [r3, #0] 80a9dc4: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80a9dc8: 429a cmp r2, r3 80a9dca: d12e bne.n 80a9e2a if(menupos != Cursor) 80a9dcc: 4b7e ldr r3, [pc, #504] ; (80a9fc8 ) 80a9dce: 781b ldrb r3, [r3, #0] 80a9dd0: b2db uxtb r3, r3 80a9dd2: 2b06 cmp r3, #6 80a9dd4: d004 beq.n 80a9de0 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80a9dd6: 497d ldr r1, [pc, #500] ; (80a9fcc ) 80a9dd8: 487d ldr r0, [pc, #500] ; (80a9fd0 ) 80a9dda: f7a9 fd03 bl 80537e4 80a9dde: e003 b.n 80a9de8 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80a9de0: 497a ldr r1, [pc, #488] ; (80a9fcc ) 80a9de2: 487c ldr r0, [pc, #496] ; (80a9fd4 ) 80a9de4: f7a9 fcfe bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80a9de8: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9dec: b298 uxth r0, r3 80a9dee: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9df2: b29a uxth r2, r3 80a9df4: 23da movs r3, #218 ; 0xda 80a9df6: 212c movs r1, #44 ; 0x2c 80a9df8: f7a9 ff2e bl 8053c58 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80a9dfc: 4973 ldr r1, [pc, #460] ; (80a9fcc ) 80a9dfe: 4876 ldr r0, [pc, #472] ; (80a9fd8 ) 80a9e00: f7a9 fcf0 bl 80537e4 BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80a9e04: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9e08: b298 uxth r0, r3 80a9e0a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9e0e: b29a uxth r2, r3 80a9e10: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9e14: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9e18: b29b uxth r3, r3 80a9e1a: 21db movs r1, #219 ; 0xdb 80a9e1c: f7a9 ff1c bl 8053c58 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80a9e20: 496a ldr r1, [pc, #424] ; (80a9fcc ) 80a9e22: 486e ldr r0, [pc, #440] ; (80a9fdc ) 80a9e24: f7a9 fcde bl 80537e4 80a9e28: e00d b.n 80a9e46 BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80a9e2a: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9e2e: b298 uxth r0, r3 80a9e30: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80a9e34: b29a uxth r2, r3 80a9e36: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9e3a: f1c3 03da rsb r3, r3, #218 ; 0xda 80a9e3e: b29b uxth r3, r3 80a9e40: 21da movs r1, #218 ; 0xda 80a9e42: f7a9 ff09 bl 8053c58 if(pMax > Maximum) Maximum = pMax; 80a9e46: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80a9e4a: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a9e4e: 429a cmp r2, r3 80a9e50: dd03 ble.n 80a9e5a 80a9e52: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80a9e56: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80a9e5a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9e5e: 3301 adds r3, #1 80a9e60: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80a9e64: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80a9e68: 2bff cmp r3, #255 ; 0xff 80a9e6a: f67f ad91 bls.w 80a9990 Maximum = ABS(Maximum); 80a9e6e: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80a9e72: 2b00 cmp r3, #0 80a9e74: bfb8 it lt 80a9e76: 425b neglt r3, r3 80a9e78: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80a9e7c: f002 b80c b.w 80abe98 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB)) 80a9e80: 4b57 ldr r3, [pc, #348] ; (80a9fe0 ) 80a9e82: 781b ldrb r3, [r3, #0] 80a9e84: b2db uxtb r3, r3 80a9e86: 2b01 cmp r3, #1 80a9e88: d005 beq.n 80a9e96 80a9e8a: 4b55 ldr r3, [pc, #340] ; (80a9fe0 ) 80a9e8c: 781b ldrb r3, [r3, #0] 80a9e8e: b2db uxtb r3, r3 80a9e90: 2b05 cmp r3, #5 80a9e92: f040 8717 bne.w 80aacc4 if(READY_TO_SEE) 80a9e96: 4b53 ldr r3, [pc, #332] ; (80a9fe4 ) 80a9e98: 781b ldrb r3, [r3, #0] 80a9e9a: b2db uxtb r3, r3 80a9e9c: 2b00 cmp r3, #0 80a9e9e: f001 87fa beq.w 80abe96 if(AUTOZOOM) 80a9ea2: 4b51 ldr r3, [pc, #324] ; (80a9fe8 ) 80a9ea4: 781b ldrb r3, [r3, #0] 80a9ea6: b2db uxtb r3, r3 80a9ea8: 2b00 cmp r3, #0 80a9eaa: f000 81ef beq.w 80aa28c if(pardata.MSH == LOG) 80a9eae: 4b4c ldr r3, [pc, #304] ; (80a9fe0 ) 80a9eb0: 7a9b ldrb r3, [r3, #10] 80a9eb2: b2db uxtb r3, r3 80a9eb4: 2b01 cmp r3, #1 80a9eb6: f040 80f9 bne.w 80aa0ac k = 0; 80a9eba: 2300 movs r3, #0 80a9ebc: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80a9ec0: 4b4a ldr r3, [pc, #296] ; (80a9fec ) 80a9ec2: 881b ldrh r3, [r3, #0] 80a9ec4: b29b uxth r3, r3 80a9ec6: 461a mov r2, r3 80a9ec8: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9ecc: 4413 add r3, r2 80a9ece: 009a lsls r2, r3, #2 80a9ed0: 4b47 ldr r3, [pc, #284] ; (80a9ff0 ) 80a9ed2: 4413 add r3, r2 80a9ed4: 681b ldr r3, [r3, #0] 80a9ed6: f8c7 326c str.w r3, [r7, #620] ; 0x26c LinToLog(&f, &f); 80a9eda: f507 721b add.w r2, r7, #620 ; 0x26c 80a9ede: f507 731b add.w r3, r7, #620 ; 0x26c 80a9ee2: 4611 mov r1, r2 80a9ee4: 4618 mov r0, r3 80a9ee6: f7ba fffb bl 8064ee0 if(f <= 0.0f) k++; 80a9eea: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80a9eee: eef5 7ac0 vcmpe.f32 s15, #0.0 80a9ef2: eef1 fa10 vmrs APSR_nzcv, fpscr 80a9ef6: d942 bls.n 80a9f7e else break; 80a9ef8: bf00 nop arm_max_f32(&ScrA_f32(lX + k), rX-lX-k-1, &max, &idx); 80a9efa: 4b3c ldr r3, [pc, #240] ; (80a9fec ) 80a9efc: 881b ldrh r3, [r3, #0] 80a9efe: b29b uxth r3, r3 80a9f00: 461a mov r2, r3 80a9f02: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9f06: 4413 add r3, r2 80a9f08: 009a lsls r2, r3, #2 80a9f0a: 4b39 ldr r3, [pc, #228] ; (80a9ff0 ) 80a9f0c: 4413 add r3, r2 80a9f0e: 4618 mov r0, r3 80a9f10: 4b38 ldr r3, [pc, #224] ; (80a9ff4 ) 80a9f12: 881b ldrh r3, [r3, #0] 80a9f14: b29b uxth r3, r3 80a9f16: 461a mov r2, r3 80a9f18: 4b34 ldr r3, [pc, #208] ; (80a9fec ) 80a9f1a: 881b ldrh r3, [r3, #0] 80a9f1c: b29b uxth r3, r3 80a9f1e: 1ad3 subs r3, r2, r3 80a9f20: 461a mov r2, r3 80a9f22: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9f26: 1ad3 subs r3, r2, r3 80a9f28: 1e59 subs r1, r3, #1 80a9f2a: f507 731a add.w r3, r7, #616 ; 0x268 80a9f2e: f507 721d add.w r2, r7, #628 ; 0x274 80a9f32: f020 f8df bl 80ca0f4 arm_min_f32(&ScrA_f32(lX + k), rX-lX-k-1, &min, &idx); 80a9f36: 4b2d ldr r3, [pc, #180] ; (80a9fec ) 80a9f38: 881b ldrh r3, [r3, #0] 80a9f3a: b29b uxth r3, r3 80a9f3c: 461a mov r2, r3 80a9f3e: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9f42: 4413 add r3, r2 80a9f44: 009a lsls r2, r3, #2 80a9f46: 4b2a ldr r3, [pc, #168] ; (80a9ff0 ) 80a9f48: 4413 add r3, r2 80a9f4a: 4618 mov r0, r3 80a9f4c: 4b29 ldr r3, [pc, #164] ; (80a9ff4 ) 80a9f4e: 881b ldrh r3, [r3, #0] 80a9f50: b29b uxth r3, r3 80a9f52: 461a mov r2, r3 80a9f54: 4b25 ldr r3, [pc, #148] ; (80a9fec ) 80a9f56: 881b ldrh r3, [r3, #0] 80a9f58: b29b uxth r3, r3 80a9f5a: 1ad3 subs r3, r2, r3 80a9f5c: 461a mov r2, r3 80a9f5e: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9f62: 1ad3 subs r3, r2, r3 80a9f64: 1e59 subs r1, r3, #1 80a9f66: f507 731a add.w r3, r7, #616 ; 0x268 80a9f6a: f507 721c add.w r2, r7, #624 ; 0x270 80a9f6e: f020 f825 bl 80c9fbc if(pardata.IIN != VOLTS) 80a9f72: 4b1b ldr r3, [pc, #108] ; (80a9fe0 ) 80a9f74: 799b ldrb r3, [r3, #6] 80a9f76: b2db uxtb r3, r3 80a9f78: 2b02 cmp r3, #2 80a9f7a: d03d beq.n 80a9ff8 80a9f7c: e005 b.n 80a9f8a if(f <= 0.0f) k++; 80a9f7e: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80a9f82: 3301 adds r3, #1 80a9f84: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 f = ScrA_f32(lX + k); 80a9f88: e79a b.n 80a9ec0 LinToLog(&max, &max); 80a9f8a: f507 721d add.w r2, r7, #628 ; 0x274 80a9f8e: f507 731d add.w r3, r7, #628 ; 0x274 80a9f92: 4611 mov r1, r2 80a9f94: 4618 mov r0, r3 80a9f96: f7ba ffa3 bl 8064ee0 LinToLog(&min, &min); 80a9f9a: f507 721c add.w r2, r7, #624 ; 0x270 80a9f9e: f507 731c add.w r3, r7, #624 ; 0x270 80a9fa2: 4611 mov r1, r2 80a9fa4: 4618 mov r0, r3 80a9fa6: f7ba ff9b bl 8064ee0 80a9faa: e039 b.n 80aa020 80a9fac: 20020990 .word 0x20020990 80a9fb0: 46fffe00 .word 0x46fffe00 80a9fb4: 46fffe00 .word 0x46fffe00 80a9fb8: c6fffe00 .word 0xc6fffe00 80a9fbc: c6fffe00 .word 0xc6fffe00 80a9fc0: 2002164e .word 0x2002164e 80a9fc4: 2002006c .word 0x2002006c 80a9fc8: 20020070 .word 0x20020070 80a9fcc: ff0a0f1f .word 0xff0a0f1f 80a9fd0: ff808080 .word 0xff808080 80a9fd4: ffff0000 .word 0xffff0000 80a9fd8: ff008000 .word 0xff008000 80a9fdc: ff26a01f .word 0xff26a01f 80a9fe0: 20023e60 .word 0x20023e60 80a9fe4: 20020d8e .word 0x20020d8e 80a9fe8: 2002098c .word 0x2002098c 80a9fec: 20025d1a .word 0x20025d1a 80a9ff0: 64080000 .word 0x64080000 80a9ff4: 20025d20 .word 0x20025d20 LinToLog_mV(&max, &max, pardata.IPR); 80a9ff8: 4bbd ldr r3, [pc, #756] ; (80aa2f0 ) 80a9ffa: 785b ldrb r3, [r3, #1] 80a9ffc: b2da uxtb r2, r3 80a9ffe: f507 711d add.w r1, r7, #628 ; 0x274 80aa002: f507 731d add.w r3, r7, #628 ; 0x274 80aa006: 4618 mov r0, r3 80aa008: f7ba ff9a bl 8064f40 LinToLog_mV(&min, &min, pardata.IPR); 80aa00c: 4bb8 ldr r3, [pc, #736] ; (80aa2f0 ) 80aa00e: 785b ldrb r3, [r3, #1] 80aa010: b2da uxtb r2, r3 80aa012: f507 711c add.w r1, r7, #624 ; 0x270 80aa016: f507 731c add.w r3, r7, #624 ; 0x270 80aa01a: 4618 mov r0, r3 80aa01c: f7ba ff90 bl 8064f40 f = max; 80aa020: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80aa024: f8c7 326c str.w r3, [r7, #620] ; 0x26c if(f <= 0.0f) 80aa028: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa02c: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa030: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa034: d806 bhi.n 80aa044 f = max = 125.0f; 80aa036: 4baf ldr r3, [pc, #700] ; (80aa2f4 ) 80aa038: f8c7 3274 str.w r3, [r7, #628] ; 0x274 80aa03c: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80aa040: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80aa044: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80aa048: 4aab ldr r2, [pc, #684] ; (80aa2f8 ) 80aa04a: 6013 str r3, [r2, #0] ZoomVal = 125.0f / max; 80aa04c: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80aa050: eddf 6aaa vldr s13, [pc, #680] ; 80aa2fc 80aa054: eec6 7a87 vdiv.f32 s15, s13, s14 80aa058: 4ba9 ldr r3, [pc, #676] ; (80aa300 ) 80aa05a: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80aa05e: 4ba9 ldr r3, [pc, #676] ; (80aa304 ) 80aa060: 2200 movs r2, #0 80aa062: 701a strb r2, [r3, #0] f = max / 125; 80aa064: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80aa068: eddf 6aa4 vldr s13, [pc, #656] ; 80aa2fc 80aa06c: eec7 7a26 vdiv.f32 s15, s14, s13 80aa070: edc7 7a9b vstr s15, [r7, #620] ; 0x26c LEGEND[0] = 25 * f; 80aa074: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa078: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80aa07c: ee67 7a87 vmul.f32 s15, s15, s14 80aa080: 4ba1 ldr r3, [pc, #644] ; (80aa308 ) 80aa082: edc3 7a00 vstr s15, [r3] LEGEND[1] = 75 * f; 80aa086: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa08a: ed9f 7aa0 vldr s14, [pc, #640] ; 80aa30c 80aa08e: ee67 7a87 vmul.f32 s15, s15, s14 80aa092: 4b9d ldr r3, [pc, #628] ; (80aa308 ) 80aa094: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] = 125 * f; 80aa098: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa09c: ed9f 7a97 vldr s14, [pc, #604] ; 80aa2fc 80aa0a0: ee67 7a87 vmul.f32 s15, s15, s14 80aa0a4: 4b98 ldr r3, [pc, #608] ; (80aa308 ) 80aa0a6: edc3 7a02 vstr s15, [r3, #8] 80aa0aa: e171 b.n 80aa390 arm_max_f32(&ScrA_f32(lX), rX-lX-1, &max, &idx); 80aa0ac: 4b98 ldr r3, [pc, #608] ; (80aa310 ) 80aa0ae: 881b ldrh r3, [r3, #0] 80aa0b0: b29b uxth r3, r3 80aa0b2: 009b lsls r3, r3, #2 80aa0b4: 461a mov r2, r3 80aa0b6: 4b97 ldr r3, [pc, #604] ; (80aa314 ) 80aa0b8: 4413 add r3, r2 80aa0ba: 4618 mov r0, r3 80aa0bc: 4b96 ldr r3, [pc, #600] ; (80aa318 ) 80aa0be: 881b ldrh r3, [r3, #0] 80aa0c0: b29b uxth r3, r3 80aa0c2: 461a mov r2, r3 80aa0c4: 4b92 ldr r3, [pc, #584] ; (80aa310 ) 80aa0c6: 881b ldrh r3, [r3, #0] 80aa0c8: b29b uxth r3, r3 80aa0ca: 1ad3 subs r3, r2, r3 80aa0cc: 3b01 subs r3, #1 80aa0ce: 4619 mov r1, r3 80aa0d0: f507 731a add.w r3, r7, #616 ; 0x268 80aa0d4: f507 721d add.w r2, r7, #628 ; 0x274 80aa0d8: f020 f80c bl 80ca0f4 arm_min_f32(&ScrA_f32(lX), rX-lX-1, &min, &idx); 80aa0dc: 4b8c ldr r3, [pc, #560] ; (80aa310 ) 80aa0de: 881b ldrh r3, [r3, #0] 80aa0e0: b29b uxth r3, r3 80aa0e2: 009b lsls r3, r3, #2 80aa0e4: 461a mov r2, r3 80aa0e6: 4b8b ldr r3, [pc, #556] ; (80aa314 ) 80aa0e8: 4413 add r3, r2 80aa0ea: 4618 mov r0, r3 80aa0ec: 4b8a ldr r3, [pc, #552] ; (80aa318 ) 80aa0ee: 881b ldrh r3, [r3, #0] 80aa0f0: b29b uxth r3, r3 80aa0f2: 461a mov r2, r3 80aa0f4: 4b86 ldr r3, [pc, #536] ; (80aa310 ) 80aa0f6: 881b ldrh r3, [r3, #0] 80aa0f8: b29b uxth r3, r3 80aa0fa: 1ad3 subs r3, r2, r3 80aa0fc: 3b01 subs r3, #1 80aa0fe: 4619 mov r1, r3 80aa100: f507 731a add.w r3, r7, #616 ; 0x268 80aa104: f507 721c add.w r2, r7, #624 ; 0x270 80aa108: f01f ff58 bl 80c9fbc if(ABS(max) > ABS(min)) f = ABS(max); 80aa10c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa110: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa114: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa118: dd02 ble.n 80aa120 80aa11a: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80aa11e: e003 b.n 80aa128 80aa120: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa124: eeb1 7a67 vneg.f32 s14, s15 80aa128: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa12c: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa130: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa134: dd02 ble.n 80aa13c 80aa136: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa13a: e003 b.n 80aa144 80aa13c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa140: eef1 7a67 vneg.f32 s15, s15 80aa144: eeb4 7ae7 vcmpe.f32 s14, s15 80aa148: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa14c: dd10 ble.n 80aa170 80aa14e: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa152: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa156: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa15a: dd02 ble.n 80aa162 80aa15c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa160: e003 b.n 80aa16a 80aa162: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aa166: eef1 7a67 vneg.f32 s15, s15 80aa16a: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80aa16e: e00f b.n 80aa190 else f = ABS(min); 80aa170: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa174: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa178: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa17c: dd02 ble.n 80aa184 80aa17e: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa182: e003 b.n 80aa18c 80aa184: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aa188: eef1 7a67 vneg.f32 s15, s15 80aa18c: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 125.0f / f; 80aa190: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80aa194: eddf 6a59 vldr s13, [pc, #356] ; 80aa2fc 80aa198: eec6 7a87 vdiv.f32 s15, s13, s14 80aa19c: 4b58 ldr r3, [pc, #352] ; (80aa300 ) 80aa19e: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80aa1a2: 4b58 ldr r3, [pc, #352] ; (80aa304 ) 80aa1a4: 2200 movs r2, #0 80aa1a6: 701a strb r2, [r3, #0] f = f / 125; 80aa1a8: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80aa1ac: eddf 6a53 vldr s13, [pc, #332] ; 80aa2fc 80aa1b0: eec7 7a26 vdiv.f32 s15, s14, s13 80aa1b4: edc7 7a9b vstr s15, [r7, #620] ; 0x26c f *= 0.70710678f; 80aa1b8: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa1bc: ed9f 7a57 vldr s14, [pc, #348] ; 80aa31c 80aa1c0: ee67 7a87 vmul.f32 s15, s15, s14 80aa1c4: edc7 7a9b vstr s15, [r7, #620] ; 0x26c LEGEND[0] = 25 * f; 80aa1c8: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa1cc: eeb3 7a09 vmov.f32 s14, #57 ; 0x41c80000 25.0 80aa1d0: ee67 7a87 vmul.f32 s15, s15, s14 80aa1d4: 4b4c ldr r3, [pc, #304] ; (80aa308 ) 80aa1d6: edc3 7a00 vstr s15, [r3] LEGEND[1] = 75 * f; 80aa1da: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa1de: ed9f 7a4b vldr s14, [pc, #300] ; 80aa30c 80aa1e2: ee67 7a87 vmul.f32 s15, s15, s14 80aa1e6: 4b48 ldr r3, [pc, #288] ; (80aa308 ) 80aa1e8: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] = 125 * f; 80aa1ec: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aa1f0: ed9f 7a42 vldr s14, [pc, #264] ; 80aa2fc 80aa1f4: ee67 7a87 vmul.f32 s15, s15, s14 80aa1f8: 4b43 ldr r3, [pc, #268] ; (80aa308 ) 80aa1fa: edc3 7a02 vstr s15, [r3, #8] if(pardata.WIN == HANN) 80aa1fe: 4b3c ldr r3, [pc, #240] ; (80aa2f0 ) 80aa200: 7a5b ldrb r3, [r3, #9] 80aa202: b2db uxtb r3, r3 80aa204: 2b01 cmp r3, #1 80aa206: d117 bne.n 80aa238 LEGEND[0] *= 2.0f; 80aa208: 4b3f ldr r3, [pc, #252] ; (80aa308 ) 80aa20a: edd3 7a00 vldr s15, [r3] 80aa20e: ee77 7aa7 vadd.f32 s15, s15, s15 80aa212: 4b3d ldr r3, [pc, #244] ; (80aa308 ) 80aa214: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 2.0f; 80aa218: 4b3b ldr r3, [pc, #236] ; (80aa308 ) 80aa21a: edd3 7a01 vldr s15, [r3, #4] 80aa21e: ee77 7aa7 vadd.f32 s15, s15, s15 80aa222: 4b39 ldr r3, [pc, #228] ; (80aa308 ) 80aa224: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 2.0f; 80aa228: 4b37 ldr r3, [pc, #220] ; (80aa308 ) 80aa22a: edd3 7a02 vldr s15, [r3, #8] 80aa22e: ee77 7aa7 vadd.f32 s15, s15, s15 80aa232: 4b35 ldr r3, [pc, #212] ; (80aa308 ) 80aa234: edc3 7a02 vstr s15, [r3, #8] if(pardata.IVS[pardata.IPR] == PEAK) 80aa238: 4b2d ldr r3, [pc, #180] ; (80aa2f0 ) 80aa23a: 785b ldrb r3, [r3, #1] 80aa23c: b2db uxtb r3, r3 80aa23e: 461a mov r2, r3 80aa240: 4b2b ldr r3, [pc, #172] ; (80aa2f0 ) 80aa242: 4413 add r3, r2 80aa244: 789b ldrb r3, [r3, #2] 80aa246: b2db uxtb r3, r3 80aa248: 2b00 cmp r3, #0 80aa24a: f040 80a1 bne.w 80aa390 LEGEND[0] *= 1.414213562373f; 80aa24e: 4b2e ldr r3, [pc, #184] ; (80aa308 ) 80aa250: edd3 7a00 vldr s15, [r3] 80aa254: ed9f 7a32 vldr s14, [pc, #200] ; 80aa320 80aa258: ee67 7a87 vmul.f32 s15, s15, s14 80aa25c: 4b2a ldr r3, [pc, #168] ; (80aa308 ) 80aa25e: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 1.414213562373f; 80aa262: 4b29 ldr r3, [pc, #164] ; (80aa308 ) 80aa264: edd3 7a01 vldr s15, [r3, #4] 80aa268: ed9f 7a2d vldr s14, [pc, #180] ; 80aa320 80aa26c: ee67 7a87 vmul.f32 s15, s15, s14 80aa270: 4b25 ldr r3, [pc, #148] ; (80aa308 ) 80aa272: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 1.414213562373f; 80aa276: 4b24 ldr r3, [pc, #144] ; (80aa308 ) 80aa278: edd3 7a02 vldr s15, [r3, #8] 80aa27c: ed9f 7a28 vldr s14, [pc, #160] ; 80aa320 80aa280: ee67 7a87 vmul.f32 s15, s15, s14 80aa284: 4b20 ldr r3, [pc, #128] ; (80aa308 ) 80aa286: edc3 7a02 vstr s15, [r3, #8] 80aa28a: e081 b.n 80aa390 if(ZOOM_IN) 80aa28c: 4b25 ldr r3, [pc, #148] ; (80aa324 ) 80aa28e: 781b ldrb r3, [r3, #0] 80aa290: b2db uxtb r3, r3 80aa292: 2b00 cmp r3, #0 80aa294: d04c beq.n 80aa330 ZOOM_IN = false; 80aa296: 4b23 ldr r3, [pc, #140] ; (80aa324 ) 80aa298: 2200 movs r2, #0 80aa29a: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80aa29c: 4b18 ldr r3, [pc, #96] ; (80aa300 ) 80aa29e: edd3 7a00 vldr s15, [r3] 80aa2a2: ed9f 7a21 vldr s14, [pc, #132] ; 80aa328 80aa2a6: ee67 7a87 vmul.f32 s15, s15, s14 80aa2aa: 4b15 ldr r3, [pc, #84] ; (80aa300 ) 80aa2ac: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 0.5000011f; 80aa2b0: 4b15 ldr r3, [pc, #84] ; (80aa308 ) 80aa2b2: edd3 7a00 vldr s15, [r3] 80aa2b6: ed9f 7a1d vldr s14, [pc, #116] ; 80aa32c 80aa2ba: ee67 7a87 vmul.f32 s15, s15, s14 80aa2be: 4b12 ldr r3, [pc, #72] ; (80aa308 ) 80aa2c0: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 0.5000011f; 80aa2c4: 4b10 ldr r3, [pc, #64] ; (80aa308 ) 80aa2c6: edd3 7a01 vldr s15, [r3, #4] 80aa2ca: ed9f 7a18 vldr s14, [pc, #96] ; 80aa32c 80aa2ce: ee67 7a87 vmul.f32 s15, s15, s14 80aa2d2: 4b0d ldr r3, [pc, #52] ; (80aa308 ) 80aa2d4: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 0.5000011f; 80aa2d8: 4b0b ldr r3, [pc, #44] ; (80aa308 ) 80aa2da: edd3 7a02 vldr s15, [r3, #8] 80aa2de: ed9f 7a13 vldr s14, [pc, #76] ; 80aa32c 80aa2e2: ee67 7a87 vmul.f32 s15, s15, s14 80aa2e6: 4b08 ldr r3, [pc, #32] ; (80aa308 ) 80aa2e8: edc3 7a02 vstr s15, [r3, #8] 80aa2ec: e050 b.n 80aa390 80aa2ee: bf00 nop 80aa2f0: 20023e60 .word 0x20023e60 80aa2f4: 42fa0000 .word 0x42fa0000 80aa2f8: 20021634 .word 0x20021634 80aa2fc: 42fa0000 .word 0x42fa0000 80aa300: 20020990 .word 0x20020990 80aa304: 2002098c .word 0x2002098c 80aa308: 200685bc .word 0x200685bc 80aa30c: 42960000 .word 0x42960000 80aa310: 20025d1a .word 0x20025d1a 80aa314: 64080000 .word 0x64080000 80aa318: 20025d20 .word 0x20025d20 80aa31c: 3f3504f3 .word 0x3f3504f3 80aa320: 3fb504f3 .word 0x3fb504f3 80aa324: 20020f6a .word 0x20020f6a 80aa328: 40000005 .word 0x40000005 80aa32c: 3f000012 .word 0x3f000012 if(ZOOM_OUT) 80aa330: 4bc9 ldr r3, [pc, #804] ; (80aa658 ) 80aa332: 781b ldrb r3, [r3, #0] 80aa334: b2db uxtb r3, r3 80aa336: 2b00 cmp r3, #0 80aa338: d02a beq.n 80aa390 ZOOM_OUT = false; 80aa33a: 4bc7 ldr r3, [pc, #796] ; (80aa658 ) 80aa33c: 2200 movs r2, #0 80aa33e: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80aa340: 4bc6 ldr r3, [pc, #792] ; (80aa65c ) 80aa342: edd3 7a00 vldr s15, [r3] 80aa346: ed9f 7ac6 vldr s14, [pc, #792] ; 80aa660 80aa34a: ee67 7a87 vmul.f32 s15, s15, s14 80aa34e: 4bc3 ldr r3, [pc, #780] ; (80aa65c ) 80aa350: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 2.0000011f; 80aa354: 4bc3 ldr r3, [pc, #780] ; (80aa664 ) 80aa356: edd3 7a00 vldr s15, [r3] 80aa35a: ed9f 7ac3 vldr s14, [pc, #780] ; 80aa668 80aa35e: ee67 7a87 vmul.f32 s15, s15, s14 80aa362: 4bc0 ldr r3, [pc, #768] ; (80aa664 ) 80aa364: edc3 7a00 vstr s15, [r3] LEGEND[1] *= 2.0000011f; 80aa368: 4bbe ldr r3, [pc, #760] ; (80aa664 ) 80aa36a: edd3 7a01 vldr s15, [r3, #4] 80aa36e: ed9f 7abe vldr s14, [pc, #760] ; 80aa668 80aa372: ee67 7a87 vmul.f32 s15, s15, s14 80aa376: 4bbb ldr r3, [pc, #748] ; (80aa664 ) 80aa378: edc3 7a01 vstr s15, [r3, #4] LEGEND[2] *= 2.0000011f; 80aa37c: 4bb9 ldr r3, [pc, #740] ; (80aa664 ) 80aa37e: edd3 7a02 vldr s15, [r3, #8] 80aa382: ed9f 7ab9 vldr s14, [pc, #740] ; 80aa668 80aa386: ee67 7a87 vmul.f32 s15, s15, s14 80aa38a: 4bb6 ldr r3, [pc, #728] ; (80aa664 ) 80aa38c: edc3 7a02 vstr s15, [r3, #8] NumOverdrives = 0; 80aa390: 4bb6 ldr r3, [pc, #728] ; (80aa66c ) 80aa392: 2200 movs r2, #0 80aa394: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aa396: 49b6 ldr r1, [pc, #728] ; (80aa670 ) 80aa398: 48b6 ldr r0, [pc, #728] ; (80aa674 ) 80aa39a: f7a9 fa23 bl 80537e4 for(i = 0; i < 256; i++) 80aa39e: 2300 movs r3, #0 80aa3a0: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aa3a4: e2a8 b.n 80aa8f8 arm_max_f32(&ScrA_f32(i * avgSPC[ViewLevel][pardata.LNE] + X0), avgSPC[ViewLevel][pardata.LNE], &mF[MAXY], &idx); 80aa3a6: 4bb4 ldr r3, [pc, #720] ; (80aa678 ) 80aa3a8: 781b ldrb r3, [r3, #0] 80aa3aa: b2db uxtb r3, r3 80aa3ac: 4618 mov r0, r3 80aa3ae: 4bb3 ldr r3, [pc, #716] ; (80aa67c ) 80aa3b0: 79db ldrb r3, [r3, #7] 80aa3b2: b2db uxtb r3, r3 80aa3b4: 4619 mov r1, r3 80aa3b6: 4ab2 ldr r2, [pc, #712] ; (80aa680 ) 80aa3b8: 0083 lsls r3, r0, #2 80aa3ba: 4413 add r3, r2 80aa3bc: 440b add r3, r1 80aa3be: 781b ldrb r3, [r3, #0] 80aa3c0: 461a mov r2, r3 80aa3c2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa3c6: fb03 f302 mul.w r3, r3, r2 80aa3ca: 4aae ldr r2, [pc, #696] ; (80aa684 ) 80aa3cc: 8812 ldrh r2, [r2, #0] 80aa3ce: b292 uxth r2, r2 80aa3d0: 4413 add r3, r2 80aa3d2: 009a lsls r2, r3, #2 80aa3d4: 4bac ldr r3, [pc, #688] ; (80aa688 ) 80aa3d6: 4413 add r3, r2 80aa3d8: 461c mov r4, r3 80aa3da: 4ba7 ldr r3, [pc, #668] ; (80aa678 ) 80aa3dc: 781b ldrb r3, [r3, #0] 80aa3de: b2db uxtb r3, r3 80aa3e0: 4618 mov r0, r3 80aa3e2: 4ba6 ldr r3, [pc, #664] ; (80aa67c ) 80aa3e4: 79db ldrb r3, [r3, #7] 80aa3e6: b2db uxtb r3, r3 80aa3e8: 4619 mov r1, r3 80aa3ea: 4aa5 ldr r2, [pc, #660] ; (80aa680 ) 80aa3ec: 0083 lsls r3, r0, #2 80aa3ee: 4413 add r3, r2 80aa3f0: 440b add r3, r1 80aa3f2: 781b ldrb r3, [r3, #0] 80aa3f4: 4618 mov r0, r3 80aa3f6: f507 711a add.w r1, r7, #616 ; 0x268 80aa3fa: f507 731e add.w r3, r7, #632 ; 0x278 80aa3fe: 1d1a adds r2, r3, #4 80aa400: 460b mov r3, r1 80aa402: 4601 mov r1, r0 80aa404: 4620 mov r0, r4 80aa406: f01f fe75 bl 80ca0f4 if(avgSPC[ViewLevel][pardata.LNE] == 1) 80aa40a: 4b9b ldr r3, [pc, #620] ; (80aa678 ) 80aa40c: 781b ldrb r3, [r3, #0] 80aa40e: b2db uxtb r3, r3 80aa410: 4618 mov r0, r3 80aa412: 4b9a ldr r3, [pc, #616] ; (80aa67c ) 80aa414: 79db ldrb r3, [r3, #7] 80aa416: b2db uxtb r3, r3 80aa418: 4619 mov r1, r3 80aa41a: 4a99 ldr r2, [pc, #612] ; (80aa680 ) 80aa41c: 0083 lsls r3, r0, #2 80aa41e: 4413 add r3, r2 80aa420: 440b add r3, r1 80aa422: 781b ldrb r3, [r3, #0] 80aa424: 2b01 cmp r3, #1 80aa426: f040 8143 bne.w 80aa6b0 thr = 157; 80aa42a: 239d movs r3, #157 ; 0x9d 80aa42c: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80aa430: 4b92 ldr r3, [pc, #584] ; (80aa67c ) 80aa432: 7a9b ldrb r3, [r3, #10] 80aa434: b2db uxtb r3, r3 80aa436: 2b01 cmp r3, #1 80aa438: d16f bne.n 80aa51a if(pardata.IIN != VOLTS) 80aa43a: 4b90 ldr r3, [pc, #576] ; (80aa67c ) 80aa43c: 799b ldrb r3, [r3, #6] 80aa43e: b2db uxtb r3, r3 80aa440: 2b02 cmp r3, #2 80aa442: d01c beq.n 80aa47e for(j = 0; j < 2; j++) 80aa444: 2300 movs r3, #0 80aa446: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa44a: e013 b.n 80aa474 LinToLog(&mF[j], &mF[j]); 80aa44c: f507 721e add.w r2, r7, #632 ; 0x278 80aa450: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa454: 009b lsls r3, r3, #2 80aa456: 18d0 adds r0, r2, r3 80aa458: f507 721e add.w r2, r7, #632 ; 0x278 80aa45c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa460: 009b lsls r3, r3, #2 80aa462: 4413 add r3, r2 80aa464: 4619 mov r1, r3 80aa466: f7ba fd3b bl 8064ee0 for(j = 0; j < 2; j++) 80aa46a: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa46e: 3301 adds r3, #1 80aa470: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa474: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa478: 2b01 cmp r3, #1 80aa47a: d9e7 bls.n 80aa44c 80aa47c: e01e b.n 80aa4bc for(j = 0; j < 2; j++) 80aa47e: 2300 movs r3, #0 80aa480: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa484: e016 b.n 80aa4b4 LinToLog_mV(&mF[j], &mF[j], pardata.IPR); 80aa486: f507 721e add.w r2, r7, #632 ; 0x278 80aa48a: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa48e: 009b lsls r3, r3, #2 80aa490: 18d0 adds r0, r2, r3 80aa492: f507 721e add.w r2, r7, #632 ; 0x278 80aa496: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa49a: 009b lsls r3, r3, #2 80aa49c: 18d1 adds r1, r2, r3 80aa49e: 4b77 ldr r3, [pc, #476] ; (80aa67c ) 80aa4a0: 785b ldrb r3, [r3, #1] 80aa4a2: b2db uxtb r3, r3 80aa4a4: 461a mov r2, r3 80aa4a6: f7ba fd4b bl 8064f40 for(j = 0; j < 2; j++) 80aa4aa: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa4ae: 3301 adds r3, #1 80aa4b0: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa4b4: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa4b8: 2b01 cmp r3, #1 80aa4ba: d9e4 bls.n 80aa486 mF[MAXY] *= ZoomVal; 80aa4bc: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa4c0: 4b66 ldr r3, [pc, #408] ; (80aa65c ) 80aa4c2: edd3 7a00 vldr s15, [r3] 80aa4c6: ee67 7a27 vmul.f32 s15, s14, s15 80aa4ca: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aa4ce: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa4d2: ed9f 7a6e vldr s14, [pc, #440] ; 80aa68c 80aa4d6: eef4 7ac7 vcmpe.f32 s15, s14 80aa4da: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa4de: dd02 ble.n 80aa4e6 80aa4e0: 4b6b ldr r3, [pc, #428] ; (80aa690 ) 80aa4e2: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aa4e6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa4ea: ed9f 7a6a vldr s14, [pc, #424] ; 80aa694 80aa4ee: eef4 7ac7 vcmpe.f32 s15, s14 80aa4f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa4f6: d502 bpl.n 80aa4fe 80aa4f8: 4b67 ldr r3, [pc, #412] ; (80aa698 ) 80aa4fa: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80aa4fe: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa502: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80aa506: ee77 7a87 vadd.f32 s15, s15, s14 80aa50a: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa50e: edc7 7a01 vstr s15, [r7, #4] 80aa512: 88bb ldrh r3, [r7, #4] 80aa514: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80aa518: e029 b.n 80aa56e mF[MAXY] *= ZoomVal; 80aa51a: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa51e: 4b4f ldr r3, [pc, #316] ; (80aa65c ) 80aa520: edd3 7a00 vldr s15, [r3] 80aa524: ee67 7a27 vmul.f32 s15, s14, s15 80aa528: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aa52c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa530: ed9f 7a56 vldr s14, [pc, #344] ; 80aa68c 80aa534: eef4 7ac7 vcmpe.f32 s15, s14 80aa538: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa53c: dd02 ble.n 80aa544 80aa53e: 4b54 ldr r3, [pc, #336] ; (80aa690 ) 80aa540: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aa544: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa548: ed9f 7a52 vldr s14, [pc, #328] ; 80aa694 80aa54c: eef4 7ac7 vcmpe.f32 s15, s14 80aa550: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa554: d502 bpl.n 80aa55c 80aa556: 4b50 ldr r3, [pc, #320] ; (80aa698 ) 80aa558: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80aa55c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa560: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa564: edc7 7a01 vstr s15, [r7, #4] 80aa568: 88bb ldrh r3, [r7, #4] 80aa56a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80aa56e: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aa572: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aa576: 429a cmp r2, r3 80aa578: dd03 ble.n 80aa582 pMin = thr; 80aa57a: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80aa57e: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80aa582: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aa586: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aa58a: 425b negs r3, r3 80aa58c: 429a cmp r2, r3 80aa58e: da02 bge.n 80aa596 pMin = 0; 80aa590: 2300 movs r3, #0 80aa592: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80aa596: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aa59a: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aa59e: 429a cmp r2, r3 80aa5a0: dd09 ble.n 80aa5b6 pMax = thr; 80aa5a2: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80aa5a6: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa5aa: 4b30 ldr r3, [pc, #192] ; (80aa66c ) 80aa5ac: 781b ldrb r3, [r3, #0] 80aa5ae: 3301 adds r3, #1 80aa5b0: b2da uxtb r2, r3 80aa5b2: 4b2e ldr r3, [pc, #184] ; (80aa66c ) 80aa5b4: 701a strb r2, [r3, #0] if(pMax < 0) { 80aa5b6: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa5ba: 2b00 cmp r3, #0 80aa5bc: da02 bge.n 80aa5c4 pMax = 0; 80aa5be: 2300 movs r3, #0 80aa5c0: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80aa5c4: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa5c8: 333e adds r3, #62 ; 0x3e 80aa5ca: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80aa5ce: 4b33 ldr r3, [pc, #204] ; (80aa69c ) 80aa5d0: 681b ldr r3, [r3, #0] 80aa5d2: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aa5d6: 429a cmp r2, r3 80aa5d8: d12e bne.n 80aa638 if(menupos != Cursor) 80aa5da: 4b31 ldr r3, [pc, #196] ; (80aa6a0 ) 80aa5dc: 781b ldrb r3, [r3, #0] 80aa5de: b2db uxtb r3, r3 80aa5e0: 2b06 cmp r3, #6 80aa5e2: d004 beq.n 80aa5ee LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80aa5e4: 4922 ldr r1, [pc, #136] ; (80aa670 ) 80aa5e6: 482f ldr r0, [pc, #188] ; (80aa6a4 ) 80aa5e8: f7a9 f8fc bl 80537e4 80aa5ec: e003 b.n 80aa5f6 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80aa5ee: 4920 ldr r1, [pc, #128] ; (80aa670 ) 80aa5f0: 482d ldr r0, [pc, #180] ; (80aa6a8 ) 80aa5f2: f7a9 f8f7 bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80aa5f6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa5fa: b298 uxth r0, r3 80aa5fc: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa600: b29a uxth r2, r3 80aa602: 23da movs r3, #218 ; 0xda 80aa604: 212c movs r1, #44 ; 0x2c 80aa606: f7a9 fb27 bl 8053c58 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80aa60a: 4919 ldr r1, [pc, #100] ; (80aa670 ) 80aa60c: 4827 ldr r0, [pc, #156] ; (80aa6ac ) 80aa60e: f7a9 f8e9 bl 80537e4 BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80aa612: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa616: b298 uxth r0, r3 80aa618: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa61c: b29a uxth r2, r3 80aa61e: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa622: f1c3 03da rsb r3, r3, #218 ; 0xda 80aa626: b29b uxth r3, r3 80aa628: 21db movs r1, #219 ; 0xdb 80aa62a: f7a9 fb15 bl 8053c58 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aa62e: 4910 ldr r1, [pc, #64] ; (80aa670 ) 80aa630: 4810 ldr r0, [pc, #64] ; (80aa674 ) 80aa632: f7a9 f8d7 bl 80537e4 80aa636: e150 b.n 80aa8da BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80aa638: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa63c: b298 uxth r0, r3 80aa63e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa642: b29a uxth r2, r3 80aa644: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa648: f1c3 03da rsb r3, r3, #218 ; 0xda 80aa64c: b29b uxth r3, r3 80aa64e: 21da movs r1, #218 ; 0xda 80aa650: f7a9 fb02 bl 8053c58 80aa654: e141 b.n 80aa8da 80aa656: bf00 nop 80aa658: 20020f69 .word 0x20020f69 80aa65c: 20020990 .word 0x20020990 80aa660: 3f000012 .word 0x3f000012 80aa664: 200685bc .word 0x200685bc 80aa668: 40000005 .word 0x40000005 80aa66c: 2002164e .word 0x2002164e 80aa670: ff0a0f1f .word 0xff0a0f1f 80aa674: ff26a01f .word 0xff26a01f 80aa678: 20020f74 .word 0x20020f74 80aa67c: 20023e60 .word 0x20023e60 80aa680: 080ef64c .word 0x080ef64c 80aa684: 20025d1e .word 0x20025d1e 80aa688: 64080000 .word 0x64080000 80aa68c: 46fffe00 .word 0x46fffe00 80aa690: 46fffe00 .word 0x46fffe00 80aa694: c6fffe00 .word 0xc6fffe00 80aa698: c6fffe00 .word 0xc6fffe00 80aa69c: 2002006c .word 0x2002006c 80aa6a0: 20020070 .word 0x20020070 80aa6a4: ff808080 .word 0xff808080 80aa6a8: ffff0000 .word 0xffff0000 80aa6ac: ff008000 .word 0xff008000 thr = 157; 80aa6b0: 239d movs r3, #157 ; 0x9d 80aa6b2: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80aa6b6: 4bca ldr r3, [pc, #808] ; (80aa9e0 ) 80aa6b8: 7a9b ldrb r3, [r3, #10] 80aa6ba: b2db uxtb r3, r3 80aa6bc: 2b01 cmp r3, #1 80aa6be: d16f bne.n 80aa7a0 if(pardata.IIN != VOLTS) 80aa6c0: 4bc7 ldr r3, [pc, #796] ; (80aa9e0 ) 80aa6c2: 799b ldrb r3, [r3, #6] 80aa6c4: b2db uxtb r3, r3 80aa6c6: 2b02 cmp r3, #2 80aa6c8: d01c beq.n 80aa704 for(j = 0; j < 2; j++) 80aa6ca: 2300 movs r3, #0 80aa6cc: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa6d0: e013 b.n 80aa6fa LinToLog(&mF[j], &mF[j]); 80aa6d2: f507 721e add.w r2, r7, #632 ; 0x278 80aa6d6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa6da: 009b lsls r3, r3, #2 80aa6dc: 18d0 adds r0, r2, r3 80aa6de: f507 721e add.w r2, r7, #632 ; 0x278 80aa6e2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa6e6: 009b lsls r3, r3, #2 80aa6e8: 4413 add r3, r2 80aa6ea: 4619 mov r1, r3 80aa6ec: f7ba fbf8 bl 8064ee0 for(j = 0; j < 2; j++) 80aa6f0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa6f4: 3301 adds r3, #1 80aa6f6: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa6fa: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa6fe: 2b01 cmp r3, #1 80aa700: d9e7 bls.n 80aa6d2 80aa702: e01e b.n 80aa742 for(j = 0; j < 2; j++) 80aa704: 2300 movs r3, #0 80aa706: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa70a: e016 b.n 80aa73a LinToLog_mV(&mF[j], &mF[j], pardata.IPR); 80aa70c: f507 721e add.w r2, r7, #632 ; 0x278 80aa710: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa714: 009b lsls r3, r3, #2 80aa716: 18d0 adds r0, r2, r3 80aa718: f507 721e add.w r2, r7, #632 ; 0x278 80aa71c: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa720: 009b lsls r3, r3, #2 80aa722: 18d1 adds r1, r2, r3 80aa724: 4bae ldr r3, [pc, #696] ; (80aa9e0 ) 80aa726: 785b ldrb r3, [r3, #1] 80aa728: b2db uxtb r3, r3 80aa72a: 461a mov r2, r3 80aa72c: f7ba fc08 bl 8064f40 for(j = 0; j < 2; j++) 80aa730: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa734: 3301 adds r3, #1 80aa736: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aa73a: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aa73e: 2b01 cmp r3, #1 80aa740: d9e4 bls.n 80aa70c mF[MAXY] *= ZoomVal; 80aa742: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa746: 4ba7 ldr r3, [pc, #668] ; (80aa9e4 ) 80aa748: edd3 7a00 vldr s15, [r3] 80aa74c: ee67 7a27 vmul.f32 s15, s14, s15 80aa750: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aa754: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa758: ed9f 7aa3 vldr s14, [pc, #652] ; 80aa9e8 80aa75c: eef4 7ac7 vcmpe.f32 s15, s14 80aa760: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa764: dd02 ble.n 80aa76c 80aa766: 4ba1 ldr r3, [pc, #644] ; (80aa9ec ) 80aa768: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aa76c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa770: ed9f 7a9f vldr s14, [pc, #636] ; 80aa9f0 80aa774: eef4 7ac7 vcmpe.f32 s15, s14 80aa778: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa77c: d502 bpl.n 80aa784 80aa77e: 4b9d ldr r3, [pc, #628] ; (80aa9f4 ) 80aa780: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80aa784: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa788: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80aa78c: ee77 7a87 vadd.f32 s15, s15, s14 80aa790: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa794: edc7 7a01 vstr s15, [r7, #4] 80aa798: 88bb ldrh r3, [r7, #4] 80aa79a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80aa79e: e029 b.n 80aa7f4 mF[MAXY] *= ZoomVal; 80aa7a0: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aa7a4: 4b8f ldr r3, [pc, #572] ; (80aa9e4 ) 80aa7a6: edd3 7a00 vldr s15, [r3] 80aa7aa: ee67 7a27 vmul.f32 s15, s14, s15 80aa7ae: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aa7b2: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa7b6: ed9f 7a8c vldr s14, [pc, #560] ; 80aa9e8 80aa7ba: eef4 7ac7 vcmpe.f32 s15, s14 80aa7be: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa7c2: dd02 ble.n 80aa7ca 80aa7c4: 4b89 ldr r3, [pc, #548] ; (80aa9ec ) 80aa7c6: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aa7ca: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa7ce: ed9f 7a88 vldr s14, [pc, #544] ; 80aa9f0 80aa7d2: eef4 7ac7 vcmpe.f32 s15, s14 80aa7d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa7da: d502 bpl.n 80aa7e2 80aa7dc: 4b85 ldr r3, [pc, #532] ; (80aa9f4 ) 80aa7de: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80aa7e2: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aa7e6: eefd 7ae7 vcvt.s32.f32 s15, s15 80aa7ea: edc7 7a01 vstr s15, [r7, #4] 80aa7ee: 88bb ldrh r3, [r7, #4] 80aa7f0: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMin > thr) 80aa7f4: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aa7f8: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aa7fc: 429a cmp r2, r3 80aa7fe: dd03 ble.n 80aa808 pMin = thr; 80aa800: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80aa804: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin < -thr) { 80aa808: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80aa80c: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aa810: 425b negs r3, r3 80aa812: 429a cmp r2, r3 80aa814: da02 bge.n 80aa81c pMin = 0; 80aa816: 2300 movs r3, #0 80aa818: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMax > thr) 80aa81c: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aa820: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80aa824: 429a cmp r2, r3 80aa826: dd09 ble.n 80aa83c pMax = thr; 80aa828: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80aa82c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80aa830: 4b71 ldr r3, [pc, #452] ; (80aa9f8 ) 80aa832: 781b ldrb r3, [r3, #0] 80aa834: 3301 adds r3, #1 80aa836: b2da uxtb r2, r3 80aa838: 4b6f ldr r3, [pc, #444] ; (80aa9f8 ) 80aa83a: 701a strb r2, [r3, #0] if(pMax < 0) { 80aa83c: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80aa840: 2b00 cmp r3, #0 80aa842: da02 bge.n 80aa84a pMax = 0; 80aa844: 2300 movs r3, #0 80aa846: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + i; 80aa84a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa84e: 333e adds r3, #62 ; 0x3e 80aa850: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80aa854: 4b69 ldr r3, [pc, #420] ; (80aa9fc ) 80aa856: 681b ldr r3, [r3, #0] 80aa858: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80aa85c: 429a cmp r2, r3 80aa85e: d12e bne.n 80aa8be if(menupos != Cursor) 80aa860: 4b67 ldr r3, [pc, #412] ; (80aaa00 ) 80aa862: 781b ldrb r3, [r3, #0] 80aa864: b2db uxtb r3, r3 80aa866: 2b06 cmp r3, #6 80aa868: d004 beq.n 80aa874 LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80aa86a: 4966 ldr r1, [pc, #408] ; (80aaa04 ) 80aa86c: 4866 ldr r0, [pc, #408] ; (80aaa08 ) 80aa86e: f7a8 ffb9 bl 80537e4 80aa872: e003 b.n 80aa87c else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80aa874: 4963 ldr r1, [pc, #396] ; (80aaa04 ) 80aa876: 4865 ldr r0, [pc, #404] ; (80aaa0c ) 80aa878: f7a8 ffb4 bl 80537e4 BSP_LCD_DrawLine(x, 44, x, 218); 80aa87c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa880: b298 uxth r0, r3 80aa882: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa886: b29a uxth r2, r3 80aa888: 23da movs r3, #218 ; 0xda 80aa88a: 212c movs r1, #44 ; 0x2c 80aa88c: f7a9 f9e4 bl 8053c58 LCD_SetColors(LCD_COLOR_DARKGREEN, LCD_COLOR_BLACK); 80aa890: 495c ldr r1, [pc, #368] ; (80aaa04 ) 80aa892: 485f ldr r0, [pc, #380] ; (80aaa10 ) 80aa894: f7a8 ffa6 bl 80537e4 BSP_LCD_DrawLine(x, 219, x, 218 - pMax); 80aa898: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa89c: b298 uxth r0, r3 80aa89e: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa8a2: b29a uxth r2, r3 80aa8a4: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa8a8: f1c3 03da rsb r3, r3, #218 ; 0xda 80aa8ac: b29b uxth r3, r3 80aa8ae: 21db movs r1, #219 ; 0xdb 80aa8b0: f7a9 f9d2 bl 8053c58 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aa8b4: 4953 ldr r1, [pc, #332] ; (80aaa04 ) 80aa8b6: 4857 ldr r0, [pc, #348] ; (80aaa14 ) 80aa8b8: f7a8 ff94 bl 80537e4 80aa8bc: e00d b.n 80aa8da BSP_LCD_DrawLine(x, 218, x, 218 - pMax); 80aa8be: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa8c2: b298 uxth r0, r3 80aa8c4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aa8c8: b29a uxth r2, r3 80aa8ca: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa8ce: f1c3 03da rsb r3, r3, #218 ; 0xda 80aa8d2: b29b uxth r3, r3 80aa8d4: 21da movs r1, #218 ; 0xda 80aa8d6: f7a9 f9bf bl 8053c58 if(pMax > Maximum) Maximum = pMax; 80aa8da: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80aa8de: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aa8e2: 429a cmp r2, r3 80aa8e4: dd03 ble.n 80aa8ee 80aa8e6: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aa8ea: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 256; i++) 80aa8ee: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa8f2: 3301 adds r3, #1 80aa8f4: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aa8f8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aa8fc: 2bff cmp r3, #255 ; 0xff 80aa8fe: f67f ad52 bls.w 80aa3a6 BSP_LCD_SetFont(&Font8); 80aa902: 4845 ldr r0, [pc, #276] ; (80aaa18 ) 80aa904: f7a8 ffaa bl 805385c LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80aa908: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80aa90c: 483e ldr r0, [pc, #248] ; (80aaa08 ) 80aa90e: f7a8 ff69 bl 80537e4 if(ABS(LEGEND[0]) == 0.0f) { mmm = -1; } 80aa912: 4b42 ldr r3, [pc, #264] ; (80aaa1c ) 80aa914: edd3 7a00 vldr s15, [r3] 80aa918: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa91c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa920: dd0b ble.n 80aa93a 80aa922: 4b3e ldr r3, [pc, #248] ; (80aaa1c ) 80aa924: edd3 7a00 vldr s15, [r3] 80aa928: eef5 7a40 vcmp.f32 s15, #0.0 80aa92c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa930: bf0c ite eq 80aa932: 2301 moveq r3, #1 80aa934: 2300 movne r3, #0 80aa936: b2db uxtb r3, r3 80aa938: e00a b.n 80aa950 80aa93a: 4b38 ldr r3, [pc, #224] ; (80aaa1c ) 80aa93c: edd3 7a00 vldr s15, [r3] 80aa940: eef5 7a40 vcmp.f32 s15, #0.0 80aa944: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa948: bf0c ite eq 80aa94a: 2301 moveq r3, #1 80aa94c: 2300 movne r3, #0 80aa94e: b2db uxtb r3, r3 80aa950: 2b00 cmp r3, #0 80aa952: d003 beq.n 80aa95c 80aa954: 23ff movs r3, #255 ; 0xff 80aa956: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aa95a: e079 b.n 80aaa50 else if(ABS(LEGEND[0]) < 1) { mmm = -4; } 80aa95c: 4b2f ldr r3, [pc, #188] ; (80aaa1c ) 80aa95e: edd3 7a00 vldr s15, [r3] 80aa962: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa966: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa96a: dd0d ble.n 80aa988 80aa96c: 4b2b ldr r3, [pc, #172] ; (80aaa1c ) 80aa96e: edd3 7a00 vldr s15, [r3] 80aa972: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aa976: eef4 7ac7 vcmpe.f32 s15, s14 80aa97a: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa97e: bf4c ite mi 80aa980: 2301 movmi r3, #1 80aa982: 2300 movpl r3, #0 80aa984: b2db uxtb r3, r3 80aa986: e00e b.n 80aa9a6 80aa988: 4b24 ldr r3, [pc, #144] ; (80aaa1c ) 80aa98a: edd3 7a00 vldr s15, [r3] 80aa98e: eef1 7a67 vneg.f32 s15, s15 80aa992: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aa996: eef4 7ac7 vcmpe.f32 s15, s14 80aa99a: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa99e: bf4c ite mi 80aa9a0: 2301 movmi r3, #1 80aa9a2: 2300 movpl r3, #0 80aa9a4: b2db uxtb r3, r3 80aa9a6: 2b00 cmp r3, #0 80aa9a8: d003 beq.n 80aa9b2 80aa9aa: 23fc movs r3, #252 ; 0xfc 80aa9ac: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aa9b0: e04e b.n 80aaa50 else if(ABS(LEGEND[0]) < 10) { mmm = -1; } 80aa9b2: 4b1a ldr r3, [pc, #104] ; (80aaa1c ) 80aa9b4: edd3 7a00 vldr s15, [r3] 80aa9b8: eef5 7ac0 vcmpe.f32 s15, #0.0 80aa9bc: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa9c0: dd2e ble.n 80aaa20 80aa9c2: 4b16 ldr r3, [pc, #88] ; (80aaa1c ) 80aa9c4: edd3 7a00 vldr s15, [r3] 80aa9c8: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aa9cc: eef4 7ac7 vcmpe.f32 s15, s14 80aa9d0: eef1 fa10 vmrs APSR_nzcv, fpscr 80aa9d4: bf4c ite mi 80aa9d6: 2301 movmi r3, #1 80aa9d8: 2300 movpl r3, #0 80aa9da: b2db uxtb r3, r3 80aa9dc: e02f b.n 80aaa3e 80aa9de: bf00 nop 80aa9e0: 20023e60 .word 0x20023e60 80aa9e4: 20020990 .word 0x20020990 80aa9e8: 46fffe00 .word 0x46fffe00 80aa9ec: 46fffe00 .word 0x46fffe00 80aa9f0: c6fffe00 .word 0xc6fffe00 80aa9f4: c6fffe00 .word 0xc6fffe00 80aa9f8: 2002164e .word 0x2002164e 80aa9fc: 2002006c .word 0x2002006c 80aaa00: 20020070 .word 0x20020070 80aaa04: ff0a0f1f .word 0xff0a0f1f 80aaa08: ff808080 .word 0xff808080 80aaa0c: ffff0000 .word 0xffff0000 80aaa10: ff008000 .word 0xff008000 80aaa14: ff26a01f .word 0xff26a01f 80aaa18: 20020060 .word 0x20020060 80aaa1c: 200685bc .word 0x200685bc 80aaa20: 4ba7 ldr r3, [pc, #668] ; (80aacc0 ) 80aaa22: edd3 7a00 vldr s15, [r3] 80aaa26: eef1 7a67 vneg.f32 s15, s15 80aaa2a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aaa2e: eef4 7ac7 vcmpe.f32 s15, s14 80aaa32: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaa36: bf4c ite mi 80aaa38: 2301 movmi r3, #1 80aaa3a: 2300 movpl r3, #0 80aaa3c: b2db uxtb r3, r3 80aaa3e: 2b00 cmp r3, #0 80aaa40: d003 beq.n 80aaa4a 80aaa42: 23ff movs r3, #255 ; 0xff 80aaa44: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aaa48: e002 b.n 80aaa50 else { mmm = 0; } 80aaa4a: 2300 movs r3, #0 80aaa4c: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8+98, (char *) FloatToASCII(LEGEND[0], mmm), RIGHT_MODE); 80aaa50: 4b9b ldr r3, [pc, #620] ; (80aacc0 ) 80aaa52: edd3 7a00 vldr s15, [r3] 80aaa56: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80aaa5a: 4618 mov r0, r3 80aaa5c: eeb0 0a67 vmov.f32 s0, s15 80aaa60: f7bb fe6a bl 8066738 80aaa64: 4602 mov r2, r0 80aaa66: 2302 movs r3, #2 80aaa68: 21b6 movs r1, #182 ; 0xb6 80aaa6a: f44f 709e mov.w r0, #316 ; 0x13c 80aaa6e: f7a8 ff7f bl 8053970 if(ABS(LEGEND[1]) == 0.0f) { mmm = -1; } 80aaa72: 4b93 ldr r3, [pc, #588] ; (80aacc0 ) 80aaa74: edd3 7a01 vldr s15, [r3, #4] 80aaa78: eef5 7ac0 vcmpe.f32 s15, #0.0 80aaa7c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaa80: dd0b ble.n 80aaa9a 80aaa82: 4b8f ldr r3, [pc, #572] ; (80aacc0 ) 80aaa84: edd3 7a01 vldr s15, [r3, #4] 80aaa88: eef5 7a40 vcmp.f32 s15, #0.0 80aaa8c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaa90: bf0c ite eq 80aaa92: 2301 moveq r3, #1 80aaa94: 2300 movne r3, #0 80aaa96: b2db uxtb r3, r3 80aaa98: e00a b.n 80aaab0 80aaa9a: 4b89 ldr r3, [pc, #548] ; (80aacc0 ) 80aaa9c: edd3 7a01 vldr s15, [r3, #4] 80aaaa0: eef5 7a40 vcmp.f32 s15, #0.0 80aaaa4: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaaa8: bf0c ite eq 80aaaaa: 2301 moveq r3, #1 80aaaac: 2300 movne r3, #0 80aaaae: b2db uxtb r3, r3 80aaab0: 2b00 cmp r3, #0 80aaab2: d003 beq.n 80aaabc 80aaab4: 23ff movs r3, #255 ; 0xff 80aaab6: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aaaba: e058 b.n 80aab6e else if(ABS(LEGEND[1]) < 1) { mmm = -4; } 80aaabc: 4b80 ldr r3, [pc, #512] ; (80aacc0 ) 80aaabe: edd3 7a01 vldr s15, [r3, #4] 80aaac2: eef5 7ac0 vcmpe.f32 s15, #0.0 80aaac6: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaaca: dd0d ble.n 80aaae8 80aaacc: 4b7c ldr r3, [pc, #496] ; (80aacc0 ) 80aaace: edd3 7a01 vldr s15, [r3, #4] 80aaad2: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aaad6: eef4 7ac7 vcmpe.f32 s15, s14 80aaada: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaade: bf4c ite mi 80aaae0: 2301 movmi r3, #1 80aaae2: 2300 movpl r3, #0 80aaae4: b2db uxtb r3, r3 80aaae6: e00e b.n 80aab06 80aaae8: 4b75 ldr r3, [pc, #468] ; (80aacc0 ) 80aaaea: edd3 7a01 vldr s15, [r3, #4] 80aaaee: eef1 7a67 vneg.f32 s15, s15 80aaaf2: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aaaf6: eef4 7ac7 vcmpe.f32 s15, s14 80aaafa: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaafe: bf4c ite mi 80aab00: 2301 movmi r3, #1 80aab02: 2300 movpl r3, #0 80aab04: b2db uxtb r3, r3 80aab06: 2b00 cmp r3, #0 80aab08: d003 beq.n 80aab12 80aab0a: 23fc movs r3, #252 ; 0xfc 80aab0c: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aab10: e02d b.n 80aab6e else if(ABS(LEGEND[1]) < 10) { mmm = -1; } 80aab12: 4b6b ldr r3, [pc, #428] ; (80aacc0 ) 80aab14: edd3 7a01 vldr s15, [r3, #4] 80aab18: eef5 7ac0 vcmpe.f32 s15, #0.0 80aab1c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aab20: dd0d ble.n 80aab3e 80aab22: 4b67 ldr r3, [pc, #412] ; (80aacc0 ) 80aab24: edd3 7a01 vldr s15, [r3, #4] 80aab28: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aab2c: eef4 7ac7 vcmpe.f32 s15, s14 80aab30: eef1 fa10 vmrs APSR_nzcv, fpscr 80aab34: bf4c ite mi 80aab36: 2301 movmi r3, #1 80aab38: 2300 movpl r3, #0 80aab3a: b2db uxtb r3, r3 80aab3c: e00e b.n 80aab5c 80aab3e: 4b60 ldr r3, [pc, #384] ; (80aacc0 ) 80aab40: edd3 7a01 vldr s15, [r3, #4] 80aab44: eef1 7a67 vneg.f32 s15, s15 80aab48: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aab4c: eef4 7ac7 vcmpe.f32 s15, s14 80aab50: eef1 fa10 vmrs APSR_nzcv, fpscr 80aab54: bf4c ite mi 80aab56: 2301 movmi r3, #1 80aab58: 2300 movpl r3, #0 80aab5a: b2db uxtb r3, r3 80aab5c: 2b00 cmp r3, #0 80aab5e: d003 beq.n 80aab68 80aab60: 23ff movs r3, #255 ; 0xff 80aab62: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aab66: e002 b.n 80aab6e else { mmm = 0; } 80aab68: 2300 movs r3, #0 80aab6a: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8+49, (char *) FloatToASCII(LEGEND[1], mmm), RIGHT_MODE); 80aab6e: 4b54 ldr r3, [pc, #336] ; (80aacc0 ) 80aab70: edd3 7a01 vldr s15, [r3, #4] 80aab74: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80aab78: 4618 mov r0, r3 80aab7a: eeb0 0a67 vmov.f32 s0, s15 80aab7e: f7bb fddb bl 8066738 80aab82: 4602 mov r2, r0 80aab84: 2302 movs r3, #2 80aab86: 2185 movs r1, #133 ; 0x85 80aab88: f44f 709e mov.w r0, #316 ; 0x13c 80aab8c: f7a8 fef0 bl 8053970 if(ABS(LEGEND[2]) == 0.0f) { mmm = -1; } 80aab90: 4b4b ldr r3, [pc, #300] ; (80aacc0 ) 80aab92: edd3 7a02 vldr s15, [r3, #8] 80aab96: eef5 7ac0 vcmpe.f32 s15, #0.0 80aab9a: eef1 fa10 vmrs APSR_nzcv, fpscr 80aab9e: dd0b ble.n 80aabb8 80aaba0: 4b47 ldr r3, [pc, #284] ; (80aacc0 ) 80aaba2: edd3 7a02 vldr s15, [r3, #8] 80aaba6: eef5 7a40 vcmp.f32 s15, #0.0 80aabaa: eef1 fa10 vmrs APSR_nzcv, fpscr 80aabae: bf0c ite eq 80aabb0: 2301 moveq r3, #1 80aabb2: 2300 movne r3, #0 80aabb4: b2db uxtb r3, r3 80aabb6: e00a b.n 80aabce 80aabb8: 4b41 ldr r3, [pc, #260] ; (80aacc0 ) 80aabba: edd3 7a02 vldr s15, [r3, #8] 80aabbe: eef5 7a40 vcmp.f32 s15, #0.0 80aabc2: eef1 fa10 vmrs APSR_nzcv, fpscr 80aabc6: bf0c ite eq 80aabc8: 2301 moveq r3, #1 80aabca: 2300 movne r3, #0 80aabcc: b2db uxtb r3, r3 80aabce: 2b00 cmp r3, #0 80aabd0: d003 beq.n 80aabda 80aabd2: 23ff movs r3, #255 ; 0xff 80aabd4: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aabd8: e058 b.n 80aac8c else if(ABS(LEGEND[2]) < 1) { mmm = -4; } 80aabda: 4b39 ldr r3, [pc, #228] ; (80aacc0 ) 80aabdc: edd3 7a02 vldr s15, [r3, #8] 80aabe0: eef5 7ac0 vcmpe.f32 s15, #0.0 80aabe4: eef1 fa10 vmrs APSR_nzcv, fpscr 80aabe8: dd0d ble.n 80aac06 80aabea: 4b35 ldr r3, [pc, #212] ; (80aacc0 ) 80aabec: edd3 7a02 vldr s15, [r3, #8] 80aabf0: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aabf4: eef4 7ac7 vcmpe.f32 s15, s14 80aabf8: eef1 fa10 vmrs APSR_nzcv, fpscr 80aabfc: bf4c ite mi 80aabfe: 2301 movmi r3, #1 80aac00: 2300 movpl r3, #0 80aac02: b2db uxtb r3, r3 80aac04: e00e b.n 80aac24 80aac06: 4b2e ldr r3, [pc, #184] ; (80aacc0 ) 80aac08: edd3 7a02 vldr s15, [r3, #8] 80aac0c: eef1 7a67 vneg.f32 s15, s15 80aac10: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80aac14: eef4 7ac7 vcmpe.f32 s15, s14 80aac18: eef1 fa10 vmrs APSR_nzcv, fpscr 80aac1c: bf4c ite mi 80aac1e: 2301 movmi r3, #1 80aac20: 2300 movpl r3, #0 80aac22: b2db uxtb r3, r3 80aac24: 2b00 cmp r3, #0 80aac26: d003 beq.n 80aac30 80aac28: 23fc movs r3, #252 ; 0xfc 80aac2a: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aac2e: e02d b.n 80aac8c else if(ABS(LEGEND[2]) < 10) { mmm = -1; } 80aac30: 4b23 ldr r3, [pc, #140] ; (80aacc0 ) 80aac32: edd3 7a02 vldr s15, [r3, #8] 80aac36: eef5 7ac0 vcmpe.f32 s15, #0.0 80aac3a: eef1 fa10 vmrs APSR_nzcv, fpscr 80aac3e: dd0d ble.n 80aac5c 80aac40: 4b1f ldr r3, [pc, #124] ; (80aacc0 ) 80aac42: edd3 7a02 vldr s15, [r3, #8] 80aac46: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aac4a: eef4 7ac7 vcmpe.f32 s15, s14 80aac4e: eef1 fa10 vmrs APSR_nzcv, fpscr 80aac52: bf4c ite mi 80aac54: 2301 movmi r3, #1 80aac56: 2300 movpl r3, #0 80aac58: b2db uxtb r3, r3 80aac5a: e00e b.n 80aac7a 80aac5c: 4b18 ldr r3, [pc, #96] ; (80aacc0 ) 80aac5e: edd3 7a02 vldr s15, [r3, #8] 80aac62: eef1 7a67 vneg.f32 s15, s15 80aac66: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80aac6a: eef4 7ac7 vcmpe.f32 s15, s14 80aac6e: eef1 fa10 vmrs APSR_nzcv, fpscr 80aac72: bf4c ite mi 80aac74: 2301 movmi r3, #1 80aac76: 2300 movpl r3, #0 80aac78: b2db uxtb r3, r3 80aac7a: 2b00 cmp r3, #0 80aac7c: d003 beq.n 80aac86 80aac7e: 23ff movs r3, #255 ; 0xff 80aac80: f887 329f strb.w r3, [r7, #671] ; 0x29f 80aac84: e002 b.n 80aac8c else { mmm = 0; } 80aac86: 2300 movs r3, #0 80aac88: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8, (char *) FloatToASCII(LEGEND[2], mmm), RIGHT_MODE); 80aac8c: 4b0c ldr r3, [pc, #48] ; (80aacc0 ) 80aac8e: edd3 7a02 vldr s15, [r3, #8] 80aac92: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80aac96: 4618 mov r0, r3 80aac98: eeb0 0a67 vmov.f32 s0, s15 80aac9c: f7bb fd4c bl 8066738 80aaca0: 4602 mov r2, r0 80aaca2: 2302 movs r3, #2 80aaca4: 2154 movs r1, #84 ; 0x54 80aaca6: f44f 709e mov.w r0, #316 ; 0x13c 80aacaa: f7a8 fe61 bl 8053970 Maximum = ABS(Maximum); 80aacae: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80aacb2: 2b00 cmp r3, #0 80aacb4: bfb8 it lt 80aacb6: 425b neglt r3, r3 80aacb8: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 { 80aacbc: f001 b8eb b.w 80abe96 80aacc0: 200685bc .word 0x200685bc if(pardata.SYG == SPEC_OKT) 80aacc4: 4ba2 ldr r3, [pc, #648] ; (80aaf50 ) 80aacc6: 781b ldrb r3, [r3, #0] 80aacc8: b2db uxtb r3, r3 80aacca: 2b06 cmp r3, #6 80aaccc: f040 821f bne.w 80ab10e if((!firstOkt) && (READY_TO_SEE)) 80aacd0: 4ba0 ldr r3, [pc, #640] ; (80aaf54 ) 80aacd2: 781b ldrb r3, [r3, #0] 80aacd4: b2db uxtb r3, r3 80aacd6: f083 0301 eor.w r3, r3, #1 80aacda: b2db uxtb r3, r3 80aacdc: 2b00 cmp r3, #0 80aacde: f001 80db beq.w 80abe98 80aace2: 4b9d ldr r3, [pc, #628] ; (80aaf58 ) 80aace4: 781b ldrb r3, [r3, #0] 80aace6: b2db uxtb r3, r3 80aace8: 2b00 cmp r3, #0 80aacea: f001 80d5 beq.w 80abe98 if(AUTOZOOM) 80aacee: 4b9b ldr r3, [pc, #620] ; (80aaf5c ) 80aacf0: 781b ldrb r3, [r3, #0] 80aacf2: b2db uxtb r3, r3 80aacf4: 2b00 cmp r3, #0 80aacf6: f000 809c beq.w 80aae32 arm_max_f32(&ScrA_f32(lX), 15, &max, &idx); 80aacfa: 4b99 ldr r3, [pc, #612] ; (80aaf60 ) 80aacfc: 881b ldrh r3, [r3, #0] 80aacfe: b29b uxth r3, r3 80aad00: 009b lsls r3, r3, #2 80aad02: 461a mov r2, r3 80aad04: 4b97 ldr r3, [pc, #604] ; (80aaf64 ) 80aad06: 4413 add r3, r2 80aad08: 4618 mov r0, r3 80aad0a: f507 731a add.w r3, r7, #616 ; 0x268 80aad0e: f507 721d add.w r2, r7, #628 ; 0x274 80aad12: 210f movs r1, #15 80aad14: f01f f9ee bl 80ca0f4 arm_min_f32(&ScrA_f32(lX), 15, &min, &idx); 80aad18: 4b91 ldr r3, [pc, #580] ; (80aaf60 ) 80aad1a: 881b ldrh r3, [r3, #0] 80aad1c: b29b uxth r3, r3 80aad1e: 009b lsls r3, r3, #2 80aad20: 461a mov r2, r3 80aad22: 4b90 ldr r3, [pc, #576] ; (80aaf64 ) 80aad24: 4413 add r3, r2 80aad26: 4618 mov r0, r3 80aad28: f507 731a add.w r3, r7, #616 ; 0x268 80aad2c: f507 721c add.w r2, r7, #624 ; 0x270 80aad30: 210f movs r1, #15 80aad32: f01f f943 bl 80c9fbc if(max != 0.0f) 80aad36: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aad3a: eef5 7a40 vcmp.f32 s15, #0.0 80aad3e: eef1 fa10 vmrs APSR_nzcv, fpscr 80aad42: d072 beq.n 80aae2a if(pardata.MSH == LOG) 80aad44: 4b82 ldr r3, [pc, #520] ; (80aaf50 ) 80aad46: 7a9b ldrb r3, [r3, #10] 80aad48: b2db uxtb r3, r3 80aad4a: 2b01 cmp r3, #1 80aad4c: d122 bne.n 80aad94 LinToLog(&max, &max); 80aad4e: f507 721d add.w r2, r7, #628 ; 0x274 80aad52: f507 731d add.w r3, r7, #628 ; 0x274 80aad56: 4611 mov r1, r2 80aad58: 4618 mov r0, r3 80aad5a: f7ba f8c1 bl 8064ee0 LinToLog(&min, &min); 80aad5e: f507 721c add.w r2, r7, #624 ; 0x270 80aad62: f507 731c add.w r3, r7, #624 ; 0x270 80aad66: 4611 mov r1, r2 80aad68: 4618 mov r0, r3 80aad6a: f7ba f8b9 bl 8064ee0 f = (max);// - min); 80aad6e: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80aad72: f8c7 326c str.w r3, [r7, #620] ; 0x26c if(f <= 0.0f) { 80aad76: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80aad7a: eef5 7ac0 vcmpe.f32 s15, #0.0 80aad7e: eef1 fa10 vmrs APSR_nzcv, fpscr 80aad82: d802 bhi.n 80aad8a f = 100.0f; 80aad84: 4b78 ldr r3, [pc, #480] ; (80aaf68 ) 80aad86: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80aad8a: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80aad8e: 4a77 ldr r2, [pc, #476] ; (80aaf6c ) 80aad90: 6013 str r3, [r2, #0] 80aad92: e041 b.n 80aae18 if(ABS(max) > ABS(min)) f = ABS(max); 80aad94: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aad98: eef5 7ac0 vcmpe.f32 s15, #0.0 80aad9c: eef1 fa10 vmrs APSR_nzcv, fpscr 80aada0: dd02 ble.n 80aada8 80aada2: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80aada6: e003 b.n 80aadb0 80aada8: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aadac: eeb1 7a67 vneg.f32 s14, s15 80aadb0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aadb4: eef5 7ac0 vcmpe.f32 s15, #0.0 80aadb8: eef1 fa10 vmrs APSR_nzcv, fpscr 80aadbc: dd02 ble.n 80aadc4 80aadbe: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aadc2: e003 b.n 80aadcc 80aadc4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aadc8: eef1 7a67 vneg.f32 s15, s15 80aadcc: eeb4 7ae7 vcmpe.f32 s14, s15 80aadd0: eef1 fa10 vmrs APSR_nzcv, fpscr 80aadd4: dd10 ble.n 80aadf8 80aadd6: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aadda: eef5 7ac0 vcmpe.f32 s15, #0.0 80aadde: eef1 fa10 vmrs APSR_nzcv, fpscr 80aade2: dd02 ble.n 80aadea 80aade4: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aade8: e003 b.n 80aadf2 80aadea: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80aadee: eef1 7a67 vneg.f32 s15, s15 80aadf2: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80aadf6: e00f b.n 80aae18 else f = ABS(min); 80aadf8: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aadfc: eef5 7ac0 vcmpe.f32 s15, #0.0 80aae00: eef1 fa10 vmrs APSR_nzcv, fpscr 80aae04: dd02 ble.n 80aae0c 80aae06: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aae0a: e003 b.n 80aae14 80aae0c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80aae10: eef1 7a67 vneg.f32 s15, s15 80aae14: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 100.0f / f; 80aae18: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80aae1c: eddf 6a54 vldr s13, [pc, #336] ; 80aaf70 80aae20: eec6 7a87 vdiv.f32 s15, s13, s14 80aae24: 4b53 ldr r3, [pc, #332] ; (80aaf74 ) 80aae26: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80aae2a: 4b4c ldr r3, [pc, #304] ; (80aaf5c ) 80aae2c: 2200 movs r2, #0 80aae2e: 701a strb r2, [r3, #0] 80aae30: e024 b.n 80aae7c if(ZOOM_IN) 80aae32: 4b51 ldr r3, [pc, #324] ; (80aaf78 ) 80aae34: 781b ldrb r3, [r3, #0] 80aae36: b2db uxtb r3, r3 80aae38: 2b00 cmp r3, #0 80aae3a: d00d beq.n 80aae58 ZOOM_IN = false; 80aae3c: 4b4e ldr r3, [pc, #312] ; (80aaf78 ) 80aae3e: 2200 movs r2, #0 80aae40: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80aae42: 4b4c ldr r3, [pc, #304] ; (80aaf74 ) 80aae44: edd3 7a00 vldr s15, [r3] 80aae48: ed9f 7a4c vldr s14, [pc, #304] ; 80aaf7c 80aae4c: ee67 7a87 vmul.f32 s15, s15, s14 80aae50: 4b48 ldr r3, [pc, #288] ; (80aaf74 ) 80aae52: edc3 7a00 vstr s15, [r3] 80aae56: e011 b.n 80aae7c if(ZOOM_OUT) 80aae58: 4b49 ldr r3, [pc, #292] ; (80aaf80 ) 80aae5a: 781b ldrb r3, [r3, #0] 80aae5c: b2db uxtb r3, r3 80aae5e: 2b00 cmp r3, #0 80aae60: d00c beq.n 80aae7c ZOOM_OUT = false; 80aae62: 4b47 ldr r3, [pc, #284] ; (80aaf80 ) 80aae64: 2200 movs r2, #0 80aae66: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80aae68: 4b42 ldr r3, [pc, #264] ; (80aaf74 ) 80aae6a: edd3 7a00 vldr s15, [r3] 80aae6e: ed9f 7a45 vldr s14, [pc, #276] ; 80aaf84 80aae72: ee67 7a87 vmul.f32 s15, s15, s14 80aae76: 4b3f ldr r3, [pc, #252] ; (80aaf74 ) 80aae78: edc3 7a00 vstr s15, [r3] NumOverdrives = 0; 80aae7c: 4b42 ldr r3, [pc, #264] ; (80aaf88 ) 80aae7e: 2200 movs r2, #0 80aae80: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80aae82: 4942 ldr r1, [pc, #264] ; (80aaf8c ) 80aae84: 4842 ldr r0, [pc, #264] ; (80aaf90 ) 80aae86: f7a8 fcad bl 80537e4 for(i = 0; i < 14; i++) 80aae8a: 2300 movs r3, #0 80aae8c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80aae90: e12f b.n 80ab0f2 mF[MINY] = 0.0f; 80aae92: f04f 0300 mov.w r3, #0 80aae96: f8c7 3278 str.w r3, [r7, #632] ; 0x278 mF[MAXY] = ScrA_f32(i); 80aae9a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aae9e: 009a lsls r2, r3, #2 80aaea0: 4b30 ldr r3, [pc, #192] ; (80aaf64 ) 80aaea2: 4413 add r3, r2 80aaea4: 681b ldr r3, [r3, #0] 80aaea6: f8c7 327c str.w r3, [r7, #636] ; 0x27c thr = 157; 80aaeaa: 239d movs r3, #157 ; 0x9d 80aaeac: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80aaeb0: 4b27 ldr r3, [pc, #156] ; (80aaf50 ) 80aaeb2: 7a9b ldrb r3, [r3, #10] 80aaeb4: b2db uxtb r3, r3 80aaeb6: 2b01 cmp r3, #1 80aaeb8: d174 bne.n 80aafa4 for(j = 0; j < 2; j++) 80aaeba: 2300 movs r3, #0 80aaebc: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aaec0: e013 b.n 80aaeea LinToLog(&mF[j], &mF[j]); 80aaec2: f507 721e add.w r2, r7, #632 ; 0x278 80aaec6: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aaeca: 009b lsls r3, r3, #2 80aaecc: 18d0 adds r0, r2, r3 80aaece: f507 721e add.w r2, r7, #632 ; 0x278 80aaed2: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aaed6: 009b lsls r3, r3, #2 80aaed8: 4413 add r3, r2 80aaeda: 4619 mov r1, r3 80aaedc: f7ba f800 bl 8064ee0 for(j = 0; j < 2; j++) 80aaee0: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aaee4: 3301 adds r3, #1 80aaee6: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80aaeea: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80aaeee: 2b01 cmp r3, #1 80aaef0: d9e7 bls.n 80aaec2 mF[MAXY] = ((mF[MAXY]/* - MIN_Y*/) * ZoomVal)/* + 2.0f*/; 80aaef2: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aaef6: 4b1f ldr r3, [pc, #124] ; (80aaf74 ) 80aaef8: edd3 7a00 vldr s15, [r3] 80aaefc: ee67 7a27 vmul.f32 s15, s14, s15 80aaf00: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aaf04: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aaf08: ed9f 7a22 vldr s14, [pc, #136] ; 80aaf94 80aaf0c: eef4 7ac7 vcmpe.f32 s15, s14 80aaf10: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaf14: dd02 ble.n 80aaf1c 80aaf16: 4b20 ldr r3, [pc, #128] ; (80aaf98 ) 80aaf18: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aaf1c: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aaf20: ed9f 7a1e vldr s14, [pc, #120] ; 80aaf9c 80aaf24: eef4 7ac7 vcmpe.f32 s15, s14 80aaf28: eef1 fa10 vmrs APSR_nzcv, fpscr 80aaf2c: d502 bpl.n 80aaf34 80aaf2e: 4b1c ldr r3, [pc, #112] ; (80aafa0 ) 80aaf30: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80aaf34: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aaf38: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80aaf3c: ee77 7a87 vadd.f32 s15, s15, s14 80aaf40: eefd 7ae7 vcvt.s32.f32 s15, s15 80aaf44: edc7 7a01 vstr s15, [r7, #4] 80aaf48: 88bb ldrh r3, [r7, #4] 80aaf4a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80aaf4e: e059 b.n 80ab004 80aaf50: 20023e60 .word 0x20023e60 80aaf54: 20020d94 .word 0x20020d94 80aaf58: 20020d8e .word 0x20020d8e 80aaf5c: 2002098c .word 0x2002098c 80aaf60: 20025d1a .word 0x20025d1a 80aaf64: 64080000 .word 0x64080000 80aaf68: 42c80000 .word 0x42c80000 80aaf6c: 20021634 .word 0x20021634 80aaf70: 42c80000 .word 0x42c80000 80aaf74: 20020990 .word 0x20020990 80aaf78: 20020f6a .word 0x20020f6a 80aaf7c: 40000005 .word 0x40000005 80aaf80: 20020f69 .word 0x20020f69 80aaf84: 3f000012 .word 0x3f000012 80aaf88: 2002164e .word 0x2002164e 80aaf8c: ff0a0f1f .word 0xff0a0f1f 80aaf90: ff26a01f .word 0xff26a01f 80aaf94: 46fffe00 .word 0x46fffe00 80aaf98: 46fffe00 .word 0x46fffe00 80aaf9c: c6fffe00 .word 0xc6fffe00 80aafa0: c6fffe00 .word 0xc6fffe00 mF[MAXY] *= ZoomVal; 80aafa4: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80aafa8: 4bcd ldr r3, [pc, #820] ; (80ab2e0 ) 80aafaa: edd3 7a00 vldr s15, [r3] 80aafae: ee67 7a27 vmul.f32 s15, s14, s15 80aafb2: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80aafb6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aafba: ed9f 7aca vldr s14, [pc, #808] ; 80ab2e4 80aafbe: eef4 7ac7 vcmpe.f32 s15, s14 80aafc2: eef1 fa10 vmrs APSR_nzcv, fpscr 80aafc6: dd02 ble.n 80aafce 80aafc8: 4bc7 ldr r3, [pc, #796] ; (80ab2e8 ) 80aafca: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80aafce: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aafd2: ed9f 7ac6 vldr s14, [pc, #792] ; 80ab2ec 80aafd6: eef4 7ac7 vcmpe.f32 s15, s14 80aafda: eef1 fa10 vmrs APSR_nzcv, fpscr 80aafde: d502 bpl.n 80aafe6 80aafe0: 4bc3 ldr r3, [pc, #780] ; (80ab2f0 ) 80aafe2: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80aafe6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80aafea: eefd 7ae7 vcvt.s32.f32 s15, s15 80aafee: edc7 7a01 vstr s15, [r7, #4] 80aaff2: 88bb ldrh r3, [r7, #4] 80aaff4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80aaff8: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aaffc: 3301 adds r3, #1 80aaffe: b29b uxth r3, r3 80ab000: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > thr) 80ab004: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ab008: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ab00c: 429a cmp r2, r3 80ab00e: dd09 ble.n 80ab024 pMax = thr; 80ab010: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80ab014: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ab018: 4bb6 ldr r3, [pc, #728] ; (80ab2f4 ) 80ab01a: 781b ldrb r3, [r3, #0] 80ab01c: 3301 adds r3, #1 80ab01e: b2da uxtb r2, r3 80ab020: 4bb4 ldr r3, [pc, #720] ; (80ab2f4 ) 80ab022: 701a strb r2, [r3, #0] if(pMax <= 0) 80ab024: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ab028: 2b00 cmp r3, #0 80ab02a: dc08 bgt.n 80ab03e pMax = 0; 80ab02c: 2300 movs r3, #0 80ab02e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80ab032: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab036: 3301 adds r3, #1 80ab038: b29b uxth r3, r3 80ab03a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + 16*i; 80ab03e: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab042: 011b lsls r3, r3, #4 80ab044: 333e adds r3, #62 ; 0x3e 80ab046: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80ab04a: 4bab ldr r3, [pc, #684] ; (80ab2f8 ) 80ab04c: 681b ldr r3, [r3, #0] 80ab04e: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab052: 429a cmp r2, r3 80ab054: d131 bne.n 80ab0ba if(menupos != Cursor) 80ab056: 4ba9 ldr r3, [pc, #676] ; (80ab2fc ) 80ab058: 781b ldrb r3, [r3, #0] 80ab05a: b2db uxtb r3, r3 80ab05c: 2b06 cmp r3, #6 80ab05e: d004 beq.n 80ab06a LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ab060: 49a7 ldr r1, [pc, #668] ; (80ab300 ) 80ab062: 48a8 ldr r0, [pc, #672] ; (80ab304 ) 80ab064: f7a8 fbbe bl 80537e4 80ab068: e003 b.n 80ab072 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ab06a: 49a5 ldr r1, [pc, #660] ; (80ab300 ) 80ab06c: 48a6 ldr r0, [pc, #664] ; (80ab308 ) 80ab06e: f7a8 fbb9 bl 80537e4 BSP_LCD_DrawLine(x + 8, 44, x + 8, 218); 80ab072: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab076: b29b uxth r3, r3 80ab078: 3308 adds r3, #8 80ab07a: b298 uxth r0, r3 80ab07c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab080: b29b uxth r3, r3 80ab082: 3308 adds r3, #8 80ab084: b29a uxth r2, r3 80ab086: 23da movs r3, #218 ; 0xda 80ab088: 212c movs r1, #44 ; 0x2c 80ab08a: f7a8 fde5 bl 8053c58 LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80ab08e: 499c ldr r1, [pc, #624] ; (80ab300 ) 80ab090: 489e ldr r0, [pc, #632] ; (80ab30c ) 80ab092: f7a8 fba7 bl 80537e4 BSP_LCD_FillRect(x, 219 - pMax, 15, pMax); 80ab096: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab09a: b298 uxth r0, r3 80ab09c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab0a0: f1c3 03db rsb r3, r3, #219 ; 0xdb 80ab0a4: b299 uxth r1, r3 80ab0a6: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab0aa: 220f movs r2, #15 80ab0ac: f7a9 f828 bl 8054100 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ab0b0: 4993 ldr r1, [pc, #588] ; (80ab300 ) 80ab0b2: 4897 ldr r0, [pc, #604] ; (80ab310 ) 80ab0b4: f7a8 fb96 bl 80537e4 80ab0b8: e00c b.n 80ab0d4 BSP_LCD_FillRect(x, 219 - pMax, 15, pMax); 80ab0ba: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab0be: b298 uxth r0, r3 80ab0c0: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab0c4: f1c3 03db rsb r3, r3, #219 ; 0xdb 80ab0c8: b299 uxth r1, r3 80ab0ca: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab0ce: 220f movs r2, #15 80ab0d0: f7a9 f816 bl 8054100 if(pMax > Maximum) 80ab0d4: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ab0d8: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ab0dc: 429a cmp r2, r3 80ab0de: dd03 ble.n 80ab0e8 Maximum = pMax; 80ab0e0: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab0e4: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 14; i++) 80ab0e8: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab0ec: 3301 adds r3, #1 80ab0ee: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab0f2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab0f6: 2b0d cmp r3, #13 80ab0f8: f67f aecb bls.w 80aae92 Maximum = ABS(Maximum); 80ab0fc: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ab100: 2b00 cmp r3, #0 80ab102: bfb8 it lt 80ab104: 425b neglt r3, r3 80ab106: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80ab10a: f000 bec5 b.w 80abe98 if(pardata.SYG == SPEC_THIRD) 80ab10e: 4b81 ldr r3, [pc, #516] ; (80ab314 ) 80ab110: 781b ldrb r3, [r3, #0] 80ab112: b2db uxtb r3, r3 80ab114: 2b07 cmp r3, #7 80ab116: f040 8212 bne.w 80ab53e if(READY_TO_SEE) 80ab11a: 4b7f ldr r3, [pc, #508] ; (80ab318 ) 80ab11c: 781b ldrb r3, [r3, #0] 80ab11e: b2db uxtb r3, r3 80ab120: 2b00 cmp r3, #0 80ab122: f000 86b9 beq.w 80abe98 if(AUTOZOOM) 80ab126: 4b7d ldr r3, [pc, #500] ; (80ab31c ) 80ab128: 781b ldrb r3, [r3, #0] 80ab12a: b2db uxtb r3, r3 80ab12c: 2b00 cmp r3, #0 80ab12e: f000 808e beq.w 80ab24e arm_max_f32(&ScrA_f32(0), 39, &max, &idx); 80ab132: f507 731a add.w r3, r7, #616 ; 0x268 80ab136: f507 721d add.w r2, r7, #628 ; 0x274 80ab13a: 2127 movs r1, #39 ; 0x27 80ab13c: 4878 ldr r0, [pc, #480] ; (80ab320 ) 80ab13e: f01e ffd9 bl 80ca0f4 arm_min_f32(&ScrA_f32(0), 39, &min, &idx); 80ab142: f507 731a add.w r3, r7, #616 ; 0x268 80ab146: f507 721c add.w r2, r7, #624 ; 0x270 80ab14a: 2127 movs r1, #39 ; 0x27 80ab14c: 4874 ldr r0, [pc, #464] ; (80ab320 ) 80ab14e: f01e ff35 bl 80c9fbc if(max != 0.0f) 80ab152: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab156: eef5 7a40 vcmp.f32 s15, #0.0 80ab15a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab15e: d072 beq.n 80ab246 if(pardata.MSH == LOG) 80ab160: 4b6c ldr r3, [pc, #432] ; (80ab314 ) 80ab162: 7a9b ldrb r3, [r3, #10] 80ab164: b2db uxtb r3, r3 80ab166: 2b01 cmp r3, #1 80ab168: d122 bne.n 80ab1b0 LinToLog(&max, &max); 80ab16a: f507 721d add.w r2, r7, #628 ; 0x274 80ab16e: f507 731d add.w r3, r7, #628 ; 0x274 80ab172: 4611 mov r1, r2 80ab174: 4618 mov r0, r3 80ab176: f7b9 feb3 bl 8064ee0 LinToLog(&min, &min); 80ab17a: f507 721c add.w r2, r7, #624 ; 0x270 80ab17e: f507 731c add.w r3, r7, #624 ; 0x270 80ab182: 4611 mov r1, r2 80ab184: 4618 mov r0, r3 80ab186: f7b9 feab bl 8064ee0 f = (max);// - min); 80ab18a: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80ab18e: f8c7 326c str.w r3, [r7, #620] ; 0x26c if(f <= 0.0f) { 80ab192: edd7 7a9b vldr s15, [r7, #620] ; 0x26c 80ab196: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab19a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab19e: d802 bhi.n 80ab1a6 f = 100.0f; 80ab1a0: 4b60 ldr r3, [pc, #384] ; (80ab324 ) 80ab1a2: f8c7 326c str.w r3, [r7, #620] ; 0x26c MIN_Y = min; 80ab1a6: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80ab1aa: 4a5f ldr r2, [pc, #380] ; (80ab328 ) 80ab1ac: 6013 str r3, [r2, #0] 80ab1ae: e041 b.n 80ab234 if(ABS(max) > ABS(min)) f = ABS(max); 80ab1b0: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab1b4: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab1b8: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab1bc: dd02 ble.n 80ab1c4 80ab1be: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80ab1c2: e003 b.n 80ab1cc 80ab1c4: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab1c8: eeb1 7a67 vneg.f32 s14, s15 80ab1cc: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab1d0: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab1d4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab1d8: dd02 ble.n 80ab1e0 80ab1da: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab1de: e003 b.n 80ab1e8 80ab1e0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab1e4: eef1 7a67 vneg.f32 s15, s15 80ab1e8: eeb4 7ae7 vcmpe.f32 s14, s15 80ab1ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab1f0: dd10 ble.n 80ab214 80ab1f2: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab1f6: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab1fa: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab1fe: dd02 ble.n 80ab206 80ab200: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab204: e003 b.n 80ab20e 80ab206: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab20a: eef1 7a67 vneg.f32 s15, s15 80ab20e: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80ab212: e00f b.n 80ab234 else f = ABS(min); 80ab214: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab218: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab21c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab220: dd02 ble.n 80ab228 80ab222: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab226: e003 b.n 80ab230 80ab228: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab22c: eef1 7a67 vneg.f32 s15, s15 80ab230: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 100.0f / f; 80ab234: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80ab238: eddf 6a3c vldr s13, [pc, #240] ; 80ab32c 80ab23c: eec6 7a87 vdiv.f32 s15, s13, s14 80ab240: 4b27 ldr r3, [pc, #156] ; (80ab2e0 ) 80ab242: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80ab246: 4b35 ldr r3, [pc, #212] ; (80ab31c ) 80ab248: 2200 movs r2, #0 80ab24a: 701a strb r2, [r3, #0] 80ab24c: e024 b.n 80ab298 if(ZOOM_IN) 80ab24e: 4b38 ldr r3, [pc, #224] ; (80ab330 ) 80ab250: 781b ldrb r3, [r3, #0] 80ab252: b2db uxtb r3, r3 80ab254: 2b00 cmp r3, #0 80ab256: d00d beq.n 80ab274 ZOOM_IN = false; 80ab258: 4b35 ldr r3, [pc, #212] ; (80ab330 ) 80ab25a: 2200 movs r2, #0 80ab25c: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80ab25e: 4b20 ldr r3, [pc, #128] ; (80ab2e0 ) 80ab260: edd3 7a00 vldr s15, [r3] 80ab264: ed9f 7a33 vldr s14, [pc, #204] ; 80ab334 80ab268: ee67 7a87 vmul.f32 s15, s15, s14 80ab26c: 4b1c ldr r3, [pc, #112] ; (80ab2e0 ) 80ab26e: edc3 7a00 vstr s15, [r3] 80ab272: e011 b.n 80ab298 if(ZOOM_OUT) 80ab274: 4b30 ldr r3, [pc, #192] ; (80ab338 ) 80ab276: 781b ldrb r3, [r3, #0] 80ab278: b2db uxtb r3, r3 80ab27a: 2b00 cmp r3, #0 80ab27c: d00c beq.n 80ab298 ZOOM_OUT = false; 80ab27e: 4b2e ldr r3, [pc, #184] ; (80ab338 ) 80ab280: 2200 movs r2, #0 80ab282: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80ab284: 4b16 ldr r3, [pc, #88] ; (80ab2e0 ) 80ab286: edd3 7a00 vldr s15, [r3] 80ab28a: ed9f 7a2c vldr s14, [pc, #176] ; 80ab33c 80ab28e: ee67 7a87 vmul.f32 s15, s15, s14 80ab292: 4b13 ldr r3, [pc, #76] ; (80ab2e0 ) 80ab294: edc3 7a00 vstr s15, [r3] NumOverdrives = 0; 80ab298: 4b16 ldr r3, [pc, #88] ; (80ab2f4 ) 80ab29a: 2200 movs r2, #0 80ab29c: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ab29e: 4918 ldr r1, [pc, #96] ; (80ab300 ) 80ab2a0: 481b ldr r0, [pc, #108] ; (80ab310 ) 80ab2a2: f7a8 fa9f bl 80537e4 for(i = 0; i < 39; i++) 80ab2a6: 2300 movs r3, #0 80ab2a8: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab2ac: e139 b.n 80ab522 mF[MINY] = 0.0f; 80ab2ae: f04f 0300 mov.w r3, #0 80ab2b2: f8c7 3278 str.w r3, [r7, #632] ; 0x278 mF[MAXY] = ScrA_f32(i); 80ab2b6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab2ba: 009a lsls r2, r3, #2 80ab2bc: 4b18 ldr r3, [pc, #96] ; (80ab320 ) 80ab2be: 4413 add r3, r2 80ab2c0: 681b ldr r3, [r3, #0] 80ab2c2: f8c7 327c str.w r3, [r7, #636] ; 0x27c thr = 157; 80ab2c6: 239d movs r3, #157 ; 0x9d 80ab2c8: f8a7 328a strh.w r3, [r7, #650] ; 0x28a if(pardata.MSH == LOG) 80ab2cc: 4b11 ldr r3, [pc, #68] ; (80ab314 ) 80ab2ce: 7a9b ldrb r3, [r3, #10] 80ab2d0: b2db uxtb r3, r3 80ab2d2: 2b01 cmp r3, #1 80ab2d4: d17b bne.n 80ab3ce for(j = 0; j < 2; j++) 80ab2d6: 2300 movs r3, #0 80ab2d8: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ab2dc: e044 b.n 80ab368 80ab2de: bf00 nop 80ab2e0: 20020990 .word 0x20020990 80ab2e4: 46fffe00 .word 0x46fffe00 80ab2e8: 46fffe00 .word 0x46fffe00 80ab2ec: c6fffe00 .word 0xc6fffe00 80ab2f0: c6fffe00 .word 0xc6fffe00 80ab2f4: 2002164e .word 0x2002164e 80ab2f8: 2002006c .word 0x2002006c 80ab2fc: 20020070 .word 0x20020070 80ab300: ff0a0f1f .word 0xff0a0f1f 80ab304: ff808080 .word 0xff808080 80ab308: ffff0000 .word 0xffff0000 80ab30c: ffffa500 .word 0xffffa500 80ab310: ff26a01f .word 0xff26a01f 80ab314: 20023e60 .word 0x20023e60 80ab318: 20020d8e .word 0x20020d8e 80ab31c: 2002098c .word 0x2002098c 80ab320: 64080000 .word 0x64080000 80ab324: 42c80000 .word 0x42c80000 80ab328: 20021634 .word 0x20021634 80ab32c: 42c80000 .word 0x42c80000 80ab330: 20020f6a .word 0x20020f6a 80ab334: 40000005 .word 0x40000005 80ab338: 20020f69 .word 0x20020f69 80ab33c: 3f000012 .word 0x3f000012 LinToLog(&mF[j], &mF[j]); 80ab340: f507 721e add.w r2, r7, #632 ; 0x278 80ab344: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab348: 009b lsls r3, r3, #2 80ab34a: 18d0 adds r0, r2, r3 80ab34c: f507 721e add.w r2, r7, #632 ; 0x278 80ab350: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab354: 009b lsls r3, r3, #2 80ab356: 4413 add r3, r2 80ab358: 4619 mov r1, r3 80ab35a: f7b9 fdc1 bl 8064ee0 for(j = 0; j < 2; j++) 80ab35e: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab362: 3301 adds r3, #1 80ab364: f8c7 32a8 str.w r3, [r7, #680] ; 0x2a8 80ab368: f8d7 32a8 ldr.w r3, [r7, #680] ; 0x2a8 80ab36c: 2b01 cmp r3, #1 80ab36e: d9e7 bls.n 80ab340 mF[MAXY] = ((mF[MAXY]/* - MIN_Y*/) * ZoomVal)/* + 2.0f*/; 80ab370: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ab374: 4bc6 ldr r3, [pc, #792] ; (80ab690 ) 80ab376: edd3 7a00 vldr s15, [r3] 80ab37a: ee67 7a27 vmul.f32 s15, s14, s15 80ab37e: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ab382: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab386: ed9f 7ac3 vldr s14, [pc, #780] ; 80ab694 80ab38a: eef4 7ac7 vcmpe.f32 s15, s14 80ab38e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab392: dd02 ble.n 80ab39a 80ab394: 4bc0 ldr r3, [pc, #768] ; (80ab698 ) 80ab396: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ab39a: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab39e: ed9f 7abf vldr s14, [pc, #764] ; 80ab69c 80ab3a2: eef4 7ac7 vcmpe.f32 s15, s14 80ab3a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab3aa: d502 bpl.n 80ab3b2 80ab3ac: 4bbc ldr r3, [pc, #752] ; (80ab6a0 ) 80ab3ae: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) (mF[MAXY] + 0.5f); 80ab3b2: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab3b6: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80ab3ba: ee77 7a87 vadd.f32 s15, s15, s14 80ab3be: eefd 7ae7 vcvt.s32.f32 s15, s15 80ab3c2: edc7 7a01 vstr s15, [r7, #4] 80ab3c6: 88bb ldrh r3, [r7, #4] 80ab3c8: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 80ab3cc: e02f b.n 80ab42e mF[MAXY] *= ZoomVal; 80ab3ce: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ab3d2: 4baf ldr r3, [pc, #700] ; (80ab690 ) 80ab3d4: edd3 7a00 vldr s15, [r3] 80ab3d8: ee67 7a27 vmul.f32 s15, s14, s15 80ab3dc: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ab3e0: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab3e4: ed9f 7aab vldr s14, [pc, #684] ; 80ab694 80ab3e8: eef4 7ac7 vcmpe.f32 s15, s14 80ab3ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab3f0: dd02 ble.n 80ab3f8 80ab3f2: 4ba9 ldr r3, [pc, #676] ; (80ab698 ) 80ab3f4: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ab3f8: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab3fc: ed9f 7aa7 vldr s14, [pc, #668] ; 80ab69c 80ab400: eef4 7ac7 vcmpe.f32 s15, s14 80ab404: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab408: d502 bpl.n 80ab410 80ab40a: 4ba5 ldr r3, [pc, #660] ; (80ab6a0 ) 80ab40c: f8c7 327c str.w r3, [r7, #636] ; 0x27c pMax = (int16_t) mF[MAXY]; 80ab410: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab414: eefd 7ae7 vcvt.s32.f32 s15, s15 80ab418: edc7 7a01 vstr s15, [r7, #4] 80ab41c: 88bb ldrh r3, [r7, #4] 80ab41e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80ab422: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab426: 3301 adds r3, #1 80ab428: b29b uxth r3, r3 80ab42a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 if(pMax > thr) 80ab42e: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ab432: f9b7 328a ldrsh.w r3, [r7, #650] ; 0x28a 80ab436: 429a cmp r2, r3 80ab438: dd09 ble.n 80ab44e pMax = thr; 80ab43a: f8b7 328a ldrh.w r3, [r7, #650] ; 0x28a 80ab43e: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ab442: 4b98 ldr r3, [pc, #608] ; (80ab6a4 ) 80ab444: 781b ldrb r3, [r3, #0] 80ab446: 3301 adds r3, #1 80ab448: b2da uxtb r2, r3 80ab44a: 4b96 ldr r3, [pc, #600] ; (80ab6a4 ) 80ab44c: 701a strb r2, [r3, #0] if(pMax <= 0) 80ab44e: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ab452: 2b00 cmp r3, #0 80ab454: dc08 bgt.n 80ab468 pMax = 0; 80ab456: 2300 movs r3, #0 80ab458: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMax += 1; 80ab45c: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab460: 3301 adds r3, #1 80ab462: b29b uxth r3, r3 80ab464: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 x = 62 + 6*i; 80ab468: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab46c: 4613 mov r3, r2 80ab46e: 005b lsls r3, r3, #1 80ab470: 4413 add r3, r2 80ab472: 005b lsls r3, r3, #1 80ab474: 333e adds r3, #62 ; 0x3e 80ab476: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == CURSOR) 80ab47a: 4b8b ldr r3, [pc, #556] ; (80ab6a8 ) 80ab47c: 681b ldr r3, [r3, #0] 80ab47e: f8d7 22ac ldr.w r2, [r7, #684] ; 0x2ac 80ab482: 429a cmp r2, r3 80ab484: d131 bne.n 80ab4ea if(menupos != Cursor) 80ab486: 4b89 ldr r3, [pc, #548] ; (80ab6ac ) 80ab488: 781b ldrb r3, [r3, #0] 80ab48a: b2db uxtb r3, r3 80ab48c: 2b06 cmp r3, #6 80ab48e: d004 beq.n 80ab49a LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ab490: 4987 ldr r1, [pc, #540] ; (80ab6b0 ) 80ab492: 4888 ldr r0, [pc, #544] ; (80ab6b4 ) 80ab494: f7a8 f9a6 bl 80537e4 80ab498: e003 b.n 80ab4a2 else LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ab49a: 4985 ldr r1, [pc, #532] ; (80ab6b0 ) 80ab49c: 4886 ldr r0, [pc, #536] ; (80ab6b8 ) 80ab49e: f7a8 f9a1 bl 80537e4 BSP_LCD_DrawLine(x + 2, 44, x + 2, 218); 80ab4a2: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab4a6: b29b uxth r3, r3 80ab4a8: 3302 adds r3, #2 80ab4aa: b298 uxth r0, r3 80ab4ac: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab4b0: b29b uxth r3, r3 80ab4b2: 3302 adds r3, #2 80ab4b4: b29a uxth r2, r3 80ab4b6: 23da movs r3, #218 ; 0xda 80ab4b8: 212c movs r1, #44 ; 0x2c 80ab4ba: f7a8 fbcd bl 8053c58 LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80ab4be: 497c ldr r1, [pc, #496] ; (80ab6b0 ) 80ab4c0: 487e ldr r0, [pc, #504] ; (80ab6bc ) 80ab4c2: f7a8 f98f bl 80537e4 BSP_LCD_FillRect(x, 219 - pMax, 5, pMax); 80ab4c6: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab4ca: b298 uxth r0, r3 80ab4cc: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab4d0: f1c3 03db rsb r3, r3, #219 ; 0xdb 80ab4d4: b299 uxth r1, r3 80ab4d6: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab4da: 2205 movs r2, #5 80ab4dc: f7a8 fe10 bl 8054100 LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ab4e0: 4973 ldr r1, [pc, #460] ; (80ab6b0 ) 80ab4e2: 4877 ldr r0, [pc, #476] ; (80ab6c0 ) 80ab4e4: f7a8 f97e bl 80537e4 80ab4e8: e00c b.n 80ab504 BSP_LCD_FillRect(x, 219 - pMax, 5, pMax); 80ab4ea: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab4ee: b298 uxth r0, r3 80ab4f0: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab4f4: f1c3 03db rsb r3, r3, #219 ; 0xdb 80ab4f8: b299 uxth r1, r3 80ab4fa: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab4fe: 2205 movs r2, #5 80ab500: f7a8 fdfe bl 8054100 if(pMax > Maximum) 80ab504: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80ab508: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ab50c: 429a cmp r2, r3 80ab50e: dd03 ble.n 80ab518 Maximum = pMax; 80ab510: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab514: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 for(i = 0; i < 39; i++) 80ab518: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab51c: 3301 adds r3, #1 80ab51e: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab522: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab526: 2b26 cmp r3, #38 ; 0x26 80ab528: f67f aec1 bls.w 80ab2ae Maximum = ABS(Maximum); 80ab52c: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80ab530: 2b00 cmp r3, #0 80ab532: bfb8 it lt 80ab534: 425b neglt r3, r3 80ab536: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 } 80ab53a: f000 bcad b.w 80abe98 if(pardata.SYG == OSC) 80ab53e: 4b61 ldr r3, [pc, #388] ; (80ab6c4 ) 80ab540: 781b ldrb r3, [r3, #0] 80ab542: b2db uxtb r3, r3 80ab544: 2b02 cmp r3, #2 80ab546: f040 84a7 bne.w 80abe98 if(!timeRelax) 80ab54a: 4b5f ldr r3, [pc, #380] ; (80ab6c8 ) 80ab54c: 681b ldr r3, [r3, #0] 80ab54e: 2b00 cmp r3, #0 80ab550: f040 84a2 bne.w 80abe98 if(AUTOZOOM) 80ab554: 4b5d ldr r3, [pc, #372] ; (80ab6cc ) 80ab556: 781b ldrb r3, [r3, #0] 80ab558: b2db uxtb r3, r3 80ab55a: 2b00 cmp r3, #0 80ab55c: f000 8121 beq.w 80ab7a2 if(pardata.IPR > ACC) 80ab560: 4b58 ldr r3, [pc, #352] ; (80ab6c4 ) 80ab562: 785b ldrb r3, [r3, #1] 80ab564: b2db uxtb r3, r3 80ab566: 2b00 cmp r3, #0 80ab568: d030 beq.n 80ab5cc arm_max_f32(&ScrA_f32(lX), /*6656*/rX-lX-1, &max, &idx); 80ab56a: 4b59 ldr r3, [pc, #356] ; (80ab6d0 ) 80ab56c: 881b ldrh r3, [r3, #0] 80ab56e: b29b uxth r3, r3 80ab570: 009b lsls r3, r3, #2 80ab572: 461a mov r2, r3 80ab574: 4b57 ldr r3, [pc, #348] ; (80ab6d4 ) 80ab576: 4413 add r3, r2 80ab578: 4618 mov r0, r3 80ab57a: 4b57 ldr r3, [pc, #348] ; (80ab6d8 ) 80ab57c: 881b ldrh r3, [r3, #0] 80ab57e: b29b uxth r3, r3 80ab580: 461a mov r2, r3 80ab582: 4b53 ldr r3, [pc, #332] ; (80ab6d0 ) 80ab584: 881b ldrh r3, [r3, #0] 80ab586: b29b uxth r3, r3 80ab588: 1ad3 subs r3, r2, r3 80ab58a: 3b01 subs r3, #1 80ab58c: 4619 mov r1, r3 80ab58e: f507 731a add.w r3, r7, #616 ; 0x268 80ab592: f507 721d add.w r2, r7, #628 ; 0x274 80ab596: f01e fdad bl 80ca0f4 arm_min_f32(&ScrA_f32(lX), /*6656*/rX-lX-1, &min, &idx); 80ab59a: 4b4d ldr r3, [pc, #308] ; (80ab6d0 ) 80ab59c: 881b ldrh r3, [r3, #0] 80ab59e: b29b uxth r3, r3 80ab5a0: 009b lsls r3, r3, #2 80ab5a2: 461a mov r2, r3 80ab5a4: 4b4b ldr r3, [pc, #300] ; (80ab6d4 ) 80ab5a6: 4413 add r3, r2 80ab5a8: 4618 mov r0, r3 80ab5aa: 4b4b ldr r3, [pc, #300] ; (80ab6d8 ) 80ab5ac: 881b ldrh r3, [r3, #0] 80ab5ae: b29b uxth r3, r3 80ab5b0: 461a mov r2, r3 80ab5b2: 4b47 ldr r3, [pc, #284] ; (80ab6d0 ) 80ab5b4: 881b ldrh r3, [r3, #0] 80ab5b6: b29b uxth r3, r3 80ab5b8: 1ad3 subs r3, r2, r3 80ab5ba: 3b01 subs r3, #1 80ab5bc: 4619 mov r1, r3 80ab5be: f507 731a add.w r3, r7, #616 ; 0x268 80ab5c2: f507 721c add.w r2, r7, #624 ; 0x270 80ab5c6: f01e fcf9 bl 80c9fbc 80ab5ca: e02f b.n 80ab62c arm_max_f32(&ScrA_f32(lX), rX-lX-1, &max, &idx); 80ab5cc: 4b40 ldr r3, [pc, #256] ; (80ab6d0 ) 80ab5ce: 881b ldrh r3, [r3, #0] 80ab5d0: b29b uxth r3, r3 80ab5d2: 009b lsls r3, r3, #2 80ab5d4: 461a mov r2, r3 80ab5d6: 4b3f ldr r3, [pc, #252] ; (80ab6d4 ) 80ab5d8: 4413 add r3, r2 80ab5da: 4618 mov r0, r3 80ab5dc: 4b3e ldr r3, [pc, #248] ; (80ab6d8 ) 80ab5de: 881b ldrh r3, [r3, #0] 80ab5e0: b29b uxth r3, r3 80ab5e2: 461a mov r2, r3 80ab5e4: 4b3a ldr r3, [pc, #232] ; (80ab6d0 ) 80ab5e6: 881b ldrh r3, [r3, #0] 80ab5e8: b29b uxth r3, r3 80ab5ea: 1ad3 subs r3, r2, r3 80ab5ec: 3b01 subs r3, #1 80ab5ee: 4619 mov r1, r3 80ab5f0: f507 731a add.w r3, r7, #616 ; 0x268 80ab5f4: f507 721d add.w r2, r7, #628 ; 0x274 80ab5f8: f01e fd7c bl 80ca0f4 arm_min_f32(&ScrA_f32(lX), rX-lX-1, &min, &idx); 80ab5fc: 4b34 ldr r3, [pc, #208] ; (80ab6d0 ) 80ab5fe: 881b ldrh r3, [r3, #0] 80ab600: b29b uxth r3, r3 80ab602: 009b lsls r3, r3, #2 80ab604: 461a mov r2, r3 80ab606: 4b33 ldr r3, [pc, #204] ; (80ab6d4 ) 80ab608: 4413 add r3, r2 80ab60a: 4618 mov r0, r3 80ab60c: 4b32 ldr r3, [pc, #200] ; (80ab6d8 ) 80ab60e: 881b ldrh r3, [r3, #0] 80ab610: b29b uxth r3, r3 80ab612: 461a mov r2, r3 80ab614: 4b2e ldr r3, [pc, #184] ; (80ab6d0 ) 80ab616: 881b ldrh r3, [r3, #0] 80ab618: b29b uxth r3, r3 80ab61a: 1ad3 subs r3, r2, r3 80ab61c: 3b01 subs r3, #1 80ab61e: 4619 mov r1, r3 80ab620: f507 731a add.w r3, r7, #616 ; 0x268 80ab624: f507 721c add.w r2, r7, #624 ; 0x270 80ab628: f01e fcc8 bl 80c9fbc if(ABS(max) > ABS(min)) 80ab62c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab630: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab634: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab638: dd02 ble.n 80ab640 80ab63a: ed97 7a9d vldr s14, [r7, #628] ; 0x274 80ab63e: e003 b.n 80ab648 80ab640: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab644: eeb1 7a67 vneg.f32 s14, s15 80ab648: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab64c: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab650: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab654: dd02 ble.n 80ab65c 80ab656: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab65a: e003 b.n 80ab664 80ab65c: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab660: eef1 7a67 vneg.f32 s15, s15 80ab664: eeb4 7ae7 vcmpe.f32 s14, s15 80ab668: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab66c: dd38 ble.n 80ab6e0 f = ABS(max); 80ab66e: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab672: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab676: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab67a: dd02 ble.n 80ab682 80ab67c: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab680: e003 b.n 80ab68a 80ab682: edd7 7a9d vldr s15, [r7, #628] ; 0x274 80ab686: eef1 7a67 vneg.f32 s15, s15 80ab68a: edc7 7a9b vstr s15, [r7, #620] ; 0x26c 80ab68e: e037 b.n 80ab700 80ab690: 20020990 .word 0x20020990 80ab694: 46fffe00 .word 0x46fffe00 80ab698: 46fffe00 .word 0x46fffe00 80ab69c: c6fffe00 .word 0xc6fffe00 80ab6a0: c6fffe00 .word 0xc6fffe00 80ab6a4: 2002164e .word 0x2002164e 80ab6a8: 2002006c .word 0x2002006c 80ab6ac: 20020070 .word 0x20020070 80ab6b0: ff0a0f1f .word 0xff0a0f1f 80ab6b4: ff808080 .word 0xff808080 80ab6b8: ffff0000 .word 0xffff0000 80ab6bc: ffffa500 .word 0xffffa500 80ab6c0: ff26a01f .word 0xff26a01f 80ab6c4: 20023e60 .word 0x20023e60 80ab6c8: 20020d6c .word 0x20020d6c 80ab6cc: 2002098c .word 0x2002098c 80ab6d0: 20025d1a .word 0x20025d1a 80ab6d4: 64080000 .word 0x64080000 80ab6d8: 20025d20 .word 0x20025d20 80ab6dc: 42480000 .word 0x42480000 else f = ABS(min); 80ab6e0: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab6e4: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab6e8: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab6ec: dd02 ble.n 80ab6f4 80ab6ee: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab6f2: e003 b.n 80ab6fc 80ab6f4: edd7 7a9c vldr s15, [r7, #624] ; 0x270 80ab6f8: eef1 7a67 vneg.f32 s15, s15 80ab6fc: edc7 7a9b vstr s15, [r7, #620] ; 0x26c ZoomVal = 50.0f / f; 80ab700: ed97 7a9b vldr s14, [r7, #620] ; 0x26c 80ab704: ed5f 6a0b vldr s13, [pc, #-44] ; 80ab6dc 80ab708: eec6 7a87 vdiv.f32 s15, s13, s14 80ab70c: 4bbf ldr r3, [pc, #764] ; (80aba0c ) 80ab70e: edc3 7a00 vstr s15, [r3] AUTOZOOM = false; 80ab712: 4bbf ldr r3, [pc, #764] ; (80aba10 ) 80ab714: 2200 movs r2, #0 80ab716: 701a strb r2, [r3, #0] LEGEND[0] = min; 80ab718: f8d7 3270 ldr.w r3, [r7, #624] ; 0x270 80ab71c: 4abd ldr r2, [pc, #756] ; (80aba14 ) 80ab71e: 6013 str r3, [r2, #0] LEGEND[1] = 0.0f; 80ab720: 4bbc ldr r3, [pc, #752] ; (80aba14 ) 80ab722: f04f 0200 mov.w r2, #0 80ab726: 605a str r2, [r3, #4] LEGEND[2] = max; 80ab728: f8d7 3274 ldr.w r3, [r7, #628] ; 0x274 80ab72c: 4ab9 ldr r2, [pc, #740] ; (80aba14 ) 80ab72e: 6093 str r3, [r2, #8] if(ABS(LEGEND[2]) > ABS(LEGEND[0])) 80ab730: 4bb8 ldr r3, [pc, #736] ; (80aba14 ) 80ab732: edd3 7a02 vldr s15, [r3, #8] 80ab736: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab73a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab73e: dd03 ble.n 80ab748 80ab740: 4bb4 ldr r3, [pc, #720] ; (80aba14 ) 80ab742: ed93 7a02 vldr s14, [r3, #8] 80ab746: e004 b.n 80ab752 80ab748: 4bb2 ldr r3, [pc, #712] ; (80aba14 ) 80ab74a: edd3 7a02 vldr s15, [r3, #8] 80ab74e: eeb1 7a67 vneg.f32 s14, s15 80ab752: 4bb0 ldr r3, [pc, #704] ; (80aba14 ) 80ab754: edd3 7a00 vldr s15, [r3] 80ab758: eef5 7ac0 vcmpe.f32 s15, #0.0 80ab75c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab760: dd03 ble.n 80ab76a 80ab762: 4bac ldr r3, [pc, #688] ; (80aba14 ) 80ab764: edd3 7a00 vldr s15, [r3] 80ab768: e004 b.n 80ab774 80ab76a: 4baa ldr r3, [pc, #680] ; (80aba14 ) 80ab76c: edd3 7a00 vldr s15, [r3] 80ab770: eef1 7a67 vneg.f32 s15, s15 80ab774: eeb4 7ae7 vcmpe.f32 s14, s15 80ab778: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab77c: dd08 ble.n 80ab790 LEGEND[0] = -LEGEND[2]; 80ab77e: 4ba5 ldr r3, [pc, #660] ; (80aba14 ) 80ab780: edd3 7a02 vldr s15, [r3, #8] 80ab784: eef1 7a67 vneg.f32 s15, s15 80ab788: 4ba2 ldr r3, [pc, #648] ; (80aba14 ) 80ab78a: edc3 7a00 vstr s15, [r3] 80ab78e: e055 b.n 80ab83c else LEGEND[2] = -LEGEND[0]; 80ab790: 4ba0 ldr r3, [pc, #640] ; (80aba14 ) 80ab792: edd3 7a00 vldr s15, [r3] 80ab796: eef1 7a67 vneg.f32 s15, s15 80ab79a: 4b9e ldr r3, [pc, #632] ; (80aba14 ) 80ab79c: edc3 7a02 vstr s15, [r3, #8] 80ab7a0: e04c b.n 80ab83c if(ZOOM_IN) 80ab7a2: 4b9d ldr r3, [pc, #628] ; (80aba18 ) 80ab7a4: 781b ldrb r3, [r3, #0] 80ab7a6: b2db uxtb r3, r3 80ab7a8: 2b00 cmp r3, #0 80ab7aa: d021 beq.n 80ab7f0 ZOOM_IN = false; 80ab7ac: 4b9a ldr r3, [pc, #616] ; (80aba18 ) 80ab7ae: 2200 movs r2, #0 80ab7b0: 701a strb r2, [r3, #0] ZoomVal *= 2.0000011f; 80ab7b2: 4b96 ldr r3, [pc, #600] ; (80aba0c ) 80ab7b4: edd3 7a00 vldr s15, [r3] 80ab7b8: ed9f 7a98 vldr s14, [pc, #608] ; 80aba1c 80ab7bc: ee67 7a87 vmul.f32 s15, s15, s14 80ab7c0: 4b92 ldr r3, [pc, #584] ; (80aba0c ) 80ab7c2: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 0.5000011f; 80ab7c6: 4b93 ldr r3, [pc, #588] ; (80aba14 ) 80ab7c8: edd3 7a00 vldr s15, [r3] 80ab7cc: ed9f 7a94 vldr s14, [pc, #592] ; 80aba20 80ab7d0: ee67 7a87 vmul.f32 s15, s15, s14 80ab7d4: 4b8f ldr r3, [pc, #572] ; (80aba14 ) 80ab7d6: edc3 7a00 vstr s15, [r3] LEGEND[2] *= 0.5000011f; 80ab7da: 4b8e ldr r3, [pc, #568] ; (80aba14 ) 80ab7dc: edd3 7a02 vldr s15, [r3, #8] 80ab7e0: ed9f 7a8f vldr s14, [pc, #572] ; 80aba20 80ab7e4: ee67 7a87 vmul.f32 s15, s15, s14 80ab7e8: 4b8a ldr r3, [pc, #552] ; (80aba14 ) 80ab7ea: edc3 7a02 vstr s15, [r3, #8] 80ab7ee: e025 b.n 80ab83c if(ZOOM_OUT) 80ab7f0: 4b8c ldr r3, [pc, #560] ; (80aba24 ) 80ab7f2: 781b ldrb r3, [r3, #0] 80ab7f4: b2db uxtb r3, r3 80ab7f6: 2b00 cmp r3, #0 80ab7f8: d020 beq.n 80ab83c ZOOM_OUT = false; 80ab7fa: 4b8a ldr r3, [pc, #552] ; (80aba24 ) 80ab7fc: 2200 movs r2, #0 80ab7fe: 701a strb r2, [r3, #0] ZoomVal *= 0.5000011f; 80ab800: 4b82 ldr r3, [pc, #520] ; (80aba0c ) 80ab802: edd3 7a00 vldr s15, [r3] 80ab806: ed9f 7a86 vldr s14, [pc, #536] ; 80aba20 80ab80a: ee67 7a87 vmul.f32 s15, s15, s14 80ab80e: 4b7f ldr r3, [pc, #508] ; (80aba0c ) 80ab810: edc3 7a00 vstr s15, [r3] LEGEND[0] *= 2.0000011f; 80ab814: 4b7f ldr r3, [pc, #508] ; (80aba14 ) 80ab816: edd3 7a00 vldr s15, [r3] 80ab81a: ed9f 7a80 vldr s14, [pc, #512] ; 80aba1c 80ab81e: ee67 7a87 vmul.f32 s15, s15, s14 80ab822: 4b7c ldr r3, [pc, #496] ; (80aba14 ) 80ab824: edc3 7a00 vstr s15, [r3] LEGEND[2] *= 2.0000011f; 80ab828: 4b7a ldr r3, [pc, #488] ; (80aba14 ) 80ab82a: edd3 7a02 vldr s15, [r3, #8] 80ab82e: ed9f 7a7b vldr s14, [pc, #492] ; 80aba1c 80ab832: ee67 7a87 vmul.f32 s15, s15, s14 80ab836: 4b77 ldr r3, [pc, #476] ; (80aba14 ) 80ab838: edc3 7a02 vstr s15, [r3, #8] NumOverdrives = 0; 80ab83c: 4b7a ldr r3, [pc, #488] ; (80aba28 ) 80ab83e: 2200 movs r2, #0 80ab840: 701a strb r2, [r3, #0] LCD_SetColors(LCD_COLOR_MYGREEN, LCD_COLOR_BLACK); 80ab842: 497a ldr r1, [pc, #488] ; (80aba2c ) 80ab844: 487a ldr r0, [pc, #488] ; (80aba30 ) 80ab846: f7a7 ffcd bl 80537e4 for(i = 0; i < 256; i++) 80ab84a: 2300 movs r3, #0 80ab84c: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80ab850: e233 b.n 80abcba k = avgOSC[ViewLevel][pardata.LNE]; 80ab852: 4b78 ldr r3, [pc, #480] ; (80aba34 ) 80ab854: 781b ldrb r3, [r3, #0] 80ab856: b2db uxtb r3, r3 80ab858: 4619 mov r1, r3 80ab85a: 4b77 ldr r3, [pc, #476] ; (80aba38 ) 80ab85c: 79db ldrb r3, [r3, #7] 80ab85e: b2db uxtb r3, r3 80ab860: 4618 mov r0, r3 80ab862: 4a76 ldr r2, [pc, #472] ; (80aba3c ) 80ab864: 460b mov r3, r1 80ab866: 009b lsls r3, r3, #2 80ab868: 440b add r3, r1 80ab86a: 4413 add r3, r2 80ab86c: 4403 add r3, r0 80ab86e: 781b ldrb r3, [r3, #0] 80ab870: f8c7 32a0 str.w r3, [r7, #672] ; 0x2a0 if(k == 1) 80ab874: f8d7 32a0 ldr.w r3, [r7, #672] ; 0x2a0 80ab878: 2b01 cmp r3, #1 80ab87a: f040 8104 bne.w 80aba86 mF[MAXY] = ScrA_f32(i + X0); 80ab87e: 4b70 ldr r3, [pc, #448] ; (80aba40 ) 80ab880: 881b ldrh r3, [r3, #0] 80ab882: b29b uxth r3, r3 80ab884: 461a mov r2, r3 80ab886: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab88a: 4413 add r3, r2 80ab88c: 009a lsls r2, r3, #2 80ab88e: 4b6d ldr r3, [pc, #436] ; (80aba44 ) 80ab890: 4413 add r3, r2 80ab892: 681b ldr r3, [r3, #0] 80ab894: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(i > 0) 80ab898: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab89c: 2b00 cmp r3, #0 80ab89e: d004 beq.n 80ab8aa mF[MINY] = lastPointOSC[MAXY]; 80ab8a0: 4b69 ldr r3, [pc, #420] ; (80aba48 ) 80ab8a2: 685b ldr r3, [r3, #4] 80ab8a4: f8c7 3278 str.w r3, [r7, #632] ; 0x278 80ab8a8: e003 b.n 80ab8b2 else mF[MINY] = mF[MAXY]; 80ab8aa: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80ab8ae: f8c7 3278 str.w r3, [r7, #632] ; 0x278 lastPointOSC[MAXY] = mF[MAXY]; 80ab8b2: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80ab8b6: 4a64 ldr r2, [pc, #400] ; (80aba48 ) 80ab8b8: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80ab8ba: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80ab8be: 4b53 ldr r3, [pc, #332] ; (80aba0c ) 80ab8c0: edd3 7a00 vldr s15, [r3] 80ab8c4: ee67 7a27 vmul.f32 s15, s14, s15 80ab8c8: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80ab8cc: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80ab8d0: 4b4e ldr r3, [pc, #312] ; (80aba0c ) 80ab8d2: edd3 7a00 vldr s15, [r3] 80ab8d6: ee67 7a27 vmul.f32 s15, s14, s15 80ab8da: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80ab8de: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab8e2: ed9f 7a5a vldr s14, [pc, #360] ; 80aba4c 80ab8e6: eef4 7ac7 vcmpe.f32 s15, s14 80ab8ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab8ee: dd02 ble.n 80ab8f6 80ab8f0: 4b57 ldr r3, [pc, #348] ; (80aba50 ) 80ab8f2: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80ab8f6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab8fa: ed9f 7a56 vldr s14, [pc, #344] ; 80aba54 80ab8fe: eef4 7ac7 vcmpe.f32 s15, s14 80ab902: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab906: d502 bpl.n 80ab90e 80ab908: 4b53 ldr r3, [pc, #332] ; (80aba58 ) 80ab90a: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80ab90e: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80ab912: ed9f 7a4e vldr s14, [pc, #312] ; 80aba4c 80ab916: eef4 7ac7 vcmpe.f32 s15, s14 80ab91a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab91e: dd02 ble.n 80ab926 80ab920: 4b4b ldr r3, [pc, #300] ; (80aba50 ) 80ab922: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80ab926: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80ab92a: ed9f 7a4a vldr s14, [pc, #296] ; 80aba54 80ab92e: eef4 7ac7 vcmpe.f32 s15, s14 80ab932: eef1 fa10 vmrs APSR_nzcv, fpscr 80ab936: d502 bpl.n 80ab93e 80ab938: 4b47 ldr r3, [pc, #284] ; (80aba58 ) 80ab93a: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80ab93e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80ab942: eefd 7ae7 vcvt.s32.f32 s15, s15 80ab946: edc7 7a01 vstr s15, [r7, #4] 80ab94a: 88bb ldrh r3, [r7, #4] 80ab94c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80ab950: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80ab954: eefd 7ae7 vcvt.s32.f32 s15, s15 80ab958: edc7 7a01 vstr s15, [r7, #4] 80ab95c: 88bb ldrh r3, [r7, #4] 80ab95e: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80ab962: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80ab966: 2b50 cmp r3, #80 ; 0x50 80ab968: dd08 ble.n 80ab97c pMin = 80; 80ab96a: 2350 movs r3, #80 ; 0x50 80ab96c: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80ab970: 4b2d ldr r3, [pc, #180] ; (80aba28 ) 80ab972: 781b ldrb r3, [r3, #0] 80ab974: 3301 adds r3, #1 80ab976: b2da uxtb r2, r3 80ab978: 4b2b ldr r3, [pc, #172] ; (80aba28 ) 80ab97a: 701a strb r2, [r3, #0] if(pMin < -80) 80ab97c: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80ab980: f113 0f50 cmn.w r3, #80 ; 0x50 80ab984: da09 bge.n 80ab99a pMin = -80; 80ab986: f64f 73b0 movw r3, #65456 ; 0xffb0 80ab98a: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80ab98e: 4b26 ldr r3, [pc, #152] ; (80aba28 ) 80ab990: 781b ldrb r3, [r3, #0] 80ab992: 3301 adds r3, #1 80ab994: b2da uxtb r2, r3 80ab996: 4b24 ldr r3, [pc, #144] ; (80aba28 ) 80ab998: 701a strb r2, [r3, #0] if(pMax > 80) 80ab99a: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ab99e: 2b50 cmp r3, #80 ; 0x50 80ab9a0: dd08 ble.n 80ab9b4 pMax = 80; 80ab9a2: 2350 movs r3, #80 ; 0x50 80ab9a4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ab9a8: 4b1f ldr r3, [pc, #124] ; (80aba28 ) 80ab9aa: 781b ldrb r3, [r3, #0] 80ab9ac: 3301 adds r3, #1 80ab9ae: b2da uxtb r2, r3 80ab9b0: 4b1d ldr r3, [pc, #116] ; (80aba28 ) 80ab9b2: 701a strb r2, [r3, #0] if(pMax < -80) 80ab9b4: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80ab9b8: f113 0f50 cmn.w r3, #80 ; 0x50 80ab9bc: da09 bge.n 80ab9d2 pMax = -80; 80ab9be: f64f 73b0 movw r3, #65456 ; 0xffb0 80ab9c2: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80ab9c6: 4b18 ldr r3, [pc, #96] ; (80aba28 ) 80ab9c8: 781b ldrb r3, [r3, #0] 80ab9ca: 3301 adds r3, #1 80ab9cc: b2da uxtb r2, r3 80ab9ce: 4b16 ldr r3, [pc, #88] ; (80aba28 ) 80ab9d0: 701a strb r2, [r3, #0] x = 62 + i; 80ab9d2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab9d6: 333e adds r3, #62 ; 0x3e 80ab9d8: f8c7 3294 str.w r3, [r7, #660] ; 0x294 if(i == 0) 80ab9dc: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ab9e0: 2b00 cmp r3, #0 80ab9e2: d13b bne.n 80aba5c BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80ab9e4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab9e8: b298 uxth r0, r3 80ab9ea: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80ab9ee: f1c3 038d rsb r3, r3, #141 ; 0x8d 80ab9f2: b299 uxth r1, r3 80ab9f4: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80ab9f8: b29a uxth r2, r3 80ab9fa: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80ab9fe: f1c3 038d rsb r3, r3, #141 ; 0x8d 80aba02: b29b uxth r3, r3 80aba04: f7a8 f928 bl 8053c58 80aba08: e13e b.n 80abc88 80aba0a: bf00 nop 80aba0c: 20020990 .word 0x20020990 80aba10: 2002098c .word 0x2002098c 80aba14: 200685bc .word 0x200685bc 80aba18: 20020f6a .word 0x20020f6a 80aba1c: 40000005 .word 0x40000005 80aba20: 3f000012 .word 0x3f000012 80aba24: 20020f69 .word 0x20020f69 80aba28: 2002164e .word 0x2002164e 80aba2c: ff0a0f1f .word 0xff0a0f1f 80aba30: ff26a01f .word 0xff26a01f 80aba34: 20020f74 .word 0x20020f74 80aba38: 20023e60 .word 0x20023e60 80aba3c: 080ef628 .word 0x080ef628 80aba40: 20025d1e .word 0x20025d1e 80aba44: 64080000 .word 0x64080000 80aba48: 20021650 .word 0x20021650 80aba4c: 46fffe00 .word 0x46fffe00 80aba50: 46fffe00 .word 0x46fffe00 80aba54: c6fffe00 .word 0xc6fffe00 80aba58: c6fffe00 .word 0xc6fffe00 else BSP_LCD_DrawLine(x - 1, 141 - pMin, x, 141 - pMax); 80aba5c: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aba60: b29b uxth r3, r3 80aba62: 3b01 subs r3, #1 80aba64: b298 uxth r0, r3 80aba66: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80aba6a: f1c3 038d rsb r3, r3, #141 ; 0x8d 80aba6e: b299 uxth r1, r3 80aba70: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80aba74: b29a uxth r2, r3 80aba76: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80aba7a: f1c3 038d rsb r3, r3, #141 ; 0x8d 80aba7e: b29b uxth r3, r3 80aba80: f7a8 f8ea bl 8053c58 80aba84: e100 b.n 80abc88 arm_max_f32(&ScrA_f32(i * k + X0), k, &mF[MAXY], &idx); 80aba86: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80aba8a: f8d7 22a0 ldr.w r2, [r7, #672] ; 0x2a0 80aba8e: fb02 f303 mul.w r3, r2, r3 80aba92: 4ac4 ldr r2, [pc, #784] ; (80abda4 ) 80aba94: 8812 ldrh r2, [r2, #0] 80aba96: b292 uxth r2, r2 80aba98: 4413 add r3, r2 80aba9a: 009a lsls r2, r3, #2 80aba9c: 4bc2 ldr r3, [pc, #776] ; (80abda8 ) 80aba9e: 4413 add r3, r2 80abaa0: 4618 mov r0, r3 80abaa2: f507 711a add.w r1, r7, #616 ; 0x268 80abaa6: f507 731e add.w r3, r7, #632 ; 0x278 80abaaa: 1d1a adds r2, r3, #4 80abaac: 460b mov r3, r1 80abaae: f8d7 12a0 ldr.w r1, [r7, #672] ; 0x2a0 80abab2: f01e fb1f bl 80ca0f4 arm_min_f32(&ScrA_f32(i * k + X0), k, &mF[MINY], &idx); 80abab6: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80ababa: f8d7 22a0 ldr.w r2, [r7, #672] ; 0x2a0 80ababe: fb02 f303 mul.w r3, r2, r3 80abac2: 4ab8 ldr r2, [pc, #736] ; (80abda4 ) 80abac4: 8812 ldrh r2, [r2, #0] 80abac6: b292 uxth r2, r2 80abac8: 4413 add r3, r2 80abaca: 009a lsls r2, r3, #2 80abacc: 4bb6 ldr r3, [pc, #728] ; (80abda8 ) 80abace: 4413 add r3, r2 80abad0: 4618 mov r0, r3 80abad2: f507 731a add.w r3, r7, #616 ; 0x268 80abad6: f507 721e add.w r2, r7, #632 ; 0x278 80abada: f8d7 12a0 ldr.w r1, [r7, #672] ; 0x2a0 80abade: f01e fa6d bl 80c9fbc if(i > 0) 80abae2: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abae6: 2b00 cmp r3, #0 80abae8: d01b beq.n 80abb22 if(mF[MINY] > lastPointOSC[MAXY]) 80abaea: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80abaee: 4baf ldr r3, [pc, #700] ; (80abdac ) 80abaf0: edd3 7a01 vldr s15, [r3, #4] 80abaf4: eeb4 7ae7 vcmpe.f32 s14, s15 80abaf8: eef1 fa10 vmrs APSR_nzcv, fpscr 80abafc: dd03 ble.n 80abb06 mF[MINY] = lastPointOSC[MAXY]; 80abafe: 4bab ldr r3, [pc, #684] ; (80abdac ) 80abb00: 685b ldr r3, [r3, #4] 80abb02: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MAXY] < lastPointOSC[MINY]) 80abb06: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80abb0a: 4ba8 ldr r3, [pc, #672] ; (80abdac ) 80abb0c: edd3 7a00 vldr s15, [r3] 80abb10: eeb4 7ae7 vcmpe.f32 s14, s15 80abb14: eef1 fa10 vmrs APSR_nzcv, fpscr 80abb18: d503 bpl.n 80abb22 mF[MAXY] = lastPointOSC[MINY]; 80abb1a: 4ba4 ldr r3, [pc, #656] ; (80abdac ) 80abb1c: 681b ldr r3, [r3, #0] 80abb1e: f8c7 327c str.w r3, [r7, #636] ; 0x27c ft[0] = mF[MINY]; ft[1] = mF[MAXY]; 80abb22: f8d7 3278 ldr.w r3, [r7, #632] ; 0x278 80abb26: f8c7 3280 str.w r3, [r7, #640] ; 0x280 80abb2a: f8d7 327c ldr.w r3, [r7, #636] ; 0x27c 80abb2e: f8c7 3284 str.w r3, [r7, #644] ; 0x284 lastPointOSC[MINY] = ft[0]; lastPointOSC[MAXY] = ft[1]; 80abb32: f8d7 3280 ldr.w r3, [r7, #640] ; 0x280 80abb36: 4a9d ldr r2, [pc, #628] ; (80abdac ) 80abb38: 6013 str r3, [r2, #0] 80abb3a: f8d7 3284 ldr.w r3, [r7, #644] ; 0x284 80abb3e: 4a9b ldr r2, [pc, #620] ; (80abdac ) 80abb40: 6053 str r3, [r2, #4] mF[MINY] *= ZoomVal; 80abb42: ed97 7a9e vldr s14, [r7, #632] ; 0x278 80abb46: 4b9a ldr r3, [pc, #616] ; (80abdb0 ) 80abb48: edd3 7a00 vldr s15, [r3] 80abb4c: ee67 7a27 vmul.f32 s15, s14, s15 80abb50: edc7 7a9e vstr s15, [r7, #632] ; 0x278 mF[MAXY] *= ZoomVal; 80abb54: ed97 7a9f vldr s14, [r7, #636] ; 0x27c 80abb58: 4b95 ldr r3, [pc, #596] ; (80abdb0 ) 80abb5a: edd3 7a00 vldr s15, [r3] 80abb5e: ee67 7a27 vmul.f32 s15, s14, s15 80abb62: edc7 7a9f vstr s15, [r7, #636] ; 0x27c if(mF[MAXY] > 32767.0f) mF[MAXY] = 32767.0f; 80abb66: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80abb6a: ed9f 7a92 vldr s14, [pc, #584] ; 80abdb4 80abb6e: eef4 7ac7 vcmpe.f32 s15, s14 80abb72: eef1 fa10 vmrs APSR_nzcv, fpscr 80abb76: dd02 ble.n 80abb7e 80abb78: 4b8f ldr r3, [pc, #572] ; (80abdb8 ) 80abb7a: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MAXY] < -32767.0f) mF[MAXY] = -32767.0f; 80abb7e: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80abb82: ed9f 7a8e vldr s14, [pc, #568] ; 80abdbc 80abb86: eef4 7ac7 vcmpe.f32 s15, s14 80abb8a: eef1 fa10 vmrs APSR_nzcv, fpscr 80abb8e: d502 bpl.n 80abb96 80abb90: 4b8b ldr r3, [pc, #556] ; (80abdc0 ) 80abb92: f8c7 327c str.w r3, [r7, #636] ; 0x27c if(mF[MINY] > 32767.0f) mF[MINY] = 32767.0f; 80abb96: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80abb9a: ed9f 7a86 vldr s14, [pc, #536] ; 80abdb4 80abb9e: eef4 7ac7 vcmpe.f32 s15, s14 80abba2: eef1 fa10 vmrs APSR_nzcv, fpscr 80abba6: dd02 ble.n 80abbae 80abba8: 4b83 ldr r3, [pc, #524] ; (80abdb8 ) 80abbaa: f8c7 3278 str.w r3, [r7, #632] ; 0x278 if(mF[MINY] < -32767.0f) mF[MINY] = -32767.0f; 80abbae: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80abbb2: ed9f 7a82 vldr s14, [pc, #520] ; 80abdbc 80abbb6: eef4 7ac7 vcmpe.f32 s15, s14 80abbba: eef1 fa10 vmrs APSR_nzcv, fpscr 80abbbe: d502 bpl.n 80abbc6 80abbc0: 4b7f ldr r3, [pc, #508] ; (80abdc0 ) 80abbc2: f8c7 3278 str.w r3, [r7, #632] ; 0x278 pMax = (int16_t) mF[MAXY]; 80abbc6: edd7 7a9f vldr s15, [r7, #636] ; 0x27c 80abbca: eefd 7ae7 vcvt.s32.f32 s15, s15 80abbce: edc7 7a01 vstr s15, [r7, #4] 80abbd2: 88bb ldrh r3, [r7, #4] 80abbd4: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 pMin = (int16_t) mF[MINY]; 80abbd8: edd7 7a9e vldr s15, [r7, #632] ; 0x278 80abbdc: eefd 7ae7 vcvt.s32.f32 s15, s15 80abbe0: edc7 7a01 vstr s15, [r7, #4] 80abbe4: 88bb ldrh r3, [r7, #4] 80abbe6: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 if(pMin > 80) 80abbea: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80abbee: 2b50 cmp r3, #80 ; 0x50 80abbf0: dd08 ble.n 80abc04 pMin = 80; 80abbf2: 2350 movs r3, #80 ; 0x50 80abbf4: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80abbf8: 4b72 ldr r3, [pc, #456] ; (80abdc4 ) 80abbfa: 781b ldrb r3, [r3, #0] 80abbfc: 3301 adds r3, #1 80abbfe: b2da uxtb r2, r3 80abc00: 4b70 ldr r3, [pc, #448] ; (80abdc4 ) 80abc02: 701a strb r2, [r3, #0] if(pMin < -80) 80abc04: f9b7 32b2 ldrsh.w r3, [r7, #690] ; 0x2b2 80abc08: f113 0f50 cmn.w r3, #80 ; 0x50 80abc0c: da09 bge.n 80abc22 pMin = -80; 80abc0e: f64f 73b0 movw r3, #65456 ; 0xffb0 80abc12: f8a7 32b2 strh.w r3, [r7, #690] ; 0x2b2 NumOverdrives++; 80abc16: 4b6b ldr r3, [pc, #428] ; (80abdc4 ) 80abc18: 781b ldrb r3, [r3, #0] 80abc1a: 3301 adds r3, #1 80abc1c: b2da uxtb r2, r3 80abc1e: 4b69 ldr r3, [pc, #420] ; (80abdc4 ) 80abc20: 701a strb r2, [r3, #0] if(pMax > 80) 80abc22: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80abc26: 2b50 cmp r3, #80 ; 0x50 80abc28: dd08 ble.n 80abc3c pMax = 80; 80abc2a: 2350 movs r3, #80 ; 0x50 80abc2c: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80abc30: 4b64 ldr r3, [pc, #400] ; (80abdc4 ) 80abc32: 781b ldrb r3, [r3, #0] 80abc34: 3301 adds r3, #1 80abc36: b2da uxtb r2, r3 80abc38: 4b62 ldr r3, [pc, #392] ; (80abdc4 ) 80abc3a: 701a strb r2, [r3, #0] if(pMax < -80) 80abc3c: f9b7 32b6 ldrsh.w r3, [r7, #694] ; 0x2b6 80abc40: f113 0f50 cmn.w r3, #80 ; 0x50 80abc44: da09 bge.n 80abc5a pMax = -80; 80abc46: f64f 73b0 movw r3, #65456 ; 0xffb0 80abc4a: f8a7 32b6 strh.w r3, [r7, #694] ; 0x2b6 NumOverdrives++; 80abc4e: 4b5d ldr r3, [pc, #372] ; (80abdc4 ) 80abc50: 781b ldrb r3, [r3, #0] 80abc52: 3301 adds r3, #1 80abc54: b2da uxtb r2, r3 80abc56: 4b5b ldr r3, [pc, #364] ; (80abdc4 ) 80abc58: 701a strb r2, [r3, #0] x = 62 + i; 80abc5a: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abc5e: 333e adds r3, #62 ; 0x3e 80abc60: f8c7 3294 str.w r3, [r7, #660] ; 0x294 BSP_LCD_DrawLine(x, 141 - pMin, x, 141 - pMax); 80abc64: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abc68: b298 uxth r0, r3 80abc6a: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80abc6e: f1c3 038d rsb r3, r3, #141 ; 0x8d 80abc72: b299 uxth r1, r3 80abc74: f8d7 3294 ldr.w r3, [r7, #660] ; 0x294 80abc78: b29a uxth r2, r3 80abc7a: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80abc7e: f1c3 038d rsb r3, r3, #141 ; 0x8d 80abc82: b29b uxth r3, r3 80abc84: f7a7 ffe8 bl 8053c58 if(pMax > Maximum) Maximum = pMax; 80abc88: f9b7 22b6 ldrsh.w r2, [r7, #694] ; 0x2b6 80abc8c: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80abc90: 429a cmp r2, r3 80abc92: dd03 ble.n 80abc9c 80abc94: f8b7 32b6 ldrh.w r3, [r7, #694] ; 0x2b6 80abc98: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 if(pMin < Minimum) Minimum = pMin; 80abc9c: f9b7 22b2 ldrsh.w r2, [r7, #690] ; 0x2b2 80abca0: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80abca4: 429a cmp r2, r3 80abca6: da03 bge.n 80abcb0 80abca8: f8b7 32b2 ldrh.w r3, [r7, #690] ; 0x2b2 80abcac: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 for(i = 0; i < 256; i++) 80abcb0: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abcb4: 3301 adds r3, #1 80abcb6: f8c7 32ac str.w r3, [r7, #684] ; 0x2ac 80abcba: f8d7 32ac ldr.w r3, [r7, #684] ; 0x2ac 80abcbe: 2bff cmp r3, #255 ; 0xff 80abcc0: f67f adc7 bls.w 80ab852 Maximum = ABS(Maximum); 80abcc4: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80abcc8: 2b00 cmp r3, #0 80abcca: bfb8 it lt 80abccc: 425b neglt r3, r3 80abcce: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 Minimum = ABS(Minimum); 80abcd2: f9b7 32b0 ldrsh.w r3, [r7, #688] ; 0x2b0 80abcd6: 2b00 cmp r3, #0 80abcd8: bfb8 it lt 80abcda: 425b neglt r3, r3 80abcdc: f8a7 32b0 strh.w r3, [r7, #688] ; 0x2b0 if(Minimum > Maximum) { 80abce0: f9b7 22b0 ldrsh.w r2, [r7, #688] ; 0x2b0 80abce4: f9b7 32b4 ldrsh.w r3, [r7, #692] ; 0x2b4 80abce8: 429a cmp r2, r3 80abcea: dd03 ble.n 80abcf4 Maximum = Minimum; 80abcec: f8b7 32b0 ldrh.w r3, [r7, #688] ; 0x2b0 80abcf0: f8a7 32b4 strh.w r3, [r7, #692] ; 0x2b4 BSP_LCD_SetFont(&Font8); 80abcf4: 4834 ldr r0, [pc, #208] ; (80abdc8 ) 80abcf6: f7a7 fdb1 bl 805385c LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80abcfa: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80abcfe: 4833 ldr r0, [pc, #204] ; (80abdcc ) 80abd00: f7a7 fd70 bl 80537e4 if(ABS(LEGEND[2]) == 0.0f) { mmm = -1; } 80abd04: 4b32 ldr r3, [pc, #200] ; (80abdd0 ) 80abd06: edd3 7a02 vldr s15, [r3, #8] 80abd0a: eef5 7ac0 vcmpe.f32 s15, #0.0 80abd0e: eef1 fa10 vmrs APSR_nzcv, fpscr 80abd12: dd0b ble.n 80abd2c 80abd14: 4b2e ldr r3, [pc, #184] ; (80abdd0 ) 80abd16: edd3 7a02 vldr s15, [r3, #8] 80abd1a: eef5 7a40 vcmp.f32 s15, #0.0 80abd1e: eef1 fa10 vmrs APSR_nzcv, fpscr 80abd22: bf0c ite eq 80abd24: 2301 moveq r3, #1 80abd26: 2300 movne r3, #0 80abd28: b2db uxtb r3, r3 80abd2a: e00a b.n 80abd42 80abd2c: 4b28 ldr r3, [pc, #160] ; (80abdd0 ) 80abd2e: edd3 7a02 vldr s15, [r3, #8] 80abd32: eef5 7a40 vcmp.f32 s15, #0.0 80abd36: eef1 fa10 vmrs APSR_nzcv, fpscr 80abd3a: bf0c ite eq 80abd3c: 2301 moveq r3, #1 80abd3e: 2300 movne r3, #0 80abd40: b2db uxtb r3, r3 80abd42: 2b00 cmp r3, #0 80abd44: d003 beq.n 80abd4e 80abd46: 23ff movs r3, #255 ; 0xff 80abd48: f887 329f strb.w r3, [r7, #671] ; 0x29f 80abd4c: e070 b.n 80abe30 else if(ABS(LEGEND[2]) < 1) { mmm = -4; } 80abd4e: 4b20 ldr r3, [pc, #128] ; (80abdd0 ) 80abd50: edd3 7a02 vldr s15, [r3, #8] 80abd54: eef5 7ac0 vcmpe.f32 s15, #0.0 80abd58: eef1 fa10 vmrs APSR_nzcv, fpscr 80abd5c: dd0d ble.n 80abd7a 80abd5e: 4b1c ldr r3, [pc, #112] ; (80abdd0 ) 80abd60: edd3 7a02 vldr s15, [r3, #8] 80abd64: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80abd68: eef4 7ac7 vcmpe.f32 s15, s14 80abd6c: eef1 fa10 vmrs APSR_nzcv, fpscr 80abd70: bf4c ite mi 80abd72: 2301 movmi r3, #1 80abd74: 2300 movpl r3, #0 80abd76: b2db uxtb r3, r3 80abd78: e00e b.n 80abd98 80abd7a: 4b15 ldr r3, [pc, #84] ; (80abdd0 ) 80abd7c: edd3 7a02 vldr s15, [r3, #8] 80abd80: eef1 7a67 vneg.f32 s15, s15 80abd84: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80abd88: eef4 7ac7 vcmpe.f32 s15, s14 80abd8c: eef1 fa10 vmrs APSR_nzcv, fpscr 80abd90: bf4c ite mi 80abd92: 2301 movmi r3, #1 80abd94: 2300 movpl r3, #0 80abd96: b2db uxtb r3, r3 80abd98: 2b00 cmp r3, #0 80abd9a: d01b beq.n 80abdd4 80abd9c: 23fc movs r3, #252 ; 0xfc 80abd9e: f887 329f strb.w r3, [r7, #671] ; 0x29f 80abda2: e045 b.n 80abe30 80abda4: 20025d1e .word 0x20025d1e 80abda8: 64080000 .word 0x64080000 80abdac: 20021650 .word 0x20021650 80abdb0: 20020990 .word 0x20020990 80abdb4: 46fffe00 .word 0x46fffe00 80abdb8: 46fffe00 .word 0x46fffe00 80abdbc: c6fffe00 .word 0xc6fffe00 80abdc0: c6fffe00 .word 0xc6fffe00 80abdc4: 2002164e .word 0x2002164e 80abdc8: 20020060 .word 0x20020060 80abdcc: ff808080 .word 0xff808080 80abdd0: 200685bc .word 0x200685bc else if(ABS(LEGEND[2]) < 10) { mmm = -1; } 80abdd4: 4b33 ldr r3, [pc, #204] ; (80abea4 ) 80abdd6: edd3 7a02 vldr s15, [r3, #8] 80abdda: eef5 7ac0 vcmpe.f32 s15, #0.0 80abdde: eef1 fa10 vmrs APSR_nzcv, fpscr 80abde2: dd0d ble.n 80abe00 80abde4: 4b2f ldr r3, [pc, #188] ; (80abea4 ) 80abde6: edd3 7a02 vldr s15, [r3, #8] 80abdea: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80abdee: eef4 7ac7 vcmpe.f32 s15, s14 80abdf2: eef1 fa10 vmrs APSR_nzcv, fpscr 80abdf6: bf4c ite mi 80abdf8: 2301 movmi r3, #1 80abdfa: 2300 movpl r3, #0 80abdfc: b2db uxtb r3, r3 80abdfe: e00e b.n 80abe1e 80abe00: 4b28 ldr r3, [pc, #160] ; (80abea4 ) 80abe02: edd3 7a02 vldr s15, [r3, #8] 80abe06: eef1 7a67 vneg.f32 s15, s15 80abe0a: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80abe0e: eef4 7ac7 vcmpe.f32 s15, s14 80abe12: eef1 fa10 vmrs APSR_nzcv, fpscr 80abe16: bf4c ite mi 80abe18: 2301 movmi r3, #1 80abe1a: 2300 movpl r3, #0 80abe1c: b2db uxtb r3, r3 80abe1e: 2b00 cmp r3, #0 80abe20: d003 beq.n 80abe2a 80abe22: 23ff movs r3, #255 ; 0xff 80abe24: f887 329f strb.w r3, [r7, #671] ; 0x29f 80abe28: e002 b.n 80abe30 else { mmm = 0; } 80abe2a: 2300 movs r3, #0 80abe2c: f887 329f strb.w r3, [r7, #671] ; 0x29f BSP_LCD_DisplayStringAt(316, 92-8, (char *) FloatToASCII(LEGEND[2], mmm), RIGHT_MODE); 80abe30: 4b1c ldr r3, [pc, #112] ; (80abea4 ) 80abe32: edd3 7a02 vldr s15, [r3, #8] 80abe36: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80abe3a: 4618 mov r0, r3 80abe3c: eeb0 0a67 vmov.f32 s0, s15 80abe40: f7ba fc7a bl 8066738 80abe44: 4602 mov r2, r0 80abe46: 2302 movs r3, #2 80abe48: 2154 movs r1, #84 ; 0x54 80abe4a: f44f 709e mov.w r0, #316 ; 0x13c 80abe4e: f7a7 fd8f bl 8053970 BSP_LCD_DisplayStringAt(316, 92-8+49, (char *) FloatToASCII(LEGEND[1], -1), RIGHT_MODE); 80abe52: 4b14 ldr r3, [pc, #80] ; (80abea4 ) 80abe54: edd3 7a01 vldr s15, [r3, #4] 80abe58: f04f 30ff mov.w r0, #4294967295 80abe5c: eeb0 0a67 vmov.f32 s0, s15 80abe60: f7ba fc6a bl 8066738 80abe64: 4602 mov r2, r0 80abe66: 2302 movs r3, #2 80abe68: 2185 movs r1, #133 ; 0x85 80abe6a: f44f 709e mov.w r0, #316 ; 0x13c 80abe6e: f7a7 fd7f bl 8053970 BSP_LCD_DisplayStringAt(316, 92-8+98, (char *) FloatToASCII(LEGEND[0], mmm), RIGHT_MODE); 80abe72: 4b0c ldr r3, [pc, #48] ; (80abea4 ) 80abe74: edd3 7a00 vldr s15, [r3] 80abe78: f997 329f ldrsb.w r3, [r7, #671] ; 0x29f 80abe7c: 4618 mov r0, r3 80abe7e: eeb0 0a67 vmov.f32 s0, s15 80abe82: f7ba fc59 bl 8066738 80abe86: 4602 mov r2, r0 80abe88: 2302 movs r3, #2 80abe8a: 21b6 movs r1, #182 ; 0xb6 80abe8c: f44f 709e mov.w r0, #316 ; 0x13c 80abe90: f7a7 fd6e bl 8053970 } 80abe94: e000 b.n 80abe98 { 80abe96: bf00 nop } 80abe98: bf00 nop 80abe9a: f507 772f add.w r7, r7, #700 ; 0x2bc 80abe9e: 46bd mov sp, r7 80abea0: bd90 pop {r4, r7, pc} 80abea2: bf00 nop 80abea4: 200685bc .word 0x200685bc 080abea8 : void DrawScaleValue(void) { 80abea8: b5b0 push {r4, r5, r7, lr} 80abeaa: b08c sub sp, #48 ; 0x30 80abeac: af00 add r7, sp, #0 uint32_t step, i, k, t = 0; 80abeae: 2300 movs r3, #0 80abeb0: 62bb str r3, [r7, #40] ; 0x28 uint8_t *p; char str[7]; float32_t f, fosc[3], dt; BSP_LCD_SetFont(&Font8); 80abeb2: 489a ldr r0, [pc, #616] ; (80ac11c ) 80abeb4: f7a7 fcd2 bl 805385c LCD_SetColors(LCD_COLOR_GRAY, 0xFF000000); 80abeb8: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80abebc: 4898 ldr r0, [pc, #608] ; (80ac120 ) 80abebe: f7a7 fc91 bl 80537e4 k = FsIndex(); 80abec2: f7ba fbdf bl 8066684 80abec6: 6278 str r0, [r7, #36] ; 0x24 if(menu == MAIN_SYGNAL) 80abec8: 4b96 ldr r3, [pc, #600] ; (80ac124 ) 80abeca: 781b ldrb r3, [r3, #0] 80abecc: b2db uxtb r3, r3 80abece: 2b20 cmp r3, #32 80abed0: f040 8111 bne.w 80ac0f6 { step = PlayingState.FrameSize >> 8; 80abed4: 4b94 ldr r3, [pc, #592] ; (80ac128 ) 80abed6: 689b ldr r3, [r3, #8] 80abed8: 0a1b lsrs r3, r3, #8 80abeda: 623b str r3, [r7, #32] dt = (PlayingState.TimeLength / (float32_t) PlayingState.NumFrames) / ((float32_t) PlayingState.FrameSize); 80abedc: 4b92 ldr r3, [pc, #584] ; (80ac128 ) 80abede: ed93 7a07 vldr s14, [r3, #28] 80abee2: 4b91 ldr r3, [pc, #580] ; (80ac128 ) 80abee4: 685b ldr r3, [r3, #4] 80abee6: ee07 3a90 vmov s15, r3 80abeea: eef8 7a67 vcvt.f32.u32 s15, s15 80abeee: eec7 6a27 vdiv.f32 s13, s14, s15 80abef2: 4b8d ldr r3, [pc, #564] ; (80ac128 ) 80abef4: 689b ldr r3, [r3, #8] 80abef6: ee07 3a90 vmov s15, r3 80abefa: eeb8 7a67 vcvt.f32.u32 s14, s15 80abefe: eec6 7a87 vdiv.f32 s15, s13, s14 80abf02: edc7 7a07 vstr s15, [r7, #28] t = 0; 80abf06: 2300 movs r3, #0 80abf08: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80abf0a: 2300 movs r3, #0 80abf0c: 62fb str r3, [r7, #44] ; 0x2c 80abf0e: e06f b.n 80abff0 { if(PlayingState.CurrentFrame < PlayingState.NumFrames) 80abf10: 4b85 ldr r3, [pc, #532] ; (80ac128 ) 80abf12: 681a ldr r2, [r3, #0] 80abf14: 4b84 ldr r3, [pc, #528] ; (80ac128 ) 80abf16: 685b ldr r3, [r3, #4] 80abf18: 429a cmp r2, r3 80abf1a: d212 bcs.n 80abf42 fosc[i] = (float32_t) (PlayingState.CurrentFrame * PlayingState.FrameSize); 80abf1c: 4b82 ldr r3, [pc, #520] ; (80ac128 ) 80abf1e: 681b ldr r3, [r3, #0] 80abf20: 4a81 ldr r2, [pc, #516] ; (80ac128 ) 80abf22: 6892 ldr r2, [r2, #8] 80abf24: fb02 f303 mul.w r3, r2, r3 80abf28: ee07 3a90 vmov s15, r3 80abf2c: eef8 7a67 vcvt.f32.u32 s15, s15 80abf30: 6afb ldr r3, [r7, #44] ; 0x2c 80abf32: 009b lsls r3, r3, #2 80abf34: f107 0230 add.w r2, r7, #48 ; 0x30 80abf38: 4413 add r3, r2 80abf3a: 3b30 subs r3, #48 ; 0x30 80abf3c: edc3 7a00 vstr s15, [r3] 80abf40: e012 b.n 80abf68 else fosc[i] = (float32_t) ((PlayingState.NumFrames - 1) * PlayingState.FrameSize); 80abf42: 4b79 ldr r3, [pc, #484] ; (80ac128 ) 80abf44: 685b ldr r3, [r3, #4] 80abf46: 3b01 subs r3, #1 80abf48: 4a77 ldr r2, [pc, #476] ; (80ac128 ) 80abf4a: 6892 ldr r2, [r2, #8] 80abf4c: fb02 f303 mul.w r3, r2, r3 80abf50: ee07 3a90 vmov s15, r3 80abf54: eef8 7a67 vcvt.f32.u32 s15, s15 80abf58: 6afb ldr r3, [r7, #44] ; 0x2c 80abf5a: 009b lsls r3, r3, #2 80abf5c: f107 0230 add.w r2, r7, #48 ; 0x30 80abf60: 4413 add r3, r2 80abf62: 3b30 subs r3, #48 ; 0x30 80abf64: edc3 7a00 vstr s15, [r3] fosc[i] += (float32_t) ((64 + 64 * i) * step); 80abf68: 6afb ldr r3, [r7, #44] ; 0x2c 80abf6a: 009b lsls r3, r3, #2 80abf6c: f107 0230 add.w r2, r7, #48 ; 0x30 80abf70: 4413 add r3, r2 80abf72: 3b30 subs r3, #48 ; 0x30 80abf74: ed93 7a00 vldr s14, [r3] 80abf78: 6afb ldr r3, [r7, #44] ; 0x2c 80abf7a: 3301 adds r3, #1 80abf7c: 6a3a ldr r2, [r7, #32] 80abf7e: fb02 f303 mul.w r3, r2, r3 80abf82: 019b lsls r3, r3, #6 80abf84: ee07 3a90 vmov s15, r3 80abf88: eef8 7a67 vcvt.f32.u32 s15, s15 80abf8c: ee77 7a27 vadd.f32 s15, s14, s15 80abf90: 6afb ldr r3, [r7, #44] ; 0x2c 80abf92: 009b lsls r3, r3, #2 80abf94: f107 0230 add.w r2, r7, #48 ; 0x30 80abf98: 4413 add r3, r2 80abf9a: 3b30 subs r3, #48 ; 0x30 80abf9c: edc3 7a00 vstr s15, [r3] //fosc[i] *= (float32_t) step; fosc[i] *= dt; 80abfa0: 6afb ldr r3, [r7, #44] ; 0x2c 80abfa2: 009b lsls r3, r3, #2 80abfa4: f107 0230 add.w r2, r7, #48 ; 0x30 80abfa8: 4413 add r3, r2 80abfaa: 3b30 subs r3, #48 ; 0x30 80abfac: ed93 7a00 vldr s14, [r3] 80abfb0: edd7 7a07 vldr s15, [r7, #28] 80abfb4: ee67 7a27 vmul.f32 s15, s14, s15 80abfb8: 6afb ldr r3, [r7, #44] ; 0x2c 80abfba: 009b lsls r3, r3, #2 80abfbc: f107 0230 add.w r2, r7, #48 ; 0x30 80abfc0: 4413 add r3, r2 80abfc2: 3b30 subs r3, #48 ; 0x30 80abfc4: edc3 7a00 vstr s15, [r3] if(fosc[i] >= 1000.0f) { 80abfc8: 6afb ldr r3, [r7, #44] ; 0x2c 80abfca: 009b lsls r3, r3, #2 80abfcc: f107 0230 add.w r2, r7, #48 ; 0x30 80abfd0: 4413 add r3, r2 80abfd2: 3b30 subs r3, #48 ; 0x30 80abfd4: edd3 7a00 vldr s15, [r3] 80abfd8: ed9f 7a54 vldr s14, [pc, #336] ; 80ac12c 80abfdc: eef4 7ac7 vcmpe.f32 s15, s14 80abfe0: eef1 fa10 vmrs APSR_nzcv, fpscr 80abfe4: db01 blt.n 80abfea t = 1; 80abfe6: 2301 movs r3, #1 80abfe8: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80abfea: 6afb ldr r3, [r7, #44] ; 0x2c 80abfec: 3301 adds r3, #1 80abfee: 62fb str r3, [r7, #44] ; 0x2c 80abff0: 6afb ldr r3, [r7, #44] ; 0x2c 80abff2: 2b02 cmp r3, #2 80abff4: d98c bls.n 80abf10 } } for(i = 0; i < 3; i++) 80abff6: 2300 movs r3, #0 80abff8: 62fb str r3, [r7, #44] ; 0x2c 80abffa: e04e b.n 80ac09a { if(t == 0) 80abffc: 6abb ldr r3, [r7, #40] ; 0x28 80abffe: 2b00 cmp r3, #0 80ac000: d11a bne.n 80ac038 BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -3), LEFT_MODE); 80ac002: 6afb ldr r3, [r7, #44] ; 0x2c 80ac004: b29b uxth r3, r3 80ac006: 019b lsls r3, r3, #6 80ac008: b29b uxth r3, r3 80ac00a: 3378 adds r3, #120 ; 0x78 80ac00c: b29c uxth r4, r3 80ac00e: 6afb ldr r3, [r7, #44] ; 0x2c 80ac010: 009b lsls r3, r3, #2 80ac012: f107 0230 add.w r2, r7, #48 ; 0x30 80ac016: 4413 add r3, r2 80ac018: 3b30 subs r3, #48 ; 0x30 80ac01a: edd3 7a00 vldr s15, [r3] 80ac01e: f06f 0002 mvn.w r0, #2 80ac022: eeb0 0a67 vmov.f32 s0, s15 80ac026: f7ba fb87 bl 8066738 80ac02a: 4602 mov r2, r0 80ac02c: 2303 movs r3, #3 80ac02e: 21e2 movs r1, #226 ; 0xe2 80ac030: 4620 mov r0, r4 80ac032: f7a7 fc9d bl 8053970 80ac036: e02d b.n 80ac094 else { fosc[i] *= 0.001f; 80ac038: 6afb ldr r3, [r7, #44] ; 0x2c 80ac03a: 009b lsls r3, r3, #2 80ac03c: f107 0230 add.w r2, r7, #48 ; 0x30 80ac040: 4413 add r3, r2 80ac042: 3b30 subs r3, #48 ; 0x30 80ac044: edd3 7a00 vldr s15, [r3] 80ac048: ed9f 7a39 vldr s14, [pc, #228] ; 80ac130 80ac04c: ee67 7a87 vmul.f32 s15, s15, s14 80ac050: 6afb ldr r3, [r7, #44] ; 0x2c 80ac052: 009b lsls r3, r3, #2 80ac054: f107 0230 add.w r2, r7, #48 ; 0x30 80ac058: 4413 add r3, r2 80ac05a: 3b30 subs r3, #48 ; 0x30 80ac05c: edc3 7a00 vstr s15, [r3] BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -3), LEFT_MODE); 80ac060: 6afb ldr r3, [r7, #44] ; 0x2c 80ac062: b29b uxth r3, r3 80ac064: 019b lsls r3, r3, #6 80ac066: b29b uxth r3, r3 80ac068: 3378 adds r3, #120 ; 0x78 80ac06a: b29c uxth r4, r3 80ac06c: 6afb ldr r3, [r7, #44] ; 0x2c 80ac06e: 009b lsls r3, r3, #2 80ac070: f107 0230 add.w r2, r7, #48 ; 0x30 80ac074: 4413 add r3, r2 80ac076: 3b30 subs r3, #48 ; 0x30 80ac078: edd3 7a00 vldr s15, [r3] 80ac07c: f06f 0002 mvn.w r0, #2 80ac080: eeb0 0a67 vmov.f32 s0, s15 80ac084: f7ba fb58 bl 8066738 80ac088: 4602 mov r2, r0 80ac08a: 2303 movs r3, #3 80ac08c: 21e2 movs r1, #226 ; 0xe2 80ac08e: 4620 mov r0, r4 80ac090: f7a7 fc6e bl 8053970 for(i = 0; i < 3; i++) 80ac094: 6afb ldr r3, [r7, #44] ; 0x2c 80ac096: 3301 adds r3, #1 80ac098: 62fb str r3, [r7, #44] ; 0x2c 80ac09a: 6afb ldr r3, [r7, #44] ; 0x2c 80ac09c: 2b02 cmp r3, #2 80ac09e: d9ad bls.n 80abffc } } if(pardata.LANG == RUS) 80ac0a0: 4b24 ldr r3, [pc, #144] ; (80ac134 ) 80ac0a2: 7b1b ldrb r3, [r3, #12] 80ac0a4: b2db uxtb r3, r3 80ac0a6: 2b00 cmp r3, #0 80ac0a8: d112 bne.n 80ac0d0 { if(t == 0) 80ac0aa: 6abb ldr r3, [r7, #40] ; 0x28 80ac0ac: 2b00 cmp r3, #0 80ac0ae: d107 bne.n 80ac0c0 BSP_LCD_DisplayStringAt(300, 226, "C", LEFT_MODE); 80ac0b0: 2303 movs r3, #3 80ac0b2: 4a21 ldr r2, [pc, #132] ; (80ac138 ) 80ac0b4: 21e2 movs r1, #226 ; 0xe2 80ac0b6: f44f 7096 mov.w r0, #300 ; 0x12c 80ac0ba: f7a7 fc59 bl 8053970 } } } 80ac0be: e3f7 b.n 80ac8b0 else BSP_LCD_DisplayStringAt(300, 226, "MC", LEFT_MODE); 80ac0c0: 2303 movs r3, #3 80ac0c2: 4a1e ldr r2, [pc, #120] ; (80ac13c ) 80ac0c4: 21e2 movs r1, #226 ; 0xe2 80ac0c6: f44f 7096 mov.w r0, #300 ; 0x12c 80ac0ca: f7a7 fc51 bl 8053970 } 80ac0ce: e3ef b.n 80ac8b0 if(t == 0) 80ac0d0: 6abb ldr r3, [r7, #40] ; 0x28 80ac0d2: 2b00 cmp r3, #0 80ac0d4: d107 bne.n 80ac0e6 BSP_LCD_DisplayStringAt(300, 226, "s", LEFT_MODE); 80ac0d6: 2303 movs r3, #3 80ac0d8: 4a19 ldr r2, [pc, #100] ; (80ac140 ) 80ac0da: 21e2 movs r1, #226 ; 0xe2 80ac0dc: f44f 7096 mov.w r0, #300 ; 0x12c 80ac0e0: f7a7 fc46 bl 8053970 } 80ac0e4: e3e4 b.n 80ac8b0 else BSP_LCD_DisplayStringAt(300, 226, "ms", LEFT_MODE); 80ac0e6: 2303 movs r3, #3 80ac0e8: 4a16 ldr r2, [pc, #88] ; (80ac144 ) 80ac0ea: 21e2 movs r1, #226 ; 0xe2 80ac0ec: f44f 7096 mov.w r0, #300 ; 0x12c 80ac0f0: f7a7 fc3e bl 8053970 } 80ac0f4: e3dc b.n 80ac8b0 if((pardata.SYG == SPEC) || (pardata.SYG == SPEC_OGIB) || (pardata.SYG == ROLL)) 80ac0f6: 4b0f ldr r3, [pc, #60] ; (80ac134 ) 80ac0f8: 781b ldrb r3, [r3, #0] 80ac0fa: b2db uxtb r3, r3 80ac0fc: 2b01 cmp r3, #1 80ac0fe: d00a beq.n 80ac116 80ac100: 4b0c ldr r3, [pc, #48] ; (80ac134 ) 80ac102: 781b ldrb r3, [r3, #0] 80ac104: b2db uxtb r3, r3 80ac106: 2b05 cmp r3, #5 80ac108: d005 beq.n 80ac116 80ac10a: 4b0a ldr r3, [pc, #40] ; (80ac134 ) 80ac10c: 781b ldrb r3, [r3, #0] 80ac10e: b2db uxtb r3, r3 80ac110: 2b08 cmp r3, #8 80ac112: f040 80b1 bne.w 80ac278 for(i = 0; i < 3; i++) 80ac116: 2300 movs r3, #0 80ac118: 62fb str r3, [r7, #44] ; 0x2c 80ac11a: e094 b.n 80ac246 80ac11c: 20020060 .word 0x20020060 80ac120: ff808080 .word 0xff808080 80ac124: 20020f78 .word 0x20020f78 80ac128: 200228d8 .word 0x200228d8 80ac12c: 447a0000 .word 0x447a0000 80ac130: 3a83126f .word 0x3a83126f 80ac134: 20023e60 .word 0x20023e60 80ac138: 080d0b20 .word 0x080d0b20 80ac13c: 080d0b24 .word 0x080d0b24 80ac140: 080d0aac .word 0x080d0aac 80ac144: 080d0abc .word 0x080d0abc f = (float32_t) (X0 + (64 + 64 * i) * avgSPC[ViewLevel][pardata.LNE]); 80ac148: 4b9c ldr r3, [pc, #624] ; (80ac3bc ) 80ac14a: 881b ldrh r3, [r3, #0] 80ac14c: b29b uxth r3, r3 80ac14e: 4618 mov r0, r3 80ac150: 6afb ldr r3, [r7, #44] ; 0x2c 80ac152: 3301 adds r3, #1 80ac154: 4a9a ldr r2, [pc, #616] ; (80ac3c0 ) 80ac156: 7812 ldrb r2, [r2, #0] 80ac158: b2d2 uxtb r2, r2 80ac15a: 4615 mov r5, r2 80ac15c: 4a99 ldr r2, [pc, #612] ; (80ac3c4 ) 80ac15e: 79d2 ldrb r2, [r2, #7] 80ac160: b2d2 uxtb r2, r2 80ac162: 4614 mov r4, r2 80ac164: 4998 ldr r1, [pc, #608] ; (80ac3c8 ) 80ac166: 00aa lsls r2, r5, #2 80ac168: 440a add r2, r1 80ac16a: 4422 add r2, r4 80ac16c: 7812 ldrb r2, [r2, #0] 80ac16e: fb02 f303 mul.w r3, r2, r3 80ac172: 019b lsls r3, r3, #6 80ac174: 4403 add r3, r0 80ac176: ee07 3a90 vmov s15, r3 80ac17a: eef8 7a67 vcvt.f32.u32 s15, s15 80ac17e: edc7 7a06 vstr s15, [r7, #24] f *= Delta_SPC[k][pardata.LNE]; 80ac182: 4b90 ldr r3, [pc, #576] ; (80ac3c4 ) 80ac184: 79db ldrb r3, [r3, #7] 80ac186: b2db uxtb r3, r3 80ac188: 4619 mov r1, r3 80ac18a: 4a90 ldr r2, [pc, #576] ; (80ac3cc ) 80ac18c: 6a7b ldr r3, [r7, #36] ; 0x24 80ac18e: 009b lsls r3, r3, #2 80ac190: 440b add r3, r1 80ac192: 009b lsls r3, r3, #2 80ac194: 4413 add r3, r2 80ac196: edd3 7a00 vldr s15, [r3] 80ac19a: ed97 7a06 vldr s14, [r7, #24] 80ac19e: ee67 7a27 vmul.f32 s15, s14, s15 80ac1a2: edc7 7a06 vstr s15, [r7, #24] if(f >= 1000.0f) 80ac1a6: edd7 7a06 vldr s15, [r7, #24] 80ac1aa: ed9f 7a89 vldr s14, [pc, #548] ; 80ac3d0 80ac1ae: eef4 7ac7 vcmpe.f32 s15, s14 80ac1b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac1b6: db32 blt.n 80ac21e f *= 0.001f; 80ac1b8: edd7 7a06 vldr s15, [r7, #24] 80ac1bc: ed9f 7a85 vldr s14, [pc, #532] ; 80ac3d4 80ac1c0: ee67 7a87 vmul.f32 s15, s15, s14 80ac1c4: edc7 7a06 vstr s15, [r7, #24] p = FloatToASCII(f, -2); 80ac1c8: f06f 0001 mvn.w r0, #1 80ac1cc: ed97 0a06 vldr s0, [r7, #24] 80ac1d0: f7ba fab2 bl 8066738 80ac1d4: 6178 str r0, [r7, #20] memcpy((void *)str, (void *)p, sizeof(str)); 80ac1d6: 697a ldr r2, [r7, #20] 80ac1d8: f107 030c add.w r3, r7, #12 80ac1dc: 6810 ldr r0, [r2, #0] 80ac1de: 6018 str r0, [r3, #0] 80ac1e0: 8891 ldrh r1, [r2, #4] 80ac1e2: 7992 ldrb r2, [r2, #6] 80ac1e4: 8099 strh r1, [r3, #4] 80ac1e6: 719a strb r2, [r3, #6] if(f >= 10.0f) 80ac1e8: edd7 7a06 vldr s15, [r7, #24] 80ac1ec: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80ac1f0: eef4 7ac7 vcmpe.f32 s15, s14 80ac1f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac1f8: db02 blt.n 80ac200 str[5] = 'k'; 80ac1fa: 236b movs r3, #107 ; 0x6b 80ac1fc: 747b strb r3, [r7, #17] 80ac1fe: e001 b.n 80ac204 else str[4] = 'k'; 80ac200: 236b movs r3, #107 ; 0x6b 80ac202: 743b strb r3, [r7, #16] BSP_LCD_DisplayStringAt(120 + (i << 6), 226, str, LEFT_MODE); 80ac204: 6afb ldr r3, [r7, #44] ; 0x2c 80ac206: b29b uxth r3, r3 80ac208: 019b lsls r3, r3, #6 80ac20a: b29b uxth r3, r3 80ac20c: 3378 adds r3, #120 ; 0x78 80ac20e: b298 uxth r0, r3 80ac210: f107 020c add.w r2, r7, #12 80ac214: 2303 movs r3, #3 80ac216: 21e2 movs r1, #226 ; 0xe2 80ac218: f7a7 fbaa bl 8053970 80ac21c: e010 b.n 80ac240 BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(f, 0), LEFT_MODE); 80ac21e: 6afb ldr r3, [r7, #44] ; 0x2c 80ac220: b29b uxth r3, r3 80ac222: 019b lsls r3, r3, #6 80ac224: b29b uxth r3, r3 80ac226: 3378 adds r3, #120 ; 0x78 80ac228: b29c uxth r4, r3 80ac22a: 2000 movs r0, #0 80ac22c: ed97 0a06 vldr s0, [r7, #24] 80ac230: f7ba fa82 bl 8066738 80ac234: 4602 mov r2, r0 80ac236: 2303 movs r3, #3 80ac238: 21e2 movs r1, #226 ; 0xe2 80ac23a: 4620 mov r0, r4 80ac23c: f7a7 fb98 bl 8053970 for(i = 0; i < 3; i++) 80ac240: 6afb ldr r3, [r7, #44] ; 0x2c 80ac242: 3301 adds r3, #1 80ac244: 62fb str r3, [r7, #44] ; 0x2c 80ac246: 6afb ldr r3, [r7, #44] ; 0x2c 80ac248: 2b02 cmp r3, #2 80ac24a: f67f af7d bls.w 80ac148 if(pardata.LANG == RUS) 80ac24e: 4b5d ldr r3, [pc, #372] ; (80ac3c4 ) 80ac250: 7b1b ldrb r3, [r3, #12] 80ac252: b2db uxtb r3, r3 80ac254: 2b00 cmp r3, #0 80ac256: d107 bne.n 80ac268 BSP_LCD_DisplayStringAt(300, 226, "$%", LEFT_MODE); 80ac258: 2303 movs r3, #3 80ac25a: 4a5f ldr r2, [pc, #380] ; (80ac3d8 ) 80ac25c: 21e2 movs r1, #226 ; 0xe2 80ac25e: f44f 7096 mov.w r0, #300 ; 0x12c 80ac262: f7a7 fb85 bl 8053970 if(pardata.LANG == RUS) 80ac266: e323 b.n 80ac8b0 else BSP_LCD_DisplayStringAt(300, 226, "Hz", LEFT_MODE); 80ac268: 2303 movs r3, #3 80ac26a: 4a5c ldr r2, [pc, #368] ; (80ac3dc ) 80ac26c: 21e2 movs r1, #226 ; 0xe2 80ac26e: f44f 7096 mov.w r0, #300 ; 0x12c 80ac272: f7a7 fb7d bl 8053970 if(pardata.LANG == RUS) 80ac276: e31b b.n 80ac8b0 if(pardata.SYG == UDAR) //TODO UDAR 80ac278: 4b52 ldr r3, [pc, #328] ; (80ac3c4 ) 80ac27a: 781b ldrb r3, [r3, #0] 80ac27c: b2db uxtb r3, r3 80ac27e: 2b09 cmp r3, #9 80ac280: f040 80ae bne.w 80ac3e0 for(i = 0; i < 3; i++) 80ac284: 2300 movs r3, #0 80ac286: 62fb str r3, [r7, #44] ; 0x2c 80ac288: e07e b.n 80ac388 f = (float32_t) (X0 + (64 + 64 * i) * avgSPC[ViewLevel][pardata.LNE]); 80ac28a: 4b4c ldr r3, [pc, #304] ; (80ac3bc ) 80ac28c: 881b ldrh r3, [r3, #0] 80ac28e: b29b uxth r3, r3 80ac290: 4618 mov r0, r3 80ac292: 6afb ldr r3, [r7, #44] ; 0x2c 80ac294: 3301 adds r3, #1 80ac296: 4a4a ldr r2, [pc, #296] ; (80ac3c0 ) 80ac298: 7812 ldrb r2, [r2, #0] 80ac29a: b2d2 uxtb r2, r2 80ac29c: 4615 mov r5, r2 80ac29e: 4a49 ldr r2, [pc, #292] ; (80ac3c4 ) 80ac2a0: 79d2 ldrb r2, [r2, #7] 80ac2a2: b2d2 uxtb r2, r2 80ac2a4: 4614 mov r4, r2 80ac2a6: 4948 ldr r1, [pc, #288] ; (80ac3c8 ) 80ac2a8: 00aa lsls r2, r5, #2 80ac2aa: 440a add r2, r1 80ac2ac: 4422 add r2, r4 80ac2ae: 7812 ldrb r2, [r2, #0] 80ac2b0: fb02 f303 mul.w r3, r2, r3 80ac2b4: 019b lsls r3, r3, #6 80ac2b6: 4403 add r3, r0 80ac2b8: ee07 3a90 vmov s15, r3 80ac2bc: eef8 7a67 vcvt.f32.u32 s15, s15 80ac2c0: edc7 7a06 vstr s15, [r7, #24] f *= Delta_SPC[k][pardata.LNE]; 80ac2c4: 4b3f ldr r3, [pc, #252] ; (80ac3c4 ) 80ac2c6: 79db ldrb r3, [r3, #7] 80ac2c8: b2db uxtb r3, r3 80ac2ca: 4619 mov r1, r3 80ac2cc: 4a3f ldr r2, [pc, #252] ; (80ac3cc ) 80ac2ce: 6a7b ldr r3, [r7, #36] ; 0x24 80ac2d0: 009b lsls r3, r3, #2 80ac2d2: 440b add r3, r1 80ac2d4: 009b lsls r3, r3, #2 80ac2d6: 4413 add r3, r2 80ac2d8: edd3 7a00 vldr s15, [r3] 80ac2dc: ed97 7a06 vldr s14, [r7, #24] 80ac2e0: ee67 7a27 vmul.f32 s15, s14, s15 80ac2e4: edc7 7a06 vstr s15, [r7, #24] if(f >= 1000.0f) 80ac2e8: edd7 7a06 vldr s15, [r7, #24] 80ac2ec: ed9f 7a38 vldr s14, [pc, #224] ; 80ac3d0 80ac2f0: eef4 7ac7 vcmpe.f32 s15, s14 80ac2f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac2f8: db32 blt.n 80ac360 f *= 0.001f; 80ac2fa: edd7 7a06 vldr s15, [r7, #24] 80ac2fe: ed9f 7a35 vldr s14, [pc, #212] ; 80ac3d4 80ac302: ee67 7a87 vmul.f32 s15, s15, s14 80ac306: edc7 7a06 vstr s15, [r7, #24] p = FloatToASCII(f, -2); 80ac30a: f06f 0001 mvn.w r0, #1 80ac30e: ed97 0a06 vldr s0, [r7, #24] 80ac312: f7ba fa11 bl 8066738 80ac316: 6178 str r0, [r7, #20] memcpy((void *)str, (void *)p, sizeof(str)); 80ac318: 697a ldr r2, [r7, #20] 80ac31a: f107 030c add.w r3, r7, #12 80ac31e: 6810 ldr r0, [r2, #0] 80ac320: 6018 str r0, [r3, #0] 80ac322: 8891 ldrh r1, [r2, #4] 80ac324: 7992 ldrb r2, [r2, #6] 80ac326: 8099 strh r1, [r3, #4] 80ac328: 719a strb r2, [r3, #6] if(f >= 10.0f) 80ac32a: edd7 7a06 vldr s15, [r7, #24] 80ac32e: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80ac332: eef4 7ac7 vcmpe.f32 s15, s14 80ac336: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac33a: db02 blt.n 80ac342 str[5] = 'k'; 80ac33c: 236b movs r3, #107 ; 0x6b 80ac33e: 747b strb r3, [r7, #17] 80ac340: e001 b.n 80ac346 else str[4] = 'k'; 80ac342: 236b movs r3, #107 ; 0x6b 80ac344: 743b strb r3, [r7, #16] BSP_LCD_DisplayStringAt(96 + (i << 6), 205, str, CENTER_MODE); 80ac346: 6afb ldr r3, [r7, #44] ; 0x2c 80ac348: b29b uxth r3, r3 80ac34a: 019b lsls r3, r3, #6 80ac34c: b29b uxth r3, r3 80ac34e: 3360 adds r3, #96 ; 0x60 80ac350: b298 uxth r0, r3 80ac352: f107 020c add.w r2, r7, #12 80ac356: 2301 movs r3, #1 80ac358: 21cd movs r1, #205 ; 0xcd 80ac35a: f7a7 fb09 bl 8053970 80ac35e: e010 b.n 80ac382 BSP_LCD_DisplayStringAt(96 + (i << 6), 205, (char *)FloatToASCII(f, 0), CENTER_MODE); 80ac360: 6afb ldr r3, [r7, #44] ; 0x2c 80ac362: b29b uxth r3, r3 80ac364: 019b lsls r3, r3, #6 80ac366: b29b uxth r3, r3 80ac368: 3360 adds r3, #96 ; 0x60 80ac36a: b29c uxth r4, r3 80ac36c: 2000 movs r0, #0 80ac36e: ed97 0a06 vldr s0, [r7, #24] 80ac372: f7ba f9e1 bl 8066738 80ac376: 4602 mov r2, r0 80ac378: 2301 movs r3, #1 80ac37a: 21cd movs r1, #205 ; 0xcd 80ac37c: 4620 mov r0, r4 80ac37e: f7a7 faf7 bl 8053970 for(i = 0; i < 3; i++) 80ac382: 6afb ldr r3, [r7, #44] ; 0x2c 80ac384: 3301 adds r3, #1 80ac386: 62fb str r3, [r7, #44] ; 0x2c 80ac388: 6afb ldr r3, [r7, #44] ; 0x2c 80ac38a: 2b02 cmp r3, #2 80ac38c: f67f af7d bls.w 80ac28a if(pardata.LANG == RUS) 80ac390: 4b0c ldr r3, [pc, #48] ; (80ac3c4 ) 80ac392: 7b1b ldrb r3, [r3, #12] 80ac394: b2db uxtb r3, r3 80ac396: 2b00 cmp r3, #0 80ac398: d107 bne.n 80ac3aa BSP_LCD_DisplayStringAt(285, 205, "$%", RIGHT_MODE); 80ac39a: 2302 movs r3, #2 80ac39c: 4a0e ldr r2, [pc, #56] ; (80ac3d8 ) 80ac39e: 21cd movs r1, #205 ; 0xcd 80ac3a0: f240 101d movw r0, #285 ; 0x11d 80ac3a4: f7a7 fae4 bl 8053970 } 80ac3a8: e282 b.n 80ac8b0 else BSP_LCD_DisplayStringAt(285, 205, "Hz", RIGHT_MODE); 80ac3aa: 2302 movs r3, #2 80ac3ac: 4a0b ldr r2, [pc, #44] ; (80ac3dc ) 80ac3ae: 21cd movs r1, #205 ; 0xcd 80ac3b0: f240 101d movw r0, #285 ; 0x11d 80ac3b4: f7a7 fadc bl 8053970 } 80ac3b8: e27a b.n 80ac8b0 80ac3ba: bf00 nop 80ac3bc: 20025d1e .word 0x20025d1e 80ac3c0: 20020f74 .word 0x20020f74 80ac3c4: 20023e60 .word 0x20023e60 80ac3c8: 080ef64c .word 0x080ef64c 80ac3cc: 080ef6a0 .word 0x080ef6a0 80ac3d0: 447a0000 .word 0x447a0000 80ac3d4: 3a83126f .word 0x3a83126f 80ac3d8: 080d0ac4 .word 0x080d0ac4 80ac3dc: 080d0ac8 .word 0x080d0ac8 if(pardata.SYG == SPEC_OKT) 80ac3e0: 4bb8 ldr r3, [pc, #736] ; (80ac6c4 ) 80ac3e2: 781b ldrb r3, [r3, #0] 80ac3e4: b2db uxtb r3, r3 80ac3e6: 2b06 cmp r3, #6 80ac3e8: d16a bne.n 80ac4c0 BSP_LCD_DisplayStringAt( 69, 226, "1", CENTER_MODE); 80ac3ea: 2301 movs r3, #1 80ac3ec: 4ab6 ldr r2, [pc, #728] ; (80ac6c8 ) 80ac3ee: 21e2 movs r1, #226 ; 0xe2 80ac3f0: 2045 movs r0, #69 ; 0x45 80ac3f2: f7a7 fabd bl 8053970 BSP_LCD_DisplayStringAt( 69 + 16, 226, "2", CENTER_MODE); 80ac3f6: 2301 movs r3, #1 80ac3f8: 4ab4 ldr r2, [pc, #720] ; (80ac6cc ) 80ac3fa: 21e2 movs r1, #226 ; 0xe2 80ac3fc: 2055 movs r0, #85 ; 0x55 80ac3fe: f7a7 fab7 bl 8053970 BSP_LCD_DisplayStringAt( 69 + 32, 226, "4", CENTER_MODE); 80ac402: 2301 movs r3, #1 80ac404: 4ab2 ldr r2, [pc, #712] ; (80ac6d0 ) 80ac406: 21e2 movs r1, #226 ; 0xe2 80ac408: 2065 movs r0, #101 ; 0x65 80ac40a: f7a7 fab1 bl 8053970 BSP_LCD_DisplayStringAt( 69 + 48, 226, "8", CENTER_MODE); 80ac40e: 2301 movs r3, #1 80ac410: 4ab0 ldr r2, [pc, #704] ; (80ac6d4 ) 80ac412: 21e2 movs r1, #226 ; 0xe2 80ac414: 2075 movs r0, #117 ; 0x75 80ac416: f7a7 faab bl 8053970 BSP_LCD_DisplayStringAt( 69 + 64, 226, "16", CENTER_MODE); 80ac41a: 2301 movs r3, #1 80ac41c: 4aae ldr r2, [pc, #696] ; (80ac6d8 ) 80ac41e: 21e2 movs r1, #226 ; 0xe2 80ac420: 2085 movs r0, #133 ; 0x85 80ac422: f7a7 faa5 bl 8053970 BSP_LCD_DisplayStringAt( 69 + 80, 226, "31", CENTER_MODE); 80ac426: 2301 movs r3, #1 80ac428: 4aac ldr r2, [pc, #688] ; (80ac6dc ) 80ac42a: 21e2 movs r1, #226 ; 0xe2 80ac42c: 2095 movs r0, #149 ; 0x95 80ac42e: f7a7 fa9f bl 8053970 BSP_LCD_DisplayStringAt( 69 + 96, 226, "63", CENTER_MODE); 80ac432: 2301 movs r3, #1 80ac434: 4aaa ldr r2, [pc, #680] ; (80ac6e0 ) 80ac436: 21e2 movs r1, #226 ; 0xe2 80ac438: 20a5 movs r0, #165 ; 0xa5 80ac43a: f7a7 fa99 bl 8053970 BSP_LCD_DisplayStringAt( 69 + 111, 226, "125", CENTER_MODE); 80ac43e: 2301 movs r3, #1 80ac440: 4aa8 ldr r2, [pc, #672] ; (80ac6e4 ) 80ac442: 21e2 movs r1, #226 ; 0xe2 80ac444: 20b4 movs r0, #180 ; 0xb4 80ac446: f7a7 fa93 bl 8053970 BSP_LCD_DisplayStringAt( 69 + 128, 226, "250", CENTER_MODE); 80ac44a: 2301 movs r3, #1 80ac44c: 4aa6 ldr r2, [pc, #664] ; (80ac6e8 ) 80ac44e: 21e2 movs r1, #226 ; 0xe2 80ac450: 20c5 movs r0, #197 ; 0xc5 80ac452: f7a7 fa8d bl 8053970 BSP_LCD_DisplayStringAt( 69 + 145, 226, "500", CENTER_MODE); 80ac456: 2301 movs r3, #1 80ac458: 4aa4 ldr r2, [pc, #656] ; (80ac6ec ) 80ac45a: 21e2 movs r1, #226 ; 0xe2 80ac45c: 20d6 movs r0, #214 ; 0xd6 80ac45e: f7a7 fa87 bl 8053970 BSP_LCD_DisplayStringAt( 69 + 160, 226, "1k", CENTER_MODE); 80ac462: 2301 movs r3, #1 80ac464: 4aa2 ldr r2, [pc, #648] ; (80ac6f0 ) 80ac466: 21e2 movs r1, #226 ; 0xe2 80ac468: 20e5 movs r0, #229 ; 0xe5 80ac46a: f7a7 fa81 bl 8053970 BSP_LCD_DisplayStringAt( 69 + 176, 226, "2k", CENTER_MODE); 80ac46e: 2301 movs r3, #1 80ac470: 4aa0 ldr r2, [pc, #640] ; (80ac6f4 ) 80ac472: 21e2 movs r1, #226 ; 0xe2 80ac474: 20f5 movs r0, #245 ; 0xf5 80ac476: f7a7 fa7b bl 8053970 BSP_LCD_DisplayStringAt( 69 + 192, 226, "4k", CENTER_MODE); 80ac47a: 2301 movs r3, #1 80ac47c: 4a9e ldr r2, [pc, #632] ; (80ac6f8 ) 80ac47e: 21e2 movs r1, #226 ; 0xe2 80ac480: f240 1005 movw r0, #261 ; 0x105 80ac484: f7a7 fa74 bl 8053970 BSP_LCD_DisplayStringAt( 69 + 208, 226, "8k", CENTER_MODE); 80ac488: 2301 movs r3, #1 80ac48a: 4a9c ldr r2, [pc, #624] ; (80ac6fc ) 80ac48c: 21e2 movs r1, #226 ; 0xe2 80ac48e: f240 1015 movw r0, #277 ; 0x115 80ac492: f7a7 fa6d bl 8053970 if(pardata.LANG == RUS) 80ac496: 4b8b ldr r3, [pc, #556] ; (80ac6c4 ) 80ac498: 7b1b ldrb r3, [r3, #12] 80ac49a: b2db uxtb r3, r3 80ac49c: 2b00 cmp r3, #0 80ac49e: d107 bne.n 80ac4b0 BSP_LCD_DisplayStringAt(306, 226, "$%", LEFT_MODE); 80ac4a0: 2303 movs r3, #3 80ac4a2: 4a97 ldr r2, [pc, #604] ; (80ac700 ) 80ac4a4: 21e2 movs r1, #226 ; 0xe2 80ac4a6: f44f 7099 mov.w r0, #306 ; 0x132 80ac4aa: f7a7 fa61 bl 8053970 } 80ac4ae: e1ff b.n 80ac8b0 else BSP_LCD_DisplayStringAt(306, 226, "Hz", LEFT_MODE); 80ac4b0: 2303 movs r3, #3 80ac4b2: 4a94 ldr r2, [pc, #592] ; (80ac704 ) 80ac4b4: 21e2 movs r1, #226 ; 0xe2 80ac4b6: f44f 7099 mov.w r0, #306 ; 0x132 80ac4ba: f7a7 fa59 bl 8053970 } 80ac4be: e1f7 b.n 80ac8b0 if(pardata.SYG == SPEC_THIRD) 80ac4c0: 4b80 ldr r3, [pc, #512] ; (80ac6c4 ) 80ac4c2: 781b ldrb r3, [r3, #0] 80ac4c4: b2db uxtb r3, r3 80ac4c6: 2b07 cmp r3, #7 80ac4c8: f040 80f1 bne.w 80ac6ae i = 0; 80ac4cc: 2300 movs r3, #0 80ac4ce: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "1", CENTER_MODE); i++; 80ac4d0: 6afb ldr r3, [r7, #44] ; 0x2c 80ac4d2: b29b uxth r3, r3 80ac4d4: 461a mov r2, r3 80ac4d6: 00d2 lsls r2, r2, #3 80ac4d8: 4413 add r3, r2 80ac4da: 005b lsls r3, r3, #1 80ac4dc: b29b uxth r3, r3 80ac4de: 3345 adds r3, #69 ; 0x45 80ac4e0: b298 uxth r0, r3 80ac4e2: 2301 movs r3, #1 80ac4e4: 4a78 ldr r2, [pc, #480] ; (80ac6c8 ) 80ac4e6: 21e2 movs r1, #226 ; 0xe2 80ac4e8: f7a7 fa42 bl 8053970 80ac4ec: 6afb ldr r3, [r7, #44] ; 0x2c 80ac4ee: 3301 adds r3, #1 80ac4f0: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "2", CENTER_MODE); i++; 80ac4f2: 6afb ldr r3, [r7, #44] ; 0x2c 80ac4f4: b29b uxth r3, r3 80ac4f6: 461a mov r2, r3 80ac4f8: 00d2 lsls r2, r2, #3 80ac4fa: 4413 add r3, r2 80ac4fc: 005b lsls r3, r3, #1 80ac4fe: b29b uxth r3, r3 80ac500: 3345 adds r3, #69 ; 0x45 80ac502: b298 uxth r0, r3 80ac504: 2301 movs r3, #1 80ac506: 4a71 ldr r2, [pc, #452] ; (80ac6cc ) 80ac508: 21e2 movs r1, #226 ; 0xe2 80ac50a: f7a7 fa31 bl 8053970 80ac50e: 6afb ldr r3, [r7, #44] ; 0x2c 80ac510: 3301 adds r3, #1 80ac512: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "4", CENTER_MODE); i++; 80ac514: 6afb ldr r3, [r7, #44] ; 0x2c 80ac516: b29b uxth r3, r3 80ac518: 461a mov r2, r3 80ac51a: 00d2 lsls r2, r2, #3 80ac51c: 4413 add r3, r2 80ac51e: 005b lsls r3, r3, #1 80ac520: b29b uxth r3, r3 80ac522: 3345 adds r3, #69 ; 0x45 80ac524: b298 uxth r0, r3 80ac526: 2301 movs r3, #1 80ac528: 4a69 ldr r2, [pc, #420] ; (80ac6d0 ) 80ac52a: 21e2 movs r1, #226 ; 0xe2 80ac52c: f7a7 fa20 bl 8053970 80ac530: 6afb ldr r3, [r7, #44] ; 0x2c 80ac532: 3301 adds r3, #1 80ac534: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "8", CENTER_MODE); i++; 80ac536: 6afb ldr r3, [r7, #44] ; 0x2c 80ac538: b29b uxth r3, r3 80ac53a: 461a mov r2, r3 80ac53c: 00d2 lsls r2, r2, #3 80ac53e: 4413 add r3, r2 80ac540: 005b lsls r3, r3, #1 80ac542: b29b uxth r3, r3 80ac544: 3345 adds r3, #69 ; 0x45 80ac546: b298 uxth r0, r3 80ac548: 2301 movs r3, #1 80ac54a: 4a62 ldr r2, [pc, #392] ; (80ac6d4 ) 80ac54c: 21e2 movs r1, #226 ; 0xe2 80ac54e: f7a7 fa0f bl 8053970 80ac552: 6afb ldr r3, [r7, #44] ; 0x2c 80ac554: 3301 adds r3, #1 80ac556: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "16", CENTER_MODE); i++; 80ac558: 6afb ldr r3, [r7, #44] ; 0x2c 80ac55a: b29b uxth r3, r3 80ac55c: 461a mov r2, r3 80ac55e: 00d2 lsls r2, r2, #3 80ac560: 4413 add r3, r2 80ac562: 005b lsls r3, r3, #1 80ac564: b29b uxth r3, r3 80ac566: 3345 adds r3, #69 ; 0x45 80ac568: b298 uxth r0, r3 80ac56a: 2301 movs r3, #1 80ac56c: 4a5a ldr r2, [pc, #360] ; (80ac6d8 ) 80ac56e: 21e2 movs r1, #226 ; 0xe2 80ac570: f7a7 f9fe bl 8053970 80ac574: 6afb ldr r3, [r7, #44] ; 0x2c 80ac576: 3301 adds r3, #1 80ac578: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "31", CENTER_MODE); i++; 80ac57a: 6afb ldr r3, [r7, #44] ; 0x2c 80ac57c: b29b uxth r3, r3 80ac57e: 461a mov r2, r3 80ac580: 00d2 lsls r2, r2, #3 80ac582: 4413 add r3, r2 80ac584: 005b lsls r3, r3, #1 80ac586: b29b uxth r3, r3 80ac588: 3345 adds r3, #69 ; 0x45 80ac58a: b298 uxth r0, r3 80ac58c: 2301 movs r3, #1 80ac58e: 4a53 ldr r2, [pc, #332] ; (80ac6dc ) 80ac590: 21e2 movs r1, #226 ; 0xe2 80ac592: f7a7 f9ed bl 8053970 80ac596: 6afb ldr r3, [r7, #44] ; 0x2c 80ac598: 3301 adds r3, #1 80ac59a: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "63", CENTER_MODE); i++; 80ac59c: 6afb ldr r3, [r7, #44] ; 0x2c 80ac59e: b29b uxth r3, r3 80ac5a0: 461a mov r2, r3 80ac5a2: 00d2 lsls r2, r2, #3 80ac5a4: 4413 add r3, r2 80ac5a6: 005b lsls r3, r3, #1 80ac5a8: b29b uxth r3, r3 80ac5aa: 3345 adds r3, #69 ; 0x45 80ac5ac: b298 uxth r0, r3 80ac5ae: 2301 movs r3, #1 80ac5b0: 4a4b ldr r2, [pc, #300] ; (80ac6e0 ) 80ac5b2: 21e2 movs r1, #226 ; 0xe2 80ac5b4: f7a7 f9dc bl 8053970 80ac5b8: 6afb ldr r3, [r7, #44] ; 0x2c 80ac5ba: 3301 adds r3, #1 80ac5bc: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "125", CENTER_MODE); i++; 80ac5be: 6afb ldr r3, [r7, #44] ; 0x2c 80ac5c0: b29b uxth r3, r3 80ac5c2: 461a mov r2, r3 80ac5c4: 00d2 lsls r2, r2, #3 80ac5c6: 4413 add r3, r2 80ac5c8: 005b lsls r3, r3, #1 80ac5ca: b29b uxth r3, r3 80ac5cc: 3345 adds r3, #69 ; 0x45 80ac5ce: b298 uxth r0, r3 80ac5d0: 2301 movs r3, #1 80ac5d2: 4a44 ldr r2, [pc, #272] ; (80ac6e4 ) 80ac5d4: 21e2 movs r1, #226 ; 0xe2 80ac5d6: f7a7 f9cb bl 8053970 80ac5da: 6afb ldr r3, [r7, #44] ; 0x2c 80ac5dc: 3301 adds r3, #1 80ac5de: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "250", CENTER_MODE); i++; 80ac5e0: 6afb ldr r3, [r7, #44] ; 0x2c 80ac5e2: b29b uxth r3, r3 80ac5e4: 461a mov r2, r3 80ac5e6: 00d2 lsls r2, r2, #3 80ac5e8: 4413 add r3, r2 80ac5ea: 005b lsls r3, r3, #1 80ac5ec: b29b uxth r3, r3 80ac5ee: 3345 adds r3, #69 ; 0x45 80ac5f0: b298 uxth r0, r3 80ac5f2: 2301 movs r3, #1 80ac5f4: 4a3c ldr r2, [pc, #240] ; (80ac6e8 ) 80ac5f6: 21e2 movs r1, #226 ; 0xe2 80ac5f8: f7a7 f9ba bl 8053970 80ac5fc: 6afb ldr r3, [r7, #44] ; 0x2c 80ac5fe: 3301 adds r3, #1 80ac600: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "500", CENTER_MODE); i++; 80ac602: 6afb ldr r3, [r7, #44] ; 0x2c 80ac604: b29b uxth r3, r3 80ac606: 461a mov r2, r3 80ac608: 00d2 lsls r2, r2, #3 80ac60a: 4413 add r3, r2 80ac60c: 005b lsls r3, r3, #1 80ac60e: b29b uxth r3, r3 80ac610: 3345 adds r3, #69 ; 0x45 80ac612: b298 uxth r0, r3 80ac614: 2301 movs r3, #1 80ac616: 4a35 ldr r2, [pc, #212] ; (80ac6ec ) 80ac618: 21e2 movs r1, #226 ; 0xe2 80ac61a: f7a7 f9a9 bl 8053970 80ac61e: 6afb ldr r3, [r7, #44] ; 0x2c 80ac620: 3301 adds r3, #1 80ac622: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "1k", CENTER_MODE); i++; 80ac624: 6afb ldr r3, [r7, #44] ; 0x2c 80ac626: b29b uxth r3, r3 80ac628: 461a mov r2, r3 80ac62a: 00d2 lsls r2, r2, #3 80ac62c: 4413 add r3, r2 80ac62e: 005b lsls r3, r3, #1 80ac630: b29b uxth r3, r3 80ac632: 3345 adds r3, #69 ; 0x45 80ac634: b298 uxth r0, r3 80ac636: 2301 movs r3, #1 80ac638: 4a2d ldr r2, [pc, #180] ; (80ac6f0 ) 80ac63a: 21e2 movs r1, #226 ; 0xe2 80ac63c: f7a7 f998 bl 8053970 80ac640: 6afb ldr r3, [r7, #44] ; 0x2c 80ac642: 3301 adds r3, #1 80ac644: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "2k", CENTER_MODE); i++; 80ac646: 6afb ldr r3, [r7, #44] ; 0x2c 80ac648: b29b uxth r3, r3 80ac64a: 461a mov r2, r3 80ac64c: 00d2 lsls r2, r2, #3 80ac64e: 4413 add r3, r2 80ac650: 005b lsls r3, r3, #1 80ac652: b29b uxth r3, r3 80ac654: 3345 adds r3, #69 ; 0x45 80ac656: b298 uxth r0, r3 80ac658: 2301 movs r3, #1 80ac65a: 4a26 ldr r2, [pc, #152] ; (80ac6f4 ) 80ac65c: 21e2 movs r1, #226 ; 0xe2 80ac65e: f7a7 f987 bl 8053970 80ac662: 6afb ldr r3, [r7, #44] ; 0x2c 80ac664: 3301 adds r3, #1 80ac666: 62fb str r3, [r7, #44] ; 0x2c BSP_LCD_DisplayStringAt( 69 + 18*i, 226, "4k", CENTER_MODE); //i++; 80ac668: 6afb ldr r3, [r7, #44] ; 0x2c 80ac66a: b29b uxth r3, r3 80ac66c: 461a mov r2, r3 80ac66e: 00d2 lsls r2, r2, #3 80ac670: 4413 add r3, r2 80ac672: 005b lsls r3, r3, #1 80ac674: b29b uxth r3, r3 80ac676: 3345 adds r3, #69 ; 0x45 80ac678: b298 uxth r0, r3 80ac67a: 2301 movs r3, #1 80ac67c: 4a1e ldr r2, [pc, #120] ; (80ac6f8 ) 80ac67e: 21e2 movs r1, #226 ; 0xe2 80ac680: f7a7 f976 bl 8053970 if(pardata.LANG == RUS) 80ac684: 4b0f ldr r3, [pc, #60] ; (80ac6c4 ) 80ac686: 7b1b ldrb r3, [r3, #12] 80ac688: b2db uxtb r3, r3 80ac68a: 2b00 cmp r3, #0 80ac68c: d107 bne.n 80ac69e BSP_LCD_DisplayStringAt(306, 226, "$%", LEFT_MODE); 80ac68e: 2303 movs r3, #3 80ac690: 4a1b ldr r2, [pc, #108] ; (80ac700 ) 80ac692: 21e2 movs r1, #226 ; 0xe2 80ac694: f44f 7099 mov.w r0, #306 ; 0x132 80ac698: f7a7 f96a bl 8053970 } 80ac69c: e108 b.n 80ac8b0 else BSP_LCD_DisplayStringAt(306, 226, "Hz", LEFT_MODE); 80ac69e: 2303 movs r3, #3 80ac6a0: 4a18 ldr r2, [pc, #96] ; (80ac704 ) 80ac6a2: 21e2 movs r1, #226 ; 0xe2 80ac6a4: f44f 7099 mov.w r0, #306 ; 0x132 80ac6a8: f7a7 f962 bl 8053970 } 80ac6ac: e100 b.n 80ac8b0 if(pardata.SYG == OSC) 80ac6ae: 4b05 ldr r3, [pc, #20] ; (80ac6c4 ) 80ac6b0: 781b ldrb r3, [r3, #0] 80ac6b2: b2db uxtb r3, r3 80ac6b4: 2b02 cmp r3, #2 80ac6b6: f040 80fb bne.w 80ac8b0 t = 0; 80ac6ba: 2300 movs r3, #0 80ac6bc: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80ac6be: 2300 movs r3, #0 80ac6c0: 62fb str r3, [r7, #44] ; 0x2c 80ac6c2: e072 b.n 80ac7aa 80ac6c4: 20023e60 .word 0x20023e60 80ac6c8: 080ce88c .word 0x080ce88c 80ac6cc: 080ce890 .word 0x080ce890 80ac6d0: 080ce894 .word 0x080ce894 80ac6d4: 080ce898 .word 0x080ce898 80ac6d8: 080ce89c .word 0x080ce89c 80ac6dc: 080d0b28 .word 0x080d0b28 80ac6e0: 080d0b2c .word 0x080d0b2c 80ac6e4: 080d0b30 .word 0x080d0b30 80ac6e8: 080d0b34 .word 0x080d0b34 80ac6ec: 080cfaa0 .word 0x080cfaa0 80ac6f0: 080d0b38 .word 0x080d0b38 80ac6f4: 080d0b3c .word 0x080d0b3c 80ac6f8: 080d0b40 .word 0x080d0b40 80ac6fc: 080d0b44 .word 0x080d0b44 80ac700: 080d0ac4 .word 0x080d0ac4 80ac704: 080d0ac8 .word 0x080d0ac8 fosc[i] = (float32_t) (X0 + (64 + 64 * i) * avgOSC[ViewLevel][pardata.LNE]); 80ac708: 4b6b ldr r3, [pc, #428] ; (80ac8b8 ) 80ac70a: 881b ldrh r3, [r3, #0] 80ac70c: b29b uxth r3, r3 80ac70e: 461c mov r4, r3 80ac710: 6afb ldr r3, [r7, #44] ; 0x2c 80ac712: 1c5a adds r2, r3, #1 80ac714: 4b69 ldr r3, [pc, #420] ; (80ac8bc ) 80ac716: 781b ldrb r3, [r3, #0] 80ac718: b2db uxtb r3, r3 80ac71a: 4618 mov r0, r3 80ac71c: 4b68 ldr r3, [pc, #416] ; (80ac8c0 ) 80ac71e: 79db ldrb r3, [r3, #7] 80ac720: b2db uxtb r3, r3 80ac722: 461d mov r5, r3 80ac724: 4967 ldr r1, [pc, #412] ; (80ac8c4 ) 80ac726: 4603 mov r3, r0 80ac728: 009b lsls r3, r3, #2 80ac72a: 4403 add r3, r0 80ac72c: 440b add r3, r1 80ac72e: 442b add r3, r5 80ac730: 781b ldrb r3, [r3, #0] 80ac732: fb03 f302 mul.w r3, r3, r2 80ac736: 019b lsls r3, r3, #6 80ac738: 4423 add r3, r4 80ac73a: ee07 3a90 vmov s15, r3 80ac73e: eef8 7a67 vcvt.f32.u32 s15, s15 80ac742: 6afb ldr r3, [r7, #44] ; 0x2c 80ac744: 009b lsls r3, r3, #2 80ac746: f107 0230 add.w r2, r7, #48 ; 0x30 80ac74a: 4413 add r3, r2 80ac74c: 3b30 subs r3, #48 ; 0x30 80ac74e: edc3 7a00 vstr s15, [r3] fosc[i] *= Delta_OSC[k]; 80ac752: 6afb ldr r3, [r7, #44] ; 0x2c 80ac754: 009b lsls r3, r3, #2 80ac756: f107 0230 add.w r2, r7, #48 ; 0x30 80ac75a: 4413 add r3, r2 80ac75c: 3b30 subs r3, #48 ; 0x30 80ac75e: ed93 7a00 vldr s14, [r3] 80ac762: 4a59 ldr r2, [pc, #356] ; (80ac8c8 ) 80ac764: 6a7b ldr r3, [r7, #36] ; 0x24 80ac766: 009b lsls r3, r3, #2 80ac768: 4413 add r3, r2 80ac76a: edd3 7a00 vldr s15, [r3] 80ac76e: ee67 7a27 vmul.f32 s15, s14, s15 80ac772: 6afb ldr r3, [r7, #44] ; 0x2c 80ac774: 009b lsls r3, r3, #2 80ac776: f107 0230 add.w r2, r7, #48 ; 0x30 80ac77a: 4413 add r3, r2 80ac77c: 3b30 subs r3, #48 ; 0x30 80ac77e: edc3 7a00 vstr s15, [r3] if(fosc[i] >= 1000.0f) { 80ac782: 6afb ldr r3, [r7, #44] ; 0x2c 80ac784: 009b lsls r3, r3, #2 80ac786: f107 0230 add.w r2, r7, #48 ; 0x30 80ac78a: 4413 add r3, r2 80ac78c: 3b30 subs r3, #48 ; 0x30 80ac78e: edd3 7a00 vldr s15, [r3] 80ac792: ed9f 7a4e vldr s14, [pc, #312] ; 80ac8cc 80ac796: eef4 7ac7 vcmpe.f32 s15, s14 80ac79a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ac79e: db01 blt.n 80ac7a4 t = 1; 80ac7a0: 2301 movs r3, #1 80ac7a2: 62bb str r3, [r7, #40] ; 0x28 for(i = 0; i < 3; i++) 80ac7a4: 6afb ldr r3, [r7, #44] ; 0x2c 80ac7a6: 3301 adds r3, #1 80ac7a8: 62fb str r3, [r7, #44] ; 0x2c 80ac7aa: 6afb ldr r3, [r7, #44] ; 0x2c 80ac7ac: 2b02 cmp r3, #2 80ac7ae: d9ab bls.n 80ac708 for(i = 0; i < 3; i++) 80ac7b0: 2300 movs r3, #0 80ac7b2: 62fb str r3, [r7, #44] ; 0x2c 80ac7b4: e04e b.n 80ac854 if(t == 0) 80ac7b6: 6abb ldr r3, [r7, #40] ; 0x28 80ac7b8: 2b00 cmp r3, #0 80ac7ba: d11a bne.n 80ac7f2 BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -1), LEFT_MODE); 80ac7bc: 6afb ldr r3, [r7, #44] ; 0x2c 80ac7be: b29b uxth r3, r3 80ac7c0: 019b lsls r3, r3, #6 80ac7c2: b29b uxth r3, r3 80ac7c4: 3378 adds r3, #120 ; 0x78 80ac7c6: b29c uxth r4, r3 80ac7c8: 6afb ldr r3, [r7, #44] ; 0x2c 80ac7ca: 009b lsls r3, r3, #2 80ac7cc: f107 0230 add.w r2, r7, #48 ; 0x30 80ac7d0: 4413 add r3, r2 80ac7d2: 3b30 subs r3, #48 ; 0x30 80ac7d4: edd3 7a00 vldr s15, [r3] 80ac7d8: f04f 30ff mov.w r0, #4294967295 80ac7dc: eeb0 0a67 vmov.f32 s0, s15 80ac7e0: f7b9 ffaa bl 8066738 80ac7e4: 4602 mov r2, r0 80ac7e6: 2303 movs r3, #3 80ac7e8: 21e2 movs r1, #226 ; 0xe2 80ac7ea: 4620 mov r0, r4 80ac7ec: f7a7 f8c0 bl 8053970 80ac7f0: e02d b.n 80ac84e fosc[i] *= 0.001f; 80ac7f2: 6afb ldr r3, [r7, #44] ; 0x2c 80ac7f4: 009b lsls r3, r3, #2 80ac7f6: f107 0230 add.w r2, r7, #48 ; 0x30 80ac7fa: 4413 add r3, r2 80ac7fc: 3b30 subs r3, #48 ; 0x30 80ac7fe: edd3 7a00 vldr s15, [r3] 80ac802: ed9f 7a33 vldr s14, [pc, #204] ; 80ac8d0 80ac806: ee67 7a87 vmul.f32 s15, s15, s14 80ac80a: 6afb ldr r3, [r7, #44] ; 0x2c 80ac80c: 009b lsls r3, r3, #2 80ac80e: f107 0230 add.w r2, r7, #48 ; 0x30 80ac812: 4413 add r3, r2 80ac814: 3b30 subs r3, #48 ; 0x30 80ac816: edc3 7a00 vstr s15, [r3] BSP_LCD_DisplayStringAt(120 + (i << 6), 226, (char *)FloatToASCII(fosc[i], -3), LEFT_MODE); 80ac81a: 6afb ldr r3, [r7, #44] ; 0x2c 80ac81c: b29b uxth r3, r3 80ac81e: 019b lsls r3, r3, #6 80ac820: b29b uxth r3, r3 80ac822: 3378 adds r3, #120 ; 0x78 80ac824: b29c uxth r4, r3 80ac826: 6afb ldr r3, [r7, #44] ; 0x2c 80ac828: 009b lsls r3, r3, #2 80ac82a: f107 0230 add.w r2, r7, #48 ; 0x30 80ac82e: 4413 add r3, r2 80ac830: 3b30 subs r3, #48 ; 0x30 80ac832: edd3 7a00 vldr s15, [r3] 80ac836: f06f 0002 mvn.w r0, #2 80ac83a: eeb0 0a67 vmov.f32 s0, s15 80ac83e: f7b9 ff7b bl 8066738 80ac842: 4602 mov r2, r0 80ac844: 2303 movs r3, #3 80ac846: 21e2 movs r1, #226 ; 0xe2 80ac848: 4620 mov r0, r4 80ac84a: f7a7 f891 bl 8053970 for(i = 0; i < 3; i++) 80ac84e: 6afb ldr r3, [r7, #44] ; 0x2c 80ac850: 3301 adds r3, #1 80ac852: 62fb str r3, [r7, #44] ; 0x2c 80ac854: 6afb ldr r3, [r7, #44] ; 0x2c 80ac856: 2b02 cmp r3, #2 80ac858: d9ad bls.n 80ac7b6 if(pardata.LANG == RUS) 80ac85a: 4b19 ldr r3, [pc, #100] ; (80ac8c0 ) 80ac85c: 7b1b ldrb r3, [r3, #12] 80ac85e: b2db uxtb r3, r3 80ac860: 2b00 cmp r3, #0 80ac862: d112 bne.n 80ac88a if(t == 0) 80ac864: 6abb ldr r3, [r7, #40] ; 0x28 80ac866: 2b00 cmp r3, #0 80ac868: d107 bne.n 80ac87a BSP_LCD_DisplayStringAt(300, 226, "MC", LEFT_MODE); 80ac86a: 2303 movs r3, #3 80ac86c: 4a19 ldr r2, [pc, #100] ; (80ac8d4 ) 80ac86e: 21e2 movs r1, #226 ; 0xe2 80ac870: f44f 7096 mov.w r0, #300 ; 0x12c 80ac874: f7a7 f87c bl 8053970 } 80ac878: e01a b.n 80ac8b0 else BSP_LCD_DisplayStringAt(300, 226, "C", LEFT_MODE); 80ac87a: 2303 movs r3, #3 80ac87c: 4a16 ldr r2, [pc, #88] ; (80ac8d8 ) 80ac87e: 21e2 movs r1, #226 ; 0xe2 80ac880: f44f 7096 mov.w r0, #300 ; 0x12c 80ac884: f7a7 f874 bl 8053970 } 80ac888: e012 b.n 80ac8b0 if(t == 0) 80ac88a: 6abb ldr r3, [r7, #40] ; 0x28 80ac88c: 2b00 cmp r3, #0 80ac88e: d107 bne.n 80ac8a0 BSP_LCD_DisplayStringAt(300, 226, "ms", LEFT_MODE); 80ac890: 2303 movs r3, #3 80ac892: 4a12 ldr r2, [pc, #72] ; (80ac8dc ) 80ac894: 21e2 movs r1, #226 ; 0xe2 80ac896: f44f 7096 mov.w r0, #300 ; 0x12c 80ac89a: f7a7 f869 bl 8053970 } 80ac89e: e007 b.n 80ac8b0 else BSP_LCD_DisplayStringAt(300, 226, "s", LEFT_MODE); 80ac8a0: 2303 movs r3, #3 80ac8a2: 4a0f ldr r2, [pc, #60] ; (80ac8e0 ) 80ac8a4: 21e2 movs r1, #226 ; 0xe2 80ac8a6: f44f 7096 mov.w r0, #300 ; 0x12c 80ac8aa: f7a7 f861 bl 8053970 } 80ac8ae: e7ff b.n 80ac8b0 80ac8b0: bf00 nop 80ac8b2: 3730 adds r7, #48 ; 0x30 80ac8b4: 46bd mov sp, r7 80ac8b6: bdb0 pop {r4, r5, r7, pc} 80ac8b8: 20025d1e .word 0x20025d1e 80ac8bc: 20020f74 .word 0x20020f74 80ac8c0: 20023e60 .word 0x20023e60 80ac8c4: 080ef628 .word 0x080ef628 80ac8c8: 080ef678 .word 0x080ef678 80ac8cc: 447a0000 .word 0x447a0000 80ac8d0: 3a83126f .word 0x3a83126f 80ac8d4: 080d0b24 .word 0x080d0b24 80ac8d8: 080d0b20 .word 0x080d0b20 80ac8dc: 080d0abc .word 0x080d0abc 80ac8e0: 080d0aac .word 0x080d0aac 080ac8e4 : } } } void DrawButtons(uint8_t menupos) // TODO { 80ac8e4: b580 push {r7, lr} 80ac8e6: b082 sub sp, #8 80ac8e8: af00 add r7, sp, #0 80ac8ea: 4603 mov r3, r0 80ac8ec: 71fb strb r3, [r7, #7] BSP_LCD_SetFont(&Font12); 80ac8ee: 48ab ldr r0, [pc, #684] ; (80acb9c ) 80ac8f0: f7a6 ffb4 bl 805385c switch(menupos) 80ac8f4: 79fb ldrb r3, [r7, #7] 80ac8f6: 2b09 cmp r3, #9 80ac8f8: f200 8516 bhi.w 80ad328 80ac8fc: a201 add r2, pc, #4 ; (adr r2, 80ac904 ) 80ac8fe: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80ac902: bf00 nop 80ac904: 080aceb5 .word 0x080aceb5 80ac908: 080ad329 .word 0x080ad329 80ac90c: 080ac92d .word 0x080ac92d 80ac910: 080aca65 .word 0x080aca65 80ac914: 080acbf5 .word 0x080acbf5 80ac918: 080acd2b .word 0x080acd2b 80ac91c: 080ad00f .word 0x080ad00f 80ac920: 080ad329 .word 0x080ad329 80ac924: 080ad19d .word 0x080ad19d 80ac928: 080ad24b .word 0x080ad24b { case ImageLeft: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ac92c: 499c ldr r1, [pc, #624] ; (80acba0 ) 80ac92e: f04f 30ff mov.w r0, #4294967295 80ac932: f7a6 ff57 bl 80537e4 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80ac936: 4b9b ldr r3, [pc, #620] ; (80acba4 ) 80ac938: 781b ldrb r3, [r3, #0] 80ac93a: b2db uxtb r3, r3 80ac93c: 2b1c cmp r3, #28 80ac93e: d00e beq.n 80ac95e 80ac940: 4b98 ldr r3, [pc, #608] ; (80acba4 ) 80ac942: 781b ldrb r3, [r3, #0] 80ac944: b2db uxtb r3, r3 80ac946: 2b21 cmp r3, #33 ; 0x21 80ac948: d009 beq.n 80ac95e 80ac94a: 4b96 ldr r3, [pc, #600] ; (80acba4 ) 80ac94c: 781b ldrb r3, [r3, #0] 80ac94e: b2db uxtb r3, r3 80ac950: 2b22 cmp r3, #34 ; 0x22 80ac952: d004 beq.n 80ac95e 80ac954: 4b93 ldr r3, [pc, #588] ; (80acba4 ) 80ac956: 781b ldrb r3, [r3, #0] 80ac958: b2db uxtb r3, r3 80ac95a: 2b23 cmp r3, #35 ; 0x23 80ac95c: d109 bne.n 80ac972 80ac95e: 4b92 ldr r3, [pc, #584] ; (80acba8 ) 80ac960: 781b ldrb r3, [r3, #0] 80ac962: b2db uxtb r3, r3 80ac964: 2b00 cmp r3, #0 80ac966: d004 beq.n 80ac972 DrawImage(&bmOSC_SAVE, 3, 108-26); 80ac968: 2252 movs r2, #82 ; 0x52 80ac96a: 2103 movs r1, #3 80ac96c: 488f ldr r0, [pc, #572] ; (80acbac ) 80ac96e: f7a7 fe2d bl 80545cc if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80ac972: 4b8c ldr r3, [pc, #560] ; (80acba4 ) 80ac974: 781b ldrb r3, [r3, #0] 80ac976: b2db uxtb r3, r3 80ac978: 2b24 cmp r3, #36 ; 0x24 80ac97a: d004 beq.n 80ac986 80ac97c: 4b89 ldr r3, [pc, #548] ; (80acba4 ) 80ac97e: 781b ldrb r3, [r3, #0] 80ac980: b2db uxtb r3, r3 80ac982: 2b27 cmp r3, #39 ; 0x27 80ac984: d109 bne.n 80ac99a 80ac986: 4b8a ldr r3, [pc, #552] ; (80acbb0 ) 80ac988: 781b ldrb r3, [r3, #0] 80ac98a: b2db uxtb r3, r3 80ac98c: 2b00 cmp r3, #0 80ac98e: d004 beq.n 80ac99a DrawImage(&bmRESULT_1, 3, 108-26); 80ac990: 2252 movs r2, #82 ; 0x52 80ac992: 2103 movs r1, #3 80ac994: 4887 ldr r0, [pc, #540] ; (80acbb4 ) 80ac996: f7a7 fe19 bl 80545cc DrawImage(&bmLEFT_1_LIGHT, 3, 108); 80ac99a: 226c movs r2, #108 ; 0x6c 80ac99c: 2103 movs r1, #3 80ac99e: 4886 ldr r0, [pc, #536] ; (80acbb8 ) 80ac9a0: f7a7 fe14 bl 80545cc DrawImage(&bmRIGHT_1, 3, 108+26); 80ac9a4: 2286 movs r2, #134 ; 0x86 80ac9a6: 2103 movs r1, #3 80ac9a8: 4884 ldr r0, [pc, #528] ; (80acbbc ) 80ac9aa: f7a7 fe0f bl 80545cc DrawImage(&bmPLUS_1, 3, 108+52); 80ac9ae: 22a0 movs r2, #160 ; 0xa0 80ac9b0: 2103 movs r1, #3 80ac9b2: 4883 ldr r0, [pc, #524] ; (80acbc0 ) 80ac9b4: f7a7 fe0a bl 80545cc DrawImage(&bmMINUS_1, 3, 108+78); 80ac9b8: 22ba movs r2, #186 ; 0xba 80ac9ba: 2103 movs r1, #3 80ac9bc: 4881 ldr r0, [pc, #516] ; (80acbc4 ) 80ac9be: f7a7 fe05 bl 80545cc if(menu < VIEW_PORTRET) 80ac9c2: 4b78 ldr r3, [pc, #480] ; (80acba4 ) 80ac9c4: 781b ldrb r3, [r3, #0] 80ac9c6: b2db uxtb r3, r3 80ac9c8: 2b27 cmp r3, #39 ; 0x27 80ac9ca: d822 bhi.n 80aca12 { DrawImage(&bmPLAY_1, 3, 108+104); 80ac9cc: 22d4 movs r2, #212 ; 0xd4 80ac9ce: 2103 movs r1, #3 80ac9d0: 487d ldr r0, [pc, #500] ; (80acbc8 ) 80ac9d2: f7a7 fdfb bl 80545cc if(measuring) 80ac9d6: 4b7d ldr r3, [pc, #500] ; (80acbcc ) 80ac9d8: 781b ldrb r3, [r3, #0] 80ac9da: b2db uxtb r3, r3 80ac9dc: 2b00 cmp r3, #0 80ac9de: d00c beq.n 80ac9fa BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80ac9e0: 4b7b ldr r3, [pc, #492] ; (80acbd0 ) 80ac9e2: 7b1b ldrb r3, [r3, #12] 80ac9e4: b2db uxtb r3, r3 80ac9e6: 4a7b ldr r2, [pc, #492] ; (80acbd4 ) 80ac9e8: 00db lsls r3, r3, #3 80ac9ea: 4413 add r3, r2 80ac9ec: 685a ldr r2, [r3, #4] 80ac9ee: 2301 movs r3, #1 80ac9f0: 21db movs r1, #219 ; 0xdb 80ac9f2: 201e movs r0, #30 80ac9f4: f7a6 ffbc bl 8053970 80ac9f8: e00b b.n 80aca12 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80ac9fa: 4b75 ldr r3, [pc, #468] ; (80acbd0 ) 80ac9fc: 7b1b ldrb r3, [r3, #12] 80ac9fe: b2db uxtb r3, r3 80aca00: 461a mov r2, r3 80aca02: 4b74 ldr r3, [pc, #464] ; (80acbd4 ) 80aca04: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80aca08: 2301 movs r3, #1 80aca0a: 21db movs r1, #219 ; 0xdb 80aca0c: 201e movs r0, #30 80aca0e: f7a6 ffaf bl 8053970 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80aca12: 4b64 ldr r3, [pc, #400] ; (80acba4 ) 80aca14: 781b ldrb r3, [r3, #0] 80aca16: b2db uxtb r3, r3 80aca18: 2b1d cmp r3, #29 80aca1a: f040 8476 bne.w 80ad30a 80aca1e: 4b6e ldr r3, [pc, #440] ; (80acbd8 ) 80aca20: 781b ldrb r3, [r3, #0] 80aca22: b2db uxtb r3, r3 80aca24: f083 0301 eor.w r3, r3, #1 80aca28: b2db uxtb r3, r3 80aca2a: 2b00 cmp r3, #0 80aca2c: f000 846d beq.w 80ad30a 80aca30: 4b6a ldr r3, [pc, #424] ; (80acbdc ) 80aca32: 881b ldrh r3, [r3, #0] 80aca34: b29b uxth r3, r3 80aca36: 009b lsls r3, r3, #2 80aca38: 461a mov r2, r3 80aca3a: 4b69 ldr r3, [pc, #420] ; (80acbe0 ) 80aca3c: 681b ldr r3, [r3, #0] 80aca3e: 429a cmp r2, r3 80aca40: f080 8463 bcs.w 80ad30a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80aca44: 4956 ldr r1, [pc, #344] ; (80acba0 ) 80aca46: 4867 ldr r0, [pc, #412] ; (80acbe4 ) 80aca48: f7a6 fecc bl 80537e4 BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80aca4c: 4b66 ldr r3, [pc, #408] ; (80acbe8 ) 80aca4e: 681b ldr r3, [r3, #0] 80aca50: b29b uxth r3, r3 80aca52: 333e adds r3, #62 ; 0x3e 80aca54: b29b uxth r3, r3 80aca56: 22bf movs r2, #191 ; 0xbf 80aca58: 212c movs r1, #44 ; 0x2c 80aca5a: 4618 mov r0, r3 80aca5c: f7a7 f89a bl 8053b94 } break; 80aca60: f000 bc53 b.w 80ad30a case ZoomIn: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80aca64: 494e ldr r1, [pc, #312] ; (80acba0 ) 80aca66: f04f 30ff mov.w r0, #4294967295 80aca6a: f7a6 febb bl 80537e4 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80aca6e: 4b4d ldr r3, [pc, #308] ; (80acba4 ) 80aca70: 781b ldrb r3, [r3, #0] 80aca72: b2db uxtb r3, r3 80aca74: 2b1c cmp r3, #28 80aca76: d00e beq.n 80aca96 80aca78: 4b4a ldr r3, [pc, #296] ; (80acba4 ) 80aca7a: 781b ldrb r3, [r3, #0] 80aca7c: b2db uxtb r3, r3 80aca7e: 2b21 cmp r3, #33 ; 0x21 80aca80: d009 beq.n 80aca96 80aca82: 4b48 ldr r3, [pc, #288] ; (80acba4 ) 80aca84: 781b ldrb r3, [r3, #0] 80aca86: b2db uxtb r3, r3 80aca88: 2b22 cmp r3, #34 ; 0x22 80aca8a: d004 beq.n 80aca96 80aca8c: 4b45 ldr r3, [pc, #276] ; (80acba4 ) 80aca8e: 781b ldrb r3, [r3, #0] 80aca90: b2db uxtb r3, r3 80aca92: 2b23 cmp r3, #35 ; 0x23 80aca94: d109 bne.n 80acaaa 80aca96: 4b44 ldr r3, [pc, #272] ; (80acba8 ) 80aca98: 781b ldrb r3, [r3, #0] 80aca9a: b2db uxtb r3, r3 80aca9c: 2b00 cmp r3, #0 80aca9e: d004 beq.n 80acaaa DrawImage(&bmOSC_SAVE, 3, 108-26); 80acaa0: 2252 movs r2, #82 ; 0x52 80acaa2: 2103 movs r1, #3 80acaa4: 4841 ldr r0, [pc, #260] ; (80acbac ) 80acaa6: f7a7 fd91 bl 80545cc if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80acaaa: 4b3e ldr r3, [pc, #248] ; (80acba4 ) 80acaac: 781b ldrb r3, [r3, #0] 80acaae: b2db uxtb r3, r3 80acab0: 2b24 cmp r3, #36 ; 0x24 80acab2: d004 beq.n 80acabe 80acab4: 4b3b ldr r3, [pc, #236] ; (80acba4 ) 80acab6: 781b ldrb r3, [r3, #0] 80acab8: b2db uxtb r3, r3 80acaba: 2b27 cmp r3, #39 ; 0x27 80acabc: d109 bne.n 80acad2 80acabe: 4b3c ldr r3, [pc, #240] ; (80acbb0 ) 80acac0: 781b ldrb r3, [r3, #0] 80acac2: b2db uxtb r3, r3 80acac4: 2b00 cmp r3, #0 80acac6: d004 beq.n 80acad2 DrawImage(&bmRESULT_1, 3, 108-26); 80acac8: 2252 movs r2, #82 ; 0x52 80acaca: 2103 movs r1, #3 80acacc: 4839 ldr r0, [pc, #228] ; (80acbb4 ) 80acace: f7a7 fd7d bl 80545cc DrawImage(&bmLEFT_1, 3, 108); 80acad2: 226c movs r2, #108 ; 0x6c 80acad4: 2103 movs r1, #3 80acad6: 4845 ldr r0, [pc, #276] ; (80acbec ) 80acad8: f7a7 fd78 bl 80545cc DrawImage(&bmRIGHT_1, 3, 108+26); 80acadc: 2286 movs r2, #134 ; 0x86 80acade: 2103 movs r1, #3 80acae0: 4836 ldr r0, [pc, #216] ; (80acbbc ) 80acae2: f7a7 fd73 bl 80545cc DrawImage(&bmPLUS_1_LIGHT, 3, 108+52); 80acae6: 22a0 movs r2, #160 ; 0xa0 80acae8: 2103 movs r1, #3 80acaea: 4841 ldr r0, [pc, #260] ; (80acbf0 ) 80acaec: f7a7 fd6e bl 80545cc DrawImage(&bmMINUS_1, 3, 108+78); 80acaf0: 22ba movs r2, #186 ; 0xba 80acaf2: 2103 movs r1, #3 80acaf4: 4833 ldr r0, [pc, #204] ; (80acbc4 ) 80acaf6: f7a7 fd69 bl 80545cc if(menu < VIEW_PORTRET) 80acafa: 4b2a ldr r3, [pc, #168] ; (80acba4 ) 80acafc: 781b ldrb r3, [r3, #0] 80acafe: b2db uxtb r3, r3 80acb00: 2b27 cmp r3, #39 ; 0x27 80acb02: d822 bhi.n 80acb4a { DrawImage(&bmPLAY_1, 3, 108+104); 80acb04: 22d4 movs r2, #212 ; 0xd4 80acb06: 2103 movs r1, #3 80acb08: 482f ldr r0, [pc, #188] ; (80acbc8 ) 80acb0a: f7a7 fd5f bl 80545cc if(measuring) 80acb0e: 4b2f ldr r3, [pc, #188] ; (80acbcc ) 80acb10: 781b ldrb r3, [r3, #0] 80acb12: b2db uxtb r3, r3 80acb14: 2b00 cmp r3, #0 80acb16: d00c beq.n 80acb32 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80acb18: 4b2d ldr r3, [pc, #180] ; (80acbd0 ) 80acb1a: 7b1b ldrb r3, [r3, #12] 80acb1c: b2db uxtb r3, r3 80acb1e: 4a2d ldr r2, [pc, #180] ; (80acbd4 ) 80acb20: 00db lsls r3, r3, #3 80acb22: 4413 add r3, r2 80acb24: 685a ldr r2, [r3, #4] 80acb26: 2301 movs r3, #1 80acb28: 21db movs r1, #219 ; 0xdb 80acb2a: 201e movs r0, #30 80acb2c: f7a6 ff20 bl 8053970 80acb30: e00b b.n 80acb4a else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80acb32: 4b27 ldr r3, [pc, #156] ; (80acbd0 ) 80acb34: 7b1b ldrb r3, [r3, #12] 80acb36: b2db uxtb r3, r3 80acb38: 461a mov r2, r3 80acb3a: 4b26 ldr r3, [pc, #152] ; (80acbd4 ) 80acb3c: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80acb40: 2301 movs r3, #1 80acb42: 21db movs r1, #219 ; 0xdb 80acb44: 201e movs r0, #30 80acb46: f7a6 ff13 bl 8053970 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80acb4a: 4b16 ldr r3, [pc, #88] ; (80acba4 ) 80acb4c: 781b ldrb r3, [r3, #0] 80acb4e: b2db uxtb r3, r3 80acb50: 2b1d cmp r3, #29 80acb52: f040 83dc bne.w 80ad30e 80acb56: 4b20 ldr r3, [pc, #128] ; (80acbd8 ) 80acb58: 781b ldrb r3, [r3, #0] 80acb5a: b2db uxtb r3, r3 80acb5c: f083 0301 eor.w r3, r3, #1 80acb60: b2db uxtb r3, r3 80acb62: 2b00 cmp r3, #0 80acb64: f000 83d3 beq.w 80ad30e 80acb68: 4b1c ldr r3, [pc, #112] ; (80acbdc ) 80acb6a: 881b ldrh r3, [r3, #0] 80acb6c: b29b uxth r3, r3 80acb6e: 009b lsls r3, r3, #2 80acb70: 461a mov r2, r3 80acb72: 4b1b ldr r3, [pc, #108] ; (80acbe0 ) 80acb74: 681b ldr r3, [r3, #0] 80acb76: 429a cmp r2, r3 80acb78: f080 83c9 bcs.w 80ad30e { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80acb7c: 4908 ldr r1, [pc, #32] ; (80acba0 ) 80acb7e: 4819 ldr r0, [pc, #100] ; (80acbe4 ) 80acb80: f7a6 fe30 bl 80537e4 BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80acb84: 4b18 ldr r3, [pc, #96] ; (80acbe8 ) 80acb86: 681b ldr r3, [r3, #0] 80acb88: b29b uxth r3, r3 80acb8a: 333e adds r3, #62 ; 0x3e 80acb8c: b29b uxth r3, r3 80acb8e: 22bf movs r2, #191 ; 0xbf 80acb90: 212c movs r1, #44 ; 0x2c 80acb92: 4618 mov r0, r3 80acb94: f7a6 fffe bl 8053b94 } break; 80acb98: e3b9 b.n 80ad30e 80acb9a: bf00 nop 80acb9c: 20020038 .word 0x20020038 80acba0: ff0a0f1f .word 0xff0a0f1f 80acba4: 20020f78 .word 0x20020f78 80acba8: 20020d8e .word 0x20020d8e 80acbac: 0813d2f8 .word 0x0813d2f8 80acbb0: 20020d68 .word 0x20020d68 80acbb4: 081455ac .word 0x081455ac 80acbb8: 08114d74 .word 0x08114d74 80acbbc: 08146c1c .word 0x08146c1c 80acbc0: 081432e4 .word 0x081432e4 80acbc4: 0813b65c .word 0x0813b65c 80acbc8: 08141c74 .word 0x08141c74 80acbcc: 20020daf .word 0x20020daf 80acbd0: 20023e60 .word 0x20023e60 80acbd4: 200201cc .word 0x200201cc 80acbd8: 20020db2 .word 0x20020db2 80acbdc: 20021d20 .word 0x20021d20 80acbe0: 20020da8 .word 0x20020da8 80acbe4: ff808080 .word 0xff808080 80acbe8: 2002006c .word 0x2002006c 80acbec: 0811423c .word 0x0811423c 80acbf0: 08143e1c .word 0x08143e1c case ZoomOut: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80acbf4: 499a ldr r1, [pc, #616] ; (80ace60 ) 80acbf6: f04f 30ff mov.w r0, #4294967295 80acbfa: f7a6 fdf3 bl 80537e4 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80acbfe: 4b99 ldr r3, [pc, #612] ; (80ace64 ) 80acc00: 781b ldrb r3, [r3, #0] 80acc02: b2db uxtb r3, r3 80acc04: 2b1c cmp r3, #28 80acc06: d00e beq.n 80acc26 80acc08: 4b96 ldr r3, [pc, #600] ; (80ace64 ) 80acc0a: 781b ldrb r3, [r3, #0] 80acc0c: b2db uxtb r3, r3 80acc0e: 2b21 cmp r3, #33 ; 0x21 80acc10: d009 beq.n 80acc26 80acc12: 4b94 ldr r3, [pc, #592] ; (80ace64 ) 80acc14: 781b ldrb r3, [r3, #0] 80acc16: b2db uxtb r3, r3 80acc18: 2b22 cmp r3, #34 ; 0x22 80acc1a: d004 beq.n 80acc26 80acc1c: 4b91 ldr r3, [pc, #580] ; (80ace64 ) 80acc1e: 781b ldrb r3, [r3, #0] 80acc20: b2db uxtb r3, r3 80acc22: 2b23 cmp r3, #35 ; 0x23 80acc24: d109 bne.n 80acc3a 80acc26: 4b90 ldr r3, [pc, #576] ; (80ace68 ) 80acc28: 781b ldrb r3, [r3, #0] 80acc2a: b2db uxtb r3, r3 80acc2c: 2b00 cmp r3, #0 80acc2e: d004 beq.n 80acc3a DrawImage(&bmOSC_SAVE, 3, 108-26); 80acc30: 2252 movs r2, #82 ; 0x52 80acc32: 2103 movs r1, #3 80acc34: 488d ldr r0, [pc, #564] ; (80ace6c ) 80acc36: f7a7 fcc9 bl 80545cc if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80acc3a: 4b8a ldr r3, [pc, #552] ; (80ace64 ) 80acc3c: 781b ldrb r3, [r3, #0] 80acc3e: b2db uxtb r3, r3 80acc40: 2b24 cmp r3, #36 ; 0x24 80acc42: d004 beq.n 80acc4e 80acc44: 4b87 ldr r3, [pc, #540] ; (80ace64 ) 80acc46: 781b ldrb r3, [r3, #0] 80acc48: b2db uxtb r3, r3 80acc4a: 2b27 cmp r3, #39 ; 0x27 80acc4c: d109 bne.n 80acc62 80acc4e: 4b88 ldr r3, [pc, #544] ; (80ace70 ) 80acc50: 781b ldrb r3, [r3, #0] 80acc52: b2db uxtb r3, r3 80acc54: 2b00 cmp r3, #0 80acc56: d004 beq.n 80acc62 DrawImage(&bmRESULT_1, 3, 108-26); 80acc58: 2252 movs r2, #82 ; 0x52 80acc5a: 2103 movs r1, #3 80acc5c: 4885 ldr r0, [pc, #532] ; (80ace74 ) 80acc5e: f7a7 fcb5 bl 80545cc DrawImage(&bmLEFT_1, 3, 108); 80acc62: 226c movs r2, #108 ; 0x6c 80acc64: 2103 movs r1, #3 80acc66: 4884 ldr r0, [pc, #528] ; (80ace78 ) 80acc68: f7a7 fcb0 bl 80545cc DrawImage(&bmRIGHT_1, 3, 108+26); 80acc6c: 2286 movs r2, #134 ; 0x86 80acc6e: 2103 movs r1, #3 80acc70: 4882 ldr r0, [pc, #520] ; (80ace7c ) 80acc72: f7a7 fcab bl 80545cc DrawImage(&bmPLUS_1, 3, 108+52); 80acc76: 22a0 movs r2, #160 ; 0xa0 80acc78: 2103 movs r1, #3 80acc7a: 4881 ldr r0, [pc, #516] ; (80ace80 ) 80acc7c: f7a7 fca6 bl 80545cc DrawImage(&bmMINUS_1_LIGHT, 3, 108+78); 80acc80: 22ba movs r2, #186 ; 0xba 80acc82: 2103 movs r1, #3 80acc84: 487f ldr r0, [pc, #508] ; (80ace84 ) 80acc86: f7a7 fca1 bl 80545cc if(menu < VIEW_PORTRET) 80acc8a: 4b76 ldr r3, [pc, #472] ; (80ace64 ) 80acc8c: 781b ldrb r3, [r3, #0] 80acc8e: b2db uxtb r3, r3 80acc90: 2b27 cmp r3, #39 ; 0x27 80acc92: d822 bhi.n 80accda { DrawImage(&bmPLAY_1, 3, 108+104); 80acc94: 22d4 movs r2, #212 ; 0xd4 80acc96: 2103 movs r1, #3 80acc98: 487b ldr r0, [pc, #492] ; (80ace88 ) 80acc9a: f7a7 fc97 bl 80545cc if(measuring) 80acc9e: 4b7b ldr r3, [pc, #492] ; (80ace8c ) 80acca0: 781b ldrb r3, [r3, #0] 80acca2: b2db uxtb r3, r3 80acca4: 2b00 cmp r3, #0 80acca6: d00c beq.n 80accc2 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80acca8: 4b79 ldr r3, [pc, #484] ; (80ace90 ) 80accaa: 7b1b ldrb r3, [r3, #12] 80accac: b2db uxtb r3, r3 80accae: 4a79 ldr r2, [pc, #484] ; (80ace94 ) 80accb0: 00db lsls r3, r3, #3 80accb2: 4413 add r3, r2 80accb4: 685a ldr r2, [r3, #4] 80accb6: 2301 movs r3, #1 80accb8: 21db movs r1, #219 ; 0xdb 80accba: 201e movs r0, #30 80accbc: f7a6 fe58 bl 8053970 80accc0: e00b b.n 80accda else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80accc2: 4b73 ldr r3, [pc, #460] ; (80ace90 ) 80accc4: 7b1b ldrb r3, [r3, #12] 80accc6: b2db uxtb r3, r3 80accc8: 461a mov r2, r3 80accca: 4b72 ldr r3, [pc, #456] ; (80ace94 ) 80acccc: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80accd0: 2301 movs r3, #1 80accd2: 21db movs r1, #219 ; 0xdb 80accd4: 201e movs r0, #30 80accd6: f7a6 fe4b bl 8053970 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80accda: 4b62 ldr r3, [pc, #392] ; (80ace64 ) 80accdc: 781b ldrb r3, [r3, #0] 80accde: b2db uxtb r3, r3 80acce0: 2b1d cmp r3, #29 80acce2: f040 8316 bne.w 80ad312 80acce6: 4b6c ldr r3, [pc, #432] ; (80ace98 ) 80acce8: 781b ldrb r3, [r3, #0] 80accea: b2db uxtb r3, r3 80accec: f083 0301 eor.w r3, r3, #1 80accf0: b2db uxtb r3, r3 80accf2: 2b00 cmp r3, #0 80accf4: f000 830d beq.w 80ad312 80accf8: 4b68 ldr r3, [pc, #416] ; (80ace9c ) 80accfa: 881b ldrh r3, [r3, #0] 80accfc: b29b uxth r3, r3 80accfe: 009b lsls r3, r3, #2 80acd00: 461a mov r2, r3 80acd02: 4b67 ldr r3, [pc, #412] ; (80acea0 ) 80acd04: 681b ldr r3, [r3, #0] 80acd06: 429a cmp r2, r3 80acd08: f080 8303 bcs.w 80ad312 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80acd0c: 4954 ldr r1, [pc, #336] ; (80ace60 ) 80acd0e: 4865 ldr r0, [pc, #404] ; (80acea4 ) 80acd10: f7a6 fd68 bl 80537e4 BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80acd14: 4b64 ldr r3, [pc, #400] ; (80acea8 ) 80acd16: 681b ldr r3, [r3, #0] 80acd18: b29b uxth r3, r3 80acd1a: 333e adds r3, #62 ; 0x3e 80acd1c: b29b uxth r3, r3 80acd1e: 22bf movs r2, #191 ; 0xbf 80acd20: 212c movs r1, #44 ; 0x2c 80acd22: 4618 mov r0, r3 80acd24: f7a6 ff36 bl 8053b94 } break; 80acd28: e2f3 b.n 80ad312 case ImageRight: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80acd2a: 494d ldr r1, [pc, #308] ; (80ace60 ) 80acd2c: f04f 30ff mov.w r0, #4294967295 80acd30: f7a6 fd58 bl 80537e4 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80acd34: 4b4b ldr r3, [pc, #300] ; (80ace64 ) 80acd36: 781b ldrb r3, [r3, #0] 80acd38: b2db uxtb r3, r3 80acd3a: 2b1c cmp r3, #28 80acd3c: d00e beq.n 80acd5c 80acd3e: 4b49 ldr r3, [pc, #292] ; (80ace64 ) 80acd40: 781b ldrb r3, [r3, #0] 80acd42: b2db uxtb r3, r3 80acd44: 2b21 cmp r3, #33 ; 0x21 80acd46: d009 beq.n 80acd5c 80acd48: 4b46 ldr r3, [pc, #280] ; (80ace64 ) 80acd4a: 781b ldrb r3, [r3, #0] 80acd4c: b2db uxtb r3, r3 80acd4e: 2b22 cmp r3, #34 ; 0x22 80acd50: d004 beq.n 80acd5c 80acd52: 4b44 ldr r3, [pc, #272] ; (80ace64 ) 80acd54: 781b ldrb r3, [r3, #0] 80acd56: b2db uxtb r3, r3 80acd58: 2b23 cmp r3, #35 ; 0x23 80acd5a: d109 bne.n 80acd70 80acd5c: 4b42 ldr r3, [pc, #264] ; (80ace68 ) 80acd5e: 781b ldrb r3, [r3, #0] 80acd60: b2db uxtb r3, r3 80acd62: 2b00 cmp r3, #0 80acd64: d004 beq.n 80acd70 DrawImage(&bmOSC_SAVE, 3, 108-26); 80acd66: 2252 movs r2, #82 ; 0x52 80acd68: 2103 movs r1, #3 80acd6a: 4840 ldr r0, [pc, #256] ; (80ace6c ) 80acd6c: f7a7 fc2e bl 80545cc if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80acd70: 4b3c ldr r3, [pc, #240] ; (80ace64 ) 80acd72: 781b ldrb r3, [r3, #0] 80acd74: b2db uxtb r3, r3 80acd76: 2b24 cmp r3, #36 ; 0x24 80acd78: d004 beq.n 80acd84 80acd7a: 4b3a ldr r3, [pc, #232] ; (80ace64 ) 80acd7c: 781b ldrb r3, [r3, #0] 80acd7e: b2db uxtb r3, r3 80acd80: 2b27 cmp r3, #39 ; 0x27 80acd82: d109 bne.n 80acd98 80acd84: 4b3a ldr r3, [pc, #232] ; (80ace70 ) 80acd86: 781b ldrb r3, [r3, #0] 80acd88: b2db uxtb r3, r3 80acd8a: 2b00 cmp r3, #0 80acd8c: d004 beq.n 80acd98 DrawImage(&bmRESULT_1, 3, 108-26); 80acd8e: 2252 movs r2, #82 ; 0x52 80acd90: 2103 movs r1, #3 80acd92: 4838 ldr r0, [pc, #224] ; (80ace74 ) 80acd94: f7a7 fc1a bl 80545cc DrawImage(&bmLEFT_1, 3, 108); 80acd98: 226c movs r2, #108 ; 0x6c 80acd9a: 2103 movs r1, #3 80acd9c: 4836 ldr r0, [pc, #216] ; (80ace78 ) 80acd9e: f7a7 fc15 bl 80545cc DrawImage(&bmRIGHT_1_LIGHT, 3, 108+26); 80acda2: 2286 movs r2, #134 ; 0x86 80acda4: 2103 movs r1, #3 80acda6: 4841 ldr r0, [pc, #260] ; (80aceac ) 80acda8: f7a7 fc10 bl 80545cc DrawImage(&bmPLUS_1, 3, 108+52); 80acdac: 22a0 movs r2, #160 ; 0xa0 80acdae: 2103 movs r1, #3 80acdb0: 4833 ldr r0, [pc, #204] ; (80ace80 ) 80acdb2: f7a7 fc0b bl 80545cc DrawImage(&bmMINUS_1, 3, 108+78); 80acdb6: 22ba movs r2, #186 ; 0xba 80acdb8: 2103 movs r1, #3 80acdba: 483d ldr r0, [pc, #244] ; (80aceb0 ) 80acdbc: f7a7 fc06 bl 80545cc if(menu < VIEW_PORTRET) 80acdc0: 4b28 ldr r3, [pc, #160] ; (80ace64 ) 80acdc2: 781b ldrb r3, [r3, #0] 80acdc4: b2db uxtb r3, r3 80acdc6: 2b27 cmp r3, #39 ; 0x27 80acdc8: d822 bhi.n 80ace10 { DrawImage(&bmPLAY_1, 3, 108+104); 80acdca: 22d4 movs r2, #212 ; 0xd4 80acdcc: 2103 movs r1, #3 80acdce: 482e ldr r0, [pc, #184] ; (80ace88 ) 80acdd0: f7a7 fbfc bl 80545cc if(measuring) 80acdd4: 4b2d ldr r3, [pc, #180] ; (80ace8c ) 80acdd6: 781b ldrb r3, [r3, #0] 80acdd8: b2db uxtb r3, r3 80acdda: 2b00 cmp r3, #0 80acddc: d00c beq.n 80acdf8 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80acdde: 4b2c ldr r3, [pc, #176] ; (80ace90 ) 80acde0: 7b1b ldrb r3, [r3, #12] 80acde2: b2db uxtb r3, r3 80acde4: 4a2b ldr r2, [pc, #172] ; (80ace94 ) 80acde6: 00db lsls r3, r3, #3 80acde8: 4413 add r3, r2 80acdea: 685a ldr r2, [r3, #4] 80acdec: 2301 movs r3, #1 80acdee: 21db movs r1, #219 ; 0xdb 80acdf0: 201e movs r0, #30 80acdf2: f7a6 fdbd bl 8053970 80acdf6: e00b b.n 80ace10 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80acdf8: 4b25 ldr r3, [pc, #148] ; (80ace90 ) 80acdfa: 7b1b ldrb r3, [r3, #12] 80acdfc: b2db uxtb r3, r3 80acdfe: 461a mov r2, r3 80ace00: 4b24 ldr r3, [pc, #144] ; (80ace94 ) 80ace02: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80ace06: 2301 movs r3, #1 80ace08: 21db movs r1, #219 ; 0xdb 80ace0a: 201e movs r0, #30 80ace0c: f7a6 fdb0 bl 8053970 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80ace10: 4b14 ldr r3, [pc, #80] ; (80ace64 ) 80ace12: 781b ldrb r3, [r3, #0] 80ace14: b2db uxtb r3, r3 80ace16: 2b1d cmp r3, #29 80ace18: f040 827d bne.w 80ad316 80ace1c: 4b1e ldr r3, [pc, #120] ; (80ace98 ) 80ace1e: 781b ldrb r3, [r3, #0] 80ace20: b2db uxtb r3, r3 80ace22: f083 0301 eor.w r3, r3, #1 80ace26: b2db uxtb r3, r3 80ace28: 2b00 cmp r3, #0 80ace2a: f000 8274 beq.w 80ad316 80ace2e: 4b1b ldr r3, [pc, #108] ; (80ace9c ) 80ace30: 881b ldrh r3, [r3, #0] 80ace32: b29b uxth r3, r3 80ace34: 009b lsls r3, r3, #2 80ace36: 461a mov r2, r3 80ace38: 4b19 ldr r3, [pc, #100] ; (80acea0 ) 80ace3a: 681b ldr r3, [r3, #0] 80ace3c: 429a cmp r2, r3 80ace3e: f080 826a bcs.w 80ad316 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ace42: 4907 ldr r1, [pc, #28] ; (80ace60 ) 80ace44: 4817 ldr r0, [pc, #92] ; (80acea4 ) 80ace46: f7a6 fccd bl 80537e4 BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80ace4a: 4b17 ldr r3, [pc, #92] ; (80acea8 ) 80ace4c: 681b ldr r3, [r3, #0] 80ace4e: b29b uxth r3, r3 80ace50: 333e adds r3, #62 ; 0x3e 80ace52: b29b uxth r3, r3 80ace54: 22bf movs r2, #191 ; 0xbf 80ace56: 212c movs r1, #44 ; 0x2c 80ace58: 4618 mov r0, r3 80ace5a: f7a6 fe9b bl 8053b94 } break; 80ace5e: e25a b.n 80ad316 80ace60: ff0a0f1f .word 0xff0a0f1f 80ace64: 20020f78 .word 0x20020f78 80ace68: 20020d8e .word 0x20020d8e 80ace6c: 0813d2f8 .word 0x0813d2f8 80ace70: 20020d68 .word 0x20020d68 80ace74: 081455ac .word 0x081455ac 80ace78: 0811423c .word 0x0811423c 80ace7c: 08146c1c .word 0x08146c1c 80ace80: 081432e4 .word 0x081432e4 80ace84: 0813c194 .word 0x0813c194 80ace88: 08141c74 .word 0x08141c74 80ace8c: 20020daf .word 0x20020daf 80ace90: 20023e60 .word 0x20023e60 80ace94: 200201cc .word 0x200201cc 80ace98: 20020db2 .word 0x20020db2 80ace9c: 20021d20 .word 0x20021d20 80acea0: 20020da8 .word 0x20020da8 80acea4: ff808080 .word 0xff808080 80acea8: 2002006c .word 0x2002006c 80aceac: 08147754 .word 0x08147754 80aceb0: 0813b65c .word 0x0813b65c case StartStop: LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80aceb4: 49a3 ldr r1, [pc, #652] ; (80ad144 ) 80aceb6: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80aceba: f7a6 fc93 bl 80537e4 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80acebe: 4ba2 ldr r3, [pc, #648] ; (80ad148 ) 80acec0: 781b ldrb r3, [r3, #0] 80acec2: b2db uxtb r3, r3 80acec4: 2b1c cmp r3, #28 80acec6: d00e beq.n 80acee6 80acec8: 4b9f ldr r3, [pc, #636] ; (80ad148 ) 80aceca: 781b ldrb r3, [r3, #0] 80acecc: b2db uxtb r3, r3 80acece: 2b21 cmp r3, #33 ; 0x21 80aced0: d009 beq.n 80acee6 80aced2: 4b9d ldr r3, [pc, #628] ; (80ad148 ) 80aced4: 781b ldrb r3, [r3, #0] 80aced6: b2db uxtb r3, r3 80aced8: 2b22 cmp r3, #34 ; 0x22 80aceda: d004 beq.n 80acee6 80acedc: 4b9a ldr r3, [pc, #616] ; (80ad148 ) 80acede: 781b ldrb r3, [r3, #0] 80acee0: b2db uxtb r3, r3 80acee2: 2b23 cmp r3, #35 ; 0x23 80acee4: d109 bne.n 80acefa 80acee6: 4b99 ldr r3, [pc, #612] ; (80ad14c ) 80acee8: 781b ldrb r3, [r3, #0] 80aceea: b2db uxtb r3, r3 80aceec: 2b00 cmp r3, #0 80aceee: d004 beq.n 80acefa DrawImage(&bmOSC_SAVE, 3, 108-26); 80acef0: 2252 movs r2, #82 ; 0x52 80acef2: 2103 movs r1, #3 80acef4: 4896 ldr r0, [pc, #600] ; (80ad150 ) 80acef6: f7a7 fb69 bl 80545cc if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80acefa: 4b93 ldr r3, [pc, #588] ; (80ad148 ) 80acefc: 781b ldrb r3, [r3, #0] 80acefe: b2db uxtb r3, r3 80acf00: 2b24 cmp r3, #36 ; 0x24 80acf02: d004 beq.n 80acf0e 80acf04: 4b90 ldr r3, [pc, #576] ; (80ad148 ) 80acf06: 781b ldrb r3, [r3, #0] 80acf08: b2db uxtb r3, r3 80acf0a: 2b27 cmp r3, #39 ; 0x27 80acf0c: d109 bne.n 80acf22 80acf0e: 4b91 ldr r3, [pc, #580] ; (80ad154 ) 80acf10: 781b ldrb r3, [r3, #0] 80acf12: b2db uxtb r3, r3 80acf14: 2b00 cmp r3, #0 80acf16: d004 beq.n 80acf22 DrawImage(&bmRESULT_1, 3, 108-26); 80acf18: 2252 movs r2, #82 ; 0x52 80acf1a: 2103 movs r1, #3 80acf1c: 488e ldr r0, [pc, #568] ; (80ad158 ) 80acf1e: f7a7 fb55 bl 80545cc DrawImage(&bmLEFT_1, 3, 108); 80acf22: 226c movs r2, #108 ; 0x6c 80acf24: 2103 movs r1, #3 80acf26: 488d ldr r0, [pc, #564] ; (80ad15c ) 80acf28: f7a7 fb50 bl 80545cc DrawImage(&bmRIGHT_1, 3, 108+26); 80acf2c: 2286 movs r2, #134 ; 0x86 80acf2e: 2103 movs r1, #3 80acf30: 488b ldr r0, [pc, #556] ; (80ad160 ) 80acf32: f7a7 fb4b bl 80545cc DrawImage(&bmPLUS_1, 3, 108+52); 80acf36: 22a0 movs r2, #160 ; 0xa0 80acf38: 2103 movs r1, #3 80acf3a: 488a ldr r0, [pc, #552] ; (80ad164 ) 80acf3c: f7a7 fb46 bl 80545cc DrawImage(&bmMINUS_1, 3, 108+78); 80acf40: 22ba movs r2, #186 ; 0xba 80acf42: 2103 movs r1, #3 80acf44: 4888 ldr r0, [pc, #544] ; (80ad168 ) 80acf46: f7a7 fb41 bl 80545cc if(menu < VIEW_PORTRET) 80acf4a: 4b7f ldr r3, [pc, #508] ; (80ad148 ) 80acf4c: 781b ldrb r3, [r3, #0] 80acf4e: b2db uxtb r3, r3 80acf50: 2b27 cmp r3, #39 ; 0x27 80acf52: d834 bhi.n 80acfbe { DrawImage(&bmPLAY_1_LIGHT, 3, 108+104); 80acf54: 22d4 movs r2, #212 ; 0xd4 80acf56: 2103 movs r1, #3 80acf58: 4884 ldr r0, [pc, #528] ; (80ad16c ) 80acf5a: f7a7 fb37 bl 80545cc if(NeedSTOP) 80acf5e: 4b84 ldr r3, [pc, #528] ; (80ad170 ) 80acf60: 781b ldrb r3, [r3, #0] 80acf62: b2db uxtb r3, r3 80acf64: 2b00 cmp r3, #0 80acf66: d00c beq.n 80acf82 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80acf68: 4b82 ldr r3, [pc, #520] ; (80ad174 ) 80acf6a: 7b1b ldrb r3, [r3, #12] 80acf6c: b2db uxtb r3, r3 80acf6e: 461a mov r2, r3 80acf70: 4b81 ldr r3, [pc, #516] ; (80ad178 ) 80acf72: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80acf76: 2301 movs r3, #1 80acf78: 21db movs r1, #219 ; 0xdb 80acf7a: 201e movs r0, #30 80acf7c: f7a6 fcf8 bl 8053970 80acf80: e01d b.n 80acfbe else { if(measuring) 80acf82: 4b7e ldr r3, [pc, #504] ; (80ad17c ) 80acf84: 781b ldrb r3, [r3, #0] 80acf86: b2db uxtb r3, r3 80acf88: 2b00 cmp r3, #0 80acf8a: d00c beq.n 80acfa6 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80acf8c: 4b79 ldr r3, [pc, #484] ; (80ad174 ) 80acf8e: 7b1b ldrb r3, [r3, #12] 80acf90: b2db uxtb r3, r3 80acf92: 4a79 ldr r2, [pc, #484] ; (80ad178 ) 80acf94: 00db lsls r3, r3, #3 80acf96: 4413 add r3, r2 80acf98: 685a ldr r2, [r3, #4] 80acf9a: 2301 movs r3, #1 80acf9c: 21db movs r1, #219 ; 0xdb 80acf9e: 201e movs r0, #30 80acfa0: f7a6 fce6 bl 8053970 80acfa4: e00b b.n 80acfbe else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80acfa6: 4b73 ldr r3, [pc, #460] ; (80ad174 ) 80acfa8: 7b1b ldrb r3, [r3, #12] 80acfaa: b2db uxtb r3, r3 80acfac: 461a mov r2, r3 80acfae: 4b72 ldr r3, [pc, #456] ; (80ad178 ) 80acfb0: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80acfb4: 2301 movs r3, #1 80acfb6: 21db movs r1, #219 ; 0xdb 80acfb8: 201e movs r0, #30 80acfba: f7a6 fcd9 bl 8053970 } } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80acfbe: 4b62 ldr r3, [pc, #392] ; (80ad148 ) 80acfc0: 781b ldrb r3, [r3, #0] 80acfc2: b2db uxtb r3, r3 80acfc4: 2b1d cmp r3, #29 80acfc6: f040 81a8 bne.w 80ad31a 80acfca: 4b6d ldr r3, [pc, #436] ; (80ad180 ) 80acfcc: 781b ldrb r3, [r3, #0] 80acfce: b2db uxtb r3, r3 80acfd0: f083 0301 eor.w r3, r3, #1 80acfd4: b2db uxtb r3, r3 80acfd6: 2b00 cmp r3, #0 80acfd8: f000 819f beq.w 80ad31a 80acfdc: 4b69 ldr r3, [pc, #420] ; (80ad184 ) 80acfde: 881b ldrh r3, [r3, #0] 80acfe0: b29b uxth r3, r3 80acfe2: 009b lsls r3, r3, #2 80acfe4: 461a mov r2, r3 80acfe6: 4b68 ldr r3, [pc, #416] ; (80ad188 ) 80acfe8: 681b ldr r3, [r3, #0] 80acfea: 429a cmp r2, r3 80acfec: f080 8195 bcs.w 80ad31a { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80acff0: 4954 ldr r1, [pc, #336] ; (80ad144 ) 80acff2: 4866 ldr r0, [pc, #408] ; (80ad18c ) 80acff4: f7a6 fbf6 bl 80537e4 BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80acff8: 4b65 ldr r3, [pc, #404] ; (80ad190 ) 80acffa: 681b ldr r3, [r3, #0] 80acffc: b29b uxth r3, r3 80acffe: 333e adds r3, #62 ; 0x3e 80ad000: b29b uxth r3, r3 80ad002: 22bf movs r2, #191 ; 0xbf 80ad004: 212c movs r1, #44 ; 0x2c 80ad006: 4618 mov r0, r3 80ad008: f7a6 fdc4 bl 8053b94 } break; 80ad00c: e185 b.n 80ad31a case Cursor: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ad00e: 494d ldr r1, [pc, #308] ; (80ad144 ) 80ad010: f04f 30ff mov.w r0, #4294967295 80ad014: f7a6 fbe6 bl 80537e4 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80ad018: 4b4b ldr r3, [pc, #300] ; (80ad148 ) 80ad01a: 781b ldrb r3, [r3, #0] 80ad01c: b2db uxtb r3, r3 80ad01e: 2b1c cmp r3, #28 80ad020: d00e beq.n 80ad040 80ad022: 4b49 ldr r3, [pc, #292] ; (80ad148 ) 80ad024: 781b ldrb r3, [r3, #0] 80ad026: b2db uxtb r3, r3 80ad028: 2b21 cmp r3, #33 ; 0x21 80ad02a: d009 beq.n 80ad040 80ad02c: 4b46 ldr r3, [pc, #280] ; (80ad148 ) 80ad02e: 781b ldrb r3, [r3, #0] 80ad030: b2db uxtb r3, r3 80ad032: 2b22 cmp r3, #34 ; 0x22 80ad034: d004 beq.n 80ad040 80ad036: 4b44 ldr r3, [pc, #272] ; (80ad148 ) 80ad038: 781b ldrb r3, [r3, #0] 80ad03a: b2db uxtb r3, r3 80ad03c: 2b23 cmp r3, #35 ; 0x23 80ad03e: d109 bne.n 80ad054 80ad040: 4b42 ldr r3, [pc, #264] ; (80ad14c ) 80ad042: 781b ldrb r3, [r3, #0] 80ad044: b2db uxtb r3, r3 80ad046: 2b00 cmp r3, #0 80ad048: d004 beq.n 80ad054 DrawImage(&bmOSC_SAVE, 3, 108-26); 80ad04a: 2252 movs r2, #82 ; 0x52 80ad04c: 2103 movs r1, #3 80ad04e: 4840 ldr r0, [pc, #256] ; (80ad150 ) 80ad050: f7a7 fabc bl 80545cc if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80ad054: 4b3c ldr r3, [pc, #240] ; (80ad148 ) 80ad056: 781b ldrb r3, [r3, #0] 80ad058: b2db uxtb r3, r3 80ad05a: 2b24 cmp r3, #36 ; 0x24 80ad05c: d004 beq.n 80ad068 80ad05e: 4b3a ldr r3, [pc, #232] ; (80ad148 ) 80ad060: 781b ldrb r3, [r3, #0] 80ad062: b2db uxtb r3, r3 80ad064: 2b27 cmp r3, #39 ; 0x27 80ad066: d109 bne.n 80ad07c 80ad068: 4b3a ldr r3, [pc, #232] ; (80ad154 ) 80ad06a: 781b ldrb r3, [r3, #0] 80ad06c: b2db uxtb r3, r3 80ad06e: 2b00 cmp r3, #0 80ad070: d004 beq.n 80ad07c DrawImage(&bmRESULT_1, 3, 108-26); 80ad072: 2252 movs r2, #82 ; 0x52 80ad074: 2103 movs r1, #3 80ad076: 4838 ldr r0, [pc, #224] ; (80ad158 ) 80ad078: f7a7 faa8 bl 80545cc DrawImage(&bmLEFT_1, 3, 108); 80ad07c: 226c movs r2, #108 ; 0x6c 80ad07e: 2103 movs r1, #3 80ad080: 4836 ldr r0, [pc, #216] ; (80ad15c ) 80ad082: f7a7 faa3 bl 80545cc DrawImage(&bmRIGHT_1, 3, 108+26); 80ad086: 2286 movs r2, #134 ; 0x86 80ad088: 2103 movs r1, #3 80ad08a: 4835 ldr r0, [pc, #212] ; (80ad160 ) 80ad08c: f7a7 fa9e bl 80545cc DrawImage(&bmPLUS_1, 3, 108+52); 80ad090: 22a0 movs r2, #160 ; 0xa0 80ad092: 2103 movs r1, #3 80ad094: 4833 ldr r0, [pc, #204] ; (80ad164 ) 80ad096: f7a7 fa99 bl 80545cc DrawImage(&bmMINUS_1, 3, 108+78); 80ad09a: 22ba movs r2, #186 ; 0xba 80ad09c: 2103 movs r1, #3 80ad09e: 4832 ldr r0, [pc, #200] ; (80ad168 ) 80ad0a0: f7a7 fa94 bl 80545cc if(menu < VIEW_PORTRET) 80ad0a4: 4b28 ldr r3, [pc, #160] ; (80ad148 ) 80ad0a6: 781b ldrb r3, [r3, #0] 80ad0a8: b2db uxtb r3, r3 80ad0aa: 2b27 cmp r3, #39 ; 0x27 80ad0ac: d822 bhi.n 80ad0f4 { DrawImage(&bmPLAY_1, 3, 108+104); 80ad0ae: 22d4 movs r2, #212 ; 0xd4 80ad0b0: 2103 movs r1, #3 80ad0b2: 4838 ldr r0, [pc, #224] ; (80ad194 ) 80ad0b4: f7a7 fa8a bl 80545cc if(measuring) 80ad0b8: 4b30 ldr r3, [pc, #192] ; (80ad17c ) 80ad0ba: 781b ldrb r3, [r3, #0] 80ad0bc: b2db uxtb r3, r3 80ad0be: 2b00 cmp r3, #0 80ad0c0: d00c beq.n 80ad0dc BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80ad0c2: 4b2c ldr r3, [pc, #176] ; (80ad174 ) 80ad0c4: 7b1b ldrb r3, [r3, #12] 80ad0c6: b2db uxtb r3, r3 80ad0c8: 4a2b ldr r2, [pc, #172] ; (80ad178 ) 80ad0ca: 00db lsls r3, r3, #3 80ad0cc: 4413 add r3, r2 80ad0ce: 685a ldr r2, [r3, #4] 80ad0d0: 2301 movs r3, #1 80ad0d2: 21db movs r1, #219 ; 0xdb 80ad0d4: 201e movs r0, #30 80ad0d6: f7a6 fc4b bl 8053970 80ad0da: e00b b.n 80ad0f4 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80ad0dc: 4b25 ldr r3, [pc, #148] ; (80ad174 ) 80ad0de: 7b1b ldrb r3, [r3, #12] 80ad0e0: b2db uxtb r3, r3 80ad0e2: 461a mov r2, r3 80ad0e4: 4b24 ldr r3, [pc, #144] ; (80ad178 ) 80ad0e6: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80ad0ea: 2301 movs r3, #1 80ad0ec: 21db movs r1, #219 ; 0xdb 80ad0ee: 201e movs r0, #30 80ad0f0: f7a6 fc3e bl 8053970 } if((menu == MAIN_OSC) && (!FIRST) && (Stability > (Nr * 4))) 80ad0f4: 4b14 ldr r3, [pc, #80] ; (80ad148 ) 80ad0f6: 781b ldrb r3, [r3, #0] 80ad0f8: b2db uxtb r3, r3 80ad0fa: 2b1d cmp r3, #29 80ad0fc: f040 810f bne.w 80ad31e 80ad100: 4b1f ldr r3, [pc, #124] ; (80ad180 ) 80ad102: 781b ldrb r3, [r3, #0] 80ad104: b2db uxtb r3, r3 80ad106: f083 0301 eor.w r3, r3, #1 80ad10a: b2db uxtb r3, r3 80ad10c: 2b00 cmp r3, #0 80ad10e: f000 8106 beq.w 80ad31e 80ad112: 4b1c ldr r3, [pc, #112] ; (80ad184 ) 80ad114: 881b ldrh r3, [r3, #0] 80ad116: b29b uxth r3, r3 80ad118: 009b lsls r3, r3, #2 80ad11a: 461a mov r2, r3 80ad11c: 4b1a ldr r3, [pc, #104] ; (80ad188 ) 80ad11e: 681b ldr r3, [r3, #0] 80ad120: 429a cmp r2, r3 80ad122: f080 80fc bcs.w 80ad31e { LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ad126: 4907 ldr r1, [pc, #28] ; (80ad144 ) 80ad128: 481b ldr r0, [pc, #108] ; (80ad198 ) 80ad12a: f7a6 fb5b bl 80537e4 BSP_LCD_DrawVLine(62 + CURSOR, 44, 191); 80ad12e: 4b18 ldr r3, [pc, #96] ; (80ad190 ) 80ad130: 681b ldr r3, [r3, #0] 80ad132: b29b uxth r3, r3 80ad134: 333e adds r3, #62 ; 0x3e 80ad136: b29b uxth r3, r3 80ad138: 22bf movs r2, #191 ; 0xbf 80ad13a: 212c movs r1, #44 ; 0x2c 80ad13c: 4618 mov r0, r3 80ad13e: f7a6 fd29 bl 8053b94 } break; 80ad142: e0ec b.n 80ad31e 80ad144: ff0a0f1f .word 0xff0a0f1f 80ad148: 20020f78 .word 0x20020f78 80ad14c: 20020d8e .word 0x20020d8e 80ad150: 0813d2f8 .word 0x0813d2f8 80ad154: 20020d68 .word 0x20020d68 80ad158: 081455ac .word 0x081455ac 80ad15c: 0811423c .word 0x0811423c 80ad160: 08146c1c .word 0x08146c1c 80ad164: 081432e4 .word 0x081432e4 80ad168: 0813b65c .word 0x0813b65c 80ad16c: 081427ac .word 0x081427ac 80ad170: 20020f7e .word 0x20020f7e 80ad174: 20023e60 .word 0x20023e60 80ad178: 200201cc .word 0x200201cc 80ad17c: 20020daf .word 0x20020daf 80ad180: 20020db2 .word 0x20020db2 80ad184: 20021d20 .word 0x20021d20 80ad188: 20020da8 .word 0x20020da8 80ad18c: ff808080 .word 0xff808080 80ad190: 2002006c .word 0x2002006c 80ad194: 08141c74 .word 0x08141c74 80ad198: ffff0000 .word 0xffff0000 case Results: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ad19c: 4964 ldr r1, [pc, #400] ; (80ad330 ) 80ad19e: f04f 30ff mov.w r0, #4294967295 80ad1a2: f7a6 fb1f bl 80537e4 if(((menu == MAIN_ROLL) || (menu == ROLL_RESULTS)) && (SeeResults)) 80ad1a6: 4b63 ldr r3, [pc, #396] ; (80ad334 ) 80ad1a8: 781b ldrb r3, [r3, #0] 80ad1aa: b2db uxtb r3, r3 80ad1ac: 2b24 cmp r3, #36 ; 0x24 80ad1ae: d004 beq.n 80ad1ba 80ad1b0: 4b60 ldr r3, [pc, #384] ; (80ad334 ) 80ad1b2: 781b ldrb r3, [r3, #0] 80ad1b4: b2db uxtb r3, r3 80ad1b6: 2b27 cmp r3, #39 ; 0x27 80ad1b8: d109 bne.n 80ad1ce 80ad1ba: 4b5f ldr r3, [pc, #380] ; (80ad338 ) 80ad1bc: 781b ldrb r3, [r3, #0] 80ad1be: b2db uxtb r3, r3 80ad1c0: 2b00 cmp r3, #0 80ad1c2: d004 beq.n 80ad1ce DrawImage(&bmRESULT_1_LIGHT, 3, 108-26); 80ad1c4: 2252 movs r2, #82 ; 0x52 80ad1c6: 2103 movs r1, #3 80ad1c8: 485c ldr r0, [pc, #368] ; (80ad33c ) 80ad1ca: f7a7 f9ff bl 80545cc DrawImage(&bmLEFT_1, 3, 108); 80ad1ce: 226c movs r2, #108 ; 0x6c 80ad1d0: 2103 movs r1, #3 80ad1d2: 485b ldr r0, [pc, #364] ; (80ad340 ) 80ad1d4: f7a7 f9fa bl 80545cc DrawImage(&bmRIGHT_1, 3, 108+26); 80ad1d8: 2286 movs r2, #134 ; 0x86 80ad1da: 2103 movs r1, #3 80ad1dc: 4859 ldr r0, [pc, #356] ; (80ad344 ) 80ad1de: f7a7 f9f5 bl 80545cc DrawImage(&bmPLUS_1, 3, 108+52); 80ad1e2: 22a0 movs r2, #160 ; 0xa0 80ad1e4: 2103 movs r1, #3 80ad1e6: 4858 ldr r0, [pc, #352] ; (80ad348 ) 80ad1e8: f7a7 f9f0 bl 80545cc DrawImage(&bmMINUS_1, 3, 108+78); 80ad1ec: 22ba movs r2, #186 ; 0xba 80ad1ee: 2103 movs r1, #3 80ad1f0: 4856 ldr r0, [pc, #344] ; (80ad34c ) 80ad1f2: f7a7 f9eb bl 80545cc if(menu < VIEW_PORTRET) 80ad1f6: 4b4f ldr r3, [pc, #316] ; (80ad334 ) 80ad1f8: 781b ldrb r3, [r3, #0] 80ad1fa: b2db uxtb r3, r3 80ad1fc: 2b27 cmp r3, #39 ; 0x27 80ad1fe: f200 8090 bhi.w 80ad322 { DrawImage(&bmPLAY_1, 3, 108+104); 80ad202: 22d4 movs r2, #212 ; 0xd4 80ad204: 2103 movs r1, #3 80ad206: 4852 ldr r0, [pc, #328] ; (80ad350 ) 80ad208: f7a7 f9e0 bl 80545cc if(measuring) 80ad20c: 4b51 ldr r3, [pc, #324] ; (80ad354 ) 80ad20e: 781b ldrb r3, [r3, #0] 80ad210: b2db uxtb r3, r3 80ad212: 2b00 cmp r3, #0 80ad214: d00c beq.n 80ad230 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80ad216: 4b50 ldr r3, [pc, #320] ; (80ad358 ) 80ad218: 7b1b ldrb r3, [r3, #12] 80ad21a: b2db uxtb r3, r3 80ad21c: 4a4f ldr r2, [pc, #316] ; (80ad35c ) 80ad21e: 00db lsls r3, r3, #3 80ad220: 4413 add r3, r2 80ad222: 685a ldr r2, [r3, #4] 80ad224: 2301 movs r3, #1 80ad226: 21db movs r1, #219 ; 0xdb 80ad228: 201e movs r0, #30 80ad22a: f7a6 fba1 bl 8053970 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); } break; 80ad22e: e078 b.n 80ad322 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80ad230: 4b49 ldr r3, [pc, #292] ; (80ad358 ) 80ad232: 7b1b ldrb r3, [r3, #12] 80ad234: b2db uxtb r3, r3 80ad236: 461a mov r2, r3 80ad238: 4b48 ldr r3, [pc, #288] ; (80ad35c ) 80ad23a: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80ad23e: 2301 movs r3, #1 80ad240: 21db movs r1, #219 ; 0xdb 80ad242: 201e movs r0, #30 80ad244: f7a6 fb94 bl 8053970 break; 80ad248: e06b b.n 80ad322 case SaveSpec: LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ad24a: 4939 ldr r1, [pc, #228] ; (80ad330 ) 80ad24c: f04f 30ff mov.w r0, #4294967295 80ad250: f7a6 fac8 bl 80537e4 if(((menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB) || (menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD)) && (READY_TO_SEE)) 80ad254: 4b37 ldr r3, [pc, #220] ; (80ad334 ) 80ad256: 781b ldrb r3, [r3, #0] 80ad258: b2db uxtb r3, r3 80ad25a: 2b1c cmp r3, #28 80ad25c: d00e beq.n 80ad27c 80ad25e: 4b35 ldr r3, [pc, #212] ; (80ad334 ) 80ad260: 781b ldrb r3, [r3, #0] 80ad262: b2db uxtb r3, r3 80ad264: 2b21 cmp r3, #33 ; 0x21 80ad266: d009 beq.n 80ad27c 80ad268: 4b32 ldr r3, [pc, #200] ; (80ad334 ) 80ad26a: 781b ldrb r3, [r3, #0] 80ad26c: b2db uxtb r3, r3 80ad26e: 2b22 cmp r3, #34 ; 0x22 80ad270: d004 beq.n 80ad27c 80ad272: 4b30 ldr r3, [pc, #192] ; (80ad334 ) 80ad274: 781b ldrb r3, [r3, #0] 80ad276: b2db uxtb r3, r3 80ad278: 2b23 cmp r3, #35 ; 0x23 80ad27a: d109 bne.n 80ad290 80ad27c: 4b38 ldr r3, [pc, #224] ; (80ad360 ) 80ad27e: 781b ldrb r3, [r3, #0] 80ad280: b2db uxtb r3, r3 80ad282: 2b00 cmp r3, #0 80ad284: d004 beq.n 80ad290 DrawImage(&bmOSC_SAVE_LIGHT, 3, 108-26); 80ad286: 2252 movs r2, #82 ; 0x52 80ad288: 2103 movs r1, #3 80ad28a: 4836 ldr r0, [pc, #216] ; (80ad364 ) 80ad28c: f7a7 f99e bl 80545cc DrawImage(&bmLEFT_1, 3, 108); 80ad290: 226c movs r2, #108 ; 0x6c 80ad292: 2103 movs r1, #3 80ad294: 482a ldr r0, [pc, #168] ; (80ad340 ) 80ad296: f7a7 f999 bl 80545cc DrawImage(&bmRIGHT_1, 3, 108+26); 80ad29a: 2286 movs r2, #134 ; 0x86 80ad29c: 2103 movs r1, #3 80ad29e: 4829 ldr r0, [pc, #164] ; (80ad344 ) 80ad2a0: f7a7 f994 bl 80545cc DrawImage(&bmPLUS_1, 3, 108+52); 80ad2a4: 22a0 movs r2, #160 ; 0xa0 80ad2a6: 2103 movs r1, #3 80ad2a8: 4827 ldr r0, [pc, #156] ; (80ad348 ) 80ad2aa: f7a7 f98f bl 80545cc DrawImage(&bmMINUS_1, 3, 108+78); 80ad2ae: 22ba movs r2, #186 ; 0xba 80ad2b0: 2103 movs r1, #3 80ad2b2: 4826 ldr r0, [pc, #152] ; (80ad34c ) 80ad2b4: f7a7 f98a bl 80545cc if(menu < VIEW_PORTRET) 80ad2b8: 4b1e ldr r3, [pc, #120] ; (80ad334 ) 80ad2ba: 781b ldrb r3, [r3, #0] 80ad2bc: b2db uxtb r3, r3 80ad2be: 2b27 cmp r3, #39 ; 0x27 80ad2c0: d831 bhi.n 80ad326 { DrawImage(&bmPLAY_1, 3, 108+104); 80ad2c2: 22d4 movs r2, #212 ; 0xd4 80ad2c4: 2103 movs r1, #3 80ad2c6: 4822 ldr r0, [pc, #136] ; (80ad350 ) 80ad2c8: f7a7 f980 bl 80545cc if(measuring) 80ad2cc: 4b21 ldr r3, [pc, #132] ; (80ad354 ) 80ad2ce: 781b ldrb r3, [r3, #0] 80ad2d0: b2db uxtb r3, r3 80ad2d2: 2b00 cmp r3, #0 80ad2d4: d00c beq.n 80ad2f0 BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][1], CENTER_MODE); 80ad2d6: 4b20 ldr r3, [pc, #128] ; (80ad358 ) 80ad2d8: 7b1b ldrb r3, [r3, #12] 80ad2da: b2db uxtb r3, r3 80ad2dc: 4a1f ldr r2, [pc, #124] ; (80ad35c ) 80ad2de: 00db lsls r3, r3, #3 80ad2e0: 4413 add r3, r2 80ad2e2: 685a ldr r2, [r3, #4] 80ad2e4: 2301 movs r3, #1 80ad2e6: 21db movs r1, #219 ; 0xdb 80ad2e8: 201e movs r0, #30 80ad2ea: f7a6 fb41 bl 8053970 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); } break; 80ad2ee: e01a b.n 80ad326 else BSP_LCD_DisplayStringAt(30, 219, (char *) pSTART_STOP[pardata.LANG][0], CENTER_MODE); 80ad2f0: 4b19 ldr r3, [pc, #100] ; (80ad358 ) 80ad2f2: 7b1b ldrb r3, [r3, #12] 80ad2f4: b2db uxtb r3, r3 80ad2f6: 461a mov r2, r3 80ad2f8: 4b18 ldr r3, [pc, #96] ; (80ad35c ) 80ad2fa: f853 2032 ldr.w r2, [r3, r2, lsl #3] 80ad2fe: 2301 movs r3, #1 80ad300: 21db movs r1, #219 ; 0xdb 80ad302: 201e movs r0, #30 80ad304: f7a6 fb34 bl 8053970 break; 80ad308: e00d b.n 80ad326 break; 80ad30a: bf00 nop 80ad30c: e00c b.n 80ad328 break; 80ad30e: bf00 nop 80ad310: e00a b.n 80ad328 break; 80ad312: bf00 nop 80ad314: e008 b.n 80ad328 break; 80ad316: bf00 nop 80ad318: e006 b.n 80ad328 break; 80ad31a: bf00 nop 80ad31c: e004 b.n 80ad328 break; 80ad31e: bf00 nop 80ad320: e002 b.n 80ad328 break; 80ad322: bf00 nop 80ad324: e000 b.n 80ad328 break; 80ad326: bf00 nop } } 80ad328: bf00 nop 80ad32a: 3708 adds r7, #8 80ad32c: 46bd mov sp, r7 80ad32e: bd80 pop {r7, pc} 80ad330: ff0a0f1f .word 0xff0a0f1f 80ad334: 20020f78 .word 0x20020f78 80ad338: 20020d68 .word 0x20020d68 80ad33c: 081460e4 .word 0x081460e4 80ad340: 0811423c .word 0x0811423c 80ad344: 08146c1c .word 0x08146c1c 80ad348: 081432e4 .word 0x081432e4 80ad34c: 0813b65c .word 0x0813b65c 80ad350: 08141c74 .word 0x08141c74 80ad354: 20020daf .word 0x20020daf 80ad358: 20023e60 .word 0x20023e60 80ad35c: 200201cc .word 0x200201cc 80ad360: 20020d8e .word 0x20020d8e 80ad364: 0813de30 .word 0x0813de30 080ad368 : void DrawLegend(void) //TODO { 80ad368: b580 push {r7, lr} 80ad36a: b082 sub sp, #8 80ad36c: af00 add r7, sp, #0 uint32_t i; LCD_SetColors(0xFF000000, LCD_COLOR_BLACK); 80ad36e: 4925 ldr r1, [pc, #148] ; (80ad404 ) 80ad370: f04f 407f mov.w r0, #4278190080 ; 0xff000000 80ad374: f7a6 fa36 bl 80537e4 BSP_LCD_FillRect(60, 43, 258, 191); 80ad378: 23bf movs r3, #191 ; 0xbf 80ad37a: f44f 7281 mov.w r2, #258 ; 0x102 80ad37e: 212b movs r1, #43 ; 0x2b 80ad380: 203c movs r0, #60 ; 0x3c 80ad382: f7a6 febd bl 8054100 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ad386: 491f ldr r1, [pc, #124] ; (80ad404 ) 80ad388: f04f 30ff mov.w r0, #4294967295 80ad38c: f7a6 fa2a bl 80537e4 BSP_LCD_DrawRect(59, 42, 259, 193); 80ad390: 23c1 movs r3, #193 ; 0xc1 80ad392: f240 1203 movw r2, #259 ; 0x103 80ad396: 212a movs r1, #42 ; 0x2a 80ad398: 203b movs r0, #59 ; 0x3b 80ad39a: f7a6 fd29 bl 8053df0 LCD_SetColors(LCD_COLOR_DARKGRAY, LCD_COLOR_BLACK); 80ad39e: 4919 ldr r1, [pc, #100] ; (80ad404 ) 80ad3a0: 4819 ldr r0, [pc, #100] ; (80ad408 ) 80ad3a2: f7a6 fa1f bl 80537e4 BSP_LCD_DrawHLine(61, 92, 256); 80ad3a6: f44f 7280 mov.w r2, #256 ; 0x100 80ad3aa: 215c movs r1, #92 ; 0x5c 80ad3ac: 203d movs r0, #61 ; 0x3d 80ad3ae: f7a6 fb93 bl 8053ad8 for(i = 0; i < 4; i++) 80ad3b2: 2300 movs r3, #0 80ad3b4: 607b str r3, [r7, #4] 80ad3b6: e01e b.n 80ad3f6 { BSP_LCD_DrawVLine(61 + (i << 6), 44, 191); 80ad3b8: 687b ldr r3, [r7, #4] 80ad3ba: b29b uxth r3, r3 80ad3bc: 019b lsls r3, r3, #6 80ad3be: b29b uxth r3, r3 80ad3c0: 333d adds r3, #61 ; 0x3d 80ad3c2: b29b uxth r3, r3 80ad3c4: 22bf movs r2, #191 ; 0xbf 80ad3c6: 212c movs r1, #44 ; 0x2c 80ad3c8: 4618 mov r0, r3 80ad3ca: f7a6 fbe3 bl 8053b94 BSP_LCD_DrawHLine(61, 92 + i*49, 256); 80ad3ce: 687b ldr r3, [r7, #4] 80ad3d0: b29b uxth r3, r3 80ad3d2: 461a mov r2, r3 80ad3d4: 00d2 lsls r2, r2, #3 80ad3d6: 1ad3 subs r3, r2, r3 80ad3d8: 461a mov r2, r3 80ad3da: 00d2 lsls r2, r2, #3 80ad3dc: 1ad3 subs r3, r2, r3 80ad3de: b29b uxth r3, r3 80ad3e0: 335c adds r3, #92 ; 0x5c 80ad3e2: b29b uxth r3, r3 80ad3e4: f44f 7280 mov.w r2, #256 ; 0x100 80ad3e8: 4619 mov r1, r3 80ad3ea: 203d movs r0, #61 ; 0x3d 80ad3ec: f7a6 fb74 bl 8053ad8 for(i = 0; i < 4; i++) 80ad3f0: 687b ldr r3, [r7, #4] 80ad3f2: 3301 adds r3, #1 80ad3f4: 607b str r3, [r7, #4] 80ad3f6: 687b ldr r3, [r7, #4] 80ad3f8: 2b03 cmp r3, #3 80ad3fa: d9dd bls.n 80ad3b8 } } 80ad3fc: bf00 nop 80ad3fe: 3708 adds r7, #8 80ad400: 46bd mov sp, r7 80ad402: bd80 pop {r7, pc} 80ad404: ff0a0f1f .word 0xff0a0f1f 80ad408: ff404040 .word 0xff404040 080ad40c : { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); } void DrawRMS(void) { 80ad40c: b580 push {r7, lr} 80ad40e: b084 sub sp, #16 80ad410: af00 add r7, sp, #0 int8_t mmm = 0; 80ad412: 2300 movs r3, #0 80ad414: 73fb strb r3, [r7, #15] float32_t f; uint8_t m = 0; 80ad416: 2300 movs r3, #0 80ad418: 71fb strb r3, [r7, #7] char *pch; BSP_LCD_SetFont(&Font12); 80ad41a: 48c0 ldr r0, [pc, #768] ; (80ad71c ) 80ad41c: f7a6 fa1e bl 805385c LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80ad420: 49bf ldr r1, [pc, #764] ; (80ad720 ) 80ad422: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80ad426: f7a6 f9dd bl 80537e4 f = ABS(skz[pardata.IPR]); 80ad42a: 4bbe ldr r3, [pc, #760] ; (80ad724 ) 80ad42c: 785b ldrb r3, [r3, #1] 80ad42e: b2db uxtb r3, r3 80ad430: 4abd ldr r2, [pc, #756] ; (80ad728 ) 80ad432: 009b lsls r3, r3, #2 80ad434: 4413 add r3, r2 80ad436: edd3 7a00 vldr s15, [r3] 80ad43a: eef5 7ac0 vcmpe.f32 s15, #0.0 80ad43e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad442: dd08 ble.n 80ad456 80ad444: 4bb7 ldr r3, [pc, #732] ; (80ad724 ) 80ad446: 785b ldrb r3, [r3, #1] 80ad448: b2db uxtb r3, r3 80ad44a: 4ab7 ldr r2, [pc, #732] ; (80ad728 ) 80ad44c: 009b lsls r3, r3, #2 80ad44e: 4413 add r3, r2 80ad450: edd3 7a00 vldr s15, [r3] 80ad454: e009 b.n 80ad46a 80ad456: 4bb3 ldr r3, [pc, #716] ; (80ad724 ) 80ad458: 785b ldrb r3, [r3, #1] 80ad45a: b2db uxtb r3, r3 80ad45c: 4ab2 ldr r2, [pc, #712] ; (80ad728 ) 80ad45e: 009b lsls r3, r3, #2 80ad460: 4413 add r3, r2 80ad462: edd3 7a00 vldr s15, [r3] 80ad466: eef1 7a67 vneg.f32 s15, s15 80ad46a: edc7 7a02 vstr s15, [r7, #8] if(pardata.IPR == DIS) 80ad46e: 4bad ldr r3, [pc, #692] ; (80ad724 ) 80ad470: 785b ldrb r3, [r3, #1] 80ad472: b2db uxtb r3, r3 80ad474: 2b02 cmp r3, #2 80ad476: d12b bne.n 80ad4d0 { if(f >= 1000.0f) 80ad478: edd7 7a02 vldr s15, [r7, #8] 80ad47c: ed9f 7aab vldr s14, [pc, #684] ; 80ad72c 80ad480: eef4 7ac7 vcmpe.f32 s15, s14 80ad484: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad488: db0a blt.n 80ad4a0 { m = 1; 80ad48a: 2301 movs r3, #1 80ad48c: 71fb strb r3, [r7, #7] f *= 0.001f; 80ad48e: edd7 7a02 vldr s15, [r7, #8] 80ad492: ed9f 7aa7 vldr s14, [pc, #668] ; 80ad730 80ad496: ee67 7a87 vmul.f32 s15, s15, s14 80ad49a: edc7 7a02 vstr s15, [r7, #8] 80ad49e: e017 b.n 80ad4d0 } else if(f <= 0.00100f) 80ad4a0: edd7 7a02 vldr s15, [r7, #8] 80ad4a4: ed9f 7aa2 vldr s14, [pc, #648] ; 80ad730 80ad4a8: eef4 7ac7 vcmpe.f32 s15, s14 80ad4ac: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad4b0: d80e bhi.n 80ad4d0 { if(pardata.IIN == VOLTS) 80ad4b2: 4b9c ldr r3, [pc, #624] ; (80ad724 ) 80ad4b4: 799b ldrb r3, [r3, #6] 80ad4b6: b2db uxtb r3, r3 80ad4b8: 2b02 cmp r3, #2 80ad4ba: d109 bne.n 80ad4d0 { m = 2; 80ad4bc: 2302 movs r3, #2 80ad4be: 71fb strb r3, [r7, #7] f *= 1000.000f; 80ad4c0: edd7 7a02 vldr s15, [r7, #8] 80ad4c4: ed9f 7a99 vldr s14, [pc, #612] ; 80ad72c 80ad4c8: ee67 7a87 vmul.f32 s15, s15, s14 80ad4cc: edc7 7a02 vstr s15, [r7, #8] } } } if(f < 1) { mmm = -5; } 80ad4d0: edd7 7a02 vldr s15, [r7, #8] 80ad4d4: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80ad4d8: eef4 7ac7 vcmpe.f32 s15, s14 80ad4dc: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad4e0: d502 bpl.n 80ad4e8 80ad4e2: 23fb movs r3, #251 ; 0xfb 80ad4e4: 73fb strb r3, [r7, #15] 80ad4e6: e046 b.n 80ad576 else if(f < 10) { mmm = -5; } 80ad4e8: edd7 7a02 vldr s15, [r7, #8] 80ad4ec: eeb2 7a04 vmov.f32 s14, #36 ; 0x41200000 10.0 80ad4f0: eef4 7ac7 vcmpe.f32 s15, s14 80ad4f4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad4f8: d502 bpl.n 80ad500 80ad4fa: 23fb movs r3, #251 ; 0xfb 80ad4fc: 73fb strb r3, [r7, #15] 80ad4fe: e03a b.n 80ad576 else if(f < 100) { mmm = -4; } 80ad500: edd7 7a02 vldr s15, [r7, #8] 80ad504: ed9f 7a8b vldr s14, [pc, #556] ; 80ad734 80ad508: eef4 7ac7 vcmpe.f32 s15, s14 80ad50c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad510: d502 bpl.n 80ad518 80ad512: 23fc movs r3, #252 ; 0xfc 80ad514: 73fb strb r3, [r7, #15] 80ad516: e02e b.n 80ad576 else if(f < 1000) { mmm = -3; } 80ad518: edd7 7a02 vldr s15, [r7, #8] 80ad51c: ed9f 7a83 vldr s14, [pc, #524] ; 80ad72c 80ad520: eef4 7ac7 vcmpe.f32 s15, s14 80ad524: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad528: d502 bpl.n 80ad530 80ad52a: 23fd movs r3, #253 ; 0xfd 80ad52c: 73fb strb r3, [r7, #15] 80ad52e: e022 b.n 80ad576 else if(f < 10000) { mmm = -2; } 80ad530: edd7 7a02 vldr s15, [r7, #8] 80ad534: ed9f 7a80 vldr s14, [pc, #512] ; 80ad738 80ad538: eef4 7ac7 vcmpe.f32 s15, s14 80ad53c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad540: d502 bpl.n 80ad548 80ad542: 23fe movs r3, #254 ; 0xfe 80ad544: 73fb strb r3, [r7, #15] 80ad546: e016 b.n 80ad576 else if(f < 100000) { mmm = -1; } 80ad548: edd7 7a02 vldr s15, [r7, #8] 80ad54c: ed9f 7a7b vldr s14, [pc, #492] ; 80ad73c 80ad550: eef4 7ac7 vcmpe.f32 s15, s14 80ad554: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad558: d502 bpl.n 80ad560 80ad55a: 23ff movs r3, #255 ; 0xff 80ad55c: 73fb strb r3, [r7, #15] 80ad55e: e00a b.n 80ad576 else if(f < 1000000) { mmm = 0; } 80ad560: edd7 7a02 vldr s15, [r7, #8] 80ad564: ed9f 7a76 vldr s14, [pc, #472] ; 80ad740 80ad568: eef4 7ac7 vcmpe.f32 s15, s14 80ad56c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ad570: d501 bpl.n 80ad576 80ad572: 2300 movs r3, #0 80ad574: 73fb strb r3, [r7, #15] BSP_LCD_DisplayStringAt(5, 60, (char *) FloatToASCII(f, mmm), LEFT_MODE); 80ad576: f997 300f ldrsb.w r3, [r7, #15] 80ad57a: 4618 mov r0, r3 80ad57c: ed97 0a02 vldr s0, [r7, #8] 80ad580: f7b9 f8da bl 8066738 80ad584: 4602 mov r2, r0 80ad586: 2303 movs r3, #3 80ad588: 213c movs r1, #60 ; 0x3c 80ad58a: 2005 movs r0, #5 80ad58c: f7a6 f9f0 bl 8053970 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ad590: 4963 ldr r1, [pc, #396] ; (80ad720 ) 80ad592: f04f 30ff mov.w r0, #4294967295 80ad596: f7a6 f925 bl 80537e4 if(pardata.LANG == RUS) 80ad59a: 4b62 ldr r3, [pc, #392] ; (80ad724 ) 80ad59c: 7b1b ldrb r3, [r3, #12] 80ad59e: b2db uxtb r3, r3 80ad5a0: 2b00 cmp r3, #0 80ad5a2: d170 bne.n 80ad686 { if(pardata.IIN != VOLTS) 80ad5a4: 4b5f ldr r3, [pc, #380] ; (80ad724 ) 80ad5a6: 799b ldrb r3, [r3, #6] 80ad5a8: b2db uxtb r3, r3 80ad5aa: 2b02 cmp r3, #2 80ad5ac: d02e beq.n 80ad60c { if(pardata.IPR == ACC) 80ad5ae: 4b5d ldr r3, [pc, #372] ; (80ad724 ) 80ad5b0: 785b ldrb r3, [r3, #1] 80ad5b2: b2db uxtb r3, r3 80ad5b4: 2b00 cmp r3, #0 80ad5b6: d106 bne.n 80ad5c6 BSP_LCD_DisplayStringAt(58, 46, "ì/c^", RIGHT_MODE); 80ad5b8: 2302 movs r3, #2 80ad5ba: 4a62 ldr r2, [pc, #392] ; (80ad744 ) 80ad5bc: 212e movs r1, #46 ; 0x2e 80ad5be: 203a movs r0, #58 ; 0x3a 80ad5c0: f7a6 f9d6 bl 8053970 80ad5c4: e0f8 b.n 80ad7b8 else if(pardata.IPR == VEL) 80ad5c6: 4b57 ldr r3, [pc, #348] ; (80ad724 ) 80ad5c8: 785b ldrb r3, [r3, #1] 80ad5ca: b2db uxtb r3, r3 80ad5cc: 2b01 cmp r3, #1 80ad5ce: d106 bne.n 80ad5de BSP_LCD_DisplayStringAt(58, 46, "ìì/c", RIGHT_MODE); 80ad5d0: 2302 movs r3, #2 80ad5d2: 4a5d ldr r2, [pc, #372] ; (80ad748 ) 80ad5d4: 212e movs r1, #46 ; 0x2e 80ad5d6: 203a movs r0, #58 ; 0x3a 80ad5d8: f7a6 f9ca bl 8053970 80ad5dc: e0ec b.n 80ad7b8 else if(pardata.IPR == DIS) 80ad5de: 4b51 ldr r3, [pc, #324] ; (80ad724 ) 80ad5e0: 785b ldrb r3, [r3, #1] 80ad5e2: b2db uxtb r3, r3 80ad5e4: 2b02 cmp r3, #2 80ad5e6: f040 80e7 bne.w 80ad7b8 { if(m == 0) 80ad5ea: 79fb ldrb r3, [r7, #7] 80ad5ec: 2b00 cmp r3, #0 80ad5ee: d106 bne.n 80ad5fe BSP_LCD_DisplayStringAt(58, 46, "ìkì", RIGHT_MODE); 80ad5f0: 2302 movs r3, #2 80ad5f2: 4a56 ldr r2, [pc, #344] ; (80ad74c ) 80ad5f4: 212e movs r1, #46 ; 0x2e 80ad5f6: 203a movs r0, #58 ; 0x3a 80ad5f8: f7a6 f9ba bl 8053970 80ad5fc: e0dc b.n 80ad7b8 else BSP_LCD_DisplayStringAt(58, 46, "ìì", RIGHT_MODE); 80ad5fe: 2302 movs r3, #2 80ad600: 4a53 ldr r2, [pc, #332] ; (80ad750 ) 80ad602: 212e movs r1, #46 ; 0x2e 80ad604: 203a movs r0, #58 ; 0x3a 80ad606: f7a6 f9b3 bl 8053970 80ad60a: e0d5 b.n 80ad7b8 } } else { if(pardata.IPR == ACC) 80ad60c: 4b45 ldr r3, [pc, #276] ; (80ad724 ) 80ad60e: 785b ldrb r3, [r3, #1] 80ad610: b2db uxtb r3, r3 80ad612: 2b00 cmp r3, #0 80ad614: d106 bne.n 80ad624 BSP_LCD_DisplayStringAt(58, 46, "ìÂ", RIGHT_MODE); 80ad616: 2302 movs r3, #2 80ad618: 4a4e ldr r2, [pc, #312] ; (80ad754 ) 80ad61a: 212e movs r1, #46 ; 0x2e 80ad61c: 203a movs r0, #58 ; 0x3a 80ad61e: f7a6 f9a7 bl 8053970 80ad622: e0c9 b.n 80ad7b8 else if(pardata.IPR == VEL) 80ad624: 4b3f ldr r3, [pc, #252] ; (80ad724 ) 80ad626: 785b ldrb r3, [r3, #1] 80ad628: b2db uxtb r3, r3 80ad62a: 2b01 cmp r3, #1 80ad62c: d106 bne.n 80ad63c BSP_LCD_DisplayStringAt(58, 46, "ìÂ", RIGHT_MODE); 80ad62e: 2302 movs r3, #2 80ad630: 4a48 ldr r2, [pc, #288] ; (80ad754 ) 80ad632: 212e movs r1, #46 ; 0x2e 80ad634: 203a movs r0, #58 ; 0x3a 80ad636: f7a6 f99b bl 8053970 80ad63a: e0bd b.n 80ad7b8 else if(pardata.IPR == DIS) 80ad63c: 4b39 ldr r3, [pc, #228] ; (80ad724 ) 80ad63e: 785b ldrb r3, [r3, #1] 80ad640: b2db uxtb r3, r3 80ad642: 2b02 cmp r3, #2 80ad644: f040 80b8 bne.w 80ad7b8 { if(m == 0) 80ad648: 79fb ldrb r3, [r7, #7] 80ad64a: 2b00 cmp r3, #0 80ad64c: d106 bne.n 80ad65c BSP_LCD_DisplayStringAt(58, 46, "ìÂ", RIGHT_MODE); 80ad64e: 2302 movs r3, #2 80ad650: 4a40 ldr r2, [pc, #256] ; (80ad754 ) 80ad652: 212e movs r1, #46 ; 0x2e 80ad654: 203a movs r0, #58 ; 0x3a 80ad656: f7a6 f98b bl 8053970 80ad65a: e0ad b.n 80ad7b8 else if(m == 1) 80ad65c: 79fb ldrb r3, [r7, #7] 80ad65e: 2b01 cmp r3, #1 80ad660: d106 bne.n 80ad670 BSP_LCD_DisplayStringAt(58, 46, "Â", RIGHT_MODE); 80ad662: 2302 movs r3, #2 80ad664: 4a3c ldr r2, [pc, #240] ; (80ad758 ) 80ad666: 212e movs r1, #46 ; 0x2e 80ad668: 203a movs r0, #58 ; 0x3a 80ad66a: f7a6 f981 bl 8053970 80ad66e: e0a3 b.n 80ad7b8 else if(m == 2) 80ad670: 79fb ldrb r3, [r7, #7] 80ad672: 2b02 cmp r3, #2 80ad674: f040 80a0 bne.w 80ad7b8 BSP_LCD_DisplayStringAt(58, 46, "ìkÂ", RIGHT_MODE); 80ad678: 2302 movs r3, #2 80ad67a: 4a38 ldr r2, [pc, #224] ; (80ad75c ) 80ad67c: 212e movs r1, #46 ; 0x2e 80ad67e: 203a movs r0, #58 ; 0x3a 80ad680: f7a6 f976 bl 8053970 80ad684: e098 b.n 80ad7b8 } } } else { if(pardata.IIN != VOLTS) 80ad686: 4b27 ldr r3, [pc, #156] ; (80ad724 ) 80ad688: 799b ldrb r3, [r3, #6] 80ad68a: b2db uxtb r3, r3 80ad68c: 2b02 cmp r3, #2 80ad68e: d02d beq.n 80ad6ec { if(pardata.IPR == ACC) 80ad690: 4b24 ldr r3, [pc, #144] ; (80ad724 ) 80ad692: 785b ldrb r3, [r3, #1] 80ad694: b2db uxtb r3, r3 80ad696: 2b00 cmp r3, #0 80ad698: d106 bne.n 80ad6a8 BSP_LCD_DisplayStringAt(58, 46, "m/s^", RIGHT_MODE); 80ad69a: 2302 movs r3, #2 80ad69c: 4a30 ldr r2, [pc, #192] ; (80ad760 ) 80ad69e: 212e movs r1, #46 ; 0x2e 80ad6a0: 203a movs r0, #58 ; 0x3a 80ad6a2: f7a6 f965 bl 8053970 80ad6a6: e087 b.n 80ad7b8 else if(pardata.IPR == VEL) 80ad6a8: 4b1e ldr r3, [pc, #120] ; (80ad724 ) 80ad6aa: 785b ldrb r3, [r3, #1] 80ad6ac: b2db uxtb r3, r3 80ad6ae: 2b01 cmp r3, #1 80ad6b0: d106 bne.n 80ad6c0 BSP_LCD_DisplayStringAt(58, 46, "mm/s", RIGHT_MODE); 80ad6b2: 2302 movs r3, #2 80ad6b4: 4a2b ldr r2, [pc, #172] ; (80ad764 ) 80ad6b6: 212e movs r1, #46 ; 0x2e 80ad6b8: 203a movs r0, #58 ; 0x3a 80ad6ba: f7a6 f959 bl 8053970 80ad6be: e07b b.n 80ad7b8 else if(pardata.IPR == DIS) 80ad6c0: 4b18 ldr r3, [pc, #96] ; (80ad724 ) 80ad6c2: 785b ldrb r3, [r3, #1] 80ad6c4: b2db uxtb r3, r3 80ad6c6: 2b02 cmp r3, #2 80ad6c8: d176 bne.n 80ad7b8 { if(m == 0) 80ad6ca: 79fb ldrb r3, [r7, #7] 80ad6cc: 2b00 cmp r3, #0 80ad6ce: d106 bne.n 80ad6de BSP_LCD_DisplayStringAt(58, 46, "um", RIGHT_MODE); 80ad6d0: 2302 movs r3, #2 80ad6d2: 4a25 ldr r2, [pc, #148] ; (80ad768 ) 80ad6d4: 212e movs r1, #46 ; 0x2e 80ad6d6: 203a movs r0, #58 ; 0x3a 80ad6d8: f7a6 f94a bl 8053970 80ad6dc: e06c b.n 80ad7b8 else BSP_LCD_DisplayStringAt(58, 46, "mm", RIGHT_MODE); 80ad6de: 2302 movs r3, #2 80ad6e0: 4a22 ldr r2, [pc, #136] ; (80ad76c ) 80ad6e2: 212e movs r1, #46 ; 0x2e 80ad6e4: 203a movs r0, #58 ; 0x3a 80ad6e6: f7a6 f943 bl 8053970 80ad6ea: e065 b.n 80ad7b8 } } else { if(pardata.IPR == ACC) 80ad6ec: 4b0d ldr r3, [pc, #52] ; (80ad724 ) 80ad6ee: 785b ldrb r3, [r3, #1] 80ad6f0: b2db uxtb r3, r3 80ad6f2: 2b00 cmp r3, #0 80ad6f4: d106 bne.n 80ad704 BSP_LCD_DisplayStringAt(58, 46, "mV", RIGHT_MODE); 80ad6f6: 2302 movs r3, #2 80ad6f8: 4a1d ldr r2, [pc, #116] ; (80ad770 ) 80ad6fa: 212e movs r1, #46 ; 0x2e 80ad6fc: 203a movs r0, #58 ; 0x3a 80ad6fe: f7a6 f937 bl 8053970 80ad702: e059 b.n 80ad7b8 else if(pardata.IPR == VEL) 80ad704: 4b07 ldr r3, [pc, #28] ; (80ad724 ) 80ad706: 785b ldrb r3, [r3, #1] 80ad708: b2db uxtb r3, r3 80ad70a: 2b01 cmp r3, #1 80ad70c: d132 bne.n 80ad774 BSP_LCD_DisplayStringAt(58, 46, "mV", RIGHT_MODE); 80ad70e: 2302 movs r3, #2 80ad710: 4a17 ldr r2, [pc, #92] ; (80ad770 ) 80ad712: 212e movs r1, #46 ; 0x2e 80ad714: 203a movs r0, #58 ; 0x3a 80ad716: f7a6 f92b bl 8053970 80ad71a: e04d b.n 80ad7b8 80ad71c: 20020038 .word 0x20020038 80ad720: ff0a0f1f .word 0xff0a0f1f 80ad724: 20023e60 .word 0x20023e60 80ad728: 20021540 .word 0x20021540 80ad72c: 447a0000 .word 0x447a0000 80ad730: 3a83126f .word 0x3a83126f 80ad734: 42c80000 .word 0x42c80000 80ad738: 461c4000 .word 0x461c4000 80ad73c: 47c35000 .word 0x47c35000 80ad740: 49742400 .word 0x49742400 80ad744: 080d09f0 .word 0x080d09f0 80ad748: 080d0a00 .word 0x080d0a00 80ad74c: 080d0a10 .word 0x080d0a10 80ad750: 080d09e8 .word 0x080d09e8 80ad754: 080d0b48 .word 0x080d0b48 80ad758: 080d0b4c .word 0x080d0b4c 80ad75c: 080d0b50 .word 0x080d0b50 80ad760: 080d09f8 .word 0x080d09f8 80ad764: 080d0a08 .word 0x080d0a08 80ad768: 080d0a14 .word 0x080d0a14 80ad76c: 080d09ec .word 0x080d09ec 80ad770: 080d0adc .word 0x080d0adc else if(pardata.IPR == DIS) 80ad774: 4b24 ldr r3, [pc, #144] ; (80ad808 ) 80ad776: 785b ldrb r3, [r3, #1] 80ad778: b2db uxtb r3, r3 80ad77a: 2b02 cmp r3, #2 80ad77c: d11c bne.n 80ad7b8 { if(m == 0) 80ad77e: 79fb ldrb r3, [r7, #7] 80ad780: 2b00 cmp r3, #0 80ad782: d106 bne.n 80ad792 BSP_LCD_DisplayStringAt(58, 46, "mV", RIGHT_MODE); 80ad784: 2302 movs r3, #2 80ad786: 4a21 ldr r2, [pc, #132] ; (80ad80c ) 80ad788: 212e movs r1, #46 ; 0x2e 80ad78a: 203a movs r0, #58 ; 0x3a 80ad78c: f7a6 f8f0 bl 8053970 80ad790: e012 b.n 80ad7b8 else if(m == 1) 80ad792: 79fb ldrb r3, [r7, #7] 80ad794: 2b01 cmp r3, #1 80ad796: d106 bne.n 80ad7a6 BSP_LCD_DisplayStringAt(58, 46, "V", RIGHT_MODE); 80ad798: 2302 movs r3, #2 80ad79a: 4a1d ldr r2, [pc, #116] ; (80ad810 ) 80ad79c: 212e movs r1, #46 ; 0x2e 80ad79e: 203a movs r0, #58 ; 0x3a 80ad7a0: f7a6 f8e6 bl 8053970 80ad7a4: e008 b.n 80ad7b8 else if(m == 2) 80ad7a6: 79fb ldrb r3, [r7, #7] 80ad7a8: 2b02 cmp r3, #2 80ad7aa: d105 bne.n 80ad7b8 BSP_LCD_DisplayStringAt(58, 46, "uV", RIGHT_MODE); 80ad7ac: 2302 movs r3, #2 80ad7ae: 4a19 ldr r2, [pc, #100] ; (80ad814 ) 80ad7b0: 212e movs r1, #46 ; 0x2e 80ad7b2: 203a movs r0, #58 ; 0x3a 80ad7b4: f7a6 f8dc bl 8053970 } } } pch = (char *) FloatToASCII(skzDB[pardata.IPR], -1); 80ad7b8: 4b13 ldr r3, [pc, #76] ; (80ad808 ) 80ad7ba: 785b ldrb r3, [r3, #1] 80ad7bc: b2db uxtb r3, r3 80ad7be: 4a16 ldr r2, [pc, #88] ; (80ad818 ) 80ad7c0: 009b lsls r3, r3, #2 80ad7c2: 4413 add r3, r2 80ad7c4: edd3 7a00 vldr s15, [r3] 80ad7c8: f04f 30ff mov.w r0, #4294967295 80ad7cc: eeb0 0a67 vmov.f32 s0, s15 80ad7d0: f7b8 ffb2 bl 8066738 80ad7d4: 6038 str r0, [r7, #0] strcat(pch, " dB"); 80ad7d6: 6838 ldr r0, [r7, #0] 80ad7d8: f772 fd9c bl 8020314 80ad7dc: 4603 mov r3, r0 80ad7de: 461a mov r2, r3 80ad7e0: 683b ldr r3, [r7, #0] 80ad7e2: 4413 add r3, r2 80ad7e4: 4a0d ldr r2, [pc, #52] ; (80ad81c ) 80ad7e6: 6810 ldr r0, [r2, #0] 80ad7e8: 6018 str r0, [r3, #0] LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80ad7ea: 490d ldr r1, [pc, #52] ; (80ad820 ) 80ad7ec: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80ad7f0: f7a5 fff8 bl 80537e4 BSP_LCD_DisplayStringAt(30, 73, pch, CENTER_MODE); 80ad7f4: 2301 movs r3, #1 80ad7f6: 683a ldr r2, [r7, #0] 80ad7f8: 2149 movs r1, #73 ; 0x49 80ad7fa: 201e movs r0, #30 80ad7fc: f7a6 f8b8 bl 8053970 //BSP_LCD_DisplayStringAt(41, 77, "dB", CENTER_MODE); } 80ad800: bf00 nop 80ad802: 3710 adds r7, #16 80ad804: 46bd mov sp, r7 80ad806: bd80 pop {r7, pc} 80ad808: 20023e60 .word 0x20023e60 80ad80c: 080d0adc .word 0x080d0adc 80ad810: 080ce6d8 .word 0x080ce6d8 80ad814: 080d0a44 .word 0x080d0a44 80ad818: 2002154c .word 0x2002154c 80ad81c: 080d0b54 .word 0x080d0b54 80ad820: ff0a0f1f .word 0xff0a0f1f 080ad824 : void DrawAVS(void) //TODO { 80ad824: b580 push {r7, lr} 80ad826: af00 add r7, sp, #0 static const char *pTEXT[2][2] = { {"ïèê", "ñêç"}, { "peak", "rms"} }; static const char *pTEXT_DB[2][2] = { {"ïèê,dB", "ñêç,dB"}, { "peak,dB", "rms,dB"} }; BSP_LCD_SetFont(&Font24); 80ad828: 483f ldr r0, [pc, #252] ; (80ad928 ) 80ad82a: f7a6 f817 bl 805385c LCD_SetColors(LCD_COLOR_WHITE, 0xFF000000); 80ad82e: f04f 417f mov.w r1, #4278190080 ; 0xff000000 80ad832: f04f 30ff mov.w r0, #4294967295 80ad836: f7a5 ffd5 bl 80537e4 BSP_LCD_DisplayStringAt(66, 45, (char *) pIPR[pardata.LANG][pardata.IPR], LEFT_MODE); 80ad83a: 4b3c ldr r3, [pc, #240] ; (80ad92c ) 80ad83c: 7b1b ldrb r3, [r3, #12] 80ad83e: b2db uxtb r3, r3 80ad840: 4619 mov r1, r3 80ad842: 4b3a ldr r3, [pc, #232] ; (80ad92c ) 80ad844: 785b ldrb r3, [r3, #1] 80ad846: b2db uxtb r3, r3 80ad848: 4618 mov r0, r3 80ad84a: 4a39 ldr r2, [pc, #228] ; (80ad930 ) 80ad84c: 460b mov r3, r1 80ad84e: 005b lsls r3, r3, #1 80ad850: 440b add r3, r1 80ad852: 4403 add r3, r0 80ad854: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80ad858: 2303 movs r3, #3 80ad85a: 212d movs r1, #45 ; 0x2d 80ad85c: 2042 movs r0, #66 ; 0x42 80ad85e: f7a6 f887 bl 8053970 BSP_LCD_SetFont(&Font12); 80ad862: 4834 ldr r0, [pc, #208] ; (80ad934 ) 80ad864: f7a5 fffa bl 805385c if((menu == MAIN_ROLL) || (menu == VIEW_PORTRET) || (menu == ROLL_RESULTS)) 80ad868: 4b33 ldr r3, [pc, #204] ; (80ad938 ) 80ad86a: 781b ldrb r3, [r3, #0] 80ad86c: b2db uxtb r3, r3 80ad86e: 2b24 cmp r3, #36 ; 0x24 80ad870: d009 beq.n 80ad886 80ad872: 4b31 ldr r3, [pc, #196] ; (80ad938 ) 80ad874: 781b ldrb r3, [r3, #0] 80ad876: b2db uxtb r3, r3 80ad878: 2b28 cmp r3, #40 ; 0x28 80ad87a: d004 beq.n 80ad886 80ad87c: 4b2e ldr r3, [pc, #184] ; (80ad938 ) 80ad87e: 781b ldrb r3, [r3, #0] 80ad880: b2db uxtb r3, r3 80ad882: 2b27 cmp r3, #39 ; 0x27 80ad884: d106 bne.n 80ad894 { BSP_LCD_DisplayStringAt(83, 53, ",dB", LEFT_MODE); 80ad886: 2303 movs r3, #3 80ad888: 4a2c ldr r2, [pc, #176] ; (80ad93c ) 80ad88a: 2135 movs r1, #53 ; 0x35 80ad88c: 2053 movs r0, #83 ; 0x53 80ad88e: f7a6 f86f bl 8053970 } else BSP_LCD_DisplayStringAt(83, 53, ",dB", LEFT_MODE); } }*/ } 80ad892: e047 b.n 80ad924 if((menu == MAIN_SPEC_OKT) || (menu == MAIN_SPEC_THIRD) || (menu == MAIN_SPEC) || (menu == MAIN_SPEC_OGIB)) 80ad894: 4b28 ldr r3, [pc, #160] ; (80ad938 ) 80ad896: 781b ldrb r3, [r3, #0] 80ad898: b2db uxtb r3, r3 80ad89a: 2b22 cmp r3, #34 ; 0x22 80ad89c: d00e beq.n 80ad8bc 80ad89e: 4b26 ldr r3, [pc, #152] ; (80ad938 ) 80ad8a0: 781b ldrb r3, [r3, #0] 80ad8a2: b2db uxtb r3, r3 80ad8a4: 2b23 cmp r3, #35 ; 0x23 80ad8a6: d009 beq.n 80ad8bc 80ad8a8: 4b23 ldr r3, [pc, #140] ; (80ad938 ) 80ad8aa: 781b ldrb r3, [r3, #0] 80ad8ac: b2db uxtb r3, r3 80ad8ae: 2b1c cmp r3, #28 80ad8b0: d004 beq.n 80ad8bc 80ad8b2: 4b21 ldr r3, [pc, #132] ; (80ad938 ) 80ad8b4: 781b ldrb r3, [r3, #0] 80ad8b6: b2db uxtb r3, r3 80ad8b8: 2b21 cmp r3, #33 ; 0x21 80ad8ba: d133 bne.n 80ad924 if(pardata.MSH == LOG) 80ad8bc: 4b1b ldr r3, [pc, #108] ; (80ad92c ) 80ad8be: 7a9b ldrb r3, [r3, #10] 80ad8c0: b2db uxtb r3, r3 80ad8c2: 2b01 cmp r3, #1 80ad8c4: d117 bne.n 80ad8f6 BSP_LCD_DisplayStringAt(83, 53, (char *) pTEXT_DB[pardata.LANG][pardata.IVS[pardata.IPR]], LEFT_MODE); 80ad8c6: 4b19 ldr r3, [pc, #100] ; (80ad92c ) 80ad8c8: 7b1b ldrb r3, [r3, #12] 80ad8ca: b2db uxtb r3, r3 80ad8cc: 4618 mov r0, r3 80ad8ce: 4b17 ldr r3, [pc, #92] ; (80ad92c ) 80ad8d0: 785b ldrb r3, [r3, #1] 80ad8d2: b2db uxtb r3, r3 80ad8d4: 461a mov r2, r3 80ad8d6: 4b15 ldr r3, [pc, #84] ; (80ad92c ) 80ad8d8: 4413 add r3, r2 80ad8da: 789b ldrb r3, [r3, #2] 80ad8dc: b2db uxtb r3, r3 80ad8de: 4619 mov r1, r3 80ad8e0: 4a17 ldr r2, [pc, #92] ; (80ad940 ) 80ad8e2: 0043 lsls r3, r0, #1 80ad8e4: 440b add r3, r1 80ad8e6: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80ad8ea: 2303 movs r3, #3 80ad8ec: 2135 movs r1, #53 ; 0x35 80ad8ee: 2053 movs r0, #83 ; 0x53 80ad8f0: f7a6 f83e bl 8053970 } 80ad8f4: e016 b.n 80ad924 else BSP_LCD_DisplayStringAt(83, 53, (char *) pTEXT[pardata.LANG][pardata.IVS[pardata.IPR]], LEFT_MODE); 80ad8f6: 4b0d ldr r3, [pc, #52] ; (80ad92c ) 80ad8f8: 7b1b ldrb r3, [r3, #12] 80ad8fa: b2db uxtb r3, r3 80ad8fc: 4618 mov r0, r3 80ad8fe: 4b0b ldr r3, [pc, #44] ; (80ad92c ) 80ad900: 785b ldrb r3, [r3, #1] 80ad902: b2db uxtb r3, r3 80ad904: 461a mov r2, r3 80ad906: 4b09 ldr r3, [pc, #36] ; (80ad92c ) 80ad908: 4413 add r3, r2 80ad90a: 789b ldrb r3, [r3, #2] 80ad90c: b2db uxtb r3, r3 80ad90e: 4619 mov r1, r3 80ad910: 4a0c ldr r2, [pc, #48] ; (80ad944 ) 80ad912: 0043 lsls r3, r0, #1 80ad914: 440b add r3, r1 80ad916: f852 2023 ldr.w r2, [r2, r3, lsl #2] 80ad91a: 2303 movs r3, #3 80ad91c: 2135 movs r1, #53 ; 0x35 80ad91e: 2053 movs r0, #83 ; 0x53 80ad920: f7a6 f826 bl 8053970 } 80ad924: bf00 nop 80ad926: bd80 pop {r7, pc} 80ad928: 20020058 .word 0x20020058 80ad92c: 20023e60 .word 0x20023e60 80ad930: 20020164 .word 0x20020164 80ad934: 20020038 .word 0x20020038 80ad938: 20020f78 .word 0x20020f78 80ad93c: 080d0b58 .word 0x080d0b58 80ad940: 20020994 .word 0x20020994 80ad944: 200209a4 .word 0x200209a4 080ad948 : void DrawKeyboard(void) { 80ad948: b580 push {r7, lr} 80ad94a: b084 sub sp, #16 80ad94c: af00 add r7, sp, #0 uint32_t i, j; char Bukva[2] = {'\0','\0'}; 80ad94e: 2300 movs r3, #0 80ad950: 713b strb r3, [r7, #4] 80ad952: 2300 movs r3, #0 80ad954: 717b strb r3, [r7, #5] BSP_LCD_SetFont(&Font12); 80ad956: 48ba ldr r0, [pc, #744] ; (80adc40 ) 80ad958: f7a5 ff80 bl 805385c for(j = 0; j < 3; j++) 80ad95c: 2300 movs r3, #0 80ad95e: 60bb str r3, [r7, #8] 80ad960: e0aa b.n 80adab8 { for(i = 0; i < 10; i++) 80ad962: 2300 movs r3, #0 80ad964: 60fb str r3, [r7, #12] 80ad966: e0a0 b.n 80adaaa { if(menupos != (j*10 + i)) 80ad968: 4bb6 ldr r3, [pc, #728] ; (80adc44 ) 80ad96a: 781b ldrb r3, [r3, #0] 80ad96c: b2db uxtb r3, r3 80ad96e: 4619 mov r1, r3 80ad970: 68ba ldr r2, [r7, #8] 80ad972: 4613 mov r3, r2 80ad974: 009b lsls r3, r3, #2 80ad976: 4413 add r3, r2 80ad978: 005b lsls r3, r3, #1 80ad97a: 461a mov r2, r3 80ad97c: 68fb ldr r3, [r7, #12] 80ad97e: 4413 add r3, r2 80ad980: 4299 cmp r1, r3 80ad982: d047 beq.n 80ada14 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80ad984: 49b0 ldr r1, [pc, #704] ; (80adc48 ) 80ad986: 48b1 ldr r0, [pc, #708] ; (80adc4c ) 80ad988: f7a5 ff2c bl 80537e4 BSP_LCD_DrawRect(26 + 26*i, 120 + 22*j, 25, 21); 80ad98c: 68fb ldr r3, [r7, #12] 80ad98e: 3301 adds r3, #1 80ad990: b29b uxth r3, r3 80ad992: 461a mov r2, r3 80ad994: 0052 lsls r2, r2, #1 80ad996: 441a add r2, r3 80ad998: 0092 lsls r2, r2, #2 80ad99a: 4413 add r3, r2 80ad99c: 005b lsls r3, r3, #1 80ad99e: b298 uxth r0, r3 80ad9a0: 68bb ldr r3, [r7, #8] 80ad9a2: b29b uxth r3, r3 80ad9a4: 461a mov r2, r3 80ad9a6: 0092 lsls r2, r2, #2 80ad9a8: 441a add r2, r3 80ad9aa: 0052 lsls r2, r2, #1 80ad9ac: 4413 add r3, r2 80ad9ae: 005b lsls r3, r3, #1 80ad9b0: b29b uxth r3, r3 80ad9b2: 3378 adds r3, #120 ; 0x78 80ad9b4: b299 uxth r1, r3 80ad9b6: 2315 movs r3, #21 80ad9b8: 2219 movs r2, #25 80ad9ba: f7a6 fa19 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ad9be: 49a2 ldr r1, [pc, #648] ; (80adc48 ) 80ad9c0: f04f 30ff mov.w r0, #4294967295 80ad9c4: f7a5 ff0e bl 80537e4 Bukva[0] = CHARS_ENG[j*10 + i]; 80ad9c8: 68ba ldr r2, [r7, #8] 80ad9ca: 4613 mov r3, r2 80ad9cc: 009b lsls r3, r3, #2 80ad9ce: 4413 add r3, r2 80ad9d0: 005b lsls r3, r3, #1 80ad9d2: 461a mov r2, r3 80ad9d4: 68fb ldr r3, [r7, #12] 80ad9d6: 4413 add r3, r2 80ad9d8: 4a9d ldr r2, [pc, #628] ; (80adc50 ) 80ad9da: 5cd3 ldrb r3, [r2, r3] 80ad9dc: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 126 + 22*j, Bukva, LEFT_MODE); 80ad9de: 68fb ldr r3, [r7, #12] 80ad9e0: b29b uxth r3, r3 80ad9e2: 461a mov r2, r3 80ad9e4: 0052 lsls r2, r2, #1 80ad9e6: 441a add r2, r3 80ad9e8: 0092 lsls r2, r2, #2 80ad9ea: 4413 add r3, r2 80ad9ec: 005b lsls r3, r3, #1 80ad9ee: b29b uxth r3, r3 80ad9f0: 3325 adds r3, #37 ; 0x25 80ad9f2: b298 uxth r0, r3 80ad9f4: 68bb ldr r3, [r7, #8] 80ad9f6: b29b uxth r3, r3 80ad9f8: 461a mov r2, r3 80ad9fa: 0092 lsls r2, r2, #2 80ad9fc: 441a add r2, r3 80ad9fe: 0052 lsls r2, r2, #1 80ada00: 4413 add r3, r2 80ada02: 005b lsls r3, r3, #1 80ada04: b29b uxth r3, r3 80ada06: 337e adds r3, #126 ; 0x7e 80ada08: b299 uxth r1, r3 80ada0a: 1d3a adds r2, r7, #4 80ada0c: 2303 movs r3, #3 80ada0e: f7a5 ffaf bl 8053970 80ada12: e047 b.n 80adaa4 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80ada14: 498c ldr r1, [pc, #560] ; (80adc48 ) 80ada16: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80ada1a: f7a5 fee3 bl 80537e4 BSP_LCD_DrawRect(26 + 26*i, 120 + 22*j, 25, 21); 80ada1e: 68fb ldr r3, [r7, #12] 80ada20: 3301 adds r3, #1 80ada22: b29b uxth r3, r3 80ada24: 461a mov r2, r3 80ada26: 0052 lsls r2, r2, #1 80ada28: 441a add r2, r3 80ada2a: 0092 lsls r2, r2, #2 80ada2c: 4413 add r3, r2 80ada2e: 005b lsls r3, r3, #1 80ada30: b298 uxth r0, r3 80ada32: 68bb ldr r3, [r7, #8] 80ada34: b29b uxth r3, r3 80ada36: 461a mov r2, r3 80ada38: 0092 lsls r2, r2, #2 80ada3a: 441a add r2, r3 80ada3c: 0052 lsls r2, r2, #1 80ada3e: 4413 add r3, r2 80ada40: 005b lsls r3, r3, #1 80ada42: b29b uxth r3, r3 80ada44: 3378 adds r3, #120 ; 0x78 80ada46: b299 uxth r1, r3 80ada48: 2315 movs r3, #21 80ada4a: 2219 movs r2, #25 80ada4c: f7a6 f9d0 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80ada50: 497d ldr r1, [pc, #500] ; (80adc48 ) 80ada52: f04f 30ff mov.w r0, #4294967295 80ada56: f7a5 fec5 bl 80537e4 Bukva[0] = CHARS_ENG[j*10 + i]; 80ada5a: 68ba ldr r2, [r7, #8] 80ada5c: 4613 mov r3, r2 80ada5e: 009b lsls r3, r3, #2 80ada60: 4413 add r3, r2 80ada62: 005b lsls r3, r3, #1 80ada64: 461a mov r2, r3 80ada66: 68fb ldr r3, [r7, #12] 80ada68: 4413 add r3, r2 80ada6a: 4a79 ldr r2, [pc, #484] ; (80adc50 ) 80ada6c: 5cd3 ldrb r3, [r2, r3] 80ada6e: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 126 + 22*j, Bukva, LEFT_MODE); 80ada70: 68fb ldr r3, [r7, #12] 80ada72: b29b uxth r3, r3 80ada74: 461a mov r2, r3 80ada76: 0052 lsls r2, r2, #1 80ada78: 441a add r2, r3 80ada7a: 0092 lsls r2, r2, #2 80ada7c: 4413 add r3, r2 80ada7e: 005b lsls r3, r3, #1 80ada80: b29b uxth r3, r3 80ada82: 3325 adds r3, #37 ; 0x25 80ada84: b298 uxth r0, r3 80ada86: 68bb ldr r3, [r7, #8] 80ada88: b29b uxth r3, r3 80ada8a: 461a mov r2, r3 80ada8c: 0092 lsls r2, r2, #2 80ada8e: 441a add r2, r3 80ada90: 0052 lsls r2, r2, #1 80ada92: 4413 add r3, r2 80ada94: 005b lsls r3, r3, #1 80ada96: b29b uxth r3, r3 80ada98: 337e adds r3, #126 ; 0x7e 80ada9a: b299 uxth r1, r3 80ada9c: 1d3a adds r2, r7, #4 80ada9e: 2303 movs r3, #3 80adaa0: f7a5 ff66 bl 8053970 for(i = 0; i < 10; i++) 80adaa4: 68fb ldr r3, [r7, #12] 80adaa6: 3301 adds r3, #1 80adaa8: 60fb str r3, [r7, #12] 80adaaa: 68fb ldr r3, [r7, #12] 80adaac: 2b09 cmp r3, #9 80adaae: f67f af5b bls.w 80ad968 for(j = 0; j < 3; j++) 80adab2: 68bb ldr r3, [r7, #8] 80adab4: 3301 adds r3, #1 80adab6: 60bb str r3, [r7, #8] 80adab8: 68bb ldr r3, [r7, #8] 80adaba: 2b02 cmp r3, #2 80adabc: f67f af51 bls.w 80ad962 } } } i = 0; 80adac0: 2300 movs r3, #0 80adac2: 60fb str r3, [r7, #12] do { if(i < 4) 80adac4: 68fb ldr r3, [r7, #12] 80adac6: 2b03 cmp r3, #3 80adac8: d864 bhi.n 80adb94 { if(menupos != (30 + i)) 80adaca: 4b5e ldr r3, [pc, #376] ; (80adc44 ) 80adacc: 781b ldrb r3, [r3, #0] 80adace: b2db uxtb r3, r3 80adad0: 461a mov r2, r3 80adad2: 68fb ldr r3, [r7, #12] 80adad4: 331e adds r3, #30 80adad6: 429a cmp r2, r3 80adad8: d02d beq.n 80adb36 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80adada: 495b ldr r1, [pc, #364] ; (80adc48 ) 80adadc: 485b ldr r0, [pc, #364] ; (80adc4c ) 80adade: f7a5 fe81 bl 80537e4 BSP_LCD_DrawRect(26 + 26*i, 186, 25, 21); 80adae2: 68fb ldr r3, [r7, #12] 80adae4: 3301 adds r3, #1 80adae6: b29b uxth r3, r3 80adae8: 461a mov r2, r3 80adaea: 0052 lsls r2, r2, #1 80adaec: 441a add r2, r3 80adaee: 0092 lsls r2, r2, #2 80adaf0: 4413 add r3, r2 80adaf2: 005b lsls r3, r3, #1 80adaf4: b298 uxth r0, r3 80adaf6: 2315 movs r3, #21 80adaf8: 2219 movs r2, #25 80adafa: 21ba movs r1, #186 ; 0xba 80adafc: f7a6 f978 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80adb00: 4951 ldr r1, [pc, #324] ; (80adc48 ) 80adb02: f04f 30ff mov.w r0, #4294967295 80adb06: f7a5 fe6d bl 80537e4 Bukva[0] = CHARS_ENG[30 + i]; 80adb0a: 68fb ldr r3, [r7, #12] 80adb0c: 331e adds r3, #30 80adb0e: 4a50 ldr r2, [pc, #320] ; (80adc50 ) 80adb10: 5cd3 ldrb r3, [r2, r3] 80adb12: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 192, Bukva, LEFT_MODE); 80adb14: 68fb ldr r3, [r7, #12] 80adb16: b29b uxth r3, r3 80adb18: 461a mov r2, r3 80adb1a: 0052 lsls r2, r2, #1 80adb1c: 441a add r2, r3 80adb1e: 0092 lsls r2, r2, #2 80adb20: 4413 add r3, r2 80adb22: 005b lsls r3, r3, #1 80adb24: b29b uxth r3, r3 80adb26: 3325 adds r3, #37 ; 0x25 80adb28: b298 uxth r0, r3 80adb2a: 1d3a adds r2, r7, #4 80adb2c: 2303 movs r3, #3 80adb2e: 21c0 movs r1, #192 ; 0xc0 80adb30: f7a5 ff1e bl 8053970 80adb34: e0bd b.n 80adcb2 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80adb36: 4944 ldr r1, [pc, #272] ; (80adc48 ) 80adb38: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80adb3c: f7a5 fe52 bl 80537e4 BSP_LCD_DrawRect(26 + 26*i, 186, 25, 21); 80adb40: 68fb ldr r3, [r7, #12] 80adb42: 3301 adds r3, #1 80adb44: b29b uxth r3, r3 80adb46: 461a mov r2, r3 80adb48: 0052 lsls r2, r2, #1 80adb4a: 441a add r2, r3 80adb4c: 0092 lsls r2, r2, #2 80adb4e: 4413 add r3, r2 80adb50: 005b lsls r3, r3, #1 80adb52: b298 uxth r0, r3 80adb54: 2315 movs r3, #21 80adb56: 2219 movs r2, #25 80adb58: 21ba movs r1, #186 ; 0xba 80adb5a: f7a6 f949 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80adb5e: 493a ldr r1, [pc, #232] ; (80adc48 ) 80adb60: f04f 30ff mov.w r0, #4294967295 80adb64: f7a5 fe3e bl 80537e4 Bukva[0] = CHARS_ENG[30 + i]; 80adb68: 68fb ldr r3, [r7, #12] 80adb6a: 331e adds r3, #30 80adb6c: 4a38 ldr r2, [pc, #224] ; (80adc50 ) 80adb6e: 5cd3 ldrb r3, [r2, r3] 80adb70: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(37 + 26*i, 192, Bukva, LEFT_MODE); 80adb72: 68fb ldr r3, [r7, #12] 80adb74: b29b uxth r3, r3 80adb76: 461a mov r2, r3 80adb78: 0052 lsls r2, r2, #1 80adb7a: 441a add r2, r3 80adb7c: 0092 lsls r2, r2, #2 80adb7e: 4413 add r3, r2 80adb80: 005b lsls r3, r3, #1 80adb82: b29b uxth r3, r3 80adb84: 3325 adds r3, #37 ; 0x25 80adb86: b298 uxth r0, r3 80adb88: 1d3a adds r2, r7, #4 80adb8a: 2303 movs r3, #3 80adb8c: 21c0 movs r1, #192 ; 0xc0 80adb8e: f7a5 feef bl 8053970 80adb92: e08e b.n 80adcb2 } } else if(i == 4) 80adb94: 68fb ldr r3, [r7, #12] 80adb96: 2b04 cmp r3, #4 80adb98: d11b bne.n 80adbd2 { /*"Space" button */ if(menupos != 34) 80adb9a: 4b2a ldr r3, [pc, #168] ; (80adc44 ) 80adb9c: 781b ldrb r3, [r3, #0] 80adb9e: b2db uxtb r3, r3 80adba0: 2b22 cmp r3, #34 ; 0x22 80adba2: d00a beq.n 80adbba { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80adba4: 4928 ldr r1, [pc, #160] ; (80adc48 ) 80adba6: 4829 ldr r0, [pc, #164] ; (80adc4c ) 80adba8: f7a5 fe1c bl 80537e4 BSP_LCD_DrawRect(130, 186, 77, 21); 80adbac: 2315 movs r3, #21 80adbae: 224d movs r2, #77 ; 0x4d 80adbb0: 21ba movs r1, #186 ; 0xba 80adbb2: 2082 movs r0, #130 ; 0x82 80adbb4: f7a6 f91c bl 8053df0 80adbb8: e07b b.n 80adcb2 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80adbba: 4923 ldr r1, [pc, #140] ; (80adc48 ) 80adbbc: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80adbc0: f7a5 fe10 bl 80537e4 BSP_LCD_DrawRect(130, 186, 77, 21); 80adbc4: 2315 movs r3, #21 80adbc6: 224d movs r2, #77 ; 0x4d 80adbc8: 21ba movs r1, #186 ; 0xba 80adbca: 2082 movs r0, #130 ; 0x82 80adbcc: f7a6 f910 bl 8053df0 80adbd0: e06f b.n 80adcb2 } } else { /* After "Space" button*/ if(menupos != (30 + i)) 80adbd2: 4b1c ldr r3, [pc, #112] ; (80adc44 ) 80adbd4: 781b ldrb r3, [r3, #0] 80adbd6: b2db uxtb r3, r3 80adbd8: 461a mov r2, r3 80adbda: 68fb ldr r3, [r7, #12] 80adbdc: 331e adds r3, #30 80adbde: 429a cmp r2, r3 80adbe0: d038 beq.n 80adc54 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80adbe2: 4919 ldr r1, [pc, #100] ; (80adc48 ) 80adbe4: 4819 ldr r0, [pc, #100] ; (80adc4c ) 80adbe6: f7a5 fdfd bl 80537e4 BSP_LCD_DrawRect(78 + 26*i, 186, 25, 21); 80adbea: 68fb ldr r3, [r7, #12] 80adbec: b29b uxth r3, r3 80adbee: 461a mov r2, r3 80adbf0: 0052 lsls r2, r2, #1 80adbf2: 441a add r2, r3 80adbf4: 0092 lsls r2, r2, #2 80adbf6: 4413 add r3, r2 80adbf8: 005b lsls r3, r3, #1 80adbfa: b29b uxth r3, r3 80adbfc: 334e adds r3, #78 ; 0x4e 80adbfe: b298 uxth r0, r3 80adc00: 2315 movs r3, #21 80adc02: 2219 movs r2, #25 80adc04: 21ba movs r1, #186 ; 0xba 80adc06: f7a6 f8f3 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80adc0a: 490f ldr r1, [pc, #60] ; (80adc48 ) 80adc0c: f04f 30ff mov.w r0, #4294967295 80adc10: f7a5 fde8 bl 80537e4 Bukva[0] = CHARS_ENG[30 + i]; 80adc14: 68fb ldr r3, [r7, #12] 80adc16: 331e adds r3, #30 80adc18: 4a0d ldr r2, [pc, #52] ; (80adc50 ) 80adc1a: 5cd3 ldrb r3, [r2, r3] 80adc1c: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(89 + 26*i, 192, Bukva, LEFT_MODE); 80adc1e: 68fb ldr r3, [r7, #12] 80adc20: b29b uxth r3, r3 80adc22: 461a mov r2, r3 80adc24: 0052 lsls r2, r2, #1 80adc26: 441a add r2, r3 80adc28: 0092 lsls r2, r2, #2 80adc2a: 4413 add r3, r2 80adc2c: 005b lsls r3, r3, #1 80adc2e: b29b uxth r3, r3 80adc30: 3359 adds r3, #89 ; 0x59 80adc32: b298 uxth r0, r3 80adc34: 1d3a adds r2, r7, #4 80adc36: 2303 movs r3, #3 80adc38: 21c0 movs r1, #192 ; 0xc0 80adc3a: f7a5 fe99 bl 8053970 80adc3e: e038 b.n 80adcb2 80adc40: 20020038 .word 0x20020038 80adc44: 20020070 .word 0x20020070 80adc48: ff0a0f1f .word 0xff0a0f1f 80adc4c: ff808080 .word 0xff808080 80adc50: 080ef600 .word 0x080ef600 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80adc54: 495c ldr r1, [pc, #368] ; (80addc8 ) 80adc56: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80adc5a: f7a5 fdc3 bl 80537e4 BSP_LCD_DrawRect(78 + 26*i, 186, 25, 21); 80adc5e: 68fb ldr r3, [r7, #12] 80adc60: b29b uxth r3, r3 80adc62: 461a mov r2, r3 80adc64: 0052 lsls r2, r2, #1 80adc66: 441a add r2, r3 80adc68: 0092 lsls r2, r2, #2 80adc6a: 4413 add r3, r2 80adc6c: 005b lsls r3, r3, #1 80adc6e: b29b uxth r3, r3 80adc70: 334e adds r3, #78 ; 0x4e 80adc72: b298 uxth r0, r3 80adc74: 2315 movs r3, #21 80adc76: 2219 movs r2, #25 80adc78: 21ba movs r1, #186 ; 0xba 80adc7a: f7a6 f8b9 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80adc7e: 4952 ldr r1, [pc, #328] ; (80addc8 ) 80adc80: f04f 30ff mov.w r0, #4294967295 80adc84: f7a5 fdae bl 80537e4 Bukva[0] = CHARS_ENG[30 + i]; 80adc88: 68fb ldr r3, [r7, #12] 80adc8a: 331e adds r3, #30 80adc8c: 4a4f ldr r2, [pc, #316] ; (80addcc ) 80adc8e: 5cd3 ldrb r3, [r2, r3] 80adc90: 713b strb r3, [r7, #4] BSP_LCD_DisplayStringAt(89 + 26*i, 192, Bukva, LEFT_MODE); 80adc92: 68fb ldr r3, [r7, #12] 80adc94: b29b uxth r3, r3 80adc96: 461a mov r2, r3 80adc98: 0052 lsls r2, r2, #1 80adc9a: 441a add r2, r3 80adc9c: 0092 lsls r2, r2, #2 80adc9e: 4413 add r3, r2 80adca0: 005b lsls r3, r3, #1 80adca2: b29b uxth r3, r3 80adca4: 3359 adds r3, #89 ; 0x59 80adca6: b298 uxth r0, r3 80adca8: 1d3a adds r2, r7, #4 80adcaa: 2303 movs r3, #3 80adcac: 21c0 movs r1, #192 ; 0xc0 80adcae: f7a5 fe5f bl 8053970 } } } while(++i < 8); 80adcb2: 68fb ldr r3, [r7, #12] 80adcb4: 3301 adds r3, #1 80adcb6: 60fb str r3, [r7, #12] 80adcb8: 68fb ldr r3, [r7, #12] 80adcba: 2b07 cmp r3, #7 80adcbc: f67f af02 bls.w 80adac4 /* "OK" button */ if(menupos != _ENTER) 80adcc0: 4b43 ldr r3, [pc, #268] ; (80addd0 ) 80adcc2: 781b ldrb r3, [r3, #0] 80adcc4: b2db uxtb r3, r3 80adcc6: 2b26 cmp r3, #38 ; 0x26 80adcc8: d015 beq.n 80adcf6 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80adcca: 493f ldr r1, [pc, #252] ; (80addc8 ) 80adccc: 4841 ldr r0, [pc, #260] ; (80addd4 ) 80adcce: f7a5 fd89 bl 80537e4 BSP_LCD_DrawRect(95, 209, 50, 21); 80adcd2: 2315 movs r3, #21 80adcd4: 2232 movs r2, #50 ; 0x32 80adcd6: 21d1 movs r1, #209 ; 0xd1 80adcd8: 205f movs r0, #95 ; 0x5f 80adcda: f7a6 f889 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80adcde: 493a ldr r1, [pc, #232] ; (80addc8 ) 80adce0: f04f 30ff mov.w r0, #4294967295 80adce4: f7a5 fd7e bl 80537e4 BSP_LCD_DisplayStringAt(120, 215, "OK", CENTER_MODE); 80adce8: 2301 movs r3, #1 80adcea: 4a3b ldr r2, [pc, #236] ; (80addd8 ) 80adcec: 21d7 movs r1, #215 ; 0xd7 80adcee: 2078 movs r0, #120 ; 0x78 80adcf0: f7a5 fe3e bl 8053970 80adcf4: e015 b.n 80add22 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80adcf6: 4934 ldr r1, [pc, #208] ; (80addc8 ) 80adcf8: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80adcfc: f7a5 fd72 bl 80537e4 BSP_LCD_DrawRect(95, 209, 50, 21); 80add00: 2315 movs r3, #21 80add02: 2232 movs r2, #50 ; 0x32 80add04: 21d1 movs r1, #209 ; 0xd1 80add06: 205f movs r0, #95 ; 0x5f 80add08: f7a6 f872 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80add0c: 492e ldr r1, [pc, #184] ; (80addc8 ) 80add0e: f04f 30ff mov.w r0, #4294967295 80add12: f7a5 fd67 bl 80537e4 BSP_LCD_DisplayStringAt(120, 215, "OK", CENTER_MODE); 80add16: 2301 movs r3, #1 80add18: 4a2f ldr r2, [pc, #188] ; (80addd8 ) 80add1a: 21d7 movs r1, #215 ; 0xd7 80add1c: 2078 movs r0, #120 ; 0x78 80add1e: f7a5 fe27 bl 8053970 } /* "Cancel" button */ if(menupos != _CANCEL) 80add22: 4b2b ldr r3, [pc, #172] ; (80addd0 ) 80add24: 781b ldrb r3, [r3, #0] 80add26: b2db uxtb r3, r3 80add28: 2b27 cmp r3, #39 ; 0x27 80add2a: d021 beq.n 80add70 { LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80add2c: 4926 ldr r1, [pc, #152] ; (80addc8 ) 80add2e: 4829 ldr r0, [pc, #164] ; (80addd4 ) 80add30: f7a5 fd58 bl 80537e4 BSP_LCD_DrawRect(175, 209, 50, 21); 80add34: 2315 movs r3, #21 80add36: 2232 movs r2, #50 ; 0x32 80add38: 21d1 movs r1, #209 ; 0xd1 80add3a: 20af movs r0, #175 ; 0xaf 80add3c: f7a6 f858 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80add40: 4921 ldr r1, [pc, #132] ; (80addc8 ) 80add42: f04f 30ff mov.w r0, #4294967295 80add46: f7a5 fd4d bl 80537e4 if(pardata.LANG == RUS) 80add4a: 4b24 ldr r3, [pc, #144] ; (80adddc ) 80add4c: 7b1b ldrb r3, [r3, #12] 80add4e: b2db uxtb r3, r3 80add50: 2b00 cmp r3, #0 80add52: d106 bne.n 80add62 BSP_LCD_DisplayStringAt(200, 215, "OTMEHA", CENTER_MODE); 80add54: 2301 movs r3, #1 80add56: 4a22 ldr r2, [pc, #136] ; (80adde0 ) 80add58: 21d7 movs r1, #215 ; 0xd7 80add5a: 20c8 movs r0, #200 ; 0xc8 80add5c: f7a5 fe08 bl 8053970 80add60: e028 b.n 80addb4 else BSP_LCD_DisplayStringAt(200, 215, "CANCEL", CENTER_MODE); 80add62: 2301 movs r3, #1 80add64: 4a1f ldr r2, [pc, #124] ; (80adde4 ) 80add66: 21d7 movs r1, #215 ; 0xd7 80add68: 20c8 movs r0, #200 ; 0xc8 80add6a: f7a5 fe01 bl 8053970 80add6e: e021 b.n 80addb4 } else { LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80add70: 4915 ldr r1, [pc, #84] ; (80addc8 ) 80add72: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80add76: f7a5 fd35 bl 80537e4 BSP_LCD_DrawRect(175, 209, 50, 21); 80add7a: 2315 movs r3, #21 80add7c: 2232 movs r2, #50 ; 0x32 80add7e: 21d1 movs r1, #209 ; 0xd1 80add80: 20af movs r0, #175 ; 0xaf 80add82: f7a6 f835 bl 8053df0 LCD_SetColors(LCD_COLOR_WHITE, LCD_COLOR_BLACK); 80add86: 4910 ldr r1, [pc, #64] ; (80addc8 ) 80add88: f04f 30ff mov.w r0, #4294967295 80add8c: f7a5 fd2a bl 80537e4 if(pardata.LANG == RUS) 80add90: 4b12 ldr r3, [pc, #72] ; (80adddc ) 80add92: 7b1b ldrb r3, [r3, #12] 80add94: b2db uxtb r3, r3 80add96: 2b00 cmp r3, #0 80add98: d106 bne.n 80adda8 BSP_LCD_DisplayStringAt(200, 215, "OTMEHA", CENTER_MODE); 80add9a: 2301 movs r3, #1 80add9c: 4a10 ldr r2, [pc, #64] ; (80adde0 ) 80add9e: 21d7 movs r1, #215 ; 0xd7 80adda0: 20c8 movs r0, #200 ; 0xc8 80adda2: f7a5 fde5 bl 8053970 80adda6: e005 b.n 80addb4 else BSP_LCD_DisplayStringAt(200, 215, "CANCEL", CENTER_MODE); 80adda8: 2301 movs r3, #1 80addaa: 4a0e ldr r2, [pc, #56] ; (80adde4 ) 80addac: 21d7 movs r1, #215 ; 0xd7 80addae: 20c8 movs r0, #200 ; 0xc8 80addb0: f7a5 fdde bl 8053970 } /* Draw on "Backspace" button */ DrawImage(&bmBCKSPACE, 263, 171); 80addb4: 22ab movs r2, #171 ; 0xab 80addb6: f240 1107 movw r1, #263 ; 0x107 80addba: 480b ldr r0, [pc, #44] ; (80adde8 ) 80addbc: f7a6 fc06 bl 80545cc } 80addc0: bf00 nop 80addc2: 3710 adds r7, #16 80addc4: 46bd mov sp, r7 80addc6: bd80 pop {r7, pc} 80addc8: ff0a0f1f .word 0xff0a0f1f 80addcc: 080ef600 .word 0x080ef600 80addd0: 20020070 .word 0x20020070 80addd4: ff808080 .word 0xff808080 80addd8: 080d02f0 .word 0x080d02f0 80adddc: 20023e60 .word 0x20023e60 80adde0: 080d0b5c .word 0x080d0b5c 80adde4: 080d0b64 .word 0x080d0b64 80adde8: 08111284 .word 0x08111284 080addec : void DrawSizeSD(void)//todo { 80addec: b580 push {r7, lr} 80addee: b08c sub sp, #48 ; 0x30 80addf0: af00 add r7, sp, #0 float32_t Ffree, Ftotal, f; char str[32]; LCD_SetColors(LCD_COLOR_GRAY, LCD_COLOR_BLACK); 80addf2: 4939 ldr r1, [pc, #228] ; (80aded8 ) 80addf4: 4839 ldr r0, [pc, #228] ; (80adedc ) 80addf6: f7a5 fcf5 bl 80537e4 BSP_LCD_DrawRect(4, 25+4, 30, 2); 80addfa: 2302 movs r3, #2 80addfc: 221e movs r2, #30 80addfe: 211d movs r1, #29 80ade00: 2004 movs r0, #4 80ade02: f7a5 fff5 bl 8053df0 Ffree = (float32_t) SD_Space.FreeSectors; 80ade06: 4b36 ldr r3, [pc, #216] ; (80adee0 ) 80ade08: 685b ldr r3, [r3, #4] 80ade0a: ee07 3a90 vmov s15, r3 80ade0e: eef8 7a67 vcvt.f32.u32 s15, s15 80ade12: edc7 7a0a vstr s15, [r7, #40] ; 0x28 Ftotal = (float32_t) SD_Space.TotalSectors; 80ade16: 4b32 ldr r3, [pc, #200] ; (80adee0 ) 80ade18: 681b ldr r3, [r3, #0] 80ade1a: ee07 3a90 vmov s15, r3 80ade1e: eef8 7a67 vcvt.f32.u32 s15, s15 80ade22: edc7 7a09 vstr s15, [r7, #36] ; 0x24 f = Ffree / Ftotal; 80ade26: edd7 6a0a vldr s13, [r7, #40] ; 0x28 80ade2a: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80ade2e: eec6 7a87 vdiv.f32 s15, s13, s14 80ade32: edc7 7a08 vstr s15, [r7, #32] if(f <= 0.2f) LCD_SetColors(LCD_COLOR_RED, LCD_COLOR_BLACK); 80ade36: edd7 7a08 vldr s15, [r7, #32] 80ade3a: ed9f 7a2a vldr s14, [pc, #168] ; 80adee4 80ade3e: eef4 7ac7 vcmpe.f32 s15, s14 80ade42: eef1 fa10 vmrs APSR_nzcv, fpscr 80ade46: d804 bhi.n 80ade52 80ade48: 4923 ldr r1, [pc, #140] ; (80aded8 ) 80ade4a: 4827 ldr r0, [pc, #156] ; (80adee8 ) 80ade4c: f7a5 fcca bl 80537e4 80ade50: e012 b.n 80ade78 else if(f <= 0.4f) LCD_SetColors(LCD_COLOR_ORANGE, LCD_COLOR_BLACK); 80ade52: edd7 7a08 vldr s15, [r7, #32] 80ade56: ed9f 7a25 vldr s14, [pc, #148] ; 80adeec 80ade5a: eef4 7ac7 vcmpe.f32 s15, s14 80ade5e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ade62: d804 bhi.n 80ade6e 80ade64: 491c ldr r1, [pc, #112] ; (80aded8 ) 80ade66: 4822 ldr r0, [pc, #136] ; (80adef0 ) 80ade68: f7a5 fcbc bl 80537e4 80ade6c: e004 b.n 80ade78 else LCD_SetColors(LCD_COLOR_GREEN, LCD_COLOR_BLACK); 80ade6e: 491a ldr r1, [pc, #104] ; (80aded8 ) 80ade70: f04f 20ff mov.w r0, #4278255360 ; 0xff00ff00 80ade74: f7a5 fcb6 bl 80537e4 BSP_LCD_DrawLine(5, 26+4, 33, 26+4); 80ade78: 231e movs r3, #30 80ade7a: 2221 movs r2, #33 ; 0x21 80ade7c: 211e movs r1, #30 80ade7e: 2005 movs r0, #5 80ade80: f7a5 feea bl 8053c58 f *= 28; 80ade84: edd7 7a08 vldr s15, [r7, #32] 80ade88: eeb3 7a0c vmov.f32 s14, #60 ; 0x41e00000 28.0 80ade8c: ee67 7a87 vmul.f32 s15, s15, s14 80ade90: edc7 7a08 vstr s15, [r7, #32] i = (uint32_t) f; 80ade94: edd7 7a08 vldr s15, [r7, #32] 80ade98: eefc 7ae7 vcvt.u32.f32 s15, s15 80ade9c: ee17 3a90 vmov r3, s15 80adea0: 62fb str r3, [r7, #44] ; 0x2c if(i >= 28) 80adea2: 6afb ldr r3, [r7, #44] ; 0x2c 80adea4: 2b1b cmp r3, #27 80adea6: d901 bls.n 80adeac i = 27; 80adea8: 231b movs r3, #27 80adeaa: 62fb str r3, [r7, #44] ; 0x2c if(i > 0) 80adeac: 6afb ldr r3, [r7, #44] ; 0x2c 80adeae: 2b00 cmp r3, #0 80adeb0: d00d beq.n 80adece { LCD_SetColors(LCD_COLOR_BLACK, LCD_COLOR_BLACK); 80adeb2: 4909 ldr r1, [pc, #36] ; (80aded8 ) 80adeb4: 4808 ldr r0, [pc, #32] ; (80aded8 ) 80adeb6: f7a5 fc95 bl 80537e4 BSP_LCD_DrawLine(33, 26+4, 33 - i, 26+4); 80adeba: 6afb ldr r3, [r7, #44] ; 0x2c 80adebc: b29b uxth r3, r3 80adebe: f1c3 0321 rsb r3, r3, #33 ; 0x21 80adec2: b29a uxth r2, r3 80adec4: 231e movs r3, #30 80adec6: 211e movs r1, #30 80adec8: 2021 movs r0, #33 ; 0x21 80adeca: f7a5 fec5 bl 8053c58 } } 80adece: bf00 nop 80aded0: 3730 adds r7, #48 ; 0x30 80aded2: 46bd mov sp, r7 80aded4: bd80 pop {r7, pc} 80aded6: bf00 nop 80aded8: ff0a0f1f .word 0xff0a0f1f 80adedc: ff808080 .word 0xff808080 80adee0: 20022300 .word 0x20022300 80adee4: 3e4ccccd .word 0x3e4ccccd 80adee8: ffff0000 .word 0xffff0000 80adeec: 3ecccccd .word 0x3ecccccd 80adef0: ffffa500 .word 0xffffa500 080adef4 : DMA_HandleTypeDef hdma_sdmmc1_tx; /* SDMMC1 init function */ void MX_SDMMC1_SD_Init(void) { 80adef4: b580 push {r7, lr} 80adef6: af00 add r7, sp, #0 hsd1.Instance = SDMMC1; 80adef8: 4b0c ldr r3, [pc, #48] ; (80adf2c ) 80adefa: 4a0d ldr r2, [pc, #52] ; (80adf30 ) 80adefc: 601a str r2, [r3, #0] hsd1.Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING; 80adefe: 4b0b ldr r3, [pc, #44] ; (80adf2c ) 80adf00: 2200 movs r2, #0 80adf02: 605a str r2, [r3, #4] hsd1.Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE; 80adf04: 4b09 ldr r3, [pc, #36] ; (80adf2c ) 80adf06: 2200 movs r2, #0 80adf08: 609a str r2, [r3, #8] hsd1.Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; 80adf0a: 4b08 ldr r3, [pc, #32] ; (80adf2c ) 80adf0c: 2200 movs r2, #0 80adf0e: 60da str r2, [r3, #12] hsd1.Init.BusWide = SDMMC_BUS_WIDE_1B; 80adf10: 4b06 ldr r3, [pc, #24] ; (80adf2c ) 80adf12: 2200 movs r2, #0 80adf14: 611a str r2, [r3, #16] hsd1.Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; 80adf16: 4b05 ldr r3, [pc, #20] ; (80adf2c ) 80adf18: 2200 movs r2, #0 80adf1a: 615a str r2, [r3, #20] hsd1.Init.ClockDiv = 0; 80adf1c: 4b03 ldr r3, [pc, #12] ; (80adf2c ) 80adf1e: 2200 movs r2, #0 80adf20: 619a str r2, [r3, #24] initSD(); 80adf22: f775 fe53 bl 8023bcc } 80adf26: bf00 nop 80adf28: bd80 pop {r7, pc} 80adf2a: bf00 nop 80adf2c: 200685ec .word 0x200685ec 80adf30: 40012c00 .word 0x40012c00 080adf34 : } } void HAL_SD_MspInit(SD_HandleTypeDef* sdHandle) { 80adf34: b580 push {r7, lr} 80adf36: b088 sub sp, #32 80adf38: af00 add r7, sp, #0 80adf3a: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(sdHandle->Instance == SDMMC1) 80adf3c: 687b ldr r3, [r7, #4] 80adf3e: 681b ldr r3, [r3, #0] 80adf40: 4a5a ldr r2, [pc, #360] ; (80ae0ac ) 80adf42: 4293 cmp r3, r2 80adf44: f040 80ad bne.w 80ae0a2 { /* USER CODE BEGIN SDMMC1_MspInit 0 */ /* USER CODE END SDMMC1_MspInit 0 */ /* SDMMC1 clock enable */ __HAL_RCC_SDMMC1_CLK_ENABLE(); 80adf48: 4a59 ldr r2, [pc, #356] ; (80ae0b0 ) 80adf4a: 4b59 ldr r3, [pc, #356] ; (80ae0b0 ) 80adf4c: 6c5b ldr r3, [r3, #68] ; 0x44 80adf4e: f443 6300 orr.w r3, r3, #2048 ; 0x800 80adf52: 6453 str r3, [r2, #68] ; 0x44 80adf54: 4b56 ldr r3, [pc, #344] ; (80ae0b0 ) 80adf56: 6c5b ldr r3, [r3, #68] ; 0x44 80adf58: f403 6300 and.w r3, r3, #2048 ; 0x800 80adf5c: 60bb str r3, [r7, #8] 80adf5e: 68bb ldr r3, [r7, #8] PC10 ------> SDMMC1_D2 PC11 ------> SDMMC1_D3 PC12 ------> SDMMC1_CK PD2 ------> SDMMC1_CMD */ GPIO_InitStruct.Pin = GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 |GPIO_PIN_12; 80adf60: f44f 53f8 mov.w r3, #7936 ; 0x1f00 80adf64: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80adf66: 2302 movs r3, #2 80adf68: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80adf6a: 2300 movs r3, #0 80adf6c: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80adf6e: 2303 movs r3, #3 80adf70: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1; 80adf72: 230c movs r3, #12 80adf74: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOC, &GPIO_InitStruct); 80adf76: f107 030c add.w r3, r7, #12 80adf7a: 4619 mov r1, r3 80adf7c: 484d ldr r0, [pc, #308] ; (80ae0b4 ) 80adf7e: f007 fb65 bl 80b564c GPIO_InitStruct.Pin = GPIO_PIN_2; 80adf82: 2304 movs r3, #4 80adf84: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80adf86: 2302 movs r3, #2 80adf88: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80adf8a: 2300 movs r3, #0 80adf8c: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80adf8e: 2303 movs r3, #3 80adf90: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF12_SDMMC1; 80adf92: 230c movs r3, #12 80adf94: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOD, &GPIO_InitStruct); 80adf96: f107 030c add.w r3, r7, #12 80adf9a: 4619 mov r1, r3 80adf9c: 4846 ldr r0, [pc, #280] ; (80ae0b8 ) 80adf9e: f007 fb55 bl 80b564c /* SDMMC1 interrupt Init */ HAL_NVIC_SetPriority(SDMMC1_IRQn, 4, 0); 80adfa2: 2200 movs r2, #0 80adfa4: 2104 movs r1, #4 80adfa6: 2031 movs r0, #49 ; 0x31 80adfa8: f006 f8b9 bl 80b411e HAL_NVIC_EnableIRQ(SDMMC1_IRQn); 80adfac: 2031 movs r0, #49 ; 0x31 80adfae: f006 f8d2 bl 80b4156 /* SDMMC1 DMA Init */ /* SDMMC1_RX Init */ hdma_sdmmc1_rx.Instance = DMA2_Stream3; 80adfb2: 4b42 ldr r3, [pc, #264] ; (80ae0bc ) 80adfb4: 4a42 ldr r2, [pc, #264] ; (80ae0c0 ) 80adfb6: 601a str r2, [r3, #0] hdma_sdmmc1_rx.Init.Channel = DMA_CHANNEL_4; 80adfb8: 4b40 ldr r3, [pc, #256] ; (80ae0bc ) 80adfba: f04f 6200 mov.w r2, #134217728 ; 0x8000000 80adfbe: 605a str r2, [r3, #4] hdma_sdmmc1_rx.Init.Direction = DMA_PERIPH_TO_MEMORY; 80adfc0: 4b3e ldr r3, [pc, #248] ; (80ae0bc ) 80adfc2: 2200 movs r2, #0 80adfc4: 609a str r2, [r3, #8] hdma_sdmmc1_rx.Init.PeriphInc = DMA_PINC_DISABLE; 80adfc6: 4b3d ldr r3, [pc, #244] ; (80ae0bc ) 80adfc8: 2200 movs r2, #0 80adfca: 60da str r2, [r3, #12] hdma_sdmmc1_rx.Init.MemInc = DMA_MINC_ENABLE; 80adfcc: 4b3b ldr r3, [pc, #236] ; (80ae0bc ) 80adfce: f44f 6280 mov.w r2, #1024 ; 0x400 80adfd2: 611a str r2, [r3, #16] hdma_sdmmc1_rx.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 80adfd4: 4b39 ldr r3, [pc, #228] ; (80ae0bc ) 80adfd6: f44f 5280 mov.w r2, #4096 ; 0x1000 80adfda: 615a str r2, [r3, #20] hdma_sdmmc1_rx.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 80adfdc: 4b37 ldr r3, [pc, #220] ; (80ae0bc ) 80adfde: f44f 4280 mov.w r2, #16384 ; 0x4000 80adfe2: 619a str r2, [r3, #24] hdma_sdmmc1_rx.Init.Mode = DMA_PFCTRL; 80adfe4: 4b35 ldr r3, [pc, #212] ; (80ae0bc ) 80adfe6: 2220 movs r2, #32 80adfe8: 61da str r2, [r3, #28] hdma_sdmmc1_rx.Init.Priority = DMA_PRIORITY_VERY_HIGH; 80adfea: 4b34 ldr r3, [pc, #208] ; (80ae0bc ) 80adfec: f44f 3240 mov.w r2, #196608 ; 0x30000 80adff0: 621a str r2, [r3, #32] hdma_sdmmc1_rx.Init.FIFOMode = DMA_FIFOMODE_ENABLE; 80adff2: 4b32 ldr r3, [pc, #200] ; (80ae0bc ) 80adff4: 2204 movs r2, #4 80adff6: 625a str r2, [r3, #36] ; 0x24 hdma_sdmmc1_rx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL; 80adff8: 4b30 ldr r3, [pc, #192] ; (80ae0bc ) 80adffa: 2203 movs r2, #3 80adffc: 629a str r2, [r3, #40] ; 0x28 hdma_sdmmc1_rx.Init.MemBurst = DMA_MBURST_INC4; 80adffe: 4b2f ldr r3, [pc, #188] ; (80ae0bc ) 80ae000: f44f 0200 mov.w r2, #8388608 ; 0x800000 80ae004: 62da str r2, [r3, #44] ; 0x2c hdma_sdmmc1_rx.Init.PeriphBurst = DMA_PBURST_INC4; 80ae006: 4b2d ldr r3, [pc, #180] ; (80ae0bc ) 80ae008: f44f 1200 mov.w r2, #2097152 ; 0x200000 80ae00c: 631a str r2, [r3, #48] ; 0x30 if(HAL_DMA_Init(&hdma_sdmmc1_rx) != HAL_OK) { 80ae00e: 482b ldr r0, [pc, #172] ; (80ae0bc ) 80ae010: f006 f946 bl 80b42a0 80ae014: 4603 mov r3, r0 80ae016: 2b00 cmp r3, #0 80ae018: d001 beq.n 80ae01e Error_Handler(); 80ae01a: f7a6 ff15 bl 8054e48 } __HAL_LINKDMA(sdHandle, hdmarx, hdma_sdmmc1_rx); 80ae01e: 687b ldr r3, [r7, #4] 80ae020: 4a26 ldr r2, [pc, #152] ; (80ae0bc ) 80ae022: 641a str r2, [r3, #64] ; 0x40 80ae024: 4a25 ldr r2, [pc, #148] ; (80ae0bc ) 80ae026: 687b ldr r3, [r7, #4] 80ae028: 6393 str r3, [r2, #56] ; 0x38 // HAL_DMA_DeInit(&hdma_sdmmc1_rx); // HAL_DMA_Init(&hdma_sdmmc1_rx); /* SDMMC1_TX Init */ hdma_sdmmc1_tx.Instance = DMA2_Stream6; 80ae02a: 4b26 ldr r3, [pc, #152] ; (80ae0c4 ) 80ae02c: 4a26 ldr r2, [pc, #152] ; (80ae0c8 ) 80ae02e: 601a str r2, [r3, #0] hdma_sdmmc1_tx.Init.Channel = DMA_CHANNEL_4; 80ae030: 4b24 ldr r3, [pc, #144] ; (80ae0c4 ) 80ae032: f04f 6200 mov.w r2, #134217728 ; 0x8000000 80ae036: 605a str r2, [r3, #4] hdma_sdmmc1_tx.Init.Direction = DMA_MEMORY_TO_PERIPH; 80ae038: 4b22 ldr r3, [pc, #136] ; (80ae0c4 ) 80ae03a: 2240 movs r2, #64 ; 0x40 80ae03c: 609a str r2, [r3, #8] hdma_sdmmc1_tx.Init.PeriphInc = DMA_PINC_DISABLE; 80ae03e: 4b21 ldr r3, [pc, #132] ; (80ae0c4 ) 80ae040: 2200 movs r2, #0 80ae042: 60da str r2, [r3, #12] hdma_sdmmc1_tx.Init.MemInc = DMA_MINC_ENABLE; 80ae044: 4b1f ldr r3, [pc, #124] ; (80ae0c4 ) 80ae046: f44f 6280 mov.w r2, #1024 ; 0x400 80ae04a: 611a str r2, [r3, #16] hdma_sdmmc1_tx.Init.PeriphDataAlignment = DMA_PDATAALIGN_WORD; 80ae04c: 4b1d ldr r3, [pc, #116] ; (80ae0c4 ) 80ae04e: f44f 5280 mov.w r2, #4096 ; 0x1000 80ae052: 615a str r2, [r3, #20] hdma_sdmmc1_tx.Init.MemDataAlignment = DMA_MDATAALIGN_WORD; 80ae054: 4b1b ldr r3, [pc, #108] ; (80ae0c4 ) 80ae056: f44f 4280 mov.w r2, #16384 ; 0x4000 80ae05a: 619a str r2, [r3, #24] hdma_sdmmc1_tx.Init.Mode = DMA_PFCTRL; 80ae05c: 4b19 ldr r3, [pc, #100] ; (80ae0c4 ) 80ae05e: 2220 movs r2, #32 80ae060: 61da str r2, [r3, #28] hdma_sdmmc1_tx.Init.Priority = DMA_PRIORITY_VERY_HIGH; 80ae062: 4b18 ldr r3, [pc, #96] ; (80ae0c4 ) 80ae064: f44f 3240 mov.w r2, #196608 ; 0x30000 80ae068: 621a str r2, [r3, #32] hdma_sdmmc1_tx.Init.FIFOMode = DMA_FIFOMODE_ENABLE; 80ae06a: 4b16 ldr r3, [pc, #88] ; (80ae0c4 ) 80ae06c: 2204 movs r2, #4 80ae06e: 625a str r2, [r3, #36] ; 0x24 hdma_sdmmc1_tx.Init.FIFOThreshold = DMA_FIFO_THRESHOLD_FULL; 80ae070: 4b14 ldr r3, [pc, #80] ; (80ae0c4 ) 80ae072: 2203 movs r2, #3 80ae074: 629a str r2, [r3, #40] ; 0x28 hdma_sdmmc1_tx.Init.MemBurst = DMA_MBURST_INC4; 80ae076: 4b13 ldr r3, [pc, #76] ; (80ae0c4 ) 80ae078: f44f 0200 mov.w r2, #8388608 ; 0x800000 80ae07c: 62da str r2, [r3, #44] ; 0x2c hdma_sdmmc1_tx.Init.PeriphBurst = DMA_PBURST_INC4; 80ae07e: 4b11 ldr r3, [pc, #68] ; (80ae0c4 ) 80ae080: f44f 1200 mov.w r2, #2097152 ; 0x200000 80ae084: 631a str r2, [r3, #48] ; 0x30 if(HAL_DMA_Init(&hdma_sdmmc1_tx) != HAL_OK) { 80ae086: 480f ldr r0, [pc, #60] ; (80ae0c4 ) 80ae088: f006 f90a bl 80b42a0 80ae08c: 4603 mov r3, r0 80ae08e: 2b00 cmp r3, #0 80ae090: d001 beq.n 80ae096 Error_Handler(); 80ae092: f7a6 fed9 bl 8054e48 } __HAL_LINKDMA(sdHandle, hdmatx, hdma_sdmmc1_tx); 80ae096: 687b ldr r3, [r7, #4] 80ae098: 4a0a ldr r2, [pc, #40] ; (80ae0c4 ) 80ae09a: 63da str r2, [r3, #60] ; 0x3c 80ae09c: 4a09 ldr r2, [pc, #36] ; (80ae0c4 ) 80ae09e: 687b ldr r3, [r7, #4] 80ae0a0: 6393 str r3, [r2, #56] ; 0x38 // HAL_DMA_DeInit(&hdma_sdmmc1_tx); // HAL_DMA_Init(&hdma_sdmmc1_tx); } } 80ae0a2: bf00 nop 80ae0a4: 3720 adds r7, #32 80ae0a6: 46bd mov sp, r7 80ae0a8: bd80 pop {r7, pc} 80ae0aa: bf00 nop 80ae0ac: 40012c00 .word 0x40012c00 80ae0b0: 40023800 .word 0x40023800 80ae0b4: 40020800 .word 0x40020800 80ae0b8: 40020c00 .word 0x40020c00 80ae0bc: 20068670 .word 0x20068670 80ae0c0: 40026458 .word 0x40026458 80ae0c4: 200686d0 .word 0x200686d0 80ae0c8: 400264a0 .word 0x400264a0 080ae0cc : void HAL_SD_MspDeInit(SD_HandleTypeDef* sdHandle) { 80ae0cc: b580 push {r7, lr} 80ae0ce: b082 sub sp, #8 80ae0d0: af00 add r7, sp, #0 80ae0d2: 6078 str r0, [r7, #4] if(sdHandle->Instance==SDMMC1) 80ae0d4: 687b ldr r3, [r7, #4] 80ae0d6: 681b ldr r3, [r3, #0] 80ae0d8: 4a11 ldr r2, [pc, #68] ; (80ae120 ) 80ae0da: 4293 cmp r3, r2 80ae0dc: d11b bne.n 80ae116 { __HAL_RCC_SDMMC1_CLK_DISABLE(); 80ae0de: 4a11 ldr r2, [pc, #68] ; (80ae124 ) 80ae0e0: 4b10 ldr r3, [pc, #64] ; (80ae124 ) 80ae0e2: 6c5b ldr r3, [r3, #68] ; 0x44 80ae0e4: f423 6300 bic.w r3, r3, #2048 ; 0x800 80ae0e8: 6453 str r3, [r2, #68] ; 0x44 PC10 ------> SDMMC1_D2 PC11 ------> SDMMC1_D3 PC12 ------> SDMMC1_CK PD2 ------> SDMMC1_CMD */ HAL_GPIO_DeInit(GPIOC, GPIO_PIN_8 | GPIO_PIN_9 | GPIO_PIN_10 | GPIO_PIN_11 |GPIO_PIN_12); 80ae0ea: f44f 51f8 mov.w r1, #7936 ; 0x1f00 80ae0ee: 480e ldr r0, [pc, #56] ; (80ae128 ) 80ae0f0: f007 fc56 bl 80b59a0 HAL_GPIO_DeInit(GPIOD, GPIO_PIN_2); 80ae0f4: 2104 movs r1, #4 80ae0f6: 480d ldr r0, [pc, #52] ; (80ae12c ) 80ae0f8: f007 fc52 bl 80b59a0 /* SDMMC1 DMA DeInit */ HAL_DMA_DeInit(sdHandle->hdmarx); 80ae0fc: 687b ldr r3, [r7, #4] 80ae0fe: 6c1b ldr r3, [r3, #64] ; 0x40 80ae100: 4618 mov r0, r3 80ae102: f006 f97b bl 80b43fc HAL_DMA_DeInit(sdHandle->hdmatx); 80ae106: 687b ldr r3, [r7, #4] 80ae108: 6bdb ldr r3, [r3, #60] ; 0x3c 80ae10a: 4618 mov r0, r3 80ae10c: f006 f976 bl 80b43fc HAL_NVIC_DisableIRQ(SDMMC1_IRQn); 80ae110: 2031 movs r0, #49 ; 0x31 80ae112: f006 f82e bl 80b4172 } } 80ae116: bf00 nop 80ae118: 3708 adds r7, #8 80ae11a: 46bd mov sp, r7 80ae11c: bd80 pop {r7, pc} 80ae11e: bf00 nop 80ae120: 40012c00 .word 0x40012c00 80ae124: 40023800 .word 0x40023800 80ae128: 40020800 .word 0x40020800 80ae12c: 40020c00 .word 0x40020c00 080ae130 : uslong_t aRxBuffer; /* SPI1 init function */ void MX_SPI1_Init(void) { 80ae130: b580 push {r7, lr} 80ae132: af00 add r7, sp, #0 hspi1.Instance = SPI1; 80ae134: 4b22 ldr r3, [pc, #136] ; (80ae1c0 ) 80ae136: 4a23 ldr r2, [pc, #140] ; (80ae1c4 ) 80ae138: 601a str r2, [r3, #0] hspi1.Init.Mode = SPI_MODE_MASTER; 80ae13a: 4b21 ldr r3, [pc, #132] ; (80ae1c0 ) 80ae13c: f44f 7282 mov.w r2, #260 ; 0x104 80ae140: 605a str r2, [r3, #4] hspi1.Init.Direction = SPI_DIRECTION_2LINES; 80ae142: 4b1f ldr r3, [pc, #124] ; (80ae1c0 ) 80ae144: 2200 movs r2, #0 80ae146: 609a str r2, [r3, #8] hspi1.Init.DataSize = SPI_DATASIZE_8BIT; 80ae148: 4b1d ldr r3, [pc, #116] ; (80ae1c0 ) 80ae14a: f44f 62e0 mov.w r2, #1792 ; 0x700 80ae14e: 60da str r2, [r3, #12] //hspi1.Init.CLKPolarity = SPI_POLARITY_HIGH; hspi1.Init.CLKPolarity = SPI_POLARITY_LOW; 80ae150: 4b1b ldr r3, [pc, #108] ; (80ae1c0 ) 80ae152: 2200 movs r2, #0 80ae154: 611a str r2, [r3, #16] hspi1.Init.CLKPhase = SPI_PHASE_1EDGE; 80ae156: 4b1a ldr r3, [pc, #104] ; (80ae1c0 ) 80ae158: 2200 movs r2, #0 80ae15a: 615a str r2, [r3, #20] hspi1.Init.NSS = SPI_NSS_SOFT; 80ae15c: 4b18 ldr r3, [pc, #96] ; (80ae1c0 ) 80ae15e: f44f 7200 mov.w r2, #512 ; 0x200 80ae162: 619a str r2, [r3, #24] hspi1.Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_8; 80ae164: 4b16 ldr r3, [pc, #88] ; (80ae1c0 ) 80ae166: 2210 movs r2, #16 80ae168: 61da str r2, [r3, #28] hspi1.Init.FirstBit = SPI_FIRSTBIT_MSB; 80ae16a: 4b15 ldr r3, [pc, #84] ; (80ae1c0 ) 80ae16c: 2200 movs r2, #0 80ae16e: 621a str r2, [r3, #32] hspi1.Init.TIMode = SPI_TIMODE_DISABLE; 80ae170: 4b13 ldr r3, [pc, #76] ; (80ae1c0 ) 80ae172: 2200 movs r2, #0 80ae174: 625a str r2, [r3, #36] ; 0x24 hspi1.Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; 80ae176: 4b12 ldr r3, [pc, #72] ; (80ae1c0 ) 80ae178: 2200 movs r2, #0 80ae17a: 629a str r2, [r3, #40] ; 0x28 hspi1.Init.CRCPolynomial = 7; 80ae17c: 4b10 ldr r3, [pc, #64] ; (80ae1c0 ) 80ae17e: 2207 movs r2, #7 80ae180: 62da str r2, [r3, #44] ; 0x2c hspi1.Init.CRCLength = SPI_CRC_LENGTH_DATASIZE; 80ae182: 4b0f ldr r3, [pc, #60] ; (80ae1c0 ) 80ae184: 2200 movs r2, #0 80ae186: 631a str r2, [r3, #48] ; 0x30 hspi1.Init.NSSPMode = SPI_NSS_PULSE_DISABLE; 80ae188: 4b0d ldr r3, [pc, #52] ; (80ae1c0 ) 80ae18a: 2200 movs r2, #0 80ae18c: 635a str r2, [r3, #52] ; 0x34 if(HAL_SPI_Init(&hspi1) != HAL_OK) { 80ae18e: 480c ldr r0, [pc, #48] ; (80ae1c0 ) 80ae190: f00d f8cc bl 80bb32c 80ae194: 4603 mov r3, r0 80ae196: 2b00 cmp r3, #0 80ae198: d001 beq.n 80ae19e Error_Handler(); 80ae19a: f7a6 fe55 bl 8054e48 } HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_RESET); 80ae19e: 2200 movs r2, #0 80ae1a0: f44f 4100 mov.w r1, #32768 ; 0x8000 80ae1a4: 4808 ldr r0, [pc, #32] ; (80ae1c8 ) 80ae1a6: f007 fd1f bl 80b5be8 HAL_Delay(1); 80ae1aa: 2001 movs r0, #1 80ae1ac: f005 f86c bl 80b3288 HAL_GPIO_WritePin(CR_GPIO_Port, CR_Pin, GPIO_PIN_SET); 80ae1b0: 2201 movs r2, #1 80ae1b2: f44f 4100 mov.w r1, #32768 ; 0x8000 80ae1b6: 4804 ldr r0, [pc, #16] ; (80ae1c8 ) 80ae1b8: f007 fd16 bl 80b5be8 } 80ae1bc: bf00 nop 80ae1be: bd80 pop {r7, pc} 80ae1c0: 20068734 .word 0x20068734 80ae1c4: 40013000 .word 0x40013000 80ae1c8: 40020000 .word 0x40020000 080ae1cc : void HAL_SPI_MspInit(SPI_HandleTypeDef* spiHandle) { 80ae1cc: b580 push {r7, lr} 80ae1ce: b088 sub sp, #32 80ae1d0: af00 add r7, sp, #0 80ae1d2: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct; if(spiHandle->Instance == SPI1) 80ae1d4: 687b ldr r3, [r7, #4] 80ae1d6: 681b ldr r3, [r3, #0] 80ae1d8: 4a19 ldr r2, [pc, #100] ; (80ae240 ) 80ae1da: 4293 cmp r3, r2 80ae1dc: d12b bne.n 80ae236 { __HAL_RCC_SPI1_CLK_ENABLE(); 80ae1de: 4a19 ldr r2, [pc, #100] ; (80ae244 ) 80ae1e0: 4b18 ldr r3, [pc, #96] ; (80ae244 ) 80ae1e2: 6c5b ldr r3, [r3, #68] ; 0x44 80ae1e4: f443 5380 orr.w r3, r3, #4096 ; 0x1000 80ae1e8: 6453 str r3, [r2, #68] ; 0x44 80ae1ea: 4b16 ldr r3, [pc, #88] ; (80ae244 ) 80ae1ec: 6c5b ldr r3, [r3, #68] ; 0x44 80ae1ee: f403 5380 and.w r3, r3, #4096 ; 0x1000 80ae1f2: 60bb str r3, [r7, #8] 80ae1f4: 68bb ldr r3, [r7, #8] GPIO_InitStruct.Pin = GPIO_PIN_5 | GPIO_PIN_7; 80ae1f6: 23a0 movs r3, #160 ; 0xa0 80ae1f8: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80ae1fa: 2302 movs r3, #2 80ae1fc: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80ae1fe: 2300 movs r3, #0 80ae200: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80ae202: 2303 movs r3, #3 80ae204: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; 80ae206: 2305 movs r3, #5 80ae208: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOA, &GPIO_InitStruct); 80ae20a: f107 030c add.w r3, r7, #12 80ae20e: 4619 mov r1, r3 80ae210: 480d ldr r0, [pc, #52] ; (80ae248 ) 80ae212: f007 fa1b bl 80b564c GPIO_InitStruct.Pin = GPIO_PIN_4; 80ae216: 2310 movs r3, #16 80ae218: 60fb str r3, [r7, #12] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80ae21a: 2302 movs r3, #2 80ae21c: 613b str r3, [r7, #16] GPIO_InitStruct.Pull = GPIO_NOPULL; 80ae21e: 2300 movs r3, #0 80ae220: 617b str r3, [r7, #20] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80ae222: 2303 movs r3, #3 80ae224: 61bb str r3, [r7, #24] GPIO_InitStruct.Alternate = GPIO_AF5_SPI1; 80ae226: 2305 movs r3, #5 80ae228: 61fb str r3, [r7, #28] HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80ae22a: f107 030c add.w r3, r7, #12 80ae22e: 4619 mov r1, r3 80ae230: 4806 ldr r0, [pc, #24] ; (80ae24c ) 80ae232: f007 fa0b bl 80b564c } } 80ae236: bf00 nop 80ae238: 3720 adds r7, #32 80ae23a: 46bd mov sp, r7 80ae23c: bd80 pop {r7, pc} 80ae23e: bf00 nop 80ae240: 40013000 .word 0x40013000 80ae244: 40023800 .word 0x40023800 80ae248: 40020000 .word 0x40020000 80ae24c: 40020400 .word 0x40020400 080ae250 : /* USER CODE END 0 */ /** * Initializes the Global MSP. */ void HAL_MspInit(void) { 80ae250: b480 push {r7} 80ae252: b083 sub sp, #12 80ae254: af00 add r7, sp, #0 /* USER CODE BEGIN MspInit 0 */ /* USER CODE END MspInit 0 */ __HAL_RCC_PWR_CLK_ENABLE(); 80ae256: 4a0f ldr r2, [pc, #60] ; (80ae294 ) 80ae258: 4b0e ldr r3, [pc, #56] ; (80ae294 ) 80ae25a: 6c1b ldr r3, [r3, #64] ; 0x40 80ae25c: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80ae260: 6413 str r3, [r2, #64] ; 0x40 80ae262: 4b0c ldr r3, [pc, #48] ; (80ae294 ) 80ae264: 6c1b ldr r3, [r3, #64] ; 0x40 80ae266: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80ae26a: 607b str r3, [r7, #4] 80ae26c: 687b ldr r3, [r7, #4] __HAL_RCC_SYSCFG_CLK_ENABLE(); 80ae26e: 4a09 ldr r2, [pc, #36] ; (80ae294 ) 80ae270: 4b08 ldr r3, [pc, #32] ; (80ae294 ) 80ae272: 6c5b ldr r3, [r3, #68] ; 0x44 80ae274: f443 4380 orr.w r3, r3, #16384 ; 0x4000 80ae278: 6453 str r3, [r2, #68] ; 0x44 80ae27a: 4b06 ldr r3, [pc, #24] ; (80ae294 ) 80ae27c: 6c5b ldr r3, [r3, #68] ; 0x44 80ae27e: f403 4380 and.w r3, r3, #16384 ; 0x4000 80ae282: 603b str r3, [r7, #0] 80ae284: 683b ldr r3, [r7, #0] /* System interrupt init*/ /* USER CODE BEGIN MspInit 1 */ /* USER CODE END MspInit 1 */ } 80ae286: bf00 nop 80ae288: 370c adds r7, #12 80ae28a: 46bd mov sp, r7 80ae28c: f85d 7b04 ldr.w r7, [sp], #4 80ae290: 4770 bx lr 80ae292: bf00 nop 80ae294: 40023800 .word 0x40023800 080ae298 : /******************************************************************************/ /** * @brief This function handles Non maskable interrupt. */ void NMI_Handler(void) { 80ae298: b480 push {r7} 80ae29a: af00 add r7, sp, #0 /* USER CODE BEGIN NonMaskableInt_IRQn 0 */ /* USER CODE END NonMaskableInt_IRQn 0 */ /* USER CODE BEGIN NonMaskableInt_IRQn 1 */ while (1) 80ae29c: e7fe b.n 80ae29c 080ae29e : /** * @brief This function handles Hard fault interrupt. */ void HardFault_Handler(void) { 80ae29e: b480 push {r7} 80ae2a0: af00 add r7, sp, #0 /* USER CODE BEGIN HardFault_IRQn 0 */ /* USER CODE END HardFault_IRQn 0 */ while (1) 80ae2a2: e7fe b.n 80ae2a2 080ae2a4 : /** * @brief This function handles Memory management fault. */ void MemManage_Handler(void) { 80ae2a4: b480 push {r7} 80ae2a6: af00 add r7, sp, #0 /* USER CODE BEGIN MemoryManagement_IRQn 0 */ /* USER CODE END MemoryManagement_IRQn 0 */ while (1) 80ae2a8: e7fe b.n 80ae2a8 080ae2aa : /** * @brief This function handles Pre-fetch fault, memory access fault. */ void BusFault_Handler(void) { 80ae2aa: b480 push {r7} 80ae2ac: af00 add r7, sp, #0 /* USER CODE BEGIN BusFault_IRQn 0 */ /* USER CODE END BusFault_IRQn 0 */ while (1) 80ae2ae: e7fe b.n 80ae2ae 080ae2b0 : /** * @brief This function handles Undefined instruction or illegal state. */ void UsageFault_Handler(void) { 80ae2b0: b480 push {r7} 80ae2b2: af00 add r7, sp, #0 /* USER CODE BEGIN UsageFault_IRQn 0 */ /* USER CODE END UsageFault_IRQn 0 */ while (1) 80ae2b4: e7fe b.n 80ae2b4 080ae2b6 : /** * @brief This function handles System service call via SWI instruction. */ void SVC_Handler(void) { 80ae2b6: b480 push {r7} 80ae2b8: af00 add r7, sp, #0 /* USER CODE END SVCall_IRQn 0 */ /* USER CODE BEGIN SVCall_IRQn 1 */ /* USER CODE END SVCall_IRQn 1 */ } 80ae2ba: bf00 nop 80ae2bc: 46bd mov sp, r7 80ae2be: f85d 7b04 ldr.w r7, [sp], #4 80ae2c2: 4770 bx lr 080ae2c4 : /** * @brief This function handles Debug monitor. */ void DebugMon_Handler(void) { 80ae2c4: b480 push {r7} 80ae2c6: af00 add r7, sp, #0 /* USER CODE END DebugMonitor_IRQn 0 */ /* USER CODE BEGIN DebugMonitor_IRQn 1 */ /* USER CODE END DebugMonitor_IRQn 1 */ } 80ae2c8: bf00 nop 80ae2ca: 46bd mov sp, r7 80ae2cc: f85d 7b04 ldr.w r7, [sp], #4 80ae2d0: 4770 bx lr 080ae2d2 : /** * @brief This function handles Pendable request for system service. */ void PendSV_Handler(void) { 80ae2d2: b480 push {r7} 80ae2d4: af00 add r7, sp, #0 /* USER CODE END PendSV_IRQn 0 */ /* USER CODE BEGIN PendSV_IRQn 1 */ /* USER CODE END PendSV_IRQn 1 */ } 80ae2d6: bf00 nop 80ae2d8: 46bd mov sp, r7 80ae2da: f85d 7b04 ldr.w r7, [sp], #4 80ae2de: 4770 bx lr 080ae2e0 : /** * @brief This function handles System tick timer. */ void SysTick_Handler(void) { 80ae2e0: b580 push {r7, lr} 80ae2e2: af00 add r7, sp, #0 /* USER CODE BEGIN SysTick_IRQn 0 */ /* USER CODE END SysTick_IRQn 0 */ HAL_IncTick(); 80ae2e4: f004 ffb0 bl 80b3248 /* USER CODE BEGIN SysTick_IRQn 1 */ /* USER CODE END SysTick_IRQn 1 */ } 80ae2e8: bf00 nop 80ae2ea: bd80 pop {r7, pc} 080ae2ec : /** * @brief This function handles EXTI line2 interrupt. */ void EXTI2_IRQHandler(void) { 80ae2ec: b580 push {r7, lr} 80ae2ee: af00 add r7, sp, #0 /* USER CODE BEGIN EXTI2_IRQn 0 */ /* USER CODE END EXTI2_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_2); 80ae2f0: 2004 movs r0, #4 80ae2f2: f007 fc93 bl 80b5c1c /* USER CODE BEGIN EXTI2_IRQn 1 */ /* USER CODE END EXTI2_IRQn 1 */ } 80ae2f6: bf00 nop 80ae2f8: bd80 pop {r7, pc} 080ae2fa : /** * @brief This function handles EXTI line3 interrupt. */ void EXTI3_IRQHandler(void) { 80ae2fa: b580 push {r7, lr} 80ae2fc: af00 add r7, sp, #0 /* USER CODE BEGIN EXTI3_IRQn 0 */ /* USER CODE END EXTI3_IRQn 0 */ HAL_GPIO_EXTI_IRQHandler(GPIO_PIN_3); 80ae2fe: 2008 movs r0, #8 80ae300: f007 fc8c bl 80b5c1c /* USER CODE BEGIN EXTI3_IRQn 1 */ /* USER CODE END EXTI3_IRQn 1 */ } 80ae304: bf00 nop 80ae306: bd80 pop {r7, pc} 080ae308 : /** * @brief This function handles I2C1 event interrupt. */ void I2C1_EV_IRQHandler(void) { 80ae308: b580 push {r7, lr} 80ae30a: af00 add r7, sp, #0 /* USER CODE BEGIN I2C1_EV_IRQn 0 */ /* USER CODE END I2C1_EV_IRQn 0 */ HAL_SMBUS_EV_IRQHandler(&hsmbus1); 80ae30c: 4802 ldr r0, [pc, #8] ; (80ae318 ) 80ae30e: f00c f9f7 bl 80ba700 /* USER CODE BEGIN I2C1_EV_IRQn 1 */ /* USER CODE END I2C1_EV_IRQn 1 */ } 80ae312: bf00 nop 80ae314: bd80 pop {r7, pc} 80ae316: bf00 nop 80ae318: 200258c4 .word 0x200258c4 080ae31c : /** * @brief This function handles I2C1 error interrupt. */ void I2C1_ER_IRQHandler(void) { 80ae31c: b580 push {r7, lr} 80ae31e: af00 add r7, sp, #0 /* USER CODE BEGIN I2C1_ER_IRQn 0 */ /* USER CODE END I2C1_ER_IRQn 0 */ HAL_SMBUS_ER_IRQHandler(&hsmbus1); 80ae320: 4802 ldr r0, [pc, #8] ; (80ae32c ) 80ae322: f00c fa8b bl 80ba83c /* USER CODE BEGIN I2C1_ER_IRQn 1 */ /* USER CODE END I2C1_ER_IRQn 1 */ } 80ae326: bf00 nop 80ae328: bd80 pop {r7, pc} 80ae32a: bf00 nop 80ae32c: 200258c4 .word 0x200258c4 080ae330 : /** * @brief This function handles SDMMC1 global interrupt. */ void SDMMC1_IRQHandler(void) { 80ae330: b580 push {r7, lr} 80ae332: af00 add r7, sp, #0 /* USER CODE BEGIN SDMMC1_IRQn 0 */ /* USER CODE END SDMMC1_IRQn 0 */ HAL_SD_IRQHandler(&hsd1); 80ae334: 4802 ldr r0, [pc, #8] ; (80ae340 ) 80ae336: f00b f92b bl 80b9590 /* USER CODE BEGIN SDMMC1_IRQn 1 */ /* USER CODE END SDMMC1_IRQn 1 */ } 80ae33a: bf00 nop 80ae33c: bd80 pop {r7, pc} 80ae33e: bf00 nop 80ae340: 200685ec .word 0x200685ec 080ae344 : /** * @brief This function handles TIM7 global interrupt. */ void TIM7_IRQHandler(void) { 80ae344: b580 push {r7, lr} 80ae346: af00 add r7, sp, #0 /* USER CODE BEGIN TIM7_IRQn 0 */ /* USER CODE END TIM7_IRQn 0 */ HAL_TIM_IRQHandler(&htim7); 80ae348: 4802 ldr r0, [pc, #8] ; (80ae354 ) 80ae34a: f00d fde1 bl 80bbf10 /* USER CODE BEGIN TIM7_IRQn 1 */ /* USER CODE END TIM7_IRQn 1 */ } 80ae34e: bf00 nop 80ae350: bd80 pop {r7, pc} 80ae352: bf00 nop 80ae354: 200689d8 .word 0x200689d8 080ae358 : /** * @brief This function handles DMA2 stream3 global interrupt. */ void DMA2_Stream3_IRQHandler(void) { 80ae358: b580 push {r7, lr} 80ae35a: af00 add r7, sp, #0 /* USER CODE BEGIN DMA2_Stream3_IRQn 0 */ /* USER CODE END DMA2_Stream3_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_sdmmc1_rx); 80ae35c: 4802 ldr r0, [pc, #8] ; (80ae368 ) 80ae35e: f006 f99d bl 80b469c /* USER CODE BEGIN DMA2_Stream3_IRQn 1 */ /* USER CODE END DMA2_Stream3_IRQn 1 */ } 80ae362: bf00 nop 80ae364: bd80 pop {r7, pc} 80ae366: bf00 nop 80ae368: 20068670 .word 0x20068670 080ae36c : void DMA2_Stream1_IRQHandler(void) { 80ae36c: b580 push {r7, lr} 80ae36e: af00 add r7, sp, #0 /* USER CODE BEGIN DMA2_Stream3_IRQn 0 */ /* USER CODE END DMA2_Stream3_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_adc3); 80ae370: 4802 ldr r0, [pc, #8] ; (80ae37c ) 80ae372: f006 f993 bl 80b469c /* USER CODE BEGIN DMA2_Stream3_IRQn 1 */ /* USER CODE END DMA2_Stream3_IRQn 1 */ } 80ae376: bf00 nop 80ae378: bd80 pop {r7, pc} 80ae37a: bf00 nop 80ae37c: 20021b78 .word 0x20021b78 080ae380 : /** * @brief This function handles DMA2 stream4 global interrupt. */ void DMA2_Stream4_IRQHandler(void) { 80ae380: b580 push {r7, lr} 80ae382: af00 add r7, sp, #0 /* USER CODE BEGIN DMA2_Stream4_IRQn 0 */ /* USER CODE END DMA2_Stream4_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_adc1); 80ae384: 4802 ldr r0, [pc, #8] ; (80ae390 ) 80ae386: f006 f989 bl 80b469c /* USER CODE BEGIN DMA2_Stream4_IRQn 1 */ /* USER CODE END DMA2_Stream4_IRQn 1 */ } 80ae38a: bf00 nop 80ae38c: bd80 pop {r7, pc} 80ae38e: bf00 nop 80ae390: 20021c68 .word 0x20021c68 080ae394 : /** * @brief This function handles DMA2 stream6 global interrupt. */ void DMA2_Stream6_IRQHandler(void) { 80ae394: b580 push {r7, lr} 80ae396: af00 add r7, sp, #0 /* USER CODE BEGIN DMA2_Stream6_IRQn 0 */ /* USER CODE END DMA2_Stream6_IRQn 0 */ HAL_DMA_IRQHandler(&hdma_sdmmc1_tx); 80ae398: 4802 ldr r0, [pc, #8] ; (80ae3a4 ) 80ae39a: f006 f97f bl 80b469c /* USER CODE BEGIN DMA2_Stream6_IRQn 1 */ /* USER CODE END DMA2_Stream6_IRQn 1 */ } 80ae39e: bf00 nop 80ae3a0: bd80 pop {r7, pc} 80ae3a2: bf00 nop 80ae3a4: 200686d0 .word 0x200686d0 080ae3a8 : /** * @brief This function handles USB On The Go HS global interrupt. */ void OTG_HS_IRQHandler(void) { 80ae3a8: b580 push {r7, lr} 80ae3aa: af00 add r7, sp, #0 /* USER CODE BEGIN OTG_HS_IRQn 0 */ /* USER CODE END OTG_HS_IRQn 0 */ HAL_PCD_IRQHandler(&hpcd_USB_OTG_HS); 80ae3ac: 4802 ldr r0, [pc, #8] ; (80ae3b8 ) 80ae3ae: f008 f963 bl 80b6678 /* USER CODE BEGIN OTG_HS_IRQn 1 */ /* USER CODE END OTG_HS_IRQn 1 */ } 80ae3b2: bf00 nop 80ae3b4: bd80 pop {r7, pc} 80ae3b6: bf00 nop 80ae3b8: 20069230 .word 0x20069230 080ae3bc : /** * @brief This function handles LTDC global interrupt. */ void LTDC_IRQHandler(void) { 80ae3bc: b580 push {r7, lr} 80ae3be: af00 add r7, sp, #0 /* USER CODE BEGIN LTDC_IRQn 0 */ /* USER CODE END LTDC_IRQn 0 */ HAL_LTDC_IRQHandler(&hLtdcHandler); 80ae3c0: 4802 ldr r0, [pc, #8] ; (80ae3cc ) 80ae3c2: f007 fd13 bl 80b5dec /* USER CODE BEGIN LTDC_IRQn 1 */ /* USER CODE END LTDC_IRQn 1 */ } 80ae3c6: bf00 nop 80ae3c8: bd80 pop {r7, pc} 80ae3ca: bf00 nop 80ae3cc: 20025d28 .word 0x20025d28 080ae3d0 : /** * @brief This function handles LTDC global error interrupt. */ void LTDC_ER_IRQHandler(void) { 80ae3d0: b580 push {r7, lr} 80ae3d2: af00 add r7, sp, #0 /* USER CODE BEGIN LTDC_ER_IRQn 0 */ /* USER CODE END LTDC_ER_IRQn 0 */ HAL_LTDC_IRQHandler(&hLtdcHandler); 80ae3d4: 4802 ldr r0, [pc, #8] ; (80ae3e0 ) 80ae3d6: f007 fd09 bl 80b5dec /* USER CODE BEGIN LTDC_ER_IRQn 1 */ /* USER CODE END LTDC_ER_IRQn 1 */ } 80ae3da: bf00 nop 80ae3dc: bd80 pop {r7, pc} 80ae3de: bf00 nop 80ae3e0: 20025d28 .word 0x20025d28 080ae3e4 <_read>: _kill(status, -1); while (1) {} /* Make sure we hang here */ } __attribute__((weak)) int _read(int file, char *ptr, int len) { 80ae3e4: b590 push {r4, r7, lr} 80ae3e6: b087 sub sp, #28 80ae3e8: af00 add r7, sp, #0 80ae3ea: 60f8 str r0, [r7, #12] 80ae3ec: 60b9 str r1, [r7, #8] 80ae3ee: 607a str r2, [r7, #4] int DataIdx; for (DataIdx = 0; DataIdx < len; DataIdx++) 80ae3f0: 2300 movs r3, #0 80ae3f2: 617b str r3, [r7, #20] 80ae3f4: e00a b.n 80ae40c <_read+0x28> { *ptr++ = __io_getchar(); 80ae3f6: 68bc ldr r4, [r7, #8] 80ae3f8: 1c63 adds r3, r4, #1 80ae3fa: 60bb str r3, [r7, #8] 80ae3fc: f3af 8000 nop.w 80ae400: 4603 mov r3, r0 80ae402: b2db uxtb r3, r3 80ae404: 7023 strb r3, [r4, #0] for (DataIdx = 0; DataIdx < len; DataIdx++) 80ae406: 697b ldr r3, [r7, #20] 80ae408: 3301 adds r3, #1 80ae40a: 617b str r3, [r7, #20] 80ae40c: 697a ldr r2, [r7, #20] 80ae40e: 687b ldr r3, [r7, #4] 80ae410: 429a cmp r2, r3 80ae412: dbf0 blt.n 80ae3f6 <_read+0x12> } return len; 80ae414: 687b ldr r3, [r7, #4] } 80ae416: 4618 mov r0, r3 80ae418: 371c adds r7, #28 80ae41a: 46bd mov sp, r7 80ae41c: bd90 pop {r4, r7, pc} 080ae41e <_write>: __attribute__((weak)) int _write(int file, char *ptr, int len) { 80ae41e: b580 push {r7, lr} 80ae420: b086 sub sp, #24 80ae422: af00 add r7, sp, #0 80ae424: 60f8 str r0, [r7, #12] 80ae426: 60b9 str r1, [r7, #8] 80ae428: 607a str r2, [r7, #4] int DataIdx; for (DataIdx = 0; DataIdx < len; DataIdx++) 80ae42a: 2300 movs r3, #0 80ae42c: 617b str r3, [r7, #20] 80ae42e: e009 b.n 80ae444 <_write+0x26> { __io_putchar(*ptr++); 80ae430: 68bb ldr r3, [r7, #8] 80ae432: 1c5a adds r2, r3, #1 80ae434: 60ba str r2, [r7, #8] 80ae436: 781b ldrb r3, [r3, #0] 80ae438: 4618 mov r0, r3 80ae43a: f3af 8000 nop.w for (DataIdx = 0; DataIdx < len; DataIdx++) 80ae43e: 697b ldr r3, [r7, #20] 80ae440: 3301 adds r3, #1 80ae442: 617b str r3, [r7, #20] 80ae444: 697a ldr r2, [r7, #20] 80ae446: 687b ldr r3, [r7, #4] 80ae448: 429a cmp r2, r3 80ae44a: dbf1 blt.n 80ae430 <_write+0x12> } return len; 80ae44c: 687b ldr r3, [r7, #4] } 80ae44e: 4618 mov r0, r3 80ae450: 3718 adds r7, #24 80ae452: 46bd mov sp, r7 80ae454: bd80 pop {r7, pc} ... 080ae458 <_sbrk>: caddr_t _sbrk(int incr) { 80ae458: b580 push {r7, lr} 80ae45a: b084 sub sp, #16 80ae45c: af00 add r7, sp, #0 80ae45e: 6078 str r0, [r7, #4] extern char end asm("end"); static char *heap_end; char *prev_heap_end; if (heap_end == 0) 80ae460: 4b11 ldr r3, [pc, #68] ; (80ae4a8 <_sbrk+0x50>) 80ae462: 681b ldr r3, [r3, #0] 80ae464: 2b00 cmp r3, #0 80ae466: d102 bne.n 80ae46e <_sbrk+0x16> heap_end = &end; 80ae468: 4b0f ldr r3, [pc, #60] ; (80ae4a8 <_sbrk+0x50>) 80ae46a: 4a10 ldr r2, [pc, #64] ; (80ae4ac <_sbrk+0x54>) 80ae46c: 601a str r2, [r3, #0] prev_heap_end = heap_end; 80ae46e: 4b0e ldr r3, [pc, #56] ; (80ae4a8 <_sbrk+0x50>) 80ae470: 681b ldr r3, [r3, #0] 80ae472: 60fb str r3, [r7, #12] if (heap_end + incr > stack_ptr) 80ae474: 4b0c ldr r3, [pc, #48] ; (80ae4a8 <_sbrk+0x50>) 80ae476: 681a ldr r2, [r3, #0] 80ae478: 687b ldr r3, [r7, #4] 80ae47a: 4413 add r3, r2 80ae47c: 466a mov r2, sp 80ae47e: 4293 cmp r3, r2 80ae480: d907 bls.n 80ae492 <_sbrk+0x3a> { // write(1, "Heap and stack collision\n", 25); // abort(); errno = ENOMEM; 80ae482: f01e fd8f bl 80ccfa4 <__errno> 80ae486: 4602 mov r2, r0 80ae488: 230c movs r3, #12 80ae48a: 6013 str r3, [r2, #0] return (caddr_t) -1; 80ae48c: f04f 33ff mov.w r3, #4294967295 80ae490: e006 b.n 80ae4a0 <_sbrk+0x48> } heap_end += incr; 80ae492: 4b05 ldr r3, [pc, #20] ; (80ae4a8 <_sbrk+0x50>) 80ae494: 681a ldr r2, [r3, #0] 80ae496: 687b ldr r3, [r7, #4] 80ae498: 4413 add r3, r2 80ae49a: 4a03 ldr r2, [pc, #12] ; (80ae4a8 <_sbrk+0x50>) 80ae49c: 6013 str r3, [r2, #0] return (caddr_t) prev_heap_end; 80ae49e: 68fb ldr r3, [r7, #12] } 80ae4a0: 4618 mov r0, r3 80ae4a2: 3710 adds r7, #16 80ae4a4: 46bd mov sp, r7 80ae4a6: bd80 pop {r7, pc} 80ae4a8: 20021680 .word 0x20021680 80ae4ac: 20069638 .word 0x20069638 080ae4b0 <_close>: int _close(int file) { 80ae4b0: b480 push {r7} 80ae4b2: b083 sub sp, #12 80ae4b4: af00 add r7, sp, #0 80ae4b6: 6078 str r0, [r7, #4] return -1; 80ae4b8: f04f 33ff mov.w r3, #4294967295 } 80ae4bc: 4618 mov r0, r3 80ae4be: 370c adds r7, #12 80ae4c0: 46bd mov sp, r7 80ae4c2: f85d 7b04 ldr.w r7, [sp], #4 80ae4c6: 4770 bx lr 080ae4c8 <_fstat>: int _fstat(int file, struct stat *st) { 80ae4c8: b480 push {r7} 80ae4ca: b083 sub sp, #12 80ae4cc: af00 add r7, sp, #0 80ae4ce: 6078 str r0, [r7, #4] 80ae4d0: 6039 str r1, [r7, #0] st->st_mode = S_IFCHR; 80ae4d2: 683b ldr r3, [r7, #0] 80ae4d4: f44f 5200 mov.w r2, #8192 ; 0x2000 80ae4d8: 605a str r2, [r3, #4] return 0; 80ae4da: 2300 movs r3, #0 } 80ae4dc: 4618 mov r0, r3 80ae4de: 370c adds r7, #12 80ae4e0: 46bd mov sp, r7 80ae4e2: f85d 7b04 ldr.w r7, [sp], #4 80ae4e6: 4770 bx lr 080ae4e8 <_isatty>: int _isatty(int file) { 80ae4e8: b480 push {r7} 80ae4ea: b083 sub sp, #12 80ae4ec: af00 add r7, sp, #0 80ae4ee: 6078 str r0, [r7, #4] return 1; 80ae4f0: 2301 movs r3, #1 } 80ae4f2: 4618 mov r0, r3 80ae4f4: 370c adds r7, #12 80ae4f6: 46bd mov sp, r7 80ae4f8: f85d 7b04 ldr.w r7, [sp], #4 80ae4fc: 4770 bx lr 080ae4fe <_lseek>: int _lseek(int file, int ptr, int dir) { 80ae4fe: b480 push {r7} 80ae500: b085 sub sp, #20 80ae502: af00 add r7, sp, #0 80ae504: 60f8 str r0, [r7, #12] 80ae506: 60b9 str r1, [r7, #8] 80ae508: 607a str r2, [r7, #4] return 0; 80ae50a: 2300 movs r3, #0 } 80ae50c: 4618 mov r0, r3 80ae50e: 3714 adds r7, #20 80ae510: 46bd mov sp, r7 80ae512: f85d 7b04 ldr.w r7, [sp], #4 80ae516: 4770 bx lr 080ae518 : * SystemFrequency variable. * @param None * @retval None */ void SystemInit(void) { 80ae518: b480 push {r7} 80ae51a: af00 add r7, sp, #0 /* FPU settings ------------------------------------------------------------*/ #if (__FPU_PRESENT == 1) && (__FPU_USED == 1) SCB->CPACR |= ((3UL << 10*2)|(3UL << 11*2)); /* set CP10 and CP11 Full Access */ 80ae51c: 4a06 ldr r2, [pc, #24] ; (80ae538 ) 80ae51e: 4b06 ldr r3, [pc, #24] ; (80ae538 ) 80ae520: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80ae524: f443 0370 orr.w r3, r3, #15728640 ; 0xf00000 80ae528: f8c2 3088 str.w r3, [r2, #136] ; 0x88 /* Configure the Vector Table location -------------------------------------*/ #if defined(USER_VECT_TAB_ADDRESS) SCB->VTOR = VECT_TAB_BASE_ADDRESS | VECT_TAB_OFFSET; /* Vector Table Relocation in Internal SRAM */ #endif /* USER_VECT_TAB_ADDRESS */ } 80ae52c: bf00 nop 80ae52e: 46bd mov sp, r7 80ae530: f85d 7b04 ldr.w r7, [sp], #4 80ae534: 4770 bx lr 80ae536: bf00 nop 80ae538: e000ed00 .word 0xe000ed00 080ae53c : __IO uint32_t CNT_MEAN = 0; /* TIM5 init function */ void MX_TIM1_Init(void) { 80ae53c: b580 push {r7, lr} 80ae53e: b088 sub sp, #32 80ae540: af00 add r7, sp, #0 TIM_ClockConfigTypeDef sClockSourceConfig; TIM_MasterConfigTypeDef sMasterConfig; htim1.Instance = TIM1; 80ae542: 4b1f ldr r3, [pc, #124] ; (80ae5c0 ) 80ae544: 4a1f ldr r2, [pc, #124] ; (80ae5c4 ) 80ae546: 601a str r2, [r3, #0] htim1.Init.Prescaler = 0; // (96000000Hz / 10000) = 9600Hz 80ae548: 4b1d ldr r3, [pc, #116] ; (80ae5c0 ) 80ae54a: 2200 movs r2, #0 80ae54c: 605a str r2, [r3, #4] htim1.Init.CounterMode = TIM_COUNTERMODE_UP; 80ae54e: 4b1c ldr r3, [pc, #112] ; (80ae5c0 ) 80ae550: 2200 movs r2, #0 80ae552: 609a str r2, [r3, #8] htim1.Init.Period = (10800 - 1); // (216000000 / 10800) ~20kHz 80ae554: 4b1a ldr r3, [pc, #104] ; (80ae5c0 ) 80ae556: f642 222f movw r2, #10799 ; 0x2a2f 80ae55a: 60da str r2, [r3, #12] htim1.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 80ae55c: 4b18 ldr r3, [pc, #96] ; (80ae5c0 ) 80ae55e: 2200 movs r2, #0 80ae560: 611a str r2, [r3, #16] htim1.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 80ae562: 4b17 ldr r3, [pc, #92] ; (80ae5c0 ) 80ae564: 2200 movs r2, #0 80ae566: 619a str r2, [r3, #24] if(HAL_TIM_Base_Init(&htim1) != HAL_OK) { 80ae568: 4815 ldr r0, [pc, #84] ; (80ae5c0 ) 80ae56a: f00d fb69 bl 80bbc40 80ae56e: 4603 mov r3, r0 80ae570: 2b00 cmp r3, #0 80ae572: d001 beq.n 80ae578 Error_Handler(); 80ae574: f7a6 fc68 bl 8054e48 } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; 80ae578: f44f 5380 mov.w r3, #4096 ; 0x1000 80ae57c: 613b str r3, [r7, #16] if(HAL_TIM_ConfigClockSource(&htim1, &sClockSourceConfig) != HAL_OK) { 80ae57e: f107 0310 add.w r3, r7, #16 80ae582: 4619 mov r1, r3 80ae584: 480e ldr r0, [pc, #56] ; (80ae5c0 ) 80ae586: f00d fe09 bl 80bc19c 80ae58a: 4603 mov r3, r0 80ae58c: 2b00 cmp r3, #0 80ae58e: d001 beq.n 80ae594 Error_Handler(); 80ae590: f7a6 fc5a bl 8054e48 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; 80ae594: 2320 movs r3, #32 80ae596: 607b str r3, [r7, #4] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; 80ae598: 2380 movs r3, #128 ; 0x80 80ae59a: 60fb str r3, [r7, #12] sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_UPDATE; 80ae59c: f44f 1300 mov.w r3, #2097152 ; 0x200000 80ae5a0: 60bb str r3, [r7, #8] if(HAL_TIMEx_MasterConfigSynchronization(&htim1, &sMasterConfig) != HAL_OK) { 80ae5a2: 1d3b adds r3, r7, #4 80ae5a4: 4619 mov r1, r3 80ae5a6: 4806 ldr r0, [pc, #24] ; (80ae5c0 ) 80ae5a8: f00e f818 bl 80bc5dc 80ae5ac: 4603 mov r3, r0 80ae5ae: 2b00 cmp r3, #0 80ae5b0: d001 beq.n 80ae5b6 Error_Handler(); 80ae5b2: f7a6 fc49 bl 8054e48 } } 80ae5b6: bf00 nop 80ae5b8: 3720 adds r7, #32 80ae5ba: 46bd mov sp, r7 80ae5bc: bd80 pop {r7, pc} 80ae5be: bf00 nop 80ae5c0: 20068940 .word 0x20068940 80ae5c4: 40010000 .word 0x40010000 080ae5c8 : /* TIM5 init function */ void MX_TIM5_Init(void) { 80ae5c8: b580 push {r7, lr} 80ae5ca: b088 sub sp, #32 80ae5cc: af00 add r7, sp, #0 TIM_ClockConfigTypeDef sClockSourceConfig; TIM_MasterConfigTypeDef sMasterConfig; htim5.Instance = TIM5; 80ae5ce: 4b1f ldr r3, [pc, #124] ; (80ae64c ) 80ae5d0: 4a1f ldr r2, [pc, #124] ; (80ae650 ) 80ae5d2: 601a str r2, [r3, #0] htim5.Init.Prescaler = 0; // (96000000Hz / 10000) = 9600Hz 80ae5d4: 4b1d ldr r3, [pc, #116] ; (80ae64c ) 80ae5d6: 2200 movs r2, #0 80ae5d8: 605a str r2, [r3, #4] htim5.Init.CounterMode = TIM_COUNTERMODE_UP; 80ae5da: 4b1c ldr r3, [pc, #112] ; (80ae64c ) 80ae5dc: 2200 movs r2, #0 80ae5de: 609a str r2, [r3, #8] htim5.Init.Period = (432 - 1); // (96000000Hz / 240) ~400kHz 80ae5e0: 4b1a ldr r3, [pc, #104] ; (80ae64c ) 80ae5e2: f240 12af movw r2, #431 ; 0x1af 80ae5e6: 60da str r2, [r3, #12] htim5.Init.ClockDivision = TIM_CLOCKDIVISION_DIV1; 80ae5e8: 4b18 ldr r3, [pc, #96] ; (80ae64c ) 80ae5ea: 2200 movs r2, #0 80ae5ec: 611a str r2, [r3, #16] htim5.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 80ae5ee: 4b17 ldr r3, [pc, #92] ; (80ae64c ) 80ae5f0: 2200 movs r2, #0 80ae5f2: 619a str r2, [r3, #24] if(HAL_TIM_Base_Init(&htim5) != HAL_OK) { 80ae5f4: 4815 ldr r0, [pc, #84] ; (80ae64c ) 80ae5f6: f00d fb23 bl 80bbc40 80ae5fa: 4603 mov r3, r0 80ae5fc: 2b00 cmp r3, #0 80ae5fe: d001 beq.n 80ae604 Error_Handler(); 80ae600: f7a6 fc22 bl 8054e48 } sClockSourceConfig.ClockSource = TIM_CLOCKSOURCE_INTERNAL; 80ae604: f44f 5380 mov.w r3, #4096 ; 0x1000 80ae608: 613b str r3, [r7, #16] if(HAL_TIM_ConfigClockSource(&htim5, &sClockSourceConfig) != HAL_OK) { 80ae60a: f107 0310 add.w r3, r7, #16 80ae60e: 4619 mov r1, r3 80ae610: 480e ldr r0, [pc, #56] ; (80ae64c ) 80ae612: f00d fdc3 bl 80bc19c 80ae616: 4603 mov r3, r0 80ae618: 2b00 cmp r3, #0 80ae61a: d001 beq.n 80ae620 Error_Handler(); 80ae61c: f7a6 fc14 bl 8054e48 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_UPDATE; 80ae620: 2320 movs r3, #32 80ae622: 607b str r3, [r7, #4] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_ENABLE; 80ae624: 2380 movs r3, #128 ; 0x80 80ae626: 60fb str r3, [r7, #12] sMasterConfig.MasterOutputTrigger2 = TIM_TRGO2_UPDATE; 80ae628: f44f 1300 mov.w r3, #2097152 ; 0x200000 80ae62c: 60bb str r3, [r7, #8] if(HAL_TIMEx_MasterConfigSynchronization(&htim5, &sMasterConfig) != HAL_OK) { 80ae62e: 1d3b adds r3, r7, #4 80ae630: 4619 mov r1, r3 80ae632: 4806 ldr r0, [pc, #24] ; (80ae64c ) 80ae634: f00d ffd2 bl 80bc5dc 80ae638: 4603 mov r3, r0 80ae63a: 2b00 cmp r3, #0 80ae63c: d001 beq.n 80ae642 Error_Handler(); 80ae63e: f7a6 fc03 bl 8054e48 } } 80ae642: bf00 nop 80ae644: 3720 adds r7, #32 80ae646: 46bd mov sp, r7 80ae648: bd80 pop {r7, pc} 80ae64a: bf00 nop 80ae64c: 200688a4 .word 0x200688a4 80ae650: 40000c00 .word 0x40000c00 080ae654 : /* TIM7 init function */ void MX_TIM7_Init(void) { 80ae654: b580 push {r7, lr} 80ae656: b084 sub sp, #16 80ae658: af00 add r7, sp, #0 TIM_MasterConfigTypeDef sMasterConfig; htim7.Instance = TIM7; 80ae65a: 4b16 ldr r3, [pc, #88] ; (80ae6b4 ) 80ae65c: 4a16 ldr r2, [pc, #88] ; (80ae6b8 ) 80ae65e: 601a str r2, [r3, #0] htim7.Init.Prescaler = 0; /*79;*/ 80ae660: 4b14 ldr r3, [pc, #80] ; (80ae6b4 ) 80ae662: 2200 movs r2, #0 80ae664: 605a str r2, [r3, #4] htim7.Init.CounterMode = TIM_COUNTERMODE_UP; 80ae666: 4b13 ldr r3, [pc, #76] ; (80ae6b4 ) 80ae668: 2200 movs r2, #0 80ae66a: 609a str r2, [r3, #8] htim7.Init.Period = (52735 - 1); /*659;*/ 80ae66c: 4b11 ldr r3, [pc, #68] ; (80ae6b4 ) 80ae66e: f64c 52fe movw r2, #52734 ; 0xcdfe 80ae672: 60da str r2, [r3, #12] htim7.Init.AutoReloadPreload = TIM_AUTORELOAD_PRELOAD_DISABLE; 80ae674: 4b0f ldr r3, [pc, #60] ; (80ae6b4 ) 80ae676: 2200 movs r2, #0 80ae678: 619a str r2, [r3, #24] if(HAL_TIM_Base_Init(&htim7) != HAL_OK) { 80ae67a: 480e ldr r0, [pc, #56] ; (80ae6b4 ) 80ae67c: f00d fae0 bl 80bbc40 80ae680: 4603 mov r3, r0 80ae682: 2b00 cmp r3, #0 80ae684: d001 beq.n 80ae68a Error_Handler(); 80ae686: f7a6 fbdf bl 8054e48 } sMasterConfig.MasterOutputTrigger = TIM_TRGO_RESET; 80ae68a: 2300 movs r3, #0 80ae68c: 607b str r3, [r7, #4] sMasterConfig.MasterSlaveMode = TIM_MASTERSLAVEMODE_DISABLE; 80ae68e: 2300 movs r3, #0 80ae690: 60fb str r3, [r7, #12] if (HAL_TIMEx_MasterConfigSynchronization(&htim7, &sMasterConfig) != HAL_OK) { 80ae692: 1d3b adds r3, r7, #4 80ae694: 4619 mov r1, r3 80ae696: 4807 ldr r0, [pc, #28] ; (80ae6b4 ) 80ae698: f00d ffa0 bl 80bc5dc 80ae69c: 4603 mov r3, r0 80ae69e: 2b00 cmp r3, #0 80ae6a0: d001 beq.n 80ae6a6 Error_Handler(); 80ae6a2: f7a6 fbd1 bl 8054e48 } HAL_TIM_Base_Start_IT(&htim7); 80ae6a6: 4803 ldr r0, [pc, #12] ; (80ae6b4 ) 80ae6a8: f00d fbba bl 80bbe20 } 80ae6ac: bf00 nop 80ae6ae: 3710 adds r7, #16 80ae6b0: 46bd mov sp, r7 80ae6b2: bd80 pop {r7, pc} 80ae6b4: 200689d8 .word 0x200689d8 80ae6b8: 40001400 .word 0x40001400 080ae6bc : void HAL_TIM_Base_MspInit(TIM_HandleTypeDef* tim_baseHandle) { 80ae6bc: b580 push {r7, lr} 80ae6be: b086 sub sp, #24 80ae6c0: af00 add r7, sp, #0 80ae6c2: 6078 str r0, [r7, #4] if(tim_baseHandle->Instance == TIM1) 80ae6c4: 687b ldr r3, [r7, #4] 80ae6c6: 681b ldr r3, [r3, #0] 80ae6c8: 4a1f ldr r2, [pc, #124] ; (80ae748 ) 80ae6ca: 4293 cmp r3, r2 80ae6cc: d10c bne.n 80ae6e8 { __HAL_RCC_TIM1_CLK_ENABLE(); 80ae6ce: 4a1f ldr r2, [pc, #124] ; (80ae74c ) 80ae6d0: 4b1e ldr r3, [pc, #120] ; (80ae74c ) 80ae6d2: 6c5b ldr r3, [r3, #68] ; 0x44 80ae6d4: f043 0301 orr.w r3, r3, #1 80ae6d8: 6453 str r3, [r2, #68] ; 0x44 80ae6da: 4b1c ldr r3, [pc, #112] ; (80ae74c ) 80ae6dc: 6c5b ldr r3, [r3, #68] ; 0x44 80ae6de: f003 0301 and.w r3, r3, #1 80ae6e2: 617b str r3, [r7, #20] 80ae6e4: 697b ldr r3, [r7, #20] { __HAL_RCC_TIM7_CLK_ENABLE(); HAL_NVIC_SetPriority(TIM7_IRQn, 3, 0); HAL_NVIC_EnableIRQ(TIM7_IRQn); } } 80ae6e6: e02a b.n 80ae73e if(tim_baseHandle->Instance == TIM5) 80ae6e8: 687b ldr r3, [r7, #4] 80ae6ea: 681b ldr r3, [r3, #0] 80ae6ec: 4a18 ldr r2, [pc, #96] ; (80ae750 ) 80ae6ee: 4293 cmp r3, r2 80ae6f0: d10c bne.n 80ae70c __HAL_RCC_TIM5_CLK_ENABLE(); 80ae6f2: 4a16 ldr r2, [pc, #88] ; (80ae74c ) 80ae6f4: 4b15 ldr r3, [pc, #84] ; (80ae74c ) 80ae6f6: 6c1b ldr r3, [r3, #64] ; 0x40 80ae6f8: f043 0308 orr.w r3, r3, #8 80ae6fc: 6413 str r3, [r2, #64] ; 0x40 80ae6fe: 4b13 ldr r3, [pc, #76] ; (80ae74c ) 80ae700: 6c1b ldr r3, [r3, #64] ; 0x40 80ae702: f003 0308 and.w r3, r3, #8 80ae706: 613b str r3, [r7, #16] 80ae708: 693b ldr r3, [r7, #16] } 80ae70a: e018 b.n 80ae73e if(tim_baseHandle->Instance == TIM7) 80ae70c: 687b ldr r3, [r7, #4] 80ae70e: 681b ldr r3, [r3, #0] 80ae710: 4a10 ldr r2, [pc, #64] ; (80ae754 ) 80ae712: 4293 cmp r3, r2 80ae714: d113 bne.n 80ae73e __HAL_RCC_TIM7_CLK_ENABLE(); 80ae716: 4a0d ldr r2, [pc, #52] ; (80ae74c ) 80ae718: 4b0c ldr r3, [pc, #48] ; (80ae74c ) 80ae71a: 6c1b ldr r3, [r3, #64] ; 0x40 80ae71c: f043 0320 orr.w r3, r3, #32 80ae720: 6413 str r3, [r2, #64] ; 0x40 80ae722: 4b0a ldr r3, [pc, #40] ; (80ae74c ) 80ae724: 6c1b ldr r3, [r3, #64] ; 0x40 80ae726: f003 0320 and.w r3, r3, #32 80ae72a: 60fb str r3, [r7, #12] 80ae72c: 68fb ldr r3, [r7, #12] HAL_NVIC_SetPriority(TIM7_IRQn, 3, 0); 80ae72e: 2200 movs r2, #0 80ae730: 2103 movs r1, #3 80ae732: 2037 movs r0, #55 ; 0x37 80ae734: f005 fcf3 bl 80b411e HAL_NVIC_EnableIRQ(TIM7_IRQn); 80ae738: 2037 movs r0, #55 ; 0x37 80ae73a: f005 fd0c bl 80b4156 } 80ae73e: bf00 nop 80ae740: 3718 adds r7, #24 80ae742: 46bd mov sp, r7 80ae744: bd80 pop {r7, pc} 80ae746: bf00 nop 80ae748: 40010000 .word 0x40010000 80ae74c: 40023800 .word 0x40023800 80ae750: 40000c00 .word 0x40000c00 80ae754: 40001400 .word 0x40001400 080ae758 : __IO uint32_t maxtime = 0; /* USER CODE BEGIN 1 */ void HAL_TIM_PeriodElapsedCallback(TIM_HandleTypeDef *htim) { 80ae758: b580 push {r7, lr} 80ae75a: b084 sub sp, #16 80ae75c: af00 add r7, sp, #0 80ae75e: 6078 str r0, [r7, #4] __IO uint16_t Data32, i; switch((uint32_t) htim->Instance) 80ae760: 687b ldr r3, [r7, #4] 80ae762: 681b ldr r3, [r3, #0] 80ae764: 461a mov r2, r3 80ae766: 4b9a ldr r3, [pc, #616] ; (80ae9d0 ) 80ae768: 429a cmp r2, r3 80ae76a: d000 beq.n 80ae76e if(TIMEOUT_BAT) TIMEOUT_BAT--; break; } } 80ae76c: e1af b.n 80aeace __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE); 80ae76e: 687b ldr r3, [r7, #4] 80ae770: 681b ldr r3, [r3, #0] 80ae772: f06f 0201 mvn.w r2, #1 80ae776: 611a str r2, [r3, #16] if(timerKeys) 80ae778: 4b96 ldr r3, [pc, #600] ; (80ae9d4 ) 80ae77a: 881b ldrh r3, [r3, #0] 80ae77c: b29b uxth r3, r3 80ae77e: 2b00 cmp r3, #0 80ae780: d007 beq.n 80ae792 timerKeys--; 80ae782: 4b94 ldr r3, [pc, #592] ; (80ae9d4 ) 80ae784: 881b ldrh r3, [r3, #0] 80ae786: b29b uxth r3, r3 80ae788: 3b01 subs r3, #1 80ae78a: b29a uxth r2, r3 80ae78c: 4b91 ldr r3, [pc, #580] ; (80ae9d4 ) 80ae78e: 801a strh r2, [r3, #0] 80ae790: e060 b.n 80ae854 timerKeys = 2; 80ae792: 4b90 ldr r3, [pc, #576] ; (80ae9d4 ) 80ae794: 2202 movs r2, #2 80ae796: 801a strh r2, [r3, #0] if(LinkPC == 0) 80ae798: 4b8f ldr r3, [pc, #572] ; (80ae9d8 ) 80ae79a: 781b ldrb r3, [r3, #0] 80ae79c: b2db uxtb r3, r3 80ae79e: 2b00 cmp r3, #0 80ae7a0: d155 bne.n 80ae84e if(!KEY_STATE) 80ae7a2: 4b8e ldr r3, [pc, #568] ; (80ae9dc ) 80ae7a4: 681b ldr r3, [r3, #0] 80ae7a6: 2b00 cmp r3, #0 80ae7a8: d141 bne.n 80ae82e KEY_STATE = kbhit(); 80ae7aa: f786 f9c1 bl 8034b30 80ae7ae: 4602 mov r2, r0 80ae7b0: 4b8a ldr r3, [pc, #552] ; (80ae9dc ) 80ae7b2: 601a str r2, [r3, #0] if(KEY_STATE == KEY_PW) 80ae7b4: 4b89 ldr r3, [pc, #548] ; (80ae9dc ) 80ae7b6: 681b ldr r3, [r3, #0] 80ae7b8: 2b01 cmp r3, #1 80ae7ba: d14b bne.n 80ae854 if(USBConnected == false) 80ae7bc: 4b88 ldr r3, [pc, #544] ; (80ae9e0 ) 80ae7be: 781b ldrb r3, [r3, #0] 80ae7c0: b2db uxtb r3, r3 80ae7c2: f083 0301 eor.w r3, r3, #1 80ae7c6: b2db uxtb r3, r3 80ae7c8: 2b00 cmp r3, #0 80ae7ca: d002 beq.n 80ae7d2 Off(); 80ae7cc: f775 f86a bl 80238a4 80ae7d0: e029 b.n 80ae826 if(ChargerIsConnect == true) 80ae7d2: 4b84 ldr r3, [pc, #528] ; (80ae9e4 ) 80ae7d4: 781b ldrb r3, [r3, #0] 80ae7d6: b2db uxtb r3, r3 80ae7d8: 2b00 cmp r3, #0 80ae7da: d024 beq.n 80ae826 if(menu == POWER_OFF2) 80ae7dc: 4b82 ldr r3, [pc, #520] ; (80ae9e8 ) 80ae7de: 781b ldrb r3, [r3, #0] 80ae7e0: b2db uxtb r3, r3 80ae7e2: 2b44 cmp r3, #68 ; 0x44 80ae7e4: d10a bne.n 80ae7fc menu = POWER_OFF; 80ae7e6: 4b80 ldr r3, [pc, #512] ; (80ae9e8 ) 80ae7e8: 2243 movs r2, #67 ; 0x43 80ae7ea: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80ae7ec: 4b7f ldr r3, [pc, #508] ; (80ae9ec ) 80ae7ee: f44f 42a0 mov.w r2, #20480 ; 0x5000 80ae7f2: 601a str r2, [r3, #0] needDispOn = true; 80ae7f4: 4b7e ldr r3, [pc, #504] ; (80ae9f0 ) 80ae7f6: 2201 movs r2, #1 80ae7f8: 701a strb r2, [r3, #0] 80ae7fa: e014 b.n 80ae826 if(menu == POWER_OFF) 80ae7fc: 4b7a ldr r3, [pc, #488] ; (80ae9e8 ) 80ae7fe: 781b ldrb r3, [r3, #0] 80ae800: b2db uxtb r3, r3 80ae802: 2b43 cmp r3, #67 ; 0x43 80ae804: d106 bne.n 80ae814 menu = OPTIONS; 80ae806: 4b78 ldr r3, [pc, #480] ; (80ae9e8 ) 80ae808: 2201 movs r2, #1 80ae80a: 701a strb r2, [r3, #0] menupos = Mode; 80ae80c: 4b79 ldr r3, [pc, #484] ; (80ae9f4 ) 80ae80e: 2201 movs r2, #1 80ae810: 701a strb r2, [r3, #0] 80ae812: e008 b.n 80ae826 StopMeas(); 80ae814: f774 ffc2 bl 802379c menu = POWER_OFF; 80ae818: 4b73 ldr r3, [pc, #460] ; (80ae9e8 ) 80ae81a: 2243 movs r2, #67 ; 0x43 80ae81c: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80ae81e: 4b73 ldr r3, [pc, #460] ; (80ae9ec ) 80ae820: f44f 42a0 mov.w r2, #20480 ; 0x5000 80ae824: 601a str r2, [r3, #0] KEY_STATE = 0; 80ae826: 4b6d ldr r3, [pc, #436] ; (80ae9dc ) 80ae828: 2200 movs r2, #0 80ae82a: 601a str r2, [r3, #0] 80ae82c: e012 b.n 80ae854 if(kbhit() == KEY_PW) 80ae82e: f786 f97f bl 8034b30 80ae832: 4603 mov r3, r0 80ae834: 2b01 cmp r3, #1 80ae836: d10d bne.n 80ae854 if(USBConnected == false) 80ae838: 4b69 ldr r3, [pc, #420] ; (80ae9e0 ) 80ae83a: 781b ldrb r3, [r3, #0] 80ae83c: b2db uxtb r3, r3 80ae83e: f083 0301 eor.w r3, r3, #1 80ae842: b2db uxtb r3, r3 80ae844: 2b00 cmp r3, #0 80ae846: d005 beq.n 80ae854 Off(); 80ae848: f775 f82c bl 80238a4 80ae84c: e002 b.n 80ae854 KEY_STATE = 0; 80ae84e: 4b63 ldr r3, [pc, #396] ; (80ae9dc ) 80ae850: 2200 movs r2, #0 80ae852: 601a str r2, [r3, #0] if(timerRefreshScreen) 80ae854: 4b68 ldr r3, [pc, #416] ; (80ae9f8 ) 80ae856: 881b ldrh r3, [r3, #0] 80ae858: b29b uxth r3, r3 80ae85a: 2b00 cmp r3, #0 80ae85c: d007 beq.n 80ae86e timerRefreshScreen--; 80ae85e: 4b66 ldr r3, [pc, #408] ; (80ae9f8 ) 80ae860: 881b ldrh r3, [r3, #0] 80ae862: b29b uxth r3, r3 80ae864: 3b01 subs r3, #1 80ae866: b29a uxth r2, r3 80ae868: 4b63 ldr r3, [pc, #396] ; (80ae9f8 ) 80ae86a: 801a strh r2, [r3, #0] 80ae86c: e05e b.n 80ae92c if(pardata.SYG == UDAR) 80ae86e: 4b63 ldr r3, [pc, #396] ; (80ae9fc ) 80ae870: 781b ldrb r3, [r3, #0] 80ae872: b2db uxtb r3, r3 80ae874: 2b09 cmp r3, #9 80ae876: d12a bne.n 80ae8ce if(measuring) 80ae878: 4b61 ldr r3, [pc, #388] ; (80aea00 ) 80ae87a: 781b ldrb r3, [r3, #0] 80ae87c: b2db uxtb r3, r3 80ae87e: 2b00 cmp r3, #0 80ae880: d01b beq.n 80ae8ba if((Stability > (Nr * 4)) && (!timeRelax)) 80ae882: 4b60 ldr r3, [pc, #384] ; (80aea04 ) 80ae884: 881b ldrh r3, [r3, #0] 80ae886: b29b uxth r3, r3 80ae888: 009b lsls r3, r3, #2 80ae88a: 461a mov r2, r3 80ae88c: 4b5e ldr r3, [pc, #376] ; (80aea08 ) 80ae88e: 681b ldr r3, [r3, #0] 80ae890: 429a cmp r2, r3 80ae892: d208 bcs.n 80ae8a6 80ae894: 4b5d ldr r3, [pc, #372] ; (80aea0c ) 80ae896: 681b ldr r3, [r3, #0] 80ae898: 2b00 cmp r3, #0 80ae89a: d104 bne.n 80ae8a6 timerRefreshScreen = 680; //340; //todo 80ae89c: 4b56 ldr r3, [pc, #344] ; (80ae9f8 ) 80ae89e: f44f 722a mov.w r2, #680 ; 0x2a8 80ae8a2: 801a strh r2, [r3, #0] 80ae8a4: e01c b.n 80ae8e0 else timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80ae8a6: 4b4c ldr r3, [pc, #304] ; (80ae9d8 ) 80ae8a8: 781b ldrb r3, [r3, #0] 80ae8aa: b2db uxtb r3, r3 80ae8ac: 461a mov r2, r3 80ae8ae: 4b58 ldr r3, [pc, #352] ; (80aea10 ) 80ae8b0: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80ae8b4: 4b50 ldr r3, [pc, #320] ; (80ae9f8 ) 80ae8b6: 801a strh r2, [r3, #0] 80ae8b8: e012 b.n 80ae8e0 timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80ae8ba: 4b47 ldr r3, [pc, #284] ; (80ae9d8 ) 80ae8bc: 781b ldrb r3, [r3, #0] 80ae8be: b2db uxtb r3, r3 80ae8c0: 461a mov r2, r3 80ae8c2: 4b53 ldr r3, [pc, #332] ; (80aea10 ) 80ae8c4: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80ae8c8: 4b4b ldr r3, [pc, #300] ; (80ae9f8 ) 80ae8ca: 801a strh r2, [r3, #0] 80ae8cc: e008 b.n 80ae8e0 timerRefreshScreen = MSEC_REFRESH[LinkPC]; 80ae8ce: 4b42 ldr r3, [pc, #264] ; (80ae9d8 ) 80ae8d0: 781b ldrb r3, [r3, #0] 80ae8d2: b2db uxtb r3, r3 80ae8d4: 461a mov r2, r3 80ae8d6: 4b4e ldr r3, [pc, #312] ; (80aea10 ) 80ae8d8: f833 2012 ldrh.w r2, [r3, r2, lsl #1] 80ae8dc: 4b46 ldr r3, [pc, #280] ; (80ae9f8 ) 80ae8de: 801a strh r2, [r3, #0] Cursorblink ^= 1; 80ae8e0: 4b4c ldr r3, [pc, #304] ; (80aea14 ) 80ae8e2: 781b ldrb r3, [r3, #0] 80ae8e4: b2db uxtb r3, r3 80ae8e6: f083 0301 eor.w r3, r3, #1 80ae8ea: b2da uxtb r2, r3 80ae8ec: 4b49 ldr r3, [pc, #292] ; (80aea14 ) 80ae8ee: 701a strb r2, [r3, #0] if(cntblink) 80ae8f0: 4b49 ldr r3, [pc, #292] ; (80aea18 ) 80ae8f2: 881b ldrh r3, [r3, #0] 80ae8f4: b29b uxth r3, r3 80ae8f6: 2b00 cmp r3, #0 80ae8f8: d007 beq.n 80ae90a cntblink--; 80ae8fa: 4b47 ldr r3, [pc, #284] ; (80aea18 ) 80ae8fc: 881b ldrh r3, [r3, #0] 80ae8fe: b29b uxth r3, r3 80ae900: 3b01 subs r3, #1 80ae902: b29a uxth r2, r3 80ae904: 4b44 ldr r3, [pc, #272] ; (80aea18 ) 80ae906: 801a strh r2, [r3, #0] 80ae908: e00d b.n 80ae926 cntblink = 2; 80ae90a: 4b43 ldr r3, [pc, #268] ; (80aea18 ) 80ae90c: 2202 movs r2, #2 80ae90e: 801a strh r2, [r3, #0] blink ^= 1; 80ae910: 4b42 ldr r3, [pc, #264] ; (80aea1c ) 80ae912: 781b ldrb r3, [r3, #0] 80ae914: b2db uxtb r3, r3 80ae916: f083 0301 eor.w r3, r3, #1 80ae91a: b2da uxtb r2, r3 80ae91c: 4b3f ldr r3, [pc, #252] ; (80aea1c ) 80ae91e: 701a strb r2, [r3, #0] cntBat = 1; 80ae920: 4b3f ldr r3, [pc, #252] ; (80aea20 ) 80ae922: 2201 movs r2, #1 80ae924: 701a strb r2, [r3, #0] screen = true; 80ae926: 4b3f ldr r3, [pc, #252] ; (80aea24 ) 80ae928: 2201 movs r2, #1 80ae92a: 701a strb r2, [r3, #0] if(timerStatus > 1) 80ae92c: 4b3e ldr r3, [pc, #248] ; (80aea28 ) 80ae92e: 881b ldrh r3, [r3, #0] 80ae930: b29b uxth r3, r3 80ae932: 2b01 cmp r3, #1 80ae934: d907 bls.n 80ae946 timerStatus--; 80ae936: 4b3c ldr r3, [pc, #240] ; (80aea28 ) 80ae938: 881b ldrh r3, [r3, #0] 80ae93a: b29b uxth r3, r3 80ae93c: 3b01 subs r3, #1 80ae93e: b29a uxth r2, r3 80ae940: 4b39 ldr r3, [pc, #228] ; (80aea28 ) 80ae942: 801a strh r2, [r3, #0] 80ae944: e016 b.n 80ae974 if(timerStatus == 1) 80ae946: 4b38 ldr r3, [pc, #224] ; (80aea28 ) 80ae948: 881b ldrh r3, [r3, #0] 80ae94a: b29b uxth r3, r3 80ae94c: 2b01 cmp r3, #1 80ae94e: d111 bne.n 80ae974 timerStatus = 0; 80ae950: 4b35 ldr r3, [pc, #212] ; (80aea28 ) 80ae952: 2200 movs r2, #0 80ae954: 801a strh r2, [r3, #0] STATUS = AP_OK; 80ae956: 4b35 ldr r3, [pc, #212] ; (80aea2c ) 80ae958: 2200 movs r2, #0 80ae95a: 601a str r2, [r3, #0] DrawStatus = false; 80ae95c: 4b34 ldr r3, [pc, #208] ; (80aea30 ) 80ae95e: 2200 movs r2, #0 80ae960: 701a strb r2, [r3, #0] ThisFileExist = false; 80ae962: 4b34 ldr r3, [pc, #208] ; (80aea34 ) 80ae964: 2200 movs r2, #0 80ae966: 701a strb r2, [r3, #0] SavingPassed = false; 80ae968: 4b33 ldr r3, [pc, #204] ; (80aea38 ) 80ae96a: 2200 movs r2, #0 80ae96c: 701a strb r2, [r3, #0] SavingUnable = false; 80ae96e: 4b33 ldr r3, [pc, #204] ; (80aea3c ) 80ae970: 2200 movs r2, #0 80ae972: 701a strb r2, [r3, #0] if(repeat) 80ae974: 4b32 ldr r3, [pc, #200] ; (80aea40 ) 80ae976: 881b ldrh r3, [r3, #0] 80ae978: b29b uxth r3, r3 80ae97a: 2b00 cmp r3, #0 80ae97c: d006 beq.n 80ae98c repeat--; 80ae97e: 4b30 ldr r3, [pc, #192] ; (80aea40 ) 80ae980: 881b ldrh r3, [r3, #0] 80ae982: b29b uxth r3, r3 80ae984: 3b01 subs r3, #1 80ae986: b29a uxth r2, r3 80ae988: 4b2d ldr r3, [pc, #180] ; (80aea40 ) 80ae98a: 801a strh r2, [r3, #0] if(TIMEOUT_OFF) 80ae98c: 4b2d ldr r3, [pc, #180] ; (80aea44 ) 80ae98e: 681b ldr r3, [r3, #0] 80ae990: 2b00 cmp r3, #0 80ae992: d012 beq.n 80ae9ba if(USBConnected == false) 80ae994: 4b12 ldr r3, [pc, #72] ; (80ae9e0 ) 80ae996: 781b ldrb r3, [r3, #0] 80ae998: b2db uxtb r3, r3 80ae99a: f083 0301 eor.w r3, r3, #1 80ae99e: b2db uxtb r3, r3 80ae9a0: 2b00 cmp r3, #0 80ae9a2: d005 beq.n 80ae9b0 TIMEOUT_OFF--; 80ae9a4: 4b27 ldr r3, [pc, #156] ; (80aea44 ) 80ae9a6: 681b ldr r3, [r3, #0] 80ae9a8: 3b01 subs r3, #1 80ae9aa: 4a26 ldr r2, [pc, #152] ; (80aea44 ) 80ae9ac: 6013 str r3, [r2, #0] 80ae9ae: e04f b.n 80aea50 else TIMEOUT_OFF = min15; 80ae9b0: 4b24 ldr r3, [pc, #144] ; (80aea44 ) 80ae9b2: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 80ae9b6: 601a str r2, [r3, #0] 80ae9b8: e04a b.n 80aea50 if(USBConnected == false) 80ae9ba: 4b09 ldr r3, [pc, #36] ; (80ae9e0 ) 80ae9bc: 781b ldrb r3, [r3, #0] 80ae9be: b2db uxtb r3, r3 80ae9c0: f083 0301 eor.w r3, r3, #1 80ae9c4: b2db uxtb r3, r3 80ae9c6: 2b00 cmp r3, #0 80ae9c8: d03e beq.n 80aea48 Off(); 80ae9ca: f774 ff6b bl 80238a4 80ae9ce: e03f b.n 80aea50 80ae9d0: 40001400 .word 0x40001400 80ae9d4: 200209ba .word 0x200209ba 80ae9d8: 20021b23 .word 0x20021b23 80ae9dc: 20020f80 .word 0x20020f80 80ae9e0: 20021b21 .word 0x20021b21 80ae9e4: 20021b22 .word 0x20021b22 80ae9e8: 20020f78 .word 0x20020f78 80ae9ec: 200209c4 .word 0x200209c4 80ae9f0: 20021b24 .word 0x20021b24 80ae9f4: 20020070 .word 0x20020070 80ae9f8: 200209bc .word 0x200209bc 80ae9fc: 20023e60 .word 0x20023e60 80aea00: 20020daf .word 0x20020daf 80aea04: 20021d20 .word 0x20021d20 80aea08: 20020da8 .word 0x20020da8 80aea0c: 20020d6c .word 0x20020d6c 80aea10: 080ef828 .word 0x080ef828 80aea14: 2002168a .word 0x2002168a 80aea18: 200209b8 .word 0x200209b8 80aea1c: 20021689 .word 0x20021689 80aea20: 2002168b .word 0x2002168b 80aea24: 200200ca .word 0x200200ca 80aea28: 2002168c .word 0x2002168c 80aea2c: 20020dcc .word 0x20020dcc 80aea30: 20020dd2 .word 0x20020dd2 80aea34: 20020dd5 .word 0x20020dd5 80aea38: 20020dd4 .word 0x20020dd4 80aea3c: 20020dd6 .word 0x20020dd6 80aea40: 20020f7c .word 0x20020f7c 80aea44: 200209c0 .word 0x200209c0 else TIMEOUT_OFF = min15; 80aea48: 4b23 ldr r3, [pc, #140] ; (80aead8 ) 80aea4a: f44f 12e1 mov.w r2, #1843200 ; 0x1c2000 80aea4e: 601a str r2, [r3, #0] if((ChargerIsConnect) && (menu == POWER_OFF)) 80aea50: 4b22 ldr r3, [pc, #136] ; (80aeadc ) 80aea52: 781b ldrb r3, [r3, #0] 80aea54: b2db uxtb r3, r3 80aea56: 2b00 cmp r3, #0 80aea58: d018 beq.n 80aea8c 80aea5a: 4b21 ldr r3, [pc, #132] ; (80aeae0 ) 80aea5c: 781b ldrb r3, [r3, #0] 80aea5e: b2db uxtb r3, r3 80aea60: 2b43 cmp r3, #67 ; 0x43 80aea62: d113 bne.n 80aea8c if(TIMEOUT_OFF2) 80aea64: 4b1f ldr r3, [pc, #124] ; (80aeae4 ) 80aea66: 681b ldr r3, [r3, #0] 80aea68: 2b00 cmp r3, #0 80aea6a: d005 beq.n 80aea78 TIMEOUT_OFF2--; 80aea6c: 4b1d ldr r3, [pc, #116] ; (80aeae4 ) 80aea6e: 681b ldr r3, [r3, #0] 80aea70: 3b01 subs r3, #1 80aea72: 4a1c ldr r2, [pc, #112] ; (80aeae4 ) 80aea74: 6013 str r3, [r2, #0] if(TIMEOUT_OFF2) 80aea76: e00d b.n 80aea94 menu = POWER_OFF2; 80aea78: 4b19 ldr r3, [pc, #100] ; (80aeae0 ) 80aea7a: 2244 movs r2, #68 ; 0x44 80aea7c: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_SET); // BACKLIGHT IS OFF 80aea7e: 2201 movs r2, #1 80aea80: f44f 7180 mov.w r1, #256 ; 0x100 80aea84: 4818 ldr r0, [pc, #96] ; (80aeae8 ) 80aea86: f007 f8af bl 80b5be8 if(TIMEOUT_OFF2) 80aea8a: e003 b.n 80aea94 TIMEOUT_OFF2 = sec10; 80aea8c: 4b15 ldr r3, [pc, #84] ; (80aeae4 ) 80aea8e: f44f 42a0 mov.w r2, #20480 ; 0x5000 80aea92: 601a str r2, [r3, #0] if(timerBattery) 80aea94: 4b15 ldr r3, [pc, #84] ; (80aeaec ) 80aea96: 881b ldrh r3, [r3, #0] 80aea98: b29b uxth r3, r3 80aea9a: 2b00 cmp r3, #0 80aea9c: d007 beq.n 80aeaae timerBattery--; 80aea9e: 4b13 ldr r3, [pc, #76] ; (80aeaec ) 80aeaa0: 881b ldrh r3, [r3, #0] 80aeaa2: b29b uxth r3, r3 80aeaa4: 3b01 subs r3, #1 80aeaa6: b29a uxth r2, r3 80aeaa8: 4b10 ldr r3, [pc, #64] ; (80aeaec ) 80aeaaa: 801a strh r2, [r3, #0] 80aeaac: e005 b.n 80aeaba timerBattery = sec1; 80aeaae: 4b0f ldr r3, [pc, #60] ; (80aeaec ) 80aeab0: f44f 6200 mov.w r2, #2048 ; 0x800 80aeab4: 801a strh r2, [r3, #0] MeasBattery(); 80aeab6: f772 f9a5 bl 8020e04 if(TIMEOUT_BAT) 80aeaba: 4b0d ldr r3, [pc, #52] ; (80aeaf0 ) 80aeabc: 681b ldr r3, [r3, #0] 80aeabe: 2b00 cmp r3, #0 80aeac0: d004 beq.n 80aeacc TIMEOUT_BAT--; 80aeac2: 4b0b ldr r3, [pc, #44] ; (80aeaf0 ) 80aeac4: 681b ldr r3, [r3, #0] 80aeac6: 3b01 subs r3, #1 80aeac8: 4a09 ldr r2, [pc, #36] ; (80aeaf0 ) 80aeaca: 6013 str r3, [r2, #0] break; 80aeacc: bf00 nop } 80aeace: bf00 nop 80aead0: 3710 adds r7, #16 80aead2: 46bd mov sp, r7 80aead4: bd80 pop {r7, pc} 80aead6: bf00 nop 80aead8: 200209c0 .word 0x200209c0 80aeadc: 20021b22 .word 0x20021b22 80aeae0: 20020f78 .word 0x20020f78 80aeae4: 200209c4 .word 0x200209c4 80aeae8: 40020000 .word 0x40020000 80aeaec: 200209be .word 0x200209be 80aeaf0: 200209c8 .word 0x200209c8 080aeaf4 : SET_BIT(huart7.Instance->CR1, USART_CR1_RXNEIE/* | USART_CR1_PEIE*/); } void MX_USART7_UART_DeInit(void) { 80aeaf4: b580 push {r7, lr} 80aeaf6: af00 add r7, sp, #0 if(HAL_UART_DeInit(&huart7) != HAL_OK) { 80aeaf8: 4806 ldr r0, [pc, #24] ; (80aeb14 ) 80aeafa: f00d fe1b bl 80bc734 80aeafe: 4603 mov r3, r0 80aeb00: 2b00 cmp r3, #0 80aeb02: d001 beq.n 80aeb08 Error_Handler(); 80aeb04: f7a6 f9a0 bl 8054e48 } HAL_NVIC_DisableIRQ(UART7_IRQn); 80aeb08: 2052 movs r0, #82 ; 0x52 80aeb0a: f005 fb32 bl 80b4172 } 80aeb0e: bf00 nop 80aeb10: bd80 pop {r7, pc} 80aeb12: bf00 nop 80aeb14: 20068a24 .word 0x20068a24 080aeb18 : /* USER CODE END UART7_MspInit 1 */ } } void HAL_UART_MspDeInit(UART_HandleTypeDef* uartHandle) { 80aeb18: b580 push {r7, lr} 80aeb1a: b082 sub sp, #8 80aeb1c: af00 add r7, sp, #0 80aeb1e: 6078 str r0, [r7, #4] if(uartHandle->Instance==UART7) 80aeb20: 687b ldr r3, [r7, #4] 80aeb22: 681b ldr r3, [r3, #0] 80aeb24: 4a09 ldr r2, [pc, #36] ; (80aeb4c ) 80aeb26: 4293 cmp r3, r2 80aeb28: d10c bne.n 80aeb44 { /* USER CODE BEGIN UART7_MspDeInit 0 */ /* USER CODE END UART7_MspDeInit 0 */ /* Peripheral clock disable */ __HAL_RCC_UART7_CLK_DISABLE(); 80aeb2a: 4a09 ldr r2, [pc, #36] ; (80aeb50 ) 80aeb2c: 4b08 ldr r3, [pc, #32] ; (80aeb50 ) 80aeb2e: 6c1b ldr r3, [r3, #64] ; 0x40 80aeb30: f023 4380 bic.w r3, r3, #1073741824 ; 0x40000000 80aeb34: 6413 str r3, [r2, #64] ; 0x40 /**UART7 GPIO Configuration PF6 ------> UART7_RX PF7 ------> UART7_TX */ HAL_GPIO_DeInit(GPIOF, GPIO_PIN_6|GPIO_PIN_7); 80aeb36: 21c0 movs r1, #192 ; 0xc0 80aeb38: 4806 ldr r0, [pc, #24] ; (80aeb54 ) 80aeb3a: f006 ff31 bl 80b59a0 /* UART7 interrupt Deinit */ HAL_NVIC_DisableIRQ(UART7_IRQn); 80aeb3e: 2052 movs r0, #82 ; 0x52 80aeb40: f005 fb17 bl 80b4172 } } 80aeb44: bf00 nop 80aeb46: 3708 adds r7, #8 80aeb48: 46bd mov sp, r7 80aeb4a: bd80 pop {r7, pc} 80aeb4c: 40007800 .word 0x40007800 80aeb50: 40023800 .word 0x40023800 80aeb54: 40021400 .word 0x40021400 080aeb58 : void UART7_IRQHandler(void) { 80aeb58: b580 push {r7, lr} 80aeb5a: af00 add r7, sp, #0 if((__HAL_UART_GET_IT_SOURCE(&huart7, UART_IT_RXNE)) && (__HAL_UART_GET_FLAG(&huart7, UART_FLAG_RXNE))) 80aeb5c: 4b26 ldr r3, [pc, #152] ; (80aebf8 ) 80aeb5e: 681b ldr r3, [r3, #0] 80aeb60: 681b ldr r3, [r3, #0] 80aeb62: f003 0320 and.w r3, r3, #32 80aeb66: 2b00 cmp r3, #0 80aeb68: d009 beq.n 80aeb7e 80aeb6a: 4b23 ldr r3, [pc, #140] ; (80aebf8 ) 80aeb6c: 681b ldr r3, [r3, #0] 80aeb6e: 69db ldr r3, [r3, #28] 80aeb70: f003 0320 and.w r3, r3, #32 80aeb74: 2b20 cmp r3, #32 80aeb76: d102 bne.n 80aeb7e { HAL_UART_RxCplt(); 80aeb78: f780 ff00 bl 802f97c 80aeb7c: e002 b.n 80aeb84 } else { HAL_UART_IRQHandler(&huart7); 80aeb7e: 481e ldr r0, [pc, #120] ; (80aebf8 ) 80aeb80: f00d ff38 bl 80bc9f4 } if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_ORE)) 80aeb84: 4b1c ldr r3, [pc, #112] ; (80aebf8 ) 80aeb86: 681b ldr r3, [r3, #0] 80aeb88: 69db ldr r3, [r3, #28] 80aeb8a: f003 0308 and.w r3, r3, #8 80aeb8e: 2b08 cmp r3, #8 80aeb90: d103 bne.n 80aeb9a __HAL_UART_CLEAR_OREFLAG(&huart7); 80aeb92: 4b19 ldr r3, [pc, #100] ; (80aebf8 ) 80aeb94: 681b ldr r3, [r3, #0] 80aeb96: 2208 movs r2, #8 80aeb98: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_PE)) 80aeb9a: 4b17 ldr r3, [pc, #92] ; (80aebf8 ) 80aeb9c: 681b ldr r3, [r3, #0] 80aeb9e: 69db ldr r3, [r3, #28] 80aeba0: f003 0301 and.w r3, r3, #1 80aeba4: 2b01 cmp r3, #1 80aeba6: d103 bne.n 80aebb0 __HAL_UART_CLEAR_PEFLAG(&huart7); 80aeba8: 4b13 ldr r3, [pc, #76] ; (80aebf8 ) 80aebaa: 681b ldr r3, [r3, #0] 80aebac: 2201 movs r2, #1 80aebae: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_FE)) 80aebb0: 4b11 ldr r3, [pc, #68] ; (80aebf8 ) 80aebb2: 681b ldr r3, [r3, #0] 80aebb4: 69db ldr r3, [r3, #28] 80aebb6: f003 0302 and.w r3, r3, #2 80aebba: 2b02 cmp r3, #2 80aebbc: d103 bne.n 80aebc6 __HAL_UART_CLEAR_FEFLAG(&huart7); 80aebbe: 4b0e ldr r3, [pc, #56] ; (80aebf8 ) 80aebc0: 681b ldr r3, [r3, #0] 80aebc2: 2202 movs r2, #2 80aebc4: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_NE)) 80aebc6: 4b0c ldr r3, [pc, #48] ; (80aebf8 ) 80aebc8: 681b ldr r3, [r3, #0] 80aebca: 69db ldr r3, [r3, #28] 80aebcc: f003 0304 and.w r3, r3, #4 80aebd0: 2b04 cmp r3, #4 80aebd2: d103 bne.n 80aebdc __HAL_UART_CLEAR_NEFLAG(&huart7); 80aebd4: 4b08 ldr r3, [pc, #32] ; (80aebf8 ) 80aebd6: 681b ldr r3, [r3, #0] 80aebd8: 2204 movs r2, #4 80aebda: 621a str r2, [r3, #32] if(__HAL_UART_GET_FLAG(&huart7, UART_FLAG_IDLE)) 80aebdc: 4b06 ldr r3, [pc, #24] ; (80aebf8 ) 80aebde: 681b ldr r3, [r3, #0] 80aebe0: 69db ldr r3, [r3, #28] 80aebe2: f003 0310 and.w r3, r3, #16 80aebe6: 2b10 cmp r3, #16 80aebe8: d103 bne.n 80aebf2 __HAL_UART_CLEAR_IDLEFLAG(&huart7); 80aebea: 4b03 ldr r3, [pc, #12] ; (80aebf8 ) 80aebec: 681b ldr r3, [r3, #0] 80aebee: 2210 movs r2, #16 80aebf0: 621a str r2, [r3, #32] } 80aebf2: bf00 nop 80aebf4: bd80 pop {r7, pc} 80aebf6: bf00 nop 80aebf8: 20068a24 .word 0x20068a24 080aebfc : void arm_bitreversal_f32( float32_t * pSrc, uint16_t fftSize, uint16_t bitRevFactor, uint16_t * pBitRevTab) { 80aebfc: b480 push {r7} 80aebfe: b089 sub sp, #36 ; 0x24 80aec00: af00 add r7, sp, #0 80aec02: 60f8 str r0, [r7, #12] 80aec04: 607b str r3, [r7, #4] 80aec06: 460b mov r3, r1 80aec08: 817b strh r3, [r7, #10] 80aec0a: 4613 mov r3, r2 80aec0c: 813b strh r3, [r7, #8] uint16_t fftLenBy2, fftLenBy2p1; uint16_t i, j; float32_t in; /* Initializations */ j = 0u; 80aec0e: 2300 movs r3, #0 80aec10: 83bb strh r3, [r7, #28] fftLenBy2 = fftSize >> 1u; 80aec12: 897b ldrh r3, [r7, #10] 80aec14: 085b lsrs r3, r3, #1 80aec16: 837b strh r3, [r7, #26] fftLenBy2p1 = (fftSize >> 1u) + 1u; 80aec18: 897b ldrh r3, [r7, #10] 80aec1a: 085b lsrs r3, r3, #1 80aec1c: b29b uxth r3, r3 80aec1e: 3301 adds r3, #1 80aec20: 833b strh r3, [r7, #24] /* Bit Reversal Implementation */ for (i = 0u; i <= (fftLenBy2 - 2u); i += 2u) 80aec22: 2300 movs r3, #0 80aec24: 83fb strh r3, [r7, #30] 80aec26: e0ba b.n 80aed9e { if(i < j) 80aec28: 8bfa ldrh r2, [r7, #30] 80aec2a: 8bbb ldrh r3, [r7, #28] 80aec2c: 429a cmp r2, r3 80aec2e: d26f bcs.n 80aed10 { /* pSrc[i] <-> pSrc[j]; */ in = pSrc[2u * i]; 80aec30: 8bfb ldrh r3, [r7, #30] 80aec32: 00db lsls r3, r3, #3 80aec34: 68fa ldr r2, [r7, #12] 80aec36: 4413 add r3, r2 80aec38: 681b ldr r3, [r3, #0] 80aec3a: 617b str r3, [r7, #20] pSrc[2u * i] = pSrc[2u * j]; 80aec3c: 8bfb ldrh r3, [r7, #30] 80aec3e: 00db lsls r3, r3, #3 80aec40: 68fa ldr r2, [r7, #12] 80aec42: 4413 add r3, r2 80aec44: 8bba ldrh r2, [r7, #28] 80aec46: 00d2 lsls r2, r2, #3 80aec48: 68f9 ldr r1, [r7, #12] 80aec4a: 440a add r2, r1 80aec4c: 6812 ldr r2, [r2, #0] 80aec4e: 601a str r2, [r3, #0] pSrc[2u * j] = in; 80aec50: 8bbb ldrh r3, [r7, #28] 80aec52: 00db lsls r3, r3, #3 80aec54: 68fa ldr r2, [r7, #12] 80aec56: 4413 add r3, r2 80aec58: 697a ldr r2, [r7, #20] 80aec5a: 601a str r2, [r3, #0] /* pSrc[i+1u] <-> pSrc[j+1u] */ in = pSrc[(2u * i) + 1u]; 80aec5c: 8bfb ldrh r3, [r7, #30] 80aec5e: 00db lsls r3, r3, #3 80aec60: 3304 adds r3, #4 80aec62: 68fa ldr r2, [r7, #12] 80aec64: 4413 add r3, r2 80aec66: 681b ldr r3, [r3, #0] 80aec68: 617b str r3, [r7, #20] pSrc[(2u * i) + 1u] = pSrc[(2u * j) + 1u]; 80aec6a: 8bfb ldrh r3, [r7, #30] 80aec6c: 00db lsls r3, r3, #3 80aec6e: 3304 adds r3, #4 80aec70: 68fa ldr r2, [r7, #12] 80aec72: 4413 add r3, r2 80aec74: 8bba ldrh r2, [r7, #28] 80aec76: 00d2 lsls r2, r2, #3 80aec78: 3204 adds r2, #4 80aec7a: 68f9 ldr r1, [r7, #12] 80aec7c: 440a add r2, r1 80aec7e: 6812 ldr r2, [r2, #0] 80aec80: 601a str r2, [r3, #0] pSrc[(2u * j) + 1u] = in; 80aec82: 8bbb ldrh r3, [r7, #28] 80aec84: 00db lsls r3, r3, #3 80aec86: 3304 adds r3, #4 80aec88: 68fa ldr r2, [r7, #12] 80aec8a: 4413 add r3, r2 80aec8c: 697a ldr r2, [r7, #20] 80aec8e: 601a str r2, [r3, #0] /* pSrc[i+fftLenBy2p1] <-> pSrc[j+fftLenBy2p1] */ in = pSrc[2u * (i + fftLenBy2p1)]; 80aec90: 8bfa ldrh r2, [r7, #30] 80aec92: 8b3b ldrh r3, [r7, #24] 80aec94: 4413 add r3, r2 80aec96: 00db lsls r3, r3, #3 80aec98: 68fa ldr r2, [r7, #12] 80aec9a: 4413 add r3, r2 80aec9c: 681b ldr r3, [r3, #0] 80aec9e: 617b str r3, [r7, #20] pSrc[2u * (i + fftLenBy2p1)] = pSrc[2u * (j + fftLenBy2p1)]; 80aeca0: 8bfa ldrh r2, [r7, #30] 80aeca2: 8b3b ldrh r3, [r7, #24] 80aeca4: 4413 add r3, r2 80aeca6: 00db lsls r3, r3, #3 80aeca8: 68fa ldr r2, [r7, #12] 80aecaa: 4413 add r3, r2 80aecac: 8bb9 ldrh r1, [r7, #28] 80aecae: 8b3a ldrh r2, [r7, #24] 80aecb0: 440a add r2, r1 80aecb2: 00d2 lsls r2, r2, #3 80aecb4: 68f9 ldr r1, [r7, #12] 80aecb6: 440a add r2, r1 80aecb8: 6812 ldr r2, [r2, #0] 80aecba: 601a str r2, [r3, #0] pSrc[2u * (j + fftLenBy2p1)] = in; 80aecbc: 8bba ldrh r2, [r7, #28] 80aecbe: 8b3b ldrh r3, [r7, #24] 80aecc0: 4413 add r3, r2 80aecc2: 00db lsls r3, r3, #3 80aecc4: 68fa ldr r2, [r7, #12] 80aecc6: 4413 add r3, r2 80aecc8: 697a ldr r2, [r7, #20] 80aecca: 601a str r2, [r3, #0] /* pSrc[i+fftLenBy2p1+1u] <-> pSrc[j+fftLenBy2p1+1u] */ in = pSrc[(2u * (i + fftLenBy2p1)) + 1u]; 80aeccc: 8bfa ldrh r2, [r7, #30] 80aecce: 8b3b ldrh r3, [r7, #24] 80aecd0: 4413 add r3, r2 80aecd2: 00db lsls r3, r3, #3 80aecd4: 3304 adds r3, #4 80aecd6: 68fa ldr r2, [r7, #12] 80aecd8: 4413 add r3, r2 80aecda: 681b ldr r3, [r3, #0] 80aecdc: 617b str r3, [r7, #20] pSrc[(2u * (i + fftLenBy2p1)) + 1u] = 80aecde: 8bfa ldrh r2, [r7, #30] 80aece0: 8b3b ldrh r3, [r7, #24] 80aece2: 4413 add r3, r2 80aece4: 00db lsls r3, r3, #3 80aece6: 3304 adds r3, #4 80aece8: 68fa ldr r2, [r7, #12] 80aecea: 4413 add r3, r2 pSrc[(2u * (j + fftLenBy2p1)) + 1u]; 80aecec: 8bb9 ldrh r1, [r7, #28] 80aecee: 8b3a ldrh r2, [r7, #24] 80aecf0: 440a add r2, r1 80aecf2: 00d2 lsls r2, r2, #3 80aecf4: 3204 adds r2, #4 80aecf6: 68f9 ldr r1, [r7, #12] 80aecf8: 440a add r2, r1 80aecfa: 6812 ldr r2, [r2, #0] pSrc[(2u * (i + fftLenBy2p1)) + 1u] = 80aecfc: 601a str r2, [r3, #0] pSrc[(2u * (j + fftLenBy2p1)) + 1u] = in; 80aecfe: 8bba ldrh r2, [r7, #28] 80aed00: 8b3b ldrh r3, [r7, #24] 80aed02: 4413 add r3, r2 80aed04: 00db lsls r3, r3, #3 80aed06: 3304 adds r3, #4 80aed08: 68fa ldr r2, [r7, #12] 80aed0a: 4413 add r3, r2 80aed0c: 697a ldr r2, [r7, #20] 80aed0e: 601a str r2, [r3, #0] } /* pSrc[i+1u] <-> pSrc[j+1u] */ in = pSrc[2u * (i + 1u)]; 80aed10: 8bfb ldrh r3, [r7, #30] 80aed12: 3301 adds r3, #1 80aed14: 00db lsls r3, r3, #3 80aed16: 68fa ldr r2, [r7, #12] 80aed18: 4413 add r3, r2 80aed1a: 681b ldr r3, [r3, #0] 80aed1c: 617b str r3, [r7, #20] pSrc[2u * (i + 1u)] = pSrc[2u * (j + fftLenBy2)]; 80aed1e: 8bfb ldrh r3, [r7, #30] 80aed20: 3301 adds r3, #1 80aed22: 00db lsls r3, r3, #3 80aed24: 68fa ldr r2, [r7, #12] 80aed26: 4413 add r3, r2 80aed28: 8bb9 ldrh r1, [r7, #28] 80aed2a: 8b7a ldrh r2, [r7, #26] 80aed2c: 440a add r2, r1 80aed2e: 00d2 lsls r2, r2, #3 80aed30: 68f9 ldr r1, [r7, #12] 80aed32: 440a add r2, r1 80aed34: 6812 ldr r2, [r2, #0] 80aed36: 601a str r2, [r3, #0] pSrc[2u * (j + fftLenBy2)] = in; 80aed38: 8bba ldrh r2, [r7, #28] 80aed3a: 8b7b ldrh r3, [r7, #26] 80aed3c: 4413 add r3, r2 80aed3e: 00db lsls r3, r3, #3 80aed40: 68fa ldr r2, [r7, #12] 80aed42: 4413 add r3, r2 80aed44: 697a ldr r2, [r7, #20] 80aed46: 601a str r2, [r3, #0] /* pSrc[i+2u] <-> pSrc[j+2u] */ in = pSrc[(2u * (i + 1u)) + 1u]; 80aed48: 8bfb ldrh r3, [r7, #30] 80aed4a: 3301 adds r3, #1 80aed4c: 00db lsls r3, r3, #3 80aed4e: 3304 adds r3, #4 80aed50: 68fa ldr r2, [r7, #12] 80aed52: 4413 add r3, r2 80aed54: 681b ldr r3, [r3, #0] 80aed56: 617b str r3, [r7, #20] pSrc[(2u * (i + 1u)) + 1u] = pSrc[(2u * (j + fftLenBy2)) + 1u]; 80aed58: 8bfb ldrh r3, [r7, #30] 80aed5a: 3301 adds r3, #1 80aed5c: 00db lsls r3, r3, #3 80aed5e: 3304 adds r3, #4 80aed60: 68fa ldr r2, [r7, #12] 80aed62: 4413 add r3, r2 80aed64: 8bb9 ldrh r1, [r7, #28] 80aed66: 8b7a ldrh r2, [r7, #26] 80aed68: 440a add r2, r1 80aed6a: 00d2 lsls r2, r2, #3 80aed6c: 3204 adds r2, #4 80aed6e: 68f9 ldr r1, [r7, #12] 80aed70: 440a add r2, r1 80aed72: 6812 ldr r2, [r2, #0] 80aed74: 601a str r2, [r3, #0] pSrc[(2u * (j + fftLenBy2)) + 1u] = in; 80aed76: 8bba ldrh r2, [r7, #28] 80aed78: 8b7b ldrh r3, [r7, #26] 80aed7a: 4413 add r3, r2 80aed7c: 00db lsls r3, r3, #3 80aed7e: 3304 adds r3, #4 80aed80: 68fa ldr r2, [r7, #12] 80aed82: 4413 add r3, r2 80aed84: 697a ldr r2, [r7, #20] 80aed86: 601a str r2, [r3, #0] /* Reading the index for the bit reversal */ j = *pBitRevTab; 80aed88: 687b ldr r3, [r7, #4] 80aed8a: 881b ldrh r3, [r3, #0] 80aed8c: 83bb strh r3, [r7, #28] /* Updating the bit reversal index depending on the fft length */ pBitRevTab += bitRevFactor; 80aed8e: 893b ldrh r3, [r7, #8] 80aed90: 005b lsls r3, r3, #1 80aed92: 687a ldr r2, [r7, #4] 80aed94: 4413 add r3, r2 80aed96: 607b str r3, [r7, #4] for (i = 0u; i <= (fftLenBy2 - 2u); i += 2u) 80aed98: 8bfb ldrh r3, [r7, #30] 80aed9a: 3302 adds r3, #2 80aed9c: 83fb strh r3, [r7, #30] 80aed9e: 8bfa ldrh r2, [r7, #30] 80aeda0: 8b7b ldrh r3, [r7, #26] 80aeda2: 3b02 subs r3, #2 80aeda4: 429a cmp r2, r3 80aeda6: f67f af3f bls.w 80aec28 } } 80aedaa: bf00 nop 80aedac: 3724 adds r7, #36 ; 0x24 80aedae: 46bd mov sp, r7 80aedb0: f85d 7b04 ldr.w r7, [sp], #4 80aedb4: 4770 bx lr 080aedb6 : * \endcode * */ void arm_cfft_radix8by2_f32( arm_cfft_instance_f32 * S, float32_t * p1) { 80aedb6: b580 push {r7, lr} 80aedb8: b0a0 sub sp, #128 ; 0x80 80aedba: af00 add r7, sp, #0 80aedbc: 6078 str r0, [r7, #4] 80aedbe: 6039 str r1, [r7, #0] uint32_t L = S->fftLen; 80aedc0: 687b ldr r3, [r7, #4] 80aedc2: 881b ldrh r3, [r3, #0] 80aedc4: 66bb str r3, [r7, #104] ; 0x68 float32_t * pCol1, * pCol2, * pMid1, * pMid2; float32_t * p2 = p1 + L; 80aedc6: 6ebb ldr r3, [r7, #104] ; 0x68 80aedc8: 009b lsls r3, r3, #2 80aedca: 683a ldr r2, [r7, #0] 80aedcc: 4413 add r3, r2 80aedce: 677b str r3, [r7, #116] ; 0x74 const float32_t * tw = (float32_t *) S->pTwiddle; 80aedd0: 687b ldr r3, [r7, #4] 80aedd2: 685b ldr r3, [r3, #4] 80aedd4: 673b str r3, [r7, #112] ; 0x70 float32_t t1[4], t2[4], t3[4], t4[4], twR, twI; float32_t m0, m1, m2, m3; uint32_t l; pCol1 = p1; 80aedd6: 683b ldr r3, [r7, #0] 80aedd8: 667b str r3, [r7, #100] ; 0x64 pCol2 = p2; 80aedda: 6f7b ldr r3, [r7, #116] ; 0x74 80aeddc: 663b str r3, [r7, #96] ; 0x60 // Define new length L >>= 1; 80aedde: 6ebb ldr r3, [r7, #104] ; 0x68 80aede0: 085b lsrs r3, r3, #1 80aede2: 66bb str r3, [r7, #104] ; 0x68 // Initialize mid pointers pMid1 = p1 + L; 80aede4: 6ebb ldr r3, [r7, #104] ; 0x68 80aede6: 009b lsls r3, r3, #2 80aede8: 683a ldr r2, [r7, #0] 80aedea: 4413 add r3, r2 80aedec: 67fb str r3, [r7, #124] ; 0x7c pMid2 = p2 + L; 80aedee: 6ebb ldr r3, [r7, #104] ; 0x68 80aedf0: 009b lsls r3, r3, #2 80aedf2: 6f7a ldr r2, [r7, #116] ; 0x74 80aedf4: 4413 add r3, r2 80aedf6: 67bb str r3, [r7, #120] ; 0x78 // do two dot Fourier transform for ( l = L >> 2; l > 0; l-- ) 80aedf8: 6ebb ldr r3, [r7, #104] ; 0x68 80aedfa: 089b lsrs r3, r3, #2 80aedfc: 66fb str r3, [r7, #108] ; 0x6c 80aedfe: e1b6 b.n 80af16e { t1[0] = p1[0]; 80aee00: 683b ldr r3, [r7, #0] 80aee02: 681b ldr r3, [r3, #0] 80aee04: 63bb str r3, [r7, #56] ; 0x38 t1[1] = p1[1]; 80aee06: 683b ldr r3, [r7, #0] 80aee08: 685b ldr r3, [r3, #4] 80aee0a: 63fb str r3, [r7, #60] ; 0x3c t1[2] = p1[2]; 80aee0c: 683b ldr r3, [r7, #0] 80aee0e: 689b ldr r3, [r3, #8] 80aee10: 643b str r3, [r7, #64] ; 0x40 t1[3] = p1[3]; 80aee12: 683b ldr r3, [r7, #0] 80aee14: 68db ldr r3, [r3, #12] 80aee16: 647b str r3, [r7, #68] ; 0x44 t2[0] = p2[0]; 80aee18: 6f7b ldr r3, [r7, #116] ; 0x74 80aee1a: 681b ldr r3, [r3, #0] 80aee1c: 62bb str r3, [r7, #40] ; 0x28 t2[1] = p2[1]; 80aee1e: 6f7b ldr r3, [r7, #116] ; 0x74 80aee20: 685b ldr r3, [r3, #4] 80aee22: 62fb str r3, [r7, #44] ; 0x2c t2[2] = p2[2]; 80aee24: 6f7b ldr r3, [r7, #116] ; 0x74 80aee26: 689b ldr r3, [r3, #8] 80aee28: 633b str r3, [r7, #48] ; 0x30 t2[3] = p2[3]; 80aee2a: 6f7b ldr r3, [r7, #116] ; 0x74 80aee2c: 68db ldr r3, [r3, #12] 80aee2e: 637b str r3, [r7, #52] ; 0x34 t3[0] = pMid1[0]; 80aee30: 6ffb ldr r3, [r7, #124] ; 0x7c 80aee32: 681b ldr r3, [r3, #0] 80aee34: 61bb str r3, [r7, #24] t3[1] = pMid1[1]; 80aee36: 6ffb ldr r3, [r7, #124] ; 0x7c 80aee38: 685b ldr r3, [r3, #4] 80aee3a: 61fb str r3, [r7, #28] t3[2] = pMid1[2]; 80aee3c: 6ffb ldr r3, [r7, #124] ; 0x7c 80aee3e: 689b ldr r3, [r3, #8] 80aee40: 623b str r3, [r7, #32] t3[3] = pMid1[3]; 80aee42: 6ffb ldr r3, [r7, #124] ; 0x7c 80aee44: 68db ldr r3, [r3, #12] 80aee46: 627b str r3, [r7, #36] ; 0x24 t4[0] = pMid2[0]; 80aee48: 6fbb ldr r3, [r7, #120] ; 0x78 80aee4a: 681b ldr r3, [r3, #0] 80aee4c: 60bb str r3, [r7, #8] t4[1] = pMid2[1]; 80aee4e: 6fbb ldr r3, [r7, #120] ; 0x78 80aee50: 685b ldr r3, [r3, #4] 80aee52: 60fb str r3, [r7, #12] t4[2] = pMid2[2]; 80aee54: 6fbb ldr r3, [r7, #120] ; 0x78 80aee56: 689b ldr r3, [r3, #8] 80aee58: 613b str r3, [r7, #16] t4[3] = pMid2[3]; 80aee5a: 6fbb ldr r3, [r7, #120] ; 0x78 80aee5c: 68db ldr r3, [r3, #12] 80aee5e: 617b str r3, [r7, #20] *p1++ = t1[0] + t2[0]; 80aee60: 683b ldr r3, [r7, #0] 80aee62: 1d1a adds r2, r3, #4 80aee64: 603a str r2, [r7, #0] 80aee66: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80aee6a: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80aee6e: ee77 7a27 vadd.f32 s15, s14, s15 80aee72: edc3 7a00 vstr s15, [r3] *p1++ = t1[1] + t2[1]; 80aee76: 683b ldr r3, [r7, #0] 80aee78: 1d1a adds r2, r3, #4 80aee7a: 603a str r2, [r7, #0] 80aee7c: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80aee80: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 80aee84: ee77 7a27 vadd.f32 s15, s14, s15 80aee88: edc3 7a00 vstr s15, [r3] *p1++ = t1[2] + t2[2]; 80aee8c: 683b ldr r3, [r7, #0] 80aee8e: 1d1a adds r2, r3, #4 80aee90: 603a str r2, [r7, #0] 80aee92: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80aee96: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80aee9a: ee77 7a27 vadd.f32 s15, s14, s15 80aee9e: edc3 7a00 vstr s15, [r3] *p1++ = t1[3] + t2[3]; // col 1 80aeea2: 683b ldr r3, [r7, #0] 80aeea4: 1d1a adds r2, r3, #4 80aeea6: 603a str r2, [r7, #0] 80aeea8: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80aeeac: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80aeeb0: ee77 7a27 vadd.f32 s15, s14, s15 80aeeb4: edc3 7a00 vstr s15, [r3] t2[0] = t1[0] - t2[0]; 80aeeb8: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80aeebc: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80aeec0: ee77 7a67 vsub.f32 s15, s14, s15 80aeec4: edc7 7a0a vstr s15, [r7, #40] ; 0x28 t2[1] = t1[1] - t2[1]; 80aeec8: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80aeecc: edd7 7a0b vldr s15, [r7, #44] ; 0x2c 80aeed0: ee77 7a67 vsub.f32 s15, s14, s15 80aeed4: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[2] = t1[2] - t2[2]; 80aeed8: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80aeedc: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80aeee0: ee77 7a67 vsub.f32 s15, s14, s15 80aeee4: edc7 7a0c vstr s15, [r7, #48] ; 0x30 t2[3] = t1[3] - t2[3]; // for col 2 80aeee8: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80aeeec: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80aeef0: ee77 7a67 vsub.f32 s15, s14, s15 80aeef4: edc7 7a0d vstr s15, [r7, #52] ; 0x34 *pMid1++ = t3[0] + t4[0]; 80aeef8: 6ffb ldr r3, [r7, #124] ; 0x7c 80aeefa: 1d1a adds r2, r3, #4 80aeefc: 67fa str r2, [r7, #124] ; 0x7c 80aeefe: ed97 7a06 vldr s14, [r7, #24] 80aef02: edd7 7a02 vldr s15, [r7, #8] 80aef06: ee77 7a27 vadd.f32 s15, s14, s15 80aef0a: edc3 7a00 vstr s15, [r3] *pMid1++ = t3[1] + t4[1]; 80aef0e: 6ffb ldr r3, [r7, #124] ; 0x7c 80aef10: 1d1a adds r2, r3, #4 80aef12: 67fa str r2, [r7, #124] ; 0x7c 80aef14: ed97 7a07 vldr s14, [r7, #28] 80aef18: edd7 7a03 vldr s15, [r7, #12] 80aef1c: ee77 7a27 vadd.f32 s15, s14, s15 80aef20: edc3 7a00 vstr s15, [r3] *pMid1++ = t3[2] + t4[2]; 80aef24: 6ffb ldr r3, [r7, #124] ; 0x7c 80aef26: 1d1a adds r2, r3, #4 80aef28: 67fa str r2, [r7, #124] ; 0x7c 80aef2a: ed97 7a08 vldr s14, [r7, #32] 80aef2e: edd7 7a04 vldr s15, [r7, #16] 80aef32: ee77 7a27 vadd.f32 s15, s14, s15 80aef36: edc3 7a00 vstr s15, [r3] *pMid1++ = t3[3] + t4[3]; // col 1 80aef3a: 6ffb ldr r3, [r7, #124] ; 0x7c 80aef3c: 1d1a adds r2, r3, #4 80aef3e: 67fa str r2, [r7, #124] ; 0x7c 80aef40: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80aef44: edd7 7a05 vldr s15, [r7, #20] 80aef48: ee77 7a27 vadd.f32 s15, s14, s15 80aef4c: edc3 7a00 vstr s15, [r3] t4[0] = t4[0] - t3[0]; 80aef50: ed97 7a02 vldr s14, [r7, #8] 80aef54: edd7 7a06 vldr s15, [r7, #24] 80aef58: ee77 7a67 vsub.f32 s15, s14, s15 80aef5c: edc7 7a02 vstr s15, [r7, #8] t4[1] = t4[1] - t3[1]; 80aef60: ed97 7a03 vldr s14, [r7, #12] 80aef64: edd7 7a07 vldr s15, [r7, #28] 80aef68: ee77 7a67 vsub.f32 s15, s14, s15 80aef6c: edc7 7a03 vstr s15, [r7, #12] t4[2] = t4[2] - t3[2]; 80aef70: ed97 7a04 vldr s14, [r7, #16] 80aef74: edd7 7a08 vldr s15, [r7, #32] 80aef78: ee77 7a67 vsub.f32 s15, s14, s15 80aef7c: edc7 7a04 vstr s15, [r7, #16] t4[3] = t4[3] - t3[3]; // for col 2 80aef80: ed97 7a05 vldr s14, [r7, #20] 80aef84: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80aef88: ee77 7a67 vsub.f32 s15, s14, s15 80aef8c: edc7 7a05 vstr s15, [r7, #20] twR = *tw++; 80aef90: 6f3b ldr r3, [r7, #112] ; 0x70 80aef92: 1d1a adds r2, r3, #4 80aef94: 673a str r2, [r7, #112] ; 0x70 80aef96: 681b ldr r3, [r3, #0] 80aef98: 65fb str r3, [r7, #92] ; 0x5c twI = *tw++; 80aef9a: 6f3b ldr r3, [r7, #112] ; 0x70 80aef9c: 1d1a adds r2, r3, #4 80aef9e: 673a str r2, [r7, #112] ; 0x70 80aefa0: 681b ldr r3, [r3, #0] 80aefa2: 65bb str r3, [r7, #88] ; 0x58 // multiply by twiddle factors m0 = t2[0] * twR; 80aefa4: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80aefa8: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80aefac: ee67 7a27 vmul.f32 s15, s14, s15 80aefb0: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t2[1] * twI; 80aefb4: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80aefb8: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80aefbc: ee67 7a27 vmul.f32 s15, s14, s15 80aefc0: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t2[1] * twR; 80aefc4: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80aefc8: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80aefcc: ee67 7a27 vmul.f32 s15, s14, s15 80aefd0: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t2[0] * twI; 80aefd4: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80aefd8: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80aefdc: ee67 7a27 vmul.f32 s15, s14, s15 80aefe0: edc7 7a12 vstr s15, [r7, #72] ; 0x48 // R = R * Tr - I * Ti *p2++ = m0 + m1; 80aefe4: 6f7b ldr r3, [r7, #116] ; 0x74 80aefe6: 1d1a adds r2, r3, #4 80aefe8: 677a str r2, [r7, #116] ; 0x74 80aefea: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80aefee: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80aeff2: ee77 7a27 vadd.f32 s15, s14, s15 80aeff6: edc3 7a00 vstr s15, [r3] // I = I * Tr + R * Ti *p2++ = m2 - m3; 80aeffa: 6f7b ldr r3, [r7, #116] ; 0x74 80aeffc: 1d1a adds r2, r3, #4 80aeffe: 677a str r2, [r7, #116] ; 0x74 80af000: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80af004: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80af008: ee77 7a67 vsub.f32 s15, s14, s15 80af00c: edc3 7a00 vstr s15, [r3] // use vertical symmetry // 0.9988 - 0.0491i <==> -0.0491 - 0.9988i m0 = t4[0] * twI; 80af010: ed97 7a02 vldr s14, [r7, #8] 80af014: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af018: ee67 7a27 vmul.f32 s15, s14, s15 80af01c: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t4[1] * twR; 80af020: ed97 7a03 vldr s14, [r7, #12] 80af024: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af028: ee67 7a27 vmul.f32 s15, s14, s15 80af02c: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t4[1] * twI; 80af030: ed97 7a03 vldr s14, [r7, #12] 80af034: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af038: ee67 7a27 vmul.f32 s15, s14, s15 80af03c: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t4[0] * twR; 80af040: ed97 7a02 vldr s14, [r7, #8] 80af044: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af048: ee67 7a27 vmul.f32 s15, s14, s15 80af04c: edc7 7a12 vstr s15, [r7, #72] ; 0x48 *pMid2++ = m0 - m1; 80af050: 6fbb ldr r3, [r7, #120] ; 0x78 80af052: 1d1a adds r2, r3, #4 80af054: 67ba str r2, [r7, #120] ; 0x78 80af056: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80af05a: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af05e: ee77 7a67 vsub.f32 s15, s14, s15 80af062: edc3 7a00 vstr s15, [r3] *pMid2++ = m2 + m3; 80af066: 6fbb ldr r3, [r7, #120] ; 0x78 80af068: 1d1a adds r2, r3, #4 80af06a: 67ba str r2, [r7, #120] ; 0x78 80af06c: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80af070: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80af074: ee77 7a27 vadd.f32 s15, s14, s15 80af078: edc3 7a00 vstr s15, [r3] twR = *tw++; 80af07c: 6f3b ldr r3, [r7, #112] ; 0x70 80af07e: 1d1a adds r2, r3, #4 80af080: 673a str r2, [r7, #112] ; 0x70 80af082: 681b ldr r3, [r3, #0] 80af084: 65fb str r3, [r7, #92] ; 0x5c twI = *tw++; 80af086: 6f3b ldr r3, [r7, #112] ; 0x70 80af088: 1d1a adds r2, r3, #4 80af08a: 673a str r2, [r7, #112] ; 0x70 80af08c: 681b ldr r3, [r3, #0] 80af08e: 65bb str r3, [r7, #88] ; 0x58 m0 = t2[2] * twR; 80af090: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80af094: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af098: ee67 7a27 vmul.f32 s15, s14, s15 80af09c: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t2[3] * twI; 80af0a0: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80af0a4: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af0a8: ee67 7a27 vmul.f32 s15, s14, s15 80af0ac: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t2[3] * twR; 80af0b0: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80af0b4: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af0b8: ee67 7a27 vmul.f32 s15, s14, s15 80af0bc: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t2[2] * twI; 80af0c0: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80af0c4: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af0c8: ee67 7a27 vmul.f32 s15, s14, s15 80af0cc: edc7 7a12 vstr s15, [r7, #72] ; 0x48 *p2++ = m0 + m1; 80af0d0: 6f7b ldr r3, [r7, #116] ; 0x74 80af0d2: 1d1a adds r2, r3, #4 80af0d4: 677a str r2, [r7, #116] ; 0x74 80af0d6: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80af0da: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af0de: ee77 7a27 vadd.f32 s15, s14, s15 80af0e2: edc3 7a00 vstr s15, [r3] *p2++ = m2 - m3; 80af0e6: 6f7b ldr r3, [r7, #116] ; 0x74 80af0e8: 1d1a adds r2, r3, #4 80af0ea: 677a str r2, [r7, #116] ; 0x74 80af0ec: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80af0f0: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80af0f4: ee77 7a67 vsub.f32 s15, s14, s15 80af0f8: edc3 7a00 vstr s15, [r3] m0 = t4[2] * twI; 80af0fc: ed97 7a04 vldr s14, [r7, #16] 80af100: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af104: ee67 7a27 vmul.f32 s15, s14, s15 80af108: edc7 7a15 vstr s15, [r7, #84] ; 0x54 m1 = t4[3] * twR; 80af10c: ed97 7a05 vldr s14, [r7, #20] 80af110: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af114: ee67 7a27 vmul.f32 s15, s14, s15 80af118: edc7 7a14 vstr s15, [r7, #80] ; 0x50 m2 = t4[3] * twI; 80af11c: ed97 7a05 vldr s14, [r7, #20] 80af120: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af124: ee67 7a27 vmul.f32 s15, s14, s15 80af128: edc7 7a13 vstr s15, [r7, #76] ; 0x4c m3 = t4[2] * twR; 80af12c: ed97 7a04 vldr s14, [r7, #16] 80af130: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af134: ee67 7a27 vmul.f32 s15, s14, s15 80af138: edc7 7a12 vstr s15, [r7, #72] ; 0x48 *pMid2++ = m0 - m1; 80af13c: 6fbb ldr r3, [r7, #120] ; 0x78 80af13e: 1d1a adds r2, r3, #4 80af140: 67ba str r2, [r7, #120] ; 0x78 80af142: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80af146: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af14a: ee77 7a67 vsub.f32 s15, s14, s15 80af14e: edc3 7a00 vstr s15, [r3] *pMid2++ = m2 + m3; 80af152: 6fbb ldr r3, [r7, #120] ; 0x78 80af154: 1d1a adds r2, r3, #4 80af156: 67ba str r2, [r7, #120] ; 0x78 80af158: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80af15c: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80af160: ee77 7a27 vadd.f32 s15, s14, s15 80af164: edc3 7a00 vstr s15, [r3] for ( l = L >> 2; l > 0; l-- ) 80af168: 6efb ldr r3, [r7, #108] ; 0x6c 80af16a: 3b01 subs r3, #1 80af16c: 66fb str r3, [r7, #108] ; 0x6c 80af16e: 6efb ldr r3, [r7, #108] ; 0x6c 80af170: 2b00 cmp r3, #0 80af172: f47f ae45 bne.w 80aee00 } // first col arm_radix8_butterfly_f32( pCol1, L, (float32_t *) S->pTwiddle, 2u); 80af176: 6ebb ldr r3, [r7, #104] ; 0x68 80af178: b299 uxth r1, r3 80af17a: 687b ldr r3, [r7, #4] 80af17c: 685a ldr r2, [r3, #4] 80af17e: 2302 movs r3, #2 80af180: 6e78 ldr r0, [r7, #100] ; 0x64 80af182: f002 fa11 bl 80b15a8 // second col arm_radix8_butterfly_f32( pCol2, L, (float32_t *) S->pTwiddle, 2u); 80af186: 6ebb ldr r3, [r7, #104] ; 0x68 80af188: b299 uxth r1, r3 80af18a: 687b ldr r3, [r7, #4] 80af18c: 685a ldr r2, [r3, #4] 80af18e: 2302 movs r3, #2 80af190: 6e38 ldr r0, [r7, #96] ; 0x60 80af192: f002 fa09 bl 80b15a8 } 80af196: bf00 nop 80af198: 3780 adds r7, #128 ; 0x80 80af19a: 46bd mov sp, r7 80af19c: bd80 pop {r7, pc} 080af19e : void arm_cfft_radix8by4_f32( arm_cfft_instance_f32 * S, float32_t * p1) { 80af19e: b580 push {r7, lr} 80af1a0: b0ac sub sp, #176 ; 0xb0 80af1a2: af00 add r7, sp, #0 80af1a4: 6078 str r0, [r7, #4] 80af1a6: 6039 str r1, [r7, #0] uint32_t L = S->fftLen >> 1; 80af1a8: 687b ldr r3, [r7, #4] 80af1aa: 881b ldrh r3, [r3, #0] 80af1ac: 085b lsrs r3, r3, #1 80af1ae: b29b uxth r3, r3 80af1b0: f8c7 3080 str.w r3, [r7, #128] ; 0x80 float32_t * pCol1, *pCol2, *pCol3, *pCol4, *pEnd1, *pEnd2, *pEnd3, *pEnd4; const float32_t *tw2, *tw3, *tw4; float32_t * p2 = p1 + L; 80af1b4: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80af1b8: 009b lsls r3, r3, #2 80af1ba: 683a ldr r2, [r7, #0] 80af1bc: 4413 add r3, r2 80af1be: f8c7 3090 str.w r3, [r7, #144] ; 0x90 float32_t * p3 = p2 + L; 80af1c2: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80af1c6: 009b lsls r3, r3, #2 80af1c8: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80af1cc: 4413 add r3, r2 80af1ce: f8c7 308c str.w r3, [r7, #140] ; 0x8c float32_t * p4 = p3 + L; 80af1d2: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80af1d6: 009b lsls r3, r3, #2 80af1d8: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80af1dc: 4413 add r3, r2 80af1de: f8c7 3088 str.w r3, [r7, #136] ; 0x88 float32_t t2[4], t3[4], t4[4], twR, twI; float32_t p1ap3_0, p1sp3_0, p1ap3_1, p1sp3_1; float32_t m0, m1, m2, m3; uint32_t l, twMod2, twMod3, twMod4; pCol1 = p1; // points to real values by default 80af1e2: 683b ldr r3, [r7, #0] 80af1e4: 67fb str r3, [r7, #124] ; 0x7c pCol2 = p2; 80af1e6: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af1ea: 67bb str r3, [r7, #120] ; 0x78 pCol3 = p3; 80af1ec: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af1f0: 677b str r3, [r7, #116] ; 0x74 pCol4 = p4; 80af1f2: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af1f6: 673b str r3, [r7, #112] ; 0x70 pEnd1 = p2 - 1; // points to imaginary values by default 80af1f8: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af1fc: 3b04 subs r3, #4 80af1fe: f8c7 30ac str.w r3, [r7, #172] ; 0xac pEnd2 = p3 - 1; 80af202: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af206: 3b04 subs r3, #4 80af208: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 pEnd3 = p4 - 1; 80af20c: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af210: 3b04 subs r3, #4 80af212: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 pEnd4 = pEnd3 + L; 80af216: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80af21a: 009b lsls r3, r3, #2 80af21c: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 80af220: 4413 add r3, r2 80af222: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 tw2 = tw3 = tw4 = (float32_t *) S->pTwiddle; 80af226: 687b ldr r3, [r7, #4] 80af228: 685b ldr r3, [r3, #4] 80af22a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80af22e: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80af232: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80af236: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80af23a: f8c7 309c str.w r3, [r7, #156] ; 0x9c L >>= 1; 80af23e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80af242: 085b lsrs r3, r3, #1 80af244: f8c7 3080 str.w r3, [r7, #128] ; 0x80 // do four dot Fourier transform twMod2 = 2; 80af248: 2302 movs r3, #2 80af24a: 66fb str r3, [r7, #108] ; 0x6c twMod3 = 4; 80af24c: 2304 movs r3, #4 80af24e: 66bb str r3, [r7, #104] ; 0x68 twMod4 = 6; 80af250: 2306 movs r3, #6 80af252: 667b str r3, [r7, #100] ; 0x64 // TOP p1ap3_0 = p1[0] + p3[0]; 80af254: 683b ldr r3, [r7, #0] 80af256: ed93 7a00 vldr s14, [r3] 80af25a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af25e: edd3 7a00 vldr s15, [r3] 80af262: ee77 7a27 vadd.f32 s15, s14, s15 80af266: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = p1[0] - p3[0]; 80af26a: 683b ldr r3, [r7, #0] 80af26c: ed93 7a00 vldr s14, [r3] 80af270: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af274: edd3 7a00 vldr s15, [r3] 80af278: ee77 7a67 vsub.f32 s15, s14, s15 80af27c: edc7 7a17 vstr s15, [r7, #92] ; 0x5c p1ap3_1 = p1[1] + p3[1]; 80af280: 683b ldr r3, [r7, #0] 80af282: 3304 adds r3, #4 80af284: ed93 7a00 vldr s14, [r3] 80af288: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af28c: 3304 adds r3, #4 80af28e: edd3 7a00 vldr s15, [r3] 80af292: ee77 7a27 vadd.f32 s15, s14, s15 80af296: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = p1[1] - p3[1]; 80af29a: 683b ldr r3, [r7, #0] 80af29c: 3304 adds r3, #4 80af29e: ed93 7a00 vldr s14, [r3] 80af2a2: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af2a6: 3304 adds r3, #4 80af2a8: edd3 7a00 vldr s15, [r3] 80af2ac: ee77 7a67 vsub.f32 s15, s14, s15 80af2b0: edc7 7a15 vstr s15, [r7, #84] ; 0x54 // col 2 t2[0] = p1sp3_0 + p2[1] - p4[1]; 80af2b4: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af2b8: 3304 adds r3, #4 80af2ba: ed93 7a00 vldr s14, [r3] 80af2be: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af2c2: ee37 7a27 vadd.f32 s14, s14, s15 80af2c6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af2ca: 3304 adds r3, #4 80af2cc: edd3 7a00 vldr s15, [r3] 80af2d0: ee77 7a67 vsub.f32 s15, s14, s15 80af2d4: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[1] = p1sp3_1 - p2[0] + p4[0]; 80af2d8: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af2dc: edd3 7a00 vldr s15, [r3] 80af2e0: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80af2e4: ee37 7a67 vsub.f32 s14, s14, s15 80af2e8: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af2ec: edd3 7a00 vldr s15, [r3] 80af2f0: ee77 7a27 vadd.f32 s15, s14, s15 80af2f4: edc7 7a0c vstr s15, [r7, #48] ; 0x30 // col 3 t3[0] = p1ap3_0 - p2[0] - p4[0]; 80af2f8: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af2fc: edd3 7a00 vldr s15, [r3] 80af300: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80af304: ee37 7a67 vsub.f32 s14, s14, s15 80af308: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af30c: edd3 7a00 vldr s15, [r3] 80af310: ee77 7a67 vsub.f32 s15, s14, s15 80af314: edc7 7a07 vstr s15, [r7, #28] t3[1] = p1ap3_1 - p2[1] - p4[1]; 80af318: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af31c: 3304 adds r3, #4 80af31e: edd3 7a00 vldr s15, [r3] 80af322: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80af326: ee37 7a67 vsub.f32 s14, s14, s15 80af32a: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af32e: 3304 adds r3, #4 80af330: edd3 7a00 vldr s15, [r3] 80af334: ee77 7a67 vsub.f32 s15, s14, s15 80af338: edc7 7a08 vstr s15, [r7, #32] // col 4 t4[0] = p1sp3_0 - p2[1] + p4[1]; 80af33c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af340: 3304 adds r3, #4 80af342: edd3 7a00 vldr s15, [r3] 80af346: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80af34a: ee37 7a67 vsub.f32 s14, s14, s15 80af34e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af352: 3304 adds r3, #4 80af354: edd3 7a00 vldr s15, [r3] 80af358: ee77 7a27 vadd.f32 s15, s14, s15 80af35c: edc7 7a03 vstr s15, [r7, #12] t4[1] = p1sp3_1 + p2[0] - p4[0]; 80af360: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af364: ed93 7a00 vldr s14, [r3] 80af368: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80af36c: ee37 7a27 vadd.f32 s14, s14, s15 80af370: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af374: edd3 7a00 vldr s15, [r3] 80af378: ee77 7a67 vsub.f32 s15, s14, s15 80af37c: edc7 7a04 vstr s15, [r7, #16] // col 1 *p1++ = p1ap3_0 + p2[0] + p4[0]; 80af380: 683b ldr r3, [r7, #0] 80af382: 1d1a adds r2, r3, #4 80af384: 603a str r2, [r7, #0] 80af386: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80af38a: ed92 7a00 vldr s14, [r2] 80af38e: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80af392: ee37 7a27 vadd.f32 s14, s14, s15 80af396: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80af39a: edd2 7a00 vldr s15, [r2] 80af39e: ee77 7a27 vadd.f32 s15, s14, s15 80af3a2: edc3 7a00 vstr s15, [r3] *p1++ = p1ap3_1 + p2[1] + p4[1]; 80af3a6: 683b ldr r3, [r7, #0] 80af3a8: 1d1a adds r2, r3, #4 80af3aa: 603a str r2, [r7, #0] 80af3ac: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80af3b0: 3204 adds r2, #4 80af3b2: ed92 7a00 vldr s14, [r2] 80af3b6: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af3ba: ee37 7a27 vadd.f32 s14, s14, s15 80af3be: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80af3c2: 3204 adds r2, #4 80af3c4: edd2 7a00 vldr s15, [r2] 80af3c8: ee77 7a27 vadd.f32 s15, s14, s15 80af3cc: edc3 7a00 vstr s15, [r3] // Twiddle factors are ones *p2++ = t2[0]; 80af3d0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af3d4: 1d1a adds r2, r3, #4 80af3d6: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80af3da: 6afa ldr r2, [r7, #44] ; 0x2c 80af3dc: 601a str r2, [r3, #0] *p2++ = t2[1]; 80af3de: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af3e2: 1d1a adds r2, r3, #4 80af3e4: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80af3e8: 6b3a ldr r2, [r7, #48] ; 0x30 80af3ea: 601a str r2, [r3, #0] *p3++ = t3[0]; 80af3ec: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af3f0: 1d1a adds r2, r3, #4 80af3f2: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80af3f6: 69fa ldr r2, [r7, #28] 80af3f8: 601a str r2, [r3, #0] *p3++ = t3[1]; 80af3fa: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af3fe: 1d1a adds r2, r3, #4 80af400: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80af404: 6a3a ldr r2, [r7, #32] 80af406: 601a str r2, [r3, #0] *p4++ = t4[0]; 80af408: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af40c: 1d1a adds r2, r3, #4 80af40e: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80af412: 68fa ldr r2, [r7, #12] 80af414: 601a str r2, [r3, #0] *p4++ = t4[1]; 80af416: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af41a: 1d1a adds r2, r3, #4 80af41c: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80af420: 693a ldr r2, [r7, #16] 80af422: 601a str r2, [r3, #0] tw2 += twMod2; 80af424: 6efb ldr r3, [r7, #108] ; 0x6c 80af426: 009b lsls r3, r3, #2 80af428: f8d7 209c ldr.w r2, [r7, #156] ; 0x9c 80af42c: 4413 add r3, r2 80af42e: f8c7 309c str.w r3, [r7, #156] ; 0x9c tw3 += twMod3; 80af432: 6ebb ldr r3, [r7, #104] ; 0x68 80af434: 009b lsls r3, r3, #2 80af436: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 80af43a: 4413 add r3, r2 80af43c: f8c7 3098 str.w r3, [r7, #152] ; 0x98 tw4 += twMod4; 80af440: 6e7b ldr r3, [r7, #100] ; 0x64 80af442: 009b lsls r3, r3, #2 80af444: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80af448: 4413 add r3, r2 80af44a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 for (l = (L - 2) >> 1; l > 0; l-- ) 80af44e: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80af452: 3b02 subs r3, #2 80af454: 085b lsrs r3, r3, #1 80af456: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80af45a: e31a b.n 80afa92 { // TOP p1ap3_0 = p1[0] + p3[0]; 80af45c: 683b ldr r3, [r7, #0] 80af45e: ed93 7a00 vldr s14, [r3] 80af462: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af466: edd3 7a00 vldr s15, [r3] 80af46a: ee77 7a27 vadd.f32 s15, s14, s15 80af46e: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = p1[0] - p3[0]; 80af472: 683b ldr r3, [r7, #0] 80af474: ed93 7a00 vldr s14, [r3] 80af478: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af47c: edd3 7a00 vldr s15, [r3] 80af480: ee77 7a67 vsub.f32 s15, s14, s15 80af484: edc7 7a17 vstr s15, [r7, #92] ; 0x5c p1ap3_1 = p1[1] + p3[1]; 80af488: 683b ldr r3, [r7, #0] 80af48a: 3304 adds r3, #4 80af48c: ed93 7a00 vldr s14, [r3] 80af490: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af494: 3304 adds r3, #4 80af496: edd3 7a00 vldr s15, [r3] 80af49a: ee77 7a27 vadd.f32 s15, s14, s15 80af49e: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = p1[1] - p3[1]; 80af4a2: 683b ldr r3, [r7, #0] 80af4a4: 3304 adds r3, #4 80af4a6: ed93 7a00 vldr s14, [r3] 80af4aa: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af4ae: 3304 adds r3, #4 80af4b0: edd3 7a00 vldr s15, [r3] 80af4b4: ee77 7a67 vsub.f32 s15, s14, s15 80af4b8: edc7 7a15 vstr s15, [r7, #84] ; 0x54 // col 2 t2[0] = p1sp3_0 + p2[1] - p4[1]; 80af4bc: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af4c0: 3304 adds r3, #4 80af4c2: ed93 7a00 vldr s14, [r3] 80af4c6: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af4ca: ee37 7a27 vadd.f32 s14, s14, s15 80af4ce: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af4d2: 3304 adds r3, #4 80af4d4: edd3 7a00 vldr s15, [r3] 80af4d8: ee77 7a67 vsub.f32 s15, s14, s15 80af4dc: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[1] = p1sp3_1 - p2[0] + p4[0]; 80af4e0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af4e4: edd3 7a00 vldr s15, [r3] 80af4e8: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80af4ec: ee37 7a67 vsub.f32 s14, s14, s15 80af4f0: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af4f4: edd3 7a00 vldr s15, [r3] 80af4f8: ee77 7a27 vadd.f32 s15, s14, s15 80af4fc: edc7 7a0c vstr s15, [r7, #48] ; 0x30 // col 3 t3[0] = p1ap3_0 - p2[0] - p4[0]; 80af500: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af504: edd3 7a00 vldr s15, [r3] 80af508: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80af50c: ee37 7a67 vsub.f32 s14, s14, s15 80af510: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af514: edd3 7a00 vldr s15, [r3] 80af518: ee77 7a67 vsub.f32 s15, s14, s15 80af51c: edc7 7a07 vstr s15, [r7, #28] t3[1] = p1ap3_1 - p2[1] - p4[1]; 80af520: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af524: 3304 adds r3, #4 80af526: edd3 7a00 vldr s15, [r3] 80af52a: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80af52e: ee37 7a67 vsub.f32 s14, s14, s15 80af532: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af536: 3304 adds r3, #4 80af538: edd3 7a00 vldr s15, [r3] 80af53c: ee77 7a67 vsub.f32 s15, s14, s15 80af540: edc7 7a08 vstr s15, [r7, #32] // col 4 t4[0] = p1sp3_0 - p2[1] + p4[1]; 80af544: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af548: 3304 adds r3, #4 80af54a: edd3 7a00 vldr s15, [r3] 80af54e: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80af552: ee37 7a67 vsub.f32 s14, s14, s15 80af556: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af55a: 3304 adds r3, #4 80af55c: edd3 7a00 vldr s15, [r3] 80af560: ee77 7a27 vadd.f32 s15, s14, s15 80af564: edc7 7a03 vstr s15, [r7, #12] t4[1] = p1sp3_1 + p2[0] - p4[0]; 80af568: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af56c: ed93 7a00 vldr s14, [r3] 80af570: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80af574: ee37 7a27 vadd.f32 s14, s14, s15 80af578: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af57c: edd3 7a00 vldr s15, [r3] 80af580: ee77 7a67 vsub.f32 s15, s14, s15 80af584: edc7 7a04 vstr s15, [r7, #16] // col 1 - top *p1++ = p1ap3_0 + p2[0] + p4[0]; 80af588: 683b ldr r3, [r7, #0] 80af58a: 1d1a adds r2, r3, #4 80af58c: 603a str r2, [r7, #0] 80af58e: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80af592: ed92 7a00 vldr s14, [r2] 80af596: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80af59a: ee37 7a27 vadd.f32 s14, s14, s15 80af59e: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80af5a2: edd2 7a00 vldr s15, [r2] 80af5a6: ee77 7a27 vadd.f32 s15, s14, s15 80af5aa: edc3 7a00 vstr s15, [r3] *p1++ = p1ap3_1 + p2[1] + p4[1]; 80af5ae: 683b ldr r3, [r7, #0] 80af5b0: 1d1a adds r2, r3, #4 80af5b2: 603a str r2, [r7, #0] 80af5b4: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80af5b8: 3204 adds r2, #4 80af5ba: ed92 7a00 vldr s14, [r2] 80af5be: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af5c2: ee37 7a27 vadd.f32 s14, s14, s15 80af5c6: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80af5ca: 3204 adds r2, #4 80af5cc: edd2 7a00 vldr s15, [r2] 80af5d0: ee77 7a27 vadd.f32 s15, s14, s15 80af5d4: edc3 7a00 vstr s15, [r3] // BOTTOM p1ap3_1 = pEnd1[-1] + pEnd3[-1]; 80af5d8: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af5dc: 3b04 subs r3, #4 80af5de: ed93 7a00 vldr s14, [r3] 80af5e2: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af5e6: 3b04 subs r3, #4 80af5e8: edd3 7a00 vldr s15, [r3] 80af5ec: ee77 7a27 vadd.f32 s15, s14, s15 80af5f0: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = pEnd1[-1] - pEnd3[-1]; 80af5f4: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af5f8: 3b04 subs r3, #4 80af5fa: ed93 7a00 vldr s14, [r3] 80af5fe: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af602: 3b04 subs r3, #4 80af604: edd3 7a00 vldr s15, [r3] 80af608: ee77 7a67 vsub.f32 s15, s14, s15 80af60c: edc7 7a15 vstr s15, [r7, #84] ; 0x54 p1ap3_0 = pEnd1[0] + pEnd3[0]; 80af610: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af614: ed93 7a00 vldr s14, [r3] 80af618: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af61c: edd3 7a00 vldr s15, [r3] 80af620: ee77 7a27 vadd.f32 s15, s14, s15 80af624: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = pEnd1[0] - pEnd3[0]; 80af628: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af62c: ed93 7a00 vldr s14, [r3] 80af630: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af634: edd3 7a00 vldr s15, [r3] 80af638: ee77 7a67 vsub.f32 s15, s14, s15 80af63c: edc7 7a17 vstr s15, [r7, #92] ; 0x5c // col 2 t2[2] = pEnd2[0] - pEnd4[0] + p1sp3_1; 80af640: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af644: ed93 7a00 vldr s14, [r3] 80af648: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80af64c: edd3 7a00 vldr s15, [r3] 80af650: ee37 7a67 vsub.f32 s14, s14, s15 80af654: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80af658: ee77 7a27 vadd.f32 s15, s14, s15 80af65c: edc7 7a0d vstr s15, [r7, #52] ; 0x34 t2[3] = pEnd1[0] - pEnd3[0] - pEnd2[-1] + pEnd4[-1]; 80af660: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af664: ed93 7a00 vldr s14, [r3] 80af668: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af66c: edd3 7a00 vldr s15, [r3] 80af670: ee37 7a67 vsub.f32 s14, s14, s15 80af674: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af678: 3b04 subs r3, #4 80af67a: edd3 7a00 vldr s15, [r3] 80af67e: ee37 7a67 vsub.f32 s14, s14, s15 80af682: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80af686: 3b04 subs r3, #4 80af688: edd3 7a00 vldr s15, [r3] 80af68c: ee77 7a27 vadd.f32 s15, s14, s15 80af690: edc7 7a0e vstr s15, [r7, #56] ; 0x38 // col 3 t3[2] = p1ap3_1 - pEnd2[-1] - pEnd4[-1]; 80af694: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af698: 3b04 subs r3, #4 80af69a: edd3 7a00 vldr s15, [r3] 80af69e: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80af6a2: ee37 7a67 vsub.f32 s14, s14, s15 80af6a6: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80af6aa: 3b04 subs r3, #4 80af6ac: edd3 7a00 vldr s15, [r3] 80af6b0: ee77 7a67 vsub.f32 s15, s14, s15 80af6b4: edc7 7a09 vstr s15, [r7, #36] ; 0x24 t3[3] = p1ap3_0 - pEnd2[0] - pEnd4[0]; 80af6b8: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af6bc: edd3 7a00 vldr s15, [r3] 80af6c0: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80af6c4: ee37 7a67 vsub.f32 s14, s14, s15 80af6c8: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80af6cc: edd3 7a00 vldr s15, [r3] 80af6d0: ee77 7a67 vsub.f32 s15, s14, s15 80af6d4: edc7 7a0a vstr s15, [r7, #40] ; 0x28 // col 4 t4[2] = pEnd2[0] - pEnd4[0] - p1sp3_1; 80af6d8: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af6dc: ed93 7a00 vldr s14, [r3] 80af6e0: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80af6e4: edd3 7a00 vldr s15, [r3] 80af6e8: ee37 7a67 vsub.f32 s14, s14, s15 80af6ec: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80af6f0: ee77 7a67 vsub.f32 s15, s14, s15 80af6f4: edc7 7a05 vstr s15, [r7, #20] t4[3] = pEnd4[-1] - pEnd2[-1] - p1sp3_0; 80af6f8: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80af6fc: 3b04 subs r3, #4 80af6fe: ed93 7a00 vldr s14, [r3] 80af702: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af706: 3b04 subs r3, #4 80af708: edd3 7a00 vldr s15, [r3] 80af70c: ee37 7a67 vsub.f32 s14, s14, s15 80af710: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80af714: ee77 7a67 vsub.f32 s15, s14, s15 80af718: edc7 7a06 vstr s15, [r7, #24] // col 1 - Bottom *pEnd1-- = p1ap3_0 + pEnd2[0] + pEnd4[0]; 80af71c: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af720: 1f1a subs r2, r3, #4 80af722: f8c7 20ac str.w r2, [r7, #172] ; 0xac 80af726: f8d7 20a8 ldr.w r2, [r7, #168] ; 0xa8 80af72a: ed92 7a00 vldr s14, [r2] 80af72e: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80af732: ee37 7a27 vadd.f32 s14, s14, s15 80af736: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80af73a: edd2 7a00 vldr s15, [r2] 80af73e: ee77 7a27 vadd.f32 s15, s14, s15 80af742: edc3 7a00 vstr s15, [r3] *pEnd1-- = p1ap3_1 + pEnd2[-1] + pEnd4[-1]; 80af746: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80af74a: 1f1a subs r2, r3, #4 80af74c: f8c7 20ac str.w r2, [r7, #172] ; 0xac 80af750: f8d7 20a8 ldr.w r2, [r7, #168] ; 0xa8 80af754: 3a04 subs r2, #4 80af756: ed92 7a00 vldr s14, [r2] 80af75a: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80af75e: ee37 7a27 vadd.f32 s14, s14, s15 80af762: f8d7 20a0 ldr.w r2, [r7, #160] ; 0xa0 80af766: 3a04 subs r2, #4 80af768: edd2 7a00 vldr s15, [r2] 80af76c: ee77 7a27 vadd.f32 s15, s14, s15 80af770: edc3 7a00 vstr s15, [r3] // COL 2 // read twiddle factors twR = *tw2++; 80af774: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80af778: 1d1a adds r2, r3, #4 80af77a: f8c7 209c str.w r2, [r7, #156] ; 0x9c 80af77e: 681b ldr r3, [r3, #0] 80af780: 653b str r3, [r7, #80] ; 0x50 twI = *tw2++; 80af782: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80af786: 1d1a adds r2, r3, #4 80af788: f8c7 209c str.w r2, [r7, #156] ; 0x9c 80af78c: 681b ldr r3, [r3, #0] 80af78e: 64fb str r3, [r7, #76] ; 0x4c // multiply by twiddle factors // let Z1 = a + i(b), Z2 = c + i(d) // => Z1 * Z2 = (a*c - b*d) + i(b*c + a*d) // Top m0 = t2[0] * twR; 80af790: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80af794: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af798: ee67 7a27 vmul.f32 s15, s14, s15 80af79c: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t2[1] * twI; 80af7a0: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80af7a4: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af7a8: ee67 7a27 vmul.f32 s15, s14, s15 80af7ac: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t2[1] * twR; 80af7b0: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80af7b4: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af7b8: ee67 7a27 vmul.f32 s15, s14, s15 80af7bc: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t2[0] * twI; 80af7c0: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80af7c4: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af7c8: ee67 7a27 vmul.f32 s15, s14, s15 80af7cc: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p2++ = m0 + m1; 80af7d0: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af7d4: 1d1a adds r2, r3, #4 80af7d6: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80af7da: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80af7de: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80af7e2: ee77 7a27 vadd.f32 s15, s14, s15 80af7e6: edc3 7a00 vstr s15, [r3] *p2++ = m2 - m3; 80af7ea: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80af7ee: 1d1a adds r2, r3, #4 80af7f0: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80af7f4: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80af7f8: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80af7fc: ee77 7a67 vsub.f32 s15, s14, s15 80af800: edc3 7a00 vstr s15, [r3] // use vertical symmetry col 2 // 0.9997 - 0.0245i <==> 0.0245 - 0.9997i // Bottom m0 = t2[3] * twI; 80af804: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80af808: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af80c: ee67 7a27 vmul.f32 s15, s14, s15 80af810: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t2[2] * twR; 80af814: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80af818: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af81c: ee67 7a27 vmul.f32 s15, s14, s15 80af820: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t2[2] * twI; 80af824: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80af828: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af82c: ee67 7a27 vmul.f32 s15, s14, s15 80af830: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t2[3] * twR; 80af834: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80af838: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af83c: ee67 7a27 vmul.f32 s15, s14, s15 80af840: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *pEnd2-- = m0 - m1; 80af844: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af848: 1f1a subs r2, r3, #4 80af84a: f8c7 20a8 str.w r2, [r7, #168] ; 0xa8 80af84e: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80af852: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80af856: ee77 7a67 vsub.f32 s15, s14, s15 80af85a: edc3 7a00 vstr s15, [r3] *pEnd2-- = m2 + m3; 80af85e: f8d7 30a8 ldr.w r3, [r7, #168] ; 0xa8 80af862: 1f1a subs r2, r3, #4 80af864: f8c7 20a8 str.w r2, [r7, #168] ; 0xa8 80af868: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80af86c: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80af870: ee77 7a27 vadd.f32 s15, s14, s15 80af874: edc3 7a00 vstr s15, [r3] // COL 3 twR = tw3[0]; 80af878: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80af87c: 681b ldr r3, [r3, #0] 80af87e: 653b str r3, [r7, #80] ; 0x50 twI = tw3[1]; 80af880: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80af884: 685b ldr r3, [r3, #4] 80af886: 64fb str r3, [r7, #76] ; 0x4c tw3 += twMod3; 80af888: 6ebb ldr r3, [r7, #104] ; 0x68 80af88a: 009b lsls r3, r3, #2 80af88c: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 80af890: 4413 add r3, r2 80af892: f8c7 3098 str.w r3, [r7, #152] ; 0x98 // Top m0 = t3[0] * twR; 80af896: ed97 7a07 vldr s14, [r7, #28] 80af89a: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af89e: ee67 7a27 vmul.f32 s15, s14, s15 80af8a2: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t3[1] * twI; 80af8a6: ed97 7a08 vldr s14, [r7, #32] 80af8aa: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af8ae: ee67 7a27 vmul.f32 s15, s14, s15 80af8b2: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t3[1] * twR; 80af8b6: ed97 7a08 vldr s14, [r7, #32] 80af8ba: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af8be: ee67 7a27 vmul.f32 s15, s14, s15 80af8c2: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t3[0] * twI; 80af8c6: ed97 7a07 vldr s14, [r7, #28] 80af8ca: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af8ce: ee67 7a27 vmul.f32 s15, s14, s15 80af8d2: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p3++ = m0 + m1; 80af8d6: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af8da: 1d1a adds r2, r3, #4 80af8dc: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80af8e0: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80af8e4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80af8e8: ee77 7a27 vadd.f32 s15, s14, s15 80af8ec: edc3 7a00 vstr s15, [r3] *p3++ = m2 - m3; 80af8f0: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80af8f4: 1d1a adds r2, r3, #4 80af8f6: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80af8fa: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80af8fe: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80af902: ee77 7a67 vsub.f32 s15, s14, s15 80af906: edc3 7a00 vstr s15, [r3] // use vertical symmetry col 3 // 0.9988 - 0.0491i <==> -0.9988 - 0.0491i // Bottom m0 = -t3[3] * twR; 80af90a: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80af90e: eeb1 7a67 vneg.f32 s14, s15 80af912: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af916: ee67 7a27 vmul.f32 s15, s14, s15 80af91a: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t3[2] * twI; 80af91e: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80af922: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af926: ee67 7a27 vmul.f32 s15, s14, s15 80af92a: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t3[2] * twR; 80af92e: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80af932: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af936: ee67 7a27 vmul.f32 s15, s14, s15 80af93a: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t3[3] * twI; 80af93e: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80af942: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af946: ee67 7a27 vmul.f32 s15, s14, s15 80af94a: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *pEnd3-- = m0 - m1; 80af94e: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af952: 1f1a subs r2, r3, #4 80af954: f8c7 20a4 str.w r2, [r7, #164] ; 0xa4 80af958: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80af95c: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80af960: ee77 7a67 vsub.f32 s15, s14, s15 80af964: edc3 7a00 vstr s15, [r3] *pEnd3-- = m3 - m2; 80af968: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80af96c: 1f1a subs r2, r3, #4 80af96e: f8c7 20a4 str.w r2, [r7, #164] ; 0xa4 80af972: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80af976: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80af97a: ee77 7a67 vsub.f32 s15, s14, s15 80af97e: edc3 7a00 vstr s15, [r3] // COL 4 twR = tw4[0]; 80af982: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80af986: 681b ldr r3, [r3, #0] 80af988: 653b str r3, [r7, #80] ; 0x50 twI = tw4[1]; 80af98a: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80af98e: 685b ldr r3, [r3, #4] 80af990: 64fb str r3, [r7, #76] ; 0x4c tw4 += twMod4; 80af992: 6e7b ldr r3, [r7, #100] ; 0x64 80af994: 009b lsls r3, r3, #2 80af996: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80af99a: 4413 add r3, r2 80af99c: f8c7 3094 str.w r3, [r7, #148] ; 0x94 // Top m0 = t4[0] * twR; 80af9a0: ed97 7a03 vldr s14, [r7, #12] 80af9a4: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af9a8: ee67 7a27 vmul.f32 s15, s14, s15 80af9ac: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t4[1] * twI; 80af9b0: ed97 7a04 vldr s14, [r7, #16] 80af9b4: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af9b8: ee67 7a27 vmul.f32 s15, s14, s15 80af9bc: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t4[1] * twR; 80af9c0: ed97 7a04 vldr s14, [r7, #16] 80af9c4: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80af9c8: ee67 7a27 vmul.f32 s15, s14, s15 80af9cc: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t4[0] * twI; 80af9d0: ed97 7a03 vldr s14, [r7, #12] 80af9d4: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80af9d8: ee67 7a27 vmul.f32 s15, s14, s15 80af9dc: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p4++ = m0 + m1; 80af9e0: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af9e4: 1d1a adds r2, r3, #4 80af9e6: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80af9ea: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80af9ee: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80af9f2: ee77 7a27 vadd.f32 s15, s14, s15 80af9f6: edc3 7a00 vstr s15, [r3] *p4++ = m2 - m3; 80af9fa: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80af9fe: 1d1a adds r2, r3, #4 80afa00: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80afa04: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80afa08: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80afa0c: ee77 7a67 vsub.f32 s15, s14, s15 80afa10: edc3 7a00 vstr s15, [r3] // use vertical symmetry col 4 // 0.9973 - 0.0736i <==> -0.0736 + 0.9973i // Bottom m0 = t4[3] * twI; 80afa14: ed97 7a06 vldr s14, [r7, #24] 80afa18: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afa1c: ee67 7a27 vmul.f32 s15, s14, s15 80afa20: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t4[2] * twR; 80afa24: ed97 7a05 vldr s14, [r7, #20] 80afa28: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afa2c: ee67 7a27 vmul.f32 s15, s14, s15 80afa30: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t4[2] * twI; 80afa34: ed97 7a05 vldr s14, [r7, #20] 80afa38: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afa3c: ee67 7a27 vmul.f32 s15, s14, s15 80afa40: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t4[3] * twR; 80afa44: ed97 7a06 vldr s14, [r7, #24] 80afa48: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afa4c: ee67 7a27 vmul.f32 s15, s14, s15 80afa50: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *pEnd4-- = m0 - m1; 80afa54: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80afa58: 1f1a subs r2, r3, #4 80afa5a: f8c7 20a0 str.w r2, [r7, #160] ; 0xa0 80afa5e: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80afa62: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80afa66: ee77 7a67 vsub.f32 s15, s14, s15 80afa6a: edc3 7a00 vstr s15, [r3] *pEnd4-- = m2 + m3; 80afa6e: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80afa72: 1f1a subs r2, r3, #4 80afa74: f8c7 20a0 str.w r2, [r7, #160] ; 0xa0 80afa78: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80afa7c: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80afa80: ee77 7a27 vadd.f32 s15, s14, s15 80afa84: edc3 7a00 vstr s15, [r3] for (l = (L - 2) >> 1; l > 0; l-- ) 80afa88: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80afa8c: 3b01 subs r3, #1 80afa8e: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80afa92: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80afa96: 2b00 cmp r3, #0 80afa98: f47f ace0 bne.w 80af45c } //MIDDLE // Twiddle factors are // 1.0000 0.7071-0.7071i -1.0000i -0.7071-0.7071i p1ap3_0 = p1[0] + p3[0]; 80afa9c: 683b ldr r3, [r7, #0] 80afa9e: ed93 7a00 vldr s14, [r3] 80afaa2: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80afaa6: edd3 7a00 vldr s15, [r3] 80afaaa: ee77 7a27 vadd.f32 s15, s14, s15 80afaae: edc7 7a18 vstr s15, [r7, #96] ; 0x60 p1sp3_0 = p1[0] - p3[0]; 80afab2: 683b ldr r3, [r7, #0] 80afab4: ed93 7a00 vldr s14, [r3] 80afab8: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80afabc: edd3 7a00 vldr s15, [r3] 80afac0: ee77 7a67 vsub.f32 s15, s14, s15 80afac4: edc7 7a17 vstr s15, [r7, #92] ; 0x5c p1ap3_1 = p1[1] + p3[1]; 80afac8: 683b ldr r3, [r7, #0] 80afaca: 3304 adds r3, #4 80afacc: ed93 7a00 vldr s14, [r3] 80afad0: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80afad4: 3304 adds r3, #4 80afad6: edd3 7a00 vldr s15, [r3] 80afada: ee77 7a27 vadd.f32 s15, s14, s15 80afade: edc7 7a16 vstr s15, [r7, #88] ; 0x58 p1sp3_1 = p1[1] - p3[1]; 80afae2: 683b ldr r3, [r7, #0] 80afae4: 3304 adds r3, #4 80afae6: ed93 7a00 vldr s14, [r3] 80afaea: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80afaee: 3304 adds r3, #4 80afaf0: edd3 7a00 vldr s15, [r3] 80afaf4: ee77 7a67 vsub.f32 s15, s14, s15 80afaf8: edc7 7a15 vstr s15, [r7, #84] ; 0x54 // col 2 t2[0] = p1sp3_0 + p2[1] - p4[1]; 80afafc: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afb00: 3304 adds r3, #4 80afb02: ed93 7a00 vldr s14, [r3] 80afb06: edd7 7a17 vldr s15, [r7, #92] ; 0x5c 80afb0a: ee37 7a27 vadd.f32 s14, s14, s15 80afb0e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afb12: 3304 adds r3, #4 80afb14: edd3 7a00 vldr s15, [r3] 80afb18: ee77 7a67 vsub.f32 s15, s14, s15 80afb1c: edc7 7a0b vstr s15, [r7, #44] ; 0x2c t2[1] = p1sp3_1 - p2[0] + p4[0]; 80afb20: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afb24: edd3 7a00 vldr s15, [r3] 80afb28: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80afb2c: ee37 7a67 vsub.f32 s14, s14, s15 80afb30: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afb34: edd3 7a00 vldr s15, [r3] 80afb38: ee77 7a27 vadd.f32 s15, s14, s15 80afb3c: edc7 7a0c vstr s15, [r7, #48] ; 0x30 // col 3 t3[0] = p1ap3_0 - p2[0] - p4[0]; 80afb40: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afb44: edd3 7a00 vldr s15, [r3] 80afb48: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80afb4c: ee37 7a67 vsub.f32 s14, s14, s15 80afb50: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afb54: edd3 7a00 vldr s15, [r3] 80afb58: ee77 7a67 vsub.f32 s15, s14, s15 80afb5c: edc7 7a07 vstr s15, [r7, #28] t3[1] = p1ap3_1 - p2[1] - p4[1]; 80afb60: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afb64: 3304 adds r3, #4 80afb66: edd3 7a00 vldr s15, [r3] 80afb6a: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80afb6e: ee37 7a67 vsub.f32 s14, s14, s15 80afb72: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afb76: 3304 adds r3, #4 80afb78: edd3 7a00 vldr s15, [r3] 80afb7c: ee77 7a67 vsub.f32 s15, s14, s15 80afb80: edc7 7a08 vstr s15, [r7, #32] // col 4 t4[0] = p1sp3_0 - p2[1] + p4[1]; 80afb84: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afb88: 3304 adds r3, #4 80afb8a: edd3 7a00 vldr s15, [r3] 80afb8e: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80afb92: ee37 7a67 vsub.f32 s14, s14, s15 80afb96: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afb9a: 3304 adds r3, #4 80afb9c: edd3 7a00 vldr s15, [r3] 80afba0: ee77 7a27 vadd.f32 s15, s14, s15 80afba4: edc7 7a03 vstr s15, [r7, #12] t4[1] = p1sp3_1 + p2[0] - p4[0]; 80afba8: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afbac: ed93 7a00 vldr s14, [r3] 80afbb0: edd7 7a15 vldr s15, [r7, #84] ; 0x54 80afbb4: ee37 7a27 vadd.f32 s14, s14, s15 80afbb8: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afbbc: edd3 7a00 vldr s15, [r3] 80afbc0: ee77 7a67 vsub.f32 s15, s14, s15 80afbc4: edc7 7a04 vstr s15, [r7, #16] // col 1 - Top *p1++ = p1ap3_0 + p2[0] + p4[0]; 80afbc8: 683b ldr r3, [r7, #0] 80afbca: 1d1a adds r2, r3, #4 80afbcc: 603a str r2, [r7, #0] 80afbce: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80afbd2: ed92 7a00 vldr s14, [r2] 80afbd6: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80afbda: ee37 7a27 vadd.f32 s14, s14, s15 80afbde: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80afbe2: edd2 7a00 vldr s15, [r2] 80afbe6: ee77 7a27 vadd.f32 s15, s14, s15 80afbea: edc3 7a00 vstr s15, [r3] *p1++ = p1ap3_1 + p2[1] + p4[1]; 80afbee: 683b ldr r3, [r7, #0] 80afbf0: 1d1a adds r2, r3, #4 80afbf2: 603a str r2, [r7, #0] 80afbf4: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80afbf8: 3204 adds r2, #4 80afbfa: ed92 7a00 vldr s14, [r2] 80afbfe: edd7 7a16 vldr s15, [r7, #88] ; 0x58 80afc02: ee37 7a27 vadd.f32 s14, s14, s15 80afc06: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80afc0a: 3204 adds r2, #4 80afc0c: edd2 7a00 vldr s15, [r2] 80afc10: ee77 7a27 vadd.f32 s15, s14, s15 80afc14: edc3 7a00 vstr s15, [r3] // COL 2 twR = tw2[0]; 80afc18: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80afc1c: 681b ldr r3, [r3, #0] 80afc1e: 653b str r3, [r7, #80] ; 0x50 twI = tw2[1]; 80afc20: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80afc24: 685b ldr r3, [r3, #4] 80afc26: 64fb str r3, [r7, #76] ; 0x4c m0 = t2[0] * twR; 80afc28: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80afc2c: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afc30: ee67 7a27 vmul.f32 s15, s14, s15 80afc34: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t2[1] * twI; 80afc38: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80afc3c: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afc40: ee67 7a27 vmul.f32 s15, s14, s15 80afc44: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t2[1] * twR; 80afc48: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80afc4c: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afc50: ee67 7a27 vmul.f32 s15, s14, s15 80afc54: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t2[0] * twI; 80afc58: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80afc5c: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afc60: ee67 7a27 vmul.f32 s15, s14, s15 80afc64: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p2++ = m0 + m1; 80afc68: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afc6c: 1d1a adds r2, r3, #4 80afc6e: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80afc72: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80afc76: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80afc7a: ee77 7a27 vadd.f32 s15, s14, s15 80afc7e: edc3 7a00 vstr s15, [r3] *p2++ = m2 - m3; 80afc82: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80afc86: 1d1a adds r2, r3, #4 80afc88: f8c7 2090 str.w r2, [r7, #144] ; 0x90 80afc8c: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80afc90: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80afc94: ee77 7a67 vsub.f32 s15, s14, s15 80afc98: edc3 7a00 vstr s15, [r3] // COL 3 twR = tw3[0]; 80afc9c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80afca0: 681b ldr r3, [r3, #0] 80afca2: 653b str r3, [r7, #80] ; 0x50 twI = tw3[1]; 80afca4: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80afca8: 685b ldr r3, [r3, #4] 80afcaa: 64fb str r3, [r7, #76] ; 0x4c m0 = t3[0] * twR; 80afcac: ed97 7a07 vldr s14, [r7, #28] 80afcb0: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afcb4: ee67 7a27 vmul.f32 s15, s14, s15 80afcb8: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t3[1] * twI; 80afcbc: ed97 7a08 vldr s14, [r7, #32] 80afcc0: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afcc4: ee67 7a27 vmul.f32 s15, s14, s15 80afcc8: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t3[1] * twR; 80afccc: ed97 7a08 vldr s14, [r7, #32] 80afcd0: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afcd4: ee67 7a27 vmul.f32 s15, s14, s15 80afcd8: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t3[0] * twI; 80afcdc: ed97 7a07 vldr s14, [r7, #28] 80afce0: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afce4: ee67 7a27 vmul.f32 s15, s14, s15 80afce8: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p3++ = m0 + m1; 80afcec: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80afcf0: 1d1a adds r2, r3, #4 80afcf2: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80afcf6: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80afcfa: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80afcfe: ee77 7a27 vadd.f32 s15, s14, s15 80afd02: edc3 7a00 vstr s15, [r3] *p3++ = m2 - m3; 80afd06: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80afd0a: 1d1a adds r2, r3, #4 80afd0c: f8c7 208c str.w r2, [r7, #140] ; 0x8c 80afd10: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80afd14: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80afd18: ee77 7a67 vsub.f32 s15, s14, s15 80afd1c: edc3 7a00 vstr s15, [r3] // COL 4 twR = tw4[0]; 80afd20: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80afd24: 681b ldr r3, [r3, #0] 80afd26: 653b str r3, [r7, #80] ; 0x50 twI = tw4[1]; 80afd28: f8d7 3094 ldr.w r3, [r7, #148] ; 0x94 80afd2c: 685b ldr r3, [r3, #4] 80afd2e: 64fb str r3, [r7, #76] ; 0x4c m0 = t4[0] * twR; 80afd30: ed97 7a03 vldr s14, [r7, #12] 80afd34: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afd38: ee67 7a27 vmul.f32 s15, s14, s15 80afd3c: edc7 7a12 vstr s15, [r7, #72] ; 0x48 m1 = t4[1] * twI; 80afd40: ed97 7a04 vldr s14, [r7, #16] 80afd44: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afd48: ee67 7a27 vmul.f32 s15, s14, s15 80afd4c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 m2 = t4[1] * twR; 80afd50: ed97 7a04 vldr s14, [r7, #16] 80afd54: edd7 7a14 vldr s15, [r7, #80] ; 0x50 80afd58: ee67 7a27 vmul.f32 s15, s14, s15 80afd5c: edc7 7a10 vstr s15, [r7, #64] ; 0x40 m3 = t4[0] * twI; 80afd60: ed97 7a03 vldr s14, [r7, #12] 80afd64: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80afd68: ee67 7a27 vmul.f32 s15, s14, s15 80afd6c: edc7 7a0f vstr s15, [r7, #60] ; 0x3c *p4++ = m0 + m1; 80afd70: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afd74: 1d1a adds r2, r3, #4 80afd76: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80afd7a: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80afd7e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80afd82: ee77 7a27 vadd.f32 s15, s14, s15 80afd86: edc3 7a00 vstr s15, [r3] *p4++ = m2 - m3; 80afd8a: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80afd8e: 1d1a adds r2, r3, #4 80afd90: f8c7 2088 str.w r2, [r7, #136] ; 0x88 80afd94: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80afd98: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80afd9c: ee77 7a67 vsub.f32 s15, s14, s15 80afda0: edc3 7a00 vstr s15, [r3] // first col arm_radix8_butterfly_f32( pCol1, L, (float32_t *) S->pTwiddle, 4u); 80afda4: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80afda8: b299 uxth r1, r3 80afdaa: 687b ldr r3, [r7, #4] 80afdac: 685a ldr r2, [r3, #4] 80afdae: 2304 movs r3, #4 80afdb0: 6ff8 ldr r0, [r7, #124] ; 0x7c 80afdb2: f001 fbf9 bl 80b15a8 // second col arm_radix8_butterfly_f32( pCol2, L, (float32_t *) S->pTwiddle, 4u); 80afdb6: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80afdba: b299 uxth r1, r3 80afdbc: 687b ldr r3, [r7, #4] 80afdbe: 685a ldr r2, [r3, #4] 80afdc0: 2304 movs r3, #4 80afdc2: 6fb8 ldr r0, [r7, #120] ; 0x78 80afdc4: f001 fbf0 bl 80b15a8 // third col arm_radix8_butterfly_f32( pCol3, L, (float32_t *) S->pTwiddle, 4u); 80afdc8: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80afdcc: b299 uxth r1, r3 80afdce: 687b ldr r3, [r7, #4] 80afdd0: 685a ldr r2, [r3, #4] 80afdd2: 2304 movs r3, #4 80afdd4: 6f78 ldr r0, [r7, #116] ; 0x74 80afdd6: f001 fbe7 bl 80b15a8 // fourth col arm_radix8_butterfly_f32( pCol4, L, (float32_t *) S->pTwiddle, 4u); 80afdda: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80afdde: b299 uxth r1, r3 80afde0: 687b ldr r3, [r7, #4] 80afde2: 685a ldr r2, [r3, #4] 80afde4: 2304 movs r3, #4 80afde6: 6f38 ldr r0, [r7, #112] ; 0x70 80afde8: f001 fbde bl 80b15a8 } 80afdec: bf00 nop 80afdee: 37b0 adds r7, #176 ; 0xb0 80afdf0: 46bd mov sp, r7 80afdf2: bd80 pop {r7, pc} 080afdf4 : void arm_cfft_f32( const arm_cfft_instance_f32 * S, float32_t * p1, uint8_t ifftFlag, uint8_t bitReverseFlag) { 80afdf4: b580 push {r7, lr} 80afdf6: b088 sub sp, #32 80afdf8: af00 add r7, sp, #0 80afdfa: 60f8 str r0, [r7, #12] 80afdfc: 60b9 str r1, [r7, #8] 80afdfe: 4611 mov r1, r2 80afe00: 461a mov r2, r3 80afe02: 460b mov r3, r1 80afe04: 71fb strb r3, [r7, #7] 80afe06: 4613 mov r3, r2 80afe08: 71bb strb r3, [r7, #6] uint32_t L = S->fftLen, l; 80afe0a: 68fb ldr r3, [r7, #12] 80afe0c: 881b ldrh r3, [r3, #0] 80afe0e: 617b str r3, [r7, #20] float32_t invL, * pSrc; if(ifftFlag == 1u) 80afe10: 79fb ldrb r3, [r7, #7] 80afe12: 2b01 cmp r3, #1 80afe14: d117 bne.n 80afe46 { /* Conjugate input data */ pSrc = p1 + 1; 80afe16: 68bb ldr r3, [r7, #8] 80afe18: 3304 adds r3, #4 80afe1a: 61bb str r3, [r7, #24] for(l=0; l { *pSrc = -*pSrc; 80afe22: 69bb ldr r3, [r7, #24] 80afe24: edd3 7a00 vldr s15, [r3] 80afe28: eef1 7a67 vneg.f32 s15, s15 80afe2c: 69bb ldr r3, [r7, #24] 80afe2e: edc3 7a00 vstr s15, [r3] pSrc += 2; 80afe32: 69bb ldr r3, [r7, #24] 80afe34: 3308 adds r3, #8 80afe36: 61bb str r3, [r7, #24] for(l=0; l } } switch (L) 80afe46: 697b ldr r3, [r7, #20] 80afe48: f5b3 7f80 cmp.w r3, #256 ; 0x100 80afe4c: d024 beq.n 80afe98 80afe4e: f5b3 7f80 cmp.w r3, #256 ; 0x100 80afe52: d80b bhi.n 80afe6c 80afe54: 2b20 cmp r3, #32 80afe56: d01f beq.n 80afe98 80afe58: 2b20 cmp r3, #32 80afe5a: d802 bhi.n 80afe62 80afe5c: 2b10 cmp r3, #16 80afe5e: d016 beq.n 80afe8e 80afe60: e028 b.n 80afeb4 80afe62: 2b40 cmp r3, #64 ; 0x40 80afe64: d01d beq.n 80afea2 80afe66: 2b80 cmp r3, #128 ; 0x80 80afe68: d011 beq.n 80afe8e 80afe6a: e023 b.n 80afeb4 80afe6c: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80afe70: d00d beq.n 80afe8e 80afe72: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80afe76: d803 bhi.n 80afe80 80afe78: f5b3 7f00 cmp.w r3, #512 ; 0x200 80afe7c: d011 beq.n 80afea2 80afe7e: e019 b.n 80afeb4 80afe80: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80afe84: d008 beq.n 80afe98 80afe86: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80afe8a: d00a beq.n 80afea2 80afe8c: e012 b.n 80afeb4 { case 16: case 128: case 1024: arm_cfft_radix8by2_f32 ( (arm_cfft_instance_f32 *) S, p1); 80afe8e: 68b9 ldr r1, [r7, #8] 80afe90: 68f8 ldr r0, [r7, #12] 80afe92: f7fe ff90 bl 80aedb6 break; 80afe96: e00d b.n 80afeb4 case 32: case 256: case 2048: arm_cfft_radix8by4_f32 ( (arm_cfft_instance_f32 *) S, p1); 80afe98: 68b9 ldr r1, [r7, #8] 80afe9a: 68f8 ldr r0, [r7, #12] 80afe9c: f7ff f97f bl 80af19e break; 80afea0: e008 b.n 80afeb4 case 64: case 512: case 4096: arm_radix8_butterfly_f32( p1, L, (float32_t *) S->pTwiddle, 1); 80afea2: 697b ldr r3, [r7, #20] 80afea4: b299 uxth r1, r3 80afea6: 68fb ldr r3, [r7, #12] 80afea8: 685a ldr r2, [r3, #4] 80afeaa: 2301 movs r3, #1 80afeac: 68b8 ldr r0, [r7, #8] 80afeae: f001 fb7b bl 80b15a8 break; 80afeb2: bf00 nop } if( bitReverseFlag ) 80afeb4: 79bb ldrb r3, [r7, #6] 80afeb6: 2b00 cmp r3, #0 80afeb8: d007 beq.n 80afeca arm_bitreversal_32((uint32_t*)p1,S->bitRevLength,S->pBitRevTable); 80afeba: 68fb ldr r3, [r7, #12] 80afebc: 8999 ldrh r1, [r3, #12] 80afebe: 68fb ldr r3, [r7, #12] 80afec0: 689b ldr r3, [r3, #8] 80afec2: 461a mov r2, r3 80afec4: 68b8 ldr r0, [r7, #8] 80afec6: f770 f9bb bl 8020240 if(ifftFlag == 1u) 80afeca: 79fb ldrb r3, [r7, #7] 80afecc: 2b01 cmp r3, #1 80afece: d130 bne.n 80aff32 { invL = 1.0f/(float32_t)L; 80afed0: 697b ldr r3, [r7, #20] 80afed2: ee07 3a90 vmov s15, r3 80afed6: eeb8 7a67 vcvt.f32.u32 s14, s15 80afeda: eef7 6a00 vmov.f32 s13, #112 ; 0x3f800000 1.0 80afede: eec6 7a87 vdiv.f32 s15, s13, s14 80afee2: edc7 7a04 vstr s15, [r7, #16] /* Conjugate and scale output data */ pSrc = p1; 80afee6: 68bb ldr r3, [r7, #8] 80afee8: 61bb str r3, [r7, #24] for(l=0; l { *pSrc++ *= invL ; 80afef0: 69bb ldr r3, [r7, #24] 80afef2: 1d1a adds r2, r3, #4 80afef4: 61ba str r2, [r7, #24] 80afef6: ed93 7a00 vldr s14, [r3] 80afefa: edd7 7a04 vldr s15, [r7, #16] 80afefe: ee67 7a27 vmul.f32 s15, s14, s15 80aff02: edc3 7a00 vstr s15, [r3] *pSrc = -(*pSrc) * invL; 80aff06: 69bb ldr r3, [r7, #24] 80aff08: edd3 7a00 vldr s15, [r3] 80aff0c: eeb1 7a67 vneg.f32 s14, s15 80aff10: edd7 7a04 vldr s15, [r7, #16] 80aff14: ee67 7a27 vmul.f32 s15, s14, s15 80aff18: 69bb ldr r3, [r7, #24] 80aff1a: edc3 7a00 vstr s15, [r3] pSrc++; 80aff1e: 69bb ldr r3, [r7, #24] 80aff20: 3304 adds r3, #4 80aff22: 61bb str r3, [r7, #24] for(l=0; l } } } 80aff32: bf00 nop 80aff34: 3720 adds r7, #32 80aff36: 46bd mov sp, r7 80aff38: bd80 pop {r7, pc} 080aff3a : void arm_radix4_butterfly_f32( float32_t * pSrc, uint16_t fftLen, float32_t * pCoef, uint16_t twidCoefModifier) { 80aff3a: b480 push {r7} 80aff3c: b0c1 sub sp, #260 ; 0x104 80aff3e: af00 add r7, sp, #0 80aff40: 60f8 str r0, [r7, #12] 80aff42: 607a str r2, [r7, #4] 80aff44: 461a mov r2, r3 80aff46: 460b mov r3, r1 80aff48: 817b strh r3, [r7, #10] 80aff4a: 4613 mov r3, r2 80aff4c: 813b strh r3, [r7, #8] float32_t *ptr1; float32_t p0,p1,p2,p3,p4,p5; float32_t a0,a1,a2,a3,a4,a5,a6,a7; /* Initializations for the first stage */ n2 = fftLen; 80aff4e: 897b ldrh r3, [r7, #10] 80aff50: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 n1 = n2; 80aff54: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80aff58: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 /* n2 = fftLen/4 */ n2 >>= 2u; 80aff5c: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80aff60: 089b lsrs r3, r3, #2 80aff62: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 i0 = 0u; 80aff66: 2300 movs r3, #0 80aff68: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 ia1 = 0u; 80aff6c: 2300 movs r3, #0 80aff6e: f8c7 30fc str.w r3, [r7, #252] ; 0xfc j = n2; 80aff72: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80aff76: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 /* Calculation of first stage */ do { /* index calculation for the input as, */ /* pSrc[i0 + 0], pSrc[i0 + fftLen/4], pSrc[i0 + fftLen/2], pSrc[i0 + 3fftLen/4] */ i1 = i0 + n2; 80aff7a: f8d7 20f8 ldr.w r2, [r7, #248] ; 0xf8 80aff7e: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80aff82: 4413 add r3, r2 80aff84: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 i2 = i1 + n2; 80aff88: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80aff8c: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80aff90: 4413 add r3, r2 80aff92: f8c7 30dc str.w r3, [r7, #220] ; 0xdc i3 = i2 + n2; 80aff96: f8d7 20dc ldr.w r2, [r7, #220] ; 0xdc 80aff9a: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80aff9e: 4413 add r3, r2 80affa0: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xaIn = pSrc[(2u * i0)]; 80affa4: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80affa8: 00db lsls r3, r3, #3 80affaa: 68fa ldr r2, [r7, #12] 80affac: 4413 add r3, r2 80affae: 681b ldr r3, [r3, #0] 80affb0: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 yaIn = pSrc[(2u * i0) + 1u]; 80affb4: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80affb8: 00db lsls r3, r3, #3 80affba: 3304 adds r3, #4 80affbc: 68fa ldr r2, [r7, #12] 80affbe: 4413 add r3, r2 80affc0: 681b ldr r3, [r3, #0] 80affc2: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = pSrc[(2u * i1)]; 80affc6: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80affca: 00db lsls r3, r3, #3 80affcc: 68fa ldr r2, [r7, #12] 80affce: 4413 add r3, r2 80affd0: 681b ldr r3, [r3, #0] 80affd2: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80affd6: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80affda: 00db lsls r3, r3, #3 80affdc: 3304 adds r3, #4 80affde: 68fa ldr r2, [r7, #12] 80affe0: 4413 add r3, r2 80affe2: 681b ldr r3, [r3, #0] 80affe4: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = pSrc[(2u * i2)]; 80affe8: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80affec: 00db lsls r3, r3, #3 80affee: 68fa ldr r2, [r7, #12] 80afff0: 4413 add r3, r2 80afff2: 681b ldr r3, [r3, #0] 80afff4: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ycIn = pSrc[(2u * i2) + 1u]; 80afff8: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80afffc: 00db lsls r3, r3, #3 80afffe: 3304 adds r3, #4 80b0000: 68fa ldr r2, [r7, #12] 80b0002: 4413 add r3, r2 80b0004: 681b ldr r3, [r3, #0] 80b0006: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 xdIn = pSrc[(2u * i3)]; 80b000a: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b000e: 00db lsls r3, r3, #3 80b0010: 68fa ldr r2, [r7, #12] 80b0012: 4413 add r3, r2 80b0014: 681b ldr r3, [r3, #0] 80b0016: f8c7 30bc str.w r3, [r7, #188] ; 0xbc ydIn = pSrc[(2u * i3) + 1u]; 80b001a: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b001e: 00db lsls r3, r3, #3 80b0020: 3304 adds r3, #4 80b0022: 68fa ldr r2, [r7, #12] 80b0024: 4413 add r3, r2 80b0026: 681b ldr r3, [r3, #0] 80b0028: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b002c: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b0030: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b0034: ee77 7a27 vadd.f32 s15, s14, s15 80b0038: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b003c: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0040: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b0044: ee77 7a27 vadd.f32 s15, s14, s15 80b0048: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b004c: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b0050: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b0054: ee77 7a27 vadd.f32 s15, s14, s15 80b0058: edc7 7a2b vstr s15, [r7, #172] ; 0xac /* yb + yd */ Ybplusd = ybIn + ydIn; 80b005c: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0060: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b0064: ee77 7a27 vadd.f32 s15, s14, s15 80b0068: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b006c: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b0070: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0074: 4413 add r3, r2 80b0076: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 co2 = pCoef[ia2 * 2u]; 80b007a: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b007e: 00db lsls r3, r3, #3 80b0080: 687a ldr r2, [r7, #4] 80b0082: 4413 add r3, r2 80b0084: 681b ldr r3, [r3, #0] 80b0086: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 si2 = pCoef[(ia2 * 2u) + 1u]; 80b008a: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b008e: 00db lsls r3, r3, #3 80b0090: 3304 adds r3, #4 80b0092: 687a ldr r2, [r7, #4] 80b0094: 4413 add r3, r2 80b0096: 681b ldr r3, [r3, #0] 80b0098: f8c7 309c str.w r3, [r7, #156] ; 0x9c /* xa - xc */ Xaminusc = xaIn - xcIn; 80b009c: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b00a0: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b00a4: ee77 7a67 vsub.f32 s15, s14, s15 80b00a8: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* xb - xd */ Xbminusd = xbIn - xdIn; 80b00ac: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b00b0: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b00b4: ee77 7a67 vsub.f32 s15, s14, s15 80b00b8: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* ya - yc */ Yaminusc = yaIn - ycIn; 80b00bc: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b00c0: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b00c4: ee77 7a67 vsub.f32 s15, s14, s15 80b00c8: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* yb - yd */ Ybminusd = ybIn - ydIn; 80b00cc: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b00d0: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b00d4: ee77 7a67 vsub.f32 s15, s14, s15 80b00d8: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa' = xa + xb + xc + xd */ pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b00dc: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b00e0: 00db lsls r3, r3, #3 80b00e2: 68fa ldr r2, [r7, #12] 80b00e4: 4413 add r3, r2 80b00e6: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b00ea: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b00ee: ee77 7a27 vadd.f32 s15, s14, s15 80b00f2: edc3 7a00 vstr s15, [r3] /* ya' = ya + yb + yc + yd */ pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b00f6: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b00fa: 00db lsls r3, r3, #3 80b00fc: 3304 adds r3, #4 80b00fe: 68fa ldr r2, [r7, #12] 80b0100: 4413 add r3, r2 80b0102: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b0106: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b010a: ee77 7a27 vadd.f32 s15, s14, s15 80b010e: edc3 7a00 vstr s15, [r3] /* (xa - xc) + (yb - yd) */ Xb12C_out = (Xaminusc + Ybminusd); 80b0112: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b0116: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b011a: ee77 7a27 vadd.f32 s15, s14, s15 80b011e: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya - yc) + (xb - xd) */ Yb12C_out = (Yaminusc - Xbminusd); 80b0122: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b0126: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b012a: ee77 7a67 vsub.f32 s15, s14, s15 80b012e: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* (xa + xc) - (xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b0132: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b0136: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b013a: ee77 7a67 vsub.f32 s15, s14, s15 80b013e: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b0142: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b0146: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b014a: ee77 7a67 vsub.f32 s15, s14, s15 80b014e: edc7 7a1f vstr s15, [r7, #124] ; 0x7c /* (xa - xc) - (yb - yd) */ Xd12C_out = (Xaminusc - Ybminusd); 80b0152: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b0156: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b015a: ee77 7a67 vsub.f32 s15, s14, s15 80b015e: edc7 7a1e vstr s15, [r7, #120] ; 0x78 /* (ya - yc) + (xb - xd) */ Yd12C_out = (Xbminusd + Yaminusc); 80b0162: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b0166: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b016a: ee77 7a27 vadd.f32 s15, s14, s15 80b016e: edc7 7a1d vstr s15, [r7, #116] ; 0x74 co1 = pCoef[ia1 * 2u]; 80b0172: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0176: 00db lsls r3, r3, #3 80b0178: 687a ldr r2, [r7, #4] 80b017a: 4413 add r3, r2 80b017c: 681b ldr r3, [r3, #0] 80b017e: 673b str r3, [r7, #112] ; 0x70 si1 = pCoef[(ia1 * 2u) + 1u]; 80b0180: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0184: 00db lsls r3, r3, #3 80b0186: 3304 adds r3, #4 80b0188: 687a ldr r2, [r7, #4] 80b018a: 4413 add r3, r2 80b018c: 681b ldr r3, [r3, #0] 80b018e: 66fb str r3, [r7, #108] ; 0x6c /* index calculation for the coefficients */ ia3 = ia2 + ia1; 80b0190: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 80b0194: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0198: 4413 add r3, r2 80b019a: 66bb str r3, [r7, #104] ; 0x68 co3 = pCoef[ia3 * 2u]; 80b019c: 6ebb ldr r3, [r7, #104] ; 0x68 80b019e: 00db lsls r3, r3, #3 80b01a0: 687a ldr r2, [r7, #4] 80b01a2: 4413 add r3, r2 80b01a4: 681b ldr r3, [r3, #0] 80b01a6: 667b str r3, [r7, #100] ; 0x64 si3 = pCoef[(ia3 * 2u) + 1u]; 80b01a8: 6ebb ldr r3, [r7, #104] ; 0x68 80b01aa: 00db lsls r3, r3, #3 80b01ac: 3304 adds r3, #4 80b01ae: 687a ldr r2, [r7, #4] 80b01b0: 4413 add r3, r2 80b01b2: 681b ldr r3, [r3, #0] 80b01b4: 663b str r3, [r7, #96] ; 0x60 Xb12_out = Xb12C_out * co1; 80b01b6: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b01ba: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b01be: ee67 7a27 vmul.f32 s15, s14, s15 80b01c2: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out = Yb12C_out * co1; 80b01c6: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b01ca: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b01ce: ee67 7a27 vmul.f32 s15, s14, s15 80b01d2: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out = Xc12C_out * co2; 80b01d6: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b01da: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b01de: ee67 7a27 vmul.f32 s15, s14, s15 80b01e2: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out = Yc12C_out * co2; 80b01e6: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b01ea: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b01ee: ee67 7a27 vmul.f32 s15, s14, s15 80b01f2: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out = Xd12C_out * co3; 80b01f6: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b01fa: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b01fe: ee67 7a27 vmul.f32 s15, s14, s15 80b0202: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out = Yd12C_out * co3; 80b0206: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b020a: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b020e: ee67 7a27 vmul.f32 s15, s14, s15 80b0212: edc7 7a12 vstr s15, [r7, #72] ; 0x48 /* xb' = (xa+yb-xc-yd)co1 - (ya-xb-yc+xd)(si1) */ //Xb12_out -= Yb12C_out * si1; p0 = Yb12C_out * si1; 80b0216: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b021a: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b021e: ee67 7a27 vmul.f32 s15, s14, s15 80b0222: edc7 7a11 vstr s15, [r7, #68] ; 0x44 /* yb' = (ya-xb-yc+xd)co1 + (xa+yb-xc-yd)(si1) */ //Yb12_out += Xb12C_out * si1; p1 = Xb12C_out * si1; 80b0226: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b022a: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b022e: ee67 7a27 vmul.f32 s15, s14, s15 80b0232: edc7 7a10 vstr s15, [r7, #64] ; 0x40 /* xc' = (xa-xb+xc-xd)co2 - (ya-yb+yc-yd)(si2) */ //Xc12_out -= Yc12C_out * si2; p2 = Yc12C_out * si2; 80b0236: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b023a: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b023e: ee67 7a27 vmul.f32 s15, s14, s15 80b0242: edc7 7a0f vstr s15, [r7, #60] ; 0x3c /* yc' = (ya-yb+yc-yd)co2 + (xa-xb+xc-xd)(si2) */ //Yc12_out += Xc12C_out * si2; p3 = Xc12C_out * si2; 80b0246: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b024a: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b024e: ee67 7a27 vmul.f32 s15, s14, s15 80b0252: edc7 7a0e vstr s15, [r7, #56] ; 0x38 /* xd' = (xa-yb-xc+yd)co3 - (ya+xb-yc-xd)(si3) */ //Xd12_out -= Yd12C_out * si3; p4 = Yd12C_out * si3; 80b0256: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b025a: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b025e: ee67 7a27 vmul.f32 s15, s14, s15 80b0262: edc7 7a0d vstr s15, [r7, #52] ; 0x34 /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ //Yd12_out += Xd12C_out * si3; p5 = Xd12C_out * si3; 80b0266: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b026a: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b026e: ee67 7a27 vmul.f32 s15, s14, s15 80b0272: edc7 7a0c vstr s15, [r7, #48] ; 0x30 Xb12_out += p0; 80b0276: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b027a: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b027e: ee77 7a27 vadd.f32 s15, s14, s15 80b0282: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out -= p1; 80b0286: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b028a: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b028e: ee77 7a67 vsub.f32 s15, s14, s15 80b0292: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out += p2; 80b0296: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b029a: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b029e: ee77 7a27 vadd.f32 s15, s14, s15 80b02a2: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out -= p3; 80b02a6: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b02aa: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b02ae: ee77 7a67 vsub.f32 s15, s14, s15 80b02b2: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out += p4; 80b02b6: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b02ba: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b02be: ee77 7a27 vadd.f32 s15, s14, s15 80b02c2: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out -= p5; 80b02c6: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b02ca: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b02ce: ee77 7a67 vsub.f32 s15, s14, s15 80b02d2: edc7 7a12 vstr s15, [r7, #72] ; 0x48 /* xc' = (xa-xb+xc-xd)co2 + (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b02d6: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b02da: 00db lsls r3, r3, #3 80b02dc: 68fa ldr r2, [r7, #12] 80b02de: 4413 add r3, r2 80b02e0: 6d7a ldr r2, [r7, #84] ; 0x54 80b02e2: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 - (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b02e4: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b02e8: 00db lsls r3, r3, #3 80b02ea: 3304 adds r3, #4 80b02ec: 68fa ldr r2, [r7, #12] 80b02ee: 4413 add r3, r2 80b02f0: 6d3a ldr r2, [r7, #80] ; 0x50 80b02f2: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 + (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b02f4: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b02f8: 00db lsls r3, r3, #3 80b02fa: 68fa ldr r2, [r7, #12] 80b02fc: 4413 add r3, r2 80b02fe: 6dfa ldr r2, [r7, #92] ; 0x5c 80b0300: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 - (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b0302: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b0306: 00db lsls r3, r3, #3 80b0308: 3304 adds r3, #4 80b030a: 68fa ldr r2, [r7, #12] 80b030c: 4413 add r3, r2 80b030e: 6dba ldr r2, [r7, #88] ; 0x58 80b0310: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 + (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b0312: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b0316: 00db lsls r3, r3, #3 80b0318: 68fa ldr r2, [r7, #12] 80b031a: 4413 add r3, r2 80b031c: 6cfa ldr r2, [r7, #76] ; 0x4c 80b031e: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 - (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b0320: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b0324: 00db lsls r3, r3, #3 80b0326: 3304 adds r3, #4 80b0328: 68fa ldr r2, [r7, #12] 80b032a: 4413 add r3, r2 80b032c: 6cba ldr r2, [r7, #72] ; 0x48 80b032e: 601a str r2, [r3, #0] /* Twiddle coefficients index modifier */ ia1 += twidCoefModifier; 80b0330: 893b ldrh r3, [r7, #8] 80b0332: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b0336: 4413 add r3, r2 80b0338: f8c7 30fc str.w r3, [r7, #252] ; 0xfc /* Updating input index */ i0++; 80b033c: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0340: 3301 adds r3, #1 80b0342: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 } while(--j); 80b0346: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b034a: 3b01 subs r3, #1 80b034c: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 80b0350: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b0354: 2b00 cmp r3, #0 80b0356: f47f ae10 bne.w 80aff7a twidCoefModifier <<= 2u; 80b035a: 893b ldrh r3, [r7, #8] 80b035c: 009b lsls r3, r3, #2 80b035e: 813b strh r3, [r7, #8] /* Calculation of second stage to excluding last stage */ for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b0360: 897b ldrh r3, [r7, #10] 80b0362: 089b lsrs r3, r3, #2 80b0364: b29b uxth r3, r3 80b0366: f8c7 30ec str.w r3, [r7, #236] ; 0xec 80b036a: e215 b.n 80b0798 { /* Initializations for the first stage */ n1 = n2; 80b036c: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b0370: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 n2 >>= 2u; 80b0374: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b0378: 089b lsrs r3, r3, #2 80b037a: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 ia1 = 0u; 80b037e: 2300 movs r3, #0 80b0380: f8c7 30fc str.w r3, [r7, #252] ; 0xfc /* Calculation of first stage */ j = 0; 80b0384: 2300 movs r3, #0 80b0386: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 do { /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b038a: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b038e: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0392: 4413 add r3, r2 80b0394: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 ia3 = ia2 + ia1; 80b0398: f8d7 20a4 ldr.w r2, [r7, #164] ; 0xa4 80b039c: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b03a0: 4413 add r3, r2 80b03a2: 66bb str r3, [r7, #104] ; 0x68 co1 = pCoef[ia1 * 2u]; 80b03a4: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b03a8: 00db lsls r3, r3, #3 80b03aa: 687a ldr r2, [r7, #4] 80b03ac: 4413 add r3, r2 80b03ae: 681b ldr r3, [r3, #0] 80b03b0: 673b str r3, [r7, #112] ; 0x70 si1 = pCoef[(ia1 * 2u) + 1u]; 80b03b2: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b03b6: 00db lsls r3, r3, #3 80b03b8: 3304 adds r3, #4 80b03ba: 687a ldr r2, [r7, #4] 80b03bc: 4413 add r3, r2 80b03be: 681b ldr r3, [r3, #0] 80b03c0: 66fb str r3, [r7, #108] ; 0x6c co2 = pCoef[ia2 * 2u]; 80b03c2: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b03c6: 00db lsls r3, r3, #3 80b03c8: 687a ldr r2, [r7, #4] 80b03ca: 4413 add r3, r2 80b03cc: 681b ldr r3, [r3, #0] 80b03ce: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 si2 = pCoef[(ia2 * 2u) + 1u]; 80b03d2: f8d7 30a4 ldr.w r3, [r7, #164] ; 0xa4 80b03d6: 00db lsls r3, r3, #3 80b03d8: 3304 adds r3, #4 80b03da: 687a ldr r2, [r7, #4] 80b03dc: 4413 add r3, r2 80b03de: 681b ldr r3, [r3, #0] 80b03e0: f8c7 309c str.w r3, [r7, #156] ; 0x9c co3 = pCoef[ia3 * 2u]; 80b03e4: 6ebb ldr r3, [r7, #104] ; 0x68 80b03e6: 00db lsls r3, r3, #3 80b03e8: 687a ldr r2, [r7, #4] 80b03ea: 4413 add r3, r2 80b03ec: 681b ldr r3, [r3, #0] 80b03ee: 667b str r3, [r7, #100] ; 0x64 si3 = pCoef[(ia3 * 2u) + 1u]; 80b03f0: 6ebb ldr r3, [r7, #104] ; 0x68 80b03f2: 00db lsls r3, r3, #3 80b03f4: 3304 adds r3, #4 80b03f6: 687a ldr r2, [r7, #4] 80b03f8: 4413 add r3, r2 80b03fa: 681b ldr r3, [r3, #0] 80b03fc: 663b str r3, [r7, #96] ; 0x60 /* Twiddle coefficients index modifier */ ia1 += twidCoefModifier; 80b03fe: 893b ldrh r3, [r7, #8] 80b0400: f8d7 20fc ldr.w r2, [r7, #252] ; 0xfc 80b0404: 4413 add r3, r2 80b0406: f8c7 30fc str.w r3, [r7, #252] ; 0xfc i0 = j; 80b040a: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b040e: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 do { /* index calculation for the input as, */ /* pSrc[i0 + 0], pSrc[i0 + fftLen/4], pSrc[i0 + fftLen/2], pSrc[i0 + 3fftLen/4] */ i1 = i0 + n2; 80b0412: f8d7 20f8 ldr.w r2, [r7, #248] ; 0xf8 80b0416: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b041a: 4413 add r3, r2 80b041c: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 i2 = i1 + n2; 80b0420: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80b0424: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b0428: 4413 add r3, r2 80b042a: f8c7 30dc str.w r3, [r7, #220] ; 0xdc i3 = i2 + n2; 80b042e: f8d7 20dc ldr.w r2, [r7, #220] ; 0xdc 80b0432: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b0436: 4413 add r3, r2 80b0438: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xaIn = pSrc[(2u * i0)]; 80b043c: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0440: 00db lsls r3, r3, #3 80b0442: 68fa ldr r2, [r7, #12] 80b0444: 4413 add r3, r2 80b0446: 681b ldr r3, [r3, #0] 80b0448: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 yaIn = pSrc[(2u * i0) + 1u]; 80b044c: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0450: 00db lsls r3, r3, #3 80b0452: 3304 adds r3, #4 80b0454: 68fa ldr r2, [r7, #12] 80b0456: 4413 add r3, r2 80b0458: 681b ldr r3, [r3, #0] 80b045a: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = pSrc[(2u * i1)]; 80b045e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0462: 00db lsls r3, r3, #3 80b0464: 68fa ldr r2, [r7, #12] 80b0466: 4413 add r3, r2 80b0468: 681b ldr r3, [r3, #0] 80b046a: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b046e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0472: 00db lsls r3, r3, #3 80b0474: 3304 adds r3, #4 80b0476: 68fa ldr r2, [r7, #12] 80b0478: 4413 add r3, r2 80b047a: 681b ldr r3, [r3, #0] 80b047c: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = pSrc[(2u * i2)]; 80b0480: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b0484: 00db lsls r3, r3, #3 80b0486: 68fa ldr r2, [r7, #12] 80b0488: 4413 add r3, r2 80b048a: 681b ldr r3, [r3, #0] 80b048c: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ycIn = pSrc[(2u * i2) + 1u]; 80b0490: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b0494: 00db lsls r3, r3, #3 80b0496: 3304 adds r3, #4 80b0498: 68fa ldr r2, [r7, #12] 80b049a: 4413 add r3, r2 80b049c: 681b ldr r3, [r3, #0] 80b049e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 xdIn = pSrc[(2u * i3)]; 80b04a2: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b04a6: 00db lsls r3, r3, #3 80b04a8: 68fa ldr r2, [r7, #12] 80b04aa: 4413 add r3, r2 80b04ac: 681b ldr r3, [r3, #0] 80b04ae: f8c7 30bc str.w r3, [r7, #188] ; 0xbc ydIn = pSrc[(2u * i3) + 1u]; 80b04b2: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b04b6: 00db lsls r3, r3, #3 80b04b8: 3304 adds r3, #4 80b04ba: 68fa ldr r2, [r7, #12] 80b04bc: 4413 add r3, r2 80b04be: 681b ldr r3, [r3, #0] 80b04c0: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b04c4: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b04c8: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b04cc: ee77 7a67 vsub.f32 s15, s14, s15 80b04d0: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* (xb - xd) */ Xbminusd = xbIn - xdIn; 80b04d4: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b04d8: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b04dc: ee77 7a67 vsub.f32 s15, s14, s15 80b04e0: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* ya - yc */ Yaminusc = yaIn - ycIn; 80b04e4: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b04e8: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b04ec: ee77 7a67 vsub.f32 s15, s14, s15 80b04f0: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* (yb - yd) */ Ybminusd = ybIn - ydIn; 80b04f4: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b04f8: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b04fc: ee77 7a67 vsub.f32 s15, s14, s15 80b0500: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa + xc */ Xaplusc = xaIn + xcIn; 80b0504: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b0508: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b050c: ee77 7a27 vadd.f32 s15, s14, s15 80b0510: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b0514: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0518: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b051c: ee77 7a27 vadd.f32 s15, s14, s15 80b0520: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b0524: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b0528: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b052c: ee77 7a27 vadd.f32 s15, s14, s15 80b0530: edc7 7a2b vstr s15, [r7, #172] ; 0xac /* yb + yd */ Ybplusd = ybIn + ydIn; 80b0534: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0538: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b053c: ee77 7a27 vadd.f32 s15, s14, s15 80b0540: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 /* (xa - xc) + (yb - yd) */ Xb12C_out = (Xaminusc + Ybminusd); 80b0544: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b0548: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b054c: ee77 7a27 vadd.f32 s15, s14, s15 80b0550: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya - yc) - (xb - xd) */ Yb12C_out = (Yaminusc - Xbminusd); 80b0554: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b0558: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b055c: ee77 7a67 vsub.f32 s15, s14, s15 80b0560: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* xa + xc -(xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b0564: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b0568: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b056c: ee77 7a67 vsub.f32 s15, s14, s15 80b0570: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b0574: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b0578: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b057c: ee77 7a67 vsub.f32 s15, s14, s15 80b0580: edc7 7a1f vstr s15, [r7, #124] ; 0x7c /* (xa - xc) - (yb - yd) */ Xd12C_out = (Xaminusc - Ybminusd); 80b0584: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b0588: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b058c: ee77 7a67 vsub.f32 s15, s14, s15 80b0590: edc7 7a1e vstr s15, [r7, #120] ; 0x78 /* (ya - yc) + (xb - xd) */ Yd12C_out = (Xbminusd + Yaminusc); 80b0594: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b0598: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b059c: ee77 7a27 vadd.f32 s15, s14, s15 80b05a0: edc7 7a1d vstr s15, [r7, #116] ; 0x74 pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b05a4: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b05a8: 00db lsls r3, r3, #3 80b05aa: 68fa ldr r2, [r7, #12] 80b05ac: 4413 add r3, r2 80b05ae: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b05b2: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b05b6: ee77 7a27 vadd.f32 s15, s14, s15 80b05ba: edc3 7a00 vstr s15, [r3] pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b05be: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b05c2: 00db lsls r3, r3, #3 80b05c4: 3304 adds r3, #4 80b05c6: 68fa ldr r2, [r7, #12] 80b05c8: 4413 add r3, r2 80b05ca: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b05ce: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b05d2: ee77 7a27 vadd.f32 s15, s14, s15 80b05d6: edc3 7a00 vstr s15, [r3] Xb12_out = Xb12C_out * co1; 80b05da: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b05de: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b05e2: ee67 7a27 vmul.f32 s15, s14, s15 80b05e6: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out = Yb12C_out * co1; 80b05ea: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b05ee: edd7 7a1c vldr s15, [r7, #112] ; 0x70 80b05f2: ee67 7a27 vmul.f32 s15, s14, s15 80b05f6: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out = Xc12C_out * co2; 80b05fa: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b05fe: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b0602: ee67 7a27 vmul.f32 s15, s14, s15 80b0606: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out = Yc12C_out * co2; 80b060a: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b060e: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b0612: ee67 7a27 vmul.f32 s15, s14, s15 80b0616: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out = Xd12C_out * co3; 80b061a: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b061e: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b0622: ee67 7a27 vmul.f32 s15, s14, s15 80b0626: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out = Yd12C_out * co3; 80b062a: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b062e: edd7 7a19 vldr s15, [r7, #100] ; 0x64 80b0632: ee67 7a27 vmul.f32 s15, s14, s15 80b0636: edc7 7a12 vstr s15, [r7, #72] ; 0x48 /* xb' = (xa+yb-xc-yd)co1 - (ya-xb-yc+xd)(si1) */ //Xb12_out -= Yb12C_out * si1; p0 = Yb12C_out * si1; 80b063a: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b063e: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b0642: ee67 7a27 vmul.f32 s15, s14, s15 80b0646: edc7 7a11 vstr s15, [r7, #68] ; 0x44 /* yb' = (ya-xb-yc+xd)co1 + (xa+yb-xc-yd)(si1) */ //Yb12_out += Xb12C_out * si1; p1 = Xb12C_out * si1; 80b064a: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b064e: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b0652: ee67 7a27 vmul.f32 s15, s14, s15 80b0656: edc7 7a10 vstr s15, [r7, #64] ; 0x40 /* xc' = (xa-xb+xc-xd)co2 - (ya-yb+yc-yd)(si2) */ //Xc12_out -= Yc12C_out * si2; p2 = Yc12C_out * si2; 80b065a: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b065e: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b0662: ee67 7a27 vmul.f32 s15, s14, s15 80b0666: edc7 7a0f vstr s15, [r7, #60] ; 0x3c /* yc' = (ya-yb+yc-yd)co2 + (xa-xb+xc-xd)(si2) */ //Yc12_out += Xc12C_out * si2; p3 = Xc12C_out * si2; 80b066a: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b066e: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b0672: ee67 7a27 vmul.f32 s15, s14, s15 80b0676: edc7 7a0e vstr s15, [r7, #56] ; 0x38 /* xd' = (xa-yb-xc+yd)co3 - (ya+xb-yc-xd)(si3) */ //Xd12_out -= Yd12C_out * si3; p4 = Yd12C_out * si3; 80b067a: ed97 7a1d vldr s14, [r7, #116] ; 0x74 80b067e: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b0682: ee67 7a27 vmul.f32 s15, s14, s15 80b0686: edc7 7a0d vstr s15, [r7, #52] ; 0x34 /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ //Yd12_out += Xd12C_out * si3; p5 = Xd12C_out * si3; 80b068a: ed97 7a1e vldr s14, [r7, #120] ; 0x78 80b068e: edd7 7a18 vldr s15, [r7, #96] ; 0x60 80b0692: ee67 7a27 vmul.f32 s15, s14, s15 80b0696: edc7 7a0c vstr s15, [r7, #48] ; 0x30 Xb12_out += p0; 80b069a: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b069e: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b06a2: ee77 7a27 vadd.f32 s15, s14, s15 80b06a6: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yb12_out -= p1; 80b06aa: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b06ae: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b06b2: ee77 7a67 vsub.f32 s15, s14, s15 80b06b6: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xc12_out += p2; 80b06ba: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b06be: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b06c2: ee77 7a27 vadd.f32 s15, s14, s15 80b06c6: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yc12_out -= p3; 80b06ca: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b06ce: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b06d2: ee77 7a67 vsub.f32 s15, s14, s15 80b06d6: edc7 7a14 vstr s15, [r7, #80] ; 0x50 Xd12_out += p4; 80b06da: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b06de: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b06e2: ee77 7a27 vadd.f32 s15, s14, s15 80b06e6: edc7 7a13 vstr s15, [r7, #76] ; 0x4c Yd12_out -= p5; 80b06ea: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b06ee: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b06f2: ee77 7a67 vsub.f32 s15, s14, s15 80b06f6: edc7 7a12 vstr s15, [r7, #72] ; 0x48 /* xc' = (xa-xb+xc-xd)co2 + (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b06fa: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b06fe: 00db lsls r3, r3, #3 80b0700: 68fa ldr r2, [r7, #12] 80b0702: 4413 add r3, r2 80b0704: 6d7a ldr r2, [r7, #84] ; 0x54 80b0706: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 - (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b0708: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b070c: 00db lsls r3, r3, #3 80b070e: 3304 adds r3, #4 80b0710: 68fa ldr r2, [r7, #12] 80b0712: 4413 add r3, r2 80b0714: 6d3a ldr r2, [r7, #80] ; 0x50 80b0716: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 + (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b0718: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b071c: 00db lsls r3, r3, #3 80b071e: 68fa ldr r2, [r7, #12] 80b0720: 4413 add r3, r2 80b0722: 6dfa ldr r2, [r7, #92] ; 0x5c 80b0724: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 - (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b0726: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80b072a: 00db lsls r3, r3, #3 80b072c: 3304 adds r3, #4 80b072e: 68fa ldr r2, [r7, #12] 80b0730: 4413 add r3, r2 80b0732: 6dba ldr r2, [r7, #88] ; 0x58 80b0734: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 + (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b0736: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b073a: 00db lsls r3, r3, #3 80b073c: 68fa ldr r2, [r7, #12] 80b073e: 4413 add r3, r2 80b0740: 6cfa ldr r2, [r7, #76] ; 0x4c 80b0742: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 - (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b0744: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b0748: 00db lsls r3, r3, #3 80b074a: 3304 adds r3, #4 80b074c: 68fa ldr r2, [r7, #12] 80b074e: 4413 add r3, r2 80b0750: 6cba ldr r2, [r7, #72] ; 0x48 80b0752: 601a str r2, [r3, #0] i0 += n1; 80b0754: f8d7 20f8 ldr.w r2, [r7, #248] ; 0xf8 80b0758: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b075c: 4413 add r3, r2 80b075e: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 } while(i0 < fftLen); 80b0762: 897a ldrh r2, [r7, #10] 80b0764: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0768: 429a cmp r2, r3 80b076a: f63f ae52 bhi.w 80b0412 j++; 80b076e: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b0772: 3301 adds r3, #1 80b0774: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 } while(j <= (n2 - 1u)); 80b0778: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b077c: 1e5a subs r2, r3, #1 80b077e: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b0782: 429a cmp r2, r3 80b0784: f4bf ae01 bcs.w 80b038a twidCoefModifier <<= 2u; 80b0788: 893b ldrh r3, [r7, #8] 80b078a: 009b lsls r3, r3, #2 80b078c: 813b strh r3, [r7, #8] for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b078e: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b0792: 089b lsrs r3, r3, #2 80b0794: f8c7 30ec str.w r3, [r7, #236] ; 0xec 80b0798: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b079c: 2b04 cmp r3, #4 80b079e: f63f ade5 bhi.w 80b036c } j = fftLen >> 2; 80b07a2: 897b ldrh r3, [r7, #10] 80b07a4: 089b lsrs r3, r3, #2 80b07a6: b29b uxth r3, r3 80b07a8: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 ptr1 = &pSrc[0]; 80b07ac: 68fb ldr r3, [r7, #12] 80b07ae: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 /* Calculations of last stage */ do { xaIn = ptr1[0]; 80b07b2: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b07b6: 681b ldr r3, [r3, #0] 80b07b8: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 yaIn = ptr1[1]; 80b07bc: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b07c0: 685b ldr r3, [r3, #4] 80b07c2: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = ptr1[2]; 80b07c6: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b07ca: 689b ldr r3, [r3, #8] 80b07cc: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = ptr1[3]; 80b07d0: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b07d4: 68db ldr r3, [r3, #12] 80b07d6: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = ptr1[4]; 80b07da: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b07de: 691b ldr r3, [r3, #16] 80b07e0: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ycIn = ptr1[5]; 80b07e4: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b07e8: 695b ldr r3, [r3, #20] 80b07ea: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 xdIn = ptr1[6]; 80b07ee: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b07f2: 699b ldr r3, [r3, #24] 80b07f4: f8c7 30bc str.w r3, [r7, #188] ; 0xbc ydIn = ptr1[7]; 80b07f8: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b07fc: 69db ldr r3, [r3, #28] 80b07fe: f8c7 30b8 str.w r3, [r7, #184] ; 0xb8 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b0802: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b0806: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b080a: ee77 7a27 vadd.f32 s15, s14, s15 80b080e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b0812: ed97 7a35 vldr s14, [r7, #212] ; 0xd4 80b0816: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b081a: ee77 7a67 vsub.f32 s15, s14, s15 80b081e: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b0822: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b0826: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b082a: ee77 7a27 vadd.f32 s15, s14, s15 80b082e: edc7 7a2b vstr s15, [r7, #172] ; 0xac /* ya - yc */ Yaminusc = yaIn - ycIn; 80b0832: ed97 7a34 vldr s14, [r7, #208] ; 0xd0 80b0836: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b083a: ee77 7a67 vsub.f32 s15, s14, s15 80b083e: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b0842: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0846: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b084a: ee77 7a27 vadd.f32 s15, s14, s15 80b084e: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b0852: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0856: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b085a: ee77 7a27 vadd.f32 s15, s14, s15 80b085e: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 /* (xb-xd) */ Xbminusd = xbIn - xdIn; 80b0862: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0866: edd7 7a2f vldr s15, [r7, #188] ; 0xbc 80b086a: ee77 7a67 vsub.f32 s15, s14, s15 80b086e: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* (yb-yd) */ Ybminusd = ybIn - ydIn; 80b0872: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0876: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b087a: ee77 7a67 vsub.f32 s15, s14, s15 80b087e: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa' = xa + xb + xc + xd */ a0 = (Xaplusc + Xbplusd); 80b0882: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b0886: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b088a: ee77 7a27 vadd.f32 s15, s14, s15 80b088e: edc7 7a0b vstr s15, [r7, #44] ; 0x2c /* ya' = ya + yb + yc + yd */ a1 = (Yaplusc + Ybplusd); 80b0892: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b0896: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b089a: ee77 7a27 vadd.f32 s15, s14, s15 80b089e: edc7 7a0a vstr s15, [r7, #40] ; 0x28 /* xc' = (xa-xb+xc-xd) */ a2 = (Xaplusc - Xbplusd); 80b08a2: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b08a6: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b08aa: ee77 7a67 vsub.f32 s15, s14, s15 80b08ae: edc7 7a09 vstr s15, [r7, #36] ; 0x24 /* yc' = (ya-yb+yc-yd) */ a3 = (Yaplusc - Ybplusd); 80b08b2: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b08b6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b08ba: ee77 7a67 vsub.f32 s15, s14, s15 80b08be: edc7 7a08 vstr s15, [r7, #32] /* xb' = (xa+yb-xc-yd) */ a4 = (Xaminusc + Ybminusd); 80b08c2: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b08c6: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b08ca: ee77 7a27 vadd.f32 s15, s14, s15 80b08ce: edc7 7a07 vstr s15, [r7, #28] /* yb' = (ya-xb-yc+xd) */ a5 = (Yaminusc - Xbminusd); 80b08d2: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b08d6: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b08da: ee77 7a67 vsub.f32 s15, s14, s15 80b08de: edc7 7a06 vstr s15, [r7, #24] /* xd' = (xa-yb-xc+yd)) */ a6 = (Xaminusc - Ybminusd); 80b08e2: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b08e6: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b08ea: ee77 7a67 vsub.f32 s15, s14, s15 80b08ee: edc7 7a05 vstr s15, [r7, #20] /* yd' = (ya+xb-yc-xd) */ a7 = (Xbminusd + Yaminusc); 80b08f2: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b08f6: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b08fa: ee77 7a27 vadd.f32 s15, s14, s15 80b08fe: edc7 7a04 vstr s15, [r7, #16] ptr1[0] = a0; 80b0902: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0906: 6afa ldr r2, [r7, #44] ; 0x2c 80b0908: 601a str r2, [r3, #0] ptr1[1] = a1; 80b090a: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b090e: 3304 adds r3, #4 80b0910: 6aba ldr r2, [r7, #40] ; 0x28 80b0912: 601a str r2, [r3, #0] ptr1[2] = a2; 80b0914: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0918: 3308 adds r3, #8 80b091a: 6a7a ldr r2, [r7, #36] ; 0x24 80b091c: 601a str r2, [r3, #0] ptr1[3] = a3; 80b091e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0922: 330c adds r3, #12 80b0924: 6a3a ldr r2, [r7, #32] 80b0926: 601a str r2, [r3, #0] ptr1[4] = a4; 80b0928: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b092c: 3310 adds r3, #16 80b092e: 69fa ldr r2, [r7, #28] 80b0930: 601a str r2, [r3, #0] ptr1[5] = a5; 80b0932: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0936: 3314 adds r3, #20 80b0938: 69ba ldr r2, [r7, #24] 80b093a: 601a str r2, [r3, #0] ptr1[6] = a6; 80b093c: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0940: 3318 adds r3, #24 80b0942: 697a ldr r2, [r7, #20] 80b0944: 601a str r2, [r3, #0] ptr1[7] = a7; 80b0946: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b094a: 331c adds r3, #28 80b094c: 693a ldr r2, [r7, #16] 80b094e: 601a str r2, [r3, #0] /* increment pointer by 8 */ ptr1 += 8u; 80b0950: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0954: 3320 adds r3, #32 80b0956: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 } while(--j); 80b095a: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b095e: 3b01 subs r3, #1 80b0960: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 80b0964: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b0968: 2b00 cmp r3, #0 80b096a: f47f af22 bne.w 80b07b2 twidCoefModifier <<= 2u; } #endif /* #ifndef ARM_MATH_CM0_FAMILY_FAMILY */ } 80b096e: bf00 nop 80b0970: f507 7782 add.w r7, r7, #260 ; 0x104 80b0974: 46bd mov sp, r7 80b0976: f85d 7b04 ldr.w r7, [sp], #4 80b097a: 4770 bx lr 080b097c : float32_t * pSrc, uint16_t fftLen, float32_t * pCoef, uint16_t twidCoefModifier, float32_t onebyfftLen) { 80b097c: b480 push {r7} 80b097e: b0c3 sub sp, #268 ; 0x10c 80b0980: af00 add r7, sp, #0 80b0982: 60f8 str r0, [r7, #12] 80b0984: 4608 mov r0, r1 80b0986: 1d39 adds r1, r7, #4 80b0988: 600a str r2, [r1, #0] 80b098a: 461a mov r2, r3 80b098c: 463b mov r3, r7 80b098e: ed83 0a00 vstr s0, [r3] 80b0992: 4603 mov r3, r0 80b0994: 817b strh r3, [r7, #10] 80b0996: f107 0308 add.w r3, r7, #8 80b099a: 801a strh r2, [r3, #0] float32_t p0,p1,p2,p3,p4,p5,p6,p7; float32_t a0,a1,a2,a3,a4,a5,a6,a7; /* Initializations for the first stage */ n2 = fftLen; 80b099c: 897b ldrh r3, [r7, #10] 80b099e: f8c7 30fc str.w r3, [r7, #252] ; 0xfc n1 = n2; 80b09a2: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b09a6: f8c7 30ec str.w r3, [r7, #236] ; 0xec /* n2 = fftLen/4 */ n2 >>= 2u; 80b09aa: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b09ae: 089b lsrs r3, r3, #2 80b09b0: f8c7 30fc str.w r3, [r7, #252] ; 0xfc i0 = 0u; 80b09b4: 2300 movs r3, #0 80b09b6: f8c7 3100 str.w r3, [r7, #256] ; 0x100 ia1 = 0u; 80b09ba: 2300 movs r3, #0 80b09bc: f8c7 3104 str.w r3, [r7, #260] ; 0x104 j = n2; 80b09c0: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b09c4: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 /* Calculation of first stage */ do { /* index calculation for the input as, */ /* pSrc[i0 + 0], pSrc[i0 + fftLen/4], pSrc[i0 + fftLen/2], pSrc[i0 + 3fftLen/4] */ i1 = i0 + n2; 80b09c8: f8d7 2100 ldr.w r2, [r7, #256] ; 0x100 80b09cc: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b09d0: 4413 add r3, r2 80b09d2: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 i2 = i1 + n2; 80b09d6: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b09da: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b09de: 4413 add r3, r2 80b09e0: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 i3 = i2 + n2; 80b09e4: f8d7 20e4 ldr.w r2, [r7, #228] ; 0xe4 80b09e8: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b09ec: 4413 add r3, r2 80b09ee: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 /* Butterfly implementation */ xaIn = pSrc[(2u * i0)]; 80b09f2: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b09f6: 00db lsls r3, r3, #3 80b09f8: 68fa ldr r2, [r7, #12] 80b09fa: 4413 add r3, r2 80b09fc: 681b ldr r3, [r3, #0] 80b09fe: f8c7 30dc str.w r3, [r7, #220] ; 0xdc yaIn = pSrc[(2u * i0) + 1u]; 80b0a02: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b0a06: 00db lsls r3, r3, #3 80b0a08: 3304 adds r3, #4 80b0a0a: 68fa ldr r2, [r7, #12] 80b0a0c: 4413 add r3, r2 80b0a0e: 681b ldr r3, [r3, #0] 80b0a10: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xcIn = pSrc[(2u * i2)]; 80b0a14: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b0a18: 00db lsls r3, r3, #3 80b0a1a: 68fa ldr r2, [r7, #12] 80b0a1c: 4413 add r3, r2 80b0a1e: 681b ldr r3, [r3, #0] 80b0a20: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 ycIn = pSrc[(2u * i2) + 1u]; 80b0a24: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b0a28: 00db lsls r3, r3, #3 80b0a2a: 3304 adds r3, #4 80b0a2c: 68fa ldr r2, [r7, #12] 80b0a2e: 4413 add r3, r2 80b0a30: 681b ldr r3, [r3, #0] 80b0a32: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xbIn = pSrc[(2u * i1)]; 80b0a36: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0a3a: 00db lsls r3, r3, #3 80b0a3c: 68fa ldr r2, [r7, #12] 80b0a3e: 4413 add r3, r2 80b0a40: 681b ldr r3, [r3, #0] 80b0a42: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b0a46: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0a4a: 00db lsls r3, r3, #3 80b0a4c: 3304 adds r3, #4 80b0a4e: 68fa ldr r2, [r7, #12] 80b0a50: 4413 add r3, r2 80b0a52: 681b ldr r3, [r3, #0] 80b0a54: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xdIn = pSrc[(2u * i3)]; 80b0a58: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0a5c: 00db lsls r3, r3, #3 80b0a5e: 68fa ldr r2, [r7, #12] 80b0a60: 4413 add r3, r2 80b0a62: 681b ldr r3, [r3, #0] 80b0a64: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ydIn = pSrc[(2u * i3) + 1u]; 80b0a68: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0a6c: 00db lsls r3, r3, #3 80b0a6e: 3304 adds r3, #4 80b0a70: 68fa ldr r2, [r7, #12] 80b0a72: 4413 add r3, r2 80b0a74: 681b ldr r3, [r3, #0] 80b0a76: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b0a7a: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b0a7e: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b0a82: ee77 7a27 vadd.f32 s15, s14, s15 80b0a86: edc7 7a2f vstr s15, [r7, #188] ; 0xbc /* xb + xd */ Xbplusd = xbIn + xdIn; 80b0a8a: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0a8e: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b0a92: ee77 7a27 vadd.f32 s15, s14, s15 80b0a96: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b0a9a: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b0a9e: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b0aa2: ee77 7a27 vadd.f32 s15, s14, s15 80b0aa6: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b0aaa: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0aae: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b0ab2: ee77 7a27 vadd.f32 s15, s14, s15 80b0ab6: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b0aba: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b0abe: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0ac2: 4413 add r3, r2 80b0ac4: f8c7 30ac str.w r3, [r7, #172] ; 0xac co2 = pCoef[ia2 * 2u]; 80b0ac8: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b0acc: 00db lsls r3, r3, #3 80b0ace: 1d3a adds r2, r7, #4 80b0ad0: 6812 ldr r2, [r2, #0] 80b0ad2: 4413 add r3, r2 80b0ad4: 681b ldr r3, [r3, #0] 80b0ad6: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 si2 = pCoef[(ia2 * 2u) + 1u]; 80b0ada: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b0ade: 00db lsls r3, r3, #3 80b0ae0: 3304 adds r3, #4 80b0ae2: 1d3a adds r2, r7, #4 80b0ae4: 6812 ldr r2, [r2, #0] 80b0ae6: 4413 add r3, r2 80b0ae8: 681b ldr r3, [r3, #0] 80b0aea: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b0aee: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b0af2: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b0af6: ee77 7a67 vsub.f32 s15, s14, s15 80b0afa: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 /* xb - xd */ Xbminusd = xbIn - xdIn; 80b0afe: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0b02: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b0b06: ee77 7a67 vsub.f32 s15, s14, s15 80b0b0a: edc7 7a27 vstr s15, [r7, #156] ; 0x9c /* ya - yc */ Yaminusc = yaIn - ycIn; 80b0b0e: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b0b12: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b0b16: ee77 7a67 vsub.f32 s15, s14, s15 80b0b1a: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* yb - yd */ Ybminusd = ybIn - ydIn; 80b0b1e: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0b22: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b0b26: ee77 7a67 vsub.f32 s15, s14, s15 80b0b2a: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* xa' = xa + xb + xc + xd */ pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b0b2e: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b0b32: 00db lsls r3, r3, #3 80b0b34: 68fa ldr r2, [r7, #12] 80b0b36: 4413 add r3, r2 80b0b38: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b0b3c: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b0b40: ee77 7a27 vadd.f32 s15, s14, s15 80b0b44: edc3 7a00 vstr s15, [r3] /* ya' = ya + yb + yc + yd */ pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b0b48: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b0b4c: 00db lsls r3, r3, #3 80b0b4e: 3304 adds r3, #4 80b0b50: 68fa ldr r2, [r7, #12] 80b0b52: 4413 add r3, r2 80b0b54: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b0b58: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b0b5c: ee77 7a27 vadd.f32 s15, s14, s15 80b0b60: edc3 7a00 vstr s15, [r3] /* (xa - xc) - (yb - yd) */ Xb12C_out = (Xaminusc - Ybminusd); 80b0b64: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b0b68: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b0b6c: ee77 7a67 vsub.f32 s15, s14, s15 80b0b70: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* (ya - yc) + (xb - xd) */ Yb12C_out = (Yaminusc + Xbminusd); 80b0b74: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b0b78: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b0b7c: ee77 7a27 vadd.f32 s15, s14, s15 80b0b80: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* (xa + xc) - (xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b0b84: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b0b88: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b0b8c: ee77 7a67 vsub.f32 s15, s14, s15 80b0b90: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b0b94: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b0b98: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b0b9c: ee77 7a67 vsub.f32 s15, s14, s15 80b0ba0: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* (xa - xc) + (yb - yd) */ Xd12C_out = (Xaminusc + Ybminusd); 80b0ba4: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b0ba8: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b0bac: ee77 7a27 vadd.f32 s15, s14, s15 80b0bb0: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya - yc) - (xb - xd) */ Yd12C_out = (Yaminusc - Xbminusd); 80b0bb4: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b0bb8: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b0bbc: ee77 7a67 vsub.f32 s15, s14, s15 80b0bc0: edc7 7a1f vstr s15, [r7, #124] ; 0x7c co1 = pCoef[ia1 * 2u]; 80b0bc4: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0bc8: 00db lsls r3, r3, #3 80b0bca: 1d3a adds r2, r7, #4 80b0bcc: 6812 ldr r2, [r2, #0] 80b0bce: 4413 add r3, r2 80b0bd0: 681b ldr r3, [r3, #0] 80b0bd2: 67bb str r3, [r7, #120] ; 0x78 si1 = pCoef[(ia1 * 2u) + 1u]; 80b0bd4: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0bd8: 00db lsls r3, r3, #3 80b0bda: 3304 adds r3, #4 80b0bdc: 1d3a adds r2, r7, #4 80b0bde: 6812 ldr r2, [r2, #0] 80b0be0: 4413 add r3, r2 80b0be2: 681b ldr r3, [r3, #0] 80b0be4: 677b str r3, [r7, #116] ; 0x74 /* index calculation for the coefficients */ ia3 = ia2 + ia1; 80b0be6: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 80b0bea: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0bee: 4413 add r3, r2 80b0bf0: 673b str r3, [r7, #112] ; 0x70 co3 = pCoef[ia3 * 2u]; 80b0bf2: 6f3b ldr r3, [r7, #112] ; 0x70 80b0bf4: 00db lsls r3, r3, #3 80b0bf6: 1d3a adds r2, r7, #4 80b0bf8: 6812 ldr r2, [r2, #0] 80b0bfa: 4413 add r3, r2 80b0bfc: 681b ldr r3, [r3, #0] 80b0bfe: 66fb str r3, [r7, #108] ; 0x6c si3 = pCoef[(ia3 * 2u) + 1u]; 80b0c00: 6f3b ldr r3, [r7, #112] ; 0x70 80b0c02: 00db lsls r3, r3, #3 80b0c04: 3304 adds r3, #4 80b0c06: 1d3a adds r2, r7, #4 80b0c08: 6812 ldr r2, [r2, #0] 80b0c0a: 4413 add r3, r2 80b0c0c: 681b ldr r3, [r3, #0] 80b0c0e: 66bb str r3, [r7, #104] ; 0x68 Xb12_out = Xb12C_out * co1; 80b0c10: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b0c14: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b0c18: ee67 7a27 vmul.f32 s15, s14, s15 80b0c1c: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out = Yb12C_out * co1; 80b0c20: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b0c24: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b0c28: ee67 7a27 vmul.f32 s15, s14, s15 80b0c2c: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out = Xc12C_out * co2; 80b0c30: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b0c34: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b0c38: ee67 7a27 vmul.f32 s15, s14, s15 80b0c3c: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out = Yc12C_out * co2; 80b0c40: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b0c44: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b0c48: ee67 7a27 vmul.f32 s15, s14, s15 80b0c4c: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out = Xd12C_out * co3; 80b0c50: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b0c54: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b0c58: ee67 7a27 vmul.f32 s15, s14, s15 80b0c5c: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out = Yd12C_out * co3; 80b0c60: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b0c64: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b0c68: ee67 7a27 vmul.f32 s15, s14, s15 80b0c6c: edc7 7a14 vstr s15, [r7, #80] ; 0x50 /* xb' = (xa+yb-xc-yd)co1 - (ya-xb-yc+xd)(si1) */ //Xb12_out -= Yb12C_out * si1; p0 = Yb12C_out * si1; 80b0c70: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b0c74: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b0c78: ee67 7a27 vmul.f32 s15, s14, s15 80b0c7c: edc7 7a13 vstr s15, [r7, #76] ; 0x4c /* yb' = (ya-xb-yc+xd)co1 + (xa+yb-xc-yd)(si1) */ //Yb12_out += Xb12C_out * si1; p1 = Xb12C_out * si1; 80b0c80: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b0c84: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b0c88: ee67 7a27 vmul.f32 s15, s14, s15 80b0c8c: edc7 7a12 vstr s15, [r7, #72] ; 0x48 /* xc' = (xa-xb+xc-xd)co2 - (ya-yb+yc-yd)(si2) */ //Xc12_out -= Yc12C_out * si2; p2 = Yc12C_out * si2; 80b0c90: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b0c94: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b0c98: ee67 7a27 vmul.f32 s15, s14, s15 80b0c9c: edc7 7a11 vstr s15, [r7, #68] ; 0x44 /* yc' = (ya-yb+yc-yd)co2 + (xa-xb+xc-xd)(si2) */ //Yc12_out += Xc12C_out * si2; p3 = Xc12C_out * si2; 80b0ca0: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b0ca4: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b0ca8: ee67 7a27 vmul.f32 s15, s14, s15 80b0cac: edc7 7a10 vstr s15, [r7, #64] ; 0x40 /* xd' = (xa-yb-xc+yd)co3 - (ya+xb-yc-xd)(si3) */ //Xd12_out -= Yd12C_out * si3; p4 = Yd12C_out * si3; 80b0cb0: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b0cb4: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b0cb8: ee67 7a27 vmul.f32 s15, s14, s15 80b0cbc: edc7 7a0f vstr s15, [r7, #60] ; 0x3c /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ //Yd12_out += Xd12C_out * si3; p5 = Xd12C_out * si3; 80b0cc0: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b0cc4: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b0cc8: ee67 7a27 vmul.f32 s15, s14, s15 80b0ccc: edc7 7a0e vstr s15, [r7, #56] ; 0x38 Xb12_out -= p0; 80b0cd0: ed97 7a19 vldr s14, [r7, #100] ; 0x64 80b0cd4: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b0cd8: ee77 7a67 vsub.f32 s15, s14, s15 80b0cdc: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out += p1; 80b0ce0: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b0ce4: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b0ce8: ee77 7a27 vadd.f32 s15, s14, s15 80b0cec: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out -= p2; 80b0cf0: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b0cf4: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b0cf8: ee77 7a67 vsub.f32 s15, s14, s15 80b0cfc: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out += p3; 80b0d00: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b0d04: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b0d08: ee77 7a27 vadd.f32 s15, s14, s15 80b0d0c: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out -= p4; 80b0d10: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b0d14: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b0d18: ee77 7a67 vsub.f32 s15, s14, s15 80b0d1c: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out += p5; 80b0d20: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b0d24: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b0d28: ee77 7a27 vadd.f32 s15, s14, s15 80b0d2c: edc7 7a14 vstr s15, [r7, #80] ; 0x50 /* xc' = (xa-xb+xc-xd)co2 - (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b0d30: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0d34: 00db lsls r3, r3, #3 80b0d36: 68fa ldr r2, [r7, #12] 80b0d38: 4413 add r3, r2 80b0d3a: 6dfa ldr r2, [r7, #92] ; 0x5c 80b0d3c: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 + (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b0d3e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0d42: 00db lsls r3, r3, #3 80b0d44: 3304 adds r3, #4 80b0d46: 68fa ldr r2, [r7, #12] 80b0d48: 4413 add r3, r2 80b0d4a: 6dba ldr r2, [r7, #88] ; 0x58 80b0d4c: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 - (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b0d4e: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b0d52: 00db lsls r3, r3, #3 80b0d54: 68fa ldr r2, [r7, #12] 80b0d56: 4413 add r3, r2 80b0d58: 6e7a ldr r2, [r7, #100] ; 0x64 80b0d5a: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 + (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b0d5c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b0d60: 00db lsls r3, r3, #3 80b0d62: 3304 adds r3, #4 80b0d64: 68fa ldr r2, [r7, #12] 80b0d66: 4413 add r3, r2 80b0d68: 6e3a ldr r2, [r7, #96] ; 0x60 80b0d6a: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 - (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b0d6c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0d70: 00db lsls r3, r3, #3 80b0d72: 68fa ldr r2, [r7, #12] 80b0d74: 4413 add r3, r2 80b0d76: 6d7a ldr r2, [r7, #84] ; 0x54 80b0d78: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b0d7a: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0d7e: 00db lsls r3, r3, #3 80b0d80: 3304 adds r3, #4 80b0d82: 68fa ldr r2, [r7, #12] 80b0d84: 4413 add r3, r2 80b0d86: 6d3a ldr r2, [r7, #80] ; 0x50 80b0d88: 601a str r2, [r3, #0] /* Twiddle coefficients index modifier */ ia1 = ia1 + twidCoefModifier; 80b0d8a: f107 0308 add.w r3, r7, #8 80b0d8e: 881b ldrh r3, [r3, #0] 80b0d90: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b0d94: 4413 add r3, r2 80b0d96: f8c7 3104 str.w r3, [r7, #260] ; 0x104 /* Updating input index */ i0 = i0 + 1u; 80b0d9a: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b0d9e: 3301 adds r3, #1 80b0da0: f8c7 3100 str.w r3, [r7, #256] ; 0x100 } while(--j); 80b0da4: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0da8: 3b01 subs r3, #1 80b0daa: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 80b0dae: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0db2: 2b00 cmp r3, #0 80b0db4: f47f ae08 bne.w 80b09c8 twidCoefModifier <<= 2u; 80b0db8: f107 0308 add.w r3, r7, #8 80b0dbc: f107 0208 add.w r2, r7, #8 80b0dc0: 8812 ldrh r2, [r2, #0] 80b0dc2: 0092 lsls r2, r2, #2 80b0dc4: 801a strh r2, [r3, #0] /* Calculation of second stage to excluding last stage */ for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b0dc6: 897b ldrh r3, [r7, #10] 80b0dc8: 089b lsrs r3, r3, #2 80b0dca: b29b uxth r3, r3 80b0dcc: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 80b0dd0: e221 b.n 80b1216 { /* Initializations for the first stage */ n1 = n2; 80b0dd2: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0dd6: f8c7 30ec str.w r3, [r7, #236] ; 0xec n2 >>= 2u; 80b0dda: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0dde: 089b lsrs r3, r3, #2 80b0de0: f8c7 30fc str.w r3, [r7, #252] ; 0xfc ia1 = 0u; 80b0de4: 2300 movs r3, #0 80b0de6: f8c7 3104 str.w r3, [r7, #260] ; 0x104 /* Calculation of first stage */ j = 0; 80b0dea: 2300 movs r3, #0 80b0dec: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 do { /* index calculation for the coefficients */ ia2 = ia1 + ia1; 80b0df0: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b0df4: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0df8: 4413 add r3, r2 80b0dfa: f8c7 30ac str.w r3, [r7, #172] ; 0xac ia3 = ia2 + ia1; 80b0dfe: f8d7 20ac ldr.w r2, [r7, #172] ; 0xac 80b0e02: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0e06: 4413 add r3, r2 80b0e08: 673b str r3, [r7, #112] ; 0x70 co1 = pCoef[ia1 * 2u]; 80b0e0a: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0e0e: 00db lsls r3, r3, #3 80b0e10: 1d3a adds r2, r7, #4 80b0e12: 6812 ldr r2, [r2, #0] 80b0e14: 4413 add r3, r2 80b0e16: 681b ldr r3, [r3, #0] 80b0e18: 67bb str r3, [r7, #120] ; 0x78 si1 = pCoef[(ia1 * 2u) + 1u]; 80b0e1a: f8d7 3104 ldr.w r3, [r7, #260] ; 0x104 80b0e1e: 00db lsls r3, r3, #3 80b0e20: 3304 adds r3, #4 80b0e22: 1d3a adds r2, r7, #4 80b0e24: 6812 ldr r2, [r2, #0] 80b0e26: 4413 add r3, r2 80b0e28: 681b ldr r3, [r3, #0] 80b0e2a: 677b str r3, [r7, #116] ; 0x74 co2 = pCoef[ia2 * 2u]; 80b0e2c: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b0e30: 00db lsls r3, r3, #3 80b0e32: 1d3a adds r2, r7, #4 80b0e34: 6812 ldr r2, [r2, #0] 80b0e36: 4413 add r3, r2 80b0e38: 681b ldr r3, [r3, #0] 80b0e3a: f8c7 30a8 str.w r3, [r7, #168] ; 0xa8 si2 = pCoef[(ia2 * 2u) + 1u]; 80b0e3e: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80b0e42: 00db lsls r3, r3, #3 80b0e44: 3304 adds r3, #4 80b0e46: 1d3a adds r2, r7, #4 80b0e48: 6812 ldr r2, [r2, #0] 80b0e4a: 4413 add r3, r2 80b0e4c: 681b ldr r3, [r3, #0] 80b0e4e: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 co3 = pCoef[ia3 * 2u]; 80b0e52: 6f3b ldr r3, [r7, #112] ; 0x70 80b0e54: 00db lsls r3, r3, #3 80b0e56: 1d3a adds r2, r7, #4 80b0e58: 6812 ldr r2, [r2, #0] 80b0e5a: 4413 add r3, r2 80b0e5c: 681b ldr r3, [r3, #0] 80b0e5e: 66fb str r3, [r7, #108] ; 0x6c si3 = pCoef[(ia3 * 2u) + 1u]; 80b0e60: 6f3b ldr r3, [r7, #112] ; 0x70 80b0e62: 00db lsls r3, r3, #3 80b0e64: 3304 adds r3, #4 80b0e66: 1d3a adds r2, r7, #4 80b0e68: 6812 ldr r2, [r2, #0] 80b0e6a: 4413 add r3, r2 80b0e6c: 681b ldr r3, [r3, #0] 80b0e6e: 66bb str r3, [r7, #104] ; 0x68 /* Twiddle coefficients index modifier */ ia1 = ia1 + twidCoefModifier; 80b0e70: f107 0308 add.w r3, r7, #8 80b0e74: 881b ldrh r3, [r3, #0] 80b0e76: f8d7 2104 ldr.w r2, [r7, #260] ; 0x104 80b0e7a: 4413 add r3, r2 80b0e7c: f8c7 3104 str.w r3, [r7, #260] ; 0x104 i0 = j; 80b0e80: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b0e84: f8c7 3100 str.w r3, [r7, #256] ; 0x100 do { /* index calculation for the input as, */ /* pSrc[i0 + 0], pSrc[i0 + fftLen/4], pSrc[i0 + fftLen/2], pSrc[i0 + 3fftLen/4] */ i1 = i0 + n2; 80b0e88: f8d7 2100 ldr.w r2, [r7, #256] ; 0x100 80b0e8c: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0e90: 4413 add r3, r2 80b0e92: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 i2 = i1 + n2; 80b0e96: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b0e9a: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0e9e: 4413 add r3, r2 80b0ea0: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 i3 = i2 + n2; 80b0ea4: f8d7 20e4 ldr.w r2, [r7, #228] ; 0xe4 80b0ea8: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b0eac: 4413 add r3, r2 80b0eae: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 xaIn = pSrc[(2u * i0)]; 80b0eb2: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b0eb6: 00db lsls r3, r3, #3 80b0eb8: 68fa ldr r2, [r7, #12] 80b0eba: 4413 add r3, r2 80b0ebc: 681b ldr r3, [r3, #0] 80b0ebe: f8c7 30dc str.w r3, [r7, #220] ; 0xdc yaIn = pSrc[(2u * i0) + 1u]; 80b0ec2: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b0ec6: 00db lsls r3, r3, #3 80b0ec8: 3304 adds r3, #4 80b0eca: 68fa ldr r2, [r7, #12] 80b0ecc: 4413 add r3, r2 80b0ece: 681b ldr r3, [r3, #0] 80b0ed0: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xbIn = pSrc[(2u * i1)]; 80b0ed4: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0ed8: 00db lsls r3, r3, #3 80b0eda: 68fa ldr r2, [r7, #12] 80b0edc: 4413 add r3, r2 80b0ede: 681b ldr r3, [r3, #0] 80b0ee0: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = pSrc[(2u * i1) + 1u]; 80b0ee4: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b0ee8: 00db lsls r3, r3, #3 80b0eea: 3304 adds r3, #4 80b0eec: 68fa ldr r2, [r7, #12] 80b0eee: 4413 add r3, r2 80b0ef0: 681b ldr r3, [r3, #0] 80b0ef2: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = pSrc[(2u * i2)]; 80b0ef6: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b0efa: 00db lsls r3, r3, #3 80b0efc: 68fa ldr r2, [r7, #12] 80b0efe: 4413 add r3, r2 80b0f00: 681b ldr r3, [r3, #0] 80b0f02: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 ycIn = pSrc[(2u * i2) + 1u]; 80b0f06: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b0f0a: 00db lsls r3, r3, #3 80b0f0c: 3304 adds r3, #4 80b0f0e: 68fa ldr r2, [r7, #12] 80b0f10: 4413 add r3, r2 80b0f12: 681b ldr r3, [r3, #0] 80b0f14: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xdIn = pSrc[(2u * i3)]; 80b0f18: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0f1c: 00db lsls r3, r3, #3 80b0f1e: 68fa ldr r2, [r7, #12] 80b0f20: 4413 add r3, r2 80b0f22: 681b ldr r3, [r3, #0] 80b0f24: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ydIn = pSrc[(2u * i3) + 1u]; 80b0f28: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b0f2c: 00db lsls r3, r3, #3 80b0f2e: 3304 adds r3, #4 80b0f30: 68fa ldr r2, [r7, #12] 80b0f32: 4413 add r3, r2 80b0f34: 681b ldr r3, [r3, #0] 80b0f36: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 /* xa - xc */ Xaminusc = xaIn - xcIn; 80b0f3a: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b0f3e: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b0f42: ee77 7a67 vsub.f32 s15, s14, s15 80b0f46: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 /* (xb - xd) */ Xbminusd = xbIn - xdIn; 80b0f4a: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0f4e: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b0f52: ee77 7a67 vsub.f32 s15, s14, s15 80b0f56: edc7 7a27 vstr s15, [r7, #156] ; 0x9c /* ya - yc */ Yaminusc = yaIn - ycIn; 80b0f5a: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b0f5e: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b0f62: ee77 7a67 vsub.f32 s15, s14, s15 80b0f66: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* (yb - yd) */ Ybminusd = ybIn - ydIn; 80b0f6a: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0f6e: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b0f72: ee77 7a67 vsub.f32 s15, s14, s15 80b0f76: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* xa + xc */ Xaplusc = xaIn + xcIn; 80b0f7a: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b0f7e: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b0f82: ee77 7a27 vadd.f32 s15, s14, s15 80b0f86: edc7 7a2f vstr s15, [r7, #188] ; 0xbc /* xb + xd */ Xbplusd = xbIn + xdIn; 80b0f8a: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b0f8e: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b0f92: ee77 7a27 vadd.f32 s15, s14, s15 80b0f96: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b0f9a: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b0f9e: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b0fa2: ee77 7a27 vadd.f32 s15, s14, s15 80b0fa6: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b0faa: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b0fae: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b0fb2: ee77 7a27 vadd.f32 s15, s14, s15 80b0fb6: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* (xa - xc) - (yb - yd) */ Xb12C_out = (Xaminusc - Ybminusd); 80b0fba: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b0fbe: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b0fc2: ee77 7a67 vsub.f32 s15, s14, s15 80b0fc6: edc7 7a24 vstr s15, [r7, #144] ; 0x90 /* (ya - yc) + (xb - xd) */ Yb12C_out = (Yaminusc + Xbminusd); 80b0fca: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b0fce: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b0fd2: ee77 7a27 vadd.f32 s15, s14, s15 80b0fd6: edc7 7a23 vstr s15, [r7, #140] ; 0x8c /* xa + xc -(xb + xd) */ Xc12C_out = (Xaplusc - Xbplusd); 80b0fda: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b0fde: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b0fe2: ee77 7a67 vsub.f32 s15, s14, s15 80b0fe6: edc7 7a22 vstr s15, [r7, #136] ; 0x88 /* (ya + yc) - (yb + yd) */ Yc12C_out = (Yaplusc - Ybplusd); 80b0fea: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b0fee: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b0ff2: ee77 7a67 vsub.f32 s15, s14, s15 80b0ff6: edc7 7a21 vstr s15, [r7, #132] ; 0x84 /* (xa - xc) + (yb - yd) */ Xd12C_out = (Xaminusc + Ybminusd); 80b0ffa: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b0ffe: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b1002: ee77 7a27 vadd.f32 s15, s14, s15 80b1006: edc7 7a20 vstr s15, [r7, #128] ; 0x80 /* (ya - yc) - (xb - xd) */ Yd12C_out = (Yaminusc - Xbminusd); 80b100a: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b100e: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b1012: ee77 7a67 vsub.f32 s15, s14, s15 80b1016: edc7 7a1f vstr s15, [r7, #124] ; 0x7c pSrc[(2u * i0)] = Xaplusc + Xbplusd; 80b101a: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b101e: 00db lsls r3, r3, #3 80b1020: 68fa ldr r2, [r7, #12] 80b1022: 4413 add r3, r2 80b1024: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b1028: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b102c: ee77 7a27 vadd.f32 s15, s14, s15 80b1030: edc3 7a00 vstr s15, [r3] pSrc[(2u * i0) + 1u] = Yaplusc + Ybplusd; 80b1034: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b1038: 00db lsls r3, r3, #3 80b103a: 3304 adds r3, #4 80b103c: 68fa ldr r2, [r7, #12] 80b103e: 4413 add r3, r2 80b1040: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b1044: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1048: ee77 7a27 vadd.f32 s15, s14, s15 80b104c: edc3 7a00 vstr s15, [r3] Xb12_out = Xb12C_out * co1; 80b1050: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b1054: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b1058: ee67 7a27 vmul.f32 s15, s14, s15 80b105c: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out = Yb12C_out * co1; 80b1060: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b1064: edd7 7a1e vldr s15, [r7, #120] ; 0x78 80b1068: ee67 7a27 vmul.f32 s15, s14, s15 80b106c: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out = Xc12C_out * co2; 80b1070: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b1074: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b1078: ee67 7a27 vmul.f32 s15, s14, s15 80b107c: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out = Yc12C_out * co2; 80b1080: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b1084: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b1088: ee67 7a27 vmul.f32 s15, s14, s15 80b108c: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out = Xd12C_out * co3; 80b1090: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b1094: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b1098: ee67 7a27 vmul.f32 s15, s14, s15 80b109c: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out = Yd12C_out * co3; 80b10a0: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b10a4: edd7 7a1b vldr s15, [r7, #108] ; 0x6c 80b10a8: ee67 7a27 vmul.f32 s15, s14, s15 80b10ac: edc7 7a14 vstr s15, [r7, #80] ; 0x50 /* xb' = (xa+yb-xc-yd)co1 - (ya-xb-yc+xd)(si1) */ //Xb12_out -= Yb12C_out * si1; p0 = Yb12C_out * si1; 80b10b0: ed97 7a23 vldr s14, [r7, #140] ; 0x8c 80b10b4: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b10b8: ee67 7a27 vmul.f32 s15, s14, s15 80b10bc: edc7 7a13 vstr s15, [r7, #76] ; 0x4c /* yb' = (ya-xb-yc+xd)co1 + (xa+yb-xc-yd)(si1) */ //Yb12_out += Xb12C_out * si1; p1 = Xb12C_out * si1; 80b10c0: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b10c4: edd7 7a1d vldr s15, [r7, #116] ; 0x74 80b10c8: ee67 7a27 vmul.f32 s15, s14, s15 80b10cc: edc7 7a12 vstr s15, [r7, #72] ; 0x48 /* xc' = (xa-xb+xc-xd)co2 - (ya-yb+yc-yd)(si2) */ //Xc12_out -= Yc12C_out * si2; p2 = Yc12C_out * si2; 80b10d0: ed97 7a21 vldr s14, [r7, #132] ; 0x84 80b10d4: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b10d8: ee67 7a27 vmul.f32 s15, s14, s15 80b10dc: edc7 7a11 vstr s15, [r7, #68] ; 0x44 /* yc' = (ya-yb+yc-yd)co2 + (xa-xb+xc-xd)(si2) */ //Yc12_out += Xc12C_out * si2; p3 = Xc12C_out * si2; 80b10e0: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b10e4: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b10e8: ee67 7a27 vmul.f32 s15, s14, s15 80b10ec: edc7 7a10 vstr s15, [r7, #64] ; 0x40 /* xd' = (xa-yb-xc+yd)co3 - (ya+xb-yc-xd)(si3) */ //Xd12_out -= Yd12C_out * si3; p4 = Yd12C_out * si3; 80b10f0: ed97 7a1f vldr s14, [r7, #124] ; 0x7c 80b10f4: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b10f8: ee67 7a27 vmul.f32 s15, s14, s15 80b10fc: edc7 7a0f vstr s15, [r7, #60] ; 0x3c /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ //Yd12_out += Xd12C_out * si3; p5 = Xd12C_out * si3; 80b1100: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b1104: edd7 7a1a vldr s15, [r7, #104] ; 0x68 80b1108: ee67 7a27 vmul.f32 s15, s14, s15 80b110c: edc7 7a0e vstr s15, [r7, #56] ; 0x38 Xb12_out -= p0; 80b1110: ed97 7a19 vldr s14, [r7, #100] ; 0x64 80b1114: edd7 7a13 vldr s15, [r7, #76] ; 0x4c 80b1118: ee77 7a67 vsub.f32 s15, s14, s15 80b111c: edc7 7a19 vstr s15, [r7, #100] ; 0x64 Yb12_out += p1; 80b1120: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b1124: edd7 7a12 vldr s15, [r7, #72] ; 0x48 80b1128: ee77 7a27 vadd.f32 s15, s14, s15 80b112c: edc7 7a18 vstr s15, [r7, #96] ; 0x60 Xc12_out -= p2; 80b1130: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b1134: edd7 7a11 vldr s15, [r7, #68] ; 0x44 80b1138: ee77 7a67 vsub.f32 s15, s14, s15 80b113c: edc7 7a17 vstr s15, [r7, #92] ; 0x5c Yc12_out += p3; 80b1140: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b1144: edd7 7a10 vldr s15, [r7, #64] ; 0x40 80b1148: ee77 7a27 vadd.f32 s15, s14, s15 80b114c: edc7 7a16 vstr s15, [r7, #88] ; 0x58 Xd12_out -= p4; 80b1150: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b1154: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b1158: ee77 7a67 vsub.f32 s15, s14, s15 80b115c: edc7 7a15 vstr s15, [r7, #84] ; 0x54 Yd12_out += p5; 80b1160: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b1164: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b1168: ee77 7a27 vadd.f32 s15, s14, s15 80b116c: edc7 7a14 vstr s15, [r7, #80] ; 0x50 /* xc' = (xa-xb+xc-xd)co2 - (ya-yb+yc-yd)(si2) */ pSrc[2u * i1] = Xc12_out; 80b1170: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1174: 00db lsls r3, r3, #3 80b1176: 68fa ldr r2, [r7, #12] 80b1178: 4413 add r3, r2 80b117a: 6dfa ldr r2, [r7, #92] ; 0x5c 80b117c: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd)co2 + (xa-xb+xc-xd)(si2) */ pSrc[(2u * i1) + 1u] = Yc12_out; 80b117e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1182: 00db lsls r3, r3, #3 80b1184: 3304 adds r3, #4 80b1186: 68fa ldr r2, [r7, #12] 80b1188: 4413 add r3, r2 80b118a: 6dba ldr r2, [r7, #88] ; 0x58 80b118c: 601a str r2, [r3, #0] /* xb' = (xa+yb-xc-yd)co1 - (ya-xb-yc+xd)(si1) */ pSrc[2u * i2] = Xb12_out; 80b118e: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1192: 00db lsls r3, r3, #3 80b1194: 68fa ldr r2, [r7, #12] 80b1196: 4413 add r3, r2 80b1198: 6e7a ldr r2, [r7, #100] ; 0x64 80b119a: 601a str r2, [r3, #0] /* yb' = (ya-xb-yc+xd)co1 + (xa+yb-xc-yd)(si1) */ pSrc[(2u * i2) + 1u] = Yb12_out; 80b119c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b11a0: 00db lsls r3, r3, #3 80b11a2: 3304 adds r3, #4 80b11a4: 68fa ldr r2, [r7, #12] 80b11a6: 4413 add r3, r2 80b11a8: 6e3a ldr r2, [r7, #96] ; 0x60 80b11aa: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd)co3 - (ya+xb-yc-xd)(si3) */ pSrc[2u * i3] = Xd12_out; 80b11ac: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b11b0: 00db lsls r3, r3, #3 80b11b2: 68fa ldr r2, [r7, #12] 80b11b4: 4413 add r3, r2 80b11b6: 6d7a ldr r2, [r7, #84] ; 0x54 80b11b8: 601a str r2, [r3, #0] /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = Yd12_out; 80b11ba: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b11be: 00db lsls r3, r3, #3 80b11c0: 3304 adds r3, #4 80b11c2: 68fa ldr r2, [r7, #12] 80b11c4: 4413 add r3, r2 80b11c6: 6d3a ldr r2, [r7, #80] ; 0x50 80b11c8: 601a str r2, [r3, #0] i0 += n1; 80b11ca: f8d7 2100 ldr.w r2, [r7, #256] ; 0x100 80b11ce: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b11d2: 4413 add r3, r2 80b11d4: f8c7 3100 str.w r3, [r7, #256] ; 0x100 } while(i0 < fftLen); 80b11d8: 897a ldrh r2, [r7, #10] 80b11da: f8d7 3100 ldr.w r3, [r7, #256] ; 0x100 80b11de: 429a cmp r2, r3 80b11e0: f63f ae52 bhi.w 80b0e88 j++; 80b11e4: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b11e8: 3301 adds r3, #1 80b11ea: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 } while(j <= (n2 - 1u)); 80b11ee: f8d7 30fc ldr.w r3, [r7, #252] ; 0xfc 80b11f2: 1e5a subs r2, r3, #1 80b11f4: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b11f8: 429a cmp r2, r3 80b11fa: f4bf adf9 bcs.w 80b0df0 twidCoefModifier <<= 2u; 80b11fe: f107 0308 add.w r3, r7, #8 80b1202: f107 0208 add.w r2, r7, #8 80b1206: 8812 ldrh r2, [r2, #0] 80b1208: 0092 lsls r2, r2, #2 80b120a: 801a strh r2, [r3, #0] for (k = fftLen >> 2u; k > 4u; k >>= 2u) 80b120c: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b1210: 089b lsrs r3, r3, #2 80b1212: f8c7 30f4 str.w r3, [r7, #244] ; 0xf4 80b1216: f8d7 30f4 ldr.w r3, [r7, #244] ; 0xf4 80b121a: 2b04 cmp r3, #4 80b121c: f63f add9 bhi.w 80b0dd2 } /* Initializations of last stage */ j = fftLen >> 2; 80b1220: 897b ldrh r3, [r7, #10] 80b1222: 089b lsrs r3, r3, #2 80b1224: b29b uxth r3, r3 80b1226: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 ptr1 = &pSrc[0]; 80b122a: 68fb ldr r3, [r7, #12] 80b122c: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 /* Calculations of last stage */ do { xaIn = ptr1[0]; 80b1230: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1234: 681b ldr r3, [r3, #0] 80b1236: f8c7 30dc str.w r3, [r7, #220] ; 0xdc yaIn = ptr1[1]; 80b123a: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b123e: 685b ldr r3, [r3, #4] 80b1240: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 xbIn = ptr1[2]; 80b1244: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1248: 689b ldr r3, [r3, #8] 80b124a: f8c7 30cc str.w r3, [r7, #204] ; 0xcc ybIn = ptr1[3]; 80b124e: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1252: 68db ldr r3, [r3, #12] 80b1254: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 xcIn = ptr1[4]; 80b1258: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b125c: 691b ldr r3, [r3, #16] 80b125e: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 ycIn = ptr1[5]; 80b1262: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1266: 695b ldr r3, [r3, #20] 80b1268: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 xdIn = ptr1[6]; 80b126c: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1270: 699b ldr r3, [r3, #24] 80b1272: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 ydIn = ptr1[7]; 80b1276: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b127a: 69db ldr r3, [r3, #28] 80b127c: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 /* Butterfly implementation */ /* xa + xc */ Xaplusc = xaIn + xcIn; 80b1280: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b1284: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b1288: ee77 7a27 vadd.f32 s15, s14, s15 80b128c: edc7 7a2f vstr s15, [r7, #188] ; 0xbc /* xa - xc */ Xaminusc = xaIn - xcIn; 80b1290: ed97 7a37 vldr s14, [r7, #220] ; 0xdc 80b1294: edd7 7a35 vldr s15, [r7, #212] ; 0xd4 80b1298: ee77 7a67 vsub.f32 s15, s14, s15 80b129c: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 /* ya + yc */ Yaplusc = yaIn + ycIn; 80b12a0: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b12a4: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b12a8: ee77 7a27 vadd.f32 s15, s14, s15 80b12ac: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 /* ya - yc */ Yaminusc = yaIn - ycIn; 80b12b0: ed97 7a36 vldr s14, [r7, #216] ; 0xd8 80b12b4: edd7 7a34 vldr s15, [r7, #208] ; 0xd0 80b12b8: ee77 7a67 vsub.f32 s15, s14, s15 80b12bc: edc7 7a26 vstr s15, [r7, #152] ; 0x98 /* xb + xd */ Xbplusd = xbIn + xdIn; 80b12c0: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b12c4: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b12c8: ee77 7a27 vadd.f32 s15, s14, s15 80b12cc: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 /* yb + yd */ Ybplusd = ybIn + ydIn; 80b12d0: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b12d4: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b12d8: ee77 7a27 vadd.f32 s15, s14, s15 80b12dc: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 /* (xb-xd) */ Xbminusd = xbIn - xdIn; 80b12e0: ed97 7a33 vldr s14, [r7, #204] ; 0xcc 80b12e4: edd7 7a31 vldr s15, [r7, #196] ; 0xc4 80b12e8: ee77 7a67 vsub.f32 s15, s14, s15 80b12ec: edc7 7a27 vstr s15, [r7, #156] ; 0x9c /* (yb-yd) */ Ybminusd = ybIn - ydIn; 80b12f0: ed97 7a32 vldr s14, [r7, #200] ; 0xc8 80b12f4: edd7 7a30 vldr s15, [r7, #192] ; 0xc0 80b12f8: ee77 7a67 vsub.f32 s15, s14, s15 80b12fc: edc7 7a25 vstr s15, [r7, #148] ; 0x94 /* xa' = (xa+xb+xc+xd) * onebyfftLen */ a0 = (Xaplusc + Xbplusd); 80b1300: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b1304: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b1308: ee77 7a27 vadd.f32 s15, s14, s15 80b130c: edc7 7a0d vstr s15, [r7, #52] ; 0x34 /* ya' = (ya+yb+yc+yd) * onebyfftLen */ a1 = (Yaplusc + Ybplusd); 80b1310: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b1314: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1318: ee77 7a27 vadd.f32 s15, s14, s15 80b131c: edc7 7a0c vstr s15, [r7, #48] ; 0x30 /* xc' = (xa-xb+xc-xd) * onebyfftLen */ a2 = (Xaplusc - Xbplusd); 80b1320: ed97 7a2f vldr s14, [r7, #188] ; 0xbc 80b1324: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b1328: ee77 7a67 vsub.f32 s15, s14, s15 80b132c: edc7 7a0b vstr s15, [r7, #44] ; 0x2c /* yc' = (ya-yb+yc-yd) * onebyfftLen */ a3 = (Yaplusc - Ybplusd); 80b1330: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b1334: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1338: ee77 7a67 vsub.f32 s15, s14, s15 80b133c: edc7 7a0a vstr s15, [r7, #40] ; 0x28 /* xb' = (xa-yb-xc+yd) * onebyfftLen */ a4 = (Xaminusc - Ybminusd); 80b1340: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b1344: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b1348: ee77 7a67 vsub.f32 s15, s14, s15 80b134c: edc7 7a09 vstr s15, [r7, #36] ; 0x24 /* yb' = (ya+xb-yc-xd) * onebyfftLen */ a5 = (Yaminusc + Xbminusd); 80b1350: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b1354: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b1358: ee77 7a27 vadd.f32 s15, s14, s15 80b135c: edc7 7a08 vstr s15, [r7, #32] /* xd' = (xa-yb-xc+yd) * onebyfftLen */ a6 = (Xaminusc + Ybminusd); 80b1360: ed97 7a28 vldr s14, [r7, #160] ; 0xa0 80b1364: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b1368: ee77 7a27 vadd.f32 s15, s14, s15 80b136c: edc7 7a07 vstr s15, [r7, #28] /* yd' = (ya-xb-yc+xd) * onebyfftLen */ a7 = (Yaminusc - Xbminusd); 80b1370: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b1374: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b1378: ee77 7a67 vsub.f32 s15, s14, s15 80b137c: edc7 7a06 vstr s15, [r7, #24] p0 = a0 * onebyfftLen; 80b1380: 463b mov r3, r7 80b1382: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b1386: edd3 7a00 vldr s15, [r3] 80b138a: ee67 7a27 vmul.f32 s15, s14, s15 80b138e: edc7 7a13 vstr s15, [r7, #76] ; 0x4c p1 = a1 * onebyfftLen; 80b1392: 463b mov r3, r7 80b1394: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b1398: edd3 7a00 vldr s15, [r3] 80b139c: ee67 7a27 vmul.f32 s15, s14, s15 80b13a0: edc7 7a12 vstr s15, [r7, #72] ; 0x48 p2 = a2 * onebyfftLen; 80b13a4: 463b mov r3, r7 80b13a6: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b13aa: edd3 7a00 vldr s15, [r3] 80b13ae: ee67 7a27 vmul.f32 s15, s14, s15 80b13b2: edc7 7a11 vstr s15, [r7, #68] ; 0x44 p3 = a3 * onebyfftLen; 80b13b6: 463b mov r3, r7 80b13b8: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b13bc: edd3 7a00 vldr s15, [r3] 80b13c0: ee67 7a27 vmul.f32 s15, s14, s15 80b13c4: edc7 7a10 vstr s15, [r7, #64] ; 0x40 p4 = a4 * onebyfftLen; 80b13c8: 463b mov r3, r7 80b13ca: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b13ce: edd3 7a00 vldr s15, [r3] 80b13d2: ee67 7a27 vmul.f32 s15, s14, s15 80b13d6: edc7 7a0f vstr s15, [r7, #60] ; 0x3c p5 = a5 * onebyfftLen; 80b13da: 463b mov r3, r7 80b13dc: ed97 7a08 vldr s14, [r7, #32] 80b13e0: edd3 7a00 vldr s15, [r3] 80b13e4: ee67 7a27 vmul.f32 s15, s14, s15 80b13e8: edc7 7a0e vstr s15, [r7, #56] ; 0x38 p6 = a6 * onebyfftLen; 80b13ec: 463b mov r3, r7 80b13ee: ed97 7a07 vldr s14, [r7, #28] 80b13f2: edd3 7a00 vldr s15, [r3] 80b13f6: ee67 7a27 vmul.f32 s15, s14, s15 80b13fa: edc7 7a05 vstr s15, [r7, #20] p7 = a7 * onebyfftLen; 80b13fe: 463b mov r3, r7 80b1400: ed97 7a06 vldr s14, [r7, #24] 80b1404: edd3 7a00 vldr s15, [r3] 80b1408: ee67 7a27 vmul.f32 s15, s14, s15 80b140c: edc7 7a04 vstr s15, [r7, #16] /* xa' = (xa+xb+xc+xd) * onebyfftLen */ ptr1[0] = p0; 80b1410: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1414: 6cfa ldr r2, [r7, #76] ; 0x4c 80b1416: 601a str r2, [r3, #0] /* ya' = (ya+yb+yc+yd) * onebyfftLen */ ptr1[1] = p1; 80b1418: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b141c: 3304 adds r3, #4 80b141e: 6cba ldr r2, [r7, #72] ; 0x48 80b1420: 601a str r2, [r3, #0] /* xc' = (xa-xb+xc-xd) * onebyfftLen */ ptr1[2] = p2; 80b1422: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1426: 3308 adds r3, #8 80b1428: 6c7a ldr r2, [r7, #68] ; 0x44 80b142a: 601a str r2, [r3, #0] /* yc' = (ya-yb+yc-yd) * onebyfftLen */ ptr1[3] = p3; 80b142c: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1430: 330c adds r3, #12 80b1432: 6c3a ldr r2, [r7, #64] ; 0x40 80b1434: 601a str r2, [r3, #0] /* xb' = (xa-yb-xc+yd) * onebyfftLen */ ptr1[4] = p4; 80b1436: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b143a: 3310 adds r3, #16 80b143c: 6bfa ldr r2, [r7, #60] ; 0x3c 80b143e: 601a str r2, [r3, #0] /* yb' = (ya+xb-yc-xd) * onebyfftLen */ ptr1[5] = p5; 80b1440: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1444: 3314 adds r3, #20 80b1446: 6bba ldr r2, [r7, #56] ; 0x38 80b1448: 601a str r2, [r3, #0] /* xd' = (xa-yb-xc+yd) * onebyfftLen */ ptr1[6] = p6; 80b144a: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b144e: 3318 adds r3, #24 80b1450: 697a ldr r2, [r7, #20] 80b1452: 601a str r2, [r3, #0] /* yd' = (ya-xb-yc+xd) * onebyfftLen */ ptr1[7] = p7; 80b1454: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1458: 331c adds r3, #28 80b145a: 693a ldr r2, [r7, #16] 80b145c: 601a str r2, [r3, #0] /* increment source pointer by 8 for next calculations */ ptr1 = ptr1 + 8u; 80b145e: f8d7 30f0 ldr.w r3, [r7, #240] ; 0xf0 80b1462: 3320 adds r3, #32 80b1464: f8c7 30f0 str.w r3, [r7, #240] ; 0xf0 } while(--j); 80b1468: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b146c: 3b01 subs r3, #1 80b146e: f8c7 30f8 str.w r3, [r7, #248] ; 0xf8 80b1472: f8d7 30f8 ldr.w r3, [r7, #248] ; 0xf8 80b1476: 2b00 cmp r3, #0 80b1478: f47f aeda bne.w 80b1230 /* yd' = (ya+xb-yc-xd)co3 + (xa-yb-xc+yd)(si3) */ pSrc[(2u * i3) + 1u] = s2 * onebyfftLen; } #endif /* #ifndef ARM_MATH_CM0_FAMILY_FAMILY */ } 80b147c: bf00 nop 80b147e: f507 7786 add.w r7, r7, #268 ; 0x10c 80b1482: 46bd mov sp, r7 80b1484: f85d 7b04 ldr.w r7, [sp], #4 80b1488: 4770 bx lr ... 080b148c : arm_status arm_cfft_radix4_init_f32( arm_cfft_radix4_instance_f32 * S, uint16_t fftLen, uint8_t ifftFlag, uint8_t bitReverseFlag) { 80b148c: b480 push {r7} 80b148e: b085 sub sp, #20 80b1490: af00 add r7, sp, #0 80b1492: 6078 str r0, [r7, #4] 80b1494: 4608 mov r0, r1 80b1496: 4611 mov r1, r2 80b1498: 461a mov r2, r3 80b149a: 4603 mov r3, r0 80b149c: 807b strh r3, [r7, #2] 80b149e: 460b mov r3, r1 80b14a0: 707b strb r3, [r7, #1] 80b14a2: 4613 mov r3, r2 80b14a4: 703b strb r3, [r7, #0] /* Initialise the default arm status */ arm_status status = ARM_MATH_SUCCESS; 80b14a6: 2300 movs r3, #0 80b14a8: 73fb strb r3, [r7, #15] /* Initialise the FFT length */ S->fftLen = fftLen; 80b14aa: 687b ldr r3, [r7, #4] 80b14ac: 887a ldrh r2, [r7, #2] 80b14ae: 801a strh r2, [r3, #0] /* Initialise the Twiddle coefficient pointer */ S->pTwiddle = (float32_t *) twiddleCoef; 80b14b0: 687b ldr r3, [r7, #4] 80b14b2: 4a37 ldr r2, [pc, #220] ; (80b1590 ) 80b14b4: 605a str r2, [r3, #4] /* Initialise the Flag for selection of CFFT or CIFFT */ S->ifftFlag = ifftFlag; 80b14b6: 687b ldr r3, [r7, #4] 80b14b8: 787a ldrb r2, [r7, #1] 80b14ba: 709a strb r2, [r3, #2] /* Initialise the Flag for calculation Bit reversal or not */ S->bitReverseFlag = bitReverseFlag; 80b14bc: 687b ldr r3, [r7, #4] 80b14be: 783a ldrb r2, [r7, #0] 80b14c0: 70da strb r2, [r3, #3] /* Initializations of structure parameters depending on the FFT length */ switch (S->fftLen) 80b14c2: 687b ldr r3, [r7, #4] 80b14c4: 881b ldrh r3, [r3, #0] 80b14c6: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b14ca: d029 beq.n 80b1520 80b14cc: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b14d0: dc04 bgt.n 80b14dc 80b14d2: 2b10 cmp r3, #16 80b14d4: d040 beq.n 80b1558 80b14d6: 2b40 cmp r3, #64 ; 0x40 80b14d8: d030 beq.n 80b153c 80b14da: e04d b.n 80b1578 80b14dc: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b14e0: d010 beq.n 80b1504 80b14e2: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b14e6: d147 bne.n 80b1578 case 4096u: /* Initializations of structure parameters for 4096 point FFT */ /* Initialise the twiddle coef modifier value */ S->twidCoefModifier = 1u; 80b14e8: 687b ldr r3, [r7, #4] 80b14ea: 2201 movs r2, #1 80b14ec: 819a strh r2, [r3, #12] /* Initialise the bit reversal table modifier */ S->bitRevFactor = 1u; 80b14ee: 687b ldr r3, [r7, #4] 80b14f0: 2201 movs r2, #1 80b14f2: 81da strh r2, [r3, #14] /* Initialise the bit reversal table pointer */ S->pBitRevTable = (uint16_t *) armBitRevTable; 80b14f4: 687b ldr r3, [r7, #4] 80b14f6: 4a27 ldr r2, [pc, #156] ; (80b1594 ) 80b14f8: 609a str r2, [r3, #8] /* Initialise the 1/fftLen Value */ S->onebyfftLen = 0.000244140625; 80b14fa: 687b ldr r3, [r7, #4] 80b14fc: f04f 5266 mov.w r2, #964689920 ; 0x39800000 80b1500: 611a str r2, [r3, #16] break; 80b1502: e03c b.n 80b157e case 1024u: /* Initializations of structure parameters for 1024 point FFT */ /* Initialise the twiddle coef modifier value */ S->twidCoefModifier = 4u; 80b1504: 687b ldr r3, [r7, #4] 80b1506: 2204 movs r2, #4 80b1508: 819a strh r2, [r3, #12] /* Initialise the bit reversal table modifier */ S->bitRevFactor = 4u; 80b150a: 687b ldr r3, [r7, #4] 80b150c: 2204 movs r2, #4 80b150e: 81da strh r2, [r3, #14] /* Initialise the bit reversal table pointer */ S->pBitRevTable = (uint16_t *) & armBitRevTable[3]; 80b1510: 687b ldr r3, [r7, #4] 80b1512: 4a21 ldr r2, [pc, #132] ; (80b1598 ) 80b1514: 609a str r2, [r3, #8] /* Initialise the 1/fftLen Value */ S->onebyfftLen = 0.0009765625f; 80b1516: 687b ldr r3, [r7, #4] 80b1518: f04f 526a mov.w r2, #981467136 ; 0x3a800000 80b151c: 611a str r2, [r3, #16] break; 80b151e: e02e b.n 80b157e case 256u: /* Initializations of structure parameters for 256 point FFT */ S->twidCoefModifier = 16u; 80b1520: 687b ldr r3, [r7, #4] 80b1522: 2210 movs r2, #16 80b1524: 819a strh r2, [r3, #12] S->bitRevFactor = 16u; 80b1526: 687b ldr r3, [r7, #4] 80b1528: 2210 movs r2, #16 80b152a: 81da strh r2, [r3, #14] S->pBitRevTable = (uint16_t *) & armBitRevTable[15]; 80b152c: 687b ldr r3, [r7, #4] 80b152e: 4a1b ldr r2, [pc, #108] ; (80b159c ) 80b1530: 609a str r2, [r3, #8] S->onebyfftLen = 0.00390625f; 80b1532: 687b ldr r3, [r7, #4] 80b1534: f04f 526e mov.w r2, #998244352 ; 0x3b800000 80b1538: 611a str r2, [r3, #16] break; 80b153a: e020 b.n 80b157e case 64u: /* Initializations of structure parameters for 64 point FFT */ S->twidCoefModifier = 64u; 80b153c: 687b ldr r3, [r7, #4] 80b153e: 2240 movs r2, #64 ; 0x40 80b1540: 819a strh r2, [r3, #12] S->bitRevFactor = 64u; 80b1542: 687b ldr r3, [r7, #4] 80b1544: 2240 movs r2, #64 ; 0x40 80b1546: 81da strh r2, [r3, #14] S->pBitRevTable = (uint16_t *) & armBitRevTable[63]; 80b1548: 687b ldr r3, [r7, #4] 80b154a: 4a15 ldr r2, [pc, #84] ; (80b15a0 ) 80b154c: 609a str r2, [r3, #8] S->onebyfftLen = 0.015625f; 80b154e: 687b ldr r3, [r7, #4] 80b1550: f04f 5272 mov.w r2, #1015021568 ; 0x3c800000 80b1554: 611a str r2, [r3, #16] break; 80b1556: e012 b.n 80b157e case 16u: /* Initializations of structure parameters for 16 point FFT */ S->twidCoefModifier = 256u; 80b1558: 687b ldr r3, [r7, #4] 80b155a: f44f 7280 mov.w r2, #256 ; 0x100 80b155e: 819a strh r2, [r3, #12] S->bitRevFactor = 256u; 80b1560: 687b ldr r3, [r7, #4] 80b1562: f44f 7280 mov.w r2, #256 ; 0x100 80b1566: 81da strh r2, [r3, #14] S->pBitRevTable = (uint16_t *) & armBitRevTable[255]; 80b1568: 687b ldr r3, [r7, #4] 80b156a: 4a0e ldr r2, [pc, #56] ; (80b15a4 ) 80b156c: 609a str r2, [r3, #8] S->onebyfftLen = 0.0625f; 80b156e: 687b ldr r3, [r7, #4] 80b1570: f04f 5276 mov.w r2, #1031798784 ; 0x3d800000 80b1574: 611a str r2, [r3, #16] break; 80b1576: e002 b.n 80b157e default: /* Reporting argument error if fftSize is not valid value */ status = ARM_MATH_ARGUMENT_ERROR; 80b1578: 23ff movs r3, #255 ; 0xff 80b157a: 73fb strb r3, [r7, #15] break; 80b157c: bf00 nop } return (status); 80b157e: f997 300f ldrsb.w r3, [r7, #15] } 80b1582: 4618 mov r0, r3 80b1584: 3714 adds r7, #20 80b1586: 46bd mov sp, r7 80b1588: f85d 7b04 ldr.w r7, [sp], #4 80b158c: 4770 bx lr 80b158e: bf00 nop 80b1590: 0817e610 .word 0x0817e610 80b1594: 08177bbc .word 0x08177bbc 80b1598: 08177bc2 .word 0x08177bc2 80b159c: 08177bda .word 0x08177bda 80b15a0: 08177c3a .word 0x08177c3a 80b15a4: 08177dba .word 0x08177dba 080b15a8 : void arm_radix8_butterfly_f32( float32_t * pSrc, uint16_t fftLen, const float32_t * pCoef, uint16_t twidCoefModifier) { 80b15a8: b480 push {r7} 80b15aa: b0bd sub sp, #244 ; 0xf4 80b15ac: af00 add r7, sp, #0 80b15ae: 60f8 str r0, [r7, #12] 80b15b0: 607a str r2, [r7, #4] 80b15b2: 461a mov r2, r3 80b15b4: 460b mov r3, r1 80b15b6: 817b strh r3, [r7, #10] 80b15b8: 4613 mov r3, r2 80b15ba: 813b strh r3, [r7, #8] float32_t t1, t2; float32_t s1, s2, s3, s4, s5, s6, s7, s8; float32_t p1, p2, p3, p4; float32_t co2, co3, co4, co5, co6, co7, co8; float32_t si2, si3, si4, si5, si6, si7, si8; const float32_t C81 = 0.70710678118f; 80b15bc: 4b09 ldr r3, [pc, #36] ; (80b15e4 ) 80b15be: f8c7 30dc str.w r3, [r7, #220] ; 0xdc n2 = fftLen; 80b15c2: 897b ldrh r3, [r7, #10] 80b15c4: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 do { n1 = n2; 80b15c8: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b15cc: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 n2 = n2 >> 3; 80b15d0: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b15d4: 08db lsrs r3, r3, #3 80b15d6: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 i1 = 0; 80b15da: 2300 movs r3, #0 80b15dc: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 80b15e0: e002 b.n 80b15e8 80b15e2: bf00 nop 80b15e4: 3f3504f3 .word 0x3f3504f3 do { i2 = i1 + n2; 80b15e8: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b15ec: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b15f0: 4413 add r3, r2 80b15f2: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 i3 = i2 + n2; 80b15f6: f8d7 20d4 ldr.w r2, [r7, #212] ; 0xd4 80b15fa: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b15fe: 4413 add r3, r2 80b1600: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 i4 = i3 + n2; 80b1604: f8d7 20d0 ldr.w r2, [r7, #208] ; 0xd0 80b1608: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b160c: 4413 add r3, r2 80b160e: f8c7 30cc str.w r3, [r7, #204] ; 0xcc i5 = i4 + n2; 80b1612: f8d7 20cc ldr.w r2, [r7, #204] ; 0xcc 80b1616: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b161a: 4413 add r3, r2 80b161c: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 i6 = i5 + n2; 80b1620: f8d7 20c8 ldr.w r2, [r7, #200] ; 0xc8 80b1624: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1628: 4413 add r3, r2 80b162a: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i7 = i6 + n2; 80b162e: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80b1632: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1636: 4413 add r3, r2 80b1638: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 i8 = i7 + n2; 80b163c: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80b1640: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1644: 4413 add r3, r2 80b1646: f8c7 30bc str.w r3, [r7, #188] ; 0xbc r1 = pSrc[2 * i1] + pSrc[2 * i5]; 80b164a: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b164e: 00db lsls r3, r3, #3 80b1650: 68fa ldr r2, [r7, #12] 80b1652: 4413 add r3, r2 80b1654: ed93 7a00 vldr s14, [r3] 80b1658: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b165c: 00db lsls r3, r3, #3 80b165e: 68fa ldr r2, [r7, #12] 80b1660: 4413 add r3, r2 80b1662: edd3 7a00 vldr s15, [r3] 80b1666: ee77 7a27 vadd.f32 s15, s14, s15 80b166a: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r5 = pSrc[2 * i1] - pSrc[2 * i5]; 80b166e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1672: 00db lsls r3, r3, #3 80b1674: 68fa ldr r2, [r7, #12] 80b1676: 4413 add r3, r2 80b1678: ed93 7a00 vldr s14, [r3] 80b167c: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b1680: 00db lsls r3, r3, #3 80b1682: 68fa ldr r2, [r7, #12] 80b1684: 4413 add r3, r2 80b1686: edd3 7a00 vldr s15, [r3] 80b168a: ee77 7a67 vsub.f32 s15, s14, s15 80b168e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r2 = pSrc[2 * i2] + pSrc[2 * i6]; 80b1692: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1696: 00db lsls r3, r3, #3 80b1698: 68fa ldr r2, [r7, #12] 80b169a: 4413 add r3, r2 80b169c: ed93 7a00 vldr s14, [r3] 80b16a0: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b16a4: 00db lsls r3, r3, #3 80b16a6: 68fa ldr r2, [r7, #12] 80b16a8: 4413 add r3, r2 80b16aa: edd3 7a00 vldr s15, [r3] 80b16ae: ee77 7a27 vadd.f32 s15, s14, s15 80b16b2: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 r6 = pSrc[2 * i2] - pSrc[2 * i6]; 80b16b6: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b16ba: 00db lsls r3, r3, #3 80b16bc: 68fa ldr r2, [r7, #12] 80b16be: 4413 add r3, r2 80b16c0: ed93 7a00 vldr s14, [r3] 80b16c4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b16c8: 00db lsls r3, r3, #3 80b16ca: 68fa ldr r2, [r7, #12] 80b16cc: 4413 add r3, r2 80b16ce: edd3 7a00 vldr s15, [r3] 80b16d2: ee77 7a67 vsub.f32 s15, s14, s15 80b16d6: edc7 7a2b vstr s15, [r7, #172] ; 0xac r3 = pSrc[2 * i3] + pSrc[2 * i7]; 80b16da: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b16de: 00db lsls r3, r3, #3 80b16e0: 68fa ldr r2, [r7, #12] 80b16e2: 4413 add r3, r2 80b16e4: ed93 7a00 vldr s14, [r3] 80b16e8: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b16ec: 00db lsls r3, r3, #3 80b16ee: 68fa ldr r2, [r7, #12] 80b16f0: 4413 add r3, r2 80b16f2: edd3 7a00 vldr s15, [r3] 80b16f6: ee77 7a27 vadd.f32 s15, s14, s15 80b16fa: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r7 = pSrc[2 * i3] - pSrc[2 * i7]; 80b16fe: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b1702: 00db lsls r3, r3, #3 80b1704: 68fa ldr r2, [r7, #12] 80b1706: 4413 add r3, r2 80b1708: ed93 7a00 vldr s14, [r3] 80b170c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b1710: 00db lsls r3, r3, #3 80b1712: 68fa ldr r2, [r7, #12] 80b1714: 4413 add r3, r2 80b1716: edd3 7a00 vldr s15, [r3] 80b171a: ee77 7a67 vsub.f32 s15, s14, s15 80b171e: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 r4 = pSrc[2 * i4] + pSrc[2 * i8]; 80b1722: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1726: 00db lsls r3, r3, #3 80b1728: 68fa ldr r2, [r7, #12] 80b172a: 4413 add r3, r2 80b172c: ed93 7a00 vldr s14, [r3] 80b1730: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1734: 00db lsls r3, r3, #3 80b1736: 68fa ldr r2, [r7, #12] 80b1738: 4413 add r3, r2 80b173a: edd3 7a00 vldr s15, [r3] 80b173e: ee77 7a27 vadd.f32 s15, s14, s15 80b1742: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 r8 = pSrc[2 * i4] - pSrc[2 * i8]; 80b1746: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b174a: 00db lsls r3, r3, #3 80b174c: 68fa ldr r2, [r7, #12] 80b174e: 4413 add r3, r2 80b1750: ed93 7a00 vldr s14, [r3] 80b1754: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1758: 00db lsls r3, r3, #3 80b175a: 68fa ldr r2, [r7, #12] 80b175c: 4413 add r3, r2 80b175e: edd3 7a00 vldr s15, [r3] 80b1762: ee77 7a67 vsub.f32 s15, s14, s15 80b1766: edc7 7a27 vstr s15, [r7, #156] ; 0x9c t1 = r1 - r3; 80b176a: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b176e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b1772: ee77 7a67 vsub.f32 s15, s14, s15 80b1776: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r1 = r1 + r3; 80b177a: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b177e: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b1782: ee77 7a27 vadd.f32 s15, s14, s15 80b1786: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r3 = r2 - r4; 80b178a: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b178e: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b1792: ee77 7a67 vsub.f32 s15, s14, s15 80b1796: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r2 = r2 + r4; 80b179a: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b179e: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b17a2: ee77 7a27 vadd.f32 s15, s14, s15 80b17a6: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 pSrc[2 * i1] = r1 + r2; 80b17aa: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b17ae: 00db lsls r3, r3, #3 80b17b0: 68fa ldr r2, [r7, #12] 80b17b2: 4413 add r3, r2 80b17b4: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b17b8: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b17bc: ee77 7a27 vadd.f32 s15, s14, s15 80b17c0: edc3 7a00 vstr s15, [r3] pSrc[2 * i5] = r1 - r2; 80b17c4: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b17c8: 00db lsls r3, r3, #3 80b17ca: 68fa ldr r2, [r7, #12] 80b17cc: 4413 add r3, r2 80b17ce: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b17d2: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b17d6: ee77 7a67 vsub.f32 s15, s14, s15 80b17da: edc3 7a00 vstr s15, [r3] r1 = pSrc[2 * i1 + 1] + pSrc[2 * i5 + 1]; 80b17de: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b17e2: 00db lsls r3, r3, #3 80b17e4: 3304 adds r3, #4 80b17e6: 68fa ldr r2, [r7, #12] 80b17e8: 4413 add r3, r2 80b17ea: ed93 7a00 vldr s14, [r3] 80b17ee: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b17f2: 00db lsls r3, r3, #3 80b17f4: 3304 adds r3, #4 80b17f6: 68fa ldr r2, [r7, #12] 80b17f8: 4413 add r3, r2 80b17fa: edd3 7a00 vldr s15, [r3] 80b17fe: ee77 7a27 vadd.f32 s15, s14, s15 80b1802: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 s5 = pSrc[2 * i1 + 1] - pSrc[2 * i5 + 1]; 80b1806: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b180a: 00db lsls r3, r3, #3 80b180c: 3304 adds r3, #4 80b180e: 68fa ldr r2, [r7, #12] 80b1810: 4413 add r3, r2 80b1812: ed93 7a00 vldr s14, [r3] 80b1816: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b181a: 00db lsls r3, r3, #3 80b181c: 3304 adds r3, #4 80b181e: 68fa ldr r2, [r7, #12] 80b1820: 4413 add r3, r2 80b1822: edd3 7a00 vldr s15, [r3] 80b1826: ee77 7a67 vsub.f32 s15, s14, s15 80b182a: edc7 7a25 vstr s15, [r7, #148] ; 0x94 r2 = pSrc[2 * i2 + 1] + pSrc[2 * i6 + 1]; 80b182e: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1832: 00db lsls r3, r3, #3 80b1834: 3304 adds r3, #4 80b1836: 68fa ldr r2, [r7, #12] 80b1838: 4413 add r3, r2 80b183a: ed93 7a00 vldr s14, [r3] 80b183e: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1842: 00db lsls r3, r3, #3 80b1844: 3304 adds r3, #4 80b1846: 68fa ldr r2, [r7, #12] 80b1848: 4413 add r3, r2 80b184a: edd3 7a00 vldr s15, [r3] 80b184e: ee77 7a27 vadd.f32 s15, s14, s15 80b1852: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 s6 = pSrc[2 * i2 + 1] - pSrc[2 * i6 + 1]; 80b1856: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b185a: 00db lsls r3, r3, #3 80b185c: 3304 adds r3, #4 80b185e: 68fa ldr r2, [r7, #12] 80b1860: 4413 add r3, r2 80b1862: ed93 7a00 vldr s14, [r3] 80b1866: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b186a: 00db lsls r3, r3, #3 80b186c: 3304 adds r3, #4 80b186e: 68fa ldr r2, [r7, #12] 80b1870: 4413 add r3, r2 80b1872: edd3 7a00 vldr s15, [r3] 80b1876: ee77 7a67 vsub.f32 s15, s14, s15 80b187a: edc7 7a24 vstr s15, [r7, #144] ; 0x90 s3 = pSrc[2 * i3 + 1] + pSrc[2 * i7 + 1]; 80b187e: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b1882: 00db lsls r3, r3, #3 80b1884: 3304 adds r3, #4 80b1886: 68fa ldr r2, [r7, #12] 80b1888: 4413 add r3, r2 80b188a: ed93 7a00 vldr s14, [r3] 80b188e: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b1892: 00db lsls r3, r3, #3 80b1894: 3304 adds r3, #4 80b1896: 68fa ldr r2, [r7, #12] 80b1898: 4413 add r3, r2 80b189a: edd3 7a00 vldr s15, [r3] 80b189e: ee77 7a27 vadd.f32 s15, s14, s15 80b18a2: edc7 7a23 vstr s15, [r7, #140] ; 0x8c s7 = pSrc[2 * i3 + 1] - pSrc[2 * i7 + 1]; 80b18a6: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b18aa: 00db lsls r3, r3, #3 80b18ac: 3304 adds r3, #4 80b18ae: 68fa ldr r2, [r7, #12] 80b18b0: 4413 add r3, r2 80b18b2: ed93 7a00 vldr s14, [r3] 80b18b6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b18ba: 00db lsls r3, r3, #3 80b18bc: 3304 adds r3, #4 80b18be: 68fa ldr r2, [r7, #12] 80b18c0: 4413 add r3, r2 80b18c2: edd3 7a00 vldr s15, [r3] 80b18c6: ee77 7a67 vsub.f32 s15, s14, s15 80b18ca: edc7 7a22 vstr s15, [r7, #136] ; 0x88 r4 = pSrc[2 * i4 + 1] + pSrc[2 * i8 + 1]; 80b18ce: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b18d2: 00db lsls r3, r3, #3 80b18d4: 3304 adds r3, #4 80b18d6: 68fa ldr r2, [r7, #12] 80b18d8: 4413 add r3, r2 80b18da: ed93 7a00 vldr s14, [r3] 80b18de: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b18e2: 00db lsls r3, r3, #3 80b18e4: 3304 adds r3, #4 80b18e6: 68fa ldr r2, [r7, #12] 80b18e8: 4413 add r3, r2 80b18ea: edd3 7a00 vldr s15, [r3] 80b18ee: ee77 7a27 vadd.f32 s15, s14, s15 80b18f2: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 s8 = pSrc[2 * i4 + 1] - pSrc[2 * i8 + 1]; 80b18f6: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b18fa: 00db lsls r3, r3, #3 80b18fc: 3304 adds r3, #4 80b18fe: 68fa ldr r2, [r7, #12] 80b1900: 4413 add r3, r2 80b1902: ed93 7a00 vldr s14, [r3] 80b1906: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b190a: 00db lsls r3, r3, #3 80b190c: 3304 adds r3, #4 80b190e: 68fa ldr r2, [r7, #12] 80b1910: 4413 add r3, r2 80b1912: edd3 7a00 vldr s15, [r3] 80b1916: ee77 7a67 vsub.f32 s15, s14, s15 80b191a: edc7 7a21 vstr s15, [r7, #132] ; 0x84 t2 = r1 - s3; 80b191e: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1922: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b1926: ee77 7a67 vsub.f32 s15, s14, s15 80b192a: edc7 7a20 vstr s15, [r7, #128] ; 0x80 r1 = r1 + s3; 80b192e: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1932: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b1936: ee77 7a27 vadd.f32 s15, s14, s15 80b193a: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 s3 = r2 - r4; 80b193e: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b1942: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b1946: ee77 7a67 vsub.f32 s15, s14, s15 80b194a: edc7 7a23 vstr s15, [r7, #140] ; 0x8c r2 = r2 + r4; 80b194e: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b1952: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b1956: ee77 7a27 vadd.f32 s15, s14, s15 80b195a: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 pSrc[2 * i1 + 1] = r1 + r2; 80b195e: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1962: 00db lsls r3, r3, #3 80b1964: 3304 adds r3, #4 80b1966: 68fa ldr r2, [r7, #12] 80b1968: 4413 add r3, r2 80b196a: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b196e: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1972: ee77 7a27 vadd.f32 s15, s14, s15 80b1976: edc3 7a00 vstr s15, [r3] pSrc[2 * i5 + 1] = r1 - r2; 80b197a: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b197e: 00db lsls r3, r3, #3 80b1980: 3304 adds r3, #4 80b1982: 68fa ldr r2, [r7, #12] 80b1984: 4413 add r3, r2 80b1986: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b198a: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b198e: ee77 7a67 vsub.f32 s15, s14, s15 80b1992: edc3 7a00 vstr s15, [r3] pSrc[2 * i3] = t1 + s3; 80b1996: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b199a: 00db lsls r3, r3, #3 80b199c: 68fa ldr r2, [r7, #12] 80b199e: 4413 add r3, r2 80b19a0: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b19a4: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b19a8: ee77 7a27 vadd.f32 s15, s14, s15 80b19ac: edc3 7a00 vstr s15, [r3] pSrc[2 * i7] = t1 - s3; 80b19b0: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b19b4: 00db lsls r3, r3, #3 80b19b6: 68fa ldr r2, [r7, #12] 80b19b8: 4413 add r3, r2 80b19ba: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b19be: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b19c2: ee77 7a67 vsub.f32 s15, s14, s15 80b19c6: edc3 7a00 vstr s15, [r3] pSrc[2 * i3 + 1] = t2 - r3; 80b19ca: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b19ce: 00db lsls r3, r3, #3 80b19d0: 3304 adds r3, #4 80b19d2: 68fa ldr r2, [r7, #12] 80b19d4: 4413 add r3, r2 80b19d6: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b19da: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b19de: ee77 7a67 vsub.f32 s15, s14, s15 80b19e2: edc3 7a00 vstr s15, [r3] pSrc[2 * i7 + 1] = t2 + r3; 80b19e6: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b19ea: 00db lsls r3, r3, #3 80b19ec: 3304 adds r3, #4 80b19ee: 68fa ldr r2, [r7, #12] 80b19f0: 4413 add r3, r2 80b19f2: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b19f6: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b19fa: ee77 7a27 vadd.f32 s15, s14, s15 80b19fe: edc3 7a00 vstr s15, [r3] r1 = (r6 - r8) * C81; 80b1a02: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b1a06: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b1a0a: ee37 7a67 vsub.f32 s14, s14, s15 80b1a0e: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b1a12: ee67 7a27 vmul.f32 s15, s14, s15 80b1a16: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r6 = (r6 + r8) * C81; 80b1a1a: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b1a1e: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b1a22: ee37 7a27 vadd.f32 s14, s14, s15 80b1a26: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b1a2a: ee67 7a27 vmul.f32 s15, s14, s15 80b1a2e: edc7 7a2b vstr s15, [r7, #172] ; 0xac r2 = (s6 - s8) * C81; 80b1a32: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b1a36: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b1a3a: ee37 7a67 vsub.f32 s14, s14, s15 80b1a3e: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b1a42: ee67 7a27 vmul.f32 s15, s14, s15 80b1a46: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 s6 = (s6 + s8) * C81; 80b1a4a: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b1a4e: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b1a52: ee37 7a27 vadd.f32 s14, s14, s15 80b1a56: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b1a5a: ee67 7a27 vmul.f32 s15, s14, s15 80b1a5e: edc7 7a24 vstr s15, [r7, #144] ; 0x90 t1 = r5 - r1; 80b1a62: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b1a66: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b1a6a: ee77 7a67 vsub.f32 s15, s14, s15 80b1a6e: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r5 = r5 + r1; 80b1a72: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b1a76: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b1a7a: ee77 7a27 vadd.f32 s15, s14, s15 80b1a7e: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r8 = r7 - r6; 80b1a82: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b1a86: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b1a8a: ee77 7a67 vsub.f32 s15, s14, s15 80b1a8e: edc7 7a27 vstr s15, [r7, #156] ; 0x9c r7 = r7 + r6; 80b1a92: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b1a96: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b1a9a: ee77 7a27 vadd.f32 s15, s14, s15 80b1a9e: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 t2 = s5 - r2; 80b1aa2: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b1aa6: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1aaa: ee77 7a67 vsub.f32 s15, s14, s15 80b1aae: edc7 7a20 vstr s15, [r7, #128] ; 0x80 s5 = s5 + r2; 80b1ab2: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b1ab6: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1aba: ee77 7a27 vadd.f32 s15, s14, s15 80b1abe: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s8 = s7 - s6; 80b1ac2: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b1ac6: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b1aca: ee77 7a67 vsub.f32 s15, s14, s15 80b1ace: edc7 7a21 vstr s15, [r7, #132] ; 0x84 s7 = s7 + s6; 80b1ad2: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b1ad6: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b1ada: ee77 7a27 vadd.f32 s15, s14, s15 80b1ade: edc7 7a22 vstr s15, [r7, #136] ; 0x88 pSrc[2 * i2] = r5 + s7; 80b1ae2: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1ae6: 00db lsls r3, r3, #3 80b1ae8: 68fa ldr r2, [r7, #12] 80b1aea: 4413 add r3, r2 80b1aec: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b1af0: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b1af4: ee77 7a27 vadd.f32 s15, s14, s15 80b1af8: edc3 7a00 vstr s15, [r3] pSrc[2 * i8] = r5 - s7; 80b1afc: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1b00: 00db lsls r3, r3, #3 80b1b02: 68fa ldr r2, [r7, #12] 80b1b04: 4413 add r3, r2 80b1b06: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b1b0a: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b1b0e: ee77 7a67 vsub.f32 s15, s14, s15 80b1b12: edc3 7a00 vstr s15, [r3] pSrc[2 * i6] = t1 + s8; 80b1b16: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1b1a: 00db lsls r3, r3, #3 80b1b1c: 68fa ldr r2, [r7, #12] 80b1b1e: 4413 add r3, r2 80b1b20: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b1b24: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b1b28: ee77 7a27 vadd.f32 s15, s14, s15 80b1b2c: edc3 7a00 vstr s15, [r3] pSrc[2 * i4] = t1 - s8; 80b1b30: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1b34: 00db lsls r3, r3, #3 80b1b36: 68fa ldr r2, [r7, #12] 80b1b38: 4413 add r3, r2 80b1b3a: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b1b3e: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b1b42: ee77 7a67 vsub.f32 s15, s14, s15 80b1b46: edc3 7a00 vstr s15, [r3] pSrc[2 * i2 + 1] = s5 - r7; 80b1b4a: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1b4e: 00db lsls r3, r3, #3 80b1b50: 3304 adds r3, #4 80b1b52: 68fa ldr r2, [r7, #12] 80b1b54: 4413 add r3, r2 80b1b56: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b1b5a: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b1b5e: ee77 7a67 vsub.f32 s15, s14, s15 80b1b62: edc3 7a00 vstr s15, [r3] pSrc[2 * i8 + 1] = s5 + r7; 80b1b66: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1b6a: 00db lsls r3, r3, #3 80b1b6c: 3304 adds r3, #4 80b1b6e: 68fa ldr r2, [r7, #12] 80b1b70: 4413 add r3, r2 80b1b72: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b1b76: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b1b7a: ee77 7a27 vadd.f32 s15, s14, s15 80b1b7e: edc3 7a00 vstr s15, [r3] pSrc[2 * i6 + 1] = t2 - r8; 80b1b82: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1b86: 00db lsls r3, r3, #3 80b1b88: 3304 adds r3, #4 80b1b8a: 68fa ldr r2, [r7, #12] 80b1b8c: 4413 add r3, r2 80b1b8e: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b1b92: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b1b96: ee77 7a67 vsub.f32 s15, s14, s15 80b1b9a: edc3 7a00 vstr s15, [r3] pSrc[2 * i4 + 1] = t2 + r8; 80b1b9e: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1ba2: 00db lsls r3, r3, #3 80b1ba4: 3304 adds r3, #4 80b1ba6: 68fa ldr r2, [r7, #12] 80b1ba8: 4413 add r3, r2 80b1baa: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b1bae: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b1bb2: ee77 7a27 vadd.f32 s15, s14, s15 80b1bb6: edc3 7a00 vstr s15, [r3] i1 += n1; 80b1bba: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b1bbe: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b1bc2: 4413 add r3, r2 80b1bc4: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 } while(i1 < fftLen); 80b1bc8: 897a ldrh r2, [r7, #10] 80b1bca: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1bce: 429a cmp r2, r3 80b1bd0: f63f ad0a bhi.w 80b15e8 if(n2 < 8) 80b1bd4: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1bd8: 2b07 cmp r3, #7 80b1bda: f240 84e3 bls.w 80b25a4 break; ia1 = 0; 80b1bde: 2300 movs r3, #0 80b1be0: f8c7 30ec str.w r3, [r7, #236] ; 0xec j = 1; 80b1be4: 2301 movs r3, #1 80b1be6: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 do { /* index calculation for the coefficients */ id = ia1 + twidCoefModifier; 80b1bea: 893a ldrh r2, [r7, #8] 80b1bec: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b1bf0: 4413 add r3, r2 80b1bf2: 67fb str r3, [r7, #124] ; 0x7c ia1 = id; 80b1bf4: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1bf6: f8c7 30ec str.w r3, [r7, #236] ; 0xec ia2 = ia1 + id; 80b1bfa: f8d7 20ec ldr.w r2, [r7, #236] ; 0xec 80b1bfe: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1c00: 4413 add r3, r2 80b1c02: 67bb str r3, [r7, #120] ; 0x78 ia3 = ia2 + id; 80b1c04: 6fba ldr r2, [r7, #120] ; 0x78 80b1c06: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1c08: 4413 add r3, r2 80b1c0a: 677b str r3, [r7, #116] ; 0x74 ia4 = ia3 + id; 80b1c0c: 6f7a ldr r2, [r7, #116] ; 0x74 80b1c0e: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1c10: 4413 add r3, r2 80b1c12: 673b str r3, [r7, #112] ; 0x70 ia5 = ia4 + id; 80b1c14: 6f3a ldr r2, [r7, #112] ; 0x70 80b1c16: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1c18: 4413 add r3, r2 80b1c1a: 66fb str r3, [r7, #108] ; 0x6c ia6 = ia5 + id; 80b1c1c: 6efa ldr r2, [r7, #108] ; 0x6c 80b1c1e: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1c20: 4413 add r3, r2 80b1c22: 66bb str r3, [r7, #104] ; 0x68 ia7 = ia6 + id; 80b1c24: 6eba ldr r2, [r7, #104] ; 0x68 80b1c26: 6ffb ldr r3, [r7, #124] ; 0x7c 80b1c28: 4413 add r3, r2 80b1c2a: 667b str r3, [r7, #100] ; 0x64 co2 = pCoef[2 * ia1]; 80b1c2c: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b1c30: 00db lsls r3, r3, #3 80b1c32: 687a ldr r2, [r7, #4] 80b1c34: 4413 add r3, r2 80b1c36: 681b ldr r3, [r3, #0] 80b1c38: 663b str r3, [r7, #96] ; 0x60 co3 = pCoef[2 * ia2]; 80b1c3a: 6fbb ldr r3, [r7, #120] ; 0x78 80b1c3c: 00db lsls r3, r3, #3 80b1c3e: 687a ldr r2, [r7, #4] 80b1c40: 4413 add r3, r2 80b1c42: 681b ldr r3, [r3, #0] 80b1c44: 65fb str r3, [r7, #92] ; 0x5c co4 = pCoef[2 * ia3]; 80b1c46: 6f7b ldr r3, [r7, #116] ; 0x74 80b1c48: 00db lsls r3, r3, #3 80b1c4a: 687a ldr r2, [r7, #4] 80b1c4c: 4413 add r3, r2 80b1c4e: 681b ldr r3, [r3, #0] 80b1c50: 65bb str r3, [r7, #88] ; 0x58 co5 = pCoef[2 * ia4]; 80b1c52: 6f3b ldr r3, [r7, #112] ; 0x70 80b1c54: 00db lsls r3, r3, #3 80b1c56: 687a ldr r2, [r7, #4] 80b1c58: 4413 add r3, r2 80b1c5a: 681b ldr r3, [r3, #0] 80b1c5c: 657b str r3, [r7, #84] ; 0x54 co6 = pCoef[2 * ia5]; 80b1c5e: 6efb ldr r3, [r7, #108] ; 0x6c 80b1c60: 00db lsls r3, r3, #3 80b1c62: 687a ldr r2, [r7, #4] 80b1c64: 4413 add r3, r2 80b1c66: 681b ldr r3, [r3, #0] 80b1c68: 653b str r3, [r7, #80] ; 0x50 co7 = pCoef[2 * ia6]; 80b1c6a: 6ebb ldr r3, [r7, #104] ; 0x68 80b1c6c: 00db lsls r3, r3, #3 80b1c6e: 687a ldr r2, [r7, #4] 80b1c70: 4413 add r3, r2 80b1c72: 681b ldr r3, [r3, #0] 80b1c74: 64fb str r3, [r7, #76] ; 0x4c co8 = pCoef[2 * ia7]; 80b1c76: 6e7b ldr r3, [r7, #100] ; 0x64 80b1c78: 00db lsls r3, r3, #3 80b1c7a: 687a ldr r2, [r7, #4] 80b1c7c: 4413 add r3, r2 80b1c7e: 681b ldr r3, [r3, #0] 80b1c80: 64bb str r3, [r7, #72] ; 0x48 si2 = pCoef[2 * ia1 + 1]; 80b1c82: f8d7 30ec ldr.w r3, [r7, #236] ; 0xec 80b1c86: 00db lsls r3, r3, #3 80b1c88: 3304 adds r3, #4 80b1c8a: 687a ldr r2, [r7, #4] 80b1c8c: 4413 add r3, r2 80b1c8e: 681b ldr r3, [r3, #0] 80b1c90: 647b str r3, [r7, #68] ; 0x44 si3 = pCoef[2 * ia2 + 1]; 80b1c92: 6fbb ldr r3, [r7, #120] ; 0x78 80b1c94: 00db lsls r3, r3, #3 80b1c96: 3304 adds r3, #4 80b1c98: 687a ldr r2, [r7, #4] 80b1c9a: 4413 add r3, r2 80b1c9c: 681b ldr r3, [r3, #0] 80b1c9e: 643b str r3, [r7, #64] ; 0x40 si4 = pCoef[2 * ia3 + 1]; 80b1ca0: 6f7b ldr r3, [r7, #116] ; 0x74 80b1ca2: 00db lsls r3, r3, #3 80b1ca4: 3304 adds r3, #4 80b1ca6: 687a ldr r2, [r7, #4] 80b1ca8: 4413 add r3, r2 80b1caa: 681b ldr r3, [r3, #0] 80b1cac: 63fb str r3, [r7, #60] ; 0x3c si5 = pCoef[2 * ia4 + 1]; 80b1cae: 6f3b ldr r3, [r7, #112] ; 0x70 80b1cb0: 00db lsls r3, r3, #3 80b1cb2: 3304 adds r3, #4 80b1cb4: 687a ldr r2, [r7, #4] 80b1cb6: 4413 add r3, r2 80b1cb8: 681b ldr r3, [r3, #0] 80b1cba: 63bb str r3, [r7, #56] ; 0x38 si6 = pCoef[2 * ia5 + 1]; 80b1cbc: 6efb ldr r3, [r7, #108] ; 0x6c 80b1cbe: 00db lsls r3, r3, #3 80b1cc0: 3304 adds r3, #4 80b1cc2: 687a ldr r2, [r7, #4] 80b1cc4: 4413 add r3, r2 80b1cc6: 681b ldr r3, [r3, #0] 80b1cc8: 637b str r3, [r7, #52] ; 0x34 si7 = pCoef[2 * ia6 + 1]; 80b1cca: 6ebb ldr r3, [r7, #104] ; 0x68 80b1ccc: 00db lsls r3, r3, #3 80b1cce: 3304 adds r3, #4 80b1cd0: 687a ldr r2, [r7, #4] 80b1cd2: 4413 add r3, r2 80b1cd4: 681b ldr r3, [r3, #0] 80b1cd6: 633b str r3, [r7, #48] ; 0x30 si8 = pCoef[2 * ia7 + 1]; 80b1cd8: 6e7b ldr r3, [r7, #100] ; 0x64 80b1cda: 00db lsls r3, r3, #3 80b1cdc: 3304 adds r3, #4 80b1cde: 687a ldr r2, [r7, #4] 80b1ce0: 4413 add r3, r2 80b1ce2: 681b ldr r3, [r3, #0] 80b1ce4: 62fb str r3, [r7, #44] ; 0x2c i1 = j; 80b1ce6: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b1cea: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 do { /* index calculation for the input */ i2 = i1 + n2; 80b1cee: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b1cf2: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1cf6: 4413 add r3, r2 80b1cf8: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 i3 = i2 + n2; 80b1cfc: f8d7 20d4 ldr.w r2, [r7, #212] ; 0xd4 80b1d00: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1d04: 4413 add r3, r2 80b1d06: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 i4 = i3 + n2; 80b1d0a: f8d7 20d0 ldr.w r2, [r7, #208] ; 0xd0 80b1d0e: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1d12: 4413 add r3, r2 80b1d14: f8c7 30cc str.w r3, [r7, #204] ; 0xcc i5 = i4 + n2; 80b1d18: f8d7 20cc ldr.w r2, [r7, #204] ; 0xcc 80b1d1c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1d20: 4413 add r3, r2 80b1d22: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 i6 = i5 + n2; 80b1d26: f8d7 20c8 ldr.w r2, [r7, #200] ; 0xc8 80b1d2a: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1d2e: 4413 add r3, r2 80b1d30: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 i7 = i6 + n2; 80b1d34: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80b1d38: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1d3c: 4413 add r3, r2 80b1d3e: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 i8 = i7 + n2; 80b1d42: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80b1d46: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b1d4a: 4413 add r3, r2 80b1d4c: f8c7 30bc str.w r3, [r7, #188] ; 0xbc r1 = pSrc[2 * i1] + pSrc[2 * i5]; 80b1d50: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1d54: 00db lsls r3, r3, #3 80b1d56: 68fa ldr r2, [r7, #12] 80b1d58: 4413 add r3, r2 80b1d5a: ed93 7a00 vldr s14, [r3] 80b1d5e: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b1d62: 00db lsls r3, r3, #3 80b1d64: 68fa ldr r2, [r7, #12] 80b1d66: 4413 add r3, r2 80b1d68: edd3 7a00 vldr s15, [r3] 80b1d6c: ee77 7a27 vadd.f32 s15, s14, s15 80b1d70: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r5 = pSrc[2 * i1] - pSrc[2 * i5]; 80b1d74: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1d78: 00db lsls r3, r3, #3 80b1d7a: 68fa ldr r2, [r7, #12] 80b1d7c: 4413 add r3, r2 80b1d7e: ed93 7a00 vldr s14, [r3] 80b1d82: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b1d86: 00db lsls r3, r3, #3 80b1d88: 68fa ldr r2, [r7, #12] 80b1d8a: 4413 add r3, r2 80b1d8c: edd3 7a00 vldr s15, [r3] 80b1d90: ee77 7a67 vsub.f32 s15, s14, s15 80b1d94: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r2 = pSrc[2 * i2] + pSrc[2 * i6]; 80b1d98: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1d9c: 00db lsls r3, r3, #3 80b1d9e: 68fa ldr r2, [r7, #12] 80b1da0: 4413 add r3, r2 80b1da2: ed93 7a00 vldr s14, [r3] 80b1da6: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1daa: 00db lsls r3, r3, #3 80b1dac: 68fa ldr r2, [r7, #12] 80b1dae: 4413 add r3, r2 80b1db0: edd3 7a00 vldr s15, [r3] 80b1db4: ee77 7a27 vadd.f32 s15, s14, s15 80b1db8: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 r6 = pSrc[2 * i2] - pSrc[2 * i6]; 80b1dbc: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1dc0: 00db lsls r3, r3, #3 80b1dc2: 68fa ldr r2, [r7, #12] 80b1dc4: 4413 add r3, r2 80b1dc6: ed93 7a00 vldr s14, [r3] 80b1dca: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1dce: 00db lsls r3, r3, #3 80b1dd0: 68fa ldr r2, [r7, #12] 80b1dd2: 4413 add r3, r2 80b1dd4: edd3 7a00 vldr s15, [r3] 80b1dd8: ee77 7a67 vsub.f32 s15, s14, s15 80b1ddc: edc7 7a2b vstr s15, [r7, #172] ; 0xac r3 = pSrc[2 * i3] + pSrc[2 * i7]; 80b1de0: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b1de4: 00db lsls r3, r3, #3 80b1de6: 68fa ldr r2, [r7, #12] 80b1de8: 4413 add r3, r2 80b1dea: ed93 7a00 vldr s14, [r3] 80b1dee: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b1df2: 00db lsls r3, r3, #3 80b1df4: 68fa ldr r2, [r7, #12] 80b1df6: 4413 add r3, r2 80b1df8: edd3 7a00 vldr s15, [r3] 80b1dfc: ee77 7a27 vadd.f32 s15, s14, s15 80b1e00: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r7 = pSrc[2 * i3] - pSrc[2 * i7]; 80b1e04: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b1e08: 00db lsls r3, r3, #3 80b1e0a: 68fa ldr r2, [r7, #12] 80b1e0c: 4413 add r3, r2 80b1e0e: ed93 7a00 vldr s14, [r3] 80b1e12: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b1e16: 00db lsls r3, r3, #3 80b1e18: 68fa ldr r2, [r7, #12] 80b1e1a: 4413 add r3, r2 80b1e1c: edd3 7a00 vldr s15, [r3] 80b1e20: ee77 7a67 vsub.f32 s15, s14, s15 80b1e24: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 r4 = pSrc[2 * i4] + pSrc[2 * i8]; 80b1e28: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1e2c: 00db lsls r3, r3, #3 80b1e2e: 68fa ldr r2, [r7, #12] 80b1e30: 4413 add r3, r2 80b1e32: ed93 7a00 vldr s14, [r3] 80b1e36: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1e3a: 00db lsls r3, r3, #3 80b1e3c: 68fa ldr r2, [r7, #12] 80b1e3e: 4413 add r3, r2 80b1e40: edd3 7a00 vldr s15, [r3] 80b1e44: ee77 7a27 vadd.f32 s15, s14, s15 80b1e48: edc7 7a28 vstr s15, [r7, #160] ; 0xa0 r8 = pSrc[2 * i4] - pSrc[2 * i8]; 80b1e4c: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1e50: 00db lsls r3, r3, #3 80b1e52: 68fa ldr r2, [r7, #12] 80b1e54: 4413 add r3, r2 80b1e56: ed93 7a00 vldr s14, [r3] 80b1e5a: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1e5e: 00db lsls r3, r3, #3 80b1e60: 68fa ldr r2, [r7, #12] 80b1e62: 4413 add r3, r2 80b1e64: edd3 7a00 vldr s15, [r3] 80b1e68: ee77 7a67 vsub.f32 s15, s14, s15 80b1e6c: edc7 7a27 vstr s15, [r7, #156] ; 0x9c t1 = r1 - r3; 80b1e70: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1e74: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b1e78: ee77 7a67 vsub.f32 s15, s14, s15 80b1e7c: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r1 = r1 + r3; 80b1e80: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1e84: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b1e88: ee77 7a27 vadd.f32 s15, s14, s15 80b1e8c: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r3 = r2 - r4; 80b1e90: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b1e94: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b1e98: ee77 7a67 vsub.f32 s15, s14, s15 80b1e9c: edc7 7a2a vstr s15, [r7, #168] ; 0xa8 r2 = r2 + r4; 80b1ea0: ed97 7a2c vldr s14, [r7, #176] ; 0xb0 80b1ea4: edd7 7a28 vldr s15, [r7, #160] ; 0xa0 80b1ea8: ee77 7a27 vadd.f32 s15, s14, s15 80b1eac: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 pSrc[2 * i1] = r1 + r2; 80b1eb0: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1eb4: 00db lsls r3, r3, #3 80b1eb6: 68fa ldr r2, [r7, #12] 80b1eb8: 4413 add r3, r2 80b1eba: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1ebe: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1ec2: ee77 7a27 vadd.f32 s15, s14, s15 80b1ec6: edc3 7a00 vstr s15, [r3] r2 = r1 - r2; 80b1eca: ed97 7a2e vldr s14, [r7, #184] ; 0xb8 80b1ece: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b1ed2: ee77 7a67 vsub.f32 s15, s14, s15 80b1ed6: edc7 7a2c vstr s15, [r7, #176] ; 0xb0 s1 = pSrc[2 * i1 + 1] + pSrc[2 * i5 + 1]; 80b1eda: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1ede: 00db lsls r3, r3, #3 80b1ee0: 3304 adds r3, #4 80b1ee2: 68fa ldr r2, [r7, #12] 80b1ee4: 4413 add r3, r2 80b1ee6: ed93 7a00 vldr s14, [r3] 80b1eea: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b1eee: 00db lsls r3, r3, #3 80b1ef0: 3304 adds r3, #4 80b1ef2: 68fa ldr r2, [r7, #12] 80b1ef4: 4413 add r3, r2 80b1ef6: edd3 7a00 vldr s15, [r3] 80b1efa: ee77 7a27 vadd.f32 s15, s14, s15 80b1efe: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s5 = pSrc[2 * i1 + 1] - pSrc[2 * i5 + 1]; 80b1f02: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b1f06: 00db lsls r3, r3, #3 80b1f08: 3304 adds r3, #4 80b1f0a: 68fa ldr r2, [r7, #12] 80b1f0c: 4413 add r3, r2 80b1f0e: ed93 7a00 vldr s14, [r3] 80b1f12: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b1f16: 00db lsls r3, r3, #3 80b1f18: 3304 adds r3, #4 80b1f1a: 68fa ldr r2, [r7, #12] 80b1f1c: 4413 add r3, r2 80b1f1e: edd3 7a00 vldr s15, [r3] 80b1f22: ee77 7a67 vsub.f32 s15, s14, s15 80b1f26: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s2 = pSrc[2 * i2 + 1] + pSrc[2 * i6 + 1]; 80b1f2a: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1f2e: 00db lsls r3, r3, #3 80b1f30: 3304 adds r3, #4 80b1f32: 68fa ldr r2, [r7, #12] 80b1f34: 4413 add r3, r2 80b1f36: ed93 7a00 vldr s14, [r3] 80b1f3a: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1f3e: 00db lsls r3, r3, #3 80b1f40: 3304 adds r3, #4 80b1f42: 68fa ldr r2, [r7, #12] 80b1f44: 4413 add r3, r2 80b1f46: edd3 7a00 vldr s15, [r3] 80b1f4a: ee77 7a27 vadd.f32 s15, s14, s15 80b1f4e: edc7 7a09 vstr s15, [r7, #36] ; 0x24 s6 = pSrc[2 * i2 + 1] - pSrc[2 * i6 + 1]; 80b1f52: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b1f56: 00db lsls r3, r3, #3 80b1f58: 3304 adds r3, #4 80b1f5a: 68fa ldr r2, [r7, #12] 80b1f5c: 4413 add r3, r2 80b1f5e: ed93 7a00 vldr s14, [r3] 80b1f62: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b1f66: 00db lsls r3, r3, #3 80b1f68: 3304 adds r3, #4 80b1f6a: 68fa ldr r2, [r7, #12] 80b1f6c: 4413 add r3, r2 80b1f6e: edd3 7a00 vldr s15, [r3] 80b1f72: ee77 7a67 vsub.f32 s15, s14, s15 80b1f76: edc7 7a24 vstr s15, [r7, #144] ; 0x90 s3 = pSrc[2 * i3 + 1] + pSrc[2 * i7 + 1]; 80b1f7a: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b1f7e: 00db lsls r3, r3, #3 80b1f80: 3304 adds r3, #4 80b1f82: 68fa ldr r2, [r7, #12] 80b1f84: 4413 add r3, r2 80b1f86: ed93 7a00 vldr s14, [r3] 80b1f8a: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b1f8e: 00db lsls r3, r3, #3 80b1f90: 3304 adds r3, #4 80b1f92: 68fa ldr r2, [r7, #12] 80b1f94: 4413 add r3, r2 80b1f96: edd3 7a00 vldr s15, [r3] 80b1f9a: ee77 7a27 vadd.f32 s15, s14, s15 80b1f9e: edc7 7a23 vstr s15, [r7, #140] ; 0x8c s7 = pSrc[2 * i3 + 1] - pSrc[2 * i7 + 1]; 80b1fa2: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b1fa6: 00db lsls r3, r3, #3 80b1fa8: 3304 adds r3, #4 80b1faa: 68fa ldr r2, [r7, #12] 80b1fac: 4413 add r3, r2 80b1fae: ed93 7a00 vldr s14, [r3] 80b1fb2: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b1fb6: 00db lsls r3, r3, #3 80b1fb8: 3304 adds r3, #4 80b1fba: 68fa ldr r2, [r7, #12] 80b1fbc: 4413 add r3, r2 80b1fbe: edd3 7a00 vldr s15, [r3] 80b1fc2: ee77 7a67 vsub.f32 s15, s14, s15 80b1fc6: edc7 7a22 vstr s15, [r7, #136] ; 0x88 s4 = pSrc[2 * i4 + 1] + pSrc[2 * i8 + 1]; 80b1fca: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1fce: 00db lsls r3, r3, #3 80b1fd0: 3304 adds r3, #4 80b1fd2: 68fa ldr r2, [r7, #12] 80b1fd4: 4413 add r3, r2 80b1fd6: ed93 7a00 vldr s14, [r3] 80b1fda: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b1fde: 00db lsls r3, r3, #3 80b1fe0: 3304 adds r3, #4 80b1fe2: 68fa ldr r2, [r7, #12] 80b1fe4: 4413 add r3, r2 80b1fe6: edd3 7a00 vldr s15, [r3] 80b1fea: ee77 7a27 vadd.f32 s15, s14, s15 80b1fee: edc7 7a08 vstr s15, [r7, #32] s8 = pSrc[2 * i4 + 1] - pSrc[2 * i8 + 1]; 80b1ff2: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b1ff6: 00db lsls r3, r3, #3 80b1ff8: 3304 adds r3, #4 80b1ffa: 68fa ldr r2, [r7, #12] 80b1ffc: 4413 add r3, r2 80b1ffe: ed93 7a00 vldr s14, [r3] 80b2002: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b2006: 00db lsls r3, r3, #3 80b2008: 3304 adds r3, #4 80b200a: 68fa ldr r2, [r7, #12] 80b200c: 4413 add r3, r2 80b200e: edd3 7a00 vldr s15, [r3] 80b2012: ee77 7a67 vsub.f32 s15, s14, s15 80b2016: edc7 7a21 vstr s15, [r7, #132] ; 0x84 t2 = s1 - s3; 80b201a: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b201e: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b2022: ee77 7a67 vsub.f32 s15, s14, s15 80b2026: edc7 7a20 vstr s15, [r7, #128] ; 0x80 s1 = s1 + s3; 80b202a: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b202e: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b2032: ee77 7a27 vadd.f32 s15, s14, s15 80b2036: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s3 = s2 - s4; 80b203a: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b203e: edd7 7a08 vldr s15, [r7, #32] 80b2042: ee77 7a67 vsub.f32 s15, s14, s15 80b2046: edc7 7a23 vstr s15, [r7, #140] ; 0x8c s2 = s2 + s4; 80b204a: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b204e: edd7 7a08 vldr s15, [r7, #32] 80b2052: ee77 7a27 vadd.f32 s15, s14, s15 80b2056: edc7 7a09 vstr s15, [r7, #36] ; 0x24 r1 = t1 + s3; 80b205a: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b205e: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b2062: ee77 7a27 vadd.f32 s15, s14, s15 80b2066: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 t1 = t1 - s3; 80b206a: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b206e: edd7 7a23 vldr s15, [r7, #140] ; 0x8c 80b2072: ee77 7a67 vsub.f32 s15, s14, s15 80b2076: edc7 7a26 vstr s15, [r7, #152] ; 0x98 pSrc[2 * i1 + 1] = s1 + s2; 80b207a: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b207e: 00db lsls r3, r3, #3 80b2080: 3304 adds r3, #4 80b2082: 68fa ldr r2, [r7, #12] 80b2084: 4413 add r3, r2 80b2086: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b208a: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b208e: ee77 7a27 vadd.f32 s15, s14, s15 80b2092: edc3 7a00 vstr s15, [r3] s2 = s1 - s2; 80b2096: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b209a: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b209e: ee77 7a67 vsub.f32 s15, s14, s15 80b20a2: edc7 7a09 vstr s15, [r7, #36] ; 0x24 s1 = t2 - r3; 80b20a6: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b20aa: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b20ae: ee77 7a67 vsub.f32 s15, s14, s15 80b20b2: edc7 7a0a vstr s15, [r7, #40] ; 0x28 t2 = t2 + r3; 80b20b6: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b20ba: edd7 7a2a vldr s15, [r7, #168] ; 0xa8 80b20be: ee77 7a27 vadd.f32 s15, s14, s15 80b20c2: edc7 7a20 vstr s15, [r7, #128] ; 0x80 p1 = co5 * r2; 80b20c6: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b20ca: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b20ce: ee67 7a27 vmul.f32 s15, s14, s15 80b20d2: edc7 7a07 vstr s15, [r7, #28] p2 = si5 * s2; 80b20d6: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b20da: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b20de: ee67 7a27 vmul.f32 s15, s14, s15 80b20e2: edc7 7a06 vstr s15, [r7, #24] p3 = co5 * s2; 80b20e6: ed97 7a15 vldr s14, [r7, #84] ; 0x54 80b20ea: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b20ee: ee67 7a27 vmul.f32 s15, s14, s15 80b20f2: edc7 7a05 vstr s15, [r7, #20] p4 = si5 * r2; 80b20f6: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b20fa: edd7 7a2c vldr s15, [r7, #176] ; 0xb0 80b20fe: ee67 7a27 vmul.f32 s15, s14, s15 80b2102: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i5] = p1 + p2; 80b2106: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b210a: 00db lsls r3, r3, #3 80b210c: 68fa ldr r2, [r7, #12] 80b210e: 4413 add r3, r2 80b2110: ed97 7a07 vldr s14, [r7, #28] 80b2114: edd7 7a06 vldr s15, [r7, #24] 80b2118: ee77 7a27 vadd.f32 s15, s14, s15 80b211c: edc3 7a00 vstr s15, [r3] pSrc[2 * i5 + 1] = p3 - p4; 80b2120: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80b2124: 00db lsls r3, r3, #3 80b2126: 3304 adds r3, #4 80b2128: 68fa ldr r2, [r7, #12] 80b212a: 4413 add r3, r2 80b212c: ed97 7a05 vldr s14, [r7, #20] 80b2130: edd7 7a04 vldr s15, [r7, #16] 80b2134: ee77 7a67 vsub.f32 s15, s14, s15 80b2138: edc3 7a00 vstr s15, [r3] p1 = co3 * r1; 80b213c: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b2140: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b2144: ee67 7a27 vmul.f32 s15, s14, s15 80b2148: edc7 7a07 vstr s15, [r7, #28] p2 = si3 * s1; 80b214c: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b2150: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b2154: ee67 7a27 vmul.f32 s15, s14, s15 80b2158: edc7 7a06 vstr s15, [r7, #24] p3 = co3 * s1; 80b215c: ed97 7a17 vldr s14, [r7, #92] ; 0x5c 80b2160: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b2164: ee67 7a27 vmul.f32 s15, s14, s15 80b2168: edc7 7a05 vstr s15, [r7, #20] p4 = si3 * r1; 80b216c: ed97 7a10 vldr s14, [r7, #64] ; 0x40 80b2170: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b2174: ee67 7a27 vmul.f32 s15, s14, s15 80b2178: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i3] = p1 + p2; 80b217c: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b2180: 00db lsls r3, r3, #3 80b2182: 68fa ldr r2, [r7, #12] 80b2184: 4413 add r3, r2 80b2186: ed97 7a07 vldr s14, [r7, #28] 80b218a: edd7 7a06 vldr s15, [r7, #24] 80b218e: ee77 7a27 vadd.f32 s15, s14, s15 80b2192: edc3 7a00 vstr s15, [r3] pSrc[2 * i3 + 1] = p3 - p4; 80b2196: f8d7 30d0 ldr.w r3, [r7, #208] ; 0xd0 80b219a: 00db lsls r3, r3, #3 80b219c: 3304 adds r3, #4 80b219e: 68fa ldr r2, [r7, #12] 80b21a0: 4413 add r3, r2 80b21a2: ed97 7a05 vldr s14, [r7, #20] 80b21a6: edd7 7a04 vldr s15, [r7, #16] 80b21aa: ee77 7a67 vsub.f32 s15, s14, s15 80b21ae: edc3 7a00 vstr s15, [r3] p1 = co7 * t1; 80b21b2: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b21b6: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b21ba: ee67 7a27 vmul.f32 s15, s14, s15 80b21be: edc7 7a07 vstr s15, [r7, #28] p2 = si7 * t2; 80b21c2: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b21c6: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b21ca: ee67 7a27 vmul.f32 s15, s14, s15 80b21ce: edc7 7a06 vstr s15, [r7, #24] p3 = co7 * t2; 80b21d2: ed97 7a13 vldr s14, [r7, #76] ; 0x4c 80b21d6: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b21da: ee67 7a27 vmul.f32 s15, s14, s15 80b21de: edc7 7a05 vstr s15, [r7, #20] p4 = si7 * t1; 80b21e2: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b21e6: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b21ea: ee67 7a27 vmul.f32 s15, s14, s15 80b21ee: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i7] = p1 + p2; 80b21f2: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b21f6: 00db lsls r3, r3, #3 80b21f8: 68fa ldr r2, [r7, #12] 80b21fa: 4413 add r3, r2 80b21fc: ed97 7a07 vldr s14, [r7, #28] 80b2200: edd7 7a06 vldr s15, [r7, #24] 80b2204: ee77 7a27 vadd.f32 s15, s14, s15 80b2208: edc3 7a00 vstr s15, [r3] pSrc[2 * i7 + 1] = p3 - p4; 80b220c: f8d7 30c0 ldr.w r3, [r7, #192] ; 0xc0 80b2210: 00db lsls r3, r3, #3 80b2212: 3304 adds r3, #4 80b2214: 68fa ldr r2, [r7, #12] 80b2216: 4413 add r3, r2 80b2218: ed97 7a05 vldr s14, [r7, #20] 80b221c: edd7 7a04 vldr s15, [r7, #16] 80b2220: ee77 7a67 vsub.f32 s15, s14, s15 80b2224: edc3 7a00 vstr s15, [r3] r1 = (r6 - r8) * C81; 80b2228: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b222c: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b2230: ee37 7a67 vsub.f32 s14, s14, s15 80b2234: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b2238: ee67 7a27 vmul.f32 s15, s14, s15 80b223c: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r6 = (r6 + r8) * C81; 80b2240: ed97 7a2b vldr s14, [r7, #172] ; 0xac 80b2244: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b2248: ee37 7a27 vadd.f32 s14, s14, s15 80b224c: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b2250: ee67 7a27 vmul.f32 s15, s14, s15 80b2254: edc7 7a2b vstr s15, [r7, #172] ; 0xac s1 = (s6 - s8) * C81; 80b2258: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b225c: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b2260: ee37 7a67 vsub.f32 s14, s14, s15 80b2264: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b2268: ee67 7a27 vmul.f32 s15, s14, s15 80b226c: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s6 = (s6 + s8) * C81; 80b2270: ed97 7a24 vldr s14, [r7, #144] ; 0x90 80b2274: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b2278: ee37 7a27 vadd.f32 s14, s14, s15 80b227c: edd7 7a37 vldr s15, [r7, #220] ; 0xdc 80b2280: ee67 7a27 vmul.f32 s15, s14, s15 80b2284: edc7 7a24 vstr s15, [r7, #144] ; 0x90 t1 = r5 - r1; 80b2288: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b228c: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b2290: ee77 7a67 vsub.f32 s15, s14, s15 80b2294: edc7 7a26 vstr s15, [r7, #152] ; 0x98 r5 = r5 + r1; 80b2298: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b229c: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b22a0: ee77 7a27 vadd.f32 s15, s14, s15 80b22a4: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r8 = r7 - r6; 80b22a8: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b22ac: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b22b0: ee77 7a67 vsub.f32 s15, s14, s15 80b22b4: edc7 7a27 vstr s15, [r7, #156] ; 0x9c r7 = r7 + r6; 80b22b8: ed97 7a29 vldr s14, [r7, #164] ; 0xa4 80b22bc: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b22c0: ee77 7a27 vadd.f32 s15, s14, s15 80b22c4: edc7 7a29 vstr s15, [r7, #164] ; 0xa4 t2 = s5 - s1; 80b22c8: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b22cc: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b22d0: ee77 7a67 vsub.f32 s15, s14, s15 80b22d4: edc7 7a20 vstr s15, [r7, #128] ; 0x80 s5 = s5 + s1; 80b22d8: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b22dc: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b22e0: ee77 7a27 vadd.f32 s15, s14, s15 80b22e4: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s8 = s7 - s6; 80b22e8: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b22ec: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b22f0: ee77 7a67 vsub.f32 s15, s14, s15 80b22f4: edc7 7a21 vstr s15, [r7, #132] ; 0x84 s7 = s7 + s6; 80b22f8: ed97 7a22 vldr s14, [r7, #136] ; 0x88 80b22fc: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b2300: ee77 7a27 vadd.f32 s15, s14, s15 80b2304: edc7 7a22 vstr s15, [r7, #136] ; 0x88 r1 = r5 + s7; 80b2308: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b230c: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b2310: ee77 7a27 vadd.f32 s15, s14, s15 80b2314: edc7 7a2e vstr s15, [r7, #184] ; 0xb8 r5 = r5 - s7; 80b2318: ed97 7a2d vldr s14, [r7, #180] ; 0xb4 80b231c: edd7 7a22 vldr s15, [r7, #136] ; 0x88 80b2320: ee77 7a67 vsub.f32 s15, s14, s15 80b2324: edc7 7a2d vstr s15, [r7, #180] ; 0xb4 r6 = t1 + s8; 80b2328: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b232c: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b2330: ee77 7a27 vadd.f32 s15, s14, s15 80b2334: edc7 7a2b vstr s15, [r7, #172] ; 0xac t1 = t1 - s8; 80b2338: ed97 7a26 vldr s14, [r7, #152] ; 0x98 80b233c: edd7 7a21 vldr s15, [r7, #132] ; 0x84 80b2340: ee77 7a67 vsub.f32 s15, s14, s15 80b2344: edc7 7a26 vstr s15, [r7, #152] ; 0x98 s1 = s5 - r7; 80b2348: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b234c: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b2350: ee77 7a67 vsub.f32 s15, s14, s15 80b2354: edc7 7a0a vstr s15, [r7, #40] ; 0x28 s5 = s5 + r7; 80b2358: ed97 7a25 vldr s14, [r7, #148] ; 0x94 80b235c: edd7 7a29 vldr s15, [r7, #164] ; 0xa4 80b2360: ee77 7a27 vadd.f32 s15, s14, s15 80b2364: edc7 7a25 vstr s15, [r7, #148] ; 0x94 s6 = t2 - r8; 80b2368: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b236c: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b2370: ee77 7a67 vsub.f32 s15, s14, s15 80b2374: edc7 7a24 vstr s15, [r7, #144] ; 0x90 t2 = t2 + r8; 80b2378: ed97 7a20 vldr s14, [r7, #128] ; 0x80 80b237c: edd7 7a27 vldr s15, [r7, #156] ; 0x9c 80b2380: ee77 7a27 vadd.f32 s15, s14, s15 80b2384: edc7 7a20 vstr s15, [r7, #128] ; 0x80 p1 = co2 * r1; 80b2388: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b238c: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b2390: ee67 7a27 vmul.f32 s15, s14, s15 80b2394: edc7 7a07 vstr s15, [r7, #28] p2 = si2 * s1; 80b2398: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80b239c: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b23a0: ee67 7a27 vmul.f32 s15, s14, s15 80b23a4: edc7 7a06 vstr s15, [r7, #24] p3 = co2 * s1; 80b23a8: ed97 7a18 vldr s14, [r7, #96] ; 0x60 80b23ac: edd7 7a0a vldr s15, [r7, #40] ; 0x28 80b23b0: ee67 7a27 vmul.f32 s15, s14, s15 80b23b4: edc7 7a05 vstr s15, [r7, #20] p4 = si2 * r1; 80b23b8: ed97 7a11 vldr s14, [r7, #68] ; 0x44 80b23bc: edd7 7a2e vldr s15, [r7, #184] ; 0xb8 80b23c0: ee67 7a27 vmul.f32 s15, s14, s15 80b23c4: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i2] = p1 + p2; 80b23c8: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b23cc: 00db lsls r3, r3, #3 80b23ce: 68fa ldr r2, [r7, #12] 80b23d0: 4413 add r3, r2 80b23d2: ed97 7a07 vldr s14, [r7, #28] 80b23d6: edd7 7a06 vldr s15, [r7, #24] 80b23da: ee77 7a27 vadd.f32 s15, s14, s15 80b23de: edc3 7a00 vstr s15, [r3] pSrc[2 * i2 + 1] = p3 - p4; 80b23e2: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80b23e6: 00db lsls r3, r3, #3 80b23e8: 3304 adds r3, #4 80b23ea: 68fa ldr r2, [r7, #12] 80b23ec: 4413 add r3, r2 80b23ee: ed97 7a05 vldr s14, [r7, #20] 80b23f2: edd7 7a04 vldr s15, [r7, #16] 80b23f6: ee77 7a67 vsub.f32 s15, s14, s15 80b23fa: edc3 7a00 vstr s15, [r3] p1 = co8 * r5; 80b23fe: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b2402: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80b2406: ee67 7a27 vmul.f32 s15, s14, s15 80b240a: edc7 7a07 vstr s15, [r7, #28] p2 = si8 * s5; 80b240e: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b2412: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b2416: ee67 7a27 vmul.f32 s15, s14, s15 80b241a: edc7 7a06 vstr s15, [r7, #24] p3 = co8 * s5; 80b241e: ed97 7a12 vldr s14, [r7, #72] ; 0x48 80b2422: edd7 7a25 vldr s15, [r7, #148] ; 0x94 80b2426: ee67 7a27 vmul.f32 s15, s14, s15 80b242a: edc7 7a05 vstr s15, [r7, #20] p4 = si8 * r5; 80b242e: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b2432: edd7 7a2d vldr s15, [r7, #180] ; 0xb4 80b2436: ee67 7a27 vmul.f32 s15, s14, s15 80b243a: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i8] = p1 + p2; 80b243e: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b2442: 00db lsls r3, r3, #3 80b2444: 68fa ldr r2, [r7, #12] 80b2446: 4413 add r3, r2 80b2448: ed97 7a07 vldr s14, [r7, #28] 80b244c: edd7 7a06 vldr s15, [r7, #24] 80b2450: ee77 7a27 vadd.f32 s15, s14, s15 80b2454: edc3 7a00 vstr s15, [r3] pSrc[2 * i8 + 1] = p3 - p4; 80b2458: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80b245c: 00db lsls r3, r3, #3 80b245e: 3304 adds r3, #4 80b2460: 68fa ldr r2, [r7, #12] 80b2462: 4413 add r3, r2 80b2464: ed97 7a05 vldr s14, [r7, #20] 80b2468: edd7 7a04 vldr s15, [r7, #16] 80b246c: ee77 7a67 vsub.f32 s15, s14, s15 80b2470: edc3 7a00 vstr s15, [r3] p1 = co6 * r6; 80b2474: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b2478: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b247c: ee67 7a27 vmul.f32 s15, s14, s15 80b2480: edc7 7a07 vstr s15, [r7, #28] p2 = si6 * s6; 80b2484: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b2488: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b248c: ee67 7a27 vmul.f32 s15, s14, s15 80b2490: edc7 7a06 vstr s15, [r7, #24] p3 = co6 * s6; 80b2494: ed97 7a14 vldr s14, [r7, #80] ; 0x50 80b2498: edd7 7a24 vldr s15, [r7, #144] ; 0x90 80b249c: ee67 7a27 vmul.f32 s15, s14, s15 80b24a0: edc7 7a05 vstr s15, [r7, #20] p4 = si6 * r6; 80b24a4: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b24a8: edd7 7a2b vldr s15, [r7, #172] ; 0xac 80b24ac: ee67 7a27 vmul.f32 s15, s14, s15 80b24b0: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i6] = p1 + p2; 80b24b4: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b24b8: 00db lsls r3, r3, #3 80b24ba: 68fa ldr r2, [r7, #12] 80b24bc: 4413 add r3, r2 80b24be: ed97 7a07 vldr s14, [r7, #28] 80b24c2: edd7 7a06 vldr s15, [r7, #24] 80b24c6: ee77 7a27 vadd.f32 s15, s14, s15 80b24ca: edc3 7a00 vstr s15, [r3] pSrc[2 * i6 + 1] = p3 - p4; 80b24ce: f8d7 30c4 ldr.w r3, [r7, #196] ; 0xc4 80b24d2: 00db lsls r3, r3, #3 80b24d4: 3304 adds r3, #4 80b24d6: 68fa ldr r2, [r7, #12] 80b24d8: 4413 add r3, r2 80b24da: ed97 7a05 vldr s14, [r7, #20] 80b24de: edd7 7a04 vldr s15, [r7, #16] 80b24e2: ee77 7a67 vsub.f32 s15, s14, s15 80b24e6: edc3 7a00 vstr s15, [r3] p1 = co4 * t1; 80b24ea: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b24ee: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b24f2: ee67 7a27 vmul.f32 s15, s14, s15 80b24f6: edc7 7a07 vstr s15, [r7, #28] p2 = si4 * t2; 80b24fa: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b24fe: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b2502: ee67 7a27 vmul.f32 s15, s14, s15 80b2506: edc7 7a06 vstr s15, [r7, #24] p3 = co4 * t2; 80b250a: ed97 7a16 vldr s14, [r7, #88] ; 0x58 80b250e: edd7 7a20 vldr s15, [r7, #128] ; 0x80 80b2512: ee67 7a27 vmul.f32 s15, s14, s15 80b2516: edc7 7a05 vstr s15, [r7, #20] p4 = si4 * t1; 80b251a: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b251e: edd7 7a26 vldr s15, [r7, #152] ; 0x98 80b2522: ee67 7a27 vmul.f32 s15, s14, s15 80b2526: edc7 7a04 vstr s15, [r7, #16] pSrc[2 * i4] = p1 + p2; 80b252a: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b252e: 00db lsls r3, r3, #3 80b2530: 68fa ldr r2, [r7, #12] 80b2532: 4413 add r3, r2 80b2534: ed97 7a07 vldr s14, [r7, #28] 80b2538: edd7 7a06 vldr s15, [r7, #24] 80b253c: ee77 7a27 vadd.f32 s15, s14, s15 80b2540: edc3 7a00 vstr s15, [r3] pSrc[2 * i4 + 1] = p3 - p4; 80b2544: f8d7 30cc ldr.w r3, [r7, #204] ; 0xcc 80b2548: 00db lsls r3, r3, #3 80b254a: 3304 adds r3, #4 80b254c: 68fa ldr r2, [r7, #12] 80b254e: 4413 add r3, r2 80b2550: ed97 7a05 vldr s14, [r7, #20] 80b2554: edd7 7a04 vldr s15, [r7, #16] 80b2558: ee77 7a67 vsub.f32 s15, s14, s15 80b255c: edc3 7a00 vstr s15, [r3] i1 += n1; 80b2560: f8d7 20e8 ldr.w r2, [r7, #232] ; 0xe8 80b2564: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80b2568: 4413 add r3, r2 80b256a: f8c7 30e8 str.w r3, [r7, #232] ; 0xe8 } while(i1 < fftLen); 80b256e: 897a ldrh r2, [r7, #10] 80b2570: f8d7 30e8 ldr.w r3, [r7, #232] ; 0xe8 80b2574: 429a cmp r2, r3 80b2576: f63f abba bhi.w 80b1cee j++; 80b257a: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80b257e: 3301 adds r3, #1 80b2580: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 } while(j < n2); 80b2584: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80b2588: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b258c: 429a cmp r2, r3 80b258e: f4ff ab2c bcc.w 80b1bea twidCoefModifier <<= 3; 80b2592: 893b ldrh r3, [r7, #8] 80b2594: 00db lsls r3, r3, #3 80b2596: 813b strh r3, [r7, #8] } while(n2 > 7); 80b2598: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80b259c: 2b07 cmp r3, #7 80b259e: f63f a813 bhi.w 80b15c8 } 80b25a2: e000 b.n 80b25a6 break; 80b25a4: bf00 nop } 80b25a6: bf00 nop 80b25a8: 37f4 adds r7, #244 ; 0xf4 80b25aa: 46bd mov sp, r7 80b25ac: f85d 7b04 ldr.w r7, [sp], #4 80b25b0: 4770 bx lr 80b25b2: bf00 nop 080b25b4 : * @return cos(x). */ float32_t arm_cos_f32( float32_t x) { 80b25b4: b480 push {r7} 80b25b6: b08b sub sp, #44 ; 0x2c 80b25b8: af00 add r7, sp, #0 80b25ba: ed87 0a01 vstr s0, [r7, #4] int32_t n; float32_t findex; /* input x is in radians */ /* Scale the input to [0 1] range from [0 2*PI] , divide input by 2*pi, add 0.25 (pi/2) to read sine table */ in = x * 0.159154943092f + 0.25f; 80b25be: edd7 7a01 vldr s15, [r7, #4] 80b25c2: ed9f 7a37 vldr s14, [pc, #220] ; 80b26a0 80b25c6: ee67 7a87 vmul.f32 s15, s15, s14 80b25ca: eeb5 7a00 vmov.f32 s14, #80 ; 0x3e800000 0.250 80b25ce: ee77 7a87 vadd.f32 s15, s15, s14 80b25d2: edc7 7a08 vstr s15, [r7, #32] /* Calculation of floor value of input */ n = (int32_t) in; 80b25d6: edd7 7a08 vldr s15, [r7, #32] 80b25da: eefd 7ae7 vcvt.s32.f32 s15, s15 80b25de: ee17 3a90 vmov r3, s15 80b25e2: 627b str r3, [r7, #36] ; 0x24 /* Make negative values towards -infinity */ if(in < 0.0f) 80b25e4: edd7 7a08 vldr s15, [r7, #32] 80b25e8: eef5 7ac0 vcmpe.f32 s15, #0.0 80b25ec: eef1 fa10 vmrs APSR_nzcv, fpscr 80b25f0: d502 bpl.n 80b25f8 { n--; 80b25f2: 6a7b ldr r3, [r7, #36] ; 0x24 80b25f4: 3b01 subs r3, #1 80b25f6: 627b str r3, [r7, #36] ; 0x24 } /* Map input value to [0 1] */ in = in - (float32_t) n; 80b25f8: 6a7b ldr r3, [r7, #36] ; 0x24 80b25fa: ee07 3a90 vmov s15, r3 80b25fe: eef8 7ae7 vcvt.f32.s32 s15, s15 80b2602: ed97 7a08 vldr s14, [r7, #32] 80b2606: ee77 7a67 vsub.f32 s15, s14, s15 80b260a: edc7 7a08 vstr s15, [r7, #32] /* Calculation of index of the table */ findex = (float32_t) FAST_MATH_TABLE_SIZE * in; 80b260e: edd7 7a08 vldr s15, [r7, #32] 80b2612: ed9f 7a24 vldr s14, [pc, #144] ; 80b26a4 80b2616: ee67 7a87 vmul.f32 s15, s15, s14 80b261a: edc7 7a07 vstr s15, [r7, #28] index = ((uint16_t)findex) & 0x1ff; 80b261e: edd7 7a07 vldr s15, [r7, #28] 80b2622: eefc 7ae7 vcvt.u32.f32 s15, s15 80b2626: edc7 7a00 vstr s15, [r7] 80b262a: 883b ldrh r3, [r7, #0] 80b262c: b29b uxth r3, r3 80b262e: f3c3 0308 ubfx r3, r3, #0, #9 80b2632: 837b strh r3, [r7, #26] /* fractional value calculation */ fract = findex - (float32_t) index; 80b2634: 8b7b ldrh r3, [r7, #26] 80b2636: ee07 3a90 vmov s15, r3 80b263a: eef8 7a67 vcvt.f32.u32 s15, s15 80b263e: ed97 7a07 vldr s14, [r7, #28] 80b2642: ee77 7a67 vsub.f32 s15, s14, s15 80b2646: edc7 7a05 vstr s15, [r7, #20] /* Read two nearest values of input value from the cos table */ a = sinTable_f32[index]; 80b264a: 8b7b ldrh r3, [r7, #26] 80b264c: 4a16 ldr r2, [pc, #88] ; (80b26a8 ) 80b264e: 009b lsls r3, r3, #2 80b2650: 4413 add r3, r2 80b2652: 681b ldr r3, [r3, #0] 80b2654: 613b str r3, [r7, #16] b = sinTable_f32[index+1]; 80b2656: 8b7b ldrh r3, [r7, #26] 80b2658: 3301 adds r3, #1 80b265a: 4a13 ldr r2, [pc, #76] ; (80b26a8 ) 80b265c: 009b lsls r3, r3, #2 80b265e: 4413 add r3, r2 80b2660: 681b ldr r3, [r3, #0] 80b2662: 60fb str r3, [r7, #12] /* Linear interpolation process */ cosVal = (1.0f-fract)*a + fract*b; 80b2664: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80b2668: edd7 7a05 vldr s15, [r7, #20] 80b266c: ee37 7a67 vsub.f32 s14, s14, s15 80b2670: edd7 7a04 vldr s15, [r7, #16] 80b2674: ee27 7a27 vmul.f32 s14, s14, s15 80b2678: edd7 6a05 vldr s13, [r7, #20] 80b267c: edd7 7a03 vldr s15, [r7, #12] 80b2680: ee66 7aa7 vmul.f32 s15, s13, s15 80b2684: ee77 7a27 vadd.f32 s15, s14, s15 80b2688: edc7 7a02 vstr s15, [r7, #8] /* Return the output value */ return (cosVal); 80b268c: 68bb ldr r3, [r7, #8] 80b268e: ee07 3a90 vmov s15, r3 } 80b2692: eeb0 0a67 vmov.f32 s0, s15 80b2696: 372c adds r7, #44 ; 0x2c 80b2698: 46bd mov sp, r7 80b269a: f85d 7b04 ldr.w r7, [sp], #4 80b269e: 4770 bx lr 80b26a0: 3e22f983 .word 0x3e22f983 80b26a4: 44000000 .word 0x44000000 80b26a8: 081783bc .word 0x081783bc 080b26ac : void arm_rfft_f32( const arm_rfft_instance_f32 * S, float32_t * pSrc, float32_t * pDst) { 80b26ac: b580 push {r7, lr} 80b26ae: b088 sub sp, #32 80b26b0: af02 add r7, sp, #8 80b26b2: 60f8 str r0, [r7, #12] 80b26b4: 60b9 str r1, [r7, #8] 80b26b6: 607a str r2, [r7, #4] const arm_cfft_radix4_instance_f32 *S_CFFT = S->pCfft; 80b26b8: 68fb ldr r3, [r7, #12] 80b26ba: 695b ldr r3, [r3, #20] 80b26bc: 617b str r3, [r7, #20] /* Calculation of Real IFFT of input */ if(S->ifftFlagR == 1u) 80b26be: 68fb ldr r3, [r7, #12] 80b26c0: 799b ldrb r3, [r3, #6] 80b26c2: 2b01 cmp r3, #1 80b26c4: d12d bne.n 80b2722 { /* Real IFFT core process */ arm_split_rifft_f32(pSrc, S->fftLenBy2, S->pTwiddleAReal, 80b26c6: 68fb ldr r3, [r7, #12] 80b26c8: 889b ldrh r3, [r3, #4] 80b26ca: 4618 mov r0, r3 80b26cc: 68fb ldr r3, [r7, #12] 80b26ce: 68da ldr r2, [r3, #12] 80b26d0: 68fb ldr r3, [r7, #12] 80b26d2: 6919 ldr r1, [r3, #16] 80b26d4: 68fb ldr r3, [r7, #12] 80b26d6: 689b ldr r3, [r3, #8] 80b26d8: 9301 str r3, [sp, #4] 80b26da: 687b ldr r3, [r7, #4] 80b26dc: 9300 str r3, [sp, #0] 80b26de: 460b mov r3, r1 80b26e0: 4601 mov r1, r0 80b26e2: 68b8 ldr r0, [r7, #8] 80b26e4: f000 f932 bl 80b294c S->pTwiddleBReal, pDst, S->twidCoefRModifier); /* Complex radix-4 IFFT process */ arm_radix4_butterfly_inverse_f32(pDst, S_CFFT->fftLen, 80b26e8: 697b ldr r3, [r7, #20] 80b26ea: 8819 ldrh r1, [r3, #0] 80b26ec: 697b ldr r3, [r7, #20] 80b26ee: 685a ldr r2, [r3, #4] 80b26f0: 697b ldr r3, [r7, #20] 80b26f2: 8998 ldrh r0, [r3, #12] 80b26f4: 697b ldr r3, [r7, #20] 80b26f6: edd3 7a04 vldr s15, [r3, #16] 80b26fa: eeb0 0a67 vmov.f32 s0, s15 80b26fe: 4603 mov r3, r0 80b2700: 6878 ldr r0, [r7, #4] 80b2702: f7fe f93b bl 80b097c S_CFFT->pTwiddle, S_CFFT->twidCoefModifier, S_CFFT->onebyfftLen); /* Bit reversal process */ if(S->bitReverseFlagR == 1u) 80b2706: 68fb ldr r3, [r7, #12] 80b2708: 79db ldrb r3, [r3, #7] 80b270a: 2b01 cmp r3, #1 80b270c: d130 bne.n 80b2770 { arm_bitreversal_f32(pDst, S_CFFT->fftLen, 80b270e: 697b ldr r3, [r7, #20] 80b2710: 8819 ldrh r1, [r3, #0] 80b2712: 697b ldr r3, [r7, #20] 80b2714: 89da ldrh r2, [r3, #14] 80b2716: 697b ldr r3, [r7, #20] 80b2718: 689b ldr r3, [r3, #8] 80b271a: 6878 ldr r0, [r7, #4] 80b271c: f7fc fa6e bl 80aebfc /* Real FFT core process */ arm_split_rfft_f32(pSrc, S->fftLenBy2, S->pTwiddleAReal, S->pTwiddleBReal, pDst, S->twidCoefRModifier); } } 80b2720: e026 b.n 80b2770 arm_radix4_butterfly_f32(pSrc, S_CFFT->fftLen, 80b2722: 697b ldr r3, [r7, #20] 80b2724: 8819 ldrh r1, [r3, #0] 80b2726: 697b ldr r3, [r7, #20] 80b2728: 685a ldr r2, [r3, #4] 80b272a: 697b ldr r3, [r7, #20] 80b272c: 899b ldrh r3, [r3, #12] 80b272e: 68b8 ldr r0, [r7, #8] 80b2730: f7fd fc03 bl 80aff3a if(S->bitReverseFlagR == 1u) 80b2734: 68fb ldr r3, [r7, #12] 80b2736: 79db ldrb r3, [r3, #7] 80b2738: 2b01 cmp r3, #1 80b273a: d108 bne.n 80b274e arm_bitreversal_f32(pSrc, S_CFFT->fftLen, 80b273c: 697b ldr r3, [r7, #20] 80b273e: 8819 ldrh r1, [r3, #0] 80b2740: 697b ldr r3, [r7, #20] 80b2742: 89da ldrh r2, [r3, #14] 80b2744: 697b ldr r3, [r7, #20] 80b2746: 689b ldr r3, [r3, #8] 80b2748: 68b8 ldr r0, [r7, #8] 80b274a: f7fc fa57 bl 80aebfc arm_split_rfft_f32(pSrc, S->fftLenBy2, S->pTwiddleAReal, 80b274e: 68fb ldr r3, [r7, #12] 80b2750: 889b ldrh r3, [r3, #4] 80b2752: 4618 mov r0, r3 80b2754: 68fb ldr r3, [r7, #12] 80b2756: 68da ldr r2, [r3, #12] 80b2758: 68fb ldr r3, [r7, #12] 80b275a: 6919 ldr r1, [r3, #16] 80b275c: 68fb ldr r3, [r7, #12] 80b275e: 689b ldr r3, [r3, #8] 80b2760: 9301 str r3, [sp, #4] 80b2762: 687b ldr r3, [r7, #4] 80b2764: 9300 str r3, [sp, #0] 80b2766: 460b mov r3, r1 80b2768: 4601 mov r1, r0 80b276a: 68b8 ldr r0, [r7, #8] 80b276c: f000 f804 bl 80b2778 } 80b2770: bf00 nop 80b2772: 3718 adds r7, #24 80b2774: 46bd mov sp, r7 80b2776: bd80 pop {r7, pc} 080b2778 : uint32_t fftLen, float32_t * pATable, float32_t * pBTable, float32_t * pDst, uint32_t modifier) { 80b2778: b480 push {r7} 80b277a: b091 sub sp, #68 ; 0x44 80b277c: af00 add r7, sp, #0 80b277e: 60f8 str r0, [r7, #12] 80b2780: 60b9 str r1, [r7, #8] 80b2782: 607a str r2, [r7, #4] 80b2784: 603b str r3, [r7, #0] uint32_t i; /* Loop Counter */ float32_t outR, outI; /* Temporary variables for output */ float32_t *pCoefA, *pCoefB; /* Temporary pointers for twiddle factors */ float32_t CoefA1, CoefA2, CoefB1; /* Temporary variables for twiddle coefficients */ float32_t *pDst1 = &pDst[2], *pDst2 = &pDst[(4u * fftLen) - 1u]; /* temp pointers for output buffer */ 80b2786: 6cbb ldr r3, [r7, #72] ; 0x48 80b2788: 3308 adds r3, #8 80b278a: 633b str r3, [r7, #48] ; 0x30 80b278c: 68bb ldr r3, [r7, #8] 80b278e: 011b lsls r3, r3, #4 80b2790: 3b04 subs r3, #4 80b2792: 6cba ldr r2, [r7, #72] ; 0x48 80b2794: 4413 add r3, r2 80b2796: 62fb str r3, [r7, #44] ; 0x2c float32_t *pSrc1 = &pSrc[2], *pSrc2 = &pSrc[(2u * fftLen) - 1u]; /* temp pointers for input buffer */ 80b2798: 68fb ldr r3, [r7, #12] 80b279a: 3308 adds r3, #8 80b279c: 62bb str r3, [r7, #40] ; 0x28 80b279e: 68bb ldr r3, [r7, #8] 80b27a0: 00db lsls r3, r3, #3 80b27a2: 3b04 subs r3, #4 80b27a4: 68fa ldr r2, [r7, #12] 80b27a6: 4413 add r3, r2 80b27a8: 627b str r3, [r7, #36] ; 0x24 /* Init coefficient pointers */ pCoefA = &pATable[modifier * 2u]; 80b27aa: 6cfb ldr r3, [r7, #76] ; 0x4c 80b27ac: 00db lsls r3, r3, #3 80b27ae: 687a ldr r2, [r7, #4] 80b27b0: 4413 add r3, r2 80b27b2: 63bb str r3, [r7, #56] ; 0x38 pCoefB = &pBTable[modifier * 2u]; 80b27b4: 6cfb ldr r3, [r7, #76] ; 0x4c 80b27b6: 00db lsls r3, r3, #3 80b27b8: 683a ldr r2, [r7, #0] 80b27ba: 4413 add r3, r2 80b27bc: 637b str r3, [r7, #52] ; 0x34 i = fftLen - 1u; 80b27be: 68bb ldr r3, [r7, #8] 80b27c0: 3b01 subs r3, #1 80b27c2: 63fb str r3, [r7, #60] ; 0x3c while(i > 0u) 80b27c4: e090 b.n 80b28e8 /* outI = (pIn[2 * i + 1] * pATable[2 * i] + pIn[2 * i] * pATable[2 * i + 1] + pIn[2 * n - 2 * i] * pBTable[2 * i + 1] - pIn[2 * n - 2 * i + 1] * pBTable[2 * i]); */ /* read pATable[2 * i] */ CoefA1 = *pCoefA++; 80b27c6: 6bbb ldr r3, [r7, #56] ; 0x38 80b27c8: 1d1a adds r2, r3, #4 80b27ca: 63ba str r2, [r7, #56] ; 0x38 80b27cc: 681b ldr r3, [r3, #0] 80b27ce: 623b str r3, [r7, #32] /* pATable[2 * i + 1] */ CoefA2 = *pCoefA; 80b27d0: 6bbb ldr r3, [r7, #56] ; 0x38 80b27d2: 681b ldr r3, [r3, #0] 80b27d4: 61fb str r3, [r7, #28] /* pSrc[2 * i] * pATable[2 * i] */ outR = *pSrc1 * CoefA1; 80b27d6: 6abb ldr r3, [r7, #40] ; 0x28 80b27d8: ed93 7a00 vldr s14, [r3] 80b27dc: edd7 7a08 vldr s15, [r7, #32] 80b27e0: ee67 7a27 vmul.f32 s15, s14, s15 80b27e4: edc7 7a06 vstr s15, [r7, #24] /* pSrc[2 * i] * CoefA2 */ outI = *pSrc1++ * CoefA2; 80b27e8: 6abb ldr r3, [r7, #40] ; 0x28 80b27ea: 1d1a adds r2, r3, #4 80b27ec: 62ba str r2, [r7, #40] ; 0x28 80b27ee: ed93 7a00 vldr s14, [r3] 80b27f2: edd7 7a07 vldr s15, [r7, #28] 80b27f6: ee67 7a27 vmul.f32 s15, s14, s15 80b27fa: edc7 7a05 vstr s15, [r7, #20] /* (pSrc[2 * i + 1] + pSrc[2 * fftLen - 2 * i + 1]) * CoefA2 */ outR -= (*pSrc1 + *pSrc2) * CoefA2; 80b27fe: 6abb ldr r3, [r7, #40] ; 0x28 80b2800: ed93 7a00 vldr s14, [r3] 80b2804: 6a7b ldr r3, [r7, #36] ; 0x24 80b2806: edd3 7a00 vldr s15, [r3] 80b280a: ee37 7a27 vadd.f32 s14, s14, s15 80b280e: edd7 7a07 vldr s15, [r7, #28] 80b2812: ee67 7a27 vmul.f32 s15, s14, s15 80b2816: ed97 7a06 vldr s14, [r7, #24] 80b281a: ee77 7a67 vsub.f32 s15, s14, s15 80b281e: edc7 7a06 vstr s15, [r7, #24] /* pSrc[2 * i + 1] * CoefA1 */ outI += *pSrc1++ * CoefA1; 80b2822: 6abb ldr r3, [r7, #40] ; 0x28 80b2824: 1d1a adds r2, r3, #4 80b2826: 62ba str r2, [r7, #40] ; 0x28 80b2828: ed93 7a00 vldr s14, [r3] 80b282c: edd7 7a08 vldr s15, [r7, #32] 80b2830: ee67 7a27 vmul.f32 s15, s14, s15 80b2834: ed97 7a05 vldr s14, [r7, #20] 80b2838: ee77 7a27 vadd.f32 s15, s14, s15 80b283c: edc7 7a05 vstr s15, [r7, #20] CoefB1 = *pCoefB; 80b2840: 6b7b ldr r3, [r7, #52] ; 0x34 80b2842: 681b ldr r3, [r3, #0] 80b2844: 613b str r3, [r7, #16] /* pSrc[2 * fftLen - 2 * i + 1] * CoefB1 */ outI -= *pSrc2-- * CoefB1; 80b2846: 6a7b ldr r3, [r7, #36] ; 0x24 80b2848: 1f1a subs r2, r3, #4 80b284a: 627a str r2, [r7, #36] ; 0x24 80b284c: ed93 7a00 vldr s14, [r3] 80b2850: edd7 7a04 vldr s15, [r7, #16] 80b2854: ee67 7a27 vmul.f32 s15, s14, s15 80b2858: ed97 7a05 vldr s14, [r7, #20] 80b285c: ee77 7a67 vsub.f32 s15, s14, s15 80b2860: edc7 7a05 vstr s15, [r7, #20] /* pSrc[2 * fftLen - 2 * i] * CoefA2 */ outI -= *pSrc2 * CoefA2; 80b2864: 6a7b ldr r3, [r7, #36] ; 0x24 80b2866: ed93 7a00 vldr s14, [r3] 80b286a: edd7 7a07 vldr s15, [r7, #28] 80b286e: ee67 7a27 vmul.f32 s15, s14, s15 80b2872: ed97 7a05 vldr s14, [r7, #20] 80b2876: ee77 7a67 vsub.f32 s15, s14, s15 80b287a: edc7 7a05 vstr s15, [r7, #20] /* pSrc[2 * fftLen - 2 * i] * CoefB1 */ outR += *pSrc2-- * CoefB1; 80b287e: 6a7b ldr r3, [r7, #36] ; 0x24 80b2880: 1f1a subs r2, r3, #4 80b2882: 627a str r2, [r7, #36] ; 0x24 80b2884: ed93 7a00 vldr s14, [r3] 80b2888: edd7 7a04 vldr s15, [r7, #16] 80b288c: ee67 7a27 vmul.f32 s15, s14, s15 80b2890: ed97 7a06 vldr s14, [r7, #24] 80b2894: ee77 7a27 vadd.f32 s15, s14, s15 80b2898: edc7 7a06 vstr s15, [r7, #24] /* write output */ *pDst1++ = outR; 80b289c: 6b3b ldr r3, [r7, #48] ; 0x30 80b289e: 1d1a adds r2, r3, #4 80b28a0: 633a str r2, [r7, #48] ; 0x30 80b28a2: 69ba ldr r2, [r7, #24] 80b28a4: 601a str r2, [r3, #0] *pDst1++ = outI; 80b28a6: 6b3b ldr r3, [r7, #48] ; 0x30 80b28a8: 1d1a adds r2, r3, #4 80b28aa: 633a str r2, [r7, #48] ; 0x30 80b28ac: 697a ldr r2, [r7, #20] 80b28ae: 601a str r2, [r3, #0] /* write complex conjugate output */ *pDst2-- = -outI; 80b28b0: 6afb ldr r3, [r7, #44] ; 0x2c 80b28b2: 1f1a subs r2, r3, #4 80b28b4: 62fa str r2, [r7, #44] ; 0x2c 80b28b6: edd7 7a05 vldr s15, [r7, #20] 80b28ba: eef1 7a67 vneg.f32 s15, s15 80b28be: edc3 7a00 vstr s15, [r3] *pDst2-- = outR; 80b28c2: 6afb ldr r3, [r7, #44] ; 0x2c 80b28c4: 1f1a subs r2, r3, #4 80b28c6: 62fa str r2, [r7, #44] ; 0x2c 80b28c8: 69ba ldr r2, [r7, #24] 80b28ca: 601a str r2, [r3, #0] /* update coefficient pointer */ pCoefB = pCoefB + (modifier * 2u); 80b28cc: 6cfb ldr r3, [r7, #76] ; 0x4c 80b28ce: 00db lsls r3, r3, #3 80b28d0: 6b7a ldr r2, [r7, #52] ; 0x34 80b28d2: 4413 add r3, r2 80b28d4: 637b str r3, [r7, #52] ; 0x34 pCoefA = pCoefA + ((modifier * 2u) - 1u); 80b28d6: 6cfb ldr r3, [r7, #76] ; 0x4c 80b28d8: 00db lsls r3, r3, #3 80b28da: 3b04 subs r3, #4 80b28dc: 6bba ldr r2, [r7, #56] ; 0x38 80b28de: 4413 add r3, r2 80b28e0: 63bb str r3, [r7, #56] ; 0x38 i--; 80b28e2: 6bfb ldr r3, [r7, #60] ; 0x3c 80b28e4: 3b01 subs r3, #1 80b28e6: 63fb str r3, [r7, #60] ; 0x3c while(i > 0u) 80b28e8: 6bfb ldr r3, [r7, #60] ; 0x3c 80b28ea: 2b00 cmp r3, #0 80b28ec: f47f af6b bne.w 80b27c6 } pDst[2u * fftLen] = pSrc[0] - pSrc[1]; 80b28f0: 68bb ldr r3, [r7, #8] 80b28f2: 00db lsls r3, r3, #3 80b28f4: 6cba ldr r2, [r7, #72] ; 0x48 80b28f6: 4413 add r3, r2 80b28f8: 68fa ldr r2, [r7, #12] 80b28fa: ed92 7a00 vldr s14, [r2] 80b28fe: 68fa ldr r2, [r7, #12] 80b2900: 3204 adds r2, #4 80b2902: edd2 7a00 vldr s15, [r2] 80b2906: ee77 7a67 vsub.f32 s15, s14, s15 80b290a: edc3 7a00 vstr s15, [r3] pDst[(2u * fftLen) + 1u] = 0.0f; 80b290e: 68bb ldr r3, [r7, #8] 80b2910: 00db lsls r3, r3, #3 80b2912: 3304 adds r3, #4 80b2914: 6cba ldr r2, [r7, #72] ; 0x48 80b2916: 4413 add r3, r2 80b2918: f04f 0200 mov.w r2, #0 80b291c: 601a str r2, [r3, #0] pDst[0] = pSrc[0] + pSrc[1]; 80b291e: 68fb ldr r3, [r7, #12] 80b2920: ed93 7a00 vldr s14, [r3] 80b2924: 68fb ldr r3, [r7, #12] 80b2926: 3304 adds r3, #4 80b2928: edd3 7a00 vldr s15, [r3] 80b292c: ee77 7a27 vadd.f32 s15, s14, s15 80b2930: 6cbb ldr r3, [r7, #72] ; 0x48 80b2932: edc3 7a00 vstr s15, [r3] pDst[1] = 0.0f; 80b2936: 6cbb ldr r3, [r7, #72] ; 0x48 80b2938: 3304 adds r3, #4 80b293a: f04f 0200 mov.w r2, #0 80b293e: 601a str r2, [r3, #0] } 80b2940: bf00 nop 80b2942: 3744 adds r7, #68 ; 0x44 80b2944: 46bd mov sp, r7 80b2946: f85d 7b04 ldr.w r7, [sp], #4 80b294a: 4770 bx lr 080b294c : uint32_t fftLen, float32_t * pATable, float32_t * pBTable, float32_t * pDst, uint32_t modifier) { 80b294c: b480 push {r7} 80b294e: b08f sub sp, #60 ; 0x3c 80b2950: af00 add r7, sp, #0 80b2952: 60f8 str r0, [r7, #12] 80b2954: 60b9 str r1, [r7, #8] 80b2956: 607a str r2, [r7, #4] 80b2958: 603b str r3, [r7, #0] float32_t outR, outI; /* Temporary variables for output */ float32_t *pCoefA, *pCoefB; /* Temporary pointers for twiddle factors */ float32_t CoefA1, CoefA2, CoefB1; /* Temporary variables for twiddle coefficients */ float32_t *pSrc1 = &pSrc[0], *pSrc2 = &pSrc[(2u * fftLen) + 1u]; 80b295a: 68fb ldr r3, [r7, #12] 80b295c: 62fb str r3, [r7, #44] ; 0x2c 80b295e: 68bb ldr r3, [r7, #8] 80b2960: 00db lsls r3, r3, #3 80b2962: 3304 adds r3, #4 80b2964: 68fa ldr r2, [r7, #12] 80b2966: 4413 add r3, r2 80b2968: 62bb str r3, [r7, #40] ; 0x28 pCoefA = &pATable[0]; 80b296a: 687b ldr r3, [r7, #4] 80b296c: 637b str r3, [r7, #52] ; 0x34 pCoefB = &pBTable[0]; 80b296e: 683b ldr r3, [r7, #0] 80b2970: 633b str r3, [r7, #48] ; 0x30 while(fftLen > 0u) 80b2972: e084 b.n 80b2a7e pIn[2 * n - 2 * i] * pBTable[2 * i + 1] - pIn[2 * n - 2 * i + 1] * pBTable[2 * i]); */ CoefA1 = *pCoefA++; 80b2974: 6b7b ldr r3, [r7, #52] ; 0x34 80b2976: 1d1a adds r2, r3, #4 80b2978: 637a str r2, [r7, #52] ; 0x34 80b297a: 681b ldr r3, [r3, #0] 80b297c: 627b str r3, [r7, #36] ; 0x24 CoefA2 = *pCoefA; 80b297e: 6b7b ldr r3, [r7, #52] ; 0x34 80b2980: 681b ldr r3, [r3, #0] 80b2982: 623b str r3, [r7, #32] /* outR = (pSrc[2 * i] * CoefA1 */ outR = *pSrc1 * CoefA1; 80b2984: 6afb ldr r3, [r7, #44] ; 0x2c 80b2986: ed93 7a00 vldr s14, [r3] 80b298a: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b298e: ee67 7a27 vmul.f32 s15, s14, s15 80b2992: edc7 7a07 vstr s15, [r7, #28] /* - pSrc[2 * i] * CoefA2 */ outI = -(*pSrc1++) * CoefA2; 80b2996: 6afb ldr r3, [r7, #44] ; 0x2c 80b2998: 1d1a adds r2, r3, #4 80b299a: 62fa str r2, [r7, #44] ; 0x2c 80b299c: edd3 7a00 vldr s15, [r3] 80b29a0: eeb1 7a67 vneg.f32 s14, s15 80b29a4: edd7 7a08 vldr s15, [r7, #32] 80b29a8: ee67 7a27 vmul.f32 s15, s14, s15 80b29ac: edc7 7a06 vstr s15, [r7, #24] /* (pSrc[2 * i + 1] + pSrc[2 * fftLen - 2 * i + 1]) * CoefA2 */ outR += (*pSrc1 + *pSrc2) * CoefA2; 80b29b0: 6afb ldr r3, [r7, #44] ; 0x2c 80b29b2: ed93 7a00 vldr s14, [r3] 80b29b6: 6abb ldr r3, [r7, #40] ; 0x28 80b29b8: edd3 7a00 vldr s15, [r3] 80b29bc: ee37 7a27 vadd.f32 s14, s14, s15 80b29c0: edd7 7a08 vldr s15, [r7, #32] 80b29c4: ee67 7a27 vmul.f32 s15, s14, s15 80b29c8: ed97 7a07 vldr s14, [r7, #28] 80b29cc: ee77 7a27 vadd.f32 s15, s14, s15 80b29d0: edc7 7a07 vstr s15, [r7, #28] /* pSrc[2 * i + 1] * CoefA1 */ outI += (*pSrc1++) * CoefA1; 80b29d4: 6afb ldr r3, [r7, #44] ; 0x2c 80b29d6: 1d1a adds r2, r3, #4 80b29d8: 62fa str r2, [r7, #44] ; 0x2c 80b29da: ed93 7a00 vldr s14, [r3] 80b29de: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b29e2: ee67 7a27 vmul.f32 s15, s14, s15 80b29e6: ed97 7a06 vldr s14, [r7, #24] 80b29ea: ee77 7a27 vadd.f32 s15, s14, s15 80b29ee: edc7 7a06 vstr s15, [r7, #24] CoefB1 = *pCoefB; 80b29f2: 6b3b ldr r3, [r7, #48] ; 0x30 80b29f4: 681b ldr r3, [r3, #0] 80b29f6: 617b str r3, [r7, #20] /* - pSrc[2 * fftLen - 2 * i + 1] * CoefB1 */ outI -= *pSrc2-- * CoefB1; 80b29f8: 6abb ldr r3, [r7, #40] ; 0x28 80b29fa: 1f1a subs r2, r3, #4 80b29fc: 62ba str r2, [r7, #40] ; 0x28 80b29fe: ed93 7a00 vldr s14, [r3] 80b2a02: edd7 7a05 vldr s15, [r7, #20] 80b2a06: ee67 7a27 vmul.f32 s15, s14, s15 80b2a0a: ed97 7a06 vldr s14, [r7, #24] 80b2a0e: ee77 7a67 vsub.f32 s15, s14, s15 80b2a12: edc7 7a06 vstr s15, [r7, #24] /* pSrc[2 * fftLen - 2 * i] * CoefB1 */ outR += *pSrc2 * CoefB1; 80b2a16: 6abb ldr r3, [r7, #40] ; 0x28 80b2a18: ed93 7a00 vldr s14, [r3] 80b2a1c: edd7 7a05 vldr s15, [r7, #20] 80b2a20: ee67 7a27 vmul.f32 s15, s14, s15 80b2a24: ed97 7a07 vldr s14, [r7, #28] 80b2a28: ee77 7a27 vadd.f32 s15, s14, s15 80b2a2c: edc7 7a07 vstr s15, [r7, #28] /* pSrc[2 * fftLen - 2 * i] * CoefA2 */ outI += *pSrc2-- * CoefA2; 80b2a30: 6abb ldr r3, [r7, #40] ; 0x28 80b2a32: 1f1a subs r2, r3, #4 80b2a34: 62ba str r2, [r7, #40] ; 0x28 80b2a36: ed93 7a00 vldr s14, [r3] 80b2a3a: edd7 7a08 vldr s15, [r7, #32] 80b2a3e: ee67 7a27 vmul.f32 s15, s14, s15 80b2a42: ed97 7a06 vldr s14, [r7, #24] 80b2a46: ee77 7a27 vadd.f32 s15, s14, s15 80b2a4a: edc7 7a06 vstr s15, [r7, #24] /* write output */ *pDst++ = outR; 80b2a4e: 6c3b ldr r3, [r7, #64] ; 0x40 80b2a50: 1d1a adds r2, r3, #4 80b2a52: 643a str r2, [r7, #64] ; 0x40 80b2a54: 69fa ldr r2, [r7, #28] 80b2a56: 601a str r2, [r3, #0] *pDst++ = outI; 80b2a58: 6c3b ldr r3, [r7, #64] ; 0x40 80b2a5a: 1d1a adds r2, r3, #4 80b2a5c: 643a str r2, [r7, #64] ; 0x40 80b2a5e: 69ba ldr r2, [r7, #24] 80b2a60: 601a str r2, [r3, #0] /* update coefficient pointer */ pCoefB = pCoefB + (modifier * 2u); 80b2a62: 6c7b ldr r3, [r7, #68] ; 0x44 80b2a64: 00db lsls r3, r3, #3 80b2a66: 6b3a ldr r2, [r7, #48] ; 0x30 80b2a68: 4413 add r3, r2 80b2a6a: 633b str r3, [r7, #48] ; 0x30 pCoefA = pCoefA + ((modifier * 2u) - 1u); 80b2a6c: 6c7b ldr r3, [r7, #68] ; 0x44 80b2a6e: 00db lsls r3, r3, #3 80b2a70: 3b04 subs r3, #4 80b2a72: 6b7a ldr r2, [r7, #52] ; 0x34 80b2a74: 4413 add r3, r2 80b2a76: 637b str r3, [r7, #52] ; 0x34 /* Decrement loop count */ fftLen--; 80b2a78: 68bb ldr r3, [r7, #8] 80b2a7a: 3b01 subs r3, #1 80b2a7c: 60bb str r3, [r7, #8] while(fftLen > 0u) 80b2a7e: 68bb ldr r3, [r7, #8] 80b2a80: 2b00 cmp r3, #0 80b2a82: f47f af77 bne.w 80b2974 } } 80b2a86: bf00 nop 80b2a88: 373c adds r7, #60 ; 0x3c 80b2a8a: 46bd mov sp, r7 80b2a8c: f85d 7b04 ldr.w r7, [sp], #4 80b2a90: 4770 bx lr 080b2a92 : #include "arm_math.h" void stage_rfft_f32( arm_rfft_fast_instance_f32 * S, float32_t * p, float32_t * pOut) { 80b2a92: b480 push {r7} 80b2a94: b095 sub sp, #84 ; 0x54 80b2a96: af00 add r7, sp, #0 80b2a98: 60f8 str r0, [r7, #12] 80b2a9a: 60b9 str r1, [r7, #8] 80b2a9c: 607a str r2, [r7, #4] uint32_t k; /* Loop Counter */ float32_t twR, twI; /* RFFT Twiddle coefficients */ float32_t * pCoeff = S->pTwiddleRFFT; /* Points to RFFT Twiddle factors */ 80b2a9e: 68fb ldr r3, [r7, #12] 80b2aa0: 695b ldr r3, [r3, #20] 80b2aa2: 64bb str r3, [r7, #72] ; 0x48 float32_t *pA = p; /* increasing pointer */ 80b2aa4: 68bb ldr r3, [r7, #8] 80b2aa6: 647b str r3, [r7, #68] ; 0x44 float32_t *pB = p; /* decreasing pointer */ 80b2aa8: 68bb ldr r3, [r7, #8] 80b2aaa: 643b str r3, [r7, #64] ; 0x40 float32_t xAR, xAI, xBR, xBI; /* temporary variables */ float32_t t1a, t1b; /* temporary variables */ float32_t p0, p1, p2, p3; /* temporary variables */ k = (S->Sint).fftLen - 1; 80b2aac: 68fb ldr r3, [r7, #12] 80b2aae: 881b ldrh r3, [r3, #0] 80b2ab0: 3b01 subs r3, #1 80b2ab2: 64fb str r3, [r7, #76] ; 0x4c /* Pack first and last sample of the frequency domain together */ xBR = pB[0]; 80b2ab4: 6c3b ldr r3, [r7, #64] ; 0x40 80b2ab6: 681b ldr r3, [r3, #0] 80b2ab8: 63fb str r3, [r7, #60] ; 0x3c xBI = pB[1]; 80b2aba: 6c3b ldr r3, [r7, #64] ; 0x40 80b2abc: 685b ldr r3, [r3, #4] 80b2abe: 63bb str r3, [r7, #56] ; 0x38 xAR = pA[0]; 80b2ac0: 6c7b ldr r3, [r7, #68] ; 0x44 80b2ac2: 681b ldr r3, [r3, #0] 80b2ac4: 637b str r3, [r7, #52] ; 0x34 xAI = pA[1]; 80b2ac6: 6c7b ldr r3, [r7, #68] ; 0x44 80b2ac8: 685b ldr r3, [r3, #4] 80b2aca: 633b str r3, [r7, #48] ; 0x30 twR = *pCoeff++ ; 80b2acc: 6cbb ldr r3, [r7, #72] ; 0x48 80b2ace: 1d1a adds r2, r3, #4 80b2ad0: 64ba str r2, [r7, #72] ; 0x48 80b2ad2: 681b ldr r3, [r3, #0] 80b2ad4: 62fb str r3, [r7, #44] ; 0x2c twI = *pCoeff++ ; 80b2ad6: 6cbb ldr r3, [r7, #72] ; 0x48 80b2ad8: 1d1a adds r2, r3, #4 80b2ada: 64ba str r2, [r7, #72] ; 0x48 80b2adc: 681b ldr r3, [r3, #0] 80b2ade: 62bb str r3, [r7, #40] ; 0x28 // U1 = XA(1) + XB(1); % It is real t1a = xBR + xAR ; 80b2ae0: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2ae4: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b2ae8: ee77 7a27 vadd.f32 s15, s14, s15 80b2aec: edc7 7a09 vstr s15, [r7, #36] ; 0x24 // U2 = XB(1) - XA(1); % It is imaginary t1b = xBI + xAI ; 80b2af0: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b2af4: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b2af8: ee77 7a27 vadd.f32 s15, s14, s15 80b2afc: edc7 7a08 vstr s15, [r7, #32] // real(tw * (xB - xA)) = twR * (xBR - xAR) - twI * (xBI - xAI); // imag(tw * (xB - xA)) = twI * (xBR - xAR) + twR * (xBI - xAI); *pOut++ = 0.5f * ( t1a + t1b ); 80b2b00: 687b ldr r3, [r7, #4] 80b2b02: 1d1a adds r2, r3, #4 80b2b04: 607a str r2, [r7, #4] 80b2b06: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b2b0a: edd7 7a08 vldr s15, [r7, #32] 80b2b0e: ee77 7a27 vadd.f32 s15, s14, s15 80b2b12: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2b16: ee67 7a87 vmul.f32 s15, s15, s14 80b2b1a: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * ( t1a - t1b ); 80b2b1e: 687b ldr r3, [r7, #4] 80b2b20: 1d1a adds r2, r3, #4 80b2b22: 607a str r2, [r7, #4] 80b2b24: ed97 7a09 vldr s14, [r7, #36] ; 0x24 80b2b28: edd7 7a08 vldr s15, [r7, #32] 80b2b2c: ee77 7a67 vsub.f32 s15, s14, s15 80b2b30: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2b34: ee67 7a87 vmul.f32 s15, s15, s14 80b2b38: edc3 7a00 vstr s15, [r3] // XA(1) = 1/2*( U1 - imag(U2) + i*( U1 +imag(U2) )); pB = p + 2*k; 80b2b3c: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2b3e: 00db lsls r3, r3, #3 80b2b40: 68ba ldr r2, [r7, #8] 80b2b42: 4413 add r3, r2 80b2b44: 643b str r3, [r7, #64] ; 0x40 pA += 2; 80b2b46: 6c7b ldr r3, [r7, #68] ; 0x44 80b2b48: 3308 adds r3, #8 80b2b4a: 647b str r3, [r7, #68] ; 0x44 end XA(1) = 1/2* (XA(1) + XB(1) + TW(1) * (XB(1) - XA(1))) + i*( 1/2*( XA(1) + XB(1) + i*( XA(1) - XB(1)))); X = XA; */ xBI = pB[1]; 80b2b4c: 6c3b ldr r3, [r7, #64] ; 0x40 80b2b4e: 685b ldr r3, [r3, #4] 80b2b50: 63bb str r3, [r7, #56] ; 0x38 xBR = pB[0]; 80b2b52: 6c3b ldr r3, [r7, #64] ; 0x40 80b2b54: 681b ldr r3, [r3, #0] 80b2b56: 63fb str r3, [r7, #60] ; 0x3c xAR = pA[0]; 80b2b58: 6c7b ldr r3, [r7, #68] ; 0x44 80b2b5a: 681b ldr r3, [r3, #0] 80b2b5c: 637b str r3, [r7, #52] ; 0x34 xAI = pA[1]; 80b2b5e: 6c7b ldr r3, [r7, #68] ; 0x44 80b2b60: 685b ldr r3, [r3, #4] 80b2b62: 633b str r3, [r7, #48] ; 0x30 twR = *pCoeff++; 80b2b64: 6cbb ldr r3, [r7, #72] ; 0x48 80b2b66: 1d1a adds r2, r3, #4 80b2b68: 64ba str r2, [r7, #72] ; 0x48 80b2b6a: 681b ldr r3, [r3, #0] 80b2b6c: 62fb str r3, [r7, #44] ; 0x2c twI = *pCoeff++; 80b2b6e: 6cbb ldr r3, [r7, #72] ; 0x48 80b2b70: 1d1a adds r2, r3, #4 80b2b72: 64ba str r2, [r7, #72] ; 0x48 80b2b74: 681b ldr r3, [r3, #0] 80b2b76: 62bb str r3, [r7, #40] ; 0x28 t1a = xBR - xAR ; 80b2b78: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2b7c: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b2b80: ee77 7a67 vsub.f32 s15, s14, s15 80b2b84: edc7 7a09 vstr s15, [r7, #36] ; 0x24 t1b = xBI + xAI ; 80b2b88: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b2b8c: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b2b90: ee77 7a27 vadd.f32 s15, s14, s15 80b2b94: edc7 7a08 vstr s15, [r7, #32] // real(tw * (xB - xA)) = twR * (xBR - xAR) - twI * (xBI - xAI); // imag(tw * (xB - xA)) = twI * (xBR - xAR) + twR * (xBI - xAI); p0 = twR * t1a; 80b2b98: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b2b9c: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b2ba0: ee67 7a27 vmul.f32 s15, s14, s15 80b2ba4: edc7 7a07 vstr s15, [r7, #28] p1 = twI * t1a; 80b2ba8: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b2bac: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b2bb0: ee67 7a27 vmul.f32 s15, s14, s15 80b2bb4: edc7 7a06 vstr s15, [r7, #24] p2 = twR * t1b; 80b2bb8: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b2bbc: edd7 7a08 vldr s15, [r7, #32] 80b2bc0: ee67 7a27 vmul.f32 s15, s14, s15 80b2bc4: edc7 7a05 vstr s15, [r7, #20] p3 = twI * t1b; 80b2bc8: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b2bcc: edd7 7a08 vldr s15, [r7, #32] 80b2bd0: ee67 7a27 vmul.f32 s15, s14, s15 80b2bd4: edc7 7a04 vstr s15, [r7, #16] *pOut++ = 0.5f * (xAR + xBR + p0 + p3 ); //xAR 80b2bd8: 687b ldr r3, [r7, #4] 80b2bda: 1d1a adds r2, r3, #4 80b2bdc: 607a str r2, [r7, #4] 80b2bde: ed97 7a0d vldr s14, [r7, #52] ; 0x34 80b2be2: edd7 7a0f vldr s15, [r7, #60] ; 0x3c 80b2be6: ee37 7a27 vadd.f32 s14, s14, s15 80b2bea: edd7 7a07 vldr s15, [r7, #28] 80b2bee: ee37 7a27 vadd.f32 s14, s14, s15 80b2bf2: edd7 7a04 vldr s15, [r7, #16] 80b2bf6: ee77 7a27 vadd.f32 s15, s14, s15 80b2bfa: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2bfe: ee67 7a87 vmul.f32 s15, s15, s14 80b2c02: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * (xAI - xBI + p1 - p2 ); //xAI 80b2c06: 687b ldr r3, [r7, #4] 80b2c08: 1d1a adds r2, r3, #4 80b2c0a: 607a str r2, [r7, #4] 80b2c0c: ed97 7a0c vldr s14, [r7, #48] ; 0x30 80b2c10: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b2c14: ee37 7a67 vsub.f32 s14, s14, s15 80b2c18: edd7 7a06 vldr s15, [r7, #24] 80b2c1c: ee37 7a27 vadd.f32 s14, s14, s15 80b2c20: edd7 7a05 vldr s15, [r7, #20] 80b2c24: ee77 7a67 vsub.f32 s15, s14, s15 80b2c28: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2c2c: ee67 7a87 vmul.f32 s15, s15, s14 80b2c30: edc3 7a00 vstr s15, [r3] pA += 2; 80b2c34: 6c7b ldr r3, [r7, #68] ; 0x44 80b2c36: 3308 adds r3, #8 80b2c38: 647b str r3, [r7, #68] ; 0x44 pB -= 2; 80b2c3a: 6c3b ldr r3, [r7, #64] ; 0x40 80b2c3c: 3b08 subs r3, #8 80b2c3e: 643b str r3, [r7, #64] ; 0x40 k--; 80b2c40: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2c42: 3b01 subs r3, #1 80b2c44: 64fb str r3, [r7, #76] ; 0x4c } while(k > 0u); 80b2c46: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2c48: 2b00 cmp r3, #0 80b2c4a: f47f af7f bne.w 80b2b4c } 80b2c4e: bf00 nop 80b2c50: 3754 adds r7, #84 ; 0x54 80b2c52: 46bd mov sp, r7 80b2c54: f85d 7b04 ldr.w r7, [sp], #4 80b2c58: 4770 bx lr 080b2c5a : /* Prepares data for inverse cfft */ void merge_rfft_f32( arm_rfft_fast_instance_f32 * S, float32_t * p, float32_t * pOut) { 80b2c5a: b480 push {r7} 80b2c5c: b095 sub sp, #84 ; 0x54 80b2c5e: af00 add r7, sp, #0 80b2c60: 60f8 str r0, [r7, #12] 80b2c62: 60b9 str r1, [r7, #8] 80b2c64: 607a str r2, [r7, #4] uint32_t k; /* Loop Counter */ float32_t twR, twI; /* RFFT Twiddle coefficients */ float32_t *pCoeff = S->pTwiddleRFFT; /* Points to RFFT Twiddle factors */ 80b2c66: 68fb ldr r3, [r7, #12] 80b2c68: 695b ldr r3, [r3, #20] 80b2c6a: 64bb str r3, [r7, #72] ; 0x48 float32_t *pA = p; /* increasing pointer */ 80b2c6c: 68bb ldr r3, [r7, #8] 80b2c6e: 647b str r3, [r7, #68] ; 0x44 float32_t *pB = p; /* decreasing pointer */ 80b2c70: 68bb ldr r3, [r7, #8] 80b2c72: 643b str r3, [r7, #64] ; 0x40 float32_t xAR, xAI, xBR, xBI; /* temporary variables */ float32_t t1a, t1b, r, s, t, u; /* temporary variables */ k = (S->Sint).fftLen - 1; 80b2c74: 68fb ldr r3, [r7, #12] 80b2c76: 881b ldrh r3, [r3, #0] 80b2c78: 3b01 subs r3, #1 80b2c7a: 64fb str r3, [r7, #76] ; 0x4c xAR = pA[0]; 80b2c7c: 6c7b ldr r3, [r7, #68] ; 0x44 80b2c7e: 681b ldr r3, [r3, #0] 80b2c80: 63fb str r3, [r7, #60] ; 0x3c xAI = pA[1]; 80b2c82: 6c7b ldr r3, [r7, #68] ; 0x44 80b2c84: 685b ldr r3, [r3, #4] 80b2c86: 63bb str r3, [r7, #56] ; 0x38 pCoeff += 2 ; 80b2c88: 6cbb ldr r3, [r7, #72] ; 0x48 80b2c8a: 3308 adds r3, #8 80b2c8c: 64bb str r3, [r7, #72] ; 0x48 *pOut++ = 0.5f * ( xAR + xAI ); 80b2c8e: 687b ldr r3, [r7, #4] 80b2c90: 1d1a adds r2, r3, #4 80b2c92: 607a str r2, [r7, #4] 80b2c94: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2c98: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b2c9c: ee77 7a27 vadd.f32 s15, s14, s15 80b2ca0: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2ca4: ee67 7a87 vmul.f32 s15, s15, s14 80b2ca8: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * ( xAR - xAI ); 80b2cac: 687b ldr r3, [r7, #4] 80b2cae: 1d1a adds r2, r3, #4 80b2cb0: 607a str r2, [r7, #4] 80b2cb2: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2cb6: edd7 7a0e vldr s15, [r7, #56] ; 0x38 80b2cba: ee77 7a67 vsub.f32 s15, s14, s15 80b2cbe: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2cc2: ee67 7a87 vmul.f32 s15, s15, s14 80b2cc6: edc3 7a00 vstr s15, [r3] pB = p + 2*k ; 80b2cca: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2ccc: 00db lsls r3, r3, #3 80b2cce: 68ba ldr r2, [r7, #8] 80b2cd0: 4413 add r3, r2 80b2cd2: 643b str r3, [r7, #64] ; 0x40 pA += 2 ; 80b2cd4: 6c7b ldr r3, [r7, #68] ; 0x44 80b2cd6: 3308 adds r3, #8 80b2cd8: 647b str r3, [r7, #68] ; 0x44 while(k > 0u) 80b2cda: e07c b.n 80b2dd6 { /* G is half of the frequency complex spectrum */ //for k = 2:N // Xk(k) = 1/2 * (G(k) + conj(G(N-k+2)) + Tw(k)*( G(k) - conj(G(N-k+2)))); xBI = pB[1] ; 80b2cdc: 6c3b ldr r3, [r7, #64] ; 0x40 80b2cde: 685b ldr r3, [r3, #4] 80b2ce0: 637b str r3, [r7, #52] ; 0x34 xBR = pB[0] ; 80b2ce2: 6c3b ldr r3, [r7, #64] ; 0x40 80b2ce4: 681b ldr r3, [r3, #0] 80b2ce6: 633b str r3, [r7, #48] ; 0x30 xAR = pA[0]; 80b2ce8: 6c7b ldr r3, [r7, #68] ; 0x44 80b2cea: 681b ldr r3, [r3, #0] 80b2cec: 63fb str r3, [r7, #60] ; 0x3c xAI = pA[1]; 80b2cee: 6c7b ldr r3, [r7, #68] ; 0x44 80b2cf0: 685b ldr r3, [r3, #4] 80b2cf2: 63bb str r3, [r7, #56] ; 0x38 twR = *pCoeff++; 80b2cf4: 6cbb ldr r3, [r7, #72] ; 0x48 80b2cf6: 1d1a adds r2, r3, #4 80b2cf8: 64ba str r2, [r7, #72] ; 0x48 80b2cfa: 681b ldr r3, [r3, #0] 80b2cfc: 62fb str r3, [r7, #44] ; 0x2c twI = *pCoeff++; 80b2cfe: 6cbb ldr r3, [r7, #72] ; 0x48 80b2d00: 1d1a adds r2, r3, #4 80b2d02: 64ba str r2, [r7, #72] ; 0x48 80b2d04: 681b ldr r3, [r3, #0] 80b2d06: 62bb str r3, [r7, #40] ; 0x28 t1a = xAR - xBR ; 80b2d08: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2d0c: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b2d10: ee77 7a67 vsub.f32 s15, s14, s15 80b2d14: edc7 7a09 vstr s15, [r7, #36] ; 0x24 t1b = xAI + xBI ; 80b2d18: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b2d1c: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b2d20: ee77 7a27 vadd.f32 s15, s14, s15 80b2d24: edc7 7a08 vstr s15, [r7, #32] r = twR * t1a; 80b2d28: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b2d2c: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b2d30: ee67 7a27 vmul.f32 s15, s14, s15 80b2d34: edc7 7a07 vstr s15, [r7, #28] s = twI * t1b; 80b2d38: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b2d3c: edd7 7a08 vldr s15, [r7, #32] 80b2d40: ee67 7a27 vmul.f32 s15, s14, s15 80b2d44: edc7 7a06 vstr s15, [r7, #24] t = twI * t1a; 80b2d48: ed97 7a0a vldr s14, [r7, #40] ; 0x28 80b2d4c: edd7 7a09 vldr s15, [r7, #36] ; 0x24 80b2d50: ee67 7a27 vmul.f32 s15, s14, s15 80b2d54: edc7 7a05 vstr s15, [r7, #20] u = twR * t1b; 80b2d58: ed97 7a0b vldr s14, [r7, #44] ; 0x2c 80b2d5c: edd7 7a08 vldr s15, [r7, #32] 80b2d60: ee67 7a27 vmul.f32 s15, s14, s15 80b2d64: edc7 7a04 vstr s15, [r7, #16] // real(tw * (xA - xB)) = twR * (xAR - xBR) - twI * (xAI - xBI); // imag(tw * (xA - xB)) = twI * (xAR - xBR) + twR * (xAI - xBI); *pOut++ = 0.5f * (xAR + xBR - r - s ); //xAR 80b2d68: 687b ldr r3, [r7, #4] 80b2d6a: 1d1a adds r2, r3, #4 80b2d6c: 607a str r2, [r7, #4] 80b2d6e: ed97 7a0f vldr s14, [r7, #60] ; 0x3c 80b2d72: edd7 7a0c vldr s15, [r7, #48] ; 0x30 80b2d76: ee37 7a27 vadd.f32 s14, s14, s15 80b2d7a: edd7 7a07 vldr s15, [r7, #28] 80b2d7e: ee37 7a67 vsub.f32 s14, s14, s15 80b2d82: edd7 7a06 vldr s15, [r7, #24] 80b2d86: ee77 7a67 vsub.f32 s15, s14, s15 80b2d8a: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2d8e: ee67 7a87 vmul.f32 s15, s15, s14 80b2d92: edc3 7a00 vstr s15, [r3] *pOut++ = 0.5f * (xAI - xBI + t - u ); //xAI 80b2d96: 687b ldr r3, [r7, #4] 80b2d98: 1d1a adds r2, r3, #4 80b2d9a: 607a str r2, [r7, #4] 80b2d9c: ed97 7a0e vldr s14, [r7, #56] ; 0x38 80b2da0: edd7 7a0d vldr s15, [r7, #52] ; 0x34 80b2da4: ee37 7a67 vsub.f32 s14, s14, s15 80b2da8: edd7 7a05 vldr s15, [r7, #20] 80b2dac: ee37 7a27 vadd.f32 s14, s14, s15 80b2db0: edd7 7a04 vldr s15, [r7, #16] 80b2db4: ee77 7a67 vsub.f32 s15, s14, s15 80b2db8: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80b2dbc: ee67 7a87 vmul.f32 s15, s15, s14 80b2dc0: edc3 7a00 vstr s15, [r3] pA += 2; 80b2dc4: 6c7b ldr r3, [r7, #68] ; 0x44 80b2dc6: 3308 adds r3, #8 80b2dc8: 647b str r3, [r7, #68] ; 0x44 pB -= 2; 80b2dca: 6c3b ldr r3, [r7, #64] ; 0x40 80b2dcc: 3b08 subs r3, #8 80b2dce: 643b str r3, [r7, #64] ; 0x40 k--; 80b2dd0: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2dd2: 3b01 subs r3, #1 80b2dd4: 64fb str r3, [r7, #76] ; 0x4c while(k > 0u) 80b2dd6: 6cfb ldr r3, [r7, #76] ; 0x4c 80b2dd8: 2b00 cmp r3, #0 80b2dda: f47f af7f bne.w 80b2cdc } } 80b2dde: bf00 nop 80b2de0: 3754 adds r7, #84 ; 0x54 80b2de2: 46bd mov sp, r7 80b2de4: f85d 7b04 ldr.w r7, [sp], #4 80b2de8: 4770 bx lr 080b2dea : void arm_rfft_fast_f32( arm_rfft_fast_instance_f32 * S, float32_t * p, float32_t * pOut, uint8_t ifftFlag) { 80b2dea: b580 push {r7, lr} 80b2dec: b086 sub sp, #24 80b2dee: af00 add r7, sp, #0 80b2df0: 60f8 str r0, [r7, #12] 80b2df2: 60b9 str r1, [r7, #8] 80b2df4: 607a str r2, [r7, #4] 80b2df6: 70fb strb r3, [r7, #3] arm_cfft_instance_f32 * Sint = &(S->Sint); 80b2df8: 68fb ldr r3, [r7, #12] 80b2dfa: 617b str r3, [r7, #20] Sint->fftLen = S->fftLenRFFT / 2; 80b2dfc: 68fb ldr r3, [r7, #12] 80b2dfe: 8a1b ldrh r3, [r3, #16] 80b2e00: 085b lsrs r3, r3, #1 80b2e02: b29a uxth r2, r3 80b2e04: 697b ldr r3, [r7, #20] 80b2e06: 801a strh r2, [r3, #0] /* Calculation of Real FFT */ if(ifftFlag) 80b2e08: 78fb ldrb r3, [r7, #3] 80b2e0a: 2b00 cmp r3, #0 80b2e0c: d00b beq.n 80b2e26 { /* Real FFT compression */ merge_rfft_f32(S, p, pOut); 80b2e0e: 687a ldr r2, [r7, #4] 80b2e10: 68b9 ldr r1, [r7, #8] 80b2e12: 68f8 ldr r0, [r7, #12] 80b2e14: f7ff ff21 bl 80b2c5a /* Complex radix-4 IFFT process */ arm_cfft_f32( Sint, pOut, ifftFlag, 1); 80b2e18: 78fa ldrb r2, [r7, #3] 80b2e1a: 2301 movs r3, #1 80b2e1c: 6879 ldr r1, [r7, #4] 80b2e1e: 6978 ldr r0, [r7, #20] 80b2e20: f7fc ffe8 bl 80afdf4 arm_cfft_f32( Sint, p, ifftFlag, 1); /* Real FFT extraction */ stage_rfft_f32(S, p, pOut); } } 80b2e24: e00a b.n 80b2e3c arm_cfft_f32( Sint, p, ifftFlag, 1); 80b2e26: 78fa ldrb r2, [r7, #3] 80b2e28: 2301 movs r3, #1 80b2e2a: 68b9 ldr r1, [r7, #8] 80b2e2c: 6978 ldr r0, [r7, #20] 80b2e2e: f7fc ffe1 bl 80afdf4 stage_rfft_f32(S, p, pOut); 80b2e32: 687a ldr r2, [r7, #4] 80b2e34: 68b9 ldr r1, [r7, #8] 80b2e36: 68f8 ldr r0, [r7, #12] 80b2e38: f7ff fe2b bl 80b2a92 } 80b2e3c: bf00 nop 80b2e3e: 3718 adds r7, #24 80b2e40: 46bd mov sp, r7 80b2e42: bd80 pop {r7, pc} 080b2e44 : * This Function also initializes Twiddle factor table pointer and Bit reversal table pointer. */ arm_status arm_rfft_fast_init_f32( arm_rfft_fast_instance_f32 * S, uint16_t fftLen) { 80b2e44: b480 push {r7} 80b2e46: b085 sub sp, #20 80b2e48: af00 add r7, sp, #0 80b2e4a: 6078 str r0, [r7, #4] 80b2e4c: 460b mov r3, r1 80b2e4e: 807b strh r3, [r7, #2] arm_cfft_instance_f32 * Sint; /* Initialise the default arm status */ arm_status status = ARM_MATH_SUCCESS; 80b2e50: 2300 movs r3, #0 80b2e52: 73fb strb r3, [r7, #15] /* Initialise the FFT length */ Sint = &(S->Sint); 80b2e54: 687b ldr r3, [r7, #4] 80b2e56: 60bb str r3, [r7, #8] Sint->fftLen = fftLen/2; 80b2e58: 887b ldrh r3, [r7, #2] 80b2e5a: 085b lsrs r3, r3, #1 80b2e5c: b29a uxth r2, r3 80b2e5e: 68bb ldr r3, [r7, #8] 80b2e60: 801a strh r2, [r3, #0] S->fftLenRFFT = fftLen; 80b2e62: 687b ldr r3, [r7, #4] 80b2e64: 887a ldrh r2, [r7, #2] 80b2e66: 821a strh r2, [r3, #16] /* Initializations of structure parameters depending on the FFT length */ switch (Sint->fftLen) 80b2e68: 68bb ldr r3, [r7, #8] 80b2e6a: 881b ldrh r3, [r3, #0] 80b2e6c: 2b80 cmp r3, #128 ; 0x80 80b2e6e: d050 beq.n 80b2f12 80b2e70: 2b80 cmp r3, #128 ; 0x80 80b2e72: dc06 bgt.n 80b2e82 80b2e74: 2b20 cmp r3, #32 80b2e76: d066 beq.n 80b2f46 80b2e78: 2b40 cmp r3, #64 ; 0x40 80b2e7a: d057 beq.n 80b2f2c 80b2e7c: 2b10 cmp r3, #16 80b2e7e: d06f beq.n 80b2f60 80b2e80: e07b b.n 80b2f7a 80b2e82: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b2e86: d028 beq.n 80b2eda 80b2e88: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b2e8c: dc03 bgt.n 80b2e96 80b2e8e: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b2e92: d030 beq.n 80b2ef6 80b2e94: e071 b.n 80b2f7a 80b2e96: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b2e9a: d010 beq.n 80b2ebe 80b2e9c: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b2ea0: d16b bne.n 80b2f7a { case 2048u: /* Initializations of structure parameters for 2048 point FFT */ /* Initialise the bit reversal table length */ Sint->bitRevLength = ARMBITREVINDEXTABLE2048_TABLE_LENGTH; 80b2ea2: 68bb ldr r3, [r7, #8] 80b2ea4: f44f 626e mov.w r2, #3808 ; 0xee0 80b2ea8: 819a strh r2, [r3, #12] /* Initialise the bit reversal table pointer */ Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable2048; 80b2eaa: 68bb ldr r3, [r7, #8] 80b2eac: 4a38 ldr r2, [pc, #224] ; (80b2f90 ) 80b2eae: 609a str r2, [r3, #8] /* Initialise the Twiddle coefficient pointers */ Sint->pTwiddle = (float32_t *) twiddleCoef_2048; 80b2eb0: 68bb ldr r3, [r7, #8] 80b2eb2: 4a38 ldr r2, [pc, #224] ; (80b2f94 ) 80b2eb4: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_4096; 80b2eb6: 687b ldr r3, [r7, #4] 80b2eb8: 4a37 ldr r2, [pc, #220] ; (80b2f98 ) 80b2eba: 615a str r2, [r3, #20] break; 80b2ebc: e060 b.n 80b2f80 case 1024u: Sint->bitRevLength = ARMBITREVINDEXTABLE1024_TABLE_LENGTH; 80b2ebe: 68bb ldr r3, [r7, #8] 80b2ec0: f44f 62e1 mov.w r2, #1800 ; 0x708 80b2ec4: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable1024; 80b2ec6: 68bb ldr r3, [r7, #8] 80b2ec8: 4a34 ldr r2, [pc, #208] ; (80b2f9c ) 80b2eca: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_1024; 80b2ecc: 68bb ldr r3, [r7, #8] 80b2ece: 4a34 ldr r2, [pc, #208] ; (80b2fa0 ) 80b2ed0: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_2048; 80b2ed2: 687b ldr r3, [r7, #4] 80b2ed4: 4a33 ldr r2, [pc, #204] ; (80b2fa4 ) 80b2ed6: 615a str r2, [r3, #20] break; 80b2ed8: e052 b.n 80b2f80 case 512u: Sint->bitRevLength = ARMBITREVINDEXTABLE_512_TABLE_LENGTH; 80b2eda: 68bb ldr r3, [r7, #8] 80b2edc: f44f 72e0 mov.w r2, #448 ; 0x1c0 80b2ee0: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable512; 80b2ee2: 68bb ldr r3, [r7, #8] 80b2ee4: 4a30 ldr r2, [pc, #192] ; (80b2fa8 ) 80b2ee6: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_512; 80b2ee8: 68bb ldr r3, [r7, #8] 80b2eea: 4a30 ldr r2, [pc, #192] ; (80b2fac ) 80b2eec: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_1024; 80b2eee: 687b ldr r3, [r7, #4] 80b2ef0: 4a2f ldr r2, [pc, #188] ; (80b2fb0 ) 80b2ef2: 615a str r2, [r3, #20] break; 80b2ef4: e044 b.n 80b2f80 case 256u: Sint->bitRevLength = ARMBITREVINDEXTABLE_256_TABLE_LENGTH; 80b2ef6: 68bb ldr r3, [r7, #8] 80b2ef8: f44f 72dc mov.w r2, #440 ; 0x1b8 80b2efc: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable256; 80b2efe: 68bb ldr r3, [r7, #8] 80b2f00: 4a2c ldr r2, [pc, #176] ; (80b2fb4 ) 80b2f02: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_256; 80b2f04: 68bb ldr r3, [r7, #8] 80b2f06: 4a2c ldr r2, [pc, #176] ; (80b2fb8 ) 80b2f08: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_512; 80b2f0a: 687b ldr r3, [r7, #4] 80b2f0c: 4a2b ldr r2, [pc, #172] ; (80b2fbc ) 80b2f0e: 615a str r2, [r3, #20] break; 80b2f10: e036 b.n 80b2f80 case 128u: Sint->bitRevLength = ARMBITREVINDEXTABLE_128_TABLE_LENGTH; 80b2f12: 68bb ldr r3, [r7, #8] 80b2f14: 22d0 movs r2, #208 ; 0xd0 80b2f16: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable128; 80b2f18: 68bb ldr r3, [r7, #8] 80b2f1a: 4a29 ldr r2, [pc, #164] ; (80b2fc0 ) 80b2f1c: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_128; 80b2f1e: 68bb ldr r3, [r7, #8] 80b2f20: 4a28 ldr r2, [pc, #160] ; (80b2fc4 ) 80b2f22: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_256; 80b2f24: 687b ldr r3, [r7, #4] 80b2f26: 4a28 ldr r2, [pc, #160] ; (80b2fc8 ) 80b2f28: 615a str r2, [r3, #20] break; 80b2f2a: e029 b.n 80b2f80 case 64u: Sint->bitRevLength = ARMBITREVINDEXTABLE__64_TABLE_LENGTH; 80b2f2c: 68bb ldr r3, [r7, #8] 80b2f2e: 2238 movs r2, #56 ; 0x38 80b2f30: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable64; 80b2f32: 68bb ldr r3, [r7, #8] 80b2f34: 4a25 ldr r2, [pc, #148] ; (80b2fcc ) 80b2f36: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_64; 80b2f38: 68bb ldr r3, [r7, #8] 80b2f3a: 4a25 ldr r2, [pc, #148] ; (80b2fd0 ) 80b2f3c: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_128; 80b2f3e: 687b ldr r3, [r7, #4] 80b2f40: 4a24 ldr r2, [pc, #144] ; (80b2fd4 ) 80b2f42: 615a str r2, [r3, #20] break; 80b2f44: e01c b.n 80b2f80 case 32u: Sint->bitRevLength = ARMBITREVINDEXTABLE__32_TABLE_LENGTH; 80b2f46: 68bb ldr r3, [r7, #8] 80b2f48: 2230 movs r2, #48 ; 0x30 80b2f4a: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable32; 80b2f4c: 68bb ldr r3, [r7, #8] 80b2f4e: 4a22 ldr r2, [pc, #136] ; (80b2fd8 ) 80b2f50: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_32; 80b2f52: 68bb ldr r3, [r7, #8] 80b2f54: 4a21 ldr r2, [pc, #132] ; (80b2fdc ) 80b2f56: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_64; 80b2f58: 687b ldr r3, [r7, #4] 80b2f5a: 4a21 ldr r2, [pc, #132] ; (80b2fe0 ) 80b2f5c: 615a str r2, [r3, #20] break; 80b2f5e: e00f b.n 80b2f80 case 16u: Sint->bitRevLength = ARMBITREVINDEXTABLE__16_TABLE_LENGTH; 80b2f60: 68bb ldr r3, [r7, #8] 80b2f62: 2214 movs r2, #20 80b2f64: 819a strh r2, [r3, #12] Sint->pBitRevTable = (uint16_t *)armBitRevIndexTable16; 80b2f66: 68bb ldr r3, [r7, #8] 80b2f68: 4a1e ldr r2, [pc, #120] ; (80b2fe4 ) 80b2f6a: 609a str r2, [r3, #8] Sint->pTwiddle = (float32_t *) twiddleCoef_16; 80b2f6c: 68bb ldr r3, [r7, #8] 80b2f6e: 4a1e ldr r2, [pc, #120] ; (80b2fe8 ) 80b2f70: 605a str r2, [r3, #4] S->pTwiddleRFFT = (float32_t *) twiddleCoef_rfft_32; 80b2f72: 687b ldr r3, [r7, #4] 80b2f74: 4a1d ldr r2, [pc, #116] ; (80b2fec ) 80b2f76: 615a str r2, [r3, #20] break; 80b2f78: e002 b.n 80b2f80 default: /* Reporting argument error if fftSize is not valid value */ status = ARM_MATH_ARGUMENT_ERROR; 80b2f7a: 23ff movs r3, #255 ; 0xff 80b2f7c: 73fb strb r3, [r7, #15] break; 80b2f7e: bf00 nop } return (status); 80b2f80: f997 300f ldrsb.w r3, [r7, #15] } 80b2f84: 4618 mov r0, r3 80b2f86: 3714 adds r7, #20 80b2f88: 46bd mov sp, r7 80b2f8a: f85d 7b04 ldr.w r7, [sp], #4 80b2f8e: 4770 bx lr 80b2f90: 08179fc0 .word 0x08179fc0 80b2f94: 0816a1b4 .word 0x0816a1b4 80b2f98: 08170324 .word 0x08170324 80b2f9c: 08176ca4 .word 0x08176ca4 80b2fa0: 08174ba4 .word 0x08174ba4 80b2fa4: 0816e324 .word 0x0816e324 80b2fa8: 0817c780 .word 0x0817c780 80b2fac: 08178fc0 .word 0x08178fc0 80b2fb0: 0817cb00 .word 0x0817cb00 80b2fb4: 0817df00 .word 0x0817df00 80b2fb8: 08174324 .word 0x08174324 80b2fbc: 0817bf80 .word 0x0817bf80 80b2fc0: 0817e470 .word 0x0817e470 80b2fc4: 08178bc0 .word 0x08178bc0 80b2fc8: 0817db00 .word 0x0817db00 80b2fcc: 0816e2b4 .word 0x0816e2b4 80b2fd0: 0817bd80 .word 0x0817bd80 80b2fd4: 0817e270 .word 0x0817e270 80b2fd8: 08177b5c .word 0x08177b5c 80b2fdc: 08176ba4 .word 0x08176ba4 80b2fe0: 0816e1b4 .word 0x0816e1b4 80b2fe4: 08177ab4 .word 0x08177ab4 80b2fe8: 08174b24 .word 0x08174b24 80b2fec: 08177adc .word 0x08177adc 080b2ff0 : arm_rfft_instance_f32 * S, arm_cfft_radix4_instance_f32 * S_CFFT, uint32_t fftLenReal, uint32_t ifftFlagR, uint32_t bitReverseFlag) { 80b2ff0: b580 push {r7, lr} 80b2ff2: b086 sub sp, #24 80b2ff4: af00 add r7, sp, #0 80b2ff6: 60f8 str r0, [r7, #12] 80b2ff8: 60b9 str r1, [r7, #8] 80b2ffa: 607a str r2, [r7, #4] 80b2ffc: 603b str r3, [r7, #0] /* Initialise the default arm status */ arm_status status = ARM_MATH_SUCCESS; 80b2ffe: 2300 movs r3, #0 80b3000: 75fb strb r3, [r7, #23] /* Initialize the Real FFT length */ S->fftLenReal = (uint16_t) fftLenReal; 80b3002: 687b ldr r3, [r7, #4] 80b3004: b29b uxth r3, r3 80b3006: 461a mov r2, r3 80b3008: 68fb ldr r3, [r7, #12] 80b300a: 601a str r2, [r3, #0] /* Initialize the Complex FFT length */ S->fftLenBy2 = (uint16_t) fftLenReal / 2u; 80b300c: 687b ldr r3, [r7, #4] 80b300e: b29b uxth r3, r3 80b3010: 085b lsrs r3, r3, #1 80b3012: b29a uxth r2, r3 80b3014: 68fb ldr r3, [r7, #12] 80b3016: 809a strh r2, [r3, #4] /* Initialize the Twiddle coefficientA pointer */ S->pTwiddleAReal = (float32_t *) realCoefA; 80b3018: 68fb ldr r3, [r7, #12] 80b301a: 4a27 ldr r2, [pc, #156] ; (80b30b8 ) 80b301c: 60da str r2, [r3, #12] /* Initialize the Twiddle coefficientB pointer */ S->pTwiddleBReal = (float32_t *) realCoefB; 80b301e: 68fb ldr r3, [r7, #12] 80b3020: 4a26 ldr r2, [pc, #152] ; (80b30bc ) 80b3022: 611a str r2, [r3, #16] /* Initialize the Flag for selection of RFFT or RIFFT */ S->ifftFlagR = (uint8_t) ifftFlagR; 80b3024: 683b ldr r3, [r7, #0] 80b3026: b2da uxtb r2, r3 80b3028: 68fb ldr r3, [r7, #12] 80b302a: 719a strb r2, [r3, #6] /* Initialize the Flag for calculation Bit reversal or not */ S->bitReverseFlagR = (uint8_t) bitReverseFlag; 80b302c: 6a3b ldr r3, [r7, #32] 80b302e: b2da uxtb r2, r3 80b3030: 68fb ldr r3, [r7, #12] 80b3032: 71da strb r2, [r3, #7] /* Initializations of structure parameters depending on the FFT length */ switch (S->fftLenReal) 80b3034: 68fb ldr r3, [r7, #12] 80b3036: 681b ldr r3, [r3, #0] 80b3038: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b303c: d013 beq.n 80b3066 80b303e: f5b3 7f00 cmp.w r3, #512 ; 0x200 80b3042: d802 bhi.n 80b304a 80b3044: 2b80 cmp r3, #128 ; 0x80 80b3046: d012 beq.n 80b306e 80b3048: e015 b.n 80b3076 80b304a: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b304e: d006 beq.n 80b305e 80b3050: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80b3054: d10f bne.n 80b3076 { /* Init table modifier value */ case 8192u: S->twidCoefRModifier = 1u; 80b3056: 68fb ldr r3, [r7, #12] 80b3058: 2201 movs r2, #1 80b305a: 609a str r2, [r3, #8] break; 80b305c: e00e b.n 80b307c case 2048u: S->twidCoefRModifier = 4u; 80b305e: 68fb ldr r3, [r7, #12] 80b3060: 2204 movs r2, #4 80b3062: 609a str r2, [r3, #8] break; 80b3064: e00a b.n 80b307c case 512u: S->twidCoefRModifier = 16u; 80b3066: 68fb ldr r3, [r7, #12] 80b3068: 2210 movs r2, #16 80b306a: 609a str r2, [r3, #8] break; 80b306c: e006 b.n 80b307c case 128u: S->twidCoefRModifier = 64u; 80b306e: 68fb ldr r3, [r7, #12] 80b3070: 2240 movs r2, #64 ; 0x40 80b3072: 609a str r2, [r3, #8] break; 80b3074: e002 b.n 80b307c default: /* Reporting argument error if rfftSize is not valid value */ status = ARM_MATH_ARGUMENT_ERROR; 80b3076: 23ff movs r3, #255 ; 0xff 80b3078: 75fb strb r3, [r7, #23] break; 80b307a: bf00 nop } /* Init Complex FFT Instance */ S->pCfft = S_CFFT; 80b307c: 68fb ldr r3, [r7, #12] 80b307e: 68ba ldr r2, [r7, #8] 80b3080: 615a str r2, [r3, #20] if(S->ifftFlagR) 80b3082: 68fb ldr r3, [r7, #12] 80b3084: 799b ldrb r3, [r3, #6] 80b3086: 2b00 cmp r3, #0 80b3088: d008 beq.n 80b309c { /* Initializes the CIFFT Module for fftLenreal/2 length */ arm_cfft_radix4_init_f32(S->pCfft, S->fftLenBy2, 1u, 0u); 80b308a: 68fb ldr r3, [r7, #12] 80b308c: 6958 ldr r0, [r3, #20] 80b308e: 68fb ldr r3, [r7, #12] 80b3090: 8899 ldrh r1, [r3, #4] 80b3092: 2300 movs r3, #0 80b3094: 2201 movs r2, #1 80b3096: f7fe f9f9 bl 80b148c 80b309a: e007 b.n 80b30ac } else { /* Initializes the CFFT Module for fftLenreal/2 length */ arm_cfft_radix4_init_f32(S->pCfft, S->fftLenBy2, 0u, 0u); 80b309c: 68fb ldr r3, [r7, #12] 80b309e: 6958 ldr r0, [r3, #20] 80b30a0: 68fb ldr r3, [r7, #12] 80b30a2: 8899 ldrh r1, [r3, #4] 80b30a4: 2300 movs r3, #0 80b30a6: 2200 movs r2, #0 80b30a8: f7fe f9f0 bl 80b148c } /* return the status of RFFT Init function */ return (status); 80b30ac: f997 3017 ldrsb.w r3, [r7, #23] } 80b30b0: 4618 mov r0, r3 80b30b2: 3718 adds r7, #24 80b30b4: 46bd mov sp, r7 80b30b6: bd80 pop {r7, pc} 80b30b8: 080ef82c .word 0x080ef82c 80b30bc: 080f782c .word 0x080f782c 080b30c0 : * @return sin(x). */ float32_t arm_sin_f32( float32_t x) { 80b30c0: b480 push {r7} 80b30c2: b08b sub sp, #44 ; 0x2c 80b30c4: af00 add r7, sp, #0 80b30c6: ed87 0a01 vstr s0, [r7, #4] int32_t n; float32_t findex; /* input x is in radians */ /* Scale the input to [0 1] range from [0 2*PI] , divide input by 2*pi */ in = x * 0.159154943092f; 80b30ca: edd7 7a01 vldr s15, [r7, #4] 80b30ce: ed9f 7a35 vldr s14, [pc, #212] ; 80b31a4 80b30d2: ee67 7a87 vmul.f32 s15, s15, s14 80b30d6: edc7 7a08 vstr s15, [r7, #32] /* Calculation of floor value of input */ n = (int32_t) in; 80b30da: edd7 7a08 vldr s15, [r7, #32] 80b30de: eefd 7ae7 vcvt.s32.f32 s15, s15 80b30e2: ee17 3a90 vmov r3, s15 80b30e6: 627b str r3, [r7, #36] ; 0x24 /* Make negative values towards -infinity */ if(x < 0.0f) 80b30e8: edd7 7a01 vldr s15, [r7, #4] 80b30ec: eef5 7ac0 vcmpe.f32 s15, #0.0 80b30f0: eef1 fa10 vmrs APSR_nzcv, fpscr 80b30f4: d502 bpl.n 80b30fc { n--; 80b30f6: 6a7b ldr r3, [r7, #36] ; 0x24 80b30f8: 3b01 subs r3, #1 80b30fa: 627b str r3, [r7, #36] ; 0x24 } /* Map input value to [0 1] */ in = in - (float32_t) n; 80b30fc: 6a7b ldr r3, [r7, #36] ; 0x24 80b30fe: ee07 3a90 vmov s15, r3 80b3102: eef8 7ae7 vcvt.f32.s32 s15, s15 80b3106: ed97 7a08 vldr s14, [r7, #32] 80b310a: ee77 7a67 vsub.f32 s15, s14, s15 80b310e: edc7 7a08 vstr s15, [r7, #32] /* Calculation of index of the table */ findex = (float32_t) FAST_MATH_TABLE_SIZE * in; 80b3112: edd7 7a08 vldr s15, [r7, #32] 80b3116: ed9f 7a24 vldr s14, [pc, #144] ; 80b31a8 80b311a: ee67 7a87 vmul.f32 s15, s15, s14 80b311e: edc7 7a07 vstr s15, [r7, #28] index = ((uint16_t)findex) & 0x1ff; 80b3122: edd7 7a07 vldr s15, [r7, #28] 80b3126: eefc 7ae7 vcvt.u32.f32 s15, s15 80b312a: edc7 7a00 vstr s15, [r7] 80b312e: 883b ldrh r3, [r7, #0] 80b3130: b29b uxth r3, r3 80b3132: f3c3 0308 ubfx r3, r3, #0, #9 80b3136: 837b strh r3, [r7, #26] /* fractional value calculation */ fract = findex - (float32_t) index; 80b3138: 8b7b ldrh r3, [r7, #26] 80b313a: ee07 3a90 vmov s15, r3 80b313e: eef8 7a67 vcvt.f32.u32 s15, s15 80b3142: ed97 7a07 vldr s14, [r7, #28] 80b3146: ee77 7a67 vsub.f32 s15, s14, s15 80b314a: edc7 7a05 vstr s15, [r7, #20] /* Read two nearest values of input value from the sin table */ a = sinTable_f32[index]; 80b314e: 8b7b ldrh r3, [r7, #26] 80b3150: 4a16 ldr r2, [pc, #88] ; (80b31ac ) 80b3152: 009b lsls r3, r3, #2 80b3154: 4413 add r3, r2 80b3156: 681b ldr r3, [r3, #0] 80b3158: 613b str r3, [r7, #16] b = sinTable_f32[index+1]; 80b315a: 8b7b ldrh r3, [r7, #26] 80b315c: 3301 adds r3, #1 80b315e: 4a13 ldr r2, [pc, #76] ; (80b31ac ) 80b3160: 009b lsls r3, r3, #2 80b3162: 4413 add r3, r2 80b3164: 681b ldr r3, [r3, #0] 80b3166: 60fb str r3, [r7, #12] /* Linear interpolation process */ sinVal = (1.0f-fract)*a + fract*b; 80b3168: eeb7 7a00 vmov.f32 s14, #112 ; 0x3f800000 1.0 80b316c: edd7 7a05 vldr s15, [r7, #20] 80b3170: ee37 7a67 vsub.f32 s14, s14, s15 80b3174: edd7 7a04 vldr s15, [r7, #16] 80b3178: ee27 7a27 vmul.f32 s14, s14, s15 80b317c: edd7 6a05 vldr s13, [r7, #20] 80b3180: edd7 7a03 vldr s15, [r7, #12] 80b3184: ee66 7aa7 vmul.f32 s15, s13, s15 80b3188: ee77 7a27 vadd.f32 s15, s14, s15 80b318c: edc7 7a02 vstr s15, [r7, #8] /* Return the output value */ return (sinVal); 80b3190: 68bb ldr r3, [r7, #8] 80b3192: ee07 3a90 vmov s15, r3 } 80b3196: eeb0 0a67 vmov.f32 s0, s15 80b319a: 372c adds r7, #44 ; 0x2c 80b319c: 46bd mov sp, r7 80b319e: f85d 7b04 ldr.w r7, [sp], #4 80b31a2: 4770 bx lr 80b31a4: 3e22f983 .word 0x3e22f983 80b31a8: 44000000 .word 0x44000000 80b31ac: 081783bc .word 0x081783bc 080b31b0 : * need to ensure that the SysTick time base is always set to 1 millisecond * to have correct HAL operation. * @retval HAL status */ HAL_StatusTypeDef HAL_Init(void) { 80b31b0: b580 push {r7, lr} 80b31b2: af00 add r7, sp, #0 /* Configure Instruction cache through ART accelerator */ #if (ART_ACCLERATOR_ENABLE != 0) __HAL_FLASH_ART_ENABLE(); 80b31b4: 4a0b ldr r2, [pc, #44] ; (80b31e4 ) 80b31b6: 4b0b ldr r3, [pc, #44] ; (80b31e4 ) 80b31b8: 681b ldr r3, [r3, #0] 80b31ba: f443 7300 orr.w r3, r3, #512 ; 0x200 80b31be: 6013 str r3, [r2, #0] #endif /* ART_ACCLERATOR_ENABLE */ /* Configure Flash prefetch */ #if (PREFETCH_ENABLE != 0U) __HAL_FLASH_PREFETCH_BUFFER_ENABLE(); 80b31c0: 4a08 ldr r2, [pc, #32] ; (80b31e4 ) 80b31c2: 4b08 ldr r3, [pc, #32] ; (80b31e4 ) 80b31c4: 681b ldr r3, [r3, #0] 80b31c6: f443 7380 orr.w r3, r3, #256 ; 0x100 80b31ca: 6013 str r3, [r2, #0] #endif /* PREFETCH_ENABLE */ /* Set Interrupt Group Priority */ HAL_NVIC_SetPriorityGrouping(NVIC_PRIORITYGROUP_4); 80b31cc: 2003 movs r0, #3 80b31ce: f000 ff9b bl 80b4108 /* Use systick as time base source and configure 1ms tick (default clock after Reset is HSI) */ HAL_InitTick(TICK_INT_PRIORITY); 80b31d2: 2000 movs r0, #0 80b31d4: f000 f808 bl 80b31e8 /* Init the low level hardware */ HAL_MspInit(); 80b31d8: f7fb f83a bl 80ae250 /* Return function status */ return HAL_OK; 80b31dc: 2300 movs r3, #0 } 80b31de: 4618 mov r0, r3 80b31e0: bd80 pop {r7, pc} 80b31e2: bf00 nop 80b31e4: 40023c00 .word 0x40023c00 080b31e8 : * implementation in user file. * @param TickPriority Tick interrupt priority. * @retval HAL status */ __weak HAL_StatusTypeDef HAL_InitTick(uint32_t TickPriority) { 80b31e8: b580 push {r7, lr} 80b31ea: b082 sub sp, #8 80b31ec: af00 add r7, sp, #0 80b31ee: 6078 str r0, [r7, #4] /* Configure the SysTick to have interrupt in 1ms time basis*/ if (HAL_SYSTICK_Config(SystemCoreClock / (1000U / uwTickFreq)) > 0U) 80b31f0: 4b12 ldr r3, [pc, #72] ; (80b323c ) 80b31f2: 681a ldr r2, [r3, #0] 80b31f4: 4b12 ldr r3, [pc, #72] ; (80b3240 ) 80b31f6: 781b ldrb r3, [r3, #0] 80b31f8: 4619 mov r1, r3 80b31fa: f44f 737a mov.w r3, #1000 ; 0x3e8 80b31fe: fbb3 f3f1 udiv r3, r3, r1 80b3202: fbb2 f3f3 udiv r3, r2, r3 80b3206: 4618 mov r0, r3 80b3208: f000 ffc5 bl 80b4196 80b320c: 4603 mov r3, r0 80b320e: 2b00 cmp r3, #0 80b3210: d001 beq.n 80b3216 { return HAL_ERROR; 80b3212: 2301 movs r3, #1 80b3214: e00e b.n 80b3234 } /* Configure the SysTick IRQ priority */ if (TickPriority < (1UL << __NVIC_PRIO_BITS)) 80b3216: 687b ldr r3, [r7, #4] 80b3218: 2b0f cmp r3, #15 80b321a: d80a bhi.n 80b3232 { HAL_NVIC_SetPriority(SysTick_IRQn, TickPriority, 0U); 80b321c: 2200 movs r2, #0 80b321e: 6879 ldr r1, [r7, #4] 80b3220: f04f 30ff mov.w r0, #4294967295 80b3224: f000 ff7b bl 80b411e uwTickPrio = TickPriority; 80b3228: 4a06 ldr r2, [pc, #24] ; (80b3244 ) 80b322a: 687b ldr r3, [r7, #4] 80b322c: 6013 str r3, [r2, #0] { return HAL_ERROR; } /* Return function status */ return HAL_OK; 80b322e: 2300 movs r3, #0 80b3230: e000 b.n 80b3234 return HAL_ERROR; 80b3232: 2301 movs r3, #1 } 80b3234: 4618 mov r0, r3 80b3236: 3708 adds r7, #8 80b3238: 46bd mov sp, r7 80b323a: bd80 pop {r7, pc} 80b323c: 200209b4 .word 0x200209b4 80b3240: 200209d8 .word 0x200209d8 80b3244: 200209d4 .word 0x200209d4 080b3248 : * @note This function is declared as __weak to be overwritten in case of other * implementations in user file. * @retval None */ __weak void HAL_IncTick(void) { 80b3248: b480 push {r7} 80b324a: af00 add r7, sp, #0 uwTick += uwTickFreq; 80b324c: 4b06 ldr r3, [pc, #24] ; (80b3268 ) 80b324e: 781b ldrb r3, [r3, #0] 80b3250: 461a mov r2, r3 80b3252: 4b06 ldr r3, [pc, #24] ; (80b326c ) 80b3254: 681b ldr r3, [r3, #0] 80b3256: 4413 add r3, r2 80b3258: 4a04 ldr r2, [pc, #16] ; (80b326c ) 80b325a: 6013 str r3, [r2, #0] } 80b325c: bf00 nop 80b325e: 46bd mov sp, r7 80b3260: f85d 7b04 ldr.w r7, [sp], #4 80b3264: 4770 bx lr 80b3266: bf00 nop 80b3268: 200209d8 .word 0x200209d8 80b326c: 20068aa8 .word 0x20068aa8 080b3270 : * @note This function is declared as __weak to be overwritten in case of other * implementations in user file. * @retval tick value */ __weak uint32_t HAL_GetTick(void) { 80b3270: b480 push {r7} 80b3272: af00 add r7, sp, #0 return uwTick; 80b3274: 4b03 ldr r3, [pc, #12] ; (80b3284 ) 80b3276: 681b ldr r3, [r3, #0] } 80b3278: 4618 mov r0, r3 80b327a: 46bd mov sp, r7 80b327c: f85d 7b04 ldr.w r7, [sp], #4 80b3280: 4770 bx lr 80b3282: bf00 nop 80b3284: 20068aa8 .word 0x20068aa8 080b3288 : * implementations in user file. * @param Delay specifies the delay time length, in milliseconds. * @retval None */ __weak void HAL_Delay(uint32_t Delay) { 80b3288: b580 push {r7, lr} 80b328a: b084 sub sp, #16 80b328c: af00 add r7, sp, #0 80b328e: 6078 str r0, [r7, #4] uint32_t tickstart = HAL_GetTick(); 80b3290: f7ff ffee bl 80b3270 80b3294: 60b8 str r0, [r7, #8] uint32_t wait = Delay; 80b3296: 687b ldr r3, [r7, #4] 80b3298: 60fb str r3, [r7, #12] /* Add a freq to guarantee minimum wait */ if (wait < HAL_MAX_DELAY) 80b329a: 68fb ldr r3, [r7, #12] 80b329c: f1b3 3fff cmp.w r3, #4294967295 80b32a0: d005 beq.n 80b32ae { wait += (uint32_t)(uwTickFreq); 80b32a2: 4b09 ldr r3, [pc, #36] ; (80b32c8 ) 80b32a4: 781b ldrb r3, [r3, #0] 80b32a6: 461a mov r2, r3 80b32a8: 68fb ldr r3, [r7, #12] 80b32aa: 4413 add r3, r2 80b32ac: 60fb str r3, [r7, #12] } while ((HAL_GetTick() - tickstart) < wait) 80b32ae: bf00 nop 80b32b0: f7ff ffde bl 80b3270 80b32b4: 4602 mov r2, r0 80b32b6: 68bb ldr r3, [r7, #8] 80b32b8: 1ad2 subs r2, r2, r3 80b32ba: 68fb ldr r3, [r7, #12] 80b32bc: 429a cmp r2, r3 80b32be: d3f7 bcc.n 80b32b0 { } } 80b32c0: bf00 nop 80b32c2: 3710 adds r7, #16 80b32c4: 46bd mov sp, r7 80b32c6: bd80 pop {r7, pc} 80b32c8: 200209d8 .word 0x200209d8 080b32cc : * @param hadc pointer to a ADC_HandleTypeDef structure that contains * the configuration information for the specified ADC. * @retval HAL status */ HAL_StatusTypeDef HAL_ADC_Init(ADC_HandleTypeDef* hadc) { 80b32cc: b580 push {r7, lr} 80b32ce: b084 sub sp, #16 80b32d0: af00 add r7, sp, #0 80b32d2: 6078 str r0, [r7, #4] HAL_StatusTypeDef tmp_hal_status = HAL_OK; 80b32d4: 2300 movs r3, #0 80b32d6: 73fb strb r3, [r7, #15] /* Check ADC handle */ if(hadc == NULL) 80b32d8: 687b ldr r3, [r7, #4] 80b32da: 2b00 cmp r3, #0 80b32dc: d101 bne.n 80b32e2 { return HAL_ERROR; 80b32de: 2301 movs r3, #1 80b32e0: e031 b.n 80b3346 if(hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) { assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); } if(hadc->State == HAL_ADC_STATE_RESET) 80b32e2: 687b ldr r3, [r7, #4] 80b32e4: 6c1b ldr r3, [r3, #64] ; 0x40 80b32e6: 2b00 cmp r3, #0 80b32e8: d109 bne.n 80b32fe /* Init the low level hardware */ hadc->MspInitCallback(hadc); #else /* Init the low level hardware */ HAL_ADC_MspInit(hadc); 80b32ea: 6878 ldr r0, [r7, #4] 80b32ec: f76d fc3e bl 8020b6c #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ /* Initialize ADC error code */ ADC_CLEAR_ERRORCODE(hadc); 80b32f0: 687b ldr r3, [r7, #4] 80b32f2: 2200 movs r2, #0 80b32f4: 645a str r2, [r3, #68] ; 0x44 /* Allocate lock resource and initialize it */ hadc->Lock = HAL_UNLOCKED; 80b32f6: 687b ldr r3, [r7, #4] 80b32f8: 2200 movs r2, #0 80b32fa: f883 203c strb.w r2, [r3, #60] ; 0x3c } /* Configuration of ADC parameters if previous preliminary actions are */ /* correctly completed. */ if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL)) 80b32fe: 687b ldr r3, [r7, #4] 80b3300: 6c1b ldr r3, [r3, #64] ; 0x40 80b3302: f003 0310 and.w r3, r3, #16 80b3306: 2b00 cmp r3, #0 80b3308: d116 bne.n 80b3338 { /* Set ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b330a: 687b ldr r3, [r7, #4] 80b330c: 6c1a ldr r2, [r3, #64] ; 0x40 80b330e: 4b10 ldr r3, [pc, #64] ; (80b3350 ) 80b3310: 4013 ands r3, r2 80b3312: f043 0202 orr.w r2, r3, #2 80b3316: 687b ldr r3, [r7, #4] 80b3318: 641a str r2, [r3, #64] ; 0x40 HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, HAL_ADC_STATE_BUSY_INTERNAL); /* Set ADC parameters */ ADC_Init(hadc); 80b331a: 6878 ldr r0, [r7, #4] 80b331c: f000 fc74 bl 80b3c08 /* Set ADC error code to none */ ADC_CLEAR_ERRORCODE(hadc); 80b3320: 687b ldr r3, [r7, #4] 80b3322: 2200 movs r2, #0 80b3324: 645a str r2, [r3, #68] ; 0x44 /* Set the ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b3326: 687b ldr r3, [r7, #4] 80b3328: 6c1b ldr r3, [r3, #64] ; 0x40 80b332a: f023 0303 bic.w r3, r3, #3 80b332e: f043 0201 orr.w r2, r3, #1 80b3332: 687b ldr r3, [r7, #4] 80b3334: 641a str r2, [r3, #64] ; 0x40 80b3336: e001 b.n 80b333c HAL_ADC_STATE_BUSY_INTERNAL, HAL_ADC_STATE_READY); } else { tmp_hal_status = HAL_ERROR; 80b3338: 2301 movs r3, #1 80b333a: 73fb strb r3, [r7, #15] } /* Release Lock */ __HAL_UNLOCK(hadc); 80b333c: 687b ldr r3, [r7, #4] 80b333e: 2200 movs r2, #0 80b3340: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return tmp_hal_status; 80b3344: 7bfb ldrb r3, [r7, #15] } 80b3346: 4618 mov r0, r3 80b3348: 3710 adds r7, #16 80b334a: 46bd mov sp, r7 80b334c: bd80 pop {r7, pc} 80b334e: bf00 nop 80b3350: ffffeefd .word 0xffffeefd 080b3354 : * @param hadc pointer to a ADC_HandleTypeDef structure that contains * the configuration information for the specified ADC. * @retval HAL status */ HAL_StatusTypeDef HAL_ADC_Start(ADC_HandleTypeDef* hadc) { 80b3354: b480 push {r7} 80b3356: b085 sub sp, #20 80b3358: af00 add r7, sp, #0 80b335a: 6078 str r0, [r7, #4] __IO uint32_t counter = 0; 80b335c: 2300 movs r3, #0 80b335e: 60fb str r3, [r7, #12] /* Check the parameters */ assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); /* Process locked */ __HAL_LOCK(hadc); 80b3360: 687b ldr r3, [r7, #4] 80b3362: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b3366: 2b01 cmp r3, #1 80b3368: d101 bne.n 80b336e 80b336a: 2302 movs r3, #2 80b336c: e0ad b.n 80b34ca 80b336e: 687b ldr r3, [r7, #4] 80b3370: 2201 movs r2, #1 80b3372: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Enable the ADC peripheral */ /* Check if ADC peripheral is disabled in order to enable it and wait during Tstab time the ADC's stabilization */ if((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON) 80b3376: 687b ldr r3, [r7, #4] 80b3378: 681b ldr r3, [r3, #0] 80b337a: 689b ldr r3, [r3, #8] 80b337c: f003 0301 and.w r3, r3, #1 80b3380: 2b01 cmp r3, #1 80b3382: d018 beq.n 80b33b6 { /* Enable the Peripheral */ __HAL_ADC_ENABLE(hadc); 80b3384: 687b ldr r3, [r7, #4] 80b3386: 681b ldr r3, [r3, #0] 80b3388: 687a ldr r2, [r7, #4] 80b338a: 6812 ldr r2, [r2, #0] 80b338c: 6892 ldr r2, [r2, #8] 80b338e: f042 0201 orr.w r2, r2, #1 80b3392: 609a str r2, [r3, #8] /* Delay for ADC stabilization time */ /* Compute number of CPU cycles to wait for */ counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000)); 80b3394: 4b50 ldr r3, [pc, #320] ; (80b34d8 ) 80b3396: 681b ldr r3, [r3, #0] 80b3398: 4a50 ldr r2, [pc, #320] ; (80b34dc ) 80b339a: fba2 2303 umull r2, r3, r2, r3 80b339e: 0c9a lsrs r2, r3, #18 80b33a0: 4613 mov r3, r2 80b33a2: 005b lsls r3, r3, #1 80b33a4: 4413 add r3, r2 80b33a6: 60fb str r3, [r7, #12] while(counter != 0) 80b33a8: e002 b.n 80b33b0 { counter--; 80b33aa: 68fb ldr r3, [r7, #12] 80b33ac: 3b01 subs r3, #1 80b33ae: 60fb str r3, [r7, #12] while(counter != 0) 80b33b0: 68fb ldr r3, [r7, #12] 80b33b2: 2b00 cmp r3, #0 80b33b4: d1f9 bne.n 80b33aa } } /* Start conversion if ADC is effectively enabled */ if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 80b33b6: 687b ldr r3, [r7, #4] 80b33b8: 681b ldr r3, [r3, #0] 80b33ba: 689b ldr r3, [r3, #8] 80b33bc: f003 0301 and.w r3, r3, #1 80b33c0: 2b01 cmp r3, #1 80b33c2: d175 bne.n 80b34b0 { /* Set ADC state */ /* - Clear state bitfield related to regular group conversion results */ /* - Set state bitfield related to regular group operation */ ADC_STATE_CLR_SET(hadc->State, 80b33c4: 687b ldr r3, [r7, #4] 80b33c6: 6c1a ldr r2, [r3, #64] ; 0x40 80b33c8: 4b45 ldr r3, [pc, #276] ; (80b34e0 ) 80b33ca: 4013 ands r3, r2 80b33cc: f443 7280 orr.w r2, r3, #256 ; 0x100 80b33d0: 687b ldr r3, [r7, #4] 80b33d2: 641a str r2, [r3, #64] ; 0x40 HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR, HAL_ADC_STATE_REG_BUSY); /* If conversions on group regular are also triggering group injected, */ /* update ADC state. */ if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET) 80b33d4: 687b ldr r3, [r7, #4] 80b33d6: 681b ldr r3, [r3, #0] 80b33d8: 685b ldr r3, [r3, #4] 80b33da: f403 6380 and.w r3, r3, #1024 ; 0x400 80b33de: 2b00 cmp r3, #0 80b33e0: d007 beq.n 80b33f2 { ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 80b33e2: 687b ldr r3, [r7, #4] 80b33e4: 6c1b ldr r3, [r3, #64] ; 0x40 80b33e6: f423 5340 bic.w r3, r3, #12288 ; 0x3000 80b33ea: f443 5280 orr.w r2, r3, #4096 ; 0x1000 80b33ee: 687b ldr r3, [r7, #4] 80b33f0: 641a str r2, [r3, #64] ; 0x40 } /* State machine update: Check if an injected conversion is ongoing */ if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 80b33f2: 687b ldr r3, [r7, #4] 80b33f4: 6c1b ldr r3, [r3, #64] ; 0x40 80b33f6: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b33fa: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b33fe: d106 bne.n 80b340e { /* Reset ADC error code fields related to conversions on group regular */ CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 80b3400: 687b ldr r3, [r7, #4] 80b3402: 6c5b ldr r3, [r3, #68] ; 0x44 80b3404: f023 0206 bic.w r2, r3, #6 80b3408: 687b ldr r3, [r7, #4] 80b340a: 645a str r2, [r3, #68] ; 0x44 80b340c: e002 b.n 80b3414 } else { /* Reset ADC all error code fields */ ADC_CLEAR_ERRORCODE(hadc); 80b340e: 687b ldr r3, [r7, #4] 80b3410: 2200 movs r2, #0 80b3412: 645a str r2, [r3, #68] ; 0x44 } /* Process unlocked */ /* Unlock before starting ADC conversions: in case of potential */ /* interruption, to let the process to ADC IRQ Handler. */ __HAL_UNLOCK(hadc); 80b3414: 687b ldr r3, [r7, #4] 80b3416: 2200 movs r2, #0 80b3418: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Clear regular group conversion flag and overrun flag */ /* (To ensure of no unknown state from potential previous ADC operations) */ __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC | ADC_FLAG_OVR); 80b341c: 687b ldr r3, [r7, #4] 80b341e: 681b ldr r3, [r3, #0] 80b3420: f06f 0222 mvn.w r2, #34 ; 0x22 80b3424: 601a str r2, [r3, #0] /* Check if Multimode enabled */ if(HAL_IS_BIT_CLR(ADC->CCR, ADC_CCR_MULTI)) 80b3426: 4b2f ldr r3, [pc, #188] ; (80b34e4 ) 80b3428: 685b ldr r3, [r3, #4] 80b342a: f003 031f and.w r3, r3, #31 80b342e: 2b00 cmp r3, #0 80b3430: d10f bne.n 80b3452 { /* if no external trigger present enable software conversion of regular channels */ if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 80b3432: 687b ldr r3, [r7, #4] 80b3434: 681b ldr r3, [r3, #0] 80b3436: 689b ldr r3, [r3, #8] 80b3438: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b343c: 2b00 cmp r3, #0 80b343e: d143 bne.n 80b34c8 { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b3440: 687b ldr r3, [r7, #4] 80b3442: 681b ldr r3, [r3, #0] 80b3444: 687a ldr r2, [r7, #4] 80b3446: 6812 ldr r2, [r2, #0] 80b3448: 6892 ldr r2, [r2, #8] 80b344a: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b344e: 609a str r2, [r3, #8] 80b3450: e03a b.n 80b34c8 } } else { /* if instance of handle correspond to ADC1 and no external trigger present enable software conversion of regular channels */ if((hadc->Instance == ADC1) && ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET)) 80b3452: 687b ldr r3, [r7, #4] 80b3454: 681b ldr r3, [r3, #0] 80b3456: 4a24 ldr r2, [pc, #144] ; (80b34e8 ) 80b3458: 4293 cmp r3, r2 80b345a: d10e bne.n 80b347a 80b345c: 687b ldr r3, [r7, #4] 80b345e: 681b ldr r3, [r3, #0] 80b3460: 689b ldr r3, [r3, #8] 80b3462: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b3466: 2b00 cmp r3, #0 80b3468: d107 bne.n 80b347a { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b346a: 687b ldr r3, [r7, #4] 80b346c: 681b ldr r3, [r3, #0] 80b346e: 687a ldr r2, [r7, #4] 80b3470: 6812 ldr r2, [r2, #0] 80b3472: 6892 ldr r2, [r2, #8] 80b3474: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b3478: 609a str r2, [r3, #8] } /* if dual mode is selected, ADC3 works independently. */ /* check if the mode selected is not triple */ if( HAL_IS_BIT_CLR(ADC->CCR, ADC_CCR_MULTI_4) ) 80b347a: 4b1a ldr r3, [pc, #104] ; (80b34e4 ) 80b347c: 685b ldr r3, [r3, #4] 80b347e: f003 0310 and.w r3, r3, #16 80b3482: 2b00 cmp r3, #0 80b3484: d120 bne.n 80b34c8 { /* if instance of handle correspond to ADC3 and no external trigger present enable software conversion of regular channels */ if((hadc->Instance == ADC3) && ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET)) 80b3486: 687b ldr r3, [r7, #4] 80b3488: 681b ldr r3, [r3, #0] 80b348a: 4a18 ldr r2, [pc, #96] ; (80b34ec ) 80b348c: 4293 cmp r3, r2 80b348e: d11b bne.n 80b34c8 80b3490: 687b ldr r3, [r7, #4] 80b3492: 681b ldr r3, [r3, #0] 80b3494: 689b ldr r3, [r3, #8] 80b3496: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b349a: 2b00 cmp r3, #0 80b349c: d114 bne.n 80b34c8 { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b349e: 687b ldr r3, [r7, #4] 80b34a0: 681b ldr r3, [r3, #0] 80b34a2: 687a ldr r2, [r7, #4] 80b34a4: 6812 ldr r2, [r2, #0] 80b34a6: 6892 ldr r2, [r2, #8] 80b34a8: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b34ac: 609a str r2, [r3, #8] 80b34ae: e00b b.n 80b34c8 } } else { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 80b34b0: 687b ldr r3, [r7, #4] 80b34b2: 6c1b ldr r3, [r3, #64] ; 0x40 80b34b4: f043 0210 orr.w r2, r3, #16 80b34b8: 687b ldr r3, [r7, #4] 80b34ba: 641a str r2, [r3, #64] ; 0x40 /* Set ADC error code to ADC IP internal error */ SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 80b34bc: 687b ldr r3, [r7, #4] 80b34be: 6c5b ldr r3, [r3, #68] ; 0x44 80b34c0: f043 0201 orr.w r2, r3, #1 80b34c4: 687b ldr r3, [r7, #4] 80b34c6: 645a str r2, [r3, #68] ; 0x44 } /* Return function status */ return HAL_OK; 80b34c8: 2300 movs r3, #0 } 80b34ca: 4618 mov r0, r3 80b34cc: 3714 adds r7, #20 80b34ce: 46bd mov sp, r7 80b34d0: f85d 7b04 ldr.w r7, [sp], #4 80b34d4: 4770 bx lr 80b34d6: bf00 nop 80b34d8: 200209b4 .word 0x200209b4 80b34dc: 431bde83 .word 0x431bde83 80b34e0: fffff8fe .word 0xfffff8fe 80b34e4: 40012300 .word 0x40012300 80b34e8: 40012000 .word 0x40012000 80b34ec: 40012200 .word 0x40012200 080b34f0 : * the configuration information for the specified ADC. * * @retval HAL status. */ HAL_StatusTypeDef HAL_ADC_Stop(ADC_HandleTypeDef* hadc) { 80b34f0: b480 push {r7} 80b34f2: b083 sub sp, #12 80b34f4: af00 add r7, sp, #0 80b34f6: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); /* Process locked */ __HAL_LOCK(hadc); 80b34f8: 687b ldr r3, [r7, #4] 80b34fa: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b34fe: 2b01 cmp r3, #1 80b3500: d101 bne.n 80b3506 80b3502: 2302 movs r3, #2 80b3504: e01f b.n 80b3546 80b3506: 687b ldr r3, [r7, #4] 80b3508: 2201 movs r2, #1 80b350a: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Stop potential conversion on going, on regular and injected groups */ /* Disable ADC peripheral */ __HAL_ADC_DISABLE(hadc); 80b350e: 687b ldr r3, [r7, #4] 80b3510: 681b ldr r3, [r3, #0] 80b3512: 687a ldr r2, [r7, #4] 80b3514: 6812 ldr r2, [r2, #0] 80b3516: 6892 ldr r2, [r2, #8] 80b3518: f022 0201 bic.w r2, r2, #1 80b351c: 609a str r2, [r3, #8] /* Check if ADC is effectively disabled */ if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 80b351e: 687b ldr r3, [r7, #4] 80b3520: 681b ldr r3, [r3, #0] 80b3522: 689b ldr r3, [r3, #8] 80b3524: f003 0301 and.w r3, r3, #1 80b3528: 2b00 cmp r3, #0 80b352a: d107 bne.n 80b353c { /* Set ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b352c: 687b ldr r3, [r7, #4] 80b352e: 6c1a ldr r2, [r3, #64] ; 0x40 80b3530: 4b08 ldr r3, [pc, #32] ; (80b3554 ) 80b3532: 4013 ands r3, r2 80b3534: f043 0201 orr.w r2, r3, #1 80b3538: 687b ldr r3, [r7, #4] 80b353a: 641a str r2, [r3, #64] ; 0x40 HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, HAL_ADC_STATE_READY); } /* Process unlocked */ __HAL_UNLOCK(hadc); 80b353c: 687b ldr r3, [r7, #4] 80b353e: 2200 movs r2, #0 80b3540: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return HAL_OK; 80b3544: 2300 movs r3, #0 } 80b3546: 4618 mov r0, r3 80b3548: 370c adds r7, #12 80b354a: 46bd mov sp, r7 80b354c: f85d 7b04 ldr.w r7, [sp], #4 80b3550: 4770 bx lr 80b3552: bf00 nop 80b3554: ffffeefe .word 0xffffeefe 080b3558 : * the configuration information for the specified ADC. * @param Timeout Timeout value in millisecond. * @retval HAL status */ HAL_StatusTypeDef HAL_ADC_PollForConversion(ADC_HandleTypeDef* hadc, uint32_t Timeout) { 80b3558: b580 push {r7, lr} 80b355a: b084 sub sp, #16 80b355c: af00 add r7, sp, #0 80b355e: 6078 str r0, [r7, #4] 80b3560: 6039 str r1, [r7, #0] uint32_t tickstart = 0; 80b3562: 2300 movs r3, #0 80b3564: 60fb str r3, [r7, #12] /* each conversion: */ /* Particular case is ADC configured in DMA mode and ADC sequencer with */ /* several ranks and polling for end of each conversion. */ /* For code simplicity sake, this particular case is generalized to */ /* ADC configured in DMA mode and polling for end of each conversion. */ if (HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_EOCS) && 80b3566: 687b ldr r3, [r7, #4] 80b3568: 681b ldr r3, [r3, #0] 80b356a: 689b ldr r3, [r3, #8] 80b356c: f403 6380 and.w r3, r3, #1024 ; 0x400 80b3570: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80b3574: d113 bne.n 80b359e HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_DMA) ) 80b3576: 687b ldr r3, [r7, #4] 80b3578: 681b ldr r3, [r3, #0] 80b357a: 689b ldr r3, [r3, #8] 80b357c: f403 7380 and.w r3, r3, #256 ; 0x100 if (HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_EOCS) && 80b3580: f5b3 7f80 cmp.w r3, #256 ; 0x100 80b3584: d10b bne.n 80b359e { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_CONFIG); 80b3586: 687b ldr r3, [r7, #4] 80b3588: 6c1b ldr r3, [r3, #64] ; 0x40 80b358a: f043 0220 orr.w r2, r3, #32 80b358e: 687b ldr r3, [r7, #4] 80b3590: 641a str r2, [r3, #64] ; 0x40 /* Process unlocked */ __HAL_UNLOCK(hadc); 80b3592: 687b ldr r3, [r7, #4] 80b3594: 2200 movs r2, #0 80b3596: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_ERROR; 80b359a: 2301 movs r3, #1 80b359c: e063 b.n 80b3666 } /* Get tick */ tickstart = HAL_GetTick(); 80b359e: f7ff fe67 bl 80b3270 80b35a2: 60f8 str r0, [r7, #12] /* Check End of conversion flag */ while(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 80b35a4: e021 b.n 80b35ea { /* Check if timeout is disabled (set to infinite wait) */ if(Timeout != HAL_MAX_DELAY) 80b35a6: 683b ldr r3, [r7, #0] 80b35a8: f1b3 3fff cmp.w r3, #4294967295 80b35ac: d01d beq.n 80b35ea { if((Timeout == 0) || ((HAL_GetTick() - tickstart ) > Timeout)) 80b35ae: 683b ldr r3, [r7, #0] 80b35b0: 2b00 cmp r3, #0 80b35b2: d007 beq.n 80b35c4 80b35b4: f7ff fe5c bl 80b3270 80b35b8: 4602 mov r2, r0 80b35ba: 68fb ldr r3, [r7, #12] 80b35bc: 1ad2 subs r2, r2, r3 80b35be: 683b ldr r3, [r7, #0] 80b35c0: 429a cmp r2, r3 80b35c2: d912 bls.n 80b35ea { /* New check to avoid false timeout detection in case of preemption */ if(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 80b35c4: 687b ldr r3, [r7, #4] 80b35c6: 681b ldr r3, [r3, #0] 80b35c8: 681b ldr r3, [r3, #0] 80b35ca: f003 0302 and.w r3, r3, #2 80b35ce: 2b02 cmp r3, #2 80b35d0: d00b beq.n 80b35ea { /* Update ADC state machine to timeout */ SET_BIT(hadc->State, HAL_ADC_STATE_TIMEOUT); 80b35d2: 687b ldr r3, [r7, #4] 80b35d4: 6c1b ldr r3, [r3, #64] ; 0x40 80b35d6: f043 0204 orr.w r2, r3, #4 80b35da: 687b ldr r3, [r7, #4] 80b35dc: 641a str r2, [r3, #64] ; 0x40 /* Process unlocked */ __HAL_UNLOCK(hadc); 80b35de: 687b ldr r3, [r7, #4] 80b35e0: 2200 movs r2, #0 80b35e2: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_TIMEOUT; 80b35e6: 2303 movs r3, #3 80b35e8: e03d b.n 80b3666 while(!(__HAL_ADC_GET_FLAG(hadc, ADC_FLAG_EOC))) 80b35ea: 687b ldr r3, [r7, #4] 80b35ec: 681b ldr r3, [r3, #0] 80b35ee: 681b ldr r3, [r3, #0] 80b35f0: f003 0302 and.w r3, r3, #2 80b35f4: 2b02 cmp r3, #2 80b35f6: d1d6 bne.n 80b35a6 } } } /* Clear regular group conversion flag */ __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_STRT | ADC_FLAG_EOC); 80b35f8: 687b ldr r3, [r7, #4] 80b35fa: 681b ldr r3, [r3, #0] 80b35fc: f06f 0212 mvn.w r2, #18 80b3600: 601a str r2, [r3, #0] /* Update ADC state machine */ SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 80b3602: 687b ldr r3, [r7, #4] 80b3604: 6c1b ldr r3, [r3, #64] ; 0x40 80b3606: f443 7200 orr.w r2, r3, #512 ; 0x200 80b360a: 687b ldr r3, [r7, #4] 80b360c: 641a str r2, [r3, #64] ; 0x40 /* by external trigger, continuous mode or scan sequence on going. */ /* Note: On STM32F7, there is no independent flag of end of sequence. */ /* The test of scan sequence on going is done either with scan */ /* sequence disabled or with end of conversion flag set to */ /* of end of sequence. */ if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 80b360e: 687b ldr r3, [r7, #4] 80b3610: 681b ldr r3, [r3, #0] 80b3612: 689b ldr r3, [r3, #8] 80b3614: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b3618: 2b00 cmp r3, #0 80b361a: d123 bne.n 80b3664 (hadc->Init.ContinuousConvMode == DISABLE) && 80b361c: 687b ldr r3, [r7, #4] 80b361e: 699b ldr r3, [r3, #24] if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 80b3620: 2b00 cmp r3, #0 80b3622: d11f bne.n 80b3664 (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b3624: 687b ldr r3, [r7, #4] 80b3626: 681b ldr r3, [r3, #0] 80b3628: 6adb ldr r3, [r3, #44] ; 0x2c 80b362a: f403 0370 and.w r3, r3, #15728640 ; 0xf00000 (hadc->Init.ContinuousConvMode == DISABLE) && 80b362e: 2b00 cmp r3, #0 80b3630: d006 beq.n 80b3640 HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) ) 80b3632: 687b ldr r3, [r7, #4] 80b3634: 681b ldr r3, [r3, #0] 80b3636: 689b ldr r3, [r3, #8] 80b3638: f403 6380 and.w r3, r3, #1024 ; 0x400 (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b363c: 2b00 cmp r3, #0 80b363e: d111 bne.n 80b3664 { /* Set ADC state */ CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 80b3640: 687b ldr r3, [r7, #4] 80b3642: 6c1b ldr r3, [r3, #64] ; 0x40 80b3644: f423 7280 bic.w r2, r3, #256 ; 0x100 80b3648: 687b ldr r3, [r7, #4] 80b364a: 641a str r2, [r3, #64] ; 0x40 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 80b364c: 687b ldr r3, [r7, #4] 80b364e: 6c1b ldr r3, [r3, #64] ; 0x40 80b3650: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b3654: 2b00 cmp r3, #0 80b3656: d105 bne.n 80b3664 { SET_BIT(hadc->State, HAL_ADC_STATE_READY); 80b3658: 687b ldr r3, [r7, #4] 80b365a: 6c1b ldr r3, [r3, #64] ; 0x40 80b365c: f043 0201 orr.w r2, r3, #1 80b3660: 687b ldr r3, [r7, #4] 80b3662: 641a str r2, [r3, #64] ; 0x40 } } /* Return ADC state */ return HAL_OK; 80b3664: 2300 movs r3, #0 } 80b3666: 4618 mov r0, r3 80b3668: 3710 adds r7, #16 80b366a: 46bd mov sp, r7 80b366c: bd80 pop {r7, pc} ... 080b3670 : * @param pData The destination Buffer address. * @param Length The length of data to be transferred from ADC peripheral to memory. * @retval HAL status */ HAL_StatusTypeDef HAL_ADC_Start_DMA(ADC_HandleTypeDef* hadc, uint32_t* pData, uint32_t Length) { 80b3670: b580 push {r7, lr} 80b3672: b086 sub sp, #24 80b3674: af00 add r7, sp, #0 80b3676: 60f8 str r0, [r7, #12] 80b3678: 60b9 str r1, [r7, #8] 80b367a: 607a str r2, [r7, #4] __IO uint32_t counter = 0; 80b367c: 2300 movs r3, #0 80b367e: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_FUNCTIONAL_STATE(hadc->Init.ContinuousConvMode)); assert_param(IS_ADC_EXT_TRIG_EDGE(hadc->Init.ExternalTrigConvEdge)); /* Process locked */ __HAL_LOCK(hadc); 80b3680: 68fb ldr r3, [r7, #12] 80b3682: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b3686: 2b01 cmp r3, #1 80b3688: d101 bne.n 80b368e 80b368a: 2302 movs r3, #2 80b368c: e0d4 b.n 80b3838 80b368e: 68fb ldr r3, [r7, #12] 80b3690: 2201 movs r2, #1 80b3692: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Enable the ADC peripheral */ /* Check if ADC peripheral is disabled in order to enable it and wait during Tstab time the ADC's stabilization */ if((hadc->Instance->CR2 & ADC_CR2_ADON) != ADC_CR2_ADON) 80b3696: 68fb ldr r3, [r7, #12] 80b3698: 681b ldr r3, [r3, #0] 80b369a: 689b ldr r3, [r3, #8] 80b369c: f003 0301 and.w r3, r3, #1 80b36a0: 2b01 cmp r3, #1 80b36a2: d018 beq.n 80b36d6 { /* Enable the Peripheral */ __HAL_ADC_ENABLE(hadc); 80b36a4: 68fb ldr r3, [r7, #12] 80b36a6: 681b ldr r3, [r3, #0] 80b36a8: 68fa ldr r2, [r7, #12] 80b36aa: 6812 ldr r2, [r2, #0] 80b36ac: 6892 ldr r2, [r2, #8] 80b36ae: f042 0201 orr.w r2, r2, #1 80b36b2: 609a str r2, [r3, #8] /* Delay for ADC stabilization time */ /* Compute number of CPU cycles to wait for */ counter = (ADC_STAB_DELAY_US * (SystemCoreClock / 1000000)); 80b36b4: 4b62 ldr r3, [pc, #392] ; (80b3840 ) 80b36b6: 681b ldr r3, [r3, #0] 80b36b8: 4a62 ldr r2, [pc, #392] ; (80b3844 ) 80b36ba: fba2 2303 umull r2, r3, r2, r3 80b36be: 0c9a lsrs r2, r3, #18 80b36c0: 4613 mov r3, r2 80b36c2: 005b lsls r3, r3, #1 80b36c4: 4413 add r3, r2 80b36c6: 617b str r3, [r7, #20] while(counter != 0) 80b36c8: e002 b.n 80b36d0 { counter--; 80b36ca: 697b ldr r3, [r7, #20] 80b36cc: 3b01 subs r3, #1 80b36ce: 617b str r3, [r7, #20] while(counter != 0) 80b36d0: 697b ldr r3, [r7, #20] 80b36d2: 2b00 cmp r3, #0 80b36d4: d1f9 bne.n 80b36ca } } /* Start conversion if ADC is effectively enabled */ if(HAL_IS_BIT_SET(hadc->Instance->CR2, ADC_CR2_ADON)) 80b36d6: 68fb ldr r3, [r7, #12] 80b36d8: 681b ldr r3, [r3, #0] 80b36da: 689b ldr r3, [r3, #8] 80b36dc: f003 0301 and.w r3, r3, #1 80b36e0: 2b01 cmp r3, #1 80b36e2: f040 809c bne.w 80b381e { /* Set ADC state */ /* - Clear state bitfield related to regular group conversion results */ /* - Set state bitfield related to regular group operation */ ADC_STATE_CLR_SET(hadc->State, 80b36e6: 68fb ldr r3, [r7, #12] 80b36e8: 6c1a ldr r2, [r3, #64] ; 0x40 80b36ea: 4b57 ldr r3, [pc, #348] ; (80b3848 ) 80b36ec: 4013 ands r3, r2 80b36ee: f443 7280 orr.w r2, r3, #256 ; 0x100 80b36f2: 68fb ldr r3, [r7, #12] 80b36f4: 641a str r2, [r3, #64] ; 0x40 HAL_ADC_STATE_READY | HAL_ADC_STATE_REG_EOC | HAL_ADC_STATE_REG_OVR, HAL_ADC_STATE_REG_BUSY); /* If conversions on group regular are also triggering group injected, */ /* update ADC state. */ if (READ_BIT(hadc->Instance->CR1, ADC_CR1_JAUTO) != RESET) 80b36f6: 68fb ldr r3, [r7, #12] 80b36f8: 681b ldr r3, [r3, #0] 80b36fa: 685b ldr r3, [r3, #4] 80b36fc: f403 6380 and.w r3, r3, #1024 ; 0x400 80b3700: 2b00 cmp r3, #0 80b3702: d007 beq.n 80b3714 { ADC_STATE_CLR_SET(hadc->State, HAL_ADC_STATE_INJ_EOC, HAL_ADC_STATE_INJ_BUSY); 80b3704: 68fb ldr r3, [r7, #12] 80b3706: 6c1b ldr r3, [r3, #64] ; 0x40 80b3708: f423 5340 bic.w r3, r3, #12288 ; 0x3000 80b370c: f443 5280 orr.w r2, r3, #4096 ; 0x1000 80b3710: 68fb ldr r3, [r7, #12] 80b3712: 641a str r2, [r3, #64] ; 0x40 } /* State machine update: Check if an injected conversion is ongoing */ if (HAL_IS_BIT_SET(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 80b3714: 68fb ldr r3, [r7, #12] 80b3716: 6c1b ldr r3, [r3, #64] ; 0x40 80b3718: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b371c: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b3720: d106 bne.n 80b3730 { /* Reset ADC error code fields related to conversions on group regular */ CLEAR_BIT(hadc->ErrorCode, (HAL_ADC_ERROR_OVR | HAL_ADC_ERROR_DMA)); 80b3722: 68fb ldr r3, [r7, #12] 80b3724: 6c5b ldr r3, [r3, #68] ; 0x44 80b3726: f023 0206 bic.w r2, r3, #6 80b372a: 68fb ldr r3, [r7, #12] 80b372c: 645a str r2, [r3, #68] ; 0x44 80b372e: e002 b.n 80b3736 } else { /* Reset ADC all error code fields */ ADC_CLEAR_ERRORCODE(hadc); 80b3730: 68fb ldr r3, [r7, #12] 80b3732: 2200 movs r2, #0 80b3734: 645a str r2, [r3, #68] ; 0x44 } /* Process unlocked */ /* Unlock before starting ADC conversions: in case of potential */ /* interruption, to let the process to ADC IRQ Handler. */ __HAL_UNLOCK(hadc); 80b3736: 68fb ldr r3, [r7, #12] 80b3738: 2200 movs r2, #0 80b373a: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Set the DMA transfer complete callback */ hadc->DMA_Handle->XferCpltCallback = ADC_DMAConvCplt; 80b373e: 68fb ldr r3, [r7, #12] 80b3740: 6b9b ldr r3, [r3, #56] ; 0x38 80b3742: 4a42 ldr r2, [pc, #264] ; (80b384c ) 80b3744: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA half transfer complete callback */ hadc->DMA_Handle->XferHalfCpltCallback = ADC_DMAHalfConvCplt; 80b3746: 68fb ldr r3, [r7, #12] 80b3748: 6b9b ldr r3, [r3, #56] ; 0x38 80b374a: 4a41 ldr r2, [pc, #260] ; (80b3850 ) 80b374c: 641a str r2, [r3, #64] ; 0x40 /* Set the DMA error callback */ hadc->DMA_Handle->XferErrorCallback = ADC_DMAError; 80b374e: 68fb ldr r3, [r7, #12] 80b3750: 6b9b ldr r3, [r3, #56] ; 0x38 80b3752: 4a40 ldr r2, [pc, #256] ; (80b3854 ) 80b3754: 64da str r2, [r3, #76] ; 0x4c /* Manage ADC and DMA start: ADC overrun interruption, DMA start, ADC */ /* start (in case of SW start): */ /* Clear regular group conversion flag and overrun flag */ /* (To ensure of no unknown state from potential previous ADC operations) */ __HAL_ADC_CLEAR_FLAG(hadc, ADC_FLAG_EOC | ADC_FLAG_OVR); 80b3756: 68fb ldr r3, [r7, #12] 80b3758: 681b ldr r3, [r3, #0] 80b375a: f06f 0222 mvn.w r2, #34 ; 0x22 80b375e: 601a str r2, [r3, #0] /* Enable ADC overrun interrupt */ __HAL_ADC_ENABLE_IT(hadc, ADC_IT_OVR); 80b3760: 68fb ldr r3, [r7, #12] 80b3762: 681b ldr r3, [r3, #0] 80b3764: 68fa ldr r2, [r7, #12] 80b3766: 6812 ldr r2, [r2, #0] 80b3768: 6852 ldr r2, [r2, #4] 80b376a: f042 6280 orr.w r2, r2, #67108864 ; 0x4000000 80b376e: 605a str r2, [r3, #4] /* Enable ADC DMA mode */ hadc->Instance->CR2 |= ADC_CR2_DMA; 80b3770: 68fb ldr r3, [r7, #12] 80b3772: 681b ldr r3, [r3, #0] 80b3774: 68fa ldr r2, [r7, #12] 80b3776: 6812 ldr r2, [r2, #0] 80b3778: 6892 ldr r2, [r2, #8] 80b377a: f442 7280 orr.w r2, r2, #256 ; 0x100 80b377e: 609a str r2, [r3, #8] /* Start the DMA channel */ HAL_DMA_Start_IT(hadc->DMA_Handle, (uint32_t)&hadc->Instance->DR, (uint32_t)pData, Length); 80b3780: 68fb ldr r3, [r7, #12] 80b3782: 6b98 ldr r0, [r3, #56] ; 0x38 80b3784: 68fb ldr r3, [r7, #12] 80b3786: 681b ldr r3, [r3, #0] 80b3788: 334c adds r3, #76 ; 0x4c 80b378a: 4619 mov r1, r3 80b378c: 68ba ldr r2, [r7, #8] 80b378e: 687b ldr r3, [r7, #4] 80b3790: f000 fe92 bl 80b44b8 /* Check if Multimode enabled */ if(HAL_IS_BIT_CLR(ADC->CCR, ADC_CCR_MULTI)) 80b3794: 4b30 ldr r3, [pc, #192] ; (80b3858 ) 80b3796: 685b ldr r3, [r3, #4] 80b3798: f003 031f and.w r3, r3, #31 80b379c: 2b00 cmp r3, #0 80b379e: d10f bne.n 80b37c0 { /* if no external trigger present enable software conversion of regular channels */ if((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET) 80b37a0: 68fb ldr r3, [r7, #12] 80b37a2: 681b ldr r3, [r3, #0] 80b37a4: 689b ldr r3, [r3, #8] 80b37a6: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b37aa: 2b00 cmp r3, #0 80b37ac: d143 bne.n 80b3836 { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b37ae: 68fb ldr r3, [r7, #12] 80b37b0: 681b ldr r3, [r3, #0] 80b37b2: 68fa ldr r2, [r7, #12] 80b37b4: 6812 ldr r2, [r2, #0] 80b37b6: 6892 ldr r2, [r2, #8] 80b37b8: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b37bc: 609a str r2, [r3, #8] 80b37be: e03a b.n 80b3836 } } else { /* if instance of handle correspond to ADC1 and no external trigger present enable software conversion of regular channels */ if((hadc->Instance == ADC1) && ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET)) 80b37c0: 68fb ldr r3, [r7, #12] 80b37c2: 681b ldr r3, [r3, #0] 80b37c4: 4a25 ldr r2, [pc, #148] ; (80b385c ) 80b37c6: 4293 cmp r3, r2 80b37c8: d10e bne.n 80b37e8 80b37ca: 68fb ldr r3, [r7, #12] 80b37cc: 681b ldr r3, [r3, #0] 80b37ce: 689b ldr r3, [r3, #8] 80b37d0: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b37d4: 2b00 cmp r3, #0 80b37d6: d107 bne.n 80b37e8 { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b37d8: 68fb ldr r3, [r7, #12] 80b37da: 681b ldr r3, [r3, #0] 80b37dc: 68fa ldr r2, [r7, #12] 80b37de: 6812 ldr r2, [r2, #0] 80b37e0: 6892 ldr r2, [r2, #8] 80b37e2: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b37e6: 609a str r2, [r3, #8] } /* if dual mode is selected, ADC3 works independently. */ /* check if the mode selected is not triple */ if( HAL_IS_BIT_CLR(ADC->CCR, ADC_CCR_MULTI_4) ) 80b37e8: 4b1b ldr r3, [pc, #108] ; (80b3858 ) 80b37ea: 685b ldr r3, [r3, #4] 80b37ec: f003 0310 and.w r3, r3, #16 80b37f0: 2b00 cmp r3, #0 80b37f2: d120 bne.n 80b3836 { /* if instance of handle correspond to ADC3 and no external trigger present enable software conversion of regular channels */ if((hadc->Instance == ADC3) && ((hadc->Instance->CR2 & ADC_CR2_EXTEN) == RESET)) 80b37f4: 68fb ldr r3, [r7, #12] 80b37f6: 681b ldr r3, [r3, #0] 80b37f8: 4a19 ldr r2, [pc, #100] ; (80b3860 ) 80b37fa: 4293 cmp r3, r2 80b37fc: d11b bne.n 80b3836 80b37fe: 68fb ldr r3, [r7, #12] 80b3800: 681b ldr r3, [r3, #0] 80b3802: 689b ldr r3, [r3, #8] 80b3804: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b3808: 2b00 cmp r3, #0 80b380a: d114 bne.n 80b3836 { /* Enable the selected ADC software conversion for regular group */ hadc->Instance->CR2 |= (uint32_t)ADC_CR2_SWSTART; 80b380c: 68fb ldr r3, [r7, #12] 80b380e: 681b ldr r3, [r3, #0] 80b3810: 68fa ldr r2, [r7, #12] 80b3812: 6812 ldr r2, [r2, #0] 80b3814: 6892 ldr r2, [r2, #8] 80b3816: f042 4280 orr.w r2, r2, #1073741824 ; 0x40000000 80b381a: 609a str r2, [r3, #8] 80b381c: e00b b.n 80b3836 } } else { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL); 80b381e: 68fb ldr r3, [r7, #12] 80b3820: 6c1b ldr r3, [r3, #64] ; 0x40 80b3822: f043 0210 orr.w r2, r3, #16 80b3826: 68fb ldr r3, [r7, #12] 80b3828: 641a str r2, [r3, #64] ; 0x40 /* Set ADC error code to ADC IP internal error */ SET_BIT(hadc->ErrorCode, HAL_ADC_ERROR_INTERNAL); 80b382a: 68fb ldr r3, [r7, #12] 80b382c: 6c5b ldr r3, [r3, #68] ; 0x44 80b382e: f043 0201 orr.w r2, r3, #1 80b3832: 68fb ldr r3, [r7, #12] 80b3834: 645a str r2, [r3, #68] ; 0x44 } /* Return function status */ return HAL_OK; 80b3836: 2300 movs r3, #0 } 80b3838: 4618 mov r0, r3 80b383a: 3718 adds r7, #24 80b383c: 46bd mov sp, r7 80b383e: bd80 pop {r7, pc} 80b3840: 200209b4 .word 0x200209b4 80b3844: 431bde83 .word 0x431bde83 80b3848: fffff8fe .word 0xfffff8fe 80b384c: 080b3dfd .word 0x080b3dfd 80b3850: 080b3eb7 .word 0x080b3eb7 80b3854: 080b3ed3 .word 0x080b3ed3 80b3858: 40012300 .word 0x40012300 80b385c: 40012000 .word 0x40012000 80b3860: 40012200 .word 0x40012200 080b3864 : * @param hadc pointer to a ADC_HandleTypeDef structure that contains * the configuration information for the specified ADC. * @retval HAL status */ HAL_StatusTypeDef HAL_ADC_Stop_DMA(ADC_HandleTypeDef* hadc) { 80b3864: b580 push {r7, lr} 80b3866: b084 sub sp, #16 80b3868: af00 add r7, sp, #0 80b386a: 6078 str r0, [r7, #4] HAL_StatusTypeDef tmp_hal_status = HAL_OK; 80b386c: 2300 movs r3, #0 80b386e: 73fb strb r3, [r7, #15] /* Check the parameters */ assert_param(IS_ADC_ALL_INSTANCE(hadc->Instance)); /* Process locked */ __HAL_LOCK(hadc); 80b3870: 687b ldr r3, [r7, #4] 80b3872: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b3876: 2b01 cmp r3, #1 80b3878: d101 bne.n 80b387e 80b387a: 2302 movs r3, #2 80b387c: e046 b.n 80b390c 80b387e: 687b ldr r3, [r7, #4] 80b3880: 2201 movs r2, #1 80b3882: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Stop potential conversion on going, on regular and injected groups */ /* Disable ADC peripheral */ __HAL_ADC_DISABLE(hadc); 80b3886: 687b ldr r3, [r7, #4] 80b3888: 681b ldr r3, [r3, #0] 80b388a: 687a ldr r2, [r7, #4] 80b388c: 6812 ldr r2, [r2, #0] 80b388e: 6892 ldr r2, [r2, #8] 80b3890: f022 0201 bic.w r2, r2, #1 80b3894: 609a str r2, [r3, #8] /* Check if ADC is effectively disabled */ if(HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_ADON)) 80b3896: 687b ldr r3, [r7, #4] 80b3898: 681b ldr r3, [r3, #0] 80b389a: 689b ldr r3, [r3, #8] 80b389c: f003 0301 and.w r3, r3, #1 80b38a0: 2b00 cmp r3, #0 80b38a2: d12e bne.n 80b3902 { /* Disable the selected ADC DMA mode */ hadc->Instance->CR2 &= ~ADC_CR2_DMA; 80b38a4: 687b ldr r3, [r7, #4] 80b38a6: 681b ldr r3, [r3, #0] 80b38a8: 687a ldr r2, [r7, #4] 80b38aa: 6812 ldr r2, [r2, #0] 80b38ac: 6892 ldr r2, [r2, #8] 80b38ae: f422 7280 bic.w r2, r2, #256 ; 0x100 80b38b2: 609a str r2, [r3, #8] /* Disable the DMA channel (in case of DMA in circular mode or stop while */ /* DMA transfer is on going) */ if (hadc->DMA_Handle->State == HAL_DMA_STATE_BUSY) 80b38b4: 687b ldr r3, [r7, #4] 80b38b6: 6b9b ldr r3, [r3, #56] ; 0x38 80b38b8: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b38bc: b2db uxtb r3, r3 80b38be: 2b02 cmp r3, #2 80b38c0: d10f bne.n 80b38e2 { tmp_hal_status = HAL_DMA_Abort(hadc->DMA_Handle); 80b38c2: 687b ldr r3, [r7, #4] 80b38c4: 6b9b ldr r3, [r3, #56] ; 0x38 80b38c6: 4618 mov r0, r3 80b38c8: f000 fe56 bl 80b4578 80b38cc: 4603 mov r3, r0 80b38ce: 73fb strb r3, [r7, #15] /* Check if DMA channel effectively disabled */ if (tmp_hal_status != HAL_OK) 80b38d0: 7bfb ldrb r3, [r7, #15] 80b38d2: 2b00 cmp r3, #0 80b38d4: d005 beq.n 80b38e2 { /* Update ADC state machine to error */ SET_BIT(hadc->State, HAL_ADC_STATE_ERROR_DMA); 80b38d6: 687b ldr r3, [r7, #4] 80b38d8: 6c1b ldr r3, [r3, #64] ; 0x40 80b38da: f043 0240 orr.w r2, r3, #64 ; 0x40 80b38de: 687b ldr r3, [r7, #4] 80b38e0: 641a str r2, [r3, #64] ; 0x40 } } /* Disable ADC overrun interrupt */ __HAL_ADC_DISABLE_IT(hadc, ADC_IT_OVR); 80b38e2: 687b ldr r3, [r7, #4] 80b38e4: 681b ldr r3, [r3, #0] 80b38e6: 687a ldr r2, [r7, #4] 80b38e8: 6812 ldr r2, [r2, #0] 80b38ea: 6852 ldr r2, [r2, #4] 80b38ec: f022 6280 bic.w r2, r2, #67108864 ; 0x4000000 80b38f0: 605a str r2, [r3, #4] /* Set ADC state */ ADC_STATE_CLR_SET(hadc->State, 80b38f2: 687b ldr r3, [r7, #4] 80b38f4: 6c1a ldr r2, [r3, #64] ; 0x40 80b38f6: 4b07 ldr r3, [pc, #28] ; (80b3914 ) 80b38f8: 4013 ands r3, r2 80b38fa: f043 0201 orr.w r2, r3, #1 80b38fe: 687b ldr r3, [r7, #4] 80b3900: 641a str r2, [r3, #64] ; 0x40 HAL_ADC_STATE_REG_BUSY | HAL_ADC_STATE_INJ_BUSY, HAL_ADC_STATE_READY); } /* Process unlocked */ __HAL_UNLOCK(hadc); 80b3902: 687b ldr r3, [r7, #4] 80b3904: 2200 movs r2, #0 80b3906: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return tmp_hal_status; 80b390a: 7bfb ldrb r3, [r7, #15] } 80b390c: 4618 mov r0, r3 80b390e: 3710 adds r7, #16 80b3910: 46bd mov sp, r7 80b3912: bd80 pop {r7, pc} 80b3914: ffffeefe .word 0xffffeefe 080b3918 : * @param hadc pointer to a ADC_HandleTypeDef structure that contains * the configuration information for the specified ADC. * @retval Converted value */ uint32_t HAL_ADC_GetValue(ADC_HandleTypeDef* hadc) { 80b3918: b480 push {r7} 80b391a: b083 sub sp, #12 80b391c: af00 add r7, sp, #0 80b391e: 6078 str r0, [r7, #4] /* Return the selected ADC converted value */ return hadc->Instance->DR; 80b3920: 687b ldr r3, [r7, #4] 80b3922: 681b ldr r3, [r3, #0] 80b3924: 6cdb ldr r3, [r3, #76] ; 0x4c } 80b3926: 4618 mov r0, r3 80b3928: 370c adds r7, #12 80b392a: 46bd mov sp, r7 80b392c: f85d 7b04 ldr.w r7, [sp], #4 80b3930: 4770 bx lr 080b3932 : * @param hadc pointer to a ADC_HandleTypeDef structure that contains * the configuration information for the specified ADC. * @retval None */ __weak void HAL_ADC_ConvHalfCpltCallback(ADC_HandleTypeDef* hadc) { 80b3932: b480 push {r7} 80b3934: b083 sub sp, #12 80b3936: af00 add r7, sp, #0 80b3938: 6078 str r0, [r7, #4] /* Prevent unused argument(s) compilation warning */ UNUSED(hadc); /* NOTE : This function Should not be modified, when the callback is needed, the HAL_ADC_ConvHalfCpltCallback could be implemented in the user file */ } 80b393a: bf00 nop 80b393c: 370c adds r7, #12 80b393e: 46bd mov sp, r7 80b3940: f85d 7b04 ldr.w r7, [sp], #4 80b3944: 4770 bx lr 080b3946 : * @param hadc pointer to a ADC_HandleTypeDef structure that contains * the configuration information for the specified ADC. * @retval None */ __weak void HAL_ADC_ErrorCallback(ADC_HandleTypeDef *hadc) { 80b3946: b480 push {r7} 80b3948: b083 sub sp, #12 80b394a: af00 add r7, sp, #0 80b394c: 6078 str r0, [r7, #4] /* Prevent unused argument(s) compilation warning */ UNUSED(hadc); /* NOTE : This function Should not be modified, when the callback is needed, the HAL_ADC_ErrorCallback could be implemented in the user file */ } 80b394e: bf00 nop 80b3950: 370c adds r7, #12 80b3952: 46bd mov sp, r7 80b3954: f85d 7b04 ldr.w r7, [sp], #4 80b3958: 4770 bx lr ... 080b395c : * the configuration information for the specified ADC. * @param sConfig ADC configuration structure. * @retval HAL status */ HAL_StatusTypeDef HAL_ADC_ConfigChannel(ADC_HandleTypeDef* hadc, ADC_ChannelConfTypeDef* sConfig) { 80b395c: b490 push {r4, r7} 80b395e: b084 sub sp, #16 80b3960: af00 add r7, sp, #0 80b3962: 6078 str r0, [r7, #4] 80b3964: 6039 str r1, [r7, #0] __IO uint32_t counter = 0; 80b3966: 2300 movs r3, #0 80b3968: 60fb str r3, [r7, #12] assert_param(IS_ADC_CHANNEL(sConfig->Channel)); assert_param(IS_ADC_REGULAR_RANK(sConfig->Rank)); assert_param(IS_ADC_SAMPLE_TIME(sConfig->SamplingTime)); /* Process locked */ __HAL_LOCK(hadc); 80b396a: 687b ldr r3, [r7, #4] 80b396c: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80b3970: 2b01 cmp r3, #1 80b3972: d101 bne.n 80b3978 80b3974: 2302 movs r3, #2 80b3976: e138 b.n 80b3bea 80b3978: 687b ldr r3, [r7, #4] 80b397a: 2201 movs r2, #1 80b397c: f883 203c strb.w r2, [r3, #60] ; 0x3c /* if ADC_Channel_10 ... ADC_Channel_18 is selected */ if ((sConfig->Channel > ADC_CHANNEL_9) && (sConfig->Channel != ADC_INTERNAL_NONE)) 80b3980: 683b ldr r3, [r7, #0] 80b3982: 681b ldr r3, [r3, #0] 80b3984: 2b09 cmp r3, #9 80b3986: d93b bls.n 80b3a00 80b3988: 683b ldr r3, [r7, #0] 80b398a: 681b ldr r3, [r3, #0] 80b398c: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80b3990: d036 beq.n 80b3a00 { /* Clear the old sample time */ hadc->Instance->SMPR1 &= ~ADC_SMPR1(ADC_SMPR1_SMP10, sConfig->Channel); 80b3992: 687b ldr r3, [r7, #4] 80b3994: 681a ldr r2, [r3, #0] 80b3996: 687b ldr r3, [r7, #4] 80b3998: 681b ldr r3, [r3, #0] 80b399a: 68d9 ldr r1, [r3, #12] 80b399c: 683b ldr r3, [r7, #0] 80b399e: 681b ldr r3, [r3, #0] 80b39a0: b29b uxth r3, r3 80b39a2: 4618 mov r0, r3 80b39a4: 4603 mov r3, r0 80b39a6: 005b lsls r3, r3, #1 80b39a8: 4403 add r3, r0 80b39aa: 3b1e subs r3, #30 80b39ac: 2007 movs r0, #7 80b39ae: fa00 f303 lsl.w r3, r0, r3 80b39b2: 43db mvns r3, r3 80b39b4: 400b ands r3, r1 80b39b6: 60d3 str r3, [r2, #12] if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b39b8: 683b ldr r3, [r7, #0] 80b39ba: 681b ldr r3, [r3, #0] 80b39bc: 4a8d ldr r2, [pc, #564] ; (80b3bf4 ) 80b39be: 4293 cmp r3, r2 80b39c0: d10a bne.n 80b39d8 { /* Set the new sample time */ hadc->Instance->SMPR1 |= ADC_SMPR1(sConfig->SamplingTime, ADC_CHANNEL_18); 80b39c2: 687b ldr r3, [r7, #4] 80b39c4: 681b ldr r3, [r3, #0] 80b39c6: 687a ldr r2, [r7, #4] 80b39c8: 6812 ldr r2, [r2, #0] 80b39ca: 68d1 ldr r1, [r2, #12] 80b39cc: 683a ldr r2, [r7, #0] 80b39ce: 6892 ldr r2, [r2, #8] 80b39d0: 0612 lsls r2, r2, #24 80b39d2: 430a orrs r2, r1 80b39d4: 60da str r2, [r3, #12] if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b39d6: e037 b.n 80b3a48 } else { /* Set the new sample time */ hadc->Instance->SMPR1 |= ADC_SMPR1(sConfig->SamplingTime, sConfig->Channel); 80b39d8: 687b ldr r3, [r7, #4] 80b39da: 681a ldr r2, [r3, #0] 80b39dc: 687b ldr r3, [r7, #4] 80b39de: 681b ldr r3, [r3, #0] 80b39e0: 68d9 ldr r1, [r3, #12] 80b39e2: 683b ldr r3, [r7, #0] 80b39e4: 6898 ldr r0, [r3, #8] 80b39e6: 683b ldr r3, [r7, #0] 80b39e8: 681b ldr r3, [r3, #0] 80b39ea: b29b uxth r3, r3 80b39ec: 461c mov r4, r3 80b39ee: 4623 mov r3, r4 80b39f0: 005b lsls r3, r3, #1 80b39f2: 4423 add r3, r4 80b39f4: 3b1e subs r3, #30 80b39f6: fa00 f303 lsl.w r3, r0, r3 80b39fa: 430b orrs r3, r1 80b39fc: 60d3 str r3, [r2, #12] if (sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b39fe: e023 b.n 80b3a48 } } else /* ADC_Channel include in ADC_Channel_[0..9] */ { /* Clear the old sample time */ hadc->Instance->SMPR2 &= ~ADC_SMPR2(ADC_SMPR2_SMP0, sConfig->Channel); 80b3a00: 687b ldr r3, [r7, #4] 80b3a02: 681a ldr r2, [r3, #0] 80b3a04: 687b ldr r3, [r7, #4] 80b3a06: 681b ldr r3, [r3, #0] 80b3a08: 6919 ldr r1, [r3, #16] 80b3a0a: 683b ldr r3, [r7, #0] 80b3a0c: 681b ldr r3, [r3, #0] 80b3a0e: b29b uxth r3, r3 80b3a10: 4618 mov r0, r3 80b3a12: 4603 mov r3, r0 80b3a14: 005b lsls r3, r3, #1 80b3a16: 4403 add r3, r0 80b3a18: 2007 movs r0, #7 80b3a1a: fa00 f303 lsl.w r3, r0, r3 80b3a1e: 43db mvns r3, r3 80b3a20: 400b ands r3, r1 80b3a22: 6113 str r3, [r2, #16] /* Set the new sample time */ hadc->Instance->SMPR2 |= ADC_SMPR2(sConfig->SamplingTime, sConfig->Channel); 80b3a24: 687b ldr r3, [r7, #4] 80b3a26: 681a ldr r2, [r3, #0] 80b3a28: 687b ldr r3, [r7, #4] 80b3a2a: 681b ldr r3, [r3, #0] 80b3a2c: 6919 ldr r1, [r3, #16] 80b3a2e: 683b ldr r3, [r7, #0] 80b3a30: 6898 ldr r0, [r3, #8] 80b3a32: 683b ldr r3, [r7, #0] 80b3a34: 681b ldr r3, [r3, #0] 80b3a36: b29b uxth r3, r3 80b3a38: 461c mov r4, r3 80b3a3a: 4623 mov r3, r4 80b3a3c: 005b lsls r3, r3, #1 80b3a3e: 4423 add r3, r4 80b3a40: fa00 f303 lsl.w r3, r0, r3 80b3a44: 430b orrs r3, r1 80b3a46: 6113 str r3, [r2, #16] } /* For Rank 1 to 6 */ if (sConfig->Rank < 7) 80b3a48: 683b ldr r3, [r7, #0] 80b3a4a: 685b ldr r3, [r3, #4] 80b3a4c: 2b06 cmp r3, #6 80b3a4e: d824 bhi.n 80b3a9a { /* Clear the old SQx bits for the selected rank */ hadc->Instance->SQR3 &= ~ADC_SQR3_RK(ADC_SQR3_SQ1, sConfig->Rank); 80b3a50: 687b ldr r3, [r7, #4] 80b3a52: 6819 ldr r1, [r3, #0] 80b3a54: 687b ldr r3, [r7, #4] 80b3a56: 681b ldr r3, [r3, #0] 80b3a58: 6b58 ldr r0, [r3, #52] ; 0x34 80b3a5a: 683b ldr r3, [r7, #0] 80b3a5c: 685a ldr r2, [r3, #4] 80b3a5e: 4613 mov r3, r2 80b3a60: 009b lsls r3, r3, #2 80b3a62: 4413 add r3, r2 80b3a64: 3b05 subs r3, #5 80b3a66: 221f movs r2, #31 80b3a68: fa02 f303 lsl.w r3, r2, r3 80b3a6c: 43db mvns r3, r3 80b3a6e: 4003 ands r3, r0 80b3a70: 634b str r3, [r1, #52] ; 0x34 /* Set the SQx bits for the selected rank */ hadc->Instance->SQR3 |= ADC_SQR3_RK(sConfig->Channel, sConfig->Rank); 80b3a72: 687b ldr r3, [r7, #4] 80b3a74: 6819 ldr r1, [r3, #0] 80b3a76: 687b ldr r3, [r7, #4] 80b3a78: 681b ldr r3, [r3, #0] 80b3a7a: 6b58 ldr r0, [r3, #52] ; 0x34 80b3a7c: 683b ldr r3, [r7, #0] 80b3a7e: 681b ldr r3, [r3, #0] 80b3a80: b29b uxth r3, r3 80b3a82: 461c mov r4, r3 80b3a84: 683b ldr r3, [r7, #0] 80b3a86: 685a ldr r2, [r3, #4] 80b3a88: 4613 mov r3, r2 80b3a8a: 009b lsls r3, r3, #2 80b3a8c: 4413 add r3, r2 80b3a8e: 3b05 subs r3, #5 80b3a90: fa04 f303 lsl.w r3, r4, r3 80b3a94: 4303 orrs r3, r0 80b3a96: 634b str r3, [r1, #52] ; 0x34 80b3a98: e04c b.n 80b3b34 } /* For Rank 7 to 12 */ else if (sConfig->Rank < 13) 80b3a9a: 683b ldr r3, [r7, #0] 80b3a9c: 685b ldr r3, [r3, #4] 80b3a9e: 2b0c cmp r3, #12 80b3aa0: d824 bhi.n 80b3aec { /* Clear the old SQx bits for the selected rank */ hadc->Instance->SQR2 &= ~ADC_SQR2_RK(ADC_SQR2_SQ7, sConfig->Rank); 80b3aa2: 687b ldr r3, [r7, #4] 80b3aa4: 6819 ldr r1, [r3, #0] 80b3aa6: 687b ldr r3, [r7, #4] 80b3aa8: 681b ldr r3, [r3, #0] 80b3aaa: 6b18 ldr r0, [r3, #48] ; 0x30 80b3aac: 683b ldr r3, [r7, #0] 80b3aae: 685a ldr r2, [r3, #4] 80b3ab0: 4613 mov r3, r2 80b3ab2: 009b lsls r3, r3, #2 80b3ab4: 4413 add r3, r2 80b3ab6: 3b23 subs r3, #35 ; 0x23 80b3ab8: 221f movs r2, #31 80b3aba: fa02 f303 lsl.w r3, r2, r3 80b3abe: 43db mvns r3, r3 80b3ac0: 4003 ands r3, r0 80b3ac2: 630b str r3, [r1, #48] ; 0x30 /* Set the SQx bits for the selected rank */ hadc->Instance->SQR2 |= ADC_SQR2_RK(sConfig->Channel, sConfig->Rank); 80b3ac4: 687b ldr r3, [r7, #4] 80b3ac6: 6819 ldr r1, [r3, #0] 80b3ac8: 687b ldr r3, [r7, #4] 80b3aca: 681b ldr r3, [r3, #0] 80b3acc: 6b18 ldr r0, [r3, #48] ; 0x30 80b3ace: 683b ldr r3, [r7, #0] 80b3ad0: 681b ldr r3, [r3, #0] 80b3ad2: b29b uxth r3, r3 80b3ad4: 461c mov r4, r3 80b3ad6: 683b ldr r3, [r7, #0] 80b3ad8: 685a ldr r2, [r3, #4] 80b3ada: 4613 mov r3, r2 80b3adc: 009b lsls r3, r3, #2 80b3ade: 4413 add r3, r2 80b3ae0: 3b23 subs r3, #35 ; 0x23 80b3ae2: fa04 f303 lsl.w r3, r4, r3 80b3ae6: 4303 orrs r3, r0 80b3ae8: 630b str r3, [r1, #48] ; 0x30 80b3aea: e023 b.n 80b3b34 } /* For Rank 13 to 16 */ else { /* Clear the old SQx bits for the selected rank */ hadc->Instance->SQR1 &= ~ADC_SQR1_RK(ADC_SQR1_SQ13, sConfig->Rank); 80b3aec: 687b ldr r3, [r7, #4] 80b3aee: 6819 ldr r1, [r3, #0] 80b3af0: 687b ldr r3, [r7, #4] 80b3af2: 681b ldr r3, [r3, #0] 80b3af4: 6ad8 ldr r0, [r3, #44] ; 0x2c 80b3af6: 683b ldr r3, [r7, #0] 80b3af8: 685a ldr r2, [r3, #4] 80b3afa: 4613 mov r3, r2 80b3afc: 009b lsls r3, r3, #2 80b3afe: 4413 add r3, r2 80b3b00: 3b41 subs r3, #65 ; 0x41 80b3b02: 221f movs r2, #31 80b3b04: fa02 f303 lsl.w r3, r2, r3 80b3b08: 43db mvns r3, r3 80b3b0a: 4003 ands r3, r0 80b3b0c: 62cb str r3, [r1, #44] ; 0x2c /* Set the SQx bits for the selected rank */ hadc->Instance->SQR1 |= ADC_SQR1_RK(sConfig->Channel, sConfig->Rank); 80b3b0e: 687b ldr r3, [r7, #4] 80b3b10: 6819 ldr r1, [r3, #0] 80b3b12: 687b ldr r3, [r7, #4] 80b3b14: 681b ldr r3, [r3, #0] 80b3b16: 6ad8 ldr r0, [r3, #44] ; 0x2c 80b3b18: 683b ldr r3, [r7, #0] 80b3b1a: 681b ldr r3, [r3, #0] 80b3b1c: b29b uxth r3, r3 80b3b1e: 461c mov r4, r3 80b3b20: 683b ldr r3, [r7, #0] 80b3b22: 685a ldr r2, [r3, #4] 80b3b24: 4613 mov r3, r2 80b3b26: 009b lsls r3, r3, #2 80b3b28: 4413 add r3, r2 80b3b2a: 3b41 subs r3, #65 ; 0x41 80b3b2c: fa04 f303 lsl.w r3, r4, r3 80b3b30: 4303 orrs r3, r0 80b3b32: 62cb str r3, [r1, #44] ; 0x2c } /* if no internal channel selected */ if ((hadc->Instance == ADC1) && (sConfig->Channel == ADC_INTERNAL_NONE)) 80b3b34: 687b ldr r3, [r7, #4] 80b3b36: 681b ldr r3, [r3, #0] 80b3b38: 4a2f ldr r2, [pc, #188] ; (80b3bf8 ) 80b3b3a: 4293 cmp r3, r2 80b3b3c: d10a bne.n 80b3b54 80b3b3e: 683b ldr r3, [r7, #0] 80b3b40: 681b ldr r3, [r3, #0] 80b3b42: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80b3b46: d105 bne.n 80b3b54 { /* Disable the VBAT & TSVREFE channel*/ ADC->CCR &= ~(ADC_CCR_VBATE | ADC_CCR_TSVREFE); 80b3b48: 4a2c ldr r2, [pc, #176] ; (80b3bfc ) 80b3b4a: 4b2c ldr r3, [pc, #176] ; (80b3bfc ) 80b3b4c: 685b ldr r3, [r3, #4] 80b3b4e: f423 0340 bic.w r3, r3, #12582912 ; 0xc00000 80b3b52: 6053 str r3, [r2, #4] } /* if ADC1 Channel_18 is selected enable VBAT Channel */ if ((hadc->Instance == ADC1) && (sConfig->Channel == ADC_CHANNEL_VBAT)) 80b3b54: 687b ldr r3, [r7, #4] 80b3b56: 681b ldr r3, [r3, #0] 80b3b58: 4a27 ldr r2, [pc, #156] ; (80b3bf8 ) 80b3b5a: 4293 cmp r3, r2 80b3b5c: d10f bne.n 80b3b7e 80b3b5e: 683b ldr r3, [r7, #0] 80b3b60: 681b ldr r3, [r3, #0] 80b3b62: 2b12 cmp r3, #18 80b3b64: d10b bne.n 80b3b7e { /* Disable the TEMPSENSOR channel as it is multiplixed with the VBAT channel */ ADC->CCR &= ~ADC_CCR_TSVREFE; 80b3b66: 4a25 ldr r2, [pc, #148] ; (80b3bfc ) 80b3b68: 4b24 ldr r3, [pc, #144] ; (80b3bfc ) 80b3b6a: 685b ldr r3, [r3, #4] 80b3b6c: f423 0300 bic.w r3, r3, #8388608 ; 0x800000 80b3b70: 6053 str r3, [r2, #4] /* Enable the VBAT channel*/ ADC->CCR |= ADC_CCR_VBATE; 80b3b72: 4a22 ldr r2, [pc, #136] ; (80b3bfc ) 80b3b74: 4b21 ldr r3, [pc, #132] ; (80b3bfc ) 80b3b76: 685b ldr r3, [r3, #4] 80b3b78: f443 0380 orr.w r3, r3, #4194304 ; 0x400000 80b3b7c: 6053 str r3, [r2, #4] } /* if ADC1 Channel_18 or Channel_17 is selected enable TSVREFE Channel(Temperature sensor and VREFINT) */ if ((hadc->Instance == ADC1) && ((sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) || (sConfig->Channel == ADC_CHANNEL_VREFINT))) 80b3b7e: 687b ldr r3, [r7, #4] 80b3b80: 681b ldr r3, [r3, #0] 80b3b82: 4a1d ldr r2, [pc, #116] ; (80b3bf8 ) 80b3b84: 4293 cmp r3, r2 80b3b86: d12b bne.n 80b3be0 80b3b88: 683b ldr r3, [r7, #0] 80b3b8a: 681b ldr r3, [r3, #0] 80b3b8c: 4a19 ldr r2, [pc, #100] ; (80b3bf4 ) 80b3b8e: 4293 cmp r3, r2 80b3b90: d003 beq.n 80b3b9a 80b3b92: 683b ldr r3, [r7, #0] 80b3b94: 681b ldr r3, [r3, #0] 80b3b96: 2b11 cmp r3, #17 80b3b98: d122 bne.n 80b3be0 { /* Disable the VBAT channel as it is multiplixed with TEMPSENSOR channel */ ADC->CCR &= ~ADC_CCR_VBATE; 80b3b9a: 4a18 ldr r2, [pc, #96] ; (80b3bfc ) 80b3b9c: 4b17 ldr r3, [pc, #92] ; (80b3bfc ) 80b3b9e: 685b ldr r3, [r3, #4] 80b3ba0: f423 0380 bic.w r3, r3, #4194304 ; 0x400000 80b3ba4: 6053 str r3, [r2, #4] /* Enable the TSVREFE channel*/ ADC->CCR |= ADC_CCR_TSVREFE; 80b3ba6: 4a15 ldr r2, [pc, #84] ; (80b3bfc ) 80b3ba8: 4b14 ldr r3, [pc, #80] ; (80b3bfc ) 80b3baa: 685b ldr r3, [r3, #4] 80b3bac: f443 0300 orr.w r3, r3, #8388608 ; 0x800000 80b3bb0: 6053 str r3, [r2, #4] if(sConfig->Channel == ADC_CHANNEL_TEMPSENSOR) 80b3bb2: 683b ldr r3, [r7, #0] 80b3bb4: 681b ldr r3, [r3, #0] 80b3bb6: 4a0f ldr r2, [pc, #60] ; (80b3bf4 ) 80b3bb8: 4293 cmp r3, r2 80b3bba: d111 bne.n 80b3be0 { /* Delay for temperature sensor stabilization time */ /* Compute number of CPU cycles to wait for */ counter = (ADC_TEMPSENSOR_DELAY_US * (SystemCoreClock / 1000000)); 80b3bbc: 4b10 ldr r3, [pc, #64] ; (80b3c00 ) 80b3bbe: 681b ldr r3, [r3, #0] 80b3bc0: 4a10 ldr r2, [pc, #64] ; (80b3c04 ) 80b3bc2: fba2 2303 umull r2, r3, r2, r3 80b3bc6: 0c9a lsrs r2, r3, #18 80b3bc8: 4613 mov r3, r2 80b3bca: 009b lsls r3, r3, #2 80b3bcc: 4413 add r3, r2 80b3bce: 005b lsls r3, r3, #1 80b3bd0: 60fb str r3, [r7, #12] while(counter != 0) 80b3bd2: e002 b.n 80b3bda { counter--; 80b3bd4: 68fb ldr r3, [r7, #12] 80b3bd6: 3b01 subs r3, #1 80b3bd8: 60fb str r3, [r7, #12] while(counter != 0) 80b3bda: 68fb ldr r3, [r7, #12] 80b3bdc: 2b00 cmp r3, #0 80b3bde: d1f9 bne.n 80b3bd4 } } } /* Process unlocked */ __HAL_UNLOCK(hadc); 80b3be0: 687b ldr r3, [r7, #4] 80b3be2: 2200 movs r2, #0 80b3be4: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return HAL_OK; 80b3be8: 2300 movs r3, #0 } 80b3bea: 4618 mov r0, r3 80b3bec: 3710 adds r7, #16 80b3bee: 46bd mov sp, r7 80b3bf0: bc90 pop {r4, r7} 80b3bf2: 4770 bx lr 80b3bf4: 10000012 .word 0x10000012 80b3bf8: 40012000 .word 0x40012000 80b3bfc: 40012300 .word 0x40012300 80b3c00: 200209b4 .word 0x200209b4 80b3c04: 431bde83 .word 0x431bde83 080b3c08 : * @param hadc pointer to a ADC_HandleTypeDef structure that contains * the configuration information for the specified ADC. * @retval None */ static void ADC_Init(ADC_HandleTypeDef* hadc) { 80b3c08: b480 push {r7} 80b3c0a: b083 sub sp, #12 80b3c0c: af00 add r7, sp, #0 80b3c0e: 6078 str r0, [r7, #4] /* Set ADC parameters */ /* Set the ADC clock prescaler */ ADC->CCR &= ~(ADC_CCR_ADCPRE); 80b3c10: 4a78 ldr r2, [pc, #480] ; (80b3df4 ) 80b3c12: 4b78 ldr r3, [pc, #480] ; (80b3df4 ) 80b3c14: 685b ldr r3, [r3, #4] 80b3c16: f423 3340 bic.w r3, r3, #196608 ; 0x30000 80b3c1a: 6053 str r3, [r2, #4] ADC->CCR |= hadc->Init.ClockPrescaler; 80b3c1c: 4975 ldr r1, [pc, #468] ; (80b3df4 ) 80b3c1e: 4b75 ldr r3, [pc, #468] ; (80b3df4 ) 80b3c20: 685a ldr r2, [r3, #4] 80b3c22: 687b ldr r3, [r7, #4] 80b3c24: 685b ldr r3, [r3, #4] 80b3c26: 4313 orrs r3, r2 80b3c28: 604b str r3, [r1, #4] /* Set ADC scan mode */ hadc->Instance->CR1 &= ~(ADC_CR1_SCAN); 80b3c2a: 687b ldr r3, [r7, #4] 80b3c2c: 681b ldr r3, [r3, #0] 80b3c2e: 687a ldr r2, [r7, #4] 80b3c30: 6812 ldr r2, [r2, #0] 80b3c32: 6852 ldr r2, [r2, #4] 80b3c34: f422 7280 bic.w r2, r2, #256 ; 0x100 80b3c38: 605a str r2, [r3, #4] hadc->Instance->CR1 |= ADC_CR1_SCANCONV(hadc->Init.ScanConvMode); 80b3c3a: 687b ldr r3, [r7, #4] 80b3c3c: 681b ldr r3, [r3, #0] 80b3c3e: 687a ldr r2, [r7, #4] 80b3c40: 6812 ldr r2, [r2, #0] 80b3c42: 6851 ldr r1, [r2, #4] 80b3c44: 687a ldr r2, [r7, #4] 80b3c46: 6912 ldr r2, [r2, #16] 80b3c48: 0212 lsls r2, r2, #8 80b3c4a: 430a orrs r2, r1 80b3c4c: 605a str r2, [r3, #4] /* Set ADC resolution */ hadc->Instance->CR1 &= ~(ADC_CR1_RES); 80b3c4e: 687b ldr r3, [r7, #4] 80b3c50: 681b ldr r3, [r3, #0] 80b3c52: 687a ldr r2, [r7, #4] 80b3c54: 6812 ldr r2, [r2, #0] 80b3c56: 6852 ldr r2, [r2, #4] 80b3c58: f022 7240 bic.w r2, r2, #50331648 ; 0x3000000 80b3c5c: 605a str r2, [r3, #4] hadc->Instance->CR1 |= hadc->Init.Resolution; 80b3c5e: 687b ldr r3, [r7, #4] 80b3c60: 681b ldr r3, [r3, #0] 80b3c62: 687a ldr r2, [r7, #4] 80b3c64: 6812 ldr r2, [r2, #0] 80b3c66: 6851 ldr r1, [r2, #4] 80b3c68: 687a ldr r2, [r7, #4] 80b3c6a: 6892 ldr r2, [r2, #8] 80b3c6c: 430a orrs r2, r1 80b3c6e: 605a str r2, [r3, #4] /* Set ADC data alignment */ hadc->Instance->CR2 &= ~(ADC_CR2_ALIGN); 80b3c70: 687b ldr r3, [r7, #4] 80b3c72: 681b ldr r3, [r3, #0] 80b3c74: 687a ldr r2, [r7, #4] 80b3c76: 6812 ldr r2, [r2, #0] 80b3c78: 6892 ldr r2, [r2, #8] 80b3c7a: f422 6200 bic.w r2, r2, #2048 ; 0x800 80b3c7e: 609a str r2, [r3, #8] hadc->Instance->CR2 |= hadc->Init.DataAlign; 80b3c80: 687b ldr r3, [r7, #4] 80b3c82: 681b ldr r3, [r3, #0] 80b3c84: 687a ldr r2, [r7, #4] 80b3c86: 6812 ldr r2, [r2, #0] 80b3c88: 6891 ldr r1, [r2, #8] 80b3c8a: 687a ldr r2, [r7, #4] 80b3c8c: 68d2 ldr r2, [r2, #12] 80b3c8e: 430a orrs r2, r1 80b3c90: 609a str r2, [r3, #8] /* Enable external trigger if trigger selection is different of software */ /* start. */ /* Note: This configuration keeps the hardware feature of parameter */ /* ExternalTrigConvEdge "trigger edge none" equivalent to */ /* software start. */ if(hadc->Init.ExternalTrigConv != ADC_SOFTWARE_START) 80b3c92: 687b ldr r3, [r7, #4] 80b3c94: 6a9b ldr r3, [r3, #40] ; 0x28 80b3c96: 4a58 ldr r2, [pc, #352] ; (80b3df8 ) 80b3c98: 4293 cmp r3, r2 80b3c9a: d022 beq.n 80b3ce2 { /* Select external trigger to start conversion */ hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL); 80b3c9c: 687b ldr r3, [r7, #4] 80b3c9e: 681b ldr r3, [r3, #0] 80b3ca0: 687a ldr r2, [r7, #4] 80b3ca2: 6812 ldr r2, [r2, #0] 80b3ca4: 6892 ldr r2, [r2, #8] 80b3ca6: f022 6270 bic.w r2, r2, #251658240 ; 0xf000000 80b3caa: 609a str r2, [r3, #8] hadc->Instance->CR2 |= hadc->Init.ExternalTrigConv; 80b3cac: 687b ldr r3, [r7, #4] 80b3cae: 681b ldr r3, [r3, #0] 80b3cb0: 687a ldr r2, [r7, #4] 80b3cb2: 6812 ldr r2, [r2, #0] 80b3cb4: 6891 ldr r1, [r2, #8] 80b3cb6: 687a ldr r2, [r7, #4] 80b3cb8: 6a92 ldr r2, [r2, #40] ; 0x28 80b3cba: 430a orrs r2, r1 80b3cbc: 609a str r2, [r3, #8] /* Select external trigger polarity */ hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 80b3cbe: 687b ldr r3, [r7, #4] 80b3cc0: 681b ldr r3, [r3, #0] 80b3cc2: 687a ldr r2, [r7, #4] 80b3cc4: 6812 ldr r2, [r2, #0] 80b3cc6: 6892 ldr r2, [r2, #8] 80b3cc8: f022 5240 bic.w r2, r2, #805306368 ; 0x30000000 80b3ccc: 609a str r2, [r3, #8] hadc->Instance->CR2 |= hadc->Init.ExternalTrigConvEdge; 80b3cce: 687b ldr r3, [r7, #4] 80b3cd0: 681b ldr r3, [r3, #0] 80b3cd2: 687a ldr r2, [r7, #4] 80b3cd4: 6812 ldr r2, [r2, #0] 80b3cd6: 6891 ldr r1, [r2, #8] 80b3cd8: 687a ldr r2, [r7, #4] 80b3cda: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b3cdc: 430a orrs r2, r1 80b3cde: 609a str r2, [r3, #8] 80b3ce0: e00f b.n 80b3d02 } else { /* Reset the external trigger */ hadc->Instance->CR2 &= ~(ADC_CR2_EXTSEL); 80b3ce2: 687b ldr r3, [r7, #4] 80b3ce4: 681b ldr r3, [r3, #0] 80b3ce6: 687a ldr r2, [r7, #4] 80b3ce8: 6812 ldr r2, [r2, #0] 80b3cea: 6892 ldr r2, [r2, #8] 80b3cec: f022 6270 bic.w r2, r2, #251658240 ; 0xf000000 80b3cf0: 609a str r2, [r3, #8] hadc->Instance->CR2 &= ~(ADC_CR2_EXTEN); 80b3cf2: 687b ldr r3, [r7, #4] 80b3cf4: 681b ldr r3, [r3, #0] 80b3cf6: 687a ldr r2, [r7, #4] 80b3cf8: 6812 ldr r2, [r2, #0] 80b3cfa: 6892 ldr r2, [r2, #8] 80b3cfc: f022 5240 bic.w r2, r2, #805306368 ; 0x30000000 80b3d00: 609a str r2, [r3, #8] } /* Enable or disable ADC continuous conversion mode */ hadc->Instance->CR2 &= ~(ADC_CR2_CONT); 80b3d02: 687b ldr r3, [r7, #4] 80b3d04: 681b ldr r3, [r3, #0] 80b3d06: 687a ldr r2, [r7, #4] 80b3d08: 6812 ldr r2, [r2, #0] 80b3d0a: 6892 ldr r2, [r2, #8] 80b3d0c: f022 0202 bic.w r2, r2, #2 80b3d10: 609a str r2, [r3, #8] hadc->Instance->CR2 |= ADC_CR2_CONTINUOUS((uint32_t)hadc->Init.ContinuousConvMode); 80b3d12: 687b ldr r3, [r7, #4] 80b3d14: 681b ldr r3, [r3, #0] 80b3d16: 687a ldr r2, [r7, #4] 80b3d18: 6812 ldr r2, [r2, #0] 80b3d1a: 6891 ldr r1, [r2, #8] 80b3d1c: 687a ldr r2, [r7, #4] 80b3d1e: 6992 ldr r2, [r2, #24] 80b3d20: 0052 lsls r2, r2, #1 80b3d22: 430a orrs r2, r1 80b3d24: 609a str r2, [r3, #8] if(hadc->Init.DiscontinuousConvMode != DISABLE) 80b3d26: 687b ldr r3, [r7, #4] 80b3d28: f893 3020 ldrb.w r3, [r3, #32] 80b3d2c: 2b00 cmp r3, #0 80b3d2e: d01b beq.n 80b3d68 { assert_param(IS_ADC_REGULAR_DISC_NUMBER(hadc->Init.NbrOfDiscConversion)); /* Enable the selected ADC regular discontinuous mode */ hadc->Instance->CR1 |= (uint32_t)ADC_CR1_DISCEN; 80b3d30: 687b ldr r3, [r7, #4] 80b3d32: 681b ldr r3, [r3, #0] 80b3d34: 687a ldr r2, [r7, #4] 80b3d36: 6812 ldr r2, [r2, #0] 80b3d38: 6852 ldr r2, [r2, #4] 80b3d3a: f442 6200 orr.w r2, r2, #2048 ; 0x800 80b3d3e: 605a str r2, [r3, #4] /* Set the number of channels to be converted in discontinuous mode */ hadc->Instance->CR1 &= ~(ADC_CR1_DISCNUM); 80b3d40: 687b ldr r3, [r7, #4] 80b3d42: 681b ldr r3, [r3, #0] 80b3d44: 687a ldr r2, [r7, #4] 80b3d46: 6812 ldr r2, [r2, #0] 80b3d48: 6852 ldr r2, [r2, #4] 80b3d4a: f422 4260 bic.w r2, r2, #57344 ; 0xe000 80b3d4e: 605a str r2, [r3, #4] hadc->Instance->CR1 |= ADC_CR1_DISCONTINUOUS(hadc->Init.NbrOfDiscConversion); 80b3d50: 687b ldr r3, [r7, #4] 80b3d52: 681b ldr r3, [r3, #0] 80b3d54: 687a ldr r2, [r7, #4] 80b3d56: 6812 ldr r2, [r2, #0] 80b3d58: 6851 ldr r1, [r2, #4] 80b3d5a: 687a ldr r2, [r7, #4] 80b3d5c: 6a52 ldr r2, [r2, #36] ; 0x24 80b3d5e: 3a01 subs r2, #1 80b3d60: 0352 lsls r2, r2, #13 80b3d62: 430a orrs r2, r1 80b3d64: 605a str r2, [r3, #4] 80b3d66: e007 b.n 80b3d78 } else { /* Disable the selected ADC regular discontinuous mode */ hadc->Instance->CR1 &= ~(ADC_CR1_DISCEN); 80b3d68: 687b ldr r3, [r7, #4] 80b3d6a: 681b ldr r3, [r3, #0] 80b3d6c: 687a ldr r2, [r7, #4] 80b3d6e: 6812 ldr r2, [r2, #0] 80b3d70: 6852 ldr r2, [r2, #4] 80b3d72: f422 6200 bic.w r2, r2, #2048 ; 0x800 80b3d76: 605a str r2, [r3, #4] } /* Set ADC number of conversion */ hadc->Instance->SQR1 &= ~(ADC_SQR1_L); 80b3d78: 687b ldr r3, [r7, #4] 80b3d7a: 681b ldr r3, [r3, #0] 80b3d7c: 687a ldr r2, [r7, #4] 80b3d7e: 6812 ldr r2, [r2, #0] 80b3d80: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b3d82: f422 0270 bic.w r2, r2, #15728640 ; 0xf00000 80b3d86: 62da str r2, [r3, #44] ; 0x2c hadc->Instance->SQR1 |= ADC_SQR1(hadc->Init.NbrOfConversion); 80b3d88: 687b ldr r3, [r7, #4] 80b3d8a: 681b ldr r3, [r3, #0] 80b3d8c: 687a ldr r2, [r7, #4] 80b3d8e: 6812 ldr r2, [r2, #0] 80b3d90: 6ad1 ldr r1, [r2, #44] ; 0x2c 80b3d92: 687a ldr r2, [r7, #4] 80b3d94: 69d2 ldr r2, [r2, #28] 80b3d96: 3a01 subs r2, #1 80b3d98: 0512 lsls r2, r2, #20 80b3d9a: 430a orrs r2, r1 80b3d9c: 62da str r2, [r3, #44] ; 0x2c /* Enable or disable ADC DMA continuous request */ hadc->Instance->CR2 &= ~(ADC_CR2_DDS); 80b3d9e: 687b ldr r3, [r7, #4] 80b3da0: 681b ldr r3, [r3, #0] 80b3da2: 687a ldr r2, [r7, #4] 80b3da4: 6812 ldr r2, [r2, #0] 80b3da6: 6892 ldr r2, [r2, #8] 80b3da8: f422 7200 bic.w r2, r2, #512 ; 0x200 80b3dac: 609a str r2, [r3, #8] hadc->Instance->CR2 |= ADC_CR2_DMAContReq((uint32_t)hadc->Init.DMAContinuousRequests); 80b3dae: 687b ldr r3, [r7, #4] 80b3db0: 681b ldr r3, [r3, #0] 80b3db2: 687a ldr r2, [r7, #4] 80b3db4: 6812 ldr r2, [r2, #0] 80b3db6: 6891 ldr r1, [r2, #8] 80b3db8: 687a ldr r2, [r7, #4] 80b3dba: f892 2030 ldrb.w r2, [r2, #48] ; 0x30 80b3dbe: 0252 lsls r2, r2, #9 80b3dc0: 430a orrs r2, r1 80b3dc2: 609a str r2, [r3, #8] /* Enable or disable ADC end of conversion selection */ hadc->Instance->CR2 &= ~(ADC_CR2_EOCS); 80b3dc4: 687b ldr r3, [r7, #4] 80b3dc6: 681b ldr r3, [r3, #0] 80b3dc8: 687a ldr r2, [r7, #4] 80b3dca: 6812 ldr r2, [r2, #0] 80b3dcc: 6892 ldr r2, [r2, #8] 80b3dce: f422 6280 bic.w r2, r2, #1024 ; 0x400 80b3dd2: 609a str r2, [r3, #8] hadc->Instance->CR2 |= ADC_CR2_EOCSelection(hadc->Init.EOCSelection); 80b3dd4: 687b ldr r3, [r7, #4] 80b3dd6: 681b ldr r3, [r3, #0] 80b3dd8: 687a ldr r2, [r7, #4] 80b3dda: 6812 ldr r2, [r2, #0] 80b3ddc: 6891 ldr r1, [r2, #8] 80b3dde: 687a ldr r2, [r7, #4] 80b3de0: 6952 ldr r2, [r2, #20] 80b3de2: 0292 lsls r2, r2, #10 80b3de4: 430a orrs r2, r1 80b3de6: 609a str r2, [r3, #8] } 80b3de8: bf00 nop 80b3dea: 370c adds r7, #12 80b3dec: 46bd mov sp, r7 80b3dee: f85d 7b04 ldr.w r7, [sp], #4 80b3df2: 4770 bx lr 80b3df4: 40012300 .word 0x40012300 80b3df8: 0f000001 .word 0x0f000001 080b3dfc : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA module. * @retval None */ static void ADC_DMAConvCplt(DMA_HandleTypeDef *hdma) { 80b3dfc: b580 push {r7, lr} 80b3dfe: b084 sub sp, #16 80b3e00: af00 add r7, sp, #0 80b3e02: 6078 str r0, [r7, #4] /* Retrieve ADC handle corresponding to current DMA handle */ ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 80b3e04: 687b ldr r3, [r7, #4] 80b3e06: 6b9b ldr r3, [r3, #56] ; 0x38 80b3e08: 60fb str r3, [r7, #12] /* Update state machine on conversion status if not in error state */ if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_ERROR_INTERNAL | HAL_ADC_STATE_ERROR_DMA)) 80b3e0a: 68fb ldr r3, [r7, #12] 80b3e0c: 6c1b ldr r3, [r3, #64] ; 0x40 80b3e0e: f003 0350 and.w r3, r3, #80 ; 0x50 80b3e12: 2b00 cmp r3, #0 80b3e14: d13c bne.n 80b3e90 { /* Update ADC state machine */ SET_BIT(hadc->State, HAL_ADC_STATE_REG_EOC); 80b3e16: 68fb ldr r3, [r7, #12] 80b3e18: 6c1b ldr r3, [r3, #64] ; 0x40 80b3e1a: f443 7200 orr.w r2, r3, #512 ; 0x200 80b3e1e: 68fb ldr r3, [r7, #12] 80b3e20: 641a str r2, [r3, #64] ; 0x40 /* by external trigger, continuous mode or scan sequence on going. */ /* Note: On STM32F7, there is no independent flag of end of sequence. */ /* The test of scan sequence on going is done either with scan */ /* sequence disabled or with end of conversion flag set to */ /* of end of sequence. */ if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 80b3e22: 68fb ldr r3, [r7, #12] 80b3e24: 681b ldr r3, [r3, #0] 80b3e26: 689b ldr r3, [r3, #8] 80b3e28: f003 5340 and.w r3, r3, #805306368 ; 0x30000000 80b3e2c: 2b00 cmp r3, #0 80b3e2e: d12b bne.n 80b3e88 (hadc->Init.ContinuousConvMode == DISABLE) && 80b3e30: 68fb ldr r3, [r7, #12] 80b3e32: 699b ldr r3, [r3, #24] if(ADC_IS_SOFTWARE_START_REGULAR(hadc) && 80b3e34: 2b00 cmp r3, #0 80b3e36: d127 bne.n 80b3e88 (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b3e38: 68fb ldr r3, [r7, #12] 80b3e3a: 681b ldr r3, [r3, #0] 80b3e3c: 6adb ldr r3, [r3, #44] ; 0x2c 80b3e3e: f403 0370 and.w r3, r3, #15728640 ; 0xf00000 (hadc->Init.ContinuousConvMode == DISABLE) && 80b3e42: 2b00 cmp r3, #0 80b3e44: d006 beq.n 80b3e54 HAL_IS_BIT_CLR(hadc->Instance->CR2, ADC_CR2_EOCS) ) ) 80b3e46: 68fb ldr r3, [r7, #12] 80b3e48: 681b ldr r3, [r3, #0] 80b3e4a: 689b ldr r3, [r3, #8] 80b3e4c: f403 6380 and.w r3, r3, #1024 ; 0x400 (HAL_IS_BIT_CLR(hadc->Instance->SQR1, ADC_SQR1_L) || 80b3e50: 2b00 cmp r3, #0 80b3e52: d119 bne.n 80b3e88 { /* Disable ADC end of single conversion interrupt on group regular */ /* Note: Overrun interrupt was enabled with EOC interrupt in */ /* HAL_ADC_Start_IT(), but is not disabled here because can be used */ /* by overrun IRQ process below. */ __HAL_ADC_DISABLE_IT(hadc, ADC_IT_EOC); 80b3e54: 68fb ldr r3, [r7, #12] 80b3e56: 681b ldr r3, [r3, #0] 80b3e58: 68fa ldr r2, [r7, #12] 80b3e5a: 6812 ldr r2, [r2, #0] 80b3e5c: 6852 ldr r2, [r2, #4] 80b3e5e: f022 0220 bic.w r2, r2, #32 80b3e62: 605a str r2, [r3, #4] /* Set ADC state */ CLEAR_BIT(hadc->State, HAL_ADC_STATE_REG_BUSY); 80b3e64: 68fb ldr r3, [r7, #12] 80b3e66: 6c1b ldr r3, [r3, #64] ; 0x40 80b3e68: f423 7280 bic.w r2, r3, #256 ; 0x100 80b3e6c: 68fb ldr r3, [r7, #12] 80b3e6e: 641a str r2, [r3, #64] ; 0x40 if (HAL_IS_BIT_CLR(hadc->State, HAL_ADC_STATE_INJ_BUSY)) 80b3e70: 68fb ldr r3, [r7, #12] 80b3e72: 6c1b ldr r3, [r3, #64] ; 0x40 80b3e74: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b3e78: 2b00 cmp r3, #0 80b3e7a: d105 bne.n 80b3e88 { SET_BIT(hadc->State, HAL_ADC_STATE_READY); 80b3e7c: 68fb ldr r3, [r7, #12] 80b3e7e: 6c1b ldr r3, [r3, #64] ; 0x40 80b3e80: f043 0201 orr.w r2, r3, #1 80b3e84: 68fb ldr r3, [r7, #12] 80b3e86: 641a str r2, [r3, #64] ; 0x40 /* Conversion complete callback */ #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) hadc->ConvCpltCallback(hadc); #else HAL_ADC_ConvCpltCallback(hadc); 80b3e88: 68f8 ldr r0, [r7, #12] 80b3e8a: f7a1 fd03 bl 8055894 { /* Call DMA error callback */ hadc->DMA_Handle->XferErrorCallback(hdma); } } } 80b3e8e: e00e b.n 80b3eae if ((hadc->State & HAL_ADC_STATE_ERROR_INTERNAL) != 0UL) 80b3e90: 68fb ldr r3, [r7, #12] 80b3e92: 6c1b ldr r3, [r3, #64] ; 0x40 80b3e94: f003 0310 and.w r3, r3, #16 80b3e98: 2b00 cmp r3, #0 80b3e9a: d003 beq.n 80b3ea4 HAL_ADC_ErrorCallback(hadc); 80b3e9c: 68f8 ldr r0, [r7, #12] 80b3e9e: f7ff fd52 bl 80b3946 } 80b3ea2: e004 b.n 80b3eae hadc->DMA_Handle->XferErrorCallback(hdma); 80b3ea4: 68fb ldr r3, [r7, #12] 80b3ea6: 6b9b ldr r3, [r3, #56] ; 0x38 80b3ea8: 6cdb ldr r3, [r3, #76] ; 0x4c 80b3eaa: 6878 ldr r0, [r7, #4] 80b3eac: 4798 blx r3 } 80b3eae: bf00 nop 80b3eb0: 3710 adds r7, #16 80b3eb2: 46bd mov sp, r7 80b3eb4: bd80 pop {r7, pc} 080b3eb6 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA module. * @retval None */ static void ADC_DMAHalfConvCplt(DMA_HandleTypeDef *hdma) { 80b3eb6: b580 push {r7, lr} 80b3eb8: b084 sub sp, #16 80b3eba: af00 add r7, sp, #0 80b3ebc: 6078 str r0, [r7, #4] ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 80b3ebe: 687b ldr r3, [r7, #4] 80b3ec0: 6b9b ldr r3, [r3, #56] ; 0x38 80b3ec2: 60fb str r3, [r7, #12] /* Half conversion callback */ #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) hadc->ConvHalfCpltCallback(hadc); #else HAL_ADC_ConvHalfCpltCallback(hadc); 80b3ec4: 68f8 ldr r0, [r7, #12] 80b3ec6: f7ff fd34 bl 80b3932 #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ } 80b3eca: bf00 nop 80b3ecc: 3710 adds r7, #16 80b3ece: 46bd mov sp, r7 80b3ed0: bd80 pop {r7, pc} 080b3ed2 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA module. * @retval None */ static void ADC_DMAError(DMA_HandleTypeDef *hdma) { 80b3ed2: b580 push {r7, lr} 80b3ed4: b084 sub sp, #16 80b3ed6: af00 add r7, sp, #0 80b3ed8: 6078 str r0, [r7, #4] ADC_HandleTypeDef* hadc = ( ADC_HandleTypeDef* )((DMA_HandleTypeDef* )hdma)->Parent; 80b3eda: 687b ldr r3, [r7, #4] 80b3edc: 6b9b ldr r3, [r3, #56] ; 0x38 80b3ede: 60fb str r3, [r7, #12] hadc->State= HAL_ADC_STATE_ERROR_DMA; 80b3ee0: 68fb ldr r3, [r7, #12] 80b3ee2: 2240 movs r2, #64 ; 0x40 80b3ee4: 641a str r2, [r3, #64] ; 0x40 /* Set ADC error code to DMA error */ hadc->ErrorCode |= HAL_ADC_ERROR_DMA; 80b3ee6: 68fb ldr r3, [r7, #12] 80b3ee8: 6c5b ldr r3, [r3, #68] ; 0x44 80b3eea: f043 0204 orr.w r2, r3, #4 80b3eee: 68fb ldr r3, [r7, #12] 80b3ef0: 645a str r2, [r3, #68] ; 0x44 /* Error callback */ #if (USE_HAL_ADC_REGISTER_CALLBACKS == 1) hadc->ErrorCallback(hadc); #else HAL_ADC_ErrorCallback(hadc); 80b3ef2: 68f8 ldr r0, [r7, #12] 80b3ef4: f7ff fd27 bl 80b3946 #endif /* USE_HAL_ADC_REGISTER_CALLBACKS */ } 80b3ef8: bf00 nop 80b3efa: 3710 adds r7, #16 80b3efc: 46bd mov sp, r7 80b3efe: bd80 pop {r7, pc} 080b3f00 <__NVIC_SetPriorityGrouping>: { 80b3f00: b480 push {r7} 80b3f02: b085 sub sp, #20 80b3f04: af00 add r7, sp, #0 80b3f06: 6078 str r0, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ 80b3f08: 687b ldr r3, [r7, #4] 80b3f0a: f003 0307 and.w r3, r3, #7 80b3f0e: 60fb str r3, [r7, #12] reg_value = SCB->AIRCR; /* read old register configuration */ 80b3f10: 4b0b ldr r3, [pc, #44] ; (80b3f40 <__NVIC_SetPriorityGrouping+0x40>) 80b3f12: 68db ldr r3, [r3, #12] 80b3f14: 60bb str r3, [r7, #8] reg_value &= ~((uint32_t)(SCB_AIRCR_VECTKEY_Msk | SCB_AIRCR_PRIGROUP_Msk)); /* clear bits to change */ 80b3f16: 68ba ldr r2, [r7, #8] 80b3f18: f64f 03ff movw r3, #63743 ; 0xf8ff 80b3f1c: 4013 ands r3, r2 80b3f1e: 60bb str r3, [r7, #8] (PriorityGroupTmp << SCB_AIRCR_PRIGROUP_Pos) ); /* Insert write key and priority group */ 80b3f20: 68fb ldr r3, [r7, #12] 80b3f22: 021a lsls r2, r3, #8 ((uint32_t)0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 80b3f24: 68bb ldr r3, [r7, #8] 80b3f26: 431a orrs r2, r3 reg_value = (reg_value | 80b3f28: 4b06 ldr r3, [pc, #24] ; (80b3f44 <__NVIC_SetPriorityGrouping+0x44>) 80b3f2a: 4313 orrs r3, r2 80b3f2c: 60bb str r3, [r7, #8] SCB->AIRCR = reg_value; 80b3f2e: 4a04 ldr r2, [pc, #16] ; (80b3f40 <__NVIC_SetPriorityGrouping+0x40>) 80b3f30: 68bb ldr r3, [r7, #8] 80b3f32: 60d3 str r3, [r2, #12] } 80b3f34: bf00 nop 80b3f36: 3714 adds r7, #20 80b3f38: 46bd mov sp, r7 80b3f3a: f85d 7b04 ldr.w r7, [sp], #4 80b3f3e: 4770 bx lr 80b3f40: e000ed00 .word 0xe000ed00 80b3f44: 05fa0000 .word 0x05fa0000 080b3f48 <__NVIC_GetPriorityGrouping>: { 80b3f48: b480 push {r7} 80b3f4a: af00 add r7, sp, #0 return ((uint32_t)((SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) >> SCB_AIRCR_PRIGROUP_Pos)); 80b3f4c: 4b04 ldr r3, [pc, #16] ; (80b3f60 <__NVIC_GetPriorityGrouping+0x18>) 80b3f4e: 68db ldr r3, [r3, #12] 80b3f50: 0a1b lsrs r3, r3, #8 80b3f52: f003 0307 and.w r3, r3, #7 } 80b3f56: 4618 mov r0, r3 80b3f58: 46bd mov sp, r7 80b3f5a: f85d 7b04 ldr.w r7, [sp], #4 80b3f5e: 4770 bx lr 80b3f60: e000ed00 .word 0xe000ed00 080b3f64 <__NVIC_EnableIRQ>: { 80b3f64: b480 push {r7} 80b3f66: b083 sub sp, #12 80b3f68: af00 add r7, sp, #0 80b3f6a: 4603 mov r3, r0 80b3f6c: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) 80b3f6e: f997 3007 ldrsb.w r3, [r7, #7] 80b3f72: 2b00 cmp r3, #0 80b3f74: db0b blt.n 80b3f8e <__NVIC_EnableIRQ+0x2a> NVIC->ISER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 80b3f76: 4909 ldr r1, [pc, #36] ; (80b3f9c <__NVIC_EnableIRQ+0x38>) 80b3f78: f997 3007 ldrsb.w r3, [r7, #7] 80b3f7c: 095b lsrs r3, r3, #5 80b3f7e: 79fa ldrb r2, [r7, #7] 80b3f80: f002 021f and.w r2, r2, #31 80b3f84: 2001 movs r0, #1 80b3f86: fa00 f202 lsl.w r2, r0, r2 80b3f8a: f841 2023 str.w r2, [r1, r3, lsl #2] } 80b3f8e: bf00 nop 80b3f90: 370c adds r7, #12 80b3f92: 46bd mov sp, r7 80b3f94: f85d 7b04 ldr.w r7, [sp], #4 80b3f98: 4770 bx lr 80b3f9a: bf00 nop 80b3f9c: e000e100 .word 0xe000e100 080b3fa0 <__NVIC_DisableIRQ>: { 80b3fa0: b480 push {r7} 80b3fa2: b083 sub sp, #12 80b3fa4: af00 add r7, sp, #0 80b3fa6: 4603 mov r3, r0 80b3fa8: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) 80b3faa: f997 3007 ldrsb.w r3, [r7, #7] 80b3fae: 2b00 cmp r3, #0 80b3fb0: db10 blt.n 80b3fd4 <__NVIC_DisableIRQ+0x34> NVIC->ICER[(((uint32_t)IRQn) >> 5UL)] = (uint32_t)(1UL << (((uint32_t)IRQn) & 0x1FUL)); 80b3fb2: 490b ldr r1, [pc, #44] ; (80b3fe0 <__NVIC_DisableIRQ+0x40>) 80b3fb4: f997 3007 ldrsb.w r3, [r7, #7] 80b3fb8: 095b lsrs r3, r3, #5 80b3fba: 79fa ldrb r2, [r7, #7] 80b3fbc: f002 021f and.w r2, r2, #31 80b3fc0: 2001 movs r0, #1 80b3fc2: fa00 f202 lsl.w r2, r0, r2 80b3fc6: 3320 adds r3, #32 80b3fc8: f841 2023 str.w r2, [r1, r3, lsl #2] __ASM volatile ("dsb 0xF":::"memory"); 80b3fcc: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80b3fd0: f3bf 8f6f isb sy } 80b3fd4: bf00 nop 80b3fd6: 370c adds r7, #12 80b3fd8: 46bd mov sp, r7 80b3fda: f85d 7b04 ldr.w r7, [sp], #4 80b3fde: 4770 bx lr 80b3fe0: e000e100 .word 0xe000e100 080b3fe4 <__NVIC_SetPriority>: { 80b3fe4: b480 push {r7} 80b3fe6: b083 sub sp, #12 80b3fe8: af00 add r7, sp, #0 80b3fea: 4603 mov r3, r0 80b3fec: 6039 str r1, [r7, #0] 80b3fee: 71fb strb r3, [r7, #7] if ((int32_t)(IRQn) >= 0) 80b3ff0: f997 3007 ldrsb.w r3, [r7, #7] 80b3ff4: 2b00 cmp r3, #0 80b3ff6: db0a blt.n 80b400e <__NVIC_SetPriority+0x2a> NVIC->IP[((uint32_t)IRQn)] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); 80b3ff8: 490d ldr r1, [pc, #52] ; (80b4030 <__NVIC_SetPriority+0x4c>) 80b3ffa: f997 3007 ldrsb.w r3, [r7, #7] 80b3ffe: 683a ldr r2, [r7, #0] 80b4000: b2d2 uxtb r2, r2 80b4002: 0112 lsls r2, r2, #4 80b4004: b2d2 uxtb r2, r2 80b4006: 440b add r3, r1 80b4008: f883 2300 strb.w r2, [r3, #768] ; 0x300 } 80b400c: e00a b.n 80b4024 <__NVIC_SetPriority+0x40> SCB->SHPR[(((uint32_t)IRQn) & 0xFUL)-4UL] = (uint8_t)((priority << (8U - __NVIC_PRIO_BITS)) & (uint32_t)0xFFUL); 80b400e: 4909 ldr r1, [pc, #36] ; (80b4034 <__NVIC_SetPriority+0x50>) 80b4010: 79fb ldrb r3, [r7, #7] 80b4012: f003 030f and.w r3, r3, #15 80b4016: 3b04 subs r3, #4 80b4018: 683a ldr r2, [r7, #0] 80b401a: b2d2 uxtb r2, r2 80b401c: 0112 lsls r2, r2, #4 80b401e: b2d2 uxtb r2, r2 80b4020: 440b add r3, r1 80b4022: 761a strb r2, [r3, #24] } 80b4024: bf00 nop 80b4026: 370c adds r7, #12 80b4028: 46bd mov sp, r7 80b402a: f85d 7b04 ldr.w r7, [sp], #4 80b402e: 4770 bx lr 80b4030: e000e100 .word 0xe000e100 80b4034: e000ed00 .word 0xe000ed00 080b4038 : { 80b4038: b480 push {r7} 80b403a: b089 sub sp, #36 ; 0x24 80b403c: af00 add r7, sp, #0 80b403e: 60f8 str r0, [r7, #12] 80b4040: 60b9 str r1, [r7, #8] 80b4042: 607a str r2, [r7, #4] uint32_t PriorityGroupTmp = (PriorityGroup & (uint32_t)0x07UL); /* only values 0..7 are used */ 80b4044: 68fb ldr r3, [r7, #12] 80b4046: f003 0307 and.w r3, r3, #7 80b404a: 61fb str r3, [r7, #28] PreemptPriorityBits = ((7UL - PriorityGroupTmp) > (uint32_t)(__NVIC_PRIO_BITS)) ? (uint32_t)(__NVIC_PRIO_BITS) : (uint32_t)(7UL - PriorityGroupTmp); 80b404c: 69fb ldr r3, [r7, #28] 80b404e: f1c3 0307 rsb r3, r3, #7 80b4052: 2b04 cmp r3, #4 80b4054: bf28 it cs 80b4056: 2304 movcs r3, #4 80b4058: 61bb str r3, [r7, #24] SubPriorityBits = ((PriorityGroupTmp + (uint32_t)(__NVIC_PRIO_BITS)) < (uint32_t)7UL) ? (uint32_t)0UL : (uint32_t)((PriorityGroupTmp - 7UL) + (uint32_t)(__NVIC_PRIO_BITS)); 80b405a: 69fb ldr r3, [r7, #28] 80b405c: 3304 adds r3, #4 80b405e: 2b06 cmp r3, #6 80b4060: d902 bls.n 80b4068 80b4062: 69fb ldr r3, [r7, #28] 80b4064: 3b03 subs r3, #3 80b4066: e000 b.n 80b406a 80b4068: 2300 movs r3, #0 80b406a: 617b str r3, [r7, #20] ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | 80b406c: 2201 movs r2, #1 80b406e: 69bb ldr r3, [r7, #24] 80b4070: fa02 f303 lsl.w r3, r2, r3 80b4074: 1e5a subs r2, r3, #1 80b4076: 68bb ldr r3, [r7, #8] 80b4078: 401a ands r2, r3 80b407a: 697b ldr r3, [r7, #20] 80b407c: 409a lsls r2, r3 ((SubPriority & (uint32_t)((1UL << (SubPriorityBits )) - 1UL))) 80b407e: 2101 movs r1, #1 80b4080: 697b ldr r3, [r7, #20] 80b4082: fa01 f303 lsl.w r3, r1, r3 80b4086: 1e59 subs r1, r3, #1 80b4088: 687b ldr r3, [r7, #4] 80b408a: 400b ands r3, r1 ((PreemptPriority & (uint32_t)((1UL << (PreemptPriorityBits)) - 1UL)) << SubPriorityBits) | 80b408c: 4313 orrs r3, r2 } 80b408e: 4618 mov r0, r3 80b4090: 3724 adds r7, #36 ; 0x24 80b4092: 46bd mov sp, r7 80b4094: f85d 7b04 ldr.w r7, [sp], #4 80b4098: 4770 bx lr ... 080b409c <__NVIC_SystemReset>: { 80b409c: b480 push {r7} 80b409e: af00 add r7, sp, #0 __ASM volatile ("dsb 0xF":::"memory"); 80b40a0: f3bf 8f4f dsb sy SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 80b40a4: 4905 ldr r1, [pc, #20] ; (80b40bc <__NVIC_SystemReset+0x20>) (SCB->AIRCR & SCB_AIRCR_PRIGROUP_Msk) | 80b40a6: 4b05 ldr r3, [pc, #20] ; (80b40bc <__NVIC_SystemReset+0x20>) 80b40a8: 68db ldr r3, [r3, #12] 80b40aa: f403 62e0 and.w r2, r3, #1792 ; 0x700 SCB->AIRCR = (uint32_t)((0x5FAUL << SCB_AIRCR_VECTKEY_Pos) | 80b40ae: 4b04 ldr r3, [pc, #16] ; (80b40c0 <__NVIC_SystemReset+0x24>) 80b40b0: 4313 orrs r3, r2 80b40b2: 60cb str r3, [r1, #12] 80b40b4: f3bf 8f4f dsb sy __NOP(); 80b40b8: bf00 nop 80b40ba: e7fd b.n 80b40b8 <__NVIC_SystemReset+0x1c> 80b40bc: e000ed00 .word 0xe000ed00 80b40c0: 05fa0004 .word 0x05fa0004 080b40c4 : \note When the variable __Vendor_SysTickConfig is set to 1, then the function SysTick_Config is not included. In this case, the file device.h must contain a vendor-specific implementation of this function. */ __STATIC_INLINE uint32_t SysTick_Config(uint32_t ticks) { 80b40c4: b580 push {r7, lr} 80b40c6: b082 sub sp, #8 80b40c8: af00 add r7, sp, #0 80b40ca: 6078 str r0, [r7, #4] if ((ticks - 1UL) > SysTick_LOAD_RELOAD_Msk) 80b40cc: 687b ldr r3, [r7, #4] 80b40ce: 3b01 subs r3, #1 80b40d0: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 80b40d4: d301 bcc.n 80b40da { return (1UL); /* Reload value impossible */ 80b40d6: 2301 movs r3, #1 80b40d8: e00f b.n 80b40fa } SysTick->LOAD = (uint32_t)(ticks - 1UL); /* set reload register */ 80b40da: 4a0a ldr r2, [pc, #40] ; (80b4104 ) 80b40dc: 687b ldr r3, [r7, #4] 80b40de: 3b01 subs r3, #1 80b40e0: 6053 str r3, [r2, #4] NVIC_SetPriority (SysTick_IRQn, (1UL << __NVIC_PRIO_BITS) - 1UL); /* set Priority for Systick Interrupt */ 80b40e2: 210f movs r1, #15 80b40e4: f04f 30ff mov.w r0, #4294967295 80b40e8: f7ff ff7c bl 80b3fe4 <__NVIC_SetPriority> SysTick->VAL = 0UL; /* Load the SysTick Counter Value */ 80b40ec: 4b05 ldr r3, [pc, #20] ; (80b4104 ) 80b40ee: 2200 movs r2, #0 80b40f0: 609a str r2, [r3, #8] SysTick->CTRL = SysTick_CTRL_CLKSOURCE_Msk | 80b40f2: 4b04 ldr r3, [pc, #16] ; (80b4104 ) 80b40f4: 2207 movs r2, #7 80b40f6: 601a str r2, [r3, #0] SysTick_CTRL_TICKINT_Msk | SysTick_CTRL_ENABLE_Msk; /* Enable SysTick IRQ and SysTick Timer */ return (0UL); /* Function successful */ 80b40f8: 2300 movs r3, #0 } 80b40fa: 4618 mov r0, r3 80b40fc: 3708 adds r7, #8 80b40fe: 46bd mov sp, r7 80b4100: bd80 pop {r7, pc} 80b4102: bf00 nop 80b4104: e000e010 .word 0xe000e010 080b4108 : * @note When the NVIC_PriorityGroup_0 is selected, IRQ preemption is no more possible. * The pending IRQ priority will be managed only by the subpriority. * @retval None */ void HAL_NVIC_SetPriorityGrouping(uint32_t PriorityGroup) { 80b4108: b580 push {r7, lr} 80b410a: b082 sub sp, #8 80b410c: af00 add r7, sp, #0 80b410e: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_NVIC_PRIORITY_GROUP(PriorityGroup)); /* Set the PRIGROUP[10:8] bits according to the PriorityGroup parameter value */ NVIC_SetPriorityGrouping(PriorityGroup); 80b4110: 6878 ldr r0, [r7, #4] 80b4112: f7ff fef5 bl 80b3f00 <__NVIC_SetPriorityGrouping> } 80b4116: bf00 nop 80b4118: 3708 adds r7, #8 80b411a: 46bd mov sp, r7 80b411c: bd80 pop {r7, pc} 080b411e : * This parameter can be a value between 0 and 15 * A lower priority value indicates a higher priority. * @retval None */ void HAL_NVIC_SetPriority(IRQn_Type IRQn, uint32_t PreemptPriority, uint32_t SubPriority) { 80b411e: b580 push {r7, lr} 80b4120: b086 sub sp, #24 80b4122: af00 add r7, sp, #0 80b4124: 4603 mov r3, r0 80b4126: 60b9 str r1, [r7, #8] 80b4128: 607a str r2, [r7, #4] 80b412a: 73fb strb r3, [r7, #15] uint32_t prioritygroup = 0x00; 80b412c: 2300 movs r3, #0 80b412e: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_NVIC_SUB_PRIORITY(SubPriority)); assert_param(IS_NVIC_PREEMPTION_PRIORITY(PreemptPriority)); prioritygroup = NVIC_GetPriorityGrouping(); 80b4130: f7ff ff0a bl 80b3f48 <__NVIC_GetPriorityGrouping> 80b4134: 6178 str r0, [r7, #20] NVIC_SetPriority(IRQn, NVIC_EncodePriority(prioritygroup, PreemptPriority, SubPriority)); 80b4136: 687a ldr r2, [r7, #4] 80b4138: 68b9 ldr r1, [r7, #8] 80b413a: 6978 ldr r0, [r7, #20] 80b413c: f7ff ff7c bl 80b4038 80b4140: 4602 mov r2, r0 80b4142: f997 300f ldrsb.w r3, [r7, #15] 80b4146: 4611 mov r1, r2 80b4148: 4618 mov r0, r3 80b414a: f7ff ff4b bl 80b3fe4 <__NVIC_SetPriority> } 80b414e: bf00 nop 80b4150: 3718 adds r7, #24 80b4152: 46bd mov sp, r7 80b4154: bd80 pop {r7, pc} 080b4156 : * This parameter can be an enumerator of IRQn_Type enumeration * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32f7xxxx.h)) * @retval None */ void HAL_NVIC_EnableIRQ(IRQn_Type IRQn) { 80b4156: b580 push {r7, lr} 80b4158: b082 sub sp, #8 80b415a: af00 add r7, sp, #0 80b415c: 4603 mov r3, r0 80b415e: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Enable interrupt */ NVIC_EnableIRQ(IRQn); 80b4160: f997 3007 ldrsb.w r3, [r7, #7] 80b4164: 4618 mov r0, r3 80b4166: f7ff fefd bl 80b3f64 <__NVIC_EnableIRQ> } 80b416a: bf00 nop 80b416c: 3708 adds r7, #8 80b416e: 46bd mov sp, r7 80b4170: bd80 pop {r7, pc} 080b4172 : * This parameter can be an enumerator of IRQn_Type enumeration * (For the complete STM32 Devices IRQ Channels list, please refer to the appropriate CMSIS device file (stm32f7xxxx.h)) * @retval None */ void HAL_NVIC_DisableIRQ(IRQn_Type IRQn) { 80b4172: b580 push {r7, lr} 80b4174: b082 sub sp, #8 80b4176: af00 add r7, sp, #0 80b4178: 4603 mov r3, r0 80b417a: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_NVIC_DEVICE_IRQ(IRQn)); /* Disable interrupt */ NVIC_DisableIRQ(IRQn); 80b417c: f997 3007 ldrsb.w r3, [r7, #7] 80b4180: 4618 mov r0, r3 80b4182: f7ff ff0d bl 80b3fa0 <__NVIC_DisableIRQ> } 80b4186: bf00 nop 80b4188: 3708 adds r7, #8 80b418a: 46bd mov sp, r7 80b418c: bd80 pop {r7, pc} 080b418e : /** * @brief Initiates a system reset request to reset the MCU. * @retval None */ void HAL_NVIC_SystemReset(void) { 80b418e: b580 push {r7, lr} 80b4190: af00 add r7, sp, #0 /* System Reset */ NVIC_SystemReset(); 80b4192: f7ff ff83 bl 80b409c <__NVIC_SystemReset> 080b4196 : * @param TicksNumb Specifies the ticks Number of ticks between two interrupts. * @retval status: - 0 Function succeeded. * - 1 Function failed. */ uint32_t HAL_SYSTICK_Config(uint32_t TicksNumb) { 80b4196: b580 push {r7, lr} 80b4198: b082 sub sp, #8 80b419a: af00 add r7, sp, #0 80b419c: 6078 str r0, [r7, #4] return SysTick_Config(TicksNumb); 80b419e: 6878 ldr r0, [r7, #4] 80b41a0: f7ff ff90 bl 80b40c4 80b41a4: 4603 mov r3, r0 } 80b41a6: 4618 mov r0, r3 80b41a8: 3708 adds r7, #8 80b41aa: 46bd mov sp, r7 80b41ac: bd80 pop {r7, pc} ... 080b41b0 : /** * @brief Disables the MPU * @retval None */ void HAL_MPU_Disable(void) { 80b41b0: b480 push {r7} 80b41b2: af00 add r7, sp, #0 \details Ensures the apparent order of the explicit memory operations before and after the instruction, without ensuring their completion. */ __STATIC_FORCEINLINE void __DMB(void) { __ASM volatile ("dmb 0xF":::"memory"); 80b41b4: f3bf 8f5f dmb sy /* Make sure outstanding transfers are done */ __DMB(); /* Disable fault exceptions */ SCB->SHCSR &= ~SCB_SHCSR_MEMFAULTENA_Msk; 80b41b8: 4a06 ldr r2, [pc, #24] ; (80b41d4 ) 80b41ba: 4b06 ldr r3, [pc, #24] ; (80b41d4 ) 80b41bc: 6a5b ldr r3, [r3, #36] ; 0x24 80b41be: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80b41c2: 6253 str r3, [r2, #36] ; 0x24 /* Disable the MPU and clear the control register*/ MPU->CTRL = 0; 80b41c4: 4b04 ldr r3, [pc, #16] ; (80b41d8 ) 80b41c6: 2200 movs r2, #0 80b41c8: 605a str r2, [r3, #4] } 80b41ca: bf00 nop 80b41cc: 46bd mov sp, r7 80b41ce: f85d 7b04 ldr.w r7, [sp], #4 80b41d2: 4770 bx lr 80b41d4: e000ed00 .word 0xe000ed00 80b41d8: e000ed90 .word 0xe000ed90 080b41dc : * @arg MPU_PRIVILEGED_DEFAULT * @arg MPU_HFNMI_PRIVDEF * @retval None */ void HAL_MPU_Enable(uint32_t MPU_Control) { 80b41dc: b480 push {r7} 80b41de: b083 sub sp, #12 80b41e0: af00 add r7, sp, #0 80b41e2: 6078 str r0, [r7, #4] /* Enable the MPU */ MPU->CTRL = MPU_Control | MPU_CTRL_ENABLE_Msk; 80b41e4: 4a0a ldr r2, [pc, #40] ; (80b4210 ) 80b41e6: 687b ldr r3, [r7, #4] 80b41e8: f043 0301 orr.w r3, r3, #1 80b41ec: 6053 str r3, [r2, #4] /* Enable fault exceptions */ SCB->SHCSR |= SCB_SHCSR_MEMFAULTENA_Msk; 80b41ee: 4a09 ldr r2, [pc, #36] ; (80b4214 ) 80b41f0: 4b08 ldr r3, [pc, #32] ; (80b4214 ) 80b41f2: 6a5b ldr r3, [r3, #36] ; 0x24 80b41f4: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b41f8: 6253 str r3, [r2, #36] ; 0x24 __ASM volatile ("dsb 0xF":::"memory"); 80b41fa: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80b41fe: f3bf 8f6f isb sy /* Ensure MPU setting take effects */ __DSB(); __ISB(); } 80b4202: bf00 nop 80b4204: 370c adds r7, #12 80b4206: 46bd mov sp, r7 80b4208: f85d 7b04 ldr.w r7, [sp], #4 80b420c: 4770 bx lr 80b420e: bf00 nop 80b4210: e000ed90 .word 0xe000ed90 80b4214: e000ed00 .word 0xe000ed00 080b4218 : * @param MPU_Init Pointer to a MPU_Region_InitTypeDef structure that contains * the initialization and configuration information. * @retval None */ void HAL_MPU_ConfigRegion(MPU_Region_InitTypeDef *MPU_Init) { 80b4218: b480 push {r7} 80b421a: b083 sub sp, #12 80b421c: af00 add r7, sp, #0 80b421e: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_MPU_REGION_NUMBER(MPU_Init->Number)); assert_param(IS_MPU_REGION_ENABLE(MPU_Init->Enable)); /* Set the Region number */ MPU->RNR = MPU_Init->Number; 80b4220: 4a1e ldr r2, [pc, #120] ; (80b429c ) 80b4222: 687b ldr r3, [r7, #4] 80b4224: 785b ldrb r3, [r3, #1] 80b4226: 6093 str r3, [r2, #8] if ((MPU_Init->Enable) != RESET) 80b4228: 687b ldr r3, [r7, #4] 80b422a: 781b ldrb r3, [r3, #0] 80b422c: 2b00 cmp r3, #0 80b422e: d028 beq.n 80b4282 assert_param(IS_MPU_ACCESS_CACHEABLE(MPU_Init->IsCacheable)); assert_param(IS_MPU_ACCESS_BUFFERABLE(MPU_Init->IsBufferable)); assert_param(IS_MPU_SUB_REGION_DISABLE(MPU_Init->SubRegionDisable)); assert_param(IS_MPU_REGION_SIZE(MPU_Init->Size)); MPU->RBAR = MPU_Init->BaseAddress; 80b4230: 4a1a ldr r2, [pc, #104] ; (80b429c ) 80b4232: 687b ldr r3, [r7, #4] 80b4234: 685b ldr r3, [r3, #4] 80b4236: 60d3 str r3, [r2, #12] MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) | 80b4238: 4918 ldr r1, [pc, #96] ; (80b429c ) 80b423a: 687b ldr r3, [r7, #4] 80b423c: 7b1b ldrb r3, [r3, #12] 80b423e: 071a lsls r2, r3, #28 ((uint32_t)MPU_Init->AccessPermission << MPU_RASR_AP_Pos) | 80b4240: 687b ldr r3, [r7, #4] 80b4242: 7adb ldrb r3, [r3, #11] 80b4244: 061b lsls r3, r3, #24 MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) | 80b4246: 431a orrs r2, r3 ((uint32_t)MPU_Init->TypeExtField << MPU_RASR_TEX_Pos) | 80b4248: 687b ldr r3, [r7, #4] 80b424a: 7a9b ldrb r3, [r3, #10] 80b424c: 04db lsls r3, r3, #19 ((uint32_t)MPU_Init->AccessPermission << MPU_RASR_AP_Pos) | 80b424e: 431a orrs r2, r3 ((uint32_t)MPU_Init->IsShareable << MPU_RASR_S_Pos) | 80b4250: 687b ldr r3, [r7, #4] 80b4252: 7b5b ldrb r3, [r3, #13] 80b4254: 049b lsls r3, r3, #18 ((uint32_t)MPU_Init->TypeExtField << MPU_RASR_TEX_Pos) | 80b4256: 431a orrs r2, r3 ((uint32_t)MPU_Init->IsCacheable << MPU_RASR_C_Pos) | 80b4258: 687b ldr r3, [r7, #4] 80b425a: 7b9b ldrb r3, [r3, #14] 80b425c: 045b lsls r3, r3, #17 ((uint32_t)MPU_Init->IsShareable << MPU_RASR_S_Pos) | 80b425e: 431a orrs r2, r3 ((uint32_t)MPU_Init->IsBufferable << MPU_RASR_B_Pos) | 80b4260: 687b ldr r3, [r7, #4] 80b4262: 7bdb ldrb r3, [r3, #15] 80b4264: 041b lsls r3, r3, #16 ((uint32_t)MPU_Init->IsCacheable << MPU_RASR_C_Pos) | 80b4266: 431a orrs r2, r3 ((uint32_t)MPU_Init->SubRegionDisable << MPU_RASR_SRD_Pos) | 80b4268: 687b ldr r3, [r7, #4] 80b426a: 7a5b ldrb r3, [r3, #9] 80b426c: 021b lsls r3, r3, #8 ((uint32_t)MPU_Init->IsBufferable << MPU_RASR_B_Pos) | 80b426e: 431a orrs r2, r3 ((uint32_t)MPU_Init->Size << MPU_RASR_SIZE_Pos) | 80b4270: 687b ldr r3, [r7, #4] 80b4272: 7a1b ldrb r3, [r3, #8] 80b4274: 005b lsls r3, r3, #1 ((uint32_t)MPU_Init->SubRegionDisable << MPU_RASR_SRD_Pos) | 80b4276: 4313 orrs r3, r2 ((uint32_t)MPU_Init->Enable << MPU_RASR_ENABLE_Pos); 80b4278: 687a ldr r2, [r7, #4] 80b427a: 7812 ldrb r2, [r2, #0] ((uint32_t)MPU_Init->Size << MPU_RASR_SIZE_Pos) | 80b427c: 4313 orrs r3, r2 MPU->RASR = ((uint32_t)MPU_Init->DisableExec << MPU_RASR_XN_Pos) | 80b427e: 610b str r3, [r1, #16] else { MPU->RBAR = 0x00; MPU->RASR = 0x00; } } 80b4280: e005 b.n 80b428e MPU->RBAR = 0x00; 80b4282: 4b06 ldr r3, [pc, #24] ; (80b429c ) 80b4284: 2200 movs r2, #0 80b4286: 60da str r2, [r3, #12] MPU->RASR = 0x00; 80b4288: 4b04 ldr r3, [pc, #16] ; (80b429c ) 80b428a: 2200 movs r2, #0 80b428c: 611a str r2, [r3, #16] } 80b428e: bf00 nop 80b4290: 370c adds r7, #12 80b4292: 46bd mov sp, r7 80b4294: f85d 7b04 ldr.w r7, [sp], #4 80b4298: 4770 bx lr 80b429a: bf00 nop 80b429c: e000ed90 .word 0xe000ed90 080b42a0 : * @param hdma Pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Stream. * @retval HAL status */ HAL_StatusTypeDef HAL_DMA_Init(DMA_HandleTypeDef *hdma) { 80b42a0: b580 push {r7, lr} 80b42a2: b086 sub sp, #24 80b42a4: af00 add r7, sp, #0 80b42a6: 6078 str r0, [r7, #4] uint32_t tmp = 0U; 80b42a8: 2300 movs r3, #0 80b42aa: 617b str r3, [r7, #20] uint32_t tickstart = HAL_GetTick(); 80b42ac: f7fe ffe0 bl 80b3270 80b42b0: 6138 str r0, [r7, #16] DMA_Base_Registers *regs; /* Check the DMA peripheral state */ if(hdma == NULL) 80b42b2: 687b ldr r3, [r7, #4] 80b42b4: 2b00 cmp r3, #0 80b42b6: d101 bne.n 80b42bc { return HAL_ERROR; 80b42b8: 2301 movs r3, #1 80b42ba: e099 b.n 80b43f0 assert_param(IS_DMA_MEMORY_BURST(hdma->Init.MemBurst)); assert_param(IS_DMA_PERIPHERAL_BURST(hdma->Init.PeriphBurst)); } /* Change DMA peripheral state */ hdma->State = HAL_DMA_STATE_BUSY; 80b42bc: 687b ldr r3, [r7, #4] 80b42be: 2202 movs r2, #2 80b42c0: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Allocate lock resource */ __HAL_UNLOCK(hdma); 80b42c4: 687b ldr r3, [r7, #4] 80b42c6: 2200 movs r2, #0 80b42c8: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Disable the peripheral */ __HAL_DMA_DISABLE(hdma); 80b42cc: 687b ldr r3, [r7, #4] 80b42ce: 681b ldr r3, [r3, #0] 80b42d0: 687a ldr r2, [r7, #4] 80b42d2: 6812 ldr r2, [r2, #0] 80b42d4: 6812 ldr r2, [r2, #0] 80b42d6: f022 0201 bic.w r2, r2, #1 80b42da: 601a str r2, [r3, #0] /* Check if the DMA Stream is effectively disabled */ while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b42dc: e00f b.n 80b42fe { /* Check for the Timeout */ if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) 80b42de: f7fe ffc7 bl 80b3270 80b42e2: 4602 mov r2, r0 80b42e4: 693b ldr r3, [r7, #16] 80b42e6: 1ad3 subs r3, r2, r3 80b42e8: 2b05 cmp r3, #5 80b42ea: d908 bls.n 80b42fe { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 80b42ec: 687b ldr r3, [r7, #4] 80b42ee: 2220 movs r2, #32 80b42f0: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_TIMEOUT; 80b42f2: 687b ldr r3, [r7, #4] 80b42f4: 2203 movs r2, #3 80b42f6: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_TIMEOUT; 80b42fa: 2303 movs r3, #3 80b42fc: e078 b.n 80b43f0 while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b42fe: 687b ldr r3, [r7, #4] 80b4300: 681b ldr r3, [r3, #0] 80b4302: 681b ldr r3, [r3, #0] 80b4304: f003 0301 and.w r3, r3, #1 80b4308: 2b00 cmp r3, #0 80b430a: d1e8 bne.n 80b42de } } /* Get the CR register value */ tmp = hdma->Instance->CR; 80b430c: 687b ldr r3, [r7, #4] 80b430e: 681b ldr r3, [r3, #0] 80b4310: 681b ldr r3, [r3, #0] 80b4312: 617b str r3, [r7, #20] /* Clear CHSEL, MBURST, PBURST, PL, MSIZE, PSIZE, MINC, PINC, CIRC, DIR, CT and DBM bits */ tmp &= ((uint32_t)~(DMA_SxCR_CHSEL | DMA_SxCR_MBURST | DMA_SxCR_PBURST | \ 80b4314: 697a ldr r2, [r7, #20] 80b4316: 4b38 ldr r3, [pc, #224] ; (80b43f8 ) 80b4318: 4013 ands r3, r2 80b431a: 617b str r3, [r7, #20] DMA_SxCR_PL | DMA_SxCR_MSIZE | DMA_SxCR_PSIZE | \ DMA_SxCR_MINC | DMA_SxCR_PINC | DMA_SxCR_CIRC | \ DMA_SxCR_DIR | DMA_SxCR_CT | DMA_SxCR_DBM)); /* Prepare the DMA Stream configuration */ tmp |= hdma->Init.Channel | hdma->Init.Direction | 80b431c: 687b ldr r3, [r7, #4] 80b431e: 685a ldr r2, [r3, #4] 80b4320: 687b ldr r3, [r7, #4] 80b4322: 689b ldr r3, [r3, #8] 80b4324: 431a orrs r2, r3 hdma->Init.PeriphInc | hdma->Init.MemInc | 80b4326: 687b ldr r3, [r7, #4] 80b4328: 68db ldr r3, [r3, #12] tmp |= hdma->Init.Channel | hdma->Init.Direction | 80b432a: 431a orrs r2, r3 hdma->Init.PeriphInc | hdma->Init.MemInc | 80b432c: 687b ldr r3, [r7, #4] 80b432e: 691b ldr r3, [r3, #16] 80b4330: 431a orrs r2, r3 hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 80b4332: 687b ldr r3, [r7, #4] 80b4334: 695b ldr r3, [r3, #20] hdma->Init.PeriphInc | hdma->Init.MemInc | 80b4336: 431a orrs r2, r3 hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 80b4338: 687b ldr r3, [r7, #4] 80b433a: 699b ldr r3, [r3, #24] 80b433c: 431a orrs r2, r3 hdma->Init.Mode | hdma->Init.Priority; 80b433e: 687b ldr r3, [r7, #4] 80b4340: 69db ldr r3, [r3, #28] hdma->Init.PeriphDataAlignment | hdma->Init.MemDataAlignment | 80b4342: 431a orrs r2, r3 hdma->Init.Mode | hdma->Init.Priority; 80b4344: 687b ldr r3, [r7, #4] 80b4346: 6a1b ldr r3, [r3, #32] 80b4348: 4313 orrs r3, r2 tmp |= hdma->Init.Channel | hdma->Init.Direction | 80b434a: 697a ldr r2, [r7, #20] 80b434c: 4313 orrs r3, r2 80b434e: 617b str r3, [r7, #20] /* the Memory burst and peripheral burst are not used when the FIFO is disabled */ if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE) 80b4350: 687b ldr r3, [r7, #4] 80b4352: 6a5b ldr r3, [r3, #36] ; 0x24 80b4354: 2b04 cmp r3, #4 80b4356: d107 bne.n 80b4368 { /* Get memory burst and peripheral burst */ tmp |= hdma->Init.MemBurst | hdma->Init.PeriphBurst; 80b4358: 687b ldr r3, [r7, #4] 80b435a: 6ada ldr r2, [r3, #44] ; 0x2c 80b435c: 687b ldr r3, [r7, #4] 80b435e: 6b1b ldr r3, [r3, #48] ; 0x30 80b4360: 4313 orrs r3, r2 80b4362: 697a ldr r2, [r7, #20] 80b4364: 4313 orrs r3, r2 80b4366: 617b str r3, [r7, #20] } /* Write to DMA Stream CR register */ hdma->Instance->CR = tmp; 80b4368: 687b ldr r3, [r7, #4] 80b436a: 681b ldr r3, [r3, #0] 80b436c: 697a ldr r2, [r7, #20] 80b436e: 601a str r2, [r3, #0] /* Get the FCR register value */ tmp = hdma->Instance->FCR; 80b4370: 687b ldr r3, [r7, #4] 80b4372: 681b ldr r3, [r3, #0] 80b4374: 695b ldr r3, [r3, #20] 80b4376: 617b str r3, [r7, #20] /* Clear Direct mode and FIFO threshold bits */ tmp &= (uint32_t)~(DMA_SxFCR_DMDIS | DMA_SxFCR_FTH); 80b4378: 697b ldr r3, [r7, #20] 80b437a: f023 0307 bic.w r3, r3, #7 80b437e: 617b str r3, [r7, #20] /* Prepare the DMA Stream FIFO configuration */ tmp |= hdma->Init.FIFOMode; 80b4380: 687b ldr r3, [r7, #4] 80b4382: 6a5b ldr r3, [r3, #36] ; 0x24 80b4384: 697a ldr r2, [r7, #20] 80b4386: 4313 orrs r3, r2 80b4388: 617b str r3, [r7, #20] /* The FIFO threshold is not used when the FIFO mode is disabled */ if(hdma->Init.FIFOMode == DMA_FIFOMODE_ENABLE) 80b438a: 687b ldr r3, [r7, #4] 80b438c: 6a5b ldr r3, [r3, #36] ; 0x24 80b438e: 2b04 cmp r3, #4 80b4390: d117 bne.n 80b43c2 { /* Get the FIFO threshold */ tmp |= hdma->Init.FIFOThreshold; 80b4392: 687b ldr r3, [r7, #4] 80b4394: 6a9b ldr r3, [r3, #40] ; 0x28 80b4396: 697a ldr r2, [r7, #20] 80b4398: 4313 orrs r3, r2 80b439a: 617b str r3, [r7, #20] /* Check compatibility between FIFO threshold level and size of the memory burst */ /* for INCR4, INCR8, INCR16 bursts */ if (hdma->Init.MemBurst != DMA_MBURST_SINGLE) 80b439c: 687b ldr r3, [r7, #4] 80b439e: 6adb ldr r3, [r3, #44] ; 0x2c 80b43a0: 2b00 cmp r3, #0 80b43a2: d00e beq.n 80b43c2 { if (DMA_CheckFifoParam(hdma) != HAL_OK) 80b43a4: 6878 ldr r0, [r7, #4] 80b43a6: f000 fb81 bl 80b4aac 80b43aa: 4603 mov r3, r0 80b43ac: 2b00 cmp r3, #0 80b43ae: d008 beq.n 80b43c2 { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_PARAM; 80b43b0: 687b ldr r3, [r7, #4] 80b43b2: 2240 movs r2, #64 ; 0x40 80b43b4: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b43b6: 687b ldr r3, [r7, #4] 80b43b8: 2201 movs r2, #1 80b43ba: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_ERROR; 80b43be: 2301 movs r3, #1 80b43c0: e016 b.n 80b43f0 } } } /* Write to DMA Stream FCR */ hdma->Instance->FCR = tmp; 80b43c2: 687b ldr r3, [r7, #4] 80b43c4: 681b ldr r3, [r3, #0] 80b43c6: 697a ldr r2, [r7, #20] 80b43c8: 615a str r2, [r3, #20] /* Initialize StreamBaseAddress and StreamIndex parameters to be used to calculate DMA steam Base Address needed by HAL_DMA_IRQHandler() and HAL_DMA_PollForTransfer() */ regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma); 80b43ca: 6878 ldr r0, [r7, #4] 80b43cc: f000 fb38 bl 80b4a40 80b43d0: 4603 mov r3, r0 80b43d2: 60fb str r3, [r7, #12] /* Clear all interrupt flags */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b43d4: 687b ldr r3, [r7, #4] 80b43d6: 6ddb ldr r3, [r3, #92] ; 0x5c 80b43d8: 223f movs r2, #63 ; 0x3f 80b43da: 409a lsls r2, r3 80b43dc: 68fb ldr r3, [r7, #12] 80b43de: 609a str r2, [r3, #8] /* Initialize the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; 80b43e0: 687b ldr r3, [r7, #4] 80b43e2: 2200 movs r2, #0 80b43e4: 655a str r2, [r3, #84] ; 0x54 /* Initialize the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b43e6: 687b ldr r3, [r7, #4] 80b43e8: 2201 movs r2, #1 80b43ea: f883 2035 strb.w r2, [r3, #53] ; 0x35 return HAL_OK; 80b43ee: 2300 movs r3, #0 } 80b43f0: 4618 mov r0, r3 80b43f2: 3718 adds r7, #24 80b43f4: 46bd mov sp, r7 80b43f6: bd80 pop {r7, pc} 80b43f8: e010803f .word 0xe010803f 080b43fc : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Stream. * @retval HAL status */ HAL_StatusTypeDef HAL_DMA_DeInit(DMA_HandleTypeDef *hdma) { 80b43fc: b580 push {r7, lr} 80b43fe: b084 sub sp, #16 80b4400: af00 add r7, sp, #0 80b4402: 6078 str r0, [r7, #4] DMA_Base_Registers *regs; /* Check the DMA peripheral state */ if(hdma == NULL) 80b4404: 687b ldr r3, [r7, #4] 80b4406: 2b00 cmp r3, #0 80b4408: d101 bne.n 80b440e { return HAL_ERROR; 80b440a: 2301 movs r3, #1 80b440c: e050 b.n 80b44b0 } /* Check the DMA peripheral state */ if(hdma->State == HAL_DMA_STATE_BUSY) 80b440e: 687b ldr r3, [r7, #4] 80b4410: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b4414: b2db uxtb r3, r3 80b4416: 2b02 cmp r3, #2 80b4418: d101 bne.n 80b441e { /* Return error status */ return HAL_BUSY; 80b441a: 2302 movs r3, #2 80b441c: e048 b.n 80b44b0 /* Check the parameters */ assert_param(IS_DMA_STREAM_ALL_INSTANCE(hdma->Instance)); /* Disable the selected DMA Streamx */ __HAL_DMA_DISABLE(hdma); 80b441e: 687b ldr r3, [r7, #4] 80b4420: 681b ldr r3, [r3, #0] 80b4422: 687a ldr r2, [r7, #4] 80b4424: 6812 ldr r2, [r2, #0] 80b4426: 6812 ldr r2, [r2, #0] 80b4428: f022 0201 bic.w r2, r2, #1 80b442c: 601a str r2, [r3, #0] /* Reset DMA Streamx control register */ hdma->Instance->CR = 0U; 80b442e: 687b ldr r3, [r7, #4] 80b4430: 681b ldr r3, [r3, #0] 80b4432: 2200 movs r2, #0 80b4434: 601a str r2, [r3, #0] /* Reset DMA Streamx number of data to transfer register */ hdma->Instance->NDTR = 0U; 80b4436: 687b ldr r3, [r7, #4] 80b4438: 681b ldr r3, [r3, #0] 80b443a: 2200 movs r2, #0 80b443c: 605a str r2, [r3, #4] /* Reset DMA Streamx peripheral address register */ hdma->Instance->PAR = 0U; 80b443e: 687b ldr r3, [r7, #4] 80b4440: 681b ldr r3, [r3, #0] 80b4442: 2200 movs r2, #0 80b4444: 609a str r2, [r3, #8] /* Reset DMA Streamx memory 0 address register */ hdma->Instance->M0AR = 0U; 80b4446: 687b ldr r3, [r7, #4] 80b4448: 681b ldr r3, [r3, #0] 80b444a: 2200 movs r2, #0 80b444c: 60da str r2, [r3, #12] /* Reset DMA Streamx memory 1 address register */ hdma->Instance->M1AR = 0U; 80b444e: 687b ldr r3, [r7, #4] 80b4450: 681b ldr r3, [r3, #0] 80b4452: 2200 movs r2, #0 80b4454: 611a str r2, [r3, #16] /* Reset DMA Streamx FIFO control register */ hdma->Instance->FCR = (uint32_t)0x00000021U; 80b4456: 687b ldr r3, [r7, #4] 80b4458: 681b ldr r3, [r3, #0] 80b445a: 2221 movs r2, #33 ; 0x21 80b445c: 615a str r2, [r3, #20] /* Get DMA steam Base Address */ regs = (DMA_Base_Registers *)DMA_CalcBaseAndBitshift(hdma); 80b445e: 6878 ldr r0, [r7, #4] 80b4460: f000 faee bl 80b4a40 80b4464: 4603 mov r3, r0 80b4466: 60fb str r3, [r7, #12] /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b4468: 687b ldr r3, [r7, #4] 80b446a: 6ddb ldr r3, [r3, #92] ; 0x5c 80b446c: 223f movs r2, #63 ; 0x3f 80b446e: 409a lsls r2, r3 80b4470: 68fb ldr r3, [r7, #12] 80b4472: 609a str r2, [r3, #8] /* Clean all callbacks */ hdma->XferCpltCallback = NULL; 80b4474: 687b ldr r3, [r7, #4] 80b4476: 2200 movs r2, #0 80b4478: 63da str r2, [r3, #60] ; 0x3c hdma->XferHalfCpltCallback = NULL; 80b447a: 687b ldr r3, [r7, #4] 80b447c: 2200 movs r2, #0 80b447e: 641a str r2, [r3, #64] ; 0x40 hdma->XferM1CpltCallback = NULL; 80b4480: 687b ldr r3, [r7, #4] 80b4482: 2200 movs r2, #0 80b4484: 645a str r2, [r3, #68] ; 0x44 hdma->XferM1HalfCpltCallback = NULL; 80b4486: 687b ldr r3, [r7, #4] 80b4488: 2200 movs r2, #0 80b448a: 649a str r2, [r3, #72] ; 0x48 hdma->XferErrorCallback = NULL; 80b448c: 687b ldr r3, [r7, #4] 80b448e: 2200 movs r2, #0 80b4490: 64da str r2, [r3, #76] ; 0x4c hdma->XferAbortCallback = NULL; 80b4492: 687b ldr r3, [r7, #4] 80b4494: 2200 movs r2, #0 80b4496: 651a str r2, [r3, #80] ; 0x50 /* Reset the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; 80b4498: 687b ldr r3, [r7, #4] 80b449a: 2200 movs r2, #0 80b449c: 655a str r2, [r3, #84] ; 0x54 /* Reset the DMA state */ hdma->State = HAL_DMA_STATE_RESET; 80b449e: 687b ldr r3, [r7, #4] 80b44a0: 2200 movs r2, #0 80b44a2: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Release Lock */ __HAL_UNLOCK(hdma); 80b44a6: 687b ldr r3, [r7, #4] 80b44a8: 2200 movs r2, #0 80b44aa: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_OK; 80b44ae: 2300 movs r3, #0 } 80b44b0: 4618 mov r0, r3 80b44b2: 3710 adds r7, #16 80b44b4: 46bd mov sp, r7 80b44b6: bd80 pop {r7, pc} 080b44b8 : * @param DstAddress The destination memory Buffer address * @param DataLength The length of data to be transferred from source to destination * @retval HAL status */ HAL_StatusTypeDef HAL_DMA_Start_IT(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength) { 80b44b8: b580 push {r7, lr} 80b44ba: b086 sub sp, #24 80b44bc: af00 add r7, sp, #0 80b44be: 60f8 str r0, [r7, #12] 80b44c0: 60b9 str r1, [r7, #8] 80b44c2: 607a str r2, [r7, #4] 80b44c4: 603b str r3, [r7, #0] HAL_StatusTypeDef status = HAL_OK; 80b44c6: 2300 movs r3, #0 80b44c8: 75fb strb r3, [r7, #23] /* calculate DMA base and stream number */ DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 80b44ca: 68fb ldr r3, [r7, #12] 80b44cc: 6d9b ldr r3, [r3, #88] ; 0x58 80b44ce: 613b str r3, [r7, #16] /* Check the parameters */ assert_param(IS_DMA_BUFFER_SIZE(DataLength)); /* Process locked */ __HAL_LOCK(hdma); 80b44d0: 68fb ldr r3, [r7, #12] 80b44d2: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80b44d6: 2b01 cmp r3, #1 80b44d8: d101 bne.n 80b44de 80b44da: 2302 movs r3, #2 80b44dc: e048 b.n 80b4570 80b44de: 68fb ldr r3, [r7, #12] 80b44e0: 2201 movs r2, #1 80b44e2: f883 2034 strb.w r2, [r3, #52] ; 0x34 if(HAL_DMA_STATE_READY == hdma->State) 80b44e6: 68fb ldr r3, [r7, #12] 80b44e8: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b44ec: b2db uxtb r3, r3 80b44ee: 2b01 cmp r3, #1 80b44f0: d137 bne.n 80b4562 { /* Change DMA peripheral state */ hdma->State = HAL_DMA_STATE_BUSY; 80b44f2: 68fb ldr r3, [r7, #12] 80b44f4: 2202 movs r2, #2 80b44f6: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Initialize the error code */ hdma->ErrorCode = HAL_DMA_ERROR_NONE; 80b44fa: 68fb ldr r3, [r7, #12] 80b44fc: 2200 movs r2, #0 80b44fe: 655a str r2, [r3, #84] ; 0x54 /* Configure the source, destination address and the data length */ DMA_SetConfig(hdma, SrcAddress, DstAddress, DataLength); 80b4500: 683b ldr r3, [r7, #0] 80b4502: 687a ldr r2, [r7, #4] 80b4504: 68b9 ldr r1, [r7, #8] 80b4506: 68f8 ldr r0, [r7, #12] 80b4508: f000 fa6c bl 80b49e4 /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b450c: 68fb ldr r3, [r7, #12] 80b450e: 6ddb ldr r3, [r3, #92] ; 0x5c 80b4510: 223f movs r2, #63 ; 0x3f 80b4512: 409a lsls r2, r3 80b4514: 693b ldr r3, [r7, #16] 80b4516: 609a str r2, [r3, #8] /* Enable Common interrupts*/ hdma->Instance->CR |= DMA_IT_TC | DMA_IT_TE | DMA_IT_DME; 80b4518: 68fb ldr r3, [r7, #12] 80b451a: 681b ldr r3, [r3, #0] 80b451c: 68fa ldr r2, [r7, #12] 80b451e: 6812 ldr r2, [r2, #0] 80b4520: 6812 ldr r2, [r2, #0] 80b4522: f042 0216 orr.w r2, r2, #22 80b4526: 601a str r2, [r3, #0] hdma->Instance->FCR |= DMA_IT_FE; 80b4528: 68fb ldr r3, [r7, #12] 80b452a: 681b ldr r3, [r3, #0] 80b452c: 68fa ldr r2, [r7, #12] 80b452e: 6812 ldr r2, [r2, #0] 80b4530: 6952 ldr r2, [r2, #20] 80b4532: f042 0280 orr.w r2, r2, #128 ; 0x80 80b4536: 615a str r2, [r3, #20] if(hdma->XferHalfCpltCallback != NULL) 80b4538: 68fb ldr r3, [r7, #12] 80b453a: 6c1b ldr r3, [r3, #64] ; 0x40 80b453c: 2b00 cmp r3, #0 80b453e: d007 beq.n 80b4550 { hdma->Instance->CR |= DMA_IT_HT; 80b4540: 68fb ldr r3, [r7, #12] 80b4542: 681b ldr r3, [r3, #0] 80b4544: 68fa ldr r2, [r7, #12] 80b4546: 6812 ldr r2, [r2, #0] 80b4548: 6812 ldr r2, [r2, #0] 80b454a: f042 0208 orr.w r2, r2, #8 80b454e: 601a str r2, [r3, #0] } /* Enable the Peripheral */ __HAL_DMA_ENABLE(hdma); 80b4550: 68fb ldr r3, [r7, #12] 80b4552: 681b ldr r3, [r3, #0] 80b4554: 68fa ldr r2, [r7, #12] 80b4556: 6812 ldr r2, [r2, #0] 80b4558: 6812 ldr r2, [r2, #0] 80b455a: f042 0201 orr.w r2, r2, #1 80b455e: 601a str r2, [r3, #0] 80b4560: e005 b.n 80b456e } else { /* Process unlocked */ __HAL_UNLOCK(hdma); 80b4562: 68fb ldr r3, [r7, #12] 80b4564: 2200 movs r2, #0 80b4566: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Return error status */ status = HAL_BUSY; 80b456a: 2302 movs r3, #2 80b456c: 75fb strb r3, [r7, #23] } return status; 80b456e: 7dfb ldrb r3, [r7, #23] } 80b4570: 4618 mov r0, r3 80b4572: 3718 adds r7, #24 80b4574: 46bd mov sp, r7 80b4576: bd80 pop {r7, pc} 080b4578 : * and the Stream will be effectively disabled only after the transfer of * this single data is finished. * @retval HAL status */ HAL_StatusTypeDef HAL_DMA_Abort(DMA_HandleTypeDef *hdma) { 80b4578: b580 push {r7, lr} 80b457a: b084 sub sp, #16 80b457c: af00 add r7, sp, #0 80b457e: 6078 str r0, [r7, #4] /* calculate DMA base and stream number */ DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 80b4580: 687b ldr r3, [r7, #4] 80b4582: 6d9b ldr r3, [r3, #88] ; 0x58 80b4584: 60fb str r3, [r7, #12] uint32_t tickstart = HAL_GetTick(); 80b4586: f7fe fe73 bl 80b3270 80b458a: 60b8 str r0, [r7, #8] if(hdma->State != HAL_DMA_STATE_BUSY) 80b458c: 687b ldr r3, [r7, #4] 80b458e: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b4592: b2db uxtb r3, r3 80b4594: 2b02 cmp r3, #2 80b4596: d008 beq.n 80b45aa { hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 80b4598: 687b ldr r3, [r7, #4] 80b459a: 2280 movs r2, #128 ; 0x80 80b459c: 655a str r2, [r3, #84] ; 0x54 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b459e: 687b ldr r3, [r7, #4] 80b45a0: 2200 movs r2, #0 80b45a2: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80b45a6: 2301 movs r3, #1 80b45a8: e052 b.n 80b4650 } else { /* Disable all the transfer interrupts */ hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); 80b45aa: 687b ldr r3, [r7, #4] 80b45ac: 681b ldr r3, [r3, #0] 80b45ae: 687a ldr r2, [r7, #4] 80b45b0: 6812 ldr r2, [r2, #0] 80b45b2: 6812 ldr r2, [r2, #0] 80b45b4: f022 0216 bic.w r2, r2, #22 80b45b8: 601a str r2, [r3, #0] hdma->Instance->FCR &= ~(DMA_IT_FE); 80b45ba: 687b ldr r3, [r7, #4] 80b45bc: 681b ldr r3, [r3, #0] 80b45be: 687a ldr r2, [r7, #4] 80b45c0: 6812 ldr r2, [r2, #0] 80b45c2: 6952 ldr r2, [r2, #20] 80b45c4: f022 0280 bic.w r2, r2, #128 ; 0x80 80b45c8: 615a str r2, [r3, #20] if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) 80b45ca: 687b ldr r3, [r7, #4] 80b45cc: 6c1b ldr r3, [r3, #64] ; 0x40 80b45ce: 2b00 cmp r3, #0 80b45d0: d103 bne.n 80b45da 80b45d2: 687b ldr r3, [r7, #4] 80b45d4: 6c9b ldr r3, [r3, #72] ; 0x48 80b45d6: 2b00 cmp r3, #0 80b45d8: d007 beq.n 80b45ea { hdma->Instance->CR &= ~(DMA_IT_HT); 80b45da: 687b ldr r3, [r7, #4] 80b45dc: 681b ldr r3, [r3, #0] 80b45de: 687a ldr r2, [r7, #4] 80b45e0: 6812 ldr r2, [r2, #0] 80b45e2: 6812 ldr r2, [r2, #0] 80b45e4: f022 0208 bic.w r2, r2, #8 80b45e8: 601a str r2, [r3, #0] } /* Disable the stream */ __HAL_DMA_DISABLE(hdma); 80b45ea: 687b ldr r3, [r7, #4] 80b45ec: 681b ldr r3, [r3, #0] 80b45ee: 687a ldr r2, [r7, #4] 80b45f0: 6812 ldr r2, [r2, #0] 80b45f2: 6812 ldr r2, [r2, #0] 80b45f4: f022 0201 bic.w r2, r2, #1 80b45f8: 601a str r2, [r3, #0] /* Check if the DMA Stream is effectively disabled */ while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b45fa: e013 b.n 80b4624 { /* Check for the Timeout */ if((HAL_GetTick() - tickstart ) > HAL_TIMEOUT_DMA_ABORT) 80b45fc: f7fe fe38 bl 80b3270 80b4600: 4602 mov r2, r0 80b4602: 68bb ldr r3, [r7, #8] 80b4604: 1ad3 subs r3, r2, r3 80b4606: 2b05 cmp r3, #5 80b4608: d90c bls.n 80b4624 { /* Update error code */ hdma->ErrorCode = HAL_DMA_ERROR_TIMEOUT; 80b460a: 687b ldr r3, [r7, #4] 80b460c: 2220 movs r2, #32 80b460e: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA state */ hdma->State = HAL_DMA_STATE_TIMEOUT; 80b4610: 687b ldr r3, [r7, #4] 80b4612: 2203 movs r2, #3 80b4614: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b4618: 687b ldr r3, [r7, #4] 80b461a: 2200 movs r2, #0 80b461c: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_TIMEOUT; 80b4620: 2303 movs r3, #3 80b4622: e015 b.n 80b4650 while((hdma->Instance->CR & DMA_SxCR_EN) != RESET) 80b4624: 687b ldr r3, [r7, #4] 80b4626: 681b ldr r3, [r3, #0] 80b4628: 681b ldr r3, [r3, #0] 80b462a: f003 0301 and.w r3, r3, #1 80b462e: 2b00 cmp r3, #0 80b4630: d1e4 bne.n 80b45fc } } /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b4632: 687b ldr r3, [r7, #4] 80b4634: 6ddb ldr r3, [r3, #92] ; 0x5c 80b4636: 223f movs r2, #63 ; 0x3f 80b4638: 409a lsls r2, r3 80b463a: 68fb ldr r3, [r7, #12] 80b463c: 609a str r2, [r3, #8] /* Change the DMA state*/ hdma->State = HAL_DMA_STATE_READY; 80b463e: 687b ldr r3, [r7, #4] 80b4640: 2201 movs r2, #1 80b4642: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b4646: 687b ldr r3, [r7, #4] 80b4648: 2200 movs r2, #0 80b464a: f883 2034 strb.w r2, [r3, #52] ; 0x34 } return HAL_OK; 80b464e: 2300 movs r3, #0 } 80b4650: 4618 mov r0, r3 80b4652: 3710 adds r7, #16 80b4654: 46bd mov sp, r7 80b4656: bd80 pop {r7, pc} 080b4658 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Stream. * @retval HAL status */ HAL_StatusTypeDef HAL_DMA_Abort_IT(DMA_HandleTypeDef *hdma) { 80b4658: b480 push {r7} 80b465a: b083 sub sp, #12 80b465c: af00 add r7, sp, #0 80b465e: 6078 str r0, [r7, #4] if(hdma->State != HAL_DMA_STATE_BUSY) 80b4660: 687b ldr r3, [r7, #4] 80b4662: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b4666: b2db uxtb r3, r3 80b4668: 2b02 cmp r3, #2 80b466a: d004 beq.n 80b4676 { hdma->ErrorCode = HAL_DMA_ERROR_NO_XFER; 80b466c: 687b ldr r3, [r7, #4] 80b466e: 2280 movs r2, #128 ; 0x80 80b4670: 655a str r2, [r3, #84] ; 0x54 return HAL_ERROR; 80b4672: 2301 movs r3, #1 80b4674: e00c b.n 80b4690 } else { /* Set Abort State */ hdma->State = HAL_DMA_STATE_ABORT; 80b4676: 687b ldr r3, [r7, #4] 80b4678: 2205 movs r2, #5 80b467a: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Disable the stream */ __HAL_DMA_DISABLE(hdma); 80b467e: 687b ldr r3, [r7, #4] 80b4680: 681b ldr r3, [r3, #0] 80b4682: 687a ldr r2, [r7, #4] 80b4684: 6812 ldr r2, [r2, #0] 80b4686: 6812 ldr r2, [r2, #0] 80b4688: f022 0201 bic.w r2, r2, #1 80b468c: 601a str r2, [r3, #0] } return HAL_OK; 80b468e: 2300 movs r3, #0 } 80b4690: 4618 mov r0, r3 80b4692: 370c adds r7, #12 80b4694: 46bd mov sp, r7 80b4696: f85d 7b04 ldr.w r7, [sp], #4 80b469a: 4770 bx lr 080b469c : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Stream. * @retval None */ void HAL_DMA_IRQHandler(DMA_HandleTypeDef *hdma) { 80b469c: b580 push {r7, lr} 80b469e: b086 sub sp, #24 80b46a0: af00 add r7, sp, #0 80b46a2: 6078 str r0, [r7, #4] uint32_t tmpisr; __IO uint32_t count = 0; 80b46a4: 2300 movs r3, #0 80b46a6: 60bb str r3, [r7, #8] uint32_t timeout = SystemCoreClock / 9600; 80b46a8: 4b92 ldr r3, [pc, #584] ; (80b48f4 ) 80b46aa: 681b ldr r3, [r3, #0] 80b46ac: 4a92 ldr r2, [pc, #584] ; (80b48f8 ) 80b46ae: fba2 2303 umull r2, r3, r2, r3 80b46b2: 0a9b lsrs r3, r3, #10 80b46b4: 617b str r3, [r7, #20] /* calculate DMA base and stream number */ DMA_Base_Registers *regs = (DMA_Base_Registers *)hdma->StreamBaseAddress; 80b46b6: 687b ldr r3, [r7, #4] 80b46b8: 6d9b ldr r3, [r3, #88] ; 0x58 80b46ba: 613b str r3, [r7, #16] tmpisr = regs->ISR; 80b46bc: 693b ldr r3, [r7, #16] 80b46be: 681b ldr r3, [r3, #0] 80b46c0: 60fb str r3, [r7, #12] /* Transfer Error Interrupt management ***************************************/ if ((tmpisr & (DMA_FLAG_TEIF0_4 << hdma->StreamIndex)) != RESET) 80b46c2: 687b ldr r3, [r7, #4] 80b46c4: 6ddb ldr r3, [r3, #92] ; 0x5c 80b46c6: 2208 movs r2, #8 80b46c8: 409a lsls r2, r3 80b46ca: 68fb ldr r3, [r7, #12] 80b46cc: 4013 ands r3, r2 80b46ce: 2b00 cmp r3, #0 80b46d0: d01a beq.n 80b4708 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TE) != RESET) 80b46d2: 687b ldr r3, [r7, #4] 80b46d4: 681b ldr r3, [r3, #0] 80b46d6: 681b ldr r3, [r3, #0] 80b46d8: f003 0304 and.w r3, r3, #4 80b46dc: 2b00 cmp r3, #0 80b46de: d013 beq.n 80b4708 { /* Disable the transfer error interrupt */ hdma->Instance->CR &= ~(DMA_IT_TE); 80b46e0: 687b ldr r3, [r7, #4] 80b46e2: 681b ldr r3, [r3, #0] 80b46e4: 687a ldr r2, [r7, #4] 80b46e6: 6812 ldr r2, [r2, #0] 80b46e8: 6812 ldr r2, [r2, #0] 80b46ea: f022 0204 bic.w r2, r2, #4 80b46ee: 601a str r2, [r3, #0] /* Clear the transfer error flag */ regs->IFCR = DMA_FLAG_TEIF0_4 << hdma->StreamIndex; 80b46f0: 687b ldr r3, [r7, #4] 80b46f2: 6ddb ldr r3, [r3, #92] ; 0x5c 80b46f4: 2208 movs r2, #8 80b46f6: 409a lsls r2, r3 80b46f8: 693b ldr r3, [r7, #16] 80b46fa: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_TE; 80b46fc: 687b ldr r3, [r7, #4] 80b46fe: 6d5b ldr r3, [r3, #84] ; 0x54 80b4700: f043 0201 orr.w r2, r3, #1 80b4704: 687b ldr r3, [r7, #4] 80b4706: 655a str r2, [r3, #84] ; 0x54 } } /* FIFO Error Interrupt management ******************************************/ if ((tmpisr & (DMA_FLAG_FEIF0_4 << hdma->StreamIndex)) != RESET) 80b4708: 687b ldr r3, [r7, #4] 80b470a: 6ddb ldr r3, [r3, #92] ; 0x5c 80b470c: 2201 movs r2, #1 80b470e: 409a lsls r2, r3 80b4710: 68fb ldr r3, [r7, #12] 80b4712: 4013 ands r3, r2 80b4714: 2b00 cmp r3, #0 80b4716: d012 beq.n 80b473e { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_FE) != RESET) 80b4718: 687b ldr r3, [r7, #4] 80b471a: 681b ldr r3, [r3, #0] 80b471c: 695b ldr r3, [r3, #20] 80b471e: f003 0380 and.w r3, r3, #128 ; 0x80 80b4722: 2b00 cmp r3, #0 80b4724: d00b beq.n 80b473e { /* Clear the FIFO error flag */ regs->IFCR = DMA_FLAG_FEIF0_4 << hdma->StreamIndex; 80b4726: 687b ldr r3, [r7, #4] 80b4728: 6ddb ldr r3, [r3, #92] ; 0x5c 80b472a: 2201 movs r2, #1 80b472c: 409a lsls r2, r3 80b472e: 693b ldr r3, [r7, #16] 80b4730: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_FE; 80b4732: 687b ldr r3, [r7, #4] 80b4734: 6d5b ldr r3, [r3, #84] ; 0x54 80b4736: f043 0202 orr.w r2, r3, #2 80b473a: 687b ldr r3, [r7, #4] 80b473c: 655a str r2, [r3, #84] ; 0x54 } } /* Direct Mode Error Interrupt management ***********************************/ if ((tmpisr & (DMA_FLAG_DMEIF0_4 << hdma->StreamIndex)) != RESET) 80b473e: 687b ldr r3, [r7, #4] 80b4740: 6ddb ldr r3, [r3, #92] ; 0x5c 80b4742: 2204 movs r2, #4 80b4744: 409a lsls r2, r3 80b4746: 68fb ldr r3, [r7, #12] 80b4748: 4013 ands r3, r2 80b474a: 2b00 cmp r3, #0 80b474c: d012 beq.n 80b4774 { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_DME) != RESET) 80b474e: 687b ldr r3, [r7, #4] 80b4750: 681b ldr r3, [r3, #0] 80b4752: 681b ldr r3, [r3, #0] 80b4754: f003 0302 and.w r3, r3, #2 80b4758: 2b00 cmp r3, #0 80b475a: d00b beq.n 80b4774 { /* Clear the direct mode error flag */ regs->IFCR = DMA_FLAG_DMEIF0_4 << hdma->StreamIndex; 80b475c: 687b ldr r3, [r7, #4] 80b475e: 6ddb ldr r3, [r3, #92] ; 0x5c 80b4760: 2204 movs r2, #4 80b4762: 409a lsls r2, r3 80b4764: 693b ldr r3, [r7, #16] 80b4766: 609a str r2, [r3, #8] /* Update error code */ hdma->ErrorCode |= HAL_DMA_ERROR_DME; 80b4768: 687b ldr r3, [r7, #4] 80b476a: 6d5b ldr r3, [r3, #84] ; 0x54 80b476c: f043 0204 orr.w r2, r3, #4 80b4770: 687b ldr r3, [r7, #4] 80b4772: 655a str r2, [r3, #84] ; 0x54 } } /* Half Transfer Complete Interrupt management ******************************/ if ((tmpisr & (DMA_FLAG_HTIF0_4 << hdma->StreamIndex)) != RESET) 80b4774: 687b ldr r3, [r7, #4] 80b4776: 6ddb ldr r3, [r3, #92] ; 0x5c 80b4778: 2210 movs r2, #16 80b477a: 409a lsls r2, r3 80b477c: 68fb ldr r3, [r7, #12] 80b477e: 4013 ands r3, r2 80b4780: 2b00 cmp r3, #0 80b4782: d043 beq.n 80b480c { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_HT) != RESET) 80b4784: 687b ldr r3, [r7, #4] 80b4786: 681b ldr r3, [r3, #0] 80b4788: 681b ldr r3, [r3, #0] 80b478a: f003 0308 and.w r3, r3, #8 80b478e: 2b00 cmp r3, #0 80b4790: d03c beq.n 80b480c { /* Clear the half transfer complete flag */ regs->IFCR = DMA_FLAG_HTIF0_4 << hdma->StreamIndex; 80b4792: 687b ldr r3, [r7, #4] 80b4794: 6ddb ldr r3, [r3, #92] ; 0x5c 80b4796: 2210 movs r2, #16 80b4798: 409a lsls r2, r3 80b479a: 693b ldr r3, [r7, #16] 80b479c: 609a str r2, [r3, #8] /* Multi_Buffering mode enabled */ if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) 80b479e: 687b ldr r3, [r7, #4] 80b47a0: 681b ldr r3, [r3, #0] 80b47a2: 681b ldr r3, [r3, #0] 80b47a4: f403 2380 and.w r3, r3, #262144 ; 0x40000 80b47a8: 2b00 cmp r3, #0 80b47aa: d018 beq.n 80b47de { /* Current memory buffer used is Memory 0 */ if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) 80b47ac: 687b ldr r3, [r7, #4] 80b47ae: 681b ldr r3, [r3, #0] 80b47b0: 681b ldr r3, [r3, #0] 80b47b2: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b47b6: 2b00 cmp r3, #0 80b47b8: d108 bne.n 80b47cc { if(hdma->XferHalfCpltCallback != NULL) 80b47ba: 687b ldr r3, [r7, #4] 80b47bc: 6c1b ldr r3, [r3, #64] ; 0x40 80b47be: 2b00 cmp r3, #0 80b47c0: d024 beq.n 80b480c { /* Half transfer callback */ hdma->XferHalfCpltCallback(hdma); 80b47c2: 687b ldr r3, [r7, #4] 80b47c4: 6c1b ldr r3, [r3, #64] ; 0x40 80b47c6: 6878 ldr r0, [r7, #4] 80b47c8: 4798 blx r3 80b47ca: e01f b.n 80b480c } } /* Current memory buffer used is Memory 1 */ else { if(hdma->XferM1HalfCpltCallback != NULL) 80b47cc: 687b ldr r3, [r7, #4] 80b47ce: 6c9b ldr r3, [r3, #72] ; 0x48 80b47d0: 2b00 cmp r3, #0 80b47d2: d01b beq.n 80b480c { /* Half transfer callback */ hdma->XferM1HalfCpltCallback(hdma); 80b47d4: 687b ldr r3, [r7, #4] 80b47d6: 6c9b ldr r3, [r3, #72] ; 0x48 80b47d8: 6878 ldr r0, [r7, #4] 80b47da: 4798 blx r3 80b47dc: e016 b.n 80b480c } } else { /* Disable the half transfer interrupt if the DMA mode is not CIRCULAR */ if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) 80b47de: 687b ldr r3, [r7, #4] 80b47e0: 681b ldr r3, [r3, #0] 80b47e2: 681b ldr r3, [r3, #0] 80b47e4: f403 7380 and.w r3, r3, #256 ; 0x100 80b47e8: 2b00 cmp r3, #0 80b47ea: d107 bne.n 80b47fc { /* Disable the half transfer interrupt */ hdma->Instance->CR &= ~(DMA_IT_HT); 80b47ec: 687b ldr r3, [r7, #4] 80b47ee: 681b ldr r3, [r3, #0] 80b47f0: 687a ldr r2, [r7, #4] 80b47f2: 6812 ldr r2, [r2, #0] 80b47f4: 6812 ldr r2, [r2, #0] 80b47f6: f022 0208 bic.w r2, r2, #8 80b47fa: 601a str r2, [r3, #0] } if(hdma->XferHalfCpltCallback != NULL) 80b47fc: 687b ldr r3, [r7, #4] 80b47fe: 6c1b ldr r3, [r3, #64] ; 0x40 80b4800: 2b00 cmp r3, #0 80b4802: d003 beq.n 80b480c { /* Half transfer callback */ hdma->XferHalfCpltCallback(hdma); 80b4804: 687b ldr r3, [r7, #4] 80b4806: 6c1b ldr r3, [r3, #64] ; 0x40 80b4808: 6878 ldr r0, [r7, #4] 80b480a: 4798 blx r3 } } } } /* Transfer Complete Interrupt management ***********************************/ if ((tmpisr & (DMA_FLAG_TCIF0_4 << hdma->StreamIndex)) != RESET) 80b480c: 687b ldr r3, [r7, #4] 80b480e: 6ddb ldr r3, [r3, #92] ; 0x5c 80b4810: 2220 movs r2, #32 80b4812: 409a lsls r2, r3 80b4814: 68fb ldr r3, [r7, #12] 80b4816: 4013 ands r3, r2 80b4818: 2b00 cmp r3, #0 80b481a: f000 808e beq.w 80b493a { if(__HAL_DMA_GET_IT_SOURCE(hdma, DMA_IT_TC) != RESET) 80b481e: 687b ldr r3, [r7, #4] 80b4820: 681b ldr r3, [r3, #0] 80b4822: 681b ldr r3, [r3, #0] 80b4824: f003 0310 and.w r3, r3, #16 80b4828: 2b00 cmp r3, #0 80b482a: f000 8086 beq.w 80b493a { /* Clear the transfer complete flag */ regs->IFCR = DMA_FLAG_TCIF0_4 << hdma->StreamIndex; 80b482e: 687b ldr r3, [r7, #4] 80b4830: 6ddb ldr r3, [r3, #92] ; 0x5c 80b4832: 2220 movs r2, #32 80b4834: 409a lsls r2, r3 80b4836: 693b ldr r3, [r7, #16] 80b4838: 609a str r2, [r3, #8] if(HAL_DMA_STATE_ABORT == hdma->State) 80b483a: 687b ldr r3, [r7, #4] 80b483c: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b4840: b2db uxtb r3, r3 80b4842: 2b05 cmp r3, #5 80b4844: d136 bne.n 80b48b4 { /* Disable all the transfer interrupts */ hdma->Instance->CR &= ~(DMA_IT_TC | DMA_IT_TE | DMA_IT_DME); 80b4846: 687b ldr r3, [r7, #4] 80b4848: 681b ldr r3, [r3, #0] 80b484a: 687a ldr r2, [r7, #4] 80b484c: 6812 ldr r2, [r2, #0] 80b484e: 6812 ldr r2, [r2, #0] 80b4850: f022 0216 bic.w r2, r2, #22 80b4854: 601a str r2, [r3, #0] hdma->Instance->FCR &= ~(DMA_IT_FE); 80b4856: 687b ldr r3, [r7, #4] 80b4858: 681b ldr r3, [r3, #0] 80b485a: 687a ldr r2, [r7, #4] 80b485c: 6812 ldr r2, [r2, #0] 80b485e: 6952 ldr r2, [r2, #20] 80b4860: f022 0280 bic.w r2, r2, #128 ; 0x80 80b4864: 615a str r2, [r3, #20] if((hdma->XferHalfCpltCallback != NULL) || (hdma->XferM1HalfCpltCallback != NULL)) 80b4866: 687b ldr r3, [r7, #4] 80b4868: 6c1b ldr r3, [r3, #64] ; 0x40 80b486a: 2b00 cmp r3, #0 80b486c: d103 bne.n 80b4876 80b486e: 687b ldr r3, [r7, #4] 80b4870: 6c9b ldr r3, [r3, #72] ; 0x48 80b4872: 2b00 cmp r3, #0 80b4874: d007 beq.n 80b4886 { hdma->Instance->CR &= ~(DMA_IT_HT); 80b4876: 687b ldr r3, [r7, #4] 80b4878: 681b ldr r3, [r3, #0] 80b487a: 687a ldr r2, [r7, #4] 80b487c: 6812 ldr r2, [r2, #0] 80b487e: 6812 ldr r2, [r2, #0] 80b4880: f022 0208 bic.w r2, r2, #8 80b4884: 601a str r2, [r3, #0] } /* Clear all interrupt flags at correct offset within the register */ regs->IFCR = 0x3FU << hdma->StreamIndex; 80b4886: 687b ldr r3, [r7, #4] 80b4888: 6ddb ldr r3, [r3, #92] ; 0x5c 80b488a: 223f movs r2, #63 ; 0x3f 80b488c: 409a lsls r2, r3 80b488e: 693b ldr r3, [r7, #16] 80b4890: 609a str r2, [r3, #8] /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b4892: 687b ldr r3, [r7, #4] 80b4894: 2201 movs r2, #1 80b4896: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b489a: 687b ldr r3, [r7, #4] 80b489c: 2200 movs r2, #0 80b489e: f883 2034 strb.w r2, [r3, #52] ; 0x34 if(hdma->XferAbortCallback != NULL) 80b48a2: 687b ldr r3, [r7, #4] 80b48a4: 6d1b ldr r3, [r3, #80] ; 0x50 80b48a6: 2b00 cmp r3, #0 80b48a8: d07d beq.n 80b49a6 { hdma->XferAbortCallback(hdma); 80b48aa: 687b ldr r3, [r7, #4] 80b48ac: 6d1b ldr r3, [r3, #80] ; 0x50 80b48ae: 6878 ldr r0, [r7, #4] 80b48b0: 4798 blx r3 } return; 80b48b2: e078 b.n 80b49a6 } if(((hdma->Instance->CR) & (uint32_t)(DMA_SxCR_DBM)) != RESET) 80b48b4: 687b ldr r3, [r7, #4] 80b48b6: 681b ldr r3, [r3, #0] 80b48b8: 681b ldr r3, [r3, #0] 80b48ba: f403 2380 and.w r3, r3, #262144 ; 0x40000 80b48be: 2b00 cmp r3, #0 80b48c0: d01c beq.n 80b48fc { /* Current memory buffer used is Memory 0 */ if((hdma->Instance->CR & DMA_SxCR_CT) == RESET) 80b48c2: 687b ldr r3, [r7, #4] 80b48c4: 681b ldr r3, [r3, #0] 80b48c6: 681b ldr r3, [r3, #0] 80b48c8: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b48cc: 2b00 cmp r3, #0 80b48ce: d108 bne.n 80b48e2 { if(hdma->XferM1CpltCallback != NULL) 80b48d0: 687b ldr r3, [r7, #4] 80b48d2: 6c5b ldr r3, [r3, #68] ; 0x44 80b48d4: 2b00 cmp r3, #0 80b48d6: d030 beq.n 80b493a { /* Transfer complete Callback for memory1 */ hdma->XferM1CpltCallback(hdma); 80b48d8: 687b ldr r3, [r7, #4] 80b48da: 6c5b ldr r3, [r3, #68] ; 0x44 80b48dc: 6878 ldr r0, [r7, #4] 80b48de: 4798 blx r3 80b48e0: e02b b.n 80b493a } } /* Current memory buffer used is Memory 1 */ else { if(hdma->XferCpltCallback != NULL) 80b48e2: 687b ldr r3, [r7, #4] 80b48e4: 6bdb ldr r3, [r3, #60] ; 0x3c 80b48e6: 2b00 cmp r3, #0 80b48e8: d027 beq.n 80b493a { /* Transfer complete Callback for memory0 */ hdma->XferCpltCallback(hdma); 80b48ea: 687b ldr r3, [r7, #4] 80b48ec: 6bdb ldr r3, [r3, #60] ; 0x3c 80b48ee: 6878 ldr r0, [r7, #4] 80b48f0: 4798 blx r3 80b48f2: e022 b.n 80b493a 80b48f4: 200209b4 .word 0x200209b4 80b48f8: 1b4e81b5 .word 0x1b4e81b5 } } /* Disable the transfer complete interrupt if the DMA mode is not CIRCULAR */ else { if((hdma->Instance->CR & DMA_SxCR_CIRC) == RESET) 80b48fc: 687b ldr r3, [r7, #4] 80b48fe: 681b ldr r3, [r3, #0] 80b4900: 681b ldr r3, [r3, #0] 80b4902: f403 7380 and.w r3, r3, #256 ; 0x100 80b4906: 2b00 cmp r3, #0 80b4908: d10f bne.n 80b492a { /* Disable the transfer complete interrupt */ hdma->Instance->CR &= ~(DMA_IT_TC); 80b490a: 687b ldr r3, [r7, #4] 80b490c: 681b ldr r3, [r3, #0] 80b490e: 687a ldr r2, [r7, #4] 80b4910: 6812 ldr r2, [r2, #0] 80b4912: 6812 ldr r2, [r2, #0] 80b4914: f022 0210 bic.w r2, r2, #16 80b4918: 601a str r2, [r3, #0] /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b491a: 687b ldr r3, [r7, #4] 80b491c: 2201 movs r2, #1 80b491e: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b4922: 687b ldr r3, [r7, #4] 80b4924: 2200 movs r2, #0 80b4926: f883 2034 strb.w r2, [r3, #52] ; 0x34 } if(hdma->XferCpltCallback != NULL) 80b492a: 687b ldr r3, [r7, #4] 80b492c: 6bdb ldr r3, [r3, #60] ; 0x3c 80b492e: 2b00 cmp r3, #0 80b4930: d003 beq.n 80b493a { /* Transfer complete callback */ hdma->XferCpltCallback(hdma); 80b4932: 687b ldr r3, [r7, #4] 80b4934: 6bdb ldr r3, [r3, #60] ; 0x3c 80b4936: 6878 ldr r0, [r7, #4] 80b4938: 4798 blx r3 } } } /* manage error case */ if(hdma->ErrorCode != HAL_DMA_ERROR_NONE) 80b493a: 687b ldr r3, [r7, #4] 80b493c: 6d5b ldr r3, [r3, #84] ; 0x54 80b493e: 2b00 cmp r3, #0 80b4940: d032 beq.n 80b49a8 { if((hdma->ErrorCode & HAL_DMA_ERROR_TE) != RESET) 80b4942: 687b ldr r3, [r7, #4] 80b4944: 6d5b ldr r3, [r3, #84] ; 0x54 80b4946: f003 0301 and.w r3, r3, #1 80b494a: 2b00 cmp r3, #0 80b494c: d022 beq.n 80b4994 { hdma->State = HAL_DMA_STATE_ABORT; 80b494e: 687b ldr r3, [r7, #4] 80b4950: 2205 movs r2, #5 80b4952: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Disable the stream */ __HAL_DMA_DISABLE(hdma); 80b4956: 687b ldr r3, [r7, #4] 80b4958: 681b ldr r3, [r3, #0] 80b495a: 687a ldr r2, [r7, #4] 80b495c: 6812 ldr r2, [r2, #0] 80b495e: 6812 ldr r2, [r2, #0] 80b4960: f022 0201 bic.w r2, r2, #1 80b4964: 601a str r2, [r3, #0] do { if (++count > timeout) 80b4966: 68bb ldr r3, [r7, #8] 80b4968: 3301 adds r3, #1 80b496a: 60bb str r3, [r7, #8] 80b496c: 697a ldr r2, [r7, #20] 80b496e: 4293 cmp r3, r2 80b4970: d807 bhi.n 80b4982 { break; } } while((hdma->Instance->CR & DMA_SxCR_EN) != RESET); 80b4972: 687b ldr r3, [r7, #4] 80b4974: 681b ldr r3, [r3, #0] 80b4976: 681b ldr r3, [r3, #0] 80b4978: f003 0301 and.w r3, r3, #1 80b497c: 2b00 cmp r3, #0 80b497e: d1f2 bne.n 80b4966 80b4980: e000 b.n 80b4984 break; 80b4982: bf00 nop /* Change the DMA state */ hdma->State = HAL_DMA_STATE_READY; 80b4984: 687b ldr r3, [r7, #4] 80b4986: 2201 movs r2, #1 80b4988: f883 2035 strb.w r2, [r3, #53] ; 0x35 /* Process Unlocked */ __HAL_UNLOCK(hdma); 80b498c: 687b ldr r3, [r7, #4] 80b498e: 2200 movs r2, #0 80b4990: f883 2034 strb.w r2, [r3, #52] ; 0x34 } if(hdma->XferErrorCallback != NULL) 80b4994: 687b ldr r3, [r7, #4] 80b4996: 6cdb ldr r3, [r3, #76] ; 0x4c 80b4998: 2b00 cmp r3, #0 80b499a: d005 beq.n 80b49a8 { /* Transfer error callback */ hdma->XferErrorCallback(hdma); 80b499c: 687b ldr r3, [r7, #4] 80b499e: 6cdb ldr r3, [r3, #76] ; 0x4c 80b49a0: 6878 ldr r0, [r7, #4] 80b49a2: 4798 blx r3 80b49a4: e000 b.n 80b49a8 return; 80b49a6: bf00 nop } } } 80b49a8: 3718 adds r7, #24 80b49aa: 46bd mov sp, r7 80b49ac: bd80 pop {r7, pc} 80b49ae: bf00 nop 080b49b0 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Stream. * @retval HAL state */ HAL_DMA_StateTypeDef HAL_DMA_GetState(DMA_HandleTypeDef *hdma) { 80b49b0: b480 push {r7} 80b49b2: b083 sub sp, #12 80b49b4: af00 add r7, sp, #0 80b49b6: 6078 str r0, [r7, #4] return hdma->State; 80b49b8: 687b ldr r3, [r7, #4] 80b49ba: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b49be: b2db uxtb r3, r3 } 80b49c0: 4618 mov r0, r3 80b49c2: 370c adds r7, #12 80b49c4: 46bd mov sp, r7 80b49c6: f85d 7b04 ldr.w r7, [sp], #4 80b49ca: 4770 bx lr 080b49cc : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Stream. * @retval DMA Error Code */ uint32_t HAL_DMA_GetError(DMA_HandleTypeDef *hdma) { 80b49cc: b480 push {r7} 80b49ce: b083 sub sp, #12 80b49d0: af00 add r7, sp, #0 80b49d2: 6078 str r0, [r7, #4] return hdma->ErrorCode; 80b49d4: 687b ldr r3, [r7, #4] 80b49d6: 6d5b ldr r3, [r3, #84] ; 0x54 } 80b49d8: 4618 mov r0, r3 80b49da: 370c adds r7, #12 80b49dc: 46bd mov sp, r7 80b49de: f85d 7b04 ldr.w r7, [sp], #4 80b49e2: 4770 bx lr 080b49e4 : * @param DstAddress The destination memory Buffer address * @param DataLength The length of data to be transferred from source to destination * @retval HAL status */ static void DMA_SetConfig(DMA_HandleTypeDef *hdma, uint32_t SrcAddress, uint32_t DstAddress, uint32_t DataLength) { 80b49e4: b480 push {r7} 80b49e6: b085 sub sp, #20 80b49e8: af00 add r7, sp, #0 80b49ea: 60f8 str r0, [r7, #12] 80b49ec: 60b9 str r1, [r7, #8] 80b49ee: 607a str r2, [r7, #4] 80b49f0: 603b str r3, [r7, #0] /* Clear DBM bit */ hdma->Instance->CR &= (uint32_t)(~DMA_SxCR_DBM); 80b49f2: 68fb ldr r3, [r7, #12] 80b49f4: 681b ldr r3, [r3, #0] 80b49f6: 68fa ldr r2, [r7, #12] 80b49f8: 6812 ldr r2, [r2, #0] 80b49fa: 6812 ldr r2, [r2, #0] 80b49fc: f422 2280 bic.w r2, r2, #262144 ; 0x40000 80b4a00: 601a str r2, [r3, #0] /* Configure DMA Stream data length */ hdma->Instance->NDTR = DataLength; 80b4a02: 68fb ldr r3, [r7, #12] 80b4a04: 681b ldr r3, [r3, #0] 80b4a06: 683a ldr r2, [r7, #0] 80b4a08: 605a str r2, [r3, #4] /* Memory to Peripheral */ if((hdma->Init.Direction) == DMA_MEMORY_TO_PERIPH) 80b4a0a: 68fb ldr r3, [r7, #12] 80b4a0c: 689b ldr r3, [r3, #8] 80b4a0e: 2b40 cmp r3, #64 ; 0x40 80b4a10: d108 bne.n 80b4a24 { /* Configure DMA Stream destination address */ hdma->Instance->PAR = DstAddress; 80b4a12: 68fb ldr r3, [r7, #12] 80b4a14: 681b ldr r3, [r3, #0] 80b4a16: 687a ldr r2, [r7, #4] 80b4a18: 609a str r2, [r3, #8] /* Configure DMA Stream source address */ hdma->Instance->M0AR = SrcAddress; 80b4a1a: 68fb ldr r3, [r7, #12] 80b4a1c: 681b ldr r3, [r3, #0] 80b4a1e: 68ba ldr r2, [r7, #8] 80b4a20: 60da str r2, [r3, #12] hdma->Instance->PAR = SrcAddress; /* Configure DMA Stream destination address */ hdma->Instance->M0AR = DstAddress; } } 80b4a22: e007 b.n 80b4a34 hdma->Instance->PAR = SrcAddress; 80b4a24: 68fb ldr r3, [r7, #12] 80b4a26: 681b ldr r3, [r3, #0] 80b4a28: 68ba ldr r2, [r7, #8] 80b4a2a: 609a str r2, [r3, #8] hdma->Instance->M0AR = DstAddress; 80b4a2c: 68fb ldr r3, [r7, #12] 80b4a2e: 681b ldr r3, [r3, #0] 80b4a30: 687a ldr r2, [r7, #4] 80b4a32: 60da str r2, [r3, #12] } 80b4a34: bf00 nop 80b4a36: 3714 adds r7, #20 80b4a38: 46bd mov sp, r7 80b4a3a: f85d 7b04 ldr.w r7, [sp], #4 80b4a3e: 4770 bx lr 080b4a40 : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Stream. * @retval Stream base address */ static uint32_t DMA_CalcBaseAndBitshift(DMA_HandleTypeDef *hdma) { 80b4a40: b480 push {r7} 80b4a42: b085 sub sp, #20 80b4a44: af00 add r7, sp, #0 80b4a46: 6078 str r0, [r7, #4] uint32_t stream_number = (((uint32_t)hdma->Instance & 0xFFU) - 16U) / 24U; 80b4a48: 687b ldr r3, [r7, #4] 80b4a4a: 681b ldr r3, [r3, #0] 80b4a4c: b2db uxtb r3, r3 80b4a4e: 3b10 subs r3, #16 80b4a50: 4a13 ldr r2, [pc, #76] ; (80b4aa0 ) 80b4a52: fba2 2303 umull r2, r3, r2, r3 80b4a56: 091b lsrs r3, r3, #4 80b4a58: 60fb str r3, [r7, #12] /* lookup table for necessary bitshift of flags within status registers */ static const uint8_t flagBitshiftOffset[8U] = {0U, 6U, 16U, 22U, 0U, 6U, 16U, 22U}; hdma->StreamIndex = flagBitshiftOffset[stream_number]; 80b4a5a: 4a12 ldr r2, [pc, #72] ; (80b4aa4 ) 80b4a5c: 68fb ldr r3, [r7, #12] 80b4a5e: 4413 add r3, r2 80b4a60: 781b ldrb r3, [r3, #0] 80b4a62: 461a mov r2, r3 80b4a64: 687b ldr r3, [r7, #4] 80b4a66: 65da str r2, [r3, #92] ; 0x5c if (stream_number > 3U) 80b4a68: 68fb ldr r3, [r7, #12] 80b4a6a: 2b03 cmp r3, #3 80b4a6c: d908 bls.n 80b4a80 { /* return pointer to HISR and HIFCR */ hdma->StreamBaseAddress = (((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)) + 4U); 80b4a6e: 687b ldr r3, [r7, #4] 80b4a70: 681b ldr r3, [r3, #0] 80b4a72: 461a mov r2, r3 80b4a74: 4b0c ldr r3, [pc, #48] ; (80b4aa8 ) 80b4a76: 4013 ands r3, r2 80b4a78: 1d1a adds r2, r3, #4 80b4a7a: 687b ldr r3, [r7, #4] 80b4a7c: 659a str r2, [r3, #88] ; 0x58 80b4a7e: e006 b.n 80b4a8e } else { /* return pointer to LISR and LIFCR */ hdma->StreamBaseAddress = ((uint32_t)hdma->Instance & (uint32_t)(~0x3FFU)); 80b4a80: 687b ldr r3, [r7, #4] 80b4a82: 681b ldr r3, [r3, #0] 80b4a84: 461a mov r2, r3 80b4a86: 4b08 ldr r3, [pc, #32] ; (80b4aa8 ) 80b4a88: 4013 ands r3, r2 80b4a8a: 687a ldr r2, [r7, #4] 80b4a8c: 6593 str r3, [r2, #88] ; 0x58 } return hdma->StreamBaseAddress; 80b4a8e: 687b ldr r3, [r7, #4] 80b4a90: 6d9b ldr r3, [r3, #88] ; 0x58 } 80b4a92: 4618 mov r0, r3 80b4a94: 3714 adds r7, #20 80b4a96: 46bd mov sp, r7 80b4a98: f85d 7b04 ldr.w r7, [sp], #4 80b4a9c: 4770 bx lr 80b4a9e: bf00 nop 80b4aa0: aaaaaaab .word 0xaaaaaaab 80b4aa4: 080ff82c .word 0x080ff82c 80b4aa8: fffffc00 .word 0xfffffc00 080b4aac : * @param hdma pointer to a DMA_HandleTypeDef structure that contains * the configuration information for the specified DMA Stream. * @retval HAL status */ static HAL_StatusTypeDef DMA_CheckFifoParam(DMA_HandleTypeDef *hdma) { 80b4aac: b480 push {r7} 80b4aae: b085 sub sp, #20 80b4ab0: af00 add r7, sp, #0 80b4ab2: 6078 str r0, [r7, #4] HAL_StatusTypeDef status = HAL_OK; 80b4ab4: 2300 movs r3, #0 80b4ab6: 73fb strb r3, [r7, #15] uint32_t tmp = hdma->Init.FIFOThreshold; 80b4ab8: 687b ldr r3, [r7, #4] 80b4aba: 6a9b ldr r3, [r3, #40] ; 0x28 80b4abc: 60bb str r3, [r7, #8] /* Memory Data size equal to Byte */ if(hdma->Init.MemDataAlignment == DMA_MDATAALIGN_BYTE) 80b4abe: 687b ldr r3, [r7, #4] 80b4ac0: 699b ldr r3, [r3, #24] 80b4ac2: 2b00 cmp r3, #0 80b4ac4: d11f bne.n 80b4b06 { switch (tmp) 80b4ac6: 68bb ldr r3, [r7, #8] 80b4ac8: 2b03 cmp r3, #3 80b4aca: d855 bhi.n 80b4b78 80b4acc: a201 add r2, pc, #4 ; (adr r2, 80b4ad4 ) 80b4ace: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b4ad2: bf00 nop 80b4ad4: 080b4ae5 .word 0x080b4ae5 80b4ad8: 080b4af7 .word 0x080b4af7 80b4adc: 080b4ae5 .word 0x080b4ae5 80b4ae0: 080b4b79 .word 0x080b4b79 { case DMA_FIFO_THRESHOLD_1QUARTERFULL: case DMA_FIFO_THRESHOLD_3QUARTERSFULL: if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 80b4ae4: 687b ldr r3, [r7, #4] 80b4ae6: 6adb ldr r3, [r3, #44] ; 0x2c 80b4ae8: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b4aec: 2b00 cmp r3, #0 80b4aee: d045 beq.n 80b4b7c { status = HAL_ERROR; 80b4af0: 2301 movs r3, #1 80b4af2: 73fb strb r3, [r7, #15] } break; 80b4af4: e042 b.n 80b4b7c case DMA_FIFO_THRESHOLD_HALFFULL: if (hdma->Init.MemBurst == DMA_MBURST_INC16) 80b4af6: 687b ldr r3, [r7, #4] 80b4af8: 6adb ldr r3, [r3, #44] ; 0x2c 80b4afa: f1b3 7fc0 cmp.w r3, #25165824 ; 0x1800000 80b4afe: d13f bne.n 80b4b80 { status = HAL_ERROR; 80b4b00: 2301 movs r3, #1 80b4b02: 73fb strb r3, [r7, #15] } break; 80b4b04: e03c b.n 80b4b80 break; } } /* Memory Data size equal to Half-Word */ else if (hdma->Init.MemDataAlignment == DMA_MDATAALIGN_HALFWORD) 80b4b06: 687b ldr r3, [r7, #4] 80b4b08: 699b ldr r3, [r3, #24] 80b4b0a: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80b4b0e: d121 bne.n 80b4b54 { switch (tmp) 80b4b10: 68bb ldr r3, [r7, #8] 80b4b12: 2b03 cmp r3, #3 80b4b14: d836 bhi.n 80b4b84 80b4b16: a201 add r2, pc, #4 ; (adr r2, 80b4b1c ) 80b4b18: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b4b1c: 080b4b2d .word 0x080b4b2d 80b4b20: 080b4b33 .word 0x080b4b33 80b4b24: 080b4b2d .word 0x080b4b2d 80b4b28: 080b4b45 .word 0x080b4b45 { case DMA_FIFO_THRESHOLD_1QUARTERFULL: case DMA_FIFO_THRESHOLD_3QUARTERSFULL: status = HAL_ERROR; 80b4b2c: 2301 movs r3, #1 80b4b2e: 73fb strb r3, [r7, #15] break; 80b4b30: e02f b.n 80b4b92 case DMA_FIFO_THRESHOLD_HALFFULL: if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 80b4b32: 687b ldr r3, [r7, #4] 80b4b34: 6adb ldr r3, [r3, #44] ; 0x2c 80b4b36: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b4b3a: 2b00 cmp r3, #0 80b4b3c: d024 beq.n 80b4b88 { status = HAL_ERROR; 80b4b3e: 2301 movs r3, #1 80b4b40: 73fb strb r3, [r7, #15] } break; 80b4b42: e021 b.n 80b4b88 case DMA_FIFO_THRESHOLD_FULL: if (hdma->Init.MemBurst == DMA_MBURST_INC16) 80b4b44: 687b ldr r3, [r7, #4] 80b4b46: 6adb ldr r3, [r3, #44] ; 0x2c 80b4b48: f1b3 7fc0 cmp.w r3, #25165824 ; 0x1800000 80b4b4c: d11e bne.n 80b4b8c { status = HAL_ERROR; 80b4b4e: 2301 movs r3, #1 80b4b50: 73fb strb r3, [r7, #15] } break; 80b4b52: e01b b.n 80b4b8c } /* Memory Data size equal to Word */ else { switch (tmp) 80b4b54: 68bb ldr r3, [r7, #8] 80b4b56: 2b02 cmp r3, #2 80b4b58: d902 bls.n 80b4b60 80b4b5a: 2b03 cmp r3, #3 80b4b5c: d003 beq.n 80b4b66 { status = HAL_ERROR; } break; default: break; 80b4b5e: e018 b.n 80b4b92 status = HAL_ERROR; 80b4b60: 2301 movs r3, #1 80b4b62: 73fb strb r3, [r7, #15] break; 80b4b64: e015 b.n 80b4b92 if ((hdma->Init.MemBurst & DMA_SxCR_MBURST_1) == DMA_SxCR_MBURST_1) 80b4b66: 687b ldr r3, [r7, #4] 80b4b68: 6adb ldr r3, [r3, #44] ; 0x2c 80b4b6a: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b4b6e: 2b00 cmp r3, #0 80b4b70: d00e beq.n 80b4b90 status = HAL_ERROR; 80b4b72: 2301 movs r3, #1 80b4b74: 73fb strb r3, [r7, #15] break; 80b4b76: e00b b.n 80b4b90 break; 80b4b78: bf00 nop 80b4b7a: e00a b.n 80b4b92 break; 80b4b7c: bf00 nop 80b4b7e: e008 b.n 80b4b92 break; 80b4b80: bf00 nop 80b4b82: e006 b.n 80b4b92 break; 80b4b84: bf00 nop 80b4b86: e004 b.n 80b4b92 break; 80b4b88: bf00 nop 80b4b8a: e002 b.n 80b4b92 break; 80b4b8c: bf00 nop 80b4b8e: e000 b.n 80b4b92 break; 80b4b90: bf00 nop } } return status; 80b4b92: 7bfb ldrb r3, [r7, #15] } 80b4b94: 4618 mov r0, r3 80b4b96: 3714 adds r7, #20 80b4b98: 46bd mov sp, r7 80b4b9a: f85d 7b04 ldr.w r7, [sp], #4 80b4b9e: 4770 bx lr 080b4ba0 : * @param hdma2d pointer to a DMA2D_HandleTypeDef structure that contains * the configuration information for the DMA2D. * @retval HAL status */ HAL_StatusTypeDef HAL_DMA2D_Init(DMA2D_HandleTypeDef *hdma2d) { 80b4ba0: b580 push {r7, lr} 80b4ba2: b082 sub sp, #8 80b4ba4: af00 add r7, sp, #0 80b4ba6: 6078 str r0, [r7, #4] /* Check the DMA2D peripheral state */ if (hdma2d == NULL) 80b4ba8: 687b ldr r3, [r7, #4] 80b4baa: 2b00 cmp r3, #0 80b4bac: d101 bne.n 80b4bb2 { return HAL_ERROR; 80b4bae: 2301 movs r3, #1 80b4bb0: e049 b.n 80b4c46 /* Init the low level hardware */ hdma2d->MspInitCallback(hdma2d); } #else if (hdma2d->State == HAL_DMA2D_STATE_RESET) 80b4bb2: 687b ldr r3, [r7, #4] 80b4bb4: f893 3051 ldrb.w r3, [r3, #81] ; 0x51 80b4bb8: b2db uxtb r3, r3 80b4bba: 2b00 cmp r3, #0 80b4bbc: d106 bne.n 80b4bcc { /* Allocate lock resource and initialize it */ hdma2d->Lock = HAL_UNLOCKED; 80b4bbe: 687b ldr r3, [r7, #4] 80b4bc0: 2200 movs r2, #0 80b4bc2: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Init the low level hardware */ HAL_DMA2D_MspInit(hdma2d); 80b4bc6: 6878 ldr r0, [r7, #4] 80b4bc8: f76e ffe0 bl 8023b8c } #endif /* (USE_HAL_DMA2D_REGISTER_CALLBACKS) */ /* Change DMA2D peripheral state */ hdma2d->State = HAL_DMA2D_STATE_BUSY; 80b4bcc: 687b ldr r3, [r7, #4] 80b4bce: 2202 movs r2, #2 80b4bd0: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* DMA2D CR register configuration -------------------------------------------*/ MODIFY_REG(hdma2d->Instance->CR, DMA2D_CR_MODE, hdma2d->Init.Mode); 80b4bd4: 687b ldr r3, [r7, #4] 80b4bd6: 681b ldr r3, [r3, #0] 80b4bd8: 687a ldr r2, [r7, #4] 80b4bda: 6812 ldr r2, [r2, #0] 80b4bdc: 6812 ldr r2, [r2, #0] 80b4bde: f422 3140 bic.w r1, r2, #196608 ; 0x30000 80b4be2: 687a ldr r2, [r7, #4] 80b4be4: 6852 ldr r2, [r2, #4] 80b4be6: 430a orrs r2, r1 80b4be8: 601a str r2, [r3, #0] /* DMA2D OPFCCR register configuration ---------------------------------------*/ MODIFY_REG(hdma2d->Instance->OPFCCR, DMA2D_OPFCCR_CM, hdma2d->Init.ColorMode); 80b4bea: 687b ldr r3, [r7, #4] 80b4bec: 681b ldr r3, [r3, #0] 80b4bee: 687a ldr r2, [r7, #4] 80b4bf0: 6812 ldr r2, [r2, #0] 80b4bf2: 6b52 ldr r2, [r2, #52] ; 0x34 80b4bf4: f022 0107 bic.w r1, r2, #7 80b4bf8: 687a ldr r2, [r7, #4] 80b4bfa: 6892 ldr r2, [r2, #8] 80b4bfc: 430a orrs r2, r1 80b4bfe: 635a str r2, [r3, #52] ; 0x34 /* DMA2D OOR register configuration ------------------------------------------*/ MODIFY_REG(hdma2d->Instance->OOR, DMA2D_OOR_LO, hdma2d->Init.OutputOffset); 80b4c00: 687b ldr r3, [r7, #4] 80b4c02: 681a ldr r2, [r3, #0] 80b4c04: 687b ldr r3, [r7, #4] 80b4c06: 681b ldr r3, [r3, #0] 80b4c08: 6c19 ldr r1, [r3, #64] ; 0x40 80b4c0a: 4b11 ldr r3, [pc, #68] ; (80b4c50 ) 80b4c0c: 400b ands r3, r1 80b4c0e: 6879 ldr r1, [r7, #4] 80b4c10: 68c9 ldr r1, [r1, #12] 80b4c12: 430b orrs r3, r1 80b4c14: 6413 str r3, [r2, #64] ; 0x40 #if defined (DMA2D_ALPHA_INV_RB_SWAP_SUPPORT) /* DMA2D OPFCCR AI and RBS fields setting (Output Alpha Inversion)*/ MODIFY_REG(hdma2d->Instance->OPFCCR, (DMA2D_OPFCCR_AI | DMA2D_OPFCCR_RBS), 80b4c16: 687b ldr r3, [r7, #4] 80b4c18: 681b ldr r3, [r3, #0] 80b4c1a: 687a ldr r2, [r7, #4] 80b4c1c: 6812 ldr r2, [r2, #0] 80b4c1e: 6b52 ldr r2, [r2, #52] ; 0x34 80b4c20: f422 1140 bic.w r1, r2, #3145728 ; 0x300000 80b4c24: 687a ldr r2, [r7, #4] 80b4c26: 6912 ldr r2, [r2, #16] 80b4c28: 0510 lsls r0, r2, #20 80b4c2a: 687a ldr r2, [r7, #4] 80b4c2c: 6952 ldr r2, [r2, #20] 80b4c2e: 0552 lsls r2, r2, #21 80b4c30: 4302 orrs r2, r0 80b4c32: 430a orrs r2, r1 80b4c34: 635a str r2, [r3, #52] ; 0x34 (hdma2d->Init.RedBlueSwap << DMA2D_OPFCCR_RBS_Pos))); #endif /* DMA2D_ALPHA_INV_RB_SWAP_SUPPORT */ /* Update error code */ hdma2d->ErrorCode = HAL_DMA2D_ERROR_NONE; 80b4c36: 687b ldr r3, [r7, #4] 80b4c38: 2200 movs r2, #0 80b4c3a: 655a str r2, [r3, #84] ; 0x54 /* Initialize the DMA2D state*/ hdma2d->State = HAL_DMA2D_STATE_READY; 80b4c3c: 687b ldr r3, [r7, #4] 80b4c3e: 2201 movs r2, #1 80b4c40: f883 2051 strb.w r2, [r3, #81] ; 0x51 return HAL_OK; 80b4c44: 2300 movs r3, #0 } 80b4c46: 4618 mov r0, r3 80b4c48: 3708 adds r7, #8 80b4c4a: 46bd mov sp, r7 80b4c4c: bd80 pop {r7, pc} 80b4c4e: bf00 nop 80b4c50: ffffc000 .word 0xffffc000 080b4c54 : * @param Height The height of data to be transferred from source to destination (expressed in number of lines). * @retval HAL status */ HAL_StatusTypeDef HAL_DMA2D_Start(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height) { 80b4c54: b580 push {r7, lr} 80b4c56: b086 sub sp, #24 80b4c58: af02 add r7, sp, #8 80b4c5a: 60f8 str r0, [r7, #12] 80b4c5c: 60b9 str r1, [r7, #8] 80b4c5e: 607a str r2, [r7, #4] 80b4c60: 603b str r3, [r7, #0] /* Check the parameters */ assert_param(IS_DMA2D_LINE(Height)); assert_param(IS_DMA2D_PIXEL(Width)); /* Process locked */ __HAL_LOCK(hdma2d); 80b4c62: 68fb ldr r3, [r7, #12] 80b4c64: f893 3050 ldrb.w r3, [r3, #80] ; 0x50 80b4c68: 2b01 cmp r3, #1 80b4c6a: d101 bne.n 80b4c70 80b4c6c: 2302 movs r3, #2 80b4c6e: e018 b.n 80b4ca2 80b4c70: 68fb ldr r3, [r7, #12] 80b4c72: 2201 movs r2, #1 80b4c74: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Change DMA2D peripheral state */ hdma2d->State = HAL_DMA2D_STATE_BUSY; 80b4c78: 68fb ldr r3, [r7, #12] 80b4c7a: 2202 movs r2, #2 80b4c7c: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Configure the source, destination address and the data size */ DMA2D_SetConfig(hdma2d, pdata, DstAddress, Width, Height); 80b4c80: 69bb ldr r3, [r7, #24] 80b4c82: 9300 str r3, [sp, #0] 80b4c84: 683b ldr r3, [r7, #0] 80b4c86: 687a ldr r2, [r7, #4] 80b4c88: 68b9 ldr r1, [r7, #8] 80b4c8a: 68f8 ldr r0, [r7, #12] 80b4c8c: f000 f992 bl 80b4fb4 /* Enable the Peripheral */ __HAL_DMA2D_ENABLE(hdma2d); 80b4c90: 68fb ldr r3, [r7, #12] 80b4c92: 681b ldr r3, [r3, #0] 80b4c94: 68fa ldr r2, [r7, #12] 80b4c96: 6812 ldr r2, [r2, #0] 80b4c98: 6812 ldr r2, [r2, #0] 80b4c9a: f042 0201 orr.w r2, r2, #1 80b4c9e: 601a str r2, [r3, #0] return HAL_OK; 80b4ca0: 2300 movs r3, #0 } 80b4ca2: 4618 mov r0, r3 80b4ca4: 3710 adds r7, #16 80b4ca6: 46bd mov sp, r7 80b4ca8: bd80 pop {r7, pc} 080b4caa : * the configuration information for the DMA2D. * @param Timeout Timeout duration * @retval HAL status */ HAL_StatusTypeDef HAL_DMA2D_PollForTransfer(DMA2D_HandleTypeDef *hdma2d, uint32_t Timeout) { 80b4caa: b580 push {r7, lr} 80b4cac: b086 sub sp, #24 80b4cae: af00 add r7, sp, #0 80b4cb0: 6078 str r0, [r7, #4] 80b4cb2: 6039 str r1, [r7, #0] uint32_t tickstart; uint32_t layer_start; __IO uint32_t isrflags = 0x0U; 80b4cb4: 2300 movs r3, #0 80b4cb6: 60fb str r3, [r7, #12] /* Polling for DMA2D transfer */ if ((hdma2d->Instance->CR & DMA2D_CR_START) != 0U) 80b4cb8: 687b ldr r3, [r7, #4] 80b4cba: 681b ldr r3, [r3, #0] 80b4cbc: 681b ldr r3, [r3, #0] 80b4cbe: f003 0301 and.w r3, r3, #1 80b4cc2: 2b00 cmp r3, #0 80b4cc4: d056 beq.n 80b4d74 { /* Get tick */ tickstart = HAL_GetTick(); 80b4cc6: f7fe fad3 bl 80b3270 80b4cca: 6178 str r0, [r7, #20] while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_TC) == 0U) 80b4ccc: e04b b.n 80b4d66 { isrflags = READ_REG(hdma2d->Instance->ISR); 80b4cce: 687b ldr r3, [r7, #4] 80b4cd0: 681b ldr r3, [r3, #0] 80b4cd2: 685b ldr r3, [r3, #4] 80b4cd4: 60fb str r3, [r7, #12] if ((isrflags & (DMA2D_FLAG_CE | DMA2D_FLAG_TE)) != 0U) 80b4cd6: 68fb ldr r3, [r7, #12] 80b4cd8: f003 0321 and.w r3, r3, #33 ; 0x21 80b4cdc: 2b00 cmp r3, #0 80b4cde: d023 beq.n 80b4d28 { if ((isrflags & DMA2D_FLAG_CE) != 0U) 80b4ce0: 68fb ldr r3, [r7, #12] 80b4ce2: f003 0320 and.w r3, r3, #32 80b4ce6: 2b00 cmp r3, #0 80b4ce8: d005 beq.n 80b4cf6 { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CE; 80b4cea: 687b ldr r3, [r7, #4] 80b4cec: 6d5b ldr r3, [r3, #84] ; 0x54 80b4cee: f043 0202 orr.w r2, r3, #2 80b4cf2: 687b ldr r3, [r7, #4] 80b4cf4: 655a str r2, [r3, #84] ; 0x54 } if ((isrflags & DMA2D_FLAG_TE) != 0U) 80b4cf6: 68fb ldr r3, [r7, #12] 80b4cf8: f003 0301 and.w r3, r3, #1 80b4cfc: 2b00 cmp r3, #0 80b4cfe: d005 beq.n 80b4d0c { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TE; 80b4d00: 687b ldr r3, [r7, #4] 80b4d02: 6d5b ldr r3, [r3, #84] ; 0x54 80b4d04: f043 0201 orr.w r2, r3, #1 80b4d08: 687b ldr r3, [r7, #4] 80b4d0a: 655a str r2, [r3, #84] ; 0x54 } /* Clear the transfer and configuration error flags */ __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_CE | DMA2D_FLAG_TE); 80b4d0c: 687b ldr r3, [r7, #4] 80b4d0e: 681b ldr r3, [r3, #0] 80b4d10: 2221 movs r2, #33 ; 0x21 80b4d12: 609a str r2, [r3, #8] /* Change DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_ERROR; 80b4d14: 687b ldr r3, [r7, #4] 80b4d16: 2204 movs r2, #4 80b4d18: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b4d1c: 687b ldr r3, [r7, #4] 80b4d1e: 2200 movs r2, #0 80b4d20: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_ERROR; 80b4d24: 2301 movs r3, #1 80b4d26: e0a5 b.n 80b4e74 } /* Check for the Timeout */ if (Timeout != HAL_MAX_DELAY) 80b4d28: 683b ldr r3, [r7, #0] 80b4d2a: f1b3 3fff cmp.w r3, #4294967295 80b4d2e: d01a beq.n 80b4d66 { if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 80b4d30: f7fe fa9e bl 80b3270 80b4d34: 4602 mov r2, r0 80b4d36: 697b ldr r3, [r7, #20] 80b4d38: 1ad2 subs r2, r2, r3 80b4d3a: 683b ldr r3, [r7, #0] 80b4d3c: 429a cmp r2, r3 80b4d3e: d802 bhi.n 80b4d46 80b4d40: 683b ldr r3, [r7, #0] 80b4d42: 2b00 cmp r3, #0 80b4d44: d10f bne.n 80b4d66 { /* Update error code */ hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; 80b4d46: 687b ldr r3, [r7, #4] 80b4d48: 6d5b ldr r3, [r3, #84] ; 0x54 80b4d4a: f043 0220 orr.w r2, r3, #32 80b4d4e: 687b ldr r3, [r7, #4] 80b4d50: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_TIMEOUT; 80b4d52: 687b ldr r3, [r7, #4] 80b4d54: 2203 movs r2, #3 80b4d56: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b4d5a: 687b ldr r3, [r7, #4] 80b4d5c: 2200 movs r2, #0 80b4d5e: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_TIMEOUT; 80b4d62: 2303 movs r3, #3 80b4d64: e086 b.n 80b4e74 while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_TC) == 0U) 80b4d66: 687b ldr r3, [r7, #4] 80b4d68: 681b ldr r3, [r3, #0] 80b4d6a: 685b ldr r3, [r3, #4] 80b4d6c: f003 0302 and.w r3, r3, #2 80b4d70: 2b00 cmp r3, #0 80b4d72: d0ac beq.n 80b4cce } } } } /* Polling for CLUT loading (foreground or background) */ layer_start = hdma2d->Instance->FGPFCCR & DMA2D_FGPFCCR_START; 80b4d74: 687b ldr r3, [r7, #4] 80b4d76: 681b ldr r3, [r3, #0] 80b4d78: 69db ldr r3, [r3, #28] 80b4d7a: f003 0320 and.w r3, r3, #32 80b4d7e: 613b str r3, [r7, #16] layer_start |= hdma2d->Instance->BGPFCCR & DMA2D_BGPFCCR_START; 80b4d80: 687b ldr r3, [r7, #4] 80b4d82: 681b ldr r3, [r3, #0] 80b4d84: 6a5b ldr r3, [r3, #36] ; 0x24 80b4d86: f003 0320 and.w r3, r3, #32 80b4d8a: 693a ldr r2, [r7, #16] 80b4d8c: 4313 orrs r3, r2 80b4d8e: 613b str r3, [r7, #16] if (layer_start != 0U) 80b4d90: 693b ldr r3, [r7, #16] 80b4d92: 2b00 cmp r3, #0 80b4d94: d061 beq.n 80b4e5a { /* Get tick */ tickstart = HAL_GetTick(); 80b4d96: f7fe fa6b bl 80b3270 80b4d9a: 6178 str r0, [r7, #20] while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_CTC) == 0U) 80b4d9c: e056 b.n 80b4e4c { isrflags = READ_REG(hdma2d->Instance->ISR); 80b4d9e: 687b ldr r3, [r7, #4] 80b4da0: 681b ldr r3, [r3, #0] 80b4da2: 685b ldr r3, [r3, #4] 80b4da4: 60fb str r3, [r7, #12] if ((isrflags & (DMA2D_FLAG_CAE | DMA2D_FLAG_CE | DMA2D_FLAG_TE)) != 0U) 80b4da6: 68fb ldr r3, [r7, #12] 80b4da8: f003 0329 and.w r3, r3, #41 ; 0x29 80b4dac: 2b00 cmp r3, #0 80b4dae: d02e beq.n 80b4e0e { if ((isrflags & DMA2D_FLAG_CAE) != 0U) 80b4db0: 68fb ldr r3, [r7, #12] 80b4db2: f003 0308 and.w r3, r3, #8 80b4db6: 2b00 cmp r3, #0 80b4db8: d005 beq.n 80b4dc6 { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CAE; 80b4dba: 687b ldr r3, [r7, #4] 80b4dbc: 6d5b ldr r3, [r3, #84] ; 0x54 80b4dbe: f043 0204 orr.w r2, r3, #4 80b4dc2: 687b ldr r3, [r7, #4] 80b4dc4: 655a str r2, [r3, #84] ; 0x54 } if ((isrflags & DMA2D_FLAG_CE) != 0U) 80b4dc6: 68fb ldr r3, [r7, #12] 80b4dc8: f003 0320 and.w r3, r3, #32 80b4dcc: 2b00 cmp r3, #0 80b4dce: d005 beq.n 80b4ddc { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_CE; 80b4dd0: 687b ldr r3, [r7, #4] 80b4dd2: 6d5b ldr r3, [r3, #84] ; 0x54 80b4dd4: f043 0202 orr.w r2, r3, #2 80b4dd8: 687b ldr r3, [r7, #4] 80b4dda: 655a str r2, [r3, #84] ; 0x54 } if ((isrflags & DMA2D_FLAG_TE) != 0U) 80b4ddc: 68fb ldr r3, [r7, #12] 80b4dde: f003 0301 and.w r3, r3, #1 80b4de2: 2b00 cmp r3, #0 80b4de4: d005 beq.n 80b4df2 { hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TE; 80b4de6: 687b ldr r3, [r7, #4] 80b4de8: 6d5b ldr r3, [r3, #84] ; 0x54 80b4dea: f043 0201 orr.w r2, r3, #1 80b4dee: 687b ldr r3, [r7, #4] 80b4df0: 655a str r2, [r3, #84] ; 0x54 } /* Clear the CLUT Access Error, Configuration Error and Transfer Error flags */ __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_CAE | DMA2D_FLAG_CE | DMA2D_FLAG_TE); 80b4df2: 687b ldr r3, [r7, #4] 80b4df4: 681b ldr r3, [r3, #0] 80b4df6: 2229 movs r2, #41 ; 0x29 80b4df8: 609a str r2, [r3, #8] /* Change DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_ERROR; 80b4dfa: 687b ldr r3, [r7, #4] 80b4dfc: 2204 movs r2, #4 80b4dfe: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b4e02: 687b ldr r3, [r7, #4] 80b4e04: 2200 movs r2, #0 80b4e06: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_ERROR; 80b4e0a: 2301 movs r3, #1 80b4e0c: e032 b.n 80b4e74 } /* Check for the Timeout */ if (Timeout != HAL_MAX_DELAY) 80b4e0e: 683b ldr r3, [r7, #0] 80b4e10: f1b3 3fff cmp.w r3, #4294967295 80b4e14: d01a beq.n 80b4e4c { if (((HAL_GetTick() - tickstart) > Timeout) || (Timeout == 0U)) 80b4e16: f7fe fa2b bl 80b3270 80b4e1a: 4602 mov r2, r0 80b4e1c: 697b ldr r3, [r7, #20] 80b4e1e: 1ad2 subs r2, r2, r3 80b4e20: 683b ldr r3, [r7, #0] 80b4e22: 429a cmp r2, r3 80b4e24: d802 bhi.n 80b4e2c 80b4e26: 683b ldr r3, [r7, #0] 80b4e28: 2b00 cmp r3, #0 80b4e2a: d10f bne.n 80b4e4c { /* Update error code */ hdma2d->ErrorCode |= HAL_DMA2D_ERROR_TIMEOUT; 80b4e2c: 687b ldr r3, [r7, #4] 80b4e2e: 6d5b ldr r3, [r3, #84] ; 0x54 80b4e30: f043 0220 orr.w r2, r3, #32 80b4e34: 687b ldr r3, [r7, #4] 80b4e36: 655a str r2, [r3, #84] ; 0x54 /* Change the DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_TIMEOUT; 80b4e38: 687b ldr r3, [r7, #4] 80b4e3a: 2203 movs r2, #3 80b4e3c: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b4e40: 687b ldr r3, [r7, #4] 80b4e42: 2200 movs r2, #0 80b4e44: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_TIMEOUT; 80b4e48: 2303 movs r3, #3 80b4e4a: e013 b.n 80b4e74 while (__HAL_DMA2D_GET_FLAG(hdma2d, DMA2D_FLAG_CTC) == 0U) 80b4e4c: 687b ldr r3, [r7, #4] 80b4e4e: 681b ldr r3, [r3, #0] 80b4e50: 685b ldr r3, [r3, #4] 80b4e52: f003 0310 and.w r3, r3, #16 80b4e56: 2b00 cmp r3, #0 80b4e58: d0a1 beq.n 80b4d9e } } } /* Clear the transfer complete and CLUT loading flags */ __HAL_DMA2D_CLEAR_FLAG(hdma2d, DMA2D_FLAG_TC | DMA2D_FLAG_CTC); 80b4e5a: 687b ldr r3, [r7, #4] 80b4e5c: 681b ldr r3, [r3, #0] 80b4e5e: 2212 movs r2, #18 80b4e60: 609a str r2, [r3, #8] /* Change DMA2D state */ hdma2d->State = HAL_DMA2D_STATE_READY; 80b4e62: 687b ldr r3, [r7, #4] 80b4e64: 2201 movs r2, #1 80b4e66: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b4e6a: 687b ldr r3, [r7, #4] 80b4e6c: 2200 movs r2, #0 80b4e6e: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_OK; 80b4e72: 2300 movs r3, #0 } 80b4e74: 4618 mov r0, r3 80b4e76: 3718 adds r7, #24 80b4e78: 46bd mov sp, r7 80b4e7a: bd80 pop {r7, pc} 080b4e7c : * This parameter can be one of the following values: * DMA2D_BACKGROUND_LAYER(0) / DMA2D_FOREGROUND_LAYER(1) * @retval HAL status */ HAL_StatusTypeDef HAL_DMA2D_ConfigLayer(DMA2D_HandleTypeDef *hdma2d, uint32_t LayerIdx) { 80b4e7c: b480 push {r7} 80b4e7e: b087 sub sp, #28 80b4e80: af00 add r7, sp, #0 80b4e82: 6078 str r0, [r7, #4] 80b4e84: 6039 str r1, [r7, #0] uint32_t regValue; /* Check the parameters */ assert_param(IS_DMA2D_LAYER(LayerIdx)); assert_param(IS_DMA2D_OFFSET(hdma2d->LayerCfg[LayerIdx].InputOffset)); if (hdma2d->Init.Mode != DMA2D_R2M) 80b4e86: 687b ldr r3, [r7, #4] 80b4e88: 685b ldr r3, [r3, #4] 80b4e8a: f5b3 3f40 cmp.w r3, #196608 ; 0x30000 assert_param(IS_DMA2D_ALPHA_INVERTED(hdma2d->LayerCfg[LayerIdx].AlphaInverted)); assert_param(IS_DMA2D_RB_SWAP(hdma2d->LayerCfg[LayerIdx].RedBlueSwap)); #endif /* DMA2D_ALPHA_INV_RB_SWAP_SUPPORT */ /* Process locked */ __HAL_LOCK(hdma2d); 80b4e8e: 687b ldr r3, [r7, #4] 80b4e90: f893 3050 ldrb.w r3, [r3, #80] ; 0x50 80b4e94: 2b01 cmp r3, #1 80b4e96: d101 bne.n 80b4e9c 80b4e98: 2302 movs r3, #2 80b4e9a: e082 b.n 80b4fa2 80b4e9c: 687b ldr r3, [r7, #4] 80b4e9e: 2201 movs r2, #1 80b4ea0: f883 2050 strb.w r2, [r3, #80] ; 0x50 /* Change DMA2D peripheral state */ hdma2d->State = HAL_DMA2D_STATE_BUSY; 80b4ea4: 687b ldr r3, [r7, #4] 80b4ea6: 2202 movs r2, #2 80b4ea8: f883 2051 strb.w r2, [r3, #81] ; 0x51 pLayerCfg = &hdma2d->LayerCfg[LayerIdx]; 80b4eac: 683a ldr r2, [r7, #0] 80b4eae: 4613 mov r3, r2 80b4eb0: 005b lsls r3, r3, #1 80b4eb2: 4413 add r3, r2 80b4eb4: 00db lsls r3, r3, #3 80b4eb6: 3320 adds r3, #32 80b4eb8: 687a ldr r2, [r7, #4] 80b4eba: 4413 add r3, r2 80b4ebc: 613b str r3, [r7, #16] /* Prepare the value to be written to the BGPFCCR or FGPFCCR register */ #if defined (DMA2D_ALPHA_INV_RB_SWAP_SUPPORT) regValue = pLayerCfg->InputColorMode | (pLayerCfg->AlphaMode << DMA2D_BGPFCCR_AM_Pos) | \ 80b4ebe: 693b ldr r3, [r7, #16] 80b4ec0: 685a ldr r2, [r3, #4] 80b4ec2: 693b ldr r3, [r7, #16] 80b4ec4: 689b ldr r3, [r3, #8] 80b4ec6: 041b lsls r3, r3, #16 80b4ec8: 431a orrs r2, r3 (pLayerCfg->AlphaInverted << DMA2D_BGPFCCR_AI_Pos) | (pLayerCfg->RedBlueSwap << DMA2D_BGPFCCR_RBS_Pos); 80b4eca: 693b ldr r3, [r7, #16] 80b4ecc: 691b ldr r3, [r3, #16] 80b4ece: 051b lsls r3, r3, #20 regValue = pLayerCfg->InputColorMode | (pLayerCfg->AlphaMode << DMA2D_BGPFCCR_AM_Pos) | \ 80b4ed0: 431a orrs r2, r3 (pLayerCfg->AlphaInverted << DMA2D_BGPFCCR_AI_Pos) | (pLayerCfg->RedBlueSwap << DMA2D_BGPFCCR_RBS_Pos); 80b4ed2: 693b ldr r3, [r7, #16] 80b4ed4: 695b ldr r3, [r3, #20] 80b4ed6: 055b lsls r3, r3, #21 regValue = pLayerCfg->InputColorMode | (pLayerCfg->AlphaMode << DMA2D_BGPFCCR_AM_Pos) | \ 80b4ed8: 4313 orrs r3, r2 80b4eda: 617b str r3, [r7, #20] regMask = (DMA2D_BGPFCCR_CM | DMA2D_BGPFCCR_AM | DMA2D_BGPFCCR_ALPHA | DMA2D_BGPFCCR_AI | DMA2D_BGPFCCR_RBS); 80b4edc: 4b34 ldr r3, [pc, #208] ; (80b4fb0 ) 80b4ede: 60fb str r3, [r7, #12] regValue = pLayerCfg->InputColorMode | (pLayerCfg->AlphaMode << DMA2D_BGPFCCR_AM_Pos); regMask = DMA2D_BGPFCCR_CM | DMA2D_BGPFCCR_AM | DMA2D_BGPFCCR_ALPHA; #endif /* DMA2D_ALPHA_INV_RB_SWAP_SUPPORT */ if ((pLayerCfg->InputColorMode == DMA2D_INPUT_A4) || (pLayerCfg->InputColorMode == DMA2D_INPUT_A8)) 80b4ee0: 693b ldr r3, [r7, #16] 80b4ee2: 685b ldr r3, [r3, #4] 80b4ee4: 2b0a cmp r3, #10 80b4ee6: d003 beq.n 80b4ef0 80b4ee8: 693b ldr r3, [r7, #16] 80b4eea: 685b ldr r3, [r3, #4] 80b4eec: 2b09 cmp r3, #9 80b4eee: d107 bne.n 80b4f00 { regValue |= (pLayerCfg->InputAlpha & DMA2D_BGPFCCR_ALPHA); 80b4ef0: 693b ldr r3, [r7, #16] 80b4ef2: 68db ldr r3, [r3, #12] 80b4ef4: f003 437f and.w r3, r3, #4278190080 ; 0xff000000 80b4ef8: 697a ldr r2, [r7, #20] 80b4efa: 4313 orrs r3, r2 80b4efc: 617b str r3, [r7, #20] 80b4efe: e005 b.n 80b4f0c } else { regValue |= (pLayerCfg->InputAlpha << DMA2D_BGPFCCR_ALPHA_Pos); 80b4f00: 693b ldr r3, [r7, #16] 80b4f02: 68db ldr r3, [r3, #12] 80b4f04: 061b lsls r3, r3, #24 80b4f06: 697a ldr r2, [r7, #20] 80b4f08: 4313 orrs r3, r2 80b4f0a: 617b str r3, [r7, #20] } /* Configure the background DMA2D layer */ if (LayerIdx == DMA2D_BACKGROUND_LAYER) 80b4f0c: 683b ldr r3, [r7, #0] 80b4f0e: 2b00 cmp r3, #0 80b4f10: d11f bne.n 80b4f52 { /* Write DMA2D BGPFCCR register */ MODIFY_REG(hdma2d->Instance->BGPFCCR, regMask, regValue); 80b4f12: 687b ldr r3, [r7, #4] 80b4f14: 681b ldr r3, [r3, #0] 80b4f16: 687a ldr r2, [r7, #4] 80b4f18: 6812 ldr r2, [r2, #0] 80b4f1a: 6a51 ldr r1, [r2, #36] ; 0x24 80b4f1c: 68fa ldr r2, [r7, #12] 80b4f1e: 43d2 mvns r2, r2 80b4f20: 4011 ands r1, r2 80b4f22: 697a ldr r2, [r7, #20] 80b4f24: 430a orrs r2, r1 80b4f26: 625a str r2, [r3, #36] ; 0x24 /* DMA2D BGOR register configuration -------------------------------------*/ WRITE_REG(hdma2d->Instance->BGOR, pLayerCfg->InputOffset); 80b4f28: 687b ldr r3, [r7, #4] 80b4f2a: 681b ldr r3, [r3, #0] 80b4f2c: 693a ldr r2, [r7, #16] 80b4f2e: 6812 ldr r2, [r2, #0] 80b4f30: 619a str r2, [r3, #24] /* DMA2D BGCOLR register configuration -------------------------------------*/ if ((pLayerCfg->InputColorMode == DMA2D_INPUT_A4) || (pLayerCfg->InputColorMode == DMA2D_INPUT_A8)) 80b4f32: 693b ldr r3, [r7, #16] 80b4f34: 685b ldr r3, [r3, #4] 80b4f36: 2b0a cmp r3, #10 80b4f38: d003 beq.n 80b4f42 80b4f3a: 693b ldr r3, [r7, #16] 80b4f3c: 685b ldr r3, [r3, #4] 80b4f3e: 2b09 cmp r3, #9 80b4f40: d126 bne.n 80b4f90 { WRITE_REG(hdma2d->Instance->BGCOLR, pLayerCfg->InputAlpha & (DMA2D_BGCOLR_BLUE | DMA2D_BGCOLR_GREEN | \ 80b4f42: 687b ldr r3, [r7, #4] 80b4f44: 681b ldr r3, [r3, #0] 80b4f46: 693a ldr r2, [r7, #16] 80b4f48: 68d2 ldr r2, [r2, #12] 80b4f4a: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 80b4f4e: 629a str r2, [r3, #40] ; 0x28 80b4f50: e01e b.n 80b4f90 else { /* Write DMA2D FGPFCCR register */ MODIFY_REG(hdma2d->Instance->FGPFCCR, regMask, regValue); 80b4f52: 687b ldr r3, [r7, #4] 80b4f54: 681b ldr r3, [r3, #0] 80b4f56: 687a ldr r2, [r7, #4] 80b4f58: 6812 ldr r2, [r2, #0] 80b4f5a: 69d1 ldr r1, [r2, #28] 80b4f5c: 68fa ldr r2, [r7, #12] 80b4f5e: 43d2 mvns r2, r2 80b4f60: 4011 ands r1, r2 80b4f62: 697a ldr r2, [r7, #20] 80b4f64: 430a orrs r2, r1 80b4f66: 61da str r2, [r3, #28] /* DMA2D FGOR register configuration -------------------------------------*/ WRITE_REG(hdma2d->Instance->FGOR, pLayerCfg->InputOffset); 80b4f68: 687b ldr r3, [r7, #4] 80b4f6a: 681b ldr r3, [r3, #0] 80b4f6c: 693a ldr r2, [r7, #16] 80b4f6e: 6812 ldr r2, [r2, #0] 80b4f70: 611a str r2, [r3, #16] /* DMA2D FGCOLR register configuration -------------------------------------*/ if ((pLayerCfg->InputColorMode == DMA2D_INPUT_A4) || (pLayerCfg->InputColorMode == DMA2D_INPUT_A8)) 80b4f72: 693b ldr r3, [r7, #16] 80b4f74: 685b ldr r3, [r3, #4] 80b4f76: 2b0a cmp r3, #10 80b4f78: d003 beq.n 80b4f82 80b4f7a: 693b ldr r3, [r7, #16] 80b4f7c: 685b ldr r3, [r3, #4] 80b4f7e: 2b09 cmp r3, #9 80b4f80: d106 bne.n 80b4f90 { WRITE_REG(hdma2d->Instance->FGCOLR, pLayerCfg->InputAlpha & (DMA2D_FGCOLR_BLUE | DMA2D_FGCOLR_GREEN | \ 80b4f82: 687b ldr r3, [r7, #4] 80b4f84: 681b ldr r3, [r3, #0] 80b4f86: 693a ldr r2, [r7, #16] 80b4f88: 68d2 ldr r2, [r2, #12] 80b4f8a: f022 427f bic.w r2, r2, #4278190080 ; 0xff000000 80b4f8e: 621a str r2, [r3, #32] DMA2D_FGCOLR_RED)); } } /* Initialize the DMA2D state*/ hdma2d->State = HAL_DMA2D_STATE_READY; 80b4f90: 687b ldr r3, [r7, #4] 80b4f92: 2201 movs r2, #1 80b4f94: f883 2051 strb.w r2, [r3, #81] ; 0x51 /* Process unlocked */ __HAL_UNLOCK(hdma2d); 80b4f98: 687b ldr r3, [r7, #4] 80b4f9a: 2200 movs r2, #0 80b4f9c: f883 2050 strb.w r2, [r3, #80] ; 0x50 return HAL_OK; 80b4fa0: 2300 movs r3, #0 } 80b4fa2: 4618 mov r0, r3 80b4fa4: 371c adds r7, #28 80b4fa6: 46bd mov sp, r7 80b4fa8: f85d 7b04 ldr.w r7, [sp], #4 80b4fac: 4770 bx lr 80b4fae: bf00 nop 80b4fb0: ff33000f .word 0xff33000f 080b4fb4 : * @param Height The height of data to be transferred from source to destination. * @retval HAL status */ static void DMA2D_SetConfig(DMA2D_HandleTypeDef *hdma2d, uint32_t pdata, uint32_t DstAddress, uint32_t Width, uint32_t Height) { 80b4fb4: b480 push {r7} 80b4fb6: b08b sub sp, #44 ; 0x2c 80b4fb8: af00 add r7, sp, #0 80b4fba: 60f8 str r0, [r7, #12] 80b4fbc: 60b9 str r1, [r7, #8] 80b4fbe: 607a str r2, [r7, #4] 80b4fc0: 603b str r3, [r7, #0] uint32_t tmp2; uint32_t tmp3; uint32_t tmp4; /* Configure DMA2D data size */ MODIFY_REG(hdma2d->Instance->NLR, (DMA2D_NLR_NL | DMA2D_NLR_PL), (Height | (Width << DMA2D_NLR_PL_Pos))); 80b4fc2: 68fb ldr r3, [r7, #12] 80b4fc4: 681b ldr r3, [r3, #0] 80b4fc6: 68fa ldr r2, [r7, #12] 80b4fc8: 6812 ldr r2, [r2, #0] 80b4fca: 6c52 ldr r2, [r2, #68] ; 0x44 80b4fcc: f002 4140 and.w r1, r2, #3221225472 ; 0xc0000000 80b4fd0: 683a ldr r2, [r7, #0] 80b4fd2: 0410 lsls r0, r2, #16 80b4fd4: 6b3a ldr r2, [r7, #48] ; 0x30 80b4fd6: 4302 orrs r2, r0 80b4fd8: 430a orrs r2, r1 80b4fda: 645a str r2, [r3, #68] ; 0x44 /* Configure DMA2D destination address */ WRITE_REG(hdma2d->Instance->OMAR, DstAddress); 80b4fdc: 68fb ldr r3, [r7, #12] 80b4fde: 681b ldr r3, [r3, #0] 80b4fe0: 687a ldr r2, [r7, #4] 80b4fe2: 63da str r2, [r3, #60] ; 0x3c /* Register to memory DMA2D mode selected */ if (hdma2d->Init.Mode == DMA2D_R2M) 80b4fe4: 68fb ldr r3, [r7, #12] 80b4fe6: 685b ldr r3, [r3, #4] 80b4fe8: f5b3 3f40 cmp.w r3, #196608 ; 0x30000 80b4fec: d174 bne.n 80b50d8 { tmp1 = pdata & DMA2D_OCOLR_ALPHA_1; 80b4fee: 68bb ldr r3, [r7, #8] 80b4ff0: f003 437f and.w r3, r3, #4278190080 ; 0xff000000 80b4ff4: 623b str r3, [r7, #32] tmp2 = pdata & DMA2D_OCOLR_RED_1; 80b4ff6: 68bb ldr r3, [r7, #8] 80b4ff8: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80b4ffc: 61fb str r3, [r7, #28] tmp3 = pdata & DMA2D_OCOLR_GREEN_1; 80b4ffe: 68bb ldr r3, [r7, #8] 80b5000: f403 437f and.w r3, r3, #65280 ; 0xff00 80b5004: 61bb str r3, [r7, #24] tmp4 = pdata & DMA2D_OCOLR_BLUE_1; 80b5006: 68bb ldr r3, [r7, #8] 80b5008: b2db uxtb r3, r3 80b500a: 617b str r3, [r7, #20] /* Prepare the value to be written to the OCOLR register according to the color mode */ if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_ARGB8888) 80b500c: 68fb ldr r3, [r7, #12] 80b500e: 689b ldr r3, [r3, #8] 80b5010: 2b00 cmp r3, #0 80b5012: d108 bne.n 80b5026 { tmp = (tmp3 | tmp2 | tmp1 | tmp4); 80b5014: 69ba ldr r2, [r7, #24] 80b5016: 69fb ldr r3, [r7, #28] 80b5018: 431a orrs r2, r3 80b501a: 6a3b ldr r3, [r7, #32] 80b501c: 431a orrs r2, r3 80b501e: 697b ldr r3, [r7, #20] 80b5020: 4313 orrs r3, r2 80b5022: 627b str r3, [r7, #36] ; 0x24 80b5024: e053 b.n 80b50ce } else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_RGB888) 80b5026: 68fb ldr r3, [r7, #12] 80b5028: 689b ldr r3, [r3, #8] 80b502a: 2b01 cmp r3, #1 80b502c: d106 bne.n 80b503c { tmp = (tmp3 | tmp2 | tmp4); 80b502e: 69ba ldr r2, [r7, #24] 80b5030: 69fb ldr r3, [r7, #28] 80b5032: 431a orrs r2, r3 80b5034: 697b ldr r3, [r7, #20] 80b5036: 4313 orrs r3, r2 80b5038: 627b str r3, [r7, #36] ; 0x24 80b503a: e048 b.n 80b50ce } else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_RGB565) 80b503c: 68fb ldr r3, [r7, #12] 80b503e: 689b ldr r3, [r3, #8] 80b5040: 2b02 cmp r3, #2 80b5042: d111 bne.n 80b5068 { tmp2 = (tmp2 >> 19U); 80b5044: 69fb ldr r3, [r7, #28] 80b5046: 0cdb lsrs r3, r3, #19 80b5048: 61fb str r3, [r7, #28] tmp3 = (tmp3 >> 10U); 80b504a: 69bb ldr r3, [r7, #24] 80b504c: 0a9b lsrs r3, r3, #10 80b504e: 61bb str r3, [r7, #24] tmp4 = (tmp4 >> 3U); 80b5050: 697b ldr r3, [r7, #20] 80b5052: 08db lsrs r3, r3, #3 80b5054: 617b str r3, [r7, #20] tmp = ((tmp3 << 5U) | (tmp2 << 11U) | tmp4); 80b5056: 69bb ldr r3, [r7, #24] 80b5058: 015a lsls r2, r3, #5 80b505a: 69fb ldr r3, [r7, #28] 80b505c: 02db lsls r3, r3, #11 80b505e: 431a orrs r2, r3 80b5060: 697b ldr r3, [r7, #20] 80b5062: 4313 orrs r3, r2 80b5064: 627b str r3, [r7, #36] ; 0x24 80b5066: e032 b.n 80b50ce } else if (hdma2d->Init.ColorMode == DMA2D_OUTPUT_ARGB1555) 80b5068: 68fb ldr r3, [r7, #12] 80b506a: 689b ldr r3, [r3, #8] 80b506c: 2b03 cmp r3, #3 80b506e: d117 bne.n 80b50a0 { tmp1 = (tmp1 >> 31U); 80b5070: 6a3b ldr r3, [r7, #32] 80b5072: 0fdb lsrs r3, r3, #31 80b5074: 623b str r3, [r7, #32] tmp2 = (tmp2 >> 19U); 80b5076: 69fb ldr r3, [r7, #28] 80b5078: 0cdb lsrs r3, r3, #19 80b507a: 61fb str r3, [r7, #28] tmp3 = (tmp3 >> 11U); 80b507c: 69bb ldr r3, [r7, #24] 80b507e: 0adb lsrs r3, r3, #11 80b5080: 61bb str r3, [r7, #24] tmp4 = (tmp4 >> 3U); 80b5082: 697b ldr r3, [r7, #20] 80b5084: 08db lsrs r3, r3, #3 80b5086: 617b str r3, [r7, #20] tmp = ((tmp3 << 5U) | (tmp2 << 10U) | (tmp1 << 15U) | tmp4); 80b5088: 69bb ldr r3, [r7, #24] 80b508a: 015a lsls r2, r3, #5 80b508c: 69fb ldr r3, [r7, #28] 80b508e: 029b lsls r3, r3, #10 80b5090: 431a orrs r2, r3 80b5092: 6a3b ldr r3, [r7, #32] 80b5094: 03db lsls r3, r3, #15 80b5096: 431a orrs r2, r3 80b5098: 697b ldr r3, [r7, #20] 80b509a: 4313 orrs r3, r2 80b509c: 627b str r3, [r7, #36] ; 0x24 80b509e: e016 b.n 80b50ce } else /* Dhdma2d->Init.ColorMode = DMA2D_OUTPUT_ARGB4444 */ { tmp1 = (tmp1 >> 28U); 80b50a0: 6a3b ldr r3, [r7, #32] 80b50a2: 0f1b lsrs r3, r3, #28 80b50a4: 623b str r3, [r7, #32] tmp2 = (tmp2 >> 20U); 80b50a6: 69fb ldr r3, [r7, #28] 80b50a8: 0d1b lsrs r3, r3, #20 80b50aa: 61fb str r3, [r7, #28] tmp3 = (tmp3 >> 12U); 80b50ac: 69bb ldr r3, [r7, #24] 80b50ae: 0b1b lsrs r3, r3, #12 80b50b0: 61bb str r3, [r7, #24] tmp4 = (tmp4 >> 4U); 80b50b2: 697b ldr r3, [r7, #20] 80b50b4: 091b lsrs r3, r3, #4 80b50b6: 617b str r3, [r7, #20] tmp = ((tmp3 << 4U) | (tmp2 << 8U) | (tmp1 << 12U) | tmp4); 80b50b8: 69bb ldr r3, [r7, #24] 80b50ba: 011a lsls r2, r3, #4 80b50bc: 69fb ldr r3, [r7, #28] 80b50be: 021b lsls r3, r3, #8 80b50c0: 431a orrs r2, r3 80b50c2: 6a3b ldr r3, [r7, #32] 80b50c4: 031b lsls r3, r3, #12 80b50c6: 431a orrs r2, r3 80b50c8: 697b ldr r3, [r7, #20] 80b50ca: 4313 orrs r3, r2 80b50cc: 627b str r3, [r7, #36] ; 0x24 } /* Write to DMA2D OCOLR register */ WRITE_REG(hdma2d->Instance->OCOLR, tmp); 80b50ce: 68fb ldr r3, [r7, #12] 80b50d0: 681b ldr r3, [r3, #0] 80b50d2: 6a7a ldr r2, [r7, #36] ; 0x24 80b50d4: 639a str r2, [r3, #56] ; 0x38 else /* M2M, M2M_PFC or M2M_Blending DMA2D Mode */ { /* Configure DMA2D source address */ WRITE_REG(hdma2d->Instance->FGMAR, pdata); } } 80b50d6: e003 b.n 80b50e0 WRITE_REG(hdma2d->Instance->FGMAR, pdata); 80b50d8: 68fb ldr r3, [r7, #12] 80b50da: 681b ldr r3, [r3, #0] 80b50dc: 68ba ldr r2, [r7, #8] 80b50de: 60da str r2, [r3, #12] } 80b50e0: bf00 nop 80b50e2: 372c adds r7, #44 ; 0x2c 80b50e4: 46bd mov sp, r7 80b50e6: f85d 7b04 ldr.w r7, [sp], #4 80b50ea: 4770 bx lr 080b50ec : * @param Data specifies the data to be programmed * * @retval HAL_StatusTypeDef HAL Status */ HAL_StatusTypeDef HAL_FLASH_Program(uint32_t TypeProgram, uint32_t Address, uint64_t Data) { 80b50ec: b580 push {r7, lr} 80b50ee: b086 sub sp, #24 80b50f0: af00 add r7, sp, #0 80b50f2: 60f8 str r0, [r7, #12] 80b50f4: 60b9 str r1, [r7, #8] 80b50f6: e9c7 2300 strd r2, r3, [r7] HAL_StatusTypeDef status = HAL_ERROR; 80b50fa: 2301 movs r3, #1 80b50fc: 75fb strb r3, [r7, #23] /* Process Locked */ __HAL_LOCK(&pFlash); 80b50fe: 4b27 ldr r3, [pc, #156] ; (80b519c ) 80b5100: 7d1b ldrb r3, [r3, #20] 80b5102: 2b01 cmp r3, #1 80b5104: d101 bne.n 80b510a 80b5106: 2302 movs r3, #2 80b5108: e043 b.n 80b5192 80b510a: 4b24 ldr r3, [pc, #144] ; (80b519c ) 80b510c: 2201 movs r2, #1 80b510e: 751a strb r2, [r3, #20] /* Check the parameters */ assert_param(IS_FLASH_TYPEPROGRAM(TypeProgram)); /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); 80b5110: f24c 3050 movw r0, #50000 ; 0xc350 80b5114: f000 f878 bl 80b5208 80b5118: 4603 mov r3, r0 80b511a: 75fb strb r3, [r7, #23] if(status == HAL_OK) 80b511c: 7dfb ldrb r3, [r7, #23] 80b511e: 2b00 cmp r3, #0 80b5120: d133 bne.n 80b518a { switch(TypeProgram) 80b5122: 68fb ldr r3, [r7, #12] 80b5124: 2b03 cmp r3, #3 80b5126: d823 bhi.n 80b5170 80b5128: a201 add r2, pc, #4 ; (adr r2, 80b5130 ) 80b512a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80b512e: bf00 nop 80b5130: 080b5141 .word 0x080b5141 80b5134: 080b514d .word 0x080b514d 80b5138: 080b5159 .word 0x080b5159 80b513c: 080b5165 .word 0x080b5165 { case FLASH_TYPEPROGRAM_BYTE : { /*Program byte (8-bit) at a specified address.*/ FLASH_Program_Byte(Address, (uint8_t) Data); 80b5140: 783b ldrb r3, [r7, #0] 80b5142: 4619 mov r1, r3 80b5144: 68b8 ldr r0, [r7, #8] 80b5146: f000 f919 bl 80b537c break; 80b514a: e012 b.n 80b5172 } case FLASH_TYPEPROGRAM_HALFWORD : { /*Program halfword (16-bit) at a specified address.*/ FLASH_Program_HalfWord(Address, (uint16_t) Data); 80b514c: 883b ldrh r3, [r7, #0] 80b514e: 4619 mov r1, r3 80b5150: 68b8 ldr r0, [r7, #8] 80b5152: f000 f8ed bl 80b5330 break; 80b5156: e00c b.n 80b5172 } case FLASH_TYPEPROGRAM_WORD : { /*Program word (32-bit) at a specified address.*/ FLASH_Program_Word(Address, (uint32_t) Data); 80b5158: 683b ldr r3, [r7, #0] 80b515a: 4619 mov r1, r3 80b515c: 68b8 ldr r0, [r7, #8] 80b515e: f000 f8c3 bl 80b52e8 break; 80b5162: e006 b.n 80b5172 } case FLASH_TYPEPROGRAM_DOUBLEWORD : { /*Program double word (64-bit) at a specified address.*/ FLASH_Program_DoubleWord(Address, Data); 80b5164: e9d7 2300 ldrd r2, r3, [r7] 80b5168: 68b8 ldr r0, [r7, #8] 80b516a: f000 f88d bl 80b5288 break; 80b516e: e000 b.n 80b5172 } default : break; 80b5170: bf00 nop } /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); 80b5172: f24c 3050 movw r0, #50000 ; 0xc350 80b5176: f000 f847 bl 80b5208 80b517a: 4603 mov r3, r0 80b517c: 75fb strb r3, [r7, #23] /* If the program operation is completed, disable the PG Bit */ FLASH->CR &= (~FLASH_CR_PG); 80b517e: 4a08 ldr r2, [pc, #32] ; (80b51a0 ) 80b5180: 4b07 ldr r3, [pc, #28] ; (80b51a0 ) 80b5182: 691b ldr r3, [r3, #16] 80b5184: f023 0301 bic.w r3, r3, #1 80b5188: 6113 str r3, [r2, #16] } /* Process Unlocked */ __HAL_UNLOCK(&pFlash); 80b518a: 4b04 ldr r3, [pc, #16] ; (80b519c ) 80b518c: 2200 movs r2, #0 80b518e: 751a strb r2, [r3, #20] return status; 80b5190: 7dfb ldrb r3, [r7, #23] } 80b5192: 4618 mov r0, r3 80b5194: 3718 adds r7, #24 80b5196: 46bd mov sp, r7 80b5198: bd80 pop {r7, pc} 80b519a: bf00 nop 80b519c: 20068aac .word 0x20068aac 80b51a0: 40023c00 .word 0x40023c00 080b51a4 : /** * @brief Unlock the FLASH control register access * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASH_Unlock(void) { 80b51a4: b480 push {r7} 80b51a6: b083 sub sp, #12 80b51a8: af00 add r7, sp, #0 HAL_StatusTypeDef status = HAL_OK; 80b51aa: 2300 movs r3, #0 80b51ac: 71fb strb r3, [r7, #7] if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET) 80b51ae: 4b0b ldr r3, [pc, #44] ; (80b51dc ) 80b51b0: 691b ldr r3, [r3, #16] 80b51b2: 2b00 cmp r3, #0 80b51b4: da0b bge.n 80b51ce { /* Authorize the FLASH Registers access */ WRITE_REG(FLASH->KEYR, FLASH_KEY1); 80b51b6: 4b09 ldr r3, [pc, #36] ; (80b51dc ) 80b51b8: 4a09 ldr r2, [pc, #36] ; (80b51e0 ) 80b51ba: 605a str r2, [r3, #4] WRITE_REG(FLASH->KEYR, FLASH_KEY2); 80b51bc: 4b07 ldr r3, [pc, #28] ; (80b51dc ) 80b51be: 4a09 ldr r2, [pc, #36] ; (80b51e4 ) 80b51c0: 605a str r2, [r3, #4] /* Verify Flash is unlocked */ if(READ_BIT(FLASH->CR, FLASH_CR_LOCK) != RESET) 80b51c2: 4b06 ldr r3, [pc, #24] ; (80b51dc ) 80b51c4: 691b ldr r3, [r3, #16] 80b51c6: 2b00 cmp r3, #0 80b51c8: da01 bge.n 80b51ce { status = HAL_ERROR; 80b51ca: 2301 movs r3, #1 80b51cc: 71fb strb r3, [r7, #7] } } return status; 80b51ce: 79fb ldrb r3, [r7, #7] } 80b51d0: 4618 mov r0, r3 80b51d2: 370c adds r7, #12 80b51d4: 46bd mov sp, r7 80b51d6: f85d 7b04 ldr.w r7, [sp], #4 80b51da: 4770 bx lr 80b51dc: 40023c00 .word 0x40023c00 80b51e0: 45670123 .word 0x45670123 80b51e4: cdef89ab .word 0xcdef89ab 080b51e8 : /** * @brief Locks the FLASH control register access * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASH_Lock(void) { 80b51e8: b480 push {r7} 80b51ea: af00 add r7, sp, #0 /* Set the LOCK Bit to lock the FLASH Registers access */ FLASH->CR |= FLASH_CR_LOCK; 80b51ec: 4a05 ldr r2, [pc, #20] ; (80b5204 ) 80b51ee: 4b05 ldr r3, [pc, #20] ; (80b5204 ) 80b51f0: 691b ldr r3, [r3, #16] 80b51f2: f043 4300 orr.w r3, r3, #2147483648 ; 0x80000000 80b51f6: 6113 str r3, [r2, #16] return HAL_OK; 80b51f8: 2300 movs r3, #0 } 80b51fa: 4618 mov r0, r3 80b51fc: 46bd mov sp, r7 80b51fe: f85d 7b04 ldr.w r7, [sp], #4 80b5202: 4770 bx lr 80b5204: 40023c00 .word 0x40023c00 080b5208 : * @brief Wait for a FLASH operation to complete. * @param Timeout maximum flash operationtimeout * @retval HAL Status */ HAL_StatusTypeDef FLASH_WaitForLastOperation(uint32_t Timeout) { 80b5208: b580 push {r7, lr} 80b520a: b084 sub sp, #16 80b520c: af00 add r7, sp, #0 80b520e: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80b5210: 2300 movs r3, #0 80b5212: 60fb str r3, [r7, #12] /* Clear Error Code */ pFlash.ErrorCode = HAL_FLASH_ERROR_NONE; 80b5214: 4b1a ldr r3, [pc, #104] ; (80b5280 ) 80b5216: 2200 movs r2, #0 80b5218: 619a str r2, [r3, #24] /* Wait for the FLASH operation to complete by polling on BUSY flag to be reset. Even if the FLASH operation fails, the BUSY flag will be reset and an error flag will be set */ /* Get tick */ tickstart = HAL_GetTick(); 80b521a: f7fe f829 bl 80b3270 80b521e: 60f8 str r0, [r7, #12] while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY) != RESET) 80b5220: e010 b.n 80b5244 { if(Timeout != HAL_MAX_DELAY) 80b5222: 687b ldr r3, [r7, #4] 80b5224: f1b3 3fff cmp.w r3, #4294967295 80b5228: d00c beq.n 80b5244 { if((Timeout == 0)||((HAL_GetTick() - tickstart ) > Timeout)) 80b522a: 687b ldr r3, [r7, #4] 80b522c: 2b00 cmp r3, #0 80b522e: d007 beq.n 80b5240 80b5230: f7fe f81e bl 80b3270 80b5234: 4602 mov r2, r0 80b5236: 68fb ldr r3, [r7, #12] 80b5238: 1ad2 subs r2, r2, r3 80b523a: 687b ldr r3, [r7, #4] 80b523c: 429a cmp r2, r3 80b523e: d901 bls.n 80b5244 { return HAL_TIMEOUT; 80b5240: 2303 movs r3, #3 80b5242: e019 b.n 80b5278 while(__HAL_FLASH_GET_FLAG(FLASH_FLAG_BSY) != RESET) 80b5244: 4b0f ldr r3, [pc, #60] ; (80b5284 ) 80b5246: 68db ldr r3, [r3, #12] 80b5248: f403 3380 and.w r3, r3, #65536 ; 0x10000 80b524c: 2b00 cmp r3, #0 80b524e: d1e8 bne.n 80b5222 } } } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_ALL_ERRORS) != RESET) 80b5250: 4b0c ldr r3, [pc, #48] ; (80b5284 ) 80b5252: 68db ldr r3, [r3, #12] 80b5254: f003 03f2 and.w r3, r3, #242 ; 0xf2 80b5258: 2b00 cmp r3, #0 80b525a: d003 beq.n 80b5264 { /*Save the error code*/ FLASH_SetErrorCode(); 80b525c: f000 f8b2 bl 80b53c4 return HAL_ERROR; 80b5260: 2301 movs r3, #1 80b5262: e009 b.n 80b5278 } /* Check FLASH End of Operation flag */ if (__HAL_FLASH_GET_FLAG(FLASH_FLAG_EOP) != RESET) 80b5264: 4b07 ldr r3, [pc, #28] ; (80b5284 ) 80b5266: 68db ldr r3, [r3, #12] 80b5268: f003 0301 and.w r3, r3, #1 80b526c: 2b00 cmp r3, #0 80b526e: d002 beq.n 80b5276 { /* Clear FLASH End of Operation pending bit */ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_EOP); 80b5270: 4b04 ldr r3, [pc, #16] ; (80b5284 ) 80b5272: 2201 movs r2, #1 80b5274: 60da str r2, [r3, #12] } /* If there is an error flag set */ return HAL_OK; 80b5276: 2300 movs r3, #0 } 80b5278: 4618 mov r0, r3 80b527a: 3710 adds r7, #16 80b527c: 46bd mov sp, r7 80b527e: bd80 pop {r7, pc} 80b5280: 20068aac .word 0x20068aac 80b5284: 40023c00 .word 0x40023c00 080b5288 : * @param Address specifies the address to be programmed. * @param Data specifies the data to be programmed. * @retval None */ static void FLASH_Program_DoubleWord(uint32_t Address, uint64_t Data) { 80b5288: b4f0 push {r4, r5, r6, r7} 80b528a: b084 sub sp, #16 80b528c: af00 add r7, sp, #0 80b528e: 60f8 str r0, [r7, #12] 80b5290: e9c7 2300 strd r2, r3, [r7] /* Check the parameters */ assert_param(IS_FLASH_ADDRESS(Address)); /* If the previous operation is completed, proceed to program the new data */ FLASH->CR &= CR_PSIZE_MASK; 80b5294: 4a13 ldr r2, [pc, #76] ; (80b52e4 ) 80b5296: 4b13 ldr r3, [pc, #76] ; (80b52e4 ) 80b5298: 691b ldr r3, [r3, #16] 80b529a: f423 7340 bic.w r3, r3, #768 ; 0x300 80b529e: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_DOUBLE_WORD; 80b52a0: 4a10 ldr r2, [pc, #64] ; (80b52e4 ) 80b52a2: 4b10 ldr r3, [pc, #64] ; (80b52e4 ) 80b52a4: 691b ldr r3, [r3, #16] 80b52a6: f443 7340 orr.w r3, r3, #768 ; 0x300 80b52aa: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b52ac: 4a0d ldr r2, [pc, #52] ; (80b52e4 ) 80b52ae: 4b0d ldr r3, [pc, #52] ; (80b52e4 ) 80b52b0: 691b ldr r3, [r3, #16] 80b52b2: f043 0301 orr.w r3, r3, #1 80b52b6: 6113 str r3, [r2, #16] /* Program first word */ *(__IO uint32_t*)Address = (uint32_t)Data; 80b52b8: 68fb ldr r3, [r7, #12] 80b52ba: 683a ldr r2, [r7, #0] 80b52bc: 601a str r2, [r3, #0] 80b52be: f3bf 8f6f isb sy /* Barrier to ensure programming is performed in 2 steps, in right order (independently of compiler optimization behavior) */ __ISB(); /* Program second word */ *(__IO uint32_t*)(Address+4) = (uint32_t)(Data >> 32); 80b52c2: 68fb ldr r3, [r7, #12] 80b52c4: 3304 adds r3, #4 80b52c6: 461a mov r2, r3 80b52c8: e897 0018 ldmia.w r7, {r3, r4} 80b52cc: 0025 movs r5, r4 80b52ce: 2600 movs r6, #0 80b52d0: 462b mov r3, r5 80b52d2: 6013 str r3, [r2, #0] __ASM volatile ("dsb 0xF":::"memory"); 80b52d4: f3bf 8f4f dsb sy /* Data synchronous Barrier (DSB) Just after the write operation This will force the CPU to respect the sequence of instruction (no optimization).*/ __DSB(); } 80b52d8: bf00 nop 80b52da: 3710 adds r7, #16 80b52dc: 46bd mov sp, r7 80b52de: bcf0 pop {r4, r5, r6, r7} 80b52e0: 4770 bx lr 80b52e2: bf00 nop 80b52e4: 40023c00 .word 0x40023c00 080b52e8 : * @param Address specifies the address to be programmed. * @param Data specifies the data to be programmed. * @retval None */ static void FLASH_Program_Word(uint32_t Address, uint32_t Data) { 80b52e8: b480 push {r7} 80b52ea: b083 sub sp, #12 80b52ec: af00 add r7, sp, #0 80b52ee: 6078 str r0, [r7, #4] 80b52f0: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_FLASH_ADDRESS(Address)); /* If the previous operation is completed, proceed to program the new data */ FLASH->CR &= CR_PSIZE_MASK; 80b52f2: 4a0e ldr r2, [pc, #56] ; (80b532c ) 80b52f4: 4b0d ldr r3, [pc, #52] ; (80b532c ) 80b52f6: 691b ldr r3, [r3, #16] 80b52f8: f423 7340 bic.w r3, r3, #768 ; 0x300 80b52fc: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_WORD; 80b52fe: 4a0b ldr r2, [pc, #44] ; (80b532c ) 80b5300: 4b0a ldr r3, [pc, #40] ; (80b532c ) 80b5302: 691b ldr r3, [r3, #16] 80b5304: f443 7300 orr.w r3, r3, #512 ; 0x200 80b5308: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b530a: 4a08 ldr r2, [pc, #32] ; (80b532c ) 80b530c: 4b07 ldr r3, [pc, #28] ; (80b532c ) 80b530e: 691b ldr r3, [r3, #16] 80b5310: f043 0301 orr.w r3, r3, #1 80b5314: 6113 str r3, [r2, #16] *(__IO uint32_t*)Address = Data; 80b5316: 687b ldr r3, [r7, #4] 80b5318: 683a ldr r2, [r7, #0] 80b531a: 601a str r2, [r3, #0] 80b531c: f3bf 8f4f dsb sy /* Data synchronous Barrier (DSB) Just after the write operation This will force the CPU to respect the sequence of instruction (no optimization).*/ __DSB(); } 80b5320: bf00 nop 80b5322: 370c adds r7, #12 80b5324: 46bd mov sp, r7 80b5326: f85d 7b04 ldr.w r7, [sp], #4 80b532a: 4770 bx lr 80b532c: 40023c00 .word 0x40023c00 080b5330 : * @param Address specifies the address to be programmed. * @param Data specifies the data to be programmed. * @retval None */ static void FLASH_Program_HalfWord(uint32_t Address, uint16_t Data) { 80b5330: b480 push {r7} 80b5332: b083 sub sp, #12 80b5334: af00 add r7, sp, #0 80b5336: 6078 str r0, [r7, #4] 80b5338: 460b mov r3, r1 80b533a: 807b strh r3, [r7, #2] /* Check the parameters */ assert_param(IS_FLASH_ADDRESS(Address)); /* If the previous operation is completed, proceed to program the new data */ FLASH->CR &= CR_PSIZE_MASK; 80b533c: 4a0e ldr r2, [pc, #56] ; (80b5378 ) 80b533e: 4b0e ldr r3, [pc, #56] ; (80b5378 ) 80b5340: 691b ldr r3, [r3, #16] 80b5342: f423 7340 bic.w r3, r3, #768 ; 0x300 80b5346: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_HALF_WORD; 80b5348: 4a0b ldr r2, [pc, #44] ; (80b5378 ) 80b534a: 4b0b ldr r3, [pc, #44] ; (80b5378 ) 80b534c: 691b ldr r3, [r3, #16] 80b534e: f443 7380 orr.w r3, r3, #256 ; 0x100 80b5352: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b5354: 4a08 ldr r2, [pc, #32] ; (80b5378 ) 80b5356: 4b08 ldr r3, [pc, #32] ; (80b5378 ) 80b5358: 691b ldr r3, [r3, #16] 80b535a: f043 0301 orr.w r3, r3, #1 80b535e: 6113 str r3, [r2, #16] *(__IO uint16_t*)Address = Data; 80b5360: 687b ldr r3, [r7, #4] 80b5362: 887a ldrh r2, [r7, #2] 80b5364: 801a strh r2, [r3, #0] 80b5366: f3bf 8f4f dsb sy /* Data synchronous Barrier (DSB) Just after the write operation This will force the CPU to respect the sequence of instruction (no optimization).*/ __DSB(); } 80b536a: bf00 nop 80b536c: 370c adds r7, #12 80b536e: 46bd mov sp, r7 80b5370: f85d 7b04 ldr.w r7, [sp], #4 80b5374: 4770 bx lr 80b5376: bf00 nop 80b5378: 40023c00 .word 0x40023c00 080b537c : * @param Address specifies the address to be programmed. * @param Data specifies the data to be programmed. * @retval None */ static void FLASH_Program_Byte(uint32_t Address, uint8_t Data) { 80b537c: b480 push {r7} 80b537e: b083 sub sp, #12 80b5380: af00 add r7, sp, #0 80b5382: 6078 str r0, [r7, #4] 80b5384: 460b mov r3, r1 80b5386: 70fb strb r3, [r7, #3] /* Check the parameters */ assert_param(IS_FLASH_ADDRESS(Address)); /* If the previous operation is completed, proceed to program the new data */ FLASH->CR &= CR_PSIZE_MASK; 80b5388: 4a0d ldr r2, [pc, #52] ; (80b53c0 ) 80b538a: 4b0d ldr r3, [pc, #52] ; (80b53c0 ) 80b538c: 691b ldr r3, [r3, #16] 80b538e: f423 7340 bic.w r3, r3, #768 ; 0x300 80b5392: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_PSIZE_BYTE; 80b5394: 4a0a ldr r2, [pc, #40] ; (80b53c0 ) 80b5396: 4b0a ldr r3, [pc, #40] ; (80b53c0 ) 80b5398: 691b ldr r3, [r3, #16] 80b539a: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_PG; 80b539c: 4a08 ldr r2, [pc, #32] ; (80b53c0 ) 80b539e: 4b08 ldr r3, [pc, #32] ; (80b53c0 ) 80b53a0: 691b ldr r3, [r3, #16] 80b53a2: f043 0301 orr.w r3, r3, #1 80b53a6: 6113 str r3, [r2, #16] *(__IO uint8_t*)Address = Data; 80b53a8: 687b ldr r3, [r7, #4] 80b53aa: 78fa ldrb r2, [r7, #3] 80b53ac: 701a strb r2, [r3, #0] 80b53ae: f3bf 8f4f dsb sy /* Data synchronous Barrier (DSB) Just after the write operation This will force the CPU to respect the sequence of instruction (no optimization).*/ __DSB(); } 80b53b2: bf00 nop 80b53b4: 370c adds r7, #12 80b53b6: 46bd mov sp, r7 80b53b8: f85d 7b04 ldr.w r7, [sp], #4 80b53bc: 4770 bx lr 80b53be: bf00 nop 80b53c0: 40023c00 .word 0x40023c00 080b53c4 : /** * @brief Set the specific FLASH error flag. * @retval None */ static void FLASH_SetErrorCode(void) { 80b53c4: b480 push {r7} 80b53c6: af00 add r7, sp, #0 if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_OPERR) != RESET) 80b53c8: 4b21 ldr r3, [pc, #132] ; (80b5450 ) 80b53ca: 68db ldr r3, [r3, #12] 80b53cc: f003 0302 and.w r3, r3, #2 80b53d0: 2b00 cmp r3, #0 80b53d2: d005 beq.n 80b53e0 { pFlash.ErrorCode |= HAL_FLASH_ERROR_OPERATION; 80b53d4: 4b1f ldr r3, [pc, #124] ; (80b5454 ) 80b53d6: 699b ldr r3, [r3, #24] 80b53d8: f043 0320 orr.w r3, r3, #32 80b53dc: 4a1d ldr r2, [pc, #116] ; (80b5454 ) 80b53de: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_WRPERR) != RESET) 80b53e0: 4b1b ldr r3, [pc, #108] ; (80b5450 ) 80b53e2: 68db ldr r3, [r3, #12] 80b53e4: f003 0310 and.w r3, r3, #16 80b53e8: 2b00 cmp r3, #0 80b53ea: d005 beq.n 80b53f8 { pFlash.ErrorCode |= HAL_FLASH_ERROR_WRP; 80b53ec: 4b19 ldr r3, [pc, #100] ; (80b5454 ) 80b53ee: 699b ldr r3, [r3, #24] 80b53f0: f043 0310 orr.w r3, r3, #16 80b53f4: 4a17 ldr r2, [pc, #92] ; (80b5454 ) 80b53f6: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGAERR) != RESET) 80b53f8: 4b15 ldr r3, [pc, #84] ; (80b5450 ) 80b53fa: 68db ldr r3, [r3, #12] 80b53fc: f003 0320 and.w r3, r3, #32 80b5400: 2b00 cmp r3, #0 80b5402: d005 beq.n 80b5410 { pFlash.ErrorCode |= HAL_FLASH_ERROR_PGA; 80b5404: 4b13 ldr r3, [pc, #76] ; (80b5454 ) 80b5406: 699b ldr r3, [r3, #24] 80b5408: f043 0308 orr.w r3, r3, #8 80b540c: 4a11 ldr r2, [pc, #68] ; (80b5454 ) 80b540e: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_PGPERR) != RESET) 80b5410: 4b0f ldr r3, [pc, #60] ; (80b5450 ) 80b5412: 68db ldr r3, [r3, #12] 80b5414: f003 0340 and.w r3, r3, #64 ; 0x40 80b5418: 2b00 cmp r3, #0 80b541a: d005 beq.n 80b5428 { pFlash.ErrorCode |= HAL_FLASH_ERROR_PGP; 80b541c: 4b0d ldr r3, [pc, #52] ; (80b5454 ) 80b541e: 699b ldr r3, [r3, #24] 80b5420: f043 0304 orr.w r3, r3, #4 80b5424: 4a0b ldr r2, [pc, #44] ; (80b5454 ) 80b5426: 6193 str r3, [r2, #24] } if(__HAL_FLASH_GET_FLAG(FLASH_FLAG_ERSERR) != RESET) 80b5428: 4b09 ldr r3, [pc, #36] ; (80b5450 ) 80b542a: 68db ldr r3, [r3, #12] 80b542c: f003 0380 and.w r3, r3, #128 ; 0x80 80b5430: 2b00 cmp r3, #0 80b5432: d005 beq.n 80b5440 { pFlash.ErrorCode |= HAL_FLASH_ERROR_ERS; 80b5434: 4b07 ldr r3, [pc, #28] ; (80b5454 ) 80b5436: 699b ldr r3, [r3, #24] 80b5438: f043 0302 orr.w r3, r3, #2 80b543c: 4a05 ldr r2, [pc, #20] ; (80b5454 ) 80b543e: 6193 str r3, [r2, #24] pFlash.ErrorCode |= HAL_FLASH_ERROR_RD; } #endif /* FLASH_OPTCR2_PCROP */ /* Clear error programming flags */ __HAL_FLASH_CLEAR_FLAG(FLASH_FLAG_ALL_ERRORS); 80b5440: 4b03 ldr r3, [pc, #12] ; (80b5450 ) 80b5442: 22f2 movs r2, #242 ; 0xf2 80b5444: 60da str r2, [r3, #12] } 80b5446: bf00 nop 80b5448: 46bd mov sp, r7 80b544a: f85d 7b04 ldr.w r7, [sp], #4 80b544e: 4770 bx lr 80b5450: 40023c00 .word 0x40023c00 80b5454: 20068aac .word 0x20068aac 080b5458 : * (0xFFFFFFFF means that all the sectors have been correctly erased) * * @retval HAL Status */ HAL_StatusTypeDef HAL_FLASHEx_Erase(FLASH_EraseInitTypeDef *pEraseInit, uint32_t *SectorError) { 80b5458: b580 push {r7, lr} 80b545a: b084 sub sp, #16 80b545c: af00 add r7, sp, #0 80b545e: 6078 str r0, [r7, #4] 80b5460: 6039 str r1, [r7, #0] HAL_StatusTypeDef status = HAL_ERROR; 80b5462: 2301 movs r3, #1 80b5464: 73fb strb r3, [r7, #15] uint32_t index = 0; 80b5466: 2300 movs r3, #0 80b5468: 60bb str r3, [r7, #8] /* Process Locked */ __HAL_LOCK(&pFlash); 80b546a: 4b30 ldr r3, [pc, #192] ; (80b552c ) 80b546c: 7d1b ldrb r3, [r3, #20] 80b546e: 2b01 cmp r3, #1 80b5470: d101 bne.n 80b5476 80b5472: 2302 movs r3, #2 80b5474: e056 b.n 80b5524 80b5476: 4b2d ldr r3, [pc, #180] ; (80b552c ) 80b5478: 2201 movs r2, #1 80b547a: 751a strb r2, [r3, #20] /* Check the parameters */ assert_param(IS_FLASH_TYPEERASE(pEraseInit->TypeErase)); /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); 80b547c: f24c 3050 movw r0, #50000 ; 0xc350 80b5480: f7ff fec2 bl 80b5208 80b5484: 4603 mov r3, r0 80b5486: 73fb strb r3, [r7, #15] if(status == HAL_OK) 80b5488: 7bfb ldrb r3, [r7, #15] 80b548a: 2b00 cmp r3, #0 80b548c: d146 bne.n 80b551c { /*Initialization of SectorError variable*/ *SectorError = 0xFFFFFFFFU; 80b548e: 683b ldr r3, [r7, #0] 80b5490: f04f 32ff mov.w r2, #4294967295 80b5494: 601a str r2, [r3, #0] if(pEraseInit->TypeErase == FLASH_TYPEERASE_MASSERASE) 80b5496: 687b ldr r3, [r7, #4] 80b5498: 681b ldr r3, [r3, #0] 80b549a: 2b01 cmp r3, #1 80b549c: d115 bne.n 80b54ca { /*Mass erase to be done*/ #if defined (FLASH_OPTCR_nDBANK) FLASH_MassErase((uint8_t) pEraseInit->VoltageRange, pEraseInit->Banks); 80b549e: 687b ldr r3, [r7, #4] 80b54a0: 691b ldr r3, [r3, #16] 80b54a2: b2da uxtb r2, r3 80b54a4: 687b ldr r3, [r7, #4] 80b54a6: 685b ldr r3, [r3, #4] 80b54a8: 4619 mov r1, r3 80b54aa: 4610 mov r0, r2 80b54ac: f000 f844 bl 80b5538 #else FLASH_MassErase((uint8_t) pEraseInit->VoltageRange); #endif /* FLASH_OPTCR_nDBANK */ /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); 80b54b0: f24c 3050 movw r0, #50000 ; 0xc350 80b54b4: f7ff fea8 bl 80b5208 80b54b8: 4603 mov r3, r0 80b54ba: 73fb strb r3, [r7, #15] /* if the erase operation is completed, disable the MER Bit */ FLASH->CR &= (~FLASH_MER_BIT); 80b54bc: 491c ldr r1, [pc, #112] ; (80b5530 ) 80b54be: 4b1c ldr r3, [pc, #112] ; (80b5530 ) 80b54c0: 691a ldr r2, [r3, #16] 80b54c2: 4b1c ldr r3, [pc, #112] ; (80b5534 ) 80b54c4: 4013 ands r3, r2 80b54c6: 610b str r3, [r1, #16] 80b54c8: e028 b.n 80b551c { /* Check the parameters */ assert_param(IS_FLASH_NBSECTORS(pEraseInit->NbSectors + pEraseInit->Sector)); /* Erase by sector by sector to be done*/ for(index = pEraseInit->Sector; index < (pEraseInit->NbSectors + pEraseInit->Sector); index++) 80b54ca: 687b ldr r3, [r7, #4] 80b54cc: 689b ldr r3, [r3, #8] 80b54ce: 60bb str r3, [r7, #8] 80b54d0: e01c b.n 80b550c { FLASH_Erase_Sector(index, (uint8_t) pEraseInit->VoltageRange); 80b54d2: 687b ldr r3, [r7, #4] 80b54d4: 691b ldr r3, [r3, #16] 80b54d6: b2db uxtb r3, r3 80b54d8: 4619 mov r1, r3 80b54da: 68b8 ldr r0, [r7, #8] 80b54dc: f000 f866 bl 80b55ac /* Wait for last operation to be completed */ status = FLASH_WaitForLastOperation((uint32_t)FLASH_TIMEOUT_VALUE); 80b54e0: f24c 3050 movw r0, #50000 ; 0xc350 80b54e4: f7ff fe90 bl 80b5208 80b54e8: 4603 mov r3, r0 80b54ea: 73fb strb r3, [r7, #15] /* If the erase operation is completed, disable the SER Bit and SNB Bits */ CLEAR_BIT(FLASH->CR, (FLASH_CR_SER | FLASH_CR_SNB)); 80b54ec: 4a10 ldr r2, [pc, #64] ; (80b5530 ) 80b54ee: 4b10 ldr r3, [pc, #64] ; (80b5530 ) 80b54f0: 691b ldr r3, [r3, #16] 80b54f2: f023 03fa bic.w r3, r3, #250 ; 0xfa 80b54f6: 6113 str r3, [r2, #16] if(status != HAL_OK) 80b54f8: 7bfb ldrb r3, [r7, #15] 80b54fa: 2b00 cmp r3, #0 80b54fc: d003 beq.n 80b5506 { /* In case of error, stop erase procedure and return the faulty sector*/ *SectorError = index; 80b54fe: 683b ldr r3, [r7, #0] 80b5500: 68ba ldr r2, [r7, #8] 80b5502: 601a str r2, [r3, #0] break; 80b5504: e00a b.n 80b551c for(index = pEraseInit->Sector; index < (pEraseInit->NbSectors + pEraseInit->Sector); index++) 80b5506: 68bb ldr r3, [r7, #8] 80b5508: 3301 adds r3, #1 80b550a: 60bb str r3, [r7, #8] 80b550c: 687b ldr r3, [r7, #4] 80b550e: 68da ldr r2, [r3, #12] 80b5510: 687b ldr r3, [r7, #4] 80b5512: 689b ldr r3, [r3, #8] 80b5514: 441a add r2, r3 80b5516: 68bb ldr r3, [r7, #8] 80b5518: 429a cmp r2, r3 80b551a: d8da bhi.n 80b54d2 } } } /* Process Unlocked */ __HAL_UNLOCK(&pFlash); 80b551c: 4b03 ldr r3, [pc, #12] ; (80b552c ) 80b551e: 2200 movs r2, #0 80b5520: 751a strb r2, [r3, #20] return status; 80b5522: 7bfb ldrb r3, [r7, #15] } 80b5524: 4618 mov r0, r3 80b5526: 3710 adds r7, #16 80b5528: 46bd mov sp, r7 80b552a: bd80 pop {r7, pc} 80b552c: 20068aac .word 0x20068aac 80b5530: 40023c00 .word 0x40023c00 80b5534: ffff7ffb .word 0xffff7ffb 080b5538 : * @arg FLASH_BANK_BOTH: Bank1 and Bank2 to be erased * * @retval HAL Status */ static void FLASH_MassErase(uint8_t VoltageRange, uint32_t Banks) { 80b5538: b480 push {r7} 80b553a: b083 sub sp, #12 80b553c: af00 add r7, sp, #0 80b553e: 4603 mov r3, r0 80b5540: 6039 str r1, [r7, #0] 80b5542: 71fb strb r3, [r7, #7] /* Check the parameters */ assert_param(IS_VOLTAGERANGE(VoltageRange)); assert_param(IS_FLASH_BANK(Banks)); /* if the previous operation is completed, proceed to erase all sectors */ FLASH->CR &= CR_PSIZE_MASK; 80b5544: 4a18 ldr r2, [pc, #96] ; (80b55a8 ) 80b5546: 4b18 ldr r3, [pc, #96] ; (80b55a8 ) 80b5548: 691b ldr r3, [r3, #16] 80b554a: f423 7340 bic.w r3, r3, #768 ; 0x300 80b554e: 6113 str r3, [r2, #16] if(Banks == FLASH_BANK_BOTH) 80b5550: 683b ldr r3, [r7, #0] 80b5552: 2b03 cmp r3, #3 80b5554: d107 bne.n 80b5566 { /* bank1 & bank2 will be erased*/ FLASH->CR |= FLASH_MER_BIT; 80b5556: 4914 ldr r1, [pc, #80] ; (80b55a8 ) 80b5558: 4b13 ldr r3, [pc, #76] ; (80b55a8 ) 80b555a: 691a ldr r2, [r3, #16] 80b555c: f248 0304 movw r3, #32772 ; 0x8004 80b5560: 4313 orrs r3, r2 80b5562: 610b str r3, [r1, #16] 80b5564: e00f b.n 80b5586 } else if(Banks == FLASH_BANK_2) 80b5566: 683b ldr r3, [r7, #0] 80b5568: 2b02 cmp r3, #2 80b556a: d106 bne.n 80b557a { /*Only bank2 will be erased*/ FLASH->CR |= FLASH_CR_MER2; 80b556c: 4a0e ldr r2, [pc, #56] ; (80b55a8 ) 80b556e: 4b0e ldr r3, [pc, #56] ; (80b55a8 ) 80b5570: 691b ldr r3, [r3, #16] 80b5572: f443 4300 orr.w r3, r3, #32768 ; 0x8000 80b5576: 6113 str r3, [r2, #16] 80b5578: e005 b.n 80b5586 } else { /*Only bank1 will be erased*/ FLASH->CR |= FLASH_CR_MER1; 80b557a: 4a0b ldr r2, [pc, #44] ; (80b55a8 ) 80b557c: 4b0a ldr r3, [pc, #40] ; (80b55a8 ) 80b557e: 691b ldr r3, [r3, #16] 80b5580: f043 0304 orr.w r3, r3, #4 80b5584: 6113 str r3, [r2, #16] } FLASH->CR |= FLASH_CR_STRT | ((uint32_t)VoltageRange <<8); 80b5586: 4908 ldr r1, [pc, #32] ; (80b55a8 ) 80b5588: 4b07 ldr r3, [pc, #28] ; (80b55a8 ) 80b558a: 691a ldr r2, [r3, #16] 80b558c: 79fb ldrb r3, [r7, #7] 80b558e: 021b lsls r3, r3, #8 80b5590: 4313 orrs r3, r2 80b5592: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b5596: 610b str r3, [r1, #16] 80b5598: f3bf 8f4f dsb sy /* Data synchronous Barrier (DSB) Just after the write operation This will force the CPU to respect the sequence of instruction (no optimization).*/ __DSB(); } 80b559c: bf00 nop 80b559e: 370c adds r7, #12 80b55a0: 46bd mov sp, r7 80b55a2: f85d 7b04 ldr.w r7, [sp], #4 80b55a6: 4770 bx lr 80b55a8: 40023c00 .word 0x40023c00 080b55ac : * the operation will be done by double word (64-bit) * * @retval None */ void FLASH_Erase_Sector(uint32_t Sector, uint8_t VoltageRange) { 80b55ac: b480 push {r7} 80b55ae: b085 sub sp, #20 80b55b0: af00 add r7, sp, #0 80b55b2: 6078 str r0, [r7, #4] 80b55b4: 460b mov r3, r1 80b55b6: 70fb strb r3, [r7, #3] uint32_t tmp_psize = 0; 80b55b8: 2300 movs r3, #0 80b55ba: 60fb str r3, [r7, #12] /* Check the parameters */ assert_param(IS_FLASH_SECTOR(Sector)); assert_param(IS_VOLTAGERANGE(VoltageRange)); if(VoltageRange == FLASH_VOLTAGE_RANGE_1) 80b55bc: 78fb ldrb r3, [r7, #3] 80b55be: 2b00 cmp r3, #0 80b55c0: d102 bne.n 80b55c8 { tmp_psize = FLASH_PSIZE_BYTE; 80b55c2: 2300 movs r3, #0 80b55c4: 60fb str r3, [r7, #12] 80b55c6: e010 b.n 80b55ea } else if(VoltageRange == FLASH_VOLTAGE_RANGE_2) 80b55c8: 78fb ldrb r3, [r7, #3] 80b55ca: 2b01 cmp r3, #1 80b55cc: d103 bne.n 80b55d6 { tmp_psize = FLASH_PSIZE_HALF_WORD; 80b55ce: f44f 7380 mov.w r3, #256 ; 0x100 80b55d2: 60fb str r3, [r7, #12] 80b55d4: e009 b.n 80b55ea } else if(VoltageRange == FLASH_VOLTAGE_RANGE_3) 80b55d6: 78fb ldrb r3, [r7, #3] 80b55d8: 2b02 cmp r3, #2 80b55da: d103 bne.n 80b55e4 { tmp_psize = FLASH_PSIZE_WORD; 80b55dc: f44f 7300 mov.w r3, #512 ; 0x200 80b55e0: 60fb str r3, [r7, #12] 80b55e2: e002 b.n 80b55ea } else { tmp_psize = FLASH_PSIZE_DOUBLE_WORD; 80b55e4: f44f 7340 mov.w r3, #768 ; 0x300 80b55e8: 60fb str r3, [r7, #12] } /* Need to add offset of 4 when sector higher than FLASH_SECTOR_11 */ if(Sector > FLASH_SECTOR_11) 80b55ea: 687b ldr r3, [r7, #4] 80b55ec: 2b0b cmp r3, #11 80b55ee: d902 bls.n 80b55f6 { Sector += 4; 80b55f0: 687b ldr r3, [r7, #4] 80b55f2: 3304 adds r3, #4 80b55f4: 607b str r3, [r7, #4] } /* If the previous operation is completed, proceed to erase the sector */ FLASH->CR &= CR_PSIZE_MASK; 80b55f6: 4a14 ldr r2, [pc, #80] ; (80b5648 ) 80b55f8: 4b13 ldr r3, [pc, #76] ; (80b5648 ) 80b55fa: 691b ldr r3, [r3, #16] 80b55fc: f423 7340 bic.w r3, r3, #768 ; 0x300 80b5600: 6113 str r3, [r2, #16] FLASH->CR |= tmp_psize; 80b5602: 4911 ldr r1, [pc, #68] ; (80b5648 ) 80b5604: 4b10 ldr r3, [pc, #64] ; (80b5648 ) 80b5606: 691a ldr r2, [r3, #16] 80b5608: 68fb ldr r3, [r7, #12] 80b560a: 4313 orrs r3, r2 80b560c: 610b str r3, [r1, #16] CLEAR_BIT(FLASH->CR, FLASH_CR_SNB); 80b560e: 4a0e ldr r2, [pc, #56] ; (80b5648 ) 80b5610: 4b0d ldr r3, [pc, #52] ; (80b5648 ) 80b5612: 691b ldr r3, [r3, #16] 80b5614: f023 03f8 bic.w r3, r3, #248 ; 0xf8 80b5618: 6113 str r3, [r2, #16] FLASH->CR |= FLASH_CR_SER | (Sector << FLASH_CR_SNB_Pos); 80b561a: 490b ldr r1, [pc, #44] ; (80b5648 ) 80b561c: 4b0a ldr r3, [pc, #40] ; (80b5648 ) 80b561e: 691a ldr r2, [r3, #16] 80b5620: 687b ldr r3, [r7, #4] 80b5622: 00db lsls r3, r3, #3 80b5624: 4313 orrs r3, r2 80b5626: f043 0302 orr.w r3, r3, #2 80b562a: 610b str r3, [r1, #16] FLASH->CR |= FLASH_CR_STRT; 80b562c: 4a06 ldr r2, [pc, #24] ; (80b5648 ) 80b562e: 4b06 ldr r3, [pc, #24] ; (80b5648 ) 80b5630: 691b ldr r3, [r3, #16] 80b5632: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b5636: 6113 str r3, [r2, #16] 80b5638: f3bf 8f4f dsb sy /* Data synchronous Barrier (DSB) Just after the write operation This will force the CPU to respect the sequence of instruction (no optimization).*/ __DSB(); } 80b563c: bf00 nop 80b563e: 3714 adds r7, #20 80b5640: 46bd mov sp, r7 80b5642: f85d 7b04 ldr.w r7, [sp], #4 80b5646: 4770 bx lr 80b5648: 40023c00 .word 0x40023c00 080b564c : * @param GPIO_Init pointer to a GPIO_InitTypeDef structure that contains * the configuration information for the specified GPIO peripheral. * @retval None */ void HAL_GPIO_Init(GPIO_TypeDef *GPIOx, GPIO_InitTypeDef *GPIO_Init) { 80b564c: b480 push {r7} 80b564e: b089 sub sp, #36 ; 0x24 80b5650: af00 add r7, sp, #0 80b5652: 6078 str r0, [r7, #4] 80b5654: 6039 str r1, [r7, #0] uint32_t position = 0x00; 80b5656: 2300 movs r3, #0 80b5658: 61fb str r3, [r7, #28] uint32_t ioposition = 0x00; 80b565a: 2300 movs r3, #0 80b565c: 617b str r3, [r7, #20] uint32_t iocurrent = 0x00; 80b565e: 2300 movs r3, #0 80b5660: 613b str r3, [r7, #16] uint32_t temp = 0x00; 80b5662: 2300 movs r3, #0 80b5664: 61bb str r3, [r7, #24] assert_param(IS_GPIO_ALL_INSTANCE(GPIOx)); assert_param(IS_GPIO_PIN(GPIO_Init->Pin)); assert_param(IS_GPIO_MODE(GPIO_Init->Mode)); /* Configure the port pins */ for(position = 0; position < GPIO_NUMBER; position++) 80b5666: 2300 movs r3, #0 80b5668: 61fb str r3, [r7, #28] 80b566a: e175 b.n 80b5958 { /* Get the IO position */ ioposition = ((uint32_t)0x01) << position; 80b566c: 2201 movs r2, #1 80b566e: 69fb ldr r3, [r7, #28] 80b5670: fa02 f303 lsl.w r3, r2, r3 80b5674: 617b str r3, [r7, #20] /* Get the current IO position */ iocurrent = (uint32_t)(GPIO_Init->Pin) & ioposition; 80b5676: 683b ldr r3, [r7, #0] 80b5678: 681a ldr r2, [r3, #0] 80b567a: 697b ldr r3, [r7, #20] 80b567c: 4013 ands r3, r2 80b567e: 613b str r3, [r7, #16] if(iocurrent == ioposition) 80b5680: 693a ldr r2, [r7, #16] 80b5682: 697b ldr r3, [r7, #20] 80b5684: 429a cmp r2, r3 80b5686: f040 8164 bne.w 80b5952 { /*--------------------- GPIO Mode Configuration ------------------------*/ /* In case of Output or Alternate function mode selection */ if(((GPIO_Init->Mode & GPIO_MODE) == MODE_OUTPUT) || ((GPIO_Init->Mode & GPIO_MODE) == MODE_AF)) 80b568a: 683b ldr r3, [r7, #0] 80b568c: 685b ldr r3, [r3, #4] 80b568e: f003 0303 and.w r3, r3, #3 80b5692: 2b01 cmp r3, #1 80b5694: d005 beq.n 80b56a2 80b5696: 683b ldr r3, [r7, #0] 80b5698: 685b ldr r3, [r3, #4] 80b569a: f003 0303 and.w r3, r3, #3 80b569e: 2b02 cmp r3, #2 80b56a0: d130 bne.n 80b5704 { /* Check the Speed parameter */ assert_param(IS_GPIO_SPEED(GPIO_Init->Speed)); /* Configure the IO Speed */ temp = GPIOx->OSPEEDR; 80b56a2: 687b ldr r3, [r7, #4] 80b56a4: 689b ldr r3, [r3, #8] 80b56a6: 61bb str r3, [r7, #24] temp &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2)); 80b56a8: 69fb ldr r3, [r7, #28] 80b56aa: 005b lsls r3, r3, #1 80b56ac: 2203 movs r2, #3 80b56ae: fa02 f303 lsl.w r3, r2, r3 80b56b2: 43db mvns r3, r3 80b56b4: 69ba ldr r2, [r7, #24] 80b56b6: 4013 ands r3, r2 80b56b8: 61bb str r3, [r7, #24] temp |= (GPIO_Init->Speed << (position * 2)); 80b56ba: 683b ldr r3, [r7, #0] 80b56bc: 68da ldr r2, [r3, #12] 80b56be: 69fb ldr r3, [r7, #28] 80b56c0: 005b lsls r3, r3, #1 80b56c2: fa02 f303 lsl.w r3, r2, r3 80b56c6: 69ba ldr r2, [r7, #24] 80b56c8: 4313 orrs r3, r2 80b56ca: 61bb str r3, [r7, #24] GPIOx->OSPEEDR = temp; 80b56cc: 687b ldr r3, [r7, #4] 80b56ce: 69ba ldr r2, [r7, #24] 80b56d0: 609a str r2, [r3, #8] /* Configure the IO Output Type */ temp = GPIOx->OTYPER; 80b56d2: 687b ldr r3, [r7, #4] 80b56d4: 685b ldr r3, [r3, #4] 80b56d6: 61bb str r3, [r7, #24] temp &= ~(GPIO_OTYPER_OT_0 << position) ; 80b56d8: 2201 movs r2, #1 80b56da: 69fb ldr r3, [r7, #28] 80b56dc: fa02 f303 lsl.w r3, r2, r3 80b56e0: 43db mvns r3, r3 80b56e2: 69ba ldr r2, [r7, #24] 80b56e4: 4013 ands r3, r2 80b56e6: 61bb str r3, [r7, #24] temp |= (((GPIO_Init->Mode & OUTPUT_TYPE) >> OUTPUT_TYPE_Pos) << position); 80b56e8: 683b ldr r3, [r7, #0] 80b56ea: 685b ldr r3, [r3, #4] 80b56ec: 091b lsrs r3, r3, #4 80b56ee: f003 0201 and.w r2, r3, #1 80b56f2: 69fb ldr r3, [r7, #28] 80b56f4: fa02 f303 lsl.w r3, r2, r3 80b56f8: 69ba ldr r2, [r7, #24] 80b56fa: 4313 orrs r3, r2 80b56fc: 61bb str r3, [r7, #24] GPIOx->OTYPER = temp; 80b56fe: 687b ldr r3, [r7, #4] 80b5700: 69ba ldr r2, [r7, #24] 80b5702: 605a str r2, [r3, #4] } if((GPIO_Init->Mode & GPIO_MODE) != MODE_ANALOG) 80b5704: 683b ldr r3, [r7, #0] 80b5706: 685b ldr r3, [r3, #4] 80b5708: f003 0303 and.w r3, r3, #3 80b570c: 2b03 cmp r3, #3 80b570e: d017 beq.n 80b5740 { /* Check the Pull parameter */ assert_param(IS_GPIO_PULL(GPIO_Init->Pull)); /* Activate the Pull-up or Pull down resistor for the current IO */ temp = GPIOx->PUPDR; 80b5710: 687b ldr r3, [r7, #4] 80b5712: 68db ldr r3, [r3, #12] 80b5714: 61bb str r3, [r7, #24] temp &= ~(GPIO_PUPDR_PUPDR0 << (position * 2)); 80b5716: 69fb ldr r3, [r7, #28] 80b5718: 005b lsls r3, r3, #1 80b571a: 2203 movs r2, #3 80b571c: fa02 f303 lsl.w r3, r2, r3 80b5720: 43db mvns r3, r3 80b5722: 69ba ldr r2, [r7, #24] 80b5724: 4013 ands r3, r2 80b5726: 61bb str r3, [r7, #24] temp |= ((GPIO_Init->Pull) << (position * 2)); 80b5728: 683b ldr r3, [r7, #0] 80b572a: 689a ldr r2, [r3, #8] 80b572c: 69fb ldr r3, [r7, #28] 80b572e: 005b lsls r3, r3, #1 80b5730: fa02 f303 lsl.w r3, r2, r3 80b5734: 69ba ldr r2, [r7, #24] 80b5736: 4313 orrs r3, r2 80b5738: 61bb str r3, [r7, #24] GPIOx->PUPDR = temp; 80b573a: 687b ldr r3, [r7, #4] 80b573c: 69ba ldr r2, [r7, #24] 80b573e: 60da str r2, [r3, #12] } /* In case of Alternate function mode selection */ if((GPIO_Init->Mode & GPIO_MODE) == MODE_AF) 80b5740: 683b ldr r3, [r7, #0] 80b5742: 685b ldr r3, [r3, #4] 80b5744: f003 0303 and.w r3, r3, #3 80b5748: 2b02 cmp r3, #2 80b574a: d123 bne.n 80b5794 { /* Check the Alternate function parameter */ assert_param(IS_GPIO_AF(GPIO_Init->Alternate)); /* Configure Alternate function mapped with the current IO */ temp = GPIOx->AFR[position >> 3]; 80b574c: 69fb ldr r3, [r7, #28] 80b574e: 08da lsrs r2, r3, #3 80b5750: 687b ldr r3, [r7, #4] 80b5752: 3208 adds r2, #8 80b5754: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80b5758: 61bb str r3, [r7, #24] temp &= ~((uint32_t)0xF << ((uint32_t)(position & (uint32_t)0x07) * 4)) ; 80b575a: 69fb ldr r3, [r7, #28] 80b575c: f003 0307 and.w r3, r3, #7 80b5760: 009b lsls r3, r3, #2 80b5762: 220f movs r2, #15 80b5764: fa02 f303 lsl.w r3, r2, r3 80b5768: 43db mvns r3, r3 80b576a: 69ba ldr r2, [r7, #24] 80b576c: 4013 ands r3, r2 80b576e: 61bb str r3, [r7, #24] temp |= ((uint32_t)(GPIO_Init->Alternate) << (((uint32_t)position & (uint32_t)0x07) * 4)); 80b5770: 683b ldr r3, [r7, #0] 80b5772: 691a ldr r2, [r3, #16] 80b5774: 69fb ldr r3, [r7, #28] 80b5776: f003 0307 and.w r3, r3, #7 80b577a: 009b lsls r3, r3, #2 80b577c: fa02 f303 lsl.w r3, r2, r3 80b5780: 69ba ldr r2, [r7, #24] 80b5782: 4313 orrs r3, r2 80b5784: 61bb str r3, [r7, #24] GPIOx->AFR[position >> 3] = temp; 80b5786: 69fb ldr r3, [r7, #28] 80b5788: 08da lsrs r2, r3, #3 80b578a: 687b ldr r3, [r7, #4] 80b578c: 3208 adds r2, #8 80b578e: 69b9 ldr r1, [r7, #24] 80b5790: f843 1022 str.w r1, [r3, r2, lsl #2] } /* Configure IO Direction mode (Input, Output, Alternate or Analog) */ temp = GPIOx->MODER; 80b5794: 687b ldr r3, [r7, #4] 80b5796: 681b ldr r3, [r3, #0] 80b5798: 61bb str r3, [r7, #24] temp &= ~(GPIO_MODER_MODER0 << (position * 2)); 80b579a: 69fb ldr r3, [r7, #28] 80b579c: 005b lsls r3, r3, #1 80b579e: 2203 movs r2, #3 80b57a0: fa02 f303 lsl.w r3, r2, r3 80b57a4: 43db mvns r3, r3 80b57a6: 69ba ldr r2, [r7, #24] 80b57a8: 4013 ands r3, r2 80b57aa: 61bb str r3, [r7, #24] temp |= ((GPIO_Init->Mode & GPIO_MODE) << (position * 2)); 80b57ac: 683b ldr r3, [r7, #0] 80b57ae: 685b ldr r3, [r3, #4] 80b57b0: f003 0203 and.w r2, r3, #3 80b57b4: 69fb ldr r3, [r7, #28] 80b57b6: 005b lsls r3, r3, #1 80b57b8: fa02 f303 lsl.w r3, r2, r3 80b57bc: 69ba ldr r2, [r7, #24] 80b57be: 4313 orrs r3, r2 80b57c0: 61bb str r3, [r7, #24] GPIOx->MODER = temp; 80b57c2: 687b ldr r3, [r7, #4] 80b57c4: 69ba ldr r2, [r7, #24] 80b57c6: 601a str r2, [r3, #0] /*--------------------- EXTI Mode Configuration ------------------------*/ /* Configure the External Interrupt or event for the current IO */ if((GPIO_Init->Mode & EXTI_MODE) != 0x00u) 80b57c8: 683b ldr r3, [r7, #0] 80b57ca: 685b ldr r3, [r3, #4] 80b57cc: f403 3340 and.w r3, r3, #196608 ; 0x30000 80b57d0: 2b00 cmp r3, #0 80b57d2: f000 80be beq.w 80b5952 { /* Enable SYSCFG Clock */ __HAL_RCC_SYSCFG_CLK_ENABLE(); 80b57d6: 4a65 ldr r2, [pc, #404] ; (80b596c ) 80b57d8: 4b64 ldr r3, [pc, #400] ; (80b596c ) 80b57da: 6c5b ldr r3, [r3, #68] ; 0x44 80b57dc: f443 4380 orr.w r3, r3, #16384 ; 0x4000 80b57e0: 6453 str r3, [r2, #68] ; 0x44 80b57e2: 4b62 ldr r3, [pc, #392] ; (80b596c ) 80b57e4: 6c5b ldr r3, [r3, #68] ; 0x44 80b57e6: f403 4380 and.w r3, r3, #16384 ; 0x4000 80b57ea: 60fb str r3, [r7, #12] 80b57ec: 68fb ldr r3, [r7, #12] temp = SYSCFG->EXTICR[position >> 2]; 80b57ee: 4a60 ldr r2, [pc, #384] ; (80b5970 ) 80b57f0: 69fb ldr r3, [r7, #28] 80b57f2: 089b lsrs r3, r3, #2 80b57f4: 3302 adds r3, #2 80b57f6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80b57fa: 61bb str r3, [r7, #24] temp &= ~(((uint32_t)0x0F) << (4 * (position & 0x03))); 80b57fc: 69fb ldr r3, [r7, #28] 80b57fe: f003 0303 and.w r3, r3, #3 80b5802: 009b lsls r3, r3, #2 80b5804: 220f movs r2, #15 80b5806: fa02 f303 lsl.w r3, r2, r3 80b580a: 43db mvns r3, r3 80b580c: 69ba ldr r2, [r7, #24] 80b580e: 4013 ands r3, r2 80b5810: 61bb str r3, [r7, #24] temp |= ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03))); 80b5812: 687b ldr r3, [r7, #4] 80b5814: 4a57 ldr r2, [pc, #348] ; (80b5974 ) 80b5816: 4293 cmp r3, r2 80b5818: d037 beq.n 80b588a 80b581a: 687b ldr r3, [r7, #4] 80b581c: 4a56 ldr r2, [pc, #344] ; (80b5978 ) 80b581e: 4293 cmp r3, r2 80b5820: d031 beq.n 80b5886 80b5822: 687b ldr r3, [r7, #4] 80b5824: 4a55 ldr r2, [pc, #340] ; (80b597c ) 80b5826: 4293 cmp r3, r2 80b5828: d02b beq.n 80b5882 80b582a: 687b ldr r3, [r7, #4] 80b582c: 4a54 ldr r2, [pc, #336] ; (80b5980 ) 80b582e: 4293 cmp r3, r2 80b5830: d025 beq.n 80b587e 80b5832: 687b ldr r3, [r7, #4] 80b5834: 4a53 ldr r2, [pc, #332] ; (80b5984 ) 80b5836: 4293 cmp r3, r2 80b5838: d01f beq.n 80b587a 80b583a: 687b ldr r3, [r7, #4] 80b583c: 4a52 ldr r2, [pc, #328] ; (80b5988 ) 80b583e: 4293 cmp r3, r2 80b5840: d019 beq.n 80b5876 80b5842: 687b ldr r3, [r7, #4] 80b5844: 4a51 ldr r2, [pc, #324] ; (80b598c ) 80b5846: 4293 cmp r3, r2 80b5848: d013 beq.n 80b5872 80b584a: 687b ldr r3, [r7, #4] 80b584c: 4a50 ldr r2, [pc, #320] ; (80b5990 ) 80b584e: 4293 cmp r3, r2 80b5850: d00d beq.n 80b586e 80b5852: 687b ldr r3, [r7, #4] 80b5854: 4a4f ldr r2, [pc, #316] ; (80b5994 ) 80b5856: 4293 cmp r3, r2 80b5858: d007 beq.n 80b586a 80b585a: 687b ldr r3, [r7, #4] 80b585c: 4a4e ldr r2, [pc, #312] ; (80b5998 ) 80b585e: 4293 cmp r3, r2 80b5860: d101 bne.n 80b5866 80b5862: 2309 movs r3, #9 80b5864: e012 b.n 80b588c 80b5866: 230a movs r3, #10 80b5868: e010 b.n 80b588c 80b586a: 2308 movs r3, #8 80b586c: e00e b.n 80b588c 80b586e: 2307 movs r3, #7 80b5870: e00c b.n 80b588c 80b5872: 2306 movs r3, #6 80b5874: e00a b.n 80b588c 80b5876: 2305 movs r3, #5 80b5878: e008 b.n 80b588c 80b587a: 2304 movs r3, #4 80b587c: e006 b.n 80b588c 80b587e: 2303 movs r3, #3 80b5880: e004 b.n 80b588c 80b5882: 2302 movs r3, #2 80b5884: e002 b.n 80b588c 80b5886: 2301 movs r3, #1 80b5888: e000 b.n 80b588c 80b588a: 2300 movs r3, #0 80b588c: 69fa ldr r2, [r7, #28] 80b588e: f002 0203 and.w r2, r2, #3 80b5892: 0092 lsls r2, r2, #2 80b5894: 4093 lsls r3, r2 80b5896: 69ba ldr r2, [r7, #24] 80b5898: 4313 orrs r3, r2 80b589a: 61bb str r3, [r7, #24] SYSCFG->EXTICR[position >> 2] = temp; 80b589c: 4934 ldr r1, [pc, #208] ; (80b5970 ) 80b589e: 69fb ldr r3, [r7, #28] 80b58a0: 089b lsrs r3, r3, #2 80b58a2: 3302 adds r3, #2 80b58a4: 69ba ldr r2, [r7, #24] 80b58a6: f841 2023 str.w r2, [r1, r3, lsl #2] /* Clear Rising Falling edge configuration */ temp = EXTI->RTSR; 80b58aa: 4b3c ldr r3, [pc, #240] ; (80b599c ) 80b58ac: 689b ldr r3, [r3, #8] 80b58ae: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80b58b0: 693b ldr r3, [r7, #16] 80b58b2: 43db mvns r3, r3 80b58b4: 69ba ldr r2, [r7, #24] 80b58b6: 4013 ands r3, r2 80b58b8: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & TRIGGER_RISING) != 0x00u) 80b58ba: 683b ldr r3, [r7, #0] 80b58bc: 685b ldr r3, [r3, #4] 80b58be: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80b58c2: 2b00 cmp r3, #0 80b58c4: d003 beq.n 80b58ce { temp |= iocurrent; 80b58c6: 69ba ldr r2, [r7, #24] 80b58c8: 693b ldr r3, [r7, #16] 80b58ca: 4313 orrs r3, r2 80b58cc: 61bb str r3, [r7, #24] } EXTI->RTSR = temp; 80b58ce: 4a33 ldr r2, [pc, #204] ; (80b599c ) 80b58d0: 69bb ldr r3, [r7, #24] 80b58d2: 6093 str r3, [r2, #8] temp = EXTI->FTSR; 80b58d4: 4b31 ldr r3, [pc, #196] ; (80b599c ) 80b58d6: 68db ldr r3, [r3, #12] 80b58d8: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80b58da: 693b ldr r3, [r7, #16] 80b58dc: 43db mvns r3, r3 80b58de: 69ba ldr r2, [r7, #24] 80b58e0: 4013 ands r3, r2 80b58e2: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & TRIGGER_FALLING) != 0x00u) 80b58e4: 683b ldr r3, [r7, #0] 80b58e6: 685b ldr r3, [r3, #4] 80b58e8: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80b58ec: 2b00 cmp r3, #0 80b58ee: d003 beq.n 80b58f8 { temp |= iocurrent; 80b58f0: 69ba ldr r2, [r7, #24] 80b58f2: 693b ldr r3, [r7, #16] 80b58f4: 4313 orrs r3, r2 80b58f6: 61bb str r3, [r7, #24] } EXTI->FTSR = temp; 80b58f8: 4a28 ldr r2, [pc, #160] ; (80b599c ) 80b58fa: 69bb ldr r3, [r7, #24] 80b58fc: 60d3 str r3, [r2, #12] temp = EXTI->EMR; 80b58fe: 4b27 ldr r3, [pc, #156] ; (80b599c ) 80b5900: 685b ldr r3, [r3, #4] 80b5902: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80b5904: 693b ldr r3, [r7, #16] 80b5906: 43db mvns r3, r3 80b5908: 69ba ldr r2, [r7, #24] 80b590a: 4013 ands r3, r2 80b590c: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & EXTI_EVT) != 0x00u) 80b590e: 683b ldr r3, [r7, #0] 80b5910: 685b ldr r3, [r3, #4] 80b5912: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b5916: 2b00 cmp r3, #0 80b5918: d003 beq.n 80b5922 { temp |= iocurrent; 80b591a: 69ba ldr r2, [r7, #24] 80b591c: 693b ldr r3, [r7, #16] 80b591e: 4313 orrs r3, r2 80b5920: 61bb str r3, [r7, #24] } EXTI->EMR = temp; 80b5922: 4a1e ldr r2, [pc, #120] ; (80b599c ) 80b5924: 69bb ldr r3, [r7, #24] 80b5926: 6053 str r3, [r2, #4] /* Clear EXTI line configuration */ temp = EXTI->IMR; 80b5928: 4b1c ldr r3, [pc, #112] ; (80b599c ) 80b592a: 681b ldr r3, [r3, #0] 80b592c: 61bb str r3, [r7, #24] temp &= ~((uint32_t)iocurrent); 80b592e: 693b ldr r3, [r7, #16] 80b5930: 43db mvns r3, r3 80b5932: 69ba ldr r2, [r7, #24] 80b5934: 4013 ands r3, r2 80b5936: 61bb str r3, [r7, #24] if((GPIO_Init->Mode & EXTI_IT) != 0x00u) 80b5938: 683b ldr r3, [r7, #0] 80b593a: 685b ldr r3, [r3, #4] 80b593c: f403 3380 and.w r3, r3, #65536 ; 0x10000 80b5940: 2b00 cmp r3, #0 80b5942: d003 beq.n 80b594c { temp |= iocurrent; 80b5944: 69ba ldr r2, [r7, #24] 80b5946: 693b ldr r3, [r7, #16] 80b5948: 4313 orrs r3, r2 80b594a: 61bb str r3, [r7, #24] } EXTI->IMR = temp; 80b594c: 4a13 ldr r2, [pc, #76] ; (80b599c ) 80b594e: 69bb ldr r3, [r7, #24] 80b5950: 6013 str r3, [r2, #0] for(position = 0; position < GPIO_NUMBER; position++) 80b5952: 69fb ldr r3, [r7, #28] 80b5954: 3301 adds r3, #1 80b5956: 61fb str r3, [r7, #28] 80b5958: 69fb ldr r3, [r7, #28] 80b595a: 2b0f cmp r3, #15 80b595c: f67f ae86 bls.w 80b566c } } } } 80b5960: bf00 nop 80b5962: 3724 adds r7, #36 ; 0x24 80b5964: 46bd mov sp, r7 80b5966: f85d 7b04 ldr.w r7, [sp], #4 80b596a: 4770 bx lr 80b596c: 40023800 .word 0x40023800 80b5970: 40013800 .word 0x40013800 80b5974: 40020000 .word 0x40020000 80b5978: 40020400 .word 0x40020400 80b597c: 40020800 .word 0x40020800 80b5980: 40020c00 .word 0x40020c00 80b5984: 40021000 .word 0x40021000 80b5988: 40021400 .word 0x40021400 80b598c: 40021800 .word 0x40021800 80b5990: 40021c00 .word 0x40021c00 80b5994: 40022000 .word 0x40022000 80b5998: 40022400 .word 0x40022400 80b599c: 40013c00 .word 0x40013c00 080b59a0 : * @param GPIO_Pin specifies the port bit to be written. * This parameter can be one of GPIO_PIN_x where x can be (0..15). * @retval None */ void HAL_GPIO_DeInit(GPIO_TypeDef *GPIOx, uint32_t GPIO_Pin) { 80b59a0: b480 push {r7} 80b59a2: b087 sub sp, #28 80b59a4: af00 add r7, sp, #0 80b59a6: 6078 str r0, [r7, #4] 80b59a8: 6039 str r1, [r7, #0] uint32_t position; uint32_t ioposition = 0x00; 80b59aa: 2300 movs r3, #0 80b59ac: 613b str r3, [r7, #16] uint32_t iocurrent = 0x00; 80b59ae: 2300 movs r3, #0 80b59b0: 60fb str r3, [r7, #12] uint32_t tmp = 0x00; 80b59b2: 2300 movs r3, #0 80b59b4: 60bb str r3, [r7, #8] /* Check the parameters */ assert_param(IS_GPIO_ALL_INSTANCE(GPIOx)); /* Configure the port pins */ for(position = 0; position < GPIO_NUMBER; position++) 80b59b6: 2300 movs r3, #0 80b59b8: 617b str r3, [r7, #20] 80b59ba: e0da b.n 80b5b72 { /* Get the IO position */ ioposition = ((uint32_t)0x01) << position; 80b59bc: 2201 movs r2, #1 80b59be: 697b ldr r3, [r7, #20] 80b59c0: fa02 f303 lsl.w r3, r2, r3 80b59c4: 613b str r3, [r7, #16] /* Get the current IO position */ iocurrent = (GPIO_Pin) & ioposition; 80b59c6: 683a ldr r2, [r7, #0] 80b59c8: 693b ldr r3, [r7, #16] 80b59ca: 4013 ands r3, r2 80b59cc: 60fb str r3, [r7, #12] if(iocurrent == ioposition) 80b59ce: 68fa ldr r2, [r7, #12] 80b59d0: 693b ldr r3, [r7, #16] 80b59d2: 429a cmp r2, r3 80b59d4: f040 80ca bne.w 80b5b6c { /*------------------------- EXTI Mode Configuration --------------------*/ tmp = SYSCFG->EXTICR[position >> 2]; 80b59d8: 4a6b ldr r2, [pc, #428] ; (80b5b88 ) 80b59da: 697b ldr r3, [r7, #20] 80b59dc: 089b lsrs r3, r3, #2 80b59de: 3302 adds r3, #2 80b59e0: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80b59e4: 60bb str r3, [r7, #8] tmp &= (((uint32_t)0x0F) << (4 * (position & 0x03))); 80b59e6: 697b ldr r3, [r7, #20] 80b59e8: f003 0303 and.w r3, r3, #3 80b59ec: 009b lsls r3, r3, #2 80b59ee: 220f movs r2, #15 80b59f0: fa02 f303 lsl.w r3, r2, r3 80b59f4: 68ba ldr r2, [r7, #8] 80b59f6: 4013 ands r3, r2 80b59f8: 60bb str r3, [r7, #8] if(tmp == ((uint32_t)(GPIO_GET_INDEX(GPIOx)) << (4 * (position & 0x03)))) 80b59fa: 687b ldr r3, [r7, #4] 80b59fc: 4a63 ldr r2, [pc, #396] ; (80b5b8c ) 80b59fe: 4293 cmp r3, r2 80b5a00: d037 beq.n 80b5a72 80b5a02: 687b ldr r3, [r7, #4] 80b5a04: 4a62 ldr r2, [pc, #392] ; (80b5b90 ) 80b5a06: 4293 cmp r3, r2 80b5a08: d031 beq.n 80b5a6e 80b5a0a: 687b ldr r3, [r7, #4] 80b5a0c: 4a61 ldr r2, [pc, #388] ; (80b5b94 ) 80b5a0e: 4293 cmp r3, r2 80b5a10: d02b beq.n 80b5a6a 80b5a12: 687b ldr r3, [r7, #4] 80b5a14: 4a60 ldr r2, [pc, #384] ; (80b5b98 ) 80b5a16: 4293 cmp r3, r2 80b5a18: d025 beq.n 80b5a66 80b5a1a: 687b ldr r3, [r7, #4] 80b5a1c: 4a5f ldr r2, [pc, #380] ; (80b5b9c ) 80b5a1e: 4293 cmp r3, r2 80b5a20: d01f beq.n 80b5a62 80b5a22: 687b ldr r3, [r7, #4] 80b5a24: 4a5e ldr r2, [pc, #376] ; (80b5ba0 ) 80b5a26: 4293 cmp r3, r2 80b5a28: d019 beq.n 80b5a5e 80b5a2a: 687b ldr r3, [r7, #4] 80b5a2c: 4a5d ldr r2, [pc, #372] ; (80b5ba4 ) 80b5a2e: 4293 cmp r3, r2 80b5a30: d013 beq.n 80b5a5a 80b5a32: 687b ldr r3, [r7, #4] 80b5a34: 4a5c ldr r2, [pc, #368] ; (80b5ba8 ) 80b5a36: 4293 cmp r3, r2 80b5a38: d00d beq.n 80b5a56 80b5a3a: 687b ldr r3, [r7, #4] 80b5a3c: 4a5b ldr r2, [pc, #364] ; (80b5bac ) 80b5a3e: 4293 cmp r3, r2 80b5a40: d007 beq.n 80b5a52 80b5a42: 687b ldr r3, [r7, #4] 80b5a44: 4a5a ldr r2, [pc, #360] ; (80b5bb0 ) 80b5a46: 4293 cmp r3, r2 80b5a48: d101 bne.n 80b5a4e 80b5a4a: 2309 movs r3, #9 80b5a4c: e012 b.n 80b5a74 80b5a4e: 230a movs r3, #10 80b5a50: e010 b.n 80b5a74 80b5a52: 2308 movs r3, #8 80b5a54: e00e b.n 80b5a74 80b5a56: 2307 movs r3, #7 80b5a58: e00c b.n 80b5a74 80b5a5a: 2306 movs r3, #6 80b5a5c: e00a b.n 80b5a74 80b5a5e: 2305 movs r3, #5 80b5a60: e008 b.n 80b5a74 80b5a62: 2304 movs r3, #4 80b5a64: e006 b.n 80b5a74 80b5a66: 2303 movs r3, #3 80b5a68: e004 b.n 80b5a74 80b5a6a: 2302 movs r3, #2 80b5a6c: e002 b.n 80b5a74 80b5a6e: 2301 movs r3, #1 80b5a70: e000 b.n 80b5a74 80b5a72: 2300 movs r3, #0 80b5a74: 697a ldr r2, [r7, #20] 80b5a76: f002 0203 and.w r2, r2, #3 80b5a7a: 0092 lsls r2, r2, #2 80b5a7c: fa03 f202 lsl.w r2, r3, r2 80b5a80: 68bb ldr r3, [r7, #8] 80b5a82: 429a cmp r2, r3 80b5a84: d132 bne.n 80b5aec { /* Clear EXTI line configuration */ EXTI->IMR &= ~((uint32_t)iocurrent); 80b5a86: 494b ldr r1, [pc, #300] ; (80b5bb4 ) 80b5a88: 4b4a ldr r3, [pc, #296] ; (80b5bb4 ) 80b5a8a: 681a ldr r2, [r3, #0] 80b5a8c: 68fb ldr r3, [r7, #12] 80b5a8e: 43db mvns r3, r3 80b5a90: 4013 ands r3, r2 80b5a92: 600b str r3, [r1, #0] EXTI->EMR &= ~((uint32_t)iocurrent); 80b5a94: 4947 ldr r1, [pc, #284] ; (80b5bb4 ) 80b5a96: 4b47 ldr r3, [pc, #284] ; (80b5bb4 ) 80b5a98: 685a ldr r2, [r3, #4] 80b5a9a: 68fb ldr r3, [r7, #12] 80b5a9c: 43db mvns r3, r3 80b5a9e: 4013 ands r3, r2 80b5aa0: 604b str r3, [r1, #4] /* Clear Rising Falling edge configuration */ EXTI->FTSR &= ~((uint32_t)iocurrent); 80b5aa2: 4944 ldr r1, [pc, #272] ; (80b5bb4 ) 80b5aa4: 4b43 ldr r3, [pc, #268] ; (80b5bb4 ) 80b5aa6: 68da ldr r2, [r3, #12] 80b5aa8: 68fb ldr r3, [r7, #12] 80b5aaa: 43db mvns r3, r3 80b5aac: 4013 ands r3, r2 80b5aae: 60cb str r3, [r1, #12] EXTI->RTSR &= ~((uint32_t)iocurrent); 80b5ab0: 4940 ldr r1, [pc, #256] ; (80b5bb4 ) 80b5ab2: 4b40 ldr r3, [pc, #256] ; (80b5bb4 ) 80b5ab4: 689a ldr r2, [r3, #8] 80b5ab6: 68fb ldr r3, [r7, #12] 80b5ab8: 43db mvns r3, r3 80b5aba: 4013 ands r3, r2 80b5abc: 608b str r3, [r1, #8] /* Configure the External Interrupt or event for the current IO */ tmp = ((uint32_t)0x0F) << (4 * (position & 0x03)); 80b5abe: 697b ldr r3, [r7, #20] 80b5ac0: f003 0303 and.w r3, r3, #3 80b5ac4: 009b lsls r3, r3, #2 80b5ac6: 220f movs r2, #15 80b5ac8: fa02 f303 lsl.w r3, r2, r3 80b5acc: 60bb str r3, [r7, #8] SYSCFG->EXTICR[position >> 2] &= ~tmp; 80b5ace: 482e ldr r0, [pc, #184] ; (80b5b88 ) 80b5ad0: 697b ldr r3, [r7, #20] 80b5ad2: 089b lsrs r3, r3, #2 80b5ad4: 492c ldr r1, [pc, #176] ; (80b5b88 ) 80b5ad6: 697a ldr r2, [r7, #20] 80b5ad8: 0892 lsrs r2, r2, #2 80b5ada: 3202 adds r2, #2 80b5adc: f851 1022 ldr.w r1, [r1, r2, lsl #2] 80b5ae0: 68ba ldr r2, [r7, #8] 80b5ae2: 43d2 mvns r2, r2 80b5ae4: 400a ands r2, r1 80b5ae6: 3302 adds r3, #2 80b5ae8: f840 2023 str.w r2, [r0, r3, lsl #2] } /*------------------------- GPIO Mode Configuration --------------------*/ /* Configure IO Direction in Input Floating Mode */ GPIOx->MODER &= ~(GPIO_MODER_MODER0 << (position * 2)); 80b5aec: 687b ldr r3, [r7, #4] 80b5aee: 681a ldr r2, [r3, #0] 80b5af0: 697b ldr r3, [r7, #20] 80b5af2: 005b lsls r3, r3, #1 80b5af4: 2103 movs r1, #3 80b5af6: fa01 f303 lsl.w r3, r1, r3 80b5afa: 43db mvns r3, r3 80b5afc: 401a ands r2, r3 80b5afe: 687b ldr r3, [r7, #4] 80b5b00: 601a str r2, [r3, #0] /* Configure the default Alternate Function in current IO */ GPIOx->AFR[position >> 3] &= ~((uint32_t)0xF << ((uint32_t)(position & (uint32_t)0x07) * 4)) ; 80b5b02: 697b ldr r3, [r7, #20] 80b5b04: 08da lsrs r2, r3, #3 80b5b06: 697b ldr r3, [r7, #20] 80b5b08: 08d9 lsrs r1, r3, #3 80b5b0a: 687b ldr r3, [r7, #4] 80b5b0c: 3108 adds r1, #8 80b5b0e: f853 1021 ldr.w r1, [r3, r1, lsl #2] 80b5b12: 697b ldr r3, [r7, #20] 80b5b14: f003 0307 and.w r3, r3, #7 80b5b18: 009b lsls r3, r3, #2 80b5b1a: 200f movs r0, #15 80b5b1c: fa00 f303 lsl.w r3, r0, r3 80b5b20: 43db mvns r3, r3 80b5b22: 4019 ands r1, r3 80b5b24: 687b ldr r3, [r7, #4] 80b5b26: 3208 adds r2, #8 80b5b28: f843 1022 str.w r1, [r3, r2, lsl #2] /* Deactivate the Pull-up and Pull-down resistor for the current IO */ GPIOx->PUPDR &= ~(GPIO_PUPDR_PUPDR0 << (position * 2)); 80b5b2c: 687b ldr r3, [r7, #4] 80b5b2e: 68da ldr r2, [r3, #12] 80b5b30: 697b ldr r3, [r7, #20] 80b5b32: 005b lsls r3, r3, #1 80b5b34: 2103 movs r1, #3 80b5b36: fa01 f303 lsl.w r3, r1, r3 80b5b3a: 43db mvns r3, r3 80b5b3c: 401a ands r2, r3 80b5b3e: 687b ldr r3, [r7, #4] 80b5b40: 60da str r2, [r3, #12] /* Configure the default value IO Output Type */ GPIOx->OTYPER &= ~(GPIO_OTYPER_OT_0 << position) ; 80b5b42: 687b ldr r3, [r7, #4] 80b5b44: 685a ldr r2, [r3, #4] 80b5b46: 2101 movs r1, #1 80b5b48: 697b ldr r3, [r7, #20] 80b5b4a: fa01 f303 lsl.w r3, r1, r3 80b5b4e: 43db mvns r3, r3 80b5b50: 401a ands r2, r3 80b5b52: 687b ldr r3, [r7, #4] 80b5b54: 605a str r2, [r3, #4] /* Configure the default value for IO Speed */ GPIOx->OSPEEDR &= ~(GPIO_OSPEEDER_OSPEEDR0 << (position * 2)); 80b5b56: 687b ldr r3, [r7, #4] 80b5b58: 689a ldr r2, [r3, #8] 80b5b5a: 697b ldr r3, [r7, #20] 80b5b5c: 005b lsls r3, r3, #1 80b5b5e: 2103 movs r1, #3 80b5b60: fa01 f303 lsl.w r3, r1, r3 80b5b64: 43db mvns r3, r3 80b5b66: 401a ands r2, r3 80b5b68: 687b ldr r3, [r7, #4] 80b5b6a: 609a str r2, [r3, #8] for(position = 0; position < GPIO_NUMBER; position++) 80b5b6c: 697b ldr r3, [r7, #20] 80b5b6e: 3301 adds r3, #1 80b5b70: 617b str r3, [r7, #20] 80b5b72: 697b ldr r3, [r7, #20] 80b5b74: 2b0f cmp r3, #15 80b5b76: f67f af21 bls.w 80b59bc } } } 80b5b7a: bf00 nop 80b5b7c: 371c adds r7, #28 80b5b7e: 46bd mov sp, r7 80b5b80: f85d 7b04 ldr.w r7, [sp], #4 80b5b84: 4770 bx lr 80b5b86: bf00 nop 80b5b88: 40013800 .word 0x40013800 80b5b8c: 40020000 .word 0x40020000 80b5b90: 40020400 .word 0x40020400 80b5b94: 40020800 .word 0x40020800 80b5b98: 40020c00 .word 0x40020c00 80b5b9c: 40021000 .word 0x40021000 80b5ba0: 40021400 .word 0x40021400 80b5ba4: 40021800 .word 0x40021800 80b5ba8: 40021c00 .word 0x40021c00 80b5bac: 40022000 .word 0x40022000 80b5bb0: 40022400 .word 0x40022400 80b5bb4: 40013c00 .word 0x40013c00 080b5bb8 : * @param GPIO_Pin specifies the port bit to read. * This parameter can be GPIO_PIN_x where x can be (0..15). * @retval The input port pin value. */ GPIO_PinState HAL_GPIO_ReadPin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin) { 80b5bb8: b480 push {r7} 80b5bba: b085 sub sp, #20 80b5bbc: af00 add r7, sp, #0 80b5bbe: 6078 str r0, [r7, #4] 80b5bc0: 460b mov r3, r1 80b5bc2: 807b strh r3, [r7, #2] GPIO_PinState bitstatus; /* Check the parameters */ assert_param(IS_GPIO_PIN(GPIO_Pin)); if((GPIOx->IDR & GPIO_Pin) != (uint32_t)GPIO_PIN_RESET) 80b5bc4: 687b ldr r3, [r7, #4] 80b5bc6: 691a ldr r2, [r3, #16] 80b5bc8: 887b ldrh r3, [r7, #2] 80b5bca: 4013 ands r3, r2 80b5bcc: 2b00 cmp r3, #0 80b5bce: d002 beq.n 80b5bd6 { bitstatus = GPIO_PIN_SET; 80b5bd0: 2301 movs r3, #1 80b5bd2: 73fb strb r3, [r7, #15] 80b5bd4: e001 b.n 80b5bda } else { bitstatus = GPIO_PIN_RESET; 80b5bd6: 2300 movs r3, #0 80b5bd8: 73fb strb r3, [r7, #15] } return bitstatus; 80b5bda: 7bfb ldrb r3, [r7, #15] } 80b5bdc: 4618 mov r0, r3 80b5bde: 3714 adds r7, #20 80b5be0: 46bd mov sp, r7 80b5be2: f85d 7b04 ldr.w r7, [sp], #4 80b5be6: 4770 bx lr 080b5be8 : * @arg GPIO_PIN_RESET: to clear the port pin * @arg GPIO_PIN_SET: to set the port pin * @retval None */ void HAL_GPIO_WritePin(GPIO_TypeDef* GPIOx, uint16_t GPIO_Pin, GPIO_PinState PinState) { 80b5be8: b480 push {r7} 80b5bea: b083 sub sp, #12 80b5bec: af00 add r7, sp, #0 80b5bee: 6078 str r0, [r7, #4] 80b5bf0: 460b mov r3, r1 80b5bf2: 807b strh r3, [r7, #2] 80b5bf4: 4613 mov r3, r2 80b5bf6: 707b strb r3, [r7, #1] /* Check the parameters */ assert_param(IS_GPIO_PIN(GPIO_Pin)); assert_param(IS_GPIO_PIN_ACTION(PinState)); if(PinState != GPIO_PIN_RESET) 80b5bf8: 787b ldrb r3, [r7, #1] 80b5bfa: 2b00 cmp r3, #0 80b5bfc: d003 beq.n 80b5c06 { GPIOx->BSRR = GPIO_Pin; 80b5bfe: 887a ldrh r2, [r7, #2] 80b5c00: 687b ldr r3, [r7, #4] 80b5c02: 619a str r2, [r3, #24] } else { GPIOx->BSRR = (uint32_t)GPIO_Pin << 16; } } 80b5c04: e003 b.n 80b5c0e GPIOx->BSRR = (uint32_t)GPIO_Pin << 16; 80b5c06: 887b ldrh r3, [r7, #2] 80b5c08: 041a lsls r2, r3, #16 80b5c0a: 687b ldr r3, [r7, #4] 80b5c0c: 619a str r2, [r3, #24] } 80b5c0e: bf00 nop 80b5c10: 370c adds r7, #12 80b5c12: 46bd mov sp, r7 80b5c14: f85d 7b04 ldr.w r7, [sp], #4 80b5c18: 4770 bx lr ... 080b5c1c : * @brief This function handles EXTI interrupt request. * @param GPIO_Pin Specifies the pins connected EXTI line * @retval None */ void HAL_GPIO_EXTI_IRQHandler(uint16_t GPIO_Pin) { 80b5c1c: b580 push {r7, lr} 80b5c1e: b082 sub sp, #8 80b5c20: af00 add r7, sp, #0 80b5c22: 4603 mov r3, r0 80b5c24: 80fb strh r3, [r7, #6] /* EXTI line interrupt detected */ if(__HAL_GPIO_EXTI_GET_IT(GPIO_Pin) != RESET) 80b5c26: 4b08 ldr r3, [pc, #32] ; (80b5c48 ) 80b5c28: 695a ldr r2, [r3, #20] 80b5c2a: 88fb ldrh r3, [r7, #6] 80b5c2c: 4013 ands r3, r2 80b5c2e: 2b00 cmp r3, #0 80b5c30: d006 beq.n 80b5c40 { __HAL_GPIO_EXTI_CLEAR_IT(GPIO_Pin); 80b5c32: 4a05 ldr r2, [pc, #20] ; (80b5c48 ) 80b5c34: 88fb ldrh r3, [r7, #6] 80b5c36: 6153 str r3, [r2, #20] HAL_GPIO_EXTI_Callback(GPIO_Pin); 80b5c38: 88fb ldrh r3, [r7, #6] 80b5c3a: 4618 mov r0, r3 80b5c3c: f7b2 f8ca bl 8067dd4 } } 80b5c40: bf00 nop 80b5c42: 3708 adds r7, #8 80b5c44: 46bd mov sp, r7 80b5c46: bd80 pop {r7, pc} 80b5c48: 40013c00 .word 0x40013c00 080b5c4c : * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains * the configuration information for the LTDC. * @retval HAL status */ HAL_StatusTypeDef HAL_LTDC_Init(LTDC_HandleTypeDef *hltdc) { 80b5c4c: b580 push {r7, lr} 80b5c4e: b084 sub sp, #16 80b5c50: af00 add r7, sp, #0 80b5c52: 6078 str r0, [r7, #4] uint32_t tmp, tmp1; /* Check the LTDC peripheral state */ if (hltdc == NULL) 80b5c54: 687b ldr r3, [r7, #4] 80b5c56: 2b00 cmp r3, #0 80b5c58: d101 bne.n 80b5c5e { return HAL_ERROR; 80b5c5a: 2301 movs r3, #1 80b5c5c: e0bf b.n 80b5dde } /* Init the low level hardware */ hltdc->MspInitCallback(hltdc); } #else if (hltdc->State == HAL_LTDC_STATE_RESET) 80b5c5e: 687b ldr r3, [r7, #4] 80b5c60: f893 30a1 ldrb.w r3, [r3, #161] ; 0xa1 80b5c64: b2db uxtb r3, r3 80b5c66: 2b00 cmp r3, #0 80b5c68: d106 bne.n 80b5c78 { /* Allocate lock resource and initialize it */ hltdc->Lock = HAL_UNLOCKED; 80b5c6a: 687b ldr r3, [r7, #4] 80b5c6c: 2200 movs r2, #0 80b5c6e: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Init the low level hardware */ HAL_LTDC_MspInit(hltdc); 80b5c72: 6878 ldr r0, [r7, #4] 80b5c74: f79d fc50 bl 8053518 } #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80b5c78: 687b ldr r3, [r7, #4] 80b5c7a: 2202 movs r2, #2 80b5c7c: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Configure the HS, VS, DE and PC polarity */ hltdc->Instance->GCR &= ~(LTDC_GCR_HSPOL | LTDC_GCR_VSPOL | LTDC_GCR_DEPOL | LTDC_GCR_PCPOL); 80b5c80: 687b ldr r3, [r7, #4] 80b5c82: 681b ldr r3, [r3, #0] 80b5c84: 687a ldr r2, [r7, #4] 80b5c86: 6812 ldr r2, [r2, #0] 80b5c88: 6992 ldr r2, [r2, #24] 80b5c8a: f022 4270 bic.w r2, r2, #4026531840 ; 0xf0000000 80b5c8e: 619a str r2, [r3, #24] hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 80b5c90: 687b ldr r3, [r7, #4] 80b5c92: 681b ldr r3, [r3, #0] 80b5c94: 687a ldr r2, [r7, #4] 80b5c96: 6812 ldr r2, [r2, #0] 80b5c98: 6991 ldr r1, [r2, #24] 80b5c9a: 687a ldr r2, [r7, #4] 80b5c9c: 6850 ldr r0, [r2, #4] 80b5c9e: 687a ldr r2, [r7, #4] 80b5ca0: 6892 ldr r2, [r2, #8] 80b5ca2: 4310 orrs r0, r2 hltdc->Init.DEPolarity | hltdc->Init.PCPolarity); 80b5ca4: 687a ldr r2, [r7, #4] 80b5ca6: 68d2 ldr r2, [r2, #12] hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 80b5ca8: 4310 orrs r0, r2 hltdc->Init.DEPolarity | hltdc->Init.PCPolarity); 80b5caa: 687a ldr r2, [r7, #4] 80b5cac: 6912 ldr r2, [r2, #16] 80b5cae: 4302 orrs r2, r0 hltdc->Instance->GCR |= (uint32_t)(hltdc->Init.HSPolarity | hltdc->Init.VSPolarity | \ 80b5cb0: 430a orrs r2, r1 80b5cb2: 619a str r2, [r3, #24] /* Set Synchronization size */ hltdc->Instance->SSCR &= ~(LTDC_SSCR_VSH | LTDC_SSCR_HSW); 80b5cb4: 687b ldr r3, [r7, #4] 80b5cb6: 681a ldr r2, [r3, #0] 80b5cb8: 687b ldr r3, [r7, #4] 80b5cba: 681b ldr r3, [r3, #0] 80b5cbc: 6899 ldr r1, [r3, #8] 80b5cbe: 4b4a ldr r3, [pc, #296] ; (80b5de8 ) 80b5cc0: 400b ands r3, r1 80b5cc2: 6093 str r3, [r2, #8] tmp = (hltdc->Init.HorizontalSync << 16U); 80b5cc4: 687b ldr r3, [r7, #4] 80b5cc6: 695b ldr r3, [r3, #20] 80b5cc8: 041b lsls r3, r3, #16 80b5cca: 60fb str r3, [r7, #12] hltdc->Instance->SSCR |= (tmp | hltdc->Init.VerticalSync); 80b5ccc: 687b ldr r3, [r7, #4] 80b5cce: 681b ldr r3, [r3, #0] 80b5cd0: 687a ldr r2, [r7, #4] 80b5cd2: 6812 ldr r2, [r2, #0] 80b5cd4: 6891 ldr r1, [r2, #8] 80b5cd6: 687a ldr r2, [r7, #4] 80b5cd8: 6990 ldr r0, [r2, #24] 80b5cda: 68fa ldr r2, [r7, #12] 80b5cdc: 4302 orrs r2, r0 80b5cde: 430a orrs r2, r1 80b5ce0: 609a str r2, [r3, #8] /* Set Accumulated Back porch */ hltdc->Instance->BPCR &= ~(LTDC_BPCR_AVBP | LTDC_BPCR_AHBP); 80b5ce2: 687b ldr r3, [r7, #4] 80b5ce4: 681a ldr r2, [r3, #0] 80b5ce6: 687b ldr r3, [r7, #4] 80b5ce8: 681b ldr r3, [r3, #0] 80b5cea: 68d9 ldr r1, [r3, #12] 80b5cec: 4b3e ldr r3, [pc, #248] ; (80b5de8 ) 80b5cee: 400b ands r3, r1 80b5cf0: 60d3 str r3, [r2, #12] tmp = (hltdc->Init.AccumulatedHBP << 16U); 80b5cf2: 687b ldr r3, [r7, #4] 80b5cf4: 69db ldr r3, [r3, #28] 80b5cf6: 041b lsls r3, r3, #16 80b5cf8: 60fb str r3, [r7, #12] hltdc->Instance->BPCR |= (tmp | hltdc->Init.AccumulatedVBP); 80b5cfa: 687b ldr r3, [r7, #4] 80b5cfc: 681b ldr r3, [r3, #0] 80b5cfe: 687a ldr r2, [r7, #4] 80b5d00: 6812 ldr r2, [r2, #0] 80b5d02: 68d1 ldr r1, [r2, #12] 80b5d04: 687a ldr r2, [r7, #4] 80b5d06: 6a10 ldr r0, [r2, #32] 80b5d08: 68fa ldr r2, [r7, #12] 80b5d0a: 4302 orrs r2, r0 80b5d0c: 430a orrs r2, r1 80b5d0e: 60da str r2, [r3, #12] /* Set Accumulated Active Width */ hltdc->Instance->AWCR &= ~(LTDC_AWCR_AAH | LTDC_AWCR_AAW); 80b5d10: 687b ldr r3, [r7, #4] 80b5d12: 681a ldr r2, [r3, #0] 80b5d14: 687b ldr r3, [r7, #4] 80b5d16: 681b ldr r3, [r3, #0] 80b5d18: 6919 ldr r1, [r3, #16] 80b5d1a: 4b33 ldr r3, [pc, #204] ; (80b5de8 ) 80b5d1c: 400b ands r3, r1 80b5d1e: 6113 str r3, [r2, #16] tmp = (hltdc->Init.AccumulatedActiveW << 16U); 80b5d20: 687b ldr r3, [r7, #4] 80b5d22: 6a5b ldr r3, [r3, #36] ; 0x24 80b5d24: 041b lsls r3, r3, #16 80b5d26: 60fb str r3, [r7, #12] hltdc->Instance->AWCR |= (tmp | hltdc->Init.AccumulatedActiveH); 80b5d28: 687b ldr r3, [r7, #4] 80b5d2a: 681b ldr r3, [r3, #0] 80b5d2c: 687a ldr r2, [r7, #4] 80b5d2e: 6812 ldr r2, [r2, #0] 80b5d30: 6911 ldr r1, [r2, #16] 80b5d32: 687a ldr r2, [r7, #4] 80b5d34: 6a90 ldr r0, [r2, #40] ; 0x28 80b5d36: 68fa ldr r2, [r7, #12] 80b5d38: 4302 orrs r2, r0 80b5d3a: 430a orrs r2, r1 80b5d3c: 611a str r2, [r3, #16] /* Set Total Width */ hltdc->Instance->TWCR &= ~(LTDC_TWCR_TOTALH | LTDC_TWCR_TOTALW); 80b5d3e: 687b ldr r3, [r7, #4] 80b5d40: 681a ldr r2, [r3, #0] 80b5d42: 687b ldr r3, [r7, #4] 80b5d44: 681b ldr r3, [r3, #0] 80b5d46: 6959 ldr r1, [r3, #20] 80b5d48: 4b27 ldr r3, [pc, #156] ; (80b5de8 ) 80b5d4a: 400b ands r3, r1 80b5d4c: 6153 str r3, [r2, #20] tmp = (hltdc->Init.TotalWidth << 16U); 80b5d4e: 687b ldr r3, [r7, #4] 80b5d50: 6adb ldr r3, [r3, #44] ; 0x2c 80b5d52: 041b lsls r3, r3, #16 80b5d54: 60fb str r3, [r7, #12] hltdc->Instance->TWCR |= (tmp | hltdc->Init.TotalHeigh); 80b5d56: 687b ldr r3, [r7, #4] 80b5d58: 681b ldr r3, [r3, #0] 80b5d5a: 687a ldr r2, [r7, #4] 80b5d5c: 6812 ldr r2, [r2, #0] 80b5d5e: 6951 ldr r1, [r2, #20] 80b5d60: 687a ldr r2, [r7, #4] 80b5d62: 6b10 ldr r0, [r2, #48] ; 0x30 80b5d64: 68fa ldr r2, [r7, #12] 80b5d66: 4302 orrs r2, r0 80b5d68: 430a orrs r2, r1 80b5d6a: 615a str r2, [r3, #20] /* Set the background color value */ tmp = ((uint32_t)(hltdc->Init.Backcolor.Green) << 8U); 80b5d6c: 687b ldr r3, [r7, #4] 80b5d6e: f893 3035 ldrb.w r3, [r3, #53] ; 0x35 80b5d72: 021b lsls r3, r3, #8 80b5d74: 60fb str r3, [r7, #12] tmp1 = ((uint32_t)(hltdc->Init.Backcolor.Red) << 16U); 80b5d76: 687b ldr r3, [r7, #4] 80b5d78: f893 3036 ldrb.w r3, [r3, #54] ; 0x36 80b5d7c: 041b lsls r3, r3, #16 80b5d7e: 60bb str r3, [r7, #8] hltdc->Instance->BCCR &= ~(LTDC_BCCR_BCBLUE | LTDC_BCCR_BCGREEN | LTDC_BCCR_BCRED); 80b5d80: 687b ldr r3, [r7, #4] 80b5d82: 681b ldr r3, [r3, #0] 80b5d84: 687a ldr r2, [r7, #4] 80b5d86: 6812 ldr r2, [r2, #0] 80b5d88: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b5d8a: f002 427f and.w r2, r2, #4278190080 ; 0xff000000 80b5d8e: 62da str r2, [r3, #44] ; 0x2c hltdc->Instance->BCCR |= (tmp1 | tmp | hltdc->Init.Backcolor.Blue); 80b5d90: 687b ldr r3, [r7, #4] 80b5d92: 681b ldr r3, [r3, #0] 80b5d94: 687a ldr r2, [r7, #4] 80b5d96: 6812 ldr r2, [r2, #0] 80b5d98: 6ad1 ldr r1, [r2, #44] ; 0x2c 80b5d9a: 68b8 ldr r0, [r7, #8] 80b5d9c: 68fa ldr r2, [r7, #12] 80b5d9e: 4302 orrs r2, r0 80b5da0: 6878 ldr r0, [r7, #4] 80b5da2: f890 0034 ldrb.w r0, [r0, #52] ; 0x34 80b5da6: 4302 orrs r2, r0 80b5da8: 430a orrs r2, r1 80b5daa: 62da str r2, [r3, #44] ; 0x2c /* Enable the Transfer Error and FIFO underrun interrupts */ __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_TE | LTDC_IT_FU); 80b5dac: 687b ldr r3, [r7, #4] 80b5dae: 681b ldr r3, [r3, #0] 80b5db0: 687a ldr r2, [r7, #4] 80b5db2: 6812 ldr r2, [r2, #0] 80b5db4: 6b52 ldr r2, [r2, #52] ; 0x34 80b5db6: f042 0206 orr.w r2, r2, #6 80b5dba: 635a str r2, [r3, #52] ; 0x34 /* Enable LTDC by setting LTDCEN bit */ __HAL_LTDC_ENABLE(hltdc); 80b5dbc: 687b ldr r3, [r7, #4] 80b5dbe: 681b ldr r3, [r3, #0] 80b5dc0: 687a ldr r2, [r7, #4] 80b5dc2: 6812 ldr r2, [r2, #0] 80b5dc4: 6992 ldr r2, [r2, #24] 80b5dc6: f042 0201 orr.w r2, r2, #1 80b5dca: 619a str r2, [r3, #24] /* Initialize the error code */ hltdc->ErrorCode = HAL_LTDC_ERROR_NONE; 80b5dcc: 687b ldr r3, [r7, #4] 80b5dce: 2200 movs r2, #0 80b5dd0: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 /* Initialize the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80b5dd4: 687b ldr r3, [r7, #4] 80b5dd6: 2201 movs r2, #1 80b5dd8: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 return HAL_OK; 80b5ddc: 2300 movs r3, #0 } 80b5dde: 4618 mov r0, r3 80b5de0: 3710 adds r7, #16 80b5de2: 46bd mov sp, r7 80b5de4: bd80 pop {r7, pc} 80b5de6: bf00 nop 80b5de8: f000f800 .word 0xf000f800 080b5dec : * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains * the configuration information for the LTDC. * @retval HAL status */ void HAL_LTDC_IRQHandler(LTDC_HandleTypeDef *hltdc) { 80b5dec: b580 push {r7, lr} 80b5dee: b084 sub sp, #16 80b5df0: af00 add r7, sp, #0 80b5df2: 6078 str r0, [r7, #4] uint32_t isrflags = READ_REG(hltdc->Instance->ISR); 80b5df4: 687b ldr r3, [r7, #4] 80b5df6: 681b ldr r3, [r3, #0] 80b5df8: 6b9b ldr r3, [r3, #56] ; 0x38 80b5dfa: 60fb str r3, [r7, #12] uint32_t itsources = READ_REG(hltdc->Instance->IER); 80b5dfc: 687b ldr r3, [r7, #4] 80b5dfe: 681b ldr r3, [r3, #0] 80b5e00: 6b5b ldr r3, [r3, #52] ; 0x34 80b5e02: 60bb str r3, [r7, #8] /* Transfer Error Interrupt management ***************************************/ if (((isrflags & LTDC_ISR_TERRIF) != 0U) && ((itsources & LTDC_IER_TERRIE) != 0U)) 80b5e04: 68fb ldr r3, [r7, #12] 80b5e06: f003 0304 and.w r3, r3, #4 80b5e0a: 2b00 cmp r3, #0 80b5e0c: d023 beq.n 80b5e56 80b5e0e: 68bb ldr r3, [r7, #8] 80b5e10: f003 0304 and.w r3, r3, #4 80b5e14: 2b00 cmp r3, #0 80b5e16: d01e beq.n 80b5e56 { /* Disable the transfer Error interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_TE); 80b5e18: 687b ldr r3, [r7, #4] 80b5e1a: 681b ldr r3, [r3, #0] 80b5e1c: 687a ldr r2, [r7, #4] 80b5e1e: 6812 ldr r2, [r2, #0] 80b5e20: 6b52 ldr r2, [r2, #52] ; 0x34 80b5e22: f022 0204 bic.w r2, r2, #4 80b5e26: 635a str r2, [r3, #52] ; 0x34 /* Clear the transfer error flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_TE); 80b5e28: 687b ldr r3, [r7, #4] 80b5e2a: 681b ldr r3, [r3, #0] 80b5e2c: 2204 movs r2, #4 80b5e2e: 63da str r2, [r3, #60] ; 0x3c /* Update error code */ hltdc->ErrorCode |= HAL_LTDC_ERROR_TE; 80b5e30: 687b ldr r3, [r7, #4] 80b5e32: f8d3 30a4 ldr.w r3, [r3, #164] ; 0xa4 80b5e36: f043 0201 orr.w r2, r3, #1 80b5e3a: 687b ldr r3, [r7, #4] 80b5e3c: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_ERROR; 80b5e40: 687b ldr r3, [r7, #4] 80b5e42: 2204 movs r2, #4 80b5e44: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b5e48: 687b ldr r3, [r7, #4] 80b5e4a: 2200 movs r2, #0 80b5e4c: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 #if (USE_HAL_LTDC_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ hltdc->ErrorCallback(hltdc); #else /* Call legacy error callback*/ HAL_LTDC_ErrorCallback(hltdc); 80b5e50: 6878 ldr r0, [r7, #4] 80b5e52: f000 f86f bl 80b5f34 #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } /* FIFO underrun Interrupt management ***************************************/ if (((isrflags & LTDC_ISR_FUIF) != 0U) && ((itsources & LTDC_IER_FUIE) != 0U)) 80b5e56: 68fb ldr r3, [r7, #12] 80b5e58: f003 0302 and.w r3, r3, #2 80b5e5c: 2b00 cmp r3, #0 80b5e5e: d023 beq.n 80b5ea8 80b5e60: 68bb ldr r3, [r7, #8] 80b5e62: f003 0302 and.w r3, r3, #2 80b5e66: 2b00 cmp r3, #0 80b5e68: d01e beq.n 80b5ea8 { /* Disable the FIFO underrun interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_FU); 80b5e6a: 687b ldr r3, [r7, #4] 80b5e6c: 681b ldr r3, [r3, #0] 80b5e6e: 687a ldr r2, [r7, #4] 80b5e70: 6812 ldr r2, [r2, #0] 80b5e72: 6b52 ldr r2, [r2, #52] ; 0x34 80b5e74: f022 0202 bic.w r2, r2, #2 80b5e78: 635a str r2, [r3, #52] ; 0x34 /* Clear the FIFO underrun flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_FU); 80b5e7a: 687b ldr r3, [r7, #4] 80b5e7c: 681b ldr r3, [r3, #0] 80b5e7e: 2202 movs r2, #2 80b5e80: 63da str r2, [r3, #60] ; 0x3c /* Update error code */ hltdc->ErrorCode |= HAL_LTDC_ERROR_FU; 80b5e82: 687b ldr r3, [r7, #4] 80b5e84: f8d3 30a4 ldr.w r3, [r3, #164] ; 0xa4 80b5e88: f043 0202 orr.w r2, r3, #2 80b5e8c: 687b ldr r3, [r7, #4] 80b5e8e: f8c3 20a4 str.w r2, [r3, #164] ; 0xa4 /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_ERROR; 80b5e92: 687b ldr r3, [r7, #4] 80b5e94: 2204 movs r2, #4 80b5e96: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b5e9a: 687b ldr r3, [r7, #4] 80b5e9c: 2200 movs r2, #0 80b5e9e: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 #if (USE_HAL_LTDC_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ hltdc->ErrorCallback(hltdc); #else /* Call legacy error callback*/ HAL_LTDC_ErrorCallback(hltdc); 80b5ea2: 6878 ldr r0, [r7, #4] 80b5ea4: f000 f846 bl 80b5f34 #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } /* Line Interrupt management ************************************************/ if (((isrflags & LTDC_ISR_LIF) != 0U) && ((itsources & LTDC_IER_LIE) != 0U)) 80b5ea8: 68fb ldr r3, [r7, #12] 80b5eaa: f003 0301 and.w r3, r3, #1 80b5eae: 2b00 cmp r3, #0 80b5eb0: d01b beq.n 80b5eea 80b5eb2: 68bb ldr r3, [r7, #8] 80b5eb4: f003 0301 and.w r3, r3, #1 80b5eb8: 2b00 cmp r3, #0 80b5eba: d016 beq.n 80b5eea { /* Disable the Line interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); 80b5ebc: 687b ldr r3, [r7, #4] 80b5ebe: 681b ldr r3, [r3, #0] 80b5ec0: 687a ldr r2, [r7, #4] 80b5ec2: 6812 ldr r2, [r2, #0] 80b5ec4: 6b52 ldr r2, [r2, #52] ; 0x34 80b5ec6: f022 0201 bic.w r2, r2, #1 80b5eca: 635a str r2, [r3, #52] ; 0x34 /* Clear the Line interrupt flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_LI); 80b5ecc: 687b ldr r3, [r7, #4] 80b5ece: 681b ldr r3, [r3, #0] 80b5ed0: 2201 movs r2, #1 80b5ed2: 63da str r2, [r3, #60] ; 0x3c /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_READY; 80b5ed4: 687b ldr r3, [r7, #4] 80b5ed6: 2201 movs r2, #1 80b5ed8: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b5edc: 687b ldr r3, [r7, #4] 80b5ede: 2200 movs r2, #0 80b5ee0: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 #if (USE_HAL_LTDC_REGISTER_CALLBACKS == 1) /*Call registered Line Event callback */ hltdc->LineEventCallback(hltdc); #else /*Call Legacy Line Event callback */ HAL_LTDC_LineEventCallback(hltdc); 80b5ee4: 6878 ldr r0, [r7, #4] 80b5ee6: f79e fc47 bl 8054778 #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } /* Register reload Interrupt management ***************************************/ if (((isrflags & LTDC_ISR_RRIF) != 0U) && ((itsources & LTDC_IER_RRIE) != 0U)) 80b5eea: 68fb ldr r3, [r7, #12] 80b5eec: f003 0308 and.w r3, r3, #8 80b5ef0: 2b00 cmp r3, #0 80b5ef2: d01b beq.n 80b5f2c 80b5ef4: 68bb ldr r3, [r7, #8] 80b5ef6: f003 0308 and.w r3, r3, #8 80b5efa: 2b00 cmp r3, #0 80b5efc: d016 beq.n 80b5f2c { /* Disable the register reload interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_RR); 80b5efe: 687b ldr r3, [r7, #4] 80b5f00: 681b ldr r3, [r3, #0] 80b5f02: 687a ldr r2, [r7, #4] 80b5f04: 6812 ldr r2, [r2, #0] 80b5f06: 6b52 ldr r2, [r2, #52] ; 0x34 80b5f08: f022 0208 bic.w r2, r2, #8 80b5f0c: 635a str r2, [r3, #52] ; 0x34 /* Clear the register reload flag */ __HAL_LTDC_CLEAR_FLAG(hltdc, LTDC_FLAG_RR); 80b5f0e: 687b ldr r3, [r7, #4] 80b5f10: 681b ldr r3, [r3, #0] 80b5f12: 2208 movs r2, #8 80b5f14: 63da str r2, [r3, #60] ; 0x3c /* Change LTDC state */ hltdc->State = HAL_LTDC_STATE_READY; 80b5f16: 687b ldr r3, [r7, #4] 80b5f18: 2201 movs r2, #1 80b5f1a: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b5f1e: 687b ldr r3, [r7, #4] 80b5f20: 2200 movs r2, #0 80b5f22: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 #if (USE_HAL_LTDC_REGISTER_CALLBACKS == 1) /*Call registered reload Event callback */ hltdc->ReloadEventCallback(hltdc); #else /*Call Legacy Reload Event callback */ HAL_LTDC_ReloadEventCallback(hltdc); 80b5f26: 6878 ldr r0, [r7, #4] 80b5f28: f000 f80e bl 80b5f48 #endif /* USE_HAL_LTDC_REGISTER_CALLBACKS */ } } 80b5f2c: bf00 nop 80b5f2e: 3710 adds r7, #16 80b5f30: 46bd mov sp, r7 80b5f32: bd80 pop {r7, pc} 080b5f34 : * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains * the configuration information for the LTDC. * @retval None */ __weak void HAL_LTDC_ErrorCallback(LTDC_HandleTypeDef *hltdc) { 80b5f34: b480 push {r7} 80b5f36: b083 sub sp, #12 80b5f38: af00 add r7, sp, #0 80b5f3a: 6078 str r0, [r7, #4] UNUSED(hltdc); /* NOTE : This function should not be modified, when the callback is needed, the HAL_LTDC_ErrorCallback could be implemented in the user file */ } 80b5f3c: bf00 nop 80b5f3e: 370c adds r7, #12 80b5f40: 46bd mov sp, r7 80b5f42: f85d 7b04 ldr.w r7, [sp], #4 80b5f46: 4770 bx lr 080b5f48 : * @param hltdc pointer to a LTDC_HandleTypeDef structure that contains * the configuration information for the LTDC. * @retval None */ __weak void HAL_LTDC_ReloadEventCallback(LTDC_HandleTypeDef *hltdc) { 80b5f48: b480 push {r7} 80b5f4a: b083 sub sp, #12 80b5f4c: af00 add r7, sp, #0 80b5f4e: 6078 str r0, [r7, #4] UNUSED(hltdc); /* NOTE : This function should not be modified, when the callback is needed, the HAL_LTDC_ReloadEvenCallback could be implemented in the user file */ } 80b5f50: bf00 nop 80b5f52: 370c adds r7, #12 80b5f54: 46bd mov sp, r7 80b5f56: f85d 7b04 ldr.w r7, [sp], #4 80b5f5a: 4770 bx lr 080b5f5c : * This parameter can be one of the following values: * LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) * @retval HAL status */ HAL_StatusTypeDef HAL_LTDC_ConfigLayer(LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLayerCfg, uint32_t LayerIdx) { 80b5f5c: b5b0 push {r4, r5, r7, lr} 80b5f5e: b084 sub sp, #16 80b5f60: af00 add r7, sp, #0 80b5f62: 60f8 str r0, [r7, #12] 80b5f64: 60b9 str r1, [r7, #8] 80b5f66: 607a str r2, [r7, #4] assert_param(IS_LTDC_BLENDING_FACTOR2(pLayerCfg->BlendingFactor2)); assert_param(IS_LTDC_CFBLL(pLayerCfg->ImageWidth)); assert_param(IS_LTDC_CFBLNBR(pLayerCfg->ImageHeight)); /* Process locked */ __HAL_LOCK(hltdc); 80b5f68: 68fb ldr r3, [r7, #12] 80b5f6a: f893 30a0 ldrb.w r3, [r3, #160] ; 0xa0 80b5f6e: 2b01 cmp r3, #1 80b5f70: d101 bne.n 80b5f76 80b5f72: 2302 movs r3, #2 80b5f74: e02c b.n 80b5fd0 80b5f76: 68fb ldr r3, [r7, #12] 80b5f78: 2201 movs r2, #1 80b5f7a: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80b5f7e: 68fb ldr r3, [r7, #12] 80b5f80: 2202 movs r2, #2 80b5f82: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Copy new layer configuration into handle structure */ hltdc->LayerCfg[LayerIdx] = *pLayerCfg; 80b5f86: 68fa ldr r2, [r7, #12] 80b5f88: 687b ldr r3, [r7, #4] 80b5f8a: 2134 movs r1, #52 ; 0x34 80b5f8c: fb01 f303 mul.w r3, r1, r3 80b5f90: 4413 add r3, r2 80b5f92: f103 0238 add.w r2, r3, #56 ; 0x38 80b5f96: 68bb ldr r3, [r7, #8] 80b5f98: 4614 mov r4, r2 80b5f9a: 461d mov r5, r3 80b5f9c: cd0f ldmia r5!, {r0, r1, r2, r3} 80b5f9e: c40f stmia r4!, {r0, r1, r2, r3} 80b5fa0: cd0f ldmia r5!, {r0, r1, r2, r3} 80b5fa2: c40f stmia r4!, {r0, r1, r2, r3} 80b5fa4: cd0f ldmia r5!, {r0, r1, r2, r3} 80b5fa6: c40f stmia r4!, {r0, r1, r2, r3} 80b5fa8: 682b ldr r3, [r5, #0] 80b5faa: 6023 str r3, [r4, #0] /* Configure the LTDC Layer */ LTDC_SetConfig(hltdc, pLayerCfg, LayerIdx); 80b5fac: 687a ldr r2, [r7, #4] 80b5fae: 68b9 ldr r1, [r7, #8] 80b5fb0: 68f8 ldr r0, [r7, #12] 80b5fb2: f000 f879 bl 80b60a8 /* Set the Immediate Reload type */ hltdc->Instance->SRCR = LTDC_SRCR_IMR; 80b5fb6: 68fb ldr r3, [r7, #12] 80b5fb8: 681b ldr r3, [r3, #0] 80b5fba: 2201 movs r2, #1 80b5fbc: 625a str r2, [r3, #36] ; 0x24 /* Initialize the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80b5fbe: 68fb ldr r3, [r7, #12] 80b5fc0: 2201 movs r2, #1 80b5fc2: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b5fc6: 68fb ldr r3, [r7, #12] 80b5fc8: 2200 movs r2, #0 80b5fca: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 return HAL_OK; 80b5fce: 2300 movs r3, #0 } 80b5fd0: 4618 mov r0, r3 80b5fd2: 3710 adds r7, #16 80b5fd4: 46bd mov sp, r7 80b5fd6: bdb0 pop {r4, r5, r7, pc} 080b5fd8 : * @param Line Line Interrupt Position. * @note User application may resort to HAL_LTDC_LineEventCallback() at line interrupt generation. * @retval HAL status */ HAL_StatusTypeDef HAL_LTDC_ProgramLineEvent(LTDC_HandleTypeDef *hltdc, uint32_t Line) { 80b5fd8: b480 push {r7} 80b5fda: b083 sub sp, #12 80b5fdc: af00 add r7, sp, #0 80b5fde: 6078 str r0, [r7, #4] 80b5fe0: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_LTDC_LIPOS(Line)); /* Process locked */ __HAL_LOCK(hltdc); 80b5fe2: 687b ldr r3, [r7, #4] 80b5fe4: f893 30a0 ldrb.w r3, [r3, #160] ; 0xa0 80b5fe8: 2b01 cmp r3, #1 80b5fea: d101 bne.n 80b5ff0 80b5fec: 2302 movs r3, #2 80b5fee: e023 b.n 80b6038 80b5ff0: 687b ldr r3, [r7, #4] 80b5ff2: 2201 movs r2, #1 80b5ff4: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80b5ff8: 687b ldr r3, [r7, #4] 80b5ffa: 2202 movs r2, #2 80b5ffc: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Disable the Line interrupt */ __HAL_LTDC_DISABLE_IT(hltdc, LTDC_IT_LI); 80b6000: 687b ldr r3, [r7, #4] 80b6002: 681b ldr r3, [r3, #0] 80b6004: 687a ldr r2, [r7, #4] 80b6006: 6812 ldr r2, [r2, #0] 80b6008: 6b52 ldr r2, [r2, #52] ; 0x34 80b600a: f022 0201 bic.w r2, r2, #1 80b600e: 635a str r2, [r3, #52] ; 0x34 /* Set the Line Interrupt position */ LTDC->LIPCR = (uint32_t)Line; 80b6010: 4a0c ldr r2, [pc, #48] ; (80b6044 ) 80b6012: 683b ldr r3, [r7, #0] 80b6014: 6413 str r3, [r2, #64] ; 0x40 /* Enable the Line interrupt */ __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_LI); 80b6016: 687b ldr r3, [r7, #4] 80b6018: 681b ldr r3, [r3, #0] 80b601a: 687a ldr r2, [r7, #4] 80b601c: 6812 ldr r2, [r2, #0] 80b601e: 6b52 ldr r2, [r2, #52] ; 0x34 80b6020: f042 0201 orr.w r2, r2, #1 80b6024: 635a str r2, [r3, #52] ; 0x34 /* Change the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80b6026: 687b ldr r3, [r7, #4] 80b6028: 2201 movs r2, #1 80b602a: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b602e: 687b ldr r3, [r7, #4] 80b6030: 2200 movs r2, #0 80b6032: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 return HAL_OK; 80b6036: 2300 movs r3, #0 } 80b6038: 4618 mov r0, r3 80b603a: 370c adds r7, #12 80b603c: 46bd mov sp, r7 80b603e: f85d 7b04 ldr.w r7, [sp], #4 80b6042: 4770 bx lr 80b6044: 40016800 .word 0x40016800 080b6048 : * LTDC_RELOAD_VERTICAL_BLANKING : Reload in the next Vertical Blanking * @note User application may resort to HAL_LTDC_ReloadEventCallback() at reload interrupt generation. * @retval HAL status */ HAL_StatusTypeDef HAL_LTDC_Reload(LTDC_HandleTypeDef *hltdc, uint32_t ReloadType) { 80b6048: b480 push {r7} 80b604a: b083 sub sp, #12 80b604c: af00 add r7, sp, #0 80b604e: 6078 str r0, [r7, #4] 80b6050: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_LTDC_RELOAD(ReloadType)); /* Process locked */ __HAL_LOCK(hltdc); 80b6052: 687b ldr r3, [r7, #4] 80b6054: f893 30a0 ldrb.w r3, [r3, #160] ; 0xa0 80b6058: 2b01 cmp r3, #1 80b605a: d101 bne.n 80b6060 80b605c: 2302 movs r3, #2 80b605e: e01c b.n 80b609a 80b6060: 687b ldr r3, [r7, #4] 80b6062: 2201 movs r2, #1 80b6064: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 /* Change LTDC peripheral state */ hltdc->State = HAL_LTDC_STATE_BUSY; 80b6068: 687b ldr r3, [r7, #4] 80b606a: 2202 movs r2, #2 80b606c: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Enable the Reload interrupt */ __HAL_LTDC_ENABLE_IT(hltdc, LTDC_IT_RR); 80b6070: 687b ldr r3, [r7, #4] 80b6072: 681b ldr r3, [r3, #0] 80b6074: 687a ldr r2, [r7, #4] 80b6076: 6812 ldr r2, [r2, #0] 80b6078: 6b52 ldr r2, [r2, #52] ; 0x34 80b607a: f042 0208 orr.w r2, r2, #8 80b607e: 635a str r2, [r3, #52] ; 0x34 /* Apply Reload type */ hltdc->Instance->SRCR = ReloadType; 80b6080: 687b ldr r3, [r7, #4] 80b6082: 681b ldr r3, [r3, #0] 80b6084: 683a ldr r2, [r7, #0] 80b6086: 625a str r2, [r3, #36] ; 0x24 /* Change the LTDC state*/ hltdc->State = HAL_LTDC_STATE_READY; 80b6088: 687b ldr r3, [r7, #4] 80b608a: 2201 movs r2, #1 80b608c: f883 20a1 strb.w r2, [r3, #161] ; 0xa1 /* Process unlocked */ __HAL_UNLOCK(hltdc); 80b6090: 687b ldr r3, [r7, #4] 80b6092: 2200 movs r2, #0 80b6094: f883 20a0 strb.w r2, [r3, #160] ; 0xa0 return HAL_OK; 80b6098: 2300 movs r3, #0 } 80b609a: 4618 mov r0, r3 80b609c: 370c adds r7, #12 80b609e: 46bd mov sp, r7 80b60a0: f85d 7b04 ldr.w r7, [sp], #4 80b60a4: 4770 bx lr ... 080b60a8 : * @param LayerIdx LTDC Layer index. * This parameter can be one of the following values: LTDC_LAYER_1 (0) or LTDC_LAYER_2 (1) * @retval None */ static void LTDC_SetConfig(LTDC_HandleTypeDef *hltdc, LTDC_LayerCfgTypeDef *pLayerCfg, uint32_t LayerIdx) { 80b60a8: b480 push {r7} 80b60aa: b089 sub sp, #36 ; 0x24 80b60ac: af00 add r7, sp, #0 80b60ae: 60f8 str r0, [r7, #12] 80b60b0: 60b9 str r1, [r7, #8] 80b60b2: 607a str r2, [r7, #4] uint32_t tmp; uint32_t tmp1; uint32_t tmp2; /* Configure the horizontal start and stop position */ tmp = ((pLayerCfg->WindowX1 + ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16U)) << 16U); 80b60b4: 68bb ldr r3, [r7, #8] 80b60b6: 685a ldr r2, [r3, #4] 80b60b8: 68fb ldr r3, [r7, #12] 80b60ba: 681b ldr r3, [r3, #0] 80b60bc: 68db ldr r3, [r3, #12] 80b60be: 0c1b lsrs r3, r3, #16 80b60c0: f3c3 030b ubfx r3, r3, #0, #12 80b60c4: 4413 add r3, r2 80b60c6: 041b lsls r3, r3, #16 80b60c8: 61fb str r3, [r7, #28] LTDC_LAYER(hltdc, LayerIdx)->WHPCR &= ~(LTDC_LxWHPCR_WHSTPOS | LTDC_LxWHPCR_WHSPPOS); 80b60ca: 68fb ldr r3, [r7, #12] 80b60cc: 681b ldr r3, [r3, #0] 80b60ce: 461a mov r2, r3 80b60d0: 687b ldr r3, [r7, #4] 80b60d2: 01db lsls r3, r3, #7 80b60d4: 4413 add r3, r2 80b60d6: 3384 adds r3, #132 ; 0x84 80b60d8: 461a mov r2, r3 80b60da: 68fb ldr r3, [r7, #12] 80b60dc: 681b ldr r3, [r3, #0] 80b60de: 4619 mov r1, r3 80b60e0: 687b ldr r3, [r7, #4] 80b60e2: 01db lsls r3, r3, #7 80b60e4: 440b add r3, r1 80b60e6: 3384 adds r3, #132 ; 0x84 80b60e8: 685b ldr r3, [r3, #4] 80b60ea: f403 4370 and.w r3, r3, #61440 ; 0xf000 80b60ee: 6053 str r3, [r2, #4] LTDC_LAYER(hltdc, LayerIdx)->WHPCR = ((pLayerCfg->WindowX0 + ((hltdc->Instance->BPCR & LTDC_BPCR_AHBP) >> 16U) + 1U) | tmp); 80b60f0: 68fb ldr r3, [r7, #12] 80b60f2: 681b ldr r3, [r3, #0] 80b60f4: 461a mov r2, r3 80b60f6: 687b ldr r3, [r7, #4] 80b60f8: 01db lsls r3, r3, #7 80b60fa: 4413 add r3, r2 80b60fc: 3384 adds r3, #132 ; 0x84 80b60fe: 4619 mov r1, r3 80b6100: 68bb ldr r3, [r7, #8] 80b6102: 681a ldr r2, [r3, #0] 80b6104: 68fb ldr r3, [r7, #12] 80b6106: 681b ldr r3, [r3, #0] 80b6108: 68db ldr r3, [r3, #12] 80b610a: 0c1b lsrs r3, r3, #16 80b610c: f3c3 030b ubfx r3, r3, #0, #12 80b6110: 4413 add r3, r2 80b6112: 1c5a adds r2, r3, #1 80b6114: 69fb ldr r3, [r7, #28] 80b6116: 4313 orrs r3, r2 80b6118: 604b str r3, [r1, #4] /* Configure the vertical start and stop position */ tmp = ((pLayerCfg->WindowY1 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP)) << 16U); 80b611a: 68bb ldr r3, [r7, #8] 80b611c: 68da ldr r2, [r3, #12] 80b611e: 68fb ldr r3, [r7, #12] 80b6120: 681b ldr r3, [r3, #0] 80b6122: 68db ldr r3, [r3, #12] 80b6124: f3c3 030a ubfx r3, r3, #0, #11 80b6128: 4413 add r3, r2 80b612a: 041b lsls r3, r3, #16 80b612c: 61fb str r3, [r7, #28] LTDC_LAYER(hltdc, LayerIdx)->WVPCR &= ~(LTDC_LxWVPCR_WVSTPOS | LTDC_LxWVPCR_WVSPPOS); 80b612e: 68fb ldr r3, [r7, #12] 80b6130: 681b ldr r3, [r3, #0] 80b6132: 461a mov r2, r3 80b6134: 687b ldr r3, [r7, #4] 80b6136: 01db lsls r3, r3, #7 80b6138: 4413 add r3, r2 80b613a: 3384 adds r3, #132 ; 0x84 80b613c: 461a mov r2, r3 80b613e: 68fb ldr r3, [r7, #12] 80b6140: 681b ldr r3, [r3, #0] 80b6142: 4619 mov r1, r3 80b6144: 687b ldr r3, [r7, #4] 80b6146: 01db lsls r3, r3, #7 80b6148: 440b add r3, r1 80b614a: 3384 adds r3, #132 ; 0x84 80b614c: 689b ldr r3, [r3, #8] 80b614e: f403 4370 and.w r3, r3, #61440 ; 0xf000 80b6152: 6093 str r3, [r2, #8] LTDC_LAYER(hltdc, LayerIdx)->WVPCR = ((pLayerCfg->WindowY0 + (hltdc->Instance->BPCR & LTDC_BPCR_AVBP) + 1U) | tmp); 80b6154: 68fb ldr r3, [r7, #12] 80b6156: 681b ldr r3, [r3, #0] 80b6158: 461a mov r2, r3 80b615a: 687b ldr r3, [r7, #4] 80b615c: 01db lsls r3, r3, #7 80b615e: 4413 add r3, r2 80b6160: 3384 adds r3, #132 ; 0x84 80b6162: 4619 mov r1, r3 80b6164: 68bb ldr r3, [r7, #8] 80b6166: 689a ldr r2, [r3, #8] 80b6168: 68fb ldr r3, [r7, #12] 80b616a: 681b ldr r3, [r3, #0] 80b616c: 68db ldr r3, [r3, #12] 80b616e: f3c3 030a ubfx r3, r3, #0, #11 80b6172: 4413 add r3, r2 80b6174: 1c5a adds r2, r3, #1 80b6176: 69fb ldr r3, [r7, #28] 80b6178: 4313 orrs r3, r2 80b617a: 608b str r3, [r1, #8] /* Specifies the pixel format */ LTDC_LAYER(hltdc, LayerIdx)->PFCR &= ~(LTDC_LxPFCR_PF); 80b617c: 68fb ldr r3, [r7, #12] 80b617e: 681b ldr r3, [r3, #0] 80b6180: 461a mov r2, r3 80b6182: 687b ldr r3, [r7, #4] 80b6184: 01db lsls r3, r3, #7 80b6186: 4413 add r3, r2 80b6188: 3384 adds r3, #132 ; 0x84 80b618a: 461a mov r2, r3 80b618c: 68fb ldr r3, [r7, #12] 80b618e: 681b ldr r3, [r3, #0] 80b6190: 4619 mov r1, r3 80b6192: 687b ldr r3, [r7, #4] 80b6194: 01db lsls r3, r3, #7 80b6196: 440b add r3, r1 80b6198: 3384 adds r3, #132 ; 0x84 80b619a: 691b ldr r3, [r3, #16] 80b619c: f023 0307 bic.w r3, r3, #7 80b61a0: 6113 str r3, [r2, #16] LTDC_LAYER(hltdc, LayerIdx)->PFCR = (pLayerCfg->PixelFormat); 80b61a2: 68fb ldr r3, [r7, #12] 80b61a4: 681b ldr r3, [r3, #0] 80b61a6: 461a mov r2, r3 80b61a8: 687b ldr r3, [r7, #4] 80b61aa: 01db lsls r3, r3, #7 80b61ac: 4413 add r3, r2 80b61ae: 3384 adds r3, #132 ; 0x84 80b61b0: 461a mov r2, r3 80b61b2: 68bb ldr r3, [r7, #8] 80b61b4: 691b ldr r3, [r3, #16] 80b61b6: 6113 str r3, [r2, #16] /* Configure the default color values */ tmp = ((uint32_t)(pLayerCfg->Backcolor.Green) << 8U); 80b61b8: 68bb ldr r3, [r7, #8] 80b61ba: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80b61be: 021b lsls r3, r3, #8 80b61c0: 61fb str r3, [r7, #28] tmp1 = ((uint32_t)(pLayerCfg->Backcolor.Red) << 16U); 80b61c2: 68bb ldr r3, [r7, #8] 80b61c4: f893 3032 ldrb.w r3, [r3, #50] ; 0x32 80b61c8: 041b lsls r3, r3, #16 80b61ca: 61bb str r3, [r7, #24] tmp2 = (pLayerCfg->Alpha0 << 24U); 80b61cc: 68bb ldr r3, [r7, #8] 80b61ce: 699b ldr r3, [r3, #24] 80b61d0: 061b lsls r3, r3, #24 80b61d2: 617b str r3, [r7, #20] LTDC_LAYER(hltdc, LayerIdx)->DCCR &= ~(LTDC_LxDCCR_DCBLUE | LTDC_LxDCCR_DCGREEN | LTDC_LxDCCR_DCRED | LTDC_LxDCCR_DCALPHA); 80b61d4: 68fb ldr r3, [r7, #12] 80b61d6: 681b ldr r3, [r3, #0] 80b61d8: 461a mov r2, r3 80b61da: 687b ldr r3, [r7, #4] 80b61dc: 01db lsls r3, r3, #7 80b61de: 4413 add r3, r2 80b61e0: 3384 adds r3, #132 ; 0x84 80b61e2: 699b ldr r3, [r3, #24] 80b61e4: 68fb ldr r3, [r7, #12] 80b61e6: 681b ldr r3, [r3, #0] 80b61e8: 461a mov r2, r3 80b61ea: 687b ldr r3, [r7, #4] 80b61ec: 01db lsls r3, r3, #7 80b61ee: 4413 add r3, r2 80b61f0: 3384 adds r3, #132 ; 0x84 80b61f2: 461a mov r2, r3 80b61f4: 2300 movs r3, #0 80b61f6: 6193 str r3, [r2, #24] LTDC_LAYER(hltdc, LayerIdx)->DCCR = (pLayerCfg->Backcolor.Blue | tmp | tmp1 | tmp2); 80b61f8: 68fb ldr r3, [r7, #12] 80b61fa: 681b ldr r3, [r3, #0] 80b61fc: 461a mov r2, r3 80b61fe: 687b ldr r3, [r7, #4] 80b6200: 01db lsls r3, r3, #7 80b6202: 4413 add r3, r2 80b6204: 3384 adds r3, #132 ; 0x84 80b6206: 4619 mov r1, r3 80b6208: 68bb ldr r3, [r7, #8] 80b620a: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80b620e: 461a mov r2, r3 80b6210: 69fb ldr r3, [r7, #28] 80b6212: 431a orrs r2, r3 80b6214: 69bb ldr r3, [r7, #24] 80b6216: 431a orrs r2, r3 80b6218: 697b ldr r3, [r7, #20] 80b621a: 4313 orrs r3, r2 80b621c: 618b str r3, [r1, #24] /* Specifies the constant alpha value */ LTDC_LAYER(hltdc, LayerIdx)->CACR &= ~(LTDC_LxCACR_CONSTA); 80b621e: 68fb ldr r3, [r7, #12] 80b6220: 681b ldr r3, [r3, #0] 80b6222: 461a mov r2, r3 80b6224: 687b ldr r3, [r7, #4] 80b6226: 01db lsls r3, r3, #7 80b6228: 4413 add r3, r2 80b622a: 3384 adds r3, #132 ; 0x84 80b622c: 461a mov r2, r3 80b622e: 68fb ldr r3, [r7, #12] 80b6230: 681b ldr r3, [r3, #0] 80b6232: 4619 mov r1, r3 80b6234: 687b ldr r3, [r7, #4] 80b6236: 01db lsls r3, r3, #7 80b6238: 440b add r3, r1 80b623a: 3384 adds r3, #132 ; 0x84 80b623c: 695b ldr r3, [r3, #20] 80b623e: f023 03ff bic.w r3, r3, #255 ; 0xff 80b6242: 6153 str r3, [r2, #20] LTDC_LAYER(hltdc, LayerIdx)->CACR = (pLayerCfg->Alpha); 80b6244: 68fb ldr r3, [r7, #12] 80b6246: 681b ldr r3, [r3, #0] 80b6248: 461a mov r2, r3 80b624a: 687b ldr r3, [r7, #4] 80b624c: 01db lsls r3, r3, #7 80b624e: 4413 add r3, r2 80b6250: 3384 adds r3, #132 ; 0x84 80b6252: 461a mov r2, r3 80b6254: 68bb ldr r3, [r7, #8] 80b6256: 695b ldr r3, [r3, #20] 80b6258: 6153 str r3, [r2, #20] /* Specifies the blending factors */ LTDC_LAYER(hltdc, LayerIdx)->BFCR &= ~(LTDC_LxBFCR_BF2 | LTDC_LxBFCR_BF1); 80b625a: 68fb ldr r3, [r7, #12] 80b625c: 681b ldr r3, [r3, #0] 80b625e: 461a mov r2, r3 80b6260: 687b ldr r3, [r7, #4] 80b6262: 01db lsls r3, r3, #7 80b6264: 4413 add r3, r2 80b6266: 3384 adds r3, #132 ; 0x84 80b6268: 4619 mov r1, r3 80b626a: 68fb ldr r3, [r7, #12] 80b626c: 681b ldr r3, [r3, #0] 80b626e: 461a mov r2, r3 80b6270: 687b ldr r3, [r7, #4] 80b6272: 01db lsls r3, r3, #7 80b6274: 4413 add r3, r2 80b6276: 3384 adds r3, #132 ; 0x84 80b6278: 69da ldr r2, [r3, #28] 80b627a: 4b5a ldr r3, [pc, #360] ; (80b63e4 ) 80b627c: 4013 ands r3, r2 80b627e: 61cb str r3, [r1, #28] LTDC_LAYER(hltdc, LayerIdx)->BFCR = (pLayerCfg->BlendingFactor1 | pLayerCfg->BlendingFactor2); 80b6280: 68fb ldr r3, [r7, #12] 80b6282: 681b ldr r3, [r3, #0] 80b6284: 461a mov r2, r3 80b6286: 687b ldr r3, [r7, #4] 80b6288: 01db lsls r3, r3, #7 80b628a: 4413 add r3, r2 80b628c: 3384 adds r3, #132 ; 0x84 80b628e: 4619 mov r1, r3 80b6290: 68bb ldr r3, [r7, #8] 80b6292: 69da ldr r2, [r3, #28] 80b6294: 68bb ldr r3, [r7, #8] 80b6296: 6a1b ldr r3, [r3, #32] 80b6298: 4313 orrs r3, r2 80b629a: 61cb str r3, [r1, #28] /* Configure the color frame buffer start address */ LTDC_LAYER(hltdc, LayerIdx)->CFBAR &= ~(LTDC_LxCFBAR_CFBADD); 80b629c: 68fb ldr r3, [r7, #12] 80b629e: 681b ldr r3, [r3, #0] 80b62a0: 461a mov r2, r3 80b62a2: 687b ldr r3, [r7, #4] 80b62a4: 01db lsls r3, r3, #7 80b62a6: 4413 add r3, r2 80b62a8: 3384 adds r3, #132 ; 0x84 80b62aa: 6a9b ldr r3, [r3, #40] ; 0x28 80b62ac: 68fb ldr r3, [r7, #12] 80b62ae: 681b ldr r3, [r3, #0] 80b62b0: 461a mov r2, r3 80b62b2: 687b ldr r3, [r7, #4] 80b62b4: 01db lsls r3, r3, #7 80b62b6: 4413 add r3, r2 80b62b8: 3384 adds r3, #132 ; 0x84 80b62ba: 461a mov r2, r3 80b62bc: 2300 movs r3, #0 80b62be: 6293 str r3, [r2, #40] ; 0x28 LTDC_LAYER(hltdc, LayerIdx)->CFBAR = (pLayerCfg->FBStartAdress); 80b62c0: 68fb ldr r3, [r7, #12] 80b62c2: 681b ldr r3, [r3, #0] 80b62c4: 461a mov r2, r3 80b62c6: 687b ldr r3, [r7, #4] 80b62c8: 01db lsls r3, r3, #7 80b62ca: 4413 add r3, r2 80b62cc: 3384 adds r3, #132 ; 0x84 80b62ce: 461a mov r2, r3 80b62d0: 68bb ldr r3, [r7, #8] 80b62d2: 6a5b ldr r3, [r3, #36] ; 0x24 80b62d4: 6293 str r3, [r2, #40] ; 0x28 if (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB8888) 80b62d6: 68bb ldr r3, [r7, #8] 80b62d8: 691b ldr r3, [r3, #16] 80b62da: 2b00 cmp r3, #0 80b62dc: d102 bne.n 80b62e4 { tmp = 4U; 80b62de: 2304 movs r3, #4 80b62e0: 61fb str r3, [r7, #28] 80b62e2: e01b b.n 80b631c } else if (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB888) 80b62e4: 68bb ldr r3, [r7, #8] 80b62e6: 691b ldr r3, [r3, #16] 80b62e8: 2b01 cmp r3, #1 80b62ea: d102 bne.n 80b62f2 { tmp = 3U; 80b62ec: 2303 movs r3, #3 80b62ee: 61fb str r3, [r7, #28] 80b62f0: e014 b.n 80b631c } else if ((pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB4444) || \ 80b62f2: 68bb ldr r3, [r7, #8] 80b62f4: 691b ldr r3, [r3, #16] 80b62f6: 2b04 cmp r3, #4 80b62f8: d00b beq.n 80b6312 (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB565) || \ 80b62fa: 68bb ldr r3, [r7, #8] 80b62fc: 691b ldr r3, [r3, #16] else if ((pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB4444) || \ 80b62fe: 2b02 cmp r3, #2 80b6300: d007 beq.n 80b6312 (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB1555) || \ 80b6302: 68bb ldr r3, [r7, #8] 80b6304: 691b ldr r3, [r3, #16] (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_RGB565) || \ 80b6306: 2b03 cmp r3, #3 80b6308: d003 beq.n 80b6312 (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_AL88)) 80b630a: 68bb ldr r3, [r7, #8] 80b630c: 691b ldr r3, [r3, #16] (pLayerCfg->PixelFormat == LTDC_PIXEL_FORMAT_ARGB1555) || \ 80b630e: 2b07 cmp r3, #7 80b6310: d102 bne.n 80b6318 { tmp = 2U; 80b6312: 2302 movs r3, #2 80b6314: 61fb str r3, [r7, #28] 80b6316: e001 b.n 80b631c } else { tmp = 1U; 80b6318: 2301 movs r3, #1 80b631a: 61fb str r3, [r7, #28] } /* Configure the color frame buffer pitch in byte */ LTDC_LAYER(hltdc, LayerIdx)->CFBLR &= ~(LTDC_LxCFBLR_CFBLL | LTDC_LxCFBLR_CFBP); 80b631c: 68fb ldr r3, [r7, #12] 80b631e: 681b ldr r3, [r3, #0] 80b6320: 461a mov r2, r3 80b6322: 687b ldr r3, [r7, #4] 80b6324: 01db lsls r3, r3, #7 80b6326: 4413 add r3, r2 80b6328: 3384 adds r3, #132 ; 0x84 80b632a: 461a mov r2, r3 80b632c: 68fb ldr r3, [r7, #12] 80b632e: 681b ldr r3, [r3, #0] 80b6330: 4619 mov r1, r3 80b6332: 687b ldr r3, [r7, #4] 80b6334: 01db lsls r3, r3, #7 80b6336: 440b add r3, r1 80b6338: 3384 adds r3, #132 ; 0x84 80b633a: 6adb ldr r3, [r3, #44] ; 0x2c 80b633c: f003 23e0 and.w r3, r3, #3758153728 ; 0xe000e000 80b6340: 62d3 str r3, [r2, #44] ; 0x2c LTDC_LAYER(hltdc, LayerIdx)->CFBLR = (((pLayerCfg->ImageWidth * tmp) << 16U) | (((pLayerCfg->WindowX1 - pLayerCfg->WindowX0) * tmp) + 3U)); 80b6342: 68fb ldr r3, [r7, #12] 80b6344: 681b ldr r3, [r3, #0] 80b6346: 461a mov r2, r3 80b6348: 687b ldr r3, [r7, #4] 80b634a: 01db lsls r3, r3, #7 80b634c: 4413 add r3, r2 80b634e: 3384 adds r3, #132 ; 0x84 80b6350: 4618 mov r0, r3 80b6352: 68bb ldr r3, [r7, #8] 80b6354: 6a9b ldr r3, [r3, #40] ; 0x28 80b6356: 69fa ldr r2, [r7, #28] 80b6358: fb02 f303 mul.w r3, r2, r3 80b635c: 041a lsls r2, r3, #16 80b635e: 68bb ldr r3, [r7, #8] 80b6360: 6859 ldr r1, [r3, #4] 80b6362: 68bb ldr r3, [r7, #8] 80b6364: 681b ldr r3, [r3, #0] 80b6366: 1acb subs r3, r1, r3 80b6368: 69f9 ldr r1, [r7, #28] 80b636a: fb01 f303 mul.w r3, r1, r3 80b636e: 3303 adds r3, #3 80b6370: 4313 orrs r3, r2 80b6372: 62c3 str r3, [r0, #44] ; 0x2c /* Configure the frame buffer line number */ LTDC_LAYER(hltdc, LayerIdx)->CFBLNR &= ~(LTDC_LxCFBLNR_CFBLNBR); 80b6374: 68fb ldr r3, [r7, #12] 80b6376: 681b ldr r3, [r3, #0] 80b6378: 461a mov r2, r3 80b637a: 687b ldr r3, [r7, #4] 80b637c: 01db lsls r3, r3, #7 80b637e: 4413 add r3, r2 80b6380: 3384 adds r3, #132 ; 0x84 80b6382: 4619 mov r1, r3 80b6384: 68fb ldr r3, [r7, #12] 80b6386: 681b ldr r3, [r3, #0] 80b6388: 461a mov r2, r3 80b638a: 687b ldr r3, [r7, #4] 80b638c: 01db lsls r3, r3, #7 80b638e: 4413 add r3, r2 80b6390: 3384 adds r3, #132 ; 0x84 80b6392: 6b1a ldr r2, [r3, #48] ; 0x30 80b6394: 4b14 ldr r3, [pc, #80] ; (80b63e8 ) 80b6396: 4013 ands r3, r2 80b6398: 630b str r3, [r1, #48] ; 0x30 LTDC_LAYER(hltdc, LayerIdx)->CFBLNR = (pLayerCfg->ImageHeight); 80b639a: 68fb ldr r3, [r7, #12] 80b639c: 681b ldr r3, [r3, #0] 80b639e: 461a mov r2, r3 80b63a0: 687b ldr r3, [r7, #4] 80b63a2: 01db lsls r3, r3, #7 80b63a4: 4413 add r3, r2 80b63a6: 3384 adds r3, #132 ; 0x84 80b63a8: 461a mov r2, r3 80b63aa: 68bb ldr r3, [r7, #8] 80b63ac: 6adb ldr r3, [r3, #44] ; 0x2c 80b63ae: 6313 str r3, [r2, #48] ; 0x30 /* Enable LTDC_Layer by setting LEN bit */ LTDC_LAYER(hltdc, LayerIdx)->CR |= (uint32_t)LTDC_LxCR_LEN; 80b63b0: 68fb ldr r3, [r7, #12] 80b63b2: 681b ldr r3, [r3, #0] 80b63b4: 461a mov r2, r3 80b63b6: 687b ldr r3, [r7, #4] 80b63b8: 01db lsls r3, r3, #7 80b63ba: 4413 add r3, r2 80b63bc: 3384 adds r3, #132 ; 0x84 80b63be: 461a mov r2, r3 80b63c0: 68fb ldr r3, [r7, #12] 80b63c2: 681b ldr r3, [r3, #0] 80b63c4: 4619 mov r1, r3 80b63c6: 687b ldr r3, [r7, #4] 80b63c8: 01db lsls r3, r3, #7 80b63ca: 440b add r3, r1 80b63cc: 3384 adds r3, #132 ; 0x84 80b63ce: 681b ldr r3, [r3, #0] 80b63d0: f043 0301 orr.w r3, r3, #1 80b63d4: 6013 str r3, [r2, #0] } 80b63d6: bf00 nop 80b63d8: 3724 adds r7, #36 ; 0x24 80b63da: 46bd mov sp, r7 80b63dc: f85d 7b04 ldr.w r7, [sp], #4 80b63e0: 4770 bx lr 80b63e2: bf00 nop 80b63e4: fffff8f8 .word 0xfffff8f8 80b63e8: fffff800 .word 0xfffff800 080b63ec : * parameters in the PCD_InitTypeDef and initialize the associated handle. * @param hpcd PCD handle * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_Init(PCD_HandleTypeDef *hpcd) { 80b63ec: b5f0 push {r4, r5, r6, r7, lr} 80b63ee: b08f sub sp, #60 ; 0x3c 80b63f0: af0a add r7, sp, #40 ; 0x28 80b63f2: 6078 str r0, [r7, #4] USB_OTG_GlobalTypeDef *USBx; uint8_t i; /* Check the PCD handle allocation */ if (hpcd == NULL) 80b63f4: 687b ldr r3, [r7, #4] 80b63f6: 2b00 cmp r3, #0 80b63f8: d101 bne.n 80b63fe { return HAL_ERROR; 80b63fa: 2301 movs r3, #1 80b63fc: e116 b.n 80b662c } /* Check the parameters */ assert_param(IS_PCD_ALL_INSTANCE(hpcd->Instance)); USBx = hpcd->Instance; 80b63fe: 687b ldr r3, [r7, #4] 80b6400: 681b ldr r3, [r3, #0] 80b6402: 60bb str r3, [r7, #8] if (hpcd->State == HAL_PCD_STATE_RESET) 80b6404: 687b ldr r3, [r7, #4] 80b6406: f893 33bd ldrb.w r3, [r3, #957] ; 0x3bd 80b640a: b2db uxtb r3, r3 80b640c: 2b00 cmp r3, #0 80b640e: d106 bne.n 80b641e { /* Allocate lock resource and initialize it */ hpcd->Lock = HAL_UNLOCKED; 80b6410: 687b ldr r3, [r7, #4] 80b6412: 2200 movs r2, #0 80b6414: f883 23bc strb.w r2, [r3, #956] ; 0x3bc /* Init the low level hardware */ hpcd->MspInitCallback(hpcd); #else /* Init the low level hardware : GPIO, CLOCK, NVIC... */ HAL_PCD_MspInit(hpcd); 80b6418: 6878 ldr r0, [r7, #4] 80b641a: f013 f8c9 bl 80c95b0 #endif /* (USE_HAL_PCD_REGISTER_CALLBACKS) */ } hpcd->State = HAL_PCD_STATE_BUSY; 80b641e: 687b ldr r3, [r7, #4] 80b6420: 2203 movs r2, #3 80b6422: f883 23bd strb.w r2, [r3, #957] ; 0x3bd /* Disable DMA mode for FS instance */ if ((USBx->CID & (0x1U << 8)) == 0U) 80b6426: 68bb ldr r3, [r7, #8] 80b6428: 6bdb ldr r3, [r3, #60] ; 0x3c 80b642a: f403 7380 and.w r3, r3, #256 ; 0x100 80b642e: 2b00 cmp r3, #0 80b6430: d102 bne.n 80b6438 { hpcd->Init.dma_enable = 0U; 80b6432: 687b ldr r3, [r7, #4] 80b6434: 2200 movs r2, #0 80b6436: 611a str r2, [r3, #16] } /* Disable the Interrupts */ __HAL_PCD_DISABLE(hpcd); 80b6438: 687b ldr r3, [r7, #4] 80b643a: 681b ldr r3, [r3, #0] 80b643c: 4618 mov r0, r3 80b643e: f007 fe96 bl 80be16e /*Init the Core (common init.) */ if (USB_CoreInit(hpcd->Instance, hpcd->Init) != HAL_OK) 80b6442: 687b ldr r3, [r7, #4] 80b6444: 681b ldr r3, [r3, #0] 80b6446: 603b str r3, [r7, #0] 80b6448: 687e ldr r6, [r7, #4] 80b644a: 466d mov r5, sp 80b644c: f106 0410 add.w r4, r6, #16 80b6450: cc0f ldmia r4!, {r0, r1, r2, r3} 80b6452: c50f stmia r5!, {r0, r1, r2, r3} 80b6454: cc0f ldmia r4!, {r0, r1, r2, r3} 80b6456: c50f stmia r5!, {r0, r1, r2, r3} 80b6458: e894 0003 ldmia.w r4, {r0, r1} 80b645c: e885 0003 stmia.w r5, {r0, r1} 80b6460: 1d33 adds r3, r6, #4 80b6462: cb0e ldmia r3, {r1, r2, r3} 80b6464: 6838 ldr r0, [r7, #0] 80b6466: f007 fd77 bl 80bdf58 80b646a: 4603 mov r3, r0 80b646c: 2b00 cmp r3, #0 80b646e: d005 beq.n 80b647c { hpcd->State = HAL_PCD_STATE_ERROR; 80b6470: 687b ldr r3, [r7, #4] 80b6472: 2202 movs r2, #2 80b6474: f883 23bd strb.w r2, [r3, #957] ; 0x3bd return HAL_ERROR; 80b6478: 2301 movs r3, #1 80b647a: e0d7 b.n 80b662c } /* Force Device Mode*/ (void)USB_SetCurrentMode(hpcd->Instance, USB_DEVICE_MODE); 80b647c: 687b ldr r3, [r7, #4] 80b647e: 681b ldr r3, [r3, #0] 80b6480: 2100 movs r1, #0 80b6482: 4618 mov r0, r3 80b6484: f007 fe84 bl 80be190 /* Init endpoints structures */ for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80b6488: 2300 movs r3, #0 80b648a: 73fb strb r3, [r7, #15] 80b648c: e04a b.n 80b6524 { /* Init ep structure */ hpcd->IN_ep[i].is_in = 1U; 80b648e: 7bfa ldrb r2, [r7, #15] 80b6490: 6879 ldr r1, [r7, #4] 80b6492: 4613 mov r3, r2 80b6494: 00db lsls r3, r3, #3 80b6496: 1a9b subs r3, r3, r2 80b6498: 009b lsls r3, r3, #2 80b649a: 440b add r3, r1 80b649c: 333d adds r3, #61 ; 0x3d 80b649e: 2201 movs r2, #1 80b64a0: 701a strb r2, [r3, #0] hpcd->IN_ep[i].num = i; 80b64a2: 7bfa ldrb r2, [r7, #15] 80b64a4: 6879 ldr r1, [r7, #4] 80b64a6: 4613 mov r3, r2 80b64a8: 00db lsls r3, r3, #3 80b64aa: 1a9b subs r3, r3, r2 80b64ac: 009b lsls r3, r3, #2 80b64ae: 440b add r3, r1 80b64b0: 333c adds r3, #60 ; 0x3c 80b64b2: 7bfa ldrb r2, [r7, #15] 80b64b4: 701a strb r2, [r3, #0] hpcd->IN_ep[i].tx_fifo_num = i; 80b64b6: 7bfa ldrb r2, [r7, #15] 80b64b8: 7bfb ldrb r3, [r7, #15] 80b64ba: b298 uxth r0, r3 80b64bc: 6879 ldr r1, [r7, #4] 80b64be: 4613 mov r3, r2 80b64c0: 00db lsls r3, r3, #3 80b64c2: 1a9b subs r3, r3, r2 80b64c4: 009b lsls r3, r3, #2 80b64c6: 440b add r3, r1 80b64c8: 3342 adds r3, #66 ; 0x42 80b64ca: 4602 mov r2, r0 80b64cc: 801a strh r2, [r3, #0] /* Control until ep is activated */ hpcd->IN_ep[i].type = EP_TYPE_CTRL; 80b64ce: 7bfa ldrb r2, [r7, #15] 80b64d0: 6879 ldr r1, [r7, #4] 80b64d2: 4613 mov r3, r2 80b64d4: 00db lsls r3, r3, #3 80b64d6: 1a9b subs r3, r3, r2 80b64d8: 009b lsls r3, r3, #2 80b64da: 440b add r3, r1 80b64dc: 333f adds r3, #63 ; 0x3f 80b64de: 2200 movs r2, #0 80b64e0: 701a strb r2, [r3, #0] hpcd->IN_ep[i].maxpacket = 0U; 80b64e2: 7bfa ldrb r2, [r7, #15] 80b64e4: 6879 ldr r1, [r7, #4] 80b64e6: 4613 mov r3, r2 80b64e8: 00db lsls r3, r3, #3 80b64ea: 1a9b subs r3, r3, r2 80b64ec: 009b lsls r3, r3, #2 80b64ee: 440b add r3, r1 80b64f0: 3344 adds r3, #68 ; 0x44 80b64f2: 2200 movs r2, #0 80b64f4: 601a str r2, [r3, #0] hpcd->IN_ep[i].xfer_buff = 0U; 80b64f6: 7bfa ldrb r2, [r7, #15] 80b64f8: 6879 ldr r1, [r7, #4] 80b64fa: 4613 mov r3, r2 80b64fc: 00db lsls r3, r3, #3 80b64fe: 1a9b subs r3, r3, r2 80b6500: 009b lsls r3, r3, #2 80b6502: 440b add r3, r1 80b6504: 3348 adds r3, #72 ; 0x48 80b6506: 2200 movs r2, #0 80b6508: 601a str r2, [r3, #0] hpcd->IN_ep[i].xfer_len = 0U; 80b650a: 7bfa ldrb r2, [r7, #15] 80b650c: 6879 ldr r1, [r7, #4] 80b650e: 4613 mov r3, r2 80b6510: 00db lsls r3, r3, #3 80b6512: 1a9b subs r3, r3, r2 80b6514: 009b lsls r3, r3, #2 80b6516: 440b add r3, r1 80b6518: 3350 adds r3, #80 ; 0x50 80b651a: 2200 movs r2, #0 80b651c: 601a str r2, [r3, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80b651e: 7bfb ldrb r3, [r7, #15] 80b6520: 3301 adds r3, #1 80b6522: 73fb strb r3, [r7, #15] 80b6524: 7bfa ldrb r2, [r7, #15] 80b6526: 687b ldr r3, [r7, #4] 80b6528: 685b ldr r3, [r3, #4] 80b652a: 429a cmp r2, r3 80b652c: d3af bcc.n 80b648e } for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80b652e: 2300 movs r3, #0 80b6530: 73fb strb r3, [r7, #15] 80b6532: e044 b.n 80b65be { hpcd->OUT_ep[i].is_in = 0U; 80b6534: 7bfa ldrb r2, [r7, #15] 80b6536: 6879 ldr r1, [r7, #4] 80b6538: 4613 mov r3, r2 80b653a: 00db lsls r3, r3, #3 80b653c: 1a9b subs r3, r3, r2 80b653e: 009b lsls r3, r3, #2 80b6540: 440b add r3, r1 80b6542: f203 13fd addw r3, r3, #509 ; 0x1fd 80b6546: 2200 movs r2, #0 80b6548: 701a strb r2, [r3, #0] hpcd->OUT_ep[i].num = i; 80b654a: 7bfa ldrb r2, [r7, #15] 80b654c: 6879 ldr r1, [r7, #4] 80b654e: 4613 mov r3, r2 80b6550: 00db lsls r3, r3, #3 80b6552: 1a9b subs r3, r3, r2 80b6554: 009b lsls r3, r3, #2 80b6556: 440b add r3, r1 80b6558: f503 73fe add.w r3, r3, #508 ; 0x1fc 80b655c: 7bfa ldrb r2, [r7, #15] 80b655e: 701a strb r2, [r3, #0] /* Control until ep is activated */ hpcd->OUT_ep[i].type = EP_TYPE_CTRL; 80b6560: 7bfa ldrb r2, [r7, #15] 80b6562: 6879 ldr r1, [r7, #4] 80b6564: 4613 mov r3, r2 80b6566: 00db lsls r3, r3, #3 80b6568: 1a9b subs r3, r3, r2 80b656a: 009b lsls r3, r3, #2 80b656c: 440b add r3, r1 80b656e: f203 13ff addw r3, r3, #511 ; 0x1ff 80b6572: 2200 movs r2, #0 80b6574: 701a strb r2, [r3, #0] hpcd->OUT_ep[i].maxpacket = 0U; 80b6576: 7bfa ldrb r2, [r7, #15] 80b6578: 6879 ldr r1, [r7, #4] 80b657a: 4613 mov r3, r2 80b657c: 00db lsls r3, r3, #3 80b657e: 1a9b subs r3, r3, r2 80b6580: 009b lsls r3, r3, #2 80b6582: 440b add r3, r1 80b6584: f503 7301 add.w r3, r3, #516 ; 0x204 80b6588: 2200 movs r2, #0 80b658a: 601a str r2, [r3, #0] hpcd->OUT_ep[i].xfer_buff = 0U; 80b658c: 7bfa ldrb r2, [r7, #15] 80b658e: 6879 ldr r1, [r7, #4] 80b6590: 4613 mov r3, r2 80b6592: 00db lsls r3, r3, #3 80b6594: 1a9b subs r3, r3, r2 80b6596: 009b lsls r3, r3, #2 80b6598: 440b add r3, r1 80b659a: f503 7302 add.w r3, r3, #520 ; 0x208 80b659e: 2200 movs r2, #0 80b65a0: 601a str r2, [r3, #0] hpcd->OUT_ep[i].xfer_len = 0U; 80b65a2: 7bfa ldrb r2, [r7, #15] 80b65a4: 6879 ldr r1, [r7, #4] 80b65a6: 4613 mov r3, r2 80b65a8: 00db lsls r3, r3, #3 80b65aa: 1a9b subs r3, r3, r2 80b65ac: 009b lsls r3, r3, #2 80b65ae: 440b add r3, r1 80b65b0: f503 7304 add.w r3, r3, #528 ; 0x210 80b65b4: 2200 movs r2, #0 80b65b6: 601a str r2, [r3, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80b65b8: 7bfb ldrb r3, [r7, #15] 80b65ba: 3301 adds r3, #1 80b65bc: 73fb strb r3, [r7, #15] 80b65be: 7bfa ldrb r2, [r7, #15] 80b65c0: 687b ldr r3, [r7, #4] 80b65c2: 685b ldr r3, [r3, #4] 80b65c4: 429a cmp r2, r3 80b65c6: d3b5 bcc.n 80b6534 } /* Init Device */ if (USB_DevInit(hpcd->Instance, hpcd->Init) != HAL_OK) 80b65c8: 687b ldr r3, [r7, #4] 80b65ca: 681b ldr r3, [r3, #0] 80b65cc: 603b str r3, [r7, #0] 80b65ce: 687e ldr r6, [r7, #4] 80b65d0: 466d mov r5, sp 80b65d2: f106 0410 add.w r4, r6, #16 80b65d6: cc0f ldmia r4!, {r0, r1, r2, r3} 80b65d8: c50f stmia r5!, {r0, r1, r2, r3} 80b65da: cc0f ldmia r4!, {r0, r1, r2, r3} 80b65dc: c50f stmia r5!, {r0, r1, r2, r3} 80b65de: e894 0003 ldmia.w r4, {r0, r1} 80b65e2: e885 0003 stmia.w r5, {r0, r1} 80b65e6: 1d33 adds r3, r6, #4 80b65e8: cb0e ldmia r3, {r1, r2, r3} 80b65ea: 6838 ldr r0, [r7, #0] 80b65ec: f007 fe1c bl 80be228 80b65f0: 4603 mov r3, r0 80b65f2: 2b00 cmp r3, #0 80b65f4: d005 beq.n 80b6602 { hpcd->State = HAL_PCD_STATE_ERROR; 80b65f6: 687b ldr r3, [r7, #4] 80b65f8: 2202 movs r2, #2 80b65fa: f883 23bd strb.w r2, [r3, #957] ; 0x3bd return HAL_ERROR; 80b65fe: 2301 movs r3, #1 80b6600: e014 b.n 80b662c } hpcd->USB_Address = 0U; 80b6602: 687b ldr r3, [r7, #4] 80b6604: 2200 movs r2, #0 80b6606: f883 2038 strb.w r2, [r3, #56] ; 0x38 hpcd->State = HAL_PCD_STATE_READY; 80b660a: 687b ldr r3, [r7, #4] 80b660c: 2201 movs r2, #1 80b660e: f883 23bd strb.w r2, [r3, #957] ; 0x3bd /* Activate LPM */ if (hpcd->Init.lpm_enable == 1U) 80b6612: 687b ldr r3, [r7, #4] 80b6614: 6a5b ldr r3, [r3, #36] ; 0x24 80b6616: 2b01 cmp r3, #1 80b6618: d102 bne.n 80b6620 { (void)HAL_PCDEx_ActivateLPM(hpcd); 80b661a: 6878 ldr r0, [r7, #4] 80b661c: f001 f8aa bl 80b7774 } (void)USB_DevDisconnect(hpcd->Instance); 80b6620: 687b ldr r3, [r7, #4] 80b6622: 681b ldr r3, [r3, #0] 80b6624: 4618 mov r0, r3 80b6626: f008 fee9 bl 80bf3fc return HAL_OK; 80b662a: 2300 movs r3, #0 } 80b662c: 4618 mov r0, r3 80b662e: 3714 adds r7, #20 80b6630: 46bd mov sp, r7 80b6632: bdf0 pop {r4, r5, r6, r7, pc} 080b6634 : * @brief Start the USB device * @param hpcd PCD handle * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_Start(PCD_HandleTypeDef *hpcd) { 80b6634: b580 push {r7, lr} 80b6636: b082 sub sp, #8 80b6638: af00 add r7, sp, #0 80b663a: 6078 str r0, [r7, #4] __HAL_LOCK(hpcd); 80b663c: 687b ldr r3, [r7, #4] 80b663e: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b6642: 2b01 cmp r3, #1 80b6644: d101 bne.n 80b664a 80b6646: 2302 movs r3, #2 80b6648: e012 b.n 80b6670 80b664a: 687b ldr r3, [r7, #4] 80b664c: 2201 movs r2, #1 80b664e: f883 23bc strb.w r2, [r3, #956] ; 0x3bc __HAL_PCD_ENABLE(hpcd); 80b6652: 687b ldr r3, [r7, #4] 80b6654: 681b ldr r3, [r3, #0] 80b6656: 4618 mov r0, r3 80b6658: f007 fd78 bl 80be14c (void)USB_DevConnect(hpcd->Instance); 80b665c: 687b ldr r3, [r7, #4] 80b665e: 681b ldr r3, [r3, #0] 80b6660: 4618 mov r0, r3 80b6662: f008 fea8 bl 80bf3b6 __HAL_UNLOCK(hpcd); 80b6666: 687b ldr r3, [r7, #4] 80b6668: 2200 movs r2, #0 80b666a: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80b666e: 2300 movs r3, #0 } 80b6670: 4618 mov r0, r3 80b6672: 3708 adds r7, #8 80b6674: 46bd mov sp, r7 80b6676: bd80 pop {r7, pc} 080b6678 : * @brief Handles PCD interrupt request. * @param hpcd PCD handle * @retval HAL status */ void HAL_PCD_IRQHandler(PCD_HandleTypeDef *hpcd) { 80b6678: b590 push {r4, r7, lr} 80b667a: b08d sub sp, #52 ; 0x34 80b667c: af00 add r7, sp, #0 80b667e: 6078 str r0, [r7, #4] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80b6680: 687b ldr r3, [r7, #4] 80b6682: 681b ldr r3, [r3, #0] 80b6684: 623b str r3, [r7, #32] uint32_t USBx_BASE = (uint32_t)USBx; 80b6686: 6a3b ldr r3, [r7, #32] 80b6688: 61fb str r3, [r7, #28] uint32_t epnum; uint32_t fifoemptymsk; uint32_t temp; /* ensure that we are in device mode */ if (USB_GetMode(hpcd->Instance) == USB_OTG_MODE_DEVICE) 80b668a: 687b ldr r3, [r7, #4] 80b668c: 681b ldr r3, [r3, #0] 80b668e: 4618 mov r0, r3 80b6690: f008 ff6a bl 80bf568 80b6694: 4603 mov r3, r0 80b6696: 2b00 cmp r3, #0 80b6698: f040 83c5 bne.w 80b6e26 { /* avoid spurious interrupt */ if (__HAL_PCD_IS_INVALID_INTERRUPT(hpcd)) 80b669c: 687b ldr r3, [r7, #4] 80b669e: 681b ldr r3, [r3, #0] 80b66a0: 4618 mov r0, r3 80b66a2: f008 fece bl 80bf442 80b66a6: 4603 mov r3, r0 80b66a8: 2b00 cmp r3, #0 80b66aa: f000 83bb beq.w 80b6e24 { return; } if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_MMIS)) 80b66ae: 687b ldr r3, [r7, #4] 80b66b0: 681b ldr r3, [r3, #0] 80b66b2: 4618 mov r0, r3 80b66b4: f008 fec5 bl 80bf442 80b66b8: 4603 mov r3, r0 80b66ba: f003 0302 and.w r3, r3, #2 80b66be: 2b02 cmp r3, #2 80b66c0: d107 bne.n 80b66d2 { /* incorrect mode, acknowledge the interrupt */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_MMIS); 80b66c2: 687b ldr r3, [r7, #4] 80b66c4: 681b ldr r3, [r3, #0] 80b66c6: 687a ldr r2, [r7, #4] 80b66c8: 6812 ldr r2, [r2, #0] 80b66ca: 6952 ldr r2, [r2, #20] 80b66cc: f002 0202 and.w r2, r2, #2 80b66d0: 615a str r2, [r3, #20] } /* Handle RxQLevel Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_RXFLVL)) 80b66d2: 687b ldr r3, [r7, #4] 80b66d4: 681b ldr r3, [r3, #0] 80b66d6: 4618 mov r0, r3 80b66d8: f008 feb3 bl 80bf442 80b66dc: 4603 mov r3, r0 80b66de: f003 0310 and.w r3, r3, #16 80b66e2: 2b10 cmp r3, #16 80b66e4: d161 bne.n 80b67aa { USB_MASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); 80b66e6: 687b ldr r3, [r7, #4] 80b66e8: 681b ldr r3, [r3, #0] 80b66ea: 687a ldr r2, [r7, #4] 80b66ec: 6812 ldr r2, [r2, #0] 80b66ee: 6992 ldr r2, [r2, #24] 80b66f0: f022 0210 bic.w r2, r2, #16 80b66f4: 619a str r2, [r3, #24] temp = USBx->GRXSTSP; 80b66f6: 6a3b ldr r3, [r7, #32] 80b66f8: 6a1b ldr r3, [r3, #32] 80b66fa: 61bb str r3, [r7, #24] ep = &hpcd->OUT_ep[temp & USB_OTG_GRXSTSP_EPNUM]; 80b66fc: 69bb ldr r3, [r7, #24] 80b66fe: f003 020f and.w r2, r3, #15 80b6702: 4613 mov r3, r2 80b6704: 00db lsls r3, r3, #3 80b6706: 1a9b subs r3, r3, r2 80b6708: 009b lsls r3, r3, #2 80b670a: f503 73fc add.w r3, r3, #504 ; 0x1f8 80b670e: 687a ldr r2, [r7, #4] 80b6710: 4413 add r3, r2 80b6712: 3304 adds r3, #4 80b6714: 617b str r3, [r7, #20] if (((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_DATA_UPDT) 80b6716: 69bb ldr r3, [r7, #24] 80b6718: 0c5b lsrs r3, r3, #17 80b671a: f003 030f and.w r3, r3, #15 80b671e: 2b02 cmp r3, #2 80b6720: d124 bne.n 80b676c { if ((temp & USB_OTG_GRXSTSP_BCNT) != 0U) 80b6722: 69ba ldr r2, [r7, #24] 80b6724: f647 73f0 movw r3, #32752 ; 0x7ff0 80b6728: 4013 ands r3, r2 80b672a: 2b00 cmp r3, #0 80b672c: d035 beq.n 80b679a { (void)USB_ReadPacket(USBx, ep->xfer_buff, 80b672e: 697b ldr r3, [r7, #20] 80b6730: 68d9 ldr r1, [r3, #12] (uint16_t)((temp & USB_OTG_GRXSTSP_BCNT) >> 4)); 80b6732: 69bb ldr r3, [r7, #24] 80b6734: 091b lsrs r3, r3, #4 80b6736: b29b uxth r3, r3 (void)USB_ReadPacket(USBx, ep->xfer_buff, 80b6738: f3c3 030a ubfx r3, r3, #0, #11 80b673c: b29b uxth r3, r3 80b673e: 461a mov r2, r3 80b6740: 6a38 ldr r0, [r7, #32] 80b6742: f008 fcdd bl 80bf100 ep->xfer_buff += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 80b6746: 697b ldr r3, [r7, #20] 80b6748: 68da ldr r2, [r3, #12] 80b674a: 69bb ldr r3, [r7, #24] 80b674c: 091b lsrs r3, r3, #4 80b674e: f3c3 030a ubfx r3, r3, #0, #11 80b6752: 441a add r2, r3 80b6754: 697b ldr r3, [r7, #20] 80b6756: 60da str r2, [r3, #12] ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 80b6758: 697b ldr r3, [r7, #20] 80b675a: 699a ldr r2, [r3, #24] 80b675c: 69bb ldr r3, [r7, #24] 80b675e: 091b lsrs r3, r3, #4 80b6760: f3c3 030a ubfx r3, r3, #0, #11 80b6764: 441a add r2, r3 80b6766: 697b ldr r3, [r7, #20] 80b6768: 619a str r2, [r3, #24] 80b676a: e016 b.n 80b679a } } else if (((temp & USB_OTG_GRXSTSP_PKTSTS) >> 17) == STS_SETUP_UPDT) 80b676c: 69bb ldr r3, [r7, #24] 80b676e: 0c5b lsrs r3, r3, #17 80b6770: f003 030f and.w r3, r3, #15 80b6774: 2b06 cmp r3, #6 80b6776: d110 bne.n 80b679a { (void)USB_ReadPacket(USBx, (uint8_t *)hpcd->Setup, 8U); 80b6778: 687b ldr r3, [r7, #4] 80b677a: f503 7371 add.w r3, r3, #964 ; 0x3c4 80b677e: 2208 movs r2, #8 80b6780: 4619 mov r1, r3 80b6782: 6a38 ldr r0, [r7, #32] 80b6784: f008 fcbc bl 80bf100 ep->xfer_count += (temp & USB_OTG_GRXSTSP_BCNT) >> 4; 80b6788: 697b ldr r3, [r7, #20] 80b678a: 699a ldr r2, [r3, #24] 80b678c: 69bb ldr r3, [r7, #24] 80b678e: 091b lsrs r3, r3, #4 80b6790: f3c3 030a ubfx r3, r3, #0, #11 80b6794: 441a add r2, r3 80b6796: 697b ldr r3, [r7, #20] 80b6798: 619a str r2, [r3, #24] else { /* ... */ } USB_UNMASK_INTERRUPT(hpcd->Instance, USB_OTG_GINTSTS_RXFLVL); 80b679a: 687b ldr r3, [r7, #4] 80b679c: 681b ldr r3, [r3, #0] 80b679e: 687a ldr r2, [r7, #4] 80b67a0: 6812 ldr r2, [r2, #0] 80b67a2: 6992 ldr r2, [r2, #24] 80b67a4: f042 0210 orr.w r2, r2, #16 80b67a8: 619a str r2, [r3, #24] } if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OEPINT)) 80b67aa: 687b ldr r3, [r7, #4] 80b67ac: 681b ldr r3, [r3, #0] 80b67ae: 4618 mov r0, r3 80b67b0: f008 fe47 bl 80bf442 80b67b4: 4603 mov r3, r0 80b67b6: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b67ba: f5b3 2f00 cmp.w r3, #524288 ; 0x80000 80b67be: d16e bne.n 80b689e { epnum = 0U; 80b67c0: 2300 movs r3, #0 80b67c2: 627b str r3, [r7, #36] ; 0x24 /* Read in the device interrupt bits */ ep_intr = USB_ReadDevAllOutEpInterrupt(hpcd->Instance); 80b67c4: 687b ldr r3, [r7, #4] 80b67c6: 681b ldr r3, [r3, #0] 80b67c8: 4618 mov r0, r3 80b67ca: f008 fe4d bl 80bf468 80b67ce: 62b8 str r0, [r7, #40] ; 0x28 while (ep_intr != 0U) 80b67d0: e062 b.n 80b6898 { if ((ep_intr & 0x1U) != 0U) 80b67d2: 6abb ldr r3, [r7, #40] ; 0x28 80b67d4: f003 0301 and.w r3, r3, #1 80b67d8: 2b00 cmp r3, #0 80b67da: d057 beq.n 80b688c { epint = USB_ReadDevOutEPInterrupt(hpcd->Instance, (uint8_t)epnum); 80b67dc: 687b ldr r3, [r7, #4] 80b67de: 681b ldr r3, [r3, #0] 80b67e0: 6a7a ldr r2, [r7, #36] ; 0x24 80b67e2: b2d2 uxtb r2, r2 80b67e4: 4611 mov r1, r2 80b67e6: 4618 mov r0, r3 80b67e8: f008 fe72 bl 80bf4d0 80b67ec: 6138 str r0, [r7, #16] if ((epint & USB_OTG_DOEPINT_XFRC) == USB_OTG_DOEPINT_XFRC) 80b67ee: 693b ldr r3, [r7, #16] 80b67f0: f003 0301 and.w r3, r3, #1 80b67f4: 2b00 cmp r3, #0 80b67f6: d00c beq.n 80b6812 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_XFRC); 80b67f8: 6a7b ldr r3, [r7, #36] ; 0x24 80b67fa: 015a lsls r2, r3, #5 80b67fc: 69fb ldr r3, [r7, #28] 80b67fe: 4413 add r3, r2 80b6800: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6804: 461a mov r2, r3 80b6806: 2301 movs r3, #1 80b6808: 6093 str r3, [r2, #8] (void)PCD_EP_OutXfrComplete_int(hpcd, epnum); 80b680a: 6a79 ldr r1, [r7, #36] ; 0x24 80b680c: 6878 ldr r0, [r7, #4] 80b680e: f000 fe07 bl 80b7420 } if ((epint & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP) 80b6812: 693b ldr r3, [r7, #16] 80b6814: f003 0308 and.w r3, r3, #8 80b6818: 2b00 cmp r3, #0 80b681a: d00c beq.n 80b6836 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STUP); 80b681c: 6a7b ldr r3, [r7, #36] ; 0x24 80b681e: 015a lsls r2, r3, #5 80b6820: 69fb ldr r3, [r7, #28] 80b6822: 4413 add r3, r2 80b6824: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6828: 461a mov r2, r3 80b682a: 2308 movs r3, #8 80b682c: 6093 str r3, [r2, #8] /* Class B setup phase done for previous decoded setup */ (void)PCD_EP_OutSetupPacket_int(hpcd, epnum); 80b682e: 6a79 ldr r1, [r7, #36] ; 0x24 80b6830: 6878 ldr r0, [r7, #4] 80b6832: f000 ff01 bl 80b7638 } if ((epint & USB_OTG_DOEPINT_OTEPDIS) == USB_OTG_DOEPINT_OTEPDIS) 80b6836: 693b ldr r3, [r7, #16] 80b6838: f003 0310 and.w r3, r3, #16 80b683c: 2b00 cmp r3, #0 80b683e: d008 beq.n 80b6852 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPDIS); 80b6840: 6a7b ldr r3, [r7, #36] ; 0x24 80b6842: 015a lsls r2, r3, #5 80b6844: 69fb ldr r3, [r7, #28] 80b6846: 4413 add r3, r2 80b6848: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b684c: 461a mov r2, r3 80b684e: 2310 movs r3, #16 80b6850: 6093 str r3, [r2, #8] } /* Clear Status Phase Received interrupt */ if ((epint & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) 80b6852: 693b ldr r3, [r7, #16] 80b6854: f003 0320 and.w r3, r3, #32 80b6858: 2b00 cmp r3, #0 80b685a: d008 beq.n 80b686e { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 80b685c: 6a7b ldr r3, [r7, #36] ; 0x24 80b685e: 015a lsls r2, r3, #5 80b6860: 69fb ldr r3, [r7, #28] 80b6862: 4413 add r3, r2 80b6864: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6868: 461a mov r2, r3 80b686a: 2320 movs r3, #32 80b686c: 6093 str r3, [r2, #8] } /* Clear OUT NAK interrupt */ if ((epint & USB_OTG_DOEPINT_NAK) == USB_OTG_DOEPINT_NAK) 80b686e: 693b ldr r3, [r7, #16] 80b6870: f403 5300 and.w r3, r3, #8192 ; 0x2000 80b6874: 2b00 cmp r3, #0 80b6876: d009 beq.n 80b688c { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_NAK); 80b6878: 6a7b ldr r3, [r7, #36] ; 0x24 80b687a: 015a lsls r2, r3, #5 80b687c: 69fb ldr r3, [r7, #28] 80b687e: 4413 add r3, r2 80b6880: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6884: 461a mov r2, r3 80b6886: f44f 5300 mov.w r3, #8192 ; 0x2000 80b688a: 6093 str r3, [r2, #8] } } epnum++; 80b688c: 6a7b ldr r3, [r7, #36] ; 0x24 80b688e: 3301 adds r3, #1 80b6890: 627b str r3, [r7, #36] ; 0x24 ep_intr >>= 1U; 80b6892: 6abb ldr r3, [r7, #40] ; 0x28 80b6894: 085b lsrs r3, r3, #1 80b6896: 62bb str r3, [r7, #40] ; 0x28 while (ep_intr != 0U) 80b6898: 6abb ldr r3, [r7, #40] ; 0x28 80b689a: 2b00 cmp r3, #0 80b689c: d199 bne.n 80b67d2 } } if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IEPINT)) 80b689e: 687b ldr r3, [r7, #4] 80b68a0: 681b ldr r3, [r3, #0] 80b68a2: 4618 mov r0, r3 80b68a4: f008 fdcd bl 80bf442 80b68a8: 4603 mov r3, r0 80b68aa: f403 2380 and.w r3, r3, #262144 ; 0x40000 80b68ae: f5b3 2f80 cmp.w r3, #262144 ; 0x40000 80b68b2: f040 80c1 bne.w 80b6a38 { /* Read in the device interrupt bits */ ep_intr = USB_ReadDevAllInEpInterrupt(hpcd->Instance); 80b68b6: 687b ldr r3, [r7, #4] 80b68b8: 681b ldr r3, [r3, #0] 80b68ba: 4618 mov r0, r3 80b68bc: f008 fdee bl 80bf49c 80b68c0: 62b8 str r0, [r7, #40] ; 0x28 epnum = 0U; 80b68c2: 2300 movs r3, #0 80b68c4: 627b str r3, [r7, #36] ; 0x24 while (ep_intr != 0U) 80b68c6: e0b3 b.n 80b6a30 { if ((ep_intr & 0x1U) != 0U) /* In ITR */ 80b68c8: 6abb ldr r3, [r7, #40] ; 0x28 80b68ca: f003 0301 and.w r3, r3, #1 80b68ce: 2b00 cmp r3, #0 80b68d0: f000 80a8 beq.w 80b6a24 { epint = USB_ReadDevInEPInterrupt(hpcd->Instance, (uint8_t)epnum); 80b68d4: 687b ldr r3, [r7, #4] 80b68d6: 681b ldr r3, [r3, #0] 80b68d8: 6a7a ldr r2, [r7, #36] ; 0x24 80b68da: b2d2 uxtb r2, r2 80b68dc: 4611 mov r1, r2 80b68de: 4618 mov r0, r3 80b68e0: f008 fe14 bl 80bf50c 80b68e4: 6138 str r0, [r7, #16] if ((epint & USB_OTG_DIEPINT_XFRC) == USB_OTG_DIEPINT_XFRC) 80b68e6: 693b ldr r3, [r7, #16] 80b68e8: f003 0301 and.w r3, r3, #1 80b68ec: 2b00 cmp r3, #0 80b68ee: d058 beq.n 80b69a2 { fifoemptymsk = (uint32_t)(0x1UL << (epnum & EP_ADDR_MSK)); 80b68f0: 6a7b ldr r3, [r7, #36] ; 0x24 80b68f2: f003 030f and.w r3, r3, #15 80b68f6: 2201 movs r2, #1 80b68f8: fa02 f303 lsl.w r3, r2, r3 80b68fc: 60fb str r3, [r7, #12] USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 80b68fe: 69fb ldr r3, [r7, #28] 80b6900: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6904: 4619 mov r1, r3 80b6906: 69fb ldr r3, [r7, #28] 80b6908: f503 6300 add.w r3, r3, #2048 ; 0x800 80b690c: 6b5a ldr r2, [r3, #52] ; 0x34 80b690e: 68fb ldr r3, [r7, #12] 80b6910: 43db mvns r3, r3 80b6912: 4013 ands r3, r2 80b6914: 634b str r3, [r1, #52] ; 0x34 CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_XFRC); 80b6916: 6a7b ldr r3, [r7, #36] ; 0x24 80b6918: 015a lsls r2, r3, #5 80b691a: 69fb ldr r3, [r7, #28] 80b691c: 4413 add r3, r2 80b691e: f503 6310 add.w r3, r3, #2304 ; 0x900 80b6922: 461a mov r2, r3 80b6924: 2301 movs r3, #1 80b6926: 6093 str r3, [r2, #8] if (hpcd->Init.dma_enable == 1U) 80b6928: 687b ldr r3, [r7, #4] 80b692a: 691b ldr r3, [r3, #16] 80b692c: 2b01 cmp r3, #1 80b692e: d132 bne.n 80b6996 { hpcd->IN_ep[epnum].xfer_buff += hpcd->IN_ep[epnum].maxpacket; 80b6930: 6879 ldr r1, [r7, #4] 80b6932: 6a7a ldr r2, [r7, #36] ; 0x24 80b6934: 4613 mov r3, r2 80b6936: 00db lsls r3, r3, #3 80b6938: 1a9b subs r3, r3, r2 80b693a: 009b lsls r3, r3, #2 80b693c: 440b add r3, r1 80b693e: 3348 adds r3, #72 ; 0x48 80b6940: 6819 ldr r1, [r3, #0] 80b6942: 6878 ldr r0, [r7, #4] 80b6944: 6a7a ldr r2, [r7, #36] ; 0x24 80b6946: 4613 mov r3, r2 80b6948: 00db lsls r3, r3, #3 80b694a: 1a9b subs r3, r3, r2 80b694c: 009b lsls r3, r3, #2 80b694e: 4403 add r3, r0 80b6950: 3344 adds r3, #68 ; 0x44 80b6952: 681b ldr r3, [r3, #0] 80b6954: 4419 add r1, r3 80b6956: 6878 ldr r0, [r7, #4] 80b6958: 6a7a ldr r2, [r7, #36] ; 0x24 80b695a: 4613 mov r3, r2 80b695c: 00db lsls r3, r3, #3 80b695e: 1a9b subs r3, r3, r2 80b6960: 009b lsls r3, r3, #2 80b6962: 4403 add r3, r0 80b6964: 3348 adds r3, #72 ; 0x48 80b6966: 6019 str r1, [r3, #0] /* this is ZLP, so prepare EP0 for next setup */ if ((epnum == 0U) && (hpcd->IN_ep[epnum].xfer_len == 0U)) 80b6968: 6a7b ldr r3, [r7, #36] ; 0x24 80b696a: 2b00 cmp r3, #0 80b696c: d113 bne.n 80b6996 80b696e: 6879 ldr r1, [r7, #4] 80b6970: 6a7a ldr r2, [r7, #36] ; 0x24 80b6972: 4613 mov r3, r2 80b6974: 00db lsls r3, r3, #3 80b6976: 1a9b subs r3, r3, r2 80b6978: 009b lsls r3, r3, #2 80b697a: 440b add r3, r1 80b697c: 3350 adds r3, #80 ; 0x50 80b697e: 681b ldr r3, [r3, #0] 80b6980: 2b00 cmp r3, #0 80b6982: d108 bne.n 80b6996 { /* prepare to rx more setup packets */ (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 80b6984: 687b ldr r3, [r7, #4] 80b6986: 6818 ldr r0, [r3, #0] 80b6988: 687b ldr r3, [r7, #4] 80b698a: f503 7371 add.w r3, r3, #964 ; 0x3c4 80b698e: 461a mov r2, r3 80b6990: 2101 movs r1, #1 80b6992: f008 fe1d bl 80bf5d0 } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataInStageCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_DataInStageCallback(hpcd, (uint8_t)epnum); 80b6996: 6a7b ldr r3, [r7, #36] ; 0x24 80b6998: b2db uxtb r3, r3 80b699a: 4619 mov r1, r3 80b699c: 6878 ldr r0, [r7, #4] 80b699e: f012 fe92 bl 80c96c6 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } if ((epint & USB_OTG_DIEPINT_TOC) == USB_OTG_DIEPINT_TOC) 80b69a2: 693b ldr r3, [r7, #16] 80b69a4: f003 0308 and.w r3, r3, #8 80b69a8: 2b00 cmp r3, #0 80b69aa: d008 beq.n 80b69be { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_TOC); 80b69ac: 6a7b ldr r3, [r7, #36] ; 0x24 80b69ae: 015a lsls r2, r3, #5 80b69b0: 69fb ldr r3, [r7, #28] 80b69b2: 4413 add r3, r2 80b69b4: f503 6310 add.w r3, r3, #2304 ; 0x900 80b69b8: 461a mov r2, r3 80b69ba: 2308 movs r3, #8 80b69bc: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_ITTXFE) == USB_OTG_DIEPINT_ITTXFE) 80b69be: 693b ldr r3, [r7, #16] 80b69c0: f003 0310 and.w r3, r3, #16 80b69c4: 2b00 cmp r3, #0 80b69c6: d008 beq.n 80b69da { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_ITTXFE); 80b69c8: 6a7b ldr r3, [r7, #36] ; 0x24 80b69ca: 015a lsls r2, r3, #5 80b69cc: 69fb ldr r3, [r7, #28] 80b69ce: 4413 add r3, r2 80b69d0: f503 6310 add.w r3, r3, #2304 ; 0x900 80b69d4: 461a mov r2, r3 80b69d6: 2310 movs r3, #16 80b69d8: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_INEPNE) == USB_OTG_DIEPINT_INEPNE) 80b69da: 693b ldr r3, [r7, #16] 80b69dc: f003 0340 and.w r3, r3, #64 ; 0x40 80b69e0: 2b00 cmp r3, #0 80b69e2: d008 beq.n 80b69f6 { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_INEPNE); 80b69e4: 6a7b ldr r3, [r7, #36] ; 0x24 80b69e6: 015a lsls r2, r3, #5 80b69e8: 69fb ldr r3, [r7, #28] 80b69ea: 4413 add r3, r2 80b69ec: f503 6310 add.w r3, r3, #2304 ; 0x900 80b69f0: 461a mov r2, r3 80b69f2: 2340 movs r3, #64 ; 0x40 80b69f4: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_EPDISD) == USB_OTG_DIEPINT_EPDISD) 80b69f6: 693b ldr r3, [r7, #16] 80b69f8: f003 0302 and.w r3, r3, #2 80b69fc: 2b00 cmp r3, #0 80b69fe: d008 beq.n 80b6a12 { CLEAR_IN_EP_INTR(epnum, USB_OTG_DIEPINT_EPDISD); 80b6a00: 6a7b ldr r3, [r7, #36] ; 0x24 80b6a02: 015a lsls r2, r3, #5 80b6a04: 69fb ldr r3, [r7, #28] 80b6a06: 4413 add r3, r2 80b6a08: f503 6310 add.w r3, r3, #2304 ; 0x900 80b6a0c: 461a mov r2, r3 80b6a0e: 2302 movs r3, #2 80b6a10: 6093 str r3, [r2, #8] } if ((epint & USB_OTG_DIEPINT_TXFE) == USB_OTG_DIEPINT_TXFE) 80b6a12: 693b ldr r3, [r7, #16] 80b6a14: f003 0380 and.w r3, r3, #128 ; 0x80 80b6a18: 2b00 cmp r3, #0 80b6a1a: d003 beq.n 80b6a24 { (void)PCD_WriteEmptyTxFifo(hpcd, epnum); 80b6a1c: 6a79 ldr r1, [r7, #36] ; 0x24 80b6a1e: 6878 ldr r0, [r7, #4] 80b6a20: f000 fc6f bl 80b7302 } } epnum++; 80b6a24: 6a7b ldr r3, [r7, #36] ; 0x24 80b6a26: 3301 adds r3, #1 80b6a28: 627b str r3, [r7, #36] ; 0x24 ep_intr >>= 1U; 80b6a2a: 6abb ldr r3, [r7, #40] ; 0x28 80b6a2c: 085b lsrs r3, r3, #1 80b6a2e: 62bb str r3, [r7, #40] ; 0x28 while (ep_intr != 0U) 80b6a30: 6abb ldr r3, [r7, #40] ; 0x28 80b6a32: 2b00 cmp r3, #0 80b6a34: f47f af48 bne.w 80b68c8 } } /* Handle Resume Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT)) 80b6a38: 687b ldr r3, [r7, #4] 80b6a3a: 681b ldr r3, [r3, #0] 80b6a3c: 4618 mov r0, r3 80b6a3e: f008 fd00 bl 80bf442 80b6a42: 4603 mov r3, r0 80b6a44: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80b6a48: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80b6a4c: d123 bne.n 80b6a96 { /* Clear the Remote Wake-up Signaling */ USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; 80b6a4e: 69fb ldr r3, [r7, #28] 80b6a50: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6a54: 461a mov r2, r3 80b6a56: 69fb ldr r3, [r7, #28] 80b6a58: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6a5c: 685b ldr r3, [r3, #4] 80b6a5e: f023 0301 bic.w r3, r3, #1 80b6a62: 6053 str r3, [r2, #4] if (hpcd->LPM_State == LPM_L1) 80b6a64: 687b ldr r3, [r7, #4] 80b6a66: f893 33f4 ldrb.w r3, [r3, #1012] ; 0x3f4 80b6a6a: 2b01 cmp r3, #1 80b6a6c: d108 bne.n 80b6a80 { hpcd->LPM_State = LPM_L0; 80b6a6e: 687b ldr r3, [r7, #4] 80b6a70: 2200 movs r2, #0 80b6a72: f883 23f4 strb.w r2, [r3, #1012] ; 0x3f4 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->LPMCallback(hpcd, PCD_LPM_L0_ACTIVE); #else HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L0_ACTIVE); 80b6a76: 2100 movs r1, #0 80b6a78: 6878 ldr r0, [r7, #4] 80b6a7a: f013 f8b3 bl 80c9be4 80b6a7e: e002 b.n 80b6a86 else { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ResumeCallback(hpcd); #else HAL_PCD_ResumeCallback(hpcd); 80b6a80: 6878 ldr r0, [r7, #4] 80b6a82: f012 fe99 bl 80c97b8 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_WKUINT); 80b6a86: 687b ldr r3, [r7, #4] 80b6a88: 681b ldr r3, [r3, #0] 80b6a8a: 687a ldr r2, [r7, #4] 80b6a8c: 6812 ldr r2, [r2, #0] 80b6a8e: 6952 ldr r2, [r2, #20] 80b6a90: f002 4200 and.w r2, r2, #2147483648 ; 0x80000000 80b6a94: 615a str r2, [r3, #20] } /* Handle Suspend Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP)) 80b6a96: 687b ldr r3, [r7, #4] 80b6a98: 681b ldr r3, [r3, #0] 80b6a9a: 4618 mov r0, r3 80b6a9c: f008 fcd1 bl 80bf442 80b6aa0: 4603 mov r3, r0 80b6aa2: f403 6300 and.w r3, r3, #2048 ; 0x800 80b6aa6: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b6aaa: d112 bne.n 80b6ad2 { if ((USBx_DEVICE->DSTS & USB_OTG_DSTS_SUSPSTS) == USB_OTG_DSTS_SUSPSTS) 80b6aac: 69fb ldr r3, [r7, #28] 80b6aae: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6ab2: 689b ldr r3, [r3, #8] 80b6ab4: f003 0301 and.w r3, r3, #1 80b6ab8: 2b01 cmp r3, #1 80b6aba: d102 bne.n 80b6ac2 { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SuspendCallback(hpcd); #else HAL_PCD_SuspendCallback(hpcd); 80b6abc: 6878 ldr r0, [r7, #4] 80b6abe: f012 fe53 bl 80c9768 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBSUSP); 80b6ac2: 687b ldr r3, [r7, #4] 80b6ac4: 681b ldr r3, [r3, #0] 80b6ac6: 687a ldr r2, [r7, #4] 80b6ac8: 6812 ldr r2, [r2, #0] 80b6aca: 6952 ldr r2, [r2, #20] 80b6acc: f402 6200 and.w r2, r2, #2048 ; 0x800 80b6ad0: 615a str r2, [r3, #20] } /* Handle LPM Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT)) 80b6ad2: 687b ldr r3, [r7, #4] 80b6ad4: 681b ldr r3, [r3, #0] 80b6ad6: 4618 mov r0, r3 80b6ad8: f008 fcb3 bl 80bf442 80b6adc: 4603 mov r3, r0 80b6ade: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80b6ae2: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 80b6ae6: d121 bne.n 80b6b2c { __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_LPMINT); 80b6ae8: 687b ldr r3, [r7, #4] 80b6aea: 681b ldr r3, [r3, #0] 80b6aec: 687a ldr r2, [r7, #4] 80b6aee: 6812 ldr r2, [r2, #0] 80b6af0: 6952 ldr r2, [r2, #20] 80b6af2: f002 6200 and.w r2, r2, #134217728 ; 0x8000000 80b6af6: 615a str r2, [r3, #20] if (hpcd->LPM_State == LPM_L0) 80b6af8: 687b ldr r3, [r7, #4] 80b6afa: f893 33f4 ldrb.w r3, [r3, #1012] ; 0x3f4 80b6afe: 2b00 cmp r3, #0 80b6b00: d111 bne.n 80b6b26 { hpcd->LPM_State = LPM_L1; 80b6b02: 687b ldr r3, [r7, #4] 80b6b04: 2201 movs r2, #1 80b6b06: f883 23f4 strb.w r2, [r3, #1012] ; 0x3f4 hpcd->BESL = (hpcd->Instance->GLPMCFG & USB_OTG_GLPMCFG_BESL) >> 2U; 80b6b0a: 687b ldr r3, [r7, #4] 80b6b0c: 681b ldr r3, [r3, #0] 80b6b0e: 6d5b ldr r3, [r3, #84] ; 0x54 80b6b10: 089b lsrs r3, r3, #2 80b6b12: f003 020f and.w r2, r3, #15 80b6b16: 687b ldr r3, [r7, #4] 80b6b18: f8c3 23f8 str.w r2, [r3, #1016] ; 0x3f8 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->LPMCallback(hpcd, PCD_LPM_L1_ACTIVE); #else HAL_PCDEx_LPM_Callback(hpcd, PCD_LPM_L1_ACTIVE); 80b6b1c: 2101 movs r1, #1 80b6b1e: 6878 ldr r0, [r7, #4] 80b6b20: f013 f860 bl 80c9be4 80b6b24: e002 b.n 80b6b2c else { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SuspendCallback(hpcd); #else HAL_PCD_SuspendCallback(hpcd); 80b6b26: 6878 ldr r0, [r7, #4] 80b6b28: f012 fe1e bl 80c9768 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } } /* Handle Reset Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_USBRST)) 80b6b2c: 687b ldr r3, [r7, #4] 80b6b2e: 681b ldr r3, [r3, #0] 80b6b30: 4618 mov r0, r3 80b6b32: f008 fc86 bl 80bf442 80b6b36: 4603 mov r3, r0 80b6b38: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b6b3c: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b6b40: f040 80c0 bne.w 80b6cc4 { USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_RWUSIG; 80b6b44: 69fb ldr r3, [r7, #28] 80b6b46: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6b4a: 461a mov r2, r3 80b6b4c: 69fb ldr r3, [r7, #28] 80b6b4e: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6b52: 685b ldr r3, [r3, #4] 80b6b54: f023 0301 bic.w r3, r3, #1 80b6b58: 6053 str r3, [r2, #4] (void)USB_FlushTxFifo(hpcd->Instance, 0x10U); 80b6b5a: 687b ldr r3, [r7, #4] 80b6b5c: 681b ldr r3, [r3, #0] 80b6b5e: 2110 movs r1, #16 80b6b60: 4618 mov r0, r3 80b6b62: f007 fcc1 bl 80be4e8 for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80b6b66: 2300 movs r3, #0 80b6b68: 62fb str r3, [r7, #44] ; 0x2c 80b6b6a: e049 b.n 80b6c00 { USBx_INEP(i)->DIEPINT = 0xFB7FU; 80b6b6c: 6afb ldr r3, [r7, #44] ; 0x2c 80b6b6e: 015a lsls r2, r3, #5 80b6b70: 69fb ldr r3, [r7, #28] 80b6b72: 4413 add r3, r2 80b6b74: f503 6310 add.w r3, r3, #2304 ; 0x900 80b6b78: 461a mov r2, r3 80b6b7a: f64f 337f movw r3, #64383 ; 0xfb7f 80b6b7e: 6093 str r3, [r2, #8] USBx_INEP(i)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 80b6b80: 6afb ldr r3, [r7, #44] ; 0x2c 80b6b82: 015a lsls r2, r3, #5 80b6b84: 69fb ldr r3, [r7, #28] 80b6b86: 4413 add r3, r2 80b6b88: f503 6310 add.w r3, r3, #2304 ; 0x900 80b6b8c: 4619 mov r1, r3 80b6b8e: 6afb ldr r3, [r7, #44] ; 0x2c 80b6b90: 015a lsls r2, r3, #5 80b6b92: 69fb ldr r3, [r7, #28] 80b6b94: 4413 add r3, r2 80b6b96: f503 6310 add.w r3, r3, #2304 ; 0x900 80b6b9a: 681b ldr r3, [r3, #0] 80b6b9c: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80b6ba0: 600b str r3, [r1, #0] USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 80b6ba2: 6afb ldr r3, [r7, #44] ; 0x2c 80b6ba4: 015a lsls r2, r3, #5 80b6ba6: 69fb ldr r3, [r7, #28] 80b6ba8: 4413 add r3, r2 80b6baa: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6bae: 461a mov r2, r3 80b6bb0: f64f 337f movw r3, #64383 ; 0xfb7f 80b6bb4: 6093 str r3, [r2, #8] USBx_OUTEP(i)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 80b6bb6: 6afb ldr r3, [r7, #44] ; 0x2c 80b6bb8: 015a lsls r2, r3, #5 80b6bba: 69fb ldr r3, [r7, #28] 80b6bbc: 4413 add r3, r2 80b6bbe: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6bc2: 4619 mov r1, r3 80b6bc4: 6afb ldr r3, [r7, #44] ; 0x2c 80b6bc6: 015a lsls r2, r3, #5 80b6bc8: 69fb ldr r3, [r7, #28] 80b6bca: 4413 add r3, r2 80b6bcc: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6bd0: 681b ldr r3, [r3, #0] 80b6bd2: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80b6bd6: 600b str r3, [r1, #0] USBx_OUTEP(i)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 80b6bd8: 6afb ldr r3, [r7, #44] ; 0x2c 80b6bda: 015a lsls r2, r3, #5 80b6bdc: 69fb ldr r3, [r7, #28] 80b6bde: 4413 add r3, r2 80b6be0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6be4: 4619 mov r1, r3 80b6be6: 6afb ldr r3, [r7, #44] ; 0x2c 80b6be8: 015a lsls r2, r3, #5 80b6bea: 69fb ldr r3, [r7, #28] 80b6bec: 4413 add r3, r2 80b6bee: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b6bf2: 681b ldr r3, [r3, #0] 80b6bf4: f043 6300 orr.w r3, r3, #134217728 ; 0x8000000 80b6bf8: 600b str r3, [r1, #0] for (i = 0U; i < hpcd->Init.dev_endpoints; i++) 80b6bfa: 6afb ldr r3, [r7, #44] ; 0x2c 80b6bfc: 3301 adds r3, #1 80b6bfe: 62fb str r3, [r7, #44] ; 0x2c 80b6c00: 687b ldr r3, [r7, #4] 80b6c02: 685a ldr r2, [r3, #4] 80b6c04: 6afb ldr r3, [r7, #44] ; 0x2c 80b6c06: 429a cmp r2, r3 80b6c08: d8b0 bhi.n 80b6b6c } USBx_DEVICE->DAINTMSK |= 0x10001U; 80b6c0a: 69fb ldr r3, [r7, #28] 80b6c0c: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c10: 461a mov r2, r3 80b6c12: 69fb ldr r3, [r7, #28] 80b6c14: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c18: 69db ldr r3, [r3, #28] 80b6c1a: f043 1301 orr.w r3, r3, #65537 ; 0x10001 80b6c1e: 61d3 str r3, [r2, #28] if (hpcd->Init.use_dedicated_ep1 != 0U) 80b6c20: 687b ldr r3, [r7, #4] 80b6c22: 6b1b ldr r3, [r3, #48] ; 0x30 80b6c24: 2b00 cmp r3, #0 80b6c26: d018 beq.n 80b6c5a { USBx_DEVICE->DOUTEP1MSK |= USB_OTG_DOEPMSK_STUPM | 80b6c28: 69fb ldr r3, [r7, #28] 80b6c2a: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c2e: 461a mov r2, r3 80b6c30: 69fb ldr r3, [r7, #28] 80b6c32: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c36: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b6c3a: f043 030b orr.w r3, r3, #11 80b6c3e: f8c2 3084 str.w r3, [r2, #132] ; 0x84 USB_OTG_DOEPMSK_XFRCM | USB_OTG_DOEPMSK_EPDM; USBx_DEVICE->DINEP1MSK |= USB_OTG_DIEPMSK_TOM | 80b6c42: 69fb ldr r3, [r7, #28] 80b6c44: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c48: 461a mov r2, r3 80b6c4a: 69fb ldr r3, [r7, #28] 80b6c4c: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c50: 6c5b ldr r3, [r3, #68] ; 0x44 80b6c52: f043 030b orr.w r3, r3, #11 80b6c56: 6453 str r3, [r2, #68] ; 0x44 80b6c58: e016 b.n 80b6c88 USB_OTG_DIEPMSK_XFRCM | USB_OTG_DIEPMSK_EPDM; } else { USBx_DEVICE->DOEPMSK |= USB_OTG_DOEPMSK_STUPM | 80b6c5a: 69fb ldr r3, [r7, #28] 80b6c5c: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c60: 4619 mov r1, r3 80b6c62: 69fb ldr r3, [r7, #28] 80b6c64: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c68: 695a ldr r2, [r3, #20] 80b6c6a: f242 032b movw r3, #8235 ; 0x202b 80b6c6e: 4313 orrs r3, r2 80b6c70: 614b str r3, [r1, #20] USB_OTG_DOEPMSK_XFRCM | USB_OTG_DOEPMSK_EPDM | USB_OTG_DOEPMSK_OTEPSPRM | USB_OTG_DOEPMSK_NAKM; USBx_DEVICE->DIEPMSK |= USB_OTG_DIEPMSK_TOM | 80b6c72: 69fb ldr r3, [r7, #28] 80b6c74: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c78: 461a mov r2, r3 80b6c7a: 69fb ldr r3, [r7, #28] 80b6c7c: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c80: 691b ldr r3, [r3, #16] 80b6c82: f043 030b orr.w r3, r3, #11 80b6c86: 6113 str r3, [r2, #16] USB_OTG_DIEPMSK_XFRCM | USB_OTG_DIEPMSK_EPDM; } /* Set Default Address to 0 */ USBx_DEVICE->DCFG &= ~USB_OTG_DCFG_DAD; 80b6c88: 69fb ldr r3, [r7, #28] 80b6c8a: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c8e: 461a mov r2, r3 80b6c90: 69fb ldr r3, [r7, #28] 80b6c92: f503 6300 add.w r3, r3, #2048 ; 0x800 80b6c96: 681b ldr r3, [r3, #0] 80b6c98: f423 63fe bic.w r3, r3, #2032 ; 0x7f0 80b6c9c: 6013 str r3, [r2, #0] /* setup EP0 to receive SETUP packets */ (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, 80b6c9e: 687b ldr r3, [r7, #4] 80b6ca0: 6818 ldr r0, [r3, #0] 80b6ca2: 687b ldr r3, [r7, #4] 80b6ca4: 691b ldr r3, [r3, #16] 80b6ca6: b2d9 uxtb r1, r3 (uint8_t *)hpcd->Setup); 80b6ca8: 687b ldr r3, [r7, #4] 80b6caa: f503 7371 add.w r3, r3, #964 ; 0x3c4 (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, 80b6cae: 461a mov r2, r3 80b6cb0: f008 fc8e bl 80bf5d0 __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_USBRST); 80b6cb4: 687b ldr r3, [r7, #4] 80b6cb6: 681b ldr r3, [r3, #0] 80b6cb8: 687a ldr r2, [r7, #4] 80b6cba: 6812 ldr r2, [r2, #0] 80b6cbc: 6952 ldr r2, [r2, #20] 80b6cbe: f402 5280 and.w r2, r2, #4096 ; 0x1000 80b6cc2: 615a str r2, [r3, #20] } /* Handle Enumeration done Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE)) 80b6cc4: 687b ldr r3, [r7, #4] 80b6cc6: 681b ldr r3, [r3, #0] 80b6cc8: 4618 mov r0, r3 80b6cca: f008 fbba bl 80bf442 80b6cce: 4603 mov r3, r0 80b6cd0: f403 5300 and.w r3, r3, #8192 ; 0x2000 80b6cd4: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80b6cd8: d124 bne.n 80b6d24 { (void)USB_ActivateSetup(hpcd->Instance); 80b6cda: 687b ldr r3, [r7, #4] 80b6cdc: 681b ldr r3, [r3, #0] 80b6cde: 4618 mov r0, r3 80b6ce0: f008 fc50 bl 80bf584 hpcd->Init.speed = USB_GetDevSpeed(hpcd->Instance); 80b6ce4: 687b ldr r3, [r7, #4] 80b6ce6: 681b ldr r3, [r3, #0] 80b6ce8: 4618 mov r0, r3 80b6cea: f007 fc77 bl 80be5dc 80b6cee: 4603 mov r3, r0 80b6cf0: 461a mov r2, r3 80b6cf2: 687b ldr r3, [r7, #4] 80b6cf4: 60da str r2, [r3, #12] /* Set USB Turnaround time */ (void)USB_SetTurnaroundTime(hpcd->Instance, 80b6cf6: 687b ldr r3, [r7, #4] 80b6cf8: 681c ldr r4, [r3, #0] 80b6cfa: f001 fa0f bl 80b811c 80b6cfe: 4601 mov r1, r0 HAL_RCC_GetHCLKFreq(), (uint8_t)hpcd->Init.speed); 80b6d00: 687b ldr r3, [r7, #4] 80b6d02: 68db ldr r3, [r3, #12] (void)USB_SetTurnaroundTime(hpcd->Instance, 80b6d04: b2db uxtb r3, r3 80b6d06: 461a mov r2, r3 80b6d08: 4620 mov r0, r4 80b6d0a: f007 f97d bl 80be008 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ResetCallback(hpcd); #else HAL_PCD_ResetCallback(hpcd); 80b6d0e: 6878 ldr r0, [r7, #4] 80b6d10: f012 fd01 bl 80c9716 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_ENUMDNE); 80b6d14: 687b ldr r3, [r7, #4] 80b6d16: 681b ldr r3, [r3, #0] 80b6d18: 687a ldr r2, [r7, #4] 80b6d1a: 6812 ldr r2, [r2, #0] 80b6d1c: 6952 ldr r2, [r2, #20] 80b6d1e: f402 5200 and.w r2, r2, #8192 ; 0x2000 80b6d22: 615a str r2, [r3, #20] } /* Handle SOF Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SOF)) 80b6d24: 687b ldr r3, [r7, #4] 80b6d26: 681b ldr r3, [r3, #0] 80b6d28: 4618 mov r0, r3 80b6d2a: f008 fb8a bl 80bf442 80b6d2e: 4603 mov r3, r0 80b6d30: f003 0308 and.w r3, r3, #8 80b6d34: 2b08 cmp r3, #8 80b6d36: d10a bne.n 80b6d4e { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SOFCallback(hpcd); #else HAL_PCD_SOFCallback(hpcd); 80b6d38: 6878 ldr r0, [r7, #4] 80b6d3a: f012 fcde bl 80c96fa #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SOF); 80b6d3e: 687b ldr r3, [r7, #4] 80b6d40: 681b ldr r3, [r3, #0] 80b6d42: 687a ldr r2, [r7, #4] 80b6d44: 6812 ldr r2, [r2, #0] 80b6d46: 6952 ldr r2, [r2, #20] 80b6d48: f002 0208 and.w r2, r2, #8 80b6d4c: 615a str r2, [r3, #20] } /* Handle Incomplete ISO IN Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR)) 80b6d4e: 687b ldr r3, [r7, #4] 80b6d50: 681b ldr r3, [r3, #0] 80b6d52: 4618 mov r0, r3 80b6d54: f008 fb75 bl 80bf442 80b6d58: 4603 mov r3, r0 80b6d5a: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80b6d5e: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80b6d62: d10f bne.n 80b6d84 { /* Keep application checking the corresponding Iso IN endpoint causing the incomplete Interrupt */ epnum = 0U; 80b6d64: 2300 movs r3, #0 80b6d66: 627b str r3, [r7, #36] ; 0x24 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ISOINIncompleteCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_ISOINIncompleteCallback(hpcd, (uint8_t)epnum); 80b6d68: 6a7b ldr r3, [r7, #36] ; 0x24 80b6d6a: b2db uxtb r3, r3 80b6d6c: 4619 mov r1, r3 80b6d6e: 6878 ldr r0, [r7, #4] 80b6d70: f012 fd42 bl 80c97f8 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_IISOIXFR); 80b6d74: 687b ldr r3, [r7, #4] 80b6d76: 681b ldr r3, [r3, #0] 80b6d78: 687a ldr r2, [r7, #4] 80b6d7a: 6812 ldr r2, [r2, #0] 80b6d7c: 6952 ldr r2, [r2, #20] 80b6d7e: f402 1280 and.w r2, r2, #1048576 ; 0x100000 80b6d82: 615a str r2, [r3, #20] } /* Handle Incomplete ISO OUT Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT)) 80b6d84: 687b ldr r3, [r7, #4] 80b6d86: 681b ldr r3, [r3, #0] 80b6d88: 4618 mov r0, r3 80b6d8a: f008 fb5a bl 80bf442 80b6d8e: 4603 mov r3, r0 80b6d90: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80b6d94: f5b3 1f00 cmp.w r3, #2097152 ; 0x200000 80b6d98: d10f bne.n 80b6dba { /* Keep application checking the corresponding Iso OUT endpoint causing the incomplete Interrupt */ epnum = 0U; 80b6d9a: 2300 movs r3, #0 80b6d9c: 627b str r3, [r7, #36] ; 0x24 #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ISOOUTIncompleteCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_ISOOUTIncompleteCallback(hpcd, (uint8_t)epnum); 80b6d9e: 6a7b ldr r3, [r7, #36] ; 0x24 80b6da0: b2db uxtb r3, r3 80b6da2: 4619 mov r1, r3 80b6da4: 6878 ldr r0, [r7, #4] 80b6da6: f012 fd15 bl 80c97d4 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_PXFR_INCOMPISOOUT); 80b6daa: 687b ldr r3, [r7, #4] 80b6dac: 681b ldr r3, [r3, #0] 80b6dae: 687a ldr r2, [r7, #4] 80b6db0: 6812 ldr r2, [r2, #0] 80b6db2: 6952 ldr r2, [r2, #20] 80b6db4: f402 1200 and.w r2, r2, #2097152 ; 0x200000 80b6db8: 615a str r2, [r3, #20] } /* Handle Connection event Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT)) 80b6dba: 687b ldr r3, [r7, #4] 80b6dbc: 681b ldr r3, [r3, #0] 80b6dbe: 4618 mov r0, r3 80b6dc0: f008 fb3f bl 80bf442 80b6dc4: 4603 mov r3, r0 80b6dc6: f003 4380 and.w r3, r3, #1073741824 ; 0x40000000 80b6dca: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80b6dce: d10a bne.n 80b6de6 { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->ConnectCallback(hpcd); #else HAL_PCD_ConnectCallback(hpcd); 80b6dd0: 6878 ldr r0, [r7, #4] 80b6dd2: f012 fd23 bl 80c981c #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ __HAL_PCD_CLEAR_FLAG(hpcd, USB_OTG_GINTSTS_SRQINT); 80b6dd6: 687b ldr r3, [r7, #4] 80b6dd8: 681b ldr r3, [r3, #0] 80b6dda: 687a ldr r2, [r7, #4] 80b6ddc: 6812 ldr r2, [r2, #0] 80b6dde: 6952 ldr r2, [r2, #20] 80b6de0: f002 4280 and.w r2, r2, #1073741824 ; 0x40000000 80b6de4: 615a str r2, [r3, #20] } /* Handle Disconnection event Interrupt */ if (__HAL_PCD_GET_FLAG(hpcd, USB_OTG_GINTSTS_OTGINT)) 80b6de6: 687b ldr r3, [r7, #4] 80b6de8: 681b ldr r3, [r3, #0] 80b6dea: 4618 mov r0, r3 80b6dec: f008 fb29 bl 80bf442 80b6df0: 4603 mov r3, r0 80b6df2: f003 0304 and.w r3, r3, #4 80b6df6: 2b04 cmp r3, #4 80b6df8: d115 bne.n 80b6e26 { temp = hpcd->Instance->GOTGINT; 80b6dfa: 687b ldr r3, [r7, #4] 80b6dfc: 681b ldr r3, [r3, #0] 80b6dfe: 685b ldr r3, [r3, #4] 80b6e00: 61bb str r3, [r7, #24] if ((temp & USB_OTG_GOTGINT_SEDET) == USB_OTG_GOTGINT_SEDET) 80b6e02: 69bb ldr r3, [r7, #24] 80b6e04: f003 0304 and.w r3, r3, #4 80b6e08: 2b00 cmp r3, #0 80b6e0a: d002 beq.n 80b6e12 { #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DisconnectCallback(hpcd); #else HAL_PCD_DisconnectCallback(hpcd); 80b6e0c: 6878 ldr r0, [r7, #4] 80b6e0e: f012 fd1f bl 80c9850 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } hpcd->Instance->GOTGINT |= temp; 80b6e12: 687b ldr r3, [r7, #4] 80b6e14: 681b ldr r3, [r3, #0] 80b6e16: 687a ldr r2, [r7, #4] 80b6e18: 6812 ldr r2, [r2, #0] 80b6e1a: 6851 ldr r1, [r2, #4] 80b6e1c: 69ba ldr r2, [r7, #24] 80b6e1e: 430a orrs r2, r1 80b6e20: 605a str r2, [r3, #4] 80b6e22: e000 b.n 80b6e26 return; 80b6e24: bf00 nop } } } 80b6e26: 3734 adds r7, #52 ; 0x34 80b6e28: 46bd mov sp, r7 80b6e2a: bd90 pop {r4, r7, pc} 080b6e2c : * @param hpcd PCD handle * @param address new device address * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_SetAddress(PCD_HandleTypeDef *hpcd, uint8_t address) { 80b6e2c: b580 push {r7, lr} 80b6e2e: b082 sub sp, #8 80b6e30: af00 add r7, sp, #0 80b6e32: 6078 str r0, [r7, #4] 80b6e34: 460b mov r3, r1 80b6e36: 70fb strb r3, [r7, #3] __HAL_LOCK(hpcd); 80b6e38: 687b ldr r3, [r7, #4] 80b6e3a: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b6e3e: 2b01 cmp r3, #1 80b6e40: d101 bne.n 80b6e46 80b6e42: 2302 movs r3, #2 80b6e44: e013 b.n 80b6e6e 80b6e46: 687b ldr r3, [r7, #4] 80b6e48: 2201 movs r2, #1 80b6e4a: f883 23bc strb.w r2, [r3, #956] ; 0x3bc hpcd->USB_Address = address; 80b6e4e: 687b ldr r3, [r7, #4] 80b6e50: 78fa ldrb r2, [r7, #3] 80b6e52: f883 2038 strb.w r2, [r3, #56] ; 0x38 (void)USB_SetDevAddress(hpcd->Instance, address); 80b6e56: 687b ldr r3, [r7, #4] 80b6e58: 681b ldr r3, [r3, #0] 80b6e5a: 78fa ldrb r2, [r7, #3] 80b6e5c: 4611 mov r1, r2 80b6e5e: 4618 mov r0, r3 80b6e60: f008 fa81 bl 80bf366 __HAL_UNLOCK(hpcd); 80b6e64: 687b ldr r3, [r7, #4] 80b6e66: 2200 movs r2, #0 80b6e68: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80b6e6c: 2300 movs r3, #0 } 80b6e6e: 4618 mov r0, r3 80b6e70: 3708 adds r7, #8 80b6e72: 46bd mov sp, r7 80b6e74: bd80 pop {r7, pc} 080b6e76 : * @param ep_type endpoint type * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_EP_Open(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint16_t ep_mps, uint8_t ep_type) { 80b6e76: b580 push {r7, lr} 80b6e78: b084 sub sp, #16 80b6e7a: af00 add r7, sp, #0 80b6e7c: 6078 str r0, [r7, #4] 80b6e7e: 4608 mov r0, r1 80b6e80: 4611 mov r1, r2 80b6e82: 461a mov r2, r3 80b6e84: 4603 mov r3, r0 80b6e86: 70fb strb r3, [r7, #3] 80b6e88: 460b mov r3, r1 80b6e8a: 803b strh r3, [r7, #0] 80b6e8c: 4613 mov r3, r2 80b6e8e: 70bb strb r3, [r7, #2] HAL_StatusTypeDef ret = HAL_OK; 80b6e90: 2300 movs r3, #0 80b6e92: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; if ((ep_addr & 0x80U) == 0x80U) 80b6e94: f997 3003 ldrsb.w r3, [r7, #3] 80b6e98: 2b00 cmp r3, #0 80b6e9a: da0f bge.n 80b6ebc { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80b6e9c: 78fb ldrb r3, [r7, #3] 80b6e9e: f003 020f and.w r2, r3, #15 80b6ea2: 4613 mov r3, r2 80b6ea4: 00db lsls r3, r3, #3 80b6ea6: 1a9b subs r3, r3, r2 80b6ea8: 009b lsls r3, r3, #2 80b6eaa: 3338 adds r3, #56 ; 0x38 80b6eac: 687a ldr r2, [r7, #4] 80b6eae: 4413 add r3, r2 80b6eb0: 3304 adds r3, #4 80b6eb2: 60fb str r3, [r7, #12] ep->is_in = 1U; 80b6eb4: 68fb ldr r3, [r7, #12] 80b6eb6: 2201 movs r2, #1 80b6eb8: 705a strb r2, [r3, #1] 80b6eba: e00f b.n 80b6edc } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80b6ebc: 78fb ldrb r3, [r7, #3] 80b6ebe: f003 020f and.w r2, r3, #15 80b6ec2: 4613 mov r3, r2 80b6ec4: 00db lsls r3, r3, #3 80b6ec6: 1a9b subs r3, r3, r2 80b6ec8: 009b lsls r3, r3, #2 80b6eca: f503 73fc add.w r3, r3, #504 ; 0x1f8 80b6ece: 687a ldr r2, [r7, #4] 80b6ed0: 4413 add r3, r2 80b6ed2: 3304 adds r3, #4 80b6ed4: 60fb str r3, [r7, #12] ep->is_in = 0U; 80b6ed6: 68fb ldr r3, [r7, #12] 80b6ed8: 2200 movs r2, #0 80b6eda: 705a strb r2, [r3, #1] } ep->num = ep_addr & EP_ADDR_MSK; 80b6edc: 78fb ldrb r3, [r7, #3] 80b6ede: f003 030f and.w r3, r3, #15 80b6ee2: b2da uxtb r2, r3 80b6ee4: 68fb ldr r3, [r7, #12] 80b6ee6: 701a strb r2, [r3, #0] ep->maxpacket = ep_mps; 80b6ee8: 883a ldrh r2, [r7, #0] 80b6eea: 68fb ldr r3, [r7, #12] 80b6eec: 609a str r2, [r3, #8] ep->type = ep_type; 80b6eee: 68fb ldr r3, [r7, #12] 80b6ef0: 78ba ldrb r2, [r7, #2] 80b6ef2: 70da strb r2, [r3, #3] if (ep->is_in != 0U) 80b6ef4: 68fb ldr r3, [r7, #12] 80b6ef6: 785b ldrb r3, [r3, #1] 80b6ef8: 2b00 cmp r3, #0 80b6efa: d004 beq.n 80b6f06 { /* Assign a Tx FIFO */ ep->tx_fifo_num = ep->num; 80b6efc: 68fb ldr r3, [r7, #12] 80b6efe: 781b ldrb r3, [r3, #0] 80b6f00: b29a uxth r2, r3 80b6f02: 68fb ldr r3, [r7, #12] 80b6f04: 80da strh r2, [r3, #6] } /* Set initial data PID. */ if (ep_type == EP_TYPE_BULK) 80b6f06: 78bb ldrb r3, [r7, #2] 80b6f08: 2b02 cmp r3, #2 80b6f0a: d102 bne.n 80b6f12 { ep->data_pid_start = 0U; 80b6f0c: 68fb ldr r3, [r7, #12] 80b6f0e: 2200 movs r2, #0 80b6f10: 711a strb r2, [r3, #4] } __HAL_LOCK(hpcd); 80b6f12: 687b ldr r3, [r7, #4] 80b6f14: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b6f18: 2b01 cmp r3, #1 80b6f1a: d101 bne.n 80b6f20 80b6f1c: 2302 movs r3, #2 80b6f1e: e00e b.n 80b6f3e 80b6f20: 687b ldr r3, [r7, #4] 80b6f22: 2201 movs r2, #1 80b6f24: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_ActivateEndpoint(hpcd->Instance, ep); 80b6f28: 687b ldr r3, [r7, #4] 80b6f2a: 681b ldr r3, [r3, #0] 80b6f2c: 68f9 ldr r1, [r7, #12] 80b6f2e: 4618 mov r0, r3 80b6f30: f007 fb7a bl 80be628 __HAL_UNLOCK(hpcd); 80b6f34: 687b ldr r3, [r7, #4] 80b6f36: 2200 movs r2, #0 80b6f38: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return ret; 80b6f3c: 7afb ldrb r3, [r7, #11] } 80b6f3e: 4618 mov r0, r3 80b6f40: 3710 adds r7, #16 80b6f42: 46bd mov sp, r7 80b6f44: bd80 pop {r7, pc} 080b6f46 : * @param hpcd PCD handle * @param ep_addr endpoint address * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_EP_Close(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) { 80b6f46: b580 push {r7, lr} 80b6f48: b084 sub sp, #16 80b6f4a: af00 add r7, sp, #0 80b6f4c: 6078 str r0, [r7, #4] 80b6f4e: 460b mov r3, r1 80b6f50: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if ((ep_addr & 0x80U) == 0x80U) 80b6f52: f997 3003 ldrsb.w r3, [r7, #3] 80b6f56: 2b00 cmp r3, #0 80b6f58: da0f bge.n 80b6f7a { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80b6f5a: 78fb ldrb r3, [r7, #3] 80b6f5c: f003 020f and.w r2, r3, #15 80b6f60: 4613 mov r3, r2 80b6f62: 00db lsls r3, r3, #3 80b6f64: 1a9b subs r3, r3, r2 80b6f66: 009b lsls r3, r3, #2 80b6f68: 3338 adds r3, #56 ; 0x38 80b6f6a: 687a ldr r2, [r7, #4] 80b6f6c: 4413 add r3, r2 80b6f6e: 3304 adds r3, #4 80b6f70: 60fb str r3, [r7, #12] ep->is_in = 1U; 80b6f72: 68fb ldr r3, [r7, #12] 80b6f74: 2201 movs r2, #1 80b6f76: 705a strb r2, [r3, #1] 80b6f78: e00f b.n 80b6f9a } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80b6f7a: 78fb ldrb r3, [r7, #3] 80b6f7c: f003 020f and.w r2, r3, #15 80b6f80: 4613 mov r3, r2 80b6f82: 00db lsls r3, r3, #3 80b6f84: 1a9b subs r3, r3, r2 80b6f86: 009b lsls r3, r3, #2 80b6f88: f503 73fc add.w r3, r3, #504 ; 0x1f8 80b6f8c: 687a ldr r2, [r7, #4] 80b6f8e: 4413 add r3, r2 80b6f90: 3304 adds r3, #4 80b6f92: 60fb str r3, [r7, #12] ep->is_in = 0U; 80b6f94: 68fb ldr r3, [r7, #12] 80b6f96: 2200 movs r2, #0 80b6f98: 705a strb r2, [r3, #1] } ep->num = ep_addr & EP_ADDR_MSK; 80b6f9a: 78fb ldrb r3, [r7, #3] 80b6f9c: f003 030f and.w r3, r3, #15 80b6fa0: b2da uxtb r2, r3 80b6fa2: 68fb ldr r3, [r7, #12] 80b6fa4: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); 80b6fa6: 687b ldr r3, [r7, #4] 80b6fa8: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b6fac: 2b01 cmp r3, #1 80b6fae: d101 bne.n 80b6fb4 80b6fb0: 2302 movs r3, #2 80b6fb2: e00e b.n 80b6fd2 80b6fb4: 687b ldr r3, [r7, #4] 80b6fb6: 2201 movs r2, #1 80b6fb8: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_DeactivateEndpoint(hpcd->Instance, ep); 80b6fbc: 687b ldr r3, [r7, #4] 80b6fbe: 681b ldr r3, [r3, #0] 80b6fc0: 68f9 ldr r1, [r7, #12] 80b6fc2: 4618 mov r0, r3 80b6fc4: f007 fbba bl 80be73c __HAL_UNLOCK(hpcd); 80b6fc8: 687b ldr r3, [r7, #4] 80b6fca: 2200 movs r2, #0 80b6fcc: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80b6fd0: 2300 movs r3, #0 } 80b6fd2: 4618 mov r0, r3 80b6fd4: 3710 adds r7, #16 80b6fd6: 46bd mov sp, r7 80b6fd8: bd80 pop {r7, pc} 080b6fda : * @param pBuf pointer to the reception buffer * @param len amount of data to be received * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_EP_Receive(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint32_t len) { 80b6fda: b580 push {r7, lr} 80b6fdc: b086 sub sp, #24 80b6fde: af00 add r7, sp, #0 80b6fe0: 60f8 str r0, [r7, #12] 80b6fe2: 607a str r2, [r7, #4] 80b6fe4: 603b str r3, [r7, #0] 80b6fe6: 460b mov r3, r1 80b6fe8: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80b6fea: 7afb ldrb r3, [r7, #11] 80b6fec: f003 020f and.w r2, r3, #15 80b6ff0: 4613 mov r3, r2 80b6ff2: 00db lsls r3, r3, #3 80b6ff4: 1a9b subs r3, r3, r2 80b6ff6: 009b lsls r3, r3, #2 80b6ff8: f503 73fc add.w r3, r3, #504 ; 0x1f8 80b6ffc: 68fa ldr r2, [r7, #12] 80b6ffe: 4413 add r3, r2 80b7000: 3304 adds r3, #4 80b7002: 617b str r3, [r7, #20] /*setup and start the Xfer */ ep->xfer_buff = pBuf; 80b7004: 697b ldr r3, [r7, #20] 80b7006: 687a ldr r2, [r7, #4] 80b7008: 60da str r2, [r3, #12] ep->xfer_len = len; 80b700a: 697b ldr r3, [r7, #20] 80b700c: 683a ldr r2, [r7, #0] 80b700e: 615a str r2, [r3, #20] ep->xfer_count = 0U; 80b7010: 697b ldr r3, [r7, #20] 80b7012: 2200 movs r2, #0 80b7014: 619a str r2, [r3, #24] ep->is_in = 0U; 80b7016: 697b ldr r3, [r7, #20] 80b7018: 2200 movs r2, #0 80b701a: 705a strb r2, [r3, #1] ep->num = ep_addr & EP_ADDR_MSK; 80b701c: 7afb ldrb r3, [r7, #11] 80b701e: f003 030f and.w r3, r3, #15 80b7022: b2da uxtb r2, r3 80b7024: 697b ldr r3, [r7, #20] 80b7026: 701a strb r2, [r3, #0] if (hpcd->Init.dma_enable == 1U) 80b7028: 68fb ldr r3, [r7, #12] 80b702a: 691b ldr r3, [r3, #16] 80b702c: 2b01 cmp r3, #1 80b702e: d102 bne.n 80b7036 { ep->dma_addr = (uint32_t)pBuf; 80b7030: 687a ldr r2, [r7, #4] 80b7032: 697b ldr r3, [r7, #20] 80b7034: 611a str r2, [r3, #16] } if ((ep_addr & EP_ADDR_MSK) == 0U) 80b7036: 7afb ldrb r3, [r7, #11] 80b7038: f003 030f and.w r3, r3, #15 80b703c: 2b00 cmp r3, #0 80b703e: d109 bne.n 80b7054 { (void)USB_EP0StartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80b7040: 68fb ldr r3, [r7, #12] 80b7042: 6818 ldr r0, [r3, #0] 80b7044: 68fb ldr r3, [r7, #12] 80b7046: 691b ldr r3, [r3, #16] 80b7048: b2db uxtb r3, r3 80b704a: 461a mov r2, r3 80b704c: 6979 ldr r1, [r7, #20] 80b704e: f007 feb7 bl 80bedc0 80b7052: e008 b.n 80b7066 } else { (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80b7054: 68fb ldr r3, [r7, #12] 80b7056: 6818 ldr r0, [r3, #0] 80b7058: 68fb ldr r3, [r7, #12] 80b705a: 691b ldr r3, [r3, #16] 80b705c: b2db uxtb r3, r3 80b705e: 461a mov r2, r3 80b7060: 6979 ldr r1, [r7, #20] 80b7062: f007 fc4f bl 80be904 } return HAL_OK; 80b7066: 2300 movs r3, #0 } 80b7068: 4618 mov r0, r3 80b706a: 3718 adds r7, #24 80b706c: 46bd mov sp, r7 80b706e: bd80 pop {r7, pc} 080b7070 : * @param hpcd PCD handle * @param ep_addr endpoint address * @retval Data Size */ uint32_t HAL_PCD_EP_GetRxCount(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) { 80b7070: b480 push {r7} 80b7072: b083 sub sp, #12 80b7074: af00 add r7, sp, #0 80b7076: 6078 str r0, [r7, #4] 80b7078: 460b mov r3, r1 80b707a: 70fb strb r3, [r7, #3] return hpcd->OUT_ep[ep_addr & EP_ADDR_MSK].xfer_count; 80b707c: 78fb ldrb r3, [r7, #3] 80b707e: f003 020f and.w r2, r3, #15 80b7082: 6879 ldr r1, [r7, #4] 80b7084: 4613 mov r3, r2 80b7086: 00db lsls r3, r3, #3 80b7088: 1a9b subs r3, r3, r2 80b708a: 009b lsls r3, r3, #2 80b708c: 440b add r3, r1 80b708e: f503 7305 add.w r3, r3, #532 ; 0x214 80b7092: 681b ldr r3, [r3, #0] } 80b7094: 4618 mov r0, r3 80b7096: 370c adds r7, #12 80b7098: 46bd mov sp, r7 80b709a: f85d 7b04 ldr.w r7, [sp], #4 80b709e: 4770 bx lr 080b70a0 : * @param pBuf pointer to the transmission buffer * @param len amount of data to be sent * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_EP_Transmit(PCD_HandleTypeDef *hpcd, uint8_t ep_addr, uint8_t *pBuf, uint32_t len) { 80b70a0: b580 push {r7, lr} 80b70a2: b086 sub sp, #24 80b70a4: af00 add r7, sp, #0 80b70a6: 60f8 str r0, [r7, #12] 80b70a8: 607a str r2, [r7, #4] 80b70aa: 603b str r3, [r7, #0] 80b70ac: 460b mov r3, r1 80b70ae: 72fb strb r3, [r7, #11] PCD_EPTypeDef *ep; ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80b70b0: 7afb ldrb r3, [r7, #11] 80b70b2: f003 020f and.w r2, r3, #15 80b70b6: 4613 mov r3, r2 80b70b8: 00db lsls r3, r3, #3 80b70ba: 1a9b subs r3, r3, r2 80b70bc: 009b lsls r3, r3, #2 80b70be: 3338 adds r3, #56 ; 0x38 80b70c0: 68fa ldr r2, [r7, #12] 80b70c2: 4413 add r3, r2 80b70c4: 3304 adds r3, #4 80b70c6: 617b str r3, [r7, #20] /*setup and start the Xfer */ ep->xfer_buff = pBuf; 80b70c8: 697b ldr r3, [r7, #20] 80b70ca: 687a ldr r2, [r7, #4] 80b70cc: 60da str r2, [r3, #12] ep->xfer_len = len; 80b70ce: 697b ldr r3, [r7, #20] 80b70d0: 683a ldr r2, [r7, #0] 80b70d2: 615a str r2, [r3, #20] ep->xfer_count = 0U; 80b70d4: 697b ldr r3, [r7, #20] 80b70d6: 2200 movs r2, #0 80b70d8: 619a str r2, [r3, #24] ep->is_in = 1U; 80b70da: 697b ldr r3, [r7, #20] 80b70dc: 2201 movs r2, #1 80b70de: 705a strb r2, [r3, #1] ep->num = ep_addr & EP_ADDR_MSK; 80b70e0: 7afb ldrb r3, [r7, #11] 80b70e2: f003 030f and.w r3, r3, #15 80b70e6: b2da uxtb r2, r3 80b70e8: 697b ldr r3, [r7, #20] 80b70ea: 701a strb r2, [r3, #0] if (hpcd->Init.dma_enable == 1U) 80b70ec: 68fb ldr r3, [r7, #12] 80b70ee: 691b ldr r3, [r3, #16] 80b70f0: 2b01 cmp r3, #1 80b70f2: d102 bne.n 80b70fa { ep->dma_addr = (uint32_t)pBuf; 80b70f4: 687a ldr r2, [r7, #4] 80b70f6: 697b ldr r3, [r7, #20] 80b70f8: 611a str r2, [r3, #16] } if ((ep_addr & EP_ADDR_MSK) == 0U) 80b70fa: 7afb ldrb r3, [r7, #11] 80b70fc: f003 030f and.w r3, r3, #15 80b7100: 2b00 cmp r3, #0 80b7102: d109 bne.n 80b7118 { (void)USB_EP0StartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80b7104: 68fb ldr r3, [r7, #12] 80b7106: 6818 ldr r0, [r3, #0] 80b7108: 68fb ldr r3, [r7, #12] 80b710a: 691b ldr r3, [r3, #16] 80b710c: b2db uxtb r3, r3 80b710e: 461a mov r2, r3 80b7110: 6979 ldr r1, [r7, #20] 80b7112: f007 fe55 bl 80bedc0 80b7116: e008 b.n 80b712a } else { (void)USB_EPStartXfer(hpcd->Instance, ep, (uint8_t)hpcd->Init.dma_enable); 80b7118: 68fb ldr r3, [r7, #12] 80b711a: 6818 ldr r0, [r3, #0] 80b711c: 68fb ldr r3, [r7, #12] 80b711e: 691b ldr r3, [r3, #16] 80b7120: b2db uxtb r3, r3 80b7122: 461a mov r2, r3 80b7124: 6979 ldr r1, [r7, #20] 80b7126: f007 fbed bl 80be904 } return HAL_OK; 80b712a: 2300 movs r3, #0 } 80b712c: 4618 mov r0, r3 80b712e: 3718 adds r7, #24 80b7130: 46bd mov sp, r7 80b7132: bd80 pop {r7, pc} 080b7134 : * @param hpcd PCD handle * @param ep_addr endpoint address * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_EP_SetStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) { 80b7134: b580 push {r7, lr} 80b7136: b084 sub sp, #16 80b7138: af00 add r7, sp, #0 80b713a: 6078 str r0, [r7, #4] 80b713c: 460b mov r3, r1 80b713e: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if (((uint32_t)ep_addr & EP_ADDR_MSK) > hpcd->Init.dev_endpoints) 80b7140: 78fb ldrb r3, [r7, #3] 80b7142: f003 020f and.w r2, r3, #15 80b7146: 687b ldr r3, [r7, #4] 80b7148: 685b ldr r3, [r3, #4] 80b714a: 429a cmp r2, r3 80b714c: d901 bls.n 80b7152 { return HAL_ERROR; 80b714e: 2301 movs r3, #1 80b7150: e050 b.n 80b71f4 } if ((0x80U & ep_addr) == 0x80U) 80b7152: f997 3003 ldrsb.w r3, [r7, #3] 80b7156: 2b00 cmp r3, #0 80b7158: da0f bge.n 80b717a { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80b715a: 78fb ldrb r3, [r7, #3] 80b715c: f003 020f and.w r2, r3, #15 80b7160: 4613 mov r3, r2 80b7162: 00db lsls r3, r3, #3 80b7164: 1a9b subs r3, r3, r2 80b7166: 009b lsls r3, r3, #2 80b7168: 3338 adds r3, #56 ; 0x38 80b716a: 687a ldr r2, [r7, #4] 80b716c: 4413 add r3, r2 80b716e: 3304 adds r3, #4 80b7170: 60fb str r3, [r7, #12] ep->is_in = 1U; 80b7172: 68fb ldr r3, [r7, #12] 80b7174: 2201 movs r2, #1 80b7176: 705a strb r2, [r3, #1] 80b7178: e00d b.n 80b7196 } else { ep = &hpcd->OUT_ep[ep_addr]; 80b717a: 78fa ldrb r2, [r7, #3] 80b717c: 4613 mov r3, r2 80b717e: 00db lsls r3, r3, #3 80b7180: 1a9b subs r3, r3, r2 80b7182: 009b lsls r3, r3, #2 80b7184: f503 73fc add.w r3, r3, #504 ; 0x1f8 80b7188: 687a ldr r2, [r7, #4] 80b718a: 4413 add r3, r2 80b718c: 3304 adds r3, #4 80b718e: 60fb str r3, [r7, #12] ep->is_in = 0U; 80b7190: 68fb ldr r3, [r7, #12] 80b7192: 2200 movs r2, #0 80b7194: 705a strb r2, [r3, #1] } ep->is_stall = 1U; 80b7196: 68fb ldr r3, [r7, #12] 80b7198: 2201 movs r2, #1 80b719a: 709a strb r2, [r3, #2] ep->num = ep_addr & EP_ADDR_MSK; 80b719c: 78fb ldrb r3, [r7, #3] 80b719e: f003 030f and.w r3, r3, #15 80b71a2: b2da uxtb r2, r3 80b71a4: 68fb ldr r3, [r7, #12] 80b71a6: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); 80b71a8: 687b ldr r3, [r7, #4] 80b71aa: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b71ae: 2b01 cmp r3, #1 80b71b0: d101 bne.n 80b71b6 80b71b2: 2302 movs r3, #2 80b71b4: e01e b.n 80b71f4 80b71b6: 687b ldr r3, [r7, #4] 80b71b8: 2201 movs r2, #1 80b71ba: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_EPSetStall(hpcd->Instance, ep); 80b71be: 687b ldr r3, [r7, #4] 80b71c0: 681b ldr r3, [r3, #0] 80b71c2: 68f9 ldr r1, [r7, #12] 80b71c4: 4618 mov r0, r3 80b71c6: f007 fff2 bl 80bf1ae if ((ep_addr & EP_ADDR_MSK) == 0U) 80b71ca: 78fb ldrb r3, [r7, #3] 80b71cc: f003 030f and.w r3, r3, #15 80b71d0: 2b00 cmp r3, #0 80b71d2: d10a bne.n 80b71ea { (void)USB_EP0_OutStart(hpcd->Instance, (uint8_t)hpcd->Init.dma_enable, (uint8_t *)hpcd->Setup); 80b71d4: 687b ldr r3, [r7, #4] 80b71d6: 6818 ldr r0, [r3, #0] 80b71d8: 687b ldr r3, [r7, #4] 80b71da: 691b ldr r3, [r3, #16] 80b71dc: b2d9 uxtb r1, r3 80b71de: 687b ldr r3, [r7, #4] 80b71e0: f503 7371 add.w r3, r3, #964 ; 0x3c4 80b71e4: 461a mov r2, r3 80b71e6: f008 f9f3 bl 80bf5d0 } __HAL_UNLOCK(hpcd); 80b71ea: 687b ldr r3, [r7, #4] 80b71ec: 2200 movs r2, #0 80b71ee: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80b71f2: 2300 movs r3, #0 } 80b71f4: 4618 mov r0, r3 80b71f6: 3710 adds r7, #16 80b71f8: 46bd mov sp, r7 80b71fa: bd80 pop {r7, pc} 080b71fc : * @param hpcd PCD handle * @param ep_addr endpoint address * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_EP_ClrStall(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) { 80b71fc: b580 push {r7, lr} 80b71fe: b084 sub sp, #16 80b7200: af00 add r7, sp, #0 80b7202: 6078 str r0, [r7, #4] 80b7204: 460b mov r3, r1 80b7206: 70fb strb r3, [r7, #3] PCD_EPTypeDef *ep; if (((uint32_t)ep_addr & 0x0FU) > hpcd->Init.dev_endpoints) 80b7208: 78fb ldrb r3, [r7, #3] 80b720a: f003 020f and.w r2, r3, #15 80b720e: 687b ldr r3, [r7, #4] 80b7210: 685b ldr r3, [r3, #4] 80b7212: 429a cmp r2, r3 80b7214: d901 bls.n 80b721a { return HAL_ERROR; 80b7216: 2301 movs r3, #1 80b7218: e042 b.n 80b72a0 } if ((0x80U & ep_addr) == 0x80U) 80b721a: f997 3003 ldrsb.w r3, [r7, #3] 80b721e: 2b00 cmp r3, #0 80b7220: da0f bge.n 80b7242 { ep = &hpcd->IN_ep[ep_addr & EP_ADDR_MSK]; 80b7222: 78fb ldrb r3, [r7, #3] 80b7224: f003 020f and.w r2, r3, #15 80b7228: 4613 mov r3, r2 80b722a: 00db lsls r3, r3, #3 80b722c: 1a9b subs r3, r3, r2 80b722e: 009b lsls r3, r3, #2 80b7230: 3338 adds r3, #56 ; 0x38 80b7232: 687a ldr r2, [r7, #4] 80b7234: 4413 add r3, r2 80b7236: 3304 adds r3, #4 80b7238: 60fb str r3, [r7, #12] ep->is_in = 1U; 80b723a: 68fb ldr r3, [r7, #12] 80b723c: 2201 movs r2, #1 80b723e: 705a strb r2, [r3, #1] 80b7240: e00f b.n 80b7262 } else { ep = &hpcd->OUT_ep[ep_addr & EP_ADDR_MSK]; 80b7242: 78fb ldrb r3, [r7, #3] 80b7244: f003 020f and.w r2, r3, #15 80b7248: 4613 mov r3, r2 80b724a: 00db lsls r3, r3, #3 80b724c: 1a9b subs r3, r3, r2 80b724e: 009b lsls r3, r3, #2 80b7250: f503 73fc add.w r3, r3, #504 ; 0x1f8 80b7254: 687a ldr r2, [r7, #4] 80b7256: 4413 add r3, r2 80b7258: 3304 adds r3, #4 80b725a: 60fb str r3, [r7, #12] ep->is_in = 0U; 80b725c: 68fb ldr r3, [r7, #12] 80b725e: 2200 movs r2, #0 80b7260: 705a strb r2, [r3, #1] } ep->is_stall = 0U; 80b7262: 68fb ldr r3, [r7, #12] 80b7264: 2200 movs r2, #0 80b7266: 709a strb r2, [r3, #2] ep->num = ep_addr & EP_ADDR_MSK; 80b7268: 78fb ldrb r3, [r7, #3] 80b726a: f003 030f and.w r3, r3, #15 80b726e: b2da uxtb r2, r3 80b7270: 68fb ldr r3, [r7, #12] 80b7272: 701a strb r2, [r3, #0] __HAL_LOCK(hpcd); 80b7274: 687b ldr r3, [r7, #4] 80b7276: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b727a: 2b01 cmp r3, #1 80b727c: d101 bne.n 80b7282 80b727e: 2302 movs r3, #2 80b7280: e00e b.n 80b72a0 80b7282: 687b ldr r3, [r7, #4] 80b7284: 2201 movs r2, #1 80b7286: f883 23bc strb.w r2, [r3, #956] ; 0x3bc (void)USB_EPClearStall(hpcd->Instance, ep); 80b728a: 687b ldr r3, [r7, #4] 80b728c: 681b ldr r3, [r3, #0] 80b728e: 68f9 ldr r1, [r7, #12] 80b7290: 4618 mov r0, r3 80b7292: f007 fffe bl 80bf292 __HAL_UNLOCK(hpcd); 80b7296: 687b ldr r3, [r7, #4] 80b7298: 2200 movs r2, #0 80b729a: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80b729e: 2300 movs r3, #0 } 80b72a0: 4618 mov r0, r3 80b72a2: 3710 adds r7, #16 80b72a4: 46bd mov sp, r7 80b72a6: bd80 pop {r7, pc} 080b72a8 : * @param hpcd PCD handle * @param ep_addr endpoint address * @retval HAL status */ HAL_StatusTypeDef HAL_PCD_EP_Flush(PCD_HandleTypeDef *hpcd, uint8_t ep_addr) { 80b72a8: b580 push {r7, lr} 80b72aa: b082 sub sp, #8 80b72ac: af00 add r7, sp, #0 80b72ae: 6078 str r0, [r7, #4] 80b72b0: 460b mov r3, r1 80b72b2: 70fb strb r3, [r7, #3] __HAL_LOCK(hpcd); 80b72b4: 687b ldr r3, [r7, #4] 80b72b6: f893 33bc ldrb.w r3, [r3, #956] ; 0x3bc 80b72ba: 2b01 cmp r3, #1 80b72bc: d101 bne.n 80b72c2 80b72be: 2302 movs r3, #2 80b72c0: e01b b.n 80b72fa 80b72c2: 687b ldr r3, [r7, #4] 80b72c4: 2201 movs r2, #1 80b72c6: f883 23bc strb.w r2, [r3, #956] ; 0x3bc if ((ep_addr & 0x80U) == 0x80U) 80b72ca: f997 3003 ldrsb.w r3, [r7, #3] 80b72ce: 2b00 cmp r3, #0 80b72d0: da09 bge.n 80b72e6 { (void)USB_FlushTxFifo(hpcd->Instance, (uint32_t)ep_addr & EP_ADDR_MSK); 80b72d2: 687b ldr r3, [r7, #4] 80b72d4: 681a ldr r2, [r3, #0] 80b72d6: 78fb ldrb r3, [r7, #3] 80b72d8: f003 030f and.w r3, r3, #15 80b72dc: 4619 mov r1, r3 80b72de: 4610 mov r0, r2 80b72e0: f007 f902 bl 80be4e8 80b72e4: e004 b.n 80b72f0 } else { (void)USB_FlushRxFifo(hpcd->Instance); 80b72e6: 687b ldr r3, [r7, #4] 80b72e8: 681b ldr r3, [r3, #0] 80b72ea: 4618 mov r0, r3 80b72ec: f007 f92e bl 80be54c } __HAL_UNLOCK(hpcd); 80b72f0: 687b ldr r3, [r7, #4] 80b72f2: 2200 movs r2, #0 80b72f4: f883 23bc strb.w r2, [r3, #956] ; 0x3bc return HAL_OK; 80b72f8: 2300 movs r3, #0 } 80b72fa: 4618 mov r0, r3 80b72fc: 3708 adds r7, #8 80b72fe: 46bd mov sp, r7 80b7300: bd80 pop {r7, pc} 080b7302 : * @param hpcd PCD handle * @param epnum endpoint number * @retval HAL status */ static HAL_StatusTypeDef PCD_WriteEmptyTxFifo(PCD_HandleTypeDef *hpcd, uint32_t epnum) { 80b7302: b580 push {r7, lr} 80b7304: b08a sub sp, #40 ; 0x28 80b7306: af02 add r7, sp, #8 80b7308: 6078 str r0, [r7, #4] 80b730a: 6039 str r1, [r7, #0] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80b730c: 687b ldr r3, [r7, #4] 80b730e: 681b ldr r3, [r3, #0] 80b7310: 617b str r3, [r7, #20] uint32_t USBx_BASE = (uint32_t)USBx; 80b7312: 697b ldr r3, [r7, #20] 80b7314: 613b str r3, [r7, #16] USB_OTG_EPTypeDef *ep; uint32_t len; uint32_t len32b; uint32_t fifoemptymsk; ep = &hpcd->IN_ep[epnum]; 80b7316: 683a ldr r2, [r7, #0] 80b7318: 4613 mov r3, r2 80b731a: 00db lsls r3, r3, #3 80b731c: 1a9b subs r3, r3, r2 80b731e: 009b lsls r3, r3, #2 80b7320: 3338 adds r3, #56 ; 0x38 80b7322: 687a ldr r2, [r7, #4] 80b7324: 4413 add r3, r2 80b7326: 3304 adds r3, #4 80b7328: 60fb str r3, [r7, #12] if (ep->xfer_count > ep->xfer_len) 80b732a: 68fb ldr r3, [r7, #12] 80b732c: 699a ldr r2, [r3, #24] 80b732e: 68fb ldr r3, [r7, #12] 80b7330: 695b ldr r3, [r3, #20] 80b7332: 429a cmp r2, r3 80b7334: d901 bls.n 80b733a { return HAL_ERROR; 80b7336: 2301 movs r3, #1 80b7338: e06d b.n 80b7416 } len = ep->xfer_len - ep->xfer_count; 80b733a: 68fb ldr r3, [r7, #12] 80b733c: 695a ldr r2, [r3, #20] 80b733e: 68fb ldr r3, [r7, #12] 80b7340: 699b ldr r3, [r3, #24] 80b7342: 1ad3 subs r3, r2, r3 80b7344: 61fb str r3, [r7, #28] if (len > ep->maxpacket) 80b7346: 68fb ldr r3, [r7, #12] 80b7348: 689a ldr r2, [r3, #8] 80b734a: 69fb ldr r3, [r7, #28] 80b734c: 429a cmp r2, r3 80b734e: d202 bcs.n 80b7356 { len = ep->maxpacket; 80b7350: 68fb ldr r3, [r7, #12] 80b7352: 689b ldr r3, [r3, #8] 80b7354: 61fb str r3, [r7, #28] } len32b = (len + 3U) / 4U; 80b7356: 69fb ldr r3, [r7, #28] 80b7358: 3303 adds r3, #3 80b735a: 089b lsrs r3, r3, #2 80b735c: 61bb str r3, [r7, #24] while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) && 80b735e: e02b b.n 80b73b8 (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) { /* Write the FIFO */ len = ep->xfer_len - ep->xfer_count; 80b7360: 68fb ldr r3, [r7, #12] 80b7362: 695a ldr r2, [r3, #20] 80b7364: 68fb ldr r3, [r7, #12] 80b7366: 699b ldr r3, [r3, #24] 80b7368: 1ad3 subs r3, r2, r3 80b736a: 61fb str r3, [r7, #28] if (len > ep->maxpacket) 80b736c: 68fb ldr r3, [r7, #12] 80b736e: 689a ldr r2, [r3, #8] 80b7370: 69fb ldr r3, [r7, #28] 80b7372: 429a cmp r2, r3 80b7374: d202 bcs.n 80b737c { len = ep->maxpacket; 80b7376: 68fb ldr r3, [r7, #12] 80b7378: 689b ldr r3, [r3, #8] 80b737a: 61fb str r3, [r7, #28] } len32b = (len + 3U) / 4U; 80b737c: 69fb ldr r3, [r7, #28] 80b737e: 3303 adds r3, #3 80b7380: 089b lsrs r3, r3, #2 80b7382: 61bb str r3, [r7, #24] (void)USB_WritePacket(USBx, ep->xfer_buff, (uint8_t)epnum, (uint16_t)len, 80b7384: 68fb ldr r3, [r7, #12] 80b7386: 68d9 ldr r1, [r3, #12] 80b7388: 683b ldr r3, [r7, #0] 80b738a: b2da uxtb r2, r3 80b738c: 69fb ldr r3, [r7, #28] 80b738e: b298 uxth r0, r3 (uint8_t)hpcd->Init.dma_enable); 80b7390: 687b ldr r3, [r7, #4] 80b7392: 691b ldr r3, [r3, #16] (void)USB_WritePacket(USBx, ep->xfer_buff, (uint8_t)epnum, (uint16_t)len, 80b7394: b2db uxtb r3, r3 80b7396: 9300 str r3, [sp, #0] 80b7398: 4603 mov r3, r0 80b739a: 6978 ldr r0, [r7, #20] 80b739c: f007 fe72 bl 80bf084 ep->xfer_buff += len; 80b73a0: 68fb ldr r3, [r7, #12] 80b73a2: 68da ldr r2, [r3, #12] 80b73a4: 69fb ldr r3, [r7, #28] 80b73a6: 441a add r2, r3 80b73a8: 68fb ldr r3, [r7, #12] 80b73aa: 60da str r2, [r3, #12] ep->xfer_count += len; 80b73ac: 68fb ldr r3, [r7, #12] 80b73ae: 699a ldr r2, [r3, #24] 80b73b0: 69fb ldr r3, [r7, #28] 80b73b2: 441a add r2, r3 80b73b4: 68fb ldr r3, [r7, #12] 80b73b6: 619a str r2, [r3, #24] while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) && 80b73b8: 683b ldr r3, [r7, #0] 80b73ba: 015a lsls r2, r3, #5 80b73bc: 693b ldr r3, [r7, #16] 80b73be: 4413 add r3, r2 80b73c0: f503 6310 add.w r3, r3, #2304 ; 0x900 80b73c4: 699b ldr r3, [r3, #24] 80b73c6: b29a uxth r2, r3 80b73c8: 69bb ldr r3, [r7, #24] 80b73ca: 429a cmp r2, r3 80b73cc: d309 bcc.n 80b73e2 (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) 80b73ce: 68fb ldr r3, [r7, #12] 80b73d0: 699a ldr r2, [r3, #24] 80b73d2: 68fb ldr r3, [r7, #12] 80b73d4: 695b ldr r3, [r3, #20] while (((USBx_INEP(epnum)->DTXFSTS & USB_OTG_DTXFSTS_INEPTFSAV) >= len32b) && 80b73d6: 429a cmp r2, r3 80b73d8: d203 bcs.n 80b73e2 (ep->xfer_count < ep->xfer_len) && (ep->xfer_len != 0U)) 80b73da: 68fb ldr r3, [r7, #12] 80b73dc: 695b ldr r3, [r3, #20] 80b73de: 2b00 cmp r3, #0 80b73e0: d1be bne.n 80b7360 } if (ep->xfer_len <= ep->xfer_count) 80b73e2: 68fb ldr r3, [r7, #12] 80b73e4: 695a ldr r2, [r3, #20] 80b73e6: 68fb ldr r3, [r7, #12] 80b73e8: 699b ldr r3, [r3, #24] 80b73ea: 429a cmp r2, r3 80b73ec: d812 bhi.n 80b7414 { fifoemptymsk = (uint32_t)(0x1UL << (epnum & EP_ADDR_MSK)); 80b73ee: 683b ldr r3, [r7, #0] 80b73f0: f003 030f and.w r3, r3, #15 80b73f4: 2201 movs r2, #1 80b73f6: fa02 f303 lsl.w r3, r2, r3 80b73fa: 60bb str r3, [r7, #8] USBx_DEVICE->DIEPEMPMSK &= ~fifoemptymsk; 80b73fc: 693b ldr r3, [r7, #16] 80b73fe: f503 6300 add.w r3, r3, #2048 ; 0x800 80b7402: 4619 mov r1, r3 80b7404: 693b ldr r3, [r7, #16] 80b7406: f503 6300 add.w r3, r3, #2048 ; 0x800 80b740a: 6b5a ldr r2, [r3, #52] ; 0x34 80b740c: 68bb ldr r3, [r7, #8] 80b740e: 43db mvns r3, r3 80b7410: 4013 ands r3, r2 80b7412: 634b str r3, [r1, #52] ; 0x34 } return HAL_OK; 80b7414: 2300 movs r3, #0 } 80b7416: 4618 mov r0, r3 80b7418: 3720 adds r7, #32 80b741a: 46bd mov sp, r7 80b741c: bd80 pop {r7, pc} ... 080b7420 : * @param hpcd PCD handle * @param epnum endpoint number * @retval HAL status */ static HAL_StatusTypeDef PCD_EP_OutXfrComplete_int(PCD_HandleTypeDef *hpcd, uint32_t epnum) { 80b7420: b580 push {r7, lr} 80b7422: b086 sub sp, #24 80b7424: af00 add r7, sp, #0 80b7426: 6078 str r0, [r7, #4] 80b7428: 6039 str r1, [r7, #0] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80b742a: 687b ldr r3, [r7, #4] 80b742c: 681b ldr r3, [r3, #0] 80b742e: 617b str r3, [r7, #20] uint32_t USBx_BASE = (uint32_t)USBx; 80b7430: 697b ldr r3, [r7, #20] 80b7432: 613b str r3, [r7, #16] uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U); 80b7434: 697b ldr r3, [r7, #20] 80b7436: 333c adds r3, #60 ; 0x3c 80b7438: 3304 adds r3, #4 80b743a: 681b ldr r3, [r3, #0] 80b743c: 60fb str r3, [r7, #12] uint32_t DoepintReg = USBx_OUTEP(epnum)->DOEPINT; 80b743e: 683b ldr r3, [r7, #0] 80b7440: 015a lsls r2, r3, #5 80b7442: 693b ldr r3, [r7, #16] 80b7444: 4413 add r3, r2 80b7446: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b744a: 689b ldr r3, [r3, #8] 80b744c: 60bb str r3, [r7, #8] if (hpcd->Init.dma_enable == 1U) 80b744e: 687b ldr r3, [r7, #4] 80b7450: 691b ldr r3, [r3, #16] 80b7452: 2b01 cmp r3, #1 80b7454: f040 80a0 bne.w 80b7598 { if ((DoepintReg & USB_OTG_DOEPINT_STUP) == USB_OTG_DOEPINT_STUP) /* Class C */ 80b7458: 68bb ldr r3, [r7, #8] 80b745a: f003 0308 and.w r3, r3, #8 80b745e: 2b00 cmp r3, #0 80b7460: d015 beq.n 80b748e { /* StupPktRcvd = 1 this is a setup packet */ if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80b7462: 68fb ldr r3, [r7, #12] 80b7464: 4a72 ldr r2, [pc, #456] ; (80b7630 ) 80b7466: 4293 cmp r3, r2 80b7468: f240 80dd bls.w 80b7626 ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 80b746c: 68bb ldr r3, [r7, #8] 80b746e: f403 4300 and.w r3, r3, #32768 ; 0x8000 if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80b7472: 2b00 cmp r3, #0 80b7474: f000 80d7 beq.w 80b7626 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80b7478: 683b ldr r3, [r7, #0] 80b747a: 015a lsls r2, r3, #5 80b747c: 693b ldr r3, [r7, #16] 80b747e: 4413 add r3, r2 80b7480: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b7484: 461a mov r2, r3 80b7486: f44f 4300 mov.w r3, #32768 ; 0x8000 80b748a: 6093 str r3, [r2, #8] 80b748c: e0cb b.n 80b7626 } } else if ((DoepintReg & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) /* Class E */ 80b748e: 68bb ldr r3, [r7, #8] 80b7490: f003 0320 and.w r3, r3, #32 80b7494: 2b00 cmp r3, #0 80b7496: d009 beq.n 80b74ac { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 80b7498: 683b ldr r3, [r7, #0] 80b749a: 015a lsls r2, r3, #5 80b749c: 693b ldr r3, [r7, #16] 80b749e: 4413 add r3, r2 80b74a0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b74a4: 461a mov r2, r3 80b74a6: 2320 movs r3, #32 80b74a8: 6093 str r3, [r2, #8] 80b74aa: e0bc b.n 80b7626 } else if ((DoepintReg & (USB_OTG_DOEPINT_STUP | USB_OTG_DOEPINT_OTEPSPR)) == 0U) 80b74ac: 68bb ldr r3, [r7, #8] 80b74ae: f003 0328 and.w r3, r3, #40 ; 0x28 80b74b2: 2b00 cmp r3, #0 80b74b4: f040 80b7 bne.w 80b7626 { /* StupPktRcvd = 1 this is a setup packet */ if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80b74b8: 68fb ldr r3, [r7, #12] 80b74ba: 4a5d ldr r2, [pc, #372] ; (80b7630 ) 80b74bc: 4293 cmp r3, r2 80b74be: d90f bls.n 80b74e0 ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 80b74c0: 68bb ldr r3, [r7, #8] 80b74c2: f403 4300 and.w r3, r3, #32768 ; 0x8000 if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80b74c6: 2b00 cmp r3, #0 80b74c8: d00a beq.n 80b74e0 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80b74ca: 683b ldr r3, [r7, #0] 80b74cc: 015a lsls r2, r3, #5 80b74ce: 693b ldr r3, [r7, #16] 80b74d0: 4413 add r3, r2 80b74d2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b74d6: 461a mov r2, r3 80b74d8: f44f 4300 mov.w r3, #32768 ; 0x8000 80b74dc: 6093 str r3, [r2, #8] 80b74de: e0a2 b.n 80b7626 } else { /* out data packet received over EP0 */ hpcd->OUT_ep[epnum].xfer_count = hpcd->OUT_ep[epnum].maxpacket - 80b74e0: 6879 ldr r1, [r7, #4] 80b74e2: 683a ldr r2, [r7, #0] 80b74e4: 4613 mov r3, r2 80b74e6: 00db lsls r3, r3, #3 80b74e8: 1a9b subs r3, r3, r2 80b74ea: 009b lsls r3, r3, #2 80b74ec: 440b add r3, r1 80b74ee: f503 7301 add.w r3, r3, #516 ; 0x204 80b74f2: 681a ldr r2, [r3, #0] (USBx_OUTEP(epnum)->DOEPTSIZ & USB_OTG_DOEPTSIZ_XFRSIZ); 80b74f4: 683b ldr r3, [r7, #0] 80b74f6: 0159 lsls r1, r3, #5 80b74f8: 693b ldr r3, [r7, #16] 80b74fa: 440b add r3, r1 80b74fc: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b7500: 691b ldr r3, [r3, #16] 80b7502: f3c3 0312 ubfx r3, r3, #0, #19 hpcd->OUT_ep[epnum].maxpacket - 80b7506: 1ad1 subs r1, r2, r3 hpcd->OUT_ep[epnum].xfer_count = 80b7508: 6878 ldr r0, [r7, #4] 80b750a: 683a ldr r2, [r7, #0] 80b750c: 4613 mov r3, r2 80b750e: 00db lsls r3, r3, #3 80b7510: 1a9b subs r3, r3, r2 80b7512: 009b lsls r3, r3, #2 80b7514: 4403 add r3, r0 80b7516: f503 7305 add.w r3, r3, #532 ; 0x214 80b751a: 6019 str r1, [r3, #0] hpcd->OUT_ep[epnum].xfer_buff += hpcd->OUT_ep[epnum].maxpacket; 80b751c: 6879 ldr r1, [r7, #4] 80b751e: 683a ldr r2, [r7, #0] 80b7520: 4613 mov r3, r2 80b7522: 00db lsls r3, r3, #3 80b7524: 1a9b subs r3, r3, r2 80b7526: 009b lsls r3, r3, #2 80b7528: 440b add r3, r1 80b752a: f503 7302 add.w r3, r3, #520 ; 0x208 80b752e: 6819 ldr r1, [r3, #0] 80b7530: 6878 ldr r0, [r7, #4] 80b7532: 683a ldr r2, [r7, #0] 80b7534: 4613 mov r3, r2 80b7536: 00db lsls r3, r3, #3 80b7538: 1a9b subs r3, r3, r2 80b753a: 009b lsls r3, r3, #2 80b753c: 4403 add r3, r0 80b753e: f503 7301 add.w r3, r3, #516 ; 0x204 80b7542: 681b ldr r3, [r3, #0] 80b7544: 4419 add r1, r3 80b7546: 6878 ldr r0, [r7, #4] 80b7548: 683a ldr r2, [r7, #0] 80b754a: 4613 mov r3, r2 80b754c: 00db lsls r3, r3, #3 80b754e: 1a9b subs r3, r3, r2 80b7550: 009b lsls r3, r3, #2 80b7552: 4403 add r3, r0 80b7554: f503 7302 add.w r3, r3, #520 ; 0x208 80b7558: 6019 str r1, [r3, #0] if ((epnum == 0U) && (hpcd->OUT_ep[epnum].xfer_len == 0U)) 80b755a: 683b ldr r3, [r7, #0] 80b755c: 2b00 cmp r3, #0 80b755e: d114 bne.n 80b758a 80b7560: 6879 ldr r1, [r7, #4] 80b7562: 683a ldr r2, [r7, #0] 80b7564: 4613 mov r3, r2 80b7566: 00db lsls r3, r3, #3 80b7568: 1a9b subs r3, r3, r2 80b756a: 009b lsls r3, r3, #2 80b756c: 440b add r3, r1 80b756e: f503 7304 add.w r3, r3, #528 ; 0x210 80b7572: 681b ldr r3, [r3, #0] 80b7574: 2b00 cmp r3, #0 80b7576: d108 bne.n 80b758a { /* this is ZLP, so prepare EP0 for next setup */ (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 80b7578: 687b ldr r3, [r7, #4] 80b757a: 6818 ldr r0, [r3, #0] 80b757c: 687b ldr r3, [r7, #4] 80b757e: f503 7371 add.w r3, r3, #964 ; 0x3c4 80b7582: 461a mov r2, r3 80b7584: 2101 movs r1, #1 80b7586: f008 f823 bl 80bf5d0 } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); 80b758a: 683b ldr r3, [r7, #0] 80b758c: b2db uxtb r3, r3 80b758e: 4619 mov r1, r3 80b7590: 6878 ldr r0, [r7, #4] 80b7592: f012 f87d bl 80c9690 80b7596: e046 b.n 80b7626 /* ... */ } } else { if (gSNPSiD == USB_OTG_CORE_ID_310A) 80b7598: 68fb ldr r3, [r7, #12] 80b759a: 4a26 ldr r2, [pc, #152] ; (80b7634 ) 80b759c: 4293 cmp r3, r2 80b759e: d124 bne.n 80b75ea { /* StupPktRcvd = 1 this is a setup packet */ if ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX) 80b75a0: 68bb ldr r3, [r7, #8] 80b75a2: f403 4300 and.w r3, r3, #32768 ; 0x8000 80b75a6: 2b00 cmp r3, #0 80b75a8: d00a beq.n 80b75c0 { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80b75aa: 683b ldr r3, [r7, #0] 80b75ac: 015a lsls r2, r3, #5 80b75ae: 693b ldr r3, [r7, #16] 80b75b0: 4413 add r3, r2 80b75b2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b75b6: 461a mov r2, r3 80b75b8: f44f 4300 mov.w r3, #32768 ; 0x8000 80b75bc: 6093 str r3, [r2, #8] 80b75be: e032 b.n 80b7626 } else { if ((DoepintReg & USB_OTG_DOEPINT_OTEPSPR) == USB_OTG_DOEPINT_OTEPSPR) 80b75c0: 68bb ldr r3, [r7, #8] 80b75c2: f003 0320 and.w r3, r3, #32 80b75c6: 2b00 cmp r3, #0 80b75c8: d008 beq.n 80b75dc { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_OTEPSPR); 80b75ca: 683b ldr r3, [r7, #0] 80b75cc: 015a lsls r2, r3, #5 80b75ce: 693b ldr r3, [r7, #16] 80b75d0: 4413 add r3, r2 80b75d2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b75d6: 461a mov r2, r3 80b75d8: 2320 movs r3, #32 80b75da: 6093 str r3, [r2, #8] } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); 80b75dc: 683b ldr r3, [r7, #0] 80b75de: b2db uxtb r3, r3 80b75e0: 4619 mov r1, r3 80b75e2: 6878 ldr r0, [r7, #4] 80b75e4: f012 f854 bl 80c9690 80b75e8: e01d b.n 80b7626 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } } else { if ((epnum == 0U) && (hpcd->OUT_ep[epnum].xfer_len == 0U)) 80b75ea: 683b ldr r3, [r7, #0] 80b75ec: 2b00 cmp r3, #0 80b75ee: d114 bne.n 80b761a 80b75f0: 6879 ldr r1, [r7, #4] 80b75f2: 683a ldr r2, [r7, #0] 80b75f4: 4613 mov r3, r2 80b75f6: 00db lsls r3, r3, #3 80b75f8: 1a9b subs r3, r3, r2 80b75fa: 009b lsls r3, r3, #2 80b75fc: 440b add r3, r1 80b75fe: f503 7304 add.w r3, r3, #528 ; 0x210 80b7602: 681b ldr r3, [r3, #0] 80b7604: 2b00 cmp r3, #0 80b7606: d108 bne.n 80b761a { /* this is ZLP, so prepare EP0 for next setup */ (void)USB_EP0_OutStart(hpcd->Instance, 0U, (uint8_t *)hpcd->Setup); 80b7608: 687b ldr r3, [r7, #4] 80b760a: 6818 ldr r0, [r3, #0] 80b760c: 687b ldr r3, [r7, #4] 80b760e: f503 7371 add.w r3, r3, #964 ; 0x3c4 80b7612: 461a mov r2, r3 80b7614: 2100 movs r1, #0 80b7616: f007 ffdb bl 80bf5d0 } #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->DataOutStageCallback(hpcd, (uint8_t)epnum); #else HAL_PCD_DataOutStageCallback(hpcd, (uint8_t)epnum); 80b761a: 683b ldr r3, [r7, #0] 80b761c: b2db uxtb r3, r3 80b761e: 4619 mov r1, r3 80b7620: 6878 ldr r0, [r7, #4] 80b7622: f012 f835 bl 80c9690 #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ } } return HAL_OK; 80b7626: 2300 movs r3, #0 } 80b7628: 4618 mov r0, r3 80b762a: 3718 adds r7, #24 80b762c: 46bd mov sp, r7 80b762e: bd80 pop {r7, pc} 80b7630: 4f54300a .word 0x4f54300a 80b7634: 4f54310a .word 0x4f54310a 080b7638 : * @param hpcd PCD handle * @param epnum endpoint number * @retval HAL status */ static HAL_StatusTypeDef PCD_EP_OutSetupPacket_int(PCD_HandleTypeDef *hpcd, uint32_t epnum) { 80b7638: b580 push {r7, lr} 80b763a: b086 sub sp, #24 80b763c: af00 add r7, sp, #0 80b763e: 6078 str r0, [r7, #4] 80b7640: 6039 str r1, [r7, #0] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80b7642: 687b ldr r3, [r7, #4] 80b7644: 681b ldr r3, [r3, #0] 80b7646: 617b str r3, [r7, #20] uint32_t USBx_BASE = (uint32_t)USBx; 80b7648: 697b ldr r3, [r7, #20] 80b764a: 613b str r3, [r7, #16] uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U); 80b764c: 697b ldr r3, [r7, #20] 80b764e: 333c adds r3, #60 ; 0x3c 80b7650: 3304 adds r3, #4 80b7652: 681b ldr r3, [r3, #0] 80b7654: 60fb str r3, [r7, #12] uint32_t DoepintReg = USBx_OUTEP(epnum)->DOEPINT; 80b7656: 683b ldr r3, [r7, #0] 80b7658: 015a lsls r2, r3, #5 80b765a: 693b ldr r3, [r7, #16] 80b765c: 4413 add r3, r2 80b765e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b7662: 689b ldr r3, [r3, #8] 80b7664: 60bb str r3, [r7, #8] if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80b7666: 68fb ldr r3, [r7, #12] 80b7668: 4a15 ldr r2, [pc, #84] ; (80b76c0 ) 80b766a: 4293 cmp r3, r2 80b766c: d90e bls.n 80b768c ((DoepintReg & USB_OTG_DOEPINT_STPKTRX) == USB_OTG_DOEPINT_STPKTRX)) 80b766e: 68bb ldr r3, [r7, #8] 80b7670: f403 4300 and.w r3, r3, #32768 ; 0x8000 if ((gSNPSiD > USB_OTG_CORE_ID_300A) && 80b7674: 2b00 cmp r3, #0 80b7676: d009 beq.n 80b768c { CLEAR_OUT_EP_INTR(epnum, USB_OTG_DOEPINT_STPKTRX); 80b7678: 683b ldr r3, [r7, #0] 80b767a: 015a lsls r2, r3, #5 80b767c: 693b ldr r3, [r7, #16] 80b767e: 4413 add r3, r2 80b7680: f503 6330 add.w r3, r3, #2816 ; 0xb00 80b7684: 461a mov r2, r3 80b7686: f44f 4300 mov.w r3, #32768 ; 0x8000 80b768a: 6093 str r3, [r2, #8] /* Inform the upper layer that a setup packet is available */ #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) hpcd->SetupStageCallback(hpcd); #else HAL_PCD_SetupStageCallback(hpcd); 80b768c: 6878 ldr r0, [r7, #4] 80b768e: f011 ffed bl 80c966c #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ if ((gSNPSiD > USB_OTG_CORE_ID_300A) && (hpcd->Init.dma_enable == 1U)) 80b7692: 68fb ldr r3, [r7, #12] 80b7694: 4a0a ldr r2, [pc, #40] ; (80b76c0 ) 80b7696: 4293 cmp r3, r2 80b7698: d90c bls.n 80b76b4 80b769a: 687b ldr r3, [r7, #4] 80b769c: 691b ldr r3, [r3, #16] 80b769e: 2b01 cmp r3, #1 80b76a0: d108 bne.n 80b76b4 { (void)USB_EP0_OutStart(hpcd->Instance, 1U, (uint8_t *)hpcd->Setup); 80b76a2: 687b ldr r3, [r7, #4] 80b76a4: 6818 ldr r0, [r3, #0] 80b76a6: 687b ldr r3, [r7, #4] 80b76a8: f503 7371 add.w r3, r3, #964 ; 0x3c4 80b76ac: 461a mov r2, r3 80b76ae: 2101 movs r1, #1 80b76b0: f007 ff8e bl 80bf5d0 } return HAL_OK; 80b76b4: 2300 movs r3, #0 } 80b76b6: 4618 mov r0, r3 80b76b8: 3718 adds r7, #24 80b76ba: 46bd mov sp, r7 80b76bc: bd80 pop {r7, pc} 80b76be: bf00 nop 80b76c0: 4f54300a .word 0x4f54300a 080b76c4 : * @param fifo The number of Tx fifo * @param size Fifo size * @retval HAL status */ HAL_StatusTypeDef HAL_PCDEx_SetTxFiFo(PCD_HandleTypeDef *hpcd, uint8_t fifo, uint16_t size) { 80b76c4: b480 push {r7} 80b76c6: b085 sub sp, #20 80b76c8: af00 add r7, sp, #0 80b76ca: 6078 str r0, [r7, #4] 80b76cc: 460b mov r3, r1 80b76ce: 70fb strb r3, [r7, #3] 80b76d0: 4613 mov r3, r2 80b76d2: 803b strh r3, [r7, #0] --> Txn should be configured with the minimum space of 16 words The FIFO is used optimally when used TxFIFOs are allocated in the top of the FIFO.Ex: use EP1 and EP2 as IN instead of EP1 and EP3 as IN ones. When DMA is used 3n * FIFO locations should be reserved for internal DMA registers */ Tx_Offset = hpcd->Instance->GRXFSIZ; 80b76d4: 687b ldr r3, [r7, #4] 80b76d6: 681b ldr r3, [r3, #0] 80b76d8: 6a5b ldr r3, [r3, #36] ; 0x24 80b76da: 60bb str r3, [r7, #8] if (fifo == 0U) 80b76dc: 78fb ldrb r3, [r7, #3] 80b76de: 2b00 cmp r3, #0 80b76e0: d107 bne.n 80b76f2 { hpcd->Instance->DIEPTXF0_HNPTXFSIZ = ((uint32_t)size << 16) | Tx_Offset; 80b76e2: 687b ldr r3, [r7, #4] 80b76e4: 681b ldr r3, [r3, #0] 80b76e6: 883a ldrh r2, [r7, #0] 80b76e8: 0411 lsls r1, r2, #16 80b76ea: 68ba ldr r2, [r7, #8] 80b76ec: 430a orrs r2, r1 80b76ee: 629a str r2, [r3, #40] ; 0x28 80b76f0: e028 b.n 80b7744 } else { Tx_Offset += (hpcd->Instance->DIEPTXF0_HNPTXFSIZ) >> 16; 80b76f2: 687b ldr r3, [r7, #4] 80b76f4: 681b ldr r3, [r3, #0] 80b76f6: 6a9b ldr r3, [r3, #40] ; 0x28 80b76f8: 0c1b lsrs r3, r3, #16 80b76fa: 68ba ldr r2, [r7, #8] 80b76fc: 4413 add r3, r2 80b76fe: 60bb str r3, [r7, #8] for (i = 0U; i < (fifo - 1U); i++) 80b7700: 2300 movs r3, #0 80b7702: 73fb strb r3, [r7, #15] 80b7704: e00d b.n 80b7722 { Tx_Offset += (hpcd->Instance->DIEPTXF[i] >> 16); 80b7706: 687b ldr r3, [r7, #4] 80b7708: 681a ldr r2, [r3, #0] 80b770a: 7bfb ldrb r3, [r7, #15] 80b770c: 3340 adds r3, #64 ; 0x40 80b770e: 009b lsls r3, r3, #2 80b7710: 4413 add r3, r2 80b7712: 685b ldr r3, [r3, #4] 80b7714: 0c1b lsrs r3, r3, #16 80b7716: 68ba ldr r2, [r7, #8] 80b7718: 4413 add r3, r2 80b771a: 60bb str r3, [r7, #8] for (i = 0U; i < (fifo - 1U); i++) 80b771c: 7bfb ldrb r3, [r7, #15] 80b771e: 3301 adds r3, #1 80b7720: 73fb strb r3, [r7, #15] 80b7722: 7bfa ldrb r2, [r7, #15] 80b7724: 78fb ldrb r3, [r7, #3] 80b7726: 3b01 subs r3, #1 80b7728: 429a cmp r2, r3 80b772a: d3ec bcc.n 80b7706 } /* Multiply Tx_Size by 2 to get higher performance */ hpcd->Instance->DIEPTXF[fifo - 1U] = ((uint32_t)size << 16) | Tx_Offset; 80b772c: 687b ldr r3, [r7, #4] 80b772e: 6819 ldr r1, [r3, #0] 80b7730: 78fb ldrb r3, [r7, #3] 80b7732: 3b01 subs r3, #1 80b7734: 883a ldrh r2, [r7, #0] 80b7736: 0410 lsls r0, r2, #16 80b7738: 68ba ldr r2, [r7, #8] 80b773a: 4302 orrs r2, r0 80b773c: 3340 adds r3, #64 ; 0x40 80b773e: 009b lsls r3, r3, #2 80b7740: 440b add r3, r1 80b7742: 605a str r2, [r3, #4] } return HAL_OK; 80b7744: 2300 movs r3, #0 } 80b7746: 4618 mov r0, r3 80b7748: 3714 adds r7, #20 80b774a: 46bd mov sp, r7 80b774c: f85d 7b04 ldr.w r7, [sp], #4 80b7750: 4770 bx lr 080b7752 : * @param hpcd PCD handle * @param size Size of Rx fifo * @retval HAL status */ HAL_StatusTypeDef HAL_PCDEx_SetRxFiFo(PCD_HandleTypeDef *hpcd, uint16_t size) { 80b7752: b480 push {r7} 80b7754: b083 sub sp, #12 80b7756: af00 add r7, sp, #0 80b7758: 6078 str r0, [r7, #4] 80b775a: 460b mov r3, r1 80b775c: 807b strh r3, [r7, #2] hpcd->Instance->GRXFSIZ = size; 80b775e: 687b ldr r3, [r7, #4] 80b7760: 681b ldr r3, [r3, #0] 80b7762: 887a ldrh r2, [r7, #2] 80b7764: 625a str r2, [r3, #36] ; 0x24 return HAL_OK; 80b7766: 2300 movs r3, #0 } 80b7768: 4618 mov r0, r3 80b776a: 370c adds r7, #12 80b776c: 46bd mov sp, r7 80b776e: f85d 7b04 ldr.w r7, [sp], #4 80b7772: 4770 bx lr 080b7774 : * @brief Activate LPM feature. * @param hpcd PCD handle * @retval HAL status */ HAL_StatusTypeDef HAL_PCDEx_ActivateLPM(PCD_HandleTypeDef *hpcd) { 80b7774: b480 push {r7} 80b7776: b085 sub sp, #20 80b7778: af00 add r7, sp, #0 80b777a: 6078 str r0, [r7, #4] USB_OTG_GlobalTypeDef *USBx = hpcd->Instance; 80b777c: 687b ldr r3, [r7, #4] 80b777e: 681b ldr r3, [r3, #0] 80b7780: 60fb str r3, [r7, #12] hpcd->lpm_active = 1U; 80b7782: 687b ldr r3, [r7, #4] 80b7784: 2201 movs r2, #1 80b7786: f8c3 23fc str.w r2, [r3, #1020] ; 0x3fc hpcd->LPM_State = LPM_L0; 80b778a: 687b ldr r3, [r7, #4] 80b778c: 2200 movs r2, #0 80b778e: f883 23f4 strb.w r2, [r3, #1012] ; 0x3f4 USBx->GINTMSK |= USB_OTG_GINTMSK_LPMINTM; 80b7792: 68fb ldr r3, [r7, #12] 80b7794: 699b ldr r3, [r3, #24] 80b7796: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80b779a: 68fb ldr r3, [r7, #12] 80b779c: 619a str r2, [r3, #24] USBx->GLPMCFG |= (USB_OTG_GLPMCFG_LPMEN | USB_OTG_GLPMCFG_LPMACK | USB_OTG_GLPMCFG_ENBESL); 80b779e: 68fb ldr r3, [r7, #12] 80b77a0: 6d5a ldr r2, [r3, #84] ; 0x54 80b77a2: 4b05 ldr r3, [pc, #20] ; (80b77b8 ) 80b77a4: 4313 orrs r3, r2 80b77a6: 68fa ldr r2, [r7, #12] 80b77a8: 6553 str r3, [r2, #84] ; 0x54 return HAL_OK; 80b77aa: 2300 movs r3, #0 } 80b77ac: 4618 mov r0, r3 80b77ae: 3714 adds r7, #20 80b77b0: 46bd mov sp, r7 80b77b2: f85d 7b04 ldr.w r7, [sp], #4 80b77b6: 4770 bx lr 80b77b8: 10000003 .word 0x10000003 080b77bc : * @note If the HSE divided by 2, 3, ..31 is used as the RTC clock, the * Backup Domain Access should be kept enabled. * @retval None */ void HAL_PWR_EnableBkUpAccess(void) { 80b77bc: b480 push {r7} 80b77be: af00 add r7, sp, #0 /* Enable access to RTC and backup registers */ SET_BIT(PWR->CR1, PWR_CR1_DBP); 80b77c0: 4a05 ldr r2, [pc, #20] ; (80b77d8 ) 80b77c2: 4b05 ldr r3, [pc, #20] ; (80b77d8 ) 80b77c4: 681b ldr r3, [r3, #0] 80b77c6: f443 7380 orr.w r3, r3, #256 ; 0x100 80b77ca: 6013 str r3, [r2, #0] } 80b77cc: bf00 nop 80b77ce: 46bd mov sp, r7 80b77d0: f85d 7b04 ldr.w r7, [sp], #4 80b77d4: 4770 bx lr 80b77d6: bf00 nop 80b77d8: 40007000 .word 0x40007000 080b77dc : * During the Over-drive switch activation, no peripheral clocks should be enabled. * The peripheral clocks must be enabled once the Over-drive mode is activated. * @retval HAL status */ HAL_StatusTypeDef HAL_PWREx_EnableOverDrive(void) { 80b77dc: b580 push {r7, lr} 80b77de: b082 sub sp, #8 80b77e0: af00 add r7, sp, #0 uint32_t tickstart = 0; 80b77e2: 2300 movs r3, #0 80b77e4: 607b str r3, [r7, #4] __HAL_RCC_PWR_CLK_ENABLE(); 80b77e6: 4a23 ldr r2, [pc, #140] ; (80b7874 ) 80b77e8: 4b22 ldr r3, [pc, #136] ; (80b7874 ) 80b77ea: 6c1b ldr r3, [r3, #64] ; 0x40 80b77ec: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80b77f0: 6413 str r3, [r2, #64] ; 0x40 80b77f2: 4b20 ldr r3, [pc, #128] ; (80b7874 ) 80b77f4: 6c1b ldr r3, [r3, #64] ; 0x40 80b77f6: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80b77fa: 603b str r3, [r7, #0] 80b77fc: 683b ldr r3, [r7, #0] /* Enable the Over-drive to extend the clock frequency to 216 MHz */ __HAL_PWR_OVERDRIVE_ENABLE(); 80b77fe: 4a1e ldr r2, [pc, #120] ; (80b7878 ) 80b7800: 4b1d ldr r3, [pc, #116] ; (80b7878 ) 80b7802: 681b ldr r3, [r3, #0] 80b7804: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b7808: 6013 str r3, [r2, #0] /* Get tick */ tickstart = HAL_GetTick(); 80b780a: f7fb fd31 bl 80b3270 80b780e: 6078 str r0, [r7, #4] while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODRDY)) 80b7810: e009 b.n 80b7826 { if((HAL_GetTick() - tickstart ) > PWR_OVERDRIVE_TIMEOUT_VALUE) 80b7812: f7fb fd2d bl 80b3270 80b7816: 4602 mov r2, r0 80b7818: 687b ldr r3, [r7, #4] 80b781a: 1ad3 subs r3, r2, r3 80b781c: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80b7820: d901 bls.n 80b7826 { return HAL_TIMEOUT; 80b7822: 2303 movs r3, #3 80b7824: e022 b.n 80b786c while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODRDY)) 80b7826: 4b14 ldr r3, [pc, #80] ; (80b7878 ) 80b7828: 685b ldr r3, [r3, #4] 80b782a: f403 3380 and.w r3, r3, #65536 ; 0x10000 80b782e: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80b7832: d1ee bne.n 80b7812 } } /* Enable the Over-drive switch */ __HAL_PWR_OVERDRIVESWITCHING_ENABLE(); 80b7834: 4a10 ldr r2, [pc, #64] ; (80b7878 ) 80b7836: 4b10 ldr r3, [pc, #64] ; (80b7878 ) 80b7838: 681b ldr r3, [r3, #0] 80b783a: f443 3300 orr.w r3, r3, #131072 ; 0x20000 80b783e: 6013 str r3, [r2, #0] /* Get tick */ tickstart = HAL_GetTick(); 80b7840: f7fb fd16 bl 80b3270 80b7844: 6078 str r0, [r7, #4] while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODSWRDY)) 80b7846: e009 b.n 80b785c { if((HAL_GetTick() - tickstart ) > PWR_OVERDRIVE_TIMEOUT_VALUE) 80b7848: f7fb fd12 bl 80b3270 80b784c: 4602 mov r2, r0 80b784e: 687b ldr r3, [r7, #4] 80b7850: 1ad3 subs r3, r2, r3 80b7852: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80b7856: d901 bls.n 80b785c { return HAL_TIMEOUT; 80b7858: 2303 movs r3, #3 80b785a: e007 b.n 80b786c while(!__HAL_PWR_GET_FLAG(PWR_FLAG_ODSWRDY)) 80b785c: 4b06 ldr r3, [pc, #24] ; (80b7878 ) 80b785e: 685b ldr r3, [r3, #4] 80b7860: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b7864: f5b3 3f00 cmp.w r3, #131072 ; 0x20000 80b7868: d1ee bne.n 80b7848 } } return HAL_OK; 80b786a: 2300 movs r3, #0 } 80b786c: 4618 mov r0, r3 80b786e: 3708 adds r7, #8 80b7870: 46bd mov sp, r7 80b7872: bd80 pop {r7, pc} 80b7874: 40023800 .word 0x40023800 80b7878: 40007000 .word 0x40007000 080b787c : * supported by this function. User should request a transition to HSE Off * first and then HSE On or HSE Bypass. * @retval HAL status */ HAL_StatusTypeDef HAL_RCC_OscConfig(RCC_OscInitTypeDef *RCC_OscInitStruct) { 80b787c: b580 push {r7, lr} 80b787e: b086 sub sp, #24 80b7880: af00 add r7, sp, #0 80b7882: 6078 str r0, [r7, #4] uint32_t tickstart; uint32_t pll_config; FlagStatus pwrclkchanged = RESET; 80b7884: 2300 movs r3, #0 80b7886: 75fb strb r3, [r7, #23] /* Check Null pointer */ if (RCC_OscInitStruct == NULL) 80b7888: 687b ldr r3, [r7, #4] 80b788a: 2b00 cmp r3, #0 80b788c: d101 bne.n 80b7892 { return HAL_ERROR; 80b788e: 2301 movs r3, #1 80b7890: e29b b.n 80b7dca /* Check the parameters */ assert_param(IS_RCC_OSCILLATORTYPE(RCC_OscInitStruct->OscillatorType)); /*------------------------------- HSE Configuration ------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSE) == RCC_OSCILLATORTYPE_HSE) 80b7892: 687b ldr r3, [r7, #4] 80b7894: 681b ldr r3, [r3, #0] 80b7896: f003 0301 and.w r3, r3, #1 80b789a: 2b00 cmp r3, #0 80b789c: f000 8087 beq.w 80b79ae { /* Check the parameters */ assert_param(IS_RCC_HSE(RCC_OscInitStruct->HSEState)); /* When the HSE is used as system clock or clock source for PLL, It can not be disabled */ if ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSE) 80b78a0: 4b96 ldr r3, [pc, #600] ; (80b7afc ) 80b78a2: 689b ldr r3, [r3, #8] 80b78a4: f003 030c and.w r3, r3, #12 80b78a8: 2b04 cmp r3, #4 80b78aa: d00c beq.n 80b78c6 || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSE))) 80b78ac: 4b93 ldr r3, [pc, #588] ; (80b7afc ) 80b78ae: 689b ldr r3, [r3, #8] 80b78b0: f003 030c and.w r3, r3, #12 80b78b4: 2b08 cmp r3, #8 80b78b6: d112 bne.n 80b78de 80b78b8: 4b90 ldr r3, [pc, #576] ; (80b7afc ) 80b78ba: 685b ldr r3, [r3, #4] 80b78bc: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80b78c0: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 80b78c4: d10b bne.n 80b78de { if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) 80b78c6: 4b8d ldr r3, [pc, #564] ; (80b7afc ) 80b78c8: 681b ldr r3, [r3, #0] 80b78ca: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b78ce: 2b00 cmp r3, #0 80b78d0: d06c beq.n 80b79ac 80b78d2: 687b ldr r3, [r7, #4] 80b78d4: 685b ldr r3, [r3, #4] 80b78d6: 2b00 cmp r3, #0 80b78d8: d168 bne.n 80b79ac { return HAL_ERROR; 80b78da: 2301 movs r3, #1 80b78dc: e275 b.n 80b7dca } } else { /* Set the new HSE configuration ---------------------------------------*/ __HAL_RCC_HSE_CONFIG(RCC_OscInitStruct->HSEState); 80b78de: 687b ldr r3, [r7, #4] 80b78e0: 685b ldr r3, [r3, #4] 80b78e2: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80b78e6: d106 bne.n 80b78f6 80b78e8: 4a84 ldr r2, [pc, #528] ; (80b7afc ) 80b78ea: 4b84 ldr r3, [pc, #528] ; (80b7afc ) 80b78ec: 681b ldr r3, [r3, #0] 80b78ee: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b78f2: 6013 str r3, [r2, #0] 80b78f4: e02e b.n 80b7954 80b78f6: 687b ldr r3, [r7, #4] 80b78f8: 685b ldr r3, [r3, #4] 80b78fa: 2b00 cmp r3, #0 80b78fc: d10c bne.n 80b7918 80b78fe: 4a7f ldr r2, [pc, #508] ; (80b7afc ) 80b7900: 4b7e ldr r3, [pc, #504] ; (80b7afc ) 80b7902: 681b ldr r3, [r3, #0] 80b7904: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80b7908: 6013 str r3, [r2, #0] 80b790a: 4a7c ldr r2, [pc, #496] ; (80b7afc ) 80b790c: 4b7b ldr r3, [pc, #492] ; (80b7afc ) 80b790e: 681b ldr r3, [r3, #0] 80b7910: f423 2380 bic.w r3, r3, #262144 ; 0x40000 80b7914: 6013 str r3, [r2, #0] 80b7916: e01d b.n 80b7954 80b7918: 687b ldr r3, [r7, #4] 80b791a: 685b ldr r3, [r3, #4] 80b791c: f5b3 2fa0 cmp.w r3, #327680 ; 0x50000 80b7920: d10c bne.n 80b793c 80b7922: 4a76 ldr r2, [pc, #472] ; (80b7afc ) 80b7924: 4b75 ldr r3, [pc, #468] ; (80b7afc ) 80b7926: 681b ldr r3, [r3, #0] 80b7928: f443 2380 orr.w r3, r3, #262144 ; 0x40000 80b792c: 6013 str r3, [r2, #0] 80b792e: 4a73 ldr r2, [pc, #460] ; (80b7afc ) 80b7930: 4b72 ldr r3, [pc, #456] ; (80b7afc ) 80b7932: 681b ldr r3, [r3, #0] 80b7934: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b7938: 6013 str r3, [r2, #0] 80b793a: e00b b.n 80b7954 80b793c: 4a6f ldr r2, [pc, #444] ; (80b7afc ) 80b793e: 4b6f ldr r3, [pc, #444] ; (80b7afc ) 80b7940: 681b ldr r3, [r3, #0] 80b7942: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80b7946: 6013 str r3, [r2, #0] 80b7948: 4a6c ldr r2, [pc, #432] ; (80b7afc ) 80b794a: 4b6c ldr r3, [pc, #432] ; (80b7afc ) 80b794c: 681b ldr r3, [r3, #0] 80b794e: f423 2380 bic.w r3, r3, #262144 ; 0x40000 80b7952: 6013 str r3, [r2, #0] /* Check the HSE State */ if (RCC_OscInitStruct->HSEState != RCC_HSE_OFF) 80b7954: 687b ldr r3, [r7, #4] 80b7956: 685b ldr r3, [r3, #4] 80b7958: 2b00 cmp r3, #0 80b795a: d013 beq.n 80b7984 { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b795c: f7fb fc88 bl 80b3270 80b7960: 6138 str r0, [r7, #16] /* Wait till HSE is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 80b7962: e008 b.n 80b7976 { if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) 80b7964: f7fb fc84 bl 80b3270 80b7968: 4602 mov r2, r0 80b796a: 693b ldr r3, [r7, #16] 80b796c: 1ad3 subs r3, r2, r3 80b796e: 2b64 cmp r3, #100 ; 0x64 80b7970: d901 bls.n 80b7976 { return HAL_TIMEOUT; 80b7972: 2303 movs r3, #3 80b7974: e229 b.n 80b7dca while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 80b7976: 4b61 ldr r3, [pc, #388] ; (80b7afc ) 80b7978: 681b ldr r3, [r3, #0] 80b797a: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b797e: 2b00 cmp r3, #0 80b7980: d0f0 beq.n 80b7964 80b7982: e014 b.n 80b79ae } } else { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7984: f7fb fc74 bl 80b3270 80b7988: 6138 str r0, [r7, #16] /* Wait till HSE is bypassed or disabled */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) 80b798a: e008 b.n 80b799e { if ((HAL_GetTick() - tickstart) > HSE_TIMEOUT_VALUE) 80b798c: f7fb fc70 bl 80b3270 80b7990: 4602 mov r2, r0 80b7992: 693b ldr r3, [r7, #16] 80b7994: 1ad3 subs r3, r2, r3 80b7996: 2b64 cmp r3, #100 ; 0x64 80b7998: d901 bls.n 80b799e { return HAL_TIMEOUT; 80b799a: 2303 movs r3, #3 80b799c: e215 b.n 80b7dca while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) 80b799e: 4b57 ldr r3, [pc, #348] ; (80b7afc ) 80b79a0: 681b ldr r3, [r3, #0] 80b79a2: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b79a6: 2b00 cmp r3, #0 80b79a8: d1f0 bne.n 80b798c 80b79aa: e000 b.n 80b79ae if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) != RESET) && (RCC_OscInitStruct->HSEState == RCC_HSE_OFF)) 80b79ac: bf00 nop } } } } /*----------------------------- HSI Configuration --------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_HSI) == RCC_OSCILLATORTYPE_HSI) 80b79ae: 687b ldr r3, [r7, #4] 80b79b0: 681b ldr r3, [r3, #0] 80b79b2: f003 0302 and.w r3, r3, #2 80b79b6: 2b00 cmp r3, #0 80b79b8: d069 beq.n 80b7a8e /* Check the parameters */ assert_param(IS_RCC_HSI(RCC_OscInitStruct->HSIState)); assert_param(IS_RCC_CALIBRATION_VALUE(RCC_OscInitStruct->HSICalibrationValue)); /* Check if HSI is used as system clock or as PLL source when PLL is selected as system clock */ if ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_HSI) 80b79ba: 4b50 ldr r3, [pc, #320] ; (80b7afc ) 80b79bc: 689b ldr r3, [r3, #8] 80b79be: f003 030c and.w r3, r3, #12 80b79c2: 2b00 cmp r3, #0 80b79c4: d00b beq.n 80b79de || ((__HAL_RCC_GET_SYSCLK_SOURCE() == RCC_SYSCLKSOURCE_STATUS_PLLCLK) && ((RCC->PLLCFGR & RCC_PLLCFGR_PLLSRC) == RCC_PLLCFGR_PLLSRC_HSI))) 80b79c6: 4b4d ldr r3, [pc, #308] ; (80b7afc ) 80b79c8: 689b ldr r3, [r3, #8] 80b79ca: f003 030c and.w r3, r3, #12 80b79ce: 2b08 cmp r3, #8 80b79d0: d11c bne.n 80b7a0c 80b79d2: 4b4a ldr r3, [pc, #296] ; (80b7afc ) 80b79d4: 685b ldr r3, [r3, #4] 80b79d6: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80b79da: 2b00 cmp r3, #0 80b79dc: d116 bne.n 80b7a0c { /* When HSI is used as system clock it will not disabled */ if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON)) 80b79de: 4b47 ldr r3, [pc, #284] ; (80b7afc ) 80b79e0: 681b ldr r3, [r3, #0] 80b79e2: f003 0302 and.w r3, r3, #2 80b79e6: 2b00 cmp r3, #0 80b79e8: d005 beq.n 80b79f6 80b79ea: 687b ldr r3, [r7, #4] 80b79ec: 68db ldr r3, [r3, #12] 80b79ee: 2b01 cmp r3, #1 80b79f0: d001 beq.n 80b79f6 { return HAL_ERROR; 80b79f2: 2301 movs r3, #1 80b79f4: e1e9 b.n 80b7dca } /* Otherwise, just the calibration is allowed */ else { /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 80b79f6: 4941 ldr r1, [pc, #260] ; (80b7afc ) 80b79f8: 4b40 ldr r3, [pc, #256] ; (80b7afc ) 80b79fa: 681b ldr r3, [r3, #0] 80b79fc: f023 02f8 bic.w r2, r3, #248 ; 0xf8 80b7a00: 687b ldr r3, [r7, #4] 80b7a02: 691b ldr r3, [r3, #16] 80b7a04: 00db lsls r3, r3, #3 80b7a06: 4313 orrs r3, r2 80b7a08: 600b str r3, [r1, #0] if ((__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) && (RCC_OscInitStruct->HSIState != RCC_HSI_ON)) 80b7a0a: e040 b.n 80b7a8e } } else { /* Check the HSI State */ if ((RCC_OscInitStruct->HSIState) != RCC_HSI_OFF) 80b7a0c: 687b ldr r3, [r7, #4] 80b7a0e: 68db ldr r3, [r3, #12] 80b7a10: 2b00 cmp r3, #0 80b7a12: d023 beq.n 80b7a5c { /* Enable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_ENABLE(); 80b7a14: 4a39 ldr r2, [pc, #228] ; (80b7afc ) 80b7a16: 4b39 ldr r3, [pc, #228] ; (80b7afc ) 80b7a18: 681b ldr r3, [r3, #0] 80b7a1a: f043 0301 orr.w r3, r3, #1 80b7a1e: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7a20: f7fb fc26 bl 80b3270 80b7a24: 6138 str r0, [r7, #16] /* Wait till HSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 80b7a26: e008 b.n 80b7a3a { if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 80b7a28: f7fb fc22 bl 80b3270 80b7a2c: 4602 mov r2, r0 80b7a2e: 693b ldr r3, [r7, #16] 80b7a30: 1ad3 subs r3, r2, r3 80b7a32: 2b02 cmp r3, #2 80b7a34: d901 bls.n 80b7a3a { return HAL_TIMEOUT; 80b7a36: 2303 movs r3, #3 80b7a38: e1c7 b.n 80b7dca while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 80b7a3a: 4b30 ldr r3, [pc, #192] ; (80b7afc ) 80b7a3c: 681b ldr r3, [r3, #0] 80b7a3e: f003 0302 and.w r3, r3, #2 80b7a42: 2b00 cmp r3, #0 80b7a44: d0f0 beq.n 80b7a28 } } /* Adjusts the Internal High Speed oscillator (HSI) calibration value.*/ __HAL_RCC_HSI_CALIBRATIONVALUE_ADJUST(RCC_OscInitStruct->HSICalibrationValue); 80b7a46: 492d ldr r1, [pc, #180] ; (80b7afc ) 80b7a48: 4b2c ldr r3, [pc, #176] ; (80b7afc ) 80b7a4a: 681b ldr r3, [r3, #0] 80b7a4c: f023 02f8 bic.w r2, r3, #248 ; 0xf8 80b7a50: 687b ldr r3, [r7, #4] 80b7a52: 691b ldr r3, [r3, #16] 80b7a54: 00db lsls r3, r3, #3 80b7a56: 4313 orrs r3, r2 80b7a58: 600b str r3, [r1, #0] 80b7a5a: e018 b.n 80b7a8e } else { /* Disable the Internal High Speed oscillator (HSI). */ __HAL_RCC_HSI_DISABLE(); 80b7a5c: 4a27 ldr r2, [pc, #156] ; (80b7afc ) 80b7a5e: 4b27 ldr r3, [pc, #156] ; (80b7afc ) 80b7a60: 681b ldr r3, [r3, #0] 80b7a62: f023 0301 bic.w r3, r3, #1 80b7a66: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7a68: f7fb fc02 bl 80b3270 80b7a6c: 6138 str r0, [r7, #16] /* Wait till HSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) 80b7a6e: e008 b.n 80b7a82 { if ((HAL_GetTick() - tickstart) > HSI_TIMEOUT_VALUE) 80b7a70: f7fb fbfe bl 80b3270 80b7a74: 4602 mov r2, r0 80b7a76: 693b ldr r3, [r7, #16] 80b7a78: 1ad3 subs r3, r2, r3 80b7a7a: 2b02 cmp r3, #2 80b7a7c: d901 bls.n 80b7a82 { return HAL_TIMEOUT; 80b7a7e: 2303 movs r3, #3 80b7a80: e1a3 b.n 80b7dca while (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) != RESET) 80b7a82: 4b1e ldr r3, [pc, #120] ; (80b7afc ) 80b7a84: 681b ldr r3, [r3, #0] 80b7a86: f003 0302 and.w r3, r3, #2 80b7a8a: 2b00 cmp r3, #0 80b7a8c: d1f0 bne.n 80b7a70 } } } } /*------------------------------ LSI Configuration -------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSI) == RCC_OSCILLATORTYPE_LSI) 80b7a8e: 687b ldr r3, [r7, #4] 80b7a90: 681b ldr r3, [r3, #0] 80b7a92: f003 0308 and.w r3, r3, #8 80b7a96: 2b00 cmp r3, #0 80b7a98: d038 beq.n 80b7b0c { /* Check the parameters */ assert_param(IS_RCC_LSI(RCC_OscInitStruct->LSIState)); /* Check the LSI State */ if ((RCC_OscInitStruct->LSIState) != RCC_LSI_OFF) 80b7a9a: 687b ldr r3, [r7, #4] 80b7a9c: 695b ldr r3, [r3, #20] 80b7a9e: 2b00 cmp r3, #0 80b7aa0: d019 beq.n 80b7ad6 { /* Enable the Internal Low Speed oscillator (LSI). */ __HAL_RCC_LSI_ENABLE(); 80b7aa2: 4a16 ldr r2, [pc, #88] ; (80b7afc ) 80b7aa4: 4b15 ldr r3, [pc, #84] ; (80b7afc ) 80b7aa6: 6f5b ldr r3, [r3, #116] ; 0x74 80b7aa8: f043 0301 orr.w r3, r3, #1 80b7aac: 6753 str r3, [r2, #116] ; 0x74 /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7aae: f7fb fbdf bl 80b3270 80b7ab2: 6138 str r0, [r7, #16] /* Wait till LSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) 80b7ab4: e008 b.n 80b7ac8 { if ((HAL_GetTick() - tickstart) > LSI_TIMEOUT_VALUE) 80b7ab6: f7fb fbdb bl 80b3270 80b7aba: 4602 mov r2, r0 80b7abc: 693b ldr r3, [r7, #16] 80b7abe: 1ad3 subs r3, r2, r3 80b7ac0: 2b02 cmp r3, #2 80b7ac2: d901 bls.n 80b7ac8 { return HAL_TIMEOUT; 80b7ac4: 2303 movs r3, #3 80b7ac6: e180 b.n 80b7dca while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) == RESET) 80b7ac8: 4b0c ldr r3, [pc, #48] ; (80b7afc ) 80b7aca: 6f5b ldr r3, [r3, #116] ; 0x74 80b7acc: f003 0302 and.w r3, r3, #2 80b7ad0: 2b00 cmp r3, #0 80b7ad2: d0f0 beq.n 80b7ab6 80b7ad4: e01a b.n 80b7b0c } } else { /* Disable the Internal Low Speed oscillator (LSI). */ __HAL_RCC_LSI_DISABLE(); 80b7ad6: 4a09 ldr r2, [pc, #36] ; (80b7afc ) 80b7ad8: 4b08 ldr r3, [pc, #32] ; (80b7afc ) 80b7ada: 6f5b ldr r3, [r3, #116] ; 0x74 80b7adc: f023 0301 bic.w r3, r3, #1 80b7ae0: 6753 str r3, [r2, #116] ; 0x74 /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7ae2: f7fb fbc5 bl 80b3270 80b7ae6: 6138 str r0, [r7, #16] /* Wait till LSI is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) 80b7ae8: e00a b.n 80b7b00 { if ((HAL_GetTick() - tickstart) > LSI_TIMEOUT_VALUE) 80b7aea: f7fb fbc1 bl 80b3270 80b7aee: 4602 mov r2, r0 80b7af0: 693b ldr r3, [r7, #16] 80b7af2: 1ad3 subs r3, r2, r3 80b7af4: 2b02 cmp r3, #2 80b7af6: d903 bls.n 80b7b00 { return HAL_TIMEOUT; 80b7af8: 2303 movs r3, #3 80b7afa: e166 b.n 80b7dca 80b7afc: 40023800 .word 0x40023800 while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSIRDY) != RESET) 80b7b00: 4b92 ldr r3, [pc, #584] ; (80b7d4c ) 80b7b02: 6f5b ldr r3, [r3, #116] ; 0x74 80b7b04: f003 0302 and.w r3, r3, #2 80b7b08: 2b00 cmp r3, #0 80b7b0a: d1ee bne.n 80b7aea } } } } /*------------------------------ LSE Configuration -------------------------*/ if (((RCC_OscInitStruct->OscillatorType) & RCC_OSCILLATORTYPE_LSE) == RCC_OSCILLATORTYPE_LSE) 80b7b0c: 687b ldr r3, [r7, #4] 80b7b0e: 681b ldr r3, [r3, #0] 80b7b10: f003 0304 and.w r3, r3, #4 80b7b14: 2b00 cmp r3, #0 80b7b16: f000 80a4 beq.w 80b7c62 /* Check the parameters */ assert_param(IS_RCC_LSE(RCC_OscInitStruct->LSEState)); /* Update LSE configuration in Backup Domain control register */ /* Requires to enable write access to Backup Domain of necessary */ if (__HAL_RCC_PWR_IS_CLK_DISABLED()) 80b7b1a: 4b8c ldr r3, [pc, #560] ; (80b7d4c ) 80b7b1c: 6c1b ldr r3, [r3, #64] ; 0x40 80b7b1e: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80b7b22: 2b00 cmp r3, #0 80b7b24: d10d bne.n 80b7b42 { /* Enable Power Clock*/ __HAL_RCC_PWR_CLK_ENABLE(); 80b7b26: 4a89 ldr r2, [pc, #548] ; (80b7d4c ) 80b7b28: 4b88 ldr r3, [pc, #544] ; (80b7d4c ) 80b7b2a: 6c1b ldr r3, [r3, #64] ; 0x40 80b7b2c: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80b7b30: 6413 str r3, [r2, #64] ; 0x40 80b7b32: 4b86 ldr r3, [pc, #536] ; (80b7d4c ) 80b7b34: 6c1b ldr r3, [r3, #64] ; 0x40 80b7b36: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80b7b3a: 60bb str r3, [r7, #8] 80b7b3c: 68bb ldr r3, [r7, #8] pwrclkchanged = SET; 80b7b3e: 2301 movs r3, #1 80b7b40: 75fb strb r3, [r7, #23] } if (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 80b7b42: 4b83 ldr r3, [pc, #524] ; (80b7d50 ) 80b7b44: 681b ldr r3, [r3, #0] 80b7b46: f403 7380 and.w r3, r3, #256 ; 0x100 80b7b4a: 2b00 cmp r3, #0 80b7b4c: d118 bne.n 80b7b80 { /* Enable write access to Backup domain */ PWR->CR1 |= PWR_CR1_DBP; 80b7b4e: 4a80 ldr r2, [pc, #512] ; (80b7d50 ) 80b7b50: 4b7f ldr r3, [pc, #508] ; (80b7d50 ) 80b7b52: 681b ldr r3, [r3, #0] 80b7b54: f443 7380 orr.w r3, r3, #256 ; 0x100 80b7b58: 6013 str r3, [r2, #0] /* Wait for Backup domain Write protection disable */ tickstart = HAL_GetTick(); 80b7b5a: f7fb fb89 bl 80b3270 80b7b5e: 6138 str r0, [r7, #16] while (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 80b7b60: e008 b.n 80b7b74 { if ((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) 80b7b62: f7fb fb85 bl 80b3270 80b7b66: 4602 mov r2, r0 80b7b68: 693b ldr r3, [r7, #16] 80b7b6a: 1ad3 subs r3, r2, r3 80b7b6c: 2b64 cmp r3, #100 ; 0x64 80b7b6e: d901 bls.n 80b7b74 { return HAL_TIMEOUT; 80b7b70: 2303 movs r3, #3 80b7b72: e12a b.n 80b7dca while (HAL_IS_BIT_CLR(PWR->CR1, PWR_CR1_DBP)) 80b7b74: 4b76 ldr r3, [pc, #472] ; (80b7d50 ) 80b7b76: 681b ldr r3, [r3, #0] 80b7b78: f403 7380 and.w r3, r3, #256 ; 0x100 80b7b7c: 2b00 cmp r3, #0 80b7b7e: d0f0 beq.n 80b7b62 } } } /* Set the new LSE configuration -----------------------------------------*/ __HAL_RCC_LSE_CONFIG(RCC_OscInitStruct->LSEState); 80b7b80: 687b ldr r3, [r7, #4] 80b7b82: 689b ldr r3, [r3, #8] 80b7b84: 2b01 cmp r3, #1 80b7b86: d106 bne.n 80b7b96 80b7b88: 4a70 ldr r2, [pc, #448] ; (80b7d4c ) 80b7b8a: 4b70 ldr r3, [pc, #448] ; (80b7d4c ) 80b7b8c: 6f1b ldr r3, [r3, #112] ; 0x70 80b7b8e: f043 0301 orr.w r3, r3, #1 80b7b92: 6713 str r3, [r2, #112] ; 0x70 80b7b94: e02d b.n 80b7bf2 80b7b96: 687b ldr r3, [r7, #4] 80b7b98: 689b ldr r3, [r3, #8] 80b7b9a: 2b00 cmp r3, #0 80b7b9c: d10c bne.n 80b7bb8 80b7b9e: 4a6b ldr r2, [pc, #428] ; (80b7d4c ) 80b7ba0: 4b6a ldr r3, [pc, #424] ; (80b7d4c ) 80b7ba2: 6f1b ldr r3, [r3, #112] ; 0x70 80b7ba4: f023 0301 bic.w r3, r3, #1 80b7ba8: 6713 str r3, [r2, #112] ; 0x70 80b7baa: 4a68 ldr r2, [pc, #416] ; (80b7d4c ) 80b7bac: 4b67 ldr r3, [pc, #412] ; (80b7d4c ) 80b7bae: 6f1b ldr r3, [r3, #112] ; 0x70 80b7bb0: f023 0304 bic.w r3, r3, #4 80b7bb4: 6713 str r3, [r2, #112] ; 0x70 80b7bb6: e01c b.n 80b7bf2 80b7bb8: 687b ldr r3, [r7, #4] 80b7bba: 689b ldr r3, [r3, #8] 80b7bbc: 2b05 cmp r3, #5 80b7bbe: d10c bne.n 80b7bda 80b7bc0: 4a62 ldr r2, [pc, #392] ; (80b7d4c ) 80b7bc2: 4b62 ldr r3, [pc, #392] ; (80b7d4c ) 80b7bc4: 6f1b ldr r3, [r3, #112] ; 0x70 80b7bc6: f043 0304 orr.w r3, r3, #4 80b7bca: 6713 str r3, [r2, #112] ; 0x70 80b7bcc: 4a5f ldr r2, [pc, #380] ; (80b7d4c ) 80b7bce: 4b5f ldr r3, [pc, #380] ; (80b7d4c ) 80b7bd0: 6f1b ldr r3, [r3, #112] ; 0x70 80b7bd2: f043 0301 orr.w r3, r3, #1 80b7bd6: 6713 str r3, [r2, #112] ; 0x70 80b7bd8: e00b b.n 80b7bf2 80b7bda: 4a5c ldr r2, [pc, #368] ; (80b7d4c ) 80b7bdc: 4b5b ldr r3, [pc, #364] ; (80b7d4c ) 80b7bde: 6f1b ldr r3, [r3, #112] ; 0x70 80b7be0: f023 0301 bic.w r3, r3, #1 80b7be4: 6713 str r3, [r2, #112] ; 0x70 80b7be6: 4a59 ldr r2, [pc, #356] ; (80b7d4c ) 80b7be8: 4b58 ldr r3, [pc, #352] ; (80b7d4c ) 80b7bea: 6f1b ldr r3, [r3, #112] ; 0x70 80b7bec: f023 0304 bic.w r3, r3, #4 80b7bf0: 6713 str r3, [r2, #112] ; 0x70 /* Check the LSE State */ if ((RCC_OscInitStruct->LSEState) != RCC_LSE_OFF) 80b7bf2: 687b ldr r3, [r7, #4] 80b7bf4: 689b ldr r3, [r3, #8] 80b7bf6: 2b00 cmp r3, #0 80b7bf8: d015 beq.n 80b7c26 { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7bfa: f7fb fb39 bl 80b3270 80b7bfe: 6138 str r0, [r7, #16] /* Wait till LSE is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80b7c00: e00a b.n 80b7c18 { if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 80b7c02: f7fb fb35 bl 80b3270 80b7c06: 4602 mov r2, r0 80b7c08: 693b ldr r3, [r7, #16] 80b7c0a: 1ad3 subs r3, r2, r3 80b7c0c: f241 3288 movw r2, #5000 ; 0x1388 80b7c10: 4293 cmp r3, r2 80b7c12: d901 bls.n 80b7c18 { return HAL_TIMEOUT; 80b7c14: 2303 movs r3, #3 80b7c16: e0d8 b.n 80b7dca while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80b7c18: 4b4c ldr r3, [pc, #304] ; (80b7d4c ) 80b7c1a: 6f1b ldr r3, [r3, #112] ; 0x70 80b7c1c: f003 0302 and.w r3, r3, #2 80b7c20: 2b00 cmp r3, #0 80b7c22: d0ee beq.n 80b7c02 80b7c24: e014 b.n 80b7c50 } } else { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7c26: f7fb fb23 bl 80b3270 80b7c2a: 6138 str r0, [r7, #16] /* Wait till LSE is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) 80b7c2c: e00a b.n 80b7c44 { if ((HAL_GetTick() - tickstart) > RCC_LSE_TIMEOUT_VALUE) 80b7c2e: f7fb fb1f bl 80b3270 80b7c32: 4602 mov r2, r0 80b7c34: 693b ldr r3, [r7, #16] 80b7c36: 1ad3 subs r3, r2, r3 80b7c38: f241 3288 movw r2, #5000 ; 0x1388 80b7c3c: 4293 cmp r3, r2 80b7c3e: d901 bls.n 80b7c44 { return HAL_TIMEOUT; 80b7c40: 2303 movs r3, #3 80b7c42: e0c2 b.n 80b7dca while (__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) != RESET) 80b7c44: 4b41 ldr r3, [pc, #260] ; (80b7d4c ) 80b7c46: 6f1b ldr r3, [r3, #112] ; 0x70 80b7c48: f003 0302 and.w r3, r3, #2 80b7c4c: 2b00 cmp r3, #0 80b7c4e: d1ee bne.n 80b7c2e } } } /* Restore clock configuration if changed */ if (pwrclkchanged == SET) 80b7c50: 7dfb ldrb r3, [r7, #23] 80b7c52: 2b01 cmp r3, #1 80b7c54: d105 bne.n 80b7c62 { __HAL_RCC_PWR_CLK_DISABLE(); 80b7c56: 4a3d ldr r2, [pc, #244] ; (80b7d4c ) 80b7c58: 4b3c ldr r3, [pc, #240] ; (80b7d4c ) 80b7c5a: 6c1b ldr r3, [r3, #64] ; 0x40 80b7c5c: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 80b7c60: 6413 str r3, [r2, #64] ; 0x40 } } /*-------------------------------- PLL Configuration -----------------------*/ /* Check the parameters */ assert_param(IS_RCC_PLL(RCC_OscInitStruct->PLL.PLLState)); if ((RCC_OscInitStruct->PLL.PLLState) != RCC_PLL_NONE) 80b7c62: 687b ldr r3, [r7, #4] 80b7c64: 699b ldr r3, [r3, #24] 80b7c66: 2b00 cmp r3, #0 80b7c68: f000 80ae beq.w 80b7dc8 { /* Check if the PLL is used as system clock or not */ if (__HAL_RCC_GET_SYSCLK_SOURCE() != RCC_SYSCLKSOURCE_STATUS_PLLCLK) 80b7c6c: 4b37 ldr r3, [pc, #220] ; (80b7d4c ) 80b7c6e: 689b ldr r3, [r3, #8] 80b7c70: f003 030c and.w r3, r3, #12 80b7c74: 2b08 cmp r3, #8 80b7c76: d06d beq.n 80b7d54 { if ((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_ON) 80b7c78: 687b ldr r3, [r7, #4] 80b7c7a: 699b ldr r3, [r3, #24] 80b7c7c: 2b02 cmp r3, #2 80b7c7e: d14b bne.n 80b7d18 #if defined (RCC_PLLCFGR_PLLR) assert_param(IS_RCC_PLLR_VALUE(RCC_OscInitStruct->PLL.PLLR)); #endif /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); 80b7c80: 4a32 ldr r2, [pc, #200] ; (80b7d4c ) 80b7c82: 4b32 ldr r3, [pc, #200] ; (80b7d4c ) 80b7c84: 681b ldr r3, [r3, #0] 80b7c86: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 80b7c8a: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7c8c: f7fb faf0 bl 80b3270 80b7c90: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80b7c92: e008 b.n 80b7ca6 { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 80b7c94: f7fb faec bl 80b3270 80b7c98: 4602 mov r2, r0 80b7c9a: 693b ldr r3, [r7, #16] 80b7c9c: 1ad3 subs r3, r2, r3 80b7c9e: 2b02 cmp r3, #2 80b7ca0: d901 bls.n 80b7ca6 { return HAL_TIMEOUT; 80b7ca2: 2303 movs r3, #3 80b7ca4: e091 b.n 80b7dca while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80b7ca6: 4b29 ldr r3, [pc, #164] ; (80b7d4c ) 80b7ca8: 681b ldr r3, [r3, #0] 80b7caa: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80b7cae: 2b00 cmp r3, #0 80b7cb0: d1f0 bne.n 80b7c94 } } /* Configure the main PLL clock source, multiplication and division factors. */ #if defined (RCC_PLLCFGR_PLLR) __HAL_RCC_PLL_CONFIG(RCC_OscInitStruct->PLL.PLLSource, 80b7cb2: 4926 ldr r1, [pc, #152] ; (80b7d4c ) 80b7cb4: 687b ldr r3, [r7, #4] 80b7cb6: 69da ldr r2, [r3, #28] 80b7cb8: 687b ldr r3, [r7, #4] 80b7cba: 6a1b ldr r3, [r3, #32] 80b7cbc: 431a orrs r2, r3 80b7cbe: 687b ldr r3, [r7, #4] 80b7cc0: 6a5b ldr r3, [r3, #36] ; 0x24 80b7cc2: 019b lsls r3, r3, #6 80b7cc4: 431a orrs r2, r3 80b7cc6: 687b ldr r3, [r7, #4] 80b7cc8: 6a9b ldr r3, [r3, #40] ; 0x28 80b7cca: 085b lsrs r3, r3, #1 80b7ccc: 3b01 subs r3, #1 80b7cce: 041b lsls r3, r3, #16 80b7cd0: 431a orrs r2, r3 80b7cd2: 687b ldr r3, [r7, #4] 80b7cd4: 6adb ldr r3, [r3, #44] ; 0x2c 80b7cd6: 061b lsls r3, r3, #24 80b7cd8: 431a orrs r2, r3 80b7cda: 687b ldr r3, [r7, #4] 80b7cdc: 6b1b ldr r3, [r3, #48] ; 0x30 80b7cde: 071b lsls r3, r3, #28 80b7ce0: 4313 orrs r3, r2 80b7ce2: 604b str r3, [r1, #4] RCC_OscInitStruct->PLL.PLLP, RCC_OscInitStruct->PLL.PLLQ); #endif /* Enable the main PLL. */ __HAL_RCC_PLL_ENABLE(); 80b7ce4: 4a19 ldr r2, [pc, #100] ; (80b7d4c ) 80b7ce6: 4b19 ldr r3, [pc, #100] ; (80b7d4c ) 80b7ce8: 681b ldr r3, [r3, #0] 80b7cea: f043 7380 orr.w r3, r3, #16777216 ; 0x1000000 80b7cee: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7cf0: f7fb fabe bl 80b3270 80b7cf4: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 80b7cf6: e008 b.n 80b7d0a { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 80b7cf8: f7fb faba bl 80b3270 80b7cfc: 4602 mov r2, r0 80b7cfe: 693b ldr r3, [r7, #16] 80b7d00: 1ad3 subs r3, r2, r3 80b7d02: 2b02 cmp r3, #2 80b7d04: d901 bls.n 80b7d0a { return HAL_TIMEOUT; 80b7d06: 2303 movs r3, #3 80b7d08: e05f b.n 80b7dca while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 80b7d0a: 4b10 ldr r3, [pc, #64] ; (80b7d4c ) 80b7d0c: 681b ldr r3, [r3, #0] 80b7d0e: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80b7d12: 2b00 cmp r3, #0 80b7d14: d0f0 beq.n 80b7cf8 80b7d16: e057 b.n 80b7dc8 } } else { /* Disable the main PLL. */ __HAL_RCC_PLL_DISABLE(); 80b7d18: 4a0c ldr r2, [pc, #48] ; (80b7d4c ) 80b7d1a: 4b0c ldr r3, [pc, #48] ; (80b7d4c ) 80b7d1c: 681b ldr r3, [r3, #0] 80b7d1e: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 80b7d22: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7d24: f7fb faa4 bl 80b3270 80b7d28: 6138 str r0, [r7, #16] /* Wait till PLL is ready */ while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80b7d2a: e008 b.n 80b7d3e { if ((HAL_GetTick() - tickstart) > PLL_TIMEOUT_VALUE) 80b7d2c: f7fb faa0 bl 80b3270 80b7d30: 4602 mov r2, r0 80b7d32: 693b ldr r3, [r7, #16] 80b7d34: 1ad3 subs r3, r2, r3 80b7d36: 2b02 cmp r3, #2 80b7d38: d901 bls.n 80b7d3e { return HAL_TIMEOUT; 80b7d3a: 2303 movs r3, #3 80b7d3c: e045 b.n 80b7dca while (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) != RESET) 80b7d3e: 4b03 ldr r3, [pc, #12] ; (80b7d4c ) 80b7d40: 681b ldr r3, [r3, #0] 80b7d42: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80b7d46: 2b00 cmp r3, #0 80b7d48: d1f0 bne.n 80b7d2c 80b7d4a: e03d b.n 80b7dc8 80b7d4c: 40023800 .word 0x40023800 80b7d50: 40007000 .word 0x40007000 } } else { /* Do not return HAL_ERROR if request repeats the current configuration */ pll_config = RCC->PLLCFGR; 80b7d54: 4b1f ldr r3, [pc, #124] ; (80b7dd4 ) 80b7d56: 685b ldr r3, [r3, #4] 80b7d58: 60fb str r3, [r7, #12] #if defined (RCC_PLLCFGR_PLLR) if (((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) || 80b7d5a: 687b ldr r3, [r7, #4] 80b7d5c: 699b ldr r3, [r3, #24] 80b7d5e: 2b01 cmp r3, #1 80b7d60: d030 beq.n 80b7dc4 (READ_BIT(pll_config, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 80b7d62: 68fb ldr r3, [r7, #12] 80b7d64: f403 0280 and.w r2, r3, #4194304 ; 0x400000 80b7d68: 687b ldr r3, [r7, #4] 80b7d6a: 69db ldr r3, [r3, #28] if (((RCC_OscInitStruct->PLL.PLLState) == RCC_PLL_OFF) || 80b7d6c: 429a cmp r2, r3 80b7d6e: d129 bne.n 80b7dc4 (READ_BIT(pll_config, RCC_PLLCFGR_PLLM) != RCC_OscInitStruct->PLL.PLLM) || 80b7d70: 68fb ldr r3, [r7, #12] 80b7d72: f003 023f and.w r2, r3, #63 ; 0x3f 80b7d76: 687b ldr r3, [r7, #4] 80b7d78: 6a1b ldr r3, [r3, #32] (READ_BIT(pll_config, RCC_PLLCFGR_PLLSRC) != RCC_OscInitStruct->PLL.PLLSource) || 80b7d7a: 429a cmp r2, r3 80b7d7c: d122 bne.n 80b7dc4 (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN << RCC_PLLCFGR_PLLN_Pos)) || 80b7d7e: 68fa ldr r2, [r7, #12] 80b7d80: f647 73c0 movw r3, #32704 ; 0x7fc0 80b7d84: 4013 ands r3, r2 80b7d86: 687a ldr r2, [r7, #4] 80b7d88: 6a52 ldr r2, [r2, #36] ; 0x24 80b7d8a: 0192 lsls r2, r2, #6 (READ_BIT(pll_config, RCC_PLLCFGR_PLLM) != RCC_OscInitStruct->PLL.PLLM) || 80b7d8c: 4293 cmp r3, r2 80b7d8e: d119 bne.n 80b7dc4 (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != ((((RCC_OscInitStruct->PLL.PLLP) >> 1U) - 1U) << RCC_PLLCFGR_PLLP_Pos)) || 80b7d90: 68fb ldr r3, [r7, #12] 80b7d92: f403 3240 and.w r2, r3, #196608 ; 0x30000 80b7d96: 687b ldr r3, [r7, #4] 80b7d98: 6a9b ldr r3, [r3, #40] ; 0x28 80b7d9a: 085b lsrs r3, r3, #1 80b7d9c: 3b01 subs r3, #1 80b7d9e: 041b lsls r3, r3, #16 (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN << RCC_PLLCFGR_PLLN_Pos)) || 80b7da0: 429a cmp r2, r3 80b7da2: d10f bne.n 80b7dc4 (READ_BIT(pll_config, RCC_PLLCFGR_PLLQ) != (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_PLLQ_Pos)) || 80b7da4: 68fb ldr r3, [r7, #12] 80b7da6: f003 6270 and.w r2, r3, #251658240 ; 0xf000000 80b7daa: 687b ldr r3, [r7, #4] 80b7dac: 6adb ldr r3, [r3, #44] ; 0x2c 80b7dae: 061b lsls r3, r3, #24 (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != ((((RCC_OscInitStruct->PLL.PLLP) >> 1U) - 1U) << RCC_PLLCFGR_PLLP_Pos)) || 80b7db0: 429a cmp r2, r3 80b7db2: d107 bne.n 80b7dc4 (READ_BIT(pll_config, RCC_PLLCFGR_PLLR) != (RCC_OscInitStruct->PLL.PLLR << RCC_PLLCFGR_PLLR_Pos))) 80b7db4: 68fb ldr r3, [r7, #12] 80b7db6: f003 42e0 and.w r2, r3, #1879048192 ; 0x70000000 80b7dba: 687b ldr r3, [r7, #4] 80b7dbc: 6b1b ldr r3, [r3, #48] ; 0x30 80b7dbe: 071b lsls r3, r3, #28 (READ_BIT(pll_config, RCC_PLLCFGR_PLLQ) != (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_PLLQ_Pos)) || 80b7dc0: 429a cmp r2, r3 80b7dc2: d001 beq.n 80b7dc8 (READ_BIT(pll_config, RCC_PLLCFGR_PLLN) != (RCC_OscInitStruct->PLL.PLLN << RCC_PLLCFGR_PLLN_Pos)) || (READ_BIT(pll_config, RCC_PLLCFGR_PLLP) != ((((RCC_OscInitStruct->PLL.PLLP) >> 1U) - 1U) << RCC_PLLCFGR_PLLP_Pos)) || (READ_BIT(pll_config, RCC_PLLCFGR_PLLQ) != (RCC_OscInitStruct->PLL.PLLQ << RCC_PLLCFGR_PLLQ_Pos))) #endif { return HAL_ERROR; 80b7dc4: 2301 movs r3, #1 80b7dc6: e000 b.n 80b7dca } } } return HAL_OK; 80b7dc8: 2300 movs r3, #0 } 80b7dca: 4618 mov r0, r3 80b7dcc: 3718 adds r7, #24 80b7dce: 46bd mov sp, r7 80b7dd0: bd80 pop {r7, pc} 80b7dd2: bf00 nop 80b7dd4: 40023800 .word 0x40023800 080b7dd8 : * HPRE[3:0] bits to ensure that HCLK not exceed the maximum allowed frequency * (for more details refer to section above "Initialization/de-initialization functions") * @retval None */ HAL_StatusTypeDef HAL_RCC_ClockConfig(RCC_ClkInitTypeDef *RCC_ClkInitStruct, uint32_t FLatency) { 80b7dd8: b580 push {r7, lr} 80b7dda: b084 sub sp, #16 80b7ddc: af00 add r7, sp, #0 80b7dde: 6078 str r0, [r7, #4] 80b7de0: 6039 str r1, [r7, #0] uint32_t tickstart = 0; 80b7de2: 2300 movs r3, #0 80b7de4: 60fb str r3, [r7, #12] /* Check Null pointer */ if (RCC_ClkInitStruct == NULL) 80b7de6: 687b ldr r3, [r7, #4] 80b7de8: 2b00 cmp r3, #0 80b7dea: d101 bne.n 80b7df0 { return HAL_ERROR; 80b7dec: 2301 movs r3, #1 80b7dee: e0d0 b.n 80b7f92 /* To correctly read data from FLASH memory, the number of wait states (LATENCY) must be correctly programmed according to the frequency of the CPU clock (HCLK) and the supply voltage of the device. */ /* Increasing the CPU frequency */ if (FLatency > __HAL_FLASH_GET_LATENCY()) 80b7df0: 4b6a ldr r3, [pc, #424] ; (80b7f9c ) 80b7df2: 681b ldr r3, [r3, #0] 80b7df4: f003 020f and.w r2, r3, #15 80b7df8: 683b ldr r3, [r7, #0] 80b7dfa: 429a cmp r2, r3 80b7dfc: d210 bcs.n 80b7e20 { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); 80b7dfe: 4967 ldr r1, [pc, #412] ; (80b7f9c ) 80b7e00: 4b66 ldr r3, [pc, #408] ; (80b7f9c ) 80b7e02: 681b ldr r3, [r3, #0] 80b7e04: f023 020f bic.w r2, r3, #15 80b7e08: 683b ldr r3, [r7, #0] 80b7e0a: 4313 orrs r3, r2 80b7e0c: 600b str r3, [r1, #0] /* Check that the new number of wait states is taken into account to access the Flash memory by reading the FLASH_ACR register */ if (__HAL_FLASH_GET_LATENCY() != FLatency) 80b7e0e: 4b63 ldr r3, [pc, #396] ; (80b7f9c ) 80b7e10: 681b ldr r3, [r3, #0] 80b7e12: f003 020f and.w r2, r3, #15 80b7e16: 683b ldr r3, [r7, #0] 80b7e18: 429a cmp r2, r3 80b7e1a: d001 beq.n 80b7e20 { return HAL_ERROR; 80b7e1c: 2301 movs r3, #1 80b7e1e: e0b8 b.n 80b7f92 } } /*-------------------------- HCLK Configuration --------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_HCLK) == RCC_CLOCKTYPE_HCLK) 80b7e20: 687b ldr r3, [r7, #4] 80b7e22: 681b ldr r3, [r3, #0] 80b7e24: f003 0302 and.w r3, r3, #2 80b7e28: 2b00 cmp r3, #0 80b7e2a: d020 beq.n 80b7e6e { /* Set the highest APBx dividers in order to ensure that we do not go through a non-spec phase whatever we decrease or increase HCLK. */ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 80b7e2c: 687b ldr r3, [r7, #4] 80b7e2e: 681b ldr r3, [r3, #0] 80b7e30: f003 0304 and.w r3, r3, #4 80b7e34: 2b00 cmp r3, #0 80b7e36: d005 beq.n 80b7e44 { MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_HCLK_DIV16); 80b7e38: 4a59 ldr r2, [pc, #356] ; (80b7fa0 ) 80b7e3a: 4b59 ldr r3, [pc, #356] ; (80b7fa0 ) 80b7e3c: 689b ldr r3, [r3, #8] 80b7e3e: f443 53e0 orr.w r3, r3, #7168 ; 0x1c00 80b7e42: 6093 str r3, [r2, #8] } if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 80b7e44: 687b ldr r3, [r7, #4] 80b7e46: 681b ldr r3, [r3, #0] 80b7e48: f003 0308 and.w r3, r3, #8 80b7e4c: 2b00 cmp r3, #0 80b7e4e: d005 beq.n 80b7e5c { MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, (RCC_HCLK_DIV16 << 3)); 80b7e50: 4a53 ldr r2, [pc, #332] ; (80b7fa0 ) 80b7e52: 4b53 ldr r3, [pc, #332] ; (80b7fa0 ) 80b7e54: 689b ldr r3, [r3, #8] 80b7e56: f443 4360 orr.w r3, r3, #57344 ; 0xe000 80b7e5a: 6093 str r3, [r2, #8] } /* Set the new HCLK clock divider */ assert_param(IS_RCC_HCLK(RCC_ClkInitStruct->AHBCLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_HPRE, RCC_ClkInitStruct->AHBCLKDivider); 80b7e5c: 4950 ldr r1, [pc, #320] ; (80b7fa0 ) 80b7e5e: 4b50 ldr r3, [pc, #320] ; (80b7fa0 ) 80b7e60: 689b ldr r3, [r3, #8] 80b7e62: f023 02f0 bic.w r2, r3, #240 ; 0xf0 80b7e66: 687b ldr r3, [r7, #4] 80b7e68: 689b ldr r3, [r3, #8] 80b7e6a: 4313 orrs r3, r2 80b7e6c: 608b str r3, [r1, #8] } /*------------------------- SYSCLK Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_SYSCLK) == RCC_CLOCKTYPE_SYSCLK) 80b7e6e: 687b ldr r3, [r7, #4] 80b7e70: 681b ldr r3, [r3, #0] 80b7e72: f003 0301 and.w r3, r3, #1 80b7e76: 2b00 cmp r3, #0 80b7e78: d040 beq.n 80b7efc { assert_param(IS_RCC_SYSCLKSOURCE(RCC_ClkInitStruct->SYSCLKSource)); /* HSE is selected as System Clock Source */ if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_HSE) 80b7e7a: 687b ldr r3, [r7, #4] 80b7e7c: 685b ldr r3, [r3, #4] 80b7e7e: 2b01 cmp r3, #1 80b7e80: d107 bne.n 80b7e92 { /* Check the HSE ready flag */ if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSERDY) == RESET) 80b7e82: 4b47 ldr r3, [pc, #284] ; (80b7fa0 ) 80b7e84: 681b ldr r3, [r3, #0] 80b7e86: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b7e8a: 2b00 cmp r3, #0 80b7e8c: d115 bne.n 80b7eba { return HAL_ERROR; 80b7e8e: 2301 movs r3, #1 80b7e90: e07f b.n 80b7f92 } } /* PLL is selected as System Clock Source */ else if (RCC_ClkInitStruct->SYSCLKSource == RCC_SYSCLKSOURCE_PLLCLK) 80b7e92: 687b ldr r3, [r7, #4] 80b7e94: 685b ldr r3, [r3, #4] 80b7e96: 2b02 cmp r3, #2 80b7e98: d107 bne.n 80b7eaa { /* Check the PLL ready flag */ if (__HAL_RCC_GET_FLAG(RCC_FLAG_PLLRDY) == RESET) 80b7e9a: 4b41 ldr r3, [pc, #260] ; (80b7fa0 ) 80b7e9c: 681b ldr r3, [r3, #0] 80b7e9e: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80b7ea2: 2b00 cmp r3, #0 80b7ea4: d109 bne.n 80b7eba { return HAL_ERROR; 80b7ea6: 2301 movs r3, #1 80b7ea8: e073 b.n 80b7f92 } /* HSI is selected as System Clock Source */ else { /* Check the HSI ready flag */ if (__HAL_RCC_GET_FLAG(RCC_FLAG_HSIRDY) == RESET) 80b7eaa: 4b3d ldr r3, [pc, #244] ; (80b7fa0 ) 80b7eac: 681b ldr r3, [r3, #0] 80b7eae: f003 0302 and.w r3, r3, #2 80b7eb2: 2b00 cmp r3, #0 80b7eb4: d101 bne.n 80b7eba { return HAL_ERROR; 80b7eb6: 2301 movs r3, #1 80b7eb8: e06b b.n 80b7f92 } } __HAL_RCC_SYSCLK_CONFIG(RCC_ClkInitStruct->SYSCLKSource); 80b7eba: 4939 ldr r1, [pc, #228] ; (80b7fa0 ) 80b7ebc: 4b38 ldr r3, [pc, #224] ; (80b7fa0 ) 80b7ebe: 689b ldr r3, [r3, #8] 80b7ec0: f023 0203 bic.w r2, r3, #3 80b7ec4: 687b ldr r3, [r7, #4] 80b7ec6: 685b ldr r3, [r3, #4] 80b7ec8: 4313 orrs r3, r2 80b7eca: 608b str r3, [r1, #8] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b7ecc: f7fb f9d0 bl 80b3270 80b7ed0: 60f8 str r0, [r7, #12] while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) 80b7ed2: e00a b.n 80b7eea { if ((HAL_GetTick() - tickstart) > CLOCKSWITCH_TIMEOUT_VALUE) 80b7ed4: f7fb f9cc bl 80b3270 80b7ed8: 4602 mov r2, r0 80b7eda: 68fb ldr r3, [r7, #12] 80b7edc: 1ad3 subs r3, r2, r3 80b7ede: f241 3288 movw r2, #5000 ; 0x1388 80b7ee2: 4293 cmp r3, r2 80b7ee4: d901 bls.n 80b7eea { return HAL_TIMEOUT; 80b7ee6: 2303 movs r3, #3 80b7ee8: e053 b.n 80b7f92 while (__HAL_RCC_GET_SYSCLK_SOURCE() != (RCC_ClkInitStruct->SYSCLKSource << RCC_CFGR_SWS_Pos)) 80b7eea: 4b2d ldr r3, [pc, #180] ; (80b7fa0 ) 80b7eec: 689b ldr r3, [r3, #8] 80b7eee: f003 020c and.w r2, r3, #12 80b7ef2: 687b ldr r3, [r7, #4] 80b7ef4: 685b ldr r3, [r3, #4] 80b7ef6: 009b lsls r3, r3, #2 80b7ef8: 429a cmp r2, r3 80b7efa: d1eb bne.n 80b7ed4 } } } /* Decreasing the number of wait states because of lower CPU frequency */ if (FLatency < __HAL_FLASH_GET_LATENCY()) 80b7efc: 4b27 ldr r3, [pc, #156] ; (80b7f9c ) 80b7efe: 681b ldr r3, [r3, #0] 80b7f00: f003 020f and.w r2, r3, #15 80b7f04: 683b ldr r3, [r7, #0] 80b7f06: 429a cmp r2, r3 80b7f08: d910 bls.n 80b7f2c { /* Program the new number of wait states to the LATENCY bits in the FLASH_ACR register */ __HAL_FLASH_SET_LATENCY(FLatency); 80b7f0a: 4924 ldr r1, [pc, #144] ; (80b7f9c ) 80b7f0c: 4b23 ldr r3, [pc, #140] ; (80b7f9c ) 80b7f0e: 681b ldr r3, [r3, #0] 80b7f10: f023 020f bic.w r2, r3, #15 80b7f14: 683b ldr r3, [r7, #0] 80b7f16: 4313 orrs r3, r2 80b7f18: 600b str r3, [r1, #0] /* Check that the new number of wait states is taken into account to access the Flash memory by reading the FLASH_ACR register */ if (__HAL_FLASH_GET_LATENCY() != FLatency) 80b7f1a: 4b20 ldr r3, [pc, #128] ; (80b7f9c ) 80b7f1c: 681b ldr r3, [r3, #0] 80b7f1e: f003 020f and.w r2, r3, #15 80b7f22: 683b ldr r3, [r7, #0] 80b7f24: 429a cmp r2, r3 80b7f26: d001 beq.n 80b7f2c { return HAL_ERROR; 80b7f28: 2301 movs r3, #1 80b7f2a: e032 b.n 80b7f92 } } /*-------------------------- PCLK1 Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK1) == RCC_CLOCKTYPE_PCLK1) 80b7f2c: 687b ldr r3, [r7, #4] 80b7f2e: 681b ldr r3, [r3, #0] 80b7f30: f003 0304 and.w r3, r3, #4 80b7f34: 2b00 cmp r3, #0 80b7f36: d008 beq.n 80b7f4a { assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB1CLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE1, RCC_ClkInitStruct->APB1CLKDivider); 80b7f38: 4919 ldr r1, [pc, #100] ; (80b7fa0 ) 80b7f3a: 4b19 ldr r3, [pc, #100] ; (80b7fa0 ) 80b7f3c: 689b ldr r3, [r3, #8] 80b7f3e: f423 52e0 bic.w r2, r3, #7168 ; 0x1c00 80b7f42: 687b ldr r3, [r7, #4] 80b7f44: 68db ldr r3, [r3, #12] 80b7f46: 4313 orrs r3, r2 80b7f48: 608b str r3, [r1, #8] } /*-------------------------- PCLK2 Configuration ---------------------------*/ if (((RCC_ClkInitStruct->ClockType) & RCC_CLOCKTYPE_PCLK2) == RCC_CLOCKTYPE_PCLK2) 80b7f4a: 687b ldr r3, [r7, #4] 80b7f4c: 681b ldr r3, [r3, #0] 80b7f4e: f003 0308 and.w r3, r3, #8 80b7f52: 2b00 cmp r3, #0 80b7f54: d009 beq.n 80b7f6a { assert_param(IS_RCC_PCLK(RCC_ClkInitStruct->APB2CLKDivider)); MODIFY_REG(RCC->CFGR, RCC_CFGR_PPRE2, ((RCC_ClkInitStruct->APB2CLKDivider) << 3)); 80b7f56: 4912 ldr r1, [pc, #72] ; (80b7fa0 ) 80b7f58: 4b11 ldr r3, [pc, #68] ; (80b7fa0 ) 80b7f5a: 689b ldr r3, [r3, #8] 80b7f5c: f423 4260 bic.w r2, r3, #57344 ; 0xe000 80b7f60: 687b ldr r3, [r7, #4] 80b7f62: 691b ldr r3, [r3, #16] 80b7f64: 00db lsls r3, r3, #3 80b7f66: 4313 orrs r3, r2 80b7f68: 608b str r3, [r1, #8] } /* Update the SystemCoreClock global variable */ SystemCoreClock = HAL_RCC_GetSysClockFreq() >> AHBPrescTable[(RCC->CFGR & RCC_CFGR_HPRE) >> RCC_CFGR_HPRE_Pos]; 80b7f6a: f000 f821 bl 80b7fb0 80b7f6e: 4601 mov r1, r0 80b7f70: 4b0b ldr r3, [pc, #44] ; (80b7fa0 ) 80b7f72: 689b ldr r3, [r3, #8] 80b7f74: 091b lsrs r3, r3, #4 80b7f76: f003 030f and.w r3, r3, #15 80b7f7a: 4a0a ldr r2, [pc, #40] ; (80b7fa4 ) 80b7f7c: 5cd3 ldrb r3, [r2, r3] 80b7f7e: fa21 f303 lsr.w r3, r1, r3 80b7f82: 4a09 ldr r2, [pc, #36] ; (80b7fa8 ) 80b7f84: 6013 str r3, [r2, #0] /* Configure the source of time base considering new system clocks settings*/ HAL_InitTick(uwTickPrio); 80b7f86: 4b09 ldr r3, [pc, #36] ; (80b7fac ) 80b7f88: 681b ldr r3, [r3, #0] 80b7f8a: 4618 mov r0, r3 80b7f8c: f7fb f92c bl 80b31e8 return HAL_OK; 80b7f90: 2300 movs r3, #0 } 80b7f92: 4618 mov r0, r3 80b7f94: 3710 adds r7, #16 80b7f96: 46bd mov sp, r7 80b7f98: bd80 pop {r7, pc} 80b7f9a: bf00 nop 80b7f9c: 40023c00 .word 0x40023c00 80b7fa0: 40023800 .word 0x40023800 80b7fa4: 080ef818 .word 0x080ef818 80b7fa8: 200209b4 .word 0x200209b4 80b7fac: 200209d4 .word 0x200209d4 080b7fb0 : * * * @retval SYSCLK frequency */ uint32_t HAL_RCC_GetSysClockFreq(void) { 80b7fb0: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80b7fb4: b087 sub sp, #28 80b7fb6: af00 add r7, sp, #0 uint32_t pllm = 0, pllvco = 0, pllp = 0; 80b7fb8: 2200 movs r2, #0 80b7fba: 60fa str r2, [r7, #12] 80b7fbc: 2200 movs r2, #0 80b7fbe: 617a str r2, [r7, #20] 80b7fc0: 2200 movs r2, #0 80b7fc2: 60ba str r2, [r7, #8] uint32_t sysclockfreq = 0; 80b7fc4: 2200 movs r2, #0 80b7fc6: 613a str r2, [r7, #16] /* Get SYSCLK source -------------------------------------------------------*/ switch (RCC->CFGR & RCC_CFGR_SWS) 80b7fc8: 4a51 ldr r2, [pc, #324] ; (80b8110 ) 80b7fca: 6892 ldr r2, [r2, #8] 80b7fcc: f002 020c and.w r2, r2, #12 80b7fd0: 2a04 cmp r2, #4 80b7fd2: d007 beq.n 80b7fe4 80b7fd4: 2a08 cmp r2, #8 80b7fd6: d008 beq.n 80b7fea 80b7fd8: 2a00 cmp r2, #0 80b7fda: f040 8090 bne.w 80b80fe { case RCC_SYSCLKSOURCE_STATUS_HSI: /* HSI used as system clock source */ { sysclockfreq = HSI_VALUE; 80b7fde: 4b4d ldr r3, [pc, #308] ; (80b8114 ) 80b7fe0: 613b str r3, [r7, #16] break; 80b7fe2: e08f b.n 80b8104 } case RCC_SYSCLKSOURCE_STATUS_HSE: /* HSE used as system clock source */ { sysclockfreq = HSE_VALUE; 80b7fe4: 4b4c ldr r3, [pc, #304] ; (80b8118 ) 80b7fe6: 613b str r3, [r7, #16] break; 80b7fe8: e08c b.n 80b8104 } case RCC_SYSCLKSOURCE_STATUS_PLLCLK: /* PLL used as system clock source */ { /* PLL_VCO = (HSE_VALUE or HSI_VALUE / PLLM) * PLLN SYSCLK = PLL_VCO / PLLP */ pllm = RCC->PLLCFGR & RCC_PLLCFGR_PLLM; 80b7fea: 4a49 ldr r2, [pc, #292] ; (80b8110 ) 80b7fec: 6852 ldr r2, [r2, #4] 80b7fee: f002 023f and.w r2, r2, #63 ; 0x3f 80b7ff2: 60fa str r2, [r7, #12] if (__HAL_RCC_GET_PLL_OSCSOURCE() != RCC_PLLCFGR_PLLSRC_HSI) 80b7ff4: 4a46 ldr r2, [pc, #280] ; (80b8110 ) 80b7ff6: 6852 ldr r2, [r2, #4] 80b7ff8: f402 0280 and.w r2, r2, #4194304 ; 0x400000 80b7ffc: 2a00 cmp r2, #0 80b7ffe: d023 beq.n 80b8048 { /* HSE used as PLL clock source */ pllvco = (uint32_t)((((uint64_t) HSE_VALUE * ((uint64_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm); 80b8000: 4b43 ldr r3, [pc, #268] ; (80b8110 ) 80b8002: 685b ldr r3, [r3, #4] 80b8004: 099b lsrs r3, r3, #6 80b8006: f04f 0400 mov.w r4, #0 80b800a: f240 11ff movw r1, #511 ; 0x1ff 80b800e: f04f 0200 mov.w r2, #0 80b8012: ea03 0301 and.w r3, r3, r1 80b8016: ea04 0402 and.w r4, r4, r2 80b801a: 4a3f ldr r2, [pc, #252] ; (80b8118 ) 80b801c: fb02 f104 mul.w r1, r2, r4 80b8020: 2200 movs r2, #0 80b8022: fb02 f203 mul.w r2, r2, r3 80b8026: 440a add r2, r1 80b8028: 493b ldr r1, [pc, #236] ; (80b8118 ) 80b802a: fba3 0101 umull r0, r1, r3, r1 80b802e: 1853 adds r3, r2, r1 80b8030: 4619 mov r1, r3 80b8032: 68fb ldr r3, [r7, #12] 80b8034: f04f 0400 mov.w r4, #0 80b8038: 461a mov r2, r3 80b803a: 4623 mov r3, r4 80b803c: f768 fad6 bl 80205ec <__aeabi_uldivmod> 80b8040: 4603 mov r3, r0 80b8042: 460c mov r4, r1 80b8044: 617b str r3, [r7, #20] 80b8046: e04c b.n 80b80e2 } else { /* HSI used as PLL clock source */ pllvco = (uint32_t)((((uint64_t) HSI_VALUE * ((uint64_t)((RCC->PLLCFGR & RCC_PLLCFGR_PLLN) >> RCC_PLLCFGR_PLLN_Pos)))) / (uint64_t)pllm); 80b8048: 4a31 ldr r2, [pc, #196] ; (80b8110 ) 80b804a: 6852 ldr r2, [r2, #4] 80b804c: 0992 lsrs r2, r2, #6 80b804e: 4611 mov r1, r2 80b8050: f04f 0200 mov.w r2, #0 80b8054: f240 15ff movw r5, #511 ; 0x1ff 80b8058: f04f 0600 mov.w r6, #0 80b805c: ea05 0501 and.w r5, r5, r1 80b8060: ea06 0602 and.w r6, r6, r2 80b8064: 4629 mov r1, r5 80b8066: 4632 mov r2, r6 80b8068: ea4f 1b42 mov.w fp, r2, lsl #5 80b806c: ea4b 6bd1 orr.w fp, fp, r1, lsr #27 80b8070: ea4f 1a41 mov.w sl, r1, lsl #5 80b8074: 4651 mov r1, sl 80b8076: 465a mov r2, fp 80b8078: 46aa mov sl, r5 80b807a: 46b3 mov fp, r6 80b807c: 4655 mov r5, sl 80b807e: 465e mov r6, fp 80b8080: 1b4d subs r5, r1, r5 80b8082: eb62 0606 sbc.w r6, r2, r6 80b8086: 4629 mov r1, r5 80b8088: 4632 mov r2, r6 80b808a: 0194 lsls r4, r2, #6 80b808c: ea44 6491 orr.w r4, r4, r1, lsr #26 80b8090: 018b lsls r3, r1, #6 80b8092: 1a5b subs r3, r3, r1 80b8094: eb64 0402 sbc.w r4, r4, r2 80b8098: ea4f 09c4 mov.w r9, r4, lsl #3 80b809c: ea49 7953 orr.w r9, r9, r3, lsr #29 80b80a0: ea4f 08c3 mov.w r8, r3, lsl #3 80b80a4: 4643 mov r3, r8 80b80a6: 464c mov r4, r9 80b80a8: 4655 mov r5, sl 80b80aa: 465e mov r6, fp 80b80ac: 18ed adds r5, r5, r3 80b80ae: eb46 0604 adc.w r6, r6, r4 80b80b2: 462b mov r3, r5 80b80b4: 4634 mov r4, r6 80b80b6: 02a2 lsls r2, r4, #10 80b80b8: 607a str r2, [r7, #4] 80b80ba: 687a ldr r2, [r7, #4] 80b80bc: ea42 5293 orr.w r2, r2, r3, lsr #22 80b80c0: 607a str r2, [r7, #4] 80b80c2: 029b lsls r3, r3, #10 80b80c4: 603b str r3, [r7, #0] 80b80c6: e897 0018 ldmia.w r7, {r3, r4} 80b80ca: 4618 mov r0, r3 80b80cc: 4621 mov r1, r4 80b80ce: 68fb ldr r3, [r7, #12] 80b80d0: f04f 0400 mov.w r4, #0 80b80d4: 461a mov r2, r3 80b80d6: 4623 mov r3, r4 80b80d8: f768 fa88 bl 80205ec <__aeabi_uldivmod> 80b80dc: 4603 mov r3, r0 80b80de: 460c mov r4, r1 80b80e0: 617b str r3, [r7, #20] } pllp = ((((RCC->PLLCFGR & RCC_PLLCFGR_PLLP) >> RCC_PLLCFGR_PLLP_Pos) + 1) * 2); 80b80e2: 4b0b ldr r3, [pc, #44] ; (80b8110 ) 80b80e4: 685b ldr r3, [r3, #4] 80b80e6: 0c1b lsrs r3, r3, #16 80b80e8: f003 0303 and.w r3, r3, #3 80b80ec: 3301 adds r3, #1 80b80ee: 005b lsls r3, r3, #1 80b80f0: 60bb str r3, [r7, #8] sysclockfreq = pllvco / pllp; 80b80f2: 697a ldr r2, [r7, #20] 80b80f4: 68bb ldr r3, [r7, #8] 80b80f6: fbb2 f3f3 udiv r3, r2, r3 80b80fa: 613b str r3, [r7, #16] break; 80b80fc: e002 b.n 80b8104 } default: { sysclockfreq = HSI_VALUE; 80b80fe: 4b05 ldr r3, [pc, #20] ; (80b8114 ) 80b8100: 613b str r3, [r7, #16] break; 80b8102: bf00 nop } } return sysclockfreq; 80b8104: 693b ldr r3, [r7, #16] } 80b8106: 4618 mov r0, r3 80b8108: 371c adds r7, #28 80b810a: 46bd mov sp, r7 80b810c: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80b8110: 40023800 .word 0x40023800 80b8114: 00f42400 .word 0x00f42400 80b8118: 017d7840 .word 0x017d7840 080b811c : * right HCLK value. Otherwise, any configuration based on this function will be incorrect. * @note The SystemCoreClock CMSIS variable is used to store System Clock Frequency. * @retval HCLK frequency */ uint32_t HAL_RCC_GetHCLKFreq(void) { 80b811c: b480 push {r7} 80b811e: af00 add r7, sp, #0 return SystemCoreClock; 80b8120: 4b03 ldr r3, [pc, #12] ; (80b8130 ) 80b8122: 681b ldr r3, [r3, #0] } 80b8124: 4618 mov r0, r3 80b8126: 46bd mov sp, r7 80b8128: f85d 7b04 ldr.w r7, [sp], #4 80b812c: 4770 bx lr 80b812e: bf00 nop 80b8130: 200209b4 .word 0x200209b4 080b8134 : * the backup registers) are set to their reset values. * * @retval HAL status */ HAL_StatusTypeDef HAL_RCCEx_PeriphCLKConfig(RCC_PeriphCLKInitTypeDef *PeriphClkInit) { 80b8134: b580 push {r7, lr} 80b8136: b088 sub sp, #32 80b8138: af00 add r7, sp, #0 80b813a: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80b813c: 2300 movs r3, #0 80b813e: 617b str r3, [r7, #20] uint32_t tmpreg0 = 0; 80b8140: 2300 movs r3, #0 80b8142: 613b str r3, [r7, #16] uint32_t tmpreg1 = 0; 80b8144: 2300 movs r3, #0 80b8146: 60fb str r3, [r7, #12] uint32_t plli2sused = 0; 80b8148: 2300 movs r3, #0 80b814a: 61fb str r3, [r7, #28] uint32_t pllsaiused = 0; 80b814c: 2300 movs r3, #0 80b814e: 61bb str r3, [r7, #24] /* Check the parameters */ assert_param(IS_RCC_PERIPHCLOCK(PeriphClkInit->PeriphClockSelection)); /*----------------------------------- I2S configuration ----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2S) == (RCC_PERIPHCLK_I2S)) 80b8150: 687b ldr r3, [r7, #4] 80b8152: 681b ldr r3, [r3, #0] 80b8154: f003 0301 and.w r3, r3, #1 80b8158: 2b00 cmp r3, #0 80b815a: d012 beq.n 80b8182 { /* Check the parameters */ assert_param(IS_RCC_I2SCLKSOURCE(PeriphClkInit->I2sClockSelection)); /* Configure I2S Clock source */ __HAL_RCC_I2S_CONFIG(PeriphClkInit->I2sClockSelection); 80b815c: 4a69 ldr r2, [pc, #420] ; (80b8304 ) 80b815e: 4b69 ldr r3, [pc, #420] ; (80b8304 ) 80b8160: 689b ldr r3, [r3, #8] 80b8162: f423 0300 bic.w r3, r3, #8388608 ; 0x800000 80b8166: 6093 str r3, [r2, #8] 80b8168: 4966 ldr r1, [pc, #408] ; (80b8304 ) 80b816a: 4b66 ldr r3, [pc, #408] ; (80b8304 ) 80b816c: 689a ldr r2, [r3, #8] 80b816e: 687b ldr r3, [r7, #4] 80b8170: 6b5b ldr r3, [r3, #52] ; 0x34 80b8172: 4313 orrs r3, r2 80b8174: 608b str r3, [r1, #8] /* Enable the PLLI2S when it's used as clock source for I2S */ if(PeriphClkInit->I2sClockSelection == RCC_I2SCLKSOURCE_PLLI2S) 80b8176: 687b ldr r3, [r7, #4] 80b8178: 6b5b ldr r3, [r3, #52] ; 0x34 80b817a: 2b00 cmp r3, #0 80b817c: d101 bne.n 80b8182 { plli2sused = 1; 80b817e: 2301 movs r3, #1 80b8180: 61fb str r3, [r7, #28] } } /*------------------------------------ SAI1 configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == (RCC_PERIPHCLK_SAI1)) 80b8182: 687b ldr r3, [r7, #4] 80b8184: 681b ldr r3, [r3, #0] 80b8186: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b818a: 2b00 cmp r3, #0 80b818c: d017 beq.n 80b81be { /* Check the parameters */ assert_param(IS_RCC_SAI1CLKSOURCE(PeriphClkInit->Sai1ClockSelection)); /* Configure SAI1 Clock source */ __HAL_RCC_SAI1_CONFIG(PeriphClkInit->Sai1ClockSelection); 80b818e: 495d ldr r1, [pc, #372] ; (80b8304 ) 80b8190: 4b5c ldr r3, [pc, #368] ; (80b8304 ) 80b8192: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b8196: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 80b819a: 687b ldr r3, [r7, #4] 80b819c: 6bdb ldr r3, [r3, #60] ; 0x3c 80b819e: 4313 orrs r3, r2 80b81a0: f8c1 308c str.w r3, [r1, #140] ; 0x8c /* Enable the PLLI2S when it's used as clock source for SAI */ if(PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S) 80b81a4: 687b ldr r3, [r7, #4] 80b81a6: 6bdb ldr r3, [r3, #60] ; 0x3c 80b81a8: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80b81ac: d101 bne.n 80b81b2 { plli2sused = 1; 80b81ae: 2301 movs r3, #1 80b81b0: 61fb str r3, [r7, #28] } /* Enable the PLLSAI when it's used as clock source for SAI */ if(PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI) 80b81b2: 687b ldr r3, [r7, #4] 80b81b4: 6bdb ldr r3, [r3, #60] ; 0x3c 80b81b6: 2b00 cmp r3, #0 80b81b8: d101 bne.n 80b81be { pllsaiused = 1; 80b81ba: 2301 movs r3, #1 80b81bc: 61bb str r3, [r7, #24] } } /*------------------------------------ SAI2 configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == (RCC_PERIPHCLK_SAI2)) 80b81be: 687b ldr r3, [r7, #4] 80b81c0: 681b ldr r3, [r3, #0] 80b81c2: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80b81c6: 2b00 cmp r3, #0 80b81c8: d017 beq.n 80b81fa { /* Check the parameters */ assert_param(IS_RCC_SAI2CLKSOURCE(PeriphClkInit->Sai2ClockSelection)); /* Configure SAI2 Clock source */ __HAL_RCC_SAI2_CONFIG(PeriphClkInit->Sai2ClockSelection); 80b81ca: 494e ldr r1, [pc, #312] ; (80b8304 ) 80b81cc: 4b4d ldr r3, [pc, #308] ; (80b8304 ) 80b81ce: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b81d2: f423 0240 bic.w r2, r3, #12582912 ; 0xc00000 80b81d6: 687b ldr r3, [r7, #4] 80b81d8: 6c1b ldr r3, [r3, #64] ; 0x40 80b81da: 4313 orrs r3, r2 80b81dc: f8c1 308c str.w r3, [r1, #140] ; 0x8c /* Enable the PLLI2S when it's used as clock source for SAI */ if(PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S) 80b81e0: 687b ldr r3, [r7, #4] 80b81e2: 6c1b ldr r3, [r3, #64] ; 0x40 80b81e4: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 80b81e8: d101 bne.n 80b81ee { plli2sused = 1; 80b81ea: 2301 movs r3, #1 80b81ec: 61fb str r3, [r7, #28] } /* Enable the PLLSAI when it's used as clock source for SAI */ if(PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI) 80b81ee: 687b ldr r3, [r7, #4] 80b81f0: 6c1b ldr r3, [r3, #64] ; 0x40 80b81f2: 2b00 cmp r3, #0 80b81f4: d101 bne.n 80b81fa { pllsaiused = 1; 80b81f6: 2301 movs r3, #1 80b81f8: 61bb str r3, [r7, #24] } } /*-------------------------------------- SPDIF-RX Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX) 80b81fa: 687b ldr r3, [r7, #4] 80b81fc: 681b ldr r3, [r3, #0] 80b81fe: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b8202: 2b00 cmp r3, #0 80b8204: d001 beq.n 80b820a { plli2sused = 1; 80b8206: 2301 movs r3, #1 80b8208: 61fb str r3, [r7, #28] } /*------------------------------------ RTC configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_RTC) == (RCC_PERIPHCLK_RTC)) 80b820a: 687b ldr r3, [r7, #4] 80b820c: 681b ldr r3, [r3, #0] 80b820e: f003 0320 and.w r3, r3, #32 80b8212: 2b00 cmp r3, #0 80b8214: f000 808b beq.w 80b832e { /* Check for RTC Parameters used to output RTCCLK */ assert_param(IS_RCC_RTCCLKSOURCE(PeriphClkInit->RTCClockSelection)); /* Enable Power Clock*/ __HAL_RCC_PWR_CLK_ENABLE(); 80b8218: 4a3a ldr r2, [pc, #232] ; (80b8304 ) 80b821a: 4b3a ldr r3, [pc, #232] ; (80b8304 ) 80b821c: 6c1b ldr r3, [r3, #64] ; 0x40 80b821e: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80b8222: 6413 str r3, [r2, #64] ; 0x40 80b8224: 4b37 ldr r3, [pc, #220] ; (80b8304 ) 80b8226: 6c1b ldr r3, [r3, #64] ; 0x40 80b8228: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80b822c: 60bb str r3, [r7, #8] 80b822e: 68bb ldr r3, [r7, #8] /* Enable write access to Backup domain */ PWR->CR1 |= PWR_CR1_DBP; 80b8230: 4a35 ldr r2, [pc, #212] ; (80b8308 ) 80b8232: 4b35 ldr r3, [pc, #212] ; (80b8308 ) 80b8234: 681b ldr r3, [r3, #0] 80b8236: f443 7380 orr.w r3, r3, #256 ; 0x100 80b823a: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b823c: f7fb f818 bl 80b3270 80b8240: 6178 str r0, [r7, #20] /* Wait for Backup domain Write protection disable */ while((PWR->CR1 & PWR_CR1_DBP) == RESET) 80b8242: e008 b.n 80b8256 { if((HAL_GetTick() - tickstart) > RCC_DBP_TIMEOUT_VALUE) 80b8244: f7fb f814 bl 80b3270 80b8248: 4602 mov r2, r0 80b824a: 697b ldr r3, [r7, #20] 80b824c: 1ad3 subs r3, r2, r3 80b824e: 2b64 cmp r3, #100 ; 0x64 80b8250: d901 bls.n 80b8256 { return HAL_TIMEOUT; 80b8252: 2303 movs r3, #3 80b8254: e38d b.n 80b8972 while((PWR->CR1 & PWR_CR1_DBP) == RESET) 80b8256: 4b2c ldr r3, [pc, #176] ; (80b8308 ) 80b8258: 681b ldr r3, [r3, #0] 80b825a: f403 7380 and.w r3, r3, #256 ; 0x100 80b825e: 2b00 cmp r3, #0 80b8260: d0f0 beq.n 80b8244 } } /* Reset the Backup domain only if the RTC Clock source selection is modified */ tmpreg0 = (RCC->BDCR & RCC_BDCR_RTCSEL); 80b8262: 4b28 ldr r3, [pc, #160] ; (80b8304 ) 80b8264: 6f1b ldr r3, [r3, #112] ; 0x70 80b8266: f403 7340 and.w r3, r3, #768 ; 0x300 80b826a: 613b str r3, [r7, #16] if((tmpreg0 != 0x00000000U) && (tmpreg0 != (PeriphClkInit->RTCClockSelection & RCC_BDCR_RTCSEL))) 80b826c: 693b ldr r3, [r7, #16] 80b826e: 2b00 cmp r3, #0 80b8270: d035 beq.n 80b82de 80b8272: 687b ldr r3, [r7, #4] 80b8274: 6b1b ldr r3, [r3, #48] ; 0x30 80b8276: f403 7240 and.w r2, r3, #768 ; 0x300 80b827a: 693b ldr r3, [r7, #16] 80b827c: 429a cmp r2, r3 80b827e: d02e beq.n 80b82de { /* Store the content of BDCR register before the reset of Backup Domain */ tmpreg0 = (RCC->BDCR & ~(RCC_BDCR_RTCSEL)); 80b8280: 4b20 ldr r3, [pc, #128] ; (80b8304 ) 80b8282: 6f1b ldr r3, [r3, #112] ; 0x70 80b8284: f423 7340 bic.w r3, r3, #768 ; 0x300 80b8288: 613b str r3, [r7, #16] /* RTC Clock selection can be changed only if the Backup Domain is reset */ __HAL_RCC_BACKUPRESET_FORCE(); 80b828a: 4a1e ldr r2, [pc, #120] ; (80b8304 ) 80b828c: 4b1d ldr r3, [pc, #116] ; (80b8304 ) 80b828e: 6f1b ldr r3, [r3, #112] ; 0x70 80b8290: f443 3380 orr.w r3, r3, #65536 ; 0x10000 80b8294: 6713 str r3, [r2, #112] ; 0x70 __HAL_RCC_BACKUPRESET_RELEASE(); 80b8296: 4a1b ldr r2, [pc, #108] ; (80b8304 ) 80b8298: 4b1a ldr r3, [pc, #104] ; (80b8304 ) 80b829a: 6f1b ldr r3, [r3, #112] ; 0x70 80b829c: f423 3380 bic.w r3, r3, #65536 ; 0x10000 80b82a0: 6713 str r3, [r2, #112] ; 0x70 /* Restore the Content of BDCR register */ RCC->BDCR = tmpreg0; 80b82a2: 4a18 ldr r2, [pc, #96] ; (80b8304 ) 80b82a4: 693b ldr r3, [r7, #16] 80b82a6: 6713 str r3, [r2, #112] ; 0x70 /* Wait for LSE reactivation if LSE was enable prior to Backup Domain reset */ if (HAL_IS_BIT_SET(RCC->BDCR, RCC_BDCR_LSEON)) 80b82a8: 4b16 ldr r3, [pc, #88] ; (80b8304 ) 80b82aa: 6f1b ldr r3, [r3, #112] ; 0x70 80b82ac: f003 0301 and.w r3, r3, #1 80b82b0: 2b01 cmp r3, #1 80b82b2: d114 bne.n 80b82de { /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b82b4: f7fa ffdc bl 80b3270 80b82b8: 6178 str r0, [r7, #20] /* Wait till LSE is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80b82ba: e00a b.n 80b82d2 { if((HAL_GetTick() - tickstart ) > RCC_LSE_TIMEOUT_VALUE) 80b82bc: f7fa ffd8 bl 80b3270 80b82c0: 4602 mov r2, r0 80b82c2: 697b ldr r3, [r7, #20] 80b82c4: 1ad3 subs r3, r2, r3 80b82c6: f241 3288 movw r2, #5000 ; 0x1388 80b82ca: 4293 cmp r3, r2 80b82cc: d901 bls.n 80b82d2 { return HAL_TIMEOUT; 80b82ce: 2303 movs r3, #3 80b82d0: e34f b.n 80b8972 while(__HAL_RCC_GET_FLAG(RCC_FLAG_LSERDY) == RESET) 80b82d2: 4b0c ldr r3, [pc, #48] ; (80b8304 ) 80b82d4: 6f1b ldr r3, [r3, #112] ; 0x70 80b82d6: f003 0302 and.w r3, r3, #2 80b82da: 2b00 cmp r3, #0 80b82dc: d0ee beq.n 80b82bc } } } } __HAL_RCC_RTC_CONFIG(PeriphClkInit->RTCClockSelection); 80b82de: 687b ldr r3, [r7, #4] 80b82e0: 6b1b ldr r3, [r3, #48] ; 0x30 80b82e2: f403 7340 and.w r3, r3, #768 ; 0x300 80b82e6: f5b3 7f40 cmp.w r3, #768 ; 0x300 80b82ea: d111 bne.n 80b8310 80b82ec: 4805 ldr r0, [pc, #20] ; (80b8304 ) 80b82ee: 4b05 ldr r3, [pc, #20] ; (80b8304 ) 80b82f0: 689b ldr r3, [r3, #8] 80b82f2: f423 12f8 bic.w r2, r3, #2031616 ; 0x1f0000 80b82f6: 687b ldr r3, [r7, #4] 80b82f8: 6b19 ldr r1, [r3, #48] ; 0x30 80b82fa: 4b04 ldr r3, [pc, #16] ; (80b830c ) 80b82fc: 400b ands r3, r1 80b82fe: 4313 orrs r3, r2 80b8300: 6083 str r3, [r0, #8] 80b8302: e00b b.n 80b831c 80b8304: 40023800 .word 0x40023800 80b8308: 40007000 .word 0x40007000 80b830c: 0ffffcff .word 0x0ffffcff 80b8310: 4ab2 ldr r2, [pc, #712] ; (80b85dc ) 80b8312: 4bb2 ldr r3, [pc, #712] ; (80b85dc ) 80b8314: 689b ldr r3, [r3, #8] 80b8316: f423 13f8 bic.w r3, r3, #2031616 ; 0x1f0000 80b831a: 6093 str r3, [r2, #8] 80b831c: 49af ldr r1, [pc, #700] ; (80b85dc ) 80b831e: 4baf ldr r3, [pc, #700] ; (80b85dc ) 80b8320: 6f1a ldr r2, [r3, #112] ; 0x70 80b8322: 687b ldr r3, [r7, #4] 80b8324: 6b1b ldr r3, [r3, #48] ; 0x30 80b8326: f3c3 030b ubfx r3, r3, #0, #12 80b832a: 4313 orrs r3, r2 80b832c: 670b str r3, [r1, #112] ; 0x70 } /*------------------------------------ TIM configuration --------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_TIM) == (RCC_PERIPHCLK_TIM)) 80b832e: 687b ldr r3, [r7, #4] 80b8330: 681b ldr r3, [r3, #0] 80b8332: f003 0310 and.w r3, r3, #16 80b8336: 2b00 cmp r3, #0 80b8338: d010 beq.n 80b835c { /* Check the parameters */ assert_param(IS_RCC_TIMPRES(PeriphClkInit->TIMPresSelection)); /* Configure Timer Prescaler */ __HAL_RCC_TIMCLKPRESCALER(PeriphClkInit->TIMPresSelection); 80b833a: 4aa8 ldr r2, [pc, #672] ; (80b85dc ) 80b833c: 4ba7 ldr r3, [pc, #668] ; (80b85dc ) 80b833e: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b8342: f023 7380 bic.w r3, r3, #16777216 ; 0x1000000 80b8346: f8c2 308c str.w r3, [r2, #140] ; 0x8c 80b834a: 49a4 ldr r1, [pc, #656] ; (80b85dc ) 80b834c: 4ba3 ldr r3, [pc, #652] ; (80b85dc ) 80b834e: f8d3 208c ldr.w r2, [r3, #140] ; 0x8c 80b8352: 687b ldr r3, [r7, #4] 80b8354: 6b9b ldr r3, [r3, #56] ; 0x38 80b8356: 4313 orrs r3, r2 80b8358: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*-------------------------------------- I2C1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C1) == RCC_PERIPHCLK_I2C1) 80b835c: 687b ldr r3, [r7, #4] 80b835e: 681b ldr r3, [r3, #0] 80b8360: f403 4380 and.w r3, r3, #16384 ; 0x4000 80b8364: 2b00 cmp r3, #0 80b8366: d00a beq.n 80b837e { /* Check the parameters */ assert_param(IS_RCC_I2C1CLKSOURCE(PeriphClkInit->I2c1ClockSelection)); /* Configure the I2C1 clock source */ __HAL_RCC_I2C1_CONFIG(PeriphClkInit->I2c1ClockSelection); 80b8368: 499c ldr r1, [pc, #624] ; (80b85dc ) 80b836a: 4b9c ldr r3, [pc, #624] ; (80b85dc ) 80b836c: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b8370: f423 3240 bic.w r2, r3, #196608 ; 0x30000 80b8374: 687b ldr r3, [r7, #4] 80b8376: 6e5b ldr r3, [r3, #100] ; 0x64 80b8378: 4313 orrs r3, r2 80b837a: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C2 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C2) == RCC_PERIPHCLK_I2C2) 80b837e: 687b ldr r3, [r7, #4] 80b8380: 681b ldr r3, [r3, #0] 80b8382: f403 4300 and.w r3, r3, #32768 ; 0x8000 80b8386: 2b00 cmp r3, #0 80b8388: d00a beq.n 80b83a0 { /* Check the parameters */ assert_param(IS_RCC_I2C2CLKSOURCE(PeriphClkInit->I2c2ClockSelection)); /* Configure the I2C2 clock source */ __HAL_RCC_I2C2_CONFIG(PeriphClkInit->I2c2ClockSelection); 80b838a: 4994 ldr r1, [pc, #592] ; (80b85dc ) 80b838c: 4b93 ldr r3, [pc, #588] ; (80b85dc ) 80b838e: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b8392: f423 2240 bic.w r2, r3, #786432 ; 0xc0000 80b8396: 687b ldr r3, [r7, #4] 80b8398: 6e9b ldr r3, [r3, #104] ; 0x68 80b839a: 4313 orrs r3, r2 80b839c: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C3 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C3) == RCC_PERIPHCLK_I2C3) 80b83a0: 687b ldr r3, [r7, #4] 80b83a2: 681b ldr r3, [r3, #0] 80b83a4: f403 3380 and.w r3, r3, #65536 ; 0x10000 80b83a8: 2b00 cmp r3, #0 80b83aa: d00a beq.n 80b83c2 { /* Check the parameters */ assert_param(IS_RCC_I2C3CLKSOURCE(PeriphClkInit->I2c3ClockSelection)); /* Configure the I2C3 clock source */ __HAL_RCC_I2C3_CONFIG(PeriphClkInit->I2c3ClockSelection); 80b83ac: 498b ldr r1, [pc, #556] ; (80b85dc ) 80b83ae: 4b8b ldr r3, [pc, #556] ; (80b85dc ) 80b83b0: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b83b4: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 80b83b8: 687b ldr r3, [r7, #4] 80b83ba: 6edb ldr r3, [r3, #108] ; 0x6c 80b83bc: 4313 orrs r3, r2 80b83be: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- I2C4 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2C4) == RCC_PERIPHCLK_I2C4) 80b83c2: 687b ldr r3, [r7, #4] 80b83c4: 681b ldr r3, [r3, #0] 80b83c6: f403 3300 and.w r3, r3, #131072 ; 0x20000 80b83ca: 2b00 cmp r3, #0 80b83cc: d00a beq.n 80b83e4 { /* Check the parameters */ assert_param(IS_RCC_I2C4CLKSOURCE(PeriphClkInit->I2c4ClockSelection)); /* Configure the I2C4 clock source */ __HAL_RCC_I2C4_CONFIG(PeriphClkInit->I2c4ClockSelection); 80b83ce: 4983 ldr r1, [pc, #524] ; (80b85dc ) 80b83d0: 4b82 ldr r3, [pc, #520] ; (80b85dc ) 80b83d2: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b83d6: f423 0240 bic.w r2, r3, #12582912 ; 0xc00000 80b83da: 687b ldr r3, [r7, #4] 80b83dc: 6f1b ldr r3, [r3, #112] ; 0x70 80b83de: 4313 orrs r3, r2 80b83e0: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART1) == RCC_PERIPHCLK_USART1) 80b83e4: 687b ldr r3, [r7, #4] 80b83e6: 681b ldr r3, [r3, #0] 80b83e8: f003 0340 and.w r3, r3, #64 ; 0x40 80b83ec: 2b00 cmp r3, #0 80b83ee: d00a beq.n 80b8406 { /* Check the parameters */ assert_param(IS_RCC_USART1CLKSOURCE(PeriphClkInit->Usart1ClockSelection)); /* Configure the USART1 clock source */ __HAL_RCC_USART1_CONFIG(PeriphClkInit->Usart1ClockSelection); 80b83f0: 497a ldr r1, [pc, #488] ; (80b85dc ) 80b83f2: 4b7a ldr r3, [pc, #488] ; (80b85dc ) 80b83f4: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b83f8: f023 0203 bic.w r2, r3, #3 80b83fc: 687b ldr r3, [r7, #4] 80b83fe: 6c5b ldr r3, [r3, #68] ; 0x44 80b8400: 4313 orrs r3, r2 80b8402: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART2 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART2) == RCC_PERIPHCLK_USART2) 80b8406: 687b ldr r3, [r7, #4] 80b8408: 681b ldr r3, [r3, #0] 80b840a: f003 0380 and.w r3, r3, #128 ; 0x80 80b840e: 2b00 cmp r3, #0 80b8410: d00a beq.n 80b8428 { /* Check the parameters */ assert_param(IS_RCC_USART2CLKSOURCE(PeriphClkInit->Usart2ClockSelection)); /* Configure the USART2 clock source */ __HAL_RCC_USART2_CONFIG(PeriphClkInit->Usart2ClockSelection); 80b8412: 4972 ldr r1, [pc, #456] ; (80b85dc ) 80b8414: 4b71 ldr r3, [pc, #452] ; (80b85dc ) 80b8416: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b841a: f023 020c bic.w r2, r3, #12 80b841e: 687b ldr r3, [r7, #4] 80b8420: 6c9b ldr r3, [r3, #72] ; 0x48 80b8422: 4313 orrs r3, r2 80b8424: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART3 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART3) == RCC_PERIPHCLK_USART3) 80b8428: 687b ldr r3, [r7, #4] 80b842a: 681b ldr r3, [r3, #0] 80b842c: f403 7380 and.w r3, r3, #256 ; 0x100 80b8430: 2b00 cmp r3, #0 80b8432: d00a beq.n 80b844a { /* Check the parameters */ assert_param(IS_RCC_USART3CLKSOURCE(PeriphClkInit->Usart3ClockSelection)); /* Configure the USART3 clock source */ __HAL_RCC_USART3_CONFIG(PeriphClkInit->Usart3ClockSelection); 80b8434: 4969 ldr r1, [pc, #420] ; (80b85dc ) 80b8436: 4b69 ldr r3, [pc, #420] ; (80b85dc ) 80b8438: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b843c: f023 0230 bic.w r2, r3, #48 ; 0x30 80b8440: 687b ldr r3, [r7, #4] 80b8442: 6cdb ldr r3, [r3, #76] ; 0x4c 80b8444: 4313 orrs r3, r2 80b8446: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART4 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART4) == RCC_PERIPHCLK_UART4) 80b844a: 687b ldr r3, [r7, #4] 80b844c: 681b ldr r3, [r3, #0] 80b844e: f403 7300 and.w r3, r3, #512 ; 0x200 80b8452: 2b00 cmp r3, #0 80b8454: d00a beq.n 80b846c { /* Check the parameters */ assert_param(IS_RCC_UART4CLKSOURCE(PeriphClkInit->Uart4ClockSelection)); /* Configure the UART4 clock source */ __HAL_RCC_UART4_CONFIG(PeriphClkInit->Uart4ClockSelection); 80b8456: 4961 ldr r1, [pc, #388] ; (80b85dc ) 80b8458: 4b60 ldr r3, [pc, #384] ; (80b85dc ) 80b845a: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b845e: f023 02c0 bic.w r2, r3, #192 ; 0xc0 80b8462: 687b ldr r3, [r7, #4] 80b8464: 6d1b ldr r3, [r3, #80] ; 0x50 80b8466: 4313 orrs r3, r2 80b8468: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART5 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART5) == RCC_PERIPHCLK_UART5) 80b846c: 687b ldr r3, [r7, #4] 80b846e: 681b ldr r3, [r3, #0] 80b8470: f403 6380 and.w r3, r3, #1024 ; 0x400 80b8474: 2b00 cmp r3, #0 80b8476: d00a beq.n 80b848e { /* Check the parameters */ assert_param(IS_RCC_UART5CLKSOURCE(PeriphClkInit->Uart5ClockSelection)); /* Configure the UART5 clock source */ __HAL_RCC_UART5_CONFIG(PeriphClkInit->Uart5ClockSelection); 80b8478: 4958 ldr r1, [pc, #352] ; (80b85dc ) 80b847a: 4b58 ldr r3, [pc, #352] ; (80b85dc ) 80b847c: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b8480: f423 7240 bic.w r2, r3, #768 ; 0x300 80b8484: 687b ldr r3, [r7, #4] 80b8486: 6d5b ldr r3, [r3, #84] ; 0x54 80b8488: 4313 orrs r3, r2 80b848a: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- USART6 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_USART6) == RCC_PERIPHCLK_USART6) 80b848e: 687b ldr r3, [r7, #4] 80b8490: 681b ldr r3, [r3, #0] 80b8492: f403 6300 and.w r3, r3, #2048 ; 0x800 80b8496: 2b00 cmp r3, #0 80b8498: d00a beq.n 80b84b0 { /* Check the parameters */ assert_param(IS_RCC_USART6CLKSOURCE(PeriphClkInit->Usart6ClockSelection)); /* Configure the USART6 clock source */ __HAL_RCC_USART6_CONFIG(PeriphClkInit->Usart6ClockSelection); 80b849a: 4950 ldr r1, [pc, #320] ; (80b85dc ) 80b849c: 4b4f ldr r3, [pc, #316] ; (80b85dc ) 80b849e: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b84a2: f423 6240 bic.w r2, r3, #3072 ; 0xc00 80b84a6: 687b ldr r3, [r7, #4] 80b84a8: 6d9b ldr r3, [r3, #88] ; 0x58 80b84aa: 4313 orrs r3, r2 80b84ac: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART7 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART7) == RCC_PERIPHCLK_UART7) 80b84b0: 687b ldr r3, [r7, #4] 80b84b2: 681b ldr r3, [r3, #0] 80b84b4: f403 5380 and.w r3, r3, #4096 ; 0x1000 80b84b8: 2b00 cmp r3, #0 80b84ba: d00a beq.n 80b84d2 { /* Check the parameters */ assert_param(IS_RCC_UART7CLKSOURCE(PeriphClkInit->Uart7ClockSelection)); /* Configure the UART7 clock source */ __HAL_RCC_UART7_CONFIG(PeriphClkInit->Uart7ClockSelection); 80b84bc: 4947 ldr r1, [pc, #284] ; (80b85dc ) 80b84be: 4b47 ldr r3, [pc, #284] ; (80b85dc ) 80b84c0: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b84c4: f423 5240 bic.w r2, r3, #12288 ; 0x3000 80b84c8: 687b ldr r3, [r7, #4] 80b84ca: 6ddb ldr r3, [r3, #92] ; 0x5c 80b84cc: 4313 orrs r3, r2 80b84ce: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- UART8 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_UART8) == RCC_PERIPHCLK_UART8) 80b84d2: 687b ldr r3, [r7, #4] 80b84d4: 681b ldr r3, [r3, #0] 80b84d6: f403 5300 and.w r3, r3, #8192 ; 0x2000 80b84da: 2b00 cmp r3, #0 80b84dc: d00a beq.n 80b84f4 { /* Check the parameters */ assert_param(IS_RCC_UART8CLKSOURCE(PeriphClkInit->Uart8ClockSelection)); /* Configure the UART8 clock source */ __HAL_RCC_UART8_CONFIG(PeriphClkInit->Uart8ClockSelection); 80b84de: 493f ldr r1, [pc, #252] ; (80b85dc ) 80b84e0: 4b3e ldr r3, [pc, #248] ; (80b85dc ) 80b84e2: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b84e6: f423 4240 bic.w r2, r3, #49152 ; 0xc000 80b84ea: 687b ldr r3, [r7, #4] 80b84ec: 6e1b ldr r3, [r3, #96] ; 0x60 80b84ee: 4313 orrs r3, r2 80b84f0: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*--------------------------------------- CEC Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CEC) == RCC_PERIPHCLK_CEC) 80b84f4: 687b ldr r3, [r7, #4] 80b84f6: 681b ldr r3, [r3, #0] 80b84f8: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80b84fc: 2b00 cmp r3, #0 80b84fe: d00a beq.n 80b8516 { /* Check the parameters */ assert_param(IS_RCC_CECCLKSOURCE(PeriphClkInit->CecClockSelection)); /* Configure the CEC clock source */ __HAL_RCC_CEC_CONFIG(PeriphClkInit->CecClockSelection); 80b8500: 4936 ldr r1, [pc, #216] ; (80b85dc ) 80b8502: 4b36 ldr r3, [pc, #216] ; (80b85dc ) 80b8504: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b8508: f023 6280 bic.w r2, r3, #67108864 ; 0x4000000 80b850c: 687b ldr r3, [r7, #4] 80b850e: 6f9b ldr r3, [r3, #120] ; 0x78 80b8510: 4313 orrs r3, r2 80b8512: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*-------------------------------------- CK48 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CLK48) == RCC_PERIPHCLK_CLK48) 80b8516: 687b ldr r3, [r7, #4] 80b8518: 681b ldr r3, [r3, #0] 80b851a: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80b851e: 2b00 cmp r3, #0 80b8520: d011 beq.n 80b8546 { /* Check the parameters */ assert_param(IS_RCC_CLK48SOURCE(PeriphClkInit->Clk48ClockSelection)); /* Configure the CLK48 source */ __HAL_RCC_CLK48_CONFIG(PeriphClkInit->Clk48ClockSelection); 80b8522: 492e ldr r1, [pc, #184] ; (80b85dc ) 80b8524: 4b2d ldr r3, [pc, #180] ; (80b85dc ) 80b8526: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b852a: f023 6200 bic.w r2, r3, #134217728 ; 0x8000000 80b852e: 687b ldr r3, [r7, #4] 80b8530: 6fdb ldr r3, [r3, #124] ; 0x7c 80b8532: 4313 orrs r3, r2 80b8534: f8c1 3090 str.w r3, [r1, #144] ; 0x90 /* Enable the PLLSAI when it's used as clock source for CK48 */ if(PeriphClkInit->Clk48ClockSelection == RCC_CLK48SOURCE_PLLSAIP) 80b8538: 687b ldr r3, [r7, #4] 80b853a: 6fdb ldr r3, [r3, #124] ; 0x7c 80b853c: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 80b8540: d101 bne.n 80b8546 { pllsaiused = 1; 80b8542: 2301 movs r3, #1 80b8544: 61bb str r3, [r7, #24] } } /*-------------------------------------- LTDC Configuration -----------------------------------*/ #if defined(STM32F746xx) || defined(STM32F756xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx) || defined (STM32F750xx) if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LTDC) == RCC_PERIPHCLK_LTDC) 80b8546: 687b ldr r3, [r7, #4] 80b8548: 681b ldr r3, [r3, #0] 80b854a: f003 0308 and.w r3, r3, #8 80b854e: 2b00 cmp r3, #0 80b8550: d001 beq.n 80b8556 { pllsaiused = 1; 80b8552: 2301 movs r3, #1 80b8554: 61bb str r3, [r7, #24] } #endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx */ /*-------------------------------------- LPTIM1 Configuration -----------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LPTIM1) == RCC_PERIPHCLK_LPTIM1) 80b8556: 687b ldr r3, [r7, #4] 80b8558: 681b ldr r3, [r3, #0] 80b855a: f403 2380 and.w r3, r3, #262144 ; 0x40000 80b855e: 2b00 cmp r3, #0 80b8560: d00a beq.n 80b8578 { /* Check the parameters */ assert_param(IS_RCC_LPTIM1CLK(PeriphClkInit->Lptim1ClockSelection)); /* Configure the LTPIM1 clock source */ __HAL_RCC_LPTIM1_CONFIG(PeriphClkInit->Lptim1ClockSelection); 80b8562: 491e ldr r1, [pc, #120] ; (80b85dc ) 80b8564: 4b1d ldr r3, [pc, #116] ; (80b85dc ) 80b8566: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b856a: f023 7240 bic.w r2, r3, #50331648 ; 0x3000000 80b856e: 687b ldr r3, [r7, #4] 80b8570: 6f5b ldr r3, [r3, #116] ; 0x74 80b8572: 4313 orrs r3, r2 80b8574: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*------------------------------------- SDMMC1 Configuration ------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC1) == RCC_PERIPHCLK_SDMMC1) 80b8578: 687b ldr r3, [r7, #4] 80b857a: 681b ldr r3, [r3, #0] 80b857c: f403 0300 and.w r3, r3, #8388608 ; 0x800000 80b8580: 2b00 cmp r3, #0 80b8582: d00b beq.n 80b859c { /* Check the parameters */ assert_param(IS_RCC_SDMMC1CLKSOURCE(PeriphClkInit->Sdmmc1ClockSelection)); /* Configure the SDMMC1 clock source */ __HAL_RCC_SDMMC1_CONFIG(PeriphClkInit->Sdmmc1ClockSelection); 80b8584: 4915 ldr r1, [pc, #84] ; (80b85dc ) 80b8586: 4b15 ldr r3, [pc, #84] ; (80b85dc ) 80b8588: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b858c: f023 5280 bic.w r2, r3, #268435456 ; 0x10000000 80b8590: 687b ldr r3, [r7, #4] 80b8592: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80b8596: 4313 orrs r3, r2 80b8598: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } #if defined (STM32F765xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx) /*------------------------------------- SDMMC2 Configuration ------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SDMMC2) == RCC_PERIPHCLK_SDMMC2) 80b859c: 687b ldr r3, [r7, #4] 80b859e: 681b ldr r3, [r3, #0] 80b85a0: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80b85a4: 2b00 cmp r3, #0 80b85a6: d00b beq.n 80b85c0 { /* Check the parameters */ assert_param(IS_RCC_SDMMC2CLKSOURCE(PeriphClkInit->Sdmmc2ClockSelection)); /* Configure the SDMMC2 clock source */ __HAL_RCC_SDMMC2_CONFIG(PeriphClkInit->Sdmmc2ClockSelection); 80b85a8: 490c ldr r1, [pc, #48] ; (80b85dc ) 80b85aa: 4b0c ldr r3, [pc, #48] ; (80b85dc ) 80b85ac: f8d3 3090 ldr.w r3, [r3, #144] ; 0x90 80b85b0: f023 5200 bic.w r2, r3, #536870912 ; 0x20000000 80b85b4: 687b ldr r3, [r7, #4] 80b85b6: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b85ba: 4313 orrs r3, r2 80b85bc: f8c1 3090 str.w r3, [r1, #144] ; 0x90 } /*------------------------------------- DFSDM1 Configuration -------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1) == RCC_PERIPHCLK_DFSDM1) 80b85c0: 687b ldr r3, [r7, #4] 80b85c2: 681b ldr r3, [r3, #0] 80b85c4: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80b85c8: 2b00 cmp r3, #0 80b85ca: d00e beq.n 80b85ea { /* Check the parameters */ assert_param(IS_RCC_DFSDM1CLKSOURCE(PeriphClkInit->Dfsdm1ClockSelection)); /* Configure the DFSDM1 interface clock source */ __HAL_RCC_DFSDM1_CONFIG(PeriphClkInit->Dfsdm1ClockSelection); 80b85cc: 4903 ldr r1, [pc, #12] ; (80b85dc ) 80b85ce: 4b03 ldr r3, [pc, #12] ; (80b85dc ) 80b85d0: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b85d4: f023 7200 bic.w r2, r3, #33554432 ; 0x2000000 80b85d8: 687b ldr r3, [r7, #4] 80b85da: e001 b.n 80b85e0 80b85dc: 40023800 .word 0x40023800 80b85e0: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b85e4: 4313 orrs r3, r2 80b85e6: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*------------------------------------- DFSDM AUDIO Configuration -------------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_DFSDM1_AUDIO) == RCC_PERIPHCLK_DFSDM1_AUDIO) 80b85ea: 687b ldr r3, [r7, #4] 80b85ec: 681b ldr r3, [r3, #0] 80b85ee: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80b85f2: 2b00 cmp r3, #0 80b85f4: d00b beq.n 80b860e { /* Check the parameters */ assert_param(IS_RCC_DFSDM1AUDIOCLKSOURCE(PeriphClkInit->Dfsdm1AudioClockSelection)); /* Configure the DFSDM interface clock source */ __HAL_RCC_DFSDM1AUDIO_CONFIG(PeriphClkInit->Dfsdm1AudioClockSelection); 80b85f6: 4981 ldr r1, [pc, #516] ; (80b87fc ) 80b85f8: 4b80 ldr r3, [pc, #512] ; (80b87fc ) 80b85fa: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b85fe: f023 6280 bic.w r2, r3, #67108864 ; 0x4000000 80b8602: 687b ldr r3, [r7, #4] 80b8604: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b8608: 4313 orrs r3, r2 80b860a: f8c1 308c str.w r3, [r1, #140] ; 0x8c } #endif /* STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx */ /*-------------------------------------- PLLI2S Configuration ---------------------------------*/ /* PLLI2S is configured when a peripheral will use it as source clock : SAI1, SAI2, I2S or SPDIF-RX */ if((plli2sused == 1) || ((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_PLLI2S) == RCC_PERIPHCLK_PLLI2S)) 80b860e: 69fb ldr r3, [r7, #28] 80b8610: 2b01 cmp r3, #1 80b8612: d006 beq.n 80b8622 80b8614: 687b ldr r3, [r7, #4] 80b8616: 681b ldr r3, [r3, #0] 80b8618: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80b861c: 2b00 cmp r3, #0 80b861e: f000 80d6 beq.w 80b87ce { /* Disable the PLLI2S */ __HAL_RCC_PLLI2S_DISABLE(); 80b8622: 4a76 ldr r2, [pc, #472] ; (80b87fc ) 80b8624: 4b75 ldr r3, [pc, #468] ; (80b87fc ) 80b8626: 681b ldr r3, [r3, #0] 80b8628: f023 6380 bic.w r3, r3, #67108864 ; 0x4000000 80b862c: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b862e: f7fa fe1f bl 80b3270 80b8632: 6178 str r0, [r7, #20] /* Wait till PLLI2S is disabled */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) != RESET) 80b8634: e008 b.n 80b8648 { if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE) 80b8636: f7fa fe1b bl 80b3270 80b863a: 4602 mov r2, r0 80b863c: 697b ldr r3, [r7, #20] 80b863e: 1ad3 subs r3, r2, r3 80b8640: 2b64 cmp r3, #100 ; 0x64 80b8642: d901 bls.n 80b8648 { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80b8644: 2303 movs r3, #3 80b8646: e194 b.n 80b8972 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) != RESET) 80b8648: 4b6c ldr r3, [pc, #432] ; (80b87fc ) 80b864a: 681b ldr r3, [r3, #0] 80b864c: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80b8650: 2b00 cmp r3, #0 80b8652: d1f0 bne.n 80b8636 /* check for common PLLI2S Parameters */ assert_param(IS_RCC_PLLI2SN_VALUE(PeriphClkInit->PLLI2S.PLLI2SN)); /*----------------- In Case of PLLI2S is selected as source clock for I2S -------------------*/ if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_I2S) == RCC_PERIPHCLK_I2S) && (PeriphClkInit->I2sClockSelection == RCC_I2SCLKSOURCE_PLLI2S))) 80b8654: 687b ldr r3, [r7, #4] 80b8656: 681b ldr r3, [r3, #0] 80b8658: f003 0301 and.w r3, r3, #1 80b865c: 2b00 cmp r3, #0 80b865e: d021 beq.n 80b86a4 80b8660: 687b ldr r3, [r7, #4] 80b8662: 6b5b ldr r3, [r3, #52] ; 0x34 80b8664: 2b00 cmp r3, #0 80b8666: d11d bne.n 80b86a4 { /* check for Parameters */ assert_param(IS_RCC_PLLI2SR_VALUE(PeriphClkInit->PLLI2S.PLLI2SR)); /* Read PLLI2SP and PLLI2SQ value from PLLI2SCFGR register (this value is not needed for I2S configuration) */ tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SP) >> RCC_PLLI2SCFGR_PLLI2SP_Pos); 80b8668: 4b64 ldr r3, [pc, #400] ; (80b87fc ) 80b866a: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b866e: 0c1b lsrs r3, r3, #16 80b8670: f003 0303 and.w r3, r3, #3 80b8674: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SQ) >> RCC_PLLI2SCFGR_PLLI2SQ_Pos); 80b8676: 4b61 ldr r3, [pc, #388] ; (80b87fc ) 80b8678: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b867c: 0e1b lsrs r3, r3, #24 80b867e: f003 030f and.w r3, r3, #15 80b8682: 60fb str r3, [r7, #12] /* Configure the PLLI2S division factors */ /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLM) */ /* I2SCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SR */ __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , tmpreg0, tmpreg1, PeriphClkInit->PLLI2S.PLLI2SR); 80b8684: 495d ldr r1, [pc, #372] ; (80b87fc ) 80b8686: 687b ldr r3, [r7, #4] 80b8688: 685b ldr r3, [r3, #4] 80b868a: 019a lsls r2, r3, #6 80b868c: 693b ldr r3, [r7, #16] 80b868e: 041b lsls r3, r3, #16 80b8690: 431a orrs r2, r3 80b8692: 68fb ldr r3, [r7, #12] 80b8694: 061b lsls r3, r3, #24 80b8696: 431a orrs r2, r3 80b8698: 687b ldr r3, [r7, #4] 80b869a: 689b ldr r3, [r3, #8] 80b869c: 071b lsls r3, r3, #28 80b869e: 4313 orrs r3, r2 80b86a0: f8c1 3084 str.w r3, [r1, #132] ; 0x84 } /*----------------- In Case of PLLI2S is selected as source clock for SAI -------------------*/ if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)) || 80b86a4: 687b ldr r3, [r7, #4] 80b86a6: 681b ldr r3, [r3, #0] 80b86a8: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b86ac: 2b00 cmp r3, #0 80b86ae: d004 beq.n 80b86ba 80b86b0: 687b ldr r3, [r7, #4] 80b86b2: 6bdb ldr r3, [r3, #60] ; 0x3c 80b86b4: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80b86b8: d00a beq.n 80b86d0 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S))) 80b86ba: 687b ldr r3, [r7, #4] 80b86bc: 681b ldr r3, [r3, #0] 80b86be: f403 1380 and.w r3, r3, #1048576 ; 0x100000 if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLI2S)) || 80b86c2: 2b00 cmp r3, #0 80b86c4: d02e beq.n 80b8724 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLI2S))) 80b86c6: 687b ldr r3, [r7, #4] 80b86c8: 6c1b ldr r3, [r3, #64] ; 0x40 80b86ca: f5b3 0f80 cmp.w r3, #4194304 ; 0x400000 80b86ce: d129 bne.n 80b8724 assert_param(IS_RCC_PLLI2SQ_VALUE(PeriphClkInit->PLLI2S.PLLI2SQ)); /* Check for PLLI2S/DIVQ parameters */ assert_param(IS_RCC_PLLI2S_DIVQ_VALUE(PeriphClkInit->PLLI2SDivQ)); /* Read PLLI2SP and PLLI2SR values from PLLI2SCFGR register (this value is not needed for SAI configuration) */ tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SP) >> RCC_PLLI2SCFGR_PLLI2SP_Pos); 80b86d0: 4b4a ldr r3, [pc, #296] ; (80b87fc ) 80b86d2: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b86d6: 0c1b lsrs r3, r3, #16 80b86d8: f003 0303 and.w r3, r3, #3 80b86dc: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos); 80b86de: 4b47 ldr r3, [pc, #284] ; (80b87fc ) 80b86e0: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b86e4: 0f1b lsrs r3, r3, #28 80b86e6: f003 0307 and.w r3, r3, #7 80b86ea: 60fb str r3, [r7, #12] /* Configure the PLLI2S division factors */ /* PLLI2S_VCO Input = PLL_SOURCE/PLLM */ /* PLLI2S_VCO Output = PLLI2S_VCO Input * PLLI2SN */ /* SAI_CLK(first level) = PLLI2S_VCO Output/PLLI2SQ */ __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN, tmpreg0, PeriphClkInit->PLLI2S.PLLI2SQ, tmpreg1); 80b86ec: 4943 ldr r1, [pc, #268] ; (80b87fc ) 80b86ee: 687b ldr r3, [r7, #4] 80b86f0: 685b ldr r3, [r3, #4] 80b86f2: 019a lsls r2, r3, #6 80b86f4: 693b ldr r3, [r7, #16] 80b86f6: 041b lsls r3, r3, #16 80b86f8: 431a orrs r2, r3 80b86fa: 687b ldr r3, [r7, #4] 80b86fc: 68db ldr r3, [r3, #12] 80b86fe: 061b lsls r3, r3, #24 80b8700: 431a orrs r2, r3 80b8702: 68fb ldr r3, [r7, #12] 80b8704: 071b lsls r3, r3, #28 80b8706: 4313 orrs r3, r2 80b8708: f8c1 3084 str.w r3, [r1, #132] ; 0x84 /* SAI_CLK_x = SAI_CLK(first level)/PLLI2SDIVQ */ __HAL_RCC_PLLI2S_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLI2SDivQ); 80b870c: 493b ldr r1, [pc, #236] ; (80b87fc ) 80b870e: 4b3b ldr r3, [pc, #236] ; (80b87fc ) 80b8710: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b8714: f023 021f bic.w r2, r3, #31 80b8718: 687b ldr r3, [r7, #4] 80b871a: 6a5b ldr r3, [r3, #36] ; 0x24 80b871c: 3b01 subs r3, #1 80b871e: 4313 orrs r3, r2 80b8720: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*----------------- In Case of PLLI2S is selected as source clock for SPDIF-RX -------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SPDIFRX) == RCC_PERIPHCLK_SPDIFRX) 80b8724: 687b ldr r3, [r7, #4] 80b8726: 681b ldr r3, [r3, #0] 80b8728: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80b872c: 2b00 cmp r3, #0 80b872e: d01d beq.n 80b876c { /* check for Parameters */ assert_param(IS_RCC_PLLI2SP_VALUE(PeriphClkInit->PLLI2S.PLLI2SP)); /* Read PLLI2SR value from PLLI2SCFGR register (this value is not needed for SPDIF-RX configuration) */ tmpreg0 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SQ) >> RCC_PLLI2SCFGR_PLLI2SQ_Pos); 80b8730: 4b32 ldr r3, [pc, #200] ; (80b87fc ) 80b8732: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b8736: 0e1b lsrs r3, r3, #24 80b8738: f003 030f and.w r3, r3, #15 80b873c: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLI2SCFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLI2SCFGR_PLLI2SR_Pos); 80b873e: 4b2f ldr r3, [pc, #188] ; (80b87fc ) 80b8740: f8d3 3084 ldr.w r3, [r3, #132] ; 0x84 80b8744: 0f1b lsrs r3, r3, #28 80b8746: f003 0307 and.w r3, r3, #7 80b874a: 60fb str r3, [r7, #12] /* Configure the PLLI2S division factors */ /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLM) */ /* SPDIFCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SP */ __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SP, tmpreg0, tmpreg1); 80b874c: 492b ldr r1, [pc, #172] ; (80b87fc ) 80b874e: 687b ldr r3, [r7, #4] 80b8750: 685b ldr r3, [r3, #4] 80b8752: 019a lsls r2, r3, #6 80b8754: 687b ldr r3, [r7, #4] 80b8756: 691b ldr r3, [r3, #16] 80b8758: 041b lsls r3, r3, #16 80b875a: 431a orrs r2, r3 80b875c: 693b ldr r3, [r7, #16] 80b875e: 061b lsls r3, r3, #24 80b8760: 431a orrs r2, r3 80b8762: 68fb ldr r3, [r7, #12] 80b8764: 071b lsls r3, r3, #28 80b8766: 4313 orrs r3, r2 80b8768: f8c1 3084 str.w r3, [r1, #132] ; 0x84 } /*----------------- In Case of PLLI2S is just selected -----------------*/ if((PeriphClkInit->PeriphClockSelection & RCC_PERIPHCLK_PLLI2S) == RCC_PERIPHCLK_PLLI2S) 80b876c: 687b ldr r3, [r7, #4] 80b876e: 681b ldr r3, [r3, #0] 80b8770: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80b8774: 2b00 cmp r3, #0 80b8776: d011 beq.n 80b879c assert_param(IS_RCC_PLLI2SQ_VALUE(PeriphClkInit->PLLI2S.PLLI2SQ)); /* Configure the PLLI2S division factors */ /* PLLI2S_VCO = f(VCO clock) = f(PLLI2S clock input) x (PLLI2SN/PLLI2SM) */ /* SPDIFRXCLK = f(PLLI2S clock output) = f(VCO clock) / PLLI2SP */ __HAL_RCC_PLLI2S_CONFIG(PeriphClkInit->PLLI2S.PLLI2SN , PeriphClkInit->PLLI2S.PLLI2SP, PeriphClkInit->PLLI2S.PLLI2SQ, PeriphClkInit->PLLI2S.PLLI2SR); 80b8778: 4920 ldr r1, [pc, #128] ; (80b87fc ) 80b877a: 687b ldr r3, [r7, #4] 80b877c: 685b ldr r3, [r3, #4] 80b877e: 019a lsls r2, r3, #6 80b8780: 687b ldr r3, [r7, #4] 80b8782: 691b ldr r3, [r3, #16] 80b8784: 041b lsls r3, r3, #16 80b8786: 431a orrs r2, r3 80b8788: 687b ldr r3, [r7, #4] 80b878a: 68db ldr r3, [r3, #12] 80b878c: 061b lsls r3, r3, #24 80b878e: 431a orrs r2, r3 80b8790: 687b ldr r3, [r7, #4] 80b8792: 689b ldr r3, [r3, #8] 80b8794: 071b lsls r3, r3, #28 80b8796: 4313 orrs r3, r2 80b8798: f8c1 3084 str.w r3, [r1, #132] ; 0x84 } /* Enable the PLLI2S */ __HAL_RCC_PLLI2S_ENABLE(); 80b879c: 4a17 ldr r2, [pc, #92] ; (80b87fc ) 80b879e: 4b17 ldr r3, [pc, #92] ; (80b87fc ) 80b87a0: 681b ldr r3, [r3, #0] 80b87a2: f043 6380 orr.w r3, r3, #67108864 ; 0x4000000 80b87a6: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b87a8: f7fa fd62 bl 80b3270 80b87ac: 6178 str r0, [r7, #20] /* Wait till PLLI2S is ready */ while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) == RESET) 80b87ae: e008 b.n 80b87c2 { if((HAL_GetTick() - tickstart) > PLLI2S_TIMEOUT_VALUE) 80b87b0: f7fa fd5e bl 80b3270 80b87b4: 4602 mov r2, r0 80b87b6: 697b ldr r3, [r7, #20] 80b87b8: 1ad3 subs r3, r2, r3 80b87ba: 2b64 cmp r3, #100 ; 0x64 80b87bc: d901 bls.n 80b87c2 { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80b87be: 2303 movs r3, #3 80b87c0: e0d7 b.n 80b8972 while(__HAL_RCC_GET_FLAG(RCC_FLAG_PLLI2SRDY) == RESET) 80b87c2: 4b0e ldr r3, [pc, #56] ; (80b87fc ) 80b87c4: 681b ldr r3, [r3, #0] 80b87c6: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80b87ca: 2b00 cmp r3, #0 80b87cc: d0f0 beq.n 80b87b0 } } /*-------------------------------------- PLLSAI Configuration ---------------------------------*/ /* PLLSAI is configured when a peripheral will use it as source clock : SAI1, SAI2, LTDC or CK48 */ if(pllsaiused == 1) 80b87ce: 69bb ldr r3, [r7, #24] 80b87d0: 2b01 cmp r3, #1 80b87d2: f040 80cd bne.w 80b8970 { /* Disable PLLSAI Clock */ __HAL_RCC_PLLSAI_DISABLE(); 80b87d6: 4a09 ldr r2, [pc, #36] ; (80b87fc ) 80b87d8: 4b08 ldr r3, [pc, #32] ; (80b87fc ) 80b87da: 681b ldr r3, [r3, #0] 80b87dc: f023 5380 bic.w r3, r3, #268435456 ; 0x10000000 80b87e0: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b87e2: f7fa fd45 bl 80b3270 80b87e6: 6178 str r0, [r7, #20] /* Wait till PLLSAI is disabled */ while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET) 80b87e8: e00a b.n 80b8800 { if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE) 80b87ea: f7fa fd41 bl 80b3270 80b87ee: 4602 mov r2, r0 80b87f0: 697b ldr r3, [r7, #20] 80b87f2: 1ad3 subs r3, r2, r3 80b87f4: 2b64 cmp r3, #100 ; 0x64 80b87f6: d903 bls.n 80b8800 { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80b87f8: 2303 movs r3, #3 80b87fa: e0ba b.n 80b8972 80b87fc: 40023800 .word 0x40023800 while(__HAL_RCC_PLLSAI_GET_FLAG() != RESET) 80b8800: 4b5e ldr r3, [pc, #376] ; (80b897c ) 80b8802: 681b ldr r3, [r3, #0] 80b8804: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80b8808: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 80b880c: d0ed beq.n 80b87ea /* Check the PLLSAI division factors */ assert_param(IS_RCC_PLLSAIN_VALUE(PeriphClkInit->PLLSAI.PLLSAIN)); /*----------------- In Case of PLLSAI is selected as source clock for SAI -------------------*/ if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)) ||\ 80b880e: 687b ldr r3, [r7, #4] 80b8810: 681b ldr r3, [r3, #0] 80b8812: f403 2300 and.w r3, r3, #524288 ; 0x80000 80b8816: 2b00 cmp r3, #0 80b8818: d003 beq.n 80b8822 80b881a: 687b ldr r3, [r7, #4] 80b881c: 6bdb ldr r3, [r3, #60] ; 0x3c 80b881e: 2b00 cmp r3, #0 80b8820: d009 beq.n 80b8836 ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI))) 80b8822: 687b ldr r3, [r7, #4] 80b8824: 681b ldr r3, [r3, #0] 80b8826: f403 1380 and.w r3, r3, #1048576 ; 0x100000 if(((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI1) == RCC_PERIPHCLK_SAI1) && (PeriphClkInit->Sai1ClockSelection == RCC_SAI1CLKSOURCE_PLLSAI)) ||\ 80b882a: 2b00 cmp r3, #0 80b882c: d02e beq.n 80b888c ((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_SAI2) == RCC_PERIPHCLK_SAI2) && (PeriphClkInit->Sai2ClockSelection == RCC_SAI2CLKSOURCE_PLLSAI))) 80b882e: 687b ldr r3, [r7, #4] 80b8830: 6c1b ldr r3, [r3, #64] ; 0x40 80b8832: 2b00 cmp r3, #0 80b8834: d12a bne.n 80b888c assert_param(IS_RCC_PLLSAIQ_VALUE(PeriphClkInit->PLLSAI.PLLSAIQ)); /* check for PLLSAI/DIVQ Parameter */ assert_param(IS_RCC_PLLSAI_DIVQ_VALUE(PeriphClkInit->PLLSAIDivQ)); /* Read PLLSAIP value from PLLSAICFGR register (this value is not needed for SAI configuration) */ tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIP) >> RCC_PLLSAICFGR_PLLSAIP_Pos); 80b8836: 4b51 ldr r3, [pc, #324] ; (80b897c ) 80b8838: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b883c: 0c1b lsrs r3, r3, #16 80b883e: f003 0303 and.w r3, r3, #3 80b8842: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLI2SCFGR_PLLI2SR) >> RCC_PLLSAICFGR_PLLSAIR_Pos); 80b8844: 4b4d ldr r3, [pc, #308] ; (80b897c ) 80b8846: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b884a: 0f1b lsrs r3, r3, #28 80b884c: f003 0307 and.w r3, r3, #7 80b8850: 60fb str r3, [r7, #12] /* PLLSAI_VCO Input = PLL_SOURCE/PLLM */ /* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAIN */ /* SAI_CLK(first level) = PLLSAI_VCO Output/PLLSAIQ */ __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , tmpreg0, PeriphClkInit->PLLSAI.PLLSAIQ, tmpreg1); 80b8852: 494a ldr r1, [pc, #296] ; (80b897c ) 80b8854: 687b ldr r3, [r7, #4] 80b8856: 695b ldr r3, [r3, #20] 80b8858: 019a lsls r2, r3, #6 80b885a: 693b ldr r3, [r7, #16] 80b885c: 041b lsls r3, r3, #16 80b885e: 431a orrs r2, r3 80b8860: 687b ldr r3, [r7, #4] 80b8862: 699b ldr r3, [r3, #24] 80b8864: 061b lsls r3, r3, #24 80b8866: 431a orrs r2, r3 80b8868: 68fb ldr r3, [r7, #12] 80b886a: 071b lsls r3, r3, #28 80b886c: 4313 orrs r3, r2 80b886e: f8c1 3088 str.w r3, [r1, #136] ; 0x88 /* SAI_CLK_x = SAI_CLK(first level)/PLLSAIDIVQ */ __HAL_RCC_PLLSAI_PLLSAICLKDIVQ_CONFIG(PeriphClkInit->PLLSAIDivQ); 80b8872: 4942 ldr r1, [pc, #264] ; (80b897c ) 80b8874: 4b41 ldr r3, [pc, #260] ; (80b897c ) 80b8876: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b887a: f423 52f8 bic.w r2, r3, #7936 ; 0x1f00 80b887e: 687b ldr r3, [r7, #4] 80b8880: 6a9b ldr r3, [r3, #40] ; 0x28 80b8882: 3b01 subs r3, #1 80b8884: 021b lsls r3, r3, #8 80b8886: 4313 orrs r3, r2 80b8888: f8c1 308c str.w r3, [r1, #140] ; 0x8c } /*----------------- In Case of PLLSAI is selected as source clock for CLK48 -------------------*/ /* In Case of PLLI2S is selected as source clock for CK48 */ if((((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_CLK48) == RCC_PERIPHCLK_CLK48) && (PeriphClkInit->Clk48ClockSelection == RCC_CLK48SOURCE_PLLSAIP)) 80b888c: 687b ldr r3, [r7, #4] 80b888e: 681b ldr r3, [r3, #0] 80b8890: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80b8894: 2b00 cmp r3, #0 80b8896: d022 beq.n 80b88de 80b8898: 687b ldr r3, [r7, #4] 80b889a: 6fdb ldr r3, [r3, #124] ; 0x7c 80b889c: f1b3 6f00 cmp.w r3, #134217728 ; 0x8000000 80b88a0: d11d bne.n 80b88de { /* check for Parameters */ assert_param(IS_RCC_PLLSAIP_VALUE(PeriphClkInit->PLLSAI.PLLSAIP)); /* Read PLLSAIQ and PLLSAIR value from PLLSAICFGR register (this value is not needed for CK48 configuration) */ tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIQ) >> RCC_PLLSAICFGR_PLLSAIQ_Pos); 80b88a2: 4b36 ldr r3, [pc, #216] ; (80b897c ) 80b88a4: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b88a8: 0e1b lsrs r3, r3, #24 80b88aa: f003 030f and.w r3, r3, #15 80b88ae: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIR) >> RCC_PLLSAICFGR_PLLSAIR_Pos); 80b88b0: 4b32 ldr r3, [pc, #200] ; (80b897c ) 80b88b2: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b88b6: 0f1b lsrs r3, r3, #28 80b88b8: f003 0307 and.w r3, r3, #7 80b88bc: 60fb str r3, [r7, #12] /* Configure the PLLSAI division factors */ /* PLLSAI_VCO = f(VCO clock) = f(PLLSAI clock input) x (PLLI2SN/PLLM) */ /* 48CLK = f(PLLSAI clock output) = f(VCO clock) / PLLSAIP */ __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , PeriphClkInit->PLLSAI.PLLSAIP, tmpreg0, tmpreg1); 80b88be: 492f ldr r1, [pc, #188] ; (80b897c ) 80b88c0: 687b ldr r3, [r7, #4] 80b88c2: 695b ldr r3, [r3, #20] 80b88c4: 019a lsls r2, r3, #6 80b88c6: 687b ldr r3, [r7, #4] 80b88c8: 6a1b ldr r3, [r3, #32] 80b88ca: 041b lsls r3, r3, #16 80b88cc: 431a orrs r2, r3 80b88ce: 693b ldr r3, [r7, #16] 80b88d0: 061b lsls r3, r3, #24 80b88d2: 431a orrs r2, r3 80b88d4: 68fb ldr r3, [r7, #12] 80b88d6: 071b lsls r3, r3, #28 80b88d8: 4313 orrs r3, r2 80b88da: f8c1 3088 str.w r3, [r1, #136] ; 0x88 } #if defined(STM32F746xx) || defined(STM32F756xx) || defined (STM32F767xx) || defined (STM32F769xx) || defined (STM32F777xx) || defined (STM32F779xx) || defined (STM32F750xx) /*---------------------------- LTDC configuration -------------------------------*/ if(((PeriphClkInit->PeriphClockSelection) & RCC_PERIPHCLK_LTDC) == (RCC_PERIPHCLK_LTDC)) 80b88de: 687b ldr r3, [r7, #4] 80b88e0: 681b ldr r3, [r3, #0] 80b88e2: f003 0308 and.w r3, r3, #8 80b88e6: 2b00 cmp r3, #0 80b88e8: d028 beq.n 80b893c { assert_param(IS_RCC_PLLSAIR_VALUE(PeriphClkInit->PLLSAI.PLLSAIR)); assert_param(IS_RCC_PLLSAI_DIVR_VALUE(PeriphClkInit->PLLSAIDivR)); /* Read PLLSAIP and PLLSAIQ value from PLLSAICFGR register (these value are not needed for LTDC configuration) */ tmpreg0 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIQ) >> RCC_PLLSAICFGR_PLLSAIQ_Pos); 80b88ea: 4b24 ldr r3, [pc, #144] ; (80b897c ) 80b88ec: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b88f0: 0e1b lsrs r3, r3, #24 80b88f2: f003 030f and.w r3, r3, #15 80b88f6: 613b str r3, [r7, #16] tmpreg1 = ((RCC->PLLSAICFGR & RCC_PLLSAICFGR_PLLSAIP) >> RCC_PLLSAICFGR_PLLSAIP_Pos); 80b88f8: 4b20 ldr r3, [pc, #128] ; (80b897c ) 80b88fa: f8d3 3088 ldr.w r3, [r3, #136] ; 0x88 80b88fe: 0c1b lsrs r3, r3, #16 80b8900: f003 0303 and.w r3, r3, #3 80b8904: 60fb str r3, [r7, #12] /* PLLSAI_VCO Input = PLL_SOURCE/PLLM */ /* PLLSAI_VCO Output = PLLSAI_VCO Input * PLLSAIN */ /* LTDC_CLK(first level) = PLLSAI_VCO Output/PLLSAIR */ __HAL_RCC_PLLSAI_CONFIG(PeriphClkInit->PLLSAI.PLLSAIN , tmpreg1, tmpreg0, PeriphClkInit->PLLSAI.PLLSAIR); 80b8906: 491d ldr r1, [pc, #116] ; (80b897c ) 80b8908: 687b ldr r3, [r7, #4] 80b890a: 695b ldr r3, [r3, #20] 80b890c: 019a lsls r2, r3, #6 80b890e: 68fb ldr r3, [r7, #12] 80b8910: 041b lsls r3, r3, #16 80b8912: 431a orrs r2, r3 80b8914: 693b ldr r3, [r7, #16] 80b8916: 061b lsls r3, r3, #24 80b8918: 431a orrs r2, r3 80b891a: 687b ldr r3, [r7, #4] 80b891c: 69db ldr r3, [r3, #28] 80b891e: 071b lsls r3, r3, #28 80b8920: 4313 orrs r3, r2 80b8922: f8c1 3088 str.w r3, [r1, #136] ; 0x88 /* LTDC_CLK = LTDC_CLK(first level)/PLLSAIDIVR */ __HAL_RCC_PLLSAI_PLLSAICLKDIVR_CONFIG(PeriphClkInit->PLLSAIDivR); 80b8926: 4915 ldr r1, [pc, #84] ; (80b897c ) 80b8928: 4b14 ldr r3, [pc, #80] ; (80b897c ) 80b892a: f8d3 308c ldr.w r3, [r3, #140] ; 0x8c 80b892e: f423 3240 bic.w r2, r3, #196608 ; 0x30000 80b8932: 687b ldr r3, [r7, #4] 80b8934: 6adb ldr r3, [r3, #44] ; 0x2c 80b8936: 4313 orrs r3, r2 80b8938: f8c1 308c str.w r3, [r1, #140] ; 0x8c } #endif /* STM32F746xx || STM32F756xx || STM32F767xx || STM32F769xx || STM32F777xx || STM32F779xx || STM32F750xx */ /* Enable PLLSAI Clock */ __HAL_RCC_PLLSAI_ENABLE(); 80b893c: 4a0f ldr r2, [pc, #60] ; (80b897c ) 80b893e: 4b0f ldr r3, [pc, #60] ; (80b897c ) 80b8940: 681b ldr r3, [r3, #0] 80b8942: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80b8946: 6013 str r3, [r2, #0] /* Get Start Tick*/ tickstart = HAL_GetTick(); 80b8948: f7fa fc92 bl 80b3270 80b894c: 6178 str r0, [r7, #20] /* Wait till PLLSAI is ready */ while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 80b894e: e008 b.n 80b8962 { if((HAL_GetTick() - tickstart) > PLLSAI_TIMEOUT_VALUE) 80b8950: f7fa fc8e bl 80b3270 80b8954: 4602 mov r2, r0 80b8956: 697b ldr r3, [r7, #20] 80b8958: 1ad3 subs r3, r2, r3 80b895a: 2b64 cmp r3, #100 ; 0x64 80b895c: d901 bls.n 80b8962 { /* return in case of Timeout detected */ return HAL_TIMEOUT; 80b895e: 2303 movs r3, #3 80b8960: e007 b.n 80b8972 while(__HAL_RCC_PLLSAI_GET_FLAG() == RESET) 80b8962: 4b06 ldr r3, [pc, #24] ; (80b897c ) 80b8964: 681b ldr r3, [r3, #0] 80b8966: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80b896a: f1b3 5f00 cmp.w r3, #536870912 ; 0x20000000 80b896e: d1ef bne.n 80b8950 } } } return HAL_OK; 80b8970: 2300 movs r3, #0 } 80b8972: 4618 mov r0, r3 80b8974: 3720 adds r7, #32 80b8976: 46bd mov sp, r7 80b8978: bd80 pop {r7, pc} 80b897a: bf00 nop 80b897c: 40023800 .word 0x40023800 080b8980 : * @param hrtc pointer to a RTC_HandleTypeDef structure that contains * the configuration information for RTC. * @retval HAL status */ HAL_StatusTypeDef HAL_RTC_Init(RTC_HandleTypeDef *hrtc) { 80b8980: b580 push {r7, lr} 80b8982: b082 sub sp, #8 80b8984: af00 add r7, sp, #0 80b8986: 6078 str r0, [r7, #4] /* Check the RTC peripheral state */ if(hrtc == NULL) 80b8988: 687b ldr r3, [r7, #4] 80b898a: 2b00 cmp r3, #0 80b898c: d101 bne.n 80b8992 { return HAL_ERROR; 80b898e: 2301 movs r3, #1 80b8990: e081 b.n 80b8a96 { hrtc->MspDeInitCallback = HAL_RTC_MspDeInit; } } #else if(hrtc->State == HAL_RTC_STATE_RESET) 80b8992: 687b ldr r3, [r7, #4] 80b8994: 7f5b ldrb r3, [r3, #29] 80b8996: b2db uxtb r3, r3 80b8998: 2b00 cmp r3, #0 80b899a: d105 bne.n 80b89a8 { /* Allocate lock resource and initialize it */ hrtc->Lock = HAL_UNLOCKED; 80b899c: 687b ldr r3, [r7, #4] 80b899e: 2200 movs r2, #0 80b89a0: 771a strb r2, [r3, #28] /* Initialize RTC MSP */ HAL_RTC_MspInit(hrtc); 80b89a2: 6878 ldr r0, [r7, #4] 80b89a4: f7ae fdd4 bl 8067550 } #endif /* (USE_HAL_RTC_REGISTER_CALLBACKS) */ /* Set RTC state */ hrtc->State = HAL_RTC_STATE_BUSY; 80b89a8: 687b ldr r3, [r7, #4] 80b89aa: 2202 movs r2, #2 80b89ac: 775a strb r2, [r3, #29] /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 80b89ae: 687b ldr r3, [r7, #4] 80b89b0: 681b ldr r3, [r3, #0] 80b89b2: 22ca movs r2, #202 ; 0xca 80b89b4: 625a str r2, [r3, #36] ; 0x24 80b89b6: 687b ldr r3, [r7, #4] 80b89b8: 681b ldr r3, [r3, #0] 80b89ba: 2253 movs r2, #83 ; 0x53 80b89bc: 625a str r2, [r3, #36] ; 0x24 /* Set Initialization mode */ if(RTC_EnterInitMode(hrtc) != HAL_OK) 80b89be: 6878 ldr r0, [r7, #4] 80b89c0: f000 faac bl 80b8f1c 80b89c4: 4603 mov r3, r0 80b89c6: 2b00 cmp r3, #0 80b89c8: d008 beq.n 80b89dc { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b89ca: 687b ldr r3, [r7, #4] 80b89cc: 681b ldr r3, [r3, #0] 80b89ce: 22ff movs r2, #255 ; 0xff 80b89d0: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state */ hrtc->State = HAL_RTC_STATE_ERROR; 80b89d2: 687b ldr r3, [r7, #4] 80b89d4: 2204 movs r2, #4 80b89d6: 775a strb r2, [r3, #29] return HAL_ERROR; 80b89d8: 2301 movs r3, #1 80b89da: e05c b.n 80b8a96 } else { /* Clear RTC_CR FMT, OSEL and POL Bits */ hrtc->Instance->CR &= ((uint32_t)~(RTC_CR_FMT | RTC_CR_OSEL | RTC_CR_POL)); 80b89dc: 687b ldr r3, [r7, #4] 80b89de: 681a ldr r2, [r3, #0] 80b89e0: 687b ldr r3, [r7, #4] 80b89e2: 681b ldr r3, [r3, #0] 80b89e4: 6899 ldr r1, [r3, #8] 80b89e6: 4b2e ldr r3, [pc, #184] ; (80b8aa0 ) 80b89e8: 400b ands r3, r1 80b89ea: 6093 str r3, [r2, #8] /* Set RTC_CR register */ hrtc->Instance->CR |= (uint32_t)(hrtc->Init.HourFormat | hrtc->Init.OutPut | hrtc->Init.OutPutPolarity); 80b89ec: 687b ldr r3, [r7, #4] 80b89ee: 681b ldr r3, [r3, #0] 80b89f0: 687a ldr r2, [r7, #4] 80b89f2: 6812 ldr r2, [r2, #0] 80b89f4: 6891 ldr r1, [r2, #8] 80b89f6: 687a ldr r2, [r7, #4] 80b89f8: 6850 ldr r0, [r2, #4] 80b89fa: 687a ldr r2, [r7, #4] 80b89fc: 6912 ldr r2, [r2, #16] 80b89fe: 4310 orrs r0, r2 80b8a00: 687a ldr r2, [r7, #4] 80b8a02: 6952 ldr r2, [r2, #20] 80b8a04: 4302 orrs r2, r0 80b8a06: 430a orrs r2, r1 80b8a08: 609a str r2, [r3, #8] /* Configure the RTC PRER */ hrtc->Instance->PRER = (uint32_t)(hrtc->Init.SynchPrediv); 80b8a0a: 687b ldr r3, [r7, #4] 80b8a0c: 681b ldr r3, [r3, #0] 80b8a0e: 687a ldr r2, [r7, #4] 80b8a10: 68d2 ldr r2, [r2, #12] 80b8a12: 611a str r2, [r3, #16] hrtc->Instance->PRER |= (uint32_t)(hrtc->Init.AsynchPrediv << 16); 80b8a14: 687b ldr r3, [r7, #4] 80b8a16: 681b ldr r3, [r3, #0] 80b8a18: 687a ldr r2, [r7, #4] 80b8a1a: 6812 ldr r2, [r2, #0] 80b8a1c: 6911 ldr r1, [r2, #16] 80b8a1e: 687a ldr r2, [r7, #4] 80b8a20: 6892 ldr r2, [r2, #8] 80b8a22: 0412 lsls r2, r2, #16 80b8a24: 430a orrs r2, r1 80b8a26: 611a str r2, [r3, #16] /* Exit Initialization mode */ hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; 80b8a28: 687b ldr r3, [r7, #4] 80b8a2a: 681b ldr r3, [r3, #0] 80b8a2c: 687a ldr r2, [r7, #4] 80b8a2e: 6812 ldr r2, [r2, #0] 80b8a30: 68d2 ldr r2, [r2, #12] 80b8a32: f022 0280 bic.w r2, r2, #128 ; 0x80 80b8a36: 60da str r2, [r3, #12] /* If CR_BYPSHAD bit = 0, wait for synchro else this check is not needed */ if((hrtc->Instance->CR & RTC_CR_BYPSHAD) == RESET) 80b8a38: 687b ldr r3, [r7, #4] 80b8a3a: 681b ldr r3, [r3, #0] 80b8a3c: 689b ldr r3, [r3, #8] 80b8a3e: f003 0320 and.w r3, r3, #32 80b8a42: 2b00 cmp r3, #0 80b8a44: d10e bne.n 80b8a64 { if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 80b8a46: 6878 ldr r0, [r7, #4] 80b8a48: f000 fa40 bl 80b8ecc 80b8a4c: 4603 mov r3, r0 80b8a4e: 2b00 cmp r3, #0 80b8a50: d008 beq.n 80b8a64 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8a52: 687b ldr r3, [r7, #4] 80b8a54: 681b ldr r3, [r3, #0] 80b8a56: 22ff movs r2, #255 ; 0xff 80b8a58: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_ERROR; 80b8a5a: 687b ldr r3, [r7, #4] 80b8a5c: 2204 movs r2, #4 80b8a5e: 775a strb r2, [r3, #29] return HAL_ERROR; 80b8a60: 2301 movs r3, #1 80b8a62: e018 b.n 80b8a96 } } hrtc->Instance->OR &= (uint32_t)~RTC_OR_ALARMTYPE; 80b8a64: 687b ldr r3, [r7, #4] 80b8a66: 681b ldr r3, [r3, #0] 80b8a68: 687a ldr r2, [r7, #4] 80b8a6a: 6812 ldr r2, [r2, #0] 80b8a6c: 6cd2 ldr r2, [r2, #76] ; 0x4c 80b8a6e: f022 0208 bic.w r2, r2, #8 80b8a72: 64da str r2, [r3, #76] ; 0x4c hrtc->Instance->OR |= (uint32_t)(hrtc->Init.OutPutType); 80b8a74: 687b ldr r3, [r7, #4] 80b8a76: 681b ldr r3, [r3, #0] 80b8a78: 687a ldr r2, [r7, #4] 80b8a7a: 6812 ldr r2, [r2, #0] 80b8a7c: 6cd1 ldr r1, [r2, #76] ; 0x4c 80b8a7e: 687a ldr r2, [r7, #4] 80b8a80: 6992 ldr r2, [r2, #24] 80b8a82: 430a orrs r2, r1 80b8a84: 64da str r2, [r3, #76] ; 0x4c /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8a86: 687b ldr r3, [r7, #4] 80b8a88: 681b ldr r3, [r3, #0] 80b8a8a: 22ff movs r2, #255 ; 0xff 80b8a8c: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state */ hrtc->State = HAL_RTC_STATE_READY; 80b8a8e: 687b ldr r3, [r7, #4] 80b8a90: 2201 movs r2, #1 80b8a92: 775a strb r2, [r3, #29] return HAL_OK; 80b8a94: 2300 movs r3, #0 } } 80b8a96: 4618 mov r0, r3 80b8a98: 3708 adds r7, #8 80b8a9a: 46bd mov sp, r7 80b8a9c: bd80 pop {r7, pc} 80b8a9e: bf00 nop 80b8aa0: ff8fffbf .word 0xff8fffbf 080b8aa4 : * @arg FORMAT_BIN: Binary data format * @arg FORMAT_BCD: BCD data format * @retval HAL status */ HAL_StatusTypeDef HAL_RTC_SetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format) { 80b8aa4: b590 push {r4, r7, lr} 80b8aa6: b087 sub sp, #28 80b8aa8: af00 add r7, sp, #0 80b8aaa: 60f8 str r0, [r7, #12] 80b8aac: 60b9 str r1, [r7, #8] 80b8aae: 607a str r2, [r7, #4] uint32_t tmpreg = 0; 80b8ab0: 2300 movs r3, #0 80b8ab2: 617b str r3, [r7, #20] assert_param(IS_RTC_FORMAT(Format)); assert_param(IS_RTC_DAYLIGHT_SAVING(sTime->DayLightSaving)); assert_param(IS_RTC_STORE_OPERATION(sTime->StoreOperation)); /* Process Locked */ __HAL_LOCK(hrtc); 80b8ab4: 68fb ldr r3, [r7, #12] 80b8ab6: 7f1b ldrb r3, [r3, #28] 80b8ab8: 2b01 cmp r3, #1 80b8aba: d101 bne.n 80b8ac0 80b8abc: 2302 movs r3, #2 80b8abe: e0a8 b.n 80b8c12 80b8ac0: 68fb ldr r3, [r7, #12] 80b8ac2: 2201 movs r2, #1 80b8ac4: 771a strb r2, [r3, #28] hrtc->State = HAL_RTC_STATE_BUSY; 80b8ac6: 68fb ldr r3, [r7, #12] 80b8ac8: 2202 movs r2, #2 80b8aca: 775a strb r2, [r3, #29] if(Format == RTC_FORMAT_BIN) 80b8acc: 687b ldr r3, [r7, #4] 80b8ace: 2b00 cmp r3, #0 80b8ad0: d126 bne.n 80b8b20 { if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 80b8ad2: 68fb ldr r3, [r7, #12] 80b8ad4: 681b ldr r3, [r3, #0] 80b8ad6: 689b ldr r3, [r3, #8] 80b8ad8: f003 0340 and.w r3, r3, #64 ; 0x40 80b8adc: 2b00 cmp r3, #0 80b8ade: d102 bne.n 80b8ae6 assert_param(IS_RTC_HOUR12(sTime->Hours)); assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat)); } else { sTime->TimeFormat = 0x00; 80b8ae0: 68bb ldr r3, [r7, #8] 80b8ae2: 2200 movs r2, #0 80b8ae4: 731a strb r2, [r3, #12] assert_param(IS_RTC_HOUR24(sTime->Hours)); } assert_param(IS_RTC_MINUTES(sTime->Minutes)); assert_param(IS_RTC_SECONDS(sTime->Seconds)); tmpreg = (uint32_t)(((uint32_t)RTC_ByteToBcd2(sTime->Hours) << 16) | \ 80b8ae6: 68bb ldr r3, [r7, #8] 80b8ae8: 781b ldrb r3, [r3, #0] 80b8aea: 4618 mov r0, r3 80b8aec: f000 fa42 bl 80b8f74 80b8af0: 4603 mov r3, r0 80b8af2: 041c lsls r4, r3, #16 ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8) | \ 80b8af4: 68bb ldr r3, [r7, #8] 80b8af6: 785b ldrb r3, [r3, #1] 80b8af8: 4618 mov r0, r3 80b8afa: f000 fa3b bl 80b8f74 80b8afe: 4603 mov r3, r0 80b8b00: 021b lsls r3, r3, #8 tmpreg = (uint32_t)(((uint32_t)RTC_ByteToBcd2(sTime->Hours) << 16) | \ 80b8b02: 431c orrs r4, r3 ((uint32_t)RTC_ByteToBcd2(sTime->Seconds)) | \ 80b8b04: 68bb ldr r3, [r7, #8] 80b8b06: 789b ldrb r3, [r3, #2] 80b8b08: 4618 mov r0, r3 80b8b0a: f000 fa33 bl 80b8f74 80b8b0e: 4603 mov r3, r0 ((uint32_t)RTC_ByteToBcd2(sTime->Minutes) << 8) | \ 80b8b10: ea44 0203 orr.w r2, r4, r3 (((uint32_t)sTime->TimeFormat) << 16)); 80b8b14: 68bb ldr r3, [r7, #8] 80b8b16: 7b1b ldrb r3, [r3, #12] 80b8b18: 041b lsls r3, r3, #16 tmpreg = (uint32_t)(((uint32_t)RTC_ByteToBcd2(sTime->Hours) << 16) | \ 80b8b1a: 4313 orrs r3, r2 80b8b1c: 617b str r3, [r7, #20] 80b8b1e: e018 b.n 80b8b52 } else { if((hrtc->Instance->CR & RTC_CR_FMT) != (uint32_t)RESET) 80b8b20: 68fb ldr r3, [r7, #12] 80b8b22: 681b ldr r3, [r3, #0] 80b8b24: 689b ldr r3, [r3, #8] 80b8b26: f003 0340 and.w r3, r3, #64 ; 0x40 80b8b2a: 2b00 cmp r3, #0 80b8b2c: d102 bne.n 80b8b34 assert_param(IS_RTC_HOUR12(RTC_Bcd2ToByte(sTime->Hours))); assert_param(IS_RTC_HOURFORMAT12(sTime->TimeFormat)); } else { sTime->TimeFormat = 0x00; 80b8b2e: 68bb ldr r3, [r7, #8] 80b8b30: 2200 movs r2, #0 80b8b32: 731a strb r2, [r3, #12] assert_param(IS_RTC_HOUR24(RTC_Bcd2ToByte(sTime->Hours))); } assert_param(IS_RTC_MINUTES(RTC_Bcd2ToByte(sTime->Minutes))); assert_param(IS_RTC_SECONDS(RTC_Bcd2ToByte(sTime->Seconds))); tmpreg = (((uint32_t)(sTime->Hours) << 16) | \ 80b8b34: 68bb ldr r3, [r7, #8] 80b8b36: 781b ldrb r3, [r3, #0] 80b8b38: 041a lsls r2, r3, #16 ((uint32_t)(sTime->Minutes) << 8) | \ 80b8b3a: 68bb ldr r3, [r7, #8] 80b8b3c: 785b ldrb r3, [r3, #1] 80b8b3e: 021b lsls r3, r3, #8 tmpreg = (((uint32_t)(sTime->Hours) << 16) | \ 80b8b40: 4313 orrs r3, r2 ((uint32_t)sTime->Seconds) | \ 80b8b42: 68ba ldr r2, [r7, #8] 80b8b44: 7892 ldrb r2, [r2, #2] ((uint32_t)(sTime->Minutes) << 8) | \ 80b8b46: 431a orrs r2, r3 ((uint32_t)(sTime->TimeFormat) << 16)); 80b8b48: 68bb ldr r3, [r7, #8] 80b8b4a: 7b1b ldrb r3, [r3, #12] 80b8b4c: 041b lsls r3, r3, #16 tmpreg = (((uint32_t)(sTime->Hours) << 16) | \ 80b8b4e: 4313 orrs r3, r2 80b8b50: 617b str r3, [r7, #20] } /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 80b8b52: 68fb ldr r3, [r7, #12] 80b8b54: 681b ldr r3, [r3, #0] 80b8b56: 22ca movs r2, #202 ; 0xca 80b8b58: 625a str r2, [r3, #36] ; 0x24 80b8b5a: 68fb ldr r3, [r7, #12] 80b8b5c: 681b ldr r3, [r3, #0] 80b8b5e: 2253 movs r2, #83 ; 0x53 80b8b60: 625a str r2, [r3, #36] ; 0x24 /* Set Initialization mode */ if(RTC_EnterInitMode(hrtc) != HAL_OK) 80b8b62: 68f8 ldr r0, [r7, #12] 80b8b64: f000 f9da bl 80b8f1c 80b8b68: 4603 mov r3, r0 80b8b6a: 2b00 cmp r3, #0 80b8b6c: d00b beq.n 80b8b86 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8b6e: 68fb ldr r3, [r7, #12] 80b8b70: 681b ldr r3, [r3, #0] 80b8b72: 22ff movs r2, #255 ; 0xff 80b8b74: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state */ hrtc->State = HAL_RTC_STATE_ERROR; 80b8b76: 68fb ldr r3, [r7, #12] 80b8b78: 2204 movs r2, #4 80b8b7a: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80b8b7c: 68fb ldr r3, [r7, #12] 80b8b7e: 2200 movs r2, #0 80b8b80: 771a strb r2, [r3, #28] return HAL_ERROR; 80b8b82: 2301 movs r3, #1 80b8b84: e045 b.n 80b8c12 } else { /* Set the RTC_TR register */ hrtc->Instance->TR = (uint32_t)(tmpreg & RTC_TR_RESERVED_MASK); 80b8b86: 68fb ldr r3, [r7, #12] 80b8b88: 681a ldr r2, [r3, #0] 80b8b8a: 6979 ldr r1, [r7, #20] 80b8b8c: 4b23 ldr r3, [pc, #140] ; (80b8c1c ) 80b8b8e: 400b ands r3, r1 80b8b90: 6013 str r3, [r2, #0] /* This interface is deprecated. To manage Daylight Saving Time, please use HAL_RTC_DST_xxx functions */ hrtc->Instance->CR &= (uint32_t)~RTC_CR_BKP; 80b8b92: 68fb ldr r3, [r7, #12] 80b8b94: 681b ldr r3, [r3, #0] 80b8b96: 68fa ldr r2, [r7, #12] 80b8b98: 6812 ldr r2, [r2, #0] 80b8b9a: 6892 ldr r2, [r2, #8] 80b8b9c: f422 2280 bic.w r2, r2, #262144 ; 0x40000 80b8ba0: 609a str r2, [r3, #8] /* This interface is deprecated. To manage Daylight Saving Time, please use HAL_RTC_DST_xxx functions */ hrtc->Instance->CR |= (uint32_t)(sTime->DayLightSaving | sTime->StoreOperation); 80b8ba2: 68fb ldr r3, [r7, #12] 80b8ba4: 681b ldr r3, [r3, #0] 80b8ba6: 68fa ldr r2, [r7, #12] 80b8ba8: 6812 ldr r2, [r2, #0] 80b8baa: 6891 ldr r1, [r2, #8] 80b8bac: 68ba ldr r2, [r7, #8] 80b8bae: 6910 ldr r0, [r2, #16] 80b8bb0: 68ba ldr r2, [r7, #8] 80b8bb2: 6952 ldr r2, [r2, #20] 80b8bb4: 4302 orrs r2, r0 80b8bb6: 430a orrs r2, r1 80b8bb8: 609a str r2, [r3, #8] /* Exit Initialization mode */ hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; 80b8bba: 68fb ldr r3, [r7, #12] 80b8bbc: 681b ldr r3, [r3, #0] 80b8bbe: 68fa ldr r2, [r7, #12] 80b8bc0: 6812 ldr r2, [r2, #0] 80b8bc2: 68d2 ldr r2, [r2, #12] 80b8bc4: f022 0280 bic.w r2, r2, #128 ; 0x80 80b8bc8: 60da str r2, [r3, #12] /* If CR_BYPSHAD bit = 0, wait for synchro else this check is not needed */ if((hrtc->Instance->CR & RTC_CR_BYPSHAD) == RESET) 80b8bca: 68fb ldr r3, [r7, #12] 80b8bcc: 681b ldr r3, [r3, #0] 80b8bce: 689b ldr r3, [r3, #8] 80b8bd0: f003 0320 and.w r3, r3, #32 80b8bd4: 2b00 cmp r3, #0 80b8bd6: d111 bne.n 80b8bfc { if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 80b8bd8: 68f8 ldr r0, [r7, #12] 80b8bda: f000 f977 bl 80b8ecc 80b8bde: 4603 mov r3, r0 80b8be0: 2b00 cmp r3, #0 80b8be2: d00b beq.n 80b8bfc { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8be4: 68fb ldr r3, [r7, #12] 80b8be6: 681b ldr r3, [r3, #0] 80b8be8: 22ff movs r2, #255 ; 0xff 80b8bea: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_ERROR; 80b8bec: 68fb ldr r3, [r7, #12] 80b8bee: 2204 movs r2, #4 80b8bf0: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80b8bf2: 68fb ldr r3, [r7, #12] 80b8bf4: 2200 movs r2, #0 80b8bf6: 771a strb r2, [r3, #28] return HAL_ERROR; 80b8bf8: 2301 movs r3, #1 80b8bfa: e00a b.n 80b8c12 } } /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8bfc: 68fb ldr r3, [r7, #12] 80b8bfe: 681b ldr r3, [r3, #0] 80b8c00: 22ff movs r2, #255 ; 0xff 80b8c02: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_READY; 80b8c04: 68fb ldr r3, [r7, #12] 80b8c06: 2201 movs r2, #1 80b8c08: 775a strb r2, [r3, #29] __HAL_UNLOCK(hrtc); 80b8c0a: 68fb ldr r3, [r7, #12] 80b8c0c: 2200 movs r2, #0 80b8c0e: 771a strb r2, [r3, #28] return HAL_OK; 80b8c10: 2300 movs r3, #0 } } 80b8c12: 4618 mov r0, r3 80b8c14: 371c adds r7, #28 80b8c16: 46bd mov sp, r7 80b8c18: bd90 pop {r4, r7, pc} 80b8c1a: bf00 nop 80b8c1c: 007f7f7f .word 0x007f7f7f 080b8c20 : * Reading RTC current time locks the values in calendar shadow registers until Current date is read * to ensure consistency between the time and date values. * @retval HAL status */ HAL_StatusTypeDef HAL_RTC_GetTime(RTC_HandleTypeDef *hrtc, RTC_TimeTypeDef *sTime, uint32_t Format) { 80b8c20: b580 push {r7, lr} 80b8c22: b086 sub sp, #24 80b8c24: af00 add r7, sp, #0 80b8c26: 60f8 str r0, [r7, #12] 80b8c28: 60b9 str r1, [r7, #8] 80b8c2a: 607a str r2, [r7, #4] uint32_t tmpreg = 0; 80b8c2c: 2300 movs r3, #0 80b8c2e: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_RTC_FORMAT(Format)); /* Get subseconds values from the correspondent registers*/ sTime->SubSeconds = (uint32_t)(hrtc->Instance->SSR); 80b8c30: 68fb ldr r3, [r7, #12] 80b8c32: 681b ldr r3, [r3, #0] 80b8c34: 6a9a ldr r2, [r3, #40] ; 0x28 80b8c36: 68bb ldr r3, [r7, #8] 80b8c38: 605a str r2, [r3, #4] /* Get SecondFraction structure field from the corresponding register field*/ sTime->SecondFraction = (uint32_t)(hrtc->Instance->PRER & RTC_PRER_PREDIV_S); 80b8c3a: 68fb ldr r3, [r7, #12] 80b8c3c: 681b ldr r3, [r3, #0] 80b8c3e: 691b ldr r3, [r3, #16] 80b8c40: f3c3 020e ubfx r2, r3, #0, #15 80b8c44: 68bb ldr r3, [r7, #8] 80b8c46: 609a str r2, [r3, #8] /* Get the TR register */ tmpreg = (uint32_t)(hrtc->Instance->TR & RTC_TR_RESERVED_MASK); 80b8c48: 68fb ldr r3, [r7, #12] 80b8c4a: 681b ldr r3, [r3, #0] 80b8c4c: 681a ldr r2, [r3, #0] 80b8c4e: 4b22 ldr r3, [pc, #136] ; (80b8cd8 ) 80b8c50: 4013 ands r3, r2 80b8c52: 617b str r3, [r7, #20] /* Fill the structure fields with the read parameters */ sTime->Hours = (uint8_t)((tmpreg & (RTC_TR_HT | RTC_TR_HU)) >> 16); 80b8c54: 697b ldr r3, [r7, #20] 80b8c56: 0c1b lsrs r3, r3, #16 80b8c58: b2db uxtb r3, r3 80b8c5a: f003 033f and.w r3, r3, #63 ; 0x3f 80b8c5e: b2da uxtb r2, r3 80b8c60: 68bb ldr r3, [r7, #8] 80b8c62: 701a strb r2, [r3, #0] sTime->Minutes = (uint8_t)((tmpreg & (RTC_TR_MNT | RTC_TR_MNU)) >>8); 80b8c64: 697b ldr r3, [r7, #20] 80b8c66: 0a1b lsrs r3, r3, #8 80b8c68: b2db uxtb r3, r3 80b8c6a: f003 037f and.w r3, r3, #127 ; 0x7f 80b8c6e: b2da uxtb r2, r3 80b8c70: 68bb ldr r3, [r7, #8] 80b8c72: 705a strb r2, [r3, #1] sTime->Seconds = (uint8_t)(tmpreg & (RTC_TR_ST | RTC_TR_SU)); 80b8c74: 697b ldr r3, [r7, #20] 80b8c76: b2db uxtb r3, r3 80b8c78: f003 037f and.w r3, r3, #127 ; 0x7f 80b8c7c: b2da uxtb r2, r3 80b8c7e: 68bb ldr r3, [r7, #8] 80b8c80: 709a strb r2, [r3, #2] sTime->TimeFormat = (uint8_t)((tmpreg & (RTC_TR_PM)) >> 16); 80b8c82: 697b ldr r3, [r7, #20] 80b8c84: 0c1b lsrs r3, r3, #16 80b8c86: b2db uxtb r3, r3 80b8c88: f003 0340 and.w r3, r3, #64 ; 0x40 80b8c8c: b2da uxtb r2, r3 80b8c8e: 68bb ldr r3, [r7, #8] 80b8c90: 731a strb r2, [r3, #12] /* Check the input parameters format */ if(Format == RTC_FORMAT_BIN) 80b8c92: 687b ldr r3, [r7, #4] 80b8c94: 2b00 cmp r3, #0 80b8c96: d11a bne.n 80b8cce { /* Convert the time structure parameters to Binary format */ sTime->Hours = (uint8_t)RTC_Bcd2ToByte(sTime->Hours); 80b8c98: 68bb ldr r3, [r7, #8] 80b8c9a: 781b ldrb r3, [r3, #0] 80b8c9c: 4618 mov r0, r3 80b8c9e: f000 f987 bl 80b8fb0 80b8ca2: 4603 mov r3, r0 80b8ca4: 461a mov r2, r3 80b8ca6: 68bb ldr r3, [r7, #8] 80b8ca8: 701a strb r2, [r3, #0] sTime->Minutes = (uint8_t)RTC_Bcd2ToByte(sTime->Minutes); 80b8caa: 68bb ldr r3, [r7, #8] 80b8cac: 785b ldrb r3, [r3, #1] 80b8cae: 4618 mov r0, r3 80b8cb0: f000 f97e bl 80b8fb0 80b8cb4: 4603 mov r3, r0 80b8cb6: 461a mov r2, r3 80b8cb8: 68bb ldr r3, [r7, #8] 80b8cba: 705a strb r2, [r3, #1] sTime->Seconds = (uint8_t)RTC_Bcd2ToByte(sTime->Seconds); 80b8cbc: 68bb ldr r3, [r7, #8] 80b8cbe: 789b ldrb r3, [r3, #2] 80b8cc0: 4618 mov r0, r3 80b8cc2: f000 f975 bl 80b8fb0 80b8cc6: 4603 mov r3, r0 80b8cc8: 461a mov r2, r3 80b8cca: 68bb ldr r3, [r7, #8] 80b8ccc: 709a strb r2, [r3, #2] } return HAL_OK; 80b8cce: 2300 movs r3, #0 } 80b8cd0: 4618 mov r0, r3 80b8cd2: 3718 adds r7, #24 80b8cd4: 46bd mov sp, r7 80b8cd6: bd80 pop {r7, pc} 80b8cd8: 007f7f7f .word 0x007f7f7f 080b8cdc : * @arg RTC_FORMAT_BIN: Binary data format * @arg RTC_FORMAT_BCD: BCD data format * @retval HAL status */ HAL_StatusTypeDef HAL_RTC_SetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format) { 80b8cdc: b590 push {r4, r7, lr} 80b8cde: b087 sub sp, #28 80b8ce0: af00 add r7, sp, #0 80b8ce2: 60f8 str r0, [r7, #12] 80b8ce4: 60b9 str r1, [r7, #8] 80b8ce6: 607a str r2, [r7, #4] uint32_t datetmpreg = 0; 80b8ce8: 2300 movs r3, #0 80b8cea: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_RTC_FORMAT(Format)); /* Process Locked */ __HAL_LOCK(hrtc); 80b8cec: 68fb ldr r3, [r7, #12] 80b8cee: 7f1b ldrb r3, [r3, #28] 80b8cf0: 2b01 cmp r3, #1 80b8cf2: d101 bne.n 80b8cf8 80b8cf4: 2302 movs r3, #2 80b8cf6: e092 b.n 80b8e1e 80b8cf8: 68fb ldr r3, [r7, #12] 80b8cfa: 2201 movs r2, #1 80b8cfc: 771a strb r2, [r3, #28] hrtc->State = HAL_RTC_STATE_BUSY; 80b8cfe: 68fb ldr r3, [r7, #12] 80b8d00: 2202 movs r2, #2 80b8d02: 775a strb r2, [r3, #29] if((Format == RTC_FORMAT_BIN) && ((sDate->Month & 0x10U) == 0x10U)) 80b8d04: 687b ldr r3, [r7, #4] 80b8d06: 2b00 cmp r3, #0 80b8d08: d10e bne.n 80b8d28 80b8d0a: 68bb ldr r3, [r7, #8] 80b8d0c: 785b ldrb r3, [r3, #1] 80b8d0e: f003 0310 and.w r3, r3, #16 80b8d12: 2b00 cmp r3, #0 80b8d14: d008 beq.n 80b8d28 { sDate->Month = (uint8_t)((sDate->Month & (uint8_t)~(0x10U)) + (uint8_t)0x0AU); 80b8d16: 68bb ldr r3, [r7, #8] 80b8d18: 785b ldrb r3, [r3, #1] 80b8d1a: f023 0310 bic.w r3, r3, #16 80b8d1e: b2db uxtb r3, r3 80b8d20: 330a adds r3, #10 80b8d22: b2da uxtb r2, r3 80b8d24: 68bb ldr r3, [r7, #8] 80b8d26: 705a strb r2, [r3, #1] } assert_param(IS_RTC_WEEKDAY(sDate->WeekDay)); if(Format == RTC_FORMAT_BIN) 80b8d28: 687b ldr r3, [r7, #4] 80b8d2a: 2b00 cmp r3, #0 80b8d2c: d11c bne.n 80b8d68 { assert_param(IS_RTC_YEAR(sDate->Year)); assert_param(IS_RTC_MONTH(sDate->Month)); assert_param(IS_RTC_DATE(sDate->Date)); datetmpreg = (((uint32_t)RTC_ByteToBcd2(sDate->Year) << 16) | \ 80b8d2e: 68bb ldr r3, [r7, #8] 80b8d30: 78db ldrb r3, [r3, #3] 80b8d32: 4618 mov r0, r3 80b8d34: f000 f91e bl 80b8f74 80b8d38: 4603 mov r3, r0 80b8d3a: 041c lsls r4, r3, #16 ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8) | \ 80b8d3c: 68bb ldr r3, [r7, #8] 80b8d3e: 785b ldrb r3, [r3, #1] 80b8d40: 4618 mov r0, r3 80b8d42: f000 f917 bl 80b8f74 80b8d46: 4603 mov r3, r0 80b8d48: 021b lsls r3, r3, #8 datetmpreg = (((uint32_t)RTC_ByteToBcd2(sDate->Year) << 16) | \ 80b8d4a: 431c orrs r4, r3 ((uint32_t)RTC_ByteToBcd2(sDate->Date)) | \ 80b8d4c: 68bb ldr r3, [r7, #8] 80b8d4e: 789b ldrb r3, [r3, #2] 80b8d50: 4618 mov r0, r3 80b8d52: f000 f90f bl 80b8f74 80b8d56: 4603 mov r3, r0 ((uint32_t)RTC_ByteToBcd2(sDate->Month) << 8) | \ 80b8d58: ea44 0203 orr.w r2, r4, r3 ((uint32_t)sDate->WeekDay << 13)); 80b8d5c: 68bb ldr r3, [r7, #8] 80b8d5e: 781b ldrb r3, [r3, #0] 80b8d60: 035b lsls r3, r3, #13 datetmpreg = (((uint32_t)RTC_ByteToBcd2(sDate->Year) << 16) | \ 80b8d62: 4313 orrs r3, r2 80b8d64: 617b str r3, [r7, #20] 80b8d66: e00e b.n 80b8d86 { assert_param(IS_RTC_YEAR(RTC_Bcd2ToByte(sDate->Year))); assert_param(IS_RTC_MONTH(RTC_Bcd2ToByte(sDate->Month))); assert_param(IS_RTC_DATE(RTC_Bcd2ToByte(sDate->Date))); datetmpreg = ((((uint32_t)sDate->Year) << 16) | \ 80b8d68: 68bb ldr r3, [r7, #8] 80b8d6a: 78db ldrb r3, [r3, #3] 80b8d6c: 041a lsls r2, r3, #16 (((uint32_t)sDate->Month) << 8) | \ 80b8d6e: 68bb ldr r3, [r7, #8] 80b8d70: 785b ldrb r3, [r3, #1] 80b8d72: 021b lsls r3, r3, #8 datetmpreg = ((((uint32_t)sDate->Year) << 16) | \ 80b8d74: 4313 orrs r3, r2 ((uint32_t)sDate->Date) | \ 80b8d76: 68ba ldr r2, [r7, #8] 80b8d78: 7892 ldrb r2, [r2, #2] (((uint32_t)sDate->Month) << 8) | \ 80b8d7a: 431a orrs r2, r3 (((uint32_t)sDate->WeekDay) << 13)); 80b8d7c: 68bb ldr r3, [r7, #8] 80b8d7e: 781b ldrb r3, [r3, #0] 80b8d80: 035b lsls r3, r3, #13 datetmpreg = ((((uint32_t)sDate->Year) << 16) | \ 80b8d82: 4313 orrs r3, r2 80b8d84: 617b str r3, [r7, #20] } /* Disable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_DISABLE(hrtc); 80b8d86: 68fb ldr r3, [r7, #12] 80b8d88: 681b ldr r3, [r3, #0] 80b8d8a: 22ca movs r2, #202 ; 0xca 80b8d8c: 625a str r2, [r3, #36] ; 0x24 80b8d8e: 68fb ldr r3, [r7, #12] 80b8d90: 681b ldr r3, [r3, #0] 80b8d92: 2253 movs r2, #83 ; 0x53 80b8d94: 625a str r2, [r3, #36] ; 0x24 /* Set Initialization mode */ if(RTC_EnterInitMode(hrtc) != HAL_OK) 80b8d96: 68f8 ldr r0, [r7, #12] 80b8d98: f000 f8c0 bl 80b8f1c 80b8d9c: 4603 mov r3, r0 80b8d9e: 2b00 cmp r3, #0 80b8da0: d00b beq.n 80b8dba { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8da2: 68fb ldr r3, [r7, #12] 80b8da4: 681b ldr r3, [r3, #0] 80b8da6: 22ff movs r2, #255 ; 0xff 80b8da8: 625a str r2, [r3, #36] ; 0x24 /* Set RTC state*/ hrtc->State = HAL_RTC_STATE_ERROR; 80b8daa: 68fb ldr r3, [r7, #12] 80b8dac: 2204 movs r2, #4 80b8dae: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80b8db0: 68fb ldr r3, [r7, #12] 80b8db2: 2200 movs r2, #0 80b8db4: 771a strb r2, [r3, #28] return HAL_ERROR; 80b8db6: 2301 movs r3, #1 80b8db8: e031 b.n 80b8e1e } else { /* Set the RTC_DR register */ hrtc->Instance->DR = (uint32_t)(datetmpreg & RTC_DR_RESERVED_MASK); 80b8dba: 68fb ldr r3, [r7, #12] 80b8dbc: 681a ldr r2, [r3, #0] 80b8dbe: 6979 ldr r1, [r7, #20] 80b8dc0: 4b19 ldr r3, [pc, #100] ; (80b8e28 ) 80b8dc2: 400b ands r3, r1 80b8dc4: 6053 str r3, [r2, #4] /* Exit Initialization mode */ hrtc->Instance->ISR &= (uint32_t)~RTC_ISR_INIT; 80b8dc6: 68fb ldr r3, [r7, #12] 80b8dc8: 681b ldr r3, [r3, #0] 80b8dca: 68fa ldr r2, [r7, #12] 80b8dcc: 6812 ldr r2, [r2, #0] 80b8dce: 68d2 ldr r2, [r2, #12] 80b8dd0: f022 0280 bic.w r2, r2, #128 ; 0x80 80b8dd4: 60da str r2, [r3, #12] /* If CR_BYPSHAD bit = 0, wait for synchro else this check is not needed */ if((hrtc->Instance->CR & RTC_CR_BYPSHAD) == RESET) 80b8dd6: 68fb ldr r3, [r7, #12] 80b8dd8: 681b ldr r3, [r3, #0] 80b8dda: 689b ldr r3, [r3, #8] 80b8ddc: f003 0320 and.w r3, r3, #32 80b8de0: 2b00 cmp r3, #0 80b8de2: d111 bne.n 80b8e08 { if(HAL_RTC_WaitForSynchro(hrtc) != HAL_OK) 80b8de4: 68f8 ldr r0, [r7, #12] 80b8de6: f000 f871 bl 80b8ecc 80b8dea: 4603 mov r3, r0 80b8dec: 2b00 cmp r3, #0 80b8dee: d00b beq.n 80b8e08 { /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8df0: 68fb ldr r3, [r7, #12] 80b8df2: 681b ldr r3, [r3, #0] 80b8df4: 22ff movs r2, #255 ; 0xff 80b8df6: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_ERROR; 80b8df8: 68fb ldr r3, [r7, #12] 80b8dfa: 2204 movs r2, #4 80b8dfc: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80b8dfe: 68fb ldr r3, [r7, #12] 80b8e00: 2200 movs r2, #0 80b8e02: 771a strb r2, [r3, #28] return HAL_ERROR; 80b8e04: 2301 movs r3, #1 80b8e06: e00a b.n 80b8e1e } } /* Enable the write protection for RTC registers */ __HAL_RTC_WRITEPROTECTION_ENABLE(hrtc); 80b8e08: 68fb ldr r3, [r7, #12] 80b8e0a: 681b ldr r3, [r3, #0] 80b8e0c: 22ff movs r2, #255 ; 0xff 80b8e0e: 625a str r2, [r3, #36] ; 0x24 hrtc->State = HAL_RTC_STATE_READY ; 80b8e10: 68fb ldr r3, [r7, #12] 80b8e12: 2201 movs r2, #1 80b8e14: 775a strb r2, [r3, #29] /* Process Unlocked */ __HAL_UNLOCK(hrtc); 80b8e16: 68fb ldr r3, [r7, #12] 80b8e18: 2200 movs r2, #0 80b8e1a: 771a strb r2, [r3, #28] return HAL_OK; 80b8e1c: 2300 movs r3, #0 } } 80b8e1e: 4618 mov r0, r3 80b8e20: 371c adds r7, #28 80b8e22: 46bd mov sp, r7 80b8e24: bd90 pop {r4, r7, pc} 80b8e26: bf00 nop 80b8e28: 00ffff3f .word 0x00ffff3f 080b8e2c : * in the higher-order calendar shadow registers to ensure consistency between the time and date values. * Reading RTC current time locks the values in calendar shadow registers until Current date is read. * @retval HAL status */ HAL_StatusTypeDef HAL_RTC_GetDate(RTC_HandleTypeDef *hrtc, RTC_DateTypeDef *sDate, uint32_t Format) { 80b8e2c: b580 push {r7, lr} 80b8e2e: b086 sub sp, #24 80b8e30: af00 add r7, sp, #0 80b8e32: 60f8 str r0, [r7, #12] 80b8e34: 60b9 str r1, [r7, #8] 80b8e36: 607a str r2, [r7, #4] uint32_t datetmpreg = 0; 80b8e38: 2300 movs r3, #0 80b8e3a: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_RTC_FORMAT(Format)); /* Get the DR register */ datetmpreg = (uint32_t)(hrtc->Instance->DR & RTC_DR_RESERVED_MASK); 80b8e3c: 68fb ldr r3, [r7, #12] 80b8e3e: 681b ldr r3, [r3, #0] 80b8e40: 685a ldr r2, [r3, #4] 80b8e42: 4b21 ldr r3, [pc, #132] ; (80b8ec8 ) 80b8e44: 4013 ands r3, r2 80b8e46: 617b str r3, [r7, #20] /* Fill the structure fields with the read parameters */ sDate->Year = (uint8_t)((datetmpreg & (RTC_DR_YT | RTC_DR_YU)) >> 16); 80b8e48: 697b ldr r3, [r7, #20] 80b8e4a: 0c1b lsrs r3, r3, #16 80b8e4c: b2da uxtb r2, r3 80b8e4e: 68bb ldr r3, [r7, #8] 80b8e50: 70da strb r2, [r3, #3] sDate->Month = (uint8_t)((datetmpreg & (RTC_DR_MT | RTC_DR_MU)) >> 8); 80b8e52: 697b ldr r3, [r7, #20] 80b8e54: 0a1b lsrs r3, r3, #8 80b8e56: b2db uxtb r3, r3 80b8e58: f003 031f and.w r3, r3, #31 80b8e5c: b2da uxtb r2, r3 80b8e5e: 68bb ldr r3, [r7, #8] 80b8e60: 705a strb r2, [r3, #1] sDate->Date = (uint8_t)(datetmpreg & (RTC_DR_DT | RTC_DR_DU)); 80b8e62: 697b ldr r3, [r7, #20] 80b8e64: b2db uxtb r3, r3 80b8e66: f003 033f and.w r3, r3, #63 ; 0x3f 80b8e6a: b2da uxtb r2, r3 80b8e6c: 68bb ldr r3, [r7, #8] 80b8e6e: 709a strb r2, [r3, #2] sDate->WeekDay = (uint8_t)((datetmpreg & (RTC_DR_WDU)) >> 13); 80b8e70: 697b ldr r3, [r7, #20] 80b8e72: 0b5b lsrs r3, r3, #13 80b8e74: b2db uxtb r3, r3 80b8e76: f003 0307 and.w r3, r3, #7 80b8e7a: b2da uxtb r2, r3 80b8e7c: 68bb ldr r3, [r7, #8] 80b8e7e: 701a strb r2, [r3, #0] /* Check the input parameters format */ if(Format == RTC_FORMAT_BIN) 80b8e80: 687b ldr r3, [r7, #4] 80b8e82: 2b00 cmp r3, #0 80b8e84: d11a bne.n 80b8ebc { /* Convert the date structure parameters to Binary format */ sDate->Year = (uint8_t)RTC_Bcd2ToByte(sDate->Year); 80b8e86: 68bb ldr r3, [r7, #8] 80b8e88: 78db ldrb r3, [r3, #3] 80b8e8a: 4618 mov r0, r3 80b8e8c: f000 f890 bl 80b8fb0 80b8e90: 4603 mov r3, r0 80b8e92: 461a mov r2, r3 80b8e94: 68bb ldr r3, [r7, #8] 80b8e96: 70da strb r2, [r3, #3] sDate->Month = (uint8_t)RTC_Bcd2ToByte(sDate->Month); 80b8e98: 68bb ldr r3, [r7, #8] 80b8e9a: 785b ldrb r3, [r3, #1] 80b8e9c: 4618 mov r0, r3 80b8e9e: f000 f887 bl 80b8fb0 80b8ea2: 4603 mov r3, r0 80b8ea4: 461a mov r2, r3 80b8ea6: 68bb ldr r3, [r7, #8] 80b8ea8: 705a strb r2, [r3, #1] sDate->Date = (uint8_t)RTC_Bcd2ToByte(sDate->Date); 80b8eaa: 68bb ldr r3, [r7, #8] 80b8eac: 789b ldrb r3, [r3, #2] 80b8eae: 4618 mov r0, r3 80b8eb0: f000 f87e bl 80b8fb0 80b8eb4: 4603 mov r3, r0 80b8eb6: 461a mov r2, r3 80b8eb8: 68bb ldr r3, [r7, #8] 80b8eba: 709a strb r2, [r3, #2] } return HAL_OK; 80b8ebc: 2300 movs r3, #0 } 80b8ebe: 4618 mov r0, r3 80b8ec0: 3718 adds r7, #24 80b8ec2: 46bd mov sp, r7 80b8ec4: bd80 pop {r7, pc} 80b8ec6: bf00 nop 80b8ec8: 00ffff3f .word 0x00ffff3f 080b8ecc : * @param hrtc pointer to a RTC_HandleTypeDef structure that contains * the configuration information for RTC. * @retval HAL status */ HAL_StatusTypeDef HAL_RTC_WaitForSynchro(RTC_HandleTypeDef* hrtc) { 80b8ecc: b580 push {r7, lr} 80b8ece: b084 sub sp, #16 80b8ed0: af00 add r7, sp, #0 80b8ed2: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80b8ed4: 2300 movs r3, #0 80b8ed6: 60fb str r3, [r7, #12] /* Clear RSF flag */ hrtc->Instance->ISR &= (uint32_t)RTC_RSF_MASK; 80b8ed8: 687b ldr r3, [r7, #4] 80b8eda: 681b ldr r3, [r3, #0] 80b8edc: 687a ldr r2, [r7, #4] 80b8ede: 6812 ldr r2, [r2, #0] 80b8ee0: 68d2 ldr r2, [r2, #12] 80b8ee2: f022 02a0 bic.w r2, r2, #160 ; 0xa0 80b8ee6: 60da str r2, [r3, #12] /* Get tick */ tickstart = HAL_GetTick(); 80b8ee8: f7fa f9c2 bl 80b3270 80b8eec: 60f8 str r0, [r7, #12] /* Wait the registers to be synchronised */ while((hrtc->Instance->ISR & RTC_ISR_RSF) == (uint32_t)RESET) 80b8eee: e009 b.n 80b8f04 { if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 80b8ef0: f7fa f9be bl 80b3270 80b8ef4: 4602 mov r2, r0 80b8ef6: 68fb ldr r3, [r7, #12] 80b8ef8: 1ad3 subs r3, r2, r3 80b8efa: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80b8efe: d901 bls.n 80b8f04 { return HAL_TIMEOUT; 80b8f00: 2303 movs r3, #3 80b8f02: e007 b.n 80b8f14 while((hrtc->Instance->ISR & RTC_ISR_RSF) == (uint32_t)RESET) 80b8f04: 687b ldr r3, [r7, #4] 80b8f06: 681b ldr r3, [r3, #0] 80b8f08: 68db ldr r3, [r3, #12] 80b8f0a: f003 0320 and.w r3, r3, #32 80b8f0e: 2b00 cmp r3, #0 80b8f10: d0ee beq.n 80b8ef0 } } return HAL_OK; 80b8f12: 2300 movs r3, #0 } 80b8f14: 4618 mov r0, r3 80b8f16: 3710 adds r7, #16 80b8f18: 46bd mov sp, r7 80b8f1a: bd80 pop {r7, pc} 080b8f1c : * @param hrtc pointer to a RTC_HandleTypeDef structure that contains * the configuration information for RTC. * @retval HAL status */ HAL_StatusTypeDef RTC_EnterInitMode(RTC_HandleTypeDef* hrtc) { 80b8f1c: b580 push {r7, lr} 80b8f1e: b084 sub sp, #16 80b8f20: af00 add r7, sp, #0 80b8f22: 6078 str r0, [r7, #4] uint32_t tickstart = 0; 80b8f24: 2300 movs r3, #0 80b8f26: 60fb str r3, [r7, #12] /* Check if the Initialization mode is set */ if((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) 80b8f28: 687b ldr r3, [r7, #4] 80b8f2a: 681b ldr r3, [r3, #0] 80b8f2c: 68db ldr r3, [r3, #12] 80b8f2e: f003 0340 and.w r3, r3, #64 ; 0x40 80b8f32: 2b00 cmp r3, #0 80b8f34: d119 bne.n 80b8f6a { /* Set the Initialization mode */ hrtc->Instance->ISR = (uint32_t)RTC_INIT_MASK; 80b8f36: 687b ldr r3, [r7, #4] 80b8f38: 681b ldr r3, [r3, #0] 80b8f3a: f04f 32ff mov.w r2, #4294967295 80b8f3e: 60da str r2, [r3, #12] /* Get tick */ tickstart = HAL_GetTick(); 80b8f40: f7fa f996 bl 80b3270 80b8f44: 60f8 str r0, [r7, #12] /* Wait till RTC is in INIT state and if Time out is reached exit */ while((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) 80b8f46: e009 b.n 80b8f5c { if((HAL_GetTick() - tickstart ) > RTC_TIMEOUT_VALUE) 80b8f48: f7fa f992 bl 80b3270 80b8f4c: 4602 mov r2, r0 80b8f4e: 68fb ldr r3, [r7, #12] 80b8f50: 1ad3 subs r3, r2, r3 80b8f52: f5b3 7f7a cmp.w r3, #1000 ; 0x3e8 80b8f56: d901 bls.n 80b8f5c { return HAL_TIMEOUT; 80b8f58: 2303 movs r3, #3 80b8f5a: e007 b.n 80b8f6c while((hrtc->Instance->ISR & RTC_ISR_INITF) == (uint32_t)RESET) 80b8f5c: 687b ldr r3, [r7, #4] 80b8f5e: 681b ldr r3, [r3, #0] 80b8f60: 68db ldr r3, [r3, #12] 80b8f62: f003 0340 and.w r3, r3, #64 ; 0x40 80b8f66: 2b00 cmp r3, #0 80b8f68: d0ee beq.n 80b8f48 } } } return HAL_OK; 80b8f6a: 2300 movs r3, #0 } 80b8f6c: 4618 mov r0, r3 80b8f6e: 3710 adds r7, #16 80b8f70: 46bd mov sp, r7 80b8f72: bd80 pop {r7, pc} 080b8f74 : * @brief Converts a 2 digit decimal to BCD format. * @param Value Byte to be converted * @retval Converted byte */ uint8_t RTC_ByteToBcd2(uint8_t Value) { 80b8f74: b480 push {r7} 80b8f76: b085 sub sp, #20 80b8f78: af00 add r7, sp, #0 80b8f7a: 4603 mov r3, r0 80b8f7c: 71fb strb r3, [r7, #7] uint32_t bcdhigh = 0; 80b8f7e: 2300 movs r3, #0 80b8f80: 60fb str r3, [r7, #12] while(Value >= 10) 80b8f82: e005 b.n 80b8f90 { bcdhigh++; 80b8f84: 68fb ldr r3, [r7, #12] 80b8f86: 3301 adds r3, #1 80b8f88: 60fb str r3, [r7, #12] Value -= 10; 80b8f8a: 79fb ldrb r3, [r7, #7] 80b8f8c: 3b0a subs r3, #10 80b8f8e: 71fb strb r3, [r7, #7] while(Value >= 10) 80b8f90: 79fb ldrb r3, [r7, #7] 80b8f92: 2b09 cmp r3, #9 80b8f94: d8f6 bhi.n 80b8f84 } return ((uint8_t)(bcdhigh << 4) | Value); 80b8f96: 68fb ldr r3, [r7, #12] 80b8f98: b2db uxtb r3, r3 80b8f9a: 011b lsls r3, r3, #4 80b8f9c: b2da uxtb r2, r3 80b8f9e: 79fb ldrb r3, [r7, #7] 80b8fa0: 4313 orrs r3, r2 80b8fa2: b2db uxtb r3, r3 } 80b8fa4: 4618 mov r0, r3 80b8fa6: 3714 adds r7, #20 80b8fa8: 46bd mov sp, r7 80b8faa: f85d 7b04 ldr.w r7, [sp], #4 80b8fae: 4770 bx lr 080b8fb0 : * @brief Converts from 2 digit BCD to Binary. * @param Value BCD value to be converted * @retval Converted word */ uint8_t RTC_Bcd2ToByte(uint8_t Value) { 80b8fb0: b480 push {r7} 80b8fb2: b085 sub sp, #20 80b8fb4: af00 add r7, sp, #0 80b8fb6: 4603 mov r3, r0 80b8fb8: 71fb strb r3, [r7, #7] uint32_t tmp = 0; 80b8fba: 2300 movs r3, #0 80b8fbc: 60fb str r3, [r7, #12] tmp = ((uint8_t)(Value & (uint8_t)0xF0) >> (uint8_t)0x4) * 10; 80b8fbe: 79fb ldrb r3, [r7, #7] 80b8fc0: 091b lsrs r3, r3, #4 80b8fc2: b2db uxtb r3, r3 80b8fc4: 461a mov r2, r3 80b8fc6: 4613 mov r3, r2 80b8fc8: 009b lsls r3, r3, #2 80b8fca: 4413 add r3, r2 80b8fcc: 005b lsls r3, r3, #1 80b8fce: 60fb str r3, [r7, #12] return (tmp + (Value & (uint8_t)0x0F)); 80b8fd0: 79fb ldrb r3, [r7, #7] 80b8fd2: f003 030f and.w r3, r3, #15 80b8fd6: b2da uxtb r2, r3 80b8fd8: 68fb ldr r3, [r7, #12] 80b8fda: b2db uxtb r3, r3 80b8fdc: 4413 add r3, r2 80b8fde: b2db uxtb r3, r3 } 80b8fe0: 4618 mov r0, r3 80b8fe2: 3714 adds r7, #20 80b8fe4: 46bd mov sp, r7 80b8fe6: f85d 7b04 ldr.w r7, [sp], #4 80b8fea: 4770 bx lr 080b8fec : * specify the register. * @param Data Data to be written in the specified RTC Backup data register. * @retval None */ void HAL_RTCEx_BKUPWrite(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister, uint32_t Data) { 80b8fec: b480 push {r7} 80b8fee: b087 sub sp, #28 80b8ff0: af00 add r7, sp, #0 80b8ff2: 60f8 str r0, [r7, #12] 80b8ff4: 60b9 str r1, [r7, #8] 80b8ff6: 607a str r2, [r7, #4] uint32_t tmp = 0; 80b8ff8: 2300 movs r3, #0 80b8ffa: 617b str r3, [r7, #20] /* Check the parameters */ assert_param(IS_RTC_BKP(BackupRegister)); tmp = (uint32_t)&(hrtc->Instance->BKP0R); 80b8ffc: 68fb ldr r3, [r7, #12] 80b8ffe: 681b ldr r3, [r3, #0] 80b9000: 3350 adds r3, #80 ; 0x50 80b9002: 617b str r3, [r7, #20] tmp += (BackupRegister * 4); 80b9004: 68bb ldr r3, [r7, #8] 80b9006: 009b lsls r3, r3, #2 80b9008: 697a ldr r2, [r7, #20] 80b900a: 4413 add r3, r2 80b900c: 617b str r3, [r7, #20] /* Write the specified register */ *(__IO uint32_t *)tmp = (uint32_t)Data; 80b900e: 697b ldr r3, [r7, #20] 80b9010: 687a ldr r2, [r7, #4] 80b9012: 601a str r2, [r3, #0] } 80b9014: bf00 nop 80b9016: 371c adds r7, #28 80b9018: 46bd mov sp, r7 80b901a: f85d 7b04 ldr.w r7, [sp], #4 80b901e: 4770 bx lr 080b9020 : * This parameter can be: RTC_BKP_DRx where x can be from 0 to 19 to * specify the register. * @retval Read value */ uint32_t HAL_RTCEx_BKUPRead(RTC_HandleTypeDef *hrtc, uint32_t BackupRegister) { 80b9020: b480 push {r7} 80b9022: b085 sub sp, #20 80b9024: af00 add r7, sp, #0 80b9026: 6078 str r0, [r7, #4] 80b9028: 6039 str r1, [r7, #0] uint32_t tmp = 0; 80b902a: 2300 movs r3, #0 80b902c: 60fb str r3, [r7, #12] /* Check the parameters */ assert_param(IS_RTC_BKP(BackupRegister)); tmp = (uint32_t)&(hrtc->Instance->BKP0R); 80b902e: 687b ldr r3, [r7, #4] 80b9030: 681b ldr r3, [r3, #0] 80b9032: 3350 adds r3, #80 ; 0x50 80b9034: 60fb str r3, [r7, #12] tmp += (BackupRegister * 4); 80b9036: 683b ldr r3, [r7, #0] 80b9038: 009b lsls r3, r3, #2 80b903a: 68fa ldr r2, [r7, #12] 80b903c: 4413 add r3, r2 80b903e: 60fb str r3, [r7, #12] /* Read the specified register */ return (*(__IO uint32_t *)tmp); 80b9040: 68fb ldr r3, [r7, #12] 80b9042: 681b ldr r3, [r3, #0] } 80b9044: 4618 mov r0, r3 80b9046: 3714 adds r7, #20 80b9048: 46bd mov sp, r7 80b904a: f85d 7b04 ldr.w r7, [sp], #4 80b904e: 4770 bx lr 080b9050 : SD_HandleTypeDef and create the associated handle. * @param hsd: Pointer to the SD handle * @retval HAL status */ HAL_StatusTypeDef HAL_SD_Init(SD_HandleTypeDef *hsd) { 80b9050: b580 push {r7, lr} 80b9052: b082 sub sp, #8 80b9054: af00 add r7, sp, #0 80b9056: 6078 str r0, [r7, #4] /* Check the SD handle allocation */ if(hsd == NULL) 80b9058: 687b ldr r3, [r7, #4] 80b905a: 2b00 cmp r3, #0 80b905c: d101 bne.n 80b9062 { return HAL_ERROR; 80b905e: 2301 movs r3, #1 80b9060: e022 b.n 80b90a8 assert_param(IS_SDMMC_CLOCK_POWER_SAVE(hsd->Init.ClockPowerSave)); assert_param(IS_SDMMC_BUS_WIDE(hsd->Init.BusWide)); assert_param(IS_SDMMC_HARDWARE_FLOW_CONTROL(hsd->Init.HardwareFlowControl)); assert_param(IS_SDMMC_CLKDIV(hsd->Init.ClockDiv)); if(hsd->State == HAL_SD_STATE_RESET) 80b9062: 687b ldr r3, [r7, #4] 80b9064: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80b9068: b2db uxtb r3, r3 80b906a: 2b00 cmp r3, #0 80b906c: d105 bne.n 80b907a { /* Allocate lock resource and initialize it */ hsd->Lock = HAL_UNLOCKED; 80b906e: 687b ldr r3, [r7, #4] 80b9070: 2200 movs r2, #0 80b9072: 771a strb r2, [r3, #28] /* Init the low level hardware */ hsd->MspInitCallback(hsd); #else /* Init the low level hardware : GPIO, CLOCK, CORTEX...etc */ HAL_SD_MspInit(hsd); 80b9074: 6878 ldr r0, [r7, #4] 80b9076: f7f4 ff5d bl 80adf34 #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ } hsd->State = HAL_SD_STATE_BUSY; 80b907a: 687b ldr r3, [r7, #4] 80b907c: 2203 movs r2, #3 80b907e: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Initialize the Card parameters */ if (HAL_SD_InitCard(hsd) != HAL_OK) 80b9082: 6878 ldr r0, [r7, #4] 80b9084: f000 f814 bl 80b90b0 80b9088: 4603 mov r3, r0 80b908a: 2b00 cmp r3, #0 80b908c: d001 beq.n 80b9092 { return HAL_ERROR; 80b908e: 2301 movs r3, #1 80b9090: e00a b.n 80b90a8 } /* Initialize the error code */ hsd->ErrorCode = HAL_SD_ERROR_NONE; 80b9092: 687b ldr r3, [r7, #4] 80b9094: 2200 movs r2, #0 80b9096: 639a str r2, [r3, #56] ; 0x38 /* Initialize the SD operation */ hsd->Context = SD_CONTEXT_NONE; 80b9098: 687b ldr r3, [r7, #4] 80b909a: 2200 movs r2, #0 80b909c: 631a str r2, [r3, #48] ; 0x30 /* Initialize the SD state */ hsd->State = HAL_SD_STATE_READY; 80b909e: 687b ldr r3, [r7, #4] 80b90a0: 2201 movs r2, #1 80b90a2: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_OK; 80b90a6: 2300 movs r3, #0 } 80b90a8: 4618 mov r0, r3 80b90aa: 3708 adds r7, #8 80b90ac: 46bd mov sp, r7 80b90ae: bd80 pop {r7, pc} 080b90b0 : * @note This function initializes the SD card. It could be used when a card re-initialization is needed. * @retval HAL status */ HAL_StatusTypeDef HAL_SD_InitCard(SD_HandleTypeDef *hsd) { 80b90b0: b5b0 push {r4, r5, r7, lr} 80b90b2: b08e sub sp, #56 ; 0x38 80b90b4: af04 add r7, sp, #16 80b90b6: 6078 str r0, [r7, #4] uint32_t errorstate; HAL_StatusTypeDef status; SD_InitTypeDef Init; /* Default SDMMC peripheral configuration for SD card initialization */ Init.ClockEdge = SDMMC_CLOCK_EDGE_RISING; 80b90b8: 2300 movs r3, #0 80b90ba: 60bb str r3, [r7, #8] Init.ClockBypass = SDMMC_CLOCK_BYPASS_DISABLE; 80b90bc: 2300 movs r3, #0 80b90be: 60fb str r3, [r7, #12] Init.ClockPowerSave = SDMMC_CLOCK_POWER_SAVE_DISABLE; 80b90c0: 2300 movs r3, #0 80b90c2: 613b str r3, [r7, #16] Init.BusWide = SDMMC_BUS_WIDE_1B; 80b90c4: 2300 movs r3, #0 80b90c6: 617b str r3, [r7, #20] Init.HardwareFlowControl = SDMMC_HARDWARE_FLOW_CONTROL_DISABLE; 80b90c8: 2300 movs r3, #0 80b90ca: 61bb str r3, [r7, #24] Init.ClockDiv = SDMMC_INIT_CLK_DIV; 80b90cc: 2376 movs r3, #118 ; 0x76 80b90ce: 61fb str r3, [r7, #28] /* Initialize SDMMC peripheral interface with default configuration */ status = SDMMC_Init(hsd->Instance, Init); 80b90d0: 687b ldr r3, [r7, #4] 80b90d2: 681d ldr r5, [r3, #0] 80b90d4: 466c mov r4, sp 80b90d6: f107 0314 add.w r3, r7, #20 80b90da: e893 0007 ldmia.w r3, {r0, r1, r2} 80b90de: e884 0007 stmia.w r4, {r0, r1, r2} 80b90e2: f107 0308 add.w r3, r7, #8 80b90e6: cb0e ldmia r3, {r1, r2, r3} 80b90e8: 4628 mov r0, r5 80b90ea: f004 f9b1 bl 80bd450 80b90ee: 4603 mov r3, r0 80b90f0: f887 3027 strb.w r3, [r7, #39] ; 0x27 if(status != HAL_OK) 80b90f4: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80b90f8: 2b00 cmp r3, #0 80b90fa: d001 beq.n 80b9100 { return HAL_ERROR; 80b90fc: 2301 movs r3, #1 80b90fe: e059 b.n 80b91b4 } /* Disable SDMMC Clock */ __HAL_SD_DISABLE(hsd); 80b9100: 687b ldr r3, [r7, #4] 80b9102: 681b ldr r3, [r3, #0] 80b9104: 687a ldr r2, [r7, #4] 80b9106: 6812 ldr r2, [r2, #0] 80b9108: 6852 ldr r2, [r2, #4] 80b910a: f422 7280 bic.w r2, r2, #256 ; 0x100 80b910e: 605a str r2, [r3, #4] /* Set Power State to ON */ (void)SDMMC_PowerState_ON(hsd->Instance); 80b9110: 687b ldr r3, [r7, #4] 80b9112: 681b ldr r3, [r3, #0] 80b9114: 4618 mov r0, r3 80b9116: f004 f9e5 bl 80bd4e4 /* Enable SDMMC Clock */ __HAL_SD_ENABLE(hsd); 80b911a: 687b ldr r3, [r7, #4] 80b911c: 681b ldr r3, [r3, #0] 80b911e: 687a ldr r2, [r7, #4] 80b9120: 6812 ldr r2, [r2, #0] 80b9122: 6852 ldr r2, [r2, #4] 80b9124: f442 7280 orr.w r2, r2, #256 ; 0x100 80b9128: 605a str r2, [r3, #4] /* Required power up waiting time before starting the SD initialization sequence */ HAL_Delay(2); 80b912a: 2002 movs r0, #2 80b912c: f7fa f8ac bl 80b3288 /* Identify card operating voltage */ errorstate = SD_PowerON(hsd); 80b9130: 6878 ldr r0, [r7, #4] 80b9132: f001 f813 bl 80ba15c 80b9136: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80b9138: 6a3b ldr r3, [r7, #32] 80b913a: 2b00 cmp r3, #0 80b913c: d00b beq.n 80b9156 { hsd->State = HAL_SD_STATE_READY; 80b913e: 687b ldr r3, [r7, #4] 80b9140: 2201 movs r2, #1 80b9142: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->ErrorCode |= errorstate; 80b9146: 687b ldr r3, [r7, #4] 80b9148: 6b9a ldr r2, [r3, #56] ; 0x38 80b914a: 6a3b ldr r3, [r7, #32] 80b914c: 431a orrs r2, r3 80b914e: 687b ldr r3, [r7, #4] 80b9150: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80b9152: 2301 movs r3, #1 80b9154: e02e b.n 80b91b4 } /* Card initialization */ errorstate = SD_InitCard(hsd); 80b9156: 6878 ldr r0, [r7, #4] 80b9158: f000 ff32 bl 80b9fc0 80b915c: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80b915e: 6a3b ldr r3, [r7, #32] 80b9160: 2b00 cmp r3, #0 80b9162: d00b beq.n 80b917c { hsd->State = HAL_SD_STATE_READY; 80b9164: 687b ldr r3, [r7, #4] 80b9166: 2201 movs r2, #1 80b9168: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->ErrorCode |= errorstate; 80b916c: 687b ldr r3, [r7, #4] 80b916e: 6b9a ldr r2, [r3, #56] ; 0x38 80b9170: 6a3b ldr r3, [r7, #32] 80b9172: 431a orrs r2, r3 80b9174: 687b ldr r3, [r7, #4] 80b9176: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80b9178: 2301 movs r3, #1 80b917a: e01b b.n 80b91b4 } /* Set Block Size for Card */ errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); 80b917c: 687b ldr r3, [r7, #4] 80b917e: 681b ldr r3, [r3, #0] 80b9180: f44f 7100 mov.w r1, #512 ; 0x200 80b9184: 4618 mov r0, r3 80b9186: f004 fa4d bl 80bd624 80b918a: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80b918c: 6a3b ldr r3, [r7, #32] 80b918e: 2b00 cmp r3, #0 80b9190: d00f beq.n 80b91b2 { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b9192: 687b ldr r3, [r7, #4] 80b9194: 681b ldr r3, [r3, #0] 80b9196: 4a09 ldr r2, [pc, #36] ; (80b91bc ) 80b9198: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80b919a: 687b ldr r3, [r7, #4] 80b919c: 6b9a ldr r2, [r3, #56] ; 0x38 80b919e: 6a3b ldr r3, [r7, #32] 80b91a0: 431a orrs r2, r3 80b91a2: 687b ldr r3, [r7, #4] 80b91a4: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b91a6: 687b ldr r3, [r7, #4] 80b91a8: 2201 movs r2, #1 80b91aa: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80b91ae: 2301 movs r3, #1 80b91b0: e000 b.n 80b91b4 } return HAL_OK; 80b91b2: 2300 movs r3, #0 } 80b91b4: 4618 mov r0, r3 80b91b6: 3728 adds r7, #40 ; 0x28 80b91b8: 46bd mov sp, r7 80b91ba: bdb0 pop {r4, r5, r7, pc} 80b91bc: 004005ff .word 0x004005ff 080b91c0 : * @brief De-Initializes the SD card. * @param hsd: Pointer to SD handle * @retval HAL status */ HAL_StatusTypeDef HAL_SD_DeInit(SD_HandleTypeDef *hsd) { 80b91c0: b580 push {r7, lr} 80b91c2: b082 sub sp, #8 80b91c4: af00 add r7, sp, #0 80b91c6: 6078 str r0, [r7, #4] /* Check the SD handle allocation */ if(hsd == NULL) 80b91c8: 687b ldr r3, [r7, #4] 80b91ca: 2b00 cmp r3, #0 80b91cc: d101 bne.n 80b91d2 { return HAL_ERROR; 80b91ce: 2301 movs r3, #1 80b91d0: e011 b.n 80b91f6 } /* Check the parameters */ assert_param(IS_SDMMC_ALL_INSTANCE(hsd->Instance)); hsd->State = HAL_SD_STATE_BUSY; 80b91d2: 687b ldr r3, [r7, #4] 80b91d4: 2203 movs r2, #3 80b91d6: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Set SD power state to off */ SD_PowerOFF(hsd); 80b91da: 6878 ldr r0, [r7, #4] 80b91dc: f001 f84c bl 80ba278 /* DeInit the low level hardware */ hsd->MspDeInitCallback(hsd); #else /* De-Initialize the MSP layer */ HAL_SD_MspDeInit(hsd); 80b91e0: 6878 ldr r0, [r7, #4] 80b91e2: f7f4 ff73 bl 80ae0cc #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ hsd->ErrorCode = HAL_SD_ERROR_NONE; 80b91e6: 687b ldr r3, [r7, #4] 80b91e8: 2200 movs r2, #0 80b91ea: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_RESET; 80b91ec: 687b ldr r3, [r7, #4] 80b91ee: 2200 movs r2, #0 80b91f0: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_OK; 80b91f4: 2300 movs r3, #0 } 80b91f6: 4618 mov r0, r3 80b91f8: 3708 adds r7, #8 80b91fa: 46bd mov sp, r7 80b91fc: bd80 pop {r7, pc} ... 080b9200 : * @param BlockAdd: Block Address from where data is to be read * @param NumberOfBlocks: Number of blocks to read. * @retval HAL status */ HAL_StatusTypeDef HAL_SD_ReadBlocks_DMA(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) { 80b9200: b580 push {r7, lr} 80b9202: b08c sub sp, #48 ; 0x30 80b9204: af00 add r7, sp, #0 80b9206: 60f8 str r0, [r7, #12] 80b9208: 60b9 str r1, [r7, #8] 80b920a: 607a str r2, [r7, #4] 80b920c: 603b str r3, [r7, #0] SDMMC_DataInitTypeDef config; uint32_t errorstate; uint32_t add = BlockAdd; 80b920e: 687b ldr r3, [r7, #4] 80b9210: 62bb str r3, [r7, #40] ; 0x28 if(NULL == pData) 80b9212: 68bb ldr r3, [r7, #8] 80b9214: 2b00 cmp r3, #0 80b9216: d107 bne.n 80b9228 { hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 80b9218: 68fb ldr r3, [r7, #12] 80b921a: 6b9b ldr r3, [r3, #56] ; 0x38 80b921c: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80b9220: 68fb ldr r3, [r7, #12] 80b9222: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80b9224: 2301 movs r3, #1 80b9226: e0c3 b.n 80b93b0 } if(hsd->State == HAL_SD_STATE_READY) 80b9228: 68fb ldr r3, [r7, #12] 80b922a: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80b922e: b2db uxtb r3, r3 80b9230: 2b01 cmp r3, #1 80b9232: f040 80bc bne.w 80b93ae { hsd->ErrorCode = HAL_SD_ERROR_NONE; 80b9236: 68fb ldr r3, [r7, #12] 80b9238: 2200 movs r2, #0 80b923a: 639a str r2, [r3, #56] ; 0x38 if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 80b923c: 6aba ldr r2, [r7, #40] ; 0x28 80b923e: 683b ldr r3, [r7, #0] 80b9240: 441a add r2, r3 80b9242: 68fb ldr r3, [r7, #12] 80b9244: 6ddb ldr r3, [r3, #92] ; 0x5c 80b9246: 429a cmp r2, r3 80b9248: d907 bls.n 80b925a { hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 80b924a: 68fb ldr r3, [r7, #12] 80b924c: 6b9b ldr r3, [r3, #56] ; 0x38 80b924e: f043 7200 orr.w r2, r3, #33554432 ; 0x2000000 80b9252: 68fb ldr r3, [r7, #12] 80b9254: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80b9256: 2301 movs r3, #1 80b9258: e0aa b.n 80b93b0 } hsd->State = HAL_SD_STATE_BUSY; 80b925a: 68fb ldr r3, [r7, #12] 80b925c: 2203 movs r2, #3 80b925e: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Initialize data control register */ hsd->Instance->DCTRL = 0U; 80b9262: 68fb ldr r3, [r7, #12] 80b9264: 681b ldr r3, [r3, #0] 80b9266: 2200 movs r2, #0 80b9268: 62da str r2, [r3, #44] ; 0x2c __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND)); 80b926a: 68fb ldr r3, [r7, #12] 80b926c: 681b ldr r3, [r3, #0] 80b926e: 68fa ldr r2, [r7, #12] 80b9270: 6812 ldr r2, [r2, #0] 80b9272: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b9274: f442 7295 orr.w r2, r2, #298 ; 0x12a 80b9278: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA transfer complete callback */ hsd->hdmarx->XferCpltCallback = SD_DMAReceiveCplt; 80b927a: 68fb ldr r3, [r7, #12] 80b927c: 6c1b ldr r3, [r3, #64] ; 0x40 80b927e: 4a4e ldr r2, [pc, #312] ; (80b93b8 ) 80b9280: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA error callback */ hsd->hdmarx->XferErrorCallback = SD_DMAError; 80b9282: 68fb ldr r3, [r7, #12] 80b9284: 6c1b ldr r3, [r3, #64] ; 0x40 80b9286: 4a4d ldr r2, [pc, #308] ; (80b93bc ) 80b9288: 64da str r2, [r3, #76] ; 0x4c /* Set the DMA Abort callback */ hsd->hdmarx->XferAbortCallback = NULL; 80b928a: 68fb ldr r3, [r7, #12] 80b928c: 6c1b ldr r3, [r3, #64] ; 0x40 80b928e: 2200 movs r2, #0 80b9290: 651a str r2, [r3, #80] ; 0x50 /* Force DMA Direction */ hsd->hdmarx->Init.Direction = DMA_PERIPH_TO_MEMORY; 80b9292: 68fb ldr r3, [r7, #12] 80b9294: 6c1b ldr r3, [r3, #64] ; 0x40 80b9296: 2200 movs r2, #0 80b9298: 609a str r2, [r3, #8] MODIFY_REG(hsd->hdmarx->Instance->CR, DMA_SxCR_DIR, hsd->hdmarx->Init.Direction); 80b929a: 68fb ldr r3, [r7, #12] 80b929c: 6c1b ldr r3, [r3, #64] ; 0x40 80b929e: 681b ldr r3, [r3, #0] 80b92a0: 68fa ldr r2, [r7, #12] 80b92a2: 6c12 ldr r2, [r2, #64] ; 0x40 80b92a4: 6812 ldr r2, [r2, #0] 80b92a6: 6812 ldr r2, [r2, #0] 80b92a8: f022 01c0 bic.w r1, r2, #192 ; 0xc0 80b92ac: 68fa ldr r2, [r7, #12] 80b92ae: 6c12 ldr r2, [r2, #64] ; 0x40 80b92b0: 6892 ldr r2, [r2, #8] 80b92b2: 430a orrs r2, r1 80b92b4: 601a str r2, [r3, #0] /* Enable the DMA Channel */ if(HAL_DMA_Start_IT(hsd->hdmarx, (uint32_t)&hsd->Instance->FIFO, (uint32_t)pData, (uint32_t)(BLOCKSIZE * NumberOfBlocks)/4U) != HAL_OK) 80b92b6: 68fb ldr r3, [r7, #12] 80b92b8: 6c18 ldr r0, [r3, #64] ; 0x40 80b92ba: 68fb ldr r3, [r7, #12] 80b92bc: 681b ldr r3, [r3, #0] 80b92be: 3380 adds r3, #128 ; 0x80 80b92c0: 4619 mov r1, r3 80b92c2: 68ba ldr r2, [r7, #8] 80b92c4: 683b ldr r3, [r7, #0] 80b92c6: 025b lsls r3, r3, #9 80b92c8: 089b lsrs r3, r3, #2 80b92ca: f7fb f8f5 bl 80b44b8 80b92ce: 4603 mov r3, r0 80b92d0: 2b00 cmp r3, #0 80b92d2: d017 beq.n 80b9304 { __HAL_SD_DISABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_RXOVERR | SDMMC_IT_DATAEND)); 80b92d4: 68fb ldr r3, [r7, #12] 80b92d6: 681b ldr r3, [r3, #0] 80b92d8: 68fa ldr r2, [r7, #12] 80b92da: 6812 ldr r2, [r2, #0] 80b92dc: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b92de: f422 7295 bic.w r2, r2, #298 ; 0x12a 80b92e2: 63da str r2, [r3, #60] ; 0x3c __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b92e4: 68fb ldr r3, [r7, #12] 80b92e6: 681b ldr r3, [r3, #0] 80b92e8: 4a35 ldr r2, [pc, #212] ; (80b93c0 ) 80b92ea: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= HAL_SD_ERROR_DMA; 80b92ec: 68fb ldr r3, [r7, #12] 80b92ee: 6b9b ldr r3, [r3, #56] ; 0x38 80b92f0: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80b92f4: 68fb ldr r3, [r7, #12] 80b92f6: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b92f8: 68fb ldr r3, [r7, #12] 80b92fa: 2201 movs r2, #1 80b92fc: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80b9300: 2301 movs r3, #1 80b9302: e055 b.n 80b93b0 } else { /* Enable SD DMA transfer */ __HAL_SD_DMA_ENABLE(hsd); 80b9304: 68fb ldr r3, [r7, #12] 80b9306: 681b ldr r3, [r3, #0] 80b9308: 68fa ldr r2, [r7, #12] 80b930a: 6812 ldr r2, [r2, #0] 80b930c: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b930e: f042 0208 orr.w r2, r2, #8 80b9312: 62da str r2, [r3, #44] ; 0x2c if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 80b9314: 68fb ldr r3, [r7, #12] 80b9316: 6c5b ldr r3, [r3, #68] ; 0x44 80b9318: 2b01 cmp r3, #1 80b931a: d002 beq.n 80b9322 { add *= 512U; 80b931c: 6abb ldr r3, [r7, #40] ; 0x28 80b931e: 025b lsls r3, r3, #9 80b9320: 62bb str r3, [r7, #40] ; 0x28 } /* Configure the SD DPSM (Data Path State Machine) */ config.DataTimeOut = SDMMC_DATATIMEOUT; 80b9322: f04f 33ff mov.w r3, #4294967295 80b9326: 613b str r3, [r7, #16] config.DataLength = BLOCKSIZE * NumberOfBlocks; 80b9328: 683b ldr r3, [r7, #0] 80b932a: 025b lsls r3, r3, #9 80b932c: 617b str r3, [r7, #20] config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 80b932e: 2390 movs r3, #144 ; 0x90 80b9330: 61bb str r3, [r7, #24] config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 80b9332: 2302 movs r3, #2 80b9334: 61fb str r3, [r7, #28] config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 80b9336: 2300 movs r3, #0 80b9338: 623b str r3, [r7, #32] config.DPSM = SDMMC_DPSM_ENABLE; 80b933a: 2301 movs r3, #1 80b933c: 627b str r3, [r7, #36] ; 0x24 (void)SDMMC_ConfigData(hsd->Instance, &config); 80b933e: 68fb ldr r3, [r7, #12] 80b9340: 681b ldr r3, [r3, #0] 80b9342: f107 0210 add.w r2, r7, #16 80b9346: 4611 mov r1, r2 80b9348: 4618 mov r0, r3 80b934a: f004 f93f bl 80bd5cc /* Read Blocks in DMA mode */ if(NumberOfBlocks > 1U) 80b934e: 683b ldr r3, [r7, #0] 80b9350: 2b01 cmp r3, #1 80b9352: d90a bls.n 80b936a { hsd->Context = (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_DMA); 80b9354: 68fb ldr r3, [r7, #12] 80b9356: 2282 movs r2, #130 ; 0x82 80b9358: 631a str r2, [r3, #48] ; 0x30 /* Read Multi Block command */ errorstate = SDMMC_CmdReadMultiBlock(hsd->Instance, add); 80b935a: 68fb ldr r3, [r7, #12] 80b935c: 681b ldr r3, [r3, #0] 80b935e: 6ab9 ldr r1, [r7, #40] ; 0x28 80b9360: 4618 mov r0, r3 80b9362: f004 f9a3 bl 80bd6ac 80b9366: 62f8 str r0, [r7, #44] ; 0x2c 80b9368: e009 b.n 80b937e } else { hsd->Context = (SD_CONTEXT_READ_SINGLE_BLOCK | SD_CONTEXT_DMA); 80b936a: 68fb ldr r3, [r7, #12] 80b936c: 2281 movs r2, #129 ; 0x81 80b936e: 631a str r2, [r3, #48] ; 0x30 /* Read Single Block command */ errorstate = SDMMC_CmdReadSingleBlock(hsd->Instance, add); 80b9370: 68fb ldr r3, [r7, #12] 80b9372: 681b ldr r3, [r3, #0] 80b9374: 6ab9 ldr r1, [r7, #40] ; 0x28 80b9376: 4618 mov r0, r3 80b9378: f004 f976 bl 80bd668 80b937c: 62f8 str r0, [r7, #44] ; 0x2c } if(errorstate != HAL_SD_ERROR_NONE) 80b937e: 6afb ldr r3, [r7, #44] ; 0x2c 80b9380: 2b00 cmp r3, #0 80b9382: d012 beq.n 80b93aa { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b9384: 68fb ldr r3, [r7, #12] 80b9386: 681b ldr r3, [r3, #0] 80b9388: 4a0d ldr r2, [pc, #52] ; (80b93c0 ) 80b938a: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80b938c: 68fb ldr r3, [r7, #12] 80b938e: 6b9a ldr r2, [r3, #56] ; 0x38 80b9390: 6afb ldr r3, [r7, #44] ; 0x2c 80b9392: 431a orrs r2, r3 80b9394: 68fb ldr r3, [r7, #12] 80b9396: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b9398: 68fb ldr r3, [r7, #12] 80b939a: 2201 movs r2, #1 80b939c: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b93a0: 68fb ldr r3, [r7, #12] 80b93a2: 2200 movs r2, #0 80b93a4: 631a str r2, [r3, #48] ; 0x30 return HAL_ERROR; 80b93a6: 2301 movs r3, #1 80b93a8: e002 b.n 80b93b0 } return HAL_OK; 80b93aa: 2300 movs r3, #0 80b93ac: e000 b.n 80b93b0 } } else { return HAL_BUSY; 80b93ae: 2302 movs r3, #2 } } 80b93b0: 4618 mov r0, r3 80b93b2: 3730 adds r7, #48 ; 0x30 80b93b4: 46bd mov sp, r7 80b93b6: bd80 pop {r7, pc} 80b93b8: 080b9dcf .word 0x080b9dcf 80b93bc: 080b9e41 .word 0x080b9e41 80b93c0: 004005ff .word 0x004005ff 080b93c4 : * @param BlockAdd: Block Address where data will be written * @param NumberOfBlocks: Number of blocks to write * @retval HAL status */ HAL_StatusTypeDef HAL_SD_WriteBlocks_DMA(SD_HandleTypeDef *hsd, uint8_t *pData, uint32_t BlockAdd, uint32_t NumberOfBlocks) { 80b93c4: b580 push {r7, lr} 80b93c6: b08c sub sp, #48 ; 0x30 80b93c8: af00 add r7, sp, #0 80b93ca: 60f8 str r0, [r7, #12] 80b93cc: 60b9 str r1, [r7, #8] 80b93ce: 607a str r2, [r7, #4] 80b93d0: 603b str r3, [r7, #0] SDMMC_DataInitTypeDef config; uint32_t errorstate; uint32_t add = BlockAdd; 80b93d2: 687b ldr r3, [r7, #4] 80b93d4: 62bb str r3, [r7, #40] ; 0x28 if(NULL == pData) 80b93d6: 68bb ldr r3, [r7, #8] 80b93d8: 2b00 cmp r3, #0 80b93da: d107 bne.n 80b93ec { hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 80b93dc: 68fb ldr r3, [r7, #12] 80b93de: 6b9b ldr r3, [r3, #56] ; 0x38 80b93e0: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80b93e4: 68fb ldr r3, [r7, #12] 80b93e6: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80b93e8: 2301 movs r3, #1 80b93ea: e0c6 b.n 80b957a } if(hsd->State == HAL_SD_STATE_READY) 80b93ec: 68fb ldr r3, [r7, #12] 80b93ee: f893 3034 ldrb.w r3, [r3, #52] ; 0x34 80b93f2: b2db uxtb r3, r3 80b93f4: 2b01 cmp r3, #1 80b93f6: f040 80bf bne.w 80b9578 { hsd->ErrorCode = HAL_SD_ERROR_NONE; 80b93fa: 68fb ldr r3, [r7, #12] 80b93fc: 2200 movs r2, #0 80b93fe: 639a str r2, [r3, #56] ; 0x38 if((add + NumberOfBlocks) > (hsd->SdCard.LogBlockNbr)) 80b9400: 6aba ldr r2, [r7, #40] ; 0x28 80b9402: 683b ldr r3, [r7, #0] 80b9404: 441a add r2, r3 80b9406: 68fb ldr r3, [r7, #12] 80b9408: 6ddb ldr r3, [r3, #92] ; 0x5c 80b940a: 429a cmp r2, r3 80b940c: d907 bls.n 80b941e { hsd->ErrorCode |= HAL_SD_ERROR_ADDR_OUT_OF_RANGE; 80b940e: 68fb ldr r3, [r7, #12] 80b9410: 6b9b ldr r3, [r3, #56] ; 0x38 80b9412: f043 7200 orr.w r2, r3, #33554432 ; 0x2000000 80b9416: 68fb ldr r3, [r7, #12] 80b9418: 639a str r2, [r3, #56] ; 0x38 return HAL_ERROR; 80b941a: 2301 movs r3, #1 80b941c: e0ad b.n 80b957a } hsd->State = HAL_SD_STATE_BUSY; 80b941e: 68fb ldr r3, [r7, #12] 80b9420: 2203 movs r2, #3 80b9422: f883 2034 strb.w r2, [r3, #52] ; 0x34 /* Initialize data control register */ hsd->Instance->DCTRL = 0U; 80b9426: 68fb ldr r3, [r7, #12] 80b9428: 681b ldr r3, [r3, #0] 80b942a: 2200 movs r2, #0 80b942c: 62da str r2, [r3, #44] ; 0x2c /* Enable SD Error interrupts */ __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR)); 80b942e: 68fb ldr r3, [r7, #12] 80b9430: 681b ldr r3, [r3, #0] 80b9432: 68fa ldr r2, [r7, #12] 80b9434: 6812 ldr r2, [r2, #0] 80b9436: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b9438: f042 021a orr.w r2, r2, #26 80b943c: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA transfer complete callback */ hsd->hdmatx->XferCpltCallback = SD_DMATransmitCplt; 80b943e: 68fb ldr r3, [r7, #12] 80b9440: 6bdb ldr r3, [r3, #60] ; 0x3c 80b9442: 4a50 ldr r2, [pc, #320] ; (80b9584 ) 80b9444: 63da str r2, [r3, #60] ; 0x3c /* Set the DMA error callback */ hsd->hdmatx->XferErrorCallback = SD_DMAError; 80b9446: 68fb ldr r3, [r7, #12] 80b9448: 6bdb ldr r3, [r3, #60] ; 0x3c 80b944a: 4a4f ldr r2, [pc, #316] ; (80b9588 ) 80b944c: 64da str r2, [r3, #76] ; 0x4c /* Set the DMA Abort callback */ hsd->hdmatx->XferAbortCallback = NULL; 80b944e: 68fb ldr r3, [r7, #12] 80b9450: 6bdb ldr r3, [r3, #60] ; 0x3c 80b9452: 2200 movs r2, #0 80b9454: 651a str r2, [r3, #80] ; 0x50 if(hsd->SdCard.CardType != CARD_SDHC_SDXC) 80b9456: 68fb ldr r3, [r7, #12] 80b9458: 6c5b ldr r3, [r3, #68] ; 0x44 80b945a: 2b01 cmp r3, #1 80b945c: d002 beq.n 80b9464 { add *= 512U; 80b945e: 6abb ldr r3, [r7, #40] ; 0x28 80b9460: 025b lsls r3, r3, #9 80b9462: 62bb str r3, [r7, #40] ; 0x28 } /* Write Blocks in Polling mode */ if(NumberOfBlocks > 1U) 80b9464: 683b ldr r3, [r7, #0] 80b9466: 2b01 cmp r3, #1 80b9468: d90a bls.n 80b9480 { hsd->Context = (SD_CONTEXT_WRITE_MULTIPLE_BLOCK | SD_CONTEXT_DMA); 80b946a: 68fb ldr r3, [r7, #12] 80b946c: 22a0 movs r2, #160 ; 0xa0 80b946e: 631a str r2, [r3, #48] ; 0x30 /* Write Multi Block command */ errorstate = SDMMC_CmdWriteMultiBlock(hsd->Instance, add); 80b9470: 68fb ldr r3, [r7, #12] 80b9472: 681b ldr r3, [r3, #0] 80b9474: 6ab9 ldr r1, [r7, #40] ; 0x28 80b9476: 4618 mov r0, r3 80b9478: f004 f95c bl 80bd734 80b947c: 62f8 str r0, [r7, #44] ; 0x2c 80b947e: e009 b.n 80b9494 } else { hsd->Context = (SD_CONTEXT_WRITE_SINGLE_BLOCK | SD_CONTEXT_DMA); 80b9480: 68fb ldr r3, [r7, #12] 80b9482: 2290 movs r2, #144 ; 0x90 80b9484: 631a str r2, [r3, #48] ; 0x30 /* Write Single Block command */ errorstate = SDMMC_CmdWriteSingleBlock(hsd->Instance, add); 80b9486: 68fb ldr r3, [r7, #12] 80b9488: 681b ldr r3, [r3, #0] 80b948a: 6ab9 ldr r1, [r7, #40] ; 0x28 80b948c: 4618 mov r0, r3 80b948e: f004 f92f bl 80bd6f0 80b9492: 62f8 str r0, [r7, #44] ; 0x2c } if(errorstate != HAL_SD_ERROR_NONE) 80b9494: 6afb ldr r3, [r7, #44] ; 0x2c 80b9496: 2b00 cmp r3, #0 80b9498: d012 beq.n 80b94c0 { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b949a: 68fb ldr r3, [r7, #12] 80b949c: 681b ldr r3, [r3, #0] 80b949e: 4a3b ldr r2, [pc, #236] ; (80b958c ) 80b94a0: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80b94a2: 68fb ldr r3, [r7, #12] 80b94a4: 6b9a ldr r2, [r3, #56] ; 0x38 80b94a6: 6afb ldr r3, [r7, #44] ; 0x2c 80b94a8: 431a orrs r2, r3 80b94aa: 68fb ldr r3, [r7, #12] 80b94ac: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b94ae: 68fb ldr r3, [r7, #12] 80b94b0: 2201 movs r2, #1 80b94b2: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b94b6: 68fb ldr r3, [r7, #12] 80b94b8: 2200 movs r2, #0 80b94ba: 631a str r2, [r3, #48] ; 0x30 return HAL_ERROR; 80b94bc: 2301 movs r3, #1 80b94be: e05c b.n 80b957a } /* Enable SDMMC DMA transfer */ __HAL_SD_DMA_ENABLE(hsd); 80b94c0: 68fb ldr r3, [r7, #12] 80b94c2: 681b ldr r3, [r3, #0] 80b94c4: 68fa ldr r2, [r7, #12] 80b94c6: 6812 ldr r2, [r2, #0] 80b94c8: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b94ca: f042 0208 orr.w r2, r2, #8 80b94ce: 62da str r2, [r3, #44] ; 0x2c /* Force DMA Direction */ hsd->hdmatx->Init.Direction = DMA_MEMORY_TO_PERIPH; 80b94d0: 68fb ldr r3, [r7, #12] 80b94d2: 6bdb ldr r3, [r3, #60] ; 0x3c 80b94d4: 2240 movs r2, #64 ; 0x40 80b94d6: 609a str r2, [r3, #8] MODIFY_REG(hsd->hdmatx->Instance->CR, DMA_SxCR_DIR, hsd->hdmatx->Init.Direction); 80b94d8: 68fb ldr r3, [r7, #12] 80b94da: 6bdb ldr r3, [r3, #60] ; 0x3c 80b94dc: 681b ldr r3, [r3, #0] 80b94de: 68fa ldr r2, [r7, #12] 80b94e0: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b94e2: 6812 ldr r2, [r2, #0] 80b94e4: 6812 ldr r2, [r2, #0] 80b94e6: f022 01c0 bic.w r1, r2, #192 ; 0xc0 80b94ea: 68fa ldr r2, [r7, #12] 80b94ec: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b94ee: 6892 ldr r2, [r2, #8] 80b94f0: 430a orrs r2, r1 80b94f2: 601a str r2, [r3, #0] /* Enable the DMA Channel */ if(HAL_DMA_Start_IT(hsd->hdmatx, (uint32_t)pData, (uint32_t)&hsd->Instance->FIFO, (uint32_t)(BLOCKSIZE * NumberOfBlocks)/4U) != HAL_OK) 80b94f4: 68fb ldr r3, [r7, #12] 80b94f6: 6bd8 ldr r0, [r3, #60] ; 0x3c 80b94f8: 68b9 ldr r1, [r7, #8] 80b94fa: 68fb ldr r3, [r7, #12] 80b94fc: 681b ldr r3, [r3, #0] 80b94fe: 3380 adds r3, #128 ; 0x80 80b9500: 461a mov r2, r3 80b9502: 683b ldr r3, [r7, #0] 80b9504: 025b lsls r3, r3, #9 80b9506: 089b lsrs r3, r3, #2 80b9508: f7fa ffd6 bl 80b44b8 80b950c: 4603 mov r3, r0 80b950e: 2b00 cmp r3, #0 80b9510: d01a beq.n 80b9548 { __HAL_SD_DISABLE_IT(hsd, (SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT | SDMMC_IT_TXUNDERR)); 80b9512: 68fb ldr r3, [r7, #12] 80b9514: 681b ldr r3, [r3, #0] 80b9516: 68fa ldr r2, [r7, #12] 80b9518: 6812 ldr r2, [r2, #0] 80b951a: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b951c: f022 021a bic.w r2, r2, #26 80b9520: 63da str r2, [r3, #60] ; 0x3c __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b9522: 68fb ldr r3, [r7, #12] 80b9524: 681b ldr r3, [r3, #0] 80b9526: 4a19 ldr r2, [pc, #100] ; (80b958c ) 80b9528: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= HAL_SD_ERROR_DMA; 80b952a: 68fb ldr r3, [r7, #12] 80b952c: 6b9b ldr r3, [r3, #56] ; 0x38 80b952e: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80b9532: 68fb ldr r3, [r7, #12] 80b9534: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b9536: 68fb ldr r3, [r7, #12] 80b9538: 2201 movs r2, #1 80b953a: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b953e: 68fb ldr r3, [r7, #12] 80b9540: 2200 movs r2, #0 80b9542: 631a str r2, [r3, #48] ; 0x30 return HAL_ERROR; 80b9544: 2301 movs r3, #1 80b9546: e018 b.n 80b957a } else { /* Configure the SD DPSM (Data Path State Machine) */ config.DataTimeOut = SDMMC_DATATIMEOUT; 80b9548: f04f 33ff mov.w r3, #4294967295 80b954c: 613b str r3, [r7, #16] config.DataLength = BLOCKSIZE * NumberOfBlocks; 80b954e: 683b ldr r3, [r7, #0] 80b9550: 025b lsls r3, r3, #9 80b9552: 617b str r3, [r7, #20] config.DataBlockSize = SDMMC_DATABLOCK_SIZE_512B; 80b9554: 2390 movs r3, #144 ; 0x90 80b9556: 61bb str r3, [r7, #24] config.TransferDir = SDMMC_TRANSFER_DIR_TO_CARD; 80b9558: 2300 movs r3, #0 80b955a: 61fb str r3, [r7, #28] config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 80b955c: 2300 movs r3, #0 80b955e: 623b str r3, [r7, #32] config.DPSM = SDMMC_DPSM_ENABLE; 80b9560: 2301 movs r3, #1 80b9562: 627b str r3, [r7, #36] ; 0x24 (void)SDMMC_ConfigData(hsd->Instance, &config); 80b9564: 68fb ldr r3, [r7, #12] 80b9566: 681b ldr r3, [r3, #0] 80b9568: f107 0210 add.w r2, r7, #16 80b956c: 4611 mov r1, r2 80b956e: 4618 mov r0, r3 80b9570: f004 f82c bl 80bd5cc return HAL_OK; 80b9574: 2300 movs r3, #0 80b9576: e000 b.n 80b957a } } else { return HAL_BUSY; 80b9578: 2302 movs r3, #2 } } 80b957a: 4618 mov r0, r3 80b957c: 3730 adds r7, #48 ; 0x30 80b957e: 46bd mov sp, r7 80b9580: bd80 pop {r7, pc} 80b9582: bf00 nop 80b9584: 080b9da5 .word 0x080b9da5 80b9588: 080b9e41 .word 0x080b9e41 80b958c: 004005ff .word 0x004005ff 080b9590 : * @brief This function handles SD card interrupt request. * @param hsd: Pointer to SD handle * @retval None */ void HAL_SD_IRQHandler(SD_HandleTypeDef *hsd) { 80b9590: b580 push {r7, lr} 80b9592: b084 sub sp, #16 80b9594: af00 add r7, sp, #0 80b9596: 6078 str r0, [r7, #4] uint32_t errorstate; uint32_t context = hsd->Context; 80b9598: 687b ldr r3, [r7, #4] 80b959a: 6b1b ldr r3, [r3, #48] ; 0x30 80b959c: 60fb str r3, [r7, #12] /* Check for SDMMC interrupt flags */ if((__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXFIFOHF) != RESET) && ((context & SD_CONTEXT_IT) != 0U)) 80b959e: 687b ldr r3, [r7, #4] 80b95a0: 681b ldr r3, [r3, #0] 80b95a2: 6b5b ldr r3, [r3, #52] ; 0x34 80b95a4: f403 4300 and.w r3, r3, #32768 ; 0x8000 80b95a8: 2b00 cmp r3, #0 80b95aa: d008 beq.n 80b95be 80b95ac: 68fb ldr r3, [r7, #12] 80b95ae: f003 0308 and.w r3, r3, #8 80b95b2: 2b00 cmp r3, #0 80b95b4: d003 beq.n 80b95be { SD_Read_IT(hsd); 80b95b6: 6878 ldr r0, [r7, #4] 80b95b8: f000 fffc bl 80ba5b4 80b95bc: e153 b.n 80b9866 } else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DATAEND) != RESET) 80b95be: 687b ldr r3, [r7, #4] 80b95c0: 681b ldr r3, [r3, #0] 80b95c2: 6b5b ldr r3, [r3, #52] ; 0x34 80b95c4: f403 7380 and.w r3, r3, #256 ; 0x100 80b95c8: 2b00 cmp r3, #0 80b95ca: f000 808d beq.w 80b96e8 { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DATAEND); 80b95ce: 687b ldr r3, [r7, #4] 80b95d0: 681b ldr r3, [r3, #0] 80b95d2: f44f 7280 mov.w r2, #256 ; 0x100 80b95d6: 639a str r2, [r3, #56] ; 0x38 __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ 80b95d8: 687b ldr r3, [r7, #4] 80b95da: 681a ldr r2, [r3, #0] 80b95dc: 687b ldr r3, [r7, #4] 80b95de: 681b ldr r3, [r3, #0] 80b95e0: 6bd9 ldr r1, [r3, #60] ; 0x3c 80b95e2: 4ba3 ldr r3, [pc, #652] ; (80b9870 ) 80b95e4: 400b ands r3, r1 80b95e6: 63d3 str r3, [r2, #60] ; 0x3c SDMMC_IT_TXUNDERR | SDMMC_IT_RXOVERR | SDMMC_IT_TXFIFOHE |\ SDMMC_IT_RXFIFOHF); hsd->Instance->DCTRL &= ~(SDMMC_DCTRL_DTEN); 80b95e8: 687b ldr r3, [r7, #4] 80b95ea: 681b ldr r3, [r3, #0] 80b95ec: 687a ldr r2, [r7, #4] 80b95ee: 6812 ldr r2, [r2, #0] 80b95f0: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b95f2: f022 0201 bic.w r2, r2, #1 80b95f6: 62da str r2, [r3, #44] ; 0x2c if((context & SD_CONTEXT_IT) != 0U) 80b95f8: 68fb ldr r3, [r7, #12] 80b95fa: f003 0308 and.w r3, r3, #8 80b95fe: 2b00 cmp r3, #0 80b9600: d039 beq.n 80b9676 { if(((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)) 80b9602: 68fb ldr r3, [r7, #12] 80b9604: f003 0302 and.w r3, r3, #2 80b9608: 2b00 cmp r3, #0 80b960a: d104 bne.n 80b9616 80b960c: 68fb ldr r3, [r7, #12] 80b960e: f003 0320 and.w r3, r3, #32 80b9612: 2b00 cmp r3, #0 80b9614: d011 beq.n 80b963a { errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 80b9616: 687b ldr r3, [r7, #4] 80b9618: 681b ldr r3, [r3, #0] 80b961a: 4618 mov r0, r3 80b961c: f004 f8ac bl 80bd778 80b9620: 60b8 str r0, [r7, #8] if(errorstate != HAL_SD_ERROR_NONE) 80b9622: 68bb ldr r3, [r7, #8] 80b9624: 2b00 cmp r3, #0 80b9626: d008 beq.n 80b963a { hsd->ErrorCode |= errorstate; 80b9628: 687b ldr r3, [r7, #4] 80b962a: 6b9a ldr r2, [r3, #56] ; 0x38 80b962c: 68bb ldr r3, [r7, #8] 80b962e: 431a orrs r2, r3 80b9630: 687b ldr r3, [r7, #4] 80b9632: 639a str r2, [r3, #56] ; 0x38 #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); 80b9634: 6878 ldr r0, [r7, #4] 80b9636: f000 f921 bl 80b987c #endif /* USE_HAL_SD_REGISTER_CALLBACKS */ } } /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80b963a: 687b ldr r3, [r7, #4] 80b963c: 681b ldr r3, [r3, #0] 80b963e: f240 523a movw r2, #1338 ; 0x53a 80b9642: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b9644: 687b ldr r3, [r7, #4] 80b9646: 2201 movs r2, #1 80b9648: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b964c: 687b ldr r3, [r7, #4] 80b964e: 2200 movs r2, #0 80b9650: 631a str r2, [r3, #48] ; 0x30 if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U)) 80b9652: 68fb ldr r3, [r7, #12] 80b9654: f003 0301 and.w r3, r3, #1 80b9658: 2b00 cmp r3, #0 80b965a: d104 bne.n 80b9666 80b965c: 68fb ldr r3, [r7, #12] 80b965e: f003 0302 and.w r3, r3, #2 80b9662: 2b00 cmp r3, #0 80b9664: d003 beq.n 80b966e { #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) hsd->RxCpltCallback(hsd); #else HAL_SD_RxCpltCallback(hsd); 80b9666: 6878 ldr r0, [r7, #4] 80b9668: f006 f936 bl 80bf8d8 80b966c: e0fb b.n 80b9866 else { #if defined (USE_HAL_SD_REGISTER_CALLBACKS) && (USE_HAL_SD_REGISTER_CALLBACKS == 1U) hsd->TxCpltCallback(hsd); #else HAL_SD_TxCpltCallback(hsd); 80b966e: 6878 ldr r0, [r7, #4] 80b9670: f006 f928 bl 80bf8c4 } else { /* Nothing to do */ } } 80b9674: e0f7 b.n 80b9866 else if((context & SD_CONTEXT_DMA) != 0U) 80b9676: 68fb ldr r3, [r7, #12] 80b9678: f003 0380 and.w r3, r3, #128 ; 0x80 80b967c: 2b00 cmp r3, #0 80b967e: f000 80f2 beq.w 80b9866 if((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U) 80b9682: 68fb ldr r3, [r7, #12] 80b9684: f003 0320 and.w r3, r3, #32 80b9688: 2b00 cmp r3, #0 80b968a: d011 beq.n 80b96b0 errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 80b968c: 687b ldr r3, [r7, #4] 80b968e: 681b ldr r3, [r3, #0] 80b9690: 4618 mov r0, r3 80b9692: f004 f871 bl 80bd778 80b9696: 60b8 str r0, [r7, #8] if(errorstate != HAL_SD_ERROR_NONE) 80b9698: 68bb ldr r3, [r7, #8] 80b969a: 2b00 cmp r3, #0 80b969c: d008 beq.n 80b96b0 hsd->ErrorCode |= errorstate; 80b969e: 687b ldr r3, [r7, #4] 80b96a0: 6b9a ldr r2, [r3, #56] ; 0x38 80b96a2: 68bb ldr r3, [r7, #8] 80b96a4: 431a orrs r2, r3 80b96a6: 687b ldr r3, [r7, #4] 80b96a8: 639a str r2, [r3, #56] ; 0x38 HAL_SD_ErrorCallback(hsd); 80b96aa: 6878 ldr r0, [r7, #4] 80b96ac: f000 f8e6 bl 80b987c if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) == 0U) && ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) == 0U)) 80b96b0: 68fb ldr r3, [r7, #12] 80b96b2: f003 0301 and.w r3, r3, #1 80b96b6: 2b00 cmp r3, #0 80b96b8: f040 80d5 bne.w 80b9866 80b96bc: 68fb ldr r3, [r7, #12] 80b96be: f003 0302 and.w r3, r3, #2 80b96c2: 2b00 cmp r3, #0 80b96c4: f040 80cf bne.w 80b9866 hsd->Instance->DCTRL &= (uint32_t)~((uint32_t)SDMMC_DCTRL_DMAEN); 80b96c8: 687b ldr r3, [r7, #4] 80b96ca: 681b ldr r3, [r3, #0] 80b96cc: 687a ldr r2, [r7, #4] 80b96ce: 6812 ldr r2, [r2, #0] 80b96d0: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b96d2: f022 0208 bic.w r2, r2, #8 80b96d6: 62da str r2, [r3, #44] ; 0x2c hsd->State = HAL_SD_STATE_READY; 80b96d8: 687b ldr r3, [r7, #4] 80b96da: 2201 movs r2, #1 80b96dc: f883 2034 strb.w r2, [r3, #52] ; 0x34 HAL_SD_TxCpltCallback(hsd); 80b96e0: 6878 ldr r0, [r7, #4] 80b96e2: f006 f8ef bl 80bf8c4 } 80b96e6: e0be b.n 80b9866 else if((__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXFIFOHE) != RESET) && ((context & SD_CONTEXT_IT) != 0U)) 80b96e8: 687b ldr r3, [r7, #4] 80b96ea: 681b ldr r3, [r3, #0] 80b96ec: 6b5b ldr r3, [r3, #52] ; 0x34 80b96ee: f403 4380 and.w r3, r3, #16384 ; 0x4000 80b96f2: 2b00 cmp r3, #0 80b96f4: d008 beq.n 80b9708 80b96f6: 68fb ldr r3, [r7, #12] 80b96f8: f003 0308 and.w r3, r3, #8 80b96fc: 2b00 cmp r3, #0 80b96fe: d003 beq.n 80b9708 SD_Write_IT(hsd); 80b9700: 6878 ldr r0, [r7, #4] 80b9702: f000 ffa8 bl 80ba656 80b9706: e0ae b.n 80b9866 else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT | SDMMC_FLAG_RXOVERR | SDMMC_FLAG_TXUNDERR) != RESET) 80b9708: 687b ldr r3, [r7, #4] 80b970a: 681b ldr r3, [r3, #0] 80b970c: 6b5b ldr r3, [r3, #52] ; 0x34 80b970e: f003 033a and.w r3, r3, #58 ; 0x3a 80b9712: 2b00 cmp r3, #0 80b9714: f000 80a7 beq.w 80b9866 if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL) != RESET) 80b9718: 687b ldr r3, [r7, #4] 80b971a: 681b ldr r3, [r3, #0] 80b971c: 6b5b ldr r3, [r3, #52] ; 0x34 80b971e: f003 0302 and.w r3, r3, #2 80b9722: 2b00 cmp r3, #0 80b9724: d005 beq.n 80b9732 hsd->ErrorCode |= HAL_SD_ERROR_DATA_CRC_FAIL; 80b9726: 687b ldr r3, [r7, #4] 80b9728: 6b9b ldr r3, [r3, #56] ; 0x38 80b972a: f043 0202 orr.w r2, r3, #2 80b972e: 687b ldr r3, [r7, #4] 80b9730: 639a str r2, [r3, #56] ; 0x38 if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT) != RESET) 80b9732: 687b ldr r3, [r7, #4] 80b9734: 681b ldr r3, [r3, #0] 80b9736: 6b5b ldr r3, [r3, #52] ; 0x34 80b9738: f003 0308 and.w r3, r3, #8 80b973c: 2b00 cmp r3, #0 80b973e: d005 beq.n 80b974c hsd->ErrorCode |= HAL_SD_ERROR_DATA_TIMEOUT; 80b9740: 687b ldr r3, [r7, #4] 80b9742: 6b9b ldr r3, [r3, #56] ; 0x38 80b9744: f043 0208 orr.w r2, r3, #8 80b9748: 687b ldr r3, [r7, #4] 80b974a: 639a str r2, [r3, #56] ; 0x38 if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR) != RESET) 80b974c: 687b ldr r3, [r7, #4] 80b974e: 681b ldr r3, [r3, #0] 80b9750: 6b5b ldr r3, [r3, #52] ; 0x34 80b9752: f003 0320 and.w r3, r3, #32 80b9756: 2b00 cmp r3, #0 80b9758: d005 beq.n 80b9766 hsd->ErrorCode |= HAL_SD_ERROR_RX_OVERRUN; 80b975a: 687b ldr r3, [r7, #4] 80b975c: 6b9b ldr r3, [r3, #56] ; 0x38 80b975e: f043 0220 orr.w r2, r3, #32 80b9762: 687b ldr r3, [r7, #4] 80b9764: 639a str r2, [r3, #56] ; 0x38 if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_TXUNDERR) != RESET) 80b9766: 687b ldr r3, [r7, #4] 80b9768: 681b ldr r3, [r3, #0] 80b976a: 6b5b ldr r3, [r3, #52] ; 0x34 80b976c: f003 0310 and.w r3, r3, #16 80b9770: 2b00 cmp r3, #0 80b9772: d005 beq.n 80b9780 hsd->ErrorCode |= HAL_SD_ERROR_TX_UNDERRUN; 80b9774: 687b ldr r3, [r7, #4] 80b9776: 6b9b ldr r3, [r3, #56] ; 0x38 80b9778: f043 0210 orr.w r2, r3, #16 80b977c: 687b ldr r3, [r7, #4] 80b977e: 639a str r2, [r3, #56] ; 0x38 __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80b9780: 687b ldr r3, [r7, #4] 80b9782: 681b ldr r3, [r3, #0] 80b9784: f240 523a movw r2, #1338 ; 0x53a 80b9788: 639a str r2, [r3, #56] ; 0x38 __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ 80b978a: 687b ldr r3, [r7, #4] 80b978c: 681b ldr r3, [r3, #0] 80b978e: 687a ldr r2, [r7, #4] 80b9790: 6812 ldr r2, [r2, #0] 80b9792: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b9794: f422 729d bic.w r2, r2, #314 ; 0x13a 80b9798: 63da str r2, [r3, #60] ; 0x3c hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80b979a: 687b ldr r3, [r7, #4] 80b979c: 681b ldr r3, [r3, #0] 80b979e: 4618 mov r0, r3 80b97a0: f003 ffea bl 80bd778 80b97a4: 4602 mov r2, r0 80b97a6: 687b ldr r3, [r7, #4] 80b97a8: 6b9b ldr r3, [r3, #56] ; 0x38 80b97aa: 431a orrs r2, r3 80b97ac: 687b ldr r3, [r7, #4] 80b97ae: 639a str r2, [r3, #56] ; 0x38 if((context & SD_CONTEXT_IT) != 0U) 80b97b0: 68fb ldr r3, [r7, #12] 80b97b2: f003 0308 and.w r3, r3, #8 80b97b6: 2b00 cmp r3, #0 80b97b8: d00a beq.n 80b97d0 hsd->State = HAL_SD_STATE_READY; 80b97ba: 687b ldr r3, [r7, #4] 80b97bc: 2201 movs r2, #1 80b97be: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b97c2: 687b ldr r3, [r7, #4] 80b97c4: 2200 movs r2, #0 80b97c6: 631a str r2, [r3, #48] ; 0x30 HAL_SD_ErrorCallback(hsd); 80b97c8: 6878 ldr r0, [r7, #4] 80b97ca: f000 f857 bl 80b987c } 80b97ce: e04a b.n 80b9866 else if((context & SD_CONTEXT_DMA) != 0U) 80b97d0: 68fb ldr r3, [r7, #12] 80b97d2: f003 0380 and.w r3, r3, #128 ; 0x80 80b97d6: 2b00 cmp r3, #0 80b97d8: d045 beq.n 80b9866 if(((context & SD_CONTEXT_WRITE_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_WRITE_MULTIPLE_BLOCK) != 0U)) 80b97da: 68fb ldr r3, [r7, #12] 80b97dc: f003 0310 and.w r3, r3, #16 80b97e0: 2b00 cmp r3, #0 80b97e2: d104 bne.n 80b97ee 80b97e4: 68fb ldr r3, [r7, #12] 80b97e6: f003 0320 and.w r3, r3, #32 80b97ea: 2b00 cmp r3, #0 80b97ec: d011 beq.n 80b9812 hsd->hdmatx->XferAbortCallback = SD_DMATxAbort; 80b97ee: 687b ldr r3, [r7, #4] 80b97f0: 6bdb ldr r3, [r3, #60] ; 0x3c 80b97f2: 4a20 ldr r2, [pc, #128] ; (80b9874 ) 80b97f4: 651a str r2, [r3, #80] ; 0x50 if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK) 80b97f6: 687b ldr r3, [r7, #4] 80b97f8: 6bdb ldr r3, [r3, #60] ; 0x3c 80b97fa: 4618 mov r0, r3 80b97fc: f7fa ff2c bl 80b4658 80b9800: 4603 mov r3, r0 80b9802: 2b00 cmp r3, #0 80b9804: d02f beq.n 80b9866 SD_DMATxAbort(hsd->hdmatx); 80b9806: 687b ldr r3, [r7, #4] 80b9808: 6bdb ldr r3, [r3, #60] ; 0x3c 80b980a: 4618 mov r0, r3 80b980c: f000 fb6a bl 80b9ee4 if(HAL_DMA_Abort_IT(hsd->hdmatx) != HAL_OK) 80b9810: e029 b.n 80b9866 else if(((context & SD_CONTEXT_READ_SINGLE_BLOCK) != 0U) || ((context & SD_CONTEXT_READ_MULTIPLE_BLOCK) != 0U)) 80b9812: 68fb ldr r3, [r7, #12] 80b9814: f003 0301 and.w r3, r3, #1 80b9818: 2b00 cmp r3, #0 80b981a: d104 bne.n 80b9826 80b981c: 68fb ldr r3, [r7, #12] 80b981e: f003 0302 and.w r3, r3, #2 80b9822: 2b00 cmp r3, #0 80b9824: d011 beq.n 80b984a hsd->hdmarx->XferAbortCallback = SD_DMARxAbort; 80b9826: 687b ldr r3, [r7, #4] 80b9828: 6c1b ldr r3, [r3, #64] ; 0x40 80b982a: 4a13 ldr r2, [pc, #76] ; (80b9878 ) 80b982c: 651a str r2, [r3, #80] ; 0x50 if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK) 80b982e: 687b ldr r3, [r7, #4] 80b9830: 6c1b ldr r3, [r3, #64] ; 0x40 80b9832: 4618 mov r0, r3 80b9834: f7fa ff10 bl 80b4658 80b9838: 4603 mov r3, r0 80b983a: 2b00 cmp r3, #0 80b983c: d013 beq.n 80b9866 SD_DMARxAbort(hsd->hdmarx); 80b983e: 687b ldr r3, [r7, #4] 80b9840: 6c1b ldr r3, [r3, #64] ; 0x40 80b9842: 4618 mov r0, r3 80b9844: f000 fb85 bl 80b9f52 if(HAL_DMA_Abort_IT(hsd->hdmarx) != HAL_OK) 80b9848: e00d b.n 80b9866 hsd->ErrorCode = HAL_SD_ERROR_NONE; 80b984a: 687b ldr r3, [r7, #4] 80b984c: 2200 movs r2, #0 80b984e: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b9850: 687b ldr r3, [r7, #4] 80b9852: 2201 movs r2, #1 80b9854: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b9858: 687b ldr r3, [r7, #4] 80b985a: 2200 movs r2, #0 80b985c: 631a str r2, [r3, #48] ; 0x30 HAL_SD_AbortCallback(hsd); 80b985e: 6878 ldr r0, [r7, #4] 80b9860: f006 f826 bl 80bf8b0 } 80b9864: e7ff b.n 80b9866 80b9866: bf00 nop 80b9868: 3710 adds r7, #16 80b986a: 46bd mov sp, r7 80b986c: bd80 pop {r7, pc} 80b986e: bf00 nop 80b9870: ffff3ec5 .word 0xffff3ec5 80b9874: 080b9ee5 .word 0x080b9ee5 80b9878: 080b9f53 .word 0x080b9f53 080b987c : * @brief SD error callbacks * @param hsd: Pointer SD handle * @retval None */ __weak void HAL_SD_ErrorCallback(SD_HandleTypeDef *hsd) { 80b987c: b480 push {r7} 80b987e: b083 sub sp, #12 80b9880: af00 add r7, sp, #0 80b9882: 6078 str r0, [r7, #4] UNUSED(hsd); /* NOTE : This function should not be modified, when the callback is needed, the HAL_SD_ErrorCallback can be implemented in the user file */ } 80b9884: bf00 nop 80b9886: 370c adds r7, #12 80b9888: 46bd mov sp, r7 80b988a: f85d 7b04 ldr.w r7, [sp], #4 80b988e: 4770 bx lr 080b9890 : * @param pCSD: Pointer to a HAL_SD_CardCSDTypeDef structure that * contains all CSD register parameters * @retval HAL status */ HAL_StatusTypeDef HAL_SD_GetCardCSD(SD_HandleTypeDef *hsd, HAL_SD_CardCSDTypeDef *pCSD) { 80b9890: b480 push {r7} 80b9892: b083 sub sp, #12 80b9894: af00 add r7, sp, #0 80b9896: 6078 str r0, [r7, #4] 80b9898: 6039 str r1, [r7, #0] pCSD->CSDStruct = (uint8_t)((hsd->CSD[0] & 0xC0000000U) >> 30U); 80b989a: 687b ldr r3, [r7, #4] 80b989c: 6e5b ldr r3, [r3, #100] ; 0x64 80b989e: 0f9b lsrs r3, r3, #30 80b98a0: b2da uxtb r2, r3 80b98a2: 683b ldr r3, [r7, #0] 80b98a4: 701a strb r2, [r3, #0] pCSD->SysSpecVersion = (uint8_t)((hsd->CSD[0] & 0x3C000000U) >> 26U); 80b98a6: 687b ldr r3, [r7, #4] 80b98a8: 6e5b ldr r3, [r3, #100] ; 0x64 80b98aa: 0e9b lsrs r3, r3, #26 80b98ac: b2db uxtb r3, r3 80b98ae: f003 030f and.w r3, r3, #15 80b98b2: b2da uxtb r2, r3 80b98b4: 683b ldr r3, [r7, #0] 80b98b6: 705a strb r2, [r3, #1] pCSD->Reserved1 = (uint8_t)((hsd->CSD[0] & 0x03000000U) >> 24U); 80b98b8: 687b ldr r3, [r7, #4] 80b98ba: 6e5b ldr r3, [r3, #100] ; 0x64 80b98bc: 0e1b lsrs r3, r3, #24 80b98be: b2db uxtb r3, r3 80b98c0: f003 0303 and.w r3, r3, #3 80b98c4: b2da uxtb r2, r3 80b98c6: 683b ldr r3, [r7, #0] 80b98c8: 709a strb r2, [r3, #2] pCSD->TAAC = (uint8_t)((hsd->CSD[0] & 0x00FF0000U) >> 16U); 80b98ca: 687b ldr r3, [r7, #4] 80b98cc: 6e5b ldr r3, [r3, #100] ; 0x64 80b98ce: 0c1b lsrs r3, r3, #16 80b98d0: b2da uxtb r2, r3 80b98d2: 683b ldr r3, [r7, #0] 80b98d4: 70da strb r2, [r3, #3] pCSD->NSAC = (uint8_t)((hsd->CSD[0] & 0x0000FF00U) >> 8U); 80b98d6: 687b ldr r3, [r7, #4] 80b98d8: 6e5b ldr r3, [r3, #100] ; 0x64 80b98da: 0a1b lsrs r3, r3, #8 80b98dc: b2da uxtb r2, r3 80b98de: 683b ldr r3, [r7, #0] 80b98e0: 711a strb r2, [r3, #4] pCSD->MaxBusClkFrec = (uint8_t)(hsd->CSD[0] & 0x000000FFU); 80b98e2: 687b ldr r3, [r7, #4] 80b98e4: 6e5b ldr r3, [r3, #100] ; 0x64 80b98e6: b2da uxtb r2, r3 80b98e8: 683b ldr r3, [r7, #0] 80b98ea: 715a strb r2, [r3, #5] pCSD->CardComdClasses = (uint16_t)((hsd->CSD[1] & 0xFFF00000U) >> 20U); 80b98ec: 687b ldr r3, [r7, #4] 80b98ee: 6e9b ldr r3, [r3, #104] ; 0x68 80b98f0: 0d1b lsrs r3, r3, #20 80b98f2: b29a uxth r2, r3 80b98f4: 683b ldr r3, [r7, #0] 80b98f6: 80da strh r2, [r3, #6] pCSD->RdBlockLen = (uint8_t)((hsd->CSD[1] & 0x000F0000U) >> 16U); 80b98f8: 687b ldr r3, [r7, #4] 80b98fa: 6e9b ldr r3, [r3, #104] ; 0x68 80b98fc: 0c1b lsrs r3, r3, #16 80b98fe: b2db uxtb r3, r3 80b9900: f003 030f and.w r3, r3, #15 80b9904: b2da uxtb r2, r3 80b9906: 683b ldr r3, [r7, #0] 80b9908: 721a strb r2, [r3, #8] pCSD->PartBlockRead = (uint8_t)((hsd->CSD[1] & 0x00008000U) >> 15U); 80b990a: 687b ldr r3, [r7, #4] 80b990c: 6e9b ldr r3, [r3, #104] ; 0x68 80b990e: 0bdb lsrs r3, r3, #15 80b9910: b2db uxtb r3, r3 80b9912: f003 0301 and.w r3, r3, #1 80b9916: b2da uxtb r2, r3 80b9918: 683b ldr r3, [r7, #0] 80b991a: 725a strb r2, [r3, #9] pCSD->WrBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00004000U) >> 14U); 80b991c: 687b ldr r3, [r7, #4] 80b991e: 6e9b ldr r3, [r3, #104] ; 0x68 80b9920: 0b9b lsrs r3, r3, #14 80b9922: b2db uxtb r3, r3 80b9924: f003 0301 and.w r3, r3, #1 80b9928: b2da uxtb r2, r3 80b992a: 683b ldr r3, [r7, #0] 80b992c: 729a strb r2, [r3, #10] pCSD->RdBlockMisalign = (uint8_t)((hsd->CSD[1] & 0x00002000U) >> 13U); 80b992e: 687b ldr r3, [r7, #4] 80b9930: 6e9b ldr r3, [r3, #104] ; 0x68 80b9932: 0b5b lsrs r3, r3, #13 80b9934: b2db uxtb r3, r3 80b9936: f003 0301 and.w r3, r3, #1 80b993a: b2da uxtb r2, r3 80b993c: 683b ldr r3, [r7, #0] 80b993e: 72da strb r2, [r3, #11] pCSD->DSRImpl = (uint8_t)((hsd->CSD[1] & 0x00001000U) >> 12U); 80b9940: 687b ldr r3, [r7, #4] 80b9942: 6e9b ldr r3, [r3, #104] ; 0x68 80b9944: 0b1b lsrs r3, r3, #12 80b9946: b2db uxtb r3, r3 80b9948: f003 0301 and.w r3, r3, #1 80b994c: b2da uxtb r2, r3 80b994e: 683b ldr r3, [r7, #0] 80b9950: 731a strb r2, [r3, #12] pCSD->Reserved2 = 0U; /*!< Reserved */ 80b9952: 683b ldr r3, [r7, #0] 80b9954: 2200 movs r2, #0 80b9956: 735a strb r2, [r3, #13] if(hsd->SdCard.CardType == CARD_SDSC) 80b9958: 687b ldr r3, [r7, #4] 80b995a: 6c5b ldr r3, [r3, #68] ; 0x44 80b995c: 2b00 cmp r3, #0 80b995e: d162 bne.n 80b9a26 { pCSD->DeviceSize = (((hsd->CSD[1] & 0x000003FFU) << 2U) | ((hsd->CSD[2] & 0xC0000000U) >> 30U)); 80b9960: 687b ldr r3, [r7, #4] 80b9962: 6e9b ldr r3, [r3, #104] ; 0x68 80b9964: 009a lsls r2, r3, #2 80b9966: f640 73fc movw r3, #4092 ; 0xffc 80b996a: 4013 ands r3, r2 80b996c: 687a ldr r2, [r7, #4] 80b996e: 6ed2 ldr r2, [r2, #108] ; 0x6c 80b9970: 0f92 lsrs r2, r2, #30 80b9972: 431a orrs r2, r3 80b9974: 683b ldr r3, [r7, #0] 80b9976: 611a str r2, [r3, #16] pCSD->MaxRdCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x38000000U) >> 27U); 80b9978: 687b ldr r3, [r7, #4] 80b997a: 6edb ldr r3, [r3, #108] ; 0x6c 80b997c: 0edb lsrs r3, r3, #27 80b997e: b2db uxtb r3, r3 80b9980: f003 0307 and.w r3, r3, #7 80b9984: b2da uxtb r2, r3 80b9986: 683b ldr r3, [r7, #0] 80b9988: 751a strb r2, [r3, #20] pCSD->MaxRdCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x07000000U) >> 24U); 80b998a: 687b ldr r3, [r7, #4] 80b998c: 6edb ldr r3, [r3, #108] ; 0x6c 80b998e: 0e1b lsrs r3, r3, #24 80b9990: b2db uxtb r3, r3 80b9992: f003 0307 and.w r3, r3, #7 80b9996: b2da uxtb r2, r3 80b9998: 683b ldr r3, [r7, #0] 80b999a: 755a strb r2, [r3, #21] pCSD->MaxWrCurrentVDDMin = (uint8_t)((hsd->CSD[2] & 0x00E00000U) >> 21U); 80b999c: 687b ldr r3, [r7, #4] 80b999e: 6edb ldr r3, [r3, #108] ; 0x6c 80b99a0: 0d5b lsrs r3, r3, #21 80b99a2: b2db uxtb r3, r3 80b99a4: f003 0307 and.w r3, r3, #7 80b99a8: b2da uxtb r2, r3 80b99aa: 683b ldr r3, [r7, #0] 80b99ac: 759a strb r2, [r3, #22] pCSD->MaxWrCurrentVDDMax = (uint8_t)((hsd->CSD[2] & 0x001C0000U) >> 18U); 80b99ae: 687b ldr r3, [r7, #4] 80b99b0: 6edb ldr r3, [r3, #108] ; 0x6c 80b99b2: 0c9b lsrs r3, r3, #18 80b99b4: b2db uxtb r3, r3 80b99b6: f003 0307 and.w r3, r3, #7 80b99ba: b2da uxtb r2, r3 80b99bc: 683b ldr r3, [r7, #0] 80b99be: 75da strb r2, [r3, #23] pCSD->DeviceSizeMul = (uint8_t)((hsd->CSD[2] & 0x00038000U) >> 15U); 80b99c0: 687b ldr r3, [r7, #4] 80b99c2: 6edb ldr r3, [r3, #108] ; 0x6c 80b99c4: 0bdb lsrs r3, r3, #15 80b99c6: b2db uxtb r3, r3 80b99c8: f003 0307 and.w r3, r3, #7 80b99cc: b2da uxtb r2, r3 80b99ce: 683b ldr r3, [r7, #0] 80b99d0: 761a strb r2, [r3, #24] hsd->SdCard.BlockNbr = (pCSD->DeviceSize + 1U) ; 80b99d2: 683b ldr r3, [r7, #0] 80b99d4: 691b ldr r3, [r3, #16] 80b99d6: 1c5a adds r2, r3, #1 80b99d8: 687b ldr r3, [r7, #4] 80b99da: 655a str r2, [r3, #84] ; 0x54 hsd->SdCard.BlockNbr *= (1UL << ((pCSD->DeviceSizeMul & 0x07U) + 2U)); 80b99dc: 683b ldr r3, [r7, #0] 80b99de: 7e1b ldrb r3, [r3, #24] 80b99e0: b2db uxtb r3, r3 80b99e2: f003 0307 and.w r3, r3, #7 80b99e6: 3302 adds r3, #2 80b99e8: 2201 movs r2, #1 80b99ea: 409a lsls r2, r3 80b99ec: 687b ldr r3, [r7, #4] 80b99ee: 6d5b ldr r3, [r3, #84] ; 0x54 80b99f0: fb02 f203 mul.w r2, r2, r3 80b99f4: 687b ldr r3, [r7, #4] 80b99f6: 655a str r2, [r3, #84] ; 0x54 hsd->SdCard.BlockSize = (1UL << (pCSD->RdBlockLen & 0x0FU)); 80b99f8: 683b ldr r3, [r7, #0] 80b99fa: 7a1b ldrb r3, [r3, #8] 80b99fc: b2db uxtb r3, r3 80b99fe: f003 030f and.w r3, r3, #15 80b9a02: 2201 movs r2, #1 80b9a04: 409a lsls r2, r3 80b9a06: 687b ldr r3, [r7, #4] 80b9a08: 659a str r2, [r3, #88] ; 0x58 hsd->SdCard.LogBlockNbr = (hsd->SdCard.BlockNbr) * ((hsd->SdCard.BlockSize) / 512U); 80b9a0a: 687b ldr r3, [r7, #4] 80b9a0c: 6d5b ldr r3, [r3, #84] ; 0x54 80b9a0e: 687a ldr r2, [r7, #4] 80b9a10: 6d92 ldr r2, [r2, #88] ; 0x58 80b9a12: 0a52 lsrs r2, r2, #9 80b9a14: fb02 f203 mul.w r2, r2, r3 80b9a18: 687b ldr r3, [r7, #4] 80b9a1a: 65da str r2, [r3, #92] ; 0x5c hsd->SdCard.LogBlockSize = 512U; 80b9a1c: 687b ldr r3, [r7, #4] 80b9a1e: f44f 7200 mov.w r2, #512 ; 0x200 80b9a22: 661a str r2, [r3, #96] ; 0x60 80b9a24: e031 b.n 80b9a8a } else if(hsd->SdCard.CardType == CARD_SDHC_SDXC) 80b9a26: 687b ldr r3, [r7, #4] 80b9a28: 6c5b ldr r3, [r3, #68] ; 0x44 80b9a2a: 2b01 cmp r3, #1 80b9a2c: d11d bne.n 80b9a6a { /* Byte 7 */ pCSD->DeviceSize = (((hsd->CSD[1] & 0x0000003FU) << 16U) | ((hsd->CSD[2] & 0xFFFF0000U) >> 16U)); 80b9a2e: 687b ldr r3, [r7, #4] 80b9a30: 6e9b ldr r3, [r3, #104] ; 0x68 80b9a32: 041b lsls r3, r3, #16 80b9a34: f403 127c and.w r2, r3, #4128768 ; 0x3f0000 80b9a38: 687b ldr r3, [r7, #4] 80b9a3a: 6edb ldr r3, [r3, #108] ; 0x6c 80b9a3c: 0c1b lsrs r3, r3, #16 80b9a3e: 431a orrs r2, r3 80b9a40: 683b ldr r3, [r7, #0] 80b9a42: 611a str r2, [r3, #16] hsd->SdCard.BlockNbr = ((pCSD->DeviceSize + 1U) * 1024U); 80b9a44: 683b ldr r3, [r7, #0] 80b9a46: 691b ldr r3, [r3, #16] 80b9a48: 3301 adds r3, #1 80b9a4a: 029a lsls r2, r3, #10 80b9a4c: 687b ldr r3, [r7, #4] 80b9a4e: 655a str r2, [r3, #84] ; 0x54 hsd->SdCard.LogBlockNbr = hsd->SdCard.BlockNbr; 80b9a50: 687b ldr r3, [r7, #4] 80b9a52: 6d5a ldr r2, [r3, #84] ; 0x54 80b9a54: 687b ldr r3, [r7, #4] 80b9a56: 65da str r2, [r3, #92] ; 0x5c hsd->SdCard.BlockSize = 512U; 80b9a58: 687b ldr r3, [r7, #4] 80b9a5a: f44f 7200 mov.w r2, #512 ; 0x200 80b9a5e: 659a str r2, [r3, #88] ; 0x58 hsd->SdCard.LogBlockSize = hsd->SdCard.BlockSize; 80b9a60: 687b ldr r3, [r7, #4] 80b9a62: 6d9a ldr r2, [r3, #88] ; 0x58 80b9a64: 687b ldr r3, [r7, #4] 80b9a66: 661a str r2, [r3, #96] ; 0x60 80b9a68: e00f b.n 80b9a8a } else { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b9a6a: 687b ldr r3, [r7, #4] 80b9a6c: 681b ldr r3, [r3, #0] 80b9a6e: 4a59 ldr r2, [pc, #356] ; (80b9bd4 ) 80b9a70: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80b9a72: 687b ldr r3, [r7, #4] 80b9a74: 6b9b ldr r3, [r3, #56] ; 0x38 80b9a76: f043 5280 orr.w r2, r3, #268435456 ; 0x10000000 80b9a7a: 687b ldr r3, [r7, #4] 80b9a7c: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b9a7e: 687b ldr r3, [r7, #4] 80b9a80: 2201 movs r2, #1 80b9a82: f883 2034 strb.w r2, [r3, #52] ; 0x34 return HAL_ERROR; 80b9a86: 2301 movs r3, #1 80b9a88: e09d b.n 80b9bc6 } pCSD->EraseGrSize = (uint8_t)((hsd->CSD[2] & 0x00004000U) >> 14U); 80b9a8a: 687b ldr r3, [r7, #4] 80b9a8c: 6edb ldr r3, [r3, #108] ; 0x6c 80b9a8e: 0b9b lsrs r3, r3, #14 80b9a90: b2db uxtb r3, r3 80b9a92: f003 0301 and.w r3, r3, #1 80b9a96: b2da uxtb r2, r3 80b9a98: 683b ldr r3, [r7, #0] 80b9a9a: 765a strb r2, [r3, #25] pCSD->EraseGrMul = (uint8_t)((hsd->CSD[2] & 0x00003F80U) >> 7U); 80b9a9c: 687b ldr r3, [r7, #4] 80b9a9e: 6edb ldr r3, [r3, #108] ; 0x6c 80b9aa0: 09db lsrs r3, r3, #7 80b9aa2: b2db uxtb r3, r3 80b9aa4: f003 037f and.w r3, r3, #127 ; 0x7f 80b9aa8: b2da uxtb r2, r3 80b9aaa: 683b ldr r3, [r7, #0] 80b9aac: 769a strb r2, [r3, #26] pCSD->WrProtectGrSize = (uint8_t)(hsd->CSD[2] & 0x0000007FU); 80b9aae: 687b ldr r3, [r7, #4] 80b9ab0: 6edb ldr r3, [r3, #108] ; 0x6c 80b9ab2: b2db uxtb r3, r3 80b9ab4: f003 037f and.w r3, r3, #127 ; 0x7f 80b9ab8: b2da uxtb r2, r3 80b9aba: 683b ldr r3, [r7, #0] 80b9abc: 76da strb r2, [r3, #27] pCSD->WrProtectGrEnable = (uint8_t)((hsd->CSD[3] & 0x80000000U) >> 31U); 80b9abe: 687b ldr r3, [r7, #4] 80b9ac0: 6f1b ldr r3, [r3, #112] ; 0x70 80b9ac2: 0fdb lsrs r3, r3, #31 80b9ac4: b2da uxtb r2, r3 80b9ac6: 683b ldr r3, [r7, #0] 80b9ac8: 771a strb r2, [r3, #28] pCSD->ManDeflECC = (uint8_t)((hsd->CSD[3] & 0x60000000U) >> 29U); 80b9aca: 687b ldr r3, [r7, #4] 80b9acc: 6f1b ldr r3, [r3, #112] ; 0x70 80b9ace: 0f5b lsrs r3, r3, #29 80b9ad0: b2db uxtb r3, r3 80b9ad2: f003 0303 and.w r3, r3, #3 80b9ad6: b2da uxtb r2, r3 80b9ad8: 683b ldr r3, [r7, #0] 80b9ada: 775a strb r2, [r3, #29] pCSD->WrSpeedFact = (uint8_t)((hsd->CSD[3] & 0x1C000000U) >> 26U); 80b9adc: 687b ldr r3, [r7, #4] 80b9ade: 6f1b ldr r3, [r3, #112] ; 0x70 80b9ae0: 0e9b lsrs r3, r3, #26 80b9ae2: b2db uxtb r3, r3 80b9ae4: f003 0307 and.w r3, r3, #7 80b9ae8: b2da uxtb r2, r3 80b9aea: 683b ldr r3, [r7, #0] 80b9aec: 779a strb r2, [r3, #30] pCSD->MaxWrBlockLen= (uint8_t)((hsd->CSD[3] & 0x03C00000U) >> 22U); 80b9aee: 687b ldr r3, [r7, #4] 80b9af0: 6f1b ldr r3, [r3, #112] ; 0x70 80b9af2: 0d9b lsrs r3, r3, #22 80b9af4: b2db uxtb r3, r3 80b9af6: f003 030f and.w r3, r3, #15 80b9afa: b2da uxtb r2, r3 80b9afc: 683b ldr r3, [r7, #0] 80b9afe: 77da strb r2, [r3, #31] pCSD->WriteBlockPaPartial = (uint8_t)((hsd->CSD[3] & 0x00200000U) >> 21U); 80b9b00: 687b ldr r3, [r7, #4] 80b9b02: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b04: 0d5b lsrs r3, r3, #21 80b9b06: b2db uxtb r3, r3 80b9b08: f003 0301 and.w r3, r3, #1 80b9b0c: b2da uxtb r2, r3 80b9b0e: 683b ldr r3, [r7, #0] 80b9b10: f883 2020 strb.w r2, [r3, #32] pCSD->Reserved3 = 0; 80b9b14: 683b ldr r3, [r7, #0] 80b9b16: 2200 movs r2, #0 80b9b18: f883 2021 strb.w r2, [r3, #33] ; 0x21 pCSD->ContentProtectAppli = (uint8_t)((hsd->CSD[3] & 0x00010000U) >> 16U); 80b9b1c: 687b ldr r3, [r7, #4] 80b9b1e: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b20: 0c1b lsrs r3, r3, #16 80b9b22: b2db uxtb r3, r3 80b9b24: f003 0301 and.w r3, r3, #1 80b9b28: b2da uxtb r2, r3 80b9b2a: 683b ldr r3, [r7, #0] 80b9b2c: f883 2022 strb.w r2, [r3, #34] ; 0x22 pCSD->FileFormatGroup = (uint8_t)((hsd->CSD[3] & 0x00008000U) >> 15U); 80b9b30: 687b ldr r3, [r7, #4] 80b9b32: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b34: 0bdb lsrs r3, r3, #15 80b9b36: b2db uxtb r3, r3 80b9b38: f003 0301 and.w r3, r3, #1 80b9b3c: b2da uxtb r2, r3 80b9b3e: 683b ldr r3, [r7, #0] 80b9b40: f883 2023 strb.w r2, [r3, #35] ; 0x23 pCSD->CopyFlag = (uint8_t)((hsd->CSD[3] & 0x00004000U) >> 14U); 80b9b44: 687b ldr r3, [r7, #4] 80b9b46: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b48: 0b9b lsrs r3, r3, #14 80b9b4a: b2db uxtb r3, r3 80b9b4c: f003 0301 and.w r3, r3, #1 80b9b50: b2da uxtb r2, r3 80b9b52: 683b ldr r3, [r7, #0] 80b9b54: f883 2024 strb.w r2, [r3, #36] ; 0x24 pCSD->PermWrProtect = (uint8_t)((hsd->CSD[3] & 0x00002000U) >> 13U); 80b9b58: 687b ldr r3, [r7, #4] 80b9b5a: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b5c: 0b5b lsrs r3, r3, #13 80b9b5e: b2db uxtb r3, r3 80b9b60: f003 0301 and.w r3, r3, #1 80b9b64: b2da uxtb r2, r3 80b9b66: 683b ldr r3, [r7, #0] 80b9b68: f883 2025 strb.w r2, [r3, #37] ; 0x25 pCSD->TempWrProtect = (uint8_t)((hsd->CSD[3] & 0x00001000U) >> 12U); 80b9b6c: 687b ldr r3, [r7, #4] 80b9b6e: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b70: 0b1b lsrs r3, r3, #12 80b9b72: b2db uxtb r3, r3 80b9b74: f003 0301 and.w r3, r3, #1 80b9b78: b2da uxtb r2, r3 80b9b7a: 683b ldr r3, [r7, #0] 80b9b7c: f883 2026 strb.w r2, [r3, #38] ; 0x26 pCSD->FileFormat = (uint8_t)((hsd->CSD[3] & 0x00000C00U) >> 10U); 80b9b80: 687b ldr r3, [r7, #4] 80b9b82: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b84: 0a9b lsrs r3, r3, #10 80b9b86: b2db uxtb r3, r3 80b9b88: f003 0303 and.w r3, r3, #3 80b9b8c: b2da uxtb r2, r3 80b9b8e: 683b ldr r3, [r7, #0] 80b9b90: f883 2027 strb.w r2, [r3, #39] ; 0x27 pCSD->ECC= (uint8_t)((hsd->CSD[3] & 0x00000300U) >> 8U); 80b9b94: 687b ldr r3, [r7, #4] 80b9b96: 6f1b ldr r3, [r3, #112] ; 0x70 80b9b98: 0a1b lsrs r3, r3, #8 80b9b9a: b2db uxtb r3, r3 80b9b9c: f003 0303 and.w r3, r3, #3 80b9ba0: b2da uxtb r2, r3 80b9ba2: 683b ldr r3, [r7, #0] 80b9ba4: f883 2028 strb.w r2, [r3, #40] ; 0x28 pCSD->CSD_CRC = (uint8_t)((hsd->CSD[3] & 0x000000FEU) >> 1U); 80b9ba8: 687b ldr r3, [r7, #4] 80b9baa: 6f1b ldr r3, [r3, #112] ; 0x70 80b9bac: 085b lsrs r3, r3, #1 80b9bae: b2db uxtb r3, r3 80b9bb0: f003 037f and.w r3, r3, #127 ; 0x7f 80b9bb4: b2da uxtb r2, r3 80b9bb6: 683b ldr r3, [r7, #0] 80b9bb8: f883 2029 strb.w r2, [r3, #41] ; 0x29 pCSD->Reserved4 = 1; 80b9bbc: 683b ldr r3, [r7, #0] 80b9bbe: 2201 movs r2, #1 80b9bc0: f883 202a strb.w r2, [r3, #42] ; 0x2a return HAL_OK; 80b9bc4: 2300 movs r3, #0 } 80b9bc6: 4618 mov r0, r3 80b9bc8: 370c adds r7, #12 80b9bca: 46bd mov sp, r7 80b9bcc: f85d 7b04 ldr.w r7, [sp], #4 80b9bd0: 4770 bx lr 80b9bd2: bf00 nop 80b9bd4: 004005ff .word 0x004005ff 080b9bd8 : * @param pCardInfo: Pointer to the HAL_SD_CardInfoTypeDef structure that * will contain the SD card status information * @retval HAL status */ HAL_StatusTypeDef HAL_SD_GetCardInfo(SD_HandleTypeDef *hsd, HAL_SD_CardInfoTypeDef *pCardInfo) { 80b9bd8: b480 push {r7} 80b9bda: b083 sub sp, #12 80b9bdc: af00 add r7, sp, #0 80b9bde: 6078 str r0, [r7, #4] 80b9be0: 6039 str r1, [r7, #0] pCardInfo->CardType = (uint32_t)(hsd->SdCard.CardType); 80b9be2: 687b ldr r3, [r7, #4] 80b9be4: 6c5a ldr r2, [r3, #68] ; 0x44 80b9be6: 683b ldr r3, [r7, #0] 80b9be8: 601a str r2, [r3, #0] pCardInfo->CardVersion = (uint32_t)(hsd->SdCard.CardVersion); 80b9bea: 687b ldr r3, [r7, #4] 80b9bec: 6c9a ldr r2, [r3, #72] ; 0x48 80b9bee: 683b ldr r3, [r7, #0] 80b9bf0: 605a str r2, [r3, #4] pCardInfo->Class = (uint32_t)(hsd->SdCard.Class); 80b9bf2: 687b ldr r3, [r7, #4] 80b9bf4: 6cda ldr r2, [r3, #76] ; 0x4c 80b9bf6: 683b ldr r3, [r7, #0] 80b9bf8: 609a str r2, [r3, #8] pCardInfo->RelCardAdd = (uint32_t)(hsd->SdCard.RelCardAdd); 80b9bfa: 687b ldr r3, [r7, #4] 80b9bfc: 6d1a ldr r2, [r3, #80] ; 0x50 80b9bfe: 683b ldr r3, [r7, #0] 80b9c00: 60da str r2, [r3, #12] pCardInfo->BlockNbr = (uint32_t)(hsd->SdCard.BlockNbr); 80b9c02: 687b ldr r3, [r7, #4] 80b9c04: 6d5a ldr r2, [r3, #84] ; 0x54 80b9c06: 683b ldr r3, [r7, #0] 80b9c08: 611a str r2, [r3, #16] pCardInfo->BlockSize = (uint32_t)(hsd->SdCard.BlockSize); 80b9c0a: 687b ldr r3, [r7, #4] 80b9c0c: 6d9a ldr r2, [r3, #88] ; 0x58 80b9c0e: 683b ldr r3, [r7, #0] 80b9c10: 615a str r2, [r3, #20] pCardInfo->LogBlockNbr = (uint32_t)(hsd->SdCard.LogBlockNbr); 80b9c12: 687b ldr r3, [r7, #4] 80b9c14: 6dda ldr r2, [r3, #92] ; 0x5c 80b9c16: 683b ldr r3, [r7, #0] 80b9c18: 619a str r2, [r3, #24] pCardInfo->LogBlockSize = (uint32_t)(hsd->SdCard.LogBlockSize); 80b9c1a: 687b ldr r3, [r7, #4] 80b9c1c: 6e1a ldr r2, [r3, #96] ; 0x60 80b9c1e: 683b ldr r3, [r7, #0] 80b9c20: 61da str r2, [r3, #28] return HAL_OK; 80b9c22: 2300 movs r3, #0 } 80b9c24: 4618 mov r0, r3 80b9c26: 370c adds r7, #12 80b9c28: 46bd mov sp, r7 80b9c2a: f85d 7b04 ldr.w r7, [sp], #4 80b9c2e: 4770 bx lr 080b9c30 : * @arg SDMMC_BUS_WIDE_4B: 4-bit data transfer * @arg SDMMC_BUS_WIDE_1B: 1-bit data transfer * @retval HAL status */ HAL_StatusTypeDef HAL_SD_ConfigWideBusOperation(SD_HandleTypeDef *hsd, uint32_t WideMode) { 80b9c30: b5b0 push {r4, r5, r7, lr} 80b9c32: b08e sub sp, #56 ; 0x38 80b9c34: af04 add r7, sp, #16 80b9c36: 6078 str r0, [r7, #4] 80b9c38: 6039 str r1, [r7, #0] SDMMC_InitTypeDef Init; uint32_t errorstate; HAL_StatusTypeDef status = HAL_OK; 80b9c3a: 2300 movs r3, #0 80b9c3c: f887 3027 strb.w r3, [r7, #39] ; 0x27 /* Check the parameters */ assert_param(IS_SDMMC_BUS_WIDE(WideMode)); /* Change State */ hsd->State = HAL_SD_STATE_BUSY; 80b9c40: 687b ldr r3, [r7, #4] 80b9c42: 2203 movs r2, #3 80b9c44: f883 2034 strb.w r2, [r3, #52] ; 0x34 if(hsd->SdCard.CardType != CARD_SECURED) 80b9c48: 687b ldr r3, [r7, #4] 80b9c4a: 6c5b ldr r3, [r3, #68] ; 0x44 80b9c4c: 2b03 cmp r3, #3 80b9c4e: d02e beq.n 80b9cae { if(WideMode == SDMMC_BUS_WIDE_8B) 80b9c50: 683b ldr r3, [r7, #0] 80b9c52: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80b9c56: d106 bne.n 80b9c66 { hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80b9c58: 687b ldr r3, [r7, #4] 80b9c5a: 6b9b ldr r3, [r3, #56] ; 0x38 80b9c5c: f043 5280 orr.w r2, r3, #268435456 ; 0x10000000 80b9c60: 687b ldr r3, [r7, #4] 80b9c62: 639a str r2, [r3, #56] ; 0x38 80b9c64: e029 b.n 80b9cba } else if(WideMode == SDMMC_BUS_WIDE_4B) 80b9c66: 683b ldr r3, [r7, #0] 80b9c68: f5b3 6f00 cmp.w r3, #2048 ; 0x800 80b9c6c: d10a bne.n 80b9c84 { errorstate = SD_WideBus_Enable(hsd); 80b9c6e: 6878 ldr r0, [r7, #4] 80b9c70: f000 fb37 bl 80ba2e2 80b9c74: 6238 str r0, [r7, #32] hsd->ErrorCode |= errorstate; 80b9c76: 687b ldr r3, [r7, #4] 80b9c78: 6b9a ldr r2, [r3, #56] ; 0x38 80b9c7a: 6a3b ldr r3, [r7, #32] 80b9c7c: 431a orrs r2, r3 80b9c7e: 687b ldr r3, [r7, #4] 80b9c80: 639a str r2, [r3, #56] ; 0x38 80b9c82: e01a b.n 80b9cba } else if(WideMode == SDMMC_BUS_WIDE_1B) 80b9c84: 683b ldr r3, [r7, #0] 80b9c86: 2b00 cmp r3, #0 80b9c88: d10a bne.n 80b9ca0 { errorstate = SD_WideBus_Disable(hsd); 80b9c8a: 6878 ldr r0, [r7, #4] 80b9c8c: f000 fb74 bl 80ba378 80b9c90: 6238 str r0, [r7, #32] hsd->ErrorCode |= errorstate; 80b9c92: 687b ldr r3, [r7, #4] 80b9c94: 6b9a ldr r2, [r3, #56] ; 0x38 80b9c96: 6a3b ldr r3, [r7, #32] 80b9c98: 431a orrs r2, r3 80b9c9a: 687b ldr r3, [r7, #4] 80b9c9c: 639a str r2, [r3, #56] ; 0x38 80b9c9e: e00c b.n 80b9cba } else { /* WideMode is not a valid argument*/ hsd->ErrorCode |= HAL_SD_ERROR_PARAM; 80b9ca0: 687b ldr r3, [r7, #4] 80b9ca2: 6b9b ldr r3, [r3, #56] ; 0x38 80b9ca4: f043 6200 orr.w r2, r3, #134217728 ; 0x8000000 80b9ca8: 687b ldr r3, [r7, #4] 80b9caa: 639a str r2, [r3, #56] ; 0x38 80b9cac: e005 b.n 80b9cba } } else { /* MMC Card does not support this feature */ hsd->ErrorCode |= HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80b9cae: 687b ldr r3, [r7, #4] 80b9cb0: 6b9b ldr r3, [r3, #56] ; 0x38 80b9cb2: f043 5280 orr.w r2, r3, #268435456 ; 0x10000000 80b9cb6: 687b ldr r3, [r7, #4] 80b9cb8: 639a str r2, [r3, #56] ; 0x38 } if(hsd->ErrorCode != HAL_SD_ERROR_NONE) 80b9cba: 687b ldr r3, [r7, #4] 80b9cbc: 6b9b ldr r3, [r3, #56] ; 0x38 80b9cbe: 2b00 cmp r3, #0 80b9cc0: d00b beq.n 80b9cda { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b9cc2: 687b ldr r3, [r7, #4] 80b9cc4: 681b ldr r3, [r3, #0] 80b9cc6: 4a26 ldr r2, [pc, #152] ; (80b9d60 ) 80b9cc8: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b9cca: 687b ldr r3, [r7, #4] 80b9ccc: 2201 movs r2, #1 80b9cce: f883 2034 strb.w r2, [r3, #52] ; 0x34 status = HAL_ERROR; 80b9cd2: 2301 movs r3, #1 80b9cd4: f887 3027 strb.w r3, [r7, #39] ; 0x27 80b9cd8: e01f b.n 80b9d1a } else { /* Configure the SDMMC peripheral */ Init.ClockEdge = hsd->Init.ClockEdge; 80b9cda: 687b ldr r3, [r7, #4] 80b9cdc: 685b ldr r3, [r3, #4] 80b9cde: 60bb str r3, [r7, #8] Init.ClockBypass = hsd->Init.ClockBypass; 80b9ce0: 687b ldr r3, [r7, #4] 80b9ce2: 689b ldr r3, [r3, #8] 80b9ce4: 60fb str r3, [r7, #12] Init.ClockPowerSave = hsd->Init.ClockPowerSave; 80b9ce6: 687b ldr r3, [r7, #4] 80b9ce8: 68db ldr r3, [r3, #12] 80b9cea: 613b str r3, [r7, #16] Init.BusWide = WideMode; 80b9cec: 683b ldr r3, [r7, #0] 80b9cee: 617b str r3, [r7, #20] Init.HardwareFlowControl = hsd->Init.HardwareFlowControl; 80b9cf0: 687b ldr r3, [r7, #4] 80b9cf2: 695b ldr r3, [r3, #20] 80b9cf4: 61bb str r3, [r7, #24] Init.ClockDiv = hsd->Init.ClockDiv; 80b9cf6: 687b ldr r3, [r7, #4] 80b9cf8: 699b ldr r3, [r3, #24] 80b9cfa: 61fb str r3, [r7, #28] (void)SDMMC_Init(hsd->Instance, Init); 80b9cfc: 687b ldr r3, [r7, #4] 80b9cfe: 681d ldr r5, [r3, #0] 80b9d00: 466c mov r4, sp 80b9d02: f107 0314 add.w r3, r7, #20 80b9d06: e893 0007 ldmia.w r3, {r0, r1, r2} 80b9d0a: e884 0007 stmia.w r4, {r0, r1, r2} 80b9d0e: f107 0308 add.w r3, r7, #8 80b9d12: cb0e ldmia r3, {r1, r2, r3} 80b9d14: 4628 mov r0, r5 80b9d16: f003 fb9b bl 80bd450 } /* Set Block Size for Card */ errorstate = SDMMC_CmdBlockLength(hsd->Instance, BLOCKSIZE); 80b9d1a: 687b ldr r3, [r7, #4] 80b9d1c: 681b ldr r3, [r3, #0] 80b9d1e: f44f 7100 mov.w r1, #512 ; 0x200 80b9d22: 4618 mov r0, r3 80b9d24: f003 fc7e bl 80bd624 80b9d28: 6238 str r0, [r7, #32] if(errorstate != HAL_SD_ERROR_NONE) 80b9d2a: 6a3b ldr r3, [r7, #32] 80b9d2c: 2b00 cmp r3, #0 80b9d2e: d00c beq.n 80b9d4a { /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b9d30: 687b ldr r3, [r7, #4] 80b9d32: 681b ldr r3, [r3, #0] 80b9d34: 4a0a ldr r2, [pc, #40] ; (80b9d60 ) 80b9d36: 639a str r2, [r3, #56] ; 0x38 hsd->ErrorCode |= errorstate; 80b9d38: 687b ldr r3, [r7, #4] 80b9d3a: 6b9a ldr r2, [r3, #56] ; 0x38 80b9d3c: 6a3b ldr r3, [r7, #32] 80b9d3e: 431a orrs r2, r3 80b9d40: 687b ldr r3, [r7, #4] 80b9d42: 639a str r2, [r3, #56] ; 0x38 status = HAL_ERROR; 80b9d44: 2301 movs r3, #1 80b9d46: f887 3027 strb.w r3, [r7, #39] ; 0x27 } /* Change State */ hsd->State = HAL_SD_STATE_READY; 80b9d4a: 687b ldr r3, [r7, #4] 80b9d4c: 2201 movs r2, #1 80b9d4e: f883 2034 strb.w r2, [r3, #52] ; 0x34 return status; 80b9d52: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 } 80b9d56: 4618 mov r0, r3 80b9d58: 3728 adds r7, #40 ; 0x28 80b9d5a: 46bd mov sp, r7 80b9d5c: bdb0 pop {r4, r5, r7, pc} 80b9d5e: bf00 nop 80b9d60: 004005ff .word 0x004005ff 080b9d64 : * @brief Gets the current sd card data state. * @param hsd: pointer to SD handle * @retval Card state */ HAL_SD_CardStateTypeDef HAL_SD_GetCardState(SD_HandleTypeDef *hsd) { 80b9d64: b580 push {r7, lr} 80b9d66: b086 sub sp, #24 80b9d68: af00 add r7, sp, #0 80b9d6a: 6078 str r0, [r7, #4] uint32_t cardstate; uint32_t errorstate; uint32_t resp1 = 0; 80b9d6c: 2300 movs r3, #0 80b9d6e: 60fb str r3, [r7, #12] errorstate = SD_SendStatus(hsd, &resp1); 80b9d70: f107 030c add.w r3, r7, #12 80b9d74: 4619 mov r1, r3 80b9d76: 6878 ldr r0, [r7, #4] 80b9d78: f000 fa8b bl 80ba292 80b9d7c: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80b9d7e: 697b ldr r3, [r7, #20] 80b9d80: 2b00 cmp r3, #0 80b9d82: d005 beq.n 80b9d90 { hsd->ErrorCode |= errorstate; 80b9d84: 687b ldr r3, [r7, #4] 80b9d86: 6b9a ldr r2, [r3, #56] ; 0x38 80b9d88: 697b ldr r3, [r7, #20] 80b9d8a: 431a orrs r2, r3 80b9d8c: 687b ldr r3, [r7, #4] 80b9d8e: 639a str r2, [r3, #56] ; 0x38 } cardstate = ((resp1 >> 9U) & 0x0FU); 80b9d90: 68fb ldr r3, [r7, #12] 80b9d92: 0a5b lsrs r3, r3, #9 80b9d94: f003 030f and.w r3, r3, #15 80b9d98: 613b str r3, [r7, #16] return (HAL_SD_CardStateTypeDef)cardstate; 80b9d9a: 693b ldr r3, [r7, #16] } 80b9d9c: 4618 mov r0, r3 80b9d9e: 3718 adds r7, #24 80b9da0: 46bd mov sp, r7 80b9da2: bd80 pop {r7, pc} 080b9da4 : * @brief DMA SD transmit process complete callback * @param hdma: DMA handle * @retval None */ static void SD_DMATransmitCplt(DMA_HandleTypeDef *hdma) { 80b9da4: b480 push {r7} 80b9da6: b085 sub sp, #20 80b9da8: af00 add r7, sp, #0 80b9daa: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80b9dac: 687b ldr r3, [r7, #4] 80b9dae: 6b9b ldr r3, [r3, #56] ; 0x38 80b9db0: 60fb str r3, [r7, #12] /* Enable DATAEND Interrupt */ __HAL_SD_ENABLE_IT(hsd, (SDMMC_IT_DATAEND)); 80b9db2: 68fb ldr r3, [r7, #12] 80b9db4: 681b ldr r3, [r3, #0] 80b9db6: 68fa ldr r2, [r7, #12] 80b9db8: 6812 ldr r2, [r2, #0] 80b9dba: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b9dbc: f442 7280 orr.w r2, r2, #256 ; 0x100 80b9dc0: 63da str r2, [r3, #60] ; 0x3c } 80b9dc2: bf00 nop 80b9dc4: 3714 adds r7, #20 80b9dc6: 46bd mov sp, r7 80b9dc8: f85d 7b04 ldr.w r7, [sp], #4 80b9dcc: 4770 bx lr 080b9dce : * @brief DMA SD receive process complete callback * @param hdma: DMA handle * @retval None */ static void SD_DMAReceiveCplt(DMA_HandleTypeDef *hdma) { 80b9dce: b580 push {r7, lr} 80b9dd0: b084 sub sp, #16 80b9dd2: af00 add r7, sp, #0 80b9dd4: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80b9dd6: 687b ldr r3, [r7, #4] 80b9dd8: 6b9b ldr r3, [r3, #56] ; 0x38 80b9dda: 60fb str r3, [r7, #12] uint32_t errorstate; /* Send stop command in multiblock write */ if(hsd->Context == (SD_CONTEXT_READ_MULTIPLE_BLOCK | SD_CONTEXT_DMA)) 80b9ddc: 68fb ldr r3, [r7, #12] 80b9dde: 6b1b ldr r3, [r3, #48] ; 0x30 80b9de0: 2b82 cmp r3, #130 ; 0x82 80b9de2: d111 bne.n 80b9e08 { errorstate = SDMMC_CmdStopTransfer(hsd->Instance); 80b9de4: 68fb ldr r3, [r7, #12] 80b9de6: 681b ldr r3, [r3, #0] 80b9de8: 4618 mov r0, r3 80b9dea: f003 fcc5 bl 80bd778 80b9dee: 60b8 str r0, [r7, #8] if(errorstate != HAL_SD_ERROR_NONE) 80b9df0: 68bb ldr r3, [r7, #8] 80b9df2: 2b00 cmp r3, #0 80b9df4: d008 beq.n 80b9e08 { hsd->ErrorCode |= errorstate; 80b9df6: 68fb ldr r3, [r7, #12] 80b9df8: 6b9a ldr r2, [r3, #56] ; 0x38 80b9dfa: 68bb ldr r3, [r7, #8] 80b9dfc: 431a orrs r2, r3 80b9dfe: 68fb ldr r3, [r7, #12] 80b9e00: 639a str r2, [r3, #56] ; 0x38 #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); 80b9e02: 68f8 ldr r0, [r7, #12] 80b9e04: f7ff fd3a bl 80b987c } } /* Disable the DMA transfer for transmit request by setting the DMAEN bit in the SD DCTRL register */ hsd->Instance->DCTRL &= (uint32_t)~((uint32_t)SDMMC_DCTRL_DMAEN); 80b9e08: 68fb ldr r3, [r7, #12] 80b9e0a: 681b ldr r3, [r3, #0] 80b9e0c: 68fa ldr r2, [r7, #12] 80b9e0e: 6812 ldr r2, [r2, #0] 80b9e10: 6ad2 ldr r2, [r2, #44] ; 0x2c 80b9e12: f022 0208 bic.w r2, r2, #8 80b9e16: 62da str r2, [r3, #44] ; 0x2c /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80b9e18: 68fb ldr r3, [r7, #12] 80b9e1a: 681b ldr r3, [r3, #0] 80b9e1c: f240 523a movw r2, #1338 ; 0x53a 80b9e20: 639a str r2, [r3, #56] ; 0x38 hsd->State = HAL_SD_STATE_READY; 80b9e22: 68fb ldr r3, [r7, #12] 80b9e24: 2201 movs r2, #1 80b9e26: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b9e2a: 68fb ldr r3, [r7, #12] 80b9e2c: 2200 movs r2, #0 80b9e2e: 631a str r2, [r3, #48] ; 0x30 #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->RxCpltCallback(hsd); #else HAL_SD_RxCpltCallback(hsd); 80b9e30: 68f8 ldr r0, [r7, #12] 80b9e32: f005 fd51 bl 80bf8d8 #endif } 80b9e36: bf00 nop 80b9e38: 3710 adds r7, #16 80b9e3a: 46bd mov sp, r7 80b9e3c: bd80 pop {r7, pc} ... 080b9e40 : * @brief DMA SD communication error callback * @param hdma: DMA handle * @retval None */ static void SD_DMAError(DMA_HandleTypeDef *hdma) { 80b9e40: b580 push {r7, lr} 80b9e42: b086 sub sp, #24 80b9e44: af00 add r7, sp, #0 80b9e46: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80b9e48: 687b ldr r3, [r7, #4] 80b9e4a: 6b9b ldr r3, [r3, #56] ; 0x38 80b9e4c: 617b str r3, [r7, #20] HAL_SD_CardStateTypeDef CardState; uint32_t RxErrorCode, TxErrorCode; /* if DMA error is FIFO error ignore it */ if(HAL_DMA_GetError(hdma) != HAL_DMA_ERROR_FE) 80b9e4e: 6878 ldr r0, [r7, #4] 80b9e50: f7fa fdbc bl 80b49cc 80b9e54: 4603 mov r3, r0 80b9e56: 2b02 cmp r3, #2 80b9e58: d03e beq.n 80b9ed8 { RxErrorCode = hsd->hdmarx->ErrorCode; 80b9e5a: 697b ldr r3, [r7, #20] 80b9e5c: 6c1b ldr r3, [r3, #64] ; 0x40 80b9e5e: 6d5b ldr r3, [r3, #84] ; 0x54 80b9e60: 613b str r3, [r7, #16] TxErrorCode = hsd->hdmatx->ErrorCode; 80b9e62: 697b ldr r3, [r7, #20] 80b9e64: 6bdb ldr r3, [r3, #60] ; 0x3c 80b9e66: 6d5b ldr r3, [r3, #84] ; 0x54 80b9e68: 60fb str r3, [r7, #12] if((RxErrorCode == HAL_DMA_ERROR_TE) || (TxErrorCode == HAL_DMA_ERROR_TE)) 80b9e6a: 693b ldr r3, [r7, #16] 80b9e6c: 2b01 cmp r3, #1 80b9e6e: d002 beq.n 80b9e76 80b9e70: 68fb ldr r3, [r7, #12] 80b9e72: 2b01 cmp r3, #1 80b9e74: d12d bne.n 80b9ed2 { /* Clear All flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_FLAGS); 80b9e76: 697b ldr r3, [r7, #20] 80b9e78: 681b ldr r3, [r3, #0] 80b9e7a: 4a19 ldr r2, [pc, #100] ; (80b9ee0 ) 80b9e7c: 639a str r2, [r3, #56] ; 0x38 /* Disable All interrupts */ __HAL_SD_DISABLE_IT(hsd, SDMMC_IT_DATAEND | SDMMC_IT_DCRCFAIL | SDMMC_IT_DTIMEOUT|\ 80b9e7e: 697b ldr r3, [r7, #20] 80b9e80: 681b ldr r3, [r3, #0] 80b9e82: 697a ldr r2, [r7, #20] 80b9e84: 6812 ldr r2, [r2, #0] 80b9e86: 6bd2 ldr r2, [r2, #60] ; 0x3c 80b9e88: f422 729d bic.w r2, r2, #314 ; 0x13a 80b9e8c: 63da str r2, [r3, #60] ; 0x3c SDMMC_IT_TXUNDERR| SDMMC_IT_RXOVERR); hsd->ErrorCode |= HAL_SD_ERROR_DMA; 80b9e8e: 697b ldr r3, [r7, #20] 80b9e90: 6b9b ldr r3, [r3, #56] ; 0x38 80b9e92: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80b9e96: 697b ldr r3, [r7, #20] 80b9e98: 639a str r2, [r3, #56] ; 0x38 CardState = HAL_SD_GetCardState(hsd); 80b9e9a: 6978 ldr r0, [r7, #20] 80b9e9c: f7ff ff62 bl 80b9d64 80b9ea0: 60b8 str r0, [r7, #8] if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 80b9ea2: 68bb ldr r3, [r7, #8] 80b9ea4: 2b06 cmp r3, #6 80b9ea6: d002 beq.n 80b9eae 80b9ea8: 68bb ldr r3, [r7, #8] 80b9eaa: 2b05 cmp r3, #5 80b9eac: d10a bne.n 80b9ec4 { hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80b9eae: 697b ldr r3, [r7, #20] 80b9eb0: 681b ldr r3, [r3, #0] 80b9eb2: 4618 mov r0, r3 80b9eb4: f003 fc60 bl 80bd778 80b9eb8: 4602 mov r2, r0 80b9eba: 697b ldr r3, [r7, #20] 80b9ebc: 6b9b ldr r3, [r3, #56] ; 0x38 80b9ebe: 431a orrs r2, r3 80b9ec0: 697b ldr r3, [r7, #20] 80b9ec2: 639a str r2, [r3, #56] ; 0x38 } hsd->State= HAL_SD_STATE_READY; 80b9ec4: 697b ldr r3, [r7, #20] 80b9ec6: 2201 movs r2, #1 80b9ec8: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b9ecc: 697b ldr r3, [r7, #20] 80b9ece: 2200 movs r2, #0 80b9ed0: 631a str r2, [r3, #48] ; 0x30 } #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); 80b9ed2: 6978 ldr r0, [r7, #20] 80b9ed4: f7ff fcd2 bl 80b987c #endif } } 80b9ed8: bf00 nop 80b9eda: 3718 adds r7, #24 80b9edc: 46bd mov sp, r7 80b9ede: bd80 pop {r7, pc} 80b9ee0: 004005ff .word 0x004005ff 080b9ee4 : * @brief DMA SD Tx Abort callback * @param hdma: DMA handle * @retval None */ static void SD_DMATxAbort(DMA_HandleTypeDef *hdma) { 80b9ee4: b580 push {r7, lr} 80b9ee6: b084 sub sp, #16 80b9ee8: af00 add r7, sp, #0 80b9eea: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80b9eec: 687b ldr r3, [r7, #4] 80b9eee: 6b9b ldr r3, [r3, #56] ; 0x38 80b9ef0: 60fb str r3, [r7, #12] HAL_SD_CardStateTypeDef CardState; /* Clear All flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80b9ef2: 68fb ldr r3, [r7, #12] 80b9ef4: 681b ldr r3, [r3, #0] 80b9ef6: f240 523a movw r2, #1338 ; 0x53a 80b9efa: 639a str r2, [r3, #56] ; 0x38 CardState = HAL_SD_GetCardState(hsd); 80b9efc: 68f8 ldr r0, [r7, #12] 80b9efe: f7ff ff31 bl 80b9d64 80b9f02: 60b8 str r0, [r7, #8] hsd->State = HAL_SD_STATE_READY; 80b9f04: 68fb ldr r3, [r7, #12] 80b9f06: 2201 movs r2, #1 80b9f08: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b9f0c: 68fb ldr r3, [r7, #12] 80b9f0e: 2200 movs r2, #0 80b9f10: 631a str r2, [r3, #48] ; 0x30 if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 80b9f12: 68bb ldr r3, [r7, #8] 80b9f14: 2b06 cmp r3, #6 80b9f16: d002 beq.n 80b9f1e 80b9f18: 68bb ldr r3, [r7, #8] 80b9f1a: 2b05 cmp r3, #5 80b9f1c: d10a bne.n 80b9f34 { hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80b9f1e: 68fb ldr r3, [r7, #12] 80b9f20: 681b ldr r3, [r3, #0] 80b9f22: 4618 mov r0, r3 80b9f24: f003 fc28 bl 80bd778 80b9f28: 4602 mov r2, r0 80b9f2a: 68fb ldr r3, [r7, #12] 80b9f2c: 6b9b ldr r3, [r3, #56] ; 0x38 80b9f2e: 431a orrs r2, r3 80b9f30: 68fb ldr r3, [r7, #12] 80b9f32: 639a str r2, [r3, #56] ; 0x38 } if(hsd->ErrorCode == HAL_SD_ERROR_NONE) 80b9f34: 68fb ldr r3, [r7, #12] 80b9f36: 6b9b ldr r3, [r3, #56] ; 0x38 80b9f38: 2b00 cmp r3, #0 80b9f3a: d103 bne.n 80b9f44 { #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->AbortCpltCallback(hsd); #else HAL_SD_AbortCallback(hsd); 80b9f3c: 68f8 ldr r0, [r7, #12] 80b9f3e: f005 fcb7 bl 80bf8b0 hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); #endif } } 80b9f42: e002 b.n 80b9f4a HAL_SD_ErrorCallback(hsd); 80b9f44: 68f8 ldr r0, [r7, #12] 80b9f46: f7ff fc99 bl 80b987c } 80b9f4a: bf00 nop 80b9f4c: 3710 adds r7, #16 80b9f4e: 46bd mov sp, r7 80b9f50: bd80 pop {r7, pc} 080b9f52 : * @brief DMA SD Rx Abort callback * @param hdma: DMA handle * @retval None */ static void SD_DMARxAbort(DMA_HandleTypeDef *hdma) { 80b9f52: b580 push {r7, lr} 80b9f54: b084 sub sp, #16 80b9f56: af00 add r7, sp, #0 80b9f58: 6078 str r0, [r7, #4] SD_HandleTypeDef* hsd = (SD_HandleTypeDef* )(hdma->Parent); 80b9f5a: 687b ldr r3, [r7, #4] 80b9f5c: 6b9b ldr r3, [r3, #56] ; 0x38 80b9f5e: 60fb str r3, [r7, #12] HAL_SD_CardStateTypeDef CardState; /* Clear All flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80b9f60: 68fb ldr r3, [r7, #12] 80b9f62: 681b ldr r3, [r3, #0] 80b9f64: f240 523a movw r2, #1338 ; 0x53a 80b9f68: 639a str r2, [r3, #56] ; 0x38 CardState = HAL_SD_GetCardState(hsd); 80b9f6a: 68f8 ldr r0, [r7, #12] 80b9f6c: f7ff fefa bl 80b9d64 80b9f70: 60b8 str r0, [r7, #8] hsd->State = HAL_SD_STATE_READY; 80b9f72: 68fb ldr r3, [r7, #12] 80b9f74: 2201 movs r2, #1 80b9f76: f883 2034 strb.w r2, [r3, #52] ; 0x34 hsd->Context = SD_CONTEXT_NONE; 80b9f7a: 68fb ldr r3, [r7, #12] 80b9f7c: 2200 movs r2, #0 80b9f7e: 631a str r2, [r3, #48] ; 0x30 if((CardState == HAL_SD_CARD_RECEIVING) || (CardState == HAL_SD_CARD_SENDING)) 80b9f80: 68bb ldr r3, [r7, #8] 80b9f82: 2b06 cmp r3, #6 80b9f84: d002 beq.n 80b9f8c 80b9f86: 68bb ldr r3, [r7, #8] 80b9f88: 2b05 cmp r3, #5 80b9f8a: d10a bne.n 80b9fa2 { hsd->ErrorCode |= SDMMC_CmdStopTransfer(hsd->Instance); 80b9f8c: 68fb ldr r3, [r7, #12] 80b9f8e: 681b ldr r3, [r3, #0] 80b9f90: 4618 mov r0, r3 80b9f92: f003 fbf1 bl 80bd778 80b9f96: 4602 mov r2, r0 80b9f98: 68fb ldr r3, [r7, #12] 80b9f9a: 6b9b ldr r3, [r3, #56] ; 0x38 80b9f9c: 431a orrs r2, r3 80b9f9e: 68fb ldr r3, [r7, #12] 80b9fa0: 639a str r2, [r3, #56] ; 0x38 } if(hsd->ErrorCode == HAL_SD_ERROR_NONE) 80b9fa2: 68fb ldr r3, [r7, #12] 80b9fa4: 6b9b ldr r3, [r3, #56] ; 0x38 80b9fa6: 2b00 cmp r3, #0 80b9fa8: d103 bne.n 80b9fb2 { #if (USE_HAL_SD_REGISTER_CALLBACKS == 1) hsd->AbortCpltCallback(hsd); #else HAL_SD_AbortCallback(hsd); 80b9faa: 68f8 ldr r0, [r7, #12] 80b9fac: f005 fc80 bl 80bf8b0 hsd->ErrorCallback(hsd); #else HAL_SD_ErrorCallback(hsd); #endif } } 80b9fb0: e002 b.n 80b9fb8 HAL_SD_ErrorCallback(hsd); 80b9fb2: 68f8 ldr r0, [r7, #12] 80b9fb4: f7ff fc62 bl 80b987c } 80b9fb8: bf00 nop 80b9fba: 3710 adds r7, #16 80b9fbc: 46bd mov sp, r7 80b9fbe: bd80 pop {r7, pc} 080b9fc0 : * @brief Initializes the sd card. * @param hsd: Pointer to SD handle * @retval SD Card error state */ static uint32_t SD_InitCard(SD_HandleTypeDef *hsd) { 80b9fc0: b5b0 push {r4, r5, r7, lr} 80b9fc2: b094 sub sp, #80 ; 0x50 80b9fc4: af04 add r7, sp, #16 80b9fc6: 6078 str r0, [r7, #4] HAL_SD_CardCSDTypeDef CSD; uint32_t errorstate; uint16_t sd_rca = 1U; 80b9fc8: 2301 movs r3, #1 80b9fca: 81fb strh r3, [r7, #14] /* Check the power State */ if(SDMMC_GetPowerState(hsd->Instance) == 0U) 80b9fcc: 687b ldr r3, [r7, #4] 80b9fce: 681b ldr r3, [r3, #0] 80b9fd0: 4618 mov r0, r3 80b9fd2: f003 faa3 bl 80bd51c 80b9fd6: 4603 mov r3, r0 80b9fd8: 2b00 cmp r3, #0 80b9fda: d102 bne.n 80b9fe2 { /* Power off */ return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 80b9fdc: f04f 6380 mov.w r3, #67108864 ; 0x4000000 80b9fe0: e0b7 b.n 80ba152 } if(hsd->SdCard.CardType != CARD_SECURED) 80b9fe2: 687b ldr r3, [r7, #4] 80b9fe4: 6c5b ldr r3, [r3, #68] ; 0x44 80b9fe6: 2b03 cmp r3, #3 80b9fe8: d02f beq.n 80ba04a { /* Send CMD2 ALL_SEND_CID */ errorstate = SDMMC_CmdSendCID(hsd->Instance); 80b9fea: 687b ldr r3, [r7, #4] 80b9fec: 681b ldr r3, [r3, #0] 80b9fee: 4618 mov r0, r3 80b9ff0: f003 fccd bl 80bd98e 80b9ff4: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80b9ff6: 6bfb ldr r3, [r7, #60] ; 0x3c 80b9ff8: 2b00 cmp r3, #0 80b9ffa: d001 beq.n 80ba000 { return errorstate; 80b9ffc: 6bfb ldr r3, [r7, #60] ; 0x3c 80b9ffe: e0a8 b.n 80ba152 } else { /* Get Card identification number data */ hsd->CID[0U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80ba000: 687b ldr r3, [r7, #4] 80ba002: 681b ldr r3, [r3, #0] 80ba004: 2100 movs r1, #0 80ba006: 4618 mov r0, r3 80ba008: f003 facd bl 80bd5a6 80ba00c: 4602 mov r2, r0 80ba00e: 687b ldr r3, [r7, #4] 80ba010: 675a str r2, [r3, #116] ; 0x74 hsd->CID[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 80ba012: 687b ldr r3, [r7, #4] 80ba014: 681b ldr r3, [r3, #0] 80ba016: 2104 movs r1, #4 80ba018: 4618 mov r0, r3 80ba01a: f003 fac4 bl 80bd5a6 80ba01e: 4602 mov r2, r0 80ba020: 687b ldr r3, [r7, #4] 80ba022: 679a str r2, [r3, #120] ; 0x78 hsd->CID[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); 80ba024: 687b ldr r3, [r7, #4] 80ba026: 681b ldr r3, [r3, #0] 80ba028: 2108 movs r1, #8 80ba02a: 4618 mov r0, r3 80ba02c: f003 fabb bl 80bd5a6 80ba030: 4602 mov r2, r0 80ba032: 687b ldr r3, [r7, #4] 80ba034: 67da str r2, [r3, #124] ; 0x7c hsd->CID[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); 80ba036: 687b ldr r3, [r7, #4] 80ba038: 681b ldr r3, [r3, #0] 80ba03a: 210c movs r1, #12 80ba03c: 4618 mov r0, r3 80ba03e: f003 fab2 bl 80bd5a6 80ba042: 4602 mov r2, r0 80ba044: 687b ldr r3, [r7, #4] 80ba046: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } } if(hsd->SdCard.CardType != CARD_SECURED) 80ba04a: 687b ldr r3, [r7, #4] 80ba04c: 6c5b ldr r3, [r3, #68] ; 0x44 80ba04e: 2b03 cmp r3, #3 80ba050: d00d beq.n 80ba06e { /* Send CMD3 SET_REL_ADDR with argument 0 */ /* SD Card publishes its RCA. */ errorstate = SDMMC_CmdSetRelAdd(hsd->Instance, &sd_rca); 80ba052: 687b ldr r3, [r7, #4] 80ba054: 681b ldr r3, [r3, #0] 80ba056: f107 020e add.w r2, r7, #14 80ba05a: 4611 mov r1, r2 80ba05c: 4618 mov r0, r3 80ba05e: f003 fcd3 bl 80bda08 80ba062: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80ba064: 6bfb ldr r3, [r7, #60] ; 0x3c 80ba066: 2b00 cmp r3, #0 80ba068: d001 beq.n 80ba06e { return errorstate; 80ba06a: 6bfb ldr r3, [r7, #60] ; 0x3c 80ba06c: e071 b.n 80ba152 } } if(hsd->SdCard.CardType != CARD_SECURED) 80ba06e: 687b ldr r3, [r7, #4] 80ba070: 6c5b ldr r3, [r3, #68] ; 0x44 80ba072: 2b03 cmp r3, #3 80ba074: d036 beq.n 80ba0e4 { /* Get the SD card RCA */ hsd->SdCard.RelCardAdd = sd_rca; 80ba076: 89fb ldrh r3, [r7, #14] 80ba078: 461a mov r2, r3 80ba07a: 687b ldr r3, [r7, #4] 80ba07c: 651a str r2, [r3, #80] ; 0x50 /* Send CMD9 SEND_CSD with argument as card's RCA */ errorstate = SDMMC_CmdSendCSD(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 80ba07e: 687b ldr r3, [r7, #4] 80ba080: 681a ldr r2, [r3, #0] 80ba082: 687b ldr r3, [r7, #4] 80ba084: 6d1b ldr r3, [r3, #80] ; 0x50 80ba086: 041b lsls r3, r3, #16 80ba088: 4619 mov r1, r3 80ba08a: 4610 mov r0, r2 80ba08c: f003 fc9d bl 80bd9ca 80ba090: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80ba092: 6bfb ldr r3, [r7, #60] ; 0x3c 80ba094: 2b00 cmp r3, #0 80ba096: d001 beq.n 80ba09c { return errorstate; 80ba098: 6bfb ldr r3, [r7, #60] ; 0x3c 80ba09a: e05a b.n 80ba152 } else { /* Get Card Specific Data */ hsd->CSD[0U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80ba09c: 687b ldr r3, [r7, #4] 80ba09e: 681b ldr r3, [r3, #0] 80ba0a0: 2100 movs r1, #0 80ba0a2: 4618 mov r0, r3 80ba0a4: f003 fa7f bl 80bd5a6 80ba0a8: 4602 mov r2, r0 80ba0aa: 687b ldr r3, [r7, #4] 80ba0ac: 665a str r2, [r3, #100] ; 0x64 hsd->CSD[1U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2); 80ba0ae: 687b ldr r3, [r7, #4] 80ba0b0: 681b ldr r3, [r3, #0] 80ba0b2: 2104 movs r1, #4 80ba0b4: 4618 mov r0, r3 80ba0b6: f003 fa76 bl 80bd5a6 80ba0ba: 4602 mov r2, r0 80ba0bc: 687b ldr r3, [r7, #4] 80ba0be: 669a str r2, [r3, #104] ; 0x68 hsd->CSD[2U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP3); 80ba0c0: 687b ldr r3, [r7, #4] 80ba0c2: 681b ldr r3, [r3, #0] 80ba0c4: 2108 movs r1, #8 80ba0c6: 4618 mov r0, r3 80ba0c8: f003 fa6d bl 80bd5a6 80ba0cc: 4602 mov r2, r0 80ba0ce: 687b ldr r3, [r7, #4] 80ba0d0: 66da str r2, [r3, #108] ; 0x6c hsd->CSD[3U] = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP4); 80ba0d2: 687b ldr r3, [r7, #4] 80ba0d4: 681b ldr r3, [r3, #0] 80ba0d6: 210c movs r1, #12 80ba0d8: 4618 mov r0, r3 80ba0da: f003 fa64 bl 80bd5a6 80ba0de: 4602 mov r2, r0 80ba0e0: 687b ldr r3, [r7, #4] 80ba0e2: 671a str r2, [r3, #112] ; 0x70 } } /* Get the Card Class */ hsd->SdCard.Class = (SDMMC_GetResponse(hsd->Instance, SDMMC_RESP2) >> 20U); 80ba0e4: 687b ldr r3, [r7, #4] 80ba0e6: 681b ldr r3, [r3, #0] 80ba0e8: 2104 movs r1, #4 80ba0ea: 4618 mov r0, r3 80ba0ec: f003 fa5b bl 80bd5a6 80ba0f0: 4603 mov r3, r0 80ba0f2: 0d1a lsrs r2, r3, #20 80ba0f4: 687b ldr r3, [r7, #4] 80ba0f6: 64da str r2, [r3, #76] ; 0x4c /* Get CSD parameters */ if (HAL_SD_GetCardCSD(hsd, &CSD) != HAL_OK) 80ba0f8: f107 0310 add.w r3, r7, #16 80ba0fc: 4619 mov r1, r3 80ba0fe: 6878 ldr r0, [r7, #4] 80ba100: f7ff fbc6 bl 80b9890 80ba104: 4603 mov r3, r0 80ba106: 2b00 cmp r3, #0 80ba108: d002 beq.n 80ba110 { return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80ba10a: f04f 5380 mov.w r3, #268435456 ; 0x10000000 80ba10e: e020 b.n 80ba152 } /* Select the Card */ errorstate = SDMMC_CmdSelDesel(hsd->Instance, (uint32_t)(((uint32_t)hsd->SdCard.RelCardAdd) << 16U)); 80ba110: 687b ldr r3, [r7, #4] 80ba112: 6819 ldr r1, [r3, #0] 80ba114: 687b ldr r3, [r7, #4] 80ba116: 6d1b ldr r3, [r3, #80] ; 0x50 80ba118: 041b lsls r3, r3, #16 80ba11a: f04f 0400 mov.w r4, #0 80ba11e: 461a mov r2, r3 80ba120: 4623 mov r3, r4 80ba122: 4608 mov r0, r1 80ba124: f003 fb4a bl 80bd7bc 80ba128: 63f8 str r0, [r7, #60] ; 0x3c if(errorstate != HAL_SD_ERROR_NONE) 80ba12a: 6bfb ldr r3, [r7, #60] ; 0x3c 80ba12c: 2b00 cmp r3, #0 80ba12e: d001 beq.n 80ba134 { return errorstate; 80ba130: 6bfb ldr r3, [r7, #60] ; 0x3c 80ba132: e00e b.n 80ba152 } /* Configure SDMMC peripheral interface */ (void)SDMMC_Init(hsd->Instance, hsd->Init); 80ba134: 687b ldr r3, [r7, #4] 80ba136: 681d ldr r5, [r3, #0] 80ba138: 687b ldr r3, [r7, #4] 80ba13a: 466c mov r4, sp 80ba13c: f103 0210 add.w r2, r3, #16 80ba140: ca07 ldmia r2, {r0, r1, r2} 80ba142: e884 0007 stmia.w r4, {r0, r1, r2} 80ba146: 3304 adds r3, #4 80ba148: cb0e ldmia r3, {r1, r2, r3} 80ba14a: 4628 mov r0, r5 80ba14c: f003 f980 bl 80bd450 /* All cards are initialized */ return HAL_SD_ERROR_NONE; 80ba150: 2300 movs r3, #0 } 80ba152: 4618 mov r0, r3 80ba154: 3740 adds r7, #64 ; 0x40 80ba156: 46bd mov sp, r7 80ba158: bdb0 pop {r4, r5, r7, pc} ... 080ba15c : * in the SD handle. * @param hsd: Pointer to SD handle * @retval error state */ static uint32_t SD_PowerON(SD_HandleTypeDef *hsd) { 80ba15c: b580 push {r7, lr} 80ba15e: b086 sub sp, #24 80ba160: af00 add r7, sp, #0 80ba162: 6078 str r0, [r7, #4] __IO uint32_t count = 0U; 80ba164: 2300 movs r3, #0 80ba166: 60bb str r3, [r7, #8] uint32_t response = 0U, validvoltage = 0U; 80ba168: 2300 movs r3, #0 80ba16a: 617b str r3, [r7, #20] 80ba16c: 2300 movs r3, #0 80ba16e: 613b str r3, [r7, #16] uint32_t errorstate; /* CMD0: GO_IDLE_STATE */ errorstate = SDMMC_CmdGoIdleState(hsd->Instance); 80ba170: 687b ldr r3, [r7, #4] 80ba172: 681b ldr r3, [r3, #0] 80ba174: 4618 mov r0, r3 80ba176: f003 fb44 bl 80bd802 80ba17a: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba17c: 68fb ldr r3, [r7, #12] 80ba17e: 2b00 cmp r3, #0 80ba180: d001 beq.n 80ba186 { return errorstate; 80ba182: 68fb ldr r3, [r7, #12] 80ba184: e072 b.n 80ba26c } /* CMD8: SEND_IF_COND: Command available only on V2.0 cards */ errorstate = SDMMC_CmdOperCond(hsd->Instance); 80ba186: 687b ldr r3, [r7, #4] 80ba188: 681b ldr r3, [r3, #0] 80ba18a: 4618 mov r0, r3 80ba18c: f003 fb57 bl 80bd83e 80ba190: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba192: 68fb ldr r3, [r7, #12] 80ba194: 2b00 cmp r3, #0 80ba196: d00d beq.n 80ba1b4 { hsd->SdCard.CardVersion = CARD_V1_X; 80ba198: 687b ldr r3, [r7, #4] 80ba19a: 2200 movs r2, #0 80ba19c: 649a str r2, [r3, #72] ; 0x48 /* CMD0: GO_IDLE_STATE */ errorstate = SDMMC_CmdGoIdleState(hsd->Instance); 80ba19e: 687b ldr r3, [r7, #4] 80ba1a0: 681b ldr r3, [r3, #0] 80ba1a2: 4618 mov r0, r3 80ba1a4: f003 fb2d bl 80bd802 80ba1a8: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba1aa: 68fb ldr r3, [r7, #12] 80ba1ac: 2b00 cmp r3, #0 80ba1ae: d004 beq.n 80ba1ba { return errorstate; 80ba1b0: 68fb ldr r3, [r7, #12] 80ba1b2: e05b b.n 80ba26c } } else { hsd->SdCard.CardVersion = CARD_V2_X; 80ba1b4: 687b ldr r3, [r7, #4] 80ba1b6: 2201 movs r2, #1 80ba1b8: 649a str r2, [r3, #72] ; 0x48 } if( hsd->SdCard.CardVersion == CARD_V2_X) 80ba1ba: 687b ldr r3, [r7, #4] 80ba1bc: 6c9b ldr r3, [r3, #72] ; 0x48 80ba1be: 2b01 cmp r3, #1 80ba1c0: d137 bne.n 80ba232 { /* SEND CMD55 APP_CMD with RCA as 0 */ errorstate = SDMMC_CmdAppCommand(hsd->Instance, 0); 80ba1c2: 687b ldr r3, [r7, #4] 80ba1c4: 681b ldr r3, [r3, #0] 80ba1c6: 2100 movs r1, #0 80ba1c8: 4618 mov r0, r3 80ba1ca: f003 fb57 bl 80bd87c 80ba1ce: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba1d0: 68fb ldr r3, [r7, #12] 80ba1d2: 2b00 cmp r3, #0 80ba1d4: d02d beq.n 80ba232 { return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80ba1d6: f04f 5380 mov.w r3, #268435456 ; 0x10000000 80ba1da: e047 b.n 80ba26c /* SD CARD */ /* Send ACMD41 SD_APP_OP_COND with Argument 0x80100000 */ while((count < SDMMC_MAX_VOLT_TRIAL) && (validvoltage == 0U)) { /* SEND CMD55 APP_CMD with RCA as 0 */ errorstate = SDMMC_CmdAppCommand(hsd->Instance, 0); 80ba1dc: 687b ldr r3, [r7, #4] 80ba1de: 681b ldr r3, [r3, #0] 80ba1e0: 2100 movs r1, #0 80ba1e2: 4618 mov r0, r3 80ba1e4: f003 fb4a bl 80bd87c 80ba1e8: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba1ea: 68fb ldr r3, [r7, #12] 80ba1ec: 2b00 cmp r3, #0 80ba1ee: d001 beq.n 80ba1f4 { return errorstate; 80ba1f0: 68fb ldr r3, [r7, #12] 80ba1f2: e03b b.n 80ba26c } /* Send CMD41 */ errorstate = SDMMC_CmdAppOperCommand(hsd->Instance, SDMMC_VOLTAGE_WINDOW_SD | SDMMC_HIGH_CAPACITY | SD_SWITCH_1_8V_CAPACITY); 80ba1f4: 687b ldr r3, [r7, #4] 80ba1f6: 681b ldr r3, [r3, #0] 80ba1f8: 491e ldr r1, [pc, #120] ; (80ba274 ) 80ba1fa: 4618 mov r0, r3 80ba1fc: f003 fb60 bl 80bd8c0 80ba200: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba202: 68fb ldr r3, [r7, #12] 80ba204: 2b00 cmp r3, #0 80ba206: d002 beq.n 80ba20e { return HAL_SD_ERROR_UNSUPPORTED_FEATURE; 80ba208: f04f 5380 mov.w r3, #268435456 ; 0x10000000 80ba20c: e02e b.n 80ba26c } /* Get command response */ response = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80ba20e: 687b ldr r3, [r7, #4] 80ba210: 681b ldr r3, [r3, #0] 80ba212: 2100 movs r1, #0 80ba214: 4618 mov r0, r3 80ba216: f003 f9c6 bl 80bd5a6 80ba21a: 6178 str r0, [r7, #20] /* Get operating voltage*/ validvoltage = (((response >> 31U) == 1U) ? 1U : 0U); 80ba21c: 697b ldr r3, [r7, #20] 80ba21e: 0fdb lsrs r3, r3, #31 80ba220: 2b01 cmp r3, #1 80ba222: d101 bne.n 80ba228 80ba224: 2301 movs r3, #1 80ba226: e000 b.n 80ba22a 80ba228: 2300 movs r3, #0 80ba22a: 613b str r3, [r7, #16] count++; 80ba22c: 68bb ldr r3, [r7, #8] 80ba22e: 3301 adds r3, #1 80ba230: 60bb str r3, [r7, #8] while((count < SDMMC_MAX_VOLT_TRIAL) && (validvoltage == 0U)) 80ba232: 68bb ldr r3, [r7, #8] 80ba234: f64f 72fe movw r2, #65534 ; 0xfffe 80ba238: 4293 cmp r3, r2 80ba23a: d802 bhi.n 80ba242 80ba23c: 693b ldr r3, [r7, #16] 80ba23e: 2b00 cmp r3, #0 80ba240: d0cc beq.n 80ba1dc } if(count >= SDMMC_MAX_VOLT_TRIAL) 80ba242: 68bb ldr r3, [r7, #8] 80ba244: f64f 72fe movw r2, #65534 ; 0xfffe 80ba248: 4293 cmp r3, r2 80ba24a: d902 bls.n 80ba252 { return HAL_SD_ERROR_INVALID_VOLTRANGE; 80ba24c: f04f 7380 mov.w r3, #16777216 ; 0x1000000 80ba250: e00c b.n 80ba26c } if((response & SDMMC_HIGH_CAPACITY) == SDMMC_HIGH_CAPACITY) /* (response &= SD_HIGH_CAPACITY) */ 80ba252: 697b ldr r3, [r7, #20] 80ba254: f003 4380 and.w r3, r3, #1073741824 ; 0x40000000 80ba258: 2b00 cmp r3, #0 80ba25a: d003 beq.n 80ba264 { hsd->SdCard.CardType = CARD_SDHC_SDXC; 80ba25c: 687b ldr r3, [r7, #4] 80ba25e: 2201 movs r2, #1 80ba260: 645a str r2, [r3, #68] ; 0x44 80ba262: e002 b.n 80ba26a } else { hsd->SdCard.CardType = CARD_SDSC; 80ba264: 687b ldr r3, [r7, #4] 80ba266: 2200 movs r2, #0 80ba268: 645a str r2, [r3, #68] ; 0x44 } return HAL_SD_ERROR_NONE; 80ba26a: 2300 movs r3, #0 } 80ba26c: 4618 mov r0, r3 80ba26e: 3718 adds r7, #24 80ba270: 46bd mov sp, r7 80ba272: bd80 pop {r7, pc} 80ba274: c1100000 .word 0xc1100000 080ba278 : * @brief Turns the SDMMC output signals off. * @param hsd: Pointer to SD handle * @retval None */ static void SD_PowerOFF(SD_HandleTypeDef *hsd) { 80ba278: b580 push {r7, lr} 80ba27a: b082 sub sp, #8 80ba27c: af00 add r7, sp, #0 80ba27e: 6078 str r0, [r7, #4] /* Set Power State to OFF */ (void)SDMMC_PowerState_OFF(hsd->Instance); 80ba280: 687b ldr r3, [r7, #4] 80ba282: 681b ldr r3, [r3, #0] 80ba284: 4618 mov r0, r3 80ba286: f003 f93b bl 80bd500 } 80ba28a: bf00 nop 80ba28c: 3708 adds r7, #8 80ba28e: 46bd mov sp, r7 80ba290: bd80 pop {r7, pc} 080ba292 : * @param pCardStatus: pointer to the buffer that will contain the SD card * status (Card Status register) * @retval error state */ static uint32_t SD_SendStatus(SD_HandleTypeDef *hsd, uint32_t *pCardStatus) { 80ba292: b580 push {r7, lr} 80ba294: b084 sub sp, #16 80ba296: af00 add r7, sp, #0 80ba298: 6078 str r0, [r7, #4] 80ba29a: 6039 str r1, [r7, #0] uint32_t errorstate; if(pCardStatus == NULL) 80ba29c: 683b ldr r3, [r7, #0] 80ba29e: 2b00 cmp r3, #0 80ba2a0: d102 bne.n 80ba2a8 { return HAL_SD_ERROR_PARAM; 80ba2a2: f04f 6300 mov.w r3, #134217728 ; 0x8000000 80ba2a6: e018 b.n 80ba2da } /* Send Status command */ errorstate = SDMMC_CmdSendStatus(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 80ba2a8: 687b ldr r3, [r7, #4] 80ba2aa: 681a ldr r2, [r3, #0] 80ba2ac: 687b ldr r3, [r7, #4] 80ba2ae: 6d1b ldr r3, [r3, #80] ; 0x50 80ba2b0: 041b lsls r3, r3, #16 80ba2b2: 4619 mov r1, r3 80ba2b4: 4610 mov r0, r2 80ba2b6: f003 fbc8 bl 80bda4a 80ba2ba: 60f8 str r0, [r7, #12] if(errorstate != HAL_SD_ERROR_NONE) 80ba2bc: 68fb ldr r3, [r7, #12] 80ba2be: 2b00 cmp r3, #0 80ba2c0: d001 beq.n 80ba2c6 { return errorstate; 80ba2c2: 68fb ldr r3, [r7, #12] 80ba2c4: e009 b.n 80ba2da } /* Get SD card status */ *pCardStatus = SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1); 80ba2c6: 687b ldr r3, [r7, #4] 80ba2c8: 681b ldr r3, [r3, #0] 80ba2ca: 2100 movs r1, #0 80ba2cc: 4618 mov r0, r3 80ba2ce: f003 f96a bl 80bd5a6 80ba2d2: 4602 mov r2, r0 80ba2d4: 683b ldr r3, [r7, #0] 80ba2d6: 601a str r2, [r3, #0] return HAL_SD_ERROR_NONE; 80ba2d8: 2300 movs r3, #0 } 80ba2da: 4618 mov r0, r3 80ba2dc: 3710 adds r7, #16 80ba2de: 46bd mov sp, r7 80ba2e0: bd80 pop {r7, pc} 080ba2e2 : * @brief Enables the SDMMC wide bus mode. * @param hsd: pointer to SD handle * @retval error state */ static uint32_t SD_WideBus_Enable(SD_HandleTypeDef *hsd) { 80ba2e2: b580 push {r7, lr} 80ba2e4: b086 sub sp, #24 80ba2e6: af00 add r7, sp, #0 80ba2e8: 6078 str r0, [r7, #4] uint32_t scr[2U] = {0U, 0U}; 80ba2ea: 2300 movs r3, #0 80ba2ec: 60fb str r3, [r7, #12] 80ba2ee: 2300 movs r3, #0 80ba2f0: 613b str r3, [r7, #16] uint32_t errorstate; if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) 80ba2f2: 687b ldr r3, [r7, #4] 80ba2f4: 681b ldr r3, [r3, #0] 80ba2f6: 2100 movs r1, #0 80ba2f8: 4618 mov r0, r3 80ba2fa: f003 f954 bl 80bd5a6 80ba2fe: 4603 mov r3, r0 80ba300: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80ba304: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80ba308: d102 bne.n 80ba310 { return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; 80ba30a: f44f 6300 mov.w r3, #2048 ; 0x800 80ba30e: e02f b.n 80ba370 } /* Get SCR Register */ errorstate = SD_FindSCR(hsd, scr); 80ba310: f107 030c add.w r3, r7, #12 80ba314: 4619 mov r1, r3 80ba316: 6878 ldr r0, [r7, #4] 80ba318: f000 f879 bl 80ba40e 80ba31c: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80ba31e: 697b ldr r3, [r7, #20] 80ba320: 2b00 cmp r3, #0 80ba322: d001 beq.n 80ba328 { return errorstate; 80ba324: 697b ldr r3, [r7, #20] 80ba326: e023 b.n 80ba370 } /* If requested card supports wide bus operation */ if((scr[1U] & SDMMC_WIDE_BUS_SUPPORT) != SDMMC_ALLZERO) 80ba328: 693b ldr r3, [r7, #16] 80ba32a: f403 2380 and.w r3, r3, #262144 ; 0x40000 80ba32e: 2b00 cmp r3, #0 80ba330: d01c beq.n 80ba36c { /* Send CMD55 APP_CMD with argument as card's RCA.*/ errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 80ba332: 687b ldr r3, [r7, #4] 80ba334: 681a ldr r2, [r3, #0] 80ba336: 687b ldr r3, [r7, #4] 80ba338: 6d1b ldr r3, [r3, #80] ; 0x50 80ba33a: 041b lsls r3, r3, #16 80ba33c: 4619 mov r1, r3 80ba33e: 4610 mov r0, r2 80ba340: f003 fa9c bl 80bd87c 80ba344: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80ba346: 697b ldr r3, [r7, #20] 80ba348: 2b00 cmp r3, #0 80ba34a: d001 beq.n 80ba350 { return errorstate; 80ba34c: 697b ldr r3, [r7, #20] 80ba34e: e00f b.n 80ba370 } /* Send ACMD6 APP_CMD with argument as 2 for wide bus mode */ errorstate = SDMMC_CmdBusWidth(hsd->Instance, 2U); 80ba350: 687b ldr r3, [r7, #4] 80ba352: 681b ldr r3, [r3, #0] 80ba354: 2102 movs r1, #2 80ba356: 4618 mov r0, r3 80ba358: f003 fad6 bl 80bd908 80ba35c: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80ba35e: 697b ldr r3, [r7, #20] 80ba360: 2b00 cmp r3, #0 80ba362: d001 beq.n 80ba368 { return errorstate; 80ba364: 697b ldr r3, [r7, #20] 80ba366: e003 b.n 80ba370 } return HAL_SD_ERROR_NONE; 80ba368: 2300 movs r3, #0 80ba36a: e001 b.n 80ba370 } else { return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 80ba36c: f04f 6380 mov.w r3, #67108864 ; 0x4000000 } } 80ba370: 4618 mov r0, r3 80ba372: 3718 adds r7, #24 80ba374: 46bd mov sp, r7 80ba376: bd80 pop {r7, pc} 080ba378 : * @brief Disables the SDMMC wide bus mode. * @param hsd: Pointer to SD handle * @retval error state */ static uint32_t SD_WideBus_Disable(SD_HandleTypeDef *hsd) { 80ba378: b580 push {r7, lr} 80ba37a: b086 sub sp, #24 80ba37c: af00 add r7, sp, #0 80ba37e: 6078 str r0, [r7, #4] uint32_t scr[2U] = {0U, 0U}; 80ba380: 2300 movs r3, #0 80ba382: 60fb str r3, [r7, #12] 80ba384: 2300 movs r3, #0 80ba386: 613b str r3, [r7, #16] uint32_t errorstate; if((SDMMC_GetResponse(hsd->Instance, SDMMC_RESP1) & SDMMC_CARD_LOCKED) == SDMMC_CARD_LOCKED) 80ba388: 687b ldr r3, [r7, #4] 80ba38a: 681b ldr r3, [r3, #0] 80ba38c: 2100 movs r1, #0 80ba38e: 4618 mov r0, r3 80ba390: f003 f909 bl 80bd5a6 80ba394: 4603 mov r3, r0 80ba396: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80ba39a: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80ba39e: d102 bne.n 80ba3a6 { return HAL_SD_ERROR_LOCK_UNLOCK_FAILED; 80ba3a0: f44f 6300 mov.w r3, #2048 ; 0x800 80ba3a4: e02f b.n 80ba406 } /* Get SCR Register */ errorstate = SD_FindSCR(hsd, scr); 80ba3a6: f107 030c add.w r3, r7, #12 80ba3aa: 4619 mov r1, r3 80ba3ac: 6878 ldr r0, [r7, #4] 80ba3ae: f000 f82e bl 80ba40e 80ba3b2: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80ba3b4: 697b ldr r3, [r7, #20] 80ba3b6: 2b00 cmp r3, #0 80ba3b8: d001 beq.n 80ba3be { return errorstate; 80ba3ba: 697b ldr r3, [r7, #20] 80ba3bc: e023 b.n 80ba406 } /* If requested card supports 1 bit mode operation */ if((scr[1U] & SDMMC_SINGLE_BUS_SUPPORT) != SDMMC_ALLZERO) 80ba3be: 693b ldr r3, [r7, #16] 80ba3c0: f403 3380 and.w r3, r3, #65536 ; 0x10000 80ba3c4: 2b00 cmp r3, #0 80ba3c6: d01c beq.n 80ba402 { /* Send CMD55 APP_CMD with argument as card's RCA */ errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)(hsd->SdCard.RelCardAdd << 16U)); 80ba3c8: 687b ldr r3, [r7, #4] 80ba3ca: 681a ldr r2, [r3, #0] 80ba3cc: 687b ldr r3, [r7, #4] 80ba3ce: 6d1b ldr r3, [r3, #80] ; 0x50 80ba3d0: 041b lsls r3, r3, #16 80ba3d2: 4619 mov r1, r3 80ba3d4: 4610 mov r0, r2 80ba3d6: f003 fa51 bl 80bd87c 80ba3da: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80ba3dc: 697b ldr r3, [r7, #20] 80ba3de: 2b00 cmp r3, #0 80ba3e0: d001 beq.n 80ba3e6 { return errorstate; 80ba3e2: 697b ldr r3, [r7, #20] 80ba3e4: e00f b.n 80ba406 } /* Send ACMD6 APP_CMD with argument as 0 for single bus mode */ errorstate = SDMMC_CmdBusWidth(hsd->Instance, 0U); 80ba3e6: 687b ldr r3, [r7, #4] 80ba3e8: 681b ldr r3, [r3, #0] 80ba3ea: 2100 movs r1, #0 80ba3ec: 4618 mov r0, r3 80ba3ee: f003 fa8b bl 80bd908 80ba3f2: 6178 str r0, [r7, #20] if(errorstate != HAL_SD_ERROR_NONE) 80ba3f4: 697b ldr r3, [r7, #20] 80ba3f6: 2b00 cmp r3, #0 80ba3f8: d001 beq.n 80ba3fe { return errorstate; 80ba3fa: 697b ldr r3, [r7, #20] 80ba3fc: e003 b.n 80ba406 } return HAL_SD_ERROR_NONE; 80ba3fe: 2300 movs r3, #0 80ba400: e001 b.n 80ba406 } else { return HAL_SD_ERROR_REQUEST_NOT_APPLICABLE; 80ba402: f04f 6380 mov.w r3, #67108864 ; 0x4000000 } } 80ba406: 4618 mov r0, r3 80ba408: 3718 adds r7, #24 80ba40a: 46bd mov sp, r7 80ba40c: bd80 pop {r7, pc} 080ba40e : * @param hsd: Pointer to SD handle * @param pSCR: pointer to the buffer that will contain the SCR value * @retval error state */ static uint32_t SD_FindSCR(SD_HandleTypeDef *hsd, uint32_t *pSCR) { 80ba40e: b590 push {r4, r7, lr} 80ba410: b08f sub sp, #60 ; 0x3c 80ba412: af00 add r7, sp, #0 80ba414: 6078 str r0, [r7, #4] 80ba416: 6039 str r1, [r7, #0] SDMMC_DataInitTypeDef config; uint32_t errorstate; uint32_t tickstart = HAL_GetTick(); 80ba418: f7f8 ff2a bl 80b3270 80ba41c: 6338 str r0, [r7, #48] ; 0x30 uint32_t index = 0U; 80ba41e: 2300 movs r3, #0 80ba420: 637b str r3, [r7, #52] ; 0x34 uint32_t tempscr[2U] = {0U, 0U}; 80ba422: 2300 movs r3, #0 80ba424: 60bb str r3, [r7, #8] 80ba426: 2300 movs r3, #0 80ba428: 60fb str r3, [r7, #12] uint32_t *scr = pSCR; 80ba42a: 683b ldr r3, [r7, #0] 80ba42c: 62fb str r3, [r7, #44] ; 0x2c /* Set Block Size To 8 Bytes */ errorstate = SDMMC_CmdBlockLength(hsd->Instance, 8U); 80ba42e: 687b ldr r3, [r7, #4] 80ba430: 681b ldr r3, [r3, #0] 80ba432: 2108 movs r1, #8 80ba434: 4618 mov r0, r3 80ba436: f003 f8f5 bl 80bd624 80ba43a: 62b8 str r0, [r7, #40] ; 0x28 if(errorstate != HAL_SD_ERROR_NONE) 80ba43c: 6abb ldr r3, [r7, #40] ; 0x28 80ba43e: 2b00 cmp r3, #0 80ba440: d001 beq.n 80ba446 { return errorstate; 80ba442: 6abb ldr r3, [r7, #40] ; 0x28 80ba444: e0b2 b.n 80ba5ac } /* Send CMD55 APP_CMD with argument as card's RCA */ errorstate = SDMMC_CmdAppCommand(hsd->Instance, (uint32_t)((hsd->SdCard.RelCardAdd) << 16U)); 80ba446: 687b ldr r3, [r7, #4] 80ba448: 681a ldr r2, [r3, #0] 80ba44a: 687b ldr r3, [r7, #4] 80ba44c: 6d1b ldr r3, [r3, #80] ; 0x50 80ba44e: 041b lsls r3, r3, #16 80ba450: 4619 mov r1, r3 80ba452: 4610 mov r0, r2 80ba454: f003 fa12 bl 80bd87c 80ba458: 62b8 str r0, [r7, #40] ; 0x28 if(errorstate != HAL_SD_ERROR_NONE) 80ba45a: 6abb ldr r3, [r7, #40] ; 0x28 80ba45c: 2b00 cmp r3, #0 80ba45e: d001 beq.n 80ba464 { return errorstate; 80ba460: 6abb ldr r3, [r7, #40] ; 0x28 80ba462: e0a3 b.n 80ba5ac } config.DataTimeOut = SDMMC_DATATIMEOUT; 80ba464: f04f 33ff mov.w r3, #4294967295 80ba468: 613b str r3, [r7, #16] config.DataLength = 8U; 80ba46a: 2308 movs r3, #8 80ba46c: 617b str r3, [r7, #20] config.DataBlockSize = SDMMC_DATABLOCK_SIZE_8B; 80ba46e: 2330 movs r3, #48 ; 0x30 80ba470: 61bb str r3, [r7, #24] config.TransferDir = SDMMC_TRANSFER_DIR_TO_SDMMC; 80ba472: 2302 movs r3, #2 80ba474: 61fb str r3, [r7, #28] config.TransferMode = SDMMC_TRANSFER_MODE_BLOCK; 80ba476: 2300 movs r3, #0 80ba478: 623b str r3, [r7, #32] config.DPSM = SDMMC_DPSM_ENABLE; 80ba47a: 2301 movs r3, #1 80ba47c: 627b str r3, [r7, #36] ; 0x24 (void)SDMMC_ConfigData(hsd->Instance, &config); 80ba47e: 687b ldr r3, [r7, #4] 80ba480: 681b ldr r3, [r3, #0] 80ba482: f107 0210 add.w r2, r7, #16 80ba486: 4611 mov r1, r2 80ba488: 4618 mov r0, r3 80ba48a: f003 f89f bl 80bd5cc /* Send ACMD51 SD_APP_SEND_SCR with argument as 0 */ errorstate = SDMMC_CmdSendSCR(hsd->Instance); 80ba48e: 687b ldr r3, [r7, #4] 80ba490: 681b ldr r3, [r3, #0] 80ba492: 4618 mov r0, r3 80ba494: f003 fa5a bl 80bd94c 80ba498: 62b8 str r0, [r7, #40] ; 0x28 if(errorstate != HAL_SD_ERROR_NONE) 80ba49a: 6abb ldr r3, [r7, #40] ; 0x28 80ba49c: 2b00 cmp r3, #0 80ba49e: d02a beq.n 80ba4f6 { return errorstate; 80ba4a0: 6abb ldr r3, [r7, #40] ; 0x28 80ba4a2: e083 b.n 80ba5ac } while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT)) { if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXDAVL)) 80ba4a4: 687b ldr r3, [r7, #4] 80ba4a6: 681b ldr r3, [r3, #0] 80ba4a8: 6b5b ldr r3, [r3, #52] ; 0x34 80ba4aa: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80ba4ae: 2b00 cmp r3, #0 80ba4b0: d00f beq.n 80ba4d2 { *(tempscr + index) = SDMMC_ReadFIFO(hsd->Instance); 80ba4b2: 6b7b ldr r3, [r7, #52] ; 0x34 80ba4b4: 009b lsls r3, r3, #2 80ba4b6: f107 0208 add.w r2, r7, #8 80ba4ba: 18d4 adds r4, r2, r3 80ba4bc: 687b ldr r3, [r7, #4] 80ba4be: 681b ldr r3, [r3, #0] 80ba4c0: 4618 mov r0, r3 80ba4c2: f002 fff1 bl 80bd4a8 80ba4c6: 4603 mov r3, r0 80ba4c8: 6023 str r3, [r4, #0] index++; 80ba4ca: 6b7b ldr r3, [r7, #52] ; 0x34 80ba4cc: 3301 adds r3, #1 80ba4ce: 637b str r3, [r7, #52] ; 0x34 80ba4d0: e006 b.n 80ba4e0 } else if(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXACT)) 80ba4d2: 687b ldr r3, [r7, #4] 80ba4d4: 681b ldr r3, [r3, #0] 80ba4d6: 6b5b ldr r3, [r3, #52] ; 0x34 80ba4d8: f403 5300 and.w r3, r3, #8192 ; 0x2000 80ba4dc: 2b00 cmp r3, #0 80ba4de: d012 beq.n 80ba506 { break; } if((HAL_GetTick() - tickstart) >= SDMMC_DATATIMEOUT) 80ba4e0: f7f8 fec6 bl 80b3270 80ba4e4: 4602 mov r2, r0 80ba4e6: 6b3b ldr r3, [r7, #48] ; 0x30 80ba4e8: 1ad3 subs r3, r2, r3 80ba4ea: f1b3 3fff cmp.w r3, #4294967295 80ba4ee: d102 bne.n 80ba4f6 { return HAL_SD_ERROR_TIMEOUT; 80ba4f0: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80ba4f4: e05a b.n 80ba5ac while(!__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR | SDMMC_FLAG_DCRCFAIL | SDMMC_FLAG_DTIMEOUT)) 80ba4f6: 687b ldr r3, [r7, #4] 80ba4f8: 681b ldr r3, [r3, #0] 80ba4fa: 6b5b ldr r3, [r3, #52] ; 0x34 80ba4fc: f003 032a and.w r3, r3, #42 ; 0x2a 80ba500: 2b00 cmp r3, #0 80ba502: d0cf beq.n 80ba4a4 80ba504: e000 b.n 80ba508 break; 80ba506: bf00 nop } } if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DTIMEOUT)) 80ba508: 687b ldr r3, [r7, #4] 80ba50a: 681b ldr r3, [r3, #0] 80ba50c: 6b5b ldr r3, [r3, #52] ; 0x34 80ba50e: f003 0308 and.w r3, r3, #8 80ba512: 2b00 cmp r3, #0 80ba514: d005 beq.n 80ba522 { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DTIMEOUT); 80ba516: 687b ldr r3, [r7, #4] 80ba518: 681b ldr r3, [r3, #0] 80ba51a: 2208 movs r2, #8 80ba51c: 639a str r2, [r3, #56] ; 0x38 return HAL_SD_ERROR_DATA_TIMEOUT; 80ba51e: 2308 movs r3, #8 80ba520: e044 b.n 80ba5ac } else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_DCRCFAIL)) 80ba522: 687b ldr r3, [r7, #4] 80ba524: 681b ldr r3, [r3, #0] 80ba526: 6b5b ldr r3, [r3, #52] ; 0x34 80ba528: f003 0302 and.w r3, r3, #2 80ba52c: 2b00 cmp r3, #0 80ba52e: d005 beq.n 80ba53c { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_DCRCFAIL); 80ba530: 687b ldr r3, [r7, #4] 80ba532: 681b ldr r3, [r3, #0] 80ba534: 2202 movs r2, #2 80ba536: 639a str r2, [r3, #56] ; 0x38 return HAL_SD_ERROR_DATA_CRC_FAIL; 80ba538: 2302 movs r3, #2 80ba53a: e037 b.n 80ba5ac } else if(__HAL_SD_GET_FLAG(hsd, SDMMC_FLAG_RXOVERR)) 80ba53c: 687b ldr r3, [r7, #4] 80ba53e: 681b ldr r3, [r3, #0] 80ba540: 6b5b ldr r3, [r3, #52] ; 0x34 80ba542: f003 0320 and.w r3, r3, #32 80ba546: 2b00 cmp r3, #0 80ba548: d005 beq.n 80ba556 { __HAL_SD_CLEAR_FLAG(hsd, SDMMC_FLAG_RXOVERR); 80ba54a: 687b ldr r3, [r7, #4] 80ba54c: 681b ldr r3, [r3, #0] 80ba54e: 2220 movs r2, #32 80ba550: 639a str r2, [r3, #56] ; 0x38 return HAL_SD_ERROR_RX_OVERRUN; 80ba552: 2320 movs r3, #32 80ba554: e02a b.n 80ba5ac } else { /* No error flag set */ /* Clear all the static flags */ __HAL_SD_CLEAR_FLAG(hsd, SDMMC_STATIC_DATA_FLAGS); 80ba556: 687b ldr r3, [r7, #4] 80ba558: 681b ldr r3, [r3, #0] 80ba55a: f240 523a movw r2, #1338 ; 0x53a 80ba55e: 639a str r2, [r3, #56] ; 0x38 *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ 80ba560: 68fb ldr r3, [r7, #12] 80ba562: 061a lsls r2, r3, #24 80ba564: 68fb ldr r3, [r7, #12] 80ba566: 021b lsls r3, r3, #8 80ba568: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80ba56c: 431a orrs r2, r3 ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24)); 80ba56e: 68fb ldr r3, [r7, #12] 80ba570: 0a1b lsrs r3, r3, #8 80ba572: f403 437f and.w r3, r3, #65280 ; 0xff00 *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ 80ba576: 431a orrs r2, r3 ((tempscr[1] & SDMMC_16TO23BITS) >> 8) | ((tempscr[1] & SDMMC_24TO31BITS) >> 24)); 80ba578: 68fb ldr r3, [r7, #12] 80ba57a: 0e1b lsrs r3, r3, #24 80ba57c: 431a orrs r2, r3 *scr = (((tempscr[1] & SDMMC_0TO7BITS) << 24) | ((tempscr[1] & SDMMC_8TO15BITS) << 8) |\ 80ba57e: 6afb ldr r3, [r7, #44] ; 0x2c 80ba580: 601a str r2, [r3, #0] scr++; 80ba582: 6afb ldr r3, [r7, #44] ; 0x2c 80ba584: 3304 adds r3, #4 80ba586: 62fb str r3, [r7, #44] ; 0x2c *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ 80ba588: 68bb ldr r3, [r7, #8] 80ba58a: 061a lsls r2, r3, #24 80ba58c: 68bb ldr r3, [r7, #8] 80ba58e: 021b lsls r3, r3, #8 80ba590: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80ba594: 431a orrs r2, r3 ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24)); 80ba596: 68bb ldr r3, [r7, #8] 80ba598: 0a1b lsrs r3, r3, #8 80ba59a: f403 437f and.w r3, r3, #65280 ; 0xff00 *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ 80ba59e: 431a orrs r2, r3 ((tempscr[0] & SDMMC_16TO23BITS) >> 8) | ((tempscr[0] & SDMMC_24TO31BITS) >> 24)); 80ba5a0: 68bb ldr r3, [r7, #8] 80ba5a2: 0e1b lsrs r3, r3, #24 80ba5a4: 431a orrs r2, r3 *scr = (((tempscr[0] & SDMMC_0TO7BITS) << 24) | ((tempscr[0] & SDMMC_8TO15BITS) << 8) |\ 80ba5a6: 6afb ldr r3, [r7, #44] ; 0x2c 80ba5a8: 601a str r2, [r3, #0] } return HAL_SD_ERROR_NONE; 80ba5aa: 2300 movs r3, #0 } 80ba5ac: 4618 mov r0, r3 80ba5ae: 373c adds r7, #60 ; 0x3c 80ba5b0: 46bd mov sp, r7 80ba5b2: bd90 pop {r4, r7, pc} 080ba5b4 : * @param hsd: pointer to a SD_HandleTypeDef structure that contains * the configuration information. * @retval None */ static void SD_Read_IT(SD_HandleTypeDef *hsd) { 80ba5b4: b580 push {r7, lr} 80ba5b6: b086 sub sp, #24 80ba5b8: af00 add r7, sp, #0 80ba5ba: 6078 str r0, [r7, #4] uint32_t count, data, dataremaining; uint8_t* tmp; tmp = hsd->pRxBuffPtr; 80ba5bc: 687b ldr r3, [r7, #4] 80ba5be: 6a9b ldr r3, [r3, #40] ; 0x28 80ba5c0: 60fb str r3, [r7, #12] dataremaining = hsd->RxXferSize; 80ba5c2: 687b ldr r3, [r7, #4] 80ba5c4: 6adb ldr r3, [r3, #44] ; 0x2c 80ba5c6: 613b str r3, [r7, #16] if (dataremaining > 0U) 80ba5c8: 693b ldr r3, [r7, #16] 80ba5ca: 2b00 cmp r3, #0 80ba5cc: d03f beq.n 80ba64e { /* Read data from SDMMC Rx FIFO */ for(count = 0U; count < 8U; count++) 80ba5ce: 2300 movs r3, #0 80ba5d0: 617b str r3, [r7, #20] 80ba5d2: e033 b.n 80ba63c { data = SDMMC_ReadFIFO(hsd->Instance); 80ba5d4: 687b ldr r3, [r7, #4] 80ba5d6: 681b ldr r3, [r3, #0] 80ba5d8: 4618 mov r0, r3 80ba5da: f002 ff65 bl 80bd4a8 80ba5de: 60b8 str r0, [r7, #8] *tmp = (uint8_t)(data & 0xFFU); 80ba5e0: 68bb ldr r3, [r7, #8] 80ba5e2: b2da uxtb r2, r3 80ba5e4: 68fb ldr r3, [r7, #12] 80ba5e6: 701a strb r2, [r3, #0] tmp++; 80ba5e8: 68fb ldr r3, [r7, #12] 80ba5ea: 3301 adds r3, #1 80ba5ec: 60fb str r3, [r7, #12] dataremaining--; 80ba5ee: 693b ldr r3, [r7, #16] 80ba5f0: 3b01 subs r3, #1 80ba5f2: 613b str r3, [r7, #16] *tmp = (uint8_t)((data >> 8U) & 0xFFU); 80ba5f4: 68bb ldr r3, [r7, #8] 80ba5f6: 0a1b lsrs r3, r3, #8 80ba5f8: b2da uxtb r2, r3 80ba5fa: 68fb ldr r3, [r7, #12] 80ba5fc: 701a strb r2, [r3, #0] tmp++; 80ba5fe: 68fb ldr r3, [r7, #12] 80ba600: 3301 adds r3, #1 80ba602: 60fb str r3, [r7, #12] dataremaining--; 80ba604: 693b ldr r3, [r7, #16] 80ba606: 3b01 subs r3, #1 80ba608: 613b str r3, [r7, #16] *tmp = (uint8_t)((data >> 16U) & 0xFFU); 80ba60a: 68bb ldr r3, [r7, #8] 80ba60c: 0c1b lsrs r3, r3, #16 80ba60e: b2da uxtb r2, r3 80ba610: 68fb ldr r3, [r7, #12] 80ba612: 701a strb r2, [r3, #0] tmp++; 80ba614: 68fb ldr r3, [r7, #12] 80ba616: 3301 adds r3, #1 80ba618: 60fb str r3, [r7, #12] dataremaining--; 80ba61a: 693b ldr r3, [r7, #16] 80ba61c: 3b01 subs r3, #1 80ba61e: 613b str r3, [r7, #16] *tmp = (uint8_t)((data >> 24U) & 0xFFU); 80ba620: 68bb ldr r3, [r7, #8] 80ba622: 0e1b lsrs r3, r3, #24 80ba624: b2da uxtb r2, r3 80ba626: 68fb ldr r3, [r7, #12] 80ba628: 701a strb r2, [r3, #0] tmp++; 80ba62a: 68fb ldr r3, [r7, #12] 80ba62c: 3301 adds r3, #1 80ba62e: 60fb str r3, [r7, #12] dataremaining--; 80ba630: 693b ldr r3, [r7, #16] 80ba632: 3b01 subs r3, #1 80ba634: 613b str r3, [r7, #16] for(count = 0U; count < 8U; count++) 80ba636: 697b ldr r3, [r7, #20] 80ba638: 3301 adds r3, #1 80ba63a: 617b str r3, [r7, #20] 80ba63c: 697b ldr r3, [r7, #20] 80ba63e: 2b07 cmp r3, #7 80ba640: d9c8 bls.n 80ba5d4 } hsd->pRxBuffPtr = tmp; 80ba642: 687b ldr r3, [r7, #4] 80ba644: 68fa ldr r2, [r7, #12] 80ba646: 629a str r2, [r3, #40] ; 0x28 hsd->RxXferSize = dataremaining; 80ba648: 687b ldr r3, [r7, #4] 80ba64a: 693a ldr r2, [r7, #16] 80ba64c: 62da str r2, [r3, #44] ; 0x2c } } 80ba64e: bf00 nop 80ba650: 3718 adds r7, #24 80ba652: 46bd mov sp, r7 80ba654: bd80 pop {r7, pc} 080ba656 : * @param hsd: pointer to a SD_HandleTypeDef structure that contains * the configuration information. * @retval None */ static void SD_Write_IT(SD_HandleTypeDef *hsd) { 80ba656: b580 push {r7, lr} 80ba658: b086 sub sp, #24 80ba65a: af00 add r7, sp, #0 80ba65c: 6078 str r0, [r7, #4] uint32_t count, data, dataremaining; uint8_t* tmp; tmp = hsd->pTxBuffPtr; 80ba65e: 687b ldr r3, [r7, #4] 80ba660: 6a1b ldr r3, [r3, #32] 80ba662: 60fb str r3, [r7, #12] dataremaining = hsd->TxXferSize; 80ba664: 687b ldr r3, [r7, #4] 80ba666: 6a5b ldr r3, [r3, #36] ; 0x24 80ba668: 613b str r3, [r7, #16] if (dataremaining > 0U) 80ba66a: 693b ldr r3, [r7, #16] 80ba66c: 2b00 cmp r3, #0 80ba66e: d043 beq.n 80ba6f8 { /* Write data to SDMMC Tx FIFO */ for(count = 0U; count < 8U; count++) 80ba670: 2300 movs r3, #0 80ba672: 617b str r3, [r7, #20] 80ba674: e037 b.n 80ba6e6 { data = (uint32_t)(*tmp); 80ba676: 68fb ldr r3, [r7, #12] 80ba678: 781b ldrb r3, [r3, #0] 80ba67a: 60bb str r3, [r7, #8] tmp++; 80ba67c: 68fb ldr r3, [r7, #12] 80ba67e: 3301 adds r3, #1 80ba680: 60fb str r3, [r7, #12] dataremaining--; 80ba682: 693b ldr r3, [r7, #16] 80ba684: 3b01 subs r3, #1 80ba686: 613b str r3, [r7, #16] data |= ((uint32_t)(*tmp) << 8U); 80ba688: 68fb ldr r3, [r7, #12] 80ba68a: 781b ldrb r3, [r3, #0] 80ba68c: 021a lsls r2, r3, #8 80ba68e: 68bb ldr r3, [r7, #8] 80ba690: 4313 orrs r3, r2 80ba692: 60bb str r3, [r7, #8] tmp++; 80ba694: 68fb ldr r3, [r7, #12] 80ba696: 3301 adds r3, #1 80ba698: 60fb str r3, [r7, #12] dataremaining--; 80ba69a: 693b ldr r3, [r7, #16] 80ba69c: 3b01 subs r3, #1 80ba69e: 613b str r3, [r7, #16] data |= ((uint32_t)(*tmp) << 16U); 80ba6a0: 68fb ldr r3, [r7, #12] 80ba6a2: 781b ldrb r3, [r3, #0] 80ba6a4: 041a lsls r2, r3, #16 80ba6a6: 68bb ldr r3, [r7, #8] 80ba6a8: 4313 orrs r3, r2 80ba6aa: 60bb str r3, [r7, #8] tmp++; 80ba6ac: 68fb ldr r3, [r7, #12] 80ba6ae: 3301 adds r3, #1 80ba6b0: 60fb str r3, [r7, #12] dataremaining--; 80ba6b2: 693b ldr r3, [r7, #16] 80ba6b4: 3b01 subs r3, #1 80ba6b6: 613b str r3, [r7, #16] data |= ((uint32_t)(*tmp) << 24U); 80ba6b8: 68fb ldr r3, [r7, #12] 80ba6ba: 781b ldrb r3, [r3, #0] 80ba6bc: 061a lsls r2, r3, #24 80ba6be: 68bb ldr r3, [r7, #8] 80ba6c0: 4313 orrs r3, r2 80ba6c2: 60bb str r3, [r7, #8] tmp++; 80ba6c4: 68fb ldr r3, [r7, #12] 80ba6c6: 3301 adds r3, #1 80ba6c8: 60fb str r3, [r7, #12] dataremaining--; 80ba6ca: 693b ldr r3, [r7, #16] 80ba6cc: 3b01 subs r3, #1 80ba6ce: 613b str r3, [r7, #16] (void)SDMMC_WriteFIFO(hsd->Instance, &data); 80ba6d0: 687b ldr r3, [r7, #4] 80ba6d2: 681b ldr r3, [r3, #0] 80ba6d4: f107 0208 add.w r2, r7, #8 80ba6d8: 4611 mov r1, r2 80ba6da: 4618 mov r0, r3 80ba6dc: f002 fef1 bl 80bd4c2 for(count = 0U; count < 8U; count++) 80ba6e0: 697b ldr r3, [r7, #20] 80ba6e2: 3301 adds r3, #1 80ba6e4: 617b str r3, [r7, #20] 80ba6e6: 697b ldr r3, [r7, #20] 80ba6e8: 2b07 cmp r3, #7 80ba6ea: d9c4 bls.n 80ba676 } hsd->pTxBuffPtr = tmp; 80ba6ec: 687b ldr r3, [r7, #4] 80ba6ee: 68fa ldr r2, [r7, #12] 80ba6f0: 621a str r2, [r3, #32] hsd->TxXferSize = dataremaining; 80ba6f2: 687b ldr r3, [r7, #4] 80ba6f4: 693a ldr r2, [r7, #16] 80ba6f6: 625a str r2, [r3, #36] ; 0x24 } } 80ba6f8: bf00 nop 80ba6fa: 3718 adds r7, #24 80ba6fc: 46bd mov sp, r7 80ba6fe: bd80 pop {r7, pc} 080ba700 : * @param hsmbus Pointer to a SMBUS_HandleTypeDef structure that contains * the configuration information for the specified SMBUS. * @retval None */ void HAL_SMBUS_EV_IRQHandler(SMBUS_HandleTypeDef *hsmbus) { 80ba700: b580 push {r7, lr} 80ba702: b084 sub sp, #16 80ba704: af00 add r7, sp, #0 80ba706: 6078 str r0, [r7, #4] /* Use a local variable to store the current ISR flags */ /* This action will avoid a wrong treatment due to ISR flags change during interrupt handler */ uint32_t tmpisrvalue = READ_REG(hsmbus->Instance->ISR); 80ba708: 687b ldr r3, [r7, #4] 80ba70a: 681b ldr r3, [r3, #0] 80ba70c: 699b ldr r3, [r3, #24] 80ba70e: 60fb str r3, [r7, #12] uint32_t tmpcr1value = READ_REG(hsmbus->Instance->CR1); 80ba710: 687b ldr r3, [r7, #4] 80ba712: 681b ldr r3, [r3, #0] 80ba714: 681b ldr r3, [r3, #0] 80ba716: 60bb str r3, [r7, #8] /* SMBUS in mode Transmitter ---------------------------------------------------*/ if ((SMBUS_CHECK_IT_SOURCE(tmpcr1value, (SMBUS_IT_TCI | SMBUS_IT_STOPI | 80ba718: 68bb ldr r3, [r7, #8] 80ba71a: f003 0372 and.w r3, r3, #114 ; 0x72 80ba71e: 2b72 cmp r3, #114 ; 0x72 80ba720: d12d bne.n 80ba77e SMBUS_IT_NACKI | SMBUS_IT_TXI)) != RESET) && ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TXIS) != RESET) || 80ba722: 68fb ldr r3, [r7, #12] 80ba724: f003 0302 and.w r3, r3, #2 SMBUS_IT_NACKI | SMBUS_IT_TXI)) != RESET) && 80ba728: 2b00 cmp r3, #0 80ba72a: d113 bne.n 80ba754 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80ba72c: 68fb ldr r3, [r7, #12] 80ba72e: f003 0380 and.w r3, r3, #128 ; 0x80 ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TXIS) != RESET) || 80ba732: 2b00 cmp r3, #0 80ba734: d10e bne.n 80ba754 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80ba736: 68fb ldr r3, [r7, #12] 80ba738: f003 0340 and.w r3, r3, #64 ; 0x40 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80ba73c: 2b00 cmp r3, #0 80ba73e: d109 bne.n 80ba754 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80ba740: 68fb ldr r3, [r7, #12] 80ba742: f003 0320 and.w r3, r3, #32 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80ba746: 2b00 cmp r3, #0 80ba748: d104 bne.n 80ba754 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) 80ba74a: 68fb ldr r3, [r7, #12] 80ba74c: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80ba750: 2b00 cmp r3, #0 80ba752: d014 beq.n 80ba77e { /* Slave mode selected */ if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) 80ba754: 687b ldr r3, [r7, #4] 80ba756: 6c9b ldr r3, [r3, #72] ; 0x48 80ba758: f003 0332 and.w r3, r3, #50 ; 0x32 80ba75c: 2b32 cmp r3, #50 ; 0x32 80ba75e: d104 bne.n 80ba76a { (void)SMBUS_Slave_ISR(hsmbus, tmpisrvalue); 80ba760: 68f9 ldr r1, [r7, #12] 80ba762: 6878 ldr r0, [r7, #4] 80ba764: f000 fa80 bl 80bac68 80ba768: e009 b.n 80ba77e } /* Master mode selected */ else if ((hsmbus->State & HAL_SMBUS_STATE_MASTER_BUSY_TX) == HAL_SMBUS_STATE_MASTER_BUSY_TX) 80ba76a: 687b ldr r3, [r7, #4] 80ba76c: 6c9b ldr r3, [r3, #72] ; 0x48 80ba76e: f003 0312 and.w r3, r3, #18 80ba772: 2b12 cmp r3, #18 80ba774: d103 bne.n 80ba77e { (void)SMBUS_Master_ISR(hsmbus, tmpisrvalue); 80ba776: 68f9 ldr r1, [r7, #12] 80ba778: 6878 ldr r0, [r7, #4] 80ba77a: f000 f8a1 bl 80ba8c0 /* Nothing to do */ } } /* SMBUS in mode Receiver ----------------------------------------------------*/ if ((SMBUS_CHECK_IT_SOURCE(tmpcr1value, (SMBUS_IT_TCI | SMBUS_IT_STOPI | 80ba77e: 68bb ldr r3, [r7, #8] 80ba780: f003 0374 and.w r3, r3, #116 ; 0x74 80ba784: 2b74 cmp r3, #116 ; 0x74 80ba786: d12d bne.n 80ba7e4 SMBUS_IT_NACKI | SMBUS_IT_RXI)) != RESET) && ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_RXNE) != RESET) || 80ba788: 68fb ldr r3, [r7, #12] 80ba78a: f003 0304 and.w r3, r3, #4 SMBUS_IT_NACKI | SMBUS_IT_RXI)) != RESET) && 80ba78e: 2b00 cmp r3, #0 80ba790: d113 bne.n 80ba7ba (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80ba792: 68fb ldr r3, [r7, #12] 80ba794: f003 0380 and.w r3, r3, #128 ; 0x80 ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_RXNE) != RESET) || 80ba798: 2b00 cmp r3, #0 80ba79a: d10e bne.n 80ba7ba (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80ba79c: 68fb ldr r3, [r7, #12] 80ba79e: f003 0340 and.w r3, r3, #64 ; 0x40 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TCR) != RESET) || 80ba7a2: 2b00 cmp r3, #0 80ba7a4: d109 bne.n 80ba7ba (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80ba7a6: 68fb ldr r3, [r7, #12] 80ba7a8: f003 0320 and.w r3, r3, #32 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_TC) != RESET) || 80ba7ac: 2b00 cmp r3, #0 80ba7ae: d104 bne.n 80ba7ba (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) 80ba7b0: 68fb ldr r3, [r7, #12] 80ba7b2: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80ba7b6: 2b00 cmp r3, #0 80ba7b8: d014 beq.n 80ba7e4 { /* Slave mode selected */ if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80ba7ba: 687b ldr r3, [r7, #4] 80ba7bc: 6c9b ldr r3, [r3, #72] ; 0x48 80ba7be: f003 0342 and.w r3, r3, #66 ; 0x42 80ba7c2: 2b42 cmp r3, #66 ; 0x42 80ba7c4: d104 bne.n 80ba7d0 { (void)SMBUS_Slave_ISR(hsmbus, tmpisrvalue); 80ba7c6: 68f9 ldr r1, [r7, #12] 80ba7c8: 6878 ldr r0, [r7, #4] 80ba7ca: f000 fa4d bl 80bac68 80ba7ce: e009 b.n 80ba7e4 } /* Master mode selected */ else if ((hsmbus->State & HAL_SMBUS_STATE_MASTER_BUSY_RX) == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80ba7d0: 687b ldr r3, [r7, #4] 80ba7d2: 6c9b ldr r3, [r3, #72] ; 0x48 80ba7d4: f003 0322 and.w r3, r3, #34 ; 0x22 80ba7d8: 2b22 cmp r3, #34 ; 0x22 80ba7da: d103 bne.n 80ba7e4 { (void)SMBUS_Master_ISR(hsmbus, tmpisrvalue); 80ba7dc: 68f9 ldr r1, [r7, #12] 80ba7de: 6878 ldr r0, [r7, #4] 80ba7e0: f000 f86e bl 80ba8c0 /* Nothing to do */ } } /* SMBUS in mode Listener Only --------------------------------------------------*/ if (((SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_ADDRI) != RESET) || 80ba7e4: 68bb ldr r3, [r7, #8] 80ba7e6: f003 0308 and.w r3, r3, #8 80ba7ea: 2b00 cmp r3, #0 80ba7ec: d109 bne.n 80ba802 (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_STOPI) != RESET) || 80ba7ee: 68bb ldr r3, [r7, #8] 80ba7f0: f003 0320 and.w r3, r3, #32 if (((SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_ADDRI) != RESET) || 80ba7f4: 2b00 cmp r3, #0 80ba7f6: d104 bne.n 80ba802 (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_NACKI) != RESET)) && 80ba7f8: 68bb ldr r3, [r7, #8] 80ba7fa: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_STOPI) != RESET) || 80ba7fe: 2b00 cmp r3, #0 80ba800: d018 beq.n 80ba834 ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_ADDR) != RESET) || 80ba802: 68fb ldr r3, [r7, #12] 80ba804: f003 0308 and.w r3, r3, #8 (SMBUS_CHECK_IT_SOURCE(tmpcr1value, SMBUS_IT_NACKI) != RESET)) && 80ba808: 2b00 cmp r3, #0 80ba80a: d109 bne.n 80ba820 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80ba80c: 68fb ldr r3, [r7, #12] 80ba80e: f003 0320 and.w r3, r3, #32 ((SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_ADDR) != RESET) || 80ba812: 2b00 cmp r3, #0 80ba814: d104 bne.n 80ba820 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_AF) != RESET))) 80ba816: 68fb ldr r3, [r7, #12] 80ba818: f003 0310 and.w r3, r3, #16 (SMBUS_CHECK_FLAG(tmpisrvalue, SMBUS_FLAG_STOPF) != RESET) || 80ba81c: 2b00 cmp r3, #0 80ba81e: d009 beq.n 80ba834 { if ((hsmbus->State & HAL_SMBUS_STATE_LISTEN) == HAL_SMBUS_STATE_LISTEN) 80ba820: 687b ldr r3, [r7, #4] 80ba822: 6c9b ldr r3, [r3, #72] ; 0x48 80ba824: f003 0308 and.w r3, r3, #8 80ba828: 2b08 cmp r3, #8 80ba82a: d103 bne.n 80ba834 { (void)SMBUS_Slave_ISR(hsmbus, tmpisrvalue); 80ba82c: 68f9 ldr r1, [r7, #12] 80ba82e: 6878 ldr r0, [r7, #4] 80ba830: f000 fa1a bl 80bac68 } } } 80ba834: bf00 nop 80ba836: 3710 adds r7, #16 80ba838: 46bd mov sp, r7 80ba83a: bd80 pop {r7, pc} 080ba83c : * @param hsmbus Pointer to a SMBUS_HandleTypeDef structure that contains * the configuration information for the specified SMBUS. * @retval None */ void HAL_SMBUS_ER_IRQHandler(SMBUS_HandleTypeDef *hsmbus) { 80ba83c: b580 push {r7, lr} 80ba83e: b082 sub sp, #8 80ba840: af00 add r7, sp, #0 80ba842: 6078 str r0, [r7, #4] SMBUS_ITErrorHandler(hsmbus); 80ba844: 6878 ldr r0, [r7, #4] 80ba846: f000 fc6c bl 80bb122 } 80ba84a: bf00 nop 80ba84c: 3708 adds r7, #8 80ba84e: 46bd mov sp, r7 80ba850: bd80 pop {r7, pc} 080ba852 : * @param hsmbus Pointer to a SMBUS_HandleTypeDef structure that contains * the configuration information for the specified SMBUS. * @retval None */ __weak void HAL_SMBUS_SlaveTxCpltCallback(SMBUS_HandleTypeDef *hsmbus) { 80ba852: b480 push {r7} 80ba854: b083 sub sp, #12 80ba856: af00 add r7, sp, #0 80ba858: 6078 str r0, [r7, #4] UNUSED(hsmbus); /* NOTE : This function should not be modified, when the callback is needed, the HAL_SMBUS_SlaveTxCpltCallback() could be implemented in the user file */ } 80ba85a: bf00 nop 80ba85c: 370c adds r7, #12 80ba85e: 46bd mov sp, r7 80ba860: f85d 7b04 ldr.w r7, [sp], #4 80ba864: 4770 bx lr 080ba866 : * @param hsmbus Pointer to a SMBUS_HandleTypeDef structure that contains * the configuration information for the specified SMBUS. * @retval None */ __weak void HAL_SMBUS_SlaveRxCpltCallback(SMBUS_HandleTypeDef *hsmbus) { 80ba866: b480 push {r7} 80ba868: b083 sub sp, #12 80ba86a: af00 add r7, sp, #0 80ba86c: 6078 str r0, [r7, #4] UNUSED(hsmbus); /* NOTE : This function should not be modified, when the callback is needed, the HAL_SMBUS_SlaveRxCpltCallback() could be implemented in the user file */ } 80ba86e: bf00 nop 80ba870: 370c adds r7, #12 80ba872: 46bd mov sp, r7 80ba874: f85d 7b04 ldr.w r7, [sp], #4 80ba878: 4770 bx lr 080ba87a : * @param AddrMatchCode Address Match Code * @retval None */ __weak void HAL_SMBUS_AddrCallback(SMBUS_HandleTypeDef *hsmbus, uint8_t TransferDirection, uint16_t AddrMatchCode) { 80ba87a: b480 push {r7} 80ba87c: b083 sub sp, #12 80ba87e: af00 add r7, sp, #0 80ba880: 6078 str r0, [r7, #4] 80ba882: 460b mov r3, r1 80ba884: 70fb strb r3, [r7, #3] 80ba886: 4613 mov r3, r2 80ba888: 803b strh r3, [r7, #0] UNUSED(AddrMatchCode); /* NOTE : This function should not be modified, when the callback is needed, the HAL_SMBUS_AddrCallback() could be implemented in the user file */ } 80ba88a: bf00 nop 80ba88c: 370c adds r7, #12 80ba88e: 46bd mov sp, r7 80ba890: f85d 7b04 ldr.w r7, [sp], #4 80ba894: 4770 bx lr 080ba896 : * @param hsmbus Pointer to a SMBUS_HandleTypeDef structure that contains * the configuration information for the specified SMBUS. * @retval None */ __weak void HAL_SMBUS_ListenCpltCallback(SMBUS_HandleTypeDef *hsmbus) { 80ba896: b480 push {r7} 80ba898: b083 sub sp, #12 80ba89a: af00 add r7, sp, #0 80ba89c: 6078 str r0, [r7, #4] UNUSED(hsmbus); /* NOTE : This function should not be modified, when the callback is needed, the HAL_SMBUS_ListenCpltCallback() could be implemented in the user file */ } 80ba89e: bf00 nop 80ba8a0: 370c adds r7, #12 80ba8a2: 46bd mov sp, r7 80ba8a4: f85d 7b04 ldr.w r7, [sp], #4 80ba8a8: 4770 bx lr 080ba8aa : * @param hsmbus Pointer to a SMBUS_HandleTypeDef structure that contains * the configuration information for the specified SMBUS. * @retval None */ __weak void HAL_SMBUS_ErrorCallback(SMBUS_HandleTypeDef *hsmbus) { 80ba8aa: b480 push {r7} 80ba8ac: b083 sub sp, #12 80ba8ae: af00 add r7, sp, #0 80ba8b0: 6078 str r0, [r7, #4] UNUSED(hsmbus); /* NOTE : This function should not be modified, when the callback is needed, the HAL_SMBUS_ErrorCallback() could be implemented in the user file */ } 80ba8b2: bf00 nop 80ba8b4: 370c adds r7, #12 80ba8b6: 46bd mov sp, r7 80ba8b8: f85d 7b04 ldr.w r7, [sp], #4 80ba8bc: 4770 bx lr ... 080ba8c0 : * the configuration information for the specified SMBUS. * @param StatusFlags Value of Interrupt Flags. * @retval HAL status */ static HAL_StatusTypeDef SMBUS_Master_ISR(SMBUS_HandleTypeDef *hsmbus, uint32_t StatusFlags) { 80ba8c0: b580 push {r7, lr} 80ba8c2: b086 sub sp, #24 80ba8c4: af02 add r7, sp, #8 80ba8c6: 6078 str r0, [r7, #4] 80ba8c8: 6039 str r1, [r7, #0] uint16_t DevAddress; /* Process Locked */ __HAL_LOCK(hsmbus); 80ba8ca: 687b ldr r3, [r7, #4] 80ba8cc: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80ba8d0: 2b01 cmp r3, #1 80ba8d2: d101 bne.n 80ba8d8 80ba8d4: 2302 movs r3, #2 80ba8d6: e1c3 b.n 80bac60 80ba8d8: 687b ldr r3, [r7, #4] 80ba8da: 2201 movs r2, #1 80ba8dc: f883 2044 strb.w r2, [r3, #68] ; 0x44 if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_AF) != RESET) 80ba8e0: 683b ldr r3, [r7, #0] 80ba8e2: f003 0310 and.w r3, r3, #16 80ba8e6: 2b00 cmp r3, #0 80ba8e8: d014 beq.n 80ba914 { /* Clear NACK Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); 80ba8ea: 687b ldr r3, [r7, #4] 80ba8ec: 681b ldr r3, [r3, #0] 80ba8ee: 2210 movs r2, #16 80ba8f0: 61da str r2, [r3, #28] /* Set corresponding Error Code */ /* No need to generate STOP, it is automatically done */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ACKF; 80ba8f2: 687b ldr r3, [r7, #4] 80ba8f4: 6cdb ldr r3, [r3, #76] ; 0x4c 80ba8f6: f043 0204 orr.w r2, r3, #4 80ba8fa: 687b ldr r3, [r7, #4] 80ba8fc: 64da str r2, [r3, #76] ; 0x4c /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80ba8fe: 6878 ldr r0, [r7, #4] 80ba900: f000 fcc4 bl 80bb28c /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80ba904: 687b ldr r3, [r7, #4] 80ba906: 2200 movs r2, #0 80ba908: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Call the Error callback to inform upper layer */ #if (USE_HAL_SMBUS_REGISTER_CALLBACKS == 1) hsmbus->ErrorCallback(hsmbus); #else HAL_SMBUS_ErrorCallback(hsmbus); 80ba90c: 6878 ldr r0, [r7, #4] 80ba90e: f7ff ffcc bl 80ba8aa 80ba912: e1a0 b.n 80bac56 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_STOPF) != RESET) 80ba914: 683b ldr r3, [r7, #0] 80ba916: f003 0320 and.w r3, r3, #32 80ba91a: 2b00 cmp r3, #0 80ba91c: d079 beq.n 80baa12 { /* Check and treat errors if errors occurs during STOP process */ SMBUS_ITErrorHandler(hsmbus); 80ba91e: 6878 ldr r0, [r7, #4] 80ba920: f000 fbff bl 80bb122 /* Call the corresponding callback to inform upper layer of End of Transfer */ if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_TX) 80ba924: 687b ldr r3, [r7, #4] 80ba926: 6c9b ldr r3, [r3, #72] ; 0x48 80ba928: 2b12 cmp r3, #18 80ba92a: d12d bne.n 80ba988 { /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80ba92c: 21f2 movs r1, #242 ; 0xf2 80ba92e: 6878 ldr r0, [r7, #4] 80ba930: f000 fb7a bl 80bb028 /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80ba934: 687b ldr r3, [r7, #4] 80ba936: 681b ldr r3, [r3, #0] 80ba938: 2220 movs r2, #32 80ba93a: 61da str r2, [r3, #28] /* Clear Configuration Register 2 */ SMBUS_RESET_CR2(hsmbus); 80ba93c: 687b ldr r3, [r7, #4] 80ba93e: 681a ldr r2, [r3, #0] 80ba940: 687b ldr r3, [r7, #4] 80ba942: 681b ldr r3, [r3, #0] 80ba944: 6859 ldr r1, [r3, #4] 80ba946: 4b90 ldr r3, [pc, #576] ; (80bab88 ) 80ba948: 400b ands r3, r1 80ba94a: 6053 str r3, [r2, #4] /* Flush remaining data in Fifo register in case of error occurs before TXEmpty */ /* Disable the selected SMBUS peripheral */ __HAL_SMBUS_DISABLE(hsmbus); 80ba94c: 687b ldr r3, [r7, #4] 80ba94e: 681b ldr r3, [r3, #0] 80ba950: 687a ldr r2, [r7, #4] 80ba952: 6812 ldr r2, [r2, #0] 80ba954: 6812 ldr r2, [r2, #0] 80ba956: f022 0201 bic.w r2, r2, #1 80ba95a: 601a str r2, [r3, #0] hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80ba95c: 687b ldr r3, [r7, #4] 80ba95e: 2201 movs r2, #1 80ba960: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80ba962: 687b ldr r3, [r7, #4] 80ba964: 2201 movs r2, #1 80ba966: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80ba968: 687b ldr r3, [r7, #4] 80ba96a: 2200 movs r2, #0 80ba96c: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Re-enable the selected SMBUS peripheral */ __HAL_SMBUS_ENABLE(hsmbus); 80ba970: 687b ldr r3, [r7, #4] 80ba972: 681b ldr r3, [r3, #0] 80ba974: 687a ldr r2, [r7, #4] 80ba976: 6812 ldr r2, [r2, #0] 80ba978: 6812 ldr r2, [r2, #0] 80ba97a: f042 0201 orr.w r2, r2, #1 80ba97e: 601a str r2, [r3, #0] /* Call the corresponding callback to inform upper layer of End of Transfer */ #if (USE_HAL_SMBUS_REGISTER_CALLBACKS == 1) hsmbus->MasterTxCpltCallback(hsmbus); #else HAL_SMBUS_MasterTxCpltCallback(hsmbus); 80ba980: 6878 ldr r0, [r7, #4] 80ba982: f775 f87b bl 802fa7c 80ba986: e166 b.n 80bac56 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80ba988: 687b ldr r3, [r7, #4] 80ba98a: 6c9b ldr r3, [r3, #72] ; 0x48 80ba98c: 2b22 cmp r3, #34 ; 0x22 80ba98e: f040 8162 bne.w 80bac56 { /* Store Last receive data if any */ if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) 80ba992: 683b ldr r3, [r7, #0] 80ba994: f003 0304 and.w r3, r3, #4 80ba998: 2b00 cmp r3, #0 80ba99a: d01c beq.n 80ba9d6 { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80ba99c: 687b ldr r3, [r7, #4] 80ba99e: 6b5b ldr r3, [r3, #52] ; 0x34 80ba9a0: 687a ldr r2, [r7, #4] 80ba9a2: 6812 ldr r2, [r2, #0] 80ba9a4: 6a52 ldr r2, [r2, #36] ; 0x24 80ba9a6: b2d2 uxtb r2, r2 80ba9a8: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80ba9aa: 687b ldr r3, [r7, #4] 80ba9ac: 6b5b ldr r3, [r3, #52] ; 0x34 80ba9ae: 1c5a adds r2, r3, #1 80ba9b0: 687b ldr r3, [r7, #4] 80ba9b2: 635a str r2, [r3, #52] ; 0x34 if ((hsmbus->XferSize > 0U)) 80ba9b4: 687b ldr r3, [r7, #4] 80ba9b6: 8f1b ldrh r3, [r3, #56] ; 0x38 80ba9b8: 2b00 cmp r3, #0 80ba9ba: d00c beq.n 80ba9d6 { hsmbus->XferSize--; 80ba9bc: 687b ldr r3, [r7, #4] 80ba9be: 8f1b ldrh r3, [r3, #56] ; 0x38 80ba9c0: 3b01 subs r3, #1 80ba9c2: b29a uxth r2, r3 80ba9c4: 687b ldr r3, [r7, #4] 80ba9c6: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80ba9c8: 687b ldr r3, [r7, #4] 80ba9ca: 8f5b ldrh r3, [r3, #58] ; 0x3a 80ba9cc: b29b uxth r3, r3 80ba9ce: 3b01 subs r3, #1 80ba9d0: b29a uxth r2, r3 80ba9d2: 687b ldr r3, [r7, #4] 80ba9d4: 875a strh r2, [r3, #58] ; 0x3a } } /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80ba9d6: 21d4 movs r1, #212 ; 0xd4 80ba9d8: 6878 ldr r0, [r7, #4] 80ba9da: f000 fb25 bl 80bb028 /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80ba9de: 687b ldr r3, [r7, #4] 80ba9e0: 681b ldr r3, [r3, #0] 80ba9e2: 2220 movs r2, #32 80ba9e4: 61da str r2, [r3, #28] /* Clear Configuration Register 2 */ SMBUS_RESET_CR2(hsmbus); 80ba9e6: 687b ldr r3, [r7, #4] 80ba9e8: 681a ldr r2, [r3, #0] 80ba9ea: 687b ldr r3, [r7, #4] 80ba9ec: 681b ldr r3, [r3, #0] 80ba9ee: 6859 ldr r1, [r3, #4] 80ba9f0: 4b65 ldr r3, [pc, #404] ; (80bab88 ) 80ba9f2: 400b ands r3, r1 80ba9f4: 6053 str r3, [r2, #4] hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80ba9f6: 687b ldr r3, [r7, #4] 80ba9f8: 2201 movs r2, #1 80ba9fa: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80ba9fc: 687b ldr r3, [r7, #4] 80ba9fe: 2201 movs r2, #1 80baa00: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80baa02: 687b ldr r3, [r7, #4] 80baa04: 2200 movs r2, #0 80baa06: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Call the corresponding callback to inform upper layer of End of Transfer */ #if (USE_HAL_SMBUS_REGISTER_CALLBACKS == 1) hsmbus->MasterRxCpltCallback(hsmbus); #else HAL_SMBUS_MasterRxCpltCallback(hsmbus); 80baa0a: 6878 ldr r0, [r7, #4] 80baa0c: f775 f846 bl 802fa9c 80baa10: e121 b.n 80bac56 else { /* Nothing to do */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) 80baa12: 683b ldr r3, [r7, #0] 80baa14: f003 0304 and.w r3, r3, #4 80baa18: 2b00 cmp r3, #0 80baa1a: d019 beq.n 80baa50 { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80baa1c: 687b ldr r3, [r7, #4] 80baa1e: 6b5b ldr r3, [r3, #52] ; 0x34 80baa20: 687a ldr r2, [r7, #4] 80baa22: 6812 ldr r2, [r2, #0] 80baa24: 6a52 ldr r2, [r2, #36] ; 0x24 80baa26: b2d2 uxtb r2, r2 80baa28: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80baa2a: 687b ldr r3, [r7, #4] 80baa2c: 6b5b ldr r3, [r3, #52] ; 0x34 80baa2e: 1c5a adds r2, r3, #1 80baa30: 687b ldr r3, [r7, #4] 80baa32: 635a str r2, [r3, #52] ; 0x34 /* Increment Size counter */ hsmbus->XferSize--; 80baa34: 687b ldr r3, [r7, #4] 80baa36: 8f1b ldrh r3, [r3, #56] ; 0x38 80baa38: 3b01 subs r3, #1 80baa3a: b29a uxth r2, r3 80baa3c: 687b ldr r3, [r7, #4] 80baa3e: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80baa40: 687b ldr r3, [r7, #4] 80baa42: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baa44: b29b uxth r3, r3 80baa46: 3b01 subs r3, #1 80baa48: b29a uxth r2, r3 80baa4a: 687b ldr r3, [r7, #4] 80baa4c: 875a strh r2, [r3, #58] ; 0x3a 80baa4e: e102 b.n 80bac56 } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TXIS) != RESET) 80baa50: 683b ldr r3, [r7, #0] 80baa52: f003 0302 and.w r3, r3, #2 80baa56: 2b00 cmp r3, #0 80baa58: d018 beq.n 80baa8c { /* Write data to TXDR */ hsmbus->Instance->TXDR = *hsmbus->pBuffPtr; 80baa5a: 687b ldr r3, [r7, #4] 80baa5c: 681b ldr r3, [r3, #0] 80baa5e: 687a ldr r2, [r7, #4] 80baa60: 6b52 ldr r2, [r2, #52] ; 0x34 80baa62: 7812 ldrb r2, [r2, #0] 80baa64: 629a str r2, [r3, #40] ; 0x28 /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80baa66: 687b ldr r3, [r7, #4] 80baa68: 6b5b ldr r3, [r3, #52] ; 0x34 80baa6a: 1c5a adds r2, r3, #1 80baa6c: 687b ldr r3, [r7, #4] 80baa6e: 635a str r2, [r3, #52] ; 0x34 /* Increment Size counter */ hsmbus->XferSize--; 80baa70: 687b ldr r3, [r7, #4] 80baa72: 8f1b ldrh r3, [r3, #56] ; 0x38 80baa74: 3b01 subs r3, #1 80baa76: b29a uxth r2, r3 80baa78: 687b ldr r3, [r7, #4] 80baa7a: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80baa7c: 687b ldr r3, [r7, #4] 80baa7e: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baa80: b29b uxth r3, r3 80baa82: 3b01 subs r3, #1 80baa84: b29a uxth r2, r3 80baa86: 687b ldr r3, [r7, #4] 80baa88: 875a strh r2, [r3, #58] ; 0x3a 80baa8a: e0e4 b.n 80bac56 } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TCR) != RESET) 80baa8c: 683b ldr r3, [r7, #0] 80baa8e: f003 0380 and.w r3, r3, #128 ; 0x80 80baa92: 2b00 cmp r3, #0 80baa94: f000 8091 beq.w 80babba { if ((hsmbus->XferCount != 0U) && (hsmbus->XferSize == 0U)) 80baa98: 687b ldr r3, [r7, #4] 80baa9a: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baa9c: b29b uxth r3, r3 80baa9e: 2b00 cmp r3, #0 80baaa0: d048 beq.n 80bab34 80baaa2: 687b ldr r3, [r7, #4] 80baaa4: 8f1b ldrh r3, [r3, #56] ; 0x38 80baaa6: 2b00 cmp r3, #0 80baaa8: d144 bne.n 80bab34 { DevAddress = (uint16_t)(hsmbus->Instance->CR2 & I2C_CR2_SADD); 80baaaa: 687b ldr r3, [r7, #4] 80baaac: 681b ldr r3, [r3, #0] 80baaae: 685b ldr r3, [r3, #4] 80baab0: b29b uxth r3, r3 80baab2: f3c3 0309 ubfx r3, r3, #0, #10 80baab6: 81fb strh r3, [r7, #14] if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80baab8: 687b ldr r3, [r7, #4] 80baaba: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baabc: b29b uxth r3, r3 80baabe: 2bff cmp r3, #255 ; 0xff 80baac0: d911 bls.n 80baae6 { SMBUS_TransferConfig(hsmbus, DevAddress, MAX_NBYTE_SIZE, (SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE)), 80baac2: 687b ldr r3, [r7, #4] 80baac4: 6bdb ldr r3, [r3, #60] ; 0x3c 80baac6: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, DevAddress, MAX_NBYTE_SIZE, 80baaca: f043 7280 orr.w r2, r3, #16777216 ; 0x1000000 80baace: 89f9 ldrh r1, [r7, #14] 80baad0: 2300 movs r3, #0 80baad2: 9300 str r3, [sp, #0] 80baad4: 4613 mov r3, r2 80baad6: 22ff movs r2, #255 ; 0xff 80baad8: 6878 ldr r0, [r7, #4] 80baada: f000 fbfb bl 80bb2d4 SMBUS_NO_STARTSTOP); hsmbus->XferSize = MAX_NBYTE_SIZE; 80baade: 687b ldr r3, [r7, #4] 80baae0: 22ff movs r2, #255 ; 0xff 80baae2: 871a strh r2, [r3, #56] ; 0x38 if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80baae4: e0b6 b.n 80bac54 } else { hsmbus->XferSize = hsmbus->XferCount; 80baae6: 687b ldr r3, [r7, #4] 80baae8: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baaea: b29a uxth r2, r3 80baaec: 687b ldr r3, [r7, #4] 80baaee: 871a strh r2, [r3, #56] ; 0x38 SMBUS_TransferConfig(hsmbus, DevAddress, (uint8_t)hsmbus->XferSize, hsmbus->XferOptions, 80baaf0: 687b ldr r3, [r7, #4] 80baaf2: 8f1b ldrh r3, [r3, #56] ; 0x38 80baaf4: b2da uxtb r2, r3 80baaf6: 687b ldr r3, [r7, #4] 80baaf8: 6bd8 ldr r0, [r3, #60] ; 0x3c 80baafa: 89f9 ldrh r1, [r7, #14] 80baafc: 2300 movs r3, #0 80baafe: 9300 str r3, [sp, #0] 80bab00: 4603 mov r3, r0 80bab02: 6878 ldr r0, [r7, #4] 80bab04: f000 fbe6 bl 80bb2d4 SMBUS_NO_STARTSTOP); /* If PEC mode is enable, size to transmit should be Size-1 byte, corresponding to PEC byte */ /* PEC byte is automatically sent by HW block, no need to manage it in Transmit process */ if (SMBUS_GET_PEC_MODE(hsmbus) != 0UL) 80bab08: 687b ldr r3, [r7, #4] 80bab0a: 681b ldr r3, [r3, #0] 80bab0c: 685b ldr r3, [r3, #4] 80bab0e: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80bab12: 2b00 cmp r3, #0 80bab14: f000 809e beq.w 80bac54 { hsmbus->XferSize--; 80bab18: 687b ldr r3, [r7, #4] 80bab1a: 8f1b ldrh r3, [r3, #56] ; 0x38 80bab1c: 3b01 subs r3, #1 80bab1e: b29a uxth r2, r3 80bab20: 687b ldr r3, [r7, #4] 80bab22: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bab24: 687b ldr r3, [r7, #4] 80bab26: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bab28: b29b uxth r3, r3 80bab2a: 3b01 subs r3, #1 80bab2c: b29a uxth r2, r3 80bab2e: 687b ldr r3, [r7, #4] 80bab30: 875a strh r2, [r3, #58] ; 0x3a if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80bab32: e08f b.n 80bac54 } } } else if ((hsmbus->XferCount == 0U) && (hsmbus->XferSize == 0U)) 80bab34: 687b ldr r3, [r7, #4] 80bab36: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bab38: b29b uxth r3, r3 80bab3a: 2b00 cmp r3, #0 80bab3c: f040 808b bne.w 80bac56 80bab40: 687b ldr r3, [r7, #4] 80bab42: 8f1b ldrh r3, [r3, #56] ; 0x38 80bab44: 2b00 cmp r3, #0 80bab46: f040 8086 bne.w 80bac56 { /* Call TxCpltCallback() if no stop mode is set */ if (SMBUS_GET_STOP_MODE(hsmbus) != SMBUS_AUTOEND_MODE) 80bab4a: 687b ldr r3, [r7, #4] 80bab4c: 681b ldr r3, [r3, #0] 80bab4e: 685b ldr r3, [r3, #4] 80bab50: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80bab54: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80bab58: d07d beq.n 80bac56 { /* Call the corresponding callback to inform upper layer of End of Transfer */ if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_TX) 80bab5a: 687b ldr r3, [r7, #4] 80bab5c: 6c9b ldr r3, [r3, #72] ; 0x48 80bab5e: 2b12 cmp r3, #18 80bab60: d114 bne.n 80bab8c { /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80bab62: 21f2 movs r1, #242 ; 0xf2 80bab64: 6878 ldr r0, [r7, #4] 80bab66: f000 fa5f bl 80bb028 hsmbus->PreviousState = hsmbus->State; 80bab6a: 687b ldr r3, [r7, #4] 80bab6c: 6c9a ldr r2, [r3, #72] ; 0x48 80bab6e: 687b ldr r3, [r7, #4] 80bab70: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bab72: 687b ldr r3, [r7, #4] 80bab74: 2201 movs r2, #1 80bab76: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bab78: 687b ldr r3, [r7, #4] 80bab7a: 2200 movs r2, #0 80bab7c: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Call the corresponding callback to inform upper layer of End of Transfer */ #if (USE_HAL_SMBUS_REGISTER_CALLBACKS == 1) hsmbus->MasterTxCpltCallback(hsmbus); #else HAL_SMBUS_MasterTxCpltCallback(hsmbus); 80bab80: 6878 ldr r0, [r7, #4] 80bab82: f774 ff7b bl 802fa7c 80bab86: e066 b.n 80bac56 80bab88: fe00e800 .word 0xfe00e800 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80bab8c: 687b ldr r3, [r7, #4] 80bab8e: 6c9b ldr r3, [r3, #72] ; 0x48 80bab90: 2b22 cmp r3, #34 ; 0x22 80bab92: d160 bne.n 80bac56 { SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80bab94: 21d4 movs r1, #212 ; 0xd4 80bab96: 6878 ldr r0, [r7, #4] 80bab98: f000 fa46 bl 80bb028 hsmbus->PreviousState = hsmbus->State; 80bab9c: 687b ldr r3, [r7, #4] 80bab9e: 6c9a ldr r2, [r3, #72] ; 0x48 80baba0: 687b ldr r3, [r7, #4] 80baba2: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80baba4: 687b ldr r3, [r7, #4] 80baba6: 2201 movs r2, #1 80baba8: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80babaa: 687b ldr r3, [r7, #4] 80babac: 2200 movs r2, #0 80babae: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Call the corresponding callback to inform upper layer of End of Transfer */ #if (USE_HAL_SMBUS_REGISTER_CALLBACKS == 1) hsmbus->MasterRxCpltCallback(hsmbus); #else HAL_SMBUS_MasterRxCpltCallback(hsmbus); 80babb2: 6878 ldr r0, [r7, #4] 80babb4: f774 ff72 bl 802fa9c 80babb8: e04d b.n 80bac56 else { /* Nothing to do */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TC) != RESET) 80babba: 683b ldr r3, [r7, #0] 80babbc: f003 0340 and.w r3, r3, #64 ; 0x40 80babc0: 2b00 cmp r3, #0 80babc2: d048 beq.n 80bac56 { if (hsmbus->XferCount == 0U) 80babc4: 687b ldr r3, [r7, #4] 80babc6: 8f5b ldrh r3, [r3, #58] ; 0x3a 80babc8: b29b uxth r3, r3 80babca: 2b00 cmp r3, #0 80babcc: d143 bne.n 80bac56 { /* Specific use case for Quick command */ if (hsmbus->pBuffPtr == NULL) 80babce: 687b ldr r3, [r7, #4] 80babd0: 6b5b ldr r3, [r3, #52] ; 0x34 80babd2: 2b00 cmp r3, #0 80babd4: d108 bne.n 80babe8 { /* Generate a Stop command */ hsmbus->Instance->CR2 |= I2C_CR2_STOP; 80babd6: 687b ldr r3, [r7, #4] 80babd8: 681b ldr r3, [r3, #0] 80babda: 687a ldr r2, [r7, #4] 80babdc: 6812 ldr r2, [r2, #0] 80babde: 6852 ldr r2, [r2, #4] 80babe0: f442 4280 orr.w r2, r2, #16384 ; 0x4000 80babe4: 605a str r2, [r3, #4] 80babe6: e036 b.n 80bac56 } /* Call TxCpltCallback() if no stop mode is set */ else if (SMBUS_GET_STOP_MODE(hsmbus) != SMBUS_AUTOEND_MODE) 80babe8: 687b ldr r3, [r7, #4] 80babea: 681b ldr r3, [r3, #0] 80babec: 685b ldr r3, [r3, #4] 80babee: f003 7300 and.w r3, r3, #33554432 ; 0x2000000 80babf2: f1b3 7f00 cmp.w r3, #33554432 ; 0x2000000 80babf6: d02e beq.n 80bac56 { /* No Generate Stop, to permit restart mode */ /* The stop will be done at the end of transfer, when SMBUS_AUTOEND_MODE enable */ /* Call the corresponding callback to inform upper layer of End of Transfer */ if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_TX) 80babf8: 687b ldr r3, [r7, #4] 80babfa: 6c9b ldr r3, [r3, #72] ; 0x48 80babfc: 2b12 cmp r3, #18 80babfe: d112 bne.n 80bac26 { /* Disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80bac00: 21f2 movs r1, #242 ; 0xf2 80bac02: 6878 ldr r0, [r7, #4] 80bac04: f000 fa10 bl 80bb028 hsmbus->PreviousState = hsmbus->State; 80bac08: 687b ldr r3, [r7, #4] 80bac0a: 6c9a ldr r2, [r3, #72] ; 0x48 80bac0c: 687b ldr r3, [r7, #4] 80bac0e: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bac10: 687b ldr r3, [r7, #4] 80bac12: 2201 movs r2, #1 80bac14: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bac16: 687b ldr r3, [r7, #4] 80bac18: 2200 movs r2, #0 80bac1a: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Call the corresponding callback to inform upper layer of End of Transfer */ #if (USE_HAL_SMBUS_REGISTER_CALLBACKS == 1) hsmbus->MasterTxCpltCallback(hsmbus); #else HAL_SMBUS_MasterTxCpltCallback(hsmbus); 80bac1e: 6878 ldr r0, [r7, #4] 80bac20: f774 ff2c bl 802fa7c 80bac24: e017 b.n 80bac56 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if (hsmbus->State == HAL_SMBUS_STATE_MASTER_BUSY_RX) 80bac26: 687b ldr r3, [r7, #4] 80bac28: 6c9b ldr r3, [r3, #72] ; 0x48 80bac2a: 2b22 cmp r3, #34 ; 0x22 80bac2c: d113 bne.n 80bac56 { SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80bac2e: 21d4 movs r1, #212 ; 0xd4 80bac30: 6878 ldr r0, [r7, #4] 80bac32: f000 f9f9 bl 80bb028 hsmbus->PreviousState = hsmbus->State; 80bac36: 687b ldr r3, [r7, #4] 80bac38: 6c9a ldr r2, [r3, #72] ; 0x48 80bac3a: 687b ldr r3, [r7, #4] 80bac3c: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80bac3e: 687b ldr r3, [r7, #4] 80bac40: 2201 movs r2, #1 80bac42: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bac44: 687b ldr r3, [r7, #4] 80bac46: 2200 movs r2, #0 80bac48: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Call the corresponding callback to inform upper layer of End of Transfer */ #if (USE_HAL_SMBUS_REGISTER_CALLBACKS == 1) hsmbus->MasterRxCpltCallback(hsmbus); #else HAL_SMBUS_MasterRxCpltCallback(hsmbus); 80bac4c: 6878 ldr r0, [r7, #4] 80bac4e: f774 ff25 bl 802fa9c 80bac52: e000 b.n 80bac56 if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80bac54: bf00 nop { /* Nothing to do */ } /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bac56: 687b ldr r3, [r7, #4] 80bac58: 2200 movs r2, #0 80bac5a: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_OK; 80bac5e: 2300 movs r3, #0 } 80bac60: 4618 mov r0, r3 80bac62: 3710 adds r7, #16 80bac64: 46bd mov sp, r7 80bac66: bd80 pop {r7, pc} 080bac68 : * the configuration information for the specified SMBUS. * @param StatusFlags Value of Interrupt Flags. * @retval HAL status */ static HAL_StatusTypeDef SMBUS_Slave_ISR(SMBUS_HandleTypeDef *hsmbus, uint32_t StatusFlags) { 80bac68: b580 push {r7, lr} 80bac6a: b086 sub sp, #24 80bac6c: af02 add r7, sp, #8 80bac6e: 6078 str r0, [r7, #4] 80bac70: 6039 str r1, [r7, #0] uint8_t TransferDirection; uint16_t SlaveAddrCode; /* Process Locked */ __HAL_LOCK(hsmbus); 80bac72: 687b ldr r3, [r7, #4] 80bac74: f893 3044 ldrb.w r3, [r3, #68] ; 0x44 80bac78: 2b01 cmp r3, #1 80bac7a: d101 bne.n 80bac80 80bac7c: 2302 movs r3, #2 80bac7e: e1cc b.n 80bb01a 80bac80: 687b ldr r3, [r7, #4] 80bac82: 2201 movs r2, #1 80bac84: f883 2044 strb.w r2, [r3, #68] ; 0x44 if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_AF) != RESET) 80bac88: 683b ldr r3, [r7, #0] 80bac8a: f003 0310 and.w r3, r3, #16 80bac8e: 2b00 cmp r3, #0 80bac90: d039 beq.n 80bad06 { /* Check that SMBUS transfer finished */ /* if yes, normal usecase, a NACK is sent by the HOST when Transfer is finished */ /* Mean XferCount == 0*/ /* So clear Flag NACKF only */ if (hsmbus->XferCount == 0U) 80bac92: 687b ldr r3, [r7, #4] 80bac94: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bac96: b29b uxth r3, r3 80bac98: 2b00 cmp r3, #0 80bac9a: d10b bne.n 80bacb4 { /* Clear NACK Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); 80bac9c: 687b ldr r3, [r7, #4] 80bac9e: 681b ldr r3, [r3, #0] 80baca0: 2210 movs r2, #16 80baca2: 61da str r2, [r3, #28] /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80baca4: 6878 ldr r0, [r7, #4] 80baca6: f000 faf1 bl 80bb28c /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bacaa: 687b ldr r3, [r7, #4] 80bacac: 2200 movs r2, #0 80bacae: f883 2044 strb.w r2, [r3, #68] ; 0x44 80bacb2: e14d b.n 80baf50 } else { /* if no, error usecase, a Non-Acknowledge of last Data is generated by the HOST*/ /* Clear NACK Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_AF); 80bacb4: 687b ldr r3, [r7, #4] 80bacb6: 681b ldr r3, [r3, #0] 80bacb8: 2210 movs r2, #16 80bacba: 61da str r2, [r3, #28] /* Set HAL State to "Idle" State, mean to LISTEN state */ /* So reset Slave Busy state */ hsmbus->PreviousState = hsmbus->State; 80bacbc: 687b ldr r3, [r7, #4] 80bacbe: 6c9a ldr r2, [r3, #72] ; 0x48 80bacc0: 687b ldr r3, [r7, #4] 80bacc2: 641a str r2, [r3, #64] ; 0x40 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_TX); 80bacc4: 687b ldr r3, [r7, #4] 80bacc6: 6c9b ldr r3, [r3, #72] ; 0x48 80bacc8: f023 0232 bic.w r2, r3, #50 ; 0x32 80baccc: 687b ldr r3, [r7, #4] 80bacce: 649a str r2, [r3, #72] ; 0x48 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_RX); 80bacd0: 687b ldr r3, [r7, #4] 80bacd2: 6c9b ldr r3, [r3, #72] ; 0x48 80bacd4: f023 0242 bic.w r2, r3, #66 ; 0x42 80bacd8: 687b ldr r3, [r7, #4] 80bacda: 649a str r2, [r3, #72] ; 0x48 /* Disable RX/TX Interrupts, keep only ADDR Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX | SMBUS_IT_TX); 80bacdc: 21f6 movs r1, #246 ; 0xf6 80bacde: 6878 ldr r0, [r7, #4] 80bace0: f000 f9a2 bl 80bb028 /* Set ErrorCode corresponding to a Non-Acknowledge */ hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ACKF; 80bace4: 687b ldr r3, [r7, #4] 80bace6: 6cdb ldr r3, [r3, #76] ; 0x4c 80bace8: f043 0204 orr.w r2, r3, #4 80bacec: 687b ldr r3, [r7, #4] 80bacee: 64da str r2, [r3, #76] ; 0x4c /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80bacf0: 6878 ldr r0, [r7, #4] 80bacf2: f000 facb bl 80bb28c /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bacf6: 687b ldr r3, [r7, #4] 80bacf8: 2200 movs r2, #0 80bacfa: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Call the Error callback to inform upper layer */ #if (USE_HAL_SMBUS_REGISTER_CALLBACKS == 1) hsmbus->ErrorCallback(hsmbus); #else HAL_SMBUS_ErrorCallback(hsmbus); 80bacfe: 6878 ldr r0, [r7, #4] 80bad00: f7ff fdd3 bl 80ba8aa 80bad04: e124 b.n 80baf50 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_ADDR) != RESET) 80bad06: 683b ldr r3, [r7, #0] 80bad08: f003 0308 and.w r3, r3, #8 80bad0c: 2b00 cmp r3, #0 80bad0e: d022 beq.n 80bad56 { TransferDirection = (uint8_t)(SMBUS_GET_DIR(hsmbus)); 80bad10: 687b ldr r3, [r7, #4] 80bad12: 681b ldr r3, [r3, #0] 80bad14: 699b ldr r3, [r3, #24] 80bad16: 0c1b lsrs r3, r3, #16 80bad18: b2db uxtb r3, r3 80bad1a: f003 0301 and.w r3, r3, #1 80bad1e: 73fb strb r3, [r7, #15] SlaveAddrCode = (uint16_t)(SMBUS_GET_ADDR_MATCH(hsmbus)); 80bad20: 687b ldr r3, [r7, #4] 80bad22: 681b ldr r3, [r3, #0] 80bad24: 699b ldr r3, [r3, #24] 80bad26: 0c5b lsrs r3, r3, #17 80bad28: b29b uxth r3, r3 80bad2a: f003 037f and.w r3, r3, #127 ; 0x7f 80bad2e: 81bb strh r3, [r7, #12] /* Disable ADDR interrupt to prevent multiple ADDRInterrupt*/ /* Other ADDRInterrupt will be treat in next Listen usecase */ __HAL_SMBUS_DISABLE_IT(hsmbus, SMBUS_IT_ADDRI); 80bad30: 687b ldr r3, [r7, #4] 80bad32: 681b ldr r3, [r3, #0] 80bad34: 687a ldr r2, [r7, #4] 80bad36: 6812 ldr r2, [r2, #0] 80bad38: 6812 ldr r2, [r2, #0] 80bad3a: f022 0208 bic.w r2, r2, #8 80bad3e: 601a str r2, [r3, #0] /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bad40: 687b ldr r3, [r7, #4] 80bad42: 2200 movs r2, #0 80bad44: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Call Slave Addr callback */ #if (USE_HAL_SMBUS_REGISTER_CALLBACKS == 1) hsmbus->AddrCallback(hsmbus, TransferDirection, SlaveAddrCode); #else HAL_SMBUS_AddrCallback(hsmbus, TransferDirection, SlaveAddrCode); 80bad48: 89ba ldrh r2, [r7, #12] 80bad4a: 7bfb ldrb r3, [r7, #15] 80bad4c: 4619 mov r1, r3 80bad4e: 6878 ldr r0, [r7, #4] 80bad50: f7ff fd93 bl 80ba87a 80bad54: e0fc b.n 80baf50 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } else if ((SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) || 80bad56: 683b ldr r3, [r7, #0] 80bad58: f003 0304 and.w r3, r3, #4 80bad5c: 2b00 cmp r3, #0 80bad5e: d105 bne.n 80bad6c (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TCR) != RESET)) 80bad60: 683b ldr r3, [r7, #0] 80bad62: f003 0380 and.w r3, r3, #128 ; 0x80 else if ((SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_RXNE) != RESET) || 80bad66: 2b00 cmp r3, #0 80bad68: f000 80b4 beq.w 80baed4 { if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bad6c: 687b ldr r3, [r7, #4] 80bad6e: 6c9b ldr r3, [r3, #72] ; 0x48 80bad70: f003 0342 and.w r3, r3, #66 ; 0x42 80bad74: 2b42 cmp r3, #66 ; 0x42 80bad76: d160 bne.n 80bae3a { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80bad78: 687b ldr r3, [r7, #4] 80bad7a: 6b5b ldr r3, [r3, #52] ; 0x34 80bad7c: 687a ldr r2, [r7, #4] 80bad7e: 6812 ldr r2, [r2, #0] 80bad80: 6a52 ldr r2, [r2, #36] ; 0x24 80bad82: b2d2 uxtb r2, r2 80bad84: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80bad86: 687b ldr r3, [r7, #4] 80bad88: 6b5b ldr r3, [r3, #52] ; 0x34 80bad8a: 1c5a adds r2, r3, #1 80bad8c: 687b ldr r3, [r7, #4] 80bad8e: 635a str r2, [r3, #52] ; 0x34 hsmbus->XferSize--; 80bad90: 687b ldr r3, [r7, #4] 80bad92: 8f1b ldrh r3, [r3, #56] ; 0x38 80bad94: 3b01 subs r3, #1 80bad96: b29a uxth r2, r3 80bad98: 687b ldr r3, [r7, #4] 80bad9a: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bad9c: 687b ldr r3, [r7, #4] 80bad9e: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bada0: b29b uxth r3, r3 80bada2: 3b01 subs r3, #1 80bada4: b29a uxth r2, r3 80bada6: 687b ldr r3, [r7, #4] 80bada8: 875a strh r2, [r3, #58] ; 0x3a if (hsmbus->XferCount == 1U) 80badaa: 687b ldr r3, [r7, #4] 80badac: 8f5b ldrh r3, [r3, #58] ; 0x3a 80badae: b29b uxth r3, r3 80badb0: 2b01 cmp r3, #1 80badb2: d110 bne.n 80badd6 { /* Receive last Byte, can be PEC byte in case of PEC BYTE enabled */ /* or only the last Byte of Transfer */ /* So reset the RELOAD bit mode */ hsmbus->XferOptions &= ~SMBUS_RELOAD_MODE; 80badb4: 687b ldr r3, [r7, #4] 80badb6: 6bdb ldr r3, [r3, #60] ; 0x3c 80badb8: f023 7280 bic.w r2, r3, #16777216 ; 0x1000000 80badbc: 687b ldr r3, [r7, #4] 80badbe: 63da str r2, [r3, #60] ; 0x3c SMBUS_TransferConfig(hsmbus, 0, 1, hsmbus->XferOptions, SMBUS_NO_STARTSTOP); 80badc0: 687b ldr r3, [r7, #4] 80badc2: 6bda ldr r2, [r3, #60] ; 0x3c 80badc4: 2300 movs r3, #0 80badc6: 9300 str r3, [sp, #0] 80badc8: 4613 mov r3, r2 80badca: 2201 movs r2, #1 80badcc: 2100 movs r1, #0 80badce: 6878 ldr r0, [r7, #4] 80badd0: f000 fa80 bl 80bb2d4 if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80badd4: e0bb b.n 80baf4e } else if (hsmbus->XferCount == 0U) 80badd6: 687b ldr r3, [r7, #4] 80badd8: 8f5b ldrh r3, [r3, #58] ; 0x3a 80badda: b29b uxth r3, r3 80baddc: 2b00 cmp r3, #0 80badde: d115 bne.n 80bae0c { /* Last Byte is received, disable Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX); 80bade0: 21d4 movs r1, #212 ; 0xd4 80bade2: 6878 ldr r0, [r7, #4] 80bade4: f000 f920 bl 80bb028 /* Remove HAL_SMBUS_STATE_SLAVE_BUSY_RX, keep only HAL_SMBUS_STATE_LISTEN */ hsmbus->PreviousState = hsmbus->State; 80bade8: 687b ldr r3, [r7, #4] 80badea: 6c9a ldr r2, [r3, #72] ; 0x48 80badec: 687b ldr r3, [r7, #4] 80badee: 641a str r2, [r3, #64] ; 0x40 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_RX); 80badf0: 687b ldr r3, [r7, #4] 80badf2: 6c9b ldr r3, [r3, #72] ; 0x48 80badf4: f023 0242 bic.w r2, r3, #66 ; 0x42 80badf8: 687b ldr r3, [r7, #4] 80badfa: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80badfc: 687b ldr r3, [r7, #4] 80badfe: 2200 movs r2, #0 80bae00: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Call the corresponding callback to inform upper layer of End of Transfer */ #if (USE_HAL_SMBUS_REGISTER_CALLBACKS == 1) hsmbus->SlaveRxCpltCallback(hsmbus); #else HAL_SMBUS_SlaveRxCpltCallback(hsmbus); 80bae04: 6878 ldr r0, [r7, #4] 80bae06: f7ff fd2e bl 80ba866 if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bae0a: e0a0 b.n 80baf4e } else { /* Set Reload for next Bytes */ SMBUS_TransferConfig(hsmbus, 0, 1, SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE), 80bae0c: 687b ldr r3, [r7, #4] 80bae0e: 6bdb ldr r3, [r3, #60] ; 0x3c 80bae10: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, 0, 1, 80bae14: f043 7280 orr.w r2, r3, #16777216 ; 0x1000000 80bae18: 2300 movs r3, #0 80bae1a: 9300 str r3, [sp, #0] 80bae1c: 4613 mov r3, r2 80bae1e: 2201 movs r2, #1 80bae20: 2100 movs r1, #0 80bae22: 6878 ldr r0, [r7, #4] 80bae24: f000 fa56 bl 80bb2d4 SMBUS_NO_STARTSTOP); /* Ack last Byte Read */ hsmbus->Instance->CR2 &= ~I2C_CR2_NACK; 80bae28: 687b ldr r3, [r7, #4] 80bae2a: 681b ldr r3, [r3, #0] 80bae2c: 687a ldr r2, [r7, #4] 80bae2e: 6812 ldr r2, [r2, #0] 80bae30: 6852 ldr r2, [r2, #4] 80bae32: f422 4200 bic.w r2, r2, #32768 ; 0x8000 80bae36: 605a str r2, [r3, #4] if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bae38: e089 b.n 80baf4e } } else if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) 80bae3a: 687b ldr r3, [r7, #4] 80bae3c: 6c9b ldr r3, [r3, #72] ; 0x48 80bae3e: f003 0332 and.w r3, r3, #50 ; 0x32 80bae42: 2b32 cmp r3, #50 ; 0x32 80bae44: f040 8083 bne.w 80baf4e { if ((hsmbus->XferCount != 0U) && (hsmbus->XferSize == 0U)) 80bae48: 687b ldr r3, [r7, #4] 80bae4a: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bae4c: b29b uxth r3, r3 80bae4e: 2b00 cmp r3, #0 80bae50: d07d beq.n 80baf4e 80bae52: 687b ldr r3, [r7, #4] 80bae54: 8f1b ldrh r3, [r3, #56] ; 0x38 80bae56: 2b00 cmp r3, #0 80bae58: d179 bne.n 80baf4e { if (hsmbus->XferCount > MAX_NBYTE_SIZE) 80bae5a: 687b ldr r3, [r7, #4] 80bae5c: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bae5e: b29b uxth r3, r3 80bae60: 2bff cmp r3, #255 ; 0xff 80bae62: d911 bls.n 80bae88 { SMBUS_TransferConfig(hsmbus, 0, MAX_NBYTE_SIZE, (SMBUS_RELOAD_MODE | (hsmbus->XferOptions & SMBUS_SENDPEC_MODE)), 80bae64: 687b ldr r3, [r7, #4] 80bae66: 6bdb ldr r3, [r3, #60] ; 0x3c 80bae68: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 SMBUS_TransferConfig(hsmbus, 0, MAX_NBYTE_SIZE, 80bae6c: f043 7280 orr.w r2, r3, #16777216 ; 0x1000000 80bae70: 2300 movs r3, #0 80bae72: 9300 str r3, [sp, #0] 80bae74: 4613 mov r3, r2 80bae76: 22ff movs r2, #255 ; 0xff 80bae78: 2100 movs r1, #0 80bae7a: 6878 ldr r0, [r7, #4] 80bae7c: f000 fa2a bl 80bb2d4 SMBUS_NO_STARTSTOP); hsmbus->XferSize = MAX_NBYTE_SIZE; 80bae80: 687b ldr r3, [r7, #4] 80bae82: 22ff movs r2, #255 ; 0xff 80bae84: 871a strh r2, [r3, #56] ; 0x38 if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80bae86: e062 b.n 80baf4e } else { hsmbus->XferSize = hsmbus->XferCount; 80bae88: 687b ldr r3, [r7, #4] 80bae8a: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bae8c: b29a uxth r2, r3 80bae8e: 687b ldr r3, [r7, #4] 80bae90: 871a strh r2, [r3, #56] ; 0x38 SMBUS_TransferConfig(hsmbus, 0, (uint8_t)hsmbus->XferSize, hsmbus->XferOptions, 80bae92: 687b ldr r3, [r7, #4] 80bae94: 8f1b ldrh r3, [r3, #56] ; 0x38 80bae96: b2da uxtb r2, r3 80bae98: 687b ldr r3, [r7, #4] 80bae9a: 6bd9 ldr r1, [r3, #60] ; 0x3c 80bae9c: 2300 movs r3, #0 80bae9e: 9300 str r3, [sp, #0] 80baea0: 460b mov r3, r1 80baea2: 2100 movs r1, #0 80baea4: 6878 ldr r0, [r7, #4] 80baea6: f000 fa15 bl 80bb2d4 SMBUS_NO_STARTSTOP); /* If PEC mode is enable, size to transmit should be Size-1 byte, corresponding to PEC byte */ /* PEC byte is automatically sent by HW block, no need to manage it in Transmit process */ if (SMBUS_GET_PEC_MODE(hsmbus) != 0UL) 80baeaa: 687b ldr r3, [r7, #4] 80baeac: 681b ldr r3, [r3, #0] 80baeae: 685b ldr r3, [r3, #4] 80baeb0: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80baeb4: 2b00 cmp r3, #0 80baeb6: d04a beq.n 80baf4e { hsmbus->XferSize--; 80baeb8: 687b ldr r3, [r7, #4] 80baeba: 8f1b ldrh r3, [r3, #56] ; 0x38 80baebc: 3b01 subs r3, #1 80baebe: b29a uxth r2, r3 80baec0: 687b ldr r3, [r7, #4] 80baec2: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80baec4: 687b ldr r3, [r7, #4] 80baec6: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baec8: b29b uxth r3, r3 80baeca: 3b01 subs r3, #1 80baecc: b29a uxth r2, r3 80baece: 687b ldr r3, [r7, #4] 80baed0: 875a strh r2, [r3, #58] ; 0x3a if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80baed2: e03c b.n 80baf4e else { /* Nothing to do */ } } else if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_TXIS) != RESET) 80baed4: 683b ldr r3, [r7, #0] 80baed6: f003 0302 and.w r3, r3, #2 80baeda: 2b00 cmp r3, #0 80baedc: d038 beq.n 80baf50 { /* Write data to TXDR only if XferCount not reach "0" */ /* A TXIS flag can be set, during STOP treatment */ /* Check if all Data have already been sent */ /* If it is the case, this last write in TXDR is not sent, correspond to a dummy TXIS event */ if (hsmbus->XferCount > 0U) 80baede: 687b ldr r3, [r7, #4] 80baee0: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baee2: b29b uxth r3, r3 80baee4: 2b00 cmp r3, #0 80baee6: d017 beq.n 80baf18 { /* Write data to TXDR */ hsmbus->Instance->TXDR = *hsmbus->pBuffPtr; 80baee8: 687b ldr r3, [r7, #4] 80baeea: 681b ldr r3, [r3, #0] 80baeec: 687a ldr r2, [r7, #4] 80baeee: 6b52 ldr r2, [r2, #52] ; 0x34 80baef0: 7812 ldrb r2, [r2, #0] 80baef2: 629a str r2, [r3, #40] ; 0x28 /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80baef4: 687b ldr r3, [r7, #4] 80baef6: 6b5b ldr r3, [r3, #52] ; 0x34 80baef8: 1c5a adds r2, r3, #1 80baefa: 687b ldr r3, [r7, #4] 80baefc: 635a str r2, [r3, #52] ; 0x34 hsmbus->XferCount--; 80baefe: 687b ldr r3, [r7, #4] 80baf00: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baf02: b29b uxth r3, r3 80baf04: 3b01 subs r3, #1 80baf06: b29a uxth r2, r3 80baf08: 687b ldr r3, [r7, #4] 80baf0a: 875a strh r2, [r3, #58] ; 0x3a hsmbus->XferSize--; 80baf0c: 687b ldr r3, [r7, #4] 80baf0e: 8f1b ldrh r3, [r3, #56] ; 0x38 80baf10: 3b01 subs r3, #1 80baf12: b29a uxth r2, r3 80baf14: 687b ldr r3, [r7, #4] 80baf16: 871a strh r2, [r3, #56] ; 0x38 } if (hsmbus->XferCount == 0U) 80baf18: 687b ldr r3, [r7, #4] 80baf1a: 8f5b ldrh r3, [r3, #58] ; 0x3a 80baf1c: b29b uxth r3, r3 80baf1e: 2b00 cmp r3, #0 80baf20: d116 bne.n 80baf50 { /* Last Byte is Transmitted */ /* Remove HAL_SMBUS_STATE_SLAVE_BUSY_TX, keep only HAL_SMBUS_STATE_LISTEN */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_TX); 80baf22: 21f2 movs r1, #242 ; 0xf2 80baf24: 6878 ldr r0, [r7, #4] 80baf26: f000 f87f bl 80bb028 hsmbus->PreviousState = hsmbus->State; 80baf2a: 687b ldr r3, [r7, #4] 80baf2c: 6c9a ldr r2, [r3, #72] ; 0x48 80baf2e: 687b ldr r3, [r7, #4] 80baf30: 641a str r2, [r3, #64] ; 0x40 hsmbus->State &= ~((uint32_t)HAL_SMBUS_STATE_SLAVE_BUSY_TX); 80baf32: 687b ldr r3, [r7, #4] 80baf34: 6c9b ldr r3, [r3, #72] ; 0x48 80baf36: f023 0232 bic.w r2, r3, #50 ; 0x32 80baf3a: 687b ldr r3, [r7, #4] 80baf3c: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80baf3e: 687b ldr r3, [r7, #4] 80baf40: 2200 movs r2, #0 80baf42: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Call the corresponding callback to inform upper layer of End of Transfer */ #if (USE_HAL_SMBUS_REGISTER_CALLBACKS == 1) hsmbus->SlaveTxCpltCallback(hsmbus); #else HAL_SMBUS_SlaveTxCpltCallback(hsmbus); 80baf46: 6878 ldr r0, [r7, #4] 80baf48: f7ff fc83 bl 80ba852 80baf4c: e000 b.n 80baf50 if ((hsmbus->State & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX) 80baf4e: bf00 nop { /* Nothing to do */ } /* Check if STOPF is set */ if (SMBUS_CHECK_FLAG(StatusFlags, SMBUS_FLAG_STOPF) != RESET) 80baf50: 683b ldr r3, [r7, #0] 80baf52: f003 0320 and.w r3, r3, #32 80baf56: 2b00 cmp r3, #0 80baf58: d05a beq.n 80bb010 { if ((hsmbus->State & HAL_SMBUS_STATE_LISTEN) == HAL_SMBUS_STATE_LISTEN) 80baf5a: 687b ldr r3, [r7, #4] 80baf5c: 6c9b ldr r3, [r3, #72] ; 0x48 80baf5e: f003 0308 and.w r3, r3, #8 80baf62: 2b08 cmp r3, #8 80baf64: d154 bne.n 80bb010 { /* Store Last receive data if any */ if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_RXNE) != RESET) 80baf66: 687b ldr r3, [r7, #4] 80baf68: 681b ldr r3, [r3, #0] 80baf6a: 699b ldr r3, [r3, #24] 80baf6c: f003 0304 and.w r3, r3, #4 80baf70: 2b04 cmp r3, #4 80baf72: d11c bne.n 80bafae { /* Read data from RXDR */ *hsmbus->pBuffPtr = (uint8_t)(hsmbus->Instance->RXDR); 80baf74: 687b ldr r3, [r7, #4] 80baf76: 6b5b ldr r3, [r3, #52] ; 0x34 80baf78: 687a ldr r2, [r7, #4] 80baf7a: 6812 ldr r2, [r2, #0] 80baf7c: 6a52 ldr r2, [r2, #36] ; 0x24 80baf7e: b2d2 uxtb r2, r2 80baf80: 701a strb r2, [r3, #0] /* Increment Buffer pointer */ hsmbus->pBuffPtr++; 80baf82: 687b ldr r3, [r7, #4] 80baf84: 6b5b ldr r3, [r3, #52] ; 0x34 80baf86: 1c5a adds r2, r3, #1 80baf88: 687b ldr r3, [r7, #4] 80baf8a: 635a str r2, [r3, #52] ; 0x34 if ((hsmbus->XferSize > 0U)) 80baf8c: 687b ldr r3, [r7, #4] 80baf8e: 8f1b ldrh r3, [r3, #56] ; 0x38 80baf90: 2b00 cmp r3, #0 80baf92: d00c beq.n 80bafae { hsmbus->XferSize--; 80baf94: 687b ldr r3, [r7, #4] 80baf96: 8f1b ldrh r3, [r3, #56] ; 0x38 80baf98: 3b01 subs r3, #1 80baf9a: b29a uxth r2, r3 80baf9c: 687b ldr r3, [r7, #4] 80baf9e: 871a strh r2, [r3, #56] ; 0x38 hsmbus->XferCount--; 80bafa0: 687b ldr r3, [r7, #4] 80bafa2: 8f5b ldrh r3, [r3, #58] ; 0x3a 80bafa4: b29b uxth r3, r3 80bafa6: 3b01 subs r3, #1 80bafa8: b29a uxth r2, r3 80bafaa: 687b ldr r3, [r7, #4] 80bafac: 875a strh r2, [r3, #58] ; 0x3a } } /* Disable RX and TX Interrupts */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_RX | SMBUS_IT_TX); 80bafae: 21f6 movs r1, #246 ; 0xf6 80bafb0: 6878 ldr r0, [r7, #4] 80bafb2: f000 f839 bl 80bb028 /* Disable ADDR Interrupt */ SMBUS_Disable_IRQ(hsmbus, SMBUS_IT_ADDR); 80bafb6: 2138 movs r1, #56 ; 0x38 80bafb8: 6878 ldr r0, [r7, #4] 80bafba: f000 f835 bl 80bb028 /* Disable Address Acknowledge */ hsmbus->Instance->CR2 |= I2C_CR2_NACK; 80bafbe: 687b ldr r3, [r7, #4] 80bafc0: 681b ldr r3, [r3, #0] 80bafc2: 687a ldr r2, [r7, #4] 80bafc4: 6812 ldr r2, [r2, #0] 80bafc6: 6852 ldr r2, [r2, #4] 80bafc8: f442 4200 orr.w r2, r2, #32768 ; 0x8000 80bafcc: 605a str r2, [r3, #4] /* Clear Configuration Register 2 */ SMBUS_RESET_CR2(hsmbus); 80bafce: 687b ldr r3, [r7, #4] 80bafd0: 681a ldr r2, [r3, #0] 80bafd2: 687b ldr r3, [r7, #4] 80bafd4: 681b ldr r3, [r3, #0] 80bafd6: 6859 ldr r1, [r3, #4] 80bafd8: 4b12 ldr r3, [pc, #72] ; (80bb024 ) 80bafda: 400b ands r3, r1 80bafdc: 6053 str r3, [r2, #4] /* Clear STOP Flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_STOPF); 80bafde: 687b ldr r3, [r7, #4] 80bafe0: 681b ldr r3, [r3, #0] 80bafe2: 2220 movs r2, #32 80bafe4: 61da str r2, [r3, #28] /* Clear ADDR flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ADDR); 80bafe6: 687b ldr r3, [r7, #4] 80bafe8: 681b ldr r3, [r3, #0] 80bafea: 2208 movs r2, #8 80bafec: 61da str r2, [r3, #28] hsmbus->XferOptions = 0; 80bafee: 687b ldr r3, [r7, #4] 80baff0: 2200 movs r2, #0 80baff2: 63da str r2, [r3, #60] ; 0x3c hsmbus->PreviousState = hsmbus->State; 80baff4: 687b ldr r3, [r7, #4] 80baff6: 6c9a ldr r2, [r3, #72] ; 0x48 80baff8: 687b ldr r3, [r7, #4] 80baffa: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_READY; 80baffc: 687b ldr r3, [r7, #4] 80baffe: 2201 movs r2, #1 80bb000: 649a str r2, [r3, #72] ; 0x48 /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bb002: 687b ldr r3, [r7, #4] 80bb004: 2200 movs r2, #0 80bb006: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Call the Listen Complete callback, to inform upper layer of the end of Listen usecase */ #if (USE_HAL_SMBUS_REGISTER_CALLBACKS == 1) hsmbus->ListenCpltCallback(hsmbus); #else HAL_SMBUS_ListenCpltCallback(hsmbus); 80bb00a: 6878 ldr r0, [r7, #4] 80bb00c: f7ff fc43 bl 80ba896 #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } } /* Process Unlocked */ __HAL_UNLOCK(hsmbus); 80bb010: 687b ldr r3, [r7, #4] 80bb012: 2200 movs r2, #0 80bb014: f883 2044 strb.w r2, [r3, #68] ; 0x44 return HAL_OK; 80bb018: 2300 movs r3, #0 } 80bb01a: 4618 mov r0, r3 80bb01c: 3710 adds r7, #16 80bb01e: 46bd mov sp, r7 80bb020: bd80 pop {r7, pc} 80bb022: bf00 nop 80bb024: fe00e800 .word 0xfe00e800 080bb028 : * the configuration information for the specified SMBUS. * @param InterruptRequest Value of @ref SMBUS_Interrupt_configuration_definition. * @retval HAL status */ static void SMBUS_Disable_IRQ(SMBUS_HandleTypeDef *hsmbus, uint32_t InterruptRequest) { 80bb028: b480 push {r7} 80bb02a: b085 sub sp, #20 80bb02c: af00 add r7, sp, #0 80bb02e: 6078 str r0, [r7, #4] 80bb030: 6039 str r1, [r7, #0] uint32_t tmpisr = 0UL; 80bb032: 2300 movs r3, #0 80bb034: 60fb str r3, [r7, #12] uint32_t tmpstate = hsmbus->State; 80bb036: 687b ldr r3, [r7, #4] 80bb038: 6c9b ldr r3, [r3, #72] ; 0x48 80bb03a: 60bb str r3, [r7, #8] if ((tmpstate == HAL_SMBUS_STATE_READY) && ((InterruptRequest & SMBUS_IT_ALERT) == SMBUS_IT_ALERT)) 80bb03c: 68bb ldr r3, [r7, #8] 80bb03e: 2b01 cmp r3, #1 80bb040: d108 bne.n 80bb054 80bb042: 683b ldr r3, [r7, #0] 80bb044: f003 0380 and.w r3, r3, #128 ; 0x80 80bb048: 2b00 cmp r3, #0 80bb04a: d003 beq.n 80bb054 { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bb04c: 68fb ldr r3, [r7, #12] 80bb04e: f043 0380 orr.w r3, r3, #128 ; 0x80 80bb052: 60fb str r3, [r7, #12] } if ((InterruptRequest & SMBUS_IT_TX) == SMBUS_IT_TX) 80bb054: 683b ldr r3, [r7, #0] 80bb056: f003 03f2 and.w r3, r3, #242 ; 0xf2 80bb05a: 2bf2 cmp r3, #242 ; 0xf2 80bb05c: d11c bne.n 80bb098 { /* Disable TC, STOP, NACK and TXI interrupt */ tmpisr |= SMBUS_IT_TCI | SMBUS_IT_TXI; 80bb05e: 68fb ldr r3, [r7, #12] 80bb060: f043 0342 orr.w r3, r3, #66 ; 0x42 80bb064: 60fb str r3, [r7, #12] if ((SMBUS_GET_ALERT_ENABLED(hsmbus) == 0UL) 80bb066: 687b ldr r3, [r7, #4] 80bb068: 681b ldr r3, [r3, #0] 80bb06a: 681b ldr r3, [r3, #0] 80bb06c: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bb070: 2b00 cmp r3, #0 80bb072: d108 bne.n 80bb086 && ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN)) 80bb074: 68bb ldr r3, [r7, #8] 80bb076: f003 0308 and.w r3, r3, #8 80bb07a: 2b00 cmp r3, #0 80bb07c: d103 bne.n 80bb086 { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bb07e: 68fb ldr r3, [r7, #12] 80bb080: f043 0380 orr.w r3, r3, #128 ; 0x80 80bb084: 60fb str r3, [r7, #12] } if ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN) 80bb086: 68bb ldr r3, [r7, #8] 80bb088: f003 0308 and.w r3, r3, #8 80bb08c: 2b00 cmp r3, #0 80bb08e: d103 bne.n 80bb098 { /* Disable STOP and NACK interrupt */ tmpisr |= SMBUS_IT_STOPI | SMBUS_IT_NACKI; 80bb090: 68fb ldr r3, [r7, #12] 80bb092: f043 0330 orr.w r3, r3, #48 ; 0x30 80bb096: 60fb str r3, [r7, #12] } } if ((InterruptRequest & SMBUS_IT_RX) == SMBUS_IT_RX) 80bb098: 683b ldr r3, [r7, #0] 80bb09a: f003 03d4 and.w r3, r3, #212 ; 0xd4 80bb09e: 2bd4 cmp r3, #212 ; 0xd4 80bb0a0: d11c bne.n 80bb0dc { /* Disable TC, STOP, NACK and RXI interrupt */ tmpisr |= SMBUS_IT_TCI | SMBUS_IT_RXI; 80bb0a2: 68fb ldr r3, [r7, #12] 80bb0a4: f043 0344 orr.w r3, r3, #68 ; 0x44 80bb0a8: 60fb str r3, [r7, #12] if ((SMBUS_GET_ALERT_ENABLED(hsmbus) == 0UL) 80bb0aa: 687b ldr r3, [r7, #4] 80bb0ac: 681b ldr r3, [r3, #0] 80bb0ae: 681b ldr r3, [r3, #0] 80bb0b0: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bb0b4: 2b00 cmp r3, #0 80bb0b6: d108 bne.n 80bb0ca && ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN)) 80bb0b8: 68bb ldr r3, [r7, #8] 80bb0ba: f003 0308 and.w r3, r3, #8 80bb0be: 2b00 cmp r3, #0 80bb0c0: d103 bne.n 80bb0ca { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bb0c2: 68fb ldr r3, [r7, #12] 80bb0c4: f043 0380 orr.w r3, r3, #128 ; 0x80 80bb0c8: 60fb str r3, [r7, #12] } if ((tmpstate & HAL_SMBUS_STATE_LISTEN) != HAL_SMBUS_STATE_LISTEN) 80bb0ca: 68bb ldr r3, [r7, #8] 80bb0cc: f003 0308 and.w r3, r3, #8 80bb0d0: 2b00 cmp r3, #0 80bb0d2: d103 bne.n 80bb0dc { /* Disable STOP and NACK interrupt */ tmpisr |= SMBUS_IT_STOPI | SMBUS_IT_NACKI; 80bb0d4: 68fb ldr r3, [r7, #12] 80bb0d6: f043 0330 orr.w r3, r3, #48 ; 0x30 80bb0da: 60fb str r3, [r7, #12] } } if ((InterruptRequest & SMBUS_IT_ADDR) == SMBUS_IT_ADDR) 80bb0dc: 683b ldr r3, [r7, #0] 80bb0de: f003 0338 and.w r3, r3, #56 ; 0x38 80bb0e2: 2b38 cmp r3, #56 ; 0x38 80bb0e4: d10e bne.n 80bb104 { /* Disable ADDR, STOP and NACK interrupt */ tmpisr |= SMBUS_IT_ADDRI | SMBUS_IT_STOPI | SMBUS_IT_NACKI; 80bb0e6: 68fb ldr r3, [r7, #12] 80bb0e8: f043 0338 orr.w r3, r3, #56 ; 0x38 80bb0ec: 60fb str r3, [r7, #12] if (SMBUS_GET_ALERT_ENABLED(hsmbus) == 0UL) 80bb0ee: 687b ldr r3, [r7, #4] 80bb0f0: 681b ldr r3, [r3, #0] 80bb0f2: 681b ldr r3, [r3, #0] 80bb0f4: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bb0f8: 2b00 cmp r3, #0 80bb0fa: d103 bne.n 80bb104 { /* Disable ERR interrupt */ tmpisr |= SMBUS_IT_ERRI; 80bb0fc: 68fb ldr r3, [r7, #12] 80bb0fe: f043 0380 orr.w r3, r3, #128 ; 0x80 80bb102: 60fb str r3, [r7, #12] } /* Disable interrupts only at the end */ /* to avoid a breaking situation like at "t" time */ /* all disable interrupts request are not done */ __HAL_SMBUS_DISABLE_IT(hsmbus, tmpisr); 80bb104: 687b ldr r3, [r7, #4] 80bb106: 681b ldr r3, [r3, #0] 80bb108: 687a ldr r2, [r7, #4] 80bb10a: 6812 ldr r2, [r2, #0] 80bb10c: 6811 ldr r1, [r2, #0] 80bb10e: 68fa ldr r2, [r7, #12] 80bb110: 43d2 mvns r2, r2 80bb112: 400a ands r2, r1 80bb114: 601a str r2, [r3, #0] } 80bb116: bf00 nop 80bb118: 3714 adds r7, #20 80bb11a: 46bd mov sp, r7 80bb11c: f85d 7b04 ldr.w r7, [sp], #4 80bb120: 4770 bx lr 080bb122 : * @brief SMBUS interrupts error handler. * @param hsmbus SMBUS handle. * @retval None */ static void SMBUS_ITErrorHandler(SMBUS_HandleTypeDef *hsmbus) { 80bb122: b580 push {r7, lr} 80bb124: b086 sub sp, #24 80bb126: af00 add r7, sp, #0 80bb128: 6078 str r0, [r7, #4] uint32_t itflags = READ_REG(hsmbus->Instance->ISR); 80bb12a: 687b ldr r3, [r7, #4] 80bb12c: 681b ldr r3, [r3, #0] 80bb12e: 699b ldr r3, [r3, #24] 80bb130: 617b str r3, [r7, #20] uint32_t itsources = READ_REG(hsmbus->Instance->CR1); 80bb132: 687b ldr r3, [r7, #4] 80bb134: 681b ldr r3, [r3, #0] 80bb136: 681b ldr r3, [r3, #0] 80bb138: 613b str r3, [r7, #16] uint32_t tmpstate; uint32_t tmperror; /* SMBUS Bus error interrupt occurred ------------------------------------*/ if (((itflags & SMBUS_FLAG_BERR) == SMBUS_FLAG_BERR) && \ 80bb13a: 697b ldr r3, [r7, #20] 80bb13c: f403 7380 and.w r3, r3, #256 ; 0x100 80bb140: 2b00 cmp r3, #0 80bb142: d00f beq.n 80bb164 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bb144: 693b ldr r3, [r7, #16] 80bb146: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_BERR) == SMBUS_FLAG_BERR) && \ 80bb14a: 2b00 cmp r3, #0 80bb14c: d00a beq.n 80bb164 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_BERR; 80bb14e: 687b ldr r3, [r7, #4] 80bb150: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb152: f043 0201 orr.w r2, r3, #1 80bb156: 687b ldr r3, [r7, #4] 80bb158: 64da str r2, [r3, #76] ; 0x4c /* Clear BERR flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_BERR); 80bb15a: 687b ldr r3, [r7, #4] 80bb15c: 681b ldr r3, [r3, #0] 80bb15e: f44f 7280 mov.w r2, #256 ; 0x100 80bb162: 61da str r2, [r3, #28] } /* SMBUS Over-Run/Under-Run interrupt occurred ----------------------------------------*/ if (((itflags & SMBUS_FLAG_OVR) == SMBUS_FLAG_OVR) && \ 80bb164: 697b ldr r3, [r7, #20] 80bb166: f403 6380 and.w r3, r3, #1024 ; 0x400 80bb16a: 2b00 cmp r3, #0 80bb16c: d00f beq.n 80bb18e ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bb16e: 693b ldr r3, [r7, #16] 80bb170: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_OVR) == SMBUS_FLAG_OVR) && \ 80bb174: 2b00 cmp r3, #0 80bb176: d00a beq.n 80bb18e { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_OVR; 80bb178: 687b ldr r3, [r7, #4] 80bb17a: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb17c: f043 0208 orr.w r2, r3, #8 80bb180: 687b ldr r3, [r7, #4] 80bb182: 64da str r2, [r3, #76] ; 0x4c /* Clear OVR flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_OVR); 80bb184: 687b ldr r3, [r7, #4] 80bb186: 681b ldr r3, [r3, #0] 80bb188: f44f 6280 mov.w r2, #1024 ; 0x400 80bb18c: 61da str r2, [r3, #28] } /* SMBUS Arbitration Loss error interrupt occurred ------------------------------------*/ if (((itflags & SMBUS_FLAG_ARLO) == SMBUS_FLAG_ARLO) && \ 80bb18e: 697b ldr r3, [r7, #20] 80bb190: f403 7300 and.w r3, r3, #512 ; 0x200 80bb194: 2b00 cmp r3, #0 80bb196: d00f beq.n 80bb1b8 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bb198: 693b ldr r3, [r7, #16] 80bb19a: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_ARLO) == SMBUS_FLAG_ARLO) && \ 80bb19e: 2b00 cmp r3, #0 80bb1a0: d00a beq.n 80bb1b8 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ARLO; 80bb1a2: 687b ldr r3, [r7, #4] 80bb1a4: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb1a6: f043 0202 orr.w r2, r3, #2 80bb1aa: 687b ldr r3, [r7, #4] 80bb1ac: 64da str r2, [r3, #76] ; 0x4c /* Clear ARLO flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ARLO); 80bb1ae: 687b ldr r3, [r7, #4] 80bb1b0: 681b ldr r3, [r3, #0] 80bb1b2: f44f 7200 mov.w r2, #512 ; 0x200 80bb1b6: 61da str r2, [r3, #28] } /* SMBUS Timeout error interrupt occurred ---------------------------------------------*/ if (((itflags & SMBUS_FLAG_TIMEOUT) == SMBUS_FLAG_TIMEOUT) && \ 80bb1b8: 697b ldr r3, [r7, #20] 80bb1ba: f403 5380 and.w r3, r3, #4096 ; 0x1000 80bb1be: 2b00 cmp r3, #0 80bb1c0: d00f beq.n 80bb1e2 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bb1c2: 693b ldr r3, [r7, #16] 80bb1c4: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_TIMEOUT) == SMBUS_FLAG_TIMEOUT) && \ 80bb1c8: 2b00 cmp r3, #0 80bb1ca: d00a beq.n 80bb1e2 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_BUSTIMEOUT; 80bb1cc: 687b ldr r3, [r7, #4] 80bb1ce: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb1d0: f043 0220 orr.w r2, r3, #32 80bb1d4: 687b ldr r3, [r7, #4] 80bb1d6: 64da str r2, [r3, #76] ; 0x4c /* Clear TIMEOUT flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_TIMEOUT); 80bb1d8: 687b ldr r3, [r7, #4] 80bb1da: 681b ldr r3, [r3, #0] 80bb1dc: f44f 5280 mov.w r2, #4096 ; 0x1000 80bb1e0: 61da str r2, [r3, #28] } /* SMBUS Alert error interrupt occurred -----------------------------------------------*/ if (((itflags & SMBUS_FLAG_ALERT) == SMBUS_FLAG_ALERT) && \ 80bb1e2: 697b ldr r3, [r7, #20] 80bb1e4: f403 5300 and.w r3, r3, #8192 ; 0x2000 80bb1e8: 2b00 cmp r3, #0 80bb1ea: d00f beq.n 80bb20c ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bb1ec: 693b ldr r3, [r7, #16] 80bb1ee: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_ALERT) == SMBUS_FLAG_ALERT) && \ 80bb1f2: 2b00 cmp r3, #0 80bb1f4: d00a beq.n 80bb20c { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_ALERT; 80bb1f6: 687b ldr r3, [r7, #4] 80bb1f8: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb1fa: f043 0240 orr.w r2, r3, #64 ; 0x40 80bb1fe: 687b ldr r3, [r7, #4] 80bb200: 64da str r2, [r3, #76] ; 0x4c /* Clear ALERT flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_ALERT); 80bb202: 687b ldr r3, [r7, #4] 80bb204: 681b ldr r3, [r3, #0] 80bb206: f44f 5200 mov.w r2, #8192 ; 0x2000 80bb20a: 61da str r2, [r3, #28] } /* SMBUS Packet Error Check error interrupt occurred ----------------------------------*/ if (((itflags & SMBUS_FLAG_PECERR) == SMBUS_FLAG_PECERR) && \ 80bb20c: 697b ldr r3, [r7, #20] 80bb20e: f403 6300 and.w r3, r3, #2048 ; 0x800 80bb212: 2b00 cmp r3, #0 80bb214: d00f beq.n 80bb236 ((itsources & SMBUS_IT_ERRI) == SMBUS_IT_ERRI)) 80bb216: 693b ldr r3, [r7, #16] 80bb218: f003 0380 and.w r3, r3, #128 ; 0x80 if (((itflags & SMBUS_FLAG_PECERR) == SMBUS_FLAG_PECERR) && \ 80bb21c: 2b00 cmp r3, #0 80bb21e: d00a beq.n 80bb236 { hsmbus->ErrorCode |= HAL_SMBUS_ERROR_PECERR; 80bb220: 687b ldr r3, [r7, #4] 80bb222: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb224: f043 0280 orr.w r2, r3, #128 ; 0x80 80bb228: 687b ldr r3, [r7, #4] 80bb22a: 64da str r2, [r3, #76] ; 0x4c /* Clear PEC error flag */ __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_PECERR); 80bb22c: 687b ldr r3, [r7, #4] 80bb22e: 681b ldr r3, [r3, #0] 80bb230: f44f 6200 mov.w r2, #2048 ; 0x800 80bb234: 61da str r2, [r3, #28] } /* Flush TX register */ SMBUS_Flush_TXDR(hsmbus); 80bb236: 6878 ldr r0, [r7, #4] 80bb238: f000 f828 bl 80bb28c /* Store current volatile hsmbus->ErrorCode, misra rule */ tmperror = hsmbus->ErrorCode; 80bb23c: 687b ldr r3, [r7, #4] 80bb23e: 6cdb ldr r3, [r3, #76] ; 0x4c 80bb240: 60fb str r3, [r7, #12] /* Call the Error Callback in case of Error detected */ if ((tmperror != HAL_SMBUS_ERROR_NONE) && (tmperror != HAL_SMBUS_ERROR_ACKF)) 80bb242: 68fb ldr r3, [r7, #12] 80bb244: 2b00 cmp r3, #0 80bb246: d01d beq.n 80bb284 80bb248: 68fb ldr r3, [r7, #12] 80bb24a: 2b04 cmp r3, #4 80bb24c: d01a beq.n 80bb284 { /* Do not Reset the HAL state in case of ALERT error */ if ((tmperror & HAL_SMBUS_ERROR_ALERT) != HAL_SMBUS_ERROR_ALERT) 80bb24e: 68fb ldr r3, [r7, #12] 80bb250: f003 0340 and.w r3, r3, #64 ; 0x40 80bb254: 2b00 cmp r3, #0 80bb256: d112 bne.n 80bb27e { /* Store current volatile hsmbus->State, misra rule */ tmpstate = hsmbus->State; 80bb258: 687b ldr r3, [r7, #4] 80bb25a: 6c9b ldr r3, [r3, #72] ; 0x48 80bb25c: 60bb str r3, [r7, #8] if (((tmpstate & HAL_SMBUS_STATE_SLAVE_BUSY_TX) == HAL_SMBUS_STATE_SLAVE_BUSY_TX) 80bb25e: 68bb ldr r3, [r7, #8] 80bb260: f003 0332 and.w r3, r3, #50 ; 0x32 80bb264: 2b32 cmp r3, #50 ; 0x32 80bb266: d004 beq.n 80bb272 || ((tmpstate & HAL_SMBUS_STATE_SLAVE_BUSY_RX) == HAL_SMBUS_STATE_SLAVE_BUSY_RX)) 80bb268: 68bb ldr r3, [r7, #8] 80bb26a: f003 0342 and.w r3, r3, #66 ; 0x42 80bb26e: 2b42 cmp r3, #66 ; 0x42 80bb270: d105 bne.n 80bb27e { /* Reset only HAL_SMBUS_STATE_SLAVE_BUSY_XX */ /* keep HAL_SMBUS_STATE_LISTEN if set */ hsmbus->PreviousState = HAL_SMBUS_STATE_READY; 80bb272: 687b ldr r3, [r7, #4] 80bb274: 2201 movs r2, #1 80bb276: 641a str r2, [r3, #64] ; 0x40 hsmbus->State = HAL_SMBUS_STATE_LISTEN; 80bb278: 687b ldr r3, [r7, #4] 80bb27a: 2208 movs r2, #8 80bb27c: 649a str r2, [r3, #72] ; 0x48 /* Call the Error callback to inform upper layer */ #if (USE_HAL_SMBUS_REGISTER_CALLBACKS == 1) hsmbus->ErrorCallback(hsmbus); #else HAL_SMBUS_ErrorCallback(hsmbus); 80bb27e: 6878 ldr r0, [r7, #4] 80bb280: f7ff fb13 bl 80ba8aa #endif /* USE_HAL_SMBUS_REGISTER_CALLBACKS */ } } 80bb284: bf00 nop 80bb286: 3718 adds r7, #24 80bb288: 46bd mov sp, r7 80bb28a: bd80 pop {r7, pc} 080bb28c : * @brief SMBUS Tx data register flush process. * @param hsmbus SMBUS handle. * @retval None */ static void SMBUS_Flush_TXDR(SMBUS_HandleTypeDef *hsmbus) { 80bb28c: b480 push {r7} 80bb28e: b083 sub sp, #12 80bb290: af00 add r7, sp, #0 80bb292: 6078 str r0, [r7, #4] /* If a pending TXIS flag is set */ /* Write a dummy data in TXDR to clear it */ if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_TXIS) != RESET) 80bb294: 687b ldr r3, [r7, #4] 80bb296: 681b ldr r3, [r3, #0] 80bb298: 699b ldr r3, [r3, #24] 80bb29a: f003 0302 and.w r3, r3, #2 80bb29e: 2b02 cmp r3, #2 80bb2a0: d103 bne.n 80bb2aa { hsmbus->Instance->TXDR = 0x00U; 80bb2a2: 687b ldr r3, [r7, #4] 80bb2a4: 681b ldr r3, [r3, #0] 80bb2a6: 2200 movs r2, #0 80bb2a8: 629a str r2, [r3, #40] ; 0x28 } /* Flush TX register if not empty */ if (__HAL_SMBUS_GET_FLAG(hsmbus, SMBUS_FLAG_TXE) == RESET) 80bb2aa: 687b ldr r3, [r7, #4] 80bb2ac: 681b ldr r3, [r3, #0] 80bb2ae: 699b ldr r3, [r3, #24] 80bb2b0: f003 0301 and.w r3, r3, #1 80bb2b4: 2b01 cmp r3, #1 80bb2b6: d007 beq.n 80bb2c8 { __HAL_SMBUS_CLEAR_FLAG(hsmbus, SMBUS_FLAG_TXE); 80bb2b8: 687b ldr r3, [r7, #4] 80bb2ba: 681b ldr r3, [r3, #0] 80bb2bc: 687a ldr r2, [r7, #4] 80bb2be: 6812 ldr r2, [r2, #0] 80bb2c0: 6992 ldr r2, [r2, #24] 80bb2c2: f042 0201 orr.w r2, r2, #1 80bb2c6: 619a str r2, [r3, #24] } } 80bb2c8: bf00 nop 80bb2ca: 370c adds r7, #12 80bb2cc: 46bd mov sp, r7 80bb2ce: f85d 7b04 ldr.w r7, [sp], #4 80bb2d2: 4770 bx lr 080bb2d4 : * @arg @ref SMBUS_GENERATE_START_WRITE Generate Restart for write request. * @retval None */ static void SMBUS_TransferConfig(SMBUS_HandleTypeDef *hsmbus, uint16_t DevAddress, uint8_t Size, uint32_t Mode, uint32_t Request) { 80bb2d4: b480 push {r7} 80bb2d6: b085 sub sp, #20 80bb2d8: af00 add r7, sp, #0 80bb2da: 60f8 str r0, [r7, #12] 80bb2dc: 607b str r3, [r7, #4] 80bb2de: 460b mov r3, r1 80bb2e0: 817b strh r3, [r7, #10] 80bb2e2: 4613 mov r3, r2 80bb2e4: 727b strb r3, [r7, #9] assert_param(IS_SMBUS_ALL_INSTANCE(hsmbus->Instance)); assert_param(IS_SMBUS_TRANSFER_MODE(Mode)); assert_param(IS_SMBUS_TRANSFER_REQUEST(Request)); /* update CR2 register */ MODIFY_REG(hsmbus->Instance->CR2, 80bb2e6: 68fb ldr r3, [r7, #12] 80bb2e8: 681a ldr r2, [r3, #0] 80bb2ea: 68fb ldr r3, [r7, #12] 80bb2ec: 681b ldr r3, [r3, #0] 80bb2ee: 6859 ldr r1, [r3, #4] 80bb2f0: 69bb ldr r3, [r7, #24] 80bb2f2: 0d5b lsrs r3, r3, #21 80bb2f4: f403 6080 and.w r0, r3, #1024 ; 0x400 80bb2f8: 4b0b ldr r3, [pc, #44] ; (80bb328 ) 80bb2fa: 4303 orrs r3, r0 80bb2fc: 43db mvns r3, r3 80bb2fe: 4019 ands r1, r3 80bb300: 897b ldrh r3, [r7, #10] 80bb302: f3c3 0009 ubfx r0, r3, #0, #10 80bb306: 7a7b ldrb r3, [r7, #9] 80bb308: 041b lsls r3, r3, #16 80bb30a: f403 037f and.w r3, r3, #16711680 ; 0xff0000 80bb30e: 4318 orrs r0, r3 80bb310: 687b ldr r3, [r7, #4] 80bb312: 4318 orrs r0, r3 80bb314: 69bb ldr r3, [r7, #24] 80bb316: 4303 orrs r3, r0 80bb318: 430b orrs r3, r1 80bb31a: 6053 str r3, [r2, #4] (I2C_CR2_RD_WRN & (uint32_t)(Request >> (31UL - I2C_CR2_RD_WRN_Pos))) | \ I2C_CR2_START | I2C_CR2_STOP | I2C_CR2_PECBYTE)), \ (uint32_t)(((uint32_t)DevAddress & I2C_CR2_SADD) | \ (((uint32_t)Size << I2C_CR2_NBYTES_Pos) & I2C_CR2_NBYTES) | \ (uint32_t)Mode | (uint32_t)Request)); } 80bb31c: bf00 nop 80bb31e: 3714 adds r7, #20 80bb320: 46bd mov sp, r7 80bb322: f85d 7b04 ldr.w r7, [sp], #4 80bb326: 4770 bx lr 80bb328: 07ff63ff .word 0x07ff63ff 080bb32c : * @param hspi pointer to a SPI_HandleTypeDef structure that contains * the configuration information for SPI module. * @retval HAL status */ HAL_StatusTypeDef HAL_SPI_Init(SPI_HandleTypeDef *hspi) { 80bb32c: b580 push {r7, lr} 80bb32e: b084 sub sp, #16 80bb330: af00 add r7, sp, #0 80bb332: 6078 str r0, [r7, #4] uint32_t frxth; /* Check the SPI handle allocation */ if (hspi == NULL) 80bb334: 687b ldr r3, [r7, #4] 80bb336: 2b00 cmp r3, #0 80bb338: d101 bne.n 80bb33e { return HAL_ERROR; 80bb33a: 2301 movs r3, #1 80bb33c: e09b b.n 80bb476 assert_param(IS_SPI_NSS(hspi->Init.NSS)); assert_param(IS_SPI_NSSP(hspi->Init.NSSPMode)); assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); assert_param(IS_SPI_FIRST_BIT(hspi->Init.FirstBit)); assert_param(IS_SPI_TIMODE(hspi->Init.TIMode)); if (hspi->Init.TIMode == SPI_TIMODE_DISABLE) 80bb33e: 687b ldr r3, [r7, #4] 80bb340: 6a5b ldr r3, [r3, #36] ; 0x24 80bb342: 2b00 cmp r3, #0 80bb344: d108 bne.n 80bb358 { assert_param(IS_SPI_CPOL(hspi->Init.CLKPolarity)); assert_param(IS_SPI_CPHA(hspi->Init.CLKPhase)); if (hspi->Init.Mode == SPI_MODE_MASTER) 80bb346: 687b ldr r3, [r7, #4] 80bb348: 685b ldr r3, [r3, #4] 80bb34a: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bb34e: d009 beq.n 80bb364 assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); } else { /* Baudrate prescaler not use in Motoraola Slave mode. force to default value */ hspi->Init.BaudRatePrescaler = SPI_BAUDRATEPRESCALER_2; 80bb350: 687b ldr r3, [r7, #4] 80bb352: 2200 movs r2, #0 80bb354: 61da str r2, [r3, #28] 80bb356: e005 b.n 80bb364 else { assert_param(IS_SPI_BAUDRATE_PRESCALER(hspi->Init.BaudRatePrescaler)); /* Force polarity and phase to TI protocaol requirements */ hspi->Init.CLKPolarity = SPI_POLARITY_LOW; 80bb358: 687b ldr r3, [r7, #4] 80bb35a: 2200 movs r2, #0 80bb35c: 611a str r2, [r3, #16] hspi->Init.CLKPhase = SPI_PHASE_1EDGE; 80bb35e: 687b ldr r3, [r7, #4] 80bb360: 2200 movs r2, #0 80bb362: 615a str r2, [r3, #20] { assert_param(IS_SPI_CRC_POLYNOMIAL(hspi->Init.CRCPolynomial)); assert_param(IS_SPI_CRC_LENGTH(hspi->Init.CRCLength)); } #else hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; 80bb364: 687b ldr r3, [r7, #4] 80bb366: 2200 movs r2, #0 80bb368: 629a str r2, [r3, #40] ; 0x28 #endif /* USE_SPI_CRC */ if (hspi->State == HAL_SPI_STATE_RESET) 80bb36a: 687b ldr r3, [r7, #4] 80bb36c: f893 305d ldrb.w r3, [r3, #93] ; 0x5d 80bb370: b2db uxtb r3, r3 80bb372: 2b00 cmp r3, #0 80bb374: d106 bne.n 80bb384 { /* Allocate lock resource and initialize it */ hspi->Lock = HAL_UNLOCKED; 80bb376: 687b ldr r3, [r7, #4] 80bb378: 2200 movs r2, #0 80bb37a: f883 205c strb.w r2, [r3, #92] ; 0x5c /* Init the low level hardware : GPIO, CLOCK, NVIC... */ hspi->MspInitCallback(hspi); #else /* Init the low level hardware : GPIO, CLOCK, NVIC... */ HAL_SPI_MspInit(hspi); 80bb37e: 6878 ldr r0, [r7, #4] 80bb380: f7f2 ff24 bl 80ae1cc #endif /* USE_HAL_SPI_REGISTER_CALLBACKS */ } hspi->State = HAL_SPI_STATE_BUSY; 80bb384: 687b ldr r3, [r7, #4] 80bb386: 2202 movs r2, #2 80bb388: f883 205d strb.w r2, [r3, #93] ; 0x5d /* Disable the selected SPI peripheral */ __HAL_SPI_DISABLE(hspi); 80bb38c: 687b ldr r3, [r7, #4] 80bb38e: 681b ldr r3, [r3, #0] 80bb390: 687a ldr r2, [r7, #4] 80bb392: 6812 ldr r2, [r2, #0] 80bb394: 6812 ldr r2, [r2, #0] 80bb396: f022 0240 bic.w r2, r2, #64 ; 0x40 80bb39a: 601a str r2, [r3, #0] /* Align by default the rs fifo threshold on the data size */ if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) 80bb39c: 687b ldr r3, [r7, #4] 80bb39e: 68db ldr r3, [r3, #12] 80bb3a0: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80bb3a4: d902 bls.n 80bb3ac { frxth = SPI_RXFIFO_THRESHOLD_HF; 80bb3a6: 2300 movs r3, #0 80bb3a8: 60fb str r3, [r7, #12] 80bb3aa: e002 b.n 80bb3b2 } else { frxth = SPI_RXFIFO_THRESHOLD_QF; 80bb3ac: f44f 5380 mov.w r3, #4096 ; 0x1000 80bb3b0: 60fb str r3, [r7, #12] } /* CRC calculation is valid only for 16Bit and 8 Bit */ if ((hspi->Init.DataSize != SPI_DATASIZE_16BIT) && (hspi->Init.DataSize != SPI_DATASIZE_8BIT)) 80bb3b2: 687b ldr r3, [r7, #4] 80bb3b4: 68db ldr r3, [r3, #12] 80bb3b6: f5b3 6f70 cmp.w r3, #3840 ; 0xf00 80bb3ba: d007 beq.n 80bb3cc 80bb3bc: 687b ldr r3, [r7, #4] 80bb3be: 68db ldr r3, [r3, #12] 80bb3c0: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80bb3c4: d002 beq.n 80bb3cc { /* CRC must be disabled */ hspi->Init.CRCCalculation = SPI_CRCCALCULATION_DISABLE; 80bb3c6: 687b ldr r3, [r7, #4] 80bb3c8: 2200 movs r2, #0 80bb3ca: 629a str r2, [r3, #40] ; 0x28 } /*----------------------- SPIx CR1 & CR2 Configuration ---------------------*/ /* Configure : SPI Mode, Communication Mode, Clock polarity and phase, NSS management, Communication speed, First bit and CRC calculation state */ WRITE_REG(hspi->Instance->CR1, ((hspi->Init.Mode & (SPI_CR1_MSTR | SPI_CR1_SSI)) | 80bb3cc: 687b ldr r3, [r7, #4] 80bb3ce: 681b ldr r3, [r3, #0] 80bb3d0: 687a ldr r2, [r7, #4] 80bb3d2: 6852 ldr r2, [r2, #4] 80bb3d4: f402 7182 and.w r1, r2, #260 ; 0x104 80bb3d8: 687a ldr r2, [r7, #4] 80bb3da: 6892 ldr r2, [r2, #8] 80bb3dc: f402 4204 and.w r2, r2, #33792 ; 0x8400 80bb3e0: 4311 orrs r1, r2 80bb3e2: 687a ldr r2, [r7, #4] 80bb3e4: 6912 ldr r2, [r2, #16] 80bb3e6: f002 0202 and.w r2, r2, #2 80bb3ea: 4311 orrs r1, r2 80bb3ec: 687a ldr r2, [r7, #4] 80bb3ee: 6952 ldr r2, [r2, #20] 80bb3f0: f002 0201 and.w r2, r2, #1 80bb3f4: 4311 orrs r1, r2 80bb3f6: 687a ldr r2, [r7, #4] 80bb3f8: 6992 ldr r2, [r2, #24] 80bb3fa: f402 7200 and.w r2, r2, #512 ; 0x200 80bb3fe: 4311 orrs r1, r2 80bb400: 687a ldr r2, [r7, #4] 80bb402: 69d2 ldr r2, [r2, #28] 80bb404: f002 0238 and.w r2, r2, #56 ; 0x38 80bb408: 4311 orrs r1, r2 80bb40a: 687a ldr r2, [r7, #4] 80bb40c: 6a12 ldr r2, [r2, #32] 80bb40e: f002 0280 and.w r2, r2, #128 ; 0x80 80bb412: 4311 orrs r1, r2 80bb414: 687a ldr r2, [r7, #4] 80bb416: 6a92 ldr r2, [r2, #40] ; 0x28 80bb418: f402 5200 and.w r2, r2, #8192 ; 0x2000 80bb41c: 430a orrs r2, r1 80bb41e: 601a str r2, [r3, #0] } } #endif /* USE_SPI_CRC */ /* Configure : NSS management, TI Mode, NSS Pulse, Data size and Rx Fifo threshold */ WRITE_REG(hspi->Instance->CR2, (((hspi->Init.NSS >> 16U) & SPI_CR2_SSOE) | 80bb420: 687b ldr r3, [r7, #4] 80bb422: 681b ldr r3, [r3, #0] 80bb424: 687a ldr r2, [r7, #4] 80bb426: 6992 ldr r2, [r2, #24] 80bb428: 0c12 lsrs r2, r2, #16 80bb42a: f002 0104 and.w r1, r2, #4 80bb42e: 687a ldr r2, [r7, #4] 80bb430: 6a52 ldr r2, [r2, #36] ; 0x24 80bb432: f002 0210 and.w r2, r2, #16 80bb436: 4311 orrs r1, r2 80bb438: 687a ldr r2, [r7, #4] 80bb43a: 6b52 ldr r2, [r2, #52] ; 0x34 80bb43c: f002 0208 and.w r2, r2, #8 80bb440: 4311 orrs r1, r2 80bb442: 687a ldr r2, [r7, #4] 80bb444: 68d2 ldr r2, [r2, #12] 80bb446: f402 6270 and.w r2, r2, #3840 ; 0xf00 80bb44a: 4311 orrs r1, r2 80bb44c: 68fa ldr r2, [r7, #12] 80bb44e: f402 5280 and.w r2, r2, #4096 ; 0x1000 80bb452: 430a orrs r2, r1 80bb454: 605a str r2, [r3, #4] } #endif /* USE_SPI_CRC */ #if defined(SPI_I2SCFGR_I2SMOD) /* Activate the SPI mode (Make sure that I2SMOD bit in I2SCFGR register is reset) */ CLEAR_BIT(hspi->Instance->I2SCFGR, SPI_I2SCFGR_I2SMOD); 80bb456: 687b ldr r3, [r7, #4] 80bb458: 681b ldr r3, [r3, #0] 80bb45a: 687a ldr r2, [r7, #4] 80bb45c: 6812 ldr r2, [r2, #0] 80bb45e: 69d2 ldr r2, [r2, #28] 80bb460: f422 6200 bic.w r2, r2, #2048 ; 0x800 80bb464: 61da str r2, [r3, #28] #endif /* SPI_I2SCFGR_I2SMOD */ hspi->ErrorCode = HAL_SPI_ERROR_NONE; 80bb466: 687b ldr r3, [r7, #4] 80bb468: 2200 movs r2, #0 80bb46a: 661a str r2, [r3, #96] ; 0x60 hspi->State = HAL_SPI_STATE_READY; 80bb46c: 687b ldr r3, [r7, #4] 80bb46e: 2201 movs r2, #1 80bb470: f883 205d strb.w r2, [r3, #93] ; 0x5d return HAL_OK; 80bb474: 2300 movs r3, #0 } 80bb476: 4618 mov r0, r3 80bb478: 3710 adds r7, #16 80bb47a: 46bd mov sp, r7 80bb47c: bd80 pop {r7, pc} 080bb47e : * @param Timeout Timeout duration * @retval HAL status */ HAL_StatusTypeDef HAL_SPI_TransmitReceive(SPI_HandleTypeDef *hspi, uint8_t *pTxData, uint8_t *pRxData, uint16_t Size, uint32_t Timeout) { 80bb47e: b580 push {r7, lr} 80bb480: b08a sub sp, #40 ; 0x28 80bb482: af00 add r7, sp, #0 80bb484: 60f8 str r0, [r7, #12] 80bb486: 60b9 str r1, [r7, #8] 80bb488: 607a str r2, [r7, #4] 80bb48a: 807b strh r3, [r7, #2] __IO uint8_t *ptmpreg8; __IO uint8_t tmpreg8 = 0; #endif /* USE_SPI_CRC */ /* Variable used to alternate Rx and Tx during transfer */ uint32_t txallowed = 1U; 80bb48c: 2301 movs r3, #1 80bb48e: 627b str r3, [r7, #36] ; 0x24 HAL_StatusTypeDef errorcode = HAL_OK; 80bb490: 2300 movs r3, #0 80bb492: f887 3023 strb.w r3, [r7, #35] ; 0x23 /* Check Direction parameter */ assert_param(IS_SPI_DIRECTION_2LINES(hspi->Init.Direction)); /* Process Locked */ __HAL_LOCK(hspi); 80bb496: 68fb ldr r3, [r7, #12] 80bb498: f893 305c ldrb.w r3, [r3, #92] ; 0x5c 80bb49c: 2b01 cmp r3, #1 80bb49e: d101 bne.n 80bb4a4 80bb4a0: 2302 movs r3, #2 80bb4a2: e1f8 b.n 80bb896 80bb4a4: 68fb ldr r3, [r7, #12] 80bb4a6: 2201 movs r2, #1 80bb4a8: f883 205c strb.w r2, [r3, #92] ; 0x5c /* Init tickstart for timeout management*/ tickstart = HAL_GetTick(); 80bb4ac: f7f7 fee0 bl 80b3270 80bb4b0: 61f8 str r0, [r7, #28] /* Init temporary variables */ tmp_state = hspi->State; 80bb4b2: 68fb ldr r3, [r7, #12] 80bb4b4: f893 305d ldrb.w r3, [r3, #93] ; 0x5d 80bb4b8: 76fb strb r3, [r7, #27] tmp_mode = hspi->Init.Mode; 80bb4ba: 68fb ldr r3, [r7, #12] 80bb4bc: 685b ldr r3, [r3, #4] 80bb4be: 617b str r3, [r7, #20] initial_TxXferCount = Size; 80bb4c0: 887b ldrh r3, [r7, #2] 80bb4c2: 827b strh r3, [r7, #18] initial_RxXferCount = Size; 80bb4c4: 887b ldrh r3, [r7, #2] 80bb4c6: 823b strh r3, [r7, #16] #if (USE_SPI_CRC != 0U) spi_cr1 = READ_REG(hspi->Instance->CR1); spi_cr2 = READ_REG(hspi->Instance->CR2); #endif /* USE_SPI_CRC */ if (!((tmp_state == HAL_SPI_STATE_READY) || \ 80bb4c8: 7efb ldrb r3, [r7, #27] 80bb4ca: 2b01 cmp r3, #1 80bb4cc: d00e beq.n 80bb4ec 80bb4ce: 697b ldr r3, [r7, #20] 80bb4d0: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bb4d4: d106 bne.n 80bb4e4 ((tmp_mode == SPI_MODE_MASTER) && (hspi->Init.Direction == SPI_DIRECTION_2LINES) && (tmp_state == HAL_SPI_STATE_BUSY_RX)))) 80bb4d6: 68fb ldr r3, [r7, #12] 80bb4d8: 689b ldr r3, [r3, #8] 80bb4da: 2b00 cmp r3, #0 80bb4dc: d102 bne.n 80bb4e4 80bb4de: 7efb ldrb r3, [r7, #27] 80bb4e0: 2b04 cmp r3, #4 80bb4e2: d003 beq.n 80bb4ec { errorcode = HAL_BUSY; 80bb4e4: 2302 movs r3, #2 80bb4e6: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80bb4ea: e1ca b.n 80bb882 } if ((pTxData == NULL) || (pRxData == NULL) || (Size == 0U)) 80bb4ec: 68bb ldr r3, [r7, #8] 80bb4ee: 2b00 cmp r3, #0 80bb4f0: d005 beq.n 80bb4fe 80bb4f2: 687b ldr r3, [r7, #4] 80bb4f4: 2b00 cmp r3, #0 80bb4f6: d002 beq.n 80bb4fe 80bb4f8: 887b ldrh r3, [r7, #2] 80bb4fa: 2b00 cmp r3, #0 80bb4fc: d103 bne.n 80bb506 { errorcode = HAL_ERROR; 80bb4fe: 2301 movs r3, #1 80bb500: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80bb504: e1bd b.n 80bb882 } /* Don't overwrite in case of HAL_SPI_STATE_BUSY_RX */ if (hspi->State != HAL_SPI_STATE_BUSY_RX) 80bb506: 68fb ldr r3, [r7, #12] 80bb508: f893 305d ldrb.w r3, [r3, #93] ; 0x5d 80bb50c: b2db uxtb r3, r3 80bb50e: 2b04 cmp r3, #4 80bb510: d003 beq.n 80bb51a { hspi->State = HAL_SPI_STATE_BUSY_TX_RX; 80bb512: 68fb ldr r3, [r7, #12] 80bb514: 2205 movs r2, #5 80bb516: f883 205d strb.w r2, [r3, #93] ; 0x5d } /* Set the transaction information */ hspi->ErrorCode = HAL_SPI_ERROR_NONE; 80bb51a: 68fb ldr r3, [r7, #12] 80bb51c: 2200 movs r2, #0 80bb51e: 661a str r2, [r3, #96] ; 0x60 hspi->pRxBuffPtr = (uint8_t *)pRxData; 80bb520: 68fb ldr r3, [r7, #12] 80bb522: 687a ldr r2, [r7, #4] 80bb524: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount = Size; 80bb526: 68fb ldr r3, [r7, #12] 80bb528: 887a ldrh r2, [r7, #2] 80bb52a: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 hspi->RxXferSize = Size; 80bb52e: 68fb ldr r3, [r7, #12] 80bb530: 887a ldrh r2, [r7, #2] 80bb532: f8a3 2044 strh.w r2, [r3, #68] ; 0x44 hspi->pTxBuffPtr = (uint8_t *)pTxData; 80bb536: 68fb ldr r3, [r7, #12] 80bb538: 68ba ldr r2, [r7, #8] 80bb53a: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount = Size; 80bb53c: 68fb ldr r3, [r7, #12] 80bb53e: 887a ldrh r2, [r7, #2] 80bb540: 87da strh r2, [r3, #62] ; 0x3e hspi->TxXferSize = Size; 80bb542: 68fb ldr r3, [r7, #12] 80bb544: 887a ldrh r2, [r7, #2] 80bb546: 879a strh r2, [r3, #60] ; 0x3c /*Init field not used in handle to zero */ hspi->RxISR = NULL; 80bb548: 68fb ldr r3, [r7, #12] 80bb54a: 2200 movs r2, #0 80bb54c: 64da str r2, [r3, #76] ; 0x4c hspi->TxISR = NULL; 80bb54e: 68fb ldr r3, [r7, #12] 80bb550: 2200 movs r2, #0 80bb552: 651a str r2, [r3, #80] ; 0x50 SPI_RESET_CRC(hspi); } #endif /* USE_SPI_CRC */ /* Set the Rx Fifo threshold */ if ((hspi->Init.DataSize > SPI_DATASIZE_8BIT) || (initial_RxXferCount > 1U)) 80bb554: 68fb ldr r3, [r7, #12] 80bb556: 68db ldr r3, [r3, #12] 80bb558: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80bb55c: d802 bhi.n 80bb564 80bb55e: 8a3b ldrh r3, [r7, #16] 80bb560: 2b01 cmp r3, #1 80bb562: d908 bls.n 80bb576 { /* Set fiforxthreshold according the reception data length: 16bit */ CLEAR_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); 80bb564: 68fb ldr r3, [r7, #12] 80bb566: 681b ldr r3, [r3, #0] 80bb568: 68fa ldr r2, [r7, #12] 80bb56a: 6812 ldr r2, [r2, #0] 80bb56c: 6852 ldr r2, [r2, #4] 80bb56e: f422 5280 bic.w r2, r2, #4096 ; 0x1000 80bb572: 605a str r2, [r3, #4] 80bb574: e007 b.n 80bb586 } else { /* Set fiforxthreshold according the reception data length: 8bit */ SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); 80bb576: 68fb ldr r3, [r7, #12] 80bb578: 681b ldr r3, [r3, #0] 80bb57a: 68fa ldr r2, [r7, #12] 80bb57c: 6812 ldr r2, [r2, #0] 80bb57e: 6852 ldr r2, [r2, #4] 80bb580: f442 5280 orr.w r2, r2, #4096 ; 0x1000 80bb584: 605a str r2, [r3, #4] } /* Check if the SPI is already enabled */ if ((hspi->Instance->CR1 & SPI_CR1_SPE) != SPI_CR1_SPE) 80bb586: 68fb ldr r3, [r7, #12] 80bb588: 681b ldr r3, [r3, #0] 80bb58a: 681b ldr r3, [r3, #0] 80bb58c: f003 0340 and.w r3, r3, #64 ; 0x40 80bb590: 2b40 cmp r3, #64 ; 0x40 80bb592: d007 beq.n 80bb5a4 { /* Enable SPI peripheral */ __HAL_SPI_ENABLE(hspi); 80bb594: 68fb ldr r3, [r7, #12] 80bb596: 681b ldr r3, [r3, #0] 80bb598: 68fa ldr r2, [r7, #12] 80bb59a: 6812 ldr r2, [r2, #0] 80bb59c: 6812 ldr r2, [r2, #0] 80bb59e: f042 0240 orr.w r2, r2, #64 ; 0x40 80bb5a2: 601a str r2, [r3, #0] } /* Transmit and Receive data in 16 Bit mode */ if (hspi->Init.DataSize > SPI_DATASIZE_8BIT) 80bb5a4: 68fb ldr r3, [r7, #12] 80bb5a6: 68db ldr r3, [r3, #12] 80bb5a8: f5b3 6fe0 cmp.w r3, #1792 ; 0x700 80bb5ac: d97c bls.n 80bb6a8 { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) 80bb5ae: 68fb ldr r3, [r7, #12] 80bb5b0: 685b ldr r3, [r3, #4] 80bb5b2: 2b00 cmp r3, #0 80bb5b4: d002 beq.n 80bb5bc 80bb5b6: 8a7b ldrh r3, [r7, #18] 80bb5b8: 2b01 cmp r3, #1 80bb5ba: d169 bne.n 80bb690 { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80bb5bc: 68fb ldr r3, [r7, #12] 80bb5be: 681b ldr r3, [r3, #0] 80bb5c0: 68fa ldr r2, [r7, #12] 80bb5c2: 6b92 ldr r2, [r2, #56] ; 0x38 80bb5c4: 8812 ldrh r2, [r2, #0] 80bb5c6: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80bb5c8: 68fb ldr r3, [r7, #12] 80bb5ca: 6b9b ldr r3, [r3, #56] ; 0x38 80bb5cc: 1c9a adds r2, r3, #2 80bb5ce: 68fb ldr r3, [r7, #12] 80bb5d0: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80bb5d2: 68fb ldr r3, [r7, #12] 80bb5d4: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb5d6: b29b uxth r3, r3 80bb5d8: 3b01 subs r3, #1 80bb5da: b29a uxth r2, r3 80bb5dc: 68fb ldr r3, [r7, #12] 80bb5de: 87da strh r2, [r3, #62] ; 0x3e } while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80bb5e0: e056 b.n 80bb690 { /* Check TXE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)) 80bb5e2: 68fb ldr r3, [r7, #12] 80bb5e4: 681b ldr r3, [r3, #0] 80bb5e6: 689b ldr r3, [r3, #8] 80bb5e8: f003 0302 and.w r3, r3, #2 80bb5ec: 2b02 cmp r3, #2 80bb5ee: d11b bne.n 80bb628 80bb5f0: 68fb ldr r3, [r7, #12] 80bb5f2: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb5f4: b29b uxth r3, r3 80bb5f6: 2b00 cmp r3, #0 80bb5f8: d016 beq.n 80bb628 80bb5fa: 6a7b ldr r3, [r7, #36] ; 0x24 80bb5fc: 2b01 cmp r3, #1 80bb5fe: d113 bne.n 80bb628 { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80bb600: 68fb ldr r3, [r7, #12] 80bb602: 681b ldr r3, [r3, #0] 80bb604: 68fa ldr r2, [r7, #12] 80bb606: 6b92 ldr r2, [r2, #56] ; 0x38 80bb608: 8812 ldrh r2, [r2, #0] 80bb60a: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80bb60c: 68fb ldr r3, [r7, #12] 80bb60e: 6b9b ldr r3, [r3, #56] ; 0x38 80bb610: 1c9a adds r2, r3, #2 80bb612: 68fb ldr r3, [r7, #12] 80bb614: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80bb616: 68fb ldr r3, [r7, #12] 80bb618: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb61a: b29b uxth r3, r3 80bb61c: 3b01 subs r3, #1 80bb61e: b29a uxth r2, r3 80bb620: 68fb ldr r3, [r7, #12] 80bb622: 87da strh r2, [r3, #62] ; 0x3e /* Next Data is a reception (Rx). Tx not allowed */ txallowed = 0U; 80bb624: 2300 movs r3, #0 80bb626: 627b str r3, [r7, #36] ; 0x24 } #endif /* USE_SPI_CRC */ } /* Check RXNE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U)) 80bb628: 68fb ldr r3, [r7, #12] 80bb62a: 681b ldr r3, [r3, #0] 80bb62c: 689b ldr r3, [r3, #8] 80bb62e: f003 0301 and.w r3, r3, #1 80bb632: 2b01 cmp r3, #1 80bb634: d11c bne.n 80bb670 80bb636: 68fb ldr r3, [r7, #12] 80bb638: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb63c: b29b uxth r3, r3 80bb63e: 2b00 cmp r3, #0 80bb640: d016 beq.n 80bb670 { *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; 80bb642: 68fb ldr r3, [r7, #12] 80bb644: 6c1b ldr r3, [r3, #64] ; 0x40 80bb646: 68fa ldr r2, [r7, #12] 80bb648: 6812 ldr r2, [r2, #0] 80bb64a: 68d2 ldr r2, [r2, #12] 80bb64c: b292 uxth r2, r2 80bb64e: 801a strh r2, [r3, #0] hspi->pRxBuffPtr += sizeof(uint16_t); 80bb650: 68fb ldr r3, [r7, #12] 80bb652: 6c1b ldr r3, [r3, #64] ; 0x40 80bb654: 1c9a adds r2, r3, #2 80bb656: 68fb ldr r3, [r7, #12] 80bb658: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount--; 80bb65a: 68fb ldr r3, [r7, #12] 80bb65c: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb660: b29b uxth r3, r3 80bb662: 3b01 subs r3, #1 80bb664: b29a uxth r2, r3 80bb666: 68fb ldr r3, [r7, #12] 80bb668: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 /* Next Data is a Transmission (Tx). Tx is allowed */ txallowed = 1U; 80bb66c: 2301 movs r3, #1 80bb66e: 627b str r3, [r7, #36] ; 0x24 } if (((HAL_GetTick() - tickstart) >= Timeout) && (Timeout != HAL_MAX_DELAY)) 80bb670: f7f7 fdfe bl 80b3270 80bb674: 4602 mov r2, r0 80bb676: 69fb ldr r3, [r7, #28] 80bb678: 1ad2 subs r2, r2, r3 80bb67a: 6b3b ldr r3, [r7, #48] ; 0x30 80bb67c: 429a cmp r2, r3 80bb67e: d307 bcc.n 80bb690 80bb680: 6b3b ldr r3, [r7, #48] ; 0x30 80bb682: f1b3 3fff cmp.w r3, #4294967295 80bb686: d003 beq.n 80bb690 { errorcode = HAL_TIMEOUT; 80bb688: 2303 movs r3, #3 80bb68a: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80bb68e: e0f8 b.n 80bb882 while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80bb690: 68fb ldr r3, [r7, #12] 80bb692: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb694: b29b uxth r3, r3 80bb696: 2b00 cmp r3, #0 80bb698: d1a3 bne.n 80bb5e2 80bb69a: 68fb ldr r3, [r7, #12] 80bb69c: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb6a0: b29b uxth r3, r3 80bb6a2: 2b00 cmp r3, #0 80bb6a4: d19d bne.n 80bb5e2 80bb6a6: e0de b.n 80bb866 } } /* Transmit and Receive data in 8 Bit mode */ else { if ((hspi->Init.Mode == SPI_MODE_SLAVE) || (initial_TxXferCount == 0x01U)) 80bb6a8: 68fb ldr r3, [r7, #12] 80bb6aa: 685b ldr r3, [r3, #4] 80bb6ac: 2b00 cmp r3, #0 80bb6ae: d003 beq.n 80bb6b8 80bb6b0: 8a7b ldrh r3, [r7, #18] 80bb6b2: 2b01 cmp r3, #1 80bb6b4: f040 80ca bne.w 80bb84c { if (hspi->TxXferCount > 1U) 80bb6b8: 68fb ldr r3, [r7, #12] 80bb6ba: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb6bc: b29b uxth r3, r3 80bb6be: 2b01 cmp r3, #1 80bb6c0: d912 bls.n 80bb6e8 { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80bb6c2: 68fb ldr r3, [r7, #12] 80bb6c4: 681b ldr r3, [r3, #0] 80bb6c6: 68fa ldr r2, [r7, #12] 80bb6c8: 6b92 ldr r2, [r2, #56] ; 0x38 80bb6ca: 8812 ldrh r2, [r2, #0] 80bb6cc: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80bb6ce: 68fb ldr r3, [r7, #12] 80bb6d0: 6b9b ldr r3, [r3, #56] ; 0x38 80bb6d2: 1c9a adds r2, r3, #2 80bb6d4: 68fb ldr r3, [r7, #12] 80bb6d6: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount -= 2U; 80bb6d8: 68fb ldr r3, [r7, #12] 80bb6da: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb6dc: b29b uxth r3, r3 80bb6de: 3b02 subs r3, #2 80bb6e0: b29a uxth r2, r3 80bb6e2: 68fb ldr r3, [r7, #12] 80bb6e4: 87da strh r2, [r3, #62] ; 0x3e 80bb6e6: e0b1 b.n 80bb84c } else { *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr); 80bb6e8: 68fb ldr r3, [r7, #12] 80bb6ea: 681b ldr r3, [r3, #0] 80bb6ec: 330c adds r3, #12 80bb6ee: 68fa ldr r2, [r7, #12] 80bb6f0: 6b92 ldr r2, [r2, #56] ; 0x38 80bb6f2: 7812 ldrb r2, [r2, #0] 80bb6f4: 701a strb r2, [r3, #0] hspi->pTxBuffPtr++; 80bb6f6: 68fb ldr r3, [r7, #12] 80bb6f8: 6b9b ldr r3, [r3, #56] ; 0x38 80bb6fa: 1c5a adds r2, r3, #1 80bb6fc: 68fb ldr r3, [r7, #12] 80bb6fe: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80bb700: 68fb ldr r3, [r7, #12] 80bb702: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb704: b29b uxth r3, r3 80bb706: 3b01 subs r3, #1 80bb708: b29a uxth r2, r3 80bb70a: 68fb ldr r3, [r7, #12] 80bb70c: 87da strh r2, [r3, #62] ; 0x3e } } while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80bb70e: e09d b.n 80bb84c { /* Check TXE flag */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_TXE)) && (hspi->TxXferCount > 0U) && (txallowed == 1U)) 80bb710: 68fb ldr r3, [r7, #12] 80bb712: 681b ldr r3, [r3, #0] 80bb714: 689b ldr r3, [r3, #8] 80bb716: f003 0302 and.w r3, r3, #2 80bb71a: 2b02 cmp r3, #2 80bb71c: d134 bne.n 80bb788 80bb71e: 68fb ldr r3, [r7, #12] 80bb720: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb722: b29b uxth r3, r3 80bb724: 2b00 cmp r3, #0 80bb726: d02f beq.n 80bb788 80bb728: 6a7b ldr r3, [r7, #36] ; 0x24 80bb72a: 2b01 cmp r3, #1 80bb72c: d12c bne.n 80bb788 { if (hspi->TxXferCount > 1U) 80bb72e: 68fb ldr r3, [r7, #12] 80bb730: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb732: b29b uxth r3, r3 80bb734: 2b01 cmp r3, #1 80bb736: d912 bls.n 80bb75e { hspi->Instance->DR = *((uint16_t *)hspi->pTxBuffPtr); 80bb738: 68fb ldr r3, [r7, #12] 80bb73a: 681b ldr r3, [r3, #0] 80bb73c: 68fa ldr r2, [r7, #12] 80bb73e: 6b92 ldr r2, [r2, #56] ; 0x38 80bb740: 8812 ldrh r2, [r2, #0] 80bb742: 60da str r2, [r3, #12] hspi->pTxBuffPtr += sizeof(uint16_t); 80bb744: 68fb ldr r3, [r7, #12] 80bb746: 6b9b ldr r3, [r3, #56] ; 0x38 80bb748: 1c9a adds r2, r3, #2 80bb74a: 68fb ldr r3, [r7, #12] 80bb74c: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount -= 2U; 80bb74e: 68fb ldr r3, [r7, #12] 80bb750: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb752: b29b uxth r3, r3 80bb754: 3b02 subs r3, #2 80bb756: b29a uxth r2, r3 80bb758: 68fb ldr r3, [r7, #12] 80bb75a: 87da strh r2, [r3, #62] ; 0x3e 80bb75c: e012 b.n 80bb784 } else { *(__IO uint8_t *)&hspi->Instance->DR = (*hspi->pTxBuffPtr); 80bb75e: 68fb ldr r3, [r7, #12] 80bb760: 681b ldr r3, [r3, #0] 80bb762: 330c adds r3, #12 80bb764: 68fa ldr r2, [r7, #12] 80bb766: 6b92 ldr r2, [r2, #56] ; 0x38 80bb768: 7812 ldrb r2, [r2, #0] 80bb76a: 701a strb r2, [r3, #0] hspi->pTxBuffPtr++; 80bb76c: 68fb ldr r3, [r7, #12] 80bb76e: 6b9b ldr r3, [r3, #56] ; 0x38 80bb770: 1c5a adds r2, r3, #1 80bb772: 68fb ldr r3, [r7, #12] 80bb774: 639a str r2, [r3, #56] ; 0x38 hspi->TxXferCount--; 80bb776: 68fb ldr r3, [r7, #12] 80bb778: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb77a: b29b uxth r3, r3 80bb77c: 3b01 subs r3, #1 80bb77e: b29a uxth r2, r3 80bb780: 68fb ldr r3, [r7, #12] 80bb782: 87da strh r2, [r3, #62] ; 0x3e } /* Next Data is a reception (Rx). Tx not allowed */ txallowed = 0U; 80bb784: 2300 movs r3, #0 80bb786: 627b str r3, [r7, #36] ; 0x24 } #endif /* USE_SPI_CRC */ } /* Wait until RXNE flag is reset */ if ((__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_RXNE)) && (hspi->RxXferCount > 0U)) 80bb788: 68fb ldr r3, [r7, #12] 80bb78a: 681b ldr r3, [r3, #0] 80bb78c: 689b ldr r3, [r3, #8] 80bb78e: f003 0301 and.w r3, r3, #1 80bb792: 2b01 cmp r3, #1 80bb794: d147 bne.n 80bb826 80bb796: 68fb ldr r3, [r7, #12] 80bb798: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb79c: b29b uxth r3, r3 80bb79e: 2b00 cmp r3, #0 80bb7a0: d041 beq.n 80bb826 { if (hspi->RxXferCount > 1U) 80bb7a2: 68fb ldr r3, [r7, #12] 80bb7a4: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb7a8: b29b uxth r3, r3 80bb7aa: 2b01 cmp r3, #1 80bb7ac: d923 bls.n 80bb7f6 { *((uint16_t *)hspi->pRxBuffPtr) = (uint16_t)hspi->Instance->DR; 80bb7ae: 68fb ldr r3, [r7, #12] 80bb7b0: 6c1b ldr r3, [r3, #64] ; 0x40 80bb7b2: 68fa ldr r2, [r7, #12] 80bb7b4: 6812 ldr r2, [r2, #0] 80bb7b6: 68d2 ldr r2, [r2, #12] 80bb7b8: b292 uxth r2, r2 80bb7ba: 801a strh r2, [r3, #0] hspi->pRxBuffPtr += sizeof(uint16_t); 80bb7bc: 68fb ldr r3, [r7, #12] 80bb7be: 6c1b ldr r3, [r3, #64] ; 0x40 80bb7c0: 1c9a adds r2, r3, #2 80bb7c2: 68fb ldr r3, [r7, #12] 80bb7c4: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount -= 2U; 80bb7c6: 68fb ldr r3, [r7, #12] 80bb7c8: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb7cc: b29b uxth r3, r3 80bb7ce: 3b02 subs r3, #2 80bb7d0: b29a uxth r2, r3 80bb7d2: 68fb ldr r3, [r7, #12] 80bb7d4: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 if (hspi->RxXferCount <= 1U) 80bb7d8: 68fb ldr r3, [r7, #12] 80bb7da: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb7de: b29b uxth r3, r3 80bb7e0: 2b01 cmp r3, #1 80bb7e2: d81e bhi.n 80bb822 { /* Set RX Fifo threshold before to switch on 8 bit data size */ SET_BIT(hspi->Instance->CR2, SPI_RXFIFO_THRESHOLD); 80bb7e4: 68fb ldr r3, [r7, #12] 80bb7e6: 681b ldr r3, [r3, #0] 80bb7e8: 68fa ldr r2, [r7, #12] 80bb7ea: 6812 ldr r2, [r2, #0] 80bb7ec: 6852 ldr r2, [r2, #4] 80bb7ee: f442 5280 orr.w r2, r2, #4096 ; 0x1000 80bb7f2: 605a str r2, [r3, #4] 80bb7f4: e015 b.n 80bb822 } } else { (*(uint8_t *)hspi->pRxBuffPtr) = *(__IO uint8_t *)&hspi->Instance->DR; 80bb7f6: 68fb ldr r3, [r7, #12] 80bb7f8: 6c1b ldr r3, [r3, #64] ; 0x40 80bb7fa: 68fa ldr r2, [r7, #12] 80bb7fc: 6812 ldr r2, [r2, #0] 80bb7fe: 320c adds r2, #12 80bb800: 7812 ldrb r2, [r2, #0] 80bb802: b2d2 uxtb r2, r2 80bb804: 701a strb r2, [r3, #0] hspi->pRxBuffPtr++; 80bb806: 68fb ldr r3, [r7, #12] 80bb808: 6c1b ldr r3, [r3, #64] ; 0x40 80bb80a: 1c5a adds r2, r3, #1 80bb80c: 68fb ldr r3, [r7, #12] 80bb80e: 641a str r2, [r3, #64] ; 0x40 hspi->RxXferCount--; 80bb810: 68fb ldr r3, [r7, #12] 80bb812: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb816: b29b uxth r3, r3 80bb818: 3b01 subs r3, #1 80bb81a: b29a uxth r2, r3 80bb81c: 68fb ldr r3, [r7, #12] 80bb81e: f8a3 2046 strh.w r2, [r3, #70] ; 0x46 } /* Next Data is a Transmission (Tx). Tx is allowed */ txallowed = 1U; 80bb822: 2301 movs r3, #1 80bb824: 627b str r3, [r7, #36] ; 0x24 } if ((((HAL_GetTick() - tickstart) >= Timeout) && ((Timeout != HAL_MAX_DELAY))) || (Timeout == 0U)) 80bb826: f7f7 fd23 bl 80b3270 80bb82a: 4602 mov r2, r0 80bb82c: 69fb ldr r3, [r7, #28] 80bb82e: 1ad2 subs r2, r2, r3 80bb830: 6b3b ldr r3, [r7, #48] ; 0x30 80bb832: 429a cmp r2, r3 80bb834: d303 bcc.n 80bb83e 80bb836: 6b3b ldr r3, [r7, #48] ; 0x30 80bb838: f1b3 3fff cmp.w r3, #4294967295 80bb83c: d102 bne.n 80bb844 80bb83e: 6b3b ldr r3, [r7, #48] ; 0x30 80bb840: 2b00 cmp r3, #0 80bb842: d103 bne.n 80bb84c { errorcode = HAL_TIMEOUT; 80bb844: 2303 movs r3, #3 80bb846: f887 3023 strb.w r3, [r7, #35] ; 0x23 goto error; 80bb84a: e01a b.n 80bb882 while ((hspi->TxXferCount > 0U) || (hspi->RxXferCount > 0U)) 80bb84c: 68fb ldr r3, [r7, #12] 80bb84e: 8fdb ldrh r3, [r3, #62] ; 0x3e 80bb850: b29b uxth r3, r3 80bb852: 2b00 cmp r3, #0 80bb854: f47f af5c bne.w 80bb710 80bb858: 68fb ldr r3, [r7, #12] 80bb85a: f8b3 3046 ldrh.w r3, [r3, #70] ; 0x46 80bb85e: b29b uxth r3, r3 80bb860: 2b00 cmp r3, #0 80bb862: f47f af55 bne.w 80bb710 errorcode = HAL_ERROR; } #endif /* USE_SPI_CRC */ /* Check the end of the transaction */ if (SPI_EndRxTxTransaction(hspi, Timeout, tickstart) != HAL_OK) 80bb866: 69fa ldr r2, [r7, #28] 80bb868: 6b39 ldr r1, [r7, #48] ; 0x30 80bb86a: 68f8 ldr r0, [r7, #12] 80bb86c: f000 f936 bl 80bbadc 80bb870: 4603 mov r3, r0 80bb872: 2b00 cmp r3, #0 80bb874: d005 beq.n 80bb882 { errorcode = HAL_ERROR; 80bb876: 2301 movs r3, #1 80bb878: f887 3023 strb.w r3, [r7, #35] ; 0x23 hspi->ErrorCode = HAL_SPI_ERROR_FLAG; 80bb87c: 68fb ldr r3, [r7, #12] 80bb87e: 2220 movs r2, #32 80bb880: 661a str r2, [r3, #96] ; 0x60 } error : hspi->State = HAL_SPI_STATE_READY; 80bb882: 68fb ldr r3, [r7, #12] 80bb884: 2201 movs r2, #1 80bb886: f883 205d strb.w r2, [r3, #93] ; 0x5d __HAL_UNLOCK(hspi); 80bb88a: 68fb ldr r3, [r7, #12] 80bb88c: 2200 movs r2, #0 80bb88e: f883 205c strb.w r2, [r3, #92] ; 0x5c return errorcode; 80bb892: f897 3023 ldrb.w r3, [r7, #35] ; 0x23 } 80bb896: 4618 mov r0, r3 80bb898: 3728 adds r7, #40 ; 0x28 80bb89a: 46bd mov sp, r7 80bb89c: bd80 pop {r7, pc} ... 080bb8a0 : * @param Tickstart tick start value * @retval HAL status */ static HAL_StatusTypeDef SPI_WaitFlagStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Flag, FlagStatus State, uint32_t Timeout, uint32_t Tickstart) { 80bb8a0: b580 push {r7, lr} 80bb8a2: b088 sub sp, #32 80bb8a4: af00 add r7, sp, #0 80bb8a6: 60f8 str r0, [r7, #12] 80bb8a8: 60b9 str r1, [r7, #8] 80bb8aa: 603b str r3, [r7, #0] 80bb8ac: 4613 mov r3, r2 80bb8ae: 71fb strb r3, [r7, #7] __IO uint32_t count; uint32_t tmp_timeout; uint32_t tmp_tickstart; /* Adjust Timeout value in case of end of transfer */ tmp_timeout = Timeout - (HAL_GetTick() - Tickstart); 80bb8b0: f7f7 fcde bl 80b3270 80bb8b4: 4602 mov r2, r0 80bb8b6: 6abb ldr r3, [r7, #40] ; 0x28 80bb8b8: 1a9a subs r2, r3, r2 80bb8ba: 683b ldr r3, [r7, #0] 80bb8bc: 4413 add r3, r2 80bb8be: 61fb str r3, [r7, #28] tmp_tickstart = HAL_GetTick(); 80bb8c0: f7f7 fcd6 bl 80b3270 80bb8c4: 61b8 str r0, [r7, #24] /* Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled */ count = tmp_timeout * ((SystemCoreClock * 32U) >> 20U); 80bb8c6: 4b39 ldr r3, [pc, #228] ; (80bb9ac ) 80bb8c8: 681b ldr r3, [r3, #0] 80bb8ca: 015b lsls r3, r3, #5 80bb8cc: 0d1b lsrs r3, r3, #20 80bb8ce: 69fa ldr r2, [r7, #28] 80bb8d0: fb02 f303 mul.w r3, r2, r3 80bb8d4: 617b str r3, [r7, #20] while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State) 80bb8d6: e054 b.n 80bb982 { if (Timeout != HAL_MAX_DELAY) 80bb8d8: 683b ldr r3, [r7, #0] 80bb8da: f1b3 3fff cmp.w r3, #4294967295 80bb8de: d050 beq.n 80bb982 { if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U)) 80bb8e0: f7f7 fcc6 bl 80b3270 80bb8e4: 4602 mov r2, r0 80bb8e6: 69bb ldr r3, [r7, #24] 80bb8e8: 1ad2 subs r2, r2, r3 80bb8ea: 69fb ldr r3, [r7, #28] 80bb8ec: 429a cmp r2, r3 80bb8ee: d202 bcs.n 80bb8f6 80bb8f0: 69fb ldr r3, [r7, #28] 80bb8f2: 2b00 cmp r3, #0 80bb8f4: d13d bne.n 80bb972 /* Disable the SPI and reset the CRC: the CRC value should be cleared on both master and slave sides in order to resynchronize the master and slave for their respective CRC calculation */ /* Disable TXE, RXNE and ERR interrupts for the interrupt process */ __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR)); 80bb8f6: 68fb ldr r3, [r7, #12] 80bb8f8: 681b ldr r3, [r3, #0] 80bb8fa: 68fa ldr r2, [r7, #12] 80bb8fc: 6812 ldr r2, [r2, #0] 80bb8fe: 6852 ldr r2, [r2, #4] 80bb900: f022 02e0 bic.w r2, r2, #224 ; 0xe0 80bb904: 605a str r2, [r3, #4] if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) 80bb906: 68fb ldr r3, [r7, #12] 80bb908: 685b ldr r3, [r3, #4] 80bb90a: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bb90e: d111 bne.n 80bb934 80bb910: 68fb ldr r3, [r7, #12] 80bb912: 689b ldr r3, [r3, #8] 80bb914: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80bb918: d004 beq.n 80bb924 || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) 80bb91a: 68fb ldr r3, [r7, #12] 80bb91c: 689b ldr r3, [r3, #8] 80bb91e: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80bb922: d107 bne.n 80bb934 { /* Disable SPI peripheral */ __HAL_SPI_DISABLE(hspi); 80bb924: 68fb ldr r3, [r7, #12] 80bb926: 681b ldr r3, [r3, #0] 80bb928: 68fa ldr r2, [r7, #12] 80bb92a: 6812 ldr r2, [r2, #0] 80bb92c: 6812 ldr r2, [r2, #0] 80bb92e: f022 0240 bic.w r2, r2, #64 ; 0x40 80bb932: 601a str r2, [r3, #0] } /* Reset CRC Calculation */ if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 80bb934: 68fb ldr r3, [r7, #12] 80bb936: 6a9b ldr r3, [r3, #40] ; 0x28 80bb938: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80bb93c: d10f bne.n 80bb95e { SPI_RESET_CRC(hspi); 80bb93e: 68fb ldr r3, [r7, #12] 80bb940: 681b ldr r3, [r3, #0] 80bb942: 68fa ldr r2, [r7, #12] 80bb944: 6812 ldr r2, [r2, #0] 80bb946: 6812 ldr r2, [r2, #0] 80bb948: f422 5200 bic.w r2, r2, #8192 ; 0x2000 80bb94c: 601a str r2, [r3, #0] 80bb94e: 68fb ldr r3, [r7, #12] 80bb950: 681b ldr r3, [r3, #0] 80bb952: 68fa ldr r2, [r7, #12] 80bb954: 6812 ldr r2, [r2, #0] 80bb956: 6812 ldr r2, [r2, #0] 80bb958: f442 5200 orr.w r2, r2, #8192 ; 0x2000 80bb95c: 601a str r2, [r3, #0] } hspi->State = HAL_SPI_STATE_READY; 80bb95e: 68fb ldr r3, [r7, #12] 80bb960: 2201 movs r2, #1 80bb962: f883 205d strb.w r2, [r3, #93] ; 0x5d /* Process Unlocked */ __HAL_UNLOCK(hspi); 80bb966: 68fb ldr r3, [r7, #12] 80bb968: 2200 movs r2, #0 80bb96a: f883 205c strb.w r2, [r3, #92] ; 0x5c return HAL_TIMEOUT; 80bb96e: 2303 movs r3, #3 80bb970: e017 b.n 80bb9a2 } /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop procedure */ if (count == 0U) 80bb972: 697b ldr r3, [r7, #20] 80bb974: 2b00 cmp r3, #0 80bb976: d101 bne.n 80bb97c { tmp_timeout = 0U; 80bb978: 2300 movs r3, #0 80bb97a: 61fb str r3, [r7, #28] } count--; 80bb97c: 697b ldr r3, [r7, #20] 80bb97e: 3b01 subs r3, #1 80bb980: 617b str r3, [r7, #20] while ((__HAL_SPI_GET_FLAG(hspi, Flag) ? SET : RESET) != State) 80bb982: 68fb ldr r3, [r7, #12] 80bb984: 681b ldr r3, [r3, #0] 80bb986: 689a ldr r2, [r3, #8] 80bb988: 68bb ldr r3, [r7, #8] 80bb98a: 401a ands r2, r3 80bb98c: 68bb ldr r3, [r7, #8] 80bb98e: 429a cmp r2, r3 80bb990: bf0c ite eq 80bb992: 2301 moveq r3, #1 80bb994: 2300 movne r3, #0 80bb996: b2db uxtb r3, r3 80bb998: 461a mov r2, r3 80bb99a: 79fb ldrb r3, [r7, #7] 80bb99c: 429a cmp r2, r3 80bb99e: d19b bne.n 80bb8d8 } } return HAL_OK; 80bb9a0: 2300 movs r3, #0 } 80bb9a2: 4618 mov r0, r3 80bb9a4: 3720 adds r7, #32 80bb9a6: 46bd mov sp, r7 80bb9a8: bd80 pop {r7, pc} 80bb9aa: bf00 nop 80bb9ac: 200209b4 .word 0x200209b4 080bb9b0 : * @param Tickstart tick start value * @retval HAL status */ static HAL_StatusTypeDef SPI_WaitFifoStateUntilTimeout(SPI_HandleTypeDef *hspi, uint32_t Fifo, uint32_t State, uint32_t Timeout, uint32_t Tickstart) { 80bb9b0: b580 push {r7, lr} 80bb9b2: b08a sub sp, #40 ; 0x28 80bb9b4: af00 add r7, sp, #0 80bb9b6: 60f8 str r0, [r7, #12] 80bb9b8: 60b9 str r1, [r7, #8] 80bb9ba: 607a str r2, [r7, #4] 80bb9bc: 603b str r3, [r7, #0] __IO uint32_t count; uint32_t tmp_timeout; uint32_t tmp_tickstart; __IO uint8_t *ptmpreg8; __IO uint8_t tmpreg8 = 0; 80bb9be: 2300 movs r3, #0 80bb9c0: 75fb strb r3, [r7, #23] /* Adjust Timeout value in case of end of transfer */ tmp_timeout = Timeout - (HAL_GetTick() - Tickstart); 80bb9c2: f7f7 fc55 bl 80b3270 80bb9c6: 4602 mov r2, r0 80bb9c8: 6b3b ldr r3, [r7, #48] ; 0x30 80bb9ca: 1a9a subs r2, r3, r2 80bb9cc: 683b ldr r3, [r7, #0] 80bb9ce: 4413 add r3, r2 80bb9d0: 627b str r3, [r7, #36] ; 0x24 tmp_tickstart = HAL_GetTick(); 80bb9d2: f7f7 fc4d bl 80b3270 80bb9d6: 6238 str r0, [r7, #32] /* Initialize the 8bit temporary pointer */ ptmpreg8 = (__IO uint8_t *)&hspi->Instance->DR; 80bb9d8: 68fb ldr r3, [r7, #12] 80bb9da: 681b ldr r3, [r3, #0] 80bb9dc: 330c adds r3, #12 80bb9de: 61fb str r3, [r7, #28] /* Calculate Timeout based on a software loop to avoid blocking issue if Systick is disabled */ count = tmp_timeout * ((SystemCoreClock * 35U) >> 20U); 80bb9e0: 4b3d ldr r3, [pc, #244] ; (80bbad8 ) 80bb9e2: 681a ldr r2, [r3, #0] 80bb9e4: 4613 mov r3, r2 80bb9e6: 009b lsls r3, r3, #2 80bb9e8: 4413 add r3, r2 80bb9ea: 00da lsls r2, r3, #3 80bb9ec: 1ad3 subs r3, r2, r3 80bb9ee: 0d1b lsrs r3, r3, #20 80bb9f0: 6a7a ldr r2, [r7, #36] ; 0x24 80bb9f2: fb02 f303 mul.w r3, r2, r3 80bb9f6: 61bb str r3, [r7, #24] while ((hspi->Instance->SR & Fifo) != State) 80bb9f8: e060 b.n 80bbabc { if ((Fifo == SPI_SR_FRLVL) && (State == SPI_FRLVL_EMPTY)) 80bb9fa: 68bb ldr r3, [r7, #8] 80bb9fc: f5b3 6fc0 cmp.w r3, #1536 ; 0x600 80bba00: d107 bne.n 80bba12 80bba02: 687b ldr r3, [r7, #4] 80bba04: 2b00 cmp r3, #0 80bba06: d104 bne.n 80bba12 { /* Flush Data Register by a blank read */ tmpreg8 = *ptmpreg8; 80bba08: 69fb ldr r3, [r7, #28] 80bba0a: 781b ldrb r3, [r3, #0] 80bba0c: b2db uxtb r3, r3 80bba0e: 75fb strb r3, [r7, #23] /* To avoid GCC warning */ UNUSED(tmpreg8); 80bba10: 7dfb ldrb r3, [r7, #23] } if (Timeout != HAL_MAX_DELAY) 80bba12: 683b ldr r3, [r7, #0] 80bba14: f1b3 3fff cmp.w r3, #4294967295 80bba18: d050 beq.n 80bbabc { if (((HAL_GetTick() - tmp_tickstart) >= tmp_timeout) || (tmp_timeout == 0U)) 80bba1a: f7f7 fc29 bl 80b3270 80bba1e: 4602 mov r2, r0 80bba20: 6a3b ldr r3, [r7, #32] 80bba22: 1ad2 subs r2, r2, r3 80bba24: 6a7b ldr r3, [r7, #36] ; 0x24 80bba26: 429a cmp r2, r3 80bba28: d202 bcs.n 80bba30 80bba2a: 6a7b ldr r3, [r7, #36] ; 0x24 80bba2c: 2b00 cmp r3, #0 80bba2e: d13d bne.n 80bbaac /* Disable the SPI and reset the CRC: the CRC value should be cleared on both master and slave sides in order to resynchronize the master and slave for their respective CRC calculation */ /* Disable TXE, RXNE and ERR interrupts for the interrupt process */ __HAL_SPI_DISABLE_IT(hspi, (SPI_IT_TXE | SPI_IT_RXNE | SPI_IT_ERR)); 80bba30: 68fb ldr r3, [r7, #12] 80bba32: 681b ldr r3, [r3, #0] 80bba34: 68fa ldr r2, [r7, #12] 80bba36: 6812 ldr r2, [r2, #0] 80bba38: 6852 ldr r2, [r2, #4] 80bba3a: f022 02e0 bic.w r2, r2, #224 ; 0xe0 80bba3e: 605a str r2, [r3, #4] if ((hspi->Init.Mode == SPI_MODE_MASTER) && ((hspi->Init.Direction == SPI_DIRECTION_1LINE) 80bba40: 68fb ldr r3, [r7, #12] 80bba42: 685b ldr r3, [r3, #4] 80bba44: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bba48: d111 bne.n 80bba6e 80bba4a: 68fb ldr r3, [r7, #12] 80bba4c: 689b ldr r3, [r3, #8] 80bba4e: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80bba52: d004 beq.n 80bba5e || (hspi->Init.Direction == SPI_DIRECTION_2LINES_RXONLY))) 80bba54: 68fb ldr r3, [r7, #12] 80bba56: 689b ldr r3, [r3, #8] 80bba58: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80bba5c: d107 bne.n 80bba6e { /* Disable SPI peripheral */ __HAL_SPI_DISABLE(hspi); 80bba5e: 68fb ldr r3, [r7, #12] 80bba60: 681b ldr r3, [r3, #0] 80bba62: 68fa ldr r2, [r7, #12] 80bba64: 6812 ldr r2, [r2, #0] 80bba66: 6812 ldr r2, [r2, #0] 80bba68: f022 0240 bic.w r2, r2, #64 ; 0x40 80bba6c: 601a str r2, [r3, #0] } /* Reset CRC Calculation */ if (hspi->Init.CRCCalculation == SPI_CRCCALCULATION_ENABLE) 80bba6e: 68fb ldr r3, [r7, #12] 80bba70: 6a9b ldr r3, [r3, #40] ; 0x28 80bba72: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80bba76: d10f bne.n 80bba98 { SPI_RESET_CRC(hspi); 80bba78: 68fb ldr r3, [r7, #12] 80bba7a: 681b ldr r3, [r3, #0] 80bba7c: 68fa ldr r2, [r7, #12] 80bba7e: 6812 ldr r2, [r2, #0] 80bba80: 6812 ldr r2, [r2, #0] 80bba82: f422 5200 bic.w r2, r2, #8192 ; 0x2000 80bba86: 601a str r2, [r3, #0] 80bba88: 68fb ldr r3, [r7, #12] 80bba8a: 681b ldr r3, [r3, #0] 80bba8c: 68fa ldr r2, [r7, #12] 80bba8e: 6812 ldr r2, [r2, #0] 80bba90: 6812 ldr r2, [r2, #0] 80bba92: f442 5200 orr.w r2, r2, #8192 ; 0x2000 80bba96: 601a str r2, [r3, #0] } hspi->State = HAL_SPI_STATE_READY; 80bba98: 68fb ldr r3, [r7, #12] 80bba9a: 2201 movs r2, #1 80bba9c: f883 205d strb.w r2, [r3, #93] ; 0x5d /* Process Unlocked */ __HAL_UNLOCK(hspi); 80bbaa0: 68fb ldr r3, [r7, #12] 80bbaa2: 2200 movs r2, #0 80bbaa4: f883 205c strb.w r2, [r3, #92] ; 0x5c return HAL_TIMEOUT; 80bbaa8: 2303 movs r3, #3 80bbaaa: e010 b.n 80bbace } /* If Systick is disabled or not incremented, deactivate timeout to go in disable loop procedure */ if (count == 0U) 80bbaac: 69bb ldr r3, [r7, #24] 80bbaae: 2b00 cmp r3, #0 80bbab0: d101 bne.n 80bbab6 { tmp_timeout = 0U; 80bbab2: 2300 movs r3, #0 80bbab4: 627b str r3, [r7, #36] ; 0x24 } count--; 80bbab6: 69bb ldr r3, [r7, #24] 80bbab8: 3b01 subs r3, #1 80bbaba: 61bb str r3, [r7, #24] while ((hspi->Instance->SR & Fifo) != State) 80bbabc: 68fb ldr r3, [r7, #12] 80bbabe: 681b ldr r3, [r3, #0] 80bbac0: 689a ldr r2, [r3, #8] 80bbac2: 68bb ldr r3, [r7, #8] 80bbac4: 401a ands r2, r3 80bbac6: 687b ldr r3, [r7, #4] 80bbac8: 429a cmp r2, r3 80bbaca: d196 bne.n 80bb9fa } } return HAL_OK; 80bbacc: 2300 movs r3, #0 } 80bbace: 4618 mov r0, r3 80bbad0: 3728 adds r7, #40 ; 0x28 80bbad2: 46bd mov sp, r7 80bbad4: bd80 pop {r7, pc} 80bbad6: bf00 nop 80bbad8: 200209b4 .word 0x200209b4 080bbadc : * @param Timeout Timeout duration * @param Tickstart tick start value * @retval HAL status */ static HAL_StatusTypeDef SPI_EndRxTxTransaction(SPI_HandleTypeDef *hspi, uint32_t Timeout, uint32_t Tickstart) { 80bbadc: b580 push {r7, lr} 80bbade: b088 sub sp, #32 80bbae0: af02 add r7, sp, #8 80bbae2: 60f8 str r0, [r7, #12] 80bbae4: 60b9 str r1, [r7, #8] 80bbae6: 607a str r2, [r7, #4] /* Control if the TX fifo is empty */ if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FTLVL, SPI_FTLVL_EMPTY, Timeout, Tickstart) != HAL_OK) 80bbae8: 687b ldr r3, [r7, #4] 80bbaea: 9300 str r3, [sp, #0] 80bbaec: 68bb ldr r3, [r7, #8] 80bbaee: 2200 movs r2, #0 80bbaf0: f44f 51c0 mov.w r1, #6144 ; 0x1800 80bbaf4: 68f8 ldr r0, [r7, #12] 80bbaf6: f7ff ff5b bl 80bb9b0 80bbafa: 4603 mov r3, r0 80bbafc: 2b00 cmp r3, #0 80bbafe: d007 beq.n 80bbb10 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 80bbb00: 68fb ldr r3, [r7, #12] 80bbb02: 6e1b ldr r3, [r3, #96] ; 0x60 80bbb04: f043 0220 orr.w r2, r3, #32 80bbb08: 68fb ldr r3, [r7, #12] 80bbb0a: 661a str r2, [r3, #96] ; 0x60 return HAL_TIMEOUT; 80bbb0c: 2303 movs r3, #3 80bbb0e: e046 b.n 80bbb9e } /* Timeout in µs */ __IO uint32_t count = SPI_BSY_FLAG_WORKAROUND_TIMEOUT * (SystemCoreClock / 24U / 1000000U); 80bbb10: 4b25 ldr r3, [pc, #148] ; (80bbba8 ) 80bbb12: 681b ldr r3, [r3, #0] 80bbb14: 4a25 ldr r2, [pc, #148] ; (80bbbac ) 80bbb16: fba2 2303 umull r2, r3, r2, r3 80bbb1a: 0d5b lsrs r3, r3, #21 80bbb1c: f44f 727a mov.w r2, #1000 ; 0x3e8 80bbb20: fb02 f303 mul.w r3, r2, r3 80bbb24: 617b str r3, [r7, #20] /* Erratasheet: BSY bit may stay high at the end of a data transfer in Slave mode */ if (hspi->Init.Mode == SPI_MODE_MASTER) 80bbb26: 68fb ldr r3, [r7, #12] 80bbb28: 685b ldr r3, [r3, #4] 80bbb2a: f5b3 7f82 cmp.w r3, #260 ; 0x104 80bbb2e: d112 bne.n 80bbb56 { /* Control the BSY flag */ if (SPI_WaitFlagStateUntilTimeout(hspi, SPI_FLAG_BSY, RESET, Timeout, Tickstart) != HAL_OK) 80bbb30: 687b ldr r3, [r7, #4] 80bbb32: 9300 str r3, [sp, #0] 80bbb34: 68bb ldr r3, [r7, #8] 80bbb36: 2200 movs r2, #0 80bbb38: 2180 movs r1, #128 ; 0x80 80bbb3a: 68f8 ldr r0, [r7, #12] 80bbb3c: f7ff feb0 bl 80bb8a0 80bbb40: 4603 mov r3, r0 80bbb42: 2b00 cmp r3, #0 80bbb44: d016 beq.n 80bbb74 { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 80bbb46: 68fb ldr r3, [r7, #12] 80bbb48: 6e1b ldr r3, [r3, #96] ; 0x60 80bbb4a: f043 0220 orr.w r2, r3, #32 80bbb4e: 68fb ldr r3, [r7, #12] 80bbb50: 661a str r2, [r3, #96] ; 0x60 return HAL_TIMEOUT; 80bbb52: 2303 movs r3, #3 80bbb54: e023 b.n 80bbb9e * User have to calculate the timeout value to fit with the time of 1 byte transfer. * This time is directly link with the SPI clock from Master device. */ do { if (count == 0U) 80bbb56: 697b ldr r3, [r7, #20] 80bbb58: 2b00 cmp r3, #0 80bbb5a: d00a beq.n 80bbb72 { break; } count--; 80bbb5c: 697b ldr r3, [r7, #20] 80bbb5e: 3b01 subs r3, #1 80bbb60: 617b str r3, [r7, #20] } while (__HAL_SPI_GET_FLAG(hspi, SPI_FLAG_BSY) != RESET); 80bbb62: 68fb ldr r3, [r7, #12] 80bbb64: 681b ldr r3, [r3, #0] 80bbb66: 689b ldr r3, [r3, #8] 80bbb68: f003 0380 and.w r3, r3, #128 ; 0x80 80bbb6c: 2b80 cmp r3, #128 ; 0x80 80bbb6e: d0f2 beq.n 80bbb56 80bbb70: e000 b.n 80bbb74 break; 80bbb72: bf00 nop } /* Control if the RX fifo is empty */ if (SPI_WaitFifoStateUntilTimeout(hspi, SPI_FLAG_FRLVL, SPI_FRLVL_EMPTY, Timeout, Tickstart) != HAL_OK) 80bbb74: 687b ldr r3, [r7, #4] 80bbb76: 9300 str r3, [sp, #0] 80bbb78: 68bb ldr r3, [r7, #8] 80bbb7a: 2200 movs r2, #0 80bbb7c: f44f 61c0 mov.w r1, #1536 ; 0x600 80bbb80: 68f8 ldr r0, [r7, #12] 80bbb82: f7ff ff15 bl 80bb9b0 80bbb86: 4603 mov r3, r0 80bbb88: 2b00 cmp r3, #0 80bbb8a: d007 beq.n 80bbb9c { SET_BIT(hspi->ErrorCode, HAL_SPI_ERROR_FLAG); 80bbb8c: 68fb ldr r3, [r7, #12] 80bbb8e: 6e1b ldr r3, [r3, #96] ; 0x60 80bbb90: f043 0220 orr.w r2, r3, #32 80bbb94: 68fb ldr r3, [r7, #12] 80bbb96: 661a str r2, [r3, #96] ; 0x60 return HAL_TIMEOUT; 80bbb98: 2303 movs r3, #3 80bbb9a: e000 b.n 80bbb9e } return HAL_OK; 80bbb9c: 2300 movs r3, #0 } 80bbb9e: 4618 mov r0, r3 80bbba0: 3718 adds r7, #24 80bbba2: 46bd mov sp, r7 80bbba4: bd80 pop {r7, pc} 80bbba6: bf00 nop 80bbba8: 200209b4 .word 0x200209b4 80bbbac: 165e9f81 .word 0x165e9f81 080bbbb0 : * @param ExtTiming Pointer to SRAM extended mode timing structure * @retval HAL status */ HAL_StatusTypeDef HAL_SRAM_Init(SRAM_HandleTypeDef *hsram, FMC_NORSRAM_TimingTypeDef *Timing, FMC_NORSRAM_TimingTypeDef *ExtTiming) { 80bbbb0: b580 push {r7, lr} 80bbbb2: b084 sub sp, #16 80bbbb4: af00 add r7, sp, #0 80bbbb6: 60f8 str r0, [r7, #12] 80bbbb8: 60b9 str r1, [r7, #8] 80bbbba: 607a str r2, [r7, #4] /* Check the SRAM handle parameter */ if (hsram == NULL) 80bbbbc: 68fb ldr r3, [r7, #12] 80bbbbe: 2b00 cmp r3, #0 80bbbc0: d101 bne.n 80bbbc6 { return HAL_ERROR; 80bbbc2: 2301 movs r3, #1 80bbbc4: e038 b.n 80bbc38 } if (hsram->State == HAL_SRAM_STATE_RESET) 80bbbc6: 68fb ldr r3, [r7, #12] 80bbbc8: f893 3045 ldrb.w r3, [r3, #69] ; 0x45 80bbbcc: b2db uxtb r3, r3 80bbbce: 2b00 cmp r3, #0 80bbbd0: d106 bne.n 80bbbe0 { /* Allocate lock resource and initialize it */ hsram->Lock = HAL_UNLOCKED; 80bbbd2: 68fb ldr r3, [r7, #12] 80bbbd4: 2200 movs r2, #0 80bbbd6: f883 2044 strb.w r2, [r3, #68] ; 0x44 /* Init the low level hardware */ hsram->MspInitCallback(hsram); #else /* Initialize the low level hardware (MSP) */ HAL_SRAM_MspInit(hsram); 80bbbda: 68f8 ldr r0, [r7, #12] 80bbbdc: f773 fb54 bl 802f288 #endif /* USE_HAL_SRAM_REGISTER_CALLBACKS */ } /* Initialize SRAM control Interface */ (void)FMC_NORSRAM_Init(hsram->Instance, &(hsram->Init)); 80bbbe0: 68fb ldr r3, [r7, #12] 80bbbe2: 681a ldr r2, [r3, #0] 80bbbe4: 68fb ldr r3, [r7, #12] 80bbbe6: 3308 adds r3, #8 80bbbe8: 4619 mov r1, r3 80bbbea: 4610 mov r0, r2 80bbbec: f001 fb18 bl 80bd220 /* Initialize SRAM timing Interface */ (void)FMC_NORSRAM_Timing_Init(hsram->Instance, Timing, hsram->Init.NSBank); 80bbbf0: 68fb ldr r3, [r7, #12] 80bbbf2: 6818 ldr r0, [r3, #0] 80bbbf4: 68fb ldr r3, [r7, #12] 80bbbf6: 689b ldr r3, [r3, #8] 80bbbf8: 461a mov r2, r3 80bbbfa: 68b9 ldr r1, [r7, #8] 80bbbfc: f001 fba0 bl 80bd340 /* Initialize SRAM extended mode timing Interface */ (void)FMC_NORSRAM_Extended_Timing_Init(hsram->Extended, ExtTiming, hsram->Init.NSBank, 80bbc00: 68fb ldr r3, [r7, #12] 80bbc02: 6858 ldr r0, [r3, #4] 80bbc04: 68fb ldr r3, [r7, #12] 80bbc06: 689a ldr r2, [r3, #8] 80bbc08: 68fb ldr r3, [r7, #12] 80bbc0a: 6adb ldr r3, [r3, #44] ; 0x2c 80bbc0c: 6879 ldr r1, [r7, #4] 80bbc0e: f001 fbe7 bl 80bd3e0 hsram->Init.ExtendedMode); /* Enable the NORSRAM device */ __FMC_NORSRAM_ENABLE(hsram->Instance, hsram->Init.NSBank); 80bbc12: 68fb ldr r3, [r7, #12] 80bbc14: 681b ldr r3, [r3, #0] 80bbc16: 68fa ldr r2, [r7, #12] 80bbc18: 6892 ldr r2, [r2, #8] 80bbc1a: 68f9 ldr r1, [r7, #12] 80bbc1c: 6809 ldr r1, [r1, #0] 80bbc1e: 68f8 ldr r0, [r7, #12] 80bbc20: 6880 ldr r0, [r0, #8] 80bbc22: f851 1020 ldr.w r1, [r1, r0, lsl #2] 80bbc26: f041 0101 orr.w r1, r1, #1 80bbc2a: f843 1022 str.w r1, [r3, r2, lsl #2] /* Initialize the SRAM controller state */ hsram->State = HAL_SRAM_STATE_READY; 80bbc2e: 68fb ldr r3, [r7, #12] 80bbc30: 2201 movs r2, #1 80bbc32: f883 2045 strb.w r2, [r3, #69] ; 0x45 return HAL_OK; 80bbc36: 2300 movs r3, #0 } 80bbc38: 4618 mov r0, r3 80bbc3a: 3710 adds r7, #16 80bbc3c: 46bd mov sp, r7 80bbc3e: bd80 pop {r7, pc} 080bbc40 : * Ex: call @ref HAL_TIM_Base_DeInit() before HAL_TIM_Base_Init() * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Init(TIM_HandleTypeDef *htim) { 80bbc40: b580 push {r7, lr} 80bbc42: b082 sub sp, #8 80bbc44: af00 add r7, sp, #0 80bbc46: 6078 str r0, [r7, #4] /* Check the TIM handle allocation */ if (htim == NULL) 80bbc48: 687b ldr r3, [r7, #4] 80bbc4a: 2b00 cmp r3, #0 80bbc4c: d101 bne.n 80bbc52 { return HAL_ERROR; 80bbc4e: 2301 movs r3, #1 80bbc50: e049 b.n 80bbce6 assert_param(IS_TIM_INSTANCE(htim->Instance)); assert_param(IS_TIM_COUNTER_MODE(htim->Init.CounterMode)); assert_param(IS_TIM_CLOCKDIVISION_DIV(htim->Init.ClockDivision)); assert_param(IS_TIM_AUTORELOAD_PRELOAD(htim->Init.AutoReloadPreload)); if (htim->State == HAL_TIM_STATE_RESET) 80bbc52: 687b ldr r3, [r7, #4] 80bbc54: f893 303d ldrb.w r3, [r3, #61] ; 0x3d 80bbc58: b2db uxtb r3, r3 80bbc5a: 2b00 cmp r3, #0 80bbc5c: d106 bne.n 80bbc6c { /* Allocate lock resource and initialize it */ htim->Lock = HAL_UNLOCKED; 80bbc5e: 687b ldr r3, [r7, #4] 80bbc60: 2200 movs r2, #0 80bbc62: f883 203c strb.w r2, [r3, #60] ; 0x3c } /* Init the low level hardware : GPIO, CLOCK, NVIC */ htim->Base_MspInitCallback(htim); #else /* Init the low level hardware : GPIO, CLOCK, NVIC */ HAL_TIM_Base_MspInit(htim); 80bbc66: 6878 ldr r0, [r7, #4] 80bbc68: f7f2 fd28 bl 80ae6bc #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80bbc6c: 687b ldr r3, [r7, #4] 80bbc6e: 2202 movs r2, #2 80bbc70: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Set the Time Base configuration */ TIM_Base_SetConfig(htim->Instance, &htim->Init); 80bbc74: 687b ldr r3, [r7, #4] 80bbc76: 681a ldr r2, [r3, #0] 80bbc78: 687b ldr r3, [r7, #4] 80bbc7a: 3304 adds r3, #4 80bbc7c: 4619 mov r1, r3 80bbc7e: 4610 mov r0, r2 80bbc80: f000 fb72 bl 80bc368 /* Initialize the DMA burst operation state */ htim->DMABurstState = HAL_DMA_BURST_STATE_READY; 80bbc84: 687b ldr r3, [r7, #4] 80bbc86: 2201 movs r2, #1 80bbc88: f883 2048 strb.w r2, [r3, #72] ; 0x48 /* Initialize the TIM channels state */ TIM_CHANNEL_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); 80bbc8c: 687b ldr r3, [r7, #4] 80bbc8e: 2201 movs r2, #1 80bbc90: f883 203e strb.w r2, [r3, #62] ; 0x3e 80bbc94: 687b ldr r3, [r7, #4] 80bbc96: 2201 movs r2, #1 80bbc98: f883 203f strb.w r2, [r3, #63] ; 0x3f 80bbc9c: 687b ldr r3, [r7, #4] 80bbc9e: 2201 movs r2, #1 80bbca0: f883 2040 strb.w r2, [r3, #64] ; 0x40 80bbca4: 687b ldr r3, [r7, #4] 80bbca6: 2201 movs r2, #1 80bbca8: f883 2041 strb.w r2, [r3, #65] ; 0x41 80bbcac: 687b ldr r3, [r7, #4] 80bbcae: 2201 movs r2, #1 80bbcb0: f883 2042 strb.w r2, [r3, #66] ; 0x42 80bbcb4: 687b ldr r3, [r7, #4] 80bbcb6: 2201 movs r2, #1 80bbcb8: f883 2043 strb.w r2, [r3, #67] ; 0x43 TIM_CHANNEL_N_STATE_SET_ALL(htim, HAL_TIM_CHANNEL_STATE_READY); 80bbcbc: 687b ldr r3, [r7, #4] 80bbcbe: 2201 movs r2, #1 80bbcc0: f883 2044 strb.w r2, [r3, #68] ; 0x44 80bbcc4: 687b ldr r3, [r7, #4] 80bbcc6: 2201 movs r2, #1 80bbcc8: f883 2045 strb.w r2, [r3, #69] ; 0x45 80bbccc: 687b ldr r3, [r7, #4] 80bbcce: 2201 movs r2, #1 80bbcd0: f883 2046 strb.w r2, [r3, #70] ; 0x46 80bbcd4: 687b ldr r3, [r7, #4] 80bbcd6: 2201 movs r2, #1 80bbcd8: f883 2047 strb.w r2, [r3, #71] ; 0x47 /* Initialize the TIM state*/ htim->State = HAL_TIM_STATE_READY; 80bbcdc: 687b ldr r3, [r7, #4] 80bbcde: 2201 movs r2, #1 80bbce0: f883 203d strb.w r2, [r3, #61] ; 0x3d return HAL_OK; 80bbce4: 2300 movs r3, #0 } 80bbce6: 4618 mov r0, r3 80bbce8: 3708 adds r7, #8 80bbcea: 46bd mov sp, r7 80bbcec: bd80 pop {r7, pc} ... 080bbcf0 : * @brief Starts the TIM Base generation. * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Start(TIM_HandleTypeDef *htim) { 80bbcf0: b480 push {r7} 80bbcf2: b085 sub sp, #20 80bbcf4: af00 add r7, sp, #0 80bbcf6: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_TIM_INSTANCE(htim->Instance)); /* Check the TIM state */ if (htim->State != HAL_TIM_STATE_READY) 80bbcf8: 687b ldr r3, [r7, #4] 80bbcfa: f893 303d ldrb.w r3, [r3, #61] ; 0x3d 80bbcfe: b2db uxtb r3, r3 80bbd00: 2b01 cmp r3, #1 80bbd02: d001 beq.n 80bbd08 { return HAL_ERROR; 80bbd04: 2301 movs r3, #1 80bbd06: e04c b.n 80bbda2 } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80bbd08: 687b ldr r3, [r7, #4] 80bbd0a: 2202 movs r2, #2 80bbd0c: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger */ if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) 80bbd10: 687b ldr r3, [r7, #4] 80bbd12: 681b ldr r3, [r3, #0] 80bbd14: 4a26 ldr r2, [pc, #152] ; (80bbdb0 ) 80bbd16: 4293 cmp r3, r2 80bbd18: d022 beq.n 80bbd60 80bbd1a: 687b ldr r3, [r7, #4] 80bbd1c: 681b ldr r3, [r3, #0] 80bbd1e: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80bbd22: d01d beq.n 80bbd60 80bbd24: 687b ldr r3, [r7, #4] 80bbd26: 681b ldr r3, [r3, #0] 80bbd28: 4a22 ldr r2, [pc, #136] ; (80bbdb4 ) 80bbd2a: 4293 cmp r3, r2 80bbd2c: d018 beq.n 80bbd60 80bbd2e: 687b ldr r3, [r7, #4] 80bbd30: 681b ldr r3, [r3, #0] 80bbd32: 4a21 ldr r2, [pc, #132] ; (80bbdb8 ) 80bbd34: 4293 cmp r3, r2 80bbd36: d013 beq.n 80bbd60 80bbd38: 687b ldr r3, [r7, #4] 80bbd3a: 681b ldr r3, [r3, #0] 80bbd3c: 4a1f ldr r2, [pc, #124] ; (80bbdbc ) 80bbd3e: 4293 cmp r3, r2 80bbd40: d00e beq.n 80bbd60 80bbd42: 687b ldr r3, [r7, #4] 80bbd44: 681b ldr r3, [r3, #0] 80bbd46: 4a1e ldr r2, [pc, #120] ; (80bbdc0 ) 80bbd48: 4293 cmp r3, r2 80bbd4a: d009 beq.n 80bbd60 80bbd4c: 687b ldr r3, [r7, #4] 80bbd4e: 681b ldr r3, [r3, #0] 80bbd50: 4a1c ldr r2, [pc, #112] ; (80bbdc4 ) 80bbd52: 4293 cmp r3, r2 80bbd54: d004 beq.n 80bbd60 80bbd56: 687b ldr r3, [r7, #4] 80bbd58: 681b ldr r3, [r3, #0] 80bbd5a: 4a1b ldr r2, [pc, #108] ; (80bbdc8 ) 80bbd5c: 4293 cmp r3, r2 80bbd5e: d115 bne.n 80bbd8c { tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; 80bbd60: 687b ldr r3, [r7, #4] 80bbd62: 681b ldr r3, [r3, #0] 80bbd64: 689a ldr r2, [r3, #8] 80bbd66: 4b19 ldr r3, [pc, #100] ; (80bbdcc ) 80bbd68: 4013 ands r3, r2 80bbd6a: 60fb str r3, [r7, #12] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80bbd6c: 68fb ldr r3, [r7, #12] 80bbd6e: 2b06 cmp r3, #6 80bbd70: d015 beq.n 80bbd9e 80bbd72: 68fb ldr r3, [r7, #12] 80bbd74: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80bbd78: d011 beq.n 80bbd9e { __HAL_TIM_ENABLE(htim); 80bbd7a: 687b ldr r3, [r7, #4] 80bbd7c: 681b ldr r3, [r3, #0] 80bbd7e: 687a ldr r2, [r7, #4] 80bbd80: 6812 ldr r2, [r2, #0] 80bbd82: 6812 ldr r2, [r2, #0] 80bbd84: f042 0201 orr.w r2, r2, #1 80bbd88: 601a str r2, [r3, #0] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80bbd8a: e008 b.n 80bbd9e } } else { __HAL_TIM_ENABLE(htim); 80bbd8c: 687b ldr r3, [r7, #4] 80bbd8e: 681b ldr r3, [r3, #0] 80bbd90: 687a ldr r2, [r7, #4] 80bbd92: 6812 ldr r2, [r2, #0] 80bbd94: 6812 ldr r2, [r2, #0] 80bbd96: f042 0201 orr.w r2, r2, #1 80bbd9a: 601a str r2, [r3, #0] 80bbd9c: e000 b.n 80bbda0 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80bbd9e: bf00 nop } /* Return function status */ return HAL_OK; 80bbda0: 2300 movs r3, #0 } 80bbda2: 4618 mov r0, r3 80bbda4: 3714 adds r7, #20 80bbda6: 46bd mov sp, r7 80bbda8: f85d 7b04 ldr.w r7, [sp], #4 80bbdac: 4770 bx lr 80bbdae: bf00 nop 80bbdb0: 40010000 .word 0x40010000 80bbdb4: 40000400 .word 0x40000400 80bbdb8: 40000800 .word 0x40000800 80bbdbc: 40000c00 .word 0x40000c00 80bbdc0: 40010400 .word 0x40010400 80bbdc4: 40014000 .word 0x40014000 80bbdc8: 40001800 .word 0x40001800 80bbdcc: 00010007 .word 0x00010007 080bbdd0 : * @brief Stops the TIM Base generation. * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Stop(TIM_HandleTypeDef *htim) { 80bbdd0: b480 push {r7} 80bbdd2: b083 sub sp, #12 80bbdd4: af00 add r7, sp, #0 80bbdd6: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_TIM_INSTANCE(htim->Instance)); /* Disable the Peripheral */ __HAL_TIM_DISABLE(htim); 80bbdd8: 687b ldr r3, [r7, #4] 80bbdda: 681b ldr r3, [r3, #0] 80bbddc: 6a1a ldr r2, [r3, #32] 80bbdde: f241 1311 movw r3, #4369 ; 0x1111 80bbde2: 4013 ands r3, r2 80bbde4: 2b00 cmp r3, #0 80bbde6: d10f bne.n 80bbe08 80bbde8: 687b ldr r3, [r7, #4] 80bbdea: 681b ldr r3, [r3, #0] 80bbdec: 6a1a ldr r2, [r3, #32] 80bbdee: f240 4344 movw r3, #1092 ; 0x444 80bbdf2: 4013 ands r3, r2 80bbdf4: 2b00 cmp r3, #0 80bbdf6: d107 bne.n 80bbe08 80bbdf8: 687b ldr r3, [r7, #4] 80bbdfa: 681b ldr r3, [r3, #0] 80bbdfc: 687a ldr r2, [r7, #4] 80bbdfe: 6812 ldr r2, [r2, #0] 80bbe00: 6812 ldr r2, [r2, #0] 80bbe02: f022 0201 bic.w r2, r2, #1 80bbe06: 601a str r2, [r3, #0] /* Set the TIM state */ htim->State = HAL_TIM_STATE_READY; 80bbe08: 687b ldr r3, [r7, #4] 80bbe0a: 2201 movs r2, #1 80bbe0c: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Return function status */ return HAL_OK; 80bbe10: 2300 movs r3, #0 } 80bbe12: 4618 mov r0, r3 80bbe14: 370c adds r7, #12 80bbe16: 46bd mov sp, r7 80bbe18: f85d 7b04 ldr.w r7, [sp], #4 80bbe1c: 4770 bx lr ... 080bbe20 : * @brief Starts the TIM Base generation in interrupt mode. * @param htim TIM Base handle * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_Base_Start_IT(TIM_HandleTypeDef *htim) { 80bbe20: b480 push {r7} 80bbe22: b085 sub sp, #20 80bbe24: af00 add r7, sp, #0 80bbe26: 6078 str r0, [r7, #4] /* Check the parameters */ assert_param(IS_TIM_INSTANCE(htim->Instance)); /* Check the TIM state */ if (htim->State != HAL_TIM_STATE_READY) 80bbe28: 687b ldr r3, [r7, #4] 80bbe2a: f893 303d ldrb.w r3, [r3, #61] ; 0x3d 80bbe2e: b2db uxtb r3, r3 80bbe30: 2b01 cmp r3, #1 80bbe32: d001 beq.n 80bbe38 { return HAL_ERROR; 80bbe34: 2301 movs r3, #1 80bbe36: e054 b.n 80bbee2 } /* Set the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80bbe38: 687b ldr r3, [r7, #4] 80bbe3a: 2202 movs r2, #2 80bbe3c: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Enable the TIM Update interrupt */ __HAL_TIM_ENABLE_IT(htim, TIM_IT_UPDATE); 80bbe40: 687b ldr r3, [r7, #4] 80bbe42: 681b ldr r3, [r3, #0] 80bbe44: 687a ldr r2, [r7, #4] 80bbe46: 6812 ldr r2, [r2, #0] 80bbe48: 68d2 ldr r2, [r2, #12] 80bbe4a: f042 0201 orr.w r2, r2, #1 80bbe4e: 60da str r2, [r3, #12] /* Enable the Peripheral, except in trigger mode where enable is automatically done with trigger */ if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) 80bbe50: 687b ldr r3, [r7, #4] 80bbe52: 681b ldr r3, [r3, #0] 80bbe54: 4a26 ldr r2, [pc, #152] ; (80bbef0 ) 80bbe56: 4293 cmp r3, r2 80bbe58: d022 beq.n 80bbea0 80bbe5a: 687b ldr r3, [r7, #4] 80bbe5c: 681b ldr r3, [r3, #0] 80bbe5e: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80bbe62: d01d beq.n 80bbea0 80bbe64: 687b ldr r3, [r7, #4] 80bbe66: 681b ldr r3, [r3, #0] 80bbe68: 4a22 ldr r2, [pc, #136] ; (80bbef4 ) 80bbe6a: 4293 cmp r3, r2 80bbe6c: d018 beq.n 80bbea0 80bbe6e: 687b ldr r3, [r7, #4] 80bbe70: 681b ldr r3, [r3, #0] 80bbe72: 4a21 ldr r2, [pc, #132] ; (80bbef8 ) 80bbe74: 4293 cmp r3, r2 80bbe76: d013 beq.n 80bbea0 80bbe78: 687b ldr r3, [r7, #4] 80bbe7a: 681b ldr r3, [r3, #0] 80bbe7c: 4a1f ldr r2, [pc, #124] ; (80bbefc ) 80bbe7e: 4293 cmp r3, r2 80bbe80: d00e beq.n 80bbea0 80bbe82: 687b ldr r3, [r7, #4] 80bbe84: 681b ldr r3, [r3, #0] 80bbe86: 4a1e ldr r2, [pc, #120] ; (80bbf00 ) 80bbe88: 4293 cmp r3, r2 80bbe8a: d009 beq.n 80bbea0 80bbe8c: 687b ldr r3, [r7, #4] 80bbe8e: 681b ldr r3, [r3, #0] 80bbe90: 4a1c ldr r2, [pc, #112] ; (80bbf04 ) 80bbe92: 4293 cmp r3, r2 80bbe94: d004 beq.n 80bbea0 80bbe96: 687b ldr r3, [r7, #4] 80bbe98: 681b ldr r3, [r3, #0] 80bbe9a: 4a1b ldr r2, [pc, #108] ; (80bbf08 ) 80bbe9c: 4293 cmp r3, r2 80bbe9e: d115 bne.n 80bbecc { tmpsmcr = htim->Instance->SMCR & TIM_SMCR_SMS; 80bbea0: 687b ldr r3, [r7, #4] 80bbea2: 681b ldr r3, [r3, #0] 80bbea4: 689a ldr r2, [r3, #8] 80bbea6: 4b19 ldr r3, [pc, #100] ; (80bbf0c ) 80bbea8: 4013 ands r3, r2 80bbeaa: 60fb str r3, [r7, #12] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80bbeac: 68fb ldr r3, [r7, #12] 80bbeae: 2b06 cmp r3, #6 80bbeb0: d015 beq.n 80bbede 80bbeb2: 68fb ldr r3, [r7, #12] 80bbeb4: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80bbeb8: d011 beq.n 80bbede { __HAL_TIM_ENABLE(htim); 80bbeba: 687b ldr r3, [r7, #4] 80bbebc: 681b ldr r3, [r3, #0] 80bbebe: 687a ldr r2, [r7, #4] 80bbec0: 6812 ldr r2, [r2, #0] 80bbec2: 6812 ldr r2, [r2, #0] 80bbec4: f042 0201 orr.w r2, r2, #1 80bbec8: 601a str r2, [r3, #0] if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80bbeca: e008 b.n 80bbede } } else { __HAL_TIM_ENABLE(htim); 80bbecc: 687b ldr r3, [r7, #4] 80bbece: 681b ldr r3, [r3, #0] 80bbed0: 687a ldr r2, [r7, #4] 80bbed2: 6812 ldr r2, [r2, #0] 80bbed4: 6812 ldr r2, [r2, #0] 80bbed6: f042 0201 orr.w r2, r2, #1 80bbeda: 601a str r2, [r3, #0] 80bbedc: e000 b.n 80bbee0 if (!IS_TIM_SLAVEMODE_TRIGGER_ENABLED(tmpsmcr)) 80bbede: bf00 nop } /* Return function status */ return HAL_OK; 80bbee0: 2300 movs r3, #0 } 80bbee2: 4618 mov r0, r3 80bbee4: 3714 adds r7, #20 80bbee6: 46bd mov sp, r7 80bbee8: f85d 7b04 ldr.w r7, [sp], #4 80bbeec: 4770 bx lr 80bbeee: bf00 nop 80bbef0: 40010000 .word 0x40010000 80bbef4: 40000400 .word 0x40000400 80bbef8: 40000800 .word 0x40000800 80bbefc: 40000c00 .word 0x40000c00 80bbf00: 40010400 .word 0x40010400 80bbf04: 40014000 .word 0x40014000 80bbf08: 40001800 .word 0x40001800 80bbf0c: 00010007 .word 0x00010007 080bbf10 : * @brief This function handles TIM interrupts requests. * @param htim TIM handle * @retval None */ void HAL_TIM_IRQHandler(TIM_HandleTypeDef *htim) { 80bbf10: b580 push {r7, lr} 80bbf12: b082 sub sp, #8 80bbf14: af00 add r7, sp, #0 80bbf16: 6078 str r0, [r7, #4] /* Capture compare 1 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC1) != RESET) 80bbf18: 687b ldr r3, [r7, #4] 80bbf1a: 681b ldr r3, [r3, #0] 80bbf1c: 691b ldr r3, [r3, #16] 80bbf1e: f003 0302 and.w r3, r3, #2 80bbf22: 2b02 cmp r3, #2 80bbf24: d122 bne.n 80bbf6c { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC1) != RESET) 80bbf26: 687b ldr r3, [r7, #4] 80bbf28: 681b ldr r3, [r3, #0] 80bbf2a: 68db ldr r3, [r3, #12] 80bbf2c: f003 0302 and.w r3, r3, #2 80bbf30: 2b02 cmp r3, #2 80bbf32: d11b bne.n 80bbf6c { { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC1); 80bbf34: 687b ldr r3, [r7, #4] 80bbf36: 681b ldr r3, [r3, #0] 80bbf38: f06f 0202 mvn.w r2, #2 80bbf3c: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_1; 80bbf3e: 687b ldr r3, [r7, #4] 80bbf40: 2201 movs r2, #1 80bbf42: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC1S) != 0x00U) 80bbf44: 687b ldr r3, [r7, #4] 80bbf46: 681b ldr r3, [r3, #0] 80bbf48: 699b ldr r3, [r3, #24] 80bbf4a: f003 0303 and.w r3, r3, #3 80bbf4e: 2b00 cmp r3, #0 80bbf50: d003 beq.n 80bbf5a { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80bbf52: 6878 ldr r0, [r7, #4] 80bbf54: f000 f9ea bl 80bc32c 80bbf58: e005 b.n 80bbf66 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80bbf5a: 6878 ldr r0, [r7, #4] 80bbf5c: f000 f9dc bl 80bc318 HAL_TIM_PWM_PulseFinishedCallback(htim); 80bbf60: 6878 ldr r0, [r7, #4] 80bbf62: f000 f9ed bl 80bc340 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80bbf66: 687b ldr r3, [r7, #4] 80bbf68: 2200 movs r2, #0 80bbf6a: 771a strb r2, [r3, #28] } } } /* Capture compare 2 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC2) != RESET) 80bbf6c: 687b ldr r3, [r7, #4] 80bbf6e: 681b ldr r3, [r3, #0] 80bbf70: 691b ldr r3, [r3, #16] 80bbf72: f003 0304 and.w r3, r3, #4 80bbf76: 2b04 cmp r3, #4 80bbf78: d122 bne.n 80bbfc0 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC2) != RESET) 80bbf7a: 687b ldr r3, [r7, #4] 80bbf7c: 681b ldr r3, [r3, #0] 80bbf7e: 68db ldr r3, [r3, #12] 80bbf80: f003 0304 and.w r3, r3, #4 80bbf84: 2b04 cmp r3, #4 80bbf86: d11b bne.n 80bbfc0 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC2); 80bbf88: 687b ldr r3, [r7, #4] 80bbf8a: 681b ldr r3, [r3, #0] 80bbf8c: f06f 0204 mvn.w r2, #4 80bbf90: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_2; 80bbf92: 687b ldr r3, [r7, #4] 80bbf94: 2202 movs r2, #2 80bbf96: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR1 & TIM_CCMR1_CC2S) != 0x00U) 80bbf98: 687b ldr r3, [r7, #4] 80bbf9a: 681b ldr r3, [r3, #0] 80bbf9c: 699b ldr r3, [r3, #24] 80bbf9e: f403 7340 and.w r3, r3, #768 ; 0x300 80bbfa2: 2b00 cmp r3, #0 80bbfa4: d003 beq.n 80bbfae { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80bbfa6: 6878 ldr r0, [r7, #4] 80bbfa8: f000 f9c0 bl 80bc32c 80bbfac: e005 b.n 80bbfba { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80bbfae: 6878 ldr r0, [r7, #4] 80bbfb0: f000 f9b2 bl 80bc318 HAL_TIM_PWM_PulseFinishedCallback(htim); 80bbfb4: 6878 ldr r0, [r7, #4] 80bbfb6: f000 f9c3 bl 80bc340 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80bbfba: 687b ldr r3, [r7, #4] 80bbfbc: 2200 movs r2, #0 80bbfbe: 771a strb r2, [r3, #28] } } /* Capture compare 3 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC3) != RESET) 80bbfc0: 687b ldr r3, [r7, #4] 80bbfc2: 681b ldr r3, [r3, #0] 80bbfc4: 691b ldr r3, [r3, #16] 80bbfc6: f003 0308 and.w r3, r3, #8 80bbfca: 2b08 cmp r3, #8 80bbfcc: d122 bne.n 80bc014 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC3) != RESET) 80bbfce: 687b ldr r3, [r7, #4] 80bbfd0: 681b ldr r3, [r3, #0] 80bbfd2: 68db ldr r3, [r3, #12] 80bbfd4: f003 0308 and.w r3, r3, #8 80bbfd8: 2b08 cmp r3, #8 80bbfda: d11b bne.n 80bc014 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC3); 80bbfdc: 687b ldr r3, [r7, #4] 80bbfde: 681b ldr r3, [r3, #0] 80bbfe0: f06f 0208 mvn.w r2, #8 80bbfe4: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_3; 80bbfe6: 687b ldr r3, [r7, #4] 80bbfe8: 2204 movs r2, #4 80bbfea: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC3S) != 0x00U) 80bbfec: 687b ldr r3, [r7, #4] 80bbfee: 681b ldr r3, [r3, #0] 80bbff0: 69db ldr r3, [r3, #28] 80bbff2: f003 0303 and.w r3, r3, #3 80bbff6: 2b00 cmp r3, #0 80bbff8: d003 beq.n 80bc002 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80bbffa: 6878 ldr r0, [r7, #4] 80bbffc: f000 f996 bl 80bc32c 80bc000: e005 b.n 80bc00e { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80bc002: 6878 ldr r0, [r7, #4] 80bc004: f000 f988 bl 80bc318 HAL_TIM_PWM_PulseFinishedCallback(htim); 80bc008: 6878 ldr r0, [r7, #4] 80bc00a: f000 f999 bl 80bc340 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80bc00e: 687b ldr r3, [r7, #4] 80bc010: 2200 movs r2, #0 80bc012: 771a strb r2, [r3, #28] } } /* Capture compare 4 event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_CC4) != RESET) 80bc014: 687b ldr r3, [r7, #4] 80bc016: 681b ldr r3, [r3, #0] 80bc018: 691b ldr r3, [r3, #16] 80bc01a: f003 0310 and.w r3, r3, #16 80bc01e: 2b10 cmp r3, #16 80bc020: d122 bne.n 80bc068 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_CC4) != RESET) 80bc022: 687b ldr r3, [r7, #4] 80bc024: 681b ldr r3, [r3, #0] 80bc026: 68db ldr r3, [r3, #12] 80bc028: f003 0310 and.w r3, r3, #16 80bc02c: 2b10 cmp r3, #16 80bc02e: d11b bne.n 80bc068 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_CC4); 80bc030: 687b ldr r3, [r7, #4] 80bc032: 681b ldr r3, [r3, #0] 80bc034: f06f 0210 mvn.w r2, #16 80bc038: 611a str r2, [r3, #16] htim->Channel = HAL_TIM_ACTIVE_CHANNEL_4; 80bc03a: 687b ldr r3, [r7, #4] 80bc03c: 2208 movs r2, #8 80bc03e: 771a strb r2, [r3, #28] /* Input capture event */ if ((htim->Instance->CCMR2 & TIM_CCMR2_CC4S) != 0x00U) 80bc040: 687b ldr r3, [r7, #4] 80bc042: 681b ldr r3, [r3, #0] 80bc044: 69db ldr r3, [r3, #28] 80bc046: f403 7340 and.w r3, r3, #768 ; 0x300 80bc04a: 2b00 cmp r3, #0 80bc04c: d003 beq.n 80bc056 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->IC_CaptureCallback(htim); #else HAL_TIM_IC_CaptureCallback(htim); 80bc04e: 6878 ldr r0, [r7, #4] 80bc050: f000 f96c bl 80bc32c 80bc054: e005 b.n 80bc062 { #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->OC_DelayElapsedCallback(htim); htim->PWM_PulseFinishedCallback(htim); #else HAL_TIM_OC_DelayElapsedCallback(htim); 80bc056: 6878 ldr r0, [r7, #4] 80bc058: f000 f95e bl 80bc318 HAL_TIM_PWM_PulseFinishedCallback(htim); 80bc05c: 6878 ldr r0, [r7, #4] 80bc05e: f000 f96f bl 80bc340 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } htim->Channel = HAL_TIM_ACTIVE_CHANNEL_CLEARED; 80bc062: 687b ldr r3, [r7, #4] 80bc064: 2200 movs r2, #0 80bc066: 771a strb r2, [r3, #28] } } /* TIM Update event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_UPDATE) != RESET) 80bc068: 687b ldr r3, [r7, #4] 80bc06a: 681b ldr r3, [r3, #0] 80bc06c: 691b ldr r3, [r3, #16] 80bc06e: f003 0301 and.w r3, r3, #1 80bc072: 2b01 cmp r3, #1 80bc074: d10e bne.n 80bc094 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_UPDATE) != RESET) 80bc076: 687b ldr r3, [r7, #4] 80bc078: 681b ldr r3, [r3, #0] 80bc07a: 68db ldr r3, [r3, #12] 80bc07c: f003 0301 and.w r3, r3, #1 80bc080: 2b01 cmp r3, #1 80bc082: d107 bne.n 80bc094 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_UPDATE); 80bc084: 687b ldr r3, [r7, #4] 80bc086: 681b ldr r3, [r3, #0] 80bc088: f06f 0201 mvn.w r2, #1 80bc08c: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->PeriodElapsedCallback(htim); #else HAL_TIM_PeriodElapsedCallback(htim); 80bc08e: 6878 ldr r0, [r7, #4] 80bc090: f7f2 fb62 bl 80ae758 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Break input event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK) != RESET) 80bc094: 687b ldr r3, [r7, #4] 80bc096: 681b ldr r3, [r3, #0] 80bc098: 691b ldr r3, [r3, #16] 80bc09a: f003 0380 and.w r3, r3, #128 ; 0x80 80bc09e: 2b80 cmp r3, #128 ; 0x80 80bc0a0: d10e bne.n 80bc0c0 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET) 80bc0a2: 687b ldr r3, [r7, #4] 80bc0a4: 681b ldr r3, [r3, #0] 80bc0a6: 68db ldr r3, [r3, #12] 80bc0a8: f003 0380 and.w r3, r3, #128 ; 0x80 80bc0ac: 2b80 cmp r3, #128 ; 0x80 80bc0ae: d107 bne.n 80bc0c0 { __HAL_TIM_CLEAR_IT(htim, TIM_IT_BREAK); 80bc0b0: 687b ldr r3, [r7, #4] 80bc0b2: 681b ldr r3, [r3, #0] 80bc0b4: f06f 0280 mvn.w r2, #128 ; 0x80 80bc0b8: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->BreakCallback(htim); #else HAL_TIMEx_BreakCallback(htim); 80bc0ba: 6878 ldr r0, [r7, #4] 80bc0bc: f000 fb26 bl 80bc70c #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Break2 input event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_BREAK2) != RESET) 80bc0c0: 687b ldr r3, [r7, #4] 80bc0c2: 681b ldr r3, [r3, #0] 80bc0c4: 691b ldr r3, [r3, #16] 80bc0c6: f403 7380 and.w r3, r3, #256 ; 0x100 80bc0ca: f5b3 7f80 cmp.w r3, #256 ; 0x100 80bc0ce: d10e bne.n 80bc0ee { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_BREAK) != RESET) 80bc0d0: 687b ldr r3, [r7, #4] 80bc0d2: 681b ldr r3, [r3, #0] 80bc0d4: 68db ldr r3, [r3, #12] 80bc0d6: f003 0380 and.w r3, r3, #128 ; 0x80 80bc0da: 2b80 cmp r3, #128 ; 0x80 80bc0dc: d107 bne.n 80bc0ee { __HAL_TIM_CLEAR_FLAG(htim, TIM_FLAG_BREAK2); 80bc0de: 687b ldr r3, [r7, #4] 80bc0e0: 681b ldr r3, [r3, #0] 80bc0e2: f46f 7280 mvn.w r2, #256 ; 0x100 80bc0e6: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->Break2Callback(htim); #else HAL_TIMEx_Break2Callback(htim); 80bc0e8: 6878 ldr r0, [r7, #4] 80bc0ea: f000 fb19 bl 80bc720 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM Trigger detection event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_TRIGGER) != RESET) 80bc0ee: 687b ldr r3, [r7, #4] 80bc0f0: 681b ldr r3, [r3, #0] 80bc0f2: 691b ldr r3, [r3, #16] 80bc0f4: f003 0340 and.w r3, r3, #64 ; 0x40 80bc0f8: 2b40 cmp r3, #64 ; 0x40 80bc0fa: d10e bne.n 80bc11a { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_TRIGGER) != RESET) 80bc0fc: 687b ldr r3, [r7, #4] 80bc0fe: 681b ldr r3, [r3, #0] 80bc100: 68db ldr r3, [r3, #12] 80bc102: f003 0340 and.w r3, r3, #64 ; 0x40 80bc106: 2b40 cmp r3, #64 ; 0x40 80bc108: d107 bne.n 80bc11a { __HAL_TIM_CLEAR_IT(htim, TIM_IT_TRIGGER); 80bc10a: 687b ldr r3, [r7, #4] 80bc10c: 681b ldr r3, [r3, #0] 80bc10e: f06f 0240 mvn.w r2, #64 ; 0x40 80bc112: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->TriggerCallback(htim); #else HAL_TIM_TriggerCallback(htim); 80bc114: 6878 ldr r0, [r7, #4] 80bc116: f000 f91d bl 80bc354 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } /* TIM commutation event */ if (__HAL_TIM_GET_FLAG(htim, TIM_FLAG_COM) != RESET) 80bc11a: 687b ldr r3, [r7, #4] 80bc11c: 681b ldr r3, [r3, #0] 80bc11e: 691b ldr r3, [r3, #16] 80bc120: f003 0320 and.w r3, r3, #32 80bc124: 2b20 cmp r3, #32 80bc126: d10e bne.n 80bc146 { if (__HAL_TIM_GET_IT_SOURCE(htim, TIM_IT_COM) != RESET) 80bc128: 687b ldr r3, [r7, #4] 80bc12a: 681b ldr r3, [r3, #0] 80bc12c: 68db ldr r3, [r3, #12] 80bc12e: f003 0320 and.w r3, r3, #32 80bc132: 2b20 cmp r3, #32 80bc134: d107 bne.n 80bc146 { __HAL_TIM_CLEAR_IT(htim, TIM_FLAG_COM); 80bc136: 687b ldr r3, [r7, #4] 80bc138: 681b ldr r3, [r3, #0] 80bc13a: f06f 0220 mvn.w r2, #32 80bc13e: 611a str r2, [r3, #16] #if (USE_HAL_TIM_REGISTER_CALLBACKS == 1) htim->CommutationCallback(htim); #else HAL_TIMEx_CommutCallback(htim); 80bc140: 6878 ldr r0, [r7, #4] 80bc142: f000 fad9 bl 80bc6f8 #endif /* USE_HAL_TIM_REGISTER_CALLBACKS */ } } } 80bc146: bf00 nop 80bc148: 3708 adds r7, #8 80bc14a: 46bd mov sp, r7 80bc14c: bd80 pop {r7, pc} 080bc14e : * only for timer instances supporting break input(s). * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_GenerateEvent(TIM_HandleTypeDef *htim, uint32_t EventSource) { 80bc14e: b480 push {r7} 80bc150: b083 sub sp, #12 80bc152: af00 add r7, sp, #0 80bc154: 6078 str r0, [r7, #4] 80bc156: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_TIM_INSTANCE(htim->Instance)); assert_param(IS_TIM_EVENT_SOURCE(EventSource)); /* Process Locked */ __HAL_LOCK(htim); 80bc158: 687b ldr r3, [r7, #4] 80bc15a: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80bc15e: 2b01 cmp r3, #1 80bc160: d101 bne.n 80bc166 80bc162: 2302 movs r3, #2 80bc164: e014 b.n 80bc190 80bc166: 687b ldr r3, [r7, #4] 80bc168: 2201 movs r2, #1 80bc16a: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Change the TIM state */ htim->State = HAL_TIM_STATE_BUSY; 80bc16e: 687b ldr r3, [r7, #4] 80bc170: 2202 movs r2, #2 80bc172: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Set the event sources */ htim->Instance->EGR = EventSource; 80bc176: 687b ldr r3, [r7, #4] 80bc178: 681b ldr r3, [r3, #0] 80bc17a: 683a ldr r2, [r7, #0] 80bc17c: 615a str r2, [r3, #20] /* Change the TIM state */ htim->State = HAL_TIM_STATE_READY; 80bc17e: 687b ldr r3, [r7, #4] 80bc180: 2201 movs r2, #1 80bc182: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); 80bc186: 687b ldr r3, [r7, #4] 80bc188: 2200 movs r2, #0 80bc18a: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Return function status */ return HAL_OK; 80bc18e: 2300 movs r3, #0 } 80bc190: 4618 mov r0, r3 80bc192: 370c adds r7, #12 80bc194: 46bd mov sp, r7 80bc196: f85d 7b04 ldr.w r7, [sp], #4 80bc19a: 4770 bx lr 080bc19c : * @param sClockSourceConfig pointer to a TIM_ClockConfigTypeDef structure that * contains the clock source information for the TIM peripheral. * @retval HAL status */ HAL_StatusTypeDef HAL_TIM_ConfigClockSource(TIM_HandleTypeDef *htim, TIM_ClockConfigTypeDef *sClockSourceConfig) { 80bc19c: b580 push {r7, lr} 80bc19e: b084 sub sp, #16 80bc1a0: af00 add r7, sp, #0 80bc1a2: 6078 str r0, [r7, #4] 80bc1a4: 6039 str r1, [r7, #0] HAL_StatusTypeDef status = HAL_OK; 80bc1a6: 2300 movs r3, #0 80bc1a8: 73fb strb r3, [r7, #15] uint32_t tmpsmcr; /* Process Locked */ __HAL_LOCK(htim); 80bc1aa: 687b ldr r3, [r7, #4] 80bc1ac: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80bc1b0: 2b01 cmp r3, #1 80bc1b2: d101 bne.n 80bc1b8 80bc1b4: 2302 movs r3, #2 80bc1b6: e0a9 b.n 80bc30c 80bc1b8: 687b ldr r3, [r7, #4] 80bc1ba: 2201 movs r2, #1 80bc1bc: f883 203c strb.w r2, [r3, #60] ; 0x3c htim->State = HAL_TIM_STATE_BUSY; 80bc1c0: 687b ldr r3, [r7, #4] 80bc1c2: 2202 movs r2, #2 80bc1c4: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Check the parameters */ assert_param(IS_TIM_CLOCKSOURCE(sClockSourceConfig->ClockSource)); /* Reset the SMS, TS, ECE, ETPS and ETRF bits */ tmpsmcr = htim->Instance->SMCR; 80bc1c8: 687b ldr r3, [r7, #4] 80bc1ca: 681b ldr r3, [r3, #0] 80bc1cc: 689b ldr r3, [r3, #8] 80bc1ce: 60bb str r3, [r7, #8] tmpsmcr &= ~(TIM_SMCR_SMS | TIM_SMCR_TS); 80bc1d0: 68ba ldr r2, [r7, #8] 80bc1d2: 4b50 ldr r3, [pc, #320] ; (80bc314 ) 80bc1d4: 4013 ands r3, r2 80bc1d6: 60bb str r3, [r7, #8] tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); 80bc1d8: 68bb ldr r3, [r7, #8] 80bc1da: f423 437f bic.w r3, r3, #65280 ; 0xff00 80bc1de: 60bb str r3, [r7, #8] htim->Instance->SMCR = tmpsmcr; 80bc1e0: 687b ldr r3, [r7, #4] 80bc1e2: 681b ldr r3, [r3, #0] 80bc1e4: 68ba ldr r2, [r7, #8] 80bc1e6: 609a str r2, [r3, #8] switch (sClockSourceConfig->ClockSource) 80bc1e8: 683b ldr r3, [r7, #0] 80bc1ea: 681b ldr r3, [r3, #0] 80bc1ec: 2b40 cmp r3, #64 ; 0x40 80bc1ee: d067 beq.n 80bc2c0 80bc1f0: 2b40 cmp r3, #64 ; 0x40 80bc1f2: d80b bhi.n 80bc20c 80bc1f4: 2b10 cmp r3, #16 80bc1f6: d073 beq.n 80bc2e0 80bc1f8: 2b10 cmp r3, #16 80bc1fa: d802 bhi.n 80bc202 80bc1fc: 2b00 cmp r3, #0 80bc1fe: d06f beq.n 80bc2e0 80bc200: e077 b.n 80bc2f2 80bc202: 2b20 cmp r3, #32 80bc204: d06c beq.n 80bc2e0 80bc206: 2b30 cmp r3, #48 ; 0x30 80bc208: d06a beq.n 80bc2e0 80bc20a: e072 b.n 80bc2f2 80bc20c: 2b70 cmp r3, #112 ; 0x70 80bc20e: d00d beq.n 80bc22c 80bc210: 2b70 cmp r3, #112 ; 0x70 80bc212: d804 bhi.n 80bc21e 80bc214: 2b50 cmp r3, #80 ; 0x50 80bc216: d033 beq.n 80bc280 80bc218: 2b60 cmp r3, #96 ; 0x60 80bc21a: d041 beq.n 80bc2a0 80bc21c: e069 b.n 80bc2f2 80bc21e: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80bc222: d069 beq.n 80bc2f8 80bc224: f5b3 5f00 cmp.w r3, #8192 ; 0x2000 80bc228: d017 beq.n 80bc25a 80bc22a: e062 b.n 80bc2f2 assert_param(IS_TIM_CLOCKPRESCALER(sClockSourceConfig->ClockPrescaler)); assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); /* Configure the ETR Clock source */ TIM_ETR_SetConfig(htim->Instance, 80bc22c: 687b ldr r3, [r7, #4] 80bc22e: 6818 ldr r0, [r3, #0] 80bc230: 683b ldr r3, [r7, #0] 80bc232: 6899 ldr r1, [r3, #8] 80bc234: 683b ldr r3, [r7, #0] 80bc236: 685a ldr r2, [r3, #4] 80bc238: 683b ldr r3, [r7, #0] 80bc23a: 68db ldr r3, [r3, #12] 80bc23c: f000 f9ae bl 80bc59c sClockSourceConfig->ClockPrescaler, sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); /* Select the External clock mode1 and the ETRF trigger */ tmpsmcr = htim->Instance->SMCR; 80bc240: 687b ldr r3, [r7, #4] 80bc242: 681b ldr r3, [r3, #0] 80bc244: 689b ldr r3, [r3, #8] 80bc246: 60bb str r3, [r7, #8] tmpsmcr |= (TIM_SLAVEMODE_EXTERNAL1 | TIM_CLOCKSOURCE_ETRMODE1); 80bc248: 68bb ldr r3, [r7, #8] 80bc24a: f043 0377 orr.w r3, r3, #119 ; 0x77 80bc24e: 60bb str r3, [r7, #8] /* Write to TIMx SMCR */ htim->Instance->SMCR = tmpsmcr; 80bc250: 687b ldr r3, [r7, #4] 80bc252: 681b ldr r3, [r3, #0] 80bc254: 68ba ldr r2, [r7, #8] 80bc256: 609a str r2, [r3, #8] break; 80bc258: e04f b.n 80bc2fa assert_param(IS_TIM_CLOCKPRESCALER(sClockSourceConfig->ClockPrescaler)); assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); /* Configure the ETR Clock source */ TIM_ETR_SetConfig(htim->Instance, 80bc25a: 687b ldr r3, [r7, #4] 80bc25c: 6818 ldr r0, [r3, #0] 80bc25e: 683b ldr r3, [r7, #0] 80bc260: 6899 ldr r1, [r3, #8] 80bc262: 683b ldr r3, [r7, #0] 80bc264: 685a ldr r2, [r3, #4] 80bc266: 683b ldr r3, [r7, #0] 80bc268: 68db ldr r3, [r3, #12] 80bc26a: f000 f997 bl 80bc59c sClockSourceConfig->ClockPrescaler, sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); /* Enable the External clock mode2 */ htim->Instance->SMCR |= TIM_SMCR_ECE; 80bc26e: 687b ldr r3, [r7, #4] 80bc270: 681b ldr r3, [r3, #0] 80bc272: 687a ldr r2, [r7, #4] 80bc274: 6812 ldr r2, [r2, #0] 80bc276: 6892 ldr r2, [r2, #8] 80bc278: f442 4280 orr.w r2, r2, #16384 ; 0x4000 80bc27c: 609a str r2, [r3, #8] break; 80bc27e: e03c b.n 80bc2fa /* Check TI1 input conditioning related parameters */ assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); TIM_TI1_ConfigInputStage(htim->Instance, 80bc280: 687b ldr r3, [r7, #4] 80bc282: 6818 ldr r0, [r3, #0] 80bc284: 683b ldr r3, [r7, #0] 80bc286: 6859 ldr r1, [r3, #4] 80bc288: 683b ldr r3, [r7, #0] 80bc28a: 68db ldr r3, [r3, #12] 80bc28c: 461a mov r2, r3 80bc28e: f000 f90b bl 80bc4a8 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1); 80bc292: 687b ldr r3, [r7, #4] 80bc294: 681b ldr r3, [r3, #0] 80bc296: 2150 movs r1, #80 ; 0x50 80bc298: 4618 mov r0, r3 80bc29a: f000 f964 bl 80bc566 break; 80bc29e: e02c b.n 80bc2fa /* Check TI2 input conditioning related parameters */ assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); TIM_TI2_ConfigInputStage(htim->Instance, 80bc2a0: 687b ldr r3, [r7, #4] 80bc2a2: 6818 ldr r0, [r3, #0] 80bc2a4: 683b ldr r3, [r7, #0] 80bc2a6: 6859 ldr r1, [r3, #4] 80bc2a8: 683b ldr r3, [r7, #0] 80bc2aa: 68db ldr r3, [r3, #12] 80bc2ac: 461a mov r2, r3 80bc2ae: f000 f92a bl 80bc506 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI2); 80bc2b2: 687b ldr r3, [r7, #4] 80bc2b4: 681b ldr r3, [r3, #0] 80bc2b6: 2160 movs r1, #96 ; 0x60 80bc2b8: 4618 mov r0, r3 80bc2ba: f000 f954 bl 80bc566 break; 80bc2be: e01c b.n 80bc2fa /* Check TI1 input conditioning related parameters */ assert_param(IS_TIM_CLOCKPOLARITY(sClockSourceConfig->ClockPolarity)); assert_param(IS_TIM_CLOCKFILTER(sClockSourceConfig->ClockFilter)); TIM_TI1_ConfigInputStage(htim->Instance, 80bc2c0: 687b ldr r3, [r7, #4] 80bc2c2: 6818 ldr r0, [r3, #0] 80bc2c4: 683b ldr r3, [r7, #0] 80bc2c6: 6859 ldr r1, [r3, #4] 80bc2c8: 683b ldr r3, [r7, #0] 80bc2ca: 68db ldr r3, [r3, #12] 80bc2cc: 461a mov r2, r3 80bc2ce: f000 f8eb bl 80bc4a8 sClockSourceConfig->ClockPolarity, sClockSourceConfig->ClockFilter); TIM_ITRx_SetConfig(htim->Instance, TIM_CLOCKSOURCE_TI1ED); 80bc2d2: 687b ldr r3, [r7, #4] 80bc2d4: 681b ldr r3, [r3, #0] 80bc2d6: 2140 movs r1, #64 ; 0x40 80bc2d8: 4618 mov r0, r3 80bc2da: f000 f944 bl 80bc566 break; 80bc2de: e00c b.n 80bc2fa case TIM_CLOCKSOURCE_ITR3: { /* Check whether or not the timer instance supports internal trigger input */ assert_param(IS_TIM_CLOCKSOURCE_ITRX_INSTANCE(htim->Instance)); TIM_ITRx_SetConfig(htim->Instance, sClockSourceConfig->ClockSource); 80bc2e0: 687b ldr r3, [r7, #4] 80bc2e2: 681a ldr r2, [r3, #0] 80bc2e4: 683b ldr r3, [r7, #0] 80bc2e6: 681b ldr r3, [r3, #0] 80bc2e8: 4619 mov r1, r3 80bc2ea: 4610 mov r0, r2 80bc2ec: f000 f93b bl 80bc566 break; 80bc2f0: e003 b.n 80bc2fa } default: status = HAL_ERROR; 80bc2f2: 2301 movs r3, #1 80bc2f4: 73fb strb r3, [r7, #15] break; 80bc2f6: e000 b.n 80bc2fa break; 80bc2f8: bf00 nop } htim->State = HAL_TIM_STATE_READY; 80bc2fa: 687b ldr r3, [r7, #4] 80bc2fc: 2201 movs r2, #1 80bc2fe: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); 80bc302: 687b ldr r3, [r7, #4] 80bc304: 2200 movs r2, #0 80bc306: f883 203c strb.w r2, [r3, #60] ; 0x3c return status; 80bc30a: 7bfb ldrb r3, [r7, #15] } 80bc30c: 4618 mov r0, r3 80bc30e: 3710 adds r7, #16 80bc310: 46bd mov sp, r7 80bc312: bd80 pop {r7, pc} 80bc314: fffeff88 .word 0xfffeff88 080bc318 : * @brief Output Compare callback in non-blocking mode * @param htim TIM OC handle * @retval None */ __weak void HAL_TIM_OC_DelayElapsedCallback(TIM_HandleTypeDef *htim) { 80bc318: b480 push {r7} 80bc31a: b083 sub sp, #12 80bc31c: af00 add r7, sp, #0 80bc31e: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_OC_DelayElapsedCallback could be implemented in the user file */ } 80bc320: bf00 nop 80bc322: 370c adds r7, #12 80bc324: 46bd mov sp, r7 80bc326: f85d 7b04 ldr.w r7, [sp], #4 80bc32a: 4770 bx lr 080bc32c : * @brief Input Capture callback in non-blocking mode * @param htim TIM IC handle * @retval None */ __weak void HAL_TIM_IC_CaptureCallback(TIM_HandleTypeDef *htim) { 80bc32c: b480 push {r7} 80bc32e: b083 sub sp, #12 80bc330: af00 add r7, sp, #0 80bc332: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_IC_CaptureCallback could be implemented in the user file */ } 80bc334: bf00 nop 80bc336: 370c adds r7, #12 80bc338: 46bd mov sp, r7 80bc33a: f85d 7b04 ldr.w r7, [sp], #4 80bc33e: 4770 bx lr 080bc340 : * @brief PWM Pulse finished callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_PWM_PulseFinishedCallback(TIM_HandleTypeDef *htim) { 80bc340: b480 push {r7} 80bc342: b083 sub sp, #12 80bc344: af00 add r7, sp, #0 80bc346: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_PWM_PulseFinishedCallback could be implemented in the user file */ } 80bc348: bf00 nop 80bc34a: 370c adds r7, #12 80bc34c: 46bd mov sp, r7 80bc34e: f85d 7b04 ldr.w r7, [sp], #4 80bc352: 4770 bx lr 080bc354 : * @brief Hall Trigger detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIM_TriggerCallback(TIM_HandleTypeDef *htim) { 80bc354: b480 push {r7} 80bc356: b083 sub sp, #12 80bc358: af00 add r7, sp, #0 80bc35a: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIM_TriggerCallback could be implemented in the user file */ } 80bc35c: bf00 nop 80bc35e: 370c adds r7, #12 80bc360: 46bd mov sp, r7 80bc362: f85d 7b04 ldr.w r7, [sp], #4 80bc366: 4770 bx lr 080bc368 : * @param TIMx TIM peripheral * @param Structure TIM Base configuration structure * @retval None */ void TIM_Base_SetConfig(TIM_TypeDef *TIMx, TIM_Base_InitTypeDef *Structure) { 80bc368: b480 push {r7} 80bc36a: b085 sub sp, #20 80bc36c: af00 add r7, sp, #0 80bc36e: 6078 str r0, [r7, #4] 80bc370: 6039 str r1, [r7, #0] uint32_t tmpcr1; tmpcr1 = TIMx->CR1; 80bc372: 687b ldr r3, [r7, #4] 80bc374: 681b ldr r3, [r3, #0] 80bc376: 60fb str r3, [r7, #12] /* Set TIM Time Base Unit parameters ---------------------------------------*/ if (IS_TIM_COUNTER_MODE_SELECT_INSTANCE(TIMx)) 80bc378: 687b ldr r3, [r7, #4] 80bc37a: 4a40 ldr r2, [pc, #256] ; (80bc47c ) 80bc37c: 4293 cmp r3, r2 80bc37e: d013 beq.n 80bc3a8 80bc380: 687b ldr r3, [r7, #4] 80bc382: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80bc386: d00f beq.n 80bc3a8 80bc388: 687b ldr r3, [r7, #4] 80bc38a: 4a3d ldr r2, [pc, #244] ; (80bc480 ) 80bc38c: 4293 cmp r3, r2 80bc38e: d00b beq.n 80bc3a8 80bc390: 687b ldr r3, [r7, #4] 80bc392: 4a3c ldr r2, [pc, #240] ; (80bc484 ) 80bc394: 4293 cmp r3, r2 80bc396: d007 beq.n 80bc3a8 80bc398: 687b ldr r3, [r7, #4] 80bc39a: 4a3b ldr r2, [pc, #236] ; (80bc488 ) 80bc39c: 4293 cmp r3, r2 80bc39e: d003 beq.n 80bc3a8 80bc3a0: 687b ldr r3, [r7, #4] 80bc3a2: 4a3a ldr r2, [pc, #232] ; (80bc48c ) 80bc3a4: 4293 cmp r3, r2 80bc3a6: d108 bne.n 80bc3ba { /* Select the Counter Mode */ tmpcr1 &= ~(TIM_CR1_DIR | TIM_CR1_CMS); 80bc3a8: 68fb ldr r3, [r7, #12] 80bc3aa: f023 0370 bic.w r3, r3, #112 ; 0x70 80bc3ae: 60fb str r3, [r7, #12] tmpcr1 |= Structure->CounterMode; 80bc3b0: 683b ldr r3, [r7, #0] 80bc3b2: 685b ldr r3, [r3, #4] 80bc3b4: 68fa ldr r2, [r7, #12] 80bc3b6: 4313 orrs r3, r2 80bc3b8: 60fb str r3, [r7, #12] } if (IS_TIM_CLOCK_DIVISION_INSTANCE(TIMx)) 80bc3ba: 687b ldr r3, [r7, #4] 80bc3bc: 4a2f ldr r2, [pc, #188] ; (80bc47c ) 80bc3be: 4293 cmp r3, r2 80bc3c0: d02b beq.n 80bc41a 80bc3c2: 687b ldr r3, [r7, #4] 80bc3c4: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80bc3c8: d027 beq.n 80bc41a 80bc3ca: 687b ldr r3, [r7, #4] 80bc3cc: 4a2c ldr r2, [pc, #176] ; (80bc480 ) 80bc3ce: 4293 cmp r3, r2 80bc3d0: d023 beq.n 80bc41a 80bc3d2: 687b ldr r3, [r7, #4] 80bc3d4: 4a2b ldr r2, [pc, #172] ; (80bc484 ) 80bc3d6: 4293 cmp r3, r2 80bc3d8: d01f beq.n 80bc41a 80bc3da: 687b ldr r3, [r7, #4] 80bc3dc: 4a2a ldr r2, [pc, #168] ; (80bc488 ) 80bc3de: 4293 cmp r3, r2 80bc3e0: d01b beq.n 80bc41a 80bc3e2: 687b ldr r3, [r7, #4] 80bc3e4: 4a29 ldr r2, [pc, #164] ; (80bc48c ) 80bc3e6: 4293 cmp r3, r2 80bc3e8: d017 beq.n 80bc41a 80bc3ea: 687b ldr r3, [r7, #4] 80bc3ec: 4a28 ldr r2, [pc, #160] ; (80bc490 ) 80bc3ee: 4293 cmp r3, r2 80bc3f0: d013 beq.n 80bc41a 80bc3f2: 687b ldr r3, [r7, #4] 80bc3f4: 4a27 ldr r2, [pc, #156] ; (80bc494 ) 80bc3f6: 4293 cmp r3, r2 80bc3f8: d00f beq.n 80bc41a 80bc3fa: 687b ldr r3, [r7, #4] 80bc3fc: 4a26 ldr r2, [pc, #152] ; (80bc498 ) 80bc3fe: 4293 cmp r3, r2 80bc400: d00b beq.n 80bc41a 80bc402: 687b ldr r3, [r7, #4] 80bc404: 4a25 ldr r2, [pc, #148] ; (80bc49c ) 80bc406: 4293 cmp r3, r2 80bc408: d007 beq.n 80bc41a 80bc40a: 687b ldr r3, [r7, #4] 80bc40c: 4a24 ldr r2, [pc, #144] ; (80bc4a0 ) 80bc40e: 4293 cmp r3, r2 80bc410: d003 beq.n 80bc41a 80bc412: 687b ldr r3, [r7, #4] 80bc414: 4a23 ldr r2, [pc, #140] ; (80bc4a4 ) 80bc416: 4293 cmp r3, r2 80bc418: d108 bne.n 80bc42c { /* Set the clock division */ tmpcr1 &= ~TIM_CR1_CKD; 80bc41a: 68fb ldr r3, [r7, #12] 80bc41c: f423 7340 bic.w r3, r3, #768 ; 0x300 80bc420: 60fb str r3, [r7, #12] tmpcr1 |= (uint32_t)Structure->ClockDivision; 80bc422: 683b ldr r3, [r7, #0] 80bc424: 68db ldr r3, [r3, #12] 80bc426: 68fa ldr r2, [r7, #12] 80bc428: 4313 orrs r3, r2 80bc42a: 60fb str r3, [r7, #12] } /* Set the auto-reload preload */ MODIFY_REG(tmpcr1, TIM_CR1_ARPE, Structure->AutoReloadPreload); 80bc42c: 68fb ldr r3, [r7, #12] 80bc42e: f023 0280 bic.w r2, r3, #128 ; 0x80 80bc432: 683b ldr r3, [r7, #0] 80bc434: 695b ldr r3, [r3, #20] 80bc436: 4313 orrs r3, r2 80bc438: 60fb str r3, [r7, #12] TIMx->CR1 = tmpcr1; 80bc43a: 687b ldr r3, [r7, #4] 80bc43c: 68fa ldr r2, [r7, #12] 80bc43e: 601a str r2, [r3, #0] /* Set the Autoreload value */ TIMx->ARR = (uint32_t)Structure->Period ; 80bc440: 683b ldr r3, [r7, #0] 80bc442: 689a ldr r2, [r3, #8] 80bc444: 687b ldr r3, [r7, #4] 80bc446: 62da str r2, [r3, #44] ; 0x2c /* Set the Prescaler value */ TIMx->PSC = Structure->Prescaler; 80bc448: 683b ldr r3, [r7, #0] 80bc44a: 681a ldr r2, [r3, #0] 80bc44c: 687b ldr r3, [r7, #4] 80bc44e: 629a str r2, [r3, #40] ; 0x28 if (IS_TIM_REPETITION_COUNTER_INSTANCE(TIMx)) 80bc450: 687b ldr r3, [r7, #4] 80bc452: 4a0a ldr r2, [pc, #40] ; (80bc47c ) 80bc454: 4293 cmp r3, r2 80bc456: d003 beq.n 80bc460 80bc458: 687b ldr r3, [r7, #4] 80bc45a: 4a0c ldr r2, [pc, #48] ; (80bc48c ) 80bc45c: 4293 cmp r3, r2 80bc45e: d103 bne.n 80bc468 { /* Set the Repetition Counter value */ TIMx->RCR = Structure->RepetitionCounter; 80bc460: 683b ldr r3, [r7, #0] 80bc462: 691a ldr r2, [r3, #16] 80bc464: 687b ldr r3, [r7, #4] 80bc466: 631a str r2, [r3, #48] ; 0x30 } /* Generate an update event to reload the Prescaler and the repetition counter (only for advanced timer) value immediately */ TIMx->EGR = TIM_EGR_UG; 80bc468: 687b ldr r3, [r7, #4] 80bc46a: 2201 movs r2, #1 80bc46c: 615a str r2, [r3, #20] } 80bc46e: bf00 nop 80bc470: 3714 adds r7, #20 80bc472: 46bd mov sp, r7 80bc474: f85d 7b04 ldr.w r7, [sp], #4 80bc478: 4770 bx lr 80bc47a: bf00 nop 80bc47c: 40010000 .word 0x40010000 80bc480: 40000400 .word 0x40000400 80bc484: 40000800 .word 0x40000800 80bc488: 40000c00 .word 0x40000c00 80bc48c: 40010400 .word 0x40010400 80bc490: 40014000 .word 0x40014000 80bc494: 40014400 .word 0x40014400 80bc498: 40014800 .word 0x40014800 80bc49c: 40001800 .word 0x40001800 80bc4a0: 40001c00 .word 0x40001c00 80bc4a4: 40002000 .word 0x40002000 080bc4a8 : * @param TIM_ICFilter Specifies the Input Capture Filter. * This parameter must be a value between 0x00 and 0x0F. * @retval None */ static void TIM_TI1_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter) { 80bc4a8: b480 push {r7} 80bc4aa: b087 sub sp, #28 80bc4ac: af00 add r7, sp, #0 80bc4ae: 60f8 str r0, [r7, #12] 80bc4b0: 60b9 str r1, [r7, #8] 80bc4b2: 607a str r2, [r7, #4] uint32_t tmpccmr1; uint32_t tmpccer; /* Disable the Channel 1: Reset the CC1E Bit */ tmpccer = TIMx->CCER; 80bc4b4: 68fb ldr r3, [r7, #12] 80bc4b6: 6a1b ldr r3, [r3, #32] 80bc4b8: 617b str r3, [r7, #20] TIMx->CCER &= ~TIM_CCER_CC1E; 80bc4ba: 68fb ldr r3, [r7, #12] 80bc4bc: 6a1b ldr r3, [r3, #32] 80bc4be: f023 0201 bic.w r2, r3, #1 80bc4c2: 68fb ldr r3, [r7, #12] 80bc4c4: 621a str r2, [r3, #32] tmpccmr1 = TIMx->CCMR1; 80bc4c6: 68fb ldr r3, [r7, #12] 80bc4c8: 699b ldr r3, [r3, #24] 80bc4ca: 613b str r3, [r7, #16] /* Set the filter */ tmpccmr1 &= ~TIM_CCMR1_IC1F; 80bc4cc: 693b ldr r3, [r7, #16] 80bc4ce: f023 03f0 bic.w r3, r3, #240 ; 0xf0 80bc4d2: 613b str r3, [r7, #16] tmpccmr1 |= (TIM_ICFilter << 4U); 80bc4d4: 687b ldr r3, [r7, #4] 80bc4d6: 011b lsls r3, r3, #4 80bc4d8: 693a ldr r2, [r7, #16] 80bc4da: 4313 orrs r3, r2 80bc4dc: 613b str r3, [r7, #16] /* Select the Polarity and set the CC1E Bit */ tmpccer &= ~(TIM_CCER_CC1P | TIM_CCER_CC1NP); 80bc4de: 697b ldr r3, [r7, #20] 80bc4e0: f023 030a bic.w r3, r3, #10 80bc4e4: 617b str r3, [r7, #20] tmpccer |= TIM_ICPolarity; 80bc4e6: 697a ldr r2, [r7, #20] 80bc4e8: 68bb ldr r3, [r7, #8] 80bc4ea: 4313 orrs r3, r2 80bc4ec: 617b str r3, [r7, #20] /* Write to TIMx CCMR1 and CCER registers */ TIMx->CCMR1 = tmpccmr1; 80bc4ee: 68fb ldr r3, [r7, #12] 80bc4f0: 693a ldr r2, [r7, #16] 80bc4f2: 619a str r2, [r3, #24] TIMx->CCER = tmpccer; 80bc4f4: 68fb ldr r3, [r7, #12] 80bc4f6: 697a ldr r2, [r7, #20] 80bc4f8: 621a str r2, [r3, #32] } 80bc4fa: bf00 nop 80bc4fc: 371c adds r7, #28 80bc4fe: 46bd mov sp, r7 80bc500: f85d 7b04 ldr.w r7, [sp], #4 80bc504: 4770 bx lr 080bc506 : * @param TIM_ICFilter Specifies the Input Capture Filter. * This parameter must be a value between 0x00 and 0x0F. * @retval None */ static void TIM_TI2_ConfigInputStage(TIM_TypeDef *TIMx, uint32_t TIM_ICPolarity, uint32_t TIM_ICFilter) { 80bc506: b480 push {r7} 80bc508: b087 sub sp, #28 80bc50a: af00 add r7, sp, #0 80bc50c: 60f8 str r0, [r7, #12] 80bc50e: 60b9 str r1, [r7, #8] 80bc510: 607a str r2, [r7, #4] uint32_t tmpccmr1; uint32_t tmpccer; /* Disable the Channel 2: Reset the CC2E Bit */ TIMx->CCER &= ~TIM_CCER_CC2E; 80bc512: 68fb ldr r3, [r7, #12] 80bc514: 6a1b ldr r3, [r3, #32] 80bc516: f023 0210 bic.w r2, r3, #16 80bc51a: 68fb ldr r3, [r7, #12] 80bc51c: 621a str r2, [r3, #32] tmpccmr1 = TIMx->CCMR1; 80bc51e: 68fb ldr r3, [r7, #12] 80bc520: 699b ldr r3, [r3, #24] 80bc522: 617b str r3, [r7, #20] tmpccer = TIMx->CCER; 80bc524: 68fb ldr r3, [r7, #12] 80bc526: 6a1b ldr r3, [r3, #32] 80bc528: 613b str r3, [r7, #16] /* Set the filter */ tmpccmr1 &= ~TIM_CCMR1_IC2F; 80bc52a: 697b ldr r3, [r7, #20] 80bc52c: f423 4370 bic.w r3, r3, #61440 ; 0xf000 80bc530: 617b str r3, [r7, #20] tmpccmr1 |= (TIM_ICFilter << 12U); 80bc532: 687b ldr r3, [r7, #4] 80bc534: 031b lsls r3, r3, #12 80bc536: 697a ldr r2, [r7, #20] 80bc538: 4313 orrs r3, r2 80bc53a: 617b str r3, [r7, #20] /* Select the Polarity and set the CC2E Bit */ tmpccer &= ~(TIM_CCER_CC2P | TIM_CCER_CC2NP); 80bc53c: 693b ldr r3, [r7, #16] 80bc53e: f023 03a0 bic.w r3, r3, #160 ; 0xa0 80bc542: 613b str r3, [r7, #16] tmpccer |= (TIM_ICPolarity << 4U); 80bc544: 68bb ldr r3, [r7, #8] 80bc546: 011b lsls r3, r3, #4 80bc548: 693a ldr r2, [r7, #16] 80bc54a: 4313 orrs r3, r2 80bc54c: 613b str r3, [r7, #16] /* Write to TIMx CCMR1 and CCER registers */ TIMx->CCMR1 = tmpccmr1 ; 80bc54e: 68fb ldr r3, [r7, #12] 80bc550: 697a ldr r2, [r7, #20] 80bc552: 619a str r2, [r3, #24] TIMx->CCER = tmpccer; 80bc554: 68fb ldr r3, [r7, #12] 80bc556: 693a ldr r2, [r7, #16] 80bc558: 621a str r2, [r3, #32] } 80bc55a: bf00 nop 80bc55c: 371c adds r7, #28 80bc55e: 46bd mov sp, r7 80bc560: f85d 7b04 ldr.w r7, [sp], #4 80bc564: 4770 bx lr 080bc566 : * @arg TIM_TS_TI2FP2: Filtered Timer Input 2 * @arg TIM_TS_ETRF: External Trigger input * @retval None */ static void TIM_ITRx_SetConfig(TIM_TypeDef *TIMx, uint32_t InputTriggerSource) { 80bc566: b480 push {r7} 80bc568: b085 sub sp, #20 80bc56a: af00 add r7, sp, #0 80bc56c: 6078 str r0, [r7, #4] 80bc56e: 6039 str r1, [r7, #0] uint32_t tmpsmcr; /* Get the TIMx SMCR register value */ tmpsmcr = TIMx->SMCR; 80bc570: 687b ldr r3, [r7, #4] 80bc572: 689b ldr r3, [r3, #8] 80bc574: 60fb str r3, [r7, #12] /* Reset the TS Bits */ tmpsmcr &= ~TIM_SMCR_TS; 80bc576: 68fb ldr r3, [r7, #12] 80bc578: f023 0370 bic.w r3, r3, #112 ; 0x70 80bc57c: 60fb str r3, [r7, #12] /* Set the Input Trigger source and the slave mode*/ tmpsmcr |= (InputTriggerSource | TIM_SLAVEMODE_EXTERNAL1); 80bc57e: 683a ldr r2, [r7, #0] 80bc580: 68fb ldr r3, [r7, #12] 80bc582: 4313 orrs r3, r2 80bc584: f043 0307 orr.w r3, r3, #7 80bc588: 60fb str r3, [r7, #12] /* Write to TIMx SMCR */ TIMx->SMCR = tmpsmcr; 80bc58a: 687b ldr r3, [r7, #4] 80bc58c: 68fa ldr r2, [r7, #12] 80bc58e: 609a str r2, [r3, #8] } 80bc590: bf00 nop 80bc592: 3714 adds r7, #20 80bc594: 46bd mov sp, r7 80bc596: f85d 7b04 ldr.w r7, [sp], #4 80bc59a: 4770 bx lr 080bc59c : * This parameter must be a value between 0x00 and 0x0F * @retval None */ void TIM_ETR_SetConfig(TIM_TypeDef *TIMx, uint32_t TIM_ExtTRGPrescaler, uint32_t TIM_ExtTRGPolarity, uint32_t ExtTRGFilter) { 80bc59c: b480 push {r7} 80bc59e: b087 sub sp, #28 80bc5a0: af00 add r7, sp, #0 80bc5a2: 60f8 str r0, [r7, #12] 80bc5a4: 60b9 str r1, [r7, #8] 80bc5a6: 607a str r2, [r7, #4] 80bc5a8: 603b str r3, [r7, #0] uint32_t tmpsmcr; tmpsmcr = TIMx->SMCR; 80bc5aa: 68fb ldr r3, [r7, #12] 80bc5ac: 689b ldr r3, [r3, #8] 80bc5ae: 617b str r3, [r7, #20] /* Reset the ETR Bits */ tmpsmcr &= ~(TIM_SMCR_ETF | TIM_SMCR_ETPS | TIM_SMCR_ECE | TIM_SMCR_ETP); 80bc5b0: 697b ldr r3, [r7, #20] 80bc5b2: f423 437f bic.w r3, r3, #65280 ; 0xff00 80bc5b6: 617b str r3, [r7, #20] /* Set the Prescaler, the Filter value and the Polarity */ tmpsmcr |= (uint32_t)(TIM_ExtTRGPrescaler | (TIM_ExtTRGPolarity | (ExtTRGFilter << 8U))); 80bc5b8: 683b ldr r3, [r7, #0] 80bc5ba: 021a lsls r2, r3, #8 80bc5bc: 687b ldr r3, [r7, #4] 80bc5be: 431a orrs r2, r3 80bc5c0: 68bb ldr r3, [r7, #8] 80bc5c2: 4313 orrs r3, r2 80bc5c4: 697a ldr r2, [r7, #20] 80bc5c6: 4313 orrs r3, r2 80bc5c8: 617b str r3, [r7, #20] /* Write to TIMx SMCR */ TIMx->SMCR = tmpsmcr; 80bc5ca: 68fb ldr r3, [r7, #12] 80bc5cc: 697a ldr r2, [r7, #20] 80bc5ce: 609a str r2, [r3, #8] } 80bc5d0: bf00 nop 80bc5d2: 371c adds r7, #28 80bc5d4: 46bd mov sp, r7 80bc5d6: f85d 7b04 ldr.w r7, [sp], #4 80bc5da: 4770 bx lr 080bc5dc : * mode. * @retval HAL status */ HAL_StatusTypeDef HAL_TIMEx_MasterConfigSynchronization(TIM_HandleTypeDef *htim, TIM_MasterConfigTypeDef *sMasterConfig) { 80bc5dc: b480 push {r7} 80bc5de: b085 sub sp, #20 80bc5e0: af00 add r7, sp, #0 80bc5e2: 6078 str r0, [r7, #4] 80bc5e4: 6039 str r1, [r7, #0] assert_param(IS_TIM_MASTER_INSTANCE(htim->Instance)); assert_param(IS_TIM_TRGO_SOURCE(sMasterConfig->MasterOutputTrigger)); assert_param(IS_TIM_MSM_STATE(sMasterConfig->MasterSlaveMode)); /* Check input state */ __HAL_LOCK(htim); 80bc5e6: 687b ldr r3, [r7, #4] 80bc5e8: f893 303c ldrb.w r3, [r3, #60] ; 0x3c 80bc5ec: 2b01 cmp r3, #1 80bc5ee: d101 bne.n 80bc5f4 80bc5f0: 2302 movs r3, #2 80bc5f2: e06d b.n 80bc6d0 80bc5f4: 687b ldr r3, [r7, #4] 80bc5f6: 2201 movs r2, #1 80bc5f8: f883 203c strb.w r2, [r3, #60] ; 0x3c /* Change the handler state */ htim->State = HAL_TIM_STATE_BUSY; 80bc5fc: 687b ldr r3, [r7, #4] 80bc5fe: 2202 movs r2, #2 80bc600: f883 203d strb.w r2, [r3, #61] ; 0x3d /* Get the TIMx CR2 register value */ tmpcr2 = htim->Instance->CR2; 80bc604: 687b ldr r3, [r7, #4] 80bc606: 681b ldr r3, [r3, #0] 80bc608: 685b ldr r3, [r3, #4] 80bc60a: 60fb str r3, [r7, #12] /* Get the TIMx SMCR register value */ tmpsmcr = htim->Instance->SMCR; 80bc60c: 687b ldr r3, [r7, #4] 80bc60e: 681b ldr r3, [r3, #0] 80bc610: 689b ldr r3, [r3, #8] 80bc612: 60bb str r3, [r7, #8] /* If the timer supports ADC synchronization through TRGO2, set the master mode selection 2 */ if (IS_TIM_TRGO2_INSTANCE(htim->Instance)) 80bc614: 687b ldr r3, [r7, #4] 80bc616: 681b ldr r3, [r3, #0] 80bc618: 4a30 ldr r2, [pc, #192] ; (80bc6dc ) 80bc61a: 4293 cmp r3, r2 80bc61c: d004 beq.n 80bc628 80bc61e: 687b ldr r3, [r7, #4] 80bc620: 681b ldr r3, [r3, #0] 80bc622: 4a2f ldr r2, [pc, #188] ; (80bc6e0 ) 80bc624: 4293 cmp r3, r2 80bc626: d108 bne.n 80bc63a { /* Check the parameters */ assert_param(IS_TIM_TRGO2_SOURCE(sMasterConfig->MasterOutputTrigger2)); /* Clear the MMS2 bits */ tmpcr2 &= ~TIM_CR2_MMS2; 80bc628: 68fb ldr r3, [r7, #12] 80bc62a: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000 80bc62e: 60fb str r3, [r7, #12] /* Select the TRGO2 source*/ tmpcr2 |= sMasterConfig->MasterOutputTrigger2; 80bc630: 683b ldr r3, [r7, #0] 80bc632: 685b ldr r3, [r3, #4] 80bc634: 68fa ldr r2, [r7, #12] 80bc636: 4313 orrs r3, r2 80bc638: 60fb str r3, [r7, #12] } /* Reset the MMS Bits */ tmpcr2 &= ~TIM_CR2_MMS; 80bc63a: 68fb ldr r3, [r7, #12] 80bc63c: f023 0370 bic.w r3, r3, #112 ; 0x70 80bc640: 60fb str r3, [r7, #12] /* Select the TRGO source */ tmpcr2 |= sMasterConfig->MasterOutputTrigger; 80bc642: 683b ldr r3, [r7, #0] 80bc644: 681b ldr r3, [r3, #0] 80bc646: 68fa ldr r2, [r7, #12] 80bc648: 4313 orrs r3, r2 80bc64a: 60fb str r3, [r7, #12] /* Update TIMx CR2 */ htim->Instance->CR2 = tmpcr2; 80bc64c: 687b ldr r3, [r7, #4] 80bc64e: 681b ldr r3, [r3, #0] 80bc650: 68fa ldr r2, [r7, #12] 80bc652: 605a str r2, [r3, #4] if (IS_TIM_SLAVE_INSTANCE(htim->Instance)) 80bc654: 687b ldr r3, [r7, #4] 80bc656: 681b ldr r3, [r3, #0] 80bc658: 4a20 ldr r2, [pc, #128] ; (80bc6dc ) 80bc65a: 4293 cmp r3, r2 80bc65c: d022 beq.n 80bc6a4 80bc65e: 687b ldr r3, [r7, #4] 80bc660: 681b ldr r3, [r3, #0] 80bc662: f1b3 4f80 cmp.w r3, #1073741824 ; 0x40000000 80bc666: d01d beq.n 80bc6a4 80bc668: 687b ldr r3, [r7, #4] 80bc66a: 681b ldr r3, [r3, #0] 80bc66c: 4a1d ldr r2, [pc, #116] ; (80bc6e4 ) 80bc66e: 4293 cmp r3, r2 80bc670: d018 beq.n 80bc6a4 80bc672: 687b ldr r3, [r7, #4] 80bc674: 681b ldr r3, [r3, #0] 80bc676: 4a1c ldr r2, [pc, #112] ; (80bc6e8 ) 80bc678: 4293 cmp r3, r2 80bc67a: d013 beq.n 80bc6a4 80bc67c: 687b ldr r3, [r7, #4] 80bc67e: 681b ldr r3, [r3, #0] 80bc680: 4a1a ldr r2, [pc, #104] ; (80bc6ec ) 80bc682: 4293 cmp r3, r2 80bc684: d00e beq.n 80bc6a4 80bc686: 687b ldr r3, [r7, #4] 80bc688: 681b ldr r3, [r3, #0] 80bc68a: 4a15 ldr r2, [pc, #84] ; (80bc6e0 ) 80bc68c: 4293 cmp r3, r2 80bc68e: d009 beq.n 80bc6a4 80bc690: 687b ldr r3, [r7, #4] 80bc692: 681b ldr r3, [r3, #0] 80bc694: 4a16 ldr r2, [pc, #88] ; (80bc6f0 ) 80bc696: 4293 cmp r3, r2 80bc698: d004 beq.n 80bc6a4 80bc69a: 687b ldr r3, [r7, #4] 80bc69c: 681b ldr r3, [r3, #0] 80bc69e: 4a15 ldr r2, [pc, #84] ; (80bc6f4 ) 80bc6a0: 4293 cmp r3, r2 80bc6a2: d10c bne.n 80bc6be { /* Reset the MSM Bit */ tmpsmcr &= ~TIM_SMCR_MSM; 80bc6a4: 68bb ldr r3, [r7, #8] 80bc6a6: f023 0380 bic.w r3, r3, #128 ; 0x80 80bc6aa: 60bb str r3, [r7, #8] /* Set master mode */ tmpsmcr |= sMasterConfig->MasterSlaveMode; 80bc6ac: 683b ldr r3, [r7, #0] 80bc6ae: 689b ldr r3, [r3, #8] 80bc6b0: 68ba ldr r2, [r7, #8] 80bc6b2: 4313 orrs r3, r2 80bc6b4: 60bb str r3, [r7, #8] /* Update TIMx SMCR */ htim->Instance->SMCR = tmpsmcr; 80bc6b6: 687b ldr r3, [r7, #4] 80bc6b8: 681b ldr r3, [r3, #0] 80bc6ba: 68ba ldr r2, [r7, #8] 80bc6bc: 609a str r2, [r3, #8] } /* Change the htim state */ htim->State = HAL_TIM_STATE_READY; 80bc6be: 687b ldr r3, [r7, #4] 80bc6c0: 2201 movs r2, #1 80bc6c2: f883 203d strb.w r2, [r3, #61] ; 0x3d __HAL_UNLOCK(htim); 80bc6c6: 687b ldr r3, [r7, #4] 80bc6c8: 2200 movs r2, #0 80bc6ca: f883 203c strb.w r2, [r3, #60] ; 0x3c return HAL_OK; 80bc6ce: 2300 movs r3, #0 } 80bc6d0: 4618 mov r0, r3 80bc6d2: 3714 adds r7, #20 80bc6d4: 46bd mov sp, r7 80bc6d6: f85d 7b04 ldr.w r7, [sp], #4 80bc6da: 4770 bx lr 80bc6dc: 40010000 .word 0x40010000 80bc6e0: 40010400 .word 0x40010400 80bc6e4: 40000400 .word 0x40000400 80bc6e8: 40000800 .word 0x40000800 80bc6ec: 40000c00 .word 0x40000c00 80bc6f0: 40014000 .word 0x40014000 80bc6f4: 40001800 .word 0x40001800 080bc6f8 : * @brief Hall commutation changed callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_CommutCallback(TIM_HandleTypeDef *htim) { 80bc6f8: b480 push {r7} 80bc6fa: b083 sub sp, #12 80bc6fc: af00 add r7, sp, #0 80bc6fe: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIMEx_CommutCallback could be implemented in the user file */ } 80bc700: bf00 nop 80bc702: 370c adds r7, #12 80bc704: 46bd mov sp, r7 80bc706: f85d 7b04 ldr.w r7, [sp], #4 80bc70a: 4770 bx lr 080bc70c : * @brief Hall Break detection callback in non-blocking mode * @param htim TIM handle * @retval None */ __weak void HAL_TIMEx_BreakCallback(TIM_HandleTypeDef *htim) { 80bc70c: b480 push {r7} 80bc70e: b083 sub sp, #12 80bc710: af00 add r7, sp, #0 80bc712: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function should not be modified, when the callback is needed, the HAL_TIMEx_BreakCallback could be implemented in the user file */ } 80bc714: bf00 nop 80bc716: 370c adds r7, #12 80bc718: 46bd mov sp, r7 80bc71a: f85d 7b04 ldr.w r7, [sp], #4 80bc71e: 4770 bx lr 080bc720 : * @brief Hall Break2 detection callback in non blocking mode * @param htim: TIM handle * @retval None */ __weak void HAL_TIMEx_Break2Callback(TIM_HandleTypeDef *htim) { 80bc720: b480 push {r7} 80bc722: b083 sub sp, #12 80bc724: af00 add r7, sp, #0 80bc726: 6078 str r0, [r7, #4] UNUSED(htim); /* NOTE : This function Should not be modified, when the callback is needed, the HAL_TIMEx_Break2Callback could be implemented in the user file */ } 80bc728: bf00 nop 80bc72a: 370c adds r7, #12 80bc72c: 46bd mov sp, r7 80bc72e: f85d 7b04 ldr.w r7, [sp], #4 80bc732: 4770 bx lr 080bc734 : * @brief DeInitialize the UART peripheral. * @param huart UART handle. * @retval HAL status */ HAL_StatusTypeDef HAL_UART_DeInit(UART_HandleTypeDef *huart) { 80bc734: b580 push {r7, lr} 80bc736: b082 sub sp, #8 80bc738: af00 add r7, sp, #0 80bc73a: 6078 str r0, [r7, #4] /* Check the UART handle allocation */ if (huart == NULL) 80bc73c: 687b ldr r3, [r7, #4] 80bc73e: 2b00 cmp r3, #0 80bc740: d101 bne.n 80bc746 { return HAL_ERROR; 80bc742: 2301 movs r3, #1 80bc744: e02b b.n 80bc79e } /* Check the parameters */ assert_param(IS_UART_INSTANCE(huart->Instance)); huart->gState = HAL_UART_STATE_BUSY; 80bc746: 687b ldr r3, [r7, #4] 80bc748: 2224 movs r2, #36 ; 0x24 80bc74a: 679a str r2, [r3, #120] ; 0x78 __HAL_UART_DISABLE(huart); 80bc74c: 687b ldr r3, [r7, #4] 80bc74e: 681b ldr r3, [r3, #0] 80bc750: 687a ldr r2, [r7, #4] 80bc752: 6812 ldr r2, [r2, #0] 80bc754: 6812 ldr r2, [r2, #0] 80bc756: f022 0201 bic.w r2, r2, #1 80bc75a: 601a str r2, [r3, #0] huart->Instance->CR1 = 0x0U; 80bc75c: 687b ldr r3, [r7, #4] 80bc75e: 681b ldr r3, [r3, #0] 80bc760: 2200 movs r2, #0 80bc762: 601a str r2, [r3, #0] huart->Instance->CR2 = 0x0U; 80bc764: 687b ldr r3, [r7, #4] 80bc766: 681b ldr r3, [r3, #0] 80bc768: 2200 movs r2, #0 80bc76a: 605a str r2, [r3, #4] huart->Instance->CR3 = 0x0U; 80bc76c: 687b ldr r3, [r7, #4] 80bc76e: 681b ldr r3, [r3, #0] 80bc770: 2200 movs r2, #0 80bc772: 609a str r2, [r3, #8] } /* DeInit the low level hardware */ huart->MspDeInitCallback(huart); #else /* DeInit the low level hardware */ HAL_UART_MspDeInit(huart); 80bc774: 6878 ldr r0, [r7, #4] 80bc776: f7f2 f9cf bl 80aeb18 #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80bc77a: 687b ldr r3, [r7, #4] 80bc77c: 2200 movs r2, #0 80bc77e: f8c3 2080 str.w r2, [r3, #128] ; 0x80 huart->gState = HAL_UART_STATE_RESET; 80bc782: 687b ldr r3, [r7, #4] 80bc784: 2200 movs r2, #0 80bc786: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_RESET; 80bc788: 687b ldr r3, [r7, #4] 80bc78a: 2200 movs r2, #0 80bc78c: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bc78e: 687b ldr r3, [r7, #4] 80bc790: 2200 movs r2, #0 80bc792: 661a str r2, [r3, #96] ; 0x60 __HAL_UNLOCK(huart); 80bc794: 687b ldr r3, [r7, #4] 80bc796: 2200 movs r2, #0 80bc798: f883 2074 strb.w r2, [r3, #116] ; 0x74 return HAL_OK; 80bc79c: 2300 movs r3, #0 } 80bc79e: 4618 mov r0, r3 80bc7a0: 3708 adds r7, #8 80bc7a2: 46bd mov sp, r7 80bc7a4: bd80 pop {r7, pc} ... 080bc7a8 : * @note This procedure is executed in Interrupt mode, meaning that abort procedure could be * considered as completed only when user abort complete callback is executed (not when exiting function). * @retval HAL status */ HAL_StatusTypeDef HAL_UART_Abort_IT(UART_HandleTypeDef *huart) { 80bc7a8: b580 push {r7, lr} 80bc7aa: b0a2 sub sp, #136 ; 0x88 80bc7ac: af00 add r7, sp, #0 80bc7ae: 6078 str r0, [r7, #4] uint32_t abortcplt = 1U; 80bc7b0: 2301 movs r3, #1 80bc7b2: f8c7 3084 str.w r3, [r7, #132] ; 0x84 /* Disable interrupts */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_TXEIE | USART_CR1_TCIE)); 80bc7b6: 687b ldr r3, [r7, #4] 80bc7b8: 681b ldr r3, [r3, #0] 80bc7ba: 663b str r3, [r7, #96] ; 0x60 */ __STATIC_FORCEINLINE uint32_t __LDREXW(volatile uint32_t *addr) { uint32_t result; __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bc7bc: 6e3b ldr r3, [r7, #96] ; 0x60 80bc7be: e853 3f00 ldrex r3, [r3] 80bc7c2: 65fb str r3, [r7, #92] ; 0x5c return(result); 80bc7c4: 6dfb ldr r3, [r7, #92] ; 0x5c 80bc7c6: f423 73f0 bic.w r3, r3, #480 ; 0x1e0 80bc7ca: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80bc7ce: 687b ldr r3, [r7, #4] 80bc7d0: 681b ldr r3, [r3, #0] 80bc7d2: 461a mov r2, r3 80bc7d4: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80bc7d8: 66fb str r3, [r7, #108] ; 0x6c 80bc7da: 66ba str r2, [r7, #104] ; 0x68 */ __STATIC_FORCEINLINE uint32_t __STREXW(uint32_t value, volatile uint32_t *addr) { uint32_t result; __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bc7dc: 6eb9 ldr r1, [r7, #104] ; 0x68 80bc7de: 6efa ldr r2, [r7, #108] ; 0x6c 80bc7e0: e841 2300 strex r3, r2, [r1] 80bc7e4: 667b str r3, [r7, #100] ; 0x64 return(result); 80bc7e6: 6e7b ldr r3, [r7, #100] ; 0x64 80bc7e8: 2b00 cmp r3, #0 80bc7ea: d1e4 bne.n 80bc7b6 ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80bc7ec: 687b ldr r3, [r7, #4] 80bc7ee: 681b ldr r3, [r3, #0] 80bc7f0: 3308 adds r3, #8 80bc7f2: 64fb str r3, [r7, #76] ; 0x4c __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bc7f4: 6cfb ldr r3, [r7, #76] ; 0x4c 80bc7f6: e853 3f00 ldrex r3, [r3] 80bc7fa: 64bb str r3, [r7, #72] ; 0x48 return(result); 80bc7fc: 6cbb ldr r3, [r7, #72] ; 0x48 80bc7fe: f023 0301 bic.w r3, r3, #1 80bc802: 67fb str r3, [r7, #124] ; 0x7c 80bc804: 687b ldr r3, [r7, #4] 80bc806: 681b ldr r3, [r3, #0] 80bc808: 3308 adds r3, #8 80bc80a: 6ffa ldr r2, [r7, #124] ; 0x7c 80bc80c: 65ba str r2, [r7, #88] ; 0x58 80bc80e: 657b str r3, [r7, #84] ; 0x54 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bc810: 6d79 ldr r1, [r7, #84] ; 0x54 80bc812: 6dba ldr r2, [r7, #88] ; 0x58 80bc814: e841 2300 strex r3, r2, [r1] 80bc818: 653b str r3, [r7, #80] ; 0x50 return(result); 80bc81a: 6d3b ldr r3, [r7, #80] ; 0x50 80bc81c: 2b00 cmp r3, #0 80bc81e: d1e5 bne.n 80bc7ec /* If Reception till IDLE event was ongoing, disable IDLEIE interrupt */ if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 80bc820: 687b ldr r3, [r7, #4] 80bc822: 6e1b ldr r3, [r3, #96] ; 0x60 80bc824: 2b01 cmp r3, #1 80bc826: d118 bne.n 80bc85a { ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_IDLEIE)); 80bc828: 687b ldr r3, [r7, #4] 80bc82a: 681b ldr r3, [r3, #0] 80bc82c: 63bb str r3, [r7, #56] ; 0x38 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bc82e: 6bbb ldr r3, [r7, #56] ; 0x38 80bc830: e853 3f00 ldrex r3, [r3] 80bc834: 637b str r3, [r7, #52] ; 0x34 return(result); 80bc836: 6b7b ldr r3, [r7, #52] ; 0x34 80bc838: f023 0310 bic.w r3, r3, #16 80bc83c: 67bb str r3, [r7, #120] ; 0x78 80bc83e: 687b ldr r3, [r7, #4] 80bc840: 681b ldr r3, [r3, #0] 80bc842: 461a mov r2, r3 80bc844: 6fbb ldr r3, [r7, #120] ; 0x78 80bc846: 647b str r3, [r7, #68] ; 0x44 80bc848: 643a str r2, [r7, #64] ; 0x40 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bc84a: 6c39 ldr r1, [r7, #64] ; 0x40 80bc84c: 6c7a ldr r2, [r7, #68] ; 0x44 80bc84e: e841 2300 strex r3, r2, [r1] 80bc852: 63fb str r3, [r7, #60] ; 0x3c return(result); 80bc854: 6bfb ldr r3, [r7, #60] ; 0x3c 80bc856: 2b00 cmp r3, #0 80bc858: d1e6 bne.n 80bc828 } /* If DMA Tx and/or DMA Rx Handles are associated to UART Handle, DMA Abort complete callbacks should be initialised before any call to DMA Abort functions */ /* DMA Tx Handle is valid */ if (huart->hdmatx != NULL) 80bc85a: 687b ldr r3, [r7, #4] 80bc85c: 6edb ldr r3, [r3, #108] ; 0x6c 80bc85e: 2b00 cmp r3, #0 80bc860: d00f beq.n 80bc882 { /* Set DMA Abort Complete callback if UART DMA Tx request if enabled. Otherwise, set it to NULL */ if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 80bc862: 687b ldr r3, [r7, #4] 80bc864: 681b ldr r3, [r3, #0] 80bc866: 689b ldr r3, [r3, #8] 80bc868: f003 0380 and.w r3, r3, #128 ; 0x80 80bc86c: 2b80 cmp r3, #128 ; 0x80 80bc86e: d104 bne.n 80bc87a { huart->hdmatx->XferAbortCallback = UART_DMATxAbortCallback; 80bc870: 687b ldr r3, [r7, #4] 80bc872: 6edb ldr r3, [r3, #108] ; 0x6c 80bc874: 4a5d ldr r2, [pc, #372] ; (80bc9ec ) 80bc876: 651a str r2, [r3, #80] ; 0x50 80bc878: e003 b.n 80bc882 } else { huart->hdmatx->XferAbortCallback = NULL; 80bc87a: 687b ldr r3, [r7, #4] 80bc87c: 6edb ldr r3, [r3, #108] ; 0x6c 80bc87e: 2200 movs r2, #0 80bc880: 651a str r2, [r3, #80] ; 0x50 } } /* DMA Rx Handle is valid */ if (huart->hdmarx != NULL) 80bc882: 687b ldr r3, [r7, #4] 80bc884: 6f1b ldr r3, [r3, #112] ; 0x70 80bc886: 2b00 cmp r3, #0 80bc888: d00f beq.n 80bc8aa { /* Set DMA Abort Complete callback if UART DMA Rx request if enabled. Otherwise, set it to NULL */ if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bc88a: 687b ldr r3, [r7, #4] 80bc88c: 681b ldr r3, [r3, #0] 80bc88e: 689b ldr r3, [r3, #8] 80bc890: f003 0340 and.w r3, r3, #64 ; 0x40 80bc894: 2b40 cmp r3, #64 ; 0x40 80bc896: d104 bne.n 80bc8a2 { huart->hdmarx->XferAbortCallback = UART_DMARxAbortCallback; 80bc898: 687b ldr r3, [r7, #4] 80bc89a: 6f1b ldr r3, [r3, #112] ; 0x70 80bc89c: 4a54 ldr r2, [pc, #336] ; (80bc9f0 ) 80bc89e: 651a str r2, [r3, #80] ; 0x50 80bc8a0: e003 b.n 80bc8aa } else { huart->hdmarx->XferAbortCallback = NULL; 80bc8a2: 687b ldr r3, [r7, #4] 80bc8a4: 6f1b ldr r3, [r3, #112] ; 0x70 80bc8a6: 2200 movs r2, #0 80bc8a8: 651a str r2, [r3, #80] ; 0x50 } } /* Abort the UART DMA Tx channel if enabled */ if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAT)) 80bc8aa: 687b ldr r3, [r7, #4] 80bc8ac: 681b ldr r3, [r3, #0] 80bc8ae: 689b ldr r3, [r3, #8] 80bc8b0: f003 0380 and.w r3, r3, #128 ; 0x80 80bc8b4: 2b80 cmp r3, #128 ; 0x80 80bc8b6: d12d bne.n 80bc914 { /* Disable DMA Tx at UART level */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAT); 80bc8b8: 687b ldr r3, [r7, #4] 80bc8ba: 681b ldr r3, [r3, #0] 80bc8bc: 3308 adds r3, #8 80bc8be: 627b str r3, [r7, #36] ; 0x24 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bc8c0: 6a7b ldr r3, [r7, #36] ; 0x24 80bc8c2: e853 3f00 ldrex r3, [r3] 80bc8c6: 623b str r3, [r7, #32] return(result); 80bc8c8: 6a3b ldr r3, [r7, #32] 80bc8ca: f023 0380 bic.w r3, r3, #128 ; 0x80 80bc8ce: 677b str r3, [r7, #116] ; 0x74 80bc8d0: 687b ldr r3, [r7, #4] 80bc8d2: 681b ldr r3, [r3, #0] 80bc8d4: 3308 adds r3, #8 80bc8d6: 6f7a ldr r2, [r7, #116] ; 0x74 80bc8d8: 633a str r2, [r7, #48] ; 0x30 80bc8da: 62fb str r3, [r7, #44] ; 0x2c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bc8dc: 6af9 ldr r1, [r7, #44] ; 0x2c 80bc8de: 6b3a ldr r2, [r7, #48] ; 0x30 80bc8e0: e841 2300 strex r3, r2, [r1] 80bc8e4: 62bb str r3, [r7, #40] ; 0x28 return(result); 80bc8e6: 6abb ldr r3, [r7, #40] ; 0x28 80bc8e8: 2b00 cmp r3, #0 80bc8ea: d1e5 bne.n 80bc8b8 /* Abort the UART DMA Tx channel : use non blocking DMA Abort API (callback) */ if (huart->hdmatx != NULL) 80bc8ec: 687b ldr r3, [r7, #4] 80bc8ee: 6edb ldr r3, [r3, #108] ; 0x6c 80bc8f0: 2b00 cmp r3, #0 80bc8f2: d00f beq.n 80bc914 { /* UART Tx DMA Abort callback has already been initialised : will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ /* Abort DMA TX */ if (HAL_DMA_Abort_IT(huart->hdmatx) != HAL_OK) 80bc8f4: 687b ldr r3, [r7, #4] 80bc8f6: 6edb ldr r3, [r3, #108] ; 0x6c 80bc8f8: 4618 mov r0, r3 80bc8fa: f7f7 fead bl 80b4658 80bc8fe: 4603 mov r3, r0 80bc900: 2b00 cmp r3, #0 80bc902: d004 beq.n 80bc90e { huart->hdmatx->XferAbortCallback = NULL; 80bc904: 687b ldr r3, [r7, #4] 80bc906: 6edb ldr r3, [r3, #108] ; 0x6c 80bc908: 2200 movs r2, #0 80bc90a: 651a str r2, [r3, #80] ; 0x50 80bc90c: e002 b.n 80bc914 } else { abortcplt = 0U; 80bc90e: 2300 movs r3, #0 80bc910: f8c7 3084 str.w r3, [r7, #132] ; 0x84 } } } /* Abort the UART DMA Rx channel if enabled */ if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bc914: 687b ldr r3, [r7, #4] 80bc916: 681b ldr r3, [r3, #0] 80bc918: 689b ldr r3, [r3, #8] 80bc91a: f003 0340 and.w r3, r3, #64 ; 0x40 80bc91e: 2b40 cmp r3, #64 ; 0x40 80bc920: d130 bne.n 80bc984 { /* Disable the UART DMA Rx request if enabled */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 80bc922: 687b ldr r3, [r7, #4] 80bc924: 681b ldr r3, [r3, #0] 80bc926: 3308 adds r3, #8 80bc928: 613b str r3, [r7, #16] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bc92a: 693b ldr r3, [r7, #16] 80bc92c: e853 3f00 ldrex r3, [r3] 80bc930: 60fb str r3, [r7, #12] return(result); 80bc932: 68fb ldr r3, [r7, #12] 80bc934: f023 0340 bic.w r3, r3, #64 ; 0x40 80bc938: 673b str r3, [r7, #112] ; 0x70 80bc93a: 687b ldr r3, [r7, #4] 80bc93c: 681b ldr r3, [r3, #0] 80bc93e: 3308 adds r3, #8 80bc940: 6f3a ldr r2, [r7, #112] ; 0x70 80bc942: 61fa str r2, [r7, #28] 80bc944: 61bb str r3, [r7, #24] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bc946: 69b9 ldr r1, [r7, #24] 80bc948: 69fa ldr r2, [r7, #28] 80bc94a: e841 2300 strex r3, r2, [r1] 80bc94e: 617b str r3, [r7, #20] return(result); 80bc950: 697b ldr r3, [r7, #20] 80bc952: 2b00 cmp r3, #0 80bc954: d1e5 bne.n 80bc922 /* Abort the UART DMA Rx channel : use non blocking DMA Abort API (callback) */ if (huart->hdmarx != NULL) 80bc956: 687b ldr r3, [r7, #4] 80bc958: 6f1b ldr r3, [r3, #112] ; 0x70 80bc95a: 2b00 cmp r3, #0 80bc95c: d012 beq.n 80bc984 { /* UART Rx DMA Abort callback has already been initialised : will lead to call HAL_UART_AbortCpltCallback() at end of DMA abort procedure */ /* Abort DMA RX */ if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 80bc95e: 687b ldr r3, [r7, #4] 80bc960: 6f1b ldr r3, [r3, #112] ; 0x70 80bc962: 4618 mov r0, r3 80bc964: f7f7 fe78 bl 80b4658 80bc968: 4603 mov r3, r0 80bc96a: 2b00 cmp r3, #0 80bc96c: d007 beq.n 80bc97e { huart->hdmarx->XferAbortCallback = NULL; 80bc96e: 687b ldr r3, [r7, #4] 80bc970: 6f1b ldr r3, [r3, #112] ; 0x70 80bc972: 2200 movs r2, #0 80bc974: 651a str r2, [r3, #80] ; 0x50 abortcplt = 1U; 80bc976: 2301 movs r3, #1 80bc978: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80bc97c: e002 b.n 80bc984 } else { abortcplt = 0U; 80bc97e: 2300 movs r3, #0 80bc980: f8c7 3084 str.w r3, [r7, #132] ; 0x84 } } } /* if no DMA abort complete callback execution is required => call user Abort Complete callback */ if (abortcplt == 1U) 80bc984: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80bc988: 2b01 cmp r3, #1 80bc98a: d129 bne.n 80bc9e0 { /* Reset Tx and Rx transfer counters */ huart->TxXferCount = 0U; 80bc98c: 687b ldr r3, [r7, #4] 80bc98e: 2200 movs r2, #0 80bc990: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 huart->RxXferCount = 0U; 80bc994: 687b ldr r3, [r7, #4] 80bc996: 2200 movs r2, #0 80bc998: f8a3 205a strh.w r2, [r3, #90] ; 0x5a /* Clear ISR function pointers */ huart->RxISR = NULL; 80bc99c: 687b ldr r3, [r7, #4] 80bc99e: 2200 movs r2, #0 80bc9a0: 665a str r2, [r3, #100] ; 0x64 huart->TxISR = NULL; 80bc9a2: 687b ldr r3, [r7, #4] 80bc9a4: 2200 movs r2, #0 80bc9a6: 669a str r2, [r3, #104] ; 0x68 /* Reset errorCode */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80bc9a8: 687b ldr r3, [r7, #4] 80bc9aa: 2200 movs r2, #0 80bc9ac: f8c3 2080 str.w r2, [r3, #128] ; 0x80 /* Clear the Error flags in the ICR register */ __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 80bc9b0: 687b ldr r3, [r7, #4] 80bc9b2: 681b ldr r3, [r3, #0] 80bc9b4: 220f movs r2, #15 80bc9b6: 621a str r2, [r3, #32] /* Discard the received data */ __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 80bc9b8: 687b ldr r3, [r7, #4] 80bc9ba: 681b ldr r3, [r3, #0] 80bc9bc: 687a ldr r2, [r7, #4] 80bc9be: 6812 ldr r2, [r2, #0] 80bc9c0: 6992 ldr r2, [r2, #24] 80bc9c2: f042 0208 orr.w r2, r2, #8 80bc9c6: 619a str r2, [r3, #24] /* Restore huart->gState and huart->RxState to Ready */ huart->gState = HAL_UART_STATE_READY; 80bc9c8: 687b ldr r3, [r7, #4] 80bc9ca: 2220 movs r2, #32 80bc9cc: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_READY; 80bc9ce: 687b ldr r3, [r7, #4] 80bc9d0: 2220 movs r2, #32 80bc9d2: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bc9d4: 687b ldr r3, [r7, #4] 80bc9d6: 2200 movs r2, #0 80bc9d8: 661a str r2, [r3, #96] ; 0x60 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /* Call registered Abort complete callback */ huart->AbortCpltCallback(huart); #else /* Call legacy weak Abort complete callback */ HAL_UART_AbortCpltCallback(huart); 80bc9da: 6878 ldr r0, [r7, #4] 80bc9dc: f000 faea bl 80bcfb4 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } return HAL_OK; 80bc9e0: 2300 movs r3, #0 } 80bc9e2: 4618 mov r0, r3 80bc9e4: 3788 adds r7, #136 ; 0x88 80bc9e6: 46bd mov sp, r7 80bc9e8: bd80 pop {r7, pc} 80bc9ea: bf00 nop 80bc9ec: 080bd0e7 .word 0x080bd0e7 80bc9f0: 080bd151 .word 0x080bd151 080bc9f4 : * @brief Handle UART interrupt request. * @param huart UART handle. * @retval None */ void HAL_UART_IRQHandler(UART_HandleTypeDef *huart) { 80bc9f4: b580 push {r7, lr} 80bc9f6: b0ba sub sp, #232 ; 0xe8 80bc9f8: af00 add r7, sp, #0 80bc9fa: 6078 str r0, [r7, #4] uint32_t isrflags = READ_REG(huart->Instance->ISR); 80bc9fc: 687b ldr r3, [r7, #4] 80bc9fe: 681b ldr r3, [r3, #0] 80bca00: 69db ldr r3, [r3, #28] 80bca02: f8c7 30e4 str.w r3, [r7, #228] ; 0xe4 uint32_t cr1its = READ_REG(huart->Instance->CR1); 80bca06: 687b ldr r3, [r7, #4] 80bca08: 681b ldr r3, [r3, #0] 80bca0a: 681b ldr r3, [r3, #0] 80bca0c: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 uint32_t cr3its = READ_REG(huart->Instance->CR3); 80bca10: 687b ldr r3, [r7, #4] 80bca12: 681b ldr r3, [r3, #0] 80bca14: 689b ldr r3, [r3, #8] 80bca16: f8c7 30dc str.w r3, [r7, #220] ; 0xdc uint32_t errorflags; uint32_t errorcode; /* If no error occurs */ errorflags = (isrflags & (uint32_t)(USART_ISR_PE | USART_ISR_FE | USART_ISR_ORE | USART_ISR_NE | USART_ISR_RTOF)); 80bca1a: f8d7 20e4 ldr.w r2, [r7, #228] ; 0xe4 80bca1e: f640 030f movw r3, #2063 ; 0x80f 80bca22: 4013 ands r3, r2 80bca24: f8c7 30d8 str.w r3, [r7, #216] ; 0xd8 if (errorflags == 0U) 80bca28: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80bca2c: 2b00 cmp r3, #0 80bca2e: d115 bne.n 80bca5c { /* UART in mode Receiver ---------------------------------------------------*/ if (((isrflags & USART_ISR_RXNE) != 0U) 80bca30: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bca34: f003 0320 and.w r3, r3, #32 80bca38: 2b00 cmp r3, #0 80bca3a: d00f beq.n 80bca5c && ((cr1its & USART_CR1_RXNEIE) != 0U)) 80bca3c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bca40: f003 0320 and.w r3, r3, #32 80bca44: 2b00 cmp r3, #0 80bca46: d009 beq.n 80bca5c { if (huart->RxISR != NULL) 80bca48: 687b ldr r3, [r7, #4] 80bca4a: 6e5b ldr r3, [r3, #100] ; 0x64 80bca4c: 2b00 cmp r3, #0 80bca4e: f000 82a5 beq.w 80bcf9c { huart->RxISR(huart); 80bca52: 687b ldr r3, [r7, #4] 80bca54: 6e5b ldr r3, [r3, #100] ; 0x64 80bca56: 6878 ldr r0, [r7, #4] 80bca58: 4798 blx r3 } return; 80bca5a: e29f b.n 80bcf9c } } /* If some errors occur */ if ((errorflags != 0U) 80bca5c: f8d7 30d8 ldr.w r3, [r7, #216] ; 0xd8 80bca60: 2b00 cmp r3, #0 80bca62: f000 8117 beq.w 80bcc94 && (((cr3its & USART_CR3_EIE) != 0U) 80bca66: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80bca6a: f003 0301 and.w r3, r3, #1 80bca6e: 2b00 cmp r3, #0 80bca70: d106 bne.n 80bca80 || ((cr1its & (USART_CR1_RXNEIE | USART_CR1_PEIE | USART_CR1_RTOIE)) != 0U))) 80bca72: f8d7 20e0 ldr.w r2, [r7, #224] ; 0xe0 80bca76: 4b85 ldr r3, [pc, #532] ; (80bcc8c ) 80bca78: 4013 ands r3, r2 80bca7a: 2b00 cmp r3, #0 80bca7c: f000 810a beq.w 80bcc94 { /* UART parity error interrupt occurred -------------------------------------*/ if (((isrflags & USART_ISR_PE) != 0U) && ((cr1its & USART_CR1_PEIE) != 0U)) 80bca80: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bca84: f003 0301 and.w r3, r3, #1 80bca88: 2b00 cmp r3, #0 80bca8a: d011 beq.n 80bcab0 80bca8c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bca90: f403 7380 and.w r3, r3, #256 ; 0x100 80bca94: 2b00 cmp r3, #0 80bca96: d00b beq.n 80bcab0 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_PEF); 80bca98: 687b ldr r3, [r7, #4] 80bca9a: 681b ldr r3, [r3, #0] 80bca9c: 2201 movs r2, #1 80bca9e: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_PE; 80bcaa0: 687b ldr r3, [r7, #4] 80bcaa2: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bcaa6: f043 0201 orr.w r2, r3, #1 80bcaaa: 687b ldr r3, [r7, #4] 80bcaac: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART frame error interrupt occurred --------------------------------------*/ if (((isrflags & USART_ISR_FE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 80bcab0: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcab4: f003 0302 and.w r3, r3, #2 80bcab8: 2b00 cmp r3, #0 80bcaba: d011 beq.n 80bcae0 80bcabc: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80bcac0: f003 0301 and.w r3, r3, #1 80bcac4: 2b00 cmp r3, #0 80bcac6: d00b beq.n 80bcae0 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_FEF); 80bcac8: 687b ldr r3, [r7, #4] 80bcaca: 681b ldr r3, [r3, #0] 80bcacc: 2202 movs r2, #2 80bcace: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_FE; 80bcad0: 687b ldr r3, [r7, #4] 80bcad2: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bcad6: f043 0204 orr.w r2, r3, #4 80bcada: 687b ldr r3, [r7, #4] 80bcadc: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART noise error interrupt occurred --------------------------------------*/ if (((isrflags & USART_ISR_NE) != 0U) && ((cr3its & USART_CR3_EIE) != 0U)) 80bcae0: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcae4: f003 0304 and.w r3, r3, #4 80bcae8: 2b00 cmp r3, #0 80bcaea: d011 beq.n 80bcb10 80bcaec: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80bcaf0: f003 0301 and.w r3, r3, #1 80bcaf4: 2b00 cmp r3, #0 80bcaf6: d00b beq.n 80bcb10 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_NEF); 80bcaf8: 687b ldr r3, [r7, #4] 80bcafa: 681b ldr r3, [r3, #0] 80bcafc: 2204 movs r2, #4 80bcafe: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_NE; 80bcb00: 687b ldr r3, [r7, #4] 80bcb02: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bcb06: f043 0202 orr.w r2, r3, #2 80bcb0a: 687b ldr r3, [r7, #4] 80bcb0c: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART Over-Run interrupt occurred -----------------------------------------*/ if (((isrflags & USART_ISR_ORE) != 0U) 80bcb10: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcb14: f003 0308 and.w r3, r3, #8 80bcb18: 2b00 cmp r3, #0 80bcb1a: d017 beq.n 80bcb4c && (((cr1its & USART_CR1_RXNEIE) != 0U) || 80bcb1c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bcb20: f003 0320 and.w r3, r3, #32 80bcb24: 2b00 cmp r3, #0 80bcb26: d105 bne.n 80bcb34 ((cr3its & USART_CR3_EIE) != 0U))) 80bcb28: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80bcb2c: f003 0301 and.w r3, r3, #1 && (((cr1its & USART_CR1_RXNEIE) != 0U) || 80bcb30: 2b00 cmp r3, #0 80bcb32: d00b beq.n 80bcb4c { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF); 80bcb34: 687b ldr r3, [r7, #4] 80bcb36: 681b ldr r3, [r3, #0] 80bcb38: 2208 movs r2, #8 80bcb3a: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_ORE; 80bcb3c: 687b ldr r3, [r7, #4] 80bcb3e: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bcb42: f043 0208 orr.w r2, r3, #8 80bcb46: 687b ldr r3, [r7, #4] 80bcb48: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* UART Receiver Timeout interrupt occurred ---------------------------------*/ if (((isrflags & USART_ISR_RTOF) != 0U) && ((cr1its & USART_CR1_RTOIE) != 0U)) 80bcb4c: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcb50: f403 6300 and.w r3, r3, #2048 ; 0x800 80bcb54: 2b00 cmp r3, #0 80bcb56: d012 beq.n 80bcb7e 80bcb58: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bcb5c: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80bcb60: 2b00 cmp r3, #0 80bcb62: d00c beq.n 80bcb7e { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_RTOF); 80bcb64: 687b ldr r3, [r7, #4] 80bcb66: 681b ldr r3, [r3, #0] 80bcb68: f44f 6200 mov.w r2, #2048 ; 0x800 80bcb6c: 621a str r2, [r3, #32] huart->ErrorCode |= HAL_UART_ERROR_RTO; 80bcb6e: 687b ldr r3, [r7, #4] 80bcb70: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bcb74: f043 0220 orr.w r2, r3, #32 80bcb78: 687b ldr r3, [r7, #4] 80bcb7a: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } /* Call UART Error Call back function if need be ----------------------------*/ if (huart->ErrorCode != HAL_UART_ERROR_NONE) 80bcb7e: 687b ldr r3, [r7, #4] 80bcb80: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bcb84: 2b00 cmp r3, #0 80bcb86: f000 820b beq.w 80bcfa0 { /* UART in mode Receiver --------------------------------------------------*/ if (((isrflags & USART_ISR_RXNE) != 0U) 80bcb8a: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcb8e: f003 0320 and.w r3, r3, #32 80bcb92: 2b00 cmp r3, #0 80bcb94: d00d beq.n 80bcbb2 && ((cr1its & USART_CR1_RXNEIE) != 0U)) 80bcb96: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bcb9a: f003 0320 and.w r3, r3, #32 80bcb9e: 2b00 cmp r3, #0 80bcba0: d007 beq.n 80bcbb2 { if (huart->RxISR != NULL) 80bcba2: 687b ldr r3, [r7, #4] 80bcba4: 6e5b ldr r3, [r3, #100] ; 0x64 80bcba6: 2b00 cmp r3, #0 80bcba8: d003 beq.n 80bcbb2 { huart->RxISR(huart); 80bcbaa: 687b ldr r3, [r7, #4] 80bcbac: 6e5b ldr r3, [r3, #100] ; 0x64 80bcbae: 6878 ldr r0, [r7, #4] 80bcbb0: 4798 blx r3 /* If Error is to be considered as blocking : - Receiver Timeout error in Reception - Overrun error in Reception - any error occurs in DMA mode reception */ errorcode = huart->ErrorCode; 80bcbb2: 687b ldr r3, [r7, #4] 80bcbb4: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bcbb8: f8c7 30d4 str.w r3, [r7, #212] ; 0xd4 if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 80bcbbc: 687b ldr r3, [r7, #4] 80bcbbe: 681b ldr r3, [r3, #0] 80bcbc0: 689b ldr r3, [r3, #8] 80bcbc2: f003 0340 and.w r3, r3, #64 ; 0x40 80bcbc6: 2b40 cmp r3, #64 ; 0x40 80bcbc8: d005 beq.n 80bcbd6 ((errorcode & (HAL_UART_ERROR_RTO | HAL_UART_ERROR_ORE)) != 0U)) 80bcbca: f8d7 30d4 ldr.w r3, [r7, #212] ; 0xd4 80bcbce: f003 0328 and.w r3, r3, #40 ; 0x28 if ((HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) || 80bcbd2: 2b00 cmp r3, #0 80bcbd4: d04f beq.n 80bcc76 { /* Blocking error : transfer is aborted Set the UART state ready to be able to start again the process, Disable Rx Interrupts, and disable Rx DMA request, if ongoing */ UART_EndRxTransfer(huart); 80bcbd6: 6878 ldr r0, [r7, #4] 80bcbd8: f000 fa0c bl 80bcff4 /* Abort the UART DMA Rx channel if enabled */ if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bcbdc: 687b ldr r3, [r7, #4] 80bcbde: 681b ldr r3, [r3, #0] 80bcbe0: 689b ldr r3, [r3, #8] 80bcbe2: f003 0340 and.w r3, r3, #64 ; 0x40 80bcbe6: 2b40 cmp r3, #64 ; 0x40 80bcbe8: d141 bne.n 80bcc6e { /* Disable the UART DMA Rx request if enabled */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 80bcbea: 687b ldr r3, [r7, #4] 80bcbec: 681b ldr r3, [r3, #0] 80bcbee: 3308 adds r3, #8 80bcbf0: f8c7 309c str.w r3, [r7, #156] ; 0x9c __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcbf4: f8d7 309c ldr.w r3, [r7, #156] ; 0x9c 80bcbf8: e853 3f00 ldrex r3, [r3] 80bcbfc: f8c7 3098 str.w r3, [r7, #152] ; 0x98 return(result); 80bcc00: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80bcc04: f023 0340 bic.w r3, r3, #64 ; 0x40 80bcc08: f8c7 30d0 str.w r3, [r7, #208] ; 0xd0 80bcc0c: 687b ldr r3, [r7, #4] 80bcc0e: 681b ldr r3, [r3, #0] 80bcc10: 3308 adds r3, #8 80bcc12: f8d7 20d0 ldr.w r2, [r7, #208] ; 0xd0 80bcc16: f8c7 20a8 str.w r2, [r7, #168] ; 0xa8 80bcc1a: f8c7 30a4 str.w r3, [r7, #164] ; 0xa4 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bcc1e: f8d7 10a4 ldr.w r1, [r7, #164] ; 0xa4 80bcc22: f8d7 20a8 ldr.w r2, [r7, #168] ; 0xa8 80bcc26: e841 2300 strex r3, r2, [r1] 80bcc2a: f8c7 30a0 str.w r3, [r7, #160] ; 0xa0 return(result); 80bcc2e: f8d7 30a0 ldr.w r3, [r7, #160] ; 0xa0 80bcc32: 2b00 cmp r3, #0 80bcc34: d1d9 bne.n 80bcbea /* Abort the UART DMA Rx channel */ if (huart->hdmarx != NULL) 80bcc36: 687b ldr r3, [r7, #4] 80bcc38: 6f1b ldr r3, [r3, #112] ; 0x70 80bcc3a: 2b00 cmp r3, #0 80bcc3c: d013 beq.n 80bcc66 { /* Set the UART DMA Abort callback : will lead to call HAL_UART_ErrorCallback() at end of DMA abort procedure */ huart->hdmarx->XferAbortCallback = UART_DMAAbortOnError; 80bcc3e: 687b ldr r3, [r7, #4] 80bcc40: 6f1b ldr r3, [r3, #112] ; 0x70 80bcc42: 4a13 ldr r2, [pc, #76] ; (80bcc90 ) 80bcc44: 651a str r2, [r3, #80] ; 0x50 /* Abort DMA RX */ if (HAL_DMA_Abort_IT(huart->hdmarx) != HAL_OK) 80bcc46: 687b ldr r3, [r7, #4] 80bcc48: 6f1b ldr r3, [r3, #112] ; 0x70 80bcc4a: 4618 mov r0, r3 80bcc4c: f7f7 fd04 bl 80b4658 80bcc50: 4603 mov r3, r0 80bcc52: 2b00 cmp r3, #0 80bcc54: d017 beq.n 80bcc86 { /* Call Directly huart->hdmarx->XferAbortCallback function in case of error */ huart->hdmarx->XferAbortCallback(huart->hdmarx); 80bcc56: 687b ldr r3, [r7, #4] 80bcc58: 6f1b ldr r3, [r3, #112] ; 0x70 80bcc5a: 6d1b ldr r3, [r3, #80] ; 0x50 80bcc5c: 687a ldr r2, [r7, #4] 80bcc5e: 6f12 ldr r2, [r2, #112] ; 0x70 80bcc60: 4610 mov r0, r2 80bcc62: 4798 blx r3 if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bcc64: e00f b.n 80bcc86 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); 80bcc66: 6878 ldr r0, [r7, #4] 80bcc68: f772 fef0 bl 802fa4c if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bcc6c: e00b b.n 80bcc86 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); 80bcc6e: 6878 ldr r0, [r7, #4] 80bcc70: f772 feec bl 802fa4c if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bcc74: e007 b.n 80bcc86 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); 80bcc76: 6878 ldr r0, [r7, #4] 80bcc78: f772 fee8 bl 802fa4c #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80bcc7c: 687b ldr r3, [r7, #4] 80bcc7e: 2200 movs r2, #0 80bcc80: f8c3 2080 str.w r2, [r3, #128] ; 0x80 } } return; 80bcc84: e18c b.n 80bcfa0 if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bcc86: bf00 nop return; 80bcc88: e18a b.n 80bcfa0 80bcc8a: bf00 nop 80bcc8c: 04000120 .word 0x04000120 80bcc90: 080bd0bb .word 0x080bd0bb } /* End if some error occurs */ /* Check current reception Mode : If Reception till IDLE event has been selected : */ if ((huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 80bcc94: 687b ldr r3, [r7, #4] 80bcc96: 6e1b ldr r3, [r3, #96] ; 0x60 80bcc98: 2b01 cmp r3, #1 80bcc9a: f040 8144 bne.w 80bcf26 && ((isrflags & USART_ISR_IDLE) != 0U) 80bcc9e: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcca2: f003 0310 and.w r3, r3, #16 80bcca6: 2b00 cmp r3, #0 80bcca8: f000 813d beq.w 80bcf26 && ((cr1its & USART_ISR_IDLE) != 0U)) 80bccac: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bccb0: f003 0310 and.w r3, r3, #16 80bccb4: 2b00 cmp r3, #0 80bccb6: f000 8136 beq.w 80bcf26 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_IDLEF); 80bccba: 687b ldr r3, [r7, #4] 80bccbc: 681b ldr r3, [r3, #0] 80bccbe: 2210 movs r2, #16 80bccc0: 621a str r2, [r3, #32] /* Check if DMA mode is enabled in UART */ if (HAL_IS_BIT_SET(huart->Instance->CR3, USART_CR3_DMAR)) 80bccc2: 687b ldr r3, [r7, #4] 80bccc4: 681b ldr r3, [r3, #0] 80bccc6: 689b ldr r3, [r3, #8] 80bccc8: f003 0340 and.w r3, r3, #64 ; 0x40 80bcccc: 2b40 cmp r3, #64 ; 0x40 80bccce: f040 80b2 bne.w 80bce36 { /* DMA mode enabled */ /* Check received length : If all expected data are received, do nothing, (DMA cplt callback will be called). Otherwise, if at least one data has already been received, IDLE event is to be notified to user */ uint16_t nb_remaining_rx_data = (uint16_t) __HAL_DMA_GET_COUNTER(huart->hdmarx); 80bccd2: 687b ldr r3, [r7, #4] 80bccd4: 6f1b ldr r3, [r3, #112] ; 0x70 80bccd6: 681b ldr r3, [r3, #0] 80bccd8: 685b ldr r3, [r3, #4] 80bccda: f8a7 30ce strh.w r3, [r7, #206] ; 0xce if ((nb_remaining_rx_data > 0U) 80bccde: f8b7 30ce ldrh.w r3, [r7, #206] ; 0xce 80bcce2: 2b00 cmp r3, #0 80bcce4: f000 815e beq.w 80bcfa4 && (nb_remaining_rx_data < huart->RxXferSize)) 80bcce8: 687b ldr r3, [r7, #4] 80bccea: f8b3 3058 ldrh.w r3, [r3, #88] ; 0x58 80bccee: f8b7 20ce ldrh.w r2, [r7, #206] ; 0xce 80bccf2: 429a cmp r2, r3 80bccf4: f080 8156 bcs.w 80bcfa4 { /* Reception is not complete */ huart->RxXferCount = nb_remaining_rx_data; 80bccf8: 687b ldr r3, [r7, #4] 80bccfa: f8b7 20ce ldrh.w r2, [r7, #206] ; 0xce 80bccfe: f8a3 205a strh.w r2, [r3, #90] ; 0x5a /* In Normal mode, end DMA xfer and HAL UART Rx process*/ if (huart->hdmarx->Init.Mode != DMA_CIRCULAR) 80bcd02: 687b ldr r3, [r7, #4] 80bcd04: 6f1b ldr r3, [r3, #112] ; 0x70 80bcd06: 69db ldr r3, [r3, #28] 80bcd08: f5b3 7f80 cmp.w r3, #256 ; 0x100 80bcd0c: f000 8085 beq.w 80bce1a { /* Disable PE and ERR (Frame error, noise error, overrun error) interrupts */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_PEIE); 80bcd10: 687b ldr r3, [r7, #4] 80bcd12: 681b ldr r3, [r3, #0] 80bcd14: f8c7 3088 str.w r3, [r7, #136] ; 0x88 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcd18: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80bcd1c: e853 3f00 ldrex r3, [r3] 80bcd20: f8c7 3084 str.w r3, [r7, #132] ; 0x84 return(result); 80bcd24: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80bcd28: f423 7380 bic.w r3, r3, #256 ; 0x100 80bcd2c: f8c7 30c8 str.w r3, [r7, #200] ; 0xc8 80bcd30: 687b ldr r3, [r7, #4] 80bcd32: 681b ldr r3, [r3, #0] 80bcd34: 461a mov r2, r3 80bcd36: f8d7 30c8 ldr.w r3, [r7, #200] ; 0xc8 80bcd3a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80bcd3e: f8c7 2090 str.w r2, [r7, #144] ; 0x90 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bcd42: f8d7 1090 ldr.w r1, [r7, #144] ; 0x90 80bcd46: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80bcd4a: e841 2300 strex r3, r2, [r1] 80bcd4e: f8c7 308c str.w r3, [r7, #140] ; 0x8c return(result); 80bcd52: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80bcd56: 2b00 cmp r3, #0 80bcd58: d1da bne.n 80bcd10 ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80bcd5a: 687b ldr r3, [r7, #4] 80bcd5c: 681b ldr r3, [r3, #0] 80bcd5e: 3308 adds r3, #8 80bcd60: 677b str r3, [r7, #116] ; 0x74 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcd62: 6f7b ldr r3, [r7, #116] ; 0x74 80bcd64: e853 3f00 ldrex r3, [r3] 80bcd68: 673b str r3, [r7, #112] ; 0x70 return(result); 80bcd6a: 6f3b ldr r3, [r7, #112] ; 0x70 80bcd6c: f023 0301 bic.w r3, r3, #1 80bcd70: f8c7 30c4 str.w r3, [r7, #196] ; 0xc4 80bcd74: 687b ldr r3, [r7, #4] 80bcd76: 681b ldr r3, [r3, #0] 80bcd78: 3308 adds r3, #8 80bcd7a: f8d7 20c4 ldr.w r2, [r7, #196] ; 0xc4 80bcd7e: f8c7 2080 str.w r2, [r7, #128] ; 0x80 80bcd82: 67fb str r3, [r7, #124] ; 0x7c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bcd84: 6ff9 ldr r1, [r7, #124] ; 0x7c 80bcd86: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80bcd8a: e841 2300 strex r3, r2, [r1] 80bcd8e: 67bb str r3, [r7, #120] ; 0x78 return(result); 80bcd90: 6fbb ldr r3, [r7, #120] ; 0x78 80bcd92: 2b00 cmp r3, #0 80bcd94: d1e1 bne.n 80bcd5a /* Disable the DMA transfer for the receiver request by resetting the DMAR bit in the UART CR3 register */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_DMAR); 80bcd96: 687b ldr r3, [r7, #4] 80bcd98: 681b ldr r3, [r3, #0] 80bcd9a: 3308 adds r3, #8 80bcd9c: 663b str r3, [r7, #96] ; 0x60 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcd9e: 6e3b ldr r3, [r7, #96] ; 0x60 80bcda0: e853 3f00 ldrex r3, [r3] 80bcda4: 65fb str r3, [r7, #92] ; 0x5c return(result); 80bcda6: 6dfb ldr r3, [r7, #92] ; 0x5c 80bcda8: f023 0340 bic.w r3, r3, #64 ; 0x40 80bcdac: f8c7 30c0 str.w r3, [r7, #192] ; 0xc0 80bcdb0: 687b ldr r3, [r7, #4] 80bcdb2: 681b ldr r3, [r3, #0] 80bcdb4: 3308 adds r3, #8 80bcdb6: f8d7 20c0 ldr.w r2, [r7, #192] ; 0xc0 80bcdba: 66fa str r2, [r7, #108] ; 0x6c 80bcdbc: 66bb str r3, [r7, #104] ; 0x68 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bcdbe: 6eb9 ldr r1, [r7, #104] ; 0x68 80bcdc0: 6efa ldr r2, [r7, #108] ; 0x6c 80bcdc2: e841 2300 strex r3, r2, [r1] 80bcdc6: 667b str r3, [r7, #100] ; 0x64 return(result); 80bcdc8: 6e7b ldr r3, [r7, #100] ; 0x64 80bcdca: 2b00 cmp r3, #0 80bcdcc: d1e3 bne.n 80bcd96 /* At end of Rx process, restore huart->RxState to Ready */ huart->RxState = HAL_UART_STATE_READY; 80bcdce: 687b ldr r3, [r7, #4] 80bcdd0: 2220 movs r2, #32 80bcdd2: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bcdd4: 687b ldr r3, [r7, #4] 80bcdd6: 2200 movs r2, #0 80bcdd8: 661a str r2, [r3, #96] ; 0x60 ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 80bcdda: 687b ldr r3, [r7, #4] 80bcddc: 681b ldr r3, [r3, #0] 80bcdde: 64fb str r3, [r7, #76] ; 0x4c __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcde0: 6cfb ldr r3, [r7, #76] ; 0x4c 80bcde2: e853 3f00 ldrex r3, [r3] 80bcde6: 64bb str r3, [r7, #72] ; 0x48 return(result); 80bcde8: 6cbb ldr r3, [r7, #72] ; 0x48 80bcdea: f023 0310 bic.w r3, r3, #16 80bcdee: f8c7 30bc str.w r3, [r7, #188] ; 0xbc 80bcdf2: 687b ldr r3, [r7, #4] 80bcdf4: 681b ldr r3, [r3, #0] 80bcdf6: 461a mov r2, r3 80bcdf8: f8d7 30bc ldr.w r3, [r7, #188] ; 0xbc 80bcdfc: 65bb str r3, [r7, #88] ; 0x58 80bcdfe: 657a str r2, [r7, #84] ; 0x54 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bce00: 6d79 ldr r1, [r7, #84] ; 0x54 80bce02: 6dba ldr r2, [r7, #88] ; 0x58 80bce04: e841 2300 strex r3, r2, [r1] 80bce08: 653b str r3, [r7, #80] ; 0x50 return(result); 80bce0a: 6d3b ldr r3, [r7, #80] ; 0x50 80bce0c: 2b00 cmp r3, #0 80bce0e: d1e4 bne.n 80bcdda /* Last bytes received, so no need as the abort is immediate */ (void)HAL_DMA_Abort(huart->hdmarx); 80bce10: 687b ldr r3, [r7, #4] 80bce12: 6f1b ldr r3, [r3, #112] ; 0x70 80bce14: 4618 mov r0, r3 80bce16: f7f7 fbaf bl 80b4578 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered Rx Event callback*/ huart->RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); #else /*Call legacy weak Rx Event callback*/ HAL_UARTEx_RxEventCallback(huart, (huart->RxXferSize - huart->RxXferCount)); 80bce1a: 687b ldr r3, [r7, #4] 80bce1c: f8b3 2058 ldrh.w r2, [r3, #88] ; 0x58 80bce20: 687b ldr r3, [r7, #4] 80bce22: f8b3 305a ldrh.w r3, [r3, #90] ; 0x5a 80bce26: b29b uxth r3, r3 80bce28: 1ad3 subs r3, r2, r3 80bce2a: b29b uxth r3, r3 80bce2c: 4619 mov r1, r3 80bce2e: 6878 ldr r0, [r7, #4] 80bce30: f000 f8ca bl 80bcfc8 #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ } return; 80bce34: e0b6 b.n 80bcfa4 else { /* DMA mode not enabled */ /* Check received length : If all expected data are received, do nothing. Otherwise, if at least one data has already been received, IDLE event is to be notified to user */ uint16_t nb_rx_data = huart->RxXferSize - huart->RxXferCount; 80bce36: 687b ldr r3, [r7, #4] 80bce38: f8b3 2058 ldrh.w r2, [r3, #88] ; 0x58 80bce3c: 687b ldr r3, [r7, #4] 80bce3e: f8b3 305a ldrh.w r3, [r3, #90] ; 0x5a 80bce42: b29b uxth r3, r3 80bce44: 1ad3 subs r3, r2, r3 80bce46: f8a7 30ba strh.w r3, [r7, #186] ; 0xba if ((huart->RxXferCount > 0U) 80bce4a: 687b ldr r3, [r7, #4] 80bce4c: f8b3 305a ldrh.w r3, [r3, #90] ; 0x5a 80bce50: b29b uxth r3, r3 80bce52: 2b00 cmp r3, #0 80bce54: f000 80a8 beq.w 80bcfa8 && (nb_rx_data > 0U)) 80bce58: f8b7 30ba ldrh.w r3, [r7, #186] ; 0xba 80bce5c: 2b00 cmp r3, #0 80bce5e: f000 80a3 beq.w 80bcfa8 { /* Disable the UART Parity Error Interrupt and RXNE interrupts */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 80bce62: 687b ldr r3, [r7, #4] 80bce64: 681b ldr r3, [r3, #0] 80bce66: 63bb str r3, [r7, #56] ; 0x38 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bce68: 6bbb ldr r3, [r7, #56] ; 0x38 80bce6a: e853 3f00 ldrex r3, [r3] 80bce6e: 637b str r3, [r7, #52] ; 0x34 return(result); 80bce70: 6b7b ldr r3, [r7, #52] ; 0x34 80bce72: f423 7390 bic.w r3, r3, #288 ; 0x120 80bce76: f8c7 30b4 str.w r3, [r7, #180] ; 0xb4 80bce7a: 687b ldr r3, [r7, #4] 80bce7c: 681b ldr r3, [r3, #0] 80bce7e: 461a mov r2, r3 80bce80: f8d7 30b4 ldr.w r3, [r7, #180] ; 0xb4 80bce84: 647b str r3, [r7, #68] ; 0x44 80bce86: 643a str r2, [r7, #64] ; 0x40 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bce88: 6c39 ldr r1, [r7, #64] ; 0x40 80bce8a: 6c7a ldr r2, [r7, #68] ; 0x44 80bce8c: e841 2300 strex r3, r2, [r1] 80bce90: 63fb str r3, [r7, #60] ; 0x3c return(result); 80bce92: 6bfb ldr r3, [r7, #60] ; 0x3c 80bce94: 2b00 cmp r3, #0 80bce96: d1e4 bne.n 80bce62 /* Disable the UART Error Interrupt: (Frame error, noise error, overrun error) */ ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80bce98: 687b ldr r3, [r7, #4] 80bce9a: 681b ldr r3, [r3, #0] 80bce9c: 3308 adds r3, #8 80bce9e: 627b str r3, [r7, #36] ; 0x24 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcea0: 6a7b ldr r3, [r7, #36] ; 0x24 80bcea2: e853 3f00 ldrex r3, [r3] 80bcea6: 623b str r3, [r7, #32] return(result); 80bcea8: 6a3b ldr r3, [r7, #32] 80bceaa: f023 0301 bic.w r3, r3, #1 80bceae: f8c7 30b0 str.w r3, [r7, #176] ; 0xb0 80bceb2: 687b ldr r3, [r7, #4] 80bceb4: 681b ldr r3, [r3, #0] 80bceb6: 3308 adds r3, #8 80bceb8: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 80bcebc: 633a str r2, [r7, #48] ; 0x30 80bcebe: 62fb str r3, [r7, #44] ; 0x2c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bcec0: 6af9 ldr r1, [r7, #44] ; 0x2c 80bcec2: 6b3a ldr r2, [r7, #48] ; 0x30 80bcec4: e841 2300 strex r3, r2, [r1] 80bcec8: 62bb str r3, [r7, #40] ; 0x28 return(result); 80bceca: 6abb ldr r3, [r7, #40] ; 0x28 80bcecc: 2b00 cmp r3, #0 80bcece: d1e3 bne.n 80bce98 /* Rx process is completed, restore huart->RxState to Ready */ huart->RxState = HAL_UART_STATE_READY; 80bced0: 687b ldr r3, [r7, #4] 80bced2: 2220 movs r2, #32 80bced4: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bced6: 687b ldr r3, [r7, #4] 80bced8: 2200 movs r2, #0 80bceda: 661a str r2, [r3, #96] ; 0x60 /* Clear RxISR function pointer */ huart->RxISR = NULL; 80bcedc: 687b ldr r3, [r7, #4] 80bcede: 2200 movs r2, #0 80bcee0: 665a str r2, [r3, #100] ; 0x64 ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 80bcee2: 687b ldr r3, [r7, #4] 80bcee4: 681b ldr r3, [r3, #0] 80bcee6: 613b str r3, [r7, #16] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bcee8: 693b ldr r3, [r7, #16] 80bceea: e853 3f00 ldrex r3, [r3] 80bceee: 60fb str r3, [r7, #12] return(result); 80bcef0: 68fb ldr r3, [r7, #12] 80bcef2: f023 0310 bic.w r3, r3, #16 80bcef6: f8c7 30ac str.w r3, [r7, #172] ; 0xac 80bcefa: 687b ldr r3, [r7, #4] 80bcefc: 681b ldr r3, [r3, #0] 80bcefe: 461a mov r2, r3 80bcf00: f8d7 30ac ldr.w r3, [r7, #172] ; 0xac 80bcf04: 61fb str r3, [r7, #28] 80bcf06: 61ba str r2, [r7, #24] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bcf08: 69b9 ldr r1, [r7, #24] 80bcf0a: 69fa ldr r2, [r7, #28] 80bcf0c: e841 2300 strex r3, r2, [r1] 80bcf10: 617b str r3, [r7, #20] return(result); 80bcf12: 697b ldr r3, [r7, #20] 80bcf14: 2b00 cmp r3, #0 80bcf16: d1e4 bne.n 80bcee2 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered Rx complete callback*/ huart->RxEventCallback(huart, nb_rx_data); #else /*Call legacy weak Rx Event callback*/ HAL_UARTEx_RxEventCallback(huart, nb_rx_data); 80bcf18: f8b7 30ba ldrh.w r3, [r7, #186] ; 0xba 80bcf1c: 4619 mov r1, r3 80bcf1e: 6878 ldr r0, [r7, #4] 80bcf20: f000 f852 bl 80bcfc8 #endif /* (USE_HAL_UART_REGISTER_CALLBACKS) */ } return; 80bcf24: e040 b.n 80bcfa8 } #if defined(USART_CR1_UESM) #if defined(USART_CR3_WUFIE) /* UART wakeup from Stop mode interrupt occurred ---------------------------*/ if (((isrflags & USART_ISR_WUF) != 0U) && ((cr3its & USART_CR3_WUFIE) != 0U)) 80bcf26: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcf2a: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80bcf2e: 2b00 cmp r3, #0 80bcf30: d00e beq.n 80bcf50 80bcf32: f8d7 30dc ldr.w r3, [r7, #220] ; 0xdc 80bcf36: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bcf3a: 2b00 cmp r3, #0 80bcf3c: d008 beq.n 80bcf50 { __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_WUF); 80bcf3e: 687b ldr r3, [r7, #4] 80bcf40: 681b ldr r3, [r3, #0] 80bcf42: f44f 1280 mov.w r2, #1048576 ; 0x100000 80bcf46: 621a str r2, [r3, #32] #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /* Call registered Wakeup Callback */ huart->WakeupCallback(huart); #else /* Call legacy weak Wakeup Callback */ HAL_UARTEx_WakeupCallback(huart); 80bcf48: 6878 ldr r0, [r7, #4] 80bcf4a: f000 f849 bl 80bcfe0 #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ return; 80bcf4e: e02e b.n 80bcfae } #endif /* USART_CR3_WUFIE */ #endif /* USART_CR1_UESM */ /* UART in mode Transmitter ------------------------------------------------*/ if (((isrflags & USART_ISR_TXE) != 0U) 80bcf50: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcf54: f003 0380 and.w r3, r3, #128 ; 0x80 80bcf58: 2b00 cmp r3, #0 80bcf5a: d00e beq.n 80bcf7a && ((cr1its & USART_CR1_TXEIE) != 0U)) 80bcf5c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bcf60: f003 0380 and.w r3, r3, #128 ; 0x80 80bcf64: 2b00 cmp r3, #0 80bcf66: d008 beq.n 80bcf7a { if (huart->TxISR != NULL) 80bcf68: 687b ldr r3, [r7, #4] 80bcf6a: 6e9b ldr r3, [r3, #104] ; 0x68 80bcf6c: 2b00 cmp r3, #0 80bcf6e: d01d beq.n 80bcfac { huart->TxISR(huart); 80bcf70: 687b ldr r3, [r7, #4] 80bcf72: 6e9b ldr r3, [r3, #104] ; 0x68 80bcf74: 6878 ldr r0, [r7, #4] 80bcf76: 4798 blx r3 } return; 80bcf78: e018 b.n 80bcfac } /* UART in mode Transmitter (transmission end) -----------------------------*/ if (((isrflags & USART_ISR_TC) != 0U) && ((cr1its & USART_CR1_TCIE) != 0U)) 80bcf7a: f8d7 30e4 ldr.w r3, [r7, #228] ; 0xe4 80bcf7e: f003 0340 and.w r3, r3, #64 ; 0x40 80bcf82: 2b00 cmp r3, #0 80bcf84: d013 beq.n 80bcfae 80bcf86: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80bcf8a: f003 0340 and.w r3, r3, #64 ; 0x40 80bcf8e: 2b00 cmp r3, #0 80bcf90: d00d beq.n 80bcfae { UART_EndTransmit_IT(huart); 80bcf92: 6878 ldr r0, [r7, #4] 80bcf94: f000 f919 bl 80bd1ca return; 80bcf98: bf00 nop 80bcf9a: e008 b.n 80bcfae return; 80bcf9c: bf00 nop 80bcf9e: e006 b.n 80bcfae return; 80bcfa0: bf00 nop 80bcfa2: e004 b.n 80bcfae return; 80bcfa4: bf00 nop 80bcfa6: e002 b.n 80bcfae return; 80bcfa8: bf00 nop 80bcfaa: e000 b.n 80bcfae return; 80bcfac: bf00 nop } } 80bcfae: 37e8 adds r7, #232 ; 0xe8 80bcfb0: 46bd mov sp, r7 80bcfb2: bd80 pop {r7, pc} 080bcfb4 : * @brief UART Abort Complete callback. * @param huart UART handle. * @retval None */ __weak void HAL_UART_AbortCpltCallback(UART_HandleTypeDef *huart) { 80bcfb4: b480 push {r7} 80bcfb6: b083 sub sp, #12 80bcfb8: af00 add r7, sp, #0 80bcfba: 6078 str r0, [r7, #4] UNUSED(huart); /* NOTE : This function should not be modified, when the callback is needed, the HAL_UART_AbortCpltCallback can be implemented in the user file. */ } 80bcfbc: bf00 nop 80bcfbe: 370c adds r7, #12 80bcfc0: 46bd mov sp, r7 80bcfc2: f85d 7b04 ldr.w r7, [sp], #4 80bcfc6: 4770 bx lr 080bcfc8 : * @param Size Number of data available in application reception buffer (indicates a position in * reception buffer until which, data are available) * @retval None */ __weak void HAL_UARTEx_RxEventCallback(UART_HandleTypeDef *huart, uint16_t Size) { 80bcfc8: b480 push {r7} 80bcfca: b083 sub sp, #12 80bcfcc: af00 add r7, sp, #0 80bcfce: 6078 str r0, [r7, #4] 80bcfd0: 460b mov r3, r1 80bcfd2: 807b strh r3, [r7, #2] UNUSED(Size); /* NOTE : This function should not be modified, when the callback is needed, the HAL_UARTEx_RxEventCallback can be implemented in the user file. */ } 80bcfd4: bf00 nop 80bcfd6: 370c adds r7, #12 80bcfd8: 46bd mov sp, r7 80bcfda: f85d 7b04 ldr.w r7, [sp], #4 80bcfde: 4770 bx lr 080bcfe0 : * @brief UART wakeup from Stop mode callback. * @param huart UART handle. * @retval None */ __weak void HAL_UARTEx_WakeupCallback(UART_HandleTypeDef *huart) { 80bcfe0: b480 push {r7} 80bcfe2: b083 sub sp, #12 80bcfe4: af00 add r7, sp, #0 80bcfe6: 6078 str r0, [r7, #4] UNUSED(huart); /* NOTE : This function should not be modified, when the callback is needed, the HAL_UARTEx_WakeupCallback can be implemented in the user file. */ } 80bcfe8: bf00 nop 80bcfea: 370c adds r7, #12 80bcfec: 46bd mov sp, r7 80bcfee: f85d 7b04 ldr.w r7, [sp], #4 80bcff2: 4770 bx lr 080bcff4 : * @brief End ongoing Rx transfer on UART peripheral (following error detection or Reception completion). * @param huart UART handle. * @retval None */ static void UART_EndRxTransfer(UART_HandleTypeDef *huart) { 80bcff4: b480 push {r7} 80bcff6: b095 sub sp, #84 ; 0x54 80bcff8: af00 add r7, sp, #0 80bcffa: 6078 str r0, [r7, #4] /* Disable RXNE, PE and ERR (Frame error, noise error, overrun error) interrupts */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, (USART_CR1_RXNEIE | USART_CR1_PEIE)); 80bcffc: 687b ldr r3, [r7, #4] 80bcffe: 681b ldr r3, [r3, #0] 80bd000: 637b str r3, [r7, #52] ; 0x34 __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bd002: 6b7b ldr r3, [r7, #52] ; 0x34 80bd004: e853 3f00 ldrex r3, [r3] 80bd008: 633b str r3, [r7, #48] ; 0x30 return(result); 80bd00a: 6b3b ldr r3, [r7, #48] ; 0x30 80bd00c: f423 7390 bic.w r3, r3, #288 ; 0x120 80bd010: 64fb str r3, [r7, #76] ; 0x4c 80bd012: 687b ldr r3, [r7, #4] 80bd014: 681b ldr r3, [r3, #0] 80bd016: 461a mov r2, r3 80bd018: 6cfb ldr r3, [r7, #76] ; 0x4c 80bd01a: 643b str r3, [r7, #64] ; 0x40 80bd01c: 63fa str r2, [r7, #60] ; 0x3c __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bd01e: 6bf9 ldr r1, [r7, #60] ; 0x3c 80bd020: 6c3a ldr r2, [r7, #64] ; 0x40 80bd022: e841 2300 strex r3, r2, [r1] 80bd026: 63bb str r3, [r7, #56] ; 0x38 return(result); 80bd028: 6bbb ldr r3, [r7, #56] ; 0x38 80bd02a: 2b00 cmp r3, #0 80bd02c: d1e6 bne.n 80bcffc ATOMIC_CLEAR_BIT(huart->Instance->CR3, USART_CR3_EIE); 80bd02e: 687b ldr r3, [r7, #4] 80bd030: 681b ldr r3, [r3, #0] 80bd032: 3308 adds r3, #8 80bd034: 623b str r3, [r7, #32] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bd036: 6a3b ldr r3, [r7, #32] 80bd038: e853 3f00 ldrex r3, [r3] 80bd03c: 61fb str r3, [r7, #28] return(result); 80bd03e: 69fb ldr r3, [r7, #28] 80bd040: f023 0301 bic.w r3, r3, #1 80bd044: 64bb str r3, [r7, #72] ; 0x48 80bd046: 687b ldr r3, [r7, #4] 80bd048: 681b ldr r3, [r3, #0] 80bd04a: 3308 adds r3, #8 80bd04c: 6cba ldr r2, [r7, #72] ; 0x48 80bd04e: 62fa str r2, [r7, #44] ; 0x2c 80bd050: 62bb str r3, [r7, #40] ; 0x28 __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bd052: 6ab9 ldr r1, [r7, #40] ; 0x28 80bd054: 6afa ldr r2, [r7, #44] ; 0x2c 80bd056: e841 2300 strex r3, r2, [r1] 80bd05a: 627b str r3, [r7, #36] ; 0x24 return(result); 80bd05c: 6a7b ldr r3, [r7, #36] ; 0x24 80bd05e: 2b00 cmp r3, #0 80bd060: d1e5 bne.n 80bd02e /* In case of reception waiting for IDLE event, disable also the IDLE IE interrupt source */ if (huart->ReceptionType == HAL_UART_RECEPTION_TOIDLE) 80bd062: 687b ldr r3, [r7, #4] 80bd064: 6e1b ldr r3, [r3, #96] ; 0x60 80bd066: 2b01 cmp r3, #1 80bd068: d118 bne.n 80bd09c { ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_IDLEIE); 80bd06a: 687b ldr r3, [r7, #4] 80bd06c: 681b ldr r3, [r3, #0] 80bd06e: 60fb str r3, [r7, #12] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bd070: 68fb ldr r3, [r7, #12] 80bd072: e853 3f00 ldrex r3, [r3] 80bd076: 60bb str r3, [r7, #8] return(result); 80bd078: 68bb ldr r3, [r7, #8] 80bd07a: f023 0310 bic.w r3, r3, #16 80bd07e: 647b str r3, [r7, #68] ; 0x44 80bd080: 687b ldr r3, [r7, #4] 80bd082: 681b ldr r3, [r3, #0] 80bd084: 461a mov r2, r3 80bd086: 6c7b ldr r3, [r7, #68] ; 0x44 80bd088: 61bb str r3, [r7, #24] 80bd08a: 617a str r2, [r7, #20] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bd08c: 6979 ldr r1, [r7, #20] 80bd08e: 69ba ldr r2, [r7, #24] 80bd090: e841 2300 strex r3, r2, [r1] 80bd094: 613b str r3, [r7, #16] return(result); 80bd096: 693b ldr r3, [r7, #16] 80bd098: 2b00 cmp r3, #0 80bd09a: d1e6 bne.n 80bd06a } /* At end of Rx process, restore huart->RxState to Ready */ huart->RxState = HAL_UART_STATE_READY; 80bd09c: 687b ldr r3, [r7, #4] 80bd09e: 2220 movs r2, #32 80bd0a0: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bd0a2: 687b ldr r3, [r7, #4] 80bd0a4: 2200 movs r2, #0 80bd0a6: 661a str r2, [r3, #96] ; 0x60 /* Reset RxIsr function pointer */ huart->RxISR = NULL; 80bd0a8: 687b ldr r3, [r7, #4] 80bd0aa: 2200 movs r2, #0 80bd0ac: 665a str r2, [r3, #100] ; 0x64 } 80bd0ae: bf00 nop 80bd0b0: 3754 adds r7, #84 ; 0x54 80bd0b2: 46bd mov sp, r7 80bd0b4: f85d 7b04 ldr.w r7, [sp], #4 80bd0b8: 4770 bx lr 080bd0ba : * (To be called at end of DMA Abort procedure following error occurrence). * @param hdma DMA handle. * @retval None */ static void UART_DMAAbortOnError(DMA_HandleTypeDef *hdma) { 80bd0ba: b580 push {r7, lr} 80bd0bc: b084 sub sp, #16 80bd0be: af00 add r7, sp, #0 80bd0c0: 6078 str r0, [r7, #4] UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 80bd0c2: 687b ldr r3, [r7, #4] 80bd0c4: 6b9b ldr r3, [r3, #56] ; 0x38 80bd0c6: 60fb str r3, [r7, #12] huart->RxXferCount = 0U; 80bd0c8: 68fb ldr r3, [r7, #12] 80bd0ca: 2200 movs r2, #0 80bd0cc: f8a3 205a strh.w r2, [r3, #90] ; 0x5a huart->TxXferCount = 0U; 80bd0d0: 68fb ldr r3, [r7, #12] 80bd0d2: 2200 movs r2, #0 80bd0d4: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered error callback*/ huart->ErrorCallback(huart); #else /*Call legacy weak error callback*/ HAL_UART_ErrorCallback(huart); 80bd0d8: 68f8 ldr r0, [r7, #12] 80bd0da: f772 fcb7 bl 802fa4c #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80bd0de: bf00 nop 80bd0e0: 3710 adds r7, #16 80bd0e2: 46bd mov sp, r7 80bd0e4: bd80 pop {r7, pc} 080bd0e6 : * Abort still ongoing for Rx DMA Handle. * @param hdma DMA handle. * @retval None */ static void UART_DMATxAbortCallback(DMA_HandleTypeDef *hdma) { 80bd0e6: b580 push {r7, lr} 80bd0e8: b084 sub sp, #16 80bd0ea: af00 add r7, sp, #0 80bd0ec: 6078 str r0, [r7, #4] UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 80bd0ee: 687b ldr r3, [r7, #4] 80bd0f0: 6b9b ldr r3, [r3, #56] ; 0x38 80bd0f2: 60fb str r3, [r7, #12] huart->hdmatx->XferAbortCallback = NULL; 80bd0f4: 68fb ldr r3, [r7, #12] 80bd0f6: 6edb ldr r3, [r3, #108] ; 0x6c 80bd0f8: 2200 movs r2, #0 80bd0fa: 651a str r2, [r3, #80] ; 0x50 /* Check if an Abort process is still ongoing */ if (huart->hdmarx != NULL) 80bd0fc: 68fb ldr r3, [r7, #12] 80bd0fe: 6f1b ldr r3, [r3, #112] ; 0x70 80bd100: 2b00 cmp r3, #0 80bd102: d004 beq.n 80bd10e { if (huart->hdmarx->XferAbortCallback != NULL) 80bd104: 68fb ldr r3, [r7, #12] 80bd106: 6f1b ldr r3, [r3, #112] ; 0x70 80bd108: 6d1b ldr r3, [r3, #80] ; 0x50 80bd10a: 2b00 cmp r3, #0 80bd10c: d11c bne.n 80bd148 return; } } /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ huart->TxXferCount = 0U; 80bd10e: 68fb ldr r3, [r7, #12] 80bd110: 2200 movs r2, #0 80bd112: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 huart->RxXferCount = 0U; 80bd116: 68fb ldr r3, [r7, #12] 80bd118: 2200 movs r2, #0 80bd11a: f8a3 205a strh.w r2, [r3, #90] ; 0x5a /* Reset errorCode */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80bd11e: 68fb ldr r3, [r7, #12] 80bd120: 2200 movs r2, #0 80bd122: f8c3 2080 str.w r2, [r3, #128] ; 0x80 /* Clear the Error flags in the ICR register */ __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 80bd126: 68fb ldr r3, [r7, #12] 80bd128: 681b ldr r3, [r3, #0] 80bd12a: 220f movs r2, #15 80bd12c: 621a str r2, [r3, #32] /* Restore huart->gState and huart->RxState to Ready */ huart->gState = HAL_UART_STATE_READY; 80bd12e: 68fb ldr r3, [r7, #12] 80bd130: 2220 movs r2, #32 80bd132: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_READY; 80bd134: 68fb ldr r3, [r7, #12] 80bd136: 2220 movs r2, #32 80bd138: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bd13a: 68fb ldr r3, [r7, #12] 80bd13c: 2200 movs r2, #0 80bd13e: 661a str r2, [r3, #96] ; 0x60 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /* Call registered Abort complete callback */ huart->AbortCpltCallback(huart); #else /* Call legacy weak Abort complete callback */ HAL_UART_AbortCpltCallback(huart); 80bd140: 68f8 ldr r0, [r7, #12] 80bd142: f7ff ff37 bl 80bcfb4 80bd146: e000 b.n 80bd14a return; 80bd148: bf00 nop #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80bd14a: 3710 adds r7, #16 80bd14c: 46bd mov sp, r7 80bd14e: bd80 pop {r7, pc} 080bd150 : * Abort still ongoing for Tx DMA Handle. * @param hdma DMA handle. * @retval None */ static void UART_DMARxAbortCallback(DMA_HandleTypeDef *hdma) { 80bd150: b580 push {r7, lr} 80bd152: b084 sub sp, #16 80bd154: af00 add r7, sp, #0 80bd156: 6078 str r0, [r7, #4] UART_HandleTypeDef *huart = (UART_HandleTypeDef *)(hdma->Parent); 80bd158: 687b ldr r3, [r7, #4] 80bd15a: 6b9b ldr r3, [r3, #56] ; 0x38 80bd15c: 60fb str r3, [r7, #12] huart->hdmarx->XferAbortCallback = NULL; 80bd15e: 68fb ldr r3, [r7, #12] 80bd160: 6f1b ldr r3, [r3, #112] ; 0x70 80bd162: 2200 movs r2, #0 80bd164: 651a str r2, [r3, #80] ; 0x50 /* Check if an Abort process is still ongoing */ if (huart->hdmatx != NULL) 80bd166: 68fb ldr r3, [r7, #12] 80bd168: 6edb ldr r3, [r3, #108] ; 0x6c 80bd16a: 2b00 cmp r3, #0 80bd16c: d004 beq.n 80bd178 { if (huart->hdmatx->XferAbortCallback != NULL) 80bd16e: 68fb ldr r3, [r7, #12] 80bd170: 6edb ldr r3, [r3, #108] ; 0x6c 80bd172: 6d1b ldr r3, [r3, #80] ; 0x50 80bd174: 2b00 cmp r3, #0 80bd176: d124 bne.n 80bd1c2 return; } } /* No Abort process still ongoing : All DMA channels are aborted, call user Abort Complete callback */ huart->TxXferCount = 0U; 80bd178: 68fb ldr r3, [r7, #12] 80bd17a: 2200 movs r2, #0 80bd17c: f8a3 2052 strh.w r2, [r3, #82] ; 0x52 huart->RxXferCount = 0U; 80bd180: 68fb ldr r3, [r7, #12] 80bd182: 2200 movs r2, #0 80bd184: f8a3 205a strh.w r2, [r3, #90] ; 0x5a /* Reset errorCode */ huart->ErrorCode = HAL_UART_ERROR_NONE; 80bd188: 68fb ldr r3, [r7, #12] 80bd18a: 2200 movs r2, #0 80bd18c: f8c3 2080 str.w r2, [r3, #128] ; 0x80 /* Clear the Error flags in the ICR register */ __HAL_UART_CLEAR_FLAG(huart, UART_CLEAR_OREF | UART_CLEAR_NEF | UART_CLEAR_PEF | UART_CLEAR_FEF); 80bd190: 68fb ldr r3, [r7, #12] 80bd192: 681b ldr r3, [r3, #0] 80bd194: 220f movs r2, #15 80bd196: 621a str r2, [r3, #32] /* Discard the received data */ __HAL_UART_SEND_REQ(huart, UART_RXDATA_FLUSH_REQUEST); 80bd198: 68fb ldr r3, [r7, #12] 80bd19a: 681b ldr r3, [r3, #0] 80bd19c: 68fa ldr r2, [r7, #12] 80bd19e: 6812 ldr r2, [r2, #0] 80bd1a0: 6992 ldr r2, [r2, #24] 80bd1a2: f042 0208 orr.w r2, r2, #8 80bd1a6: 619a str r2, [r3, #24] /* Restore huart->gState and huart->RxState to Ready */ huart->gState = HAL_UART_STATE_READY; 80bd1a8: 68fb ldr r3, [r7, #12] 80bd1aa: 2220 movs r2, #32 80bd1ac: 679a str r2, [r3, #120] ; 0x78 huart->RxState = HAL_UART_STATE_READY; 80bd1ae: 68fb ldr r3, [r7, #12] 80bd1b0: 2220 movs r2, #32 80bd1b2: 67da str r2, [r3, #124] ; 0x7c huart->ReceptionType = HAL_UART_RECEPTION_STANDARD; 80bd1b4: 68fb ldr r3, [r7, #12] 80bd1b6: 2200 movs r2, #0 80bd1b8: 661a str r2, [r3, #96] ; 0x60 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /* Call registered Abort complete callback */ huart->AbortCpltCallback(huart); #else /* Call legacy weak Abort complete callback */ HAL_UART_AbortCpltCallback(huart); 80bd1ba: 68f8 ldr r0, [r7, #12] 80bd1bc: f7ff fefa bl 80bcfb4 80bd1c0: e000 b.n 80bd1c4 return; 80bd1c2: bf00 nop #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80bd1c4: 3710 adds r7, #16 80bd1c6: 46bd mov sp, r7 80bd1c8: bd80 pop {r7, pc} 080bd1ca : * @param huart pointer to a UART_HandleTypeDef structure that contains * the configuration information for the specified UART module. * @retval None */ static void UART_EndTransmit_IT(UART_HandleTypeDef *huart) { 80bd1ca: b580 push {r7, lr} 80bd1cc: b088 sub sp, #32 80bd1ce: af00 add r7, sp, #0 80bd1d0: 6078 str r0, [r7, #4] /* Disable the UART Transmit Complete Interrupt */ ATOMIC_CLEAR_BIT(huart->Instance->CR1, USART_CR1_TCIE); 80bd1d2: 687b ldr r3, [r7, #4] 80bd1d4: 681b ldr r3, [r3, #0] 80bd1d6: 60fb str r3, [r7, #12] __ASM volatile ("ldrex %0, %1" : "=r" (result) : "Q" (*addr) ); 80bd1d8: 68fb ldr r3, [r7, #12] 80bd1da: e853 3f00 ldrex r3, [r3] 80bd1de: 60bb str r3, [r7, #8] return(result); 80bd1e0: 68bb ldr r3, [r7, #8] 80bd1e2: f023 0340 bic.w r3, r3, #64 ; 0x40 80bd1e6: 61fb str r3, [r7, #28] 80bd1e8: 687b ldr r3, [r7, #4] 80bd1ea: 681b ldr r3, [r3, #0] 80bd1ec: 461a mov r2, r3 80bd1ee: 69fb ldr r3, [r7, #28] 80bd1f0: 61bb str r3, [r7, #24] 80bd1f2: 617a str r2, [r7, #20] __ASM volatile ("strex %0, %2, %1" : "=&r" (result), "=Q" (*addr) : "r" (value) ); 80bd1f4: 6979 ldr r1, [r7, #20] 80bd1f6: 69ba ldr r2, [r7, #24] 80bd1f8: e841 2300 strex r3, r2, [r1] 80bd1fc: 613b str r3, [r7, #16] return(result); 80bd1fe: 693b ldr r3, [r7, #16] 80bd200: 2b00 cmp r3, #0 80bd202: d1e6 bne.n 80bd1d2 /* Tx process is ended, restore huart->gState to Ready */ huart->gState = HAL_UART_STATE_READY; 80bd204: 687b ldr r3, [r7, #4] 80bd206: 2220 movs r2, #32 80bd208: 679a str r2, [r3, #120] ; 0x78 /* Cleat TxISR function pointer */ huart->TxISR = NULL; 80bd20a: 687b ldr r3, [r7, #4] 80bd20c: 2200 movs r2, #0 80bd20e: 669a str r2, [r3, #104] ; 0x68 #if (USE_HAL_UART_REGISTER_CALLBACKS == 1) /*Call registered Tx complete callback*/ huart->TxCpltCallback(huart); #else /*Call legacy weak Tx complete callback*/ HAL_UART_TxCpltCallback(huart); 80bd210: 6878 ldr r0, [r7, #4] 80bd212: f772 fc0b bl 802fa2c #endif /* USE_HAL_UART_REGISTER_CALLBACKS */ } 80bd216: bf00 nop 80bd218: 3720 adds r7, #32 80bd21a: 46bd mov sp, r7 80bd21c: bd80 pop {r7, pc} ... 080bd220 : * @param Init Pointer to NORSRAM Initialization structure * @retval HAL status */ HAL_StatusTypeDef FMC_NORSRAM_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_InitTypeDef *Init) { 80bd220: b480 push {r7} 80bd222: b087 sub sp, #28 80bd224: af00 add r7, sp, #0 80bd226: 6078 str r0, [r7, #4] 80bd228: 6039 str r1, [r7, #0] assert_param(IS_FMC_CONTINOUS_CLOCK(Init->ContinuousClock)); assert_param(IS_FMC_WRITE_FIFO(Init->WriteFifo)); assert_param(IS_FMC_PAGESIZE(Init->PageSize)); /* Disable NORSRAM Device */ __FMC_NORSRAM_DISABLE(Device, Init->NSBank); 80bd22a: 683b ldr r3, [r7, #0] 80bd22c: 681a ldr r2, [r3, #0] 80bd22e: 683b ldr r3, [r7, #0] 80bd230: 6819 ldr r1, [r3, #0] 80bd232: 687b ldr r3, [r7, #4] 80bd234: f853 3021 ldr.w r3, [r3, r1, lsl #2] 80bd238: f023 0101 bic.w r1, r3, #1 80bd23c: 687b ldr r3, [r7, #4] 80bd23e: f843 1022 str.w r1, [r3, r2, lsl #2] /* Set NORSRAM device control parameters */ if (Init->MemoryType == FMC_MEMORY_TYPE_NOR) 80bd242: 683b ldr r3, [r7, #0] 80bd244: 689b ldr r3, [r3, #8] 80bd246: 2b08 cmp r3, #8 80bd248: d102 bne.n 80bd250 { flashaccess = FMC_NORSRAM_FLASH_ACCESS_ENABLE; 80bd24a: 2340 movs r3, #64 ; 0x40 80bd24c: 617b str r3, [r7, #20] 80bd24e: e001 b.n 80bd254 } else { flashaccess = FMC_NORSRAM_FLASH_ACCESS_DISABLE; 80bd250: 2300 movs r3, #0 80bd252: 617b str r3, [r7, #20] } btcr_reg = (flashaccess | \ Init->DataAddressMux | \ 80bd254: 683b ldr r3, [r7, #0] 80bd256: 685a ldr r2, [r3, #4] btcr_reg = (flashaccess | \ 80bd258: 697b ldr r3, [r7, #20] 80bd25a: 431a orrs r2, r3 Init->MemoryType | \ 80bd25c: 683b ldr r3, [r7, #0] 80bd25e: 689b ldr r3, [r3, #8] Init->DataAddressMux | \ 80bd260: 431a orrs r2, r3 Init->MemoryDataWidth | \ 80bd262: 683b ldr r3, [r7, #0] 80bd264: 68db ldr r3, [r3, #12] Init->MemoryType | \ 80bd266: 431a orrs r2, r3 Init->BurstAccessMode | \ 80bd268: 683b ldr r3, [r7, #0] 80bd26a: 691b ldr r3, [r3, #16] Init->MemoryDataWidth | \ 80bd26c: 431a orrs r2, r3 Init->WaitSignalPolarity | \ 80bd26e: 683b ldr r3, [r7, #0] 80bd270: 695b ldr r3, [r3, #20] Init->BurstAccessMode | \ 80bd272: 431a orrs r2, r3 Init->WaitSignalActive | \ 80bd274: 683b ldr r3, [r7, #0] 80bd276: 699b ldr r3, [r3, #24] Init->WaitSignalPolarity | \ 80bd278: 431a orrs r2, r3 Init->WriteOperation | \ 80bd27a: 683b ldr r3, [r7, #0] 80bd27c: 69db ldr r3, [r3, #28] Init->WaitSignalActive | \ 80bd27e: 431a orrs r2, r3 Init->WaitSignal | \ 80bd280: 683b ldr r3, [r7, #0] 80bd282: 6a1b ldr r3, [r3, #32] Init->WriteOperation | \ 80bd284: 431a orrs r2, r3 Init->ExtendedMode | \ 80bd286: 683b ldr r3, [r7, #0] 80bd288: 6a5b ldr r3, [r3, #36] ; 0x24 Init->WaitSignal | \ 80bd28a: 431a orrs r2, r3 Init->AsynchronousWait | \ 80bd28c: 683b ldr r3, [r7, #0] 80bd28e: 6a9b ldr r3, [r3, #40] ; 0x28 Init->ExtendedMode | \ 80bd290: 431a orrs r2, r3 Init->WriteBurst); 80bd292: 683b ldr r3, [r7, #0] 80bd294: 6adb ldr r3, [r3, #44] ; 0x2c btcr_reg = (flashaccess | \ 80bd296: 4313 orrs r3, r2 80bd298: 613b str r3, [r7, #16] btcr_reg |= Init->ContinuousClock; 80bd29a: 683b ldr r3, [r7, #0] 80bd29c: 6b1b ldr r3, [r3, #48] ; 0x30 80bd29e: 693a ldr r2, [r7, #16] 80bd2a0: 4313 orrs r3, r2 80bd2a2: 613b str r3, [r7, #16] btcr_reg |= Init->WriteFifo; 80bd2a4: 683b ldr r3, [r7, #0] 80bd2a6: 6b5b ldr r3, [r3, #52] ; 0x34 80bd2a8: 693a ldr r2, [r7, #16] 80bd2aa: 4313 orrs r3, r2 80bd2ac: 613b str r3, [r7, #16] btcr_reg |= Init->PageSize; 80bd2ae: 683b ldr r3, [r7, #0] 80bd2b0: 6b9b ldr r3, [r3, #56] ; 0x38 80bd2b2: 693a ldr r2, [r7, #16] 80bd2b4: 4313 orrs r3, r2 80bd2b6: 613b str r3, [r7, #16] mask = (FMC_BCR1_MBKEN | 80bd2b8: 4b20 ldr r3, [pc, #128] ; (80bd33c ) 80bd2ba: 60fb str r3, [r7, #12] FMC_BCR1_WAITEN | FMC_BCR1_EXTMOD | FMC_BCR1_ASYNCWAIT | FMC_BCR1_CBURSTRW); mask |= FMC_BCR1_CCLKEN; 80bd2bc: 68fb ldr r3, [r7, #12] 80bd2be: f443 1380 orr.w r3, r3, #1048576 ; 0x100000 80bd2c2: 60fb str r3, [r7, #12] mask |= FMC_BCR1_WFDIS; 80bd2c4: 68fb ldr r3, [r7, #12] 80bd2c6: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 80bd2ca: 60fb str r3, [r7, #12] mask |= FMC_BCR1_CPSIZE; 80bd2cc: 68fb ldr r3, [r7, #12] 80bd2ce: f443 23e0 orr.w r3, r3, #458752 ; 0x70000 80bd2d2: 60fb str r3, [r7, #12] MODIFY_REG(Device->BTCR[Init->NSBank], mask, btcr_reg); 80bd2d4: 683b ldr r3, [r7, #0] 80bd2d6: 681a ldr r2, [r3, #0] 80bd2d8: 683b ldr r3, [r7, #0] 80bd2da: 6819 ldr r1, [r3, #0] 80bd2dc: 687b ldr r3, [r7, #4] 80bd2de: f853 1021 ldr.w r1, [r3, r1, lsl #2] 80bd2e2: 68fb ldr r3, [r7, #12] 80bd2e4: 43db mvns r3, r3 80bd2e6: 4019 ands r1, r3 80bd2e8: 693b ldr r3, [r7, #16] 80bd2ea: 4319 orrs r1, r3 80bd2ec: 687b ldr r3, [r7, #4] 80bd2ee: f843 1022 str.w r1, [r3, r2, lsl #2] /* Configure synchronous mode when Continuous clock is enabled for bank2..4 */ if ((Init->ContinuousClock == FMC_CONTINUOUS_CLOCK_SYNC_ASYNC) && (Init->NSBank != FMC_NORSRAM_BANK1)) 80bd2f2: 683b ldr r3, [r7, #0] 80bd2f4: 6b1b ldr r3, [r3, #48] ; 0x30 80bd2f6: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80bd2fa: d10c bne.n 80bd316 80bd2fc: 683b ldr r3, [r7, #0] 80bd2fe: 681b ldr r3, [r3, #0] 80bd300: 2b00 cmp r3, #0 80bd302: d008 beq.n 80bd316 { MODIFY_REG(Device->BTCR[FMC_NORSRAM_BANK1], FMC_BCR1_CCLKEN, Init->ContinuousClock); 80bd304: 687b ldr r3, [r7, #4] 80bd306: 681b ldr r3, [r3, #0] 80bd308: f423 1280 bic.w r2, r3, #1048576 ; 0x100000 80bd30c: 683b ldr r3, [r7, #0] 80bd30e: 6b1b ldr r3, [r3, #48] ; 0x30 80bd310: 431a orrs r2, r3 80bd312: 687b ldr r3, [r7, #4] 80bd314: 601a str r2, [r3, #0] } if (Init->NSBank != FMC_NORSRAM_BANK1) 80bd316: 683b ldr r3, [r7, #0] 80bd318: 681b ldr r3, [r3, #0] 80bd31a: 2b00 cmp r3, #0 80bd31c: d006 beq.n 80bd32c { /* Configure Write FIFO mode when Write Fifo is enabled for bank2..4 */ SET_BIT(Device->BTCR[FMC_NORSRAM_BANK1], (uint32_t)(Init->WriteFifo)); 80bd31e: 687b ldr r3, [r7, #4] 80bd320: 681a ldr r2, [r3, #0] 80bd322: 683b ldr r3, [r7, #0] 80bd324: 6b5b ldr r3, [r3, #52] ; 0x34 80bd326: 431a orrs r2, r3 80bd328: 687b ldr r3, [r7, #4] 80bd32a: 601a str r2, [r3, #0] } return HAL_OK; 80bd32c: 2300 movs r3, #0 } 80bd32e: 4618 mov r0, r3 80bd330: 371c adds r7, #28 80bd332: 46bd mov sp, r7 80bd334: f85d 7b04 ldr.w r7, [sp], #4 80bd338: 4770 bx lr 80bd33a: bf00 nop 80bd33c: 0008fb7f .word 0x0008fb7f 080bd340 : * @param Bank NORSRAM bank number * @retval HAL status */ HAL_StatusTypeDef FMC_NORSRAM_Timing_Init(FMC_NORSRAM_TypeDef *Device, FMC_NORSRAM_TimingTypeDef *Timing, uint32_t Bank) { 80bd340: b480 push {r7} 80bd342: b087 sub sp, #28 80bd344: af00 add r7, sp, #0 80bd346: 60f8 str r0, [r7, #12] 80bd348: 60b9 str r1, [r7, #8] 80bd34a: 607a str r2, [r7, #4] assert_param(IS_FMC_DATA_LATENCY(Timing->DataLatency)); assert_param(IS_FMC_ACCESS_MODE(Timing->AccessMode)); assert_param(IS_FMC_NORSRAM_BANK(Bank)); /* Set FMC_NORSRAM device timing parameters */ MODIFY_REG(Device->BTCR[Bank + 1U], BTR_CLEAR_MASK, (Timing->AddressSetupTime | 80bd34c: 687b ldr r3, [r7, #4] 80bd34e: 1c5a adds r2, r3, #1 80bd350: 687b ldr r3, [r7, #4] 80bd352: 1c59 adds r1, r3, #1 80bd354: 68fb ldr r3, [r7, #12] 80bd356: f853 3021 ldr.w r3, [r3, r1, lsl #2] 80bd35a: f003 4140 and.w r1, r3, #3221225472 ; 0xc0000000 80bd35e: 68bb ldr r3, [r7, #8] 80bd360: 6818 ldr r0, [r3, #0] 80bd362: 68bb ldr r3, [r7, #8] 80bd364: 685b ldr r3, [r3, #4] 80bd366: 011b lsls r3, r3, #4 80bd368: 4318 orrs r0, r3 80bd36a: 68bb ldr r3, [r7, #8] 80bd36c: 689b ldr r3, [r3, #8] 80bd36e: 021b lsls r3, r3, #8 80bd370: 4318 orrs r0, r3 80bd372: 68bb ldr r3, [r7, #8] 80bd374: 68db ldr r3, [r3, #12] 80bd376: 041b lsls r3, r3, #16 80bd378: 4318 orrs r0, r3 80bd37a: 68bb ldr r3, [r7, #8] 80bd37c: 691b ldr r3, [r3, #16] 80bd37e: 3b01 subs r3, #1 80bd380: 051b lsls r3, r3, #20 80bd382: 4318 orrs r0, r3 80bd384: 68bb ldr r3, [r7, #8] 80bd386: 695b ldr r3, [r3, #20] 80bd388: 3b02 subs r3, #2 80bd38a: 061b lsls r3, r3, #24 80bd38c: 4318 orrs r0, r3 80bd38e: 68bb ldr r3, [r7, #8] 80bd390: 699b ldr r3, [r3, #24] 80bd392: 4303 orrs r3, r0 80bd394: 4319 orrs r1, r3 80bd396: 68fb ldr r3, [r7, #12] 80bd398: f843 1022 str.w r1, [r3, r2, lsl #2] (((Timing->CLKDivision) - 1U) << FMC_BTR1_CLKDIV_Pos) | (((Timing->DataLatency) - 2U) << FMC_BTR1_DATLAT_Pos) | (Timing->AccessMode))); /* Configure Clock division value (in NORSRAM bank 1) when continuous clock is enabled */ if (HAL_IS_BIT_SET(Device->BTCR[FMC_NORSRAM_BANK1], FMC_BCR1_CCLKEN)) 80bd39c: 68fb ldr r3, [r7, #12] 80bd39e: 681b ldr r3, [r3, #0] 80bd3a0: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80bd3a4: f5b3 1f80 cmp.w r3, #1048576 ; 0x100000 80bd3a8: d113 bne.n 80bd3d2 { tmpr = (uint32_t)(Device->BTCR[FMC_NORSRAM_BANK1 + 1U] & ~((0x0FU) << FMC_BTR1_CLKDIV_Pos)); 80bd3aa: 68fb ldr r3, [r7, #12] 80bd3ac: 685b ldr r3, [r3, #4] 80bd3ae: f423 0370 bic.w r3, r3, #15728640 ; 0xf00000 80bd3b2: 617b str r3, [r7, #20] tmpr |= (uint32_t)(((Timing->CLKDivision) - 1U) << FMC_BTR1_CLKDIV_Pos); 80bd3b4: 68bb ldr r3, [r7, #8] 80bd3b6: 691b ldr r3, [r3, #16] 80bd3b8: 3b01 subs r3, #1 80bd3ba: 051b lsls r3, r3, #20 80bd3bc: 697a ldr r2, [r7, #20] 80bd3be: 4313 orrs r3, r2 80bd3c0: 617b str r3, [r7, #20] MODIFY_REG(Device->BTCR[FMC_NORSRAM_BANK1 + 1U], FMC_BTR1_CLKDIV, tmpr); 80bd3c2: 68fb ldr r3, [r7, #12] 80bd3c4: 685b ldr r3, [r3, #4] 80bd3c6: f423 0270 bic.w r2, r3, #15728640 ; 0xf00000 80bd3ca: 697b ldr r3, [r7, #20] 80bd3cc: 431a orrs r2, r3 80bd3ce: 68fb ldr r3, [r7, #12] 80bd3d0: 605a str r2, [r3, #4] } return HAL_OK; 80bd3d2: 2300 movs r3, #0 } 80bd3d4: 4618 mov r0, r3 80bd3d6: 371c adds r7, #28 80bd3d8: 46bd mov sp, r7 80bd3da: f85d 7b04 ldr.w r7, [sp], #4 80bd3de: 4770 bx lr 080bd3e0 : * @retval HAL status */ HAL_StatusTypeDef FMC_NORSRAM_Extended_Timing_Init(FMC_NORSRAM_EXTENDED_TypeDef *Device, FMC_NORSRAM_TimingTypeDef *Timing, uint32_t Bank, uint32_t ExtendedMode) { 80bd3e0: b480 push {r7} 80bd3e2: b085 sub sp, #20 80bd3e4: af00 add r7, sp, #0 80bd3e6: 60f8 str r0, [r7, #12] 80bd3e8: 60b9 str r1, [r7, #8] 80bd3ea: 607a str r2, [r7, #4] 80bd3ec: 603b str r3, [r7, #0] /* Check the parameters */ assert_param(IS_FMC_EXTENDED_MODE(ExtendedMode)); /* Set NORSRAM device timing register for write configuration, if extended mode is used */ if (ExtendedMode == FMC_EXTENDED_MODE_ENABLE) 80bd3ee: 683b ldr r3, [r7, #0] 80bd3f0: f5b3 4f80 cmp.w r3, #16384 ; 0x4000 80bd3f4: d11d bne.n 80bd432 assert_param(IS_FMC_TURNAROUND_TIME(Timing->BusTurnAroundDuration)); assert_param(IS_FMC_ACCESS_MODE(Timing->AccessMode)); assert_param(IS_FMC_NORSRAM_BANK(Bank)); /* Set NORSRAM device timing register for write configuration, if extended mode is used */ MODIFY_REG(Device->BWTR[Bank], BWTR_CLEAR_MASK, (Timing->AddressSetupTime | 80bd3f6: 68fb ldr r3, [r7, #12] 80bd3f8: 687a ldr r2, [r7, #4] 80bd3fa: f853 2022 ldr.w r2, [r3, r2, lsl #2] 80bd3fe: 4b13 ldr r3, [pc, #76] ; (80bd44c ) 80bd400: 4013 ands r3, r2 80bd402: 68ba ldr r2, [r7, #8] 80bd404: 6811 ldr r1, [r2, #0] 80bd406: 68ba ldr r2, [r7, #8] 80bd408: 6852 ldr r2, [r2, #4] 80bd40a: 0112 lsls r2, r2, #4 80bd40c: 4311 orrs r1, r2 80bd40e: 68ba ldr r2, [r7, #8] 80bd410: 6892 ldr r2, [r2, #8] 80bd412: 0212 lsls r2, r2, #8 80bd414: 4311 orrs r1, r2 80bd416: 68ba ldr r2, [r7, #8] 80bd418: 6992 ldr r2, [r2, #24] 80bd41a: 4311 orrs r1, r2 80bd41c: 68ba ldr r2, [r7, #8] 80bd41e: 68d2 ldr r2, [r2, #12] 80bd420: 0412 lsls r2, r2, #16 80bd422: 430a orrs r2, r1 80bd424: ea43 0102 orr.w r1, r3, r2 80bd428: 68fb ldr r3, [r7, #12] 80bd42a: 687a ldr r2, [r7, #4] 80bd42c: f843 1022 str.w r1, [r3, r2, lsl #2] 80bd430: e005 b.n 80bd43e Timing->AccessMode | ((Timing->BusTurnAroundDuration) << FMC_BWTR1_BUSTURN_Pos))); } else { Device->BWTR[Bank] = 0x0FFFFFFFU; 80bd432: 68fb ldr r3, [r7, #12] 80bd434: 687a ldr r2, [r7, #4] 80bd436: f06f 4170 mvn.w r1, #4026531840 ; 0xf0000000 80bd43a: f843 1022 str.w r1, [r3, r2, lsl #2] } return HAL_OK; 80bd43e: 2300 movs r3, #0 } 80bd440: 4618 mov r0, r3 80bd442: 3714 adds r7, #20 80bd444: 46bd mov sp, r7 80bd446: f85d 7b04 ldr.w r7, [sp], #4 80bd44a: 4770 bx lr 80bd44c: cff00000 .word 0xcff00000 080bd450 : * @param SDMMCx: Pointer to SDMMC register base * @param Init: SDMMC initialization structure * @retval HAL status */ HAL_StatusTypeDef SDMMC_Init(SDMMC_TypeDef *SDMMCx, SDMMC_InitTypeDef Init) { 80bd450: b084 sub sp, #16 80bd452: b480 push {r7} 80bd454: b085 sub sp, #20 80bd456: af00 add r7, sp, #0 80bd458: 6078 str r0, [r7, #4] 80bd45a: f107 001c add.w r0, r7, #28 80bd45e: e880 000e stmia.w r0, {r1, r2, r3} uint32_t tmpreg = 0; 80bd462: 2300 movs r3, #0 80bd464: 60fb str r3, [r7, #12] assert_param(IS_SDMMC_BUS_WIDE(Init.BusWide)); assert_param(IS_SDMMC_HARDWARE_FLOW_CONTROL(Init.HardwareFlowControl)); assert_param(IS_SDMMC_CLKDIV(Init.ClockDiv)); /* Set SDMMC configuration parameters */ tmpreg |= (Init.ClockEdge |\ 80bd466: 69fa ldr r2, [r7, #28] Init.ClockBypass |\ 80bd468: 6a3b ldr r3, [r7, #32] tmpreg |= (Init.ClockEdge |\ 80bd46a: 431a orrs r2, r3 Init.ClockPowerSave |\ 80bd46c: 6a7b ldr r3, [r7, #36] ; 0x24 Init.ClockBypass |\ 80bd46e: 431a orrs r2, r3 Init.BusWide |\ 80bd470: 6abb ldr r3, [r7, #40] ; 0x28 Init.ClockPowerSave |\ 80bd472: 431a orrs r2, r3 Init.HardwareFlowControl |\ 80bd474: 6afb ldr r3, [r7, #44] ; 0x2c Init.BusWide |\ 80bd476: 431a orrs r2, r3 Init.ClockDiv 80bd478: 6b3b ldr r3, [r7, #48] ; 0x30 Init.HardwareFlowControl |\ 80bd47a: 4313 orrs r3, r2 tmpreg |= (Init.ClockEdge |\ 80bd47c: 68fa ldr r2, [r7, #12] 80bd47e: 4313 orrs r3, r2 80bd480: 60fb str r3, [r7, #12] ); /* Write to SDMMC CLKCR */ MODIFY_REG(SDMMCx->CLKCR, CLKCR_CLEAR_MASK, tmpreg); 80bd482: 687b ldr r3, [r7, #4] 80bd484: 685a ldr r2, [r3, #4] 80bd486: 4b07 ldr r3, [pc, #28] ; (80bd4a4 ) 80bd488: 4013 ands r3, r2 80bd48a: 68fa ldr r2, [r7, #12] 80bd48c: 431a orrs r2, r3 80bd48e: 687b ldr r3, [r7, #4] 80bd490: 605a str r2, [r3, #4] return HAL_OK; 80bd492: 2300 movs r3, #0 } 80bd494: 4618 mov r0, r3 80bd496: 3714 adds r7, #20 80bd498: 46bd mov sp, r7 80bd49a: f85d 7b04 ldr.w r7, [sp], #4 80bd49e: b004 add sp, #16 80bd4a0: 4770 bx lr 80bd4a2: bf00 nop 80bd4a4: ffff8100 .word 0xffff8100 080bd4a8 : * @brief Read data (word) from Rx FIFO in blocking mode (polling) * @param SDMMCx: Pointer to SDMMC register base * @retval HAL status */ uint32_t SDMMC_ReadFIFO(SDMMC_TypeDef *SDMMCx) { 80bd4a8: b480 push {r7} 80bd4aa: b083 sub sp, #12 80bd4ac: af00 add r7, sp, #0 80bd4ae: 6078 str r0, [r7, #4] /* Read data from Rx FIFO */ return (SDMMCx->FIFO); 80bd4b0: 687b ldr r3, [r7, #4] 80bd4b2: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 } 80bd4b6: 4618 mov r0, r3 80bd4b8: 370c adds r7, #12 80bd4ba: 46bd mov sp, r7 80bd4bc: f85d 7b04 ldr.w r7, [sp], #4 80bd4c0: 4770 bx lr 080bd4c2 : * @param SDMMCx: Pointer to SDMMC register base * @param pWriteData: pointer to data to write * @retval HAL status */ HAL_StatusTypeDef SDMMC_WriteFIFO(SDMMC_TypeDef *SDMMCx, uint32_t *pWriteData) { 80bd4c2: b480 push {r7} 80bd4c4: b083 sub sp, #12 80bd4c6: af00 add r7, sp, #0 80bd4c8: 6078 str r0, [r7, #4] 80bd4ca: 6039 str r1, [r7, #0] /* Write data to FIFO */ SDMMCx->FIFO = *pWriteData; 80bd4cc: 683b ldr r3, [r7, #0] 80bd4ce: 681a ldr r2, [r3, #0] 80bd4d0: 687b ldr r3, [r7, #4] 80bd4d2: f8c3 2080 str.w r2, [r3, #128] ; 0x80 return HAL_OK; 80bd4d6: 2300 movs r3, #0 } 80bd4d8: 4618 mov r0, r3 80bd4da: 370c adds r7, #12 80bd4dc: 46bd mov sp, r7 80bd4de: f85d 7b04 ldr.w r7, [sp], #4 80bd4e2: 4770 bx lr 080bd4e4 : * @brief Set SDMMC Power state to ON. * @param SDMMCx: Pointer to SDMMC register base * @retval HAL status */ HAL_StatusTypeDef SDMMC_PowerState_ON(SDMMC_TypeDef *SDMMCx) { 80bd4e4: b480 push {r7} 80bd4e6: b083 sub sp, #12 80bd4e8: af00 add r7, sp, #0 80bd4ea: 6078 str r0, [r7, #4] /* Set power state to ON */ SDMMCx->POWER = SDMMC_POWER_PWRCTRL; 80bd4ec: 687b ldr r3, [r7, #4] 80bd4ee: 2203 movs r2, #3 80bd4f0: 601a str r2, [r3, #0] return HAL_OK; 80bd4f2: 2300 movs r3, #0 } 80bd4f4: 4618 mov r0, r3 80bd4f6: 370c adds r7, #12 80bd4f8: 46bd mov sp, r7 80bd4fa: f85d 7b04 ldr.w r7, [sp], #4 80bd4fe: 4770 bx lr 080bd500 : * @brief Set SDMMC Power state to OFF. * @param SDMMCx: Pointer to SDMMC register base * @retval HAL status */ HAL_StatusTypeDef SDMMC_PowerState_OFF(SDMMC_TypeDef *SDMMCx) { 80bd500: b480 push {r7} 80bd502: b083 sub sp, #12 80bd504: af00 add r7, sp, #0 80bd506: 6078 str r0, [r7, #4] /* Set power state to OFF */ SDMMCx->POWER = (uint32_t)0x00000000; 80bd508: 687b ldr r3, [r7, #4] 80bd50a: 2200 movs r2, #0 80bd50c: 601a str r2, [r3, #0] return HAL_OK; 80bd50e: 2300 movs r3, #0 } 80bd510: 4618 mov r0, r3 80bd512: 370c adds r7, #12 80bd514: 46bd mov sp, r7 80bd516: f85d 7b04 ldr.w r7, [sp], #4 80bd51a: 4770 bx lr 080bd51c : * - 0x00: Power OFF * - 0x02: Power UP * - 0x03: Power ON */ uint32_t SDMMC_GetPowerState(SDMMC_TypeDef *SDMMCx) { 80bd51c: b480 push {r7} 80bd51e: b083 sub sp, #12 80bd520: af00 add r7, sp, #0 80bd522: 6078 str r0, [r7, #4] return (SDMMCx->POWER & SDMMC_POWER_PWRCTRL); 80bd524: 687b ldr r3, [r7, #4] 80bd526: 681b ldr r3, [r3, #0] 80bd528: f003 0303 and.w r3, r3, #3 } 80bd52c: 4618 mov r0, r3 80bd52e: 370c adds r7, #12 80bd530: 46bd mov sp, r7 80bd532: f85d 7b04 ldr.w r7, [sp], #4 80bd536: 4770 bx lr 080bd538 : * @param Command: pointer to a SDMMC_CmdInitTypeDef structure that contains * the configuration information for the SDMMC command * @retval HAL status */ HAL_StatusTypeDef SDMMC_SendCommand(SDMMC_TypeDef *SDMMCx, SDMMC_CmdInitTypeDef *Command) { 80bd538: b480 push {r7} 80bd53a: b085 sub sp, #20 80bd53c: af00 add r7, sp, #0 80bd53e: 6078 str r0, [r7, #4] 80bd540: 6039 str r1, [r7, #0] uint32_t tmpreg = 0; 80bd542: 2300 movs r3, #0 80bd544: 60fb str r3, [r7, #12] assert_param(IS_SDMMC_RESPONSE(Command->Response)); assert_param(IS_SDMMC_WAIT(Command->WaitForInterrupt)); assert_param(IS_SDMMC_CPSM(Command->CPSM)); /* Set the SDMMC Argument value */ SDMMCx->ARG = Command->Argument; 80bd546: 683b ldr r3, [r7, #0] 80bd548: 681a ldr r2, [r3, #0] 80bd54a: 687b ldr r3, [r7, #4] 80bd54c: 609a str r2, [r3, #8] /* Set SDMMC command parameters */ tmpreg |= (uint32_t)(Command->CmdIndex |\ 80bd54e: 683b ldr r3, [r7, #0] 80bd550: 685a ldr r2, [r3, #4] Command->Response |\ 80bd552: 683b ldr r3, [r7, #0] 80bd554: 689b ldr r3, [r3, #8] tmpreg |= (uint32_t)(Command->CmdIndex |\ 80bd556: 431a orrs r2, r3 Command->WaitForInterrupt |\ 80bd558: 683b ldr r3, [r7, #0] 80bd55a: 68db ldr r3, [r3, #12] Command->Response |\ 80bd55c: 431a orrs r2, r3 Command->CPSM); 80bd55e: 683b ldr r3, [r7, #0] 80bd560: 691b ldr r3, [r3, #16] Command->WaitForInterrupt |\ 80bd562: 4313 orrs r3, r2 tmpreg |= (uint32_t)(Command->CmdIndex |\ 80bd564: 68fa ldr r2, [r7, #12] 80bd566: 4313 orrs r3, r2 80bd568: 60fb str r3, [r7, #12] /* Write to SDMMC CMD register */ MODIFY_REG(SDMMCx->CMD, CMD_CLEAR_MASK, tmpreg); 80bd56a: 687b ldr r3, [r7, #4] 80bd56c: 68da ldr r2, [r3, #12] 80bd56e: 4b06 ldr r3, [pc, #24] ; (80bd588 ) 80bd570: 4013 ands r3, r2 80bd572: 68fa ldr r2, [r7, #12] 80bd574: 431a orrs r2, r3 80bd576: 687b ldr r3, [r7, #4] 80bd578: 60da str r2, [r3, #12] return HAL_OK; 80bd57a: 2300 movs r3, #0 } 80bd57c: 4618 mov r0, r3 80bd57e: 3714 adds r7, #20 80bd580: 46bd mov sp, r7 80bd582: f85d 7b04 ldr.w r7, [sp], #4 80bd586: 4770 bx lr 80bd588: fffff000 .word 0xfffff000 080bd58c : * @brief Return the command index of last command for which response received * @param SDMMCx: Pointer to SDMMC register base * @retval Command index of the last command response received */ uint8_t SDMMC_GetCommandResponse(SDMMC_TypeDef *SDMMCx) { 80bd58c: b480 push {r7} 80bd58e: b083 sub sp, #12 80bd590: af00 add r7, sp, #0 80bd592: 6078 str r0, [r7, #4] return (uint8_t)(SDMMCx->RESPCMD); 80bd594: 687b ldr r3, [r7, #4] 80bd596: 691b ldr r3, [r3, #16] 80bd598: b2db uxtb r3, r3 } 80bd59a: 4618 mov r0, r3 80bd59c: 370c adds r7, #12 80bd59e: 46bd mov sp, r7 80bd5a0: f85d 7b04 ldr.w r7, [sp], #4 80bd5a4: 4770 bx lr 080bd5a6 : * @arg SDMMC_RESP3: Response Register 3 * @arg SDMMC_RESP4: Response Register 4 * @retval The Corresponding response register value */ uint32_t SDMMC_GetResponse(SDMMC_TypeDef *SDMMCx, uint32_t Response) { 80bd5a6: b480 push {r7} 80bd5a8: b085 sub sp, #20 80bd5aa: af00 add r7, sp, #0 80bd5ac: 6078 str r0, [r7, #4] 80bd5ae: 6039 str r1, [r7, #0] /* Check the parameters */ assert_param(IS_SDMMC_RESP(Response)); /* Get the response */ tmp = (uint32_t)(&(SDMMCx->RESP1)) + Response; 80bd5b0: 687b ldr r3, [r7, #4] 80bd5b2: 3314 adds r3, #20 80bd5b4: 461a mov r2, r3 80bd5b6: 683b ldr r3, [r7, #0] 80bd5b8: 4413 add r3, r2 80bd5ba: 60fb str r3, [r7, #12] return (*(__IO uint32_t *) tmp); 80bd5bc: 68fb ldr r3, [r7, #12] 80bd5be: 681b ldr r3, [r3, #0] } 80bd5c0: 4618 mov r0, r3 80bd5c2: 3714 adds r7, #20 80bd5c4: 46bd mov sp, r7 80bd5c6: f85d 7b04 ldr.w r7, [sp], #4 80bd5ca: 4770 bx lr 080bd5cc : * @param Data : pointer to a SDMMC_DataInitTypeDef structure * that contains the configuration information for the SDMMC data. * @retval HAL status */ HAL_StatusTypeDef SDMMC_ConfigData(SDMMC_TypeDef *SDMMCx, SDMMC_DataInitTypeDef* Data) { 80bd5cc: b480 push {r7} 80bd5ce: b085 sub sp, #20 80bd5d0: af00 add r7, sp, #0 80bd5d2: 6078 str r0, [r7, #4] 80bd5d4: 6039 str r1, [r7, #0] uint32_t tmpreg = 0; 80bd5d6: 2300 movs r3, #0 80bd5d8: 60fb str r3, [r7, #12] assert_param(IS_SDMMC_TRANSFER_DIR(Data->TransferDir)); assert_param(IS_SDMMC_TRANSFER_MODE(Data->TransferMode)); assert_param(IS_SDMMC_DPSM(Data->DPSM)); /* Set the SDMMC Data TimeOut value */ SDMMCx->DTIMER = Data->DataTimeOut; 80bd5da: 683b ldr r3, [r7, #0] 80bd5dc: 681a ldr r2, [r3, #0] 80bd5de: 687b ldr r3, [r7, #4] 80bd5e0: 625a str r2, [r3, #36] ; 0x24 /* Set the SDMMC DataLength value */ SDMMCx->DLEN = Data->DataLength; 80bd5e2: 683b ldr r3, [r7, #0] 80bd5e4: 685a ldr r2, [r3, #4] 80bd5e6: 687b ldr r3, [r7, #4] 80bd5e8: 629a str r2, [r3, #40] ; 0x28 /* Set the SDMMC data configuration parameters */ tmpreg |= (uint32_t)(Data->DataBlockSize |\ 80bd5ea: 683b ldr r3, [r7, #0] 80bd5ec: 689a ldr r2, [r3, #8] Data->TransferDir |\ 80bd5ee: 683b ldr r3, [r7, #0] 80bd5f0: 68db ldr r3, [r3, #12] tmpreg |= (uint32_t)(Data->DataBlockSize |\ 80bd5f2: 431a orrs r2, r3 Data->TransferMode |\ 80bd5f4: 683b ldr r3, [r7, #0] 80bd5f6: 691b ldr r3, [r3, #16] Data->TransferDir |\ 80bd5f8: 431a orrs r2, r3 Data->DPSM); 80bd5fa: 683b ldr r3, [r7, #0] 80bd5fc: 695b ldr r3, [r3, #20] Data->TransferMode |\ 80bd5fe: 4313 orrs r3, r2 tmpreg |= (uint32_t)(Data->DataBlockSize |\ 80bd600: 68fa ldr r2, [r7, #12] 80bd602: 4313 orrs r3, r2 80bd604: 60fb str r3, [r7, #12] /* Write to SDMMC DCTRL */ MODIFY_REG(SDMMCx->DCTRL, DCTRL_CLEAR_MASK, tmpreg); 80bd606: 687b ldr r3, [r7, #4] 80bd608: 6adb ldr r3, [r3, #44] ; 0x2c 80bd60a: f023 02f7 bic.w r2, r3, #247 ; 0xf7 80bd60e: 68fb ldr r3, [r7, #12] 80bd610: 431a orrs r2, r3 80bd612: 687b ldr r3, [r7, #4] 80bd614: 62da str r2, [r3, #44] ; 0x2c return HAL_OK; 80bd616: 2300 movs r3, #0 } 80bd618: 4618 mov r0, r3 80bd61a: 3714 adds r7, #20 80bd61c: 46bd mov sp, r7 80bd61e: f85d 7b04 ldr.w r7, [sp], #4 80bd622: 4770 bx lr 080bd624 : * @brief Send the Data Block Length command and check the response * @param SDMMCx: Pointer to SDMMC register base * @retval HAL status */ uint32_t SDMMC_CmdBlockLength(SDMMC_TypeDef *SDMMCx, uint32_t BlockSize) { 80bd624: b580 push {r7, lr} 80bd626: b088 sub sp, #32 80bd628: af00 add r7, sp, #0 80bd62a: 6078 str r0, [r7, #4] 80bd62c: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)BlockSize; 80bd62e: 683b ldr r3, [r7, #0] 80bd630: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SET_BLOCKLEN; 80bd632: 2310 movs r3, #16 80bd634: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd636: 2340 movs r3, #64 ; 0x40 80bd638: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd63a: 2300 movs r3, #0 80bd63c: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd63e: f44f 6380 mov.w r3, #1024 ; 0x400 80bd642: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd644: f107 0308 add.w r3, r7, #8 80bd648: 4619 mov r1, r3 80bd64a: 6878 ldr r0, [r7, #4] 80bd64c: f7ff ff74 bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SET_BLOCKLEN, SDMMC_CMDTIMEOUT); 80bd650: f241 3288 movw r2, #5000 ; 0x1388 80bd654: 2110 movs r1, #16 80bd656: 6878 ldr r0, [r7, #4] 80bd658: f000 fa1a bl 80bda90 80bd65c: 61f8 str r0, [r7, #28] return errorstate; 80bd65e: 69fb ldr r3, [r7, #28] } 80bd660: 4618 mov r0, r3 80bd662: 3720 adds r7, #32 80bd664: 46bd mov sp, r7 80bd666: bd80 pop {r7, pc} 080bd668 : * @brief Send the Read Single Block command and check the response * @param SDMMCx: Pointer to SDMMC register base * @retval HAL status */ uint32_t SDMMC_CmdReadSingleBlock(SDMMC_TypeDef *SDMMCx, uint32_t ReadAdd) { 80bd668: b580 push {r7, lr} 80bd66a: b088 sub sp, #32 80bd66c: af00 add r7, sp, #0 80bd66e: 6078 str r0, [r7, #4] 80bd670: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)ReadAdd; 80bd672: 683b ldr r3, [r7, #0] 80bd674: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_SINGLE_BLOCK; 80bd676: 2311 movs r3, #17 80bd678: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd67a: 2340 movs r3, #64 ; 0x40 80bd67c: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd67e: 2300 movs r3, #0 80bd680: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd682: f44f 6380 mov.w r3, #1024 ; 0x400 80bd686: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd688: f107 0308 add.w r3, r7, #8 80bd68c: 4619 mov r1, r3 80bd68e: 6878 ldr r0, [r7, #4] 80bd690: f7ff ff52 bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_READ_SINGLE_BLOCK, SDMMC_CMDTIMEOUT); 80bd694: f241 3288 movw r2, #5000 ; 0x1388 80bd698: 2111 movs r1, #17 80bd69a: 6878 ldr r0, [r7, #4] 80bd69c: f000 f9f8 bl 80bda90 80bd6a0: 61f8 str r0, [r7, #28] return errorstate; 80bd6a2: 69fb ldr r3, [r7, #28] } 80bd6a4: 4618 mov r0, r3 80bd6a6: 3720 adds r7, #32 80bd6a8: 46bd mov sp, r7 80bd6aa: bd80 pop {r7, pc} 080bd6ac : * @brief Send the Read Multi Block command and check the response * @param SDMMCx: Pointer to SDMMC register base * @retval HAL status */ uint32_t SDMMC_CmdReadMultiBlock(SDMMC_TypeDef *SDMMCx, uint32_t ReadAdd) { 80bd6ac: b580 push {r7, lr} 80bd6ae: b088 sub sp, #32 80bd6b0: af00 add r7, sp, #0 80bd6b2: 6078 str r0, [r7, #4] 80bd6b4: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)ReadAdd; 80bd6b6: 683b ldr r3, [r7, #0] 80bd6b8: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_READ_MULT_BLOCK; 80bd6ba: 2312 movs r3, #18 80bd6bc: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd6be: 2340 movs r3, #64 ; 0x40 80bd6c0: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd6c2: 2300 movs r3, #0 80bd6c4: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd6c6: f44f 6380 mov.w r3, #1024 ; 0x400 80bd6ca: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd6cc: f107 0308 add.w r3, r7, #8 80bd6d0: 4619 mov r1, r3 80bd6d2: 6878 ldr r0, [r7, #4] 80bd6d4: f7ff ff30 bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_READ_MULT_BLOCK, SDMMC_CMDTIMEOUT); 80bd6d8: f241 3288 movw r2, #5000 ; 0x1388 80bd6dc: 2112 movs r1, #18 80bd6de: 6878 ldr r0, [r7, #4] 80bd6e0: f000 f9d6 bl 80bda90 80bd6e4: 61f8 str r0, [r7, #28] return errorstate; 80bd6e6: 69fb ldr r3, [r7, #28] } 80bd6e8: 4618 mov r0, r3 80bd6ea: 3720 adds r7, #32 80bd6ec: 46bd mov sp, r7 80bd6ee: bd80 pop {r7, pc} 080bd6f0 : * @brief Send the Write Single Block command and check the response * @param SDMMCx: Pointer to SDMMC register base * @retval HAL status */ uint32_t SDMMC_CmdWriteSingleBlock(SDMMC_TypeDef *SDMMCx, uint32_t WriteAdd) { 80bd6f0: b580 push {r7, lr} 80bd6f2: b088 sub sp, #32 80bd6f4: af00 add r7, sp, #0 80bd6f6: 6078 str r0, [r7, #4] 80bd6f8: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)WriteAdd; 80bd6fa: 683b ldr r3, [r7, #0] 80bd6fc: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_SINGLE_BLOCK; 80bd6fe: 2318 movs r3, #24 80bd700: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd702: 2340 movs r3, #64 ; 0x40 80bd704: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd706: 2300 movs r3, #0 80bd708: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd70a: f44f 6380 mov.w r3, #1024 ; 0x400 80bd70e: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd710: f107 0308 add.w r3, r7, #8 80bd714: 4619 mov r1, r3 80bd716: 6878 ldr r0, [r7, #4] 80bd718: f7ff ff0e bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_WRITE_SINGLE_BLOCK, SDMMC_CMDTIMEOUT); 80bd71c: f241 3288 movw r2, #5000 ; 0x1388 80bd720: 2118 movs r1, #24 80bd722: 6878 ldr r0, [r7, #4] 80bd724: f000 f9b4 bl 80bda90 80bd728: 61f8 str r0, [r7, #28] return errorstate; 80bd72a: 69fb ldr r3, [r7, #28] } 80bd72c: 4618 mov r0, r3 80bd72e: 3720 adds r7, #32 80bd730: 46bd mov sp, r7 80bd732: bd80 pop {r7, pc} 080bd734 : * @brief Send the Write Multi Block command and check the response * @param SDMMCx: Pointer to SDMMC register base * @retval HAL status */ uint32_t SDMMC_CmdWriteMultiBlock(SDMMC_TypeDef *SDMMCx, uint32_t WriteAdd) { 80bd734: b580 push {r7, lr} 80bd736: b088 sub sp, #32 80bd738: af00 add r7, sp, #0 80bd73a: 6078 str r0, [r7, #4] 80bd73c: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Set Block Size for Card */ sdmmc_cmdinit.Argument = (uint32_t)WriteAdd; 80bd73e: 683b ldr r3, [r7, #0] 80bd740: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_WRITE_MULT_BLOCK; 80bd742: 2319 movs r3, #25 80bd744: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd746: 2340 movs r3, #64 ; 0x40 80bd748: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd74a: 2300 movs r3, #0 80bd74c: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd74e: f44f 6380 mov.w r3, #1024 ; 0x400 80bd752: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd754: f107 0308 add.w r3, r7, #8 80bd758: 4619 mov r1, r3 80bd75a: 6878 ldr r0, [r7, #4] 80bd75c: f7ff feec bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_WRITE_MULT_BLOCK, SDMMC_CMDTIMEOUT); 80bd760: f241 3288 movw r2, #5000 ; 0x1388 80bd764: 2119 movs r1, #25 80bd766: 6878 ldr r0, [r7, #4] 80bd768: f000 f992 bl 80bda90 80bd76c: 61f8 str r0, [r7, #28] return errorstate; 80bd76e: 69fb ldr r3, [r7, #28] } 80bd770: 4618 mov r0, r3 80bd772: 3720 adds r7, #32 80bd774: 46bd mov sp, r7 80bd776: bd80 pop {r7, pc} 080bd778 : * @brief Send the Stop Transfer command and check the response. * @param SDMMCx: Pointer to SDMMC register base * @retval HAL status */ uint32_t SDMMC_CmdStopTransfer(SDMMC_TypeDef *SDMMCx) { 80bd778: b580 push {r7, lr} 80bd77a: b088 sub sp, #32 80bd77c: af00 add r7, sp, #0 80bd77e: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD12 STOP_TRANSMISSION */ sdmmc_cmdinit.Argument = 0U; 80bd780: 2300 movs r3, #0 80bd782: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_STOP_TRANSMISSION; 80bd784: 230c movs r3, #12 80bd786: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd788: 2340 movs r3, #64 ; 0x40 80bd78a: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd78c: 2300 movs r3, #0 80bd78e: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd790: f44f 6380 mov.w r3, #1024 ; 0x400 80bd794: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd796: f107 0308 add.w r3, r7, #8 80bd79a: 4619 mov r1, r3 80bd79c: 6878 ldr r0, [r7, #4] 80bd79e: f7ff fecb bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_STOP_TRANSMISSION, SDMMC_STOPTRANSFERTIMEOUT); 80bd7a2: 4a05 ldr r2, [pc, #20] ; (80bd7b8 ) 80bd7a4: 210c movs r1, #12 80bd7a6: 6878 ldr r0, [r7, #4] 80bd7a8: f000 f972 bl 80bda90 80bd7ac: 61f8 str r0, [r7, #28] return errorstate; 80bd7ae: 69fb ldr r3, [r7, #28] } 80bd7b0: 4618 mov r0, r3 80bd7b2: 3720 adds r7, #32 80bd7b4: 46bd mov sp, r7 80bd7b6: bd80 pop {r7, pc} 80bd7b8: 05f5e100 .word 0x05f5e100 080bd7bc : * @param SDMMCx: Pointer to SDMMC register base * @param addr: Address of the card to be selected * @retval HAL status */ uint32_t SDMMC_CmdSelDesel(SDMMC_TypeDef *SDMMCx, uint64_t Addr) { 80bd7bc: b580 push {r7, lr} 80bd7be: b08a sub sp, #40 ; 0x28 80bd7c0: af00 add r7, sp, #0 80bd7c2: 60f8 str r0, [r7, #12] 80bd7c4: e9c7 2300 strd r2, r3, [r7] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD7 SDMMC_SEL_DESEL_CARD */ sdmmc_cmdinit.Argument = (uint32_t)Addr; 80bd7c8: 683b ldr r3, [r7, #0] 80bd7ca: 613b str r3, [r7, #16] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEL_DESEL_CARD; 80bd7cc: 2307 movs r3, #7 80bd7ce: 617b str r3, [r7, #20] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd7d0: 2340 movs r3, #64 ; 0x40 80bd7d2: 61bb str r3, [r7, #24] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd7d4: 2300 movs r3, #0 80bd7d6: 61fb str r3, [r7, #28] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd7d8: f44f 6380 mov.w r3, #1024 ; 0x400 80bd7dc: 623b str r3, [r7, #32] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd7de: f107 0310 add.w r3, r7, #16 80bd7e2: 4619 mov r1, r3 80bd7e4: 68f8 ldr r0, [r7, #12] 80bd7e6: f7ff fea7 bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SEL_DESEL_CARD, SDMMC_CMDTIMEOUT); 80bd7ea: f241 3288 movw r2, #5000 ; 0x1388 80bd7ee: 2107 movs r1, #7 80bd7f0: 68f8 ldr r0, [r7, #12] 80bd7f2: f000 f94d bl 80bda90 80bd7f6: 6278 str r0, [r7, #36] ; 0x24 return errorstate; 80bd7f8: 6a7b ldr r3, [r7, #36] ; 0x24 } 80bd7fa: 4618 mov r0, r3 80bd7fc: 3728 adds r7, #40 ; 0x28 80bd7fe: 46bd mov sp, r7 80bd800: bd80 pop {r7, pc} 080bd802 : * @brief Send the Go Idle State command and check the response. * @param SDMMCx: Pointer to SDMMC register base * @retval HAL status */ uint32_t SDMMC_CmdGoIdleState(SDMMC_TypeDef *SDMMCx) { 80bd802: b580 push {r7, lr} 80bd804: b088 sub sp, #32 80bd806: af00 add r7, sp, #0 80bd808: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = 0U; 80bd80a: 2300 movs r3, #0 80bd80c: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_GO_IDLE_STATE; 80bd80e: 2300 movs r3, #0 80bd810: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_NO; 80bd812: 2300 movs r3, #0 80bd814: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd816: 2300 movs r3, #0 80bd818: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd81a: f44f 6380 mov.w r3, #1024 ; 0x400 80bd81e: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd820: f107 0308 add.w r3, r7, #8 80bd824: 4619 mov r1, r3 80bd826: 6878 ldr r0, [r7, #4] 80bd828: f7ff fe86 bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdError(SDMMCx); 80bd82c: 6878 ldr r0, [r7, #4] 80bd82e: f000 fb67 bl 80bdf00 80bd832: 61f8 str r0, [r7, #28] return errorstate; 80bd834: 69fb ldr r3, [r7, #28] } 80bd836: 4618 mov r0, r3 80bd838: 3720 adds r7, #32 80bd83a: 46bd mov sp, r7 80bd83c: bd80 pop {r7, pc} 080bd83e : * @brief Send the Operating Condition command and check the response. * @param SDMMCx: Pointer to SDMMC register base * @retval HAL status */ uint32_t SDMMC_CmdOperCond(SDMMC_TypeDef *SDMMCx) { 80bd83e: b580 push {r7, lr} 80bd840: b088 sub sp, #32 80bd842: af00 add r7, sp, #0 80bd844: 6078 str r0, [r7, #4] /* Send CMD8 to verify SD card interface operating condition */ /* Argument: - [31:12]: Reserved (shall be set to '0') - [11:8]: Supply Voltage (VHS) 0x1 (Range: 2.7-3.6 V) - [7:0]: Check Pattern (recommended 0xAA) */ /* CMD Response: R7 */ sdmmc_cmdinit.Argument = SDMMC_CHECK_PATTERN; 80bd846: f44f 73d5 mov.w r3, #426 ; 0x1aa 80bd84a: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_HS_SEND_EXT_CSD; 80bd84c: 2308 movs r3, #8 80bd84e: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd850: 2340 movs r3, #64 ; 0x40 80bd852: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd854: 2300 movs r3, #0 80bd856: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd858: f44f 6380 mov.w r3, #1024 ; 0x400 80bd85c: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd85e: f107 0308 add.w r3, r7, #8 80bd862: 4619 mov r1, r3 80bd864: 6878 ldr r0, [r7, #4] 80bd866: f7ff fe67 bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp7(SDMMCx); 80bd86a: 6878 ldr r0, [r7, #4] 80bd86c: f000 fafa bl 80bde64 80bd870: 61f8 str r0, [r7, #28] return errorstate; 80bd872: 69fb ldr r3, [r7, #28] } 80bd874: 4618 mov r0, r3 80bd876: 3720 adds r7, #32 80bd878: 46bd mov sp, r7 80bd87a: bd80 pop {r7, pc} 080bd87c : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdAppCommand(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80bd87c: b580 push {r7, lr} 80bd87e: b088 sub sp, #32 80bd880: af00 add r7, sp, #0 80bd882: 6078 str r0, [r7, #4] 80bd884: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = (uint32_t)Argument; 80bd886: 683b ldr r3, [r7, #0] 80bd888: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_APP_CMD; 80bd88a: 2337 movs r3, #55 ; 0x37 80bd88c: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd88e: 2340 movs r3, #64 ; 0x40 80bd890: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd892: 2300 movs r3, #0 80bd894: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd896: f44f 6380 mov.w r3, #1024 ; 0x400 80bd89a: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd89c: f107 0308 add.w r3, r7, #8 80bd8a0: 4619 mov r1, r3 80bd8a2: 6878 ldr r0, [r7, #4] 80bd8a4: f7ff fe48 bl 80bd538 /* Check for error conditions */ /* If there is a HAL_ERROR, it is a MMC card, else it is a SD card: SD card 2.0 (voltage range mismatch) or SD card 1.x */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_APP_CMD, SDMMC_CMDTIMEOUT); 80bd8a8: f241 3288 movw r2, #5000 ; 0x1388 80bd8ac: 2137 movs r1, #55 ; 0x37 80bd8ae: 6878 ldr r0, [r7, #4] 80bd8b0: f000 f8ee bl 80bda90 80bd8b4: 61f8 str r0, [r7, #28] return errorstate; 80bd8b6: 69fb ldr r3, [r7, #28] } 80bd8b8: 4618 mov r0, r3 80bd8ba: 3720 adds r7, #32 80bd8bc: 46bd mov sp, r7 80bd8be: bd80 pop {r7, pc} 080bd8c0 : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdAppOperCommand(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80bd8c0: b580 push {r7, lr} 80bd8c2: b088 sub sp, #32 80bd8c4: af00 add r7, sp, #0 80bd8c6: 6078 str r0, [r7, #4] 80bd8c8: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = SDMMC_VOLTAGE_WINDOW_SD | Argument; 80bd8ca: 683a ldr r2, [r7, #0] 80bd8cc: 4b0d ldr r3, [pc, #52] ; (80bd904 ) 80bd8ce: 4313 orrs r3, r2 80bd8d0: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SD_APP_OP_COND; 80bd8d2: 2329 movs r3, #41 ; 0x29 80bd8d4: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd8d6: 2340 movs r3, #64 ; 0x40 80bd8d8: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd8da: 2300 movs r3, #0 80bd8dc: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd8de: f44f 6380 mov.w r3, #1024 ; 0x400 80bd8e2: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd8e4: f107 0308 add.w r3, r7, #8 80bd8e8: 4619 mov r1, r3 80bd8ea: 6878 ldr r0, [r7, #4] 80bd8ec: f7ff fe24 bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp3(SDMMCx); 80bd8f0: 6878 ldr r0, [r7, #4] 80bd8f2: f000 fa03 bl 80bdcfc 80bd8f6: 61f8 str r0, [r7, #28] return errorstate; 80bd8f8: 69fb ldr r3, [r7, #28] } 80bd8fa: 4618 mov r0, r3 80bd8fc: 3720 adds r7, #32 80bd8fe: 46bd mov sp, r7 80bd900: bd80 pop {r7, pc} 80bd902: bf00 nop 80bd904: 80100000 .word 0x80100000 080bd908 : * @param SDMMCx: Pointer to SDMMC register base * @param BusWidth: BusWidth * @retval HAL status */ uint32_t SDMMC_CmdBusWidth(SDMMC_TypeDef *SDMMCx, uint32_t BusWidth) { 80bd908: b580 push {r7, lr} 80bd90a: b088 sub sp, #32 80bd90c: af00 add r7, sp, #0 80bd90e: 6078 str r0, [r7, #4] 80bd910: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = (uint32_t)BusWidth; 80bd912: 683b ldr r3, [r7, #0] 80bd914: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_APP_SD_SET_BUSWIDTH; 80bd916: 2306 movs r3, #6 80bd918: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd91a: 2340 movs r3, #64 ; 0x40 80bd91c: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd91e: 2300 movs r3, #0 80bd920: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd922: f44f 6380 mov.w r3, #1024 ; 0x400 80bd926: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd928: f107 0308 add.w r3, r7, #8 80bd92c: 4619 mov r1, r3 80bd92e: 6878 ldr r0, [r7, #4] 80bd930: f7ff fe02 bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_APP_SD_SET_BUSWIDTH, SDMMC_CMDTIMEOUT); 80bd934: f241 3288 movw r2, #5000 ; 0x1388 80bd938: 2106 movs r1, #6 80bd93a: 6878 ldr r0, [r7, #4] 80bd93c: f000 f8a8 bl 80bda90 80bd940: 61f8 str r0, [r7, #28] return errorstate; 80bd942: 69fb ldr r3, [r7, #28] } 80bd944: 4618 mov r0, r3 80bd946: 3720 adds r7, #32 80bd948: 46bd mov sp, r7 80bd94a: bd80 pop {r7, pc} 080bd94c : * @brief Send the Send SCR command and check the response. * @param SDMMCx: Pointer to SDMMC register base * @retval HAL status */ uint32_t SDMMC_CmdSendSCR(SDMMC_TypeDef *SDMMCx) { 80bd94c: b580 push {r7, lr} 80bd94e: b088 sub sp, #32 80bd950: af00 add r7, sp, #0 80bd952: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD51 SD_APP_SEND_SCR */ sdmmc_cmdinit.Argument = 0U; 80bd954: 2300 movs r3, #0 80bd956: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SD_APP_SEND_SCR; 80bd958: 2333 movs r3, #51 ; 0x33 80bd95a: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bd95c: 2340 movs r3, #64 ; 0x40 80bd95e: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd960: 2300 movs r3, #0 80bd962: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd964: f44f 6380 mov.w r3, #1024 ; 0x400 80bd968: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd96a: f107 0308 add.w r3, r7, #8 80bd96e: 4619 mov r1, r3 80bd970: 6878 ldr r0, [r7, #4] 80bd972: f7ff fde1 bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SD_APP_SEND_SCR, SDMMC_CMDTIMEOUT); 80bd976: f241 3288 movw r2, #5000 ; 0x1388 80bd97a: 2133 movs r1, #51 ; 0x33 80bd97c: 6878 ldr r0, [r7, #4] 80bd97e: f000 f887 bl 80bda90 80bd982: 61f8 str r0, [r7, #28] return errorstate; 80bd984: 69fb ldr r3, [r7, #28] } 80bd986: 4618 mov r0, r3 80bd988: 3720 adds r7, #32 80bd98a: 46bd mov sp, r7 80bd98c: bd80 pop {r7, pc} 080bd98e : * @brief Send the Send CID command and check the response. * @param SDMMCx: Pointer to SDMMC register base * @retval HAL status */ uint32_t SDMMC_CmdSendCID(SDMMC_TypeDef *SDMMCx) { 80bd98e: b580 push {r7, lr} 80bd990: b088 sub sp, #32 80bd992: af00 add r7, sp, #0 80bd994: 6078 str r0, [r7, #4] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD2 ALL_SEND_CID */ sdmmc_cmdinit.Argument = 0U; 80bd996: 2300 movs r3, #0 80bd998: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_ALL_SEND_CID; 80bd99a: 2302 movs r3, #2 80bd99c: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_LONG; 80bd99e: 23c0 movs r3, #192 ; 0xc0 80bd9a0: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd9a2: 2300 movs r3, #0 80bd9a4: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd9a6: f44f 6380 mov.w r3, #1024 ; 0x400 80bd9aa: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd9ac: f107 0308 add.w r3, r7, #8 80bd9b0: 4619 mov r1, r3 80bd9b2: 6878 ldr r0, [r7, #4] 80bd9b4: f7ff fdc0 bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp2(SDMMCx); 80bd9b8: 6878 ldr r0, [r7, #4] 80bd9ba: f000 f957 bl 80bdc6c 80bd9be: 61f8 str r0, [r7, #28] return errorstate; 80bd9c0: 69fb ldr r3, [r7, #28] } 80bd9c2: 4618 mov r0, r3 80bd9c4: 3720 adds r7, #32 80bd9c6: 46bd mov sp, r7 80bd9c8: bd80 pop {r7, pc} 080bd9ca : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdSendCSD(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80bd9ca: b580 push {r7, lr} 80bd9cc: b088 sub sp, #32 80bd9ce: af00 add r7, sp, #0 80bd9d0: 6078 str r0, [r7, #4] 80bd9d2: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD9 SEND_CSD */ sdmmc_cmdinit.Argument = Argument; 80bd9d4: 683b ldr r3, [r7, #0] 80bd9d6: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEND_CSD; 80bd9d8: 2309 movs r3, #9 80bd9da: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_LONG; 80bd9dc: 23c0 movs r3, #192 ; 0xc0 80bd9de: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bd9e0: 2300 movs r3, #0 80bd9e2: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bd9e4: f44f 6380 mov.w r3, #1024 ; 0x400 80bd9e8: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bd9ea: f107 0308 add.w r3, r7, #8 80bd9ee: 4619 mov r1, r3 80bd9f0: 6878 ldr r0, [r7, #4] 80bd9f2: f7ff fda1 bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp2(SDMMCx); 80bd9f6: 6878 ldr r0, [r7, #4] 80bd9f8: f000 f938 bl 80bdc6c 80bd9fc: 61f8 str r0, [r7, #28] return errorstate; 80bd9fe: 69fb ldr r3, [r7, #28] } 80bda00: 4618 mov r0, r3 80bda02: 3720 adds r7, #32 80bda04: 46bd mov sp, r7 80bda06: bd80 pop {r7, pc} 080bda08 : * @param SDMMCx: Pointer to SDMMC register base * @param pRCA: Card RCA * @retval HAL status */ uint32_t SDMMC_CmdSetRelAdd(SDMMC_TypeDef *SDMMCx, uint16_t *pRCA) { 80bda08: b580 push {r7, lr} 80bda0a: b088 sub sp, #32 80bda0c: af00 add r7, sp, #0 80bda0e: 6078 str r0, [r7, #4] 80bda10: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; /* Send CMD3 SD_CMD_SET_REL_ADDR */ sdmmc_cmdinit.Argument = 0U; 80bda12: 2300 movs r3, #0 80bda14: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SET_REL_ADDR; 80bda16: 2303 movs r3, #3 80bda18: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bda1a: 2340 movs r3, #64 ; 0x40 80bda1c: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bda1e: 2300 movs r3, #0 80bda20: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bda22: f44f 6380 mov.w r3, #1024 ; 0x400 80bda26: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bda28: f107 0308 add.w r3, r7, #8 80bda2c: 4619 mov r1, r3 80bda2e: 6878 ldr r0, [r7, #4] 80bda30: f7ff fd82 bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp6(SDMMCx, SDMMC_CMD_SET_REL_ADDR, pRCA); 80bda34: 683a ldr r2, [r7, #0] 80bda36: 2103 movs r1, #3 80bda38: 6878 ldr r0, [r7, #4] 80bda3a: f000 f99d bl 80bdd78 80bda3e: 61f8 str r0, [r7, #28] return errorstate; 80bda40: 69fb ldr r3, [r7, #28] } 80bda42: 4618 mov r0, r3 80bda44: 3720 adds r7, #32 80bda46: 46bd mov sp, r7 80bda48: bd80 pop {r7, pc} 080bda4a : * @param SDMMCx: Pointer to SDMMC register base * @param Argument: Command Argument * @retval HAL status */ uint32_t SDMMC_CmdSendStatus(SDMMC_TypeDef *SDMMCx, uint32_t Argument) { 80bda4a: b580 push {r7, lr} 80bda4c: b088 sub sp, #32 80bda4e: af00 add r7, sp, #0 80bda50: 6078 str r0, [r7, #4] 80bda52: 6039 str r1, [r7, #0] SDMMC_CmdInitTypeDef sdmmc_cmdinit; uint32_t errorstate; sdmmc_cmdinit.Argument = Argument; 80bda54: 683b ldr r3, [r7, #0] 80bda56: 60bb str r3, [r7, #8] sdmmc_cmdinit.CmdIndex = SDMMC_CMD_SEND_STATUS; 80bda58: 230d movs r3, #13 80bda5a: 60fb str r3, [r7, #12] sdmmc_cmdinit.Response = SDMMC_RESPONSE_SHORT; 80bda5c: 2340 movs r3, #64 ; 0x40 80bda5e: 613b str r3, [r7, #16] sdmmc_cmdinit.WaitForInterrupt = SDMMC_WAIT_NO; 80bda60: 2300 movs r3, #0 80bda62: 617b str r3, [r7, #20] sdmmc_cmdinit.CPSM = SDMMC_CPSM_ENABLE; 80bda64: f44f 6380 mov.w r3, #1024 ; 0x400 80bda68: 61bb str r3, [r7, #24] (void)SDMMC_SendCommand(SDMMCx, &sdmmc_cmdinit); 80bda6a: f107 0308 add.w r3, r7, #8 80bda6e: 4619 mov r1, r3 80bda70: 6878 ldr r0, [r7, #4] 80bda72: f7ff fd61 bl 80bd538 /* Check for error conditions */ errorstate = SDMMC_GetCmdResp1(SDMMCx, SDMMC_CMD_SEND_STATUS, SDMMC_CMDTIMEOUT); 80bda76: f241 3288 movw r2, #5000 ; 0x1388 80bda7a: 210d movs r1, #13 80bda7c: 6878 ldr r0, [r7, #4] 80bda7e: f000 f807 bl 80bda90 80bda82: 61f8 str r0, [r7, #28] return errorstate; 80bda84: 69fb ldr r3, [r7, #28] } 80bda86: 4618 mov r0, r3 80bda88: 3720 adds r7, #32 80bda8a: 46bd mov sp, r7 80bda8c: bd80 pop {r7, pc} ... 080bda90 : * @param SDMMCx Pointer to SDMMC register base * @param SD_CMD: The sent command index * @retval SD Card error state */ uint32_t SDMMC_GetCmdResp1(SDMMC_TypeDef *SDMMCx, uint8_t SD_CMD, uint32_t Timeout) { 80bda90: b580 push {r7, lr} 80bda92: b088 sub sp, #32 80bda94: af00 add r7, sp, #0 80bda96: 60f8 str r0, [r7, #12] 80bda98: 460b mov r3, r1 80bda9a: 607a str r2, [r7, #4] 80bda9c: 72fb strb r3, [r7, #11] uint32_t response_r1; uint32_t sta_reg; /* 8 is the number of required instructions cycles for the below loop statement. The Timeout is expressed in ms */ uint32_t count = Timeout * (SystemCoreClock / 8U /1000U); 80bda9e: 4b70 ldr r3, [pc, #448] ; (80bdc60 ) 80bdaa0: 681b ldr r3, [r3, #0] 80bdaa2: 4a70 ldr r2, [pc, #448] ; (80bdc64 ) 80bdaa4: fba2 2303 umull r2, r3, r2, r3 80bdaa8: 0a5b lsrs r3, r3, #9 80bdaaa: 687a ldr r2, [r7, #4] 80bdaac: fb02 f303 mul.w r3, r2, r3 80bdab0: 61fb str r3, [r7, #28] do { if (count-- == 0U) 80bdab2: 69fb ldr r3, [r7, #28] 80bdab4: 1e5a subs r2, r3, #1 80bdab6: 61fa str r2, [r7, #28] 80bdab8: 2b00 cmp r3, #0 80bdaba: d102 bne.n 80bdac2 { return SDMMC_ERROR_TIMEOUT; 80bdabc: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80bdac0: e0c9 b.n 80bdc56 } sta_reg = SDMMCx->STA; 80bdac2: 68fb ldr r3, [r7, #12] 80bdac4: 6b5b ldr r3, [r3, #52] ; 0x34 80bdac6: 61bb str r3, [r7, #24] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdac8: 69bb ldr r3, [r7, #24] 80bdaca: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80bdace: 2b00 cmp r3, #0 80bdad0: d0ef beq.n 80bdab2 80bdad2: 69bb ldr r3, [r7, #24] 80bdad4: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdad8: 2b00 cmp r3, #0 80bdada: d1ea bne.n 80bdab2 if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80bdadc: 68fb ldr r3, [r7, #12] 80bdade: 6b5b ldr r3, [r3, #52] ; 0x34 80bdae0: f003 0304 and.w r3, r3, #4 80bdae4: 2b00 cmp r3, #0 80bdae6: d004 beq.n 80bdaf2 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80bdae8: 68fb ldr r3, [r7, #12] 80bdaea: 2204 movs r2, #4 80bdaec: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80bdaee: 2304 movs r3, #4 80bdaf0: e0b1 b.n 80bdc56 } else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80bdaf2: 68fb ldr r3, [r7, #12] 80bdaf4: 6b5b ldr r3, [r3, #52] ; 0x34 80bdaf6: f003 0301 and.w r3, r3, #1 80bdafa: 2b00 cmp r3, #0 80bdafc: d004 beq.n 80bdb08 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80bdafe: 68fb ldr r3, [r7, #12] 80bdb00: 2201 movs r2, #1 80bdb02: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80bdb04: 2301 movs r3, #1 80bdb06: e0a6 b.n 80bdc56 { /* Nothing to do */ } /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80bdb08: 68fb ldr r3, [r7, #12] 80bdb0a: 22c5 movs r2, #197 ; 0xc5 80bdb0c: 639a str r2, [r3, #56] ; 0x38 /* Check response received is of desired command */ if(SDMMC_GetCommandResponse(SDMMCx) != SD_CMD) 80bdb0e: 68f8 ldr r0, [r7, #12] 80bdb10: f7ff fd3c bl 80bd58c 80bdb14: 4603 mov r3, r0 80bdb16: 461a mov r2, r3 80bdb18: 7afb ldrb r3, [r7, #11] 80bdb1a: 4293 cmp r3, r2 80bdb1c: d001 beq.n 80bdb22 { return SDMMC_ERROR_CMD_CRC_FAIL; 80bdb1e: 2301 movs r3, #1 80bdb20: e099 b.n 80bdc56 } /* We have received response, retrieve it for analysis */ response_r1 = SDMMC_GetResponse(SDMMCx, SDMMC_RESP1); 80bdb22: 2100 movs r1, #0 80bdb24: 68f8 ldr r0, [r7, #12] 80bdb26: f7ff fd3e bl 80bd5a6 80bdb2a: 6178 str r0, [r7, #20] if((response_r1 & SDMMC_OCR_ERRORBITS) == SDMMC_ALLZERO) 80bdb2c: 697a ldr r2, [r7, #20] 80bdb2e: 4b4e ldr r3, [pc, #312] ; (80bdc68 ) 80bdb30: 4013 ands r3, r2 80bdb32: 2b00 cmp r3, #0 80bdb34: d101 bne.n 80bdb3a { return SDMMC_ERROR_NONE; 80bdb36: 2300 movs r3, #0 80bdb38: e08d b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_ADDR_OUT_OF_RANGE) == SDMMC_OCR_ADDR_OUT_OF_RANGE) 80bdb3a: 697b ldr r3, [r7, #20] 80bdb3c: 2b00 cmp r3, #0 80bdb3e: da02 bge.n 80bdb46 { return SDMMC_ERROR_ADDR_OUT_OF_RANGE; 80bdb40: f04f 7300 mov.w r3, #33554432 ; 0x2000000 80bdb44: e087 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_ADDR_MISALIGNED) == SDMMC_OCR_ADDR_MISALIGNED) 80bdb46: 697b ldr r3, [r7, #20] 80bdb48: f003 4380 and.w r3, r3, #1073741824 ; 0x40000000 80bdb4c: 2b00 cmp r3, #0 80bdb4e: d001 beq.n 80bdb54 { return SDMMC_ERROR_ADDR_MISALIGNED; 80bdb50: 2340 movs r3, #64 ; 0x40 80bdb52: e080 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_BLOCK_LEN_ERR) == SDMMC_OCR_BLOCK_LEN_ERR) 80bdb54: 697b ldr r3, [r7, #20] 80bdb56: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80bdb5a: 2b00 cmp r3, #0 80bdb5c: d001 beq.n 80bdb62 { return SDMMC_ERROR_BLOCK_LEN_ERR; 80bdb5e: 2380 movs r3, #128 ; 0x80 80bdb60: e079 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_ERASE_SEQ_ERR) == SDMMC_OCR_ERASE_SEQ_ERR) 80bdb62: 697b ldr r3, [r7, #20] 80bdb64: f003 5380 and.w r3, r3, #268435456 ; 0x10000000 80bdb68: 2b00 cmp r3, #0 80bdb6a: d002 beq.n 80bdb72 { return SDMMC_ERROR_ERASE_SEQ_ERR; 80bdb6c: f44f 7380 mov.w r3, #256 ; 0x100 80bdb70: e071 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_BAD_ERASE_PARAM) == SDMMC_OCR_BAD_ERASE_PARAM) 80bdb72: 697b ldr r3, [r7, #20] 80bdb74: f003 6300 and.w r3, r3, #134217728 ; 0x8000000 80bdb78: 2b00 cmp r3, #0 80bdb7a: d002 beq.n 80bdb82 { return SDMMC_ERROR_BAD_ERASE_PARAM; 80bdb7c: f44f 7300 mov.w r3, #512 ; 0x200 80bdb80: e069 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_WRITE_PROT_VIOLATION) == SDMMC_OCR_WRITE_PROT_VIOLATION) 80bdb82: 697b ldr r3, [r7, #20] 80bdb84: f003 6380 and.w r3, r3, #67108864 ; 0x4000000 80bdb88: 2b00 cmp r3, #0 80bdb8a: d002 beq.n 80bdb92 { return SDMMC_ERROR_WRITE_PROT_VIOLATION; 80bdb8c: f44f 6380 mov.w r3, #1024 ; 0x400 80bdb90: e061 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_LOCK_UNLOCK_FAILED) == SDMMC_OCR_LOCK_UNLOCK_FAILED) 80bdb92: 697b ldr r3, [r7, #20] 80bdb94: f003 7380 and.w r3, r3, #16777216 ; 0x1000000 80bdb98: 2b00 cmp r3, #0 80bdb9a: d002 beq.n 80bdba2 { return SDMMC_ERROR_LOCK_UNLOCK_FAILED; 80bdb9c: f44f 6300 mov.w r3, #2048 ; 0x800 80bdba0: e059 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_COM_CRC_FAILED) == SDMMC_OCR_COM_CRC_FAILED) 80bdba2: 697b ldr r3, [r7, #20] 80bdba4: f403 0300 and.w r3, r3, #8388608 ; 0x800000 80bdba8: 2b00 cmp r3, #0 80bdbaa: d002 beq.n 80bdbb2 { return SDMMC_ERROR_COM_CRC_FAILED; 80bdbac: f44f 5380 mov.w r3, #4096 ; 0x1000 80bdbb0: e051 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_ILLEGAL_CMD) == SDMMC_OCR_ILLEGAL_CMD) 80bdbb2: 697b ldr r3, [r7, #20] 80bdbb4: f403 0380 and.w r3, r3, #4194304 ; 0x400000 80bdbb8: 2b00 cmp r3, #0 80bdbba: d002 beq.n 80bdbc2 { return SDMMC_ERROR_ILLEGAL_CMD; 80bdbbc: f44f 5300 mov.w r3, #8192 ; 0x2000 80bdbc0: e049 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_CARD_ECC_FAILED) == SDMMC_OCR_CARD_ECC_FAILED) 80bdbc2: 697b ldr r3, [r7, #20] 80bdbc4: f403 1300 and.w r3, r3, #2097152 ; 0x200000 80bdbc8: 2b00 cmp r3, #0 80bdbca: d002 beq.n 80bdbd2 { return SDMMC_ERROR_CARD_ECC_FAILED; 80bdbcc: f44f 4380 mov.w r3, #16384 ; 0x4000 80bdbd0: e041 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_CC_ERROR) == SDMMC_OCR_CC_ERROR) 80bdbd2: 697b ldr r3, [r7, #20] 80bdbd4: f403 1380 and.w r3, r3, #1048576 ; 0x100000 80bdbd8: 2b00 cmp r3, #0 80bdbda: d002 beq.n 80bdbe2 { return SDMMC_ERROR_CC_ERR; 80bdbdc: f44f 4300 mov.w r3, #32768 ; 0x8000 80bdbe0: e039 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_STREAM_READ_UNDERRUN) == SDMMC_OCR_STREAM_READ_UNDERRUN) 80bdbe2: 697b ldr r3, [r7, #20] 80bdbe4: f403 2380 and.w r3, r3, #262144 ; 0x40000 80bdbe8: 2b00 cmp r3, #0 80bdbea: d002 beq.n 80bdbf2 { return SDMMC_ERROR_STREAM_READ_UNDERRUN; 80bdbec: f44f 3300 mov.w r3, #131072 ; 0x20000 80bdbf0: e031 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_STREAM_WRITE_OVERRUN) == SDMMC_OCR_STREAM_WRITE_OVERRUN) 80bdbf2: 697b ldr r3, [r7, #20] 80bdbf4: f403 3300 and.w r3, r3, #131072 ; 0x20000 80bdbf8: 2b00 cmp r3, #0 80bdbfa: d002 beq.n 80bdc02 { return SDMMC_ERROR_STREAM_WRITE_OVERRUN; 80bdbfc: f44f 2380 mov.w r3, #262144 ; 0x40000 80bdc00: e029 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_CID_CSD_OVERWRITE) == SDMMC_OCR_CID_CSD_OVERWRITE) 80bdc02: 697b ldr r3, [r7, #20] 80bdc04: f403 3380 and.w r3, r3, #65536 ; 0x10000 80bdc08: 2b00 cmp r3, #0 80bdc0a: d002 beq.n 80bdc12 { return SDMMC_ERROR_CID_CSD_OVERWRITE; 80bdc0c: f44f 2300 mov.w r3, #524288 ; 0x80000 80bdc10: e021 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_WP_ERASE_SKIP) == SDMMC_OCR_WP_ERASE_SKIP) 80bdc12: 697b ldr r3, [r7, #20] 80bdc14: f403 4300 and.w r3, r3, #32768 ; 0x8000 80bdc18: 2b00 cmp r3, #0 80bdc1a: d002 beq.n 80bdc22 { return SDMMC_ERROR_WP_ERASE_SKIP; 80bdc1c: f44f 1380 mov.w r3, #1048576 ; 0x100000 80bdc20: e019 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_CARD_ECC_DISABLED) == SDMMC_OCR_CARD_ECC_DISABLED) 80bdc22: 697b ldr r3, [r7, #20] 80bdc24: f403 4380 and.w r3, r3, #16384 ; 0x4000 80bdc28: 2b00 cmp r3, #0 80bdc2a: d002 beq.n 80bdc32 { return SDMMC_ERROR_CARD_ECC_DISABLED; 80bdc2c: f44f 1300 mov.w r3, #2097152 ; 0x200000 80bdc30: e011 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_ERASE_RESET) == SDMMC_OCR_ERASE_RESET) 80bdc32: 697b ldr r3, [r7, #20] 80bdc34: f403 5300 and.w r3, r3, #8192 ; 0x2000 80bdc38: 2b00 cmp r3, #0 80bdc3a: d002 beq.n 80bdc42 { return SDMMC_ERROR_ERASE_RESET; 80bdc3c: f44f 0380 mov.w r3, #4194304 ; 0x400000 80bdc40: e009 b.n 80bdc56 } else if((response_r1 & SDMMC_OCR_AKE_SEQ_ERROR) == SDMMC_OCR_AKE_SEQ_ERROR) 80bdc42: 697b ldr r3, [r7, #20] 80bdc44: f003 0308 and.w r3, r3, #8 80bdc48: 2b00 cmp r3, #0 80bdc4a: d002 beq.n 80bdc52 { return SDMMC_ERROR_AKE_SEQ_ERR; 80bdc4c: f44f 0300 mov.w r3, #8388608 ; 0x800000 80bdc50: e001 b.n 80bdc56 } else { return SDMMC_ERROR_GENERAL_UNKNOWN_ERR; 80bdc52: f44f 3380 mov.w r3, #65536 ; 0x10000 } } 80bdc56: 4618 mov r0, r3 80bdc58: 3720 adds r7, #32 80bdc5a: 46bd mov sp, r7 80bdc5c: bd80 pop {r7, pc} 80bdc5e: bf00 nop 80bdc60: 200209b4 .word 0x200209b4 80bdc64: 10624dd3 .word 0x10624dd3 80bdc68: fdffe008 .word 0xfdffe008 080bdc6c : * @brief Checks for error conditions for R2 (CID or CSD) response. * @param SDMMCx Pointer to SDMMC register base * @retval SD Card error state */ uint32_t SDMMC_GetCmdResp2(SDMMC_TypeDef *SDMMCx) { 80bdc6c: b480 push {r7} 80bdc6e: b085 sub sp, #20 80bdc70: af00 add r7, sp, #0 80bdc72: 6078 str r0, [r7, #4] uint32_t sta_reg; /* 8 is the number of required instructions cycles for the below loop statement. The SDMMC_CMDTIMEOUT is expressed in ms */ uint32_t count = SDMMC_CMDTIMEOUT * (SystemCoreClock / 8U /1000U); 80bdc74: 4b1f ldr r3, [pc, #124] ; (80bdcf4 ) 80bdc76: 681b ldr r3, [r3, #0] 80bdc78: 4a1f ldr r2, [pc, #124] ; (80bdcf8 ) 80bdc7a: fba2 2303 umull r2, r3, r2, r3 80bdc7e: 0a5b lsrs r3, r3, #9 80bdc80: f241 3288 movw r2, #5000 ; 0x1388 80bdc84: fb02 f303 mul.w r3, r2, r3 80bdc88: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80bdc8a: 68fb ldr r3, [r7, #12] 80bdc8c: 1e5a subs r2, r3, #1 80bdc8e: 60fa str r2, [r7, #12] 80bdc90: 2b00 cmp r3, #0 80bdc92: d102 bne.n 80bdc9a { return SDMMC_ERROR_TIMEOUT; 80bdc94: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80bdc98: e026 b.n 80bdce8 } sta_reg = SDMMCx->STA; 80bdc9a: 687b ldr r3, [r7, #4] 80bdc9c: 6b5b ldr r3, [r3, #52] ; 0x34 80bdc9e: 60bb str r3, [r7, #8] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdca0: 68bb ldr r3, [r7, #8] 80bdca2: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80bdca6: 2b00 cmp r3, #0 80bdca8: d0ef beq.n 80bdc8a 80bdcaa: 68bb ldr r3, [r7, #8] 80bdcac: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdcb0: 2b00 cmp r3, #0 80bdcb2: d1ea bne.n 80bdc8a if (__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80bdcb4: 687b ldr r3, [r7, #4] 80bdcb6: 6b5b ldr r3, [r3, #52] ; 0x34 80bdcb8: f003 0304 and.w r3, r3, #4 80bdcbc: 2b00 cmp r3, #0 80bdcbe: d004 beq.n 80bdcca { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80bdcc0: 687b ldr r3, [r7, #4] 80bdcc2: 2204 movs r2, #4 80bdcc4: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80bdcc6: 2304 movs r3, #4 80bdcc8: e00e b.n 80bdce8 } else if (__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80bdcca: 687b ldr r3, [r7, #4] 80bdccc: 6b5b ldr r3, [r3, #52] ; 0x34 80bdcce: f003 0301 and.w r3, r3, #1 80bdcd2: 2b00 cmp r3, #0 80bdcd4: d004 beq.n 80bdce0 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80bdcd6: 687b ldr r3, [r7, #4] 80bdcd8: 2201 movs r2, #1 80bdcda: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80bdcdc: 2301 movs r3, #1 80bdcde: e003 b.n 80bdce8 } else { /* No error flag set */ /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80bdce0: 687b ldr r3, [r7, #4] 80bdce2: 22c5 movs r2, #197 ; 0xc5 80bdce4: 639a str r2, [r3, #56] ; 0x38 } return SDMMC_ERROR_NONE; 80bdce6: 2300 movs r3, #0 } 80bdce8: 4618 mov r0, r3 80bdcea: 3714 adds r7, #20 80bdcec: 46bd mov sp, r7 80bdcee: f85d 7b04 ldr.w r7, [sp], #4 80bdcf2: 4770 bx lr 80bdcf4: 200209b4 .word 0x200209b4 80bdcf8: 10624dd3 .word 0x10624dd3 080bdcfc : * @brief Checks for error conditions for R3 (OCR) response. * @param SDMMCx Pointer to SDMMC register base * @retval SD Card error state */ uint32_t SDMMC_GetCmdResp3(SDMMC_TypeDef *SDMMCx) { 80bdcfc: b480 push {r7} 80bdcfe: b085 sub sp, #20 80bdd00: af00 add r7, sp, #0 80bdd02: 6078 str r0, [r7, #4] uint32_t sta_reg; /* 8 is the number of required instructions cycles for the below loop statement. The SDMMC_CMDTIMEOUT is expressed in ms */ uint32_t count = SDMMC_CMDTIMEOUT * (SystemCoreClock / 8U /1000U); 80bdd04: 4b1a ldr r3, [pc, #104] ; (80bdd70 ) 80bdd06: 681b ldr r3, [r3, #0] 80bdd08: 4a1a ldr r2, [pc, #104] ; (80bdd74 ) 80bdd0a: fba2 2303 umull r2, r3, r2, r3 80bdd0e: 0a5b lsrs r3, r3, #9 80bdd10: f241 3288 movw r2, #5000 ; 0x1388 80bdd14: fb02 f303 mul.w r3, r2, r3 80bdd18: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80bdd1a: 68fb ldr r3, [r7, #12] 80bdd1c: 1e5a subs r2, r3, #1 80bdd1e: 60fa str r2, [r7, #12] 80bdd20: 2b00 cmp r3, #0 80bdd22: d102 bne.n 80bdd2a { return SDMMC_ERROR_TIMEOUT; 80bdd24: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80bdd28: e01b b.n 80bdd62 } sta_reg = SDMMCx->STA; 80bdd2a: 687b ldr r3, [r7, #4] 80bdd2c: 6b5b ldr r3, [r3, #52] ; 0x34 80bdd2e: 60bb str r3, [r7, #8] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdd30: 68bb ldr r3, [r7, #8] 80bdd32: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80bdd36: 2b00 cmp r3, #0 80bdd38: d0ef beq.n 80bdd1a 80bdd3a: 68bb ldr r3, [r7, #8] 80bdd3c: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdd40: 2b00 cmp r3, #0 80bdd42: d1ea bne.n 80bdd1a if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80bdd44: 687b ldr r3, [r7, #4] 80bdd46: 6b5b ldr r3, [r3, #52] ; 0x34 80bdd48: f003 0304 and.w r3, r3, #4 80bdd4c: 2b00 cmp r3, #0 80bdd4e: d004 beq.n 80bdd5a { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80bdd50: 687b ldr r3, [r7, #4] 80bdd52: 2204 movs r2, #4 80bdd54: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80bdd56: 2304 movs r3, #4 80bdd58: e003 b.n 80bdd62 } else { /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80bdd5a: 687b ldr r3, [r7, #4] 80bdd5c: 22c5 movs r2, #197 ; 0xc5 80bdd5e: 639a str r2, [r3, #56] ; 0x38 } return SDMMC_ERROR_NONE; 80bdd60: 2300 movs r3, #0 } 80bdd62: 4618 mov r0, r3 80bdd64: 3714 adds r7, #20 80bdd66: 46bd mov sp, r7 80bdd68: f85d 7b04 ldr.w r7, [sp], #4 80bdd6c: 4770 bx lr 80bdd6e: bf00 nop 80bdd70: 200209b4 .word 0x200209b4 80bdd74: 10624dd3 .word 0x10624dd3 080bdd78 : * @param pRCA: Pointer to the variable that will contain the SD card relative * address RCA * @retval SD Card error state */ uint32_t SDMMC_GetCmdResp6(SDMMC_TypeDef *SDMMCx, uint8_t SD_CMD, uint16_t *pRCA) { 80bdd78: b580 push {r7, lr} 80bdd7a: b088 sub sp, #32 80bdd7c: af00 add r7, sp, #0 80bdd7e: 60f8 str r0, [r7, #12] 80bdd80: 460b mov r3, r1 80bdd82: 607a str r2, [r7, #4] 80bdd84: 72fb strb r3, [r7, #11] uint32_t response_r1; uint32_t sta_reg; /* 8 is the number of required instructions cycles for the below loop statement. The SDMMC_CMDTIMEOUT is expressed in ms */ uint32_t count = SDMMC_CMDTIMEOUT * (SystemCoreClock / 8U /1000U); 80bdd86: 4b35 ldr r3, [pc, #212] ; (80bde5c ) 80bdd88: 681b ldr r3, [r3, #0] 80bdd8a: 4a35 ldr r2, [pc, #212] ; (80bde60 ) 80bdd8c: fba2 2303 umull r2, r3, r2, r3 80bdd90: 0a5b lsrs r3, r3, #9 80bdd92: f241 3288 movw r2, #5000 ; 0x1388 80bdd96: fb02 f303 mul.w r3, r2, r3 80bdd9a: 61fb str r3, [r7, #28] do { if (count-- == 0U) 80bdd9c: 69fb ldr r3, [r7, #28] 80bdd9e: 1e5a subs r2, r3, #1 80bdda0: 61fa str r2, [r7, #28] 80bdda2: 2b00 cmp r3, #0 80bdda4: d102 bne.n 80bddac { return SDMMC_ERROR_TIMEOUT; 80bdda6: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80bddaa: e052 b.n 80bde52 } sta_reg = SDMMCx->STA; 80bddac: 68fb ldr r3, [r7, #12] 80bddae: 6b5b ldr r3, [r3, #52] ; 0x34 80bddb0: 61bb str r3, [r7, #24] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bddb2: 69bb ldr r3, [r7, #24] 80bddb4: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80bddb8: 2b00 cmp r3, #0 80bddba: d0ef beq.n 80bdd9c 80bddbc: 69bb ldr r3, [r7, #24] 80bddbe: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bddc2: 2b00 cmp r3, #0 80bddc4: d1ea bne.n 80bdd9c if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80bddc6: 68fb ldr r3, [r7, #12] 80bddc8: 6b5b ldr r3, [r3, #52] ; 0x34 80bddca: f003 0304 and.w r3, r3, #4 80bddce: 2b00 cmp r3, #0 80bddd0: d004 beq.n 80bdddc { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80bddd2: 68fb ldr r3, [r7, #12] 80bddd4: 2204 movs r2, #4 80bddd6: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80bddd8: 2304 movs r3, #4 80bddda: e03a b.n 80bde52 } else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80bdddc: 68fb ldr r3, [r7, #12] 80bddde: 6b5b ldr r3, [r3, #52] ; 0x34 80bdde0: f003 0301 and.w r3, r3, #1 80bdde4: 2b00 cmp r3, #0 80bdde6: d004 beq.n 80bddf2 { __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80bdde8: 68fb ldr r3, [r7, #12] 80bddea: 2201 movs r2, #1 80bddec: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80bddee: 2301 movs r3, #1 80bddf0: e02f b.n 80bde52 { /* Nothing to do */ } /* Check response received is of desired command */ if(SDMMC_GetCommandResponse(SDMMCx) != SD_CMD) 80bddf2: 68f8 ldr r0, [r7, #12] 80bddf4: f7ff fbca bl 80bd58c 80bddf8: 4603 mov r3, r0 80bddfa: 461a mov r2, r3 80bddfc: 7afb ldrb r3, [r7, #11] 80bddfe: 4293 cmp r3, r2 80bde00: d001 beq.n 80bde06 { return SDMMC_ERROR_CMD_CRC_FAIL; 80bde02: 2301 movs r3, #1 80bde04: e025 b.n 80bde52 } /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80bde06: 68fb ldr r3, [r7, #12] 80bde08: 22c5 movs r2, #197 ; 0xc5 80bde0a: 639a str r2, [r3, #56] ; 0x38 /* We have received response, retrieve it. */ response_r1 = SDMMC_GetResponse(SDMMCx, SDMMC_RESP1); 80bde0c: 2100 movs r1, #0 80bde0e: 68f8 ldr r0, [r7, #12] 80bde10: f7ff fbc9 bl 80bd5a6 80bde14: 6178 str r0, [r7, #20] if((response_r1 & (SDMMC_R6_GENERAL_UNKNOWN_ERROR | SDMMC_R6_ILLEGAL_CMD | SDMMC_R6_COM_CRC_FAILED)) == SDMMC_ALLZERO) 80bde16: 697b ldr r3, [r7, #20] 80bde18: f403 4360 and.w r3, r3, #57344 ; 0xe000 80bde1c: 2b00 cmp r3, #0 80bde1e: d106 bne.n 80bde2e { *pRCA = (uint16_t) (response_r1 >> 16); 80bde20: 697b ldr r3, [r7, #20] 80bde22: 0c1b lsrs r3, r3, #16 80bde24: b29a uxth r2, r3 80bde26: 687b ldr r3, [r7, #4] 80bde28: 801a strh r2, [r3, #0] return SDMMC_ERROR_NONE; 80bde2a: 2300 movs r3, #0 80bde2c: e011 b.n 80bde52 } else if((response_r1 & SDMMC_R6_ILLEGAL_CMD) == SDMMC_R6_ILLEGAL_CMD) 80bde2e: 697b ldr r3, [r7, #20] 80bde30: f403 4380 and.w r3, r3, #16384 ; 0x4000 80bde34: 2b00 cmp r3, #0 80bde36: d002 beq.n 80bde3e { return SDMMC_ERROR_ILLEGAL_CMD; 80bde38: f44f 5300 mov.w r3, #8192 ; 0x2000 80bde3c: e009 b.n 80bde52 } else if((response_r1 & SDMMC_R6_COM_CRC_FAILED) == SDMMC_R6_COM_CRC_FAILED) 80bde3e: 697b ldr r3, [r7, #20] 80bde40: f403 4300 and.w r3, r3, #32768 ; 0x8000 80bde44: 2b00 cmp r3, #0 80bde46: d002 beq.n 80bde4e { return SDMMC_ERROR_COM_CRC_FAILED; 80bde48: f44f 5380 mov.w r3, #4096 ; 0x1000 80bde4c: e001 b.n 80bde52 } else { return SDMMC_ERROR_GENERAL_UNKNOWN_ERR; 80bde4e: f44f 3380 mov.w r3, #65536 ; 0x10000 } } 80bde52: 4618 mov r0, r3 80bde54: 3720 adds r7, #32 80bde56: 46bd mov sp, r7 80bde58: bd80 pop {r7, pc} 80bde5a: bf00 nop 80bde5c: 200209b4 .word 0x200209b4 80bde60: 10624dd3 .word 0x10624dd3 080bde64 : * @brief Checks for error conditions for R7 response. * @param SDMMCx Pointer to SDMMC register base * @retval SD Card error state */ uint32_t SDMMC_GetCmdResp7(SDMMC_TypeDef *SDMMCx) { 80bde64: b480 push {r7} 80bde66: b085 sub sp, #20 80bde68: af00 add r7, sp, #0 80bde6a: 6078 str r0, [r7, #4] uint32_t sta_reg; /* 8 is the number of required instructions cycles for the below loop statement. The SDMMC_CMDTIMEOUT is expressed in ms */ uint32_t count = SDMMC_CMDTIMEOUT * (SystemCoreClock / 8U /1000U); 80bde6c: 4b22 ldr r3, [pc, #136] ; (80bdef8 ) 80bde6e: 681b ldr r3, [r3, #0] 80bde70: 4a22 ldr r2, [pc, #136] ; (80bdefc ) 80bde72: fba2 2303 umull r2, r3, r2, r3 80bde76: 0a5b lsrs r3, r3, #9 80bde78: f241 3288 movw r2, #5000 ; 0x1388 80bde7c: fb02 f303 mul.w r3, r2, r3 80bde80: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80bde82: 68fb ldr r3, [r7, #12] 80bde84: 1e5a subs r2, r3, #1 80bde86: 60fa str r2, [r7, #12] 80bde88: 2b00 cmp r3, #0 80bde8a: d102 bne.n 80bde92 { return SDMMC_ERROR_TIMEOUT; 80bde8c: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80bde90: e02c b.n 80bdeec } sta_reg = SDMMCx->STA; 80bde92: 687b ldr r3, [r7, #4] 80bde94: 6b5b ldr r3, [r3, #52] ; 0x34 80bde96: 60bb str r3, [r7, #8] }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bde98: 68bb ldr r3, [r7, #8] 80bde9a: f003 0345 and.w r3, r3, #69 ; 0x45 ((sta_reg & SDMMC_FLAG_CMDACT) != 0U )); 80bde9e: 2b00 cmp r3, #0 80bdea0: d0ef beq.n 80bde82 80bdea2: 68bb ldr r3, [r7, #8] 80bdea4: f403 6300 and.w r3, r3, #2048 ; 0x800 }while(((sta_reg & (SDMMC_FLAG_CCRCFAIL | SDMMC_FLAG_CMDREND | SDMMC_FLAG_CTIMEOUT)) == 0U) || 80bdea8: 2b00 cmp r3, #0 80bdeaa: d1ea bne.n 80bde82 if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT)) 80bdeac: 687b ldr r3, [r7, #4] 80bdeae: 6b5b ldr r3, [r3, #52] ; 0x34 80bdeb0: f003 0304 and.w r3, r3, #4 80bdeb4: 2b00 cmp r3, #0 80bdeb6: d004 beq.n 80bdec2 { /* Card is SD V2.0 compliant */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CTIMEOUT); 80bdeb8: 687b ldr r3, [r7, #4] 80bdeba: 2204 movs r2, #4 80bdebc: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_RSP_TIMEOUT; 80bdebe: 2304 movs r3, #4 80bdec0: e014 b.n 80bdeec } else if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL)) 80bdec2: 687b ldr r3, [r7, #4] 80bdec4: 6b5b ldr r3, [r3, #52] ; 0x34 80bdec6: f003 0301 and.w r3, r3, #1 80bdeca: 2b00 cmp r3, #0 80bdecc: d004 beq.n 80bded8 { /* Card is SD V2.0 compliant */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CCRCFAIL); 80bdece: 687b ldr r3, [r7, #4] 80bded0: 2201 movs r2, #1 80bded2: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_CMD_CRC_FAIL; 80bded4: 2301 movs r3, #1 80bded6: e009 b.n 80bdeec else { /* Nothing to do */ } if(__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CMDREND)) 80bded8: 687b ldr r3, [r7, #4] 80bdeda: 6b5b ldr r3, [r3, #52] ; 0x34 80bdedc: f003 0340 and.w r3, r3, #64 ; 0x40 80bdee0: 2b00 cmp r3, #0 80bdee2: d002 beq.n 80bdeea { /* Card is SD V2.0 compliant */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_FLAG_CMDREND); 80bdee4: 687b ldr r3, [r7, #4] 80bdee6: 2240 movs r2, #64 ; 0x40 80bdee8: 639a str r2, [r3, #56] ; 0x38 } return SDMMC_ERROR_NONE; 80bdeea: 2300 movs r3, #0 } 80bdeec: 4618 mov r0, r3 80bdeee: 3714 adds r7, #20 80bdef0: 46bd mov sp, r7 80bdef2: f85d 7b04 ldr.w r7, [sp], #4 80bdef6: 4770 bx lr 80bdef8: 200209b4 .word 0x200209b4 80bdefc: 10624dd3 .word 0x10624dd3 080bdf00 : * @brief Checks for error conditions for CMD0. * @param SDMMCx Pointer to SDMMC register base * @retval SD Card error state */ static uint32_t SDMMC_GetCmdError(SDMMC_TypeDef *SDMMCx) { 80bdf00: b480 push {r7} 80bdf02: b085 sub sp, #20 80bdf04: af00 add r7, sp, #0 80bdf06: 6078 str r0, [r7, #4] /* 8 is the number of required instructions cycles for the below loop statement. The SDMMC_CMDTIMEOUT is expressed in ms */ uint32_t count = SDMMC_CMDTIMEOUT * (SystemCoreClock / 8U /1000U); 80bdf08: 4b11 ldr r3, [pc, #68] ; (80bdf50 ) 80bdf0a: 681b ldr r3, [r3, #0] 80bdf0c: 4a11 ldr r2, [pc, #68] ; (80bdf54 ) 80bdf0e: fba2 2303 umull r2, r3, r2, r3 80bdf12: 0a5b lsrs r3, r3, #9 80bdf14: f241 3288 movw r2, #5000 ; 0x1388 80bdf18: fb02 f303 mul.w r3, r2, r3 80bdf1c: 60fb str r3, [r7, #12] do { if (count-- == 0U) 80bdf1e: 68fb ldr r3, [r7, #12] 80bdf20: 1e5a subs r2, r3, #1 80bdf22: 60fa str r2, [r7, #12] 80bdf24: 2b00 cmp r3, #0 80bdf26: d102 bne.n 80bdf2e { return SDMMC_ERROR_TIMEOUT; 80bdf28: f04f 4300 mov.w r3, #2147483648 ; 0x80000000 80bdf2c: e009 b.n 80bdf42 } }while(!__SDMMC_GET_FLAG(SDMMCx, SDMMC_FLAG_CMDSENT)); 80bdf2e: 687b ldr r3, [r7, #4] 80bdf30: 6b5b ldr r3, [r3, #52] ; 0x34 80bdf32: f003 0380 and.w r3, r3, #128 ; 0x80 80bdf36: 2b00 cmp r3, #0 80bdf38: d0f1 beq.n 80bdf1e /* Clear all the static flags */ __SDMMC_CLEAR_FLAG(SDMMCx, SDMMC_STATIC_CMD_FLAGS); 80bdf3a: 687b ldr r3, [r7, #4] 80bdf3c: 22c5 movs r2, #197 ; 0xc5 80bdf3e: 639a str r2, [r3, #56] ; 0x38 return SDMMC_ERROR_NONE; 80bdf40: 2300 movs r3, #0 } 80bdf42: 4618 mov r0, r3 80bdf44: 3714 adds r7, #20 80bdf46: 46bd mov sp, r7 80bdf48: f85d 7b04 ldr.w r7, [sp], #4 80bdf4c: 4770 bx lr 80bdf4e: bf00 nop 80bdf50: 200209b4 .word 0x200209b4 80bdf54: 10624dd3 .word 0x10624dd3 080bdf58 : * @param cfg pointer to a USB_OTG_CfgTypeDef structure that contains * the configuration information for the specified USBx peripheral. * @retval HAL status */ HAL_StatusTypeDef USB_CoreInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg) { 80bdf58: b084 sub sp, #16 80bdf5a: b580 push {r7, lr} 80bdf5c: b084 sub sp, #16 80bdf5e: af00 add r7, sp, #0 80bdf60: 6078 str r0, [r7, #4] 80bdf62: f107 001c add.w r0, r7, #28 80bdf66: e880 000e stmia.w r0, {r1, r2, r3} HAL_StatusTypeDef ret; if (cfg.phy_itface == USB_OTG_ULPI_PHY) 80bdf6a: 6b3b ldr r3, [r7, #48] ; 0x30 80bdf6c: 2b01 cmp r3, #1 80bdf6e: d120 bne.n 80bdfb2 { USBx->GCCFG &= ~(USB_OTG_GCCFG_PWRDWN); 80bdf70: 687b ldr r3, [r7, #4] 80bdf72: 6b9b ldr r3, [r3, #56] ; 0x38 80bdf74: f423 3280 bic.w r2, r3, #65536 ; 0x10000 80bdf78: 687b ldr r3, [r7, #4] 80bdf7a: 639a str r2, [r3, #56] ; 0x38 /* Init The ULPI Interface */ USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_TSDPS | USB_OTG_GUSBCFG_ULPIFSLS | USB_OTG_GUSBCFG_PHYSEL); 80bdf7c: 687b ldr r3, [r7, #4] 80bdf7e: 68da ldr r2, [r3, #12] 80bdf80: 4b20 ldr r3, [pc, #128] ; (80be004 ) 80bdf82: 4013 ands r3, r2 80bdf84: 687a ldr r2, [r7, #4] 80bdf86: 60d3 str r3, [r2, #12] /* Select ULPI Interface */ USBx->GUSBCFG |= USB_OTG_GUSBCFG_ULPI_UTMI_SEL; #endif /* defined(STM32F722xx) || defined(STM32F723xx) || defined(STM32F730xx) || defined(STM32F732xx) || defined(STM32F733xx) */ /* Select vbus source */ USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_ULPIEVBUSD | USB_OTG_GUSBCFG_ULPIEVBUSI); 80bdf88: 687b ldr r3, [r7, #4] 80bdf8a: 68db ldr r3, [r3, #12] 80bdf8c: f423 1240 bic.w r2, r3, #3145728 ; 0x300000 80bdf90: 687b ldr r3, [r7, #4] 80bdf92: 60da str r2, [r3, #12] if (cfg.use_external_vbus == 1U) 80bdf94: 6cfb ldr r3, [r7, #76] ; 0x4c 80bdf96: 2b01 cmp r3, #1 80bdf98: d105 bne.n 80bdfa6 { USBx->GUSBCFG |= USB_OTG_GUSBCFG_ULPIEVBUSD; 80bdf9a: 687b ldr r3, [r7, #4] 80bdf9c: 68db ldr r3, [r3, #12] 80bdf9e: f443 1280 orr.w r2, r3, #1048576 ; 0x100000 80bdfa2: 687b ldr r3, [r7, #4] 80bdfa4: 60da str r2, [r3, #12] } /* Reset after a PHY select */ ret = USB_CoreReset(USBx); 80bdfa6: 6878 ldr r0, [r7, #4] 80bdfa8: f001 fb74 bl 80bf694 80bdfac: 4603 mov r3, r0 80bdfae: 73fb strb r3, [r7, #15] 80bdfb0: e010 b.n 80bdfd4 } #endif /* defined(STM32F722xx) || defined(STM32F723xx) || defined(STM32F730xx) || defined(STM32F732xx) || defined(STM32F733xx) */ else /* FS interface (embedded Phy) */ { /* Select FS Embedded PHY */ USBx->GUSBCFG |= USB_OTG_GUSBCFG_PHYSEL; 80bdfb2: 687b ldr r3, [r7, #4] 80bdfb4: 68db ldr r3, [r3, #12] 80bdfb6: f043 0240 orr.w r2, r3, #64 ; 0x40 80bdfba: 687b ldr r3, [r7, #4] 80bdfbc: 60da str r2, [r3, #12] /* Reset after a PHY select */ ret = USB_CoreReset(USBx); 80bdfbe: 6878 ldr r0, [r7, #4] 80bdfc0: f001 fb68 bl 80bf694 80bdfc4: 4603 mov r3, r0 80bdfc6: 73fb strb r3, [r7, #15] /* Activate the USB Transceiver */ USBx->GCCFG |= USB_OTG_GCCFG_PWRDWN; 80bdfc8: 687b ldr r3, [r7, #4] 80bdfca: 6b9b ldr r3, [r3, #56] ; 0x38 80bdfcc: f443 3280 orr.w r2, r3, #65536 ; 0x10000 80bdfd0: 687b ldr r3, [r7, #4] 80bdfd2: 639a str r2, [r3, #56] ; 0x38 } if (cfg.dma_enable == 1U) 80bdfd4: 6abb ldr r3, [r7, #40] ; 0x28 80bdfd6: 2b01 cmp r3, #1 80bdfd8: d10b bne.n 80bdff2 { USBx->GAHBCFG |= USB_OTG_GAHBCFG_HBSTLEN_2; 80bdfda: 687b ldr r3, [r7, #4] 80bdfdc: 689b ldr r3, [r3, #8] 80bdfde: f043 0206 orr.w r2, r3, #6 80bdfe2: 687b ldr r3, [r7, #4] 80bdfe4: 609a str r2, [r3, #8] USBx->GAHBCFG |= USB_OTG_GAHBCFG_DMAEN; 80bdfe6: 687b ldr r3, [r7, #4] 80bdfe8: 689b ldr r3, [r3, #8] 80bdfea: f043 0220 orr.w r2, r3, #32 80bdfee: 687b ldr r3, [r7, #4] 80bdff0: 609a str r2, [r3, #8] } return ret; 80bdff2: 7bfb ldrb r3, [r7, #15] } 80bdff4: 4618 mov r0, r3 80bdff6: 3710 adds r7, #16 80bdff8: 46bd mov sp, r7 80bdffa: e8bd 4080 ldmia.w sp!, {r7, lr} 80bdffe: b004 add sp, #16 80be000: 4770 bx lr 80be002: bf00 nop 80be004: ffbdffbf .word 0xffbdffbf 080be008 : * @param hclk: AHB clock frequency * @retval USB turnaround time In PHY Clocks number */ HAL_StatusTypeDef USB_SetTurnaroundTime(USB_OTG_GlobalTypeDef *USBx, uint32_t hclk, uint8_t speed) { 80be008: b480 push {r7} 80be00a: b087 sub sp, #28 80be00c: af00 add r7, sp, #0 80be00e: 60f8 str r0, [r7, #12] 80be010: 60b9 str r1, [r7, #8] 80be012: 4613 mov r3, r2 80be014: 71fb strb r3, [r7, #7] /* The USBTRD is configured according to the tables below, depending on AHB frequency used by application. In the low AHB frequency range it is used to stretch enough the USB response time to IN tokens, the USB turnaround time, so to compensate for the longer AHB read access latency to the Data FIFO */ if (speed == USBD_FS_SPEED) 80be016: 79fb ldrb r3, [r7, #7] 80be018: 2b02 cmp r3, #2 80be01a: d165 bne.n 80be0e8 { if ((hclk >= 14200000U) && (hclk < 15000000U)) 80be01c: 68bb ldr r3, [r7, #8] 80be01e: 4a41 ldr r2, [pc, #260] ; (80be124 ) 80be020: 4293 cmp r3, r2 80be022: d906 bls.n 80be032 80be024: 68bb ldr r3, [r7, #8] 80be026: 4a40 ldr r2, [pc, #256] ; (80be128 ) 80be028: 4293 cmp r3, r2 80be02a: d802 bhi.n 80be032 { /* hclk Clock Range between 14.2-15 MHz */ UsbTrd = 0xFU; 80be02c: 230f movs r3, #15 80be02e: 617b str r3, [r7, #20] 80be030: e062 b.n 80be0f8 } else if ((hclk >= 15000000U) && (hclk < 16000000U)) 80be032: 68bb ldr r3, [r7, #8] 80be034: 4a3c ldr r2, [pc, #240] ; (80be128 ) 80be036: 4293 cmp r3, r2 80be038: d906 bls.n 80be048 80be03a: 68bb ldr r3, [r7, #8] 80be03c: 4a3b ldr r2, [pc, #236] ; (80be12c ) 80be03e: 4293 cmp r3, r2 80be040: d802 bhi.n 80be048 { /* hclk Clock Range between 15-16 MHz */ UsbTrd = 0xEU; 80be042: 230e movs r3, #14 80be044: 617b str r3, [r7, #20] 80be046: e057 b.n 80be0f8 } else if ((hclk >= 16000000U) && (hclk < 17200000U)) 80be048: 68bb ldr r3, [r7, #8] 80be04a: 4a38 ldr r2, [pc, #224] ; (80be12c ) 80be04c: 4293 cmp r3, r2 80be04e: d906 bls.n 80be05e 80be050: 68bb ldr r3, [r7, #8] 80be052: 4a37 ldr r2, [pc, #220] ; (80be130 ) 80be054: 4293 cmp r3, r2 80be056: d802 bhi.n 80be05e { /* hclk Clock Range between 16-17.2 MHz */ UsbTrd = 0xDU; 80be058: 230d movs r3, #13 80be05a: 617b str r3, [r7, #20] 80be05c: e04c b.n 80be0f8 } else if ((hclk >= 17200000U) && (hclk < 18500000U)) 80be05e: 68bb ldr r3, [r7, #8] 80be060: 4a33 ldr r2, [pc, #204] ; (80be130 ) 80be062: 4293 cmp r3, r2 80be064: d906 bls.n 80be074 80be066: 68bb ldr r3, [r7, #8] 80be068: 4a32 ldr r2, [pc, #200] ; (80be134 ) 80be06a: 4293 cmp r3, r2 80be06c: d802 bhi.n 80be074 { /* hclk Clock Range between 17.2-18.5 MHz */ UsbTrd = 0xCU; 80be06e: 230c movs r3, #12 80be070: 617b str r3, [r7, #20] 80be072: e041 b.n 80be0f8 } else if ((hclk >= 18500000U) && (hclk < 20000000U)) 80be074: 68bb ldr r3, [r7, #8] 80be076: 4a2f ldr r2, [pc, #188] ; (80be134 ) 80be078: 4293 cmp r3, r2 80be07a: d906 bls.n 80be08a 80be07c: 68bb ldr r3, [r7, #8] 80be07e: 4a2e ldr r2, [pc, #184] ; (80be138 ) 80be080: 4293 cmp r3, r2 80be082: d802 bhi.n 80be08a { /* hclk Clock Range between 18.5-20 MHz */ UsbTrd = 0xBU; 80be084: 230b movs r3, #11 80be086: 617b str r3, [r7, #20] 80be088: e036 b.n 80be0f8 } else if ((hclk >= 20000000U) && (hclk < 21800000U)) 80be08a: 68bb ldr r3, [r7, #8] 80be08c: 4a2a ldr r2, [pc, #168] ; (80be138 ) 80be08e: 4293 cmp r3, r2 80be090: d906 bls.n 80be0a0 80be092: 68bb ldr r3, [r7, #8] 80be094: 4a29 ldr r2, [pc, #164] ; (80be13c ) 80be096: 4293 cmp r3, r2 80be098: d802 bhi.n 80be0a0 { /* hclk Clock Range between 20-21.8 MHz */ UsbTrd = 0xAU; 80be09a: 230a movs r3, #10 80be09c: 617b str r3, [r7, #20] 80be09e: e02b b.n 80be0f8 } else if ((hclk >= 21800000U) && (hclk < 24000000U)) 80be0a0: 68bb ldr r3, [r7, #8] 80be0a2: 4a26 ldr r2, [pc, #152] ; (80be13c ) 80be0a4: 4293 cmp r3, r2 80be0a6: d906 bls.n 80be0b6 80be0a8: 68bb ldr r3, [r7, #8] 80be0aa: 4a25 ldr r2, [pc, #148] ; (80be140 ) 80be0ac: 4293 cmp r3, r2 80be0ae: d802 bhi.n 80be0b6 { /* hclk Clock Range between 21.8-24 MHz */ UsbTrd = 0x9U; 80be0b0: 2309 movs r3, #9 80be0b2: 617b str r3, [r7, #20] 80be0b4: e020 b.n 80be0f8 } else if ((hclk >= 24000000U) && (hclk < 27700000U)) 80be0b6: 68bb ldr r3, [r7, #8] 80be0b8: 4a21 ldr r2, [pc, #132] ; (80be140 ) 80be0ba: 4293 cmp r3, r2 80be0bc: d906 bls.n 80be0cc 80be0be: 68bb ldr r3, [r7, #8] 80be0c0: 4a20 ldr r2, [pc, #128] ; (80be144 ) 80be0c2: 4293 cmp r3, r2 80be0c4: d802 bhi.n 80be0cc { /* hclk Clock Range between 24-27.7 MHz */ UsbTrd = 0x8U; 80be0c6: 2308 movs r3, #8 80be0c8: 617b str r3, [r7, #20] 80be0ca: e015 b.n 80be0f8 } else if ((hclk >= 27700000U) && (hclk < 32000000U)) 80be0cc: 68bb ldr r3, [r7, #8] 80be0ce: 4a1d ldr r2, [pc, #116] ; (80be144 ) 80be0d0: 4293 cmp r3, r2 80be0d2: d906 bls.n 80be0e2 80be0d4: 68bb ldr r3, [r7, #8] 80be0d6: 4a1c ldr r2, [pc, #112] ; (80be148 ) 80be0d8: 4293 cmp r3, r2 80be0da: d802 bhi.n 80be0e2 { /* hclk Clock Range between 27.7-32 MHz */ UsbTrd = 0x7U; 80be0dc: 2307 movs r3, #7 80be0de: 617b str r3, [r7, #20] 80be0e0: e00a b.n 80be0f8 } else /* if(hclk >= 32000000) */ { /* hclk Clock Range between 32-200 MHz */ UsbTrd = 0x6U; 80be0e2: 2306 movs r3, #6 80be0e4: 617b str r3, [r7, #20] 80be0e6: e007 b.n 80be0f8 } } else if (speed == USBD_HS_SPEED) 80be0e8: 79fb ldrb r3, [r7, #7] 80be0ea: 2b00 cmp r3, #0 80be0ec: d102 bne.n 80be0f4 { UsbTrd = USBD_HS_TRDT_VALUE; 80be0ee: 2309 movs r3, #9 80be0f0: 617b str r3, [r7, #20] 80be0f2: e001 b.n 80be0f8 } else { UsbTrd = USBD_DEFAULT_TRDT_VALUE; 80be0f4: 2309 movs r3, #9 80be0f6: 617b str r3, [r7, #20] } USBx->GUSBCFG &= ~USB_OTG_GUSBCFG_TRDT; 80be0f8: 68fb ldr r3, [r7, #12] 80be0fa: 68db ldr r3, [r3, #12] 80be0fc: f423 5270 bic.w r2, r3, #15360 ; 0x3c00 80be100: 68fb ldr r3, [r7, #12] 80be102: 60da str r2, [r3, #12] USBx->GUSBCFG |= (uint32_t)((UsbTrd << 10) & USB_OTG_GUSBCFG_TRDT); 80be104: 68fb ldr r3, [r7, #12] 80be106: 68da ldr r2, [r3, #12] 80be108: 697b ldr r3, [r7, #20] 80be10a: 029b lsls r3, r3, #10 80be10c: f403 5370 and.w r3, r3, #15360 ; 0x3c00 80be110: 431a orrs r2, r3 80be112: 68fb ldr r3, [r7, #12] 80be114: 60da str r2, [r3, #12] return HAL_OK; 80be116: 2300 movs r3, #0 } 80be118: 4618 mov r0, r3 80be11a: 371c adds r7, #28 80be11c: 46bd mov sp, r7 80be11e: f85d 7b04 ldr.w r7, [sp], #4 80be122: 4770 bx lr 80be124: 00d8acbf .word 0x00d8acbf 80be128: 00e4e1bf .word 0x00e4e1bf 80be12c: 00f423ff .word 0x00f423ff 80be130: 0106737f .word 0x0106737f 80be134: 011a499f .word 0x011a499f 80be138: 01312cff .word 0x01312cff 80be13c: 014ca43f .word 0x014ca43f 80be140: 016e35ff .word 0x016e35ff 80be144: 01a6ab1f .word 0x01a6ab1f 80be148: 01e847ff .word 0x01e847ff 080be14c : * Enables the controller's Global Int in the AHB Config reg * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_EnableGlobalInt(USB_OTG_GlobalTypeDef *USBx) { 80be14c: b480 push {r7} 80be14e: b083 sub sp, #12 80be150: af00 add r7, sp, #0 80be152: 6078 str r0, [r7, #4] USBx->GAHBCFG |= USB_OTG_GAHBCFG_GINT; 80be154: 687b ldr r3, [r7, #4] 80be156: 689b ldr r3, [r3, #8] 80be158: f043 0201 orr.w r2, r3, #1 80be15c: 687b ldr r3, [r7, #4] 80be15e: 609a str r2, [r3, #8] return HAL_OK; 80be160: 2300 movs r3, #0 } 80be162: 4618 mov r0, r3 80be164: 370c adds r7, #12 80be166: 46bd mov sp, r7 80be168: f85d 7b04 ldr.w r7, [sp], #4 80be16c: 4770 bx lr 080be16e : * Disable the controller's Global Int in the AHB Config reg * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_DisableGlobalInt(USB_OTG_GlobalTypeDef *USBx) { 80be16e: b480 push {r7} 80be170: b083 sub sp, #12 80be172: af00 add r7, sp, #0 80be174: 6078 str r0, [r7, #4] USBx->GAHBCFG &= ~USB_OTG_GAHBCFG_GINT; 80be176: 687b ldr r3, [r7, #4] 80be178: 689b ldr r3, [r3, #8] 80be17a: f023 0201 bic.w r2, r3, #1 80be17e: 687b ldr r3, [r7, #4] 80be180: 609a str r2, [r3, #8] return HAL_OK; 80be182: 2300 movs r3, #0 } 80be184: 4618 mov r0, r3 80be186: 370c adds r7, #12 80be188: 46bd mov sp, r7 80be18a: f85d 7b04 ldr.w r7, [sp], #4 80be18e: 4770 bx lr 080be190 : * @arg USB_DEVICE_MODE Peripheral mode * @arg USB_HOST_MODE Host mode * @retval HAL status */ HAL_StatusTypeDef USB_SetCurrentMode(USB_OTG_GlobalTypeDef *USBx, USB_OTG_ModeTypeDef mode) { 80be190: b580 push {r7, lr} 80be192: b084 sub sp, #16 80be194: af00 add r7, sp, #0 80be196: 6078 str r0, [r7, #4] 80be198: 460b mov r3, r1 80be19a: 70fb strb r3, [r7, #3] uint32_t ms = 0U; 80be19c: 2300 movs r3, #0 80be19e: 60fb str r3, [r7, #12] USBx->GUSBCFG &= ~(USB_OTG_GUSBCFG_FHMOD | USB_OTG_GUSBCFG_FDMOD); 80be1a0: 687b ldr r3, [r7, #4] 80be1a2: 68db ldr r3, [r3, #12] 80be1a4: f023 42c0 bic.w r2, r3, #1610612736 ; 0x60000000 80be1a8: 687b ldr r3, [r7, #4] 80be1aa: 60da str r2, [r3, #12] if (mode == USB_HOST_MODE) 80be1ac: 78fb ldrb r3, [r7, #3] 80be1ae: 2b01 cmp r3, #1 80be1b0: d115 bne.n 80be1de { USBx->GUSBCFG |= USB_OTG_GUSBCFG_FHMOD; 80be1b2: 687b ldr r3, [r7, #4] 80be1b4: 68db ldr r3, [r3, #12] 80be1b6: f043 5200 orr.w r2, r3, #536870912 ; 0x20000000 80be1ba: 687b ldr r3, [r7, #4] 80be1bc: 60da str r2, [r3, #12] do { HAL_Delay(1U); 80be1be: 2001 movs r0, #1 80be1c0: f7f5 f862 bl 80b3288 ms++; 80be1c4: 68fb ldr r3, [r7, #12] 80be1c6: 3301 adds r3, #1 80be1c8: 60fb str r3, [r7, #12] } while ((USB_GetMode(USBx) != (uint32_t)USB_HOST_MODE) && (ms < 50U)); 80be1ca: 6878 ldr r0, [r7, #4] 80be1cc: f001 f9cc bl 80bf568 80be1d0: 4603 mov r3, r0 80be1d2: 2b01 cmp r3, #1 80be1d4: d01e beq.n 80be214 80be1d6: 68fb ldr r3, [r7, #12] 80be1d8: 2b31 cmp r3, #49 ; 0x31 80be1da: d9f0 bls.n 80be1be 80be1dc: e01a b.n 80be214 } else if (mode == USB_DEVICE_MODE) 80be1de: 78fb ldrb r3, [r7, #3] 80be1e0: 2b00 cmp r3, #0 80be1e2: d115 bne.n 80be210 { USBx->GUSBCFG |= USB_OTG_GUSBCFG_FDMOD; 80be1e4: 687b ldr r3, [r7, #4] 80be1e6: 68db ldr r3, [r3, #12] 80be1e8: f043 4280 orr.w r2, r3, #1073741824 ; 0x40000000 80be1ec: 687b ldr r3, [r7, #4] 80be1ee: 60da str r2, [r3, #12] do { HAL_Delay(1U); 80be1f0: 2001 movs r0, #1 80be1f2: f7f5 f849 bl 80b3288 ms++; 80be1f6: 68fb ldr r3, [r7, #12] 80be1f8: 3301 adds r3, #1 80be1fa: 60fb str r3, [r7, #12] } while ((USB_GetMode(USBx) != (uint32_t)USB_DEVICE_MODE) && (ms < 50U)); 80be1fc: 6878 ldr r0, [r7, #4] 80be1fe: f001 f9b3 bl 80bf568 80be202: 4603 mov r3, r0 80be204: 2b00 cmp r3, #0 80be206: d005 beq.n 80be214 80be208: 68fb ldr r3, [r7, #12] 80be20a: 2b31 cmp r3, #49 ; 0x31 80be20c: d9f0 bls.n 80be1f0 80be20e: e001 b.n 80be214 } else { return HAL_ERROR; 80be210: 2301 movs r3, #1 80be212: e005 b.n 80be220 } if (ms == 50U) 80be214: 68fb ldr r3, [r7, #12] 80be216: 2b32 cmp r3, #50 ; 0x32 80be218: d101 bne.n 80be21e { return HAL_ERROR; 80be21a: 2301 movs r3, #1 80be21c: e000 b.n 80be220 } return HAL_OK; 80be21e: 2300 movs r3, #0 } 80be220: 4618 mov r0, r3 80be222: 3710 adds r7, #16 80be224: 46bd mov sp, r7 80be226: bd80 pop {r7, pc} 080be228 : * @param cfg pointer to a USB_OTG_CfgTypeDef structure that contains * the configuration information for the specified USBx peripheral. * @retval HAL status */ HAL_StatusTypeDef USB_DevInit(USB_OTG_GlobalTypeDef *USBx, USB_OTG_CfgTypeDef cfg) { 80be228: b084 sub sp, #16 80be22a: b580 push {r7, lr} 80be22c: b086 sub sp, #24 80be22e: af00 add r7, sp, #0 80be230: 6078 str r0, [r7, #4] 80be232: f107 0024 add.w r0, r7, #36 ; 0x24 80be236: e880 000e stmia.w r0, {r1, r2, r3} HAL_StatusTypeDef ret = HAL_OK; 80be23a: 2300 movs r3, #0 80be23c: 75fb strb r3, [r7, #23] uint32_t USBx_BASE = (uint32_t)USBx; 80be23e: 687b ldr r3, [r7, #4] 80be240: 60fb str r3, [r7, #12] uint32_t i; for (i = 0U; i < 15U; i++) 80be242: 2300 movs r3, #0 80be244: 613b str r3, [r7, #16] 80be246: e009 b.n 80be25c { USBx->DIEPTXF[i] = 0U; 80be248: 687a ldr r2, [r7, #4] 80be24a: 693b ldr r3, [r7, #16] 80be24c: 3340 adds r3, #64 ; 0x40 80be24e: 009b lsls r3, r3, #2 80be250: 4413 add r3, r2 80be252: 2200 movs r2, #0 80be254: 605a str r2, [r3, #4] for (i = 0U; i < 15U; i++) 80be256: 693b ldr r3, [r7, #16] 80be258: 3301 adds r3, #1 80be25a: 613b str r3, [r7, #16] 80be25c: 693b ldr r3, [r7, #16] 80be25e: 2b0e cmp r3, #14 80be260: d9f2 bls.n 80be248 } /* VBUS Sensing setup */ if (cfg.vbus_sensing_enable == 0U) 80be262: 6cfb ldr r3, [r7, #76] ; 0x4c 80be264: 2b00 cmp r3, #0 80be266: d11d bne.n 80be2a4 { USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 80be268: 68fb ldr r3, [r7, #12] 80be26a: f503 6300 add.w r3, r3, #2048 ; 0x800 80be26e: 461a mov r2, r3 80be270: 68fb ldr r3, [r7, #12] 80be272: f503 6300 add.w r3, r3, #2048 ; 0x800 80be276: 685b ldr r3, [r3, #4] 80be278: f043 0302 orr.w r3, r3, #2 80be27c: 6053 str r3, [r2, #4] /* Deactivate VBUS Sensing B */ USBx->GCCFG &= ~USB_OTG_GCCFG_VBDEN; 80be27e: 687b ldr r3, [r7, #4] 80be280: 6b9b ldr r3, [r3, #56] ; 0x38 80be282: f423 1200 bic.w r2, r3, #2097152 ; 0x200000 80be286: 687b ldr r3, [r7, #4] 80be288: 639a str r2, [r3, #56] ; 0x38 /* B-peripheral session valid override enable */ USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOEN; 80be28a: 687b ldr r3, [r7, #4] 80be28c: 681b ldr r3, [r3, #0] 80be28e: f043 0240 orr.w r2, r3, #64 ; 0x40 80be292: 687b ldr r3, [r7, #4] 80be294: 601a str r2, [r3, #0] USBx->GOTGCTL |= USB_OTG_GOTGCTL_BVALOVAL; 80be296: 687b ldr r3, [r7, #4] 80be298: 681b ldr r3, [r3, #0] 80be29a: f043 0280 orr.w r2, r3, #128 ; 0x80 80be29e: 687b ldr r3, [r7, #4] 80be2a0: 601a str r2, [r3, #0] 80be2a2: e005 b.n 80be2b0 } else { /* Enable HW VBUS sensing */ USBx->GCCFG |= USB_OTG_GCCFG_VBDEN; 80be2a4: 687b ldr r3, [r7, #4] 80be2a6: 6b9b ldr r3, [r3, #56] ; 0x38 80be2a8: f443 1200 orr.w r2, r3, #2097152 ; 0x200000 80be2ac: 687b ldr r3, [r7, #4] 80be2ae: 639a str r2, [r3, #56] ; 0x38 } /* Restart the Phy Clock */ USBx_PCGCCTL = 0U; 80be2b0: 68fb ldr r3, [r7, #12] 80be2b2: f503 6360 add.w r3, r3, #3584 ; 0xe00 80be2b6: 461a mov r2, r3 80be2b8: 2300 movs r3, #0 80be2ba: 6013 str r3, [r2, #0] /* Device mode configuration */ USBx_DEVICE->DCFG |= DCFG_FRAME_INTERVAL_80; 80be2bc: 68fb ldr r3, [r7, #12] 80be2be: f503 6300 add.w r3, r3, #2048 ; 0x800 80be2c2: 461a mov r2, r3 80be2c4: 68fb ldr r3, [r7, #12] 80be2c6: f503 6300 add.w r3, r3, #2048 ; 0x800 80be2ca: 681b ldr r3, [r3, #0] 80be2cc: 6013 str r3, [r2, #0] if (cfg.phy_itface == USB_OTG_ULPI_PHY) 80be2ce: 6bbb ldr r3, [r7, #56] ; 0x38 80be2d0: 2b01 cmp r3, #1 80be2d2: d10c bne.n 80be2ee { if (cfg.speed == USBD_HS_SPEED) 80be2d4: 6afb ldr r3, [r7, #44] ; 0x2c 80be2d6: 2b00 cmp r3, #0 80be2d8: d104 bne.n 80be2e4 { /* Set Core speed to High speed mode */ (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_HIGH); 80be2da: 2100 movs r1, #0 80be2dc: 6878 ldr r0, [r7, #4] 80be2de: f000 f963 bl 80be5a8 80be2e2: e008 b.n 80be2f6 } else { /* Set Core speed to Full speed mode */ (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_HIGH_IN_FULL); 80be2e4: 2101 movs r1, #1 80be2e6: 6878 ldr r0, [r7, #4] 80be2e8: f000 f95e bl 80be5a8 80be2ec: e003 b.n 80be2f6 } #endif /* defined(STM32F722xx) || defined(STM32F723xx) || defined(STM32F730xx) || defined(STM32F732xx) || defined(STM32F733xx) */ else { /* Set Core speed to Full speed mode */ (void)USB_SetDevSpeed(USBx, USB_OTG_SPEED_FULL); 80be2ee: 2103 movs r1, #3 80be2f0: 6878 ldr r0, [r7, #4] 80be2f2: f000 f959 bl 80be5a8 } /* Flush the FIFOs */ if (USB_FlushTxFifo(USBx, 0x10U) != HAL_OK) /* all Tx FIFOs */ 80be2f6: 2110 movs r1, #16 80be2f8: 6878 ldr r0, [r7, #4] 80be2fa: f000 f8f5 bl 80be4e8 80be2fe: 4603 mov r3, r0 80be300: 2b00 cmp r3, #0 80be302: d001 beq.n 80be308 { ret = HAL_ERROR; 80be304: 2301 movs r3, #1 80be306: 75fb strb r3, [r7, #23] } if (USB_FlushRxFifo(USBx) != HAL_OK) 80be308: 6878 ldr r0, [r7, #4] 80be30a: f000 f91f bl 80be54c 80be30e: 4603 mov r3, r0 80be310: 2b00 cmp r3, #0 80be312: d001 beq.n 80be318 { ret = HAL_ERROR; 80be314: 2301 movs r3, #1 80be316: 75fb strb r3, [r7, #23] } /* Clear all pending Device Interrupts */ USBx_DEVICE->DIEPMSK = 0U; 80be318: 68fb ldr r3, [r7, #12] 80be31a: f503 6300 add.w r3, r3, #2048 ; 0x800 80be31e: 461a mov r2, r3 80be320: 2300 movs r3, #0 80be322: 6113 str r3, [r2, #16] USBx_DEVICE->DOEPMSK = 0U; 80be324: 68fb ldr r3, [r7, #12] 80be326: f503 6300 add.w r3, r3, #2048 ; 0x800 80be32a: 461a mov r2, r3 80be32c: 2300 movs r3, #0 80be32e: 6153 str r3, [r2, #20] USBx_DEVICE->DAINTMSK = 0U; 80be330: 68fb ldr r3, [r7, #12] 80be332: f503 6300 add.w r3, r3, #2048 ; 0x800 80be336: 461a mov r2, r3 80be338: 2300 movs r3, #0 80be33a: 61d3 str r3, [r2, #28] for (i = 0U; i < cfg.dev_endpoints; i++) 80be33c: 2300 movs r3, #0 80be33e: 613b str r3, [r7, #16] 80be340: e043 b.n 80be3ca { if ((USBx_INEP(i)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 80be342: 693b ldr r3, [r7, #16] 80be344: 015a lsls r2, r3, #5 80be346: 68fb ldr r3, [r7, #12] 80be348: 4413 add r3, r2 80be34a: f503 6310 add.w r3, r3, #2304 ; 0x900 80be34e: 681b ldr r3, [r3, #0] 80be350: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80be354: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80be358: d118 bne.n 80be38c { if (i == 0U) 80be35a: 693b ldr r3, [r7, #16] 80be35c: 2b00 cmp r3, #0 80be35e: d10a bne.n 80be376 { USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_SNAK; 80be360: 693b ldr r3, [r7, #16] 80be362: 015a lsls r2, r3, #5 80be364: 68fb ldr r3, [r7, #12] 80be366: 4413 add r3, r2 80be368: f503 6310 add.w r3, r3, #2304 ; 0x900 80be36c: 461a mov r2, r3 80be36e: f04f 6300 mov.w r3, #134217728 ; 0x8000000 80be372: 6013 str r3, [r2, #0] 80be374: e013 b.n 80be39e } else { USBx_INEP(i)->DIEPCTL = USB_OTG_DIEPCTL_EPDIS | USB_OTG_DIEPCTL_SNAK; 80be376: 693b ldr r3, [r7, #16] 80be378: 015a lsls r2, r3, #5 80be37a: 68fb ldr r3, [r7, #12] 80be37c: 4413 add r3, r2 80be37e: f503 6310 add.w r3, r3, #2304 ; 0x900 80be382: 461a mov r2, r3 80be384: f04f 4390 mov.w r3, #1207959552 ; 0x48000000 80be388: 6013 str r3, [r2, #0] 80be38a: e008 b.n 80be39e } } else { USBx_INEP(i)->DIEPCTL = 0U; 80be38c: 693b ldr r3, [r7, #16] 80be38e: 015a lsls r2, r3, #5 80be390: 68fb ldr r3, [r7, #12] 80be392: 4413 add r3, r2 80be394: f503 6310 add.w r3, r3, #2304 ; 0x900 80be398: 461a mov r2, r3 80be39a: 2300 movs r3, #0 80be39c: 6013 str r3, [r2, #0] } USBx_INEP(i)->DIEPTSIZ = 0U; 80be39e: 693b ldr r3, [r7, #16] 80be3a0: 015a lsls r2, r3, #5 80be3a2: 68fb ldr r3, [r7, #12] 80be3a4: 4413 add r3, r2 80be3a6: f503 6310 add.w r3, r3, #2304 ; 0x900 80be3aa: 461a mov r2, r3 80be3ac: 2300 movs r3, #0 80be3ae: 6113 str r3, [r2, #16] USBx_INEP(i)->DIEPINT = 0xFB7FU; 80be3b0: 693b ldr r3, [r7, #16] 80be3b2: 015a lsls r2, r3, #5 80be3b4: 68fb ldr r3, [r7, #12] 80be3b6: 4413 add r3, r2 80be3b8: f503 6310 add.w r3, r3, #2304 ; 0x900 80be3bc: 461a mov r2, r3 80be3be: f64f 337f movw r3, #64383 ; 0xfb7f 80be3c2: 6093 str r3, [r2, #8] for (i = 0U; i < cfg.dev_endpoints; i++) 80be3c4: 693b ldr r3, [r7, #16] 80be3c6: 3301 adds r3, #1 80be3c8: 613b str r3, [r7, #16] 80be3ca: 6a7a ldr r2, [r7, #36] ; 0x24 80be3cc: 693b ldr r3, [r7, #16] 80be3ce: 429a cmp r2, r3 80be3d0: d8b7 bhi.n 80be342 } for (i = 0U; i < cfg.dev_endpoints; i++) 80be3d2: 2300 movs r3, #0 80be3d4: 613b str r3, [r7, #16] 80be3d6: e043 b.n 80be460 { if ((USBx_OUTEP(i)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 80be3d8: 693b ldr r3, [r7, #16] 80be3da: 015a lsls r2, r3, #5 80be3dc: 68fb ldr r3, [r7, #12] 80be3de: 4413 add r3, r2 80be3e0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be3e4: 681b ldr r3, [r3, #0] 80be3e6: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80be3ea: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80be3ee: d118 bne.n 80be422 { if (i == 0U) 80be3f0: 693b ldr r3, [r7, #16] 80be3f2: 2b00 cmp r3, #0 80be3f4: d10a bne.n 80be40c { USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_SNAK; 80be3f6: 693b ldr r3, [r7, #16] 80be3f8: 015a lsls r2, r3, #5 80be3fa: 68fb ldr r3, [r7, #12] 80be3fc: 4413 add r3, r2 80be3fe: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be402: 461a mov r2, r3 80be404: f04f 6300 mov.w r3, #134217728 ; 0x8000000 80be408: 6013 str r3, [r2, #0] 80be40a: e013 b.n 80be434 } else { USBx_OUTEP(i)->DOEPCTL = USB_OTG_DOEPCTL_EPDIS | USB_OTG_DOEPCTL_SNAK; 80be40c: 693b ldr r3, [r7, #16] 80be40e: 015a lsls r2, r3, #5 80be410: 68fb ldr r3, [r7, #12] 80be412: 4413 add r3, r2 80be414: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be418: 461a mov r2, r3 80be41a: f04f 4390 mov.w r3, #1207959552 ; 0x48000000 80be41e: 6013 str r3, [r2, #0] 80be420: e008 b.n 80be434 } } else { USBx_OUTEP(i)->DOEPCTL = 0U; 80be422: 693b ldr r3, [r7, #16] 80be424: 015a lsls r2, r3, #5 80be426: 68fb ldr r3, [r7, #12] 80be428: 4413 add r3, r2 80be42a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be42e: 461a mov r2, r3 80be430: 2300 movs r3, #0 80be432: 6013 str r3, [r2, #0] } USBx_OUTEP(i)->DOEPTSIZ = 0U; 80be434: 693b ldr r3, [r7, #16] 80be436: 015a lsls r2, r3, #5 80be438: 68fb ldr r3, [r7, #12] 80be43a: 4413 add r3, r2 80be43c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be440: 461a mov r2, r3 80be442: 2300 movs r3, #0 80be444: 6113 str r3, [r2, #16] USBx_OUTEP(i)->DOEPINT = 0xFB7FU; 80be446: 693b ldr r3, [r7, #16] 80be448: 015a lsls r2, r3, #5 80be44a: 68fb ldr r3, [r7, #12] 80be44c: 4413 add r3, r2 80be44e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be452: 461a mov r2, r3 80be454: f64f 337f movw r3, #64383 ; 0xfb7f 80be458: 6093 str r3, [r2, #8] for (i = 0U; i < cfg.dev_endpoints; i++) 80be45a: 693b ldr r3, [r7, #16] 80be45c: 3301 adds r3, #1 80be45e: 613b str r3, [r7, #16] 80be460: 6a7a ldr r2, [r7, #36] ; 0x24 80be462: 693b ldr r3, [r7, #16] 80be464: 429a cmp r2, r3 80be466: d8b7 bhi.n 80be3d8 } USBx_DEVICE->DIEPMSK &= ~(USB_OTG_DIEPMSK_TXFURM); 80be468: 68fb ldr r3, [r7, #12] 80be46a: f503 6300 add.w r3, r3, #2048 ; 0x800 80be46e: 461a mov r2, r3 80be470: 68fb ldr r3, [r7, #12] 80be472: f503 6300 add.w r3, r3, #2048 ; 0x800 80be476: 691b ldr r3, [r3, #16] 80be478: f423 7380 bic.w r3, r3, #256 ; 0x100 80be47c: 6113 str r3, [r2, #16] /* Disable all interrupts. */ USBx->GINTMSK = 0U; 80be47e: 687b ldr r3, [r7, #4] 80be480: 2200 movs r2, #0 80be482: 619a str r2, [r3, #24] /* Clear any pending interrupts */ USBx->GINTSTS = 0xBFFFFFFFU; 80be484: 687b ldr r3, [r7, #4] 80be486: f06f 4280 mvn.w r2, #1073741824 ; 0x40000000 80be48a: 615a str r2, [r3, #20] /* Enable the common interrupts */ if (cfg.dma_enable == 0U) 80be48c: 6b3b ldr r3, [r7, #48] ; 0x30 80be48e: 2b00 cmp r3, #0 80be490: d105 bne.n 80be49e { USBx->GINTMSK |= USB_OTG_GINTMSK_RXFLVLM; 80be492: 687b ldr r3, [r7, #4] 80be494: 699b ldr r3, [r3, #24] 80be496: f043 0210 orr.w r2, r3, #16 80be49a: 687b ldr r3, [r7, #4] 80be49c: 619a str r2, [r3, #24] } /* Enable interrupts matching to the Device mode ONLY */ USBx->GINTMSK |= USB_OTG_GINTMSK_USBSUSPM | USB_OTG_GINTMSK_USBRST | 80be49e: 687b ldr r3, [r7, #4] 80be4a0: 699a ldr r2, [r3, #24] 80be4a2: 4b0f ldr r3, [pc, #60] ; (80be4e0 ) 80be4a4: 4313 orrs r3, r2 80be4a6: 687a ldr r2, [r7, #4] 80be4a8: 6193 str r3, [r2, #24] USB_OTG_GINTMSK_ENUMDNEM | USB_OTG_GINTMSK_IEPINT | USB_OTG_GINTMSK_OEPINT | USB_OTG_GINTMSK_IISOIXFRM | USB_OTG_GINTMSK_PXFRM_IISOOXFRM | USB_OTG_GINTMSK_WUIM; if (cfg.Sof_enable != 0U) 80be4aa: 6bfb ldr r3, [r7, #60] ; 0x3c 80be4ac: 2b00 cmp r3, #0 80be4ae: d005 beq.n 80be4bc { USBx->GINTMSK |= USB_OTG_GINTMSK_SOFM; 80be4b0: 687b ldr r3, [r7, #4] 80be4b2: 699b ldr r3, [r3, #24] 80be4b4: f043 0208 orr.w r2, r3, #8 80be4b8: 687b ldr r3, [r7, #4] 80be4ba: 619a str r2, [r3, #24] } if (cfg.vbus_sensing_enable == 1U) 80be4bc: 6cfb ldr r3, [r7, #76] ; 0x4c 80be4be: 2b01 cmp r3, #1 80be4c0: d105 bne.n 80be4ce { USBx->GINTMSK |= (USB_OTG_GINTMSK_SRQIM | USB_OTG_GINTMSK_OTGINT); 80be4c2: 687b ldr r3, [r7, #4] 80be4c4: 699a ldr r2, [r3, #24] 80be4c6: 4b07 ldr r3, [pc, #28] ; (80be4e4 ) 80be4c8: 4313 orrs r3, r2 80be4ca: 687a ldr r2, [r7, #4] 80be4cc: 6193 str r3, [r2, #24] } return ret; 80be4ce: 7dfb ldrb r3, [r7, #23] } 80be4d0: 4618 mov r0, r3 80be4d2: 3718 adds r7, #24 80be4d4: 46bd mov sp, r7 80be4d6: e8bd 4080 ldmia.w sp!, {r7, lr} 80be4da: b004 add sp, #16 80be4dc: 4770 bx lr 80be4de: bf00 nop 80be4e0: 803c3800 .word 0x803c3800 80be4e4: 40000004 .word 0x40000004 080be4e8 : * This parameter can be a value from 1 to 15 15 means Flush all Tx FIFOs * @retval HAL status */ HAL_StatusTypeDef USB_FlushTxFifo(USB_OTG_GlobalTypeDef *USBx, uint32_t num) { 80be4e8: b480 push {r7} 80be4ea: b085 sub sp, #20 80be4ec: af00 add r7, sp, #0 80be4ee: 6078 str r0, [r7, #4] 80be4f0: 6039 str r1, [r7, #0] __IO uint32_t count = 0U; 80be4f2: 2300 movs r3, #0 80be4f4: 60fb str r3, [r7, #12] /* Wait for AHB master IDLE state. */ do { if (++count > 200000U) 80be4f6: 68fb ldr r3, [r7, #12] 80be4f8: 3301 adds r3, #1 80be4fa: 60fb str r3, [r7, #12] 80be4fc: 4a12 ldr r2, [pc, #72] ; (80be548 ) 80be4fe: 4293 cmp r3, r2 80be500: d901 bls.n 80be506 { return HAL_TIMEOUT; 80be502: 2303 movs r3, #3 80be504: e01a b.n 80be53c } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 80be506: 687b ldr r3, [r7, #4] 80be508: 691b ldr r3, [r3, #16] 80be50a: 2b00 cmp r3, #0 80be50c: daf3 bge.n 80be4f6 /* Flush TX Fifo */ count = 0U; 80be50e: 2300 movs r3, #0 80be510: 60fb str r3, [r7, #12] USBx->GRSTCTL = (USB_OTG_GRSTCTL_TXFFLSH | (num << 6)); 80be512: 683b ldr r3, [r7, #0] 80be514: 019b lsls r3, r3, #6 80be516: f043 0220 orr.w r2, r3, #32 80be51a: 687b ldr r3, [r7, #4] 80be51c: 611a str r2, [r3, #16] do { if (++count > 200000U) 80be51e: 68fb ldr r3, [r7, #12] 80be520: 3301 adds r3, #1 80be522: 60fb str r3, [r7, #12] 80be524: 4a08 ldr r2, [pc, #32] ; (80be548 ) 80be526: 4293 cmp r3, r2 80be528: d901 bls.n 80be52e { return HAL_TIMEOUT; 80be52a: 2303 movs r3, #3 80be52c: e006 b.n 80be53c } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_TXFFLSH) == USB_OTG_GRSTCTL_TXFFLSH); 80be52e: 687b ldr r3, [r7, #4] 80be530: 691b ldr r3, [r3, #16] 80be532: f003 0320 and.w r3, r3, #32 80be536: 2b20 cmp r3, #32 80be538: d0f1 beq.n 80be51e return HAL_OK; 80be53a: 2300 movs r3, #0 } 80be53c: 4618 mov r0, r3 80be53e: 3714 adds r7, #20 80be540: 46bd mov sp, r7 80be542: f85d 7b04 ldr.w r7, [sp], #4 80be546: 4770 bx lr 80be548: 00030d40 .word 0x00030d40 080be54c : * @brief USB_FlushRxFifo Flush Rx FIFO * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_FlushRxFifo(USB_OTG_GlobalTypeDef *USBx) { 80be54c: b480 push {r7} 80be54e: b085 sub sp, #20 80be550: af00 add r7, sp, #0 80be552: 6078 str r0, [r7, #4] __IO uint32_t count = 0U; 80be554: 2300 movs r3, #0 80be556: 60fb str r3, [r7, #12] /* Wait for AHB master IDLE state. */ do { if (++count > 200000U) 80be558: 68fb ldr r3, [r7, #12] 80be55a: 3301 adds r3, #1 80be55c: 60fb str r3, [r7, #12] 80be55e: 4a11 ldr r2, [pc, #68] ; (80be5a4 ) 80be560: 4293 cmp r3, r2 80be562: d901 bls.n 80be568 { return HAL_TIMEOUT; 80be564: 2303 movs r3, #3 80be566: e017 b.n 80be598 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 80be568: 687b ldr r3, [r7, #4] 80be56a: 691b ldr r3, [r3, #16] 80be56c: 2b00 cmp r3, #0 80be56e: daf3 bge.n 80be558 /* Flush RX Fifo */ count = 0U; 80be570: 2300 movs r3, #0 80be572: 60fb str r3, [r7, #12] USBx->GRSTCTL = USB_OTG_GRSTCTL_RXFFLSH; 80be574: 687b ldr r3, [r7, #4] 80be576: 2210 movs r2, #16 80be578: 611a str r2, [r3, #16] do { if (++count > 200000U) 80be57a: 68fb ldr r3, [r7, #12] 80be57c: 3301 adds r3, #1 80be57e: 60fb str r3, [r7, #12] 80be580: 4a08 ldr r2, [pc, #32] ; (80be5a4 ) 80be582: 4293 cmp r3, r2 80be584: d901 bls.n 80be58a { return HAL_TIMEOUT; 80be586: 2303 movs r3, #3 80be588: e006 b.n 80be598 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_RXFFLSH) == USB_OTG_GRSTCTL_RXFFLSH); 80be58a: 687b ldr r3, [r7, #4] 80be58c: 691b ldr r3, [r3, #16] 80be58e: f003 0310 and.w r3, r3, #16 80be592: 2b10 cmp r3, #16 80be594: d0f1 beq.n 80be57a return HAL_OK; 80be596: 2300 movs r3, #0 } 80be598: 4618 mov r0, r3 80be59a: 3714 adds r7, #20 80be59c: 46bd mov sp, r7 80be59e: f85d 7b04 ldr.w r7, [sp], #4 80be5a2: 4770 bx lr 80be5a4: 00030d40 .word 0x00030d40 080be5a8 : * @arg USB_OTG_SPEED_HIGH_IN_FULL: High speed core in Full Speed mode * @arg USB_OTG_SPEED_FULL: Full speed mode * @retval Hal status */ HAL_StatusTypeDef USB_SetDevSpeed(USB_OTG_GlobalTypeDef *USBx, uint8_t speed) { 80be5a8: b480 push {r7} 80be5aa: b085 sub sp, #20 80be5ac: af00 add r7, sp, #0 80be5ae: 6078 str r0, [r7, #4] 80be5b0: 460b mov r3, r1 80be5b2: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80be5b4: 687b ldr r3, [r7, #4] 80be5b6: 60fb str r3, [r7, #12] USBx_DEVICE->DCFG |= speed; 80be5b8: 68fb ldr r3, [r7, #12] 80be5ba: f503 6300 add.w r3, r3, #2048 ; 0x800 80be5be: 4619 mov r1, r3 80be5c0: 68fb ldr r3, [r7, #12] 80be5c2: f503 6300 add.w r3, r3, #2048 ; 0x800 80be5c6: 681a ldr r2, [r3, #0] 80be5c8: 78fb ldrb r3, [r7, #3] 80be5ca: 4313 orrs r3, r2 80be5cc: 600b str r3, [r1, #0] return HAL_OK; 80be5ce: 2300 movs r3, #0 } 80be5d0: 4618 mov r0, r3 80be5d2: 3714 adds r7, #20 80be5d4: 46bd mov sp, r7 80be5d6: f85d 7b04 ldr.w r7, [sp], #4 80be5da: 4770 bx lr 080be5dc : * This parameter can be one of these values: * @arg USBD_HS_SPEED: High speed mode * @arg USBD_FS_SPEED: Full speed mode */ uint8_t USB_GetDevSpeed(USB_OTG_GlobalTypeDef *USBx) { 80be5dc: b480 push {r7} 80be5de: b087 sub sp, #28 80be5e0: af00 add r7, sp, #0 80be5e2: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80be5e4: 687b ldr r3, [r7, #4] 80be5e6: 613b str r3, [r7, #16] uint8_t speed; uint32_t DevEnumSpeed = USBx_DEVICE->DSTS & USB_OTG_DSTS_ENUMSPD; 80be5e8: 693b ldr r3, [r7, #16] 80be5ea: f503 6300 add.w r3, r3, #2048 ; 0x800 80be5ee: 689b ldr r3, [r3, #8] 80be5f0: f003 0306 and.w r3, r3, #6 80be5f4: 60fb str r3, [r7, #12] if (DevEnumSpeed == DSTS_ENUMSPD_HS_PHY_30MHZ_OR_60MHZ) 80be5f6: 68fb ldr r3, [r7, #12] 80be5f8: 2b00 cmp r3, #0 80be5fa: d102 bne.n 80be602 { speed = USBD_HS_SPEED; 80be5fc: 2300 movs r3, #0 80be5fe: 75fb strb r3, [r7, #23] 80be600: e00a b.n 80be618 } else if ((DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_30MHZ_OR_60MHZ) || 80be602: 68fb ldr r3, [r7, #12] 80be604: 2b02 cmp r3, #2 80be606: d002 beq.n 80be60e 80be608: 68fb ldr r3, [r7, #12] 80be60a: 2b06 cmp r3, #6 80be60c: d102 bne.n 80be614 (DevEnumSpeed == DSTS_ENUMSPD_FS_PHY_48MHZ)) { speed = USBD_FS_SPEED; 80be60e: 2302 movs r3, #2 80be610: 75fb strb r3, [r7, #23] 80be612: e001 b.n 80be618 } else { speed = 0xFU; 80be614: 230f movs r3, #15 80be616: 75fb strb r3, [r7, #23] } return speed; 80be618: 7dfb ldrb r3, [r7, #23] } 80be61a: 4618 mov r0, r3 80be61c: 371c adds r7, #28 80be61e: 46bd mov sp, r7 80be620: f85d 7b04 ldr.w r7, [sp], #4 80be624: 4770 bx lr ... 080be628 : * @param USBx Selected device * @param ep pointer to endpoint structure * @retval HAL status */ HAL_StatusTypeDef USB_ActivateEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) { 80be628: b480 push {r7} 80be62a: b085 sub sp, #20 80be62c: af00 add r7, sp, #0 80be62e: 6078 str r0, [r7, #4] 80be630: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80be632: 687b ldr r3, [r7, #4] 80be634: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80be636: 683b ldr r3, [r7, #0] 80be638: 781b ldrb r3, [r3, #0] 80be63a: 60bb str r3, [r7, #8] if (ep->is_in == 1U) 80be63c: 683b ldr r3, [r7, #0] 80be63e: 785b ldrb r3, [r3, #1] 80be640: 2b01 cmp r3, #1 80be642: d13a bne.n 80be6ba { USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK)); 80be644: 68fb ldr r3, [r7, #12] 80be646: f503 6300 add.w r3, r3, #2048 ; 0x800 80be64a: 4618 mov r0, r3 80be64c: 68fb ldr r3, [r7, #12] 80be64e: f503 6300 add.w r3, r3, #2048 ; 0x800 80be652: 69da ldr r2, [r3, #28] 80be654: 683b ldr r3, [r7, #0] 80be656: 781b ldrb r3, [r3, #0] 80be658: f003 030f and.w r3, r3, #15 80be65c: 2101 movs r1, #1 80be65e: fa01 f303 lsl.w r3, r1, r3 80be662: b29b uxth r3, r3 80be664: 4313 orrs r3, r2 80be666: 61c3 str r3, [r0, #28] if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_USBAEP) == 0U) 80be668: 68bb ldr r3, [r7, #8] 80be66a: 015a lsls r2, r3, #5 80be66c: 68fb ldr r3, [r7, #12] 80be66e: 4413 add r3, r2 80be670: f503 6310 add.w r3, r3, #2304 ; 0x900 80be674: 681b ldr r3, [r3, #0] 80be676: f403 4300 and.w r3, r3, #32768 ; 0x8000 80be67a: 2b00 cmp r3, #0 80be67c: d154 bne.n 80be728 { USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 80be67e: 68bb ldr r3, [r7, #8] 80be680: 015a lsls r2, r3, #5 80be682: 68fb ldr r3, [r7, #12] 80be684: 4413 add r3, r2 80be686: f503 6310 add.w r3, r3, #2304 ; 0x900 80be68a: 4618 mov r0, r3 80be68c: 68bb ldr r3, [r7, #8] 80be68e: 015a lsls r2, r3, #5 80be690: 68fb ldr r3, [r7, #12] 80be692: 4413 add r3, r2 80be694: f503 6310 add.w r3, r3, #2304 ; 0x900 80be698: 681a ldr r2, [r3, #0] 80be69a: 683b ldr r3, [r7, #0] 80be69c: 689b ldr r3, [r3, #8] 80be69e: f3c3 010a ubfx r1, r3, #0, #11 ((uint32_t)ep->type << 18) | (epnum << 22) | 80be6a2: 683b ldr r3, [r7, #0] 80be6a4: 78db ldrb r3, [r3, #3] 80be6a6: 049b lsls r3, r3, #18 USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 80be6a8: 4319 orrs r1, r3 ((uint32_t)ep->type << 18) | (epnum << 22) | 80be6aa: 68bb ldr r3, [r7, #8] 80be6ac: 059b lsls r3, r3, #22 80be6ae: 430b orrs r3, r1 USBx_INEP(epnum)->DIEPCTL |= (ep->maxpacket & USB_OTG_DIEPCTL_MPSIZ) | 80be6b0: 431a orrs r2, r3 80be6b2: 4b21 ldr r3, [pc, #132] ; (80be738 ) 80be6b4: 4313 orrs r3, r2 80be6b6: 6003 str r3, [r0, #0] 80be6b8: e036 b.n 80be728 USB_OTG_DIEPCTL_USBAEP; } } else { USBx_DEVICE->DAINTMSK |= USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 16); 80be6ba: 68fb ldr r3, [r7, #12] 80be6bc: f503 6300 add.w r3, r3, #2048 ; 0x800 80be6c0: 4618 mov r0, r3 80be6c2: 68fb ldr r3, [r7, #12] 80be6c4: f503 6300 add.w r3, r3, #2048 ; 0x800 80be6c8: 69da ldr r2, [r3, #28] 80be6ca: 683b ldr r3, [r7, #0] 80be6cc: 781b ldrb r3, [r3, #0] 80be6ce: f003 030f and.w r3, r3, #15 80be6d2: 2101 movs r1, #1 80be6d4: fa01 f303 lsl.w r3, r1, r3 80be6d8: 041b lsls r3, r3, #16 80be6da: 4313 orrs r3, r2 80be6dc: 61c3 str r3, [r0, #28] if (((USBx_OUTEP(epnum)->DOEPCTL) & USB_OTG_DOEPCTL_USBAEP) == 0U) 80be6de: 68bb ldr r3, [r7, #8] 80be6e0: 015a lsls r2, r3, #5 80be6e2: 68fb ldr r3, [r7, #12] 80be6e4: 4413 add r3, r2 80be6e6: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be6ea: 681b ldr r3, [r3, #0] 80be6ec: f403 4300 and.w r3, r3, #32768 ; 0x8000 80be6f0: 2b00 cmp r3, #0 80be6f2: d119 bne.n 80be728 { USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) | 80be6f4: 68bb ldr r3, [r7, #8] 80be6f6: 015a lsls r2, r3, #5 80be6f8: 68fb ldr r3, [r7, #12] 80be6fa: 4413 add r3, r2 80be6fc: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be700: 4618 mov r0, r3 80be702: 68bb ldr r3, [r7, #8] 80be704: 015a lsls r2, r3, #5 80be706: 68fb ldr r3, [r7, #12] 80be708: 4413 add r3, r2 80be70a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be70e: 681a ldr r2, [r3, #0] 80be710: 683b ldr r3, [r7, #0] 80be712: 689b ldr r3, [r3, #8] 80be714: f3c3 010a ubfx r1, r3, #0, #11 ((uint32_t)ep->type << 18) | 80be718: 683b ldr r3, [r7, #0] 80be71a: 78db ldrb r3, [r3, #3] 80be71c: 049b lsls r3, r3, #18 USBx_OUTEP(epnum)->DOEPCTL |= (ep->maxpacket & USB_OTG_DOEPCTL_MPSIZ) | 80be71e: 430b orrs r3, r1 80be720: 431a orrs r2, r3 80be722: 4b05 ldr r3, [pc, #20] ; (80be738 ) 80be724: 4313 orrs r3, r2 80be726: 6003 str r3, [r0, #0] USB_OTG_DIEPCTL_SD0PID_SEVNFRM | USB_OTG_DOEPCTL_USBAEP; } } return HAL_OK; 80be728: 2300 movs r3, #0 } 80be72a: 4618 mov r0, r3 80be72c: 3714 adds r7, #20 80be72e: 46bd mov sp, r7 80be730: f85d 7b04 ldr.w r7, [sp], #4 80be734: 4770 bx lr 80be736: bf00 nop 80be738: 10008000 .word 0x10008000 080be73c : * @param USBx Selected device * @param ep pointer to endpoint structure * @retval HAL status */ HAL_StatusTypeDef USB_DeactivateEndpoint(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) { 80be73c: b480 push {r7} 80be73e: b085 sub sp, #20 80be740: af00 add r7, sp, #0 80be742: 6078 str r0, [r7, #4] 80be744: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80be746: 687b ldr r3, [r7, #4] 80be748: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80be74a: 683b ldr r3, [r7, #0] 80be74c: 781b ldrb r3, [r3, #0] 80be74e: 60bb str r3, [r7, #8] /* Read DEPCTLn register */ if (ep->is_in == 1U) 80be750: 683b ldr r3, [r7, #0] 80be752: 785b ldrb r3, [r3, #1] 80be754: 2b01 cmp r3, #1 80be756: d165 bne.n 80be824 { if ((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == USB_OTG_DIEPCTL_EPENA) 80be758: 68bb ldr r3, [r7, #8] 80be75a: 015a lsls r2, r3, #5 80be75c: 68fb ldr r3, [r7, #12] 80be75e: 4413 add r3, r2 80be760: f503 6310 add.w r3, r3, #2304 ; 0x900 80be764: 681b ldr r3, [r3, #0] 80be766: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80be76a: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80be76e: d121 bne.n 80be7b4 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SNAK; 80be770: 68bb ldr r3, [r7, #8] 80be772: 015a lsls r2, r3, #5 80be774: 68fb ldr r3, [r7, #12] 80be776: 4413 add r3, r2 80be778: f503 6310 add.w r3, r3, #2304 ; 0x900 80be77c: 4619 mov r1, r3 80be77e: 68bb ldr r3, [r7, #8] 80be780: 015a lsls r2, r3, #5 80be782: 68fb ldr r3, [r7, #12] 80be784: 4413 add r3, r2 80be786: f503 6310 add.w r3, r3, #2304 ; 0x900 80be78a: 681b ldr r3, [r3, #0] 80be78c: f043 6300 orr.w r3, r3, #134217728 ; 0x8000000 80be790: 600b str r3, [r1, #0] USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_EPDIS; 80be792: 68bb ldr r3, [r7, #8] 80be794: 015a lsls r2, r3, #5 80be796: 68fb ldr r3, [r7, #12] 80be798: 4413 add r3, r2 80be79a: f503 6310 add.w r3, r3, #2304 ; 0x900 80be79e: 4619 mov r1, r3 80be7a0: 68bb ldr r3, [r7, #8] 80be7a2: 015a lsls r2, r3, #5 80be7a4: 68fb ldr r3, [r7, #12] 80be7a6: 4413 add r3, r2 80be7a8: f503 6310 add.w r3, r3, #2304 ; 0x900 80be7ac: 681b ldr r3, [r3, #0] 80be7ae: f043 4380 orr.w r3, r3, #1073741824 ; 0x40000000 80be7b2: 600b str r3, [r1, #0] } USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 80be7b4: 68fb ldr r3, [r7, #12] 80be7b6: f503 6300 add.w r3, r3, #2048 ; 0x800 80be7ba: 4618 mov r0, r3 80be7bc: 68fb ldr r3, [r7, #12] 80be7be: f503 6300 add.w r3, r3, #2048 ; 0x800 80be7c2: 6bda ldr r2, [r3, #60] ; 0x3c 80be7c4: 683b ldr r3, [r7, #0] 80be7c6: 781b ldrb r3, [r3, #0] 80be7c8: f003 030f and.w r3, r3, #15 80be7cc: 2101 movs r1, #1 80be7ce: fa01 f303 lsl.w r3, r1, r3 80be7d2: b29b uxth r3, r3 80be7d4: 43db mvns r3, r3 80be7d6: 4013 ands r3, r2 80be7d8: 63c3 str r3, [r0, #60] ; 0x3c USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_IEPM & (uint32_t)(1UL << (ep->num & EP_ADDR_MSK))); 80be7da: 68fb ldr r3, [r7, #12] 80be7dc: f503 6300 add.w r3, r3, #2048 ; 0x800 80be7e0: 4618 mov r0, r3 80be7e2: 68fb ldr r3, [r7, #12] 80be7e4: f503 6300 add.w r3, r3, #2048 ; 0x800 80be7e8: 69da ldr r2, [r3, #28] 80be7ea: 683b ldr r3, [r7, #0] 80be7ec: 781b ldrb r3, [r3, #0] 80be7ee: f003 030f and.w r3, r3, #15 80be7f2: 2101 movs r1, #1 80be7f4: fa01 f303 lsl.w r3, r1, r3 80be7f8: b29b uxth r3, r3 80be7fa: 43db mvns r3, r3 80be7fc: 4013 ands r3, r2 80be7fe: 61c3 str r3, [r0, #28] USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_USBAEP | 80be800: 68bb ldr r3, [r7, #8] 80be802: 015a lsls r2, r3, #5 80be804: 68fb ldr r3, [r7, #12] 80be806: 4413 add r3, r2 80be808: f503 6310 add.w r3, r3, #2304 ; 0x900 80be80c: 4619 mov r1, r3 80be80e: 68bb ldr r3, [r7, #8] 80be810: 015a lsls r2, r3, #5 80be812: 68fb ldr r3, [r7, #12] 80be814: 4413 add r3, r2 80be816: f503 6310 add.w r3, r3, #2304 ; 0x900 80be81a: 681a ldr r2, [r3, #0] 80be81c: 4b37 ldr r3, [pc, #220] ; (80be8fc ) 80be81e: 4013 ands r3, r2 80be820: 600b str r3, [r1, #0] 80be822: e064 b.n 80be8ee USB_OTG_DIEPCTL_SD0PID_SEVNFRM | USB_OTG_DIEPCTL_EPTYP); } else { if ((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 80be824: 68bb ldr r3, [r7, #8] 80be826: 015a lsls r2, r3, #5 80be828: 68fb ldr r3, [r7, #12] 80be82a: 4413 add r3, r2 80be82c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be830: 681b ldr r3, [r3, #0] 80be832: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80be836: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80be83a: d121 bne.n 80be880 { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SNAK; 80be83c: 68bb ldr r3, [r7, #8] 80be83e: 015a lsls r2, r3, #5 80be840: 68fb ldr r3, [r7, #12] 80be842: 4413 add r3, r2 80be844: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be848: 4619 mov r1, r3 80be84a: 68bb ldr r3, [r7, #8] 80be84c: 015a lsls r2, r3, #5 80be84e: 68fb ldr r3, [r7, #12] 80be850: 4413 add r3, r2 80be852: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be856: 681b ldr r3, [r3, #0] 80be858: f043 6300 orr.w r3, r3, #134217728 ; 0x8000000 80be85c: 600b str r3, [r1, #0] USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_EPDIS; 80be85e: 68bb ldr r3, [r7, #8] 80be860: 015a lsls r2, r3, #5 80be862: 68fb ldr r3, [r7, #12] 80be864: 4413 add r3, r2 80be866: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be86a: 4619 mov r1, r3 80be86c: 68bb ldr r3, [r7, #8] 80be86e: 015a lsls r2, r3, #5 80be870: 68fb ldr r3, [r7, #12] 80be872: 4413 add r3, r2 80be874: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be878: 681b ldr r3, [r3, #0] 80be87a: f043 4380 orr.w r3, r3, #1073741824 ; 0x40000000 80be87e: 600b str r3, [r1, #0] } USBx_DEVICE->DEACHMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 16)); 80be880: 68fb ldr r3, [r7, #12] 80be882: f503 6300 add.w r3, r3, #2048 ; 0x800 80be886: 4618 mov r0, r3 80be888: 68fb ldr r3, [r7, #12] 80be88a: f503 6300 add.w r3, r3, #2048 ; 0x800 80be88e: 6bda ldr r2, [r3, #60] ; 0x3c 80be890: 683b ldr r3, [r7, #0] 80be892: 781b ldrb r3, [r3, #0] 80be894: f003 030f and.w r3, r3, #15 80be898: 2101 movs r1, #1 80be89a: fa01 f303 lsl.w r3, r1, r3 80be89e: 041b lsls r3, r3, #16 80be8a0: 43db mvns r3, r3 80be8a2: 4013 ands r3, r2 80be8a4: 63c3 str r3, [r0, #60] ; 0x3c USBx_DEVICE->DAINTMSK &= ~(USB_OTG_DAINTMSK_OEPM & ((uint32_t)(1UL << (ep->num & EP_ADDR_MSK)) << 16)); 80be8a6: 68fb ldr r3, [r7, #12] 80be8a8: f503 6300 add.w r3, r3, #2048 ; 0x800 80be8ac: 4618 mov r0, r3 80be8ae: 68fb ldr r3, [r7, #12] 80be8b0: f503 6300 add.w r3, r3, #2048 ; 0x800 80be8b4: 69da ldr r2, [r3, #28] 80be8b6: 683b ldr r3, [r7, #0] 80be8b8: 781b ldrb r3, [r3, #0] 80be8ba: f003 030f and.w r3, r3, #15 80be8be: 2101 movs r1, #1 80be8c0: fa01 f303 lsl.w r3, r1, r3 80be8c4: 041b lsls r3, r3, #16 80be8c6: 43db mvns r3, r3 80be8c8: 4013 ands r3, r2 80be8ca: 61c3 str r3, [r0, #28] USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_USBAEP | 80be8cc: 68bb ldr r3, [r7, #8] 80be8ce: 015a lsls r2, r3, #5 80be8d0: 68fb ldr r3, [r7, #12] 80be8d2: 4413 add r3, r2 80be8d4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be8d8: 4619 mov r1, r3 80be8da: 68bb ldr r3, [r7, #8] 80be8dc: 015a lsls r2, r3, #5 80be8de: 68fb ldr r3, [r7, #12] 80be8e0: 4413 add r3, r2 80be8e2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80be8e6: 681a ldr r2, [r3, #0] 80be8e8: 4b05 ldr r3, [pc, #20] ; (80be900 ) 80be8ea: 4013 ands r3, r2 80be8ec: 600b str r3, [r1, #0] USB_OTG_DOEPCTL_MPSIZ | USB_OTG_DOEPCTL_SD0PID_SEVNFRM | USB_OTG_DOEPCTL_EPTYP); } return HAL_OK; 80be8ee: 2300 movs r3, #0 } 80be8f0: 4618 mov r0, r3 80be8f2: 3714 adds r7, #20 80be8f4: 46bd mov sp, r7 80be8f6: f85d 7b04 ldr.w r7, [sp], #4 80be8fa: 4770 bx lr 80be8fc: ec337800 .word 0xec337800 80be900: eff37800 .word 0xeff37800 080be904 : * 0 : DMA feature not used * 1 : DMA feature used * @retval HAL status */ HAL_StatusTypeDef USB_EPStartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep, uint8_t dma) { 80be904: b580 push {r7, lr} 80be906: b08a sub sp, #40 ; 0x28 80be908: af02 add r7, sp, #8 80be90a: 60f8 str r0, [r7, #12] 80be90c: 60b9 str r1, [r7, #8] 80be90e: 4613 mov r3, r2 80be910: 71fb strb r3, [r7, #7] uint32_t USBx_BASE = (uint32_t)USBx; 80be912: 68fb ldr r3, [r7, #12] 80be914: 61fb str r3, [r7, #28] uint32_t epnum = (uint32_t)ep->num; 80be916: 68bb ldr r3, [r7, #8] 80be918: 781b ldrb r3, [r3, #0] 80be91a: 61bb str r3, [r7, #24] uint16_t pktcnt; /* IN endpoint */ if (ep->is_in == 1U) 80be91c: 68bb ldr r3, [r7, #8] 80be91e: 785b ldrb r3, [r3, #1] 80be920: 2b01 cmp r3, #1 80be922: f040 816f bne.w 80bec04 { /* Zero Length Packet? */ if (ep->xfer_len == 0U) 80be926: 68bb ldr r3, [r7, #8] 80be928: 695b ldr r3, [r3, #20] 80be92a: 2b00 cmp r3, #0 80be92c: d133 bne.n 80be996 { USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80be92e: 69bb ldr r3, [r7, #24] 80be930: 015a lsls r2, r3, #5 80be932: 69fb ldr r3, [r7, #28] 80be934: 4413 add r3, r2 80be936: f503 6310 add.w r3, r3, #2304 ; 0x900 80be93a: 4619 mov r1, r3 80be93c: 69bb ldr r3, [r7, #24] 80be93e: 015a lsls r2, r3, #5 80be940: 69fb ldr r3, [r7, #28] 80be942: 4413 add r3, r2 80be944: f503 6310 add.w r3, r3, #2304 ; 0x900 80be948: 691a ldr r2, [r3, #16] 80be94a: 4bab ldr r3, [pc, #684] ; (80bebf8 ) 80be94c: 4013 ands r3, r2 80be94e: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 80be950: 69bb ldr r3, [r7, #24] 80be952: 015a lsls r2, r3, #5 80be954: 69fb ldr r3, [r7, #28] 80be956: 4413 add r3, r2 80be958: f503 6310 add.w r3, r3, #2304 ; 0x900 80be95c: 4619 mov r1, r3 80be95e: 69bb ldr r3, [r7, #24] 80be960: 015a lsls r2, r3, #5 80be962: 69fb ldr r3, [r7, #28] 80be964: 4413 add r3, r2 80be966: f503 6310 add.w r3, r3, #2304 ; 0x900 80be96a: 691b ldr r3, [r3, #16] 80be96c: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80be970: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 80be972: 69bb ldr r3, [r7, #24] 80be974: 015a lsls r2, r3, #5 80be976: 69fb ldr r3, [r7, #28] 80be978: 4413 add r3, r2 80be97a: f503 6310 add.w r3, r3, #2304 ; 0x900 80be97e: 4619 mov r1, r3 80be980: 69bb ldr r3, [r7, #24] 80be982: 015a lsls r2, r3, #5 80be984: 69fb ldr r3, [r7, #28] 80be986: 4413 add r3, r2 80be988: f503 6310 add.w r3, r3, #2304 ; 0x900 80be98c: 691a ldr r2, [r3, #16] 80be98e: 4b9b ldr r3, [pc, #620] ; (80bebfc ) 80be990: 4013 ands r3, r2 80be992: 610b str r3, [r1, #16] 80be994: e078 b.n 80bea88 /* Program the transfer size and packet count * as follows: xfersize = N * maxpacket + * short_packet pktcnt = N + (short_packet * exist ? 1 : 0) */ USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 80be996: 69bb ldr r3, [r7, #24] 80be998: 015a lsls r2, r3, #5 80be99a: 69fb ldr r3, [r7, #28] 80be99c: 4413 add r3, r2 80be99e: f503 6310 add.w r3, r3, #2304 ; 0x900 80be9a2: 4619 mov r1, r3 80be9a4: 69bb ldr r3, [r7, #24] 80be9a6: 015a lsls r2, r3, #5 80be9a8: 69fb ldr r3, [r7, #28] 80be9aa: 4413 add r3, r2 80be9ac: f503 6310 add.w r3, r3, #2304 ; 0x900 80be9b0: 691a ldr r2, [r3, #16] 80be9b2: 4b92 ldr r3, [pc, #584] ; (80bebfc ) 80be9b4: 4013 ands r3, r2 80be9b6: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80be9b8: 69bb ldr r3, [r7, #24] 80be9ba: 015a lsls r2, r3, #5 80be9bc: 69fb ldr r3, [r7, #28] 80be9be: 4413 add r3, r2 80be9c0: f503 6310 add.w r3, r3, #2304 ; 0x900 80be9c4: 4619 mov r1, r3 80be9c6: 69bb ldr r3, [r7, #24] 80be9c8: 015a lsls r2, r3, #5 80be9ca: 69fb ldr r3, [r7, #28] 80be9cc: 4413 add r3, r2 80be9ce: f503 6310 add.w r3, r3, #2304 ; 0x900 80be9d2: 691a ldr r2, [r3, #16] 80be9d4: 4b88 ldr r3, [pc, #544] ; (80bebf8 ) 80be9d6: 4013 ands r3, r2 80be9d8: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & 80be9da: 69bb ldr r3, [r7, #24] 80be9dc: 015a lsls r2, r3, #5 80be9de: 69fb ldr r3, [r7, #28] 80be9e0: 4413 add r3, r2 80be9e2: f503 6310 add.w r3, r3, #2304 ; 0x900 80be9e6: 4618 mov r0, r3 80be9e8: 69bb ldr r3, [r7, #24] 80be9ea: 015a lsls r2, r3, #5 80be9ec: 69fb ldr r3, [r7, #28] 80be9ee: 4413 add r3, r2 80be9f0: f503 6310 add.w r3, r3, #2304 ; 0x900 80be9f4: 691a ldr r2, [r3, #16] (((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket) << 19)); 80be9f6: 68bb ldr r3, [r7, #8] 80be9f8: 6959 ldr r1, [r3, #20] 80be9fa: 68bb ldr r3, [r7, #8] 80be9fc: 689b ldr r3, [r3, #8] 80be9fe: 440b add r3, r1 80bea00: 1e59 subs r1, r3, #1 80bea02: 68bb ldr r3, [r7, #8] 80bea04: 689b ldr r3, [r3, #8] 80bea06: fbb1 f3f3 udiv r3, r1, r3 80bea0a: 04d9 lsls r1, r3, #19 USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & 80bea0c: 4b7c ldr r3, [pc, #496] ; (80bec00 ) 80bea0e: 400b ands r3, r1 80bea10: 4313 orrs r3, r2 80bea12: 6103 str r3, [r0, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); 80bea14: 69bb ldr r3, [r7, #24] 80bea16: 015a lsls r2, r3, #5 80bea18: 69fb ldr r3, [r7, #28] 80bea1a: 4413 add r3, r2 80bea1c: f503 6310 add.w r3, r3, #2304 ; 0x900 80bea20: 4619 mov r1, r3 80bea22: 69bb ldr r3, [r7, #24] 80bea24: 015a lsls r2, r3, #5 80bea26: 69fb ldr r3, [r7, #28] 80bea28: 4413 add r3, r2 80bea2a: f503 6310 add.w r3, r3, #2304 ; 0x900 80bea2e: 691a ldr r2, [r3, #16] 80bea30: 68bb ldr r3, [r7, #8] 80bea32: 695b ldr r3, [r3, #20] 80bea34: f3c3 0312 ubfx r3, r3, #0, #19 80bea38: 4313 orrs r3, r2 80bea3a: 610b str r3, [r1, #16] if (ep->type == EP_TYPE_ISOC) 80bea3c: 68bb ldr r3, [r7, #8] 80bea3e: 78db ldrb r3, [r3, #3] 80bea40: 2b01 cmp r3, #1 80bea42: d121 bne.n 80bea88 { USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_MULCNT); 80bea44: 69bb ldr r3, [r7, #24] 80bea46: 015a lsls r2, r3, #5 80bea48: 69fb ldr r3, [r7, #28] 80bea4a: 4413 add r3, r2 80bea4c: f503 6310 add.w r3, r3, #2304 ; 0x900 80bea50: 4619 mov r1, r3 80bea52: 69bb ldr r3, [r7, #24] 80bea54: 015a lsls r2, r3, #5 80bea56: 69fb ldr r3, [r7, #28] 80bea58: 4413 add r3, r2 80bea5a: f503 6310 add.w r3, r3, #2304 ; 0x900 80bea5e: 691b ldr r3, [r3, #16] 80bea60: f023 43c0 bic.w r3, r3, #1610612736 ; 0x60000000 80bea64: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_MULCNT & (1U << 29)); 80bea66: 69bb ldr r3, [r7, #24] 80bea68: 015a lsls r2, r3, #5 80bea6a: 69fb ldr r3, [r7, #28] 80bea6c: 4413 add r3, r2 80bea6e: f503 6310 add.w r3, r3, #2304 ; 0x900 80bea72: 4619 mov r1, r3 80bea74: 69bb ldr r3, [r7, #24] 80bea76: 015a lsls r2, r3, #5 80bea78: 69fb ldr r3, [r7, #28] 80bea7a: 4413 add r3, r2 80bea7c: f503 6310 add.w r3, r3, #2304 ; 0x900 80bea80: 691b ldr r3, [r3, #16] 80bea82: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80bea86: 610b str r3, [r1, #16] } } if (dma == 1U) 80bea88: 79fb ldrb r3, [r7, #7] 80bea8a: 2b01 cmp r3, #1 80bea8c: d14e bne.n 80beb2c { if ((uint32_t)ep->dma_addr != 0U) 80bea8e: 68bb ldr r3, [r7, #8] 80bea90: 691b ldr r3, [r3, #16] 80bea92: 2b00 cmp r3, #0 80bea94: d009 beq.n 80beaaa { USBx_INEP(epnum)->DIEPDMA = (uint32_t)(ep->dma_addr); 80bea96: 69bb ldr r3, [r7, #24] 80bea98: 015a lsls r2, r3, #5 80bea9a: 69fb ldr r3, [r7, #28] 80bea9c: 4413 add r3, r2 80bea9e: f503 6310 add.w r3, r3, #2304 ; 0x900 80beaa2: 461a mov r2, r3 80beaa4: 68bb ldr r3, [r7, #8] 80beaa6: 691b ldr r3, [r3, #16] 80beaa8: 6153 str r3, [r2, #20] } if (ep->type == EP_TYPE_ISOC) 80beaaa: 68bb ldr r3, [r7, #8] 80beaac: 78db ldrb r3, [r3, #3] 80beaae: 2b01 cmp r3, #1 80beab0: d12a bne.n 80beb08 { if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 80beab2: 69fb ldr r3, [r7, #28] 80beab4: f503 6300 add.w r3, r3, #2048 ; 0x800 80beab8: 689b ldr r3, [r3, #8] 80beaba: f403 7380 and.w r3, r3, #256 ; 0x100 80beabe: 2b00 cmp r3, #0 80beac0: d111 bne.n 80beae6 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM; 80beac2: 69bb ldr r3, [r7, #24] 80beac4: 015a lsls r2, r3, #5 80beac6: 69fb ldr r3, [r7, #28] 80beac8: 4413 add r3, r2 80beaca: f503 6310 add.w r3, r3, #2304 ; 0x900 80beace: 4619 mov r1, r3 80bead0: 69bb ldr r3, [r7, #24] 80bead2: 015a lsls r2, r3, #5 80bead4: 69fb ldr r3, [r7, #28] 80bead6: 4413 add r3, r2 80bead8: f503 6310 add.w r3, r3, #2304 ; 0x900 80beadc: 681b ldr r3, [r3, #0] 80beade: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80beae2: 600b str r3, [r1, #0] 80beae4: e010 b.n 80beb08 } else { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; 80beae6: 69bb ldr r3, [r7, #24] 80beae8: 015a lsls r2, r3, #5 80beaea: 69fb ldr r3, [r7, #28] 80beaec: 4413 add r3, r2 80beaee: f503 6310 add.w r3, r3, #2304 ; 0x900 80beaf2: 4619 mov r1, r3 80beaf4: 69bb ldr r3, [r7, #24] 80beaf6: 015a lsls r2, r3, #5 80beaf8: 69fb ldr r3, [r7, #28] 80beafa: 4413 add r3, r2 80beafc: f503 6310 add.w r3, r3, #2304 ; 0x900 80beb00: 681b ldr r3, [r3, #0] 80beb02: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80beb06: 600b str r3, [r1, #0] } } /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80beb08: 69bb ldr r3, [r7, #24] 80beb0a: 015a lsls r2, r3, #5 80beb0c: 69fb ldr r3, [r7, #28] 80beb0e: 4413 add r3, r2 80beb10: f503 6310 add.w r3, r3, #2304 ; 0x900 80beb14: 4619 mov r1, r3 80beb16: 69bb ldr r3, [r7, #24] 80beb18: 015a lsls r2, r3, #5 80beb1a: 69fb ldr r3, [r7, #28] 80beb1c: 4413 add r3, r2 80beb1e: f503 6310 add.w r3, r3, #2304 ; 0x900 80beb22: 681b ldr r3, [r3, #0] 80beb24: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80beb28: 600b str r3, [r1, #0] 80beb2a: e13e b.n 80bedaa } else { /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80beb2c: 69bb ldr r3, [r7, #24] 80beb2e: 015a lsls r2, r3, #5 80beb30: 69fb ldr r3, [r7, #28] 80beb32: 4413 add r3, r2 80beb34: f503 6310 add.w r3, r3, #2304 ; 0x900 80beb38: 4619 mov r1, r3 80beb3a: 69bb ldr r3, [r7, #24] 80beb3c: 015a lsls r2, r3, #5 80beb3e: 69fb ldr r3, [r7, #28] 80beb40: 4413 add r3, r2 80beb42: f503 6310 add.w r3, r3, #2304 ; 0x900 80beb46: 681b ldr r3, [r3, #0] 80beb48: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80beb4c: 600b str r3, [r1, #0] if (ep->type != EP_TYPE_ISOC) 80beb4e: 68bb ldr r3, [r7, #8] 80beb50: 78db ldrb r3, [r3, #3] 80beb52: 2b01 cmp r3, #1 80beb54: d016 beq.n 80beb84 { /* Enable the Tx FIFO Empty Interrupt for this EP */ if (ep->xfer_len > 0U) 80beb56: 68bb ldr r3, [r7, #8] 80beb58: 695b ldr r3, [r3, #20] 80beb5a: 2b00 cmp r3, #0 80beb5c: f000 8125 beq.w 80bedaa { USBx_DEVICE->DIEPEMPMSK |= 1UL << (ep->num & EP_ADDR_MSK); 80beb60: 69fb ldr r3, [r7, #28] 80beb62: f503 6300 add.w r3, r3, #2048 ; 0x800 80beb66: 4618 mov r0, r3 80beb68: 69fb ldr r3, [r7, #28] 80beb6a: f503 6300 add.w r3, r3, #2048 ; 0x800 80beb6e: 6b5a ldr r2, [r3, #52] ; 0x34 80beb70: 68bb ldr r3, [r7, #8] 80beb72: 781b ldrb r3, [r3, #0] 80beb74: f003 030f and.w r3, r3, #15 80beb78: 2101 movs r1, #1 80beb7a: fa01 f303 lsl.w r3, r1, r3 80beb7e: 4313 orrs r3, r2 80beb80: 6343 str r3, [r0, #52] ; 0x34 80beb82: e112 b.n 80bedaa } } else { if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 80beb84: 69fb ldr r3, [r7, #28] 80beb86: f503 6300 add.w r3, r3, #2048 ; 0x800 80beb8a: 689b ldr r3, [r3, #8] 80beb8c: f403 7380 and.w r3, r3, #256 ; 0x100 80beb90: 2b00 cmp r3, #0 80beb92: d111 bne.n 80bebb8 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SODDFRM; 80beb94: 69bb ldr r3, [r7, #24] 80beb96: 015a lsls r2, r3, #5 80beb98: 69fb ldr r3, [r7, #28] 80beb9a: 4413 add r3, r2 80beb9c: f503 6310 add.w r3, r3, #2304 ; 0x900 80beba0: 4619 mov r1, r3 80beba2: 69bb ldr r3, [r7, #24] 80beba4: 015a lsls r2, r3, #5 80beba6: 69fb ldr r3, [r7, #28] 80beba8: 4413 add r3, r2 80bebaa: f503 6310 add.w r3, r3, #2304 ; 0x900 80bebae: 681b ldr r3, [r3, #0] 80bebb0: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80bebb4: 600b str r3, [r1, #0] 80bebb6: e010 b.n 80bebda } else { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; 80bebb8: 69bb ldr r3, [r7, #24] 80bebba: 015a lsls r2, r3, #5 80bebbc: 69fb ldr r3, [r7, #28] 80bebbe: 4413 add r3, r2 80bebc0: f503 6310 add.w r3, r3, #2304 ; 0x900 80bebc4: 4619 mov r1, r3 80bebc6: 69bb ldr r3, [r7, #24] 80bebc8: 015a lsls r2, r3, #5 80bebca: 69fb ldr r3, [r7, #28] 80bebcc: 4413 add r3, r2 80bebce: f503 6310 add.w r3, r3, #2304 ; 0x900 80bebd2: 681b ldr r3, [r3, #0] 80bebd4: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bebd8: 600b str r3, [r1, #0] } (void)USB_WritePacket(USBx, ep->xfer_buff, ep->num, (uint16_t)ep->xfer_len, dma); 80bebda: 68bb ldr r3, [r7, #8] 80bebdc: 68d9 ldr r1, [r3, #12] 80bebde: 68bb ldr r3, [r7, #8] 80bebe0: 781a ldrb r2, [r3, #0] 80bebe2: 68bb ldr r3, [r7, #8] 80bebe4: 695b ldr r3, [r3, #20] 80bebe6: b298 uxth r0, r3 80bebe8: 79fb ldrb r3, [r7, #7] 80bebea: 9300 str r3, [sp, #0] 80bebec: 4603 mov r3, r0 80bebee: 68f8 ldr r0, [r7, #12] 80bebf0: f000 fa48 bl 80bf084 80bebf4: e0d9 b.n 80bedaa 80bebf6: bf00 nop 80bebf8: e007ffff .word 0xe007ffff 80bebfc: fff80000 .word 0xfff80000 80bec00: 1ff80000 .word 0x1ff80000 { /* Program the transfer size and packet count as follows: * pktcnt = N * xfersize = N * maxpacket */ USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_XFRSIZ); 80bec04: 69bb ldr r3, [r7, #24] 80bec06: 015a lsls r2, r3, #5 80bec08: 69fb ldr r3, [r7, #28] 80bec0a: 4413 add r3, r2 80bec0c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec10: 4619 mov r1, r3 80bec12: 69bb ldr r3, [r7, #24] 80bec14: 015a lsls r2, r3, #5 80bec16: 69fb ldr r3, [r7, #28] 80bec18: 4413 add r3, r2 80bec1a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec1e: 691a ldr r2, [r3, #16] 80bec20: 4b64 ldr r3, [pc, #400] ; (80bedb4 ) 80bec22: 4013 ands r3, r2 80bec24: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 80bec26: 69bb ldr r3, [r7, #24] 80bec28: 015a lsls r2, r3, #5 80bec2a: 69fb ldr r3, [r7, #28] 80bec2c: 4413 add r3, r2 80bec2e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec32: 4619 mov r1, r3 80bec34: 69bb ldr r3, [r7, #24] 80bec36: 015a lsls r2, r3, #5 80bec38: 69fb ldr r3, [r7, #28] 80bec3a: 4413 add r3, r2 80bec3c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec40: 691a ldr r2, [r3, #16] 80bec42: 4b5d ldr r3, [pc, #372] ; (80bedb8 ) 80bec44: 4013 ands r3, r2 80bec46: 610b str r3, [r1, #16] if (ep->xfer_len == 0U) 80bec48: 68bb ldr r3, [r7, #8] 80bec4a: 695b ldr r3, [r3, #20] 80bec4c: 2b00 cmp r3, #0 80bec4e: d125 bne.n 80bec9c { USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & ep->maxpacket); 80bec50: 69bb ldr r3, [r7, #24] 80bec52: 015a lsls r2, r3, #5 80bec54: 69fb ldr r3, [r7, #28] 80bec56: 4413 add r3, r2 80bec58: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec5c: 4619 mov r1, r3 80bec5e: 69bb ldr r3, [r7, #24] 80bec60: 015a lsls r2, r3, #5 80bec62: 69fb ldr r3, [r7, #28] 80bec64: 4413 add r3, r2 80bec66: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec6a: 691a ldr r2, [r3, #16] 80bec6c: 68bb ldr r3, [r7, #8] 80bec6e: 689b ldr r3, [r3, #8] 80bec70: f3c3 0312 ubfx r3, r3, #0, #19 80bec74: 4313 orrs r3, r2 80bec76: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 80bec78: 69bb ldr r3, [r7, #24] 80bec7a: 015a lsls r2, r3, #5 80bec7c: 69fb ldr r3, [r7, #28] 80bec7e: 4413 add r3, r2 80bec80: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec84: 4619 mov r1, r3 80bec86: 69bb ldr r3, [r7, #24] 80bec88: 015a lsls r2, r3, #5 80bec8a: 69fb ldr r3, [r7, #28] 80bec8c: 4413 add r3, r2 80bec8e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bec92: 691b ldr r3, [r3, #16] 80bec94: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80bec98: 610b str r3, [r1, #16] 80bec9a: e035 b.n 80bed08 } else { pktcnt = (uint16_t)((ep->xfer_len + ep->maxpacket - 1U) / ep->maxpacket); 80bec9c: 68bb ldr r3, [r7, #8] 80bec9e: 695a ldr r2, [r3, #20] 80beca0: 68bb ldr r3, [r7, #8] 80beca2: 689b ldr r3, [r3, #8] 80beca4: 4413 add r3, r2 80beca6: 1e5a subs r2, r3, #1 80beca8: 68bb ldr r3, [r7, #8] 80becaa: 689b ldr r3, [r3, #8] 80becac: fbb2 f3f3 udiv r3, r2, r3 80becb0: 82fb strh r3, [r7, #22] USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_PKTCNT & ((uint32_t)pktcnt << 19); 80becb2: 69bb ldr r3, [r7, #24] 80becb4: 015a lsls r2, r3, #5 80becb6: 69fb ldr r3, [r7, #28] 80becb8: 4413 add r3, r2 80becba: f503 6330 add.w r3, r3, #2816 ; 0xb00 80becbe: 4618 mov r0, r3 80becc0: 69bb ldr r3, [r7, #24] 80becc2: 015a lsls r2, r3, #5 80becc4: 69fb ldr r3, [r7, #28] 80becc6: 4413 add r3, r2 80becc8: f503 6330 add.w r3, r3, #2816 ; 0xb00 80beccc: 691a ldr r2, [r3, #16] 80becce: 8afb ldrh r3, [r7, #22] 80becd0: 04d9 lsls r1, r3, #19 80becd2: 4b3a ldr r3, [pc, #232] ; (80bedbc ) 80becd4: 400b ands r3, r1 80becd6: 4313 orrs r3, r2 80becd8: 6103 str r3, [r0, #16] USBx_OUTEP(epnum)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket * pktcnt); 80becda: 69bb ldr r3, [r7, #24] 80becdc: 015a lsls r2, r3, #5 80becde: 69fb ldr r3, [r7, #28] 80bece0: 4413 add r3, r2 80bece2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bece6: 4618 mov r0, r3 80bece8: 69bb ldr r3, [r7, #24] 80becea: 015a lsls r2, r3, #5 80becec: 69fb ldr r3, [r7, #28] 80becee: 4413 add r3, r2 80becf0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80becf4: 691a ldr r2, [r3, #16] 80becf6: 68bb ldr r3, [r7, #8] 80becf8: 689b ldr r3, [r3, #8] 80becfa: 8af9 ldrh r1, [r7, #22] 80becfc: fb01 f303 mul.w r3, r1, r3 80bed00: f3c3 0312 ubfx r3, r3, #0, #19 80bed04: 4313 orrs r3, r2 80bed06: 6103 str r3, [r0, #16] } if (dma == 1U) 80bed08: 79fb ldrb r3, [r7, #7] 80bed0a: 2b01 cmp r3, #1 80bed0c: d10d bne.n 80bed2a { if ((uint32_t)ep->xfer_buff != 0U) 80bed0e: 68bb ldr r3, [r7, #8] 80bed10: 68db ldr r3, [r3, #12] 80bed12: 2b00 cmp r3, #0 80bed14: d009 beq.n 80bed2a { USBx_OUTEP(epnum)->DOEPDMA = (uint32_t)(ep->xfer_buff); 80bed16: 69bb ldr r3, [r7, #24] 80bed18: 015a lsls r2, r3, #5 80bed1a: 69fb ldr r3, [r7, #28] 80bed1c: 4413 add r3, r2 80bed1e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bed22: 461a mov r2, r3 80bed24: 68bb ldr r3, [r7, #8] 80bed26: 68db ldr r3, [r3, #12] 80bed28: 6153 str r3, [r2, #20] } } if (ep->type == EP_TYPE_ISOC) 80bed2a: 68bb ldr r3, [r7, #8] 80bed2c: 78db ldrb r3, [r3, #3] 80bed2e: 2b01 cmp r3, #1 80bed30: d12a bne.n 80bed88 { if ((USBx_DEVICE->DSTS & (1U << 8)) == 0U) 80bed32: 69fb ldr r3, [r7, #28] 80bed34: f503 6300 add.w r3, r3, #2048 ; 0x800 80bed38: 689b ldr r3, [r3, #8] 80bed3a: f403 7380 and.w r3, r3, #256 ; 0x100 80bed3e: 2b00 cmp r3, #0 80bed40: d111 bne.n 80bed66 { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SODDFRM; 80bed42: 69bb ldr r3, [r7, #24] 80bed44: 015a lsls r2, r3, #5 80bed46: 69fb ldr r3, [r7, #28] 80bed48: 4413 add r3, r2 80bed4a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bed4e: 4619 mov r1, r3 80bed50: 69bb ldr r3, [r7, #24] 80bed52: 015a lsls r2, r3, #5 80bed54: 69fb ldr r3, [r7, #28] 80bed56: 4413 add r3, r2 80bed58: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bed5c: 681b ldr r3, [r3, #0] 80bed5e: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80bed62: 600b str r3, [r1, #0] 80bed64: e010 b.n 80bed88 } else { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; 80bed66: 69bb ldr r3, [r7, #24] 80bed68: 015a lsls r2, r3, #5 80bed6a: 69fb ldr r3, [r7, #28] 80bed6c: 4413 add r3, r2 80bed6e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bed72: 4619 mov r1, r3 80bed74: 69bb ldr r3, [r7, #24] 80bed76: 015a lsls r2, r3, #5 80bed78: 69fb ldr r3, [r7, #28] 80bed7a: 4413 add r3, r2 80bed7c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bed80: 681b ldr r3, [r3, #0] 80bed82: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bed86: 600b str r3, [r1, #0] } } /* EP enable */ USBx_OUTEP(epnum)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA); 80bed88: 69bb ldr r3, [r7, #24] 80bed8a: 015a lsls r2, r3, #5 80bed8c: 69fb ldr r3, [r7, #28] 80bed8e: 4413 add r3, r2 80bed90: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bed94: 4619 mov r1, r3 80bed96: 69bb ldr r3, [r7, #24] 80bed98: 015a lsls r2, r3, #5 80bed9a: 69fb ldr r3, [r7, #28] 80bed9c: 4413 add r3, r2 80bed9e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80beda2: 681b ldr r3, [r3, #0] 80beda4: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80beda8: 600b str r3, [r1, #0] } return HAL_OK; 80bedaa: 2300 movs r3, #0 } 80bedac: 4618 mov r0, r3 80bedae: 3720 adds r7, #32 80bedb0: 46bd mov sp, r7 80bedb2: bd80 pop {r7, pc} 80bedb4: fff80000 .word 0xfff80000 80bedb8: e007ffff .word 0xe007ffff 80bedbc: 1ff80000 .word 0x1ff80000 080bedc0 : * 0 : DMA feature not used * 1 : DMA feature used * @retval HAL status */ HAL_StatusTypeDef USB_EP0StartXfer(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep, uint8_t dma) { 80bedc0: b480 push {r7} 80bedc2: b087 sub sp, #28 80bedc4: af00 add r7, sp, #0 80bedc6: 60f8 str r0, [r7, #12] 80bedc8: 60b9 str r1, [r7, #8] 80bedca: 4613 mov r3, r2 80bedcc: 71fb strb r3, [r7, #7] uint32_t USBx_BASE = (uint32_t)USBx; 80bedce: 68fb ldr r3, [r7, #12] 80bedd0: 617b str r3, [r7, #20] uint32_t epnum = (uint32_t)ep->num; 80bedd2: 68bb ldr r3, [r7, #8] 80bedd4: 781b ldrb r3, [r3, #0] 80bedd6: 613b str r3, [r7, #16] /* IN endpoint */ if (ep->is_in == 1U) 80bedd8: 68bb ldr r3, [r7, #8] 80bedda: 785b ldrb r3, [r3, #1] 80beddc: 2b01 cmp r3, #1 80bedde: f040 80d4 bne.w 80bef8a { /* Zero Length Packet? */ if (ep->xfer_len == 0U) 80bede2: 68bb ldr r3, [r7, #8] 80bede4: 695b ldr r3, [r3, #20] 80bede6: 2b00 cmp r3, #0 80bede8: d133 bne.n 80bee52 { USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80bedea: 693b ldr r3, [r7, #16] 80bedec: 015a lsls r2, r3, #5 80bedee: 697b ldr r3, [r7, #20] 80bedf0: 4413 add r3, r2 80bedf2: f503 6310 add.w r3, r3, #2304 ; 0x900 80bedf6: 4619 mov r1, r3 80bedf8: 693b ldr r3, [r7, #16] 80bedfa: 015a lsls r2, r3, #5 80bedfc: 697b ldr r3, [r7, #20] 80bedfe: 4413 add r3, r2 80bee00: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee04: 691a ldr r2, [r3, #16] 80bee06: 4b9d ldr r3, [pc, #628] ; (80bf07c ) 80bee08: 4013 ands r3, r2 80bee0a: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 80bee0c: 693b ldr r3, [r7, #16] 80bee0e: 015a lsls r2, r3, #5 80bee10: 697b ldr r3, [r7, #20] 80bee12: 4413 add r3, r2 80bee14: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee18: 4619 mov r1, r3 80bee1a: 693b ldr r3, [r7, #16] 80bee1c: 015a lsls r2, r3, #5 80bee1e: 697b ldr r3, [r7, #20] 80bee20: 4413 add r3, r2 80bee22: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee26: 691b ldr r3, [r3, #16] 80bee28: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80bee2c: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 80bee2e: 693b ldr r3, [r7, #16] 80bee30: 015a lsls r2, r3, #5 80bee32: 697b ldr r3, [r7, #20] 80bee34: 4413 add r3, r2 80bee36: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee3a: 4619 mov r1, r3 80bee3c: 693b ldr r3, [r7, #16] 80bee3e: 015a lsls r2, r3, #5 80bee40: 697b ldr r3, [r7, #20] 80bee42: 4413 add r3, r2 80bee44: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee48: 691a ldr r2, [r3, #16] 80bee4a: 4b8d ldr r3, [pc, #564] ; (80bf080 ) 80bee4c: 4013 ands r3, r2 80bee4e: 610b str r3, [r1, #16] 80bee50: e050 b.n 80beef4 /* Program the transfer size and packet count * as follows: xfersize = N * maxpacket + * short_packet pktcnt = N + (short_packet * exist ? 1 : 0) */ USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_XFRSIZ); 80bee52: 693b ldr r3, [r7, #16] 80bee54: 015a lsls r2, r3, #5 80bee56: 697b ldr r3, [r7, #20] 80bee58: 4413 add r3, r2 80bee5a: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee5e: 4619 mov r1, r3 80bee60: 693b ldr r3, [r7, #16] 80bee62: 015a lsls r2, r3, #5 80bee64: 697b ldr r3, [r7, #20] 80bee66: 4413 add r3, r2 80bee68: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee6c: 691a ldr r2, [r3, #16] 80bee6e: 4b84 ldr r3, [pc, #528] ; (80bf080 ) 80bee70: 4013 ands r3, r2 80bee72: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ &= ~(USB_OTG_DIEPTSIZ_PKTCNT); 80bee74: 693b ldr r3, [r7, #16] 80bee76: 015a lsls r2, r3, #5 80bee78: 697b ldr r3, [r7, #20] 80bee7a: 4413 add r3, r2 80bee7c: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee80: 4619 mov r1, r3 80bee82: 693b ldr r3, [r7, #16] 80bee84: 015a lsls r2, r3, #5 80bee86: 697b ldr r3, [r7, #20] 80bee88: 4413 add r3, r2 80bee8a: f503 6310 add.w r3, r3, #2304 ; 0x900 80bee8e: 691a ldr r2, [r3, #16] 80bee90: 4b7a ldr r3, [pc, #488] ; (80bf07c ) 80bee92: 4013 ands r3, r2 80bee94: 610b str r3, [r1, #16] if (ep->xfer_len > ep->maxpacket) 80bee96: 68bb ldr r3, [r7, #8] 80bee98: 695a ldr r2, [r3, #20] 80bee9a: 68bb ldr r3, [r7, #8] 80bee9c: 689b ldr r3, [r3, #8] 80bee9e: 429a cmp r2, r3 80beea0: d903 bls.n 80beeaa { ep->xfer_len = ep->maxpacket; 80beea2: 68bb ldr r3, [r7, #8] 80beea4: 689a ldr r2, [r3, #8] 80beea6: 68bb ldr r3, [r7, #8] 80beea8: 615a str r2, [r3, #20] } USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_PKTCNT & (1U << 19)); 80beeaa: 693b ldr r3, [r7, #16] 80beeac: 015a lsls r2, r3, #5 80beeae: 697b ldr r3, [r7, #20] 80beeb0: 4413 add r3, r2 80beeb2: f503 6310 add.w r3, r3, #2304 ; 0x900 80beeb6: 4619 mov r1, r3 80beeb8: 693b ldr r3, [r7, #16] 80beeba: 015a lsls r2, r3, #5 80beebc: 697b ldr r3, [r7, #20] 80beebe: 4413 add r3, r2 80beec0: f503 6310 add.w r3, r3, #2304 ; 0x900 80beec4: 691b ldr r3, [r3, #16] 80beec6: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80beeca: 610b str r3, [r1, #16] USBx_INEP(epnum)->DIEPTSIZ |= (USB_OTG_DIEPTSIZ_XFRSIZ & ep->xfer_len); 80beecc: 693b ldr r3, [r7, #16] 80beece: 015a lsls r2, r3, #5 80beed0: 697b ldr r3, [r7, #20] 80beed2: 4413 add r3, r2 80beed4: f503 6310 add.w r3, r3, #2304 ; 0x900 80beed8: 4619 mov r1, r3 80beeda: 693b ldr r3, [r7, #16] 80beedc: 015a lsls r2, r3, #5 80beede: 697b ldr r3, [r7, #20] 80beee0: 4413 add r3, r2 80beee2: f503 6310 add.w r3, r3, #2304 ; 0x900 80beee6: 691a ldr r2, [r3, #16] 80beee8: 68bb ldr r3, [r7, #8] 80beeea: 695b ldr r3, [r3, #20] 80beeec: f3c3 0312 ubfx r3, r3, #0, #19 80beef0: 4313 orrs r3, r2 80beef2: 610b str r3, [r1, #16] } if (dma == 1U) 80beef4: 79fb ldrb r3, [r7, #7] 80beef6: 2b01 cmp r3, #1 80beef8: d11f bne.n 80bef3a { if ((uint32_t)ep->dma_addr != 0U) 80beefa: 68bb ldr r3, [r7, #8] 80beefc: 691b ldr r3, [r3, #16] 80beefe: 2b00 cmp r3, #0 80bef00: d009 beq.n 80bef16 { USBx_INEP(epnum)->DIEPDMA = (uint32_t)(ep->dma_addr); 80bef02: 693b ldr r3, [r7, #16] 80bef04: 015a lsls r2, r3, #5 80bef06: 697b ldr r3, [r7, #20] 80bef08: 4413 add r3, r2 80bef0a: f503 6310 add.w r3, r3, #2304 ; 0x900 80bef0e: 461a mov r2, r3 80bef10: 68bb ldr r3, [r7, #8] 80bef12: 691b ldr r3, [r3, #16] 80bef14: 6153 str r3, [r2, #20] } /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80bef16: 693b ldr r3, [r7, #16] 80bef18: 015a lsls r2, r3, #5 80bef1a: 697b ldr r3, [r7, #20] 80bef1c: 4413 add r3, r2 80bef1e: f503 6310 add.w r3, r3, #2304 ; 0x900 80bef22: 4619 mov r1, r3 80bef24: 693b ldr r3, [r7, #16] 80bef26: 015a lsls r2, r3, #5 80bef28: 697b ldr r3, [r7, #20] 80bef2a: 4413 add r3, r2 80bef2c: f503 6310 add.w r3, r3, #2304 ; 0x900 80bef30: 681b ldr r3, [r3, #0] 80bef32: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80bef36: 600b str r3, [r1, #0] 80bef38: e098 b.n 80bf06c } else { /* EP enable, IN data in FIFO */ USBx_INEP(epnum)->DIEPCTL |= (USB_OTG_DIEPCTL_CNAK | USB_OTG_DIEPCTL_EPENA); 80bef3a: 693b ldr r3, [r7, #16] 80bef3c: 015a lsls r2, r3, #5 80bef3e: 697b ldr r3, [r7, #20] 80bef40: 4413 add r3, r2 80bef42: f503 6310 add.w r3, r3, #2304 ; 0x900 80bef46: 4619 mov r1, r3 80bef48: 693b ldr r3, [r7, #16] 80bef4a: 015a lsls r2, r3, #5 80bef4c: 697b ldr r3, [r7, #20] 80bef4e: 4413 add r3, r2 80bef50: f503 6310 add.w r3, r3, #2304 ; 0x900 80bef54: 681b ldr r3, [r3, #0] 80bef56: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80bef5a: 600b str r3, [r1, #0] /* Enable the Tx FIFO Empty Interrupt for this EP */ if (ep->xfer_len > 0U) 80bef5c: 68bb ldr r3, [r7, #8] 80bef5e: 695b ldr r3, [r3, #20] 80bef60: 2b00 cmp r3, #0 80bef62: f000 8083 beq.w 80bf06c { USBx_DEVICE->DIEPEMPMSK |= 1UL << (ep->num & EP_ADDR_MSK); 80bef66: 697b ldr r3, [r7, #20] 80bef68: f503 6300 add.w r3, r3, #2048 ; 0x800 80bef6c: 4618 mov r0, r3 80bef6e: 697b ldr r3, [r7, #20] 80bef70: f503 6300 add.w r3, r3, #2048 ; 0x800 80bef74: 6b5a ldr r2, [r3, #52] ; 0x34 80bef76: 68bb ldr r3, [r7, #8] 80bef78: 781b ldrb r3, [r3, #0] 80bef7a: f003 030f and.w r3, r3, #15 80bef7e: 2101 movs r1, #1 80bef80: fa01 f303 lsl.w r3, r1, r3 80bef84: 4313 orrs r3, r2 80bef86: 6343 str r3, [r0, #52] ; 0x34 80bef88: e070 b.n 80bf06c { /* Program the transfer size and packet count as follows: * pktcnt = N * xfersize = N * maxpacket */ USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_XFRSIZ); 80bef8a: 693b ldr r3, [r7, #16] 80bef8c: 015a lsls r2, r3, #5 80bef8e: 697b ldr r3, [r7, #20] 80bef90: 4413 add r3, r2 80bef92: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bef96: 4619 mov r1, r3 80bef98: 693b ldr r3, [r7, #16] 80bef9a: 015a lsls r2, r3, #5 80bef9c: 697b ldr r3, [r7, #20] 80bef9e: 4413 add r3, r2 80befa0: f503 6330 add.w r3, r3, #2816 ; 0xb00 80befa4: 691a ldr r2, [r3, #16] 80befa6: 4b36 ldr r3, [pc, #216] ; (80bf080 ) 80befa8: 4013 ands r3, r2 80befaa: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ &= ~(USB_OTG_DOEPTSIZ_PKTCNT); 80befac: 693b ldr r3, [r7, #16] 80befae: 015a lsls r2, r3, #5 80befb0: 697b ldr r3, [r7, #20] 80befb2: 4413 add r3, r2 80befb4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80befb8: 4619 mov r1, r3 80befba: 693b ldr r3, [r7, #16] 80befbc: 015a lsls r2, r3, #5 80befbe: 697b ldr r3, [r7, #20] 80befc0: 4413 add r3, r2 80befc2: f503 6330 add.w r3, r3, #2816 ; 0xb00 80befc6: 691a ldr r2, [r3, #16] 80befc8: 4b2c ldr r3, [pc, #176] ; (80bf07c ) 80befca: 4013 ands r3, r2 80befcc: 610b str r3, [r1, #16] if (ep->xfer_len > 0U) 80befce: 68bb ldr r3, [r7, #8] 80befd0: 695b ldr r3, [r3, #20] 80befd2: 2b00 cmp r3, #0 80befd4: d003 beq.n 80befde { ep->xfer_len = ep->maxpacket; 80befd6: 68bb ldr r3, [r7, #8] 80befd8: 689a ldr r2, [r3, #8] 80befda: 68bb ldr r3, [r7, #8] 80befdc: 615a str r2, [r3, #20] } USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 80befde: 693b ldr r3, [r7, #16] 80befe0: 015a lsls r2, r3, #5 80befe2: 697b ldr r3, [r7, #20] 80befe4: 4413 add r3, r2 80befe6: f503 6330 add.w r3, r3, #2816 ; 0xb00 80befea: 4619 mov r1, r3 80befec: 693b ldr r3, [r7, #16] 80befee: 015a lsls r2, r3, #5 80beff0: 697b ldr r3, [r7, #20] 80beff2: 4413 add r3, r2 80beff4: f503 6330 add.w r3, r3, #2816 ; 0xb00 80beff8: 691b ldr r3, [r3, #16] 80beffa: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80beffe: 610b str r3, [r1, #16] USBx_OUTEP(epnum)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_XFRSIZ & (ep->maxpacket)); 80bf000: 693b ldr r3, [r7, #16] 80bf002: 015a lsls r2, r3, #5 80bf004: 697b ldr r3, [r7, #20] 80bf006: 4413 add r3, r2 80bf008: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf00c: 4619 mov r1, r3 80bf00e: 693b ldr r3, [r7, #16] 80bf010: 015a lsls r2, r3, #5 80bf012: 697b ldr r3, [r7, #20] 80bf014: 4413 add r3, r2 80bf016: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf01a: 691a ldr r2, [r3, #16] 80bf01c: 68bb ldr r3, [r7, #8] 80bf01e: 689b ldr r3, [r3, #8] 80bf020: f3c3 0312 ubfx r3, r3, #0, #19 80bf024: 4313 orrs r3, r2 80bf026: 610b str r3, [r1, #16] if (dma == 1U) 80bf028: 79fb ldrb r3, [r7, #7] 80bf02a: 2b01 cmp r3, #1 80bf02c: d10d bne.n 80bf04a { if ((uint32_t)ep->xfer_buff != 0U) 80bf02e: 68bb ldr r3, [r7, #8] 80bf030: 68db ldr r3, [r3, #12] 80bf032: 2b00 cmp r3, #0 80bf034: d009 beq.n 80bf04a { USBx_OUTEP(epnum)->DOEPDMA = (uint32_t)(ep->xfer_buff); 80bf036: 693b ldr r3, [r7, #16] 80bf038: 015a lsls r2, r3, #5 80bf03a: 697b ldr r3, [r7, #20] 80bf03c: 4413 add r3, r2 80bf03e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf042: 461a mov r2, r3 80bf044: 68bb ldr r3, [r7, #8] 80bf046: 68db ldr r3, [r3, #12] 80bf048: 6153 str r3, [r2, #20] } } /* EP enable */ USBx_OUTEP(epnum)->DOEPCTL |= (USB_OTG_DOEPCTL_CNAK | USB_OTG_DOEPCTL_EPENA); 80bf04a: 693b ldr r3, [r7, #16] 80bf04c: 015a lsls r2, r3, #5 80bf04e: 697b ldr r3, [r7, #20] 80bf050: 4413 add r3, r2 80bf052: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf056: 4619 mov r1, r3 80bf058: 693b ldr r3, [r7, #16] 80bf05a: 015a lsls r2, r3, #5 80bf05c: 697b ldr r3, [r7, #20] 80bf05e: 4413 add r3, r2 80bf060: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf064: 681b ldr r3, [r3, #0] 80bf066: f043 4304 orr.w r3, r3, #2214592512 ; 0x84000000 80bf06a: 600b str r3, [r1, #0] } return HAL_OK; 80bf06c: 2300 movs r3, #0 } 80bf06e: 4618 mov r0, r3 80bf070: 371c adds r7, #28 80bf072: 46bd mov sp, r7 80bf074: f85d 7b04 ldr.w r7, [sp], #4 80bf078: 4770 bx lr 80bf07a: bf00 nop 80bf07c: e007ffff .word 0xe007ffff 80bf080: fff80000 .word 0xfff80000 080bf084 : * 1 : DMA feature used * @retval HAL status */ HAL_StatusTypeDef USB_WritePacket(USB_OTG_GlobalTypeDef *USBx, uint8_t *src, uint8_t ch_ep_num, uint16_t len, uint8_t dma) { 80bf084: b480 push {r7} 80bf086: b089 sub sp, #36 ; 0x24 80bf088: af00 add r7, sp, #0 80bf08a: 60f8 str r0, [r7, #12] 80bf08c: 60b9 str r1, [r7, #8] 80bf08e: 4611 mov r1, r2 80bf090: 461a mov r2, r3 80bf092: 460b mov r3, r1 80bf094: 71fb strb r3, [r7, #7] 80bf096: 4613 mov r3, r2 80bf098: 80bb strh r3, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80bf09a: 68fb ldr r3, [r7, #12] 80bf09c: 617b str r3, [r7, #20] uint8_t *pSrc = src; 80bf09e: 68bb ldr r3, [r7, #8] 80bf0a0: 61fb str r3, [r7, #28] uint32_t count32b; uint32_t i; if (dma == 0U) 80bf0a2: f897 3028 ldrb.w r3, [r7, #40] ; 0x28 80bf0a6: 2b00 cmp r3, #0 80bf0a8: d123 bne.n 80bf0f2 { count32b = ((uint32_t)len + 3U) / 4U; 80bf0aa: 88bb ldrh r3, [r7, #4] 80bf0ac: 3303 adds r3, #3 80bf0ae: 089b lsrs r3, r3, #2 80bf0b0: 613b str r3, [r7, #16] for (i = 0U; i < count32b; i++) 80bf0b2: 2300 movs r3, #0 80bf0b4: 61bb str r3, [r7, #24] 80bf0b6: e018 b.n 80bf0ea { USBx_DFIFO((uint32_t)ch_ep_num) = __UNALIGNED_UINT32_READ(pSrc); 80bf0b8: 79fb ldrb r3, [r7, #7] 80bf0ba: 031a lsls r2, r3, #12 80bf0bc: 697b ldr r3, [r7, #20] 80bf0be: 4413 add r3, r2 80bf0c0: f503 5380 add.w r3, r3, #4096 ; 0x1000 80bf0c4: 461a mov r2, r3 80bf0c6: 69fb ldr r3, [r7, #28] 80bf0c8: 681b ldr r3, [r3, #0] 80bf0ca: 6013 str r3, [r2, #0] pSrc++; 80bf0cc: 69fb ldr r3, [r7, #28] 80bf0ce: 3301 adds r3, #1 80bf0d0: 61fb str r3, [r7, #28] pSrc++; 80bf0d2: 69fb ldr r3, [r7, #28] 80bf0d4: 3301 adds r3, #1 80bf0d6: 61fb str r3, [r7, #28] pSrc++; 80bf0d8: 69fb ldr r3, [r7, #28] 80bf0da: 3301 adds r3, #1 80bf0dc: 61fb str r3, [r7, #28] pSrc++; 80bf0de: 69fb ldr r3, [r7, #28] 80bf0e0: 3301 adds r3, #1 80bf0e2: 61fb str r3, [r7, #28] for (i = 0U; i < count32b; i++) 80bf0e4: 69bb ldr r3, [r7, #24] 80bf0e6: 3301 adds r3, #1 80bf0e8: 61bb str r3, [r7, #24] 80bf0ea: 69ba ldr r2, [r7, #24] 80bf0ec: 693b ldr r3, [r7, #16] 80bf0ee: 429a cmp r2, r3 80bf0f0: d3e2 bcc.n 80bf0b8 } } return HAL_OK; 80bf0f2: 2300 movs r3, #0 } 80bf0f4: 4618 mov r0, r3 80bf0f6: 3724 adds r7, #36 ; 0x24 80bf0f8: 46bd mov sp, r7 80bf0fa: f85d 7b04 ldr.w r7, [sp], #4 80bf0fe: 4770 bx lr 080bf100 : * @param dest source pointer * @param len Number of bytes to read * @retval pointer to destination buffer */ void *USB_ReadPacket(USB_OTG_GlobalTypeDef *USBx, uint8_t *dest, uint16_t len) { 80bf100: b480 push {r7} 80bf102: b08b sub sp, #44 ; 0x2c 80bf104: af00 add r7, sp, #0 80bf106: 60f8 str r0, [r7, #12] 80bf108: 60b9 str r1, [r7, #8] 80bf10a: 4613 mov r3, r2 80bf10c: 80fb strh r3, [r7, #6] uint32_t USBx_BASE = (uint32_t)USBx; 80bf10e: 68fb ldr r3, [r7, #12] 80bf110: 61bb str r3, [r7, #24] uint8_t *pDest = dest; 80bf112: 68bb ldr r3, [r7, #8] 80bf114: 627b str r3, [r7, #36] ; 0x24 uint32_t pData; uint32_t i; uint32_t count32b = (uint32_t)len >> 2U; 80bf116: 88fb ldrh r3, [r7, #6] 80bf118: 089b lsrs r3, r3, #2 80bf11a: b29b uxth r3, r3 80bf11c: 617b str r3, [r7, #20] uint16_t remaining_bytes = len % 4U; 80bf11e: 88fb ldrh r3, [r7, #6] 80bf120: f003 0303 and.w r3, r3, #3 80bf124: 83fb strh r3, [r7, #30] for (i = 0U; i < count32b; i++) 80bf126: 2300 movs r3, #0 80bf128: 623b str r3, [r7, #32] 80bf12a: e014 b.n 80bf156 { __UNALIGNED_UINT32_WRITE(pDest, USBx_DFIFO(0U)); 80bf12c: 69bb ldr r3, [r7, #24] 80bf12e: f503 5380 add.w r3, r3, #4096 ; 0x1000 80bf132: 681a ldr r2, [r3, #0] 80bf134: 6a7b ldr r3, [r7, #36] ; 0x24 80bf136: 601a str r2, [r3, #0] pDest++; 80bf138: 6a7b ldr r3, [r7, #36] ; 0x24 80bf13a: 3301 adds r3, #1 80bf13c: 627b str r3, [r7, #36] ; 0x24 pDest++; 80bf13e: 6a7b ldr r3, [r7, #36] ; 0x24 80bf140: 3301 adds r3, #1 80bf142: 627b str r3, [r7, #36] ; 0x24 pDest++; 80bf144: 6a7b ldr r3, [r7, #36] ; 0x24 80bf146: 3301 adds r3, #1 80bf148: 627b str r3, [r7, #36] ; 0x24 pDest++; 80bf14a: 6a7b ldr r3, [r7, #36] ; 0x24 80bf14c: 3301 adds r3, #1 80bf14e: 627b str r3, [r7, #36] ; 0x24 for (i = 0U; i < count32b; i++) 80bf150: 6a3b ldr r3, [r7, #32] 80bf152: 3301 adds r3, #1 80bf154: 623b str r3, [r7, #32] 80bf156: 6a3a ldr r2, [r7, #32] 80bf158: 697b ldr r3, [r7, #20] 80bf15a: 429a cmp r2, r3 80bf15c: d3e6 bcc.n 80bf12c } /* When Number of data is not word aligned, read the remaining byte */ if (remaining_bytes != 0U) 80bf15e: 8bfb ldrh r3, [r7, #30] 80bf160: 2b00 cmp r3, #0 80bf162: d01d beq.n 80bf1a0 { i = 0U; 80bf164: 2300 movs r3, #0 80bf166: 623b str r3, [r7, #32] __UNALIGNED_UINT32_WRITE(&pData, USBx_DFIFO(0U)); 80bf168: f107 0310 add.w r3, r7, #16 80bf16c: 69ba ldr r2, [r7, #24] 80bf16e: f502 5280 add.w r2, r2, #4096 ; 0x1000 80bf172: 6812 ldr r2, [r2, #0] 80bf174: 601a str r2, [r3, #0] do { *(uint8_t *)pDest = (uint8_t)(pData >> (8U * (uint8_t)(i))); 80bf176: 693a ldr r2, [r7, #16] 80bf178: 6a3b ldr r3, [r7, #32] 80bf17a: b2db uxtb r3, r3 80bf17c: 00db lsls r3, r3, #3 80bf17e: fa22 f303 lsr.w r3, r2, r3 80bf182: b2da uxtb r2, r3 80bf184: 6a7b ldr r3, [r7, #36] ; 0x24 80bf186: 701a strb r2, [r3, #0] i++; 80bf188: 6a3b ldr r3, [r7, #32] 80bf18a: 3301 adds r3, #1 80bf18c: 623b str r3, [r7, #32] pDest++; 80bf18e: 6a7b ldr r3, [r7, #36] ; 0x24 80bf190: 3301 adds r3, #1 80bf192: 627b str r3, [r7, #36] ; 0x24 remaining_bytes--; 80bf194: 8bfb ldrh r3, [r7, #30] 80bf196: 3b01 subs r3, #1 80bf198: 83fb strh r3, [r7, #30] } while (remaining_bytes != 0U); 80bf19a: 8bfb ldrh r3, [r7, #30] 80bf19c: 2b00 cmp r3, #0 80bf19e: d1ea bne.n 80bf176 } return ((void *)pDest); 80bf1a0: 6a7b ldr r3, [r7, #36] ; 0x24 } 80bf1a2: 4618 mov r0, r3 80bf1a4: 372c adds r7, #44 ; 0x2c 80bf1a6: 46bd mov sp, r7 80bf1a8: f85d 7b04 ldr.w r7, [sp], #4 80bf1ac: 4770 bx lr 080bf1ae : * @param USBx Selected device * @param ep pointer to endpoint structure * @retval HAL status */ HAL_StatusTypeDef USB_EPSetStall(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) { 80bf1ae: b480 push {r7} 80bf1b0: b085 sub sp, #20 80bf1b2: af00 add r7, sp, #0 80bf1b4: 6078 str r0, [r7, #4] 80bf1b6: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80bf1b8: 687b ldr r3, [r7, #4] 80bf1ba: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80bf1bc: 683b ldr r3, [r7, #0] 80bf1be: 781b ldrb r3, [r3, #0] 80bf1c0: 60bb str r3, [r7, #8] if (ep->is_in == 1U) 80bf1c2: 683b ldr r3, [r7, #0] 80bf1c4: 785b ldrb r3, [r3, #1] 80bf1c6: 2b01 cmp r3, #1 80bf1c8: d12e bne.n 80bf228 { if (((USBx_INEP(epnum)->DIEPCTL & USB_OTG_DIEPCTL_EPENA) == 0U) && (epnum != 0U)) 80bf1ca: 68bb ldr r3, [r7, #8] 80bf1cc: 015a lsls r2, r3, #5 80bf1ce: 68fb ldr r3, [r7, #12] 80bf1d0: 4413 add r3, r2 80bf1d2: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf1d6: 681b ldr r3, [r3, #0] 80bf1d8: 2b00 cmp r3, #0 80bf1da: db13 blt.n 80bf204 80bf1dc: 68bb ldr r3, [r7, #8] 80bf1de: 2b00 cmp r3, #0 80bf1e0: d010 beq.n 80bf204 { USBx_INEP(epnum)->DIEPCTL &= ~(USB_OTG_DIEPCTL_EPDIS); 80bf1e2: 68bb ldr r3, [r7, #8] 80bf1e4: 015a lsls r2, r3, #5 80bf1e6: 68fb ldr r3, [r7, #12] 80bf1e8: 4413 add r3, r2 80bf1ea: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf1ee: 4619 mov r1, r3 80bf1f0: 68bb ldr r3, [r7, #8] 80bf1f2: 015a lsls r2, r3, #5 80bf1f4: 68fb ldr r3, [r7, #12] 80bf1f6: 4413 add r3, r2 80bf1f8: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf1fc: 681b ldr r3, [r3, #0] 80bf1fe: f023 4380 bic.w r3, r3, #1073741824 ; 0x40000000 80bf202: 600b str r3, [r1, #0] } USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_STALL; 80bf204: 68bb ldr r3, [r7, #8] 80bf206: 015a lsls r2, r3, #5 80bf208: 68fb ldr r3, [r7, #12] 80bf20a: 4413 add r3, r2 80bf20c: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf210: 4619 mov r1, r3 80bf212: 68bb ldr r3, [r7, #8] 80bf214: 015a lsls r2, r3, #5 80bf216: 68fb ldr r3, [r7, #12] 80bf218: 4413 add r3, r2 80bf21a: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf21e: 681b ldr r3, [r3, #0] 80bf220: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 80bf224: 600b str r3, [r1, #0] 80bf226: e02d b.n 80bf284 } else { if (((USBx_OUTEP(epnum)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == 0U) && (epnum != 0U)) 80bf228: 68bb ldr r3, [r7, #8] 80bf22a: 015a lsls r2, r3, #5 80bf22c: 68fb ldr r3, [r7, #12] 80bf22e: 4413 add r3, r2 80bf230: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf234: 681b ldr r3, [r3, #0] 80bf236: 2b00 cmp r3, #0 80bf238: db13 blt.n 80bf262 80bf23a: 68bb ldr r3, [r7, #8] 80bf23c: 2b00 cmp r3, #0 80bf23e: d010 beq.n 80bf262 { USBx_OUTEP(epnum)->DOEPCTL &= ~(USB_OTG_DOEPCTL_EPDIS); 80bf240: 68bb ldr r3, [r7, #8] 80bf242: 015a lsls r2, r3, #5 80bf244: 68fb ldr r3, [r7, #12] 80bf246: 4413 add r3, r2 80bf248: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf24c: 4619 mov r1, r3 80bf24e: 68bb ldr r3, [r7, #8] 80bf250: 015a lsls r2, r3, #5 80bf252: 68fb ldr r3, [r7, #12] 80bf254: 4413 add r3, r2 80bf256: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf25a: 681b ldr r3, [r3, #0] 80bf25c: f023 4380 bic.w r3, r3, #1073741824 ; 0x40000000 80bf260: 600b str r3, [r1, #0] } USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_STALL; 80bf262: 68bb ldr r3, [r7, #8] 80bf264: 015a lsls r2, r3, #5 80bf266: 68fb ldr r3, [r7, #12] 80bf268: 4413 add r3, r2 80bf26a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf26e: 4619 mov r1, r3 80bf270: 68bb ldr r3, [r7, #8] 80bf272: 015a lsls r2, r3, #5 80bf274: 68fb ldr r3, [r7, #12] 80bf276: 4413 add r3, r2 80bf278: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf27c: 681b ldr r3, [r3, #0] 80bf27e: f443 1300 orr.w r3, r3, #2097152 ; 0x200000 80bf282: 600b str r3, [r1, #0] } return HAL_OK; 80bf284: 2300 movs r3, #0 } 80bf286: 4618 mov r0, r3 80bf288: 3714 adds r7, #20 80bf28a: 46bd mov sp, r7 80bf28c: f85d 7b04 ldr.w r7, [sp], #4 80bf290: 4770 bx lr 080bf292 : * @param USBx Selected device * @param ep pointer to endpoint structure * @retval HAL status */ HAL_StatusTypeDef USB_EPClearStall(USB_OTG_GlobalTypeDef *USBx, USB_OTG_EPTypeDef *ep) { 80bf292: b480 push {r7} 80bf294: b085 sub sp, #20 80bf296: af00 add r7, sp, #0 80bf298: 6078 str r0, [r7, #4] 80bf29a: 6039 str r1, [r7, #0] uint32_t USBx_BASE = (uint32_t)USBx; 80bf29c: 687b ldr r3, [r7, #4] 80bf29e: 60fb str r3, [r7, #12] uint32_t epnum = (uint32_t)ep->num; 80bf2a0: 683b ldr r3, [r7, #0] 80bf2a2: 781b ldrb r3, [r3, #0] 80bf2a4: 60bb str r3, [r7, #8] if (ep->is_in == 1U) 80bf2a6: 683b ldr r3, [r7, #0] 80bf2a8: 785b ldrb r3, [r3, #1] 80bf2aa: 2b01 cmp r3, #1 80bf2ac: d12a bne.n 80bf304 { USBx_INEP(epnum)->DIEPCTL &= ~USB_OTG_DIEPCTL_STALL; 80bf2ae: 68bb ldr r3, [r7, #8] 80bf2b0: 015a lsls r2, r3, #5 80bf2b2: 68fb ldr r3, [r7, #12] 80bf2b4: 4413 add r3, r2 80bf2b6: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf2ba: 4619 mov r1, r3 80bf2bc: 68bb ldr r3, [r7, #8] 80bf2be: 015a lsls r2, r3, #5 80bf2c0: 68fb ldr r3, [r7, #12] 80bf2c2: 4413 add r3, r2 80bf2c4: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf2c8: 681b ldr r3, [r3, #0] 80bf2ca: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80bf2ce: 600b str r3, [r1, #0] if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 80bf2d0: 683b ldr r3, [r7, #0] 80bf2d2: 78db ldrb r3, [r3, #3] 80bf2d4: 2b03 cmp r3, #3 80bf2d6: d003 beq.n 80bf2e0 80bf2d8: 683b ldr r3, [r7, #0] 80bf2da: 78db ldrb r3, [r3, #3] 80bf2dc: 2b02 cmp r3, #2 80bf2de: d13b bne.n 80bf358 { USBx_INEP(epnum)->DIEPCTL |= USB_OTG_DIEPCTL_SD0PID_SEVNFRM; /* DATA0 */ 80bf2e0: 68bb ldr r3, [r7, #8] 80bf2e2: 015a lsls r2, r3, #5 80bf2e4: 68fb ldr r3, [r7, #12] 80bf2e6: 4413 add r3, r2 80bf2e8: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf2ec: 4619 mov r1, r3 80bf2ee: 68bb ldr r3, [r7, #8] 80bf2f0: 015a lsls r2, r3, #5 80bf2f2: 68fb ldr r3, [r7, #12] 80bf2f4: 4413 add r3, r2 80bf2f6: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf2fa: 681b ldr r3, [r3, #0] 80bf2fc: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bf300: 600b str r3, [r1, #0] 80bf302: e029 b.n 80bf358 } } else { USBx_OUTEP(epnum)->DOEPCTL &= ~USB_OTG_DOEPCTL_STALL; 80bf304: 68bb ldr r3, [r7, #8] 80bf306: 015a lsls r2, r3, #5 80bf308: 68fb ldr r3, [r7, #12] 80bf30a: 4413 add r3, r2 80bf30c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf310: 4619 mov r1, r3 80bf312: 68bb ldr r3, [r7, #8] 80bf314: 015a lsls r2, r3, #5 80bf316: 68fb ldr r3, [r7, #12] 80bf318: 4413 add r3, r2 80bf31a: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf31e: 681b ldr r3, [r3, #0] 80bf320: f423 1300 bic.w r3, r3, #2097152 ; 0x200000 80bf324: 600b str r3, [r1, #0] if ((ep->type == EP_TYPE_INTR) || (ep->type == EP_TYPE_BULK)) 80bf326: 683b ldr r3, [r7, #0] 80bf328: 78db ldrb r3, [r3, #3] 80bf32a: 2b03 cmp r3, #3 80bf32c: d003 beq.n 80bf336 80bf32e: 683b ldr r3, [r7, #0] 80bf330: 78db ldrb r3, [r3, #3] 80bf332: 2b02 cmp r3, #2 80bf334: d110 bne.n 80bf358 { USBx_OUTEP(epnum)->DOEPCTL |= USB_OTG_DOEPCTL_SD0PID_SEVNFRM; /* DATA0 */ 80bf336: 68bb ldr r3, [r7, #8] 80bf338: 015a lsls r2, r3, #5 80bf33a: 68fb ldr r3, [r7, #12] 80bf33c: 4413 add r3, r2 80bf33e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf342: 4619 mov r1, r3 80bf344: 68bb ldr r3, [r7, #8] 80bf346: 015a lsls r2, r3, #5 80bf348: 68fb ldr r3, [r7, #12] 80bf34a: 4413 add r3, r2 80bf34c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf350: 681b ldr r3, [r3, #0] 80bf352: f043 5380 orr.w r3, r3, #268435456 ; 0x10000000 80bf356: 600b str r3, [r1, #0] } } return HAL_OK; 80bf358: 2300 movs r3, #0 } 80bf35a: 4618 mov r0, r3 80bf35c: 3714 adds r7, #20 80bf35e: 46bd mov sp, r7 80bf360: f85d 7b04 ldr.w r7, [sp], #4 80bf364: 4770 bx lr 080bf366 : * @param address new device address to be assigned * This parameter can be a value from 0 to 255 * @retval HAL status */ HAL_StatusTypeDef USB_SetDevAddress(USB_OTG_GlobalTypeDef *USBx, uint8_t address) { 80bf366: b480 push {r7} 80bf368: b085 sub sp, #20 80bf36a: af00 add r7, sp, #0 80bf36c: 6078 str r0, [r7, #4] 80bf36e: 460b mov r3, r1 80bf370: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80bf372: 687b ldr r3, [r7, #4] 80bf374: 60fb str r3, [r7, #12] USBx_DEVICE->DCFG &= ~(USB_OTG_DCFG_DAD); 80bf376: 68fb ldr r3, [r7, #12] 80bf378: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf37c: 461a mov r2, r3 80bf37e: 68fb ldr r3, [r7, #12] 80bf380: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf384: 681b ldr r3, [r3, #0] 80bf386: f423 63fe bic.w r3, r3, #2032 ; 0x7f0 80bf38a: 6013 str r3, [r2, #0] USBx_DEVICE->DCFG |= ((uint32_t)address << 4) & USB_OTG_DCFG_DAD; 80bf38c: 68fb ldr r3, [r7, #12] 80bf38e: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf392: 4619 mov r1, r3 80bf394: 68fb ldr r3, [r7, #12] 80bf396: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf39a: 681a ldr r2, [r3, #0] 80bf39c: 78fb ldrb r3, [r7, #3] 80bf39e: 011b lsls r3, r3, #4 80bf3a0: f403 63fe and.w r3, r3, #2032 ; 0x7f0 80bf3a4: 4313 orrs r3, r2 80bf3a6: 600b str r3, [r1, #0] return HAL_OK; 80bf3a8: 2300 movs r3, #0 } 80bf3aa: 4618 mov r0, r3 80bf3ac: 3714 adds r7, #20 80bf3ae: 46bd mov sp, r7 80bf3b0: f85d 7b04 ldr.w r7, [sp], #4 80bf3b4: 4770 bx lr 080bf3b6 : * @brief USB_DevConnect : Connect the USB device by enabling Rpu * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_DevConnect(USB_OTG_GlobalTypeDef *USBx) { 80bf3b6: b480 push {r7} 80bf3b8: b085 sub sp, #20 80bf3ba: af00 add r7, sp, #0 80bf3bc: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80bf3be: 687b ldr r3, [r7, #4] 80bf3c0: 60fb str r3, [r7, #12] /* In case phy is stopped, ensure to ungate and restore the phy CLK */ USBx_PCGCCTL &= ~(USB_OTG_PCGCCTL_STOPCLK | USB_OTG_PCGCCTL_GATECLK); 80bf3c2: 68fb ldr r3, [r7, #12] 80bf3c4: f503 6360 add.w r3, r3, #3584 ; 0xe00 80bf3c8: 461a mov r2, r3 80bf3ca: 68fb ldr r3, [r7, #12] 80bf3cc: f503 6360 add.w r3, r3, #3584 ; 0xe00 80bf3d0: 681b ldr r3, [r3, #0] 80bf3d2: f023 0303 bic.w r3, r3, #3 80bf3d6: 6013 str r3, [r2, #0] USBx_DEVICE->DCTL &= ~USB_OTG_DCTL_SDIS; 80bf3d8: 68fb ldr r3, [r7, #12] 80bf3da: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf3de: 461a mov r2, r3 80bf3e0: 68fb ldr r3, [r7, #12] 80bf3e2: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf3e6: 685b ldr r3, [r3, #4] 80bf3e8: f023 0302 bic.w r3, r3, #2 80bf3ec: 6053 str r3, [r2, #4] return HAL_OK; 80bf3ee: 2300 movs r3, #0 } 80bf3f0: 4618 mov r0, r3 80bf3f2: 3714 adds r7, #20 80bf3f4: 46bd mov sp, r7 80bf3f6: f85d 7b04 ldr.w r7, [sp], #4 80bf3fa: 4770 bx lr 080bf3fc : * @brief USB_DevDisconnect : Disconnect the USB device by disabling Rpu * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_DevDisconnect(USB_OTG_GlobalTypeDef *USBx) { 80bf3fc: b480 push {r7} 80bf3fe: b085 sub sp, #20 80bf400: af00 add r7, sp, #0 80bf402: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80bf404: 687b ldr r3, [r7, #4] 80bf406: 60fb str r3, [r7, #12] /* In case phy is stopped, ensure to ungate and restore the phy CLK */ USBx_PCGCCTL &= ~(USB_OTG_PCGCCTL_STOPCLK | USB_OTG_PCGCCTL_GATECLK); 80bf408: 68fb ldr r3, [r7, #12] 80bf40a: f503 6360 add.w r3, r3, #3584 ; 0xe00 80bf40e: 461a mov r2, r3 80bf410: 68fb ldr r3, [r7, #12] 80bf412: f503 6360 add.w r3, r3, #3584 ; 0xe00 80bf416: 681b ldr r3, [r3, #0] 80bf418: f023 0303 bic.w r3, r3, #3 80bf41c: 6013 str r3, [r2, #0] USBx_DEVICE->DCTL |= USB_OTG_DCTL_SDIS; 80bf41e: 68fb ldr r3, [r7, #12] 80bf420: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf424: 461a mov r2, r3 80bf426: 68fb ldr r3, [r7, #12] 80bf428: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf42c: 685b ldr r3, [r3, #4] 80bf42e: f043 0302 orr.w r3, r3, #2 80bf432: 6053 str r3, [r2, #4] return HAL_OK; 80bf434: 2300 movs r3, #0 } 80bf436: 4618 mov r0, r3 80bf438: 3714 adds r7, #20 80bf43a: 46bd mov sp, r7 80bf43c: f85d 7b04 ldr.w r7, [sp], #4 80bf440: 4770 bx lr 080bf442 : * @brief USB_ReadInterrupts: return the global USB interrupt status * @param USBx Selected device * @retval HAL status */ uint32_t USB_ReadInterrupts(USB_OTG_GlobalTypeDef *USBx) { 80bf442: b480 push {r7} 80bf444: b085 sub sp, #20 80bf446: af00 add r7, sp, #0 80bf448: 6078 str r0, [r7, #4] uint32_t tmpreg; tmpreg = USBx->GINTSTS; 80bf44a: 687b ldr r3, [r7, #4] 80bf44c: 695b ldr r3, [r3, #20] 80bf44e: 60fb str r3, [r7, #12] tmpreg &= USBx->GINTMSK; 80bf450: 687b ldr r3, [r7, #4] 80bf452: 699b ldr r3, [r3, #24] 80bf454: 68fa ldr r2, [r7, #12] 80bf456: 4013 ands r3, r2 80bf458: 60fb str r3, [r7, #12] return tmpreg; 80bf45a: 68fb ldr r3, [r7, #12] } 80bf45c: 4618 mov r0, r3 80bf45e: 3714 adds r7, #20 80bf460: 46bd mov sp, r7 80bf462: f85d 7b04 ldr.w r7, [sp], #4 80bf466: 4770 bx lr 080bf468 : * @brief USB_ReadDevAllOutEpInterrupt: return the USB device OUT endpoints interrupt status * @param USBx Selected device * @retval HAL status */ uint32_t USB_ReadDevAllOutEpInterrupt(USB_OTG_GlobalTypeDef *USBx) { 80bf468: b480 push {r7} 80bf46a: b085 sub sp, #20 80bf46c: af00 add r7, sp, #0 80bf46e: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80bf470: 687b ldr r3, [r7, #4] 80bf472: 60fb str r3, [r7, #12] uint32_t tmpreg; tmpreg = USBx_DEVICE->DAINT; 80bf474: 68fb ldr r3, [r7, #12] 80bf476: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf47a: 699b ldr r3, [r3, #24] 80bf47c: 60bb str r3, [r7, #8] tmpreg &= USBx_DEVICE->DAINTMSK; 80bf47e: 68fb ldr r3, [r7, #12] 80bf480: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf484: 69db ldr r3, [r3, #28] 80bf486: 68ba ldr r2, [r7, #8] 80bf488: 4013 ands r3, r2 80bf48a: 60bb str r3, [r7, #8] return ((tmpreg & 0xffff0000U) >> 16); 80bf48c: 68bb ldr r3, [r7, #8] 80bf48e: 0c1b lsrs r3, r3, #16 } 80bf490: 4618 mov r0, r3 80bf492: 3714 adds r7, #20 80bf494: 46bd mov sp, r7 80bf496: f85d 7b04 ldr.w r7, [sp], #4 80bf49a: 4770 bx lr 080bf49c : * @brief USB_ReadDevAllInEpInterrupt: return the USB device IN endpoints interrupt status * @param USBx Selected device * @retval HAL status */ uint32_t USB_ReadDevAllInEpInterrupt(USB_OTG_GlobalTypeDef *USBx) { 80bf49c: b480 push {r7} 80bf49e: b085 sub sp, #20 80bf4a0: af00 add r7, sp, #0 80bf4a2: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80bf4a4: 687b ldr r3, [r7, #4] 80bf4a6: 60fb str r3, [r7, #12] uint32_t tmpreg; tmpreg = USBx_DEVICE->DAINT; 80bf4a8: 68fb ldr r3, [r7, #12] 80bf4aa: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf4ae: 699b ldr r3, [r3, #24] 80bf4b0: 60bb str r3, [r7, #8] tmpreg &= USBx_DEVICE->DAINTMSK; 80bf4b2: 68fb ldr r3, [r7, #12] 80bf4b4: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf4b8: 69db ldr r3, [r3, #28] 80bf4ba: 68ba ldr r2, [r7, #8] 80bf4bc: 4013 ands r3, r2 80bf4be: 60bb str r3, [r7, #8] return ((tmpreg & 0xFFFFU)); 80bf4c0: 68bb ldr r3, [r7, #8] 80bf4c2: b29b uxth r3, r3 } 80bf4c4: 4618 mov r0, r3 80bf4c6: 3714 adds r7, #20 80bf4c8: 46bd mov sp, r7 80bf4ca: f85d 7b04 ldr.w r7, [sp], #4 80bf4ce: 4770 bx lr 080bf4d0 : * @param epnum endpoint number * This parameter can be a value from 0 to 15 * @retval Device OUT EP Interrupt register */ uint32_t USB_ReadDevOutEPInterrupt(USB_OTG_GlobalTypeDef *USBx, uint8_t epnum) { 80bf4d0: b480 push {r7} 80bf4d2: b085 sub sp, #20 80bf4d4: af00 add r7, sp, #0 80bf4d6: 6078 str r0, [r7, #4] 80bf4d8: 460b mov r3, r1 80bf4da: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80bf4dc: 687b ldr r3, [r7, #4] 80bf4de: 60fb str r3, [r7, #12] uint32_t tmpreg; tmpreg = USBx_OUTEP((uint32_t)epnum)->DOEPINT; 80bf4e0: 78fb ldrb r3, [r7, #3] 80bf4e2: 015a lsls r2, r3, #5 80bf4e4: 68fb ldr r3, [r7, #12] 80bf4e6: 4413 add r3, r2 80bf4e8: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf4ec: 689b ldr r3, [r3, #8] 80bf4ee: 60bb str r3, [r7, #8] tmpreg &= USBx_DEVICE->DOEPMSK; 80bf4f0: 68fb ldr r3, [r7, #12] 80bf4f2: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf4f6: 695b ldr r3, [r3, #20] 80bf4f8: 68ba ldr r2, [r7, #8] 80bf4fa: 4013 ands r3, r2 80bf4fc: 60bb str r3, [r7, #8] return tmpreg; 80bf4fe: 68bb ldr r3, [r7, #8] } 80bf500: 4618 mov r0, r3 80bf502: 3714 adds r7, #20 80bf504: 46bd mov sp, r7 80bf506: f85d 7b04 ldr.w r7, [sp], #4 80bf50a: 4770 bx lr 080bf50c : * @param epnum endpoint number * This parameter can be a value from 0 to 15 * @retval Device IN EP Interrupt register */ uint32_t USB_ReadDevInEPInterrupt(USB_OTG_GlobalTypeDef *USBx, uint8_t epnum) { 80bf50c: b480 push {r7} 80bf50e: b087 sub sp, #28 80bf510: af00 add r7, sp, #0 80bf512: 6078 str r0, [r7, #4] 80bf514: 460b mov r3, r1 80bf516: 70fb strb r3, [r7, #3] uint32_t USBx_BASE = (uint32_t)USBx; 80bf518: 687b ldr r3, [r7, #4] 80bf51a: 617b str r3, [r7, #20] uint32_t tmpreg; uint32_t msk; uint32_t emp; msk = USBx_DEVICE->DIEPMSK; 80bf51c: 697b ldr r3, [r7, #20] 80bf51e: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf522: 691b ldr r3, [r3, #16] 80bf524: 613b str r3, [r7, #16] emp = USBx_DEVICE->DIEPEMPMSK; 80bf526: 697b ldr r3, [r7, #20] 80bf528: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf52c: 6b5b ldr r3, [r3, #52] ; 0x34 80bf52e: 60fb str r3, [r7, #12] msk |= ((emp >> (epnum & EP_ADDR_MSK)) & 0x1U) << 7; 80bf530: 78fb ldrb r3, [r7, #3] 80bf532: f003 030f and.w r3, r3, #15 80bf536: 68fa ldr r2, [r7, #12] 80bf538: fa22 f303 lsr.w r3, r2, r3 80bf53c: 01db lsls r3, r3, #7 80bf53e: b2db uxtb r3, r3 80bf540: 693a ldr r2, [r7, #16] 80bf542: 4313 orrs r3, r2 80bf544: 613b str r3, [r7, #16] tmpreg = USBx_INEP((uint32_t)epnum)->DIEPINT & msk; 80bf546: 78fb ldrb r3, [r7, #3] 80bf548: 015a lsls r2, r3, #5 80bf54a: 697b ldr r3, [r7, #20] 80bf54c: 4413 add r3, r2 80bf54e: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf552: 689a ldr r2, [r3, #8] 80bf554: 693b ldr r3, [r7, #16] 80bf556: 4013 ands r3, r2 80bf558: 60bb str r3, [r7, #8] return tmpreg; 80bf55a: 68bb ldr r3, [r7, #8] } 80bf55c: 4618 mov r0, r3 80bf55e: 371c adds r7, #28 80bf560: 46bd mov sp, r7 80bf562: f85d 7b04 ldr.w r7, [sp], #4 80bf566: 4770 bx lr 080bf568 : * This parameter can be one of these values: * 0 : Host * 1 : Device */ uint32_t USB_GetMode(USB_OTG_GlobalTypeDef *USBx) { 80bf568: b480 push {r7} 80bf56a: b083 sub sp, #12 80bf56c: af00 add r7, sp, #0 80bf56e: 6078 str r0, [r7, #4] return ((USBx->GINTSTS) & 0x1U); 80bf570: 687b ldr r3, [r7, #4] 80bf572: 695b ldr r3, [r3, #20] 80bf574: f003 0301 and.w r3, r3, #1 } 80bf578: 4618 mov r0, r3 80bf57a: 370c adds r7, #12 80bf57c: 46bd mov sp, r7 80bf57e: f85d 7b04 ldr.w r7, [sp], #4 80bf582: 4770 bx lr 080bf584 : * @brief Activate EP0 for Setup transactions * @param USBx Selected device * @retval HAL status */ HAL_StatusTypeDef USB_ActivateSetup(USB_OTG_GlobalTypeDef *USBx) { 80bf584: b480 push {r7} 80bf586: b085 sub sp, #20 80bf588: af00 add r7, sp, #0 80bf58a: 6078 str r0, [r7, #4] uint32_t USBx_BASE = (uint32_t)USBx; 80bf58c: 687b ldr r3, [r7, #4] 80bf58e: 60fb str r3, [r7, #12] /* Set the MPS of the IN EP0 to 64 bytes */ USBx_INEP(0U)->DIEPCTL &= ~USB_OTG_DIEPCTL_MPSIZ; 80bf590: 68fb ldr r3, [r7, #12] 80bf592: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf596: 4619 mov r1, r3 80bf598: 68fb ldr r3, [r7, #12] 80bf59a: f503 6310 add.w r3, r3, #2304 ; 0x900 80bf59e: 681a ldr r2, [r3, #0] 80bf5a0: 4b0a ldr r3, [pc, #40] ; (80bf5cc ) 80bf5a2: 4013 ands r3, r2 80bf5a4: 600b str r3, [r1, #0] USBx_DEVICE->DCTL |= USB_OTG_DCTL_CGINAK; 80bf5a6: 68fb ldr r3, [r7, #12] 80bf5a8: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf5ac: 461a mov r2, r3 80bf5ae: 68fb ldr r3, [r7, #12] 80bf5b0: f503 6300 add.w r3, r3, #2048 ; 0x800 80bf5b4: 685b ldr r3, [r3, #4] 80bf5b6: f443 7380 orr.w r3, r3, #256 ; 0x100 80bf5ba: 6053 str r3, [r2, #4] return HAL_OK; 80bf5bc: 2300 movs r3, #0 } 80bf5be: 4618 mov r0, r3 80bf5c0: 3714 adds r7, #20 80bf5c2: 46bd mov sp, r7 80bf5c4: f85d 7b04 ldr.w r7, [sp], #4 80bf5c8: 4770 bx lr 80bf5ca: bf00 nop 80bf5cc: fffff800 .word 0xfffff800 080bf5d0 : * 1 : DMA feature used * @param psetup pointer to setup packet * @retval HAL status */ HAL_StatusTypeDef USB_EP0_OutStart(USB_OTG_GlobalTypeDef *USBx, uint8_t dma, uint8_t *psetup) { 80bf5d0: b480 push {r7} 80bf5d2: b087 sub sp, #28 80bf5d4: af00 add r7, sp, #0 80bf5d6: 60f8 str r0, [r7, #12] 80bf5d8: 460b mov r3, r1 80bf5da: 607a str r2, [r7, #4] 80bf5dc: 72fb strb r3, [r7, #11] uint32_t USBx_BASE = (uint32_t)USBx; 80bf5de: 68fb ldr r3, [r7, #12] 80bf5e0: 617b str r3, [r7, #20] uint32_t gSNPSiD = *(__IO uint32_t *)(&USBx->CID + 0x1U); 80bf5e2: 68fb ldr r3, [r7, #12] 80bf5e4: 333c adds r3, #60 ; 0x3c 80bf5e6: 3304 adds r3, #4 80bf5e8: 681b ldr r3, [r3, #0] 80bf5ea: 613b str r3, [r7, #16] if (gSNPSiD > USB_OTG_CORE_ID_300A) 80bf5ec: 693b ldr r3, [r7, #16] 80bf5ee: 4a28 ldr r2, [pc, #160] ; (80bf690 ) 80bf5f0: 4293 cmp r3, r2 80bf5f2: d90a bls.n 80bf60a { if ((USBx_OUTEP(0U)->DOEPCTL & USB_OTG_DOEPCTL_EPENA) == USB_OTG_DOEPCTL_EPENA) 80bf5f4: 697b ldr r3, [r7, #20] 80bf5f6: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf5fa: 681b ldr r3, [r3, #0] 80bf5fc: f003 4300 and.w r3, r3, #2147483648 ; 0x80000000 80bf600: f1b3 4f00 cmp.w r3, #2147483648 ; 0x80000000 80bf604: d101 bne.n 80bf60a { return HAL_OK; 80bf606: 2300 movs r3, #0 80bf608: e03b b.n 80bf682 } } USBx_OUTEP(0U)->DOEPTSIZ = 0U; 80bf60a: 697b ldr r3, [r7, #20] 80bf60c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf610: 461a mov r2, r3 80bf612: 2300 movs r3, #0 80bf614: 6113 str r3, [r2, #16] USBx_OUTEP(0U)->DOEPTSIZ |= (USB_OTG_DOEPTSIZ_PKTCNT & (1U << 19)); 80bf616: 697b ldr r3, [r7, #20] 80bf618: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf61c: 461a mov r2, r3 80bf61e: 697b ldr r3, [r7, #20] 80bf620: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf624: 691b ldr r3, [r3, #16] 80bf626: f443 2300 orr.w r3, r3, #524288 ; 0x80000 80bf62a: 6113 str r3, [r2, #16] USBx_OUTEP(0U)->DOEPTSIZ |= (3U * 8U); 80bf62c: 697b ldr r3, [r7, #20] 80bf62e: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf632: 461a mov r2, r3 80bf634: 697b ldr r3, [r7, #20] 80bf636: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf63a: 691b ldr r3, [r3, #16] 80bf63c: f043 0318 orr.w r3, r3, #24 80bf640: 6113 str r3, [r2, #16] USBx_OUTEP(0U)->DOEPTSIZ |= USB_OTG_DOEPTSIZ_STUPCNT; 80bf642: 697b ldr r3, [r7, #20] 80bf644: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf648: 461a mov r2, r3 80bf64a: 697b ldr r3, [r7, #20] 80bf64c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf650: 691b ldr r3, [r3, #16] 80bf652: f043 43c0 orr.w r3, r3, #1610612736 ; 0x60000000 80bf656: 6113 str r3, [r2, #16] if (dma == 1U) 80bf658: 7afb ldrb r3, [r7, #11] 80bf65a: 2b01 cmp r3, #1 80bf65c: d110 bne.n 80bf680 { USBx_OUTEP(0U)->DOEPDMA = (uint32_t)psetup; 80bf65e: 697b ldr r3, [r7, #20] 80bf660: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf664: 461a mov r2, r3 80bf666: 687b ldr r3, [r7, #4] 80bf668: 6153 str r3, [r2, #20] /* EP enable */ USBx_OUTEP(0U)->DOEPCTL |= USB_OTG_DOEPCTL_EPENA | USB_OTG_DOEPCTL_USBAEP; 80bf66a: 697b ldr r3, [r7, #20] 80bf66c: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf670: 461a mov r2, r3 80bf672: 697b ldr r3, [r7, #20] 80bf674: f503 6330 add.w r3, r3, #2816 ; 0xb00 80bf678: 681b ldr r3, [r3, #0] 80bf67a: f043 2380 orr.w r3, r3, #2147516416 ; 0x80008000 80bf67e: 6013 str r3, [r2, #0] } return HAL_OK; 80bf680: 2300 movs r3, #0 } 80bf682: 4618 mov r0, r3 80bf684: 371c adds r7, #28 80bf686: 46bd mov sp, r7 80bf688: f85d 7b04 ldr.w r7, [sp], #4 80bf68c: 4770 bx lr 80bf68e: bf00 nop 80bf690: 4f54300a .word 0x4f54300a 080bf694 : * @brief Reset the USB Core (needed after USB clock settings change) * @param USBx Selected device * @retval HAL status */ static HAL_StatusTypeDef USB_CoreReset(USB_OTG_GlobalTypeDef *USBx) { 80bf694: b480 push {r7} 80bf696: b085 sub sp, #20 80bf698: af00 add r7, sp, #0 80bf69a: 6078 str r0, [r7, #4] __IO uint32_t count = 0U; 80bf69c: 2300 movs r3, #0 80bf69e: 60fb str r3, [r7, #12] /* Wait for AHB master IDLE state. */ do { if (++count > 200000U) 80bf6a0: 68fb ldr r3, [r7, #12] 80bf6a2: 3301 adds r3, #1 80bf6a4: 60fb str r3, [r7, #12] 80bf6a6: 4a13 ldr r2, [pc, #76] ; (80bf6f4 ) 80bf6a8: 4293 cmp r3, r2 80bf6aa: d901 bls.n 80bf6b0 { return HAL_TIMEOUT; 80bf6ac: 2303 movs r3, #3 80bf6ae: e01a b.n 80bf6e6 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_AHBIDL) == 0U); 80bf6b0: 687b ldr r3, [r7, #4] 80bf6b2: 691b ldr r3, [r3, #16] 80bf6b4: 2b00 cmp r3, #0 80bf6b6: daf3 bge.n 80bf6a0 /* Core Soft Reset */ count = 0U; 80bf6b8: 2300 movs r3, #0 80bf6ba: 60fb str r3, [r7, #12] USBx->GRSTCTL |= USB_OTG_GRSTCTL_CSRST; 80bf6bc: 687b ldr r3, [r7, #4] 80bf6be: 691b ldr r3, [r3, #16] 80bf6c0: f043 0201 orr.w r2, r3, #1 80bf6c4: 687b ldr r3, [r7, #4] 80bf6c6: 611a str r2, [r3, #16] do { if (++count > 200000U) 80bf6c8: 68fb ldr r3, [r7, #12] 80bf6ca: 3301 adds r3, #1 80bf6cc: 60fb str r3, [r7, #12] 80bf6ce: 4a09 ldr r2, [pc, #36] ; (80bf6f4 ) 80bf6d0: 4293 cmp r3, r2 80bf6d2: d901 bls.n 80bf6d8 { return HAL_TIMEOUT; 80bf6d4: 2303 movs r3, #3 80bf6d6: e006 b.n 80bf6e6 } } while ((USBx->GRSTCTL & USB_OTG_GRSTCTL_CSRST) == USB_OTG_GRSTCTL_CSRST); 80bf6d8: 687b ldr r3, [r7, #4] 80bf6da: 691b ldr r3, [r3, #16] 80bf6dc: f003 0301 and.w r3, r3, #1 80bf6e0: 2b01 cmp r3, #1 80bf6e2: d0f1 beq.n 80bf6c8 return HAL_OK; 80bf6e4: 2300 movs r3, #0 } 80bf6e6: 4618 mov r0, r3 80bf6e8: 3714 adds r7, #20 80bf6ea: 46bd mov sp, r7 80bf6ec: f85d 7b04 ldr.w r7, [sp], #4 80bf6f0: 4770 bx lr 80bf6f2: bf00 nop 80bf6f4: 00030d40 .word 0x00030d40 080bf6f8 : /* USER CODE BEGIN Variables */ extern RTC_HandleTypeDef hrtc; /* USER CODE END Variables */ void MX_FATFS_Init(void) { 80bf6f8: b580 push {r7, lr} 80bf6fa: af00 add r7, sp, #0 /*## FatFS: Link the SD driver ###########################*/ retSD = FATFS_LinkDriver(&SD_Driver, SDPath); 80bf6fc: 4904 ldr r1, [pc, #16] ; (80bf710 ) 80bf6fe: 4805 ldr r0, [pc, #20] ; (80bf714 ) 80bf700: f009 fbc0 bl 80c8e84 80bf704: 4603 mov r3, r0 80bf706: 461a mov r2, r3 80bf708: 4b03 ldr r3, [pc, #12] ; (80bf718 ) 80bf70a: 701a strb r2, [r3, #0] /* USER CODE BEGIN Init */ /* additional user code for init */ /* USER CODE END Init */ } 80bf70c: bf00 nop 80bf70e: bd80 pop {r7, pc} 80bf710: 20068acc .word 0x20068acc 80bf714: 080ff834 .word 0x080ff834 80bf718: 20068ac8 .word 0x20068ac8 080bf71c : * @brief Gets Time from RTC * @param None * @retval Time in DWORD */ DWORD get_fattime(void) { 80bf71c: b580 push {r7, lr} 80bf71e: b08e sub sp, #56 ; 0x38 80bf720: af00 add r7, sp, #0 RTC_DateTypeDef RTC_Date; RTC_TimeTypeDef RTC_Time; DWORD Year, Month, Day, Hour, Min, Sec; DWORD DateTime; HAL_RTC_GetDate(&hrtc, &RTC_Date, RTC_FORMAT_BIN); 80bf722: f107 0318 add.w r3, r7, #24 80bf726: 2200 movs r2, #0 80bf728: 4619 mov r1, r3 80bf72a: 4818 ldr r0, [pc, #96] ; (80bf78c ) 80bf72c: f7f9 fb7e bl 80b8e2c HAL_RTC_GetTime(&hrtc, &RTC_Time, RTC_FORMAT_BIN); 80bf730: 463b mov r3, r7 80bf732: 2200 movs r2, #0 80bf734: 4619 mov r1, r3 80bf736: 4815 ldr r0, [pc, #84] ; (80bf78c ) 80bf738: f7f9 fa72 bl 80b8c20 Year = RTC_Date.Year + 2000; 80bf73c: 7efb ldrb r3, [r7, #27] 80bf73e: f503 63fa add.w r3, r3, #2000 ; 0x7d0 80bf742: 637b str r3, [r7, #52] ; 0x34 Month = RTC_Date.Month; 80bf744: 7e7b ldrb r3, [r7, #25] 80bf746: 633b str r3, [r7, #48] ; 0x30 Day = RTC_Date.Date; 80bf748: 7ebb ldrb r3, [r7, #26] 80bf74a: 62fb str r3, [r7, #44] ; 0x2c Hour = RTC_Time.Hours; 80bf74c: 783b ldrb r3, [r7, #0] 80bf74e: 62bb str r3, [r7, #40] ; 0x28 Min = RTC_Time.Minutes; 80bf750: 787b ldrb r3, [r7, #1] 80bf752: 627b str r3, [r7, #36] ; 0x24 Sec = RTC_Time.Seconds; 80bf754: 78bb ldrb r3, [r7, #2] 80bf756: 623b str r3, [r7, #32] DateTime = ((DWORD)(Year - 1980)<<25)|((DWORD)Month<<21)|((DWORD)Day<<16)|((DWORD)Hour<<11)|((DWORD)Min<<5)|((DWORD)Sec>>1); 80bf758: 6b7b ldr r3, [r7, #52] ; 0x34 80bf75a: f2a3 73bc subw r3, r3, #1980 ; 0x7bc 80bf75e: 065a lsls r2, r3, #25 80bf760: 6b3b ldr r3, [r7, #48] ; 0x30 80bf762: 055b lsls r3, r3, #21 80bf764: 431a orrs r2, r3 80bf766: 6afb ldr r3, [r7, #44] ; 0x2c 80bf768: 041b lsls r3, r3, #16 80bf76a: 431a orrs r2, r3 80bf76c: 6abb ldr r3, [r7, #40] ; 0x28 80bf76e: 02db lsls r3, r3, #11 80bf770: 431a orrs r2, r3 80bf772: 6a7b ldr r3, [r7, #36] ; 0x24 80bf774: 015b lsls r3, r3, #5 80bf776: 431a orrs r2, r3 80bf778: 6a3b ldr r3, [r7, #32] 80bf77a: 085b lsrs r3, r3, #1 80bf77c: 4313 orrs r3, r2 80bf77e: 61fb str r3, [r7, #28] return DateTime; 80bf780: 69fb ldr r3, [r7, #28] } 80bf782: 4618 mov r0, r3 80bf784: 3738 adds r7, #56 ; 0x38 80bf786: 46bd mov sp, r7 80bf788: bd80 pop {r7, pc} 80bf78a: bf00 nop 80bf78c: 20068598 .word 0x20068598 080bf790 : extern volatile uint8_t CardState; uint8_t BSP_PlatformIsDetected(void) { 80bf790: b580 push {r7, lr} 80bf792: b082 sub sp, #8 80bf794: af00 add r7, sp, #0 uint8_t status = (uint8_t)0x01; 80bf796: 2301 movs r3, #1 80bf798: 71fb strb r3, [r7, #7] { status = (uint8_t) 0x00; }*/ /* Check SD card detect pin */ if (HAL_GPIO_ReadPin(SD_PORT, SD_PIN) == GPIO_PIN_SET) 80bf79a: f44f 5180 mov.w r1, #4096 ; 0x1000 80bf79e: 4806 ldr r0, [pc, #24] ; (80bf7b8 ) 80bf7a0: f7f6 fa0a bl 80b5bb8 80bf7a4: 4603 mov r3, r0 80bf7a6: 2b01 cmp r3, #1 80bf7a8: d101 bne.n 80bf7ae { status = (uint8_t)0x00; 80bf7aa: 2300 movs r3, #0 80bf7ac: 71fb strb r3, [r7, #7] } /* USER CODE BEGIN 1 */ /* user code can be inserted here */ /* USER CODE END 1 */ return status; 80bf7ae: 79fb ldrb r3, [r7, #7] } 80bf7b0: 4618 mov r0, r3 80bf7b2: 3708 adds r7, #8 80bf7b4: 46bd mov sp, r7 80bf7b6: bd80 pop {r7, pc} 80bf7b8: 40020400 .word 0x40020400 080bf7bc : /** * @brief Initializes the SD card device. * @retval SD status */ uint8_t BSP_SD_Init(void) { 80bf7bc: b580 push {r7, lr} 80bf7be: b082 sub sp, #8 80bf7c0: af00 add r7, sp, #0 uint8_t sd_state = MSD_OK; 80bf7c2: 2300 movs r3, #0 80bf7c4: 71fb strb r3, [r7, #7] /* Check if the SD card is plugged in the slot */ if (BSP_SD_IsDetected() != SD_PRESENT) 80bf7c6: f000 f898 bl 80bf8fa 80bf7ca: 4603 mov r3, r0 80bf7cc: 2b01 cmp r3, #1 80bf7ce: d001 beq.n 80bf7d4 { return MSD_ERROR_SD_NOT_PRESENT; 80bf7d0: 2302 movs r3, #2 80bf7d2: e015 b.n 80bf800 } /* HAL SD initialization */ HAL_SD_DeInit(&hsd1); 80bf7d4: 480c ldr r0, [pc, #48] ; (80bf808 ) 80bf7d6: f7f9 fcf3 bl 80b91c0 sd_state = HAL_SD_Init(&hsd1); 80bf7da: 480b ldr r0, [pc, #44] ; (80bf808 ) 80bf7dc: f7f9 fc38 bl 80b9050 80bf7e0: 4603 mov r3, r0 80bf7e2: 71fb strb r3, [r7, #7] /* Configure SD Bus width (4 bits mode selected) */ if (sd_state == MSD_OK) 80bf7e4: 79fb ldrb r3, [r7, #7] 80bf7e6: 2b00 cmp r3, #0 80bf7e8: d109 bne.n 80bf7fe { /* Enable wide operation */ if (HAL_SD_ConfigWideBusOperation(&hsd1, SDMMC_BUS_WIDE_4B) != HAL_OK) 80bf7ea: f44f 6100 mov.w r1, #2048 ; 0x800 80bf7ee: 4806 ldr r0, [pc, #24] ; (80bf808 ) 80bf7f0: f7fa fa1e bl 80b9c30 80bf7f4: 4603 mov r3, r0 80bf7f6: 2b00 cmp r3, #0 80bf7f8: d001 beq.n 80bf7fe { sd_state = MSD_ERROR; 80bf7fa: 2301 movs r3, #1 80bf7fc: 71fb strb r3, [r7, #7] } } return sd_state; 80bf7fe: 79fb ldrb r3, [r7, #7] } 80bf800: 4618 mov r0, r3 80bf802: 3708 adds r7, #8 80bf804: 46bd mov sp, r7 80bf806: bd80 pop {r7, pc} 80bf808: 200685ec .word 0x200685ec 080bf80c : * @param ReadAddr: Address from where data is to be read * @param NumOfBlocks: Number of SD blocks to read * @retval SD status */ uint8_t BSP_SD_ReadBlocks_DMA(uint32_t *pData, uint32_t ReadAddr, uint32_t NumOfBlocks) { 80bf80c: b580 push {r7, lr} 80bf80e: b086 sub sp, #24 80bf810: af00 add r7, sp, #0 80bf812: 60f8 str r0, [r7, #12] 80bf814: 60b9 str r1, [r7, #8] 80bf816: 607a str r2, [r7, #4] uint8_t sd_state = MSD_OK; 80bf818: 2300 movs r3, #0 80bf81a: 75fb strb r3, [r7, #23] /* Read block(s) in DMA transfer mode */ if (HAL_SD_ReadBlocks_DMA(&hsd1, (uint8_t *)pData, ReadAddr, NumOfBlocks) != HAL_OK) 80bf81c: 687b ldr r3, [r7, #4] 80bf81e: 68ba ldr r2, [r7, #8] 80bf820: 68f9 ldr r1, [r7, #12] 80bf822: 4806 ldr r0, [pc, #24] ; (80bf83c ) 80bf824: f7f9 fcec bl 80b9200 80bf828: 4603 mov r3, r0 80bf82a: 2b00 cmp r3, #0 80bf82c: d001 beq.n 80bf832 { sd_state = MSD_ERROR; 80bf82e: 2301 movs r3, #1 80bf830: 75fb strb r3, [r7, #23] } return sd_state; 80bf832: 7dfb ldrb r3, [r7, #23] } 80bf834: 4618 mov r0, r3 80bf836: 3718 adds r7, #24 80bf838: 46bd mov sp, r7 80bf83a: bd80 pop {r7, pc} 80bf83c: 200685ec .word 0x200685ec 080bf840 : * @param WriteAddr: Address from where data is to be written * @param NumOfBlocks: Number of SD blocks to write * @retval SD status */ uint8_t BSP_SD_WriteBlocks_DMA(uint32_t *pData, uint32_t WriteAddr, uint32_t NumOfBlocks) { 80bf840: b580 push {r7, lr} 80bf842: b086 sub sp, #24 80bf844: af00 add r7, sp, #0 80bf846: 60f8 str r0, [r7, #12] 80bf848: 60b9 str r1, [r7, #8] 80bf84a: 607a str r2, [r7, #4] uint8_t sd_state = MSD_OK; 80bf84c: 2300 movs r3, #0 80bf84e: 75fb strb r3, [r7, #23] /* Write block(s) in DMA transfer mode */ if (HAL_SD_WriteBlocks_DMA(&hsd1, (uint8_t *)pData, WriteAddr, NumOfBlocks) != HAL_OK) 80bf850: 687b ldr r3, [r7, #4] 80bf852: 68ba ldr r2, [r7, #8] 80bf854: 68f9 ldr r1, [r7, #12] 80bf856: 4806 ldr r0, [pc, #24] ; (80bf870 ) 80bf858: f7f9 fdb4 bl 80b93c4 80bf85c: 4603 mov r3, r0 80bf85e: 2b00 cmp r3, #0 80bf860: d001 beq.n 80bf866 { sd_state = MSD_ERROR; 80bf862: 2301 movs r3, #1 80bf864: 75fb strb r3, [r7, #23] } return sd_state; 80bf866: 7dfb ldrb r3, [r7, #23] } 80bf868: 4618 mov r0, r3 80bf86a: 3718 adds r7, #24 80bf86c: 46bd mov sp, r7 80bf86e: bd80 pop {r7, pc} 80bf870: 200685ec .word 0x200685ec 080bf874 : * This value can be one of the following values: * @arg SD_TRANSFER_OK: No data transfer is acting * @arg SD_TRANSFER_BUSY: Data transfer is acting */ uint8_t BSP_SD_GetCardState(void) { 80bf874: b580 push {r7, lr} 80bf876: af00 add r7, sp, #0 return ((HAL_SD_GetCardState(&hsd1) == HAL_SD_CARD_TRANSFER ) ? SD_TRANSFER_OK : SD_TRANSFER_BUSY); 80bf878: 4805 ldr r0, [pc, #20] ; (80bf890 ) 80bf87a: f7fa fa73 bl 80b9d64 80bf87e: 4603 mov r3, r0 80bf880: 2b04 cmp r3, #4 80bf882: bf14 ite ne 80bf884: 2301 movne r3, #1 80bf886: 2300 moveq r3, #0 80bf888: b2db uxtb r3, r3 } 80bf88a: 4618 mov r0, r3 80bf88c: bd80 pop {r7, pc} 80bf88e: bf00 nop 80bf890: 200685ec .word 0x200685ec 080bf894 : * @brief Get SD information about specific SD card. * @param CardInfo: Pointer to HAL_SD_CardInfoTypedef structure * @retval None */ void BSP_SD_GetCardInfo(HAL_SD_CardInfoTypeDef *CardInfo) { 80bf894: b580 push {r7, lr} 80bf896: b082 sub sp, #8 80bf898: af00 add r7, sp, #0 80bf89a: 6078 str r0, [r7, #4] /* Get SD card Information */ HAL_SD_GetCardInfo(&hsd1, CardInfo); 80bf89c: 6879 ldr r1, [r7, #4] 80bf89e: 4803 ldr r0, [pc, #12] ; (80bf8ac ) 80bf8a0: f7fa f99a bl 80b9bd8 } 80bf8a4: bf00 nop 80bf8a6: 3708 adds r7, #8 80bf8a8: 46bd mov sp, r7 80bf8aa: bd80 pop {r7, pc} 80bf8ac: 200685ec .word 0x200685ec 080bf8b0 : * @brief SD Abort callbacks * @param hsd: SD handle * @retval None */ void HAL_SD_AbortCallback(SD_HandleTypeDef *hsd) { 80bf8b0: b580 push {r7, lr} 80bf8b2: b082 sub sp, #8 80bf8b4: af00 add r7, sp, #0 80bf8b6: 6078 str r0, [r7, #4] BSP_SD_AbortCallback(); 80bf8b8: f000 f818 bl 80bf8ec } 80bf8bc: bf00 nop 80bf8be: 3708 adds r7, #8 80bf8c0: 46bd mov sp, r7 80bf8c2: bd80 pop {r7, pc} 080bf8c4 : * @brief Tx Transfer completed callback * @param hsd: SD handle * @retval None */ void HAL_SD_TxCpltCallback(SD_HandleTypeDef *hsd) { 80bf8c4: b580 push {r7, lr} 80bf8c6: b082 sub sp, #8 80bf8c8: af00 add r7, sp, #0 80bf8ca: 6078 str r0, [r7, #4] BSP_SD_WriteCpltCallback(); 80bf8cc: f000 f9e8 bl 80bfca0 } 80bf8d0: bf00 nop 80bf8d2: 3708 adds r7, #8 80bf8d4: 46bd mov sp, r7 80bf8d6: bd80 pop {r7, pc} 080bf8d8 : * @brief Rx Transfer completed callback * @param hsd: SD handle * @retval None */ void HAL_SD_RxCpltCallback(SD_HandleTypeDef *hsd) { 80bf8d8: b580 push {r7, lr} 80bf8da: b082 sub sp, #8 80bf8dc: af00 add r7, sp, #0 80bf8de: 6078 str r0, [r7, #4] BSP_SD_ReadCpltCallback(); 80bf8e0: f000 f9ea bl 80bfcb8 } 80bf8e4: bf00 nop 80bf8e6: 3708 adds r7, #8 80bf8e8: 46bd mov sp, r7 80bf8ea: bd80 pop {r7, pc} 080bf8ec : /** * @brief BSP SD Abort callback * @retval None */ __weak void BSP_SD_AbortCallback(void) { 80bf8ec: b480 push {r7} 80bf8ee: af00 add r7, sp, #0 } 80bf8f0: bf00 nop 80bf8f2: 46bd mov sp, r7 80bf8f4: f85d 7b04 ldr.w r7, [sp], #4 80bf8f8: 4770 bx lr 080bf8fa : * @brief Detects if SD card is correctly plugged in the memory slot or not. * @param None * @retval Returns if SD is detected or not */ uint8_t BSP_SD_IsDetected(void) { 80bf8fa: b580 push {r7, lr} 80bf8fc: b082 sub sp, #8 80bf8fe: af00 add r7, sp, #0 __IO uint8_t status = SD_PRESENT; 80bf900: 2301 movs r3, #1 80bf902: 71fb strb r3, [r7, #7] if(BSP_PlatformIsDetected() == 0x0) 80bf904: f7ff ff44 bl 80bf790 80bf908: 4603 mov r3, r0 80bf90a: 2b00 cmp r3, #0 80bf90c: d101 bne.n 80bf912 status = SD_NOT_PRESENT; 80bf90e: 2300 movs r3, #0 80bf910: 71fb strb r3, [r7, #7] /*if(BSP_PlatformIsDetected() == 0x0) { status = SD_NOT_PRESENT; }*/ return status; 80bf912: 79fb ldrb r3, [r7, #7] 80bf914: b2db uxtb r3, r3 } 80bf916: 4618 mov r0, r3 80bf918: 3708 adds r7, #8 80bf91a: 46bd mov sp, r7 80bf91c: bd80 pop {r7, pc} ... 080bf920 : { 80bf920: b480 push {r7} 80bf922: b085 sub sp, #20 80bf924: af00 add r7, sp, #0 SCB->CSSELR = 0U; /*(0U << 1U) | 0U;*/ /* Level 1 data cache */ 80bf926: 4b19 ldr r3, [pc, #100] ; (80bf98c ) 80bf928: 2200 movs r2, #0 80bf92a: f8c3 2084 str.w r2, [r3, #132] ; 0x84 __ASM volatile ("dsb 0xF":::"memory"); 80bf92e: f3bf 8f4f dsb sy ccsidr = SCB->CCSIDR; 80bf932: 4b16 ldr r3, [pc, #88] ; (80bf98c ) 80bf934: f8d3 3080 ldr.w r3, [r3, #128] ; 0x80 80bf938: 607b str r3, [r7, #4] sets = (uint32_t)(CCSIDR_SETS(ccsidr)); 80bf93a: 687b ldr r3, [r7, #4] 80bf93c: 0b5b lsrs r3, r3, #13 80bf93e: f3c3 030e ubfx r3, r3, #0, #15 80bf942: 60fb str r3, [r7, #12] ways = (uint32_t)(CCSIDR_WAYS(ccsidr)); 80bf944: 687b ldr r3, [r7, #4] 80bf946: 08db lsrs r3, r3, #3 80bf948: f3c3 0309 ubfx r3, r3, #0, #10 80bf94c: 60bb str r3, [r7, #8] SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80bf94e: 490f ldr r1, [pc, #60] ; (80bf98c ) 80bf950: 68fb ldr r3, [r7, #12] 80bf952: 015a lsls r2, r3, #5 80bf954: f643 73e0 movw r3, #16352 ; 0x3fe0 80bf958: 4013 ands r3, r2 ((ways << SCB_DCCISW_WAY_Pos) & SCB_DCCISW_WAY_Msk) ); 80bf95a: 68ba ldr r2, [r7, #8] 80bf95c: 0792 lsls r2, r2, #30 SCB->DCCISW = (((sets << SCB_DCCISW_SET_Pos) & SCB_DCCISW_SET_Msk) | 80bf95e: 4313 orrs r3, r2 80bf960: f8c1 3274 str.w r3, [r1, #628] ; 0x274 } while (ways-- != 0U); 80bf964: 68bb ldr r3, [r7, #8] 80bf966: 1e5a subs r2, r3, #1 80bf968: 60ba str r2, [r7, #8] 80bf96a: 2b00 cmp r3, #0 80bf96c: d1ef bne.n 80bf94e } while(sets-- != 0U); 80bf96e: 68fb ldr r3, [r7, #12] 80bf970: 1e5a subs r2, r3, #1 80bf972: 60fa str r2, [r7, #12] 80bf974: 2b00 cmp r3, #0 80bf976: d1e5 bne.n 80bf944 80bf978: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80bf97c: f3bf 8f6f isb sy } 80bf980: bf00 nop 80bf982: 3714 adds r7, #20 80bf984: 46bd mov sp, r7 80bf986: f85d 7b04 ldr.w r7, [sp], #4 80bf98a: 4770 bx lr 80bf98c: e000ed00 .word 0xe000ed00 080bf990 : { 80bf990: b480 push {r7} 80bf992: b087 sub sp, #28 80bf994: af00 add r7, sp, #0 80bf996: 6078 str r0, [r7, #4] 80bf998: 6039 str r1, [r7, #0] int32_t op_size = dsize; 80bf99a: 683b ldr r3, [r7, #0] 80bf99c: 617b str r3, [r7, #20] uint32_t op_addr = (uint32_t) addr; 80bf99e: 687b ldr r3, [r7, #4] 80bf9a0: 613b str r3, [r7, #16] int32_t linesize = 32; /* in Cortex-M7 size of cache line is fixed to 8 words (32 bytes) */ 80bf9a2: 2320 movs r3, #32 80bf9a4: 60fb str r3, [r7, #12] __ASM volatile ("dsb 0xF":::"memory"); 80bf9a6: f3bf 8f4f dsb sy while (op_size > 0) { 80bf9aa: e00b b.n 80bf9c4 SCB->DCCIMVAC = op_addr; 80bf9ac: 4a0c ldr r2, [pc, #48] ; (80bf9e0 ) 80bf9ae: 693b ldr r3, [r7, #16] 80bf9b0: f8c2 3270 str.w r3, [r2, #624] ; 0x270 op_addr += (uint32_t)linesize; 80bf9b4: 68fb ldr r3, [r7, #12] 80bf9b6: 693a ldr r2, [r7, #16] 80bf9b8: 4413 add r3, r2 80bf9ba: 613b str r3, [r7, #16] op_size -= linesize; 80bf9bc: 697a ldr r2, [r7, #20] 80bf9be: 68fb ldr r3, [r7, #12] 80bf9c0: 1ad3 subs r3, r2, r3 80bf9c2: 617b str r3, [r7, #20] while (op_size > 0) { 80bf9c4: 697b ldr r3, [r7, #20] 80bf9c6: 2b00 cmp r3, #0 80bf9c8: dcf0 bgt.n 80bf9ac 80bf9ca: f3bf 8f4f dsb sy __ASM volatile ("isb 0xF":::"memory"); 80bf9ce: f3bf 8f6f isb sy } 80bf9d2: bf00 nop 80bf9d4: 371c adds r7, #28 80bf9d6: 46bd mov sp, r7 80bf9d8: f85d 7b04 ldr.w r7, [sp], #4 80bf9dc: 4770 bx lr 80bf9de: bf00 nop 80bf9e0: e000ed00 .word 0xe000ed00 080bf9e4 : /* can be used to modify / undefine following code or add new code */ /* USER CODE END beforeFunctionSection */ /* Private functions ---------------------------------------------------------*/ static DSTATUS SD_CheckStatus(BYTE lun) { 80bf9e4: b580 push {r7, lr} 80bf9e6: b082 sub sp, #8 80bf9e8: af00 add r7, sp, #0 80bf9ea: 4603 mov r3, r0 80bf9ec: 71fb strb r3, [r7, #7] Stat = STA_NOINIT; 80bf9ee: 4b0b ldr r3, [pc, #44] ; (80bfa1c ) 80bf9f0: 2201 movs r2, #1 80bf9f2: 701a strb r2, [r3, #0] if(BSP_SD_GetCardState() == MSD_OK) 80bf9f4: f7ff ff3e bl 80bf874 80bf9f8: 4603 mov r3, r0 80bf9fa: 2b00 cmp r3, #0 80bf9fc: d107 bne.n 80bfa0e { Stat &= ~STA_NOINIT; 80bf9fe: 4b07 ldr r3, [pc, #28] ; (80bfa1c ) 80bfa00: 781b ldrb r3, [r3, #0] 80bfa02: b2db uxtb r3, r3 80bfa04: f023 0301 bic.w r3, r3, #1 80bfa08: b2da uxtb r2, r3 80bfa0a: 4b04 ldr r3, [pc, #16] ; (80bfa1c ) 80bfa0c: 701a strb r2, [r3, #0] } return Stat; 80bfa0e: 4b03 ldr r3, [pc, #12] ; (80bfa1c ) 80bfa10: 781b ldrb r3, [r3, #0] 80bfa12: b2db uxtb r3, r3 } 80bfa14: 4618 mov r0, r3 80bfa16: 3708 adds r7, #8 80bfa18: 46bd mov sp, r7 80bfa1a: bd80 pop {r7, pc} 80bfa1c: 200209d9 .word 0x200209d9 080bfa20 : * @brief Initializes a Drive * @param lun : not used * @retval DSTATUS: Operation status */ DSTATUS SD_initialize(BYTE lun) { 80bfa20: b580 push {r7, lr} 80bfa22: b082 sub sp, #8 80bfa24: af00 add r7, sp, #0 80bfa26: 4603 mov r3, r0 80bfa28: 71fb strb r3, [r7, #7] Stat = STA_NOINIT; 80bfa2a: 4b0b ldr r3, [pc, #44] ; (80bfa58 ) 80bfa2c: 2201 movs r2, #1 80bfa2e: 701a strb r2, [r3, #0] #if !defined(DISABLE_SD_INIT) if(BSP_SD_Init() == MSD_OK) 80bfa30: f7ff fec4 bl 80bf7bc 80bfa34: 4603 mov r3, r0 80bfa36: 2b00 cmp r3, #0 80bfa38: d107 bne.n 80bfa4a { Stat = SD_CheckStatus(lun); 80bfa3a: 79fb ldrb r3, [r7, #7] 80bfa3c: 4618 mov r0, r3 80bfa3e: f7ff ffd1 bl 80bf9e4 80bfa42: 4603 mov r3, r0 80bfa44: 461a mov r2, r3 80bfa46: 4b04 ldr r3, [pc, #16] ; (80bfa58 ) 80bfa48: 701a strb r2, [r3, #0] } #else Stat = SD_CheckStatus(lun); #endif return Stat; 80bfa4a: 4b03 ldr r3, [pc, #12] ; (80bfa58 ) 80bfa4c: 781b ldrb r3, [r3, #0] 80bfa4e: b2db uxtb r3, r3 } 80bfa50: 4618 mov r0, r3 80bfa52: 3708 adds r7, #8 80bfa54: 46bd mov sp, r7 80bfa56: bd80 pop {r7, pc} 80bfa58: 200209d9 .word 0x200209d9 080bfa5c : * @brief Gets Disk Status * @param lun : not used * @retval DSTATUS: Operation status */ DSTATUS SD_status(BYTE lun) { 80bfa5c: b580 push {r7, lr} 80bfa5e: b082 sub sp, #8 80bfa60: af00 add r7, sp, #0 80bfa62: 4603 mov r3, r0 80bfa64: 71fb strb r3, [r7, #7] return SD_CheckStatus(lun); 80bfa66: 79fb ldrb r3, [r7, #7] 80bfa68: 4618 mov r0, r3 80bfa6a: f7ff ffbb bl 80bf9e4 80bfa6e: 4603 mov r3, r0 } 80bfa70: 4618 mov r0, r3 80bfa72: 3708 adds r7, #8 80bfa74: 46bd mov sp, r7 80bfa76: bd80 pop {r7, pc} 080bfa78 : * @param sector: Sector address (LBA) * @param count: Number of sectors to read (1..128) * @retval DRESULT: Operation result */ DRESULT SD_read(BYTE lun, BYTE *buff, DWORD sector, UINT count) { 80bfa78: b580 push {r7, lr} 80bfa7a: b088 sub sp, #32 80bfa7c: af00 add r7, sp, #0 80bfa7e: 60b9 str r1, [r7, #8] 80bfa80: 607a str r2, [r7, #4] 80bfa82: 603b str r3, [r7, #0] 80bfa84: 4603 mov r3, r0 80bfa86: 73fb strb r3, [r7, #15] DRESULT res = RES_ERROR; 80bfa88: 2301 movs r3, #1 80bfa8a: 77fb strb r3, [r7, #31] uint32_t timeout; uint32_t alignedAddr; #if(ENABLE_SD_DMA_CACHE_MAINTENANCE == 1) alignedAddr = (uint32_t)buff & ~0x1F; 80bfa8c: 68bb ldr r3, [r7, #8] 80bfa8e: f023 031f bic.w r3, r3, #31 80bfa92: 61bb str r3, [r7, #24] //SCB_CleanDCache_by_Addr((uint32_t *) alignedAddr, count * BLOCKSIZE + ((uint32_t) buff - alignedAddr)); SCB_CleanInvalidateDCache_by_Addr((uint32_t *) alignedAddr, count * BLOCKSIZE + ((uint32_t) buff - alignedAddr)); 80bfa94: 69b8 ldr r0, [r7, #24] 80bfa96: 683b ldr r3, [r7, #0] 80bfa98: 025a lsls r2, r3, #9 80bfa9a: 68b9 ldr r1, [r7, #8] 80bfa9c: 69bb ldr r3, [r7, #24] 80bfa9e: 1acb subs r3, r1, r3 80bfaa0: 4413 add r3, r2 80bfaa2: 4619 mov r1, r3 80bfaa4: f7ff ff74 bl 80bf990 #endif MY_SD_TIMEOUT = count * 2000UL; 80bfaa8: 683b ldr r3, [r7, #0] 80bfaaa: f44f 62fa mov.w r2, #2000 ; 0x7d0 80bfaae: fb02 f303 mul.w r3, r2, r3 80bfab2: 4a21 ldr r2, [pc, #132] ; (80bfb38 ) 80bfab4: 6013 str r3, [r2, #0] ReadStatus = 0; 80bfab6: 4b21 ldr r3, [pc, #132] ; (80bfb3c ) 80bfab8: 2200 movs r2, #0 80bfaba: 601a str r2, [r3, #0] //SCB_CleanInvalidateDCache(); if(BSP_SD_ReadBlocks_DMA((uint32_t *)buff, (uint32_t) sector, count) == MSD_OK) 80bfabc: 683a ldr r2, [r7, #0] 80bfabe: 6879 ldr r1, [r7, #4] 80bfac0: 68b8 ldr r0, [r7, #8] 80bfac2: f7ff fea3 bl 80bf80c 80bfac6: 4603 mov r3, r0 80bfac8: 2b00 cmp r3, #0 80bfaca: d12f bne.n 80bfb2c { timeout = HAL_GetTick(); 80bfacc: f7f3 fbd0 bl 80b3270 80bfad0: 6178 str r0, [r7, #20] while((ReadStatus == 0) && ((HAL_GetTick() - timeout) < MY_SD_TIMEOUT)); 80bfad2: bf00 nop 80bfad4: 4b19 ldr r3, [pc, #100] ; (80bfb3c ) 80bfad6: 681b ldr r3, [r3, #0] 80bfad8: 2b00 cmp r3, #0 80bfada: d108 bne.n 80bfaee 80bfadc: f7f3 fbc8 bl 80b3270 80bfae0: 4602 mov r2, r0 80bfae2: 697b ldr r3, [r7, #20] 80bfae4: 1ad2 subs r2, r2, r3 80bfae6: 4b14 ldr r3, [pc, #80] ; (80bfb38 ) 80bfae8: 681b ldr r3, [r3, #0] 80bfaea: 429a cmp r2, r3 80bfaec: d3f2 bcc.n 80bfad4 if(ReadStatus == 0) 80bfaee: 4b13 ldr r3, [pc, #76] ; (80bfb3c ) 80bfaf0: 681b ldr r3, [r3, #0] 80bfaf2: 2b00 cmp r3, #0 80bfaf4: d102 bne.n 80bfafc { res = RES_ERROR; 80bfaf6: 2301 movs r3, #1 80bfaf8: 77fb strb r3, [r7, #31] 80bfafa: e017 b.n 80bfb2c } else { ReadStatus = 0; 80bfafc: 4b0f ldr r3, [pc, #60] ; (80bfb3c ) 80bfafe: 2200 movs r2, #0 80bfb00: 601a str r2, [r3, #0] timeout = HAL_GetTick(); 80bfb02: f7f3 fbb5 bl 80b3270 80bfb06: 6178 str r0, [r7, #20] while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80bfb08: e007 b.n 80bfb1a { if(BSP_SD_GetCardState() == SD_TRANSFER_OK) 80bfb0a: f7ff feb3 bl 80bf874 80bfb0e: 4603 mov r3, r0 80bfb10: 2b00 cmp r3, #0 80bfb12: d102 bne.n 80bfb1a { res = RES_OK; 80bfb14: 2300 movs r3, #0 80bfb16: 77fb strb r3, [r7, #31] //_ISB(); /* #if(ENABLE_SD_DMA_CACHE_MAINTENANCE == 1) alignedAddr = (uint32_t)buff & ~0x1F; SCB_InvalidateDCache_by_Addr((uint32_t *) alignedAddr, count * BLOCKSIZE + ((uint32_t) buff - alignedAddr)); #endif*/ break; 80bfb18: e008 b.n 80bfb2c while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80bfb1a: f7f3 fba9 bl 80b3270 80bfb1e: 4602 mov r2, r0 80bfb20: 697b ldr r3, [r7, #20] 80bfb22: 1ad2 subs r2, r2, r3 80bfb24: 4b04 ldr r3, [pc, #16] ; (80bfb38 ) 80bfb26: 681b ldr r3, [r3, #0] 80bfb28: 429a cmp r2, r3 80bfb2a: d3ee bcc.n 80bfb0a } } } } return res; 80bfb2c: 7ffb ldrb r3, [r7, #31] } 80bfb2e: 4618 mov r0, r3 80bfb30: 3720 adds r7, #32 80bfb32: 46bd mov sp, r7 80bfb34: bd80 pop {r7, pc} 80bfb36: bf00 nop 80bfb38: 2002169c .word 0x2002169c 80bfb3c: 200216a4 .word 0x200216a4 080bfb40 : * @param count: Number of sectors to write (1..128) * @retval DRESULT: Operation result */ #if _USE_WRITE == 1 DRESULT SD_write(BYTE lun, const BYTE *buff, DWORD sector, UINT count) { 80bfb40: b580 push {r7, lr} 80bfb42: b086 sub sp, #24 80bfb44: af00 add r7, sp, #0 80bfb46: 60b9 str r1, [r7, #8] 80bfb48: 607a str r2, [r7, #4] 80bfb4a: 603b str r3, [r7, #0] 80bfb4c: 4603 mov r3, r0 80bfb4e: 73fb strb r3, [r7, #15] DRESULT res = RES_ERROR; 80bfb50: 2301 movs r3, #1 80bfb52: 75fb strb r3, [r7, #23] //alignedAddr = (uint32_t) buff & ~0x1F; //SCB_CleanInvalidateDCache_by_Addr((uint32_t *) alignedAddr, count*BLOCKSIZE + ((uint32_t)buff - alignedAddr)); //SCB_CleanInvalidateDCache_by_Addr((uint32_t *) alignedAddr, count*BLOCKSIZE + ((uint32_t)buff - alignedAddr)); #endif MY_SD_TIMEOUT = count * 2000UL; 80bfb54: 683b ldr r3, [r7, #0] 80bfb56: f44f 62fa mov.w r2, #2000 ; 0x7d0 80bfb5a: fb02 f303 mul.w r3, r2, r3 80bfb5e: 4a22 ldr r2, [pc, #136] ; (80bfbe8 ) 80bfb60: 6013 str r3, [r2, #0] WriteStatus = 0; 80bfb62: 4b22 ldr r3, [pc, #136] ; (80bfbec ) 80bfb64: 2200 movs r2, #0 80bfb66: 601a str r2, [r3, #0] SCB_CleanInvalidateDCache(); 80bfb68: f7ff feda bl 80bf920 if(BSP_SD_WriteBlocks_DMA((uint32_t *) buff, (uint32_t) sector, count) == MSD_OK) 80bfb6c: 683a ldr r2, [r7, #0] 80bfb6e: 6879 ldr r1, [r7, #4] 80bfb70: 68b8 ldr r0, [r7, #8] 80bfb72: f7ff fe65 bl 80bf840 80bfb76: 4603 mov r3, r0 80bfb78: 2b00 cmp r3, #0 80bfb7a: d12f bne.n 80bfbdc { timeout = HAL_GetTick(); 80bfb7c: f7f3 fb78 bl 80b3270 80bfb80: 6138 str r0, [r7, #16] while((WriteStatus == 0) && ((HAL_GetTick() - timeout) < MY_SD_TIMEOUT)); 80bfb82: bf00 nop 80bfb84: 4b19 ldr r3, [pc, #100] ; (80bfbec ) 80bfb86: 681b ldr r3, [r3, #0] 80bfb88: 2b00 cmp r3, #0 80bfb8a: d108 bne.n 80bfb9e 80bfb8c: f7f3 fb70 bl 80b3270 80bfb90: 4602 mov r2, r0 80bfb92: 693b ldr r3, [r7, #16] 80bfb94: 1ad2 subs r2, r2, r3 80bfb96: 4b14 ldr r3, [pc, #80] ; (80bfbe8 ) 80bfb98: 681b ldr r3, [r3, #0] 80bfb9a: 429a cmp r2, r3 80bfb9c: d3f2 bcc.n 80bfb84 if(WriteStatus == 0) 80bfb9e: 4b13 ldr r3, [pc, #76] ; (80bfbec ) 80bfba0: 681b ldr r3, [r3, #0] 80bfba2: 2b00 cmp r3, #0 80bfba4: d102 bne.n 80bfbac { res = RES_ERROR; 80bfba6: 2301 movs r3, #1 80bfba8: 75fb strb r3, [r7, #23] 80bfbaa: e017 b.n 80bfbdc } else { WriteStatus = 0; 80bfbac: 4b0f ldr r3, [pc, #60] ; (80bfbec ) 80bfbae: 2200 movs r2, #0 80bfbb0: 601a str r2, [r3, #0] timeout = HAL_GetTick(); 80bfbb2: f7f3 fb5d bl 80b3270 80bfbb6: 6138 str r0, [r7, #16] while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80bfbb8: e007 b.n 80bfbca { if (BSP_SD_GetCardState() == SD_TRANSFER_OK) 80bfbba: f7ff fe5b bl 80bf874 80bfbbe: 4603 mov r3, r0 80bfbc0: 2b00 cmp r3, #0 80bfbc2: d102 bne.n 80bfbca { res = RES_OK; 80bfbc4: 2300 movs r3, #0 80bfbc6: 75fb strb r3, [r7, #23] //alignedAddr = (uint32_t) buff & ~0x1F; //SCB_InvalidateDCache_by_Addr((uint32_t *) alignedAddr, count*BLOCKSIZE + ((uint32_t)buff - alignedAddr)); break; 80bfbc8: e008 b.n 80bfbdc while((HAL_GetTick() - timeout) < MY_SD_TIMEOUT) 80bfbca: f7f3 fb51 bl 80b3270 80bfbce: 4602 mov r2, r0 80bfbd0: 693b ldr r3, [r7, #16] 80bfbd2: 1ad2 subs r2, r2, r3 80bfbd4: 4b04 ldr r3, [pc, #16] ; (80bfbe8 ) 80bfbd6: 681b ldr r3, [r3, #0] 80bfbd8: 429a cmp r2, r3 80bfbda: d3ee bcc.n 80bfbba } } } } return res; 80bfbdc: 7dfb ldrb r3, [r7, #23] } 80bfbde: 4618 mov r0, r3 80bfbe0: 3718 adds r7, #24 80bfbe2: 46bd mov sp, r7 80bfbe4: bd80 pop {r7, pc} 80bfbe6: bf00 nop 80bfbe8: 2002169c .word 0x2002169c 80bfbec: 200216a0 .word 0x200216a0 080bfbf0 : * @param *buff: Buffer to send/receive control data * @retval DRESULT: Operation result */ #if _USE_IOCTL == 1 DRESULT SD_ioctl(BYTE lun, BYTE cmd, void *buff) { 80bfbf0: b580 push {r7, lr} 80bfbf2: b08c sub sp, #48 ; 0x30 80bfbf4: af00 add r7, sp, #0 80bfbf6: 4603 mov r3, r0 80bfbf8: 603a str r2, [r7, #0] 80bfbfa: 71fb strb r3, [r7, #7] 80bfbfc: 460b mov r3, r1 80bfbfe: 71bb strb r3, [r7, #6] DRESULT res = RES_ERROR; 80bfc00: 2301 movs r3, #1 80bfc02: f887 302f strb.w r3, [r7, #47] ; 0x2f BSP_SD_CardInfo CardInfo; if (Stat & STA_NOINIT) return RES_NOTRDY; 80bfc06: 4b25 ldr r3, [pc, #148] ; (80bfc9c ) 80bfc08: 781b ldrb r3, [r3, #0] 80bfc0a: b2db uxtb r3, r3 80bfc0c: f003 0301 and.w r3, r3, #1 80bfc10: 2b00 cmp r3, #0 80bfc12: d001 beq.n 80bfc18 80bfc14: 2303 movs r3, #3 80bfc16: e03c b.n 80bfc92 switch (cmd) 80bfc18: 79bb ldrb r3, [r7, #6] 80bfc1a: 2b03 cmp r3, #3 80bfc1c: d834 bhi.n 80bfc88 80bfc1e: a201 add r2, pc, #4 ; (adr r2, 80bfc24 ) 80bfc20: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80bfc24: 080bfc35 .word 0x080bfc35 80bfc28: 080bfc3d .word 0x080bfc3d 80bfc2c: 080bfc55 .word 0x080bfc55 80bfc30: 080bfc6f .word 0x080bfc6f { /* Make sure that no pending write process */ case CTRL_SYNC : res = RES_OK; 80bfc34: 2300 movs r3, #0 80bfc36: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80bfc3a: e028 b.n 80bfc8e /* Get number of sectors on the disk (DWORD) */ case GET_SECTOR_COUNT : BSP_SD_GetCardInfo(&CardInfo); 80bfc3c: f107 030c add.w r3, r7, #12 80bfc40: 4618 mov r0, r3 80bfc42: f7ff fe27 bl 80bf894 *(DWORD*)buff = CardInfo.LogBlockNbr; 80bfc46: 6a7a ldr r2, [r7, #36] ; 0x24 80bfc48: 683b ldr r3, [r7, #0] 80bfc4a: 601a str r2, [r3, #0] res = RES_OK; 80bfc4c: 2300 movs r3, #0 80bfc4e: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80bfc52: e01c b.n 80bfc8e /* Get R/W sector size (WORD) */ case GET_SECTOR_SIZE : BSP_SD_GetCardInfo(&CardInfo); 80bfc54: f107 030c add.w r3, r7, #12 80bfc58: 4618 mov r0, r3 80bfc5a: f7ff fe1b bl 80bf894 *(WORD*)buff = CardInfo.LogBlockSize; 80bfc5e: 6abb ldr r3, [r7, #40] ; 0x28 80bfc60: b29a uxth r2, r3 80bfc62: 683b ldr r3, [r7, #0] 80bfc64: 801a strh r2, [r3, #0] res = RES_OK; 80bfc66: 2300 movs r3, #0 80bfc68: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80bfc6c: e00f b.n 80bfc8e /* Get erase block size in unit of sector (DWORD) */ case GET_BLOCK_SIZE : BSP_SD_GetCardInfo(&CardInfo); 80bfc6e: f107 030c add.w r3, r7, #12 80bfc72: 4618 mov r0, r3 80bfc74: f7ff fe0e bl 80bf894 *(DWORD*)buff = CardInfo.LogBlockSize / SD_DEFAULT_BLOCK_SIZE; 80bfc78: 6abb ldr r3, [r7, #40] ; 0x28 80bfc7a: 0a5a lsrs r2, r3, #9 80bfc7c: 683b ldr r3, [r7, #0] 80bfc7e: 601a str r2, [r3, #0] res = RES_OK; 80bfc80: 2300 movs r3, #0 80bfc82: f887 302f strb.w r3, [r7, #47] ; 0x2f break; 80bfc86: e002 b.n 80bfc8e default: res = RES_PARERR; 80bfc88: 2304 movs r3, #4 80bfc8a: f887 302f strb.w r3, [r7, #47] ; 0x2f } return res; 80bfc8e: f897 302f ldrb.w r3, [r7, #47] ; 0x2f } 80bfc92: 4618 mov r0, r3 80bfc94: 3730 adds r7, #48 ; 0x30 80bfc96: 46bd mov sp, r7 80bfc98: bd80 pop {r7, pc} 80bfc9a: bf00 nop 80bfc9c: 200209d9 .word 0x200209d9 080bfca0 : prototype =============================================================================== */ //void BSP_SD_WriteCpltCallback(uint32_t SdCard) void BSP_SD_WriteCpltCallback(void) { 80bfca0: b480 push {r7} 80bfca2: af00 add r7, sp, #0 WriteStatus = 1; 80bfca4: 4b03 ldr r3, [pc, #12] ; (80bfcb4 ) 80bfca6: 2201 movs r2, #1 80bfca8: 601a str r2, [r3, #0] } 80bfcaa: bf00 nop 80bfcac: 46bd mov sp, r7 80bfcae: f85d 7b04 ldr.w r7, [sp], #4 80bfcb2: 4770 bx lr 80bfcb4: 200216a0 .word 0x200216a0 080bfcb8 : prototype =============================================================================== */ //void BSP_SD_ReadCpltCallback(uint32_t SdCard) void BSP_SD_ReadCpltCallback(void) { 80bfcb8: b480 push {r7} 80bfcba: af00 add r7, sp, #0 ReadStatus = 1; 80bfcbc: 4b03 ldr r3, [pc, #12] ; (80bfccc ) 80bfcbe: 2201 movs r2, #1 80bfcc0: 601a str r2, [r3, #0] } 80bfcc2: bf00 nop 80bfcc4: 46bd mov sp, r7 80bfcc6: f85d 7b04 ldr.w r7, [sp], #4 80bfcca: 4770 bx lr 80bfccc: 200216a4 .word 0x200216a4 080bfcd0 : * @param pdev: device instance * @param cfgidx: configuration index * @retval status */ uint8_t USBD_MSC_Init(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80bfcd0: b580 push {r7, lr} 80bfcd2: b084 sub sp, #16 80bfcd4: af00 add r7, sp, #0 80bfcd6: 6078 str r0, [r7, #4] 80bfcd8: 460b mov r3, r1 80bfcda: 70fb strb r3, [r7, #3] UNUSED(cfgidx); USBD_MSC_BOT_HandleTypeDef *hmsc; hmsc = USBD_malloc(sizeof(USBD_MSC_BOT_HandleTypeDef)); 80bfcdc: f44f 701d mov.w r0, #628 ; 0x274 80bfce0: f00d f9a4 bl 80cd02c 80bfce4: 4603 mov r3, r0 80bfce6: 60fb str r3, [r7, #12] if (hmsc == NULL) 80bfce8: 68fb ldr r3, [r7, #12] 80bfcea: 2b00 cmp r3, #0 80bfcec: d105 bne.n 80bfcfa { pdev->pClassData = NULL; 80bfcee: 687b ldr r3, [r7, #4] 80bfcf0: 2200 movs r2, #0 80bfcf2: f8c3 22bc str.w r2, [r3, #700] ; 0x2bc return (uint8_t)USBD_EMEM; 80bfcf6: 2302 movs r3, #2 80bfcf8: e034 b.n 80bfd64 } pdev->pClassData = (void *)hmsc; 80bfcfa: 687b ldr r3, [r7, #4] 80bfcfc: 68fa ldr r2, [r7, #12] 80bfcfe: f8c3 22bc str.w r2, [r3, #700] ; 0x2bc if (pdev->dev_speed == USBD_SPEED_HIGH) 80bfd02: 687b ldr r3, [r7, #4] 80bfd04: 7c1b ldrb r3, [r3, #16] 80bfd06: 2b00 cmp r3, #0 80bfd08: d115 bne.n 80bfd36 { /* Open EP OUT */ (void)USBD_LL_OpenEP(pdev, MSC_EPOUT_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_HS_PACKET); 80bfd0a: f44f 7300 mov.w r3, #512 ; 0x200 80bfd0e: 2202 movs r2, #2 80bfd10: 2101 movs r1, #1 80bfd12: 6878 ldr r0, [r7, #4] 80bfd14: f009 fe23 bl 80c995e pdev->ep_out[MSC_EPOUT_ADDR & 0xFU].is_used = 1U; 80bfd18: 687b ldr r3, [r7, #4] 80bfd1a: 2201 movs r2, #1 80bfd1c: f8a3 2178 strh.w r2, [r3, #376] ; 0x178 /* Open EP IN */ (void)USBD_LL_OpenEP(pdev, MSC_EPIN_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_HS_PACKET); 80bfd20: f44f 7300 mov.w r3, #512 ; 0x200 80bfd24: 2202 movs r2, #2 80bfd26: 2181 movs r1, #129 ; 0x81 80bfd28: 6878 ldr r0, [r7, #4] 80bfd2a: f009 fe18 bl 80c995e pdev->ep_in[MSC_EPIN_ADDR & 0xFU].is_used = 1U; 80bfd2e: 687b ldr r3, [r7, #4] 80bfd30: 2201 movs r2, #1 80bfd32: 871a strh r2, [r3, #56] ; 0x38 80bfd34: e012 b.n 80bfd5c } else { /* Open EP OUT */ (void)USBD_LL_OpenEP(pdev, MSC_EPOUT_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_FS_PACKET); 80bfd36: 2340 movs r3, #64 ; 0x40 80bfd38: 2202 movs r2, #2 80bfd3a: 2101 movs r1, #1 80bfd3c: 6878 ldr r0, [r7, #4] 80bfd3e: f009 fe0e bl 80c995e pdev->ep_out[MSC_EPOUT_ADDR & 0xFU].is_used = 1U; 80bfd42: 687b ldr r3, [r7, #4] 80bfd44: 2201 movs r2, #1 80bfd46: f8a3 2178 strh.w r2, [r3, #376] ; 0x178 /* Open EP IN */ (void)USBD_LL_OpenEP(pdev, MSC_EPIN_ADDR, USBD_EP_TYPE_BULK, MSC_MAX_FS_PACKET); 80bfd4a: 2340 movs r3, #64 ; 0x40 80bfd4c: 2202 movs r2, #2 80bfd4e: 2181 movs r1, #129 ; 0x81 80bfd50: 6878 ldr r0, [r7, #4] 80bfd52: f009 fe04 bl 80c995e pdev->ep_in[MSC_EPIN_ADDR & 0xFU].is_used = 1U; 80bfd56: 687b ldr r3, [r7, #4] 80bfd58: 2201 movs r2, #1 80bfd5a: 871a strh r2, [r3, #56] ; 0x38 } /* Init the BOT layer */ MSC_BOT_Init(pdev); 80bfd5c: 6878 ldr r0, [r7, #4] 80bfd5e: f000 f98e bl 80c007e return (uint8_t)USBD_OK; 80bfd62: 2300 movs r3, #0 } 80bfd64: 4618 mov r0, r3 80bfd66: 3710 adds r7, #16 80bfd68: 46bd mov sp, r7 80bfd6a: bd80 pop {r7, pc} 080bfd6c : * @param pdev: device instance * @param cfgidx: configuration index * @retval status */ uint8_t USBD_MSC_DeInit(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80bfd6c: b580 push {r7, lr} 80bfd6e: b082 sub sp, #8 80bfd70: af00 add r7, sp, #0 80bfd72: 6078 str r0, [r7, #4] 80bfd74: 460b mov r3, r1 80bfd76: 70fb strb r3, [r7, #3] UNUSED(cfgidx); /* Close MSC EPs */ (void)USBD_LL_CloseEP(pdev, MSC_EPOUT_ADDR); 80bfd78: 2101 movs r1, #1 80bfd7a: 6878 ldr r0, [r7, #4] 80bfd7c: f009 fe15 bl 80c99aa pdev->ep_out[MSC_EPOUT_ADDR & 0xFU].is_used = 0U; 80bfd80: 687b ldr r3, [r7, #4] 80bfd82: 2200 movs r2, #0 80bfd84: f8a3 2178 strh.w r2, [r3, #376] ; 0x178 /* Close EP IN */ (void)USBD_LL_CloseEP(pdev, MSC_EPIN_ADDR); 80bfd88: 2181 movs r1, #129 ; 0x81 80bfd8a: 6878 ldr r0, [r7, #4] 80bfd8c: f009 fe0d bl 80c99aa pdev->ep_in[MSC_EPIN_ADDR & 0xFU].is_used = 0U; 80bfd90: 687b ldr r3, [r7, #4] 80bfd92: 2200 movs r2, #0 80bfd94: 871a strh r2, [r3, #56] ; 0x38 /* De-Init the BOT layer */ MSC_BOT_DeInit(pdev); 80bfd96: 6878 ldr r0, [r7, #4] 80bfd98: f000 f9c7 bl 80c012a /* Free MSC Class Resources */ if (pdev->pClassData != NULL) 80bfd9c: 687b ldr r3, [r7, #4] 80bfd9e: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80bfda2: 2b00 cmp r3, #0 80bfda4: d009 beq.n 80bfdba { (void)USBD_free(pdev->pClassData); 80bfda6: 687b ldr r3, [r7, #4] 80bfda8: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80bfdac: 4618 mov r0, r3 80bfdae: f00d f945 bl 80cd03c pdev->pClassData = NULL; 80bfdb2: 687b ldr r3, [r7, #4] 80bfdb4: 2200 movs r2, #0 80bfdb6: f8c3 22bc str.w r2, [r3, #700] ; 0x2bc } return (uint8_t)USBD_OK; 80bfdba: 2300 movs r3, #0 } 80bfdbc: 4618 mov r0, r3 80bfdbe: 3708 adds r7, #8 80bfdc0: 46bd mov sp, r7 80bfdc2: bd80 pop {r7, pc} 080bfdc4 : * @param pdev: device instance * @param req: USB request * @retval status */ uint8_t USBD_MSC_Setup(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80bfdc4: b580 push {r7, lr} 80bfdc6: b086 sub sp, #24 80bfdc8: af00 add r7, sp, #0 80bfdca: 6078 str r0, [r7, #4] 80bfdcc: 6039 str r1, [r7, #0] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80bfdce: 687b ldr r3, [r7, #4] 80bfdd0: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80bfdd4: 613b str r3, [r7, #16] USBD_StatusTypeDef ret = USBD_OK; 80bfdd6: 2300 movs r3, #0 80bfdd8: 75fb strb r3, [r7, #23] uint16_t status_info = 0U; 80bfdda: 2300 movs r3, #0 80bfddc: 81fb strh r3, [r7, #14] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80bfdde: 683b ldr r3, [r7, #0] 80bfde0: 781b ldrb r3, [r3, #0] 80bfde2: f003 0360 and.w r3, r3, #96 ; 0x60 80bfde6: 2b00 cmp r3, #0 80bfde8: d04d beq.n 80bfe86 80bfdea: 2b20 cmp r3, #32 80bfdec: f040 80c6 bne.w 80bff7c { /* Class request */ case USB_REQ_TYPE_CLASS: switch (req->bRequest) 80bfdf0: 683b ldr r3, [r7, #0] 80bfdf2: 785b ldrb r3, [r3, #1] 80bfdf4: 2bfe cmp r3, #254 ; 0xfe 80bfdf6: d002 beq.n 80bfdfe 80bfdf8: 2bff cmp r3, #255 ; 0xff 80bfdfa: d024 beq.n 80bfe46 80bfdfc: e03b b.n 80bfe76 { case BOT_GET_MAX_LUN: if ((req->wValue == 0U) && (req->wLength == 1U) && 80bfdfe: 683b ldr r3, [r7, #0] 80bfe00: 885b ldrh r3, [r3, #2] 80bfe02: 2b00 cmp r3, #0 80bfe04: d118 bne.n 80bfe38 80bfe06: 683b ldr r3, [r7, #0] 80bfe08: 88db ldrh r3, [r3, #6] 80bfe0a: 2b01 cmp r3, #1 80bfe0c: d114 bne.n 80bfe38 ((req->bmRequest & 0x80U) == 0x80U)) 80bfe0e: 683b ldr r3, [r7, #0] 80bfe10: 781b ldrb r3, [r3, #0] 80bfe12: b25b sxtb r3, r3 if ((req->wValue == 0U) && (req->wLength == 1U) && 80bfe14: 2b00 cmp r3, #0 80bfe16: da0f bge.n 80bfe38 { hmsc->max_lun = (uint32_t)((USBD_StorageTypeDef *)pdev->pUserData)->GetMaxLun(); 80bfe18: 687b ldr r3, [r7, #4] 80bfe1a: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80bfe1e: 699b ldr r3, [r3, #24] 80bfe20: 4798 blx r3 80bfe22: 4603 mov r3, r0 80bfe24: 461a mov r2, r3 80bfe26: 693b ldr r3, [r7, #16] 80bfe28: 601a str r2, [r3, #0] (void)USBD_CtlSendData(pdev, (uint8_t *)&hmsc->max_lun, 1U); 80bfe2a: 693b ldr r3, [r7, #16] 80bfe2c: 2201 movs r2, #1 80bfe2e: 4619 mov r1, r3 80bfe30: 6878 ldr r0, [r7, #4] 80bfe32: f002 fc82 bl 80c273a else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80bfe36: e025 b.n 80bfe84 USBD_CtlError(pdev, req); 80bfe38: 6839 ldr r1, [r7, #0] 80bfe3a: 6878 ldr r0, [r7, #4] 80bfe3c: f002 fc0c bl 80c2658 ret = USBD_FAIL; 80bfe40: 2303 movs r3, #3 80bfe42: 75fb strb r3, [r7, #23] break; 80bfe44: e01e b.n 80bfe84 case BOT_RESET : if ((req->wValue == 0U) && (req->wLength == 0U) && 80bfe46: 683b ldr r3, [r7, #0] 80bfe48: 885b ldrh r3, [r3, #2] 80bfe4a: 2b00 cmp r3, #0 80bfe4c: d10c bne.n 80bfe68 80bfe4e: 683b ldr r3, [r7, #0] 80bfe50: 88db ldrh r3, [r3, #6] 80bfe52: 2b00 cmp r3, #0 80bfe54: d108 bne.n 80bfe68 ((req->bmRequest & 0x80U) != 0x80U)) 80bfe56: 683b ldr r3, [r7, #0] 80bfe58: 781b ldrb r3, [r3, #0] 80bfe5a: b25b sxtb r3, r3 if ((req->wValue == 0U) && (req->wLength == 0U) && 80bfe5c: 2b00 cmp r3, #0 80bfe5e: db03 blt.n 80bfe68 { MSC_BOT_Reset(pdev); 80bfe60: 6878 ldr r0, [r7, #4] 80bfe62: f000 f940 bl 80c00e6 else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80bfe66: e00d b.n 80bfe84 USBD_CtlError(pdev, req); 80bfe68: 6839 ldr r1, [r7, #0] 80bfe6a: 6878 ldr r0, [r7, #4] 80bfe6c: f002 fbf4 bl 80c2658 ret = USBD_FAIL; 80bfe70: 2303 movs r3, #3 80bfe72: 75fb strb r3, [r7, #23] break; 80bfe74: e006 b.n 80bfe84 default: USBD_CtlError(pdev, req); 80bfe76: 6839 ldr r1, [r7, #0] 80bfe78: 6878 ldr r0, [r7, #4] 80bfe7a: f002 fbed bl 80c2658 ret = USBD_FAIL; 80bfe7e: 2303 movs r3, #3 80bfe80: 75fb strb r3, [r7, #23] break; 80bfe82: bf00 nop } break; 80bfe84: e081 b.n 80bff8a /* Interface & Endpoint request */ case USB_REQ_TYPE_STANDARD: switch (req->bRequest) 80bfe86: 683b ldr r3, [r7, #0] 80bfe88: 785b ldrb r3, [r3, #1] 80bfe8a: 2b0b cmp r3, #11 80bfe8c: d86d bhi.n 80bff6a 80bfe8e: a201 add r2, pc, #4 ; (adr r2, 80bfe94 ) 80bfe90: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80bfe94: 080bfec5 .word 0x080bfec5 80bfe98: 080bff3b .word 0x080bff3b 80bfe9c: 080bff6b .word 0x080bff6b 80bfea0: 080bff6b .word 0x080bff6b 80bfea4: 080bff6b .word 0x080bff6b 80bfea8: 080bff6b .word 0x080bff6b 80bfeac: 080bff6b .word 0x080bff6b 80bfeb0: 080bff6b .word 0x080bff6b 80bfeb4: 080bff6b .word 0x080bff6b 80bfeb8: 080bff6b .word 0x080bff6b 80bfebc: 080bfeed .word 0x080bfeed 80bfec0: 080bff15 .word 0x080bff15 { case USB_REQ_GET_STATUS: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80bfec4: 687b ldr r3, [r7, #4] 80bfec6: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80bfeca: 2b03 cmp r3, #3 80bfecc: d107 bne.n 80bfede { (void)USBD_CtlSendData(pdev, (uint8_t *)&status_info, 2U); 80bfece: f107 030e add.w r3, r7, #14 80bfed2: 2202 movs r2, #2 80bfed4: 4619 mov r1, r3 80bfed6: 6878 ldr r0, [r7, #4] 80bfed8: f002 fc2f bl 80c273a else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80bfedc: e04d b.n 80bff7a USBD_CtlError(pdev, req); 80bfede: 6839 ldr r1, [r7, #0] 80bfee0: 6878 ldr r0, [r7, #4] 80bfee2: f002 fbb9 bl 80c2658 ret = USBD_FAIL; 80bfee6: 2303 movs r3, #3 80bfee8: 75fb strb r3, [r7, #23] break; 80bfeea: e046 b.n 80bff7a case USB_REQ_GET_INTERFACE: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80bfeec: 687b ldr r3, [r7, #4] 80bfeee: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80bfef2: 2b03 cmp r3, #3 80bfef4: d107 bne.n 80bff06 { (void)USBD_CtlSendData(pdev, (uint8_t *)&hmsc->interface, 1U); 80bfef6: 693b ldr r3, [r7, #16] 80bfef8: 3304 adds r3, #4 80bfefa: 2201 movs r2, #1 80bfefc: 4619 mov r1, r3 80bfefe: 6878 ldr r0, [r7, #4] 80bff00: f002 fc1b bl 80c273a else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80bff04: e039 b.n 80bff7a USBD_CtlError(pdev, req); 80bff06: 6839 ldr r1, [r7, #0] 80bff08: 6878 ldr r0, [r7, #4] 80bff0a: f002 fba5 bl 80c2658 ret = USBD_FAIL; 80bff0e: 2303 movs r3, #3 80bff10: 75fb strb r3, [r7, #23] break; 80bff12: e032 b.n 80bff7a case USB_REQ_SET_INTERFACE: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80bff14: 687b ldr r3, [r7, #4] 80bff16: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80bff1a: 2b03 cmp r3, #3 80bff1c: d106 bne.n 80bff2c { hmsc->interface = (uint8_t)(req->wValue); 80bff1e: 683b ldr r3, [r7, #0] 80bff20: 885b ldrh r3, [r3, #2] 80bff22: b2db uxtb r3, r3 80bff24: 461a mov r2, r3 80bff26: 693b ldr r3, [r7, #16] 80bff28: 605a str r2, [r3, #4] else { USBD_CtlError(pdev, req); ret = USBD_FAIL; } break; 80bff2a: e026 b.n 80bff7a USBD_CtlError(pdev, req); 80bff2c: 6839 ldr r1, [r7, #0] 80bff2e: 6878 ldr r0, [r7, #4] 80bff30: f002 fb92 bl 80c2658 ret = USBD_FAIL; 80bff34: 2303 movs r3, #3 80bff36: 75fb strb r3, [r7, #23] break; 80bff38: e01f b.n 80bff7a case USB_REQ_CLEAR_FEATURE: if (pdev->dev_state == USBD_STATE_CONFIGURED) 80bff3a: 687b ldr r3, [r7, #4] 80bff3c: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80bff40: 2b03 cmp r3, #3 80bff42: d119 bne.n 80bff78 { if (req->wValue == USB_FEATURE_EP_HALT) 80bff44: 683b ldr r3, [r7, #0] 80bff46: 885b ldrh r3, [r3, #2] 80bff48: 2b00 cmp r3, #0 80bff4a: d115 bne.n 80bff78 { /* Flush the FIFO */ (void)USBD_LL_FlushEP(pdev, (uint8_t)req->wIndex); 80bff4c: 683b ldr r3, [r7, #0] 80bff4e: 889b ldrh r3, [r3, #4] 80bff50: b2db uxtb r3, r3 80bff52: 4619 mov r1, r3 80bff54: 6878 ldr r0, [r7, #4] 80bff56: f009 fd47 bl 80c99e8 /* Handle BOT error */ MSC_BOT_CplClrFeature(pdev, (uint8_t)req->wIndex); 80bff5a: 683b ldr r3, [r7, #0] 80bff5c: 889b ldrh r3, [r3, #4] 80bff5e: b2db uxtb r3, r3 80bff60: 4619 mov r1, r3 80bff62: 6878 ldr r0, [r7, #4] 80bff64: f000 fa5a bl 80c041c } } break; 80bff68: e006 b.n 80bff78 default: USBD_CtlError(pdev, req); 80bff6a: 6839 ldr r1, [r7, #0] 80bff6c: 6878 ldr r0, [r7, #4] 80bff6e: f002 fb73 bl 80c2658 ret = USBD_FAIL; 80bff72: 2303 movs r3, #3 80bff74: 75fb strb r3, [r7, #23] break; 80bff76: e000 b.n 80bff7a break; 80bff78: bf00 nop } break; 80bff7a: e006 b.n 80bff8a default: USBD_CtlError(pdev, req); 80bff7c: 6839 ldr r1, [r7, #0] 80bff7e: 6878 ldr r0, [r7, #4] 80bff80: f002 fb6a bl 80c2658 ret = USBD_FAIL; 80bff84: 2303 movs r3, #3 80bff86: 75fb strb r3, [r7, #23] break; 80bff88: bf00 nop } return (uint8_t)ret; 80bff8a: 7dfb ldrb r3, [r7, #23] } 80bff8c: 4618 mov r0, r3 80bff8e: 3718 adds r7, #24 80bff90: 46bd mov sp, r7 80bff92: bd80 pop {r7, pc} 080bff94 : * @param pdev: device instance * @param epnum: endpoint index * @retval status */ uint8_t USBD_MSC_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80bff94: b580 push {r7, lr} 80bff96: b082 sub sp, #8 80bff98: af00 add r7, sp, #0 80bff9a: 6078 str r0, [r7, #4] 80bff9c: 460b mov r3, r1 80bff9e: 70fb strb r3, [r7, #3] MSC_BOT_DataIn(pdev, epnum); 80bffa0: 78fb ldrb r3, [r7, #3] 80bffa2: 4619 mov r1, r3 80bffa4: 6878 ldr r0, [r7, #4] 80bffa6: f000 f8d1 bl 80c014c return (uint8_t)USBD_OK; 80bffaa: 2300 movs r3, #0 } 80bffac: 4618 mov r0, r3 80bffae: 3708 adds r7, #8 80bffb0: 46bd mov sp, r7 80bffb2: bd80 pop {r7, pc} 080bffb4 : * @param pdev: device instance * @param epnum: endpoint index * @retval status */ uint8_t USBD_MSC_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80bffb4: b580 push {r7, lr} 80bffb6: b082 sub sp, #8 80bffb8: af00 add r7, sp, #0 80bffba: 6078 str r0, [r7, #4] 80bffbc: 460b mov r3, r1 80bffbe: 70fb strb r3, [r7, #3] MSC_BOT_DataOut(pdev, epnum); 80bffc0: 78fb ldrb r3, [r7, #3] 80bffc2: 4619 mov r1, r3 80bffc4: 6878 ldr r0, [r7, #4] 80bffc6: f000 f8f2 bl 80c01ae return (uint8_t)USBD_OK; 80bffca: 2300 movs r3, #0 } 80bffcc: 4618 mov r0, r3 80bffce: 3708 adds r7, #8 80bffd0: 46bd mov sp, r7 80bffd2: bd80 pop {r7, pc} 080bffd4 : * return configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetHSCfgDesc(uint16_t *length) { 80bffd4: b480 push {r7} 80bffd6: b083 sub sp, #12 80bffd8: af00 add r7, sp, #0 80bffda: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_CfgHSDesc); 80bffdc: 687b ldr r3, [r7, #4] 80bffde: 2220 movs r2, #32 80bffe0: 801a strh r2, [r3, #0] return USBD_MSC_CfgHSDesc; 80bffe2: 4b03 ldr r3, [pc, #12] ; (80bfff0 ) } 80bffe4: 4618 mov r0, r3 80bffe6: 370c adds r7, #12 80bffe8: 46bd mov sp, r7 80bffea: f85d 7b04 ldr.w r7, [sp], #4 80bffee: 4770 bx lr 80bfff0: 20020a14 .word 0x20020a14 080bfff4 : * return configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetFSCfgDesc(uint16_t *length) { 80bfff4: b480 push {r7} 80bfff6: b083 sub sp, #12 80bfff8: af00 add r7, sp, #0 80bfffa: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_CfgFSDesc); 80bfffc: 687b ldr r3, [r7, #4] 80bfffe: 2220 movs r2, #32 80c0000: 801a strh r2, [r3, #0] return USBD_MSC_CfgFSDesc; 80c0002: 4b03 ldr r3, [pc, #12] ; (80c0010 ) } 80c0004: 4618 mov r0, r3 80c0006: 370c adds r7, #12 80c0008: 46bd mov sp, r7 80c000a: f85d 7b04 ldr.w r7, [sp], #4 80c000e: 4770 bx lr 80c0010: 20020a34 .word 0x20020a34 080c0014 : * return other speed configuration descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetOtherSpeedCfgDesc(uint16_t *length) { 80c0014: b480 push {r7} 80c0016: b083 sub sp, #12 80c0018: af00 add r7, sp, #0 80c001a: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_OtherSpeedCfgDesc); 80c001c: 687b ldr r3, [r7, #4] 80c001e: 2220 movs r2, #32 80c0020: 801a strh r2, [r3, #0] return USBD_MSC_OtherSpeedCfgDesc; 80c0022: 4b03 ldr r3, [pc, #12] ; (80c0030 ) } 80c0024: 4618 mov r0, r3 80c0026: 370c adds r7, #12 80c0028: 46bd mov sp, r7 80c002a: f85d 7b04 ldr.w r7, [sp], #4 80c002e: 4770 bx lr 80c0030: 20020a54 .word 0x20020a54 080c0034 : * return Device Qualifier descriptor * @param length : pointer data length * @retval pointer to descriptor buffer */ uint8_t *USBD_MSC_GetDeviceQualifierDescriptor(uint16_t *length) { 80c0034: b480 push {r7} 80c0036: b083 sub sp, #12 80c0038: af00 add r7, sp, #0 80c003a: 6078 str r0, [r7, #4] *length = (uint16_t)sizeof(USBD_MSC_DeviceQualifierDesc); 80c003c: 687b ldr r3, [r7, #4] 80c003e: 220a movs r2, #10 80c0040: 801a strh r2, [r3, #0] return USBD_MSC_DeviceQualifierDesc; 80c0042: 4b03 ldr r3, [pc, #12] ; (80c0050 ) } 80c0044: 4618 mov r0, r3 80c0046: 370c adds r7, #12 80c0048: 46bd mov sp, r7 80c004a: f85d 7b04 ldr.w r7, [sp], #4 80c004e: 4770 bx lr 80c0050: 20020a74 .word 0x20020a74 080c0054 : * @brief USBD_MSC_RegisterStorage * @param fops: storage callback * @retval status */ uint8_t USBD_MSC_RegisterStorage(USBD_HandleTypeDef *pdev, USBD_StorageTypeDef *fops) { 80c0054: b480 push {r7} 80c0056: b083 sub sp, #12 80c0058: af00 add r7, sp, #0 80c005a: 6078 str r0, [r7, #4] 80c005c: 6039 str r1, [r7, #0] if (fops == NULL) 80c005e: 683b ldr r3, [r7, #0] 80c0060: 2b00 cmp r3, #0 80c0062: d101 bne.n 80c0068 { return (uint8_t)USBD_FAIL; 80c0064: 2303 movs r3, #3 80c0066: e004 b.n 80c0072 } pdev->pUserData = fops; 80c0068: 687b ldr r3, [r7, #4] 80c006a: 683a ldr r2, [r7, #0] 80c006c: f8c3 22c0 str.w r2, [r3, #704] ; 0x2c0 return (uint8_t)USBD_OK; 80c0070: 2300 movs r3, #0 } 80c0072: 4618 mov r0, r3 80c0074: 370c adds r7, #12 80c0076: 46bd mov sp, r7 80c0078: f85d 7b04 ldr.w r7, [sp], #4 80c007c: 4770 bx lr 080c007e : * Initialize the BOT Process * @param pdev: device instance * @retval None */ void MSC_BOT_Init(USBD_HandleTypeDef *pdev) { 80c007e: b580 push {r7, lr} 80c0080: b084 sub sp, #16 80c0082: af00 add r7, sp, #0 80c0084: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0086: 687b ldr r3, [r7, #4] 80c0088: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c008c: 60fb str r3, [r7, #12] hmsc->bot_state = USBD_BOT_IDLE; 80c008e: 68fb ldr r3, [r7, #12] 80c0090: 2200 movs r2, #0 80c0092: 721a strb r2, [r3, #8] hmsc->bot_status = USBD_BOT_STATUS_NORMAL; 80c0094: 68fb ldr r3, [r7, #12] 80c0096: 2200 movs r2, #0 80c0098: 725a strb r2, [r3, #9] hmsc->scsi_sense_tail = 0U; 80c009a: 68fb ldr r3, [r7, #12] 80c009c: 2200 movs r2, #0 80c009e: f883 2261 strb.w r2, [r3, #609] ; 0x261 hmsc->scsi_sense_head = 0U; 80c00a2: 68fb ldr r3, [r7, #12] 80c00a4: 2200 movs r2, #0 80c00a6: f883 2260 strb.w r2, [r3, #608] ; 0x260 hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c00aa: 68fb ldr r3, [r7, #12] 80c00ac: 2200 movs r2, #0 80c00ae: f883 2262 strb.w r2, [r3, #610] ; 0x262 ((USBD_StorageTypeDef *)pdev->pUserData)->Init(0U); 80c00b2: 687b ldr r3, [r7, #4] 80c00b4: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c00b8: 681b ldr r3, [r3, #0] 80c00ba: 2000 movs r0, #0 80c00bc: 4798 blx r3 (void)USBD_LL_FlushEP(pdev, MSC_EPOUT_ADDR); 80c00be: 2101 movs r1, #1 80c00c0: 6878 ldr r0, [r7, #4] 80c00c2: f009 fc91 bl 80c99e8 (void)USBD_LL_FlushEP(pdev, MSC_EPIN_ADDR); 80c00c6: 2181 movs r1, #129 ; 0x81 80c00c8: 6878 ldr r0, [r7, #4] 80c00ca: f009 fc8d bl 80c99e8 /* Prapare EP to Receive First BOT Cmd */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, (uint8_t *)&hmsc->cbw, 80c00ce: 68fb ldr r3, [r7, #12] 80c00d0: f503 7204 add.w r2, r3, #528 ; 0x210 80c00d4: 231f movs r3, #31 80c00d6: 2101 movs r1, #1 80c00d8: 6878 ldr r0, [r7, #4] 80c00da: f009 fd4e bl 80c9b7a USBD_BOT_CBW_LENGTH); } 80c00de: bf00 nop 80c00e0: 3710 adds r7, #16 80c00e2: 46bd mov sp, r7 80c00e4: bd80 pop {r7, pc} 080c00e6 : * Reset the BOT Machine * @param pdev: device instance * @retval None */ void MSC_BOT_Reset(USBD_HandleTypeDef *pdev) { 80c00e6: b580 push {r7, lr} 80c00e8: b084 sub sp, #16 80c00ea: af00 add r7, sp, #0 80c00ec: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c00ee: 687b ldr r3, [r7, #4] 80c00f0: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c00f4: 60fb str r3, [r7, #12] hmsc->bot_state = USBD_BOT_IDLE; 80c00f6: 68fb ldr r3, [r7, #12] 80c00f8: 2200 movs r2, #0 80c00fa: 721a strb r2, [r3, #8] hmsc->bot_status = USBD_BOT_STATUS_RECOVERY; 80c00fc: 68fb ldr r3, [r7, #12] 80c00fe: 2201 movs r2, #1 80c0100: 725a strb r2, [r3, #9] (void)USBD_LL_ClearStallEP(pdev, MSC_EPIN_ADDR); 80c0102: 2181 movs r1, #129 ; 0x81 80c0104: 6878 ldr r0, [r7, #4] 80c0106: f009 fcad bl 80c9a64 (void)USBD_LL_ClearStallEP(pdev, MSC_EPOUT_ADDR); 80c010a: 2101 movs r1, #1 80c010c: 6878 ldr r0, [r7, #4] 80c010e: f009 fca9 bl 80c9a64 /* Prapare EP to Receive First BOT Cmd */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, (uint8_t *)&hmsc->cbw, 80c0112: 68fb ldr r3, [r7, #12] 80c0114: f503 7204 add.w r2, r3, #528 ; 0x210 80c0118: 231f movs r3, #31 80c011a: 2101 movs r1, #1 80c011c: 6878 ldr r0, [r7, #4] 80c011e: f009 fd2c bl 80c9b7a USBD_BOT_CBW_LENGTH); } 80c0122: bf00 nop 80c0124: 3710 adds r7, #16 80c0126: 46bd mov sp, r7 80c0128: bd80 pop {r7, pc} 080c012a : * Deinitialize the BOT Machine * @param pdev: device instance * @retval None */ void MSC_BOT_DeInit(USBD_HandleTypeDef *pdev) { 80c012a: b480 push {r7} 80c012c: b085 sub sp, #20 80c012e: af00 add r7, sp, #0 80c0130: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0132: 687b ldr r3, [r7, #4] 80c0134: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0138: 60fb str r3, [r7, #12] hmsc->bot_state = USBD_BOT_IDLE; 80c013a: 68fb ldr r3, [r7, #12] 80c013c: 2200 movs r2, #0 80c013e: 721a strb r2, [r3, #8] } 80c0140: bf00 nop 80c0142: 3714 adds r7, #20 80c0144: 46bd mov sp, r7 80c0146: f85d 7b04 ldr.w r7, [sp], #4 80c014a: 4770 bx lr 080c014c : * @param pdev: device instance * @param epnum: endpoint index * @retval None */ void MSC_BOT_DataIn(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c014c: b580 push {r7, lr} 80c014e: b084 sub sp, #16 80c0150: af00 add r7, sp, #0 80c0152: 6078 str r0, [r7, #4] 80c0154: 460b mov r3, r1 80c0156: 70fb strb r3, [r7, #3] UNUSED(epnum); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0158: 687b ldr r3, [r7, #4] 80c015a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c015e: 60fb str r3, [r7, #12] switch (hmsc->bot_state) 80c0160: 68fb ldr r3, [r7, #12] 80c0162: 7a1b ldrb r3, [r3, #8] 80c0164: 2b02 cmp r3, #2 80c0166: d004 beq.n 80c0172 80c0168: 2b02 cmp r3, #2 80c016a: db19 blt.n 80c01a0 80c016c: 2b04 cmp r3, #4 80c016e: dc17 bgt.n 80c01a0 80c0170: e011 b.n 80c0196 { case USBD_BOT_DATA_IN: if (SCSI_ProcessCmd(pdev, hmsc->cbw.bLUN, &hmsc->cbw.CB[0]) < 0) 80c0172: 68fb ldr r3, [r7, #12] 80c0174: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0178: 68fb ldr r3, [r7, #12] 80c017a: f203 231f addw r3, r3, #543 ; 0x21f 80c017e: 461a mov r2, r3 80c0180: 6878 ldr r0, [r7, #4] 80c0182: f000 f973 bl 80c046c 80c0186: 4603 mov r3, r0 80c0188: 2b00 cmp r3, #0 80c018a: da0b bge.n 80c01a4 { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c018c: 2101 movs r1, #1 80c018e: 6878 ldr r0, [r7, #4] 80c0190: f000 f8ea bl 80c0368 } break; 80c0194: e006 b.n 80c01a4 case USBD_BOT_SEND_DATA: case USBD_BOT_LAST_DATA_IN: MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_PASSED); 80c0196: 2100 movs r1, #0 80c0198: 6878 ldr r0, [r7, #4] 80c019a: f000 f8e5 bl 80c0368 break; 80c019e: e002 b.n 80c01a6 default: break; 80c01a0: bf00 nop 80c01a2: e000 b.n 80c01a6 break; 80c01a4: bf00 nop } } 80c01a6: bf00 nop 80c01a8: 3710 adds r7, #16 80c01aa: 46bd mov sp, r7 80c01ac: bd80 pop {r7, pc} 080c01ae : * @param pdev: device instance * @param epnum: endpoint index * @retval None */ void MSC_BOT_DataOut(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c01ae: b580 push {r7, lr} 80c01b0: b084 sub sp, #16 80c01b2: af00 add r7, sp, #0 80c01b4: 6078 str r0, [r7, #4] 80c01b6: 460b mov r3, r1 80c01b8: 70fb strb r3, [r7, #3] UNUSED(epnum); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c01ba: 687b ldr r3, [r7, #4] 80c01bc: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c01c0: 60fb str r3, [r7, #12] switch (hmsc->bot_state) 80c01c2: 68fb ldr r3, [r7, #12] 80c01c4: 7a1b ldrb r3, [r3, #8] 80c01c6: 2b00 cmp r3, #0 80c01c8: d002 beq.n 80c01d0 80c01ca: 2b01 cmp r3, #1 80c01cc: d004 beq.n 80c01d8 MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); } break; default: break; 80c01ce: e015 b.n 80c01fc MSC_BOT_CBW_Decode(pdev); 80c01d0: 6878 ldr r0, [r7, #4] 80c01d2: f000 f817 bl 80c0204 break; 80c01d6: e011 b.n 80c01fc if (SCSI_ProcessCmd(pdev, hmsc->cbw.bLUN, &hmsc->cbw.CB[0]) < 0) 80c01d8: 68fb ldr r3, [r7, #12] 80c01da: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c01de: 68fb ldr r3, [r7, #12] 80c01e0: f203 231f addw r3, r3, #543 ; 0x21f 80c01e4: 461a mov r2, r3 80c01e6: 6878 ldr r0, [r7, #4] 80c01e8: f000 f940 bl 80c046c 80c01ec: 4603 mov r3, r0 80c01ee: 2b00 cmp r3, #0 80c01f0: da03 bge.n 80c01fa MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c01f2: 2101 movs r1, #1 80c01f4: 6878 ldr r0, [r7, #4] 80c01f6: f000 f8b7 bl 80c0368 break; 80c01fa: bf00 nop } } 80c01fc: bf00 nop 80c01fe: 3710 adds r7, #16 80c0200: 46bd mov sp, r7 80c0202: bd80 pop {r7, pc} 080c0204 : * Decode the CBW command and set the BOT state machine accordingly * @param pdev: device instance * @retval None */ static void MSC_BOT_CBW_Decode(USBD_HandleTypeDef *pdev) { 80c0204: b580 push {r7, lr} 80c0206: b084 sub sp, #16 80c0208: af00 add r7, sp, #0 80c020a: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c020c: 687b ldr r3, [r7, #4] 80c020e: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0212: 60fb str r3, [r7, #12] hmsc->csw.dTag = hmsc->cbw.dTag; 80c0214: 68fb ldr r3, [r7, #12] 80c0216: f8d3 2214 ldr.w r2, [r3, #532] ; 0x214 80c021a: 68fb ldr r3, [r7, #12] 80c021c: f8c3 2234 str.w r2, [r3, #564] ; 0x234 hmsc->csw.dDataResidue = hmsc->cbw.dDataLength; 80c0220: 68fb ldr r3, [r7, #12] 80c0222: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c0226: 68fb ldr r3, [r7, #12] 80c0228: f8c3 2238 str.w r2, [r3, #568] ; 0x238 if ((USBD_LL_GetRxDataSize(pdev, MSC_EPOUT_ADDR) != USBD_BOT_CBW_LENGTH) || 80c022c: 2101 movs r1, #1 80c022e: 6878 ldr r0, [r7, #4] 80c0230: f009 fcc4 bl 80c9bbc 80c0234: 4603 mov r3, r0 80c0236: 2b1f cmp r3, #31 80c0238: d114 bne.n 80c0264 (hmsc->cbw.dSignature != USBD_BOT_CBW_SIGNATURE) || 80c023a: 68fb ldr r3, [r7, #12] 80c023c: f8d3 3210 ldr.w r3, [r3, #528] ; 0x210 if ((USBD_LL_GetRxDataSize(pdev, MSC_EPOUT_ADDR) != USBD_BOT_CBW_LENGTH) || 80c0240: 4a32 ldr r2, [pc, #200] ; (80c030c ) 80c0242: 4293 cmp r3, r2 80c0244: d10e bne.n 80c0264 (hmsc->cbw.bLUN > 1U) || (hmsc->cbw.bCBLength < 1U) || 80c0246: 68fb ldr r3, [r7, #12] 80c0248: f893 321d ldrb.w r3, [r3, #541] ; 0x21d (hmsc->cbw.dSignature != USBD_BOT_CBW_SIGNATURE) || 80c024c: 2b01 cmp r3, #1 80c024e: d809 bhi.n 80c0264 (hmsc->cbw.bLUN > 1U) || (hmsc->cbw.bCBLength < 1U) || 80c0250: 68fb ldr r3, [r7, #12] 80c0252: f893 321e ldrb.w r3, [r3, #542] ; 0x21e 80c0256: 2b00 cmp r3, #0 80c0258: d004 beq.n 80c0264 (hmsc->cbw.bCBLength > 16U)) 80c025a: 68fb ldr r3, [r7, #12] 80c025c: f893 321e ldrb.w r3, [r3, #542] ; 0x21e (hmsc->cbw.bLUN > 1U) || (hmsc->cbw.bCBLength < 1U) || 80c0260: 2b10 cmp r3, #16 80c0262: d90e bls.n 80c0282 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0264: 68fb ldr r3, [r7, #12] 80c0266: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c026a: 2320 movs r3, #32 80c026c: 2205 movs r2, #5 80c026e: 6878 ldr r0, [r7, #4] 80c0270: f000 fcc9 bl 80c0c06 hmsc->bot_status = USBD_BOT_STATUS_ERROR; 80c0274: 68fb ldr r3, [r7, #12] 80c0276: 2202 movs r2, #2 80c0278: 725a strb r2, [r3, #9] MSC_BOT_Abort(pdev); 80c027a: 6878 ldr r0, [r7, #4] 80c027c: f000 f8a0 bl 80c03c0 80c0280: e041 b.n 80c0306 } else { if (SCSI_ProcessCmd(pdev, hmsc->cbw.bLUN, &hmsc->cbw.CB[0]) < 0) 80c0282: 68fb ldr r3, [r7, #12] 80c0284: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0288: 68fb ldr r3, [r7, #12] 80c028a: f203 231f addw r3, r3, #543 ; 0x21f 80c028e: 461a mov r2, r3 80c0290: 6878 ldr r0, [r7, #4] 80c0292: f000 f8eb bl 80c046c 80c0296: 4603 mov r3, r0 80c0298: 2b00 cmp r3, #0 80c029a: da0c bge.n 80c02b6 { if (hmsc->bot_state == USBD_BOT_NO_DATA) 80c029c: 68fb ldr r3, [r7, #12] 80c029e: 7a1b ldrb r3, [r3, #8] 80c02a0: 2b05 cmp r3, #5 80c02a2: d104 bne.n 80c02ae { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c02a4: 2101 movs r1, #1 80c02a6: 6878 ldr r0, [r7, #4] 80c02a8: f000 f85e bl 80c0368 80c02ac: e02b b.n 80c0306 } else { MSC_BOT_Abort(pdev); 80c02ae: 6878 ldr r0, [r7, #4] 80c02b0: f000 f886 bl 80c03c0 80c02b4: e027 b.n 80c0306 } } /* Burst xfer handled internally */ else if ((hmsc->bot_state != USBD_BOT_DATA_IN) && 80c02b6: 68fb ldr r3, [r7, #12] 80c02b8: 7a1b ldrb r3, [r3, #8] 80c02ba: 2b02 cmp r3, #2 80c02bc: d022 beq.n 80c0304 (hmsc->bot_state != USBD_BOT_DATA_OUT) && 80c02be: 68fb ldr r3, [r7, #12] 80c02c0: 7a1b ldrb r3, [r3, #8] else if ((hmsc->bot_state != USBD_BOT_DATA_IN) && 80c02c2: 2b01 cmp r3, #1 80c02c4: d01e beq.n 80c0304 (hmsc->bot_state != USBD_BOT_LAST_DATA_IN)) 80c02c6: 68fb ldr r3, [r7, #12] 80c02c8: 7a1b ldrb r3, [r3, #8] (hmsc->bot_state != USBD_BOT_DATA_OUT) && 80c02ca: 2b03 cmp r3, #3 80c02cc: d01a beq.n 80c0304 { if (hmsc->bot_data_length > 0U) 80c02ce: 68fb ldr r3, [r7, #12] 80c02d0: 68db ldr r3, [r3, #12] 80c02d2: 2b00 cmp r3, #0 80c02d4: d009 beq.n 80c02ea { MSC_BOT_SendData(pdev, hmsc->bot_data, hmsc->bot_data_length); 80c02d6: 68fb ldr r3, [r7, #12] 80c02d8: f103 0110 add.w r1, r3, #16 80c02dc: 68fb ldr r3, [r7, #12] 80c02de: 68db ldr r3, [r3, #12] 80c02e0: 461a mov r2, r3 80c02e2: 6878 ldr r0, [r7, #4] 80c02e4: f000 f814 bl 80c0310 if (hmsc->bot_data_length > 0U) 80c02e8: e00d b.n 80c0306 } else if (hmsc->bot_data_length == 0U) 80c02ea: 68fb ldr r3, [r7, #12] 80c02ec: 68db ldr r3, [r3, #12] 80c02ee: 2b00 cmp r3, #0 80c02f0: d104 bne.n 80c02fc { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_PASSED); 80c02f2: 2100 movs r1, #0 80c02f4: 6878 ldr r0, [r7, #4] 80c02f6: f000 f837 bl 80c0368 if (hmsc->bot_data_length > 0U) 80c02fa: e004 b.n 80c0306 } else { MSC_BOT_Abort(pdev); 80c02fc: 6878 ldr r0, [r7, #4] 80c02fe: f000 f85f bl 80c03c0 if (hmsc->bot_data_length > 0U) 80c0302: e000 b.n 80c0306 } } else { return; 80c0304: bf00 nop } } } 80c0306: 3710 adds r7, #16 80c0308: 46bd mov sp, r7 80c030a: bd80 pop {r7, pc} 80c030c: 43425355 .word 0x43425355 080c0310 : * @param buf: pointer to data buffer * @param len: Data Length * @retval None */ static void MSC_BOT_SendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { 80c0310: b580 push {r7, lr} 80c0312: b086 sub sp, #24 80c0314: af00 add r7, sp, #0 80c0316: 60f8 str r0, [r7, #12] 80c0318: 60b9 str r1, [r7, #8] 80c031a: 607a str r2, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c031c: 68fb ldr r3, [r7, #12] 80c031e: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0322: 617b str r3, [r7, #20] uint32_t length = MIN(hmsc->cbw.dDataLength, len); 80c0324: 697b ldr r3, [r7, #20] 80c0326: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c032a: 687b ldr r3, [r7, #4] 80c032c: 4293 cmp r3, r2 80c032e: bf28 it cs 80c0330: 4613 movcs r3, r2 80c0332: 613b str r3, [r7, #16] hmsc->csw.dDataResidue -= len; 80c0334: 697b ldr r3, [r7, #20] 80c0336: f8d3 2238 ldr.w r2, [r3, #568] ; 0x238 80c033a: 687b ldr r3, [r7, #4] 80c033c: 1ad2 subs r2, r2, r3 80c033e: 697b ldr r3, [r7, #20] 80c0340: f8c3 2238 str.w r2, [r3, #568] ; 0x238 hmsc->csw.bStatus = USBD_CSW_CMD_PASSED; 80c0344: 697b ldr r3, [r7, #20] 80c0346: 2200 movs r2, #0 80c0348: f883 223c strb.w r2, [r3, #572] ; 0x23c hmsc->bot_state = USBD_BOT_SEND_DATA; 80c034c: 697b ldr r3, [r7, #20] 80c034e: 2204 movs r2, #4 80c0350: 721a strb r2, [r3, #8] (void)USBD_LL_Transmit(pdev, MSC_EPIN_ADDR, pbuf, length); 80c0352: 693b ldr r3, [r7, #16] 80c0354: 68ba ldr r2, [r7, #8] 80c0356: 2181 movs r1, #129 ; 0x81 80c0358: 68f8 ldr r0, [r7, #12] 80c035a: f009 fbed bl 80c9b38 } 80c035e: bf00 nop 80c0360: 3718 adds r7, #24 80c0362: 46bd mov sp, r7 80c0364: bd80 pop {r7, pc} ... 080c0368 : * @param pdev: device instance * @param status : CSW status * @retval None */ void MSC_BOT_SendCSW(USBD_HandleTypeDef *pdev, uint8_t CSW_Status) { 80c0368: b580 push {r7, lr} 80c036a: b084 sub sp, #16 80c036c: af00 add r7, sp, #0 80c036e: 6078 str r0, [r7, #4] 80c0370: 460b mov r3, r1 80c0372: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0374: 687b ldr r3, [r7, #4] 80c0376: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c037a: 60fb str r3, [r7, #12] hmsc->csw.dSignature = USBD_BOT_CSW_SIGNATURE; 80c037c: 68fb ldr r3, [r7, #12] 80c037e: 4a0f ldr r2, [pc, #60] ; (80c03bc ) 80c0380: f8c3 2230 str.w r2, [r3, #560] ; 0x230 hmsc->csw.bStatus = CSW_Status; 80c0384: 68fb ldr r3, [r7, #12] 80c0386: 78fa ldrb r2, [r7, #3] 80c0388: f883 223c strb.w r2, [r3, #572] ; 0x23c hmsc->bot_state = USBD_BOT_IDLE; 80c038c: 68fb ldr r3, [r7, #12] 80c038e: 2200 movs r2, #0 80c0390: 721a strb r2, [r3, #8] (void)USBD_LL_Transmit(pdev, MSC_EPIN_ADDR, (uint8_t *)&hmsc->csw, 80c0392: 68fb ldr r3, [r7, #12] 80c0394: f503 720c add.w r2, r3, #560 ; 0x230 80c0398: 230d movs r3, #13 80c039a: 2181 movs r1, #129 ; 0x81 80c039c: 6878 ldr r0, [r7, #4] 80c039e: f009 fbcb bl 80c9b38 USBD_BOT_CSW_LENGTH); /* Prepare EP to Receive next Cmd */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, (uint8_t *)&hmsc->cbw, 80c03a2: 68fb ldr r3, [r7, #12] 80c03a4: f503 7204 add.w r2, r3, #528 ; 0x210 80c03a8: 231f movs r3, #31 80c03aa: 2101 movs r1, #1 80c03ac: 6878 ldr r0, [r7, #4] 80c03ae: f009 fbe4 bl 80c9b7a USBD_BOT_CBW_LENGTH); } 80c03b2: bf00 nop 80c03b4: 3710 adds r7, #16 80c03b6: 46bd mov sp, r7 80c03b8: bd80 pop {r7, pc} 80c03ba: bf00 nop 80c03bc: 53425355 .word 0x53425355 080c03c0 : * @param pdev: device instance * @retval status */ static void MSC_BOT_Abort(USBD_HandleTypeDef *pdev) { 80c03c0: b580 push {r7, lr} 80c03c2: b084 sub sp, #16 80c03c4: af00 add r7, sp, #0 80c03c6: 6078 str r0, [r7, #4] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c03c8: 687b ldr r3, [r7, #4] 80c03ca: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c03ce: 60fb str r3, [r7, #12] if ((hmsc->cbw.bmFlags == 0U) && 80c03d0: 68fb ldr r3, [r7, #12] 80c03d2: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c03d6: 2b00 cmp r3, #0 80c03d8: d10c bne.n 80c03f4 (hmsc->cbw.dDataLength != 0U) && 80c03da: 68fb ldr r3, [r7, #12] 80c03dc: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 if ((hmsc->cbw.bmFlags == 0U) && 80c03e0: 2b00 cmp r3, #0 80c03e2: d007 beq.n 80c03f4 (hmsc->bot_status == USBD_BOT_STATUS_NORMAL)) 80c03e4: 68fb ldr r3, [r7, #12] 80c03e6: 7a5b ldrb r3, [r3, #9] (hmsc->cbw.dDataLength != 0U) && 80c03e8: 2b00 cmp r3, #0 80c03ea: d103 bne.n 80c03f4 { (void)USBD_LL_StallEP(pdev, MSC_EPOUT_ADDR); 80c03ec: 2101 movs r1, #1 80c03ee: 6878 ldr r0, [r7, #4] 80c03f0: f009 fb19 bl 80c9a26 } (void)USBD_LL_StallEP(pdev, MSC_EPIN_ADDR); 80c03f4: 2181 movs r1, #129 ; 0x81 80c03f6: 6878 ldr r0, [r7, #4] 80c03f8: f009 fb15 bl 80c9a26 if (hmsc->bot_status == USBD_BOT_STATUS_ERROR) 80c03fc: 68fb ldr r3, [r7, #12] 80c03fe: 7a5b ldrb r3, [r3, #9] 80c0400: 2b02 cmp r3, #2 80c0402: d107 bne.n 80c0414 { (void)USBD_LL_StallEP(pdev, MSC_EPIN_ADDR); 80c0404: 2181 movs r1, #129 ; 0x81 80c0406: 6878 ldr r0, [r7, #4] 80c0408: f009 fb0d bl 80c9a26 (void)USBD_LL_StallEP(pdev, MSC_EPOUT_ADDR); 80c040c: 2101 movs r1, #1 80c040e: 6878 ldr r0, [r7, #4] 80c0410: f009 fb09 bl 80c9a26 } } 80c0414: bf00 nop 80c0416: 3710 adds r7, #16 80c0418: 46bd mov sp, r7 80c041a: bd80 pop {r7, pc} 080c041c : * @param epnum: endpoint index * @retval None */ void MSC_BOT_CplClrFeature(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c041c: b580 push {r7, lr} 80c041e: b084 sub sp, #16 80c0420: af00 add r7, sp, #0 80c0422: 6078 str r0, [r7, #4] 80c0424: 460b mov r3, r1 80c0426: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0428: 687b ldr r3, [r7, #4] 80c042a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c042e: 60fb str r3, [r7, #12] if (hmsc->bot_status == USBD_BOT_STATUS_ERROR) /* Bad CBW Signature */ 80c0430: 68fb ldr r3, [r7, #12] 80c0432: 7a5b ldrb r3, [r3, #9] 80c0434: 2b02 cmp r3, #2 80c0436: d108 bne.n 80c044a { (void)USBD_LL_StallEP(pdev, MSC_EPIN_ADDR); 80c0438: 2181 movs r1, #129 ; 0x81 80c043a: 6878 ldr r0, [r7, #4] 80c043c: f009 faf3 bl 80c9a26 (void)USBD_LL_StallEP(pdev, MSC_EPOUT_ADDR); 80c0440: 2101 movs r1, #1 80c0442: 6878 ldr r0, [r7, #4] 80c0444: f009 faef bl 80c9a26 80c0448: e00d b.n 80c0466 } else if (((epnum & 0x80U) == 0x80U) && (hmsc->bot_status != USBD_BOT_STATUS_RECOVERY)) 80c044a: f997 3003 ldrsb.w r3, [r7, #3] 80c044e: 2b00 cmp r3, #0 80c0450: da08 bge.n 80c0464 80c0452: 68fb ldr r3, [r7, #12] 80c0454: 7a5b ldrb r3, [r3, #9] 80c0456: 2b01 cmp r3, #1 80c0458: d004 beq.n 80c0464 { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_FAILED); 80c045a: 2101 movs r1, #1 80c045c: 6878 ldr r0, [r7, #4] 80c045e: f7ff ff83 bl 80c0368 80c0462: e000 b.n 80c0466 } else { return; 80c0464: bf00 nop } } 80c0466: 3710 adds r7, #16 80c0468: 46bd mov sp, r7 80c046a: bd80 pop {r7, pc} 080c046c : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ int8_t SCSI_ProcessCmd(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *cmd) { 80c046c: b580 push {r7, lr} 80c046e: b086 sub sp, #24 80c0470: af00 add r7, sp, #0 80c0472: 60f8 str r0, [r7, #12] 80c0474: 460b mov r3, r1 80c0476: 607a str r2, [r7, #4] 80c0478: 72fb strb r3, [r7, #11] int8_t ret; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c047a: 68fb ldr r3, [r7, #12] 80c047c: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0480: 613b str r3, [r7, #16] switch (cmd[0]) 80c0482: 687b ldr r3, [r7, #4] 80c0484: 781b ldrb r3, [r3, #0] 80c0486: 2b25 cmp r3, #37 ; 0x25 80c0488: d06e beq.n 80c0568 80c048a: 2b25 cmp r3, #37 ; 0x25 80c048c: dc11 bgt.n 80c04b2 80c048e: 2b1a cmp r3, #26 80c0490: d04f beq.n 80c0532 80c0492: 2b1a cmp r3, #26 80c0494: dc06 bgt.n 80c04a4 80c0496: 2b03 cmp r3, #3 80c0498: d027 beq.n 80c04ea 80c049a: 2b12 cmp r3, #18 80c049c: d02e beq.n 80c04fc 80c049e: 2b00 cmp r3, #0 80c04a0: d01a beq.n 80c04d8 80c04a2: e0a0 b.n 80c05e6 80c04a4: 2b1e cmp r3, #30 80c04a6: d03b beq.n 80c0520 80c04a8: 2b23 cmp r3, #35 ; 0x23 80c04aa: d054 beq.n 80c0556 80c04ac: 2b1b cmp r3, #27 80c04ae: d02e beq.n 80c050e 80c04b0: e099 b.n 80c05e6 80c04b2: 2b5a cmp r3, #90 ; 0x5a 80c04b4: d046 beq.n 80c0544 80c04b6: 2b5a cmp r3, #90 ; 0x5a 80c04b8: dc07 bgt.n 80c04ca 80c04ba: 2b2a cmp r3, #42 ; 0x2a 80c04bc: d078 beq.n 80c05b0 80c04be: 2b2f cmp r3, #47 ; 0x2f 80c04c0: f000 8088 beq.w 80c05d4 80c04c4: 2b28 cmp r3, #40 ; 0x28 80c04c6: d061 beq.n 80c058c 80c04c8: e08d b.n 80c05e6 80c04ca: 2ba8 cmp r3, #168 ; 0xa8 80c04cc: d067 beq.n 80c059e 80c04ce: 2baa cmp r3, #170 ; 0xaa 80c04d0: d077 beq.n 80c05c2 80c04d2: 2b9e cmp r3, #158 ; 0x9e 80c04d4: d051 beq.n 80c057a 80c04d6: e086 b.n 80c05e6 { case SCSI_TEST_UNIT_READY: ret = SCSI_TestUnitReady(pdev, lun, cmd); 80c04d8: 7afb ldrb r3, [r7, #11] 80c04da: 687a ldr r2, [r7, #4] 80c04dc: 4619 mov r1, r3 80c04de: 68f8 ldr r0, [r7, #12] 80c04e0: f000 f893 bl 80c060a 80c04e4: 4603 mov r3, r0 80c04e6: 75fb strb r3, [r7, #23] break; 80c04e8: e089 b.n 80c05fe case SCSI_REQUEST_SENSE: ret = SCSI_RequestSense(pdev, lun, cmd); 80c04ea: 7afb ldrb r3, [r7, #11] 80c04ec: 687a ldr r2, [r7, #4] 80c04ee: 4619 mov r1, r3 80c04f0: 68f8 ldr r0, [r7, #12] 80c04f2: f000 fb0f bl 80c0b14 80c04f6: 4603 mov r3, r0 80c04f8: 75fb strb r3, [r7, #23] break; 80c04fa: e080 b.n 80c05fe case SCSI_INQUIRY: ret = SCSI_Inquiry(pdev, lun, cmd); 80c04fc: 7afb ldrb r3, [r7, #11] 80c04fe: 687a ldr r2, [r7, #4] 80c0500: 4619 mov r1, r3 80c0502: 68f8 ldr r0, [r7, #12] 80c0504: f000 f8cc bl 80c06a0 80c0508: 4603 mov r3, r0 80c050a: 75fb strb r3, [r7, #23] break; 80c050c: e077 b.n 80c05fe case SCSI_START_STOP_UNIT: ret = SCSI_StartStopUnit(pdev, lun, cmd); 80c050e: 7afb ldrb r3, [r7, #11] 80c0510: 687a ldr r2, [r7, #4] 80c0512: 4619 mov r1, r3 80c0514: 68f8 ldr r0, [r7, #12] 80c0516: f000 fbb9 bl 80c0c8c 80c051a: 4603 mov r3, r0 80c051c: 75fb strb r3, [r7, #23] break; 80c051e: e06e b.n 80c05fe case SCSI_ALLOW_MEDIUM_REMOVAL: ret = SCSI_AllowPreventRemovable(pdev, lun, cmd); 80c0520: 7afb ldrb r3, [r7, #11] 80c0522: 687a ldr r2, [r7, #4] 80c0524: 4619 mov r1, r3 80c0526: 68f8 ldr r0, [r7, #12] 80c0528: f000 fbfb bl 80c0d22 80c052c: 4603 mov r3, r0 80c052e: 75fb strb r3, [r7, #23] break; 80c0530: e065 b.n 80c05fe case SCSI_MODE_SENSE6: ret = SCSI_ModeSense6(pdev, lun, cmd); 80c0532: 7afb ldrb r3, [r7, #11] 80c0534: 687a ldr r2, [r7, #4] 80c0536: 4619 mov r1, r3 80c0538: 68f8 ldr r0, [r7, #12] 80c053a: f000 fa9f bl 80c0a7c 80c053e: 4603 mov r3, r0 80c0540: 75fb strb r3, [r7, #23] break; 80c0542: e05c b.n 80c05fe case SCSI_MODE_SENSE10: ret = SCSI_ModeSense10(pdev, lun, cmd); 80c0544: 7afb ldrb r3, [r7, #11] 80c0546: 687a ldr r2, [r7, #4] 80c0548: 4619 mov r1, r3 80c054a: 68f8 ldr r0, [r7, #12] 80c054c: f000 fabc bl 80c0ac8 80c0550: 4603 mov r3, r0 80c0552: 75fb strb r3, [r7, #23] break; 80c0554: e053 b.n 80c05fe case SCSI_READ_FORMAT_CAPACITIES: ret = SCSI_ReadFormatCapacity(pdev, lun, cmd); 80c0556: 7afb ldrb r3, [r7, #11] 80c0558: 687a ldr r2, [r7, #4] 80c055a: 4619 mov r1, r3 80c055c: 68f8 ldr r0, [r7, #12] 80c055e: f000 fa20 bl 80c09a2 80c0562: 4603 mov r3, r0 80c0564: 75fb strb r3, [r7, #23] break; 80c0566: e04a b.n 80c05fe case SCSI_READ_CAPACITY10: ret = SCSI_ReadCapacity10(pdev, lun, cmd); 80c0568: 7afb ldrb r3, [r7, #11] 80c056a: 687a ldr r2, [r7, #4] 80c056c: 4619 mov r1, r3 80c056e: 68f8 ldr r0, [r7, #12] 80c0570: f000 f904 bl 80c077c 80c0574: 4603 mov r3, r0 80c0576: 75fb strb r3, [r7, #23] break; 80c0578: e041 b.n 80c05fe case SCSI_READ_CAPACITY16: ret = SCSI_ReadCapacity16(pdev, lun, cmd); 80c057a: 7afb ldrb r3, [r7, #11] 80c057c: 687a ldr r2, [r7, #4] 80c057e: 4619 mov r1, r3 80c0580: 68f8 ldr r0, [r7, #12] 80c0582: f000 f96a bl 80c085a 80c0586: 4603 mov r3, r0 80c0588: 75fb strb r3, [r7, #23] break; 80c058a: e038 b.n 80c05fe case SCSI_READ10: ret = SCSI_Read10(pdev, lun, cmd); 80c058c: 7afb ldrb r3, [r7, #11] 80c058e: 687a ldr r2, [r7, #4] 80c0590: 4619 mov r1, r3 80c0592: 68f8 ldr r0, [r7, #12] 80c0594: f000 fbe8 bl 80c0d68 80c0598: 4603 mov r3, r0 80c059a: 75fb strb r3, [r7, #23] break; 80c059c: e02f b.n 80c05fe case SCSI_READ12: ret = SCSI_Read12(pdev, lun, cmd); 80c059e: 7afb ldrb r3, [r7, #11] 80c05a0: 687a ldr r2, [r7, #4] 80c05a2: 4619 mov r1, r3 80c05a4: 68f8 ldr r0, [r7, #12] 80c05a6: f000 fc79 bl 80c0e9c 80c05aa: 4603 mov r3, r0 80c05ac: 75fb strb r3, [r7, #23] break; 80c05ae: e026 b.n 80c05fe case SCSI_WRITE10: ret = SCSI_Write10(pdev, lun, cmd); 80c05b0: 7afb ldrb r3, [r7, #11] 80c05b2: 687a ldr r2, [r7, #4] 80c05b4: 4619 mov r1, r3 80c05b6: 68f8 ldr r0, [r7, #12] 80c05b8: f000 fd15 bl 80c0fe6 80c05bc: 4603 mov r3, r0 80c05be: 75fb strb r3, [r7, #23] break; 80c05c0: e01d b.n 80c05fe case SCSI_WRITE12: ret = SCSI_Write12(pdev, lun, cmd); 80c05c2: 7afb ldrb r3, [r7, #11] 80c05c4: 687a ldr r2, [r7, #4] 80c05c6: 4619 mov r1, r3 80c05c8: 68f8 ldr r0, [r7, #12] 80c05ca: f000 fdcb bl 80c1164 80c05ce: 4603 mov r3, r0 80c05d0: 75fb strb r3, [r7, #23] break; 80c05d2: e014 b.n 80c05fe case SCSI_VERIFY10: ret = SCSI_Verify10(pdev, lun, cmd); 80c05d4: 7afb ldrb r3, [r7, #11] 80c05d6: 687a ldr r2, [r7, #4] 80c05d8: 4619 mov r1, r3 80c05da: 68f8 ldr r0, [r7, #12] 80c05dc: f000 fe91 bl 80c1302 80c05e0: 4603 mov r3, r0 80c05e2: 75fb strb r3, [r7, #23] break; 80c05e4: e00b b.n 80c05fe default: SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_CDB); 80c05e6: 7af9 ldrb r1, [r7, #11] 80c05e8: 2320 movs r3, #32 80c05ea: 2205 movs r2, #5 80c05ec: 68f8 ldr r0, [r7, #12] 80c05ee: f000 fb0a bl 80c0c06 hmsc->bot_status = USBD_BOT_STATUS_ERROR; 80c05f2: 693b ldr r3, [r7, #16] 80c05f4: 2202 movs r2, #2 80c05f6: 725a strb r2, [r3, #9] ret = -1; 80c05f8: 23ff movs r3, #255 ; 0xff 80c05fa: 75fb strb r3, [r7, #23] break; 80c05fc: bf00 nop } return ret; 80c05fe: f997 3017 ldrsb.w r3, [r7, #23] } 80c0602: 4618 mov r0, r3 80c0604: 3718 adds r7, #24 80c0606: 46bd mov sp, r7 80c0608: bd80 pop {r7, pc} 080c060a : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_TestUnitReady(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c060a: b580 push {r7, lr} 80c060c: b086 sub sp, #24 80c060e: af00 add r7, sp, #0 80c0610: 60f8 str r0, [r7, #12] 80c0612: 460b mov r3, r1 80c0614: 607a str r2, [r7, #4] 80c0616: 72fb strb r3, [r7, #11] UNUSED(params); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0618: 68fb ldr r3, [r7, #12] 80c061a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c061e: 617b str r3, [r7, #20] /* case 9 : Hi > D0 */ if (hmsc->cbw.dDataLength != 0U) 80c0620: 697b ldr r3, [r7, #20] 80c0622: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c0626: 2b00 cmp r3, #0 80c0628: d00a beq.n 80c0640 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c062a: 697b ldr r3, [r7, #20] 80c062c: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0630: 2320 movs r3, #32 80c0632: 2205 movs r2, #5 80c0634: 68f8 ldr r0, [r7, #12] 80c0636: f000 fae6 bl 80c0c06 return -1; 80c063a: f04f 33ff mov.w r3, #4294967295 80c063e: e02a b.n 80c0696 } if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 80c0640: 697b ldr r3, [r7, #20] 80c0642: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c0646: 2b02 cmp r3, #2 80c0648: d10b bne.n 80c0662 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c064a: 7af9 ldrb r1, [r7, #11] 80c064c: 233a movs r3, #58 ; 0x3a 80c064e: 2202 movs r2, #2 80c0650: 68f8 ldr r0, [r7, #12] 80c0652: f000 fad8 bl 80c0c06 hmsc->bot_state = USBD_BOT_NO_DATA; 80c0656: 697b ldr r3, [r7, #20] 80c0658: 2205 movs r2, #5 80c065a: 721a strb r2, [r3, #8] return -1; 80c065c: f04f 33ff mov.w r3, #4294967295 80c0660: e019 b.n 80c0696 } if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c0662: 68fb ldr r3, [r7, #12] 80c0664: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c0668: 689b ldr r3, [r3, #8] 80c066a: 7afa ldrb r2, [r7, #11] 80c066c: 4610 mov r0, r2 80c066e: 4798 blx r3 80c0670: 4603 mov r3, r0 80c0672: 2b00 cmp r3, #0 80c0674: d00b beq.n 80c068e { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c0676: 7af9 ldrb r1, [r7, #11] 80c0678: 233a movs r3, #58 ; 0x3a 80c067a: 2202 movs r2, #2 80c067c: 68f8 ldr r0, [r7, #12] 80c067e: f000 fac2 bl 80c0c06 hmsc->bot_state = USBD_BOT_NO_DATA; 80c0682: 697b ldr r3, [r7, #20] 80c0684: 2205 movs r2, #5 80c0686: 721a strb r2, [r3, #8] return -1; 80c0688: f04f 33ff mov.w r3, #4294967295 80c068c: e003 b.n 80c0696 } hmsc->bot_data_length = 0U; 80c068e: 697b ldr r3, [r7, #20] 80c0690: 2200 movs r2, #0 80c0692: 60da str r2, [r3, #12] return 0; 80c0694: 2300 movs r3, #0 } 80c0696: 4618 mov r0, r3 80c0698: 3718 adds r7, #24 80c069a: 46bd mov sp, r7 80c069c: bd80 pop {r7, pc} ... 080c06a0 : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_Inquiry(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c06a0: b580 push {r7, lr} 80c06a2: b088 sub sp, #32 80c06a4: af00 add r7, sp, #0 80c06a6: 60f8 str r0, [r7, #12] 80c06a8: 460b mov r3, r1 80c06aa: 607a str r2, [r7, #4] 80c06ac: 72fb strb r3, [r7, #11] uint8_t *pPage; uint16_t len; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c06ae: 68fb ldr r3, [r7, #12] 80c06b0: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c06b4: 61bb str r3, [r7, #24] if (hmsc->cbw.dDataLength == 0U) 80c06b6: 69bb ldr r3, [r7, #24] 80c06b8: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c06bc: 2b00 cmp r3, #0 80c06be: d10a bne.n 80c06d6 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c06c0: 69bb ldr r3, [r7, #24] 80c06c2: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c06c6: 2320 movs r3, #32 80c06c8: 2205 movs r2, #5 80c06ca: 68f8 ldr r0, [r7, #12] 80c06cc: f000 fa9b bl 80c0c06 return -1; 80c06d0: f04f 33ff mov.w r3, #4294967295 80c06d4: e04a b.n 80c076c } if ((params[1] & 0x01U) != 0U) /* Evpd is set */ 80c06d6: 687b ldr r3, [r7, #4] 80c06d8: 3301 adds r3, #1 80c06da: 781b ldrb r3, [r3, #0] 80c06dc: f003 0301 and.w r3, r3, #1 80c06e0: 2b00 cmp r3, #0 80c06e2: d020 beq.n 80c0726 { if (params[2] == 0U) /* Request for Supported Vital Product Data Pages*/ 80c06e4: 687b ldr r3, [r7, #4] 80c06e6: 3302 adds r3, #2 80c06e8: 781b ldrb r3, [r3, #0] 80c06ea: 2b00 cmp r3, #0 80c06ec: d105 bne.n 80c06fa { (void)SCSI_UpdateBotData(hmsc, MSC_Page00_Inquiry_Data, LENGTH_INQUIRY_PAGE00); 80c06ee: 2206 movs r2, #6 80c06f0: 4920 ldr r1, [pc, #128] ; (80c0774 ) 80c06f2: 69b8 ldr r0, [r7, #24] 80c06f4: f000 ff50 bl 80c1598 80c06f8: e037 b.n 80c076a } else if (params[2] == 0x80U) /* Request for VPD page 0x80 Unit Serial Number */ 80c06fa: 687b ldr r3, [r7, #4] 80c06fc: 3302 adds r3, #2 80c06fe: 781b ldrb r3, [r3, #0] 80c0700: 2b80 cmp r3, #128 ; 0x80 80c0702: d105 bne.n 80c0710 { (void)SCSI_UpdateBotData(hmsc, MSC_Page80_Inquiry_Data, LENGTH_INQUIRY_PAGE80); 80c0704: 2208 movs r2, #8 80c0706: 491c ldr r1, [pc, #112] ; (80c0778 ) 80c0708: 69b8 ldr r0, [r7, #24] 80c070a: f000 ff45 bl 80c1598 80c070e: e02c b.n 80c076a } else /* Request Not supported */ { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, 80c0710: 69bb ldr r3, [r7, #24] 80c0712: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0716: 2324 movs r3, #36 ; 0x24 80c0718: 2205 movs r2, #5 80c071a: 68f8 ldr r0, [r7, #12] 80c071c: f000 fa73 bl 80c0c06 INVALID_FIELED_IN_COMMAND); return -1; 80c0720: f04f 33ff mov.w r3, #4294967295 80c0724: e022 b.n 80c076c } } else { pPage = (uint8_t *)&((USBD_StorageTypeDef *)pdev->pUserData)->pInquiry[lun * STANDARD_INQUIRY_DATA_LEN]; 80c0726: 68fb ldr r3, [r7, #12] 80c0728: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c072c: 69d9 ldr r1, [r3, #28] 80c072e: 7afa ldrb r2, [r7, #11] 80c0730: 4613 mov r3, r2 80c0732: 00db lsls r3, r3, #3 80c0734: 4413 add r3, r2 80c0736: 009b lsls r3, r3, #2 80c0738: 440b add r3, r1 80c073a: 617b str r3, [r7, #20] len = (uint16_t)pPage[4] + 5U; 80c073c: 697b ldr r3, [r7, #20] 80c073e: 3304 adds r3, #4 80c0740: 781b ldrb r3, [r3, #0] 80c0742: b29b uxth r3, r3 80c0744: 3305 adds r3, #5 80c0746: 83fb strh r3, [r7, #30] if (params[4] <= len) 80c0748: 687b ldr r3, [r7, #4] 80c074a: 3304 adds r3, #4 80c074c: 781b ldrb r3, [r3, #0] 80c074e: b29b uxth r3, r3 80c0750: 8bfa ldrh r2, [r7, #30] 80c0752: 429a cmp r2, r3 80c0754: d303 bcc.n 80c075e { len = params[4]; 80c0756: 687b ldr r3, [r7, #4] 80c0758: 3304 adds r3, #4 80c075a: 781b ldrb r3, [r3, #0] 80c075c: 83fb strh r3, [r7, #30] } (void)SCSI_UpdateBotData(hmsc, pPage, len); 80c075e: 8bfb ldrh r3, [r7, #30] 80c0760: 461a mov r2, r3 80c0762: 6979 ldr r1, [r7, #20] 80c0764: 69b8 ldr r0, [r7, #24] 80c0766: f000 ff17 bl 80c1598 } return 0; 80c076a: 2300 movs r3, #0 } 80c076c: 4618 mov r0, r3 80c076e: 3720 adds r7, #32 80c0770: 46bd mov sp, r7 80c0772: bd80 pop {r7, pc} 80c0774: 20020a80 .word 0x20020a80 80c0778: 20020a88 .word 0x20020a88 080c077c : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_ReadCapacity10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c077c: b580 push {r7, lr} 80c077e: b086 sub sp, #24 80c0780: af00 add r7, sp, #0 80c0782: 60f8 str r0, [r7, #12] 80c0784: 460b mov r3, r1 80c0786: 607a str r2, [r7, #4] 80c0788: 72fb strb r3, [r7, #11] UNUSED(params); int8_t ret; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c078a: 68fb ldr r3, [r7, #12] 80c078c: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0790: 617b str r3, [r7, #20] ret = ((USBD_StorageTypeDef *)pdev->pUserData)->GetCapacity(lun, &hmsc->scsi_blk_nbr, &hmsc->scsi_blk_size); 80c0792: 68fb ldr r3, [r7, #12] 80c0794: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c0798: 685b ldr r3, [r3, #4] 80c079a: 697a ldr r2, [r7, #20] 80c079c: f502 711a add.w r1, r2, #616 ; 0x268 80c07a0: 697a ldr r2, [r7, #20] 80c07a2: f502 7219 add.w r2, r2, #612 ; 0x264 80c07a6: 7af8 ldrb r0, [r7, #11] 80c07a8: 4798 blx r3 80c07aa: 4603 mov r3, r0 80c07ac: 74fb strb r3, [r7, #19] if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 80c07ae: f997 3013 ldrsb.w r3, [r7, #19] 80c07b2: 2b00 cmp r3, #0 80c07b4: d104 bne.n 80c07c0 80c07b6: 697b ldr r3, [r7, #20] 80c07b8: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c07bc: 2b02 cmp r3, #2 80c07be: d108 bne.n 80c07d2 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c07c0: 7af9 ldrb r1, [r7, #11] 80c07c2: 233a movs r3, #58 ; 0x3a 80c07c4: 2202 movs r2, #2 80c07c6: 68f8 ldr r0, [r7, #12] 80c07c8: f000 fa1d bl 80c0c06 return -1; 80c07cc: f04f 33ff mov.w r3, #4294967295 80c07d0: e03f b.n 80c0852 } hmsc->bot_data[0] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 24); 80c07d2: 697b ldr r3, [r7, #20] 80c07d4: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c07d8: 3b01 subs r3, #1 80c07da: 0e1b lsrs r3, r3, #24 80c07dc: b2da uxtb r2, r3 80c07de: 697b ldr r3, [r7, #20] 80c07e0: 741a strb r2, [r3, #16] hmsc->bot_data[1] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 16); 80c07e2: 697b ldr r3, [r7, #20] 80c07e4: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c07e8: 3b01 subs r3, #1 80c07ea: 0c1b lsrs r3, r3, #16 80c07ec: b2da uxtb r2, r3 80c07ee: 697b ldr r3, [r7, #20] 80c07f0: 745a strb r2, [r3, #17] hmsc->bot_data[2] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 8); 80c07f2: 697b ldr r3, [r7, #20] 80c07f4: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c07f8: 3b01 subs r3, #1 80c07fa: 0a1b lsrs r3, r3, #8 80c07fc: b2da uxtb r2, r3 80c07fe: 697b ldr r3, [r7, #20] 80c0800: 749a strb r2, [r3, #18] hmsc->bot_data[3] = (uint8_t)(hmsc->scsi_blk_nbr - 1U); 80c0802: 697b ldr r3, [r7, #20] 80c0804: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c0808: b2db uxtb r3, r3 80c080a: 3b01 subs r3, #1 80c080c: b2da uxtb r2, r3 80c080e: 697b ldr r3, [r7, #20] 80c0810: 74da strb r2, [r3, #19] hmsc->bot_data[4] = (uint8_t)(hmsc->scsi_blk_size >> 24); 80c0812: 697b ldr r3, [r7, #20] 80c0814: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c0818: 161b asrs r3, r3, #24 80c081a: b2da uxtb r2, r3 80c081c: 697b ldr r3, [r7, #20] 80c081e: 751a strb r2, [r3, #20] hmsc->bot_data[5] = (uint8_t)(hmsc->scsi_blk_size >> 16); 80c0820: 697b ldr r3, [r7, #20] 80c0822: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c0826: 141b asrs r3, r3, #16 80c0828: b2da uxtb r2, r3 80c082a: 697b ldr r3, [r7, #20] 80c082c: 755a strb r2, [r3, #21] hmsc->bot_data[6] = (uint8_t)(hmsc->scsi_blk_size >> 8); 80c082e: 697b ldr r3, [r7, #20] 80c0830: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c0834: 0a1b lsrs r3, r3, #8 80c0836: b29b uxth r3, r3 80c0838: b2da uxtb r2, r3 80c083a: 697b ldr r3, [r7, #20] 80c083c: 759a strb r2, [r3, #22] hmsc->bot_data[7] = (uint8_t)(hmsc->scsi_blk_size); 80c083e: 697b ldr r3, [r7, #20] 80c0840: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c0844: b2da uxtb r2, r3 80c0846: 697b ldr r3, [r7, #20] 80c0848: 75da strb r2, [r3, #23] hmsc->bot_data_length = 8U; 80c084a: 697b ldr r3, [r7, #20] 80c084c: 2208 movs r2, #8 80c084e: 60da str r2, [r3, #12] return 0; 80c0850: 2300 movs r3, #0 } 80c0852: 4618 mov r0, r3 80c0854: 3718 adds r7, #24 80c0856: 46bd mov sp, r7 80c0858: bd80 pop {r7, pc} 080c085a : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_ReadCapacity16(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c085a: b580 push {r7, lr} 80c085c: b088 sub sp, #32 80c085e: af00 add r7, sp, #0 80c0860: 60f8 str r0, [r7, #12] 80c0862: 460b mov r3, r1 80c0864: 607a str r2, [r7, #4] 80c0866: 72fb strb r3, [r7, #11] UNUSED(params); uint8_t idx; int8_t ret; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0868: 68fb ldr r3, [r7, #12] 80c086a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c086e: 61bb str r3, [r7, #24] ret = ((USBD_StorageTypeDef *)pdev->pUserData)->GetCapacity(lun, &hmsc->scsi_blk_nbr, &hmsc->scsi_blk_size); 80c0870: 68fb ldr r3, [r7, #12] 80c0872: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c0876: 685b ldr r3, [r3, #4] 80c0878: 69ba ldr r2, [r7, #24] 80c087a: f502 711a add.w r1, r2, #616 ; 0x268 80c087e: 69ba ldr r2, [r7, #24] 80c0880: f502 7219 add.w r2, r2, #612 ; 0x264 80c0884: 7af8 ldrb r0, [r7, #11] 80c0886: 4798 blx r3 80c0888: 4603 mov r3, r0 80c088a: 75fb strb r3, [r7, #23] if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 80c088c: f997 3017 ldrsb.w r3, [r7, #23] 80c0890: 2b00 cmp r3, #0 80c0892: d104 bne.n 80c089e 80c0894: 69bb ldr r3, [r7, #24] 80c0896: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c089a: 2b02 cmp r3, #2 80c089c: d108 bne.n 80c08b0 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c089e: 7af9 ldrb r1, [r7, #11] 80c08a0: 233a movs r3, #58 ; 0x3a 80c08a2: 2202 movs r2, #2 80c08a4: 68f8 ldr r0, [r7, #12] 80c08a6: f000 f9ae bl 80c0c06 return -1; 80c08aa: f04f 33ff mov.w r3, #4294967295 80c08ae: e074 b.n 80c099a } hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c08b0: 687b ldr r3, [r7, #4] 80c08b2: 330a adds r3, #10 80c08b4: 781b ldrb r3, [r3, #0] 80c08b6: 061a lsls r2, r3, #24 ((uint32_t)params[11] << 16) | 80c08b8: 687b ldr r3, [r7, #4] 80c08ba: 330b adds r3, #11 80c08bc: 781b ldrb r3, [r3, #0] 80c08be: 041b lsls r3, r3, #16 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c08c0: 431a orrs r2, r3 ((uint32_t)params[12] << 8) | 80c08c2: 687b ldr r3, [r7, #4] 80c08c4: 330c adds r3, #12 80c08c6: 781b ldrb r3, [r3, #0] 80c08c8: 021b lsls r3, r3, #8 ((uint32_t)params[11] << 16) | 80c08ca: 4313 orrs r3, r2 (uint32_t)params[13]; 80c08cc: 687a ldr r2, [r7, #4] 80c08ce: 320d adds r2, #13 80c08d0: 7812 ldrb r2, [r2, #0] ((uint32_t)params[12] << 8) | 80c08d2: 431a orrs r2, r3 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c08d4: 69bb ldr r3, [r7, #24] 80c08d6: 60da str r2, [r3, #12] for (idx = 0U; idx < hmsc->bot_data_length; idx++) 80c08d8: 2300 movs r3, #0 80c08da: 77fb strb r3, [r7, #31] 80c08dc: e007 b.n 80c08ee { hmsc->bot_data[idx] = 0U; 80c08de: 7ffb ldrb r3, [r7, #31] 80c08e0: 69ba ldr r2, [r7, #24] 80c08e2: 4413 add r3, r2 80c08e4: 2200 movs r2, #0 80c08e6: 741a strb r2, [r3, #16] for (idx = 0U; idx < hmsc->bot_data_length; idx++) 80c08e8: 7ffb ldrb r3, [r7, #31] 80c08ea: 3301 adds r3, #1 80c08ec: 77fb strb r3, [r7, #31] 80c08ee: 7ffa ldrb r2, [r7, #31] 80c08f0: 69bb ldr r3, [r7, #24] 80c08f2: 68db ldr r3, [r3, #12] 80c08f4: 429a cmp r2, r3 80c08f6: d3f2 bcc.n 80c08de } hmsc->bot_data[4] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 24); 80c08f8: 69bb ldr r3, [r7, #24] 80c08fa: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c08fe: 3b01 subs r3, #1 80c0900: 0e1b lsrs r3, r3, #24 80c0902: b2da uxtb r2, r3 80c0904: 69bb ldr r3, [r7, #24] 80c0906: 751a strb r2, [r3, #20] hmsc->bot_data[5] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 16); 80c0908: 69bb ldr r3, [r7, #24] 80c090a: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c090e: 3b01 subs r3, #1 80c0910: 0c1b lsrs r3, r3, #16 80c0912: b2da uxtb r2, r3 80c0914: 69bb ldr r3, [r7, #24] 80c0916: 755a strb r2, [r3, #21] hmsc->bot_data[6] = (uint8_t)((hmsc->scsi_blk_nbr - 1U) >> 8); 80c0918: 69bb ldr r3, [r7, #24] 80c091a: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c091e: 3b01 subs r3, #1 80c0920: 0a1b lsrs r3, r3, #8 80c0922: b2da uxtb r2, r3 80c0924: 69bb ldr r3, [r7, #24] 80c0926: 759a strb r2, [r3, #22] hmsc->bot_data[7] = (uint8_t)(hmsc->scsi_blk_nbr - 1U); 80c0928: 69bb ldr r3, [r7, #24] 80c092a: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c092e: b2db uxtb r3, r3 80c0930: 3b01 subs r3, #1 80c0932: b2da uxtb r2, r3 80c0934: 69bb ldr r3, [r7, #24] 80c0936: 75da strb r2, [r3, #23] hmsc->bot_data[8] = (uint8_t)(hmsc->scsi_blk_size >> 24); 80c0938: 69bb ldr r3, [r7, #24] 80c093a: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c093e: 161b asrs r3, r3, #24 80c0940: b2da uxtb r2, r3 80c0942: 69bb ldr r3, [r7, #24] 80c0944: 761a strb r2, [r3, #24] hmsc->bot_data[9] = (uint8_t)(hmsc->scsi_blk_size >> 16); 80c0946: 69bb ldr r3, [r7, #24] 80c0948: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c094c: 141b asrs r3, r3, #16 80c094e: b2da uxtb r2, r3 80c0950: 69bb ldr r3, [r7, #24] 80c0952: 765a strb r2, [r3, #25] hmsc->bot_data[10] = (uint8_t)(hmsc->scsi_blk_size >> 8); 80c0954: 69bb ldr r3, [r7, #24] 80c0956: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c095a: 0a1b lsrs r3, r3, #8 80c095c: b29b uxth r3, r3 80c095e: b2da uxtb r2, r3 80c0960: 69bb ldr r3, [r7, #24] 80c0962: 769a strb r2, [r3, #26] hmsc->bot_data[11] = (uint8_t)(hmsc->scsi_blk_size); 80c0964: 69bb ldr r3, [r7, #24] 80c0966: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c096a: b2da uxtb r2, r3 80c096c: 69bb ldr r3, [r7, #24] 80c096e: 76da strb r2, [r3, #27] hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c0970: 687b ldr r3, [r7, #4] 80c0972: 330a adds r3, #10 80c0974: 781b ldrb r3, [r3, #0] 80c0976: 061a lsls r2, r3, #24 ((uint32_t)params[11] << 16) | 80c0978: 687b ldr r3, [r7, #4] 80c097a: 330b adds r3, #11 80c097c: 781b ldrb r3, [r3, #0] 80c097e: 041b lsls r3, r3, #16 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c0980: 431a orrs r2, r3 ((uint32_t)params[12] << 8) | 80c0982: 687b ldr r3, [r7, #4] 80c0984: 330c adds r3, #12 80c0986: 781b ldrb r3, [r3, #0] 80c0988: 021b lsls r3, r3, #8 ((uint32_t)params[11] << 16) | 80c098a: 4313 orrs r3, r2 (uint32_t)params[13]; 80c098c: 687a ldr r2, [r7, #4] 80c098e: 320d adds r2, #13 80c0990: 7812 ldrb r2, [r2, #0] ((uint32_t)params[12] << 8) | 80c0992: 431a orrs r2, r3 hmsc->bot_data_length = ((uint32_t)params[10] << 24) | 80c0994: 69bb ldr r3, [r7, #24] 80c0996: 60da str r2, [r3, #12] return 0; 80c0998: 2300 movs r3, #0 } 80c099a: 4618 mov r0, r3 80c099c: 3720 adds r7, #32 80c099e: 46bd mov sp, r7 80c09a0: bd80 pop {r7, pc} 080c09a2 : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_ReadFormatCapacity(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c09a2: b580 push {r7, lr} 80c09a4: b088 sub sp, #32 80c09a6: af00 add r7, sp, #0 80c09a8: 60f8 str r0, [r7, #12] 80c09aa: 460b mov r3, r1 80c09ac: 607a str r2, [r7, #4] 80c09ae: 72fb strb r3, [r7, #11] UNUSED(params); uint16_t blk_size; uint32_t blk_nbr; uint16_t i; int8_t ret; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c09b0: 68fb ldr r3, [r7, #12] 80c09b2: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c09b6: 61bb str r3, [r7, #24] ret = ((USBD_StorageTypeDef *)pdev->pUserData)->GetCapacity(lun, &blk_nbr, &blk_size); 80c09b8: 68fb ldr r3, [r7, #12] 80c09ba: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c09be: 685b ldr r3, [r3, #4] 80c09c0: f107 0214 add.w r2, r7, #20 80c09c4: f107 0110 add.w r1, r7, #16 80c09c8: 7af8 ldrb r0, [r7, #11] 80c09ca: 4798 blx r3 80c09cc: 4603 mov r3, r0 80c09ce: 75fb strb r3, [r7, #23] if ((ret != 0) || (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED)) 80c09d0: f997 3017 ldrsb.w r3, [r7, #23] 80c09d4: 2b00 cmp r3, #0 80c09d6: d104 bne.n 80c09e2 80c09d8: 69bb ldr r3, [r7, #24] 80c09da: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c09de: 2b02 cmp r3, #2 80c09e0: d108 bne.n 80c09f4 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c09e2: 7af9 ldrb r1, [r7, #11] 80c09e4: 233a movs r3, #58 ; 0x3a 80c09e6: 2202 movs r2, #2 80c09e8: 68f8 ldr r0, [r7, #12] 80c09ea: f000 f90c bl 80c0c06 return -1; 80c09ee: f04f 33ff mov.w r3, #4294967295 80c09f2: e03e b.n 80c0a72 } for (i = 0U; i < 12U ; i++) 80c09f4: 2300 movs r3, #0 80c09f6: 83fb strh r3, [r7, #30] 80c09f8: e007 b.n 80c0a0a { hmsc->bot_data[i] = 0U; 80c09fa: 8bfb ldrh r3, [r7, #30] 80c09fc: 69ba ldr r2, [r7, #24] 80c09fe: 4413 add r3, r2 80c0a00: 2200 movs r2, #0 80c0a02: 741a strb r2, [r3, #16] for (i = 0U; i < 12U ; i++) 80c0a04: 8bfb ldrh r3, [r7, #30] 80c0a06: 3301 adds r3, #1 80c0a08: 83fb strh r3, [r7, #30] 80c0a0a: 8bfb ldrh r3, [r7, #30] 80c0a0c: 2b0b cmp r3, #11 80c0a0e: d9f4 bls.n 80c09fa } hmsc->bot_data[3] = 0x08U; 80c0a10: 69bb ldr r3, [r7, #24] 80c0a12: 2208 movs r2, #8 80c0a14: 74da strb r2, [r3, #19] hmsc->bot_data[4] = (uint8_t)((blk_nbr - 1U) >> 24); 80c0a16: 693b ldr r3, [r7, #16] 80c0a18: 3b01 subs r3, #1 80c0a1a: 0e1b lsrs r3, r3, #24 80c0a1c: b2da uxtb r2, r3 80c0a1e: 69bb ldr r3, [r7, #24] 80c0a20: 751a strb r2, [r3, #20] hmsc->bot_data[5] = (uint8_t)((blk_nbr - 1U) >> 16); 80c0a22: 693b ldr r3, [r7, #16] 80c0a24: 3b01 subs r3, #1 80c0a26: 0c1b lsrs r3, r3, #16 80c0a28: b2da uxtb r2, r3 80c0a2a: 69bb ldr r3, [r7, #24] 80c0a2c: 755a strb r2, [r3, #21] hmsc->bot_data[6] = (uint8_t)((blk_nbr - 1U) >> 8); 80c0a2e: 693b ldr r3, [r7, #16] 80c0a30: 3b01 subs r3, #1 80c0a32: 0a1b lsrs r3, r3, #8 80c0a34: b2da uxtb r2, r3 80c0a36: 69bb ldr r3, [r7, #24] 80c0a38: 759a strb r2, [r3, #22] hmsc->bot_data[7] = (uint8_t)(blk_nbr - 1U); 80c0a3a: 693b ldr r3, [r7, #16] 80c0a3c: b2db uxtb r3, r3 80c0a3e: 3b01 subs r3, #1 80c0a40: b2da uxtb r2, r3 80c0a42: 69bb ldr r3, [r7, #24] 80c0a44: 75da strb r2, [r3, #23] hmsc->bot_data[8] = 0x02U; 80c0a46: 69bb ldr r3, [r7, #24] 80c0a48: 2202 movs r2, #2 80c0a4a: 761a strb r2, [r3, #24] hmsc->bot_data[9] = (uint8_t)(blk_size >> 16); 80c0a4c: 8abb ldrh r3, [r7, #20] 80c0a4e: 141b asrs r3, r3, #16 80c0a50: b2da uxtb r2, r3 80c0a52: 69bb ldr r3, [r7, #24] 80c0a54: 765a strb r2, [r3, #25] hmsc->bot_data[10] = (uint8_t)(blk_size >> 8); 80c0a56: 8abb ldrh r3, [r7, #20] 80c0a58: 0a1b lsrs r3, r3, #8 80c0a5a: b29b uxth r3, r3 80c0a5c: b2da uxtb r2, r3 80c0a5e: 69bb ldr r3, [r7, #24] 80c0a60: 769a strb r2, [r3, #26] hmsc->bot_data[11] = (uint8_t)(blk_size); 80c0a62: 8abb ldrh r3, [r7, #20] 80c0a64: b2da uxtb r2, r3 80c0a66: 69bb ldr r3, [r7, #24] 80c0a68: 76da strb r2, [r3, #27] hmsc->bot_data_length = 12U; 80c0a6a: 69bb ldr r3, [r7, #24] 80c0a6c: 220c movs r2, #12 80c0a6e: 60da str r2, [r3, #12] return 0; 80c0a70: 2300 movs r3, #0 } 80c0a72: 4618 mov r0, r3 80c0a74: 3720 adds r7, #32 80c0a76: 46bd mov sp, r7 80c0a78: bd80 pop {r7, pc} ... 080c0a7c : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_ModeSense6(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c0a7c: b580 push {r7, lr} 80c0a7e: b086 sub sp, #24 80c0a80: af00 add r7, sp, #0 80c0a82: 60f8 str r0, [r7, #12] 80c0a84: 460b mov r3, r1 80c0a86: 607a str r2, [r7, #4] 80c0a88: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0a8a: 68fb ldr r3, [r7, #12] 80c0a8c: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0a90: 613b str r3, [r7, #16] uint16_t len = MODE_SENSE6_LEN; 80c0a92: 2317 movs r3, #23 80c0a94: 82fb strh r3, [r7, #22] if (params[4] <= len) 80c0a96: 687b ldr r3, [r7, #4] 80c0a98: 3304 adds r3, #4 80c0a9a: 781b ldrb r3, [r3, #0] 80c0a9c: b29b uxth r3, r3 80c0a9e: 8afa ldrh r2, [r7, #22] 80c0aa0: 429a cmp r2, r3 80c0aa2: d303 bcc.n 80c0aac { len = params[4]; 80c0aa4: 687b ldr r3, [r7, #4] 80c0aa6: 3304 adds r3, #4 80c0aa8: 781b ldrb r3, [r3, #0] 80c0aaa: 82fb strh r3, [r7, #22] } (void)SCSI_UpdateBotData(hmsc, MSC_Mode_Sense6_data, len); 80c0aac: 8afb ldrh r3, [r7, #22] 80c0aae: 461a mov r2, r3 80c0ab0: 4904 ldr r1, [pc, #16] ; (80c0ac4 ) 80c0ab2: 6938 ldr r0, [r7, #16] 80c0ab4: f000 fd70 bl 80c1598 return 0; 80c0ab8: 2300 movs r3, #0 } 80c0aba: 4618 mov r0, r3 80c0abc: 3718 adds r7, #24 80c0abe: 46bd mov sp, r7 80c0ac0: bd80 pop {r7, pc} 80c0ac2: bf00 nop 80c0ac4: 20020a90 .word 0x20020a90 080c0ac8 : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_ModeSense10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c0ac8: b580 push {r7, lr} 80c0aca: b086 sub sp, #24 80c0acc: af00 add r7, sp, #0 80c0ace: 60f8 str r0, [r7, #12] 80c0ad0: 460b mov r3, r1 80c0ad2: 607a str r2, [r7, #4] 80c0ad4: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0ad6: 68fb ldr r3, [r7, #12] 80c0ad8: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0adc: 613b str r3, [r7, #16] uint16_t len = MODE_SENSE10_LEN; 80c0ade: 231b movs r3, #27 80c0ae0: 82fb strh r3, [r7, #22] if (params[8] <= len) 80c0ae2: 687b ldr r3, [r7, #4] 80c0ae4: 3308 adds r3, #8 80c0ae6: 781b ldrb r3, [r3, #0] 80c0ae8: b29b uxth r3, r3 80c0aea: 8afa ldrh r2, [r7, #22] 80c0aec: 429a cmp r2, r3 80c0aee: d303 bcc.n 80c0af8 { len = params[8]; 80c0af0: 687b ldr r3, [r7, #4] 80c0af2: 3308 adds r3, #8 80c0af4: 781b ldrb r3, [r3, #0] 80c0af6: 82fb strh r3, [r7, #22] } (void)SCSI_UpdateBotData(hmsc, MSC_Mode_Sense10_data, len); 80c0af8: 8afb ldrh r3, [r7, #22] 80c0afa: 461a mov r2, r3 80c0afc: 4904 ldr r1, [pc, #16] ; (80c0b10 ) 80c0afe: 6938 ldr r0, [r7, #16] 80c0b00: f000 fd4a bl 80c1598 return 0; 80c0b04: 2300 movs r3, #0 } 80c0b06: 4618 mov r0, r3 80c0b08: 3718 adds r7, #24 80c0b0a: 46bd mov sp, r7 80c0b0c: bd80 pop {r7, pc} 80c0b0e: bf00 nop 80c0b10: 20020aa8 .word 0x20020aa8 080c0b14 : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_RequestSense(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c0b14: b580 push {r7, lr} 80c0b16: b086 sub sp, #24 80c0b18: af00 add r7, sp, #0 80c0b1a: 60f8 str r0, [r7, #12] 80c0b1c: 460b mov r3, r1 80c0b1e: 607a str r2, [r7, #4] 80c0b20: 72fb strb r3, [r7, #11] UNUSED(lun); uint8_t i; USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0b22: 68fb ldr r3, [r7, #12] 80c0b24: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0b28: 613b str r3, [r7, #16] if (hmsc->cbw.dDataLength == 0U) 80c0b2a: 693b ldr r3, [r7, #16] 80c0b2c: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c0b30: 2b00 cmp r3, #0 80c0b32: d10a bne.n 80c0b4a { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0b34: 693b ldr r3, [r7, #16] 80c0b36: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0b3a: 2320 movs r3, #32 80c0b3c: 2205 movs r2, #5 80c0b3e: 68f8 ldr r0, [r7, #12] 80c0b40: f000 f861 bl 80c0c06 return -1; 80c0b44: f04f 33ff mov.w r3, #4294967295 80c0b48: e059 b.n 80c0bfe } for (i = 0U; i < REQUEST_SENSE_DATA_LEN; i++) 80c0b4a: 2300 movs r3, #0 80c0b4c: 75fb strb r3, [r7, #23] 80c0b4e: e007 b.n 80c0b60 { hmsc->bot_data[i] = 0U; 80c0b50: 7dfb ldrb r3, [r7, #23] 80c0b52: 693a ldr r2, [r7, #16] 80c0b54: 4413 add r3, r2 80c0b56: 2200 movs r2, #0 80c0b58: 741a strb r2, [r3, #16] for (i = 0U; i < REQUEST_SENSE_DATA_LEN; i++) 80c0b5a: 7dfb ldrb r3, [r7, #23] 80c0b5c: 3301 adds r3, #1 80c0b5e: 75fb strb r3, [r7, #23] 80c0b60: 7dfb ldrb r3, [r7, #23] 80c0b62: 2b11 cmp r3, #17 80c0b64: d9f4 bls.n 80c0b50 } hmsc->bot_data[0] = 0x70U; 80c0b66: 693b ldr r3, [r7, #16] 80c0b68: 2270 movs r2, #112 ; 0x70 80c0b6a: 741a strb r2, [r3, #16] hmsc->bot_data[7] = REQUEST_SENSE_DATA_LEN - 6U; 80c0b6c: 693b ldr r3, [r7, #16] 80c0b6e: 220c movs r2, #12 80c0b70: 75da strb r2, [r3, #23] if ((hmsc->scsi_sense_head != hmsc->scsi_sense_tail)) 80c0b72: 693b ldr r3, [r7, #16] 80c0b74: f893 2260 ldrb.w r2, [r3, #608] ; 0x260 80c0b78: 693b ldr r3, [r7, #16] 80c0b7a: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c0b7e: 429a cmp r2, r3 80c0b80: d02e beq.n 80c0be0 { hmsc->bot_data[2] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].Skey; 80c0b82: 693b ldr r3, [r7, #16] 80c0b84: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c0b88: 461a mov r2, r3 80c0b8a: 693b ldr r3, [r7, #16] 80c0b8c: 3248 adds r2, #72 ; 0x48 80c0b8e: f813 2032 ldrb.w r2, [r3, r2, lsl #3] 80c0b92: 693b ldr r3, [r7, #16] 80c0b94: 749a strb r2, [r3, #18] hmsc->bot_data[12] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].w.b.ASC; 80c0b96: 693b ldr r3, [r7, #16] 80c0b98: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c0b9c: 693a ldr r2, [r7, #16] 80c0b9e: 3348 adds r3, #72 ; 0x48 80c0ba0: 00db lsls r3, r3, #3 80c0ba2: 4413 add r3, r2 80c0ba4: 791a ldrb r2, [r3, #4] 80c0ba6: 693b ldr r3, [r7, #16] 80c0ba8: 771a strb r2, [r3, #28] hmsc->bot_data[13] = (uint8_t)hmsc->scsi_sense[hmsc->scsi_sense_head].w.b.ASCQ; 80c0baa: 693b ldr r3, [r7, #16] 80c0bac: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c0bb0: 693a ldr r2, [r7, #16] 80c0bb2: 3348 adds r3, #72 ; 0x48 80c0bb4: 00db lsls r3, r3, #3 80c0bb6: 4413 add r3, r2 80c0bb8: 795a ldrb r2, [r3, #5] 80c0bba: 693b ldr r3, [r7, #16] 80c0bbc: 775a strb r2, [r3, #29] hmsc->scsi_sense_head++; 80c0bbe: 693b ldr r3, [r7, #16] 80c0bc0: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c0bc4: 3301 adds r3, #1 80c0bc6: b2da uxtb r2, r3 80c0bc8: 693b ldr r3, [r7, #16] 80c0bca: f883 2260 strb.w r2, [r3, #608] ; 0x260 if (hmsc->scsi_sense_head == SENSE_LIST_DEEPTH) 80c0bce: 693b ldr r3, [r7, #16] 80c0bd0: f893 3260 ldrb.w r3, [r3, #608] ; 0x260 80c0bd4: 2b04 cmp r3, #4 80c0bd6: d103 bne.n 80c0be0 { hmsc->scsi_sense_head = 0U; 80c0bd8: 693b ldr r3, [r7, #16] 80c0bda: 2200 movs r2, #0 80c0bdc: f883 2260 strb.w r2, [r3, #608] ; 0x260 } } hmsc->bot_data_length = REQUEST_SENSE_DATA_LEN; 80c0be0: 693b ldr r3, [r7, #16] 80c0be2: 2212 movs r2, #18 80c0be4: 60da str r2, [r3, #12] if (params[4] <= REQUEST_SENSE_DATA_LEN) 80c0be6: 687b ldr r3, [r7, #4] 80c0be8: 3304 adds r3, #4 80c0bea: 781b ldrb r3, [r3, #0] 80c0bec: 2b12 cmp r3, #18 80c0bee: d805 bhi.n 80c0bfc { hmsc->bot_data_length = params[4]; 80c0bf0: 687b ldr r3, [r7, #4] 80c0bf2: 3304 adds r3, #4 80c0bf4: 781b ldrb r3, [r3, #0] 80c0bf6: 461a mov r2, r3 80c0bf8: 693b ldr r3, [r7, #16] 80c0bfa: 60da str r2, [r3, #12] } return 0; 80c0bfc: 2300 movs r3, #0 } 80c0bfe: 4618 mov r0, r3 80c0c00: 3718 adds r7, #24 80c0c02: 46bd mov sp, r7 80c0c04: bd80 pop {r7, pc} 080c0c06 : * @param ASC: Additional Sense Code * @retval none */ void SCSI_SenseCode(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t sKey, uint8_t ASC) { 80c0c06: b480 push {r7} 80c0c08: b085 sub sp, #20 80c0c0a: af00 add r7, sp, #0 80c0c0c: 6078 str r0, [r7, #4] 80c0c0e: 4608 mov r0, r1 80c0c10: 4611 mov r1, r2 80c0c12: 461a mov r2, r3 80c0c14: 4603 mov r3, r0 80c0c16: 70fb strb r3, [r7, #3] 80c0c18: 460b mov r3, r1 80c0c1a: 70bb strb r3, [r7, #2] 80c0c1c: 4613 mov r3, r2 80c0c1e: 707b strb r3, [r7, #1] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0c20: 687b ldr r3, [r7, #4] 80c0c22: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0c26: 60fb str r3, [r7, #12] hmsc->scsi_sense[hmsc->scsi_sense_tail].Skey = sKey; 80c0c28: 68fb ldr r3, [r7, #12] 80c0c2a: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c0c2e: 461a mov r2, r3 80c0c30: 68fb ldr r3, [r7, #12] 80c0c32: 3248 adds r2, #72 ; 0x48 80c0c34: 78b9 ldrb r1, [r7, #2] 80c0c36: f803 1032 strb.w r1, [r3, r2, lsl #3] hmsc->scsi_sense[hmsc->scsi_sense_tail].w.b.ASC = ASC; 80c0c3a: 68fb ldr r3, [r7, #12] 80c0c3c: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c0c40: 68fa ldr r2, [r7, #12] 80c0c42: 3348 adds r3, #72 ; 0x48 80c0c44: 00db lsls r3, r3, #3 80c0c46: 4413 add r3, r2 80c0c48: 787a ldrb r2, [r7, #1] 80c0c4a: 711a strb r2, [r3, #4] hmsc->scsi_sense[hmsc->scsi_sense_tail].w.b.ASCQ = 0U; 80c0c4c: 68fb ldr r3, [r7, #12] 80c0c4e: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c0c52: 68fa ldr r2, [r7, #12] 80c0c54: 3348 adds r3, #72 ; 0x48 80c0c56: 00db lsls r3, r3, #3 80c0c58: 4413 add r3, r2 80c0c5a: 2200 movs r2, #0 80c0c5c: 715a strb r2, [r3, #5] hmsc->scsi_sense_tail++; 80c0c5e: 68fb ldr r3, [r7, #12] 80c0c60: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c0c64: 3301 adds r3, #1 80c0c66: b2da uxtb r2, r3 80c0c68: 68fb ldr r3, [r7, #12] 80c0c6a: f883 2261 strb.w r2, [r3, #609] ; 0x261 if (hmsc->scsi_sense_tail == SENSE_LIST_DEEPTH) 80c0c6e: 68fb ldr r3, [r7, #12] 80c0c70: f893 3261 ldrb.w r3, [r3, #609] ; 0x261 80c0c74: 2b04 cmp r3, #4 80c0c76: d103 bne.n 80c0c80 { hmsc->scsi_sense_tail = 0U; 80c0c78: 68fb ldr r3, [r7, #12] 80c0c7a: 2200 movs r2, #0 80c0c7c: f883 2261 strb.w r2, [r3, #609] ; 0x261 } } 80c0c80: bf00 nop 80c0c82: 3714 adds r7, #20 80c0c84: 46bd mov sp, r7 80c0c86: f85d 7b04 ldr.w r7, [sp], #4 80c0c8a: 4770 bx lr 080c0c8c : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_StartStopUnit(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c0c8c: b580 push {r7, lr} 80c0c8e: b086 sub sp, #24 80c0c90: af00 add r7, sp, #0 80c0c92: 60f8 str r0, [r7, #12] 80c0c94: 460b mov r3, r1 80c0c96: 607a str r2, [r7, #4] 80c0c98: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0c9a: 68fb ldr r3, [r7, #12] 80c0c9c: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0ca0: 617b str r3, [r7, #20] if ((hmsc->scsi_medium_state == SCSI_MEDIUM_LOCKED) && ((params[4] & 0x3U) == 2U)) 80c0ca2: 697b ldr r3, [r7, #20] 80c0ca4: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c0ca8: 2b01 cmp r3, #1 80c0caa: d10f bne.n 80c0ccc 80c0cac: 687b ldr r3, [r7, #4] 80c0cae: 3304 adds r3, #4 80c0cb0: 781b ldrb r3, [r3, #0] 80c0cb2: f003 0303 and.w r3, r3, #3 80c0cb6: 2b02 cmp r3, #2 80c0cb8: d108 bne.n 80c0ccc { SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); 80c0cba: 7af9 ldrb r1, [r7, #11] 80c0cbc: 2324 movs r3, #36 ; 0x24 80c0cbe: 2205 movs r2, #5 80c0cc0: 68f8 ldr r0, [r7, #12] 80c0cc2: f7ff ffa0 bl 80c0c06 return -1; 80c0cc6: f04f 33ff mov.w r3, #4294967295 80c0cca: e026 b.n 80c0d1a } if ((params[4] & 0x3U) == 0x1U) /* START=1 */ 80c0ccc: 687b ldr r3, [r7, #4] 80c0cce: 3304 adds r3, #4 80c0cd0: 781b ldrb r3, [r3, #0] 80c0cd2: f003 0303 and.w r3, r3, #3 80c0cd6: 2b01 cmp r3, #1 80c0cd8: d104 bne.n 80c0ce4 { hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c0cda: 697b ldr r3, [r7, #20] 80c0cdc: 2200 movs r2, #0 80c0cde: f883 2262 strb.w r2, [r3, #610] ; 0x262 80c0ce2: e016 b.n 80c0d12 } else if ((params[4] & 0x3U) == 0x2U) /* START=0 and LOEJ Load Eject=1 */ 80c0ce4: 687b ldr r3, [r7, #4] 80c0ce6: 3304 adds r3, #4 80c0ce8: 781b ldrb r3, [r3, #0] 80c0cea: f003 0303 and.w r3, r3, #3 80c0cee: 2b02 cmp r3, #2 80c0cf0: d104 bne.n 80c0cfc { hmsc->scsi_medium_state = SCSI_MEDIUM_EJECTED; 80c0cf2: 697b ldr r3, [r7, #20] 80c0cf4: 2202 movs r2, #2 80c0cf6: f883 2262 strb.w r2, [r3, #610] ; 0x262 80c0cfa: e00a b.n 80c0d12 } else if ((params[4] & 0x3U) == 0x3U) /* START=1 and LOEJ Load Eject=1 */ 80c0cfc: 687b ldr r3, [r7, #4] 80c0cfe: 3304 adds r3, #4 80c0d00: 781b ldrb r3, [r3, #0] 80c0d02: f003 0303 and.w r3, r3, #3 80c0d06: 2b03 cmp r3, #3 80c0d08: d103 bne.n 80c0d12 { hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c0d0a: 697b ldr r3, [r7, #20] 80c0d0c: 2200 movs r2, #0 80c0d0e: f883 2262 strb.w r2, [r3, #610] ; 0x262 } else { /* .. */ } hmsc->bot_data_length = 0U; 80c0d12: 697b ldr r3, [r7, #20] 80c0d14: 2200 movs r2, #0 80c0d16: 60da str r2, [r3, #12] return 0; 80c0d18: 2300 movs r3, #0 } 80c0d1a: 4618 mov r0, r3 80c0d1c: 3718 adds r7, #24 80c0d1e: 46bd mov sp, r7 80c0d20: bd80 pop {r7, pc} 080c0d22 : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_AllowPreventRemovable(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c0d22: b480 push {r7} 80c0d24: b087 sub sp, #28 80c0d26: af00 add r7, sp, #0 80c0d28: 60f8 str r0, [r7, #12] 80c0d2a: 460b mov r3, r1 80c0d2c: 607a str r2, [r7, #4] 80c0d2e: 72fb strb r3, [r7, #11] UNUSED(lun); USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0d30: 68fb ldr r3, [r7, #12] 80c0d32: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0d36: 617b str r3, [r7, #20] if (params[4] == 0U) 80c0d38: 687b ldr r3, [r7, #4] 80c0d3a: 3304 adds r3, #4 80c0d3c: 781b ldrb r3, [r3, #0] 80c0d3e: 2b00 cmp r3, #0 80c0d40: d104 bne.n 80c0d4c { hmsc->scsi_medium_state = SCSI_MEDIUM_UNLOCKED; 80c0d42: 697b ldr r3, [r7, #20] 80c0d44: 2200 movs r2, #0 80c0d46: f883 2262 strb.w r2, [r3, #610] ; 0x262 80c0d4a: e003 b.n 80c0d54 } else { hmsc->scsi_medium_state = SCSI_MEDIUM_LOCKED; 80c0d4c: 697b ldr r3, [r7, #20] 80c0d4e: 2201 movs r2, #1 80c0d50: f883 2262 strb.w r2, [r3, #610] ; 0x262 } hmsc->bot_data_length = 0U; 80c0d54: 697b ldr r3, [r7, #20] 80c0d56: 2200 movs r2, #0 80c0d58: 60da str r2, [r3, #12] return 0; 80c0d5a: 2300 movs r3, #0 } 80c0d5c: 4618 mov r0, r3 80c0d5e: 371c adds r7, #28 80c0d60: 46bd mov sp, r7 80c0d62: f85d 7b04 ldr.w r7, [sp], #4 80c0d66: 4770 bx lr 080c0d68 : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_Read10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c0d68: b580 push {r7, lr} 80c0d6a: b086 sub sp, #24 80c0d6c: af00 add r7, sp, #0 80c0d6e: 60f8 str r0, [r7, #12] 80c0d70: 460b mov r3, r1 80c0d72: 607a str r2, [r7, #4] 80c0d74: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0d76: 68fb ldr r3, [r7, #12] 80c0d78: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0d7c: 617b str r3, [r7, #20] if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c0d7e: 697b ldr r3, [r7, #20] 80c0d80: 7a1b ldrb r3, [r3, #8] 80c0d82: 2b00 cmp r3, #0 80c0d84: d17c bne.n 80c0e80 { /* case 10 : Ho <> Di */ if ((hmsc->cbw.bmFlags & 0x80U) != 0x80U) 80c0d86: 697b ldr r3, [r7, #20] 80c0d88: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c0d8c: b25b sxtb r3, r3 80c0d8e: 2b00 cmp r3, #0 80c0d90: db0a blt.n 80c0da8 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0d92: 697b ldr r3, [r7, #20] 80c0d94: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0d98: 2320 movs r3, #32 80c0d9a: 2205 movs r2, #5 80c0d9c: 68f8 ldr r0, [r7, #12] 80c0d9e: f7ff ff32 bl 80c0c06 return -1; 80c0da2: f04f 33ff mov.w r3, #4294967295 80c0da6: e075 b.n 80c0e94 } if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 80c0da8: 697b ldr r3, [r7, #20] 80c0daa: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c0dae: 2b02 cmp r3, #2 80c0db0: d108 bne.n 80c0dc4 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c0db2: 7af9 ldrb r1, [r7, #11] 80c0db4: 233a movs r3, #58 ; 0x3a 80c0db6: 2202 movs r2, #2 80c0db8: 68f8 ldr r0, [r7, #12] 80c0dba: f7ff ff24 bl 80c0c06 return -1; 80c0dbe: f04f 33ff mov.w r3, #4294967295 80c0dc2: e067 b.n 80c0e94 } if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c0dc4: 68fb ldr r3, [r7, #12] 80c0dc6: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c0dca: 689b ldr r3, [r3, #8] 80c0dcc: 7afa ldrb r2, [r7, #11] 80c0dce: 4610 mov r0, r2 80c0dd0: 4798 blx r3 80c0dd2: 4603 mov r3, r0 80c0dd4: 2b00 cmp r3, #0 80c0dd6: d008 beq.n 80c0dea { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c0dd8: 7af9 ldrb r1, [r7, #11] 80c0dda: 233a movs r3, #58 ; 0x3a 80c0ddc: 2202 movs r2, #2 80c0dde: 68f8 ldr r0, [r7, #12] 80c0de0: f7ff ff11 bl 80c0c06 return -1; 80c0de4: f04f 33ff mov.w r3, #4294967295 80c0de8: e054 b.n 80c0e94 } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c0dea: 687b ldr r3, [r7, #4] 80c0dec: 3302 adds r3, #2 80c0dee: 781b ldrb r3, [r3, #0] 80c0df0: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c0df2: 687b ldr r3, [r7, #4] 80c0df4: 3303 adds r3, #3 80c0df6: 781b ldrb r3, [r3, #0] 80c0df8: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c0dfa: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c0dfc: 687b ldr r3, [r7, #4] 80c0dfe: 3304 adds r3, #4 80c0e00: 781b ldrb r3, [r3, #0] 80c0e02: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c0e04: 4313 orrs r3, r2 (uint32_t)params[5]; 80c0e06: 687a ldr r2, [r7, #4] 80c0e08: 3205 adds r2, #5 80c0e0a: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c0e0c: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c0e0e: 697b ldr r3, [r7, #20] 80c0e10: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[7] << 8) | (uint32_t)params[8]; 80c0e14: 687b ldr r3, [r7, #4] 80c0e16: 3307 adds r3, #7 80c0e18: 781b ldrb r3, [r3, #0] 80c0e1a: 021b lsls r3, r3, #8 80c0e1c: 687a ldr r2, [r7, #4] 80c0e1e: 3208 adds r2, #8 80c0e20: 7812 ldrb r2, [r2, #0] 80c0e22: 431a orrs r2, r3 80c0e24: 697b ldr r3, [r7, #20] 80c0e26: f8c3 2270 str.w r2, [r3, #624] ; 0x270 if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, 80c0e2a: 697b ldr r3, [r7, #20] 80c0e2c: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c0e30: 697b ldr r3, [r7, #20] 80c0e32: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c0e36: 7af9 ldrb r1, [r7, #11] 80c0e38: 68f8 ldr r0, [r7, #12] 80c0e3a: f000 fa95 bl 80c1368 80c0e3e: 4603 mov r3, r0 80c0e40: 2b00 cmp r3, #0 80c0e42: da02 bge.n 80c0e4a hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c0e44: f04f 33ff mov.w r3, #4294967295 80c0e48: e024 b.n 80c0e94 } /* cases 4,5 : Hi <> Dn */ if (hmsc->cbw.dDataLength != (hmsc->scsi_blk_len * hmsc->scsi_blk_size)) 80c0e4a: 697b ldr r3, [r7, #20] 80c0e4c: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c0e50: 697b ldr r3, [r7, #20] 80c0e52: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c0e56: 6979 ldr r1, [r7, #20] 80c0e58: f8b1 1264 ldrh.w r1, [r1, #612] ; 0x264 80c0e5c: fb01 f303 mul.w r3, r1, r3 80c0e60: 429a cmp r2, r3 80c0e62: d00a beq.n 80c0e7a { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0e64: 697b ldr r3, [r7, #20] 80c0e66: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0e6a: 2320 movs r3, #32 80c0e6c: 2205 movs r2, #5 80c0e6e: 68f8 ldr r0, [r7, #12] 80c0e70: f7ff fec9 bl 80c0c06 return -1; 80c0e74: f04f 33ff mov.w r3, #4294967295 80c0e78: e00c b.n 80c0e94 } hmsc->bot_state = USBD_BOT_DATA_IN; 80c0e7a: 697b ldr r3, [r7, #20] 80c0e7c: 2202 movs r2, #2 80c0e7e: 721a strb r2, [r3, #8] } hmsc->bot_data_length = MSC_MEDIA_PACKET; 80c0e80: 697b ldr r3, [r7, #20] 80c0e82: f44f 7200 mov.w r2, #512 ; 0x200 80c0e86: 60da str r2, [r3, #12] return SCSI_ProcessRead(pdev, lun); 80c0e88: 7afb ldrb r3, [r7, #11] 80c0e8a: 4619 mov r1, r3 80c0e8c: 68f8 ldr r0, [r7, #12] 80c0e8e: f000 fa8d bl 80c13ac 80c0e92: 4603 mov r3, r0 } 80c0e94: 4618 mov r0, r3 80c0e96: 3718 adds r7, #24 80c0e98: 46bd mov sp, r7 80c0e9a: bd80 pop {r7, pc} 080c0e9c : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_Read12(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c0e9c: b580 push {r7, lr} 80c0e9e: b086 sub sp, #24 80c0ea0: af00 add r7, sp, #0 80c0ea2: 60f8 str r0, [r7, #12] 80c0ea4: 460b mov r3, r1 80c0ea6: 607a str r2, [r7, #4] 80c0ea8: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0eaa: 68fb ldr r3, [r7, #12] 80c0eac: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0eb0: 617b str r3, [r7, #20] if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c0eb2: 697b ldr r3, [r7, #20] 80c0eb4: 7a1b ldrb r3, [r3, #8] 80c0eb6: 2b00 cmp r3, #0 80c0eb8: f040 8087 bne.w 80c0fca { /* case 10 : Ho <> Di */ if ((hmsc->cbw.bmFlags & 0x80U) != 0x80U) 80c0ebc: 697b ldr r3, [r7, #20] 80c0ebe: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c0ec2: b25b sxtb r3, r3 80c0ec4: 2b00 cmp r3, #0 80c0ec6: db0a blt.n 80c0ede { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0ec8: 697b ldr r3, [r7, #20] 80c0eca: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0ece: 2320 movs r3, #32 80c0ed0: 2205 movs r2, #5 80c0ed2: 68f8 ldr r0, [r7, #12] 80c0ed4: f7ff fe97 bl 80c0c06 return -1; 80c0ed8: f04f 33ff mov.w r3, #4294967295 80c0edc: e07f b.n 80c0fde } if (hmsc->scsi_medium_state == SCSI_MEDIUM_EJECTED) 80c0ede: 697b ldr r3, [r7, #20] 80c0ee0: f893 3262 ldrb.w r3, [r3, #610] ; 0x262 80c0ee4: 2b02 cmp r3, #2 80c0ee6: d108 bne.n 80c0efa { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c0ee8: 7af9 ldrb r1, [r7, #11] 80c0eea: 233a movs r3, #58 ; 0x3a 80c0eec: 2202 movs r2, #2 80c0eee: 68f8 ldr r0, [r7, #12] 80c0ef0: f7ff fe89 bl 80c0c06 return -1; 80c0ef4: f04f 33ff mov.w r3, #4294967295 80c0ef8: e071 b.n 80c0fde } if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c0efa: 68fb ldr r3, [r7, #12] 80c0efc: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c0f00: 689b ldr r3, [r3, #8] 80c0f02: 7afa ldrb r2, [r7, #11] 80c0f04: 4610 mov r0, r2 80c0f06: 4798 blx r3 80c0f08: 4603 mov r3, r0 80c0f0a: 2b00 cmp r3, #0 80c0f0c: d008 beq.n 80c0f20 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c0f0e: 7af9 ldrb r1, [r7, #11] 80c0f10: 233a movs r3, #58 ; 0x3a 80c0f12: 2202 movs r2, #2 80c0f14: 68f8 ldr r0, [r7, #12] 80c0f16: f7ff fe76 bl 80c0c06 return -1; 80c0f1a: f04f 33ff mov.w r3, #4294967295 80c0f1e: e05e b.n 80c0fde } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c0f20: 687b ldr r3, [r7, #4] 80c0f22: 3302 adds r3, #2 80c0f24: 781b ldrb r3, [r3, #0] 80c0f26: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c0f28: 687b ldr r3, [r7, #4] 80c0f2a: 3303 adds r3, #3 80c0f2c: 781b ldrb r3, [r3, #0] 80c0f2e: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c0f30: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c0f32: 687b ldr r3, [r7, #4] 80c0f34: 3304 adds r3, #4 80c0f36: 781b ldrb r3, [r3, #0] 80c0f38: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c0f3a: 4313 orrs r3, r2 (uint32_t)params[5]; 80c0f3c: 687a ldr r2, [r7, #4] 80c0f3e: 3205 adds r2, #5 80c0f40: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c0f42: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c0f44: 697b ldr r3, [r7, #20] 80c0f46: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c0f4a: 687b ldr r3, [r7, #4] 80c0f4c: 3306 adds r3, #6 80c0f4e: 781b ldrb r3, [r3, #0] 80c0f50: 061a lsls r2, r3, #24 ((uint32_t)params[7] << 16) | 80c0f52: 687b ldr r3, [r7, #4] 80c0f54: 3307 adds r3, #7 80c0f56: 781b ldrb r3, [r3, #0] 80c0f58: 041b lsls r3, r3, #16 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c0f5a: 431a orrs r2, r3 ((uint32_t)params[8] << 8) | 80c0f5c: 687b ldr r3, [r7, #4] 80c0f5e: 3308 adds r3, #8 80c0f60: 781b ldrb r3, [r3, #0] 80c0f62: 021b lsls r3, r3, #8 ((uint32_t)params[7] << 16) | 80c0f64: 4313 orrs r3, r2 (uint32_t)params[9]; 80c0f66: 687a ldr r2, [r7, #4] 80c0f68: 3209 adds r2, #9 80c0f6a: 7812 ldrb r2, [r2, #0] ((uint32_t)params[8] << 8) | 80c0f6c: 431a orrs r2, r3 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c0f6e: 697b ldr r3, [r7, #20] 80c0f70: f8c3 2270 str.w r2, [r3, #624] ; 0x270 if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, 80c0f74: 697b ldr r3, [r7, #20] 80c0f76: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c0f7a: 697b ldr r3, [r7, #20] 80c0f7c: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c0f80: 7af9 ldrb r1, [r7, #11] 80c0f82: 68f8 ldr r0, [r7, #12] 80c0f84: f000 f9f0 bl 80c1368 80c0f88: 4603 mov r3, r0 80c0f8a: 2b00 cmp r3, #0 80c0f8c: da02 bge.n 80c0f94 hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c0f8e: f04f 33ff mov.w r3, #4294967295 80c0f92: e024 b.n 80c0fde } /* cases 4,5 : Hi <> Dn */ if (hmsc->cbw.dDataLength != (hmsc->scsi_blk_len * hmsc->scsi_blk_size)) 80c0f94: 697b ldr r3, [r7, #20] 80c0f96: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c0f9a: 697b ldr r3, [r7, #20] 80c0f9c: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c0fa0: 6979 ldr r1, [r7, #20] 80c0fa2: f8b1 1264 ldrh.w r1, [r1, #612] ; 0x264 80c0fa6: fb01 f303 mul.w r3, r1, r3 80c0faa: 429a cmp r2, r3 80c0fac: d00a beq.n 80c0fc4 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c0fae: 697b ldr r3, [r7, #20] 80c0fb0: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c0fb4: 2320 movs r3, #32 80c0fb6: 2205 movs r2, #5 80c0fb8: 68f8 ldr r0, [r7, #12] 80c0fba: f7ff fe24 bl 80c0c06 return -1; 80c0fbe: f04f 33ff mov.w r3, #4294967295 80c0fc2: e00c b.n 80c0fde } hmsc->bot_state = USBD_BOT_DATA_IN; 80c0fc4: 697b ldr r3, [r7, #20] 80c0fc6: 2202 movs r2, #2 80c0fc8: 721a strb r2, [r3, #8] } hmsc->bot_data_length = MSC_MEDIA_PACKET; 80c0fca: 697b ldr r3, [r7, #20] 80c0fcc: f44f 7200 mov.w r2, #512 ; 0x200 80c0fd0: 60da str r2, [r3, #12] return SCSI_ProcessRead(pdev, lun); 80c0fd2: 7afb ldrb r3, [r7, #11] 80c0fd4: 4619 mov r1, r3 80c0fd6: 68f8 ldr r0, [r7, #12] 80c0fd8: f000 f9e8 bl 80c13ac 80c0fdc: 4603 mov r3, r0 } 80c0fde: 4618 mov r0, r3 80c0fe0: 3718 adds r7, #24 80c0fe2: 46bd mov sp, r7 80c0fe4: bd80 pop {r7, pc} 080c0fe6 : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_Write10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c0fe6: b580 push {r7, lr} 80c0fe8: b086 sub sp, #24 80c0fea: af00 add r7, sp, #0 80c0fec: 60f8 str r0, [r7, #12] 80c0fee: 460b mov r3, r1 80c0ff0: 607a str r2, [r7, #4] 80c0ff2: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c0ff4: 68fb ldr r3, [r7, #12] 80c0ff6: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c0ffa: 617b str r3, [r7, #20] uint32_t len; if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c0ffc: 697b ldr r3, [r7, #20] 80c0ffe: 7a1b ldrb r3, [r3, #8] 80c1000: 2b00 cmp r3, #0 80c1002: f040 80a5 bne.w 80c1150 { if (hmsc->cbw.dDataLength == 0U) 80c1006: 697b ldr r3, [r7, #20] 80c1008: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c100c: 2b00 cmp r3, #0 80c100e: d10a bne.n 80c1026 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c1010: 697b ldr r3, [r7, #20] 80c1012: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c1016: 2320 movs r3, #32 80c1018: 2205 movs r2, #5 80c101a: 68f8 ldr r0, [r7, #12] 80c101c: f7ff fdf3 bl 80c0c06 return -1; 80c1020: f04f 33ff mov.w r3, #4294967295 80c1024: e09a b.n 80c115c } /* case 8 : Hi <> Do */ if ((hmsc->cbw.bmFlags & 0x80U) == 0x80U) 80c1026: 697b ldr r3, [r7, #20] 80c1028: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c102c: b25b sxtb r3, r3 80c102e: 2b00 cmp r3, #0 80c1030: da0a bge.n 80c1048 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c1032: 697b ldr r3, [r7, #20] 80c1034: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c1038: 2320 movs r3, #32 80c103a: 2205 movs r2, #5 80c103c: 68f8 ldr r0, [r7, #12] 80c103e: f7ff fde2 bl 80c0c06 return -1; 80c1042: f04f 33ff mov.w r3, #4294967295 80c1046: e089 b.n 80c115c } /* Check whether Media is ready */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c1048: 68fb ldr r3, [r7, #12] 80c104a: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c104e: 689b ldr r3, [r3, #8] 80c1050: 7afa ldrb r2, [r7, #11] 80c1052: 4610 mov r0, r2 80c1054: 4798 blx r3 80c1056: 4603 mov r3, r0 80c1058: 2b00 cmp r3, #0 80c105a: d008 beq.n 80c106e { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c105c: 7af9 ldrb r1, [r7, #11] 80c105e: 233a movs r3, #58 ; 0x3a 80c1060: 2202 movs r2, #2 80c1062: 68f8 ldr r0, [r7, #12] 80c1064: f7ff fdcf bl 80c0c06 return -1; 80c1068: f04f 33ff mov.w r3, #4294967295 80c106c: e076 b.n 80c115c } /* Check If media is write-protected */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsWriteProtected(lun) != 0) 80c106e: 68fb ldr r3, [r7, #12] 80c1070: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c1074: 68db ldr r3, [r3, #12] 80c1076: 7afa ldrb r2, [r7, #11] 80c1078: 4610 mov r0, r2 80c107a: 4798 blx r3 80c107c: 4603 mov r3, r0 80c107e: 2b00 cmp r3, #0 80c1080: d008 beq.n 80c1094 { SCSI_SenseCode(pdev, lun, NOT_READY, WRITE_PROTECTED); 80c1082: 7af9 ldrb r1, [r7, #11] 80c1084: 2327 movs r3, #39 ; 0x27 80c1086: 2202 movs r2, #2 80c1088: 68f8 ldr r0, [r7, #12] 80c108a: f7ff fdbc bl 80c0c06 return -1; 80c108e: f04f 33ff mov.w r3, #4294967295 80c1092: e063 b.n 80c115c } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c1094: 687b ldr r3, [r7, #4] 80c1096: 3302 adds r3, #2 80c1098: 781b ldrb r3, [r3, #0] 80c109a: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c109c: 687b ldr r3, [r7, #4] 80c109e: 3303 adds r3, #3 80c10a0: 781b ldrb r3, [r3, #0] 80c10a2: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c10a4: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c10a6: 687b ldr r3, [r7, #4] 80c10a8: 3304 adds r3, #4 80c10aa: 781b ldrb r3, [r3, #0] 80c10ac: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c10ae: 4313 orrs r3, r2 (uint32_t)params[5]; 80c10b0: 687a ldr r2, [r7, #4] 80c10b2: 3205 adds r2, #5 80c10b4: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c10b6: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c10b8: 697b ldr r3, [r7, #20] 80c10ba: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[7] << 8) | 80c10be: 687b ldr r3, [r7, #4] 80c10c0: 3307 adds r3, #7 80c10c2: 781b ldrb r3, [r3, #0] 80c10c4: 021b lsls r3, r3, #8 (uint32_t)params[8]; 80c10c6: 687a ldr r2, [r7, #4] 80c10c8: 3208 adds r2, #8 80c10ca: 7812 ldrb r2, [r2, #0] hmsc->scsi_blk_len = ((uint32_t)params[7] << 8) | 80c10cc: 431a orrs r2, r3 80c10ce: 697b ldr r3, [r7, #20] 80c10d0: f8c3 2270 str.w r2, [r3, #624] ; 0x270 /* check if LBA address is in the right range */ if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, 80c10d4: 697b ldr r3, [r7, #20] 80c10d6: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c10da: 697b ldr r3, [r7, #20] 80c10dc: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c10e0: 7af9 ldrb r1, [r7, #11] 80c10e2: 68f8 ldr r0, [r7, #12] 80c10e4: f000 f940 bl 80c1368 80c10e8: 4603 mov r3, r0 80c10ea: 2b00 cmp r3, #0 80c10ec: da02 bge.n 80c10f4 hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c10ee: f04f 33ff mov.w r3, #4294967295 80c10f2: e033 b.n 80c115c } len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c10f4: 697b ldr r3, [r7, #20] 80c10f6: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c10fa: 697a ldr r2, [r7, #20] 80c10fc: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c1100: fb02 f303 mul.w r3, r2, r3 80c1104: 613b str r3, [r7, #16] /* cases 3,11,13 : Hn,Ho <> D0 */ if (hmsc->cbw.dDataLength != len) 80c1106: 697b ldr r3, [r7, #20] 80c1108: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c110c: 693b ldr r3, [r7, #16] 80c110e: 429a cmp r2, r3 80c1110: d00a beq.n 80c1128 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c1112: 697b ldr r3, [r7, #20] 80c1114: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c1118: 2320 movs r3, #32 80c111a: 2205 movs r2, #5 80c111c: 68f8 ldr r0, [r7, #12] 80c111e: f7ff fd72 bl 80c0c06 return -1; 80c1122: f04f 33ff mov.w r3, #4294967295 80c1126: e019 b.n 80c115c } len = MIN(len, MSC_MEDIA_PACKET); 80c1128: 693b ldr r3, [r7, #16] 80c112a: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c112e: bf28 it cs 80c1130: f44f 7300 movcs.w r3, #512 ; 0x200 80c1134: 613b str r3, [r7, #16] /* Prepare EP to receive first data packet */ hmsc->bot_state = USBD_BOT_DATA_OUT; 80c1136: 697b ldr r3, [r7, #20] 80c1138: 2201 movs r2, #1 80c113a: 721a strb r2, [r3, #8] (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, hmsc->bot_data, len); 80c113c: 697b ldr r3, [r7, #20] 80c113e: f103 0210 add.w r2, r3, #16 80c1142: 693b ldr r3, [r7, #16] 80c1144: 2101 movs r1, #1 80c1146: 68f8 ldr r0, [r7, #12] 80c1148: f008 fd17 bl 80c9b7a else /* Write Process ongoing */ { return SCSI_ProcessWrite(pdev, lun); } return 0; 80c114c: 2300 movs r3, #0 80c114e: e005 b.n 80c115c return SCSI_ProcessWrite(pdev, lun); 80c1150: 7afb ldrb r3, [r7, #11] 80c1152: 4619 mov r1, r3 80c1154: 68f8 ldr r0, [r7, #12] 80c1156: f000 f99c bl 80c1492 80c115a: 4603 mov r3, r0 } 80c115c: 4618 mov r0, r3 80c115e: 3718 adds r7, #24 80c1160: 46bd mov sp, r7 80c1162: bd80 pop {r7, pc} 080c1164 : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_Write12(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c1164: b580 push {r7, lr} 80c1166: b086 sub sp, #24 80c1168: af00 add r7, sp, #0 80c116a: 60f8 str r0, [r7, #12] 80c116c: 460b mov r3, r1 80c116e: 607a str r2, [r7, #4] 80c1170: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c1172: 68fb ldr r3, [r7, #12] 80c1174: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c1178: 617b str r3, [r7, #20] uint32_t len; if (hmsc->bot_state == USBD_BOT_IDLE) /* Idle */ 80c117a: 697b ldr r3, [r7, #20] 80c117c: 7a1b ldrb r3, [r3, #8] 80c117e: 2b00 cmp r3, #0 80c1180: f040 80b5 bne.w 80c12ee { if (hmsc->cbw.dDataLength == 0U) 80c1184: 697b ldr r3, [r7, #20] 80c1186: f8d3 3218 ldr.w r3, [r3, #536] ; 0x218 80c118a: 2b00 cmp r3, #0 80c118c: d10a bne.n 80c11a4 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c118e: 697b ldr r3, [r7, #20] 80c1190: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c1194: 2320 movs r3, #32 80c1196: 2205 movs r2, #5 80c1198: 68f8 ldr r0, [r7, #12] 80c119a: f7ff fd34 bl 80c0c06 return -1; 80c119e: f04f 33ff mov.w r3, #4294967295 80c11a2: e0aa b.n 80c12fa } /* case 8 : Hi <> Do */ if ((hmsc->cbw.bmFlags & 0x80U) == 0x80U) 80c11a4: 697b ldr r3, [r7, #20] 80c11a6: f893 321c ldrb.w r3, [r3, #540] ; 0x21c 80c11aa: b25b sxtb r3, r3 80c11ac: 2b00 cmp r3, #0 80c11ae: da0a bge.n 80c11c6 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c11b0: 697b ldr r3, [r7, #20] 80c11b2: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c11b6: 2320 movs r3, #32 80c11b8: 2205 movs r2, #5 80c11ba: 68f8 ldr r0, [r7, #12] 80c11bc: f7ff fd23 bl 80c0c06 return -1; 80c11c0: f04f 33ff mov.w r3, #4294967295 80c11c4: e099 b.n 80c12fa } /* Check whether Media is ready */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsReady(lun) != 0) 80c11c6: 68fb ldr r3, [r7, #12] 80c11c8: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c11cc: 689b ldr r3, [r3, #8] 80c11ce: 7afa ldrb r2, [r7, #11] 80c11d0: 4610 mov r0, r2 80c11d2: 4798 blx r3 80c11d4: 4603 mov r3, r0 80c11d6: 2b00 cmp r3, #0 80c11d8: d00b beq.n 80c11f2 { SCSI_SenseCode(pdev, lun, NOT_READY, MEDIUM_NOT_PRESENT); 80c11da: 7af9 ldrb r1, [r7, #11] 80c11dc: 233a movs r3, #58 ; 0x3a 80c11de: 2202 movs r2, #2 80c11e0: 68f8 ldr r0, [r7, #12] 80c11e2: f7ff fd10 bl 80c0c06 hmsc->bot_state = USBD_BOT_NO_DATA; 80c11e6: 697b ldr r3, [r7, #20] 80c11e8: 2205 movs r2, #5 80c11ea: 721a strb r2, [r3, #8] return -1; 80c11ec: f04f 33ff mov.w r3, #4294967295 80c11f0: e083 b.n 80c12fa } /* Check If media is write-protected */ if (((USBD_StorageTypeDef *)pdev->pUserData)->IsWriteProtected(lun) != 0) 80c11f2: 68fb ldr r3, [r7, #12] 80c11f4: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c11f8: 68db ldr r3, [r3, #12] 80c11fa: 7afa ldrb r2, [r7, #11] 80c11fc: 4610 mov r0, r2 80c11fe: 4798 blx r3 80c1200: 4603 mov r3, r0 80c1202: 2b00 cmp r3, #0 80c1204: d00b beq.n 80c121e { SCSI_SenseCode(pdev, lun, NOT_READY, WRITE_PROTECTED); 80c1206: 7af9 ldrb r1, [r7, #11] 80c1208: 2327 movs r3, #39 ; 0x27 80c120a: 2202 movs r2, #2 80c120c: 68f8 ldr r0, [r7, #12] 80c120e: f7ff fcfa bl 80c0c06 hmsc->bot_state = USBD_BOT_NO_DATA; 80c1212: 697b ldr r3, [r7, #20] 80c1214: 2205 movs r2, #5 80c1216: 721a strb r2, [r3, #8] return -1; 80c1218: f04f 33ff mov.w r3, #4294967295 80c121c: e06d b.n 80c12fa } hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c121e: 687b ldr r3, [r7, #4] 80c1220: 3302 adds r3, #2 80c1222: 781b ldrb r3, [r3, #0] 80c1224: 061a lsls r2, r3, #24 ((uint32_t)params[3] << 16) | 80c1226: 687b ldr r3, [r7, #4] 80c1228: 3303 adds r3, #3 80c122a: 781b ldrb r3, [r3, #0] 80c122c: 041b lsls r3, r3, #16 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c122e: 431a orrs r2, r3 ((uint32_t)params[4] << 8) | 80c1230: 687b ldr r3, [r7, #4] 80c1232: 3304 adds r3, #4 80c1234: 781b ldrb r3, [r3, #0] 80c1236: 021b lsls r3, r3, #8 ((uint32_t)params[3] << 16) | 80c1238: 4313 orrs r3, r2 (uint32_t)params[5]; 80c123a: 687a ldr r2, [r7, #4] 80c123c: 3205 adds r2, #5 80c123e: 7812 ldrb r2, [r2, #0] ((uint32_t)params[4] << 8) | 80c1240: 431a orrs r2, r3 hmsc->scsi_blk_addr = ((uint32_t)params[2] << 24) | 80c1242: 697b ldr r3, [r7, #20] 80c1244: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c1248: 687b ldr r3, [r7, #4] 80c124a: 3306 adds r3, #6 80c124c: 781b ldrb r3, [r3, #0] 80c124e: 061a lsls r2, r3, #24 ((uint32_t)params[7] << 16) | 80c1250: 687b ldr r3, [r7, #4] 80c1252: 3307 adds r3, #7 80c1254: 781b ldrb r3, [r3, #0] 80c1256: 041b lsls r3, r3, #16 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c1258: 431a orrs r2, r3 ((uint32_t)params[8] << 8) | 80c125a: 687b ldr r3, [r7, #4] 80c125c: 3308 adds r3, #8 80c125e: 781b ldrb r3, [r3, #0] 80c1260: 021b lsls r3, r3, #8 ((uint32_t)params[7] << 16) | 80c1262: 4313 orrs r3, r2 (uint32_t)params[9]; 80c1264: 687a ldr r2, [r7, #4] 80c1266: 3209 adds r2, #9 80c1268: 7812 ldrb r2, [r2, #0] ((uint32_t)params[8] << 8) | 80c126a: 431a orrs r2, r3 hmsc->scsi_blk_len = ((uint32_t)params[6] << 24) | 80c126c: 697b ldr r3, [r7, #20] 80c126e: f8c3 2270 str.w r2, [r3, #624] ; 0x270 /* check if LBA address is in the right range */ if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, 80c1272: 697b ldr r3, [r7, #20] 80c1274: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c1278: 697b ldr r3, [r7, #20] 80c127a: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c127e: 7af9 ldrb r1, [r7, #11] 80c1280: 68f8 ldr r0, [r7, #12] 80c1282: f000 f871 bl 80c1368 80c1286: 4603 mov r3, r0 80c1288: 2b00 cmp r3, #0 80c128a: da02 bge.n 80c1292 hmsc->scsi_blk_len) < 0) { return -1; /* error */ 80c128c: f04f 33ff mov.w r3, #4294967295 80c1290: e033 b.n 80c12fa } len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c1292: 697b ldr r3, [r7, #20] 80c1294: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c1298: 697a ldr r2, [r7, #20] 80c129a: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c129e: fb02 f303 mul.w r3, r2, r3 80c12a2: 613b str r3, [r7, #16] /* cases 3,11,13 : Hn,Ho <> D0 */ if (hmsc->cbw.dDataLength != len) 80c12a4: 697b ldr r3, [r7, #20] 80c12a6: f8d3 2218 ldr.w r2, [r3, #536] ; 0x218 80c12aa: 693b ldr r3, [r7, #16] 80c12ac: 429a cmp r2, r3 80c12ae: d00a beq.n 80c12c6 { SCSI_SenseCode(pdev, hmsc->cbw.bLUN, ILLEGAL_REQUEST, INVALID_CDB); 80c12b0: 697b ldr r3, [r7, #20] 80c12b2: f893 121d ldrb.w r1, [r3, #541] ; 0x21d 80c12b6: 2320 movs r3, #32 80c12b8: 2205 movs r2, #5 80c12ba: 68f8 ldr r0, [r7, #12] 80c12bc: f7ff fca3 bl 80c0c06 return -1; 80c12c0: f04f 33ff mov.w r3, #4294967295 80c12c4: e019 b.n 80c12fa } len = MIN(len, MSC_MEDIA_PACKET); 80c12c6: 693b ldr r3, [r7, #16] 80c12c8: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c12cc: bf28 it cs 80c12ce: f44f 7300 movcs.w r3, #512 ; 0x200 80c12d2: 613b str r3, [r7, #16] /* Prepare EP to receive first data packet */ hmsc->bot_state = USBD_BOT_DATA_OUT; 80c12d4: 697b ldr r3, [r7, #20] 80c12d6: 2201 movs r2, #1 80c12d8: 721a strb r2, [r3, #8] (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, hmsc->bot_data, len); 80c12da: 697b ldr r3, [r7, #20] 80c12dc: f103 0210 add.w r2, r3, #16 80c12e0: 693b ldr r3, [r7, #16] 80c12e2: 2101 movs r1, #1 80c12e4: 68f8 ldr r0, [r7, #12] 80c12e6: f008 fc48 bl 80c9b7a else /* Write Process ongoing */ { return SCSI_ProcessWrite(pdev, lun); } return 0; 80c12ea: 2300 movs r3, #0 80c12ec: e005 b.n 80c12fa return SCSI_ProcessWrite(pdev, lun); 80c12ee: 7afb ldrb r3, [r7, #11] 80c12f0: 4619 mov r1, r3 80c12f2: 68f8 ldr r0, [r7, #12] 80c12f4: f000 f8cd bl 80c1492 80c12f8: 4603 mov r3, r0 } 80c12fa: 4618 mov r0, r3 80c12fc: 3718 adds r7, #24 80c12fe: 46bd mov sp, r7 80c1300: bd80 pop {r7, pc} 080c1302 : * @param lun: Logical unit number * @param params: Command parameters * @retval status */ static int8_t SCSI_Verify10(USBD_HandleTypeDef *pdev, uint8_t lun, uint8_t *params) { 80c1302: b580 push {r7, lr} 80c1304: b086 sub sp, #24 80c1306: af00 add r7, sp, #0 80c1308: 60f8 str r0, [r7, #12] 80c130a: 460b mov r3, r1 80c130c: 607a str r2, [r7, #4] 80c130e: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c1310: 68fb ldr r3, [r7, #12] 80c1312: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c1316: 617b str r3, [r7, #20] if ((params[1] & 0x02U) == 0x02U) 80c1318: 687b ldr r3, [r7, #4] 80c131a: 3301 adds r3, #1 80c131c: 781b ldrb r3, [r3, #0] 80c131e: f003 0302 and.w r3, r3, #2 80c1322: 2b00 cmp r3, #0 80c1324: d008 beq.n 80c1338 { SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, INVALID_FIELED_IN_COMMAND); 80c1326: 7af9 ldrb r1, [r7, #11] 80c1328: 2324 movs r3, #36 ; 0x24 80c132a: 2205 movs r2, #5 80c132c: 68f8 ldr r0, [r7, #12] 80c132e: f7ff fc6a bl 80c0c06 return -1; /* Error, Verify Mode Not supported*/ 80c1332: f04f 33ff mov.w r3, #4294967295 80c1336: e013 b.n 80c1360 } if (SCSI_CheckAddressRange(pdev, lun, hmsc->scsi_blk_addr, hmsc->scsi_blk_len) < 0) 80c1338: 697b ldr r3, [r7, #20] 80c133a: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c133e: 697b ldr r3, [r7, #20] 80c1340: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c1344: 7af9 ldrb r1, [r7, #11] 80c1346: 68f8 ldr r0, [r7, #12] 80c1348: f000 f80e bl 80c1368 80c134c: 4603 mov r3, r0 80c134e: 2b00 cmp r3, #0 80c1350: da02 bge.n 80c1358 { return -1; /* error */ 80c1352: f04f 33ff mov.w r3, #4294967295 80c1356: e003 b.n 80c1360 } hmsc->bot_data_length = 0U; 80c1358: 697b ldr r3, [r7, #20] 80c135a: 2200 movs r2, #0 80c135c: 60da str r2, [r3, #12] return 0; 80c135e: 2300 movs r3, #0 } 80c1360: 4618 mov r0, r3 80c1362: 3718 adds r7, #24 80c1364: 46bd mov sp, r7 80c1366: bd80 pop {r7, pc} 080c1368 : * @param blk_nbr: number of block to be processed * @retval status */ static int8_t SCSI_CheckAddressRange(USBD_HandleTypeDef *pdev, uint8_t lun, uint32_t blk_offset, uint32_t blk_nbr) { 80c1368: b580 push {r7, lr} 80c136a: b086 sub sp, #24 80c136c: af00 add r7, sp, #0 80c136e: 60f8 str r0, [r7, #12] 80c1370: 607a str r2, [r7, #4] 80c1372: 603b str r3, [r7, #0] 80c1374: 460b mov r3, r1 80c1376: 72fb strb r3, [r7, #11] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c1378: 68fb ldr r3, [r7, #12] 80c137a: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c137e: 617b str r3, [r7, #20] if ((blk_offset + blk_nbr) > hmsc->scsi_blk_nbr) 80c1380: 687a ldr r2, [r7, #4] 80c1382: 683b ldr r3, [r7, #0] 80c1384: 441a add r2, r3 80c1386: 697b ldr r3, [r7, #20] 80c1388: f8d3 3268 ldr.w r3, [r3, #616] ; 0x268 80c138c: 429a cmp r2, r3 80c138e: d908 bls.n 80c13a2 { SCSI_SenseCode(pdev, lun, ILLEGAL_REQUEST, ADDRESS_OUT_OF_RANGE); 80c1390: 7af9 ldrb r1, [r7, #11] 80c1392: 2321 movs r3, #33 ; 0x21 80c1394: 2205 movs r2, #5 80c1396: 68f8 ldr r0, [r7, #12] 80c1398: f7ff fc35 bl 80c0c06 return -1; 80c139c: f04f 33ff mov.w r3, #4294967295 80c13a0: e000 b.n 80c13a4 } return 0; 80c13a2: 2300 movs r3, #0 } 80c13a4: 4618 mov r0, r3 80c13a6: 3718 adds r7, #24 80c13a8: 46bd mov sp, r7 80c13aa: bd80 pop {r7, pc} 080c13ac : * Handle Read Process * @param lun: Logical unit number * @retval status */ static int8_t SCSI_ProcessRead(USBD_HandleTypeDef *pdev, uint8_t lun) { 80c13ac: b590 push {r4, r7, lr} 80c13ae: b085 sub sp, #20 80c13b0: af00 add r7, sp, #0 80c13b2: 6078 str r0, [r7, #4] 80c13b4: 460b mov r3, r1 80c13b6: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c13b8: 687b ldr r3, [r7, #4] 80c13ba: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c13be: 60fb str r3, [r7, #12] uint32_t len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c13c0: 68fb ldr r3, [r7, #12] 80c13c2: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c13c6: 68fa ldr r2, [r7, #12] 80c13c8: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c13cc: fb02 f303 mul.w r3, r2, r3 80c13d0: 60bb str r3, [r7, #8] len = MIN(len, MSC_MEDIA_PACKET); 80c13d2: 68bb ldr r3, [r7, #8] 80c13d4: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c13d8: bf28 it cs 80c13da: f44f 7300 movcs.w r3, #512 ; 0x200 80c13de: 60bb str r3, [r7, #8] if (((USBD_StorageTypeDef *)pdev->pUserData)->Read(lun, hmsc->bot_data, 80c13e0: 687b ldr r3, [r7, #4] 80c13e2: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c13e6: 691c ldr r4, [r3, #16] 80c13e8: 68fb ldr r3, [r7, #12] 80c13ea: f103 0110 add.w r1, r3, #16 80c13ee: 68fb ldr r3, [r7, #12] 80c13f0: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_addr, (len / hmsc->scsi_blk_size)) < 0) 80c13f4: 68fb ldr r3, [r7, #12] 80c13f6: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c13fa: 4618 mov r0, r3 80c13fc: 68bb ldr r3, [r7, #8] 80c13fe: fbb3 f3f0 udiv r3, r3, r0 if (((USBD_StorageTypeDef *)pdev->pUserData)->Read(lun, hmsc->bot_data, 80c1402: b29b uxth r3, r3 80c1404: 78f8 ldrb r0, [r7, #3] 80c1406: 47a0 blx r4 80c1408: 4603 mov r3, r0 80c140a: 2b00 cmp r3, #0 80c140c: da08 bge.n 80c1420 { SCSI_SenseCode(pdev, lun, HARDWARE_ERROR, UNRECOVERED_READ_ERROR); 80c140e: 78f9 ldrb r1, [r7, #3] 80c1410: 2311 movs r3, #17 80c1412: 2204 movs r2, #4 80c1414: 6878 ldr r0, [r7, #4] 80c1416: f7ff fbf6 bl 80c0c06 return -1; 80c141a: f04f 33ff mov.w r3, #4294967295 80c141e: e034 b.n 80c148a } (void)USBD_LL_Transmit(pdev, MSC_EPIN_ADDR, hmsc->bot_data, len); 80c1420: 68fb ldr r3, [r7, #12] 80c1422: f103 0210 add.w r2, r3, #16 80c1426: 68bb ldr r3, [r7, #8] 80c1428: 2181 movs r1, #129 ; 0x81 80c142a: 6878 ldr r0, [r7, #4] 80c142c: f008 fb84 bl 80c9b38 hmsc->scsi_blk_addr += (len / hmsc->scsi_blk_size); 80c1430: 68fb ldr r3, [r7, #12] 80c1432: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c1436: 68fb ldr r3, [r7, #12] 80c1438: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c143c: 4619 mov r1, r3 80c143e: 68bb ldr r3, [r7, #8] 80c1440: fbb3 f3f1 udiv r3, r3, r1 80c1444: 441a add r2, r3 80c1446: 68fb ldr r3, [r7, #12] 80c1448: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len -= (len / hmsc->scsi_blk_size); 80c144c: 68fb ldr r3, [r7, #12] 80c144e: f8d3 2270 ldr.w r2, [r3, #624] ; 0x270 80c1452: 68fb ldr r3, [r7, #12] 80c1454: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c1458: 4619 mov r1, r3 80c145a: 68bb ldr r3, [r7, #8] 80c145c: fbb3 f3f1 udiv r3, r3, r1 80c1460: 1ad2 subs r2, r2, r3 80c1462: 68fb ldr r3, [r7, #12] 80c1464: f8c3 2270 str.w r2, [r3, #624] ; 0x270 /* case 6 : Hi = Di */ hmsc->csw.dDataResidue -= len; 80c1468: 68fb ldr r3, [r7, #12] 80c146a: f8d3 2238 ldr.w r2, [r3, #568] ; 0x238 80c146e: 68bb ldr r3, [r7, #8] 80c1470: 1ad2 subs r2, r2, r3 80c1472: 68fb ldr r3, [r7, #12] 80c1474: f8c3 2238 str.w r2, [r3, #568] ; 0x238 if (hmsc->scsi_blk_len == 0U) 80c1478: 68fb ldr r3, [r7, #12] 80c147a: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c147e: 2b00 cmp r3, #0 80c1480: d102 bne.n 80c1488 { hmsc->bot_state = USBD_BOT_LAST_DATA_IN; 80c1482: 68fb ldr r3, [r7, #12] 80c1484: 2203 movs r2, #3 80c1486: 721a strb r2, [r3, #8] } return 0; 80c1488: 2300 movs r3, #0 } 80c148a: 4618 mov r0, r3 80c148c: 3714 adds r7, #20 80c148e: 46bd mov sp, r7 80c1490: bd90 pop {r4, r7, pc} 080c1492 : * Handle Write Process * @param lun: Logical unit number * @retval status */ static int8_t SCSI_ProcessWrite(USBD_HandleTypeDef *pdev, uint8_t lun) { 80c1492: b590 push {r4, r7, lr} 80c1494: b085 sub sp, #20 80c1496: af00 add r7, sp, #0 80c1498: 6078 str r0, [r7, #4] 80c149a: 460b mov r3, r1 80c149c: 70fb strb r3, [r7, #3] USBD_MSC_BOT_HandleTypeDef *hmsc = (USBD_MSC_BOT_HandleTypeDef *)pdev->pClassData; 80c149e: 687b ldr r3, [r7, #4] 80c14a0: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c14a4: 60fb str r3, [r7, #12] uint32_t len = hmsc->scsi_blk_len * hmsc->scsi_blk_size; 80c14a6: 68fb ldr r3, [r7, #12] 80c14a8: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c14ac: 68fa ldr r2, [r7, #12] 80c14ae: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c14b2: fb02 f303 mul.w r3, r2, r3 80c14b6: 60bb str r3, [r7, #8] len = MIN(len, MSC_MEDIA_PACKET); 80c14b8: 68bb ldr r3, [r7, #8] 80c14ba: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c14be: bf28 it cs 80c14c0: f44f 7300 movcs.w r3, #512 ; 0x200 80c14c4: 60bb str r3, [r7, #8] if (((USBD_StorageTypeDef *)pdev->pUserData)->Write(lun, hmsc->bot_data, 80c14c6: 687b ldr r3, [r7, #4] 80c14c8: f8d3 32c0 ldr.w r3, [r3, #704] ; 0x2c0 80c14cc: 695c ldr r4, [r3, #20] 80c14ce: 68fb ldr r3, [r7, #12] 80c14d0: f103 0110 add.w r1, r3, #16 80c14d4: 68fb ldr r3, [r7, #12] 80c14d6: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_addr, (len / hmsc->scsi_blk_size)) < 0) 80c14da: 68fb ldr r3, [r7, #12] 80c14dc: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c14e0: 4618 mov r0, r3 80c14e2: 68bb ldr r3, [r7, #8] 80c14e4: fbb3 f3f0 udiv r3, r3, r0 if (((USBD_StorageTypeDef *)pdev->pUserData)->Write(lun, hmsc->bot_data, 80c14e8: b29b uxth r3, r3 80c14ea: 78f8 ldrb r0, [r7, #3] 80c14ec: 47a0 blx r4 80c14ee: 4603 mov r3, r0 80c14f0: 2b00 cmp r3, #0 80c14f2: da08 bge.n 80c1506 { SCSI_SenseCode(pdev, lun, HARDWARE_ERROR, WRITE_FAULT); 80c14f4: 78f9 ldrb r1, [r7, #3] 80c14f6: 2303 movs r3, #3 80c14f8: 2204 movs r2, #4 80c14fa: 6878 ldr r0, [r7, #4] 80c14fc: f7ff fb83 bl 80c0c06 return -1; 80c1500: f04f 33ff mov.w r3, #4294967295 80c1504: e044 b.n 80c1590 } hmsc->scsi_blk_addr += (len / hmsc->scsi_blk_size); 80c1506: 68fb ldr r3, [r7, #12] 80c1508: f8d3 226c ldr.w r2, [r3, #620] ; 0x26c 80c150c: 68fb ldr r3, [r7, #12] 80c150e: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c1512: 4619 mov r1, r3 80c1514: 68bb ldr r3, [r7, #8] 80c1516: fbb3 f3f1 udiv r3, r3, r1 80c151a: 441a add r2, r3 80c151c: 68fb ldr r3, [r7, #12] 80c151e: f8c3 226c str.w r2, [r3, #620] ; 0x26c hmsc->scsi_blk_len -= (len / hmsc->scsi_blk_size); 80c1522: 68fb ldr r3, [r7, #12] 80c1524: f8d3 2270 ldr.w r2, [r3, #624] ; 0x270 80c1528: 68fb ldr r3, [r7, #12] 80c152a: f8b3 3264 ldrh.w r3, [r3, #612] ; 0x264 80c152e: 4619 mov r1, r3 80c1530: 68bb ldr r3, [r7, #8] 80c1532: fbb3 f3f1 udiv r3, r3, r1 80c1536: 1ad2 subs r2, r2, r3 80c1538: 68fb ldr r3, [r7, #12] 80c153a: f8c3 2270 str.w r2, [r3, #624] ; 0x270 /* case 12 : Ho = Do */ hmsc->csw.dDataResidue -= len; 80c153e: 68fb ldr r3, [r7, #12] 80c1540: f8d3 2238 ldr.w r2, [r3, #568] ; 0x238 80c1544: 68bb ldr r3, [r7, #8] 80c1546: 1ad2 subs r2, r2, r3 80c1548: 68fb ldr r3, [r7, #12] 80c154a: f8c3 2238 str.w r2, [r3, #568] ; 0x238 if (hmsc->scsi_blk_len == 0U) 80c154e: 68fb ldr r3, [r7, #12] 80c1550: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c1554: 2b00 cmp r3, #0 80c1556: d104 bne.n 80c1562 { MSC_BOT_SendCSW(pdev, USBD_CSW_CMD_PASSED); 80c1558: 2100 movs r1, #0 80c155a: 6878 ldr r0, [r7, #4] 80c155c: f7fe ff04 bl 80c0368 80c1560: e015 b.n 80c158e } else { len = MIN((hmsc->scsi_blk_len * hmsc->scsi_blk_size), MSC_MEDIA_PACKET); 80c1562: 68fb ldr r3, [r7, #12] 80c1564: f8d3 3270 ldr.w r3, [r3, #624] ; 0x270 80c1568: 68fa ldr r2, [r7, #12] 80c156a: f8b2 2264 ldrh.w r2, [r2, #612] ; 0x264 80c156e: fb02 f303 mul.w r3, r2, r3 80c1572: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c1576: bf28 it cs 80c1578: f44f 7300 movcs.w r3, #512 ; 0x200 80c157c: 60bb str r3, [r7, #8] /* Prepare EP to Receive next packet */ (void)USBD_LL_PrepareReceive(pdev, MSC_EPOUT_ADDR, hmsc->bot_data, len); 80c157e: 68fb ldr r3, [r7, #12] 80c1580: f103 0210 add.w r2, r3, #16 80c1584: 68bb ldr r3, [r7, #8] 80c1586: 2101 movs r1, #1 80c1588: 6878 ldr r0, [r7, #4] 80c158a: f008 faf6 bl 80c9b7a } return 0; 80c158e: 2300 movs r3, #0 } 80c1590: 4618 mov r0, r3 80c1592: 3714 adds r7, #20 80c1594: 46bd mov sp, r7 80c1596: bd90 pop {r4, r7, pc} 080c1598 : * @param length: Data length * @retval status */ static int8_t SCSI_UpdateBotData(USBD_MSC_BOT_HandleTypeDef *hmsc, uint8_t *pBuff, uint16_t length) { 80c1598: b480 push {r7} 80c159a: b087 sub sp, #28 80c159c: af00 add r7, sp, #0 80c159e: 60f8 str r0, [r7, #12] 80c15a0: 60b9 str r1, [r7, #8] 80c15a2: 4613 mov r3, r2 80c15a4: 80fb strh r3, [r7, #6] uint16_t len = length; 80c15a6: 88fb ldrh r3, [r7, #6] 80c15a8: 82fb strh r3, [r7, #22] hmsc->bot_data_length = len; 80c15aa: 8afa ldrh r2, [r7, #22] 80c15ac: 68fb ldr r3, [r7, #12] 80c15ae: 60da str r2, [r3, #12] while (len != 0U) 80c15b0: e00b b.n 80c15ca { len--; 80c15b2: 8afb ldrh r3, [r7, #22] 80c15b4: 3b01 subs r3, #1 80c15b6: 82fb strh r3, [r7, #22] hmsc->bot_data[len] = pBuff[len]; 80c15b8: 8afb ldrh r3, [r7, #22] 80c15ba: 8afa ldrh r2, [r7, #22] 80c15bc: 68b9 ldr r1, [r7, #8] 80c15be: 440a add r2, r1 80c15c0: 7811 ldrb r1, [r2, #0] 80c15c2: 68fa ldr r2, [r7, #12] 80c15c4: 4413 add r3, r2 80c15c6: 460a mov r2, r1 80c15c8: 741a strb r2, [r3, #16] while (len != 0U) 80c15ca: 8afb ldrh r3, [r7, #22] 80c15cc: 2b00 cmp r3, #0 80c15ce: d1f0 bne.n 80c15b2 } return 0; 80c15d0: 2300 movs r3, #0 } 80c15d2: 4618 mov r0, r3 80c15d4: 371c adds r7, #28 80c15d6: 46bd mov sp, r7 80c15d8: f85d 7b04 ldr.w r7, [sp], #4 80c15dc: 4770 bx lr 080c15de : * @param id: Low level core index * @retval None */ USBD_StatusTypeDef USBD_Init(USBD_HandleTypeDef *pdev, USBD_DescriptorsTypeDef *pdesc, uint8_t id) { 80c15de: b580 push {r7, lr} 80c15e0: b086 sub sp, #24 80c15e2: af00 add r7, sp, #0 80c15e4: 60f8 str r0, [r7, #12] 80c15e6: 60b9 str r1, [r7, #8] 80c15e8: 4613 mov r3, r2 80c15ea: 71fb strb r3, [r7, #7] USBD_StatusTypeDef ret; /* Check whether the USB Host handle is valid */ if (pdev == NULL) 80c15ec: 68fb ldr r3, [r7, #12] 80c15ee: 2b00 cmp r3, #0 80c15f0: d101 bne.n 80c15f6 { #if (USBD_DEBUG_LEVEL > 1U) USBD_ErrLog("Invalid Device handle"); #endif return USBD_FAIL; 80c15f2: 2303 movs r3, #3 80c15f4: e025 b.n 80c1642 } /* Unlink previous class */ if (pdev->pClass != NULL) 80c15f6: 68fb ldr r3, [r7, #12] 80c15f8: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c15fc: 2b00 cmp r3, #0 80c15fe: d003 beq.n 80c1608 { pdev->pClass = NULL; 80c1600: 68fb ldr r3, [r7, #12] 80c1602: 2200 movs r2, #0 80c1604: f8c3 22b8 str.w r2, [r3, #696] ; 0x2b8 } if (pdev->pConfDesc != NULL) 80c1608: 68fb ldr r3, [r7, #12] 80c160a: f8d3 32cc ldr.w r3, [r3, #716] ; 0x2cc 80c160e: 2b00 cmp r3, #0 80c1610: d003 beq.n 80c161a { pdev->pConfDesc = NULL; 80c1612: 68fb ldr r3, [r7, #12] 80c1614: 2200 movs r2, #0 80c1616: f8c3 22cc str.w r2, [r3, #716] ; 0x2cc } /* Assign USBD Descriptors */ if (pdesc != NULL) 80c161a: 68bb ldr r3, [r7, #8] 80c161c: 2b00 cmp r3, #0 80c161e: d003 beq.n 80c1628 { pdev->pDesc = pdesc; 80c1620: 68fb ldr r3, [r7, #12] 80c1622: 68ba ldr r2, [r7, #8] 80c1624: f8c3 22b4 str.w r2, [r3, #692] ; 0x2b4 } /* Set Device initial State */ pdev->dev_state = USBD_STATE_DEFAULT; 80c1628: 68fb ldr r3, [r7, #12] 80c162a: 2201 movs r2, #1 80c162c: f883 229c strb.w r2, [r3, #668] ; 0x29c pdev->id = id; 80c1630: 68fb ldr r3, [r7, #12] 80c1632: 79fa ldrb r2, [r7, #7] 80c1634: 701a strb r2, [r3, #0] /* Initialize low level driver */ ret = USBD_LL_Init(pdev); 80c1636: 68f8 ldr r0, [r7, #12] 80c1638: f008 f924 bl 80c9884 80c163c: 4603 mov r3, r0 80c163e: 75fb strb r3, [r7, #23] return ret; 80c1640: 7dfb ldrb r3, [r7, #23] } 80c1642: 4618 mov r0, r3 80c1644: 3718 adds r7, #24 80c1646: 46bd mov sp, r7 80c1648: bd80 pop {r7, pc} 080c164a : * @param pDevice : Device Handle * @param pclass: Class handle * @retval USBD Status */ USBD_StatusTypeDef USBD_RegisterClass(USBD_HandleTypeDef *pdev, USBD_ClassTypeDef *pclass) { 80c164a: b580 push {r7, lr} 80c164c: b084 sub sp, #16 80c164e: af00 add r7, sp, #0 80c1650: 6078 str r0, [r7, #4] 80c1652: 6039 str r1, [r7, #0] uint16_t len = 0U; 80c1654: 2300 movs r3, #0 80c1656: 81fb strh r3, [r7, #14] if (pclass == NULL) 80c1658: 683b ldr r3, [r7, #0] 80c165a: 2b00 cmp r3, #0 80c165c: d101 bne.n 80c1662 { #if (USBD_DEBUG_LEVEL > 1U) USBD_ErrLog("Invalid Class handle"); #endif return USBD_FAIL; 80c165e: 2303 movs r3, #3 80c1660: e010 b.n 80c1684 } /* link the class to the USB Device handle */ pdev->pClass = pclass; 80c1662: 687b ldr r3, [r7, #4] 80c1664: 683a ldr r2, [r7, #0] 80c1666: f8c3 22b8 str.w r2, [r3, #696] ; 0x2b8 /* Get Device Configuration Descriptor */ #ifdef USE_USB_FS pdev->pConfDesc = (void *)pdev->pClass->GetFSConfigDescriptor(&len); #else /* USE_USB_HS */ pdev->pConfDesc = (void *)pdev->pClass->GetHSConfigDescriptor(&len); 80c166a: 687b ldr r3, [r7, #4] 80c166c: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1670: 6a9b ldr r3, [r3, #40] ; 0x28 80c1672: f107 020e add.w r2, r7, #14 80c1676: 4610 mov r0, r2 80c1678: 4798 blx r3 80c167a: 4602 mov r2, r0 80c167c: 687b ldr r3, [r7, #4] 80c167e: f8c3 22cc str.w r2, [r3, #716] ; 0x2cc #endif /* USE_USB_FS */ return USBD_OK; 80c1682: 2300 movs r3, #0 } 80c1684: 4618 mov r0, r3 80c1686: 3710 adds r7, #16 80c1688: 46bd mov sp, r7 80c168a: bd80 pop {r7, pc} 080c168c : * Start the USB Device Core. * @param pdev: Device Handle * @retval USBD Status */ USBD_StatusTypeDef USBD_Start(USBD_HandleTypeDef *pdev) { 80c168c: b580 push {r7, lr} 80c168e: b082 sub sp, #8 80c1690: af00 add r7, sp, #0 80c1692: 6078 str r0, [r7, #4] /* Start the low level driver */ return USBD_LL_Start(pdev); 80c1694: 6878 ldr r0, [r7, #4] 80c1696: f008 f947 bl 80c9928 80c169a: 4603 mov r3, r0 } 80c169c: 4618 mov r0, r3 80c169e: 3708 adds r7, #8 80c16a0: 46bd mov sp, r7 80c16a2: bd80 pop {r7, pc} 080c16a4 : * Launch test mode process * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_RunTestMode(USBD_HandleTypeDef *pdev) { 80c16a4: b480 push {r7} 80c16a6: b083 sub sp, #12 80c16a8: af00 add r7, sp, #0 80c16aa: 6078 str r0, [r7, #4] /* Prevent unused argument compilation warning */ UNUSED(pdev); return USBD_OK; 80c16ac: 2300 movs r3, #0 } 80c16ae: 4618 mov r0, r3 80c16b0: 370c adds r7, #12 80c16b2: 46bd mov sp, r7 80c16b4: f85d 7b04 ldr.w r7, [sp], #4 80c16b8: 4770 bx lr 080c16ba : * @param cfgidx: configuration index * @retval status */ USBD_StatusTypeDef USBD_SetClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80c16ba: b580 push {r7, lr} 80c16bc: b084 sub sp, #16 80c16be: af00 add r7, sp, #0 80c16c0: 6078 str r0, [r7, #4] 80c16c2: 460b mov r3, r1 80c16c4: 70fb strb r3, [r7, #3] USBD_StatusTypeDef ret = USBD_FAIL; 80c16c6: 2303 movs r3, #3 80c16c8: 73fb strb r3, [r7, #15] if (pdev->pClass != NULL) 80c16ca: 687b ldr r3, [r7, #4] 80c16cc: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c16d0: 2b00 cmp r3, #0 80c16d2: d009 beq.n 80c16e8 { /* Set configuration and Start the Class */ ret = (USBD_StatusTypeDef)pdev->pClass->Init(pdev, cfgidx); 80c16d4: 687b ldr r3, [r7, #4] 80c16d6: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c16da: 681b ldr r3, [r3, #0] 80c16dc: 78fa ldrb r2, [r7, #3] 80c16de: 4611 mov r1, r2 80c16e0: 6878 ldr r0, [r7, #4] 80c16e2: 4798 blx r3 80c16e4: 4603 mov r3, r0 80c16e6: 73fb strb r3, [r7, #15] } return ret; 80c16e8: 7bfb ldrb r3, [r7, #15] } 80c16ea: 4618 mov r0, r3 80c16ec: 3710 adds r7, #16 80c16ee: 46bd mov sp, r7 80c16f0: bd80 pop {r7, pc} 080c16f2 : * @param pdev: device instance * @param cfgidx: configuration index * @retval status: USBD_StatusTypeDef */ USBD_StatusTypeDef USBD_ClrClassConfig(USBD_HandleTypeDef *pdev, uint8_t cfgidx) { 80c16f2: b580 push {r7, lr} 80c16f4: b082 sub sp, #8 80c16f6: af00 add r7, sp, #0 80c16f8: 6078 str r0, [r7, #4] 80c16fa: 460b mov r3, r1 80c16fc: 70fb strb r3, [r7, #3] /* Clear configuration and De-initialize the Class process */ if (pdev->pClass != NULL) 80c16fe: 687b ldr r3, [r7, #4] 80c1700: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1704: 2b00 cmp r3, #0 80c1706: d007 beq.n 80c1718 { pdev->pClass->DeInit(pdev, cfgidx); 80c1708: 687b ldr r3, [r7, #4] 80c170a: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c170e: 685b ldr r3, [r3, #4] 80c1710: 78fa ldrb r2, [r7, #3] 80c1712: 4611 mov r1, r2 80c1714: 6878 ldr r0, [r7, #4] 80c1716: 4798 blx r3 } return USBD_OK; 80c1718: 2300 movs r3, #0 } 80c171a: 4618 mov r0, r3 80c171c: 3708 adds r7, #8 80c171e: 46bd mov sp, r7 80c1720: bd80 pop {r7, pc} 080c1722 : * Handle the setup stage * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SetupStage(USBD_HandleTypeDef *pdev, uint8_t *psetup) { 80c1722: b580 push {r7, lr} 80c1724: b084 sub sp, #16 80c1726: af00 add r7, sp, #0 80c1728: 6078 str r0, [r7, #4] 80c172a: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret; USBD_ParseSetupRequest(&pdev->request, psetup); 80c172c: 687b ldr r3, [r7, #4] 80c172e: f203 23aa addw r3, r3, #682 ; 0x2aa 80c1732: 6839 ldr r1, [r7, #0] 80c1734: 4618 mov r0, r3 80c1736: f000 ff55 bl 80c25e4 pdev->ep0_state = USBD_EP0_SETUP; 80c173a: 687b ldr r3, [r7, #4] 80c173c: 2201 movs r2, #1 80c173e: f8c3 2294 str.w r2, [r3, #660] ; 0x294 pdev->ep0_data_len = pdev->request.wLength; 80c1742: 687b ldr r3, [r7, #4] 80c1744: f8b3 32b0 ldrh.w r3, [r3, #688] ; 0x2b0 80c1748: 461a mov r2, r3 80c174a: 687b ldr r3, [r7, #4] 80c174c: f8c3 2298 str.w r2, [r3, #664] ; 0x298 switch (pdev->request.bmRequest & 0x1FU) 80c1750: 687b ldr r3, [r7, #4] 80c1752: f893 32aa ldrb.w r3, [r3, #682] ; 0x2aa 80c1756: f003 031f and.w r3, r3, #31 80c175a: 2b01 cmp r3, #1 80c175c: d00e beq.n 80c177c 80c175e: 2b01 cmp r3, #1 80c1760: d302 bcc.n 80c1768 80c1762: 2b02 cmp r3, #2 80c1764: d014 beq.n 80c1790 80c1766: e01d b.n 80c17a4 { case USB_REQ_RECIPIENT_DEVICE: ret = USBD_StdDevReq(pdev, &pdev->request); 80c1768: 687b ldr r3, [r7, #4] 80c176a: f203 23aa addw r3, r3, #682 ; 0x2aa 80c176e: 4619 mov r1, r3 80c1770: 6878 ldr r0, [r7, #4] 80c1772: f000 fa17 bl 80c1ba4 80c1776: 4603 mov r3, r0 80c1778: 73fb strb r3, [r7, #15] break; 80c177a: e020 b.n 80c17be case USB_REQ_RECIPIENT_INTERFACE: ret = USBD_StdItfReq(pdev, &pdev->request); 80c177c: 687b ldr r3, [r7, #4] 80c177e: f203 23aa addw r3, r3, #682 ; 0x2aa 80c1782: 4619 mov r1, r3 80c1784: 6878 ldr r0, [r7, #4] 80c1786: f000 fa7b bl 80c1c80 80c178a: 4603 mov r3, r0 80c178c: 73fb strb r3, [r7, #15] break; 80c178e: e016 b.n 80c17be case USB_REQ_RECIPIENT_ENDPOINT: ret = USBD_StdEPReq(pdev, &pdev->request); 80c1790: 687b ldr r3, [r7, #4] 80c1792: f203 23aa addw r3, r3, #682 ; 0x2aa 80c1796: 4619 mov r1, r3 80c1798: 6878 ldr r0, [r7, #4] 80c179a: f000 fab7 bl 80c1d0c 80c179e: 4603 mov r3, r0 80c17a0: 73fb strb r3, [r7, #15] break; 80c17a2: e00c b.n 80c17be default: ret = USBD_LL_StallEP(pdev, (pdev->request.bmRequest & 0x80U)); 80c17a4: 687b ldr r3, [r7, #4] 80c17a6: f893 32aa ldrb.w r3, [r3, #682] ; 0x2aa 80c17aa: f023 037f bic.w r3, r3, #127 ; 0x7f 80c17ae: b2db uxtb r3, r3 80c17b0: 4619 mov r1, r3 80c17b2: 6878 ldr r0, [r7, #4] 80c17b4: f008 f937 bl 80c9a26 80c17b8: 4603 mov r3, r0 80c17ba: 73fb strb r3, [r7, #15] break; 80c17bc: bf00 nop } return ret; 80c17be: 7bfb ldrb r3, [r7, #15] } 80c17c0: 4618 mov r0, r3 80c17c2: 3710 adds r7, #16 80c17c4: 46bd mov sp, r7 80c17c6: bd80 pop {r7, pc} 080c17c8 : * @param epnum: endpoint index * @retval status */ USBD_StatusTypeDef USBD_LL_DataOutStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata) { 80c17c8: b580 push {r7, lr} 80c17ca: b086 sub sp, #24 80c17cc: af00 add r7, sp, #0 80c17ce: 60f8 str r0, [r7, #12] 80c17d0: 460b mov r3, r1 80c17d2: 607a str r2, [r7, #4] 80c17d4: 72fb strb r3, [r7, #11] USBD_EndpointTypeDef *pep; USBD_StatusTypeDef ret; if (epnum == 0U) 80c17d6: 7afb ldrb r3, [r7, #11] 80c17d8: 2b00 cmp r3, #0 80c17da: d137 bne.n 80c184c { pep = &pdev->ep_out[0]; 80c17dc: 68fb ldr r3, [r7, #12] 80c17de: f503 73aa add.w r3, r3, #340 ; 0x154 80c17e2: 613b str r3, [r7, #16] if (pdev->ep0_state == USBD_EP0_DATA_OUT) 80c17e4: 68fb ldr r3, [r7, #12] 80c17e6: f8d3 3294 ldr.w r3, [r3, #660] ; 0x294 80c17ea: 2b03 cmp r3, #3 80c17ec: d14a bne.n 80c1884 { if (pep->rem_length > pep->maxpacket) 80c17ee: 693b ldr r3, [r7, #16] 80c17f0: 689a ldr r2, [r3, #8] 80c17f2: 693b ldr r3, [r7, #16] 80c17f4: 68db ldr r3, [r3, #12] 80c17f6: 429a cmp r2, r3 80c17f8: d913 bls.n 80c1822 { pep->rem_length -= pep->maxpacket; 80c17fa: 693b ldr r3, [r7, #16] 80c17fc: 689a ldr r2, [r3, #8] 80c17fe: 693b ldr r3, [r7, #16] 80c1800: 68db ldr r3, [r3, #12] 80c1802: 1ad2 subs r2, r2, r3 80c1804: 693b ldr r3, [r7, #16] 80c1806: 609a str r2, [r3, #8] (void)USBD_CtlContinueRx(pdev, pdata, MIN(pep->rem_length, pep->maxpacket)); 80c1808: 693b ldr r3, [r7, #16] 80c180a: 68da ldr r2, [r3, #12] 80c180c: 693b ldr r3, [r7, #16] 80c180e: 689b ldr r3, [r3, #8] 80c1810: 4293 cmp r3, r2 80c1812: bf28 it cs 80c1814: 4613 movcs r3, r2 80c1816: 461a mov r2, r3 80c1818: 6879 ldr r1, [r7, #4] 80c181a: 68f8 ldr r0, [r7, #12] 80c181c: f000 ffb9 bl 80c2792 80c1820: e030 b.n 80c1884 } else { if ((pdev->pClass->EP0_RxReady != NULL) && 80c1822: 68fb ldr r3, [r7, #12] 80c1824: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1828: 691b ldr r3, [r3, #16] 80c182a: 2b00 cmp r3, #0 80c182c: d00a beq.n 80c1844 (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c182e: 68fb ldr r3, [r7, #12] 80c1830: f893 329c ldrb.w r3, [r3, #668] ; 0x29c if ((pdev->pClass->EP0_RxReady != NULL) && 80c1834: 2b03 cmp r3, #3 80c1836: d105 bne.n 80c1844 { pdev->pClass->EP0_RxReady(pdev); 80c1838: 68fb ldr r3, [r7, #12] 80c183a: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c183e: 691b ldr r3, [r3, #16] 80c1840: 68f8 ldr r0, [r7, #12] 80c1842: 4798 blx r3 } (void)USBD_CtlSendStatus(pdev); 80c1844: 68f8 ldr r0, [r7, #12] 80c1846: f000 ffb5 bl 80c27b4 80c184a: e01b b.n 80c1884 (void)USBD_LL_StallEP(pdev, 0U); } #endif } } else if ((pdev->pClass->DataOut != NULL) && 80c184c: 68fb ldr r3, [r7, #12] 80c184e: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1852: 699b ldr r3, [r3, #24] 80c1854: 2b00 cmp r3, #0 80c1856: d013 beq.n 80c1880 (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c1858: 68fb ldr r3, [r7, #12] 80c185a: f893 329c ldrb.w r3, [r3, #668] ; 0x29c else if ((pdev->pClass->DataOut != NULL) && 80c185e: 2b03 cmp r3, #3 80c1860: d10e bne.n 80c1880 { ret = (USBD_StatusTypeDef)pdev->pClass->DataOut(pdev, epnum); 80c1862: 68fb ldr r3, [r7, #12] 80c1864: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1868: 699b ldr r3, [r3, #24] 80c186a: 7afa ldrb r2, [r7, #11] 80c186c: 4611 mov r1, r2 80c186e: 68f8 ldr r0, [r7, #12] 80c1870: 4798 blx r3 80c1872: 4603 mov r3, r0 80c1874: 75fb strb r3, [r7, #23] if (ret != USBD_OK) 80c1876: 7dfb ldrb r3, [r7, #23] 80c1878: 2b00 cmp r3, #0 80c187a: d003 beq.n 80c1884 { return ret; 80c187c: 7dfb ldrb r3, [r7, #23] 80c187e: e002 b.n 80c1886 } } else { /* should never be in this condition */ return USBD_FAIL; 80c1880: 2303 movs r3, #3 80c1882: e000 b.n 80c1886 } return USBD_OK; 80c1884: 2300 movs r3, #0 } 80c1886: 4618 mov r0, r3 80c1888: 3718 adds r7, #24 80c188a: 46bd mov sp, r7 80c188c: bd80 pop {r7, pc} 080c188e : * @param epnum: endpoint index * @retval status */ USBD_StatusTypeDef USBD_LL_DataInStage(USBD_HandleTypeDef *pdev, uint8_t epnum, uint8_t *pdata) { 80c188e: b580 push {r7, lr} 80c1890: b086 sub sp, #24 80c1892: af00 add r7, sp, #0 80c1894: 60f8 str r0, [r7, #12] 80c1896: 460b mov r3, r1 80c1898: 607a str r2, [r7, #4] 80c189a: 72fb strb r3, [r7, #11] USBD_EndpointTypeDef *pep; USBD_StatusTypeDef ret; if (epnum == 0U) 80c189c: 7afb ldrb r3, [r7, #11] 80c189e: 2b00 cmp r3, #0 80c18a0: d16a bne.n 80c1978 { pep = &pdev->ep_in[0]; 80c18a2: 68fb ldr r3, [r7, #12] 80c18a4: 3314 adds r3, #20 80c18a6: 613b str r3, [r7, #16] if (pdev->ep0_state == USBD_EP0_DATA_IN) 80c18a8: 68fb ldr r3, [r7, #12] 80c18aa: f8d3 3294 ldr.w r3, [r3, #660] ; 0x294 80c18ae: 2b02 cmp r3, #2 80c18b0: d155 bne.n 80c195e { if (pep->rem_length > pep->maxpacket) 80c18b2: 693b ldr r3, [r7, #16] 80c18b4: 689a ldr r2, [r3, #8] 80c18b6: 693b ldr r3, [r7, #16] 80c18b8: 68db ldr r3, [r3, #12] 80c18ba: 429a cmp r2, r3 80c18bc: d914 bls.n 80c18e8 { pep->rem_length -= pep->maxpacket; 80c18be: 693b ldr r3, [r7, #16] 80c18c0: 689a ldr r2, [r3, #8] 80c18c2: 693b ldr r3, [r7, #16] 80c18c4: 68db ldr r3, [r3, #12] 80c18c6: 1ad2 subs r2, r2, r3 80c18c8: 693b ldr r3, [r7, #16] 80c18ca: 609a str r2, [r3, #8] (void)USBD_CtlContinueSendData(pdev, pdata, pep->rem_length); 80c18cc: 693b ldr r3, [r7, #16] 80c18ce: 689b ldr r3, [r3, #8] 80c18d0: 461a mov r2, r3 80c18d2: 6879 ldr r1, [r7, #4] 80c18d4: 68f8 ldr r0, [r7, #12] 80c18d6: f000 ff4b bl 80c2770 /* Prepare endpoint for premature end of transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 80c18da: 2300 movs r3, #0 80c18dc: 2200 movs r2, #0 80c18de: 2100 movs r1, #0 80c18e0: 68f8 ldr r0, [r7, #12] 80c18e2: f008 f94a bl 80c9b7a 80c18e6: e03a b.n 80c195e } else { /* last packet is MPS multiple, so send ZLP packet */ if ((pep->maxpacket == pep->rem_length) && 80c18e8: 693b ldr r3, [r7, #16] 80c18ea: 68da ldr r2, [r3, #12] 80c18ec: 693b ldr r3, [r7, #16] 80c18ee: 689b ldr r3, [r3, #8] 80c18f0: 429a cmp r2, r3 80c18f2: d11c bne.n 80c192e (pep->total_length >= pep->maxpacket) && 80c18f4: 693b ldr r3, [r7, #16] 80c18f6: 685a ldr r2, [r3, #4] 80c18f8: 693b ldr r3, [r7, #16] 80c18fa: 68db ldr r3, [r3, #12] if ((pep->maxpacket == pep->rem_length) && 80c18fc: 429a cmp r2, r3 80c18fe: d316 bcc.n 80c192e (pep->total_length < pdev->ep0_data_len)) 80c1900: 693b ldr r3, [r7, #16] 80c1902: 685a ldr r2, [r3, #4] 80c1904: 68fb ldr r3, [r7, #12] 80c1906: f8d3 3298 ldr.w r3, [r3, #664] ; 0x298 (pep->total_length >= pep->maxpacket) && 80c190a: 429a cmp r2, r3 80c190c: d20f bcs.n 80c192e { (void)USBD_CtlContinueSendData(pdev, NULL, 0U); 80c190e: 2200 movs r2, #0 80c1910: 2100 movs r1, #0 80c1912: 68f8 ldr r0, [r7, #12] 80c1914: f000 ff2c bl 80c2770 pdev->ep0_data_len = 0U; 80c1918: 68fb ldr r3, [r7, #12] 80c191a: 2200 movs r2, #0 80c191c: f8c3 2298 str.w r2, [r3, #664] ; 0x298 /* Prepare endpoint for premature end of transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 80c1920: 2300 movs r3, #0 80c1922: 2200 movs r2, #0 80c1924: 2100 movs r1, #0 80c1926: 68f8 ldr r0, [r7, #12] 80c1928: f008 f927 bl 80c9b7a 80c192c: e017 b.n 80c195e } else { if ((pdev->pClass->EP0_TxSent != NULL) && 80c192e: 68fb ldr r3, [r7, #12] 80c1930: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1934: 68db ldr r3, [r3, #12] 80c1936: 2b00 cmp r3, #0 80c1938: d00a beq.n 80c1950 (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c193a: 68fb ldr r3, [r7, #12] 80c193c: f893 329c ldrb.w r3, [r3, #668] ; 0x29c if ((pdev->pClass->EP0_TxSent != NULL) && 80c1940: 2b03 cmp r3, #3 80c1942: d105 bne.n 80c1950 { pdev->pClass->EP0_TxSent(pdev); 80c1944: 68fb ldr r3, [r7, #12] 80c1946: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c194a: 68db ldr r3, [r3, #12] 80c194c: 68f8 ldr r0, [r7, #12] 80c194e: 4798 blx r3 } (void)USBD_LL_StallEP(pdev, 0x80U); 80c1950: 2180 movs r1, #128 ; 0x80 80c1952: 68f8 ldr r0, [r7, #12] 80c1954: f008 f867 bl 80c9a26 (void)USBD_CtlReceiveStatus(pdev); 80c1958: 68f8 ldr r0, [r7, #12] 80c195a: f000 ff3e bl 80c27da (void)USBD_LL_StallEP(pdev, 0x80U); } #endif } if (pdev->dev_test_mode == 1U) 80c195e: 68fb ldr r3, [r7, #12] 80c1960: f893 32a0 ldrb.w r3, [r3, #672] ; 0x2a0 80c1964: 2b01 cmp r3, #1 80c1966: d123 bne.n 80c19b0 { (void)USBD_RunTestMode(pdev); 80c1968: 68f8 ldr r0, [r7, #12] 80c196a: f7ff fe9b bl 80c16a4 pdev->dev_test_mode = 0U; 80c196e: 68fb ldr r3, [r7, #12] 80c1970: 2200 movs r2, #0 80c1972: f883 22a0 strb.w r2, [r3, #672] ; 0x2a0 80c1976: e01b b.n 80c19b0 } } else if ((pdev->pClass->DataIn != NULL) && 80c1978: 68fb ldr r3, [r7, #12] 80c197a: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c197e: 695b ldr r3, [r3, #20] 80c1980: 2b00 cmp r3, #0 80c1982: d013 beq.n 80c19ac (pdev->dev_state == USBD_STATE_CONFIGURED)) 80c1984: 68fb ldr r3, [r7, #12] 80c1986: f893 329c ldrb.w r3, [r3, #668] ; 0x29c else if ((pdev->pClass->DataIn != NULL) && 80c198a: 2b03 cmp r3, #3 80c198c: d10e bne.n 80c19ac { ret = (USBD_StatusTypeDef)pdev->pClass->DataIn(pdev, epnum); 80c198e: 68fb ldr r3, [r7, #12] 80c1990: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1994: 695b ldr r3, [r3, #20] 80c1996: 7afa ldrb r2, [r7, #11] 80c1998: 4611 mov r1, r2 80c199a: 68f8 ldr r0, [r7, #12] 80c199c: 4798 blx r3 80c199e: 4603 mov r3, r0 80c19a0: 75fb strb r3, [r7, #23] if (ret != USBD_OK) 80c19a2: 7dfb ldrb r3, [r7, #23] 80c19a4: 2b00 cmp r3, #0 80c19a6: d003 beq.n 80c19b0 { return ret; 80c19a8: 7dfb ldrb r3, [r7, #23] 80c19aa: e002 b.n 80c19b2 } } else { /* should never be in this condition */ return USBD_FAIL; 80c19ac: 2303 movs r3, #3 80c19ae: e000 b.n 80c19b2 } return USBD_OK; 80c19b0: 2300 movs r3, #0 } 80c19b2: 4618 mov r0, r3 80c19b4: 3718 adds r7, #24 80c19b6: 46bd mov sp, r7 80c19b8: bd80 pop {r7, pc} 080c19ba : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Reset(USBD_HandleTypeDef *pdev) { 80c19ba: b580 push {r7, lr} 80c19bc: b082 sub sp, #8 80c19be: af00 add r7, sp, #0 80c19c0: 6078 str r0, [r7, #4] /* Upon Reset call user call back */ pdev->dev_state = USBD_STATE_DEFAULT; 80c19c2: 687b ldr r3, [r7, #4] 80c19c4: 2201 movs r2, #1 80c19c6: f883 229c strb.w r2, [r3, #668] ; 0x29c pdev->ep0_state = USBD_EP0_IDLE; 80c19ca: 687b ldr r3, [r7, #4] 80c19cc: 2200 movs r2, #0 80c19ce: f8c3 2294 str.w r2, [r3, #660] ; 0x294 pdev->dev_config = 0U; 80c19d2: 687b ldr r3, [r7, #4] 80c19d4: 2200 movs r2, #0 80c19d6: 605a str r2, [r3, #4] pdev->dev_remote_wakeup = 0U; 80c19d8: 687b ldr r3, [r7, #4] 80c19da: 2200 movs r2, #0 80c19dc: f8c3 22a4 str.w r2, [r3, #676] ; 0x2a4 if (pdev->pClassData != NULL) 80c19e0: 687b ldr r3, [r7, #4] 80c19e2: f8d3 32bc ldr.w r3, [r3, #700] ; 0x2bc 80c19e6: 2b00 cmp r3, #0 80c19e8: d009 beq.n 80c19fe { pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 80c19ea: 687b ldr r3, [r7, #4] 80c19ec: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c19f0: 685b ldr r3, [r3, #4] 80c19f2: 687a ldr r2, [r7, #4] 80c19f4: 6852 ldr r2, [r2, #4] 80c19f6: b2d2 uxtb r2, r2 80c19f8: 4611 mov r1, r2 80c19fa: 6878 ldr r0, [r7, #4] 80c19fc: 4798 blx r3 } /* Open EP0 OUT */ (void)USBD_LL_OpenEP(pdev, 0x00U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE); 80c19fe: 2340 movs r3, #64 ; 0x40 80c1a00: 2200 movs r2, #0 80c1a02: 2100 movs r1, #0 80c1a04: 6878 ldr r0, [r7, #4] 80c1a06: f007 ffaa bl 80c995e pdev->ep_out[0x00U & 0xFU].is_used = 1U; 80c1a0a: 687b ldr r3, [r7, #4] 80c1a0c: 2201 movs r2, #1 80c1a0e: f8a3 2164 strh.w r2, [r3, #356] ; 0x164 pdev->ep_out[0].maxpacket = USB_MAX_EP0_SIZE; 80c1a12: 687b ldr r3, [r7, #4] 80c1a14: 2240 movs r2, #64 ; 0x40 80c1a16: f8c3 2160 str.w r2, [r3, #352] ; 0x160 /* Open EP0 IN */ (void)USBD_LL_OpenEP(pdev, 0x80U, USBD_EP_TYPE_CTRL, USB_MAX_EP0_SIZE); 80c1a1a: 2340 movs r3, #64 ; 0x40 80c1a1c: 2200 movs r2, #0 80c1a1e: 2180 movs r1, #128 ; 0x80 80c1a20: 6878 ldr r0, [r7, #4] 80c1a22: f007 ff9c bl 80c995e pdev->ep_in[0x80U & 0xFU].is_used = 1U; 80c1a26: 687b ldr r3, [r7, #4] 80c1a28: 2201 movs r2, #1 80c1a2a: 849a strh r2, [r3, #36] ; 0x24 pdev->ep_in[0].maxpacket = USB_MAX_EP0_SIZE; 80c1a2c: 687b ldr r3, [r7, #4] 80c1a2e: 2240 movs r2, #64 ; 0x40 80c1a30: 621a str r2, [r3, #32] return USBD_OK; 80c1a32: 2300 movs r3, #0 } 80c1a34: 4618 mov r0, r3 80c1a36: 3708 adds r7, #8 80c1a38: 46bd mov sp, r7 80c1a3a: bd80 pop {r7, pc} 080c1a3c : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SetSpeed(USBD_HandleTypeDef *pdev, USBD_SpeedTypeDef speed) { 80c1a3c: b480 push {r7} 80c1a3e: b083 sub sp, #12 80c1a40: af00 add r7, sp, #0 80c1a42: 6078 str r0, [r7, #4] 80c1a44: 460b mov r3, r1 80c1a46: 70fb strb r3, [r7, #3] pdev->dev_speed = speed; 80c1a48: 687b ldr r3, [r7, #4] 80c1a4a: 78fa ldrb r2, [r7, #3] 80c1a4c: 741a strb r2, [r3, #16] return USBD_OK; 80c1a4e: 2300 movs r3, #0 } 80c1a50: 4618 mov r0, r3 80c1a52: 370c adds r7, #12 80c1a54: 46bd mov sp, r7 80c1a56: f85d 7b04 ldr.w r7, [sp], #4 80c1a5a: 4770 bx lr 080c1a5c : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Suspend(USBD_HandleTypeDef *pdev) { 80c1a5c: b480 push {r7} 80c1a5e: b083 sub sp, #12 80c1a60: af00 add r7, sp, #0 80c1a62: 6078 str r0, [r7, #4] pdev->dev_old_state = pdev->dev_state; 80c1a64: 687b ldr r3, [r7, #4] 80c1a66: f893 229c ldrb.w r2, [r3, #668] ; 0x29c 80c1a6a: 687b ldr r3, [r7, #4] 80c1a6c: f883 229d strb.w r2, [r3, #669] ; 0x29d pdev->dev_state = USBD_STATE_SUSPENDED; 80c1a70: 687b ldr r3, [r7, #4] 80c1a72: 2204 movs r2, #4 80c1a74: f883 229c strb.w r2, [r3, #668] ; 0x29c return USBD_OK; 80c1a78: 2300 movs r3, #0 } 80c1a7a: 4618 mov r0, r3 80c1a7c: 370c adds r7, #12 80c1a7e: 46bd mov sp, r7 80c1a80: f85d 7b04 ldr.w r7, [sp], #4 80c1a84: 4770 bx lr 080c1a86 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_Resume(USBD_HandleTypeDef *pdev) { 80c1a86: b480 push {r7} 80c1a88: b083 sub sp, #12 80c1a8a: af00 add r7, sp, #0 80c1a8c: 6078 str r0, [r7, #4] if (pdev->dev_state == USBD_STATE_SUSPENDED) 80c1a8e: 687b ldr r3, [r7, #4] 80c1a90: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c1a94: 2b04 cmp r3, #4 80c1a96: d105 bne.n 80c1aa4 { pdev->dev_state = pdev->dev_old_state; 80c1a98: 687b ldr r3, [r7, #4] 80c1a9a: f893 229d ldrb.w r2, [r3, #669] ; 0x29d 80c1a9e: 687b ldr r3, [r7, #4] 80c1aa0: f883 229c strb.w r2, [r3, #668] ; 0x29c } return USBD_OK; 80c1aa4: 2300 movs r3, #0 } 80c1aa6: 4618 mov r0, r3 80c1aa8: 370c adds r7, #12 80c1aaa: 46bd mov sp, r7 80c1aac: f85d 7b04 ldr.w r7, [sp], #4 80c1ab0: 4770 bx lr 080c1ab2 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_SOF(USBD_HandleTypeDef *pdev) { 80c1ab2: b580 push {r7, lr} 80c1ab4: b082 sub sp, #8 80c1ab6: af00 add r7, sp, #0 80c1ab8: 6078 str r0, [r7, #4] if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c1aba: 687b ldr r3, [r7, #4] 80c1abc: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c1ac0: 2b03 cmp r3, #3 80c1ac2: d10b bne.n 80c1adc { if (pdev->pClass->SOF != NULL) 80c1ac4: 687b ldr r3, [r7, #4] 80c1ac6: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1aca: 69db ldr r3, [r3, #28] 80c1acc: 2b00 cmp r3, #0 80c1ace: d005 beq.n 80c1adc { pdev->pClass->SOF(pdev); 80c1ad0: 687b ldr r3, [r7, #4] 80c1ad2: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1ad6: 69db ldr r3, [r3, #28] 80c1ad8: 6878 ldr r0, [r7, #4] 80c1ada: 4798 blx r3 } } return USBD_OK; 80c1adc: 2300 movs r3, #0 } 80c1ade: 4618 mov r0, r3 80c1ae0: 3708 adds r7, #8 80c1ae2: 46bd mov sp, r7 80c1ae4: bd80 pop {r7, pc} 080c1ae6 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_IsoINIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c1ae6: b480 push {r7} 80c1ae8: b083 sub sp, #12 80c1aea: af00 add r7, sp, #0 80c1aec: 6078 str r0, [r7, #4] 80c1aee: 460b mov r3, r1 80c1af0: 70fb strb r3, [r7, #3] /* Prevent unused arguments compilation warning */ UNUSED(pdev); UNUSED(epnum); return USBD_OK; 80c1af2: 2300 movs r3, #0 } 80c1af4: 4618 mov r0, r3 80c1af6: 370c adds r7, #12 80c1af8: 46bd mov sp, r7 80c1afa: f85d 7b04 ldr.w r7, [sp], #4 80c1afe: 4770 bx lr 080c1b00 : * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_IsoOUTIncomplete(USBD_HandleTypeDef *pdev, uint8_t epnum) { 80c1b00: b480 push {r7} 80c1b02: b083 sub sp, #12 80c1b04: af00 add r7, sp, #0 80c1b06: 6078 str r0, [r7, #4] 80c1b08: 460b mov r3, r1 80c1b0a: 70fb strb r3, [r7, #3] /* Prevent unused arguments compilation warning */ UNUSED(pdev); UNUSED(epnum); return USBD_OK; 80c1b0c: 2300 movs r3, #0 } 80c1b0e: 4618 mov r0, r3 80c1b10: 370c adds r7, #12 80c1b12: 46bd mov sp, r7 80c1b14: f85d 7b04 ldr.w r7, [sp], #4 80c1b18: 4770 bx lr 080c1b1a : * Handle device connection event * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_DevConnected(USBD_HandleTypeDef *pdev) { 80c1b1a: b480 push {r7} 80c1b1c: b083 sub sp, #12 80c1b1e: af00 add r7, sp, #0 80c1b20: 6078 str r0, [r7, #4] /* Prevent unused argument compilation warning */ UNUSED(pdev); return USBD_OK; 80c1b22: 2300 movs r3, #0 } 80c1b24: 4618 mov r0, r3 80c1b26: 370c adds r7, #12 80c1b28: 46bd mov sp, r7 80c1b2a: f85d 7b04 ldr.w r7, [sp], #4 80c1b2e: 4770 bx lr 080c1b30 : * Handle device disconnection event * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_LL_DevDisconnected(USBD_HandleTypeDef *pdev) { 80c1b30: b580 push {r7, lr} 80c1b32: b082 sub sp, #8 80c1b34: af00 add r7, sp, #0 80c1b36: 6078 str r0, [r7, #4] /* Free Class Resources */ pdev->dev_state = USBD_STATE_DEFAULT; 80c1b38: 687b ldr r3, [r7, #4] 80c1b3a: 2201 movs r2, #1 80c1b3c: f883 229c strb.w r2, [r3, #668] ; 0x29c if (pdev->pClass != NULL) 80c1b40: 687b ldr r3, [r7, #4] 80c1b42: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1b46: 2b00 cmp r3, #0 80c1b48: d009 beq.n 80c1b5e { pdev->pClass->DeInit(pdev, (uint8_t)pdev->dev_config); 80c1b4a: 687b ldr r3, [r7, #4] 80c1b4c: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1b50: 685b ldr r3, [r3, #4] 80c1b52: 687a ldr r2, [r7, #4] 80c1b54: 6852 ldr r2, [r2, #4] 80c1b56: b2d2 uxtb r2, r2 80c1b58: 4611 mov r1, r2 80c1b5a: 6878 ldr r0, [r7, #4] 80c1b5c: 4798 blx r3 } return USBD_OK; 80c1b5e: 2300 movs r3, #0 } 80c1b60: 4618 mov r0, r3 80c1b62: 3708 adds r7, #8 80c1b64: 46bd mov sp, r7 80c1b66: bd80 pop {r7, pc} 080c1b68 : /** @defgroup USBD_DEF_Exported_Macros * @{ */ __STATIC_INLINE uint16_t SWAPBYTE(uint8_t *addr) { 80c1b68: b480 push {r7} 80c1b6a: b087 sub sp, #28 80c1b6c: af00 add r7, sp, #0 80c1b6e: 6078 str r0, [r7, #4] uint16_t _SwapVal, _Byte1, _Byte2; uint8_t *_pbuff = addr; 80c1b70: 687b ldr r3, [r7, #4] 80c1b72: 617b str r3, [r7, #20] _Byte1 = *(uint8_t *)_pbuff; 80c1b74: 697b ldr r3, [r7, #20] 80c1b76: 781b ldrb r3, [r3, #0] 80c1b78: 827b strh r3, [r7, #18] _pbuff++; 80c1b7a: 697b ldr r3, [r7, #20] 80c1b7c: 3301 adds r3, #1 80c1b7e: 617b str r3, [r7, #20] _Byte2 = *(uint8_t *)_pbuff; 80c1b80: 697b ldr r3, [r7, #20] 80c1b82: 781b ldrb r3, [r3, #0] 80c1b84: 823b strh r3, [r7, #16] _SwapVal = (_Byte2 << 8) | _Byte1; 80c1b86: 8a3b ldrh r3, [r7, #16] 80c1b88: 021b lsls r3, r3, #8 80c1b8a: b21a sxth r2, r3 80c1b8c: f9b7 3012 ldrsh.w r3, [r7, #18] 80c1b90: 4313 orrs r3, r2 80c1b92: b21b sxth r3, r3 80c1b94: 81fb strh r3, [r7, #14] return _SwapVal; 80c1b96: 89fb ldrh r3, [r7, #14] } 80c1b98: 4618 mov r0, r3 80c1b9a: 371c adds r7, #28 80c1b9c: 46bd mov sp, r7 80c1b9e: f85d 7b04 ldr.w r7, [sp], #4 80c1ba2: 4770 bx lr 080c1ba4 : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdDevReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c1ba4: b580 push {r7, lr} 80c1ba6: b084 sub sp, #16 80c1ba8: af00 add r7, sp, #0 80c1baa: 6078 str r0, [r7, #4] 80c1bac: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; 80c1bae: 2300 movs r3, #0 80c1bb0: 73fb strb r3, [r7, #15] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c1bb2: 683b ldr r3, [r7, #0] 80c1bb4: 781b ldrb r3, [r3, #0] 80c1bb6: f003 0360 and.w r3, r3, #96 ; 0x60 80c1bba: 2b20 cmp r3, #32 80c1bbc: d004 beq.n 80c1bc8 80c1bbe: 2b40 cmp r3, #64 ; 0x40 80c1bc0: d002 beq.n 80c1bc8 80c1bc2: 2b00 cmp r3, #0 80c1bc4: d00a beq.n 80c1bdc 80c1bc6: e050 b.n 80c1c6a { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c1bc8: 687b ldr r3, [r7, #4] 80c1bca: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1bce: 689b ldr r3, [r3, #8] 80c1bd0: 6839 ldr r1, [r7, #0] 80c1bd2: 6878 ldr r0, [r7, #4] 80c1bd4: 4798 blx r3 80c1bd6: 4603 mov r3, r0 80c1bd8: 73fb strb r3, [r7, #15] break; 80c1bda: e04b b.n 80c1c74 case USB_REQ_TYPE_STANDARD: switch (req->bRequest) 80c1bdc: 683b ldr r3, [r7, #0] 80c1bde: 785b ldrb r3, [r3, #1] 80c1be0: 2b09 cmp r3, #9 80c1be2: d83c bhi.n 80c1c5e 80c1be4: a201 add r2, pc, #4 ; (adr r2, 80c1bec ) 80c1be6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c1bea: bf00 nop 80c1bec: 080c1c41 .word 0x080c1c41 80c1bf0: 080c1c55 .word 0x080c1c55 80c1bf4: 080c1c5f .word 0x080c1c5f 80c1bf8: 080c1c4b .word 0x080c1c4b 80c1bfc: 080c1c5f .word 0x080c1c5f 80c1c00: 080c1c1f .word 0x080c1c1f 80c1c04: 080c1c15 .word 0x080c1c15 80c1c08: 080c1c5f .word 0x080c1c5f 80c1c0c: 080c1c37 .word 0x080c1c37 80c1c10: 080c1c29 .word 0x080c1c29 { case USB_REQ_GET_DESCRIPTOR: USBD_GetDescriptor(pdev, req); 80c1c14: 6839 ldr r1, [r7, #0] 80c1c16: 6878 ldr r0, [r7, #4] 80c1c18: f000 f9ce bl 80c1fb8 break; 80c1c1c: e024 b.n 80c1c68 case USB_REQ_SET_ADDRESS: USBD_SetAddress(pdev, req); 80c1c1e: 6839 ldr r1, [r7, #0] 80c1c20: 6878 ldr r0, [r7, #4] 80c1c22: f000 fb5d bl 80c22e0 break; 80c1c26: e01f b.n 80c1c68 case USB_REQ_SET_CONFIGURATION: ret = USBD_SetConfig(pdev, req); 80c1c28: 6839 ldr r1, [r7, #0] 80c1c2a: 6878 ldr r0, [r7, #4] 80c1c2c: f000 fb9a bl 80c2364 80c1c30: 4603 mov r3, r0 80c1c32: 73fb strb r3, [r7, #15] break; 80c1c34: e018 b.n 80c1c68 case USB_REQ_GET_CONFIGURATION: USBD_GetConfig(pdev, req); 80c1c36: 6839 ldr r1, [r7, #0] 80c1c38: 6878 ldr r0, [r7, #4] 80c1c3a: f000 fc37 bl 80c24ac break; 80c1c3e: e013 b.n 80c1c68 case USB_REQ_GET_STATUS: USBD_GetStatus(pdev, req); 80c1c40: 6839 ldr r1, [r7, #0] 80c1c42: 6878 ldr r0, [r7, #4] 80c1c44: f000 fc66 bl 80c2514 break; 80c1c48: e00e b.n 80c1c68 case USB_REQ_SET_FEATURE: USBD_SetFeature(pdev, req); 80c1c4a: 6839 ldr r1, [r7, #0] 80c1c4c: 6878 ldr r0, [r7, #4] 80c1c4e: f000 fc94 bl 80c257a break; 80c1c52: e009 b.n 80c1c68 case USB_REQ_CLEAR_FEATURE: USBD_ClrFeature(pdev, req); 80c1c54: 6839 ldr r1, [r7, #0] 80c1c56: 6878 ldr r0, [r7, #4] 80c1c58: f000 fca3 bl 80c25a2 break; 80c1c5c: e004 b.n 80c1c68 default: USBD_CtlError(pdev, req); 80c1c5e: 6839 ldr r1, [r7, #0] 80c1c60: 6878 ldr r0, [r7, #4] 80c1c62: f000 fcf9 bl 80c2658 break; 80c1c66: bf00 nop } break; 80c1c68: e004 b.n 80c1c74 default: USBD_CtlError(pdev, req); 80c1c6a: 6839 ldr r1, [r7, #0] 80c1c6c: 6878 ldr r0, [r7, #4] 80c1c6e: f000 fcf3 bl 80c2658 break; 80c1c72: bf00 nop } return ret; 80c1c74: 7bfb ldrb r3, [r7, #15] } 80c1c76: 4618 mov r0, r3 80c1c78: 3710 adds r7, #16 80c1c7a: 46bd mov sp, r7 80c1c7c: bd80 pop {r7, pc} 80c1c7e: bf00 nop 080c1c80 : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdItfReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c1c80: b580 push {r7, lr} 80c1c82: b084 sub sp, #16 80c1c84: af00 add r7, sp, #0 80c1c86: 6078 str r0, [r7, #4] 80c1c88: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; 80c1c8a: 2300 movs r3, #0 80c1c8c: 73fb strb r3, [r7, #15] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c1c8e: 683b ldr r3, [r7, #0] 80c1c90: 781b ldrb r3, [r3, #0] 80c1c92: f003 0360 and.w r3, r3, #96 ; 0x60 80c1c96: 2b20 cmp r3, #32 80c1c98: d003 beq.n 80c1ca2 80c1c9a: 2b40 cmp r3, #64 ; 0x40 80c1c9c: d001 beq.n 80c1ca2 80c1c9e: 2b00 cmp r3, #0 80c1ca0: d12a bne.n 80c1cf8 { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: case USB_REQ_TYPE_STANDARD: switch (pdev->dev_state) 80c1ca2: 687b ldr r3, [r7, #4] 80c1ca4: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c1ca8: 3b01 subs r3, #1 80c1caa: 2b02 cmp r3, #2 80c1cac: d81d bhi.n 80c1cea { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (LOBYTE(req->wIndex) <= USBD_MAX_NUM_INTERFACES) 80c1cae: 683b ldr r3, [r7, #0] 80c1cb0: 889b ldrh r3, [r3, #4] 80c1cb2: b2db uxtb r3, r3 80c1cb4: 2b01 cmp r3, #1 80c1cb6: d813 bhi.n 80c1ce0 { ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c1cb8: 687b ldr r3, [r7, #4] 80c1cba: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1cbe: 689b ldr r3, [r3, #8] 80c1cc0: 6839 ldr r1, [r7, #0] 80c1cc2: 6878 ldr r0, [r7, #4] 80c1cc4: 4798 blx r3 80c1cc6: 4603 mov r3, r0 80c1cc8: 73fb strb r3, [r7, #15] if ((req->wLength == 0U) && (ret == USBD_OK)) 80c1cca: 683b ldr r3, [r7, #0] 80c1ccc: 88db ldrh r3, [r3, #6] 80c1cce: 2b00 cmp r3, #0 80c1cd0: d110 bne.n 80c1cf4 80c1cd2: 7bfb ldrb r3, [r7, #15] 80c1cd4: 2b00 cmp r3, #0 80c1cd6: d10d bne.n 80c1cf4 { (void)USBD_CtlSendStatus(pdev); 80c1cd8: 6878 ldr r0, [r7, #4] 80c1cda: f000 fd6b bl 80c27b4 } else { USBD_CtlError(pdev, req); } break; 80c1cde: e009 b.n 80c1cf4 USBD_CtlError(pdev, req); 80c1ce0: 6839 ldr r1, [r7, #0] 80c1ce2: 6878 ldr r0, [r7, #4] 80c1ce4: f000 fcb8 bl 80c2658 break; 80c1ce8: e004 b.n 80c1cf4 default: USBD_CtlError(pdev, req); 80c1cea: 6839 ldr r1, [r7, #0] 80c1cec: 6878 ldr r0, [r7, #4] 80c1cee: f000 fcb3 bl 80c2658 break; 80c1cf2: e000 b.n 80c1cf6 break; 80c1cf4: bf00 nop } break; 80c1cf6: e004 b.n 80c1d02 default: USBD_CtlError(pdev, req); 80c1cf8: 6839 ldr r1, [r7, #0] 80c1cfa: 6878 ldr r0, [r7, #4] 80c1cfc: f000 fcac bl 80c2658 break; 80c1d00: bf00 nop } return ret; 80c1d02: 7bfb ldrb r3, [r7, #15] } 80c1d04: 4618 mov r0, r3 80c1d06: 3710 adds r7, #16 80c1d08: 46bd mov sp, r7 80c1d0a: bd80 pop {r7, pc} 080c1d0c : * @param pdev: device instance * @param req: usb request * @retval status */ USBD_StatusTypeDef USBD_StdEPReq(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c1d0c: b580 push {r7, lr} 80c1d0e: b084 sub sp, #16 80c1d10: af00 add r7, sp, #0 80c1d12: 6078 str r0, [r7, #4] 80c1d14: 6039 str r1, [r7, #0] USBD_EndpointTypeDef *pep; uint8_t ep_addr; USBD_StatusTypeDef ret = USBD_OK; 80c1d16: 2300 movs r3, #0 80c1d18: 73fb strb r3, [r7, #15] ep_addr = LOBYTE(req->wIndex); 80c1d1a: 683b ldr r3, [r7, #0] 80c1d1c: 889b ldrh r3, [r3, #4] 80c1d1e: 73bb strb r3, [r7, #14] switch (req->bmRequest & USB_REQ_TYPE_MASK) 80c1d20: 683b ldr r3, [r7, #0] 80c1d22: 781b ldrb r3, [r3, #0] 80c1d24: f003 0360 and.w r3, r3, #96 ; 0x60 80c1d28: 2b20 cmp r3, #32 80c1d2a: d004 beq.n 80c1d36 80c1d2c: 2b40 cmp r3, #64 ; 0x40 80c1d2e: d002 beq.n 80c1d36 80c1d30: 2b00 cmp r3, #0 80c1d32: d00a beq.n 80c1d4a 80c1d34: e135 b.n 80c1fa2 { case USB_REQ_TYPE_CLASS: case USB_REQ_TYPE_VENDOR: ret = (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c1d36: 687b ldr r3, [r7, #4] 80c1d38: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1d3c: 689b ldr r3, [r3, #8] 80c1d3e: 6839 ldr r1, [r7, #0] 80c1d40: 6878 ldr r0, [r7, #4] 80c1d42: 4798 blx r3 80c1d44: 4603 mov r3, r0 80c1d46: 73fb strb r3, [r7, #15] break; 80c1d48: e130 b.n 80c1fac case USB_REQ_TYPE_STANDARD: switch (req->bRequest) 80c1d4a: 683b ldr r3, [r7, #0] 80c1d4c: 785b ldrb r3, [r3, #1] 80c1d4e: 2b01 cmp r3, #1 80c1d50: d03e beq.n 80c1dd0 80c1d52: 2b03 cmp r3, #3 80c1d54: d002 beq.n 80c1d5c 80c1d56: 2b00 cmp r3, #0 80c1d58: d077 beq.n 80c1e4a 80c1d5a: e11c b.n 80c1f96 { case USB_REQ_SET_FEATURE: switch (pdev->dev_state) 80c1d5c: 687b ldr r3, [r7, #4] 80c1d5e: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c1d62: 2b02 cmp r3, #2 80c1d64: d002 beq.n 80c1d6c 80c1d66: 2b03 cmp r3, #3 80c1d68: d015 beq.n 80c1d96 80c1d6a: e02b b.n 80c1dc4 { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 80c1d6c: 7bbb ldrb r3, [r7, #14] 80c1d6e: 2b00 cmp r3, #0 80c1d70: d00c beq.n 80c1d8c 80c1d72: 7bbb ldrb r3, [r7, #14] 80c1d74: 2b80 cmp r3, #128 ; 0x80 80c1d76: d009 beq.n 80c1d8c { (void)USBD_LL_StallEP(pdev, ep_addr); 80c1d78: 7bbb ldrb r3, [r7, #14] 80c1d7a: 4619 mov r1, r3 80c1d7c: 6878 ldr r0, [r7, #4] 80c1d7e: f007 fe52 bl 80c9a26 (void)USBD_LL_StallEP(pdev, 0x80U); 80c1d82: 2180 movs r1, #128 ; 0x80 80c1d84: 6878 ldr r0, [r7, #4] 80c1d86: f007 fe4e bl 80c9a26 } else { USBD_CtlError(pdev, req); } break; 80c1d8a: e020 b.n 80c1dce USBD_CtlError(pdev, req); 80c1d8c: 6839 ldr r1, [r7, #0] 80c1d8e: 6878 ldr r0, [r7, #4] 80c1d90: f000 fc62 bl 80c2658 break; 80c1d94: e01b b.n 80c1dce case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_EP_HALT) 80c1d96: 683b ldr r3, [r7, #0] 80c1d98: 885b ldrh r3, [r3, #2] 80c1d9a: 2b00 cmp r3, #0 80c1d9c: d10e bne.n 80c1dbc { if ((ep_addr != 0x00U) && (ep_addr != 0x80U) && (req->wLength == 0x00U)) 80c1d9e: 7bbb ldrb r3, [r7, #14] 80c1da0: 2b00 cmp r3, #0 80c1da2: d00b beq.n 80c1dbc 80c1da4: 7bbb ldrb r3, [r7, #14] 80c1da6: 2b80 cmp r3, #128 ; 0x80 80c1da8: d008 beq.n 80c1dbc 80c1daa: 683b ldr r3, [r7, #0] 80c1dac: 88db ldrh r3, [r3, #6] 80c1dae: 2b00 cmp r3, #0 80c1db0: d104 bne.n 80c1dbc { (void)USBD_LL_StallEP(pdev, ep_addr); 80c1db2: 7bbb ldrb r3, [r7, #14] 80c1db4: 4619 mov r1, r3 80c1db6: 6878 ldr r0, [r7, #4] 80c1db8: f007 fe35 bl 80c9a26 } } (void)USBD_CtlSendStatus(pdev); 80c1dbc: 6878 ldr r0, [r7, #4] 80c1dbe: f000 fcf9 bl 80c27b4 break; 80c1dc2: e004 b.n 80c1dce default: USBD_CtlError(pdev, req); 80c1dc4: 6839 ldr r1, [r7, #0] 80c1dc6: 6878 ldr r0, [r7, #4] 80c1dc8: f000 fc46 bl 80c2658 break; 80c1dcc: bf00 nop } break; 80c1dce: e0e7 b.n 80c1fa0 case USB_REQ_CLEAR_FEATURE: switch (pdev->dev_state) 80c1dd0: 687b ldr r3, [r7, #4] 80c1dd2: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c1dd6: 2b02 cmp r3, #2 80c1dd8: d002 beq.n 80c1de0 80c1dda: 2b03 cmp r3, #3 80c1ddc: d015 beq.n 80c1e0a 80c1dde: e02d b.n 80c1e3c { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 80c1de0: 7bbb ldrb r3, [r7, #14] 80c1de2: 2b00 cmp r3, #0 80c1de4: d00c beq.n 80c1e00 80c1de6: 7bbb ldrb r3, [r7, #14] 80c1de8: 2b80 cmp r3, #128 ; 0x80 80c1dea: d009 beq.n 80c1e00 { (void)USBD_LL_StallEP(pdev, ep_addr); 80c1dec: 7bbb ldrb r3, [r7, #14] 80c1dee: 4619 mov r1, r3 80c1df0: 6878 ldr r0, [r7, #4] 80c1df2: f007 fe18 bl 80c9a26 (void)USBD_LL_StallEP(pdev, 0x80U); 80c1df6: 2180 movs r1, #128 ; 0x80 80c1df8: 6878 ldr r0, [r7, #4] 80c1dfa: f007 fe14 bl 80c9a26 } else { USBD_CtlError(pdev, req); } break; 80c1dfe: e023 b.n 80c1e48 USBD_CtlError(pdev, req); 80c1e00: 6839 ldr r1, [r7, #0] 80c1e02: 6878 ldr r0, [r7, #4] 80c1e04: f000 fc28 bl 80c2658 break; 80c1e08: e01e b.n 80c1e48 case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_EP_HALT) 80c1e0a: 683b ldr r3, [r7, #0] 80c1e0c: 885b ldrh r3, [r3, #2] 80c1e0e: 2b00 cmp r3, #0 80c1e10: d119 bne.n 80c1e46 { if ((ep_addr & 0x7FU) != 0x00U) 80c1e12: 7bbb ldrb r3, [r7, #14] 80c1e14: f003 037f and.w r3, r3, #127 ; 0x7f 80c1e18: 2b00 cmp r3, #0 80c1e1a: d004 beq.n 80c1e26 { (void)USBD_LL_ClearStallEP(pdev, ep_addr); 80c1e1c: 7bbb ldrb r3, [r7, #14] 80c1e1e: 4619 mov r1, r3 80c1e20: 6878 ldr r0, [r7, #4] 80c1e22: f007 fe1f bl 80c9a64 } (void)USBD_CtlSendStatus(pdev); 80c1e26: 6878 ldr r0, [r7, #4] 80c1e28: f000 fcc4 bl 80c27b4 (USBD_StatusTypeDef)pdev->pClass->Setup(pdev, req); 80c1e2c: 687b ldr r3, [r7, #4] 80c1e2e: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c1e32: 689b ldr r3, [r3, #8] 80c1e34: 6839 ldr r1, [r7, #0] 80c1e36: 6878 ldr r0, [r7, #4] 80c1e38: 4798 blx r3 } break; 80c1e3a: e004 b.n 80c1e46 default: USBD_CtlError(pdev, req); 80c1e3c: 6839 ldr r1, [r7, #0] 80c1e3e: 6878 ldr r0, [r7, #4] 80c1e40: f000 fc0a bl 80c2658 break; 80c1e44: e000 b.n 80c1e48 break; 80c1e46: bf00 nop } break; 80c1e48: e0aa b.n 80c1fa0 case USB_REQ_GET_STATUS: switch (pdev->dev_state) 80c1e4a: 687b ldr r3, [r7, #4] 80c1e4c: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c1e50: 2b02 cmp r3, #2 80c1e52: d002 beq.n 80c1e5a 80c1e54: 2b03 cmp r3, #3 80c1e56: d032 beq.n 80c1ebe 80c1e58: e097 b.n 80c1f8a { case USBD_STATE_ADDRESSED: if ((ep_addr != 0x00U) && (ep_addr != 0x80U)) 80c1e5a: 7bbb ldrb r3, [r7, #14] 80c1e5c: 2b00 cmp r3, #0 80c1e5e: d007 beq.n 80c1e70 80c1e60: 7bbb ldrb r3, [r7, #14] 80c1e62: 2b80 cmp r3, #128 ; 0x80 80c1e64: d004 beq.n 80c1e70 { USBD_CtlError(pdev, req); 80c1e66: 6839 ldr r1, [r7, #0] 80c1e68: 6878 ldr r0, [r7, #4] 80c1e6a: f000 fbf5 bl 80c2658 break; 80c1e6e: e091 b.n 80c1f94 } pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c1e70: f997 300e ldrsb.w r3, [r7, #14] 80c1e74: 2b00 cmp r3, #0 80c1e76: da0b bge.n 80c1e90 80c1e78: 7bbb ldrb r3, [r7, #14] 80c1e7a: f003 027f and.w r2, r3, #127 ; 0x7f 80c1e7e: 4613 mov r3, r2 80c1e80: 009b lsls r3, r3, #2 80c1e82: 4413 add r3, r2 80c1e84: 009b lsls r3, r3, #2 80c1e86: 3310 adds r3, #16 80c1e88: 687a ldr r2, [r7, #4] 80c1e8a: 4413 add r3, r2 80c1e8c: 3304 adds r3, #4 80c1e8e: e00b b.n 80c1ea8 &pdev->ep_out[ep_addr & 0x7FU]; 80c1e90: 7bbb ldrb r3, [r7, #14] 80c1e92: f003 027f and.w r2, r3, #127 ; 0x7f pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c1e96: 4613 mov r3, r2 80c1e98: 009b lsls r3, r3, #2 80c1e9a: 4413 add r3, r2 80c1e9c: 009b lsls r3, r3, #2 80c1e9e: f503 73a8 add.w r3, r3, #336 ; 0x150 80c1ea2: 687a ldr r2, [r7, #4] 80c1ea4: 4413 add r3, r2 80c1ea6: 3304 adds r3, #4 80c1ea8: 60bb str r3, [r7, #8] pep->status = 0x0000U; 80c1eaa: 68bb ldr r3, [r7, #8] 80c1eac: 2200 movs r2, #0 80c1eae: 601a str r2, [r3, #0] (void)USBD_CtlSendData(pdev, (uint8_t *)&pep->status, 2U); 80c1eb0: 68bb ldr r3, [r7, #8] 80c1eb2: 2202 movs r2, #2 80c1eb4: 4619 mov r1, r3 80c1eb6: 6878 ldr r0, [r7, #4] 80c1eb8: f000 fc3f bl 80c273a break; 80c1ebc: e06a b.n 80c1f94 case USBD_STATE_CONFIGURED: if ((ep_addr & 0x80U) == 0x80U) 80c1ebe: f997 300e ldrsb.w r3, [r7, #14] 80c1ec2: 2b00 cmp r3, #0 80c1ec4: da11 bge.n 80c1eea { if (pdev->ep_in[ep_addr & 0xFU].is_used == 0U) 80c1ec6: 7bbb ldrb r3, [r7, #14] 80c1ec8: f003 020f and.w r2, r3, #15 80c1ecc: 6879 ldr r1, [r7, #4] 80c1ece: 4613 mov r3, r2 80c1ed0: 009b lsls r3, r3, #2 80c1ed2: 4413 add r3, r2 80c1ed4: 009b lsls r3, r3, #2 80c1ed6: 440b add r3, r1 80c1ed8: 3324 adds r3, #36 ; 0x24 80c1eda: 881b ldrh r3, [r3, #0] 80c1edc: 2b00 cmp r3, #0 80c1ede: d117 bne.n 80c1f10 { USBD_CtlError(pdev, req); 80c1ee0: 6839 ldr r1, [r7, #0] 80c1ee2: 6878 ldr r0, [r7, #4] 80c1ee4: f000 fbb8 bl 80c2658 break; 80c1ee8: e054 b.n 80c1f94 } } else { if (pdev->ep_out[ep_addr & 0xFU].is_used == 0U) 80c1eea: 7bbb ldrb r3, [r7, #14] 80c1eec: f003 020f and.w r2, r3, #15 80c1ef0: 6879 ldr r1, [r7, #4] 80c1ef2: 4613 mov r3, r2 80c1ef4: 009b lsls r3, r3, #2 80c1ef6: 4413 add r3, r2 80c1ef8: 009b lsls r3, r3, #2 80c1efa: 440b add r3, r1 80c1efc: f503 73b2 add.w r3, r3, #356 ; 0x164 80c1f00: 881b ldrh r3, [r3, #0] 80c1f02: 2b00 cmp r3, #0 80c1f04: d104 bne.n 80c1f10 { USBD_CtlError(pdev, req); 80c1f06: 6839 ldr r1, [r7, #0] 80c1f08: 6878 ldr r0, [r7, #4] 80c1f0a: f000 fba5 bl 80c2658 break; 80c1f0e: e041 b.n 80c1f94 } } pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c1f10: f997 300e ldrsb.w r3, [r7, #14] 80c1f14: 2b00 cmp r3, #0 80c1f16: da0b bge.n 80c1f30 80c1f18: 7bbb ldrb r3, [r7, #14] 80c1f1a: f003 027f and.w r2, r3, #127 ; 0x7f 80c1f1e: 4613 mov r3, r2 80c1f20: 009b lsls r3, r3, #2 80c1f22: 4413 add r3, r2 80c1f24: 009b lsls r3, r3, #2 80c1f26: 3310 adds r3, #16 80c1f28: 687a ldr r2, [r7, #4] 80c1f2a: 4413 add r3, r2 80c1f2c: 3304 adds r3, #4 80c1f2e: e00b b.n 80c1f48 &pdev->ep_out[ep_addr & 0x7FU]; 80c1f30: 7bbb ldrb r3, [r7, #14] 80c1f32: f003 027f and.w r2, r3, #127 ; 0x7f pep = ((ep_addr & 0x80U) == 0x80U) ? &pdev->ep_in[ep_addr & 0x7FU] : \ 80c1f36: 4613 mov r3, r2 80c1f38: 009b lsls r3, r3, #2 80c1f3a: 4413 add r3, r2 80c1f3c: 009b lsls r3, r3, #2 80c1f3e: f503 73a8 add.w r3, r3, #336 ; 0x150 80c1f42: 687a ldr r2, [r7, #4] 80c1f44: 4413 add r3, r2 80c1f46: 3304 adds r3, #4 80c1f48: 60bb str r3, [r7, #8] if ((ep_addr == 0x00U) || (ep_addr == 0x80U)) 80c1f4a: 7bbb ldrb r3, [r7, #14] 80c1f4c: 2b00 cmp r3, #0 80c1f4e: d002 beq.n 80c1f56 80c1f50: 7bbb ldrb r3, [r7, #14] 80c1f52: 2b80 cmp r3, #128 ; 0x80 80c1f54: d103 bne.n 80c1f5e { pep->status = 0x0000U; 80c1f56: 68bb ldr r3, [r7, #8] 80c1f58: 2200 movs r2, #0 80c1f5a: 601a str r2, [r3, #0] 80c1f5c: e00e b.n 80c1f7c } else if (USBD_LL_IsStallEP(pdev, ep_addr) != 0U) 80c1f5e: 7bbb ldrb r3, [r7, #14] 80c1f60: 4619 mov r1, r3 80c1f62: 6878 ldr r0, [r7, #4] 80c1f64: f007 fd9d bl 80c9aa2 80c1f68: 4603 mov r3, r0 80c1f6a: 2b00 cmp r3, #0 80c1f6c: d003 beq.n 80c1f76 { pep->status = 0x0001U; 80c1f6e: 68bb ldr r3, [r7, #8] 80c1f70: 2201 movs r2, #1 80c1f72: 601a str r2, [r3, #0] 80c1f74: e002 b.n 80c1f7c } else { pep->status = 0x0000U; 80c1f76: 68bb ldr r3, [r7, #8] 80c1f78: 2200 movs r2, #0 80c1f7a: 601a str r2, [r3, #0] } (void)USBD_CtlSendData(pdev, (uint8_t *)&pep->status, 2U); 80c1f7c: 68bb ldr r3, [r7, #8] 80c1f7e: 2202 movs r2, #2 80c1f80: 4619 mov r1, r3 80c1f82: 6878 ldr r0, [r7, #4] 80c1f84: f000 fbd9 bl 80c273a break; 80c1f88: e004 b.n 80c1f94 default: USBD_CtlError(pdev, req); 80c1f8a: 6839 ldr r1, [r7, #0] 80c1f8c: 6878 ldr r0, [r7, #4] 80c1f8e: f000 fb63 bl 80c2658 break; 80c1f92: bf00 nop } break; 80c1f94: e004 b.n 80c1fa0 default: USBD_CtlError(pdev, req); 80c1f96: 6839 ldr r1, [r7, #0] 80c1f98: 6878 ldr r0, [r7, #4] 80c1f9a: f000 fb5d bl 80c2658 break; 80c1f9e: bf00 nop } break; 80c1fa0: e004 b.n 80c1fac default: USBD_CtlError(pdev, req); 80c1fa2: 6839 ldr r1, [r7, #0] 80c1fa4: 6878 ldr r0, [r7, #4] 80c1fa6: f000 fb57 bl 80c2658 break; 80c1faa: bf00 nop } return ret; 80c1fac: 7bfb ldrb r3, [r7, #15] } 80c1fae: 4618 mov r0, r3 80c1fb0: 3710 adds r7, #16 80c1fb2: 46bd mov sp, r7 80c1fb4: bd80 pop {r7, pc} ... 080c1fb8 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_GetDescriptor(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c1fb8: b580 push {r7, lr} 80c1fba: b084 sub sp, #16 80c1fbc: af00 add r7, sp, #0 80c1fbe: 6078 str r0, [r7, #4] 80c1fc0: 6039 str r1, [r7, #0] uint16_t len = 0U; 80c1fc2: 2300 movs r3, #0 80c1fc4: 813b strh r3, [r7, #8] uint8_t *pbuf = NULL; 80c1fc6: 2300 movs r3, #0 80c1fc8: 60fb str r3, [r7, #12] uint8_t err = 0U; 80c1fca: 2300 movs r3, #0 80c1fcc: 72fb strb r3, [r7, #11] switch (req->wValue >> 8) 80c1fce: 683b ldr r3, [r7, #0] 80c1fd0: 885b ldrh r3, [r3, #2] 80c1fd2: 0a1b lsrs r3, r3, #8 80c1fd4: b29b uxth r3, r3 80c1fd6: 3b01 subs r3, #1 80c1fd8: 2b0e cmp r3, #14 80c1fda: f200 8152 bhi.w 80c2282 80c1fde: a201 add r2, pc, #4 ; (adr r2, 80c1fe4 ) 80c1fe0: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c1fe4: 080c2055 .word 0x080c2055 80c1fe8: 080c206d .word 0x080c206d 80c1fec: 080c20ad .word 0x080c20ad 80c1ff0: 080c2283 .word 0x080c2283 80c1ff4: 080c2283 .word 0x080c2283 80c1ff8: 080c2223 .word 0x080c2223 80c1ffc: 080c224f .word 0x080c224f 80c2000: 080c2283 .word 0x080c2283 80c2004: 080c2283 .word 0x080c2283 80c2008: 080c2283 .word 0x080c2283 80c200c: 080c2283 .word 0x080c2283 80c2010: 080c2283 .word 0x080c2283 80c2014: 080c2283 .word 0x080c2283 80c2018: 080c2283 .word 0x080c2283 80c201c: 080c2021 .word 0x080c2021 { #if ((USBD_LPM_ENABLED == 1U) || (USBD_CLASS_BOS_ENABLED == 1U)) case USB_DESC_TYPE_BOS: if (pdev->pDesc->GetBOSDescriptor != NULL) 80c2020: 687b ldr r3, [r7, #4] 80c2022: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c2026: 69db ldr r3, [r3, #28] 80c2028: 2b00 cmp r3, #0 80c202a: d00b beq.n 80c2044 { pbuf = pdev->pDesc->GetBOSDescriptor(pdev->dev_speed, &len); 80c202c: 687b ldr r3, [r7, #4] 80c202e: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c2032: 69db ldr r3, [r3, #28] 80c2034: 687a ldr r2, [r7, #4] 80c2036: 7c12 ldrb r2, [r2, #16] 80c2038: f107 0108 add.w r1, r7, #8 80c203c: 4610 mov r0, r2 80c203e: 4798 blx r3 80c2040: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c2042: e126 b.n 80c2292 USBD_CtlError(pdev, req); 80c2044: 6839 ldr r1, [r7, #0] 80c2046: 6878 ldr r0, [r7, #4] 80c2048: f000 fb06 bl 80c2658 err++; 80c204c: 7afb ldrb r3, [r7, #11] 80c204e: 3301 adds r3, #1 80c2050: 72fb strb r3, [r7, #11] break; 80c2052: e11e b.n 80c2292 #endif case USB_DESC_TYPE_DEVICE: pbuf = pdev->pDesc->GetDeviceDescriptor(pdev->dev_speed, &len); 80c2054: 687b ldr r3, [r7, #4] 80c2056: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c205a: 681b ldr r3, [r3, #0] 80c205c: 687a ldr r2, [r7, #4] 80c205e: 7c12 ldrb r2, [r2, #16] 80c2060: f107 0108 add.w r1, r7, #8 80c2064: 4610 mov r0, r2 80c2066: 4798 blx r3 80c2068: 60f8 str r0, [r7, #12] break; 80c206a: e112 b.n 80c2292 case USB_DESC_TYPE_CONFIGURATION: if (pdev->dev_speed == USBD_SPEED_HIGH) 80c206c: 687b ldr r3, [r7, #4] 80c206e: 7c1b ldrb r3, [r3, #16] 80c2070: 2b00 cmp r3, #0 80c2072: d10d bne.n 80c2090 { pbuf = pdev->pClass->GetHSConfigDescriptor(&len); 80c2074: 687b ldr r3, [r7, #4] 80c2076: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c207a: 6a9b ldr r3, [r3, #40] ; 0x28 80c207c: f107 0208 add.w r2, r7, #8 80c2080: 4610 mov r0, r2 80c2082: 4798 blx r3 80c2084: 60f8 str r0, [r7, #12] pbuf[1] = USB_DESC_TYPE_CONFIGURATION; 80c2086: 68fb ldr r3, [r7, #12] 80c2088: 3301 adds r3, #1 80c208a: 2202 movs r2, #2 80c208c: 701a strb r2, [r3, #0] else { pbuf = pdev->pClass->GetFSConfigDescriptor(&len); pbuf[1] = USB_DESC_TYPE_CONFIGURATION; } break; 80c208e: e100 b.n 80c2292 pbuf = pdev->pClass->GetFSConfigDescriptor(&len); 80c2090: 687b ldr r3, [r7, #4] 80c2092: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c2096: 6adb ldr r3, [r3, #44] ; 0x2c 80c2098: f107 0208 add.w r2, r7, #8 80c209c: 4610 mov r0, r2 80c209e: 4798 blx r3 80c20a0: 60f8 str r0, [r7, #12] pbuf[1] = USB_DESC_TYPE_CONFIGURATION; 80c20a2: 68fb ldr r3, [r7, #12] 80c20a4: 3301 adds r3, #1 80c20a6: 2202 movs r2, #2 80c20a8: 701a strb r2, [r3, #0] break; 80c20aa: e0f2 b.n 80c2292 case USB_DESC_TYPE_STRING: switch ((uint8_t)(req->wValue)) 80c20ac: 683b ldr r3, [r7, #0] 80c20ae: 885b ldrh r3, [r3, #2] 80c20b0: b2db uxtb r3, r3 80c20b2: 2b05 cmp r3, #5 80c20b4: f200 80ac bhi.w 80c2210 80c20b8: a201 add r2, pc, #4 ; (adr r2, 80c20c0 ) 80c20ba: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c20be: bf00 nop 80c20c0: 080c20d9 .word 0x080c20d9 80c20c4: 080c210d .word 0x080c210d 80c20c8: 080c2141 .word 0x080c2141 80c20cc: 080c2175 .word 0x080c2175 80c20d0: 080c21a9 .word 0x080c21a9 80c20d4: 080c21dd .word 0x080c21dd { case USBD_IDX_LANGID_STR: if (pdev->pDesc->GetLangIDStrDescriptor != NULL) 80c20d8: 687b ldr r3, [r7, #4] 80c20da: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c20de: 685b ldr r3, [r3, #4] 80c20e0: 2b00 cmp r3, #0 80c20e2: d00b beq.n 80c20fc { pbuf = pdev->pDesc->GetLangIDStrDescriptor(pdev->dev_speed, &len); 80c20e4: 687b ldr r3, [r7, #4] 80c20e6: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c20ea: 685b ldr r3, [r3, #4] 80c20ec: 687a ldr r2, [r7, #4] 80c20ee: 7c12 ldrb r2, [r2, #16] 80c20f0: f107 0108 add.w r1, r7, #8 80c20f4: 4610 mov r0, r2 80c20f6: 4798 blx r3 80c20f8: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c20fa: e091 b.n 80c2220 USBD_CtlError(pdev, req); 80c20fc: 6839 ldr r1, [r7, #0] 80c20fe: 6878 ldr r0, [r7, #4] 80c2100: f000 faaa bl 80c2658 err++; 80c2104: 7afb ldrb r3, [r7, #11] 80c2106: 3301 adds r3, #1 80c2108: 72fb strb r3, [r7, #11] break; 80c210a: e089 b.n 80c2220 case USBD_IDX_MFC_STR: if (pdev->pDesc->GetManufacturerStrDescriptor != NULL) 80c210c: 687b ldr r3, [r7, #4] 80c210e: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c2112: 689b ldr r3, [r3, #8] 80c2114: 2b00 cmp r3, #0 80c2116: d00b beq.n 80c2130 { pbuf = pdev->pDesc->GetManufacturerStrDescriptor(pdev->dev_speed, &len); 80c2118: 687b ldr r3, [r7, #4] 80c211a: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c211e: 689b ldr r3, [r3, #8] 80c2120: 687a ldr r2, [r7, #4] 80c2122: 7c12 ldrb r2, [r2, #16] 80c2124: f107 0108 add.w r1, r7, #8 80c2128: 4610 mov r0, r2 80c212a: 4798 blx r3 80c212c: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c212e: e077 b.n 80c2220 USBD_CtlError(pdev, req); 80c2130: 6839 ldr r1, [r7, #0] 80c2132: 6878 ldr r0, [r7, #4] 80c2134: f000 fa90 bl 80c2658 err++; 80c2138: 7afb ldrb r3, [r7, #11] 80c213a: 3301 adds r3, #1 80c213c: 72fb strb r3, [r7, #11] break; 80c213e: e06f b.n 80c2220 case USBD_IDX_PRODUCT_STR: if (pdev->pDesc->GetProductStrDescriptor != NULL) 80c2140: 687b ldr r3, [r7, #4] 80c2142: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c2146: 68db ldr r3, [r3, #12] 80c2148: 2b00 cmp r3, #0 80c214a: d00b beq.n 80c2164 { pbuf = pdev->pDesc->GetProductStrDescriptor(pdev->dev_speed, &len); 80c214c: 687b ldr r3, [r7, #4] 80c214e: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c2152: 68db ldr r3, [r3, #12] 80c2154: 687a ldr r2, [r7, #4] 80c2156: 7c12 ldrb r2, [r2, #16] 80c2158: f107 0108 add.w r1, r7, #8 80c215c: 4610 mov r0, r2 80c215e: 4798 blx r3 80c2160: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c2162: e05d b.n 80c2220 USBD_CtlError(pdev, req); 80c2164: 6839 ldr r1, [r7, #0] 80c2166: 6878 ldr r0, [r7, #4] 80c2168: f000 fa76 bl 80c2658 err++; 80c216c: 7afb ldrb r3, [r7, #11] 80c216e: 3301 adds r3, #1 80c2170: 72fb strb r3, [r7, #11] break; 80c2172: e055 b.n 80c2220 case USBD_IDX_SERIAL_STR: if (pdev->pDesc->GetSerialStrDescriptor != NULL) 80c2174: 687b ldr r3, [r7, #4] 80c2176: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c217a: 691b ldr r3, [r3, #16] 80c217c: 2b00 cmp r3, #0 80c217e: d00b beq.n 80c2198 { pbuf = pdev->pDesc->GetSerialStrDescriptor(pdev->dev_speed, &len); 80c2180: 687b ldr r3, [r7, #4] 80c2182: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c2186: 691b ldr r3, [r3, #16] 80c2188: 687a ldr r2, [r7, #4] 80c218a: 7c12 ldrb r2, [r2, #16] 80c218c: f107 0108 add.w r1, r7, #8 80c2190: 4610 mov r0, r2 80c2192: 4798 blx r3 80c2194: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c2196: e043 b.n 80c2220 USBD_CtlError(pdev, req); 80c2198: 6839 ldr r1, [r7, #0] 80c219a: 6878 ldr r0, [r7, #4] 80c219c: f000 fa5c bl 80c2658 err++; 80c21a0: 7afb ldrb r3, [r7, #11] 80c21a2: 3301 adds r3, #1 80c21a4: 72fb strb r3, [r7, #11] break; 80c21a6: e03b b.n 80c2220 case USBD_IDX_CONFIG_STR: if (pdev->pDesc->GetConfigurationStrDescriptor != NULL) 80c21a8: 687b ldr r3, [r7, #4] 80c21aa: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c21ae: 695b ldr r3, [r3, #20] 80c21b0: 2b00 cmp r3, #0 80c21b2: d00b beq.n 80c21cc { pbuf = pdev->pDesc->GetConfigurationStrDescriptor(pdev->dev_speed, &len); 80c21b4: 687b ldr r3, [r7, #4] 80c21b6: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c21ba: 695b ldr r3, [r3, #20] 80c21bc: 687a ldr r2, [r7, #4] 80c21be: 7c12 ldrb r2, [r2, #16] 80c21c0: f107 0108 add.w r1, r7, #8 80c21c4: 4610 mov r0, r2 80c21c6: 4798 blx r3 80c21c8: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c21ca: e029 b.n 80c2220 USBD_CtlError(pdev, req); 80c21cc: 6839 ldr r1, [r7, #0] 80c21ce: 6878 ldr r0, [r7, #4] 80c21d0: f000 fa42 bl 80c2658 err++; 80c21d4: 7afb ldrb r3, [r7, #11] 80c21d6: 3301 adds r3, #1 80c21d8: 72fb strb r3, [r7, #11] break; 80c21da: e021 b.n 80c2220 case USBD_IDX_INTERFACE_STR: if (pdev->pDesc->GetInterfaceStrDescriptor != NULL) 80c21dc: 687b ldr r3, [r7, #4] 80c21de: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c21e2: 699b ldr r3, [r3, #24] 80c21e4: 2b00 cmp r3, #0 80c21e6: d00b beq.n 80c2200 { pbuf = pdev->pDesc->GetInterfaceStrDescriptor(pdev->dev_speed, &len); 80c21e8: 687b ldr r3, [r7, #4] 80c21ea: f8d3 32b4 ldr.w r3, [r3, #692] ; 0x2b4 80c21ee: 699b ldr r3, [r3, #24] 80c21f0: 687a ldr r2, [r7, #4] 80c21f2: 7c12 ldrb r2, [r2, #16] 80c21f4: f107 0108 add.w r1, r7, #8 80c21f8: 4610 mov r0, r2 80c21fa: 4798 blx r3 80c21fc: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c21fe: e00f b.n 80c2220 USBD_CtlError(pdev, req); 80c2200: 6839 ldr r1, [r7, #0] 80c2202: 6878 ldr r0, [r7, #4] 80c2204: f000 fa28 bl 80c2658 err++; 80c2208: 7afb ldrb r3, [r7, #11] 80c220a: 3301 adds r3, #1 80c220c: 72fb strb r3, [r7, #11] break; 80c220e: e007 b.n 80c2220 { USBD_CtlError(pdev, req); err++; } #else USBD_CtlError(pdev, req); 80c2210: 6839 ldr r1, [r7, #0] 80c2212: 6878 ldr r0, [r7, #4] 80c2214: f000 fa20 bl 80c2658 err++; 80c2218: 7afb ldrb r3, [r7, #11] 80c221a: 3301 adds r3, #1 80c221c: 72fb strb r3, [r7, #11] #endif break; 80c221e: bf00 nop } break; 80c2220: e037 b.n 80c2292 case USB_DESC_TYPE_DEVICE_QUALIFIER: if (pdev->dev_speed == USBD_SPEED_HIGH) 80c2222: 687b ldr r3, [r7, #4] 80c2224: 7c1b ldrb r3, [r3, #16] 80c2226: 2b00 cmp r3, #0 80c2228: d109 bne.n 80c223e { pbuf = pdev->pClass->GetDeviceQualifierDescriptor(&len); 80c222a: 687b ldr r3, [r7, #4] 80c222c: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c2230: 6b5b ldr r3, [r3, #52] ; 0x34 80c2232: f107 0208 add.w r2, r7, #8 80c2236: 4610 mov r0, r2 80c2238: 4798 blx r3 80c223a: 60f8 str r0, [r7, #12] else { USBD_CtlError(pdev, req); err++; } break; 80c223c: e029 b.n 80c2292 USBD_CtlError(pdev, req); 80c223e: 6839 ldr r1, [r7, #0] 80c2240: 6878 ldr r0, [r7, #4] 80c2242: f000 fa09 bl 80c2658 err++; 80c2246: 7afb ldrb r3, [r7, #11] 80c2248: 3301 adds r3, #1 80c224a: 72fb strb r3, [r7, #11] break; 80c224c: e021 b.n 80c2292 case USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION: if (pdev->dev_speed == USBD_SPEED_HIGH) 80c224e: 687b ldr r3, [r7, #4] 80c2250: 7c1b ldrb r3, [r3, #16] 80c2252: 2b00 cmp r3, #0 80c2254: d10d bne.n 80c2272 { pbuf = pdev->pClass->GetOtherSpeedConfigDescriptor(&len); 80c2256: 687b ldr r3, [r7, #4] 80c2258: f8d3 32b8 ldr.w r3, [r3, #696] ; 0x2b8 80c225c: 6b1b ldr r3, [r3, #48] ; 0x30 80c225e: f107 0208 add.w r2, r7, #8 80c2262: 4610 mov r0, r2 80c2264: 4798 blx r3 80c2266: 60f8 str r0, [r7, #12] pbuf[1] = USB_DESC_TYPE_OTHER_SPEED_CONFIGURATION; 80c2268: 68fb ldr r3, [r7, #12] 80c226a: 3301 adds r3, #1 80c226c: 2207 movs r2, #7 80c226e: 701a strb r2, [r3, #0] else { USBD_CtlError(pdev, req); err++; } break; 80c2270: e00f b.n 80c2292 USBD_CtlError(pdev, req); 80c2272: 6839 ldr r1, [r7, #0] 80c2274: 6878 ldr r0, [r7, #4] 80c2276: f000 f9ef bl 80c2658 err++; 80c227a: 7afb ldrb r3, [r7, #11] 80c227c: 3301 adds r3, #1 80c227e: 72fb strb r3, [r7, #11] break; 80c2280: e007 b.n 80c2292 default: USBD_CtlError(pdev, req); 80c2282: 6839 ldr r1, [r7, #0] 80c2284: 6878 ldr r0, [r7, #4] 80c2286: f000 f9e7 bl 80c2658 err++; 80c228a: 7afb ldrb r3, [r7, #11] 80c228c: 3301 adds r3, #1 80c228e: 72fb strb r3, [r7, #11] break; 80c2290: bf00 nop } if (err != 0U) 80c2292: 7afb ldrb r3, [r7, #11] 80c2294: 2b00 cmp r3, #0 80c2296: d11e bne.n 80c22d6 { return; } else { if (req->wLength != 0U) 80c2298: 683b ldr r3, [r7, #0] 80c229a: 88db ldrh r3, [r3, #6] 80c229c: 2b00 cmp r3, #0 80c229e: d016 beq.n 80c22ce { if (len != 0U) 80c22a0: 893b ldrh r3, [r7, #8] 80c22a2: 2b00 cmp r3, #0 80c22a4: d00e beq.n 80c22c4 { len = MIN(len, req->wLength); 80c22a6: 683b ldr r3, [r7, #0] 80c22a8: 88da ldrh r2, [r3, #6] 80c22aa: 893b ldrh r3, [r7, #8] 80c22ac: 4293 cmp r3, r2 80c22ae: bf28 it cs 80c22b0: 4613 movcs r3, r2 80c22b2: b29b uxth r3, r3 80c22b4: 813b strh r3, [r7, #8] (void)USBD_CtlSendData(pdev, pbuf, len); 80c22b6: 893b ldrh r3, [r7, #8] 80c22b8: 461a mov r2, r3 80c22ba: 68f9 ldr r1, [r7, #12] 80c22bc: 6878 ldr r0, [r7, #4] 80c22be: f000 fa3c bl 80c273a 80c22c2: e009 b.n 80c22d8 } else { USBD_CtlError(pdev, req); 80c22c4: 6839 ldr r1, [r7, #0] 80c22c6: 6878 ldr r0, [r7, #4] 80c22c8: f000 f9c6 bl 80c2658 80c22cc: e004 b.n 80c22d8 } } else { (void)USBD_CtlSendStatus(pdev); 80c22ce: 6878 ldr r0, [r7, #4] 80c22d0: f000 fa70 bl 80c27b4 80c22d4: e000 b.n 80c22d8 return; 80c22d6: bf00 nop } } } 80c22d8: 3710 adds r7, #16 80c22da: 46bd mov sp, r7 80c22dc: bd80 pop {r7, pc} 80c22de: bf00 nop 080c22e0 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_SetAddress(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c22e0: b580 push {r7, lr} 80c22e2: b084 sub sp, #16 80c22e4: af00 add r7, sp, #0 80c22e6: 6078 str r0, [r7, #4] 80c22e8: 6039 str r1, [r7, #0] uint8_t dev_addr; if ((req->wIndex == 0U) && (req->wLength == 0U) && (req->wValue < 128U)) 80c22ea: 683b ldr r3, [r7, #0] 80c22ec: 889b ldrh r3, [r3, #4] 80c22ee: 2b00 cmp r3, #0 80c22f0: d130 bne.n 80c2354 80c22f2: 683b ldr r3, [r7, #0] 80c22f4: 88db ldrh r3, [r3, #6] 80c22f6: 2b00 cmp r3, #0 80c22f8: d12c bne.n 80c2354 80c22fa: 683b ldr r3, [r7, #0] 80c22fc: 885b ldrh r3, [r3, #2] 80c22fe: 2b7f cmp r3, #127 ; 0x7f 80c2300: d828 bhi.n 80c2354 { dev_addr = (uint8_t)(req->wValue) & 0x7FU; 80c2302: 683b ldr r3, [r7, #0] 80c2304: 885b ldrh r3, [r3, #2] 80c2306: b2db uxtb r3, r3 80c2308: f003 037f and.w r3, r3, #127 ; 0x7f 80c230c: 73fb strb r3, [r7, #15] if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c230e: 687b ldr r3, [r7, #4] 80c2310: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c2314: 2b03 cmp r3, #3 80c2316: d104 bne.n 80c2322 { USBD_CtlError(pdev, req); 80c2318: 6839 ldr r1, [r7, #0] 80c231a: 6878 ldr r0, [r7, #4] 80c231c: f000 f99c bl 80c2658 if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c2320: e01c b.n 80c235c } else { pdev->dev_address = dev_addr; 80c2322: 687b ldr r3, [r7, #4] 80c2324: 7bfa ldrb r2, [r7, #15] 80c2326: f883 229e strb.w r2, [r3, #670] ; 0x29e (void)USBD_LL_SetUSBAddress(pdev, dev_addr); 80c232a: 7bfb ldrb r3, [r7, #15] 80c232c: 4619 mov r1, r3 80c232e: 6878 ldr r0, [r7, #4] 80c2330: f007 fbe3 bl 80c9afa (void)USBD_CtlSendStatus(pdev); 80c2334: 6878 ldr r0, [r7, #4] 80c2336: f000 fa3d bl 80c27b4 if (dev_addr != 0U) 80c233a: 7bfb ldrb r3, [r7, #15] 80c233c: 2b00 cmp r3, #0 80c233e: d004 beq.n 80c234a { pdev->dev_state = USBD_STATE_ADDRESSED; 80c2340: 687b ldr r3, [r7, #4] 80c2342: 2202 movs r2, #2 80c2344: f883 229c strb.w r2, [r3, #668] ; 0x29c if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c2348: e008 b.n 80c235c } else { pdev->dev_state = USBD_STATE_DEFAULT; 80c234a: 687b ldr r3, [r7, #4] 80c234c: 2201 movs r2, #1 80c234e: f883 229c strb.w r2, [r3, #668] ; 0x29c if (pdev->dev_state == USBD_STATE_CONFIGURED) 80c2352: e003 b.n 80c235c } } } else { USBD_CtlError(pdev, req); 80c2354: 6839 ldr r1, [r7, #0] 80c2356: 6878 ldr r0, [r7, #4] 80c2358: f000 f97e bl 80c2658 } } 80c235c: bf00 nop 80c235e: 3710 adds r7, #16 80c2360: 46bd mov sp, r7 80c2362: bd80 pop {r7, pc} 080c2364 : * @param pdev: device instance * @param req: usb request * @retval status */ static USBD_StatusTypeDef USBD_SetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c2364: b580 push {r7, lr} 80c2366: b084 sub sp, #16 80c2368: af00 add r7, sp, #0 80c236a: 6078 str r0, [r7, #4] 80c236c: 6039 str r1, [r7, #0] USBD_StatusTypeDef ret = USBD_OK; 80c236e: 2300 movs r3, #0 80c2370: 73fb strb r3, [r7, #15] static uint8_t cfgidx; cfgidx = (uint8_t)(req->wValue); 80c2372: 683b ldr r3, [r7, #0] 80c2374: 885b ldrh r3, [r3, #2] 80c2376: b2da uxtb r2, r3 80c2378: 4b4b ldr r3, [pc, #300] ; (80c24a8 ) 80c237a: 701a strb r2, [r3, #0] if (cfgidx > USBD_MAX_NUM_CONFIGURATION) 80c237c: 4b4a ldr r3, [pc, #296] ; (80c24a8 ) 80c237e: 781b ldrb r3, [r3, #0] 80c2380: 2b01 cmp r3, #1 80c2382: d905 bls.n 80c2390 { USBD_CtlError(pdev, req); 80c2384: 6839 ldr r1, [r7, #0] 80c2386: 6878 ldr r0, [r7, #4] 80c2388: f000 f966 bl 80c2658 return USBD_FAIL; 80c238c: 2303 movs r3, #3 80c238e: e087 b.n 80c24a0 } switch (pdev->dev_state) 80c2390: 687b ldr r3, [r7, #4] 80c2392: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c2396: 2b02 cmp r3, #2 80c2398: d002 beq.n 80c23a0 80c239a: 2b03 cmp r3, #3 80c239c: d025 beq.n 80c23ea 80c239e: e071 b.n 80c2484 { case USBD_STATE_ADDRESSED: if (cfgidx != 0U) 80c23a0: 4b41 ldr r3, [pc, #260] ; (80c24a8 ) 80c23a2: 781b ldrb r3, [r3, #0] 80c23a4: 2b00 cmp r3, #0 80c23a6: d01c beq.n 80c23e2 { pdev->dev_config = cfgidx; 80c23a8: 4b3f ldr r3, [pc, #252] ; (80c24a8 ) 80c23aa: 781b ldrb r3, [r3, #0] 80c23ac: 461a mov r2, r3 80c23ae: 687b ldr r3, [r7, #4] 80c23b0: 605a str r2, [r3, #4] ret = USBD_SetClassConfig(pdev, cfgidx); 80c23b2: 4b3d ldr r3, [pc, #244] ; (80c24a8 ) 80c23b4: 781b ldrb r3, [r3, #0] 80c23b6: 4619 mov r1, r3 80c23b8: 6878 ldr r0, [r7, #4] 80c23ba: f7ff f97e bl 80c16ba 80c23be: 4603 mov r3, r0 80c23c0: 73fb strb r3, [r7, #15] if (ret != USBD_OK) 80c23c2: 7bfb ldrb r3, [r7, #15] 80c23c4: 2b00 cmp r3, #0 80c23c6: d004 beq.n 80c23d2 { USBD_CtlError(pdev, req); 80c23c8: 6839 ldr r1, [r7, #0] 80c23ca: 6878 ldr r0, [r7, #4] 80c23cc: f000 f944 bl 80c2658 } else { (void)USBD_CtlSendStatus(pdev); } break; 80c23d0: e065 b.n 80c249e (void)USBD_CtlSendStatus(pdev); 80c23d2: 6878 ldr r0, [r7, #4] 80c23d4: f000 f9ee bl 80c27b4 pdev->dev_state = USBD_STATE_CONFIGURED; 80c23d8: 687b ldr r3, [r7, #4] 80c23da: 2203 movs r2, #3 80c23dc: f883 229c strb.w r2, [r3, #668] ; 0x29c break; 80c23e0: e05d b.n 80c249e (void)USBD_CtlSendStatus(pdev); 80c23e2: 6878 ldr r0, [r7, #4] 80c23e4: f000 f9e6 bl 80c27b4 break; 80c23e8: e059 b.n 80c249e case USBD_STATE_CONFIGURED: if (cfgidx == 0U) 80c23ea: 4b2f ldr r3, [pc, #188] ; (80c24a8 ) 80c23ec: 781b ldrb r3, [r3, #0] 80c23ee: 2b00 cmp r3, #0 80c23f0: d112 bne.n 80c2418 { pdev->dev_state = USBD_STATE_ADDRESSED; 80c23f2: 687b ldr r3, [r7, #4] 80c23f4: 2202 movs r2, #2 80c23f6: f883 229c strb.w r2, [r3, #668] ; 0x29c pdev->dev_config = cfgidx; 80c23fa: 4b2b ldr r3, [pc, #172] ; (80c24a8 ) 80c23fc: 781b ldrb r3, [r3, #0] 80c23fe: 461a mov r2, r3 80c2400: 687b ldr r3, [r7, #4] 80c2402: 605a str r2, [r3, #4] (void)USBD_ClrClassConfig(pdev, cfgidx); 80c2404: 4b28 ldr r3, [pc, #160] ; (80c24a8 ) 80c2406: 781b ldrb r3, [r3, #0] 80c2408: 4619 mov r1, r3 80c240a: 6878 ldr r0, [r7, #4] 80c240c: f7ff f971 bl 80c16f2 (void)USBD_CtlSendStatus(pdev); 80c2410: 6878 ldr r0, [r7, #4] 80c2412: f000 f9cf bl 80c27b4 } else { (void)USBD_CtlSendStatus(pdev); } break; 80c2416: e042 b.n 80c249e else if (cfgidx != pdev->dev_config) 80c2418: 4b23 ldr r3, [pc, #140] ; (80c24a8 ) 80c241a: 781b ldrb r3, [r3, #0] 80c241c: 461a mov r2, r3 80c241e: 687b ldr r3, [r7, #4] 80c2420: 685b ldr r3, [r3, #4] 80c2422: 429a cmp r2, r3 80c2424: d02a beq.n 80c247c (void)USBD_ClrClassConfig(pdev, (uint8_t)pdev->dev_config); 80c2426: 687b ldr r3, [r7, #4] 80c2428: 685b ldr r3, [r3, #4] 80c242a: b2db uxtb r3, r3 80c242c: 4619 mov r1, r3 80c242e: 6878 ldr r0, [r7, #4] 80c2430: f7ff f95f bl 80c16f2 pdev->dev_config = cfgidx; 80c2434: 4b1c ldr r3, [pc, #112] ; (80c24a8 ) 80c2436: 781b ldrb r3, [r3, #0] 80c2438: 461a mov r2, r3 80c243a: 687b ldr r3, [r7, #4] 80c243c: 605a str r2, [r3, #4] ret = USBD_SetClassConfig(pdev, cfgidx); 80c243e: 4b1a ldr r3, [pc, #104] ; (80c24a8 ) 80c2440: 781b ldrb r3, [r3, #0] 80c2442: 4619 mov r1, r3 80c2444: 6878 ldr r0, [r7, #4] 80c2446: f7ff f938 bl 80c16ba 80c244a: 4603 mov r3, r0 80c244c: 73fb strb r3, [r7, #15] if (ret != USBD_OK) 80c244e: 7bfb ldrb r3, [r7, #15] 80c2450: 2b00 cmp r3, #0 80c2452: d00f beq.n 80c2474 USBD_CtlError(pdev, req); 80c2454: 6839 ldr r1, [r7, #0] 80c2456: 6878 ldr r0, [r7, #4] 80c2458: f000 f8fe bl 80c2658 (void)USBD_ClrClassConfig(pdev, (uint8_t)pdev->dev_config); 80c245c: 687b ldr r3, [r7, #4] 80c245e: 685b ldr r3, [r3, #4] 80c2460: b2db uxtb r3, r3 80c2462: 4619 mov r1, r3 80c2464: 6878 ldr r0, [r7, #4] 80c2466: f7ff f944 bl 80c16f2 pdev->dev_state = USBD_STATE_ADDRESSED; 80c246a: 687b ldr r3, [r7, #4] 80c246c: 2202 movs r2, #2 80c246e: f883 229c strb.w r2, [r3, #668] ; 0x29c break; 80c2472: e014 b.n 80c249e (void)USBD_CtlSendStatus(pdev); 80c2474: 6878 ldr r0, [r7, #4] 80c2476: f000 f99d bl 80c27b4 break; 80c247a: e010 b.n 80c249e (void)USBD_CtlSendStatus(pdev); 80c247c: 6878 ldr r0, [r7, #4] 80c247e: f000 f999 bl 80c27b4 break; 80c2482: e00c b.n 80c249e default: USBD_CtlError(pdev, req); 80c2484: 6839 ldr r1, [r7, #0] 80c2486: 6878 ldr r0, [r7, #4] 80c2488: f000 f8e6 bl 80c2658 (void)USBD_ClrClassConfig(pdev, cfgidx); 80c248c: 4b06 ldr r3, [pc, #24] ; (80c24a8 ) 80c248e: 781b ldrb r3, [r3, #0] 80c2490: 4619 mov r1, r3 80c2492: 6878 ldr r0, [r7, #4] 80c2494: f7ff f92d bl 80c16f2 ret = USBD_FAIL; 80c2498: 2303 movs r3, #3 80c249a: 73fb strb r3, [r7, #15] break; 80c249c: bf00 nop } return ret; 80c249e: 7bfb ldrb r3, [r7, #15] } 80c24a0: 4618 mov r0, r3 80c24a2: 3710 adds r7, #16 80c24a4: 46bd mov sp, r7 80c24a6: bd80 pop {r7, pc} 80c24a8: 200216a8 .word 0x200216a8 080c24ac : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_GetConfig(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c24ac: b580 push {r7, lr} 80c24ae: b082 sub sp, #8 80c24b0: af00 add r7, sp, #0 80c24b2: 6078 str r0, [r7, #4] 80c24b4: 6039 str r1, [r7, #0] if (req->wLength != 1U) 80c24b6: 683b ldr r3, [r7, #0] 80c24b8: 88db ldrh r3, [r3, #6] 80c24ba: 2b01 cmp r3, #1 80c24bc: d004 beq.n 80c24c8 { USBD_CtlError(pdev, req); 80c24be: 6839 ldr r1, [r7, #0] 80c24c0: 6878 ldr r0, [r7, #4] 80c24c2: f000 f8c9 bl 80c2658 default: USBD_CtlError(pdev, req); break; } } } 80c24c6: e021 b.n 80c250c switch (pdev->dev_state) 80c24c8: 687b ldr r3, [r7, #4] 80c24ca: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c24ce: 2b01 cmp r3, #1 80c24d0: db17 blt.n 80c2502 80c24d2: 2b02 cmp r3, #2 80c24d4: dd02 ble.n 80c24dc 80c24d6: 2b03 cmp r3, #3 80c24d8: d00b beq.n 80c24f2 80c24da: e012 b.n 80c2502 pdev->dev_default_config = 0U; 80c24dc: 687b ldr r3, [r7, #4] 80c24de: 2200 movs r2, #0 80c24e0: 609a str r2, [r3, #8] (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_default_config, 1U); 80c24e2: 687b ldr r3, [r7, #4] 80c24e4: 3308 adds r3, #8 80c24e6: 2201 movs r2, #1 80c24e8: 4619 mov r1, r3 80c24ea: 6878 ldr r0, [r7, #4] 80c24ec: f000 f925 bl 80c273a break; 80c24f0: e00c b.n 80c250c (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_config, 1U); 80c24f2: 687b ldr r3, [r7, #4] 80c24f4: 3304 adds r3, #4 80c24f6: 2201 movs r2, #1 80c24f8: 4619 mov r1, r3 80c24fa: 6878 ldr r0, [r7, #4] 80c24fc: f000 f91d bl 80c273a break; 80c2500: e004 b.n 80c250c USBD_CtlError(pdev, req); 80c2502: 6839 ldr r1, [r7, #0] 80c2504: 6878 ldr r0, [r7, #4] 80c2506: f000 f8a7 bl 80c2658 break; 80c250a: bf00 nop } 80c250c: bf00 nop 80c250e: 3708 adds r7, #8 80c2510: 46bd mov sp, r7 80c2512: bd80 pop {r7, pc} 080c2514 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_GetStatus(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c2514: b580 push {r7, lr} 80c2516: b082 sub sp, #8 80c2518: af00 add r7, sp, #0 80c251a: 6078 str r0, [r7, #4] 80c251c: 6039 str r1, [r7, #0] switch (pdev->dev_state) 80c251e: 687b ldr r3, [r7, #4] 80c2520: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c2524: 3b01 subs r3, #1 80c2526: 2b02 cmp r3, #2 80c2528: d81e bhi.n 80c2568 { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (req->wLength != 0x2U) 80c252a: 683b ldr r3, [r7, #0] 80c252c: 88db ldrh r3, [r3, #6] 80c252e: 2b02 cmp r3, #2 80c2530: d004 beq.n 80c253c { USBD_CtlError(pdev, req); 80c2532: 6839 ldr r1, [r7, #0] 80c2534: 6878 ldr r0, [r7, #4] 80c2536: f000 f88f bl 80c2658 break; 80c253a: e01a b.n 80c2572 } #if (USBD_SELF_POWERED == 1U) pdev->dev_config_status = USB_CONFIG_SELF_POWERED; 80c253c: 687b ldr r3, [r7, #4] 80c253e: 2201 movs r2, #1 80c2540: 60da str r2, [r3, #12] #else pdev->dev_config_status = 0U; #endif if (pdev->dev_remote_wakeup != 0U) 80c2542: 687b ldr r3, [r7, #4] 80c2544: f8d3 32a4 ldr.w r3, [r3, #676] ; 0x2a4 80c2548: 2b00 cmp r3, #0 80c254a: d005 beq.n 80c2558 { pdev->dev_config_status |= USB_CONFIG_REMOTE_WAKEUP; 80c254c: 687b ldr r3, [r7, #4] 80c254e: 68db ldr r3, [r3, #12] 80c2550: f043 0202 orr.w r2, r3, #2 80c2554: 687b ldr r3, [r7, #4] 80c2556: 60da str r2, [r3, #12] } (void)USBD_CtlSendData(pdev, (uint8_t *)&pdev->dev_config_status, 2U); 80c2558: 687b ldr r3, [r7, #4] 80c255a: 330c adds r3, #12 80c255c: 2202 movs r2, #2 80c255e: 4619 mov r1, r3 80c2560: 6878 ldr r0, [r7, #4] 80c2562: f000 f8ea bl 80c273a break; 80c2566: e004 b.n 80c2572 default: USBD_CtlError(pdev, req); 80c2568: 6839 ldr r1, [r7, #0] 80c256a: 6878 ldr r0, [r7, #4] 80c256c: f000 f874 bl 80c2658 break; 80c2570: bf00 nop } } 80c2572: bf00 nop 80c2574: 3708 adds r7, #8 80c2576: 46bd mov sp, r7 80c2578: bd80 pop {r7, pc} 080c257a : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_SetFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c257a: b580 push {r7, lr} 80c257c: b082 sub sp, #8 80c257e: af00 add r7, sp, #0 80c2580: 6078 str r0, [r7, #4] 80c2582: 6039 str r1, [r7, #0] if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) 80c2584: 683b ldr r3, [r7, #0] 80c2586: 885b ldrh r3, [r3, #2] 80c2588: 2b01 cmp r3, #1 80c258a: d106 bne.n 80c259a { pdev->dev_remote_wakeup = 1U; 80c258c: 687b ldr r3, [r7, #4] 80c258e: 2201 movs r2, #1 80c2590: f8c3 22a4 str.w r2, [r3, #676] ; 0x2a4 (void)USBD_CtlSendStatus(pdev); 80c2594: 6878 ldr r0, [r7, #4] 80c2596: f000 f90d bl 80c27b4 } } 80c259a: bf00 nop 80c259c: 3708 adds r7, #8 80c259e: 46bd mov sp, r7 80c25a0: bd80 pop {r7, pc} 080c25a2 : * @param pdev: device instance * @param req: usb request * @retval status */ static void USBD_ClrFeature(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c25a2: b580 push {r7, lr} 80c25a4: b082 sub sp, #8 80c25a6: af00 add r7, sp, #0 80c25a8: 6078 str r0, [r7, #4] 80c25aa: 6039 str r1, [r7, #0] switch (pdev->dev_state) 80c25ac: 687b ldr r3, [r7, #4] 80c25ae: f893 329c ldrb.w r3, [r3, #668] ; 0x29c 80c25b2: 3b01 subs r3, #1 80c25b4: 2b02 cmp r3, #2 80c25b6: d80b bhi.n 80c25d0 { case USBD_STATE_DEFAULT: case USBD_STATE_ADDRESSED: case USBD_STATE_CONFIGURED: if (req->wValue == USB_FEATURE_REMOTE_WAKEUP) 80c25b8: 683b ldr r3, [r7, #0] 80c25ba: 885b ldrh r3, [r3, #2] 80c25bc: 2b01 cmp r3, #1 80c25be: d10c bne.n 80c25da { pdev->dev_remote_wakeup = 0U; 80c25c0: 687b ldr r3, [r7, #4] 80c25c2: 2200 movs r2, #0 80c25c4: f8c3 22a4 str.w r2, [r3, #676] ; 0x2a4 (void)USBD_CtlSendStatus(pdev); 80c25c8: 6878 ldr r0, [r7, #4] 80c25ca: f000 f8f3 bl 80c27b4 } break; 80c25ce: e004 b.n 80c25da default: USBD_CtlError(pdev, req); 80c25d0: 6839 ldr r1, [r7, #0] 80c25d2: 6878 ldr r0, [r7, #4] 80c25d4: f000 f840 bl 80c2658 break; 80c25d8: e000 b.n 80c25dc break; 80c25da: bf00 nop } } 80c25dc: bf00 nop 80c25de: 3708 adds r7, #8 80c25e0: 46bd mov sp, r7 80c25e2: bd80 pop {r7, pc} 080c25e4 : * @param req: usb request * @retval None */ void USBD_ParseSetupRequest(USBD_SetupReqTypedef *req, uint8_t *pdata) { 80c25e4: b580 push {r7, lr} 80c25e6: b084 sub sp, #16 80c25e8: af00 add r7, sp, #0 80c25ea: 6078 str r0, [r7, #4] 80c25ec: 6039 str r1, [r7, #0] uint8_t *pbuff = pdata; 80c25ee: 683b ldr r3, [r7, #0] 80c25f0: 60fb str r3, [r7, #12] req->bmRequest = *(uint8_t *)(pbuff); 80c25f2: 68fb ldr r3, [r7, #12] 80c25f4: 781a ldrb r2, [r3, #0] 80c25f6: 687b ldr r3, [r7, #4] 80c25f8: 701a strb r2, [r3, #0] pbuff++; 80c25fa: 68fb ldr r3, [r7, #12] 80c25fc: 3301 adds r3, #1 80c25fe: 60fb str r3, [r7, #12] req->bRequest = *(uint8_t *)(pbuff); 80c2600: 68fb ldr r3, [r7, #12] 80c2602: 781a ldrb r2, [r3, #0] 80c2604: 687b ldr r3, [r7, #4] 80c2606: 705a strb r2, [r3, #1] pbuff++; 80c2608: 68fb ldr r3, [r7, #12] 80c260a: 3301 adds r3, #1 80c260c: 60fb str r3, [r7, #12] req->wValue = SWAPBYTE(pbuff); 80c260e: 68f8 ldr r0, [r7, #12] 80c2610: f7ff faaa bl 80c1b68 80c2614: 4603 mov r3, r0 80c2616: 461a mov r2, r3 80c2618: 687b ldr r3, [r7, #4] 80c261a: 805a strh r2, [r3, #2] pbuff++; 80c261c: 68fb ldr r3, [r7, #12] 80c261e: 3301 adds r3, #1 80c2620: 60fb str r3, [r7, #12] pbuff++; 80c2622: 68fb ldr r3, [r7, #12] 80c2624: 3301 adds r3, #1 80c2626: 60fb str r3, [r7, #12] req->wIndex = SWAPBYTE(pbuff); 80c2628: 68f8 ldr r0, [r7, #12] 80c262a: f7ff fa9d bl 80c1b68 80c262e: 4603 mov r3, r0 80c2630: 461a mov r2, r3 80c2632: 687b ldr r3, [r7, #4] 80c2634: 809a strh r2, [r3, #4] pbuff++; 80c2636: 68fb ldr r3, [r7, #12] 80c2638: 3301 adds r3, #1 80c263a: 60fb str r3, [r7, #12] pbuff++; 80c263c: 68fb ldr r3, [r7, #12] 80c263e: 3301 adds r3, #1 80c2640: 60fb str r3, [r7, #12] req->wLength = SWAPBYTE(pbuff); 80c2642: 68f8 ldr r0, [r7, #12] 80c2644: f7ff fa90 bl 80c1b68 80c2648: 4603 mov r3, r0 80c264a: 461a mov r2, r3 80c264c: 687b ldr r3, [r7, #4] 80c264e: 80da strh r2, [r3, #6] } 80c2650: bf00 nop 80c2652: 3710 adds r7, #16 80c2654: 46bd mov sp, r7 80c2656: bd80 pop {r7, pc} 080c2658 : * @param req: usb request * @retval None */ void USBD_CtlError(USBD_HandleTypeDef *pdev, USBD_SetupReqTypedef *req) { 80c2658: b580 push {r7, lr} 80c265a: b082 sub sp, #8 80c265c: af00 add r7, sp, #0 80c265e: 6078 str r0, [r7, #4] 80c2660: 6039 str r1, [r7, #0] UNUSED(req); (void)USBD_LL_StallEP(pdev, 0x80U); 80c2662: 2180 movs r1, #128 ; 0x80 80c2664: 6878 ldr r0, [r7, #4] 80c2666: f007 f9de bl 80c9a26 (void)USBD_LL_StallEP(pdev, 0U); 80c266a: 2100 movs r1, #0 80c266c: 6878 ldr r0, [r7, #4] 80c266e: f007 f9da bl 80c9a26 } 80c2672: bf00 nop 80c2674: 3708 adds r7, #8 80c2676: 46bd mov sp, r7 80c2678: bd80 pop {r7, pc} 080c267a : * @param unicode : Formatted string buffer (unicode) * @param len : descriptor length * @retval None */ void USBD_GetString(uint8_t *desc, uint8_t *unicode, uint16_t *len) { 80c267a: b580 push {r7, lr} 80c267c: b086 sub sp, #24 80c267e: af00 add r7, sp, #0 80c2680: 60f8 str r0, [r7, #12] 80c2682: 60b9 str r1, [r7, #8] 80c2684: 607a str r2, [r7, #4] uint8_t idx = 0U; 80c2686: 2300 movs r3, #0 80c2688: 75fb strb r3, [r7, #23] uint8_t *pdesc; if (desc == NULL) 80c268a: 68fb ldr r3, [r7, #12] 80c268c: 2b00 cmp r3, #0 80c268e: d036 beq.n 80c26fe { return; } pdesc = desc; 80c2690: 68fb ldr r3, [r7, #12] 80c2692: 613b str r3, [r7, #16] *len = ((uint16_t)USBD_GetLen(pdesc) * 2U) + 2U; 80c2694: 6938 ldr r0, [r7, #16] 80c2696: f000 f836 bl 80c2706 80c269a: 4603 mov r3, r0 80c269c: 3301 adds r3, #1 80c269e: b29b uxth r3, r3 80c26a0: 005b lsls r3, r3, #1 80c26a2: b29a uxth r2, r3 80c26a4: 687b ldr r3, [r7, #4] 80c26a6: 801a strh r2, [r3, #0] unicode[idx] = *(uint8_t *)len; 80c26a8: 7dfb ldrb r3, [r7, #23] 80c26aa: 68ba ldr r2, [r7, #8] 80c26ac: 4413 add r3, r2 80c26ae: 687a ldr r2, [r7, #4] 80c26b0: 7812 ldrb r2, [r2, #0] 80c26b2: 701a strb r2, [r3, #0] idx++; 80c26b4: 7dfb ldrb r3, [r7, #23] 80c26b6: 3301 adds r3, #1 80c26b8: 75fb strb r3, [r7, #23] unicode[idx] = USB_DESC_TYPE_STRING; 80c26ba: 7dfb ldrb r3, [r7, #23] 80c26bc: 68ba ldr r2, [r7, #8] 80c26be: 4413 add r3, r2 80c26c0: 2203 movs r2, #3 80c26c2: 701a strb r2, [r3, #0] idx++; 80c26c4: 7dfb ldrb r3, [r7, #23] 80c26c6: 3301 adds r3, #1 80c26c8: 75fb strb r3, [r7, #23] while (*pdesc != (uint8_t)'\0') 80c26ca: e013 b.n 80c26f4 { unicode[idx] = *pdesc; 80c26cc: 7dfb ldrb r3, [r7, #23] 80c26ce: 68ba ldr r2, [r7, #8] 80c26d0: 4413 add r3, r2 80c26d2: 693a ldr r2, [r7, #16] 80c26d4: 7812 ldrb r2, [r2, #0] 80c26d6: 701a strb r2, [r3, #0] pdesc++; 80c26d8: 693b ldr r3, [r7, #16] 80c26da: 3301 adds r3, #1 80c26dc: 613b str r3, [r7, #16] idx++; 80c26de: 7dfb ldrb r3, [r7, #23] 80c26e0: 3301 adds r3, #1 80c26e2: 75fb strb r3, [r7, #23] unicode[idx] = 0U; 80c26e4: 7dfb ldrb r3, [r7, #23] 80c26e6: 68ba ldr r2, [r7, #8] 80c26e8: 4413 add r3, r2 80c26ea: 2200 movs r2, #0 80c26ec: 701a strb r2, [r3, #0] idx++; 80c26ee: 7dfb ldrb r3, [r7, #23] 80c26f0: 3301 adds r3, #1 80c26f2: 75fb strb r3, [r7, #23] while (*pdesc != (uint8_t)'\0') 80c26f4: 693b ldr r3, [r7, #16] 80c26f6: 781b ldrb r3, [r3, #0] 80c26f8: 2b00 cmp r3, #0 80c26fa: d1e7 bne.n 80c26cc 80c26fc: e000 b.n 80c2700 return; 80c26fe: bf00 nop } } 80c2700: 3718 adds r7, #24 80c2702: 46bd mov sp, r7 80c2704: bd80 pop {r7, pc} 080c2706 : * return the string length * @param buf : pointer to the ascii string buffer * @retval string length */ static uint8_t USBD_GetLen(uint8_t *buf) { 80c2706: b480 push {r7} 80c2708: b085 sub sp, #20 80c270a: af00 add r7, sp, #0 80c270c: 6078 str r0, [r7, #4] uint8_t len = 0U; 80c270e: 2300 movs r3, #0 80c2710: 73fb strb r3, [r7, #15] uint8_t *pbuff = buf; 80c2712: 687b ldr r3, [r7, #4] 80c2714: 60bb str r3, [r7, #8] while (*pbuff != (uint8_t)'\0') 80c2716: e005 b.n 80c2724 { len++; 80c2718: 7bfb ldrb r3, [r7, #15] 80c271a: 3301 adds r3, #1 80c271c: 73fb strb r3, [r7, #15] pbuff++; 80c271e: 68bb ldr r3, [r7, #8] 80c2720: 3301 adds r3, #1 80c2722: 60bb str r3, [r7, #8] while (*pbuff != (uint8_t)'\0') 80c2724: 68bb ldr r3, [r7, #8] 80c2726: 781b ldrb r3, [r3, #0] 80c2728: 2b00 cmp r3, #0 80c272a: d1f5 bne.n 80c2718 } return len; 80c272c: 7bfb ldrb r3, [r7, #15] } 80c272e: 4618 mov r0, r3 80c2730: 3714 adds r7, #20 80c2732: 46bd mov sp, r7 80c2734: f85d 7b04 ldr.w r7, [sp], #4 80c2738: 4770 bx lr 080c273a : * @param len: length of data to be sent * @retval status */ USBD_StatusTypeDef USBD_CtlSendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { 80c273a: b580 push {r7, lr} 80c273c: b084 sub sp, #16 80c273e: af00 add r7, sp, #0 80c2740: 60f8 str r0, [r7, #12] 80c2742: 60b9 str r1, [r7, #8] 80c2744: 607a str r2, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_DATA_IN; 80c2746: 68fb ldr r3, [r7, #12] 80c2748: 2202 movs r2, #2 80c274a: f8c3 2294 str.w r2, [r3, #660] ; 0x294 pdev->ep_in[0].total_length = len; 80c274e: 68fb ldr r3, [r7, #12] 80c2750: 687a ldr r2, [r7, #4] 80c2752: 619a str r2, [r3, #24] pdev->ep_in[0].rem_length = len; 80c2754: 68fb ldr r3, [r7, #12] 80c2756: 687a ldr r2, [r7, #4] 80c2758: 61da str r2, [r3, #28] /* Start the transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); 80c275a: 687b ldr r3, [r7, #4] 80c275c: 68ba ldr r2, [r7, #8] 80c275e: 2100 movs r1, #0 80c2760: 68f8 ldr r0, [r7, #12] 80c2762: f007 f9e9 bl 80c9b38 return USBD_OK; 80c2766: 2300 movs r3, #0 } 80c2768: 4618 mov r0, r3 80c276a: 3710 adds r7, #16 80c276c: 46bd mov sp, r7 80c276e: bd80 pop {r7, pc} 080c2770 : * @param len: length of data to be sent * @retval status */ USBD_StatusTypeDef USBD_CtlContinueSendData(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { 80c2770: b580 push {r7, lr} 80c2772: b084 sub sp, #16 80c2774: af00 add r7, sp, #0 80c2776: 60f8 str r0, [r7, #12] 80c2778: 60b9 str r1, [r7, #8] 80c277a: 607a str r2, [r7, #4] /* Start the next transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, pbuf, len); 80c277c: 687b ldr r3, [r7, #4] 80c277e: 68ba ldr r2, [r7, #8] 80c2780: 2100 movs r1, #0 80c2782: 68f8 ldr r0, [r7, #12] 80c2784: f007 f9d8 bl 80c9b38 return USBD_OK; 80c2788: 2300 movs r3, #0 } 80c278a: 4618 mov r0, r3 80c278c: 3710 adds r7, #16 80c278e: 46bd mov sp, r7 80c2790: bd80 pop {r7, pc} 080c2792 : * @param len: length of data to be received * @retval status */ USBD_StatusTypeDef USBD_CtlContinueRx(USBD_HandleTypeDef *pdev, uint8_t *pbuf, uint32_t len) { 80c2792: b580 push {r7, lr} 80c2794: b084 sub sp, #16 80c2796: af00 add r7, sp, #0 80c2798: 60f8 str r0, [r7, #12] 80c279a: 60b9 str r1, [r7, #8] 80c279c: 607a str r2, [r7, #4] (void)USBD_LL_PrepareReceive(pdev, 0U, pbuf, len); 80c279e: 687b ldr r3, [r7, #4] 80c27a0: 68ba ldr r2, [r7, #8] 80c27a2: 2100 movs r1, #0 80c27a4: 68f8 ldr r0, [r7, #12] 80c27a6: f007 f9e8 bl 80c9b7a return USBD_OK; 80c27aa: 2300 movs r3, #0 } 80c27ac: 4618 mov r0, r3 80c27ae: 3710 adds r7, #16 80c27b0: 46bd mov sp, r7 80c27b2: bd80 pop {r7, pc} 080c27b4 : * send zero lzngth packet on the ctl pipe * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_CtlSendStatus(USBD_HandleTypeDef *pdev) { 80c27b4: b580 push {r7, lr} 80c27b6: b082 sub sp, #8 80c27b8: af00 add r7, sp, #0 80c27ba: 6078 str r0, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_STATUS_IN; 80c27bc: 687b ldr r3, [r7, #4] 80c27be: 2204 movs r2, #4 80c27c0: f8c3 2294 str.w r2, [r3, #660] ; 0x294 /* Start the transfer */ (void)USBD_LL_Transmit(pdev, 0x00U, NULL, 0U); 80c27c4: 2300 movs r3, #0 80c27c6: 2200 movs r2, #0 80c27c8: 2100 movs r1, #0 80c27ca: 6878 ldr r0, [r7, #4] 80c27cc: f007 f9b4 bl 80c9b38 return USBD_OK; 80c27d0: 2300 movs r3, #0 } 80c27d2: 4618 mov r0, r3 80c27d4: 3708 adds r7, #8 80c27d6: 46bd mov sp, r7 80c27d8: bd80 pop {r7, pc} 080c27da : * receive zero lzngth packet on the ctl pipe * @param pdev: device instance * @retval status */ USBD_StatusTypeDef USBD_CtlReceiveStatus(USBD_HandleTypeDef *pdev) { 80c27da: b580 push {r7, lr} 80c27dc: b082 sub sp, #8 80c27de: af00 add r7, sp, #0 80c27e0: 6078 str r0, [r7, #4] /* Set EP0 State */ pdev->ep0_state = USBD_EP0_STATUS_OUT; 80c27e2: 687b ldr r3, [r7, #4] 80c27e4: 2205 movs r2, #5 80c27e6: f8c3 2294 str.w r2, [r3, #660] ; 0x294 /* Start the transfer */ (void)USBD_LL_PrepareReceive(pdev, 0U, NULL, 0U); 80c27ea: 2300 movs r3, #0 80c27ec: 2200 movs r2, #0 80c27ee: 2100 movs r1, #0 80c27f0: 6878 ldr r0, [r7, #4] 80c27f2: f007 f9c2 bl 80c9b7a return USBD_OK; 80c27f6: 2300 movs r3, #0 } 80c27f8: 4618 mov r0, r3 80c27fa: 3708 adds r7, #8 80c27fc: 46bd mov sp, r7 80c27fe: bd80 pop {r7, pc} 080c2800 : * @retval DSTATUS: Operation status */ DSTATUS disk_status ( BYTE pdrv /* Physical drive number to identify the drive */ ) { 80c2800: b580 push {r7, lr} 80c2802: b084 sub sp, #16 80c2804: af00 add r7, sp, #0 80c2806: 4603 mov r3, r0 80c2808: 71fb strb r3, [r7, #7] DSTATUS stat; stat = disk.drv[pdrv]->disk_status(disk.lun[pdrv]); 80c280a: 79fb ldrb r3, [r7, #7] 80c280c: 4a08 ldr r2, [pc, #32] ; (80c2830 ) 80c280e: 009b lsls r3, r3, #2 80c2810: 4413 add r3, r2 80c2812: 685b ldr r3, [r3, #4] 80c2814: 685b ldr r3, [r3, #4] 80c2816: 79fa ldrb r2, [r7, #7] 80c2818: 4905 ldr r1, [pc, #20] ; (80c2830 ) 80c281a: 440a add r2, r1 80c281c: 7a12 ldrb r2, [r2, #8] 80c281e: 4610 mov r0, r2 80c2820: 4798 blx r3 80c2822: 4603 mov r3, r0 80c2824: 73fb strb r3, [r7, #15] return stat; 80c2826: 7bfb ldrb r3, [r7, #15] } 80c2828: 4618 mov r0, r3 80c282a: 3710 adds r7, #16 80c282c: 46bd mov sp, r7 80c282e: bd80 pop {r7, pc} 80c2830: 20021b14 .word 0x20021b14 080c2834 : * @retval DSTATUS: Operation status */ DSTATUS disk_initialize ( BYTE pdrv /* Physical drive nmuber to identify the drive */ ) { 80c2834: b580 push {r7, lr} 80c2836: b084 sub sp, #16 80c2838: af00 add r7, sp, #0 80c283a: 4603 mov r3, r0 80c283c: 71fb strb r3, [r7, #7] DSTATUS stat = RES_OK; 80c283e: 2300 movs r3, #0 80c2840: 73fb strb r3, [r7, #15] if(disk.is_initialized[pdrv] == 0) 80c2842: 79fb ldrb r3, [r7, #7] 80c2844: 4a0d ldr r2, [pc, #52] ; (80c287c ) 80c2846: 5cd3 ldrb r3, [r2, r3] 80c2848: 2b00 cmp r3, #0 80c284a: d111 bne.n 80c2870 { disk.is_initialized[pdrv] = 1; 80c284c: 79fb ldrb r3, [r7, #7] 80c284e: 4a0b ldr r2, [pc, #44] ; (80c287c ) 80c2850: 2101 movs r1, #1 80c2852: 54d1 strb r1, [r2, r3] stat = disk.drv[pdrv]->disk_initialize(disk.lun[pdrv]); 80c2854: 79fb ldrb r3, [r7, #7] 80c2856: 4a09 ldr r2, [pc, #36] ; (80c287c ) 80c2858: 009b lsls r3, r3, #2 80c285a: 4413 add r3, r2 80c285c: 685b ldr r3, [r3, #4] 80c285e: 681b ldr r3, [r3, #0] 80c2860: 79fa ldrb r2, [r7, #7] 80c2862: 4906 ldr r1, [pc, #24] ; (80c287c ) 80c2864: 440a add r2, r1 80c2866: 7a12 ldrb r2, [r2, #8] 80c2868: 4610 mov r0, r2 80c286a: 4798 blx r3 80c286c: 4603 mov r3, r0 80c286e: 73fb strb r3, [r7, #15] } return stat; 80c2870: 7bfb ldrb r3, [r7, #15] } 80c2872: 4618 mov r0, r3 80c2874: 3710 adds r7, #16 80c2876: 46bd mov sp, r7 80c2878: bd80 pop {r7, pc} 80c287a: bf00 nop 80c287c: 20021b14 .word 0x20021b14 080c2880 : BYTE pdrv, /* Physical drive nmuber to identify the drive */ BYTE *buff, /* Data buffer to store read data */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to read */ ) { 80c2880: b590 push {r4, r7, lr} 80c2882: b087 sub sp, #28 80c2884: af00 add r7, sp, #0 80c2886: 60b9 str r1, [r7, #8] 80c2888: 607a str r2, [r7, #4] 80c288a: 603b str r3, [r7, #0] 80c288c: 4603 mov r3, r0 80c288e: 73fb strb r3, [r7, #15] DRESULT res; res = disk.drv[pdrv]->disk_read(disk.lun[pdrv], buff, sector, count); 80c2890: 7bfb ldrb r3, [r7, #15] 80c2892: 4a0a ldr r2, [pc, #40] ; (80c28bc ) 80c2894: 009b lsls r3, r3, #2 80c2896: 4413 add r3, r2 80c2898: 685b ldr r3, [r3, #4] 80c289a: 689c ldr r4, [r3, #8] 80c289c: 7bfb ldrb r3, [r7, #15] 80c289e: 4a07 ldr r2, [pc, #28] ; (80c28bc ) 80c28a0: 4413 add r3, r2 80c28a2: 7a18 ldrb r0, [r3, #8] 80c28a4: 683b ldr r3, [r7, #0] 80c28a6: 687a ldr r2, [r7, #4] 80c28a8: 68b9 ldr r1, [r7, #8] 80c28aa: 47a0 blx r4 80c28ac: 4603 mov r3, r0 80c28ae: 75fb strb r3, [r7, #23] return res; 80c28b0: 7dfb ldrb r3, [r7, #23] } 80c28b2: 4618 mov r0, r3 80c28b4: 371c adds r7, #28 80c28b6: 46bd mov sp, r7 80c28b8: bd90 pop {r4, r7, pc} 80c28ba: bf00 nop 80c28bc: 20021b14 .word 0x20021b14 080c28c0 : BYTE pdrv, /* Physical drive nmuber to identify the drive */ const BYTE *buff, /* Data to be written */ DWORD sector, /* Sector address in LBA */ UINT count /* Number of sectors to write */ ) { 80c28c0: b590 push {r4, r7, lr} 80c28c2: b087 sub sp, #28 80c28c4: af00 add r7, sp, #0 80c28c6: 60b9 str r1, [r7, #8] 80c28c8: 607a str r2, [r7, #4] 80c28ca: 603b str r3, [r7, #0] 80c28cc: 4603 mov r3, r0 80c28ce: 73fb strb r3, [r7, #15] DRESULT res; res = disk.drv[pdrv]->disk_write(disk.lun[pdrv], buff, sector, count); 80c28d0: 7bfb ldrb r3, [r7, #15] 80c28d2: 4a0a ldr r2, [pc, #40] ; (80c28fc ) 80c28d4: 009b lsls r3, r3, #2 80c28d6: 4413 add r3, r2 80c28d8: 685b ldr r3, [r3, #4] 80c28da: 68dc ldr r4, [r3, #12] 80c28dc: 7bfb ldrb r3, [r7, #15] 80c28de: 4a07 ldr r2, [pc, #28] ; (80c28fc ) 80c28e0: 4413 add r3, r2 80c28e2: 7a18 ldrb r0, [r3, #8] 80c28e4: 683b ldr r3, [r7, #0] 80c28e6: 687a ldr r2, [r7, #4] 80c28e8: 68b9 ldr r1, [r7, #8] 80c28ea: 47a0 blx r4 80c28ec: 4603 mov r3, r0 80c28ee: 75fb strb r3, [r7, #23] return res; 80c28f0: 7dfb ldrb r3, [r7, #23] } 80c28f2: 4618 mov r0, r3 80c28f4: 371c adds r7, #28 80c28f6: 46bd mov sp, r7 80c28f8: bd90 pop {r4, r7, pc} 80c28fa: bf00 nop 80c28fc: 20021b14 .word 0x20021b14 080c2900 : DRESULT disk_ioctl ( BYTE pdrv, /* Physical drive nmuber (0..) */ BYTE cmd, /* Control code */ void *buff /* Buffer to send/receive control data */ ) { 80c2900: b580 push {r7, lr} 80c2902: b084 sub sp, #16 80c2904: af00 add r7, sp, #0 80c2906: 4603 mov r3, r0 80c2908: 603a str r2, [r7, #0] 80c290a: 71fb strb r3, [r7, #7] 80c290c: 460b mov r3, r1 80c290e: 71bb strb r3, [r7, #6] DRESULT res; res = disk.drv[pdrv]->disk_ioctl(disk.lun[pdrv], cmd, buff); 80c2910: 79fb ldrb r3, [r7, #7] 80c2912: 4a09 ldr r2, [pc, #36] ; (80c2938 ) 80c2914: 009b lsls r3, r3, #2 80c2916: 4413 add r3, r2 80c2918: 685b ldr r3, [r3, #4] 80c291a: 691b ldr r3, [r3, #16] 80c291c: 79fa ldrb r2, [r7, #7] 80c291e: 4906 ldr r1, [pc, #24] ; (80c2938 ) 80c2920: 440a add r2, r1 80c2922: 7a10 ldrb r0, [r2, #8] 80c2924: 79b9 ldrb r1, [r7, #6] 80c2926: 683a ldr r2, [r7, #0] 80c2928: 4798 blx r3 80c292a: 4603 mov r3, r0 80c292c: 73fb strb r3, [r7, #15] return res; 80c292e: 7bfb ldrb r3, [r7, #15] } 80c2930: 4618 mov r0, r3 80c2932: 3710 adds r7, #16 80c2934: 46bd mov sp, r7 80c2936: bd80 pop {r7, pc} 80c2938: 20021b14 .word 0x20021b14 080c293c : /* Load/Store multi-byte word in the FAT structure */ /*-----------------------------------------------------------------------*/ static WORD ld_word (const BYTE* ptr) /* Load a 2-byte little-endian word */ { 80c293c: b480 push {r7} 80c293e: b085 sub sp, #20 80c2940: af00 add r7, sp, #0 80c2942: 6078 str r0, [r7, #4] WORD rv; rv = ptr[1]; 80c2944: 687b ldr r3, [r7, #4] 80c2946: 3301 adds r3, #1 80c2948: 781b ldrb r3, [r3, #0] 80c294a: 81fb strh r3, [r7, #14] rv = rv << 8 | ptr[0]; 80c294c: 89fb ldrh r3, [r7, #14] 80c294e: 021b lsls r3, r3, #8 80c2950: b21a sxth r2, r3 80c2952: 687b ldr r3, [r7, #4] 80c2954: 781b ldrb r3, [r3, #0] 80c2956: b21b sxth r3, r3 80c2958: 4313 orrs r3, r2 80c295a: b21b sxth r3, r3 80c295c: 81fb strh r3, [r7, #14] return rv; 80c295e: 89fb ldrh r3, [r7, #14] } 80c2960: 4618 mov r0, r3 80c2962: 3714 adds r7, #20 80c2964: 46bd mov sp, r7 80c2966: f85d 7b04 ldr.w r7, [sp], #4 80c296a: 4770 bx lr 080c296c : static DWORD ld_dword (const BYTE* ptr) /* Load a 4-byte little-endian word */ { 80c296c: b480 push {r7} 80c296e: b085 sub sp, #20 80c2970: af00 add r7, sp, #0 80c2972: 6078 str r0, [r7, #4] DWORD rv; rv = ptr[3]; 80c2974: 687b ldr r3, [r7, #4] 80c2976: 3303 adds r3, #3 80c2978: 781b ldrb r3, [r3, #0] 80c297a: 60fb str r3, [r7, #12] rv = rv << 8 | ptr[2]; 80c297c: 68fb ldr r3, [r7, #12] 80c297e: 021b lsls r3, r3, #8 80c2980: 687a ldr r2, [r7, #4] 80c2982: 3202 adds r2, #2 80c2984: 7812 ldrb r2, [r2, #0] 80c2986: 4313 orrs r3, r2 80c2988: 60fb str r3, [r7, #12] rv = rv << 8 | ptr[1]; 80c298a: 68fb ldr r3, [r7, #12] 80c298c: 021b lsls r3, r3, #8 80c298e: 687a ldr r2, [r7, #4] 80c2990: 3201 adds r2, #1 80c2992: 7812 ldrb r2, [r2, #0] 80c2994: 4313 orrs r3, r2 80c2996: 60fb str r3, [r7, #12] rv = rv << 8 | ptr[0]; 80c2998: 68fb ldr r3, [r7, #12] 80c299a: 021b lsls r3, r3, #8 80c299c: 687a ldr r2, [r7, #4] 80c299e: 7812 ldrb r2, [r2, #0] 80c29a0: 4313 orrs r3, r2 80c29a2: 60fb str r3, [r7, #12] return rv; 80c29a4: 68fb ldr r3, [r7, #12] } 80c29a6: 4618 mov r0, r3 80c29a8: 3714 adds r7, #20 80c29aa: 46bd mov sp, r7 80c29ac: f85d 7b04 ldr.w r7, [sp], #4 80c29b0: 4770 bx lr 080c29b2 : #if _FS_EXFAT static QWORD ld_qword (const BYTE* ptr) /* Load an 8-byte little-endian word */ { 80c29b2: e92d 0ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c29b6: b08a sub sp, #40 ; 0x28 80c29b8: af00 add r7, sp, #0 80c29ba: 61f8 str r0, [r7, #28] QWORD rv; rv = ptr[7]; 80c29bc: 69fb ldr r3, [r7, #28] 80c29be: 3307 adds r3, #7 80c29c0: 781b ldrb r3, [r3, #0] 80c29c2: b2db uxtb r3, r3 80c29c4: f04f 0400 mov.w r4, #0 80c29c8: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[6]; 80c29cc: e9d7 3408 ldrd r3, r4, [r7, #32] 80c29d0: 0222 lsls r2, r4, #8 80c29d2: ea42 6213 orr.w r2, r2, r3, lsr #24 80c29d6: 0219 lsls r1, r3, #8 80c29d8: 69fb ldr r3, [r7, #28] 80c29da: 3306 adds r3, #6 80c29dc: 781b ldrb r3, [r3, #0] 80c29de: b2db uxtb r3, r3 80c29e0: f04f 0400 mov.w r4, #0 80c29e4: ea43 0301 orr.w r3, r3, r1 80c29e8: ea44 0402 orr.w r4, r4, r2 80c29ec: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[5]; 80c29f0: e9d7 3408 ldrd r3, r4, [r7, #32] 80c29f4: 0222 lsls r2, r4, #8 80c29f6: 617a str r2, [r7, #20] 80c29f8: 697a ldr r2, [r7, #20] 80c29fa: ea42 6213 orr.w r2, r2, r3, lsr #24 80c29fe: 617a str r2, [r7, #20] 80c2a00: 021b lsls r3, r3, #8 80c2a02: 613b str r3, [r7, #16] 80c2a04: 69fb ldr r3, [r7, #28] 80c2a06: 3305 adds r3, #5 80c2a08: 781b ldrb r3, [r3, #0] 80c2a0a: b2db uxtb r3, r3 80c2a0c: f04f 0400 mov.w r4, #0 80c2a10: e9d7 1204 ldrd r1, r2, [r7, #16] 80c2a14: ea41 0103 orr.w r1, r1, r3 80c2a18: ea42 0204 orr.w r2, r2, r4 80c2a1c: 460b mov r3, r1 80c2a1e: 4614 mov r4, r2 80c2a20: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[4]; 80c2a24: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2a28: 0222 lsls r2, r4, #8 80c2a2a: 60fa str r2, [r7, #12] 80c2a2c: 68fa ldr r2, [r7, #12] 80c2a2e: ea42 6213 orr.w r2, r2, r3, lsr #24 80c2a32: 60fa str r2, [r7, #12] 80c2a34: 021b lsls r3, r3, #8 80c2a36: 60bb str r3, [r7, #8] 80c2a38: 69fb ldr r3, [r7, #28] 80c2a3a: 3304 adds r3, #4 80c2a3c: 781b ldrb r3, [r3, #0] 80c2a3e: b2db uxtb r3, r3 80c2a40: f04f 0400 mov.w r4, #0 80c2a44: e9d7 1202 ldrd r1, r2, [r7, #8] 80c2a48: ea41 0103 orr.w r1, r1, r3 80c2a4c: ea42 0204 orr.w r2, r2, r4 80c2a50: 460b mov r3, r1 80c2a52: 4614 mov r4, r2 80c2a54: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[3]; 80c2a58: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2a5c: 0222 lsls r2, r4, #8 80c2a5e: 607a str r2, [r7, #4] 80c2a60: 687a ldr r2, [r7, #4] 80c2a62: ea42 6213 orr.w r2, r2, r3, lsr #24 80c2a66: 607a str r2, [r7, #4] 80c2a68: 021b lsls r3, r3, #8 80c2a6a: 603b str r3, [r7, #0] 80c2a6c: 69fb ldr r3, [r7, #28] 80c2a6e: 3303 adds r3, #3 80c2a70: 781b ldrb r3, [r3, #0] 80c2a72: b2db uxtb r3, r3 80c2a74: f04f 0400 mov.w r4, #0 80c2a78: e897 0006 ldmia.w r7, {r1, r2} 80c2a7c: ea41 0103 orr.w r1, r1, r3 80c2a80: ea42 0204 orr.w r2, r2, r4 80c2a84: 460b mov r3, r1 80c2a86: 4614 mov r4, r2 80c2a88: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[2]; 80c2a8c: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2a90: ea4f 2b04 mov.w fp, r4, lsl #8 80c2a94: ea4b 6b13 orr.w fp, fp, r3, lsr #24 80c2a98: ea4f 2a03 mov.w sl, r3, lsl #8 80c2a9c: 69fb ldr r3, [r7, #28] 80c2a9e: 3302 adds r3, #2 80c2aa0: 781b ldrb r3, [r3, #0] 80c2aa2: b2db uxtb r3, r3 80c2aa4: f04f 0400 mov.w r4, #0 80c2aa8: ea43 030a orr.w r3, r3, sl 80c2aac: ea44 040b orr.w r4, r4, fp 80c2ab0: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[1]; 80c2ab4: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2ab8: ea4f 2904 mov.w r9, r4, lsl #8 80c2abc: ea49 6913 orr.w r9, r9, r3, lsr #24 80c2ac0: ea4f 2803 mov.w r8, r3, lsl #8 80c2ac4: 69fb ldr r3, [r7, #28] 80c2ac6: 3301 adds r3, #1 80c2ac8: 781b ldrb r3, [r3, #0] 80c2aca: b2db uxtb r3, r3 80c2acc: f04f 0400 mov.w r4, #0 80c2ad0: ea43 0308 orr.w r3, r3, r8 80c2ad4: ea44 0409 orr.w r4, r4, r9 80c2ad8: e9c7 3408 strd r3, r4, [r7, #32] rv = rv << 8 | ptr[0]; 80c2adc: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2ae0: 0226 lsls r6, r4, #8 80c2ae2: ea46 6613 orr.w r6, r6, r3, lsr #24 80c2ae6: 021d lsls r5, r3, #8 80c2ae8: 69fb ldr r3, [r7, #28] 80c2aea: 781b ldrb r3, [r3, #0] 80c2aec: b2db uxtb r3, r3 80c2aee: f04f 0400 mov.w r4, #0 80c2af2: ea43 0305 orr.w r3, r3, r5 80c2af6: ea44 0406 orr.w r4, r4, r6 80c2afa: e9c7 3408 strd r3, r4, [r7, #32] return rv; 80c2afe: e9d7 3408 ldrd r3, r4, [r7, #32] } 80c2b02: 4618 mov r0, r3 80c2b04: 4621 mov r1, r4 80c2b06: 3728 adds r7, #40 ; 0x28 80c2b08: 46bd mov sp, r7 80c2b0a: e8bd 0ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c2b0e: 4770 bx lr 080c2b10 : #endif #if !_FS_READONLY static void st_word (BYTE* ptr, WORD val) /* Store a 2-byte word in little-endian */ { 80c2b10: b480 push {r7} 80c2b12: b083 sub sp, #12 80c2b14: af00 add r7, sp, #0 80c2b16: 6078 str r0, [r7, #4] 80c2b18: 460b mov r3, r1 80c2b1a: 807b strh r3, [r7, #2] *ptr++ = (BYTE)val; val >>= 8; 80c2b1c: 687b ldr r3, [r7, #4] 80c2b1e: 1c5a adds r2, r3, #1 80c2b20: 607a str r2, [r7, #4] 80c2b22: 887a ldrh r2, [r7, #2] 80c2b24: b2d2 uxtb r2, r2 80c2b26: 701a strb r2, [r3, #0] 80c2b28: 887b ldrh r3, [r7, #2] 80c2b2a: 0a1b lsrs r3, r3, #8 80c2b2c: 807b strh r3, [r7, #2] *ptr++ = (BYTE)val; 80c2b2e: 687b ldr r3, [r7, #4] 80c2b30: 1c5a adds r2, r3, #1 80c2b32: 607a str r2, [r7, #4] 80c2b34: 887a ldrh r2, [r7, #2] 80c2b36: b2d2 uxtb r2, r2 80c2b38: 701a strb r2, [r3, #0] } 80c2b3a: bf00 nop 80c2b3c: 370c adds r7, #12 80c2b3e: 46bd mov sp, r7 80c2b40: f85d 7b04 ldr.w r7, [sp], #4 80c2b44: 4770 bx lr 080c2b46 : static void st_dword (BYTE* ptr, DWORD val) /* Store a 4-byte word in little-endian */ { 80c2b46: b480 push {r7} 80c2b48: b083 sub sp, #12 80c2b4a: af00 add r7, sp, #0 80c2b4c: 6078 str r0, [r7, #4] 80c2b4e: 6039 str r1, [r7, #0] *ptr++ = (BYTE)val; val >>= 8; 80c2b50: 687b ldr r3, [r7, #4] 80c2b52: 1c5a adds r2, r3, #1 80c2b54: 607a str r2, [r7, #4] 80c2b56: 683a ldr r2, [r7, #0] 80c2b58: b2d2 uxtb r2, r2 80c2b5a: 701a strb r2, [r3, #0] 80c2b5c: 683b ldr r3, [r7, #0] 80c2b5e: 0a1b lsrs r3, r3, #8 80c2b60: 603b str r3, [r7, #0] *ptr++ = (BYTE)val; val >>= 8; 80c2b62: 687b ldr r3, [r7, #4] 80c2b64: 1c5a adds r2, r3, #1 80c2b66: 607a str r2, [r7, #4] 80c2b68: 683a ldr r2, [r7, #0] 80c2b6a: b2d2 uxtb r2, r2 80c2b6c: 701a strb r2, [r3, #0] 80c2b6e: 683b ldr r3, [r7, #0] 80c2b70: 0a1b lsrs r3, r3, #8 80c2b72: 603b str r3, [r7, #0] *ptr++ = (BYTE)val; val >>= 8; 80c2b74: 687b ldr r3, [r7, #4] 80c2b76: 1c5a adds r2, r3, #1 80c2b78: 607a str r2, [r7, #4] 80c2b7a: 683a ldr r2, [r7, #0] 80c2b7c: b2d2 uxtb r2, r2 80c2b7e: 701a strb r2, [r3, #0] 80c2b80: 683b ldr r3, [r7, #0] 80c2b82: 0a1b lsrs r3, r3, #8 80c2b84: 603b str r3, [r7, #0] *ptr++ = (BYTE)val; 80c2b86: 687b ldr r3, [r7, #4] 80c2b88: 1c5a adds r2, r3, #1 80c2b8a: 607a str r2, [r7, #4] 80c2b8c: 683a ldr r2, [r7, #0] 80c2b8e: b2d2 uxtb r2, r2 80c2b90: 701a strb r2, [r3, #0] } 80c2b92: bf00 nop 80c2b94: 370c adds r7, #12 80c2b96: 46bd mov sp, r7 80c2b98: f85d 7b04 ldr.w r7, [sp], #4 80c2b9c: 4770 bx lr 080c2b9e : #if _FS_EXFAT static void st_qword (BYTE* ptr, QWORD val) /* Store an 8-byte word in little-endian */ { 80c2b9e: e92d 0ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c2ba2: b08c sub sp, #48 ; 0x30 80c2ba4: af00 add r7, sp, #0 80c2ba6: 62f8 str r0, [r7, #44] ; 0x2c 80c2ba8: e9c7 2308 strd r2, r3, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2bac: 6afa ldr r2, [r7, #44] ; 0x2c 80c2bae: 1c53 adds r3, r2, #1 80c2bb0: 62fb str r3, [r7, #44] ; 0x2c 80c2bb2: f897 3020 ldrb.w r3, [r7, #32] 80c2bb6: 7013 strb r3, [r2, #0] 80c2bb8: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2bbc: 0a1d lsrs r5, r3, #8 80c2bbe: ea45 6504 orr.w r5, r5, r4, lsl #24 80c2bc2: 0a26 lsrs r6, r4, #8 80c2bc4: e9c7 5608 strd r5, r6, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2bc8: 6afa ldr r2, [r7, #44] ; 0x2c 80c2bca: 1c53 adds r3, r2, #1 80c2bcc: 62fb str r3, [r7, #44] ; 0x2c 80c2bce: f897 3020 ldrb.w r3, [r7, #32] 80c2bd2: 7013 strb r3, [r2, #0] 80c2bd4: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2bd8: 0a1a lsrs r2, r3, #8 80c2bda: 61ba str r2, [r7, #24] 80c2bdc: 69ba ldr r2, [r7, #24] 80c2bde: ea42 6204 orr.w r2, r2, r4, lsl #24 80c2be2: 61ba str r2, [r7, #24] 80c2be4: 0a23 lsrs r3, r4, #8 80c2be6: 61fb str r3, [r7, #28] 80c2be8: e9d7 3406 ldrd r3, r4, [r7, #24] 80c2bec: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2bf0: 6afb ldr r3, [r7, #44] ; 0x2c 80c2bf2: 1c5a adds r2, r3, #1 80c2bf4: 62fa str r2, [r7, #44] ; 0x2c 80c2bf6: f897 2020 ldrb.w r2, [r7, #32] 80c2bfa: 701a strb r2, [r3, #0] 80c2bfc: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2c00: 0a1a lsrs r2, r3, #8 80c2c02: 613a str r2, [r7, #16] 80c2c04: 693a ldr r2, [r7, #16] 80c2c06: ea42 6204 orr.w r2, r2, r4, lsl #24 80c2c0a: 613a str r2, [r7, #16] 80c2c0c: 0a23 lsrs r3, r4, #8 80c2c0e: 617b str r3, [r7, #20] 80c2c10: e9d7 3404 ldrd r3, r4, [r7, #16] 80c2c14: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2c18: 6afb ldr r3, [r7, #44] ; 0x2c 80c2c1a: 1c5a adds r2, r3, #1 80c2c1c: 62fa str r2, [r7, #44] ; 0x2c 80c2c1e: f897 2020 ldrb.w r2, [r7, #32] 80c2c22: 701a strb r2, [r3, #0] 80c2c24: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2c28: 0a1a lsrs r2, r3, #8 80c2c2a: 60ba str r2, [r7, #8] 80c2c2c: 68ba ldr r2, [r7, #8] 80c2c2e: ea42 6204 orr.w r2, r2, r4, lsl #24 80c2c32: 60ba str r2, [r7, #8] 80c2c34: 0a23 lsrs r3, r4, #8 80c2c36: 60fb str r3, [r7, #12] 80c2c38: e9d7 3402 ldrd r3, r4, [r7, #8] 80c2c3c: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2c40: 6afb ldr r3, [r7, #44] ; 0x2c 80c2c42: 1c5a adds r2, r3, #1 80c2c44: 62fa str r2, [r7, #44] ; 0x2c 80c2c46: f897 2020 ldrb.w r2, [r7, #32] 80c2c4a: 701a strb r2, [r3, #0] 80c2c4c: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2c50: 0a1a lsrs r2, r3, #8 80c2c52: 603a str r2, [r7, #0] 80c2c54: 683a ldr r2, [r7, #0] 80c2c56: ea42 6204 orr.w r2, r2, r4, lsl #24 80c2c5a: 603a str r2, [r7, #0] 80c2c5c: 0a23 lsrs r3, r4, #8 80c2c5e: 607b str r3, [r7, #4] 80c2c60: e897 0018 ldmia.w r7, {r3, r4} 80c2c64: e9c7 3408 strd r3, r4, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2c68: 6afb ldr r3, [r7, #44] ; 0x2c 80c2c6a: 1c5a adds r2, r3, #1 80c2c6c: 62fa str r2, [r7, #44] ; 0x2c 80c2c6e: f897 2020 ldrb.w r2, [r7, #32] 80c2c72: 701a strb r2, [r3, #0] 80c2c74: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2c78: ea4f 2a13 mov.w sl, r3, lsr #8 80c2c7c: ea4a 6a04 orr.w sl, sl, r4, lsl #24 80c2c80: ea4f 2b14 mov.w fp, r4, lsr #8 80c2c84: e9c7 ab08 strd sl, fp, [r7, #32] *ptr++ = (BYTE)val; val >>= 8; 80c2c88: 6afb ldr r3, [r7, #44] ; 0x2c 80c2c8a: 1c5a adds r2, r3, #1 80c2c8c: 62fa str r2, [r7, #44] ; 0x2c 80c2c8e: f897 2020 ldrb.w r2, [r7, #32] 80c2c92: 701a strb r2, [r3, #0] 80c2c94: e9d7 3408 ldrd r3, r4, [r7, #32] 80c2c98: ea4f 2813 mov.w r8, r3, lsr #8 80c2c9c: ea48 6804 orr.w r8, r8, r4, lsl #24 80c2ca0: ea4f 2914 mov.w r9, r4, lsr #8 80c2ca4: e9c7 8908 strd r8, r9, [r7, #32] *ptr++ = (BYTE)val; 80c2ca8: 6afb ldr r3, [r7, #44] ; 0x2c 80c2caa: 1c5a adds r2, r3, #1 80c2cac: 62fa str r2, [r7, #44] ; 0x2c 80c2cae: f897 2020 ldrb.w r2, [r7, #32] 80c2cb2: 701a strb r2, [r3, #0] } 80c2cb4: bf00 nop 80c2cb6: 3730 adds r7, #48 ; 0x30 80c2cb8: 46bd mov sp, r7 80c2cba: e8bd 0ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp} 80c2cbe: 4770 bx lr 080c2cc0 : /* String functions */ /*-----------------------------------------------------------------------*/ /* Copy memory to memory */ static void mem_cpy (void* dst, const void* src, UINT cnt) { 80c2cc0: b480 push {r7} 80c2cc2: b087 sub sp, #28 80c2cc4: af00 add r7, sp, #0 80c2cc6: 60f8 str r0, [r7, #12] 80c2cc8: 60b9 str r1, [r7, #8] 80c2cca: 607a str r2, [r7, #4] BYTE *d = (BYTE*)dst; 80c2ccc: 68fb ldr r3, [r7, #12] 80c2cce: 617b str r3, [r7, #20] const BYTE *s = (const BYTE*)src; 80c2cd0: 68bb ldr r3, [r7, #8] 80c2cd2: 613b str r3, [r7, #16] if (cnt) { 80c2cd4: 687b ldr r3, [r7, #4] 80c2cd6: 2b00 cmp r3, #0 80c2cd8: d00d beq.n 80c2cf6 do { *d++ = *s++; 80c2cda: 697b ldr r3, [r7, #20] 80c2cdc: 1c5a adds r2, r3, #1 80c2cde: 617a str r2, [r7, #20] 80c2ce0: 693a ldr r2, [r7, #16] 80c2ce2: 1c51 adds r1, r2, #1 80c2ce4: 6139 str r1, [r7, #16] 80c2ce6: 7812 ldrb r2, [r2, #0] 80c2ce8: 701a strb r2, [r3, #0] } while (--cnt); 80c2cea: 687b ldr r3, [r7, #4] 80c2cec: 3b01 subs r3, #1 80c2cee: 607b str r3, [r7, #4] 80c2cf0: 687b ldr r3, [r7, #4] 80c2cf2: 2b00 cmp r3, #0 80c2cf4: d1f1 bne.n 80c2cda } } 80c2cf6: bf00 nop 80c2cf8: 371c adds r7, #28 80c2cfa: 46bd mov sp, r7 80c2cfc: f85d 7b04 ldr.w r7, [sp], #4 80c2d00: 4770 bx lr 080c2d02 : /* Fill memory block */ static void mem_set (void* dst, int val, UINT cnt) { 80c2d02: b480 push {r7} 80c2d04: b087 sub sp, #28 80c2d06: af00 add r7, sp, #0 80c2d08: 60f8 str r0, [r7, #12] 80c2d0a: 60b9 str r1, [r7, #8] 80c2d0c: 607a str r2, [r7, #4] BYTE *d = (BYTE*)dst; 80c2d0e: 68fb ldr r3, [r7, #12] 80c2d10: 617b str r3, [r7, #20] do { *d++ = (BYTE)val; 80c2d12: 697b ldr r3, [r7, #20] 80c2d14: 1c5a adds r2, r3, #1 80c2d16: 617a str r2, [r7, #20] 80c2d18: 68ba ldr r2, [r7, #8] 80c2d1a: b2d2 uxtb r2, r2 80c2d1c: 701a strb r2, [r3, #0] } while (--cnt); 80c2d1e: 687b ldr r3, [r7, #4] 80c2d20: 3b01 subs r3, #1 80c2d22: 607b str r3, [r7, #4] 80c2d24: 687b ldr r3, [r7, #4] 80c2d26: 2b00 cmp r3, #0 80c2d28: d1f3 bne.n 80c2d12 } 80c2d2a: bf00 nop 80c2d2c: 371c adds r7, #28 80c2d2e: 46bd mov sp, r7 80c2d30: f85d 7b04 ldr.w r7, [sp], #4 80c2d34: 4770 bx lr 080c2d36 : /* Compare memory block */ static int mem_cmp (const void* dst, const void* src, UINT cnt) { /* ZR:same, NZ:different */ 80c2d36: b480 push {r7} 80c2d38: b089 sub sp, #36 ; 0x24 80c2d3a: af00 add r7, sp, #0 80c2d3c: 60f8 str r0, [r7, #12] 80c2d3e: 60b9 str r1, [r7, #8] 80c2d40: 607a str r2, [r7, #4] const BYTE *d = (const BYTE *)dst, *s = (const BYTE *)src; 80c2d42: 68fb ldr r3, [r7, #12] 80c2d44: 61fb str r3, [r7, #28] 80c2d46: 68bb ldr r3, [r7, #8] 80c2d48: 61bb str r3, [r7, #24] int r = 0; 80c2d4a: 2300 movs r3, #0 80c2d4c: 617b str r3, [r7, #20] do { r = *d++ - *s++; 80c2d4e: 69fb ldr r3, [r7, #28] 80c2d50: 1c5a adds r2, r3, #1 80c2d52: 61fa str r2, [r7, #28] 80c2d54: 781b ldrb r3, [r3, #0] 80c2d56: 4619 mov r1, r3 80c2d58: 69bb ldr r3, [r7, #24] 80c2d5a: 1c5a adds r2, r3, #1 80c2d5c: 61ba str r2, [r7, #24] 80c2d5e: 781b ldrb r3, [r3, #0] 80c2d60: 1acb subs r3, r1, r3 80c2d62: 617b str r3, [r7, #20] } while (--cnt && r == 0); 80c2d64: 687b ldr r3, [r7, #4] 80c2d66: 3b01 subs r3, #1 80c2d68: 607b str r3, [r7, #4] 80c2d6a: 687b ldr r3, [r7, #4] 80c2d6c: 2b00 cmp r3, #0 80c2d6e: d002 beq.n 80c2d76 80c2d70: 697b ldr r3, [r7, #20] 80c2d72: 2b00 cmp r3, #0 80c2d74: d0eb beq.n 80c2d4e return r; 80c2d76: 697b ldr r3, [r7, #20] } 80c2d78: 4618 mov r0, r3 80c2d7a: 3724 adds r7, #36 ; 0x24 80c2d7c: 46bd mov sp, r7 80c2d7e: f85d 7b04 ldr.w r7, [sp], #4 80c2d82: 4770 bx lr 080c2d84 : /* Check if chr is contained in the string */ static int chk_chr (const char* str, int chr) { /* NZ:contained, ZR:not contained */ 80c2d84: b480 push {r7} 80c2d86: b083 sub sp, #12 80c2d88: af00 add r7, sp, #0 80c2d8a: 6078 str r0, [r7, #4] 80c2d8c: 6039 str r1, [r7, #0] while (*str && *str != chr) str++; 80c2d8e: e002 b.n 80c2d96 80c2d90: 687b ldr r3, [r7, #4] 80c2d92: 3301 adds r3, #1 80c2d94: 607b str r3, [r7, #4] 80c2d96: 687b ldr r3, [r7, #4] 80c2d98: 781b ldrb r3, [r3, #0] 80c2d9a: 2b00 cmp r3, #0 80c2d9c: d005 beq.n 80c2daa 80c2d9e: 687b ldr r3, [r7, #4] 80c2da0: 781b ldrb r3, [r3, #0] 80c2da2: 461a mov r2, r3 80c2da4: 683b ldr r3, [r7, #0] 80c2da6: 429a cmp r2, r3 80c2da8: d1f2 bne.n 80c2d90 return *str; 80c2daa: 687b ldr r3, [r7, #4] 80c2dac: 781b ldrb r3, [r3, #0] } 80c2dae: 4618 mov r0, r3 80c2db0: 370c adds r7, #12 80c2db2: 46bd mov sp, r7 80c2db4: f85d 7b04 ldr.w r7, [sp], #4 80c2db8: 4770 bx lr 080c2dba : #if !_FS_READONLY static FRESULT sync_window ( /* Returns FR_OK or FR_DISK_ERROR */ FATFS* fs /* File system object */ ) { 80c2dba: b580 push {r7, lr} 80c2dbc: b086 sub sp, #24 80c2dbe: af00 add r7, sp, #0 80c2dc0: 6078 str r0, [r7, #4] DWORD wsect; UINT nf; FRESULT res = FR_OK; 80c2dc2: 2300 movs r3, #0 80c2dc4: 73fb strb r3, [r7, #15] if (fs->wflag) { /* Write back the sector if it is dirty */ 80c2dc6: 687b ldr r3, [r7, #4] 80c2dc8: 78db ldrb r3, [r3, #3] 80c2dca: 2b00 cmp r3, #0 80c2dcc: d034 beq.n 80c2e38 wsect = fs->winsect; /* Current sector number */ 80c2dce: 687b ldr r3, [r7, #4] 80c2dd0: 6b5b ldr r3, [r3, #52] ; 0x34 80c2dd2: 617b str r3, [r7, #20] if (disk_write(fs->drv, fs->win, wsect, 1) != RES_OK) { 80c2dd4: 687b ldr r3, [r7, #4] 80c2dd6: 7858 ldrb r0, [r3, #1] 80c2dd8: 687b ldr r3, [r7, #4] 80c2dda: f103 0138 add.w r1, r3, #56 ; 0x38 80c2dde: 2301 movs r3, #1 80c2de0: 697a ldr r2, [r7, #20] 80c2de2: f7ff fd6d bl 80c28c0 80c2de6: 4603 mov r3, r0 80c2de8: 2b00 cmp r3, #0 80c2dea: d002 beq.n 80c2df2 res = FR_DISK_ERR; 80c2dec: 2301 movs r3, #1 80c2dee: 73fb strb r3, [r7, #15] 80c2df0: e022 b.n 80c2e38 } else { fs->wflag = 0; 80c2df2: 687b ldr r3, [r7, #4] 80c2df4: 2200 movs r2, #0 80c2df6: 70da strb r2, [r3, #3] if (wsect - fs->fatbase < fs->fsize) { /* Is it in the FAT area? */ 80c2df8: 687b ldr r3, [r7, #4] 80c2dfa: 6a9b ldr r3, [r3, #40] ; 0x28 80c2dfc: 697a ldr r2, [r7, #20] 80c2dfe: 1ad2 subs r2, r2, r3 80c2e00: 687b ldr r3, [r7, #4] 80c2e02: 6a1b ldr r3, [r3, #32] 80c2e04: 429a cmp r2, r3 80c2e06: d217 bcs.n 80c2e38 for (nf = fs->n_fats; nf >= 2; nf--) { /* Reflect the change to all FAT copies */ 80c2e08: 687b ldr r3, [r7, #4] 80c2e0a: 789b ldrb r3, [r3, #2] 80c2e0c: 613b str r3, [r7, #16] 80c2e0e: e010 b.n 80c2e32 wsect += fs->fsize; 80c2e10: 687b ldr r3, [r7, #4] 80c2e12: 6a1b ldr r3, [r3, #32] 80c2e14: 697a ldr r2, [r7, #20] 80c2e16: 4413 add r3, r2 80c2e18: 617b str r3, [r7, #20] disk_write(fs->drv, fs->win, wsect, 1); 80c2e1a: 687b ldr r3, [r7, #4] 80c2e1c: 7858 ldrb r0, [r3, #1] 80c2e1e: 687b ldr r3, [r7, #4] 80c2e20: f103 0138 add.w r1, r3, #56 ; 0x38 80c2e24: 2301 movs r3, #1 80c2e26: 697a ldr r2, [r7, #20] 80c2e28: f7ff fd4a bl 80c28c0 for (nf = fs->n_fats; nf >= 2; nf--) { /* Reflect the change to all FAT copies */ 80c2e2c: 693b ldr r3, [r7, #16] 80c2e2e: 3b01 subs r3, #1 80c2e30: 613b str r3, [r7, #16] 80c2e32: 693b ldr r3, [r7, #16] 80c2e34: 2b01 cmp r3, #1 80c2e36: d8eb bhi.n 80c2e10 } } } } return res; 80c2e38: 7bfb ldrb r3, [r7, #15] } 80c2e3a: 4618 mov r0, r3 80c2e3c: 3718 adds r7, #24 80c2e3e: 46bd mov sp, r7 80c2e40: bd80 pop {r7, pc} 080c2e42 : static FRESULT move_window ( /* Returns FR_OK or FR_DISK_ERROR */ FATFS* fs, /* File system object */ DWORD sector /* Sector number to make appearance in the fs->win[] */ ) { 80c2e42: b580 push {r7, lr} 80c2e44: b084 sub sp, #16 80c2e46: af00 add r7, sp, #0 80c2e48: 6078 str r0, [r7, #4] 80c2e4a: 6039 str r1, [r7, #0] FRESULT res = FR_OK; 80c2e4c: 2300 movs r3, #0 80c2e4e: 73fb strb r3, [r7, #15] if (sector != fs->winsect) { /* Window offset changed? */ 80c2e50: 687b ldr r3, [r7, #4] 80c2e52: 6b5a ldr r2, [r3, #52] ; 0x34 80c2e54: 683b ldr r3, [r7, #0] 80c2e56: 429a cmp r2, r3 80c2e58: d01b beq.n 80c2e92 #if !_FS_READONLY res = sync_window(fs); /* Write-back changes */ 80c2e5a: 6878 ldr r0, [r7, #4] 80c2e5c: f7ff ffad bl 80c2dba 80c2e60: 4603 mov r3, r0 80c2e62: 73fb strb r3, [r7, #15] #endif if (res == FR_OK) { /* Fill sector window with new data */ 80c2e64: 7bfb ldrb r3, [r7, #15] 80c2e66: 2b00 cmp r3, #0 80c2e68: d113 bne.n 80c2e92 if (disk_read(fs->drv, fs->win, sector, 1) != RES_OK) { 80c2e6a: 687b ldr r3, [r7, #4] 80c2e6c: 7858 ldrb r0, [r3, #1] 80c2e6e: 687b ldr r3, [r7, #4] 80c2e70: f103 0138 add.w r1, r3, #56 ; 0x38 80c2e74: 2301 movs r3, #1 80c2e76: 683a ldr r2, [r7, #0] 80c2e78: f7ff fd02 bl 80c2880 80c2e7c: 4603 mov r3, r0 80c2e7e: 2b00 cmp r3, #0 80c2e80: d004 beq.n 80c2e8c sector = 0xFFFFFFFF; /* Invalidate window if data is not reliable */ 80c2e82: f04f 33ff mov.w r3, #4294967295 80c2e86: 603b str r3, [r7, #0] res = FR_DISK_ERR; 80c2e88: 2301 movs r3, #1 80c2e8a: 73fb strb r3, [r7, #15] } fs->winsect = sector; 80c2e8c: 687b ldr r3, [r7, #4] 80c2e8e: 683a ldr r2, [r7, #0] 80c2e90: 635a str r2, [r3, #52] ; 0x34 } } return res; 80c2e92: 7bfb ldrb r3, [r7, #15] } 80c2e94: 4618 mov r0, r3 80c2e96: 3710 adds r7, #16 80c2e98: 46bd mov sp, r7 80c2e9a: bd80 pop {r7, pc} 080c2e9c : static FRESULT sync_fs ( /* FR_OK:succeeded, !=0:error */ FATFS* fs /* File system object */ ) { 80c2e9c: b580 push {r7, lr} 80c2e9e: b084 sub sp, #16 80c2ea0: af00 add r7, sp, #0 80c2ea2: 6078 str r0, [r7, #4] FRESULT res; res = sync_window(fs); 80c2ea4: 6878 ldr r0, [r7, #4] 80c2ea6: f7ff ff88 bl 80c2dba 80c2eaa: 4603 mov r3, r0 80c2eac: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c2eae: 7bfb ldrb r3, [r7, #15] 80c2eb0: 2b00 cmp r3, #0 80c2eb2: d158 bne.n 80c2f66 /* Update FSInfo sector if needed */ if (fs->fs_type == FS_FAT32 && fs->fsi_flag == 1) { 80c2eb4: 687b ldr r3, [r7, #4] 80c2eb6: 781b ldrb r3, [r3, #0] 80c2eb8: 2b03 cmp r3, #3 80c2eba: d148 bne.n 80c2f4e 80c2ebc: 687b ldr r3, [r7, #4] 80c2ebe: 791b ldrb r3, [r3, #4] 80c2ec0: 2b01 cmp r3, #1 80c2ec2: d144 bne.n 80c2f4e /* Create FSInfo structure */ mem_set(fs->win, 0, SS(fs)); 80c2ec4: 687b ldr r3, [r7, #4] 80c2ec6: 3338 adds r3, #56 ; 0x38 80c2ec8: f44f 7200 mov.w r2, #512 ; 0x200 80c2ecc: 2100 movs r1, #0 80c2ece: 4618 mov r0, r3 80c2ed0: f7ff ff17 bl 80c2d02 st_word(fs->win + BS_55AA, 0xAA55); 80c2ed4: 687b ldr r3, [r7, #4] 80c2ed6: 3338 adds r3, #56 ; 0x38 80c2ed8: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c2edc: f64a 2155 movw r1, #43605 ; 0xaa55 80c2ee0: 4618 mov r0, r3 80c2ee2: f7ff fe15 bl 80c2b10 st_dword(fs->win + FSI_LeadSig, 0x41615252); 80c2ee6: 687b ldr r3, [r7, #4] 80c2ee8: 3338 adds r3, #56 ; 0x38 80c2eea: 4921 ldr r1, [pc, #132] ; (80c2f70 ) 80c2eec: 4618 mov r0, r3 80c2eee: f7ff fe2a bl 80c2b46 st_dword(fs->win + FSI_StrucSig, 0x61417272); 80c2ef2: 687b ldr r3, [r7, #4] 80c2ef4: 3338 adds r3, #56 ; 0x38 80c2ef6: f503 73f2 add.w r3, r3, #484 ; 0x1e4 80c2efa: 491e ldr r1, [pc, #120] ; (80c2f74 ) 80c2efc: 4618 mov r0, r3 80c2efe: f7ff fe22 bl 80c2b46 st_dword(fs->win + FSI_Free_Count, fs->free_clst); 80c2f02: 687b ldr r3, [r7, #4] 80c2f04: 3338 adds r3, #56 ; 0x38 80c2f06: f503 72f4 add.w r2, r3, #488 ; 0x1e8 80c2f0a: 687b ldr r3, [r7, #4] 80c2f0c: 699b ldr r3, [r3, #24] 80c2f0e: 4619 mov r1, r3 80c2f10: 4610 mov r0, r2 80c2f12: f7ff fe18 bl 80c2b46 st_dword(fs->win + FSI_Nxt_Free, fs->last_clst); 80c2f16: 687b ldr r3, [r7, #4] 80c2f18: 3338 adds r3, #56 ; 0x38 80c2f1a: f503 72f6 add.w r2, r3, #492 ; 0x1ec 80c2f1e: 687b ldr r3, [r7, #4] 80c2f20: 695b ldr r3, [r3, #20] 80c2f22: 4619 mov r1, r3 80c2f24: 4610 mov r0, r2 80c2f26: f7ff fe0e bl 80c2b46 /* Write it into the FSInfo sector */ fs->winsect = fs->volbase + 1; 80c2f2a: 687b ldr r3, [r7, #4] 80c2f2c: 6a5b ldr r3, [r3, #36] ; 0x24 80c2f2e: 1c5a adds r2, r3, #1 80c2f30: 687b ldr r3, [r7, #4] 80c2f32: 635a str r2, [r3, #52] ; 0x34 disk_write(fs->drv, fs->win, fs->winsect, 1); 80c2f34: 687b ldr r3, [r7, #4] 80c2f36: 7858 ldrb r0, [r3, #1] 80c2f38: 687b ldr r3, [r7, #4] 80c2f3a: f103 0138 add.w r1, r3, #56 ; 0x38 80c2f3e: 687b ldr r3, [r7, #4] 80c2f40: 6b5a ldr r2, [r3, #52] ; 0x34 80c2f42: 2301 movs r3, #1 80c2f44: f7ff fcbc bl 80c28c0 fs->fsi_flag = 0; 80c2f48: 687b ldr r3, [r7, #4] 80c2f4a: 2200 movs r2, #0 80c2f4c: 711a strb r2, [r3, #4] } /* Make sure that no pending write process in the physical drive */ if (disk_ioctl(fs->drv, CTRL_SYNC, 0) != RES_OK) res = FR_DISK_ERR; 80c2f4e: 687b ldr r3, [r7, #4] 80c2f50: 785b ldrb r3, [r3, #1] 80c2f52: 2200 movs r2, #0 80c2f54: 2100 movs r1, #0 80c2f56: 4618 mov r0, r3 80c2f58: f7ff fcd2 bl 80c2900 80c2f5c: 4603 mov r3, r0 80c2f5e: 2b00 cmp r3, #0 80c2f60: d001 beq.n 80c2f66 80c2f62: 2301 movs r3, #1 80c2f64: 73fb strb r3, [r7, #15] } return res; 80c2f66: 7bfb ldrb r3, [r7, #15] } 80c2f68: 4618 mov r0, r3 80c2f6a: 3710 adds r7, #16 80c2f6c: 46bd mov sp, r7 80c2f6e: bd80 pop {r7, pc} 80c2f70: 41615252 .word 0x41615252 80c2f74: 61417272 .word 0x61417272 080c2f78 : static DWORD clust2sect ( /* !=0:Sector number, 0:Failed (invalid cluster#) */ FATFS* fs, /* File system object */ DWORD clst /* Cluster# to be converted */ ) { 80c2f78: b480 push {r7} 80c2f7a: b083 sub sp, #12 80c2f7c: af00 add r7, sp, #0 80c2f7e: 6078 str r0, [r7, #4] 80c2f80: 6039 str r1, [r7, #0] clst -= 2; 80c2f82: 683b ldr r3, [r7, #0] 80c2f84: 3b02 subs r3, #2 80c2f86: 603b str r3, [r7, #0] if (clst >= fs->n_fatent - 2) return 0; /* Invalid cluster# */ 80c2f88: 687b ldr r3, [r7, #4] 80c2f8a: 69db ldr r3, [r3, #28] 80c2f8c: 1e9a subs r2, r3, #2 80c2f8e: 683b ldr r3, [r7, #0] 80c2f90: 429a cmp r2, r3 80c2f92: d801 bhi.n 80c2f98 80c2f94: 2300 movs r3, #0 80c2f96: e008 b.n 80c2faa return clst * fs->csize + fs->database; 80c2f98: 687b ldr r3, [r7, #4] 80c2f9a: 895b ldrh r3, [r3, #10] 80c2f9c: 461a mov r2, r3 80c2f9e: 683b ldr r3, [r7, #0] 80c2fa0: fb03 f202 mul.w r2, r3, r2 80c2fa4: 687b ldr r3, [r7, #4] 80c2fa6: 6b1b ldr r3, [r3, #48] ; 0x30 80c2fa8: 4413 add r3, r2 } 80c2faa: 4618 mov r0, r3 80c2fac: 370c adds r7, #12 80c2fae: 46bd mov sp, r7 80c2fb0: f85d 7b04 ldr.w r7, [sp], #4 80c2fb4: 4770 bx lr ... 080c2fb8 : static DWORD get_fat ( /* 0xFFFFFFFF:Disk error, 1:Internal error, 2..0x7FFFFFFF:Cluster status */ _FDID* obj, /* Corresponding object */ DWORD clst /* Cluster number to get the value */ ) { 80c2fb8: b590 push {r4, r7, lr} 80c2fba: b089 sub sp, #36 ; 0x24 80c2fbc: af00 add r7, sp, #0 80c2fbe: 6078 str r0, [r7, #4] 80c2fc0: 6039 str r1, [r7, #0] UINT wc, bc; DWORD val; FATFS *fs = obj->fs; 80c2fc2: 687a ldr r2, [r7, #4] 80c2fc4: 6812 ldr r2, [r2, #0] 80c2fc6: 61ba str r2, [r7, #24] if (clst < 2 || clst >= fs->n_fatent) { /* Check if in valid range */ 80c2fc8: 683a ldr r2, [r7, #0] 80c2fca: 2a01 cmp r2, #1 80c2fcc: d904 bls.n 80c2fd8 80c2fce: 69ba ldr r2, [r7, #24] 80c2fd0: 69d1 ldr r1, [r2, #28] 80c2fd2: 683a ldr r2, [r7, #0] 80c2fd4: 4291 cmp r1, r2 80c2fd6: d802 bhi.n 80c2fde val = 1; /* Internal error */ 80c2fd8: 2301 movs r3, #1 80c2fda: 61fb str r3, [r7, #28] 80c2fdc: e0fe b.n 80c31dc } else { val = 0xFFFFFFFF; /* Default value falls on disk error */ 80c2fde: f04f 32ff mov.w r2, #4294967295 80c2fe2: 61fa str r2, [r7, #28] switch (fs->fs_type) { 80c2fe4: 69ba ldr r2, [r7, #24] 80c2fe6: 7812 ldrb r2, [r2, #0] 80c2fe8: 3a01 subs r2, #1 80c2fea: 2a03 cmp r2, #3 80c2fec: f200 80ea bhi.w 80c31c4 80c2ff0: a101 add r1, pc, #4 ; (adr r1, 80c2ff8 ) 80c2ff2: f851 f022 ldr.w pc, [r1, r2, lsl #2] 80c2ff6: bf00 nop 80c2ff8: 080c3009 .word 0x080c3009 80c2ffc: 080c3091 .word 0x080c3091 80c3000: 080c30c7 .word 0x080c30c7 80c3004: 080c30ff .word 0x080c30ff case FS_FAT12 : bc = (UINT)clst; bc += bc / 2; 80c3008: 683b ldr r3, [r7, #0] 80c300a: 617b str r3, [r7, #20] 80c300c: 697b ldr r3, [r7, #20] 80c300e: 085b lsrs r3, r3, #1 80c3010: 697a ldr r2, [r7, #20] 80c3012: 4413 add r3, r2 80c3014: 617b str r3, [r7, #20] if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c3016: 69bb ldr r3, [r7, #24] 80c3018: 6a9a ldr r2, [r3, #40] ; 0x28 80c301a: 697b ldr r3, [r7, #20] 80c301c: 0a5b lsrs r3, r3, #9 80c301e: 4413 add r3, r2 80c3020: 4619 mov r1, r3 80c3022: 69b8 ldr r0, [r7, #24] 80c3024: f7ff ff0d bl 80c2e42 80c3028: 4603 mov r3, r0 80c302a: 2b00 cmp r3, #0 80c302c: f040 80cd bne.w 80c31ca wc = fs->win[bc++ % SS(fs)]; 80c3030: 697b ldr r3, [r7, #20] 80c3032: 1c5a adds r2, r3, #1 80c3034: 617a str r2, [r7, #20] 80c3036: f3c3 0308 ubfx r3, r3, #0, #9 80c303a: 69ba ldr r2, [r7, #24] 80c303c: 4413 add r3, r2 80c303e: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c3042: 613b str r3, [r7, #16] if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c3044: 69bb ldr r3, [r7, #24] 80c3046: 6a9a ldr r2, [r3, #40] ; 0x28 80c3048: 697b ldr r3, [r7, #20] 80c304a: 0a5b lsrs r3, r3, #9 80c304c: 4413 add r3, r2 80c304e: 4619 mov r1, r3 80c3050: 69b8 ldr r0, [r7, #24] 80c3052: f7ff fef6 bl 80c2e42 80c3056: 4603 mov r3, r0 80c3058: 2b00 cmp r3, #0 80c305a: f040 80b8 bne.w 80c31ce wc |= fs->win[bc % SS(fs)] << 8; 80c305e: 697b ldr r3, [r7, #20] 80c3060: f3c3 0308 ubfx r3, r3, #0, #9 80c3064: 69ba ldr r2, [r7, #24] 80c3066: 4413 add r3, r2 80c3068: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c306c: 021b lsls r3, r3, #8 80c306e: 461a mov r2, r3 80c3070: 693b ldr r3, [r7, #16] 80c3072: 4313 orrs r3, r2 80c3074: 613b str r3, [r7, #16] val = (clst & 1) ? (wc >> 4) : (wc & 0xFFF); 80c3076: 683b ldr r3, [r7, #0] 80c3078: f003 0301 and.w r3, r3, #1 80c307c: 2b00 cmp r3, #0 80c307e: d002 beq.n 80c3086 80c3080: 693b ldr r3, [r7, #16] 80c3082: 091b lsrs r3, r3, #4 80c3084: e002 b.n 80c308c 80c3086: 693b ldr r3, [r7, #16] 80c3088: f3c3 030b ubfx r3, r3, #0, #12 80c308c: 61fb str r3, [r7, #28] break; 80c308e: e0a5 b.n 80c31dc case FS_FAT16 : if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))) != FR_OK) break; 80c3090: 69bb ldr r3, [r7, #24] 80c3092: 6a9a ldr r2, [r3, #40] ; 0x28 80c3094: 683b ldr r3, [r7, #0] 80c3096: 0a1b lsrs r3, r3, #8 80c3098: 4413 add r3, r2 80c309a: 4619 mov r1, r3 80c309c: 69b8 ldr r0, [r7, #24] 80c309e: f7ff fed0 bl 80c2e42 80c30a2: 4603 mov r3, r0 80c30a4: 2b00 cmp r3, #0 80c30a6: f040 8094 bne.w 80c31d2 val = ld_word(fs->win + clst * 2 % SS(fs)); 80c30aa: 69bb ldr r3, [r7, #24] 80c30ac: f103 0238 add.w r2, r3, #56 ; 0x38 80c30b0: 683b ldr r3, [r7, #0] 80c30b2: 005b lsls r3, r3, #1 80c30b4: f403 73ff and.w r3, r3, #510 ; 0x1fe 80c30b8: 4413 add r3, r2 80c30ba: 4618 mov r0, r3 80c30bc: f7ff fc3e bl 80c293c 80c30c0: 4603 mov r3, r0 80c30c2: 61fb str r3, [r7, #28] break; 80c30c4: e08a b.n 80c31dc case FS_FAT32 : if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c30c6: 69bb ldr r3, [r7, #24] 80c30c8: 6a9a ldr r2, [r3, #40] ; 0x28 80c30ca: 683b ldr r3, [r7, #0] 80c30cc: 09db lsrs r3, r3, #7 80c30ce: 4413 add r3, r2 80c30d0: 4619 mov r1, r3 80c30d2: 69b8 ldr r0, [r7, #24] 80c30d4: f7ff feb5 bl 80c2e42 80c30d8: 4603 mov r3, r0 80c30da: 2b00 cmp r3, #0 80c30dc: d17b bne.n 80c31d6 val = ld_dword(fs->win + clst * 4 % SS(fs)) & 0x0FFFFFFF; 80c30de: 69bb ldr r3, [r7, #24] 80c30e0: f103 0238 add.w r2, r3, #56 ; 0x38 80c30e4: 683b ldr r3, [r7, #0] 80c30e6: 009b lsls r3, r3, #2 80c30e8: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c30ec: 4413 add r3, r2 80c30ee: 4618 mov r0, r3 80c30f0: f7ff fc3c bl 80c296c 80c30f4: 4603 mov r3, r0 80c30f6: f023 4370 bic.w r3, r3, #4026531840 ; 0xf0000000 80c30fa: 61fb str r3, [r7, #28] break; 80c30fc: e06e b.n 80c31dc #if _FS_EXFAT case FS_EXFAT : if (obj->objsize) { 80c30fe: 687a ldr r2, [r7, #4] 80c3100: e9d2 1204 ldrd r1, r2, [r2, #16] 80c3104: 430a orrs r2, r1 80c3106: d05d beq.n 80c31c4 DWORD cofs = clst - obj->sclust; /* Offset from start cluster */ 80c3108: 687a ldr r2, [r7, #4] 80c310a: 6892 ldr r2, [r2, #8] 80c310c: 6839 ldr r1, [r7, #0] 80c310e: 1a8a subs r2, r1, r2 80c3110: 60fa str r2, [r7, #12] DWORD clen = (DWORD)((obj->objsize - 1) / SS(fs)) / fs->csize; /* Number of clusters - 1 */ 80c3112: 687a ldr r2, [r7, #4] 80c3114: e9d2 1204 ldrd r1, r2, [r2, #16] 80c3118: f111 31ff adds.w r1, r1, #4294967295 80c311c: f142 32ff adc.w r2, r2, #4294967295 80c3120: 0a4b lsrs r3, r1, #9 80c3122: ea43 53c2 orr.w r3, r3, r2, lsl #23 80c3126: 0a54 lsrs r4, r2, #9 80c3128: 461a mov r2, r3 80c312a: 69bb ldr r3, [r7, #24] 80c312c: 895b ldrh r3, [r3, #10] 80c312e: fbb2 f3f3 udiv r3, r2, r3 80c3132: 60bb str r3, [r7, #8] if (obj->stat == 2) { /* Is there no valid chain on the FAT? */ 80c3134: 687b ldr r3, [r7, #4] 80c3136: 79db ldrb r3, [r3, #7] 80c3138: 2b02 cmp r3, #2 80c313a: d10e bne.n 80c315a if (cofs <= clen) { 80c313c: 68fa ldr r2, [r7, #12] 80c313e: 68bb ldr r3, [r7, #8] 80c3140: 429a cmp r2, r3 80c3142: d80a bhi.n 80c315a val = (cofs == clen) ? 0x7FFFFFFF : clst + 1; /* Generate the value */ 80c3144: 68fa ldr r2, [r7, #12] 80c3146: 68bb ldr r3, [r7, #8] 80c3148: 429a cmp r2, r3 80c314a: d002 beq.n 80c3152 80c314c: 683b ldr r3, [r7, #0] 80c314e: 3301 adds r3, #1 80c3150: e001 b.n 80c3156 80c3152: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c3156: 61fb str r3, [r7, #28] break; 80c3158: e040 b.n 80c31dc } } if (obj->stat == 3 && cofs < obj->n_cont) { /* Is it in the 1st fragment? */ 80c315a: 687b ldr r3, [r7, #4] 80c315c: 79db ldrb r3, [r3, #7] 80c315e: 2b03 cmp r3, #3 80c3160: d108 bne.n 80c3174 80c3162: 687b ldr r3, [r7, #4] 80c3164: 699a ldr r2, [r3, #24] 80c3166: 68fb ldr r3, [r7, #12] 80c3168: 429a cmp r2, r3 80c316a: d903 bls.n 80c3174 val = clst + 1; /* Generate the value */ 80c316c: 683b ldr r3, [r7, #0] 80c316e: 3301 adds r3, #1 80c3170: 61fb str r3, [r7, #28] break; 80c3172: e033 b.n 80c31dc } if (obj->stat != 2) { /* Get value from FAT if FAT chain is valid */ 80c3174: 687b ldr r3, [r7, #4] 80c3176: 79db ldrb r3, [r3, #7] 80c3178: 2b02 cmp r3, #2 80c317a: d023 beq.n 80c31c4 if (obj->n_frag != 0) { /* Is it on the growing edge? */ 80c317c: 687b ldr r3, [r7, #4] 80c317e: 69db ldr r3, [r3, #28] 80c3180: 2b00 cmp r3, #0 80c3182: d003 beq.n 80c318c val = 0x7FFFFFFF; /* Generate EOC */ 80c3184: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c3188: 61fb str r3, [r7, #28] } else { if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; val = ld_dword(fs->win + clst * 4 % SS(fs)) & 0x7FFFFFFF; } break; 80c318a: e027 b.n 80c31dc if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c318c: 69bb ldr r3, [r7, #24] 80c318e: 6a9a ldr r2, [r3, #40] ; 0x28 80c3190: 683b ldr r3, [r7, #0] 80c3192: 09db lsrs r3, r3, #7 80c3194: 4413 add r3, r2 80c3196: 4619 mov r1, r3 80c3198: 69b8 ldr r0, [r7, #24] 80c319a: f7ff fe52 bl 80c2e42 80c319e: 4603 mov r3, r0 80c31a0: 2b00 cmp r3, #0 80c31a2: d11a bne.n 80c31da val = ld_dword(fs->win + clst * 4 % SS(fs)) & 0x7FFFFFFF; 80c31a4: 69bb ldr r3, [r7, #24] 80c31a6: f103 0238 add.w r2, r3, #56 ; 0x38 80c31aa: 683b ldr r3, [r7, #0] 80c31ac: 009b lsls r3, r3, #2 80c31ae: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c31b2: 4413 add r3, r2 80c31b4: 4618 mov r0, r3 80c31b6: f7ff fbd9 bl 80c296c 80c31ba: 4603 mov r3, r0 80c31bc: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80c31c0: 61fb str r3, [r7, #28] break; 80c31c2: e00b b.n 80c31dc } } /* go to default */ #endif default: val = 1; /* Internal error */ 80c31c4: 2301 movs r3, #1 80c31c6: 61fb str r3, [r7, #28] 80c31c8: e008 b.n 80c31dc if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c31ca: bf00 nop 80c31cc: e006 b.n 80c31dc if (move_window(fs, fs->fatbase + (bc / SS(fs))) != FR_OK) break; 80c31ce: bf00 nop 80c31d0: e004 b.n 80c31dc if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))) != FR_OK) break; 80c31d2: bf00 nop 80c31d4: e002 b.n 80c31dc if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c31d6: bf00 nop 80c31d8: e000 b.n 80c31dc if (move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))) != FR_OK) break; 80c31da: bf00 nop } } return val; 80c31dc: 69fb ldr r3, [r7, #28] } 80c31de: 4618 mov r0, r3 80c31e0: 3724 adds r7, #36 ; 0x24 80c31e2: 46bd mov sp, r7 80c31e4: bd90 pop {r4, r7, pc} 80c31e6: bf00 nop 080c31e8 : FRESULT put_fat ( /* FR_OK(0):succeeded, !=0:error */ FATFS* fs, /* Corresponding file system object */ DWORD clst, /* FAT index number (cluster number) to be changed */ DWORD val /* New value to be set to the entry */ ) { 80c31e8: b590 push {r4, r7, lr} 80c31ea: b089 sub sp, #36 ; 0x24 80c31ec: af00 add r7, sp, #0 80c31ee: 60f8 str r0, [r7, #12] 80c31f0: 60b9 str r1, [r7, #8] 80c31f2: 607a str r2, [r7, #4] UINT bc; BYTE *p; FRESULT res = FR_INT_ERR; 80c31f4: 2302 movs r3, #2 80c31f6: 77fb strb r3, [r7, #31] if (clst >= 2 && clst < fs->n_fatent) { /* Check if in valid range */ 80c31f8: 68bb ldr r3, [r7, #8] 80c31fa: 2b01 cmp r3, #1 80c31fc: f240 80e2 bls.w 80c33c4 80c3200: 68fb ldr r3, [r7, #12] 80c3202: 69da ldr r2, [r3, #28] 80c3204: 68bb ldr r3, [r7, #8] 80c3206: 429a cmp r2, r3 80c3208: f240 80dc bls.w 80c33c4 switch (fs->fs_type) { 80c320c: 68fb ldr r3, [r7, #12] 80c320e: 781b ldrb r3, [r3, #0] 80c3210: 3b01 subs r3, #1 80c3212: 2b03 cmp r3, #3 80c3214: f200 80d6 bhi.w 80c33c4 80c3218: a201 add r2, pc, #4 ; (adr r2, 80c3220 ) 80c321a: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c321e: bf00 nop 80c3220: 080c3231 .word 0x080c3231 80c3224: 080c330d .word 0x080c330d 80c3228: 080c334d .word 0x080c334d 80c322c: 080c334d .word 0x080c334d case FS_FAT12 : /* Bitfield items */ bc = (UINT)clst; bc += bc / 2; 80c3230: 68bb ldr r3, [r7, #8] 80c3232: 61bb str r3, [r7, #24] 80c3234: 69bb ldr r3, [r7, #24] 80c3236: 085b lsrs r3, r3, #1 80c3238: 69ba ldr r2, [r7, #24] 80c323a: 4413 add r3, r2 80c323c: 61bb str r3, [r7, #24] res = move_window(fs, fs->fatbase + (bc / SS(fs))); 80c323e: 68fb ldr r3, [r7, #12] 80c3240: 6a9a ldr r2, [r3, #40] ; 0x28 80c3242: 69bb ldr r3, [r7, #24] 80c3244: 0a5b lsrs r3, r3, #9 80c3246: 4413 add r3, r2 80c3248: 4619 mov r1, r3 80c324a: 68f8 ldr r0, [r7, #12] 80c324c: f7ff fdf9 bl 80c2e42 80c3250: 4603 mov r3, r0 80c3252: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c3254: 7ffb ldrb r3, [r7, #31] 80c3256: 2b00 cmp r3, #0 80c3258: f040 80ad bne.w 80c33b6 p = fs->win + bc++ % SS(fs); 80c325c: 68fb ldr r3, [r7, #12] 80c325e: f103 0238 add.w r2, r3, #56 ; 0x38 80c3262: 69bb ldr r3, [r7, #24] 80c3264: 1c59 adds r1, r3, #1 80c3266: 61b9 str r1, [r7, #24] 80c3268: f3c3 0308 ubfx r3, r3, #0, #9 80c326c: 4413 add r3, r2 80c326e: 617b str r3, [r7, #20] *p = (clst & 1) ? ((*p & 0x0F) | ((BYTE)val << 4)) : (BYTE)val; 80c3270: 68bb ldr r3, [r7, #8] 80c3272: f003 0301 and.w r3, r3, #1 80c3276: 2b00 cmp r3, #0 80c3278: d00d beq.n 80c3296 80c327a: 697b ldr r3, [r7, #20] 80c327c: 781b ldrb r3, [r3, #0] 80c327e: b25b sxtb r3, r3 80c3280: f003 030f and.w r3, r3, #15 80c3284: b25a sxtb r2, r3 80c3286: 687b ldr r3, [r7, #4] 80c3288: b2db uxtb r3, r3 80c328a: 011b lsls r3, r3, #4 80c328c: b25b sxtb r3, r3 80c328e: 4313 orrs r3, r2 80c3290: b25b sxtb r3, r3 80c3292: b2db uxtb r3, r3 80c3294: e001 b.n 80c329a 80c3296: 687b ldr r3, [r7, #4] 80c3298: b2db uxtb r3, r3 80c329a: 697a ldr r2, [r7, #20] 80c329c: 7013 strb r3, [r2, #0] fs->wflag = 1; 80c329e: 68fb ldr r3, [r7, #12] 80c32a0: 2201 movs r2, #1 80c32a2: 70da strb r2, [r3, #3] res = move_window(fs, fs->fatbase + (bc / SS(fs))); 80c32a4: 68fb ldr r3, [r7, #12] 80c32a6: 6a9a ldr r2, [r3, #40] ; 0x28 80c32a8: 69bb ldr r3, [r7, #24] 80c32aa: 0a5b lsrs r3, r3, #9 80c32ac: 4413 add r3, r2 80c32ae: 4619 mov r1, r3 80c32b0: 68f8 ldr r0, [r7, #12] 80c32b2: f7ff fdc6 bl 80c2e42 80c32b6: 4603 mov r3, r0 80c32b8: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c32ba: 7ffb ldrb r3, [r7, #31] 80c32bc: 2b00 cmp r3, #0 80c32be: d17c bne.n 80c33ba p = fs->win + bc % SS(fs); 80c32c0: 68fb ldr r3, [r7, #12] 80c32c2: f103 0238 add.w r2, r3, #56 ; 0x38 80c32c6: 69bb ldr r3, [r7, #24] 80c32c8: f3c3 0308 ubfx r3, r3, #0, #9 80c32cc: 4413 add r3, r2 80c32ce: 617b str r3, [r7, #20] *p = (clst & 1) ? (BYTE)(val >> 4) : ((*p & 0xF0) | ((BYTE)(val >> 8) & 0x0F)); 80c32d0: 68bb ldr r3, [r7, #8] 80c32d2: f003 0301 and.w r3, r3, #1 80c32d6: 2b00 cmp r3, #0 80c32d8: d003 beq.n 80c32e2 80c32da: 687b ldr r3, [r7, #4] 80c32dc: 091b lsrs r3, r3, #4 80c32de: b2db uxtb r3, r3 80c32e0: e00e b.n 80c3300 80c32e2: 697b ldr r3, [r7, #20] 80c32e4: 781b ldrb r3, [r3, #0] 80c32e6: b25b sxtb r3, r3 80c32e8: f023 030f bic.w r3, r3, #15 80c32ec: b25a sxtb r2, r3 80c32ee: 687b ldr r3, [r7, #4] 80c32f0: 0a1b lsrs r3, r3, #8 80c32f2: b25b sxtb r3, r3 80c32f4: f003 030f and.w r3, r3, #15 80c32f8: b25b sxtb r3, r3 80c32fa: 4313 orrs r3, r2 80c32fc: b25b sxtb r3, r3 80c32fe: b2db uxtb r3, r3 80c3300: 697a ldr r2, [r7, #20] 80c3302: 7013 strb r3, [r2, #0] fs->wflag = 1; 80c3304: 68fb ldr r3, [r7, #12] 80c3306: 2201 movs r2, #1 80c3308: 70da strb r2, [r3, #3] break; 80c330a: e05b b.n 80c33c4 case FS_FAT16 : /* WORD aligned items */ res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 2))); 80c330c: 68fb ldr r3, [r7, #12] 80c330e: 6a9a ldr r2, [r3, #40] ; 0x28 80c3310: 68bb ldr r3, [r7, #8] 80c3312: 0a1b lsrs r3, r3, #8 80c3314: 4413 add r3, r2 80c3316: 4619 mov r1, r3 80c3318: 68f8 ldr r0, [r7, #12] 80c331a: f7ff fd92 bl 80c2e42 80c331e: 4603 mov r3, r0 80c3320: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c3322: 7ffb ldrb r3, [r7, #31] 80c3324: 2b00 cmp r3, #0 80c3326: d14a bne.n 80c33be st_word(fs->win + clst * 2 % SS(fs), (WORD)val); 80c3328: 68fb ldr r3, [r7, #12] 80c332a: f103 0238 add.w r2, r3, #56 ; 0x38 80c332e: 68bb ldr r3, [r7, #8] 80c3330: 005b lsls r3, r3, #1 80c3332: f403 73ff and.w r3, r3, #510 ; 0x1fe 80c3336: 4413 add r3, r2 80c3338: 687a ldr r2, [r7, #4] 80c333a: b292 uxth r2, r2 80c333c: 4611 mov r1, r2 80c333e: 4618 mov r0, r3 80c3340: f7ff fbe6 bl 80c2b10 fs->wflag = 1; 80c3344: 68fb ldr r3, [r7, #12] 80c3346: 2201 movs r2, #1 80c3348: 70da strb r2, [r3, #3] break; 80c334a: e03b b.n 80c33c4 case FS_FAT32 : /* DWORD aligned items */ #if _FS_EXFAT case FS_EXFAT : #endif res = move_window(fs, fs->fatbase + (clst / (SS(fs) / 4))); 80c334c: 68fb ldr r3, [r7, #12] 80c334e: 6a9a ldr r2, [r3, #40] ; 0x28 80c3350: 68bb ldr r3, [r7, #8] 80c3352: 09db lsrs r3, r3, #7 80c3354: 4413 add r3, r2 80c3356: 4619 mov r1, r3 80c3358: 68f8 ldr r0, [r7, #12] 80c335a: f7ff fd72 bl 80c2e42 80c335e: 4603 mov r3, r0 80c3360: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c3362: 7ffb ldrb r3, [r7, #31] 80c3364: 2b00 cmp r3, #0 80c3366: d12c bne.n 80c33c2 if (!_FS_EXFAT || fs->fs_type != FS_EXFAT) { 80c3368: 68fb ldr r3, [r7, #12] 80c336a: 781b ldrb r3, [r3, #0] 80c336c: 2b04 cmp r3, #4 80c336e: d012 beq.n 80c3396 val = (val & 0x0FFFFFFF) | (ld_dword(fs->win + clst * 4 % SS(fs)) & 0xF0000000); 80c3370: 687b ldr r3, [r7, #4] 80c3372: f023 4470 bic.w r4, r3, #4026531840 ; 0xf0000000 80c3376: 68fb ldr r3, [r7, #12] 80c3378: f103 0238 add.w r2, r3, #56 ; 0x38 80c337c: 68bb ldr r3, [r7, #8] 80c337e: 009b lsls r3, r3, #2 80c3380: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c3384: 4413 add r3, r2 80c3386: 4618 mov r0, r3 80c3388: f7ff faf0 bl 80c296c 80c338c: 4603 mov r3, r0 80c338e: f003 4370 and.w r3, r3, #4026531840 ; 0xf0000000 80c3392: 4323 orrs r3, r4 80c3394: 607b str r3, [r7, #4] } st_dword(fs->win + clst * 4 % SS(fs), val); 80c3396: 68fb ldr r3, [r7, #12] 80c3398: f103 0238 add.w r2, r3, #56 ; 0x38 80c339c: 68bb ldr r3, [r7, #8] 80c339e: 009b lsls r3, r3, #2 80c33a0: f403 73fe and.w r3, r3, #508 ; 0x1fc 80c33a4: 4413 add r3, r2 80c33a6: 6879 ldr r1, [r7, #4] 80c33a8: 4618 mov r0, r3 80c33aa: f7ff fbcc bl 80c2b46 fs->wflag = 1; 80c33ae: 68fb ldr r3, [r7, #12] 80c33b0: 2201 movs r2, #1 80c33b2: 70da strb r2, [r3, #3] break; 80c33b4: e006 b.n 80c33c4 if (res != FR_OK) break; 80c33b6: bf00 nop 80c33b8: e004 b.n 80c33c4 if (res != FR_OK) break; 80c33ba: bf00 nop 80c33bc: e002 b.n 80c33c4 if (res != FR_OK) break; 80c33be: bf00 nop 80c33c0: e000 b.n 80c33c4 if (res != FR_OK) break; 80c33c2: bf00 nop } } return res; 80c33c4: 7ffb ldrb r3, [r7, #31] } 80c33c6: 4618 mov r0, r3 80c33c8: 3724 adds r7, #36 ; 0x24 80c33ca: 46bd mov sp, r7 80c33cc: bd90 pop {r4, r7, pc} 80c33ce: bf00 nop 080c33d0 : DWORD find_bitmap ( /* 0:Not found, 2..:Cluster block found, 0xFFFFFFFF:Disk error */ FATFS* fs, /* File system object */ DWORD clst, /* Cluster number to scan from */ DWORD ncl /* Number of contiguous clusters to find (1..) */ ) { 80c33d0: b580 push {r7, lr} 80c33d2: b08a sub sp, #40 ; 0x28 80c33d4: af00 add r7, sp, #0 80c33d6: 60f8 str r0, [r7, #12] 80c33d8: 60b9 str r1, [r7, #8] 80c33da: 607a str r2, [r7, #4] BYTE bm, bv; UINT i; DWORD val, scl, ctr; clst -= 2; /* The first bit in the bitmap corresponds to cluster #2 */ 80c33dc: 68bb ldr r3, [r7, #8] 80c33de: 3b02 subs r3, #2 80c33e0: 60bb str r3, [r7, #8] if (clst >= fs->n_fatent - 2) clst = 0; 80c33e2: 68fb ldr r3, [r7, #12] 80c33e4: 69db ldr r3, [r3, #28] 80c33e6: 1e9a subs r2, r3, #2 80c33e8: 68bb ldr r3, [r7, #8] 80c33ea: 429a cmp r2, r3 80c33ec: d801 bhi.n 80c33f2 80c33ee: 2300 movs r3, #0 80c33f0: 60bb str r3, [r7, #8] scl = val = clst; ctr = 0; 80c33f2: 68bb ldr r3, [r7, #8] 80c33f4: 61fb str r3, [r7, #28] 80c33f6: 69fb ldr r3, [r7, #28] 80c33f8: 61bb str r3, [r7, #24] 80c33fa: 2300 movs r3, #0 80c33fc: 617b str r3, [r7, #20] for (;;) { if (move_window(fs, fs->database + val / 8 / SS(fs)) != FR_OK) return 0xFFFFFFFF; /* (assuming bitmap is located top of the cluster heap) */ 80c33fe: 68fb ldr r3, [r7, #12] 80c3400: 6b1a ldr r2, [r3, #48] ; 0x30 80c3402: 69fb ldr r3, [r7, #28] 80c3404: 0b1b lsrs r3, r3, #12 80c3406: 4413 add r3, r2 80c3408: 4619 mov r1, r3 80c340a: 68f8 ldr r0, [r7, #12] 80c340c: f7ff fd19 bl 80c2e42 80c3410: 4603 mov r3, r0 80c3412: 2b00 cmp r3, #0 80c3414: d002 beq.n 80c341c 80c3416: f04f 33ff mov.w r3, #4294967295 80c341a: e051 b.n 80c34c0 i = val / 8 % SS(fs); bm = 1 << (val % 8); 80c341c: 69fb ldr r3, [r7, #28] 80c341e: 08db lsrs r3, r3, #3 80c3420: f3c3 0308 ubfx r3, r3, #0, #9 80c3424: 623b str r3, [r7, #32] 80c3426: 69fb ldr r3, [r7, #28] 80c3428: f003 0307 and.w r3, r3, #7 80c342c: 2201 movs r2, #1 80c342e: fa02 f303 lsl.w r3, r2, r3 80c3432: f887 3027 strb.w r3, [r7, #39] ; 0x27 do { do { bv = fs->win[i] & bm; bm <<= 1; /* Get bit value */ 80c3436: 68fa ldr r2, [r7, #12] 80c3438: 6a3b ldr r3, [r7, #32] 80c343a: 4413 add r3, r2 80c343c: 3338 adds r3, #56 ; 0x38 80c343e: 781a ldrb r2, [r3, #0] 80c3440: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c3444: 4013 ands r3, r2 80c3446: 74fb strb r3, [r7, #19] 80c3448: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c344c: 005b lsls r3, r3, #1 80c344e: f887 3027 strb.w r3, [r7, #39] ; 0x27 if (++val >= fs->n_fatent - 2) { /* Next cluster (with wrap-around) */ 80c3452: 69fb ldr r3, [r7, #28] 80c3454: 3301 adds r3, #1 80c3456: 61fb str r3, [r7, #28] 80c3458: 68fb ldr r3, [r7, #12] 80c345a: 69db ldr r3, [r3, #28] 80c345c: 3b02 subs r3, #2 80c345e: 69fa ldr r2, [r7, #28] 80c3460: 429a cmp r2, r3 80c3462: d307 bcc.n 80c3474 val = 0; bm = 0; i = SS(fs); 80c3464: 2300 movs r3, #0 80c3466: 61fb str r3, [r7, #28] 80c3468: 2300 movs r3, #0 80c346a: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c346e: f44f 7300 mov.w r3, #512 ; 0x200 80c3472: 623b str r3, [r7, #32] } if (!bv) { /* Is it a free cluster? */ 80c3474: 7cfb ldrb r3, [r7, #19] 80c3476: 2b00 cmp r3, #0 80c3478: d109 bne.n 80c348e if (++ctr == ncl) return scl + 2; /* Check if run length is sufficient for required */ 80c347a: 697b ldr r3, [r7, #20] 80c347c: 3301 adds r3, #1 80c347e: 617b str r3, [r7, #20] 80c3480: 697a ldr r2, [r7, #20] 80c3482: 687b ldr r3, [r7, #4] 80c3484: 429a cmp r2, r3 80c3486: d106 bne.n 80c3496 80c3488: 69bb ldr r3, [r7, #24] 80c348a: 3302 adds r3, #2 80c348c: e018 b.n 80c34c0 } else { scl = val; ctr = 0; /* Encountered a cluster in-use, restart to scan */ 80c348e: 69fb ldr r3, [r7, #28] 80c3490: 61bb str r3, [r7, #24] 80c3492: 2300 movs r3, #0 80c3494: 617b str r3, [r7, #20] } if (val == clst) return 0; /* All cluster scanned? */ 80c3496: 69fa ldr r2, [r7, #28] 80c3498: 68bb ldr r3, [r7, #8] 80c349a: 429a cmp r2, r3 80c349c: d101 bne.n 80c34a2 80c349e: 2300 movs r3, #0 80c34a0: e00e b.n 80c34c0 } while (bm); 80c34a2: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c34a6: 2b00 cmp r3, #0 80c34a8: d1c5 bne.n 80c3436 bm = 1; 80c34aa: 2301 movs r3, #1 80c34ac: f887 3027 strb.w r3, [r7, #39] ; 0x27 } while (++i < SS(fs)); 80c34b0: 6a3b ldr r3, [r7, #32] 80c34b2: 3301 adds r3, #1 80c34b4: 623b str r3, [r7, #32] 80c34b6: 6a3b ldr r3, [r7, #32] 80c34b8: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c34bc: d3bb bcc.n 80c3436 if (move_window(fs, fs->database + val / 8 / SS(fs)) != FR_OK) return 0xFFFFFFFF; /* (assuming bitmap is located top of the cluster heap) */ 80c34be: e79e b.n 80c33fe } } 80c34c0: 4618 mov r0, r3 80c34c2: 3728 adds r7, #40 ; 0x28 80c34c4: 46bd mov sp, r7 80c34c6: bd80 pop {r7, pc} 080c34c8 : FATFS* fs, /* File system object */ DWORD clst, /* Cluster number to change from */ DWORD ncl, /* Number of clusters to be changed */ int bv /* bit value to be set (0 or 1) */ ) { 80c34c8: b580 push {r7, lr} 80c34ca: b088 sub sp, #32 80c34cc: af00 add r7, sp, #0 80c34ce: 60f8 str r0, [r7, #12] 80c34d0: 60b9 str r1, [r7, #8] 80c34d2: 607a str r2, [r7, #4] 80c34d4: 603b str r3, [r7, #0] BYTE bm; UINT i; DWORD sect; clst -= 2; /* The first bit corresponds to cluster #2 */ 80c34d6: 68bb ldr r3, [r7, #8] 80c34d8: 3b02 subs r3, #2 80c34da: 60bb str r3, [r7, #8] sect = fs->database + clst / 8 / SS(fs); /* Sector address (assuming bitmap is located top of the cluster heap) */ 80c34dc: 68fb ldr r3, [r7, #12] 80c34de: 6b1a ldr r2, [r3, #48] ; 0x30 80c34e0: 68bb ldr r3, [r7, #8] 80c34e2: 0b1b lsrs r3, r3, #12 80c34e4: 4413 add r3, r2 80c34e6: 617b str r3, [r7, #20] i = clst / 8 % SS(fs); /* Byte offset in the sector */ 80c34e8: 68bb ldr r3, [r7, #8] 80c34ea: 08db lsrs r3, r3, #3 80c34ec: f3c3 0308 ubfx r3, r3, #0, #9 80c34f0: 61bb str r3, [r7, #24] bm = 1 << (clst % 8); /* Bit mask in the byte */ 80c34f2: 68bb ldr r3, [r7, #8] 80c34f4: f003 0307 and.w r3, r3, #7 80c34f8: 2201 movs r2, #1 80c34fa: fa02 f303 lsl.w r3, r2, r3 80c34fe: 77fb strb r3, [r7, #31] for (;;) { if (move_window(fs, sect++) != FR_OK) return FR_DISK_ERR; 80c3500: 697b ldr r3, [r7, #20] 80c3502: 1c5a adds r2, r3, #1 80c3504: 617a str r2, [r7, #20] 80c3506: 4619 mov r1, r3 80c3508: 68f8 ldr r0, [r7, #12] 80c350a: f7ff fc9a bl 80c2e42 80c350e: 4603 mov r3, r0 80c3510: 2b00 cmp r3, #0 80c3512: d001 beq.n 80c3518 80c3514: 2301 movs r3, #1 80c3516: e03d b.n 80c3594 do { do { if (bv == (int)((fs->win[i] & bm) != 0)) return FR_INT_ERR; /* Is the bit expected value? */ 80c3518: 68fa ldr r2, [r7, #12] 80c351a: 69bb ldr r3, [r7, #24] 80c351c: 4413 add r3, r2 80c351e: 3338 adds r3, #56 ; 0x38 80c3520: 781a ldrb r2, [r3, #0] 80c3522: 7ffb ldrb r3, [r7, #31] 80c3524: 4013 ands r3, r2 80c3526: b2db uxtb r3, r3 80c3528: 2b00 cmp r3, #0 80c352a: bf14 ite ne 80c352c: 2301 movne r3, #1 80c352e: 2300 moveq r3, #0 80c3530: b2db uxtb r3, r3 80c3532: 461a mov r2, r3 80c3534: 683b ldr r3, [r7, #0] 80c3536: 429a cmp r2, r3 80c3538: d101 bne.n 80c353e 80c353a: 2302 movs r3, #2 80c353c: e02a b.n 80c3594 fs->win[i] ^= bm; /* Flip the bit */ 80c353e: 68fa ldr r2, [r7, #12] 80c3540: 69bb ldr r3, [r7, #24] 80c3542: 4413 add r3, r2 80c3544: 3338 adds r3, #56 ; 0x38 80c3546: 781a ldrb r2, [r3, #0] 80c3548: 7ffb ldrb r3, [r7, #31] 80c354a: 4053 eors r3, r2 80c354c: b2d9 uxtb r1, r3 80c354e: 68fa ldr r2, [r7, #12] 80c3550: 69bb ldr r3, [r7, #24] 80c3552: 4413 add r3, r2 80c3554: 3338 adds r3, #56 ; 0x38 80c3556: 460a mov r2, r1 80c3558: 701a strb r2, [r3, #0] fs->wflag = 1; 80c355a: 68fb ldr r3, [r7, #12] 80c355c: 2201 movs r2, #1 80c355e: 70da strb r2, [r3, #3] if (--ncl == 0) return FR_OK; /* All bits processed? */ 80c3560: 687b ldr r3, [r7, #4] 80c3562: 3b01 subs r3, #1 80c3564: 607b str r3, [r7, #4] 80c3566: 687b ldr r3, [r7, #4] 80c3568: 2b00 cmp r3, #0 80c356a: d101 bne.n 80c3570 80c356c: 2300 movs r3, #0 80c356e: e011 b.n 80c3594 } while (bm <<= 1); /* Next bit */ 80c3570: 7ffb ldrb r3, [r7, #31] 80c3572: 005b lsls r3, r3, #1 80c3574: 77fb strb r3, [r7, #31] 80c3576: 7ffb ldrb r3, [r7, #31] 80c3578: 2b00 cmp r3, #0 80c357a: d1cd bne.n 80c3518 bm = 1; 80c357c: 2301 movs r3, #1 80c357e: 77fb strb r3, [r7, #31] } while (++i < SS(fs)); /* Next byte */ 80c3580: 69bb ldr r3, [r7, #24] 80c3582: 3301 adds r3, #1 80c3584: 61bb str r3, [r7, #24] 80c3586: 69bb ldr r3, [r7, #24] 80c3588: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c358c: d3c4 bcc.n 80c3518 i = 0; 80c358e: 2300 movs r3, #0 80c3590: 61bb str r3, [r7, #24] if (move_window(fs, sect++) != FR_OK) return FR_DISK_ERR; 80c3592: e7b5 b.n 80c3500 } } 80c3594: 4618 mov r0, r3 80c3596: 3720 adds r7, #32 80c3598: 46bd mov sp, r7 80c359a: bd80 pop {r7, pc} 080c359c : static FRESULT fill_first_frag ( _FDID* obj /* Pointer to the corresponding object */ ) { 80c359c: b580 push {r7, lr} 80c359e: b086 sub sp, #24 80c35a0: af00 add r7, sp, #0 80c35a2: 6078 str r0, [r7, #4] FRESULT res; DWORD cl, n; if (obj->stat == 3) { /* Has the object been changed 'fragmented'? */ 80c35a4: 687b ldr r3, [r7, #4] 80c35a6: 79db ldrb r3, [r3, #7] 80c35a8: 2b03 cmp r3, #3 80c35aa: d121 bne.n 80c35f0 for (cl = obj->sclust, n = obj->n_cont; n; cl++, n--) { /* Create cluster chain on the FAT */ 80c35ac: 687b ldr r3, [r7, #4] 80c35ae: 689b ldr r3, [r3, #8] 80c35b0: 617b str r3, [r7, #20] 80c35b2: 687b ldr r3, [r7, #4] 80c35b4: 699b ldr r3, [r3, #24] 80c35b6: 613b str r3, [r7, #16] 80c35b8: e014 b.n 80c35e4 res = put_fat(obj->fs, cl, cl + 1); 80c35ba: 687b ldr r3, [r7, #4] 80c35bc: 6818 ldr r0, [r3, #0] 80c35be: 697b ldr r3, [r7, #20] 80c35c0: 3301 adds r3, #1 80c35c2: 461a mov r2, r3 80c35c4: 6979 ldr r1, [r7, #20] 80c35c6: f7ff fe0f bl 80c31e8 80c35ca: 4603 mov r3, r0 80c35cc: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c35ce: 7bfb ldrb r3, [r7, #15] 80c35d0: 2b00 cmp r3, #0 80c35d2: d001 beq.n 80c35d8 80c35d4: 7bfb ldrb r3, [r7, #15] 80c35d6: e00c b.n 80c35f2 for (cl = obj->sclust, n = obj->n_cont; n; cl++, n--) { /* Create cluster chain on the FAT */ 80c35d8: 697b ldr r3, [r7, #20] 80c35da: 3301 adds r3, #1 80c35dc: 617b str r3, [r7, #20] 80c35de: 693b ldr r3, [r7, #16] 80c35e0: 3b01 subs r3, #1 80c35e2: 613b str r3, [r7, #16] 80c35e4: 693b ldr r3, [r7, #16] 80c35e6: 2b00 cmp r3, #0 80c35e8: d1e7 bne.n 80c35ba } obj->stat = 0; /* Change status 'FAT chain is valid' */ 80c35ea: 687b ldr r3, [r7, #4] 80c35ec: 2200 movs r2, #0 80c35ee: 71da strb r2, [r3, #7] } return FR_OK; 80c35f0: 2300 movs r3, #0 } 80c35f2: 4618 mov r0, r3 80c35f4: 3718 adds r7, #24 80c35f6: 46bd mov sp, r7 80c35f8: bd80 pop {r7, pc} 080c35fa : FRESULT fill_last_frag ( _FDID* obj, /* Pointer to the corresponding object */ DWORD lcl, /* Last cluster of the fragment */ DWORD term /* Value to set the last FAT entry */ ) { 80c35fa: b580 push {r7, lr} 80c35fc: b086 sub sp, #24 80c35fe: af00 add r7, sp, #0 80c3600: 60f8 str r0, [r7, #12] 80c3602: 60b9 str r1, [r7, #8] 80c3604: 607a str r2, [r7, #4] FRESULT res; while (obj->n_frag > 0) { /* Create the last chain on the FAT */ 80c3606: e020 b.n 80c364a res = put_fat(obj->fs, lcl - obj->n_frag + 1, (obj->n_frag > 1) ? lcl - obj->n_frag + 2 : term); 80c3608: 68fb ldr r3, [r7, #12] 80c360a: 6818 ldr r0, [r3, #0] 80c360c: 68fb ldr r3, [r7, #12] 80c360e: 69db ldr r3, [r3, #28] 80c3610: 68ba ldr r2, [r7, #8] 80c3612: 1ad3 subs r3, r2, r3 80c3614: 1c59 adds r1, r3, #1 80c3616: 68fb ldr r3, [r7, #12] 80c3618: 69db ldr r3, [r3, #28] 80c361a: 2b01 cmp r3, #1 80c361c: d905 bls.n 80c362a 80c361e: 68fb ldr r3, [r7, #12] 80c3620: 69db ldr r3, [r3, #28] 80c3622: 68ba ldr r2, [r7, #8] 80c3624: 1ad3 subs r3, r2, r3 80c3626: 3302 adds r3, #2 80c3628: e000 b.n 80c362c 80c362a: 687b ldr r3, [r7, #4] 80c362c: 461a mov r2, r3 80c362e: f7ff fddb bl 80c31e8 80c3632: 4603 mov r3, r0 80c3634: 75fb strb r3, [r7, #23] if (res != FR_OK) return res; 80c3636: 7dfb ldrb r3, [r7, #23] 80c3638: 2b00 cmp r3, #0 80c363a: d001 beq.n 80c3640 80c363c: 7dfb ldrb r3, [r7, #23] 80c363e: e009 b.n 80c3654 obj->n_frag--; 80c3640: 68fb ldr r3, [r7, #12] 80c3642: 69db ldr r3, [r3, #28] 80c3644: 1e5a subs r2, r3, #1 80c3646: 68fb ldr r3, [r7, #12] 80c3648: 61da str r2, [r3, #28] while (obj->n_frag > 0) { /* Create the last chain on the FAT */ 80c364a: 68fb ldr r3, [r7, #12] 80c364c: 69db ldr r3, [r3, #28] 80c364e: 2b00 cmp r3, #0 80c3650: d1da bne.n 80c3608 } return FR_OK; 80c3652: 2300 movs r3, #0 } 80c3654: 4618 mov r0, r3 80c3656: 3718 adds r7, #24 80c3658: 46bd mov sp, r7 80c365a: bd80 pop {r7, pc} 080c365c : FRESULT remove_chain ( /* FR_OK(0):succeeded, !=0:error */ _FDID* obj, /* Corresponding object */ DWORD clst, /* Cluster to remove a chain from */ DWORD pclst /* Previous cluster of clst (0:an entire chain) */ ) { 80c365c: b580 push {r7, lr} 80c365e: b08a sub sp, #40 ; 0x28 80c3660: af00 add r7, sp, #0 80c3662: 60f8 str r0, [r7, #12] 80c3664: 60b9 str r1, [r7, #8] 80c3666: 607a str r2, [r7, #4] FRESULT res = FR_OK; 80c3668: 2300 movs r3, #0 80c366a: 77fb strb r3, [r7, #31] DWORD nxt; FATFS *fs = obj->fs; 80c366c: 68fb ldr r3, [r7, #12] 80c366e: 681b ldr r3, [r3, #0] 80c3670: 61bb str r3, [r7, #24] #if _FS_EXFAT || _USE_TRIM DWORD scl = clst, ecl = clst; 80c3672: 68bb ldr r3, [r7, #8] 80c3674: 627b str r3, [r7, #36] ; 0x24 80c3676: 68bb ldr r3, [r7, #8] 80c3678: 623b str r3, [r7, #32] #endif #if _USE_TRIM DWORD rt[2]; #endif if (clst < 2 || clst >= fs->n_fatent) return FR_INT_ERR; /* Check if in valid range */ 80c367a: 68bb ldr r3, [r7, #8] 80c367c: 2b01 cmp r3, #1 80c367e: d904 bls.n 80c368a 80c3680: 69bb ldr r3, [r7, #24] 80c3682: 69da ldr r2, [r3, #28] 80c3684: 68bb ldr r3, [r7, #8] 80c3686: 429a cmp r2, r3 80c3688: d801 bhi.n 80c368e 80c368a: 2302 movs r3, #2 80c368c: e096 b.n 80c37bc /* Mark the previous cluster 'EOC' on the FAT if it exists */ if (pclst && (!_FS_EXFAT || fs->fs_type != FS_EXFAT || obj->stat != 2)) { 80c368e: 687b ldr r3, [r7, #4] 80c3690: 2b00 cmp r3, #0 80c3692: d014 beq.n 80c36be 80c3694: 69bb ldr r3, [r7, #24] 80c3696: 781b ldrb r3, [r3, #0] 80c3698: 2b04 cmp r3, #4 80c369a: d103 bne.n 80c36a4 80c369c: 68fb ldr r3, [r7, #12] 80c369e: 79db ldrb r3, [r3, #7] 80c36a0: 2b02 cmp r3, #2 80c36a2: d00c beq.n 80c36be res = put_fat(fs, pclst, 0xFFFFFFFF); 80c36a4: f04f 32ff mov.w r2, #4294967295 80c36a8: 6879 ldr r1, [r7, #4] 80c36aa: 69b8 ldr r0, [r7, #24] 80c36ac: f7ff fd9c bl 80c31e8 80c36b0: 4603 mov r3, r0 80c36b2: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c36b4: 7ffb ldrb r3, [r7, #31] 80c36b6: 2b00 cmp r3, #0 80c36b8: d001 beq.n 80c36be 80c36ba: 7ffb ldrb r3, [r7, #31] 80c36bc: e07e b.n 80c37bc } /* Remove the chain */ do { nxt = get_fat(obj, clst); /* Get cluster status */ 80c36be: 68b9 ldr r1, [r7, #8] 80c36c0: 68f8 ldr r0, [r7, #12] 80c36c2: f7ff fc79 bl 80c2fb8 80c36c6: 6178 str r0, [r7, #20] if (nxt == 0) break; /* Empty cluster? */ 80c36c8: 697b ldr r3, [r7, #20] 80c36ca: 2b00 cmp r3, #0 80c36cc: d055 beq.n 80c377a if (nxt == 1) return FR_INT_ERR; /* Internal error? */ 80c36ce: 697b ldr r3, [r7, #20] 80c36d0: 2b01 cmp r3, #1 80c36d2: d101 bne.n 80c36d8 80c36d4: 2302 movs r3, #2 80c36d6: e071 b.n 80c37bc if (nxt == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error? */ 80c36d8: 697b ldr r3, [r7, #20] 80c36da: f1b3 3fff cmp.w r3, #4294967295 80c36de: d101 bne.n 80c36e4 80c36e0: 2301 movs r3, #1 80c36e2: e06b b.n 80c37bc if (!_FS_EXFAT || fs->fs_type != FS_EXFAT) { 80c36e4: 69bb ldr r3, [r7, #24] 80c36e6: 781b ldrb r3, [r3, #0] 80c36e8: 2b04 cmp r3, #4 80c36ea: d00b beq.n 80c3704 res = put_fat(fs, clst, 0); /* Mark the cluster 'free' on the FAT */ 80c36ec: 2200 movs r2, #0 80c36ee: 68b9 ldr r1, [r7, #8] 80c36f0: 69b8 ldr r0, [r7, #24] 80c36f2: f7ff fd79 bl 80c31e8 80c36f6: 4603 mov r3, r0 80c36f8: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c36fa: 7ffb ldrb r3, [r7, #31] 80c36fc: 2b00 cmp r3, #0 80c36fe: d001 beq.n 80c3704 80c3700: 7ffb ldrb r3, [r7, #31] 80c3702: e05b b.n 80c37bc } if (fs->free_clst < fs->n_fatent - 2) { /* Update FSINFO */ 80c3704: 69bb ldr r3, [r7, #24] 80c3706: 699a ldr r2, [r3, #24] 80c3708: 69bb ldr r3, [r7, #24] 80c370a: 69db ldr r3, [r3, #28] 80c370c: 3b02 subs r3, #2 80c370e: 429a cmp r2, r3 80c3710: d20b bcs.n 80c372a fs->free_clst++; 80c3712: 69bb ldr r3, [r7, #24] 80c3714: 699b ldr r3, [r3, #24] 80c3716: 1c5a adds r2, r3, #1 80c3718: 69bb ldr r3, [r7, #24] 80c371a: 619a str r2, [r3, #24] fs->fsi_flag |= 1; 80c371c: 69bb ldr r3, [r7, #24] 80c371e: 791b ldrb r3, [r3, #4] 80c3720: f043 0301 orr.w r3, r3, #1 80c3724: b2da uxtb r2, r3 80c3726: 69bb ldr r3, [r7, #24] 80c3728: 711a strb r2, [r3, #4] } #if _FS_EXFAT || _USE_TRIM if (ecl + 1 == nxt) { /* Is next cluster contiguous? */ 80c372a: 6a3b ldr r3, [r7, #32] 80c372c: 1c5a adds r2, r3, #1 80c372e: 697b ldr r3, [r7, #20] 80c3730: 429a cmp r2, r3 80c3732: d102 bne.n 80c373a ecl = nxt; 80c3734: 697b ldr r3, [r7, #20] 80c3736: 623b str r3, [r7, #32] 80c3738: e017 b.n 80c376a } else { /* End of contiguous cluster block */ #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c373a: 69bb ldr r3, [r7, #24] 80c373c: 781b ldrb r3, [r3, #0] 80c373e: 2b04 cmp r3, #4 80c3740: d10f bne.n 80c3762 res = change_bitmap(fs, scl, ecl - scl + 1, 0); /* Mark the cluster block 'free' on the bitmap */ 80c3742: 6a3a ldr r2, [r7, #32] 80c3744: 6a7b ldr r3, [r7, #36] ; 0x24 80c3746: 1ad3 subs r3, r2, r3 80c3748: 1c5a adds r2, r3, #1 80c374a: 2300 movs r3, #0 80c374c: 6a79 ldr r1, [r7, #36] ; 0x24 80c374e: 69b8 ldr r0, [r7, #24] 80c3750: f7ff feba bl 80c34c8 80c3754: 4603 mov r3, r0 80c3756: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c3758: 7ffb ldrb r3, [r7, #31] 80c375a: 2b00 cmp r3, #0 80c375c: d001 beq.n 80c3762 80c375e: 7ffb ldrb r3, [r7, #31] 80c3760: e02c b.n 80c37bc #if _USE_TRIM rt[0] = clust2sect(fs, scl); /* Start sector */ rt[1] = clust2sect(fs, ecl) + fs->csize - 1; /* End sector */ disk_ioctl(fs->drv, CTRL_TRIM, rt); /* Inform device the block can be erased */ #endif scl = ecl = nxt; 80c3762: 697b ldr r3, [r7, #20] 80c3764: 623b str r3, [r7, #32] 80c3766: 6a3b ldr r3, [r7, #32] 80c3768: 627b str r3, [r7, #36] ; 0x24 } #endif clst = nxt; /* Next cluster */ 80c376a: 697b ldr r3, [r7, #20] 80c376c: 60bb str r3, [r7, #8] } while (clst < fs->n_fatent); /* Repeat while not the last link */ 80c376e: 69bb ldr r3, [r7, #24] 80c3770: 69da ldr r2, [r3, #28] 80c3772: 68bb ldr r3, [r7, #8] 80c3774: 429a cmp r2, r3 80c3776: d8a2 bhi.n 80c36be 80c3778: e000 b.n 80c377c if (nxt == 0) break; /* Empty cluster? */ 80c377a: bf00 nop #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c377c: 69bb ldr r3, [r7, #24] 80c377e: 781b ldrb r3, [r3, #0] 80c3780: 2b04 cmp r3, #4 80c3782: d11a bne.n 80c37ba if (pclst == 0) { /* Does the object have no chain? */ 80c3784: 687b ldr r3, [r7, #4] 80c3786: 2b00 cmp r3, #0 80c3788: d103 bne.n 80c3792 obj->stat = 0; /* Change the object status 'initial' */ 80c378a: 68fb ldr r3, [r7, #12] 80c378c: 2200 movs r2, #0 80c378e: 71da strb r2, [r3, #7] 80c3790: e013 b.n 80c37ba } else { if (obj->stat == 3 && pclst >= obj->sclust && pclst <= obj->sclust + obj->n_cont) { /* Did the chain get contiguous? */ 80c3792: 68fb ldr r3, [r7, #12] 80c3794: 79db ldrb r3, [r3, #7] 80c3796: 2b03 cmp r3, #3 80c3798: d10f bne.n 80c37ba 80c379a: 68fb ldr r3, [r7, #12] 80c379c: 689a ldr r2, [r3, #8] 80c379e: 687b ldr r3, [r7, #4] 80c37a0: 429a cmp r2, r3 80c37a2: d80a bhi.n 80c37ba 80c37a4: 68fb ldr r3, [r7, #12] 80c37a6: 689a ldr r2, [r3, #8] 80c37a8: 68fb ldr r3, [r7, #12] 80c37aa: 699b ldr r3, [r3, #24] 80c37ac: 441a add r2, r3 80c37ae: 687b ldr r3, [r7, #4] 80c37b0: 429a cmp r2, r3 80c37b2: d302 bcc.n 80c37ba obj->stat = 2; /* Change the object status 'contiguous' */ 80c37b4: 68fb ldr r3, [r7, #12] 80c37b6: 2202 movs r2, #2 80c37b8: 71da strb r2, [r3, #7] } } } #endif return FR_OK; 80c37ba: 2300 movs r3, #0 } 80c37bc: 4618 mov r0, r3 80c37be: 3728 adds r7, #40 ; 0x28 80c37c0: 46bd mov sp, r7 80c37c2: bd80 pop {r7, pc} 080c37c4 : static DWORD create_chain ( /* 0:No free cluster, 1:Internal error, 0xFFFFFFFF:Disk error, >=2:New cluster# */ _FDID* obj, /* Corresponding object */ DWORD clst /* Cluster# to stretch, 0:Create a new chain */ ) { 80c37c4: b580 push {r7, lr} 80c37c6: b088 sub sp, #32 80c37c8: af00 add r7, sp, #0 80c37ca: 6078 str r0, [r7, #4] 80c37cc: 6039 str r1, [r7, #0] DWORD cs, ncl, scl; FRESULT res; FATFS *fs = obj->fs; 80c37ce: 687b ldr r3, [r7, #4] 80c37d0: 681b ldr r3, [r3, #0] 80c37d2: 613b str r3, [r7, #16] if (clst == 0) { /* Create a new chain */ 80c37d4: 683b ldr r3, [r7, #0] 80c37d6: 2b00 cmp r3, #0 80c37d8: d10d bne.n 80c37f6 scl = fs->last_clst; /* Get suggested cluster to start from */ 80c37da: 693b ldr r3, [r7, #16] 80c37dc: 695b ldr r3, [r3, #20] 80c37de: 61bb str r3, [r7, #24] if (scl == 0 || scl >= fs->n_fatent) scl = 1; 80c37e0: 69bb ldr r3, [r7, #24] 80c37e2: 2b00 cmp r3, #0 80c37e4: d004 beq.n 80c37f0 80c37e6: 693b ldr r3, [r7, #16] 80c37e8: 69da ldr r2, [r3, #28] 80c37ea: 69bb ldr r3, [r7, #24] 80c37ec: 429a cmp r2, r3 80c37ee: d81b bhi.n 80c3828 80c37f0: 2301 movs r3, #1 80c37f2: 61bb str r3, [r7, #24] 80c37f4: e018 b.n 80c3828 } else { /* Stretch current chain */ cs = get_fat(obj, clst); /* Check the cluster status */ 80c37f6: 6839 ldr r1, [r7, #0] 80c37f8: 6878 ldr r0, [r7, #4] 80c37fa: f7ff fbdd bl 80c2fb8 80c37fe: 60f8 str r0, [r7, #12] if (cs < 2) return 1; /* Invalid FAT value */ 80c3800: 68fb ldr r3, [r7, #12] 80c3802: 2b01 cmp r3, #1 80c3804: d801 bhi.n 80c380a 80c3806: 2301 movs r3, #1 80c3808: e0d9 b.n 80c39be if (cs == 0xFFFFFFFF) return cs; /* A disk error occurred */ 80c380a: 68fb ldr r3, [r7, #12] 80c380c: f1b3 3fff cmp.w r3, #4294967295 80c3810: d101 bne.n 80c3816 80c3812: 68fb ldr r3, [r7, #12] 80c3814: e0d3 b.n 80c39be if (cs < fs->n_fatent) return cs; /* It is already followed by next cluster */ 80c3816: 693b ldr r3, [r7, #16] 80c3818: 69da ldr r2, [r3, #28] 80c381a: 68fb ldr r3, [r7, #12] 80c381c: 429a cmp r2, r3 80c381e: d901 bls.n 80c3824 80c3820: 68fb ldr r3, [r7, #12] 80c3822: e0cc b.n 80c39be scl = clst; 80c3824: 683b ldr r3, [r7, #0] 80c3826: 61bb str r3, [r7, #24] } #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c3828: 693b ldr r3, [r7, #16] 80c382a: 781b ldrb r3, [r3, #0] 80c382c: 2b04 cmp r3, #4 80c382e: d164 bne.n 80c38fa ncl = find_bitmap(fs, scl, 1); /* Find a free cluster */ 80c3830: 2201 movs r2, #1 80c3832: 69b9 ldr r1, [r7, #24] 80c3834: 6938 ldr r0, [r7, #16] 80c3836: f7ff fdcb bl 80c33d0 80c383a: 61f8 str r0, [r7, #28] if (ncl == 0 || ncl == 0xFFFFFFFF) return ncl; /* No free cluster or hard error? */ 80c383c: 69fb ldr r3, [r7, #28] 80c383e: 2b00 cmp r3, #0 80c3840: d003 beq.n 80c384a 80c3842: 69fb ldr r3, [r7, #28] 80c3844: f1b3 3fff cmp.w r3, #4294967295 80c3848: d101 bne.n 80c384e 80c384a: 69fb ldr r3, [r7, #28] 80c384c: e0b7 b.n 80c39be res = change_bitmap(fs, ncl, 1, 1); /* Mark the cluster 'in use' */ 80c384e: 2301 movs r3, #1 80c3850: 2201 movs r2, #1 80c3852: 69f9 ldr r1, [r7, #28] 80c3854: 6938 ldr r0, [r7, #16] 80c3856: f7ff fe37 bl 80c34c8 80c385a: 4603 mov r3, r0 80c385c: 75fb strb r3, [r7, #23] if (res == FR_INT_ERR) return 1; 80c385e: 7dfb ldrb r3, [r7, #23] 80c3860: 2b02 cmp r3, #2 80c3862: d101 bne.n 80c3868 80c3864: 2301 movs r3, #1 80c3866: e0aa b.n 80c39be if (res == FR_DISK_ERR) return 0xFFFFFFFF; 80c3868: 7dfb ldrb r3, [r7, #23] 80c386a: 2b01 cmp r3, #1 80c386c: d102 bne.n 80c3874 80c386e: f04f 33ff mov.w r3, #4294967295 80c3872: e0a4 b.n 80c39be if (clst == 0) { /* Is it a new chain? */ 80c3874: 683b ldr r3, [r7, #0] 80c3876: 2b00 cmp r3, #0 80c3878: d103 bne.n 80c3882 obj->stat = 2; /* Set status 'contiguous' */ 80c387a: 687b ldr r3, [r7, #4] 80c387c: 2202 movs r2, #2 80c387e: 71da strb r2, [r3, #7] 80c3880: e011 b.n 80c38a6 } else { /* It is a stretched chain */ if (obj->stat == 2 && ncl != scl + 1) { /* Is the chain got fragmented? */ 80c3882: 687b ldr r3, [r7, #4] 80c3884: 79db ldrb r3, [r3, #7] 80c3886: 2b02 cmp r3, #2 80c3888: d10d bne.n 80c38a6 80c388a: 69bb ldr r3, [r7, #24] 80c388c: 1c5a adds r2, r3, #1 80c388e: 69fb ldr r3, [r7, #28] 80c3890: 429a cmp r2, r3 80c3892: d008 beq.n 80c38a6 obj->n_cont = scl - obj->sclust; /* Set size of the contiguous part */ 80c3894: 687b ldr r3, [r7, #4] 80c3896: 689b ldr r3, [r3, #8] 80c3898: 69ba ldr r2, [r7, #24] 80c389a: 1ad2 subs r2, r2, r3 80c389c: 687b ldr r3, [r7, #4] 80c389e: 619a str r2, [r3, #24] obj->stat = 3; /* Change status 'just fragmented' */ 80c38a0: 687b ldr r3, [r7, #4] 80c38a2: 2203 movs r2, #3 80c38a4: 71da strb r2, [r3, #7] } } if (obj->stat != 2) { /* Is the file non-contiguous? */ 80c38a6: 687b ldr r3, [r7, #4] 80c38a8: 79db ldrb r3, [r3, #7] 80c38aa: 2b02 cmp r3, #2 80c38ac: d064 beq.n 80c3978 if (ncl == clst + 1) { /* Is the cluster next to previous one? */ 80c38ae: 683b ldr r3, [r7, #0] 80c38b0: 1c5a adds r2, r3, #1 80c38b2: 69fb ldr r3, [r7, #28] 80c38b4: 429a cmp r2, r3 80c38b6: d10b bne.n 80c38d0 obj->n_frag = obj->n_frag ? obj->n_frag + 1 : 2; /* Increment size of last framgent */ 80c38b8: 687b ldr r3, [r7, #4] 80c38ba: 69db ldr r3, [r3, #28] 80c38bc: 2b00 cmp r3, #0 80c38be: d003 beq.n 80c38c8 80c38c0: 687b ldr r3, [r7, #4] 80c38c2: 69db ldr r3, [r3, #28] 80c38c4: 3301 adds r3, #1 80c38c6: e000 b.n 80c38ca 80c38c8: 2302 movs r3, #2 80c38ca: 687a ldr r2, [r7, #4] 80c38cc: 61d3 str r3, [r2, #28] 80c38ce: e053 b.n 80c3978 } else { /* New fragment */ if (obj->n_frag == 0) obj->n_frag = 1; 80c38d0: 687b ldr r3, [r7, #4] 80c38d2: 69db ldr r3, [r3, #28] 80c38d4: 2b00 cmp r3, #0 80c38d6: d102 bne.n 80c38de 80c38d8: 687b ldr r3, [r7, #4] 80c38da: 2201 movs r2, #1 80c38dc: 61da str r2, [r3, #28] res = fill_last_frag(obj, clst, ncl); /* Fill last fragment on the FAT and link it to new one */ 80c38de: 69fa ldr r2, [r7, #28] 80c38e0: 6839 ldr r1, [r7, #0] 80c38e2: 6878 ldr r0, [r7, #4] 80c38e4: f7ff fe89 bl 80c35fa 80c38e8: 4603 mov r3, r0 80c38ea: 75fb strb r3, [r7, #23] if (res == FR_OK) obj->n_frag = 1; 80c38ec: 7dfb ldrb r3, [r7, #23] 80c38ee: 2b00 cmp r3, #0 80c38f0: d142 bne.n 80c3978 80c38f2: 687b ldr r3, [r7, #4] 80c38f4: 2201 movs r2, #1 80c38f6: 61da str r2, [r3, #28] 80c38f8: e03e b.n 80c3978 } } } else #endif { /* On the FAT12/16/32 volume */ ncl = scl; /* Start cluster */ 80c38fa: 69bb ldr r3, [r7, #24] 80c38fc: 61fb str r3, [r7, #28] for (;;) { ncl++; /* Next cluster */ 80c38fe: 69fb ldr r3, [r7, #28] 80c3900: 3301 adds r3, #1 80c3902: 61fb str r3, [r7, #28] if (ncl >= fs->n_fatent) { /* Check wrap-around */ 80c3904: 693b ldr r3, [r7, #16] 80c3906: 69da ldr r2, [r3, #28] 80c3908: 69fb ldr r3, [r7, #28] 80c390a: 429a cmp r2, r3 80c390c: d807 bhi.n 80c391e ncl = 2; 80c390e: 2302 movs r3, #2 80c3910: 61fb str r3, [r7, #28] if (ncl > scl) return 0; /* No free cluster */ 80c3912: 69fa ldr r2, [r7, #28] 80c3914: 69bb ldr r3, [r7, #24] 80c3916: 429a cmp r2, r3 80c3918: d901 bls.n 80c391e 80c391a: 2300 movs r3, #0 80c391c: e04f b.n 80c39be } cs = get_fat(obj, ncl); /* Get the cluster status */ 80c391e: 69f9 ldr r1, [r7, #28] 80c3920: 6878 ldr r0, [r7, #4] 80c3922: f7ff fb49 bl 80c2fb8 80c3926: 60f8 str r0, [r7, #12] if (cs == 0) break; /* Found a free cluster */ 80c3928: 68fb ldr r3, [r7, #12] 80c392a: 2b00 cmp r3, #0 80c392c: d00e beq.n 80c394c if (cs == 1 || cs == 0xFFFFFFFF) return cs; /* An error occurred */ 80c392e: 68fb ldr r3, [r7, #12] 80c3930: 2b01 cmp r3, #1 80c3932: d003 beq.n 80c393c 80c3934: 68fb ldr r3, [r7, #12] 80c3936: f1b3 3fff cmp.w r3, #4294967295 80c393a: d101 bne.n 80c3940 80c393c: 68fb ldr r3, [r7, #12] 80c393e: e03e b.n 80c39be if (ncl == scl) return 0; /* No free cluster */ 80c3940: 69fa ldr r2, [r7, #28] 80c3942: 69bb ldr r3, [r7, #24] 80c3944: 429a cmp r2, r3 80c3946: d1da bne.n 80c38fe 80c3948: 2300 movs r3, #0 80c394a: e038 b.n 80c39be if (cs == 0) break; /* Found a free cluster */ 80c394c: bf00 nop } res = put_fat(fs, ncl, 0xFFFFFFFF); /* Mark the new cluster 'EOC' */ 80c394e: f04f 32ff mov.w r2, #4294967295 80c3952: 69f9 ldr r1, [r7, #28] 80c3954: 6938 ldr r0, [r7, #16] 80c3956: f7ff fc47 bl 80c31e8 80c395a: 4603 mov r3, r0 80c395c: 75fb strb r3, [r7, #23] if (res == FR_OK && clst != 0) { 80c395e: 7dfb ldrb r3, [r7, #23] 80c3960: 2b00 cmp r3, #0 80c3962: d109 bne.n 80c3978 80c3964: 683b ldr r3, [r7, #0] 80c3966: 2b00 cmp r3, #0 80c3968: d006 beq.n 80c3978 res = put_fat(fs, clst, ncl); /* Link it from the previous one if needed */ 80c396a: 69fa ldr r2, [r7, #28] 80c396c: 6839 ldr r1, [r7, #0] 80c396e: 6938 ldr r0, [r7, #16] 80c3970: f7ff fc3a bl 80c31e8 80c3974: 4603 mov r3, r0 80c3976: 75fb strb r3, [r7, #23] } } if (res == FR_OK) { /* Update FSINFO if function succeeded. */ 80c3978: 7dfb ldrb r3, [r7, #23] 80c397a: 2b00 cmp r3, #0 80c397c: d116 bne.n 80c39ac fs->last_clst = ncl; 80c397e: 693b ldr r3, [r7, #16] 80c3980: 69fa ldr r2, [r7, #28] 80c3982: 615a str r2, [r3, #20] if (fs->free_clst <= fs->n_fatent - 2) fs->free_clst--; 80c3984: 693b ldr r3, [r7, #16] 80c3986: 699a ldr r2, [r3, #24] 80c3988: 693b ldr r3, [r7, #16] 80c398a: 69db ldr r3, [r3, #28] 80c398c: 3b02 subs r3, #2 80c398e: 429a cmp r2, r3 80c3990: d804 bhi.n 80c399c 80c3992: 693b ldr r3, [r7, #16] 80c3994: 699b ldr r3, [r3, #24] 80c3996: 1e5a subs r2, r3, #1 80c3998: 693b ldr r3, [r7, #16] 80c399a: 619a str r2, [r3, #24] fs->fsi_flag |= 1; 80c399c: 693b ldr r3, [r7, #16] 80c399e: 791b ldrb r3, [r3, #4] 80c39a0: f043 0301 orr.w r3, r3, #1 80c39a4: b2da uxtb r2, r3 80c39a6: 693b ldr r3, [r7, #16] 80c39a8: 711a strb r2, [r3, #4] 80c39aa: e007 b.n 80c39bc } else { ncl = (res == FR_DISK_ERR) ? 0xFFFFFFFF : 1; /* Failed. Generate error status */ 80c39ac: 7dfb ldrb r3, [r7, #23] 80c39ae: 2b01 cmp r3, #1 80c39b0: d102 bne.n 80c39b8 80c39b2: f04f 33ff mov.w r3, #4294967295 80c39b6: e000 b.n 80c39ba 80c39b8: 2301 movs r3, #1 80c39ba: 61fb str r3, [r7, #28] } return ncl; /* Return new cluster number or error status */ 80c39bc: 69fb ldr r3, [r7, #28] } 80c39be: 4618 mov r0, r3 80c39c0: 3720 adds r7, #32 80c39c2: 46bd mov sp, r7 80c39c4: bd80 pop {r7, pc} 080c39c6 : static DWORD clmt_clust ( /* <2:Error, >=2:Cluster number */ FIL* fp, /* Pointer to the file object */ FSIZE_t ofs /* File offset to be converted to cluster# */ ) { 80c39c6: b5b0 push {r4, r5, r7, lr} 80c39c8: b088 sub sp, #32 80c39ca: af00 add r7, sp, #0 80c39cc: 60f8 str r0, [r7, #12] 80c39ce: e9c7 2300 strd r2, r3, [r7] DWORD cl, ncl, *tbl; FATFS *fs = fp->obj.fs; 80c39d2: 68fb ldr r3, [r7, #12] 80c39d4: 681b ldr r3, [r3, #0] 80c39d6: 617b str r3, [r7, #20] tbl = fp->cltbl + 1; /* Top of CLMT */ 80c39d8: 68fb ldr r3, [r7, #12] 80c39da: 6d1b ldr r3, [r3, #80] ; 0x50 80c39dc: 3304 adds r3, #4 80c39de: 61bb str r3, [r7, #24] cl = (DWORD)(ofs / SS(fs) / fs->csize); /* Cluster order from top of the file */ 80c39e0: e9d7 2300 ldrd r2, r3, [r7] 80c39e4: 0a54 lsrs r4, r2, #9 80c39e6: ea44 54c3 orr.w r4, r4, r3, lsl #23 80c39ea: 0a5d lsrs r5, r3, #9 80c39ec: 697b ldr r3, [r7, #20] 80c39ee: 895b ldrh r3, [r3, #10] 80c39f0: b29a uxth r2, r3 80c39f2: f04f 0300 mov.w r3, #0 80c39f6: 4620 mov r0, r4 80c39f8: 4629 mov r1, r5 80c39fa: f75c fdf7 bl 80205ec <__aeabi_uldivmod> 80c39fe: 4603 mov r3, r0 80c3a00: 460c mov r4, r1 80c3a02: 61fb str r3, [r7, #28] for (;;) { ncl = *tbl++; /* Number of cluters in the fragment */ 80c3a04: 69bb ldr r3, [r7, #24] 80c3a06: 1d1a adds r2, r3, #4 80c3a08: 61ba str r2, [r7, #24] 80c3a0a: 681b ldr r3, [r3, #0] 80c3a0c: 613b str r3, [r7, #16] if (ncl == 0) return 0; /* End of table? (error) */ 80c3a0e: 693b ldr r3, [r7, #16] 80c3a10: 2b00 cmp r3, #0 80c3a12: d101 bne.n 80c3a18 80c3a14: 2300 movs r3, #0 80c3a16: e010 b.n 80c3a3a if (cl < ncl) break; /* In this fragment? */ 80c3a18: 69fa ldr r2, [r7, #28] 80c3a1a: 693b ldr r3, [r7, #16] 80c3a1c: 429a cmp r2, r3 80c3a1e: d307 bcc.n 80c3a30 cl -= ncl; tbl++; /* Next fragment */ 80c3a20: 69fa ldr r2, [r7, #28] 80c3a22: 693b ldr r3, [r7, #16] 80c3a24: 1ad3 subs r3, r2, r3 80c3a26: 61fb str r3, [r7, #28] 80c3a28: 69bb ldr r3, [r7, #24] 80c3a2a: 3304 adds r3, #4 80c3a2c: 61bb str r3, [r7, #24] ncl = *tbl++; /* Number of cluters in the fragment */ 80c3a2e: e7e9 b.n 80c3a04 if (cl < ncl) break; /* In this fragment? */ 80c3a30: bf00 nop } return cl + *tbl; /* Return the cluster number */ 80c3a32: 69bb ldr r3, [r7, #24] 80c3a34: 681a ldr r2, [r3, #0] 80c3a36: 69fb ldr r3, [r7, #28] 80c3a38: 4413 add r3, r2 } 80c3a3a: 4618 mov r0, r3 80c3a3c: 3720 adds r7, #32 80c3a3e: 46bd mov sp, r7 80c3a40: bdb0 pop {r4, r5, r7, pc} 080c3a42 : static FRESULT dir_sdi ( /* FR_OK(0):succeeded, !=0:error */ DIR* dp, /* Pointer to directory object */ DWORD ofs /* Offset of directory table */ ) { 80c3a42: b580 push {r7, lr} 80c3a44: b086 sub sp, #24 80c3a46: af00 add r7, sp, #0 80c3a48: 6078 str r0, [r7, #4] 80c3a4a: 6039 str r1, [r7, #0] DWORD csz, clst; FATFS *fs = dp->obj.fs; 80c3a4c: 687b ldr r3, [r7, #4] 80c3a4e: 681b ldr r3, [r3, #0] 80c3a50: 613b str r3, [r7, #16] if (ofs >= (DWORD)((_FS_EXFAT && fs->fs_type == FS_EXFAT) ? MAX_DIR_EX : MAX_DIR) || ofs % SZDIRE) { /* Check range of offset and alignment */ 80c3a52: 693b ldr r3, [r7, #16] 80c3a54: 781b ldrb r3, [r3, #0] 80c3a56: 2b04 cmp r3, #4 80c3a58: d102 bne.n 80c3a60 80c3a5a: f04f 5280 mov.w r2, #268435456 ; 0x10000000 80c3a5e: e001 b.n 80c3a64 80c3a60: f44f 1200 mov.w r2, #2097152 ; 0x200000 80c3a64: 683b ldr r3, [r7, #0] 80c3a66: 429a cmp r2, r3 80c3a68: d904 bls.n 80c3a74 80c3a6a: 683b ldr r3, [r7, #0] 80c3a6c: f003 031f and.w r3, r3, #31 80c3a70: 2b00 cmp r3, #0 80c3a72: d001 beq.n 80c3a78 return FR_INT_ERR; 80c3a74: 2302 movs r3, #2 80c3a76: e066 b.n 80c3b46 } dp->dptr = ofs; /* Set current offset */ 80c3a78: 687b ldr r3, [r7, #4] 80c3a7a: 683a ldr r2, [r7, #0] 80c3a7c: 631a str r2, [r3, #48] ; 0x30 clst = dp->obj.sclust; /* Table start cluster (0:root) */ 80c3a7e: 687b ldr r3, [r7, #4] 80c3a80: 689b ldr r3, [r3, #8] 80c3a82: 617b str r3, [r7, #20] if (clst == 0 && fs->fs_type >= FS_FAT32) { /* Replace cluster# 0 with root cluster# */ 80c3a84: 697b ldr r3, [r7, #20] 80c3a86: 2b00 cmp r3, #0 80c3a88: d109 bne.n 80c3a9e 80c3a8a: 693b ldr r3, [r7, #16] 80c3a8c: 781b ldrb r3, [r3, #0] 80c3a8e: 2b02 cmp r3, #2 80c3a90: d905 bls.n 80c3a9e clst = fs->dirbase; 80c3a92: 693b ldr r3, [r7, #16] 80c3a94: 6adb ldr r3, [r3, #44] ; 0x2c 80c3a96: 617b str r3, [r7, #20] if (_FS_EXFAT) dp->obj.stat = 0; /* exFAT: Root dir has an FAT chain */ 80c3a98: 687b ldr r3, [r7, #4] 80c3a9a: 2200 movs r2, #0 80c3a9c: 71da strb r2, [r3, #7] } if (clst == 0) { /* Static table (root-directory in FAT12/16) */ 80c3a9e: 697b ldr r3, [r7, #20] 80c3aa0: 2b00 cmp r3, #0 80c3aa2: d10c bne.n 80c3abe if (ofs / SZDIRE >= fs->n_rootdir) return FR_INT_ERR; /* Is index out of range? */ 80c3aa4: 683b ldr r3, [r7, #0] 80c3aa6: 095b lsrs r3, r3, #5 80c3aa8: 693a ldr r2, [r7, #16] 80c3aaa: 8912 ldrh r2, [r2, #8] 80c3aac: 4293 cmp r3, r2 80c3aae: d301 bcc.n 80c3ab4 80c3ab0: 2302 movs r3, #2 80c3ab2: e048 b.n 80c3b46 dp->sect = fs->dirbase; 80c3ab4: 693b ldr r3, [r7, #16] 80c3ab6: 6ada ldr r2, [r3, #44] ; 0x2c 80c3ab8: 687b ldr r3, [r7, #4] 80c3aba: 639a str r2, [r3, #56] ; 0x38 80c3abc: e029 b.n 80c3b12 } else { /* Dynamic table (sub-directory or root-directory in FAT32+) */ csz = (DWORD)fs->csize * SS(fs); /* Bytes per cluster */ 80c3abe: 693b ldr r3, [r7, #16] 80c3ac0: 895b ldrh r3, [r3, #10] 80c3ac2: 025b lsls r3, r3, #9 80c3ac4: 60fb str r3, [r7, #12] while (ofs >= csz) { /* Follow cluster chain */ 80c3ac6: e019 b.n 80c3afc clst = get_fat(&dp->obj, clst); /* Get next cluster */ 80c3ac8: 687b ldr r3, [r7, #4] 80c3aca: 6979 ldr r1, [r7, #20] 80c3acc: 4618 mov r0, r3 80c3ace: f7ff fa73 bl 80c2fb8 80c3ad2: 6178 str r0, [r7, #20] if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ 80c3ad4: 697b ldr r3, [r7, #20] 80c3ad6: f1b3 3fff cmp.w r3, #4294967295 80c3ada: d101 bne.n 80c3ae0 80c3adc: 2301 movs r3, #1 80c3ade: e032 b.n 80c3b46 if (clst < 2 || clst >= fs->n_fatent) return FR_INT_ERR; /* Reached to end of table or internal error */ 80c3ae0: 697b ldr r3, [r7, #20] 80c3ae2: 2b01 cmp r3, #1 80c3ae4: d904 bls.n 80c3af0 80c3ae6: 693b ldr r3, [r7, #16] 80c3ae8: 69da ldr r2, [r3, #28] 80c3aea: 697b ldr r3, [r7, #20] 80c3aec: 429a cmp r2, r3 80c3aee: d801 bhi.n 80c3af4 80c3af0: 2302 movs r3, #2 80c3af2: e028 b.n 80c3b46 ofs -= csz; 80c3af4: 683a ldr r2, [r7, #0] 80c3af6: 68fb ldr r3, [r7, #12] 80c3af8: 1ad3 subs r3, r2, r3 80c3afa: 603b str r3, [r7, #0] while (ofs >= csz) { /* Follow cluster chain */ 80c3afc: 683a ldr r2, [r7, #0] 80c3afe: 68fb ldr r3, [r7, #12] 80c3b00: 429a cmp r2, r3 80c3b02: d2e1 bcs.n 80c3ac8 } dp->sect = clust2sect(fs, clst); 80c3b04: 6979 ldr r1, [r7, #20] 80c3b06: 6938 ldr r0, [r7, #16] 80c3b08: f7ff fa36 bl 80c2f78 80c3b0c: 4602 mov r2, r0 80c3b0e: 687b ldr r3, [r7, #4] 80c3b10: 639a str r2, [r3, #56] ; 0x38 } dp->clust = clst; /* Current cluster# */ 80c3b12: 687b ldr r3, [r7, #4] 80c3b14: 697a ldr r2, [r7, #20] 80c3b16: 635a str r2, [r3, #52] ; 0x34 if (!dp->sect) return FR_INT_ERR; 80c3b18: 687b ldr r3, [r7, #4] 80c3b1a: 6b9b ldr r3, [r3, #56] ; 0x38 80c3b1c: 2b00 cmp r3, #0 80c3b1e: d101 bne.n 80c3b24 80c3b20: 2302 movs r3, #2 80c3b22: e010 b.n 80c3b46 dp->sect += ofs / SS(fs); /* Sector# of the directory entry */ 80c3b24: 687b ldr r3, [r7, #4] 80c3b26: 6b9a ldr r2, [r3, #56] ; 0x38 80c3b28: 683b ldr r3, [r7, #0] 80c3b2a: 0a5b lsrs r3, r3, #9 80c3b2c: 441a add r2, r3 80c3b2e: 687b ldr r3, [r7, #4] 80c3b30: 639a str r2, [r3, #56] ; 0x38 dp->dir = fs->win + (ofs % SS(fs)); /* Pointer to the entry in the win[] */ 80c3b32: 693b ldr r3, [r7, #16] 80c3b34: f103 0238 add.w r2, r3, #56 ; 0x38 80c3b38: 683b ldr r3, [r7, #0] 80c3b3a: f3c3 0308 ubfx r3, r3, #0, #9 80c3b3e: 441a add r2, r3 80c3b40: 687b ldr r3, [r7, #4] 80c3b42: 63da str r2, [r3, #60] ; 0x3c return FR_OK; 80c3b44: 2300 movs r3, #0 } 80c3b46: 4618 mov r0, r3 80c3b48: 3718 adds r7, #24 80c3b4a: 46bd mov sp, r7 80c3b4c: bd80 pop {r7, pc} 080c3b4e : static FRESULT dir_next ( /* FR_OK(0):succeeded, FR_NO_FILE:End of table, FR_DENIED:Could not stretch */ DIR* dp, /* Pointer to the directory object */ int stretch /* 0: Do not stretch table, 1: Stretch table if needed */ ) { 80c3b4e: b580 push {r7, lr} 80c3b50: b086 sub sp, #24 80c3b52: af00 add r7, sp, #0 80c3b54: 6078 str r0, [r7, #4] 80c3b56: 6039 str r1, [r7, #0] DWORD ofs, clst; FATFS *fs = dp->obj.fs; 80c3b58: 687b ldr r3, [r7, #4] 80c3b5a: 681b ldr r3, [r3, #0] 80c3b5c: 60fb str r3, [r7, #12] #if !_FS_READONLY UINT n; #endif ofs = dp->dptr + SZDIRE; /* Next entry */ 80c3b5e: 687b ldr r3, [r7, #4] 80c3b60: 6b1b ldr r3, [r3, #48] ; 0x30 80c3b62: 3320 adds r3, #32 80c3b64: 60bb str r3, [r7, #8] if (!dp->sect || ofs >= (DWORD)((_FS_EXFAT && fs->fs_type == FS_EXFAT) ? MAX_DIR_EX : MAX_DIR)) return FR_NO_FILE; /* Report EOT when offset has reached max value */ 80c3b66: 687b ldr r3, [r7, #4] 80c3b68: 6b9b ldr r3, [r3, #56] ; 0x38 80c3b6a: 2b00 cmp r3, #0 80c3b6c: d00b beq.n 80c3b86 80c3b6e: 68fb ldr r3, [r7, #12] 80c3b70: 781b ldrb r3, [r3, #0] 80c3b72: 2b04 cmp r3, #4 80c3b74: d102 bne.n 80c3b7c 80c3b76: f04f 5280 mov.w r2, #268435456 ; 0x10000000 80c3b7a: e001 b.n 80c3b80 80c3b7c: f44f 1200 mov.w r2, #2097152 ; 0x200000 80c3b80: 68bb ldr r3, [r7, #8] 80c3b82: 429a cmp r2, r3 80c3b84: d801 bhi.n 80c3b8a 80c3b86: 2304 movs r3, #4 80c3b88: e0b2 b.n 80c3cf0 if (ofs % SS(fs) == 0) { /* Sector changed? */ 80c3b8a: 68bb ldr r3, [r7, #8] 80c3b8c: f3c3 0308 ubfx r3, r3, #0, #9 80c3b90: 2b00 cmp r3, #0 80c3b92: f040 80a0 bne.w 80c3cd6 dp->sect++; /* Next sector */ 80c3b96: 687b ldr r3, [r7, #4] 80c3b98: 6b9b ldr r3, [r3, #56] ; 0x38 80c3b9a: 1c5a adds r2, r3, #1 80c3b9c: 687b ldr r3, [r7, #4] 80c3b9e: 639a str r2, [r3, #56] ; 0x38 if (!dp->clust) { /* Static table */ 80c3ba0: 687b ldr r3, [r7, #4] 80c3ba2: 6b5b ldr r3, [r3, #52] ; 0x34 80c3ba4: 2b00 cmp r3, #0 80c3ba6: d10b bne.n 80c3bc0 if (ofs / SZDIRE >= fs->n_rootdir) { /* Report EOT if it reached end of static table */ 80c3ba8: 68bb ldr r3, [r7, #8] 80c3baa: 095b lsrs r3, r3, #5 80c3bac: 68fa ldr r2, [r7, #12] 80c3bae: 8912 ldrh r2, [r2, #8] 80c3bb0: 4293 cmp r3, r2 80c3bb2: f0c0 8090 bcc.w 80c3cd6 dp->sect = 0; return FR_NO_FILE; 80c3bb6: 687b ldr r3, [r7, #4] 80c3bb8: 2200 movs r2, #0 80c3bba: 639a str r2, [r3, #56] ; 0x38 80c3bbc: 2304 movs r3, #4 80c3bbe: e097 b.n 80c3cf0 } } else { /* Dynamic table */ if ((ofs / SS(fs) & (fs->csize - 1)) == 0) { /* Cluster changed? */ 80c3bc0: 68bb ldr r3, [r7, #8] 80c3bc2: 0a5b lsrs r3, r3, #9 80c3bc4: 68fa ldr r2, [r7, #12] 80c3bc6: 8952 ldrh r2, [r2, #10] 80c3bc8: 3a01 subs r2, #1 80c3bca: 4013 ands r3, r2 80c3bcc: 2b00 cmp r3, #0 80c3bce: f040 8082 bne.w 80c3cd6 clst = get_fat(&dp->obj, dp->clust); /* Get next cluster */ 80c3bd2: 687a ldr r2, [r7, #4] 80c3bd4: 687b ldr r3, [r7, #4] 80c3bd6: 6b5b ldr r3, [r3, #52] ; 0x34 80c3bd8: 4619 mov r1, r3 80c3bda: 4610 mov r0, r2 80c3bdc: f7ff f9ec bl 80c2fb8 80c3be0: 6178 str r0, [r7, #20] if (clst <= 1) return FR_INT_ERR; /* Internal error */ 80c3be2: 697b ldr r3, [r7, #20] 80c3be4: 2b01 cmp r3, #1 80c3be6: d801 bhi.n 80c3bec 80c3be8: 2302 movs r3, #2 80c3bea: e081 b.n 80c3cf0 if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ 80c3bec: 697b ldr r3, [r7, #20] 80c3bee: f1b3 3fff cmp.w r3, #4294967295 80c3bf2: d101 bne.n 80c3bf8 80c3bf4: 2301 movs r3, #1 80c3bf6: e07b b.n 80c3cf0 if (clst >= fs->n_fatent) { /* Reached end of dynamic table */ 80c3bf8: 68fb ldr r3, [r7, #12] 80c3bfa: 69da ldr r2, [r3, #28] 80c3bfc: 697b ldr r3, [r7, #20] 80c3bfe: 429a cmp r2, r3 80c3c00: d85f bhi.n 80c3cc2 #if !_FS_READONLY if (!stretch) { /* If no stretch, report EOT */ 80c3c02: 683b ldr r3, [r7, #0] 80c3c04: 2b00 cmp r3, #0 80c3c06: d104 bne.n 80c3c12 dp->sect = 0; return FR_NO_FILE; 80c3c08: 687b ldr r3, [r7, #4] 80c3c0a: 2200 movs r2, #0 80c3c0c: 639a str r2, [r3, #56] ; 0x38 80c3c0e: 2304 movs r3, #4 80c3c10: e06e b.n 80c3cf0 } clst = create_chain(&dp->obj, dp->clust); /* Allocate a cluster */ 80c3c12: 687a ldr r2, [r7, #4] 80c3c14: 687b ldr r3, [r7, #4] 80c3c16: 6b5b ldr r3, [r3, #52] ; 0x34 80c3c18: 4619 mov r1, r3 80c3c1a: 4610 mov r0, r2 80c3c1c: f7ff fdd2 bl 80c37c4 80c3c20: 6178 str r0, [r7, #20] if (clst == 0) return FR_DENIED; /* No free cluster */ 80c3c22: 697b ldr r3, [r7, #20] 80c3c24: 2b00 cmp r3, #0 80c3c26: d101 bne.n 80c3c2c 80c3c28: 2307 movs r3, #7 80c3c2a: e061 b.n 80c3cf0 if (clst == 1) return FR_INT_ERR; /* Internal error */ 80c3c2c: 697b ldr r3, [r7, #20] 80c3c2e: 2b01 cmp r3, #1 80c3c30: d101 bne.n 80c3c36 80c3c32: 2302 movs r3, #2 80c3c34: e05c b.n 80c3cf0 if (clst == 0xFFFFFFFF) return FR_DISK_ERR; /* Disk error */ 80c3c36: 697b ldr r3, [r7, #20] 80c3c38: f1b3 3fff cmp.w r3, #4294967295 80c3c3c: d101 bne.n 80c3c42 80c3c3e: 2301 movs r3, #1 80c3c40: e056 b.n 80c3cf0 /* Clean-up the stretched table */ if (_FS_EXFAT) dp->obj.stat |= 4; /* The directory needs to be updated */ 80c3c42: 687b ldr r3, [r7, #4] 80c3c44: 79db ldrb r3, [r3, #7] 80c3c46: f043 0304 orr.w r3, r3, #4 80c3c4a: b2da uxtb r2, r3 80c3c4c: 687b ldr r3, [r7, #4] 80c3c4e: 71da strb r2, [r3, #7] if (sync_window(fs) != FR_OK) return FR_DISK_ERR; /* Flush disk access window */ 80c3c50: 68f8 ldr r0, [r7, #12] 80c3c52: f7ff f8b2 bl 80c2dba 80c3c56: 4603 mov r3, r0 80c3c58: 2b00 cmp r3, #0 80c3c5a: d001 beq.n 80c3c60 80c3c5c: 2301 movs r3, #1 80c3c5e: e047 b.n 80c3cf0 mem_set(fs->win, 0, SS(fs)); /* Clear window buffer */ 80c3c60: 68fb ldr r3, [r7, #12] 80c3c62: 3338 adds r3, #56 ; 0x38 80c3c64: f44f 7200 mov.w r2, #512 ; 0x200 80c3c68: 2100 movs r1, #0 80c3c6a: 4618 mov r0, r3 80c3c6c: f7ff f849 bl 80c2d02 for (n = 0, fs->winsect = clust2sect(fs, clst); n < fs->csize; n++, fs->winsect++) { /* Fill the new cluster with 0 */ 80c3c70: 2300 movs r3, #0 80c3c72: 613b str r3, [r7, #16] 80c3c74: 6979 ldr r1, [r7, #20] 80c3c76: 68f8 ldr r0, [r7, #12] 80c3c78: f7ff f97e bl 80c2f78 80c3c7c: 4602 mov r2, r0 80c3c7e: 68fb ldr r3, [r7, #12] 80c3c80: 635a str r2, [r3, #52] ; 0x34 80c3c82: e012 b.n 80c3caa fs->wflag = 1; 80c3c84: 68fb ldr r3, [r7, #12] 80c3c86: 2201 movs r2, #1 80c3c88: 70da strb r2, [r3, #3] if (sync_window(fs) != FR_OK) return FR_DISK_ERR; 80c3c8a: 68f8 ldr r0, [r7, #12] 80c3c8c: f7ff f895 bl 80c2dba 80c3c90: 4603 mov r3, r0 80c3c92: 2b00 cmp r3, #0 80c3c94: d001 beq.n 80c3c9a 80c3c96: 2301 movs r3, #1 80c3c98: e02a b.n 80c3cf0 for (n = 0, fs->winsect = clust2sect(fs, clst); n < fs->csize; n++, fs->winsect++) { /* Fill the new cluster with 0 */ 80c3c9a: 693b ldr r3, [r7, #16] 80c3c9c: 3301 adds r3, #1 80c3c9e: 613b str r3, [r7, #16] 80c3ca0: 68fb ldr r3, [r7, #12] 80c3ca2: 6b5b ldr r3, [r3, #52] ; 0x34 80c3ca4: 1c5a adds r2, r3, #1 80c3ca6: 68fb ldr r3, [r7, #12] 80c3ca8: 635a str r2, [r3, #52] ; 0x34 80c3caa: 68fb ldr r3, [r7, #12] 80c3cac: 895b ldrh r3, [r3, #10] 80c3cae: 461a mov r2, r3 80c3cb0: 693b ldr r3, [r7, #16] 80c3cb2: 429a cmp r2, r3 80c3cb4: d8e6 bhi.n 80c3c84 } fs->winsect -= n; /* Restore window offset */ 80c3cb6: 68fb ldr r3, [r7, #12] 80c3cb8: 6b5a ldr r2, [r3, #52] ; 0x34 80c3cba: 693b ldr r3, [r7, #16] 80c3cbc: 1ad2 subs r2, r2, r3 80c3cbe: 68fb ldr r3, [r7, #12] 80c3cc0: 635a str r2, [r3, #52] ; 0x34 #else if (!stretch) dp->sect = 0; /* (this line is to suppress compiler warning) */ dp->sect = 0; return FR_NO_FILE; /* Report EOT */ #endif } dp->clust = clst; /* Initialize data for new cluster */ 80c3cc2: 687b ldr r3, [r7, #4] 80c3cc4: 697a ldr r2, [r7, #20] 80c3cc6: 635a str r2, [r3, #52] ; 0x34 dp->sect = clust2sect(fs, clst); 80c3cc8: 6979 ldr r1, [r7, #20] 80c3cca: 68f8 ldr r0, [r7, #12] 80c3ccc: f7ff f954 bl 80c2f78 80c3cd0: 4602 mov r2, r0 80c3cd2: 687b ldr r3, [r7, #4] 80c3cd4: 639a str r2, [r3, #56] ; 0x38 } } } dp->dptr = ofs; /* Current entry */ 80c3cd6: 687b ldr r3, [r7, #4] 80c3cd8: 68ba ldr r2, [r7, #8] 80c3cda: 631a str r2, [r3, #48] ; 0x30 dp->dir = fs->win + ofs % SS(fs); /* Pointer to the entry in the win[] */ 80c3cdc: 68fb ldr r3, [r7, #12] 80c3cde: f103 0238 add.w r2, r3, #56 ; 0x38 80c3ce2: 68bb ldr r3, [r7, #8] 80c3ce4: f3c3 0308 ubfx r3, r3, #0, #9 80c3ce8: 441a add r2, r3 80c3cea: 687b ldr r3, [r7, #4] 80c3cec: 63da str r2, [r3, #60] ; 0x3c return FR_OK; 80c3cee: 2300 movs r3, #0 } 80c3cf0: 4618 mov r0, r3 80c3cf2: 3718 adds r7, #24 80c3cf4: 46bd mov sp, r7 80c3cf6: bd80 pop {r7, pc} 080c3cf8 : static FRESULT dir_alloc ( /* FR_OK(0):succeeded, !=0:error */ DIR* dp, /* Pointer to the directory object */ UINT nent /* Number of contiguous entries to allocate */ ) { 80c3cf8: b580 push {r7, lr} 80c3cfa: b086 sub sp, #24 80c3cfc: af00 add r7, sp, #0 80c3cfe: 6078 str r0, [r7, #4] 80c3d00: 6039 str r1, [r7, #0] FRESULT res; UINT n; FATFS *fs = dp->obj.fs; 80c3d02: 687b ldr r3, [r7, #4] 80c3d04: 681b ldr r3, [r3, #0] 80c3d06: 60fb str r3, [r7, #12] res = dir_sdi(dp, 0); 80c3d08: 2100 movs r1, #0 80c3d0a: 6878 ldr r0, [r7, #4] 80c3d0c: f7ff fe99 bl 80c3a42 80c3d10: 4603 mov r3, r0 80c3d12: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c3d14: 7dfb ldrb r3, [r7, #23] 80c3d16: 2b00 cmp r3, #0 80c3d18: d140 bne.n 80c3d9c n = 0; 80c3d1a: 2300 movs r3, #0 80c3d1c: 613b str r3, [r7, #16] do { res = move_window(fs, dp->sect); 80c3d1e: 687b ldr r3, [r7, #4] 80c3d20: 6b9b ldr r3, [r3, #56] ; 0x38 80c3d22: 4619 mov r1, r3 80c3d24: 68f8 ldr r0, [r7, #12] 80c3d26: f7ff f88c bl 80c2e42 80c3d2a: 4603 mov r3, r0 80c3d2c: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c3d2e: 7dfb ldrb r3, [r7, #23] 80c3d30: 2b00 cmp r3, #0 80c3d32: d132 bne.n 80c3d9a #if _FS_EXFAT if ((fs->fs_type == FS_EXFAT) ? (int)((dp->dir[XDIR_Type] & 0x80) == 0) : (int)(dp->dir[DIR_Name] == DDEM || dp->dir[DIR_Name] == 0)) { 80c3d34: 68fb ldr r3, [r7, #12] 80c3d36: 781b ldrb r3, [r3, #0] 80c3d38: 2b04 cmp r3, #4 80c3d3a: d108 bne.n 80c3d4e 80c3d3c: 687b ldr r3, [r7, #4] 80c3d3e: 6bdb ldr r3, [r3, #60] ; 0x3c 80c3d40: 781b ldrb r3, [r3, #0] 80c3d42: b25b sxtb r3, r3 80c3d44: 43db mvns r3, r3 80c3d46: b2db uxtb r3, r3 80c3d48: 09db lsrs r3, r3, #7 80c3d4a: b2db uxtb r3, r3 80c3d4c: e00f b.n 80c3d6e 80c3d4e: 687b ldr r3, [r7, #4] 80c3d50: 6bdb ldr r3, [r3, #60] ; 0x3c 80c3d52: 781b ldrb r3, [r3, #0] 80c3d54: 2be5 cmp r3, #229 ; 0xe5 80c3d56: d004 beq.n 80c3d62 80c3d58: 687b ldr r3, [r7, #4] 80c3d5a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c3d5c: 781b ldrb r3, [r3, #0] 80c3d5e: 2b00 cmp r3, #0 80c3d60: d101 bne.n 80c3d66 80c3d62: 2301 movs r3, #1 80c3d64: e000 b.n 80c3d68 80c3d66: 2300 movs r3, #0 80c3d68: f003 0301 and.w r3, r3, #1 80c3d6c: b2db uxtb r3, r3 80c3d6e: 2b00 cmp r3, #0 80c3d70: d007 beq.n 80c3d82 #else if (dp->dir[DIR_Name] == DDEM || dp->dir[DIR_Name] == 0) { #endif if (++n == nent) break; /* A block of contiguous free entries is found */ 80c3d72: 693b ldr r3, [r7, #16] 80c3d74: 3301 adds r3, #1 80c3d76: 613b str r3, [r7, #16] 80c3d78: 693a ldr r2, [r7, #16] 80c3d7a: 683b ldr r3, [r7, #0] 80c3d7c: 429a cmp r2, r3 80c3d7e: d102 bne.n 80c3d86 80c3d80: e00c b.n 80c3d9c } else { n = 0; /* Not a blank entry. Restart to search */ 80c3d82: 2300 movs r3, #0 80c3d84: 613b str r3, [r7, #16] } res = dir_next(dp, 1); 80c3d86: 2101 movs r1, #1 80c3d88: 6878 ldr r0, [r7, #4] 80c3d8a: f7ff fee0 bl 80c3b4e 80c3d8e: 4603 mov r3, r0 80c3d90: 75fb strb r3, [r7, #23] } while (res == FR_OK); /* Next entry with table stretch enabled */ 80c3d92: 7dfb ldrb r3, [r7, #23] 80c3d94: 2b00 cmp r3, #0 80c3d96: d0c2 beq.n 80c3d1e 80c3d98: e000 b.n 80c3d9c if (res != FR_OK) break; 80c3d9a: bf00 nop } if (res == FR_NO_FILE) res = FR_DENIED; /* No directory entry to allocate */ 80c3d9c: 7dfb ldrb r3, [r7, #23] 80c3d9e: 2b04 cmp r3, #4 80c3da0: d101 bne.n 80c3da6 80c3da2: 2307 movs r3, #7 80c3da4: 75fb strb r3, [r7, #23] return res; 80c3da6: 7dfb ldrb r3, [r7, #23] } 80c3da8: 4618 mov r0, r3 80c3daa: 3718 adds r7, #24 80c3dac: 46bd mov sp, r7 80c3dae: bd80 pop {r7, pc} 080c3db0 : static DWORD ld_clust ( /* Returns the top cluster value of the SFN entry */ FATFS* fs, /* Pointer to the fs object */ const BYTE* dir /* Pointer to the key entry */ ) { 80c3db0: b580 push {r7, lr} 80c3db2: b084 sub sp, #16 80c3db4: af00 add r7, sp, #0 80c3db6: 6078 str r0, [r7, #4] 80c3db8: 6039 str r1, [r7, #0] DWORD cl; cl = ld_word(dir + DIR_FstClusLO); 80c3dba: 683b ldr r3, [r7, #0] 80c3dbc: 331a adds r3, #26 80c3dbe: 4618 mov r0, r3 80c3dc0: f7fe fdbc bl 80c293c 80c3dc4: 4603 mov r3, r0 80c3dc6: 60fb str r3, [r7, #12] if (fs->fs_type == FS_FAT32) { 80c3dc8: 687b ldr r3, [r7, #4] 80c3dca: 781b ldrb r3, [r3, #0] 80c3dcc: 2b03 cmp r3, #3 80c3dce: d109 bne.n 80c3de4 cl |= (DWORD)ld_word(dir + DIR_FstClusHI) << 16; 80c3dd0: 683b ldr r3, [r7, #0] 80c3dd2: 3314 adds r3, #20 80c3dd4: 4618 mov r0, r3 80c3dd6: f7fe fdb1 bl 80c293c 80c3dda: 4603 mov r3, r0 80c3ddc: 041b lsls r3, r3, #16 80c3dde: 68fa ldr r2, [r7, #12] 80c3de0: 4313 orrs r3, r2 80c3de2: 60fb str r3, [r7, #12] } return cl; 80c3de4: 68fb ldr r3, [r7, #12] } 80c3de6: 4618 mov r0, r3 80c3de8: 3710 adds r7, #16 80c3dea: 46bd mov sp, r7 80c3dec: bd80 pop {r7, pc} 080c3dee : void st_clust ( FATFS* fs, /* Pointer to the fs object */ BYTE* dir, /* Pointer to the key entry */ DWORD cl /* Value to be set */ ) { 80c3dee: b580 push {r7, lr} 80c3df0: b084 sub sp, #16 80c3df2: af00 add r7, sp, #0 80c3df4: 60f8 str r0, [r7, #12] 80c3df6: 60b9 str r1, [r7, #8] 80c3df8: 607a str r2, [r7, #4] st_word(dir + DIR_FstClusLO, (WORD)cl); 80c3dfa: 68bb ldr r3, [r7, #8] 80c3dfc: 331a adds r3, #26 80c3dfe: 687a ldr r2, [r7, #4] 80c3e00: b292 uxth r2, r2 80c3e02: 4611 mov r1, r2 80c3e04: 4618 mov r0, r3 80c3e06: f7fe fe83 bl 80c2b10 if (fs->fs_type == FS_FAT32) { 80c3e0a: 68fb ldr r3, [r7, #12] 80c3e0c: 781b ldrb r3, [r3, #0] 80c3e0e: 2b03 cmp r3, #3 80c3e10: d109 bne.n 80c3e26 st_word(dir + DIR_FstClusHI, (WORD)(cl >> 16)); 80c3e12: 68bb ldr r3, [r7, #8] 80c3e14: f103 0214 add.w r2, r3, #20 80c3e18: 687b ldr r3, [r7, #4] 80c3e1a: 0c1b lsrs r3, r3, #16 80c3e1c: b29b uxth r3, r3 80c3e1e: 4619 mov r1, r3 80c3e20: 4610 mov r0, r2 80c3e22: f7fe fe75 bl 80c2b10 } } 80c3e26: bf00 nop 80c3e28: 3710 adds r7, #16 80c3e2a: 46bd mov sp, r7 80c3e2c: bd80 pop {r7, pc} ... 080c3e30 : static int cmp_lfn ( /* 1:matched, 0:not matched */ const WCHAR* lfnbuf, /* Pointer to the LFN working buffer to be compared */ BYTE* dir /* Pointer to the directory entry containing the part of LFN */ ) { 80c3e30: b590 push {r4, r7, lr} 80c3e32: b087 sub sp, #28 80c3e34: af00 add r7, sp, #0 80c3e36: 6078 str r0, [r7, #4] 80c3e38: 6039 str r1, [r7, #0] UINT i, s; WCHAR wc, uc; if (ld_word(dir + LDIR_FstClusLO) != 0) return 0; /* Check LDIR_FstClusLO */ 80c3e3a: 683b ldr r3, [r7, #0] 80c3e3c: 331a adds r3, #26 80c3e3e: 4618 mov r0, r3 80c3e40: f7fe fd7c bl 80c293c 80c3e44: 4603 mov r3, r0 80c3e46: 2b00 cmp r3, #0 80c3e48: d001 beq.n 80c3e4e 80c3e4a: 2300 movs r3, #0 80c3e4c: e059 b.n 80c3f02 i = ((dir[LDIR_Ord] & 0x3F) - 1) * 13; /* Offset in the LFN buffer */ 80c3e4e: 683b ldr r3, [r7, #0] 80c3e50: 781b ldrb r3, [r3, #0] 80c3e52: f003 033f and.w r3, r3, #63 ; 0x3f 80c3e56: 1e5a subs r2, r3, #1 80c3e58: 4613 mov r3, r2 80c3e5a: 005b lsls r3, r3, #1 80c3e5c: 4413 add r3, r2 80c3e5e: 009b lsls r3, r3, #2 80c3e60: 4413 add r3, r2 80c3e62: 617b str r3, [r7, #20] for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c3e64: 2301 movs r3, #1 80c3e66: 81fb strh r3, [r7, #14] 80c3e68: 2300 movs r3, #0 80c3e6a: 613b str r3, [r7, #16] 80c3e6c: e033 b.n 80c3ed6 uc = ld_word(dir + LfnOfs[s]); /* Pick an LFN character */ 80c3e6e: 4a27 ldr r2, [pc, #156] ; (80c3f0c ) 80c3e70: 693b ldr r3, [r7, #16] 80c3e72: 4413 add r3, r2 80c3e74: 781b ldrb r3, [r3, #0] 80c3e76: 461a mov r2, r3 80c3e78: 683b ldr r3, [r7, #0] 80c3e7a: 4413 add r3, r2 80c3e7c: 4618 mov r0, r3 80c3e7e: f7fe fd5d bl 80c293c 80c3e82: 4603 mov r3, r0 80c3e84: 81bb strh r3, [r7, #12] if (wc) { 80c3e86: 89fb ldrh r3, [r7, #14] 80c3e88: 2b00 cmp r3, #0 80c3e8a: d01a beq.n 80c3ec2 if (i >= _MAX_LFN || ff_wtoupper(uc) != ff_wtoupper(lfnbuf[i++])) { /* Compare it */ 80c3e8c: 697b ldr r3, [r7, #20] 80c3e8e: 2bfe cmp r3, #254 ; 0xfe 80c3e90: d812 bhi.n 80c3eb8 80c3e92: 89bb ldrh r3, [r7, #12] 80c3e94: 4618 mov r0, r3 80c3e96: f005 f841 bl 80c8f1c 80c3e9a: 4603 mov r3, r0 80c3e9c: 461c mov r4, r3 80c3e9e: 697b ldr r3, [r7, #20] 80c3ea0: 1c5a adds r2, r3, #1 80c3ea2: 617a str r2, [r7, #20] 80c3ea4: 005b lsls r3, r3, #1 80c3ea6: 687a ldr r2, [r7, #4] 80c3ea8: 4413 add r3, r2 80c3eaa: 881b ldrh r3, [r3, #0] 80c3eac: 4618 mov r0, r3 80c3eae: f005 f835 bl 80c8f1c 80c3eb2: 4603 mov r3, r0 80c3eb4: 429c cmp r4, r3 80c3eb6: d001 beq.n 80c3ebc return 0; /* Not matched */ 80c3eb8: 2300 movs r3, #0 80c3eba: e022 b.n 80c3f02 } wc = uc; 80c3ebc: 89bb ldrh r3, [r7, #12] 80c3ebe: 81fb strh r3, [r7, #14] 80c3ec0: e006 b.n 80c3ed0 } else { if (uc != 0xFFFF) return 0; /* Check filler */ 80c3ec2: 89bb ldrh r3, [r7, #12] 80c3ec4: f64f 72ff movw r2, #65535 ; 0xffff 80c3ec8: 4293 cmp r3, r2 80c3eca: d001 beq.n 80c3ed0 80c3ecc: 2300 movs r3, #0 80c3ece: e018 b.n 80c3f02 for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c3ed0: 693b ldr r3, [r7, #16] 80c3ed2: 3301 adds r3, #1 80c3ed4: 613b str r3, [r7, #16] 80c3ed6: 693b ldr r3, [r7, #16] 80c3ed8: 2b0c cmp r3, #12 80c3eda: d9c8 bls.n 80c3e6e } } if ((dir[LDIR_Ord] & LLEF) && wc && lfnbuf[i]) return 0; /* Last segment matched but different length */ 80c3edc: 683b ldr r3, [r7, #0] 80c3ede: 781b ldrb r3, [r3, #0] 80c3ee0: f003 0340 and.w r3, r3, #64 ; 0x40 80c3ee4: 2b00 cmp r3, #0 80c3ee6: d00b beq.n 80c3f00 80c3ee8: 89fb ldrh r3, [r7, #14] 80c3eea: 2b00 cmp r3, #0 80c3eec: d008 beq.n 80c3f00 80c3eee: 697b ldr r3, [r7, #20] 80c3ef0: 005b lsls r3, r3, #1 80c3ef2: 687a ldr r2, [r7, #4] 80c3ef4: 4413 add r3, r2 80c3ef6: 881b ldrh r3, [r3, #0] 80c3ef8: 2b00 cmp r3, #0 80c3efa: d001 beq.n 80c3f00 80c3efc: 2300 movs r3, #0 80c3efe: e000 b.n 80c3f02 return 1; /* The part of LFN matched */ 80c3f00: 2301 movs r3, #1 } 80c3f02: 4618 mov r0, r3 80c3f04: 371c adds r7, #28 80c3f06: 46bd mov sp, r7 80c3f08: bd90 pop {r4, r7, pc} 80c3f0a: bf00 nop 80c3f0c: 08169c90 .word 0x08169c90 080c3f10 : static int pick_lfn ( /* 1:succeeded, 0:buffer overflow or invalid LFN entry */ WCHAR* lfnbuf, /* Pointer to the LFN working buffer */ BYTE* dir /* Pointer to the LFN entry */ ) { 80c3f10: b580 push {r7, lr} 80c3f12: b086 sub sp, #24 80c3f14: af00 add r7, sp, #0 80c3f16: 6078 str r0, [r7, #4] 80c3f18: 6039 str r1, [r7, #0] UINT i, s; WCHAR wc, uc; if (ld_word(dir + LDIR_FstClusLO) != 0) return 0; /* Check LDIR_FstClusLO is 0 */ 80c3f1a: 683b ldr r3, [r7, #0] 80c3f1c: 331a adds r3, #26 80c3f1e: 4618 mov r0, r3 80c3f20: f7fe fd0c bl 80c293c 80c3f24: 4603 mov r3, r0 80c3f26: 2b00 cmp r3, #0 80c3f28: d001 beq.n 80c3f2e 80c3f2a: 2300 movs r3, #0 80c3f2c: e04d b.n 80c3fca i = ((dir[LDIR_Ord] & ~LLEF) - 1) * 13; /* Offset in the LFN buffer */ 80c3f2e: 683b ldr r3, [r7, #0] 80c3f30: 781b ldrb r3, [r3, #0] 80c3f32: f023 0340 bic.w r3, r3, #64 ; 0x40 80c3f36: 1e5a subs r2, r3, #1 80c3f38: 4613 mov r3, r2 80c3f3a: 005b lsls r3, r3, #1 80c3f3c: 4413 add r3, r2 80c3f3e: 009b lsls r3, r3, #2 80c3f40: 4413 add r3, r2 80c3f42: 617b str r3, [r7, #20] for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c3f44: 2301 movs r3, #1 80c3f46: 81fb strh r3, [r7, #14] 80c3f48: 2300 movs r3, #0 80c3f4a: 613b str r3, [r7, #16] 80c3f4c: e028 b.n 80c3fa0 uc = ld_word(dir + LfnOfs[s]); /* Pick an LFN character */ 80c3f4e: 4a21 ldr r2, [pc, #132] ; (80c3fd4 ) 80c3f50: 693b ldr r3, [r7, #16] 80c3f52: 4413 add r3, r2 80c3f54: 781b ldrb r3, [r3, #0] 80c3f56: 461a mov r2, r3 80c3f58: 683b ldr r3, [r7, #0] 80c3f5a: 4413 add r3, r2 80c3f5c: 4618 mov r0, r3 80c3f5e: f7fe fced bl 80c293c 80c3f62: 4603 mov r3, r0 80c3f64: 81bb strh r3, [r7, #12] if (wc) { 80c3f66: 89fb ldrh r3, [r7, #14] 80c3f68: 2b00 cmp r3, #0 80c3f6a: d00f beq.n 80c3f8c if (i >= _MAX_LFN) return 0; /* Buffer overflow? */ 80c3f6c: 697b ldr r3, [r7, #20] 80c3f6e: 2bfe cmp r3, #254 ; 0xfe 80c3f70: d901 bls.n 80c3f76 80c3f72: 2300 movs r3, #0 80c3f74: e029 b.n 80c3fca lfnbuf[i++] = wc = uc; /* Store it */ 80c3f76: 697b ldr r3, [r7, #20] 80c3f78: 1c5a adds r2, r3, #1 80c3f7a: 617a str r2, [r7, #20] 80c3f7c: 005b lsls r3, r3, #1 80c3f7e: 687a ldr r2, [r7, #4] 80c3f80: 4413 add r3, r2 80c3f82: 89ba ldrh r2, [r7, #12] 80c3f84: 81fa strh r2, [r7, #14] 80c3f86: 89fa ldrh r2, [r7, #14] 80c3f88: 801a strh r2, [r3, #0] 80c3f8a: e006 b.n 80c3f9a } else { if (uc != 0xFFFF) return 0; /* Check filler */ 80c3f8c: 89bb ldrh r3, [r7, #12] 80c3f8e: f64f 72ff movw r2, #65535 ; 0xffff 80c3f92: 4293 cmp r3, r2 80c3f94: d001 beq.n 80c3f9a 80c3f96: 2300 movs r3, #0 80c3f98: e017 b.n 80c3fca for (wc = 1, s = 0; s < 13; s++) { /* Process all characters in the entry */ 80c3f9a: 693b ldr r3, [r7, #16] 80c3f9c: 3301 adds r3, #1 80c3f9e: 613b str r3, [r7, #16] 80c3fa0: 693b ldr r3, [r7, #16] 80c3fa2: 2b0c cmp r3, #12 80c3fa4: d9d3 bls.n 80c3f4e } } if (dir[LDIR_Ord] & LLEF) { /* Put terminator if it is the last LFN part */ 80c3fa6: 683b ldr r3, [r7, #0] 80c3fa8: 781b ldrb r3, [r3, #0] 80c3faa: f003 0340 and.w r3, r3, #64 ; 0x40 80c3fae: 2b00 cmp r3, #0 80c3fb0: d00a beq.n 80c3fc8 if (i >= _MAX_LFN) return 0; /* Buffer overflow? */ 80c3fb2: 697b ldr r3, [r7, #20] 80c3fb4: 2bfe cmp r3, #254 ; 0xfe 80c3fb6: d901 bls.n 80c3fbc 80c3fb8: 2300 movs r3, #0 80c3fba: e006 b.n 80c3fca lfnbuf[i] = 0; 80c3fbc: 697b ldr r3, [r7, #20] 80c3fbe: 005b lsls r3, r3, #1 80c3fc0: 687a ldr r2, [r7, #4] 80c3fc2: 4413 add r3, r2 80c3fc4: 2200 movs r2, #0 80c3fc6: 801a strh r2, [r3, #0] } return 1; /* The part of LFN is valid */ 80c3fc8: 2301 movs r3, #1 } 80c3fca: 4618 mov r0, r3 80c3fcc: 3718 adds r7, #24 80c3fce: 46bd mov sp, r7 80c3fd0: bd80 pop {r7, pc} 80c3fd2: bf00 nop 80c3fd4: 08169c90 .word 0x08169c90 080c3fd8 : const WCHAR* lfn, /* Pointer to the LFN */ BYTE* dir, /* Pointer to the LFN entry to be created */ BYTE ord, /* LFN order (1-20) */ BYTE sum /* Checksum of the corresponding SFN */ ) { 80c3fd8: b580 push {r7, lr} 80c3fda: b088 sub sp, #32 80c3fdc: af00 add r7, sp, #0 80c3fde: 60f8 str r0, [r7, #12] 80c3fe0: 60b9 str r1, [r7, #8] 80c3fe2: 4611 mov r1, r2 80c3fe4: 461a mov r2, r3 80c3fe6: 460b mov r3, r1 80c3fe8: 71fb strb r3, [r7, #7] 80c3fea: 4613 mov r3, r2 80c3fec: 71bb strb r3, [r7, #6] UINT i, s; WCHAR wc; dir[LDIR_Chksum] = sum; /* Set checksum */ 80c3fee: 68bb ldr r3, [r7, #8] 80c3ff0: 330d adds r3, #13 80c3ff2: 79ba ldrb r2, [r7, #6] 80c3ff4: 701a strb r2, [r3, #0] dir[LDIR_Attr] = AM_LFN; /* Set attribute. LFN entry */ 80c3ff6: 68bb ldr r3, [r7, #8] 80c3ff8: 330b adds r3, #11 80c3ffa: 220f movs r2, #15 80c3ffc: 701a strb r2, [r3, #0] dir[LDIR_Type] = 0; 80c3ffe: 68bb ldr r3, [r7, #8] 80c4000: 330c adds r3, #12 80c4002: 2200 movs r2, #0 80c4004: 701a strb r2, [r3, #0] st_word(dir + LDIR_FstClusLO, 0); 80c4006: 68bb ldr r3, [r7, #8] 80c4008: 331a adds r3, #26 80c400a: 2100 movs r1, #0 80c400c: 4618 mov r0, r3 80c400e: f7fe fd7f bl 80c2b10 i = (ord - 1) * 13; /* Get offset in the LFN working buffer */ 80c4012: 79fb ldrb r3, [r7, #7] 80c4014: 1e5a subs r2, r3, #1 80c4016: 4613 mov r3, r2 80c4018: 005b lsls r3, r3, #1 80c401a: 4413 add r3, r2 80c401c: 009b lsls r3, r3, #2 80c401e: 4413 add r3, r2 80c4020: 61fb str r3, [r7, #28] s = wc = 0; 80c4022: 2300 movs r3, #0 80c4024: 82fb strh r3, [r7, #22] 80c4026: 2300 movs r3, #0 80c4028: 61bb str r3, [r7, #24] do { if (wc != 0xFFFF) wc = lfn[i++]; /* Get an effective character */ 80c402a: 8afb ldrh r3, [r7, #22] 80c402c: f64f 72ff movw r2, #65535 ; 0xffff 80c4030: 4293 cmp r3, r2 80c4032: d007 beq.n 80c4044 80c4034: 69fb ldr r3, [r7, #28] 80c4036: 1c5a adds r2, r3, #1 80c4038: 61fa str r2, [r7, #28] 80c403a: 005b lsls r3, r3, #1 80c403c: 68fa ldr r2, [r7, #12] 80c403e: 4413 add r3, r2 80c4040: 881b ldrh r3, [r3, #0] 80c4042: 82fb strh r3, [r7, #22] st_word(dir + LfnOfs[s], wc); /* Put it */ 80c4044: 4a17 ldr r2, [pc, #92] ; (80c40a4 ) 80c4046: 69bb ldr r3, [r7, #24] 80c4048: 4413 add r3, r2 80c404a: 781b ldrb r3, [r3, #0] 80c404c: 461a mov r2, r3 80c404e: 68bb ldr r3, [r7, #8] 80c4050: 4413 add r3, r2 80c4052: 8afa ldrh r2, [r7, #22] 80c4054: 4611 mov r1, r2 80c4056: 4618 mov r0, r3 80c4058: f7fe fd5a bl 80c2b10 if (wc == 0) wc = 0xFFFF; /* Padding characters for left locations */ 80c405c: 8afb ldrh r3, [r7, #22] 80c405e: 2b00 cmp r3, #0 80c4060: d102 bne.n 80c4068 80c4062: f64f 73ff movw r3, #65535 ; 0xffff 80c4066: 82fb strh r3, [r7, #22] } while (++s < 13); 80c4068: 69bb ldr r3, [r7, #24] 80c406a: 3301 adds r3, #1 80c406c: 61bb str r3, [r7, #24] 80c406e: 69bb ldr r3, [r7, #24] 80c4070: 2b0c cmp r3, #12 80c4072: d9da bls.n 80c402a if (wc == 0xFFFF || !lfn[i]) ord |= LLEF; /* Last LFN part is the start of LFN sequence */ 80c4074: 8afb ldrh r3, [r7, #22] 80c4076: f64f 72ff movw r2, #65535 ; 0xffff 80c407a: 4293 cmp r3, r2 80c407c: d006 beq.n 80c408c 80c407e: 69fb ldr r3, [r7, #28] 80c4080: 005b lsls r3, r3, #1 80c4082: 68fa ldr r2, [r7, #12] 80c4084: 4413 add r3, r2 80c4086: 881b ldrh r3, [r3, #0] 80c4088: 2b00 cmp r3, #0 80c408a: d103 bne.n 80c4094 80c408c: 79fb ldrb r3, [r7, #7] 80c408e: f043 0340 orr.w r3, r3, #64 ; 0x40 80c4092: 71fb strb r3, [r7, #7] dir[LDIR_Ord] = ord; /* Set the LFN order */ 80c4094: 68bb ldr r3, [r7, #8] 80c4096: 79fa ldrb r2, [r7, #7] 80c4098: 701a strb r2, [r3, #0] } 80c409a: bf00 nop 80c409c: 3720 adds r7, #32 80c409e: 46bd mov sp, r7 80c40a0: bd80 pop {r7, pc} 80c40a2: bf00 nop 80c40a4: 08169c90 .word 0x08169c90 080c40a8 : BYTE* dst, /* Pointer to the buffer to store numbered SFN */ const BYTE* src, /* Pointer to SFN */ const WCHAR* lfn, /* Pointer to LFN */ UINT seq /* Sequence number */ ) { 80c40a8: b580 push {r7, lr} 80c40aa: b08c sub sp, #48 ; 0x30 80c40ac: af00 add r7, sp, #0 80c40ae: 60f8 str r0, [r7, #12] 80c40b0: 60b9 str r1, [r7, #8] 80c40b2: 607a str r2, [r7, #4] 80c40b4: 603b str r3, [r7, #0] UINT i, j; WCHAR wc; DWORD sr; mem_cpy(dst, src, 11); 80c40b6: 220b movs r2, #11 80c40b8: 68b9 ldr r1, [r7, #8] 80c40ba: 68f8 ldr r0, [r7, #12] 80c40bc: f7fe fe00 bl 80c2cc0 if (seq > 5) { /* In case of many collisions, generate a hash number instead of sequential number */ 80c40c0: 683b ldr r3, [r7, #0] 80c40c2: 2b05 cmp r3, #5 80c40c4: d929 bls.n 80c411a sr = seq; 80c40c6: 683b ldr r3, [r7, #0] 80c40c8: 61fb str r3, [r7, #28] while (*lfn) { /* Create a CRC */ 80c40ca: e020 b.n 80c410e wc = *lfn++; 80c40cc: 687b ldr r3, [r7, #4] 80c40ce: 1c9a adds r2, r3, #2 80c40d0: 607a str r2, [r7, #4] 80c40d2: 881b ldrh r3, [r3, #0] 80c40d4: 847b strh r3, [r7, #34] ; 0x22 for (i = 0; i < 16; i++) { 80c40d6: 2300 movs r3, #0 80c40d8: 62bb str r3, [r7, #40] ; 0x28 80c40da: e015 b.n 80c4108 sr = (sr << 1) + (wc & 1); 80c40dc: 69fb ldr r3, [r7, #28] 80c40de: 005a lsls r2, r3, #1 80c40e0: 8c7b ldrh r3, [r7, #34] ; 0x22 80c40e2: f003 0301 and.w r3, r3, #1 80c40e6: 4413 add r3, r2 80c40e8: 61fb str r3, [r7, #28] wc >>= 1; 80c40ea: 8c7b ldrh r3, [r7, #34] ; 0x22 80c40ec: 085b lsrs r3, r3, #1 80c40ee: 847b strh r3, [r7, #34] ; 0x22 if (sr & 0x10000) sr ^= 0x11021; 80c40f0: 69fb ldr r3, [r7, #28] 80c40f2: f403 3380 and.w r3, r3, #65536 ; 0x10000 80c40f6: 2b00 cmp r3, #0 80c40f8: d003 beq.n 80c4102 80c40fa: 69fa ldr r2, [r7, #28] 80c40fc: 4b30 ldr r3, [pc, #192] ; (80c41c0 ) 80c40fe: 4053 eors r3, r2 80c4100: 61fb str r3, [r7, #28] for (i = 0; i < 16; i++) { 80c4102: 6abb ldr r3, [r7, #40] ; 0x28 80c4104: 3301 adds r3, #1 80c4106: 62bb str r3, [r7, #40] ; 0x28 80c4108: 6abb ldr r3, [r7, #40] ; 0x28 80c410a: 2b0f cmp r3, #15 80c410c: d9e6 bls.n 80c40dc while (*lfn) { /* Create a CRC */ 80c410e: 687b ldr r3, [r7, #4] 80c4110: 881b ldrh r3, [r3, #0] 80c4112: 2b00 cmp r3, #0 80c4114: d1da bne.n 80c40cc } } seq = (UINT)sr; 80c4116: 69fb ldr r3, [r7, #28] 80c4118: 603b str r3, [r7, #0] } /* itoa (hexdecimal) */ i = 7; 80c411a: 2307 movs r3, #7 80c411c: 62bb str r3, [r7, #40] ; 0x28 do { c = (BYTE)((seq % 16) + '0'); 80c411e: 683b ldr r3, [r7, #0] 80c4120: b2db uxtb r3, r3 80c4122: f003 030f and.w r3, r3, #15 80c4126: b2db uxtb r3, r3 80c4128: 3330 adds r3, #48 ; 0x30 80c412a: f887 302f strb.w r3, [r7, #47] ; 0x2f if (c > '9') c += 7; 80c412e: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c4132: 2b39 cmp r3, #57 ; 0x39 80c4134: d904 bls.n 80c4140 80c4136: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c413a: 3307 adds r3, #7 80c413c: f887 302f strb.w r3, [r7, #47] ; 0x2f ns[i--] = c; 80c4140: 6abb ldr r3, [r7, #40] ; 0x28 80c4142: 1e5a subs r2, r3, #1 80c4144: 62ba str r2, [r7, #40] ; 0x28 80c4146: f107 0230 add.w r2, r7, #48 ; 0x30 80c414a: 4413 add r3, r2 80c414c: f897 202f ldrb.w r2, [r7, #47] ; 0x2f 80c4150: f803 2c1c strb.w r2, [r3, #-28] seq /= 16; 80c4154: 683b ldr r3, [r7, #0] 80c4156: 091b lsrs r3, r3, #4 80c4158: 603b str r3, [r7, #0] } while (seq); 80c415a: 683b ldr r3, [r7, #0] 80c415c: 2b00 cmp r3, #0 80c415e: d1de bne.n 80c411e ns[i] = '~'; 80c4160: f107 0214 add.w r2, r7, #20 80c4164: 6abb ldr r3, [r7, #40] ; 0x28 80c4166: 4413 add r3, r2 80c4168: 227e movs r2, #126 ; 0x7e 80c416a: 701a strb r2, [r3, #0] /* Append the number */ for (j = 0; j < i && dst[j] != ' '; j++) { 80c416c: 2300 movs r3, #0 80c416e: 627b str r3, [r7, #36] ; 0x24 80c4170: e002 b.n 80c4178 80c4172: 6a7b ldr r3, [r7, #36] ; 0x24 80c4174: 3301 adds r3, #1 80c4176: 627b str r3, [r7, #36] ; 0x24 80c4178: 6a7a ldr r2, [r7, #36] ; 0x24 80c417a: 6abb ldr r3, [r7, #40] ; 0x28 80c417c: 429a cmp r2, r3 80c417e: d205 bcs.n 80c418c 80c4180: 68fa ldr r2, [r7, #12] 80c4182: 6a7b ldr r3, [r7, #36] ; 0x24 80c4184: 4413 add r3, r2 80c4186: 781b ldrb r3, [r3, #0] 80c4188: 2b20 cmp r3, #32 80c418a: d1f2 bne.n 80c4172 if (j == i - 1) break; j++; } } do { dst[j++] = (i < 8) ? ns[i++] : ' '; 80c418c: 6a7b ldr r3, [r7, #36] ; 0x24 80c418e: 1c5a adds r2, r3, #1 80c4190: 627a str r2, [r7, #36] ; 0x24 80c4192: 68fa ldr r2, [r7, #12] 80c4194: 441a add r2, r3 80c4196: 6abb ldr r3, [r7, #40] ; 0x28 80c4198: 2b07 cmp r3, #7 80c419a: d808 bhi.n 80c41ae 80c419c: 6abb ldr r3, [r7, #40] ; 0x28 80c419e: 1c59 adds r1, r3, #1 80c41a0: 62b9 str r1, [r7, #40] ; 0x28 80c41a2: f107 0130 add.w r1, r7, #48 ; 0x30 80c41a6: 440b add r3, r1 80c41a8: f813 3c1c ldrb.w r3, [r3, #-28] 80c41ac: e000 b.n 80c41b0 80c41ae: 2320 movs r3, #32 80c41b0: 7013 strb r3, [r2, #0] } while (j < 8); 80c41b2: 6a7b ldr r3, [r7, #36] ; 0x24 80c41b4: 2b07 cmp r3, #7 80c41b6: d9e9 bls.n 80c418c } 80c41b8: bf00 nop 80c41ba: 3730 adds r7, #48 ; 0x30 80c41bc: 46bd mov sp, r7 80c41be: bd80 pop {r7, pc} 80c41c0: 00011021 .word 0x00011021 080c41c4 : static BYTE sum_sfn ( const BYTE* dir /* Pointer to the SFN entry */ ) { 80c41c4: b480 push {r7} 80c41c6: b085 sub sp, #20 80c41c8: af00 add r7, sp, #0 80c41ca: 6078 str r0, [r7, #4] BYTE sum = 0; 80c41cc: 2300 movs r3, #0 80c41ce: 73fb strb r3, [r7, #15] UINT n = 11; 80c41d0: 230b movs r3, #11 80c41d2: 60bb str r3, [r7, #8] do { sum = (sum >> 1) + (sum << 7) + *dir++; 80c41d4: 7bfb ldrb r3, [r7, #15] 80c41d6: b2da uxtb r2, r3 80c41d8: 0852 lsrs r2, r2, #1 80c41da: 01db lsls r3, r3, #7 80c41dc: 4313 orrs r3, r2 80c41de: b2da uxtb r2, r3 80c41e0: 687b ldr r3, [r7, #4] 80c41e2: 1c59 adds r1, r3, #1 80c41e4: 6079 str r1, [r7, #4] 80c41e6: 781b ldrb r3, [r3, #0] 80c41e8: 4413 add r3, r2 80c41ea: 73fb strb r3, [r7, #15] } while (--n); 80c41ec: 68bb ldr r3, [r7, #8] 80c41ee: 3b01 subs r3, #1 80c41f0: 60bb str r3, [r7, #8] 80c41f2: 68bb ldr r3, [r7, #8] 80c41f4: 2b00 cmp r3, #0 80c41f6: d1ed bne.n 80c41d4 return sum; 80c41f8: 7bfb ldrb r3, [r7, #15] } 80c41fa: 4618 mov r0, r3 80c41fc: 3714 adds r7, #20 80c41fe: 46bd mov sp, r7 80c4200: f85d 7b04 ldr.w r7, [sp], #4 80c4204: 4770 bx lr 080c4206 : static WORD xdir_sum ( /* Get checksum of the directoly block */ const BYTE* dir /* Directory entry block to be calculated */ ) { 80c4206: b480 push {r7} 80c4208: b087 sub sp, #28 80c420a: af00 add r7, sp, #0 80c420c: 6078 str r0, [r7, #4] UINT i, szblk; WORD sum; szblk = (dir[XDIR_NumSec] + 1) * SZDIRE; 80c420e: 687b ldr r3, [r7, #4] 80c4210: 3301 adds r3, #1 80c4212: 781b ldrb r3, [r3, #0] 80c4214: 3301 adds r3, #1 80c4216: 015b lsls r3, r3, #5 80c4218: 60fb str r3, [r7, #12] for (i = sum = 0; i < szblk; i++) { 80c421a: 2300 movs r3, #0 80c421c: 827b strh r3, [r7, #18] 80c421e: 2300 movs r3, #0 80c4220: 617b str r3, [r7, #20] 80c4222: e01e b.n 80c4262 if (i == XDIR_SetSum) { /* Skip sum field */ 80c4224: 697b ldr r3, [r7, #20] 80c4226: 2b02 cmp r3, #2 80c4228: d103 bne.n 80c4232 i++; 80c422a: 697b ldr r3, [r7, #20] 80c422c: 3301 adds r3, #1 80c422e: 617b str r3, [r7, #20] 80c4230: e014 b.n 80c425c } else { sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + dir[i]; 80c4232: 8a7b ldrh r3, [r7, #18] 80c4234: f003 0301 and.w r3, r3, #1 80c4238: 2b00 cmp r3, #0 80c423a: d002 beq.n 80c4242 80c423c: f44f 4200 mov.w r2, #32768 ; 0x8000 80c4240: e000 b.n 80c4244 80c4242: 2200 movs r2, #0 80c4244: 8a7b ldrh r3, [r7, #18] 80c4246: 085b lsrs r3, r3, #1 80c4248: b29b uxth r3, r3 80c424a: 4413 add r3, r2 80c424c: b29a uxth r2, r3 80c424e: 6879 ldr r1, [r7, #4] 80c4250: 697b ldr r3, [r7, #20] 80c4252: 440b add r3, r1 80c4254: 781b ldrb r3, [r3, #0] 80c4256: b29b uxth r3, r3 80c4258: 4413 add r3, r2 80c425a: 827b strh r3, [r7, #18] for (i = sum = 0; i < szblk; i++) { 80c425c: 697b ldr r3, [r7, #20] 80c425e: 3301 adds r3, #1 80c4260: 617b str r3, [r7, #20] 80c4262: 697a ldr r2, [r7, #20] 80c4264: 68fb ldr r3, [r7, #12] 80c4266: 429a cmp r2, r3 80c4268: d3dc bcc.n 80c4224 } } return sum; 80c426a: 8a7b ldrh r3, [r7, #18] } 80c426c: 4618 mov r0, r3 80c426e: 371c adds r7, #28 80c4270: 46bd mov sp, r7 80c4272: f85d 7b04 ldr.w r7, [sp], #4 80c4276: 4770 bx lr 080c4278 : static WORD xname_sum ( /* Get check sum (to be used as hash) of the name */ const WCHAR* name /* File name to be calculated */ ) { 80c4278: b580 push {r7, lr} 80c427a: b084 sub sp, #16 80c427c: af00 add r7, sp, #0 80c427e: 6078 str r0, [r7, #4] WCHAR chr; WORD sum = 0; 80c4280: 2300 movs r3, #0 80c4282: 81fb strh r3, [r7, #14] while ((chr = *name++) != 0) { 80c4284: e02b b.n 80c42de chr = ff_wtoupper(chr); /* File name needs to be ignored case */ 80c4286: 89bb ldrh r3, [r7, #12] 80c4288: 4618 mov r0, r3 80c428a: f004 fe47 bl 80c8f1c 80c428e: 4603 mov r3, r0 80c4290: 81bb strh r3, [r7, #12] sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + (chr & 0xFF); 80c4292: 89fb ldrh r3, [r7, #14] 80c4294: f003 0301 and.w r3, r3, #1 80c4298: 2b00 cmp r3, #0 80c429a: d002 beq.n 80c42a2 80c429c: f44f 4200 mov.w r2, #32768 ; 0x8000 80c42a0: e000 b.n 80c42a4 80c42a2: 2200 movs r2, #0 80c42a4: 89fb ldrh r3, [r7, #14] 80c42a6: 085b lsrs r3, r3, #1 80c42a8: b29b uxth r3, r3 80c42aa: 4413 add r3, r2 80c42ac: b29a uxth r2, r3 80c42ae: 89bb ldrh r3, [r7, #12] 80c42b0: b2db uxtb r3, r3 80c42b2: b29b uxth r3, r3 80c42b4: 4413 add r3, r2 80c42b6: 81fb strh r3, [r7, #14] sum = ((sum & 1) ? 0x8000 : 0) + (sum >> 1) + (chr >> 8); 80c42b8: 89fb ldrh r3, [r7, #14] 80c42ba: f003 0301 and.w r3, r3, #1 80c42be: 2b00 cmp r3, #0 80c42c0: d002 beq.n 80c42c8 80c42c2: f44f 4200 mov.w r2, #32768 ; 0x8000 80c42c6: e000 b.n 80c42ca 80c42c8: 2200 movs r2, #0 80c42ca: 89fb ldrh r3, [r7, #14] 80c42cc: 085b lsrs r3, r3, #1 80c42ce: b29b uxth r3, r3 80c42d0: 4413 add r3, r2 80c42d2: b29a uxth r2, r3 80c42d4: 89bb ldrh r3, [r7, #12] 80c42d6: 0a1b lsrs r3, r3, #8 80c42d8: b29b uxth r3, r3 80c42da: 4413 add r3, r2 80c42dc: 81fb strh r3, [r7, #14] while ((chr = *name++) != 0) { 80c42de: 687b ldr r3, [r7, #4] 80c42e0: 1c9a adds r2, r3, #2 80c42e2: 607a str r2, [r7, #4] 80c42e4: 881b ldrh r3, [r3, #0] 80c42e6: 81bb strh r3, [r7, #12] 80c42e8: 89bb ldrh r3, [r7, #12] 80c42ea: 2b00 cmp r3, #0 80c42ec: d1cb bne.n 80c4286 } return sum; 80c42ee: 89fb ldrh r3, [r7, #14] } 80c42f0: 4618 mov r0, r3 80c42f2: 3710 adds r7, #16 80c42f4: 46bd mov sp, r7 80c42f6: bd80 pop {r7, pc} 080c42f8 : static DWORD xsum32 ( BYTE dat, /* Data to be sumed */ DWORD sum /* Previous value */ ) { 80c42f8: b480 push {r7} 80c42fa: b083 sub sp, #12 80c42fc: af00 add r7, sp, #0 80c42fe: 4603 mov r3, r0 80c4300: 6039 str r1, [r7, #0] 80c4302: 71fb strb r3, [r7, #7] sum = ((sum & 1) ? 0x80000000 : 0) + (sum >> 1) + dat; 80c4304: 683b ldr r3, [r7, #0] 80c4306: f003 0301 and.w r3, r3, #1 80c430a: 2b00 cmp r3, #0 80c430c: d002 beq.n 80c4314 80c430e: f04f 4200 mov.w r2, #2147483648 ; 0x80000000 80c4312: e000 b.n 80c4316 80c4314: 2200 movs r2, #0 80c4316: 683b ldr r3, [r7, #0] 80c4318: 085b lsrs r3, r3, #1 80c431a: 441a add r2, r3 80c431c: 79fb ldrb r3, [r7, #7] 80c431e: 4413 add r3, r2 80c4320: 603b str r3, [r7, #0] return sum; 80c4322: 683b ldr r3, [r7, #0] } 80c4324: 4618 mov r0, r3 80c4326: 370c adds r7, #12 80c4328: 46bd mov sp, r7 80c432a: f85d 7b04 ldr.w r7, [sp], #4 80c432e: 4770 bx lr 080c4330 : static void get_xdir_info ( BYTE* dirb, /* Pointer to the direcotry entry block 85+C0+C1s */ FILINFO* fno /* Buffer to store the extracted file information */ ) { 80c4330: b590 push {r4, r7, lr} 80c4332: b087 sub sp, #28 80c4334: af00 add r7, sp, #0 80c4336: 6078 str r0, [r7, #4] 80c4338: 6039 str r1, [r7, #0] #if !_LFN_UNICODE UINT nc; #endif /* Get file name */ di = 0; 80c433a: 2300 movs r3, #0 80c433c: 617b str r3, [r7, #20] w = ld_word(dirb + si); /* Get a character */ if (di >= _MAX_LFN) { di = 0; break; } /* Buffer overflow --> inaccessible object name */ fno->fname[di] = w; /* Store it */ } #else for (si = SZDIRE * 2, nc = 0; nc < dirb[XDIR_NumName]; si += 2, nc++) { 80c433e: 2340 movs r3, #64 ; 0x40 80c4340: 613b str r3, [r7, #16] 80c4342: 2300 movs r3, #0 80c4344: 60fb str r3, [r7, #12] 80c4346: e02c b.n 80c43a2 if ((si % SZDIRE) == 0) si += 2; /* Skip entry type field */ 80c4348: 693b ldr r3, [r7, #16] 80c434a: f003 031f and.w r3, r3, #31 80c434e: 2b00 cmp r3, #0 80c4350: d102 bne.n 80c4358 80c4352: 693b ldr r3, [r7, #16] 80c4354: 3302 adds r3, #2 80c4356: 613b str r3, [r7, #16] w = ff_convert(ld_word(dirb + si), 0); /* Get a character and Unicode -> OEM */ 80c4358: 687a ldr r2, [r7, #4] 80c435a: 693b ldr r3, [r7, #16] 80c435c: 4413 add r3, r2 80c435e: 4618 mov r0, r3 80c4360: f7fe faec bl 80c293c 80c4364: 4603 mov r3, r0 80c4366: 2100 movs r1, #0 80c4368: 4618 mov r0, r3 80c436a: f004 fd9b bl 80c8ea4 80c436e: 4603 mov r3, r0 80c4370: 817b strh r3, [r7, #10] if (_DF1S && w >= 0x100) { /* Is it a double byte char? (always false at SBCS cfg) */ fno->fname[di++] = (char)(w >> 8); /* Put 1st byte of the DBC */ } if (w == 0 || di >= _MAX_LFN) { di = 0; break; } /* Invalid char or buffer overflow --> inaccessible object name */ 80c4372: 897b ldrh r3, [r7, #10] 80c4374: 2b00 cmp r3, #0 80c4376: d002 beq.n 80c437e 80c4378: 697b ldr r3, [r7, #20] 80c437a: 2bfe cmp r3, #254 ; 0xfe 80c437c: d902 bls.n 80c4384 80c437e: 2300 movs r3, #0 80c4380: 617b str r3, [r7, #20] 80c4382: e015 b.n 80c43b0 fno->fname[di++] = (char)w; 80c4384: 697b ldr r3, [r7, #20] 80c4386: 1c5a adds r2, r3, #1 80c4388: 617a str r2, [r7, #20] 80c438a: 897a ldrh r2, [r7, #10] 80c438c: b2d1 uxtb r1, r2 80c438e: 683a ldr r2, [r7, #0] 80c4390: 4413 add r3, r2 80c4392: 460a mov r2, r1 80c4394: 769a strb r2, [r3, #26] for (si = SZDIRE * 2, nc = 0; nc < dirb[XDIR_NumName]; si += 2, nc++) { 80c4396: 693b ldr r3, [r7, #16] 80c4398: 3302 adds r3, #2 80c439a: 613b str r3, [r7, #16] 80c439c: 68fb ldr r3, [r7, #12] 80c439e: 3301 adds r3, #1 80c43a0: 60fb str r3, [r7, #12] 80c43a2: 687b ldr r3, [r7, #4] 80c43a4: 3323 adds r3, #35 ; 0x23 80c43a6: 781b ldrb r3, [r3, #0] 80c43a8: 461a mov r2, r3 80c43aa: 68fb ldr r3, [r7, #12] 80c43ac: 429a cmp r2, r3 80c43ae: d8cb bhi.n 80c4348 } #endif if (di == 0) fno->fname[di++] = '?'; /* Inaccessible object name? */ 80c43b0: 697b ldr r3, [r7, #20] 80c43b2: 2b00 cmp r3, #0 80c43b4: d106 bne.n 80c43c4 80c43b6: 697b ldr r3, [r7, #20] 80c43b8: 1c5a adds r2, r3, #1 80c43ba: 617a str r2, [r7, #20] 80c43bc: 683a ldr r2, [r7, #0] 80c43be: 4413 add r3, r2 80c43c0: 223f movs r2, #63 ; 0x3f 80c43c2: 769a strb r2, [r3, #26] fno->fname[di] = 0; /* Terminate file name */ 80c43c4: 683a ldr r2, [r7, #0] 80c43c6: 697b ldr r3, [r7, #20] 80c43c8: 4413 add r3, r2 80c43ca: 331a adds r3, #26 80c43cc: 2200 movs r2, #0 80c43ce: 701a strb r2, [r3, #0] fno->altname[0] = 0; /* No SFN */ 80c43d0: 683b ldr r3, [r7, #0] 80c43d2: 2200 movs r2, #0 80c43d4: 735a strb r2, [r3, #13] fno->fattrib = dirb[XDIR_Attr]; /* Attribute */ 80c43d6: 687b ldr r3, [r7, #4] 80c43d8: 791a ldrb r2, [r3, #4] 80c43da: 683b ldr r3, [r7, #0] 80c43dc: 731a strb r2, [r3, #12] fno->fsize = (fno->fattrib & AM_DIR) ? 0 : ld_qword(dirb + XDIR_FileSize); /* Size */ 80c43de: 683b ldr r3, [r7, #0] 80c43e0: 7b1b ldrb r3, [r3, #12] 80c43e2: f003 0310 and.w r3, r3, #16 80c43e6: 2b00 cmp r3, #0 80c43e8: d107 bne.n 80c43fa 80c43ea: 687b ldr r3, [r7, #4] 80c43ec: 3338 adds r3, #56 ; 0x38 80c43ee: 4618 mov r0, r3 80c43f0: f7fe fadf bl 80c29b2 80c43f4: 4603 mov r3, r0 80c43f6: 460c mov r4, r1 80c43f8: e003 b.n 80c4402 80c43fa: f04f 0300 mov.w r3, #0 80c43fe: f04f 0400 mov.w r4, #0 80c4402: 683a ldr r2, [r7, #0] 80c4404: e882 0018 stmia.w r2, {r3, r4} fno->ftime = ld_word(dirb + XDIR_ModTime + 0); /* Time */ 80c4408: 687b ldr r3, [r7, #4] 80c440a: 330c adds r3, #12 80c440c: 4618 mov r0, r3 80c440e: f7fe fa95 bl 80c293c 80c4412: 4603 mov r3, r0 80c4414: 461a mov r2, r3 80c4416: 683b ldr r3, [r7, #0] 80c4418: 815a strh r2, [r3, #10] fno->fdate = ld_word(dirb + XDIR_ModTime + 2); /* Date */ 80c441a: 687b ldr r3, [r7, #4] 80c441c: 330e adds r3, #14 80c441e: 4618 mov r0, r3 80c4420: f7fe fa8c bl 80c293c 80c4424: 4603 mov r3, r0 80c4426: 461a mov r2, r3 80c4428: 683b ldr r3, [r7, #0] 80c442a: 811a strh r2, [r3, #8] } 80c442c: bf00 nop 80c442e: 371c adds r7, #28 80c4430: 46bd mov sp, r7 80c4432: bd90 pop {r4, r7, pc} 080c4434 : static FRESULT load_xdir ( /* FR_INT_ERR: invalid entry block */ DIR* dp /* Pointer to the reading direcotry object pointing the 85 entry */ ) { 80c4434: b590 push {r4, r7, lr} 80c4436: b087 sub sp, #28 80c4438: af00 add r7, sp, #0 80c443a: 6078 str r0, [r7, #4] FRESULT res; UINT i, sz_ent; BYTE* dirb = dp->obj.fs->dirbuf; /* Pointer to the on-memory direcotry entry block 85+C0+C1s */ 80c443c: 687b ldr r3, [r7, #4] 80c443e: 681b ldr r3, [r3, #0] 80c4440: 691b ldr r3, [r3, #16] 80c4442: 613b str r3, [r7, #16] /* Load 85 entry */ res = move_window(dp->obj.fs, dp->sect); 80c4444: 687b ldr r3, [r7, #4] 80c4446: 681a ldr r2, [r3, #0] 80c4448: 687b ldr r3, [r7, #4] 80c444a: 6b9b ldr r3, [r3, #56] ; 0x38 80c444c: 4619 mov r1, r3 80c444e: 4610 mov r0, r2 80c4450: f7fe fcf7 bl 80c2e42 80c4454: 4603 mov r3, r0 80c4456: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c4458: 7bfb ldrb r3, [r7, #15] 80c445a: 2b00 cmp r3, #0 80c445c: d001 beq.n 80c4462 80c445e: 7bfb ldrb r3, [r7, #15] 80c4460: e09f b.n 80c45a2 if (dp->dir[XDIR_Type] != 0x85) return FR_INT_ERR; 80c4462: 687b ldr r3, [r7, #4] 80c4464: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4466: 781b ldrb r3, [r3, #0] 80c4468: 2b85 cmp r3, #133 ; 0x85 80c446a: d001 beq.n 80c4470 80c446c: 2302 movs r3, #2 80c446e: e098 b.n 80c45a2 mem_cpy(dirb + 0, dp->dir, SZDIRE); 80c4470: 687b ldr r3, [r7, #4] 80c4472: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4474: 2220 movs r2, #32 80c4476: 4619 mov r1, r3 80c4478: 6938 ldr r0, [r7, #16] 80c447a: f7fe fc21 bl 80c2cc0 sz_ent = (dirb[XDIR_NumSec] + 1) * SZDIRE; 80c447e: 693b ldr r3, [r7, #16] 80c4480: 3301 adds r3, #1 80c4482: 781b ldrb r3, [r3, #0] 80c4484: 3301 adds r3, #1 80c4486: 015b lsls r3, r3, #5 80c4488: 60bb str r3, [r7, #8] if (sz_ent < 3 * SZDIRE || sz_ent > 19 * SZDIRE) return FR_INT_ERR; 80c448a: 68bb ldr r3, [r7, #8] 80c448c: 2b5f cmp r3, #95 ; 0x5f 80c448e: d903 bls.n 80c4498 80c4490: 68bb ldr r3, [r7, #8] 80c4492: f5b3 7f18 cmp.w r3, #608 ; 0x260 80c4496: d901 bls.n 80c449c 80c4498: 2302 movs r3, #2 80c449a: e082 b.n 80c45a2 /* Load C0 entry */ res = dir_next(dp, 0); 80c449c: 2100 movs r1, #0 80c449e: 6878 ldr r0, [r7, #4] 80c44a0: f7ff fb55 bl 80c3b4e 80c44a4: 4603 mov r3, r0 80c44a6: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c44a8: 7bfb ldrb r3, [r7, #15] 80c44aa: 2b00 cmp r3, #0 80c44ac: d001 beq.n 80c44b2 80c44ae: 7bfb ldrb r3, [r7, #15] 80c44b0: e077 b.n 80c45a2 res = move_window(dp->obj.fs, dp->sect); 80c44b2: 687b ldr r3, [r7, #4] 80c44b4: 681a ldr r2, [r3, #0] 80c44b6: 687b ldr r3, [r7, #4] 80c44b8: 6b9b ldr r3, [r3, #56] ; 0x38 80c44ba: 4619 mov r1, r3 80c44bc: 4610 mov r0, r2 80c44be: f7fe fcc0 bl 80c2e42 80c44c2: 4603 mov r3, r0 80c44c4: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c44c6: 7bfb ldrb r3, [r7, #15] 80c44c8: 2b00 cmp r3, #0 80c44ca: d001 beq.n 80c44d0 80c44cc: 7bfb ldrb r3, [r7, #15] 80c44ce: e068 b.n 80c45a2 if (dp->dir[XDIR_Type] != 0xC0) return FR_INT_ERR; 80c44d0: 687b ldr r3, [r7, #4] 80c44d2: 6bdb ldr r3, [r3, #60] ; 0x3c 80c44d4: 781b ldrb r3, [r3, #0] 80c44d6: 2bc0 cmp r3, #192 ; 0xc0 80c44d8: d001 beq.n 80c44de 80c44da: 2302 movs r3, #2 80c44dc: e061 b.n 80c45a2 mem_cpy(dirb + SZDIRE, dp->dir, SZDIRE); 80c44de: 693b ldr r3, [r7, #16] 80c44e0: f103 0020 add.w r0, r3, #32 80c44e4: 687b ldr r3, [r7, #4] 80c44e6: 6bdb ldr r3, [r3, #60] ; 0x3c 80c44e8: 2220 movs r2, #32 80c44ea: 4619 mov r1, r3 80c44ec: f7fe fbe8 bl 80c2cc0 if (MAXDIRB(dirb[XDIR_NumName]) > sz_ent) return FR_INT_ERR; 80c44f0: 693b ldr r3, [r7, #16] 80c44f2: 3323 adds r3, #35 ; 0x23 80c44f4: 781b ldrb r3, [r3, #0] 80c44f6: 332c adds r3, #44 ; 0x2c 80c44f8: 4a2c ldr r2, [pc, #176] ; (80c45ac ) 80c44fa: fba2 2303 umull r2, r3, r2, r3 80c44fe: 08db lsrs r3, r3, #3 80c4500: 015a lsls r2, r3, #5 80c4502: 68bb ldr r3, [r7, #8] 80c4504: 429a cmp r2, r3 80c4506: d901 bls.n 80c450c 80c4508: 2302 movs r3, #2 80c450a: e04a b.n 80c45a2 /* Load C1 entries */ i = SZDIRE * 2; /* C1 offset */ 80c450c: 2340 movs r3, #64 ; 0x40 80c450e: 617b str r3, [r7, #20] do { res = dir_next(dp, 0); 80c4510: 2100 movs r1, #0 80c4512: 6878 ldr r0, [r7, #4] 80c4514: f7ff fb1b bl 80c3b4e 80c4518: 4603 mov r3, r0 80c451a: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c451c: 7bfb ldrb r3, [r7, #15] 80c451e: 2b00 cmp r3, #0 80c4520: d001 beq.n 80c4526 80c4522: 7bfb ldrb r3, [r7, #15] 80c4524: e03d b.n 80c45a2 res = move_window(dp->obj.fs, dp->sect); 80c4526: 687b ldr r3, [r7, #4] 80c4528: 681a ldr r2, [r3, #0] 80c452a: 687b ldr r3, [r7, #4] 80c452c: 6b9b ldr r3, [r3, #56] ; 0x38 80c452e: 4619 mov r1, r3 80c4530: 4610 mov r0, r2 80c4532: f7fe fc86 bl 80c2e42 80c4536: 4603 mov r3, r0 80c4538: 73fb strb r3, [r7, #15] if (res != FR_OK) return res; 80c453a: 7bfb ldrb r3, [r7, #15] 80c453c: 2b00 cmp r3, #0 80c453e: d001 beq.n 80c4544 80c4540: 7bfb ldrb r3, [r7, #15] 80c4542: e02e b.n 80c45a2 if (dp->dir[XDIR_Type] != 0xC1) return FR_INT_ERR; 80c4544: 687b ldr r3, [r7, #4] 80c4546: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4548: 781b ldrb r3, [r3, #0] 80c454a: 2bc1 cmp r3, #193 ; 0xc1 80c454c: d001 beq.n 80c4552 80c454e: 2302 movs r3, #2 80c4550: e027 b.n 80c45a2 if (i < MAXDIRB(_MAX_LFN)) mem_cpy(dirb + i, dp->dir, SZDIRE); 80c4552: 697b ldr r3, [r7, #20] 80c4554: f5b3 7f18 cmp.w r3, #608 ; 0x260 80c4558: d208 bcs.n 80c456c 80c455a: 693a ldr r2, [r7, #16] 80c455c: 697b ldr r3, [r7, #20] 80c455e: 18d0 adds r0, r2, r3 80c4560: 687b ldr r3, [r7, #4] 80c4562: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4564: 2220 movs r2, #32 80c4566: 4619 mov r1, r3 80c4568: f7fe fbaa bl 80c2cc0 } while ((i += SZDIRE) < sz_ent); 80c456c: 697b ldr r3, [r7, #20] 80c456e: 3320 adds r3, #32 80c4570: 617b str r3, [r7, #20] 80c4572: 697a ldr r2, [r7, #20] 80c4574: 68bb ldr r3, [r7, #8] 80c4576: 429a cmp r2, r3 80c4578: d3ca bcc.n 80c4510 /* Sanity check (do it when accessible object name) */ if (i <= MAXDIRB(_MAX_LFN)) { 80c457a: 697b ldr r3, [r7, #20] 80c457c: f5b3 7f18 cmp.w r3, #608 ; 0x260 80c4580: d80e bhi.n 80c45a0 if (xdir_sum(dirb) != ld_word(dirb + XDIR_SetSum)) return FR_INT_ERR; 80c4582: 6938 ldr r0, [r7, #16] 80c4584: f7ff fe3f bl 80c4206 80c4588: 4603 mov r3, r0 80c458a: 461c mov r4, r3 80c458c: 693b ldr r3, [r7, #16] 80c458e: 3302 adds r3, #2 80c4590: 4618 mov r0, r3 80c4592: f7fe f9d3 bl 80c293c 80c4596: 4603 mov r3, r0 80c4598: 429c cmp r4, r3 80c459a: d001 beq.n 80c45a0 80c459c: 2302 movs r3, #2 80c459e: e000 b.n 80c45a2 } return FR_OK; 80c45a0: 2300 movs r3, #0 } 80c45a2: 4618 mov r0, r3 80c45a4: 371c adds r7, #28 80c45a6: 46bd mov sp, r7 80c45a8: bd90 pop {r4, r7, pc} 80c45aa: bf00 nop 80c45ac: 88888889 .word 0x88888889 080c45b0 : static FRESULT load_obj_dir ( DIR* dp, /* Blank directory object to be used to access containing direcotry */ const _FDID* obj /* Object with its containing directory information */ ) { 80c45b0: b590 push {r4, r7, lr} 80c45b2: b085 sub sp, #20 80c45b4: af00 add r7, sp, #0 80c45b6: 6078 str r0, [r7, #4] 80c45b8: 6039 str r1, [r7, #0] FRESULT res; /* Open object containing directory */ dp->obj.fs = obj->fs; 80c45ba: 683b ldr r3, [r7, #0] 80c45bc: 681a ldr r2, [r3, #0] 80c45be: 687b ldr r3, [r7, #4] 80c45c0: 601a str r2, [r3, #0] dp->obj.sclust = obj->c_scl; 80c45c2: 683b ldr r3, [r7, #0] 80c45c4: 6a1a ldr r2, [r3, #32] 80c45c6: 687b ldr r3, [r7, #4] 80c45c8: 609a str r2, [r3, #8] dp->obj.stat = (BYTE)obj->c_size; 80c45ca: 683b ldr r3, [r7, #0] 80c45cc: 6a5b ldr r3, [r3, #36] ; 0x24 80c45ce: b2da uxtb r2, r3 80c45d0: 687b ldr r3, [r7, #4] 80c45d2: 71da strb r2, [r3, #7] dp->obj.objsize = obj->c_size & 0xFFFFFF00; 80c45d4: 683b ldr r3, [r7, #0] 80c45d6: 6a5b ldr r3, [r3, #36] ; 0x24 80c45d8: f04f 0400 mov.w r4, #0 80c45dc: f06f 01ff mvn.w r1, #255 ; 0xff 80c45e0: f04f 0200 mov.w r2, #0 80c45e4: ea03 0301 and.w r3, r3, r1 80c45e8: ea04 0402 and.w r4, r4, r2 80c45ec: 687a ldr r2, [r7, #4] 80c45ee: e9c2 3404 strd r3, r4, [r2, #16] dp->blk_ofs = obj->c_ofs; 80c45f2: 683b ldr r3, [r7, #0] 80c45f4: 6a9a ldr r2, [r3, #40] ; 0x28 80c45f6: 687b ldr r3, [r7, #4] 80c45f8: 64da str r2, [r3, #76] ; 0x4c res = dir_sdi(dp, dp->blk_ofs); /* Goto object's entry block */ 80c45fa: 687b ldr r3, [r7, #4] 80c45fc: 6cdb ldr r3, [r3, #76] ; 0x4c 80c45fe: 4619 mov r1, r3 80c4600: 6878 ldr r0, [r7, #4] 80c4602: f7ff fa1e bl 80c3a42 80c4606: 4603 mov r3, r0 80c4608: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c460a: 7bfb ldrb r3, [r7, #15] 80c460c: 2b00 cmp r3, #0 80c460e: d104 bne.n 80c461a res = load_xdir(dp); /* Load the object's entry block */ 80c4610: 6878 ldr r0, [r7, #4] 80c4612: f7ff ff0f bl 80c4434 80c4616: 4603 mov r3, r0 80c4618: 73fb strb r3, [r7, #15] } return res; 80c461a: 7bfb ldrb r3, [r7, #15] } 80c461c: 4618 mov r0, r3 80c461e: 3714 adds r7, #20 80c4620: 46bd mov sp, r7 80c4622: bd90 pop {r4, r7, pc} 080c4624 : /*-----------------------------------------------*/ static FRESULT store_xdir ( DIR* dp /* Pointer to the direcotry object */ ) { 80c4624: b590 push {r4, r7, lr} 80c4626: b087 sub sp, #28 80c4628: af00 add r7, sp, #0 80c462a: 6078 str r0, [r7, #4] FRESULT res; UINT nent; BYTE* dirb = dp->obj.fs->dirbuf; /* Pointer to the direcotry entry block 85+C0+C1s */ 80c462c: 687b ldr r3, [r7, #4] 80c462e: 681b ldr r3, [r3, #0] 80c4630: 691b ldr r3, [r3, #16] 80c4632: 60fb str r3, [r7, #12] /* Create set sum */ st_word(dirb + XDIR_SetSum, xdir_sum(dirb)); 80c4634: 68fb ldr r3, [r7, #12] 80c4636: 1c9c adds r4, r3, #2 80c4638: 68f8 ldr r0, [r7, #12] 80c463a: f7ff fde4 bl 80c4206 80c463e: 4603 mov r3, r0 80c4640: 4619 mov r1, r3 80c4642: 4620 mov r0, r4 80c4644: f7fe fa64 bl 80c2b10 nent = dirb[XDIR_NumSec] + 1; 80c4648: 68fb ldr r3, [r7, #12] 80c464a: 3301 adds r3, #1 80c464c: 781b ldrb r3, [r3, #0] 80c464e: 3301 adds r3, #1 80c4650: 613b str r3, [r7, #16] /* Store the set of directory to the volume */ res = dir_sdi(dp, dp->blk_ofs); 80c4652: 687b ldr r3, [r7, #4] 80c4654: 6cdb ldr r3, [r3, #76] ; 0x4c 80c4656: 4619 mov r1, r3 80c4658: 6878 ldr r0, [r7, #4] 80c465a: f7ff f9f2 bl 80c3a42 80c465e: 4603 mov r3, r0 80c4660: 75fb strb r3, [r7, #23] while (res == FR_OK) { 80c4662: e026 b.n 80c46b2 res = move_window(dp->obj.fs, dp->sect); 80c4664: 687b ldr r3, [r7, #4] 80c4666: 681a ldr r2, [r3, #0] 80c4668: 687b ldr r3, [r7, #4] 80c466a: 6b9b ldr r3, [r3, #56] ; 0x38 80c466c: 4619 mov r1, r3 80c466e: 4610 mov r0, r2 80c4670: f7fe fbe7 bl 80c2e42 80c4674: 4603 mov r3, r0 80c4676: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c4678: 7dfb ldrb r3, [r7, #23] 80c467a: 2b00 cmp r3, #0 80c467c: d11d bne.n 80c46ba mem_cpy(dp->dir, dirb, SZDIRE); 80c467e: 687b ldr r3, [r7, #4] 80c4680: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4682: 2220 movs r2, #32 80c4684: 68f9 ldr r1, [r7, #12] 80c4686: 4618 mov r0, r3 80c4688: f7fe fb1a bl 80c2cc0 dp->obj.fs->wflag = 1; 80c468c: 687b ldr r3, [r7, #4] 80c468e: 681b ldr r3, [r3, #0] 80c4690: 2201 movs r2, #1 80c4692: 70da strb r2, [r3, #3] if (--nent == 0) break; 80c4694: 693b ldr r3, [r7, #16] 80c4696: 3b01 subs r3, #1 80c4698: 613b str r3, [r7, #16] 80c469a: 693b ldr r3, [r7, #16] 80c469c: 2b00 cmp r3, #0 80c469e: d00e beq.n 80c46be dirb += SZDIRE; 80c46a0: 68fb ldr r3, [r7, #12] 80c46a2: 3320 adds r3, #32 80c46a4: 60fb str r3, [r7, #12] res = dir_next(dp, 0); 80c46a6: 2100 movs r1, #0 80c46a8: 6878 ldr r0, [r7, #4] 80c46aa: f7ff fa50 bl 80c3b4e 80c46ae: 4603 mov r3, r0 80c46b0: 75fb strb r3, [r7, #23] while (res == FR_OK) { 80c46b2: 7dfb ldrb r3, [r7, #23] 80c46b4: 2b00 cmp r3, #0 80c46b6: d0d5 beq.n 80c4664 80c46b8: e002 b.n 80c46c0 if (res != FR_OK) break; 80c46ba: bf00 nop 80c46bc: e000 b.n 80c46c0 if (--nent == 0) break; 80c46be: bf00 nop } return (res == FR_OK || res == FR_DISK_ERR) ? res : FR_INT_ERR; 80c46c0: 7dfb ldrb r3, [r7, #23] 80c46c2: 2b00 cmp r3, #0 80c46c4: d002 beq.n 80c46cc 80c46c6: 7dfb ldrb r3, [r7, #23] 80c46c8: 2b01 cmp r3, #1 80c46ca: d101 bne.n 80c46d0 80c46cc: 7dfb ldrb r3, [r7, #23] 80c46ce: e000 b.n 80c46d2 80c46d0: 2302 movs r3, #2 } 80c46d2: 4618 mov r0, r3 80c46d4: 371c adds r7, #28 80c46d6: 46bd mov sp, r7 80c46d8: bd90 pop {r4, r7, pc} 080c46da : static void create_xdir ( BYTE* dirb, /* Pointer to the direcotry entry block buffer */ const WCHAR* lfn /* Pointer to the nul terminated file name */ ) { 80c46da: b590 push {r4, r7, lr} 80c46dc: b085 sub sp, #20 80c46de: af00 add r7, sp, #0 80c46e0: 6078 str r0, [r7, #4] 80c46e2: 6039 str r1, [r7, #0] BYTE nb, nc; WCHAR chr; /* Create 85+C0 entry */ mem_set(dirb, 0, 2 * SZDIRE); 80c46e4: 2240 movs r2, #64 ; 0x40 80c46e6: 2100 movs r1, #0 80c46e8: 6878 ldr r0, [r7, #4] 80c46ea: f7fe fb0a bl 80c2d02 dirb[XDIR_Type] = 0x85; 80c46ee: 687b ldr r3, [r7, #4] 80c46f0: 2285 movs r2, #133 ; 0x85 80c46f2: 701a strb r2, [r3, #0] dirb[XDIR_Type + SZDIRE] = 0xC0; 80c46f4: 687b ldr r3, [r7, #4] 80c46f6: 3320 adds r3, #32 80c46f8: 22c0 movs r2, #192 ; 0xc0 80c46fa: 701a strb r2, [r3, #0] /* Create C1 entries */ nc = 0; nb = 1; chr = 1; i = SZDIRE * 2; 80c46fc: 2300 movs r3, #0 80c46fe: 72bb strb r3, [r7, #10] 80c4700: 2301 movs r3, #1 80c4702: 72fb strb r3, [r7, #11] 80c4704: 2301 movs r3, #1 80c4706: 813b strh r3, [r7, #8] 80c4708: 2340 movs r3, #64 ; 0x40 80c470a: 60fb str r3, [r7, #12] do { dirb[i++] = 0xC1; dirb[i++] = 0; /* Entry type C1 */ 80c470c: 68fb ldr r3, [r7, #12] 80c470e: 1c5a adds r2, r3, #1 80c4710: 60fa str r2, [r7, #12] 80c4712: 687a ldr r2, [r7, #4] 80c4714: 4413 add r3, r2 80c4716: 22c1 movs r2, #193 ; 0xc1 80c4718: 701a strb r2, [r3, #0] 80c471a: 68fb ldr r3, [r7, #12] 80c471c: 1c5a adds r2, r3, #1 80c471e: 60fa str r2, [r7, #12] 80c4720: 687a ldr r2, [r7, #4] 80c4722: 4413 add r3, r2 80c4724: 2200 movs r2, #0 80c4726: 701a strb r2, [r3, #0] do { /* Fill name field */ if (chr && (chr = lfn[nc]) != 0) nc++; /* Get a character if exist */ 80c4728: 893b ldrh r3, [r7, #8] 80c472a: 2b00 cmp r3, #0 80c472c: d00b beq.n 80c4746 80c472e: 7abb ldrb r3, [r7, #10] 80c4730: 005b lsls r3, r3, #1 80c4732: 683a ldr r2, [r7, #0] 80c4734: 4413 add r3, r2 80c4736: 881b ldrh r3, [r3, #0] 80c4738: 813b strh r3, [r7, #8] 80c473a: 893b ldrh r3, [r7, #8] 80c473c: 2b00 cmp r3, #0 80c473e: d002 beq.n 80c4746 80c4740: 7abb ldrb r3, [r7, #10] 80c4742: 3301 adds r3, #1 80c4744: 72bb strb r3, [r7, #10] st_word(dirb + i, chr); /* Store it */ 80c4746: 687a ldr r2, [r7, #4] 80c4748: 68fb ldr r3, [r7, #12] 80c474a: 4413 add r3, r2 80c474c: 893a ldrh r2, [r7, #8] 80c474e: 4611 mov r1, r2 80c4750: 4618 mov r0, r3 80c4752: f7fe f9dd bl 80c2b10 } while ((i += 2) % SZDIRE != 0); 80c4756: 68fb ldr r3, [r7, #12] 80c4758: 3302 adds r3, #2 80c475a: 60fb str r3, [r7, #12] 80c475c: 68fb ldr r3, [r7, #12] 80c475e: f003 031f and.w r3, r3, #31 80c4762: 2b00 cmp r3, #0 80c4764: d1e0 bne.n 80c4728 nb++; 80c4766: 7afb ldrb r3, [r7, #11] 80c4768: 3301 adds r3, #1 80c476a: 72fb strb r3, [r7, #11] } while (lfn[nc]); /* Fill next entry if any char follows */ 80c476c: 7abb ldrb r3, [r7, #10] 80c476e: 005b lsls r3, r3, #1 80c4770: 683a ldr r2, [r7, #0] 80c4772: 4413 add r3, r2 80c4774: 881b ldrh r3, [r3, #0] 80c4776: 2b00 cmp r3, #0 80c4778: d1c8 bne.n 80c470c dirb[XDIR_NumName] = nc; /* Set name length */ 80c477a: 687b ldr r3, [r7, #4] 80c477c: 3323 adds r3, #35 ; 0x23 80c477e: 7aba ldrb r2, [r7, #10] 80c4780: 701a strb r2, [r3, #0] dirb[XDIR_NumSec] = nb; /* Set block length */ 80c4782: 687b ldr r3, [r7, #4] 80c4784: 3301 adds r3, #1 80c4786: 7afa ldrb r2, [r7, #11] 80c4788: 701a strb r2, [r3, #0] st_word(dirb + XDIR_NameHash, xname_sum(lfn)); /* Set name hash */ 80c478a: 687b ldr r3, [r7, #4] 80c478c: f103 0424 add.w r4, r3, #36 ; 0x24 80c4790: 6838 ldr r0, [r7, #0] 80c4792: f7ff fd71 bl 80c4278 80c4796: 4603 mov r3, r0 80c4798: 4619 mov r1, r3 80c479a: 4620 mov r0, r4 80c479c: f7fe f9b8 bl 80c2b10 } 80c47a0: bf00 nop 80c47a2: 3714 adds r7, #20 80c47a4: 46bd mov sp, r7 80c47a6: bd90 pop {r4, r7, pc} 080c47a8 : static FRESULT dir_read ( DIR* dp, /* Pointer to the directory object */ int vol /* Filtered by 0:file/directory or 1:volume label */ ) { 80c47a8: b580 push {r7, lr} 80c47aa: b086 sub sp, #24 80c47ac: af00 add r7, sp, #0 80c47ae: 6078 str r0, [r7, #4] 80c47b0: 6039 str r1, [r7, #0] FRESULT res = FR_NO_FILE; 80c47b2: 2304 movs r3, #4 80c47b4: 75fb strb r3, [r7, #23] FATFS *fs = dp->obj.fs; 80c47b6: 687b ldr r3, [r7, #4] 80c47b8: 681b ldr r3, [r3, #0] 80c47ba: 613b str r3, [r7, #16] BYTE a, c; #if _USE_LFN != 0 BYTE ord = 0xFF, sum = 0xFF; 80c47bc: 23ff movs r3, #255 ; 0xff 80c47be: 757b strb r3, [r7, #21] 80c47c0: 23ff movs r3, #255 ; 0xff 80c47c2: 753b strb r3, [r7, #20] #endif while (dp->sect) { 80c47c4: e0a6 b.n 80c4914 res = move_window(fs, dp->sect); 80c47c6: 687b ldr r3, [r7, #4] 80c47c8: 6b9b ldr r3, [r3, #56] ; 0x38 80c47ca: 4619 mov r1, r3 80c47cc: 6938 ldr r0, [r7, #16] 80c47ce: f7fe fb38 bl 80c2e42 80c47d2: 4603 mov r3, r0 80c47d4: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c47d6: 7dfb ldrb r3, [r7, #23] 80c47d8: 2b00 cmp r3, #0 80c47da: f040 80a1 bne.w 80c4920 c = dp->dir[DIR_Name]; /* Test for the entry type */ 80c47de: 687b ldr r3, [r7, #4] 80c47e0: 6bdb ldr r3, [r3, #60] ; 0x3c 80c47e2: 781b ldrb r3, [r3, #0] 80c47e4: 75bb strb r3, [r7, #22] if (c == 0) { 80c47e6: 7dbb ldrb r3, [r7, #22] 80c47e8: 2b00 cmp r3, #0 80c47ea: d102 bne.n 80c47f2 res = FR_NO_FILE; break; /* Reached to end of the directory */ 80c47ec: 2304 movs r3, #4 80c47ee: 75fb strb r3, [r7, #23] 80c47f0: e09d b.n 80c492e } #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c47f2: 693b ldr r3, [r7, #16] 80c47f4: 781b ldrb r3, [r3, #0] 80c47f6: 2b04 cmp r3, #4 80c47f8: d11f bne.n 80c483a if (_USE_LABEL && vol) { 80c47fa: 683b ldr r3, [r7, #0] 80c47fc: 2b00 cmp r3, #0 80c47fe: d003 beq.n 80c4808 if (c == 0x83) break; /* Volume label entry? */ 80c4800: 7dbb ldrb r3, [r7, #22] 80c4802: 2b83 cmp r3, #131 ; 0x83 80c4804: d17d bne.n 80c4902 80c4806: e092 b.n 80c492e } else { if (c == 0x85) { /* Start of the file entry block? */ 80c4808: 7dbb ldrb r3, [r7, #22] 80c480a: 2b85 cmp r3, #133 ; 0x85 80c480c: d179 bne.n 80c4902 dp->blk_ofs = dp->dptr; /* Get location of the block */ 80c480e: 687b ldr r3, [r7, #4] 80c4810: 6b1a ldr r2, [r3, #48] ; 0x30 80c4812: 687b ldr r3, [r7, #4] 80c4814: 64da str r2, [r3, #76] ; 0x4c res = load_xdir(dp); /* Load the entry block */ 80c4816: 6878 ldr r0, [r7, #4] 80c4818: f7ff fe0c bl 80c4434 80c481c: 4603 mov r3, r0 80c481e: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c4820: 7dfb ldrb r3, [r7, #23] 80c4822: 2b00 cmp r3, #0 80c4824: d17e bne.n 80c4924 dp->obj.attr = fs->dirbuf[XDIR_Attr] & AM_MASK; /* Get attribute */ 80c4826: 693b ldr r3, [r7, #16] 80c4828: 691b ldr r3, [r3, #16] 80c482a: 3304 adds r3, #4 80c482c: 781b ldrb r3, [r3, #0] 80c482e: f003 033f and.w r3, r3, #63 ; 0x3f 80c4832: b2da uxtb r2, r3 80c4834: 687b ldr r3, [r7, #4] 80c4836: 719a strb r2, [r3, #6] } break; 80c4838: e074 b.n 80c4924 } } } else #endif { /* On the FAT12/16/32 volume */ dp->obj.attr = a = dp->dir[DIR_Attr] & AM_MASK; /* Get attribute */ 80c483a: 687b ldr r3, [r7, #4] 80c483c: 6bdb ldr r3, [r3, #60] ; 0x3c 80c483e: 330b adds r3, #11 80c4840: 781b ldrb r3, [r3, #0] 80c4842: f003 033f and.w r3, r3, #63 ; 0x3f 80c4846: 73fb strb r3, [r7, #15] 80c4848: 687b ldr r3, [r7, #4] 80c484a: 7bfa ldrb r2, [r7, #15] 80c484c: 719a strb r2, [r3, #6] #if _USE_LFN != 0 /* LFN configuration */ if (c == DDEM || c == '.' || (int)((a & ~AM_ARC) == AM_VOL) != vol) { /* An entry without valid data */ 80c484e: 7dbb ldrb r3, [r7, #22] 80c4850: 2be5 cmp r3, #229 ; 0xe5 80c4852: d00e beq.n 80c4872 80c4854: 7dbb ldrb r3, [r7, #22] 80c4856: 2b2e cmp r3, #46 ; 0x2e 80c4858: d00b beq.n 80c4872 80c485a: 7bfb ldrb r3, [r7, #15] 80c485c: f023 0320 bic.w r3, r3, #32 80c4860: 2b08 cmp r3, #8 80c4862: bf0c ite eq 80c4864: 2301 moveq r3, #1 80c4866: 2300 movne r3, #0 80c4868: b2db uxtb r3, r3 80c486a: 461a mov r2, r3 80c486c: 683b ldr r3, [r7, #0] 80c486e: 429a cmp r2, r3 80c4870: d002 beq.n 80c4878 ord = 0xFF; 80c4872: 23ff movs r3, #255 ; 0xff 80c4874: 757b strb r3, [r7, #21] 80c4876: e044 b.n 80c4902 } else { if (a == AM_LFN) { /* An LFN entry is found */ 80c4878: 7bfb ldrb r3, [r7, #15] 80c487a: 2b0f cmp r3, #15 80c487c: d12f bne.n 80c48de if (c & LLEF) { /* Is it start of an LFN sequence? */ 80c487e: 7dbb ldrb r3, [r7, #22] 80c4880: f003 0340 and.w r3, r3, #64 ; 0x40 80c4884: 2b00 cmp r3, #0 80c4886: d00d beq.n 80c48a4 sum = dp->dir[LDIR_Chksum]; 80c4888: 687b ldr r3, [r7, #4] 80c488a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c488c: 7b5b ldrb r3, [r3, #13] 80c488e: 753b strb r3, [r7, #20] c &= (BYTE)~LLEF; ord = c; 80c4890: 7dbb ldrb r3, [r7, #22] 80c4892: f023 0340 bic.w r3, r3, #64 ; 0x40 80c4896: 75bb strb r3, [r7, #22] 80c4898: 7dbb ldrb r3, [r7, #22] 80c489a: 757b strb r3, [r7, #21] dp->blk_ofs = dp->dptr; 80c489c: 687b ldr r3, [r7, #4] 80c489e: 6b1a ldr r2, [r3, #48] ; 0x30 80c48a0: 687b ldr r3, [r7, #4] 80c48a2: 64da str r2, [r3, #76] ; 0x4c } /* Check LFN validity and capture it */ ord = (c == ord && sum == dp->dir[LDIR_Chksum] && pick_lfn(fs->lfnbuf, dp->dir)) ? ord - 1 : 0xFF; 80c48a4: 7dba ldrb r2, [r7, #22] 80c48a6: 7d7b ldrb r3, [r7, #21] 80c48a8: 429a cmp r2, r3 80c48aa: d115 bne.n 80c48d8 80c48ac: 687b ldr r3, [r7, #4] 80c48ae: 6bdb ldr r3, [r3, #60] ; 0x3c 80c48b0: 330d adds r3, #13 80c48b2: 781b ldrb r3, [r3, #0] 80c48b4: 7d3a ldrb r2, [r7, #20] 80c48b6: 429a cmp r2, r3 80c48b8: d10e bne.n 80c48d8 80c48ba: 693b ldr r3, [r7, #16] 80c48bc: 68da ldr r2, [r3, #12] 80c48be: 687b ldr r3, [r7, #4] 80c48c0: 6bdb ldr r3, [r3, #60] ; 0x3c 80c48c2: 4619 mov r1, r3 80c48c4: 4610 mov r0, r2 80c48c6: f7ff fb23 bl 80c3f10 80c48ca: 4603 mov r3, r0 80c48cc: 2b00 cmp r3, #0 80c48ce: d003 beq.n 80c48d8 80c48d0: 7d7b ldrb r3, [r7, #21] 80c48d2: 3b01 subs r3, #1 80c48d4: b2db uxtb r3, r3 80c48d6: e000 b.n 80c48da 80c48d8: 23ff movs r3, #255 ; 0xff 80c48da: 757b strb r3, [r7, #21] 80c48dc: e011 b.n 80c4902 } else { /* An SFN entry is found */ if (ord || sum != sum_sfn(dp->dir)) { /* Is there a valid LFN? */ 80c48de: 7d7b ldrb r3, [r7, #21] 80c48e0: 2b00 cmp r3, #0 80c48e2: d109 bne.n 80c48f8 80c48e4: 687b ldr r3, [r7, #4] 80c48e6: 6bdb ldr r3, [r3, #60] ; 0x3c 80c48e8: 4618 mov r0, r3 80c48ea: f7ff fc6b bl 80c41c4 80c48ee: 4603 mov r3, r0 80c48f0: 461a mov r2, r3 80c48f2: 7d3b ldrb r3, [r7, #20] 80c48f4: 4293 cmp r3, r2 80c48f6: d017 beq.n 80c4928 dp->blk_ofs = 0xFFFFFFFF; /* It has no LFN. */ 80c48f8: 687b ldr r3, [r7, #4] 80c48fa: f04f 32ff mov.w r2, #4294967295 80c48fe: 64da str r2, [r3, #76] ; 0x4c } break; 80c4900: e012 b.n 80c4928 if (c != DDEM && c != '.' && a != AM_LFN && (int)((a & ~AM_ARC) == AM_VOL) == vol) { /* Is it a valid entry? */ break; } #endif } res = dir_next(dp, 0); /* Next entry */ 80c4902: 2100 movs r1, #0 80c4904: 6878 ldr r0, [r7, #4] 80c4906: f7ff f922 bl 80c3b4e 80c490a: 4603 mov r3, r0 80c490c: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c490e: 7dfb ldrb r3, [r7, #23] 80c4910: 2b00 cmp r3, #0 80c4912: d10b bne.n 80c492c while (dp->sect) { 80c4914: 687b ldr r3, [r7, #4] 80c4916: 6b9b ldr r3, [r3, #56] ; 0x38 80c4918: 2b00 cmp r3, #0 80c491a: f47f af54 bne.w 80c47c6 80c491e: e006 b.n 80c492e if (res != FR_OK) break; 80c4920: bf00 nop 80c4922: e004 b.n 80c492e break; 80c4924: bf00 nop 80c4926: e002 b.n 80c492e break; 80c4928: bf00 nop 80c492a: e000 b.n 80c492e if (res != FR_OK) break; 80c492c: bf00 nop } if (res != FR_OK) dp->sect = 0; /* Terminate the read operation on error or EOT */ 80c492e: 7dfb ldrb r3, [r7, #23] 80c4930: 2b00 cmp r3, #0 80c4932: d002 beq.n 80c493a 80c4934: 687b ldr r3, [r7, #4] 80c4936: 2200 movs r2, #0 80c4938: 639a str r2, [r3, #56] ; 0x38 return res; 80c493a: 7dfb ldrb r3, [r7, #23] } 80c493c: 4618 mov r0, r3 80c493e: 3718 adds r7, #24 80c4940: 46bd mov sp, r7 80c4942: bd80 pop {r7, pc} 080c4944 : static FRESULT dir_find ( /* FR_OK(0):succeeded, !=0:error */ DIR* dp /* Pointer to the directory object with the file name */ ) { 80c4944: b590 push {r4, r7, lr} 80c4946: b089 sub sp, #36 ; 0x24 80c4948: af00 add r7, sp, #0 80c494a: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs = dp->obj.fs; 80c494c: 687b ldr r3, [r7, #4] 80c494e: 681b ldr r3, [r3, #0] 80c4950: 60fb str r3, [r7, #12] BYTE c; #if _USE_LFN != 0 BYTE a, ord, sum; #endif res = dir_sdi(dp, 0); /* Rewind directory object */ 80c4952: 2100 movs r1, #0 80c4954: 6878 ldr r0, [r7, #4] 80c4956: f7ff f874 bl 80c3a42 80c495a: 4603 mov r3, r0 80c495c: 77fb strb r3, [r7, #31] if (res != FR_OK) return res; 80c495e: 7ffb ldrb r3, [r7, #31] 80c4960: 2b00 cmp r3, #0 80c4962: d001 beq.n 80c4968 80c4964: 7ffb ldrb r3, [r7, #31] 80c4966: e112 b.n 80c4b8e #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c4968: 68fb ldr r3, [r7, #12] 80c496a: 781b ldrb r3, [r3, #0] 80c496c: 2b04 cmp r3, #4 80c496e: d164 bne.n 80c4a3a BYTE nc; UINT di, ni; WORD hash = xname_sum(fs->lfnbuf); /* Hash value of the name to find */ 80c4970: 68fb ldr r3, [r7, #12] 80c4972: 68db ldr r3, [r3, #12] 80c4974: 4618 mov r0, r3 80c4976: f7ff fc7f bl 80c4278 80c497a: 4603 mov r3, r0 80c497c: 817b strh r3, [r7, #10] while ((res = dir_read(dp, 0)) == FR_OK) { /* Read an item */ 80c497e: e04f b.n 80c4a20 #if _MAX_LFN < 255 if (fs->dirbuf[XDIR_NumName] > _MAX_LFN) continue; /* Skip comparison if inaccessible object name */ #endif if (ld_word(fs->dirbuf + XDIR_NameHash) != hash) continue; /* Skip comparison if hash mismatched */ 80c4980: 68fb ldr r3, [r7, #12] 80c4982: 691b ldr r3, [r3, #16] 80c4984: 3324 adds r3, #36 ; 0x24 80c4986: 4618 mov r0, r3 80c4988: f7fd ffd8 bl 80c293c 80c498c: 4603 mov r3, r0 80c498e: 461a mov r2, r3 80c4990: 897b ldrh r3, [r7, #10] 80c4992: 4293 cmp r3, r2 80c4994: d000 beq.n 80c4998 80c4996: e043 b.n 80c4a20 for (nc = fs->dirbuf[XDIR_NumName], di = SZDIRE * 2, ni = 0; nc; nc--, di += 2, ni++) { /* Compare the name */ 80c4998: 68fb ldr r3, [r7, #12] 80c499a: 691b ldr r3, [r3, #16] 80c499c: f893 3023 ldrb.w r3, [r3, #35] ; 0x23 80c49a0: 76fb strb r3, [r7, #27] 80c49a2: 2340 movs r3, #64 ; 0x40 80c49a4: 617b str r3, [r7, #20] 80c49a6: 2300 movs r3, #0 80c49a8: 613b str r3, [r7, #16] 80c49aa: e029 b.n 80c4a00 if ((di % SZDIRE) == 0) di += 2; 80c49ac: 697b ldr r3, [r7, #20] 80c49ae: f003 031f and.w r3, r3, #31 80c49b2: 2b00 cmp r3, #0 80c49b4: d102 bne.n 80c49bc 80c49b6: 697b ldr r3, [r7, #20] 80c49b8: 3302 adds r3, #2 80c49ba: 617b str r3, [r7, #20] if (ff_wtoupper(ld_word(fs->dirbuf + di)) != ff_wtoupper(fs->lfnbuf[ni])) break; 80c49bc: 68fb ldr r3, [r7, #12] 80c49be: 691a ldr r2, [r3, #16] 80c49c0: 697b ldr r3, [r7, #20] 80c49c2: 4413 add r3, r2 80c49c4: 4618 mov r0, r3 80c49c6: f7fd ffb9 bl 80c293c 80c49ca: 4603 mov r3, r0 80c49cc: 4618 mov r0, r3 80c49ce: f004 faa5 bl 80c8f1c 80c49d2: 4603 mov r3, r0 80c49d4: 461c mov r4, r3 80c49d6: 68fb ldr r3, [r7, #12] 80c49d8: 68da ldr r2, [r3, #12] 80c49da: 693b ldr r3, [r7, #16] 80c49dc: 005b lsls r3, r3, #1 80c49de: 4413 add r3, r2 80c49e0: 881b ldrh r3, [r3, #0] 80c49e2: 4618 mov r0, r3 80c49e4: f004 fa9a bl 80c8f1c 80c49e8: 4603 mov r3, r0 80c49ea: 429c cmp r4, r3 80c49ec: d10c bne.n 80c4a08 for (nc = fs->dirbuf[XDIR_NumName], di = SZDIRE * 2, ni = 0; nc; nc--, di += 2, ni++) { /* Compare the name */ 80c49ee: 7efb ldrb r3, [r7, #27] 80c49f0: 3b01 subs r3, #1 80c49f2: 76fb strb r3, [r7, #27] 80c49f4: 697b ldr r3, [r7, #20] 80c49f6: 3302 adds r3, #2 80c49f8: 617b str r3, [r7, #20] 80c49fa: 693b ldr r3, [r7, #16] 80c49fc: 3301 adds r3, #1 80c49fe: 613b str r3, [r7, #16] 80c4a00: 7efb ldrb r3, [r7, #27] 80c4a02: 2b00 cmp r3, #0 80c4a04: d1d2 bne.n 80c49ac 80c4a06: e000 b.n 80c4a0a if (ff_wtoupper(ld_word(fs->dirbuf + di)) != ff_wtoupper(fs->lfnbuf[ni])) break; 80c4a08: bf00 nop } if (nc == 0 && !fs->lfnbuf[ni]) break; /* Name matched? */ 80c4a0a: 7efb ldrb r3, [r7, #27] 80c4a0c: 2b00 cmp r3, #0 80c4a0e: d107 bne.n 80c4a20 80c4a10: 68fb ldr r3, [r7, #12] 80c4a12: 68da ldr r2, [r3, #12] 80c4a14: 693b ldr r3, [r7, #16] 80c4a16: 005b lsls r3, r3, #1 80c4a18: 4413 add r3, r2 80c4a1a: 881b ldrh r3, [r3, #0] 80c4a1c: 2b00 cmp r3, #0 80c4a1e: d009 beq.n 80c4a34 while ((res = dir_read(dp, 0)) == FR_OK) { /* Read an item */ 80c4a20: 2100 movs r1, #0 80c4a22: 6878 ldr r0, [r7, #4] 80c4a24: f7ff fec0 bl 80c47a8 80c4a28: 4603 mov r3, r0 80c4a2a: 77fb strb r3, [r7, #31] 80c4a2c: 7ffb ldrb r3, [r7, #31] 80c4a2e: 2b00 cmp r3, #0 80c4a30: d0a6 beq.n 80c4980 80c4a32: e000 b.n 80c4a36 if (nc == 0 && !fs->lfnbuf[ni]) break; /* Name matched? */ 80c4a34: bf00 nop } return res; 80c4a36: 7ffb ldrb r3, [r7, #31] 80c4a38: e0a9 b.n 80c4b8e } #endif /* On the FAT12/16/32 volume */ #if _USE_LFN != 0 ord = sum = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ 80c4a3a: 23ff movs r3, #255 ; 0xff 80c4a3c: 773b strb r3, [r7, #28] 80c4a3e: 7f3b ldrb r3, [r7, #28] 80c4a40: 777b strb r3, [r7, #29] 80c4a42: 687b ldr r3, [r7, #4] 80c4a44: f04f 32ff mov.w r2, #4294967295 80c4a48: 64da str r2, [r3, #76] ; 0x4c #endif do { res = move_window(fs, dp->sect); 80c4a4a: 687b ldr r3, [r7, #4] 80c4a4c: 6b9b ldr r3, [r3, #56] ; 0x38 80c4a4e: 4619 mov r1, r3 80c4a50: 68f8 ldr r0, [r7, #12] 80c4a52: f7fe f9f6 bl 80c2e42 80c4a56: 4603 mov r3, r0 80c4a58: 77fb strb r3, [r7, #31] if (res != FR_OK) break; 80c4a5a: 7ffb ldrb r3, [r7, #31] 80c4a5c: 2b00 cmp r3, #0 80c4a5e: f040 8090 bne.w 80c4b82 c = dp->dir[DIR_Name]; 80c4a62: 687b ldr r3, [r7, #4] 80c4a64: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4a66: 781b ldrb r3, [r3, #0] 80c4a68: 77bb strb r3, [r7, #30] if (c == 0) { res = FR_NO_FILE; break; } /* Reached to end of table */ 80c4a6a: 7fbb ldrb r3, [r7, #30] 80c4a6c: 2b00 cmp r3, #0 80c4a6e: d102 bne.n 80c4a76 80c4a70: 2304 movs r3, #4 80c4a72: 77fb strb r3, [r7, #31] 80c4a74: e08a b.n 80c4b8c #if _USE_LFN != 0 /* LFN configuration */ dp->obj.attr = a = dp->dir[DIR_Attr] & AM_MASK; 80c4a76: 687b ldr r3, [r7, #4] 80c4a78: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4a7a: 330b adds r3, #11 80c4a7c: 781b ldrb r3, [r3, #0] 80c4a7e: f003 033f and.w r3, r3, #63 ; 0x3f 80c4a82: 727b strb r3, [r7, #9] 80c4a84: 687b ldr r3, [r7, #4] 80c4a86: 7a7a ldrb r2, [r7, #9] 80c4a88: 719a strb r2, [r3, #6] if (c == DDEM || ((a & AM_VOL) && a != AM_LFN)) { /* An entry without valid data */ 80c4a8a: 7fbb ldrb r3, [r7, #30] 80c4a8c: 2be5 cmp r3, #229 ; 0xe5 80c4a8e: d007 beq.n 80c4aa0 80c4a90: 7a7b ldrb r3, [r7, #9] 80c4a92: f003 0308 and.w r3, r3, #8 80c4a96: 2b00 cmp r3, #0 80c4a98: d009 beq.n 80c4aae 80c4a9a: 7a7b ldrb r3, [r7, #9] 80c4a9c: 2b0f cmp r3, #15 80c4a9e: d006 beq.n 80c4aae ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ 80c4aa0: 23ff movs r3, #255 ; 0xff 80c4aa2: 777b strb r3, [r7, #29] 80c4aa4: 687b ldr r3, [r7, #4] 80c4aa6: f04f 32ff mov.w r2, #4294967295 80c4aaa: 64da str r2, [r3, #76] ; 0x4c 80c4aac: e05e b.n 80c4b6c } else { if (a == AM_LFN) { /* An LFN entry is found */ 80c4aae: 7a7b ldrb r3, [r7, #9] 80c4ab0: 2b0f cmp r3, #15 80c4ab2: d136 bne.n 80c4b22 if (!(dp->fn[NSFLAG] & NS_NOLFN)) { 80c4ab4: 687b ldr r3, [r7, #4] 80c4ab6: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c4aba: f003 0340 and.w r3, r3, #64 ; 0x40 80c4abe: 2b00 cmp r3, #0 80c4ac0: d154 bne.n 80c4b6c if (c & LLEF) { /* Is it start of LFN sequence? */ 80c4ac2: 7fbb ldrb r3, [r7, #30] 80c4ac4: f003 0340 and.w r3, r3, #64 ; 0x40 80c4ac8: 2b00 cmp r3, #0 80c4aca: d00d beq.n 80c4ae8 sum = dp->dir[LDIR_Chksum]; 80c4acc: 687b ldr r3, [r7, #4] 80c4ace: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4ad0: 7b5b ldrb r3, [r3, #13] 80c4ad2: 773b strb r3, [r7, #28] c &= (BYTE)~LLEF; ord = c; /* LFN start order */ 80c4ad4: 7fbb ldrb r3, [r7, #30] 80c4ad6: f023 0340 bic.w r3, r3, #64 ; 0x40 80c4ada: 77bb strb r3, [r7, #30] 80c4adc: 7fbb ldrb r3, [r7, #30] 80c4ade: 777b strb r3, [r7, #29] dp->blk_ofs = dp->dptr; /* Start offset of LFN */ 80c4ae0: 687b ldr r3, [r7, #4] 80c4ae2: 6b1a ldr r2, [r3, #48] ; 0x30 80c4ae4: 687b ldr r3, [r7, #4] 80c4ae6: 64da str r2, [r3, #76] ; 0x4c } /* Check validity of the LFN entry and compare it with given name */ ord = (c == ord && sum == dp->dir[LDIR_Chksum] && cmp_lfn(fs->lfnbuf, dp->dir)) ? ord - 1 : 0xFF; 80c4ae8: 7fba ldrb r2, [r7, #30] 80c4aea: 7f7b ldrb r3, [r7, #29] 80c4aec: 429a cmp r2, r3 80c4aee: d115 bne.n 80c4b1c 80c4af0: 687b ldr r3, [r7, #4] 80c4af2: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4af4: 330d adds r3, #13 80c4af6: 781b ldrb r3, [r3, #0] 80c4af8: 7f3a ldrb r2, [r7, #28] 80c4afa: 429a cmp r2, r3 80c4afc: d10e bne.n 80c4b1c 80c4afe: 68fb ldr r3, [r7, #12] 80c4b00: 68da ldr r2, [r3, #12] 80c4b02: 687b ldr r3, [r7, #4] 80c4b04: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4b06: 4619 mov r1, r3 80c4b08: 4610 mov r0, r2 80c4b0a: f7ff f991 bl 80c3e30 80c4b0e: 4603 mov r3, r0 80c4b10: 2b00 cmp r3, #0 80c4b12: d003 beq.n 80c4b1c 80c4b14: 7f7b ldrb r3, [r7, #29] 80c4b16: 3b01 subs r3, #1 80c4b18: b2db uxtb r3, r3 80c4b1a: e000 b.n 80c4b1e 80c4b1c: 23ff movs r3, #255 ; 0xff 80c4b1e: 777b strb r3, [r7, #29] 80c4b20: e024 b.n 80c4b6c } } else { /* An SFN entry is found */ if (!ord && sum == sum_sfn(dp->dir)) break; /* LFN matched? */ 80c4b22: 7f7b ldrb r3, [r7, #29] 80c4b24: 2b00 cmp r3, #0 80c4b26: d109 bne.n 80c4b3c 80c4b28: 687b ldr r3, [r7, #4] 80c4b2a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4b2c: 4618 mov r0, r3 80c4b2e: f7ff fb49 bl 80c41c4 80c4b32: 4603 mov r3, r0 80c4b34: 461a mov r2, r3 80c4b36: 7f3b ldrb r3, [r7, #28] 80c4b38: 4293 cmp r3, r2 80c4b3a: d024 beq.n 80c4b86 if (!(dp->fn[NSFLAG] & NS_LOSS) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* SFN matched? */ 80c4b3c: 687b ldr r3, [r7, #4] 80c4b3e: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c4b42: f003 0301 and.w r3, r3, #1 80c4b46: 2b00 cmp r3, #0 80c4b48: d10a bne.n 80c4b60 80c4b4a: 687b ldr r3, [r7, #4] 80c4b4c: 6bd8 ldr r0, [r3, #60] ; 0x3c 80c4b4e: 687b ldr r3, [r7, #4] 80c4b50: 3340 adds r3, #64 ; 0x40 80c4b52: 220b movs r2, #11 80c4b54: 4619 mov r1, r3 80c4b56: f7fe f8ee bl 80c2d36 80c4b5a: 4603 mov r3, r0 80c4b5c: 2b00 cmp r3, #0 80c4b5e: d014 beq.n 80c4b8a ord = 0xFF; dp->blk_ofs = 0xFFFFFFFF; /* Reset LFN sequence */ 80c4b60: 23ff movs r3, #255 ; 0xff 80c4b62: 777b strb r3, [r7, #29] 80c4b64: 687b ldr r3, [r7, #4] 80c4b66: f04f 32ff mov.w r2, #4294967295 80c4b6a: 64da str r2, [r3, #76] ; 0x4c } #else /* Non LFN configuration */ dp->obj.attr = dp->dir[DIR_Attr] & AM_MASK; if (!(dp->dir[DIR_Attr] & AM_VOL) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* Is it a valid entry? */ #endif res = dir_next(dp, 0); /* Next entry */ 80c4b6c: 2100 movs r1, #0 80c4b6e: 6878 ldr r0, [r7, #4] 80c4b70: f7fe ffed bl 80c3b4e 80c4b74: 4603 mov r3, r0 80c4b76: 77fb strb r3, [r7, #31] } while (res == FR_OK); 80c4b78: 7ffb ldrb r3, [r7, #31] 80c4b7a: 2b00 cmp r3, #0 80c4b7c: f43f af65 beq.w 80c4a4a 80c4b80: e004 b.n 80c4b8c if (res != FR_OK) break; 80c4b82: bf00 nop 80c4b84: e002 b.n 80c4b8c if (!ord && sum == sum_sfn(dp->dir)) break; /* LFN matched? */ 80c4b86: bf00 nop 80c4b88: e000 b.n 80c4b8c if (!(dp->fn[NSFLAG] & NS_LOSS) && !mem_cmp(dp->dir, dp->fn, 11)) break; /* SFN matched? */ 80c4b8a: bf00 nop return res; 80c4b8c: 7ffb ldrb r3, [r7, #31] } 80c4b8e: 4618 mov r0, r3 80c4b90: 3724 adds r7, #36 ; 0x24 80c4b92: 46bd mov sp, r7 80c4b94: bd90 pop {r4, r7, pc} ... 080c4b98 : static FRESULT dir_register ( /* FR_OK:succeeded, FR_DENIED:no free entry or too many SFN collision, FR_DISK_ERR:disk error */ DIR* dp /* Target directory with object name to be created */ ) { 80c4b98: b590 push {r4, r7, lr} 80c4b9a: b0a1 sub sp, #132 ; 0x84 80c4b9c: af00 add r7, sp, #0 80c4b9e: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs = dp->obj.fs; 80c4ba0: 687b ldr r3, [r7, #4] 80c4ba2: 681b ldr r3, [r3, #0] 80c4ba4: 66fb str r3, [r7, #108] ; 0x6c #if _USE_LFN != 0 /* LFN configuration */ UINT n, nlen, nent; BYTE sn[12], sum; if (dp->fn[NSFLAG] & (NS_DOT | NS_NONAME)) return FR_INVALID_NAME; /* Check name validity */ 80c4ba6: 687b ldr r3, [r7, #4] 80c4ba8: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c4bac: f003 03a0 and.w r3, r3, #160 ; 0xa0 80c4bb0: 2b00 cmp r3, #0 80c4bb2: d001 beq.n 80c4bb8 80c4bb4: 2306 movs r3, #6 80c4bb6: e191 b.n 80c4edc for (nlen = 0; fs->lfnbuf[nlen]; nlen++) ; /* Get lfn length */ 80c4bb8: 2300 movs r3, #0 80c4bba: 677b str r3, [r7, #116] ; 0x74 80c4bbc: e002 b.n 80c4bc4 80c4bbe: 6f7b ldr r3, [r7, #116] ; 0x74 80c4bc0: 3301 adds r3, #1 80c4bc2: 677b str r3, [r7, #116] ; 0x74 80c4bc4: 6efb ldr r3, [r7, #108] ; 0x6c 80c4bc6: 68da ldr r2, [r3, #12] 80c4bc8: 6f7b ldr r3, [r7, #116] ; 0x74 80c4bca: 005b lsls r3, r3, #1 80c4bcc: 4413 add r3, r2 80c4bce: 881b ldrh r3, [r3, #0] 80c4bd0: 2b00 cmp r3, #0 80c4bd2: d1f4 bne.n 80c4bbe #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c4bd4: 6efb ldr r3, [r7, #108] ; 0x6c 80c4bd6: 781b ldrb r3, [r3, #0] 80c4bd8: 2b04 cmp r3, #4 80c4bda: f040 80a3 bne.w 80c4d24 DIR dj; nent = (nlen + 14) / 15 + 2; /* Number of entries to allocate (85+C0+C1s) */ 80c4bde: 6f7b ldr r3, [r7, #116] ; 0x74 80c4be0: 330e adds r3, #14 80c4be2: 4aa4 ldr r2, [pc, #656] ; (80c4e74 ) 80c4be4: fba2 2303 umull r2, r3, r2, r3 80c4be8: 08db lsrs r3, r3, #3 80c4bea: 3302 adds r3, #2 80c4bec: 673b str r3, [r7, #112] ; 0x70 res = dir_alloc(dp, nent); /* Allocate entries */ 80c4bee: 6f39 ldr r1, [r7, #112] ; 0x70 80c4bf0: 6878 ldr r0, [r7, #4] 80c4bf2: f7ff f881 bl 80c3cf8 80c4bf6: 4603 mov r3, r0 80c4bf8: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c4bfc: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4c00: 2b00 cmp r3, #0 80c4c02: d002 beq.n 80c4c0a 80c4c04: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4c08: e168 b.n 80c4edc dp->blk_ofs = dp->dptr - SZDIRE * (nent - 1); /* Set the allocated entry block offset */ 80c4c0a: 687b ldr r3, [r7, #4] 80c4c0c: 6b1a ldr r2, [r3, #48] ; 0x30 80c4c0e: 6f39 ldr r1, [r7, #112] ; 0x70 80c4c10: f06f 4378 mvn.w r3, #4160749568 ; 0xf8000000 80c4c14: 440b add r3, r1 80c4c16: 015b lsls r3, r3, #5 80c4c18: 1ad2 subs r2, r2, r3 80c4c1a: 687b ldr r3, [r7, #4] 80c4c1c: 64da str r2, [r3, #76] ; 0x4c if (dp->obj.sclust != 0 && (dp->obj.stat & 4)) { /* Has the sub-directory been stretched? */ 80c4c1e: 687b ldr r3, [r7, #4] 80c4c20: 689b ldr r3, [r3, #8] 80c4c22: 2b00 cmp r3, #0 80c4c24: d074 beq.n 80c4d10 80c4c26: 687b ldr r3, [r7, #4] 80c4c28: 79db ldrb r3, [r3, #7] 80c4c2a: f003 0304 and.w r3, r3, #4 80c4c2e: 2b00 cmp r3, #0 80c4c30: d06e beq.n 80c4d10 dp->obj.objsize += (DWORD)fs->csize * SS(fs); /* Increase the directory size by cluster size */ 80c4c32: 687b ldr r3, [r7, #4] 80c4c34: e9d3 1204 ldrd r1, r2, [r3, #16] 80c4c38: 6efb ldr r3, [r7, #108] ; 0x6c 80c4c3a: 895b ldrh r3, [r3, #10] 80c4c3c: 025b lsls r3, r3, #9 80c4c3e: f04f 0400 mov.w r4, #0 80c4c42: 185b adds r3, r3, r1 80c4c44: eb44 0402 adc.w r4, r4, r2 80c4c48: 687a ldr r2, [r7, #4] 80c4c4a: e9c2 3404 strd r3, r4, [r2, #16] res = fill_first_frag(&dp->obj); /* Fill first fragment on the FAT if needed */ 80c4c4e: 687b ldr r3, [r7, #4] 80c4c50: 4618 mov r0, r3 80c4c52: f7fe fca3 bl 80c359c 80c4c56: 4603 mov r3, r0 80c4c58: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c4c5c: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4c60: 2b00 cmp r3, #0 80c4c62: d002 beq.n 80c4c6a 80c4c64: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4c68: e138 b.n 80c4edc res = fill_last_frag(&dp->obj, dp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ 80c4c6a: 6878 ldr r0, [r7, #4] 80c4c6c: 687b ldr r3, [r7, #4] 80c4c6e: 6b5b ldr r3, [r3, #52] ; 0x34 80c4c70: f04f 32ff mov.w r2, #4294967295 80c4c74: 4619 mov r1, r3 80c4c76: f7fe fcc0 bl 80c35fa 80c4c7a: 4603 mov r3, r0 80c4c7c: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c4c80: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4c84: 2b00 cmp r3, #0 80c4c86: d002 beq.n 80c4c8e 80c4c88: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4c8c: e126 b.n 80c4edc res = load_obj_dir(&dj, &dp->obj); /* Load the object status */ 80c4c8e: 687a ldr r2, [r7, #4] 80c4c90: f107 0308 add.w r3, r7, #8 80c4c94: 4611 mov r1, r2 80c4c96: 4618 mov r0, r3 80c4c98: f7ff fc8a bl 80c45b0 80c4c9c: 4603 mov r3, r0 80c4c9e: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c4ca2: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4ca6: 2b00 cmp r3, #0 80c4ca8: d002 beq.n 80c4cb0 80c4caa: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4cae: e115 b.n 80c4edc st_qword(fs->dirbuf + XDIR_FileSize, dp->obj.objsize); /* Update the allocation status */ 80c4cb0: 6efb ldr r3, [r7, #108] ; 0x6c 80c4cb2: 691b ldr r3, [r3, #16] 80c4cb4: f103 0138 add.w r1, r3, #56 ; 0x38 80c4cb8: 687b ldr r3, [r7, #4] 80c4cba: e9d3 3404 ldrd r3, r4, [r3, #16] 80c4cbe: 461a mov r2, r3 80c4cc0: 4623 mov r3, r4 80c4cc2: 4608 mov r0, r1 80c4cc4: f7fd ff6b bl 80c2b9e st_qword(fs->dirbuf + XDIR_ValidFileSize, dp->obj.objsize); 80c4cc8: 6efb ldr r3, [r7, #108] ; 0x6c 80c4cca: 691b ldr r3, [r3, #16] 80c4ccc: f103 0128 add.w r1, r3, #40 ; 0x28 80c4cd0: 687b ldr r3, [r7, #4] 80c4cd2: e9d3 3404 ldrd r3, r4, [r3, #16] 80c4cd6: 461a mov r2, r3 80c4cd8: 4623 mov r3, r4 80c4cda: 4608 mov r0, r1 80c4cdc: f7fd ff5f bl 80c2b9e fs->dirbuf[XDIR_GenFlags] = dp->obj.stat | 1; 80c4ce0: 6efb ldr r3, [r7, #108] ; 0x6c 80c4ce2: 691b ldr r3, [r3, #16] 80c4ce4: 3321 adds r3, #33 ; 0x21 80c4ce6: 687a ldr r2, [r7, #4] 80c4ce8: 79d2 ldrb r2, [r2, #7] 80c4cea: f042 0201 orr.w r2, r2, #1 80c4cee: b2d2 uxtb r2, r2 80c4cf0: 701a strb r2, [r3, #0] res = store_xdir(&dj); /* Store the object status */ 80c4cf2: f107 0308 add.w r3, r7, #8 80c4cf6: 4618 mov r0, r3 80c4cf8: f7ff fc94 bl 80c4624 80c4cfc: 4603 mov r3, r0 80c4cfe: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) return res; 80c4d02: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4d06: 2b00 cmp r3, #0 80c4d08: d002 beq.n 80c4d10 80c4d0a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4d0e: e0e5 b.n 80c4edc } create_xdir(fs->dirbuf, fs->lfnbuf); /* Create on-memory directory block to be written later */ 80c4d10: 6efb ldr r3, [r7, #108] ; 0x6c 80c4d12: 691a ldr r2, [r3, #16] 80c4d14: 6efb ldr r3, [r7, #108] ; 0x6c 80c4d16: 68db ldr r3, [r3, #12] 80c4d18: 4619 mov r1, r3 80c4d1a: 4610 mov r0, r2 80c4d1c: f7ff fcdd bl 80c46da return FR_OK; 80c4d20: 2300 movs r3, #0 80c4d22: e0db b.n 80c4edc } #endif /* On the FAT12/16/32 volume */ mem_cpy(sn, dp->fn, 12); 80c4d24: 687b ldr r3, [r7, #4] 80c4d26: f103 0140 add.w r1, r3, #64 ; 0x40 80c4d2a: f107 035c add.w r3, r7, #92 ; 0x5c 80c4d2e: 220c movs r2, #12 80c4d30: 4618 mov r0, r3 80c4d32: f7fd ffc5 bl 80c2cc0 if (sn[NSFLAG] & NS_LOSS) { /* When LFN is out of 8.3 format, generate a numbered name */ 80c4d36: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c4d3a: f003 0301 and.w r3, r3, #1 80c4d3e: 2b00 cmp r3, #0 80c4d40: d033 beq.n 80c4daa dp->fn[NSFLAG] = NS_NOLFN; /* Find only SFN */ 80c4d42: 687b ldr r3, [r7, #4] 80c4d44: 2240 movs r2, #64 ; 0x40 80c4d46: f883 204b strb.w r2, [r3, #75] ; 0x4b for (n = 1; n < 100; n++) { 80c4d4a: 2301 movs r3, #1 80c4d4c: 67bb str r3, [r7, #120] ; 0x78 80c4d4e: e016 b.n 80c4d7e gen_numname(dp->fn, sn, fs->lfnbuf, n); /* Generate a numbered name */ 80c4d50: 687b ldr r3, [r7, #4] 80c4d52: f103 0040 add.w r0, r3, #64 ; 0x40 80c4d56: 6efb ldr r3, [r7, #108] ; 0x6c 80c4d58: 68da ldr r2, [r3, #12] 80c4d5a: f107 015c add.w r1, r7, #92 ; 0x5c 80c4d5e: 6fbb ldr r3, [r7, #120] ; 0x78 80c4d60: f7ff f9a2 bl 80c40a8 res = dir_find(dp); /* Check if the name collides with existing SFN */ 80c4d64: 6878 ldr r0, [r7, #4] 80c4d66: f7ff fded bl 80c4944 80c4d6a: 4603 mov r3, r0 80c4d6c: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) break; 80c4d70: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4d74: 2b00 cmp r3, #0 80c4d76: d106 bne.n 80c4d86 for (n = 1; n < 100; n++) { 80c4d78: 6fbb ldr r3, [r7, #120] ; 0x78 80c4d7a: 3301 adds r3, #1 80c4d7c: 67bb str r3, [r7, #120] ; 0x78 80c4d7e: 6fbb ldr r3, [r7, #120] ; 0x78 80c4d80: 2b63 cmp r3, #99 ; 0x63 80c4d82: d9e5 bls.n 80c4d50 80c4d84: e000 b.n 80c4d88 if (res != FR_OK) break; 80c4d86: bf00 nop } if (n == 100) return FR_DENIED; /* Abort if too many collisions */ 80c4d88: 6fbb ldr r3, [r7, #120] ; 0x78 80c4d8a: 2b64 cmp r3, #100 ; 0x64 80c4d8c: d101 bne.n 80c4d92 80c4d8e: 2307 movs r3, #7 80c4d90: e0a4 b.n 80c4edc if (res != FR_NO_FILE) return res; /* Abort if the result is other than 'not collided' */ 80c4d92: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4d96: 2b04 cmp r3, #4 80c4d98: d002 beq.n 80c4da0 80c4d9a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4d9e: e09d b.n 80c4edc dp->fn[NSFLAG] = sn[NSFLAG]; 80c4da0: f897 2067 ldrb.w r2, [r7, #103] ; 0x67 80c4da4: 687b ldr r3, [r7, #4] 80c4da6: f883 204b strb.w r2, [r3, #75] ; 0x4b } /* Create an SFN with/without LFNs. */ nent = (sn[NSFLAG] & NS_LFN) ? (nlen + 12) / 13 + 1 : 1; /* Number of entries to allocate */ 80c4daa: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c4dae: f003 0302 and.w r3, r3, #2 80c4db2: 2b00 cmp r3, #0 80c4db4: d007 beq.n 80c4dc6 80c4db6: 6f7b ldr r3, [r7, #116] ; 0x74 80c4db8: 330c adds r3, #12 80c4dba: 4a2f ldr r2, [pc, #188] ; (80c4e78 ) 80c4dbc: fba2 2303 umull r2, r3, r2, r3 80c4dc0: 089b lsrs r3, r3, #2 80c4dc2: 3301 adds r3, #1 80c4dc4: e000 b.n 80c4dc8 80c4dc6: 2301 movs r3, #1 80c4dc8: 673b str r3, [r7, #112] ; 0x70 res = dir_alloc(dp, nent); /* Allocate entries */ 80c4dca: 6f39 ldr r1, [r7, #112] ; 0x70 80c4dcc: 6878 ldr r0, [r7, #4] 80c4dce: f7fe ff93 bl 80c3cf8 80c4dd2: 4603 mov r3, r0 80c4dd4: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK && --nent) { /* Set LFN entry if needed */ 80c4dd8: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4ddc: 2b00 cmp r3, #0 80c4dde: d14e bne.n 80c4e7e 80c4de0: 6f3b ldr r3, [r7, #112] ; 0x70 80c4de2: 3b01 subs r3, #1 80c4de4: 673b str r3, [r7, #112] ; 0x70 80c4de6: 6f3b ldr r3, [r7, #112] ; 0x70 80c4de8: 2b00 cmp r3, #0 80c4dea: d048 beq.n 80c4e7e res = dir_sdi(dp, dp->dptr - nent * SZDIRE); 80c4dec: 687b ldr r3, [r7, #4] 80c4dee: 6b1a ldr r2, [r3, #48] ; 0x30 80c4df0: 6f3b ldr r3, [r7, #112] ; 0x70 80c4df2: 015b lsls r3, r3, #5 80c4df4: 1ad3 subs r3, r2, r3 80c4df6: 4619 mov r1, r3 80c4df8: 6878 ldr r0, [r7, #4] 80c4dfa: f7fe fe22 bl 80c3a42 80c4dfe: 4603 mov r3, r0 80c4e00: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) { 80c4e04: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4e08: 2b00 cmp r3, #0 80c4e0a: d138 bne.n 80c4e7e sum = sum_sfn(dp->fn); /* Checksum value of the SFN tied to the LFN */ 80c4e0c: 687b ldr r3, [r7, #4] 80c4e0e: 3340 adds r3, #64 ; 0x40 80c4e10: 4618 mov r0, r3 80c4e12: f7ff f9d7 bl 80c41c4 80c4e16: 4603 mov r3, r0 80c4e18: f887 306b strb.w r3, [r7, #107] ; 0x6b do { /* Store LFN entries in bottom first */ res = move_window(fs, dp->sect); 80c4e1c: 687b ldr r3, [r7, #4] 80c4e1e: 6b9b ldr r3, [r3, #56] ; 0x38 80c4e20: 4619 mov r1, r3 80c4e22: 6ef8 ldr r0, [r7, #108] ; 0x6c 80c4e24: f7fe f80d bl 80c2e42 80c4e28: 4603 mov r3, r0 80c4e2a: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) break; 80c4e2e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4e32: 2b00 cmp r3, #0 80c4e34: d122 bne.n 80c4e7c put_lfn(fs->lfnbuf, dp->dir, (BYTE)nent, sum); 80c4e36: 6efb ldr r3, [r7, #108] ; 0x6c 80c4e38: 68d8 ldr r0, [r3, #12] 80c4e3a: 687b ldr r3, [r7, #4] 80c4e3c: 6bd9 ldr r1, [r3, #60] ; 0x3c 80c4e3e: 6f3b ldr r3, [r7, #112] ; 0x70 80c4e40: b2da uxtb r2, r3 80c4e42: f897 306b ldrb.w r3, [r7, #107] ; 0x6b 80c4e46: f7ff f8c7 bl 80c3fd8 fs->wflag = 1; 80c4e4a: 6efb ldr r3, [r7, #108] ; 0x6c 80c4e4c: 2201 movs r2, #1 80c4e4e: 70da strb r2, [r3, #3] res = dir_next(dp, 0); /* Next entry */ 80c4e50: 2100 movs r1, #0 80c4e52: 6878 ldr r0, [r7, #4] 80c4e54: f7fe fe7b bl 80c3b4e 80c4e58: 4603 mov r3, r0 80c4e5a: f887 307f strb.w r3, [r7, #127] ; 0x7f } while (res == FR_OK && --nent); 80c4e5e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4e62: 2b00 cmp r3, #0 80c4e64: d10b bne.n 80c4e7e 80c4e66: 6f3b ldr r3, [r7, #112] ; 0x70 80c4e68: 3b01 subs r3, #1 80c4e6a: 673b str r3, [r7, #112] ; 0x70 80c4e6c: 6f3b ldr r3, [r7, #112] ; 0x70 80c4e6e: 2b00 cmp r3, #0 80c4e70: d1d4 bne.n 80c4e1c 80c4e72: e004 b.n 80c4e7e 80c4e74: 88888889 .word 0x88888889 80c4e78: 4ec4ec4f .word 0x4ec4ec4f if (res != FR_OK) break; 80c4e7c: bf00 nop res = dir_alloc(dp, 1); /* Allocate an entry for SFN */ #endif /* Set SFN entry */ if (res == FR_OK) { 80c4e7e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4e82: 2b00 cmp r3, #0 80c4e84: d128 bne.n 80c4ed8 res = move_window(fs, dp->sect); 80c4e86: 687b ldr r3, [r7, #4] 80c4e88: 6b9b ldr r3, [r3, #56] ; 0x38 80c4e8a: 4619 mov r1, r3 80c4e8c: 6ef8 ldr r0, [r7, #108] ; 0x6c 80c4e8e: f7fd ffd8 bl 80c2e42 80c4e92: 4603 mov r3, r0 80c4e94: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) { 80c4e98: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c4e9c: 2b00 cmp r3, #0 80c4e9e: d11b bne.n 80c4ed8 mem_set(dp->dir, 0, SZDIRE); /* Clean the entry */ 80c4ea0: 687b ldr r3, [r7, #4] 80c4ea2: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4ea4: 2220 movs r2, #32 80c4ea6: 2100 movs r1, #0 80c4ea8: 4618 mov r0, r3 80c4eaa: f7fd ff2a bl 80c2d02 mem_cpy(dp->dir + DIR_Name, dp->fn, 11); /* Put SFN */ 80c4eae: 687b ldr r3, [r7, #4] 80c4eb0: 6bd8 ldr r0, [r3, #60] ; 0x3c 80c4eb2: 687b ldr r3, [r7, #4] 80c4eb4: 3340 adds r3, #64 ; 0x40 80c4eb6: 220b movs r2, #11 80c4eb8: 4619 mov r1, r3 80c4eba: f7fd ff01 bl 80c2cc0 #if _USE_LFN != 0 dp->dir[DIR_NTres] = dp->fn[NSFLAG] & (NS_BODY | NS_EXT); /* Put NT flag */ 80c4ebe: 687b ldr r3, [r7, #4] 80c4ec0: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4ec2: 330c adds r3, #12 80c4ec4: 687a ldr r2, [r7, #4] 80c4ec6: f892 204b ldrb.w r2, [r2, #75] ; 0x4b 80c4eca: f002 0218 and.w r2, r2, #24 80c4ece: b2d2 uxtb r2, r2 80c4ed0: 701a strb r2, [r3, #0] #endif fs->wflag = 1; 80c4ed2: 6efb ldr r3, [r7, #108] ; 0x6c 80c4ed4: 2201 movs r2, #1 80c4ed6: 70da strb r2, [r3, #3] } } return res; 80c4ed8: f897 307f ldrb.w r3, [r7, #127] ; 0x7f } 80c4edc: 4618 mov r0, r3 80c4ede: 3784 adds r7, #132 ; 0x84 80c4ee0: 46bd mov sp, r7 80c4ee2: bd90 pop {r4, r7, pc} 080c4ee4 : static FRESULT dir_remove ( /* FR_OK:Succeeded, FR_DISK_ERR:A disk error */ DIR* dp /* Directory object pointing the entry to be removed */ ) { 80c4ee4: b580 push {r7, lr} 80c4ee6: b086 sub sp, #24 80c4ee8: af00 add r7, sp, #0 80c4eea: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs = dp->obj.fs; 80c4eec: 687b ldr r3, [r7, #4] 80c4eee: 681b ldr r3, [r3, #0] 80c4ef0: 613b str r3, [r7, #16] #if _USE_LFN != 0 /* LFN configuration */ DWORD last = dp->dptr; 80c4ef2: 687b ldr r3, [r7, #4] 80c4ef4: 6b1b ldr r3, [r3, #48] ; 0x30 80c4ef6: 60fb str r3, [r7, #12] res = (dp->blk_ofs == 0xFFFFFFFF) ? FR_OK : dir_sdi(dp, dp->blk_ofs); /* Goto top of the entry block if LFN is exist */ 80c4ef8: 687b ldr r3, [r7, #4] 80c4efa: 6cdb ldr r3, [r3, #76] ; 0x4c 80c4efc: f1b3 3fff cmp.w r3, #4294967295 80c4f00: d007 beq.n 80c4f12 80c4f02: 687b ldr r3, [r7, #4] 80c4f04: 6cdb ldr r3, [r3, #76] ; 0x4c 80c4f06: 4619 mov r1, r3 80c4f08: 6878 ldr r0, [r7, #4] 80c4f0a: f7fe fd9a bl 80c3a42 80c4f0e: 4603 mov r3, r0 80c4f10: e000 b.n 80c4f14 80c4f12: 2300 movs r3, #0 80c4f14: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c4f16: 7dfb ldrb r3, [r7, #23] 80c4f18: 2b00 cmp r3, #0 80c4f1a: d136 bne.n 80c4f8a do { res = move_window(fs, dp->sect); 80c4f1c: 687b ldr r3, [r7, #4] 80c4f1e: 6b9b ldr r3, [r3, #56] ; 0x38 80c4f20: 4619 mov r1, r3 80c4f22: 6938 ldr r0, [r7, #16] 80c4f24: f7fd ff8d bl 80c2e42 80c4f28: 4603 mov r3, r0 80c4f2a: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c4f2c: 7dfb ldrb r3, [r7, #23] 80c4f2e: 2b00 cmp r3, #0 80c4f30: d123 bne.n 80c4f7a /* Mark an entry 'deleted' */ if (_FS_EXFAT && fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c4f32: 693b ldr r3, [r7, #16] 80c4f34: 781b ldrb r3, [r3, #0] 80c4f36: 2b04 cmp r3, #4 80c4f38: d109 bne.n 80c4f4e dp->dir[XDIR_Type] &= 0x7F; 80c4f3a: 687b ldr r3, [r7, #4] 80c4f3c: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4f3e: 687a ldr r2, [r7, #4] 80c4f40: 6bd2 ldr r2, [r2, #60] ; 0x3c 80c4f42: 7812 ldrb r2, [r2, #0] 80c4f44: f002 027f and.w r2, r2, #127 ; 0x7f 80c4f48: b2d2 uxtb r2, r2 80c4f4a: 701a strb r2, [r3, #0] 80c4f4c: e003 b.n 80c4f56 } else { /* On the FAT12/16/32 volume */ dp->dir[DIR_Name] = DDEM; 80c4f4e: 687b ldr r3, [r7, #4] 80c4f50: 6bdb ldr r3, [r3, #60] ; 0x3c 80c4f52: 22e5 movs r2, #229 ; 0xe5 80c4f54: 701a strb r2, [r3, #0] } fs->wflag = 1; 80c4f56: 693b ldr r3, [r7, #16] 80c4f58: 2201 movs r2, #1 80c4f5a: 70da strb r2, [r3, #3] if (dp->dptr >= last) break; /* If reached last entry then all entries of the object has been deleted. */ 80c4f5c: 687b ldr r3, [r7, #4] 80c4f5e: 6b1a ldr r2, [r3, #48] ; 0x30 80c4f60: 68fb ldr r3, [r7, #12] 80c4f62: 429a cmp r2, r3 80c4f64: d20b bcs.n 80c4f7e res = dir_next(dp, 0); /* Next entry */ 80c4f66: 2100 movs r1, #0 80c4f68: 6878 ldr r0, [r7, #4] 80c4f6a: f7fe fdf0 bl 80c3b4e 80c4f6e: 4603 mov r3, r0 80c4f70: 75fb strb r3, [r7, #23] } while (res == FR_OK); 80c4f72: 7dfb ldrb r3, [r7, #23] 80c4f74: 2b00 cmp r3, #0 80c4f76: d0d1 beq.n 80c4f1c 80c4f78: e002 b.n 80c4f80 if (res != FR_OK) break; 80c4f7a: bf00 nop 80c4f7c: e000 b.n 80c4f80 if (dp->dptr >= last) break; /* If reached last entry then all entries of the object has been deleted. */ 80c4f7e: bf00 nop if (res == FR_NO_FILE) res = FR_INT_ERR; 80c4f80: 7dfb ldrb r3, [r7, #23] 80c4f82: 2b04 cmp r3, #4 80c4f84: d101 bne.n 80c4f8a 80c4f86: 2302 movs r3, #2 80c4f88: 75fb strb r3, [r7, #23] dp->dir[DIR_Name] = DDEM; fs->wflag = 1; } #endif return res; 80c4f8a: 7dfb ldrb r3, [r7, #23] } 80c4f8c: 4618 mov r0, r3 80c4f8e: 3718 adds r7, #24 80c4f90: 46bd mov sp, r7 80c4f92: bd80 pop {r7, pc} 080c4f94 : static void get_fileinfo ( /* No return code */ DIR* dp, /* Pointer to the directory object */ FILINFO* fno /* Pointer to the file information to be filled */ ) { 80c4f94: b590 push {r4, r7, lr} 80c4f96: b089 sub sp, #36 ; 0x24 80c4f98: af00 add r7, sp, #0 80c4f9a: 6078 str r0, [r7, #4] 80c4f9c: 6039 str r1, [r7, #0] UINT i, j; TCHAR c; DWORD tm; #if _USE_LFN != 0 WCHAR w, lfv; FATFS *fs = dp->obj.fs; 80c4f9e: 687b ldr r3, [r7, #4] 80c4fa0: 681b ldr r3, [r3, #0] 80c4fa2: 613b str r3, [r7, #16] #endif fno->fname[0] = 0; /* Invaidate file info */ 80c4fa4: 683b ldr r3, [r7, #0] 80c4fa6: 2200 movs r2, #0 80c4fa8: 769a strb r2, [r3, #26] if (!dp->sect) return; /* Exit if read pointer has reached end of directory */ 80c4faa: 687b ldr r3, [r7, #4] 80c4fac: 6b9b ldr r3, [r3, #56] ; 0x38 80c4fae: 2b00 cmp r3, #0 80c4fb0: f000 80d7 beq.w 80c5162 #if _USE_LFN != 0 /* LFN configuration */ #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c4fb4: 693b ldr r3, [r7, #16] 80c4fb6: 781b ldrb r3, [r3, #0] 80c4fb8: 2b04 cmp r3, #4 80c4fba: d106 bne.n 80c4fca get_xdir_info(fs->dirbuf, fno); 80c4fbc: 693b ldr r3, [r7, #16] 80c4fbe: 691b ldr r3, [r3, #16] 80c4fc0: 6839 ldr r1, [r7, #0] 80c4fc2: 4618 mov r0, r3 80c4fc4: f7ff f9b4 bl 80c4330 return; 80c4fc8: e0cc b.n 80c5164 } else #endif { /* On the FAT12/16/32 volume */ if (dp->blk_ofs != 0xFFFFFFFF) { /* Get LFN if available */ 80c4fca: 687b ldr r3, [r7, #4] 80c4fcc: 6cdb ldr r3, [r3, #76] ; 0x4c 80c4fce: f1b3 3fff cmp.w r3, #4294967295 80c4fd2: d032 beq.n 80c503a i = j = 0; 80c4fd4: 2300 movs r3, #0 80c4fd6: 61bb str r3, [r7, #24] 80c4fd8: 69bb ldr r3, [r7, #24] 80c4fda: 61fb str r3, [r7, #28] while ((w = fs->lfnbuf[j++]) != 0) { /* Get an LFN character */ 80c4fdc: e01b b.n 80c5016 #if !_LFN_UNICODE w = ff_convert(w, 0); /* Unicode -> OEM */ 80c4fde: 89fb ldrh r3, [r7, #14] 80c4fe0: 2100 movs r1, #0 80c4fe2: 4618 mov r0, r3 80c4fe4: f003 ff5e bl 80c8ea4 80c4fe8: 4603 mov r3, r0 80c4fea: 81fb strh r3, [r7, #14] if (w == 0) { i = 0; break; } /* No LFN if it could not be converted */ 80c4fec: 89fb ldrh r3, [r7, #14] 80c4fee: 2b00 cmp r3, #0 80c4ff0: d102 bne.n 80c4ff8 80c4ff2: 2300 movs r3, #0 80c4ff4: 61fb str r3, [r7, #28] 80c4ff6: e01a b.n 80c502e if (_DF1S && w >= 0x100) { /* Put 1st byte if it is a DBC (always false at SBCS cfg) */ fno->fname[i++] = (char)(w >> 8); } #endif if (i >= _MAX_LFN) { i = 0; break; } /* No LFN if buffer overflow */ 80c4ff8: 69fb ldr r3, [r7, #28] 80c4ffa: 2bfe cmp r3, #254 ; 0xfe 80c4ffc: d902 bls.n 80c5004 80c4ffe: 2300 movs r3, #0 80c5000: 61fb str r3, [r7, #28] 80c5002: e014 b.n 80c502e fno->fname[i++] = (TCHAR)w; 80c5004: 69fb ldr r3, [r7, #28] 80c5006: 1c5a adds r2, r3, #1 80c5008: 61fa str r2, [r7, #28] 80c500a: 89fa ldrh r2, [r7, #14] 80c500c: b2d1 uxtb r1, r2 80c500e: 683a ldr r2, [r7, #0] 80c5010: 4413 add r3, r2 80c5012: 460a mov r2, r1 80c5014: 769a strb r2, [r3, #26] while ((w = fs->lfnbuf[j++]) != 0) { /* Get an LFN character */ 80c5016: 693b ldr r3, [r7, #16] 80c5018: 68da ldr r2, [r3, #12] 80c501a: 69bb ldr r3, [r7, #24] 80c501c: 1c59 adds r1, r3, #1 80c501e: 61b9 str r1, [r7, #24] 80c5020: 005b lsls r3, r3, #1 80c5022: 4413 add r3, r2 80c5024: 881b ldrh r3, [r3, #0] 80c5026: 81fb strh r3, [r7, #14] 80c5028: 89fb ldrh r3, [r7, #14] 80c502a: 2b00 cmp r3, #0 80c502c: d1d7 bne.n 80c4fde } fno->fname[i] = 0; /* Terminate the LFN */ 80c502e: 683a ldr r2, [r7, #0] 80c5030: 69fb ldr r3, [r7, #28] 80c5032: 4413 add r3, r2 80c5034: 331a adds r3, #26 80c5036: 2200 movs r2, #0 80c5038: 701a strb r2, [r3, #0] } } i = j = 0; 80c503a: 2300 movs r3, #0 80c503c: 61bb str r3, [r7, #24] 80c503e: 69bb ldr r3, [r7, #24] 80c5040: 61fb str r3, [r7, #28] lfv = fno->fname[i]; /* LFN is exist if non-zero */ 80c5042: 683a ldr r2, [r7, #0] 80c5044: 69fb ldr r3, [r7, #28] 80c5046: 4413 add r3, r2 80c5048: 331a adds r3, #26 80c504a: 781b ldrb r3, [r3, #0] 80c504c: 81bb strh r3, [r7, #12] while (i < 11) { /* Copy name body and extension */ 80c504e: e04c b.n 80c50ea c = (TCHAR)dp->dir[i++]; 80c5050: 687b ldr r3, [r7, #4] 80c5052: 6bda ldr r2, [r3, #60] ; 0x3c 80c5054: 69fb ldr r3, [r7, #28] 80c5056: 1c59 adds r1, r3, #1 80c5058: 61f9 str r1, [r7, #28] 80c505a: 4413 add r3, r2 80c505c: 781b ldrb r3, [r3, #0] 80c505e: 75fb strb r3, [r7, #23] if (c == ' ') continue; /* Skip padding spaces */ 80c5060: 7dfb ldrb r3, [r7, #23] 80c5062: 2b20 cmp r3, #32 80c5064: d100 bne.n 80c5068 80c5066: e040 b.n 80c50ea if (c == RDDEM) c = (TCHAR)DDEM; /* Restore replaced DDEM character */ 80c5068: 7dfb ldrb r3, [r7, #23] 80c506a: 2b05 cmp r3, #5 80c506c: d101 bne.n 80c5072 80c506e: 23e5 movs r3, #229 ; 0xe5 80c5070: 75fb strb r3, [r7, #23] if (i == 9) { /* Insert a . if extension is exist */ 80c5072: 69fb ldr r3, [r7, #28] 80c5074: 2b09 cmp r3, #9 80c5076: d10f bne.n 80c5098 if (!lfv) fno->fname[j] = '.'; 80c5078: 89bb ldrh r3, [r7, #12] 80c507a: 2b00 cmp r3, #0 80c507c: d105 bne.n 80c508a 80c507e: 683a ldr r2, [r7, #0] 80c5080: 69bb ldr r3, [r7, #24] 80c5082: 4413 add r3, r2 80c5084: 331a adds r3, #26 80c5086: 222e movs r2, #46 ; 0x2e 80c5088: 701a strb r2, [r3, #0] fno->altname[j++] = '.'; 80c508a: 69bb ldr r3, [r7, #24] 80c508c: 1c5a adds r2, r3, #1 80c508e: 61ba str r2, [r7, #24] 80c5090: 683a ldr r2, [r7, #0] 80c5092: 4413 add r3, r2 80c5094: 222e movs r2, #46 ; 0x2e 80c5096: 735a strb r2, [r3, #13] c = c << 8 | dp->dir[i++]; } c = ff_convert(c, 1); /* OEM -> Unicode */ if (!c) c = '?'; #endif fno->altname[j] = c; 80c5098: 683a ldr r2, [r7, #0] 80c509a: 69bb ldr r3, [r7, #24] 80c509c: 4413 add r3, r2 80c509e: 330d adds r3, #13 80c50a0: 7dfa ldrb r2, [r7, #23] 80c50a2: 701a strb r2, [r3, #0] if (!lfv) { 80c50a4: 89bb ldrh r3, [r7, #12] 80c50a6: 2b00 cmp r3, #0 80c50a8: d11c bne.n 80c50e4 if (IsUpper(c) && (dp->dir[DIR_NTres] & ((i >= 9) ? NS_EXT : NS_BODY))) { 80c50aa: 7dfb ldrb r3, [r7, #23] 80c50ac: 2b40 cmp r3, #64 ; 0x40 80c50ae: d913 bls.n 80c50d8 80c50b0: 7dfb ldrb r3, [r7, #23] 80c50b2: 2b5a cmp r3, #90 ; 0x5a 80c50b4: d810 bhi.n 80c50d8 80c50b6: 687b ldr r3, [r7, #4] 80c50b8: 6bdb ldr r3, [r3, #60] ; 0x3c 80c50ba: 330c adds r3, #12 80c50bc: 781b ldrb r3, [r3, #0] 80c50be: 461a mov r2, r3 80c50c0: 69fb ldr r3, [r7, #28] 80c50c2: 2b08 cmp r3, #8 80c50c4: d901 bls.n 80c50ca 80c50c6: 2310 movs r3, #16 80c50c8: e000 b.n 80c50cc 80c50ca: 2308 movs r3, #8 80c50cc: 4013 ands r3, r2 80c50ce: 2b00 cmp r3, #0 80c50d0: d002 beq.n 80c50d8 c += 0x20; /* To lower */ 80c50d2: 7dfb ldrb r3, [r7, #23] 80c50d4: 3320 adds r3, #32 80c50d6: 75fb strb r3, [r7, #23] } fno->fname[j] = c; 80c50d8: 683a ldr r2, [r7, #0] 80c50da: 69bb ldr r3, [r7, #24] 80c50dc: 4413 add r3, r2 80c50de: 331a adds r3, #26 80c50e0: 7dfa ldrb r2, [r7, #23] 80c50e2: 701a strb r2, [r3, #0] } j++; 80c50e4: 69bb ldr r3, [r7, #24] 80c50e6: 3301 adds r3, #1 80c50e8: 61bb str r3, [r7, #24] while (i < 11) { /* Copy name body and extension */ 80c50ea: 69fb ldr r3, [r7, #28] 80c50ec: 2b0a cmp r3, #10 80c50ee: d9af bls.n 80c5050 } if (!lfv) { 80c50f0: 89bb ldrh r3, [r7, #12] 80c50f2: 2b00 cmp r3, #0 80c50f4: d10d bne.n 80c5112 fno->fname[j] = 0; 80c50f6: 683a ldr r2, [r7, #0] 80c50f8: 69bb ldr r3, [r7, #24] 80c50fa: 4413 add r3, r2 80c50fc: 331a adds r3, #26 80c50fe: 2200 movs r2, #0 80c5100: 701a strb r2, [r3, #0] if (!dp->dir[DIR_NTres]) j = 0; /* Altname is no longer needed if neither LFN nor case info is exist. */ 80c5102: 687b ldr r3, [r7, #4] 80c5104: 6bdb ldr r3, [r3, #60] ; 0x3c 80c5106: 330c adds r3, #12 80c5108: 781b ldrb r3, [r3, #0] 80c510a: 2b00 cmp r3, #0 80c510c: d101 bne.n 80c5112 80c510e: 2300 movs r3, #0 80c5110: 61bb str r3, [r7, #24] } fno->altname[j] = 0; /* Terminate the SFN */ 80c5112: 683a ldr r2, [r7, #0] 80c5114: 69bb ldr r3, [r7, #24] 80c5116: 4413 add r3, r2 80c5118: 330d adds r3, #13 80c511a: 2200 movs r2, #0 80c511c: 701a strb r2, [r3, #0] fno->fname[j++] = c; } fno->fname[j] = 0; #endif fno->fattrib = dp->dir[DIR_Attr]; /* Attribute */ 80c511e: 687b ldr r3, [r7, #4] 80c5120: 6bdb ldr r3, [r3, #60] ; 0x3c 80c5122: 7ada ldrb r2, [r3, #11] 80c5124: 683b ldr r3, [r7, #0] 80c5126: 731a strb r2, [r3, #12] fno->fsize = ld_dword(dp->dir + DIR_FileSize); /* Size */ 80c5128: 687b ldr r3, [r7, #4] 80c512a: 6bdb ldr r3, [r3, #60] ; 0x3c 80c512c: 331c adds r3, #28 80c512e: 4618 mov r0, r3 80c5130: f7fd fc1c bl 80c296c 80c5134: 4603 mov r3, r0 80c5136: f04f 0400 mov.w r4, #0 80c513a: 683a ldr r2, [r7, #0] 80c513c: e882 0018 stmia.w r2, {r3, r4} tm = ld_dword(dp->dir + DIR_ModTime); /* Timestamp */ 80c5140: 687b ldr r3, [r7, #4] 80c5142: 6bdb ldr r3, [r3, #60] ; 0x3c 80c5144: 3316 adds r3, #22 80c5146: 4618 mov r0, r3 80c5148: f7fd fc10 bl 80c296c 80c514c: 60b8 str r0, [r7, #8] fno->ftime = (WORD)tm; fno->fdate = (WORD)(tm >> 16); 80c514e: 68bb ldr r3, [r7, #8] 80c5150: b29a uxth r2, r3 80c5152: 683b ldr r3, [r7, #0] 80c5154: 815a strh r2, [r3, #10] 80c5156: 68bb ldr r3, [r7, #8] 80c5158: 0c1b lsrs r3, r3, #16 80c515a: b29a uxth r2, r3 80c515c: 683b ldr r3, [r7, #0] 80c515e: 811a strh r2, [r3, #8] 80c5160: e000 b.n 80c5164 if (!dp->sect) return; /* Exit if read pointer has reached end of directory */ 80c5162: bf00 nop } 80c5164: 3724 adds r7, #36 ; 0x24 80c5166: 46bd mov sp, r7 80c5168: bd90 pop {r4, r7, pc} ... 080c516c : static FRESULT create_name ( /* FR_OK: successful, FR_INVALID_NAME: could not create */ DIR* dp, /* Pointer to the directory object */ const TCHAR** path /* Pointer to pointer to the segment in the path string */ ) { 80c516c: b580 push {r7, lr} 80c516e: b08a sub sp, #40 ; 0x28 80c5170: af00 add r7, sp, #0 80c5172: 6078 str r0, [r7, #4] 80c5174: 6039 str r1, [r7, #0] WCHAR w, *lfn; UINT i, ni, si, di; const TCHAR *p; /* Create LFN in Unicode */ p = *path; lfn = dp->obj.fs->lfnbuf; si = di = 0; 80c5176: 683b ldr r3, [r7, #0] 80c5178: 681b ldr r3, [r3, #0] 80c517a: 613b str r3, [r7, #16] 80c517c: 687b ldr r3, [r7, #4] 80c517e: 681b ldr r3, [r3, #0] 80c5180: 68db ldr r3, [r3, #12] 80c5182: 60fb str r3, [r7, #12] 80c5184: 2300 movs r3, #0 80c5186: 617b str r3, [r7, #20] 80c5188: 697b ldr r3, [r7, #20] 80c518a: 61bb str r3, [r7, #24] for (;;) { w = p[si++]; /* Get a character */ 80c518c: 69bb ldr r3, [r7, #24] 80c518e: 1c5a adds r2, r3, #1 80c5190: 61ba str r2, [r7, #24] 80c5192: 693a ldr r2, [r7, #16] 80c5194: 4413 add r3, r2 80c5196: 781b ldrb r3, [r3, #0] 80c5198: 84bb strh r3, [r7, #36] ; 0x24 if (w < ' ') break; /* Break if end of the path name */ 80c519a: 8cbb ldrh r3, [r7, #36] ; 0x24 80c519c: 2b1f cmp r3, #31 80c519e: d940 bls.n 80c5222 if (w == '/' || w == '\\') { /* Break if a separator is found */ 80c51a0: 8cbb ldrh r3, [r7, #36] ; 0x24 80c51a2: 2b2f cmp r3, #47 ; 0x2f 80c51a4: d006 beq.n 80c51b4 80c51a6: 8cbb ldrh r3, [r7, #36] ; 0x24 80c51a8: 2b5c cmp r3, #92 ; 0x5c 80c51aa: d110 bne.n 80c51ce while (p[si] == '/' || p[si] == '\\') si++; /* Skip duplicated separator if exist */ 80c51ac: e002 b.n 80c51b4 80c51ae: 69bb ldr r3, [r7, #24] 80c51b0: 3301 adds r3, #1 80c51b2: 61bb str r3, [r7, #24] 80c51b4: 693a ldr r2, [r7, #16] 80c51b6: 69bb ldr r3, [r7, #24] 80c51b8: 4413 add r3, r2 80c51ba: 781b ldrb r3, [r3, #0] 80c51bc: 2b2f cmp r3, #47 ; 0x2f 80c51be: d0f6 beq.n 80c51ae 80c51c0: 693a ldr r2, [r7, #16] 80c51c2: 69bb ldr r3, [r7, #24] 80c51c4: 4413 add r3, r2 80c51c6: 781b ldrb r3, [r3, #0] 80c51c8: 2b5c cmp r3, #92 ; 0x5c 80c51ca: d0f0 beq.n 80c51ae break; 80c51cc: e02a b.n 80c5224 } if (di >= _MAX_LFN) return FR_INVALID_NAME; /* Reject too long name */ 80c51ce: 697b ldr r3, [r7, #20] 80c51d0: 2bfe cmp r3, #254 ; 0xfe 80c51d2: d901 bls.n 80c51d8 80c51d4: 2306 movs r3, #6 80c51d6: e177 b.n 80c54c8 #if !_LFN_UNICODE w &= 0xFF; 80c51d8: 8cbb ldrh r3, [r7, #36] ; 0x24 80c51da: b2db uxtb r3, r3 80c51dc: 84bb strh r3, [r7, #36] ; 0x24 if (IsDBCS1(w)) { /* Check if it is a DBC 1st byte (always false on SBCS cfg) */ b = (BYTE)p[si++]; /* Get 2nd byte */ w = (w << 8) + b; /* Create a DBC */ if (!IsDBCS2(b)) return FR_INVALID_NAME; /* Reject invalid sequence */ } w = ff_convert(w, 1); /* Convert ANSI/OEM to Unicode */ 80c51de: 8cbb ldrh r3, [r7, #36] ; 0x24 80c51e0: 2101 movs r1, #1 80c51e2: 4618 mov r0, r3 80c51e4: f003 fe5e bl 80c8ea4 80c51e8: 4603 mov r3, r0 80c51ea: 84bb strh r3, [r7, #36] ; 0x24 if (!w) return FR_INVALID_NAME; /* Reject invalid code */ 80c51ec: 8cbb ldrh r3, [r7, #36] ; 0x24 80c51ee: 2b00 cmp r3, #0 80c51f0: d101 bne.n 80c51f6 80c51f2: 2306 movs r3, #6 80c51f4: e168 b.n 80c54c8 #endif if (w < 0x80 && chk_chr("\"*:<>\?|\x7F", w)) return FR_INVALID_NAME; /* Reject illegal characters for LFN */ 80c51f6: 8cbb ldrh r3, [r7, #36] ; 0x24 80c51f8: 2b7f cmp r3, #127 ; 0x7f 80c51fa: d809 bhi.n 80c5210 80c51fc: 8cbb ldrh r3, [r7, #36] ; 0x24 80c51fe: 4619 mov r1, r3 80c5200: 48b3 ldr r0, [pc, #716] ; (80c54d0 ) 80c5202: f7fd fdbf bl 80c2d84 80c5206: 4603 mov r3, r0 80c5208: 2b00 cmp r3, #0 80c520a: d001 beq.n 80c5210 80c520c: 2306 movs r3, #6 80c520e: e15b b.n 80c54c8 lfn[di++] = w; /* Store the Unicode character */ 80c5210: 697b ldr r3, [r7, #20] 80c5212: 1c5a adds r2, r3, #1 80c5214: 617a str r2, [r7, #20] 80c5216: 005b lsls r3, r3, #1 80c5218: 68fa ldr r2, [r7, #12] 80c521a: 4413 add r3, r2 80c521c: 8cba ldrh r2, [r7, #36] ; 0x24 80c521e: 801a strh r2, [r3, #0] w = p[si++]; /* Get a character */ 80c5220: e7b4 b.n 80c518c if (w < ' ') break; /* Break if end of the path name */ 80c5222: bf00 nop } *path = &p[si]; /* Return pointer to the next segment */ 80c5224: 693a ldr r2, [r7, #16] 80c5226: 69bb ldr r3, [r7, #24] 80c5228: 441a add r2, r3 80c522a: 683b ldr r3, [r7, #0] 80c522c: 601a str r2, [r3, #0] cf = (w < ' ') ? NS_LAST : 0; /* Set last segment flag if end of the path */ 80c522e: 8cbb ldrh r3, [r7, #36] ; 0x24 80c5230: 2b1f cmp r3, #31 80c5232: d801 bhi.n 80c5238 80c5234: 2304 movs r3, #4 80c5236: e000 b.n 80c523a 80c5238: 2300 movs r3, #0 80c523a: f887 3026 strb.w r3, [r7, #38] ; 0x26 dp->fn[i] = (i < di) ? '.' : ' '; dp->fn[i] = cf | NS_DOT; /* This is a dot entry */ return FR_OK; } #endif while (di) { /* Snip off trailing spaces and dots if exist */ 80c523e: e011 b.n 80c5264 w = lfn[di - 1]; 80c5240: 697a ldr r2, [r7, #20] 80c5242: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c5246: 4413 add r3, r2 80c5248: 005b lsls r3, r3, #1 80c524a: 68fa ldr r2, [r7, #12] 80c524c: 4413 add r3, r2 80c524e: 881b ldrh r3, [r3, #0] 80c5250: 84bb strh r3, [r7, #36] ; 0x24 if (w != ' ' && w != '.') break; 80c5252: 8cbb ldrh r3, [r7, #36] ; 0x24 80c5254: 2b20 cmp r3, #32 80c5256: d002 beq.n 80c525e 80c5258: 8cbb ldrh r3, [r7, #36] ; 0x24 80c525a: 2b2e cmp r3, #46 ; 0x2e 80c525c: d106 bne.n 80c526c di--; 80c525e: 697b ldr r3, [r7, #20] 80c5260: 3b01 subs r3, #1 80c5262: 617b str r3, [r7, #20] while (di) { /* Snip off trailing spaces and dots if exist */ 80c5264: 697b ldr r3, [r7, #20] 80c5266: 2b00 cmp r3, #0 80c5268: d1ea bne.n 80c5240 80c526a: e000 b.n 80c526e if (w != ' ' && w != '.') break; 80c526c: bf00 nop } lfn[di] = 0; /* LFN is created */ 80c526e: 697b ldr r3, [r7, #20] 80c5270: 005b lsls r3, r3, #1 80c5272: 68fa ldr r2, [r7, #12] 80c5274: 4413 add r3, r2 80c5276: 2200 movs r2, #0 80c5278: 801a strh r2, [r3, #0] if (di == 0) return FR_INVALID_NAME; /* Reject nul name */ 80c527a: 697b ldr r3, [r7, #20] 80c527c: 2b00 cmp r3, #0 80c527e: d101 bne.n 80c5284 80c5280: 2306 movs r3, #6 80c5282: e121 b.n 80c54c8 /* Create SFN in directory form */ mem_set(dp->fn, ' ', 11); 80c5284: 687b ldr r3, [r7, #4] 80c5286: 3340 adds r3, #64 ; 0x40 80c5288: 220b movs r2, #11 80c528a: 2120 movs r1, #32 80c528c: 4618 mov r0, r3 80c528e: f7fd fd38 bl 80c2d02 for (si = 0; lfn[si] == ' ' || lfn[si] == '.'; si++) ; /* Strip leading spaces and dots */ 80c5292: 2300 movs r3, #0 80c5294: 61bb str r3, [r7, #24] 80c5296: e002 b.n 80c529e 80c5298: 69bb ldr r3, [r7, #24] 80c529a: 3301 adds r3, #1 80c529c: 61bb str r3, [r7, #24] 80c529e: 69bb ldr r3, [r7, #24] 80c52a0: 005b lsls r3, r3, #1 80c52a2: 68fa ldr r2, [r7, #12] 80c52a4: 4413 add r3, r2 80c52a6: 881b ldrh r3, [r3, #0] 80c52a8: 2b20 cmp r3, #32 80c52aa: d0f5 beq.n 80c5298 80c52ac: 69bb ldr r3, [r7, #24] 80c52ae: 005b lsls r3, r3, #1 80c52b0: 68fa ldr r2, [r7, #12] 80c52b2: 4413 add r3, r2 80c52b4: 881b ldrh r3, [r3, #0] 80c52b6: 2b2e cmp r3, #46 ; 0x2e 80c52b8: d0ee beq.n 80c5298 if (si) cf |= NS_LOSS | NS_LFN; 80c52ba: 69bb ldr r3, [r7, #24] 80c52bc: 2b00 cmp r3, #0 80c52be: d009 beq.n 80c52d4 80c52c0: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c52c4: f043 0303 orr.w r3, r3, #3 80c52c8: f887 3026 strb.w r3, [r7, #38] ; 0x26 while (di && lfn[di - 1] != '.') di--; /* Find extension (di<=si: no extension) */ 80c52cc: e002 b.n 80c52d4 80c52ce: 697b ldr r3, [r7, #20] 80c52d0: 3b01 subs r3, #1 80c52d2: 617b str r3, [r7, #20] 80c52d4: 697b ldr r3, [r7, #20] 80c52d6: 2b00 cmp r3, #0 80c52d8: d009 beq.n 80c52ee 80c52da: 697a ldr r2, [r7, #20] 80c52dc: f06f 4300 mvn.w r3, #2147483648 ; 0x80000000 80c52e0: 4413 add r3, r2 80c52e2: 005b lsls r3, r3, #1 80c52e4: 68fa ldr r2, [r7, #12] 80c52e6: 4413 add r3, r2 80c52e8: 881b ldrh r3, [r3, #0] 80c52ea: 2b2e cmp r3, #46 ; 0x2e 80c52ec: d1ef bne.n 80c52ce i = b = 0; ni = 8; 80c52ee: 2300 movs r3, #0 80c52f0: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c52f4: 2300 movs r3, #0 80c52f6: 623b str r3, [r7, #32] 80c52f8: 2308 movs r3, #8 80c52fa: 61fb str r3, [r7, #28] for (;;) { w = lfn[si++]; /* Get an LFN character */ 80c52fc: 69bb ldr r3, [r7, #24] 80c52fe: 1c5a adds r2, r3, #1 80c5300: 61ba str r2, [r7, #24] 80c5302: 005b lsls r3, r3, #1 80c5304: 68fa ldr r2, [r7, #12] 80c5306: 4413 add r3, r2 80c5308: 881b ldrh r3, [r3, #0] 80c530a: 84bb strh r3, [r7, #36] ; 0x24 if (!w) break; /* Break on end of the LFN */ 80c530c: 8cbb ldrh r3, [r7, #36] ; 0x24 80c530e: 2b00 cmp r3, #0 80c5310: f000 8090 beq.w 80c5434 if (w == ' ' || (w == '.' && si != di)) { /* Remove spaces and dots */ 80c5314: 8cbb ldrh r3, [r7, #36] ; 0x24 80c5316: 2b20 cmp r3, #32 80c5318: d006 beq.n 80c5328 80c531a: 8cbb ldrh r3, [r7, #36] ; 0x24 80c531c: 2b2e cmp r3, #46 ; 0x2e 80c531e: d10a bne.n 80c5336 80c5320: 69ba ldr r2, [r7, #24] 80c5322: 697b ldr r3, [r7, #20] 80c5324: 429a cmp r2, r3 80c5326: d006 beq.n 80c5336 cf |= NS_LOSS | NS_LFN; continue; 80c5328: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c532c: f043 0303 orr.w r3, r3, #3 80c5330: f887 3026 strb.w r3, [r7, #38] ; 0x26 80c5334: e07d b.n 80c5432 } if (i >= ni || si == di) { /* Extension or end of SFN */ 80c5336: 6a3a ldr r2, [r7, #32] 80c5338: 69fb ldr r3, [r7, #28] 80c533a: 429a cmp r2, r3 80c533c: d203 bcs.n 80c5346 80c533e: 69ba ldr r2, [r7, #24] 80c5340: 697b ldr r3, [r7, #20] 80c5342: 429a cmp r2, r3 80c5344: d123 bne.n 80c538e if (ni == 11) { /* Long extension */ 80c5346: 69fb ldr r3, [r7, #28] 80c5348: 2b0b cmp r3, #11 80c534a: d106 bne.n 80c535a cf |= NS_LOSS | NS_LFN; break; 80c534c: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c5350: f043 0303 orr.w r3, r3, #3 80c5354: f887 3026 strb.w r3, [r7, #38] ; 0x26 80c5358: e06f b.n 80c543a } if (si != di) cf |= NS_LOSS | NS_LFN; /* Out of 8.3 format */ 80c535a: 69ba ldr r2, [r7, #24] 80c535c: 697b ldr r3, [r7, #20] 80c535e: 429a cmp r2, r3 80c5360: d005 beq.n 80c536e 80c5362: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c5366: f043 0303 orr.w r3, r3, #3 80c536a: f887 3026 strb.w r3, [r7, #38] ; 0x26 if (si > di) break; /* No extension */ 80c536e: 69ba ldr r2, [r7, #24] 80c5370: 697b ldr r3, [r7, #20] 80c5372: 429a cmp r2, r3 80c5374: d860 bhi.n 80c5438 si = di; i = 8; ni = 11; /* Enter extension section */ 80c5376: 697b ldr r3, [r7, #20] 80c5378: 61bb str r3, [r7, #24] 80c537a: 2308 movs r3, #8 80c537c: 623b str r3, [r7, #32] 80c537e: 230b movs r3, #11 80c5380: 61fb str r3, [r7, #28] b <<= 2; continue; 80c5382: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c5386: 009b lsls r3, r3, #2 80c5388: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c538c: e051 b.n 80c5432 } if (w >= 0x80) { /* Non ASCII character */ 80c538e: 8cbb ldrh r3, [r7, #36] ; 0x24 80c5390: 2b7f cmp r3, #127 ; 0x7f 80c5392: d914 bls.n 80c53be #ifdef _EXCVT w = ff_convert(w, 0); /* Unicode -> OEM code */ 80c5394: 8cbb ldrh r3, [r7, #36] ; 0x24 80c5396: 2100 movs r1, #0 80c5398: 4618 mov r0, r3 80c539a: f003 fd83 bl 80c8ea4 80c539e: 4603 mov r3, r0 80c53a0: 84bb strh r3, [r7, #36] ; 0x24 if (w) w = ExCvt[w - 0x80]; /* Convert extended character to upper (SBCS) */ 80c53a2: 8cbb ldrh r3, [r7, #36] ; 0x24 80c53a4: 2b00 cmp r3, #0 80c53a6: d004 beq.n 80c53b2 80c53a8: 8cbb ldrh r3, [r7, #36] ; 0x24 80c53aa: 3b80 subs r3, #128 ; 0x80 80c53ac: 4a49 ldr r2, [pc, #292] ; (80c54d4 ) 80c53ae: 5cd3 ldrb r3, [r2, r3] 80c53b0: 84bb strh r3, [r7, #36] ; 0x24 #else w = ff_convert(ff_wtoupper(w), 0); /* Upper converted Unicode -> OEM code */ #endif cf |= NS_LFN; /* Force create LFN entry */ 80c53b2: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c53b6: f043 0302 orr.w r3, r3, #2 80c53ba: f887 3026 strb.w r3, [r7, #38] ; 0x26 if (i >= ni - 1) { cf |= NS_LOSS | NS_LFN; i = ni; continue; } dp->fn[i++] = (BYTE)(w >> 8); } else { /* SBC */ if (!w || chk_chr("+,;=[]", w)) { /* Replace illegal characters for SFN */ 80c53be: 8cbb ldrh r3, [r7, #36] ; 0x24 80c53c0: 2b00 cmp r3, #0 80c53c2: d007 beq.n 80c53d4 80c53c4: 8cbb ldrh r3, [r7, #36] ; 0x24 80c53c6: 4619 mov r1, r3 80c53c8: 4843 ldr r0, [pc, #268] ; (80c54d8 ) 80c53ca: f7fd fcdb bl 80c2d84 80c53ce: 4603 mov r3, r0 80c53d0: 2b00 cmp r3, #0 80c53d2: d008 beq.n 80c53e6 w = '_'; cf |= NS_LOSS | NS_LFN;/* Lossy conversion */ 80c53d4: 235f movs r3, #95 ; 0x5f 80c53d6: 84bb strh r3, [r7, #36] ; 0x24 80c53d8: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c53dc: f043 0303 orr.w r3, r3, #3 80c53e0: f887 3026 strb.w r3, [r7, #38] ; 0x26 80c53e4: e01b b.n 80c541e } else { if (IsUpper(w)) { /* ASCII large capital */ 80c53e6: 8cbb ldrh r3, [r7, #36] ; 0x24 80c53e8: 2b40 cmp r3, #64 ; 0x40 80c53ea: d909 bls.n 80c5400 80c53ec: 8cbb ldrh r3, [r7, #36] ; 0x24 80c53ee: 2b5a cmp r3, #90 ; 0x5a 80c53f0: d806 bhi.n 80c5400 b |= 2; 80c53f2: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c53f6: f043 0302 orr.w r3, r3, #2 80c53fa: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c53fe: e00e b.n 80c541e } else { if (IsLower(w)) { /* ASCII small capital */ 80c5400: 8cbb ldrh r3, [r7, #36] ; 0x24 80c5402: 2b60 cmp r3, #96 ; 0x60 80c5404: d90b bls.n 80c541e 80c5406: 8cbb ldrh r3, [r7, #36] ; 0x24 80c5408: 2b7a cmp r3, #122 ; 0x7a 80c540a: d808 bhi.n 80c541e b |= 1; w -= 0x20; 80c540c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c5410: f043 0301 orr.w r3, r3, #1 80c5414: f887 3027 strb.w r3, [r7, #39] ; 0x27 80c5418: 8cbb ldrh r3, [r7, #36] ; 0x24 80c541a: 3b20 subs r3, #32 80c541c: 84bb strh r3, [r7, #36] ; 0x24 } } } } dp->fn[i++] = (BYTE)w; 80c541e: 6a3b ldr r3, [r7, #32] 80c5420: 1c5a adds r2, r3, #1 80c5422: 623a str r2, [r7, #32] 80c5424: 8cba ldrh r2, [r7, #36] ; 0x24 80c5426: b2d1 uxtb r1, r2 80c5428: 687a ldr r2, [r7, #4] 80c542a: 4413 add r3, r2 80c542c: 460a mov r2, r1 80c542e: f883 2040 strb.w r2, [r3, #64] ; 0x40 w = lfn[si++]; /* Get an LFN character */ 80c5432: e763 b.n 80c52fc if (!w) break; /* Break on end of the LFN */ 80c5434: bf00 nop 80c5436: e000 b.n 80c543a if (si > di) break; /* No extension */ 80c5438: bf00 nop } if (dp->fn[0] == DDEM) dp->fn[0] = RDDEM; /* If the first character collides with DDEM, replace it with RDDEM */ 80c543a: 687b ldr r3, [r7, #4] 80c543c: f893 3040 ldrb.w r3, [r3, #64] ; 0x40 80c5440: 2be5 cmp r3, #229 ; 0xe5 80c5442: d103 bne.n 80c544c 80c5444: 687b ldr r3, [r7, #4] 80c5446: 2205 movs r2, #5 80c5448: f883 2040 strb.w r2, [r3, #64] ; 0x40 if (ni == 8) b <<= 2; 80c544c: 69fb ldr r3, [r7, #28] 80c544e: 2b08 cmp r3, #8 80c5450: d104 bne.n 80c545c 80c5452: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c5456: 009b lsls r3, r3, #2 80c5458: f887 3027 strb.w r3, [r7, #39] ; 0x27 if ((b & 0x0C) == 0x0C || (b & 0x03) == 0x03) cf |= NS_LFN; /* Create LFN entry when there are composite capitals */ 80c545c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c5460: f003 030c and.w r3, r3, #12 80c5464: 2b0c cmp r3, #12 80c5466: d005 beq.n 80c5474 80c5468: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c546c: f003 0303 and.w r3, r3, #3 80c5470: 2b03 cmp r3, #3 80c5472: d105 bne.n 80c5480 80c5474: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c5478: f043 0302 orr.w r3, r3, #2 80c547c: f887 3026 strb.w r3, [r7, #38] ; 0x26 if (!(cf & NS_LFN)) { /* When LFN is in 8.3 format without extended character, NT flags are created */ 80c5480: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c5484: f003 0302 and.w r3, r3, #2 80c5488: 2b00 cmp r3, #0 80c548a: d117 bne.n 80c54bc if ((b & 0x03) == 0x01) cf |= NS_EXT; /* NT flag (Extension has only small capital) */ 80c548c: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c5490: f003 0303 and.w r3, r3, #3 80c5494: 2b01 cmp r3, #1 80c5496: d105 bne.n 80c54a4 80c5498: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c549c: f043 0310 orr.w r3, r3, #16 80c54a0: f887 3026 strb.w r3, [r7, #38] ; 0x26 if ((b & 0x0C) == 0x04) cf |= NS_BODY; /* NT flag (Filename has only small capital) */ 80c54a4: f897 3027 ldrb.w r3, [r7, #39] ; 0x27 80c54a8: f003 030c and.w r3, r3, #12 80c54ac: 2b04 cmp r3, #4 80c54ae: d105 bne.n 80c54bc 80c54b0: f897 3026 ldrb.w r3, [r7, #38] ; 0x26 80c54b4: f043 0308 orr.w r3, r3, #8 80c54b8: f887 3026 strb.w r3, [r7, #38] ; 0x26 } dp->fn[NSFLAG] = cf; /* SFN is created */ 80c54bc: 687b ldr r3, [r7, #4] 80c54be: f897 2026 ldrb.w r2, [r7, #38] ; 0x26 80c54c2: f883 204b strb.w r2, [r3, #75] ; 0x4b return FR_OK; 80c54c6: 2300 movs r3, #0 if (sfn[0] == DDEM) sfn[0] = RDDEM; /* If the first character collides with DDEM, replace it with RDDEM */ sfn[NSFLAG] = (c <= ' ') ? NS_LAST : 0; /* Set last segment flag if end of the path */ return FR_OK; #endif /* _USE_LFN != 0 */ } 80c54c8: 4618 mov r0, r3 80c54ca: 3728 adds r7, #40 ; 0x28 80c54cc: 46bd mov sp, r7 80c54ce: bd80 pop {r7, pc} 80c54d0: 080d0ba0 .word 0x080d0ba0 80c54d4: 08169c10 .word 0x08169c10 80c54d8: 080d0bac .word 0x080d0bac 080c54dc : static FRESULT follow_path ( /* FR_OK(0): successful, !=0: error code */ DIR* dp, /* Directory object to return last directory and found object */ const TCHAR* path /* Full-path string to find a file or directory */ ) { 80c54dc: b590 push {r4, r7, lr} 80c54de: b087 sub sp, #28 80c54e0: af00 add r7, sp, #0 80c54e2: 6078 str r0, [r7, #4] 80c54e4: 6039 str r1, [r7, #0] FRESULT res; BYTE ns; _FDID *obj = &dp->obj; 80c54e6: 687b ldr r3, [r7, #4] 80c54e8: 613b str r3, [r7, #16] FATFS *fs = obj->fs; 80c54ea: 693b ldr r3, [r7, #16] 80c54ec: 681b ldr r3, [r3, #0] 80c54ee: 60fb str r3, [r7, #12] if (*path != '/' && *path != '\\') { /* Without heading separator */ obj->sclust = fs->cdir; /* Start from current directory */ } else #endif { /* With heading separator */ while (*path == '/' || *path == '\\') path++; /* Strip heading separator */ 80c54f0: e002 b.n 80c54f8 80c54f2: 683b ldr r3, [r7, #0] 80c54f4: 3301 adds r3, #1 80c54f6: 603b str r3, [r7, #0] 80c54f8: 683b ldr r3, [r7, #0] 80c54fa: 781b ldrb r3, [r3, #0] 80c54fc: 2b2f cmp r3, #47 ; 0x2f 80c54fe: d0f8 beq.n 80c54f2 80c5500: 683b ldr r3, [r7, #0] 80c5502: 781b ldrb r3, [r3, #0] 80c5504: 2b5c cmp r3, #92 ; 0x5c 80c5506: d0f4 beq.n 80c54f2 obj->sclust = 0; /* Start from root directory */ 80c5508: 693b ldr r3, [r7, #16] 80c550a: 2200 movs r2, #0 80c550c: 609a str r2, [r3, #8] } #if _FS_EXFAT obj->n_frag = 0; /* Invalidate last fragment counter of the object */ 80c550e: 693b ldr r3, [r7, #16] 80c5510: 2200 movs r2, #0 80c5512: 61da str r2, [r3, #28] obj->stat = fs->dirbuf[XDIR_GenFlags] & 2; } #endif #endif if ((UINT)*path < ' ') { /* Null path name is the origin directory itself */ 80c5514: 683b ldr r3, [r7, #0] 80c5516: 781b ldrb r3, [r3, #0] 80c5518: 2b1f cmp r3, #31 80c551a: d80a bhi.n 80c5532 dp->fn[NSFLAG] = NS_NONAME; 80c551c: 687b ldr r3, [r7, #4] 80c551e: 2280 movs r2, #128 ; 0x80 80c5520: f883 204b strb.w r2, [r3, #75] ; 0x4b res = dir_sdi(dp, 0); 80c5524: 2100 movs r1, #0 80c5526: 6878 ldr r0, [r7, #4] 80c5528: f7fe fa8b bl 80c3a42 80c552c: 4603 mov r3, r0 80c552e: 75fb strb r3, [r7, #23] 80c5530: e077 b.n 80c5622 } else { /* Follow path */ for (;;) { res = create_name(dp, &path); /* Get a segment name of the path */ 80c5532: 463b mov r3, r7 80c5534: 4619 mov r1, r3 80c5536: 6878 ldr r0, [r7, #4] 80c5538: f7ff fe18 bl 80c516c 80c553c: 4603 mov r3, r0 80c553e: 75fb strb r3, [r7, #23] if (res != FR_OK) break; 80c5540: 7dfb ldrb r3, [r7, #23] 80c5542: 2b00 cmp r3, #0 80c5544: d168 bne.n 80c5618 res = dir_find(dp); /* Find an object with the segment name */ 80c5546: 6878 ldr r0, [r7, #4] 80c5548: f7ff f9fc bl 80c4944 80c554c: 4603 mov r3, r0 80c554e: 75fb strb r3, [r7, #23] ns = dp->fn[NSFLAG]; 80c5550: 687b ldr r3, [r7, #4] 80c5552: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c5556: 72fb strb r3, [r7, #11] if (res != FR_OK) { /* Failed to find the object */ 80c5558: 7dfb ldrb r3, [r7, #23] 80c555a: 2b00 cmp r3, #0 80c555c: d00a beq.n 80c5574 if (res == FR_NO_FILE) { /* Object is not found */ 80c555e: 7dfb ldrb r3, [r7, #23] 80c5560: 2b04 cmp r3, #4 80c5562: d15b bne.n 80c561c if (_FS_RPATH && (ns & NS_DOT)) { /* If dot entry is not exist, stay there */ if (!(ns & NS_LAST)) continue; /* Continue to follow if not last segment */ dp->fn[NSFLAG] = NS_NONAME; res = FR_OK; } else { /* Could not find the object */ if (!(ns & NS_LAST)) res = FR_NO_PATH; /* Adjust error code if not last segment */ 80c5564: 7afb ldrb r3, [r7, #11] 80c5566: f003 0304 and.w r3, r3, #4 80c556a: 2b00 cmp r3, #0 80c556c: d156 bne.n 80c561c 80c556e: 2305 movs r3, #5 80c5570: 75fb strb r3, [r7, #23] } } break; 80c5572: e053 b.n 80c561c } if (ns & NS_LAST) break; /* Last segment matched. Function completed. */ 80c5574: 7afb ldrb r3, [r7, #11] 80c5576: f003 0304 and.w r3, r3, #4 80c557a: 2b00 cmp r3, #0 80c557c: d150 bne.n 80c5620 /* Get into the sub-directory */ if (!(obj->attr & AM_DIR)) { /* It is not a sub-directory and cannot follow */ 80c557e: 693b ldr r3, [r7, #16] 80c5580: 799b ldrb r3, [r3, #6] 80c5582: f003 0310 and.w r3, r3, #16 80c5586: 2b00 cmp r3, #0 80c5588: d102 bne.n 80c5590 res = FR_NO_PATH; break; 80c558a: 2305 movs r3, #5 80c558c: 75fb strb r3, [r7, #23] 80c558e: e048 b.n 80c5622 } #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* Save containing directory information for next dir */ 80c5590: 68fb ldr r3, [r7, #12] 80c5592: 781b ldrb r3, [r3, #0] 80c5594: 2b04 cmp r3, #4 80c5596: d12f bne.n 80c55f8 obj->c_scl = obj->sclust; 80c5598: 693b ldr r3, [r7, #16] 80c559a: 689a ldr r2, [r3, #8] 80c559c: 693b ldr r3, [r7, #16] 80c559e: 621a str r2, [r3, #32] obj->c_size = ((DWORD)obj->objsize & 0xFFFFFF00) | obj->stat; 80c55a0: 693b ldr r3, [r7, #16] 80c55a2: e9d3 3404 ldrd r3, r4, [r3, #16] 80c55a6: f023 03ff bic.w r3, r3, #255 ; 0xff 80c55aa: 693a ldr r2, [r7, #16] 80c55ac: 79d2 ldrb r2, [r2, #7] 80c55ae: 431a orrs r2, r3 80c55b0: 693b ldr r3, [r7, #16] 80c55b2: 625a str r2, [r3, #36] ; 0x24 obj->c_ofs = dp->blk_ofs; 80c55b4: 687b ldr r3, [r7, #4] 80c55b6: 6cda ldr r2, [r3, #76] ; 0x4c 80c55b8: 693b ldr r3, [r7, #16] 80c55ba: 629a str r2, [r3, #40] ; 0x28 obj->sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Open next directory */ 80c55bc: 68fb ldr r3, [r7, #12] 80c55be: 691b ldr r3, [r3, #16] 80c55c0: 3334 adds r3, #52 ; 0x34 80c55c2: 4618 mov r0, r3 80c55c4: f7fd f9d2 bl 80c296c 80c55c8: 4602 mov r2, r0 80c55ca: 693b ldr r3, [r7, #16] 80c55cc: 609a str r2, [r3, #8] obj->stat = fs->dirbuf[XDIR_GenFlags] & 2; 80c55ce: 68fb ldr r3, [r7, #12] 80c55d0: 691b ldr r3, [r3, #16] 80c55d2: 3321 adds r3, #33 ; 0x21 80c55d4: 781b ldrb r3, [r3, #0] 80c55d6: f003 0302 and.w r3, r3, #2 80c55da: b2da uxtb r2, r3 80c55dc: 693b ldr r3, [r7, #16] 80c55de: 71da strb r2, [r3, #7] obj->objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80c55e0: 68fb ldr r3, [r7, #12] 80c55e2: 691b ldr r3, [r3, #16] 80c55e4: 3338 adds r3, #56 ; 0x38 80c55e6: 4618 mov r0, r3 80c55e8: f7fd f9e3 bl 80c29b2 80c55ec: 4603 mov r3, r0 80c55ee: 460c mov r4, r1 80c55f0: 693a ldr r2, [r7, #16] 80c55f2: e9c2 3404 strd r3, r4, [r2, #16] 80c55f6: e79c b.n 80c5532 } else #endif { obj->sclust = ld_clust(fs, fs->win + dp->dptr % SS(fs)); /* Open next directory */ 80c55f8: 68fb ldr r3, [r7, #12] 80c55fa: f103 0238 add.w r2, r3, #56 ; 0x38 80c55fe: 687b ldr r3, [r7, #4] 80c5600: 6b1b ldr r3, [r3, #48] ; 0x30 80c5602: f3c3 0308 ubfx r3, r3, #0, #9 80c5606: 4413 add r3, r2 80c5608: 4619 mov r1, r3 80c560a: 68f8 ldr r0, [r7, #12] 80c560c: f7fe fbd0 bl 80c3db0 80c5610: 4602 mov r2, r0 80c5612: 693b ldr r3, [r7, #16] 80c5614: 609a str r2, [r3, #8] res = create_name(dp, &path); /* Get a segment name of the path */ 80c5616: e78c b.n 80c5532 if (res != FR_OK) break; 80c5618: bf00 nop 80c561a: e002 b.n 80c5622 break; 80c561c: bf00 nop 80c561e: e000 b.n 80c5622 if (ns & NS_LAST) break; /* Last segment matched. Function completed. */ 80c5620: bf00 nop } } } return res; 80c5622: 7dfb ldrb r3, [r7, #23] } 80c5624: 4618 mov r0, r3 80c5626: 371c adds r7, #28 80c5628: 46bd mov sp, r7 80c562a: bd90 pop {r4, r7, pc} 080c562c : static int get_ldnumber ( /* Returns logical drive number (-1:invalid drive) */ const TCHAR** path /* Pointer to pointer to the path name */ ) { 80c562c: b480 push {r7} 80c562e: b087 sub sp, #28 80c5630: af00 add r7, sp, #0 80c5632: 6078 str r0, [r7, #4] const TCHAR *tp, *tt; UINT i; int vol = -1; 80c5634: f04f 33ff mov.w r3, #4294967295 80c5638: 613b str r3, [r7, #16] char c; TCHAR tc; #endif if (*path) { /* If the pointer is not a null */ 80c563a: 687b ldr r3, [r7, #4] 80c563c: 681b ldr r3, [r3, #0] 80c563e: 2b00 cmp r3, #0 80c5640: d031 beq.n 80c56a6 for (tt = *path; (UINT)*tt >= (_USE_LFN ? ' ' : '!') && *tt != ':'; tt++) ; /* Find ':' in the path */ 80c5642: 687b ldr r3, [r7, #4] 80c5644: 681b ldr r3, [r3, #0] 80c5646: 617b str r3, [r7, #20] 80c5648: e002 b.n 80c5650 80c564a: 697b ldr r3, [r7, #20] 80c564c: 3301 adds r3, #1 80c564e: 617b str r3, [r7, #20] 80c5650: 697b ldr r3, [r7, #20] 80c5652: 781b ldrb r3, [r3, #0] 80c5654: 2b1f cmp r3, #31 80c5656: d903 bls.n 80c5660 80c5658: 697b ldr r3, [r7, #20] 80c565a: 781b ldrb r3, [r3, #0] 80c565c: 2b3a cmp r3, #58 ; 0x3a 80c565e: d1f4 bne.n 80c564a if (*tt == ':') { /* If a ':' is exist in the path name */ 80c5660: 697b ldr r3, [r7, #20] 80c5662: 781b ldrb r3, [r3, #0] 80c5664: 2b3a cmp r3, #58 ; 0x3a 80c5666: d11c bne.n 80c56a2 tp = *path; 80c5668: 687b ldr r3, [r7, #4] 80c566a: 681b ldr r3, [r3, #0] 80c566c: 60fb str r3, [r7, #12] i = *tp++ - '0'; 80c566e: 68fb ldr r3, [r7, #12] 80c5670: 1c5a adds r2, r3, #1 80c5672: 60fa str r2, [r7, #12] 80c5674: 781b ldrb r3, [r3, #0] 80c5676: 3b30 subs r3, #48 ; 0x30 80c5678: 60bb str r3, [r7, #8] if (i < 10 && tp == tt) { /* Is there a numeric drive id? */ 80c567a: 68bb ldr r3, [r7, #8] 80c567c: 2b09 cmp r3, #9 80c567e: d80e bhi.n 80c569e 80c5680: 68fa ldr r2, [r7, #12] 80c5682: 697b ldr r3, [r7, #20] 80c5684: 429a cmp r2, r3 80c5686: d10a bne.n 80c569e if (i < _VOLUMES) { /* If a drive id is found, get the value and strip it */ 80c5688: 68bb ldr r3, [r7, #8] 80c568a: 2b00 cmp r3, #0 80c568c: d107 bne.n 80c569e vol = (int)i; 80c568e: 68bb ldr r3, [r7, #8] 80c5690: 613b str r3, [r7, #16] *path = ++tt; 80c5692: 697b ldr r3, [r7, #20] 80c5694: 3301 adds r3, #1 80c5696: 617b str r3, [r7, #20] 80c5698: 687b ldr r3, [r7, #4] 80c569a: 697a ldr r2, [r7, #20] 80c569c: 601a str r2, [r3, #0] vol = (int)i; *path = tt; } } #endif return vol; 80c569e: 693b ldr r3, [r7, #16] 80c56a0: e002 b.n 80c56a8 } #if _FS_RPATH != 0 && _VOLUMES >= 2 vol = CurrVol; /* Current drive */ #else vol = 0; /* Drive 0 */ 80c56a2: 2300 movs r3, #0 80c56a4: 613b str r3, [r7, #16] #endif } return vol; 80c56a6: 693b ldr r3, [r7, #16] } 80c56a8: 4618 mov r0, r3 80c56aa: 371c adds r7, #28 80c56ac: 46bd mov sp, r7 80c56ae: f85d 7b04 ldr.w r7, [sp], #4 80c56b2: 4770 bx lr 080c56b4 : static BYTE check_fs ( /* 0:FAT, 1:exFAT, 2:Valid BS but not FAT, 3:Not a BS, 4:Disk error */ FATFS* fs, /* File system object */ DWORD sect /* Sector# (lba) to load and check if it is an FAT-VBR or not */ ) { 80c56b4: b580 push {r7, lr} 80c56b6: b082 sub sp, #8 80c56b8: af00 add r7, sp, #0 80c56ba: 6078 str r0, [r7, #4] 80c56bc: 6039 str r1, [r7, #0] fs->wflag = 0; fs->winsect = 0xFFFFFFFF; /* Invaidate window */ 80c56be: 687b ldr r3, [r7, #4] 80c56c0: 2200 movs r2, #0 80c56c2: 70da strb r2, [r3, #3] 80c56c4: 687b ldr r3, [r7, #4] 80c56c6: f04f 32ff mov.w r2, #4294967295 80c56ca: 635a str r2, [r3, #52] ; 0x34 if (move_window(fs, sect) != FR_OK) return 4; /* Load boot record */ 80c56cc: 6839 ldr r1, [r7, #0] 80c56ce: 6878 ldr r0, [r7, #4] 80c56d0: f7fd fbb7 bl 80c2e42 80c56d4: 4603 mov r3, r0 80c56d6: 2b00 cmp r3, #0 80c56d8: d001 beq.n 80c56de 80c56da: 2304 movs r3, #4 80c56dc: e044 b.n 80c5768 if (ld_word(fs->win + BS_55AA) != 0xAA55) return 3; /* Check boot record signature (always placed here even if the sector size is >512) */ 80c56de: 687b ldr r3, [r7, #4] 80c56e0: 3338 adds r3, #56 ; 0x38 80c56e2: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c56e6: 4618 mov r0, r3 80c56e8: f7fd f928 bl 80c293c 80c56ec: 4603 mov r3, r0 80c56ee: 461a mov r2, r3 80c56f0: f64a 2355 movw r3, #43605 ; 0xaa55 80c56f4: 429a cmp r2, r3 80c56f6: d001 beq.n 80c56fc 80c56f8: 2303 movs r3, #3 80c56fa: e035 b.n 80c5768 if (fs->win[BS_JmpBoot] == 0xE9 || (fs->win[BS_JmpBoot] == 0xEB && fs->win[BS_JmpBoot + 2] == 0x90)) { 80c56fc: 687b ldr r3, [r7, #4] 80c56fe: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c5702: 2be9 cmp r3, #233 ; 0xe9 80c5704: d009 beq.n 80c571a 80c5706: 687b ldr r3, [r7, #4] 80c5708: f893 3038 ldrb.w r3, [r3, #56] ; 0x38 80c570c: 2beb cmp r3, #235 ; 0xeb 80c570e: d11e bne.n 80c574e 80c5710: 687b ldr r3, [r7, #4] 80c5712: f893 303a ldrb.w r3, [r3, #58] ; 0x3a 80c5716: 2b90 cmp r3, #144 ; 0x90 80c5718: d119 bne.n 80c574e if ((ld_dword(fs->win + BS_FilSysType) & 0xFFFFFF) == 0x544146) return 0; /* Check "FAT" string */ 80c571a: 687b ldr r3, [r7, #4] 80c571c: 3338 adds r3, #56 ; 0x38 80c571e: 3336 adds r3, #54 ; 0x36 80c5720: 4618 mov r0, r3 80c5722: f7fd f923 bl 80c296c 80c5726: 4603 mov r3, r0 80c5728: f023 437f bic.w r3, r3, #4278190080 ; 0xff000000 80c572c: 4a10 ldr r2, [pc, #64] ; (80c5770 ) 80c572e: 4293 cmp r3, r2 80c5730: d101 bne.n 80c5736 80c5732: 2300 movs r3, #0 80c5734: e018 b.n 80c5768 if (ld_dword(fs->win + BS_FilSysType32) == 0x33544146) return 0; /* Check "FAT3" string */ 80c5736: 687b ldr r3, [r7, #4] 80c5738: 3338 adds r3, #56 ; 0x38 80c573a: 3352 adds r3, #82 ; 0x52 80c573c: 4618 mov r0, r3 80c573e: f7fd f915 bl 80c296c 80c5742: 4602 mov r2, r0 80c5744: 4b0b ldr r3, [pc, #44] ; (80c5774 ) 80c5746: 429a cmp r2, r3 80c5748: d101 bne.n 80c574e 80c574a: 2300 movs r3, #0 80c574c: e00c b.n 80c5768 } #if _FS_EXFAT if (!mem_cmp(fs->win + BS_JmpBoot, "\xEB\x76\x90" "EXFAT ", 11)) return 1; 80c574e: 687b ldr r3, [r7, #4] 80c5750: 3338 adds r3, #56 ; 0x38 80c5752: 220b movs r2, #11 80c5754: 4908 ldr r1, [pc, #32] ; (80c5778 ) 80c5756: 4618 mov r0, r3 80c5758: f7fd faed bl 80c2d36 80c575c: 4603 mov r3, r0 80c575e: 2b00 cmp r3, #0 80c5760: d101 bne.n 80c5766 80c5762: 2301 movs r3, #1 80c5764: e000 b.n 80c5768 #endif return 2; 80c5766: 2302 movs r3, #2 } 80c5768: 4618 mov r0, r3 80c576a: 3708 adds r7, #8 80c576c: 46bd mov sp, r7 80c576e: bd80 pop {r7, pc} 80c5770: 00544146 .word 0x00544146 80c5774: 33544146 .word 0x33544146 80c5778: 080d0bb4 .word 0x080d0bb4 080c577c : FRESULT find_volume ( /* FR_OK(0): successful, !=0: any error occurred */ const TCHAR** path, /* Pointer to pointer to the path name (drive number) */ FATFS** rfs, /* Pointer to pointer to the found file system object */ BYTE mode /* !=0: Check write protection for write access */ ) { 80c577c: b590 push {r4, r7, lr} 80c577e: b099 sub sp, #100 ; 0x64 80c5780: af00 add r7, sp, #0 80c5782: 60f8 str r0, [r7, #12] 80c5784: 60b9 str r1, [r7, #8] 80c5786: 4613 mov r3, r2 80c5788: 71fb strb r3, [r7, #7] FATFS *fs; UINT i; /* Get logical drive number */ *rfs = 0; 80c578a: 68bb ldr r3, [r7, #8] 80c578c: 2200 movs r2, #0 80c578e: 601a str r2, [r3, #0] vol = get_ldnumber(path); 80c5790: 68f8 ldr r0, [r7, #12] 80c5792: f7ff ff4b bl 80c562c 80c5796: 6478 str r0, [r7, #68] ; 0x44 if (vol < 0) return FR_INVALID_DRIVE; 80c5798: 6c7b ldr r3, [r7, #68] ; 0x44 80c579a: 2b00 cmp r3, #0 80c579c: da01 bge.n 80c57a2 80c579e: 230b movs r3, #11 80c57a0: e327 b.n 80c5df2 /* Check if the file system object is valid or not */ fs = FatFs[vol]; /* Get pointer to the file system object */ 80c57a2: 4ab0 ldr r2, [pc, #704] ; (80c5a64 ) 80c57a4: 6c7b ldr r3, [r7, #68] ; 0x44 80c57a6: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80c57aa: 643b str r3, [r7, #64] ; 0x40 if (!fs) return FR_NOT_ENABLED; /* Is the file system object available? */ 80c57ac: 6c3b ldr r3, [r7, #64] ; 0x40 80c57ae: 2b00 cmp r3, #0 80c57b0: d101 bne.n 80c57b6 80c57b2: 230c movs r3, #12 80c57b4: e31d b.n 80c5df2 ENTER_FF(fs); /* Lock the volume */ *rfs = fs; /* Return pointer to the file system object */ 80c57b6: 68bb ldr r3, [r7, #8] 80c57b8: 6c3a ldr r2, [r7, #64] ; 0x40 80c57ba: 601a str r2, [r3, #0] mode &= (BYTE)~FA_READ; /* Desired access mode, write access or not */ 80c57bc: 79fb ldrb r3, [r7, #7] 80c57be: f023 0301 bic.w r3, r3, #1 80c57c2: 71fb strb r3, [r7, #7] if (fs->fs_type) { /* If the volume has been mounted */ 80c57c4: 6c3b ldr r3, [r7, #64] ; 0x40 80c57c6: 781b ldrb r3, [r3, #0] 80c57c8: 2b00 cmp r3, #0 80c57ca: d01a beq.n 80c5802 stat = disk_status(fs->drv); 80c57cc: 6c3b ldr r3, [r7, #64] ; 0x40 80c57ce: 785b ldrb r3, [r3, #1] 80c57d0: 4618 mov r0, r3 80c57d2: f7fd f815 bl 80c2800 80c57d6: 4603 mov r3, r0 80c57d8: f887 303f strb.w r3, [r7, #63] ; 0x3f if (!(stat & STA_NOINIT)) { /* and the physical drive is kept initialized */ 80c57dc: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c57e0: f003 0301 and.w r3, r3, #1 80c57e4: 2b00 cmp r3, #0 80c57e6: d10c bne.n 80c5802 if (!_FS_READONLY && mode && (stat & STA_PROTECT)) { /* Check write protection if needed */ 80c57e8: 79fb ldrb r3, [r7, #7] 80c57ea: 2b00 cmp r3, #0 80c57ec: d007 beq.n 80c57fe 80c57ee: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c57f2: f003 0304 and.w r3, r3, #4 80c57f6: 2b00 cmp r3, #0 80c57f8: d001 beq.n 80c57fe return FR_WRITE_PROTECTED; 80c57fa: 230a movs r3, #10 80c57fc: e2f9 b.n 80c5df2 } return FR_OK; /* The file system object is valid */ 80c57fe: 2300 movs r3, #0 80c5800: e2f7 b.n 80c5df2 } /* The file system object is not valid. */ /* Following code attempts to mount the volume. (analyze BPB and initialize the fs object) */ fs->fs_type = 0; /* Clear the file system object */ 80c5802: 6c3b ldr r3, [r7, #64] ; 0x40 80c5804: 2200 movs r2, #0 80c5806: 701a strb r2, [r3, #0] fs->drv = LD2PD(vol); /* Bind the logical drive and a physical drive */ 80c5808: 6c7b ldr r3, [r7, #68] ; 0x44 80c580a: b2da uxtb r2, r3 80c580c: 6c3b ldr r3, [r7, #64] ; 0x40 80c580e: 705a strb r2, [r3, #1] stat = disk_initialize(fs->drv); /* Initialize the physical drive */ 80c5810: 6c3b ldr r3, [r7, #64] ; 0x40 80c5812: 785b ldrb r3, [r3, #1] 80c5814: 4618 mov r0, r3 80c5816: f7fd f80d bl 80c2834 80c581a: 4603 mov r3, r0 80c581c: f887 303f strb.w r3, [r7, #63] ; 0x3f if (stat & STA_NOINIT) { /* Check if the initialization succeeded */ 80c5820: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c5824: f003 0301 and.w r3, r3, #1 80c5828: 2b00 cmp r3, #0 80c582a: d001 beq.n 80c5830 return FR_NOT_READY; /* Failed to initialize due to no medium or hard error */ 80c582c: 2303 movs r3, #3 80c582e: e2e0 b.n 80c5df2 } if (!_FS_READONLY && mode && (stat & STA_PROTECT)) { /* Check disk write protection if needed */ 80c5830: 79fb ldrb r3, [r7, #7] 80c5832: 2b00 cmp r3, #0 80c5834: d007 beq.n 80c5846 80c5836: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c583a: f003 0304 and.w r3, r3, #4 80c583e: 2b00 cmp r3, #0 80c5840: d001 beq.n 80c5846 return FR_WRITE_PROTECTED; 80c5842: 230a movs r3, #10 80c5844: e2d5 b.n 80c5df2 if (disk_ioctl(fs->drv, GET_SECTOR_SIZE, &SS(fs)) != RES_OK) return FR_DISK_ERR; if (SS(fs) > _MAX_SS || SS(fs) < _MIN_SS || (SS(fs) & (SS(fs) - 1))) return FR_DISK_ERR; #endif /* Find an FAT partition on the drive. Supports only generic partitioning rules, FDISK and SFD. */ bsect = 0; 80c5846: 2300 movs r3, #0 80c5848: 65bb str r3, [r7, #88] ; 0x58 fmt = check_fs(fs, bsect); /* Load sector 0 and check if it is an FAT-VBR as SFD */ 80c584a: 6db9 ldr r1, [r7, #88] ; 0x58 80c584c: 6c38 ldr r0, [r7, #64] ; 0x40 80c584e: f7ff ff31 bl 80c56b4 80c5852: 4603 mov r3, r0 80c5854: f887 305f strb.w r3, [r7, #95] ; 0x5f if (fmt == 2 || (fmt < 2 && LD2PT(vol) != 0)) { /* Not an FAT-VBR or forced partition number */ 80c5858: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c585c: 2b02 cmp r3, #2 80c585e: d14b bne.n 80c58f8 for (i = 0; i < 4; i++) { /* Get partition offset */ 80c5860: 2300 movs r3, #0 80c5862: 64bb str r3, [r7, #72] ; 0x48 80c5864: e01f b.n 80c58a6 pt = fs->win + (MBR_Table + i * SZ_PTE); 80c5866: 6c3b ldr r3, [r7, #64] ; 0x40 80c5868: f103 0238 add.w r2, r3, #56 ; 0x38 80c586c: 6cbb ldr r3, [r7, #72] ; 0x48 80c586e: 011b lsls r3, r3, #4 80c5870: f503 73df add.w r3, r3, #446 ; 0x1be 80c5874: 4413 add r3, r2 80c5876: 63bb str r3, [r7, #56] ; 0x38 br[i] = pt[PTE_System] ? ld_dword(pt + PTE_StLba) : 0; 80c5878: 6bbb ldr r3, [r7, #56] ; 0x38 80c587a: 3304 adds r3, #4 80c587c: 781b ldrb r3, [r3, #0] 80c587e: 2b00 cmp r3, #0 80c5880: d006 beq.n 80c5890 80c5882: 6bbb ldr r3, [r7, #56] ; 0x38 80c5884: 3308 adds r3, #8 80c5886: 4618 mov r0, r3 80c5888: f7fd f870 bl 80c296c 80c588c: 4602 mov r2, r0 80c588e: e000 b.n 80c5892 80c5890: 2200 movs r2, #0 80c5892: 6cbb ldr r3, [r7, #72] ; 0x48 80c5894: 009b lsls r3, r3, #2 80c5896: f107 0160 add.w r1, r7, #96 ; 0x60 80c589a: 440b add r3, r1 80c589c: f843 2c4c str.w r2, [r3, #-76] for (i = 0; i < 4; i++) { /* Get partition offset */ 80c58a0: 6cbb ldr r3, [r7, #72] ; 0x48 80c58a2: 3301 adds r3, #1 80c58a4: 64bb str r3, [r7, #72] ; 0x48 80c58a6: 6cbb ldr r3, [r7, #72] ; 0x48 80c58a8: 2b03 cmp r3, #3 80c58aa: d9dc bls.n 80c5866 } i = LD2PT(vol); /* Partition number: 0:auto, 1-4:forced */ 80c58ac: 2300 movs r3, #0 80c58ae: 64bb str r3, [r7, #72] ; 0x48 if (i) i--; 80c58b0: 6cbb ldr r3, [r7, #72] ; 0x48 80c58b2: 2b00 cmp r3, #0 80c58b4: d002 beq.n 80c58bc 80c58b6: 6cbb ldr r3, [r7, #72] ; 0x48 80c58b8: 3b01 subs r3, #1 80c58ba: 64bb str r3, [r7, #72] ; 0x48 do { /* Find an FAT volume */ bsect = br[i]; 80c58bc: 6cbb ldr r3, [r7, #72] ; 0x48 80c58be: 009b lsls r3, r3, #2 80c58c0: f107 0260 add.w r2, r7, #96 ; 0x60 80c58c4: 4413 add r3, r2 80c58c6: f853 3c4c ldr.w r3, [r3, #-76] 80c58ca: 65bb str r3, [r7, #88] ; 0x58 fmt = bsect ? check_fs(fs, bsect) : 3; /* Check the partition */ 80c58cc: 6dbb ldr r3, [r7, #88] ; 0x58 80c58ce: 2b00 cmp r3, #0 80c58d0: d005 beq.n 80c58de 80c58d2: 6db9 ldr r1, [r7, #88] ; 0x58 80c58d4: 6c38 ldr r0, [r7, #64] ; 0x40 80c58d6: f7ff feed bl 80c56b4 80c58da: 4603 mov r3, r0 80c58dc: e000 b.n 80c58e0 80c58de: 2303 movs r3, #3 80c58e0: f887 305f strb.w r3, [r7, #95] ; 0x5f } while (LD2PT(vol) == 0 && fmt >= 2 && ++i < 4); 80c58e4: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c58e8: 2b01 cmp r3, #1 80c58ea: d905 bls.n 80c58f8 80c58ec: 6cbb ldr r3, [r7, #72] ; 0x48 80c58ee: 3301 adds r3, #1 80c58f0: 64bb str r3, [r7, #72] ; 0x48 80c58f2: 6cbb ldr r3, [r7, #72] ; 0x48 80c58f4: 2b03 cmp r3, #3 80c58f6: d9e1 bls.n 80c58bc } if (fmt == 4) return FR_DISK_ERR; /* An error occured in the disk I/O layer */ 80c58f8: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c58fc: 2b04 cmp r3, #4 80c58fe: d101 bne.n 80c5904 80c5900: 2301 movs r3, #1 80c5902: e276 b.n 80c5df2 if (fmt >= 2) return FR_NO_FILESYSTEM; /* No FAT volume is found */ 80c5904: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c5908: 2b01 cmp r3, #1 80c590a: d901 bls.n 80c5910 80c590c: 230d movs r3, #13 80c590e: e270 b.n 80c5df2 /* An FAT volume is found (bsect). Following code initializes the file system object */ #if _FS_EXFAT if (fmt == 1) { 80c5910: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c5914: 2b01 cmp r3, #1 80c5916: f040 80f3 bne.w 80c5b00 QWORD maxlba; for (i = BPB_ZeroedEx; i < BPB_ZeroedEx + 53 && fs->win[i] == 0; i++) ; /* Check zero filler */ 80c591a: 230b movs r3, #11 80c591c: 64bb str r3, [r7, #72] ; 0x48 80c591e: e002 b.n 80c5926 80c5920: 6cbb ldr r3, [r7, #72] ; 0x48 80c5922: 3301 adds r3, #1 80c5924: 64bb str r3, [r7, #72] ; 0x48 80c5926: 6cbb ldr r3, [r7, #72] ; 0x48 80c5928: 2b3f cmp r3, #63 ; 0x3f 80c592a: d806 bhi.n 80c593a 80c592c: 6c3a ldr r2, [r7, #64] ; 0x40 80c592e: 6cbb ldr r3, [r7, #72] ; 0x48 80c5930: 4413 add r3, r2 80c5932: 3338 adds r3, #56 ; 0x38 80c5934: 781b ldrb r3, [r3, #0] 80c5936: 2b00 cmp r3, #0 80c5938: d0f2 beq.n 80c5920 if (i < BPB_ZeroedEx + 53) return FR_NO_FILESYSTEM; 80c593a: 6cbb ldr r3, [r7, #72] ; 0x48 80c593c: 2b3f cmp r3, #63 ; 0x3f 80c593e: d801 bhi.n 80c5944 80c5940: 230d movs r3, #13 80c5942: e256 b.n 80c5df2 if (ld_word(fs->win + BPB_FSVerEx) != 0x100) return FR_NO_FILESYSTEM; /* Check exFAT revision (Must be 1.0) */ 80c5944: 6c3b ldr r3, [r7, #64] ; 0x40 80c5946: 3338 adds r3, #56 ; 0x38 80c5948: 3368 adds r3, #104 ; 0x68 80c594a: 4618 mov r0, r3 80c594c: f7fc fff6 bl 80c293c 80c5950: 4603 mov r3, r0 80c5952: f5b3 7f80 cmp.w r3, #256 ; 0x100 80c5956: d001 beq.n 80c595c 80c5958: 230d movs r3, #13 80c595a: e24a b.n 80c5df2 if (1 << fs->win[BPB_BytsPerSecEx] != SS(fs)) { /* (BPB_BytsPerSecEx must be equal to the physical sector size) */ 80c595c: 6c3b ldr r3, [r7, #64] ; 0x40 80c595e: f893 30a4 ldrb.w r3, [r3, #164] ; 0xa4 80c5962: 2b09 cmp r3, #9 80c5964: d001 beq.n 80c596a return FR_NO_FILESYSTEM; 80c5966: 230d movs r3, #13 80c5968: e243 b.n 80c5df2 } maxlba = ld_qword(fs->win + BPB_TotSecEx) + bsect; /* Last LBA + 1 of the volume */ 80c596a: 6c3b ldr r3, [r7, #64] ; 0x40 80c596c: 3338 adds r3, #56 ; 0x38 80c596e: 3348 adds r3, #72 ; 0x48 80c5970: 4618 mov r0, r3 80c5972: f7fd f81e bl 80c29b2 80c5976: 460a mov r2, r1 80c5978: 4601 mov r1, r0 80c597a: 6dbb ldr r3, [r7, #88] ; 0x58 80c597c: f04f 0400 mov.w r4, #0 80c5980: 185b adds r3, r3, r1 80c5982: eb44 0402 adc.w r4, r4, r2 80c5986: e9c7 340c strd r3, r4, [r7, #48] ; 0x30 if (maxlba >= 0x100000000) return FR_NO_FILESYSTEM; /* (It cannot be handled in 32-bit LBA) */ 80c598a: e9d7 340c ldrd r3, r4, [r7, #48] ; 0x30 80c598e: 2c01 cmp r4, #1 80c5990: bf08 it eq 80c5992: 2b00 cmpeq r3, #0 80c5994: d301 bcc.n 80c599a 80c5996: 230d movs r3, #13 80c5998: e22b b.n 80c5df2 fs->fsize = ld_dword(fs->win + BPB_FatSzEx); /* Number of sectors per FAT */ 80c599a: 6c3b ldr r3, [r7, #64] ; 0x40 80c599c: 3338 adds r3, #56 ; 0x38 80c599e: 3354 adds r3, #84 ; 0x54 80c59a0: 4618 mov r0, r3 80c59a2: f7fc ffe3 bl 80c296c 80c59a6: 4602 mov r2, r0 80c59a8: 6c3b ldr r3, [r7, #64] ; 0x40 80c59aa: 621a str r2, [r3, #32] fs->n_fats = fs->win[BPB_NumFATsEx]; /* Number of FATs */ 80c59ac: 6c3b ldr r3, [r7, #64] ; 0x40 80c59ae: f893 20a6 ldrb.w r2, [r3, #166] ; 0xa6 80c59b2: 6c3b ldr r3, [r7, #64] ; 0x40 80c59b4: 709a strb r2, [r3, #2] if (fs->n_fats != 1) return FR_NO_FILESYSTEM; /* (Supports only 1 FAT) */ 80c59b6: 6c3b ldr r3, [r7, #64] ; 0x40 80c59b8: 789b ldrb r3, [r3, #2] 80c59ba: 2b01 cmp r3, #1 80c59bc: d001 beq.n 80c59c2 80c59be: 230d movs r3, #13 80c59c0: e217 b.n 80c5df2 fs->csize = 1 << fs->win[BPB_SecPerClusEx]; /* Cluster size */ 80c59c2: 6c3b ldr r3, [r7, #64] ; 0x40 80c59c4: f893 30a5 ldrb.w r3, [r3, #165] ; 0xa5 80c59c8: 461a mov r2, r3 80c59ca: 2301 movs r3, #1 80c59cc: 4093 lsls r3, r2 80c59ce: b29a uxth r2, r3 80c59d0: 6c3b ldr r3, [r7, #64] ; 0x40 80c59d2: 815a strh r2, [r3, #10] if (fs->csize == 0) return FR_NO_FILESYSTEM; /* (Must be 1..32768) */ 80c59d4: 6c3b ldr r3, [r7, #64] ; 0x40 80c59d6: 895b ldrh r3, [r3, #10] 80c59d8: 2b00 cmp r3, #0 80c59da: d101 bne.n 80c59e0 80c59dc: 230d movs r3, #13 80c59de: e208 b.n 80c5df2 nclst = ld_dword(fs->win + BPB_NumClusEx); /* Number of clusters */ 80c59e0: 6c3b ldr r3, [r7, #64] ; 0x40 80c59e2: 3338 adds r3, #56 ; 0x38 80c59e4: 335c adds r3, #92 ; 0x5c 80c59e6: 4618 mov r0, r3 80c59e8: f7fc ffc0 bl 80c296c 80c59ec: 62f8 str r0, [r7, #44] ; 0x2c if (nclst > MAX_EXFAT) return FR_NO_FILESYSTEM; /* (Too many clusters) */ 80c59ee: 6afb ldr r3, [r7, #44] ; 0x2c 80c59f0: 4a1d ldr r2, [pc, #116] ; (80c5a68 ) 80c59f2: 4293 cmp r3, r2 80c59f4: d901 bls.n 80c59fa 80c59f6: 230d movs r3, #13 80c59f8: e1fb b.n 80c5df2 fs->n_fatent = nclst + 2; 80c59fa: 6afb ldr r3, [r7, #44] ; 0x2c 80c59fc: 1c9a adds r2, r3, #2 80c59fe: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a00: 61da str r2, [r3, #28] /* Boundaries and Limits */ fs->volbase = bsect; 80c5a02: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a04: 6dba ldr r2, [r7, #88] ; 0x58 80c5a06: 625a str r2, [r3, #36] ; 0x24 fs->database = bsect + ld_dword(fs->win + BPB_DataOfsEx); 80c5a08: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a0a: 3338 adds r3, #56 ; 0x38 80c5a0c: 3358 adds r3, #88 ; 0x58 80c5a0e: 4618 mov r0, r3 80c5a10: f7fc ffac bl 80c296c 80c5a14: 4602 mov r2, r0 80c5a16: 6dbb ldr r3, [r7, #88] ; 0x58 80c5a18: 441a add r2, r3 80c5a1a: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a1c: 631a str r2, [r3, #48] ; 0x30 fs->fatbase = bsect + ld_dword(fs->win + BPB_FatOfsEx); 80c5a1e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a20: 3338 adds r3, #56 ; 0x38 80c5a22: 3350 adds r3, #80 ; 0x50 80c5a24: 4618 mov r0, r3 80c5a26: f7fc ffa1 bl 80c296c 80c5a2a: 4602 mov r2, r0 80c5a2c: 6dbb ldr r3, [r7, #88] ; 0x58 80c5a2e: 441a add r2, r3 80c5a30: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a32: 629a str r2, [r3, #40] ; 0x28 if (maxlba < (QWORD)fs->database + nclst * fs->csize) return FR_NO_FILESYSTEM; /* (Volume size must not be smaller than the size requiered) */ 80c5a34: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a36: 6b1b ldr r3, [r3, #48] ; 0x30 80c5a38: 4619 mov r1, r3 80c5a3a: f04f 0200 mov.w r2, #0 80c5a3e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a40: 895b ldrh r3, [r3, #10] 80c5a42: 4618 mov r0, r3 80c5a44: 6afb ldr r3, [r7, #44] ; 0x2c 80c5a46: fb03 f300 mul.w r3, r3, r0 80c5a4a: f04f 0400 mov.w r4, #0 80c5a4e: 185b adds r3, r3, r1 80c5a50: eb44 0402 adc.w r4, r4, r2 80c5a54: e9d7 120c ldrd r1, r2, [r7, #48] ; 0x30 80c5a58: 42a2 cmp r2, r4 80c5a5a: bf08 it eq 80c5a5c: 4299 cmpeq r1, r3 80c5a5e: d205 bcs.n 80c5a6c 80c5a60: 230d movs r3, #13 80c5a62: e1c6 b.n 80c5df2 80c5a64: 200216ac .word 0x200216ac 80c5a68: 7ffffffd .word 0x7ffffffd fs->dirbase = ld_dword(fs->win + BPB_RootClusEx); 80c5a6c: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a6e: 3338 adds r3, #56 ; 0x38 80c5a70: 3360 adds r3, #96 ; 0x60 80c5a72: 4618 mov r0, r3 80c5a74: f7fc ff7a bl 80c296c 80c5a78: 4602 mov r2, r0 80c5a7a: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a7c: 62da str r2, [r3, #44] ; 0x2c /* Check if bitmap location is in assumption (at the first cluster) */ if (move_window(fs, clust2sect(fs, fs->dirbase)) != FR_OK) return FR_DISK_ERR; 80c5a7e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5a80: 6adb ldr r3, [r3, #44] ; 0x2c 80c5a82: 4619 mov r1, r3 80c5a84: 6c38 ldr r0, [r7, #64] ; 0x40 80c5a86: f7fd fa77 bl 80c2f78 80c5a8a: 4603 mov r3, r0 80c5a8c: 4619 mov r1, r3 80c5a8e: 6c38 ldr r0, [r7, #64] ; 0x40 80c5a90: f7fd f9d7 bl 80c2e42 80c5a94: 4603 mov r3, r0 80c5a96: 2b00 cmp r3, #0 80c5a98: d001 beq.n 80c5a9e 80c5a9a: 2301 movs r3, #1 80c5a9c: e1a9 b.n 80c5df2 for (i = 0; i < SS(fs); i += SZDIRE) { 80c5a9e: 2300 movs r3, #0 80c5aa0: 64bb str r3, [r7, #72] ; 0x48 80c5aa2: e015 b.n 80c5ad0 if (fs->win[i] == 0x81 && ld_dword(fs->win + i + 20) == 2) break; /* 81 entry with cluster #2? */ 80c5aa4: 6c3a ldr r2, [r7, #64] ; 0x40 80c5aa6: 6cbb ldr r3, [r7, #72] ; 0x48 80c5aa8: 4413 add r3, r2 80c5aaa: 3338 adds r3, #56 ; 0x38 80c5aac: 781b ldrb r3, [r3, #0] 80c5aae: 2b81 cmp r3, #129 ; 0x81 80c5ab0: d10b bne.n 80c5aca 80c5ab2: 6c3b ldr r3, [r7, #64] ; 0x40 80c5ab4: f103 0238 add.w r2, r3, #56 ; 0x38 80c5ab8: 6cbb ldr r3, [r7, #72] ; 0x48 80c5aba: 3314 adds r3, #20 80c5abc: 4413 add r3, r2 80c5abe: 4618 mov r0, r3 80c5ac0: f7fc ff54 bl 80c296c 80c5ac4: 4603 mov r3, r0 80c5ac6: 2b02 cmp r3, #2 80c5ac8: d007 beq.n 80c5ada for (i = 0; i < SS(fs); i += SZDIRE) { 80c5aca: 6cbb ldr r3, [r7, #72] ; 0x48 80c5acc: 3320 adds r3, #32 80c5ace: 64bb str r3, [r7, #72] ; 0x48 80c5ad0: 6cbb ldr r3, [r7, #72] ; 0x48 80c5ad2: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c5ad6: d3e5 bcc.n 80c5aa4 80c5ad8: e000 b.n 80c5adc if (fs->win[i] == 0x81 && ld_dword(fs->win + i + 20) == 2) break; /* 81 entry with cluster #2? */ 80c5ada: bf00 nop } if (i == SS(fs)) return FR_NO_FILESYSTEM; 80c5adc: 6cbb ldr r3, [r7, #72] ; 0x48 80c5ade: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c5ae2: d101 bne.n 80c5ae8 80c5ae4: 230d movs r3, #13 80c5ae6: e184 b.n 80c5df2 #if !_FS_READONLY fs->last_clst = fs->free_clst = 0xFFFFFFFF; /* Initialize cluster allocation information */ 80c5ae8: 6c3b ldr r3, [r7, #64] ; 0x40 80c5aea: f04f 32ff mov.w r2, #4294967295 80c5aee: 619a str r2, [r3, #24] 80c5af0: 6c3b ldr r3, [r7, #64] ; 0x40 80c5af2: 699a ldr r2, [r3, #24] 80c5af4: 6c3b ldr r3, [r7, #64] ; 0x40 80c5af6: 615a str r2, [r3, #20] #endif fmt = FS_EXFAT; /* FAT sub-type */ 80c5af8: 2304 movs r3, #4 80c5afa: f887 305f strb.w r3, [r7, #95] ; 0x5f 80c5afe: e163 b.n 80c5dc8 } else #endif /* _FS_EXFAT */ { if (ld_word(fs->win + BPB_BytsPerSec) != SS(fs)) return FR_NO_FILESYSTEM; /* (BPB_BytsPerSec must be equal to the physical sector size) */ 80c5b00: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b02: 3338 adds r3, #56 ; 0x38 80c5b04: 330b adds r3, #11 80c5b06: 4618 mov r0, r3 80c5b08: f7fc ff18 bl 80c293c 80c5b0c: 4603 mov r3, r0 80c5b0e: f5b3 7f00 cmp.w r3, #512 ; 0x200 80c5b12: d001 beq.n 80c5b18 80c5b14: 230d movs r3, #13 80c5b16: e16c b.n 80c5df2 fasize = ld_word(fs->win + BPB_FATSz16); /* Number of sectors per FAT */ 80c5b18: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b1a: 3338 adds r3, #56 ; 0x38 80c5b1c: 3316 adds r3, #22 80c5b1e: 4618 mov r0, r3 80c5b20: f7fc ff0c bl 80c293c 80c5b24: 4603 mov r3, r0 80c5b26: 657b str r3, [r7, #84] ; 0x54 if (fasize == 0) fasize = ld_dword(fs->win + BPB_FATSz32); 80c5b28: 6d7b ldr r3, [r7, #84] ; 0x54 80c5b2a: 2b00 cmp r3, #0 80c5b2c: d106 bne.n 80c5b3c 80c5b2e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b30: 3338 adds r3, #56 ; 0x38 80c5b32: 3324 adds r3, #36 ; 0x24 80c5b34: 4618 mov r0, r3 80c5b36: f7fc ff19 bl 80c296c 80c5b3a: 6578 str r0, [r7, #84] ; 0x54 fs->fsize = fasize; 80c5b3c: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b3e: 6d7a ldr r2, [r7, #84] ; 0x54 80c5b40: 621a str r2, [r3, #32] fs->n_fats = fs->win[BPB_NumFATs]; /* Number of FATs */ 80c5b42: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b44: f893 2048 ldrb.w r2, [r3, #72] ; 0x48 80c5b48: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b4a: 709a strb r2, [r3, #2] if (fs->n_fats != 1 && fs->n_fats != 2) return FR_NO_FILESYSTEM; /* (Must be 1 or 2) */ 80c5b4c: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b4e: 789b ldrb r3, [r3, #2] 80c5b50: 2b01 cmp r3, #1 80c5b52: d005 beq.n 80c5b60 80c5b54: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b56: 789b ldrb r3, [r3, #2] 80c5b58: 2b02 cmp r3, #2 80c5b5a: d001 beq.n 80c5b60 80c5b5c: 230d movs r3, #13 80c5b5e: e148 b.n 80c5df2 fasize *= fs->n_fats; /* Number of sectors for FAT area */ 80c5b60: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b62: 789b ldrb r3, [r3, #2] 80c5b64: 461a mov r2, r3 80c5b66: 6d7b ldr r3, [r7, #84] ; 0x54 80c5b68: fb02 f303 mul.w r3, r2, r3 80c5b6c: 657b str r3, [r7, #84] ; 0x54 fs->csize = fs->win[BPB_SecPerClus]; /* Cluster size */ 80c5b6e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b70: f893 3045 ldrb.w r3, [r3, #69] ; 0x45 80c5b74: b29a uxth r2, r3 80c5b76: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b78: 815a strh r2, [r3, #10] if (fs->csize == 0 || (fs->csize & (fs->csize - 1))) return FR_NO_FILESYSTEM; /* (Must be power of 2) */ 80c5b7a: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b7c: 895b ldrh r3, [r3, #10] 80c5b7e: 2b00 cmp r3, #0 80c5b80: d008 beq.n 80c5b94 80c5b82: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b84: 895b ldrh r3, [r3, #10] 80c5b86: 461a mov r2, r3 80c5b88: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b8a: 895b ldrh r3, [r3, #10] 80c5b8c: 3b01 subs r3, #1 80c5b8e: 4013 ands r3, r2 80c5b90: 2b00 cmp r3, #0 80c5b92: d001 beq.n 80c5b98 80c5b94: 230d movs r3, #13 80c5b96: e12c b.n 80c5df2 fs->n_rootdir = ld_word(fs->win + BPB_RootEntCnt); /* Number of root directory entries */ 80c5b98: 6c3b ldr r3, [r7, #64] ; 0x40 80c5b9a: 3338 adds r3, #56 ; 0x38 80c5b9c: 3311 adds r3, #17 80c5b9e: 4618 mov r0, r3 80c5ba0: f7fc fecc bl 80c293c 80c5ba4: 4603 mov r3, r0 80c5ba6: 461a mov r2, r3 80c5ba8: 6c3b ldr r3, [r7, #64] ; 0x40 80c5baa: 811a strh r2, [r3, #8] if (fs->n_rootdir % (SS(fs) / SZDIRE)) return FR_NO_FILESYSTEM; /* (Must be sector aligned) */ 80c5bac: 6c3b ldr r3, [r7, #64] ; 0x40 80c5bae: 891b ldrh r3, [r3, #8] 80c5bb0: f003 030f and.w r3, r3, #15 80c5bb4: b29b uxth r3, r3 80c5bb6: 2b00 cmp r3, #0 80c5bb8: d001 beq.n 80c5bbe 80c5bba: 230d movs r3, #13 80c5bbc: e119 b.n 80c5df2 tsect = ld_word(fs->win + BPB_TotSec16); /* Number of sectors on the volume */ 80c5bbe: 6c3b ldr r3, [r7, #64] ; 0x40 80c5bc0: 3338 adds r3, #56 ; 0x38 80c5bc2: 3313 adds r3, #19 80c5bc4: 4618 mov r0, r3 80c5bc6: f7fc feb9 bl 80c293c 80c5bca: 4603 mov r3, r0 80c5bcc: 653b str r3, [r7, #80] ; 0x50 if (tsect == 0) tsect = ld_dword(fs->win + BPB_TotSec32); 80c5bce: 6d3b ldr r3, [r7, #80] ; 0x50 80c5bd0: 2b00 cmp r3, #0 80c5bd2: d106 bne.n 80c5be2 80c5bd4: 6c3b ldr r3, [r7, #64] ; 0x40 80c5bd6: 3338 adds r3, #56 ; 0x38 80c5bd8: 3320 adds r3, #32 80c5bda: 4618 mov r0, r3 80c5bdc: f7fc fec6 bl 80c296c 80c5be0: 6538 str r0, [r7, #80] ; 0x50 nrsv = ld_word(fs->win + BPB_RsvdSecCnt); /* Number of reserved sectors */ 80c5be2: 6c3b ldr r3, [r7, #64] ; 0x40 80c5be4: 3338 adds r3, #56 ; 0x38 80c5be6: 330e adds r3, #14 80c5be8: 4618 mov r0, r3 80c5bea: f7fc fea7 bl 80c293c 80c5bee: 4603 mov r3, r0 80c5bf0: 857b strh r3, [r7, #42] ; 0x2a if (nrsv == 0) return FR_NO_FILESYSTEM; /* (Must not be 0) */ 80c5bf2: 8d7b ldrh r3, [r7, #42] ; 0x2a 80c5bf4: 2b00 cmp r3, #0 80c5bf6: d101 bne.n 80c5bfc 80c5bf8: 230d movs r3, #13 80c5bfa: e0fa b.n 80c5df2 /* Determine the FAT sub type */ sysect = nrsv + fasize + fs->n_rootdir / (SS(fs) / SZDIRE); /* RSV + FAT + DIR */ 80c5bfc: 8d7a ldrh r2, [r7, #42] ; 0x2a 80c5bfe: 6d7b ldr r3, [r7, #84] ; 0x54 80c5c00: 4413 add r3, r2 80c5c02: 6c3a ldr r2, [r7, #64] ; 0x40 80c5c04: 8912 ldrh r2, [r2, #8] 80c5c06: 0912 lsrs r2, r2, #4 80c5c08: b292 uxth r2, r2 80c5c0a: 4413 add r3, r2 80c5c0c: 627b str r3, [r7, #36] ; 0x24 if (tsect < sysect) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ 80c5c0e: 6d3a ldr r2, [r7, #80] ; 0x50 80c5c10: 6a7b ldr r3, [r7, #36] ; 0x24 80c5c12: 429a cmp r2, r3 80c5c14: d201 bcs.n 80c5c1a 80c5c16: 230d movs r3, #13 80c5c18: e0eb b.n 80c5df2 nclst = (tsect - sysect) / fs->csize; /* Number of clusters */ 80c5c1a: 6d3a ldr r2, [r7, #80] ; 0x50 80c5c1c: 6a7b ldr r3, [r7, #36] ; 0x24 80c5c1e: 1ad3 subs r3, r2, r3 80c5c20: 6c3a ldr r2, [r7, #64] ; 0x40 80c5c22: 8952 ldrh r2, [r2, #10] 80c5c24: fbb3 f3f2 udiv r3, r3, r2 80c5c28: 62fb str r3, [r7, #44] ; 0x2c if (nclst == 0) return FR_NO_FILESYSTEM; /* (Invalid volume size) */ 80c5c2a: 6afb ldr r3, [r7, #44] ; 0x2c 80c5c2c: 2b00 cmp r3, #0 80c5c2e: d101 bne.n 80c5c34 80c5c30: 230d movs r3, #13 80c5c32: e0de b.n 80c5df2 fmt = FS_FAT32; 80c5c34: 2303 movs r3, #3 80c5c36: f887 305f strb.w r3, [r7, #95] ; 0x5f if (nclst <= MAX_FAT16) fmt = FS_FAT16; 80c5c3a: 6afb ldr r3, [r7, #44] ; 0x2c 80c5c3c: f64f 72f5 movw r2, #65525 ; 0xfff5 80c5c40: 4293 cmp r3, r2 80c5c42: d802 bhi.n 80c5c4a 80c5c44: 2302 movs r3, #2 80c5c46: f887 305f strb.w r3, [r7, #95] ; 0x5f if (nclst <= MAX_FAT12) fmt = FS_FAT12; 80c5c4a: 6afb ldr r3, [r7, #44] ; 0x2c 80c5c4c: f640 72f5 movw r2, #4085 ; 0xff5 80c5c50: 4293 cmp r3, r2 80c5c52: d802 bhi.n 80c5c5a 80c5c54: 2301 movs r3, #1 80c5c56: f887 305f strb.w r3, [r7, #95] ; 0x5f /* Boundaries and Limits */ fs->n_fatent = nclst + 2; /* Number of FAT entries */ 80c5c5a: 6afb ldr r3, [r7, #44] ; 0x2c 80c5c5c: 1c9a adds r2, r3, #2 80c5c5e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c60: 61da str r2, [r3, #28] fs->volbase = bsect; /* Volume start sector */ 80c5c62: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c64: 6dba ldr r2, [r7, #88] ; 0x58 80c5c66: 625a str r2, [r3, #36] ; 0x24 fs->fatbase = bsect + nrsv; /* FAT start sector */ 80c5c68: 8d7a ldrh r2, [r7, #42] ; 0x2a 80c5c6a: 6dbb ldr r3, [r7, #88] ; 0x58 80c5c6c: 441a add r2, r3 80c5c6e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c70: 629a str r2, [r3, #40] ; 0x28 fs->database = bsect + sysect; /* Data start sector */ 80c5c72: 6dba ldr r2, [r7, #88] ; 0x58 80c5c74: 6a7b ldr r3, [r7, #36] ; 0x24 80c5c76: 441a add r2, r3 80c5c78: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c7a: 631a str r2, [r3, #48] ; 0x30 if (fmt == FS_FAT32) { 80c5c7c: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c5c80: 2b03 cmp r3, #3 80c5c82: d11e bne.n 80c5cc2 if (ld_word(fs->win + BPB_FSVer32) != 0) return FR_NO_FILESYSTEM; /* (Must be FAT32 revision 0.0) */ 80c5c84: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c86: 3338 adds r3, #56 ; 0x38 80c5c88: 332a adds r3, #42 ; 0x2a 80c5c8a: 4618 mov r0, r3 80c5c8c: f7fc fe56 bl 80c293c 80c5c90: 4603 mov r3, r0 80c5c92: 2b00 cmp r3, #0 80c5c94: d001 beq.n 80c5c9a 80c5c96: 230d movs r3, #13 80c5c98: e0ab b.n 80c5df2 if (fs->n_rootdir) return FR_NO_FILESYSTEM; /* (BPB_RootEntCnt must be 0) */ 80c5c9a: 6c3b ldr r3, [r7, #64] ; 0x40 80c5c9c: 891b ldrh r3, [r3, #8] 80c5c9e: 2b00 cmp r3, #0 80c5ca0: d001 beq.n 80c5ca6 80c5ca2: 230d movs r3, #13 80c5ca4: e0a5 b.n 80c5df2 fs->dirbase = ld_dword(fs->win + BPB_RootClus32); /* Root directory start cluster */ 80c5ca6: 6c3b ldr r3, [r7, #64] ; 0x40 80c5ca8: 3338 adds r3, #56 ; 0x38 80c5caa: 332c adds r3, #44 ; 0x2c 80c5cac: 4618 mov r0, r3 80c5cae: f7fc fe5d bl 80c296c 80c5cb2: 4602 mov r2, r0 80c5cb4: 6c3b ldr r3, [r7, #64] ; 0x40 80c5cb6: 62da str r2, [r3, #44] ; 0x2c szbfat = fs->n_fatent * 4; /* (Needed FAT size) */ 80c5cb8: 6c3b ldr r3, [r7, #64] ; 0x40 80c5cba: 69db ldr r3, [r3, #28] 80c5cbc: 009b lsls r3, r3, #2 80c5cbe: 64fb str r3, [r7, #76] ; 0x4c 80c5cc0: e01f b.n 80c5d02 } else { if (fs->n_rootdir == 0) return FR_NO_FILESYSTEM;/* (BPB_RootEntCnt must not be 0) */ 80c5cc2: 6c3b ldr r3, [r7, #64] ; 0x40 80c5cc4: 891b ldrh r3, [r3, #8] 80c5cc6: 2b00 cmp r3, #0 80c5cc8: d101 bne.n 80c5cce 80c5cca: 230d movs r3, #13 80c5ccc: e091 b.n 80c5df2 fs->dirbase = fs->fatbase + fasize; /* Root directory start sector */ 80c5cce: 6c3b ldr r3, [r7, #64] ; 0x40 80c5cd0: 6a9a ldr r2, [r3, #40] ; 0x28 80c5cd2: 6d7b ldr r3, [r7, #84] ; 0x54 80c5cd4: 441a add r2, r3 80c5cd6: 6c3b ldr r3, [r7, #64] ; 0x40 80c5cd8: 62da str r2, [r3, #44] ; 0x2c szbfat = (fmt == FS_FAT16) ? /* (Needed FAT size) */ fs->n_fatent * 2 : fs->n_fatent * 3 / 2 + (fs->n_fatent & 1); 80c5cda: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c5cde: 2b02 cmp r3, #2 80c5ce0: d103 bne.n 80c5cea 80c5ce2: 6c3b ldr r3, [r7, #64] ; 0x40 80c5ce4: 69db ldr r3, [r3, #28] 80c5ce6: 005b lsls r3, r3, #1 80c5ce8: e00a b.n 80c5d00 80c5cea: 6c3b ldr r3, [r7, #64] ; 0x40 80c5cec: 69da ldr r2, [r3, #28] 80c5cee: 4613 mov r3, r2 80c5cf0: 005b lsls r3, r3, #1 80c5cf2: 4413 add r3, r2 80c5cf4: 085a lsrs r2, r3, #1 80c5cf6: 6c3b ldr r3, [r7, #64] ; 0x40 80c5cf8: 69db ldr r3, [r3, #28] 80c5cfa: f003 0301 and.w r3, r3, #1 80c5cfe: 4413 add r3, r2 szbfat = (fmt == FS_FAT16) ? /* (Needed FAT size) */ 80c5d00: 64fb str r3, [r7, #76] ; 0x4c } if (fs->fsize < (szbfat + (SS(fs) - 1)) / SS(fs)) return FR_NO_FILESYSTEM; /* (BPB_FATSz must not be less than the size needed) */ 80c5d02: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d04: 6a1a ldr r2, [r3, #32] 80c5d06: 6cfb ldr r3, [r7, #76] ; 0x4c 80c5d08: f203 13ff addw r3, r3, #511 ; 0x1ff 80c5d0c: 0a5b lsrs r3, r3, #9 80c5d0e: 429a cmp r2, r3 80c5d10: d201 bcs.n 80c5d16 80c5d12: 230d movs r3, #13 80c5d14: e06d b.n 80c5df2 #if !_FS_READONLY /* Get FSINFO if available */ fs->last_clst = fs->free_clst = 0xFFFFFFFF; /* Initialize cluster allocation information */ 80c5d16: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d18: f04f 32ff mov.w r2, #4294967295 80c5d1c: 619a str r2, [r3, #24] 80c5d1e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d20: 699a ldr r2, [r3, #24] 80c5d22: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d24: 615a str r2, [r3, #20] fs->fsi_flag = 0x80; 80c5d26: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d28: 2280 movs r2, #128 ; 0x80 80c5d2a: 711a strb r2, [r3, #4] #if (_FS_NOFSINFO & 3) != 3 if (fmt == FS_FAT32 /* Enable FSINFO only if FAT32 and BPB_FSInfo32 == 1 */ 80c5d2c: f897 305f ldrb.w r3, [r7, #95] ; 0x5f 80c5d30: 2b03 cmp r3, #3 80c5d32: d149 bne.n 80c5dc8 && ld_word(fs->win + BPB_FSInfo32) == 1 80c5d34: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d36: 3338 adds r3, #56 ; 0x38 80c5d38: 3330 adds r3, #48 ; 0x30 80c5d3a: 4618 mov r0, r3 80c5d3c: f7fc fdfe bl 80c293c 80c5d40: 4603 mov r3, r0 80c5d42: 2b01 cmp r3, #1 80c5d44: d140 bne.n 80c5dc8 && move_window(fs, bsect + 1) == FR_OK) 80c5d46: 6dbb ldr r3, [r7, #88] ; 0x58 80c5d48: 3301 adds r3, #1 80c5d4a: 4619 mov r1, r3 80c5d4c: 6c38 ldr r0, [r7, #64] ; 0x40 80c5d4e: f7fd f878 bl 80c2e42 80c5d52: 4603 mov r3, r0 80c5d54: 2b00 cmp r3, #0 80c5d56: d137 bne.n 80c5dc8 { fs->fsi_flag = 0; 80c5d58: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d5a: 2200 movs r2, #0 80c5d5c: 711a strb r2, [r3, #4] if (ld_word(fs->win + BS_55AA) == 0xAA55 /* Load FSINFO data if available */ 80c5d5e: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d60: 3338 adds r3, #56 ; 0x38 80c5d62: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c5d66: 4618 mov r0, r3 80c5d68: f7fc fde8 bl 80c293c 80c5d6c: 4603 mov r3, r0 80c5d6e: 461a mov r2, r3 80c5d70: f64a 2355 movw r3, #43605 ; 0xaa55 80c5d74: 429a cmp r2, r3 80c5d76: d127 bne.n 80c5dc8 && ld_dword(fs->win + FSI_LeadSig) == 0x41615252 80c5d78: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d7a: 3338 adds r3, #56 ; 0x38 80c5d7c: 4618 mov r0, r3 80c5d7e: f7fc fdf5 bl 80c296c 80c5d82: 4602 mov r2, r0 80c5d84: 4b1d ldr r3, [pc, #116] ; (80c5dfc ) 80c5d86: 429a cmp r2, r3 80c5d88: d11e bne.n 80c5dc8 && ld_dword(fs->win + FSI_StrucSig) == 0x61417272) 80c5d8a: 6c3b ldr r3, [r7, #64] ; 0x40 80c5d8c: 3338 adds r3, #56 ; 0x38 80c5d8e: f503 73f2 add.w r3, r3, #484 ; 0x1e4 80c5d92: 4618 mov r0, r3 80c5d94: f7fc fdea bl 80c296c 80c5d98: 4602 mov r2, r0 80c5d9a: 4b19 ldr r3, [pc, #100] ; (80c5e00 ) 80c5d9c: 429a cmp r2, r3 80c5d9e: d113 bne.n 80c5dc8 { #if (_FS_NOFSINFO & 1) == 0 fs->free_clst = ld_dword(fs->win + FSI_Free_Count); 80c5da0: 6c3b ldr r3, [r7, #64] ; 0x40 80c5da2: 3338 adds r3, #56 ; 0x38 80c5da4: f503 73f4 add.w r3, r3, #488 ; 0x1e8 80c5da8: 4618 mov r0, r3 80c5daa: f7fc fddf bl 80c296c 80c5dae: 4602 mov r2, r0 80c5db0: 6c3b ldr r3, [r7, #64] ; 0x40 80c5db2: 619a str r2, [r3, #24] #endif #if (_FS_NOFSINFO & 2) == 0 fs->last_clst = ld_dword(fs->win + FSI_Nxt_Free); 80c5db4: 6c3b ldr r3, [r7, #64] ; 0x40 80c5db6: 3338 adds r3, #56 ; 0x38 80c5db8: f503 73f6 add.w r3, r3, #492 ; 0x1ec 80c5dbc: 4618 mov r0, r3 80c5dbe: f7fc fdd5 bl 80c296c 80c5dc2: 4602 mov r2, r0 80c5dc4: 6c3b ldr r3, [r7, #64] ; 0x40 80c5dc6: 615a str r2, [r3, #20] } #endif /* (_FS_NOFSINFO & 3) != 3 */ #endif /* !_FS_READONLY */ } fs->fs_type = fmt; /* FAT sub-type */ 80c5dc8: 6c3b ldr r3, [r7, #64] ; 0x40 80c5dca: f897 205f ldrb.w r2, [r7, #95] ; 0x5f 80c5dce: 701a strb r2, [r3, #0] fs->id = ++Fsid; /* File system mount ID */ 80c5dd0: 4b0c ldr r3, [pc, #48] ; (80c5e04 ) 80c5dd2: 881b ldrh r3, [r3, #0] 80c5dd4: 3301 adds r3, #1 80c5dd6: b29a uxth r2, r3 80c5dd8: 4b0a ldr r3, [pc, #40] ; (80c5e04 ) 80c5dda: 801a strh r2, [r3, #0] 80c5ddc: 4b09 ldr r3, [pc, #36] ; (80c5e04 ) 80c5dde: 881a ldrh r2, [r3, #0] 80c5de0: 6c3b ldr r3, [r7, #64] ; 0x40 80c5de2: 80da strh r2, [r3, #6] #if _USE_LFN == 1 fs->lfnbuf = LfnBuf; /* Static LFN working buffer */ 80c5de4: 6c3b ldr r3, [r7, #64] ; 0x40 80c5de6: 4a08 ldr r2, [pc, #32] ; (80c5e08 ) 80c5de8: 60da str r2, [r3, #12] #if _FS_EXFAT fs->dirbuf = DirBuf; /* Static directory block scratchpad buuffer */ 80c5dea: 6c3b ldr r3, [r7, #64] ; 0x40 80c5dec: 4a07 ldr r2, [pc, #28] ; (80c5e0c ) 80c5dee: 611a str r2, [r3, #16] fs->cdir = 0; /* Initialize current directory */ #endif #if _FS_LOCK != 0 /* Clear file lock semaphores */ clear_lock(fs); #endif return FR_OK; 80c5df0: 2300 movs r3, #0 } 80c5df2: 4618 mov r0, r3 80c5df4: 3764 adds r7, #100 ; 0x64 80c5df6: 46bd mov sp, r7 80c5df8: bd90 pop {r4, r7, pc} 80c5dfa: bf00 nop 80c5dfc: 41615252 .word 0x41615252 80c5e00: 61417272 .word 0x61417272 80c5e04: 200216b0 .word 0x200216b0 80c5e08: 20021914 .word 0x20021914 80c5e0c: 200216b4 .word 0x200216b4 080c5e10 : static FRESULT validate ( /* Returns FR_OK or FR_INVALID_OBJECT */ _FDID* obj, /* Pointer to the _OBJ, the 1st member in the FIL/DIR object, to check validity */ FATFS** fs /* Pointer to pointer to the owner file system object to return */ ) { 80c5e10: b580 push {r7, lr} 80c5e12: b084 sub sp, #16 80c5e14: af00 add r7, sp, #0 80c5e16: 6078 str r0, [r7, #4] 80c5e18: 6039 str r1, [r7, #0] FRESULT res; if (!obj || !obj->fs || !obj->fs->fs_type || obj->fs->id != obj->id || (disk_status(obj->fs->drv) & STA_NOINIT)) { 80c5e1a: 687b ldr r3, [r7, #4] 80c5e1c: 2b00 cmp r3, #0 80c5e1e: d01a beq.n 80c5e56 80c5e20: 687b ldr r3, [r7, #4] 80c5e22: 681b ldr r3, [r3, #0] 80c5e24: 2b00 cmp r3, #0 80c5e26: d016 beq.n 80c5e56 80c5e28: 687b ldr r3, [r7, #4] 80c5e2a: 681b ldr r3, [r3, #0] 80c5e2c: 781b ldrb r3, [r3, #0] 80c5e2e: 2b00 cmp r3, #0 80c5e30: d011 beq.n 80c5e56 80c5e32: 687b ldr r3, [r7, #4] 80c5e34: 681b ldr r3, [r3, #0] 80c5e36: 88da ldrh r2, [r3, #6] 80c5e38: 687b ldr r3, [r7, #4] 80c5e3a: 889b ldrh r3, [r3, #4] 80c5e3c: 429a cmp r2, r3 80c5e3e: d10a bne.n 80c5e56 80c5e40: 687b ldr r3, [r7, #4] 80c5e42: 681b ldr r3, [r3, #0] 80c5e44: 785b ldrb r3, [r3, #1] 80c5e46: 4618 mov r0, r3 80c5e48: f7fc fcda bl 80c2800 80c5e4c: 4603 mov r3, r0 80c5e4e: f003 0301 and.w r3, r3, #1 80c5e52: 2b00 cmp r3, #0 80c5e54: d005 beq.n 80c5e62 *fs = 0; 80c5e56: 683b ldr r3, [r7, #0] 80c5e58: 2200 movs r2, #0 80c5e5a: 601a str r2, [r3, #0] res = FR_INVALID_OBJECT; /* The object is invalid */ 80c5e5c: 2309 movs r3, #9 80c5e5e: 73fb strb r3, [r7, #15] 80c5e60: e005 b.n 80c5e6e } else { *fs = obj->fs; /* Owner file sytem object */ 80c5e62: 687b ldr r3, [r7, #4] 80c5e64: 681a ldr r2, [r3, #0] 80c5e66: 683b ldr r3, [r7, #0] 80c5e68: 601a str r2, [r3, #0] ENTER_FF(obj->fs); /* Lock file system */ res = FR_OK; /* Valid object */ 80c5e6a: 2300 movs r3, #0 80c5e6c: 73fb strb r3, [r7, #15] } return res; 80c5e6e: 7bfb ldrb r3, [r7, #15] } 80c5e70: 4618 mov r0, r3 80c5e72: 3710 adds r7, #16 80c5e74: 46bd mov sp, r7 80c5e76: bd80 pop {r7, pc} 080c5e78 : FRESULT f_mount ( FATFS* fs, /* Pointer to the file system object (NULL:unmount)*/ const TCHAR* path, /* Logical drive number to be mounted/unmounted */ BYTE opt /* Mode option 0:Do not mount (delayed mount), 1:Mount immediately */ ) { 80c5e78: b580 push {r7, lr} 80c5e7a: b088 sub sp, #32 80c5e7c: af00 add r7, sp, #0 80c5e7e: 60f8 str r0, [r7, #12] 80c5e80: 60b9 str r1, [r7, #8] 80c5e82: 4613 mov r3, r2 80c5e84: 71fb strb r3, [r7, #7] FATFS *cfs; int vol; FRESULT res; const TCHAR *rp = path; 80c5e86: 68bb ldr r3, [r7, #8] 80c5e88: 613b str r3, [r7, #16] /* Get logical drive number */ vol = get_ldnumber(&rp); 80c5e8a: f107 0310 add.w r3, r7, #16 80c5e8e: 4618 mov r0, r3 80c5e90: f7ff fbcc bl 80c562c 80c5e94: 61f8 str r0, [r7, #28] if (vol < 0) return FR_INVALID_DRIVE; 80c5e96: 69fb ldr r3, [r7, #28] 80c5e98: 2b00 cmp r3, #0 80c5e9a: da01 bge.n 80c5ea0 80c5e9c: 230b movs r3, #11 80c5e9e: e028 b.n 80c5ef2 cfs = FatFs[vol]; /* Pointer to fs object */ 80c5ea0: 4a16 ldr r2, [pc, #88] ; (80c5efc ) 80c5ea2: 69fb ldr r3, [r7, #28] 80c5ea4: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80c5ea8: 61bb str r3, [r7, #24] if (cfs) { 80c5eaa: 69bb ldr r3, [r7, #24] 80c5eac: 2b00 cmp r3, #0 80c5eae: d002 beq.n 80c5eb6 clear_lock(cfs); #endif #if _FS_REENTRANT /* Discard sync object of the current volume */ if (!ff_del_syncobj(cfs->sobj)) return FR_INT_ERR; #endif cfs->fs_type = 0; /* Clear old fs object */ 80c5eb0: 69bb ldr r3, [r7, #24] 80c5eb2: 2200 movs r2, #0 80c5eb4: 701a strb r2, [r3, #0] } if (fs) { 80c5eb6: 68fb ldr r3, [r7, #12] 80c5eb8: 2b00 cmp r3, #0 80c5eba: d002 beq.n 80c5ec2 fs->fs_type = 0; /* Clear new fs object */ 80c5ebc: 68fb ldr r3, [r7, #12] 80c5ebe: 2200 movs r2, #0 80c5ec0: 701a strb r2, [r3, #0] #if _FS_REENTRANT /* Create sync object for the new volume */ if (!ff_cre_syncobj((BYTE)vol, &fs->sobj)) return FR_INT_ERR; #endif } FatFs[vol] = fs; /* Register new fs object */ 80c5ec2: 68fa ldr r2, [r7, #12] 80c5ec4: 490d ldr r1, [pc, #52] ; (80c5efc ) 80c5ec6: 69fb ldr r3, [r7, #28] 80c5ec8: f841 2023 str.w r2, [r1, r3, lsl #2] if (!fs || opt != 1) return FR_OK; /* Do not mount now, it will be mounted later */ 80c5ecc: 68fb ldr r3, [r7, #12] 80c5ece: 2b00 cmp r3, #0 80c5ed0: d002 beq.n 80c5ed8 80c5ed2: 79fb ldrb r3, [r7, #7] 80c5ed4: 2b01 cmp r3, #1 80c5ed6: d001 beq.n 80c5edc 80c5ed8: 2300 movs r3, #0 80c5eda: e00a b.n 80c5ef2 res = find_volume(&path, &fs, 0); /* Force mounted the volume */ 80c5edc: f107 010c add.w r1, r7, #12 80c5ee0: f107 0308 add.w r3, r7, #8 80c5ee4: 2200 movs r2, #0 80c5ee6: 4618 mov r0, r3 80c5ee8: f7ff fc48 bl 80c577c 80c5eec: 4603 mov r3, r0 80c5eee: 75fb strb r3, [r7, #23] LEAVE_FF(fs, res); 80c5ef0: 7dfb ldrb r3, [r7, #23] } 80c5ef2: 4618 mov r0, r3 80c5ef4: 3720 adds r7, #32 80c5ef6: 46bd mov sp, r7 80c5ef8: bd80 pop {r7, pc} 80c5efa: bf00 nop 80c5efc: 200216ac .word 0x200216ac 080c5f00 : FRESULT f_open ( FIL* fp, /* Pointer to the blank file object */ const TCHAR* path, /* Pointer to the file name */ BYTE mode /* Access mode and file open mode flags */ ) { 80c5f00: b5b0 push {r4, r5, r7, lr} 80c5f02: b0a2 sub sp, #136 ; 0x88 80c5f04: af00 add r7, sp, #0 80c5f06: 60f8 str r0, [r7, #12] 80c5f08: 60b9 str r1, [r7, #8] 80c5f0a: 4613 mov r3, r2 80c5f0c: 71fb strb r3, [r7, #7] FSIZE_t ofs; #endif DEF_NAMBUF if (!fp) return FR_INVALID_OBJECT; 80c5f0e: 68fb ldr r3, [r7, #12] 80c5f10: 2b00 cmp r3, #0 80c5f12: d101 bne.n 80c5f18 80c5f14: 2309 movs r3, #9 80c5f16: e24c b.n 80c63b2 /* Get logical drive */ mode &= _FS_READONLY ? FA_READ : FA_READ | FA_WRITE | FA_CREATE_ALWAYS | FA_CREATE_NEW | FA_OPEN_ALWAYS | FA_OPEN_APPEND | FA_SEEKEND; 80c5f18: 79fb ldrb r3, [r7, #7] 80c5f1a: f003 033f and.w r3, r3, #63 ; 0x3f 80c5f1e: 71fb strb r3, [r7, #7] res = find_volume(&path, &fs, mode); 80c5f20: 79fa ldrb r2, [r7, #7] 80c5f22: f107 0114 add.w r1, r7, #20 80c5f26: f107 0308 add.w r3, r7, #8 80c5f2a: 4618 mov r0, r3 80c5f2c: f7ff fc26 bl 80c577c 80c5f30: 4603 mov r3, r0 80c5f32: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (res == FR_OK) { 80c5f36: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c5f3a: 2b00 cmp r3, #0 80c5f3c: f040 8230 bne.w 80c63a0 dj.obj.fs = fs; 80c5f40: 697b ldr r3, [r7, #20] 80c5f42: 61bb str r3, [r7, #24] INIT_NAMBUF(fs); res = follow_path(&dj, path); /* Follow the file path */ 80c5f44: 68ba ldr r2, [r7, #8] 80c5f46: f107 0318 add.w r3, r7, #24 80c5f4a: 4611 mov r1, r2 80c5f4c: 4618 mov r0, r3 80c5f4e: f7ff fac5 bl 80c54dc 80c5f52: 4603 mov r3, r0 80c5f54: f887 3087 strb.w r3, [r7, #135] ; 0x87 #if !_FS_READONLY /* R/W configuration */ if (res == FR_OK) { 80c5f58: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c5f5c: 2b00 cmp r3, #0 80c5f5e: d107 bne.n 80c5f70 if (dj.fn[NSFLAG] & NS_NONAME) { /* Origin directory itself? */ 80c5f60: f897 3063 ldrb.w r3, [r7, #99] ; 0x63 80c5f64: b25b sxtb r3, r3 80c5f66: 2b00 cmp r3, #0 80c5f68: da02 bge.n 80c5f70 res = FR_INVALID_NAME; 80c5f6a: 2306 movs r3, #6 80c5f6c: f887 3087 strb.w r3, [r7, #135] ; 0x87 res = chk_lock(&dj, (mode & ~FA_READ) ? 1 : 0); } #endif } /* Create or Open a file */ if (mode & (FA_CREATE_ALWAYS | FA_OPEN_ALWAYS | FA_CREATE_NEW)) { 80c5f70: 79fb ldrb r3, [r7, #7] 80c5f72: f003 031c and.w r3, r3, #28 80c5f76: 2b00 cmp r3, #0 80c5f78: f000 8102 beq.w 80c6180 if (res != FR_OK) { /* No file, create new */ 80c5f7c: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c5f80: 2b00 cmp r3, #0 80c5f82: d010 beq.n 80c5fa6 if (res == FR_NO_FILE) { /* There is no file to open, create a new entry */ 80c5f84: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c5f88: 2b04 cmp r3, #4 80c5f8a: d107 bne.n 80c5f9c #if _FS_LOCK != 0 res = enq_lock() ? dir_register(&dj) : FR_TOO_MANY_OPEN_FILES; #else res = dir_register(&dj); 80c5f8c: f107 0318 add.w r3, r7, #24 80c5f90: 4618 mov r0, r3 80c5f92: f7fe fe01 bl 80c4b98 80c5f96: 4603 mov r3, r0 80c5f98: f887 3087 strb.w r3, [r7, #135] ; 0x87 #endif } mode |= FA_CREATE_ALWAYS; /* File is created */ 80c5f9c: 79fb ldrb r3, [r7, #7] 80c5f9e: f043 0308 orr.w r3, r3, #8 80c5fa2: 71fb strb r3, [r7, #7] 80c5fa4: e010 b.n 80c5fc8 } else { /* Any object is already existing */ if (dj.obj.attr & (AM_RDO | AM_DIR)) { /* Cannot overwrite it (R/O or DIR) */ 80c5fa6: 7fbb ldrb r3, [r7, #30] 80c5fa8: f003 0311 and.w r3, r3, #17 80c5fac: 2b00 cmp r3, #0 80c5fae: d003 beq.n 80c5fb8 res = FR_DENIED; 80c5fb0: 2307 movs r3, #7 80c5fb2: f887 3087 strb.w r3, [r7, #135] ; 0x87 80c5fb6: e007 b.n 80c5fc8 } else { if (mode & FA_CREATE_NEW) res = FR_EXIST; /* Cannot create as new file */ 80c5fb8: 79fb ldrb r3, [r7, #7] 80c5fba: f003 0304 and.w r3, r3, #4 80c5fbe: 2b00 cmp r3, #0 80c5fc0: d002 beq.n 80c5fc8 80c5fc2: 2308 movs r3, #8 80c5fc4: f887 3087 strb.w r3, [r7, #135] ; 0x87 } } if (res == FR_OK && (mode & FA_CREATE_ALWAYS)) { /* Truncate it if overwrite mode */ 80c5fc8: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c5fcc: 2b00 cmp r3, #0 80c5fce: f040 80f1 bne.w 80c61b4 80c5fd2: 79fb ldrb r3, [r7, #7] 80c5fd4: f003 0308 and.w r3, r3, #8 80c5fd8: 2b00 cmp r3, #0 80c5fda: f000 80eb beq.w 80c61b4 dw = GET_FATTIME(); 80c5fde: f7f9 fb9d bl 80bf71c 80c5fe2: 6778 str r0, [r7, #116] ; 0x74 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c5fe4: 697b ldr r3, [r7, #20] 80c5fe6: 781b ldrb r3, [r3, #0] 80c5fe8: 2b04 cmp r3, #4 80c5fea: f040 8082 bne.w 80c60f2 /* Get current allocation info */ fp->obj.fs = fs; 80c5fee: 697a ldr r2, [r7, #20] 80c5ff0: 68fb ldr r3, [r7, #12] 80c5ff2: 601a str r2, [r3, #0] fp->obj.sclust = ld_dword(fs->dirbuf + XDIR_FstClus); 80c5ff4: 697b ldr r3, [r7, #20] 80c5ff6: 691b ldr r3, [r3, #16] 80c5ff8: 3334 adds r3, #52 ; 0x34 80c5ffa: 4618 mov r0, r3 80c5ffc: f7fc fcb6 bl 80c296c 80c6000: 4602 mov r2, r0 80c6002: 68fb ldr r3, [r7, #12] 80c6004: 609a str r2, [r3, #8] fp->obj.objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80c6006: 697b ldr r3, [r7, #20] 80c6008: 691b ldr r3, [r3, #16] 80c600a: 3338 adds r3, #56 ; 0x38 80c600c: 4618 mov r0, r3 80c600e: f7fc fcd0 bl 80c29b2 80c6012: 4602 mov r2, r0 80c6014: 460b mov r3, r1 80c6016: 68f9 ldr r1, [r7, #12] 80c6018: e9c1 2304 strd r2, r3, [r1, #16] fp->obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; 80c601c: 697b ldr r3, [r7, #20] 80c601e: 691b ldr r3, [r3, #16] 80c6020: 3321 adds r3, #33 ; 0x21 80c6022: 781b ldrb r3, [r3, #0] 80c6024: f003 0302 and.w r3, r3, #2 80c6028: b2da uxtb r2, r3 80c602a: 68fb ldr r3, [r7, #12] 80c602c: 71da strb r2, [r3, #7] fp->obj.n_frag = 0; 80c602e: 68fb ldr r3, [r7, #12] 80c6030: 2200 movs r2, #0 80c6032: 61da str r2, [r3, #28] /* Initialize directory entry block */ st_dword(fs->dirbuf + XDIR_CrtTime, dw); /* Set created time */ 80c6034: 697b ldr r3, [r7, #20] 80c6036: 691b ldr r3, [r3, #16] 80c6038: 3308 adds r3, #8 80c603a: 6f79 ldr r1, [r7, #116] ; 0x74 80c603c: 4618 mov r0, r3 80c603e: f7fc fd82 bl 80c2b46 fs->dirbuf[XDIR_CrtTime10] = 0; 80c6042: 697b ldr r3, [r7, #20] 80c6044: 691b ldr r3, [r3, #16] 80c6046: 3314 adds r3, #20 80c6048: 2200 movs r2, #0 80c604a: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_ModTime, dw); /* Set modified time */ 80c604c: 697b ldr r3, [r7, #20] 80c604e: 691b ldr r3, [r3, #16] 80c6050: 330c adds r3, #12 80c6052: 6f79 ldr r1, [r7, #116] ; 0x74 80c6054: 4618 mov r0, r3 80c6056: f7fc fd76 bl 80c2b46 fs->dirbuf[XDIR_ModTime10] = 0; 80c605a: 697b ldr r3, [r7, #20] 80c605c: 691b ldr r3, [r3, #16] 80c605e: 3315 adds r3, #21 80c6060: 2200 movs r2, #0 80c6062: 701a strb r2, [r3, #0] fs->dirbuf[XDIR_Attr] = AM_ARC; /* Reset attribute */ 80c6064: 697b ldr r3, [r7, #20] 80c6066: 691b ldr r3, [r3, #16] 80c6068: 3304 adds r3, #4 80c606a: 2220 movs r2, #32 80c606c: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_FstClus, 0); /* Reset file allocation info */ 80c606e: 697b ldr r3, [r7, #20] 80c6070: 691b ldr r3, [r3, #16] 80c6072: 3334 adds r3, #52 ; 0x34 80c6074: 2100 movs r1, #0 80c6076: 4618 mov r0, r3 80c6078: f7fc fd65 bl 80c2b46 st_qword(fs->dirbuf + XDIR_FileSize, 0); 80c607c: 697b ldr r3, [r7, #20] 80c607e: 691b ldr r3, [r3, #16] 80c6080: f103 0138 add.w r1, r3, #56 ; 0x38 80c6084: f04f 0200 mov.w r2, #0 80c6088: f04f 0300 mov.w r3, #0 80c608c: 4608 mov r0, r1 80c608e: f7fc fd86 bl 80c2b9e st_qword(fs->dirbuf + XDIR_ValidFileSize, 0); 80c6092: 697b ldr r3, [r7, #20] 80c6094: 691b ldr r3, [r3, #16] 80c6096: f103 0128 add.w r1, r3, #40 ; 0x28 80c609a: f04f 0200 mov.w r2, #0 80c609e: f04f 0300 mov.w r3, #0 80c60a2: 4608 mov r0, r1 80c60a4: f7fc fd7b bl 80c2b9e fs->dirbuf[XDIR_GenFlags] = 1; 80c60a8: 697b ldr r3, [r7, #20] 80c60aa: 691b ldr r3, [r3, #16] 80c60ac: 3321 adds r3, #33 ; 0x21 80c60ae: 2201 movs r2, #1 80c60b0: 701a strb r2, [r3, #0] res = store_xdir(&dj); 80c60b2: f107 0318 add.w r3, r7, #24 80c60b6: 4618 mov r0, r3 80c60b8: f7fe fab4 bl 80c4624 80c60bc: 4603 mov r3, r0 80c60be: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (res == FR_OK && fp->obj.sclust) { /* Remove the cluster chain if exist */ 80c60c2: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c60c6: 2b00 cmp r3, #0 80c60c8: d174 bne.n 80c61b4 80c60ca: 68fb ldr r3, [r7, #12] 80c60cc: 689b ldr r3, [r3, #8] 80c60ce: 2b00 cmp r3, #0 80c60d0: d070 beq.n 80c61b4 res = remove_chain(&fp->obj, fp->obj.sclust, 0); 80c60d2: 68f8 ldr r0, [r7, #12] 80c60d4: 68fb ldr r3, [r7, #12] 80c60d6: 689b ldr r3, [r3, #8] 80c60d8: 2200 movs r2, #0 80c60da: 4619 mov r1, r3 80c60dc: f7fd fabe bl 80c365c 80c60e0: 4603 mov r3, r0 80c60e2: f887 3087 strb.w r3, [r7, #135] ; 0x87 fs->last_clst = fp->obj.sclust - 1; /* Reuse the cluster hole */ 80c60e6: 697b ldr r3, [r7, #20] 80c60e8: 68fa ldr r2, [r7, #12] 80c60ea: 6892 ldr r2, [r2, #8] 80c60ec: 3a01 subs r2, #1 80c60ee: 615a str r2, [r3, #20] 80c60f0: e060 b.n 80c61b4 } } else #endif { /* Clean directory info */ st_dword(dj.dir + DIR_CrtTime, dw); /* Set created time */ 80c60f2: 6d7b ldr r3, [r7, #84] ; 0x54 80c60f4: 330e adds r3, #14 80c60f6: 6f79 ldr r1, [r7, #116] ; 0x74 80c60f8: 4618 mov r0, r3 80c60fa: f7fc fd24 bl 80c2b46 st_dword(dj.dir + DIR_ModTime, dw); /* Set modified time */ 80c60fe: 6d7b ldr r3, [r7, #84] ; 0x54 80c6100: 3316 adds r3, #22 80c6102: 6f79 ldr r1, [r7, #116] ; 0x74 80c6104: 4618 mov r0, r3 80c6106: f7fc fd1e bl 80c2b46 dj.dir[DIR_Attr] = AM_ARC; /* Reset attribute */ 80c610a: 6d7b ldr r3, [r7, #84] ; 0x54 80c610c: 330b adds r3, #11 80c610e: 2220 movs r2, #32 80c6110: 701a strb r2, [r3, #0] cl = ld_clust(fs, dj.dir); /* Get cluster chain */ 80c6112: 697b ldr r3, [r7, #20] 80c6114: 6d7a ldr r2, [r7, #84] ; 0x54 80c6116: 4611 mov r1, r2 80c6118: 4618 mov r0, r3 80c611a: f7fd fe49 bl 80c3db0 80c611e: 6738 str r0, [r7, #112] ; 0x70 st_clust(fs, dj.dir, 0); /* Reset file allocation info */ 80c6120: 697b ldr r3, [r7, #20] 80c6122: 6d79 ldr r1, [r7, #84] ; 0x54 80c6124: 2200 movs r2, #0 80c6126: 4618 mov r0, r3 80c6128: f7fd fe61 bl 80c3dee st_dword(dj.dir + DIR_FileSize, 0); 80c612c: 6d7b ldr r3, [r7, #84] ; 0x54 80c612e: 331c adds r3, #28 80c6130: 2100 movs r1, #0 80c6132: 4618 mov r0, r3 80c6134: f7fc fd07 bl 80c2b46 fs->wflag = 1; 80c6138: 697b ldr r3, [r7, #20] 80c613a: 2201 movs r2, #1 80c613c: 70da strb r2, [r3, #3] if (cl) { /* Remove the cluster chain if exist */ 80c613e: 6f3b ldr r3, [r7, #112] ; 0x70 80c6140: 2b00 cmp r3, #0 80c6142: d037 beq.n 80c61b4 dw = fs->winsect; 80c6144: 697b ldr r3, [r7, #20] 80c6146: 6b5b ldr r3, [r3, #52] ; 0x34 80c6148: 677b str r3, [r7, #116] ; 0x74 res = remove_chain(&dj.obj, cl, 0); 80c614a: f107 0318 add.w r3, r7, #24 80c614e: 2200 movs r2, #0 80c6150: 6f39 ldr r1, [r7, #112] ; 0x70 80c6152: 4618 mov r0, r3 80c6154: f7fd fa82 bl 80c365c 80c6158: 4603 mov r3, r0 80c615a: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (res == FR_OK) { 80c615e: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c6162: 2b00 cmp r3, #0 80c6164: d126 bne.n 80c61b4 res = move_window(fs, dw); 80c6166: 697b ldr r3, [r7, #20] 80c6168: 6f79 ldr r1, [r7, #116] ; 0x74 80c616a: 4618 mov r0, r3 80c616c: f7fc fe69 bl 80c2e42 80c6170: 4603 mov r3, r0 80c6172: f887 3087 strb.w r3, [r7, #135] ; 0x87 fs->last_clst = cl - 1; /* Reuse the cluster hole */ 80c6176: 697b ldr r3, [r7, #20] 80c6178: 6f3a ldr r2, [r7, #112] ; 0x70 80c617a: 3a01 subs r2, #1 80c617c: 615a str r2, [r3, #20] 80c617e: e019 b.n 80c61b4 } } } } else { /* Open an existing file */ if (res == FR_OK) { /* Following succeeded */ 80c6180: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c6184: 2b00 cmp r3, #0 80c6186: d115 bne.n 80c61b4 if (dj.obj.attr & AM_DIR) { /* It is a directory */ 80c6188: 7fbb ldrb r3, [r7, #30] 80c618a: f003 0310 and.w r3, r3, #16 80c618e: 2b00 cmp r3, #0 80c6190: d003 beq.n 80c619a res = FR_NO_FILE; 80c6192: 2304 movs r3, #4 80c6194: f887 3087 strb.w r3, [r7, #135] ; 0x87 80c6198: e00c b.n 80c61b4 } else { if ((mode & FA_WRITE) && (dj.obj.attr & AM_RDO)) { /* R/O violation */ 80c619a: 79fb ldrb r3, [r7, #7] 80c619c: f003 0302 and.w r3, r3, #2 80c61a0: 2b00 cmp r3, #0 80c61a2: d007 beq.n 80c61b4 80c61a4: 7fbb ldrb r3, [r7, #30] 80c61a6: f003 0301 and.w r3, r3, #1 80c61aa: 2b00 cmp r3, #0 80c61ac: d002 beq.n 80c61b4 res = FR_DENIED; 80c61ae: 2307 movs r3, #7 80c61b0: f887 3087 strb.w r3, [r7, #135] ; 0x87 } } } } if (res == FR_OK) { 80c61b4: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c61b8: 2b00 cmp r3, #0 80c61ba: d10f bne.n 80c61dc if (mode & FA_CREATE_ALWAYS) /* Set file change flag if created or overwritten */ 80c61bc: 79fb ldrb r3, [r7, #7] 80c61be: f003 0308 and.w r3, r3, #8 80c61c2: 2b00 cmp r3, #0 80c61c4: d003 beq.n 80c61ce mode |= FA_MODIFIED; 80c61c6: 79fb ldrb r3, [r7, #7] 80c61c8: f043 0340 orr.w r3, r3, #64 ; 0x40 80c61cc: 71fb strb r3, [r7, #7] fp->dir_sect = fs->winsect; /* Pointer to the directory entry */ 80c61ce: 697b ldr r3, [r7, #20] 80c61d0: 6b5a ldr r2, [r3, #52] ; 0x34 80c61d2: 68fb ldr r3, [r7, #12] 80c61d4: 649a str r2, [r3, #72] ; 0x48 fp->dir_ptr = dj.dir; 80c61d6: 6d7a ldr r2, [r7, #84] ; 0x54 80c61d8: 68fb ldr r3, [r7, #12] 80c61da: 64da str r2, [r3, #76] ; 0x4c } } } #endif if (res == FR_OK) { 80c61dc: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c61e0: 2b00 cmp r3, #0 80c61e2: f040 80dd bne.w 80c63a0 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c61e6: 697b ldr r3, [r7, #20] 80c61e8: 781b ldrb r3, [r3, #0] 80c61ea: 2b04 cmp r3, #4 80c61ec: d12c bne.n 80c6248 fp->obj.c_scl = dj.obj.sclust; /* Get containing directory info */ 80c61ee: 6a3a ldr r2, [r7, #32] 80c61f0: 68fb ldr r3, [r7, #12] 80c61f2: 621a str r2, [r3, #32] fp->obj.c_size = ((DWORD)dj.obj.objsize & 0xFFFFFF00) | dj.obj.stat; 80c61f4: e9d7 230a ldrd r2, r3, [r7, #40] ; 0x28 80c61f8: 4613 mov r3, r2 80c61fa: f023 03ff bic.w r3, r3, #255 ; 0xff 80c61fe: 7ffa ldrb r2, [r7, #31] 80c6200: 431a orrs r2, r3 80c6202: 68fb ldr r3, [r7, #12] 80c6204: 625a str r2, [r3, #36] ; 0x24 fp->obj.c_ofs = dj.blk_ofs; 80c6206: 6e7a ldr r2, [r7, #100] ; 0x64 80c6208: 68fb ldr r3, [r7, #12] 80c620a: 629a str r2, [r3, #40] ; 0x28 fp->obj.sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Get object allocation info */ 80c620c: 697b ldr r3, [r7, #20] 80c620e: 691b ldr r3, [r3, #16] 80c6210: 3334 adds r3, #52 ; 0x34 80c6212: 4618 mov r0, r3 80c6214: f7fc fbaa bl 80c296c 80c6218: 4602 mov r2, r0 80c621a: 68fb ldr r3, [r7, #12] 80c621c: 609a str r2, [r3, #8] fp->obj.objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80c621e: 697b ldr r3, [r7, #20] 80c6220: 691b ldr r3, [r3, #16] 80c6222: 3338 adds r3, #56 ; 0x38 80c6224: 4618 mov r0, r3 80c6226: f7fc fbc4 bl 80c29b2 80c622a: 4602 mov r2, r0 80c622c: 460b mov r3, r1 80c622e: 68f9 ldr r1, [r7, #12] 80c6230: e9c1 2304 strd r2, r3, [r1, #16] fp->obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; 80c6234: 697b ldr r3, [r7, #20] 80c6236: 691b ldr r3, [r3, #16] 80c6238: 3321 adds r3, #33 ; 0x21 80c623a: 781b ldrb r3, [r3, #0] 80c623c: f003 0302 and.w r3, r3, #2 80c6240: b2da uxtb r2, r3 80c6242: 68fb ldr r3, [r7, #12] 80c6244: 71da strb r2, [r3, #7] 80c6246: e014 b.n 80c6272 } else #endif { fp->obj.sclust = ld_clust(fs, dj.dir); /* Get object allocation info */ 80c6248: 697b ldr r3, [r7, #20] 80c624a: 6d7a ldr r2, [r7, #84] ; 0x54 80c624c: 4611 mov r1, r2 80c624e: 4618 mov r0, r3 80c6250: f7fd fdae bl 80c3db0 80c6254: 4602 mov r2, r0 80c6256: 68fb ldr r3, [r7, #12] 80c6258: 609a str r2, [r3, #8] fp->obj.objsize = ld_dword(dj.dir + DIR_FileSize); 80c625a: 6d7b ldr r3, [r7, #84] ; 0x54 80c625c: 331c adds r3, #28 80c625e: 4618 mov r0, r3 80c6260: f7fc fb84 bl 80c296c 80c6264: 4603 mov r3, r0 80c6266: 461a mov r2, r3 80c6268: f04f 0300 mov.w r3, #0 80c626c: 68f9 ldr r1, [r7, #12] 80c626e: e9c1 2304 strd r2, r3, [r1, #16] } #if _USE_FASTSEEK fp->cltbl = 0; /* Disable fast seek mode */ 80c6272: 68fb ldr r3, [r7, #12] 80c6274: 2200 movs r2, #0 80c6276: 651a str r2, [r3, #80] ; 0x50 #endif fp->obj.fs = fs; /* Validate the file object */ 80c6278: 697a ldr r2, [r7, #20] 80c627a: 68fb ldr r3, [r7, #12] 80c627c: 601a str r2, [r3, #0] fp->obj.id = fs->id; 80c627e: 697b ldr r3, [r7, #20] 80c6280: 88da ldrh r2, [r3, #6] 80c6282: 68fb ldr r3, [r7, #12] 80c6284: 809a strh r2, [r3, #4] fp->flag = mode; /* Set file access mode */ 80c6286: 68fb ldr r3, [r7, #12] 80c6288: 79fa ldrb r2, [r7, #7] 80c628a: f883 2030 strb.w r2, [r3, #48] ; 0x30 fp->err = 0; /* Clear error flag */ 80c628e: 68fb ldr r3, [r7, #12] 80c6290: 2200 movs r2, #0 80c6292: f883 2031 strb.w r2, [r3, #49] ; 0x31 fp->sect = 0; /* Invalidate current data sector */ 80c6296: 68fb ldr r3, [r7, #12] 80c6298: 2200 movs r2, #0 80c629a: 645a str r2, [r3, #68] ; 0x44 fp->fptr = 0; /* Set file pointer top of the file */ 80c629c: 68f9 ldr r1, [r7, #12] 80c629e: f04f 0200 mov.w r2, #0 80c62a2: f04f 0300 mov.w r3, #0 80c62a6: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 #if !_FS_READONLY #if !_FS_TINY mem_set(fp->buf, 0, _MAX_SS); /* Clear sector buffer */ #endif if ((mode & FA_SEEKEND) && fp->obj.objsize > 0) { /* Seek to end of file if FA_OPEN_APPEND is specified */ 80c62aa: 79fb ldrb r3, [r7, #7] 80c62ac: f003 0320 and.w r3, r3, #32 80c62b0: 2b00 cmp r3, #0 80c62b2: d075 beq.n 80c63a0 80c62b4: 68fb ldr r3, [r7, #12] 80c62b6: e9d3 2304 ldrd r2, r3, [r3, #16] 80c62ba: 4313 orrs r3, r2 80c62bc: d070 beq.n 80c63a0 fp->fptr = fp->obj.objsize; /* Offset to seek */ 80c62be: 68fb ldr r3, [r7, #12] 80c62c0: e9d3 2304 ldrd r2, r3, [r3, #16] 80c62c4: 68f9 ldr r1, [r7, #12] 80c62c6: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 bcs = (DWORD)fs->csize * SS(fs); /* Cluster size in byte */ 80c62ca: 697b ldr r3, [r7, #20] 80c62cc: 895b ldrh r3, [r3, #10] 80c62ce: 025b lsls r3, r3, #9 80c62d0: 66fb str r3, [r7, #108] ; 0x6c clst = fp->obj.sclust; /* Follow the cluster chain */ 80c62d2: 68fb ldr r3, [r7, #12] 80c62d4: 689b ldr r3, [r3, #8] 80c62d6: f8c7 3080 str.w r3, [r7, #128] ; 0x80 for (ofs = fp->obj.objsize; res == FR_OK && ofs > bcs; ofs -= bcs) { 80c62da: 68fb ldr r3, [r7, #12] 80c62dc: e9d3 2304 ldrd r2, r3, [r3, #16] 80c62e0: e9c7 231e strd r2, r3, [r7, #120] ; 0x78 80c62e4: e021 b.n 80c632a clst = get_fat(&fp->obj, clst); 80c62e6: 68fb ldr r3, [r7, #12] 80c62e8: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80c62ec: 4618 mov r0, r3 80c62ee: f7fc fe63 bl 80c2fb8 80c62f2: f8c7 0080 str.w r0, [r7, #128] ; 0x80 if (clst <= 1) res = FR_INT_ERR; 80c62f6: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c62fa: 2b01 cmp r3, #1 80c62fc: d802 bhi.n 80c6304 80c62fe: 2302 movs r3, #2 80c6300: f887 3087 strb.w r3, [r7, #135] ; 0x87 if (clst == 0xFFFFFFFF) res = FR_DISK_ERR; 80c6304: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c6308: f1b3 3fff cmp.w r3, #4294967295 80c630c: d102 bne.n 80c6314 80c630e: 2301 movs r3, #1 80c6310: f887 3087 strb.w r3, [r7, #135] ; 0x87 for (ofs = fp->obj.objsize; res == FR_OK && ofs > bcs; ofs -= bcs) { 80c6314: 6efb ldr r3, [r7, #108] ; 0x6c 80c6316: 461a mov r2, r3 80c6318: f04f 0300 mov.w r3, #0 80c631c: e9d7 011e ldrd r0, r1, [r7, #120] ; 0x78 80c6320: 1a82 subs r2, r0, r2 80c6322: eb61 0303 sbc.w r3, r1, r3 80c6326: e9c7 231e strd r2, r3, [r7, #120] ; 0x78 80c632a: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c632e: 2b00 cmp r3, #0 80c6330: d109 bne.n 80c6346 80c6332: 6efb ldr r3, [r7, #108] ; 0x6c 80c6334: 4618 mov r0, r3 80c6336: f04f 0100 mov.w r1, #0 80c633a: e9d7 231e ldrd r2, r3, [r7, #120] ; 0x78 80c633e: 4299 cmp r1, r3 80c6340: bf08 it eq 80c6342: 4290 cmpeq r0, r2 80c6344: d3cf bcc.n 80c62e6 } fp->clust = clst; 80c6346: 68fb ldr r3, [r7, #12] 80c6348: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c634c: 641a str r2, [r3, #64] ; 0x40 if (res == FR_OK && ofs % SS(fs)) { /* Fill sector buffer if not on the sector boundary */ 80c634e: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c6352: 2b00 cmp r3, #0 80c6354: d124 bne.n 80c63a0 80c6356: e9d7 231e ldrd r2, r3, [r7, #120] ; 0x78 80c635a: f240 10ff movw r0, #511 ; 0x1ff 80c635e: f04f 0100 mov.w r1, #0 80c6362: ea02 0200 and.w r2, r2, r0 80c6366: ea03 0301 and.w r3, r3, r1 80c636a: 4313 orrs r3, r2 80c636c: d018 beq.n 80c63a0 if ((sc = clust2sect(fs, clst)) == 0) { 80c636e: 697b ldr r3, [r7, #20] 80c6370: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80c6374: 4618 mov r0, r3 80c6376: f7fc fdff bl 80c2f78 80c637a: 66b8 str r0, [r7, #104] ; 0x68 80c637c: 6ebb ldr r3, [r7, #104] ; 0x68 80c637e: 2b00 cmp r3, #0 80c6380: d103 bne.n 80c638a res = FR_INT_ERR; 80c6382: 2302 movs r3, #2 80c6384: f887 3087 strb.w r3, [r7, #135] ; 0x87 80c6388: e00a b.n 80c63a0 } else { fp->sect = sc + (DWORD)(ofs / SS(fs)); 80c638a: e9d7 231e ldrd r2, r3, [r7, #120] ; 0x78 80c638e: 0a54 lsrs r4, r2, #9 80c6390: ea44 54c3 orr.w r4, r4, r3, lsl #23 80c6394: 0a5d lsrs r5, r3, #9 80c6396: 4622 mov r2, r4 80c6398: 6ebb ldr r3, [r7, #104] ; 0x68 80c639a: 441a add r2, r3 80c639c: 68fb ldr r3, [r7, #12] 80c639e: 645a str r2, [r3, #68] ; 0x44 } FREE_NAMBUF(); } if (res != FR_OK) fp->obj.fs = 0; /* Invalidate file object on error */ 80c63a0: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 80c63a4: 2b00 cmp r3, #0 80c63a6: d002 beq.n 80c63ae 80c63a8: 68fb ldr r3, [r7, #12] 80c63aa: 2200 movs r2, #0 80c63ac: 601a str r2, [r3, #0] LEAVE_FF(fs, res); 80c63ae: f897 3087 ldrb.w r3, [r7, #135] ; 0x87 } 80c63b2: 4618 mov r0, r3 80c63b4: 3788 adds r7, #136 ; 0x88 80c63b6: 46bd mov sp, r7 80c63b8: bdb0 pop {r4, r5, r7, pc} 080c63ba : FIL* fp, /* Pointer to the file object */ void* buff, /* Pointer to data buffer */ UINT btr, /* Number of bytes to read */ UINT* br /* Pointer to number of bytes read */ ) { 80c63ba: b5b0 push {r4, r5, r7, lr} 80c63bc: b090 sub sp, #64 ; 0x40 80c63be: af00 add r7, sp, #0 80c63c0: 60f8 str r0, [r7, #12] 80c63c2: 60b9 str r1, [r7, #8] 80c63c4: 607a str r2, [r7, #4] 80c63c6: 603b str r3, [r7, #0] FRESULT res; FATFS *fs; DWORD clst, sect; FSIZE_t remain; UINT rcnt, cc, csect; BYTE *rbuff = (BYTE*)buff; 80c63c8: 68bb ldr r3, [r7, #8] 80c63ca: 62fb str r3, [r7, #44] ; 0x2c *br = 0; /* Clear read byte counter */ 80c63cc: 683b ldr r3, [r7, #0] 80c63ce: 2200 movs r2, #0 80c63d0: 601a str r2, [r3, #0] res = validate(&fp->obj, &fs); /* Check validity of the file object */ 80c63d2: 68fb ldr r3, [r7, #12] 80c63d4: f107 0214 add.w r2, r7, #20 80c63d8: 4611 mov r1, r2 80c63da: 4618 mov r0, r3 80c63dc: f7ff fd18 bl 80c5e10 80c63e0: 4603 mov r3, r0 80c63e2: f887 303f strb.w r3, [r7, #63] ; 0x3f if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); /* Check validity */ 80c63e6: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c63ea: 2b00 cmp r3, #0 80c63ec: d108 bne.n 80c6400 80c63ee: 68fb ldr r3, [r7, #12] 80c63f0: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80c63f4: f887 303f strb.w r3, [r7, #63] ; 0x3f 80c63f8: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c63fc: 2b00 cmp r3, #0 80c63fe: d002 beq.n 80c6406 80c6400: f897 303f ldrb.w r3, [r7, #63] ; 0x3f 80c6404: e118 b.n 80c6638 if (!(fp->flag & FA_READ)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ 80c6406: 68fb ldr r3, [r7, #12] 80c6408: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c640c: f003 0301 and.w r3, r3, #1 80c6410: 2b00 cmp r3, #0 80c6412: d101 bne.n 80c6418 80c6414: 2307 movs r3, #7 80c6416: e10f b.n 80c6638 remain = fp->obj.objsize - fp->fptr; 80c6418: 68fb ldr r3, [r7, #12] 80c641a: e9d3 0104 ldrd r0, r1, [r3, #16] 80c641e: 68fb ldr r3, [r7, #12] 80c6420: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6424: 1a82 subs r2, r0, r2 80c6426: eb61 0303 sbc.w r3, r1, r3 80c642a: e9c7 2308 strd r2, r3, [r7, #32] if (btr > remain) btr = (UINT)remain; /* Truncate btr by remaining bytes */ 80c642e: 687b ldr r3, [r7, #4] 80c6430: 461a mov r2, r3 80c6432: f04f 0300 mov.w r3, #0 80c6436: e9d7 0108 ldrd r0, r1, [r7, #32] 80c643a: 4299 cmp r1, r3 80c643c: bf08 it eq 80c643e: 4290 cmpeq r0, r2 80c6440: f080 80f5 bcs.w 80c662e 80c6444: 6a3b ldr r3, [r7, #32] 80c6446: 607b str r3, [r7, #4] for ( ; btr; /* Repeat until all data read */ 80c6448: e0f1 b.n 80c662e rbuff += rcnt, fp->fptr += rcnt, *br += rcnt, btr -= rcnt) { if (fp->fptr % SS(fs) == 0) { /* On the sector boundary? */ 80c644a: 68fb ldr r3, [r7, #12] 80c644c: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6450: f240 10ff movw r0, #511 ; 0x1ff 80c6454: f04f 0100 mov.w r1, #0 80c6458: ea02 0200 and.w r2, r2, r0 80c645c: ea03 0301 and.w r3, r3, r1 80c6460: 4313 orrs r3, r2 80c6462: f040 809b bne.w 80c659c csect = (UINT)(fp->fptr / SS(fs) & (fs->csize - 1)); /* Sector offset in the cluster */ 80c6466: 68fb ldr r3, [r7, #12] 80c6468: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c646c: 0a54 lsrs r4, r2, #9 80c646e: ea44 54c3 orr.w r4, r4, r3, lsl #23 80c6472: 0a5d lsrs r5, r3, #9 80c6474: 4622 mov r2, r4 80c6476: 697b ldr r3, [r7, #20] 80c6478: 895b ldrh r3, [r3, #10] 80c647a: 3b01 subs r3, #1 80c647c: 4013 ands r3, r2 80c647e: 61fb str r3, [r7, #28] if (csect == 0) { /* On the cluster boundary? */ 80c6480: 69fb ldr r3, [r7, #28] 80c6482: 2b00 cmp r3, #0 80c6484: d132 bne.n 80c64ec if (fp->fptr == 0) { /* On the top of the file? */ 80c6486: 68fb ldr r3, [r7, #12] 80c6488: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c648c: 4313 orrs r3, r2 80c648e: d103 bne.n 80c6498 clst = fp->obj.sclust; /* Follow cluster chain from the origin */ 80c6490: 68fb ldr r3, [r7, #12] 80c6492: 689b ldr r3, [r3, #8] 80c6494: 63bb str r3, [r7, #56] ; 0x38 80c6496: e013 b.n 80c64c0 } else { /* Middle or end of the file */ #if _USE_FASTSEEK if (fp->cltbl) { 80c6498: 68fb ldr r3, [r7, #12] 80c649a: 6d1b ldr r3, [r3, #80] ; 0x50 80c649c: 2b00 cmp r3, #0 80c649e: d007 beq.n 80c64b0 clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */ 80c64a0: 68fb ldr r3, [r7, #12] 80c64a2: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c64a6: 68f8 ldr r0, [r7, #12] 80c64a8: f7fd fa8d bl 80c39c6 80c64ac: 63b8 str r0, [r7, #56] ; 0x38 80c64ae: e007 b.n 80c64c0 } else #endif { clst = get_fat(&fp->obj, fp->clust); /* Follow cluster chain on the FAT */ 80c64b0: 68fa ldr r2, [r7, #12] 80c64b2: 68fb ldr r3, [r7, #12] 80c64b4: 6c1b ldr r3, [r3, #64] ; 0x40 80c64b6: 4619 mov r1, r3 80c64b8: 4610 mov r0, r2 80c64ba: f7fc fd7d bl 80c2fb8 80c64be: 63b8 str r0, [r7, #56] ; 0x38 } } if (clst < 2) ABORT(fs, FR_INT_ERR); 80c64c0: 6bbb ldr r3, [r7, #56] ; 0x38 80c64c2: 2b01 cmp r3, #1 80c64c4: d805 bhi.n 80c64d2 80c64c6: 68fb ldr r3, [r7, #12] 80c64c8: 2202 movs r2, #2 80c64ca: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c64ce: 2302 movs r3, #2 80c64d0: e0b2 b.n 80c6638 if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80c64d2: 6bbb ldr r3, [r7, #56] ; 0x38 80c64d4: f1b3 3fff cmp.w r3, #4294967295 80c64d8: d105 bne.n 80c64e6 80c64da: 68fb ldr r3, [r7, #12] 80c64dc: 2201 movs r2, #1 80c64de: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c64e2: 2301 movs r3, #1 80c64e4: e0a8 b.n 80c6638 fp->clust = clst; /* Update current cluster */ 80c64e6: 68fb ldr r3, [r7, #12] 80c64e8: 6bba ldr r2, [r7, #56] ; 0x38 80c64ea: 641a str r2, [r3, #64] ; 0x40 } sect = clust2sect(fs, fp->clust); /* Get current sector */ 80c64ec: 697a ldr r2, [r7, #20] 80c64ee: 68fb ldr r3, [r7, #12] 80c64f0: 6c1b ldr r3, [r3, #64] ; 0x40 80c64f2: 4619 mov r1, r3 80c64f4: 4610 mov r0, r2 80c64f6: f7fc fd3f bl 80c2f78 80c64fa: 61b8 str r0, [r7, #24] if (!sect) ABORT(fs, FR_INT_ERR); 80c64fc: 69bb ldr r3, [r7, #24] 80c64fe: 2b00 cmp r3, #0 80c6500: d105 bne.n 80c650e 80c6502: 68fb ldr r3, [r7, #12] 80c6504: 2202 movs r2, #2 80c6506: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c650a: 2302 movs r3, #2 80c650c: e094 b.n 80c6638 sect += csect; 80c650e: 69ba ldr r2, [r7, #24] 80c6510: 69fb ldr r3, [r7, #28] 80c6512: 4413 add r3, r2 80c6514: 61bb str r3, [r7, #24] cc = btr / SS(fs); /* When remaining bytes >= sector size, */ 80c6516: 687b ldr r3, [r7, #4] 80c6518: 0a5b lsrs r3, r3, #9 80c651a: 633b str r3, [r7, #48] ; 0x30 if (cc) { /* Read maximum contiguous sectors directly */ 80c651c: 6b3b ldr r3, [r7, #48] ; 0x30 80c651e: 2b00 cmp r3, #0 80c6520: d039 beq.n 80c6596 if (csect + cc > fs->csize) { /* Clip at cluster boundary */ 80c6522: 69fa ldr r2, [r7, #28] 80c6524: 6b3b ldr r3, [r7, #48] ; 0x30 80c6526: 4413 add r3, r2 80c6528: 697a ldr r2, [r7, #20] 80c652a: 8952 ldrh r2, [r2, #10] 80c652c: 4293 cmp r3, r2 80c652e: d905 bls.n 80c653c cc = fs->csize - csect; 80c6530: 697b ldr r3, [r7, #20] 80c6532: 895b ldrh r3, [r3, #10] 80c6534: 461a mov r2, r3 80c6536: 69fb ldr r3, [r7, #28] 80c6538: 1ad3 subs r3, r2, r3 80c653a: 633b str r3, [r7, #48] ; 0x30 } if (disk_read(fs->drv, rbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); 80c653c: 697b ldr r3, [r7, #20] 80c653e: 7858 ldrb r0, [r3, #1] 80c6540: 6b3b ldr r3, [r7, #48] ; 0x30 80c6542: 69ba ldr r2, [r7, #24] 80c6544: 6af9 ldr r1, [r7, #44] ; 0x2c 80c6546: f7fc f99b bl 80c2880 80c654a: 4603 mov r3, r0 80c654c: 2b00 cmp r3, #0 80c654e: d005 beq.n 80c655c 80c6550: 68fb ldr r3, [r7, #12] 80c6552: 2201 movs r2, #1 80c6554: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6558: 2301 movs r3, #1 80c655a: e06d b.n 80c6638 #if !_FS_READONLY && _FS_MINIMIZE <= 2 /* Replace one of the read sectors with cached data if it contains a dirty sector */ #if _FS_TINY if (fs->wflag && fs->winsect - sect < cc) { 80c655c: 697b ldr r3, [r7, #20] 80c655e: 78db ldrb r3, [r3, #3] 80c6560: 2b00 cmp r3, #0 80c6562: d014 beq.n 80c658e 80c6564: 697b ldr r3, [r7, #20] 80c6566: 6b5a ldr r2, [r3, #52] ; 0x34 80c6568: 69bb ldr r3, [r7, #24] 80c656a: 1ad2 subs r2, r2, r3 80c656c: 6b3b ldr r3, [r7, #48] ; 0x30 80c656e: 429a cmp r2, r3 80c6570: d20d bcs.n 80c658e mem_cpy(rbuff + ((fs->winsect - sect) * SS(fs)), fs->win, SS(fs)); 80c6572: 697b ldr r3, [r7, #20] 80c6574: 6b5a ldr r2, [r3, #52] ; 0x34 80c6576: 69bb ldr r3, [r7, #24] 80c6578: 1ad3 subs r3, r2, r3 80c657a: 025b lsls r3, r3, #9 80c657c: 6afa ldr r2, [r7, #44] ; 0x2c 80c657e: 18d0 adds r0, r2, r3 80c6580: 697b ldr r3, [r7, #20] 80c6582: 3338 adds r3, #56 ; 0x38 80c6584: f44f 7200 mov.w r2, #512 ; 0x200 80c6588: 4619 mov r1, r3 80c658a: f7fc fb99 bl 80c2cc0 if ((fp->flag & FA_DIRTY) && fp->sect - sect < cc) { mem_cpy(rbuff + ((fp->sect - sect) * SS(fs)), fp->buf, SS(fs)); } #endif #endif rcnt = SS(fs) * cc; /* Number of bytes transferred */ 80c658e: 6b3b ldr r3, [r7, #48] ; 0x30 80c6590: 025b lsls r3, r3, #9 80c6592: 637b str r3, [r7, #52] ; 0x34 continue; 80c6594: e030 b.n 80c65f8 } #endif if (disk_read(fs->drv, fp->buf, sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); /* Fill sector cache */ } #endif fp->sect = sect; 80c6596: 68fb ldr r3, [r7, #12] 80c6598: 69ba ldr r2, [r7, #24] 80c659a: 645a str r2, [r3, #68] ; 0x44 } rcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes left in the sector */ 80c659c: 68fb ldr r3, [r7, #12] 80c659e: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c65a2: 4613 mov r3, r2 80c65a4: f3c3 0308 ubfx r3, r3, #0, #9 80c65a8: f5c3 7300 rsb r3, r3, #512 ; 0x200 80c65ac: 637b str r3, [r7, #52] ; 0x34 if (rcnt > btr) rcnt = btr; /* Clip it by btr if needed */ 80c65ae: 6b7a ldr r2, [r7, #52] ; 0x34 80c65b0: 687b ldr r3, [r7, #4] 80c65b2: 429a cmp r2, r3 80c65b4: d901 bls.n 80c65ba 80c65b6: 687b ldr r3, [r7, #4] 80c65b8: 637b str r3, [r7, #52] ; 0x34 #if _FS_TINY if (move_window(fs, fp->sect) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Move sector window */ 80c65ba: 697a ldr r2, [r7, #20] 80c65bc: 68fb ldr r3, [r7, #12] 80c65be: 6c5b ldr r3, [r3, #68] ; 0x44 80c65c0: 4619 mov r1, r3 80c65c2: 4610 mov r0, r2 80c65c4: f7fc fc3d bl 80c2e42 80c65c8: 4603 mov r3, r0 80c65ca: 2b00 cmp r3, #0 80c65cc: d005 beq.n 80c65da 80c65ce: 68fb ldr r3, [r7, #12] 80c65d0: 2201 movs r2, #1 80c65d2: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c65d6: 2301 movs r3, #1 80c65d8: e02e b.n 80c6638 mem_cpy(rbuff, fs->win + fp->fptr % SS(fs), rcnt); /* Extract partial sector */ 80c65da: 697b ldr r3, [r7, #20] 80c65dc: f103 0138 add.w r1, r3, #56 ; 0x38 80c65e0: 68fb ldr r3, [r7, #12] 80c65e2: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c65e6: 4613 mov r3, r2 80c65e8: f3c3 0308 ubfx r3, r3, #0, #9 80c65ec: 440b add r3, r1 80c65ee: 6b7a ldr r2, [r7, #52] ; 0x34 80c65f0: 4619 mov r1, r3 80c65f2: 6af8 ldr r0, [r7, #44] ; 0x2c 80c65f4: f7fc fb64 bl 80c2cc0 rbuff += rcnt, fp->fptr += rcnt, *br += rcnt, btr -= rcnt) { 80c65f8: 6afa ldr r2, [r7, #44] ; 0x2c 80c65fa: 6b7b ldr r3, [r7, #52] ; 0x34 80c65fc: 4413 add r3, r2 80c65fe: 62fb str r3, [r7, #44] ; 0x2c 80c6600: 68fb ldr r3, [r7, #12] 80c6602: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80c6606: 6b7b ldr r3, [r7, #52] ; 0x34 80c6608: 461a mov r2, r3 80c660a: f04f 0300 mov.w r3, #0 80c660e: 1812 adds r2, r2, r0 80c6610: eb43 0301 adc.w r3, r3, r1 80c6614: 68f9 ldr r1, [r7, #12] 80c6616: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 80c661a: 683b ldr r3, [r7, #0] 80c661c: 681a ldr r2, [r3, #0] 80c661e: 6b7b ldr r3, [r7, #52] ; 0x34 80c6620: 441a add r2, r3 80c6622: 683b ldr r3, [r7, #0] 80c6624: 601a str r2, [r3, #0] 80c6626: 687a ldr r2, [r7, #4] 80c6628: 6b7b ldr r3, [r7, #52] ; 0x34 80c662a: 1ad3 subs r3, r2, r3 80c662c: 607b str r3, [r7, #4] for ( ; btr; /* Repeat until all data read */ 80c662e: 687b ldr r3, [r7, #4] 80c6630: 2b00 cmp r3, #0 80c6632: f47f af0a bne.w 80c644a #else mem_cpy(rbuff, fp->buf + fp->fptr % SS(fs), rcnt); /* Extract partial sector */ #endif } LEAVE_FF(fs, FR_OK); 80c6636: 2300 movs r3, #0 } 80c6638: 4618 mov r0, r3 80c663a: 3740 adds r7, #64 ; 0x40 80c663c: 46bd mov sp, r7 80c663e: bdb0 pop {r4, r5, r7, pc} 080c6640 : FIL* fp, /* Pointer to the file object */ const void* buff, /* Pointer to the data to be written */ UINT btw, /* Number of bytes to write */ UINT* bw /* Pointer to number of bytes written */ ) { 80c6640: b5b0 push {r4, r5, r7, lr} 80c6642: b08c sub sp, #48 ; 0x30 80c6644: af00 add r7, sp, #0 80c6646: 60f8 str r0, [r7, #12] 80c6648: 60b9 str r1, [r7, #8] 80c664a: 607a str r2, [r7, #4] 80c664c: 603b str r3, [r7, #0] FRESULT res; FATFS *fs; DWORD clst, sect; UINT wcnt, cc, csect; const BYTE *wbuff = (const BYTE*)buff; 80c664e: 68bb ldr r3, [r7, #8] 80c6650: 61fb str r3, [r7, #28] *bw = 0; /* Clear write byte counter */ 80c6652: 683b ldr r3, [r7, #0] 80c6654: 2200 movs r2, #0 80c6656: 601a str r2, [r3, #0] res = validate(&fp->obj, &fs); /* Check validity of the file object */ 80c6658: 68fb ldr r3, [r7, #12] 80c665a: f107 0210 add.w r2, r7, #16 80c665e: 4611 mov r1, r2 80c6660: 4618 mov r0, r3 80c6662: f7ff fbd5 bl 80c5e10 80c6666: 4603 mov r3, r0 80c6668: f887 302f strb.w r3, [r7, #47] ; 0x2f if (res != FR_OK || (res = (FRESULT)fp->err) != FR_OK) LEAVE_FF(fs, res); /* Check validity */ 80c666c: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c6670: 2b00 cmp r3, #0 80c6672: d108 bne.n 80c6686 80c6674: 68fb ldr r3, [r7, #12] 80c6676: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80c667a: f887 302f strb.w r3, [r7, #47] ; 0x2f 80c667e: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c6682: 2b00 cmp r3, #0 80c6684: d002 beq.n 80c668c 80c6686: f897 302f ldrb.w r3, [r7, #47] ; 0x2f 80c668a: e175 b.n 80c6978 if (!(fp->flag & FA_WRITE)) LEAVE_FF(fs, FR_DENIED); /* Check access mode */ 80c668c: 68fb ldr r3, [r7, #12] 80c668e: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c6692: f003 0302 and.w r3, r3, #2 80c6696: 2b00 cmp r3, #0 80c6698: d101 bne.n 80c669e 80c669a: 2307 movs r3, #7 80c669c: e16c b.n 80c6978 /* Check fptr wrap-around (file size cannot reach 4GiB on FATxx) */ if ((!_FS_EXFAT || fs->fs_type != FS_EXFAT) && (DWORD)(fp->fptr + btw) < (DWORD)fp->fptr) { 80c669e: 693b ldr r3, [r7, #16] 80c66a0: 781b ldrb r3, [r3, #0] 80c66a2: 2b04 cmp r3, #4 80c66a4: f000 8158 beq.w 80c6958 80c66a8: 68fb ldr r3, [r7, #12] 80c66aa: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c66ae: 687b ldr r3, [r7, #4] 80c66b0: 18d1 adds r1, r2, r3 80c66b2: 68fb ldr r3, [r7, #12] 80c66b4: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c66b8: 4613 mov r3, r2 80c66ba: 4299 cmp r1, r3 80c66bc: f080 814c bcs.w 80c6958 btw = (UINT)(0xFFFFFFFF - (DWORD)fp->fptr); 80c66c0: 68fb ldr r3, [r7, #12] 80c66c2: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c66c6: 4613 mov r3, r2 80c66c8: 43db mvns r3, r3 80c66ca: 607b str r3, [r7, #4] } for ( ; btw; /* Repeat until all data written */ 80c66cc: e144 b.n 80c6958 wbuff += wcnt, fp->fptr += wcnt, fp->obj.objsize = (fp->fptr > fp->obj.objsize) ? fp->fptr : fp->obj.objsize, *bw += wcnt, btw -= wcnt) { if (fp->fptr % SS(fs) == 0) { /* On the sector boundary? */ 80c66ce: 68fb ldr r3, [r7, #12] 80c66d0: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c66d4: f240 10ff movw r0, #511 ; 0x1ff 80c66d8: f04f 0100 mov.w r1, #0 80c66dc: ea02 0200 and.w r2, r2, r0 80c66e0: ea03 0301 and.w r3, r3, r1 80c66e4: 4313 orrs r3, r2 80c66e6: f040 80dc bne.w 80c68a2 csect = (UINT)(fp->fptr / SS(fs)) & (fs->csize - 1); /* Sector offset in the cluster */ 80c66ea: 68fb ldr r3, [r7, #12] 80c66ec: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c66f0: 0a54 lsrs r4, r2, #9 80c66f2: ea44 54c3 orr.w r4, r4, r3, lsl #23 80c66f6: 0a5d lsrs r5, r3, #9 80c66f8: 4622 mov r2, r4 80c66fa: 693b ldr r3, [r7, #16] 80c66fc: 895b ldrh r3, [r3, #10] 80c66fe: 3b01 subs r3, #1 80c6700: 4013 ands r3, r2 80c6702: 61bb str r3, [r7, #24] if (csect == 0) { /* On the cluster boundary? */ 80c6704: 69bb ldr r3, [r7, #24] 80c6706: 2b00 cmp r3, #0 80c6708: d146 bne.n 80c6798 if (fp->fptr == 0) { /* On the top of the file? */ 80c670a: 68fb ldr r3, [r7, #12] 80c670c: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6710: 4313 orrs r3, r2 80c6712: d10c bne.n 80c672e clst = fp->obj.sclust; /* Follow from the origin */ 80c6714: 68fb ldr r3, [r7, #12] 80c6716: 689b ldr r3, [r3, #8] 80c6718: 62bb str r3, [r7, #40] ; 0x28 if (clst == 0) { /* If no cluster is allocated, */ 80c671a: 6abb ldr r3, [r7, #40] ; 0x28 80c671c: 2b00 cmp r3, #0 80c671e: d11a bne.n 80c6756 clst = create_chain(&fp->obj, 0); /* create a new cluster chain */ 80c6720: 68fb ldr r3, [r7, #12] 80c6722: 2100 movs r1, #0 80c6724: 4618 mov r0, r3 80c6726: f7fd f84d bl 80c37c4 80c672a: 62b8 str r0, [r7, #40] ; 0x28 80c672c: e013 b.n 80c6756 } } else { /* On the middle or end of the file */ #if _USE_FASTSEEK if (fp->cltbl) { 80c672e: 68fb ldr r3, [r7, #12] 80c6730: 6d1b ldr r3, [r3, #80] ; 0x50 80c6732: 2b00 cmp r3, #0 80c6734: d007 beq.n 80c6746 clst = clmt_clust(fp, fp->fptr); /* Get cluster# from the CLMT */ 80c6736: 68fb ldr r3, [r7, #12] 80c6738: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c673c: 68f8 ldr r0, [r7, #12] 80c673e: f7fd f942 bl 80c39c6 80c6742: 62b8 str r0, [r7, #40] ; 0x28 80c6744: e007 b.n 80c6756 } else #endif { clst = create_chain(&fp->obj, fp->clust); /* Follow or stretch cluster chain on the FAT */ 80c6746: 68fa ldr r2, [r7, #12] 80c6748: 68fb ldr r3, [r7, #12] 80c674a: 6c1b ldr r3, [r3, #64] ; 0x40 80c674c: 4619 mov r1, r3 80c674e: 4610 mov r0, r2 80c6750: f7fd f838 bl 80c37c4 80c6754: 62b8 str r0, [r7, #40] ; 0x28 } } if (clst == 0) break; /* Could not allocate a new cluster (disk full) */ 80c6756: 6abb ldr r3, [r7, #40] ; 0x28 80c6758: 2b00 cmp r3, #0 80c675a: f000 8102 beq.w 80c6962 if (clst == 1) ABORT(fs, FR_INT_ERR); 80c675e: 6abb ldr r3, [r7, #40] ; 0x28 80c6760: 2b01 cmp r3, #1 80c6762: d105 bne.n 80c6770 80c6764: 68fb ldr r3, [r7, #12] 80c6766: 2202 movs r2, #2 80c6768: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c676c: 2302 movs r3, #2 80c676e: e103 b.n 80c6978 if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80c6770: 6abb ldr r3, [r7, #40] ; 0x28 80c6772: f1b3 3fff cmp.w r3, #4294967295 80c6776: d105 bne.n 80c6784 80c6778: 68fb ldr r3, [r7, #12] 80c677a: 2201 movs r2, #1 80c677c: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6780: 2301 movs r3, #1 80c6782: e0f9 b.n 80c6978 fp->clust = clst; /* Update current cluster */ 80c6784: 68fb ldr r3, [r7, #12] 80c6786: 6aba ldr r2, [r7, #40] ; 0x28 80c6788: 641a str r2, [r3, #64] ; 0x40 if (fp->obj.sclust == 0) fp->obj.sclust = clst; /* Set start cluster if the first write */ 80c678a: 68fb ldr r3, [r7, #12] 80c678c: 689b ldr r3, [r3, #8] 80c678e: 2b00 cmp r3, #0 80c6790: d102 bne.n 80c6798 80c6792: 68fb ldr r3, [r7, #12] 80c6794: 6aba ldr r2, [r7, #40] ; 0x28 80c6796: 609a str r2, [r3, #8] } #if _FS_TINY if (fs->winsect == fp->sect && sync_window(fs) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Write-back sector cache */ 80c6798: 693b ldr r3, [r7, #16] 80c679a: 6b5a ldr r2, [r3, #52] ; 0x34 80c679c: 68fb ldr r3, [r7, #12] 80c679e: 6c5b ldr r3, [r3, #68] ; 0x44 80c67a0: 429a cmp r2, r3 80c67a2: d10c bne.n 80c67be 80c67a4: 693b ldr r3, [r7, #16] 80c67a6: 4618 mov r0, r3 80c67a8: f7fc fb07 bl 80c2dba 80c67ac: 4603 mov r3, r0 80c67ae: 2b00 cmp r3, #0 80c67b0: d005 beq.n 80c67be 80c67b2: 68fb ldr r3, [r7, #12] 80c67b4: 2201 movs r2, #1 80c67b6: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c67ba: 2301 movs r3, #1 80c67bc: e0dc b.n 80c6978 if (fp->flag & FA_DIRTY) { /* Write-back sector cache */ if (disk_write(fs->drv, fp->buf, fp->sect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); fp->flag &= (BYTE)~FA_DIRTY; } #endif sect = clust2sect(fs, fp->clust); /* Get current sector */ 80c67be: 693a ldr r2, [r7, #16] 80c67c0: 68fb ldr r3, [r7, #12] 80c67c2: 6c1b ldr r3, [r3, #64] ; 0x40 80c67c4: 4619 mov r1, r3 80c67c6: 4610 mov r0, r2 80c67c8: f7fc fbd6 bl 80c2f78 80c67cc: 6178 str r0, [r7, #20] if (!sect) ABORT(fs, FR_INT_ERR); 80c67ce: 697b ldr r3, [r7, #20] 80c67d0: 2b00 cmp r3, #0 80c67d2: d105 bne.n 80c67e0 80c67d4: 68fb ldr r3, [r7, #12] 80c67d6: 2202 movs r2, #2 80c67d8: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c67dc: 2302 movs r3, #2 80c67de: e0cb b.n 80c6978 sect += csect; 80c67e0: 697a ldr r2, [r7, #20] 80c67e2: 69bb ldr r3, [r7, #24] 80c67e4: 4413 add r3, r2 80c67e6: 617b str r3, [r7, #20] cc = btw / SS(fs); /* When remaining bytes >= sector size, */ 80c67e8: 687b ldr r3, [r7, #4] 80c67ea: 0a5b lsrs r3, r3, #9 80c67ec: 623b str r3, [r7, #32] if (cc) { /* Write maximum contiguous sectors directly */ 80c67ee: 6a3b ldr r3, [r7, #32] 80c67f0: 2b00 cmp r3, #0 80c67f2: d039 beq.n 80c6868 if (csect + cc > fs->csize) { /* Clip at cluster boundary */ 80c67f4: 69ba ldr r2, [r7, #24] 80c67f6: 6a3b ldr r3, [r7, #32] 80c67f8: 4413 add r3, r2 80c67fa: 693a ldr r2, [r7, #16] 80c67fc: 8952 ldrh r2, [r2, #10] 80c67fe: 4293 cmp r3, r2 80c6800: d905 bls.n 80c680e cc = fs->csize - csect; 80c6802: 693b ldr r3, [r7, #16] 80c6804: 895b ldrh r3, [r3, #10] 80c6806: 461a mov r2, r3 80c6808: 69bb ldr r3, [r7, #24] 80c680a: 1ad3 subs r3, r2, r3 80c680c: 623b str r3, [r7, #32] } if (disk_write(fs->drv, wbuff, sect, cc) != RES_OK) ABORT(fs, FR_DISK_ERR); 80c680e: 693b ldr r3, [r7, #16] 80c6810: 7858 ldrb r0, [r3, #1] 80c6812: 6a3b ldr r3, [r7, #32] 80c6814: 697a ldr r2, [r7, #20] 80c6816: 69f9 ldr r1, [r7, #28] 80c6818: f7fc f852 bl 80c28c0 80c681c: 4603 mov r3, r0 80c681e: 2b00 cmp r3, #0 80c6820: d005 beq.n 80c682e 80c6822: 68fb ldr r3, [r7, #12] 80c6824: 2201 movs r2, #1 80c6826: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c682a: 2301 movs r3, #1 80c682c: e0a4 b.n 80c6978 #if _FS_MINIMIZE <= 2 #if _FS_TINY if (fs->winsect - sect < cc) { /* Refill sector cache if it gets invalidated by the direct write */ 80c682e: 693b ldr r3, [r7, #16] 80c6830: 6b5a ldr r2, [r3, #52] ; 0x34 80c6832: 697b ldr r3, [r7, #20] 80c6834: 1ad2 subs r2, r2, r3 80c6836: 6a3b ldr r3, [r7, #32] 80c6838: 429a cmp r2, r3 80c683a: d211 bcs.n 80c6860 mem_cpy(fs->win, wbuff + ((fs->winsect - sect) * SS(fs)), SS(fs)); 80c683c: 693b ldr r3, [r7, #16] 80c683e: f103 0038 add.w r0, r3, #56 ; 0x38 80c6842: 693b ldr r3, [r7, #16] 80c6844: 6b5a ldr r2, [r3, #52] ; 0x34 80c6846: 697b ldr r3, [r7, #20] 80c6848: 1ad3 subs r3, r2, r3 80c684a: 025b lsls r3, r3, #9 80c684c: 69fa ldr r2, [r7, #28] 80c684e: 4413 add r3, r2 80c6850: f44f 7200 mov.w r2, #512 ; 0x200 80c6854: 4619 mov r1, r3 80c6856: f7fc fa33 bl 80c2cc0 fs->wflag = 0; 80c685a: 693b ldr r3, [r7, #16] 80c685c: 2200 movs r2, #0 80c685e: 70da strb r2, [r3, #3] mem_cpy(fp->buf, wbuff + ((fp->sect - sect) * SS(fs)), SS(fs)); fp->flag &= (BYTE)~FA_DIRTY; } #endif #endif wcnt = SS(fs) * cc; /* Number of bytes transferred */ 80c6860: 6a3b ldr r3, [r7, #32] 80c6862: 025b lsls r3, r3, #9 80c6864: 627b str r3, [r7, #36] ; 0x24 continue; 80c6866: e04d b.n 80c6904 } #if _FS_TINY if (fp->fptr >= fp->obj.objsize) { /* Avoid silly cache filling on the growing edge */ 80c6868: 68fb ldr r3, [r7, #12] 80c686a: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80c686e: 68fb ldr r3, [r7, #12] 80c6870: e9d3 2304 ldrd r2, r3, [r3, #16] 80c6874: 4299 cmp r1, r3 80c6876: bf08 it eq 80c6878: 4290 cmpeq r0, r2 80c687a: d30f bcc.n 80c689c if (sync_window(fs) != FR_OK) ABORT(fs, FR_DISK_ERR); 80c687c: 693b ldr r3, [r7, #16] 80c687e: 4618 mov r0, r3 80c6880: f7fc fa9b bl 80c2dba 80c6884: 4603 mov r3, r0 80c6886: 2b00 cmp r3, #0 80c6888: d005 beq.n 80c6896 80c688a: 68fb ldr r3, [r7, #12] 80c688c: 2201 movs r2, #1 80c688e: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6892: 2301 movs r3, #1 80c6894: e070 b.n 80c6978 fs->winsect = sect; 80c6896: 693b ldr r3, [r7, #16] 80c6898: 697a ldr r2, [r7, #20] 80c689a: 635a str r2, [r3, #52] ; 0x34 fp->fptr < fp->obj.objsize && disk_read(fs->drv, fp->buf, sect, 1) != RES_OK) { ABORT(fs, FR_DISK_ERR); } #endif fp->sect = sect; 80c689c: 68fb ldr r3, [r7, #12] 80c689e: 697a ldr r2, [r7, #20] 80c68a0: 645a str r2, [r3, #68] ; 0x44 } wcnt = SS(fs) - (UINT)fp->fptr % SS(fs); /* Number of bytes left in the sector */ 80c68a2: 68fb ldr r3, [r7, #12] 80c68a4: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c68a8: 4613 mov r3, r2 80c68aa: f3c3 0308 ubfx r3, r3, #0, #9 80c68ae: f5c3 7300 rsb r3, r3, #512 ; 0x200 80c68b2: 627b str r3, [r7, #36] ; 0x24 if (wcnt > btw) wcnt = btw; /* Clip it by btw if needed */ 80c68b4: 6a7a ldr r2, [r7, #36] ; 0x24 80c68b6: 687b ldr r3, [r7, #4] 80c68b8: 429a cmp r2, r3 80c68ba: d901 bls.n 80c68c0 80c68bc: 687b ldr r3, [r7, #4] 80c68be: 627b str r3, [r7, #36] ; 0x24 #if _FS_TINY if (move_window(fs, fp->sect) != FR_OK) ABORT(fs, FR_DISK_ERR); /* Move sector window */ 80c68c0: 693a ldr r2, [r7, #16] 80c68c2: 68fb ldr r3, [r7, #12] 80c68c4: 6c5b ldr r3, [r3, #68] ; 0x44 80c68c6: 4619 mov r1, r3 80c68c8: 4610 mov r0, r2 80c68ca: f7fc faba bl 80c2e42 80c68ce: 4603 mov r3, r0 80c68d0: 2b00 cmp r3, #0 80c68d2: d005 beq.n 80c68e0 80c68d4: 68fb ldr r3, [r7, #12] 80c68d6: 2201 movs r2, #1 80c68d8: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c68dc: 2301 movs r3, #1 80c68de: e04b b.n 80c6978 mem_cpy(fs->win + fp->fptr % SS(fs), wbuff, wcnt); /* Fit data to the sector */ 80c68e0: 693b ldr r3, [r7, #16] 80c68e2: f103 0138 add.w r1, r3, #56 ; 0x38 80c68e6: 68fb ldr r3, [r7, #12] 80c68e8: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c68ec: 4613 mov r3, r2 80c68ee: f3c3 0308 ubfx r3, r3, #0, #9 80c68f2: 440b add r3, r1 80c68f4: 6a7a ldr r2, [r7, #36] ; 0x24 80c68f6: 69f9 ldr r1, [r7, #28] 80c68f8: 4618 mov r0, r3 80c68fa: f7fc f9e1 bl 80c2cc0 fs->wflag = 1; 80c68fe: 693b ldr r3, [r7, #16] 80c6900: 2201 movs r2, #1 80c6902: 70da strb r2, [r3, #3] wbuff += wcnt, fp->fptr += wcnt, fp->obj.objsize = (fp->fptr > fp->obj.objsize) ? fp->fptr : fp->obj.objsize, *bw += wcnt, btw -= wcnt) { 80c6904: 69fa ldr r2, [r7, #28] 80c6906: 6a7b ldr r3, [r7, #36] ; 0x24 80c6908: 4413 add r3, r2 80c690a: 61fb str r3, [r7, #28] 80c690c: 68fb ldr r3, [r7, #12] 80c690e: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80c6912: 6a7b ldr r3, [r7, #36] ; 0x24 80c6914: 461a mov r2, r3 80c6916: f04f 0300 mov.w r3, #0 80c691a: 1812 adds r2, r2, r0 80c691c: eb43 0301 adc.w r3, r3, r1 80c6920: 68f9 ldr r1, [r7, #12] 80c6922: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 80c6926: 68fb ldr r3, [r7, #12] 80c6928: e9d3 2304 ldrd r2, r3, [r3, #16] 80c692c: 68f9 ldr r1, [r7, #12] 80c692e: e9d1 010e ldrd r0, r1, [r1, #56] ; 0x38 80c6932: 428b cmp r3, r1 80c6934: bf08 it eq 80c6936: 4282 cmpeq r2, r0 80c6938: d201 bcs.n 80c693e 80c693a: 4602 mov r2, r0 80c693c: 460b mov r3, r1 80c693e: 68f9 ldr r1, [r7, #12] 80c6940: e9c1 2304 strd r2, r3, [r1, #16] 80c6944: 683b ldr r3, [r7, #0] 80c6946: 681a ldr r2, [r3, #0] 80c6948: 6a7b ldr r3, [r7, #36] ; 0x24 80c694a: 441a add r2, r3 80c694c: 683b ldr r3, [r7, #0] 80c694e: 601a str r2, [r3, #0] 80c6950: 687a ldr r2, [r7, #4] 80c6952: 6a7b ldr r3, [r7, #36] ; 0x24 80c6954: 1ad3 subs r3, r2, r3 80c6956: 607b str r3, [r7, #4] for ( ; btw; /* Repeat until all data written */ 80c6958: 687b ldr r3, [r7, #4] 80c695a: 2b00 cmp r3, #0 80c695c: f47f aeb7 bne.w 80c66ce 80c6960: e000 b.n 80c6964 if (clst == 0) break; /* Could not allocate a new cluster (disk full) */ 80c6962: bf00 nop mem_cpy(fp->buf + fp->fptr % SS(fs), wbuff, wcnt); /* Fit data to the sector */ fp->flag |= FA_DIRTY; #endif } fp->flag |= FA_MODIFIED; /* Set file change flag */ 80c6964: 68fb ldr r3, [r7, #12] 80c6966: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c696a: f043 0340 orr.w r3, r3, #64 ; 0x40 80c696e: b2da uxtb r2, r3 80c6970: 68fb ldr r3, [r7, #12] 80c6972: f883 2030 strb.w r2, [r3, #48] ; 0x30 LEAVE_FF(fs, FR_OK); 80c6976: 2300 movs r3, #0 } 80c6978: 4618 mov r0, r3 80c697a: 3730 adds r7, #48 ; 0x30 80c697c: 46bd mov sp, r7 80c697e: bdb0 pop {r4, r5, r7, pc} 080c6980 : /*-----------------------------------------------------------------------*/ FRESULT f_sync ( FIL* fp /* Pointer to the file object */ ) { 80c6980: b590 push {r4, r7, lr} 80c6982: b09b sub sp, #108 ; 0x6c 80c6984: af00 add r7, sp, #0 80c6986: 6078 str r0, [r7, #4] #if _FS_EXFAT DIR dj; DEF_NAMBUF #endif res = validate(&fp->obj, &fs); /* Check validity of the file object */ 80c6988: 687b ldr r3, [r7, #4] 80c698a: f107 0258 add.w r2, r7, #88 ; 0x58 80c698e: 4611 mov r1, r2 80c6990: 4618 mov r0, r3 80c6992: f7ff fa3d bl 80c5e10 80c6996: 4603 mov r3, r0 80c6998: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80c699c: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c69a0: 2b00 cmp r3, #0 80c69a2: f040 80eb bne.w 80c6b7c if (fp->flag & FA_MODIFIED) { /* Is there any change to the file? */ 80c69a6: 687b ldr r3, [r7, #4] 80c69a8: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c69ac: f003 0340 and.w r3, r3, #64 ; 0x40 80c69b0: 2b00 cmp r3, #0 80c69b2: f000 80e3 beq.w 80c6b7c if (disk_write(fs->drv, fp->buf, fp->sect, 1) != RES_OK) LEAVE_FF(fs, FR_DISK_ERR); fp->flag &= (BYTE)~FA_DIRTY; } #endif /* Update the directory entry */ tm = GET_FATTIME(); /* Modified time */ 80c69b6: f7f8 feb1 bl 80bf71c 80c69ba: 6638 str r0, [r7, #96] ; 0x60 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c69bc: 6dbb ldr r3, [r7, #88] ; 0x58 80c69be: 781b ldrb r3, [r3, #0] 80c69c0: 2b04 cmp r3, #4 80c69c2: f040 8090 bne.w 80c6ae6 res = fill_first_frag(&fp->obj); /* Fill first fragment on the FAT if needed */ 80c69c6: 687b ldr r3, [r7, #4] 80c69c8: 4618 mov r0, r3 80c69ca: f7fc fde7 bl 80c359c 80c69ce: 4603 mov r3, r0 80c69d0: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80c69d4: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c69d8: 2b00 cmp r3, #0 80c69da: d10a bne.n 80c69f2 res = fill_last_frag(&fp->obj, fp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ 80c69dc: 6878 ldr r0, [r7, #4] 80c69de: 687b ldr r3, [r7, #4] 80c69e0: 6c1b ldr r3, [r3, #64] ; 0x40 80c69e2: f04f 32ff mov.w r2, #4294967295 80c69e6: 4619 mov r1, r3 80c69e8: f7fc fe07 bl 80c35fa 80c69ec: 4603 mov r3, r0 80c69ee: f887 3067 strb.w r3, [r7, #103] ; 0x67 } if (res == FR_OK) { 80c69f2: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c69f6: 2b00 cmp r3, #0 80c69f8: f040 80c0 bne.w 80c6b7c INIT_NAMBUF(fs); res = load_obj_dir(&dj, &fp->obj); /* Load directory entry block */ 80c69fc: 687a ldr r2, [r7, #4] 80c69fe: f107 0308 add.w r3, r7, #8 80c6a02: 4611 mov r1, r2 80c6a04: 4618 mov r0, r3 80c6a06: f7fd fdd3 bl 80c45b0 80c6a0a: 4603 mov r3, r0 80c6a0c: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80c6a10: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c6a14: 2b00 cmp r3, #0 80c6a16: f040 80b1 bne.w 80c6b7c fs->dirbuf[XDIR_Attr] |= AM_ARC; /* Set archive bit */ 80c6a1a: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a1c: 691b ldr r3, [r3, #16] 80c6a1e: 3304 adds r3, #4 80c6a20: 6dba ldr r2, [r7, #88] ; 0x58 80c6a22: 6912 ldr r2, [r2, #16] 80c6a24: 3204 adds r2, #4 80c6a26: 7812 ldrb r2, [r2, #0] 80c6a28: f042 0220 orr.w r2, r2, #32 80c6a2c: b2d2 uxtb r2, r2 80c6a2e: 701a strb r2, [r3, #0] fs->dirbuf[XDIR_GenFlags] = fp->obj.stat | 1; /* Update file allocation info */ 80c6a30: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a32: 691b ldr r3, [r3, #16] 80c6a34: 3321 adds r3, #33 ; 0x21 80c6a36: 687a ldr r2, [r7, #4] 80c6a38: 79d2 ldrb r2, [r2, #7] 80c6a3a: f042 0201 orr.w r2, r2, #1 80c6a3e: b2d2 uxtb r2, r2 80c6a40: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_FstClus, fp->obj.sclust); 80c6a42: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a44: 691b ldr r3, [r3, #16] 80c6a46: f103 0234 add.w r2, r3, #52 ; 0x34 80c6a4a: 687b ldr r3, [r7, #4] 80c6a4c: 689b ldr r3, [r3, #8] 80c6a4e: 4619 mov r1, r3 80c6a50: 4610 mov r0, r2 80c6a52: f7fc f878 bl 80c2b46 st_qword(fs->dirbuf + XDIR_FileSize, fp->obj.objsize); 80c6a56: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a58: 691b ldr r3, [r3, #16] 80c6a5a: f103 0138 add.w r1, r3, #56 ; 0x38 80c6a5e: 687b ldr r3, [r7, #4] 80c6a60: e9d3 3404 ldrd r3, r4, [r3, #16] 80c6a64: 461a mov r2, r3 80c6a66: 4623 mov r3, r4 80c6a68: 4608 mov r0, r1 80c6a6a: f7fc f898 bl 80c2b9e st_qword(fs->dirbuf + XDIR_ValidFileSize, fp->obj.objsize); 80c6a6e: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a70: 691b ldr r3, [r3, #16] 80c6a72: f103 0128 add.w r1, r3, #40 ; 0x28 80c6a76: 687b ldr r3, [r7, #4] 80c6a78: e9d3 3404 ldrd r3, r4, [r3, #16] 80c6a7c: 461a mov r2, r3 80c6a7e: 4623 mov r3, r4 80c6a80: 4608 mov r0, r1 80c6a82: f7fc f88c bl 80c2b9e st_dword(fs->dirbuf + XDIR_ModTime, tm); /* Update modified time */ 80c6a86: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a88: 691b ldr r3, [r3, #16] 80c6a8a: 330c adds r3, #12 80c6a8c: 6e39 ldr r1, [r7, #96] ; 0x60 80c6a8e: 4618 mov r0, r3 80c6a90: f7fc f859 bl 80c2b46 fs->dirbuf[XDIR_ModTime10] = 0; 80c6a94: 6dbb ldr r3, [r7, #88] ; 0x58 80c6a96: 691b ldr r3, [r3, #16] 80c6a98: 3315 adds r3, #21 80c6a9a: 2200 movs r2, #0 80c6a9c: 701a strb r2, [r3, #0] st_dword(fs->dirbuf + XDIR_AccTime, 0); 80c6a9e: 6dbb ldr r3, [r7, #88] ; 0x58 80c6aa0: 691b ldr r3, [r3, #16] 80c6aa2: 3310 adds r3, #16 80c6aa4: 2100 movs r1, #0 80c6aa6: 4618 mov r0, r3 80c6aa8: f7fc f84d bl 80c2b46 res = store_xdir(&dj); /* Restore it to the directory */ 80c6aac: f107 0308 add.w r3, r7, #8 80c6ab0: 4618 mov r0, r3 80c6ab2: f7fd fdb7 bl 80c4624 80c6ab6: 4603 mov r3, r0 80c6ab8: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80c6abc: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c6ac0: 2b00 cmp r3, #0 80c6ac2: d15b bne.n 80c6b7c res = sync_fs(fs); 80c6ac4: 6dbb ldr r3, [r7, #88] ; 0x58 80c6ac6: 4618 mov r0, r3 80c6ac8: f7fc f9e8 bl 80c2e9c 80c6acc: 4603 mov r3, r0 80c6ace: f887 3067 strb.w r3, [r7, #103] ; 0x67 fp->flag &= (BYTE)~FA_MODIFIED; 80c6ad2: 687b ldr r3, [r7, #4] 80c6ad4: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c6ad8: f023 0340 bic.w r3, r3, #64 ; 0x40 80c6adc: b2da uxtb r2, r3 80c6ade: 687b ldr r3, [r7, #4] 80c6ae0: f883 2030 strb.w r2, [r3, #48] ; 0x30 80c6ae4: e04a b.n 80c6b7c FREE_NAMBUF(); } } else #endif { res = move_window(fs, fp->dir_sect); 80c6ae6: 6dba ldr r2, [r7, #88] ; 0x58 80c6ae8: 687b ldr r3, [r7, #4] 80c6aea: 6c9b ldr r3, [r3, #72] ; 0x48 80c6aec: 4619 mov r1, r3 80c6aee: 4610 mov r0, r2 80c6af0: f7fc f9a7 bl 80c2e42 80c6af4: 4603 mov r3, r0 80c6af6: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80c6afa: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c6afe: 2b00 cmp r3, #0 80c6b00: d13c bne.n 80c6b7c dir = fp->dir_ptr; 80c6b02: 687b ldr r3, [r7, #4] 80c6b04: 6cdb ldr r3, [r3, #76] ; 0x4c 80c6b06: 65fb str r3, [r7, #92] ; 0x5c dir[DIR_Attr] |= AM_ARC; /* Set archive bit */ 80c6b08: 6dfb ldr r3, [r7, #92] ; 0x5c 80c6b0a: 330b adds r3, #11 80c6b0c: 6dfa ldr r2, [r7, #92] ; 0x5c 80c6b0e: 320b adds r2, #11 80c6b10: 7812 ldrb r2, [r2, #0] 80c6b12: f042 0220 orr.w r2, r2, #32 80c6b16: b2d2 uxtb r2, r2 80c6b18: 701a strb r2, [r3, #0] st_clust(fp->obj.fs, dir, fp->obj.sclust); /* Update file allocation info */ 80c6b1a: 687b ldr r3, [r7, #4] 80c6b1c: 6818 ldr r0, [r3, #0] 80c6b1e: 687b ldr r3, [r7, #4] 80c6b20: 689b ldr r3, [r3, #8] 80c6b22: 461a mov r2, r3 80c6b24: 6df9 ldr r1, [r7, #92] ; 0x5c 80c6b26: f7fd f962 bl 80c3dee st_dword(dir + DIR_FileSize, (DWORD)fp->obj.objsize); /* Update file size */ 80c6b2a: 6dfb ldr r3, [r7, #92] ; 0x5c 80c6b2c: f103 021c add.w r2, r3, #28 80c6b30: 687b ldr r3, [r7, #4] 80c6b32: e9d3 3404 ldrd r3, r4, [r3, #16] 80c6b36: 4619 mov r1, r3 80c6b38: 4610 mov r0, r2 80c6b3a: f7fc f804 bl 80c2b46 st_dword(dir + DIR_ModTime, tm); /* Update modified time */ 80c6b3e: 6dfb ldr r3, [r7, #92] ; 0x5c 80c6b40: 3316 adds r3, #22 80c6b42: 6e39 ldr r1, [r7, #96] ; 0x60 80c6b44: 4618 mov r0, r3 80c6b46: f7fb fffe bl 80c2b46 st_word(dir + DIR_LstAccDate, 0); 80c6b4a: 6dfb ldr r3, [r7, #92] ; 0x5c 80c6b4c: 3312 adds r3, #18 80c6b4e: 2100 movs r1, #0 80c6b50: 4618 mov r0, r3 80c6b52: f7fb ffdd bl 80c2b10 fs->wflag = 1; 80c6b56: 6dbb ldr r3, [r7, #88] ; 0x58 80c6b58: 2201 movs r2, #1 80c6b5a: 70da strb r2, [r3, #3] res = sync_fs(fs); /* Restore it to the directory */ 80c6b5c: 6dbb ldr r3, [r7, #88] ; 0x58 80c6b5e: 4618 mov r0, r3 80c6b60: f7fc f99c bl 80c2e9c 80c6b64: 4603 mov r3, r0 80c6b66: f887 3067 strb.w r3, [r7, #103] ; 0x67 fp->flag &= (BYTE)~FA_MODIFIED; 80c6b6a: 687b ldr r3, [r7, #4] 80c6b6c: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c6b70: f023 0340 bic.w r3, r3, #64 ; 0x40 80c6b74: b2da uxtb r2, r3 80c6b76: 687b ldr r3, [r7, #4] 80c6b78: f883 2030 strb.w r2, [r3, #48] ; 0x30 } } } } LEAVE_FF(fs, res); 80c6b7c: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 } 80c6b80: 4618 mov r0, r3 80c6b82: 376c adds r7, #108 ; 0x6c 80c6b84: 46bd mov sp, r7 80c6b86: bd90 pop {r4, r7, pc} 080c6b88 : /*-----------------------------------------------------------------------*/ FRESULT f_close ( FIL* fp /* Pointer to the file object to be closed */ ) { 80c6b88: b580 push {r7, lr} 80c6b8a: b084 sub sp, #16 80c6b8c: af00 add r7, sp, #0 80c6b8e: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs; #if !_FS_READONLY res = f_sync(fp); /* Flush cached data */ 80c6b90: 6878 ldr r0, [r7, #4] 80c6b92: f7ff fef5 bl 80c6980 80c6b96: 4603 mov r3, r0 80c6b98: 73fb strb r3, [r7, #15] if (res == FR_OK) 80c6b9a: 7bfb ldrb r3, [r7, #15] 80c6b9c: 2b00 cmp r3, #0 80c6b9e: d10e bne.n 80c6bbe #endif { res = validate(&fp->obj, &fs); /* Lock volume */ 80c6ba0: 687b ldr r3, [r7, #4] 80c6ba2: f107 0208 add.w r2, r7, #8 80c6ba6: 4611 mov r1, r2 80c6ba8: 4618 mov r0, r3 80c6baa: f7ff f931 bl 80c5e10 80c6bae: 4603 mov r3, r0 80c6bb0: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c6bb2: 7bfb ldrb r3, [r7, #15] 80c6bb4: 2b00 cmp r3, #0 80c6bb6: d102 bne.n 80c6bbe #if _FS_LOCK != 0 res = dec_lock(fp->obj.lockid); /* Decrement file open counter */ if (res == FR_OK) #endif { fp->obj.fs = 0; /* Invalidate file object */ 80c6bb8: 687b ldr r3, [r7, #4] 80c6bba: 2200 movs r2, #0 80c6bbc: 601a str r2, [r3, #0] #if _FS_REENTRANT unlock_fs(fs, FR_OK); /* Unlock volume */ #endif } } return res; 80c6bbe: 7bfb ldrb r3, [r7, #15] } 80c6bc0: 4618 mov r0, r3 80c6bc2: 3710 adds r7, #16 80c6bc4: 46bd mov sp, r7 80c6bc6: bd80 pop {r7, pc} 080c6bc8 : FRESULT f_lseek ( FIL* fp, /* Pointer to the file object */ FSIZE_t ofs /* File pointer from top of file */ ) { 80c6bc8: e92d 43b0 stmdb sp!, {r4, r5, r7, r8, r9, lr} 80c6bcc: b094 sub sp, #80 ; 0x50 80c6bce: af00 add r7, sp, #0 80c6bd0: 60f8 str r0, [r7, #12] 80c6bd2: e9c7 2300 strd r2, r3, [r7] FSIZE_t ifptr; #if _USE_FASTSEEK DWORD cl, pcl, ncl, tcl, dsc, tlen, ulen, *tbl; #endif res = validate(&fp->obj, &fs); /* Check validity of the file object */ 80c6bd6: 68fb ldr r3, [r7, #12] 80c6bd8: f107 0210 add.w r2, r7, #16 80c6bdc: 4611 mov r1, r2 80c6bde: 4618 mov r0, r3 80c6be0: f7ff f916 bl 80c5e10 80c6be4: 4603 mov r3, r0 80c6be6: f887 304f strb.w r3, [r7, #79] ; 0x4f if (res == FR_OK) res = (FRESULT)fp->err; 80c6bea: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80c6bee: 2b00 cmp r3, #0 80c6bf0: d104 bne.n 80c6bfc 80c6bf2: 68fb ldr r3, [r7, #12] 80c6bf4: f893 3031 ldrb.w r3, [r3, #49] ; 0x31 80c6bf8: f887 304f strb.w r3, [r7, #79] ; 0x4f #if _FS_EXFAT && !_FS_READONLY if (res == FR_OK && fs->fs_type == FS_EXFAT) { 80c6bfc: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80c6c00: 2b00 cmp r3, #0 80c6c02: d10e bne.n 80c6c22 80c6c04: 693b ldr r3, [r7, #16] 80c6c06: 781b ldrb r3, [r3, #0] 80c6c08: 2b04 cmp r3, #4 80c6c0a: d10a bne.n 80c6c22 res = fill_last_frag(&fp->obj, fp->clust, 0xFFFFFFFF); /* Fill last fragment on the FAT if needed */ 80c6c0c: 68f8 ldr r0, [r7, #12] 80c6c0e: 68fb ldr r3, [r7, #12] 80c6c10: 6c1b ldr r3, [r3, #64] ; 0x40 80c6c12: f04f 32ff mov.w r2, #4294967295 80c6c16: 4619 mov r1, r3 80c6c18: f7fc fcef bl 80c35fa 80c6c1c: 4603 mov r3, r0 80c6c1e: f887 304f strb.w r3, [r7, #79] ; 0x4f } #endif if (res != FR_OK) LEAVE_FF(fs, res); 80c6c22: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80c6c26: 2b00 cmp r3, #0 80c6c28: d002 beq.n 80c6c30 80c6c2a: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80c6c2e: e24f b.n 80c70d0 #if _USE_FASTSEEK if (fp->cltbl) { /* Fast seek */ 80c6c30: 68fb ldr r3, [r7, #12] 80c6c32: 6d1b ldr r3, [r3, #80] ; 0x50 80c6c34: 2b00 cmp r3, #0 80c6c36: f000 80c8 beq.w 80c6dca if (ofs == CREATE_LINKMAP) { /* Create CLMT */ 80c6c3a: e897 0018 ldmia.w r7, {r3, r4} 80c6c3e: f1b4 3fff cmp.w r4, #4294967295 80c6c42: bf08 it eq 80c6c44: f1b3 3fff cmpeq.w r3, #4294967295 80c6c48: d15c bne.n 80c6d04 tbl = fp->cltbl; 80c6c4a: 68fb ldr r3, [r7, #12] 80c6c4c: 6d1b ldr r3, [r3, #80] ; 0x50 80c6c4e: 637b str r3, [r7, #52] ; 0x34 tlen = *tbl++; ulen = 2; /* Given table size and required table size */ 80c6c50: 6b7b ldr r3, [r7, #52] ; 0x34 80c6c52: 1d1a adds r2, r3, #4 80c6c54: 637a str r2, [r7, #52] ; 0x34 80c6c56: 681b ldr r3, [r3, #0] 80c6c58: 633b str r3, [r7, #48] ; 0x30 80c6c5a: 2302 movs r3, #2 80c6c5c: 63bb str r3, [r7, #56] ; 0x38 cl = fp->obj.sclust; /* Origin of the chain */ 80c6c5e: 68fb ldr r3, [r7, #12] 80c6c60: 689b ldr r3, [r3, #8] 80c6c62: 643b str r3, [r7, #64] ; 0x40 if (cl) { 80c6c64: 6c3b ldr r3, [r7, #64] ; 0x40 80c6c66: 2b00 cmp r3, #0 80c6c68: d03c beq.n 80c6ce4 do { /* Get a fragment */ tcl = cl; ncl = 0; ulen += 2; /* Top, length and used items */ 80c6c6a: 6c3b ldr r3, [r7, #64] ; 0x40 80c6c6c: 62fb str r3, [r7, #44] ; 0x2c 80c6c6e: 2300 movs r3, #0 80c6c70: 63fb str r3, [r7, #60] ; 0x3c 80c6c72: 6bbb ldr r3, [r7, #56] ; 0x38 80c6c74: 3302 adds r3, #2 80c6c76: 63bb str r3, [r7, #56] ; 0x38 do { pcl = cl; ncl++; 80c6c78: 6c3b ldr r3, [r7, #64] ; 0x40 80c6c7a: 62bb str r3, [r7, #40] ; 0x28 80c6c7c: 6bfb ldr r3, [r7, #60] ; 0x3c 80c6c7e: 3301 adds r3, #1 80c6c80: 63fb str r3, [r7, #60] ; 0x3c cl = get_fat(&fp->obj, cl); 80c6c82: 68fb ldr r3, [r7, #12] 80c6c84: 6c39 ldr r1, [r7, #64] ; 0x40 80c6c86: 4618 mov r0, r3 80c6c88: f7fc f996 bl 80c2fb8 80c6c8c: 6438 str r0, [r7, #64] ; 0x40 if (cl <= 1) ABORT(fs, FR_INT_ERR); 80c6c8e: 6c3b ldr r3, [r7, #64] ; 0x40 80c6c90: 2b01 cmp r3, #1 80c6c92: d805 bhi.n 80c6ca0 80c6c94: 68fb ldr r3, [r7, #12] 80c6c96: 2202 movs r2, #2 80c6c98: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6c9c: 2302 movs r3, #2 80c6c9e: e217 b.n 80c70d0 if (cl == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80c6ca0: 6c3b ldr r3, [r7, #64] ; 0x40 80c6ca2: f1b3 3fff cmp.w r3, #4294967295 80c6ca6: d105 bne.n 80c6cb4 80c6ca8: 68fb ldr r3, [r7, #12] 80c6caa: 2201 movs r2, #1 80c6cac: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6cb0: 2301 movs r3, #1 80c6cb2: e20d b.n 80c70d0 } while (cl == pcl + 1); 80c6cb4: 6abb ldr r3, [r7, #40] ; 0x28 80c6cb6: 1c5a adds r2, r3, #1 80c6cb8: 6c3b ldr r3, [r7, #64] ; 0x40 80c6cba: 429a cmp r2, r3 80c6cbc: d0dc beq.n 80c6c78 if (ulen <= tlen) { /* Store the length and top of the fragment */ 80c6cbe: 6bba ldr r2, [r7, #56] ; 0x38 80c6cc0: 6b3b ldr r3, [r7, #48] ; 0x30 80c6cc2: 429a cmp r2, r3 80c6cc4: d809 bhi.n 80c6cda *tbl++ = ncl; *tbl++ = tcl; 80c6cc6: 6b7b ldr r3, [r7, #52] ; 0x34 80c6cc8: 1d1a adds r2, r3, #4 80c6cca: 637a str r2, [r7, #52] ; 0x34 80c6ccc: 6bfa ldr r2, [r7, #60] ; 0x3c 80c6cce: 601a str r2, [r3, #0] 80c6cd0: 6b7b ldr r3, [r7, #52] ; 0x34 80c6cd2: 1d1a adds r2, r3, #4 80c6cd4: 637a str r2, [r7, #52] ; 0x34 80c6cd6: 6afa ldr r2, [r7, #44] ; 0x2c 80c6cd8: 601a str r2, [r3, #0] } } while (cl < fs->n_fatent); /* Repeat until end of chain */ 80c6cda: 693b ldr r3, [r7, #16] 80c6cdc: 69da ldr r2, [r3, #28] 80c6cde: 6c3b ldr r3, [r7, #64] ; 0x40 80c6ce0: 429a cmp r2, r3 80c6ce2: d8c2 bhi.n 80c6c6a } *fp->cltbl = ulen; /* Number of items used */ 80c6ce4: 68fb ldr r3, [r7, #12] 80c6ce6: 6d1b ldr r3, [r3, #80] ; 0x50 80c6ce8: 6bba ldr r2, [r7, #56] ; 0x38 80c6cea: 601a str r2, [r3, #0] if (ulen <= tlen) { 80c6cec: 6bba ldr r2, [r7, #56] ; 0x38 80c6cee: 6b3b ldr r3, [r7, #48] ; 0x30 80c6cf0: 429a cmp r2, r3 80c6cf2: d803 bhi.n 80c6cfc *tbl = 0; /* Terminate table */ 80c6cf4: 6b7b ldr r3, [r7, #52] ; 0x34 80c6cf6: 2200 movs r2, #0 80c6cf8: 601a str r2, [r3, #0] 80c6cfa: e1e7 b.n 80c70cc } else { res = FR_NOT_ENOUGH_CORE; /* Given table size is smaller than required */ 80c6cfc: 2311 movs r3, #17 80c6cfe: f887 304f strb.w r3, [r7, #79] ; 0x4f 80c6d02: e1e3 b.n 80c70cc } } else { /* Fast seek */ if (ofs > fp->obj.objsize) ofs = fp->obj.objsize; /* Clip offset at the file size */ 80c6d04: 68fb ldr r3, [r7, #12] 80c6d06: e9d3 1204 ldrd r1, r2, [r3, #16] 80c6d0a: e897 0018 ldmia.w r7, {r3, r4} 80c6d0e: 42a2 cmp r2, r4 80c6d10: bf08 it eq 80c6d12: 4299 cmpeq r1, r3 80c6d14: d204 bcs.n 80c6d20 80c6d16: 68fb ldr r3, [r7, #12] 80c6d18: e9d3 3404 ldrd r3, r4, [r3, #16] 80c6d1c: e887 0018 stmia.w r7, {r3, r4} fp->fptr = ofs; /* Set file pointer */ 80c6d20: 68fa ldr r2, [r7, #12] 80c6d22: e897 0018 ldmia.w r7, {r3, r4} 80c6d26: e9c2 340e strd r3, r4, [r2, #56] ; 0x38 if (ofs) { 80c6d2a: e897 0018 ldmia.w r7, {r3, r4} 80c6d2e: 4323 orrs r3, r4 80c6d30: f000 81cc beq.w 80c70cc fp->clust = clmt_clust(fp, ofs - 1); 80c6d34: e897 0018 ldmia.w r7, {r3, r4} 80c6d38: f113 33ff adds.w r3, r3, #4294967295 80c6d3c: f144 34ff adc.w r4, r4, #4294967295 80c6d40: 461a mov r2, r3 80c6d42: 4623 mov r3, r4 80c6d44: 68f8 ldr r0, [r7, #12] 80c6d46: f7fc fe3e bl 80c39c6 80c6d4a: 4602 mov r2, r0 80c6d4c: 68fb ldr r3, [r7, #12] 80c6d4e: 641a str r2, [r3, #64] ; 0x40 dsc = clust2sect(fs, fp->clust); 80c6d50: 693a ldr r2, [r7, #16] 80c6d52: 68fb ldr r3, [r7, #12] 80c6d54: 6c1b ldr r3, [r3, #64] ; 0x40 80c6d56: 4619 mov r1, r3 80c6d58: 4610 mov r0, r2 80c6d5a: f7fc f90d bl 80c2f78 80c6d5e: 6278 str r0, [r7, #36] ; 0x24 if (!dsc) ABORT(fs, FR_INT_ERR); 80c6d60: 6a7b ldr r3, [r7, #36] ; 0x24 80c6d62: 2b00 cmp r3, #0 80c6d64: d105 bne.n 80c6d72 80c6d66: 68fb ldr r3, [r7, #12] 80c6d68: 2202 movs r2, #2 80c6d6a: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6d6e: 2302 movs r3, #2 80c6d70: e1ae b.n 80c70d0 dsc += (DWORD)((ofs - 1) / SS(fs)) & (fs->csize - 1); 80c6d72: e897 0018 ldmia.w r7, {r3, r4} 80c6d76: f113 33ff adds.w r3, r3, #4294967295 80c6d7a: f144 34ff adc.w r4, r4, #4294967295 80c6d7e: ea4f 2853 mov.w r8, r3, lsr #9 80c6d82: ea48 58c4 orr.w r8, r8, r4, lsl #23 80c6d86: ea4f 2954 mov.w r9, r4, lsr #9 80c6d8a: 4642 mov r2, r8 80c6d8c: 693b ldr r3, [r7, #16] 80c6d8e: 895b ldrh r3, [r3, #10] 80c6d90: 3b01 subs r3, #1 80c6d92: 4013 ands r3, r2 80c6d94: 6a7a ldr r2, [r7, #36] ; 0x24 80c6d96: 4413 add r3, r2 80c6d98: 627b str r3, [r7, #36] ; 0x24 if (fp->fptr % SS(fs) && dsc != fp->sect) { /* Refill sector cache if needed */ 80c6d9a: 68fb ldr r3, [r7, #12] 80c6d9c: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80c6da0: f240 11ff movw r1, #511 ; 0x1ff 80c6da4: f04f 0200 mov.w r2, #0 80c6da8: ea03 0301 and.w r3, r3, r1 80c6dac: ea04 0402 and.w r4, r4, r2 80c6db0: 4323 orrs r3, r4 80c6db2: f000 818b beq.w 80c70cc 80c6db6: 68fb ldr r3, [r7, #12] 80c6db8: 6c5a ldr r2, [r3, #68] ; 0x44 80c6dba: 6a7b ldr r3, [r7, #36] ; 0x24 80c6dbc: 429a cmp r2, r3 80c6dbe: f000 8185 beq.w 80c70cc fp->flag &= (BYTE)~FA_DIRTY; } #endif if (disk_read(fs->drv, fp->buf, dsc, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); /* Load current sector */ #endif fp->sect = dsc; 80c6dc2: 68fb ldr r3, [r7, #12] 80c6dc4: 6a7a ldr r2, [r7, #36] ; 0x24 80c6dc6: 645a str r2, [r3, #68] ; 0x44 80c6dc8: e180 b.n 80c70cc #endif /* Normal Seek */ { #if _FS_EXFAT if (fs->fs_type != FS_EXFAT && ofs >= 0x100000000) ofs = 0xFFFFFFFF; /* Clip at 4GiB-1 if at FATxx */ 80c6dca: 693b ldr r3, [r7, #16] 80c6dcc: 781b ldrb r3, [r3, #0] 80c6dce: 2b04 cmp r3, #4 80c6dd0: d00b beq.n 80c6dea 80c6dd2: e9d7 2300 ldrd r2, r3, [r7] 80c6dd6: 2b01 cmp r3, #1 80c6dd8: bf08 it eq 80c6dda: 2a00 cmpeq r2, #0 80c6ddc: d305 bcc.n 80c6dea 80c6dde: f04f 32ff mov.w r2, #4294967295 80c6de2: f04f 0300 mov.w r3, #0 80c6de6: e9c7 2300 strd r2, r3, [r7] #endif if (ofs > fp->obj.objsize && (_FS_READONLY || !(fp->flag & FA_WRITE))) { /* In read-only mode, clip offset with the file size */ 80c6dea: 68fb ldr r3, [r7, #12] 80c6dec: e9d3 0104 ldrd r0, r1, [r3, #16] 80c6df0: e9d7 2300 ldrd r2, r3, [r7] 80c6df4: 4299 cmp r1, r3 80c6df6: bf08 it eq 80c6df8: 4290 cmpeq r0, r2 80c6dfa: d20b bcs.n 80c6e14 80c6dfc: 68fb ldr r3, [r7, #12] 80c6dfe: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c6e02: f003 0302 and.w r3, r3, #2 80c6e06: 2b00 cmp r3, #0 80c6e08: d104 bne.n 80c6e14 ofs = fp->obj.objsize; 80c6e0a: 68fb ldr r3, [r7, #12] 80c6e0c: e9d3 2304 ldrd r2, r3, [r3, #16] 80c6e10: e9c7 2300 strd r2, r3, [r7] } ifptr = fp->fptr; 80c6e14: 68fb ldr r3, [r7, #12] 80c6e16: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6e1a: e9c7 2306 strd r2, r3, [r7, #24] fp->fptr = nsect = 0; 80c6e1e: 2300 movs r3, #0 80c6e20: 647b str r3, [r7, #68] ; 0x44 80c6e22: 68f9 ldr r1, [r7, #12] 80c6e24: f04f 0200 mov.w r2, #0 80c6e28: f04f 0300 mov.w r3, #0 80c6e2c: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 if (ofs) { 80c6e30: e9d7 2300 ldrd r2, r3, [r7] 80c6e34: 4313 orrs r3, r2 80c6e36: f000 811b beq.w 80c7070 bcs = (DWORD)fs->csize * SS(fs); /* Cluster size (byte) */ 80c6e3a: 693b ldr r3, [r7, #16] 80c6e3c: 895b ldrh r3, [r3, #10] 80c6e3e: 025b lsls r3, r3, #9 80c6e40: 617b str r3, [r7, #20] if (ifptr > 0 && 80c6e42: e9d7 2306 ldrd r2, r3, [r7, #24] 80c6e46: 4313 orrs r3, r2 80c6e48: d045 beq.n 80c6ed6 (ofs - 1) / bcs >= (ifptr - 1) / bcs) { /* When seek to same or following cluster, */ 80c6e4a: e9d7 2300 ldrd r2, r3, [r7] 80c6e4e: f112 30ff adds.w r0, r2, #4294967295 80c6e52: f143 31ff adc.w r1, r3, #4294967295 80c6e56: 697b ldr r3, [r7, #20] 80c6e58: 461a mov r2, r3 80c6e5a: f04f 0300 mov.w r3, #0 80c6e5e: f759 fbc5 bl 80205ec <__aeabi_uldivmod> 80c6e62: 4602 mov r2, r0 80c6e64: 460b mov r3, r1 80c6e66: 4690 mov r8, r2 80c6e68: 4699 mov r9, r3 80c6e6a: e9d7 2306 ldrd r2, r3, [r7, #24] 80c6e6e: f112 30ff adds.w r0, r2, #4294967295 80c6e72: f143 31ff adc.w r1, r3, #4294967295 80c6e76: 697b ldr r3, [r7, #20] 80c6e78: 461a mov r2, r3 80c6e7a: f04f 0300 mov.w r3, #0 80c6e7e: f759 fbb5 bl 80205ec <__aeabi_uldivmod> 80c6e82: 4602 mov r2, r0 80c6e84: 460b mov r3, r1 if (ifptr > 0 && 80c6e86: 4599 cmp r9, r3 80c6e88: bf08 it eq 80c6e8a: 4590 cmpeq r8, r2 80c6e8c: d323 bcc.n 80c6ed6 fp->fptr = (ifptr - 1) & ~(FSIZE_t)(bcs - 1); /* start from the current cluster */ 80c6e8e: e9d7 2306 ldrd r2, r3, [r7, #24] 80c6e92: f112 30ff adds.w r0, r2, #4294967295 80c6e96: f143 31ff adc.w r1, r3, #4294967295 80c6e9a: 697b ldr r3, [r7, #20] 80c6e9c: 3b01 subs r3, #1 80c6e9e: 461a mov r2, r3 80c6ea0: f04f 0300 mov.w r3, #0 80c6ea4: ea6f 0202 mvn.w r2, r2 80c6ea8: ea6f 0303 mvn.w r3, r3 80c6eac: ea02 0200 and.w r2, r2, r0 80c6eb0: ea03 0301 and.w r3, r3, r1 80c6eb4: 68f9 ldr r1, [r7, #12] 80c6eb6: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 ofs -= fp->fptr; 80c6eba: 68fb ldr r3, [r7, #12] 80c6ebc: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6ec0: e9d7 0100 ldrd r0, r1, [r7] 80c6ec4: 1a82 subs r2, r0, r2 80c6ec6: eb61 0303 sbc.w r3, r1, r3 80c6eca: e9c7 2300 strd r2, r3, [r7] clst = fp->clust; 80c6ece: 68fb ldr r3, [r7, #12] 80c6ed0: 6c1b ldr r3, [r3, #64] ; 0x40 80c6ed2: 64bb str r3, [r7, #72] ; 0x48 80c6ed4: e024 b.n 80c6f20 } else { /* When seek to back cluster, */ clst = fp->obj.sclust; /* start from the first cluster */ 80c6ed6: 68fb ldr r3, [r7, #12] 80c6ed8: 689b ldr r3, [r3, #8] 80c6eda: 64bb str r3, [r7, #72] ; 0x48 #if !_FS_READONLY if (clst == 0) { /* If no cluster chain, create a new chain */ 80c6edc: 6cbb ldr r3, [r7, #72] ; 0x48 80c6ede: 2b00 cmp r3, #0 80c6ee0: d11b bne.n 80c6f1a clst = create_chain(&fp->obj, 0); 80c6ee2: 68fb ldr r3, [r7, #12] 80c6ee4: 2100 movs r1, #0 80c6ee6: 4618 mov r0, r3 80c6ee8: f7fc fc6c bl 80c37c4 80c6eec: 64b8 str r0, [r7, #72] ; 0x48 if (clst == 1) ABORT(fs, FR_INT_ERR); 80c6eee: 6cbb ldr r3, [r7, #72] ; 0x48 80c6ef0: 2b01 cmp r3, #1 80c6ef2: d105 bne.n 80c6f00 80c6ef4: 68fb ldr r3, [r7, #12] 80c6ef6: 2202 movs r2, #2 80c6ef8: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6efc: 2302 movs r3, #2 80c6efe: e0e7 b.n 80c70d0 if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80c6f00: 6cbb ldr r3, [r7, #72] ; 0x48 80c6f02: f1b3 3fff cmp.w r3, #4294967295 80c6f06: d105 bne.n 80c6f14 80c6f08: 68fb ldr r3, [r7, #12] 80c6f0a: 2201 movs r2, #1 80c6f0c: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6f10: 2301 movs r3, #1 80c6f12: e0dd b.n 80c70d0 fp->obj.sclust = clst; 80c6f14: 68fb ldr r3, [r7, #12] 80c6f16: 6cba ldr r2, [r7, #72] ; 0x48 80c6f18: 609a str r2, [r3, #8] } #endif fp->clust = clst; 80c6f1a: 68fb ldr r3, [r7, #12] 80c6f1c: 6cba ldr r2, [r7, #72] ; 0x48 80c6f1e: 641a str r2, [r3, #64] ; 0x40 } if (clst != 0) { 80c6f20: 6cbb ldr r3, [r7, #72] ; 0x48 80c6f22: 2b00 cmp r3, #0 80c6f24: f000 80a4 beq.w 80c7070 while (ofs > bcs) { /* Cluster following loop */ 80c6f28: e068 b.n 80c6ffc ofs -= bcs; fp->fptr += bcs; 80c6f2a: 697b ldr r3, [r7, #20] 80c6f2c: 461a mov r2, r3 80c6f2e: f04f 0300 mov.w r3, #0 80c6f32: e9d7 0100 ldrd r0, r1, [r7] 80c6f36: 1a82 subs r2, r0, r2 80c6f38: eb61 0303 sbc.w r3, r1, r3 80c6f3c: e9c7 2300 strd r2, r3, [r7] 80c6f40: 68fb ldr r3, [r7, #12] 80c6f42: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80c6f46: 697b ldr r3, [r7, #20] 80c6f48: 461a mov r2, r3 80c6f4a: f04f 0300 mov.w r3, #0 80c6f4e: 1812 adds r2, r2, r0 80c6f50: eb43 0301 adc.w r3, r3, r1 80c6f54: 68f9 ldr r1, [r7, #12] 80c6f56: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 #if !_FS_READONLY if (fp->flag & FA_WRITE) { /* Check if in write mode or not */ 80c6f5a: 68fb ldr r3, [r7, #12] 80c6f5c: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c6f60: f003 0302 and.w r3, r3, #2 80c6f64: 2b00 cmp r3, #0 80c6f66: d028 beq.n 80c6fba if (_FS_EXFAT && fp->fptr > fp->obj.objsize) { /* No FAT chain object needs correct objsize to generate FAT value */ 80c6f68: 68fb ldr r3, [r7, #12] 80c6f6a: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6f6e: 68f9 ldr r1, [r7, #12] 80c6f70: e9d1 0104 ldrd r0, r1, [r1, #16] 80c6f74: 4299 cmp r1, r3 80c6f76: bf08 it eq 80c6f78: 4290 cmpeq r0, r2 80c6f7a: d20e bcs.n 80c6f9a fp->obj.objsize = fp->fptr; 80c6f7c: 68fb ldr r3, [r7, #12] 80c6f7e: e9d3 230e ldrd r2, r3, [r3, #56] ; 0x38 80c6f82: 68f9 ldr r1, [r7, #12] 80c6f84: e9c1 2304 strd r2, r3, [r1, #16] fp->flag |= FA_MODIFIED; 80c6f88: 68fb ldr r3, [r7, #12] 80c6f8a: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c6f8e: f043 0340 orr.w r3, r3, #64 ; 0x40 80c6f92: b2da uxtb r2, r3 80c6f94: 68fb ldr r3, [r7, #12] 80c6f96: f883 2030 strb.w r2, [r3, #48] ; 0x30 } clst = create_chain(&fp->obj, clst); /* Follow chain with forceed stretch */ 80c6f9a: 68fb ldr r3, [r7, #12] 80c6f9c: 6cb9 ldr r1, [r7, #72] ; 0x48 80c6f9e: 4618 mov r0, r3 80c6fa0: f7fc fc10 bl 80c37c4 80c6fa4: 64b8 str r0, [r7, #72] ; 0x48 if (clst == 0) { /* Clip file size in case of disk full */ 80c6fa6: 6cbb ldr r3, [r7, #72] ; 0x48 80c6fa8: 2b00 cmp r3, #0 80c6faa: d10c bne.n 80c6fc6 ofs = 0; break; 80c6fac: f04f 0200 mov.w r2, #0 80c6fb0: f04f 0300 mov.w r3, #0 80c6fb4: e9c7 2300 strd r2, r3, [r7] 80c6fb8: e02a b.n 80c7010 } } else #endif { clst = get_fat(&fp->obj, clst); /* Follow cluster chain if not in write mode */ 80c6fba: 68fb ldr r3, [r7, #12] 80c6fbc: 6cb9 ldr r1, [r7, #72] ; 0x48 80c6fbe: 4618 mov r0, r3 80c6fc0: f7fb fffa bl 80c2fb8 80c6fc4: 64b8 str r0, [r7, #72] ; 0x48 } if (clst == 0xFFFFFFFF) ABORT(fs, FR_DISK_ERR); 80c6fc6: 6cbb ldr r3, [r7, #72] ; 0x48 80c6fc8: f1b3 3fff cmp.w r3, #4294967295 80c6fcc: d105 bne.n 80c6fda 80c6fce: 68fb ldr r3, [r7, #12] 80c6fd0: 2201 movs r2, #1 80c6fd2: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6fd6: 2301 movs r3, #1 80c6fd8: e07a b.n 80c70d0 if (clst <= 1 || clst >= fs->n_fatent) ABORT(fs, FR_INT_ERR); 80c6fda: 6cbb ldr r3, [r7, #72] ; 0x48 80c6fdc: 2b01 cmp r3, #1 80c6fde: d904 bls.n 80c6fea 80c6fe0: 693b ldr r3, [r7, #16] 80c6fe2: 69da ldr r2, [r3, #28] 80c6fe4: 6cbb ldr r3, [r7, #72] ; 0x48 80c6fe6: 429a cmp r2, r3 80c6fe8: d805 bhi.n 80c6ff6 80c6fea: 68fb ldr r3, [r7, #12] 80c6fec: 2202 movs r2, #2 80c6fee: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c6ff2: 2302 movs r3, #2 80c6ff4: e06c b.n 80c70d0 fp->clust = clst; 80c6ff6: 68fb ldr r3, [r7, #12] 80c6ff8: 6cba ldr r2, [r7, #72] ; 0x48 80c6ffa: 641a str r2, [r3, #64] ; 0x40 while (ofs > bcs) { /* Cluster following loop */ 80c6ffc: 697b ldr r3, [r7, #20] 80c6ffe: 4618 mov r0, r3 80c7000: f04f 0100 mov.w r1, #0 80c7004: e9d7 2300 ldrd r2, r3, [r7] 80c7008: 4299 cmp r1, r3 80c700a: bf08 it eq 80c700c: 4290 cmpeq r0, r2 80c700e: d38c bcc.n 80c6f2a } fp->fptr += ofs; 80c7010: 68fb ldr r3, [r7, #12] 80c7012: e9d3 010e ldrd r0, r1, [r3, #56] ; 0x38 80c7016: e9d7 2300 ldrd r2, r3, [r7] 80c701a: 1812 adds r2, r2, r0 80c701c: eb43 0301 adc.w r3, r3, r1 80c7020: 68f9 ldr r1, [r7, #12] 80c7022: e9c1 230e strd r2, r3, [r1, #56] ; 0x38 if (ofs % SS(fs)) { 80c7026: e9d7 2300 ldrd r2, r3, [r7] 80c702a: f240 10ff movw r0, #511 ; 0x1ff 80c702e: f04f 0100 mov.w r1, #0 80c7032: ea02 0200 and.w r2, r2, r0 80c7036: ea03 0301 and.w r3, r3, r1 80c703a: 4313 orrs r3, r2 80c703c: d018 beq.n 80c7070 nsect = clust2sect(fs, clst); /* Current sector */ 80c703e: 693b ldr r3, [r7, #16] 80c7040: 6cb9 ldr r1, [r7, #72] ; 0x48 80c7042: 4618 mov r0, r3 80c7044: f7fb ff98 bl 80c2f78 80c7048: 6478 str r0, [r7, #68] ; 0x44 if (!nsect) ABORT(fs, FR_INT_ERR); 80c704a: 6c7b ldr r3, [r7, #68] ; 0x44 80c704c: 2b00 cmp r3, #0 80c704e: d105 bne.n 80c705c 80c7050: 68fb ldr r3, [r7, #12] 80c7052: 2202 movs r2, #2 80c7054: f883 2031 strb.w r2, [r3, #49] ; 0x31 80c7058: 2302 movs r3, #2 80c705a: e039 b.n 80c70d0 nsect += (DWORD)(ofs / SS(fs)); 80c705c: e9d7 2300 ldrd r2, r3, [r7] 80c7060: 0a54 lsrs r4, r2, #9 80c7062: ea44 54c3 orr.w r4, r4, r3, lsl #23 80c7066: 0a5d lsrs r5, r3, #9 80c7068: 4622 mov r2, r4 80c706a: 6c7b ldr r3, [r7, #68] ; 0x44 80c706c: 4413 add r3, r2 80c706e: 647b str r3, [r7, #68] ; 0x44 } } } if (!_FS_READONLY && fp->fptr > fp->obj.objsize) { /* Set file change flag if the file size is extended */ 80c7070: 68fb ldr r3, [r7, #12] 80c7072: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80c7076: 68fa ldr r2, [r7, #12] 80c7078: e9d2 1204 ldrd r1, r2, [r2, #16] 80c707c: 42a2 cmp r2, r4 80c707e: bf08 it eq 80c7080: 4299 cmpeq r1, r3 80c7082: d20e bcs.n 80c70a2 fp->obj.objsize = fp->fptr; 80c7084: 68fb ldr r3, [r7, #12] 80c7086: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80c708a: 68fa ldr r2, [r7, #12] 80c708c: e9c2 3404 strd r3, r4, [r2, #16] fp->flag |= FA_MODIFIED; 80c7090: 68fb ldr r3, [r7, #12] 80c7092: f893 3030 ldrb.w r3, [r3, #48] ; 0x30 80c7096: f043 0340 orr.w r3, r3, #64 ; 0x40 80c709a: b2da uxtb r2, r3 80c709c: 68fb ldr r3, [r7, #12] 80c709e: f883 2030 strb.w r2, [r3, #48] ; 0x30 } if (fp->fptr % SS(fs) && nsect != fp->sect) { /* Fill sector cache if needed */ 80c70a2: 68fb ldr r3, [r7, #12] 80c70a4: e9d3 340e ldrd r3, r4, [r3, #56] ; 0x38 80c70a8: f240 11ff movw r1, #511 ; 0x1ff 80c70ac: f04f 0200 mov.w r2, #0 80c70b0: ea03 0301 and.w r3, r3, r1 80c70b4: ea04 0402 and.w r4, r4, r2 80c70b8: 4323 orrs r3, r4 80c70ba: d007 beq.n 80c70cc 80c70bc: 68fb ldr r3, [r7, #12] 80c70be: 6c5a ldr r2, [r3, #68] ; 0x44 80c70c0: 6c7b ldr r3, [r7, #68] ; 0x44 80c70c2: 429a cmp r2, r3 80c70c4: d002 beq.n 80c70cc fp->flag &= (BYTE)~FA_DIRTY; } #endif if (disk_read(fs->drv, fp->buf, nsect, 1) != RES_OK) ABORT(fs, FR_DISK_ERR); /* Fill sector cache */ #endif fp->sect = nsect; 80c70c6: 68fb ldr r3, [r7, #12] 80c70c8: 6c7a ldr r2, [r7, #68] ; 0x44 80c70ca: 645a str r2, [r3, #68] ; 0x44 } } LEAVE_FF(fs, res); 80c70cc: f897 304f ldrb.w r3, [r7, #79] ; 0x4f } 80c70d0: 4618 mov r0, r3 80c70d2: 3750 adds r7, #80 ; 0x50 80c70d4: 46bd mov sp, r7 80c70d6: e8bd 83b0 ldmia.w sp!, {r4, r5, r7, r8, r9, pc} 080c70da : FRESULT f_opendir ( DIR* dp, /* Pointer to directory object to create */ const TCHAR* path /* Pointer to the directory path */ ) { 80c70da: b590 push {r4, r7, lr} 80c70dc: b087 sub sp, #28 80c70de: af00 add r7, sp, #0 80c70e0: 6078 str r0, [r7, #4] 80c70e2: 6039 str r1, [r7, #0] FATFS *fs; _FDID *obj; DEF_NAMBUF if (!dp) return FR_INVALID_OBJECT; 80c70e4: 687b ldr r3, [r7, #4] 80c70e6: 2b00 cmp r3, #0 80c70e8: d101 bne.n 80c70ee 80c70ea: 2309 movs r3, #9 80c70ec: e080 b.n 80c71f0 /* Get logical drive */ obj = &dp->obj; 80c70ee: 687b ldr r3, [r7, #4] 80c70f0: 613b str r3, [r7, #16] res = find_volume(&path, &fs, 0); 80c70f2: f107 010c add.w r1, r7, #12 80c70f6: 463b mov r3, r7 80c70f8: 2200 movs r2, #0 80c70fa: 4618 mov r0, r3 80c70fc: f7fe fb3e bl 80c577c 80c7100: 4603 mov r3, r0 80c7102: 75fb strb r3, [r7, #23] if (res == FR_OK) { 80c7104: 7dfb ldrb r3, [r7, #23] 80c7106: 2b00 cmp r3, #0 80c7108: d16b bne.n 80c71e2 obj->fs = fs; 80c710a: 68fa ldr r2, [r7, #12] 80c710c: 693b ldr r3, [r7, #16] 80c710e: 601a str r2, [r3, #0] INIT_NAMBUF(fs); res = follow_path(dp, path); /* Follow the path to the directory */ 80c7110: 683b ldr r3, [r7, #0] 80c7112: 4619 mov r1, r3 80c7114: 6878 ldr r0, [r7, #4] 80c7116: f7fe f9e1 bl 80c54dc 80c711a: 4603 mov r3, r0 80c711c: 75fb strb r3, [r7, #23] if (res == FR_OK) { /* Follow completed */ 80c711e: 7dfb ldrb r3, [r7, #23] 80c7120: 2b00 cmp r3, #0 80c7122: d159 bne.n 80c71d8 if (!(dp->fn[NSFLAG] & NS_NONAME)) { /* It is not the origin directory itself */ 80c7124: 687b ldr r3, [r7, #4] 80c7126: f893 304b ldrb.w r3, [r3, #75] ; 0x4b 80c712a: b25b sxtb r3, r3 80c712c: 2b00 cmp r3, #0 80c712e: db46 blt.n 80c71be if (obj->attr & AM_DIR) { /* This object is a sub-directory */ 80c7130: 693b ldr r3, [r7, #16] 80c7132: 799b ldrb r3, [r3, #6] 80c7134: f003 0310 and.w r3, r3, #16 80c7138: 2b00 cmp r3, #0 80c713a: d03e beq.n 80c71ba #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c713c: 68fb ldr r3, [r7, #12] 80c713e: 781b ldrb r3, [r3, #0] 80c7140: 2b04 cmp r3, #4 80c7142: d12f bne.n 80c71a4 obj->c_scl = obj->sclust; /* Get containing directory inforamation */ 80c7144: 693b ldr r3, [r7, #16] 80c7146: 689a ldr r2, [r3, #8] 80c7148: 693b ldr r3, [r7, #16] 80c714a: 621a str r2, [r3, #32] obj->c_size = ((DWORD)obj->objsize & 0xFFFFFF00) | obj->stat; 80c714c: 693b ldr r3, [r7, #16] 80c714e: e9d3 3404 ldrd r3, r4, [r3, #16] 80c7152: f023 03ff bic.w r3, r3, #255 ; 0xff 80c7156: 693a ldr r2, [r7, #16] 80c7158: 79d2 ldrb r2, [r2, #7] 80c715a: 431a orrs r2, r3 80c715c: 693b ldr r3, [r7, #16] 80c715e: 625a str r2, [r3, #36] ; 0x24 obj->c_ofs = dp->blk_ofs; 80c7160: 687b ldr r3, [r7, #4] 80c7162: 6cda ldr r2, [r3, #76] ; 0x4c 80c7164: 693b ldr r3, [r7, #16] 80c7166: 629a str r2, [r3, #40] ; 0x28 obj->sclust = ld_dword(fs->dirbuf + XDIR_FstClus); /* Get object allocation info */ 80c7168: 68fb ldr r3, [r7, #12] 80c716a: 691b ldr r3, [r3, #16] 80c716c: 3334 adds r3, #52 ; 0x34 80c716e: 4618 mov r0, r3 80c7170: f7fb fbfc bl 80c296c 80c7174: 4602 mov r2, r0 80c7176: 693b ldr r3, [r7, #16] 80c7178: 609a str r2, [r3, #8] obj->objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80c717a: 68fb ldr r3, [r7, #12] 80c717c: 691b ldr r3, [r3, #16] 80c717e: 3338 adds r3, #56 ; 0x38 80c7180: 4618 mov r0, r3 80c7182: f7fb fc16 bl 80c29b2 80c7186: 4603 mov r3, r0 80c7188: 460c mov r4, r1 80c718a: 693a ldr r2, [r7, #16] 80c718c: e9c2 3404 strd r3, r4, [r2, #16] obj->stat = fs->dirbuf[XDIR_GenFlags] & 2; 80c7190: 68fb ldr r3, [r7, #12] 80c7192: 691b ldr r3, [r3, #16] 80c7194: 3321 adds r3, #33 ; 0x21 80c7196: 781b ldrb r3, [r3, #0] 80c7198: f003 0302 and.w r3, r3, #2 80c719c: b2da uxtb r2, r3 80c719e: 693b ldr r3, [r7, #16] 80c71a0: 71da strb r2, [r3, #7] 80c71a2: e00c b.n 80c71be } else #endif { obj->sclust = ld_clust(fs, dp->dir); /* Get object allocation info */ 80c71a4: 68fa ldr r2, [r7, #12] 80c71a6: 687b ldr r3, [r7, #4] 80c71a8: 6bdb ldr r3, [r3, #60] ; 0x3c 80c71aa: 4619 mov r1, r3 80c71ac: 4610 mov r0, r2 80c71ae: f7fc fdff bl 80c3db0 80c71b2: 4602 mov r2, r0 80c71b4: 693b ldr r3, [r7, #16] 80c71b6: 609a str r2, [r3, #8] 80c71b8: e001 b.n 80c71be } } else { /* This object is a file */ res = FR_NO_PATH; 80c71ba: 2305 movs r3, #5 80c71bc: 75fb strb r3, [r7, #23] } } if (res == FR_OK) { 80c71be: 7dfb ldrb r3, [r7, #23] 80c71c0: 2b00 cmp r3, #0 80c71c2: d109 bne.n 80c71d8 obj->id = fs->id; 80c71c4: 68fb ldr r3, [r7, #12] 80c71c6: 88da ldrh r2, [r3, #6] 80c71c8: 693b ldr r3, [r7, #16] 80c71ca: 809a strh r2, [r3, #4] res = dir_sdi(dp, 0); /* Rewind directory */ 80c71cc: 2100 movs r1, #0 80c71ce: 6878 ldr r0, [r7, #4] 80c71d0: f7fc fc37 bl 80c3a42 80c71d4: 4603 mov r3, r0 80c71d6: 75fb strb r3, [r7, #23] } #endif } } FREE_NAMBUF(); if (res == FR_NO_FILE) res = FR_NO_PATH; 80c71d8: 7dfb ldrb r3, [r7, #23] 80c71da: 2b04 cmp r3, #4 80c71dc: d101 bne.n 80c71e2 80c71de: 2305 movs r3, #5 80c71e0: 75fb strb r3, [r7, #23] } if (res != FR_OK) obj->fs = 0; /* Invalidate the directory object if function faild */ 80c71e2: 7dfb ldrb r3, [r7, #23] 80c71e4: 2b00 cmp r3, #0 80c71e6: d002 beq.n 80c71ee 80c71e8: 693b ldr r3, [r7, #16] 80c71ea: 2200 movs r2, #0 80c71ec: 601a str r2, [r3, #0] LEAVE_FF(fs, res); 80c71ee: 7dfb ldrb r3, [r7, #23] } 80c71f0: 4618 mov r0, r3 80c71f2: 371c adds r7, #28 80c71f4: 46bd mov sp, r7 80c71f6: bd90 pop {r4, r7, pc} 080c71f8 : /*-----------------------------------------------------------------------*/ FRESULT f_closedir ( DIR *dp /* Pointer to the directory object to be closed */ ) { 80c71f8: b580 push {r7, lr} 80c71fa: b084 sub sp, #16 80c71fc: af00 add r7, sp, #0 80c71fe: 6078 str r0, [r7, #4] FRESULT res; FATFS *fs; res = validate(&dp->obj, &fs); /* Check validity of the file object */ 80c7200: 687b ldr r3, [r7, #4] 80c7202: f107 0208 add.w r2, r7, #8 80c7206: 4611 mov r1, r2 80c7208: 4618 mov r0, r3 80c720a: f7fe fe01 bl 80c5e10 80c720e: 4603 mov r3, r0 80c7210: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c7212: 7bfb ldrb r3, [r7, #15] 80c7214: 2b00 cmp r3, #0 80c7216: d102 bne.n 80c721e res = dec_lock(dp->obj.lockid); } if (res == FR_OK) #endif { dp->obj.fs = 0; /* Invalidate directory object */ 80c7218: 687b ldr r3, [r7, #4] 80c721a: 2200 movs r2, #0 80c721c: 601a str r2, [r3, #0] } #if _FS_REENTRANT unlock_fs(fs, FR_OK); /* Unlock volume */ #endif } return res; 80c721e: 7bfb ldrb r3, [r7, #15] } 80c7220: 4618 mov r0, r3 80c7222: 3710 adds r7, #16 80c7224: 46bd mov sp, r7 80c7226: bd80 pop {r7, pc} 080c7228 : FRESULT f_readdir ( DIR* dp, /* Pointer to the open directory object */ FILINFO* fno /* Pointer to file information to return */ ) { 80c7228: b580 push {r7, lr} 80c722a: b084 sub sp, #16 80c722c: af00 add r7, sp, #0 80c722e: 6078 str r0, [r7, #4] 80c7230: 6039 str r1, [r7, #0] FRESULT res; FATFS *fs; DEF_NAMBUF res = validate(&dp->obj, &fs); /* Check validity of the directory object */ 80c7232: 687b ldr r3, [r7, #4] 80c7234: f107 0208 add.w r2, r7, #8 80c7238: 4611 mov r1, r2 80c723a: 4618 mov r0, r3 80c723c: f7fe fde8 bl 80c5e10 80c7240: 4603 mov r3, r0 80c7242: 73fb strb r3, [r7, #15] if (res == FR_OK) { 80c7244: 7bfb ldrb r3, [r7, #15] 80c7246: 2b00 cmp r3, #0 80c7248: d126 bne.n 80c7298 if (!fno) { 80c724a: 683b ldr r3, [r7, #0] 80c724c: 2b00 cmp r3, #0 80c724e: d106 bne.n 80c725e res = dir_sdi(dp, 0); /* Rewind the directory object */ 80c7250: 2100 movs r1, #0 80c7252: 6878 ldr r0, [r7, #4] 80c7254: f7fc fbf5 bl 80c3a42 80c7258: 4603 mov r3, r0 80c725a: 73fb strb r3, [r7, #15] 80c725c: e01c b.n 80c7298 } else { INIT_NAMBUF(fs); res = dir_read(dp, 0); /* Read an item */ 80c725e: 2100 movs r1, #0 80c7260: 6878 ldr r0, [r7, #4] 80c7262: f7fd faa1 bl 80c47a8 80c7266: 4603 mov r3, r0 80c7268: 73fb strb r3, [r7, #15] if (res == FR_NO_FILE) res = FR_OK; /* Ignore end of directory */ 80c726a: 7bfb ldrb r3, [r7, #15] 80c726c: 2b04 cmp r3, #4 80c726e: d101 bne.n 80c7274 80c7270: 2300 movs r3, #0 80c7272: 73fb strb r3, [r7, #15] if (res == FR_OK) { /* A valid entry is found */ 80c7274: 7bfb ldrb r3, [r7, #15] 80c7276: 2b00 cmp r3, #0 80c7278: d10e bne.n 80c7298 get_fileinfo(dp, fno); /* Get the object information */ 80c727a: 6839 ldr r1, [r7, #0] 80c727c: 6878 ldr r0, [r7, #4] 80c727e: f7fd fe89 bl 80c4f94 res = dir_next(dp, 0); /* Increment index for next */ 80c7282: 2100 movs r1, #0 80c7284: 6878 ldr r0, [r7, #4] 80c7286: f7fc fc62 bl 80c3b4e 80c728a: 4603 mov r3, r0 80c728c: 73fb strb r3, [r7, #15] if (res == FR_NO_FILE) res = FR_OK; /* Ignore end of directory now */ 80c728e: 7bfb ldrb r3, [r7, #15] 80c7290: 2b04 cmp r3, #4 80c7292: d101 bne.n 80c7298 80c7294: 2300 movs r3, #0 80c7296: 73fb strb r3, [r7, #15] } FREE_NAMBUF(); } } LEAVE_FF(fs, res); 80c7298: 7bfb ldrb r3, [r7, #15] } 80c729a: 4618 mov r0, r3 80c729c: 3710 adds r7, #16 80c729e: 46bd mov sp, r7 80c72a0: bd80 pop {r7, pc} 080c72a2 : FRESULT f_getfree ( const TCHAR* path, /* Path name of the logical drive number */ DWORD* nclst, /* Pointer to a variable to return number of free clusters */ FATFS** fatfs /* Pointer to return pointer to corresponding file system object */ ) { 80c72a2: b580 push {r7, lr} 80c72a4: b09a sub sp, #104 ; 0x68 80c72a6: af00 add r7, sp, #0 80c72a8: 60f8 str r0, [r7, #12] 80c72aa: 60b9 str r1, [r7, #8] 80c72ac: 607a str r2, [r7, #4] BYTE *p; _FDID obj; /* Get logical drive */ res = find_volume(&path, &fs, 0); 80c72ae: f107 0140 add.w r1, r7, #64 ; 0x40 80c72b2: f107 030c add.w r3, r7, #12 80c72b6: 2200 movs r2, #0 80c72b8: 4618 mov r0, r3 80c72ba: f7fe fa5f bl 80c577c 80c72be: 4603 mov r3, r0 80c72c0: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res == FR_OK) { 80c72c4: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c72c8: 2b00 cmp r3, #0 80c72ca: f040 80e6 bne.w 80c749a *fatfs = fs; /* Return ptr to the fs object */ 80c72ce: 6c3a ldr r2, [r7, #64] ; 0x40 80c72d0: 687b ldr r3, [r7, #4] 80c72d2: 601a str r2, [r3, #0] /* If free_clst is valid, return it without full cluster scan */ if (fs->free_clst <= fs->n_fatent - 2) { 80c72d4: 6c3b ldr r3, [r7, #64] ; 0x40 80c72d6: 699a ldr r2, [r3, #24] 80c72d8: 6c3b ldr r3, [r7, #64] ; 0x40 80c72da: 69db ldr r3, [r3, #28] 80c72dc: 3b02 subs r3, #2 80c72de: 429a cmp r2, r3 80c72e0: d804 bhi.n 80c72ec *nclst = fs->free_clst; 80c72e2: 6c3b ldr r3, [r7, #64] ; 0x40 80c72e4: 699a ldr r2, [r3, #24] 80c72e6: 68bb ldr r3, [r7, #8] 80c72e8: 601a str r2, [r3, #0] 80c72ea: e0d6 b.n 80c749a } else { /* Get number of free clusters */ nfree = 0; 80c72ec: 2300 movs r3, #0 80c72ee: 663b str r3, [r7, #96] ; 0x60 if (fs->fs_type == FS_FAT12) { /* FAT12: Sector unalighed FAT entries */ 80c72f0: 6c3b ldr r3, [r7, #64] ; 0x40 80c72f2: 781b ldrb r3, [r3, #0] 80c72f4: 2b01 cmp r3, #1 80c72f6: d128 bne.n 80c734a clst = 2; obj.fs = fs; 80c72f8: 2302 movs r3, #2 80c72fa: 65fb str r3, [r7, #92] ; 0x5c 80c72fc: 6c3b ldr r3, [r7, #64] ; 0x40 80c72fe: 613b str r3, [r7, #16] do { stat = get_fat(&obj, clst); 80c7300: f107 0310 add.w r3, r7, #16 80c7304: 6df9 ldr r1, [r7, #92] ; 0x5c 80c7306: 4618 mov r0, r3 80c7308: f7fb fe56 bl 80c2fb8 80c730c: 6478 str r0, [r7, #68] ; 0x44 if (stat == 0xFFFFFFFF) { res = FR_DISK_ERR; break; } 80c730e: 6c7b ldr r3, [r7, #68] ; 0x44 80c7310: f1b3 3fff cmp.w r3, #4294967295 80c7314: d103 bne.n 80c731e 80c7316: 2301 movs r3, #1 80c7318: f887 3067 strb.w r3, [r7, #103] ; 0x67 80c731c: e0b0 b.n 80c7480 if (stat == 1) { res = FR_INT_ERR; break; } 80c731e: 6c7b ldr r3, [r7, #68] ; 0x44 80c7320: 2b01 cmp r3, #1 80c7322: d103 bne.n 80c732c 80c7324: 2302 movs r3, #2 80c7326: f887 3067 strb.w r3, [r7, #103] ; 0x67 80c732a: e0a9 b.n 80c7480 if (stat == 0) nfree++; 80c732c: 6c7b ldr r3, [r7, #68] ; 0x44 80c732e: 2b00 cmp r3, #0 80c7330: d102 bne.n 80c7338 80c7332: 6e3b ldr r3, [r7, #96] ; 0x60 80c7334: 3301 adds r3, #1 80c7336: 663b str r3, [r7, #96] ; 0x60 } while (++clst < fs->n_fatent); 80c7338: 6dfb ldr r3, [r7, #92] ; 0x5c 80c733a: 3301 adds r3, #1 80c733c: 65fb str r3, [r7, #92] ; 0x5c 80c733e: 6c3b ldr r3, [r7, #64] ; 0x40 80c7340: 69db ldr r3, [r3, #28] 80c7342: 6dfa ldr r2, [r7, #92] ; 0x5c 80c7344: 429a cmp r2, r3 80c7346: d3db bcc.n 80c7300 80c7348: e09a b.n 80c7480 } else { #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* exFAT: Scan bitmap table */ 80c734a: 6c3b ldr r3, [r7, #64] ; 0x40 80c734c: 781b ldrb r3, [r3, #0] 80c734e: 2b04 cmp r3, #4 80c7350: d146 bne.n 80c73e0 BYTE bm; UINT b; clst = fs->n_fatent - 2; 80c7352: 6c3b ldr r3, [r7, #64] ; 0x40 80c7354: 69db ldr r3, [r3, #28] 80c7356: 3b02 subs r3, #2 80c7358: 65fb str r3, [r7, #92] ; 0x5c sect = fs->database; 80c735a: 6c3b ldr r3, [r7, #64] ; 0x40 80c735c: 6b1b ldr r3, [r3, #48] ; 0x30 80c735e: 65bb str r3, [r7, #88] ; 0x58 i = 0; 80c7360: 2300 movs r3, #0 80c7362: 657b str r3, [r7, #84] ; 0x54 do { if (i == 0 && (res = move_window(fs, sect++)) != FR_OK) break; 80c7364: 6d7b ldr r3, [r7, #84] ; 0x54 80c7366: 2b00 cmp r3, #0 80c7368: d10d bne.n 80c7386 80c736a: 6c38 ldr r0, [r7, #64] ; 0x40 80c736c: 6dbb ldr r3, [r7, #88] ; 0x58 80c736e: 1c5a adds r2, r3, #1 80c7370: 65ba str r2, [r7, #88] ; 0x58 80c7372: 4619 mov r1, r3 80c7374: f7fb fd65 bl 80c2e42 80c7378: 4603 mov r3, r0 80c737a: f887 3067 strb.w r3, [r7, #103] ; 0x67 80c737e: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c7382: 2b00 cmp r3, #0 80c7384: d179 bne.n 80c747a for (b = 8, bm = fs->win[i]; b && clst; b--, clst--) { 80c7386: 2308 movs r3, #8 80c7388: 64bb str r3, [r7, #72] ; 0x48 80c738a: 6c3a ldr r2, [r7, #64] ; 0x40 80c738c: 6d7b ldr r3, [r7, #84] ; 0x54 80c738e: 4413 add r3, r2 80c7390: 3338 adds r3, #56 ; 0x38 80c7392: 781b ldrb r3, [r3, #0] 80c7394: f887 304f strb.w r3, [r7, #79] ; 0x4f 80c7398: e013 b.n 80c73c2 if (!(bm & 1)) nfree++; 80c739a: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80c739e: f003 0301 and.w r3, r3, #1 80c73a2: 2b00 cmp r3, #0 80c73a4: d102 bne.n 80c73ac 80c73a6: 6e3b ldr r3, [r7, #96] ; 0x60 80c73a8: 3301 adds r3, #1 80c73aa: 663b str r3, [r7, #96] ; 0x60 bm >>= 1; 80c73ac: f897 304f ldrb.w r3, [r7, #79] ; 0x4f 80c73b0: 085b lsrs r3, r3, #1 80c73b2: f887 304f strb.w r3, [r7, #79] ; 0x4f for (b = 8, bm = fs->win[i]; b && clst; b--, clst--) { 80c73b6: 6cbb ldr r3, [r7, #72] ; 0x48 80c73b8: 3b01 subs r3, #1 80c73ba: 64bb str r3, [r7, #72] ; 0x48 80c73bc: 6dfb ldr r3, [r7, #92] ; 0x5c 80c73be: 3b01 subs r3, #1 80c73c0: 65fb str r3, [r7, #92] ; 0x5c 80c73c2: 6cbb ldr r3, [r7, #72] ; 0x48 80c73c4: 2b00 cmp r3, #0 80c73c6: d002 beq.n 80c73ce 80c73c8: 6dfb ldr r3, [r7, #92] ; 0x5c 80c73ca: 2b00 cmp r3, #0 80c73cc: d1e5 bne.n 80c739a } i = (i + 1) % SS(fs); 80c73ce: 6d7b ldr r3, [r7, #84] ; 0x54 80c73d0: 3301 adds r3, #1 80c73d2: f3c3 0308 ubfx r3, r3, #0, #9 80c73d6: 657b str r3, [r7, #84] ; 0x54 } while (clst); 80c73d8: 6dfb ldr r3, [r7, #92] ; 0x5c 80c73da: 2b00 cmp r3, #0 80c73dc: d1c2 bne.n 80c7364 80c73de: e04f b.n 80c7480 } else #endif { /* FAT16/32: Sector alighed FAT entries */ clst = fs->n_fatent; sect = fs->fatbase; 80c73e0: 6c3b ldr r3, [r7, #64] ; 0x40 80c73e2: 69db ldr r3, [r3, #28] 80c73e4: 65fb str r3, [r7, #92] ; 0x5c 80c73e6: 6c3b ldr r3, [r7, #64] ; 0x40 80c73e8: 6a9b ldr r3, [r3, #40] ; 0x28 80c73ea: 65bb str r3, [r7, #88] ; 0x58 i = 0; p = 0; 80c73ec: 2300 movs r3, #0 80c73ee: 657b str r3, [r7, #84] ; 0x54 80c73f0: 2300 movs r3, #0 80c73f2: 653b str r3, [r7, #80] ; 0x50 do { if (i == 0) { 80c73f4: 6d7b ldr r3, [r7, #84] ; 0x54 80c73f6: 2b00 cmp r3, #0 80c73f8: d113 bne.n 80c7422 res = move_window(fs, sect++); 80c73fa: 6c38 ldr r0, [r7, #64] ; 0x40 80c73fc: 6dbb ldr r3, [r7, #88] ; 0x58 80c73fe: 1c5a adds r2, r3, #1 80c7400: 65ba str r2, [r7, #88] ; 0x58 80c7402: 4619 mov r1, r3 80c7404: f7fb fd1d bl 80c2e42 80c7408: 4603 mov r3, r0 80c740a: f887 3067 strb.w r3, [r7, #103] ; 0x67 if (res != FR_OK) break; 80c740e: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 80c7412: 2b00 cmp r3, #0 80c7414: d133 bne.n 80c747e p = fs->win; 80c7416: 6c3b ldr r3, [r7, #64] ; 0x40 80c7418: 3338 adds r3, #56 ; 0x38 80c741a: 653b str r3, [r7, #80] ; 0x50 i = SS(fs); 80c741c: f44f 7300 mov.w r3, #512 ; 0x200 80c7420: 657b str r3, [r7, #84] ; 0x54 } if (fs->fs_type == FS_FAT16) { 80c7422: 6c3b ldr r3, [r7, #64] ; 0x40 80c7424: 781b ldrb r3, [r3, #0] 80c7426: 2b02 cmp r3, #2 80c7428: d10f bne.n 80c744a if (ld_word(p) == 0) nfree++; 80c742a: 6d38 ldr r0, [r7, #80] ; 0x50 80c742c: f7fb fa86 bl 80c293c 80c7430: 4603 mov r3, r0 80c7432: 2b00 cmp r3, #0 80c7434: d102 bne.n 80c743c 80c7436: 6e3b ldr r3, [r7, #96] ; 0x60 80c7438: 3301 adds r3, #1 80c743a: 663b str r3, [r7, #96] ; 0x60 p += 2; i -= 2; 80c743c: 6d3b ldr r3, [r7, #80] ; 0x50 80c743e: 3302 adds r3, #2 80c7440: 653b str r3, [r7, #80] ; 0x50 80c7442: 6d7b ldr r3, [r7, #84] ; 0x54 80c7444: 3b02 subs r3, #2 80c7446: 657b str r3, [r7, #84] ; 0x54 80c7448: e010 b.n 80c746c } else { if ((ld_dword(p) & 0x0FFFFFFF) == 0) nfree++; 80c744a: 6d38 ldr r0, [r7, #80] ; 0x50 80c744c: f7fb fa8e bl 80c296c 80c7450: 4603 mov r3, r0 80c7452: f023 4370 bic.w r3, r3, #4026531840 ; 0xf0000000 80c7456: 2b00 cmp r3, #0 80c7458: d102 bne.n 80c7460 80c745a: 6e3b ldr r3, [r7, #96] ; 0x60 80c745c: 3301 adds r3, #1 80c745e: 663b str r3, [r7, #96] ; 0x60 p += 4; i -= 4; 80c7460: 6d3b ldr r3, [r7, #80] ; 0x50 80c7462: 3304 adds r3, #4 80c7464: 653b str r3, [r7, #80] ; 0x50 80c7466: 6d7b ldr r3, [r7, #84] ; 0x54 80c7468: 3b04 subs r3, #4 80c746a: 657b str r3, [r7, #84] ; 0x54 } } while (--clst); 80c746c: 6dfb ldr r3, [r7, #92] ; 0x5c 80c746e: 3b01 subs r3, #1 80c7470: 65fb str r3, [r7, #92] ; 0x5c 80c7472: 6dfb ldr r3, [r7, #92] ; 0x5c 80c7474: 2b00 cmp r3, #0 80c7476: d1bd bne.n 80c73f4 80c7478: e002 b.n 80c7480 if (i == 0 && (res = move_window(fs, sect++)) != FR_OK) break; 80c747a: bf00 nop 80c747c: e000 b.n 80c7480 if (res != FR_OK) break; 80c747e: bf00 nop } } *nclst = nfree; /* Return the free clusters */ 80c7480: 68bb ldr r3, [r7, #8] 80c7482: 6e3a ldr r2, [r7, #96] ; 0x60 80c7484: 601a str r2, [r3, #0] fs->free_clst = nfree; /* Now free_clst is valid */ 80c7486: 6c3b ldr r3, [r7, #64] ; 0x40 80c7488: 6e3a ldr r2, [r7, #96] ; 0x60 80c748a: 619a str r2, [r3, #24] fs->fsi_flag |= 1; /* FSInfo is to be updated */ 80c748c: 6c3b ldr r3, [r7, #64] ; 0x40 80c748e: 6c3a ldr r2, [r7, #64] ; 0x40 80c7490: 7912 ldrb r2, [r2, #4] 80c7492: f042 0201 orr.w r2, r2, #1 80c7496: b2d2 uxtb r2, r2 80c7498: 711a strb r2, [r3, #4] } } LEAVE_FF(fs, res); 80c749a: f897 3067 ldrb.w r3, [r7, #103] ; 0x67 } 80c749e: 4618 mov r0, r3 80c74a0: 3768 adds r7, #104 ; 0x68 80c74a2: 46bd mov sp, r7 80c74a4: bd80 pop {r7, pc} 080c74a6 : /*-----------------------------------------------------------------------*/ FRESULT f_unlink ( const TCHAR* path /* Pointer to the file or directory path */ ) { 80c74a6: b590 push {r4, r7, lr} 80c74a8: b0bb sub sp, #236 ; 0xec 80c74aa: af00 add r7, sp, #0 80c74ac: 6078 str r0, [r7, #4] FRESULT res; DIR dj, sdj; DWORD dclst = 0; 80c74ae: 2300 movs r3, #0 80c74b0: f8c7 30e0 str.w r3, [r7, #224] ; 0xe0 #endif DEF_NAMBUF /* Get logical drive */ res = find_volume(&path, &fs, FA_WRITE); 80c74b4: f107 013c add.w r1, r7, #60 ; 0x3c 80c74b8: 1d3b adds r3, r7, #4 80c74ba: 2202 movs r2, #2 80c74bc: 4618 mov r0, r3 80c74be: f7fe f95d bl 80c577c 80c74c2: 4603 mov r3, r0 80c74c4: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 dj.obj.fs = fs; 80c74c8: 6bfb ldr r3, [r7, #60] ; 0x3c 80c74ca: f8c7 3090 str.w r3, [r7, #144] ; 0x90 if (res == FR_OK) { 80c74ce: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c74d2: 2b00 cmp r3, #0 80c74d4: f040 80b6 bne.w 80c7644 INIT_NAMBUF(fs); res = follow_path(&dj, path); /* Follow the file path */ 80c74d8: 687a ldr r2, [r7, #4] 80c74da: f107 0390 add.w r3, r7, #144 ; 0x90 80c74de: 4611 mov r1, r2 80c74e0: 4618 mov r0, r3 80c74e2: f7fd fffb bl 80c54dc 80c74e6: 4603 mov r3, r0 80c74e8: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 res = FR_INVALID_NAME; /* Cannot remove dot entry */ } #if _FS_LOCK != 0 if (res == FR_OK) res = chk_lock(&dj, 2); /* Check if it is an open object */ #endif if (res == FR_OK) { /* The object is accessible */ 80c74ec: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c74f0: 2b00 cmp r3, #0 80c74f2: f040 80a7 bne.w 80c7644 if (dj.fn[NSFLAG] & NS_NONAME) { 80c74f6: f897 30db ldrb.w r3, [r7, #219] ; 0xdb 80c74fa: b25b sxtb r3, r3 80c74fc: 2b00 cmp r3, #0 80c74fe: da03 bge.n 80c7508 res = FR_INVALID_NAME; /* Cannot remove the origin directory */ 80c7500: 2306 movs r3, #6 80c7502: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 80c7506: e008 b.n 80c751a } else { if (dj.obj.attr & AM_RDO) { 80c7508: f897 3096 ldrb.w r3, [r7, #150] ; 0x96 80c750c: f003 0301 and.w r3, r3, #1 80c7510: 2b00 cmp r3, #0 80c7512: d002 beq.n 80c751a res = FR_DENIED; /* Cannot remove R/O object */ 80c7514: 2307 movs r3, #7 80c7516: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 } } if (res == FR_OK) { 80c751a: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c751e: 2b00 cmp r3, #0 80c7520: d166 bne.n 80c75f0 #if _FS_EXFAT obj.fs = fs; 80c7522: 6bfb ldr r3, [r7, #60] ; 0x3c 80c7524: 60bb str r3, [r7, #8] if (fs->fs_type == FS_EXFAT) { 80c7526: 6bfb ldr r3, [r7, #60] ; 0x3c 80c7528: 781b ldrb r3, [r3, #0] 80c752a: 2b04 cmp r3, #4 80c752c: d11d bne.n 80c756a obj.sclust = dclst = ld_dword(fs->dirbuf + XDIR_FstClus); 80c752e: 6bfb ldr r3, [r7, #60] ; 0x3c 80c7530: 691b ldr r3, [r3, #16] 80c7532: 3334 adds r3, #52 ; 0x34 80c7534: 4618 mov r0, r3 80c7536: f7fb fa19 bl 80c296c 80c753a: f8c7 00e0 str.w r0, [r7, #224] ; 0xe0 80c753e: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c7542: 613b str r3, [r7, #16] obj.objsize = ld_qword(fs->dirbuf + XDIR_FileSize); 80c7544: 6bfb ldr r3, [r7, #60] ; 0x3c 80c7546: 691b ldr r3, [r3, #16] 80c7548: 3338 adds r3, #56 ; 0x38 80c754a: 4618 mov r0, r3 80c754c: f7fb fa31 bl 80c29b2 80c7550: 4603 mov r3, r0 80c7552: 460c mov r4, r1 80c7554: e9c7 3406 strd r3, r4, [r7, #24] obj.stat = fs->dirbuf[XDIR_GenFlags] & 2; 80c7558: 6bfb ldr r3, [r7, #60] ; 0x3c 80c755a: 691b ldr r3, [r3, #16] 80c755c: 3321 adds r3, #33 ; 0x21 80c755e: 781b ldrb r3, [r3, #0] 80c7560: f003 0302 and.w r3, r3, #2 80c7564: b2db uxtb r3, r3 80c7566: 73fb strb r3, [r7, #15] 80c7568: e008 b.n 80c757c } else #endif { dclst = ld_clust(fs, dj.dir); 80c756a: 6bfb ldr r3, [r7, #60] ; 0x3c 80c756c: f8d7 20cc ldr.w r2, [r7, #204] ; 0xcc 80c7570: 4611 mov r1, r2 80c7572: 4618 mov r0, r3 80c7574: f7fc fc1c bl 80c3db0 80c7578: f8c7 00e0 str.w r0, [r7, #224] ; 0xe0 } if (dj.obj.attr & AM_DIR) { /* Is it a sub-directory? */ 80c757c: f897 3096 ldrb.w r3, [r7, #150] ; 0x96 80c7580: f003 0310 and.w r3, r3, #16 80c7584: 2b00 cmp r3, #0 80c7586: d033 beq.n 80c75f0 if (dclst == fs->cdir) { /* Is it the current directory? */ res = FR_DENIED; } else #endif { sdj.obj.fs = fs; /* Open the sub-directory */ 80c7588: 6bfb ldr r3, [r7, #60] ; 0x3c 80c758a: 643b str r3, [r7, #64] ; 0x40 sdj.obj.sclust = dclst; 80c758c: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c7590: 64bb str r3, [r7, #72] ; 0x48 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { 80c7592: 6bfb ldr r3, [r7, #60] ; 0x3c 80c7594: 781b ldrb r3, [r3, #0] 80c7596: 2b04 cmp r3, #4 80c7598: d106 bne.n 80c75a8 sdj.obj.objsize = obj.objsize; 80c759a: e9d7 3406 ldrd r3, r4, [r7, #24] 80c759e: e9c7 3414 strd r3, r4, [r7, #80] ; 0x50 sdj.obj.stat = obj.stat; 80c75a2: 7bfb ldrb r3, [r7, #15] 80c75a4: f887 3047 strb.w r3, [r7, #71] ; 0x47 } #endif res = dir_sdi(&sdj, 0); 80c75a8: f107 0340 add.w r3, r7, #64 ; 0x40 80c75ac: 2100 movs r1, #0 80c75ae: 4618 mov r0, r3 80c75b0: f7fc fa47 bl 80c3a42 80c75b4: 4603 mov r3, r0 80c75b6: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_OK) { 80c75ba: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c75be: 2b00 cmp r3, #0 80c75c0: d116 bne.n 80c75f0 res = dir_read(&sdj, 0); /* Read an item */ 80c75c2: f107 0340 add.w r3, r7, #64 ; 0x40 80c75c6: 2100 movs r1, #0 80c75c8: 4618 mov r0, r3 80c75ca: f7fd f8ed bl 80c47a8 80c75ce: 4603 mov r3, r0 80c75d0: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_OK) res = FR_DENIED; /* Not empty? */ 80c75d4: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c75d8: 2b00 cmp r3, #0 80c75da: d102 bne.n 80c75e2 80c75dc: 2307 movs r3, #7 80c75de: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_NO_FILE) res = FR_OK; /* Empty? */ 80c75e2: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c75e6: 2b04 cmp r3, #4 80c75e8: d102 bne.n 80c75f0 80c75ea: 2300 movs r3, #0 80c75ec: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 } } } } if (res == FR_OK) { 80c75f0: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c75f4: 2b00 cmp r3, #0 80c75f6: d125 bne.n 80c7644 res = dir_remove(&dj); /* Remove the directory entry */ 80c75f8: f107 0390 add.w r3, r7, #144 ; 0x90 80c75fc: 4618 mov r0, r3 80c75fe: f7fd fc71 bl 80c4ee4 80c7602: 4603 mov r3, r0 80c7604: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 if (res == FR_OK && dclst) { /* Remove the cluster chain if exist */ 80c7608: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c760c: 2b00 cmp r3, #0 80c760e: d10e bne.n 80c762e 80c7610: f8d7 30e0 ldr.w r3, [r7, #224] ; 0xe0 80c7614: 2b00 cmp r3, #0 80c7616: d00a beq.n 80c762e #if _FS_EXFAT res = remove_chain(&obj, dclst, 0); 80c7618: f107 0308 add.w r3, r7, #8 80c761c: 2200 movs r2, #0 80c761e: f8d7 10e0 ldr.w r1, [r7, #224] ; 0xe0 80c7622: 4618 mov r0, r3 80c7624: f7fc f81a bl 80c365c 80c7628: 4603 mov r3, r0 80c762a: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 #else res = remove_chain(&dj.obj, dclst, 0); #endif } if (res == FR_OK) res = sync_fs(fs); 80c762e: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 80c7632: 2b00 cmp r3, #0 80c7634: d106 bne.n 80c7644 80c7636: 6bfb ldr r3, [r7, #60] ; 0x3c 80c7638: 4618 mov r0, r3 80c763a: f7fb fc2f bl 80c2e9c 80c763e: 4603 mov r3, r0 80c7640: f887 30e7 strb.w r3, [r7, #231] ; 0xe7 } } FREE_NAMBUF(); } LEAVE_FF(fs, res); 80c7644: f897 30e7 ldrb.w r3, [r7, #231] ; 0xe7 } 80c7648: 4618 mov r0, r3 80c764a: 37ec adds r7, #236 ; 0xec 80c764c: 46bd mov sp, r7 80c764e: bd90 pop {r4, r7, pc} 080c7650 : /*-----------------------------------------------------------------------*/ FRESULT f_mkdir ( const TCHAR* path /* Pointer to the directory path */ ) { 80c7650: b590 push {r4, r7, lr} 80c7652: b0a1 sub sp, #132 ; 0x84 80c7654: af00 add r7, sp, #0 80c7656: 6078 str r0, [r7, #4] DWORD dsc, dcl, pcl, tm; DEF_NAMBUF /* Get logical drive */ res = find_volume(&path, &fs, FA_WRITE); 80c7658: f107 010c add.w r1, r7, #12 80c765c: 1d3b adds r3, r7, #4 80c765e: 2202 movs r2, #2 80c7660: 4618 mov r0, r3 80c7662: f7fe f88b bl 80c577c 80c7666: 4603 mov r3, r0 80c7668: f887 307f strb.w r3, [r7, #127] ; 0x7f dj.obj.fs = fs; 80c766c: 68fb ldr r3, [r7, #12] 80c766e: 613b str r3, [r7, #16] if (res == FR_OK) { 80c7670: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c7674: 2b00 cmp r3, #0 80c7676: f040 812c bne.w 80c78d2 INIT_NAMBUF(fs); res = follow_path(&dj, path); /* Follow the file path */ 80c767a: 687a ldr r2, [r7, #4] 80c767c: f107 0310 add.w r3, r7, #16 80c7680: 4611 mov r1, r2 80c7682: 4618 mov r0, r3 80c7684: f7fd ff2a bl 80c54dc 80c7688: 4603 mov r3, r0 80c768a: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) res = FR_EXIST; /* Any object with same name is already existing */ 80c768e: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c7692: 2b00 cmp r3, #0 80c7694: d102 bne.n 80c769c 80c7696: 2308 movs r3, #8 80c7698: f887 307f strb.w r3, [r7, #127] ; 0x7f if (_FS_RPATH && res == FR_NO_FILE && (dj.fn[NSFLAG] & NS_DOT)) { res = FR_INVALID_NAME; } if (res == FR_NO_FILE) { /* Can create a new directory */ 80c769c: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c76a0: 2b04 cmp r3, #4 80c76a2: f040 8116 bne.w 80c78d2 dcl = create_chain(&dj.obj, 0); /* Allocate a cluster for the new directory table */ 80c76a6: f107 0310 add.w r3, r7, #16 80c76aa: 2100 movs r1, #0 80c76ac: 4618 mov r0, r3 80c76ae: f7fc f889 bl 80c37c4 80c76b2: 66f8 str r0, [r7, #108] ; 0x6c dj.obj.objsize = (DWORD)fs->csize * SS(fs); 80c76b4: 68fb ldr r3, [r7, #12] 80c76b6: 895b ldrh r3, [r3, #10] 80c76b8: 025b lsls r3, r3, #9 80c76ba: f04f 0400 mov.w r4, #0 80c76be: e9c7 3408 strd r3, r4, [r7, #32] res = FR_OK; 80c76c2: 2300 movs r3, #0 80c76c4: f887 307f strb.w r3, [r7, #127] ; 0x7f if (dcl == 0) res = FR_DENIED; /* No space to allocate a new cluster */ 80c76c8: 6efb ldr r3, [r7, #108] ; 0x6c 80c76ca: 2b00 cmp r3, #0 80c76cc: d102 bne.n 80c76d4 80c76ce: 2307 movs r3, #7 80c76d0: f887 307f strb.w r3, [r7, #127] ; 0x7f if (dcl == 1) res = FR_INT_ERR; 80c76d4: 6efb ldr r3, [r7, #108] ; 0x6c 80c76d6: 2b01 cmp r3, #1 80c76d8: d102 bne.n 80c76e0 80c76da: 2302 movs r3, #2 80c76dc: f887 307f strb.w r3, [r7, #127] ; 0x7f if (dcl == 0xFFFFFFFF) res = FR_DISK_ERR; 80c76e0: 6efb ldr r3, [r7, #108] ; 0x6c 80c76e2: f1b3 3fff cmp.w r3, #4294967295 80c76e6: d102 bne.n 80c76ee 80c76e8: 2301 movs r3, #1 80c76ea: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res == FR_OK) res = sync_window(fs); /* Flush FAT */ 80c76ee: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c76f2: 2b00 cmp r3, #0 80c76f4: d106 bne.n 80c7704 80c76f6: 68fb ldr r3, [r7, #12] 80c76f8: 4618 mov r0, r3 80c76fa: f7fb fb5e bl 80c2dba 80c76fe: 4603 mov r3, r0 80c7700: f887 307f strb.w r3, [r7, #127] ; 0x7f tm = GET_FATTIME(); 80c7704: f7f8 f80a bl 80bf71c 80c7708: 66b8 str r0, [r7, #104] ; 0x68 if (res == FR_OK) { /* Initialize the new directory table */ 80c770a: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c770e: 2b00 cmp r3, #0 80c7710: d16e bne.n 80c77f0 dsc = clust2sect(fs, dcl); 80c7712: 68fb ldr r3, [r7, #12] 80c7714: 6ef9 ldr r1, [r7, #108] ; 0x6c 80c7716: 4618 mov r0, r3 80c7718: f7fb fc2e bl 80c2f78 80c771c: 6778 str r0, [r7, #116] ; 0x74 dir = fs->win; 80c771e: 68fb ldr r3, [r7, #12] 80c7720: 3338 adds r3, #56 ; 0x38 80c7722: 667b str r3, [r7, #100] ; 0x64 mem_set(dir, 0, SS(fs)); 80c7724: f44f 7200 mov.w r2, #512 ; 0x200 80c7728: 2100 movs r1, #0 80c772a: 6e78 ldr r0, [r7, #100] ; 0x64 80c772c: f7fb fae9 bl 80c2d02 if (!_FS_EXFAT || fs->fs_type != FS_EXFAT) { 80c7730: 68fb ldr r3, [r7, #12] 80c7732: 781b ldrb r3, [r3, #0] 80c7734: 2b04 cmp r3, #4 80c7736: d036 beq.n 80c77a6 mem_set(dir + DIR_Name, ' ', 11); /* Create "." entry */ 80c7738: 220b movs r2, #11 80c773a: 2120 movs r1, #32 80c773c: 6e78 ldr r0, [r7, #100] ; 0x64 80c773e: f7fb fae0 bl 80c2d02 dir[DIR_Name] = '.'; 80c7742: 6e7b ldr r3, [r7, #100] ; 0x64 80c7744: 222e movs r2, #46 ; 0x2e 80c7746: 701a strb r2, [r3, #0] dir[DIR_Attr] = AM_DIR; 80c7748: 6e7b ldr r3, [r7, #100] ; 0x64 80c774a: 330b adds r3, #11 80c774c: 2210 movs r2, #16 80c774e: 701a strb r2, [r3, #0] st_dword(dir + DIR_ModTime, tm); 80c7750: 6e7b ldr r3, [r7, #100] ; 0x64 80c7752: 3316 adds r3, #22 80c7754: 6eb9 ldr r1, [r7, #104] ; 0x68 80c7756: 4618 mov r0, r3 80c7758: f7fb f9f5 bl 80c2b46 st_clust(fs, dir, dcl); 80c775c: 68fb ldr r3, [r7, #12] 80c775e: 6efa ldr r2, [r7, #108] ; 0x6c 80c7760: 6e79 ldr r1, [r7, #100] ; 0x64 80c7762: 4618 mov r0, r3 80c7764: f7fc fb43 bl 80c3dee mem_cpy(dir + SZDIRE, dir, SZDIRE); /* Create ".." entry */ 80c7768: 6e7b ldr r3, [r7, #100] ; 0x64 80c776a: 3320 adds r3, #32 80c776c: 2220 movs r2, #32 80c776e: 6e79 ldr r1, [r7, #100] ; 0x64 80c7770: 4618 mov r0, r3 80c7772: f7fb faa5 bl 80c2cc0 dir[SZDIRE + 1] = '.'; pcl = dj.obj.sclust; 80c7776: 6e7b ldr r3, [r7, #100] ; 0x64 80c7778: 3321 adds r3, #33 ; 0x21 80c777a: 222e movs r2, #46 ; 0x2e 80c777c: 701a strb r2, [r3, #0] 80c777e: 69bb ldr r3, [r7, #24] 80c7780: 673b str r3, [r7, #112] ; 0x70 if (fs->fs_type == FS_FAT32 && pcl == fs->dirbase) pcl = 0; 80c7782: 68fb ldr r3, [r7, #12] 80c7784: 781b ldrb r3, [r3, #0] 80c7786: 2b03 cmp r3, #3 80c7788: d106 bne.n 80c7798 80c778a: 68fb ldr r3, [r7, #12] 80c778c: 6ada ldr r2, [r3, #44] ; 0x2c 80c778e: 6f3b ldr r3, [r7, #112] ; 0x70 80c7790: 429a cmp r2, r3 80c7792: d101 bne.n 80c7798 80c7794: 2300 movs r3, #0 80c7796: 673b str r3, [r7, #112] ; 0x70 st_clust(fs, dir + SZDIRE, pcl); 80c7798: 68f8 ldr r0, [r7, #12] 80c779a: 6e7b ldr r3, [r7, #100] ; 0x64 80c779c: 3320 adds r3, #32 80c779e: 6f3a ldr r2, [r7, #112] ; 0x70 80c77a0: 4619 mov r1, r3 80c77a2: f7fc fb24 bl 80c3dee } for (n = fs->csize; n; n--) { /* Write dot entries and clear following sectors */ 80c77a6: 68fb ldr r3, [r7, #12] 80c77a8: 895b ldrh r3, [r3, #10] 80c77aa: 67bb str r3, [r7, #120] ; 0x78 80c77ac: e01b b.n 80c77e6 fs->winsect = dsc++; 80c77ae: 68fa ldr r2, [r7, #12] 80c77b0: 6f7b ldr r3, [r7, #116] ; 0x74 80c77b2: 1c59 adds r1, r3, #1 80c77b4: 6779 str r1, [r7, #116] ; 0x74 80c77b6: 6353 str r3, [r2, #52] ; 0x34 fs->wflag = 1; 80c77b8: 68fb ldr r3, [r7, #12] 80c77ba: 2201 movs r2, #1 80c77bc: 70da strb r2, [r3, #3] res = sync_window(fs); 80c77be: 68fb ldr r3, [r7, #12] 80c77c0: 4618 mov r0, r3 80c77c2: f7fb fafa bl 80c2dba 80c77c6: 4603 mov r3, r0 80c77c8: f887 307f strb.w r3, [r7, #127] ; 0x7f if (res != FR_OK) break; 80c77cc: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c77d0: 2b00 cmp r3, #0 80c77d2: d10c bne.n 80c77ee mem_set(dir, 0, SS(fs)); 80c77d4: f44f 7200 mov.w r2, #512 ; 0x200 80c77d8: 2100 movs r1, #0 80c77da: 6e78 ldr r0, [r7, #100] ; 0x64 80c77dc: f7fb fa91 bl 80c2d02 for (n = fs->csize; n; n--) { /* Write dot entries and clear following sectors */ 80c77e0: 6fbb ldr r3, [r7, #120] ; 0x78 80c77e2: 3b01 subs r3, #1 80c77e4: 67bb str r3, [r7, #120] ; 0x78 80c77e6: 6fbb ldr r3, [r7, #120] ; 0x78 80c77e8: 2b00 cmp r3, #0 80c77ea: d1e0 bne.n 80c77ae 80c77ec: e000 b.n 80c77f0 if (res != FR_OK) break; 80c77ee: bf00 nop } } if (res == FR_OK) { 80c77f0: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c77f4: 2b00 cmp r3, #0 80c77f6: d107 bne.n 80c7808 res = dir_register(&dj); /* Register the object to the directoy */ 80c77f8: f107 0310 add.w r3, r7, #16 80c77fc: 4618 mov r0, r3 80c77fe: f7fd f9cb bl 80c4b98 80c7802: 4603 mov r3, r0 80c7804: f887 307f strb.w r3, [r7, #127] ; 0x7f } if (res == FR_OK) { 80c7808: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c780c: 2b00 cmp r3, #0 80c780e: d159 bne.n 80c78c4 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* Initialize directory entry block */ 80c7810: 68fb ldr r3, [r7, #12] 80c7812: 781b ldrb r3, [r3, #0] 80c7814: 2b04 cmp r3, #4 80c7816: d134 bne.n 80c7882 st_dword(fs->dirbuf + XDIR_ModTime, tm); /* Created time */ 80c7818: 68fb ldr r3, [r7, #12] 80c781a: 691b ldr r3, [r3, #16] 80c781c: 330c adds r3, #12 80c781e: 6eb9 ldr r1, [r7, #104] ; 0x68 80c7820: 4618 mov r0, r3 80c7822: f7fb f990 bl 80c2b46 st_dword(fs->dirbuf + XDIR_FstClus, dcl); /* Table start cluster */ 80c7826: 68fb ldr r3, [r7, #12] 80c7828: 691b ldr r3, [r3, #16] 80c782a: 3334 adds r3, #52 ; 0x34 80c782c: 6ef9 ldr r1, [r7, #108] ; 0x6c 80c782e: 4618 mov r0, r3 80c7830: f7fb f989 bl 80c2b46 st_dword(fs->dirbuf + XDIR_FileSize, (DWORD)dj.obj.objsize); /* File size needs to be valid */ 80c7834: 68fb ldr r3, [r7, #12] 80c7836: 691b ldr r3, [r3, #16] 80c7838: f103 0238 add.w r2, r3, #56 ; 0x38 80c783c: e9d7 3408 ldrd r3, r4, [r7, #32] 80c7840: 4619 mov r1, r3 80c7842: 4610 mov r0, r2 80c7844: f7fb f97f bl 80c2b46 st_dword(fs->dirbuf + XDIR_ValidFileSize, (DWORD)dj.obj.objsize); 80c7848: 68fb ldr r3, [r7, #12] 80c784a: 691b ldr r3, [r3, #16] 80c784c: f103 0228 add.w r2, r3, #40 ; 0x28 80c7850: e9d7 3408 ldrd r3, r4, [r7, #32] 80c7854: 4619 mov r1, r3 80c7856: 4610 mov r0, r2 80c7858: f7fb f975 bl 80c2b46 fs->dirbuf[XDIR_GenFlags] = 3; /* Initialize the object flag (contiguous) */ 80c785c: 68fb ldr r3, [r7, #12] 80c785e: 691b ldr r3, [r3, #16] 80c7860: 3321 adds r3, #33 ; 0x21 80c7862: 2203 movs r2, #3 80c7864: 701a strb r2, [r3, #0] fs->dirbuf[XDIR_Attr] = AM_DIR; /* Attribute */ 80c7866: 68fb ldr r3, [r7, #12] 80c7868: 691b ldr r3, [r3, #16] 80c786a: 3304 adds r3, #4 80c786c: 2210 movs r2, #16 80c786e: 701a strb r2, [r3, #0] res = store_xdir(&dj); 80c7870: f107 0310 add.w r3, r7, #16 80c7874: 4618 mov r0, r3 80c7876: f7fc fed5 bl 80c4624 80c787a: 4603 mov r3, r0 80c787c: f887 307f strb.w r3, [r7, #127] ; 0x7f 80c7880: e014 b.n 80c78ac } else #endif { dir = dj.dir; 80c7882: 6cfb ldr r3, [r7, #76] ; 0x4c 80c7884: 667b str r3, [r7, #100] ; 0x64 st_dword(dir + DIR_ModTime, tm); /* Created time */ 80c7886: 6e7b ldr r3, [r7, #100] ; 0x64 80c7888: 3316 adds r3, #22 80c788a: 6eb9 ldr r1, [r7, #104] ; 0x68 80c788c: 4618 mov r0, r3 80c788e: f7fb f95a bl 80c2b46 st_clust(fs, dir, dcl); /* Table start cluster */ 80c7892: 68fb ldr r3, [r7, #12] 80c7894: 6efa ldr r2, [r7, #108] ; 0x6c 80c7896: 6e79 ldr r1, [r7, #100] ; 0x64 80c7898: 4618 mov r0, r3 80c789a: f7fc faa8 bl 80c3dee dir[DIR_Attr] = AM_DIR; /* Attribute */ 80c789e: 6e7b ldr r3, [r7, #100] ; 0x64 80c78a0: 330b adds r3, #11 80c78a2: 2210 movs r2, #16 80c78a4: 701a strb r2, [r3, #0] fs->wflag = 1; 80c78a6: 68fb ldr r3, [r7, #12] 80c78a8: 2201 movs r2, #1 80c78aa: 70da strb r2, [r3, #3] } if (res == FR_OK) { 80c78ac: f897 307f ldrb.w r3, [r7, #127] ; 0x7f 80c78b0: 2b00 cmp r3, #0 80c78b2: d10e bne.n 80c78d2 res = sync_fs(fs); 80c78b4: 68fb ldr r3, [r7, #12] 80c78b6: 4618 mov r0, r3 80c78b8: f7fb faf0 bl 80c2e9c 80c78bc: 4603 mov r3, r0 80c78be: f887 307f strb.w r3, [r7, #127] ; 0x7f 80c78c2: e006 b.n 80c78d2 } } else { remove_chain(&dj.obj, dcl, 0); /* Could not register, remove cluster chain */ 80c78c4: f107 0310 add.w r3, r7, #16 80c78c8: 2200 movs r2, #0 80c78ca: 6ef9 ldr r1, [r7, #108] ; 0x6c 80c78cc: 4618 mov r0, r3 80c78ce: f7fb fec5 bl 80c365c } } FREE_NAMBUF(); } LEAVE_FF(fs, res); 80c78d2: f897 307f ldrb.w r3, [r7, #127] ; 0x7f } 80c78d6: 4618 mov r0, r3 80c78d8: 3784 adds r7, #132 ; 0x84 80c78da: 46bd mov sp, r7 80c78dc: bd90 pop {r4, r7, pc} ... 080c78e0 : /*-----------------------------------------------------------------------*/ FRESULT f_setlabel ( const TCHAR* label /* Pointer to the volume label to set */ ) { 80c78e0: b580 push {r7, lr} 80c78e2: b0a4 sub sp, #144 ; 0x90 80c78e4: af00 add r7, sp, #0 80c78e6: 6078 str r0, [r7, #4] WCHAR w; static const char badchr[] = "\"*+,.:;<=>\?[]|\x7F"; /* Get logical drive */ res = find_volume(&label, &fs, FA_WRITE); 80c78e8: f107 0124 add.w r1, r7, #36 ; 0x24 80c78ec: 1d3b adds r3, r7, #4 80c78ee: 2202 movs r2, #2 80c78f0: 4618 mov r0, r3 80c78f2: f7fd ff43 bl 80c577c 80c78f6: 4603 mov r3, r0 80c78f8: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res != FR_OK) LEAVE_FF(fs, res); 80c78fc: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80c7900: 2b00 cmp r3, #0 80c7902: d002 beq.n 80c790a 80c7904: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80c7908: e186 b.n 80c7c18 dj.obj.fs = fs; 80c790a: 6a7b ldr r3, [r7, #36] ; 0x24 80c790c: 62bb str r3, [r7, #40] ; 0x28 /* Get length of given volume label */ for (slen = 0; (UINT)label[slen] >= ' '; slen++) ; /* Get name length */ 80c790e: 2300 movs r3, #0 80c7910: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80c7914: e004 b.n 80c7920 80c7916: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c791a: 3301 adds r3, #1 80c791c: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80c7920: 687a ldr r2, [r7, #4] 80c7922: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c7926: 4413 add r3, r2 80c7928: 781b ldrb r3, [r3, #0] 80c792a: 2b1f cmp r3, #31 80c792c: d8f3 bhi.n 80c7916 #if _FS_EXFAT if (fs->fs_type == FS_EXFAT) { /* On the exFAT volume */ 80c792e: 6a7b ldr r3, [r7, #36] ; 0x24 80c7930: 781b ldrb r3, [r3, #0] 80c7932: 2b04 cmp r3, #4 80c7934: d14d bne.n 80c79d2 for (i = j = 0; i < slen; ) { /* Create volume label in directory form */ 80c7936: 2300 movs r3, #0 80c7938: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80c793c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7940: f8c7 3088 str.w r3, [r7, #136] ; 0x88 80c7944: e035 b.n 80c79b2 w = label[i++]; 80c7946: 687a ldr r2, [r7, #4] 80c7948: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80c794c: 1c59 adds r1, r3, #1 80c794e: f8c7 1088 str.w r1, [r7, #136] ; 0x88 80c7952: 4413 add r3, r2 80c7954: 781b ldrb r3, [r3, #0] 80c7956: f8a7 307e strh.w r3, [r7, #126] ; 0x7e #if !_LFN_UNICODE if (IsDBCS1(w)) { w = (i < slen && IsDBCS2(label[i])) ? w << 8 | (BYTE)label[i++] : 0; } w = ff_convert(w, 1); 80c795a: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c795e: 2101 movs r1, #1 80c7960: 4618 mov r0, r3 80c7962: f001 fa9f bl 80c8ea4 80c7966: 4603 mov r3, r0 80c7968: f8a7 307e strh.w r3, [r7, #126] ; 0x7e #endif if (w == 0 || chk_chr(badchr, w) || j == 22) { /* Check validity check validity of the volume label */ 80c796c: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7970: 2b00 cmp r3, #0 80c7972: d00c beq.n 80c798e 80c7974: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7978: 4619 mov r1, r3 80c797a: 48a9 ldr r0, [pc, #676] ; (80c7c20 ) 80c797c: f7fb fa02 bl 80c2d84 80c7980: 4603 mov r3, r0 80c7982: 2b00 cmp r3, #0 80c7984: d103 bne.n 80c798e 80c7986: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c798a: 2b16 cmp r3, #22 80c798c: d101 bne.n 80c7992 LEAVE_FF(fs, FR_INVALID_NAME); 80c798e: 2306 movs r3, #6 80c7990: e142 b.n 80c7c18 } st_word(dirvn + j, w); j += 2; 80c7992: f107 020c add.w r2, r7, #12 80c7996: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c799a: 4413 add r3, r2 80c799c: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e 80c79a0: 4611 mov r1, r2 80c79a2: 4618 mov r0, r3 80c79a4: f7fb f8b4 bl 80c2b10 80c79a8: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c79ac: 3302 adds r3, #2 80c79ae: f8c7 3084 str.w r3, [r7, #132] ; 0x84 for (i = j = 0; i < slen; ) { /* Create volume label in directory form */ 80c79b2: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80c79b6: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c79ba: 429a cmp r2, r3 80c79bc: d3c3 bcc.n 80c7946 } slen = j; 80c79be: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c79c2: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80c79c6: e08e b.n 80c7ae6 } else #endif { /* On the FAT12/16/32 volume */ for ( ; slen && label[slen - 1] == ' '; slen--) ; /* Remove trailing spaces */ 80c79c8: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c79cc: 3b01 subs r3, #1 80c79ce: f8c7 3080 str.w r3, [r7, #128] ; 0x80 80c79d2: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c79d6: 2b00 cmp r3, #0 80c79d8: d007 beq.n 80c79ea 80c79da: 687a ldr r2, [r7, #4] 80c79dc: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c79e0: 3b01 subs r3, #1 80c79e2: 4413 add r3, r2 80c79e4: 781b ldrb r3, [r3, #0] 80c79e6: 2b20 cmp r3, #32 80c79e8: d0ee beq.n 80c79c8 if (slen) { /* Is there a volume label to be set? */ 80c79ea: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c79ee: 2b00 cmp r3, #0 80c79f0: d079 beq.n 80c7ae6 dirvn[0] = 0; i = j = 0; /* Create volume label in directory form */ 80c79f2: 2300 movs r3, #0 80c79f4: 733b strb r3, [r7, #12] 80c79f6: 2300 movs r3, #0 80c79f8: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80c79fc: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7a00: f8c7 3088 str.w r3, [r7, #136] ; 0x88 do { #if _LFN_UNICODE w = ff_convert(ff_wtoupper(label[i++]), 0); #else w = (BYTE)label[i++]; 80c7a04: 687a ldr r2, [r7, #4] 80c7a06: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80c7a0a: 1c59 adds r1, r3, #1 80c7a0c: f8c7 1088 str.w r1, [r7, #136] ; 0x88 80c7a10: 4413 add r3, r2 80c7a12: 781b ldrb r3, [r3, #0] 80c7a14: f8a7 307e strh.w r3, [r7, #126] ; 0x7e if (IsDBCS1(w)) { w = (j < 10 && i < slen && IsDBCS2(label[i])) ? w << 8 | (BYTE)label[i++] : 0; } #if _USE_LFN != 0 w = ff_convert(ff_wtoupper(ff_convert(w, 1)), 0); 80c7a18: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7a1c: 2101 movs r1, #1 80c7a1e: 4618 mov r0, r3 80c7a20: f001 fa40 bl 80c8ea4 80c7a24: 4603 mov r3, r0 80c7a26: 4618 mov r0, r3 80c7a28: f001 fa78 bl 80c8f1c 80c7a2c: 4603 mov r3, r0 80c7a2e: 2100 movs r1, #0 80c7a30: 4618 mov r0, r3 80c7a32: f001 fa37 bl 80c8ea4 80c7a36: 4603 mov r3, r0 80c7a38: f8a7 307e strh.w r3, [r7, #126] ; 0x7e #else if (!_DF1S && w >= 0x80) w = 0; /* Reject extended characters (ASCII cfg) */ #endif #endif #endif if (w == 0 || chk_chr(badchr, w) || j >= (UINT)((w >= 0x100) ? 10 : 11)) { /* Reject invalid characters for volume label */ 80c7a3c: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7a40: 2b00 cmp r3, #0 80c7a42: d013 beq.n 80c7a6c 80c7a44: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7a48: 4619 mov r1, r3 80c7a4a: 4875 ldr r0, [pc, #468] ; (80c7c20 ) 80c7a4c: f7fb f99a bl 80c2d84 80c7a50: 4603 mov r3, r0 80c7a52: 2b00 cmp r3, #0 80c7a54: d10a bne.n 80c7a6c 80c7a56: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7a5a: 2bff cmp r3, #255 ; 0xff 80c7a5c: d901 bls.n 80c7a62 80c7a5e: 220a movs r2, #10 80c7a60: e000 b.n 80c7a64 80c7a62: 220b movs r2, #11 80c7a64: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7a68: 429a cmp r2, r3 80c7a6a: d801 bhi.n 80c7a70 LEAVE_FF(fs, FR_INVALID_NAME); 80c7a6c: 2306 movs r3, #6 80c7a6e: e0d3 b.n 80c7c18 } if (w >= 0x100) dirvn[j++] = (BYTE)(w >> 8); 80c7a70: f8b7 307e ldrh.w r3, [r7, #126] ; 0x7e 80c7a74: 2bff cmp r3, #255 ; 0xff 80c7a76: d90e bls.n 80c7a96 80c7a78: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7a7c: 1c5a adds r2, r3, #1 80c7a7e: f8c7 2084 str.w r2, [r7, #132] ; 0x84 80c7a82: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e 80c7a86: 0a12 lsrs r2, r2, #8 80c7a88: b292 uxth r2, r2 80c7a8a: b2d2 uxtb r2, r2 80c7a8c: f107 0190 add.w r1, r7, #144 ; 0x90 80c7a90: 440b add r3, r1 80c7a92: f803 2c84 strb.w r2, [r3, #-132] dirvn[j++] = (BYTE)w; 80c7a96: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7a9a: 1c5a adds r2, r3, #1 80c7a9c: f8c7 2084 str.w r2, [r7, #132] ; 0x84 80c7aa0: f8b7 207e ldrh.w r2, [r7, #126] ; 0x7e 80c7aa4: b2d2 uxtb r2, r2 80c7aa6: f107 0190 add.w r1, r7, #144 ; 0x90 80c7aaa: 440b add r3, r1 80c7aac: f803 2c84 strb.w r2, [r3, #-132] } while (i < slen); 80c7ab0: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80c7ab4: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c7ab8: 429a cmp r2, r3 80c7aba: d3a3 bcc.n 80c7a04 while (j < 11) dirvn[j++] = ' '; /* Fill remaining name field */ 80c7abc: e00a b.n 80c7ad4 80c7abe: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7ac2: 1c5a adds r2, r3, #1 80c7ac4: f8c7 2084 str.w r2, [r7, #132] ; 0x84 80c7ac8: f107 0290 add.w r2, r7, #144 ; 0x90 80c7acc: 4413 add r3, r2 80c7ace: 2220 movs r2, #32 80c7ad0: f803 2c84 strb.w r2, [r3, #-132] 80c7ad4: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c7ad8: 2b0a cmp r3, #10 80c7ada: d9f0 bls.n 80c7abe if (dirvn[0] == DDEM) LEAVE_FF(fs, FR_INVALID_NAME); /* Reject illegal name (heading DDEM) */ 80c7adc: 7b3b ldrb r3, [r7, #12] 80c7ade: 2be5 cmp r3, #229 ; 0xe5 80c7ae0: d101 bne.n 80c7ae6 80c7ae2: 2306 movs r3, #6 80c7ae4: e098 b.n 80c7c18 } } /* Set volume label */ dj.obj.sclust = 0; /* Open root directory */ 80c7ae6: 2300 movs r3, #0 80c7ae8: 633b str r3, [r7, #48] ; 0x30 res = dir_sdi(&dj, 0); 80c7aea: f107 0328 add.w r3, r7, #40 ; 0x28 80c7aee: 2100 movs r1, #0 80c7af0: 4618 mov r0, r3 80c7af2: f7fb ffa6 bl 80c3a42 80c7af6: 4603 mov r3, r0 80c7af8: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res == FR_OK) { 80c7afc: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80c7b00: 2b00 cmp r3, #0 80c7b02: f040 8087 bne.w 80c7c14 res = dir_read(&dj, 1); /* Get volume label entry */ 80c7b06: f107 0328 add.w r3, r7, #40 ; 0x28 80c7b0a: 2101 movs r1, #1 80c7b0c: 4618 mov r0, r3 80c7b0e: f7fc fe4b bl 80c47a8 80c7b12: 4603 mov r3, r0 80c7b14: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res == FR_OK) { 80c7b18: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80c7b1c: 2b00 cmp r3, #0 80c7b1e: d12e bne.n 80c7b7e if (_FS_EXFAT && fs->fs_type == FS_EXFAT) { 80c7b20: 6a7b ldr r3, [r7, #36] ; 0x24 80c7b22: 781b ldrb r3, [r3, #0] 80c7b24: 2b04 cmp r3, #4 80c7b26: d110 bne.n 80c7b4a dj.dir[XDIR_NumLabel] = (BYTE)(slen / 2); /* Change the volume label */ 80c7b28: 6e7b ldr r3, [r7, #100] ; 0x64 80c7b2a: 3301 adds r3, #1 80c7b2c: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c7b30: 0852 lsrs r2, r2, #1 80c7b32: b2d2 uxtb r2, r2 80c7b34: 701a strb r2, [r3, #0] mem_cpy(dj.dir + XDIR_Label, dirvn, slen); 80c7b36: 6e7b ldr r3, [r7, #100] ; 0x64 80c7b38: 3302 adds r3, #2 80c7b3a: f107 010c add.w r1, r7, #12 80c7b3e: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c7b42: 4618 mov r0, r3 80c7b44: f7fb f8bc bl 80c2cc0 80c7b48: e00e b.n 80c7b68 } else { if (slen) { 80c7b4a: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c7b4e: 2b00 cmp r3, #0 80c7b50: d007 beq.n 80c7b62 mem_cpy(dj.dir, dirvn, 11); /* Change the volume label */ 80c7b52: 6e7b ldr r3, [r7, #100] ; 0x64 80c7b54: f107 010c add.w r1, r7, #12 80c7b58: 220b movs r2, #11 80c7b5a: 4618 mov r0, r3 80c7b5c: f7fb f8b0 bl 80c2cc0 80c7b60: e002 b.n 80c7b68 } else { dj.dir[DIR_Name] = DDEM; /* Remove the volume label */ 80c7b62: 6e7b ldr r3, [r7, #100] ; 0x64 80c7b64: 22e5 movs r2, #229 ; 0xe5 80c7b66: 701a strb r2, [r3, #0] } } fs->wflag = 1; 80c7b68: 6a7b ldr r3, [r7, #36] ; 0x24 80c7b6a: 2201 movs r2, #1 80c7b6c: 70da strb r2, [r3, #3] res = sync_fs(fs); 80c7b6e: 6a7b ldr r3, [r7, #36] ; 0x24 80c7b70: 4618 mov r0, r3 80c7b72: f7fb f993 bl 80c2e9c 80c7b76: 4603 mov r3, r0 80c7b78: f887 308f strb.w r3, [r7, #143] ; 0x8f 80c7b7c: e04a b.n 80c7c14 } else { /* No volume label entry is found or error */ if (res == FR_NO_FILE) { 80c7b7e: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80c7b82: 2b04 cmp r3, #4 80c7b84: d146 bne.n 80c7c14 res = FR_OK; 80c7b86: 2300 movs r3, #0 80c7b88: f887 308f strb.w r3, [r7, #143] ; 0x8f if (slen) { /* Create a volume label entry */ 80c7b8c: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c7b90: 2b00 cmp r3, #0 80c7b92: d03f beq.n 80c7c14 res = dir_alloc(&dj, 1); /* Allocate an entry */ 80c7b94: f107 0328 add.w r3, r7, #40 ; 0x28 80c7b98: 2101 movs r1, #1 80c7b9a: 4618 mov r0, r3 80c7b9c: f7fc f8ac bl 80c3cf8 80c7ba0: 4603 mov r3, r0 80c7ba2: f887 308f strb.w r3, [r7, #143] ; 0x8f if (res == FR_OK) { 80c7ba6: f897 308f ldrb.w r3, [r7, #143] ; 0x8f 80c7baa: 2b00 cmp r3, #0 80c7bac: d132 bne.n 80c7c14 mem_set(dj.dir, 0, SZDIRE); /* Clear the entry */ 80c7bae: 6e7b ldr r3, [r7, #100] ; 0x64 80c7bb0: 2220 movs r2, #32 80c7bb2: 2100 movs r1, #0 80c7bb4: 4618 mov r0, r3 80c7bb6: f7fb f8a4 bl 80c2d02 if (_FS_EXFAT && fs->fs_type == FS_EXFAT) { 80c7bba: 6a7b ldr r3, [r7, #36] ; 0x24 80c7bbc: 781b ldrb r3, [r3, #0] 80c7bbe: 2b04 cmp r3, #4 80c7bc0: d113 bne.n 80c7bea dj.dir[XDIR_Type] = 0x83; /* Create 83 entry */ 80c7bc2: 6e7b ldr r3, [r7, #100] ; 0x64 80c7bc4: 2283 movs r2, #131 ; 0x83 80c7bc6: 701a strb r2, [r3, #0] dj.dir[XDIR_NumLabel] = (BYTE)(slen / 2); 80c7bc8: 6e7b ldr r3, [r7, #100] ; 0x64 80c7bca: 3301 adds r3, #1 80c7bcc: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c7bd0: 0852 lsrs r2, r2, #1 80c7bd2: b2d2 uxtb r2, r2 80c7bd4: 701a strb r2, [r3, #0] mem_cpy(dj.dir + XDIR_Label, dirvn, slen); 80c7bd6: 6e7b ldr r3, [r7, #100] ; 0x64 80c7bd8: 3302 adds r3, #2 80c7bda: f107 010c add.w r1, r7, #12 80c7bde: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c7be2: 4618 mov r0, r3 80c7be4: f7fb f86c bl 80c2cc0 80c7be8: e00a b.n 80c7c00 } else { dj.dir[DIR_Attr] = AM_VOL; /* Create volume label entry */ 80c7bea: 6e7b ldr r3, [r7, #100] ; 0x64 80c7bec: 330b adds r3, #11 80c7bee: 2208 movs r2, #8 80c7bf0: 701a strb r2, [r3, #0] mem_cpy(dj.dir, dirvn, 11); 80c7bf2: 6e7b ldr r3, [r7, #100] ; 0x64 80c7bf4: f107 010c add.w r1, r7, #12 80c7bf8: 220b movs r2, #11 80c7bfa: 4618 mov r0, r3 80c7bfc: f7fb f860 bl 80c2cc0 } fs->wflag = 1; 80c7c00: 6a7b ldr r3, [r7, #36] ; 0x24 80c7c02: 2201 movs r2, #1 80c7c04: 70da strb r2, [r3, #3] res = sync_fs(fs); 80c7c06: 6a7b ldr r3, [r7, #36] ; 0x24 80c7c08: 4618 mov r0, r3 80c7c0a: f7fb f947 bl 80c2e9c 80c7c0e: 4603 mov r3, r0 80c7c10: f887 308f strb.w r3, [r7, #143] ; 0x8f } } } } LEAVE_FF(fs, res); 80c7c14: f897 308f ldrb.w r3, [r7, #143] ; 0x8f } 80c7c18: 4618 mov r0, r3 80c7c1a: 3790 adds r7, #144 ; 0x90 80c7c1c: 46bd mov sp, r7 80c7c1e: bd80 pop {r7, pc} 80c7c20: 08169ca0 .word 0x08169ca0 080c7c24 : BYTE opt, /* Format option */ DWORD au, /* Size of allocation unit (cluster) [byte] */ void* work, /* Pointer to working buffer */ UINT len /* Size of working buffer */ ) { 80c7c24: b590 push {r4, r7, lr} 80c7c26: b0a9 sub sp, #164 ; 0xa4 80c7c28: af00 add r7, sp, #0 80c7c2a: 60f8 str r0, [r7, #12] 80c7c2c: 607a str r2, [r7, #4] 80c7c2e: 603b str r3, [r7, #0] 80c7c30: 460b mov r3, r1 80c7c32: 72fb strb r3, [r7, #11] const UINT n_fats = 1; /* Number of FATs for FAT12/16/32 volume (1 or 2) */ 80c7c34: 2301 movs r3, #1 80c7c36: 657b str r3, [r7, #84] ; 0x54 const UINT n_rootdir = 512; /* Number of root directory entries for FAT12/16 volume */ 80c7c38: f44f 7300 mov.w r3, #512 ; 0x200 80c7c3c: 653b str r3, [r7, #80] ; 0x50 DWORD tbl[3]; #endif /* Check mounted drive and clear work area */ vol = get_ldnumber(&path); /* Get target logical drive */ 80c7c3e: f107 030c add.w r3, r7, #12 80c7c42: 4618 mov r0, r3 80c7c44: f7fd fcf2 bl 80c562c 80c7c48: 64f8 str r0, [r7, #76] ; 0x4c if (vol < 0) return FR_INVALID_DRIVE; 80c7c4a: 6cfb ldr r3, [r7, #76] ; 0x4c 80c7c4c: 2b00 cmp r3, #0 80c7c4e: da02 bge.n 80c7c56 80c7c50: 230b movs r3, #11 80c7c52: f001 b8c4 b.w 80c8dde if (FatFs[vol]) FatFs[vol]->fs_type = 0; /* Clear the volume */ 80c7c56: 4abf ldr r2, [pc, #764] ; (80c7f54 ) 80c7c58: 6cfb ldr r3, [r7, #76] ; 0x4c 80c7c5a: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80c7c5e: 2b00 cmp r3, #0 80c7c60: d005 beq.n 80c7c6e 80c7c62: 4abc ldr r2, [pc, #752] ; (80c7f54 ) 80c7c64: 6cfb ldr r3, [r7, #76] ; 0x4c 80c7c66: f852 3023 ldr.w r3, [r2, r3, lsl #2] 80c7c6a: 2200 movs r2, #0 80c7c6c: 701a strb r2, [r3, #0] pdrv = LD2PD(vol); /* Physical drive */ 80c7c6e: 6cfb ldr r3, [r7, #76] ; 0x4c 80c7c70: f887 304b strb.w r3, [r7, #75] ; 0x4b part = LD2PT(vol); /* Partition (0:create as new, 1-4:get from partition table) */ 80c7c74: 2300 movs r3, #0 80c7c76: f887 304a strb.w r3, [r7, #74] ; 0x4a /* Check physical drive status */ stat = disk_initialize(pdrv); 80c7c7a: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80c7c7e: 4618 mov r0, r3 80c7c80: f7fa fdd8 bl 80c2834 80c7c84: 4603 mov r3, r0 80c7c86: f887 3049 strb.w r3, [r7, #73] ; 0x49 if (stat & STA_NOINIT) return FR_NOT_READY; 80c7c8a: f897 3049 ldrb.w r3, [r7, #73] ; 0x49 80c7c8e: f003 0301 and.w r3, r3, #1 80c7c92: 2b00 cmp r3, #0 80c7c94: d002 beq.n 80c7c9c 80c7c96: 2303 movs r3, #3 80c7c98: f001 b8a1 b.w 80c8dde if (stat & STA_PROTECT) return FR_WRITE_PROTECTED; 80c7c9c: f897 3049 ldrb.w r3, [r7, #73] ; 0x49 80c7ca0: f003 0304 and.w r3, r3, #4 80c7ca4: 2b00 cmp r3, #0 80c7ca6: d002 beq.n 80c7cae 80c7ca8: 230a movs r3, #10 80c7caa: f001 b898 b.w 80c8dde if (disk_ioctl(pdrv, GET_BLOCK_SIZE, &sz_blk) != RES_OK || !sz_blk || sz_blk > 32768 || (sz_blk & (sz_blk - 1))) sz_blk = 1; /* Erase block to align data area */ 80c7cae: f107 0220 add.w r2, r7, #32 80c7cb2: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80c7cb6: 2103 movs r1, #3 80c7cb8: 4618 mov r0, r3 80c7cba: f7fa fe21 bl 80c2900 80c7cbe: 4603 mov r3, r0 80c7cc0: 2b00 cmp r3, #0 80c7cc2: d10c bne.n 80c7cde 80c7cc4: 6a3b ldr r3, [r7, #32] 80c7cc6: 2b00 cmp r3, #0 80c7cc8: d009 beq.n 80c7cde 80c7cca: 6a3b ldr r3, [r7, #32] 80c7ccc: f5b3 4f00 cmp.w r3, #32768 ; 0x8000 80c7cd0: d805 bhi.n 80c7cde 80c7cd2: 6a3b ldr r3, [r7, #32] 80c7cd4: 1e5a subs r2, r3, #1 80c7cd6: 6a3b ldr r3, [r7, #32] 80c7cd8: 4013 ands r3, r2 80c7cda: 2b00 cmp r3, #0 80c7cdc: d001 beq.n 80c7ce2 80c7cde: 2301 movs r3, #1 80c7ce0: 623b str r3, [r7, #32] #if _MAX_SS != _MIN_SS /* Get sector size of the medium if variable sector size cfg. */ if (disk_ioctl(pdrv, GET_SECTOR_SIZE, &ss) != RES_OK) return FR_DISK_ERR; if (ss > _MAX_SS || ss < _MIN_SS || (ss & (ss - 1))) return FR_DISK_ERR; #else ss = _MAX_SS; 80c7ce2: f44f 7300 mov.w r3, #512 ; 0x200 80c7ce6: f8a7 3046 strh.w r3, [r7, #70] ; 0x46 #endif if ((au != 0 && au < ss) || au > 0x1000000 || (au & (au - 1))) return FR_INVALID_PARAMETER; /* Check if au is valid */ 80c7cea: 687b ldr r3, [r7, #4] 80c7cec: 2b00 cmp r3, #0 80c7cee: d004 beq.n 80c7cfa 80c7cf0: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c7cf4: 687b ldr r3, [r7, #4] 80c7cf6: 429a cmp r2, r3 80c7cf8: d809 bhi.n 80c7d0e 80c7cfa: 687b ldr r3, [r7, #4] 80c7cfc: f1b3 7f80 cmp.w r3, #16777216 ; 0x1000000 80c7d00: d805 bhi.n 80c7d0e 80c7d02: 687b ldr r3, [r7, #4] 80c7d04: 1e5a subs r2, r3, #1 80c7d06: 687b ldr r3, [r7, #4] 80c7d08: 4013 ands r3, r2 80c7d0a: 2b00 cmp r3, #0 80c7d0c: d002 beq.n 80c7d14 80c7d0e: 2313 movs r3, #19 80c7d10: f001 b865 b.w 80c8dde au /= ss; /* Cluster size in unit of sector */ 80c7d14: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7d18: 687a ldr r2, [r7, #4] 80c7d1a: fbb2 f3f3 udiv r3, r2, r3 80c7d1e: 607b str r3, [r7, #4] /* Get working buffer */ buf = (BYTE*)work; /* Working buffer */ 80c7d20: 683b ldr r3, [r7, #0] 80c7d22: 643b str r3, [r7, #64] ; 0x40 sz_buf = len / ss; /* Size of working buffer (sector) */ 80c7d24: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7d28: f8d7 20b0 ldr.w r2, [r7, #176] ; 0xb0 80c7d2c: fbb2 f3f3 udiv r3, r2, r3 80c7d30: 63fb str r3, [r7, #60] ; 0x3c szb_buf = sz_buf * ss; /* Size of working buffer (byte) */ 80c7d32: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7d36: 6bfa ldr r2, [r7, #60] ; 0x3c 80c7d38: fb02 f303 mul.w r3, r2, r3 80c7d3c: 63bb str r3, [r7, #56] ; 0x38 if (!szb_buf) return FR_MKFS_ABORTED; 80c7d3e: 6bbb ldr r3, [r7, #56] ; 0x38 80c7d40: 2b00 cmp r3, #0 80c7d42: d102 bne.n 80c7d4a 80c7d44: 230e movs r3, #14 80c7d46: f001 b84a b.w 80c8dde if (!pte[PTE_System]) return FR_MKFS_ABORTED; /* No partition? */ b_vol = ld_dword(pte + PTE_StLba); /* Get volume start sector */ sz_vol = ld_dword(pte + PTE_SizLba); /* Get volume size */ } else { /* Create a single-partition in this function */ if (disk_ioctl(pdrv, GET_SECTOR_COUNT, &sz_vol) != RES_OK) return FR_DISK_ERR; 80c7d4a: f107 021c add.w r2, r7, #28 80c7d4e: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80c7d52: 2101 movs r1, #1 80c7d54: 4618 mov r0, r3 80c7d56: f7fa fdd3 bl 80c2900 80c7d5a: 4603 mov r3, r0 80c7d5c: 2b00 cmp r3, #0 80c7d5e: d002 beq.n 80c7d66 80c7d60: 2301 movs r3, #1 80c7d62: f001 b83c b.w 80c8dde b_vol = (opt & FM_SFD) ? 0 : 63; /* Volume start sector */ 80c7d66: 7afb ldrb r3, [r7, #11] 80c7d68: f003 0308 and.w r3, r3, #8 80c7d6c: 2b00 cmp r3, #0 80c7d6e: d001 beq.n 80c7d74 80c7d70: 2300 movs r3, #0 80c7d72: e000 b.n 80c7d76 80c7d74: 233f movs r3, #63 ; 0x3f 80c7d76: 637b str r3, [r7, #52] ; 0x34 if (sz_vol < b_vol) return FR_MKFS_ABORTED; 80c7d78: 69fa ldr r2, [r7, #28] 80c7d7a: 6b7b ldr r3, [r7, #52] ; 0x34 80c7d7c: 429a cmp r2, r3 80c7d7e: d202 bcs.n 80c7d86 80c7d80: 230e movs r3, #14 80c7d82: f001 b82c b.w 80c8dde sz_vol -= b_vol; /* Volume size */ 80c7d86: 69fa ldr r2, [r7, #28] 80c7d88: 6b7b ldr r3, [r7, #52] ; 0x34 80c7d8a: 1ad3 subs r3, r2, r3 80c7d8c: 61fb str r3, [r7, #28] } if (sz_vol < 128) return FR_MKFS_ABORTED; /* Check if volume size is >=128s */ 80c7d8e: 69fb ldr r3, [r7, #28] 80c7d90: 2b7f cmp r3, #127 ; 0x7f 80c7d92: d802 bhi.n 80c7d9a 80c7d94: 230e movs r3, #14 80c7d96: f001 b822 b.w 80c8dde /* Pre-determine the FAT type */ do { if (_FS_EXFAT && (opt & FM_EXFAT)) { /* exFAT possible? */ 80c7d9a: 7afb ldrb r3, [r7, #11] 80c7d9c: f003 0304 and.w r3, r3, #4 80c7da0: 2b00 cmp r3, #0 80c7da2: d00f beq.n 80c7dc4 if ((opt & FM_ANY) == FM_EXFAT || sz_vol >= 0x4000000 || au > 128) { /* exFAT only, vol >= 64Ms or au > 128s ? */ 80c7da4: 7afb ldrb r3, [r7, #11] 80c7da6: f003 0307 and.w r3, r3, #7 80c7daa: 2b04 cmp r3, #4 80c7dac: d006 beq.n 80c7dbc 80c7dae: 69fb ldr r3, [r7, #28] 80c7db0: f1b3 6f80 cmp.w r3, #67108864 ; 0x4000000 80c7db4: d202 bcs.n 80c7dbc 80c7db6: 687b ldr r3, [r7, #4] 80c7db8: 2b80 cmp r3, #128 ; 0x80 80c7dba: d903 bls.n 80c7dc4 fmt = FS_EXFAT; break; 80c7dbc: 2304 movs r3, #4 80c7dbe: f887 309f strb.w r3, [r7, #159] ; 0x9f 80c7dc2: e023 b.n 80c7e0c } } if (au > 128) return FR_INVALID_PARAMETER; /* Too large au for FAT/FAT32 */ 80c7dc4: 687b ldr r3, [r7, #4] 80c7dc6: 2b80 cmp r3, #128 ; 0x80 80c7dc8: d902 bls.n 80c7dd0 80c7dca: 2313 movs r3, #19 80c7dcc: f001 b807 b.w 80c8dde if (opt & FM_FAT32) { /* FAT32 possible? */ 80c7dd0: 7afb ldrb r3, [r7, #11] 80c7dd2: f003 0302 and.w r3, r3, #2 80c7dd6: 2b00 cmp r3, #0 80c7dd8: d00d beq.n 80c7df6 if ((opt & FM_ANY) == FM_FAT32 || !(opt & FM_FAT)) { /* FAT32 only or no-FAT? */ 80c7dda: 7afb ldrb r3, [r7, #11] 80c7ddc: f003 0307 and.w r3, r3, #7 80c7de0: 2b02 cmp r3, #2 80c7de2: d004 beq.n 80c7dee 80c7de4: 7afb ldrb r3, [r7, #11] 80c7de6: f003 0301 and.w r3, r3, #1 80c7dea: 2b00 cmp r3, #0 80c7dec: d103 bne.n 80c7df6 fmt = FS_FAT32; break; 80c7dee: 2303 movs r3, #3 80c7df0: f887 309f strb.w r3, [r7, #159] ; 0x9f 80c7df4: e00a b.n 80c7e0c } } if (!(opt & FM_FAT)) return FR_INVALID_PARAMETER; /* no-FAT? */ 80c7df6: 7afb ldrb r3, [r7, #11] 80c7df8: f003 0301 and.w r3, r3, #1 80c7dfc: 2b00 cmp r3, #0 80c7dfe: d102 bne.n 80c7e06 80c7e00: 2313 movs r3, #19 80c7e02: f000 bfec b.w 80c8dde fmt = FS_FAT16; 80c7e06: 2302 movs r3, #2 80c7e08: f887 309f strb.w r3, [r7, #159] ; 0x9f } while (0); #if _FS_EXFAT if (fmt == FS_EXFAT) { /* Create an exFAT volume */ 80c7e0c: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c7e10: 2b04 cmp r3, #4 80c7e12: f040 842c bne.w 80c866e DWORD szb_bit, szb_case, sum, nb, cl; WCHAR ch, si; UINT j, st; BYTE b; if (sz_vol < 0x1000) return FR_MKFS_ABORTED; /* Too small volume? */ 80c7e16: 69fb ldr r3, [r7, #28] 80c7e18: f5b3 5f80 cmp.w r3, #4096 ; 0x1000 80c7e1c: d202 bcs.n 80c7e24 80c7e1e: 230e movs r3, #14 80c7e20: f000 bfdd b.w 80c8dde #if _USE_TRIM tbl[0] = b_vol; tbl[1] = b_vol + sz_vol - 1; /* Inform the device the volume area may be erased */ disk_ioctl(pdrv, CTRL_TRIM, tbl); #endif /* Determine FAT location, data location and number of clusters */ if (!au) { /* au auto-selection */ 80c7e24: 687b ldr r3, [r7, #4] 80c7e26: 2b00 cmp r3, #0 80c7e28: d10e bne.n 80c7e48 au = 8; 80c7e2a: 2308 movs r3, #8 80c7e2c: 607b str r3, [r7, #4] if (sz_vol >= 0x80000) au = 64; /* >= 512Ks */ 80c7e2e: 69fb ldr r3, [r7, #28] 80c7e30: f5b3 2f00 cmp.w r3, #524288 ; 0x80000 80c7e34: d301 bcc.n 80c7e3a 80c7e36: 2340 movs r3, #64 ; 0x40 80c7e38: 607b str r3, [r7, #4] if (sz_vol >= 0x4000000) au = 256; /* >= 64Ms */ 80c7e3a: 69fb ldr r3, [r7, #28] 80c7e3c: f1b3 6f80 cmp.w r3, #67108864 ; 0x4000000 80c7e40: d302 bcc.n 80c7e48 80c7e42: f44f 7380 mov.w r3, #256 ; 0x100 80c7e46: 607b str r3, [r7, #4] } b_fat = b_vol + 32; /* FAT start at offset 32 */ 80c7e48: 6b7b ldr r3, [r7, #52] ; 0x34 80c7e4a: 3320 adds r3, #32 80c7e4c: f8c7 3088 str.w r3, [r7, #136] ; 0x88 sz_fat = ((sz_vol / au + 2) * 4 + ss - 1) / ss; /* Number of FAT sectors */ 80c7e50: 69fa ldr r2, [r7, #28] 80c7e52: 687b ldr r3, [r7, #4] 80c7e54: fbb2 f3f3 udiv r3, r2, r3 80c7e58: 3302 adds r3, #2 80c7e5a: 009a lsls r2, r3, #2 80c7e5c: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7e60: 4413 add r3, r2 80c7e62: 1e5a subs r2, r3, #1 80c7e64: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7e68: fbb2 f3f3 udiv r3, r2, r3 80c7e6c: f8c7 3080 str.w r3, [r7, #128] ; 0x80 b_data = (b_fat + sz_fat + sz_blk - 1) & ~(sz_blk - 1); /* Align data area to the erase block boundary */ 80c7e70: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80c7e74: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c7e78: 441a add r2, r3 80c7e7a: 6a3b ldr r3, [r7, #32] 80c7e7c: 4413 add r3, r2 80c7e7e: 1e5a subs r2, r3, #1 80c7e80: 6a3b ldr r3, [r7, #32] 80c7e82: 425b negs r3, r3 80c7e84: 4013 ands r3, r2 80c7e86: 633b str r3, [r7, #48] ; 0x30 if (b_data >= sz_vol / 2) return FR_MKFS_ABORTED; /* Too small volume? */ 80c7e88: 69fb ldr r3, [r7, #28] 80c7e8a: 085a lsrs r2, r3, #1 80c7e8c: 6b3b ldr r3, [r7, #48] ; 0x30 80c7e8e: 429a cmp r2, r3 80c7e90: d802 bhi.n 80c7e98 80c7e92: 230e movs r3, #14 80c7e94: f000 bfa3 b.w 80c8dde n_clst = (sz_vol - (b_data - b_vol)) / au; /* Number of clusters */ 80c7e98: 6b7a ldr r2, [r7, #52] ; 0x34 80c7e9a: 6b3b ldr r3, [r7, #48] ; 0x30 80c7e9c: 1ad2 subs r2, r2, r3 80c7e9e: 69fb ldr r3, [r7, #28] 80c7ea0: 441a add r2, r3 80c7ea2: 687b ldr r3, [r7, #4] 80c7ea4: fbb2 f3f3 udiv r3, r2, r3 80c7ea8: 62fb str r3, [r7, #44] ; 0x2c if (n_clst <16) return FR_MKFS_ABORTED; /* Too few clusters? */ 80c7eaa: 6afb ldr r3, [r7, #44] ; 0x2c 80c7eac: 2b0f cmp r3, #15 80c7eae: d802 bhi.n 80c7eb6 80c7eb0: 230e movs r3, #14 80c7eb2: f000 bf94 b.w 80c8dde if (n_clst > MAX_EXFAT) return FR_MKFS_ABORTED; /* Too many clusters? */ 80c7eb6: 6afb ldr r3, [r7, #44] ; 0x2c 80c7eb8: 4a27 ldr r2, [pc, #156] ; (80c7f58 ) 80c7eba: 4293 cmp r3, r2 80c7ebc: d902 bls.n 80c7ec4 80c7ebe: 230e movs r3, #14 80c7ec0: f000 bf8d b.w 80c8dde szb_bit = (n_clst + 7) / 8; /* Size of allocation bitmap */ 80c7ec4: 6afb ldr r3, [r7, #44] ; 0x2c 80c7ec6: 3307 adds r3, #7 80c7ec8: 08db lsrs r3, r3, #3 80c7eca: 62bb str r3, [r7, #40] ; 0x28 tbl[0] = (szb_bit + au * ss - 1) / (au * ss); /* Number of allocation bitmap clusters */ 80c7ecc: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7ed0: 687a ldr r2, [r7, #4] 80c7ed2: fb02 f203 mul.w r2, r2, r3 80c7ed6: 6abb ldr r3, [r7, #40] ; 0x28 80c7ed8: 4413 add r3, r2 80c7eda: 1e5a subs r2, r3, #1 80c7edc: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c7ee0: 6879 ldr r1, [r7, #4] 80c7ee2: fb01 f303 mul.w r3, r1, r3 80c7ee6: fbb2 f3f3 udiv r3, r2, r3 80c7eea: 613b str r3, [r7, #16] /* Create a compressed up-case table */ sect = b_data + au * tbl[0]; /* Table start sector */ 80c7eec: 693b ldr r3, [r7, #16] 80c7eee: 687a ldr r2, [r7, #4] 80c7ef0: fb02 f203 mul.w r2, r2, r3 80c7ef4: 6b3b ldr r3, [r7, #48] ; 0x30 80c7ef6: 4413 add r3, r2 80c7ef8: f8c7 3094 str.w r3, [r7, #148] ; 0x94 sum = 0; /* Table checksum to be stored in the 82 entry */ 80c7efc: 2300 movs r3, #0 80c7efe: 673b str r3, [r7, #112] ; 0x70 st = si = i = j = szb_case = 0; 80c7f00: 2300 movs r3, #0 80c7f02: 677b str r3, [r7, #116] ; 0x74 80c7f04: 2300 movs r3, #0 80c7f06: 663b str r3, [r7, #96] ; 0x60 80c7f08: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f0a: 67bb str r3, [r7, #120] ; 0x78 80c7f0c: 6fbb ldr r3, [r7, #120] ; 0x78 80c7f0e: f8a7 3064 strh.w r3, [r7, #100] ; 0x64 80c7f12: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7f16: 65fb str r3, [r7, #92] ; 0x5c do { switch (st) { 80c7f18: 6dfb ldr r3, [r7, #92] ; 0x5c 80c7f1a: 2b00 cmp r3, #0 80c7f1c: d002 beq.n 80c7f24 80c7f1e: 2b01 cmp r3, #1 80c7f20: d045 beq.n 80c7fae 80c7f22: e054 b.n 80c7fce case 0: ch = ff_wtoupper(si); /* Get an up-case char */ 80c7f24: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7f28: 4618 mov r0, r3 80c7f2a: f000 fff7 bl 80c8f1c 80c7f2e: 4603 mov r3, r0 80c7f30: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 if (ch != si) { 80c7f34: f8b7 2066 ldrh.w r2, [r7, #102] ; 0x66 80c7f38: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7f3c: 429a cmp r2, r3 80c7f3e: d005 beq.n 80c7f4c si++; break; /* Store the up-case char if exist */ 80c7f40: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7f44: 3301 adds r3, #1 80c7f46: f8a7 3064 strh.w r3, [r7, #100] ; 0x64 80c7f4a: e04e b.n 80c7fea } for (j = 1; (WCHAR)(si + j) && (WCHAR)(si + j) == ff_wtoupper((WCHAR)(si + j)); j++) ; /* Get run length of no-case block */ 80c7f4c: 2301 movs r3, #1 80c7f4e: 663b str r3, [r7, #96] ; 0x60 80c7f50: e007 b.n 80c7f62 80c7f52: bf00 nop 80c7f54: 200216ac .word 0x200216ac 80c7f58: 7ffffffd .word 0x7ffffffd 80c7f5c: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f5e: 3301 adds r3, #1 80c7f60: 663b str r3, [r7, #96] ; 0x60 80c7f62: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f64: b29a uxth r2, r3 80c7f66: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7f6a: 4413 add r3, r2 80c7f6c: b29b uxth r3, r3 80c7f6e: 2b00 cmp r3, #0 80c7f70: d011 beq.n 80c7f96 80c7f72: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f74: b29a uxth r2, r3 80c7f76: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7f7a: 4413 add r3, r2 80c7f7c: b29c uxth r4, r3 80c7f7e: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f80: b29a uxth r2, r3 80c7f82: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7f86: 4413 add r3, r2 80c7f88: b29b uxth r3, r3 80c7f8a: 4618 mov r0, r3 80c7f8c: f000 ffc6 bl 80c8f1c 80c7f90: 4603 mov r3, r0 80c7f92: 429c cmp r4, r3 80c7f94: d0e2 beq.n 80c7f5c if (j >= 128) { 80c7f96: 6e3b ldr r3, [r7, #96] ; 0x60 80c7f98: 2b7f cmp r3, #127 ; 0x7f 80c7f9a: d906 bls.n 80c7faa ch = 0xFFFF; st = 2; break; /* Compress the no-case block if run is >= 128 */ 80c7f9c: f64f 73ff movw r3, #65535 ; 0xffff 80c7fa0: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 80c7fa4: 2302 movs r3, #2 80c7fa6: 65fb str r3, [r7, #92] ; 0x5c 80c7fa8: e01f b.n 80c7fea } st = 1; /* Do not compress short run */ 80c7faa: 2301 movs r3, #1 80c7fac: 65fb str r3, [r7, #92] ; 0x5c /* go to next case */ case 1: ch = si++; /* Fill the short run */ 80c7fae: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7fb2: 1c5a adds r2, r3, #1 80c7fb4: f8a7 2064 strh.w r2, [r7, #100] ; 0x64 80c7fb8: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 if (--j == 0) st = 0; 80c7fbc: 6e3b ldr r3, [r7, #96] ; 0x60 80c7fbe: 3b01 subs r3, #1 80c7fc0: 663b str r3, [r7, #96] ; 0x60 80c7fc2: 6e3b ldr r3, [r7, #96] ; 0x60 80c7fc4: 2b00 cmp r3, #0 80c7fc6: d10f bne.n 80c7fe8 80c7fc8: 2300 movs r3, #0 80c7fca: 65fb str r3, [r7, #92] ; 0x5c break; 80c7fcc: e00c b.n 80c7fe8 default: ch = (WCHAR)j; si += j; /* Number of chars to skip */ 80c7fce: 6e3b ldr r3, [r7, #96] ; 0x60 80c7fd0: f8a7 3066 strh.w r3, [r7, #102] ; 0x66 80c7fd4: 6e3b ldr r3, [r7, #96] ; 0x60 80c7fd6: b29a uxth r2, r3 80c7fd8: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c7fdc: 4413 add r3, r2 80c7fde: f8a7 3064 strh.w r3, [r7, #100] ; 0x64 st = 0; 80c7fe2: 2300 movs r3, #0 80c7fe4: 65fb str r3, [r7, #92] ; 0x5c 80c7fe6: e000 b.n 80c7fea break; 80c7fe8: bf00 nop } sum = xsum32(buf[i + 0] = (BYTE)ch, sum); /* Put it into the write buffer */ 80c7fea: 6c3a ldr r2, [r7, #64] ; 0x40 80c7fec: 6fbb ldr r3, [r7, #120] ; 0x78 80c7fee: 4413 add r3, r2 80c7ff0: f8b7 2066 ldrh.w r2, [r7, #102] ; 0x66 80c7ff4: b2d2 uxtb r2, r2 80c7ff6: 701a strb r2, [r3, #0] 80c7ff8: 781b ldrb r3, [r3, #0] 80c7ffa: 6f39 ldr r1, [r7, #112] ; 0x70 80c7ffc: 4618 mov r0, r3 80c7ffe: f7fc f97b bl 80c42f8 80c8002: 6738 str r0, [r7, #112] ; 0x70 sum = xsum32(buf[i + 1] = (BYTE)(ch >> 8), sum); 80c8004: 6fbb ldr r3, [r7, #120] ; 0x78 80c8006: 3301 adds r3, #1 80c8008: 6c3a ldr r2, [r7, #64] ; 0x40 80c800a: 4413 add r3, r2 80c800c: f8b7 2066 ldrh.w r2, [r7, #102] ; 0x66 80c8010: 0a12 lsrs r2, r2, #8 80c8012: b292 uxth r2, r2 80c8014: b2d2 uxtb r2, r2 80c8016: 701a strb r2, [r3, #0] 80c8018: 781b ldrb r3, [r3, #0] 80c801a: 6f39 ldr r1, [r7, #112] ; 0x70 80c801c: 4618 mov r0, r3 80c801e: f7fc f96b bl 80c42f8 80c8022: 6738 str r0, [r7, #112] ; 0x70 i += 2; szb_case += 2; 80c8024: 6fbb ldr r3, [r7, #120] ; 0x78 80c8026: 3302 adds r3, #2 80c8028: 67bb str r3, [r7, #120] ; 0x78 80c802a: 6f7b ldr r3, [r7, #116] ; 0x74 80c802c: 3302 adds r3, #2 80c802e: 677b str r3, [r7, #116] ; 0x74 if (!si || i == szb_buf) { /* Write buffered data when buffer full or end of process */ 80c8030: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c8034: 2b00 cmp r3, #0 80c8036: d003 beq.n 80c8040 80c8038: 6fba ldr r2, [r7, #120] ; 0x78 80c803a: 6bbb ldr r3, [r7, #56] ; 0x38 80c803c: 429a cmp r2, r3 80c803e: d122 bne.n 80c8086 n = (i + ss - 1) / ss; 80c8040: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c8044: 6fbb ldr r3, [r7, #120] ; 0x78 80c8046: 4413 add r3, r2 80c8048: 1e5a subs r2, r3, #1 80c804a: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c804e: fbb2 f3f3 udiv r3, r2, r3 80c8052: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80c8056: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c805a: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c805e: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8062: 6c39 ldr r1, [r7, #64] ; 0x40 80c8064: f7fa fc2c bl 80c28c0 80c8068: 4603 mov r3, r0 80c806a: 2b00 cmp r3, #0 80c806c: d002 beq.n 80c8074 80c806e: 2301 movs r3, #1 80c8070: f000 beb5 b.w 80c8dde sect += n; i = 0; 80c8074: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8078: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c807c: 4413 add r3, r2 80c807e: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c8082: 2300 movs r3, #0 80c8084: 67bb str r3, [r7, #120] ; 0x78 } } while (si); 80c8086: f8b7 3064 ldrh.w r3, [r7, #100] ; 0x64 80c808a: 2b00 cmp r3, #0 80c808c: f47f af44 bne.w 80c7f18 tbl[1] = (szb_case + au * ss - 1) / (au * ss); /* Number of up-case table clusters */ 80c8090: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8094: 687a ldr r2, [r7, #4] 80c8096: fb02 f203 mul.w r2, r2, r3 80c809a: 6f7b ldr r3, [r7, #116] ; 0x74 80c809c: 4413 add r3, r2 80c809e: 1e5a subs r2, r3, #1 80c80a0: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c80a4: 6879 ldr r1, [r7, #4] 80c80a6: fb01 f303 mul.w r3, r1, r3 80c80aa: fbb2 f3f3 udiv r3, r2, r3 80c80ae: 617b str r3, [r7, #20] tbl[2] = 1; /* Number of root dir clusters */ 80c80b0: 2301 movs r3, #1 80c80b2: 61bb str r3, [r7, #24] /* Initialize the allocation bitmap */ sect = b_data; nsect = (szb_bit + ss - 1) / ss; /* Start of bitmap and number of sectors */ 80c80b4: 6b3b ldr r3, [r7, #48] ; 0x30 80c80b6: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c80ba: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c80be: 6abb ldr r3, [r7, #40] ; 0x28 80c80c0: 4413 add r3, r2 80c80c2: 1e5a subs r2, r3, #1 80c80c4: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c80c8: fbb2 f3f3 udiv r3, r2, r3 80c80cc: f8c7 3090 str.w r3, [r7, #144] ; 0x90 nb = tbl[0] + tbl[1] + tbl[2]; /* Number of clusters in-use by system */ 80c80d0: 693a ldr r2, [r7, #16] 80c80d2: 697b ldr r3, [r7, #20] 80c80d4: 441a add r2, r3 80c80d6: 69bb ldr r3, [r7, #24] 80c80d8: 4413 add r3, r2 80c80da: 66fb str r3, [r7, #108] ; 0x6c do { mem_set(buf, 0, szb_buf); 80c80dc: 6bba ldr r2, [r7, #56] ; 0x38 80c80de: 2100 movs r1, #0 80c80e0: 6c38 ldr r0, [r7, #64] ; 0x40 80c80e2: f7fa fe0e bl 80c2d02 for (i = 0; nb >= 8 && i < szb_buf; buf[i++] = 0xFF, nb -= 8) ; 80c80e6: 2300 movs r3, #0 80c80e8: 67bb str r3, [r7, #120] ; 0x78 80c80ea: e009 b.n 80c8100 80c80ec: 6fbb ldr r3, [r7, #120] ; 0x78 80c80ee: 1c5a adds r2, r3, #1 80c80f0: 67ba str r2, [r7, #120] ; 0x78 80c80f2: 6c3a ldr r2, [r7, #64] ; 0x40 80c80f4: 4413 add r3, r2 80c80f6: 22ff movs r2, #255 ; 0xff 80c80f8: 701a strb r2, [r3, #0] 80c80fa: 6efb ldr r3, [r7, #108] ; 0x6c 80c80fc: 3b08 subs r3, #8 80c80fe: 66fb str r3, [r7, #108] ; 0x6c 80c8100: 6efb ldr r3, [r7, #108] ; 0x6c 80c8102: 2b07 cmp r3, #7 80c8104: d903 bls.n 80c810e 80c8106: 6fba ldr r2, [r7, #120] ; 0x78 80c8108: 6bbb ldr r3, [r7, #56] ; 0x38 80c810a: 429a cmp r2, r3 80c810c: d3ee bcc.n 80c80ec for (b = 1; nb && i < szb_buf; buf[i] |= b, b <<= 1, nb--) ; 80c810e: 2301 movs r3, #1 80c8110: f887 305b strb.w r3, [r7, #91] ; 0x5b 80c8114: e013 b.n 80c813e 80c8116: 6c3a ldr r2, [r7, #64] ; 0x40 80c8118: 6fbb ldr r3, [r7, #120] ; 0x78 80c811a: 4413 add r3, r2 80c811c: 6c39 ldr r1, [r7, #64] ; 0x40 80c811e: 6fba ldr r2, [r7, #120] ; 0x78 80c8120: 440a add r2, r1 80c8122: 7811 ldrb r1, [r2, #0] 80c8124: f897 205b ldrb.w r2, [r7, #91] ; 0x5b 80c8128: 430a orrs r2, r1 80c812a: b2d2 uxtb r2, r2 80c812c: 701a strb r2, [r3, #0] 80c812e: f897 305b ldrb.w r3, [r7, #91] ; 0x5b 80c8132: 005b lsls r3, r3, #1 80c8134: f887 305b strb.w r3, [r7, #91] ; 0x5b 80c8138: 6efb ldr r3, [r7, #108] ; 0x6c 80c813a: 3b01 subs r3, #1 80c813c: 66fb str r3, [r7, #108] ; 0x6c 80c813e: 6efb ldr r3, [r7, #108] ; 0x6c 80c8140: 2b00 cmp r3, #0 80c8142: d003 beq.n 80c814c 80c8144: 6fba ldr r2, [r7, #120] ; 0x78 80c8146: 6bbb ldr r3, [r7, #56] ; 0x38 80c8148: 429a cmp r2, r3 80c814a: d3e4 bcc.n 80c8116 n = (nsect > sz_buf) ? sz_buf : nsect; /* Write the buffered data */ 80c814c: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8150: 6bfb ldr r3, [r7, #60] ; 0x3c 80c8152: 4293 cmp r3, r2 80c8154: bf28 it cs 80c8156: 4613 movcs r3, r2 80c8158: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80c815c: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8160: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8164: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8168: 6c39 ldr r1, [r7, #64] ; 0x40 80c816a: f7fa fba9 bl 80c28c0 80c816e: 4603 mov r3, r0 80c8170: 2b00 cmp r3, #0 80c8172: d002 beq.n 80c817a 80c8174: 2301 movs r3, #1 80c8176: f000 be32 b.w 80c8dde sect += n; nsect -= n; 80c817a: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c817e: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8182: 4413 add r3, r2 80c8184: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c8188: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c818c: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8190: 1ad3 subs r3, r2, r3 80c8192: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80c8196: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80c819a: 2b00 cmp r3, #0 80c819c: d19e bne.n 80c80dc /* Initialize the FAT */ sect = b_fat; nsect = sz_fat; /* Start of FAT and number of FAT sectors */ 80c819e: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80c81a2: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c81a6: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c81aa: f8c7 3090 str.w r3, [r7, #144] ; 0x90 j = nb = cl = 0; 80c81ae: 2300 movs r3, #0 80c81b0: 66bb str r3, [r7, #104] ; 0x68 80c81b2: 6ebb ldr r3, [r7, #104] ; 0x68 80c81b4: 66fb str r3, [r7, #108] ; 0x6c 80c81b6: 6efb ldr r3, [r7, #108] ; 0x6c 80c81b8: 663b str r3, [r7, #96] ; 0x60 do { mem_set(buf, 0, szb_buf); i = 0; /* Clear work area and reset write index */ 80c81ba: 6bba ldr r2, [r7, #56] ; 0x38 80c81bc: 2100 movs r1, #0 80c81be: 6c38 ldr r0, [r7, #64] ; 0x40 80c81c0: f7fa fd9f bl 80c2d02 80c81c4: 2300 movs r3, #0 80c81c6: 67bb str r3, [r7, #120] ; 0x78 if (cl == 0) { /* Set entry 0 and 1 */ 80c81c8: 6ebb ldr r3, [r7, #104] ; 0x68 80c81ca: 2b00 cmp r3, #0 80c81cc: d134 bne.n 80c8238 st_dword(buf + i, 0xFFFFFFF8); i += 4; cl++; 80c81ce: 6c3a ldr r2, [r7, #64] ; 0x40 80c81d0: 6fbb ldr r3, [r7, #120] ; 0x78 80c81d2: 4413 add r3, r2 80c81d4: f06f 0107 mvn.w r1, #7 80c81d8: 4618 mov r0, r3 80c81da: f7fa fcb4 bl 80c2b46 80c81de: 6fbb ldr r3, [r7, #120] ; 0x78 80c81e0: 3304 adds r3, #4 80c81e2: 67bb str r3, [r7, #120] ; 0x78 80c81e4: 6ebb ldr r3, [r7, #104] ; 0x68 80c81e6: 3301 adds r3, #1 80c81e8: 66bb str r3, [r7, #104] ; 0x68 st_dword(buf + i, 0xFFFFFFFF); i += 4; cl++; 80c81ea: 6c3a ldr r2, [r7, #64] ; 0x40 80c81ec: 6fbb ldr r3, [r7, #120] ; 0x78 80c81ee: 4413 add r3, r2 80c81f0: f04f 31ff mov.w r1, #4294967295 80c81f4: 4618 mov r0, r3 80c81f6: f7fa fca6 bl 80c2b46 80c81fa: 6fbb ldr r3, [r7, #120] ; 0x78 80c81fc: 3304 adds r3, #4 80c81fe: 67bb str r3, [r7, #120] ; 0x78 80c8200: 6ebb ldr r3, [r7, #104] ; 0x68 80c8202: 3301 adds r3, #1 80c8204: 66bb str r3, [r7, #104] ; 0x68 } do { /* Create chains of bitmap, up-case and root dir */ while (nb && i < szb_buf) { /* Create a chain */ 80c8206: e017 b.n 80c8238 st_dword(buf + i, (nb > 1) ? cl + 1 : 0xFFFFFFFF); 80c8208: 6c3a ldr r2, [r7, #64] ; 0x40 80c820a: 6fbb ldr r3, [r7, #120] ; 0x78 80c820c: 441a add r2, r3 80c820e: 6efb ldr r3, [r7, #108] ; 0x6c 80c8210: 2b01 cmp r3, #1 80c8212: d902 bls.n 80c821a 80c8214: 6ebb ldr r3, [r7, #104] ; 0x68 80c8216: 3301 adds r3, #1 80c8218: e001 b.n 80c821e 80c821a: f04f 33ff mov.w r3, #4294967295 80c821e: 4619 mov r1, r3 80c8220: 4610 mov r0, r2 80c8222: f7fa fc90 bl 80c2b46 i += 4; cl++; nb--; 80c8226: 6fbb ldr r3, [r7, #120] ; 0x78 80c8228: 3304 adds r3, #4 80c822a: 67bb str r3, [r7, #120] ; 0x78 80c822c: 6ebb ldr r3, [r7, #104] ; 0x68 80c822e: 3301 adds r3, #1 80c8230: 66bb str r3, [r7, #104] ; 0x68 80c8232: 6efb ldr r3, [r7, #108] ; 0x6c 80c8234: 3b01 subs r3, #1 80c8236: 66fb str r3, [r7, #108] ; 0x6c while (nb && i < szb_buf) { /* Create a chain */ 80c8238: 6efb ldr r3, [r7, #108] ; 0x6c 80c823a: 2b00 cmp r3, #0 80c823c: d003 beq.n 80c8246 80c823e: 6fba ldr r2, [r7, #120] ; 0x78 80c8240: 6bbb ldr r3, [r7, #56] ; 0x38 80c8242: 429a cmp r2, r3 80c8244: d3e0 bcc.n 80c8208 } if (!nb && j < 3) nb = tbl[j++]; /* Next chain */ 80c8246: 6efb ldr r3, [r7, #108] ; 0x6c 80c8248: 2b00 cmp r3, #0 80c824a: d10c bne.n 80c8266 80c824c: 6e3b ldr r3, [r7, #96] ; 0x60 80c824e: 2b02 cmp r3, #2 80c8250: d809 bhi.n 80c8266 80c8252: 6e3b ldr r3, [r7, #96] ; 0x60 80c8254: 1c5a adds r2, r3, #1 80c8256: 663a str r2, [r7, #96] ; 0x60 80c8258: 009b lsls r3, r3, #2 80c825a: f107 02a0 add.w r2, r7, #160 ; 0xa0 80c825e: 4413 add r3, r2 80c8260: f853 3c90 ldr.w r3, [r3, #-144] 80c8264: 66fb str r3, [r7, #108] ; 0x6c } while (nb && i < szb_buf); 80c8266: 6efb ldr r3, [r7, #108] ; 0x6c 80c8268: 2b00 cmp r3, #0 80c826a: d003 beq.n 80c8274 80c826c: 6fba ldr r2, [r7, #120] ; 0x78 80c826e: 6bbb ldr r3, [r7, #56] ; 0x38 80c8270: 429a cmp r2, r3 80c8272: d3e1 bcc.n 80c8238 n = (nsect > sz_buf) ? sz_buf : nsect; /* Write the buffered data */ 80c8274: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8278: 6bfb ldr r3, [r7, #60] ; 0x3c 80c827a: 4293 cmp r3, r2 80c827c: bf28 it cs 80c827e: 4613 movcs r3, r2 80c8280: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80c8284: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8288: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c828c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8290: 6c39 ldr r1, [r7, #64] ; 0x40 80c8292: f7fa fb15 bl 80c28c0 80c8296: 4603 mov r3, r0 80c8298: 2b00 cmp r3, #0 80c829a: d002 beq.n 80c82a2 80c829c: 2301 movs r3, #1 80c829e: f000 bd9e b.w 80c8dde sect += n; nsect -= n; 80c82a2: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c82a6: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c82aa: 4413 add r3, r2 80c82ac: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c82b0: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c82b4: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c82b8: 1ad3 subs r3, r2, r3 80c82ba: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80c82be: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80c82c2: 2b00 cmp r3, #0 80c82c4: f47f af79 bne.w 80c81ba /* Initialize the root directory */ mem_set(buf, 0, szb_buf); 80c82c8: 6bba ldr r2, [r7, #56] ; 0x38 80c82ca: 2100 movs r1, #0 80c82cc: 6c38 ldr r0, [r7, #64] ; 0x40 80c82ce: f7fa fd18 bl 80c2d02 buf[SZDIRE * 0 + 0] = 0x83; /* 83 entry (volume label) */ 80c82d2: 6c3b ldr r3, [r7, #64] ; 0x40 80c82d4: 2283 movs r2, #131 ; 0x83 80c82d6: 701a strb r2, [r3, #0] buf[SZDIRE * 1 + 0] = 0x81; /* 81 entry (allocation bitmap) */ 80c82d8: 6c3b ldr r3, [r7, #64] ; 0x40 80c82da: 3320 adds r3, #32 80c82dc: 2281 movs r2, #129 ; 0x81 80c82de: 701a strb r2, [r3, #0] st_dword(buf + SZDIRE * 1 + 20, 2); 80c82e0: 6c3b ldr r3, [r7, #64] ; 0x40 80c82e2: 3334 adds r3, #52 ; 0x34 80c82e4: 2102 movs r1, #2 80c82e6: 4618 mov r0, r3 80c82e8: f7fa fc2d bl 80c2b46 st_dword(buf + SZDIRE * 1 + 24, szb_bit); 80c82ec: 6c3b ldr r3, [r7, #64] ; 0x40 80c82ee: 3338 adds r3, #56 ; 0x38 80c82f0: 6ab9 ldr r1, [r7, #40] ; 0x28 80c82f2: 4618 mov r0, r3 80c82f4: f7fa fc27 bl 80c2b46 buf[SZDIRE * 2 + 0] = 0x82; /* 82 entry (up-case table) */ 80c82f8: 6c3b ldr r3, [r7, #64] ; 0x40 80c82fa: 3340 adds r3, #64 ; 0x40 80c82fc: 2282 movs r2, #130 ; 0x82 80c82fe: 701a strb r2, [r3, #0] st_dword(buf + SZDIRE * 2 + 4, sum); 80c8300: 6c3b ldr r3, [r7, #64] ; 0x40 80c8302: 3344 adds r3, #68 ; 0x44 80c8304: 6f39 ldr r1, [r7, #112] ; 0x70 80c8306: 4618 mov r0, r3 80c8308: f7fa fc1d bl 80c2b46 st_dword(buf + SZDIRE * 2 + 20, 2 + tbl[0]); 80c830c: 6c3b ldr r3, [r7, #64] ; 0x40 80c830e: f103 0254 add.w r2, r3, #84 ; 0x54 80c8312: 693b ldr r3, [r7, #16] 80c8314: 3302 adds r3, #2 80c8316: 4619 mov r1, r3 80c8318: 4610 mov r0, r2 80c831a: f7fa fc14 bl 80c2b46 st_dword(buf + SZDIRE * 2 + 24, szb_case); 80c831e: 6c3b ldr r3, [r7, #64] ; 0x40 80c8320: 3358 adds r3, #88 ; 0x58 80c8322: 6f79 ldr r1, [r7, #116] ; 0x74 80c8324: 4618 mov r0, r3 80c8326: f7fa fc0e bl 80c2b46 sect = b_data + au * (tbl[0] + tbl[1]); nsect = au; /* Start of the root directory and number of sectors */ 80c832a: 693a ldr r2, [r7, #16] 80c832c: 697b ldr r3, [r7, #20] 80c832e: 4413 add r3, r2 80c8330: 687a ldr r2, [r7, #4] 80c8332: fb02 f203 mul.w r2, r2, r3 80c8336: 6b3b ldr r3, [r7, #48] ; 0x30 80c8338: 4413 add r3, r2 80c833a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c833e: 687b ldr r3, [r7, #4] 80c8340: f8c7 3090 str.w r3, [r7, #144] ; 0x90 do { /* Fill root directory sectors */ n = (nsect > sz_buf) ? sz_buf : nsect; 80c8344: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8348: 6bfb ldr r3, [r7, #60] ; 0x3c 80c834a: 4293 cmp r3, r2 80c834c: bf28 it cs 80c834e: 4613 movcs r3, r2 80c8350: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, n) != RES_OK) return FR_DISK_ERR; 80c8354: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8358: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c835c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8360: 6c39 ldr r1, [r7, #64] ; 0x40 80c8362: f7fa faad bl 80c28c0 80c8366: 4603 mov r3, r0 80c8368: 2b00 cmp r3, #0 80c836a: d002 beq.n 80c8372 80c836c: 2301 movs r3, #1 80c836e: f000 bd36 b.w 80c8dde mem_set(buf, 0, ss); 80c8372: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8376: 461a mov r2, r3 80c8378: 2100 movs r1, #0 80c837a: 6c38 ldr r0, [r7, #64] ; 0x40 80c837c: f7fa fcc1 bl 80c2d02 sect += n; nsect -= n; 80c8380: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8384: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8388: 4413 add r3, r2 80c838a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c838e: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8392: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8396: 1ad3 subs r3, r2, r3 80c8398: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80c839c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80c83a0: 2b00 cmp r3, #0 80c83a2: d1cf bne.n 80c8344 /* Create two set of the exFAT VBR blocks */ sect = b_vol; 80c83a4: 6b7b ldr r3, [r7, #52] ; 0x34 80c83a6: f8c7 3094 str.w r3, [r7, #148] ; 0x94 for (n = 0; n < 2; n++) { 80c83aa: 2300 movs r3, #0 80c83ac: f8c7 308c str.w r3, [r7, #140] ; 0x8c 80c83b0: e157 b.n 80c8662 /* Main record (+0) */ mem_set(buf, 0, ss); 80c83b2: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c83b6: 461a mov r2, r3 80c83b8: 2100 movs r1, #0 80c83ba: 6c38 ldr r0, [r7, #64] ; 0x40 80c83bc: f7fa fca1 bl 80c2d02 mem_cpy(buf + BS_JmpBoot, "\xEB\x76\x90" "EXFAT ", 11); /* Boot jump code (x86), OEM name */ 80c83c0: 220b movs r2, #11 80c83c2: 49b5 ldr r1, [pc, #724] ; (80c8698 ) 80c83c4: 6c38 ldr r0, [r7, #64] ; 0x40 80c83c6: f7fa fc7b bl 80c2cc0 st_dword(buf + BPB_VolOfsEx, b_vol); /* Volume offset in the physical drive [sector] */ 80c83ca: 6c3b ldr r3, [r7, #64] ; 0x40 80c83cc: 3340 adds r3, #64 ; 0x40 80c83ce: 6b79 ldr r1, [r7, #52] ; 0x34 80c83d0: 4618 mov r0, r3 80c83d2: f7fa fbb8 bl 80c2b46 st_dword(buf + BPB_TotSecEx, sz_vol); /* Volume size [sector] */ 80c83d6: 6c3b ldr r3, [r7, #64] ; 0x40 80c83d8: 3348 adds r3, #72 ; 0x48 80c83da: 69fa ldr r2, [r7, #28] 80c83dc: 4611 mov r1, r2 80c83de: 4618 mov r0, r3 80c83e0: f7fa fbb1 bl 80c2b46 st_dword(buf + BPB_FatOfsEx, b_fat - b_vol); /* FAT offset [sector] */ 80c83e4: 6c3b ldr r3, [r7, #64] ; 0x40 80c83e6: f103 0050 add.w r0, r3, #80 ; 0x50 80c83ea: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80c83ee: 6b7b ldr r3, [r7, #52] ; 0x34 80c83f0: 1ad3 subs r3, r2, r3 80c83f2: 4619 mov r1, r3 80c83f4: f7fa fba7 bl 80c2b46 st_dword(buf + BPB_FatSzEx, sz_fat); /* FAT size [sector] */ 80c83f8: 6c3b ldr r3, [r7, #64] ; 0x40 80c83fa: 3354 adds r3, #84 ; 0x54 80c83fc: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80c8400: 4618 mov r0, r3 80c8402: f7fa fba0 bl 80c2b46 st_dword(buf + BPB_DataOfsEx, b_data - b_vol); /* Data offset [sector] */ 80c8406: 6c3b ldr r3, [r7, #64] ; 0x40 80c8408: f103 0058 add.w r0, r3, #88 ; 0x58 80c840c: 6b3a ldr r2, [r7, #48] ; 0x30 80c840e: 6b7b ldr r3, [r7, #52] ; 0x34 80c8410: 1ad3 subs r3, r2, r3 80c8412: 4619 mov r1, r3 80c8414: f7fa fb97 bl 80c2b46 st_dword(buf + BPB_NumClusEx, n_clst); /* Number of clusters */ 80c8418: 6c3b ldr r3, [r7, #64] ; 0x40 80c841a: 335c adds r3, #92 ; 0x5c 80c841c: 6af9 ldr r1, [r7, #44] ; 0x2c 80c841e: 4618 mov r0, r3 80c8420: f7fa fb91 bl 80c2b46 st_dword(buf + BPB_RootClusEx, 2 + tbl[0] + tbl[1]); /* Root dir cluster # */ 80c8424: 6c3b ldr r3, [r7, #64] ; 0x40 80c8426: f103 0060 add.w r0, r3, #96 ; 0x60 80c842a: 693a ldr r2, [r7, #16] 80c842c: 697b ldr r3, [r7, #20] 80c842e: 4413 add r3, r2 80c8430: 3302 adds r3, #2 80c8432: 4619 mov r1, r3 80c8434: f7fa fb87 bl 80c2b46 st_dword(buf + BPB_VolIDEx, GET_FATTIME()); /* VSN */ 80c8438: 6c3b ldr r3, [r7, #64] ; 0x40 80c843a: f103 0464 add.w r4, r3, #100 ; 0x64 80c843e: f7f7 f96d bl 80bf71c 80c8442: 4603 mov r3, r0 80c8444: 4619 mov r1, r3 80c8446: 4620 mov r0, r4 80c8448: f7fa fb7d bl 80c2b46 st_word(buf + BPB_FSVerEx, 0x100); /* File system version (1.00) */ 80c844c: 6c3b ldr r3, [r7, #64] ; 0x40 80c844e: 3368 adds r3, #104 ; 0x68 80c8450: f44f 7180 mov.w r1, #256 ; 0x100 80c8454: 4618 mov r0, r3 80c8456: f7fa fb5b bl 80c2b10 for (buf[BPB_BytsPerSecEx] = 0, i = ss; i >>= 1; buf[BPB_BytsPerSecEx]++) ; /* Log2 of sector size [byte] */ 80c845a: 6c3b ldr r3, [r7, #64] ; 0x40 80c845c: 336c adds r3, #108 ; 0x6c 80c845e: 2200 movs r2, #0 80c8460: 701a strb r2, [r3, #0] 80c8462: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8466: 67bb str r3, [r7, #120] ; 0x78 80c8468: e005 b.n 80c8476 80c846a: 6c3b ldr r3, [r7, #64] ; 0x40 80c846c: 336c adds r3, #108 ; 0x6c 80c846e: 781a ldrb r2, [r3, #0] 80c8470: 3201 adds r2, #1 80c8472: b2d2 uxtb r2, r2 80c8474: 701a strb r2, [r3, #0] 80c8476: 6fbb ldr r3, [r7, #120] ; 0x78 80c8478: 085b lsrs r3, r3, #1 80c847a: 67bb str r3, [r7, #120] ; 0x78 80c847c: 6fbb ldr r3, [r7, #120] ; 0x78 80c847e: 2b00 cmp r3, #0 80c8480: d1f3 bne.n 80c846a for (buf[BPB_SecPerClusEx] = 0, i = au; i >>= 1; buf[BPB_SecPerClusEx]++) ; /* Log2 of cluster size [sector] */ 80c8482: 6c3b ldr r3, [r7, #64] ; 0x40 80c8484: 336d adds r3, #109 ; 0x6d 80c8486: 2200 movs r2, #0 80c8488: 701a strb r2, [r3, #0] 80c848a: 687b ldr r3, [r7, #4] 80c848c: 67bb str r3, [r7, #120] ; 0x78 80c848e: e005 b.n 80c849c 80c8490: 6c3b ldr r3, [r7, #64] ; 0x40 80c8492: 336d adds r3, #109 ; 0x6d 80c8494: 781a ldrb r2, [r3, #0] 80c8496: 3201 adds r2, #1 80c8498: b2d2 uxtb r2, r2 80c849a: 701a strb r2, [r3, #0] 80c849c: 6fbb ldr r3, [r7, #120] ; 0x78 80c849e: 085b lsrs r3, r3, #1 80c84a0: 67bb str r3, [r7, #120] ; 0x78 80c84a2: 6fbb ldr r3, [r7, #120] ; 0x78 80c84a4: 2b00 cmp r3, #0 80c84a6: d1f3 bne.n 80c8490 buf[BPB_NumFATsEx] = 1; /* Number of FATs */ 80c84a8: 6c3b ldr r3, [r7, #64] ; 0x40 80c84aa: 336e adds r3, #110 ; 0x6e 80c84ac: 2201 movs r2, #1 80c84ae: 701a strb r2, [r3, #0] buf[BPB_DrvNumEx] = 0x80; /* Drive number (for int13) */ 80c84b0: 6c3b ldr r3, [r7, #64] ; 0x40 80c84b2: 336f adds r3, #111 ; 0x6f 80c84b4: 2280 movs r2, #128 ; 0x80 80c84b6: 701a strb r2, [r3, #0] st_word(buf + BS_BootCodeEx, 0xFEEB); /* Boot code (x86) */ 80c84b8: 6c3b ldr r3, [r7, #64] ; 0x40 80c84ba: 3378 adds r3, #120 ; 0x78 80c84bc: f64f 61eb movw r1, #65259 ; 0xfeeb 80c84c0: 4618 mov r0, r3 80c84c2: f7fa fb25 bl 80c2b10 st_word(buf + BS_55AA, 0xAA55); /* Signature (placed here regardless of sector size) */ 80c84c6: 6c3b ldr r3, [r7, #64] ; 0x40 80c84c8: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c84cc: f64a 2155 movw r1, #43605 ; 0xaa55 80c84d0: 4618 mov r0, r3 80c84d2: f7fa fb1d bl 80c2b10 for (i = sum = 0; i < ss; i++) { /* VBR checksum */ 80c84d6: 2300 movs r3, #0 80c84d8: 673b str r3, [r7, #112] ; 0x70 80c84da: 2300 movs r3, #0 80c84dc: 67bb str r3, [r7, #120] ; 0x78 80c84de: e014 b.n 80c850a if (i != BPB_VolFlagEx && i != BPB_VolFlagEx + 1 && i != BPB_PercInUseEx) sum = xsum32(buf[i], sum); 80c84e0: 6fbb ldr r3, [r7, #120] ; 0x78 80c84e2: 2b6a cmp r3, #106 ; 0x6a 80c84e4: d00e beq.n 80c8504 80c84e6: 6fbb ldr r3, [r7, #120] ; 0x78 80c84e8: 2b6b cmp r3, #107 ; 0x6b 80c84ea: d00b beq.n 80c8504 80c84ec: 6fbb ldr r3, [r7, #120] ; 0x78 80c84ee: 2b70 cmp r3, #112 ; 0x70 80c84f0: d008 beq.n 80c8504 80c84f2: 6c3a ldr r2, [r7, #64] ; 0x40 80c84f4: 6fbb ldr r3, [r7, #120] ; 0x78 80c84f6: 4413 add r3, r2 80c84f8: 781b ldrb r3, [r3, #0] 80c84fa: 6f39 ldr r1, [r7, #112] ; 0x70 80c84fc: 4618 mov r0, r3 80c84fe: f7fb fefb bl 80c42f8 80c8502: 6738 str r0, [r7, #112] ; 0x70 for (i = sum = 0; i < ss; i++) { /* VBR checksum */ 80c8504: 6fbb ldr r3, [r7, #120] ; 0x78 80c8506: 3301 adds r3, #1 80c8508: 67bb str r3, [r7, #120] ; 0x78 80c850a: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c850e: 6fbb ldr r3, [r7, #120] ; 0x78 80c8510: 429a cmp r2, r3 80c8512: d8e5 bhi.n 80c84e0 } if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80c8514: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8518: 1c53 adds r3, r2, #1 80c851a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c851e: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8522: 2301 movs r3, #1 80c8524: 6c39 ldr r1, [r7, #64] ; 0x40 80c8526: f7fa f9cb bl 80c28c0 80c852a: 4603 mov r3, r0 80c852c: 2b00 cmp r3, #0 80c852e: d002 beq.n 80c8536 80c8530: 2301 movs r3, #1 80c8532: f000 bc54 b.w 80c8dde /* Extended bootstrap record (+1..+8) */ mem_set(buf, 0, ss); 80c8536: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c853a: 461a mov r2, r3 80c853c: 2100 movs r1, #0 80c853e: 6c38 ldr r0, [r7, #64] ; 0x40 80c8540: f7fa fbdf bl 80c2d02 st_word(buf + ss - 2, 0xAA55); /* Signature (placed at end of sector) */ 80c8544: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8548: 3b02 subs r3, #2 80c854a: 6c3a ldr r2, [r7, #64] ; 0x40 80c854c: 4413 add r3, r2 80c854e: f64a 2155 movw r1, #43605 ; 0xaa55 80c8552: 4618 mov r0, r3 80c8554: f7fa fadc bl 80c2b10 for (j = 1; j < 9; j++) { 80c8558: 2301 movs r3, #1 80c855a: 663b str r3, [r7, #96] ; 0x60 80c855c: e026 b.n 80c85ac for (i = 0; i < ss; sum = xsum32(buf[i++], sum)) ; /* VBR checksum */ 80c855e: 2300 movs r3, #0 80c8560: 67bb str r3, [r7, #120] ; 0x78 80c8562: e00a b.n 80c857a 80c8564: 6fbb ldr r3, [r7, #120] ; 0x78 80c8566: 1c5a adds r2, r3, #1 80c8568: 67ba str r2, [r7, #120] ; 0x78 80c856a: 6c3a ldr r2, [r7, #64] ; 0x40 80c856c: 4413 add r3, r2 80c856e: 781b ldrb r3, [r3, #0] 80c8570: 6f39 ldr r1, [r7, #112] ; 0x70 80c8572: 4618 mov r0, r3 80c8574: f7fb fec0 bl 80c42f8 80c8578: 6738 str r0, [r7, #112] ; 0x70 80c857a: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c857e: 6fbb ldr r3, [r7, #120] ; 0x78 80c8580: 429a cmp r2, r3 80c8582: d8ef bhi.n 80c8564 if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80c8584: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8588: 1c53 adds r3, r2, #1 80c858a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c858e: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8592: 2301 movs r3, #1 80c8594: 6c39 ldr r1, [r7, #64] ; 0x40 80c8596: f7fa f993 bl 80c28c0 80c859a: 4603 mov r3, r0 80c859c: 2b00 cmp r3, #0 80c859e: d002 beq.n 80c85a6 80c85a0: 2301 movs r3, #1 80c85a2: f000 bc1c b.w 80c8dde for (j = 1; j < 9; j++) { 80c85a6: 6e3b ldr r3, [r7, #96] ; 0x60 80c85a8: 3301 adds r3, #1 80c85aa: 663b str r3, [r7, #96] ; 0x60 80c85ac: 6e3b ldr r3, [r7, #96] ; 0x60 80c85ae: 2b08 cmp r3, #8 80c85b0: d9d5 bls.n 80c855e } /* OEM/Reserved record (+9..+10) */ mem_set(buf, 0, ss); 80c85b2: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c85b6: 461a mov r2, r3 80c85b8: 2100 movs r1, #0 80c85ba: 6c38 ldr r0, [r7, #64] ; 0x40 80c85bc: f7fa fba1 bl 80c2d02 for ( ; j < 11; j++) { 80c85c0: e025 b.n 80c860e for (i = 0; i < ss; sum = xsum32(buf[i++], sum)) ; /* VBR checksum */ 80c85c2: 2300 movs r3, #0 80c85c4: 67bb str r3, [r7, #120] ; 0x78 80c85c6: e00a b.n 80c85de 80c85c8: 6fbb ldr r3, [r7, #120] ; 0x78 80c85ca: 1c5a adds r2, r3, #1 80c85cc: 67ba str r2, [r7, #120] ; 0x78 80c85ce: 6c3a ldr r2, [r7, #64] ; 0x40 80c85d0: 4413 add r3, r2 80c85d2: 781b ldrb r3, [r3, #0] 80c85d4: 6f39 ldr r1, [r7, #112] ; 0x70 80c85d6: 4618 mov r0, r3 80c85d8: f7fb fe8e bl 80c42f8 80c85dc: 6738 str r0, [r7, #112] ; 0x70 80c85de: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c85e2: 6fbb ldr r3, [r7, #120] ; 0x78 80c85e4: 429a cmp r2, r3 80c85e6: d8ef bhi.n 80c85c8 if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80c85e8: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c85ec: 1c53 adds r3, r2, #1 80c85ee: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c85f2: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c85f6: 2301 movs r3, #1 80c85f8: 6c39 ldr r1, [r7, #64] ; 0x40 80c85fa: f7fa f961 bl 80c28c0 80c85fe: 4603 mov r3, r0 80c8600: 2b00 cmp r3, #0 80c8602: d001 beq.n 80c8608 80c8604: 2301 movs r3, #1 80c8606: e3ea b.n 80c8dde for ( ; j < 11; j++) { 80c8608: 6e3b ldr r3, [r7, #96] ; 0x60 80c860a: 3301 adds r3, #1 80c860c: 663b str r3, [r7, #96] ; 0x60 80c860e: 6e3b ldr r3, [r7, #96] ; 0x60 80c8610: 2b0a cmp r3, #10 80c8612: d9d6 bls.n 80c85c2 } /* Sum record (+11) */ for (i = 0; i < ss; i += 4) st_dword(buf + i, sum); /* Fill with checksum value */ 80c8614: 2300 movs r3, #0 80c8616: 67bb str r3, [r7, #120] ; 0x78 80c8618: e009 b.n 80c862e 80c861a: 6c3a ldr r2, [r7, #64] ; 0x40 80c861c: 6fbb ldr r3, [r7, #120] ; 0x78 80c861e: 4413 add r3, r2 80c8620: 6f39 ldr r1, [r7, #112] ; 0x70 80c8622: 4618 mov r0, r3 80c8624: f7fa fa8f bl 80c2b46 80c8628: 6fbb ldr r3, [r7, #120] ; 0x78 80c862a: 3304 adds r3, #4 80c862c: 67bb str r3, [r7, #120] ; 0x78 80c862e: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c8632: 6fbb ldr r3, [r7, #120] ; 0x78 80c8634: 429a cmp r2, r3 80c8636: d8f0 bhi.n 80c861a if (disk_write(pdrv, buf, sect++, 1) != RES_OK) return FR_DISK_ERR; 80c8638: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c863c: 1c53 adds r3, r2, #1 80c863e: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c8642: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8646: 2301 movs r3, #1 80c8648: 6c39 ldr r1, [r7, #64] ; 0x40 80c864a: f7fa f939 bl 80c28c0 80c864e: 4603 mov r3, r0 80c8650: 2b00 cmp r3, #0 80c8652: d001 beq.n 80c8658 80c8654: 2301 movs r3, #1 80c8656: e3c2 b.n 80c8dde for (n = 0; n < 2; n++) { 80c8658: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c865c: 3301 adds r3, #1 80c865e: f8c7 308c str.w r3, [r7, #140] ; 0x8c 80c8662: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8666: 2b01 cmp r3, #1 80c8668: f67f aea3 bls.w 80c83b2 80c866c: e31a b.n 80c8ca4 } else #endif /* _FS_EXFAT */ { /* Create an FAT12/16/32 volume */ do { pau = au; 80c866e: 687b ldr r3, [r7, #4] 80c8670: f8c7 3098 str.w r3, [r7, #152] ; 0x98 /* Pre-determine number of clusters and FAT sub-type */ if (fmt == FS_FAT32) { /* FAT32 volume */ 80c8674: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8678: 2b03 cmp r3, #3 80c867a: d149 bne.n 80c8710 if (!pau) { /* au auto-selection */ 80c867c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8680: 2b00 cmp r3, #0 80c8682: d122 bne.n 80c86ca n = sz_vol / 0x20000; /* Volume size in unit of 128KS */ 80c8684: 69fb ldr r3, [r7, #28] 80c8686: 0c5b lsrs r3, r3, #17 80c8688: f8c7 308c str.w r3, [r7, #140] ; 0x8c for (i = 0, pau = 1; cst32[i] && cst32[i] <= n; i++, pau <<= 1) ; /* Get from table */ 80c868c: 2300 movs r3, #0 80c868e: 67bb str r3, [r7, #120] ; 0x78 80c8690: 2301 movs r3, #1 80c8692: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80c8696: e009 b.n 80c86ac 80c8698: 080d0bb4 .word 0x080d0bb4 80c869c: 6fbb ldr r3, [r7, #120] ; 0x78 80c869e: 3301 adds r3, #1 80c86a0: 67bb str r3, [r7, #120] ; 0x78 80c86a2: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c86a6: 005b lsls r3, r3, #1 80c86a8: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80c86ac: 4aba ldr r2, [pc, #744] ; (80c8998 ) 80c86ae: 6fbb ldr r3, [r7, #120] ; 0x78 80c86b0: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c86b4: 2b00 cmp r3, #0 80c86b6: d008 beq.n 80c86ca 80c86b8: 4ab7 ldr r2, [pc, #732] ; (80c8998 ) 80c86ba: 6fbb ldr r3, [r7, #120] ; 0x78 80c86bc: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c86c0: 461a mov r2, r3 80c86c2: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c86c6: 429a cmp r2, r3 80c86c8: d9e8 bls.n 80c869c } n_clst = sz_vol / pau; /* Number of clusters */ 80c86ca: 69fa ldr r2, [r7, #28] 80c86cc: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c86d0: fbb2 f3f3 udiv r3, r2, r3 80c86d4: 62fb str r3, [r7, #44] ; 0x2c sz_fat = (n_clst * 4 + 8 + ss - 1) / ss; /* FAT size [sector] */ 80c86d6: 6afb ldr r3, [r7, #44] ; 0x2c 80c86d8: 3302 adds r3, #2 80c86da: 009a lsls r2, r3, #2 80c86dc: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c86e0: 4413 add r3, r2 80c86e2: 1e5a subs r2, r3, #1 80c86e4: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c86e8: fbb2 f3f3 udiv r3, r2, r3 80c86ec: f8c7 3080 str.w r3, [r7, #128] ; 0x80 sz_rsv = 32; /* Number of reserved sectors */ 80c86f0: 2320 movs r3, #32 80c86f2: f8c7 3084 str.w r3, [r7, #132] ; 0x84 sz_dir = 0; /* No static directory */ 80c86f6: 2300 movs r3, #0 80c86f8: 67fb str r3, [r7, #124] ; 0x7c if (n_clst <= MAX_FAT16 || n_clst > MAX_FAT32) return FR_MKFS_ABORTED; 80c86fa: 6afb ldr r3, [r7, #44] ; 0x2c 80c86fc: f64f 72f5 movw r2, #65525 ; 0xfff5 80c8700: 4293 cmp r3, r2 80c8702: d903 bls.n 80c870c 80c8704: 6afb ldr r3, [r7, #44] ; 0x2c 80c8706: 4aa5 ldr r2, [pc, #660] ; (80c899c ) 80c8708: 4293 cmp r3, r2 80c870a: d959 bls.n 80c87c0 80c870c: 230e movs r3, #14 80c870e: e366 b.n 80c8dde } else { /* FAT12/16 volume */ if (!pau) { /* au auto-selection */ 80c8710: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8714: 2b00 cmp r3, #0 80c8716: d120 bne.n 80c875a n = sz_vol / 0x1000; /* Volume size in unit of 4KS */ 80c8718: 69fb ldr r3, [r7, #28] 80c871a: 0b1b lsrs r3, r3, #12 80c871c: f8c7 308c str.w r3, [r7, #140] ; 0x8c for (i = 0, pau = 1; cst[i] && cst[i] <= n; i++, pau <<= 1) ; /* Get from table */ 80c8720: 2300 movs r3, #0 80c8722: 67bb str r3, [r7, #120] ; 0x78 80c8724: 2301 movs r3, #1 80c8726: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80c872a: e007 b.n 80c873c 80c872c: 6fbb ldr r3, [r7, #120] ; 0x78 80c872e: 3301 adds r3, #1 80c8730: 67bb str r3, [r7, #120] ; 0x78 80c8732: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8736: 005b lsls r3, r3, #1 80c8738: f8c7 3098 str.w r3, [r7, #152] ; 0x98 80c873c: 4a98 ldr r2, [pc, #608] ; (80c89a0 ) 80c873e: 6fbb ldr r3, [r7, #120] ; 0x78 80c8740: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8744: 2b00 cmp r3, #0 80c8746: d008 beq.n 80c875a 80c8748: 4a95 ldr r2, [pc, #596] ; (80c89a0 ) 80c874a: 6fbb ldr r3, [r7, #120] ; 0x78 80c874c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8750: 461a mov r2, r3 80c8752: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8756: 429a cmp r2, r3 80c8758: d9e8 bls.n 80c872c } n_clst = sz_vol / pau; 80c875a: 69fa ldr r2, [r7, #28] 80c875c: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8760: fbb2 f3f3 udiv r3, r2, r3 80c8764: 62fb str r3, [r7, #44] ; 0x2c if (n_clst > MAX_FAT12) { 80c8766: 6afb ldr r3, [r7, #44] ; 0x2c 80c8768: f640 72f5 movw r2, #4085 ; 0xff5 80c876c: 4293 cmp r3, r2 80c876e: d905 bls.n 80c877c n = n_clst * 2 + 4; /* FAT size [byte] */ 80c8770: 6afb ldr r3, [r7, #44] ; 0x2c 80c8772: 3302 adds r3, #2 80c8774: 005b lsls r3, r3, #1 80c8776: f8c7 308c str.w r3, [r7, #140] ; 0x8c 80c877a: e00b b.n 80c8794 } else { fmt = FS_FAT12; 80c877c: 2301 movs r3, #1 80c877e: f887 309f strb.w r3, [r7, #159] ; 0x9f n = (n_clst * 3 + 1) / 2 + 3; /* FAT size [byte] */ 80c8782: 6afa ldr r2, [r7, #44] ; 0x2c 80c8784: 4613 mov r3, r2 80c8786: 005b lsls r3, r3, #1 80c8788: 4413 add r3, r2 80c878a: 3301 adds r3, #1 80c878c: 085b lsrs r3, r3, #1 80c878e: 3303 adds r3, #3 80c8790: f8c7 308c str.w r3, [r7, #140] ; 0x8c } sz_fat = (n + ss - 1) / ss; /* FAT size [sector] */ 80c8794: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c8798: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c879c: 4413 add r3, r2 80c879e: 1e5a subs r2, r3, #1 80c87a0: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c87a4: fbb2 f3f3 udiv r3, r2, r3 80c87a8: f8c7 3080 str.w r3, [r7, #128] ; 0x80 sz_rsv = 1; /* Number of reserved sectors */ 80c87ac: 2301 movs r3, #1 80c87ae: f8c7 3084 str.w r3, [r7, #132] ; 0x84 sz_dir = (DWORD)n_rootdir * SZDIRE / ss; /* Rootdir size [sector] */ 80c87b2: 6d3b ldr r3, [r7, #80] ; 0x50 80c87b4: 015a lsls r2, r3, #5 80c87b6: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c87ba: fbb2 f3f3 udiv r3, r2, r3 80c87be: 67fb str r3, [r7, #124] ; 0x7c } b_fat = b_vol + sz_rsv; /* FAT base */ 80c87c0: 6b7a ldr r2, [r7, #52] ; 0x34 80c87c2: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c87c6: 4413 add r3, r2 80c87c8: f8c7 3088 str.w r3, [r7, #136] ; 0x88 b_data = b_fat + sz_fat * n_fats + sz_dir; /* Data base */ 80c87cc: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c87d0: 6d7a ldr r2, [r7, #84] ; 0x54 80c87d2: fb02 f203 mul.w r2, r2, r3 80c87d6: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80c87da: 441a add r2, r3 80c87dc: 6ffb ldr r3, [r7, #124] ; 0x7c 80c87de: 4413 add r3, r2 80c87e0: 633b str r3, [r7, #48] ; 0x30 /* Align data base to erase block boundary (for flash memory media) */ n = ((b_data + sz_blk - 1) & ~(sz_blk - 1)) - b_data; /* Next nearest erase block from current data base */ 80c87e2: 6a3a ldr r2, [r7, #32] 80c87e4: 6b3b ldr r3, [r7, #48] ; 0x30 80c87e6: 4413 add r3, r2 80c87e8: 1e5a subs r2, r3, #1 80c87ea: 6a3b ldr r3, [r7, #32] 80c87ec: 425b negs r3, r3 80c87ee: 401a ands r2, r3 80c87f0: 6b3b ldr r3, [r7, #48] ; 0x30 80c87f2: 1ad3 subs r3, r2, r3 80c87f4: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (fmt == FS_FAT32) { /* FAT32: Move FAT base */ 80c87f8: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c87fc: 2b03 cmp r3, #3 80c87fe: d10e bne.n 80c881e sz_rsv += n; b_fat += n; 80c8800: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 80c8804: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8808: 4413 add r3, r2 80c880a: f8c7 3084 str.w r3, [r7, #132] ; 0x84 80c880e: f8d7 2088 ldr.w r2, [r7, #136] ; 0x88 80c8812: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8816: 4413 add r3, r2 80c8818: f8c7 3088 str.w r3, [r7, #136] ; 0x88 80c881c: e009 b.n 80c8832 } else { /* FAT12/16: Expand FAT size */ sz_fat += n / n_fats; 80c881e: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80c8822: 6d7b ldr r3, [r7, #84] ; 0x54 80c8824: fbb2 f3f3 udiv r3, r2, r3 80c8828: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c882c: 4413 add r3, r2 80c882e: f8c7 3080 str.w r3, [r7, #128] ; 0x80 } /* Determine number of clusters and final check of validity of the FAT sub-type */ if (sz_vol < b_data + pau * 16 - b_vol) return FR_MKFS_ABORTED; /* Too small volume */ 80c8832: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8836: 011a lsls r2, r3, #4 80c8838: 6b3b ldr r3, [r7, #48] ; 0x30 80c883a: 441a add r2, r3 80c883c: 6b7b ldr r3, [r7, #52] ; 0x34 80c883e: 1ad2 subs r2, r2, r3 80c8840: 69fb ldr r3, [r7, #28] 80c8842: 429a cmp r2, r3 80c8844: d901 bls.n 80c884a 80c8846: 230e movs r3, #14 80c8848: e2c9 b.n 80c8dde n_clst = (sz_vol - sz_rsv - sz_fat * n_fats - sz_dir) / pau; 80c884a: 69fa ldr r2, [r7, #28] 80c884c: f8d7 3084 ldr.w r3, [r7, #132] ; 0x84 80c8850: 1ad2 subs r2, r2, r3 80c8852: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c8856: 6d79 ldr r1, [r7, #84] ; 0x54 80c8858: fb01 f303 mul.w r3, r1, r3 80c885c: 1ad2 subs r2, r2, r3 80c885e: 6ffb ldr r3, [r7, #124] ; 0x7c 80c8860: 1ad2 subs r2, r2, r3 80c8862: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8866: fbb2 f3f3 udiv r3, r2, r3 80c886a: 62fb str r3, [r7, #44] ; 0x2c if (fmt == FS_FAT32) { 80c886c: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8870: 2b03 cmp r3, #3 80c8872: d110 bne.n 80c8896 if (n_clst <= MAX_FAT16) { /* Too few clusters for FAT32 */ 80c8874: 6afb ldr r3, [r7, #44] ; 0x2c 80c8876: f64f 72f5 movw r2, #65525 ; 0xfff5 80c887a: 4293 cmp r3, r2 80c887c: d80b bhi.n 80c8896 if (!au && (au = pau / 2) != 0) continue; /* Adjust cluster size and retry */ 80c887e: 687b ldr r3, [r7, #4] 80c8880: 2b00 cmp r3, #0 80c8882: d106 bne.n 80c8892 80c8884: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8888: 085b lsrs r3, r3, #1 80c888a: 607b str r3, [r7, #4] 80c888c: 687b ldr r3, [r7, #4] 80c888e: 2b00 cmp r3, #0 80c8890: d148 bne.n 80c8924 return FR_MKFS_ABORTED; 80c8892: 230e movs r3, #14 80c8894: e2a3 b.n 80c8dde } } if (fmt == FS_FAT16) { 80c8896: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c889a: 2b02 cmp r3, #2 80c889c: d137 bne.n 80c890e if (n_clst > MAX_FAT16) { /* Too many clusters for FAT16 */ 80c889e: 6afb ldr r3, [r7, #44] ; 0x2c 80c88a0: f64f 72f5 movw r2, #65525 ; 0xfff5 80c88a4: 4293 cmp r3, r2 80c88a6: d921 bls.n 80c88ec if (!au && (pau * 2) <= 64) { 80c88a8: 687b ldr r3, [r7, #4] 80c88aa: 2b00 cmp r3, #0 80c88ac: d109 bne.n 80c88c2 80c88ae: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c88b2: 005b lsls r3, r3, #1 80c88b4: 2b40 cmp r3, #64 ; 0x40 80c88b6: d804 bhi.n 80c88c2 au = pau * 2; continue; /* Adjust cluster size and retry */ 80c88b8: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c88bc: 005b lsls r3, r3, #1 80c88be: 607b str r3, [r7, #4] 80c88c0: e035 b.n 80c892e } if ((opt & FM_FAT32)) { 80c88c2: 7afb ldrb r3, [r7, #11] 80c88c4: f003 0302 and.w r3, r3, #2 80c88c8: 2b00 cmp r3, #0 80c88ca: d003 beq.n 80c88d4 fmt = FS_FAT32; continue; /* Switch type to FAT32 and retry */ 80c88cc: 2303 movs r3, #3 80c88ce: f887 309f strb.w r3, [r7, #159] ; 0x9f 80c88d2: e02c b.n 80c892e } if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80c88d4: 687b ldr r3, [r7, #4] 80c88d6: 2b00 cmp r3, #0 80c88d8: d106 bne.n 80c88e8 80c88da: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c88de: 005b lsls r3, r3, #1 80c88e0: 607b str r3, [r7, #4] 80c88e2: 687b ldr r3, [r7, #4] 80c88e4: 2b80 cmp r3, #128 ; 0x80 80c88e6: d91f bls.n 80c8928 return FR_MKFS_ABORTED; 80c88e8: 230e movs r3, #14 80c88ea: e278 b.n 80c8dde } if (n_clst <= MAX_FAT12) { /* Too few clusters for FAT16 */ 80c88ec: 6afb ldr r3, [r7, #44] ; 0x2c 80c88ee: f640 72f5 movw r2, #4085 ; 0xff5 80c88f2: 4293 cmp r3, r2 80c88f4: d80b bhi.n 80c890e if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80c88f6: 687b ldr r3, [r7, #4] 80c88f8: 2b00 cmp r3, #0 80c88fa: d106 bne.n 80c890a 80c88fc: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8900: 005b lsls r3, r3, #1 80c8902: 607b str r3, [r7, #4] 80c8904: 687b ldr r3, [r7, #4] 80c8906: 2b80 cmp r3, #128 ; 0x80 80c8908: d910 bls.n 80c892c return FR_MKFS_ABORTED; 80c890a: 230e movs r3, #14 80c890c: e267 b.n 80c8dde } } if (fmt == FS_FAT12 && n_clst > MAX_FAT12) return FR_MKFS_ABORTED; /* Too many clusters for FAT12 */ 80c890e: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8912: 2b01 cmp r3, #1 80c8914: d10c bne.n 80c8930 80c8916: 6afb ldr r3, [r7, #44] ; 0x2c 80c8918: f640 72f5 movw r2, #4085 ; 0xff5 80c891c: 4293 cmp r3, r2 80c891e: d907 bls.n 80c8930 80c8920: 230e movs r3, #14 80c8922: e25c b.n 80c8dde if (!au && (au = pau / 2) != 0) continue; /* Adjust cluster size and retry */ 80c8924: bf00 nop 80c8926: e6a2 b.n 80c866e if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80c8928: bf00 nop 80c892a: e6a0 b.n 80c866e if (!au && (au = pau * 2) <= 128) continue; /* Adjust cluster size and retry */ 80c892c: bf00 nop pau = au; 80c892e: e69e b.n 80c866e /* Ok, it is the valid cluster configuration */ break; 80c8930: bf00 nop #if _USE_TRIM tbl[0] = b_vol; tbl[1] = b_vol + sz_vol - 1; /* Inform the device the volume area can be erased */ disk_ioctl(pdrv, CTRL_TRIM, tbl); #endif /* Create FAT VBR */ mem_set(buf, 0, ss); 80c8932: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8936: 461a mov r2, r3 80c8938: 2100 movs r1, #0 80c893a: 6c38 ldr r0, [r7, #64] ; 0x40 80c893c: f7fa f9e1 bl 80c2d02 mem_cpy(buf + BS_JmpBoot, "\xEB\xFE\x90" "MSDOS5.0", 11);/* Boot jump code (x86), OEM name */ 80c8940: 220b movs r2, #11 80c8942: 4918 ldr r1, [pc, #96] ; (80c89a4 ) 80c8944: 6c38 ldr r0, [r7, #64] ; 0x40 80c8946: f7fa f9bb bl 80c2cc0 st_word(buf + BPB_BytsPerSec, ss); /* Sector size [byte] */ 80c894a: 6c3b ldr r3, [r7, #64] ; 0x40 80c894c: 330b adds r3, #11 80c894e: f8b7 2046 ldrh.w r2, [r7, #70] ; 0x46 80c8952: 4611 mov r1, r2 80c8954: 4618 mov r0, r3 80c8956: f7fa f8db bl 80c2b10 buf[BPB_SecPerClus] = (BYTE)pau; /* Cluster size [sector] */ 80c895a: 6c3b ldr r3, [r7, #64] ; 0x40 80c895c: 330d adds r3, #13 80c895e: f8d7 2098 ldr.w r2, [r7, #152] ; 0x98 80c8962: b2d2 uxtb r2, r2 80c8964: 701a strb r2, [r3, #0] st_word(buf + BPB_RsvdSecCnt, (WORD)sz_rsv); /* Size of reserved area */ 80c8966: 6c3b ldr r3, [r7, #64] ; 0x40 80c8968: 330e adds r3, #14 80c896a: f8d7 2084 ldr.w r2, [r7, #132] ; 0x84 80c896e: b292 uxth r2, r2 80c8970: 4611 mov r1, r2 80c8972: 4618 mov r0, r3 80c8974: f7fa f8cc bl 80c2b10 buf[BPB_NumFATs] = (BYTE)n_fats; /* Number of FATs */ 80c8978: 6c3b ldr r3, [r7, #64] ; 0x40 80c897a: 3310 adds r3, #16 80c897c: 6d7a ldr r2, [r7, #84] ; 0x54 80c897e: b2d2 uxtb r2, r2 80c8980: 701a strb r2, [r3, #0] st_word(buf + BPB_RootEntCnt, (WORD)((fmt == FS_FAT32) ? 0 : n_rootdir)); /* Number of root directory entries */ 80c8982: 6c3b ldr r3, [r7, #64] ; 0x40 80c8984: f103 0211 add.w r2, r3, #17 80c8988: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c898c: 2b03 cmp r3, #3 80c898e: d00b beq.n 80c89a8 80c8990: 6d3b ldr r3, [r7, #80] ; 0x50 80c8992: b29b uxth r3, r3 80c8994: e009 b.n 80c89aa 80c8996: bf00 nop 80c8998: 08169cb0 .word 0x08169cb0 80c899c: 0ffffff5 .word 0x0ffffff5 80c89a0: 08169cc0 .word 0x08169cc0 80c89a4: 080d0bc0 .word 0x080d0bc0 80c89a8: 2300 movs r3, #0 80c89aa: 4619 mov r1, r3 80c89ac: 4610 mov r0, r2 80c89ae: f7fa f8af bl 80c2b10 if (sz_vol < 0x10000) { 80c89b2: 69fb ldr r3, [r7, #28] 80c89b4: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80c89b8: d208 bcs.n 80c89cc st_word(buf + BPB_TotSec16, (WORD)sz_vol); /* Volume size in 16-bit LBA */ 80c89ba: 6c3b ldr r3, [r7, #64] ; 0x40 80c89bc: 3313 adds r3, #19 80c89be: 69fa ldr r2, [r7, #28] 80c89c0: b292 uxth r2, r2 80c89c2: 4611 mov r1, r2 80c89c4: 4618 mov r0, r3 80c89c6: f7fa f8a3 bl 80c2b10 80c89ca: e006 b.n 80c89da } else { st_dword(buf + BPB_TotSec32, sz_vol); /* Volume size in 32-bit LBA */ 80c89cc: 6c3b ldr r3, [r7, #64] ; 0x40 80c89ce: 3320 adds r3, #32 80c89d0: 69fa ldr r2, [r7, #28] 80c89d2: 4611 mov r1, r2 80c89d4: 4618 mov r0, r3 80c89d6: f7fa f8b6 bl 80c2b46 } buf[BPB_Media] = 0xF8; /* Media descriptor byte */ 80c89da: 6c3b ldr r3, [r7, #64] ; 0x40 80c89dc: 3315 adds r3, #21 80c89de: 22f8 movs r2, #248 ; 0xf8 80c89e0: 701a strb r2, [r3, #0] st_word(buf + BPB_SecPerTrk, 63); /* Number of sectors per track (for int13) */ 80c89e2: 6c3b ldr r3, [r7, #64] ; 0x40 80c89e4: 3318 adds r3, #24 80c89e6: 213f movs r1, #63 ; 0x3f 80c89e8: 4618 mov r0, r3 80c89ea: f7fa f891 bl 80c2b10 st_word(buf + BPB_NumHeads, 255); /* Number of heads (for int13) */ 80c89ee: 6c3b ldr r3, [r7, #64] ; 0x40 80c89f0: 331a adds r3, #26 80c89f2: 21ff movs r1, #255 ; 0xff 80c89f4: 4618 mov r0, r3 80c89f6: f7fa f88b bl 80c2b10 st_dword(buf + BPB_HiddSec, b_vol); /* Volume offset in the physical drive [sector] */ 80c89fa: 6c3b ldr r3, [r7, #64] ; 0x40 80c89fc: 331c adds r3, #28 80c89fe: 6b79 ldr r1, [r7, #52] ; 0x34 80c8a00: 4618 mov r0, r3 80c8a02: f7fa f8a0 bl 80c2b46 if (fmt == FS_FAT32) { 80c8a06: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8a0a: 2b03 cmp r3, #3 80c8a0c: d132 bne.n 80c8a74 st_dword(buf + BS_VolID32, GET_FATTIME()); /* VSN */ 80c8a0e: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a10: f103 0443 add.w r4, r3, #67 ; 0x43 80c8a14: f7f6 fe82 bl 80bf71c 80c8a18: 4603 mov r3, r0 80c8a1a: 4619 mov r1, r3 80c8a1c: 4620 mov r0, r4 80c8a1e: f7fa f892 bl 80c2b46 st_dword(buf + BPB_FATSz32, sz_fat); /* FAT size [sector] */ 80c8a22: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a24: 3324 adds r3, #36 ; 0x24 80c8a26: f8d7 1080 ldr.w r1, [r7, #128] ; 0x80 80c8a2a: 4618 mov r0, r3 80c8a2c: f7fa f88b bl 80c2b46 st_dword(buf + BPB_RootClus32, 2); /* Root directory cluster # (2) */ 80c8a30: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a32: 332c adds r3, #44 ; 0x2c 80c8a34: 2102 movs r1, #2 80c8a36: 4618 mov r0, r3 80c8a38: f7fa f885 bl 80c2b46 st_word(buf + BPB_FSInfo32, 1); /* Offset of FSINFO sector (VBR + 1) */ 80c8a3c: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a3e: 3330 adds r3, #48 ; 0x30 80c8a40: 2101 movs r1, #1 80c8a42: 4618 mov r0, r3 80c8a44: f7fa f864 bl 80c2b10 st_word(buf + BPB_BkBootSec32, 6); /* Offset of backup VBR (VBR + 6) */ 80c8a48: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a4a: 3332 adds r3, #50 ; 0x32 80c8a4c: 2106 movs r1, #6 80c8a4e: 4618 mov r0, r3 80c8a50: f7fa f85e bl 80c2b10 buf[BS_DrvNum32] = 0x80; /* Drive number (for int13) */ 80c8a54: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a56: 3340 adds r3, #64 ; 0x40 80c8a58: 2280 movs r2, #128 ; 0x80 80c8a5a: 701a strb r2, [r3, #0] buf[BS_BootSig32] = 0x29; /* Extended boot signature */ 80c8a5c: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a5e: 3342 adds r3, #66 ; 0x42 80c8a60: 2229 movs r2, #41 ; 0x29 80c8a62: 701a strb r2, [r3, #0] mem_cpy(buf + BS_VolLab32, "NO NAME " "FAT32 ", 19); /* Volume label, FAT signature */ 80c8a64: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a66: 3347 adds r3, #71 ; 0x47 80c8a68: 2213 movs r2, #19 80c8a6a: 499d ldr r1, [pc, #628] ; (80c8ce0 ) 80c8a6c: 4618 mov r0, r3 80c8a6e: f7fa f927 bl 80c2cc0 80c8a72: e021 b.n 80c8ab8 } else { st_dword(buf + BS_VolID, GET_FATTIME()); /* VSN */ 80c8a74: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a76: f103 0427 add.w r4, r3, #39 ; 0x27 80c8a7a: f7f6 fe4f bl 80bf71c 80c8a7e: 4603 mov r3, r0 80c8a80: 4619 mov r1, r3 80c8a82: 4620 mov r0, r4 80c8a84: f7fa f85f bl 80c2b46 st_word(buf + BPB_FATSz16, (WORD)sz_fat); /* FAT size [sector] */ 80c8a88: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a8a: 3316 adds r3, #22 80c8a8c: f8d7 2080 ldr.w r2, [r7, #128] ; 0x80 80c8a90: b292 uxth r2, r2 80c8a92: 4611 mov r1, r2 80c8a94: 4618 mov r0, r3 80c8a96: f7fa f83b bl 80c2b10 buf[BS_DrvNum] = 0x80; /* Drive number (for int13) */ 80c8a9a: 6c3b ldr r3, [r7, #64] ; 0x40 80c8a9c: 3324 adds r3, #36 ; 0x24 80c8a9e: 2280 movs r2, #128 ; 0x80 80c8aa0: 701a strb r2, [r3, #0] buf[BS_BootSig] = 0x29; /* Extended boot signature */ 80c8aa2: 6c3b ldr r3, [r7, #64] ; 0x40 80c8aa4: 3326 adds r3, #38 ; 0x26 80c8aa6: 2229 movs r2, #41 ; 0x29 80c8aa8: 701a strb r2, [r3, #0] mem_cpy(buf + BS_VolLab, "NO NAME " "FAT ", 19); /* Volume label, FAT signature */ 80c8aaa: 6c3b ldr r3, [r7, #64] ; 0x40 80c8aac: 332b adds r3, #43 ; 0x2b 80c8aae: 2213 movs r2, #19 80c8ab0: 498c ldr r1, [pc, #560] ; (80c8ce4 ) 80c8ab2: 4618 mov r0, r3 80c8ab4: f7fa f904 bl 80c2cc0 } st_word(buf + BS_55AA, 0xAA55); /* Signature (offset is fixed here regardless of sector size) */ 80c8ab8: 6c3b ldr r3, [r7, #64] ; 0x40 80c8aba: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c8abe: f64a 2155 movw r1, #43605 ; 0xaa55 80c8ac2: 4618 mov r0, r3 80c8ac4: f7fa f824 bl 80c2b10 if (disk_write(pdrv, buf, b_vol, 1) != RES_OK) return FR_DISK_ERR; /* Write it to the VBR sector */ 80c8ac8: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8acc: 2301 movs r3, #1 80c8ace: 6b7a ldr r2, [r7, #52] ; 0x34 80c8ad0: 6c39 ldr r1, [r7, #64] ; 0x40 80c8ad2: f7f9 fef5 bl 80c28c0 80c8ad6: 4603 mov r3, r0 80c8ad8: 2b00 cmp r3, #0 80c8ada: d001 beq.n 80c8ae0 80c8adc: 2301 movs r3, #1 80c8ade: e17e b.n 80c8dde /* Create FSINFO record if needed */ if (fmt == FS_FAT32) { 80c8ae0: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8ae4: 2b03 cmp r3, #3 80c8ae6: d141 bne.n 80c8b6c disk_write(pdrv, buf, b_vol + 6, 1); /* Write backup VBR (VBR + 6) */ 80c8ae8: 6b7b ldr r3, [r7, #52] ; 0x34 80c8aea: 1d9a adds r2, r3, #6 80c8aec: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8af0: 2301 movs r3, #1 80c8af2: 6c39 ldr r1, [r7, #64] ; 0x40 80c8af4: f7f9 fee4 bl 80c28c0 mem_set(buf, 0, ss); 80c8af8: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8afc: 461a mov r2, r3 80c8afe: 2100 movs r1, #0 80c8b00: 6c38 ldr r0, [r7, #64] ; 0x40 80c8b02: f7fa f8fe bl 80c2d02 st_dword(buf + FSI_LeadSig, 0x41615252); 80c8b06: 4978 ldr r1, [pc, #480] ; (80c8ce8 ) 80c8b08: 6c38 ldr r0, [r7, #64] ; 0x40 80c8b0a: f7fa f81c bl 80c2b46 st_dword(buf + FSI_StrucSig, 0x61417272); 80c8b0e: 6c3b ldr r3, [r7, #64] ; 0x40 80c8b10: f503 73f2 add.w r3, r3, #484 ; 0x1e4 80c8b14: 4975 ldr r1, [pc, #468] ; (80c8cec ) 80c8b16: 4618 mov r0, r3 80c8b18: f7fa f815 bl 80c2b46 st_dword(buf + FSI_Free_Count, n_clst - 1); /* Number of free clusters */ 80c8b1c: 6c3b ldr r3, [r7, #64] ; 0x40 80c8b1e: f503 72f4 add.w r2, r3, #488 ; 0x1e8 80c8b22: 6afb ldr r3, [r7, #44] ; 0x2c 80c8b24: 3b01 subs r3, #1 80c8b26: 4619 mov r1, r3 80c8b28: 4610 mov r0, r2 80c8b2a: f7fa f80c bl 80c2b46 st_dword(buf + FSI_Nxt_Free, 2); /* Last allocated cluster# */ 80c8b2e: 6c3b ldr r3, [r7, #64] ; 0x40 80c8b30: f503 73f6 add.w r3, r3, #492 ; 0x1ec 80c8b34: 2102 movs r1, #2 80c8b36: 4618 mov r0, r3 80c8b38: f7fa f805 bl 80c2b46 st_word(buf + BS_55AA, 0xAA55); 80c8b3c: 6c3b ldr r3, [r7, #64] ; 0x40 80c8b3e: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c8b42: f64a 2155 movw r1, #43605 ; 0xaa55 80c8b46: 4618 mov r0, r3 80c8b48: f7f9 ffe2 bl 80c2b10 disk_write(pdrv, buf, b_vol + 7, 1); /* Write backup FSINFO (VBR + 7) */ 80c8b4c: 6b7b ldr r3, [r7, #52] ; 0x34 80c8b4e: 1dda adds r2, r3, #7 80c8b50: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8b54: 2301 movs r3, #1 80c8b56: 6c39 ldr r1, [r7, #64] ; 0x40 80c8b58: f7f9 feb2 bl 80c28c0 disk_write(pdrv, buf, b_vol + 1, 1); /* Write original FSINFO (VBR + 1) */ 80c8b5c: 6b7b ldr r3, [r7, #52] ; 0x34 80c8b5e: 1c5a adds r2, r3, #1 80c8b60: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8b64: 2301 movs r3, #1 80c8b66: 6c39 ldr r1, [r7, #64] ; 0x40 80c8b68: f7f9 feaa bl 80c28c0 } /* Initialize FAT area */ mem_set(buf, 0, (UINT)szb_buf); 80c8b6c: 6bba ldr r2, [r7, #56] ; 0x38 80c8b6e: 2100 movs r1, #0 80c8b70: 6c38 ldr r0, [r7, #64] ; 0x40 80c8b72: f7fa f8c6 bl 80c2d02 sect = b_fat; /* FAT start sector */ 80c8b76: f8d7 3088 ldr.w r3, [r7, #136] ; 0x88 80c8b7a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 for (i = 0; i < n_fats; i++) { /* Initialize FATs each */ 80c8b7e: 2300 movs r3, #0 80c8b80: 67bb str r3, [r7, #120] ; 0x78 80c8b82: e059 b.n 80c8c38 if (fmt == FS_FAT32) { 80c8b84: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8b88: 2b03 cmp r3, #3 80c8b8a: d113 bne.n 80c8bb4 st_dword(buf + 0, 0xFFFFFFF8); /* Entry 0 */ 80c8b8c: f06f 0107 mvn.w r1, #7 80c8b90: 6c38 ldr r0, [r7, #64] ; 0x40 80c8b92: f7f9 ffd8 bl 80c2b46 st_dword(buf + 4, 0xFFFFFFFF); /* Entry 1 */ 80c8b96: 6c3b ldr r3, [r7, #64] ; 0x40 80c8b98: 3304 adds r3, #4 80c8b9a: f04f 31ff mov.w r1, #4294967295 80c8b9e: 4618 mov r0, r3 80c8ba0: f7f9 ffd1 bl 80c2b46 st_dword(buf + 8, 0x0FFFFFFF); /* Entry 2 (root directory) */ 80c8ba4: 6c3b ldr r3, [r7, #64] ; 0x40 80c8ba6: 3308 adds r3, #8 80c8ba8: f06f 4170 mvn.w r1, #4026531840 ; 0xf0000000 80c8bac: 4618 mov r0, r3 80c8bae: f7f9 ffca bl 80c2b46 80c8bb2: e00b b.n 80c8bcc } else { st_dword(buf + 0, (fmt == FS_FAT12) ? 0xFFFFF8 : 0xFFFFFFF8); /* Entry 0 and 1 */ 80c8bb4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8bb8: 2b01 cmp r3, #1 80c8bba: d101 bne.n 80c8bc0 80c8bbc: 4b4c ldr r3, [pc, #304] ; (80c8cf0 ) 80c8bbe: e001 b.n 80c8bc4 80c8bc0: f06f 0307 mvn.w r3, #7 80c8bc4: 4619 mov r1, r3 80c8bc6: 6c38 ldr r0, [r7, #64] ; 0x40 80c8bc8: f7f9 ffbd bl 80c2b46 } nsect = sz_fat; /* Number of FAT sectors */ 80c8bcc: f8d7 3080 ldr.w r3, [r7, #128] ; 0x80 80c8bd0: f8c7 3090 str.w r3, [r7, #144] ; 0x90 do { /* Fill FAT sectors */ n = (nsect > sz_buf) ? sz_buf : nsect; 80c8bd4: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8bd8: 6bfb ldr r3, [r7, #60] ; 0x3c 80c8bda: 4293 cmp r3, r2 80c8bdc: bf28 it cs 80c8bde: 4613 movcs r3, r2 80c8be0: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) return FR_DISK_ERR; 80c8be4: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8be8: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8bec: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8bf0: 6c39 ldr r1, [r7, #64] ; 0x40 80c8bf2: f7f9 fe65 bl 80c28c0 80c8bf6: 4603 mov r3, r0 80c8bf8: 2b00 cmp r3, #0 80c8bfa: d001 beq.n 80c8c00 80c8bfc: 2301 movs r3, #1 80c8bfe: e0ee b.n 80c8dde mem_set(buf, 0, ss); 80c8c00: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8c04: 461a mov r2, r3 80c8c06: 2100 movs r1, #0 80c8c08: 6c38 ldr r0, [r7, #64] ; 0x40 80c8c0a: f7fa f87a bl 80c2d02 sect += n; nsect -= n; 80c8c0e: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8c12: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8c16: 4413 add r3, r2 80c8c18: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c8c1c: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8c20: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8c24: 1ad3 subs r3, r2, r3 80c8c26: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80c8c2a: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80c8c2e: 2b00 cmp r3, #0 80c8c30: d1d0 bne.n 80c8bd4 for (i = 0; i < n_fats; i++) { /* Initialize FATs each */ 80c8c32: 6fbb ldr r3, [r7, #120] ; 0x78 80c8c34: 3301 adds r3, #1 80c8c36: 67bb str r3, [r7, #120] ; 0x78 80c8c38: 6fba ldr r2, [r7, #120] ; 0x78 80c8c3a: 6d7b ldr r3, [r7, #84] ; 0x54 80c8c3c: 429a cmp r2, r3 80c8c3e: d3a1 bcc.n 80c8b84 } /* Initialize root directory (fill with zero) */ nsect = (fmt == FS_FAT32) ? pau : sz_dir; /* Number of root directory sectors */ 80c8c40: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8c44: 2b03 cmp r3, #3 80c8c46: d102 bne.n 80c8c4e 80c8c48: f8d7 3098 ldr.w r3, [r7, #152] ; 0x98 80c8c4c: e000 b.n 80c8c50 80c8c4e: 6ffb ldr r3, [r7, #124] ; 0x7c 80c8c50: f8c7 3090 str.w r3, [r7, #144] ; 0x90 do { n = (nsect > sz_buf) ? sz_buf : nsect; 80c8c54: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8c58: 6bfb ldr r3, [r7, #60] ; 0x3c 80c8c5a: 4293 cmp r3, r2 80c8c5c: bf28 it cs 80c8c5e: 4613 movcs r3, r2 80c8c60: f8c7 308c str.w r3, [r7, #140] ; 0x8c if (disk_write(pdrv, buf, sect, (UINT)n) != RES_OK) return FR_DISK_ERR; 80c8c64: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8c68: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8c6c: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8c70: 6c39 ldr r1, [r7, #64] ; 0x40 80c8c72: f7f9 fe25 bl 80c28c0 80c8c76: 4603 mov r3, r0 80c8c78: 2b00 cmp r3, #0 80c8c7a: d001 beq.n 80c8c80 80c8c7c: 2301 movs r3, #1 80c8c7e: e0ae b.n 80c8dde sect += n; nsect -= n; 80c8c80: f8d7 2094 ldr.w r2, [r7, #148] ; 0x94 80c8c84: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8c88: 4413 add r3, r2 80c8c8a: f8c7 3094 str.w r3, [r7, #148] ; 0x94 80c8c8e: f8d7 2090 ldr.w r2, [r7, #144] ; 0x90 80c8c92: f8d7 308c ldr.w r3, [r7, #140] ; 0x8c 80c8c96: 1ad3 subs r3, r2, r3 80c8c98: f8c7 3090 str.w r3, [r7, #144] ; 0x90 } while (nsect); 80c8c9c: f8d7 3090 ldr.w r3, [r7, #144] ; 0x90 80c8ca0: 2b00 cmp r3, #0 80c8ca2: d1d7 bne.n 80c8c54 } /* Determine system ID in the partition table */ if (_FS_EXFAT && fmt == FS_EXFAT) { 80c8ca4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8ca8: 2b04 cmp r3, #4 80c8caa: d103 bne.n 80c8cb4 sys = 0x07; /* HPFS/NTFS/exFAT */ 80c8cac: 2307 movs r3, #7 80c8cae: f887 309e strb.w r3, [r7, #158] ; 0x9e 80c8cb2: e022 b.n 80c8cfa } else { if (fmt == FS_FAT32) { 80c8cb4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8cb8: 2b03 cmp r3, #3 80c8cba: d103 bne.n 80c8cc4 sys = 0x0C; /* FAT32X */ 80c8cbc: 230c movs r3, #12 80c8cbe: f887 309e strb.w r3, [r7, #158] ; 0x9e 80c8cc2: e01a b.n 80c8cfa } else { if (sz_vol >= 0x10000) { 80c8cc4: 69fb ldr r3, [r7, #28] 80c8cc6: f5b3 3f80 cmp.w r3, #65536 ; 0x10000 80c8cca: d303 bcc.n 80c8cd4 sys = 0x06; /* FAT12/16 (>=64KS) */ 80c8ccc: 2306 movs r3, #6 80c8cce: f887 309e strb.w r3, [r7, #158] ; 0x9e 80c8cd2: e012 b.n 80c8cfa } else { sys = (fmt == FS_FAT16) ? 0x04 : 0x01; /* FAT16 (<64KS) : FAT12 (<64KS) */ 80c8cd4: f897 309f ldrb.w r3, [r7, #159] ; 0x9f 80c8cd8: 2b02 cmp r3, #2 80c8cda: d10b bne.n 80c8cf4 80c8cdc: 2304 movs r3, #4 80c8cde: e00a b.n 80c8cf6 80c8ce0: 080d0bcc .word 0x080d0bcc 80c8ce4: 080d0be0 .word 0x080d0be0 80c8ce8: 41615252 .word 0x41615252 80c8cec: 61417272 .word 0x61417272 80c8cf0: 00fffff8 .word 0x00fffff8 80c8cf4: 2301 movs r3, #1 80c8cf6: f887 309e strb.w r3, [r7, #158] ; 0x9e /* Update system ID in the partition table */ if (disk_read(pdrv, buf, 0, 1) != RES_OK) return FR_DISK_ERR; /* Read the MBR */ buf[MBR_Table + (part - 1) * SZ_PTE + PTE_System] = sys; /* Set system ID */ if (disk_write(pdrv, buf, 0, 1) != RES_OK) return FR_DISK_ERR; /* Write it back to the MBR */ } else { /* Created as a new single partition */ if (!(opt & FM_SFD)) { /* Create partition table if in FDISK format */ 80c8cfa: 7afb ldrb r3, [r7, #11] 80c8cfc: f003 0308 and.w r3, r3, #8 80c8d00: 2b00 cmp r3, #0 80c8d02: d15f bne.n 80c8dc4 mem_set(buf, 0, ss); 80c8d04: f8b7 3046 ldrh.w r3, [r7, #70] ; 0x46 80c8d08: 461a mov r2, r3 80c8d0a: 2100 movs r1, #0 80c8d0c: 6c38 ldr r0, [r7, #64] ; 0x40 80c8d0e: f7f9 fff8 bl 80c2d02 st_word(buf + BS_55AA, 0xAA55); /* MBR signature */ 80c8d12: 6c3b ldr r3, [r7, #64] ; 0x40 80c8d14: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c8d18: f64a 2155 movw r1, #43605 ; 0xaa55 80c8d1c: 4618 mov r0, r3 80c8d1e: f7f9 fef7 bl 80c2b10 pte = buf + MBR_Table; /* Create partition table for single partition in the drive */ 80c8d22: 6c3b ldr r3, [r7, #64] ; 0x40 80c8d24: f503 73df add.w r3, r3, #446 ; 0x1be 80c8d28: 627b str r3, [r7, #36] ; 0x24 pte[PTE_Boot] = 0; /* Boot indicator */ 80c8d2a: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d2c: 2200 movs r2, #0 80c8d2e: 701a strb r2, [r3, #0] pte[PTE_StHead] = 1; /* Start head */ 80c8d30: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d32: 3301 adds r3, #1 80c8d34: 2201 movs r2, #1 80c8d36: 701a strb r2, [r3, #0] pte[PTE_StSec] = 1; /* Start sector */ 80c8d38: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d3a: 3302 adds r3, #2 80c8d3c: 2201 movs r2, #1 80c8d3e: 701a strb r2, [r3, #0] pte[PTE_StCyl] = 0; /* Start cylinder */ 80c8d40: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d42: 3303 adds r3, #3 80c8d44: 2200 movs r2, #0 80c8d46: 701a strb r2, [r3, #0] pte[PTE_System] = sys; /* System type */ 80c8d48: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d4a: 3304 adds r3, #4 80c8d4c: f897 209e ldrb.w r2, [r7, #158] ; 0x9e 80c8d50: 701a strb r2, [r3, #0] n = (b_vol + sz_vol) / (63 * 255); /* (End CHS may be invalid) */ 80c8d52: 69fa ldr r2, [r7, #28] 80c8d54: 6b7b ldr r3, [r7, #52] ; 0x34 80c8d56: 441a add r2, r3 80c8d58: 4b23 ldr r3, [pc, #140] ; (80c8de8 ) 80c8d5a: fba3 1302 umull r1, r3, r3, r2 80c8d5e: 1ad2 subs r2, r2, r3 80c8d60: 0852 lsrs r2, r2, #1 80c8d62: 4413 add r3, r2 80c8d64: 0b5b lsrs r3, r3, #13 80c8d66: f8c7 308c str.w r3, [r7, #140] ; 0x8c pte[PTE_EdHead] = 254; /* End head */ 80c8d6a: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d6c: 3305 adds r3, #5 80c8d6e: 22fe movs r2, #254 ; 0xfe 80c8d70: 701a strb r2, [r3, #0] pte[PTE_EdSec] = (BYTE)(n >> 2 | 63); /* End sector */ 80c8d72: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d74: 3306 adds r3, #6 80c8d76: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80c8d7a: 0892 lsrs r2, r2, #2 80c8d7c: b2d2 uxtb r2, r2 80c8d7e: f042 023f orr.w r2, r2, #63 ; 0x3f 80c8d82: b2d2 uxtb r2, r2 80c8d84: 701a strb r2, [r3, #0] pte[PTE_EdCyl] = (BYTE)n; /* End cylinder */ 80c8d86: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d88: 3307 adds r3, #7 80c8d8a: f8d7 208c ldr.w r2, [r7, #140] ; 0x8c 80c8d8e: b2d2 uxtb r2, r2 80c8d90: 701a strb r2, [r3, #0] st_dword(pte + PTE_StLba, b_vol); /* Start offset in LBA */ 80c8d92: 6a7b ldr r3, [r7, #36] ; 0x24 80c8d94: 3308 adds r3, #8 80c8d96: 6b79 ldr r1, [r7, #52] ; 0x34 80c8d98: 4618 mov r0, r3 80c8d9a: f7f9 fed4 bl 80c2b46 st_dword(pte + PTE_SizLba, sz_vol); /* Size in sectors */ 80c8d9e: 6a7b ldr r3, [r7, #36] ; 0x24 80c8da0: 330c adds r3, #12 80c8da2: 69fa ldr r2, [r7, #28] 80c8da4: 4611 mov r1, r2 80c8da6: 4618 mov r0, r3 80c8da8: f7f9 fecd bl 80c2b46 if (disk_write(pdrv, buf, 0, 1) != RES_OK) return FR_DISK_ERR; /* Write it to the MBR */ 80c8dac: f897 004b ldrb.w r0, [r7, #75] ; 0x4b 80c8db0: 2301 movs r3, #1 80c8db2: 2200 movs r2, #0 80c8db4: 6c39 ldr r1, [r7, #64] ; 0x40 80c8db6: f7f9 fd83 bl 80c28c0 80c8dba: 4603 mov r3, r0 80c8dbc: 2b00 cmp r3, #0 80c8dbe: d001 beq.n 80c8dc4 80c8dc0: 2301 movs r3, #1 80c8dc2: e00c b.n 80c8dde } } if (disk_ioctl(pdrv, CTRL_SYNC, 0) != RES_OK) return FR_DISK_ERR; 80c8dc4: f897 304b ldrb.w r3, [r7, #75] ; 0x4b 80c8dc8: 2200 movs r2, #0 80c8dca: 2100 movs r1, #0 80c8dcc: 4618 mov r0, r3 80c8dce: f7f9 fd97 bl 80c2900 80c8dd2: 4603 mov r3, r0 80c8dd4: 2b00 cmp r3, #0 80c8dd6: d001 beq.n 80c8ddc 80c8dd8: 2301 movs r3, #1 80c8dda: e000 b.n 80c8dde return FR_OK; 80c8ddc: 2300 movs r3, #0 } 80c8dde: 4618 mov r0, r3 80c8de0: 37a4 adds r7, #164 ; 0xa4 80c8de2: 46bd mov sp, r7 80c8de4: bd90 pop {r4, r7, pc} 80c8de6: bf00 nop 80c8de8: 0515565b .word 0x0515565b 080c8dec : * @param lun : only used for USB Key Disk to add multi-lun management else the parameter must be equal to 0 * @retval Returns 0 in case of success, otherwise 1. */ uint8_t FATFS_LinkDriverEx(const Diskio_drvTypeDef *drv, char *path, uint8_t lun) { 80c8dec: b480 push {r7} 80c8dee: b087 sub sp, #28 80c8df0: af00 add r7, sp, #0 80c8df2: 60f8 str r0, [r7, #12] 80c8df4: 60b9 str r1, [r7, #8] 80c8df6: 4613 mov r3, r2 80c8df8: 71fb strb r3, [r7, #7] uint8_t ret = 1; 80c8dfa: 2301 movs r3, #1 80c8dfc: 75fb strb r3, [r7, #23] uint8_t DiskNum = 0; 80c8dfe: 2300 movs r3, #0 80c8e00: 75bb strb r3, [r7, #22] if(disk.nbr < _VOLUMES) 80c8e02: 4b1f ldr r3, [pc, #124] ; (80c8e80 ) 80c8e04: 7a5b ldrb r3, [r3, #9] 80c8e06: b2db uxtb r3, r3 80c8e08: 2b00 cmp r3, #0 80c8e0a: d131 bne.n 80c8e70 { disk.is_initialized[disk.nbr] = 0; 80c8e0c: 4b1c ldr r3, [pc, #112] ; (80c8e80 ) 80c8e0e: 7a5b ldrb r3, [r3, #9] 80c8e10: b2db uxtb r3, r3 80c8e12: 461a mov r2, r3 80c8e14: 4b1a ldr r3, [pc, #104] ; (80c8e80 ) 80c8e16: 2100 movs r1, #0 80c8e18: 5499 strb r1, [r3, r2] disk.drv[disk.nbr] = drv; 80c8e1a: 4b19 ldr r3, [pc, #100] ; (80c8e80 ) 80c8e1c: 7a5b ldrb r3, [r3, #9] 80c8e1e: b2db uxtb r3, r3 80c8e20: 4a17 ldr r2, [pc, #92] ; (80c8e80 ) 80c8e22: 009b lsls r3, r3, #2 80c8e24: 4413 add r3, r2 80c8e26: 68fa ldr r2, [r7, #12] 80c8e28: 605a str r2, [r3, #4] disk.lun[disk.nbr] = lun; 80c8e2a: 4b15 ldr r3, [pc, #84] ; (80c8e80 ) 80c8e2c: 7a5b ldrb r3, [r3, #9] 80c8e2e: b2db uxtb r3, r3 80c8e30: 461a mov r2, r3 80c8e32: 4b13 ldr r3, [pc, #76] ; (80c8e80 ) 80c8e34: 4413 add r3, r2 80c8e36: 79fa ldrb r2, [r7, #7] 80c8e38: 721a strb r2, [r3, #8] DiskNum = disk.nbr++; 80c8e3a: 4b11 ldr r3, [pc, #68] ; (80c8e80 ) 80c8e3c: 7a5b ldrb r3, [r3, #9] 80c8e3e: b2db uxtb r3, r3 80c8e40: 1c5a adds r2, r3, #1 80c8e42: b2d1 uxtb r1, r2 80c8e44: 4a0e ldr r2, [pc, #56] ; (80c8e80 ) 80c8e46: 7251 strb r1, [r2, #9] 80c8e48: 75bb strb r3, [r7, #22] path[0] = DiskNum + '0'; 80c8e4a: 7dbb ldrb r3, [r7, #22] 80c8e4c: 3330 adds r3, #48 ; 0x30 80c8e4e: b2da uxtb r2, r3 80c8e50: 68bb ldr r3, [r7, #8] 80c8e52: 701a strb r2, [r3, #0] path[1] = ':'; 80c8e54: 68bb ldr r3, [r7, #8] 80c8e56: 3301 adds r3, #1 80c8e58: 223a movs r2, #58 ; 0x3a 80c8e5a: 701a strb r2, [r3, #0] path[2] = '/'; 80c8e5c: 68bb ldr r3, [r7, #8] 80c8e5e: 3302 adds r3, #2 80c8e60: 222f movs r2, #47 ; 0x2f 80c8e62: 701a strb r2, [r3, #0] path[3] = 0; 80c8e64: 68bb ldr r3, [r7, #8] 80c8e66: 3303 adds r3, #3 80c8e68: 2200 movs r2, #0 80c8e6a: 701a strb r2, [r3, #0] ret = 0; 80c8e6c: 2300 movs r3, #0 80c8e6e: 75fb strb r3, [r7, #23] } return ret; 80c8e70: 7dfb ldrb r3, [r7, #23] } 80c8e72: 4618 mov r0, r3 80c8e74: 371c adds r7, #28 80c8e76: 46bd mov sp, r7 80c8e78: f85d 7b04 ldr.w r7, [sp], #4 80c8e7c: 4770 bx lr 80c8e7e: bf00 nop 80c8e80: 20021b14 .word 0x20021b14 080c8e84 : * @param drv: pointer to the disk IO Driver structure * @param path: pointer to the logical drive path * @retval Returns 0 in case of success, otherwise 1. */ uint8_t FATFS_LinkDriver(const Diskio_drvTypeDef *drv, char *path) { 80c8e84: b580 push {r7, lr} 80c8e86: b082 sub sp, #8 80c8e88: af00 add r7, sp, #0 80c8e8a: 6078 str r0, [r7, #4] 80c8e8c: 6039 str r1, [r7, #0] return FATFS_LinkDriverEx(drv, path, 0); 80c8e8e: 2200 movs r2, #0 80c8e90: 6839 ldr r1, [r7, #0] 80c8e92: 6878 ldr r0, [r7, #4] 80c8e94: f7ff ffaa bl 80c8dec 80c8e98: 4603 mov r3, r0 } 80c8e9a: 4618 mov r0, r3 80c8e9c: 3708 adds r7, #8 80c8e9e: 46bd mov sp, r7 80c8ea0: bd80 pop {r7, pc} ... 080c8ea4 : WCHAR ff_convert ( /* Converted character, Returns zero on error */ WCHAR chr, /* Character code to be converted */ UINT dir /* 0: Unicode to OEMCP, 1: OEMCP to Unicode */ ) { 80c8ea4: b480 push {r7} 80c8ea6: b085 sub sp, #20 80c8ea8: af00 add r7, sp, #0 80c8eaa: 4603 mov r3, r0 80c8eac: 6039 str r1, [r7, #0] 80c8eae: 80fb strh r3, [r7, #6] WCHAR c; if (chr < 0x80) { /* ASCII */ 80c8eb0: 88fb ldrh r3, [r7, #6] 80c8eb2: 2b7f cmp r3, #127 ; 0x7f 80c8eb4: d802 bhi.n 80c8ebc c = chr; 80c8eb6: 88fb ldrh r3, [r7, #6] 80c8eb8: 81fb strh r3, [r7, #14] 80c8eba: e025 b.n 80c8f08 } else { if (dir) { /* OEMCP to Unicode */ 80c8ebc: 683b ldr r3, [r7, #0] 80c8ebe: 2b00 cmp r3, #0 80c8ec0: d00b beq.n 80c8eda c = (chr >= 0x100) ? 0 : Tbl[chr - 0x80]; 80c8ec2: 88fb ldrh r3, [r7, #6] 80c8ec4: 2bff cmp r3, #255 ; 0xff 80c8ec6: d805 bhi.n 80c8ed4 80c8ec8: 88fb ldrh r3, [r7, #6] 80c8eca: 3b80 subs r3, #128 ; 0x80 80c8ecc: 4a12 ldr r2, [pc, #72] ; (80c8f18 ) 80c8ece: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8ed2: e000 b.n 80c8ed6 80c8ed4: 2300 movs r3, #0 80c8ed6: 81fb strh r3, [r7, #14] 80c8ed8: e016 b.n 80c8f08 } else { /* Unicode to OEMCP */ for (c = 0; c < 0x80; c++) { 80c8eda: 2300 movs r3, #0 80c8edc: 81fb strh r3, [r7, #14] 80c8ede: e009 b.n 80c8ef4 if (chr == Tbl[c]) break; 80c8ee0: 89fb ldrh r3, [r7, #14] 80c8ee2: 4a0d ldr r2, [pc, #52] ; (80c8f18 ) 80c8ee4: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8ee8: 88fa ldrh r2, [r7, #6] 80c8eea: 429a cmp r2, r3 80c8eec: d006 beq.n 80c8efc for (c = 0; c < 0x80; c++) { 80c8eee: 89fb ldrh r3, [r7, #14] 80c8ef0: 3301 adds r3, #1 80c8ef2: 81fb strh r3, [r7, #14] 80c8ef4: 89fb ldrh r3, [r7, #14] 80c8ef6: 2b7f cmp r3, #127 ; 0x7f 80c8ef8: d9f2 bls.n 80c8ee0 80c8efa: e000 b.n 80c8efe if (chr == Tbl[c]) break; 80c8efc: bf00 nop } c = (c + 0x80) & 0xFF; 80c8efe: 89fb ldrh r3, [r7, #14] 80c8f00: 3380 adds r3, #128 ; 0x80 80c8f02: b29b uxth r3, r3 80c8f04: b2db uxtb r3, r3 80c8f06: 81fb strh r3, [r7, #14] } } return c; 80c8f08: 89fb ldrh r3, [r7, #14] } 80c8f0a: 4618 mov r0, r3 80c8f0c: 3714 adds r7, #20 80c8f0e: 46bd mov sp, r7 80c8f10: f85d 7b04 ldr.w r7, [sp], #4 80c8f14: 4770 bx lr 80c8f16: bf00 nop 80c8f18: 08169cd0 .word 0x08169cd0 080c8f1c : WCHAR ff_wtoupper ( /* Upper converted character */ WCHAR chr /* Input character */ ) { 80c8f1c: b480 push {r7} 80c8f1e: b085 sub sp, #20 80c8f20: af00 add r7, sp, #0 80c8f22: 4603 mov r3, r0 80c8f24: 80fb strh r3, [r7, #6] static const WCHAR tbl_lower[] = { 0x61, 0x62, 0x63, 0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x6F, 0x70, 0x71, 0x72, 0x73, 0x74, 0x75, 0x76, 0x77, 0x78, 0x79, 0x7A, 0xA1, 0x00A2, 0x00A3, 0x00A5, 0x00AC, 0x00AF, 0xE0, 0xE1, 0xE2, 0xE3, 0xE4, 0xE5, 0xE6, 0xE7, 0xE8, 0xE9, 0xEA, 0xEB, 0xEC, 0xED, 0xEE, 0xEF, 0xF0, 0xF1, 0xF2, 0xF3, 0xF4, 0xF5, 0xF6, 0xF8, 0xF9, 0xFA, 0xFB, 0xFC, 0xFD, 0xFE, 0x0FF, 0x101, 0x103, 0x105, 0x107, 0x109, 0x10B, 0x10D, 0x10F, 0x111, 0x113, 0x115, 0x117, 0x119, 0x11B, 0x11D, 0x11F, 0x121, 0x123, 0x125, 0x127, 0x129, 0x12B, 0x12D, 0x12F, 0x131, 0x133, 0x135, 0x137, 0x13A, 0x13C, 0x13E, 0x140, 0x142, 0x144, 0x146, 0x148, 0x14B, 0x14D, 0x14F, 0x151, 0x153, 0x155, 0x157, 0x159, 0x15B, 0x15D, 0x15F, 0x161, 0x163, 0x165, 0x167, 0x169, 0x16B, 0x16D, 0x16F, 0x171, 0x173, 0x175, 0x177, 0x17A, 0x17C, 0x17E, 0x192, 0x3B1, 0x3B2, 0x3B3, 0x3B4, 0x3B5, 0x3B6, 0x3B7, 0x3B8, 0x3B9, 0x3BA, 0x3BB, 0x3BC, 0x3BD, 0x3BE, 0x3BF, 0x3C0, 0x3C1, 0x3C3, 0x3C4, 0x3C5, 0x3C6, 0x3C7, 0x3C8, 0x3C9, 0x3CA, 0x430, 0x431, 0x432, 0x433, 0x434, 0x435, 0x436, 0x437, 0x438, 0x439, 0x43A, 0x43B, 0x43C, 0x43D, 0x43E, 0x43F, 0x440, 0x441, 0x442, 0x443, 0x444, 0x445, 0x446, 0x447, 0x448, 0x449, 0x44A, 0x44B, 0x44C, 0x44D, 0x44E, 0x44F, 0x451, 0x452, 0x453, 0x454, 0x455, 0x456, 0x457, 0x458, 0x459, 0x45A, 0x45B, 0x45C, 0x45E, 0x45F, 0x2170, 0x2171, 0x2172, 0x2173, 0x2174, 0x2175, 0x2176, 0x2177, 0x2178, 0x2179, 0x217A, 0x217B, 0x217C, 0x217D, 0x217E, 0x217F, 0xFF41, 0xFF42, 0xFF43, 0xFF44, 0xFF45, 0xFF46, 0xFF47, 0xFF48, 0xFF49, 0xFF4A, 0xFF4B, 0xFF4C, 0xFF4D, 0xFF4E, 0xFF4F, 0xFF50, 0xFF51, 0xFF52, 0xFF53, 0xFF54, 0xFF55, 0xFF56, 0xFF57, 0xFF58, 0xFF59, 0xFF5A, 0 }; static const WCHAR tbl_upper[] = { 0x41, 0x42, 0x43, 0x44, 0x45, 0x46, 0x47, 0x48, 0x49, 0x4A, 0x4B, 0x4C, 0x4D, 0x4E, 0x4F, 0x50, 0x51, 0x52, 0x53, 0x54, 0x55, 0x56, 0x57, 0x58, 0x59, 0x5A, 0x21, 0xFFE0, 0xFFE1, 0xFFE5, 0xFFE2, 0xFFE3, 0xC0, 0xC1, 0xC2, 0xC3, 0xC4, 0xC5, 0xC6, 0xC7, 0xC8, 0xC9, 0xCA, 0xCB, 0xCC, 0xCD, 0xCE, 0xCF, 0xD0, 0xD1, 0xD2, 0xD3, 0xD4, 0xD5, 0xD6, 0xD8, 0xD9, 0xDA, 0xDB, 0xDC, 0xDD, 0xDE, 0x178, 0x100, 0x102, 0x104, 0x106, 0x108, 0x10A, 0x10C, 0x10E, 0x110, 0x112, 0x114, 0x116, 0x118, 0x11A, 0x11C, 0x11E, 0x120, 0x122, 0x124, 0x126, 0x128, 0x12A, 0x12C, 0x12E, 0x130, 0x132, 0x134, 0x136, 0x139, 0x13B, 0x13D, 0x13F, 0x141, 0x143, 0x145, 0x147, 0x14A, 0x14C, 0x14E, 0x150, 0x152, 0x154, 0x156, 0x158, 0x15A, 0x15C, 0x15E, 0x160, 0x162, 0x164, 0x166, 0x168, 0x16A, 0x16C, 0x16E, 0x170, 0x172, 0x174, 0x176, 0x179, 0x17B, 0x17D, 0x191, 0x391, 0x392, 0x393, 0x394, 0x395, 0x396, 0x397, 0x398, 0x399, 0x39A, 0x39B, 0x39C, 0x39D, 0x39E, 0x39F, 0x3A0, 0x3A1, 0x3A3, 0x3A4, 0x3A5, 0x3A6, 0x3A7, 0x3A8, 0x3A9, 0x3AA, 0x410, 0x411, 0x412, 0x413, 0x414, 0x415, 0x416, 0x417, 0x418, 0x419, 0x41A, 0x41B, 0x41C, 0x41D, 0x41E, 0x41F, 0x420, 0x421, 0x422, 0x423, 0x424, 0x425, 0x426, 0x427, 0x428, 0x429, 0x42A, 0x42B, 0x42C, 0x42D, 0x42E, 0x42F, 0x401, 0x402, 0x403, 0x404, 0x405, 0x406, 0x407, 0x408, 0x409, 0x40A, 0x40B, 0x40C, 0x40E, 0x40F, 0x2160, 0x2161, 0x2162, 0x2163, 0x2164, 0x2165, 0x2166, 0x2167, 0x2168, 0x2169, 0x216A, 0x216B, 0x216C, 0x216D, 0x216E, 0x216F, 0xFF21, 0xFF22, 0xFF23, 0xFF24, 0xFF25, 0xFF26, 0xFF27, 0xFF28, 0xFF29, 0xFF2A, 0xFF2B, 0xFF2C, 0xFF2D, 0xFF2E, 0xFF2F, 0xFF30, 0xFF31, 0xFF32, 0xFF33, 0xFF34, 0xFF35, 0xFF36, 0xFF37, 0xFF38, 0xFF39, 0xFF3A, 0 }; int i; for (i = 0; tbl_lower[i] && chr != tbl_lower[i]; i++) ; 80c8f26: 2300 movs r3, #0 80c8f28: 60fb str r3, [r7, #12] 80c8f2a: e002 b.n 80c8f32 80c8f2c: 68fb ldr r3, [r7, #12] 80c8f2e: 3301 adds r3, #1 80c8f30: 60fb str r3, [r7, #12] 80c8f32: 4a0f ldr r2, [pc, #60] ; (80c8f70 ) 80c8f34: 68fb ldr r3, [r7, #12] 80c8f36: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8f3a: 2b00 cmp r3, #0 80c8f3c: d006 beq.n 80c8f4c 80c8f3e: 4a0c ldr r2, [pc, #48] ; (80c8f70 ) 80c8f40: 68fb ldr r3, [r7, #12] 80c8f42: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8f46: 88fa ldrh r2, [r7, #6] 80c8f48: 429a cmp r2, r3 80c8f4a: d1ef bne.n 80c8f2c return tbl_lower[i] ? tbl_upper[i] : chr; 80c8f4c: 4a08 ldr r2, [pc, #32] ; (80c8f70 ) 80c8f4e: 68fb ldr r3, [r7, #12] 80c8f50: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8f54: 2b00 cmp r3, #0 80c8f56: d004 beq.n 80c8f62 80c8f58: 4a06 ldr r2, [pc, #24] ; (80c8f74 ) 80c8f5a: 68fb ldr r3, [r7, #12] 80c8f5c: f832 3013 ldrh.w r3, [r2, r3, lsl #1] 80c8f60: e000 b.n 80c8f64 80c8f62: 88fb ldrh r3, [r7, #6] } 80c8f64: 4618 mov r0, r3 80c8f66: 3714 adds r7, #20 80c8f68: 46bd mov sp, r7 80c8f6a: f85d 7b04 ldr.w r7, [sp], #4 80c8f6e: 4770 bx lr 80c8f70: 08169dd0 .word 0x08169dd0 80c8f74: 08169fb0 .word 0x08169fb0 080c8f78 : /** * Init USB device Library, add supported class and start the library * @retval None */ void MX_USB_DEVICE_Init(void) { 80c8f78: b580 push {r7, lr} 80c8f7a: af00 add r7, sp, #0 /* USER CODE BEGIN USB_DEVICE_Init_PreTreatment */ /* USER CODE END USB_DEVICE_Init_PreTreatment */ /* Init Device Library, add supported class and start the library. */ if (USBD_Init(&hUsbDeviceHS, &HS_Desc, DEVICE_HS) != USBD_OK) 80c8f7c: 2201 movs r2, #1 80c8f7e: 4912 ldr r1, [pc, #72] ; (80c8fc8 ) 80c8f80: 4812 ldr r0, [pc, #72] ; (80c8fcc ) 80c8f82: f7f8 fb2c bl 80c15de 80c8f86: 4603 mov r3, r0 80c8f88: 2b00 cmp r3, #0 80c8f8a: d001 beq.n 80c8f90 { Error_Handler(); 80c8f8c: f78b ff5c bl 8054e48 } if (USBD_RegisterClass(&hUsbDeviceHS, &USBD_MSC) != USBD_OK) 80c8f90: 490f ldr r1, [pc, #60] ; (80c8fd0 ) 80c8f92: 480e ldr r0, [pc, #56] ; (80c8fcc ) 80c8f94: f7f8 fb59 bl 80c164a 80c8f98: 4603 mov r3, r0 80c8f9a: 2b00 cmp r3, #0 80c8f9c: d001 beq.n 80c8fa2 { Error_Handler(); 80c8f9e: f78b ff53 bl 8054e48 } if (USBD_MSC_RegisterStorage(&hUsbDeviceHS, &USBD_Storage_Interface_fops_HS) != USBD_OK) 80c8fa2: 490c ldr r1, [pc, #48] ; (80c8fd4 ) 80c8fa4: 4809 ldr r0, [pc, #36] ; (80c8fcc ) 80c8fa6: f7f7 f855 bl 80c0054 80c8faa: 4603 mov r3, r0 80c8fac: 2b00 cmp r3, #0 80c8fae: d001 beq.n 80c8fb4 { Error_Handler(); 80c8fb0: f78b ff4a bl 8054e48 } if (USBD_Start(&hUsbDeviceHS) != USBD_OK) 80c8fb4: 4805 ldr r0, [pc, #20] ; (80c8fcc ) 80c8fb6: f7f8 fb69 bl 80c168c 80c8fba: 4603 mov r3, r0 80c8fbc: 2b00 cmp r3, #0 80c8fbe: d001 beq.n 80c8fc4 { Error_Handler(); 80c8fc0: f78b ff42 bl 8054e48 } /* USER CODE BEGIN USB_DEVICE_Init_PostTreatment */ /* USER CODE END USB_DEVICE_Init_PostTreatment */ } 80c8fc4: bf00 nop 80c8fc6: bd80 pop {r7, pc} 80c8fc8: 20020ac4 .word 0x20020ac4 80c8fcc: 20068d60 .word 0x20068d60 80c8fd0: 200209dc .word 0x200209dc 80c8fd4: 20020b24 .word 0x20020b24 080c8fd8 : void USBState(void) { 80c8fd8: b580 push {r7, lr} 80c8fda: b082 sub sp, #8 80c8fdc: af00 add r7, sp, #0 uint32_t timeout; if(ChangeUSBState) 80c8fde: 4b47 ldr r3, [pc, #284] ; (80c90fc ) 80c8fe0: 781b ldrb r3, [r3, #0] 80c8fe2: b2db uxtb r3, r3 80c8fe4: 2b00 cmp r3, #0 80c8fe6: f000 8084 beq.w 80c90f2 { if(USBConnected) 80c8fea: 4b45 ldr r3, [pc, #276] ; (80c9100 ) 80c8fec: 781b ldrb r3, [r3, #0] 80c8fee: b2db uxtb r3, r3 80c8ff0: 2b00 cmp r3, #0 80c8ff2: d025 beq.n 80c9040 { timeout = HAL_GetTick(); 80c8ff4: f7ea f93c bl 80b3270 80c8ff8: 6078 str r0, [r7, #4] { keyIns(); RedrawScreen(); }*/ if(LinkPC == 0) 80c8ffa: 4b42 ldr r3, [pc, #264] ; (80c9104 ) 80c8ffc: 781b ldrb r3, [r3, #0] 80c8ffe: b2db uxtb r3, r3 80c9000: 2b00 cmp r3, #0 80c9002: d111 bne.n 80c9028 { ChargerIsConnect = true; 80c9004: 4b40 ldr r3, [pc, #256] ; (80c9108 ) 80c9006: 2201 movs r2, #1 80c9008: 701a strb r2, [r3, #0] oldVbat = 0.0f; 80c900a: 4b40 ldr r3, [pc, #256] ; (80c910c ) 80c900c: f04f 0200 mov.w r2, #0 80c9010: 601a str r2, [r3, #0] cntVbat = 0; 80c9012: 4b3f ldr r3, [pc, #252] ; (80c9110 ) 80c9014: 2200 movs r2, #0 80c9016: 601a str r2, [r3, #0] HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_SET); 80c9018: 2201 movs r2, #1 80c901a: 2108 movs r1, #8 80c901c: 483d ldr r0, [pc, #244] ; (80c9114 ) 80c901e: f7ec fde3 bl 80b5be8 SetupADC(); 80c9022: f759 fe91 bl 8022d48 80c9026: e061 b.n 80c90ec } else { menu = LINK_PC; 80c9028: 4b3b ldr r3, [pc, #236] ; (80c9118 ) 80c902a: 2242 movs r2, #66 ; 0x42 80c902c: 701a strb r2, [r3, #0] ChargerIsConnect = false; 80c902e: 4b36 ldr r3, [pc, #216] ; (80c9108 ) 80c9030: 2200 movs r2, #0 80c9032: 701a strb r2, [r3, #0] HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 80c9034: 2200 movs r2, #0 80c9036: 2108 movs r1, #8 80c9038: 4836 ldr r0, [pc, #216] ; (80c9114 ) 80c903a: f7ec fdd5 bl 80b5be8 80c903e: e055 b.n 80c90ec } } else { if(LinkPC) 80c9040: 4b30 ldr r3, [pc, #192] ; (80c9104 ) 80c9042: 781b ldrb r3, [r3, #0] 80c9044: b2db uxtb r3, r3 80c9046: 2b00 cmp r3, #0 80c9048: d008 beq.n 80c905c { menu = OPTIONS; 80c904a: 4b33 ldr r3, [pc, #204] ; (80c9118 ) 80c904c: 2201 movs r2, #1 80c904e: 701a strb r2, [r3, #0] menupos = Mode; 80c9050: 4b32 ldr r3, [pc, #200] ; (80c911c ) 80c9052: 2201 movs r2, #1 80c9054: 701a strb r2, [r3, #0] LinkPC = 0; 80c9056: 4b2b ldr r3, [pc, #172] ; (80c9104 ) 80c9058: 2200 movs r2, #0 80c905a: 701a strb r2, [r3, #0] } if(CardState == MSD_READY) { 80c905c: 4b30 ldr r3, [pc, #192] ; (80c9120 ) 80c905e: 781b ldrb r3, [r3, #0] 80c9060: b2db uxtb r3, r3 80c9062: 2b03 cmp r3, #3 80c9064: d101 bne.n 80c906a CheckSD(); 80c9066: f763 fa9d bl 802c5a4 } if(ChargerIsConnect) 80c906a: 4b27 ldr r3, [pc, #156] ; (80c9108 ) 80c906c: 781b ldrb r3, [r3, #0] 80c906e: b2db uxtb r3, r3 80c9070: 2b00 cmp r3, #0 80c9072: d02f beq.n 80c90d4 { ChargerIsConnect = false; 80c9074: 4b24 ldr r3, [pc, #144] ; (80c9108 ) 80c9076: 2200 movs r2, #0 80c9078: 701a strb r2, [r3, #0] TIMEOUT_BAT = sec5 + sec2; 80c907a: 4b2a ldr r3, [pc, #168] ; (80c9124 ) 80c907c: f44f 5260 mov.w r2, #14336 ; 0x3800 80c9080: 601a str r2, [r3, #0] ADCBat = 0; 80c9082: 4b29 ldr r3, [pc, #164] ; (80c9128 ) 80c9084: 2200 movs r2, #0 80c9086: 601a str r2, [r3, #0] adc_cnt = 0; 80c9088: 4b28 ldr r3, [pc, #160] ; (80c912c ) 80c908a: 2200 movs r2, #0 80c908c: 801a strh r2, [r3, #0] if(menu == POWER_OFF) 80c908e: 4b22 ldr r3, [pc, #136] ; (80c9118 ) 80c9090: 781b ldrb r3, [r3, #0] 80c9092: 2b43 cmp r3, #67 ; 0x43 80c9094: d10a bne.n 80c90ac { menu = OPTIONS; 80c9096: 4b20 ldr r3, [pc, #128] ; (80c9118 ) 80c9098: 2201 movs r2, #1 80c909a: 701a strb r2, [r3, #0] menupos = Mode; 80c909c: 4b1f ldr r3, [pc, #124] ; (80c911c ) 80c909e: 2201 movs r2, #1 80c90a0: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80c90a2: 4b23 ldr r3, [pc, #140] ; (80c9130 ) 80c90a4: f44f 42a0 mov.w r2, #20480 ; 0x5000 80c90a8: 601a str r2, [r3, #0] 80c90aa: e013 b.n 80c90d4 } else if(menu == POWER_OFF2) 80c90ac: 4b1a ldr r3, [pc, #104] ; (80c9118 ) 80c90ae: 781b ldrb r3, [r3, #0] 80c90b0: 2b44 cmp r3, #68 ; 0x44 80c90b2: d10f bne.n 80c90d4 { //NeedOff = true; menu = OPTIONS; 80c90b4: 4b18 ldr r3, [pc, #96] ; (80c9118 ) 80c90b6: 2201 movs r2, #1 80c90b8: 701a strb r2, [r3, #0] menupos = Mode; 80c90ba: 4b18 ldr r3, [pc, #96] ; (80c911c ) 80c90bc: 2201 movs r2, #1 80c90be: 701a strb r2, [r3, #0] TIMEOUT_OFF2 = sec10; 80c90c0: 4b1b ldr r3, [pc, #108] ; (80c9130 ) 80c90c2: f44f 42a0 mov.w r2, #20480 ; 0x5000 80c90c6: 601a str r2, [r3, #0] HAL_GPIO_WritePin(DISP_ON_GPIO_Port, DISP_ON_Pin, GPIO_PIN_RESET); // BACKLIGHT IS ON 80c90c8: 2200 movs r2, #0 80c90ca: f44f 7180 mov.w r1, #256 ; 0x100 80c90ce: 4819 ldr r0, [pc, #100] ; (80c9134 ) 80c90d0: f7ec fd8a bl 80b5be8 } } HAL_GPIO_WritePin(ZAR_GPIO_Port, ZAR_Pin, GPIO_PIN_RESET); 80c90d4: 2200 movs r2, #0 80c90d6: 2108 movs r1, #8 80c90d8: 480e ldr r0, [pc, #56] ; (80c9114 ) 80c90da: f7ec fd85 bl 80b5be8 oldVbat = 0.0f; 80c90de: 4b0b ldr r3, [pc, #44] ; (80c910c ) 80c90e0: f04f 0200 mov.w r2, #0 80c90e4: 601a str r2, [r3, #0] cntVbat = 0; 80c90e6: 4b0a ldr r3, [pc, #40] ; (80c9110 ) 80c90e8: 2200 movs r2, #0 80c90ea: 601a str r2, [r3, #0] } ChangeUSBState = false; 80c90ec: 4b03 ldr r3, [pc, #12] ; (80c90fc ) 80c90ee: 2200 movs r2, #0 80c90f0: 701a strb r2, [r3, #0] } } 80c90f2: bf00 nop 80c90f4: 3708 adds r7, #8 80c90f6: 46bd mov sp, r7 80c90f8: bd80 pop {r7, pc} 80c90fa: bf00 nop 80c90fc: 20021b20 .word 0x20021b20 80c9100: 20021b21 .word 0x20021b21 80c9104: 20021b23 .word 0x20021b23 80c9108: 20021b22 .word 0x20021b22 80c910c: 20020004 .word 0x20020004 80c9110: 20020d44 .word 0x20020d44 80c9114: 40020800 .word 0x40020800 80c9118: 20020f78 .word 0x20020f78 80c911c: 20020070 .word 0x20020070 80c9120: 2002164c .word 0x2002164c 80c9124: 200209c8 .word 0x200209c8 80c9128: 20020d3c .word 0x20020d3c 80c912c: 20020d40 .word 0x20020d40 80c9130: 200209c4 .word 0x200209c4 80c9134: 40020000 .word 0x40020000 080c9138 : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_HS_DeviceDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { 80c9138: b480 push {r7} 80c913a: b083 sub sp, #12 80c913c: af00 add r7, sp, #0 80c913e: 4603 mov r3, r0 80c9140: 6039 str r1, [r7, #0] 80c9142: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_HS_DeviceDesc); 80c9144: 683b ldr r3, [r7, #0] 80c9146: 2212 movs r2, #18 80c9148: 801a strh r2, [r3, #0] return USBD_HS_DeviceDesc; 80c914a: 4b03 ldr r3, [pc, #12] ; (80c9158 ) } 80c914c: 4618 mov r0, r3 80c914e: 370c adds r7, #12 80c9150: 46bd mov sp, r7 80c9152: f85d 7b04 ldr.w r7, [sp], #4 80c9156: 4770 bx lr 80c9158: 20020ae4 .word 0x20020ae4 080c915c : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_HS_LangIDStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { 80c915c: b480 push {r7} 80c915e: b083 sub sp, #12 80c9160: af00 add r7, sp, #0 80c9162: 4603 mov r3, r0 80c9164: 6039 str r1, [r7, #0] 80c9166: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_LangIDDesc); 80c9168: 683b ldr r3, [r7, #0] 80c916a: 2204 movs r2, #4 80c916c: 801a strh r2, [r3, #0] return USBD_LangIDDesc; 80c916e: 4b03 ldr r3, [pc, #12] ; (80c917c ) } 80c9170: 4618 mov r0, r3 80c9172: 370c adds r7, #12 80c9174: 46bd mov sp, r7 80c9176: f85d 7b04 ldr.w r7, [sp], #4 80c917a: 4770 bx lr 80c917c: 20020b04 .word 0x20020b04 080c9180 : * @param speed : current device speed * @param length : pointer to data length variable * @retval pointer to descriptor buffer */ uint8_t * USBD_HS_ProductStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { 80c9180: b580 push {r7, lr} 80c9182: b082 sub sp, #8 80c9184: af00 add r7, sp, #0 80c9186: 4603 mov r3, r0 80c9188: 6039 str r1, [r7, #0] 80c918a: 71fb strb r3, [r7, #7] if(speed == 0) 80c918c: 79fb ldrb r3, [r7, #7] 80c918e: 2b00 cmp r3, #0 80c9190: d105 bne.n 80c919e { USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_HS, USBD_StrDesc, length); 80c9192: 683a ldr r2, [r7, #0] 80c9194: 4907 ldr r1, [pc, #28] ; (80c91b4 ) 80c9196: 4808 ldr r0, [pc, #32] ; (80c91b8 ) 80c9198: f7f9 fa6f bl 80c267a 80c919c: e004 b.n 80c91a8 } else { USBD_GetString((uint8_t *)USBD_PRODUCT_STRING_HS, USBD_StrDesc, length); 80c919e: 683a ldr r2, [r7, #0] 80c91a0: 4904 ldr r1, [pc, #16] ; (80c91b4 ) 80c91a2: 4805 ldr r0, [pc, #20] ; (80c91b8 ) 80c91a4: f7f9 fa69 bl 80c267a } return USBD_StrDesc; 80c91a8: 4b02 ldr r3, [pc, #8] ; (80c91b4 ) } 80c91aa: 4618 mov r0, r3 80c91ac: 3708 adds r7, #8 80c91ae: 46bd mov sp, r7 80c91b0: bd80 pop {r7, pc} 80c91b2: bf00 nop 80c91b4: 20069030 .word 0x20069030 80c91b8: 080d0bf4 .word 0x080d0bf4 080c91bc : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_HS_ManufacturerStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { 80c91bc: b580 push {r7, lr} 80c91be: b082 sub sp, #8 80c91c0: af00 add r7, sp, #0 80c91c2: 4603 mov r3, r0 80c91c4: 6039 str r1, [r7, #0] 80c91c6: 71fb strb r3, [r7, #7] UNUSED(speed); USBD_GetString((uint8_t *)USBD_MANUFACTURER_STRING, USBD_StrDesc, length); 80c91c8: 683a ldr r2, [r7, #0] 80c91ca: 4904 ldr r1, [pc, #16] ; (80c91dc ) 80c91cc: 4804 ldr r0, [pc, #16] ; (80c91e0 ) 80c91ce: f7f9 fa54 bl 80c267a return USBD_StrDesc; 80c91d2: 4b02 ldr r3, [pc, #8] ; (80c91dc ) } 80c91d4: 4618 mov r0, r3 80c91d6: 3708 adds r7, #8 80c91d8: 46bd mov sp, r7 80c91da: bd80 pop {r7, pc} 80c91dc: 20069030 .word 0x20069030 80c91e0: 080d0c08 .word 0x080d0c08 080c91e4 : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_HS_SerialStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { 80c91e4: b580 push {r7, lr} 80c91e6: b082 sub sp, #8 80c91e8: af00 add r7, sp, #0 80c91ea: 4603 mov r3, r0 80c91ec: 6039 str r1, [r7, #0] 80c91ee: 71fb strb r3, [r7, #7] UNUSED(speed); *length = USB_SIZ_STRING_SERIAL; 80c91f0: 683b ldr r3, [r7, #0] 80c91f2: 221a movs r2, #26 80c91f4: 801a strh r2, [r3, #0] /* Update the serial number string descriptor with the data from the unique * ID */ Get_SerialNum(); 80c91f6: f000 f855 bl 80c92a4 /* USER CODE BEGIN USBD_HS_SerialStrDescriptor */ /* USER CODE END USBD_HS_SerialStrDescriptor */ return (uint8_t *) USBD_StringSerial; 80c91fa: 4b02 ldr r3, [pc, #8] ; (80c9204 ) } 80c91fc: 4618 mov r0, r3 80c91fe: 3708 adds r7, #8 80c9200: 46bd mov sp, r7 80c9202: bd80 pop {r7, pc} 80c9204: 20020b08 .word 0x20020b08 080c9208 : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_HS_ConfigStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { 80c9208: b580 push {r7, lr} 80c920a: b082 sub sp, #8 80c920c: af00 add r7, sp, #0 80c920e: 4603 mov r3, r0 80c9210: 6039 str r1, [r7, #0] 80c9212: 71fb strb r3, [r7, #7] if(speed == USBD_SPEED_HIGH) 80c9214: 79fb ldrb r3, [r7, #7] 80c9216: 2b00 cmp r3, #0 80c9218: d105 bne.n 80c9226 { USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_HS, USBD_StrDesc, length); 80c921a: 683a ldr r2, [r7, #0] 80c921c: 4907 ldr r1, [pc, #28] ; (80c923c ) 80c921e: 4808 ldr r0, [pc, #32] ; (80c9240 ) 80c9220: f7f9 fa2b bl 80c267a 80c9224: e004 b.n 80c9230 } else { USBD_GetString((uint8_t *)USBD_CONFIGURATION_STRING_HS, USBD_StrDesc, length); 80c9226: 683a ldr r2, [r7, #0] 80c9228: 4904 ldr r1, [pc, #16] ; (80c923c ) 80c922a: 4805 ldr r0, [pc, #20] ; (80c9240 ) 80c922c: f7f9 fa25 bl 80c267a } return USBD_StrDesc; 80c9230: 4b02 ldr r3, [pc, #8] ; (80c923c ) } 80c9232: 4618 mov r0, r3 80c9234: 3708 adds r7, #8 80c9236: 46bd mov sp, r7 80c9238: bd80 pop {r7, pc} 80c923a: bf00 nop 80c923c: 20069030 .word 0x20069030 80c9240: 080d0c14 .word 0x080d0c14 080c9244 : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_HS_InterfaceStrDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { 80c9244: b580 push {r7, lr} 80c9246: b082 sub sp, #8 80c9248: af00 add r7, sp, #0 80c924a: 4603 mov r3, r0 80c924c: 6039 str r1, [r7, #0] 80c924e: 71fb strb r3, [r7, #7] if(speed == 0) 80c9250: 79fb ldrb r3, [r7, #7] 80c9252: 2b00 cmp r3, #0 80c9254: d105 bne.n 80c9262 { USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_HS, USBD_StrDesc, length); 80c9256: 683a ldr r2, [r7, #0] 80c9258: 4907 ldr r1, [pc, #28] ; (80c9278 ) 80c925a: 4808 ldr r0, [pc, #32] ; (80c927c ) 80c925c: f7f9 fa0d bl 80c267a 80c9260: e004 b.n 80c926c } else { USBD_GetString((uint8_t *)USBD_INTERFACE_STRING_HS, USBD_StrDesc, length); 80c9262: 683a ldr r2, [r7, #0] 80c9264: 4904 ldr r1, [pc, #16] ; (80c9278 ) 80c9266: 4805 ldr r0, [pc, #20] ; (80c927c ) 80c9268: f7f9 fa07 bl 80c267a } return USBD_StrDesc; 80c926c: 4b02 ldr r3, [pc, #8] ; (80c9278 ) } 80c926e: 4618 mov r0, r3 80c9270: 3708 adds r7, #8 80c9272: 46bd mov sp, r7 80c9274: bd80 pop {r7, pc} 80c9276: bf00 nop 80c9278: 20069030 .word 0x20069030 80c927c: 080d0c20 .word 0x080d0c20 080c9280 : * @param speed : Current device speed * @param length : Pointer to data length variable * @retval Pointer to descriptor buffer */ uint8_t * USBD_HS_USR_BOSDescriptor(USBD_SpeedTypeDef speed, uint16_t *length) { 80c9280: b480 push {r7} 80c9282: b083 sub sp, #12 80c9284: af00 add r7, sp, #0 80c9286: 4603 mov r3, r0 80c9288: 6039 str r1, [r7, #0] 80c928a: 71fb strb r3, [r7, #7] UNUSED(speed); *length = sizeof(USBD_HS_BOSDesc); 80c928c: 683b ldr r3, [r7, #0] 80c928e: 220c movs r2, #12 80c9290: 801a strh r2, [r3, #0] return (uint8_t*)USBD_HS_BOSDesc; 80c9292: 4b03 ldr r3, [pc, #12] ; (80c92a0 ) } 80c9294: 4618 mov r0, r3 80c9296: 370c adds r7, #12 80c9298: 46bd mov sp, r7 80c929a: f85d 7b04 ldr.w r7, [sp], #4 80c929e: 4770 bx lr 80c92a0: 20020af8 .word 0x20020af8 080c92a4 : * @brief Create the serial number string descriptor * @param None * @retval None */ static void Get_SerialNum(void) { 80c92a4: b580 push {r7, lr} 80c92a6: b084 sub sp, #16 80c92a8: af00 add r7, sp, #0 uint32_t deviceserial0, deviceserial1, deviceserial2; deviceserial0 = *(uint32_t *) DEVICE_ID1; 80c92aa: 4b0f ldr r3, [pc, #60] ; (80c92e8 ) 80c92ac: 681b ldr r3, [r3, #0] 80c92ae: 60fb str r3, [r7, #12] deviceserial1 = *(uint32_t *) DEVICE_ID2; 80c92b0: 4b0e ldr r3, [pc, #56] ; (80c92ec ) 80c92b2: 681b ldr r3, [r3, #0] 80c92b4: 60bb str r3, [r7, #8] deviceserial2 = *(uint32_t *) DEVICE_ID3; 80c92b6: 4b0e ldr r3, [pc, #56] ; (80c92f0 ) 80c92b8: 681b ldr r3, [r3, #0] 80c92ba: 607b str r3, [r7, #4] deviceserial0 += deviceserial2; 80c92bc: 68fa ldr r2, [r7, #12] 80c92be: 687b ldr r3, [r7, #4] 80c92c0: 4413 add r3, r2 80c92c2: 60fb str r3, [r7, #12] if (deviceserial0 != 0) 80c92c4: 68fb ldr r3, [r7, #12] 80c92c6: 2b00 cmp r3, #0 80c92c8: d009 beq.n 80c92de { IntToUnicode(deviceserial0, &USBD_StringSerial[2], 8); 80c92ca: 2208 movs r2, #8 80c92cc: 4909 ldr r1, [pc, #36] ; (80c92f4 ) 80c92ce: 68f8 ldr r0, [r7, #12] 80c92d0: f000 f814 bl 80c92fc IntToUnicode(deviceserial1, &USBD_StringSerial[18], 4); 80c92d4: 2204 movs r2, #4 80c92d6: 4908 ldr r1, [pc, #32] ; (80c92f8 ) 80c92d8: 68b8 ldr r0, [r7, #8] 80c92da: f000 f80f bl 80c92fc } } 80c92de: bf00 nop 80c92e0: 3710 adds r7, #16 80c92e2: 46bd mov sp, r7 80c92e4: bd80 pop {r7, pc} 80c92e6: bf00 nop 80c92e8: 1ff0f420 .word 0x1ff0f420 80c92ec: 1ff0f424 .word 0x1ff0f424 80c92f0: 1ff0f428 .word 0x1ff0f428 80c92f4: 20020b0a .word 0x20020b0a 80c92f8: 20020b1a .word 0x20020b1a 080c92fc : * @param pbuf: pointer to the buffer * @param len: buffer length * @retval None */ static void IntToUnicode(uint32_t value, uint8_t * pbuf, uint8_t len) { 80c92fc: b480 push {r7} 80c92fe: b087 sub sp, #28 80c9300: af00 add r7, sp, #0 80c9302: 60f8 str r0, [r7, #12] 80c9304: 60b9 str r1, [r7, #8] 80c9306: 4613 mov r3, r2 80c9308: 71fb strb r3, [r7, #7] uint8_t idx = 0; 80c930a: 2300 movs r3, #0 80c930c: 75fb strb r3, [r7, #23] for (idx = 0; idx < len; idx++) 80c930e: 2300 movs r3, #0 80c9310: 75fb strb r3, [r7, #23] 80c9312: e027 b.n 80c9364 { if (((value >> 28)) < 0xA) 80c9314: 68fb ldr r3, [r7, #12] 80c9316: 0f1b lsrs r3, r3, #28 80c9318: 2b09 cmp r3, #9 80c931a: d80b bhi.n 80c9334 { pbuf[2 * idx] = (value >> 28) + '0'; 80c931c: 7dfb ldrb r3, [r7, #23] 80c931e: 005b lsls r3, r3, #1 80c9320: 461a mov r2, r3 80c9322: 68bb ldr r3, [r7, #8] 80c9324: 4413 add r3, r2 80c9326: 68fa ldr r2, [r7, #12] 80c9328: 0f12 lsrs r2, r2, #28 80c932a: b2d2 uxtb r2, r2 80c932c: 3230 adds r2, #48 ; 0x30 80c932e: b2d2 uxtb r2, r2 80c9330: 701a strb r2, [r3, #0] 80c9332: e00a b.n 80c934a } else { pbuf[2 * idx] = (value >> 28) + 'A' - 10; 80c9334: 7dfb ldrb r3, [r7, #23] 80c9336: 005b lsls r3, r3, #1 80c9338: 461a mov r2, r3 80c933a: 68bb ldr r3, [r7, #8] 80c933c: 4413 add r3, r2 80c933e: 68fa ldr r2, [r7, #12] 80c9340: 0f12 lsrs r2, r2, #28 80c9342: b2d2 uxtb r2, r2 80c9344: 3237 adds r2, #55 ; 0x37 80c9346: b2d2 uxtb r2, r2 80c9348: 701a strb r2, [r3, #0] } value = value << 4; 80c934a: 68fb ldr r3, [r7, #12] 80c934c: 011b lsls r3, r3, #4 80c934e: 60fb str r3, [r7, #12] pbuf[2 * idx + 1] = 0; 80c9350: 7dfb ldrb r3, [r7, #23] 80c9352: 005b lsls r3, r3, #1 80c9354: 3301 adds r3, #1 80c9356: 68ba ldr r2, [r7, #8] 80c9358: 4413 add r3, r2 80c935a: 2200 movs r2, #0 80c935c: 701a strb r2, [r3, #0] for (idx = 0; idx < len; idx++) 80c935e: 7dfb ldrb r3, [r7, #23] 80c9360: 3301 adds r3, #1 80c9362: 75fb strb r3, [r7, #23] 80c9364: 7dfa ldrb r2, [r7, #23] 80c9366: 79fb ldrb r3, [r7, #7] 80c9368: 429a cmp r2, r3 80c936a: d3d3 bcc.n 80c9314 } } 80c936c: bf00 nop 80c936e: 371c adds r7, #28 80c9370: 46bd mov sp, r7 80c9372: f85d 7b04 ldr.w r7, [sp], #4 80c9376: 4770 bx lr 080c9378 : * @brief . * @param lun: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_Init_HS(uint8_t lun) { 80c9378: b580 push {r7, lr} 80c937a: b084 sub sp, #16 80c937c: af00 add r7, sp, #0 80c937e: 4603 mov r3, r0 80c9380: 71fb strb r3, [r7, #7] int8_t ret = -1; 80c9382: 23ff movs r3, #255 ; 0xff 80c9384: 73fb strb r3, [r7, #15] if(CardState == MSD_READY) 80c9386: 4b1d ldr r3, [pc, #116] ; (80c93fc ) 80c9388: 781b ldrb r3, [r3, #0] 80c938a: b2db uxtb r3, r3 80c938c: 2b03 cmp r3, #3 80c938e: d12b bne.n 80c93e8 { if(!(SD_status(lun) & STA_NOINIT)) 80c9390: 79fb ldrb r3, [r7, #7] 80c9392: 4618 mov r0, r3 80c9394: f7f6 fb62 bl 80bfa5c 80c9398: 4603 mov r3, r0 80c939a: f003 0301 and.w r3, r3, #1 80c939e: 2b00 cmp r3, #0 80c93a0: d114 bne.n 80c93cc { if(SD_initialize(lun) == RES_OK) 80c93a2: 79fb ldrb r3, [r7, #7] 80c93a4: 4618 mov r0, r3 80c93a6: f7f6 fb3b bl 80bfa20 80c93aa: 4603 mov r3, r0 80c93ac: 2b00 cmp r3, #0 80c93ae: d11e bne.n 80c93ee { if(LinkPC == 0) 80c93b0: 4b13 ldr r3, [pc, #76] ; (80c9400 ) 80c93b2: 781b ldrb r3, [r3, #0] 80c93b4: b2db uxtb r3, r3 80c93b6: 2b00 cmp r3, #0 80c93b8: d105 bne.n 80c93c6 { GoLinkPC = true; 80c93ba: 4b12 ldr r3, [pc, #72] ; (80c9404 ) 80c93bc: 2201 movs r2, #1 80c93be: 701a strb r2, [r3, #0] LinkPC = 1; 80c93c0: 4b0f ldr r3, [pc, #60] ; (80c9400 ) 80c93c2: 2201 movs r2, #1 80c93c4: 701a strb r2, [r3, #0] } ret = 0; 80c93c6: 2300 movs r3, #0 80c93c8: 73fb strb r3, [r7, #15] 80c93ca: e010 b.n 80c93ee } } else { if(LinkPC == 0) 80c93cc: 4b0c ldr r3, [pc, #48] ; (80c9400 ) 80c93ce: 781b ldrb r3, [r3, #0] 80c93d0: b2db uxtb r3, r3 80c93d2: 2b00 cmp r3, #0 80c93d4: d105 bne.n 80c93e2 { GoLinkPC = true; 80c93d6: 4b0b ldr r3, [pc, #44] ; (80c9404 ) 80c93d8: 2201 movs r2, #1 80c93da: 701a strb r2, [r3, #0] LinkPC = 1; 80c93dc: 4b08 ldr r3, [pc, #32] ; (80c9400 ) 80c93de: 2201 movs r2, #1 80c93e0: 701a strb r2, [r3, #0] } ret = 0; 80c93e2: 2300 movs r3, #0 80c93e4: 73fb strb r3, [r7, #15] 80c93e6: e002 b.n 80c93ee } } else { LinkPC = 0; 80c93e8: 4b05 ldr r3, [pc, #20] ; (80c9400 ) 80c93ea: 2200 movs r2, #0 80c93ec: 701a strb r2, [r3, #0] } return ret; 80c93ee: f997 300f ldrsb.w r3, [r7, #15] } 80c93f2: 4618 mov r0, r3 80c93f4: 3710 adds r7, #16 80c93f6: 46bd mov sp, r7 80c93f8: bd80 pop {r7, pc} 80c93fa: bf00 nop 80c93fc: 2002164c .word 0x2002164c 80c9400: 20021b23 .word 0x20021b23 80c9404: 20021b25 .word 0x20021b25 080c9408 : * @param block_num: . * @param block_size: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_GetCapacity_HS(uint8_t lun, uint32_t *block_num, uint16_t *block_size) { 80c9408: b580 push {r7, lr} 80c940a: b08e sub sp, #56 ; 0x38 80c940c: af00 add r7, sp, #0 80c940e: 4603 mov r3, r0 80c9410: 60b9 str r1, [r7, #8] 80c9412: 607a str r2, [r7, #4] 80c9414: 73fb strb r3, [r7, #15] HAL_SD_CardInfoTypeDef info; int8_t ret = -1; 80c9416: 23ff movs r3, #255 ; 0xff 80c9418: f887 3037 strb.w r3, [r7, #55] ; 0x37 if(BSP_SD_IsDetected() != SD_NOT_PRESENT) 80c941c: f7f6 fa6d bl 80bf8fa 80c9420: 4603 mov r3, r0 80c9422: 2b00 cmp r3, #0 80c9424: d019 beq.n 80c945a { BSP_SD_GetCardInfo(&info); 80c9426: f107 0314 add.w r3, r7, #20 80c942a: 4618 mov r0, r3 80c942c: f7f6 fa32 bl 80bf894 *block_num = info.LogBlockNbr; 80c9430: 6afa ldr r2, [r7, #44] ; 0x2c 80c9432: 68bb ldr r3, [r7, #8] 80c9434: 601a str r2, [r3, #0] *block_size = info.LogBlockSize; 80c9436: 6b3b ldr r3, [r7, #48] ; 0x30 80c9438: b29a uxth r2, r3 80c943a: 687b ldr r3, [r7, #4] 80c943c: 801a strh r2, [r3, #0] if(LinkPC == 0) 80c943e: 4b0a ldr r3, [pc, #40] ; (80c9468 ) 80c9440: 781b ldrb r3, [r3, #0] 80c9442: b2db uxtb r3, r3 80c9444: 2b00 cmp r3, #0 80c9446: d105 bne.n 80c9454 { GoLinkPC = true; 80c9448: 4b08 ldr r3, [pc, #32] ; (80c946c ) 80c944a: 2201 movs r2, #1 80c944c: 701a strb r2, [r3, #0] LinkPC = 1; 80c944e: 4b06 ldr r3, [pc, #24] ; (80c9468 ) 80c9450: 2201 movs r2, #1 80c9452: 701a strb r2, [r3, #0] } ret = USBD_OK; 80c9454: 2300 movs r3, #0 80c9456: f887 3037 strb.w r3, [r7, #55] ; 0x37 } return ret; 80c945a: f997 3037 ldrsb.w r3, [r7, #55] ; 0x37 } 80c945e: 4618 mov r0, r3 80c9460: 3738 adds r7, #56 ; 0x38 80c9462: 46bd mov sp, r7 80c9464: bd80 pop {r7, pc} 80c9466: bf00 nop 80c9468: 20021b23 .word 0x20021b23 80c946c: 20021b25 .word 0x20021b25 080c9470 : * @brief . * @param lun: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_IsReady_HS(uint8_t lun) { 80c9470: b580 push {r7, lr} 80c9472: b084 sub sp, #16 80c9474: af00 add r7, sp, #0 80c9476: 4603 mov r3, r0 80c9478: 71fb strb r3, [r7, #7] int8_t ret = -1; 80c947a: 23ff movs r3, #255 ; 0xff 80c947c: 73fb strb r3, [r7, #15] if(BSP_SD_IsDetected() != SD_NOT_PRESENT) 80c947e: f7f6 fa3c bl 80bf8fa 80c9482: 4603 mov r3, r0 80c9484: 2b00 cmp r3, #0 80c9486: d00d beq.n 80c94a4 { ret = 0; 80c9488: 2300 movs r3, #0 80c948a: 73fb strb r3, [r7, #15] if(LinkPC == 0) 80c948c: 4b0a ldr r3, [pc, #40] ; (80c94b8 ) 80c948e: 781b ldrb r3, [r3, #0] 80c9490: b2db uxtb r3, r3 80c9492: 2b00 cmp r3, #0 80c9494: d109 bne.n 80c94aa { GoLinkPC = true; 80c9496: 4b09 ldr r3, [pc, #36] ; (80c94bc ) 80c9498: 2201 movs r2, #1 80c949a: 701a strb r2, [r3, #0] LinkPC = 1; 80c949c: 4b06 ldr r3, [pc, #24] ; (80c94b8 ) 80c949e: 2201 movs r2, #1 80c94a0: 701a strb r2, [r3, #0] 80c94a2: e002 b.n 80c94aa } } else LinkPC = 0; 80c94a4: 4b04 ldr r3, [pc, #16] ; (80c94b8 ) 80c94a6: 2200 movs r2, #0 80c94a8: 701a strb r2, [r3, #0] return ret; 80c94aa: f997 300f ldrsb.w r3, [r7, #15] } 80c94ae: 4618 mov r0, r3 80c94b0: 3710 adds r7, #16 80c94b2: 46bd mov sp, r7 80c94b4: bd80 pop {r7, pc} 80c94b6: bf00 nop 80c94b8: 20021b23 .word 0x20021b23 80c94bc: 20021b25 .word 0x20021b25 080c94c0 : * @brief . * @param lun: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_IsWriteProtected_HS(uint8_t lun) { 80c94c0: b480 push {r7} 80c94c2: b083 sub sp, #12 80c94c4: af00 add r7, sp, #0 80c94c6: 4603 mov r3, r0 80c94c8: 71fb strb r3, [r7, #7] return USBD_OK; 80c94ca: 2300 movs r3, #0 } 80c94cc: 4618 mov r0, r3 80c94ce: 370c adds r7, #12 80c94d0: 46bd mov sp, r7 80c94d2: f85d 7b04 ldr.w r7, [sp], #4 80c94d6: 4770 bx lr 080c94d8 : * @param blk_addr: . * @param blk_len: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_Read_HS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len) { 80c94d8: b580 push {r7, lr} 80c94da: b086 sub sp, #24 80c94dc: af00 add r7, sp, #0 80c94de: 60b9 str r1, [r7, #8] 80c94e0: 607a str r2, [r7, #4] 80c94e2: 461a mov r2, r3 80c94e4: 4603 mov r3, r0 80c94e6: 73fb strb r3, [r7, #15] 80c94e8: 4613 mov r3, r2 80c94ea: 81bb strh r3, [r7, #12] int8_t ret = -1; 80c94ec: 23ff movs r3, #255 ; 0xff 80c94ee: 75fb strb r3, [r7, #23] if(LinkPC == 0) 80c94f0: 4b10 ldr r3, [pc, #64] ; (80c9534 ) 80c94f2: 781b ldrb r3, [r3, #0] 80c94f4: b2db uxtb r3, r3 80c94f6: 2b00 cmp r3, #0 80c94f8: d105 bne.n 80c9506 { GoLinkPC = true; 80c94fa: 4b0f ldr r3, [pc, #60] ; (80c9538 ) 80c94fc: 2201 movs r2, #1 80c94fe: 701a strb r2, [r3, #0] LinkPC = 1; 80c9500: 4b0c ldr r3, [pc, #48] ; (80c9534 ) 80c9502: 2201 movs r2, #1 80c9504: 701a strb r2, [r3, #0] } if(SD_read(lun, buf, blk_addr, blk_len) == RES_OK) 80c9506: 89bb ldrh r3, [r7, #12] 80c9508: 7bf8 ldrb r0, [r7, #15] 80c950a: 687a ldr r2, [r7, #4] 80c950c: 68b9 ldr r1, [r7, #8] 80c950e: f7f6 fab3 bl 80bfa78 80c9512: 4603 mov r3, r0 80c9514: 2b00 cmp r3, #0 80c9516: d107 bne.n 80c9528 { while(BSP_SD_GetCardState() != SD_TRANSFER_OK); 80c9518: bf00 nop 80c951a: f7f6 f9ab bl 80bf874 80c951e: 4603 mov r3, r0 80c9520: 2b00 cmp r3, #0 80c9522: d1fa bne.n 80c951a ret = 0; 80c9524: 2300 movs r3, #0 80c9526: 75fb strb r3, [r7, #23] } return ret; 80c9528: f997 3017 ldrsb.w r3, [r7, #23] } 80c952c: 4618 mov r0, r3 80c952e: 3718 adds r7, #24 80c9530: 46bd mov sp, r7 80c9532: bd80 pop {r7, pc} 80c9534: 20021b23 .word 0x20021b23 80c9538: 20021b25 .word 0x20021b25 080c953c : * @param blk_addr: . * @param blk_len: . * @retval USBD_OK if all operations are OK else USBD_FAIL */ int8_t STORAGE_Write_HS(uint8_t lun, uint8_t *buf, uint32_t blk_addr, uint16_t blk_len) { 80c953c: b580 push {r7, lr} 80c953e: b086 sub sp, #24 80c9540: af00 add r7, sp, #0 80c9542: 60b9 str r1, [r7, #8] 80c9544: 607a str r2, [r7, #4] 80c9546: 461a mov r2, r3 80c9548: 4603 mov r3, r0 80c954a: 73fb strb r3, [r7, #15] 80c954c: 4613 mov r3, r2 80c954e: 81bb strh r3, [r7, #12] int8_t ret = -1; 80c9550: 23ff movs r3, #255 ; 0xff 80c9552: 75fb strb r3, [r7, #23] if(LinkPC == 0) 80c9554: 4b10 ldr r3, [pc, #64] ; (80c9598 ) 80c9556: 781b ldrb r3, [r3, #0] 80c9558: b2db uxtb r3, r3 80c955a: 2b00 cmp r3, #0 80c955c: d105 bne.n 80c956a { GoLinkPC = true; 80c955e: 4b0f ldr r3, [pc, #60] ; (80c959c ) 80c9560: 2201 movs r2, #1 80c9562: 701a strb r2, [r3, #0] LinkPC = 1; 80c9564: 4b0c ldr r3, [pc, #48] ; (80c9598 ) 80c9566: 2201 movs r2, #1 80c9568: 701a strb r2, [r3, #0] } if(SD_write(lun, buf, blk_addr, blk_len) == RES_OK) 80c956a: 89bb ldrh r3, [r7, #12] 80c956c: 7bf8 ldrb r0, [r7, #15] 80c956e: 687a ldr r2, [r7, #4] 80c9570: 68b9 ldr r1, [r7, #8] 80c9572: f7f6 fae5 bl 80bfb40 80c9576: 4603 mov r3, r0 80c9578: 2b00 cmp r3, #0 80c957a: d107 bne.n 80c958c { while(BSP_SD_GetCardState() != SD_TRANSFER_OK); 80c957c: bf00 nop 80c957e: f7f6 f979 bl 80bf874 80c9582: 4603 mov r3, r0 80c9584: 2b00 cmp r3, #0 80c9586: d1fa bne.n 80c957e ret = 0; 80c9588: 2300 movs r3, #0 80c958a: 75fb strb r3, [r7, #23] } return ret; 80c958c: f997 3017 ldrsb.w r3, [r7, #23] } 80c9590: 4618 mov r0, r3 80c9592: 3718 adds r7, #24 80c9594: 46bd mov sp, r7 80c9596: bd80 pop {r7, pc} 80c9598: 20021b23 .word 0x20021b23 80c959c: 20021b25 .word 0x20021b25 080c95a0 : * @brief . * @param None * @retval . */ int8_t STORAGE_GetMaxLun_HS(void) { 80c95a0: b480 push {r7} 80c95a2: af00 add r7, sp, #0 return (STORAGE_LUN_NBR - 1); 80c95a4: 2300 movs r3, #0 } 80c95a6: 4618 mov r0, r3 80c95a8: 46bd mov sp, r7 80c95aa: f85d 7b04 ldr.w r7, [sp], #4 80c95ae: 4770 bx lr 080c95b0 : LL Driver Callbacks (PCD -> USB Device Library) *******************************************************************************/ /* MSP Init */ void HAL_PCD_MspInit(PCD_HandleTypeDef* pcdHandle) { 80c95b0: b580 push {r7, lr} 80c95b2: b08a sub sp, #40 ; 0x28 80c95b4: af00 add r7, sp, #0 80c95b6: 6078 str r0, [r7, #4] GPIO_InitTypeDef GPIO_InitStruct = {0}; 80c95b8: f107 0314 add.w r3, r7, #20 80c95bc: 2200 movs r2, #0 80c95be: 601a str r2, [r3, #0] 80c95c0: 605a str r2, [r3, #4] 80c95c2: 609a str r2, [r3, #8] 80c95c4: 60da str r2, [r3, #12] 80c95c6: 611a str r2, [r3, #16] if(pcdHandle->Instance==USB_OTG_HS) 80c95c8: 687b ldr r3, [r7, #4] 80c95ca: 681b ldr r3, [r3, #0] 80c95cc: 4a24 ldr r2, [pc, #144] ; (80c9660 ) 80c95ce: 4293 cmp r3, r2 80c95d0: d141 bne.n 80c9656 { /* USER CODE BEGIN USB_OTG_HS_MspInit 0 */ /* USER CODE END USB_OTG_HS_MspInit 0 */ __HAL_RCC_GPIOB_CLK_ENABLE(); 80c95d2: 4a24 ldr r2, [pc, #144] ; (80c9664 ) 80c95d4: 4b23 ldr r3, [pc, #140] ; (80c9664 ) 80c95d6: 6b1b ldr r3, [r3, #48] ; 0x30 80c95d8: f043 0302 orr.w r3, r3, #2 80c95dc: 6313 str r3, [r2, #48] ; 0x30 80c95de: 4b21 ldr r3, [pc, #132] ; (80c9664 ) 80c95e0: 6b1b ldr r3, [r3, #48] ; 0x30 80c95e2: f003 0302 and.w r3, r3, #2 80c95e6: 613b str r3, [r7, #16] 80c95e8: 693b ldr r3, [r7, #16] /**USB_OTG_HS GPIO Configuration PB13 ------> USB_OTG_HS_VBUS PB14 ------> USB_OTG_HS_DM PB15 ------> USB_OTG_HS_DP */ GPIO_InitStruct.Pin = GPIO_PIN_13; 80c95ea: f44f 5300 mov.w r3, #8192 ; 0x2000 80c95ee: 617b str r3, [r7, #20] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80c95f0: 2302 movs r3, #2 80c95f2: 61bb str r3, [r7, #24] GPIO_InitStruct.Pull = GPIO_NOPULL; 80c95f4: 2300 movs r3, #0 80c95f6: 61fb str r3, [r7, #28] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80c95f8: 2303 movs r3, #3 80c95fa: 623b str r3, [r7, #32] GPIO_InitStruct.Alternate = GPIO_AF12_OTG_HS_FS; 80c95fc: 230c movs r3, #12 80c95fe: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80c9600: f107 0314 add.w r3, r7, #20 80c9604: 4619 mov r1, r3 80c9606: 4818 ldr r0, [pc, #96] ; (80c9668 ) 80c9608: f7ec f820 bl 80b564c GPIO_InitStruct.Pin = GPIO_PIN_14|GPIO_PIN_15; 80c960c: f44f 4340 mov.w r3, #49152 ; 0xc000 80c9610: 617b str r3, [r7, #20] GPIO_InitStruct.Mode = GPIO_MODE_AF_PP; 80c9612: 2302 movs r3, #2 80c9614: 61bb str r3, [r7, #24] GPIO_InitStruct.Pull = GPIO_NOPULL; 80c9616: 2300 movs r3, #0 80c9618: 61fb str r3, [r7, #28] GPIO_InitStruct.Speed = GPIO_SPEED_FREQ_VERY_HIGH; 80c961a: 2303 movs r3, #3 80c961c: 623b str r3, [r7, #32] GPIO_InitStruct.Alternate = GPIO_AF12_OTG_HS_FS; 80c961e: 230c movs r3, #12 80c9620: 627b str r3, [r7, #36] ; 0x24 HAL_GPIO_Init(GPIOB, &GPIO_InitStruct); 80c9622: f107 0314 add.w r3, r7, #20 80c9626: 4619 mov r1, r3 80c9628: 480f ldr r0, [pc, #60] ; (80c9668 ) 80c962a: f7ec f80f bl 80b564c /* Peripheral clock enable */ __HAL_RCC_USB_OTG_HS_CLK_ENABLE(); 80c962e: 4a0d ldr r2, [pc, #52] ; (80c9664 ) 80c9630: 4b0c ldr r3, [pc, #48] ; (80c9664 ) 80c9632: 6b1b ldr r3, [r3, #48] ; 0x30 80c9634: f043 5300 orr.w r3, r3, #536870912 ; 0x20000000 80c9638: 6313 str r3, [r2, #48] ; 0x30 80c963a: 4b0a ldr r3, [pc, #40] ; (80c9664 ) 80c963c: 6b1b ldr r3, [r3, #48] ; 0x30 80c963e: f003 5300 and.w r3, r3, #536870912 ; 0x20000000 80c9642: 60fb str r3, [r7, #12] 80c9644: 68fb ldr r3, [r7, #12] /* Peripheral interrupt init */ HAL_NVIC_SetPriority(OTG_HS_IRQn, 10, 0); 80c9646: 2200 movs r2, #0 80c9648: 210a movs r1, #10 80c964a: 204d movs r0, #77 ; 0x4d 80c964c: f7ea fd67 bl 80b411e HAL_NVIC_EnableIRQ(OTG_HS_IRQn); 80c9650: 204d movs r0, #77 ; 0x4d 80c9652: f7ea fd80 bl 80b4156 /* USER CODE BEGIN USB_OTG_HS_MspInit 1 */ /* USER CODE END USB_OTG_HS_MspInit 1 */ } } 80c9656: bf00 nop 80c9658: 3728 adds r7, #40 ; 0x28 80c965a: 46bd mov sp, r7 80c965c: bd80 pop {r7, pc} 80c965e: bf00 nop 80c9660: 40040000 .word 0x40040000 80c9664: 40023800 .word 0x40023800 80c9668: 40020400 .word 0x40020400 080c966c : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) #else void HAL_PCD_SetupStageCallback(PCD_HandleTypeDef *hpcd) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { 80c966c: b580 push {r7, lr} 80c966e: b082 sub sp, #8 80c9670: af00 add r7, sp, #0 80c9672: 6078 str r0, [r7, #4] USBD_LL_SetupStage((USBD_HandleTypeDef*)hpcd->pData, (uint8_t *)hpcd->Setup); 80c9674: 687b ldr r3, [r7, #4] 80c9676: f8d3 2400 ldr.w r2, [r3, #1024] ; 0x400 80c967a: 687b ldr r3, [r7, #4] 80c967c: f503 7371 add.w r3, r3, #964 ; 0x3c4 80c9680: 4619 mov r1, r3 80c9682: 4610 mov r0, r2 80c9684: f7f8 f84d bl 80c1722 } 80c9688: bf00 nop 80c968a: 3708 adds r7, #8 80c968c: 46bd mov sp, r7 80c968e: bd80 pop {r7, pc} 080c9690 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) #else void HAL_PCD_DataOutStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { 80c9690: b580 push {r7, lr} 80c9692: b082 sub sp, #8 80c9694: af00 add r7, sp, #0 80c9696: 6078 str r0, [r7, #4] 80c9698: 460b mov r3, r1 80c969a: 70fb strb r3, [r7, #3] USBD_LL_DataOutStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->OUT_ep[epnum].xfer_buff); 80c969c: 687b ldr r3, [r7, #4] 80c969e: f8d3 0400 ldr.w r0, [r3, #1024] ; 0x400 80c96a2: 78fa ldrb r2, [r7, #3] 80c96a4: 6879 ldr r1, [r7, #4] 80c96a6: 4613 mov r3, r2 80c96a8: 00db lsls r3, r3, #3 80c96aa: 1a9b subs r3, r3, r2 80c96ac: 009b lsls r3, r3, #2 80c96ae: 440b add r3, r1 80c96b0: f503 7302 add.w r3, r3, #520 ; 0x208 80c96b4: 681a ldr r2, [r3, #0] 80c96b6: 78fb ldrb r3, [r7, #3] 80c96b8: 4619 mov r1, r3 80c96ba: f7f8 f885 bl 80c17c8 } 80c96be: bf00 nop 80c96c0: 3708 adds r7, #8 80c96c2: 46bd mov sp, r7 80c96c4: bd80 pop {r7, pc} 080c96c6 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) #else void HAL_PCD_DataInStageCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { 80c96c6: b580 push {r7, lr} 80c96c8: b082 sub sp, #8 80c96ca: af00 add r7, sp, #0 80c96cc: 6078 str r0, [r7, #4] 80c96ce: 460b mov r3, r1 80c96d0: 70fb strb r3, [r7, #3] USBD_LL_DataInStage((USBD_HandleTypeDef*)hpcd->pData, epnum, hpcd->IN_ep[epnum].xfer_buff); 80c96d2: 687b ldr r3, [r7, #4] 80c96d4: f8d3 0400 ldr.w r0, [r3, #1024] ; 0x400 80c96d8: 78fa ldrb r2, [r7, #3] 80c96da: 6879 ldr r1, [r7, #4] 80c96dc: 4613 mov r3, r2 80c96de: 00db lsls r3, r3, #3 80c96e0: 1a9b subs r3, r3, r2 80c96e2: 009b lsls r3, r3, #2 80c96e4: 440b add r3, r1 80c96e6: 3348 adds r3, #72 ; 0x48 80c96e8: 681a ldr r2, [r3, #0] 80c96ea: 78fb ldrb r3, [r7, #3] 80c96ec: 4619 mov r1, r3 80c96ee: f7f8 f8ce bl 80c188e } 80c96f2: bf00 nop 80c96f4: 3708 adds r7, #8 80c96f6: 46bd mov sp, r7 80c96f8: bd80 pop {r7, pc} 080c96fa : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_SOFCallback(PCD_HandleTypeDef *hpcd) #else void HAL_PCD_SOFCallback(PCD_HandleTypeDef *hpcd) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { 80c96fa: b580 push {r7, lr} 80c96fc: b082 sub sp, #8 80c96fe: af00 add r7, sp, #0 80c9700: 6078 str r0, [r7, #4] USBD_LL_SOF((USBD_HandleTypeDef*)hpcd->pData); 80c9702: 687b ldr r3, [r7, #4] 80c9704: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c9708: 4618 mov r0, r3 80c970a: f7f8 f9d2 bl 80c1ab2 } 80c970e: bf00 nop 80c9710: 3708 adds r7, #8 80c9712: 46bd mov sp, r7 80c9714: bd80 pop {r7, pc} 080c9716 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_ResetCallback(PCD_HandleTypeDef *hpcd) #else void HAL_PCD_ResetCallback(PCD_HandleTypeDef *hpcd) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { 80c9716: b580 push {r7, lr} 80c9718: b084 sub sp, #16 80c971a: af00 add r7, sp, #0 80c971c: 6078 str r0, [r7, #4] USBD_SpeedTypeDef speed = USBD_SPEED_FULL; 80c971e: 2301 movs r3, #1 80c9720: 73fb strb r3, [r7, #15] if ( hpcd->Init.speed == PCD_SPEED_HIGH) 80c9722: 687b ldr r3, [r7, #4] 80c9724: 68db ldr r3, [r3, #12] 80c9726: 2b00 cmp r3, #0 80c9728: d102 bne.n 80c9730 { speed = USBD_SPEED_HIGH; 80c972a: 2300 movs r3, #0 80c972c: 73fb strb r3, [r7, #15] 80c972e: e008 b.n 80c9742 } else if ( hpcd->Init.speed == PCD_SPEED_FULL) 80c9730: 687b ldr r3, [r7, #4] 80c9732: 68db ldr r3, [r3, #12] 80c9734: 2b02 cmp r3, #2 80c9736: d102 bne.n 80c973e { speed = USBD_SPEED_FULL; 80c9738: 2301 movs r3, #1 80c973a: 73fb strb r3, [r7, #15] 80c973c: e001 b.n 80c9742 } else { Error_Handler(); 80c973e: f78b fb83 bl 8054e48 } /* Set Speed. */ USBD_LL_SetSpeed((USBD_HandleTypeDef*)hpcd->pData, speed); 80c9742: 687b ldr r3, [r7, #4] 80c9744: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c9748: 7bfa ldrb r2, [r7, #15] 80c974a: 4611 mov r1, r2 80c974c: 4618 mov r0, r3 80c974e: f7f8 f975 bl 80c1a3c /* Reset Device. */ USBD_LL_Reset((USBD_HandleTypeDef*)hpcd->pData); 80c9752: 687b ldr r3, [r7, #4] 80c9754: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c9758: 4618 mov r0, r3 80c975a: f7f8 f92e bl 80c19ba } 80c975e: bf00 nop 80c9760: 3710 adds r7, #16 80c9762: 46bd mov sp, r7 80c9764: bd80 pop {r7, pc} ... 080c9768 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) #else void HAL_PCD_SuspendCallback(PCD_HandleTypeDef *hpcd) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { 80c9768: b580 push {r7, lr} 80c976a: b082 sub sp, #8 80c976c: af00 add r7, sp, #0 80c976e: 6078 str r0, [r7, #4] /* Inform USB library that core enters in suspend Mode. */ USBD_LL_Suspend((USBD_HandleTypeDef*)hpcd->pData); 80c9770: 687b ldr r3, [r7, #4] 80c9772: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c9776: 4618 mov r0, r3 80c9778: f7f8 f970 bl 80c1a5c __HAL_PCD_GATE_PHYCLOCK(hpcd); 80c977c: 687b ldr r3, [r7, #4] 80c977e: 681b ldr r3, [r3, #0] 80c9780: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c9784: 461a mov r2, r3 80c9786: 687b ldr r3, [r7, #4] 80c9788: 681b ldr r3, [r3, #0] 80c978a: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c978e: 681b ldr r3, [r3, #0] 80c9790: f043 0301 orr.w r3, r3, #1 80c9794: 6013 str r3, [r2, #0] /* Enter in STOP mode. */ /* USER CODE BEGIN 2 */ if (hpcd->Init.low_power_enable) 80c9796: 687b ldr r3, [r7, #4] 80c9798: 6a1b ldr r3, [r3, #32] 80c979a: 2b00 cmp r3, #0 80c979c: d005 beq.n 80c97aa { /* Set SLEEPDEEP bit and SleepOnExit of Cortex System Control Register. */ SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 80c979e: 4a05 ldr r2, [pc, #20] ; (80c97b4 ) 80c97a0: 4b04 ldr r3, [pc, #16] ; (80c97b4 ) 80c97a2: 691b ldr r3, [r3, #16] 80c97a4: f043 0306 orr.w r3, r3, #6 80c97a8: 6113 str r3, [r2, #16] } /* USER CODE END 2 */ } 80c97aa: bf00 nop 80c97ac: 3708 adds r7, #8 80c97ae: 46bd mov sp, r7 80c97b0: bd80 pop {r7, pc} 80c97b2: bf00 nop 80c97b4: e000ed00 .word 0xe000ed00 080c97b8 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_ResumeCallback(PCD_HandleTypeDef *hpcd) #else void HAL_PCD_ResumeCallback(PCD_HandleTypeDef *hpcd) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { 80c97b8: b580 push {r7, lr} 80c97ba: b082 sub sp, #8 80c97bc: af00 add r7, sp, #0 80c97be: 6078 str r0, [r7, #4] /* USER CODE BEGIN 3 */ /* USER CODE END 3 */ USBD_LL_Resume((USBD_HandleTypeDef*)hpcd->pData); 80c97c0: 687b ldr r3, [r7, #4] 80c97c2: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c97c6: 4618 mov r0, r3 80c97c8: f7f8 f95d bl 80c1a86 } 80c97cc: bf00 nop 80c97ce: 3708 adds r7, #8 80c97d0: 46bd mov sp, r7 80c97d2: bd80 pop {r7, pc} 080c97d4 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) #else void HAL_PCD_ISOOUTIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { 80c97d4: b580 push {r7, lr} 80c97d6: b082 sub sp, #8 80c97d8: af00 add r7, sp, #0 80c97da: 6078 str r0, [r7, #4] 80c97dc: 460b mov r3, r1 80c97de: 70fb strb r3, [r7, #3] USBD_LL_IsoOUTIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum); 80c97e0: 687b ldr r3, [r7, #4] 80c97e2: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c97e6: 78fa ldrb r2, [r7, #3] 80c97e8: 4611 mov r1, r2 80c97ea: 4618 mov r0, r3 80c97ec: f7f8 f988 bl 80c1b00 } 80c97f0: bf00 nop 80c97f2: 3708 adds r7, #8 80c97f4: 46bd mov sp, r7 80c97f6: bd80 pop {r7, pc} 080c97f8 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) #else void HAL_PCD_ISOINIncompleteCallback(PCD_HandleTypeDef *hpcd, uint8_t epnum) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { 80c97f8: b580 push {r7, lr} 80c97fa: b082 sub sp, #8 80c97fc: af00 add r7, sp, #0 80c97fe: 6078 str r0, [r7, #4] 80c9800: 460b mov r3, r1 80c9802: 70fb strb r3, [r7, #3] USBD_LL_IsoINIncomplete((USBD_HandleTypeDef*)hpcd->pData, epnum); 80c9804: 687b ldr r3, [r7, #4] 80c9806: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c980a: 78fa ldrb r2, [r7, #3] 80c980c: 4611 mov r1, r2 80c980e: 4618 mov r0, r3 80c9810: f7f8 f969 bl 80c1ae6 } 80c9814: bf00 nop 80c9816: 3708 adds r7, #8 80c9818: 46bd mov sp, r7 80c981a: bd80 pop {r7, pc} 080c981c : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_ConnectCallback(PCD_HandleTypeDef *hpcd) #else void HAL_PCD_ConnectCallback(PCD_HandleTypeDef *hpcd) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { 80c981c: b580 push {r7, lr} 80c981e: b082 sub sp, #8 80c9820: af00 add r7, sp, #0 80c9822: 6078 str r0, [r7, #4] USBConnected = true; 80c9824: 4b08 ldr r3, [pc, #32] ; (80c9848 ) 80c9826: 2201 movs r2, #1 80c9828: 701a strb r2, [r3, #0] ChangeUSBState = true; 80c982a: 4b08 ldr r3, [pc, #32] ; (80c984c ) 80c982c: 2201 movs r2, #1 80c982e: 701a strb r2, [r3, #0] USBState(); 80c9830: f7ff fbd2 bl 80c8fd8 USBD_LL_DevConnected((USBD_HandleTypeDef*)hpcd->pData); 80c9834: 687b ldr r3, [r7, #4] 80c9836: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c983a: 4618 mov r0, r3 80c983c: f7f8 f96d bl 80c1b1a } 80c9840: bf00 nop 80c9842: 3708 adds r7, #8 80c9844: 46bd mov sp, r7 80c9846: bd80 pop {r7, pc} 80c9848: 20021b21 .word 0x20021b21 80c984c: 20021b20 .word 0x20021b20 080c9850 : #if (USE_HAL_PCD_REGISTER_CALLBACKS == 1U) static void PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd) #else void HAL_PCD_DisconnectCallback(PCD_HandleTypeDef *hpcd) #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ { 80c9850: b580 push {r7, lr} 80c9852: b082 sub sp, #8 80c9854: af00 add r7, sp, #0 80c9856: 6078 str r0, [r7, #4] USBConnected = false; 80c9858: 4b08 ldr r3, [pc, #32] ; (80c987c ) 80c985a: 2200 movs r2, #0 80c985c: 701a strb r2, [r3, #0] ChangeUSBState = true; 80c985e: 4b08 ldr r3, [pc, #32] ; (80c9880 ) 80c9860: 2201 movs r2, #1 80c9862: 701a strb r2, [r3, #0] USBState(); 80c9864: f7ff fbb8 bl 80c8fd8 USBD_LL_DevDisconnected((USBD_HandleTypeDef*)hpcd->pData); 80c9868: 687b ldr r3, [r7, #4] 80c986a: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c986e: 4618 mov r0, r3 80c9870: f7f8 f95e bl 80c1b30 } 80c9874: bf00 nop 80c9876: 3708 adds r7, #8 80c9878: 46bd mov sp, r7 80c987a: bd80 pop {r7, pc} 80c987c: 20021b21 .word 0x20021b21 80c9880: 20021b20 .word 0x20021b20 080c9884 : * @brief Initializes the low level portion of the device driver. * @param pdev: Device handle * @retval USBD status */ USBD_StatusTypeDef USBD_LL_Init(USBD_HandleTypeDef *pdev) { 80c9884: b580 push {r7, lr} 80c9886: b082 sub sp, #8 80c9888: af00 add r7, sp, #0 80c988a: 6078 str r0, [r7, #4] /* Init USB Ip. */ if (pdev->id == DEVICE_HS) { 80c988c: 687b ldr r3, [r7, #4] 80c988e: 781b ldrb r3, [r3, #0] 80c9890: 2b01 cmp r3, #1 80c9892: d140 bne.n 80c9916 /* Link the driver to the stack. */ hpcd_USB_OTG_HS.pData = pdev; 80c9894: 4a22 ldr r2, [pc, #136] ; (80c9920 ) 80c9896: 687b ldr r3, [r7, #4] 80c9898: f8c2 3400 str.w r3, [r2, #1024] ; 0x400 pdev->pData = &hpcd_USB_OTG_HS; 80c989c: 687b ldr r3, [r7, #4] 80c989e: 4a20 ldr r2, [pc, #128] ; (80c9920 ) 80c98a0: f8c3 22c4 str.w r2, [r3, #708] ; 0x2c4 hpcd_USB_OTG_HS.Instance = USB_OTG_HS; 80c98a4: 4b1e ldr r3, [pc, #120] ; (80c9920 ) 80c98a6: 4a1f ldr r2, [pc, #124] ; (80c9924 ) 80c98a8: 601a str r2, [r3, #0] hpcd_USB_OTG_HS.Init.dev_endpoints = 9; 80c98aa: 4b1d ldr r3, [pc, #116] ; (80c9920 ) 80c98ac: 2209 movs r2, #9 80c98ae: 605a str r2, [r3, #4] hpcd_USB_OTG_HS.Init.speed = PCD_SPEED_FULL; 80c98b0: 4b1b ldr r3, [pc, #108] ; (80c9920 ) 80c98b2: 2202 movs r2, #2 80c98b4: 60da str r2, [r3, #12] hpcd_USB_OTG_HS.Init.dma_enable = DISABLE; 80c98b6: 4b1a ldr r3, [pc, #104] ; (80c9920 ) 80c98b8: 2200 movs r2, #0 80c98ba: 611a str r2, [r3, #16] hpcd_USB_OTG_HS.Init.phy_itface = USB_OTG_EMBEDDED_PHY; 80c98bc: 4b18 ldr r3, [pc, #96] ; (80c9920 ) 80c98be: 2202 movs r2, #2 80c98c0: 619a str r2, [r3, #24] hpcd_USB_OTG_HS.Init.Sof_enable = DISABLE; 80c98c2: 4b17 ldr r3, [pc, #92] ; (80c9920 ) 80c98c4: 2200 movs r2, #0 80c98c6: 61da str r2, [r3, #28] hpcd_USB_OTG_HS.Init.low_power_enable = DISABLE; 80c98c8: 4b15 ldr r3, [pc, #84] ; (80c9920 ) 80c98ca: 2200 movs r2, #0 80c98cc: 621a str r2, [r3, #32] hpcd_USB_OTG_HS.Init.lpm_enable = DISABLE; 80c98ce: 4b14 ldr r3, [pc, #80] ; (80c9920 ) 80c98d0: 2200 movs r2, #0 80c98d2: 625a str r2, [r3, #36] ; 0x24 hpcd_USB_OTG_HS.Init.vbus_sensing_enable = ENABLE; 80c98d4: 4b12 ldr r3, [pc, #72] ; (80c9920 ) 80c98d6: 2201 movs r2, #1 80c98d8: 62da str r2, [r3, #44] ; 0x2c hpcd_USB_OTG_HS.Init.use_dedicated_ep1 = DISABLE; 80c98da: 4b11 ldr r3, [pc, #68] ; (80c9920 ) 80c98dc: 2200 movs r2, #0 80c98de: 631a str r2, [r3, #48] ; 0x30 hpcd_USB_OTG_HS.Init.use_external_vbus = DISABLE; 80c98e0: 4b0f ldr r3, [pc, #60] ; (80c9920 ) 80c98e2: 2200 movs r2, #0 80c98e4: 635a str r2, [r3, #52] ; 0x34 if (HAL_PCD_Init(&hpcd_USB_OTG_HS) != HAL_OK) 80c98e6: 480e ldr r0, [pc, #56] ; (80c9920 ) 80c98e8: f7ec fd80 bl 80b63ec 80c98ec: 4603 mov r3, r0 80c98ee: 2b00 cmp r3, #0 80c98f0: d001 beq.n 80c98f6 { Error_Handler( ); 80c98f2: f78b faa9 bl 8054e48 HAL_PCD_RegisterDataOutStageCallback(&hpcd_USB_OTG_HS, PCD_DataOutStageCallback); HAL_PCD_RegisterDataInStageCallback(&hpcd_USB_OTG_HS, PCD_DataInStageCallback); HAL_PCD_RegisterIsoOutIncpltCallback(&hpcd_USB_OTG_HS, PCD_ISOOUTIncompleteCallback); HAL_PCD_RegisterIsoInIncpltCallback(&hpcd_USB_OTG_HS, PCD_ISOINIncompleteCallback); #endif /* USE_HAL_PCD_REGISTER_CALLBACKS */ HAL_PCDEx_SetRxFiFo(&hpcd_USB_OTG_HS, 0x200); 80c98f6: f44f 7100 mov.w r1, #512 ; 0x200 80c98fa: 4809 ldr r0, [pc, #36] ; (80c9920 ) 80c98fc: f7ed ff29 bl 80b7752 HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 0, 0x80); 80c9900: 2280 movs r2, #128 ; 0x80 80c9902: 2100 movs r1, #0 80c9904: 4806 ldr r0, [pc, #24] ; (80c9920 ) 80c9906: f7ed fedd bl 80b76c4 HAL_PCDEx_SetTxFiFo(&hpcd_USB_OTG_HS, 1, 0x174); 80c990a: f44f 72ba mov.w r2, #372 ; 0x174 80c990e: 2101 movs r1, #1 80c9910: 4803 ldr r0, [pc, #12] ; (80c9920 ) 80c9912: f7ed fed7 bl 80b76c4 } return USBD_OK; 80c9916: 2300 movs r3, #0 } 80c9918: 4618 mov r0, r3 80c991a: 3708 adds r7, #8 80c991c: 46bd mov sp, r7 80c991e: bd80 pop {r7, pc} 80c9920: 20069230 .word 0x20069230 80c9924: 40040000 .word 0x40040000 080c9928 : * @brief Starts the low level portion of the device driver. * @param pdev: Device handle * @retval USBD status */ USBD_StatusTypeDef USBD_LL_Start(USBD_HandleTypeDef *pdev) { 80c9928: b580 push {r7, lr} 80c992a: b084 sub sp, #16 80c992c: af00 add r7, sp, #0 80c992e: 6078 str r0, [r7, #4] HAL_StatusTypeDef hal_status = HAL_OK; 80c9930: 2300 movs r3, #0 80c9932: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c9934: 2300 movs r3, #0 80c9936: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_Start(pdev->pData); 80c9938: 687b ldr r3, [r7, #4] 80c993a: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c993e: 4618 mov r0, r3 80c9940: f7ec fe78 bl 80b6634 80c9944: 4603 mov r3, r0 80c9946: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c9948: 7bfb ldrb r3, [r7, #15] 80c994a: 4618 mov r0, r3 80c994c: f000 f9a0 bl 80c9c90 80c9950: 4603 mov r3, r0 80c9952: 73bb strb r3, [r7, #14] return usb_status; 80c9954: 7bbb ldrb r3, [r7, #14] } 80c9956: 4618 mov r0, r3 80c9958: 3710 adds r7, #16 80c995a: 46bd mov sp, r7 80c995c: bd80 pop {r7, pc} 080c995e : * @param ep_type: Endpoint type * @param ep_mps: Endpoint max packet size * @retval USBD status */ USBD_StatusTypeDef USBD_LL_OpenEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t ep_type, uint16_t ep_mps) { 80c995e: b580 push {r7, lr} 80c9960: b084 sub sp, #16 80c9962: af00 add r7, sp, #0 80c9964: 6078 str r0, [r7, #4] 80c9966: 4608 mov r0, r1 80c9968: 4611 mov r1, r2 80c996a: 461a mov r2, r3 80c996c: 4603 mov r3, r0 80c996e: 70fb strb r3, [r7, #3] 80c9970: 460b mov r3, r1 80c9972: 70bb strb r3, [r7, #2] 80c9974: 4613 mov r3, r2 80c9976: 803b strh r3, [r7, #0] HAL_StatusTypeDef hal_status = HAL_OK; 80c9978: 2300 movs r3, #0 80c997a: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c997c: 2300 movs r3, #0 80c997e: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Open(pdev->pData, ep_addr, ep_mps, ep_type); 80c9980: 687b ldr r3, [r7, #4] 80c9982: f8d3 02c4 ldr.w r0, [r3, #708] ; 0x2c4 80c9986: 78bb ldrb r3, [r7, #2] 80c9988: 883a ldrh r2, [r7, #0] 80c998a: 78f9 ldrb r1, [r7, #3] 80c998c: f7ed fa73 bl 80b6e76 80c9990: 4603 mov r3, r0 80c9992: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c9994: 7bfb ldrb r3, [r7, #15] 80c9996: 4618 mov r0, r3 80c9998: f000 f97a bl 80c9c90 80c999c: 4603 mov r3, r0 80c999e: 73bb strb r3, [r7, #14] return usb_status; 80c99a0: 7bbb ldrb r3, [r7, #14] } 80c99a2: 4618 mov r0, r3 80c99a4: 3710 adds r7, #16 80c99a6: 46bd mov sp, r7 80c99a8: bd80 pop {r7, pc} 080c99aa : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_CloseEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80c99aa: b580 push {r7, lr} 80c99ac: b084 sub sp, #16 80c99ae: af00 add r7, sp, #0 80c99b0: 6078 str r0, [r7, #4] 80c99b2: 460b mov r3, r1 80c99b4: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80c99b6: 2300 movs r3, #0 80c99b8: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c99ba: 2300 movs r3, #0 80c99bc: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Close(pdev->pData, ep_addr); 80c99be: 687b ldr r3, [r7, #4] 80c99c0: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c99c4: 78fa ldrb r2, [r7, #3] 80c99c6: 4611 mov r1, r2 80c99c8: 4618 mov r0, r3 80c99ca: f7ed fabc bl 80b6f46 80c99ce: 4603 mov r3, r0 80c99d0: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c99d2: 7bfb ldrb r3, [r7, #15] 80c99d4: 4618 mov r0, r3 80c99d6: f000 f95b bl 80c9c90 80c99da: 4603 mov r3, r0 80c99dc: 73bb strb r3, [r7, #14] return usb_status; 80c99de: 7bbb ldrb r3, [r7, #14] } 80c99e0: 4618 mov r0, r3 80c99e2: 3710 adds r7, #16 80c99e4: 46bd mov sp, r7 80c99e6: bd80 pop {r7, pc} 080c99e8 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_FlushEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80c99e8: b580 push {r7, lr} 80c99ea: b084 sub sp, #16 80c99ec: af00 add r7, sp, #0 80c99ee: 6078 str r0, [r7, #4] 80c99f0: 460b mov r3, r1 80c99f2: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80c99f4: 2300 movs r3, #0 80c99f6: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c99f8: 2300 movs r3, #0 80c99fa: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_Flush(pdev->pData, ep_addr); 80c99fc: 687b ldr r3, [r7, #4] 80c99fe: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c9a02: 78fa ldrb r2, [r7, #3] 80c9a04: 4611 mov r1, r2 80c9a06: 4618 mov r0, r3 80c9a08: f7ed fc4e bl 80b72a8 80c9a0c: 4603 mov r3, r0 80c9a0e: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c9a10: 7bfb ldrb r3, [r7, #15] 80c9a12: 4618 mov r0, r3 80c9a14: f000 f93c bl 80c9c90 80c9a18: 4603 mov r3, r0 80c9a1a: 73bb strb r3, [r7, #14] return usb_status; 80c9a1c: 7bbb ldrb r3, [r7, #14] } 80c9a1e: 4618 mov r0, r3 80c9a20: 3710 adds r7, #16 80c9a22: 46bd mov sp, r7 80c9a24: bd80 pop {r7, pc} 080c9a26 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_StallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80c9a26: b580 push {r7, lr} 80c9a28: b084 sub sp, #16 80c9a2a: af00 add r7, sp, #0 80c9a2c: 6078 str r0, [r7, #4] 80c9a2e: 460b mov r3, r1 80c9a30: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80c9a32: 2300 movs r3, #0 80c9a34: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c9a36: 2300 movs r3, #0 80c9a38: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_SetStall(pdev->pData, ep_addr); 80c9a3a: 687b ldr r3, [r7, #4] 80c9a3c: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c9a40: 78fa ldrb r2, [r7, #3] 80c9a42: 4611 mov r1, r2 80c9a44: 4618 mov r0, r3 80c9a46: f7ed fb75 bl 80b7134 80c9a4a: 4603 mov r3, r0 80c9a4c: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c9a4e: 7bfb ldrb r3, [r7, #15] 80c9a50: 4618 mov r0, r3 80c9a52: f000 f91d bl 80c9c90 80c9a56: 4603 mov r3, r0 80c9a58: 73bb strb r3, [r7, #14] return usb_status; 80c9a5a: 7bbb ldrb r3, [r7, #14] } 80c9a5c: 4618 mov r0, r3 80c9a5e: 3710 adds r7, #16 80c9a60: 46bd mov sp, r7 80c9a62: bd80 pop {r7, pc} 080c9a64 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval USBD status */ USBD_StatusTypeDef USBD_LL_ClearStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80c9a64: b580 push {r7, lr} 80c9a66: b084 sub sp, #16 80c9a68: af00 add r7, sp, #0 80c9a6a: 6078 str r0, [r7, #4] 80c9a6c: 460b mov r3, r1 80c9a6e: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80c9a70: 2300 movs r3, #0 80c9a72: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c9a74: 2300 movs r3, #0 80c9a76: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_EP_ClrStall(pdev->pData, ep_addr); 80c9a78: 687b ldr r3, [r7, #4] 80c9a7a: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c9a7e: 78fa ldrb r2, [r7, #3] 80c9a80: 4611 mov r1, r2 80c9a82: 4618 mov r0, r3 80c9a84: f7ed fbba bl 80b71fc 80c9a88: 4603 mov r3, r0 80c9a8a: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c9a8c: 7bfb ldrb r3, [r7, #15] 80c9a8e: 4618 mov r0, r3 80c9a90: f000 f8fe bl 80c9c90 80c9a94: 4603 mov r3, r0 80c9a96: 73bb strb r3, [r7, #14] return usb_status; 80c9a98: 7bbb ldrb r3, [r7, #14] } 80c9a9a: 4618 mov r0, r3 80c9a9c: 3710 adds r7, #16 80c9a9e: 46bd mov sp, r7 80c9aa0: bd80 pop {r7, pc} 080c9aa2 : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval Stall (1: Yes, 0: No) */ uint8_t USBD_LL_IsStallEP(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80c9aa2: b480 push {r7} 80c9aa4: b085 sub sp, #20 80c9aa6: af00 add r7, sp, #0 80c9aa8: 6078 str r0, [r7, #4] 80c9aaa: 460b mov r3, r1 80c9aac: 70fb strb r3, [r7, #3] PCD_HandleTypeDef *hpcd = (PCD_HandleTypeDef*) pdev->pData; 80c9aae: 687b ldr r3, [r7, #4] 80c9ab0: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c9ab4: 60fb str r3, [r7, #12] if((ep_addr & 0x80) == 0x80) 80c9ab6: f997 3003 ldrsb.w r3, [r7, #3] 80c9aba: 2b00 cmp r3, #0 80c9abc: da0b bge.n 80c9ad6 { return hpcd->IN_ep[ep_addr & 0x7F].is_stall; 80c9abe: 78fb ldrb r3, [r7, #3] 80c9ac0: f003 027f and.w r2, r3, #127 ; 0x7f 80c9ac4: 68f9 ldr r1, [r7, #12] 80c9ac6: 4613 mov r3, r2 80c9ac8: 00db lsls r3, r3, #3 80c9aca: 1a9b subs r3, r3, r2 80c9acc: 009b lsls r3, r3, #2 80c9ace: 440b add r3, r1 80c9ad0: 333e adds r3, #62 ; 0x3e 80c9ad2: 781b ldrb r3, [r3, #0] 80c9ad4: e00b b.n 80c9aee } else { return hpcd->OUT_ep[ep_addr & 0x7F].is_stall; 80c9ad6: 78fb ldrb r3, [r7, #3] 80c9ad8: f003 027f and.w r2, r3, #127 ; 0x7f 80c9adc: 68f9 ldr r1, [r7, #12] 80c9ade: 4613 mov r3, r2 80c9ae0: 00db lsls r3, r3, #3 80c9ae2: 1a9b subs r3, r3, r2 80c9ae4: 009b lsls r3, r3, #2 80c9ae6: 440b add r3, r1 80c9ae8: f503 73ff add.w r3, r3, #510 ; 0x1fe 80c9aec: 781b ldrb r3, [r3, #0] } } 80c9aee: 4618 mov r0, r3 80c9af0: 3714 adds r7, #20 80c9af2: 46bd mov sp, r7 80c9af4: f85d 7b04 ldr.w r7, [sp], #4 80c9af8: 4770 bx lr 080c9afa : * @param pdev: Device handle * @param dev_addr: Device address * @retval USBD status */ USBD_StatusTypeDef USBD_LL_SetUSBAddress(USBD_HandleTypeDef *pdev, uint8_t dev_addr) { 80c9afa: b580 push {r7, lr} 80c9afc: b084 sub sp, #16 80c9afe: af00 add r7, sp, #0 80c9b00: 6078 str r0, [r7, #4] 80c9b02: 460b mov r3, r1 80c9b04: 70fb strb r3, [r7, #3] HAL_StatusTypeDef hal_status = HAL_OK; 80c9b06: 2300 movs r3, #0 80c9b08: 73fb strb r3, [r7, #15] USBD_StatusTypeDef usb_status = USBD_OK; 80c9b0a: 2300 movs r3, #0 80c9b0c: 73bb strb r3, [r7, #14] hal_status = HAL_PCD_SetAddress(pdev->pData, dev_addr); 80c9b0e: 687b ldr r3, [r7, #4] 80c9b10: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c9b14: 78fa ldrb r2, [r7, #3] 80c9b16: 4611 mov r1, r2 80c9b18: 4618 mov r0, r3 80c9b1a: f7ed f987 bl 80b6e2c 80c9b1e: 4603 mov r3, r0 80c9b20: 73fb strb r3, [r7, #15] usb_status = USBD_Get_USB_Status(hal_status); 80c9b22: 7bfb ldrb r3, [r7, #15] 80c9b24: 4618 mov r0, r3 80c9b26: f000 f8b3 bl 80c9c90 80c9b2a: 4603 mov r3, r0 80c9b2c: 73bb strb r3, [r7, #14] return usb_status; 80c9b2e: 7bbb ldrb r3, [r7, #14] } 80c9b30: 4618 mov r0, r3 80c9b32: 3710 adds r7, #16 80c9b34: 46bd mov sp, r7 80c9b36: bd80 pop {r7, pc} 080c9b38 : * @param pbuf: Pointer to data to be sent * @param size: Data size * @retval USBD status */ USBD_StatusTypeDef USBD_LL_Transmit(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint32_t size) { 80c9b38: b580 push {r7, lr} 80c9b3a: b086 sub sp, #24 80c9b3c: af00 add r7, sp, #0 80c9b3e: 60f8 str r0, [r7, #12] 80c9b40: 607a str r2, [r7, #4] 80c9b42: 603b str r3, [r7, #0] 80c9b44: 460b mov r3, r1 80c9b46: 72fb strb r3, [r7, #11] HAL_StatusTypeDef hal_status = HAL_OK; 80c9b48: 2300 movs r3, #0 80c9b4a: 75fb strb r3, [r7, #23] USBD_StatusTypeDef usb_status = USBD_OK; 80c9b4c: 2300 movs r3, #0 80c9b4e: 75bb strb r3, [r7, #22] hal_status = HAL_PCD_EP_Transmit(pdev->pData, ep_addr, pbuf, size); 80c9b50: 68fb ldr r3, [r7, #12] 80c9b52: f8d3 02c4 ldr.w r0, [r3, #708] ; 0x2c4 80c9b56: 7af9 ldrb r1, [r7, #11] 80c9b58: 683b ldr r3, [r7, #0] 80c9b5a: 687a ldr r2, [r7, #4] 80c9b5c: f7ed faa0 bl 80b70a0 80c9b60: 4603 mov r3, r0 80c9b62: 75fb strb r3, [r7, #23] usb_status = USBD_Get_USB_Status(hal_status); 80c9b64: 7dfb ldrb r3, [r7, #23] 80c9b66: 4618 mov r0, r3 80c9b68: f000 f892 bl 80c9c90 80c9b6c: 4603 mov r3, r0 80c9b6e: 75bb strb r3, [r7, #22] return usb_status; 80c9b70: 7dbb ldrb r3, [r7, #22] } 80c9b72: 4618 mov r0, r3 80c9b74: 3718 adds r7, #24 80c9b76: 46bd mov sp, r7 80c9b78: bd80 pop {r7, pc} 080c9b7a : * @param pbuf: Pointer to data to be received * @param size: Data size * @retval USBD status */ USBD_StatusTypeDef USBD_LL_PrepareReceive(USBD_HandleTypeDef *pdev, uint8_t ep_addr, uint8_t *pbuf, uint32_t size) { 80c9b7a: b580 push {r7, lr} 80c9b7c: b086 sub sp, #24 80c9b7e: af00 add r7, sp, #0 80c9b80: 60f8 str r0, [r7, #12] 80c9b82: 607a str r2, [r7, #4] 80c9b84: 603b str r3, [r7, #0] 80c9b86: 460b mov r3, r1 80c9b88: 72fb strb r3, [r7, #11] HAL_StatusTypeDef hal_status = HAL_OK; 80c9b8a: 2300 movs r3, #0 80c9b8c: 75fb strb r3, [r7, #23] USBD_StatusTypeDef usb_status = USBD_OK; 80c9b8e: 2300 movs r3, #0 80c9b90: 75bb strb r3, [r7, #22] hal_status = HAL_PCD_EP_Receive(pdev->pData, ep_addr, pbuf, size); 80c9b92: 68fb ldr r3, [r7, #12] 80c9b94: f8d3 02c4 ldr.w r0, [r3, #708] ; 0x2c4 80c9b98: 7af9 ldrb r1, [r7, #11] 80c9b9a: 683b ldr r3, [r7, #0] 80c9b9c: 687a ldr r2, [r7, #4] 80c9b9e: f7ed fa1c bl 80b6fda 80c9ba2: 4603 mov r3, r0 80c9ba4: 75fb strb r3, [r7, #23] usb_status = USBD_Get_USB_Status(hal_status); 80c9ba6: 7dfb ldrb r3, [r7, #23] 80c9ba8: 4618 mov r0, r3 80c9baa: f000 f871 bl 80c9c90 80c9bae: 4603 mov r3, r0 80c9bb0: 75bb strb r3, [r7, #22] return usb_status; 80c9bb2: 7dbb ldrb r3, [r7, #22] } 80c9bb4: 4618 mov r0, r3 80c9bb6: 3718 adds r7, #24 80c9bb8: 46bd mov sp, r7 80c9bba: bd80 pop {r7, pc} 080c9bbc : * @param pdev: Device handle * @param ep_addr: Endpoint number * @retval Recived Data Size */ uint32_t USBD_LL_GetRxDataSize(USBD_HandleTypeDef *pdev, uint8_t ep_addr) { 80c9bbc: b580 push {r7, lr} 80c9bbe: b082 sub sp, #8 80c9bc0: af00 add r7, sp, #0 80c9bc2: 6078 str r0, [r7, #4] 80c9bc4: 460b mov r3, r1 80c9bc6: 70fb strb r3, [r7, #3] return HAL_PCD_EP_GetRxCount((PCD_HandleTypeDef*) pdev->pData, ep_addr); 80c9bc8: 687b ldr r3, [r7, #4] 80c9bca: f8d3 32c4 ldr.w r3, [r3, #708] ; 0x2c4 80c9bce: 78fa ldrb r2, [r7, #3] 80c9bd0: 4611 mov r1, r2 80c9bd2: 4618 mov r0, r3 80c9bd4: f7ed fa4c bl 80b7070 80c9bd8: 4603 mov r3, r0 } 80c9bda: 4618 mov r0, r3 80c9bdc: 3708 adds r7, #8 80c9bde: 46bd mov sp, r7 80c9be0: bd80 pop {r7, pc} ... 080c9be4 : * @param hpcd: PCD handle * @param msg: LPM message * @retval None */ void HAL_PCDEx_LPM_Callback(PCD_HandleTypeDef *hpcd, PCD_LPM_MsgTypeDef msg) { 80c9be4: b580 push {r7, lr} 80c9be6: b082 sub sp, #8 80c9be8: af00 add r7, sp, #0 80c9bea: 6078 str r0, [r7, #4] 80c9bec: 460b mov r3, r1 80c9bee: 70fb strb r3, [r7, #3] switch (msg) 80c9bf0: 78fb ldrb r3, [r7, #3] 80c9bf2: 2b00 cmp r3, #0 80c9bf4: d002 beq.n 80c9bfc 80c9bf6: 2b01 cmp r3, #1 80c9bf8: d020 beq.n 80c9c3c /* Set SLEEPDEEP bit and SleepOnExit of Cortex System Control Register. */ SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); } break; } } 80c9bfa: e03d b.n 80c9c78 if (hpcd->Init.low_power_enable) 80c9bfc: 687b ldr r3, [r7, #4] 80c9bfe: 6a1b ldr r3, [r3, #32] 80c9c00: 2b00 cmp r3, #0 80c9c02: d007 beq.n 80c9c14 SystemClockConfig_Resume(); 80c9c04: f000 f83e bl 80c9c84 SCB->SCR &= (uint32_t)~((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 80c9c08: 4a1d ldr r2, [pc, #116] ; (80c9c80 ) 80c9c0a: 4b1d ldr r3, [pc, #116] ; (80c9c80 ) 80c9c0c: 691b ldr r3, [r3, #16] 80c9c0e: f023 0306 bic.w r3, r3, #6 80c9c12: 6113 str r3, [r2, #16] __HAL_PCD_UNGATE_PHYCLOCK(hpcd); 80c9c14: 687b ldr r3, [r7, #4] 80c9c16: 681b ldr r3, [r3, #0] 80c9c18: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c9c1c: 461a mov r2, r3 80c9c1e: 687b ldr r3, [r7, #4] 80c9c20: 681b ldr r3, [r3, #0] 80c9c22: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c9c26: 681b ldr r3, [r3, #0] 80c9c28: f023 0301 bic.w r3, r3, #1 80c9c2c: 6013 str r3, [r2, #0] USBD_LL_Resume(hpcd->pData); 80c9c2e: 687b ldr r3, [r7, #4] 80c9c30: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c9c34: 4618 mov r0, r3 80c9c36: f7f7 ff26 bl 80c1a86 break; 80c9c3a: e01d b.n 80c9c78 __HAL_PCD_GATE_PHYCLOCK(hpcd); 80c9c3c: 687b ldr r3, [r7, #4] 80c9c3e: 681b ldr r3, [r3, #0] 80c9c40: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c9c44: 461a mov r2, r3 80c9c46: 687b ldr r3, [r7, #4] 80c9c48: 681b ldr r3, [r3, #0] 80c9c4a: f503 6360 add.w r3, r3, #3584 ; 0xe00 80c9c4e: 681b ldr r3, [r3, #0] 80c9c50: f043 0301 orr.w r3, r3, #1 80c9c54: 6013 str r3, [r2, #0] USBD_LL_Suspend(hpcd->pData); 80c9c56: 687b ldr r3, [r7, #4] 80c9c58: f8d3 3400 ldr.w r3, [r3, #1024] ; 0x400 80c9c5c: 4618 mov r0, r3 80c9c5e: f7f7 fefd bl 80c1a5c if (hpcd->Init.low_power_enable) 80c9c62: 687b ldr r3, [r7, #4] 80c9c64: 6a1b ldr r3, [r3, #32] 80c9c66: 2b00 cmp r3, #0 80c9c68: d005 beq.n 80c9c76 SCB->SCR |= (uint32_t)((uint32_t)(SCB_SCR_SLEEPDEEP_Msk | SCB_SCR_SLEEPONEXIT_Msk)); 80c9c6a: 4a05 ldr r2, [pc, #20] ; (80c9c80 ) 80c9c6c: 4b04 ldr r3, [pc, #16] ; (80c9c80 ) 80c9c6e: 691b ldr r3, [r3, #16] 80c9c70: f043 0306 orr.w r3, r3, #6 80c9c74: 6113 str r3, [r2, #16] break; 80c9c76: bf00 nop } 80c9c78: bf00 nop 80c9c7a: 3708 adds r7, #8 80c9c7c: 46bd mov sp, r7 80c9c7e: bd80 pop {r7, pc} 80c9c80: e000ed00 .word 0xe000ed00 080c9c84 : * @brief Configures system clock after wake-up from USB resume callBack: * enable HSI, PLL and select PLL as system clock source. * @retval None */ static void SystemClockConfig_Resume(void) { 80c9c84: b580 push {r7, lr} 80c9c86: af00 add r7, sp, #0 SystemClock_Config(); 80c9c88: f78b f832 bl 8054cf0 } 80c9c8c: bf00 nop 80c9c8e: bd80 pop {r7, pc} 080c9c90 : * @brief Retuns the USB status depending on the HAL status: * @param hal_status: HAL status * @retval USB status */ USBD_StatusTypeDef USBD_Get_USB_Status(HAL_StatusTypeDef hal_status) { 80c9c90: b480 push {r7} 80c9c92: b085 sub sp, #20 80c9c94: af00 add r7, sp, #0 80c9c96: 4603 mov r3, r0 80c9c98: 71fb strb r3, [r7, #7] USBD_StatusTypeDef usb_status = USBD_OK; 80c9c9a: 2300 movs r3, #0 80c9c9c: 73fb strb r3, [r7, #15] switch (hal_status) 80c9c9e: 79fb ldrb r3, [r7, #7] 80c9ca0: 2b03 cmp r3, #3 80c9ca2: d817 bhi.n 80c9cd4 80c9ca4: a201 add r2, pc, #4 ; (adr r2, 80c9cac ) 80c9ca6: f852 f023 ldr.w pc, [r2, r3, lsl #2] 80c9caa: bf00 nop 80c9cac: 080c9cbd .word 0x080c9cbd 80c9cb0: 080c9cc3 .word 0x080c9cc3 80c9cb4: 080c9cc9 .word 0x080c9cc9 80c9cb8: 080c9ccf .word 0x080c9ccf { case HAL_OK : usb_status = USBD_OK; 80c9cbc: 2300 movs r3, #0 80c9cbe: 73fb strb r3, [r7, #15] break; 80c9cc0: e00b b.n 80c9cda case HAL_ERROR : usb_status = USBD_FAIL; 80c9cc2: 2303 movs r3, #3 80c9cc4: 73fb strb r3, [r7, #15] break; 80c9cc6: e008 b.n 80c9cda case HAL_BUSY : usb_status = USBD_BUSY; 80c9cc8: 2301 movs r3, #1 80c9cca: 73fb strb r3, [r7, #15] break; 80c9ccc: e005 b.n 80c9cda case HAL_TIMEOUT : usb_status = USBD_FAIL; 80c9cce: 2303 movs r3, #3 80c9cd0: 73fb strb r3, [r7, #15] break; 80c9cd2: e002 b.n 80c9cda default : usb_status = USBD_FAIL; 80c9cd4: 2303 movs r3, #3 80c9cd6: 73fb strb r3, [r7, #15] break; 80c9cd8: bf00 nop } return usb_status; 80c9cda: 7bfb ldrb r3, [r7, #15] } 80c9cdc: 4618 mov r0, r3 80c9cde: 3714 adds r7, #20 80c9ce0: 46bd mov sp, r7 80c9ce2: f85d 7b04 ldr.w r7, [sp], #4 80c9ce6: 4770 bx lr 080c9ce8 : .section .text.Reset_Handler .weak Reset_Handler .type Reset_Handler, %function Reset_Handler: ldr sp, =_estack /* set stack pointer */ 80c9ce8: f8df d034 ldr.w sp, [pc, #52] ; 80c9d20 /* Copy the data segment initializers from flash to SRAM */ movs r1, #0 80c9cec: 2100 movs r1, #0 b LoopCopyDataInit 80c9cee: e003 b.n 80c9cf8 080c9cf0 : CopyDataInit: ldr r3, =_sidata 80c9cf0: 4b0c ldr r3, [pc, #48] ; (80c9d24 ) ldr r3, [r3, r1] 80c9cf2: 585b ldr r3, [r3, r1] str r3, [r0, r1] 80c9cf4: 5043 str r3, [r0, r1] adds r1, r1, #4 80c9cf6: 3104 adds r1, #4 080c9cf8 : LoopCopyDataInit: ldr r0, =_sdata 80c9cf8: 480b ldr r0, [pc, #44] ; (80c9d28 ) ldr r3, =_edata 80c9cfa: 4b0c ldr r3, [pc, #48] ; (80c9d2c ) adds r2, r0, r1 80c9cfc: 1842 adds r2, r0, r1 cmp r2, r3 80c9cfe: 429a cmp r2, r3 bcc CopyDataInit 80c9d00: d3f6 bcc.n 80c9cf0 ldr r2, =_sbss 80c9d02: 4a0b ldr r2, [pc, #44] ; (80c9d30 ) b LoopFillZerobss 80c9d04: e002 b.n 80c9d0c 080c9d06 : /* Zero fill the bss segment. */ FillZerobss: movs r3, #0 80c9d06: 2300 movs r3, #0 str r3, [r2], #4 80c9d08: f842 3b04 str.w r3, [r2], #4 080c9d0c : LoopFillZerobss: ldr r3, = _ebss 80c9d0c: 4b09 ldr r3, [pc, #36] ; (80c9d34 ) cmp r2, r3 80c9d0e: 429a cmp r2, r3 bcc FillZerobss 80c9d10: d3f9 bcc.n 80c9d06 /* Call the clock system initialization function.*/ bl SystemInit 80c9d12: f7e4 fc01 bl 80ae518 /* Call static constructors */ bl __libc_init_array 80c9d16: f003 f94b bl 80ccfb0 <__libc_init_array> /* Call the application's entry point.*/ bl main 80c9d1a: f78a fe53 bl 80549c4
bx lr 80c9d1e: 4770 bx lr ldr sp, =_estack /* set stack pointer */ 80c9d20: 20080000 .word 0x20080000 ldr r3, =_sidata 80c9d24: 08186a64 .word 0x08186a64 ldr r0, =_sdata 80c9d28: 20020000 .word 0x20020000 ldr r3, =_edata 80c9d2c: 20020d18 .word 0x20020d18 ldr r2, =_sbss 80c9d30: 20020d20 .word 0x20020d20 ldr r3, = _ebss 80c9d34: 20069638 .word 0x20069638 080c9d38 : * @retval None */ .section .text.Default_Handler,"ax",%progbits Default_Handler: Infinite_Loop: b Infinite_Loop 80c9d38: e7fe b.n 80c9d38 ... 080c9d3c : 80c9d3c: b410 push {r4} 80c9d3e: 088c lsrs r4, r1, #2 80c9d40: d010 beq.n 80c9d64 80c9d42: f100 0310 add.w r3, r0, #16 80c9d46: 4622 mov r2, r4 80c9d48: 3a01 subs r2, #1 80c9d4a: ed03 0a04 vstr s0, [r3, #-16] 80c9d4e: ed03 0a03 vstr s0, [r3, #-12] 80c9d52: f103 0310 add.w r3, r3, #16 80c9d56: ed03 0a06 vstr s0, [r3, #-24] ; 0xffffffe8 80c9d5a: ed03 0a05 vstr s0, [r3, #-20] ; 0xffffffec 80c9d5e: d1f3 bne.n 80c9d48 80c9d60: eb00 1004 add.w r0, r0, r4, lsl #4 80c9d64: f011 0103 ands.w r1, r1, #3 80c9d68: d003 beq.n 80c9d72 80c9d6a: 3901 subs r1, #1 80c9d6c: eca0 0a01 vstmia r0!, {s0} 80c9d70: d1fb bne.n 80c9d6a 80c9d72: f85d 4b04 ldr.w r4, [sp], #4 80c9d76: 4770 bx lr 080c9d78 : 80c9d78: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80c9d7c: ea5f 0892 movs.w r8, r2, lsr #2 80c9d80: d01e beq.n 80c9dc0 80c9d82: f100 0410 add.w r4, r0, #16 80c9d86: f101 0310 add.w r3, r1, #16 80c9d8a: 4645 mov r5, r8 80c9d8c: f854 cc10 ldr.w ip, [r4, #-16] 80c9d90: 3d01 subs r5, #1 80c9d92: f854 ec0c ldr.w lr, [r4, #-12] 80c9d96: f103 0310 add.w r3, r3, #16 80c9d9a: f854 7c08 ldr.w r7, [r4, #-8] 80c9d9e: f104 0410 add.w r4, r4, #16 80c9da2: f854 6c14 ldr.w r6, [r4, #-20] 80c9da6: f843 cc20 str.w ip, [r3, #-32] 80c9daa: f843 ec1c str.w lr, [r3, #-28] 80c9dae: f843 7c18 str.w r7, [r3, #-24] 80c9db2: f843 6c14 str.w r6, [r3, #-20] 80c9db6: d1e9 bne.n 80c9d8c 80c9db8: ea4f 1808 mov.w r8, r8, lsl #4 80c9dbc: 4440 add r0, r8 80c9dbe: 4441 add r1, r8 80c9dc0: f012 0203 ands.w r2, r2, #3 80c9dc4: d005 beq.n 80c9dd2 80c9dc6: f850 3b04 ldr.w r3, [r0], #4 80c9dca: 3a01 subs r2, #1 80c9dcc: f841 3b04 str.w r3, [r1], #4 80c9dd0: d1f9 bne.n 80c9dc6 80c9dd2: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80c9dd6: bf00 nop 080c9dd8 : 80c9dd8: 2901 cmp r1, #1 80c9dda: d054 beq.n 80c9e86 80c9ddc: eddf 6a2d vldr s13, [pc, #180] ; 80c9e94 80c9de0: b430 push {r4, r5} 80c9de2: 088d lsrs r5, r1, #2 80c9de4: d052 beq.n 80c9e8c 80c9de6: eef0 7a66 vmov.f32 s15, s13 80c9dea: f100 0310 add.w r3, r0, #16 80c9dee: 462c mov r4, r5 80c9df0: ed13 7a04 vldr s14, [r3, #-16] 80c9df4: 3c01 subs r4, #1 80c9df6: ed13 4a03 vldr s8, [r3, #-12] 80c9dfa: f103 0310 add.w r3, r3, #16 80c9dfe: ee27 6a07 vmul.f32 s12, s14, s14 80c9e02: ed53 4a06 vldr s9, [r3, #-24] ; 0xffffffe8 80c9e06: ee37 7a87 vadd.f32 s14, s15, s14 80c9e0a: ed53 5a05 vldr s11, [r3, #-20] ; 0xffffffec 80c9e0e: ee24 5a04 vmul.f32 s10, s8, s8 80c9e12: ee76 6a26 vadd.f32 s13, s12, s13 80c9e16: ee37 7a04 vadd.f32 s14, s14, s8 80c9e1a: ee24 6aa4 vmul.f32 s12, s9, s9 80c9e1e: ee75 6a26 vadd.f32 s13, s10, s13 80c9e22: ee77 7a24 vadd.f32 s15, s14, s9 80c9e26: ee25 7aa5 vmul.f32 s14, s11, s11 80c9e2a: ee76 6a26 vadd.f32 s13, s12, s13 80c9e2e: ee77 7aa5 vadd.f32 s15, s15, s11 80c9e32: ee77 6a26 vadd.f32 s13, s14, s13 80c9e36: d1db bne.n 80c9df0 80c9e38: eb00 1005 add.w r0, r0, r5, lsl #4 80c9e3c: f011 0303 ands.w r3, r1, #3 80c9e40: d009 beq.n 80c9e56 80c9e42: ecb0 7a01 vldmia r0!, {s14} 80c9e46: 3b01 subs r3, #1 80c9e48: ee27 6a07 vmul.f32 s12, s14, s14 80c9e4c: ee77 7a87 vadd.f32 s15, s15, s14 80c9e50: ee76 6a86 vadd.f32 s13, s13, s12 80c9e54: d1f5 bne.n 80c9e42 80c9e56: ee07 1a10 vmov s14, r1 80c9e5a: eeb7 6a00 vmov.f32 s12, #112 ; 0x3f800000 1.0 80c9e5e: eeb8 7a47 vcvt.f32.u32 s14, s14 80c9e62: bc30 pop {r4, r5} 80c9e64: eec7 7a87 vdiv.f32 s15, s15, s14 80c9e68: ee37 6a46 vsub.f32 s12, s14, s12 80c9e6c: ee87 7a06 vdiv.f32 s14, s14, s12 80c9e70: eec6 6a86 vdiv.f32 s13, s13, s12 80c9e74: ee67 7aa7 vmul.f32 s15, s15, s15 80c9e78: ee67 7a87 vmul.f32 s15, s15, s14 80c9e7c: ee76 7ae7 vsub.f32 s15, s13, s15 80c9e80: edc2 7a00 vstr s15, [r2] 80c9e84: 4770 bx lr 80c9e86: 2300 movs r3, #0 80c9e88: 6013 str r3, [r2, #0] 80c9e8a: 4770 bx lr 80c9e8c: eef0 7a66 vmov.f32 s15, s13 80c9e90: e7d4 b.n 80c9e3c 80c9e92: bf00 nop 80c9e94: 00000000 .word 0x00000000 080c9e98 : 80c9e98: b530 push {r4, r5, lr} 80c9e9a: 088d lsrs r5, r1, #2 80c9e9c: b083 sub sp, #12 80c9e9e: d047 beq.n 80c9f30 80c9ea0: f100 0310 add.w r3, r0, #16 80c9ea4: 462c mov r4, r5 80c9ea6: ed9f 0a27 vldr s0, [pc, #156] ; 80c9f44 80c9eaa: ed53 6a04 vldr s13, [r3, #-16] 80c9eae: 3c01 subs r4, #1 80c9eb0: ed13 7a03 vldr s14, [r3, #-12] 80c9eb4: f103 0310 add.w r3, r3, #16 80c9eb8: ee26 6aa6 vmul.f32 s12, s13, s13 80c9ebc: ed53 7a06 vldr s15, [r3, #-24] ; 0xffffffe8 80c9ec0: ee67 6a07 vmul.f32 s13, s14, s14 80c9ec4: ed53 5a05 vldr s11, [r3, #-20] ; 0xffffffec 80c9ec8: ee27 7aa7 vmul.f32 s14, s15, s15 80c9ecc: ee76 7a00 vadd.f32 s15, s12, s0 80c9ed0: ee65 5aa5 vmul.f32 s11, s11, s11 80c9ed4: ee76 7aa7 vadd.f32 s15, s13, s15 80c9ed8: ee77 7a27 vadd.f32 s15, s14, s15 80c9edc: ee35 0aa7 vadd.f32 s0, s11, s15 80c9ee0: d1e3 bne.n 80c9eaa 80c9ee2: eb00 1005 add.w r0, r0, r5, lsl #4 80c9ee6: f011 0303 ands.w r3, r1, #3 80c9eea: d007 beq.n 80c9efc 80c9eec: ecb0 6a01 vldmia r0!, {s12} 80c9ef0: 3b01 subs r3, #1 80c9ef2: ee26 6a06 vmul.f32 s12, s12, s12 80c9ef6: ee30 0a06 vadd.f32 s0, s0, s12 80c9efa: d1f7 bne.n 80c9eec 80c9efc: ee07 1a90 vmov s15, r1 80c9f00: 2300 movs r3, #0 80c9f02: eef8 7a67 vcvt.f32.u32 s15, s15 80c9f06: eec0 7a27 vdiv.f32 s15, s0, s15 80c9f0a: eef5 7ac0 vcmpe.f32 s15, #0.0 80c9f0e: eef1 fa10 vmrs APSR_nzcv, fpscr 80c9f12: da02 bge.n 80c9f1a 80c9f14: 6013 str r3, [r2, #0] 80c9f16: b003 add sp, #12 80c9f18: bd30 pop {r4, r5, pc} 80c9f1a: eeb1 0ae7 vsqrt.f32 s0, s15 80c9f1e: eeb4 0a40 vcmp.f32 s0, s0 80c9f22: eef1 fa10 vmrs APSR_nzcv, fpscr 80c9f26: d106 bne.n 80c9f36 80c9f28: ed82 0a00 vstr s0, [r2] 80c9f2c: b003 add sp, #12 80c9f2e: bd30 pop {r4, r5, pc} 80c9f30: ed9f 0a04 vldr s0, [pc, #16] ; 80c9f44 80c9f34: e7d7 b.n 80c9ee6 80c9f36: eeb0 0a67 vmov.f32 s0, s15 80c9f3a: 9201 str r2, [sp, #4] 80c9f3c: f001 f9a0 bl 80cb280 80c9f40: 9a01 ldr r2, [sp, #4] 80c9f42: e7f1 b.n 80c9f28 80c9f44: 00000000 .word 0x00000000 080c9f48 : 80c9f48: b430 push {r4, r5} 80c9f4a: 088d lsrs r5, r1, #2 80c9f4c: d031 beq.n 80c9fb2 80c9f4e: f100 0310 add.w r3, r0, #16 80c9f52: 462c mov r4, r5 80c9f54: ed9f 5a18 vldr s10, [pc, #96] ; 80c9fb8 80c9f58: ed53 6a04 vldr s13, [r3, #-16] 80c9f5c: 3c01 subs r4, #1 80c9f5e: ed13 7a03 vldr s14, [r3, #-12] 80c9f62: f103 0310 add.w r3, r3, #16 80c9f66: ee26 6aa6 vmul.f32 s12, s13, s13 80c9f6a: ed53 7a06 vldr s15, [r3, #-24] ; 0xffffffe8 80c9f6e: ee67 6a07 vmul.f32 s13, s14, s14 80c9f72: ed53 5a05 vldr s11, [r3, #-20] ; 0xffffffec 80c9f76: ee27 7aa7 vmul.f32 s14, s15, s15 80c9f7a: ee76 7a05 vadd.f32 s15, s12, s10 80c9f7e: ee65 5aa5 vmul.f32 s11, s11, s11 80c9f82: ee76 7aa7 vadd.f32 s15, s13, s15 80c9f86: ee77 7a27 vadd.f32 s15, s14, s15 80c9f8a: ee35 5aa7 vadd.f32 s10, s11, s15 80c9f8e: d1e3 bne.n 80c9f58 80c9f90: eb00 1005 add.w r0, r0, r5, lsl #4 80c9f94: f011 0103 ands.w r1, r1, #3 80c9f98: d007 beq.n 80c9faa 80c9f9a: ecb0 6a01 vldmia r0!, {s12} 80c9f9e: 3901 subs r1, #1 80c9fa0: ee26 6a06 vmul.f32 s12, s12, s12 80c9fa4: ee35 5a06 vadd.f32 s10, s10, s12 80c9fa8: d1f7 bne.n 80c9f9a 80c9faa: ed82 5a00 vstr s10, [r2] 80c9fae: bc30 pop {r4, r5} 80c9fb0: 4770 bx lr 80c9fb2: ed9f 5a01 vldr s10, [pc, #4] ; 80c9fb8 80c9fb6: e7ed b.n 80c9f94 80c9fb8: 00000000 .word 0x00000000 080c9fbc : 80c9fbc: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80c9fc0: 1e4d subs r5, r1, #1 80c9fc2: f100 0c04 add.w ip, r0, #4 80c9fc6: edd0 7a00 vldr s15, [r0] 80c9fca: ea5f 0995 movs.w r9, r5, lsr #2 80c9fce: d056 beq.n 80ca07e 80c9fd0: 3014 adds r0, #20 80c9fd2: 46c8 mov r8, r9 80c9fd4: 2404 movs r4, #4 80c9fd6: 2600 movs r6, #0 80c9fd8: ed10 6a04 vldr s12, [r0, #-16] 80c9fdc: f1a4 0a03 sub.w sl, r4, #3 80c9fe0: ed50 6a03 vldr s13, [r0, #-12] 80c9fe4: f1a4 0e02 sub.w lr, r4, #2 80c9fe8: eeb4 6ae7 vcmpe.f32 s12, s15 80c9fec: ed10 7a02 vldr s14, [r0, #-8] 80c9ff0: ed50 5a01 vldr s11, [r0, #-4] 80c9ff4: 1e67 subs r7, r4, #1 80c9ff6: 3010 adds r0, #16 80c9ff8: eef1 fa10 vmrs APSR_nzcv, fpscr 80c9ffc: bf48 it mi 80c9ffe: eef0 7a46 vmovmi.f32 s15, s12 80ca002: bf48 it mi 80ca004: 4656 movmi r6, sl 80ca006: eef4 7ae6 vcmpe.f32 s15, s13 80ca00a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca00e: bfc8 it gt 80ca010: eef0 7a66 vmovgt.f32 s15, s13 80ca014: bfc8 it gt 80ca016: 4676 movgt r6, lr 80ca018: eef4 7ac7 vcmpe.f32 s15, s14 80ca01c: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca020: bfc8 it gt 80ca022: eef0 7a47 vmovgt.f32 s15, s14 80ca026: bfc8 it gt 80ca028: 463e movgt r6, r7 80ca02a: eef4 7ae5 vcmpe.f32 s15, s11 80ca02e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca032: bfc8 it gt 80ca034: 4626 movgt r6, r4 80ca036: bfc8 it gt 80ca038: eef0 7a65 vmovgt.f32 s15, s11 80ca03c: f1b8 0801 subs.w r8, r8, #1 80ca040: f104 0404 add.w r4, r4, #4 80ca044: d1c8 bne.n 80c9fd8 80ca046: eb0c 1c09 add.w ip, ip, r9, lsl #4 80ca04a: f015 0003 ands.w r0, r5, #3 80ca04e: d018 beq.n 80ca082 80ca050: 1a08 subs r0, r1, r0 80ca052: ecbc 7a01 vldmia ip!, {s14} 80ca056: eeb4 7ae7 vcmpe.f32 s14, s15 80ca05a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca05e: bf48 it mi 80ca060: 4606 movmi r6, r0 80ca062: f100 0001 add.w r0, r0, #1 80ca066: bf58 it pl 80ca068: eeb0 7a67 vmovpl.f32 s14, s15 80ca06c: 4288 cmp r0, r1 80ca06e: eef0 7a47 vmov.f32 s15, s14 80ca072: d1ee bne.n 80ca052 80ca074: ed82 7a00 vstr s14, [r2] 80ca078: 601e str r6, [r3, #0] 80ca07a: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80ca07e: 464e mov r6, r9 80ca080: e7e3 b.n 80ca04a 80ca082: eeb0 7a67 vmov.f32 s14, s15 80ca086: e7f5 b.n 80ca074 080ca088 : 80ca088: b430 push {r4, r5} 80ca08a: 088d lsrs r5, r1, #2 80ca08c: d02d beq.n 80ca0ea 80ca08e: f100 0310 add.w r3, r0, #16 80ca092: 462c mov r4, r5 80ca094: eddf 7a16 vldr s15, [pc, #88] ; 80ca0f0 80ca098: ed13 7a04 vldr s14, [r3, #-16] 80ca09c: 3c01 subs r4, #1 80ca09e: ed13 6a03 vldr s12, [r3, #-12] 80ca0a2: f103 0310 add.w r3, r3, #16 80ca0a6: ee37 7a87 vadd.f32 s14, s15, s14 80ca0aa: ed53 7a06 vldr s15, [r3, #-24] ; 0xffffffe8 80ca0ae: ed53 6a05 vldr s13, [r3, #-20] ; 0xffffffec 80ca0b2: ee37 7a06 vadd.f32 s14, s14, s12 80ca0b6: ee77 7a27 vadd.f32 s15, s14, s15 80ca0ba: ee77 7aa6 vadd.f32 s15, s15, s13 80ca0be: d1eb bne.n 80ca098 80ca0c0: eb00 1005 add.w r0, r0, r5, lsl #4 80ca0c4: f011 0303 ands.w r3, r1, #3 80ca0c8: d005 beq.n 80ca0d6 80ca0ca: ecb0 7a01 vldmia r0!, {s14} 80ca0ce: 3b01 subs r3, #1 80ca0d0: ee77 7a87 vadd.f32 s15, s15, s14 80ca0d4: d1f9 bne.n 80ca0ca 80ca0d6: ee07 1a10 vmov s14, r1 80ca0da: eeb8 7a47 vcvt.f32.u32 s14, s14 80ca0de: bc30 pop {r4, r5} 80ca0e0: eec7 7a87 vdiv.f32 s15, s15, s14 80ca0e4: edc2 7a00 vstr s15, [r2] 80ca0e8: 4770 bx lr 80ca0ea: eddf 7a01 vldr s15, [pc, #4] ; 80ca0f0 80ca0ee: e7e9 b.n 80ca0c4 80ca0f0: 00000000 .word 0x00000000 080ca0f4 : 80ca0f4: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80ca0f8: 1e4d subs r5, r1, #1 80ca0fa: f100 0c04 add.w ip, r0, #4 80ca0fe: edd0 7a00 vldr s15, [r0] 80ca102: ea5f 0995 movs.w r9, r5, lsr #2 80ca106: d056 beq.n 80ca1b6 80ca108: 3014 adds r0, #20 80ca10a: 46c8 mov r8, r9 80ca10c: 2404 movs r4, #4 80ca10e: 2600 movs r6, #0 80ca110: ed10 6a04 vldr s12, [r0, #-16] 80ca114: f1a4 0a03 sub.w sl, r4, #3 80ca118: ed50 6a03 vldr s13, [r0, #-12] 80ca11c: f1a4 0e02 sub.w lr, r4, #2 80ca120: eeb4 6ae7 vcmpe.f32 s12, s15 80ca124: ed10 7a02 vldr s14, [r0, #-8] 80ca128: ed50 5a01 vldr s11, [r0, #-4] 80ca12c: 1e67 subs r7, r4, #1 80ca12e: 3010 adds r0, #16 80ca130: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca134: bfc8 it gt 80ca136: eef0 7a46 vmovgt.f32 s15, s12 80ca13a: bfc8 it gt 80ca13c: 4656 movgt r6, sl 80ca13e: eef4 7ae6 vcmpe.f32 s15, s13 80ca142: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca146: bf48 it mi 80ca148: eef0 7a66 vmovmi.f32 s15, s13 80ca14c: bf48 it mi 80ca14e: 4676 movmi r6, lr 80ca150: eef4 7ac7 vcmpe.f32 s15, s14 80ca154: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca158: bf48 it mi 80ca15a: eef0 7a47 vmovmi.f32 s15, s14 80ca15e: bf48 it mi 80ca160: 463e movmi r6, r7 80ca162: eef4 7ae5 vcmpe.f32 s15, s11 80ca166: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca16a: bf48 it mi 80ca16c: 4626 movmi r6, r4 80ca16e: bf48 it mi 80ca170: eef0 7a65 vmovmi.f32 s15, s11 80ca174: f1b8 0801 subs.w r8, r8, #1 80ca178: f104 0404 add.w r4, r4, #4 80ca17c: d1c8 bne.n 80ca110 80ca17e: eb0c 1c09 add.w ip, ip, r9, lsl #4 80ca182: f015 0003 ands.w r0, r5, #3 80ca186: d018 beq.n 80ca1ba 80ca188: 1a08 subs r0, r1, r0 80ca18a: ecbc 7a01 vldmia ip!, {s14} 80ca18e: eeb4 7ae7 vcmpe.f32 s14, s15 80ca192: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca196: bfc8 it gt 80ca198: 4606 movgt r6, r0 80ca19a: f100 0001 add.w r0, r0, #1 80ca19e: bfd8 it le 80ca1a0: eeb0 7a67 vmovle.f32 s14, s15 80ca1a4: 4288 cmp r0, r1 80ca1a6: eef0 7a47 vmov.f32 s15, s14 80ca1aa: d1ee bne.n 80ca18a 80ca1ac: ed82 7a00 vstr s14, [r2] 80ca1b0: 601e str r6, [r3, #0] 80ca1b2: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80ca1b6: 464e mov r6, r9 80ca1b8: e7e3 b.n 80ca182 80ca1ba: eeb0 7a67 vmov.f32 s14, s15 80ca1be: e7f5 b.n 80ca1ac 080ca1c0 : 80ca1c0: b538 push {r3, r4, r5, lr} 80ca1c2: 4604 mov r4, r0 80ca1c4: 4608 mov r0, r1 80ca1c6: 461d mov r5, r3 80ca1c8: 2100 movs r1, #0 80ca1ca: 60a2 str r2, [r4, #8] 80ca1cc: 0102 lsls r2, r0, #4 80ca1ce: 7020 strb r0, [r4, #0] 80ca1d0: 4618 mov r0, r3 80ca1d2: f002 ff55 bl 80cd080 80ca1d6: 6065 str r5, [r4, #4] 80ca1d8: bd38 pop {r3, r4, r5, pc} 80ca1da: bf00 nop 080ca1dc : 80ca1dc: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80ca1e0: ed2d 8b10 vpush {d8-d15} 80ca1e4: b093 sub sp, #76 ; 0x4c 80ca1e6: 4691 mov r9, r2 80ca1e8: 7807 ldrb r7, [r0, #0] 80ca1ea: ea4f 1c13 mov.w ip, r3, lsr #4 80ca1ee: 6885 ldr r5, [r0, #8] 80ca1f0: 3528 adds r5, #40 ; 0x28 80ca1f2: 6846 ldr r6, [r0, #4] 80ca1f4: 3610 adds r6, #16 80ca1f6: ea4f 1acc mov.w sl, ip, lsl #7 80ca1fa: 4690 mov r8, r2 80ca1fc: f8cd c044 str.w ip, [sp, #68] ; 0x44 80ca200: eb02 0b0a add.w fp, r2, sl 80ca204: f003 020f and.w r2, r3, #15 80ca208: ed15 ab0a vldr d10, [r5, #-40] ; 0xffffffd8 80ca20c: ed15 cb08 vldr d12, [r5, #-32] ; 0xffffffe0 80ca210: ed15 db06 vldr d13, [r5, #-24] ; 0xffffffe8 80ca214: ed15 eb04 vldr d14, [r5, #-16] 80ca218: ed15 fb02 vldr d15, [r5, #-8] 80ca21c: 4634 mov r4, r6 80ca21e: ed16 6b04 vldr d6, [r6, #-16] 80ca222: ed16 7b02 vldr d7, [r6, #-8] 80ca226: f1bc 0f00 cmp.w ip, #0 80ca22a: f000 8139 beq.w 80ca4a0 80ca22e: f101 0080 add.w r0, r1, #128 ; 0x80 80ca232: f109 0380 add.w r3, r9, #128 ; 0x80 80ca236: f8dd e044 ldr.w lr, [sp, #68] ; 0x44 80ca23a: eeb0 2b47 vmov.f64 d2, d7 80ca23e: ed10 1b20 vldr d1, [r0, #-128] ; 0xffffff80 80ca242: ed10 3b1e vldr d3, [r0, #-120] ; 0xffffff88 80ca246: ed10 4b1c vldr d4, [r0, #-112] ; 0xffffff90 80ca24a: ee0a 6b01 vmla.f64 d6, d10, d1 80ca24e: eeb0 7b46 vmov.f64 d7, d6 80ca252: ed10 5b1a vldr d5, [r0, #-104] ; 0xffffff98 80ca256: ee0c 2b01 vmla.f64 d2, d12, d1 80ca25a: ed10 6b18 vldr d6, [r0, #-96] ; 0xffffffa0 80ca25e: ee0e 2b07 vmla.f64 d2, d14, d7 80ca262: ee0a 2b03 vmla.f64 d2, d10, d3 80ca266: ed8d 7b04 vstr d7, [sp, #16] 80ca26a: ee2f 7b07 vmul.f64 d7, d15, d7 80ca26e: ee0d 7b01 vmla.f64 d7, d13, d1 80ca272: ee0c 7b03 vmla.f64 d7, d12, d3 80ca276: ed10 1b08 vldr d1, [r0, #-32] ; 0xffffffe0 80ca27a: ed8d 1b00 vstr d1, [sp] 80ca27e: ee0e 7b02 vmla.f64 d7, d14, d2 80ca282: eeb0 1b47 vmov.f64 d1, d7 80ca286: ee0a 1b04 vmla.f64 d1, d10, d4 80ca28a: ed10 0b06 vldr d0, [r0, #-24] ; 0xffffffe8 80ca28e: ed8d 0b0a vstr d0, [sp, #40] ; 0x28 80ca292: ed8d 2b06 vstr d2, [sp, #24] 80ca296: ee2f 7b02 vmul.f64 d7, d15, d2 80ca29a: ee0d 7b03 vmla.f64 d7, d13, d3 80ca29e: ee0c 7b04 vmla.f64 d7, d12, d4 80ca2a2: ed10 3b04 vldr d3, [r0, #-16] 80ca2a6: ed8d 3b0c vstr d3, [sp, #48] ; 0x30 80ca2aa: ed10 8b02 vldr d8, [r0, #-8] 80ca2ae: ed8d 8b0e vstr d8, [sp, #56] ; 0x38 80ca2b2: ee0e 7b01 vmla.f64 d7, d14, d1 80ca2b6: ee0a 7b05 vmla.f64 d7, d10, d5 80ca2ba: ed8d 1b08 vstr d1, [sp, #32] 80ca2be: ee2f bb01 vmul.f64 d11, d15, d1 80ca2c2: ee0d bb04 vmla.f64 d11, d13, d4 80ca2c6: ee0c bb05 vmla.f64 d11, d12, d5 80ca2ca: ee0e bb07 vmla.f64 d11, d14, d7 80ca2ce: ee0a bb06 vmla.f64 d11, d10, d6 80ca2d2: ee2f 9b07 vmul.f64 d9, d15, d7 80ca2d6: ee0d 9b05 vmla.f64 d9, d13, d5 80ca2da: ee0c 9b06 vmla.f64 d9, d12, d6 80ca2de: ee0e 9b0b vmla.f64 d9, d14, d11 80ca2e2: ed10 3b16 vldr d3, [r0, #-88] ; 0xffffffa8 80ca2e6: ee0a 9b03 vmla.f64 d9, d10, d3 80ca2ea: ee2f 8b0b vmul.f64 d8, d15, d11 80ca2ee: ee0d 8b06 vmla.f64 d8, d13, d6 80ca2f2: ee0c 8b03 vmla.f64 d8, d12, d3 80ca2f6: ee0e 8b09 vmla.f64 d8, d14, d9 80ca2fa: ed10 6b14 vldr d6, [r0, #-80] ; 0xffffffb0 80ca2fe: ee0a 8b06 vmla.f64 d8, d10, d6 80ca302: ee2f 0b09 vmul.f64 d0, d15, d9 80ca306: ee0d 0b03 vmla.f64 d0, d13, d3 80ca30a: ed10 6b14 vldr d6, [r0, #-80] ; 0xffffffb0 80ca30e: ee0c 0b06 vmla.f64 d0, d12, d6 80ca312: ee0e 0b08 vmla.f64 d0, d14, d8 80ca316: ed10 6b12 vldr d6, [r0, #-72] ; 0xffffffb8 80ca31a: ee0a 0b06 vmla.f64 d0, d10, d6 80ca31e: ee2f 1b08 vmul.f64 d1, d15, d8 80ca322: ed10 6b14 vldr d6, [r0, #-80] ; 0xffffffb0 80ca326: ee0d 1b06 vmla.f64 d1, d13, d6 80ca32a: ed10 6b12 vldr d6, [r0, #-72] ; 0xffffffb8 80ca32e: ee0c 1b06 vmla.f64 d1, d12, d6 80ca332: ee0e 1b00 vmla.f64 d1, d14, d0 80ca336: ed10 6b10 vldr d6, [r0, #-64] ; 0xffffffc0 80ca33a: ee0a 1b06 vmla.f64 d1, d10, d6 80ca33e: ee2f 2b00 vmul.f64 d2, d15, d0 80ca342: ed10 6b12 vldr d6, [r0, #-72] ; 0xffffffb8 80ca346: ee0d 2b06 vmla.f64 d2, d13, d6 80ca34a: ed10 6b10 vldr d6, [r0, #-64] ; 0xffffffc0 80ca34e: ee0c 2b06 vmla.f64 d2, d12, d6 80ca352: ee0e 2b01 vmla.f64 d2, d14, d1 80ca356: ed10 6b0e vldr d6, [r0, #-56] ; 0xffffffc8 80ca35a: ee0a 2b06 vmla.f64 d2, d10, d6 80ca35e: ee2f 3b01 vmul.f64 d3, d15, d1 80ca362: ed10 6b10 vldr d6, [r0, #-64] ; 0xffffffc0 80ca366: ee0d 3b06 vmla.f64 d3, d13, d6 80ca36a: ed10 6b0e vldr d6, [r0, #-56] ; 0xffffffc8 80ca36e: ee0c 3b06 vmla.f64 d3, d12, d6 80ca372: ee0e 3b02 vmla.f64 d3, d14, d2 80ca376: ed10 6b0c vldr d6, [r0, #-48] ; 0xffffffd0 80ca37a: ee0a 3b06 vmla.f64 d3, d10, d6 80ca37e: ee2f 4b02 vmul.f64 d4, d15, d2 80ca382: ed10 6b0e vldr d6, [r0, #-56] ; 0xffffffc8 80ca386: ee0d 4b06 vmla.f64 d4, d13, d6 80ca38a: ed10 6b0c vldr d6, [r0, #-48] ; 0xffffffd0 80ca38e: ee0c 4b06 vmla.f64 d4, d12, d6 80ca392: ee0e 4b03 vmla.f64 d4, d14, d3 80ca396: ed10 6b0a vldr d6, [r0, #-40] ; 0xffffffd8 80ca39a: ee0a 4b06 vmla.f64 d4, d10, d6 80ca39e: ee2f 5b03 vmul.f64 d5, d15, d3 80ca3a2: ed10 6b0c vldr d6, [r0, #-48] ; 0xffffffd0 80ca3a6: ee0d 5b06 vmla.f64 d5, d13, d6 80ca3aa: ed10 6b0a vldr d6, [r0, #-40] ; 0xffffffd8 80ca3ae: ee0c 5b06 vmla.f64 d5, d12, d6 80ca3b2: ed8d 4b02 vstr d4, [sp, #8] 80ca3b6: ee0e 5b04 vmla.f64 d5, d14, d4 80ca3ba: ed9d 4b00 vldr d4, [sp] 80ca3be: ee0a 5b04 vmla.f64 d5, d10, d4 80ca3c2: ed8d 5b00 vstr d5, [sp] 80ca3c6: ed9d 6b02 vldr d6, [sp, #8] 80ca3ca: ee2f 6b06 vmul.f64 d6, d15, d6 80ca3ce: ed10 5b0a vldr d5, [r0, #-40] ; 0xffffffd8 80ca3d2: ee0d 6b05 vmla.f64 d6, d13, d5 80ca3d6: ee0c 6b04 vmla.f64 d6, d12, d4 80ca3da: ed9d 5b04 vldr d5, [sp, #16] 80ca3de: ed03 5b20 vstr d5, [r3, #-128] ; 0xffffff80 80ca3e2: ed9d 5b06 vldr d5, [sp, #24] 80ca3e6: ed03 5b1e vstr d5, [r3, #-120] ; 0xffffff88 80ca3ea: ed9d 5b08 vldr d5, [sp, #32] 80ca3ee: ed03 5b1c vstr d5, [r3, #-112] ; 0xffffff90 80ca3f2: ed9d 5b00 vldr d5, [sp] 80ca3f6: ee0e 6b05 vmla.f64 d6, d14, d5 80ca3fa: ed9d 5b0a vldr d5, [sp, #40] ; 0x28 80ca3fe: ee0a 6b05 vmla.f64 d6, d10, d5 80ca402: ed03 7b1a vstr d7, [r3, #-104] ; 0xffffff98 80ca406: ed9d 7b00 vldr d7, [sp] 80ca40a: ee2f 7b07 vmul.f64 d7, d15, d7 80ca40e: ee0d 7b04 vmla.f64 d7, d13, d4 80ca412: ee0c 7b05 vmla.f64 d7, d12, d5 80ca416: ed03 bb18 vstr d11, [r3, #-96] ; 0xffffffa0 80ca41a: ed03 9b16 vstr d9, [r3, #-88] ; 0xffffffa8 80ca41e: ed03 8b14 vstr d8, [r3, #-80] ; 0xffffffb0 80ca422: ed03 0b12 vstr d0, [r3, #-72] ; 0xffffffb8 80ca426: ed03 1b10 vstr d1, [r3, #-64] ; 0xffffffc0 80ca42a: ee0e 7b06 vmla.f64 d7, d14, d6 80ca42e: ed9d 4b0c vldr d4, [sp, #48] ; 0x30 80ca432: ee0a 7b04 vmla.f64 d7, d10, d4 80ca436: ed03 2b0e vstr d2, [r3, #-56] ; 0xffffffc8 80ca43a: ee2f 2b06 vmul.f64 d2, d15, d6 80ca43e: ee0d 2b05 vmla.f64 d2, d13, d5 80ca442: ee0c 2b04 vmla.f64 d2, d12, d4 80ca446: ed03 3b0c vstr d3, [r3, #-48] ; 0xffffffd0 80ca44a: ed9d 3b02 vldr d3, [sp, #8] 80ca44e: ed03 3b0a vstr d3, [r3, #-40] ; 0xffffffd8 80ca452: ed9d 5b00 vldr d5, [sp] 80ca456: ed03 5b08 vstr d5, [r3, #-32] ; 0xffffffe0 80ca45a: ed03 6b06 vstr d6, [r3, #-24] ; 0xffffffe8 80ca45e: ee0e 2b07 vmla.f64 d2, d14, d7 80ca462: ed9d 8b0e vldr d8, [sp, #56] ; 0x38 80ca466: ee0a 2b08 vmla.f64 d2, d10, d8 80ca46a: ed03 7b04 vstr d7, [r3, #-16] 80ca46e: ee2f 6b07 vmul.f64 d6, d15, d7 80ca472: ee0d 6b04 vmla.f64 d6, d13, d4 80ca476: ee0c 6b08 vmla.f64 d6, d12, d8 80ca47a: ed03 2b02 vstr d2, [r3, #-8] 80ca47e: ee0e 6b02 vmla.f64 d6, d14, d2 80ca482: ee2f 2b02 vmul.f64 d2, d15, d2 80ca486: ee0d 2b08 vmla.f64 d2, d13, d8 80ca48a: 3080 adds r0, #128 ; 0x80 80ca48c: 3380 adds r3, #128 ; 0x80 80ca48e: f1be 0e01 subs.w lr, lr, #1 80ca492: f47f aed4 bne.w 80ca23e 80ca496: eeb0 7b42 vmov.f64 d7, d2 80ca49a: 4451 add r1, sl 80ca49c: 4658 mov r0, fp 80ca49e: e000 b.n 80ca4a2 80ca4a0: 4640 mov r0, r8 80ca4a2: 4613 mov r3, r2 80ca4a4: b19a cbz r2, 80ca4ce 80ca4a6: ecb1 5b02 vldmia r1!, {d5} 80ca4aa: ee0a 6b05 vmla.f64 d6, d10, d5 80ca4ae: eeb0 4b46 vmov.f64 d4, d6 80ca4b2: ee0c 7b05 vmla.f64 d7, d12, d5 80ca4b6: eca0 6b02 vstmia r0!, {d6} 80ca4ba: ee0e 7b06 vmla.f64 d7, d14, d6 80ca4be: eeb0 6b47 vmov.f64 d6, d7 80ca4c2: ee2f 7b04 vmul.f64 d7, d15, d4 80ca4c6: ee0d 7b05 vmla.f64 d7, d13, d5 80ca4ca: 3b01 subs r3, #1 80ca4cc: d1eb bne.n 80ca4a6 80ca4ce: ed04 6b04 vstr d6, [r4, #-16] 80ca4d2: ed04 7b02 vstr d7, [r4, #-8] 80ca4d6: 3528 adds r5, #40 ; 0x28 80ca4d8: 3610 adds r6, #16 80ca4da: 4641 mov r1, r8 80ca4dc: 3f01 subs r7, #1 80ca4de: f47f ae93 bne.w 80ca208 80ca4e2: b013 add sp, #76 ; 0x4c 80ca4e4: ecbd 8b10 vpop {d8-d15} 80ca4e8: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 080ca4ec : 80ca4ec: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80ca4f0: ea5f 0892 movs.w r8, r2, lsr #2 80ca4f4: b084 sub sp, #16 80ca4f6: d07f beq.n 80ca5f8 80ca4f8: f100 0420 add.w r4, r0, #32 80ca4fc: f101 0510 add.w r5, r1, #16 80ca500: 4646 mov r6, r8 80ca502: 2700 movs r7, #0 80ca504: e05a b.n 80ca5bc 80ca506: eeb1 0ae7 vsqrt.f32 s0, s15 80ca50a: eeb4 0a40 vcmp.f32 s0, s0 80ca50e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca512: f040 80a4 bne.w 80ca65e 80ca516: ed05 0a04 vstr s0, [r5, #-16] 80ca51a: ed54 7a06 vldr s15, [r4, #-24] ; 0xffffffe8 80ca51e: ed14 0a05 vldr s0, [r4, #-20] ; 0xffffffec 80ca522: ee67 7aa7 vmul.f32 s15, s15, s15 80ca526: ee20 0a00 vmul.f32 s0, s0, s0 80ca52a: ee77 7a80 vadd.f32 s15, s15, s0 80ca52e: eef5 7ac0 vcmpe.f32 s15, #0.0 80ca532: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca536: f2c0 808f blt.w 80ca658 80ca53a: eeb1 0ae7 vsqrt.f32 s0, s15 80ca53e: eeb4 0a40 vcmp.f32 s0, s0 80ca542: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca546: f040 80af bne.w 80ca6a8 80ca54a: ed05 0a03 vstr s0, [r5, #-12] 80ca54e: ed54 7a04 vldr s15, [r4, #-16] 80ca552: ed14 0a03 vldr s0, [r4, #-12] 80ca556: ee67 7aa7 vmul.f32 s15, s15, s15 80ca55a: ee20 0a00 vmul.f32 s0, s0, s0 80ca55e: ee77 7a80 vadd.f32 s15, s15, s0 80ca562: eef5 7ac0 vcmpe.f32 s15, #0.0 80ca566: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca56a: db72 blt.n 80ca652 80ca56c: eeb1 0ae7 vsqrt.f32 s0, s15 80ca570: eeb4 0a40 vcmp.f32 s0, s0 80ca574: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca578: f040 808c bne.w 80ca694 80ca57c: ed05 0a02 vstr s0, [r5, #-8] 80ca580: ed54 7a02 vldr s15, [r4, #-8] 80ca584: ed14 0a01 vldr s0, [r4, #-4] 80ca588: ee67 7aa7 vmul.f32 s15, s15, s15 80ca58c: ee20 0a00 vmul.f32 s0, s0, s0 80ca590: ee77 7a80 vadd.f32 s15, s15, s0 80ca594: eef5 7ac0 vcmpe.f32 s15, #0.0 80ca598: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca59c: db20 blt.n 80ca5e0 80ca59e: eeb1 0ae7 vsqrt.f32 s0, s15 80ca5a2: eeb4 0a40 vcmp.f32 s0, s0 80ca5a6: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca5aa: d169 bne.n 80ca680 80ca5ac: 3e01 subs r6, #1 80ca5ae: ed05 0a01 vstr s0, [r5, #-4] 80ca5b2: f104 0420 add.w r4, r4, #32 80ca5b6: f105 0510 add.w r5, r5, #16 80ca5ba: d019 beq.n 80ca5f0 80ca5bc: ed54 7a08 vldr s15, [r4, #-32] ; 0xffffffe0 80ca5c0: ed14 0a07 vldr s0, [r4, #-28] ; 0xffffffe4 80ca5c4: ee67 7aa7 vmul.f32 s15, s15, s15 80ca5c8: ee20 0a00 vmul.f32 s0, s0, s0 80ca5cc: ee77 7a80 vadd.f32 s15, s15, s0 80ca5d0: eef5 7ac0 vcmpe.f32 s15, #0.0 80ca5d4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca5d8: da95 bge.n 80ca506 80ca5da: f845 7c10 str.w r7, [r5, #-16] 80ca5de: e79c b.n 80ca51a 80ca5e0: 3e01 subs r6, #1 80ca5e2: f845 7c04 str.w r7, [r5, #-4] 80ca5e6: f104 0420 add.w r4, r4, #32 80ca5ea: f105 0510 add.w r5, r5, #16 80ca5ee: d1e5 bne.n 80ca5bc 80ca5f0: eb00 1048 add.w r0, r0, r8, lsl #5 80ca5f4: eb01 1108 add.w r1, r1, r8, lsl #4 80ca5f8: f012 0503 ands.w r5, r2, #3 80ca5fc: d026 beq.n 80ca64c 80ca5fe: f100 0408 add.w r4, r0, #8 80ca602: 2600 movs r6, #0 80ca604: e00c b.n 80ca620 80ca606: eeb1 0ae7 vsqrt.f32 s0, s15 80ca60a: eeb4 0a40 vcmp.f32 s0, s0 80ca60e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca612: d12e bne.n 80ca672 80ca614: 3d01 subs r5, #1 80ca616: ed01 0a01 vstr s0, [r1, #-4] 80ca61a: f104 0408 add.w r4, r4, #8 80ca61e: d015 beq.n 80ca64c 80ca620: ed54 7a02 vldr s15, [r4, #-8] 80ca624: 3104 adds r1, #4 80ca626: ed14 0a01 vldr s0, [r4, #-4] 80ca62a: ee67 7aa7 vmul.f32 s15, s15, s15 80ca62e: ee20 0a00 vmul.f32 s0, s0, s0 80ca632: ee77 7a80 vadd.f32 s15, s15, s0 80ca636: eef5 7ac0 vcmpe.f32 s15, #0.0 80ca63a: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca63e: dae2 bge.n 80ca606 80ca640: 3d01 subs r5, #1 80ca642: f841 6c04 str.w r6, [r1, #-4] 80ca646: f104 0408 add.w r4, r4, #8 80ca64a: d1e9 bne.n 80ca620 80ca64c: b004 add sp, #16 80ca64e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80ca652: f845 7c08 str.w r7, [r5, #-8] 80ca656: e793 b.n 80ca580 80ca658: f845 7c0c str.w r7, [r5, #-12] 80ca65c: e777 b.n 80ca54e 80ca65e: eeb0 0a67 vmov.f32 s0, s15 80ca662: 9203 str r2, [sp, #12] 80ca664: 9102 str r1, [sp, #8] 80ca666: 9001 str r0, [sp, #4] 80ca668: f000 fe0a bl 80cb280 80ca66c: a801 add r0, sp, #4 80ca66e: c807 ldmia r0, {r0, r1, r2} 80ca670: e751 b.n 80ca516 80ca672: eeb0 0a67 vmov.f32 s0, s15 80ca676: 9101 str r1, [sp, #4] 80ca678: f000 fe02 bl 80cb280 80ca67c: 9901 ldr r1, [sp, #4] 80ca67e: e7c9 b.n 80ca614 80ca680: eeb0 0a67 vmov.f32 s0, s15 80ca684: 9203 str r2, [sp, #12] 80ca686: 9102 str r1, [sp, #8] 80ca688: 9001 str r0, [sp, #4] 80ca68a: f000 fdf9 bl 80cb280 80ca68e: a801 add r0, sp, #4 80ca690: c807 ldmia r0, {r0, r1, r2} 80ca692: e78b b.n 80ca5ac 80ca694: eeb0 0a67 vmov.f32 s0, s15 80ca698: 9203 str r2, [sp, #12] 80ca69a: 9102 str r1, [sp, #8] 80ca69c: 9001 str r0, [sp, #4] 80ca69e: f000 fdef bl 80cb280 80ca6a2: a801 add r0, sp, #4 80ca6a4: c807 ldmia r0, {r0, r1, r2} 80ca6a6: e769 b.n 80ca57c 80ca6a8: eeb0 0a67 vmov.f32 s0, s15 80ca6ac: 9203 str r2, [sp, #12] 80ca6ae: 9102 str r1, [sp, #8] 80ca6b0: 9001 str r0, [sp, #4] 80ca6b2: f000 fde5 bl 80cb280 80ca6b6: a801 add r0, sp, #4 80ca6b8: c807 ldmia r0, {r0, r1, r2} 80ca6ba: e746 b.n 80ca54a 080ca6bc : 80ca6bc: b5f0 push {r4, r5, r6, r7, lr} 80ca6be: ea5f 0e93 movs.w lr, r3, lsr #2 80ca6c2: d033 beq.n 80ca72c 80ca6c4: f100 0610 add.w r6, r0, #16 80ca6c8: f101 0510 add.w r5, r1, #16 80ca6cc: f102 0410 add.w r4, r2, #16 80ca6d0: 4677 mov r7, lr 80ca6d2: ed16 7a03 vldr s14, [r6, #-12] 80ca6d6: 3f01 subs r7, #1 80ca6d8: ed56 7a02 vldr s15, [r6, #-8] 80ca6dc: f105 0510 add.w r5, r5, #16 80ca6e0: ed15 6a07 vldr s12, [r5, #-28] ; 0xffffffe4 80ca6e4: f106 0610 add.w r6, r6, #16 80ca6e8: ed55 6a06 vldr s13, [r5, #-24] ; 0xffffffe8 80ca6ec: f104 0410 add.w r4, r4, #16 80ca6f0: ed15 5a05 vldr s10, [r5, #-20] ; 0xffffffec 80ca6f4: ee37 6a46 vsub.f32 s12, s14, s12 80ca6f8: ed55 5a08 vldr s11, [r5, #-32] ; 0xffffffe0 80ca6fc: ee77 6ae6 vsub.f32 s13, s15, s13 80ca700: ed16 7a05 vldr s14, [r6, #-20] ; 0xffffffec 80ca704: ed56 7a08 vldr s15, [r6, #-32] ; 0xffffffe0 80ca708: ee37 7a45 vsub.f32 s14, s14, s10 80ca70c: ed04 6a07 vstr s12, [r4, #-28] ; 0xffffffe4 80ca710: ee77 7ae5 vsub.f32 s15, s15, s11 80ca714: ed44 6a06 vstr s13, [r4, #-24] ; 0xffffffe8 80ca718: ed04 7a05 vstr s14, [r4, #-20] ; 0xffffffec 80ca71c: ed44 7a08 vstr s15, [r4, #-32] ; 0xffffffe0 80ca720: d1d7 bne.n 80ca6d2 80ca722: ea4f 140e mov.w r4, lr, lsl #4 80ca726: 4420 add r0, r4 80ca728: 4421 add r1, r4 80ca72a: 4422 add r2, r4 80ca72c: f013 0303 ands.w r3, r3, #3 80ca730: d009 beq.n 80ca746 80ca732: ecf0 7a01 vldmia r0!, {s15} 80ca736: 3b01 subs r3, #1 80ca738: ecb1 7a01 vldmia r1!, {s14} 80ca73c: ee77 7ac7 vsub.f32 s15, s15, s14 80ca740: ece2 7a01 vstmia r2!, {s15} 80ca744: d1f5 bne.n 80ca732 80ca746: bdf0 pop {r4, r5, r6, r7, pc} 080ca748 : 80ca748: b470 push {r4, r5, r6} 80ca74a: 0896 lsrs r6, r2, #2 80ca74c: d025 beq.n 80ca79a 80ca74e: f100 0410 add.w r4, r0, #16 80ca752: f101 0310 add.w r3, r1, #16 80ca756: 4635 mov r5, r6 80ca758: ed14 6a04 vldr s12, [r4, #-16] 80ca75c: 3d01 subs r5, #1 80ca75e: ed54 6a03 vldr s13, [r4, #-12] 80ca762: f103 0310 add.w r3, r3, #16 80ca766: ed14 7a02 vldr s14, [r4, #-8] 80ca76a: ee26 6a00 vmul.f32 s12, s12, s0 80ca76e: ed54 7a01 vldr s15, [r4, #-4] 80ca772: ee66 6a80 vmul.f32 s13, s13, s0 80ca776: ee27 7a00 vmul.f32 s14, s14, s0 80ca77a: f104 0410 add.w r4, r4, #16 80ca77e: ee67 7a80 vmul.f32 s15, s15, s0 80ca782: ed03 6a08 vstr s12, [r3, #-32] ; 0xffffffe0 80ca786: ed43 6a07 vstr s13, [r3, #-28] ; 0xffffffe4 80ca78a: ed03 7a06 vstr s14, [r3, #-24] ; 0xffffffe8 80ca78e: ed43 7a05 vstr s15, [r3, #-20] ; 0xffffffec 80ca792: d1e1 bne.n 80ca758 80ca794: 0136 lsls r6, r6, #4 80ca796: 4430 add r0, r6 80ca798: 4431 add r1, r6 80ca79a: f012 0203 ands.w r2, r2, #3 80ca79e: d007 beq.n 80ca7b0 80ca7a0: ecf0 7a01 vldmia r0!, {s15} 80ca7a4: 3a01 subs r2, #1 80ca7a6: ee67 7a80 vmul.f32 s15, s15, s0 80ca7aa: ece1 7a01 vstmia r1!, {s15} 80ca7ae: d1f7 bne.n 80ca7a0 80ca7b0: bc70 pop {r4, r5, r6} 80ca7b2: 4770 bx lr 080ca7b4 : 80ca7b4: b470 push {r4, r5, r6} 80ca7b6: 0896 lsrs r6, r2, #2 80ca7b8: d025 beq.n 80ca806 80ca7ba: f100 0410 add.w r4, r0, #16 80ca7be: f101 0310 add.w r3, r1, #16 80ca7c2: 4635 mov r5, r6 80ca7c4: ed14 6a04 vldr s12, [r4, #-16] 80ca7c8: 3d01 subs r5, #1 80ca7ca: ed54 6a03 vldr s13, [r4, #-12] 80ca7ce: f103 0310 add.w r3, r3, #16 80ca7d2: ed14 7a02 vldr s14, [r4, #-8] 80ca7d6: ee36 6a00 vadd.f32 s12, s12, s0 80ca7da: ed54 7a01 vldr s15, [r4, #-4] 80ca7de: ee76 6a80 vadd.f32 s13, s13, s0 80ca7e2: ee37 7a00 vadd.f32 s14, s14, s0 80ca7e6: f104 0410 add.w r4, r4, #16 80ca7ea: ee77 7a80 vadd.f32 s15, s15, s0 80ca7ee: ed03 6a08 vstr s12, [r3, #-32] ; 0xffffffe0 80ca7f2: ed43 6a07 vstr s13, [r3, #-28] ; 0xffffffe4 80ca7f6: ed03 7a06 vstr s14, [r3, #-24] ; 0xffffffe8 80ca7fa: ed43 7a05 vstr s15, [r3, #-20] ; 0xffffffec 80ca7fe: d1e1 bne.n 80ca7c4 80ca800: 0136 lsls r6, r6, #4 80ca802: 4430 add r0, r6 80ca804: 4431 add r1, r6 80ca806: f012 0203 ands.w r2, r2, #3 80ca80a: d007 beq.n 80ca81c 80ca80c: ecf0 7a01 vldmia r0!, {s15} 80ca810: 3a01 subs r2, #1 80ca812: ee77 7a80 vadd.f32 s15, s15, s0 80ca816: ece1 7a01 vstmia r1!, {s15} 80ca81a: d1f7 bne.n 80ca80c 80ca81c: bc70 pop {r4, r5, r6} 80ca81e: 4770 bx lr 080ca820 : 80ca820: b5f0 push {r4, r5, r6, r7, lr} 80ca822: ea5f 0e93 movs.w lr, r3, lsr #2 80ca826: d033 beq.n 80ca890 80ca828: f100 0610 add.w r6, r0, #16 80ca82c: f101 0510 add.w r5, r1, #16 80ca830: f102 0410 add.w r4, r2, #16 80ca834: 4677 mov r7, lr 80ca836: ed16 7a04 vldr s14, [r6, #-16] 80ca83a: 3f01 subs r7, #1 80ca83c: ed15 6a04 vldr s12, [r5, #-16] 80ca840: f106 0610 add.w r6, r6, #16 80ca844: ed56 7a06 vldr s15, [r6, #-24] ; 0xffffffe8 80ca848: f105 0510 add.w r5, r5, #16 80ca84c: ee27 6a06 vmul.f32 s12, s14, s12 80ca850: ed55 6a06 vldr s13, [r5, #-24] ; 0xffffffe8 80ca854: ed16 7a07 vldr s14, [r6, #-28] ; 0xffffffe4 80ca858: f104 0410 add.w r4, r4, #16 80ca85c: ed55 5a07 vldr s11, [r5, #-28] ; 0xffffffe4 80ca860: ee67 6aa6 vmul.f32 s13, s15, s13 80ca864: ed56 7a05 vldr s15, [r6, #-20] ; 0xffffffec 80ca868: ed04 6a08 vstr s12, [r4, #-32] ; 0xffffffe0 80ca86c: ee27 7a25 vmul.f32 s14, s14, s11 80ca870: ed15 6a05 vldr s12, [r5, #-20] ; 0xffffffec 80ca874: ed44 6a06 vstr s13, [r4, #-24] ; 0xffffffe8 80ca878: ee67 7a86 vmul.f32 s15, s15, s12 80ca87c: ed04 7a07 vstr s14, [r4, #-28] ; 0xffffffe4 80ca880: ed44 7a05 vstr s15, [r4, #-20] ; 0xffffffec 80ca884: d1d7 bne.n 80ca836 80ca886: ea4f 140e mov.w r4, lr, lsl #4 80ca88a: 4420 add r0, r4 80ca88c: 4421 add r1, r4 80ca88e: 4422 add r2, r4 80ca890: f013 0303 ands.w r3, r3, #3 80ca894: d009 beq.n 80ca8aa 80ca896: ecf0 7a01 vldmia r0!, {s15} 80ca89a: 3b01 subs r3, #1 80ca89c: ecb1 7a01 vldmia r1!, {s14} 80ca8a0: ee67 7a87 vmul.f32 s15, s15, s14 80ca8a4: ece2 7a01 vstmia r2!, {s15} 80ca8a8: d1f5 bne.n 80ca896 80ca8aa: bdf0 pop {r4, r5, r6, r7, pc} 080ca8ac : 80ca8ac: b5f0 push {r4, r5, r6, r7, lr} 80ca8ae: ea5f 0e93 movs.w lr, r3, lsr #2 80ca8b2: d033 beq.n 80ca91c 80ca8b4: f100 0610 add.w r6, r0, #16 80ca8b8: f101 0510 add.w r5, r1, #16 80ca8bc: f102 0410 add.w r4, r2, #16 80ca8c0: 4677 mov r7, lr 80ca8c2: ed16 7a03 vldr s14, [r6, #-12] 80ca8c6: 3f01 subs r7, #1 80ca8c8: ed56 7a02 vldr s15, [r6, #-8] 80ca8cc: f105 0510 add.w r5, r5, #16 80ca8d0: ed15 6a07 vldr s12, [r5, #-28] ; 0xffffffe4 80ca8d4: f106 0610 add.w r6, r6, #16 80ca8d8: ed55 6a06 vldr s13, [r5, #-24] ; 0xffffffe8 80ca8dc: f104 0410 add.w r4, r4, #16 80ca8e0: ed15 5a05 vldr s10, [r5, #-20] ; 0xffffffec 80ca8e4: ee37 6a06 vadd.f32 s12, s14, s12 80ca8e8: ed55 5a08 vldr s11, [r5, #-32] ; 0xffffffe0 80ca8ec: ee77 6aa6 vadd.f32 s13, s15, s13 80ca8f0: ed16 7a05 vldr s14, [r6, #-20] ; 0xffffffec 80ca8f4: ed56 7a08 vldr s15, [r6, #-32] ; 0xffffffe0 80ca8f8: ee37 7a05 vadd.f32 s14, s14, s10 80ca8fc: ed04 6a07 vstr s12, [r4, #-28] ; 0xffffffe4 80ca900: ee77 7aa5 vadd.f32 s15, s15, s11 80ca904: ed44 6a06 vstr s13, [r4, #-24] ; 0xffffffe8 80ca908: ed04 7a05 vstr s14, [r4, #-20] ; 0xffffffec 80ca90c: ed44 7a08 vstr s15, [r4, #-32] ; 0xffffffe0 80ca910: d1d7 bne.n 80ca8c2 80ca912: ea4f 140e mov.w r4, lr, lsl #4 80ca916: 4420 add r0, r4 80ca918: 4421 add r1, r4 80ca91a: 4422 add r2, r4 80ca91c: f013 0303 ands.w r3, r3, #3 80ca920: d009 beq.n 80ca936 80ca922: ecf0 7a01 vldmia r0!, {s15} 80ca926: 3b01 subs r3, #1 80ca928: ecb1 7a01 vldmia r1!, {s14} 80ca92c: ee77 7a87 vadd.f32 s15, s15, s14 80ca930: ece2 7a01 vstmia r2!, {s15} 80ca934: d1f5 bne.n 80ca922 80ca936: bdf0 pop {r4, r5, r6, r7, pc} 080ca938 : 80ca938: f000 b806 b.w 80ca948 080ca93c : 80ca93c: f000 b8fc b.w 80cab38 080ca940 : 80ca940: f000 b9ca b.w 80cacd8 080ca944 : 80ca944: f000 ba38 b.w 80cadb8 080ca948 : 80ca948: b538 push {r3, r4, r5, lr} 80ca94a: eeb0 7b40 vmov.f64 d7, d0 80ca94e: ee17 5a90 vmov r5, s15 80ca952: 4b71 ldr r3, [pc, #452] ; (80cab18 ) 80ca954: f025 4400 bic.w r4, r5, #2147483648 ; 0x80000000 80ca958: 429c cmp r4, r3 80ca95a: dd14 ble.n 80ca986 80ca95c: 4a6f ldr r2, [pc, #444] ; (80cab1c ) 80ca95e: 4294 cmp r4, r2 80ca960: ee10 3a10 vmov r3, s0 80ca964: dc01 bgt.n 80ca96a 80ca966: d105 bne.n 80ca974 80ca968: b123 cbz r3, 80ca974 80ca96a: ee37 7b07 vadd.f64 d7, d7, d7 80ca96e: eeb0 0b47 vmov.f64 d0, d7 80ca972: bd38 pop {r3, r4, r5, pc} 80ca974: ed9f 7b4c vldr d7, [pc, #304] ; 80caaa8 80ca978: ed9f 6b4d vldr d6, [pc, #308] ; 80caab0 80ca97c: 2d00 cmp r5, #0 80ca97e: bfc8 it gt 80ca980: eeb0 7b46 vmovgt.f64 d7, d6 80ca984: e7f3 b.n 80ca96e 80ca986: 4b66 ldr r3, [pc, #408] ; (80cab20 ) 80ca988: 429c cmp r4, r3 80ca98a: dc11 bgt.n 80ca9b0 80ca98c: f1a3 73de sub.w r3, r3, #29097984 ; 0x1bc0000 80ca990: 429c cmp r4, r3 80ca992: dc0a bgt.n 80ca9aa 80ca994: eeb7 5b00 vmov.f64 d5, #112 ; 0x3f800000 1.0 80ca998: ed9f 6b47 vldr d6, [pc, #284] ; 80caab8 80ca99c: ee30 6b06 vadd.f64 d6, d0, d6 80ca9a0: eeb4 6bc5 vcmpe.f64 d6, d5 80ca9a4: eef1 fa10 vmrs APSR_nzcv, fpscr 80ca9a8: dce1 bgt.n 80ca96e 80ca9aa: f04f 33ff mov.w r3, #4294967295 80ca9ae: e013 b.n 80ca9d8 80ca9b0: f000 f8fe bl 80cabb0 80ca9b4: 4b5b ldr r3, [pc, #364] ; (80cab24 ) 80ca9b6: 429c cmp r4, r3 80ca9b8: dc4d bgt.n 80caa56 80ca9ba: f5a3 2350 sub.w r3, r3, #851968 ; 0xd0000 80ca9be: 429c cmp r4, r3 80ca9c0: dc3f bgt.n 80caa42 80ca9c2: eeb0 7b00 vmov.f64 d7, #0 ; 0x40000000 2.0 80ca9c6: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80ca9ca: 2300 movs r3, #0 80ca9cc: eea0 6b07 vfma.f64 d6, d0, d7 80ca9d0: ee30 0b07 vadd.f64 d0, d0, d7 80ca9d4: ee86 7b00 vdiv.f64 d7, d6, d0 80ca9d8: ed9f 5b39 vldr d5, [pc, #228] ; 80caac0 80ca9dc: ee27 4b07 vmul.f64 d4, d7, d7 80ca9e0: ee24 6b04 vmul.f64 d6, d4, d4 80ca9e4: ed9f 3b38 vldr d3, [pc, #224] ; 80caac8 80ca9e8: eea6 3b05 vfma.f64 d3, d6, d5 80ca9ec: ed9f 5b38 vldr d5, [pc, #224] ; 80caad0 80ca9f0: eea6 5b03 vfma.f64 d5, d6, d3 80ca9f4: ed9f 3b38 vldr d3, [pc, #224] ; 80caad8 80ca9f8: eea6 3b05 vfma.f64 d3, d6, d5 80ca9fc: ed9f 5b38 vldr d5, [pc, #224] ; 80caae0 80caa00: eea6 5b03 vfma.f64 d5, d6, d3 80caa04: ed9f 3b38 vldr d3, [pc, #224] ; 80caae8 80caa08: ed9f 2b39 vldr d2, [pc, #228] ; 80caaf0 80caa0c: eea6 3b05 vfma.f64 d3, d6, d5 80caa10: ed9f 5b39 vldr d5, [pc, #228] ; 80caaf8 80caa14: eea6 2b05 vfma.f64 d2, d6, d5 80caa18: ed9f 5b39 vldr d5, [pc, #228] ; 80cab00 80caa1c: eea6 5b02 vfma.f64 d5, d6, d2 80caa20: ed9f 2b39 vldr d2, [pc, #228] ; 80cab08 80caa24: eea6 2b05 vfma.f64 d2, d6, d5 80caa28: ed9f 5b39 vldr d5, [pc, #228] ; 80cab10 80caa2c: 1c5a adds r2, r3, #1 80caa2e: eea6 5b02 vfma.f64 d5, d6, d2 80caa32: ee25 6b06 vmul.f64 d6, d5, d6 80caa36: ee03 6b04 vmla.f64 d6, d3, d4 80caa3a: d121 bne.n 80caa80 80caa3c: eea7 7b46 vfms.f64 d7, d7, d6 80caa40: e795 b.n 80ca96e 80caa42: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80caa46: 2301 movs r3, #1 80caa48: ee30 6b47 vsub.f64 d6, d0, d7 80caa4c: ee30 0b07 vadd.f64 d0, d0, d7 80caa50: ee86 7b00 vdiv.f64 d7, d6, d0 80caa54: e7c0 b.n 80ca9d8 80caa56: 4b34 ldr r3, [pc, #208] ; (80cab28 ) 80caa58: 429c cmp r4, r3 80caa5a: dc0b bgt.n 80caa74 80caa5c: eeb7 7b08 vmov.f64 d7, #120 ; 0x3fc00000 1.5 80caa60: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80caa64: ee30 5b47 vsub.f64 d5, d0, d7 80caa68: eea0 6b07 vfma.f64 d6, d0, d7 80caa6c: 2302 movs r3, #2 80caa6e: ee85 7b06 vdiv.f64 d7, d5, d6 80caa72: e7b1 b.n 80ca9d8 80caa74: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80caa78: 2303 movs r3, #3 80caa7a: ee86 7b00 vdiv.f64 d7, d6, d0 80caa7e: e7ab b.n 80ca9d8 80caa80: 4a2a ldr r2, [pc, #168] ; (80cab2c ) 80caa82: 492b ldr r1, [pc, #172] ; (80cab30 ) 80caa84: 00db lsls r3, r3, #3 80caa86: 441a add r2, r3 80caa88: 440b add r3, r1 80caa8a: ed93 5b00 vldr d5, [r3] 80caa8e: ee97 5b06 vfnms.f64 d5, d7, d6 80caa92: ed92 6b00 vldr d6, [r2] 80caa96: ee35 7b47 vsub.f64 d7, d5, d7 80caa9a: 2d00 cmp r5, #0 80caa9c: ee36 7b47 vsub.f64 d7, d6, d7 80caaa0: bfb8 it lt 80caaa2: eeb1 7b47 vneglt.f64 d7, d7 80caaa6: e762 b.n 80ca96e 80caaa8: 54442d18 .word 0x54442d18 80caaac: bff921fb .word 0xbff921fb 80caab0: 54442d18 .word 0x54442d18 80caab4: 3ff921fb .word 0x3ff921fb 80caab8: 8800759c .word 0x8800759c 80caabc: 7e37e43c .word 0x7e37e43c 80caac0: e322da11 .word 0xe322da11 80caac4: 3f90ad3a .word 0x3f90ad3a 80caac8: 24760deb .word 0x24760deb 80caacc: 3fa97b4b .word 0x3fa97b4b 80caad0: a0d03d51 .word 0xa0d03d51 80caad4: 3fb10d66 .word 0x3fb10d66 80caad8: c54c206e .word 0xc54c206e 80caadc: 3fb745cd .word 0x3fb745cd 80caae0: 920083ff .word 0x920083ff 80caae4: 3fc24924 .word 0x3fc24924 80caae8: 5555550d .word 0x5555550d 80caaec: 3fd55555 .word 0x3fd55555 80caaf0: 52defd9a .word 0x52defd9a 80caaf4: bfadde2d .word 0xbfadde2d 80caaf8: 2c6a6c2f .word 0x2c6a6c2f 80caafc: bfa2b444 .word 0xbfa2b444 80cab00: af749a6d .word 0xaf749a6d 80cab04: bfb3b0f2 .word 0xbfb3b0f2 80cab08: fe231671 .word 0xfe231671 80cab0c: bfbc71c6 .word 0xbfbc71c6 80cab10: 9998ebc4 .word 0x9998ebc4 80cab14: bfc99999 .word 0xbfc99999 80cab18: 440fffff .word 0x440fffff 80cab1c: 7ff00000 .word 0x7ff00000 80cab20: 3fdbffff .word 0x3fdbffff 80cab24: 3ff2ffff .word 0x3ff2ffff 80cab28: 40037fff .word 0x40037fff 80cab2c: 08186610 .word 0x08186610 80cab30: 08186630 .word 0x08186630 80cab34: 00000000 .word 0x00000000 080cab38 : 80cab38: b51f push {r0, r1, r2, r3, r4, lr} 80cab3a: eeb0 7b40 vmov.f64 d7, d0 80cab3e: ee17 3a90 vmov r3, s15 80cab42: 4a19 ldr r2, [pc, #100] ; (80caba8 ) 80cab44: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80cab48: 4293 cmp r3, r2 80cab4a: dc04 bgt.n 80cab56 80cab4c: ed9f 1b14 vldr d1, [pc, #80] ; 80caba0 80cab50: f001 fbfe bl 80cc350 <__kernel_cos> 80cab54: e004 b.n 80cab60 80cab56: 4a15 ldr r2, [pc, #84] ; (80cabac ) 80cab58: 4293 cmp r3, r2 80cab5a: dd04 ble.n 80cab66 80cab5c: ee30 0b40 vsub.f64 d0, d0, d0 80cab60: b005 add sp, #20 80cab62: f85d fb04 ldr.w pc, [sp], #4 80cab66: 4668 mov r0, sp 80cab68: f001 f882 bl 80cbc70 <__ieee754_rem_pio2> 80cab6c: f000 0003 and.w r0, r0, #3 80cab70: 2801 cmp r0, #1 80cab72: ed9d 1b02 vldr d1, [sp, #8] 80cab76: ed9d 0b00 vldr d0, [sp] 80cab7a: d007 beq.n 80cab8c 80cab7c: 2802 cmp r0, #2 80cab7e: d00a beq.n 80cab96 80cab80: 2800 cmp r0, #0 80cab82: d0e5 beq.n 80cab50 80cab84: 2001 movs r0, #1 80cab86: f001 fec3 bl 80cc910 <__kernel_sin> 80cab8a: e7e9 b.n 80cab60 80cab8c: f001 fec0 bl 80cc910 <__kernel_sin> 80cab90: eeb1 0b40 vneg.f64 d0, d0 80cab94: e7e4 b.n 80cab60 80cab96: f001 fbdb bl 80cc350 <__kernel_cos> 80cab9a: e7f9 b.n 80cab90 80cab9c: f3af 8000 nop.w ... 80caba8: 3fe921fb .word 0x3fe921fb 80cabac: 7fefffff .word 0x7fefffff 080cabb0 : 80cabb0: ec53 2b10 vmov r2, r3, d0 80cabb4: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80cabb8: ec43 2b10 vmov d0, r2, r3 80cabbc: 4770 bx lr ... 080cabc0 : 80cabc0: b51f push {r0, r1, r2, r3, r4, lr} 80cabc2: eeb0 7b40 vmov.f64 d7, d0 80cabc6: ee17 3a90 vmov r3, s15 80cabca: 4a13 ldr r2, [pc, #76] ; (80cac18 ) 80cabcc: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80cabd0: 4293 cmp r3, r2 80cabd2: dc05 bgt.n 80cabe0 80cabd4: ed9f 1b0e vldr d1, [pc, #56] ; 80cac10 80cabd8: 2001 movs r0, #1 80cabda: f001 fef1 bl 80cc9c0 <__kernel_tan> 80cabde: e004 b.n 80cabea 80cabe0: 4a0e ldr r2, [pc, #56] ; (80cac1c ) 80cabe2: 4293 cmp r3, r2 80cabe4: dd04 ble.n 80cabf0 80cabe6: ee30 0b40 vsub.f64 d0, d0, d0 80cabea: b005 add sp, #20 80cabec: f85d fb04 ldr.w pc, [sp], #4 80cabf0: 4668 mov r0, sp 80cabf2: f001 f83d bl 80cbc70 <__ieee754_rem_pio2> 80cabf6: 0040 lsls r0, r0, #1 80cabf8: f000 0002 and.w r0, r0, #2 80cabfc: f1c0 0001 rsb r0, r0, #1 80cac00: ed9d 1b02 vldr d1, [sp, #8] 80cac04: ed9d 0b00 vldr d0, [sp] 80cac08: e7e7 b.n 80cabda 80cac0a: bf00 nop 80cac0c: f3af 8000 nop.w ... 80cac18: 3fe921fb .word 0x3fe921fb 80cac1c: 7fefffff .word 0x7fefffff 080cac20 : 80cac20: b508 push {r3, lr} 80cac22: f000 fa49 bl 80cb0b8 80cac26: eddf 7a02 vldr s15, [pc, #8] ; 80cac30 80cac2a: ee80 0a27 vdiv.f32 s0, s0, s15 80cac2e: bd08 pop {r3, pc} 80cac30: 3f317218 .word 0x3f317218 080cac34 : 80cac34: ee10 2a10 vmov r2, s0 80cac38: f3c2 51c7 ubfx r1, r2, #23, #8 80cac3c: 397f subs r1, #127 ; 0x7f 80cac3e: 2916 cmp r1, #22 80cac40: b510 push {r4, lr} 80cac42: ee10 3a10 vmov r3, s0 80cac46: dc0c bgt.n 80cac62 80cac48: 2900 cmp r1, #0 80cac4a: da05 bge.n 80cac58 80cac4c: f002 4300 and.w r3, r2, #2147483648 ; 0x80000000 80cac50: 6003 str r3, [r0, #0] 80cac52: ee00 2a10 vmov s0, r2 80cac56: bd10 pop {r4, pc} 80cac58: 4c09 ldr r4, [pc, #36] ; (80cac80 ) 80cac5a: fa44 f101 asr.w r1, r4, r1 80cac5e: 420a tst r2, r1 80cac60: d103 bne.n 80cac6a 80cac62: 6002 str r2, [r0, #0] 80cac64: f003 4200 and.w r2, r3, #2147483648 ; 0x80000000 80cac68: e7f3 b.n 80cac52 80cac6a: ea22 0301 bic.w r3, r2, r1 80cac6e: ee07 3a10 vmov s14, r3 80cac72: ee70 7a47 vsub.f32 s15, s0, s14 80cac76: 6003 str r3, [r0, #0] 80cac78: ee17 2a90 vmov r2, s15 80cac7c: e7e9 b.n 80cac52 80cac7e: bf00 nop 80cac80: 007fffff .word 0x007fffff 080cac84 : 80cac84: ee10 0a10 vmov r0, s0 80cac88: f3c0 53c7 ubfx r3, r0, #23, #8 80cac8c: f1a3 027f sub.w r2, r3, #127 ; 0x7f 80cac90: 2a16 cmp r2, #22 80cac92: dc15 bgt.n 80cacc0 80cac94: 2a00 cmp r2, #0 80cac96: da08 bge.n 80cacaa 80cac98: 3201 adds r2, #1 80cac9a: f000 4300 and.w r3, r0, #2147483648 ; 0x80000000 80cac9e: d101 bne.n 80caca4 80caca0: f043 537e orr.w r3, r3, #1065353216 ; 0x3f800000 80caca4: ee00 3a10 vmov s0, r3 80caca8: 4770 bx lr 80cacaa: 4908 ldr r1, [pc, #32] ; (80caccc ) 80cacac: 4111 asrs r1, r2 80cacae: 4208 tst r0, r1 80cacb0: d0fa beq.n 80caca8 80cacb2: f44f 0380 mov.w r3, #4194304 ; 0x400000 80cacb6: 4113 asrs r3, r2 80cacb8: 4403 add r3, r0 80cacba: ea23 0301 bic.w r3, r3, r1 80cacbe: e7f1 b.n 80caca4 80cacc0: 2a80 cmp r2, #128 ; 0x80 80cacc2: d1f1 bne.n 80caca8 80cacc4: ee30 0a00 vadd.f32 s0, s0, s0 80cacc8: 4770 bx lr 80cacca: bf00 nop 80caccc: 007fffff .word 0x007fffff 080cacd0 : 80cacd0: f002 b91a b.w 80ccf08 080cacd4 : 80cacd4: f000 b9a4 b.w 80cb020 080cacd8 : 80cacd8: b500 push {lr} 80cacda: ed2d 8b02 vpush {d8} 80cacde: eeb0 8b40 vmov.f64 d8, d0 80cace2: b08b sub sp, #44 ; 0x2c 80cace4: f000 fb1c bl 80cb320 <__ieee754_log> 80cace8: 4b2d ldr r3, [pc, #180] ; (80cada0 ) 80cacea: f993 3000 ldrsb.w r3, [r3] 80cacee: 1c5a adds r2, r3, #1 80cacf0: d051 beq.n 80cad96 80cacf2: eeb4 8b48 vcmp.f64 d8, d8 80cacf6: eef1 fa10 vmrs APSR_nzcv, fpscr 80cacfa: d64c bvs.n 80cad96 80cacfc: eeb5 8bc0 vcmpe.f64 d8, #0.0 80cad00: eef1 fa10 vmrs APSR_nzcv, fpscr 80cad04: dc47 bgt.n 80cad96 80cad06: 4a27 ldr r2, [pc, #156] ; (80cada4 ) 80cad08: 9201 str r2, [sp, #4] 80cad0a: 2200 movs r2, #0 80cad0c: 9208 str r2, [sp, #32] 80cad0e: ed8d 8b02 vstr d8, [sp, #8] 80cad12: ed8d 8b04 vstr d8, [sp, #16] 80cad16: b993 cbnz r3, 80cad3e 80cad18: eeb5 8b40 vcmp.f64 d8, #0.0 80cad1c: 4922 ldr r1, [pc, #136] ; (80cada8 ) 80cad1e: f04f 4060 mov.w r0, #3758096384 ; 0xe0000000 80cad22: eef1 fa10 vmrs APSR_nzcv, fpscr 80cad26: e9cd 0106 strd r0, r1, [sp, #24] 80cad2a: d025 beq.n 80cad78 80cad2c: 2201 movs r2, #1 80cad2e: 2b02 cmp r3, #2 80cad30: 9200 str r2, [sp, #0] 80cad32: d116 bne.n 80cad62 80cad34: f002 f936 bl 80ccfa4 <__errno> 80cad38: 2321 movs r3, #33 ; 0x21 80cad3a: 6003 str r3, [r0, #0] 80cad3c: e016 b.n 80cad6c 80cad3e: 491b ldr r1, [pc, #108] ; (80cadac ) 80cad40: eeb5 8b40 vcmp.f64 d8, #0.0 80cad44: 2000 movs r0, #0 80cad46: eef1 fa10 vmrs APSR_nzcv, fpscr 80cad4a: e9cd 0106 strd r0, r1, [sp, #24] 80cad4e: d1ed bne.n 80cad2c 80cad50: 2202 movs r2, #2 80cad52: 4293 cmp r3, r2 80cad54: 9200 str r2, [sp, #0] 80cad56: d111 bne.n 80cad7c 80cad58: f002 f924 bl 80ccfa4 <__errno> 80cad5c: 2322 movs r3, #34 ; 0x22 80cad5e: 6003 str r3, [r0, #0] 80cad60: e011 b.n 80cad86 80cad62: 4668 mov r0, sp 80cad64: f001 ffb8 bl 80cccd8 80cad68: 2800 cmp r0, #0 80cad6a: d0e3 beq.n 80cad34 80cad6c: 4810 ldr r0, [pc, #64] ; (80cadb0 ) 80cad6e: f001 ffb7 bl 80ccce0 80cad72: ed8d 0b06 vstr d0, [sp, #24] 80cad76: e006 b.n 80cad86 80cad78: 2302 movs r3, #2 80cad7a: 9300 str r3, [sp, #0] 80cad7c: 4668 mov r0, sp 80cad7e: f001 ffab bl 80cccd8 80cad82: 2800 cmp r0, #0 80cad84: d0e8 beq.n 80cad58 80cad86: 9b08 ldr r3, [sp, #32] 80cad88: b11b cbz r3, 80cad92 80cad8a: f002 f90b bl 80ccfa4 <__errno> 80cad8e: 9b08 ldr r3, [sp, #32] 80cad90: 6003 str r3, [r0, #0] 80cad92: ed9d 0b06 vldr d0, [sp, #24] 80cad96: b00b add sp, #44 ; 0x2c 80cad98: ecbd 8b02 vpop {d8} 80cad9c: f85d fb04 ldr.w pc, [sp], #4 80cada0: 20020b44 .word 0x20020b44 80cada4: 08186650 .word 0x08186650 80cada8: c7efffff .word 0xc7efffff 80cadac: fff00000 .word 0xfff00000 80cadb0: 08186923 .word 0x08186923 80cadb4: 00000000 .word 0x00000000 080cadb8 : 80cadb8: b570 push {r4, r5, r6, lr} 80cadba: ed2d 8b0a vpush {d8-d12} 80cadbe: eeb0 9b40 vmov.f64 d9, d0 80cadc2: eeb0 8b41 vmov.f64 d8, d1 80cadc6: 4c8e ldr r4, [pc, #568] ; (80cb000 ) 80cadc8: b08a sub sp, #40 ; 0x28 80cadca: f000 fbc9 bl 80cb560 <__ieee754_pow> 80cadce: f994 3000 ldrsb.w r3, [r4] 80cadd2: eeb0 ab40 vmov.f64 d10, d0 80cadd6: 1c5a adds r2, r3, #1 80cadd8: 4626 mov r6, r4 80cadda: d04b beq.n 80cae74 80caddc: eeb4 8b48 vcmp.f64 d8, d8 80cade0: eef1 fa10 vmrs APSR_nzcv, fpscr 80cade4: d646 bvs.n 80cae74 80cade6: eeb4 9b49 vcmp.f64 d9, d9 80cadea: eef1 fa10 vmrs APSR_nzcv, fpscr 80cadee: d719 bvc.n 80cae24 80cadf0: eeb5 8b40 vcmp.f64 d8, #0.0 80cadf4: eef1 fa10 vmrs APSR_nzcv, fpscr 80cadf8: d13c bne.n 80cae74 80cadfa: 2201 movs r2, #1 80cadfc: 9200 str r2, [sp, #0] 80cadfe: 4981 ldr r1, [pc, #516] ; (80cb004 ) 80cae00: 4a81 ldr r2, [pc, #516] ; (80cb008 ) 80cae02: 9201 str r2, [sp, #4] 80cae04: 2000 movs r0, #0 80cae06: 2200 movs r2, #0 80cae08: 2b02 cmp r3, #2 80cae0a: 9208 str r2, [sp, #32] 80cae0c: ed8d 9b02 vstr d9, [sp, #8] 80cae10: ed8d 8b04 vstr d8, [sp, #16] 80cae14: e9cd 0106 strd r0, r1, [sp, #24] 80cae18: d02a beq.n 80cae70 80cae1a: 4668 mov r0, sp 80cae1c: f001 ff5c bl 80cccd8 80cae20: bb00 cbnz r0, 80cae64 80cae22: e04e b.n 80caec2 80cae24: ed9f bb74 vldr d11, [pc, #464] ; 80caff8 80cae28: eeb4 9b4b vcmp.f64 d9, d11 80cae2c: eef1 fa10 vmrs APSR_nzcv, fpscr 80cae30: eeb0 cb4b vmov.f64 d12, d11 80cae34: d14a bne.n 80caecc 80cae36: eeb4 8b4b vcmp.f64 d8, d11 80cae3a: eef1 fa10 vmrs APSR_nzcv, fpscr 80cae3e: d11f bne.n 80cae80 80cae40: 2201 movs r2, #1 80cae42: 9200 str r2, [sp, #0] 80cae44: 4a70 ldr r2, [pc, #448] ; (80cb008 ) 80cae46: 9201 str r2, [sp, #4] 80cae48: 2200 movs r2, #0 80cae4a: 9208 str r2, [sp, #32] 80cae4c: ed8d 9b02 vstr d9, [sp, #8] 80cae50: ed8d 8b04 vstr d8, [sp, #16] 80cae54: ed8d bb06 vstr d11, [sp, #24] 80cae58: 2b00 cmp r3, #0 80cae5a: d0de beq.n 80cae1a 80cae5c: 4b69 ldr r3, [pc, #420] ; (80cb004 ) 80cae5e: 2200 movs r2, #0 80cae60: e9cd 2306 strd r2, r3, [sp, #24] 80cae64: 9b08 ldr r3, [sp, #32] 80cae66: b11b cbz r3, 80cae70 80cae68: f002 f89c bl 80ccfa4 <__errno> 80cae6c: 9b08 ldr r3, [sp, #32] 80cae6e: 6003 str r3, [r0, #0] 80cae70: ed9d ab06 vldr d10, [sp, #24] 80cae74: eeb0 0b4a vmov.f64 d0, d10 80cae78: b00a add sp, #40 ; 0x28 80cae7a: ecbd 8b0a vpop {d8-d12} 80cae7e: bd70 pop {r4, r5, r6, pc} 80cae80: eeb0 0b48 vmov.f64 d0, d8 80cae84: f001 fea8 bl 80ccbd8 80cae88: 2800 cmp r0, #0 80cae8a: d0f3 beq.n 80cae74 80cae8c: eeb5 8bc0 vcmpe.f64 d8, #0.0 80cae90: eef1 fa10 vmrs APSR_nzcv, fpscr 80cae94: d5ee bpl.n 80cae74 80cae96: 2301 movs r3, #1 80cae98: 9300 str r3, [sp, #0] 80cae9a: 4b5b ldr r3, [pc, #364] ; (80cb008 ) 80cae9c: 9301 str r3, [sp, #4] 80cae9e: 2300 movs r3, #0 80caea0: 9308 str r3, [sp, #32] 80caea2: f994 3000 ldrsb.w r3, [r4] 80caea6: ed8d 9b02 vstr d9, [sp, #8] 80caeaa: ed8d 8b04 vstr d8, [sp, #16] 80caeae: b913 cbnz r3, 80caeb6 80caeb0: ed8d bb06 vstr d11, [sp, #24] 80caeb4: e7b1 b.n 80cae1a 80caeb6: 4955 ldr r1, [pc, #340] ; (80cb00c ) 80caeb8: 2000 movs r0, #0 80caeba: e9cd 0106 strd r0, r1, [sp, #24] 80caebe: 2b02 cmp r3, #2 80caec0: d1ab bne.n 80cae1a 80caec2: f002 f86f bl 80ccfa4 <__errno> 80caec6: 2321 movs r3, #33 ; 0x21 80caec8: 6003 str r3, [r0, #0] 80caeca: e7cb b.n 80cae64 80caecc: f001 fe84 bl 80ccbd8 80caed0: 4605 mov r5, r0 80caed2: 2800 cmp r0, #0 80caed4: d168 bne.n 80cafa8 80caed6: eeb0 0b49 vmov.f64 d0, d9 80caeda: f001 fe7d bl 80ccbd8 80caede: 2800 cmp r0, #0 80caee0: d062 beq.n 80cafa8 80caee2: eeb0 0b48 vmov.f64 d0, d8 80caee6: f001 fe77 bl 80ccbd8 80caeea: 2800 cmp r0, #0 80caeec: d05c beq.n 80cafa8 80caeee: eeb4 ab4a vcmp.f64 d10, d10 80caef2: eef1 fa10 vmrs APSR_nzcv, fpscr 80caef6: f994 3000 ldrsb.w r3, [r4] 80caefa: 4a43 ldr r2, [pc, #268] ; (80cb008 ) 80caefc: d70e bvc.n 80caf1c 80caefe: 2101 movs r1, #1 80caf00: e88d 0006 stmia.w sp, {r1, r2} 80caf04: 9508 str r5, [sp, #32] 80caf06: ed8d 9b02 vstr d9, [sp, #8] 80caf0a: ed8d 8b04 vstr d8, [sp, #16] 80caf0e: 2b00 cmp r3, #0 80caf10: d0ce beq.n 80caeb0 80caf12: ee8b 7b0b vdiv.f64 d7, d11, d11 80caf16: ed8d 7b06 vstr d7, [sp, #24] 80caf1a: e7d0 b.n 80caebe 80caf1c: 2103 movs r1, #3 80caf1e: e88d 0006 stmia.w sp, {r1, r2} 80caf22: 9508 str r5, [sp, #32] 80caf24: ed8d 9b02 vstr d9, [sp, #8] 80caf28: ed8d 8b04 vstr d8, [sp, #16] 80caf2c: bb1b cbnz r3, 80caf76 80caf2e: eeb5 9bc0 vcmpe.f64 d9, #0.0 80caf32: 4b37 ldr r3, [pc, #220] ; (80cb010 ) 80caf34: f04f 4260 mov.w r2, #3758096384 ; 0xe0000000 80caf38: eef1 fa10 vmrs APSR_nzcv, fpscr 80caf3c: e9cd 2306 strd r2, r3, [sp, #24] 80caf40: d553 bpl.n 80cafea 80caf42: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80caf46: ee28 8b07 vmul.f64 d8, d8, d7 80caf4a: eeb0 0b48 vmov.f64 d0, d8 80caf4e: f001 fecf bl 80cccf0 80caf52: eeb4 8b40 vcmp.f64 d8, d0 80caf56: eef1 fa10 vmrs APSR_nzcv, fpscr 80caf5a: d004 beq.n 80caf66 80caf5c: 4b2d ldr r3, [pc, #180] ; (80cb014 ) 80caf5e: f04f 4260 mov.w r2, #3758096384 ; 0xe0000000 80caf62: e9cd 2306 strd r2, r3, [sp, #24] 80caf66: f996 3000 ldrsb.w r3, [r6] 80caf6a: 2b02 cmp r3, #2 80caf6c: d13d bne.n 80cafea 80caf6e: f002 f819 bl 80ccfa4 <__errno> 80caf72: 2322 movs r3, #34 ; 0x22 80caf74: e7a8 b.n 80caec8 80caf76: 4b28 ldr r3, [pc, #160] ; (80cb018 ) 80caf78: eeb5 9bc0 vcmpe.f64 d9, #0.0 80caf7c: 2200 movs r2, #0 80caf7e: eef1 fa10 vmrs APSR_nzcv, fpscr 80caf82: e9cd 2306 strd r2, r3, [sp, #24] 80caf86: d5ee bpl.n 80caf66 80caf88: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80caf8c: ee28 8b07 vmul.f64 d8, d8, d7 80caf90: eeb0 0b48 vmov.f64 d0, d8 80caf94: f001 feac bl 80cccf0 80caf98: eeb4 8b40 vcmp.f64 d8, d0 80caf9c: eef1 fa10 vmrs APSR_nzcv, fpscr 80cafa0: d0e1 beq.n 80caf66 80cafa2: 2200 movs r2, #0 80cafa4: 4b19 ldr r3, [pc, #100] ; (80cb00c ) 80cafa6: e7dc b.n 80caf62 80cafa8: eeb5 ab40 vcmp.f64 d10, #0.0 80cafac: eef1 fa10 vmrs APSR_nzcv, fpscr 80cafb0: f47f af60 bne.w 80cae74 80cafb4: eeb0 0b49 vmov.f64 d0, d9 80cafb8: f001 fe0e bl 80ccbd8 80cafbc: 2800 cmp r0, #0 80cafbe: f43f af59 beq.w 80cae74 80cafc2: eeb0 0b48 vmov.f64 d0, d8 80cafc6: f001 fe07 bl 80ccbd8 80cafca: 2800 cmp r0, #0 80cafcc: f43f af52 beq.w 80cae74 80cafd0: 2304 movs r3, #4 80cafd2: 9300 str r3, [sp, #0] 80cafd4: 4b0c ldr r3, [pc, #48] ; (80cb008 ) 80cafd6: 9301 str r3, [sp, #4] 80cafd8: 2300 movs r3, #0 80cafda: 9308 str r3, [sp, #32] 80cafdc: ed8d 9b02 vstr d9, [sp, #8] 80cafe0: ed8d 8b04 vstr d8, [sp, #16] 80cafe4: ed8d cb06 vstr d12, [sp, #24] 80cafe8: e7bd b.n 80caf66 80cafea: 4668 mov r0, sp 80cafec: f001 fe74 bl 80cccd8 80caff0: 2800 cmp r0, #0 80caff2: f47f af37 bne.w 80cae64 80caff6: e7ba b.n 80caf6e ... 80cb000: 20020b44 .word 0x20020b44 80cb004: 3ff00000 .word 0x3ff00000 80cb008: 08186654 .word 0x08186654 80cb00c: fff00000 .word 0xfff00000 80cb010: 47efffff .word 0x47efffff 80cb014: c7efffff .word 0xc7efffff 80cb018: 7ff00000 .word 0x7ff00000 80cb01c: 00000000 .word 0x00000000 080cb020 : 80cb020: b500 push {lr} 80cb022: ed2d 8b02 vpush {d8} 80cb026: eeb0 8b40 vmov.f64 d8, d0 80cb02a: b08b sub sp, #44 ; 0x2c 80cb02c: f000 ff60 bl 80cbef0 <__ieee754_sqrt> 80cb030: 4b1f ldr r3, [pc, #124] ; (80cb0b0 ) 80cb032: f993 3000 ldrsb.w r3, [r3] 80cb036: 1c5a adds r2, r3, #1 80cb038: d024 beq.n 80cb084 80cb03a: eeb4 8b48 vcmp.f64 d8, d8 80cb03e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb042: d61f bvs.n 80cb084 80cb044: ed9f 7b18 vldr d7, [pc, #96] ; 80cb0a8 80cb048: eeb4 8bc7 vcmpe.f64 d8, d7 80cb04c: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb050: d518 bpl.n 80cb084 80cb052: 2201 movs r2, #1 80cb054: 9200 str r2, [sp, #0] 80cb056: 4a17 ldr r2, [pc, #92] ; (80cb0b4 ) 80cb058: 9201 str r2, [sp, #4] 80cb05a: 2200 movs r2, #0 80cb05c: 9208 str r2, [sp, #32] 80cb05e: ed8d 8b04 vstr d8, [sp, #16] 80cb062: ed8d 8b02 vstr d8, [sp, #8] 80cb066: b993 cbnz r3, 80cb08e 80cb068: ed8d 7b06 vstr d7, [sp, #24] 80cb06c: 4668 mov r0, sp 80cb06e: f001 fe33 bl 80cccd8 80cb072: b190 cbz r0, 80cb09a 80cb074: 9b08 ldr r3, [sp, #32] 80cb076: b11b cbz r3, 80cb080 80cb078: f001 ff94 bl 80ccfa4 <__errno> 80cb07c: 9b08 ldr r3, [sp, #32] 80cb07e: 6003 str r3, [r0, #0] 80cb080: ed9d 0b06 vldr d0, [sp, #24] 80cb084: b00b add sp, #44 ; 0x2c 80cb086: ecbd 8b02 vpop {d8} 80cb08a: f85d fb04 ldr.w pc, [sp], #4 80cb08e: 2b02 cmp r3, #2 80cb090: ee87 6b07 vdiv.f64 d6, d7, d7 80cb094: ed8d 6b06 vstr d6, [sp, #24] 80cb098: d1e8 bne.n 80cb06c 80cb09a: f001 ff83 bl 80ccfa4 <__errno> 80cb09e: 2321 movs r3, #33 ; 0x21 80cb0a0: 6003 str r3, [r0, #0] 80cb0a2: e7e7 b.n 80cb074 80cb0a4: f3af 8000 nop.w ... 80cb0b0: 20020b44 .word 0x20020b44 80cb0b4: 08186658 .word 0x08186658 080cb0b8 : 80cb0b8: b500 push {lr} 80cb0ba: ed2d 8b02 vpush {d8} 80cb0be: b08b sub sp, #44 ; 0x2c 80cb0c0: eeb0 8a40 vmov.f32 s16, s0 80cb0c4: f000 ffb2 bl 80cc02c <__ieee754_logf> 80cb0c8: 4b2f ldr r3, [pc, #188] ; (80cb188 ) 80cb0ca: f993 3000 ldrsb.w r3, [r3] 80cb0ce: 1c5a adds r2, r3, #1 80cb0d0: d055 beq.n 80cb17e 80cb0d2: eeb4 8a48 vcmp.f32 s16, s16 80cb0d6: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb0da: d650 bvs.n 80cb17e 80cb0dc: eeb5 8ac0 vcmpe.f32 s16, #0.0 80cb0e0: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb0e4: dc4b bgt.n 80cb17e 80cb0e6: 4a29 ldr r2, [pc, #164] ; (80cb18c ) 80cb0e8: 9201 str r2, [sp, #4] 80cb0ea: eeb7 7ac8 vcvt.f64.f32 d7, s16 80cb0ee: 2200 movs r2, #0 80cb0f0: 9208 str r2, [sp, #32] 80cb0f2: ed8d 7b04 vstr d7, [sp, #16] 80cb0f6: ed8d 7b02 vstr d7, [sp, #8] 80cb0fa: b993 cbnz r3, 80cb122 80cb0fc: 4924 ldr r1, [pc, #144] ; (80cb190 ) 80cb0fe: eeb5 8a40 vcmp.f32 s16, #0.0 80cb102: f04f 4060 mov.w r0, #3758096384 ; 0xe0000000 80cb106: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb10a: e9cd 0106 strd r0, r1, [sp, #24] 80cb10e: d025 beq.n 80cb15c 80cb110: 2201 movs r2, #1 80cb112: 2b02 cmp r3, #2 80cb114: 9200 str r2, [sp, #0] 80cb116: d116 bne.n 80cb146 80cb118: f001 ff44 bl 80ccfa4 <__errno> 80cb11c: 2321 movs r3, #33 ; 0x21 80cb11e: 6003 str r3, [r0, #0] 80cb120: e016 b.n 80cb150 80cb122: 491c ldr r1, [pc, #112] ; (80cb194 ) 80cb124: eeb5 8a40 vcmp.f32 s16, #0.0 80cb128: 2000 movs r0, #0 80cb12a: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb12e: e9cd 0106 strd r0, r1, [sp, #24] 80cb132: d1ed bne.n 80cb110 80cb134: 2202 movs r2, #2 80cb136: 4293 cmp r3, r2 80cb138: 9200 str r2, [sp, #0] 80cb13a: d111 bne.n 80cb160 80cb13c: f001 ff32 bl 80ccfa4 <__errno> 80cb140: 2322 movs r3, #34 ; 0x22 80cb142: 6003 str r3, [r0, #0] 80cb144: e011 b.n 80cb16a 80cb146: 4668 mov r0, sp 80cb148: f001 fdc6 bl 80cccd8 80cb14c: 2800 cmp r0, #0 80cb14e: d0e3 beq.n 80cb118 80cb150: 4811 ldr r0, [pc, #68] ; (80cb198 ) 80cb152: f001 fdc5 bl 80ccce0 80cb156: ed8d 0b06 vstr d0, [sp, #24] 80cb15a: e006 b.n 80cb16a 80cb15c: 2302 movs r3, #2 80cb15e: 9300 str r3, [sp, #0] 80cb160: 4668 mov r0, sp 80cb162: f001 fdb9 bl 80cccd8 80cb166: 2800 cmp r0, #0 80cb168: d0e8 beq.n 80cb13c 80cb16a: 9b08 ldr r3, [sp, #32] 80cb16c: b11b cbz r3, 80cb176 80cb16e: f001 ff19 bl 80ccfa4 <__errno> 80cb172: 9b08 ldr r3, [sp, #32] 80cb174: 6003 str r3, [r0, #0] 80cb176: ed9d 0b06 vldr d0, [sp, #24] 80cb17a: eeb7 0bc0 vcvt.f32.f64 s0, d0 80cb17e: b00b add sp, #44 ; 0x2c 80cb180: ecbd 8b02 vpop {d8} 80cb184: f85d fb04 ldr.w pc, [sp], #4 80cb188: 20020b44 .word 0x20020b44 80cb18c: 0818665d .word 0x0818665d 80cb190: c7efffff .word 0xc7efffff 80cb194: fff00000 .word 0xfff00000 80cb198: 08186923 .word 0x08186923 080cb19c : 80cb19c: b500 push {lr} 80cb19e: ed2d 8b02 vpush {d8} 80cb1a2: b08b sub sp, #44 ; 0x2c 80cb1a4: eeb0 8a40 vmov.f32 s16, s0 80cb1a8: f001 f832 bl 80cc210 <__ieee754_log10f> 80cb1ac: 4b2f ldr r3, [pc, #188] ; (80cb26c ) 80cb1ae: f993 3000 ldrsb.w r3, [r3] 80cb1b2: 1c5a adds r2, r3, #1 80cb1b4: d055 beq.n 80cb262 80cb1b6: eeb4 8a48 vcmp.f32 s16, s16 80cb1ba: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb1be: d650 bvs.n 80cb262 80cb1c0: eeb5 8ac0 vcmpe.f32 s16, #0.0 80cb1c4: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb1c8: d84b bhi.n 80cb262 80cb1ca: 4a29 ldr r2, [pc, #164] ; (80cb270 ) 80cb1cc: 9201 str r2, [sp, #4] 80cb1ce: eeb7 7ac8 vcvt.f64.f32 d7, s16 80cb1d2: 2200 movs r2, #0 80cb1d4: 9208 str r2, [sp, #32] 80cb1d6: ed8d 7b04 vstr d7, [sp, #16] 80cb1da: ed8d 7b02 vstr d7, [sp, #8] 80cb1de: b993 cbnz r3, 80cb206 80cb1e0: 4924 ldr r1, [pc, #144] ; (80cb274 ) 80cb1e2: eeb5 8a40 vcmp.f32 s16, #0.0 80cb1e6: f04f 4060 mov.w r0, #3758096384 ; 0xe0000000 80cb1ea: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb1ee: e9cd 0106 strd r0, r1, [sp, #24] 80cb1f2: d025 beq.n 80cb240 80cb1f4: 2201 movs r2, #1 80cb1f6: 2b02 cmp r3, #2 80cb1f8: 9200 str r2, [sp, #0] 80cb1fa: d116 bne.n 80cb22a 80cb1fc: f001 fed2 bl 80ccfa4 <__errno> 80cb200: 2321 movs r3, #33 ; 0x21 80cb202: 6003 str r3, [r0, #0] 80cb204: e016 b.n 80cb234 80cb206: 491c ldr r1, [pc, #112] ; (80cb278 ) 80cb208: eeb5 8a40 vcmp.f32 s16, #0.0 80cb20c: 2000 movs r0, #0 80cb20e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb212: e9cd 0106 strd r0, r1, [sp, #24] 80cb216: d1ed bne.n 80cb1f4 80cb218: 2202 movs r2, #2 80cb21a: 4293 cmp r3, r2 80cb21c: 9200 str r2, [sp, #0] 80cb21e: d111 bne.n 80cb244 80cb220: f001 fec0 bl 80ccfa4 <__errno> 80cb224: 2322 movs r3, #34 ; 0x22 80cb226: 6003 str r3, [r0, #0] 80cb228: e011 b.n 80cb24e 80cb22a: 4668 mov r0, sp 80cb22c: f001 fd54 bl 80cccd8 80cb230: 2800 cmp r0, #0 80cb232: d0e3 beq.n 80cb1fc 80cb234: 4811 ldr r0, [pc, #68] ; (80cb27c ) 80cb236: f001 fd53 bl 80ccce0 80cb23a: ed8d 0b06 vstr d0, [sp, #24] 80cb23e: e006 b.n 80cb24e 80cb240: 2302 movs r3, #2 80cb242: 9300 str r3, [sp, #0] 80cb244: 4668 mov r0, sp 80cb246: f001 fd47 bl 80cccd8 80cb24a: 2800 cmp r0, #0 80cb24c: d0e8 beq.n 80cb220 80cb24e: 9b08 ldr r3, [sp, #32] 80cb250: b11b cbz r3, 80cb25a 80cb252: f001 fea7 bl 80ccfa4 <__errno> 80cb256: 9b08 ldr r3, [sp, #32] 80cb258: 6003 str r3, [r0, #0] 80cb25a: ed9d 0b06 vldr d0, [sp, #24] 80cb25e: eeb7 0bc0 vcvt.f32.f64 s0, d0 80cb262: b00b add sp, #44 ; 0x2c 80cb264: ecbd 8b02 vpop {d8} 80cb268: f85d fb04 ldr.w pc, [sp], #4 80cb26c: 20020b44 .word 0x20020b44 80cb270: 08186662 .word 0x08186662 80cb274: c7efffff .word 0xc7efffff 80cb278: fff00000 .word 0xfff00000 80cb27c: 08186923 .word 0x08186923 080cb280 : 80cb280: b500 push {lr} 80cb282: ed2d 8b02 vpush {d8} 80cb286: b08b sub sp, #44 ; 0x2c 80cb288: eeb0 8a40 vmov.f32 s16, s0 80cb28c: f001 f818 bl 80cc2c0 <__ieee754_sqrtf> 80cb290: 4b21 ldr r3, [pc, #132] ; (80cb318 ) 80cb292: f993 3000 ldrsb.w r3, [r3] 80cb296: 1c5a adds r2, r3, #1 80cb298: d028 beq.n 80cb2ec 80cb29a: eeb4 8a48 vcmp.f32 s16, s16 80cb29e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb2a2: d623 bvs.n 80cb2ec 80cb2a4: eeb5 8ac0 vcmpe.f32 s16, #0.0 80cb2a8: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb2ac: d51e bpl.n 80cb2ec 80cb2ae: 2201 movs r2, #1 80cb2b0: eeb7 8ac8 vcvt.f64.f32 d8, s16 80cb2b4: 9200 str r2, [sp, #0] 80cb2b6: 4a19 ldr r2, [pc, #100] ; (80cb31c ) 80cb2b8: 9201 str r2, [sp, #4] 80cb2ba: 2200 movs r2, #0 80cb2bc: 9208 str r2, [sp, #32] 80cb2be: ed8d 8b04 vstr d8, [sp, #16] 80cb2c2: ed8d 8b02 vstr d8, [sp, #8] 80cb2c6: ed9f 7b12 vldr d7, [pc, #72] ; 80cb310 80cb2ca: b9a3 cbnz r3, 80cb2f6 80cb2cc: ed8d 7b06 vstr d7, [sp, #24] 80cb2d0: 4668 mov r0, sp 80cb2d2: f001 fd01 bl 80cccd8 80cb2d6: b1a0 cbz r0, 80cb302 80cb2d8: 9b08 ldr r3, [sp, #32] 80cb2da: b11b cbz r3, 80cb2e4 80cb2dc: f001 fe62 bl 80ccfa4 <__errno> 80cb2e0: 9b08 ldr r3, [sp, #32] 80cb2e2: 6003 str r3, [r0, #0] 80cb2e4: ed9d 0b06 vldr d0, [sp, #24] 80cb2e8: eeb7 0bc0 vcvt.f32.f64 s0, d0 80cb2ec: b00b add sp, #44 ; 0x2c 80cb2ee: ecbd 8b02 vpop {d8} 80cb2f2: f85d fb04 ldr.w pc, [sp], #4 80cb2f6: 2b02 cmp r3, #2 80cb2f8: ee87 6b07 vdiv.f64 d6, d7, d7 80cb2fc: ed8d 6b06 vstr d6, [sp, #24] 80cb300: d1e6 bne.n 80cb2d0 80cb302: f001 fe4f bl 80ccfa4 <__errno> 80cb306: 2321 movs r3, #33 ; 0x21 80cb308: 6003 str r3, [r0, #0] 80cb30a: e7e5 b.n 80cb2d8 80cb30c: f3af 8000 nop.w ... 80cb318: 20020b44 .word 0x20020b44 80cb31c: 08186669 .word 0x08186669 080cb320 <__ieee754_log>: 80cb320: b537 push {r0, r1, r2, r4, r5, lr} 80cb322: ed8d 0b00 vstr d0, [sp] 80cb326: 9a01 ldr r2, [sp, #4] 80cb328: 9b00 ldr r3, [sp, #0] 80cb32a: f5b2 1f80 cmp.w r2, #1048576 ; 0x100000 80cb32e: da27 bge.n 80cb380 <__ieee754_log+0x60> 80cb330: f022 4100 bic.w r1, r2, #2147483648 ; 0x80000000 80cb334: 430b orrs r3, r1 80cb336: d107 bne.n 80cb348 <__ieee754_log+0x28> 80cb338: ed9f 7b6d vldr d7, [pc, #436] ; 80cb4f0 <__ieee754_log+0x1d0> 80cb33c: ed9f 6b6e vldr d6, [pc, #440] ; 80cb4f8 <__ieee754_log+0x1d8> 80cb340: ee86 0b07 vdiv.f64 d0, d6, d7 80cb344: b003 add sp, #12 80cb346: bd30 pop {r4, r5, pc} 80cb348: 2a00 cmp r2, #0 80cb34a: da06 bge.n 80cb35a <__ieee754_log+0x3a> 80cb34c: ed9d 7b00 vldr d7, [sp] 80cb350: ee37 6b47 vsub.f64 d6, d7, d7 80cb354: ed9f 7b66 vldr d7, [pc, #408] ; 80cb4f0 <__ieee754_log+0x1d0> 80cb358: e7f2 b.n 80cb340 <__ieee754_log+0x20> 80cb35a: ed9d 6b00 vldr d6, [sp] 80cb35e: ed9f 7b68 vldr d7, [pc, #416] ; 80cb500 <__ieee754_log+0x1e0> 80cb362: ee26 7b07 vmul.f64 d7, d6, d7 80cb366: ed8d 7b00 vstr d7, [sp] 80cb36a: 9a01 ldr r2, [sp, #4] 80cb36c: f06f 0135 mvn.w r1, #53 ; 0x35 80cb370: 4b79 ldr r3, [pc, #484] ; (80cb558 <__ieee754_log+0x238>) 80cb372: 429a cmp r2, r3 80cb374: dd06 ble.n 80cb384 <__ieee754_log+0x64> 80cb376: ed9d 7b00 vldr d7, [sp] 80cb37a: ee37 0b07 vadd.f64 d0, d7, d7 80cb37e: e7e1 b.n 80cb344 <__ieee754_log+0x24> 80cb380: 2100 movs r1, #0 80cb382: e7f5 b.n 80cb370 <__ieee754_log+0x50> 80cb384: 1513 asrs r3, r2, #20 80cb386: f3c2 0013 ubfx r0, r2, #0, #20 80cb38a: f2a3 33ff subw r3, r3, #1023 ; 0x3ff 80cb38e: 4419 add r1, r3 80cb390: f500 2315 add.w r3, r0, #610304 ; 0x95000 80cb394: f603 7364 addw r3, r3, #3940 ; 0xf64 80cb398: f403 1480 and.w r4, r3, #1048576 ; 0x100000 80cb39c: f084 557f eor.w r5, r4, #1069547520 ; 0x3fc00000 80cb3a0: e9dd 2300 ldrd r2, r3, [sp] 80cb3a4: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80cb3a8: f485 1540 eor.w r5, r5, #3145728 ; 0x300000 80cb3ac: ea45 0300 orr.w r3, r5, r0 80cb3b0: ec43 2b10 vmov d0, r2, r3 80cb3b4: 1c82 adds r2, r0, #2 80cb3b6: f3c2 0213 ubfx r2, r2, #0, #20 80cb3ba: 2a02 cmp r2, #2 80cb3bc: eb01 5414 add.w r4, r1, r4, lsr #20 80cb3c0: ee30 0b47 vsub.f64 d0, d0, d7 80cb3c4: dc31 bgt.n 80cb42a <__ieee754_log+0x10a> 80cb3c6: eeb5 0b40 vcmp.f64 d0, #0.0 80cb3ca: eef1 fa10 vmrs APSR_nzcv, fpscr 80cb3ce: d10f bne.n 80cb3f0 <__ieee754_log+0xd0> 80cb3d0: 2c00 cmp r4, #0 80cb3d2: f000 8088 beq.w 80cb4e6 <__ieee754_log+0x1c6> 80cb3d6: ed9f 0b4c vldr d0, [pc, #304] ; 80cb508 <__ieee754_log+0x1e8> 80cb3da: ed9f 6b4d vldr d6, [pc, #308] ; 80cb510 <__ieee754_log+0x1f0> 80cb3de: ee07 4a90 vmov s15, r4 80cb3e2: eeb8 7be7 vcvt.f64.s32 d7, s15 80cb3e6: ee27 0b00 vmul.f64 d0, d7, d0 80cb3ea: eea7 0b06 vfma.f64 d0, d7, d6 80cb3ee: e7a9 b.n 80cb344 <__ieee754_log+0x24> 80cb3f0: ed9f 7b49 vldr d7, [pc, #292] ; 80cb518 <__ieee754_log+0x1f8> 80cb3f4: eeb6 6b00 vmov.f64 d6, #96 ; 0x3f000000 0.5 80cb3f8: eea0 6b47 vfms.f64 d6, d0, d7 80cb3fc: ee20 7b00 vmul.f64 d7, d0, d0 80cb400: ee26 6b07 vmul.f64 d6, d6, d7 80cb404: b914 cbnz r4, 80cb40c <__ieee754_log+0xec> 80cb406: ee30 0b46 vsub.f64 d0, d0, d6 80cb40a: e79b b.n 80cb344 <__ieee754_log+0x24> 80cb40c: ed9f 5b3e vldr d5, [pc, #248] ; 80cb508 <__ieee754_log+0x1e8> 80cb410: ee07 4a90 vmov s15, r4 80cb414: eeb8 7be7 vcvt.f64.s32 d7, s15 80cb418: eea7 6b45 vfms.f64 d6, d7, d5 80cb41c: ee36 0b40 vsub.f64 d0, d6, d0 80cb420: ed9f 6b3b vldr d6, [pc, #236] ; 80cb510 <__ieee754_log+0x1f0> 80cb424: ee97 0b06 vfnms.f64 d0, d7, d6 80cb428: e78c b.n 80cb344 <__ieee754_log+0x24> 80cb42a: eeb0 7b00 vmov.f64 d7, #0 ; 0x40000000 2.0 80cb42e: ee30 7b07 vadd.f64 d7, d0, d7 80cb432: ee80 4b07 vdiv.f64 d4, d0, d7 80cb436: ee07 4a90 vmov s15, r4 80cb43a: ee24 3b04 vmul.f64 d3, d4, d4 80cb43e: ed9f 2b38 vldr d2, [pc, #224] ; 80cb520 <__ieee754_log+0x200> 80cb442: ee23 5b03 vmul.f64 d5, d3, d3 80cb446: eeb8 6be7 vcvt.f64.s32 d6, s15 80cb44a: ed9f 7b37 vldr d7, [pc, #220] ; 80cb528 <__ieee754_log+0x208> 80cb44e: eea5 7b02 vfma.f64 d7, d5, d2 80cb452: ed9f 2b37 vldr d2, [pc, #220] ; 80cb530 <__ieee754_log+0x210> 80cb456: eea5 2b07 vfma.f64 d2, d5, d7 80cb45a: ed9f 7b37 vldr d7, [pc, #220] ; 80cb538 <__ieee754_log+0x218> 80cb45e: eea5 7b02 vfma.f64 d7, d5, d2 80cb462: ed9f 2b37 vldr d2, [pc, #220] ; 80cb540 <__ieee754_log+0x220> 80cb466: ee27 7b03 vmul.f64 d7, d7, d3 80cb46a: ed9f 3b37 vldr d3, [pc, #220] ; 80cb548 <__ieee754_log+0x228> 80cb46e: f5a0 21c2 sub.w r1, r0, #397312 ; 0x61000 80cb472: f5c0 22d7 rsb r2, r0, #440320 ; 0x6b800 80cb476: eea5 2b03 vfma.f64 d2, d5, d3 80cb47a: f2a1 417a subw r1, r1, #1146 ; 0x47a 80cb47e: ed9f 3b34 vldr d3, [pc, #208] ; 80cb550 <__ieee754_log+0x230> 80cb482: 3251 adds r2, #81 ; 0x51 80cb484: 430a orrs r2, r1 80cb486: 2a00 cmp r2, #0 80cb488: eea5 3b02 vfma.f64 d3, d5, d2 80cb48c: eea5 7b03 vfma.f64 d7, d5, d3 80cb490: dd1c ble.n 80cb4cc <__ieee754_log+0x1ac> 80cb492: eeb6 5b00 vmov.f64 d5, #96 ; 0x3f000000 0.5 80cb496: ee20 5b05 vmul.f64 d5, d0, d5 80cb49a: ee25 5b00 vmul.f64 d5, d5, d0 80cb49e: ee37 7b05 vadd.f64 d7, d7, d5 80cb4a2: b924 cbnz r4, 80cb4ae <__ieee754_log+0x18e> 80cb4a4: eea4 5b47 vfms.f64 d5, d4, d7 80cb4a8: ee30 0b45 vsub.f64 d0, d0, d5 80cb4ac: e74a b.n 80cb344 <__ieee754_log+0x24> 80cb4ae: ed9f 3b16 vldr d3, [pc, #88] ; 80cb508 <__ieee754_log+0x1e8> 80cb4b2: ee26 3b03 vmul.f64 d3, d6, d3 80cb4b6: eea4 3b07 vfma.f64 d3, d4, d7 80cb4ba: ee35 5b43 vsub.f64 d5, d5, d3 80cb4be: ed9f 7b14 vldr d7, [pc, #80] ; 80cb510 <__ieee754_log+0x1f0> 80cb4c2: ee35 0b40 vsub.f64 d0, d5, d0 80cb4c6: ee96 0b07 vfnms.f64 d0, d6, d7 80cb4ca: e73b b.n 80cb344 <__ieee754_log+0x24> 80cb4cc: ee30 7b47 vsub.f64 d7, d0, d7 80cb4d0: b914 cbnz r4, 80cb4d8 <__ieee754_log+0x1b8> 80cb4d2: eea4 0b47 vfms.f64 d0, d4, d7 80cb4d6: e735 b.n 80cb344 <__ieee754_log+0x24> 80cb4d8: ed9f 5b0b vldr d5, [pc, #44] ; 80cb508 <__ieee754_log+0x1e8> 80cb4dc: ee25 5b46 vnmul.f64 d5, d5, d6 80cb4e0: eea4 5b07 vfma.f64 d5, d4, d7 80cb4e4: e7eb b.n 80cb4be <__ieee754_log+0x19e> 80cb4e6: ed9f 0b02 vldr d0, [pc, #8] ; 80cb4f0 <__ieee754_log+0x1d0> 80cb4ea: e72b b.n 80cb344 <__ieee754_log+0x24> 80cb4ec: f3af 8000 nop.w ... 80cb4fc: c3500000 .word 0xc3500000 80cb500: 00000000 .word 0x00000000 80cb504: 43500000 .word 0x43500000 80cb508: 35793c76 .word 0x35793c76 80cb50c: 3dea39ef .word 0x3dea39ef 80cb510: fee00000 .word 0xfee00000 80cb514: 3fe62e42 .word 0x3fe62e42 80cb518: 55555555 .word 0x55555555 80cb51c: 3fd55555 .word 0x3fd55555 80cb520: df3e5244 .word 0xdf3e5244 80cb524: 3fc2f112 .word 0x3fc2f112 80cb528: 96cb03de .word 0x96cb03de 80cb52c: 3fc74664 .word 0x3fc74664 80cb530: 94229359 .word 0x94229359 80cb534: 3fd24924 .word 0x3fd24924 80cb538: 55555593 .word 0x55555593 80cb53c: 3fe55555 .word 0x3fe55555 80cb540: 1d8e78af .word 0x1d8e78af 80cb544: 3fcc71c5 .word 0x3fcc71c5 80cb548: d078c69f .word 0xd078c69f 80cb54c: 3fc39a09 .word 0x3fc39a09 80cb550: 9997fa04 .word 0x9997fa04 80cb554: 3fd99999 .word 0x3fd99999 80cb558: 7fefffff .word 0x7fefffff 80cb55c: 00000000 .word 0x00000000 080cb560 <__ieee754_pow>: 80cb560: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cb564: ec57 6b11 vmov r6, r7, d1 80cb568: ed2d 8b02 vpush {d8} 80cb56c: eeb0 8b40 vmov.f64 d8, d0 80cb570: f027 4800 bic.w r8, r7, #2147483648 ; 0x80000000 80cb574: ea58 0306 orrs.w r3, r8, r6 80cb578: b085 sub sp, #20 80cb57a: ee10 ba10 vmov fp, s0 80cb57e: ee18 9a90 vmov r9, s17 80cb582: ee11 2a10 vmov r2, s2 80cb586: 46ba mov sl, r7 80cb588: f000 8303 beq.w 80cbb92 <__ieee754_pow+0x632> 80cb58c: 4bb8 ldr r3, [pc, #736] ; (80cb870 <__ieee754_pow+0x310>) 80cb58e: f029 4400 bic.w r4, r9, #2147483648 ; 0x80000000 80cb592: 429c cmp r4, r3 80cb594: dc0b bgt.n 80cb5ae <__ieee754_pow+0x4e> 80cb596: d105 bne.n 80cb5a4 <__ieee754_pow+0x44> 80cb598: f1bb 0f00 cmp.w fp, #0 80cb59c: d107 bne.n 80cb5ae <__ieee754_pow+0x4e> 80cb59e: 45a0 cmp r8, r4 80cb5a0: dc0d bgt.n 80cb5be <__ieee754_pow+0x5e> 80cb5a2: e001 b.n 80cb5a8 <__ieee754_pow+0x48> 80cb5a4: 4598 cmp r8, r3 80cb5a6: dc02 bgt.n 80cb5ae <__ieee754_pow+0x4e> 80cb5a8: 4598 cmp r8, r3 80cb5aa: d110 bne.n 80cb5ce <__ieee754_pow+0x6e> 80cb5ac: b17a cbz r2, 80cb5ce <__ieee754_pow+0x6e> 80cb5ae: f104 4440 add.w r4, r4, #3221225472 ; 0xc0000000 80cb5b2: f504 1480 add.w r4, r4, #1048576 ; 0x100000 80cb5b6: ea54 030b orrs.w r3, r4, fp 80cb5ba: f000 82ea beq.w 80cbb92 <__ieee754_pow+0x632> 80cb5be: 48ad ldr r0, [pc, #692] ; (80cb874 <__ieee754_pow+0x314>) 80cb5c0: b005 add sp, #20 80cb5c2: ecbd 8b02 vpop {d8} 80cb5c6: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cb5ca: f001 bb89 b.w 80ccce0 80cb5ce: f1b9 0f00 cmp.w r9, #0 80cb5d2: da50 bge.n 80cb676 <__ieee754_pow+0x116> 80cb5d4: 4ba8 ldr r3, [pc, #672] ; (80cb878 <__ieee754_pow+0x318>) 80cb5d6: 4598 cmp r8, r3 80cb5d8: dc4b bgt.n 80cb672 <__ieee754_pow+0x112> 80cb5da: f1a3 7354 sub.w r3, r3, #55574528 ; 0x3500000 80cb5de: 4598 cmp r8, r3 80cb5e0: dd49 ble.n 80cb676 <__ieee754_pow+0x116> 80cb5e2: ea4f 5328 mov.w r3, r8, asr #20 80cb5e6: f2a3 33ff subw r3, r3, #1023 ; 0x3ff 80cb5ea: 2b14 cmp r3, #20 80cb5ec: dd24 ble.n 80cb638 <__ieee754_pow+0xd8> 80cb5ee: f1c3 0334 rsb r3, r3, #52 ; 0x34 80cb5f2: fa22 f503 lsr.w r5, r2, r3 80cb5f6: fa05 f303 lsl.w r3, r5, r3 80cb5fa: 429a cmp r2, r3 80cb5fc: d13b bne.n 80cb676 <__ieee754_pow+0x116> 80cb5fe: f005 0501 and.w r5, r5, #1 80cb602: f1c5 0502 rsb r5, r5, #2 80cb606: 2a00 cmp r2, #0 80cb608: d15c bne.n 80cb6c4 <__ieee754_pow+0x164> 80cb60a: 4b99 ldr r3, [pc, #612] ; (80cb870 <__ieee754_pow+0x310>) 80cb60c: 4598 cmp r8, r3 80cb60e: d122 bne.n 80cb656 <__ieee754_pow+0xf6> 80cb610: f104 4340 add.w r3, r4, #3221225472 ; 0xc0000000 80cb614: f503 1380 add.w r3, r3, #1048576 ; 0x100000 80cb618: ea53 030b orrs.w r3, r3, fp 80cb61c: f000 82b9 beq.w 80cbb92 <__ieee754_pow+0x632> 80cb620: 4b96 ldr r3, [pc, #600] ; (80cb87c <__ieee754_pow+0x31c>) 80cb622: 429c cmp r4, r3 80cb624: dd29 ble.n 80cb67a <__ieee754_pow+0x11a> 80cb626: f1ba 0f00 cmp.w sl, #0 80cb62a: f280 82b5 bge.w 80cbb98 <__ieee754_pow+0x638> 80cb62e: ed9f 7b84 vldr d7, [pc, #528] ; 80cb840 <__ieee754_pow+0x2e0> 80cb632: ed8d 7b00 vstr d7, [sp] 80cb636: e028 b.n 80cb68a <__ieee754_pow+0x12a> 80cb638: 2a00 cmp r2, #0 80cb63a: d142 bne.n 80cb6c2 <__ieee754_pow+0x162> 80cb63c: f1c3 0314 rsb r3, r3, #20 80cb640: fa48 f503 asr.w r5, r8, r3 80cb644: fa05 f303 lsl.w r3, r5, r3 80cb648: 4598 cmp r8, r3 80cb64a: f040 82ab bne.w 80cbba4 <__ieee754_pow+0x644> 80cb64e: f005 0501 and.w r5, r5, #1 80cb652: f1c5 0502 rsb r5, r5, #2 80cb656: 4b8a ldr r3, [pc, #552] ; (80cb880 <__ieee754_pow+0x320>) 80cb658: 4598 cmp r8, r3 80cb65a: d11d bne.n 80cb698 <__ieee754_pow+0x138> 80cb65c: f1ba 0f00 cmp.w sl, #0 80cb660: f280 829d bge.w 80cbb9e <__ieee754_pow+0x63e> 80cb664: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80cb668: ee87 6b08 vdiv.f64 d6, d7, d8 80cb66c: ed8d 6b00 vstr d6, [sp] 80cb670: e00b b.n 80cb68a <__ieee754_pow+0x12a> 80cb672: 2502 movs r5, #2 80cb674: e7c7 b.n 80cb606 <__ieee754_pow+0xa6> 80cb676: 2500 movs r5, #0 80cb678: e7c5 b.n 80cb606 <__ieee754_pow+0xa6> 80cb67a: f1ba 0f00 cmp.w sl, #0 80cb67e: dad6 bge.n 80cb62e <__ieee754_pow+0xce> 80cb680: f087 4400 eor.w r4, r7, #2147483648 ; 0x80000000 80cb684: 4633 mov r3, r6 80cb686: e88d 0018 stmia.w sp, {r3, r4} 80cb68a: ed9d 0b00 vldr d0, [sp] 80cb68e: b005 add sp, #20 80cb690: ecbd 8b02 vpop {d8} 80cb694: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80cb698: f1ba 4f80 cmp.w sl, #1073741824 ; 0x40000000 80cb69c: d102 bne.n 80cb6a4 <__ieee754_pow+0x144> 80cb69e: ee28 7b08 vmul.f64 d7, d8, d8 80cb6a2: e7c6 b.n 80cb632 <__ieee754_pow+0xd2> 80cb6a4: 4b77 ldr r3, [pc, #476] ; (80cb884 <__ieee754_pow+0x324>) 80cb6a6: 459a cmp sl, r3 80cb6a8: d10c bne.n 80cb6c4 <__ieee754_pow+0x164> 80cb6aa: f1b9 0f00 cmp.w r9, #0 80cb6ae: db09 blt.n 80cb6c4 <__ieee754_pow+0x164> 80cb6b0: eeb0 0b48 vmov.f64 d0, d8 80cb6b4: b005 add sp, #20 80cb6b6: ecbd 8b02 vpop {d8} 80cb6ba: e8bd 4ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cb6be: f000 bc17 b.w 80cbef0 <__ieee754_sqrt> 80cb6c2: 2500 movs r5, #0 80cb6c4: eeb0 0b48 vmov.f64 d0, d8 80cb6c8: f7ff fa72 bl 80cabb0 80cb6cc: ed8d 0b00 vstr d0, [sp] 80cb6d0: f1bb 0f00 cmp.w fp, #0 80cb6d4: d128 bne.n 80cb728 <__ieee754_pow+0x1c8> 80cb6d6: b124 cbz r4, 80cb6e2 <__ieee754_pow+0x182> 80cb6d8: 4b69 ldr r3, [pc, #420] ; (80cb880 <__ieee754_pow+0x320>) 80cb6da: f029 4240 bic.w r2, r9, #3221225472 ; 0xc0000000 80cb6de: 429a cmp r2, r3 80cb6e0: d122 bne.n 80cb728 <__ieee754_pow+0x1c8> 80cb6e2: f1ba 0f00 cmp.w sl, #0 80cb6e6: da07 bge.n 80cb6f8 <__ieee754_pow+0x198> 80cb6e8: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80cb6ec: ed9d 5b00 vldr d5, [sp] 80cb6f0: ee87 6b05 vdiv.f64 d6, d7, d5 80cb6f4: ed8d 6b00 vstr d6, [sp] 80cb6f8: f1b9 0f00 cmp.w r9, #0 80cb6fc: dac5 bge.n 80cb68a <__ieee754_pow+0x12a> 80cb6fe: f104 4440 add.w r4, r4, #3221225472 ; 0xc0000000 80cb702: f504 1480 add.w r4, r4, #1048576 ; 0x100000 80cb706: ea54 0305 orrs.w r3, r4, r5 80cb70a: d106 bne.n 80cb71a <__ieee754_pow+0x1ba> 80cb70c: ed9d 7b00 vldr d7, [sp] 80cb710: ee37 7b47 vsub.f64 d7, d7, d7 80cb714: ee87 6b07 vdiv.f64 d6, d7, d7 80cb718: e7a8 b.n 80cb66c <__ieee754_pow+0x10c> 80cb71a: 2d01 cmp r5, #1 80cb71c: d1b5 bne.n 80cb68a <__ieee754_pow+0x12a> 80cb71e: ed9d 7b00 vldr d7, [sp] 80cb722: eeb1 7b47 vneg.f64 d7, d7 80cb726: e784 b.n 80cb632 <__ieee754_pow+0xd2> 80cb728: ea4f 79d9 mov.w r9, r9, lsr #31 80cb72c: f109 30ff add.w r0, r9, #4294967295 80cb730: ea55 0300 orrs.w r3, r5, r0 80cb734: d104 bne.n 80cb740 <__ieee754_pow+0x1e0> 80cb736: ee38 8b48 vsub.f64 d8, d8, d8 80cb73a: ee88 7b08 vdiv.f64 d7, d8, d8 80cb73e: e778 b.n 80cb632 <__ieee754_pow+0xd2> 80cb740: 4b51 ldr r3, [pc, #324] ; (80cb888 <__ieee754_pow+0x328>) 80cb742: 4598 cmp r8, r3 80cb744: f340 80a6 ble.w 80cb894 <__ieee754_pow+0x334> 80cb748: f103 7304 add.w r3, r3, #34603008 ; 0x2100000 80cb74c: 4598 cmp r8, r3 80cb74e: dd0b ble.n 80cb768 <__ieee754_pow+0x208> 80cb750: 4b4a ldr r3, [pc, #296] ; (80cb87c <__ieee754_pow+0x31c>) 80cb752: 429c cmp r4, r3 80cb754: dc0e bgt.n 80cb774 <__ieee754_pow+0x214> 80cb756: f1ba 0f00 cmp.w sl, #0 80cb75a: f6bf af68 bge.w 80cb62e <__ieee754_pow+0xce> 80cb75e: ed9f 7b3a vldr d7, [pc, #232] ; 80cb848 <__ieee754_pow+0x2e8> 80cb762: ee27 7b07 vmul.f64 d7, d7, d7 80cb766: e764 b.n 80cb632 <__ieee754_pow+0xd2> 80cb768: 4b48 ldr r3, [pc, #288] ; (80cb88c <__ieee754_pow+0x32c>) 80cb76a: 429c cmp r4, r3 80cb76c: ddf3 ble.n 80cb756 <__ieee754_pow+0x1f6> 80cb76e: 4b44 ldr r3, [pc, #272] ; (80cb880 <__ieee754_pow+0x320>) 80cb770: 429c cmp r4, r3 80cb772: dd03 ble.n 80cb77c <__ieee754_pow+0x21c> 80cb774: f1ba 0f00 cmp.w sl, #0 80cb778: dcf1 bgt.n 80cb75e <__ieee754_pow+0x1fe> 80cb77a: e758 b.n 80cb62e <__ieee754_pow+0xce> 80cb77c: ed9d 7b00 vldr d7, [sp] 80cb780: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80cb784: ed9f 5b32 vldr d5, [pc, #200] ; 80cb850 <__ieee754_pow+0x2f0> 80cb788: ee37 6b46 vsub.f64 d6, d7, d6 80cb78c: eeb5 7b00 vmov.f64 d7, #80 ; 0x3e800000 0.250 80cb790: eeb1 3b46 vneg.f64 d3, d6 80cb794: eea3 5b07 vfma.f64 d5, d3, d7 80cb798: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80cb79c: eea3 7b05 vfma.f64 d7, d3, d5 80cb7a0: ee26 5b06 vmul.f64 d5, d6, d6 80cb7a4: ee27 5b05 vmul.f64 d5, d7, d5 80cb7a8: ed9f 7b2b vldr d7, [pc, #172] ; 80cb858 <__ieee754_pow+0x2f8> 80cb7ac: ee27 7b45 vnmul.f64 d7, d7, d5 80cb7b0: ed9f 5b2b vldr d5, [pc, #172] ; 80cb860 <__ieee754_pow+0x300> 80cb7b4: eea6 7b05 vfma.f64 d7, d6, d5 80cb7b8: ed9f 5b2b vldr d5, [pc, #172] ; 80cb868 <__ieee754_pow+0x308> 80cb7bc: eeb0 4b47 vmov.f64 d4, d7 80cb7c0: eea6 4b05 vfma.f64 d4, d6, d5 80cb7c4: ec53 2b14 vmov r2, r3, d4 80cb7c8: 2200 movs r2, #0 80cb7ca: ec43 2b14 vmov d4, r2, r3 80cb7ce: eeb0 6b44 vmov.f64 d6, d4 80cb7d2: eea3 6b05 vfma.f64 d6, d3, d5 80cb7d6: ee37 7b46 vsub.f64 d7, d7, d6 80cb7da: 3d01 subs r5, #1 80cb7dc: ea55 0300 orrs.w r3, r5, r0 80cb7e0: f04f 0200 mov.w r2, #0 80cb7e4: 463b mov r3, r7 80cb7e6: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80cb7ea: ec47 6b15 vmov d5, r6, r7 80cb7ee: eeb7 8b00 vmov.f64 d8, #112 ; 0x3f800000 1.0 80cb7f2: bf08 it eq 80cb7f4: eeb0 8b46 vmoveq.f64 d8, d6 80cb7f8: ec43 2b16 vmov d6, r2, r3 80cb7fc: ee27 7b05 vmul.f64 d7, d7, d5 80cb800: 4b23 ldr r3, [pc, #140] ; (80cb890 <__ieee754_pow+0x330>) 80cb802: ee35 5b46 vsub.f64 d5, d5, d6 80cb806: ee24 6b06 vmul.f64 d6, d4, d6 80cb80a: eea4 7b05 vfma.f64 d7, d4, d5 80cb80e: ee37 5b06 vadd.f64 d5, d7, d6 80cb812: ee15 1a90 vmov r1, s11 80cb816: 4299 cmp r1, r3 80cb818: ee15 2a10 vmov r2, s10 80cb81c: f340 819b ble.w 80cbb56 <__ieee754_pow+0x5f6> 80cb820: f101 433f add.w r3, r1, #3204448256 ; 0xbf000000 80cb824: f503 03e0 add.w r3, r3, #7340032 ; 0x700000 80cb828: 4313 orrs r3, r2 80cb82a: f000 810a beq.w 80cba42 <__ieee754_pow+0x4e2> 80cb82e: ed9f 7b06 vldr d7, [pc, #24] ; 80cb848 <__ieee754_pow+0x2e8> 80cb832: ee28 8b07 vmul.f64 d8, d8, d7 80cb836: ee28 7b07 vmul.f64 d7, d8, d7 80cb83a: e6fa b.n 80cb632 <__ieee754_pow+0xd2> 80cb83c: f3af 8000 nop.w ... 80cb848: 8800759c .word 0x8800759c 80cb84c: 7e37e43c .word 0x7e37e43c 80cb850: 55555555 .word 0x55555555 80cb854: 3fd55555 .word 0x3fd55555 80cb858: 652b82fe .word 0x652b82fe 80cb85c: 3ff71547 .word 0x3ff71547 80cb860: f85ddf44 .word 0xf85ddf44 80cb864: 3e54ae0b .word 0x3e54ae0b 80cb868: 60000000 .word 0x60000000 80cb86c: 3ff71547 .word 0x3ff71547 80cb870: 7ff00000 .word 0x7ff00000 80cb874: 08186923 .word 0x08186923 80cb878: 433fffff .word 0x433fffff 80cb87c: 3fefffff .word 0x3fefffff 80cb880: 3ff00000 .word 0x3ff00000 80cb884: 3fe00000 .word 0x3fe00000 80cb888: 41e00000 .word 0x41e00000 80cb88c: 3feffffe .word 0x3feffffe 80cb890: 408fffff .word 0x408fffff 80cb894: f5b4 1f80 cmp.w r4, #1048576 ; 0x100000 80cb898: f280 80cf bge.w 80cba3a <__ieee754_pow+0x4da> 80cb89c: ed9d 6b00 vldr d6, [sp] 80cb8a0: ed9f 7bc1 vldr d7, [pc, #772] ; 80cbba8 <__ieee754_pow+0x648> 80cb8a4: ee26 7b07 vmul.f64 d7, d6, d7 80cb8a8: ed8d 7b00 vstr d7, [sp] 80cb8ac: 9c01 ldr r4, [sp, #4] 80cb8ae: f06f 0334 mvn.w r3, #52 ; 0x34 80cb8b2: 1521 asrs r1, r4, #20 80cb8b4: f2a1 31ff subw r1, r1, #1023 ; 0x3ff 80cb8b8: 4419 add r1, r3 80cb8ba: 4be3 ldr r3, [pc, #908] ; (80cbc48 <__ieee754_pow+0x6e8>) 80cb8bc: f3c4 0413 ubfx r4, r4, #0, #20 80cb8c0: f044 5e7f orr.w lr, r4, #1069547520 ; 0x3fc00000 80cb8c4: 429c cmp r4, r3 80cb8c6: f44e 1e40 orr.w lr, lr, #3145728 ; 0x300000 80cb8ca: dd06 ble.n 80cb8da <__ieee754_pow+0x37a> 80cb8cc: 4bdf ldr r3, [pc, #892] ; (80cbc4c <__ieee754_pow+0x6ec>) 80cb8ce: 429c cmp r4, r3 80cb8d0: f340 80b5 ble.w 80cba3e <__ieee754_pow+0x4de> 80cb8d4: 3101 adds r1, #1 80cb8d6: f5ae 1e80 sub.w lr, lr, #1048576 ; 0x100000 80cb8da: 2400 movs r4, #0 80cb8dc: e9dd 2300 ldrd r2, r3, [sp] 80cb8e0: eeb7 4b00 vmov.f64 d4, #112 ; 0x3f800000 1.0 80cb8e4: 4673 mov r3, lr 80cb8e6: ec43 2b17 vmov d7, r2, r3 80cb8ea: 4bd9 ldr r3, [pc, #868] ; (80cbc50 <__ieee754_pow+0x6f0>) 80cb8ec: ea4f 0cc4 mov.w ip, r4, lsl #3 80cb8f0: 4463 add r3, ip 80cb8f2: ed93 5b00 vldr d5, [r3] 80cb8f6: ea4f 0e6e mov.w lr, lr, asr #1 80cb8fa: ee37 2b45 vsub.f64 d2, d7, d5 80cb8fe: ee37 6b05 vadd.f64 d6, d7, d5 80cb902: ee84 1b06 vdiv.f64 d1, d4, d6 80cb906: ee22 6b01 vmul.f64 d6, d2, d1 80cb90a: ed8d 6b00 vstr d6, [sp] 80cb90e: e9dd 8900 ldrd r8, r9, [sp] 80cb912: f04e 5e00 orr.w lr, lr, #536870912 ; 0x20000000 80cb916: f50e 2e00 add.w lr, lr, #524288 ; 0x80000 80cb91a: f04f 0800 mov.w r8, #0 80cb91e: eb0e 4384 add.w r3, lr, r4, lsl #18 80cb922: 2200 movs r2, #0 80cb924: ec49 8b14 vmov d4, r8, r9 80cb928: ec43 2b16 vmov d6, r2, r3 80cb92c: eeb1 3b44 vneg.f64 d3, d4 80cb930: eea3 2b06 vfma.f64 d2, d3, d6 80cb934: ee36 6b45 vsub.f64 d6, d6, d5 80cb938: ee37 7b46 vsub.f64 d7, d7, d6 80cb93c: eea3 2b07 vfma.f64 d2, d3, d7 80cb940: ed9d 7b00 vldr d7, [sp] 80cb944: ee22 2b01 vmul.f64 d2, d2, d1 80cb948: ee27 5b07 vmul.f64 d5, d7, d7 80cb94c: ee37 6b04 vadd.f64 d6, d7, d4 80cb950: ed9f 1b97 vldr d1, [pc, #604] ; 80cbbb0 <__ieee754_pow+0x650> 80cb954: ee25 0b05 vmul.f64 d0, d5, d5 80cb958: ee26 6b02 vmul.f64 d6, d6, d2 80cb95c: ed9f 7b96 vldr d7, [pc, #600] ; 80cbbb8 <__ieee754_pow+0x658> 80cb960: eea5 7b01 vfma.f64 d7, d5, d1 80cb964: ed9f 1b96 vldr d1, [pc, #600] ; 80cbbc0 <__ieee754_pow+0x660> 80cb968: eea5 1b07 vfma.f64 d1, d5, d7 80cb96c: ed9f 7b96 vldr d7, [pc, #600] ; 80cbbc8 <__ieee754_pow+0x668> 80cb970: eea5 7b01 vfma.f64 d7, d5, d1 80cb974: ed9f 1b96 vldr d1, [pc, #600] ; 80cbbd0 <__ieee754_pow+0x670> 80cb978: eea5 1b07 vfma.f64 d1, d5, d7 80cb97c: ed9f 7b96 vldr d7, [pc, #600] ; 80cbbd8 <__ieee754_pow+0x678> 80cb980: eea5 7b01 vfma.f64 d7, d5, d1 80cb984: eea0 6b07 vfma.f64 d6, d0, d7 80cb988: eeb0 7b08 vmov.f64 d7, #8 ; 0x40400000 3.0 80cb98c: eeb0 5b47 vmov.f64 d5, d7 80cb990: eea4 5b04 vfma.f64 d5, d4, d4 80cb994: ee35 5b06 vadd.f64 d5, d5, d6 80cb998: ed8d 5b02 vstr d5, [sp, #8] 80cb99c: f8cd 8008 str.w r8, [sp, #8] 80cb9a0: ed9d 5b02 vldr d5, [sp, #8] 80cb9a4: ee35 7b47 vsub.f64 d7, d5, d7 80cb9a8: eea3 7b04 vfma.f64 d7, d3, d4 80cb9ac: ee36 7b47 vsub.f64 d7, d6, d7 80cb9b0: ed9d 6b00 vldr d6, [sp] 80cb9b4: ee27 7b06 vmul.f64 d7, d7, d6 80cb9b8: eea2 7b05 vfma.f64 d7, d2, d5 80cb9bc: eeb0 6b47 vmov.f64 d6, d7 80cb9c0: eea4 6b05 vfma.f64 d6, d4, d5 80cb9c4: ed8d 6b00 vstr d6, [sp] 80cb9c8: f8cd 8000 str.w r8, [sp] 80cb9cc: ed9d 2b00 vldr d2, [sp] 80cb9d0: eeb0 6b42 vmov.f64 d6, d2 80cb9d4: eea3 6b05 vfma.f64 d6, d3, d5 80cb9d8: ee37 7b46 vsub.f64 d7, d7, d6 80cb9dc: ed9f 6b80 vldr d6, [pc, #512] ; 80cbbe0 <__ieee754_pow+0x680> 80cb9e0: 4b9c ldr r3, [pc, #624] ; (80cbc54 <__ieee754_pow+0x6f4>) 80cb9e2: ee27 7b06 vmul.f64 d7, d7, d6 80cb9e6: ed9f 6b80 vldr d6, [pc, #512] ; 80cbbe8 <__ieee754_pow+0x688> 80cb9ea: 4463 add r3, ip 80cb9ec: eea2 7b06 vfma.f64 d7, d2, d6 80cb9f0: ed93 6b00 vldr d6, [r3] 80cb9f4: 4b98 ldr r3, [pc, #608] ; (80cbc58 <__ieee754_pow+0x6f8>) 80cb9f6: ee37 6b06 vadd.f64 d6, d7, d6 80cb9fa: 449c add ip, r3 80cb9fc: ed9c 1b00 vldr d1, [ip] 80cba00: eeb0 4b46 vmov.f64 d4, d6 80cba04: ed9f 3b7a vldr d3, [pc, #488] ; 80cbbf0 <__ieee754_pow+0x690> 80cba08: ee07 1a90 vmov s15, r1 80cba0c: eea2 4b03 vfma.f64 d4, d2, d3 80cba10: eeb8 7be7 vcvt.f64.s32 d7, s15 80cba14: ee34 4b01 vadd.f64 d4, d4, d1 80cba18: ee34 5b07 vadd.f64 d5, d4, d7 80cba1c: ed8d 5b00 vstr d5, [sp] 80cba20: f8cd 8000 str.w r8, [sp] 80cba24: ed9d 4b00 vldr d4, [sp] 80cba28: ee34 7b47 vsub.f64 d7, d4, d7 80cba2c: ee37 7b41 vsub.f64 d7, d7, d1 80cba30: eea2 7b43 vfms.f64 d7, d2, d3 80cba34: ee36 7b47 vsub.f64 d7, d6, d7 80cba38: e6cf b.n 80cb7da <__ieee754_pow+0x27a> 80cba3a: 2300 movs r3, #0 80cba3c: e739 b.n 80cb8b2 <__ieee754_pow+0x352> 80cba3e: 2401 movs r4, #1 80cba40: e74c b.n 80cb8dc <__ieee754_pow+0x37c> 80cba42: ed9f 4b6d vldr d4, [pc, #436] ; 80cbbf8 <__ieee754_pow+0x698> 80cba46: ee35 5b46 vsub.f64 d5, d5, d6 80cba4a: ee37 4b04 vadd.f64 d4, d7, d4 80cba4e: eeb4 4bc5 vcmpe.f64 d4, d5 80cba52: eef1 fa10 vmrs APSR_nzcv, fpscr 80cba56: f73f aeea bgt.w 80cb82e <__ieee754_pow+0x2ce> 80cba5a: 4a80 ldr r2, [pc, #512] ; (80cbc5c <__ieee754_pow+0x6fc>) 80cba5c: f021 4300 bic.w r3, r1, #2147483648 ; 0x80000000 80cba60: 4293 cmp r3, r2 80cba62: f340 808e ble.w 80cbb82 <__ieee754_pow+0x622> 80cba66: 151b asrs r3, r3, #20 80cba68: f2a3 30fe subw r0, r3, #1022 ; 0x3fe 80cba6c: f44f 1380 mov.w r3, #1048576 ; 0x100000 80cba70: 4103 asrs r3, r0 80cba72: 440b add r3, r1 80cba74: f3c3 520a ubfx r2, r3, #20, #11 80cba78: 4879 ldr r0, [pc, #484] ; (80cbc60 <__ieee754_pow+0x700>) 80cba7a: f2a2 32ff subw r2, r2, #1023 ; 0x3ff 80cba7e: 4110 asrs r0, r2 80cba80: ea23 0500 bic.w r5, r3, r0 80cba84: f3c3 0013 ubfx r0, r3, #0, #20 80cba88: 2400 movs r4, #0 80cba8a: f440 1080 orr.w r0, r0, #1048576 ; 0x100000 80cba8e: f1c2 0214 rsb r2, r2, #20 80cba92: ec45 4b15 vmov d5, r4, r5 80cba96: 4110 asrs r0, r2 80cba98: 2900 cmp r1, #0 80cba9a: bfb8 it lt 80cba9c: 4240 neglt r0, r0 80cba9e: ee36 6b45 vsub.f64 d6, d6, d5 80cbaa2: ee36 5b07 vadd.f64 d5, d6, d7 80cbaa6: ec53 2b15 vmov r2, r3, d5 80cbaaa: 2200 movs r2, #0 80cbaac: ec43 2b15 vmov d5, r2, r3 80cbab0: ed9f 4b53 vldr d4, [pc, #332] ; 80cbc00 <__ieee754_pow+0x6a0> 80cbab4: ee35 6b46 vsub.f64 d6, d5, d6 80cbab8: ee37 6b46 vsub.f64 d6, d7, d6 80cbabc: ed9f 7b52 vldr d7, [pc, #328] ; 80cbc08 <__ieee754_pow+0x6a8> 80cbac0: ee25 7b07 vmul.f64 d7, d5, d7 80cbac4: eea6 7b04 vfma.f64 d7, d6, d4 80cbac8: ed9f 6b51 vldr d6, [pc, #324] ; 80cbc10 <__ieee754_pow+0x6b0> 80cbacc: eeb0 4b47 vmov.f64 d4, d7 80cbad0: eea5 4b06 vfma.f64 d4, d5, d6 80cbad4: eeb0 3b44 vmov.f64 d3, d4 80cbad8: eea5 3b46 vfms.f64 d3, d5, d6 80cbadc: ed9f 5b4e vldr d5, [pc, #312] ; 80cbc18 <__ieee754_pow+0x6b8> 80cbae0: ee37 7b43 vsub.f64 d7, d7, d3 80cbae4: ee24 6b04 vmul.f64 d6, d4, d4 80cbae8: ed9f 3b4d vldr d3, [pc, #308] ; 80cbc20 <__ieee754_pow+0x6c0> 80cbaec: eea4 7b07 vfma.f64 d7, d4, d7 80cbaf0: eea6 3b05 vfma.f64 d3, d6, d5 80cbaf4: ed9f 5b4c vldr d5, [pc, #304] ; 80cbc28 <__ieee754_pow+0x6c8> 80cbaf8: eea6 5b03 vfma.f64 d5, d6, d3 80cbafc: ed9f 3b4c vldr d3, [pc, #304] ; 80cbc30 <__ieee754_pow+0x6d0> 80cbb00: eea6 3b05 vfma.f64 d3, d6, d5 80cbb04: ed9f 5b4c vldr d5, [pc, #304] ; 80cbc38 <__ieee754_pow+0x6d8> 80cbb08: eea6 5b03 vfma.f64 d5, d6, d3 80cbb0c: eeb0 3b44 vmov.f64 d3, d4 80cbb10: eea6 3b45 vfms.f64 d3, d6, d5 80cbb14: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 80cbb18: eeb0 6b43 vmov.f64 d6, d3 80cbb1c: ee24 3b03 vmul.f64 d3, d4, d3 80cbb20: ee36 5b45 vsub.f64 d5, d6, d5 80cbb24: ee83 6b05 vdiv.f64 d6, d3, d5 80cbb28: ee36 7b47 vsub.f64 d7, d6, d7 80cbb2c: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80cbb30: ee37 7b44 vsub.f64 d7, d7, d4 80cbb34: ee36 7b47 vsub.f64 d7, d6, d7 80cbb38: ed8d 7b00 vstr d7, [sp] 80cbb3c: 9901 ldr r1, [sp, #4] 80cbb3e: eb01 5100 add.w r1, r1, r0, lsl #20 80cbb42: f5b1 1f80 cmp.w r1, #1048576 ; 0x100000 80cbb46: da1e bge.n 80cbb86 <__ieee754_pow+0x626> 80cbb48: eeb0 0b47 vmov.f64 d0, d7 80cbb4c: f001 f95c bl 80cce08 80cbb50: ee20 7b08 vmul.f64 d7, d0, d8 80cbb54: e56d b.n 80cb632 <__ieee754_pow+0xd2> 80cbb56: 4b43 ldr r3, [pc, #268] ; (80cbc64 <__ieee754_pow+0x704>) 80cbb58: f021 4000 bic.w r0, r1, #2147483648 ; 0x80000000 80cbb5c: 4298 cmp r0, r3 80cbb5e: f77f af7c ble.w 80cba5a <__ieee754_pow+0x4fa> 80cbb62: 4b41 ldr r3, [pc, #260] ; (80cbc68 <__ieee754_pow+0x708>) 80cbb64: 440b add r3, r1 80cbb66: 4313 orrs r3, r2 80cbb68: d002 beq.n 80cbb70 <__ieee754_pow+0x610> 80cbb6a: ed9f 7b35 vldr d7, [pc, #212] ; 80cbc40 <__ieee754_pow+0x6e0> 80cbb6e: e660 b.n 80cb832 <__ieee754_pow+0x2d2> 80cbb70: ee35 5b46 vsub.f64 d5, d5, d6 80cbb74: eeb4 7bc5 vcmpe.f64 d7, d5 80cbb78: eef1 fa10 vmrs APSR_nzcv, fpscr 80cbb7c: f63f af6d bhi.w 80cba5a <__ieee754_pow+0x4fa> 80cbb80: e7f3 b.n 80cbb6a <__ieee754_pow+0x60a> 80cbb82: 2000 movs r0, #0 80cbb84: e78d b.n 80cbaa2 <__ieee754_pow+0x542> 80cbb86: e9dd 2300 ldrd r2, r3, [sp] 80cbb8a: 460b mov r3, r1 80cbb8c: ec43 2b10 vmov d0, r2, r3 80cbb90: e7de b.n 80cbb50 <__ieee754_pow+0x5f0> 80cbb92: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80cbb96: e54c b.n 80cb632 <__ieee754_pow+0xd2> 80cbb98: e9cd 6700 strd r6, r7, [sp] 80cbb9c: e575 b.n 80cb68a <__ieee754_pow+0x12a> 80cbb9e: ed8d 8b00 vstr d8, [sp] 80cbba2: e572 b.n 80cb68a <__ieee754_pow+0x12a> 80cbba4: 4615 mov r5, r2 80cbba6: e556 b.n 80cb656 <__ieee754_pow+0xf6> 80cbba8: 00000000 .word 0x00000000 80cbbac: 43400000 .word 0x43400000 80cbbb0: 4a454eef .word 0x4a454eef 80cbbb4: 3fca7e28 .word 0x3fca7e28 80cbbb8: 93c9db65 .word 0x93c9db65 80cbbbc: 3fcd864a .word 0x3fcd864a 80cbbc0: a91d4101 .word 0xa91d4101 80cbbc4: 3fd17460 .word 0x3fd17460 80cbbc8: 518f264d .word 0x518f264d 80cbbcc: 3fd55555 .word 0x3fd55555 80cbbd0: db6fabff .word 0xdb6fabff 80cbbd4: 3fdb6db6 .word 0x3fdb6db6 80cbbd8: 33333303 .word 0x33333303 80cbbdc: 3fe33333 .word 0x3fe33333 80cbbe0: dc3a03fd .word 0xdc3a03fd 80cbbe4: 3feec709 .word 0x3feec709 80cbbe8: 145b01f5 .word 0x145b01f5 80cbbec: be3e2fe0 .word 0xbe3e2fe0 80cbbf0: e0000000 .word 0xe0000000 80cbbf4: 3feec709 .word 0x3feec709 80cbbf8: 652b82fe .word 0x652b82fe 80cbbfc: 3c971547 .word 0x3c971547 80cbc00: fefa39ef .word 0xfefa39ef 80cbc04: 3fe62e42 .word 0x3fe62e42 80cbc08: 0ca86c39 .word 0x0ca86c39 80cbc0c: be205c61 .word 0xbe205c61 80cbc10: 00000000 .word 0x00000000 80cbc14: 3fe62e43 .word 0x3fe62e43 80cbc18: 72bea4d0 .word 0x72bea4d0 80cbc1c: 3e663769 .word 0x3e663769 80cbc20: c5d26bf1 .word 0xc5d26bf1 80cbc24: bebbbd41 .word 0xbebbbd41 80cbc28: af25de2c .word 0xaf25de2c 80cbc2c: 3f11566a .word 0x3f11566a 80cbc30: 16bebd93 .word 0x16bebd93 80cbc34: bf66c16c .word 0xbf66c16c 80cbc38: 5555553e .word 0x5555553e 80cbc3c: 3fc55555 .word 0x3fc55555 80cbc40: c2f8f359 .word 0xc2f8f359 80cbc44: 01a56e1f .word 0x01a56e1f 80cbc48: 0003988e .word 0x0003988e 80cbc4c: 000bb679 .word 0x000bb679 80cbc50: 08186670 .word 0x08186670 80cbc54: 08186690 .word 0x08186690 80cbc58: 08186680 .word 0x08186680 80cbc5c: 3fe00000 .word 0x3fe00000 80cbc60: 000fffff .word 0x000fffff 80cbc64: 4090cbff .word 0x4090cbff 80cbc68: 3f6f3400 .word 0x3f6f3400 80cbc6c: 00000000 .word 0x00000000 080cbc70 <__ieee754_rem_pio2>: 80cbc70: b5f0 push {r4, r5, r6, r7, lr} 80cbc72: eeb0 7b40 vmov.f64 d7, d0 80cbc76: ee17 5a90 vmov r5, s15 80cbc7a: 4b97 ldr r3, [pc, #604] ; (80cbed8 <__ieee754_rem_pio2+0x268>) 80cbc7c: f025 4600 bic.w r6, r5, #2147483648 ; 0x80000000 80cbc80: 429e cmp r6, r3 80cbc82: b089 sub sp, #36 ; 0x24 80cbc84: 4604 mov r4, r0 80cbc86: dc07 bgt.n 80cbc98 <__ieee754_rem_pio2+0x28> 80cbc88: 2200 movs r2, #0 80cbc8a: 2300 movs r3, #0 80cbc8c: ed84 0b00 vstr d0, [r4] 80cbc90: e9c0 2302 strd r2, r3, [r0, #8] 80cbc94: 2000 movs r0, #0 80cbc96: e01b b.n 80cbcd0 <__ieee754_rem_pio2+0x60> 80cbc98: 4b90 ldr r3, [pc, #576] ; (80cbedc <__ieee754_rem_pio2+0x26c>) 80cbc9a: 429e cmp r6, r3 80cbc9c: dc3b bgt.n 80cbd16 <__ieee754_rem_pio2+0xa6> 80cbc9e: f5a3 231b sub.w r3, r3, #634880 ; 0x9b000 80cbca2: 2d00 cmp r5, #0 80cbca4: ed9f 6b7c vldr d6, [pc, #496] ; 80cbe98 <__ieee754_rem_pio2+0x228> 80cbca8: f5a3 63f0 sub.w r3, r3, #1920 ; 0x780 80cbcac: dd19 ble.n 80cbce2 <__ieee754_rem_pio2+0x72> 80cbcae: ee30 7b46 vsub.f64 d7, d0, d6 80cbcb2: 429e cmp r6, r3 80cbcb4: d00e beq.n 80cbcd4 <__ieee754_rem_pio2+0x64> 80cbcb6: ed9f 6b7a vldr d6, [pc, #488] ; 80cbea0 <__ieee754_rem_pio2+0x230> 80cbcba: ee37 5b46 vsub.f64 d5, d7, d6 80cbcbe: ee37 7b45 vsub.f64 d7, d7, d5 80cbcc2: ed84 5b00 vstr d5, [r4] 80cbcc6: ee37 7b46 vsub.f64 d7, d7, d6 80cbcca: ed84 7b02 vstr d7, [r4, #8] 80cbcce: 2001 movs r0, #1 80cbcd0: b009 add sp, #36 ; 0x24 80cbcd2: bdf0 pop {r4, r5, r6, r7, pc} 80cbcd4: ed9f 6b74 vldr d6, [pc, #464] ; 80cbea8 <__ieee754_rem_pio2+0x238> 80cbcd8: ee37 7b46 vsub.f64 d7, d7, d6 80cbcdc: ed9f 6b74 vldr d6, [pc, #464] ; 80cbeb0 <__ieee754_rem_pio2+0x240> 80cbce0: e7eb b.n 80cbcba <__ieee754_rem_pio2+0x4a> 80cbce2: 429e cmp r6, r3 80cbce4: ee30 7b06 vadd.f64 d7, d0, d6 80cbce8: d00e beq.n 80cbd08 <__ieee754_rem_pio2+0x98> 80cbcea: ed9f 6b6d vldr d6, [pc, #436] ; 80cbea0 <__ieee754_rem_pio2+0x230> 80cbcee: ee37 5b06 vadd.f64 d5, d7, d6 80cbcf2: ee37 7b45 vsub.f64 d7, d7, d5 80cbcf6: ed84 5b00 vstr d5, [r4] 80cbcfa: ee37 7b06 vadd.f64 d7, d7, d6 80cbcfe: f04f 30ff mov.w r0, #4294967295 80cbd02: ed84 7b02 vstr d7, [r4, #8] 80cbd06: e7e3 b.n 80cbcd0 <__ieee754_rem_pio2+0x60> 80cbd08: ed9f 6b67 vldr d6, [pc, #412] ; 80cbea8 <__ieee754_rem_pio2+0x238> 80cbd0c: ee37 7b06 vadd.f64 d7, d7, d6 80cbd10: ed9f 6b67 vldr d6, [pc, #412] ; 80cbeb0 <__ieee754_rem_pio2+0x240> 80cbd14: e7eb b.n 80cbcee <__ieee754_rem_pio2+0x7e> 80cbd16: 4b72 ldr r3, [pc, #456] ; (80cbee0 <__ieee754_rem_pio2+0x270>) 80cbd18: 429e cmp r6, r3 80cbd1a: dc6e bgt.n 80cbdfa <__ieee754_rem_pio2+0x18a> 80cbd1c: f7fe ff48 bl 80cabb0 80cbd20: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80cbd24: ed9f 6b64 vldr d6, [pc, #400] ; 80cbeb8 <__ieee754_rem_pio2+0x248> 80cbd28: eea0 7b06 vfma.f64 d7, d0, d6 80cbd2c: eefd 7bc7 vcvt.s32.f64 s15, d7 80cbd30: eeb8 4be7 vcvt.f64.s32 d4, s15 80cbd34: ee17 0a90 vmov r0, s15 80cbd38: eeb1 5b44 vneg.f64 d5, d4 80cbd3c: ed9f 7b56 vldr d7, [pc, #344] ; 80cbe98 <__ieee754_rem_pio2+0x228> 80cbd40: eea5 0b07 vfma.f64 d0, d5, d7 80cbd44: ed9f 7b56 vldr d7, [pc, #344] ; 80cbea0 <__ieee754_rem_pio2+0x230> 80cbd48: 281f cmp r0, #31 80cbd4a: ee24 7b07 vmul.f64 d7, d4, d7 80cbd4e: ee30 6b47 vsub.f64 d6, d0, d7 80cbd52: dc1b bgt.n 80cbd8c <__ieee754_rem_pio2+0x11c> 80cbd54: 1e42 subs r2, r0, #1 80cbd56: 4b63 ldr r3, [pc, #396] ; (80cbee4 <__ieee754_rem_pio2+0x274>) 80cbd58: f853 3022 ldr.w r3, [r3, r2, lsl #2] 80cbd5c: 429e cmp r6, r3 80cbd5e: d015 beq.n 80cbd8c <__ieee754_rem_pio2+0x11c> 80cbd60: ed84 6b00 vstr d6, [r4] 80cbd64: ed94 6b00 vldr d6, [r4] 80cbd68: 2d00 cmp r5, #0 80cbd6a: ee30 0b46 vsub.f64 d0, d0, d6 80cbd6e: ee30 7b47 vsub.f64 d7, d0, d7 80cbd72: ed84 7b02 vstr d7, [r4, #8] 80cbd76: daab bge.n 80cbcd0 <__ieee754_rem_pio2+0x60> 80cbd78: eeb1 6b46 vneg.f64 d6, d6 80cbd7c: ed84 6b00 vstr d6, [r4] 80cbd80: eeb1 7b47 vneg.f64 d7, d7 80cbd84: 4240 negs r0, r0 80cbd86: ed84 7b02 vstr d7, [r4, #8] 80cbd8a: e7a1 b.n 80cbcd0 <__ieee754_rem_pio2+0x60> 80cbd8c: ee16 3a90 vmov r3, s13 80cbd90: 1536 asrs r6, r6, #20 80cbd92: f3c3 530a ubfx r3, r3, #20, #11 80cbd96: 1af3 subs r3, r6, r3 80cbd98: 2b10 cmp r3, #16 80cbd9a: ed84 6b00 vstr d6, [r4] 80cbd9e: dde1 ble.n 80cbd64 <__ieee754_rem_pio2+0xf4> 80cbda0: eeb0 6b40 vmov.f64 d6, d0 80cbda4: ed9f 3b40 vldr d3, [pc, #256] ; 80cbea8 <__ieee754_rem_pio2+0x238> 80cbda8: eea5 6b03 vfma.f64 d6, d5, d3 80cbdac: ee30 7b46 vsub.f64 d7, d0, d6 80cbdb0: eea5 7b03 vfma.f64 d7, d5, d3 80cbdb4: ed9f 3b3e vldr d3, [pc, #248] ; 80cbeb0 <__ieee754_rem_pio2+0x240> 80cbdb8: ee94 7b03 vfnms.f64 d7, d4, d3 80cbdbc: ee36 3b47 vsub.f64 d3, d6, d7 80cbdc0: ee13 3a90 vmov r3, s7 80cbdc4: f3c3 530a ubfx r3, r3, #20, #11 80cbdc8: 1af6 subs r6, r6, r3 80cbdca: 2e31 cmp r6, #49 ; 0x31 80cbdcc: ed84 3b00 vstr d3, [r4] 80cbdd0: dd10 ble.n 80cbdf4 <__ieee754_rem_pio2+0x184> 80cbdd2: eeb0 0b46 vmov.f64 d0, d6 80cbdd6: ed9f 3b3a vldr d3, [pc, #232] ; 80cbec0 <__ieee754_rem_pio2+0x250> 80cbdda: eea5 0b03 vfma.f64 d0, d5, d3 80cbdde: ee36 7b40 vsub.f64 d7, d6, d0 80cbde2: ed9f 6b39 vldr d6, [pc, #228] ; 80cbec8 <__ieee754_rem_pio2+0x258> 80cbde6: eea5 7b03 vfma.f64 d7, d5, d3 80cbdea: ee94 7b06 vfnms.f64 d7, d4, d6 80cbdee: ee30 6b47 vsub.f64 d6, d0, d7 80cbdf2: e7b5 b.n 80cbd60 <__ieee754_rem_pio2+0xf0> 80cbdf4: eeb0 0b46 vmov.f64 d0, d6 80cbdf8: e7b4 b.n 80cbd64 <__ieee754_rem_pio2+0xf4> 80cbdfa: 4b3b ldr r3, [pc, #236] ; (80cbee8 <__ieee754_rem_pio2+0x278>) 80cbdfc: 429e cmp r6, r3 80cbdfe: dd06 ble.n 80cbe0e <__ieee754_rem_pio2+0x19e> 80cbe00: ee30 7b40 vsub.f64 d7, d0, d0 80cbe04: ed80 7b02 vstr d7, [r0, #8] 80cbe08: ed80 7b00 vstr d7, [r0] 80cbe0c: e742 b.n 80cbc94 <__ieee754_rem_pio2+0x24> 80cbe0e: ee10 3a10 vmov r3, s0 80cbe12: 1532 asrs r2, r6, #20 80cbe14: f2a2 4216 subw r2, r2, #1046 ; 0x416 80cbe18: 4618 mov r0, r3 80cbe1a: eba6 5102 sub.w r1, r6, r2, lsl #20 80cbe1e: ec41 0b17 vmov d7, r0, r1 80cbe22: eebd 6bc7 vcvt.s32.f64 s12, d7 80cbe26: ed9f 5b2a vldr d5, [pc, #168] ; 80cbed0 <__ieee754_rem_pio2+0x260> 80cbe2a: eeb8 6bc6 vcvt.f64.s32 d6, s12 80cbe2e: ee37 7b46 vsub.f64 d7, d7, d6 80cbe32: ed8d 6b02 vstr d6, [sp, #8] 80cbe36: ee27 7b05 vmul.f64 d7, d7, d5 80cbe3a: eebd 6bc7 vcvt.s32.f64 s12, d7 80cbe3e: a908 add r1, sp, #32 80cbe40: eeb8 6bc6 vcvt.f64.s32 d6, s12 80cbe44: ee37 7b46 vsub.f64 d7, d7, d6 80cbe48: ed8d 6b04 vstr d6, [sp, #16] 80cbe4c: ee27 7b05 vmul.f64 d7, d7, d5 80cbe50: ed8d 7b06 vstr d7, [sp, #24] 80cbe54: 2303 movs r3, #3 80cbe56: ed31 7b02 vldmdb r1!, {d7} 80cbe5a: eeb5 7b40 vcmp.f64 d7, #0.0 80cbe5e: eef1 fa10 vmrs APSR_nzcv, fpscr 80cbe62: f103 30ff add.w r0, r3, #4294967295 80cbe66: d013 beq.n 80cbe90 <__ieee754_rem_pio2+0x220> 80cbe68: 4920 ldr r1, [pc, #128] ; (80cbeec <__ieee754_rem_pio2+0x27c>) 80cbe6a: 9101 str r1, [sp, #4] 80cbe6c: 2102 movs r1, #2 80cbe6e: 9100 str r1, [sp, #0] 80cbe70: a802 add r0, sp, #8 80cbe72: 4621 mov r1, r4 80cbe74: f000 fad8 bl 80cc428 <__kernel_rem_pio2> 80cbe78: 2d00 cmp r5, #0 80cbe7a: f6bf af29 bge.w 80cbcd0 <__ieee754_rem_pio2+0x60> 80cbe7e: ed94 7b00 vldr d7, [r4] 80cbe82: eeb1 7b47 vneg.f64 d7, d7 80cbe86: ed84 7b00 vstr d7, [r4] 80cbe8a: ed94 7b02 vldr d7, [r4, #8] 80cbe8e: e777 b.n 80cbd80 <__ieee754_rem_pio2+0x110> 80cbe90: 4603 mov r3, r0 80cbe92: e7e0 b.n 80cbe56 <__ieee754_rem_pio2+0x1e6> 80cbe94: f3af 8000 nop.w 80cbe98: 54400000 .word 0x54400000 80cbe9c: 3ff921fb .word 0x3ff921fb 80cbea0: 1a626331 .word 0x1a626331 80cbea4: 3dd0b461 .word 0x3dd0b461 80cbea8: 1a600000 .word 0x1a600000 80cbeac: 3dd0b461 .word 0x3dd0b461 80cbeb0: 2e037073 .word 0x2e037073 80cbeb4: 3ba3198a .word 0x3ba3198a 80cbeb8: 6dc9c883 .word 0x6dc9c883 80cbebc: 3fe45f30 .word 0x3fe45f30 80cbec0: 2e000000 .word 0x2e000000 80cbec4: 3ba3198a .word 0x3ba3198a 80cbec8: 252049c1 .word 0x252049c1 80cbecc: 397b839a .word 0x397b839a 80cbed0: 00000000 .word 0x00000000 80cbed4: 41700000 .word 0x41700000 80cbed8: 3fe921fb .word 0x3fe921fb 80cbedc: 4002d97b .word 0x4002d97b 80cbee0: 413921fb .word 0x413921fb 80cbee4: 081866a0 .word 0x081866a0 80cbee8: 7fefffff .word 0x7fefffff 80cbeec: 08186720 .word 0x08186720 080cbef0 <__ieee754_sqrt>: 80cbef0: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80cbef4: ee10 3a90 vmov r3, s1 80cbef8: 4c4b ldr r4, [pc, #300] ; (80cc028 <__ieee754_sqrt+0x138>) 80cbefa: 439c bics r4, r3 80cbefc: ee10 0a10 vmov r0, s0 80cbf00: ee10 2a90 vmov r2, s1 80cbf04: ee10 1a10 vmov r1, s0 80cbf08: d103 bne.n 80cbf12 <__ieee754_sqrt+0x22> 80cbf0a: eea0 0b00 vfma.f64 d0, d0, d0 80cbf0e: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80cbf12: 2b00 cmp r3, #0 80cbf14: dc0a bgt.n 80cbf2c <__ieee754_sqrt+0x3c> 80cbf16: f023 4400 bic.w r4, r3, #2147483648 ; 0x80000000 80cbf1a: 4320 orrs r0, r4 80cbf1c: d079 beq.n 80cc012 <__ieee754_sqrt+0x122> 80cbf1e: b12b cbz r3, 80cbf2c <__ieee754_sqrt+0x3c> 80cbf20: ee30 7b40 vsub.f64 d7, d0, d0 80cbf24: ee87 0b07 vdiv.f64 d0, d7, d7 80cbf28: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80cbf2c: 151b asrs r3, r3, #20 80cbf2e: d10c bne.n 80cbf4a <__ieee754_sqrt+0x5a> 80cbf30: 2a00 cmp r2, #0 80cbf32: d070 beq.n 80cc016 <__ieee754_sqrt+0x126> 80cbf34: 2000 movs r0, #0 80cbf36: 02d5 lsls r5, r2, #11 80cbf38: d571 bpl.n 80cc01e <__ieee754_sqrt+0x12e> 80cbf3a: 1e44 subs r4, r0, #1 80cbf3c: 1b1b subs r3, r3, r4 80cbf3e: f1c0 0420 rsb r4, r0, #32 80cbf42: fa21 f404 lsr.w r4, r1, r4 80cbf46: 4322 orrs r2, r4 80cbf48: 4081 lsls r1, r0 80cbf4a: f2a3 33ff subw r3, r3, #1023 ; 0x3ff 80cbf4e: f3c2 0213 ubfx r2, r2, #0, #20 80cbf52: 07dc lsls r4, r3, #31 80cbf54: f442 1280 orr.w r2, r2, #1048576 ; 0x100000 80cbf58: bf42 ittt mi 80cbf5a: 0052 lslmi r2, r2, #1 80cbf5c: eb02 72d1 addmi.w r2, r2, r1, lsr #31 80cbf60: 0049 lslmi r1, r1, #1 80cbf62: 105c asrs r4, r3, #1 80cbf64: 2500 movs r5, #0 80cbf66: eb02 73d1 add.w r3, r2, r1, lsr #31 80cbf6a: 441a add r2, r3 80cbf6c: 0049 lsls r1, r1, #1 80cbf6e: 2316 movs r3, #22 80cbf70: 4628 mov r0, r5 80cbf72: f44f 1600 mov.w r6, #2097152 ; 0x200000 80cbf76: 1987 adds r7, r0, r6 80cbf78: 4297 cmp r7, r2 80cbf7a: bfde ittt le 80cbf7c: 1bd2 suble r2, r2, r7 80cbf7e: 19b8 addle r0, r7, r6 80cbf80: 19ad addle r5, r5, r6 80cbf82: 0052 lsls r2, r2, #1 80cbf84: 3b01 subs r3, #1 80cbf86: eb02 72d1 add.w r2, r2, r1, lsr #31 80cbf8a: ea4f 0656 mov.w r6, r6, lsr #1 80cbf8e: ea4f 0141 mov.w r1, r1, lsl #1 80cbf92: d1f0 bne.n 80cbf76 <__ieee754_sqrt+0x86> 80cbf94: f04f 0e20 mov.w lr, #32 80cbf98: 469c mov ip, r3 80cbf9a: f04f 4600 mov.w r6, #2147483648 ; 0x80000000 80cbf9e: 4282 cmp r2, r0 80cbfa0: eb06 070c add.w r7, r6, ip 80cbfa4: dc02 bgt.n 80cbfac <__ieee754_sqrt+0xbc> 80cbfa6: d112 bne.n 80cbfce <__ieee754_sqrt+0xde> 80cbfa8: 428f cmp r7, r1 80cbfaa: d810 bhi.n 80cbfce <__ieee754_sqrt+0xde> 80cbfac: 2f00 cmp r7, #0 80cbfae: eb07 0c06 add.w ip, r7, r6 80cbfb2: da37 bge.n 80cc024 <__ieee754_sqrt+0x134> 80cbfb4: f1bc 0f00 cmp.w ip, #0 80cbfb8: db34 blt.n 80cc024 <__ieee754_sqrt+0x134> 80cbfba: f100 0801 add.w r8, r0, #1 80cbfbe: 1a12 subs r2, r2, r0 80cbfc0: 428f cmp r7, r1 80cbfc2: bf88 it hi 80cbfc4: f102 32ff addhi.w r2, r2, #4294967295 80cbfc8: 1bc9 subs r1, r1, r7 80cbfca: 4433 add r3, r6 80cbfcc: 4640 mov r0, r8 80cbfce: eb02 77d1 add.w r7, r2, r1, lsr #31 80cbfd2: f1be 0e01 subs.w lr, lr, #1 80cbfd6: 443a add r2, r7 80cbfd8: ea4f 0141 mov.w r1, r1, lsl #1 80cbfdc: ea4f 0656 mov.w r6, r6, lsr #1 80cbfe0: d1dd bne.n 80cbf9e <__ieee754_sqrt+0xae> 80cbfe2: 430a orrs r2, r1 80cbfe4: d006 beq.n 80cbff4 <__ieee754_sqrt+0x104> 80cbfe6: 1c58 adds r0, r3, #1 80cbfe8: bf13 iteet ne 80cbfea: 3301 addne r3, #1 80cbfec: 3501 addeq r5, #1 80cbfee: 4673 moveq r3, lr 80cbff0: f023 0301 bicne.w r3, r3, #1 80cbff4: 106a asrs r2, r5, #1 80cbff6: 085b lsrs r3, r3, #1 80cbff8: 07e9 lsls r1, r5, #31 80cbffa: f102 527f add.w r2, r2, #1069547520 ; 0x3fc00000 80cbffe: f502 1200 add.w r2, r2, #2097152 ; 0x200000 80cc002: bf48 it mi 80cc004: f043 4300 orrmi.w r3, r3, #2147483648 ; 0x80000000 80cc008: eb02 5104 add.w r1, r2, r4, lsl #20 80cc00c: 4618 mov r0, r3 80cc00e: ec41 0b10 vmov d0, r0, r1 80cc012: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80cc016: 0aca lsrs r2, r1, #11 80cc018: 3b15 subs r3, #21 80cc01a: 0549 lsls r1, r1, #21 80cc01c: e788 b.n 80cbf30 <__ieee754_sqrt+0x40> 80cc01e: 0052 lsls r2, r2, #1 80cc020: 3001 adds r0, #1 80cc022: e788 b.n 80cbf36 <__ieee754_sqrt+0x46> 80cc024: 4680 mov r8, r0 80cc026: e7ca b.n 80cbfbe <__ieee754_sqrt+0xce> 80cc028: 7ff00000 .word 0x7ff00000 080cc02c <__ieee754_logf>: 80cc02c: ee10 3a10 vmov r3, s0 80cc030: f033 4200 bics.w r2, r3, #2147483648 ; 0x80000000 80cc034: d106 bne.n 80cc044 <__ieee754_logf+0x18> 80cc036: eddf 7a67 vldr s15, [pc, #412] ; 80cc1d4 <__ieee754_logf+0x1a8> 80cc03a: ed9f 7a67 vldr s14, [pc, #412] ; 80cc1d8 <__ieee754_logf+0x1ac> 80cc03e: ee87 0a27 vdiv.f32 s0, s14, s15 80cc042: 4770 bx lr 80cc044: 2b00 cmp r3, #0 80cc046: da04 bge.n 80cc052 <__ieee754_logf+0x26> 80cc048: ee30 7a40 vsub.f32 s14, s0, s0 80cc04c: eddf 7a61 vldr s15, [pc, #388] ; 80cc1d4 <__ieee754_logf+0x1a8> 80cc050: e7f5 b.n 80cc03e <__ieee754_logf+0x12> 80cc052: f1b3 4fff cmp.w r3, #2139095040 ; 0x7f800000 80cc056: db02 blt.n 80cc05e <__ieee754_logf+0x32> 80cc058: ee30 0a00 vadd.f32 s0, s0, s0 80cc05c: 4770 bx lr 80cc05e: f5b3 0f00 cmp.w r3, #8388608 ; 0x800000 80cc062: bfbf itttt lt 80cc064: eddf 7a5d vldrlt s15, [pc, #372] ; 80cc1dc <__ieee754_logf+0x1b0> 80cc068: ee60 7a27 vmullt.f32 s15, s0, s15 80cc06c: f06f 0118 mvnlt.w r1, #24 80cc070: ee17 3a90 vmovlt r3, s15 80cc074: ea4f 52e3 mov.w r2, r3, asr #23 80cc078: bfa8 it ge 80cc07a: 2100 movge r1, #0 80cc07c: 3a7f subs r2, #127 ; 0x7f 80cc07e: 440a add r2, r1 80cc080: 4957 ldr r1, [pc, #348] ; (80cc1e0 <__ieee754_logf+0x1b4>) 80cc082: f3c3 0316 ubfx r3, r3, #0, #23 80cc086: 4419 add r1, r3 80cc088: f401 0100 and.w r1, r1, #8388608 ; 0x800000 80cc08c: eb02 52d1 add.w r2, r2, r1, lsr #23 80cc090: f081 517e eor.w r1, r1, #1065353216 ; 0x3f800000 80cc094: 4319 orrs r1, r3 80cc096: ee07 1a90 vmov s15, r1 80cc09a: f103 010f add.w r1, r3, #15 80cc09e: f3c1 0116 ubfx r1, r1, #0, #23 80cc0a2: eeb7 0a00 vmov.f32 s0, #112 ; 0x3f800000 1.0 80cc0a6: 290f cmp r1, #15 80cc0a8: ee37 0ac0 vsub.f32 s0, s15, s0 80cc0ac: dc31 bgt.n 80cc112 <__ieee754_logf+0xe6> 80cc0ae: eeb5 0a40 vcmp.f32 s0, #0.0 80cc0b2: eef1 fa10 vmrs APSR_nzcv, fpscr 80cc0b6: d10f bne.n 80cc0d8 <__ieee754_logf+0xac> 80cc0b8: 2a00 cmp r2, #0 80cc0ba: f000 8087 beq.w 80cc1cc <__ieee754_logf+0x1a0> 80cc0be: ee07 2a90 vmov s15, r2 80cc0c2: ed9f 0a48 vldr s0, [pc, #288] ; 80cc1e4 <__ieee754_logf+0x1b8> 80cc0c6: ed9f 7a48 vldr s14, [pc, #288] ; 80cc1e8 <__ieee754_logf+0x1bc> 80cc0ca: eef8 7ae7 vcvt.f32.s32 s15, s15 80cc0ce: ee27 0a80 vmul.f32 s0, s15, s0 80cc0d2: eea7 0a87 vfma.f32 s0, s15, s14 80cc0d6: 4770 bx lr 80cc0d8: eddf 7a44 vldr s15, [pc, #272] ; 80cc1ec <__ieee754_logf+0x1c0> 80cc0dc: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80cc0e0: eea0 7a67 vfms.f32 s14, s0, s15 80cc0e4: ee60 7a00 vmul.f32 s15, s0, s0 80cc0e8: ee27 7a27 vmul.f32 s14, s14, s15 80cc0ec: b912 cbnz r2, 80cc0f4 <__ieee754_logf+0xc8> 80cc0ee: ee30 0a47 vsub.f32 s0, s0, s14 80cc0f2: 4770 bx lr 80cc0f4: ee07 2a90 vmov s15, r2 80cc0f8: eddf 6a3a vldr s13, [pc, #232] ; 80cc1e4 <__ieee754_logf+0x1b8> 80cc0fc: eef8 7ae7 vcvt.f32.s32 s15, s15 80cc100: eea7 7ae6 vfms.f32 s14, s15, s13 80cc104: ee37 0a40 vsub.f32 s0, s14, s0 80cc108: ed9f 7a37 vldr s14, [pc, #220] ; 80cc1e8 <__ieee754_logf+0x1bc> 80cc10c: ee97 0a87 vfnms.f32 s0, s15, s14 80cc110: 4770 bx lr 80cc112: eef0 7a00 vmov.f32 s15, #0 ; 0x40000000 2.0 80cc116: ee70 7a27 vadd.f32 s15, s0, s15 80cc11a: ed9f 5a35 vldr s10, [pc, #212] ; 80cc1f0 <__ieee754_logf+0x1c4> 80cc11e: 4935 ldr r1, [pc, #212] ; (80cc1f4 <__ieee754_logf+0x1c8>) 80cc120: eec0 6a27 vdiv.f32 s13, s0, s15 80cc124: 4419 add r1, r3 80cc126: f5c3 1357 rsb r3, r3, #3522560 ; 0x35c000 80cc12a: f503 7322 add.w r3, r3, #648 ; 0x288 80cc12e: 430b orrs r3, r1 80cc130: 2b00 cmp r3, #0 80cc132: ee07 2a90 vmov s15, r2 80cc136: ee26 6aa6 vmul.f32 s12, s13, s13 80cc13a: eef8 5ae7 vcvt.f32.s32 s11, s15 80cc13e: ee26 7a06 vmul.f32 s14, s12, s12 80cc142: eddf 7a2d vldr s15, [pc, #180] ; 80cc1f8 <__ieee754_logf+0x1cc> 80cc146: eee7 7a05 vfma.f32 s15, s14, s10 80cc14a: ed9f 5a2c vldr s10, [pc, #176] ; 80cc1fc <__ieee754_logf+0x1d0> 80cc14e: eea7 5a27 vfma.f32 s10, s14, s15 80cc152: eddf 7a2b vldr s15, [pc, #172] ; 80cc200 <__ieee754_logf+0x1d4> 80cc156: eee7 7a05 vfma.f32 s15, s14, s10 80cc15a: ed9f 5a2a vldr s10, [pc, #168] ; 80cc204 <__ieee754_logf+0x1d8> 80cc15e: ee67 7a86 vmul.f32 s15, s15, s12 80cc162: ed9f 6a29 vldr s12, [pc, #164] ; 80cc208 <__ieee754_logf+0x1dc> 80cc166: eea7 5a06 vfma.f32 s10, s14, s12 80cc16a: ed9f 6a28 vldr s12, [pc, #160] ; 80cc20c <__ieee754_logf+0x1e0> 80cc16e: eea7 6a05 vfma.f32 s12, s14, s10 80cc172: eee7 7a06 vfma.f32 s15, s14, s12 80cc176: dd1a ble.n 80cc1ae <__ieee754_logf+0x182> 80cc178: eeb6 7a00 vmov.f32 s14, #96 ; 0x3f000000 0.5 80cc17c: ee20 7a07 vmul.f32 s14, s0, s14 80cc180: ee27 7a00 vmul.f32 s14, s14, s0 80cc184: ee77 7a87 vadd.f32 s15, s15, s14 80cc188: b912 cbnz r2, 80cc190 <__ieee754_logf+0x164> 80cc18a: eea6 7ae7 vfms.f32 s14, s13, s15 80cc18e: e7ae b.n 80cc0ee <__ieee754_logf+0xc2> 80cc190: ed9f 6a14 vldr s12, [pc, #80] ; 80cc1e4 <__ieee754_logf+0x1b8> 80cc194: ee25 6a86 vmul.f32 s12, s11, s12 80cc198: eea6 6aa7 vfma.f32 s12, s13, s15 80cc19c: ee37 7a46 vsub.f32 s14, s14, s12 80cc1a0: ee37 0a40 vsub.f32 s0, s14, s0 80cc1a4: eddf 7a10 vldr s15, [pc, #64] ; 80cc1e8 <__ieee754_logf+0x1bc> 80cc1a8: ee95 0aa7 vfnms.f32 s0, s11, s15 80cc1ac: 4770 bx lr 80cc1ae: ee70 7a67 vsub.f32 s15, s0, s15 80cc1b2: b912 cbnz r2, 80cc1ba <__ieee754_logf+0x18e> 80cc1b4: eea6 0ae7 vfms.f32 s0, s13, s15 80cc1b8: 4770 bx lr 80cc1ba: ed9f 7a0a vldr s14, [pc, #40] ; 80cc1e4 <__ieee754_logf+0x1b8> 80cc1be: ee27 7a65 vnmul.f32 s14, s14, s11 80cc1c2: eea6 7aa7 vfma.f32 s14, s13, s15 80cc1c6: ee37 0a40 vsub.f32 s0, s14, s0 80cc1ca: e7eb b.n 80cc1a4 <__ieee754_logf+0x178> 80cc1cc: ed9f 0a01 vldr s0, [pc, #4] ; 80cc1d4 <__ieee754_logf+0x1a8> 80cc1d0: 4770 bx lr 80cc1d2: bf00 nop 80cc1d4: 00000000 .word 0x00000000 80cc1d8: cc000000 .word 0xcc000000 80cc1dc: 4c000000 .word 0x4c000000 80cc1e0: 004afb20 .word 0x004afb20 80cc1e4: 3717f7d1 .word 0x3717f7d1 80cc1e8: 3f317180 .word 0x3f317180 80cc1ec: 3eaaaaab .word 0x3eaaaaab 80cc1f0: 3e178897 .word 0x3e178897 80cc1f4: ffcf5c30 .word 0xffcf5c30 80cc1f8: 3e3a3325 .word 0x3e3a3325 80cc1fc: 3e924925 .word 0x3e924925 80cc200: 3f2aaaab .word 0x3f2aaaab 80cc204: 3e638e29 .word 0x3e638e29 80cc208: 3e1cd04f .word 0x3e1cd04f 80cc20c: 3ecccccd .word 0x3ecccccd 080cc210 <__ieee754_log10f>: 80cc210: b508 push {r3, lr} 80cc212: ee10 2a10 vmov r2, s0 80cc216: f032 4300 bics.w r3, r2, #2147483648 ; 0x80000000 80cc21a: ed2d 8b02 vpush {d8} 80cc21e: d108 bne.n 80cc232 <__ieee754_log10f+0x22> 80cc220: eddf 7a21 vldr s15, [pc, #132] ; 80cc2a8 <__ieee754_log10f+0x98> 80cc224: ed9f 7a21 vldr s14, [pc, #132] ; 80cc2ac <__ieee754_log10f+0x9c> 80cc228: ee87 0a27 vdiv.f32 s0, s14, s15 80cc22c: ecbd 8b02 vpop {d8} 80cc230: bd08 pop {r3, pc} 80cc232: 2a00 cmp r2, #0 80cc234: da04 bge.n 80cc240 <__ieee754_log10f+0x30> 80cc236: ee30 7a40 vsub.f32 s14, s0, s0 80cc23a: eddf 7a1b vldr s15, [pc, #108] ; 80cc2a8 <__ieee754_log10f+0x98> 80cc23e: e7f3 b.n 80cc228 <__ieee754_log10f+0x18> 80cc240: f1b2 4fff cmp.w r2, #2139095040 ; 0x7f800000 80cc244: db02 blt.n 80cc24c <__ieee754_log10f+0x3c> 80cc246: ee30 0a00 vadd.f32 s0, s0, s0 80cc24a: e7ef b.n 80cc22c <__ieee754_log10f+0x1c> 80cc24c: f5b2 0f00 cmp.w r2, #8388608 ; 0x800000 80cc250: bfbf itttt lt 80cc252: eddf 7a17 vldrlt s15, [pc, #92] ; 80cc2b0 <__ieee754_log10f+0xa0> 80cc256: ee60 7a27 vmullt.f32 s15, s0, s15 80cc25a: f06f 0118 mvnlt.w r1, #24 80cc25e: ee17 2a90 vmovlt r2, s15 80cc262: ea4f 53e2 mov.w r3, r2, asr #23 80cc266: bfa8 it ge 80cc268: 2100 movge r1, #0 80cc26a: 3b7f subs r3, #127 ; 0x7f 80cc26c: 440b add r3, r1 80cc26e: 0fd9 lsrs r1, r3, #31 80cc270: 440b add r3, r1 80cc272: f3c2 0216 ubfx r2, r2, #0, #23 80cc276: f1c1 017f rsb r1, r1, #127 ; 0x7f 80cc27a: ee07 3a90 vmov s15, r3 80cc27e: ea42 53c1 orr.w r3, r2, r1, lsl #23 80cc282: ee00 3a10 vmov s0, r3 80cc286: eeb8 8ae7 vcvt.f32.s32 s16, s15 80cc28a: f7ff fecf bl 80cc02c <__ieee754_logf> 80cc28e: eddf 7a09 vldr s15, [pc, #36] ; 80cc2b4 <__ieee754_log10f+0xa4> 80cc292: ee20 0a27 vmul.f32 s0, s0, s15 80cc296: eddf 7a08 vldr s15, [pc, #32] ; 80cc2b8 <__ieee754_log10f+0xa8> 80cc29a: eea8 0a27 vfma.f32 s0, s16, s15 80cc29e: eddf 7a07 vldr s15, [pc, #28] ; 80cc2bc <__ieee754_log10f+0xac> 80cc2a2: eea8 0a27 vfma.f32 s0, s16, s15 80cc2a6: e7c1 b.n 80cc22c <__ieee754_log10f+0x1c> 80cc2a8: 00000000 .word 0x00000000 80cc2ac: cc000000 .word 0xcc000000 80cc2b0: 4c000000 .word 0x4c000000 80cc2b4: 3ede5bd9 .word 0x3ede5bd9 80cc2b8: 355427db .word 0x355427db 80cc2bc: 3e9a2080 .word 0x3e9a2080 080cc2c0 <__ieee754_sqrtf>: 80cc2c0: ee10 2a10 vmov r2, s0 80cc2c4: f022 4100 bic.w r1, r2, #2147483648 ; 0x80000000 80cc2c8: f1b1 4fff cmp.w r1, #2139095040 ; 0x7f800000 80cc2cc: b570 push {r4, r5, r6, lr} 80cc2ce: d302 bcc.n 80cc2d6 <__ieee754_sqrtf+0x16> 80cc2d0: eea0 0a00 vfma.f32 s0, s0, s0 80cc2d4: bd70 pop {r4, r5, r6, pc} 80cc2d6: b3b1 cbz r1, 80cc346 <__ieee754_sqrtf+0x86> 80cc2d8: 2a00 cmp r2, #0 80cc2da: da04 bge.n 80cc2e6 <__ieee754_sqrtf+0x26> 80cc2dc: ee70 7a40 vsub.f32 s15, s0, s0 80cc2e0: ee87 0aa7 vdiv.f32 s0, s15, s15 80cc2e4: bd70 pop {r4, r5, r6, pc} 80cc2e6: f5b1 0f00 cmp.w r1, #8388608 ; 0x800000 80cc2ea: ea4f 53e2 mov.w r3, r2, asr #23 80cc2ee: d204 bcs.n 80cc2fa <__ieee754_sqrtf+0x3a> 80cc2f0: 2100 movs r1, #0 80cc2f2: 0210 lsls r0, r2, #8 80cc2f4: d528 bpl.n 80cc348 <__ieee754_sqrtf+0x88> 80cc2f6: 3901 subs r1, #1 80cc2f8: 1a5b subs r3, r3, r1 80cc2fa: 3b7f subs r3, #127 ; 0x7f 80cc2fc: f3c2 0216 ubfx r2, r2, #0, #23 80cc300: 07d9 lsls r1, r3, #31 80cc302: f442 0200 orr.w r2, r2, #8388608 ; 0x800000 80cc306: bf48 it mi 80cc308: 0052 lslmi r2, r2, #1 80cc30a: 1059 asrs r1, r3, #1 80cc30c: 2300 movs r3, #0 80cc30e: 0052 lsls r2, r2, #1 80cc310: 2419 movs r4, #25 80cc312: 461e mov r6, r3 80cc314: f04f 7080 mov.w r0, #16777216 ; 0x1000000 80cc318: 1835 adds r5, r6, r0 80cc31a: 4295 cmp r5, r2 80cc31c: bfde ittt le 80cc31e: 182e addle r6, r5, r0 80cc320: 1b52 suble r2, r2, r5 80cc322: 181b addle r3, r3, r0 80cc324: 3c01 subs r4, #1 80cc326: ea4f 0242 mov.w r2, r2, lsl #1 80cc32a: ea4f 0050 mov.w r0, r0, lsr #1 80cc32e: d1f3 bne.n 80cc318 <__ieee754_sqrtf+0x58> 80cc330: b112 cbz r2, 80cc338 <__ieee754_sqrtf+0x78> 80cc332: 3301 adds r3, #1 80cc334: f023 0301 bic.w r3, r3, #1 80cc338: 105b asrs r3, r3, #1 80cc33a: f103 537c add.w r3, r3, #1056964608 ; 0x3f000000 80cc33e: eb03 53c1 add.w r3, r3, r1, lsl #23 80cc342: ee00 3a10 vmov s0, r3 80cc346: bd70 pop {r4, r5, r6, pc} 80cc348: 0052 lsls r2, r2, #1 80cc34a: 3101 adds r1, #1 80cc34c: e7d1 b.n 80cc2f2 <__ieee754_sqrtf+0x32> ... 080cc350 <__kernel_cos>: 80cc350: ee10 1a90 vmov r1, s1 80cc354: eeb7 5b00 vmov.f64 d5, #112 ; 0x3f800000 1.0 80cc358: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000 80cc35c: f1b1 5f79 cmp.w r1, #1044381696 ; 0x3e400000 80cc360: da05 bge.n 80cc36e <__kernel_cos+0x1e> 80cc362: eefd 7bc0 vcvt.s32.f64 s15, d0 80cc366: ee17 3a90 vmov r3, s15 80cc36a: 2b00 cmp r3, #0 80cc36c: d03d beq.n 80cc3ea <__kernel_cos+0x9a> 80cc36e: ee20 6b00 vmul.f64 d6, d0, d0 80cc372: ee20 1b01 vmul.f64 d1, d0, d1 80cc376: ed9f 7b1e vldr d7, [pc, #120] ; 80cc3f0 <__kernel_cos+0xa0> 80cc37a: eeb6 3b00 vmov.f64 d3, #96 ; 0x3f000000 0.5 80cc37e: ed9f 4b1e vldr d4, [pc, #120] ; 80cc3f8 <__kernel_cos+0xa8> 80cc382: eea6 4b07 vfma.f64 d4, d6, d7 80cc386: ed9f 7b1e vldr d7, [pc, #120] ; 80cc400 <__kernel_cos+0xb0> 80cc38a: eea6 7b04 vfma.f64 d7, d6, d4 80cc38e: ed9f 4b1e vldr d4, [pc, #120] ; 80cc408 <__kernel_cos+0xb8> 80cc392: eea6 4b07 vfma.f64 d4, d6, d7 80cc396: ed9f 7b1e vldr d7, [pc, #120] ; 80cc410 <__kernel_cos+0xc0> 80cc39a: 4b21 ldr r3, [pc, #132] ; (80cc420 <__kernel_cos+0xd0>) 80cc39c: eea6 7b04 vfma.f64 d7, d6, d4 80cc3a0: ed9f 4b1d vldr d4, [pc, #116] ; 80cc418 <__kernel_cos+0xc8> 80cc3a4: 4299 cmp r1, r3 80cc3a6: eea6 4b07 vfma.f64 d4, d6, d7 80cc3aa: ee24 4b06 vmul.f64 d4, d4, d6 80cc3ae: dc06 bgt.n 80cc3be <__kernel_cos+0x6e> 80cc3b0: ee96 1b04 vfnms.f64 d1, d6, d4 80cc3b4: ee96 1b03 vfnms.f64 d1, d6, d3 80cc3b8: ee35 0b41 vsub.f64 d0, d5, d1 80cc3bc: 4770 bx lr 80cc3be: 4b19 ldr r3, [pc, #100] ; (80cc424 <__kernel_cos+0xd4>) 80cc3c0: 4299 cmp r1, r3 80cc3c2: dc0f bgt.n 80cc3e4 <__kernel_cos+0x94> 80cc3c4: 2200 movs r2, #0 80cc3c6: f5a1 1300 sub.w r3, r1, #2097152 ; 0x200000 80cc3ca: ec43 2b17 vmov d7, r2, r3 80cc3ce: ee35 5b47 vsub.f64 d5, d5, d7 80cc3d2: ee96 1b04 vfnms.f64 d1, d6, d4 80cc3d6: ee96 7b03 vfnms.f64 d7, d6, d3 80cc3da: ee37 0b41 vsub.f64 d0, d7, d1 80cc3de: ee35 0b40 vsub.f64 d0, d5, d0 80cc3e2: 4770 bx lr 80cc3e4: eeb5 7b02 vmov.f64 d7, #82 ; 0x3e900000 0.2812500 80cc3e8: e7f1 b.n 80cc3ce <__kernel_cos+0x7e> 80cc3ea: eeb0 0b45 vmov.f64 d0, d5 80cc3ee: 4770 bx lr 80cc3f0: be8838d4 .word 0xbe8838d4 80cc3f4: bda8fae9 .word 0xbda8fae9 80cc3f8: bdb4b1c4 .word 0xbdb4b1c4 80cc3fc: 3e21ee9e .word 0x3e21ee9e 80cc400: 809c52ad .word 0x809c52ad 80cc404: be927e4f .word 0xbe927e4f 80cc408: 19cb1590 .word 0x19cb1590 80cc40c: 3efa01a0 .word 0x3efa01a0 80cc410: 16c15177 .word 0x16c15177 80cc414: bf56c16c .word 0xbf56c16c 80cc418: 5555554c .word 0x5555554c 80cc41c: 3fa55555 .word 0x3fa55555 80cc420: 3fd33332 .word 0x3fd33332 80cc424: 3fe90000 .word 0x3fe90000 080cc428 <__kernel_rem_pio2>: 80cc428: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cc42c: ed2d 8b06 vpush {d8-d10} 80cc430: f5ad 7d13 sub.w sp, sp, #588 ; 0x24c 80cc434: 468b mov fp, r1 80cc436: 9301 str r3, [sp, #4] 80cc438: 99a2 ldr r1, [sp, #648] ; 0x288 80cc43a: 4bcf ldr r3, [pc, #828] ; (80cc778 <__kernel_rem_pio2+0x350>) 80cc43c: 9002 str r0, [sp, #8] 80cc43e: f853 a021 ldr.w sl, [r3, r1, lsl #2] 80cc442: 9b01 ldr r3, [sp, #4] 80cc444: 9ca3 ldr r4, [sp, #652] ; 0x28c 80cc446: 3b01 subs r3, #1 80cc448: 1ed0 subs r0, r2, #3 80cc44a: 2518 movs r5, #24 80cc44c: ed9f 6bc4 vldr d6, [pc, #784] ; 80cc760 <__kernel_rem_pio2+0x338> 80cc450: fb90 f0f5 sdiv r0, r0, r5 80cc454: f06f 0517 mvn.w r5, #23 80cc458: ea20 70e0 bic.w r0, r0, r0, asr #31 80cc45c: fb00 5505 mla r5, r0, r5, r5 80cc460: 1ac7 subs r7, r0, r3 80cc462: 4415 add r5, r2 80cc464: eb0a 0e03 add.w lr, sl, r3 80cc468: ae1a add r6, sp, #104 ; 0x68 80cc46a: eb04 0c87 add.w ip, r4, r7, lsl #2 80cc46e: 2200 movs r2, #0 80cc470: 4572 cmp r2, lr 80cc472: dd0f ble.n 80cc494 <__kernel_rem_pio2+0x6c> 80cc474: f50d 7ed4 add.w lr, sp, #424 ; 0x1a8 80cc478: 2600 movs r6, #0 80cc47a: 4556 cmp r6, sl 80cc47c: dc27 bgt.n 80cc4ce <__kernel_rem_pio2+0xa6> 80cc47e: 9a01 ldr r2, [sp, #4] 80cc480: 9f02 ldr r7, [sp, #8] 80cc482: 4432 add r2, r6 80cc484: a91a add r1, sp, #104 ; 0x68 80cc486: eb01 02c2 add.w r2, r1, r2, lsl #3 80cc48a: ed9f 7bb5 vldr d7, [pc, #724] ; 80cc760 <__kernel_rem_pio2+0x338> 80cc48e: f04f 0c00 mov.w ip, #0 80cc492: e016 b.n 80cc4c2 <__kernel_rem_pio2+0x9a> 80cc494: 42d7 cmn r7, r2 80cc496: d409 bmi.n 80cc4ac <__kernel_rem_pio2+0x84> 80cc498: f85c 1022 ldr.w r1, [ip, r2, lsl #2] 80cc49c: ee07 1a90 vmov s15, r1 80cc4a0: eeb8 7be7 vcvt.f64.s32 d7, s15 80cc4a4: eca6 7b02 vstmia r6!, {d7} 80cc4a8: 3201 adds r2, #1 80cc4aa: e7e1 b.n 80cc470 <__kernel_rem_pio2+0x48> 80cc4ac: eeb0 7b46 vmov.f64 d7, d6 80cc4b0: e7f8 b.n 80cc4a4 <__kernel_rem_pio2+0x7c> 80cc4b2: ecb7 5b02 vldmia r7!, {d5} 80cc4b6: ed32 6b02 vldmdb r2!, {d6} 80cc4ba: f10c 0c01 add.w ip, ip, #1 80cc4be: eea5 7b06 vfma.f64 d7, d5, d6 80cc4c2: 459c cmp ip, r3 80cc4c4: ddf5 ble.n 80cc4b2 <__kernel_rem_pio2+0x8a> 80cc4c6: ecae 7b02 vstmia lr!, {d7} 80cc4ca: 3601 adds r6, #1 80cc4cc: e7d5 b.n 80cc47a <__kernel_rem_pio2+0x52> 80cc4ce: aa06 add r2, sp, #24 80cc4d0: eb02 028a add.w r2, r2, sl, lsl #2 80cc4d4: ed9f 9ba4 vldr d9, [pc, #656] ; 80cc768 <__kernel_rem_pio2+0x340> 80cc4d8: ed9f aba5 vldr d10, [pc, #660] ; 80cc770 <__kernel_rem_pio2+0x348> 80cc4dc: 9204 str r2, [sp, #16] 80cc4de: eb04 0280 add.w r2, r4, r0, lsl #2 80cc4e2: 9203 str r2, [sp, #12] 80cc4e4: 4657 mov r7, sl 80cc4e6: aa92 add r2, sp, #584 ; 0x248 80cc4e8: f107 5800 add.w r8, r7, #536870912 ; 0x20000000 80cc4ec: eb02 02c7 add.w r2, r2, r7, lsl #3 80cc4f0: f108 38ff add.w r8, r8, #4294967295 80cc4f4: ed12 0b28 vldr d0, [r2, #-160] ; 0xffffff60 80cc4f8: ea4f 08c8 mov.w r8, r8, lsl #3 80cc4fc: aa92 add r2, sp, #584 ; 0x248 80cc4fe: eb02 0008 add.w r0, r2, r8 80cc502: 3898 subs r0, #152 ; 0x98 80cc504: 2200 movs r2, #0 80cc506: 1abc subs r4, r7, r2 80cc508: 2c00 cmp r4, #0 80cc50a: dc4c bgt.n 80cc5a6 <__kernel_rem_pio2+0x17e> 80cc50c: 4628 mov r0, r5 80cc50e: 9305 str r3, [sp, #20] 80cc510: f000 fc7a bl 80cce08 80cc514: eeb0 8b40 vmov.f64 d8, d0 80cc518: eeb4 0b00 vmov.f64 d0, #64 ; 0x3e000000 0.125 80cc51c: ee28 0b00 vmul.f64 d0, d8, d0 80cc520: f000 fb62 bl 80ccbe8 80cc524: eeb2 7b00 vmov.f64 d7, #32 ; 0x41000000 8.0 80cc528: eea0 8b47 vfms.f64 d8, d0, d7 80cc52c: eefd 7bc8 vcvt.s32.f64 s15, d8 80cc530: 2d00 cmp r5, #0 80cc532: ee17 9a90 vmov r9, s15 80cc536: 9b05 ldr r3, [sp, #20] 80cc538: eeb8 7be7 vcvt.f64.s32 d7, s15 80cc53c: ee38 8b47 vsub.f64 d8, d8, d7 80cc540: dd46 ble.n 80cc5d0 <__kernel_rem_pio2+0x1a8> 80cc542: 1e78 subs r0, r7, #1 80cc544: aa06 add r2, sp, #24 80cc546: f1c5 0418 rsb r4, r5, #24 80cc54a: f852 6020 ldr.w r6, [r2, r0, lsl #2] 80cc54e: fa46 f204 asr.w r2, r6, r4 80cc552: 4491 add r9, r2 80cc554: 40a2 lsls r2, r4 80cc556: 1ab6 subs r6, r6, r2 80cc558: aa06 add r2, sp, #24 80cc55a: f842 6020 str.w r6, [r2, r0, lsl #2] 80cc55e: f1c5 0217 rsb r2, r5, #23 80cc562: 4116 asrs r6, r2 80cc564: 2e00 cmp r6, #0 80cc566: dd42 ble.n 80cc5ee <__kernel_rem_pio2+0x1c6> 80cc568: 2400 movs r4, #0 80cc56a: f109 0901 add.w r9, r9, #1 80cc56e: 4620 mov r0, r4 80cc570: f06f 4e7f mvn.w lr, #4278190080 ; 0xff000000 80cc574: 42a7 cmp r7, r4 80cc576: dc75 bgt.n 80cc664 <__kernel_rem_pio2+0x23c> 80cc578: 2d00 cmp r5, #0 80cc57a: dd05 ble.n 80cc588 <__kernel_rem_pio2+0x160> 80cc57c: 2d01 cmp r5, #1 80cc57e: f000 8086 beq.w 80cc68e <__kernel_rem_pio2+0x266> 80cc582: 2d02 cmp r5, #2 80cc584: f000 808d beq.w 80cc6a2 <__kernel_rem_pio2+0x27a> 80cc588: 2e02 cmp r6, #2 80cc58a: d130 bne.n 80cc5ee <__kernel_rem_pio2+0x1c6> 80cc58c: eeb7 0b00 vmov.f64 d0, #112 ; 0x3f800000 1.0 80cc590: ee30 8b48 vsub.f64 d8, d0, d8 80cc594: b358 cbz r0, 80cc5ee <__kernel_rem_pio2+0x1c6> 80cc596: 4628 mov r0, r5 80cc598: 9305 str r3, [sp, #20] 80cc59a: f000 fc35 bl 80cce08 80cc59e: 9b05 ldr r3, [sp, #20] 80cc5a0: ee38 8b40 vsub.f64 d8, d8, d0 80cc5a4: e023 b.n 80cc5ee <__kernel_rem_pio2+0x1c6> 80cc5a6: ee20 7b09 vmul.f64 d7, d0, d9 80cc5aa: eebd 7bc7 vcvt.s32.f64 s14, d7 80cc5ae: ac06 add r4, sp, #24 80cc5b0: eeb8 7bc7 vcvt.f64.s32 d7, s14 80cc5b4: eea7 0b4a vfms.f64 d0, d7, d10 80cc5b8: eebd 0bc0 vcvt.s32.f64 s0, d0 80cc5bc: ee10 1a10 vmov r1, s0 80cc5c0: ed30 0b02 vldmdb r0!, {d0} 80cc5c4: f844 1022 str.w r1, [r4, r2, lsl #2] 80cc5c8: ee37 0b00 vadd.f64 d0, d7, d0 80cc5cc: 3201 adds r2, #1 80cc5ce: e79a b.n 80cc506 <__kernel_rem_pio2+0xde> 80cc5d0: d105 bne.n 80cc5de <__kernel_rem_pio2+0x1b6> 80cc5d2: 1e7a subs r2, r7, #1 80cc5d4: a906 add r1, sp, #24 80cc5d6: f851 6022 ldr.w r6, [r1, r2, lsl #2] 80cc5da: 15f6 asrs r6, r6, #23 80cc5dc: e7c2 b.n 80cc564 <__kernel_rem_pio2+0x13c> 80cc5de: eeb6 7b00 vmov.f64 d7, #96 ; 0x3f000000 0.5 80cc5e2: eeb4 8bc7 vcmpe.f64 d8, d7 80cc5e6: eef1 fa10 vmrs APSR_nzcv, fpscr 80cc5ea: da39 bge.n 80cc660 <__kernel_rem_pio2+0x238> 80cc5ec: 2600 movs r6, #0 80cc5ee: eeb5 8b40 vcmp.f64 d8, #0.0 80cc5f2: eef1 fa10 vmrs APSR_nzcv, fpscr 80cc5f6: f040 808e bne.w 80cc716 <__kernel_rem_pio2+0x2ee> 80cc5fa: 1e7c subs r4, r7, #1 80cc5fc: 4620 mov r0, r4 80cc5fe: 2200 movs r2, #0 80cc600: 4550 cmp r0, sl 80cc602: da55 bge.n 80cc6b0 <__kernel_rem_pio2+0x288> 80cc604: 2a00 cmp r2, #0 80cc606: d164 bne.n 80cc6d2 <__kernel_rem_pio2+0x2aa> 80cc608: 2401 movs r4, #1 80cc60a: f06f 0003 mvn.w r0, #3 80cc60e: fb00 f204 mul.w r2, r0, r4 80cc612: 9904 ldr r1, [sp, #16] 80cc614: 588a ldr r2, [r1, r2] 80cc616: 2a00 cmp r2, #0 80cc618: d050 beq.n 80cc6bc <__kernel_rem_pio2+0x294> 80cc61a: aa92 add r2, sp, #584 ; 0x248 80cc61c: 4490 add r8, r2 80cc61e: 9a01 ldr r2, [sp, #4] 80cc620: a91a add r1, sp, #104 ; 0x68 80cc622: 443a add r2, r7 80cc624: 1c78 adds r0, r7, #1 80cc626: f1a8 0890 sub.w r8, r8, #144 ; 0x90 80cc62a: eb01 02c2 add.w r2, r1, r2, lsl #3 80cc62e: 4427 add r7, r4 80cc630: 42b8 cmp r0, r7 80cc632: f73f af58 bgt.w 80cc4e6 <__kernel_rem_pio2+0xbe> 80cc636: 9903 ldr r1, [sp, #12] 80cc638: 9e02 ldr r6, [sp, #8] 80cc63a: f851 1020 ldr.w r1, [r1, r0, lsl #2] 80cc63e: 9105 str r1, [sp, #20] 80cc640: ee07 1a90 vmov s15, r1 80cc644: eeb8 7be7 vcvt.f64.s32 d7, s15 80cc648: 2400 movs r4, #0 80cc64a: eca2 7b02 vstmia r2!, {d7} 80cc64e: ed9f 7b44 vldr d7, [pc, #272] ; 80cc760 <__kernel_rem_pio2+0x338> 80cc652: 4696 mov lr, r2 80cc654: 429c cmp r4, r3 80cc656: dd33 ble.n 80cc6c0 <__kernel_rem_pio2+0x298> 80cc658: eca8 7b02 vstmia r8!, {d7} 80cc65c: 3001 adds r0, #1 80cc65e: e7e7 b.n 80cc630 <__kernel_rem_pio2+0x208> 80cc660: 2602 movs r6, #2 80cc662: e781 b.n 80cc568 <__kernel_rem_pio2+0x140> 80cc664: aa06 add r2, sp, #24 80cc666: f852 2024 ldr.w r2, [r2, r4, lsl #2] 80cc66a: b948 cbnz r0, 80cc680 <__kernel_rem_pio2+0x258> 80cc66c: b12a cbz r2, 80cc67a <__kernel_rem_pio2+0x252> 80cc66e: a906 add r1, sp, #24 80cc670: f1c2 7280 rsb r2, r2, #16777216 ; 0x1000000 80cc674: f841 2024 str.w r2, [r1, r4, lsl #2] 80cc678: 2201 movs r2, #1 80cc67a: 3401 adds r4, #1 80cc67c: 4610 mov r0, r2 80cc67e: e779 b.n 80cc574 <__kernel_rem_pio2+0x14c> 80cc680: a906 add r1, sp, #24 80cc682: ebae 0202 sub.w r2, lr, r2 80cc686: f841 2024 str.w r2, [r1, r4, lsl #2] 80cc68a: 4602 mov r2, r0 80cc68c: e7f5 b.n 80cc67a <__kernel_rem_pio2+0x252> 80cc68e: 1e7c subs r4, r7, #1 80cc690: aa06 add r2, sp, #24 80cc692: f852 2024 ldr.w r2, [r2, r4, lsl #2] 80cc696: f3c2 0216 ubfx r2, r2, #0, #23 80cc69a: a906 add r1, sp, #24 80cc69c: f841 2024 str.w r2, [r1, r4, lsl #2] 80cc6a0: e772 b.n 80cc588 <__kernel_rem_pio2+0x160> 80cc6a2: 1e7c subs r4, r7, #1 80cc6a4: aa06 add r2, sp, #24 80cc6a6: f852 2024 ldr.w r2, [r2, r4, lsl #2] 80cc6aa: f3c2 0215 ubfx r2, r2, #0, #22 80cc6ae: e7f4 b.n 80cc69a <__kernel_rem_pio2+0x272> 80cc6b0: a906 add r1, sp, #24 80cc6b2: f851 1020 ldr.w r1, [r1, r0, lsl #2] 80cc6b6: 3801 subs r0, #1 80cc6b8: 430a orrs r2, r1 80cc6ba: e7a1 b.n 80cc600 <__kernel_rem_pio2+0x1d8> 80cc6bc: 3401 adds r4, #1 80cc6be: e7a6 b.n 80cc60e <__kernel_rem_pio2+0x1e6> 80cc6c0: ecb6 5b02 vldmia r6!, {d5} 80cc6c4: ed3e 6b02 vldmdb lr!, {d6} 80cc6c8: 3401 adds r4, #1 80cc6ca: eea5 7b06 vfma.f64 d7, d5, d6 80cc6ce: e7c1 b.n 80cc654 <__kernel_rem_pio2+0x22c> 80cc6d0: 3c01 subs r4, #1 80cc6d2: ab06 add r3, sp, #24 80cc6d4: 3d18 subs r5, #24 80cc6d6: f853 3024 ldr.w r3, [r3, r4, lsl #2] 80cc6da: 2b00 cmp r3, #0 80cc6dc: d0f8 beq.n 80cc6d0 <__kernel_rem_pio2+0x2a8> 80cc6de: 4628 mov r0, r5 80cc6e0: eeb7 0b00 vmov.f64 d0, #112 ; 0x3f800000 1.0 80cc6e4: f000 fb90 bl 80cce08 80cc6e8: 00e3 lsls r3, r4, #3 80cc6ea: ed9f 6b1f vldr d6, [pc, #124] ; 80cc768 <__kernel_rem_pio2+0x340> 80cc6ee: aa6a add r2, sp, #424 ; 0x1a8 80cc6f0: 3308 adds r3, #8 80cc6f2: 18d0 adds r0, r2, r3 80cc6f4: 4622 mov r2, r4 80cc6f6: 2a00 cmp r2, #0 80cc6f8: da4b bge.n 80cc792 <__kernel_rem_pio2+0x36a> 80cc6fa: f50d 7e84 add.w lr, sp, #264 ; 0x108 80cc6fe: 2200 movs r2, #0 80cc700: 4677 mov r7, lr 80cc702: 1aa5 subs r5, r4, r2 80cc704: d464 bmi.n 80cc7d0 <__kernel_rem_pio2+0x3a8> 80cc706: a86a add r0, sp, #424 ; 0x1a8 80cc708: eb00 05c5 add.w r5, r0, r5, lsl #3 80cc70c: 491b ldr r1, [pc, #108] ; (80cc77c <__kernel_rem_pio2+0x354>) 80cc70e: ed9f 7b14 vldr d7, [pc, #80] ; 80cc760 <__kernel_rem_pio2+0x338> 80cc712: 2000 movs r0, #0 80cc714: e054 b.n 80cc7c0 <__kernel_rem_pio2+0x398> 80cc716: 4268 negs r0, r5 80cc718: eeb0 0b48 vmov.f64 d0, d8 80cc71c: f000 fb74 bl 80cce08 80cc720: ed9f 6b13 vldr d6, [pc, #76] ; 80cc770 <__kernel_rem_pio2+0x348> 80cc724: eeb4 0bc6 vcmpe.f64 d0, d6 80cc728: eef1 fa10 vmrs APSR_nzcv, fpscr 80cc72c: db28 blt.n 80cc780 <__kernel_rem_pio2+0x358> 80cc72e: ed9f 7b0e vldr d7, [pc, #56] ; 80cc768 <__kernel_rem_pio2+0x340> 80cc732: ee20 7b07 vmul.f64 d7, d0, d7 80cc736: eebd 7bc7 vcvt.s32.f64 s14, d7 80cc73a: aa06 add r2, sp, #24 80cc73c: eeb8 5bc7 vcvt.f64.s32 d5, s14 80cc740: eea5 0b46 vfms.f64 d0, d5, d6 80cc744: eebd 0bc0 vcvt.s32.f64 s0, d0 80cc748: 1c7c adds r4, r7, #1 80cc74a: ee10 3a10 vmov r3, s0 80cc74e: f842 3027 str.w r3, [r2, r7, lsl #2] 80cc752: ee17 3a10 vmov r3, s14 80cc756: 3518 adds r5, #24 80cc758: f842 3024 str.w r3, [r2, r4, lsl #2] 80cc75c: e7bf b.n 80cc6de <__kernel_rem_pio2+0x2b6> 80cc75e: bf00 nop ... 80cc76c: 3e700000 .word 0x3e700000 80cc770: 00000000 .word 0x00000000 80cc774: 41700000 .word 0x41700000 80cc778: 08186868 .word 0x08186868 80cc77c: 08186828 .word 0x08186828 80cc780: eebd 0bc0 vcvt.s32.f64 s0, d0 80cc784: aa06 add r2, sp, #24 80cc786: ee10 3a10 vmov r3, s0 80cc78a: 463c mov r4, r7 80cc78c: f842 3027 str.w r3, [r2, r7, lsl #2] 80cc790: e7a5 b.n 80cc6de <__kernel_rem_pio2+0x2b6> 80cc792: a906 add r1, sp, #24 80cc794: f851 1022 ldr.w r1, [r1, r2, lsl #2] 80cc798: 9101 str r1, [sp, #4] 80cc79a: ee07 1a90 vmov s15, r1 80cc79e: 3a01 subs r2, #1 80cc7a0: eeb8 7be7 vcvt.f64.s32 d7, s15 80cc7a4: ee27 7b00 vmul.f64 d7, d7, d0 80cc7a8: ee20 0b06 vmul.f64 d0, d0, d6 80cc7ac: ed20 7b02 vstmdb r0!, {d7} 80cc7b0: e7a1 b.n 80cc6f6 <__kernel_rem_pio2+0x2ce> 80cc7b2: ecb1 5b02 vldmia r1!, {d5} 80cc7b6: ecb5 6b02 vldmia r5!, {d6} 80cc7ba: 3001 adds r0, #1 80cc7bc: eea5 7b06 vfma.f64 d7, d5, d6 80cc7c0: 4550 cmp r0, sl 80cc7c2: dc01 bgt.n 80cc7c8 <__kernel_rem_pio2+0x3a0> 80cc7c4: 4290 cmp r0, r2 80cc7c6: ddf4 ble.n 80cc7b2 <__kernel_rem_pio2+0x38a> 80cc7c8: ecae 7b02 vstmia lr!, {d7} 80cc7cc: 3201 adds r2, #1 80cc7ce: e798 b.n 80cc702 <__kernel_rem_pio2+0x2da> 80cc7d0: 9aa2 ldr r2, [sp, #648] ; 0x288 80cc7d2: 2a03 cmp r2, #3 80cc7d4: d843 bhi.n 80cc85e <__kernel_rem_pio2+0x436> 80cc7d6: e8df f002 tbb [pc, r2] 80cc7da: 1d37 .short 0x1d37 80cc7dc: 021d .short 0x021d 80cc7de: aa42 add r2, sp, #264 ; 0x108 80cc7e0: 4413 add r3, r2 80cc7e2: 461a mov r2, r3 80cc7e4: 4620 mov r0, r4 80cc7e6: 2800 cmp r0, #0 80cc7e8: dc56 bgt.n 80cc898 <__kernel_rem_pio2+0x470> 80cc7ea: 461a mov r2, r3 80cc7ec: 4620 mov r0, r4 80cc7ee: 2801 cmp r0, #1 80cc7f0: dc62 bgt.n 80cc8b8 <__kernel_rem_pio2+0x490> 80cc7f2: ed9f 7b45 vldr d7, [pc, #276] ; 80cc908 <__kernel_rem_pio2+0x4e0> 80cc7f6: 2c01 cmp r4, #1 80cc7f8: dc6e bgt.n 80cc8d8 <__kernel_rem_pio2+0x4b0> 80cc7fa: 2e00 cmp r6, #0 80cc7fc: d172 bne.n 80cc8e4 <__kernel_rem_pio2+0x4bc> 80cc7fe: e9dd 2342 ldrd r2, r3, [sp, #264] ; 0x108 80cc802: e9cb 2300 strd r2, r3, [fp] 80cc806: e9dd 2344 ldrd r2, r3, [sp, #272] ; 0x110 80cc80a: e9cb 2302 strd r2, r3, [fp, #8] 80cc80e: ed8b 7b04 vstr d7, [fp, #16] 80cc812: e024 b.n 80cc85e <__kernel_rem_pio2+0x436> 80cc814: ed9f 6b3c vldr d6, [pc, #240] ; 80cc908 <__kernel_rem_pio2+0x4e0> 80cc818: aa42 add r2, sp, #264 ; 0x108 80cc81a: 4413 add r3, r2 80cc81c: 4622 mov r2, r4 80cc81e: 2a00 cmp r2, #0 80cc820: da2b bge.n 80cc87a <__kernel_rem_pio2+0x452> 80cc822: b386 cbz r6, 80cc886 <__kernel_rem_pio2+0x45e> 80cc824: eeb1 7b46 vneg.f64 d7, d6 80cc828: ed8b 7b00 vstr d7, [fp] 80cc82c: ed9d 7b42 vldr d7, [sp, #264] ; 0x108 80cc830: aa44 add r2, sp, #272 ; 0x110 80cc832: 2301 movs r3, #1 80cc834: ee37 7b46 vsub.f64 d7, d7, d6 80cc838: 429c cmp r4, r3 80cc83a: da27 bge.n 80cc88c <__kernel_rem_pio2+0x464> 80cc83c: b10e cbz r6, 80cc842 <__kernel_rem_pio2+0x41a> 80cc83e: eeb1 7b47 vneg.f64 d7, d7 80cc842: ed8b 7b02 vstr d7, [fp, #8] 80cc846: e00a b.n 80cc85e <__kernel_rem_pio2+0x436> 80cc848: ed9f 7b2f vldr d7, [pc, #188] ; 80cc908 <__kernel_rem_pio2+0x4e0> 80cc84c: aa42 add r2, sp, #264 ; 0x108 80cc84e: 4413 add r3, r2 80cc850: 2c00 cmp r4, #0 80cc852: da0c bge.n 80cc86e <__kernel_rem_pio2+0x446> 80cc854: b10e cbz r6, 80cc85a <__kernel_rem_pio2+0x432> 80cc856: eeb1 7b47 vneg.f64 d7, d7 80cc85a: ed8b 7b00 vstr d7, [fp] 80cc85e: f009 0007 and.w r0, r9, #7 80cc862: f50d 7d13 add.w sp, sp, #588 ; 0x24c 80cc866: ecbd 8b06 vpop {d8-d10} 80cc86a: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80cc86e: ed33 6b02 vldmdb r3!, {d6} 80cc872: 3c01 subs r4, #1 80cc874: ee37 7b06 vadd.f64 d7, d7, d6 80cc878: e7ea b.n 80cc850 <__kernel_rem_pio2+0x428> 80cc87a: ed33 7b02 vldmdb r3!, {d7} 80cc87e: 3a01 subs r2, #1 80cc880: ee36 6b07 vadd.f64 d6, d6, d7 80cc884: e7cb b.n 80cc81e <__kernel_rem_pio2+0x3f6> 80cc886: eeb0 7b46 vmov.f64 d7, d6 80cc88a: e7cd b.n 80cc828 <__kernel_rem_pio2+0x400> 80cc88c: ecb2 6b02 vldmia r2!, {d6} 80cc890: 3301 adds r3, #1 80cc892: ee37 7b06 vadd.f64 d7, d7, d6 80cc896: e7cf b.n 80cc838 <__kernel_rem_pio2+0x410> 80cc898: ed12 5b02 vldr d5, [r2, #-8] 80cc89c: ed12 7b04 vldr d7, [r2, #-16] 80cc8a0: ee37 6b05 vadd.f64 d6, d7, d5 80cc8a4: ee37 7b46 vsub.f64 d7, d7, d6 80cc8a8: ee37 7b05 vadd.f64 d7, d7, d5 80cc8ac: ed22 7b02 vstmdb r2!, {d7} 80cc8b0: 3801 subs r0, #1 80cc8b2: ed02 6b02 vstr d6, [r2, #-8] 80cc8b6: e796 b.n 80cc7e6 <__kernel_rem_pio2+0x3be> 80cc8b8: ed12 5b02 vldr d5, [r2, #-8] 80cc8bc: ed12 7b04 vldr d7, [r2, #-16] 80cc8c0: ee37 6b05 vadd.f64 d6, d7, d5 80cc8c4: ee37 7b46 vsub.f64 d7, d7, d6 80cc8c8: ee37 7b05 vadd.f64 d7, d7, d5 80cc8cc: ed22 7b02 vstmdb r2!, {d7} 80cc8d0: 3801 subs r0, #1 80cc8d2: ed02 6b02 vstr d6, [r2, #-8] 80cc8d6: e78a b.n 80cc7ee <__kernel_rem_pio2+0x3c6> 80cc8d8: ed33 6b02 vldmdb r3!, {d6} 80cc8dc: 3c01 subs r4, #1 80cc8de: ee37 7b06 vadd.f64 d7, d7, d6 80cc8e2: e788 b.n 80cc7f6 <__kernel_rem_pio2+0x3ce> 80cc8e4: ed97 6b00 vldr d6, [r7] 80cc8e8: eeb1 7b47 vneg.f64 d7, d7 80cc8ec: eeb1 6b46 vneg.f64 d6, d6 80cc8f0: ed8b 6b00 vstr d6, [fp] 80cc8f4: ed97 6b02 vldr d6, [r7, #8] 80cc8f8: eeb1 6b46 vneg.f64 d6, d6 80cc8fc: ed8b 6b02 vstr d6, [fp, #8] 80cc900: e785 b.n 80cc80e <__kernel_rem_pio2+0x3e6> 80cc902: bf00 nop 80cc904: f3af 8000 nop.w ... 080cc910 <__kernel_sin>: 80cc910: ee10 3a90 vmov r3, s1 80cc914: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80cc918: f1b3 5f79 cmp.w r3, #1044381696 ; 0x3e400000 80cc91c: da04 bge.n 80cc928 <__kernel_sin+0x18> 80cc91e: eefd 7bc0 vcvt.s32.f64 s15, d0 80cc922: ee17 3a90 vmov r3, s15 80cc926: b35b cbz r3, 80cc980 <__kernel_sin+0x70> 80cc928: ee20 6b00 vmul.f64 d6, d0, d0 80cc92c: ee20 5b06 vmul.f64 d5, d0, d6 80cc930: ed9f 7b15 vldr d7, [pc, #84] ; 80cc988 <__kernel_sin+0x78> 80cc934: ed9f 4b16 vldr d4, [pc, #88] ; 80cc990 <__kernel_sin+0x80> 80cc938: eea6 4b07 vfma.f64 d4, d6, d7 80cc93c: ed9f 7b16 vldr d7, [pc, #88] ; 80cc998 <__kernel_sin+0x88> 80cc940: eea6 7b04 vfma.f64 d7, d6, d4 80cc944: ed9f 4b16 vldr d4, [pc, #88] ; 80cc9a0 <__kernel_sin+0x90> 80cc948: eea6 4b07 vfma.f64 d4, d6, d7 80cc94c: ed9f 7b16 vldr d7, [pc, #88] ; 80cc9a8 <__kernel_sin+0x98> 80cc950: eea6 7b04 vfma.f64 d7, d6, d4 80cc954: b930 cbnz r0, 80cc964 <__kernel_sin+0x54> 80cc956: ed9f 4b16 vldr d4, [pc, #88] ; 80cc9b0 <__kernel_sin+0xa0> 80cc95a: eea6 4b07 vfma.f64 d4, d6, d7 80cc95e: eea5 0b04 vfma.f64 d0, d5, d4 80cc962: 4770 bx lr 80cc964: ee27 7b45 vnmul.f64 d7, d7, d5 80cc968: eeb6 4b00 vmov.f64 d4, #96 ; 0x3f000000 0.5 80cc96c: eea1 7b04 vfma.f64 d7, d1, d4 80cc970: ee96 1b07 vfnms.f64 d1, d6, d7 80cc974: ed9f 7b10 vldr d7, [pc, #64] ; 80cc9b8 <__kernel_sin+0xa8> 80cc978: eea5 1b07 vfma.f64 d1, d5, d7 80cc97c: ee30 0b41 vsub.f64 d0, d0, d1 80cc980: 4770 bx lr 80cc982: bf00 nop 80cc984: f3af 8000 nop.w 80cc988: 5acfd57c .word 0x5acfd57c 80cc98c: 3de5d93a .word 0x3de5d93a 80cc990: 8a2b9ceb .word 0x8a2b9ceb 80cc994: be5ae5e6 .word 0xbe5ae5e6 80cc998: 57b1fe7d .word 0x57b1fe7d 80cc99c: 3ec71de3 .word 0x3ec71de3 80cc9a0: 19c161d5 .word 0x19c161d5 80cc9a4: bf2a01a0 .word 0xbf2a01a0 80cc9a8: 1110f8a6 .word 0x1110f8a6 80cc9ac: 3f811111 .word 0x3f811111 80cc9b0: 55555549 .word 0x55555549 80cc9b4: bfc55555 .word 0xbfc55555 80cc9b8: 55555549 .word 0x55555549 80cc9bc: 3fc55555 .word 0x3fc55555 080cc9c0 <__kernel_tan>: 80cc9c0: eeb0 7b40 vmov.f64 d7, d0 80cc9c4: ee17 3a90 vmov r3, s15 80cc9c8: b507 push {r0, r1, r2, lr} 80cc9ca: 4981 ldr r1, [pc, #516] ; (80ccbd0 <__kernel_tan+0x210>) 80cc9cc: f023 4200 bic.w r2, r3, #2147483648 ; 0x80000000 80cc9d0: 428a cmp r2, r1 80cc9d2: dc1c bgt.n 80cca0e <__kernel_tan+0x4e> 80cc9d4: eefd 6bc0 vcvt.s32.f64 s13, d0 80cc9d8: ee16 1a90 vmov r1, s13 80cc9dc: bb69 cbnz r1, 80cca3a <__kernel_tan+0x7a> 80cc9de: ee10 3a10 vmov r3, s0 80cc9e2: 431a orrs r2, r3 80cc9e4: 1c43 adds r3, r0, #1 80cc9e6: 4313 orrs r3, r2 80cc9e8: d10a bne.n 80cca00 <__kernel_tan+0x40> 80cc9ea: f7fe f8e1 bl 80cabb0 80cc9ee: eeb7 6b00 vmov.f64 d6, #112 ; 0x3f800000 1.0 80cc9f2: ee86 7b00 vdiv.f64 d7, d6, d0 80cc9f6: eeb0 0b47 vmov.f64 d0, d7 80cc9fa: b003 add sp, #12 80cc9fc: f85d fb04 ldr.w pc, [sp], #4 80cca00: 2801 cmp r0, #1 80cca02: d0f8 beq.n 80cc9f6 <__kernel_tan+0x36> 80cca04: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80cca08: ee86 7b00 vdiv.f64 d7, d6, d0 80cca0c: e7f3 b.n 80cc9f6 <__kernel_tan+0x36> 80cca0e: 4971 ldr r1, [pc, #452] ; (80ccbd4 <__kernel_tan+0x214>) 80cca10: 428a cmp r2, r1 80cca12: dd12 ble.n 80cca3a <__kernel_tan+0x7a> 80cca14: ed9f 6b4e vldr d6, [pc, #312] ; 80ccb50 <__kernel_tan+0x190> 80cca18: 2b00 cmp r3, #0 80cca1a: bfb8 it lt 80cca1c: eeb1 7b40 vneglt.f64 d7, d0 80cca20: ee36 7b47 vsub.f64 d7, d6, d7 80cca24: ed9f 6b4c vldr d6, [pc, #304] ; 80ccb58 <__kernel_tan+0x198> 80cca28: bfb8 it lt 80cca2a: eeb1 1b41 vneglt.f64 d1, d1 80cca2e: ee36 1b41 vsub.f64 d1, d6, d1 80cca32: ee31 7b07 vadd.f64 d7, d1, d7 80cca36: ed9f 1b4a vldr d1, [pc, #296] ; 80ccb60 <__kernel_tan+0x1a0> 80cca3a: ee27 5b07 vmul.f64 d5, d7, d7 80cca3e: ee25 6b05 vmul.f64 d6, d5, d5 80cca42: ed9f 3b49 vldr d3, [pc, #292] ; 80ccb68 <__kernel_tan+0x1a8> 80cca46: ee27 0b05 vmul.f64 d0, d7, d5 80cca4a: ed9f 4b49 vldr d4, [pc, #292] ; 80ccb70 <__kernel_tan+0x1b0> 80cca4e: eea6 4b03 vfma.f64 d4, d6, d3 80cca52: ed9f 3b49 vldr d3, [pc, #292] ; 80ccb78 <__kernel_tan+0x1b8> 80cca56: eea6 3b04 vfma.f64 d3, d6, d4 80cca5a: ed9f 4b49 vldr d4, [pc, #292] ; 80ccb80 <__kernel_tan+0x1c0> 80cca5e: eea6 4b03 vfma.f64 d4, d6, d3 80cca62: ed9f 3b49 vldr d3, [pc, #292] ; 80ccb88 <__kernel_tan+0x1c8> 80cca66: eea6 3b04 vfma.f64 d3, d6, d4 80cca6a: ed9f 4b49 vldr d4, [pc, #292] ; 80ccb90 <__kernel_tan+0x1d0> 80cca6e: ed9f 2b4a vldr d2, [pc, #296] ; 80ccb98 <__kernel_tan+0x1d8> 80cca72: eea6 4b03 vfma.f64 d4, d6, d3 80cca76: ed9f 3b4a vldr d3, [pc, #296] ; 80ccba0 <__kernel_tan+0x1e0> 80cca7a: eea6 3b02 vfma.f64 d3, d6, d2 80cca7e: ed9f 2b4a vldr d2, [pc, #296] ; 80ccba8 <__kernel_tan+0x1e8> 80cca82: eea6 2b03 vfma.f64 d2, d6, d3 80cca86: ed9f 3b4a vldr d3, [pc, #296] ; 80ccbb0 <__kernel_tan+0x1f0> 80cca8a: eea6 3b02 vfma.f64 d3, d6, d2 80cca8e: ed9f 2b4a vldr d2, [pc, #296] ; 80ccbb8 <__kernel_tan+0x1f8> 80cca92: eea6 2b03 vfma.f64 d2, d6, d3 80cca96: ed9f 3b4a vldr d3, [pc, #296] ; 80ccbc0 <__kernel_tan+0x200> 80cca9a: 494e ldr r1, [pc, #312] ; (80ccbd4 <__kernel_tan+0x214>) 80cca9c: eea6 3b02 vfma.f64 d3, d6, d2 80ccaa0: eeb0 6b41 vmov.f64 d6, d1 80ccaa4: eea5 4b03 vfma.f64 d4, d5, d3 80ccaa8: eea0 6b04 vfma.f64 d6, d0, d4 80ccaac: eea5 1b06 vfma.f64 d1, d5, d6 80ccab0: ed9f 6b45 vldr d6, [pc, #276] ; 80ccbc8 <__kernel_tan+0x208> 80ccab4: 428a cmp r2, r1 80ccab6: eea0 1b06 vfma.f64 d1, d0, d6 80ccaba: ee37 6b01 vadd.f64 d6, d7, d1 80ccabe: ed8d 6b00 vstr d6, [sp] 80ccac2: dd1f ble.n 80ccb04 <__kernel_tan+0x144> 80ccac4: ed9d 5b00 vldr d5, [sp] 80ccac8: 179b asrs r3, r3, #30 80ccaca: ee06 0a90 vmov s13, r0 80ccace: ee25 3b05 vmul.f64 d3, d5, d5 80ccad2: f003 0302 and.w r3, r3, #2 80ccad6: f1c3 0301 rsb r3, r3, #1 80ccada: eeb8 6be6 vcvt.f64.s32 d6, s13 80ccade: ee35 4b06 vadd.f64 d4, d5, d6 80ccae2: ee83 5b04 vdiv.f64 d5, d3, d4 80ccae6: ee35 1b41 vsub.f64 d1, d5, d1 80ccaea: eeb0 5b00 vmov.f64 d5, #0 ; 0x40000000 2.0 80ccaee: ee37 7b41 vsub.f64 d7, d7, d1 80ccaf2: eea7 6b45 vfms.f64 d6, d7, d5 80ccaf6: ee07 3a10 vmov s14, r3 80ccafa: eeb8 7bc7 vcvt.f64.s32 d7, s14 80ccafe: ee26 7b07 vmul.f64 d7, d6, d7 80ccb02: e778 b.n 80cc9f6 <__kernel_tan+0x36> 80ccb04: 2801 cmp r0, #1 80ccb06: d020 beq.n 80ccb4a <__kernel_tan+0x18a> 80ccb08: eebf 6b00 vmov.f64 d6, #240 ; 0xbf800000 -1.0 80ccb0c: ed9d 3b00 vldr d3, [sp] 80ccb10: e9dd 0100 ldrd r0, r1, [sp] 80ccb14: ee86 4b03 vdiv.f64 d4, d6, d3 80ccb18: ed8d 4b00 vstr d4, [sp] 80ccb1c: e9dd 2300 ldrd r2, r3, [sp] 80ccb20: 2000 movs r0, #0 80ccb22: 4602 mov r2, r0 80ccb24: ec43 2b16 vmov d6, r2, r3 80ccb28: ec41 0b15 vmov d5, r0, r1 80ccb2c: ee35 7b47 vsub.f64 d7, d5, d7 80ccb30: ee31 1b47 vsub.f64 d1, d1, d7 80ccb34: eeb7 7b00 vmov.f64 d7, #112 ; 0x3f800000 1.0 80ccb38: eea5 7b06 vfma.f64 d7, d5, d6 80ccb3c: eea1 7b06 vfma.f64 d7, d1, d6 80ccb40: eea4 6b07 vfma.f64 d6, d4, d7 80ccb44: eeb0 7b46 vmov.f64 d7, d6 80ccb48: e755 b.n 80cc9f6 <__kernel_tan+0x36> 80ccb4a: ed9d 7b00 vldr d7, [sp] 80ccb4e: e752 b.n 80cc9f6 <__kernel_tan+0x36> 80ccb50: 54442d18 .word 0x54442d18 80ccb54: 3fe921fb .word 0x3fe921fb 80ccb58: 33145c07 .word 0x33145c07 80ccb5c: 3c81a626 .word 0x3c81a626 ... 80ccb68: db605373 .word 0xdb605373 80ccb6c: bef375cb .word 0xbef375cb 80ccb70: a03792a6 .word 0xa03792a6 80ccb74: 3f147e88 .word 0x3f147e88 80ccb78: f2f26501 .word 0xf2f26501 80ccb7c: 3f4344d8 .word 0x3f4344d8 80ccb80: c9560328 .word 0xc9560328 80ccb84: 3f6d6d22 .word 0x3f6d6d22 80ccb88: 8406d637 .word 0x8406d637 80ccb8c: 3f9664f4 .word 0x3f9664f4 80ccb90: 1110fe7a .word 0x1110fe7a 80ccb94: 3fc11111 .word 0x3fc11111 80ccb98: 74bf7ad4 .word 0x74bf7ad4 80ccb9c: 3efb2a70 .word 0x3efb2a70 80ccba0: 32f0a7e9 .word 0x32f0a7e9 80ccba4: 3f12b80f .word 0x3f12b80f 80ccba8: 1a8d1068 .word 0x1a8d1068 80ccbac: 3f3026f7 .word 0x3f3026f7 80ccbb0: fee08315 .word 0xfee08315 80ccbb4: 3f57dbc8 .word 0x3f57dbc8 80ccbb8: e96e8493 .word 0xe96e8493 80ccbbc: 3f8226e3 .word 0x3f8226e3 80ccbc0: 1bb341fe .word 0x1bb341fe 80ccbc4: 3faba1ba .word 0x3faba1ba 80ccbc8: 55555563 .word 0x55555563 80ccbcc: 3fd55555 .word 0x3fd55555 80ccbd0: 3e2fffff .word 0x3e2fffff 80ccbd4: 3fe59427 .word 0x3fe59427 080ccbd8 : 80ccbd8: ee10 3a90 vmov r3, s1 80ccbdc: f043 4000 orr.w r0, r3, #2147483648 ; 0x80000000 80ccbe0: f500 1080 add.w r0, r0, #1048576 ; 0x100000 80ccbe4: 0fc0 lsrs r0, r0, #31 80ccbe6: 4770 bx lr 080ccbe8 : 80ccbe8: ee10 1a90 vmov r1, s1 80ccbec: f3c1 520a ubfx r2, r1, #20, #11 80ccbf0: f2a2 33ff subw r3, r2, #1023 ; 0x3ff 80ccbf4: 2b13 cmp r3, #19 80ccbf6: b530 push {r4, r5, lr} 80ccbf8: ee10 0a10 vmov r0, s0 80ccbfc: ee10 5a10 vmov r5, s0 80ccc00: dc33 bgt.n 80ccc6a 80ccc02: 2b00 cmp r3, #0 80ccc04: da17 bge.n 80ccc36 80ccc06: ed9f 7b30 vldr d7, [pc, #192] ; 80cccc8 80ccc0a: ee30 0b07 vadd.f64 d0, d0, d7 80ccc0e: eeb5 0bc0 vcmpe.f64 d0, #0.0 80ccc12: eef1 fa10 vmrs APSR_nzcv, fpscr 80ccc16: dd09 ble.n 80ccc2c 80ccc18: 2900 cmp r1, #0 80ccc1a: da50 bge.n 80cccbe 80ccc1c: f021 4300 bic.w r3, r1, #2147483648 ; 0x80000000 80ccc20: 432b orrs r3, r5 80ccc22: 4b2b ldr r3, [pc, #172] ; (80cccd0 ) 80ccc24: f04f 0000 mov.w r0, #0 80ccc28: bf18 it ne 80ccc2a: 4619 movne r1, r3 80ccc2c: 460b mov r3, r1 80ccc2e: 4602 mov r2, r0 80ccc30: ec43 2b10 vmov d0, r2, r3 80ccc34: bd30 pop {r4, r5, pc} 80ccc36: 4a27 ldr r2, [pc, #156] ; (80cccd4 ) 80ccc38: 411a asrs r2, r3 80ccc3a: ea01 0402 and.w r4, r1, r2 80ccc3e: 432c orrs r4, r5 80ccc40: d0f8 beq.n 80ccc34 80ccc42: ed9f 7b21 vldr d7, [pc, #132] ; 80cccc8 80ccc46: ee30 0b07 vadd.f64 d0, d0, d7 80ccc4a: eeb5 0bc0 vcmpe.f64 d0, #0.0 80ccc4e: eef1 fa10 vmrs APSR_nzcv, fpscr 80ccc52: ddeb ble.n 80ccc2c 80ccc54: 2900 cmp r1, #0 80ccc56: bfbe ittt lt 80ccc58: f44f 1080 movlt.w r0, #1048576 ; 0x100000 80ccc5c: fa40 f303 asrlt.w r3, r0, r3 80ccc60: 18c9 addlt r1, r1, r3 80ccc62: ea21 0102 bic.w r1, r1, r2 80ccc66: 2000 movs r0, #0 80ccc68: e7e0 b.n 80ccc2c 80ccc6a: 2b33 cmp r3, #51 ; 0x33 80ccc6c: dd05 ble.n 80ccc7a 80ccc6e: f5b3 6f80 cmp.w r3, #1024 ; 0x400 80ccc72: d1df bne.n 80ccc34 80ccc74: ee30 0b00 vadd.f64 d0, d0, d0 80ccc78: bd30 pop {r4, r5, pc} 80ccc7a: f2a2 4413 subw r4, r2, #1043 ; 0x413 80ccc7e: f04f 32ff mov.w r2, #4294967295 80ccc82: 40e2 lsrs r2, r4 80ccc84: 4215 tst r5, r2 80ccc86: d0d5 beq.n 80ccc34 80ccc88: ed9f 7b0f vldr d7, [pc, #60] ; 80cccc8 80ccc8c: ee30 0b07 vadd.f64 d0, d0, d7 80ccc90: eeb5 0bc0 vcmpe.f64 d0, #0.0 80ccc94: eef1 fa10 vmrs APSR_nzcv, fpscr 80ccc98: ddc8 ble.n 80ccc2c 80ccc9a: 2900 cmp r1, #0 80ccc9c: da02 bge.n 80ccca4 80ccc9e: 2b14 cmp r3, #20 80ccca0: d103 bne.n 80cccaa 80ccca2: 3101 adds r1, #1 80ccca4: ea20 0002 bic.w r0, r0, r2 80ccca8: e7c0 b.n 80ccc2c 80cccaa: 2401 movs r4, #1 80cccac: f1c3 0334 rsb r3, r3, #52 ; 0x34 80cccb0: fa04 f303 lsl.w r3, r4, r3 80cccb4: 4418 add r0, r3 80cccb6: 4285 cmp r5, r0 80cccb8: bf88 it hi 80cccba: 1909 addhi r1, r1, r4 80cccbc: e7f2 b.n 80ccca4 80cccbe: 2000 movs r0, #0 80cccc0: 4601 mov r1, r0 80cccc2: e7b3 b.n 80ccc2c 80cccc4: f3af 8000 nop.w 80cccc8: 8800759c .word 0x8800759c 80ccccc: 7e37e43c .word 0x7e37e43c 80cccd0: bff00000 .word 0xbff00000 80cccd4: 000fffff .word 0x000fffff 080cccd8 : 80cccd8: 2000 movs r0, #0 80cccda: 4770 bx lr 80cccdc: 0000 movs r0, r0 ... 080ccce0 : 80ccce0: ed9f 0b01 vldr d0, [pc, #4] ; 80ccce8 80ccce4: 4770 bx lr 80ccce6: bf00 nop 80ccce8: 00000000 .word 0x00000000 80cccec: 7ff80000 .word 0x7ff80000 080cccf0 : 80cccf0: b530 push {r4, r5, lr} 80cccf2: b085 sub sp, #20 80cccf4: ed8d 0b00 vstr d0, [sp] 80cccf8: 9b01 ldr r3, [sp, #4] 80cccfa: 9d00 ldr r5, [sp, #0] 80cccfc: f3c3 510a ubfx r1, r3, #20, #11 80ccd00: f2a1 30ff subw r0, r1, #1023 ; 0x3ff 80ccd04: 2813 cmp r0, #19 80ccd06: 462a mov r2, r5 80ccd08: ea4f 74d3 mov.w r4, r3, lsr #31 80ccd0c: dc5a bgt.n 80ccdc4 80ccd0e: 2800 cmp r0, #0 80ccd10: da2f bge.n 80ccd72 80ccd12: f023 4200 bic.w r2, r3, #2147483648 ; 0x80000000 80ccd16: 432a orrs r2, r5 80ccd18: d027 beq.n 80ccd6a 80ccd1a: f3c3 0213 ubfx r2, r3, #0, #20 80ccd1e: 4315 orrs r5, r2 80ccd20: 426a negs r2, r5 80ccd22: 432a orrs r2, r5 80ccd24: 0b12 lsrs r2, r2, #12 80ccd26: 0c5b lsrs r3, r3, #17 80ccd28: f402 2200 and.w r2, r2, #524288 ; 0x80000 80ccd2c: 045b lsls r3, r3, #17 80ccd2e: e9dd 0100 ldrd r0, r1, [sp] 80ccd32: ea42 0103 orr.w r1, r2, r3 80ccd36: 4b32 ldr r3, [pc, #200] ; (80cce00 ) 80ccd38: eb03 03c4 add.w r3, r3, r4, lsl #3 80ccd3c: ed93 6b00 vldr d6, [r3] 80ccd40: ec41 0b17 vmov d7, r0, r1 80ccd44: ee37 7b06 vadd.f64 d7, d7, d6 80ccd48: ed8d 7b02 vstr d7, [sp, #8] 80ccd4c: ed9d 7b02 vldr d7, [sp, #8] 80ccd50: ee37 7b46 vsub.f64 d7, d7, d6 80ccd54: ed8d 7b00 vstr d7, [sp] 80ccd58: 9901 ldr r1, [sp, #4] 80ccd5a: e9dd 2300 ldrd r2, r3, [sp] 80ccd5e: f021 4100 bic.w r1, r1, #2147483648 ; 0x80000000 80ccd62: ea41 73c4 orr.w r3, r1, r4, lsl #31 80ccd66: e9cd 2300 strd r2, r3, [sp] 80ccd6a: ed9d 0b00 vldr d0, [sp] 80ccd6e: b005 add sp, #20 80ccd70: bd30 pop {r4, r5, pc} 80ccd72: 4924 ldr r1, [pc, #144] ; (80cce04 ) 80ccd74: 4101 asrs r1, r0 80ccd76: ea03 0501 and.w r5, r3, r1 80ccd7a: 4315 orrs r5, r2 80ccd7c: d0f5 beq.n 80ccd6a 80ccd7e: 0849 lsrs r1, r1, #1 80ccd80: ea03 0501 and.w r5, r3, r1 80ccd84: 432a orrs r2, r5 80ccd86: d00b beq.n 80ccda0 80ccd88: ea23 0101 bic.w r1, r3, r1 80ccd8c: f44f 2380 mov.w r3, #262144 ; 0x40000 80ccd90: 2813 cmp r0, #19 80ccd92: fa43 f300 asr.w r3, r3, r0 80ccd96: bf0c ite eq 80ccd98: f04f 4200 moveq.w r2, #2147483648 ; 0x80000000 80ccd9c: 2200 movne r2, #0 80ccd9e: 430b orrs r3, r1 80ccda0: 4619 mov r1, r3 80ccda2: 4b17 ldr r3, [pc, #92] ; (80cce00 ) 80ccda4: eb03 04c4 add.w r4, r3, r4, lsl #3 80ccda8: ed94 6b00 vldr d6, [r4] 80ccdac: 4610 mov r0, r2 80ccdae: ec41 0b17 vmov d7, r0, r1 80ccdb2: ee37 7b06 vadd.f64 d7, d7, d6 80ccdb6: ed8d 7b02 vstr d7, [sp, #8] 80ccdba: ed9d 7b02 vldr d7, [sp, #8] 80ccdbe: ee37 7b46 vsub.f64 d7, d7, d6 80ccdc2: e008 b.n 80ccdd6 80ccdc4: 2833 cmp r0, #51 ; 0x33 80ccdc6: dd09 ble.n 80ccddc 80ccdc8: f5b0 6f80 cmp.w r0, #1024 ; 0x400 80ccdcc: d1cd bne.n 80ccd6a 80ccdce: ed9d 7b00 vldr d7, [sp] 80ccdd2: ee37 7b07 vadd.f64 d7, d7, d7 80ccdd6: ed8d 7b00 vstr d7, [sp] 80ccdda: e7c6 b.n 80ccd6a 80ccddc: f2a1 4013 subw r0, r1, #1043 ; 0x413 80ccde0: f04f 31ff mov.w r1, #4294967295 80ccde4: 40c1 lsrs r1, r0 80ccde6: 420d tst r5, r1 80ccde8: d0bf beq.n 80ccd6a 80ccdea: 0849 lsrs r1, r1, #1 80ccdec: 420d tst r5, r1 80ccdee: bf1f itttt ne 80ccdf0: f04f 4280 movne.w r2, #1073741824 ; 0x40000000 80ccdf4: ea25 0101 bicne.w r1, r5, r1 80ccdf8: 4102 asrne r2, r0 80ccdfa: 430a orrne r2, r1 80ccdfc: e7d0 b.n 80ccda0 80ccdfe: bf00 nop 80cce00: 08186878 .word 0x08186878 80cce04: 000fffff .word 0x000fffff 080cce08 : 80cce08: b500 push {lr} 80cce0a: ed2d 8b02 vpush {d8} 80cce0e: b083 sub sp, #12 80cce10: ed8d 0b00 vstr d0, [sp] 80cce14: e89d 000a ldmia.w sp, {r1, r3} 80cce18: f3c3 520a ubfx r2, r3, #20, #11 80cce1c: b9a2 cbnz r2, 80cce48 80cce1e: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80cce22: 430b orrs r3, r1 80cce24: d03a beq.n 80cce9c 80cce26: ed9f 7b2e vldr d7, [pc, #184] ; 80ccee0 80cce2a: 4a35 ldr r2, [pc, #212] ; (80ccf00 ) 80cce2c: ee20 7b07 vmul.f64 d7, d0, d7 80cce30: 4290 cmp r0, r2 80cce32: ed8d 7b00 vstr d7, [sp] 80cce36: 9b01 ldr r3, [sp, #4] 80cce38: da11 bge.n 80cce5e 80cce3a: ed9f 7b2b vldr d7, [pc, #172] ; 80ccee8 80cce3e: ed9d 6b00 vldr d6, [sp] 80cce42: ee27 7b06 vmul.f64 d7, d7, d6 80cce46: e007 b.n 80cce58 80cce48: f240 71ff movw r1, #2047 ; 0x7ff 80cce4c: 428a cmp r2, r1 80cce4e: d109 bne.n 80cce64 80cce50: ed9d 7b00 vldr d7, [sp] 80cce54: ee37 7b07 vadd.f64 d7, d7, d7 80cce58: ed8d 7b00 vstr d7, [sp] 80cce5c: e01e b.n 80cce9c 80cce5e: f3c3 520a ubfx r2, r3, #20, #11 80cce62: 3a36 subs r2, #54 ; 0x36 80cce64: 4402 add r2, r0 80cce66: f240 71fe movw r1, #2046 ; 0x7fe 80cce6a: 428a cmp r2, r1 80cce6c: dd0a ble.n 80cce84 80cce6e: ed9f 8b20 vldr d8, [pc, #128] ; 80ccef0 80cce72: eeb0 0b48 vmov.f64 d0, d8 80cce76: ed9d 1b00 vldr d1, [sp] 80cce7a: f000 f881 bl 80ccf80 80cce7e: ee20 7b08 vmul.f64 d7, d0, d8 80cce82: e7e9 b.n 80cce58 80cce84: 2a00 cmp r2, #0 80cce86: dd10 ble.n 80cceaa 80cce88: e9dd 0100 ldrd r0, r1, [sp] 80cce8c: f023 43ff bic.w r3, r3, #2139095040 ; 0x7f800000 80cce90: f423 03e0 bic.w r3, r3, #7340032 ; 0x700000 80cce94: ea43 5102 orr.w r1, r3, r2, lsl #20 80cce98: e9cd 0100 strd r0, r1, [sp] 80cce9c: ed9d 0b00 vldr d0, [sp] 80ccea0: b003 add sp, #12 80ccea2: ecbd 8b02 vpop {d8} 80ccea6: f85d fb04 ldr.w pc, [sp], #4 80cceaa: f112 0f35 cmn.w r2, #53 ; 0x35 80cceae: da06 bge.n 80ccebe 80cceb0: f24c 3350 movw r3, #50000 ; 0xc350 80cceb4: 4298 cmp r0, r3 80cceb6: dcda bgt.n 80cce6e 80cceb8: ed9f 8b0b vldr d8, [pc, #44] ; 80ccee8 80ccebc: e7d9 b.n 80cce72 80ccebe: e9dd 0100 ldrd r0, r1, [sp] 80ccec2: f023 43ff bic.w r3, r3, #2139095040 ; 0x7f800000 80ccec6: 3236 adds r2, #54 ; 0x36 80ccec8: f423 03e0 bic.w r3, r3, #7340032 ; 0x700000 80ccecc: ea43 5102 orr.w r1, r3, r2, lsl #20 80cced0: ec41 0b17 vmov d7, r0, r1 80cced4: ed9f 6b08 vldr d6, [pc, #32] ; 80ccef8 80cced8: e7b3 b.n 80cce42 80cceda: bf00 nop 80ccedc: f3af 8000 nop.w 80ccee0: 00000000 .word 0x00000000 80ccee4: 43500000 .word 0x43500000 80ccee8: c2f8f359 .word 0xc2f8f359 80cceec: 01a56e1f .word 0x01a56e1f 80ccef0: 8800759c .word 0x8800759c 80ccef4: 7e37e43c .word 0x7e37e43c 80ccef8: 00000000 .word 0x00000000 80ccefc: 3c900000 .word 0x3c900000 80ccf00: ffff3cb0 .word 0xffff3cb0 80ccf04: 00000000 .word 0x00000000 080ccf08 : 80ccf08: b51f push {r0, r1, r2, r3, r4, lr} 80ccf0a: eeb0 7b40 vmov.f64 d7, d0 80ccf0e: ee17 3a90 vmov r3, s15 80ccf12: 4a19 ldr r2, [pc, #100] ; (80ccf78 ) 80ccf14: f023 4300 bic.w r3, r3, #2147483648 ; 0x80000000 80ccf18: 4293 cmp r3, r2 80ccf1a: dc05 bgt.n 80ccf28 80ccf1c: ed9f 1b14 vldr d1, [pc, #80] ; 80ccf70 80ccf20: 2000 movs r0, #0 80ccf22: f7ff fcf5 bl 80cc910 <__kernel_sin> 80ccf26: e004 b.n 80ccf32 80ccf28: 4a14 ldr r2, [pc, #80] ; (80ccf7c ) 80ccf2a: 4293 cmp r3, r2 80ccf2c: dd04 ble.n 80ccf38 80ccf2e: ee30 0b40 vsub.f64 d0, d0, d0 80ccf32: b005 add sp, #20 80ccf34: f85d fb04 ldr.w pc, [sp], #4 80ccf38: 4668 mov r0, sp 80ccf3a: f7fe fe99 bl 80cbc70 <__ieee754_rem_pio2> 80ccf3e: f000 0003 and.w r0, r0, #3 80ccf42: 2801 cmp r0, #1 80ccf44: ed9d 1b02 vldr d1, [sp, #8] 80ccf48: ed9d 0b00 vldr d0, [sp] 80ccf4c: d004 beq.n 80ccf58 80ccf4e: 2802 cmp r0, #2 80ccf50: d005 beq.n 80ccf5e 80ccf52: b950 cbnz r0, 80ccf6a 80ccf54: 2001 movs r0, #1 80ccf56: e7e4 b.n 80ccf22 80ccf58: f7ff f9fa bl 80cc350 <__kernel_cos> 80ccf5c: e7e9 b.n 80ccf32 80ccf5e: 2001 movs r0, #1 80ccf60: f7ff fcd6 bl 80cc910 <__kernel_sin> 80ccf64: eeb1 0b40 vneg.f64 d0, d0 80ccf68: e7e3 b.n 80ccf32 80ccf6a: f7ff f9f1 bl 80cc350 <__kernel_cos> 80ccf6e: e7f9 b.n 80ccf64 ... 80ccf78: 3fe921fb .word 0x3fe921fb 80ccf7c: 7fefffff .word 0x7fefffff 080ccf80 : 80ccf80: ec53 2b10 vmov r2, r3, d0 80ccf84: ee11 0a90 vmov r0, s3 80ccf88: f023 4100 bic.w r1, r3, #2147483648 ; 0x80000000 80ccf8c: f000 4000 and.w r0, r0, #2147483648 ; 0x80000000 80ccf90: ea41 0300 orr.w r3, r1, r0 80ccf94: ec43 2b10 vmov d0, r2, r3 80ccf98: 4770 bx lr 080ccf9a : 80ccf9a: 220a movs r2, #10 80ccf9c: 2100 movs r1, #0 80ccf9e: f000 ba41 b.w 80cd424 ... 080ccfa4 <__errno>: 80ccfa4: 4b01 ldr r3, [pc, #4] ; (80ccfac <__errno+0x8>) 80ccfa6: 6818 ldr r0, [r3, #0] 80ccfa8: 4770 bx lr 80ccfaa: bf00 nop 80ccfac: 20020b48 .word 0x20020b48 080ccfb0 <__libc_init_array>: 80ccfb0: b570 push {r4, r5, r6, lr} 80ccfb2: 4e0d ldr r6, [pc, #52] ; (80ccfe8 <__libc_init_array+0x38>) 80ccfb4: 4c0d ldr r4, [pc, #52] ; (80ccfec <__libc_init_array+0x3c>) 80ccfb6: 1ba4 subs r4, r4, r6 80ccfb8: 10a4 asrs r4, r4, #2 80ccfba: 2500 movs r5, #0 80ccfbc: 42a5 cmp r5, r4 80ccfbe: d109 bne.n 80ccfd4 <__libc_init_array+0x24> 80ccfc0: 4e0b ldr r6, [pc, #44] ; (80ccff0 <__libc_init_array+0x40>) 80ccfc2: 4c0c ldr r4, [pc, #48] ; (80ccff4 <__libc_init_array+0x44>) 80ccfc4: f001 fa64 bl 80ce490 <_init> 80ccfc8: 1ba4 subs r4, r4, r6 80ccfca: 10a4 asrs r4, r4, #2 80ccfcc: 2500 movs r5, #0 80ccfce: 42a5 cmp r5, r4 80ccfd0: d105 bne.n 80ccfde <__libc_init_array+0x2e> 80ccfd2: bd70 pop {r4, r5, r6, pc} 80ccfd4: f856 3025 ldr.w r3, [r6, r5, lsl #2] 80ccfd8: 4798 blx r3 80ccfda: 3501 adds r5, #1 80ccfdc: e7ee b.n 80ccfbc <__libc_init_array+0xc> 80ccfde: f856 3025 ldr.w r3, [r6, r5, lsl #2] 80ccfe2: 4798 blx r3 80ccfe4: 3501 adds r5, #1 80ccfe6: e7f2 b.n 80ccfce <__libc_init_array+0x1e> 80ccfe8: 08186a5c .word 0x08186a5c 80ccfec: 08186a5c .word 0x08186a5c 80ccff0: 08186a5c .word 0x08186a5c 80ccff4: 08186a60 .word 0x08186a60 080ccff8 <__itoa>: 80ccff8: 1e93 subs r3, r2, #2 80ccffa: 2b22 cmp r3, #34 ; 0x22 80ccffc: b510 push {r4, lr} 80ccffe: 460c mov r4, r1 80cd000: d904 bls.n 80cd00c <__itoa+0x14> 80cd002: 2300 movs r3, #0 80cd004: 700b strb r3, [r1, #0] 80cd006: 461c mov r4, r3 80cd008: 4620 mov r0, r4 80cd00a: bd10 pop {r4, pc} 80cd00c: 2a0a cmp r2, #10 80cd00e: d109 bne.n 80cd024 <__itoa+0x2c> 80cd010: 2800 cmp r0, #0 80cd012: da07 bge.n 80cd024 <__itoa+0x2c> 80cd014: 232d movs r3, #45 ; 0x2d 80cd016: 700b strb r3, [r1, #0] 80cd018: 4240 negs r0, r0 80cd01a: 2101 movs r1, #1 80cd01c: 4421 add r1, r4 80cd01e: f000 fa17 bl 80cd450 <__utoa> 80cd022: e7f1 b.n 80cd008 <__itoa+0x10> 80cd024: 2100 movs r1, #0 80cd026: e7f9 b.n 80cd01c <__itoa+0x24> 080cd028 : 80cd028: f7ff bfe6 b.w 80ccff8 <__itoa> 080cd02c : 80cd02c: 4b02 ldr r3, [pc, #8] ; (80cd038 ) 80cd02e: 4601 mov r1, r0 80cd030: 6818 ldr r0, [r3, #0] 80cd032: f000 b87b b.w 80cd12c <_malloc_r> 80cd036: bf00 nop 80cd038: 20020b48 .word 0x20020b48 080cd03c : 80cd03c: 4b02 ldr r3, [pc, #8] ; (80cd048 ) 80cd03e: 4601 mov r1, r0 80cd040: 6818 ldr r0, [r3, #0] 80cd042: f000 b825 b.w 80cd090 <_free_r> 80cd046: bf00 nop 80cd048: 20020b48 .word 0x20020b48 080cd04c : 80cd04c: b510 push {r4, lr} 80cd04e: 3901 subs r1, #1 80cd050: 4402 add r2, r0 80cd052: 4290 cmp r0, r2 80cd054: d101 bne.n 80cd05a 80cd056: 2000 movs r0, #0 80cd058: bd10 pop {r4, pc} 80cd05a: f810 3b01 ldrb.w r3, [r0], #1 80cd05e: f811 4f01 ldrb.w r4, [r1, #1]! 80cd062: 42a3 cmp r3, r4 80cd064: d0f5 beq.n 80cd052 80cd066: 1b18 subs r0, r3, r4 80cd068: bd10 pop {r4, pc} 080cd06a : 80cd06a: b510 push {r4, lr} 80cd06c: 1e43 subs r3, r0, #1 80cd06e: 440a add r2, r1 80cd070: 4291 cmp r1, r2 80cd072: d100 bne.n 80cd076 80cd074: bd10 pop {r4, pc} 80cd076: f811 4b01 ldrb.w r4, [r1], #1 80cd07a: f803 4f01 strb.w r4, [r3, #1]! 80cd07e: e7f7 b.n 80cd070 080cd080 : 80cd080: 4402 add r2, r0 80cd082: 4603 mov r3, r0 80cd084: 4293 cmp r3, r2 80cd086: d100 bne.n 80cd08a 80cd088: 4770 bx lr 80cd08a: f803 1b01 strb.w r1, [r3], #1 80cd08e: e7f9 b.n 80cd084 080cd090 <_free_r>: 80cd090: b538 push {r3, r4, r5, lr} 80cd092: 4605 mov r5, r0 80cd094: 2900 cmp r1, #0 80cd096: d045 beq.n 80cd124 <_free_r+0x94> 80cd098: f851 3c04 ldr.w r3, [r1, #-4] 80cd09c: 1f0c subs r4, r1, #4 80cd09e: 2b00 cmp r3, #0 80cd0a0: bfb8 it lt 80cd0a2: 18e4 addlt r4, r4, r3 80cd0a4: f000 faf3 bl 80cd68e <__malloc_lock> 80cd0a8: 4a1f ldr r2, [pc, #124] ; (80cd128 <_free_r+0x98>) 80cd0aa: 6813 ldr r3, [r2, #0] 80cd0ac: 4610 mov r0, r2 80cd0ae: b933 cbnz r3, 80cd0be <_free_r+0x2e> 80cd0b0: 6063 str r3, [r4, #4] 80cd0b2: 6014 str r4, [r2, #0] 80cd0b4: 4628 mov r0, r5 80cd0b6: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 80cd0ba: f000 bae9 b.w 80cd690 <__malloc_unlock> 80cd0be: 42a3 cmp r3, r4 80cd0c0: d90c bls.n 80cd0dc <_free_r+0x4c> 80cd0c2: 6821 ldr r1, [r4, #0] 80cd0c4: 1862 adds r2, r4, r1 80cd0c6: 4293 cmp r3, r2 80cd0c8: bf04 itt eq 80cd0ca: 681a ldreq r2, [r3, #0] 80cd0cc: 685b ldreq r3, [r3, #4] 80cd0ce: 6063 str r3, [r4, #4] 80cd0d0: bf04 itt eq 80cd0d2: 1852 addeq r2, r2, r1 80cd0d4: 6022 streq r2, [r4, #0] 80cd0d6: 6004 str r4, [r0, #0] 80cd0d8: e7ec b.n 80cd0b4 <_free_r+0x24> 80cd0da: 4613 mov r3, r2 80cd0dc: 685a ldr r2, [r3, #4] 80cd0de: b10a cbz r2, 80cd0e4 <_free_r+0x54> 80cd0e0: 42a2 cmp r2, r4 80cd0e2: d9fa bls.n 80cd0da <_free_r+0x4a> 80cd0e4: 6819 ldr r1, [r3, #0] 80cd0e6: 1858 adds r0, r3, r1 80cd0e8: 42a0 cmp r0, r4 80cd0ea: d10b bne.n 80cd104 <_free_r+0x74> 80cd0ec: 6820 ldr r0, [r4, #0] 80cd0ee: 4401 add r1, r0 80cd0f0: 1858 adds r0, r3, r1 80cd0f2: 4282 cmp r2, r0 80cd0f4: 6019 str r1, [r3, #0] 80cd0f6: d1dd bne.n 80cd0b4 <_free_r+0x24> 80cd0f8: 6810 ldr r0, [r2, #0] 80cd0fa: 6852 ldr r2, [r2, #4] 80cd0fc: 605a str r2, [r3, #4] 80cd0fe: 4401 add r1, r0 80cd100: 6019 str r1, [r3, #0] 80cd102: e7d7 b.n 80cd0b4 <_free_r+0x24> 80cd104: d902 bls.n 80cd10c <_free_r+0x7c> 80cd106: 230c movs r3, #12 80cd108: 602b str r3, [r5, #0] 80cd10a: e7d3 b.n 80cd0b4 <_free_r+0x24> 80cd10c: 6820 ldr r0, [r4, #0] 80cd10e: 1821 adds r1, r4, r0 80cd110: 428a cmp r2, r1 80cd112: bf04 itt eq 80cd114: 6811 ldreq r1, [r2, #0] 80cd116: 6852 ldreq r2, [r2, #4] 80cd118: 6062 str r2, [r4, #4] 80cd11a: bf04 itt eq 80cd11c: 1809 addeq r1, r1, r0 80cd11e: 6021 streq r1, [r4, #0] 80cd120: 605c str r4, [r3, #4] 80cd122: e7c7 b.n 80cd0b4 <_free_r+0x24> 80cd124: bd38 pop {r3, r4, r5, pc} 80cd126: bf00 nop 80cd128: 20021b28 .word 0x20021b28 080cd12c <_malloc_r>: 80cd12c: b570 push {r4, r5, r6, lr} 80cd12e: 1ccd adds r5, r1, #3 80cd130: f025 0503 bic.w r5, r5, #3 80cd134: 3508 adds r5, #8 80cd136: 2d0c cmp r5, #12 80cd138: bf38 it cc 80cd13a: 250c movcc r5, #12 80cd13c: 2d00 cmp r5, #0 80cd13e: 4606 mov r6, r0 80cd140: db01 blt.n 80cd146 <_malloc_r+0x1a> 80cd142: 42a9 cmp r1, r5 80cd144: d903 bls.n 80cd14e <_malloc_r+0x22> 80cd146: 230c movs r3, #12 80cd148: 6033 str r3, [r6, #0] 80cd14a: 2000 movs r0, #0 80cd14c: bd70 pop {r4, r5, r6, pc} 80cd14e: f000 fa9e bl 80cd68e <__malloc_lock> 80cd152: 4a23 ldr r2, [pc, #140] ; (80cd1e0 <_malloc_r+0xb4>) 80cd154: 6814 ldr r4, [r2, #0] 80cd156: 4621 mov r1, r4 80cd158: b991 cbnz r1, 80cd180 <_malloc_r+0x54> 80cd15a: 4c22 ldr r4, [pc, #136] ; (80cd1e4 <_malloc_r+0xb8>) 80cd15c: 6823 ldr r3, [r4, #0] 80cd15e: b91b cbnz r3, 80cd168 <_malloc_r+0x3c> 80cd160: 4630 mov r0, r6 80cd162: f000 f859 bl 80cd218 <_sbrk_r> 80cd166: 6020 str r0, [r4, #0] 80cd168: 4629 mov r1, r5 80cd16a: 4630 mov r0, r6 80cd16c: f000 f854 bl 80cd218 <_sbrk_r> 80cd170: 1c43 adds r3, r0, #1 80cd172: d126 bne.n 80cd1c2 <_malloc_r+0x96> 80cd174: 230c movs r3, #12 80cd176: 6033 str r3, [r6, #0] 80cd178: 4630 mov r0, r6 80cd17a: f000 fa89 bl 80cd690 <__malloc_unlock> 80cd17e: e7e4 b.n 80cd14a <_malloc_r+0x1e> 80cd180: 680b ldr r3, [r1, #0] 80cd182: 1b5b subs r3, r3, r5 80cd184: d41a bmi.n 80cd1bc <_malloc_r+0x90> 80cd186: 2b0b cmp r3, #11 80cd188: d90f bls.n 80cd1aa <_malloc_r+0x7e> 80cd18a: 600b str r3, [r1, #0] 80cd18c: 50cd str r5, [r1, r3] 80cd18e: 18cc adds r4, r1, r3 80cd190: 4630 mov r0, r6 80cd192: f000 fa7d bl 80cd690 <__malloc_unlock> 80cd196: f104 000b add.w r0, r4, #11 80cd19a: 1d23 adds r3, r4, #4 80cd19c: f020 0007 bic.w r0, r0, #7 80cd1a0: 1ac3 subs r3, r0, r3 80cd1a2: d01b beq.n 80cd1dc <_malloc_r+0xb0> 80cd1a4: 425a negs r2, r3 80cd1a6: 50e2 str r2, [r4, r3] 80cd1a8: bd70 pop {r4, r5, r6, pc} 80cd1aa: 428c cmp r4, r1 80cd1ac: bf0d iteet eq 80cd1ae: 6863 ldreq r3, [r4, #4] 80cd1b0: 684b ldrne r3, [r1, #4] 80cd1b2: 6063 strne r3, [r4, #4] 80cd1b4: 6013 streq r3, [r2, #0] 80cd1b6: bf18 it ne 80cd1b8: 460c movne r4, r1 80cd1ba: e7e9 b.n 80cd190 <_malloc_r+0x64> 80cd1bc: 460c mov r4, r1 80cd1be: 6849 ldr r1, [r1, #4] 80cd1c0: e7ca b.n 80cd158 <_malloc_r+0x2c> 80cd1c2: 1cc4 adds r4, r0, #3 80cd1c4: f024 0403 bic.w r4, r4, #3 80cd1c8: 42a0 cmp r0, r4 80cd1ca: d005 beq.n 80cd1d8 <_malloc_r+0xac> 80cd1cc: 1a21 subs r1, r4, r0 80cd1ce: 4630 mov r0, r6 80cd1d0: f000 f822 bl 80cd218 <_sbrk_r> 80cd1d4: 3001 adds r0, #1 80cd1d6: d0cd beq.n 80cd174 <_malloc_r+0x48> 80cd1d8: 6025 str r5, [r4, #0] 80cd1da: e7d9 b.n 80cd190 <_malloc_r+0x64> 80cd1dc: bd70 pop {r4, r5, r6, pc} 80cd1de: bf00 nop 80cd1e0: 20021b28 .word 0x20021b28 80cd1e4: 20021b2c .word 0x20021b2c 080cd1e8 : 80cd1e8: b40f push {r0, r1, r2, r3} 80cd1ea: 4b0a ldr r3, [pc, #40] ; (80cd214 ) 80cd1ec: b513 push {r0, r1, r4, lr} 80cd1ee: 681c ldr r4, [r3, #0] 80cd1f0: b124 cbz r4, 80cd1fc 80cd1f2: 69a3 ldr r3, [r4, #24] 80cd1f4: b913 cbnz r3, 80cd1fc 80cd1f6: 4620 mov r0, r4 80cd1f8: f000 f9aa bl 80cd550 <__sinit> 80cd1fc: ab05 add r3, sp, #20 80cd1fe: 9a04 ldr r2, [sp, #16] 80cd200: 68a1 ldr r1, [r4, #8] 80cd202: 9301 str r3, [sp, #4] 80cd204: 4620 mov r0, r4 80cd206: f000 fbbd bl 80cd984 <_vfiprintf_r> 80cd20a: b002 add sp, #8 80cd20c: e8bd 4010 ldmia.w sp!, {r4, lr} 80cd210: b004 add sp, #16 80cd212: 4770 bx lr 80cd214: 20020b48 .word 0x20020b48 080cd218 <_sbrk_r>: 80cd218: b538 push {r3, r4, r5, lr} 80cd21a: 4c06 ldr r4, [pc, #24] ; (80cd234 <_sbrk_r+0x1c>) 80cd21c: 2300 movs r3, #0 80cd21e: 4605 mov r5, r0 80cd220: 4608 mov r0, r1 80cd222: 6023 str r3, [r4, #0] 80cd224: f7e1 f918 bl 80ae458 <_sbrk> 80cd228: 1c43 adds r3, r0, #1 80cd22a: d102 bne.n 80cd232 <_sbrk_r+0x1a> 80cd22c: 6823 ldr r3, [r4, #0] 80cd22e: b103 cbz r3, 80cd232 <_sbrk_r+0x1a> 80cd230: 602b str r3, [r5, #0] 80cd232: bd38 pop {r3, r4, r5, pc} 80cd234: 20069634 .word 0x20069634 080cd238 : 80cd238: b40e push {r1, r2, r3} 80cd23a: b500 push {lr} 80cd23c: b09c sub sp, #112 ; 0x70 80cd23e: f44f 7102 mov.w r1, #520 ; 0x208 80cd242: ab1d add r3, sp, #116 ; 0x74 80cd244: f8ad 1014 strh.w r1, [sp, #20] 80cd248: 9002 str r0, [sp, #8] 80cd24a: 9006 str r0, [sp, #24] 80cd24c: f06f 4100 mvn.w r1, #2147483648 ; 0x80000000 80cd250: 480a ldr r0, [pc, #40] ; (80cd27c ) 80cd252: 9104 str r1, [sp, #16] 80cd254: 9107 str r1, [sp, #28] 80cd256: f64f 71ff movw r1, #65535 ; 0xffff 80cd25a: f853 2b04 ldr.w r2, [r3], #4 80cd25e: f8ad 1016 strh.w r1, [sp, #22] 80cd262: 6800 ldr r0, [r0, #0] 80cd264: 9301 str r3, [sp, #4] 80cd266: a902 add r1, sp, #8 80cd268: f000 fa6e bl 80cd748 <_svfiprintf_r> 80cd26c: 9b02 ldr r3, [sp, #8] 80cd26e: 2200 movs r2, #0 80cd270: 701a strb r2, [r3, #0] 80cd272: b01c add sp, #112 ; 0x70 80cd274: f85d eb04 ldr.w lr, [sp], #4 80cd278: b003 add sp, #12 80cd27a: 4770 bx lr 80cd27c: 20020b48 .word 0x20020b48 080cd280 : 80cd280: b510 push {r4, lr} 80cd282: 4602 mov r2, r0 80cd284: 4613 mov r3, r2 80cd286: 3201 adds r2, #1 80cd288: 781c ldrb r4, [r3, #0] 80cd28a: 2c00 cmp r4, #0 80cd28c: d1fa bne.n 80cd284 80cd28e: 3b01 subs r3, #1 80cd290: f811 2b01 ldrb.w r2, [r1], #1 80cd294: f803 2f01 strb.w r2, [r3, #1]! 80cd298: 2a00 cmp r2, #0 80cd29a: d1f9 bne.n 80cd290 80cd29c: bd10 pop {r4, pc} 080cd29e : 80cd29e: b2c9 uxtb r1, r1 80cd2a0: 4603 mov r3, r0 80cd2a2: f810 2b01 ldrb.w r2, [r0], #1 80cd2a6: b11a cbz r2, 80cd2b0 80cd2a8: 4291 cmp r1, r2 80cd2aa: d1f9 bne.n 80cd2a0 80cd2ac: 4618 mov r0, r3 80cd2ae: 4770 bx lr 80cd2b0: 2900 cmp r1, #0 80cd2b2: bf0c ite eq 80cd2b4: 4618 moveq r0, r3 80cd2b6: 2000 movne r0, #0 80cd2b8: 4770 bx lr 080cd2ba : 80cd2ba: 4603 mov r3, r0 80cd2bc: f811 2b01 ldrb.w r2, [r1], #1 80cd2c0: f803 2b01 strb.w r2, [r3], #1 80cd2c4: 2a00 cmp r2, #0 80cd2c6: d1f9 bne.n 80cd2bc 80cd2c8: 4770 bx lr 080cd2ca : 80cd2ca: b570 push {r4, r5, r6, lr} 80cd2cc: 4603 mov r3, r0 80cd2ce: 461a mov r2, r3 80cd2d0: f812 5b01 ldrb.w r5, [r2], #1 80cd2d4: b14d cbz r5, 80cd2ea 80cd2d6: 1e4c subs r4, r1, #1 80cd2d8: e001 b.n 80cd2de 80cd2da: 42b5 cmp r5, r6 80cd2dc: d005 beq.n 80cd2ea 80cd2de: f814 6f01 ldrb.w r6, [r4, #1]! 80cd2e2: 2e00 cmp r6, #0 80cd2e4: d1f9 bne.n 80cd2da 80cd2e6: 4613 mov r3, r2 80cd2e8: e7f1 b.n 80cd2ce 80cd2ea: 1a18 subs r0, r3, r0 80cd2ec: bd70 pop {r4, r5, r6, pc} 080cd2ee : 80cd2ee: b5f0 push {r4, r5, r6, r7, lr} 80cd2f0: 7803 ldrb r3, [r0, #0] 80cd2f2: b133 cbz r3, 80cd302 80cd2f4: 4603 mov r3, r0 80cd2f6: 4618 mov r0, r3 80cd2f8: 1c5e adds r6, r3, #1 80cd2fa: 781b ldrb r3, [r3, #0] 80cd2fc: b933 cbnz r3, 80cd30c 80cd2fe: 4618 mov r0, r3 80cd300: bdf0 pop {r4, r5, r6, r7, pc} 80cd302: 780b ldrb r3, [r1, #0] 80cd304: 2b00 cmp r3, #0 80cd306: bf18 it ne 80cd308: 2000 movne r0, #0 80cd30a: bdf0 pop {r4, r5, r6, r7, pc} 80cd30c: 1e4d subs r5, r1, #1 80cd30e: 1e44 subs r4, r0, #1 80cd310: f815 2f01 ldrb.w r2, [r5, #1]! 80cd314: 2a00 cmp r2, #0 80cd316: d0f3 beq.n 80cd300 80cd318: f814 7f01 ldrb.w r7, [r4, #1]! 80cd31c: 4297 cmp r7, r2 80cd31e: 4633 mov r3, r6 80cd320: d0f6 beq.n 80cd310 80cd322: e7e8 b.n 80cd2f6 080cd324 <_strtol_l.isra.0>: 80cd324: e92d 4ff8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cd328: 4680 mov r8, r0 80cd32a: 4689 mov r9, r1 80cd32c: 4692 mov sl, r2 80cd32e: 461f mov r7, r3 80cd330: 468b mov fp, r1 80cd332: 465d mov r5, fp 80cd334: 980a ldr r0, [sp, #40] ; 0x28 80cd336: f815 4b01 ldrb.w r4, [r5], #1 80cd33a: f000 f993 bl 80cd664 <__locale_ctype_ptr_l> 80cd33e: 4420 add r0, r4 80cd340: 7846 ldrb r6, [r0, #1] 80cd342: f016 0608 ands.w r6, r6, #8 80cd346: d10b bne.n 80cd360 <_strtol_l.isra.0+0x3c> 80cd348: 2c2d cmp r4, #45 ; 0x2d 80cd34a: d10b bne.n 80cd364 <_strtol_l.isra.0+0x40> 80cd34c: 782c ldrb r4, [r5, #0] 80cd34e: 2601 movs r6, #1 80cd350: f10b 0502 add.w r5, fp, #2 80cd354: b167 cbz r7, 80cd370 <_strtol_l.isra.0+0x4c> 80cd356: 2f10 cmp r7, #16 80cd358: d114 bne.n 80cd384 <_strtol_l.isra.0+0x60> 80cd35a: 2c30 cmp r4, #48 ; 0x30 80cd35c: d00a beq.n 80cd374 <_strtol_l.isra.0+0x50> 80cd35e: e011 b.n 80cd384 <_strtol_l.isra.0+0x60> 80cd360: 46ab mov fp, r5 80cd362: e7e6 b.n 80cd332 <_strtol_l.isra.0+0xe> 80cd364: 2c2b cmp r4, #43 ; 0x2b 80cd366: bf04 itt eq 80cd368: 782c ldrbeq r4, [r5, #0] 80cd36a: f10b 0502 addeq.w r5, fp, #2 80cd36e: e7f1 b.n 80cd354 <_strtol_l.isra.0+0x30> 80cd370: 2c30 cmp r4, #48 ; 0x30 80cd372: d127 bne.n 80cd3c4 <_strtol_l.isra.0+0xa0> 80cd374: 782b ldrb r3, [r5, #0] 80cd376: f003 03df and.w r3, r3, #223 ; 0xdf 80cd37a: 2b58 cmp r3, #88 ; 0x58 80cd37c: d14b bne.n 80cd416 <_strtol_l.isra.0+0xf2> 80cd37e: 786c ldrb r4, [r5, #1] 80cd380: 2710 movs r7, #16 80cd382: 3502 adds r5, #2 80cd384: 2e00 cmp r6, #0 80cd386: bf0c ite eq 80cd388: f06f 4100 mvneq.w r1, #2147483648 ; 0x80000000 80cd38c: f04f 4100 movne.w r1, #2147483648 ; 0x80000000 80cd390: 2200 movs r2, #0 80cd392: fbb1 fef7 udiv lr, r1, r7 80cd396: 4610 mov r0, r2 80cd398: fb07 1c1e mls ip, r7, lr, r1 80cd39c: f1a4 0330 sub.w r3, r4, #48 ; 0x30 80cd3a0: 2b09 cmp r3, #9 80cd3a2: d811 bhi.n 80cd3c8 <_strtol_l.isra.0+0xa4> 80cd3a4: 461c mov r4, r3 80cd3a6: 42a7 cmp r7, r4 80cd3a8: dd1d ble.n 80cd3e6 <_strtol_l.isra.0+0xc2> 80cd3aa: 1c53 adds r3, r2, #1 80cd3ac: d007 beq.n 80cd3be <_strtol_l.isra.0+0x9a> 80cd3ae: 4586 cmp lr, r0 80cd3b0: d316 bcc.n 80cd3e0 <_strtol_l.isra.0+0xbc> 80cd3b2: d101 bne.n 80cd3b8 <_strtol_l.isra.0+0x94> 80cd3b4: 45a4 cmp ip, r4 80cd3b6: db13 blt.n 80cd3e0 <_strtol_l.isra.0+0xbc> 80cd3b8: fb00 4007 mla r0, r0, r7, r4 80cd3bc: 2201 movs r2, #1 80cd3be: f815 4b01 ldrb.w r4, [r5], #1 80cd3c2: e7eb b.n 80cd39c <_strtol_l.isra.0+0x78> 80cd3c4: 270a movs r7, #10 80cd3c6: e7dd b.n 80cd384 <_strtol_l.isra.0+0x60> 80cd3c8: f1a4 0341 sub.w r3, r4, #65 ; 0x41 80cd3cc: 2b19 cmp r3, #25 80cd3ce: d801 bhi.n 80cd3d4 <_strtol_l.isra.0+0xb0> 80cd3d0: 3c37 subs r4, #55 ; 0x37 80cd3d2: e7e8 b.n 80cd3a6 <_strtol_l.isra.0+0x82> 80cd3d4: f1a4 0361 sub.w r3, r4, #97 ; 0x61 80cd3d8: 2b19 cmp r3, #25 80cd3da: d804 bhi.n 80cd3e6 <_strtol_l.isra.0+0xc2> 80cd3dc: 3c57 subs r4, #87 ; 0x57 80cd3de: e7e2 b.n 80cd3a6 <_strtol_l.isra.0+0x82> 80cd3e0: f04f 32ff mov.w r2, #4294967295 80cd3e4: e7eb b.n 80cd3be <_strtol_l.isra.0+0x9a> 80cd3e6: 1c53 adds r3, r2, #1 80cd3e8: d108 bne.n 80cd3fc <_strtol_l.isra.0+0xd8> 80cd3ea: 2322 movs r3, #34 ; 0x22 80cd3ec: f8c8 3000 str.w r3, [r8] 80cd3f0: 4608 mov r0, r1 80cd3f2: f1ba 0f00 cmp.w sl, #0 80cd3f6: d107 bne.n 80cd408 <_strtol_l.isra.0+0xe4> 80cd3f8: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 80cd3fc: b106 cbz r6, 80cd400 <_strtol_l.isra.0+0xdc> 80cd3fe: 4240 negs r0, r0 80cd400: f1ba 0f00 cmp.w sl, #0 80cd404: d00c beq.n 80cd420 <_strtol_l.isra.0+0xfc> 80cd406: b122 cbz r2, 80cd412 <_strtol_l.isra.0+0xee> 80cd408: 3d01 subs r5, #1 80cd40a: f8ca 5000 str.w r5, [sl] 80cd40e: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 80cd412: 464d mov r5, r9 80cd414: e7f9 b.n 80cd40a <_strtol_l.isra.0+0xe6> 80cd416: 2430 movs r4, #48 ; 0x30 80cd418: 2f00 cmp r7, #0 80cd41a: d1b3 bne.n 80cd384 <_strtol_l.isra.0+0x60> 80cd41c: 2708 movs r7, #8 80cd41e: e7b1 b.n 80cd384 <_strtol_l.isra.0+0x60> 80cd420: e8bd 8ff8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, sl, fp, pc} 080cd424 : 80cd424: 4b08 ldr r3, [pc, #32] ; (80cd448 ) 80cd426: b537 push {r0, r1, r2, r4, r5, lr} 80cd428: 681c ldr r4, [r3, #0] 80cd42a: 4d08 ldr r5, [pc, #32] ; (80cd44c ) 80cd42c: 6a23 ldr r3, [r4, #32] 80cd42e: 2b00 cmp r3, #0 80cd430: bf08 it eq 80cd432: 462b moveq r3, r5 80cd434: 9300 str r3, [sp, #0] 80cd436: 4613 mov r3, r2 80cd438: 460a mov r2, r1 80cd43a: 4601 mov r1, r0 80cd43c: 4620 mov r0, r4 80cd43e: f7ff ff71 bl 80cd324 <_strtol_l.isra.0> 80cd442: b003 add sp, #12 80cd444: bd30 pop {r4, r5, pc} 80cd446: bf00 nop 80cd448: 20020b48 .word 0x20020b48 80cd44c: 20020bac .word 0x20020bac 080cd450 <__utoa>: 80cd450: b5f0 push {r4, r5, r6, r7, lr} 80cd452: 4c1e ldr r4, [pc, #120] ; (80cd4cc <__utoa+0x7c>) 80cd454: b08b sub sp, #44 ; 0x2c 80cd456: 4603 mov r3, r0 80cd458: 460f mov r7, r1 80cd45a: 466d mov r5, sp 80cd45c: f104 0e20 add.w lr, r4, #32 80cd460: 6820 ldr r0, [r4, #0] 80cd462: 6861 ldr r1, [r4, #4] 80cd464: 462e mov r6, r5 80cd466: c603 stmia r6!, {r0, r1} 80cd468: 3408 adds r4, #8 80cd46a: 4574 cmp r4, lr 80cd46c: 4635 mov r5, r6 80cd46e: d1f7 bne.n 80cd460 <__utoa+0x10> 80cd470: 7921 ldrb r1, [r4, #4] 80cd472: 7131 strb r1, [r6, #4] 80cd474: 1e91 subs r1, r2, #2 80cd476: 6820 ldr r0, [r4, #0] 80cd478: 6030 str r0, [r6, #0] 80cd47a: 2922 cmp r1, #34 ; 0x22 80cd47c: f04f 0100 mov.w r1, #0 80cd480: d904 bls.n 80cd48c <__utoa+0x3c> 80cd482: 7039 strb r1, [r7, #0] 80cd484: 460f mov r7, r1 80cd486: 4638 mov r0, r7 80cd488: b00b add sp, #44 ; 0x2c 80cd48a: bdf0 pop {r4, r5, r6, r7, pc} 80cd48c: 1e78 subs r0, r7, #1 80cd48e: 4606 mov r6, r0 80cd490: fbb3 f5f2 udiv r5, r3, r2 80cd494: f10d 0e28 add.w lr, sp, #40 ; 0x28 80cd498: fb02 3315 mls r3, r2, r5, r3 80cd49c: 4473 add r3, lr 80cd49e: 1c4c adds r4, r1, #1 80cd4a0: f813 3c28 ldrb.w r3, [r3, #-40] 80cd4a4: f806 3f01 strb.w r3, [r6, #1]! 80cd4a8: 462b mov r3, r5 80cd4aa: b965 cbnz r5, 80cd4c6 <__utoa+0x76> 80cd4ac: 553d strb r5, [r7, r4] 80cd4ae: 187a adds r2, r7, r1 80cd4b0: 1acc subs r4, r1, r3 80cd4b2: 42a3 cmp r3, r4 80cd4b4: dae7 bge.n 80cd486 <__utoa+0x36> 80cd4b6: 7844 ldrb r4, [r0, #1] 80cd4b8: 7815 ldrb r5, [r2, #0] 80cd4ba: f800 5f01 strb.w r5, [r0, #1]! 80cd4be: 3301 adds r3, #1 80cd4c0: f802 4901 strb.w r4, [r2], #-1 80cd4c4: e7f4 b.n 80cd4b0 <__utoa+0x60> 80cd4c6: 4621 mov r1, r4 80cd4c8: e7e2 b.n 80cd490 <__utoa+0x40> 80cd4ca: bf00 nop 80cd4cc: 0818688c .word 0x0818688c 080cd4d0 <_cleanup_r>: 80cd4d0: 4901 ldr r1, [pc, #4] ; (80cd4d8 <_cleanup_r+0x8>) 80cd4d2: f000 b8a9 b.w 80cd628 <_fwalk_reent> 80cd4d6: bf00 nop 80cd4d8: 080ce255 .word 0x080ce255 080cd4dc : 80cd4dc: 2300 movs r3, #0 80cd4de: b510 push {r4, lr} 80cd4e0: 4604 mov r4, r0 80cd4e2: 6003 str r3, [r0, #0] 80cd4e4: 6043 str r3, [r0, #4] 80cd4e6: 6083 str r3, [r0, #8] 80cd4e8: 8181 strh r1, [r0, #12] 80cd4ea: 6643 str r3, [r0, #100] ; 0x64 80cd4ec: 81c2 strh r2, [r0, #14] 80cd4ee: 6103 str r3, [r0, #16] 80cd4f0: 6143 str r3, [r0, #20] 80cd4f2: 6183 str r3, [r0, #24] 80cd4f4: 4619 mov r1, r3 80cd4f6: 2208 movs r2, #8 80cd4f8: 305c adds r0, #92 ; 0x5c 80cd4fa: f7ff fdc1 bl 80cd080 80cd4fe: 4b05 ldr r3, [pc, #20] ; (80cd514 ) 80cd500: 6263 str r3, [r4, #36] ; 0x24 80cd502: 4b05 ldr r3, [pc, #20] ; (80cd518 ) 80cd504: 62a3 str r3, [r4, #40] ; 0x28 80cd506: 4b05 ldr r3, [pc, #20] ; (80cd51c ) 80cd508: 62e3 str r3, [r4, #44] ; 0x2c 80cd50a: 4b05 ldr r3, [pc, #20] ; (80cd520 ) 80cd50c: 6224 str r4, [r4, #32] 80cd50e: 6323 str r3, [r4, #48] ; 0x30 80cd510: bd10 pop {r4, pc} 80cd512: bf00 nop 80cd514: 080cdedd .word 0x080cdedd 80cd518: 080cdeff .word 0x080cdeff 80cd51c: 080cdf37 .word 0x080cdf37 80cd520: 080cdf5b .word 0x080cdf5b 080cd524 <__sfmoreglue>: 80cd524: b570 push {r4, r5, r6, lr} 80cd526: 1e4a subs r2, r1, #1 80cd528: 2568 movs r5, #104 ; 0x68 80cd52a: 4355 muls r5, r2 80cd52c: 460e mov r6, r1 80cd52e: f105 0174 add.w r1, r5, #116 ; 0x74 80cd532: f7ff fdfb bl 80cd12c <_malloc_r> 80cd536: 4604 mov r4, r0 80cd538: b140 cbz r0, 80cd54c <__sfmoreglue+0x28> 80cd53a: 2100 movs r1, #0 80cd53c: e880 0042 stmia.w r0, {r1, r6} 80cd540: 300c adds r0, #12 80cd542: 60a0 str r0, [r4, #8] 80cd544: f105 0268 add.w r2, r5, #104 ; 0x68 80cd548: f7ff fd9a bl 80cd080 80cd54c: 4620 mov r0, r4 80cd54e: bd70 pop {r4, r5, r6, pc} 080cd550 <__sinit>: 80cd550: 6983 ldr r3, [r0, #24] 80cd552: b510 push {r4, lr} 80cd554: 4604 mov r4, r0 80cd556: bb33 cbnz r3, 80cd5a6 <__sinit+0x56> 80cd558: 6483 str r3, [r0, #72] ; 0x48 80cd55a: 64c3 str r3, [r0, #76] ; 0x4c 80cd55c: 6503 str r3, [r0, #80] ; 0x50 80cd55e: 4b12 ldr r3, [pc, #72] ; (80cd5a8 <__sinit+0x58>) 80cd560: 4a12 ldr r2, [pc, #72] ; (80cd5ac <__sinit+0x5c>) 80cd562: 681b ldr r3, [r3, #0] 80cd564: 6282 str r2, [r0, #40] ; 0x28 80cd566: 4298 cmp r0, r3 80cd568: bf04 itt eq 80cd56a: 2301 moveq r3, #1 80cd56c: 6183 streq r3, [r0, #24] 80cd56e: f000 f81f bl 80cd5b0 <__sfp> 80cd572: 6060 str r0, [r4, #4] 80cd574: 4620 mov r0, r4 80cd576: f000 f81b bl 80cd5b0 <__sfp> 80cd57a: 60a0 str r0, [r4, #8] 80cd57c: 4620 mov r0, r4 80cd57e: f000 f817 bl 80cd5b0 <__sfp> 80cd582: 2200 movs r2, #0 80cd584: 60e0 str r0, [r4, #12] 80cd586: 2104 movs r1, #4 80cd588: 6860 ldr r0, [r4, #4] 80cd58a: f7ff ffa7 bl 80cd4dc 80cd58e: 2201 movs r2, #1 80cd590: 2109 movs r1, #9 80cd592: 68a0 ldr r0, [r4, #8] 80cd594: f7ff ffa2 bl 80cd4dc 80cd598: 2202 movs r2, #2 80cd59a: 2112 movs r1, #18 80cd59c: 68e0 ldr r0, [r4, #12] 80cd59e: f7ff ff9d bl 80cd4dc 80cd5a2: 2301 movs r3, #1 80cd5a4: 61a3 str r3, [r4, #24] 80cd5a6: bd10 pop {r4, pc} 80cd5a8: 08186888 .word 0x08186888 80cd5ac: 080cd4d1 .word 0x080cd4d1 080cd5b0 <__sfp>: 80cd5b0: b5f8 push {r3, r4, r5, r6, r7, lr} 80cd5b2: 4b1c ldr r3, [pc, #112] ; (80cd624 <__sfp+0x74>) 80cd5b4: 681e ldr r6, [r3, #0] 80cd5b6: 69b3 ldr r3, [r6, #24] 80cd5b8: 4607 mov r7, r0 80cd5ba: b913 cbnz r3, 80cd5c2 <__sfp+0x12> 80cd5bc: 4630 mov r0, r6 80cd5be: f7ff ffc7 bl 80cd550 <__sinit> 80cd5c2: 3648 adds r6, #72 ; 0x48 80cd5c4: 68b4 ldr r4, [r6, #8] 80cd5c6: 6873 ldr r3, [r6, #4] 80cd5c8: 3b01 subs r3, #1 80cd5ca: d503 bpl.n 80cd5d4 <__sfp+0x24> 80cd5cc: 6833 ldr r3, [r6, #0] 80cd5ce: b133 cbz r3, 80cd5de <__sfp+0x2e> 80cd5d0: 6836 ldr r6, [r6, #0] 80cd5d2: e7f7 b.n 80cd5c4 <__sfp+0x14> 80cd5d4: f9b4 500c ldrsh.w r5, [r4, #12] 80cd5d8: b16d cbz r5, 80cd5f6 <__sfp+0x46> 80cd5da: 3468 adds r4, #104 ; 0x68 80cd5dc: e7f4 b.n 80cd5c8 <__sfp+0x18> 80cd5de: 2104 movs r1, #4 80cd5e0: 4638 mov r0, r7 80cd5e2: f7ff ff9f bl 80cd524 <__sfmoreglue> 80cd5e6: 6030 str r0, [r6, #0] 80cd5e8: 2800 cmp r0, #0 80cd5ea: d1f1 bne.n 80cd5d0 <__sfp+0x20> 80cd5ec: 230c movs r3, #12 80cd5ee: 603b str r3, [r7, #0] 80cd5f0: 4604 mov r4, r0 80cd5f2: 4620 mov r0, r4 80cd5f4: bdf8 pop {r3, r4, r5, r6, r7, pc} 80cd5f6: f64f 73ff movw r3, #65535 ; 0xffff 80cd5fa: 81e3 strh r3, [r4, #14] 80cd5fc: 2301 movs r3, #1 80cd5fe: 81a3 strh r3, [r4, #12] 80cd600: 6665 str r5, [r4, #100] ; 0x64 80cd602: 6025 str r5, [r4, #0] 80cd604: 60a5 str r5, [r4, #8] 80cd606: 6065 str r5, [r4, #4] 80cd608: 6125 str r5, [r4, #16] 80cd60a: 6165 str r5, [r4, #20] 80cd60c: 61a5 str r5, [r4, #24] 80cd60e: 2208 movs r2, #8 80cd610: 4629 mov r1, r5 80cd612: f104 005c add.w r0, r4, #92 ; 0x5c 80cd616: f7ff fd33 bl 80cd080 80cd61a: 6365 str r5, [r4, #52] ; 0x34 80cd61c: 63a5 str r5, [r4, #56] ; 0x38 80cd61e: 64a5 str r5, [r4, #72] ; 0x48 80cd620: 64e5 str r5, [r4, #76] ; 0x4c 80cd622: e7e6 b.n 80cd5f2 <__sfp+0x42> 80cd624: 08186888 .word 0x08186888 080cd628 <_fwalk_reent>: 80cd628: e92d 43f8 stmdb sp!, {r3, r4, r5, r6, r7, r8, r9, lr} 80cd62c: 4680 mov r8, r0 80cd62e: 4689 mov r9, r1 80cd630: f100 0448 add.w r4, r0, #72 ; 0x48 80cd634: 2600 movs r6, #0 80cd636: b914 cbnz r4, 80cd63e <_fwalk_reent+0x16> 80cd638: 4630 mov r0, r6 80cd63a: e8bd 83f8 ldmia.w sp!, {r3, r4, r5, r6, r7, r8, r9, pc} 80cd63e: 68a5 ldr r5, [r4, #8] 80cd640: 6867 ldr r7, [r4, #4] 80cd642: 3f01 subs r7, #1 80cd644: d501 bpl.n 80cd64a <_fwalk_reent+0x22> 80cd646: 6824 ldr r4, [r4, #0] 80cd648: e7f5 b.n 80cd636 <_fwalk_reent+0xe> 80cd64a: 89ab ldrh r3, [r5, #12] 80cd64c: 2b01 cmp r3, #1 80cd64e: d907 bls.n 80cd660 <_fwalk_reent+0x38> 80cd650: f9b5 300e ldrsh.w r3, [r5, #14] 80cd654: 3301 adds r3, #1 80cd656: d003 beq.n 80cd660 <_fwalk_reent+0x38> 80cd658: 4629 mov r1, r5 80cd65a: 4640 mov r0, r8 80cd65c: 47c8 blx r9 80cd65e: 4306 orrs r6, r0 80cd660: 3568 adds r5, #104 ; 0x68 80cd662: e7ee b.n 80cd642 <_fwalk_reent+0x1a> 080cd664 <__locale_ctype_ptr_l>: 80cd664: f8d0 00ec ldr.w r0, [r0, #236] ; 0xec 80cd668: 4770 bx lr 080cd66a <__ascii_mbtowc>: 80cd66a: b082 sub sp, #8 80cd66c: b901 cbnz r1, 80cd670 <__ascii_mbtowc+0x6> 80cd66e: a901 add r1, sp, #4 80cd670: b142 cbz r2, 80cd684 <__ascii_mbtowc+0x1a> 80cd672: b14b cbz r3, 80cd688 <__ascii_mbtowc+0x1e> 80cd674: 7813 ldrb r3, [r2, #0] 80cd676: 600b str r3, [r1, #0] 80cd678: 7812 ldrb r2, [r2, #0] 80cd67a: 1c10 adds r0, r2, #0 80cd67c: bf18 it ne 80cd67e: 2001 movne r0, #1 80cd680: b002 add sp, #8 80cd682: 4770 bx lr 80cd684: 4610 mov r0, r2 80cd686: e7fb b.n 80cd680 <__ascii_mbtowc+0x16> 80cd688: f06f 0001 mvn.w r0, #1 80cd68c: e7f8 b.n 80cd680 <__ascii_mbtowc+0x16> 080cd68e <__malloc_lock>: 80cd68e: 4770 bx lr 080cd690 <__malloc_unlock>: 80cd690: 4770 bx lr 080cd692 <__ssputs_r>: 80cd692: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80cd696: 688e ldr r6, [r1, #8] 80cd698: 429e cmp r6, r3 80cd69a: 4682 mov sl, r0 80cd69c: 460c mov r4, r1 80cd69e: 4691 mov r9, r2 80cd6a0: 4698 mov r8, r3 80cd6a2: d835 bhi.n 80cd710 <__ssputs_r+0x7e> 80cd6a4: 898a ldrh r2, [r1, #12] 80cd6a6: f412 6f90 tst.w r2, #1152 ; 0x480 80cd6aa: d031 beq.n 80cd710 <__ssputs_r+0x7e> 80cd6ac: 6825 ldr r5, [r4, #0] 80cd6ae: 6909 ldr r1, [r1, #16] 80cd6b0: 1a6f subs r7, r5, r1 80cd6b2: 6965 ldr r5, [r4, #20] 80cd6b4: 2302 movs r3, #2 80cd6b6: eb05 0545 add.w r5, r5, r5, lsl #1 80cd6ba: fb95 f5f3 sdiv r5, r5, r3 80cd6be: f108 0301 add.w r3, r8, #1 80cd6c2: 443b add r3, r7 80cd6c4: 429d cmp r5, r3 80cd6c6: bf38 it cc 80cd6c8: 461d movcc r5, r3 80cd6ca: 0553 lsls r3, r2, #21 80cd6cc: d531 bpl.n 80cd732 <__ssputs_r+0xa0> 80cd6ce: 4629 mov r1, r5 80cd6d0: f7ff fd2c bl 80cd12c <_malloc_r> 80cd6d4: 4606 mov r6, r0 80cd6d6: b950 cbnz r0, 80cd6ee <__ssputs_r+0x5c> 80cd6d8: 230c movs r3, #12 80cd6da: f8ca 3000 str.w r3, [sl] 80cd6de: 89a3 ldrh r3, [r4, #12] 80cd6e0: f043 0340 orr.w r3, r3, #64 ; 0x40 80cd6e4: 81a3 strh r3, [r4, #12] 80cd6e6: f04f 30ff mov.w r0, #4294967295 80cd6ea: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80cd6ee: 463a mov r2, r7 80cd6f0: 6921 ldr r1, [r4, #16] 80cd6f2: f7ff fcba bl 80cd06a 80cd6f6: 89a3 ldrh r3, [r4, #12] 80cd6f8: f423 6390 bic.w r3, r3, #1152 ; 0x480 80cd6fc: f043 0380 orr.w r3, r3, #128 ; 0x80 80cd700: 81a3 strh r3, [r4, #12] 80cd702: 6126 str r6, [r4, #16] 80cd704: 6165 str r5, [r4, #20] 80cd706: 443e add r6, r7 80cd708: 1bed subs r5, r5, r7 80cd70a: 6026 str r6, [r4, #0] 80cd70c: 60a5 str r5, [r4, #8] 80cd70e: 4646 mov r6, r8 80cd710: 4546 cmp r6, r8 80cd712: bf28 it cs 80cd714: 4646 movcs r6, r8 80cd716: 4632 mov r2, r6 80cd718: 4649 mov r1, r9 80cd71a: 6820 ldr r0, [r4, #0] 80cd71c: f000 fe3a bl 80ce394 80cd720: 68a3 ldr r3, [r4, #8] 80cd722: 1b9b subs r3, r3, r6 80cd724: 60a3 str r3, [r4, #8] 80cd726: 6823 ldr r3, [r4, #0] 80cd728: 441e add r6, r3 80cd72a: 6026 str r6, [r4, #0] 80cd72c: 2000 movs r0, #0 80cd72e: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80cd732: 462a mov r2, r5 80cd734: f000 fe48 bl 80ce3c8 <_realloc_r> 80cd738: 4606 mov r6, r0 80cd73a: 2800 cmp r0, #0 80cd73c: d1e1 bne.n 80cd702 <__ssputs_r+0x70> 80cd73e: 6921 ldr r1, [r4, #16] 80cd740: 4650 mov r0, sl 80cd742: f7ff fca5 bl 80cd090 <_free_r> 80cd746: e7c7 b.n 80cd6d8 <__ssputs_r+0x46> 080cd748 <_svfiprintf_r>: 80cd748: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cd74c: b09d sub sp, #116 ; 0x74 80cd74e: 4680 mov r8, r0 80cd750: 9303 str r3, [sp, #12] 80cd752: 898b ldrh r3, [r1, #12] 80cd754: 061c lsls r4, r3, #24 80cd756: 460d mov r5, r1 80cd758: 4616 mov r6, r2 80cd75a: d50f bpl.n 80cd77c <_svfiprintf_r+0x34> 80cd75c: 690b ldr r3, [r1, #16] 80cd75e: b96b cbnz r3, 80cd77c <_svfiprintf_r+0x34> 80cd760: 2140 movs r1, #64 ; 0x40 80cd762: f7ff fce3 bl 80cd12c <_malloc_r> 80cd766: 6028 str r0, [r5, #0] 80cd768: 6128 str r0, [r5, #16] 80cd76a: b928 cbnz r0, 80cd778 <_svfiprintf_r+0x30> 80cd76c: 230c movs r3, #12 80cd76e: f8c8 3000 str.w r3, [r8] 80cd772: f04f 30ff mov.w r0, #4294967295 80cd776: e0c5 b.n 80cd904 <_svfiprintf_r+0x1bc> 80cd778: 2340 movs r3, #64 ; 0x40 80cd77a: 616b str r3, [r5, #20] 80cd77c: 2300 movs r3, #0 80cd77e: 9309 str r3, [sp, #36] ; 0x24 80cd780: 2320 movs r3, #32 80cd782: f88d 3029 strb.w r3, [sp, #41] ; 0x29 80cd786: 2330 movs r3, #48 ; 0x30 80cd788: f88d 302a strb.w r3, [sp, #42] ; 0x2a 80cd78c: f04f 0b01 mov.w fp, #1 80cd790: 4637 mov r7, r6 80cd792: 463c mov r4, r7 80cd794: f814 3b01 ldrb.w r3, [r4], #1 80cd798: 2b00 cmp r3, #0 80cd79a: d13c bne.n 80cd816 <_svfiprintf_r+0xce> 80cd79c: ebb7 0a06 subs.w sl, r7, r6 80cd7a0: d00b beq.n 80cd7ba <_svfiprintf_r+0x72> 80cd7a2: 4653 mov r3, sl 80cd7a4: 4632 mov r2, r6 80cd7a6: 4629 mov r1, r5 80cd7a8: 4640 mov r0, r8 80cd7aa: f7ff ff72 bl 80cd692 <__ssputs_r> 80cd7ae: 3001 adds r0, #1 80cd7b0: f000 80a3 beq.w 80cd8fa <_svfiprintf_r+0x1b2> 80cd7b4: 9b09 ldr r3, [sp, #36] ; 0x24 80cd7b6: 4453 add r3, sl 80cd7b8: 9309 str r3, [sp, #36] ; 0x24 80cd7ba: 783b ldrb r3, [r7, #0] 80cd7bc: 2b00 cmp r3, #0 80cd7be: f000 809c beq.w 80cd8fa <_svfiprintf_r+0x1b2> 80cd7c2: 2300 movs r3, #0 80cd7c4: f04f 32ff mov.w r2, #4294967295 80cd7c8: 9304 str r3, [sp, #16] 80cd7ca: 9307 str r3, [sp, #28] 80cd7cc: 9205 str r2, [sp, #20] 80cd7ce: 9306 str r3, [sp, #24] 80cd7d0: f88d 3053 strb.w r3, [sp, #83] ; 0x53 80cd7d4: 931a str r3, [sp, #104] ; 0x68 80cd7d6: 2205 movs r2, #5 80cd7d8: 7821 ldrb r1, [r4, #0] 80cd7da: 4850 ldr r0, [pc, #320] ; (80cd91c <_svfiprintf_r+0x1d4>) 80cd7dc: f752 fda8 bl 8020330 80cd7e0: 1c67 adds r7, r4, #1 80cd7e2: 9b04 ldr r3, [sp, #16] 80cd7e4: b9d8 cbnz r0, 80cd81e <_svfiprintf_r+0xd6> 80cd7e6: 06d9 lsls r1, r3, #27 80cd7e8: bf44 itt mi 80cd7ea: 2220 movmi r2, #32 80cd7ec: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80cd7f0: 071a lsls r2, r3, #28 80cd7f2: bf44 itt mi 80cd7f4: 222b movmi r2, #43 ; 0x2b 80cd7f6: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80cd7fa: 7822 ldrb r2, [r4, #0] 80cd7fc: 2a2a cmp r2, #42 ; 0x2a 80cd7fe: d016 beq.n 80cd82e <_svfiprintf_r+0xe6> 80cd800: 9a07 ldr r2, [sp, #28] 80cd802: 2100 movs r1, #0 80cd804: 200a movs r0, #10 80cd806: 4627 mov r7, r4 80cd808: 3401 adds r4, #1 80cd80a: 783b ldrb r3, [r7, #0] 80cd80c: 3b30 subs r3, #48 ; 0x30 80cd80e: 2b09 cmp r3, #9 80cd810: d951 bls.n 80cd8b6 <_svfiprintf_r+0x16e> 80cd812: b1c9 cbz r1, 80cd848 <_svfiprintf_r+0x100> 80cd814: e011 b.n 80cd83a <_svfiprintf_r+0xf2> 80cd816: 2b25 cmp r3, #37 ; 0x25 80cd818: d0c0 beq.n 80cd79c <_svfiprintf_r+0x54> 80cd81a: 4627 mov r7, r4 80cd81c: e7b9 b.n 80cd792 <_svfiprintf_r+0x4a> 80cd81e: 4a3f ldr r2, [pc, #252] ; (80cd91c <_svfiprintf_r+0x1d4>) 80cd820: 1a80 subs r0, r0, r2 80cd822: fa0b f000 lsl.w r0, fp, r0 80cd826: 4318 orrs r0, r3 80cd828: 9004 str r0, [sp, #16] 80cd82a: 463c mov r4, r7 80cd82c: e7d3 b.n 80cd7d6 <_svfiprintf_r+0x8e> 80cd82e: 9a03 ldr r2, [sp, #12] 80cd830: 1d11 adds r1, r2, #4 80cd832: 6812 ldr r2, [r2, #0] 80cd834: 9103 str r1, [sp, #12] 80cd836: 2a00 cmp r2, #0 80cd838: db01 blt.n 80cd83e <_svfiprintf_r+0xf6> 80cd83a: 9207 str r2, [sp, #28] 80cd83c: e004 b.n 80cd848 <_svfiprintf_r+0x100> 80cd83e: 4252 negs r2, r2 80cd840: f043 0302 orr.w r3, r3, #2 80cd844: 9207 str r2, [sp, #28] 80cd846: 9304 str r3, [sp, #16] 80cd848: 783b ldrb r3, [r7, #0] 80cd84a: 2b2e cmp r3, #46 ; 0x2e 80cd84c: d10e bne.n 80cd86c <_svfiprintf_r+0x124> 80cd84e: 787b ldrb r3, [r7, #1] 80cd850: 2b2a cmp r3, #42 ; 0x2a 80cd852: f107 0101 add.w r1, r7, #1 80cd856: d132 bne.n 80cd8be <_svfiprintf_r+0x176> 80cd858: 9b03 ldr r3, [sp, #12] 80cd85a: 1d1a adds r2, r3, #4 80cd85c: 681b ldr r3, [r3, #0] 80cd85e: 9203 str r2, [sp, #12] 80cd860: 2b00 cmp r3, #0 80cd862: bfb8 it lt 80cd864: f04f 33ff movlt.w r3, #4294967295 80cd868: 3702 adds r7, #2 80cd86a: 9305 str r3, [sp, #20] 80cd86c: 4c2c ldr r4, [pc, #176] ; (80cd920 <_svfiprintf_r+0x1d8>) 80cd86e: 7839 ldrb r1, [r7, #0] 80cd870: 2203 movs r2, #3 80cd872: 4620 mov r0, r4 80cd874: f752 fd5c bl 8020330 80cd878: b138 cbz r0, 80cd88a <_svfiprintf_r+0x142> 80cd87a: 2340 movs r3, #64 ; 0x40 80cd87c: 1b00 subs r0, r0, r4 80cd87e: fa03 f000 lsl.w r0, r3, r0 80cd882: 9b04 ldr r3, [sp, #16] 80cd884: 4303 orrs r3, r0 80cd886: 9304 str r3, [sp, #16] 80cd888: 3701 adds r7, #1 80cd88a: 7839 ldrb r1, [r7, #0] 80cd88c: 4825 ldr r0, [pc, #148] ; (80cd924 <_svfiprintf_r+0x1dc>) 80cd88e: f88d 1028 strb.w r1, [sp, #40] ; 0x28 80cd892: 2206 movs r2, #6 80cd894: 1c7e adds r6, r7, #1 80cd896: f752 fd4b bl 8020330 80cd89a: 2800 cmp r0, #0 80cd89c: d035 beq.n 80cd90a <_svfiprintf_r+0x1c2> 80cd89e: 4b22 ldr r3, [pc, #136] ; (80cd928 <_svfiprintf_r+0x1e0>) 80cd8a0: b9fb cbnz r3, 80cd8e2 <_svfiprintf_r+0x19a> 80cd8a2: 9b03 ldr r3, [sp, #12] 80cd8a4: 3307 adds r3, #7 80cd8a6: f023 0307 bic.w r3, r3, #7 80cd8aa: 3308 adds r3, #8 80cd8ac: 9303 str r3, [sp, #12] 80cd8ae: 9b09 ldr r3, [sp, #36] ; 0x24 80cd8b0: 444b add r3, r9 80cd8b2: 9309 str r3, [sp, #36] ; 0x24 80cd8b4: e76c b.n 80cd790 <_svfiprintf_r+0x48> 80cd8b6: fb00 3202 mla r2, r0, r2, r3 80cd8ba: 2101 movs r1, #1 80cd8bc: e7a3 b.n 80cd806 <_svfiprintf_r+0xbe> 80cd8be: 2300 movs r3, #0 80cd8c0: 9305 str r3, [sp, #20] 80cd8c2: 4618 mov r0, r3 80cd8c4: 240a movs r4, #10 80cd8c6: 460f mov r7, r1 80cd8c8: 3101 adds r1, #1 80cd8ca: 783a ldrb r2, [r7, #0] 80cd8cc: 3a30 subs r2, #48 ; 0x30 80cd8ce: 2a09 cmp r2, #9 80cd8d0: d903 bls.n 80cd8da <_svfiprintf_r+0x192> 80cd8d2: 2b00 cmp r3, #0 80cd8d4: d0ca beq.n 80cd86c <_svfiprintf_r+0x124> 80cd8d6: 9005 str r0, [sp, #20] 80cd8d8: e7c8 b.n 80cd86c <_svfiprintf_r+0x124> 80cd8da: fb04 2000 mla r0, r4, r0, r2 80cd8de: 2301 movs r3, #1 80cd8e0: e7f1 b.n 80cd8c6 <_svfiprintf_r+0x17e> 80cd8e2: ab03 add r3, sp, #12 80cd8e4: 9300 str r3, [sp, #0] 80cd8e6: 462a mov r2, r5 80cd8e8: 4b10 ldr r3, [pc, #64] ; (80cd92c <_svfiprintf_r+0x1e4>) 80cd8ea: a904 add r1, sp, #16 80cd8ec: 4640 mov r0, r8 80cd8ee: f3af 8000 nop.w 80cd8f2: f1b0 3fff cmp.w r0, #4294967295 80cd8f6: 4681 mov r9, r0 80cd8f8: d1d9 bne.n 80cd8ae <_svfiprintf_r+0x166> 80cd8fa: 89ab ldrh r3, [r5, #12] 80cd8fc: 065b lsls r3, r3, #25 80cd8fe: f53f af38 bmi.w 80cd772 <_svfiprintf_r+0x2a> 80cd902: 9809 ldr r0, [sp, #36] ; 0x24 80cd904: b01d add sp, #116 ; 0x74 80cd906: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80cd90a: ab03 add r3, sp, #12 80cd90c: 9300 str r3, [sp, #0] 80cd90e: 462a mov r2, r5 80cd910: 4b06 ldr r3, [pc, #24] ; (80cd92c <_svfiprintf_r+0x1e4>) 80cd912: a904 add r1, sp, #16 80cd914: 4640 mov r0, r8 80cd916: f000 f9c1 bl 80cdc9c <_printf_i> 80cd91a: e7ea b.n 80cd8f2 <_svfiprintf_r+0x1aa> 80cd91c: 0818691e .word 0x0818691e 80cd920: 08186924 .word 0x08186924 80cd924: 08186928 .word 0x08186928 80cd928: 00000000 .word 0x00000000 80cd92c: 080cd693 .word 0x080cd693 080cd930 <__sfputc_r>: 80cd930: 6893 ldr r3, [r2, #8] 80cd932: 3b01 subs r3, #1 80cd934: 2b00 cmp r3, #0 80cd936: b410 push {r4} 80cd938: 6093 str r3, [r2, #8] 80cd93a: da09 bge.n 80cd950 <__sfputc_r+0x20> 80cd93c: 6994 ldr r4, [r2, #24] 80cd93e: 42a3 cmp r3, r4 80cd940: db02 blt.n 80cd948 <__sfputc_r+0x18> 80cd942: b2cb uxtb r3, r1 80cd944: 2b0a cmp r3, #10 80cd946: d103 bne.n 80cd950 <__sfputc_r+0x20> 80cd948: f85d 4b04 ldr.w r4, [sp], #4 80cd94c: f000 bb0a b.w 80cdf64 <__swbuf_r> 80cd950: 6813 ldr r3, [r2, #0] 80cd952: 1c58 adds r0, r3, #1 80cd954: 6010 str r0, [r2, #0] 80cd956: 7019 strb r1, [r3, #0] 80cd958: b2c8 uxtb r0, r1 80cd95a: f85d 4b04 ldr.w r4, [sp], #4 80cd95e: 4770 bx lr 080cd960 <__sfputs_r>: 80cd960: b5f8 push {r3, r4, r5, r6, r7, lr} 80cd962: 4606 mov r6, r0 80cd964: 460f mov r7, r1 80cd966: 4614 mov r4, r2 80cd968: 18d5 adds r5, r2, r3 80cd96a: 42ac cmp r4, r5 80cd96c: d101 bne.n 80cd972 <__sfputs_r+0x12> 80cd96e: 2000 movs r0, #0 80cd970: e007 b.n 80cd982 <__sfputs_r+0x22> 80cd972: 463a mov r2, r7 80cd974: f814 1b01 ldrb.w r1, [r4], #1 80cd978: 4630 mov r0, r6 80cd97a: f7ff ffd9 bl 80cd930 <__sfputc_r> 80cd97e: 1c43 adds r3, r0, #1 80cd980: d1f3 bne.n 80cd96a <__sfputs_r+0xa> 80cd982: bdf8 pop {r3, r4, r5, r6, r7, pc} 080cd984 <_vfiprintf_r>: 80cd984: e92d 4ff0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, fp, lr} 80cd988: b09d sub sp, #116 ; 0x74 80cd98a: 460c mov r4, r1 80cd98c: 4617 mov r7, r2 80cd98e: 9303 str r3, [sp, #12] 80cd990: 4606 mov r6, r0 80cd992: b118 cbz r0, 80cd99c <_vfiprintf_r+0x18> 80cd994: 6983 ldr r3, [r0, #24] 80cd996: b90b cbnz r3, 80cd99c <_vfiprintf_r+0x18> 80cd998: f7ff fdda bl 80cd550 <__sinit> 80cd99c: 4b7c ldr r3, [pc, #496] ; (80cdb90 <_vfiprintf_r+0x20c>) 80cd99e: 429c cmp r4, r3 80cd9a0: d157 bne.n 80cda52 <_vfiprintf_r+0xce> 80cd9a2: 6874 ldr r4, [r6, #4] 80cd9a4: 89a3 ldrh r3, [r4, #12] 80cd9a6: 0718 lsls r0, r3, #28 80cd9a8: d55d bpl.n 80cda66 <_vfiprintf_r+0xe2> 80cd9aa: 6923 ldr r3, [r4, #16] 80cd9ac: 2b00 cmp r3, #0 80cd9ae: d05a beq.n 80cda66 <_vfiprintf_r+0xe2> 80cd9b0: 2300 movs r3, #0 80cd9b2: 9309 str r3, [sp, #36] ; 0x24 80cd9b4: 2320 movs r3, #32 80cd9b6: f88d 3029 strb.w r3, [sp, #41] ; 0x29 80cd9ba: 2330 movs r3, #48 ; 0x30 80cd9bc: f88d 302a strb.w r3, [sp, #42] ; 0x2a 80cd9c0: f04f 0b01 mov.w fp, #1 80cd9c4: 46b8 mov r8, r7 80cd9c6: 4645 mov r5, r8 80cd9c8: f815 3b01 ldrb.w r3, [r5], #1 80cd9cc: 2b00 cmp r3, #0 80cd9ce: d155 bne.n 80cda7c <_vfiprintf_r+0xf8> 80cd9d0: ebb8 0a07 subs.w sl, r8, r7 80cd9d4: d00b beq.n 80cd9ee <_vfiprintf_r+0x6a> 80cd9d6: 4653 mov r3, sl 80cd9d8: 463a mov r2, r7 80cd9da: 4621 mov r1, r4 80cd9dc: 4630 mov r0, r6 80cd9de: f7ff ffbf bl 80cd960 <__sfputs_r> 80cd9e2: 3001 adds r0, #1 80cd9e4: f000 80c4 beq.w 80cdb70 <_vfiprintf_r+0x1ec> 80cd9e8: 9b09 ldr r3, [sp, #36] ; 0x24 80cd9ea: 4453 add r3, sl 80cd9ec: 9309 str r3, [sp, #36] ; 0x24 80cd9ee: f898 3000 ldrb.w r3, [r8] 80cd9f2: 2b00 cmp r3, #0 80cd9f4: f000 80bc beq.w 80cdb70 <_vfiprintf_r+0x1ec> 80cd9f8: 2300 movs r3, #0 80cd9fa: f04f 32ff mov.w r2, #4294967295 80cd9fe: 9304 str r3, [sp, #16] 80cda00: 9307 str r3, [sp, #28] 80cda02: 9205 str r2, [sp, #20] 80cda04: 9306 str r3, [sp, #24] 80cda06: f88d 3053 strb.w r3, [sp, #83] ; 0x53 80cda0a: 931a str r3, [sp, #104] ; 0x68 80cda0c: 2205 movs r2, #5 80cda0e: 7829 ldrb r1, [r5, #0] 80cda10: 4860 ldr r0, [pc, #384] ; (80cdb94 <_vfiprintf_r+0x210>) 80cda12: f752 fc8d bl 8020330 80cda16: f105 0801 add.w r8, r5, #1 80cda1a: 9b04 ldr r3, [sp, #16] 80cda1c: 2800 cmp r0, #0 80cda1e: d131 bne.n 80cda84 <_vfiprintf_r+0x100> 80cda20: 06d9 lsls r1, r3, #27 80cda22: bf44 itt mi 80cda24: 2220 movmi r2, #32 80cda26: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80cda2a: 071a lsls r2, r3, #28 80cda2c: bf44 itt mi 80cda2e: 222b movmi r2, #43 ; 0x2b 80cda30: f88d 2053 strbmi.w r2, [sp, #83] ; 0x53 80cda34: 782a ldrb r2, [r5, #0] 80cda36: 2a2a cmp r2, #42 ; 0x2a 80cda38: d02c beq.n 80cda94 <_vfiprintf_r+0x110> 80cda3a: 9a07 ldr r2, [sp, #28] 80cda3c: 2100 movs r1, #0 80cda3e: 200a movs r0, #10 80cda40: 46a8 mov r8, r5 80cda42: 3501 adds r5, #1 80cda44: f898 3000 ldrb.w r3, [r8] 80cda48: 3b30 subs r3, #48 ; 0x30 80cda4a: 2b09 cmp r3, #9 80cda4c: d96d bls.n 80cdb2a <_vfiprintf_r+0x1a6> 80cda4e: b371 cbz r1, 80cdaae <_vfiprintf_r+0x12a> 80cda50: e026 b.n 80cdaa0 <_vfiprintf_r+0x11c> 80cda52: 4b51 ldr r3, [pc, #324] ; (80cdb98 <_vfiprintf_r+0x214>) 80cda54: 429c cmp r4, r3 80cda56: d101 bne.n 80cda5c <_vfiprintf_r+0xd8> 80cda58: 68b4 ldr r4, [r6, #8] 80cda5a: e7a3 b.n 80cd9a4 <_vfiprintf_r+0x20> 80cda5c: 4b4f ldr r3, [pc, #316] ; (80cdb9c <_vfiprintf_r+0x218>) 80cda5e: 429c cmp r4, r3 80cda60: bf08 it eq 80cda62: 68f4 ldreq r4, [r6, #12] 80cda64: e79e b.n 80cd9a4 <_vfiprintf_r+0x20> 80cda66: 4621 mov r1, r4 80cda68: 4630 mov r0, r6 80cda6a: f000 faed bl 80ce048 <__swsetup_r> 80cda6e: 2800 cmp r0, #0 80cda70: d09e beq.n 80cd9b0 <_vfiprintf_r+0x2c> 80cda72: f04f 30ff mov.w r0, #4294967295 80cda76: b01d add sp, #116 ; 0x74 80cda78: e8bd 8ff0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, fp, pc} 80cda7c: 2b25 cmp r3, #37 ; 0x25 80cda7e: d0a7 beq.n 80cd9d0 <_vfiprintf_r+0x4c> 80cda80: 46a8 mov r8, r5 80cda82: e7a0 b.n 80cd9c6 <_vfiprintf_r+0x42> 80cda84: 4a43 ldr r2, [pc, #268] ; (80cdb94 <_vfiprintf_r+0x210>) 80cda86: 1a80 subs r0, r0, r2 80cda88: fa0b f000 lsl.w r0, fp, r0 80cda8c: 4318 orrs r0, r3 80cda8e: 9004 str r0, [sp, #16] 80cda90: 4645 mov r5, r8 80cda92: e7bb b.n 80cda0c <_vfiprintf_r+0x88> 80cda94: 9a03 ldr r2, [sp, #12] 80cda96: 1d11 adds r1, r2, #4 80cda98: 6812 ldr r2, [r2, #0] 80cda9a: 9103 str r1, [sp, #12] 80cda9c: 2a00 cmp r2, #0 80cda9e: db01 blt.n 80cdaa4 <_vfiprintf_r+0x120> 80cdaa0: 9207 str r2, [sp, #28] 80cdaa2: e004 b.n 80cdaae <_vfiprintf_r+0x12a> 80cdaa4: 4252 negs r2, r2 80cdaa6: f043 0302 orr.w r3, r3, #2 80cdaaa: 9207 str r2, [sp, #28] 80cdaac: 9304 str r3, [sp, #16] 80cdaae: f898 3000 ldrb.w r3, [r8] 80cdab2: 2b2e cmp r3, #46 ; 0x2e 80cdab4: d110 bne.n 80cdad8 <_vfiprintf_r+0x154> 80cdab6: f898 3001 ldrb.w r3, [r8, #1] 80cdaba: 2b2a cmp r3, #42 ; 0x2a 80cdabc: f108 0101 add.w r1, r8, #1 80cdac0: d137 bne.n 80cdb32 <_vfiprintf_r+0x1ae> 80cdac2: 9b03 ldr r3, [sp, #12] 80cdac4: 1d1a adds r2, r3, #4 80cdac6: 681b ldr r3, [r3, #0] 80cdac8: 9203 str r2, [sp, #12] 80cdaca: 2b00 cmp r3, #0 80cdacc: bfb8 it lt 80cdace: f04f 33ff movlt.w r3, #4294967295 80cdad2: f108 0802 add.w r8, r8, #2 80cdad6: 9305 str r3, [sp, #20] 80cdad8: 4d31 ldr r5, [pc, #196] ; (80cdba0 <_vfiprintf_r+0x21c>) 80cdada: f898 1000 ldrb.w r1, [r8] 80cdade: 2203 movs r2, #3 80cdae0: 4628 mov r0, r5 80cdae2: f752 fc25 bl 8020330 80cdae6: b140 cbz r0, 80cdafa <_vfiprintf_r+0x176> 80cdae8: 2340 movs r3, #64 ; 0x40 80cdaea: 1b40 subs r0, r0, r5 80cdaec: fa03 f000 lsl.w r0, r3, r0 80cdaf0: 9b04 ldr r3, [sp, #16] 80cdaf2: 4303 orrs r3, r0 80cdaf4: 9304 str r3, [sp, #16] 80cdaf6: f108 0801 add.w r8, r8, #1 80cdafa: f898 1000 ldrb.w r1, [r8] 80cdafe: 4829 ldr r0, [pc, #164] ; (80cdba4 <_vfiprintf_r+0x220>) 80cdb00: f88d 1028 strb.w r1, [sp, #40] ; 0x28 80cdb04: 2206 movs r2, #6 80cdb06: f108 0701 add.w r7, r8, #1 80cdb0a: f752 fc11 bl 8020330 80cdb0e: 2800 cmp r0, #0 80cdb10: d034 beq.n 80cdb7c <_vfiprintf_r+0x1f8> 80cdb12: 4b25 ldr r3, [pc, #148] ; (80cdba8 <_vfiprintf_r+0x224>) 80cdb14: bb03 cbnz r3, 80cdb58 <_vfiprintf_r+0x1d4> 80cdb16: 9b03 ldr r3, [sp, #12] 80cdb18: 3307 adds r3, #7 80cdb1a: f023 0307 bic.w r3, r3, #7 80cdb1e: 3308 adds r3, #8 80cdb20: 9303 str r3, [sp, #12] 80cdb22: 9b09 ldr r3, [sp, #36] ; 0x24 80cdb24: 444b add r3, r9 80cdb26: 9309 str r3, [sp, #36] ; 0x24 80cdb28: e74c b.n 80cd9c4 <_vfiprintf_r+0x40> 80cdb2a: fb00 3202 mla r2, r0, r2, r3 80cdb2e: 2101 movs r1, #1 80cdb30: e786 b.n 80cda40 <_vfiprintf_r+0xbc> 80cdb32: 2300 movs r3, #0 80cdb34: 9305 str r3, [sp, #20] 80cdb36: 4618 mov r0, r3 80cdb38: 250a movs r5, #10 80cdb3a: 4688 mov r8, r1 80cdb3c: 3101 adds r1, #1 80cdb3e: f898 2000 ldrb.w r2, [r8] 80cdb42: 3a30 subs r2, #48 ; 0x30 80cdb44: 2a09 cmp r2, #9 80cdb46: d903 bls.n 80cdb50 <_vfiprintf_r+0x1cc> 80cdb48: 2b00 cmp r3, #0 80cdb4a: d0c5 beq.n 80cdad8 <_vfiprintf_r+0x154> 80cdb4c: 9005 str r0, [sp, #20] 80cdb4e: e7c3 b.n 80cdad8 <_vfiprintf_r+0x154> 80cdb50: fb05 2000 mla r0, r5, r0, r2 80cdb54: 2301 movs r3, #1 80cdb56: e7f0 b.n 80cdb3a <_vfiprintf_r+0x1b6> 80cdb58: ab03 add r3, sp, #12 80cdb5a: 9300 str r3, [sp, #0] 80cdb5c: 4622 mov r2, r4 80cdb5e: 4b13 ldr r3, [pc, #76] ; (80cdbac <_vfiprintf_r+0x228>) 80cdb60: a904 add r1, sp, #16 80cdb62: 4630 mov r0, r6 80cdb64: f3af 8000 nop.w 80cdb68: f1b0 3fff cmp.w r0, #4294967295 80cdb6c: 4681 mov r9, r0 80cdb6e: d1d8 bne.n 80cdb22 <_vfiprintf_r+0x19e> 80cdb70: 89a3 ldrh r3, [r4, #12] 80cdb72: 065b lsls r3, r3, #25 80cdb74: f53f af7d bmi.w 80cda72 <_vfiprintf_r+0xee> 80cdb78: 9809 ldr r0, [sp, #36] ; 0x24 80cdb7a: e77c b.n 80cda76 <_vfiprintf_r+0xf2> 80cdb7c: ab03 add r3, sp, #12 80cdb7e: 9300 str r3, [sp, #0] 80cdb80: 4622 mov r2, r4 80cdb82: 4b0a ldr r3, [pc, #40] ; (80cdbac <_vfiprintf_r+0x228>) 80cdb84: a904 add r1, sp, #16 80cdb86: 4630 mov r0, r6 80cdb88: f000 f888 bl 80cdc9c <_printf_i> 80cdb8c: e7ec b.n 80cdb68 <_vfiprintf_r+0x1e4> 80cdb8e: bf00 nop 80cdb90: 081868d4 .word 0x081868d4 80cdb94: 0818691e .word 0x0818691e 80cdb98: 081868f4 .word 0x081868f4 80cdb9c: 081868b4 .word 0x081868b4 80cdba0: 08186924 .word 0x08186924 80cdba4: 08186928 .word 0x08186928 80cdba8: 00000000 .word 0x00000000 80cdbac: 080cd961 .word 0x080cd961 080cdbb0 <_printf_common>: 80cdbb0: e92d 47f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, sl, lr} 80cdbb4: 4691 mov r9, r2 80cdbb6: 461f mov r7, r3 80cdbb8: 688a ldr r2, [r1, #8] 80cdbba: 690b ldr r3, [r1, #16] 80cdbbc: f8dd 8020 ldr.w r8, [sp, #32] 80cdbc0: 4293 cmp r3, r2 80cdbc2: bfb8 it lt 80cdbc4: 4613 movlt r3, r2 80cdbc6: f8c9 3000 str.w r3, [r9] 80cdbca: f891 2043 ldrb.w r2, [r1, #67] ; 0x43 80cdbce: 4606 mov r6, r0 80cdbd0: 460c mov r4, r1 80cdbd2: b112 cbz r2, 80cdbda <_printf_common+0x2a> 80cdbd4: 3301 adds r3, #1 80cdbd6: f8c9 3000 str.w r3, [r9] 80cdbda: 6823 ldr r3, [r4, #0] 80cdbdc: 0699 lsls r1, r3, #26 80cdbde: bf42 ittt mi 80cdbe0: f8d9 3000 ldrmi.w r3, [r9] 80cdbe4: 3302 addmi r3, #2 80cdbe6: f8c9 3000 strmi.w r3, [r9] 80cdbea: 6825 ldr r5, [r4, #0] 80cdbec: f015 0506 ands.w r5, r5, #6 80cdbf0: d107 bne.n 80cdc02 <_printf_common+0x52> 80cdbf2: f104 0a19 add.w sl, r4, #25 80cdbf6: 68e3 ldr r3, [r4, #12] 80cdbf8: f8d9 2000 ldr.w r2, [r9] 80cdbfc: 1a9b subs r3, r3, r2 80cdbfe: 429d cmp r5, r3 80cdc00: db29 blt.n 80cdc56 <_printf_common+0xa6> 80cdc02: f894 3043 ldrb.w r3, [r4, #67] ; 0x43 80cdc06: 6822 ldr r2, [r4, #0] 80cdc08: 3300 adds r3, #0 80cdc0a: bf18 it ne 80cdc0c: 2301 movne r3, #1 80cdc0e: 0692 lsls r2, r2, #26 80cdc10: d42e bmi.n 80cdc70 <_printf_common+0xc0> 80cdc12: f104 0243 add.w r2, r4, #67 ; 0x43 80cdc16: 4639 mov r1, r7 80cdc18: 4630 mov r0, r6 80cdc1a: 47c0 blx r8 80cdc1c: 3001 adds r0, #1 80cdc1e: d021 beq.n 80cdc64 <_printf_common+0xb4> 80cdc20: 6823 ldr r3, [r4, #0] 80cdc22: 68e5 ldr r5, [r4, #12] 80cdc24: f8d9 2000 ldr.w r2, [r9] 80cdc28: f003 0306 and.w r3, r3, #6 80cdc2c: 2b04 cmp r3, #4 80cdc2e: bf08 it eq 80cdc30: 1aad subeq r5, r5, r2 80cdc32: 68a3 ldr r3, [r4, #8] 80cdc34: 6922 ldr r2, [r4, #16] 80cdc36: bf0c ite eq 80cdc38: ea25 75e5 biceq.w r5, r5, r5, asr #31 80cdc3c: 2500 movne r5, #0 80cdc3e: 4293 cmp r3, r2 80cdc40: bfc4 itt gt 80cdc42: 1a9b subgt r3, r3, r2 80cdc44: 18ed addgt r5, r5, r3 80cdc46: f04f 0900 mov.w r9, #0 80cdc4a: 341a adds r4, #26 80cdc4c: 454d cmp r5, r9 80cdc4e: d11b bne.n 80cdc88 <_printf_common+0xd8> 80cdc50: 2000 movs r0, #0 80cdc52: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80cdc56: 2301 movs r3, #1 80cdc58: 4652 mov r2, sl 80cdc5a: 4639 mov r1, r7 80cdc5c: 4630 mov r0, r6 80cdc5e: 47c0 blx r8 80cdc60: 3001 adds r0, #1 80cdc62: d103 bne.n 80cdc6c <_printf_common+0xbc> 80cdc64: f04f 30ff mov.w r0, #4294967295 80cdc68: e8bd 87f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, sl, pc} 80cdc6c: 3501 adds r5, #1 80cdc6e: e7c2 b.n 80cdbf6 <_printf_common+0x46> 80cdc70: 18e1 adds r1, r4, r3 80cdc72: 1c5a adds r2, r3, #1 80cdc74: 2030 movs r0, #48 ; 0x30 80cdc76: f881 0043 strb.w r0, [r1, #67] ; 0x43 80cdc7a: 4422 add r2, r4 80cdc7c: f894 1045 ldrb.w r1, [r4, #69] ; 0x45 80cdc80: f882 1043 strb.w r1, [r2, #67] ; 0x43 80cdc84: 3302 adds r3, #2 80cdc86: e7c4 b.n 80cdc12 <_printf_common+0x62> 80cdc88: 2301 movs r3, #1 80cdc8a: 4622 mov r2, r4 80cdc8c: 4639 mov r1, r7 80cdc8e: 4630 mov r0, r6 80cdc90: 47c0 blx r8 80cdc92: 3001 adds r0, #1 80cdc94: d0e6 beq.n 80cdc64 <_printf_common+0xb4> 80cdc96: f109 0901 add.w r9, r9, #1 80cdc9a: e7d7 b.n 80cdc4c <_printf_common+0x9c> 080cdc9c <_printf_i>: 80cdc9c: e92d 43f0 stmdb sp!, {r4, r5, r6, r7, r8, r9, lr} 80cdca0: 4617 mov r7, r2 80cdca2: 7e0a ldrb r2, [r1, #24] 80cdca4: b085 sub sp, #20 80cdca6: 2a6e cmp r2, #110 ; 0x6e 80cdca8: 4698 mov r8, r3 80cdcaa: 4606 mov r6, r0 80cdcac: 460c mov r4, r1 80cdcae: 9b0c ldr r3, [sp, #48] ; 0x30 80cdcb0: f101 0e43 add.w lr, r1, #67 ; 0x43 80cdcb4: f000 80bc beq.w 80cde30 <_printf_i+0x194> 80cdcb8: d81a bhi.n 80cdcf0 <_printf_i+0x54> 80cdcba: 2a63 cmp r2, #99 ; 0x63 80cdcbc: d02e beq.n 80cdd1c <_printf_i+0x80> 80cdcbe: d80a bhi.n 80cdcd6 <_printf_i+0x3a> 80cdcc0: 2a00 cmp r2, #0 80cdcc2: f000 80c8 beq.w 80cde56 <_printf_i+0x1ba> 80cdcc6: 2a58 cmp r2, #88 ; 0x58 80cdcc8: f000 808a beq.w 80cdde0 <_printf_i+0x144> 80cdccc: f104 0542 add.w r5, r4, #66 ; 0x42 80cdcd0: f884 2042 strb.w r2, [r4, #66] ; 0x42 80cdcd4: e02a b.n 80cdd2c <_printf_i+0x90> 80cdcd6: 2a64 cmp r2, #100 ; 0x64 80cdcd8: d001 beq.n 80cdcde <_printf_i+0x42> 80cdcda: 2a69 cmp r2, #105 ; 0x69 80cdcdc: d1f6 bne.n 80cdccc <_printf_i+0x30> 80cdcde: 6821 ldr r1, [r4, #0] 80cdce0: 681a ldr r2, [r3, #0] 80cdce2: f011 0f80 tst.w r1, #128 ; 0x80 80cdce6: d023 beq.n 80cdd30 <_printf_i+0x94> 80cdce8: 1d11 adds r1, r2, #4 80cdcea: 6019 str r1, [r3, #0] 80cdcec: 6813 ldr r3, [r2, #0] 80cdcee: e027 b.n 80cdd40 <_printf_i+0xa4> 80cdcf0: 2a73 cmp r2, #115 ; 0x73 80cdcf2: f000 80b4 beq.w 80cde5e <_printf_i+0x1c2> 80cdcf6: d808 bhi.n 80cdd0a <_printf_i+0x6e> 80cdcf8: 2a6f cmp r2, #111 ; 0x6f 80cdcfa: d02a beq.n 80cdd52 <_printf_i+0xb6> 80cdcfc: 2a70 cmp r2, #112 ; 0x70 80cdcfe: d1e5 bne.n 80cdccc <_printf_i+0x30> 80cdd00: 680a ldr r2, [r1, #0] 80cdd02: f042 0220 orr.w r2, r2, #32 80cdd06: 600a str r2, [r1, #0] 80cdd08: e003 b.n 80cdd12 <_printf_i+0x76> 80cdd0a: 2a75 cmp r2, #117 ; 0x75 80cdd0c: d021 beq.n 80cdd52 <_printf_i+0xb6> 80cdd0e: 2a78 cmp r2, #120 ; 0x78 80cdd10: d1dc bne.n 80cdccc <_printf_i+0x30> 80cdd12: 2278 movs r2, #120 ; 0x78 80cdd14: f884 2045 strb.w r2, [r4, #69] ; 0x45 80cdd18: 496e ldr r1, [pc, #440] ; (80cded4 <_printf_i+0x238>) 80cdd1a: e064 b.n 80cdde6 <_printf_i+0x14a> 80cdd1c: 681a ldr r2, [r3, #0] 80cdd1e: f101 0542 add.w r5, r1, #66 ; 0x42 80cdd22: 1d11 adds r1, r2, #4 80cdd24: 6019 str r1, [r3, #0] 80cdd26: 6813 ldr r3, [r2, #0] 80cdd28: f884 3042 strb.w r3, [r4, #66] ; 0x42 80cdd2c: 2301 movs r3, #1 80cdd2e: e0a3 b.n 80cde78 <_printf_i+0x1dc> 80cdd30: f011 0f40 tst.w r1, #64 ; 0x40 80cdd34: f102 0104 add.w r1, r2, #4 80cdd38: 6019 str r1, [r3, #0] 80cdd3a: d0d7 beq.n 80cdcec <_printf_i+0x50> 80cdd3c: f9b2 3000 ldrsh.w r3, [r2] 80cdd40: 2b00 cmp r3, #0 80cdd42: da03 bge.n 80cdd4c <_printf_i+0xb0> 80cdd44: 222d movs r2, #45 ; 0x2d 80cdd46: 425b negs r3, r3 80cdd48: f884 2043 strb.w r2, [r4, #67] ; 0x43 80cdd4c: 4962 ldr r1, [pc, #392] ; (80cded8 <_printf_i+0x23c>) 80cdd4e: 220a movs r2, #10 80cdd50: e017 b.n 80cdd82 <_printf_i+0xe6> 80cdd52: 6820 ldr r0, [r4, #0] 80cdd54: 6819 ldr r1, [r3, #0] 80cdd56: f010 0f80 tst.w r0, #128 ; 0x80 80cdd5a: d003 beq.n 80cdd64 <_printf_i+0xc8> 80cdd5c: 1d08 adds r0, r1, #4 80cdd5e: 6018 str r0, [r3, #0] 80cdd60: 680b ldr r3, [r1, #0] 80cdd62: e006 b.n 80cdd72 <_printf_i+0xd6> 80cdd64: f010 0f40 tst.w r0, #64 ; 0x40 80cdd68: f101 0004 add.w r0, r1, #4 80cdd6c: 6018 str r0, [r3, #0] 80cdd6e: d0f7 beq.n 80cdd60 <_printf_i+0xc4> 80cdd70: 880b ldrh r3, [r1, #0] 80cdd72: 4959 ldr r1, [pc, #356] ; (80cded8 <_printf_i+0x23c>) 80cdd74: 2a6f cmp r2, #111 ; 0x6f 80cdd76: bf14 ite ne 80cdd78: 220a movne r2, #10 80cdd7a: 2208 moveq r2, #8 80cdd7c: 2000 movs r0, #0 80cdd7e: f884 0043 strb.w r0, [r4, #67] ; 0x43 80cdd82: 6865 ldr r5, [r4, #4] 80cdd84: 60a5 str r5, [r4, #8] 80cdd86: 2d00 cmp r5, #0 80cdd88: f2c0 809c blt.w 80cdec4 <_printf_i+0x228> 80cdd8c: 6820 ldr r0, [r4, #0] 80cdd8e: f020 0004 bic.w r0, r0, #4 80cdd92: 6020 str r0, [r4, #0] 80cdd94: 2b00 cmp r3, #0 80cdd96: d13f bne.n 80cde18 <_printf_i+0x17c> 80cdd98: 2d00 cmp r5, #0 80cdd9a: f040 8095 bne.w 80cdec8 <_printf_i+0x22c> 80cdd9e: 4675 mov r5, lr 80cdda0: 2a08 cmp r2, #8 80cdda2: d10b bne.n 80cddbc <_printf_i+0x120> 80cdda4: 6823 ldr r3, [r4, #0] 80cdda6: 07da lsls r2, r3, #31 80cdda8: d508 bpl.n 80cddbc <_printf_i+0x120> 80cddaa: 6923 ldr r3, [r4, #16] 80cddac: 6862 ldr r2, [r4, #4] 80cddae: 429a cmp r2, r3 80cddb0: bfde ittt le 80cddb2: 2330 movle r3, #48 ; 0x30 80cddb4: f805 3c01 strble.w r3, [r5, #-1] 80cddb8: f105 35ff addle.w r5, r5, #4294967295 80cddbc: ebae 0305 sub.w r3, lr, r5 80cddc0: 6123 str r3, [r4, #16] 80cddc2: f8cd 8000 str.w r8, [sp] 80cddc6: 463b mov r3, r7 80cddc8: aa03 add r2, sp, #12 80cddca: 4621 mov r1, r4 80cddcc: 4630 mov r0, r6 80cddce: f7ff feef bl 80cdbb0 <_printf_common> 80cddd2: 3001 adds r0, #1 80cddd4: d155 bne.n 80cde82 <_printf_i+0x1e6> 80cddd6: f04f 30ff mov.w r0, #4294967295 80cddda: b005 add sp, #20 80cdddc: e8bd 83f0 ldmia.w sp!, {r4, r5, r6, r7, r8, r9, pc} 80cdde0: f881 2045 strb.w r2, [r1, #69] ; 0x45 80cdde4: 493c ldr r1, [pc, #240] ; (80cded8 <_printf_i+0x23c>) 80cdde6: 6822 ldr r2, [r4, #0] 80cdde8: 6818 ldr r0, [r3, #0] 80cddea: f012 0f80 tst.w r2, #128 ; 0x80 80cddee: f100 0504 add.w r5, r0, #4 80cddf2: 601d str r5, [r3, #0] 80cddf4: d001 beq.n 80cddfa <_printf_i+0x15e> 80cddf6: 6803 ldr r3, [r0, #0] 80cddf8: e002 b.n 80cde00 <_printf_i+0x164> 80cddfa: 0655 lsls r5, r2, #25 80cddfc: d5fb bpl.n 80cddf6 <_printf_i+0x15a> 80cddfe: 8803 ldrh r3, [r0, #0] 80cde00: 07d0 lsls r0, r2, #31 80cde02: bf44 itt mi 80cde04: f042 0220 orrmi.w r2, r2, #32 80cde08: 6022 strmi r2, [r4, #0] 80cde0a: b91b cbnz r3, 80cde14 <_printf_i+0x178> 80cde0c: 6822 ldr r2, [r4, #0] 80cde0e: f022 0220 bic.w r2, r2, #32 80cde12: 6022 str r2, [r4, #0] 80cde14: 2210 movs r2, #16 80cde16: e7b1 b.n 80cdd7c <_printf_i+0xe0> 80cde18: 4675 mov r5, lr 80cde1a: fbb3 f0f2 udiv r0, r3, r2 80cde1e: fb02 3310 mls r3, r2, r0, r3 80cde22: 5ccb ldrb r3, [r1, r3] 80cde24: f805 3d01 strb.w r3, [r5, #-1]! 80cde28: 4603 mov r3, r0 80cde2a: 2800 cmp r0, #0 80cde2c: d1f5 bne.n 80cde1a <_printf_i+0x17e> 80cde2e: e7b7 b.n 80cdda0 <_printf_i+0x104> 80cde30: 6808 ldr r0, [r1, #0] 80cde32: 681a ldr r2, [r3, #0] 80cde34: 6949 ldr r1, [r1, #20] 80cde36: f010 0f80 tst.w r0, #128 ; 0x80 80cde3a: d004 beq.n 80cde46 <_printf_i+0x1aa> 80cde3c: 1d10 adds r0, r2, #4 80cde3e: 6018 str r0, [r3, #0] 80cde40: 6813 ldr r3, [r2, #0] 80cde42: 6019 str r1, [r3, #0] 80cde44: e007 b.n 80cde56 <_printf_i+0x1ba> 80cde46: f010 0f40 tst.w r0, #64 ; 0x40 80cde4a: f102 0004 add.w r0, r2, #4 80cde4e: 6018 str r0, [r3, #0] 80cde50: 6813 ldr r3, [r2, #0] 80cde52: d0f6 beq.n 80cde42 <_printf_i+0x1a6> 80cde54: 8019 strh r1, [r3, #0] 80cde56: 2300 movs r3, #0 80cde58: 6123 str r3, [r4, #16] 80cde5a: 4675 mov r5, lr 80cde5c: e7b1 b.n 80cddc2 <_printf_i+0x126> 80cde5e: 681a ldr r2, [r3, #0] 80cde60: 1d11 adds r1, r2, #4 80cde62: 6019 str r1, [r3, #0] 80cde64: 6815 ldr r5, [r2, #0] 80cde66: 6862 ldr r2, [r4, #4] 80cde68: 2100 movs r1, #0 80cde6a: 4628 mov r0, r5 80cde6c: f752 fa60 bl 8020330 80cde70: b108 cbz r0, 80cde76 <_printf_i+0x1da> 80cde72: 1b40 subs r0, r0, r5 80cde74: 6060 str r0, [r4, #4] 80cde76: 6863 ldr r3, [r4, #4] 80cde78: 6123 str r3, [r4, #16] 80cde7a: 2300 movs r3, #0 80cde7c: f884 3043 strb.w r3, [r4, #67] ; 0x43 80cde80: e79f b.n 80cddc2 <_printf_i+0x126> 80cde82: 6923 ldr r3, [r4, #16] 80cde84: 462a mov r2, r5 80cde86: 4639 mov r1, r7 80cde88: 4630 mov r0, r6 80cde8a: 47c0 blx r8 80cde8c: 3001 adds r0, #1 80cde8e: d0a2 beq.n 80cddd6 <_printf_i+0x13a> 80cde90: 6823 ldr r3, [r4, #0] 80cde92: 079b lsls r3, r3, #30 80cde94: d507 bpl.n 80cdea6 <_printf_i+0x20a> 80cde96: 2500 movs r5, #0 80cde98: f104 0919 add.w r9, r4, #25 80cde9c: 68e3 ldr r3, [r4, #12] 80cde9e: 9a03 ldr r2, [sp, #12] 80cdea0: 1a9b subs r3, r3, r2 80cdea2: 429d cmp r5, r3 80cdea4: db05 blt.n 80cdeb2 <_printf_i+0x216> 80cdea6: 68e0 ldr r0, [r4, #12] 80cdea8: 9b03 ldr r3, [sp, #12] 80cdeaa: 4298 cmp r0, r3 80cdeac: bfb8 it lt 80cdeae: 4618 movlt r0, r3 80cdeb0: e793 b.n 80cddda <_printf_i+0x13e> 80cdeb2: 2301 movs r3, #1 80cdeb4: 464a mov r2, r9 80cdeb6: 4639 mov r1, r7 80cdeb8: 4630 mov r0, r6 80cdeba: 47c0 blx r8 80cdebc: 3001 adds r0, #1 80cdebe: d08a beq.n 80cddd6 <_printf_i+0x13a> 80cdec0: 3501 adds r5, #1 80cdec2: e7eb b.n 80cde9c <_printf_i+0x200> 80cdec4: 2b00 cmp r3, #0 80cdec6: d1a7 bne.n 80cde18 <_printf_i+0x17c> 80cdec8: 780b ldrb r3, [r1, #0] 80cdeca: f884 3042 strb.w r3, [r4, #66] ; 0x42 80cdece: f104 0542 add.w r5, r4, #66 ; 0x42 80cded2: e765 b.n 80cdda0 <_printf_i+0x104> 80cded4: 08186940 .word 0x08186940 80cded8: 0818692f .word 0x0818692f 080cdedc <__sread>: 80cdedc: b510 push {r4, lr} 80cdede: 460c mov r4, r1 80cdee0: f9b1 100e ldrsh.w r1, [r1, #14] 80cdee4: f000 fa96 bl 80ce414 <_read_r> 80cdee8: 2800 cmp r0, #0 80cdeea: bfab itete ge 80cdeec: 6d63 ldrge r3, [r4, #84] ; 0x54 80cdeee: 89a3 ldrhlt r3, [r4, #12] 80cdef0: 181b addge r3, r3, r0 80cdef2: f423 5380 biclt.w r3, r3, #4096 ; 0x1000 80cdef6: bfac ite ge 80cdef8: 6563 strge r3, [r4, #84] ; 0x54 80cdefa: 81a3 strhlt r3, [r4, #12] 80cdefc: bd10 pop {r4, pc} 080cdefe <__swrite>: 80cdefe: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80cdf02: 461f mov r7, r3 80cdf04: 898b ldrh r3, [r1, #12] 80cdf06: 05db lsls r3, r3, #23 80cdf08: 4605 mov r5, r0 80cdf0a: 460c mov r4, r1 80cdf0c: 4616 mov r6, r2 80cdf0e: d505 bpl.n 80cdf1c <__swrite+0x1e> 80cdf10: 2302 movs r3, #2 80cdf12: 2200 movs r2, #0 80cdf14: f9b1 100e ldrsh.w r1, [r1, #14] 80cdf18: f000 f9c6 bl 80ce2a8 <_lseek_r> 80cdf1c: 89a3 ldrh r3, [r4, #12] 80cdf1e: f9b4 100e ldrsh.w r1, [r4, #14] 80cdf22: f423 5380 bic.w r3, r3, #4096 ; 0x1000 80cdf26: 81a3 strh r3, [r4, #12] 80cdf28: 4632 mov r2, r6 80cdf2a: 463b mov r3, r7 80cdf2c: 4628 mov r0, r5 80cdf2e: e8bd 41f0 ldmia.w sp!, {r4, r5, r6, r7, r8, lr} 80cdf32: f000 b877 b.w 80ce024 <_write_r> 080cdf36 <__sseek>: 80cdf36: b510 push {r4, lr} 80cdf38: 460c mov r4, r1 80cdf3a: f9b1 100e ldrsh.w r1, [r1, #14] 80cdf3e: f000 f9b3 bl 80ce2a8 <_lseek_r> 80cdf42: 1c43 adds r3, r0, #1 80cdf44: 89a3 ldrh r3, [r4, #12] 80cdf46: bf15 itete ne 80cdf48: 6560 strne r0, [r4, #84] ; 0x54 80cdf4a: f423 5380 biceq.w r3, r3, #4096 ; 0x1000 80cdf4e: f443 5380 orrne.w r3, r3, #4096 ; 0x1000 80cdf52: 81a3 strheq r3, [r4, #12] 80cdf54: bf18 it ne 80cdf56: 81a3 strhne r3, [r4, #12] 80cdf58: bd10 pop {r4, pc} 080cdf5a <__sclose>: 80cdf5a: f9b1 100e ldrsh.w r1, [r1, #14] 80cdf5e: f000 b8e1 b.w 80ce124 <_close_r> ... 080cdf64 <__swbuf_r>: 80cdf64: b5f8 push {r3, r4, r5, r6, r7, lr} 80cdf66: 460e mov r6, r1 80cdf68: 4614 mov r4, r2 80cdf6a: 4605 mov r5, r0 80cdf6c: b118 cbz r0, 80cdf76 <__swbuf_r+0x12> 80cdf6e: 6983 ldr r3, [r0, #24] 80cdf70: b90b cbnz r3, 80cdf76 <__swbuf_r+0x12> 80cdf72: f7ff faed bl 80cd550 <__sinit> 80cdf76: 4b21 ldr r3, [pc, #132] ; (80cdffc <__swbuf_r+0x98>) 80cdf78: 429c cmp r4, r3 80cdf7a: d12a bne.n 80cdfd2 <__swbuf_r+0x6e> 80cdf7c: 686c ldr r4, [r5, #4] 80cdf7e: 69a3 ldr r3, [r4, #24] 80cdf80: 60a3 str r3, [r4, #8] 80cdf82: 89a3 ldrh r3, [r4, #12] 80cdf84: 071a lsls r2, r3, #28 80cdf86: d52e bpl.n 80cdfe6 <__swbuf_r+0x82> 80cdf88: 6923 ldr r3, [r4, #16] 80cdf8a: b363 cbz r3, 80cdfe6 <__swbuf_r+0x82> 80cdf8c: 6923 ldr r3, [r4, #16] 80cdf8e: 6820 ldr r0, [r4, #0] 80cdf90: 1ac0 subs r0, r0, r3 80cdf92: 6963 ldr r3, [r4, #20] 80cdf94: b2f6 uxtb r6, r6 80cdf96: 4298 cmp r0, r3 80cdf98: 4637 mov r7, r6 80cdf9a: db04 blt.n 80cdfa6 <__swbuf_r+0x42> 80cdf9c: 4621 mov r1, r4 80cdf9e: 4628 mov r0, r5 80cdfa0: f000 f958 bl 80ce254 <_fflush_r> 80cdfa4: bb28 cbnz r0, 80cdff2 <__swbuf_r+0x8e> 80cdfa6: 68a3 ldr r3, [r4, #8] 80cdfa8: 3b01 subs r3, #1 80cdfaa: 60a3 str r3, [r4, #8] 80cdfac: 6823 ldr r3, [r4, #0] 80cdfae: 1c5a adds r2, r3, #1 80cdfb0: 6022 str r2, [r4, #0] 80cdfb2: 701e strb r6, [r3, #0] 80cdfb4: 6963 ldr r3, [r4, #20] 80cdfb6: 3001 adds r0, #1 80cdfb8: 4298 cmp r0, r3 80cdfba: d004 beq.n 80cdfc6 <__swbuf_r+0x62> 80cdfbc: 89a3 ldrh r3, [r4, #12] 80cdfbe: 07db lsls r3, r3, #31 80cdfc0: d519 bpl.n 80cdff6 <__swbuf_r+0x92> 80cdfc2: 2e0a cmp r6, #10 80cdfc4: d117 bne.n 80cdff6 <__swbuf_r+0x92> 80cdfc6: 4621 mov r1, r4 80cdfc8: 4628 mov r0, r5 80cdfca: f000 f943 bl 80ce254 <_fflush_r> 80cdfce: b190 cbz r0, 80cdff6 <__swbuf_r+0x92> 80cdfd0: e00f b.n 80cdff2 <__swbuf_r+0x8e> 80cdfd2: 4b0b ldr r3, [pc, #44] ; (80ce000 <__swbuf_r+0x9c>) 80cdfd4: 429c cmp r4, r3 80cdfd6: d101 bne.n 80cdfdc <__swbuf_r+0x78> 80cdfd8: 68ac ldr r4, [r5, #8] 80cdfda: e7d0 b.n 80cdf7e <__swbuf_r+0x1a> 80cdfdc: 4b09 ldr r3, [pc, #36] ; (80ce004 <__swbuf_r+0xa0>) 80cdfde: 429c cmp r4, r3 80cdfe0: bf08 it eq 80cdfe2: 68ec ldreq r4, [r5, #12] 80cdfe4: e7cb b.n 80cdf7e <__swbuf_r+0x1a> 80cdfe6: 4621 mov r1, r4 80cdfe8: 4628 mov r0, r5 80cdfea: f000 f82d bl 80ce048 <__swsetup_r> 80cdfee: 2800 cmp r0, #0 80cdff0: d0cc beq.n 80cdf8c <__swbuf_r+0x28> 80cdff2: f04f 37ff mov.w r7, #4294967295 80cdff6: 4638 mov r0, r7 80cdff8: bdf8 pop {r3, r4, r5, r6, r7, pc} 80cdffa: bf00 nop 80cdffc: 081868d4 .word 0x081868d4 80ce000: 081868f4 .word 0x081868f4 80ce004: 081868b4 .word 0x081868b4 080ce008 <__ascii_wctomb>: 80ce008: b149 cbz r1, 80ce01e <__ascii_wctomb+0x16> 80ce00a: 2aff cmp r2, #255 ; 0xff 80ce00c: bf85 ittet hi 80ce00e: 238a movhi r3, #138 ; 0x8a 80ce010: 6003 strhi r3, [r0, #0] 80ce012: 700a strbls r2, [r1, #0] 80ce014: f04f 30ff movhi.w r0, #4294967295 80ce018: bf98 it ls 80ce01a: 2001 movls r0, #1 80ce01c: 4770 bx lr 80ce01e: 4608 mov r0, r1 80ce020: 4770 bx lr ... 080ce024 <_write_r>: 80ce024: b538 push {r3, r4, r5, lr} 80ce026: 4c07 ldr r4, [pc, #28] ; (80ce044 <_write_r+0x20>) 80ce028: 4605 mov r5, r0 80ce02a: 4608 mov r0, r1 80ce02c: 4611 mov r1, r2 80ce02e: 2200 movs r2, #0 80ce030: 6022 str r2, [r4, #0] 80ce032: 461a mov r2, r3 80ce034: f7e0 f9f3 bl 80ae41e <_write> 80ce038: 1c43 adds r3, r0, #1 80ce03a: d102 bne.n 80ce042 <_write_r+0x1e> 80ce03c: 6823 ldr r3, [r4, #0] 80ce03e: b103 cbz r3, 80ce042 <_write_r+0x1e> 80ce040: 602b str r3, [r5, #0] 80ce042: bd38 pop {r3, r4, r5, pc} 80ce044: 20069634 .word 0x20069634 080ce048 <__swsetup_r>: 80ce048: 4b32 ldr r3, [pc, #200] ; (80ce114 <__swsetup_r+0xcc>) 80ce04a: b570 push {r4, r5, r6, lr} 80ce04c: 681d ldr r5, [r3, #0] 80ce04e: 4606 mov r6, r0 80ce050: 460c mov r4, r1 80ce052: b125 cbz r5, 80ce05e <__swsetup_r+0x16> 80ce054: 69ab ldr r3, [r5, #24] 80ce056: b913 cbnz r3, 80ce05e <__swsetup_r+0x16> 80ce058: 4628 mov r0, r5 80ce05a: f7ff fa79 bl 80cd550 <__sinit> 80ce05e: 4b2e ldr r3, [pc, #184] ; (80ce118 <__swsetup_r+0xd0>) 80ce060: 429c cmp r4, r3 80ce062: d10f bne.n 80ce084 <__swsetup_r+0x3c> 80ce064: 686c ldr r4, [r5, #4] 80ce066: f9b4 300c ldrsh.w r3, [r4, #12] 80ce06a: b29a uxth r2, r3 80ce06c: 0715 lsls r5, r2, #28 80ce06e: d42c bmi.n 80ce0ca <__swsetup_r+0x82> 80ce070: 06d0 lsls r0, r2, #27 80ce072: d411 bmi.n 80ce098 <__swsetup_r+0x50> 80ce074: 2209 movs r2, #9 80ce076: 6032 str r2, [r6, #0] 80ce078: f043 0340 orr.w r3, r3, #64 ; 0x40 80ce07c: 81a3 strh r3, [r4, #12] 80ce07e: f04f 30ff mov.w r0, #4294967295 80ce082: bd70 pop {r4, r5, r6, pc} 80ce084: 4b25 ldr r3, [pc, #148] ; (80ce11c <__swsetup_r+0xd4>) 80ce086: 429c cmp r4, r3 80ce088: d101 bne.n 80ce08e <__swsetup_r+0x46> 80ce08a: 68ac ldr r4, [r5, #8] 80ce08c: e7eb b.n 80ce066 <__swsetup_r+0x1e> 80ce08e: 4b24 ldr r3, [pc, #144] ; (80ce120 <__swsetup_r+0xd8>) 80ce090: 429c cmp r4, r3 80ce092: bf08 it eq 80ce094: 68ec ldreq r4, [r5, #12] 80ce096: e7e6 b.n 80ce066 <__swsetup_r+0x1e> 80ce098: 0751 lsls r1, r2, #29 80ce09a: d512 bpl.n 80ce0c2 <__swsetup_r+0x7a> 80ce09c: 6b61 ldr r1, [r4, #52] ; 0x34 80ce09e: b141 cbz r1, 80ce0b2 <__swsetup_r+0x6a> 80ce0a0: f104 0344 add.w r3, r4, #68 ; 0x44 80ce0a4: 4299 cmp r1, r3 80ce0a6: d002 beq.n 80ce0ae <__swsetup_r+0x66> 80ce0a8: 4630 mov r0, r6 80ce0aa: f7fe fff1 bl 80cd090 <_free_r> 80ce0ae: 2300 movs r3, #0 80ce0b0: 6363 str r3, [r4, #52] ; 0x34 80ce0b2: 89a3 ldrh r3, [r4, #12] 80ce0b4: f023 0324 bic.w r3, r3, #36 ; 0x24 80ce0b8: 81a3 strh r3, [r4, #12] 80ce0ba: 2300 movs r3, #0 80ce0bc: 6063 str r3, [r4, #4] 80ce0be: 6923 ldr r3, [r4, #16] 80ce0c0: 6023 str r3, [r4, #0] 80ce0c2: 89a3 ldrh r3, [r4, #12] 80ce0c4: f043 0308 orr.w r3, r3, #8 80ce0c8: 81a3 strh r3, [r4, #12] 80ce0ca: 6923 ldr r3, [r4, #16] 80ce0cc: b94b cbnz r3, 80ce0e2 <__swsetup_r+0x9a> 80ce0ce: 89a3 ldrh r3, [r4, #12] 80ce0d0: f403 7320 and.w r3, r3, #640 ; 0x280 80ce0d4: f5b3 7f00 cmp.w r3, #512 ; 0x200 80ce0d8: d003 beq.n 80ce0e2 <__swsetup_r+0x9a> 80ce0da: 4621 mov r1, r4 80ce0dc: 4630 mov r0, r6 80ce0de: f000 f919 bl 80ce314 <__smakebuf_r> 80ce0e2: 89a2 ldrh r2, [r4, #12] 80ce0e4: f012 0301 ands.w r3, r2, #1 80ce0e8: d00c beq.n 80ce104 <__swsetup_r+0xbc> 80ce0ea: 2300 movs r3, #0 80ce0ec: 60a3 str r3, [r4, #8] 80ce0ee: 6963 ldr r3, [r4, #20] 80ce0f0: 425b negs r3, r3 80ce0f2: 61a3 str r3, [r4, #24] 80ce0f4: 6923 ldr r3, [r4, #16] 80ce0f6: b953 cbnz r3, 80ce10e <__swsetup_r+0xc6> 80ce0f8: f9b4 300c ldrsh.w r3, [r4, #12] 80ce0fc: f013 0080 ands.w r0, r3, #128 ; 0x80 80ce100: d1ba bne.n 80ce078 <__swsetup_r+0x30> 80ce102: bd70 pop {r4, r5, r6, pc} 80ce104: 0792 lsls r2, r2, #30 80ce106: bf58 it pl 80ce108: 6963 ldrpl r3, [r4, #20] 80ce10a: 60a3 str r3, [r4, #8] 80ce10c: e7f2 b.n 80ce0f4 <__swsetup_r+0xac> 80ce10e: 2000 movs r0, #0 80ce110: e7f7 b.n 80ce102 <__swsetup_r+0xba> 80ce112: bf00 nop 80ce114: 20020b48 .word 0x20020b48 80ce118: 081868d4 .word 0x081868d4 80ce11c: 081868f4 .word 0x081868f4 80ce120: 081868b4 .word 0x081868b4 080ce124 <_close_r>: 80ce124: b538 push {r3, r4, r5, lr} 80ce126: 4c06 ldr r4, [pc, #24] ; (80ce140 <_close_r+0x1c>) 80ce128: 2300 movs r3, #0 80ce12a: 4605 mov r5, r0 80ce12c: 4608 mov r0, r1 80ce12e: 6023 str r3, [r4, #0] 80ce130: f7e0 f9be bl 80ae4b0 <_close> 80ce134: 1c43 adds r3, r0, #1 80ce136: d102 bne.n 80ce13e <_close_r+0x1a> 80ce138: 6823 ldr r3, [r4, #0] 80ce13a: b103 cbz r3, 80ce13e <_close_r+0x1a> 80ce13c: 602b str r3, [r5, #0] 80ce13e: bd38 pop {r3, r4, r5, pc} 80ce140: 20069634 .word 0x20069634 080ce144 <__sflush_r>: 80ce144: 898a ldrh r2, [r1, #12] 80ce146: e92d 41f0 stmdb sp!, {r4, r5, r6, r7, r8, lr} 80ce14a: 4605 mov r5, r0 80ce14c: 0710 lsls r0, r2, #28 80ce14e: 460c mov r4, r1 80ce150: d45a bmi.n 80ce208 <__sflush_r+0xc4> 80ce152: 684b ldr r3, [r1, #4] 80ce154: 2b00 cmp r3, #0 80ce156: dc05 bgt.n 80ce164 <__sflush_r+0x20> 80ce158: 6c0b ldr r3, [r1, #64] ; 0x40 80ce15a: 2b00 cmp r3, #0 80ce15c: dc02 bgt.n 80ce164 <__sflush_r+0x20> 80ce15e: 2000 movs r0, #0 80ce160: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80ce164: 6ae6 ldr r6, [r4, #44] ; 0x2c 80ce166: 2e00 cmp r6, #0 80ce168: d0f9 beq.n 80ce15e <__sflush_r+0x1a> 80ce16a: 2300 movs r3, #0 80ce16c: f412 5280 ands.w r2, r2, #4096 ; 0x1000 80ce170: 682f ldr r7, [r5, #0] 80ce172: 602b str r3, [r5, #0] 80ce174: d033 beq.n 80ce1de <__sflush_r+0x9a> 80ce176: 6d60 ldr r0, [r4, #84] ; 0x54 80ce178: 89a3 ldrh r3, [r4, #12] 80ce17a: 075a lsls r2, r3, #29 80ce17c: d505 bpl.n 80ce18a <__sflush_r+0x46> 80ce17e: 6863 ldr r3, [r4, #4] 80ce180: 1ac0 subs r0, r0, r3 80ce182: 6b63 ldr r3, [r4, #52] ; 0x34 80ce184: b10b cbz r3, 80ce18a <__sflush_r+0x46> 80ce186: 6c23 ldr r3, [r4, #64] ; 0x40 80ce188: 1ac0 subs r0, r0, r3 80ce18a: 2300 movs r3, #0 80ce18c: 4602 mov r2, r0 80ce18e: 6ae6 ldr r6, [r4, #44] ; 0x2c 80ce190: 6a21 ldr r1, [r4, #32] 80ce192: 4628 mov r0, r5 80ce194: 47b0 blx r6 80ce196: 1c43 adds r3, r0, #1 80ce198: 89a3 ldrh r3, [r4, #12] 80ce19a: d106 bne.n 80ce1aa <__sflush_r+0x66> 80ce19c: 6829 ldr r1, [r5, #0] 80ce19e: 291d cmp r1, #29 80ce1a0: d84b bhi.n 80ce23a <__sflush_r+0xf6> 80ce1a2: 4a2b ldr r2, [pc, #172] ; (80ce250 <__sflush_r+0x10c>) 80ce1a4: 40ca lsrs r2, r1 80ce1a6: 07d6 lsls r6, r2, #31 80ce1a8: d547 bpl.n 80ce23a <__sflush_r+0xf6> 80ce1aa: 2200 movs r2, #0 80ce1ac: 6062 str r2, [r4, #4] 80ce1ae: 04d9 lsls r1, r3, #19 80ce1b0: 6922 ldr r2, [r4, #16] 80ce1b2: 6022 str r2, [r4, #0] 80ce1b4: d504 bpl.n 80ce1c0 <__sflush_r+0x7c> 80ce1b6: 1c42 adds r2, r0, #1 80ce1b8: d101 bne.n 80ce1be <__sflush_r+0x7a> 80ce1ba: 682b ldr r3, [r5, #0] 80ce1bc: b903 cbnz r3, 80ce1c0 <__sflush_r+0x7c> 80ce1be: 6560 str r0, [r4, #84] ; 0x54 80ce1c0: 6b61 ldr r1, [r4, #52] ; 0x34 80ce1c2: 602f str r7, [r5, #0] 80ce1c4: 2900 cmp r1, #0 80ce1c6: d0ca beq.n 80ce15e <__sflush_r+0x1a> 80ce1c8: f104 0344 add.w r3, r4, #68 ; 0x44 80ce1cc: 4299 cmp r1, r3 80ce1ce: d002 beq.n 80ce1d6 <__sflush_r+0x92> 80ce1d0: 4628 mov r0, r5 80ce1d2: f7fe ff5d bl 80cd090 <_free_r> 80ce1d6: 2000 movs r0, #0 80ce1d8: 6360 str r0, [r4, #52] ; 0x34 80ce1da: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80ce1de: 6a21 ldr r1, [r4, #32] 80ce1e0: 2301 movs r3, #1 80ce1e2: 4628 mov r0, r5 80ce1e4: 47b0 blx r6 80ce1e6: 1c41 adds r1, r0, #1 80ce1e8: d1c6 bne.n 80ce178 <__sflush_r+0x34> 80ce1ea: 682b ldr r3, [r5, #0] 80ce1ec: 2b00 cmp r3, #0 80ce1ee: d0c3 beq.n 80ce178 <__sflush_r+0x34> 80ce1f0: 2b1d cmp r3, #29 80ce1f2: d001 beq.n 80ce1f8 <__sflush_r+0xb4> 80ce1f4: 2b16 cmp r3, #22 80ce1f6: d101 bne.n 80ce1fc <__sflush_r+0xb8> 80ce1f8: 602f str r7, [r5, #0] 80ce1fa: e7b0 b.n 80ce15e <__sflush_r+0x1a> 80ce1fc: 89a3 ldrh r3, [r4, #12] 80ce1fe: f043 0340 orr.w r3, r3, #64 ; 0x40 80ce202: 81a3 strh r3, [r4, #12] 80ce204: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80ce208: 690f ldr r7, [r1, #16] 80ce20a: 2f00 cmp r7, #0 80ce20c: d0a7 beq.n 80ce15e <__sflush_r+0x1a> 80ce20e: 0793 lsls r3, r2, #30 80ce210: 680e ldr r6, [r1, #0] 80ce212: bf08 it eq 80ce214: 694b ldreq r3, [r1, #20] 80ce216: 600f str r7, [r1, #0] 80ce218: bf18 it ne 80ce21a: 2300 movne r3, #0 80ce21c: eba6 0807 sub.w r8, r6, r7 80ce220: 608b str r3, [r1, #8] 80ce222: f1b8 0f00 cmp.w r8, #0 80ce226: dd9a ble.n 80ce15e <__sflush_r+0x1a> 80ce228: 4643 mov r3, r8 80ce22a: 463a mov r2, r7 80ce22c: 6a21 ldr r1, [r4, #32] 80ce22e: 6aa6 ldr r6, [r4, #40] ; 0x28 80ce230: 4628 mov r0, r5 80ce232: 47b0 blx r6 80ce234: 2800 cmp r0, #0 80ce236: dc07 bgt.n 80ce248 <__sflush_r+0x104> 80ce238: 89a3 ldrh r3, [r4, #12] 80ce23a: f043 0340 orr.w r3, r3, #64 ; 0x40 80ce23e: 81a3 strh r3, [r4, #12] 80ce240: f04f 30ff mov.w r0, #4294967295 80ce244: e8bd 81f0 ldmia.w sp!, {r4, r5, r6, r7, r8, pc} 80ce248: 4407 add r7, r0 80ce24a: eba8 0800 sub.w r8, r8, r0 80ce24e: e7e8 b.n 80ce222 <__sflush_r+0xde> 80ce250: 20400001 .word 0x20400001 080ce254 <_fflush_r>: 80ce254: b538 push {r3, r4, r5, lr} 80ce256: 690b ldr r3, [r1, #16] 80ce258: 4605 mov r5, r0 80ce25a: 460c mov r4, r1 80ce25c: b1db cbz r3, 80ce296 <_fflush_r+0x42> 80ce25e: b118 cbz r0, 80ce268 <_fflush_r+0x14> 80ce260: 6983 ldr r3, [r0, #24] 80ce262: b90b cbnz r3, 80ce268 <_fflush_r+0x14> 80ce264: f7ff f974 bl 80cd550 <__sinit> 80ce268: 4b0c ldr r3, [pc, #48] ; (80ce29c <_fflush_r+0x48>) 80ce26a: 429c cmp r4, r3 80ce26c: d109 bne.n 80ce282 <_fflush_r+0x2e> 80ce26e: 686c ldr r4, [r5, #4] 80ce270: f9b4 300c ldrsh.w r3, [r4, #12] 80ce274: b17b cbz r3, 80ce296 <_fflush_r+0x42> 80ce276: 4621 mov r1, r4 80ce278: 4628 mov r0, r5 80ce27a: e8bd 4038 ldmia.w sp!, {r3, r4, r5, lr} 80ce27e: f7ff bf61 b.w 80ce144 <__sflush_r> 80ce282: 4b07 ldr r3, [pc, #28] ; (80ce2a0 <_fflush_r+0x4c>) 80ce284: 429c cmp r4, r3 80ce286: d101 bne.n 80ce28c <_fflush_r+0x38> 80ce288: 68ac ldr r4, [r5, #8] 80ce28a: e7f1 b.n 80ce270 <_fflush_r+0x1c> 80ce28c: 4b05 ldr r3, [pc, #20] ; (80ce2a4 <_fflush_r+0x50>) 80ce28e: 429c cmp r4, r3 80ce290: bf08 it eq 80ce292: 68ec ldreq r4, [r5, #12] 80ce294: e7ec b.n 80ce270 <_fflush_r+0x1c> 80ce296: 2000 movs r0, #0 80ce298: bd38 pop {r3, r4, r5, pc} 80ce29a: bf00 nop 80ce29c: 081868d4 .word 0x081868d4 80ce2a0: 081868f4 .word 0x081868f4 80ce2a4: 081868b4 .word 0x081868b4 080ce2a8 <_lseek_r>: 80ce2a8: b538 push {r3, r4, r5, lr} 80ce2aa: 4c07 ldr r4, [pc, #28] ; (80ce2c8 <_lseek_r+0x20>) 80ce2ac: 4605 mov r5, r0 80ce2ae: 4608 mov r0, r1 80ce2b0: 4611 mov r1, r2 80ce2b2: 2200 movs r2, #0 80ce2b4: 6022 str r2, [r4, #0] 80ce2b6: 461a mov r2, r3 80ce2b8: f7e0 f921 bl 80ae4fe <_lseek> 80ce2bc: 1c43 adds r3, r0, #1 80ce2be: d102 bne.n 80ce2c6 <_lseek_r+0x1e> 80ce2c0: 6823 ldr r3, [r4, #0] 80ce2c2: b103 cbz r3, 80ce2c6 <_lseek_r+0x1e> 80ce2c4: 602b str r3, [r5, #0] 80ce2c6: bd38 pop {r3, r4, r5, pc} 80ce2c8: 20069634 .word 0x20069634 080ce2cc <__swhatbuf_r>: 80ce2cc: b570 push {r4, r5, r6, lr} 80ce2ce: 460e mov r6, r1 80ce2d0: f9b1 100e ldrsh.w r1, [r1, #14] 80ce2d4: 2900 cmp r1, #0 80ce2d6: b090 sub sp, #64 ; 0x40 80ce2d8: 4614 mov r4, r2 80ce2da: 461d mov r5, r3 80ce2dc: da07 bge.n 80ce2ee <__swhatbuf_r+0x22> 80ce2de: 2300 movs r3, #0 80ce2e0: 602b str r3, [r5, #0] 80ce2e2: 89b3 ldrh r3, [r6, #12] 80ce2e4: 061a lsls r2, r3, #24 80ce2e6: d410 bmi.n 80ce30a <__swhatbuf_r+0x3e> 80ce2e8: f44f 6380 mov.w r3, #1024 ; 0x400 80ce2ec: e00e b.n 80ce30c <__swhatbuf_r+0x40> 80ce2ee: aa01 add r2, sp, #4 80ce2f0: f000 f8a2 bl 80ce438 <_fstat_r> 80ce2f4: 2800 cmp r0, #0 80ce2f6: dbf2 blt.n 80ce2de <__swhatbuf_r+0x12> 80ce2f8: 9a02 ldr r2, [sp, #8] 80ce2fa: f402 4270 and.w r2, r2, #61440 ; 0xf000 80ce2fe: f5a2 5300 sub.w r3, r2, #8192 ; 0x2000 80ce302: 425a negs r2, r3 80ce304: 415a adcs r2, r3 80ce306: 602a str r2, [r5, #0] 80ce308: e7ee b.n 80ce2e8 <__swhatbuf_r+0x1c> 80ce30a: 2340 movs r3, #64 ; 0x40 80ce30c: 2000 movs r0, #0 80ce30e: 6023 str r3, [r4, #0] 80ce310: b010 add sp, #64 ; 0x40 80ce312: bd70 pop {r4, r5, r6, pc} 080ce314 <__smakebuf_r>: 80ce314: 898b ldrh r3, [r1, #12] 80ce316: b573 push {r0, r1, r4, r5, r6, lr} 80ce318: 079d lsls r5, r3, #30 80ce31a: 4606 mov r6, r0 80ce31c: 460c mov r4, r1 80ce31e: d507 bpl.n 80ce330 <__smakebuf_r+0x1c> 80ce320: f104 0347 add.w r3, r4, #71 ; 0x47 80ce324: 6023 str r3, [r4, #0] 80ce326: 6123 str r3, [r4, #16] 80ce328: 2301 movs r3, #1 80ce32a: 6163 str r3, [r4, #20] 80ce32c: b002 add sp, #8 80ce32e: bd70 pop {r4, r5, r6, pc} 80ce330: ab01 add r3, sp, #4 80ce332: 466a mov r2, sp 80ce334: f7ff ffca bl 80ce2cc <__swhatbuf_r> 80ce338: 9900 ldr r1, [sp, #0] 80ce33a: 4605 mov r5, r0 80ce33c: 4630 mov r0, r6 80ce33e: f7fe fef5 bl 80cd12c <_malloc_r> 80ce342: b948 cbnz r0, 80ce358 <__smakebuf_r+0x44> 80ce344: f9b4 300c ldrsh.w r3, [r4, #12] 80ce348: 059a lsls r2, r3, #22 80ce34a: d4ef bmi.n 80ce32c <__smakebuf_r+0x18> 80ce34c: f023 0303 bic.w r3, r3, #3 80ce350: f043 0302 orr.w r3, r3, #2 80ce354: 81a3 strh r3, [r4, #12] 80ce356: e7e3 b.n 80ce320 <__smakebuf_r+0xc> 80ce358: 4b0d ldr r3, [pc, #52] ; (80ce390 <__smakebuf_r+0x7c>) 80ce35a: 62b3 str r3, [r6, #40] ; 0x28 80ce35c: 89a3 ldrh r3, [r4, #12] 80ce35e: 6020 str r0, [r4, #0] 80ce360: f043 0380 orr.w r3, r3, #128 ; 0x80 80ce364: 81a3 strh r3, [r4, #12] 80ce366: 9b00 ldr r3, [sp, #0] 80ce368: 6163 str r3, [r4, #20] 80ce36a: 9b01 ldr r3, [sp, #4] 80ce36c: 6120 str r0, [r4, #16] 80ce36e: b15b cbz r3, 80ce388 <__smakebuf_r+0x74> 80ce370: f9b4 100e ldrsh.w r1, [r4, #14] 80ce374: 4630 mov r0, r6 80ce376: f000 f871 bl 80ce45c <_isatty_r> 80ce37a: b128 cbz r0, 80ce388 <__smakebuf_r+0x74> 80ce37c: 89a3 ldrh r3, [r4, #12] 80ce37e: f023 0303 bic.w r3, r3, #3 80ce382: f043 0301 orr.w r3, r3, #1 80ce386: 81a3 strh r3, [r4, #12] 80ce388: 89a3 ldrh r3, [r4, #12] 80ce38a: 431d orrs r5, r3 80ce38c: 81a5 strh r5, [r4, #12] 80ce38e: e7cd b.n 80ce32c <__smakebuf_r+0x18> 80ce390: 080cd4d1 .word 0x080cd4d1 080ce394 : 80ce394: 4288 cmp r0, r1 80ce396: b510 push {r4, lr} 80ce398: eb01 0302 add.w r3, r1, r2 80ce39c: d803 bhi.n 80ce3a6 80ce39e: 1e42 subs r2, r0, #1 80ce3a0: 4299 cmp r1, r3 80ce3a2: d10c bne.n 80ce3be 80ce3a4: bd10 pop {r4, pc} 80ce3a6: 4298 cmp r0, r3 80ce3a8: d2f9 bcs.n 80ce39e 80ce3aa: 1881 adds r1, r0, r2 80ce3ac: 1ad2 subs r2, r2, r3 80ce3ae: 42d3 cmn r3, r2 80ce3b0: d100 bne.n 80ce3b4 80ce3b2: bd10 pop {r4, pc} 80ce3b4: f813 4d01 ldrb.w r4, [r3, #-1]! 80ce3b8: f801 4d01 strb.w r4, [r1, #-1]! 80ce3bc: e7f7 b.n 80ce3ae 80ce3be: f811 4b01 ldrb.w r4, [r1], #1 80ce3c2: f802 4f01 strb.w r4, [r2, #1]! 80ce3c6: e7eb b.n 80ce3a0 080ce3c8 <_realloc_r>: 80ce3c8: b5f8 push {r3, r4, r5, r6, r7, lr} 80ce3ca: 4607 mov r7, r0 80ce3cc: 4614 mov r4, r2 80ce3ce: 460e mov r6, r1 80ce3d0: b921 cbnz r1, 80ce3dc <_realloc_r+0x14> 80ce3d2: 4611 mov r1, r2 80ce3d4: e8bd 40f8 ldmia.w sp!, {r3, r4, r5, r6, r7, lr} 80ce3d8: f7fe bea8 b.w 80cd12c <_malloc_r> 80ce3dc: b922 cbnz r2, 80ce3e8 <_realloc_r+0x20> 80ce3de: f7fe fe57 bl 80cd090 <_free_r> 80ce3e2: 4625 mov r5, r4 80ce3e4: 4628 mov r0, r5 80ce3e6: bdf8 pop {r3, r4, r5, r6, r7, pc} 80ce3e8: f000 f848 bl 80ce47c <_malloc_usable_size_r> 80ce3ec: 4284 cmp r4, r0 80ce3ee: d90f bls.n 80ce410 <_realloc_r+0x48> 80ce3f0: 4621 mov r1, r4 80ce3f2: 4638 mov r0, r7 80ce3f4: f7fe fe9a bl 80cd12c <_malloc_r> 80ce3f8: 4605 mov r5, r0 80ce3fa: 2800 cmp r0, #0 80ce3fc: d0f2 beq.n 80ce3e4 <_realloc_r+0x1c> 80ce3fe: 4631 mov r1, r6 80ce400: 4622 mov r2, r4 80ce402: f7fe fe32 bl 80cd06a 80ce406: 4631 mov r1, r6 80ce408: 4638 mov r0, r7 80ce40a: f7fe fe41 bl 80cd090 <_free_r> 80ce40e: e7e9 b.n 80ce3e4 <_realloc_r+0x1c> 80ce410: 4635 mov r5, r6 80ce412: e7e7 b.n 80ce3e4 <_realloc_r+0x1c> 080ce414 <_read_r>: 80ce414: b538 push {r3, r4, r5, lr} 80ce416: 4c07 ldr r4, [pc, #28] ; (80ce434 <_read_r+0x20>) 80ce418: 4605 mov r5, r0 80ce41a: 4608 mov r0, r1 80ce41c: 4611 mov r1, r2 80ce41e: 2200 movs r2, #0 80ce420: 6022 str r2, [r4, #0] 80ce422: 461a mov r2, r3 80ce424: f7df ffde bl 80ae3e4 <_read> 80ce428: 1c43 adds r3, r0, #1 80ce42a: d102 bne.n 80ce432 <_read_r+0x1e> 80ce42c: 6823 ldr r3, [r4, #0] 80ce42e: b103 cbz r3, 80ce432 <_read_r+0x1e> 80ce430: 602b str r3, [r5, #0] 80ce432: bd38 pop {r3, r4, r5, pc} 80ce434: 20069634 .word 0x20069634 080ce438 <_fstat_r>: 80ce438: b538 push {r3, r4, r5, lr} 80ce43a: 4c07 ldr r4, [pc, #28] ; (80ce458 <_fstat_r+0x20>) 80ce43c: 2300 movs r3, #0 80ce43e: 4605 mov r5, r0 80ce440: 4608 mov r0, r1 80ce442: 4611 mov r1, r2 80ce444: 6023 str r3, [r4, #0] 80ce446: f7e0 f83f bl 80ae4c8 <_fstat> 80ce44a: 1c43 adds r3, r0, #1 80ce44c: d102 bne.n 80ce454 <_fstat_r+0x1c> 80ce44e: 6823 ldr r3, [r4, #0] 80ce450: b103 cbz r3, 80ce454 <_fstat_r+0x1c> 80ce452: 602b str r3, [r5, #0] 80ce454: bd38 pop {r3, r4, r5, pc} 80ce456: bf00 nop 80ce458: 20069634 .word 0x20069634 080ce45c <_isatty_r>: 80ce45c: b538 push {r3, r4, r5, lr} 80ce45e: 4c06 ldr r4, [pc, #24] ; (80ce478 <_isatty_r+0x1c>) 80ce460: 2300 movs r3, #0 80ce462: 4605 mov r5, r0 80ce464: 4608 mov r0, r1 80ce466: 6023 str r3, [r4, #0] 80ce468: f7e0 f83e bl 80ae4e8 <_isatty> 80ce46c: 1c43 adds r3, r0, #1 80ce46e: d102 bne.n 80ce476 <_isatty_r+0x1a> 80ce470: 6823 ldr r3, [r4, #0] 80ce472: b103 cbz r3, 80ce476 <_isatty_r+0x1a> 80ce474: 602b str r3, [r5, #0] 80ce476: bd38 pop {r3, r4, r5, pc} 80ce478: 20069634 .word 0x20069634 080ce47c <_malloc_usable_size_r>: 80ce47c: f851 0c04 ldr.w r0, [r1, #-4] 80ce480: 2800 cmp r0, #0 80ce482: f1a0 0004 sub.w r0, r0, #4 80ce486: bfbc itt lt 80ce488: 580b ldrlt r3, [r1, r0] 80ce48a: 18c0 addlt r0, r0, r3 80ce48c: 4770 bx lr ... 080ce490 <_init>: 80ce490: b5f8 push {r3, r4, r5, r6, r7, lr} 80ce492: bf00 nop 80ce494: bcf8 pop {r3, r4, r5, r6, r7} 80ce496: bc08 pop {r3} 80ce498: 469e mov lr, r3 80ce49a: 4770 bx lr 080ce49c <_fini>: 80ce49c: b5f8 push {r3, r4, r5, r6, r7, lr} 80ce49e: bf00 nop 80ce4a0: bcf8 pop {r3, r4, r5, r6, r7} 80ce4a2: bc08 pop {r3} 80ce4a4: 469e mov lr, r3 80ce4a6: 4770 bx lr